{"version":3,"sources":["/Users/shyun/comcom/ain-enterprise/ain-adk/dist/cjs/chunk-7M77KDPI.cjs","../../src/utils/thread-messages.ts"],"names":[],"mappings":"AAAA;ACAA,gCAA2B;AASpB,SAAS,iBAAA,CACf,IAAA,EACA,OAAA,EACA,QAAA,EACgB;AAChB,EAAA,OAAO;AAAA,IACN,SAAA,EAAW,gCAAA,CAAW;AAAA,IACtB,IAAA;AAAA,IACA,SAAA,EAAW,IAAA,CAAK,GAAA,CAAI,CAAA;AAAA,IACpB,OAAA,EAAS,EAAE,IAAA,EAAM,MAAA,EAAQ,KAAA,EAAO,CAAC,OAAO,EAAE,CAAA;AAAA,IAC1C;AAAA,EACD,CAAA;AACD;AAEA,MAAA,SAAsB,kBAAA,CACrB,YAAA,EACA,MAAA,EACA,QAAA,EACA,IAAA,EACA,OAAA,EACA,QAAA,EACgB;AAChB,EAAA,MAAM,QAAA,EAAU,iBAAA,CAAkB,IAAA,EAAM,OAAA,EAAS,QAAQ,CAAA;AACzD,EAAA,sBAAM,YAAA,mBACJ,eAAA,mBAAgB,CAAA,6BACf,mBAAA,mBAAoB,MAAA,EAAQ,QAAA,EAAU,CAAC,OAAO,CAAC,GAAA;AACnD;AAEA,MAAA,SAAsB,yBAAA,CACrB,YAAA,EACA,MAAA,EACA,IAAA,EACA,OAAA,EACA,QAAA,EACgB;AAChB,EAAA,MAAM,QAAA,EAAU,iBAAA,CAAkB,IAAA,EAAM,OAAA,EAAS,QAAQ,CAAA;AACzD,EAAA,MAAA,CAAO,QAAA,CAAS,IAAA,CAAK,OAAO,CAAA;AAC5B,EAAA,sBAAM,YAAA,qBACJ,eAAA,mBAAgB,CAAA,6BACf,mBAAA,mBAAoB,MAAA,CAAO,MAAA,EAAQ,MAAA,CAAO,QAAA,EAAU,CAAC,OAAO,CAAC,GAAA;AACjE;AAQO,SAAS,iBAAA,CACf,IAAA,EACA,KAAA,EACA,QAAA,EACgB;AAChB,EAAA,OAAO;AAAA,IACN,SAAA,EAAW,gCAAA,CAAW;AAAA,IACtB,IAAA;AAAA,IACA,SAAA,EAAW,IAAA,CAAK,GAAA,CAAI,CAAA;AAAA,IACpB,OAAA,EAAS,EAAE,IAAA,EAAM,MAAA,EAAQ,MAAM,CAAA;AAAA,IAC/B;AAAA,EACD,CAAA;AACD;AAEA,MAAA,SAAsB,yBAAA,CACrB,YAAA,EACA,MAAA,EACA,IAAA,EACA,KAAA,EACA,QAAA,EACgB;AAChB,EAAA,MAAM,QAAA,EAAU,iBAAA,CAAkB,IAAA,EAAM,KAAA,EAAO,QAAQ,CAAA;AACvD,EAAA,MAAA,CAAO,QAAA,CAAS,IAAA,CAAK,OAAO,CAAA;AAC5B,EAAA,sBAAM,YAAA,qBACJ,eAAA,qBAAgB,CAAA,+BACf,mBAAA,qBAAoB,MAAA,CAAO,MAAA,EAAQ,MAAA,CAAO,QAAA,EAAU,CAAC,OAAO,CAAC,GAAA;AACjE;ADjDA;AACA;AACE;AACA;AACA;AACA;AACA;AACF,4QAAC","file":"/Users/shyun/comcom/ain-enterprise/ain-adk/dist/cjs/chunk-7M77KDPI.cjs","sourcesContent":[null,"import { randomUUID } from \"node:crypto\";\nimport type { MemoryModule } from \"@/modules\";\nimport type {\n\tMessageObject,\n\tMessagePart,\n\tMessageRole,\n\tThreadObject,\n} from \"@/types/memory\";\n\nexport function createTextMessage(\n\trole: MessageRole,\n\tcontent: string,\n\tmetadata?: Record<string, unknown>,\n): MessageObject {\n\treturn {\n\t\tmessageId: randomUUID(),\n\t\trole,\n\t\ttimestamp: Date.now(),\n\t\tcontent: { type: \"text\", parts: [content] },\n\t\tmetadata,\n\t};\n}\n\nexport async function persistTextMessage(\n\tmemoryModule: MemoryModule,\n\tuserId: string,\n\tthreadId: string,\n\trole: MessageRole,\n\tcontent: string,\n\tmetadata?: Record<string, unknown>,\n): Promise<void> {\n\tconst message = createTextMessage(role, content, metadata);\n\tawait memoryModule\n\t\t.getThreadMemory()\n\t\t?.addMessagesToThread(userId, threadId, [message]);\n}\n\nexport async function appendTextMessageToThread(\n\tmemoryModule: MemoryModule,\n\tthread: ThreadObject,\n\trole: MessageRole,\n\tcontent: string,\n\tmetadata?: Record<string, unknown>,\n): Promise<void> {\n\tconst message = createTextMessage(role, content, metadata);\n\tthread.messages.push(message);\n\tawait memoryModule\n\t\t.getThreadMemory()\n\t\t?.addMessagesToThread(thread.userId, thread.threadId, [message]);\n}\n\n/**\n * Creates a \"rich\" message mixing text and document-reference parts.\n *\n * Parts are rendered in order by the client. Document parts carry only a\n * `documentId` (and optional label `title`) — the body is resolved on demand.\n */\nexport function createRichMessage(\n\trole: MessageRole,\n\tparts: MessagePart[],\n\tmetadata?: Record<string, unknown>,\n): MessageObject {\n\treturn {\n\t\tmessageId: randomUUID(),\n\t\trole,\n\t\ttimestamp: Date.now(),\n\t\tcontent: { type: \"rich\", parts },\n\t\tmetadata,\n\t};\n}\n\nexport async function appendRichMessageToThread(\n\tmemoryModule: MemoryModule,\n\tthread: ThreadObject,\n\trole: MessageRole,\n\tparts: MessagePart[],\n\tmetadata?: Record<string, unknown>,\n): Promise<void> {\n\tconst message = createRichMessage(role, parts, metadata);\n\tthread.messages.push(message);\n\tawait memoryModule\n\t\t.getThreadMemory()\n\t\t?.addMessagesToThread(thread.userId, thread.threadId, [message]);\n}\n"]}