@ainetwork/adk 0.2.1 → 0.2.3

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 (190) hide show
  1. package/README.md +50 -24
  2. package/dist/cjs/{chunk-EOPW5OPE.cjs → chunk-77SJGFVU.cjs} +7 -7
  3. package/dist/cjs/{chunk-4DXS33VP.cjs.map → chunk-77SJGFVU.cjs.map} +1 -1
  4. package/dist/cjs/{chunk-GB3ON7UV.cjs → chunk-7PZP7YSA.cjs} +5 -5
  5. package/dist/cjs/{chunk-GB3ON7UV.cjs.map → chunk-7PZP7YSA.cjs.map} +1 -1
  6. package/dist/cjs/{chunk-ZZK4ACTV.cjs → chunk-A2ANDQNY.cjs} +75 -27
  7. package/dist/cjs/chunk-A2ANDQNY.cjs.map +1 -0
  8. package/dist/cjs/{chunk-MIWLK57K.cjs → chunk-A2I7D6JW.cjs} +1 -1
  9. package/dist/cjs/chunk-A2I7D6JW.cjs.map +1 -0
  10. package/dist/cjs/{chunk-6YVTJEMQ.cjs → chunk-BBFYVWE2.cjs} +17 -42
  11. package/dist/cjs/chunk-BBFYVWE2.cjs.map +1 -0
  12. package/dist/cjs/{chunk-4DXS33VP.cjs → chunk-CHC3HECE.cjs} +7 -7
  13. package/dist/cjs/{chunk-EOPW5OPE.cjs.map → chunk-CHC3HECE.cjs.map} +1 -1
  14. package/dist/cjs/{chunk-LRBRG2DS.cjs → chunk-E35E4LQY.cjs} +4 -4
  15. package/dist/cjs/chunk-E35E4LQY.cjs.map +1 -0
  16. package/dist/cjs/{chunk-45G7LDK7.cjs → chunk-FRWC3FQ4.cjs} +3 -3
  17. package/dist/cjs/{chunk-45G7LDK7.cjs.map → chunk-FRWC3FQ4.cjs.map} +1 -1
  18. package/dist/cjs/{chunk-2C33PZTV.cjs → chunk-HCN6JEJA.cjs} +6 -6
  19. package/dist/cjs/chunk-HCN6JEJA.cjs.map +1 -0
  20. package/dist/cjs/chunk-J7GCQY3S.cjs +18 -0
  21. package/dist/cjs/chunk-J7GCQY3S.cjs.map +1 -0
  22. package/dist/cjs/{chunk-AIE3SVG7.cjs → chunk-KHD7UAFW.cjs} +22 -24
  23. package/dist/cjs/chunk-KHD7UAFW.cjs.map +1 -0
  24. package/dist/cjs/{chunk-BOKIE5SM.cjs → chunk-LMR6B76V.cjs} +5 -5
  25. package/dist/cjs/chunk-LMR6B76V.cjs.map +1 -0
  26. package/dist/cjs/{chunk-ZZPJ5CPR.cjs → chunk-MCDRCKR6.cjs} +29 -24
  27. package/dist/cjs/chunk-MCDRCKR6.cjs.map +1 -0
  28. package/dist/cjs/{chunk-344VLDMS.cjs → chunk-O4QQH7VT.cjs} +7 -7
  29. package/dist/cjs/{chunk-RX72NXXR.cjs.map → chunk-O4QQH7VT.cjs.map} +1 -1
  30. package/dist/cjs/{chunk-55IME4BG.cjs → chunk-OKRBMMK2.cjs} +46 -24
  31. package/dist/cjs/chunk-OKRBMMK2.cjs.map +1 -0
  32. package/dist/cjs/{chunk-7GWYMGWW.cjs → chunk-PAWGHHSY.cjs} +15 -14
  33. package/dist/cjs/chunk-PAWGHHSY.cjs.map +1 -0
  34. package/dist/cjs/{chunk-DX2JH3FJ.cjs → chunk-QHQLU7BI.cjs} +1 -1
  35. package/dist/cjs/{chunk-DX2JH3FJ.cjs.map → chunk-QHQLU7BI.cjs.map} +1 -1
  36. package/dist/cjs/{chunk-QWASSVCU.cjs → chunk-RIJV7J5Z.cjs} +1 -1
  37. package/dist/cjs/chunk-RIJV7J5Z.cjs.map +1 -0
  38. package/dist/cjs/{chunk-HT3PACCL.cjs → chunk-UPQVXJK6.cjs} +6 -6
  39. package/dist/cjs/chunk-UPQVXJK6.cjs.map +1 -0
  40. package/dist/cjs/{chunk-3J3ORQOG.cjs → chunk-VLMHDHXT.cjs} +3 -3
  41. package/dist/cjs/{chunk-3J3ORQOG.cjs.map → chunk-VLMHDHXT.cjs.map} +1 -1
  42. package/dist/cjs/{chunk-RX72NXXR.cjs → chunk-W5VM75PL.cjs} +7 -7
  43. package/dist/cjs/{chunk-344VLDMS.cjs.map → chunk-W5VM75PL.cjs.map} +1 -1
  44. package/dist/cjs/{chunk-JXKLEQD6.cjs → chunk-WUOME625.cjs} +6 -6
  45. package/dist/cjs/chunk-WUOME625.cjs.map +1 -0
  46. package/dist/cjs/{chunk-CU5MOHJU.cjs → chunk-ZPYMLCQZ.cjs} +13 -14
  47. package/dist/cjs/chunk-ZPYMLCQZ.cjs.map +1 -0
  48. package/dist/cjs/controllers/api/threads.api.controller.cjs +2 -2
  49. package/dist/cjs/controllers/index.cjs +7 -7
  50. package/dist/cjs/controllers/index.cjs.map +1 -1
  51. package/dist/cjs/controllers/query.controller.cjs +3 -3
  52. package/dist/cjs/index.cjs +46 -32
  53. package/dist/cjs/index.cjs.map +1 -1
  54. package/dist/cjs/middlewares/auth.middleware.cjs +3 -3
  55. package/dist/cjs/modules/a2a/a2a.module.cjs +3 -3
  56. package/dist/cjs/modules/index.cjs +9 -9
  57. package/dist/cjs/modules/index.cjs.map +1 -1
  58. package/dist/cjs/modules/models/model.module.cjs +2 -2
  59. package/dist/cjs/routes/a2a.routes.cjs +7 -6
  60. package/dist/cjs/routes/a2a.routes.cjs.map +1 -1
  61. package/dist/cjs/routes/api/threads.routes.cjs +4 -4
  62. package/dist/cjs/routes/api.routes.cjs +5 -5
  63. package/dist/cjs/routes/index.cjs +17 -17
  64. package/dist/cjs/routes/index.cjs.map +1 -1
  65. package/dist/cjs/routes/query.routes.cjs +7 -7
  66. package/dist/cjs/services/a2a.service.cjs +2 -2
  67. package/dist/cjs/services/index.cjs +6 -5
  68. package/dist/cjs/services/index.cjs.map +1 -1
  69. package/dist/cjs/services/query-stream.service.cjs +4 -3
  70. package/dist/cjs/services/query-stream.service.cjs.map +1 -1
  71. package/dist/cjs/services/query.service.cjs +3 -3
  72. package/dist/cjs/types/agent.cjs +2 -2
  73. package/dist/cjs/types/memory.cjs +2 -2
  74. package/dist/esm/{chunk-7D4SKPIS.js → chunk-4C2TLCWI.js} +2 -2
  75. package/dist/esm/{chunk-EIHZ4S5V.js → chunk-4R4TB2ZJ.js} +6 -6
  76. package/dist/esm/{chunk-PN6NMQBM.js → chunk-5JIXQ6PU.js} +2 -2
  77. package/dist/esm/chunk-5JIXQ6PU.js.map +1 -0
  78. package/dist/esm/{chunk-CWFIK2EK.js → chunk-KDVMHOLB.js} +11 -10
  79. package/dist/esm/chunk-KDVMHOLB.js.map +1 -0
  80. package/dist/esm/{chunk-LJVVSUF7.js → chunk-MJEPJ62P.js} +15 -40
  81. package/dist/esm/chunk-MJEPJ62P.js.map +1 -0
  82. package/dist/esm/{chunk-2L2KJNAM.js → chunk-NIT7ITZV.js} +6 -6
  83. package/dist/esm/chunk-NIT7ITZV.js.map +1 -0
  84. package/dist/esm/{chunk-MNAWSBYP.js → chunk-POQFOL6Y.js} +1 -1
  85. package/dist/esm/chunk-POQFOL6Y.js.map +1 -0
  86. package/dist/esm/{chunk-2RW77MJB.js → chunk-PUUZRUE6.js} +47 -25
  87. package/dist/esm/chunk-PUUZRUE6.js.map +1 -0
  88. package/dist/esm/{chunk-SYCFBEUA.js → chunk-QHWDMU43.js} +3 -3
  89. package/dist/esm/{chunk-WLT2B2SZ.js → chunk-RL6SRSSK.js} +1 -1
  90. package/dist/esm/chunk-RL6SRSSK.js.map +1 -0
  91. package/dist/esm/{chunk-VDXWZ4NK.js → chunk-TV2GJAEH.js} +2 -2
  92. package/dist/esm/{chunk-ILKEX4ZV.js → chunk-UK6K6ZPH.js} +26 -17
  93. package/dist/esm/chunk-UK6K6ZPH.js.map +1 -0
  94. package/dist/esm/{chunk-PHKK5NHK.js → chunk-VNQCUGC3.js} +1 -1
  95. package/dist/esm/chunk-VNQCUGC3.js.map +1 -0
  96. package/dist/esm/{chunk-FL3JRQM4.js → chunk-ZBUAT73P.js} +1 -1
  97. package/dist/esm/{chunk-FL3JRQM4.js.map → chunk-ZBUAT73P.js.map} +1 -1
  98. package/dist/esm/controllers/a2a.controller.d.ts +2 -2
  99. package/dist/esm/controllers/api/threads.api.controller.js +1 -1
  100. package/dist/esm/controllers/index.d.ts +3 -3
  101. package/dist/esm/controllers/index.js +3 -3
  102. package/dist/esm/controllers/query.controller.d.ts +2 -2
  103. package/dist/esm/controllers/query.controller.js +2 -2
  104. package/dist/esm/index.d.ts +1 -2
  105. package/dist/esm/index.js +37 -23
  106. package/dist/esm/index.js.map +1 -1
  107. package/dist/esm/middlewares/auth.middleware.js +2 -2
  108. package/dist/esm/modules/a2a/a2a.module.d.ts +2 -9
  109. package/dist/esm/modules/a2a/a2a.module.js +2 -2
  110. package/dist/esm/modules/index.js +10 -10
  111. package/dist/esm/modules/models/model.module.d.ts +17 -0
  112. package/dist/esm/modules/models/model.module.js +1 -1
  113. package/dist/esm/routes/a2a.routes.js +5 -4
  114. package/dist/esm/routes/api/threads.routes.js +3 -3
  115. package/dist/esm/routes/api.routes.js +4 -4
  116. package/dist/esm/routes/index.js +11 -11
  117. package/dist/esm/routes/query.routes.js +6 -6
  118. package/dist/esm/services/a2a.service.d.ts +4 -4
  119. package/dist/esm/services/a2a.service.js +1 -1
  120. package/dist/esm/services/index.js +7 -6
  121. package/dist/esm/services/query-stream.service.d.ts +13 -10
  122. package/dist/esm/services/query-stream.service.js +3 -2
  123. package/dist/esm/services/query.service.d.ts +7 -4
  124. package/dist/esm/services/query.service.js +2 -2
  125. package/dist/esm/types/agent.d.ts +0 -2
  126. package/dist/esm/types/agent.js +1 -1
  127. package/dist/esm/types/memory.d.ts +6 -7
  128. package/dist/esm/types/memory.js +1 -1
  129. package/package.json +9 -4
  130. package/dist/cjs/chunk-2C33PZTV.cjs.map +0 -1
  131. package/dist/cjs/chunk-55IME4BG.cjs.map +0 -1
  132. package/dist/cjs/chunk-6YVTJEMQ.cjs.map +0 -1
  133. package/dist/cjs/chunk-7GWYMGWW.cjs.map +0 -1
  134. package/dist/cjs/chunk-7HUWKIXU.cjs +0 -128
  135. package/dist/cjs/chunk-7HUWKIXU.cjs.map +0 -1
  136. package/dist/cjs/chunk-AIE3SVG7.cjs.map +0 -1
  137. package/dist/cjs/chunk-BBCZU5VZ.cjs +0 -17
  138. package/dist/cjs/chunk-BBCZU5VZ.cjs.map +0 -1
  139. package/dist/cjs/chunk-BOKIE5SM.cjs.map +0 -1
  140. package/dist/cjs/chunk-CU5MOHJU.cjs.map +0 -1
  141. package/dist/cjs/chunk-CYW6ICAW.cjs +0 -106
  142. package/dist/cjs/chunk-CYW6ICAW.cjs.map +0 -1
  143. package/dist/cjs/chunk-EAK7MP6X.cjs +0 -22
  144. package/dist/cjs/chunk-EAK7MP6X.cjs.map +0 -1
  145. package/dist/cjs/chunk-F4CJCUAK.cjs +0 -22
  146. package/dist/cjs/chunk-F4CJCUAK.cjs.map +0 -1
  147. package/dist/cjs/chunk-FCZQBJTF.cjs +0 -36
  148. package/dist/cjs/chunk-FCZQBJTF.cjs.map +0 -1
  149. package/dist/cjs/chunk-G5KEV27W.cjs +0 -45
  150. package/dist/cjs/chunk-G5KEV27W.cjs.map +0 -1
  151. package/dist/cjs/chunk-H35XHCTA.cjs +0 -22
  152. package/dist/cjs/chunk-H35XHCTA.cjs.map +0 -1
  153. package/dist/cjs/chunk-HT3PACCL.cjs.map +0 -1
  154. package/dist/cjs/chunk-JXKLEQD6.cjs.map +0 -1
  155. package/dist/cjs/chunk-KE7SL3H6.cjs +0 -251
  156. package/dist/cjs/chunk-KE7SL3H6.cjs.map +0 -1
  157. package/dist/cjs/chunk-KRLUWTLN.cjs +0 -35
  158. package/dist/cjs/chunk-KRLUWTLN.cjs.map +0 -1
  159. package/dist/cjs/chunk-LRBRG2DS.cjs.map +0 -1
  160. package/dist/cjs/chunk-MIWLK57K.cjs.map +0 -1
  161. package/dist/cjs/chunk-MLUUV7UY.cjs +0 -36
  162. package/dist/cjs/chunk-MLUUV7UY.cjs.map +0 -1
  163. package/dist/cjs/chunk-QWASSVCU.cjs.map +0 -1
  164. package/dist/cjs/chunk-T2AKW5PA.cjs +0 -45
  165. package/dist/cjs/chunk-T2AKW5PA.cjs.map +0 -1
  166. package/dist/cjs/chunk-UTFWH24D.cjs +0 -22
  167. package/dist/cjs/chunk-UTFWH24D.cjs.map +0 -1
  168. package/dist/cjs/chunk-W52YCYRF.cjs +0 -43
  169. package/dist/cjs/chunk-W52YCYRF.cjs.map +0 -1
  170. package/dist/cjs/chunk-YNBMJ5QX.cjs +0 -129
  171. package/dist/cjs/chunk-YNBMJ5QX.cjs.map +0 -1
  172. package/dist/cjs/chunk-ZZK4ACTV.cjs.map +0 -1
  173. package/dist/cjs/chunk-ZZPJ5CPR.cjs.map +0 -1
  174. package/dist/cjs/controllers/api/thread.api.controller.cjs +0 -8
  175. package/dist/cjs/controllers/api/thread.api.controller.cjs.map +0 -1
  176. package/dist/cjs/routes/api/thread.routes.cjs +0 -9
  177. package/dist/cjs/routes/api/thread.routes.cjs.map +0 -1
  178. package/dist/esm/chunk-2L2KJNAM.js.map +0 -1
  179. package/dist/esm/chunk-2RW77MJB.js.map +0 -1
  180. package/dist/esm/chunk-CWFIK2EK.js.map +0 -1
  181. package/dist/esm/chunk-ILKEX4ZV.js.map +0 -1
  182. package/dist/esm/chunk-LJVVSUF7.js.map +0 -1
  183. package/dist/esm/chunk-MNAWSBYP.js.map +0 -1
  184. package/dist/esm/chunk-PHKK5NHK.js.map +0 -1
  185. package/dist/esm/chunk-PN6NMQBM.js.map +0 -1
  186. package/dist/esm/chunk-WLT2B2SZ.js.map +0 -1
  187. /package/dist/esm/{chunk-7D4SKPIS.js.map → chunk-4C2TLCWI.js.map} +0 -0
  188. /package/dist/esm/{chunk-EIHZ4S5V.js.map → chunk-4R4TB2ZJ.js.map} +0 -0
  189. /package/dist/esm/{chunk-SYCFBEUA.js.map → chunk-QHWDMU43.js.map} +0 -0
  190. /package/dist/esm/{chunk-VDXWZ4NK.js.map → chunk-TV2GJAEH.js.map} +0 -0
@@ -1,6 +1,6 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; } var _class;
2
2
 
3
- var _chunkDX2JH3FJcjs = require('./chunk-DX2JH3FJ.cjs');
3
+ var _chunkQHQLU7BIcjs = require('./chunk-QHQLU7BI.cjs');
4
4
 
5
5
  // src/controllers/query.controller.ts
6
6
  var _httpstatuscodes = require('http-status-codes');
@@ -28,7 +28,7 @@ var QueryController = (_class = class {
28
28
  const { type, threadId, message } = req.body;
29
29
  const userId = res.locals.userId;
30
30
  if (!this.queryStreamService) {
31
- const error = new (0, _chunkDX2JH3FJcjs.AinHttpError)(
31
+ const error = new (0, _chunkQHQLU7BIcjs.AinHttpError)(
32
32
  _httpstatuscodes.StatusCodes.NOT_IMPLEMENTED,
33
33
  "Stream query not supported"
34
34
  );
@@ -62,4 +62,4 @@ data: ${errMsg}
62
62
 
63
63
 
64
64
  exports.QueryController = QueryController;
65
- //# sourceMappingURL=chunk-3J3ORQOG.cjs.map
65
+ //# sourceMappingURL=chunk-VLMHDHXT.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/shyun/comcom/ain-agent/ain-adk/dist/cjs/chunk-3J3ORQOG.cjs","../../src/controllers/query.controller.ts"],"names":[],"mappings":"AAAA;AACE;AACF,wDAA6B;AAC7B;AACA;ACHA,oDAA4B;AAIrB,IAAM,gBAAA,YAAN,MAAsB;AAAA,EACpB;AAAA,EACA;AAAA,EAER,WAAA,CACC,YAAA,EACA,kBAAA,EACC;AACD,IAAA,IAAA,CAAK,aAAA,EAAe,YAAA;AACpB,IAAA,IAAA,CAAK,mBAAA,EAAqB,kBAAA;AAAA,EAC3B;AAAA,iBAEO,mBAAA,EAAqB,MAAA,CAC3B,GAAA,EACA,GAAA,EACA,IAAA,EAAA,GACI;AACJ,IAAA,MAAM,EAAE,IAAA,EAAM,OAAA,EAAS,SAAS,EAAA,EAAI,GAAA,CAAI,IAAA;AACxC,IAAA,MAAM,OAAA,EAAS,GAAA,CAAI,MAAA,CAAO,MAAA;AAE1B,IAAA,IAAI;AACH,MAAA,MAAM,OAAA,EAAS,MAAM,IAAA,CAAK,YAAA,CAAa,WAAA;AAAA,QACtC,EAAE,IAAA,EAAM,MAAA,EAAQ,SAAS,CAAA;AAAA,QACzB;AAAA,MACD,CAAA;AAEA,MAAA,GAAA,CAAI,MAAA,CAAO,GAAG,CAAA,CAAE,IAAA,CAAK,MAAM,CAAA;AAAA,IAC5B,EAAA,MAAA,CAAS,KAAA,EAAO;AACf,MAAA,IAAA,CAAK,KAAK,CAAA;AAAA,IACX;AAAA,EACD,EAAA;AAAA,kBAEO,yBAAA,EAA2B,MAAA,CACjC,GAAA,EACA,GAAA,EACA,IAAA,EAAA,GACI;AACJ,IAAA,MAAM,EAAE,IAAA,EAAM,QAAA,EAAU,QAAQ,EAAA,EAAI,GAAA,CAAI,IAAA;AACxC,IAAA,MAAM,OAAA,EAAS,GAAA,CAAI,MAAA,CAAO,MAAA;AAE1B,IAAA,GAAA,CAAI,CAAC,IAAA,CAAK,kBAAA,EAAoB;AAC7B,MAAA,MAAM,MAAA,EAAQ,IAAI,mCAAA;AAAA,QACjB,4BAAA,CAAY,eAAA;AAAA,QACZ;AAAA,MACD,CAAA;AACA,MAAA,OAAO,IAAA,CAAK,KAAK,CAAA;AAAA,IAClB;AAEA,IAAA,MAAM,OAAA,EAAS,IAAA,CAAK,kBAAA,CAAmB,iBAAA;AAAA,MACtC,EAAE,IAAA,EAAM,MAAA,EAAQ,SAAS,CAAA;AAAA,MACzB;AAAA,IACD,CAAA;AAEA,IAAA,IAAI;AACH,MAAA,IAAA,MAAA,CAAA,MAAiB,MAAA,GAAS,MAAA,EAAQ;AACjC,QAAA,GAAA,CAAI,KAAA;AAAA,UACH,CAAA,OAAA,EAAU,KAAA,CAAM,KAAK,CAAA;AAAA,MAAA,EAAW,IAAA,CAAK,SAAA,CAAU,KAAA,CAAM,IAAI,CAAC,CAAA;AAAA;AAAA;AAAA,QAC3D,CAAA;AAAA,MACD;AAAA,IACD,EAAA,MAAA,CAAS,KAAA,EAAgB;AACxB,MAAA,MAAM,OAAA,kBACJ,KAAA,6BAAiB,UAAA,GAAW,+BAAA;AAC9B,MAAA,GAAA,CAAI,KAAA,CAAM,CAAA;AAAA,MAAA,EAAuB,MAAM,CAAA;AAAA;AAAA,CAAM,CAAA;AAAA,IAC9C,EAAA,QAAE;AACD,MAAA,GAAA,CAAI,GAAA,CAAI,CAAA;AAAA,IACT;AAAA,EACD,EAAA;AACD,UAAA;ADZA;AACA;AACE;AACF,0CAAC","file":"/Users/shyun/comcom/ain-agent/ain-adk/dist/cjs/chunk-3J3ORQOG.cjs","sourcesContent":[null,"import type { NextFunction, Request, Response } from \"express\";\nimport { StatusCodes } from \"http-status-codes\";\nimport type { QueryService, QueryStreamService } from \"@/services\";\nimport { AinHttpError } from \"@/types/agent\";\n\nexport class QueryController {\n\tprivate queryService;\n\tprivate queryStreamService;\n\n\tconstructor(\n\t\tqueryService: QueryService,\n\t\tqueryStreamService?: QueryStreamService,\n\t) {\n\t\tthis.queryService = queryService;\n\t\tthis.queryStreamService = queryStreamService;\n\t}\n\n\tpublic handleQueryRequest = async (\n\t\treq: Request,\n\t\tres: Response,\n\t\tnext: NextFunction,\n\t) => {\n\t\tconst { type, message, threadId } = req.body;\n\t\tconst userId = res.locals.userId;\n\n\t\ttry {\n\t\t\tconst result = await this.queryService.handleQuery(\n\t\t\t\t{ type, userId, threadId },\n\t\t\t\tmessage,\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\tpublic handleQueryStreamRequest = async (\n\t\treq: Request,\n\t\tres: Response,\n\t\tnext: NextFunction,\n\t) => {\n\t\tconst { type, threadId, message } = req.body;\n\t\tconst userId = res.locals.userId;\n\n\t\tif (!this.queryStreamService) {\n\t\t\tconst error = new AinHttpError(\n\t\t\t\tStatusCodes.NOT_IMPLEMENTED,\n\t\t\t\t\"Stream query not supported\",\n\t\t\t);\n\t\t\treturn next(error);\n\t\t}\n\n\t\tconst stream = this.queryStreamService.handleQueryStream(\n\t\t\t{ type, userId, threadId },\n\t\t\tmessage,\n\t\t);\n\n\t\ttry {\n\t\t\tfor await (const event of stream) {\n\t\t\t\tres.write(\n\t\t\t\t\t`event: ${event.event}\\ndata: ${JSON.stringify(event.data)}\\n\\n`,\n\t\t\t\t);\n\t\t\t}\n\t\t} catch (error: unknown) {\n\t\t\tconst errMsg =\n\t\t\t\t(error as Error)?.message || \"Failed to handle query stream\";\n\t\t\tres.write(`event: error\\ndata: ${errMsg}\\n\\n`);\n\t\t} finally {\n\t\t\tres.end();\n\t\t}\n\t};\n}\n"]}
1
+ {"version":3,"sources":["/Users/shyun/comcom/ain-agent/ain-adk/dist/cjs/chunk-VLMHDHXT.cjs","../../src/controllers/query.controller.ts"],"names":[],"mappings":"AAAA;AACE;AACF,wDAA6B;AAC7B;AACA;ACHA,oDAA4B;AAIrB,IAAM,gBAAA,YAAN,MAAsB;AAAA,EACpB;AAAA,EACA;AAAA,EAER,WAAA,CACC,YAAA,EACA,kBAAA,EACC;AACD,IAAA,IAAA,CAAK,aAAA,EAAe,YAAA;AACpB,IAAA,IAAA,CAAK,mBAAA,EAAqB,kBAAA;AAAA,EAC3B;AAAA,iBAEO,mBAAA,EAAqB,MAAA,CAC3B,GAAA,EACA,GAAA,EACA,IAAA,EAAA,GACI;AACJ,IAAA,MAAM,EAAE,IAAA,EAAM,OAAA,EAAS,SAAS,EAAA,EAAI,GAAA,CAAI,IAAA;AACxC,IAAA,MAAM,OAAA,EAAS,GAAA,CAAI,MAAA,CAAO,MAAA;AAE1B,IAAA,IAAI;AACH,MAAA,MAAM,OAAA,EAAS,MAAM,IAAA,CAAK,YAAA,CAAa,WAAA;AAAA,QACtC,EAAE,IAAA,EAAM,MAAA,EAAQ,SAAS,CAAA;AAAA,QACzB;AAAA,MACD,CAAA;AAEA,MAAA,GAAA,CAAI,MAAA,CAAO,GAAG,CAAA,CAAE,IAAA,CAAK,MAAM,CAAA;AAAA,IAC5B,EAAA,MAAA,CAAS,KAAA,EAAO;AACf,MAAA,IAAA,CAAK,KAAK,CAAA;AAAA,IACX;AAAA,EACD,EAAA;AAAA,kBAEO,yBAAA,EAA2B,MAAA,CACjC,GAAA,EACA,GAAA,EACA,IAAA,EAAA,GACI;AACJ,IAAA,MAAM,EAAE,IAAA,EAAM,QAAA,EAAU,QAAQ,EAAA,EAAI,GAAA,CAAI,IAAA;AACxC,IAAA,MAAM,OAAA,EAAS,GAAA,CAAI,MAAA,CAAO,MAAA;AAE1B,IAAA,GAAA,CAAI,CAAC,IAAA,CAAK,kBAAA,EAAoB;AAC7B,MAAA,MAAM,MAAA,EAAQ,IAAI,mCAAA;AAAA,QACjB,4BAAA,CAAY,eAAA;AAAA,QACZ;AAAA,MACD,CAAA;AACA,MAAA,OAAO,IAAA,CAAK,KAAK,CAAA;AAAA,IAClB;AAEA,IAAA,MAAM,OAAA,EAAS,IAAA,CAAK,kBAAA,CAAmB,iBAAA;AAAA,MACtC,EAAE,IAAA,EAAM,MAAA,EAAQ,SAAS,CAAA;AAAA,MACzB;AAAA,IACD,CAAA;AAEA,IAAA,IAAI;AACH,MAAA,IAAA,MAAA,CAAA,MAAiB,MAAA,GAAS,MAAA,EAAQ;AACjC,QAAA,GAAA,CAAI,KAAA;AAAA,UACH,CAAA,OAAA,EAAU,KAAA,CAAM,KAAK,CAAA;AAAA,MAAA,EAAW,IAAA,CAAK,SAAA,CAAU,KAAA,CAAM,IAAI,CAAC,CAAA;AAAA;AAAA;AAAA,QAC3D,CAAA;AAAA,MACD;AAAA,IACD,EAAA,MAAA,CAAS,KAAA,EAAgB;AACxB,MAAA,MAAM,OAAA,kBACJ,KAAA,6BAAiB,UAAA,GAAW,+BAAA;AAC9B,MAAA,GAAA,CAAI,KAAA,CAAM,CAAA;AAAA,MAAA,EAAuB,MAAM,CAAA;AAAA;AAAA,CAAM,CAAA;AAAA,IAC9C,EAAA,QAAE;AACD,MAAA,GAAA,CAAI,GAAA,CAAI,CAAA;AAAA,IACT;AAAA,EACD,EAAA;AACD,UAAA;ADZA;AACA;AACE;AACF,0CAAC","file":"/Users/shyun/comcom/ain-agent/ain-adk/dist/cjs/chunk-VLMHDHXT.cjs","sourcesContent":[null,"import type { NextFunction, Request, Response } from \"express\";\nimport { StatusCodes } from \"http-status-codes\";\nimport type { QueryService, QueryStreamService } from \"@/services\";\nimport { AinHttpError } from \"@/types/agent\";\n\nexport class QueryController {\n\tprivate queryService;\n\tprivate queryStreamService;\n\n\tconstructor(\n\t\tqueryService: QueryService,\n\t\tqueryStreamService?: QueryStreamService,\n\t) {\n\t\tthis.queryService = queryService;\n\t\tthis.queryStreamService = queryStreamService;\n\t}\n\n\tpublic handleQueryRequest = async (\n\t\treq: Request,\n\t\tres: Response,\n\t\tnext: NextFunction,\n\t) => {\n\t\tconst { type, message, threadId } = req.body;\n\t\tconst userId = res.locals.userId;\n\n\t\ttry {\n\t\t\tconst result = await this.queryService.handleQuery(\n\t\t\t\t{ type, userId, threadId },\n\t\t\t\tmessage,\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\tpublic handleQueryStreamRequest = async (\n\t\treq: Request,\n\t\tres: Response,\n\t\tnext: NextFunction,\n\t) => {\n\t\tconst { type, threadId, message } = req.body;\n\t\tconst userId = res.locals.userId;\n\n\t\tif (!this.queryStreamService) {\n\t\t\tconst error = new AinHttpError(\n\t\t\t\tStatusCodes.NOT_IMPLEMENTED,\n\t\t\t\t\"Stream query not supported\",\n\t\t\t);\n\t\t\treturn next(error);\n\t\t}\n\n\t\tconst stream = this.queryStreamService.handleQueryStream(\n\t\t\t{ type, userId, threadId },\n\t\t\tmessage,\n\t\t);\n\n\t\ttry {\n\t\t\tfor await (const event of stream) {\n\t\t\t\tres.write(\n\t\t\t\t\t`event: ${event.event}\\ndata: ${JSON.stringify(event.data)}\\n\\n`,\n\t\t\t\t);\n\t\t\t}\n\t\t} catch (error: unknown) {\n\t\t\tconst errMsg =\n\t\t\t\t(error as Error)?.message || \"Failed to handle query stream\";\n\t\t\tres.write(`event: error\\ndata: ${errMsg}\\n\\n`);\n\t\t} finally {\n\t\t\tres.end();\n\t\t}\n\t};\n}\n"]}
@@ -1,18 +1,18 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
- var _chunkAIE3SVG7cjs = require('./chunk-AIE3SVG7.cjs');
3
+ var _chunkZPYMLCQZcjs = require('./chunk-ZPYMLCQZ.cjs');
4
4
 
5
5
 
6
- var _chunk3J3ORQOGcjs = require('./chunk-3J3ORQOG.cjs');
6
+ var _chunkVLMHDHXTcjs = require('./chunk-VLMHDHXT.cjs');
7
7
 
8
8
 
9
- var _chunkCU5MOHJUcjs = require('./chunk-CU5MOHJU.cjs');
9
+ var _chunkKHD7UAFWcjs = require('./chunk-KHD7UAFW.cjs');
10
10
 
11
11
  // src/routes/query.routes.ts
12
12
  var _express = require('express');
13
13
  var createQueryRouter = (agent, allowStream = false) => {
14
14
  const router = _express.Router.call(void 0, );
15
- const queryService = new (0, _chunkCU5MOHJUcjs.QueryService)(
15
+ const queryService = new (0, _chunkZPYMLCQZcjs.QueryService)(
16
16
  agent.modelModule,
17
17
  agent.a2aModule,
18
18
  agent.mcpModule,
@@ -21,7 +21,7 @@ var createQueryRouter = (agent, allowStream = false) => {
21
21
  );
22
22
  let queryStreamService;
23
23
  if (allowStream) {
24
- queryStreamService = new (0, _chunkAIE3SVG7cjs.QueryStreamService)(
24
+ queryStreamService = new (0, _chunkKHD7UAFWcjs.QueryStreamService)(
25
25
  agent.modelModule,
26
26
  agent.a2aModule,
27
27
  agent.mcpModule,
@@ -29,7 +29,7 @@ var createQueryRouter = (agent, allowStream = false) => {
29
29
  agent.manifest.prompts
30
30
  );
31
31
  }
32
- const queryController = new (0, _chunk3J3ORQOGcjs.QueryController)(queryService, queryStreamService);
32
+ const queryController = new (0, _chunkVLMHDHXTcjs.QueryController)(queryService, queryStreamService);
33
33
  router.post("/", queryController.handleQueryRequest);
34
34
  if (allowStream) {
35
35
  router.post("/stream", queryController.handleQueryStreamRequest);
@@ -40,4 +40,4 @@ var createQueryRouter = (agent, allowStream = false) => {
40
40
 
41
41
 
42
42
  exports.createQueryRouter = createQueryRouter;
43
- //# sourceMappingURL=chunk-RX72NXXR.cjs.map
43
+ //# sourceMappingURL=chunk-W5VM75PL.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/shyun/comcom/ain-agent/ain-adk/dist/cjs/chunk-344VLDMS.cjs","../../src/routes/query.routes.ts"],"names":[],"mappings":"AAAA;AACE;AACF,wDAA6B;AAC7B;AACE;AACF,wDAA6B;AAC7B;AACE;AACF,wDAA6B;AAC7B;AACA;ACVA,kCAAuB;AAMhB,IAAM,kBAAA,EAAoB,CAChC,KAAA,EACA,YAAA,EAAc,KAAA,EAAA,GACF;AACZ,EAAA,MAAM,OAAA,EAAS,6BAAA,CAAO;AAEtB,EAAA,MAAM,aAAA,EAAe,IAAI,mCAAA;AAAA,IACxB,KAAA,CAAM,WAAA;AAAA,IACN,KAAA,CAAM,SAAA;AAAA,IACN,KAAA,CAAM,SAAA;AAAA,IACN,KAAA,CAAM,YAAA;AAAA,IACN,KAAA,CAAM,QAAA,CAAS;AAAA,EAChB,CAAA;AAEA,EAAA,IAAI,kBAAA;AAEJ,EAAA,GAAA,CAAI,WAAA,EAAa;AAChB,IAAA,mBAAA,EAAqB,IAAI,yCAAA;AAAA,MACxB,KAAA,CAAM,WAAA;AAAA,MACN,KAAA,CAAM,SAAA;AAAA,MACN,KAAA,CAAM,SAAA;AAAA,MACN,KAAA,CAAM,YAAA;AAAA,MACN,KAAA,CAAM,QAAA,CAAS;AAAA,IAChB,CAAA;AAAA,EACD;AAEA,EAAA,MAAM,gBAAA,EAAkB,IAAI,sCAAA,CAAgB,YAAA,EAAc,kBAAkB,CAAA;AAC5E,EAAA,MAAA,CAAO,IAAA,CAAK,GAAA,EAAK,eAAA,CAAgB,kBAAkB,CAAA;AAEnD,EAAA,GAAA,CAAI,WAAA,EAAa;AAChB,IAAA,MAAA,CAAO,IAAA,CAAK,SAAA,EAAW,eAAA,CAAgB,wBAAwB,CAAA;AAAA,EAChE;AAEA,EAAA,OAAO,MAAA;AACR,CAAA;ADFA;AACA;AACE;AACF,8CAAC","file":"/Users/shyun/comcom/ain-agent/ain-adk/dist/cjs/chunk-344VLDMS.cjs","sourcesContent":[null,"import { Router } from \"express\";\nimport { QueryController } from \"@/controllers/query.controller.js\";\nimport type { AINAgent } from \"@/index.js\";\nimport { QueryService } from \"@/services/query.service.js\";\nimport { QueryStreamService } from \"@/services/query-stream.service.js\";\n\nexport const createQueryRouter = (\n\tagent: AINAgent,\n\tallowStream = false,\n): Router => {\n\tconst router = Router();\n\n\tconst queryService = new QueryService(\n\t\tagent.modelModule,\n\t\tagent.a2aModule,\n\t\tagent.mcpModule,\n\t\tagent.memoryModule,\n\t\tagent.manifest.prompts,\n\t);\n\n\tlet queryStreamService: QueryStreamService | undefined;\n\n\tif (allowStream) {\n\t\tqueryStreamService = new QueryStreamService(\n\t\t\tagent.modelModule,\n\t\t\tagent.a2aModule,\n\t\t\tagent.mcpModule,\n\t\t\tagent.memoryModule,\n\t\t\tagent.manifest.prompts,\n\t\t);\n\t}\n\n\tconst queryController = new QueryController(queryService, queryStreamService);\n\trouter.post(\"/\", queryController.handleQueryRequest);\n\n\tif (allowStream) {\n\t\trouter.post(\"/stream\", queryController.handleQueryStreamRequest);\n\t}\n\n\treturn router;\n};\n"]}
1
+ {"version":3,"sources":["/Users/shyun/comcom/ain-agent/ain-adk/dist/cjs/chunk-W5VM75PL.cjs","../../src/routes/query.routes.ts"],"names":[],"mappings":"AAAA;AACE;AACF,wDAA6B;AAC7B;AACE;AACF,wDAA6B;AAC7B;AACE;AACF,wDAA6B;AAC7B;AACA;ACVA,kCAAuB;AAMhB,IAAM,kBAAA,EAAoB,CAChC,KAAA,EACA,YAAA,EAAc,KAAA,EAAA,GACF;AACZ,EAAA,MAAM,OAAA,EAAS,6BAAA,CAAO;AAEtB,EAAA,MAAM,aAAA,EAAe,IAAI,mCAAA;AAAA,IACxB,KAAA,CAAM,WAAA;AAAA,IACN,KAAA,CAAM,SAAA;AAAA,IACN,KAAA,CAAM,SAAA;AAAA,IACN,KAAA,CAAM,YAAA;AAAA,IACN,KAAA,CAAM,QAAA,CAAS;AAAA,EAChB,CAAA;AAEA,EAAA,IAAI,kBAAA;AAEJ,EAAA,GAAA,CAAI,WAAA,EAAa;AAChB,IAAA,mBAAA,EAAqB,IAAI,yCAAA;AAAA,MACxB,KAAA,CAAM,WAAA;AAAA,MACN,KAAA,CAAM,SAAA;AAAA,MACN,KAAA,CAAM,SAAA;AAAA,MACN,KAAA,CAAM,YAAA;AAAA,MACN,KAAA,CAAM,QAAA,CAAS;AAAA,IAChB,CAAA;AAAA,EACD;AAEA,EAAA,MAAM,gBAAA,EAAkB,IAAI,sCAAA,CAAgB,YAAA,EAAc,kBAAkB,CAAA;AAC5E,EAAA,MAAA,CAAO,IAAA,CAAK,GAAA,EAAK,eAAA,CAAgB,kBAAkB,CAAA;AAEnD,EAAA,GAAA,CAAI,WAAA,EAAa;AAChB,IAAA,MAAA,CAAO,IAAA,CAAK,SAAA,EAAW,eAAA,CAAgB,wBAAwB,CAAA;AAAA,EAChE;AAEA,EAAA,OAAO,MAAA;AACR,CAAA;ADFA;AACA;AACE;AACF,8CAAC","file":"/Users/shyun/comcom/ain-agent/ain-adk/dist/cjs/chunk-W5VM75PL.cjs","sourcesContent":[null,"import { Router } from \"express\";\nimport { QueryController } from \"@/controllers/query.controller.js\";\nimport type { AINAgent } from \"@/index.js\";\nimport { QueryService } from \"@/services/query.service.js\";\nimport { QueryStreamService } from \"@/services/query-stream.service.js\";\n\nexport const createQueryRouter = (\n\tagent: AINAgent,\n\tallowStream = false,\n): Router => {\n\tconst router = Router();\n\n\tconst queryService = new QueryService(\n\t\tagent.modelModule,\n\t\tagent.a2aModule,\n\t\tagent.mcpModule,\n\t\tagent.memoryModule,\n\t\tagent.manifest.prompts,\n\t);\n\n\tlet queryStreamService: QueryStreamService | undefined;\n\n\tif (allowStream) {\n\t\tqueryStreamService = new QueryStreamService(\n\t\t\tagent.modelModule,\n\t\t\tagent.a2aModule,\n\t\t\tagent.mcpModule,\n\t\t\tagent.memoryModule,\n\t\t\tagent.manifest.prompts,\n\t\t);\n\t}\n\n\tconst queryController = new QueryController(queryService, queryStreamService);\n\trouter.post(\"/\", queryController.handleQueryRequest);\n\n\tif (allowStream) {\n\t\trouter.post(\"/stream\", queryController.handleQueryStreamRequest);\n\t}\n\n\treturn router;\n};\n"]}
@@ -1,12 +1,12 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
- var _chunk55IME4BGcjs = require('./chunk-55IME4BG.cjs');
3
+ var _chunkMCDRCKR6cjs = require('./chunk-MCDRCKR6.cjs');
4
4
 
5
5
 
6
- var _chunkKE7SL3H6cjs = require('./chunk-KE7SL3H6.cjs');
6
+ var _chunkICFTUZP5cjs = require('./chunk-ICFTUZP5.cjs');
7
7
 
8
8
 
9
- var _chunkICFTUZP5cjs = require('./chunk-ICFTUZP5.cjs');
9
+ var _chunkOKRBMMK2cjs = require('./chunk-OKRBMMK2.cjs');
10
10
 
11
11
  // src/routes/a2a.routes.ts
12
12
  var _server = require('@a2a-js/sdk/server');
@@ -14,14 +14,14 @@ var _express = require('express');
14
14
  var createA2ARouter = (agent) => {
15
15
  const router = _express.Router.call(void 0, );
16
16
  const taskStore = new (0, _server.InMemoryTaskStore)();
17
- const queryService = new (0, _chunkKE7SL3H6cjs.QueryService)(
17
+ const queryStreamService = new (0, _chunkMCDRCKR6cjs.QueryStreamService)(
18
18
  agent.modelModule,
19
19
  agent.a2aModule,
20
20
  agent.mcpModule,
21
21
  agent.memoryModule,
22
22
  agent.manifest.prompts
23
23
  );
24
- const a2aService = new (0, _chunk55IME4BGcjs.A2AService)(queryService);
24
+ const a2aService = new (0, _chunkOKRBMMK2cjs.A2AService)(queryStreamService);
25
25
  const a2aController = new (0, _chunkICFTUZP5cjs.A2AController)(
26
26
  a2aService,
27
27
  taskStore,
@@ -34,4 +34,4 @@ var createA2ARouter = (agent) => {
34
34
 
35
35
 
36
36
  exports.createA2ARouter = createA2ARouter;
37
- //# sourceMappingURL=chunk-JXKLEQD6.cjs.map
37
+ //# sourceMappingURL=chunk-WUOME625.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/Users/shyun/comcom/ain-agent/ain-adk/dist/cjs/chunk-WUOME625.cjs","../../src/routes/a2a.routes.ts"],"names":[],"mappings":"AAAA;AACE;AACF,wDAA6B;AAC7B;AACE;AACF,wDAA6B;AAC7B;AACE;AACF,wDAA6B;AAC7B;AACA;ACVA,4CAAkC;AAClC,kCAAuB;AAchB,IAAM,gBAAA,EAAkB,CAAC,KAAA,EAAA,GAA4B;AAC3D,EAAA,MAAM,OAAA,EAAS,6BAAA,CAAO;AAGtB,EAAA,MAAM,UAAA,EAAY,IAAI,8BAAA,CAAkB,CAAA;AACxC,EAAA,MAAM,mBAAA,EAAqB,IAAI,yCAAA;AAAA,IAC9B,KAAA,CAAM,WAAA;AAAA,IACN,KAAA,CAAM,SAAA;AAAA,IACN,KAAA,CAAM,SAAA;AAAA,IACN,KAAA,CAAM,YAAA;AAAA,IACN,KAAA,CAAM,QAAA,CAAS;AAAA,EAChB,CAAA;AACA,EAAA,MAAM,WAAA,EAAa,IAAI,iCAAA,CAAW,kBAAkB,CAAA;AACpD,EAAA,MAAM,cAAA,EAAgB,IAAI,oCAAA;AAAA,IACzB,UAAA;AAAA,IACA,SAAA;AAAA,IACA,KAAA,CAAM;AAAA,EACP,CAAA;AAGA,EAAA,MAAA,CAAO,IAAA,CAAK,GAAA,EAAK,aAAA,CAAc,gBAAgB,CAAA;AAE/C,EAAA,OAAO,MAAA;AACR,CAAA;ADNA;AACA;AACE;AACF,0CAAC","file":"/Users/shyun/comcom/ain-agent/ain-adk/dist/cjs/chunk-WUOME625.cjs","sourcesContent":[null,"import { InMemoryTaskStore } from \"@a2a-js/sdk/server\";\nimport { Router } from \"express\";\nimport type { AINAgent } from \"@/index.js\";\nimport { QueryStreamService } from \"@/services/query-stream.service.js\";\nimport { A2AController } from \"../controllers/a2a.controller.js\";\nimport { A2AService } from \"../services/a2a.service.js\";\n\n/**\n * Creates and configures the A2A router.\n * This function is a \"composition root\" for the A2A feature,\n * creating and injecting all necessary dependencies.\n * @param intentAnalyzer The core intent analyzer.\n * @param agentCard The agent's card.\n * @returns An Express Router instance.\n */\nexport const createA2ARouter = (agent: AINAgent): Router => {\n\tconst router = Router();\n\n\t// 1. Create dependencies for the A2A feature\n\tconst taskStore = new InMemoryTaskStore();\n\tconst queryStreamService = new QueryStreamService(\n\t\tagent.modelModule,\n\t\tagent.a2aModule,\n\t\tagent.mcpModule,\n\t\tagent.memoryModule,\n\t\tagent.manifest.prompts,\n\t);\n\tconst a2aService = new A2AService(queryStreamService);\n\tconst a2aController = new A2AController(\n\t\ta2aService,\n\t\ttaskStore,\n\t\tagent.generateAgentCard,\n\t);\n\n\t// 2. Define the route\n\trouter.post(\"/\", a2aController.handleA2ARequest);\n\n\treturn router;\n};\n"]}
@@ -83,6 +83,7 @@ Please select and answer the most appropriate intent name from the available int
83
83
  * @param query - The user's input query
84
84
  * @param threadId - Thread identifier for context
85
85
  * @param thread - Previous conversation history
86
+ * @param intent - Optional detected intent with custom prompt
86
87
  * @returns Object containing process steps and final response
87
88
  */
88
89
  async intentFulfilling(query, threadId, thread, intent) {
@@ -121,10 +122,6 @@ ${_optionalChain([intent, 'optionalAccess', _8 => _8.prompt]) || ""}
121
122
  _chunk466ED5WNcjs.loggers.intent.debug("content", { content });
122
123
  _chunk466ED5WNcjs.loggers.intent.debug("tool_calls", { ...toolCalls });
123
124
  if (toolCalls) {
124
- const messagePayload = _optionalChain([this, 'access', _9 => _9.a2aModule, 'optionalAccess', _10 => _10.getMessagePayload, 'call', _11 => _11(
125
- query,
126
- threadId
127
- )]);
128
125
  for (const toolCall of toolCalls) {
129
126
  const toolName = toolCall.name;
130
127
  const selectedTool = tools.filter((tool) => tool.id === toolName)[0];
@@ -139,7 +136,7 @@ ${_optionalChain([intent, 'optionalAccess', _8 => _8.prompt]) || ""}
139
136
  } else if (this.a2aModule && selectedTool.protocol === "A2A" /* A2A */) {
140
137
  toolResult = await this.a2aModule.useTool(
141
138
  selectedTool,
142
- messagePayload,
139
+ query,
143
140
  threadId
144
141
  );
145
142
  } else {
@@ -195,28 +192,30 @@ ${_optionalChain([intent, 'optionalAccess', _8 => _8.prompt]) || ""}
195
192
  * Main entry point for processing user queries.
196
193
  *
197
194
  * Handles the complete query lifecycle:
198
- * 1. Loads thread history from memory
195
+ * 1. Loads or creates thread from memory
199
196
  * 2. Detects intent from the query
200
197
  * 3. Fulfills the intent with AI response
201
198
  * 4. Updates conversation history
202
199
  *
203
- * @param type - The type of thread (e.g., chat, workflow)
204
- * @param userId - The user's unique identifier
205
- * @param threadId - Unique thread identifier
200
+ * @param threadMetadata - Metadata containing type, userId, and optional threadId
201
+ * @param threadMetadata.type - The type of thread (e.g., chat, workflow)
202
+ * @param threadMetadata.userId - The user's unique identifier
203
+ * @param threadMetadata.threadId - Optional thread identifier
206
204
  * @param query - The user's input query
205
+ * @returns Promise resolving to object with content property containing the response
207
206
  */
208
207
  async handleQuery(threadMetadata, query) {
209
208
  const { type, userId } = threadMetadata;
210
209
  const queryStartAt = Date.now();
211
- const threadMemory = _optionalChain([this, 'access', _12 => _12.memoryModule, 'optionalAccess', _13 => _13.getThreadMemory, 'call', _14 => _14()]);
210
+ const threadMemory = _optionalChain([this, 'access', _9 => _9.memoryModule, 'optionalAccess', _10 => _10.getThreadMemory, 'call', _11 => _11()]);
212
211
  let threadId = threadMetadata.threadId;
213
212
  let thread;
214
213
  if (threadId) {
215
- thread = await _optionalChain([threadMemory, 'optionalAccess', _15 => _15.getThread, 'call', _16 => _16(userId, threadId)]);
214
+ thread = await _optionalChain([threadMemory, 'optionalAccess', _12 => _12.getThread, 'call', _13 => _13(userId, threadId)]);
216
215
  } else {
217
216
  threadId = _crypto.randomUUID.call(void 0, );
218
217
  const title = await this.generateTitle(query);
219
- const metadata = await _optionalChain([threadMemory, 'optionalAccess', _17 => _17.createThread, 'call', _18 => _18(type, userId, threadId, title)]) || {
218
+ const metadata = await _optionalChain([threadMemory, 'optionalAccess', _14 => _14.createThread, 'call', _15 => _15(type, userId, threadId, title)]) || {
220
219
  type,
221
220
  threadId,
222
221
  title,
@@ -226,7 +225,7 @@ ${_optionalChain([intent, 'optionalAccess', _8 => _8.prompt]) || ""}
226
225
  }
227
226
  const intent = await this.intentTriggering(query, thread);
228
227
  const result = await this.intentFulfilling(query, threadId, thread, intent);
229
- await _optionalChain([threadMemory, 'optionalAccess', _19 => _19.addMessagesToThread, 'call', _20 => _20(userId, threadId, [
228
+ await _optionalChain([threadMemory, 'optionalAccess', _16 => _16.addMessagesToThread, 'call', _17 => _17(userId, threadId, [
230
229
  {
231
230
  role: "USER" /* USER */,
232
231
  timestamp: queryStartAt,
@@ -245,4 +244,4 @@ ${_optionalChain([intent, 'optionalAccess', _8 => _8.prompt]) || ""}
245
244
 
246
245
 
247
246
  exports.QueryService = QueryService;
248
- //# sourceMappingURL=chunk-CU5MOHJU.cjs.map
247
+ //# sourceMappingURL=chunk-ZPYMLCQZ.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/Users/shyun/comcom/ain-agent/ain-adk/dist/cjs/chunk-ZPYMLCQZ.cjs","../../src/services/query.service.ts"],"names":["intent"],"mappings":"AAAA;AACE;AACF,wDAA6B;AAC7B;AACA;ACJA,gCAA2B;AA8BpB,IAAM,aAAA,EAAN,MAAmB;AAAA,EACjB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAER,WAAA,CACC,WAAA,EACA,SAAA,EACA,SAAA,EACA,YAAA,EACA,OAAA,EACC;AACD,IAAA,IAAA,CAAK,YAAA,EAAc,WAAA;AACnB,IAAA,IAAA,CAAK,UAAA,EAAY,SAAA;AACjB,IAAA,IAAA,CAAK,UAAA,EAAY,SAAA;AACjB,IAAA,IAAA,CAAK,aAAA,EAAe,YAAA;AACpB,IAAA,IAAA,CAAK,QAAA,EAAU,OAAA;AAAA,EAChB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASA,MAAc,gBAAA,CACb,KAAA,EACA,MAAA,EAC8B;AAC9B,IAAA,MAAM,cAAA,EAAgB,IAAA,CAAK,WAAA,CAAY,QAAA,CAAS,CAAA;AAChD,IAAA,MAAM,aAAA,kBAAe,IAAA,mBAAK,YAAA,6BAAc,eAAA,mBAAgB,GAAA;AACxD,IAAA,GAAA,CAAI,CAAC,YAAA,EAAc;AAClB,MAAA,OAAO,KAAA,CAAA;AAAA,IACR;AAGA,IAAA,MAAM,QAAA,EAAU,MAAM,YAAA,CAAa,WAAA,CAAY,CAAA;AAE/C,IAAA,GAAA,CAAI,OAAA,CAAQ,OAAA,IAAW,CAAA,EAAG;AACzB,MAAA,yBAAA,CAAQ,MAAA,CAAO,IAAA,CAAK,iBAAiB,CAAA;AACrC,MAAA,OAAO,KAAA,CAAA;AAAA,IACR;AAEA,IAAA,MAAM,WAAA,EAAa,OAAA,CACjB,GAAA,CAAI,CAACA,OAAAA,EAAAA,GAAW,CAAA,EAAA,EAAKA,OAAAA,CAAO,IAAI,CAAA,EAAA,EAAKA,OAAAA,CAAO,WAAW,CAAA,CAAA;AAOvC,IAAA;AAOT,MAAA;AAGF,MAAA;AAC0B,MAAA;AAEpB,IAAA;AAEQ,IAAA;AAAA;AAAA;AAGX;AAAA;AAAA;AAAA,qFAAA;AAKU,IAAA;AAAA;AAEL;AAAA;AAEW,qBAAA;AAAA;AAAA;AAAA,yFAAA;AAKsB,IAAA;AACxC,MAAA;AACP,MAAA;AACA,IAAA;AAEkD,IAAA;AAC5B,IAAA;AACc,MAAA;AACrC,IAAA;AACyC,IAAA;AACmB,IAAA;AAC/C,IAAA;AACoC,MAAA;AACjD,IAAA;AACO,IAAA;AACR,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAsBE,EAAA;AAEoB,IAAA;AACmB,SAAA;AAAA;AAEf;AAAA;AAEC;AAAA;AAEN;AAAA,IAAA;AAK4B,IAAA;AACA,IAAA;AAC/C,MAAA;AACA,MAAA;AACgC,MAAA;AAChC,IAAA;AAE4B,IAAA;AACT,IAAA;AACoB,MAAA;AACxC,IAAA;AACoB,IAAA;AAC4B,MAAA;AAChD,IAAA;AAC6D,IAAA;AAE9B,IAAA;AACZ,IAAA;AAEN,IAAA;AACyB,MAAA;AACpC,QAAA;AACA,QAAA;AACD,MAAA;AAE6C,MAAA;AAEd,MAAA;AAEY,MAAA;AACQ,MAAA;AAEpC,MAAA;AACoB,QAAA;AACP,UAAA;AACyC,UAAA;AAElD,UAAA;AAIf,UAAA;AACyB,YAAA;AAGkC,YAAA;AAC1B,YAAA;AACjC,cAAA;AACA,cAAA;AACD,YAAA;AAIC,UAAA;AACiC,YAAA;AACjC,cAAA;AACA,cAAA;AACA,cAAA;AACD,YAAA;AACM,UAAA;AAES,YAAA;AACkC,cAAA;AACjD,YAAA;AACA,YAAA;AACD,UAAA;AAEiD,UAAA;AAEtB,UAAA;AACsB,UAAA;AAClD,QAAA;AACmB,MAAA;AACK,QAAA;AACT,QAAA;AACf,QAAA;AACD,MAAA;AACD,IAAA;AAEoB,IAAA;AACW,MAAA;AACpB,MAAA;AACX,IAAA;AAEO,IAAA;AACR,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAS4D,EAAA;AACrC,IAAA;AAClB,IAAA;AAC6C,MAAA;AACA,MAAA;AAC/C,QAAA;AACc,QAAA;AAAA;AAAA;AAAA,oFAAA;AAId,MAAA;AACkD,MAAA;AACxB,MAAA;AACZ,IAAA;AACgC,MAAA;AAC9C,QAAA;AACA,QAAA;AACA,MAAA;AACM,MAAA;AACR,IAAA;AACD,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAyBE,EAAA;AAEwB,IAAA;AACK,IAAA;AAC0B,IAAA;AAE1B,IAAA;AAC1B,IAAA;AAEU,IAAA;AAC0C,MAAA;AACjD,IAAA;AACgB,MAAA;AACsB,MAAA;AAI1C,MAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACoB,QAAA;AACrB,MAAA;AACoD,MAAA;AACtD,IAAA;AAGwD,IAAA;AAGkB,IAAA;AAChB,IAAA;AACzD,MAAA;AACC,QAAA;AACW,QAAA;AAC6B,QAAA;AACzC,MAAA;AACA,MAAA;AACC,QAAA;AACoB,QAAA;AAC8B,QAAA;AACnD,MAAA;AACA,IAAA;AAEiC,IAAA;AACnC,EAAA;AACD;AD9G0F;AACA;AACA;AACA","file":"/Users/shyun/comcom/ain-agent/ain-adk/dist/cjs/chunk-ZPYMLCQZ.cjs","sourcesContent":[null,"import { randomUUID } from \"node:crypto\";\nimport type {\n\tA2AModule,\n\tMCPModule,\n\tMemoryModule,\n\tModelModule,\n} from \"@/modules/index.js\";\nimport type { AinAgentPrompts } from \"@/types/agent.js\";\nimport {\n\ttype Intent,\n\tMessageRole,\n\ttype ThreadMetadata,\n\ttype ThreadObject,\n\ttype ThreadType,\n} 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 context.\n\t *\n\t * @param query - The user's input query\n\t * @param thread - The thread history\n\t * @returns The detected intent\n\t */\n\tprivate async intentTriggering(\n\t\tquery: string,\n\t\tthread: ThreadObject | undefined,\n\t): Promise<Intent | undefined> {\n\t\tconst modelInstance = this.modelModule.getModel();\n\t\tconst intentMemory = this.memoryModule?.getIntentMemory();\n\t\tif (!intentMemory) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\t// 인텐트 목록 가져오기\n\t\tconst intents = await intentMemory.listIntents();\n\n\t\tif (intents.length === 0) {\n\t\t\tloggers.intent.warn(\"No intent found\");\n\t\t\treturn undefined;\n\t\t}\n\n\t\tconst intentList = intents\n\t\t\t.map((intent) => `- ${intent.name}: ${intent.description}`)\n\t\t\t.join(\"\\n\");\n\n\t\t// Convert session history to a string\n\t\tconst historyMessages = !thread\n\t\t\t? \"\"\n\t\t\t: Object.entries(thread.messages)\n\t\t\t\t\t.sort(([, a], [, b]) => a.timestamp - b.timestamp)\n\t\t\t\t\t.map(([chatId, chat]) => {\n\t\t\t\t\t\tconst role =\n\t\t\t\t\t\t\tchat.role === \"USER\"\n\t\t\t\t\t\t\t\t? \"User\"\n\t\t\t\t\t\t\t\t: chat.role === \"MODEL\"\n\t\t\t\t\t\t\t\t\t? \"Assistant\"\n\t\t\t\t\t\t\t\t\t: \"System\";\n\t\t\t\t\t\tconst content = Array.isArray(chat.content.parts)\n\t\t\t\t\t\t\t? chat.content.parts.join(\" \")\n\t\t\t\t\t\t\t: String(chat.content.parts);\n\t\t\t\t\t\treturn `${role}: \"\"\"${content}\"\"\"`;\n\t\t\t\t\t})\n\t\t\t\t\t.join(\"\\n\");\n\n\t\tconst systemPrompt = `You are an expert in accurately identifying user intentions.\n\nAvailable intent list:\n${intentList}\n\nPlease select and answer only from the above intent list. \nPlease return only the exact intent name without any additional explanations or text.`;\n\n\t\tconst userMessage = `The following is the conversation history with the user:\n\n${historyMessages}\n\nLast user question: \"${query}\"\n\nBased on the above conversation history, please determine what the intention of the last user question is. \nPlease select and answer the most appropriate intent name from the available intent list.`;\n\n\t\tconst messages = modelInstance.generateMessages({\n\t\t\tquery: userMessage,\n\t\t\tsystemPrompt,\n\t\t});\n\n\t\tconst response = await modelInstance.fetch(messages);\n\t\tif (!response.content) {\n\t\t\tthrow new Error(\"No intent detected\");\n\t\t}\n\t\tconst intentName = response.content.trim();\n\t\tconst intent = await intentMemory.getIntentByName(intentName);\n\t\tif (!intent) {\n\t\t\tthrow new Error(`No intent found: ${intentName}`);\n\t\t}\n\t\treturn intent;\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 threadId - Thread identifier for context\n\t * @param thread - Previous conversation history\n\t * @param intent - Optional detected intent with custom prompt\n\t * @returns Object containing process steps and final response\n\t */\n\tprivate async intentFulfilling(\n\t\tquery: string,\n\t\tthreadId: string,\n\t\tthread?: ThreadObject,\n\t\tintent?: Intent,\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${intent?.prompt || \"\"}\n `;\n\t\t// NOTE(haechan@comcom.ai):\n\t\t// When the `intent.llm` is guaranteed to be consistent, it will be used as a parameter for getModel\n\t\t// const model_name = intent?.llm || \"gpt-4o\";\n\t\tconst modelInstance = this.modelModule.getModel();\n\t\tconst messages = modelInstance.generateMessages({\n\t\t\tquery,\n\t\t\tthread,\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\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\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\tfor (const toolCall of toolCalls) {\n\t\t\t\t\tconst toolName = toolCall.name;\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\ttoolResult = 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} 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\ttoolResult = await this.a2aModule.useTool(\n\t\t\t\t\t\t\tselectedTool as IA2ATool,\n\t\t\t\t\t\t\tquery,\n\t\t\t\t\t\t\tthreadId,\n\t\t\t\t\t\t);\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\tbreak;\n\t\t\t}\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 * Generates a title for the conversation based on the query.\n\t *\n\t * @param query - The user's input query\n\t * @returns Promise resolving to a generated title\n\t */\n\n\tprivate async generateTitle(query: string): Promise<string> {\n\t\tconst DEFAULT_TITLE = \"New Chat\";\n\t\ttry {\n\t\t\tconst modelInstance = this.modelModule.getModel();\n\t\t\tconst messages = modelInstance.generateMessages({\n\t\t\t\tquery,\n\t\t\t\tsystemPrompt: `You are a helpful assistant that generates titles for conversations.\n Please analyze the user's query and create a concise title that accurately reflects the conversation's core topic.\n The title must be no more than 5 words long.\n Respond with only the title. Do not include any punctuation or extra explanations.`,\n\t\t\t});\n\t\t\tconst response = await modelInstance.fetch(messages);\n\t\t\treturn response.content || DEFAULT_TITLE;\n\t\t} catch (error) {\n\t\t\tloggers.intent.error(\"Error generating title\", {\n\t\t\t\terror,\n\t\t\t\tquery,\n\t\t\t});\n\t\t\treturn DEFAULT_TITLE;\n\t\t}\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 or creates thread 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 threadMetadata - Metadata containing type, userId, and optional threadId\n\t * @param threadMetadata.type - The type of thread (e.g., chat, workflow)\n\t * @param threadMetadata.userId - The user's unique identifier\n\t * @param threadMetadata.threadId - Optional thread identifier\n\t * @param query - The user's input query\n\t * @returns Promise resolving to object with content property containing the response\n\t */\n\tpublic async handleQuery(\n\t\tthreadMetadata: {\n\t\t\ttype: ThreadType;\n\t\t\tuserId: string;\n\t\t\tthreadId?: string;\n\t\t},\n\t\tquery: string,\n\t) {\n\t\t// 1. Load thread with threadId\n\t\tconst { type, userId } = threadMetadata;\n\t\tconst queryStartAt = Date.now();\n\t\tconst threadMemory = this.memoryModule?.getThreadMemory();\n\n\t\tlet threadId = threadMetadata.threadId;\n\t\tlet thread: ThreadObject | undefined;\n\n\t\tif (threadId) {\n\t\t\tthread = await threadMemory?.getThread(userId, threadId);\n\t\t} else {\n\t\t\tthreadId = randomUUID();\n\t\t\tconst title = await this.generateTitle(query);\n\n\t\t\tconst metadata =\n\t\t\t\t(await threadMemory?.createThread(type, userId, threadId, title)) ||\n\t\t\t\t({\n\t\t\t\t\ttype,\n\t\t\t\t\tthreadId,\n\t\t\t\t\ttitle,\n\t\t\t\t\tupdatedAt: Date.now(),\n\t\t\t\t} as ThreadMetadata);\n\t\t\tloggers.intent.info(\"Create new thread\", { metadata });\n\t\t}\n\n\t\t// 2. intent triggering\n\t\tconst intent = await this.intentTriggering(query, thread);\n\n\t\t// 3. intent fulfillment\n\t\tconst result = await this.intentFulfilling(query, threadId, thread, intent);\n\t\tawait threadMemory?.addMessagesToThread(userId, threadId, [\n\t\t\t{\n\t\t\t\trole: MessageRole.USER,\n\t\t\t\ttimestamp: queryStartAt,\n\t\t\t\tcontent: { type: \"text\", parts: [query] },\n\t\t\t},\n\t\t\t{\n\t\t\t\trole: MessageRole.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"]}
@@ -1,7 +1,7 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
- var _chunkMIWLK57Kcjs = require('../../chunk-MIWLK57K.cjs');
3
+ var _chunkA2I7D6JWcjs = require('../../chunk-A2I7D6JW.cjs');
4
4
 
5
5
 
6
- exports.ThreadApiController = _chunkMIWLK57Kcjs.ThreadApiController;
6
+ exports.ThreadApiController = _chunkA2I7D6JWcjs.ThreadApiController;
7
7
  //# sourceMappingURL=threads.api.controller.cjs.map
@@ -1,21 +1,21 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
- var _chunk3J3ORQOGcjs = require('../chunk-3J3ORQOG.cjs');
3
+ var _chunkV5RSN2DYcjs = require('../chunk-V5RSN2DY.cjs');
4
4
 
5
5
 
6
- var _chunkICFTUZP5cjs = require('../chunk-ICFTUZP5.cjs');
7
- require('../chunk-466ED5WN.cjs');
6
+ var _chunkA2I7D6JWcjs = require('../chunk-A2I7D6JW.cjs');
8
7
 
9
8
 
10
- var _chunkV5RSN2DYcjs = require('../chunk-V5RSN2DY.cjs');
9
+ var _chunkVLMHDHXTcjs = require('../chunk-VLMHDHXT.cjs');
11
10
 
12
11
 
13
- var _chunkMIWLK57Kcjs = require('../chunk-MIWLK57K.cjs');
14
- require('../chunk-DX2JH3FJ.cjs');
12
+ var _chunkICFTUZP5cjs = require('../chunk-ICFTUZP5.cjs');
13
+ require('../chunk-QHQLU7BI.cjs');
14
+ require('../chunk-466ED5WN.cjs');
15
15
 
16
16
 
17
17
 
18
18
 
19
19
 
20
- exports.A2AController = _chunkICFTUZP5cjs.A2AController; exports.ModelApiController = _chunkV5RSN2DYcjs.ModelApiController; exports.QueryController = _chunk3J3ORQOGcjs.QueryController; exports.ThreadApiController = _chunkMIWLK57Kcjs.ThreadApiController;
20
+ exports.A2AController = _chunkICFTUZP5cjs.A2AController; exports.ModelApiController = _chunkV5RSN2DYcjs.ModelApiController; exports.QueryController = _chunkVLMHDHXTcjs.QueryController; exports.ThreadApiController = _chunkA2I7D6JWcjs.ThreadApiController;
21
21
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/shyun/comcom/ain-agent/ain-adk/dist/cjs/controllers/index.cjs"],"names":[],"mappings":"AAAA;AACE;AACF,yDAA8B;AAC9B;AACE;AACF,yDAA8B;AAC9B,iCAA8B;AAC9B;AACE;AACF,yDAA8B;AAC9B;AACE;AACF,yDAA8B;AAC9B,iCAA8B;AAC9B;AACE;AACA;AACA;AACA;AACF,6PAAC","file":"/Users/shyun/comcom/ain-agent/ain-adk/dist/cjs/controllers/index.cjs"}
1
+ {"version":3,"sources":["/Users/shyun/comcom/ain-agent/ain-adk/dist/cjs/controllers/index.cjs"],"names":[],"mappings":"AAAA;AACE;AACF,yDAA8B;AAC9B;AACE;AACF,yDAA8B;AAC9B;AACE;AACF,yDAA8B;AAC9B;AACE;AACF,yDAA8B;AAC9B,iCAA8B;AAC9B,iCAA8B;AAC9B;AACE;AACA;AACA;AACA;AACF,6PAAC","file":"/Users/shyun/comcom/ain-agent/ain-adk/dist/cjs/controllers/index.cjs"}
@@ -1,8 +1,8 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
- var _chunk3J3ORQOGcjs = require('../chunk-3J3ORQOG.cjs');
4
- require('../chunk-DX2JH3FJ.cjs');
3
+ var _chunkVLMHDHXTcjs = require('../chunk-VLMHDHXT.cjs');
4
+ require('../chunk-QHQLU7BI.cjs');
5
5
 
6
6
 
7
- exports.QueryController = _chunk3J3ORQOGcjs.QueryController;
7
+ exports.QueryController = _chunkVLMHDHXTcjs.QueryController;
8
8
  //# sourceMappingURL=query.controller.cjs.map
@@ -1,35 +1,35 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; } var _class;require('./chunk-SSSDO7PA.cjs');
2
2
 
3
3
 
4
- var _chunkRX72NXXRcjs = require('./chunk-RX72NXXR.cjs');
5
- require('./chunk-AIE3SVG7.cjs');
6
- require('./chunk-3J3ORQOG.cjs');
4
+ var _chunkFRWC3FQ4cjs = require('./chunk-FRWC3FQ4.cjs');
5
+ require('./chunk-X46GJS7X.cjs');
6
+ require('./chunk-7PZP7YSA.cjs');
7
+
7
8
 
9
+ var _chunkCHC3HECEcjs = require('./chunk-CHC3HECE.cjs');
10
+ require('./chunk-PAWGHHSY.cjs');
11
+ require('./chunk-V5RSN2DY.cjs');
12
+ require('./chunk-A2I7D6JW.cjs');
13
+ require('./chunk-VLMHDHXT.cjs');
8
14
 
9
- var _chunkLRBRG2DScjs = require('./chunk-LRBRG2DS.cjs');
15
+
16
+ var _chunkE35E4LQYcjs = require('./chunk-E35E4LQY.cjs');
10
17
 
11
18
 
12
19
  var _chunkNYYEZ4ERcjs = require('./chunk-NYYEZ4ER.cjs');
13
20
 
14
21
 
15
- var _chunkHT3PACCLcjs = require('./chunk-HT3PACCL.cjs');
16
- require('./chunk-55IME4BG.cjs');
17
- require('./chunk-CU5MOHJU.cjs');
18
- require('./chunk-M4MYRCSF.cjs');
19
- require('./chunk-LPXYZH22.cjs');
22
+ var _chunkHCN6JEJAcjs = require('./chunk-HCN6JEJA.cjs');
23
+ require('./chunk-OKRBMMK2.cjs');
24
+ require('./chunk-A2ANDQNY.cjs');
20
25
  require('./chunk-ICFTUZP5.cjs');
26
+ require('./chunk-QHQLU7BI.cjs');
27
+ require('./chunk-J7GCQY3S.cjs');
28
+ require('./chunk-LPXYZH22.cjs');
21
29
 
22
30
 
23
31
  var _chunk466ED5WNcjs = require('./chunk-466ED5WN.cjs');
24
32
 
25
-
26
- var _chunk45G7LDK7cjs = require('./chunk-45G7LDK7.cjs');
27
- require('./chunk-X46GJS7X.cjs');
28
- require('./chunk-GB3ON7UV.cjs');
29
- require('./chunk-V5RSN2DY.cjs');
30
- require('./chunk-MIWLK57K.cjs');
31
- require('./chunk-DX2JH3FJ.cjs');
32
-
33
33
  // src/index.ts
34
34
  var _cors = require('cors'); var _cors2 = _interopRequireDefault(_cors);
35
35
  var _express = require('express'); var _express2 = _interopRequireDefault(_express);
@@ -578,6 +578,11 @@ var helmet = Object.assign(
578
578
 
579
579
  // src/index.ts
580
580
  var _httpstatuscodes = require('http-status-codes');
581
+
582
+ // package.json
583
+ var version = "0.2.2";
584
+
585
+ // src/index.ts
581
586
  var AINAgent = (_class = class {
582
587
  /** Express application instance */
583
588
 
@@ -599,8 +604,8 @@ var AINAgent = (_class = class {
599
604
  * @param modules.a2aModule - Optional module for A2A protocol support
600
605
  * @param modules.mcpModule - Optional module for MCP server connections
601
606
  * @param modules.memoryModule - Optional module for memory management
602
- * @param modules.folModule - Optional module for fol management
603
607
  * @param authScheme - Optional authentication middleware for securing endpoints
608
+ * @param allowStream - Enable streaming query endpoints (default: false)
604
609
  */
605
610
  constructor(manifest, modules, authScheme, allowStream = false) {;_class.prototype.__init.call(this);_class.prototype.__init2.call(this);
606
611
  this.app = _express2.default.call(void 0, );
@@ -656,7 +661,8 @@ var AINAgent = (_class = class {
656
661
  return {
657
662
  name: this.manifest.name,
658
663
  description: this.manifest.description,
659
- version: this.manifest.version,
664
+ version,
665
+ protocolVersion: "0.3.0",
660
666
  url: _url.toString(),
661
667
  capabilities: {
662
668
  streaming: true,
@@ -685,33 +691,41 @@ var AINAgent = (_class = class {
685
691
  * - /a2a/* - A2A protocol endpoints (only if valid URL is configured)
686
692
  */
687
693
  __init2() {this.initializeRoutes = (allowStream = false) => {
688
- const auth = new (0, _chunkLRBRG2DScjs.AuthMiddleware)(this.authScheme);
694
+ const auth = new (0, _chunkE35E4LQYcjs.AuthMiddleware)(this.authScheme);
689
695
  this.app.get("/", async (_, res) => {
690
- const { name, description, version } = this.manifest;
696
+ const { name, description } = this.manifest;
691
697
  res.status(200).send(
692
698
  `
693
- \u26A1 AIN Agent: ${name} v${version}<br/>
699
+ \u26A1 AIN Agent: ${name} with ain-adk v${version}<br/>
694
700
  ${description}<br/><br/>
695
701
  Agent status: Online and ready.
696
702
  `.trim()
697
703
  );
698
704
  });
699
- this.app.get("/.well-known/agent.json", async (_, res) => {
700
- try {
701
- const card = this.generateAgentCard();
702
- res.json(card);
703
- } catch (_error) {
704
- res.status(_httpstatuscodes.StatusCodes.NOT_FOUND).send("No agent card");
705
+ this.app.get(
706
+ [
707
+ "/.well-known/agent.json",
708
+ // ~v0.2.0
709
+ "/.well-known/agent-card.json"
710
+ // v0.3.0~
711
+ ],
712
+ async (_, res) => {
713
+ try {
714
+ const card = this.generateAgentCard();
715
+ res.json(card);
716
+ } catch (_error) {
717
+ res.status(_httpstatuscodes.StatusCodes.NOT_FOUND).send("No agent card");
718
+ }
705
719
  }
706
- });
720
+ );
707
721
  this.app.use(
708
722
  "/query",
709
723
  auth.middleware(),
710
- _chunkRX72NXXRcjs.createQueryRouter.call(void 0, this, allowStream)
724
+ _chunkCHC3HECEcjs.createQueryRouter.call(void 0, this, allowStream)
711
725
  );
712
- this.app.use("/api", auth.middleware(), _chunk45G7LDK7cjs.createApiRouter.call(void 0, this));
726
+ this.app.use("/api", auth.middleware(), _chunkFRWC3FQ4cjs.createApiRouter.call(void 0, this));
713
727
  if (this.isValidUrl(this.manifest.url)) {
714
- this.app.use("/a2a", _chunkHT3PACCLcjs.createA2ARouter.call(void 0, this));
728
+ this.app.use("/a2a", _chunkHCN6JEJAcjs.createA2ARouter.call(void 0, this));
715
729
  }
716
730
  }}
717
731
  /**