From c309aedc8c218dd92f164aa075d468c2c171f685 Mon Sep 17 00:00:00 2001 From: walioo <25835823+walioo@users.noreply.github.com> Date: Thu, 19 Mar 2026 22:33:05 +0800 Subject: [PATCH] Fix invalid synthetic part IDs --- src/index.ts | 6 +++--- src/services/compaction.ts | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/index.ts b/src/index.ts index 7a5a441..56f4c34 100644 --- a/src/index.ts +++ b/src/index.ts @@ -6,7 +6,7 @@ import { supermemoryClient } from "./services/client.js"; import { formatContextForPrompt } from "./services/context.js"; import { getTags } from "./services/tags.js"; import { stripPrivateContent, isFullyPrivate } from "./services/privacy.js"; -import { createCompactionHook, type CompactionContext } from "./services/compaction.js"; +import { createCompactionHook, generatePartId, type CompactionContext } from "./services/compaction.js"; import { isConfigured, CONFIG } from "./config.js"; import { log } from "./services/logger.js"; @@ -112,7 +112,7 @@ export const SupermemoryPlugin: Plugin = async (ctx: PluginInput) => { if (detectMemoryKeyword(userMessage)) { log("chat.message: memory keyword detected"); const nudgePart: Part = { - id: `supermemory-nudge-${Date.now()}`, + id: generatePartId(), sessionID: input.sessionID, messageID: output.message.id, type: "text", @@ -157,7 +157,7 @@ export const SupermemoryPlugin: Plugin = async (ctx: PluginInput) => { if (memoryContext) { const contextPart: Part = { - id: `supermemory-context-${Date.now()}`, + id: generatePartId(), sessionID: input.sessionID, messageID: output.message.id, type: "text", diff --git a/src/services/compaction.ts b/src/services/compaction.ts index 4701beb..da6679a 100644 --- a/src/services/compaction.ts +++ b/src/services/compaction.ts @@ -158,7 +158,7 @@ function generateMessageId(): string { return `msg_${timestamp}${random}`; } -function generatePartId(): string { +export function generatePartId(): string { const timestamp = Date.now().toString(16); const random = Math.random().toString(36).substring(2, 10); return `prt_${timestamp}${random}`;