@ainetwork/adk 0.1.3 → 0.1.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (120) hide show
  1. package/dist/cjs/chunk-3PZM72TH.cjs +22 -0
  2. package/dist/cjs/chunk-3PZM72TH.cjs.map +1 -0
  3. package/dist/cjs/chunk-573HTYTZ.cjs +177 -0
  4. package/dist/cjs/chunk-573HTYTZ.cjs.map +1 -0
  5. package/dist/cjs/chunk-74J4UIJ4.cjs +22 -0
  6. package/dist/cjs/chunk-74J4UIJ4.cjs.map +1 -0
  7. package/dist/cjs/chunk-ACHCHQX2.cjs +169 -0
  8. package/dist/cjs/chunk-ACHCHQX2.cjs.map +1 -0
  9. package/dist/cjs/chunk-ATSE3TKM.cjs +37 -0
  10. package/dist/cjs/chunk-ATSE3TKM.cjs.map +1 -0
  11. package/dist/cjs/chunk-C2JU7GH4.cjs +37 -0
  12. package/dist/cjs/chunk-C2JU7GH4.cjs.map +1 -0
  13. package/dist/cjs/chunk-D75FARQ5.cjs +37 -0
  14. package/dist/cjs/chunk-D75FARQ5.cjs.map +1 -0
  15. package/dist/cjs/chunk-GBHMYJ6R.cjs +17 -0
  16. package/dist/cjs/chunk-GBHMYJ6R.cjs.map +1 -0
  17. package/dist/cjs/chunk-HVY7LNSQ.cjs +43 -0
  18. package/dist/cjs/chunk-HVY7LNSQ.cjs.map +1 -0
  19. package/dist/cjs/chunk-J3BFUVZS.cjs +35 -0
  20. package/dist/cjs/chunk-J3BFUVZS.cjs.map +1 -0
  21. package/dist/cjs/chunk-MTAGYTHO.cjs +17 -0
  22. package/dist/cjs/chunk-MTAGYTHO.cjs.map +1 -0
  23. package/dist/cjs/chunk-N3DEJ4TV.cjs +26 -0
  24. package/dist/cjs/chunk-N3DEJ4TV.cjs.map +1 -0
  25. package/dist/cjs/chunk-NHW2DR5J.cjs +22 -0
  26. package/dist/cjs/chunk-NHW2DR5J.cjs.map +1 -0
  27. package/dist/cjs/chunk-NXKC2HVX.cjs +35 -0
  28. package/dist/cjs/chunk-NXKC2HVX.cjs.map +1 -0
  29. package/dist/cjs/chunk-Q4FP72ZY.cjs +51 -0
  30. package/dist/cjs/chunk-Q4FP72ZY.cjs.map +1 -0
  31. package/dist/cjs/chunk-QVLENR2D.cjs +169 -0
  32. package/dist/cjs/chunk-QVLENR2D.cjs.map +1 -0
  33. package/dist/cjs/chunk-RGKCBQGZ.cjs +26 -0
  34. package/dist/cjs/chunk-RGKCBQGZ.cjs.map +1 -0
  35. package/dist/cjs/chunk-RKO64F2K.cjs +27 -0
  36. package/dist/cjs/chunk-RKO64F2K.cjs.map +1 -0
  37. package/dist/cjs/chunk-S5A7D46U.cjs +27 -0
  38. package/dist/cjs/chunk-S5A7D46U.cjs.map +1 -0
  39. package/dist/cjs/chunk-TWUZNIBN.cjs +27 -0
  40. package/dist/cjs/chunk-TWUZNIBN.cjs.map +1 -0
  41. package/dist/cjs/chunk-XQTVE64W.cjs +8 -0
  42. package/dist/cjs/chunk-XQTVE64W.cjs.map +1 -0
  43. package/dist/cjs/chunk-ZNILFAWD.cjs +27 -0
  44. package/dist/cjs/chunk-ZNILFAWD.cjs.map +1 -0
  45. package/dist/cjs/controllers/api/session.api.controller.cjs +2 -2
  46. package/dist/cjs/controllers/index.cjs +5 -5
  47. package/dist/cjs/controllers/index.cjs.map +1 -1
  48. package/dist/cjs/controllers/query.controller.cjs +2 -2
  49. package/dist/cjs/index.cjs +16 -16
  50. package/dist/cjs/index.cjs.map +1 -1
  51. package/dist/cjs/middlewares/auth.middleware.cjs +2 -2
  52. package/dist/cjs/modules/auth/base.auth.cjs +2 -2
  53. package/dist/cjs/modules/index.cjs +5 -5
  54. package/dist/cjs/modules/index.cjs.map +1 -1
  55. package/dist/cjs/modules/memory/memory.module.cjs +2 -2
  56. package/dist/cjs/routes/a2a.routes.cjs +5 -5
  57. package/dist/cjs/routes/api/sessions.routes.cjs +3 -3
  58. package/dist/cjs/routes/api.routes.cjs +4 -4
  59. package/dist/cjs/routes/index.cjs +12 -12
  60. package/dist/cjs/routes/index.cjs.map +1 -1
  61. package/dist/cjs/routes/query.routes.cjs +4 -4
  62. package/dist/cjs/services/index.cjs +5 -5
  63. package/dist/cjs/services/index.cjs.map +1 -1
  64. package/dist/cjs/services/query.service.cjs +2 -2
  65. package/dist/cjs/types/auth.cjs +1 -0
  66. package/dist/cjs/types/auth.cjs.map +1 -0
  67. package/dist/esm/{chunk-LVKAW3WE.js → chunk-2K5L4GFC.js} +21 -13
  68. package/dist/esm/{chunk-LVKAW3WE.js.map → chunk-2K5L4GFC.js.map} +1 -1
  69. package/dist/esm/{chunk-635VQ4CH.js → chunk-6BK7LDIA.js} +4 -3
  70. package/dist/esm/chunk-6BK7LDIA.js.map +1 -0
  71. package/dist/esm/{chunk-MEKGLPDX.js → chunk-CKTURH34.js} +4 -4
  72. package/dist/esm/chunk-CKTURH34.js.map +1 -0
  73. package/dist/esm/{chunk-6SDU6Z5Q.js → chunk-EJIQKPIV.js} +5 -5
  74. package/dist/esm/{chunk-KJ4MVCYE.js → chunk-FF5RJ4L2.js} +1 -1
  75. package/dist/esm/chunk-FF5RJ4L2.js.map +1 -0
  76. package/dist/esm/{chunk-JLH6DGBK.js → chunk-NSKXMJWE.js} +4 -4
  77. package/dist/esm/{chunk-423RKLBO.js → chunk-OIIR42TQ.js} +5 -5
  78. package/dist/esm/{chunk-IXXK7ZZM.js → chunk-RB4IFZJA.js} +3 -2
  79. package/dist/esm/chunk-RB4IFZJA.js.map +1 -0
  80. package/dist/esm/{chunk-KR6W7QIW.js → chunk-RSSLUA2N.js} +2 -2
  81. package/dist/esm/{chunk-XOMQNCCR.js → chunk-WIJDRP2A.js} +7 -2
  82. package/dist/esm/chunk-WIJDRP2A.js.map +1 -0
  83. package/dist/esm/controllers/api/session.api.controller.js +1 -1
  84. package/dist/esm/controllers/index.js +5 -5
  85. package/dist/esm/controllers/query.controller.js +1 -1
  86. package/dist/esm/index.d.ts +1 -0
  87. package/dist/esm/index.js +13 -13
  88. package/dist/esm/middlewares/auth.middleware.d.ts +1 -0
  89. package/dist/esm/middlewares/auth.middleware.js +1 -1
  90. package/dist/esm/modules/auth/base.auth.d.ts +2 -1
  91. package/dist/esm/modules/auth/base.auth.js +1 -1
  92. package/dist/esm/modules/index.d.ts +1 -0
  93. package/dist/esm/modules/index.js +8 -8
  94. package/dist/esm/modules/memory/base.memory.d.ts +5 -5
  95. package/dist/esm/modules/memory/memory.module.js +1 -1
  96. package/dist/esm/routes/a2a.routes.d.ts +1 -0
  97. package/dist/esm/routes/a2a.routes.js +3 -3
  98. package/dist/esm/routes/api/sessions.routes.js +2 -2
  99. package/dist/esm/routes/api.routes.d.ts +1 -0
  100. package/dist/esm/routes/api.routes.js +3 -3
  101. package/dist/esm/routes/index.d.ts +1 -0
  102. package/dist/esm/routes/index.js +14 -14
  103. package/dist/esm/routes/query.routes.d.ts +1 -0
  104. package/dist/esm/routes/query.routes.js +3 -3
  105. package/dist/esm/services/index.js +4 -4
  106. package/dist/esm/services/query.service.d.ts +1 -1
  107. package/dist/esm/services/query.service.js +1 -1
  108. package/dist/esm/types/auth.d.ts +6 -0
  109. package/dist/esm/types/auth.js +1 -0
  110. package/dist/esm/types/auth.js.map +1 -0
  111. package/package.json +1 -1
  112. package/dist/esm/chunk-635VQ4CH.js.map +0 -1
  113. package/dist/esm/chunk-IXXK7ZZM.js.map +0 -1
  114. package/dist/esm/chunk-KJ4MVCYE.js.map +0 -1
  115. package/dist/esm/chunk-MEKGLPDX.js.map +0 -1
  116. package/dist/esm/chunk-XOMQNCCR.js.map +0 -1
  117. /package/dist/esm/{chunk-6SDU6Z5Q.js.map → chunk-EJIQKPIV.js.map} +0 -0
  118. /package/dist/esm/{chunk-JLH6DGBK.js.map → chunk-NSKXMJWE.js.map} +0 -0
  119. /package/dist/esm/{chunk-423RKLBO.js.map → chunk-OIIR42TQ.js.map} +0 -0
  120. /package/dist/esm/{chunk-KR6W7QIW.js.map → chunk-RSSLUA2N.js.map} +0 -0
@@ -137,10 +137,10 @@ ${result.join("\n")}`;
137
137
  * @param sessionId - Unique session identifier
138
138
  * @returns Object containing the AI-generated response
139
139
  */
140
- async handleQuery(query, sessionId) {
140
+ async handleQuery(query, sessionId, userId) {
141
141
  const queryStartAt = Date.now();
142
142
  const sessionMemory = this.memoryModule?.getSessionMemory();
143
- const sessionHistory = await sessionMemory?.getSession(sessionId);
143
+ const sessionHistory = await sessionMemory?.getSession(sessionId, userId);
144
144
  const intent = this.intentTriggering(query);
145
145
  const result = await this.intentFulfilling(
146
146
  query,
@@ -148,16 +148,24 @@ ${result.join("\n")}`;
148
148
  sessionHistory
149
149
  );
150
150
  if (sessionId) {
151
- await sessionMemory?.addChatToSession(sessionId, {
152
- role: "USER" /* USER */,
153
- timestamp: queryStartAt,
154
- content: { type: "text", parts: [query] }
155
- });
156
- await sessionMemory?.addChatToSession(sessionId, {
157
- role: "MODEL" /* MODEL */,
158
- timestamp: Date.now(),
159
- content: { type: "text", parts: [result.response] }
160
- });
151
+ await sessionMemory?.addChatToSession(
152
+ sessionId,
153
+ {
154
+ role: "USER" /* USER */,
155
+ timestamp: queryStartAt,
156
+ content: { type: "text", parts: [query] }
157
+ },
158
+ userId
159
+ );
160
+ await sessionMemory?.addChatToSession(
161
+ sessionId,
162
+ {
163
+ role: "MODEL" /* MODEL */,
164
+ timestamp: Date.now(),
165
+ content: { type: "text", parts: [result.response] }
166
+ },
167
+ userId
168
+ );
161
169
  }
162
170
  return { content: result.response };
163
171
  }
@@ -166,4 +174,4 @@ ${result.join("\n")}`;
166
174
  export {
167
175
  QueryService
168
176
  };
169
- //# sourceMappingURL=chunk-LVKAW3WE.js.map
177
+ //# sourceMappingURL=chunk-2K5L4GFC.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/services/query.service.ts"],"sourcesContent":["import type {\n\tA2AModule,\n\tMCPModule,\n\tMemoryModule,\n\tModelModule,\n} from \"@/modules/index.js\";\nimport type { AinAgentPrompts } from \"@/types/agent.js\";\nimport { ChatRole, type SessionObject } from \"@/types/memory.js\";\nimport {\n\ttype IA2ATool,\n\ttype IAgentTool,\n\ttype IMCPTool,\n\tTOOL_PROTOCOL_TYPE,\n} from \"@/types/tool.js\";\nimport { loggers } from \"@/utils/logger.js\";\n\n/**\n * Service for processing user queries through the agent's AI pipeline.\n *\n * Orchestrates the query processing workflow including intent detection,\n * model inference, tool execution, and response generation. Manages\n * conversation context and coordinates between different modules.\n */\nexport class QueryService {\n\tprivate modelModule: ModelModule;\n\tprivate a2aModule?: A2AModule;\n\tprivate mcpModule?: MCPModule;\n\tprivate memoryModule?: MemoryModule;\n\tprivate prompts?: AinAgentPrompts;\n\n\tconstructor(\n\t\tmodelModule: ModelModule,\n\t\ta2aModule?: A2AModule,\n\t\tmcpModule?: MCPModule,\n\t\tmemoryModule?: MemoryModule,\n\t\tprompts?: AinAgentPrompts,\n\t) {\n\t\tthis.modelModule = modelModule;\n\t\tthis.a2aModule = a2aModule;\n\t\tthis.mcpModule = mcpModule;\n\t\tthis.memoryModule = memoryModule;\n\t\tthis.prompts = prompts;\n\t}\n\n\t/**\n\t * Detects the intent from a user query.\n\t *\n\t * @param query - The user's input query\n\t * @returns The detected intent (currently returns the query as-is)\n\t * @todo Implement actual intent detection logic\n\t */\n\tprivate async intentTriggering(query: string) {\n\t\t/* TODO */\n\t\treturn query;\n\t}\n\n\t/**\n\t * Fulfills the detected intent by generating a response.\n\t *\n\t * Manages the complete inference loop including:\n\t * - Loading prompts and conversation history\n\t * - Collecting available tools from modules\n\t * - Executing model inference with tool support\n\t * - Processing tool calls iteratively until completion\n\t *\n\t * @param query - The user's input query\n\t * @param sessionId - Session identifier for context\n\t * @param sessionHistory - Previous conversation history\n\t * @returns Object containing process steps and final response\n\t */\n\tprivate async intentFulfilling(\n\t\tquery: string,\n\t\tsessionId: string,\n\t\tsessionHistory: SessionObject | undefined,\n\t) {\n\t\t// 1. Load agent / system prompt from memory\n\t\tconst systemPrompt = `\nToday is ${new Date().toLocaleDateString()}.\n\n${this.prompts?.agent || \"\"}\n\n${this.prompts?.system || \"\"}\n `;\n\n\t\tconst modelInstance = this.modelModule.getModel();\n\t\tconst messages = modelInstance.generateMessages({\n\t\t\tquery,\n\t\t\tsessionHistory,\n\t\t\tsystemPrompt: systemPrompt.trim(),\n\t\t});\n\n\t\tconst tools: IAgentTool[] = [];\n\t\tif (this.mcpModule) {\n\t\t\ttools.push(...this.mcpModule.getTools());\n\t\t}\n\t\tif (this.a2aModule) {\n\t\t\ttools.push(...(await this.a2aModule.getTools()));\n\t\t}\n\t\tconst functions = modelInstance.convertToolsToFunctions(tools);\n\n\t\tconst processList: string[] = [];\n\t\tlet finalMessage = \"\";\n\t\tlet didCallTool = false;\n\n\t\twhile (true) {\n\t\t\tconst response = await modelInstance.fetchWithContextMessage(\n\t\t\t\tmessages,\n\t\t\t\tfunctions,\n\t\t\t);\n\t\t\tdidCallTool = false;\n\n\t\t\tloggers.intent.debug(\"messages\", { messages });\n\n\t\t\tconst { content, toolCalls } = response;\n\n\t\t\tloggers.intent.debug(\"content\", { content });\n\t\t\tloggers.intent.debug(\"tool_calls\", { ...toolCalls });\n\n\t\t\tif (toolCalls) {\n\t\t\t\tconst messagePayload = this.a2aModule?.getMessagePayload(\n\t\t\t\t\tquery,\n\t\t\t\t\tsessionId,\n\t\t\t\t);\n\n\t\t\t\tfor (const toolCall of toolCalls) {\n\t\t\t\t\tconst toolName = toolCall.name;\n\t\t\t\t\tdidCallTool = true;\n\t\t\t\t\tconst selectedTool = tools.filter((tool) => tool.id === toolName)[0];\n\n\t\t\t\t\tlet toolResult = \"\";\n\t\t\t\t\tif (\n\t\t\t\t\t\tthis.mcpModule &&\n\t\t\t\t\t\tselectedTool.protocol === TOOL_PROTOCOL_TYPE.MCP\n\t\t\t\t\t) {\n\t\t\t\t\t\tconst toolArgs = toolCall.arguments as\n\t\t\t\t\t\t\t| { [x: string]: unknown }\n\t\t\t\t\t\t\t| undefined;\n\t\t\t\t\t\tloggers.intent.debug(\"MCP tool call\", { toolName, toolArgs });\n\t\t\t\t\t\tconst result = await this.mcpModule.useTool(\n\t\t\t\t\t\t\tselectedTool as IMCPTool,\n\t\t\t\t\t\t\ttoolArgs,\n\t\t\t\t\t\t);\n\t\t\t\t\t\ttoolResult =\n\t\t\t\t\t\t\t`[Bot Called MCP Tool ${toolName} with args ${JSON.stringify(toolArgs)}]\\n` +\n\t\t\t\t\t\t\tJSON.stringify(result.content, null, 2);\n\t\t\t\t\t} else if (\n\t\t\t\t\t\tthis.a2aModule &&\n\t\t\t\t\t\tselectedTool.protocol === TOOL_PROTOCOL_TYPE.A2A\n\t\t\t\t\t) {\n\t\t\t\t\t\tconst result = await this.a2aModule.useTool(\n\t\t\t\t\t\t\tselectedTool as IA2ATool,\n\t\t\t\t\t\t\tmessagePayload!,\n\t\t\t\t\t\t\tsessionId,\n\t\t\t\t\t\t);\n\t\t\t\t\t\ttoolResult = `[Bot Called A2A Tool ${toolName}]\\n${result.join(\"\\n\")}`;\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// Unrecognized tool type. It cannot be happened...\n\t\t\t\t\t\tloggers.intent.warn(\n\t\t\t\t\t\t\t`Unrecognized tool type: ${selectedTool.protocol}`,\n\t\t\t\t\t\t);\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\tloggers.intent.debug(\"toolResult\", { toolResult });\n\n\t\t\t\t\tprocessList.push(toolResult);\n\t\t\t\t\tmodelInstance.appendMessages(messages, toolResult);\n\t\t\t\t}\n\t\t\t} else if (content) {\n\t\t\t\tprocessList.push(content);\n\t\t\t\tfinalMessage = content;\n\t\t\t}\n\n\t\t\tif (!didCallTool) break;\n\t\t}\n\n\t\tconst botResponse = {\n\t\t\tprocess: processList.join(\"\\n\"),\n\t\t\tresponse: finalMessage,\n\t\t};\n\n\t\treturn botResponse;\n\t}\n\n\t/**\n\t * Main entry point for processing user queries.\n\t *\n\t * Handles the complete query lifecycle:\n\t * 1. Loads session history from memory\n\t * 2. Detects intent from the query\n\t * 3. Fulfills the intent with AI response\n\t * 4. Updates conversation history\n\t *\n\t * @param query - The user's input query\n\t * @param sessionId - Unique session identifier\n\t * @returns Object containing the AI-generated response\n\t */\n\tpublic async handleQuery(query: string, sessionId: string) {\n\t\t// 1. Load session history with sessionId\n\t\tconst queryStartAt = Date.now();\n\t\tconst sessionMemory = this.memoryModule?.getSessionMemory();\n\t\tconst sessionHistory = await sessionMemory?.getSession(sessionId);\n\n\t\t// 2. intent triggering\n\t\tconst intent = this.intentTriggering(query);\n\n\t\t// 3. intent fulfillment\n\t\tconst result = await this.intentFulfilling(\n\t\t\tquery,\n\t\t\tsessionId,\n\t\t\tsessionHistory,\n\t\t);\n\t\tif (sessionId) {\n\t\t\tawait sessionMemory?.addChatToSession(sessionId, {\n\t\t\t\trole: ChatRole.USER,\n\t\t\t\ttimestamp: queryStartAt,\n\t\t\t\tcontent: { type: \"text\", parts: [query] },\n\t\t\t});\n\t\t\tawait sessionMemory?.addChatToSession(sessionId, {\n\t\t\t\trole: ChatRole.MODEL,\n\t\t\t\ttimestamp: Date.now(),\n\t\t\t\tcontent: { type: \"text\", parts: [result.response] },\n\t\t\t});\n\t\t}\n\n\t\treturn { content: result.response };\n\t}\n}\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../../src/services/query.service.ts"],"sourcesContent":["import type {\n\tA2AModule,\n\tMCPModule,\n\tMemoryModule,\n\tModelModule,\n} from \"@/modules/index.js\";\nimport type { AinAgentPrompts } from \"@/types/agent.js\";\nimport { ChatRole, type SessionObject } from \"@/types/memory.js\";\nimport {\n\ttype IA2ATool,\n\ttype IAgentTool,\n\ttype IMCPTool,\n\tTOOL_PROTOCOL_TYPE,\n} from \"@/types/tool.js\";\nimport { loggers } from \"@/utils/logger.js\";\n\n/**\n * Service for processing user queries through the agent's AI pipeline.\n *\n * Orchestrates the query processing workflow including intent detection,\n * model inference, tool execution, and response generation. Manages\n * conversation context and coordinates between different modules.\n */\nexport class QueryService {\n\tprivate modelModule: ModelModule;\n\tprivate a2aModule?: A2AModule;\n\tprivate mcpModule?: MCPModule;\n\tprivate memoryModule?: MemoryModule;\n\tprivate prompts?: AinAgentPrompts;\n\n\tconstructor(\n\t\tmodelModule: ModelModule,\n\t\ta2aModule?: A2AModule,\n\t\tmcpModule?: MCPModule,\n\t\tmemoryModule?: MemoryModule,\n\t\tprompts?: AinAgentPrompts,\n\t) {\n\t\tthis.modelModule = modelModule;\n\t\tthis.a2aModule = a2aModule;\n\t\tthis.mcpModule = mcpModule;\n\t\tthis.memoryModule = memoryModule;\n\t\tthis.prompts = prompts;\n\t}\n\n\t/**\n\t * Detects the intent from a user query.\n\t *\n\t * @param query - The user's input query\n\t * @returns The detected intent (currently returns the query as-is)\n\t * @todo Implement actual intent detection logic\n\t */\n\tprivate async intentTriggering(query: string) {\n\t\t/* TODO */\n\t\treturn query;\n\t}\n\n\t/**\n\t * Fulfills the detected intent by generating a response.\n\t *\n\t * Manages the complete inference loop including:\n\t * - Loading prompts and conversation history\n\t * - Collecting available tools from modules\n\t * - Executing model inference with tool support\n\t * - Processing tool calls iteratively until completion\n\t *\n\t * @param query - The user's input query\n\t * @param sessionId - Session identifier for context\n\t * @param sessionHistory - Previous conversation history\n\t * @returns Object containing process steps and final response\n\t */\n\tprivate async intentFulfilling(\n\t\tquery: string,\n\t\tsessionId: string,\n\t\tsessionHistory: SessionObject | undefined,\n\t) {\n\t\t// 1. Load agent / system prompt from memory\n\t\tconst systemPrompt = `\nToday is ${new Date().toLocaleDateString()}.\n\n${this.prompts?.agent || \"\"}\n\n${this.prompts?.system || \"\"}\n `;\n\n\t\tconst modelInstance = this.modelModule.getModel();\n\t\tconst messages = modelInstance.generateMessages({\n\t\t\tquery,\n\t\t\tsessionHistory,\n\t\t\tsystemPrompt: systemPrompt.trim(),\n\t\t});\n\n\t\tconst tools: IAgentTool[] = [];\n\t\tif (this.mcpModule) {\n\t\t\ttools.push(...this.mcpModule.getTools());\n\t\t}\n\t\tif (this.a2aModule) {\n\t\t\ttools.push(...(await this.a2aModule.getTools()));\n\t\t}\n\t\tconst functions = modelInstance.convertToolsToFunctions(tools);\n\n\t\tconst processList: string[] = [];\n\t\tlet finalMessage = \"\";\n\t\tlet didCallTool = false;\n\n\t\twhile (true) {\n\t\t\tconst response = await modelInstance.fetchWithContextMessage(\n\t\t\t\tmessages,\n\t\t\t\tfunctions,\n\t\t\t);\n\t\t\tdidCallTool = false;\n\n\t\t\tloggers.intent.debug(\"messages\", { messages });\n\n\t\t\tconst { content, toolCalls } = response;\n\n\t\t\tloggers.intent.debug(\"content\", { content });\n\t\t\tloggers.intent.debug(\"tool_calls\", { ...toolCalls });\n\n\t\t\tif (toolCalls) {\n\t\t\t\tconst messagePayload = this.a2aModule?.getMessagePayload(\n\t\t\t\t\tquery,\n\t\t\t\t\tsessionId,\n\t\t\t\t);\n\n\t\t\t\tfor (const toolCall of toolCalls) {\n\t\t\t\t\tconst toolName = toolCall.name;\n\t\t\t\t\tdidCallTool = true;\n\t\t\t\t\tconst selectedTool = tools.filter((tool) => tool.id === toolName)[0];\n\n\t\t\t\t\tlet toolResult = \"\";\n\t\t\t\t\tif (\n\t\t\t\t\t\tthis.mcpModule &&\n\t\t\t\t\t\tselectedTool.protocol === TOOL_PROTOCOL_TYPE.MCP\n\t\t\t\t\t) {\n\t\t\t\t\t\tconst toolArgs = toolCall.arguments as\n\t\t\t\t\t\t\t| { [x: string]: unknown }\n\t\t\t\t\t\t\t| undefined;\n\t\t\t\t\t\tloggers.intent.debug(\"MCP tool call\", { toolName, toolArgs });\n\t\t\t\t\t\tconst result = await this.mcpModule.useTool(\n\t\t\t\t\t\t\tselectedTool as IMCPTool,\n\t\t\t\t\t\t\ttoolArgs,\n\t\t\t\t\t\t);\n\t\t\t\t\t\ttoolResult =\n\t\t\t\t\t\t\t`[Bot Called MCP Tool ${toolName} with args ${JSON.stringify(toolArgs)}]\\n` +\n\t\t\t\t\t\t\tJSON.stringify(result.content, null, 2);\n\t\t\t\t\t} else if (\n\t\t\t\t\t\tthis.a2aModule &&\n\t\t\t\t\t\tselectedTool.protocol === TOOL_PROTOCOL_TYPE.A2A\n\t\t\t\t\t) {\n\t\t\t\t\t\tconst result = await this.a2aModule.useTool(\n\t\t\t\t\t\t\tselectedTool as IA2ATool,\n\t\t\t\t\t\t\tmessagePayload!,\n\t\t\t\t\t\t\tsessionId,\n\t\t\t\t\t\t);\n\t\t\t\t\t\ttoolResult = `[Bot Called A2A Tool ${toolName}]\\n${result.join(\"\\n\")}`;\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// Unrecognized tool type. It cannot be happened...\n\t\t\t\t\t\tloggers.intent.warn(\n\t\t\t\t\t\t\t`Unrecognized tool type: ${selectedTool.protocol}`,\n\t\t\t\t\t\t);\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\tloggers.intent.debug(\"toolResult\", { toolResult });\n\n\t\t\t\t\tprocessList.push(toolResult);\n\t\t\t\t\tmodelInstance.appendMessages(messages, toolResult);\n\t\t\t\t}\n\t\t\t} else if (content) {\n\t\t\t\tprocessList.push(content);\n\t\t\t\tfinalMessage = content;\n\t\t\t}\n\n\t\t\tif (!didCallTool) break;\n\t\t}\n\n\t\tconst botResponse = {\n\t\t\tprocess: processList.join(\"\\n\"),\n\t\t\tresponse: finalMessage,\n\t\t};\n\n\t\treturn botResponse;\n\t}\n\n\t/**\n\t * Main entry point for processing user queries.\n\t *\n\t * Handles the complete query lifecycle:\n\t * 1. Loads session history from memory\n\t * 2. Detects intent from the query\n\t * 3. Fulfills the intent with AI response\n\t * 4. Updates conversation history\n\t *\n\t * @param query - The user's input query\n\t * @param sessionId - Unique session identifier\n\t * @returns Object containing the AI-generated response\n\t */\n\tpublic async handleQuery(query: string, sessionId: string, userId?: string) {\n\t\t// 1. Load session history with sessionId\n\t\tconst queryStartAt = Date.now();\n\t\tconst sessionMemory = this.memoryModule?.getSessionMemory();\n\t\tconst sessionHistory = await sessionMemory?.getSession(sessionId, userId);\n\n\t\t// 2. intent triggering\n\t\tconst intent = this.intentTriggering(query);\n\n\t\t// 3. intent fulfillment\n\t\tconst result = await this.intentFulfilling(\n\t\t\tquery,\n\t\t\tsessionId,\n\t\t\tsessionHistory,\n\t\t);\n\t\tif (sessionId) {\n\t\t\tawait sessionMemory?.addChatToSession(\n\t\t\t\tsessionId,\n\t\t\t\t{\n\t\t\t\t\trole: ChatRole.USER,\n\t\t\t\t\ttimestamp: queryStartAt,\n\t\t\t\t\tcontent: { type: \"text\", parts: [query] },\n\t\t\t\t},\n\t\t\t\tuserId,\n\t\t\t);\n\t\t\tawait sessionMemory?.addChatToSession(\n\t\t\t\tsessionId,\n\t\t\t\t{\n\t\t\t\t\trole: ChatRole.MODEL,\n\t\t\t\t\ttimestamp: Date.now(),\n\t\t\t\t\tcontent: { type: \"text\", parts: [result.response] },\n\t\t\t\t},\n\t\t\t\tuserId,\n\t\t\t);\n\t\t}\n\n\t\treturn { content: result.response };\n\t}\n}\n"],"mappings":";;;;;AAuBO,IAAM,eAAN,MAAmB;AAAA,EACjB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAER,YACC,aACA,WACA,WACA,cACA,SACC;AACD,SAAK,cAAc;AACnB,SAAK,YAAY;AACjB,SAAK,YAAY;AACjB,SAAK,eAAe;AACpB,SAAK,UAAU;AAAA,EAChB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASA,MAAc,iBAAiB,OAAe;AAE7C,WAAO;AAAA,EACR;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAgBA,MAAc,iBACb,OACA,WACA,gBACC;AAED,UAAM,eAAe;AAAA,YACZ,oBAAI,KAAK,GAAE,mBAAmB,CAAC;AAAA;AAAA,EAExC,KAAK,SAAS,SAAS,EAAE;AAAA;AAAA,EAEzB,KAAK,SAAS,UAAU,EAAE;AAAA;AAG1B,UAAM,gBAAgB,KAAK,YAAY,SAAS;AAChD,UAAM,WAAW,cAAc,iBAAiB;AAAA,MAC/C;AAAA,MACA;AAAA,MACA,cAAc,aAAa,KAAK;AAAA,IACjC,CAAC;AAED,UAAM,QAAsB,CAAC;AAC7B,QAAI,KAAK,WAAW;AACnB,YAAM,KAAK,GAAG,KAAK,UAAU,SAAS,CAAC;AAAA,IACxC;AACA,QAAI,KAAK,WAAW;AACnB,YAAM,KAAK,GAAI,MAAM,KAAK,UAAU,SAAS,CAAE;AAAA,IAChD;AACA,UAAM,YAAY,cAAc,wBAAwB,KAAK;AAE7D,UAAM,cAAwB,CAAC;AAC/B,QAAI,eAAe;AACnB,QAAI,cAAc;AAElB,WAAO,MAAM;AACZ,YAAM,WAAW,MAAM,cAAc;AAAA,QACpC;AAAA,QACA;AAAA,MACD;AACA,oBAAc;AAEd,cAAQ,OAAO,MAAM,YAAY,EAAE,SAAS,CAAC;AAE7C,YAAM,EAAE,SAAS,UAAU,IAAI;AAE/B,cAAQ,OAAO,MAAM,WAAW,EAAE,QAAQ,CAAC;AAC3C,cAAQ,OAAO,MAAM,cAAc,EAAE,GAAG,UAAU,CAAC;AAEnD,UAAI,WAAW;AACd,cAAM,iBAAiB,KAAK,WAAW;AAAA,UACtC;AAAA,UACA;AAAA,QACD;AAEA,mBAAW,YAAY,WAAW;AACjC,gBAAM,WAAW,SAAS;AAC1B,wBAAc;AACd,gBAAM,eAAe,MAAM,OAAO,CAAC,SAAS,KAAK,OAAO,QAAQ,EAAE,CAAC;AAEnE,cAAI,aAAa;AACjB,cACC,KAAK,aACL,aAAa,8BACZ;AACD,kBAAM,WAAW,SAAS;AAG1B,oBAAQ,OAAO,MAAM,iBAAiB,EAAE,UAAU,SAAS,CAAC;AAC5D,kBAAM,SAAS,MAAM,KAAK,UAAU;AAAA,cACnC;AAAA,cACA;AAAA,YACD;AACA,yBACC,wBAAwB,QAAQ,cAAc,KAAK,UAAU,QAAQ,CAAC;AAAA,IACtE,KAAK,UAAU,OAAO,SAAS,MAAM,CAAC;AAAA,UACxC,WACC,KAAK,aACL,aAAa,8BACZ;AACD,kBAAM,SAAS,MAAM,KAAK,UAAU;AAAA,cACnC;AAAA,cACA;AAAA,cACA;AAAA,YACD;AACA,yBAAa,wBAAwB,QAAQ;AAAA,EAAM,OAAO,KAAK,IAAI,CAAC;AAAA,UACrE,OAAO;AAEN,oBAAQ,OAAO;AAAA,cACd,2BAA2B,aAAa,QAAQ;AAAA,YACjD;AACA;AAAA,UACD;AAEA,kBAAQ,OAAO,MAAM,cAAc,EAAE,WAAW,CAAC;AAEjD,sBAAY,KAAK,UAAU;AAC3B,wBAAc,eAAe,UAAU,UAAU;AAAA,QAClD;AAAA,MACD,WAAW,SAAS;AACnB,oBAAY,KAAK,OAAO;AACxB,uBAAe;AAAA,MAChB;AAEA,UAAI,CAAC,YAAa;AAAA,IACnB;AAEA,UAAM,cAAc;AAAA,MACnB,SAAS,YAAY,KAAK,IAAI;AAAA,MAC9B,UAAU;AAAA,IACX;AAEA,WAAO;AAAA,EACR;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAeA,MAAa,YAAY,OAAe,WAAmB,QAAiB;AAE3E,UAAM,eAAe,KAAK,IAAI;AAC9B,UAAM,gBAAgB,KAAK,cAAc,iBAAiB;AAC1D,UAAM,iBAAiB,MAAM,eAAe,WAAW,WAAW,MAAM;AAGxE,UAAM,SAAS,KAAK,iBAAiB,KAAK;AAG1C,UAAM,SAAS,MAAM,KAAK;AAAA,MACzB;AAAA,MACA;AAAA,MACA;AAAA,IACD;AACA,QAAI,WAAW;AACd,YAAM,eAAe;AAAA,QACpB;AAAA,QACA;AAAA,UACC;AAAA,UACA,WAAW;AAAA,UACX,SAAS,EAAE,MAAM,QAAQ,OAAO,CAAC,KAAK,EAAE;AAAA,QACzC;AAAA,QACA;AAAA,MACD;AACA,YAAM,eAAe;AAAA,QACpB;AAAA,QACA;AAAA,UACC;AAAA,UACA,WAAW,KAAK,IAAI;AAAA,UACpB,SAAS,EAAE,MAAM,QAAQ,OAAO,CAAC,OAAO,QAAQ,EAAE;AAAA,QACnD;AAAA,QACA;AAAA,MACD;AAAA,IACD;AAEA,WAAO,EAAE,SAAS,OAAO,SAAS;AAAA,EACnC;AACD;","names":[]}
@@ -12,8 +12,9 @@ var AuthMiddleware = class {
12
12
  middleware() {
13
13
  return async (req, res, next) => {
14
14
  try {
15
- const isAuthenticated = await this.auth.authenticate(req, res);
16
- if (isAuthenticated) {
15
+ const authRes = await this.auth.authenticate(req, res);
16
+ if (authRes.isAuthenticated) {
17
+ res.locals.userId = authRes.userId;
17
18
  next();
18
19
  } else {
19
20
  const error = new AinHttpError(
@@ -39,4 +40,4 @@ var AuthMiddleware = class {
39
40
  export {
40
41
  AuthMiddleware
41
42
  };
42
- //# sourceMappingURL=chunk-635VQ4CH.js.map
43
+ //# sourceMappingURL=chunk-6BK7LDIA.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/middlewares/auth.middleware.ts"],"sourcesContent":["import type { NextFunction, Request, RequestHandler, Response } from \"express\";\nimport { StatusCodes } from \"http-status-codes\";\nimport type { BaseAuth } from \"@/modules/auth/base.auth\";\nimport { AinHttpError } from \"@/types/agent\";\nimport type { AuthResponse } from \"@/types/auth\";\n\nexport class AuthMiddleware {\n\tprivate auth: BaseAuth;\n\tconstructor(auth: BaseAuth) {\n\t\tthis.auth = auth;\n\t}\n\n\tpublic middleware(): RequestHandler {\n\t\treturn async (req: Request, res: Response, next: NextFunction) => {\n\t\t\ttry {\n\t\t\t\tconst authRes: AuthResponse = await this.auth.authenticate(req, res);\n\t\t\t\tif (authRes.isAuthenticated) {\n\t\t\t\t\tres.locals.userId = authRes.userId;\n\t\t\t\t\tnext();\n\t\t\t\t} else {\n\t\t\t\t\tconst error: AinHttpError = new AinHttpError(\n\t\t\t\t\t\tStatusCodes.UNAUTHORIZED,\n\t\t\t\t\t\t\"Unauthorized\",\n\t\t\t\t\t);\n\t\t\t\t\tthrow error;\n\t\t\t\t}\n\t\t\t} catch (e: any) {\n\t\t\t\tif (!e.status) {\n\t\t\t\t\tconst error: AinHttpError = new AinHttpError(\n\t\t\t\t\t\tStatusCodes.INTERNAL_SERVER_ERROR,\n\t\t\t\t\t\t`Authentication error: ${JSON.stringify(e)}`,\n\t\t\t\t\t);\n\t\t\t\t\tthrow error;\n\t\t\t\t}\n\t\t\t\tthrow e;\n\t\t\t}\n\t\t};\n\t}\n}\n"],"mappings":";;;;;AACA,SAAS,mBAAmB;AAKrB,IAAM,iBAAN,MAAqB;AAAA,EACnB;AAAA,EACR,YAAY,MAAgB;AAC3B,SAAK,OAAO;AAAA,EACb;AAAA,EAEO,aAA6B;AACnC,WAAO,OAAO,KAAc,KAAe,SAAuB;AACjE,UAAI;AACH,cAAM,UAAwB,MAAM,KAAK,KAAK,aAAa,KAAK,GAAG;AACnE,YAAI,QAAQ,iBAAiB;AAC5B,cAAI,OAAO,SAAS,QAAQ;AAC5B,eAAK;AAAA,QACN,OAAO;AACN,gBAAM,QAAsB,IAAI;AAAA,YAC/B,YAAY;AAAA,YACZ;AAAA,UACD;AACA,gBAAM;AAAA,QACP;AAAA,MACD,SAAS,GAAQ;AAChB,YAAI,CAAC,EAAE,QAAQ;AACd,gBAAM,QAAsB,IAAI;AAAA,YAC/B,YAAY;AAAA,YACZ,yBAAyB,KAAK,UAAU,CAAC,CAAC;AAAA,UAC3C;AACA,gBAAM;AAAA,QACP;AACA,cAAM;AAAA,MACP;AAAA,IACD;AAAA,EACD;AACD;","names":[]}
@@ -23,13 +23,13 @@ var MemoryModule = class {
23
23
  }
24
24
  async shutdown() {
25
25
  const disconnectPromises = [];
26
- if (this.agentMemory && this.agentMemory.isConnected()) {
26
+ if (this.agentMemory?.isConnected()) {
27
27
  disconnectPromises.push(this.agentMemory.disconnect());
28
28
  }
29
- if (this.sessionMemory && this.sessionMemory.isConnected()) {
29
+ if (this.sessionMemory?.isConnected()) {
30
30
  disconnectPromises.push(this.sessionMemory.disconnect());
31
31
  }
32
- if (this.intentMemory && this.intentMemory.isConnected()) {
32
+ if (this.intentMemory?.isConnected()) {
33
33
  disconnectPromises.push(this.intentMemory.disconnect());
34
34
  }
35
35
  await Promise.all(disconnectPromises);
@@ -48,4 +48,4 @@ var MemoryModule = class {
48
48
  export {
49
49
  MemoryModule
50
50
  };
51
- //# sourceMappingURL=chunk-MEKGLPDX.js.map
51
+ //# sourceMappingURL=chunk-CKTURH34.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/modules/memory/memory.module.ts"],"sourcesContent":["import type {\n\tIAgentMemory,\n\tIIntentMemory,\n\tISessionMemory,\n} from \"./base.memory.js\";\n\nexport interface MemoryConfig {\n\tagent?: IAgentMemory;\n\tsession?: ISessionMemory;\n\tintent?: IIntentMemory;\n}\n\nexport class MemoryModule {\n\tprivate agentMemory?: IAgentMemory;\n\tprivate sessionMemory?: ISessionMemory;\n\tprivate intentMemory?: IIntentMemory;\n\n\tconstructor(config: MemoryConfig) {\n\t\tthis.agentMemory = config.agent;\n\t\tthis.sessionMemory = config.session;\n\t\tthis.intentMemory = config.intent;\n\t}\n\n\tasync initialize(): Promise<void> {\n\t\tconst connectPromises: Promise<void>[] = [];\n\n\t\tif (this.agentMemory) {\n\t\t\tconnectPromises.push(this.agentMemory.connect());\n\t\t}\n\t\tif (this.sessionMemory) {\n\t\t\tconnectPromises.push(this.sessionMemory.connect());\n\t\t}\n\t\tif (this.intentMemory) {\n\t\t\tconnectPromises.push(this.intentMemory.connect());\n\t\t}\n\n\t\tawait Promise.all(connectPromises);\n\t}\n\n\tasync shutdown(): Promise<void> {\n\t\tconst disconnectPromises: Promise<void>[] = [];\n\n\t\tif (this.agentMemory?.isConnected()) {\n\t\t\tdisconnectPromises.push(this.agentMemory.disconnect());\n\t\t}\n\t\tif (this.sessionMemory?.isConnected()) {\n\t\t\tdisconnectPromises.push(this.sessionMemory.disconnect());\n\t\t}\n\t\tif (this.intentMemory?.isConnected()) {\n\t\t\tdisconnectPromises.push(this.intentMemory.disconnect());\n\t\t}\n\n\t\tawait Promise.all(disconnectPromises);\n\t}\n\n\tpublic getAgentMemory(): IAgentMemory | undefined {\n\t\treturn this.agentMemory;\n\t}\n\n\tpublic getSessionMemory(): ISessionMemory | undefined {\n\t\treturn this.sessionMemory;\n\t}\n\n\tpublic getIntentMemory(): IIntentMemory | undefined {\n\t\treturn this.intentMemory;\n\t}\n}\n"],"mappings":";AAYO,IAAM,eAAN,MAAmB;AAAA,EACjB;AAAA,EACA;AAAA,EACA;AAAA,EAER,YAAY,QAAsB;AACjC,SAAK,cAAc,OAAO;AAC1B,SAAK,gBAAgB,OAAO;AAC5B,SAAK,eAAe,OAAO;AAAA,EAC5B;AAAA,EAEA,MAAM,aAA4B;AACjC,UAAM,kBAAmC,CAAC;AAE1C,QAAI,KAAK,aAAa;AACrB,sBAAgB,KAAK,KAAK,YAAY,QAAQ,CAAC;AAAA,IAChD;AACA,QAAI,KAAK,eAAe;AACvB,sBAAgB,KAAK,KAAK,cAAc,QAAQ,CAAC;AAAA,IAClD;AACA,QAAI,KAAK,cAAc;AACtB,sBAAgB,KAAK,KAAK,aAAa,QAAQ,CAAC;AAAA,IACjD;AAEA,UAAM,QAAQ,IAAI,eAAe;AAAA,EAClC;AAAA,EAEA,MAAM,WAA0B;AAC/B,UAAM,qBAAsC,CAAC;AAE7C,QAAI,KAAK,aAAa,YAAY,GAAG;AACpC,yBAAmB,KAAK,KAAK,YAAY,WAAW,CAAC;AAAA,IACtD;AACA,QAAI,KAAK,eAAe,YAAY,GAAG;AACtC,yBAAmB,KAAK,KAAK,cAAc,WAAW,CAAC;AAAA,IACxD;AACA,QAAI,KAAK,cAAc,YAAY,GAAG;AACrC,yBAAmB,KAAK,KAAK,aAAa,WAAW,CAAC;AAAA,IACvD;AAEA,UAAM,QAAQ,IAAI,kBAAkB;AAAA,EACrC;AAAA,EAEO,iBAA2C;AACjD,WAAO,KAAK;AAAA,EACb;AAAA,EAEO,mBAA+C;AACrD,WAAO,KAAK;AAAA,EACb;AAAA,EAEO,kBAA6C;AACnD,WAAO,KAAK;AAAA,EACb;AACD;","names":[]}
@@ -1,9 +1,9 @@
1
- import {
2
- QueryService
3
- } from "./chunk-LVKAW3WE.js";
4
1
  import {
5
2
  QueryController
6
- } from "./chunk-XOMQNCCR.js";
3
+ } from "./chunk-WIJDRP2A.js";
4
+ import {
5
+ QueryService
6
+ } from "./chunk-2K5L4GFC.js";
7
7
 
8
8
  // src/routes/query.routes.ts
9
9
  import { Router } from "express";
@@ -24,4 +24,4 @@ var createQueryRouter = (agent) => {
24
24
  export {
25
25
  createQueryRouter
26
26
  };
27
- //# sourceMappingURL=chunk-6SDU6Z5Q.js.map
27
+ //# sourceMappingURL=chunk-EJIQKPIV.js.map
@@ -5,4 +5,4 @@ var BaseAuth = class {
5
5
  export {
6
6
  BaseAuth
7
7
  };
8
- //# sourceMappingURL=chunk-KJ4MVCYE.js.map
8
+ //# sourceMappingURL=chunk-FF5RJ4L2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/modules/auth/base.auth.ts"],"sourcesContent":["import type { Request, Response } from \"express\";\nimport type { AuthResponse } from \"@/types/auth\";\n\nexport abstract class BaseAuth {\n\tabstract authenticate(req: Request, res: Response): Promise<AuthResponse>;\n}\n"],"mappings":";AAGO,IAAe,WAAf,MAAwB;AAE/B;","names":[]}
@@ -1,9 +1,9 @@
1
+ import {
2
+ createSessionApiRouter
3
+ } from "./chunk-RSSLUA2N.js";
1
4
  import {
2
5
  createModelApiRouter
3
6
  } from "./chunk-2Z7GJVJJ.js";
4
- import {
5
- createSessionApiRouter
6
- } from "./chunk-KR6W7QIW.js";
7
7
 
8
8
  // src/routes/api.routes.ts
9
9
  import { Router } from "express";
@@ -19,4 +19,4 @@ var createApiRouter = (agent) => {
19
19
  export {
20
20
  createApiRouter
21
21
  };
22
- //# sourceMappingURL=chunk-JLH6DGBK.js.map
22
+ //# sourceMappingURL=chunk-NSKXMJWE.js.map
@@ -1,12 +1,12 @@
1
+ import {
2
+ A2AService
3
+ } from "./chunk-AQ5YZERE.js";
1
4
  import {
2
5
  QueryService
3
- } from "./chunk-LVKAW3WE.js";
6
+ } from "./chunk-2K5L4GFC.js";
4
7
  import {
5
8
  A2AController
6
9
  } from "./chunk-EODMRV4H.js";
7
- import {
8
- A2AService
9
- } from "./chunk-AQ5YZERE.js";
10
10
 
11
11
  // src/routes/a2a.routes.ts
12
12
  import { InMemoryTaskStore } from "@a2a-js/sdk/server";
@@ -34,4 +34,4 @@ var createA2ARouter = (agent) => {
34
34
  export {
35
35
  createA2ARouter
36
36
  };
37
- //# sourceMappingURL=chunk-423RKLBO.js.map
37
+ //# sourceMappingURL=chunk-OIIR42TQ.js.map
@@ -12,6 +12,7 @@ var SessionApiController = class {
12
12
  handleSessionHistory = async (req, res, next) => {
13
13
  try {
14
14
  const { id: sessionId } = req.params;
15
+ const userId = res.locals.userId || "";
15
16
  const sessionMemory = this.memoryModule.getSessionMemory();
16
17
  if (!sessionMemory) {
17
18
  const error = new AinHttpError(
@@ -20,7 +21,7 @@ var SessionApiController = class {
20
21
  );
21
22
  throw error;
22
23
  }
23
- const session = await sessionMemory.getSession(sessionId);
24
+ const session = await sessionMemory.getSession(sessionId, userId);
24
25
  res.json(session);
25
26
  } catch (error) {
26
27
  next(error);
@@ -31,4 +32,4 @@ var SessionApiController = class {
31
32
  export {
32
33
  SessionApiController
33
34
  };
34
- //# sourceMappingURL=chunk-IXXK7ZZM.js.map
35
+ //# sourceMappingURL=chunk-RB4IFZJA.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/controllers/api/session.api.controller.ts"],"sourcesContent":["import type { NextFunction, Request, Response } from \"express\";\nimport { StatusCodes } from \"http-status-codes\";\nimport type { MemoryModule } from \"@/modules/index.js\";\nimport { AinHttpError } from \"@/types/agent.js\";\nexport class SessionApiController {\n\tprivate memoryModule: MemoryModule;\n\n\tconstructor(memoryModule: MemoryModule) {\n\t\tthis.memoryModule = memoryModule;\n\t}\n\n\tpublic handleSessionHistory = async (\n\t\treq: Request,\n\t\tres: Response,\n\t\tnext: NextFunction,\n\t) => {\n\t\ttry {\n\t\t\tconst { id: sessionId } = req.params;\n\t\t\tconst userId = res.locals.userId || \"\";\n\t\t\tconst sessionMemory = this.memoryModule.getSessionMemory();\n\t\t\tif (!sessionMemory) {\n\t\t\t\tconst error = new AinHttpError(\n\t\t\t\t\tStatusCodes.SERVICE_UNAVAILABLE,\n\t\t\t\t\t\"Memory module is not initialized\",\n\t\t\t\t);\n\t\t\t\tthrow error;\n\t\t\t}\n\t\t\tconst session = await sessionMemory.getSession(sessionId, userId);\n\t\t\tres.json(session);\n\t\t} catch (error) {\n\t\t\tnext(error);\n\t\t}\n\t};\n}\n"],"mappings":";;;;;AACA,SAAS,mBAAmB;AAGrB,IAAM,uBAAN,MAA2B;AAAA,EACzB;AAAA,EAER,YAAY,cAA4B;AACvC,SAAK,eAAe;AAAA,EACrB;AAAA,EAEO,uBAAuB,OAC7B,KACA,KACA,SACI;AACJ,QAAI;AACH,YAAM,EAAE,IAAI,UAAU,IAAI,IAAI;AAC9B,YAAM,SAAS,IAAI,OAAO,UAAU;AACpC,YAAM,gBAAgB,KAAK,aAAa,iBAAiB;AACzD,UAAI,CAAC,eAAe;AACnB,cAAM,QAAQ,IAAI;AAAA,UACjB,YAAY;AAAA,UACZ;AAAA,QACD;AACA,cAAM;AAAA,MACP;AACA,YAAM,UAAU,MAAM,cAAc,WAAW,WAAW,MAAM;AAChE,UAAI,KAAK,OAAO;AAAA,IACjB,SAAS,OAAO;AACf,WAAK,KAAK;AAAA,IACX;AAAA,EACD;AACD;","names":[]}
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  SessionApiController
3
- } from "./chunk-IXXK7ZZM.js";
3
+ } from "./chunk-RB4IFZJA.js";
4
4
 
5
5
  // src/routes/api/sessions.routes.ts
6
6
  import { Router } from "express";
@@ -14,4 +14,4 @@ var createSessionApiRouter = (memoryModule) => {
14
14
  export {
15
15
  createSessionApiRouter
16
16
  };
17
- //# sourceMappingURL=chunk-KR6W7QIW.js.map
17
+ //# sourceMappingURL=chunk-RSSLUA2N.js.map
@@ -7,7 +7,12 @@ var QueryController = class {
7
7
  handleQueryRequest = async (req, res, next) => {
8
8
  try {
9
9
  const { message, sessionId } = req.body;
10
- const result = await this.queryService.handleQuery(message, sessionId);
10
+ const userId = res.locals.userId;
11
+ const result = await this.queryService.handleQuery(
12
+ message,
13
+ sessionId,
14
+ userId
15
+ );
11
16
  res.status(200).json(result);
12
17
  } catch (error) {
13
18
  next(error);
@@ -18,4 +23,4 @@ var QueryController = class {
18
23
  export {
19
24
  QueryController
20
25
  };
21
- //# sourceMappingURL=chunk-XOMQNCCR.js.map
26
+ //# sourceMappingURL=chunk-WIJDRP2A.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/controllers/query.controller.ts"],"sourcesContent":["import type { NextFunction, Request, Response } from \"express\";\nimport type { QueryService } from \"@/services\";\n\nexport class QueryController {\n\tprivate queryService;\n\n\tconstructor(queryService: QueryService) {\n\t\tthis.queryService = queryService;\n\t}\n\n\tpublic handleQueryRequest = async (\n\t\treq: Request,\n\t\tres: Response,\n\t\tnext: NextFunction,\n\t) => {\n\t\ttry {\n\t\t\tconst { message, sessionId } = req.body;\n\t\t\tconst userId = res.locals.userId;\n\n\t\t\tconst result = await this.queryService.handleQuery(\n\t\t\t\tmessage,\n\t\t\t\tsessionId,\n\t\t\t\tuserId,\n\t\t\t);\n\n\t\t\tres.status(200).json(result);\n\t\t} catch (error) {\n\t\t\tnext(error);\n\t\t}\n\t};\n}\n"],"mappings":";AAGO,IAAM,kBAAN,MAAsB;AAAA,EACpB;AAAA,EAER,YAAY,cAA4B;AACvC,SAAK,eAAe;AAAA,EACrB;AAAA,EAEO,qBAAqB,OAC3B,KACA,KACA,SACI;AACJ,QAAI;AACH,YAAM,EAAE,SAAS,UAAU,IAAI,IAAI;AACnC,YAAM,SAAS,IAAI,OAAO;AAE1B,YAAM,SAAS,MAAM,KAAK,aAAa;AAAA,QACtC;AAAA,QACA;AAAA,QACA;AAAA,MACD;AAEA,UAAI,OAAO,GAAG,EAAE,KAAK,MAAM;AAAA,IAC5B,SAAS,OAAO;AACf,WAAK,KAAK;AAAA,IACX;AAAA,EACD;AACD;","names":[]}
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  SessionApiController
3
- } from "../../chunk-IXXK7ZZM.js";
3
+ } from "../../chunk-RB4IFZJA.js";
4
4
  import "../../chunk-FL3JRQM4.js";
5
5
  export {
6
6
  SessionApiController
@@ -3,14 +3,14 @@ import {
3
3
  } from "../chunk-UA44VKFE.js";
4
4
  import {
5
5
  SessionApiController
6
- } from "../chunk-IXXK7ZZM.js";
7
- import {
8
- A2AController
9
- } from "../chunk-EODMRV4H.js";
6
+ } from "../chunk-RB4IFZJA.js";
10
7
  import {
11
8
  QueryController
12
- } from "../chunk-XOMQNCCR.js";
9
+ } from "../chunk-WIJDRP2A.js";
13
10
  import "../chunk-FL3JRQM4.js";
11
+ import {
12
+ A2AController
13
+ } from "../chunk-EODMRV4H.js";
14
14
  import "../chunk-64GEXWSE.js";
15
15
  export {
16
16
  A2AController,
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  QueryController
3
- } from "../chunk-XOMQNCCR.js";
3
+ } from "../chunk-WIJDRP2A.js";
4
4
  export {
5
5
  QueryController
6
6
  };
@@ -10,6 +10,7 @@ import './modules/a2a/a2a.tool.js';
10
10
  import '@a2a-js/sdk/client';
11
11
  import './types/tool.js';
12
12
  import '@modelcontextprotocol/sdk/types.js';
13
+ import './types/auth.js';
13
14
  import './types/mcp.js';
14
15
  import '@modelcontextprotocol/sdk/client/stdio.js';
15
16
  import './modules/mcp/mcp.tool.js';
package/dist/esm/index.js CHANGED
@@ -1,30 +1,30 @@
1
1
  import "./chunk-XYCWK2ZM.js";
2
- import {
3
- createA2ARouter
4
- } from "./chunk-423RKLBO.js";
5
2
  import {
6
3
  createApiRouter
7
- } from "./chunk-JLH6DGBK.js";
4
+ } from "./chunk-NSKXMJWE.js";
5
+ import "./chunk-RSSLUA2N.js";
8
6
  import "./chunk-2Z7GJVJJ.js";
9
- import "./chunk-KR6W7QIW.js";
10
7
  import {
11
8
  createQueryRouter
12
- } from "./chunk-6SDU6Z5Q.js";
13
- import "./chunk-LVKAW3WE.js";
14
- import "./chunk-F727XG4N.js";
9
+ } from "./chunk-EJIQKPIV.js";
15
10
  import "./chunk-UA44VKFE.js";
16
- import "./chunk-IXXK7ZZM.js";
17
- import "./chunk-EODMRV4H.js";
18
- import "./chunk-XOMQNCCR.js";
11
+ import "./chunk-RB4IFZJA.js";
12
+ import "./chunk-WIJDRP2A.js";
19
13
  import {
20
14
  AuthMiddleware
21
- } from "./chunk-635VQ4CH.js";
15
+ } from "./chunk-6BK7LDIA.js";
22
16
  import "./chunk-FL3JRQM4.js";
23
17
  import {
24
18
  errorMiddleware
25
19
  } from "./chunk-ILFWNK3W.js";
26
- import "./chunk-FI2UQLVC.js";
20
+ import {
21
+ createA2ARouter
22
+ } from "./chunk-OIIR42TQ.js";
27
23
  import "./chunk-AQ5YZERE.js";
24
+ import "./chunk-2K5L4GFC.js";
25
+ import "./chunk-F727XG4N.js";
26
+ import "./chunk-EODMRV4H.js";
27
+ import "./chunk-FI2UQLVC.js";
28
28
  import {
29
29
  loggers
30
30
  } from "./chunk-64GEXWSE.js";
@@ -1,5 +1,6 @@
1
1
  import { RequestHandler } from 'express';
2
2
  import { BaseAuth } from '../modules/auth/base.auth.js';
3
+ import '../types/auth.js';
3
4
 
4
5
  declare class AuthMiddleware {
5
6
  private auth;
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  AuthMiddleware
3
- } from "../chunk-635VQ4CH.js";
3
+ } from "../chunk-6BK7LDIA.js";
4
4
  import "../chunk-FL3JRQM4.js";
5
5
  export {
6
6
  AuthMiddleware
@@ -1,7 +1,8 @@
1
1
  import { Request, Response } from 'express';
2
+ import { AuthResponse } from '../../types/auth.js';
2
3
 
3
4
  declare abstract class BaseAuth {
4
- abstract authenticate(req: Request, res: Response): Promise<boolean>;
5
+ abstract authenticate(req: Request, res: Response): Promise<AuthResponse>;
5
6
  }
6
7
 
7
8
  export { BaseAuth };
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  BaseAuth
3
- } from "../../chunk-KJ4MVCYE.js";
3
+ } from "../../chunk-FF5RJ4L2.js";
4
4
  export {
5
5
  BaseAuth
6
6
  };
@@ -11,6 +11,7 @@ import '@a2a-js/sdk/client';
11
11
  import '../types/tool.js';
12
12
  import '@modelcontextprotocol/sdk/types.js';
13
13
  import 'express';
14
+ import '../types/auth.js';
14
15
  import '../types/mcp.js';
15
16
  import '@modelcontextprotocol/sdk/client/stdio.js';
16
17
  import './mcp/mcp.tool.js';
@@ -1,23 +1,23 @@
1
+ import {
2
+ BaseAuth
3
+ } from "../chunk-FF5RJ4L2.js";
1
4
  import {
2
5
  MCPModule
3
6
  } from "../chunk-BTZVK3EA.js";
4
7
  import "../chunk-3LLHEUY2.js";
5
8
  import {
6
9
  MemoryModule
7
- } from "../chunk-MEKGLPDX.js";
8
- import {
9
- A2AModule
10
- } from "../chunk-SQWZXP4P.js";
11
- import "../chunk-DGH3GB5I.js";
12
- import {
13
- BaseAuth
14
- } from "../chunk-KJ4MVCYE.js";
10
+ } from "../chunk-CKTURH34.js";
15
11
  import {
16
12
  BaseModel
17
13
  } from "../chunk-GZFRRFOE.js";
18
14
  import {
19
15
  ModelModule
20
16
  } from "../chunk-PHKK5NHK.js";
17
+ import {
18
+ A2AModule
19
+ } from "../chunk-SQWZXP4P.js";
20
+ import "../chunk-DGH3GB5I.js";
21
21
  import "../chunk-FI2UQLVC.js";
22
22
  import "../chunk-64GEXWSE.js";
23
23
  export {
@@ -12,11 +12,11 @@ interface IMemory {
12
12
  * Session memory interface
13
13
  */
14
14
  interface ISessionMemory extends IMemory {
15
- getSession(sessionId: string): Promise<SessionObject | undefined>;
16
- createSession(sessionId: string): Promise<void>;
17
- addChatToSession(sessionId: string, chat: ChatObject): Promise<void>;
18
- deleteSession(sessionId: string): Promise<void>;
19
- listSessions(): Promise<string[]>;
15
+ getSession(sessionId: string, userId?: string): Promise<SessionObject | undefined>;
16
+ createSession(sessionId: string, userId?: string): Promise<void>;
17
+ addChatToSession(sessionId: string, chat: ChatObject, userId?: string): Promise<void>;
18
+ deleteSession(sessionId: string, userId?: string): Promise<void>;
19
+ listSessions(userId: string): Promise<string[]>;
20
20
  }
21
21
  /**
22
22
  * Intent memory interface
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  MemoryModule
3
- } from "../../chunk-MEKGLPDX.js";
3
+ } from "../../chunk-CKTURH34.js";
4
4
  export {
5
5
  MemoryModule
6
6
  };
@@ -7,6 +7,7 @@ import '@a2a-js/sdk/client';
7
7
  import '../types/tool.js';
8
8
  import '@modelcontextprotocol/sdk/types.js';
9
9
  import '../modules/auth/base.auth.js';
10
+ import '../types/auth.js';
10
11
  import '../modules/mcp/mcp.module.js';
11
12
  import '../types/mcp.js';
12
13
  import '@modelcontextprotocol/sdk/client/stdio.js';
@@ -1,11 +1,11 @@
1
1
  import {
2
2
  createA2ARouter
3
- } from "../chunk-423RKLBO.js";
4
- import "../chunk-LVKAW3WE.js";
3
+ } from "../chunk-OIIR42TQ.js";
4
+ import "../chunk-AQ5YZERE.js";
5
+ import "../chunk-2K5L4GFC.js";
5
6
  import "../chunk-F727XG4N.js";
6
7
  import "../chunk-EODMRV4H.js";
7
8
  import "../chunk-FI2UQLVC.js";
8
- import "../chunk-AQ5YZERE.js";
9
9
  import "../chunk-64GEXWSE.js";
10
10
  export {
11
11
  createA2ARouter
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  createSessionApiRouter
3
- } from "../../chunk-KR6W7QIW.js";
4
- import "../../chunk-IXXK7ZZM.js";
3
+ } from "../../chunk-RSSLUA2N.js";
4
+ import "../../chunk-RB4IFZJA.js";
5
5
  import "../../chunk-FL3JRQM4.js";
6
6
  export {
7
7
  createSessionApiRouter
@@ -7,6 +7,7 @@ import '@a2a-js/sdk/client';
7
7
  import '../types/tool.js';
8
8
  import '@modelcontextprotocol/sdk/types.js';
9
9
  import '../modules/auth/base.auth.js';
10
+ import '../types/auth.js';
10
11
  import '../modules/mcp/mcp.module.js';
11
12
  import '../types/mcp.js';
12
13
  import '@modelcontextprotocol/sdk/client/stdio.js';
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  createApiRouter
3
- } from "../chunk-JLH6DGBK.js";
3
+ } from "../chunk-NSKXMJWE.js";
4
+ import "../chunk-RSSLUA2N.js";
4
5
  import "../chunk-2Z7GJVJJ.js";
5
- import "../chunk-KR6W7QIW.js";
6
6
  import "../chunk-UA44VKFE.js";
7
- import "../chunk-IXXK7ZZM.js";
7
+ import "../chunk-RB4IFZJA.js";
8
8
  import "../chunk-FL3JRQM4.js";
9
9
  export {
10
10
  createApiRouter
@@ -12,6 +12,7 @@ import '@a2a-js/sdk/client';
12
12
  import '../types/tool.js';
13
13
  import '@modelcontextprotocol/sdk/types.js';
14
14
  import '../modules/auth/base.auth.js';
15
+ import '../types/auth.js';
15
16
  import '../modules/mcp/mcp.module.js';
16
17
  import '../types/mcp.js';
17
18
  import '@modelcontextprotocol/sdk/client/stdio.js';
@@ -1,28 +1,28 @@
1
1
  import "../chunk-XYCWK2ZM.js";
2
- import {
3
- createA2ARouter
4
- } from "../chunk-423RKLBO.js";
5
2
  import {
6
3
  createApiRouter
7
- } from "../chunk-JLH6DGBK.js";
4
+ } from "../chunk-NSKXMJWE.js";
5
+ import {
6
+ createSessionApiRouter
7
+ } from "../chunk-RSSLUA2N.js";
8
8
  import {
9
9
  createModelApiRouter
10
10
  } from "../chunk-2Z7GJVJJ.js";
11
- import {
12
- createSessionApiRouter
13
- } from "../chunk-KR6W7QIW.js";
14
11
  import {
15
12
  createQueryRouter
16
- } from "../chunk-6SDU6Z5Q.js";
17
- import "../chunk-LVKAW3WE.js";
18
- import "../chunk-F727XG4N.js";
13
+ } from "../chunk-EJIQKPIV.js";
19
14
  import "../chunk-UA44VKFE.js";
20
- import "../chunk-IXXK7ZZM.js";
21
- import "../chunk-EODMRV4H.js";
22
- import "../chunk-XOMQNCCR.js";
15
+ import "../chunk-RB4IFZJA.js";
16
+ import "../chunk-WIJDRP2A.js";
23
17
  import "../chunk-FL3JRQM4.js";
24
- import "../chunk-FI2UQLVC.js";
18
+ import {
19
+ createA2ARouter
20
+ } from "../chunk-OIIR42TQ.js";
25
21
  import "../chunk-AQ5YZERE.js";
22
+ import "../chunk-2K5L4GFC.js";
23
+ import "../chunk-F727XG4N.js";
24
+ import "../chunk-EODMRV4H.js";
25
+ import "../chunk-FI2UQLVC.js";
26
26
  import "../chunk-64GEXWSE.js";
27
27
  export {
28
28
  createA2ARouter,
@@ -7,6 +7,7 @@ import '@a2a-js/sdk/client';
7
7
  import '../types/tool.js';
8
8
  import '@modelcontextprotocol/sdk/types.js';
9
9
  import '../modules/auth/base.auth.js';
10
+ import '../types/auth.js';
10
11
  import '../modules/mcp/mcp.module.js';
11
12
  import '../types/mcp.js';
12
13
  import '@modelcontextprotocol/sdk/client/stdio.js';