@ainetwork/adk 0.2.14 → 0.3.1

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 (326) hide show
  1. package/dist/cjs/chunk-2OXSV2VU.cjs +134 -0
  2. package/dist/cjs/chunk-2OXSV2VU.cjs.map +1 -0
  3. package/dist/cjs/chunk-2TNBBXQ3.cjs +129 -0
  4. package/dist/{esm/chunk-OKC7ARHK.js.map → cjs/chunk-2TNBBXQ3.cjs.map} +1 -1
  5. package/dist/cjs/chunk-2TOW46DI.cjs +246 -0
  6. package/dist/cjs/chunk-2TOW46DI.cjs.map +1 -0
  7. package/dist/cjs/chunk-35MIRD7Z.cjs +134 -0
  8. package/dist/cjs/chunk-35MIRD7Z.cjs.map +1 -0
  9. package/dist/cjs/chunk-37J4FFJ3.cjs +133 -0
  10. package/dist/cjs/chunk-37J4FFJ3.cjs.map +1 -0
  11. package/dist/cjs/chunk-3BPHCG6M.cjs +30 -0
  12. package/dist/cjs/chunk-3BPHCG6M.cjs.map +1 -0
  13. package/dist/cjs/chunk-3PTTQHU7.cjs +8 -0
  14. package/dist/cjs/chunk-3PTTQHU7.cjs.map +1 -0
  15. package/dist/cjs/chunk-3XJS5S3O.cjs +191 -0
  16. package/dist/cjs/chunk-3XJS5S3O.cjs.map +1 -0
  17. package/dist/cjs/chunk-43XI3NHI.cjs +43 -0
  18. package/dist/cjs/chunk-43XI3NHI.cjs.map +1 -0
  19. package/dist/cjs/chunk-46I7JH5C.cjs +63 -0
  20. package/dist/cjs/chunk-46I7JH5C.cjs.map +1 -0
  21. package/dist/cjs/chunk-4KL2BCDZ.cjs +43 -0
  22. package/dist/cjs/chunk-4KL2BCDZ.cjs.map +1 -0
  23. package/dist/cjs/chunk-4RPP5UAH.cjs +202 -0
  24. package/dist/cjs/chunk-4RPP5UAH.cjs.map +1 -0
  25. package/dist/cjs/chunk-4TO7EZ5J.cjs +133 -0
  26. package/dist/cjs/chunk-4TO7EZ5J.cjs.map +1 -0
  27. package/dist/cjs/chunk-5IEVTAT2.cjs +37 -0
  28. package/dist/cjs/chunk-5IEVTAT2.cjs.map +1 -0
  29. package/dist/cjs/chunk-67CP7NP7.cjs +132 -0
  30. package/dist/cjs/chunk-67CP7NP7.cjs.map +1 -0
  31. package/dist/cjs/chunk-7CCDDRLV.cjs +28 -0
  32. package/dist/cjs/chunk-7CCDDRLV.cjs.map +1 -0
  33. package/dist/cjs/chunk-7ELF6ICG.cjs +129 -0
  34. package/dist/cjs/chunk-7ELF6ICG.cjs.map +1 -0
  35. package/dist/cjs/chunk-7HBOMBZG.cjs +51 -0
  36. package/dist/cjs/chunk-7HBOMBZG.cjs.map +1 -0
  37. package/dist/cjs/chunk-7P4O537H.cjs +132 -0
  38. package/dist/cjs/chunk-7P4O537H.cjs.map +1 -0
  39. package/dist/cjs/chunk-7QIF3FVV.cjs +41 -0
  40. package/dist/cjs/chunk-7QIF3FVV.cjs.map +1 -0
  41. package/dist/cjs/chunk-7QXQYCZP.cjs +249 -0
  42. package/dist/cjs/chunk-7QXQYCZP.cjs.map +1 -0
  43. package/dist/cjs/chunk-AHNKY3JY.cjs +30 -0
  44. package/dist/cjs/chunk-AHNKY3JY.cjs.map +1 -0
  45. package/dist/cjs/chunk-AIUJ6CZR.cjs +37 -0
  46. package/dist/cjs/chunk-AIUJ6CZR.cjs.map +1 -0
  47. package/dist/cjs/chunk-AQXHOGJD.cjs +78 -0
  48. package/dist/cjs/chunk-AQXHOGJD.cjs.map +1 -0
  49. package/dist/cjs/chunk-ASEYNIPL.cjs +36 -0
  50. package/dist/cjs/chunk-ASEYNIPL.cjs.map +1 -0
  51. package/dist/cjs/chunk-AWHKDGXN.cjs +28 -0
  52. package/dist/cjs/chunk-AWHKDGXN.cjs.map +1 -0
  53. package/dist/cjs/chunk-CGD7CECK.cjs +129 -0
  54. package/dist/cjs/chunk-CGD7CECK.cjs.map +1 -0
  55. package/dist/cjs/chunk-CKIA6H2D.cjs +30 -0
  56. package/dist/cjs/chunk-CKIA6H2D.cjs.map +1 -0
  57. package/dist/cjs/chunk-CPZBDQ5D.cjs +28 -0
  58. package/dist/cjs/chunk-CPZBDQ5D.cjs.map +1 -0
  59. package/dist/cjs/chunk-DEWNBL5H.cjs +37 -0
  60. package/dist/cjs/chunk-DEWNBL5H.cjs.map +1 -0
  61. package/dist/cjs/chunk-DK57ZF33.cjs +28 -0
  62. package/dist/cjs/chunk-DK57ZF33.cjs.map +1 -0
  63. package/dist/cjs/chunk-DQIGZKKW.cjs +37 -0
  64. package/dist/cjs/chunk-DQIGZKKW.cjs.map +1 -0
  65. package/dist/cjs/chunk-EETXLYKA.cjs +28 -0
  66. package/dist/cjs/chunk-EETXLYKA.cjs.map +1 -0
  67. package/dist/cjs/chunk-F3A5E26D.cjs +115 -0
  68. package/dist/cjs/chunk-F3A5E26D.cjs.map +1 -0
  69. package/dist/cjs/chunk-FH44ANEI.cjs +134 -0
  70. package/dist/cjs/chunk-FH44ANEI.cjs.map +1 -0
  71. package/dist/cjs/chunk-FJ2JWXSL.cjs +40 -0
  72. package/dist/cjs/chunk-FJ2JWXSL.cjs.map +1 -0
  73. package/dist/cjs/chunk-G3BK3F7V.cjs +129 -0
  74. package/dist/cjs/chunk-G3BK3F7V.cjs.map +1 -0
  75. package/dist/cjs/chunk-G42JXC76.cjs +41 -0
  76. package/dist/cjs/chunk-G42JXC76.cjs.map +1 -0
  77. package/dist/cjs/chunk-GKXXTC6C.cjs +191 -0
  78. package/dist/cjs/chunk-GKXXTC6C.cjs.map +1 -0
  79. package/dist/cjs/chunk-GM3S5465.cjs +28 -0
  80. package/dist/cjs/chunk-GM3S5465.cjs.map +1 -0
  81. package/dist/cjs/chunk-GMCHHP5Z.cjs +37 -0
  82. package/dist/cjs/chunk-GMCHHP5Z.cjs.map +1 -0
  83. package/dist/cjs/chunk-HDZ5POWB.cjs +134 -0
  84. package/dist/cjs/chunk-HDZ5POWB.cjs.map +1 -0
  85. package/dist/cjs/chunk-HF2QUMQV.cjs +30 -0
  86. package/dist/cjs/chunk-HF2QUMQV.cjs.map +1 -0
  87. package/dist/cjs/chunk-HIL5SDJR.cjs +43 -0
  88. package/dist/cjs/chunk-HIL5SDJR.cjs.map +1 -0
  89. package/dist/cjs/chunk-HNKMBS3C.cjs +43 -0
  90. package/dist/cjs/chunk-HNKMBS3C.cjs.map +1 -0
  91. package/dist/cjs/chunk-I4ET55WI.cjs +36 -0
  92. package/dist/cjs/chunk-I4ET55WI.cjs.map +1 -0
  93. package/dist/cjs/chunk-ICNXY2NK.cjs +132 -0
  94. package/dist/cjs/chunk-ICNXY2NK.cjs.map +1 -0
  95. package/dist/cjs/chunk-ISQSPK4F.cjs +134 -0
  96. package/dist/cjs/chunk-ISQSPK4F.cjs.map +1 -0
  97. package/dist/cjs/chunk-J2FGGTF5.cjs +37 -0
  98. package/dist/cjs/chunk-J2FGGTF5.cjs.map +1 -0
  99. package/dist/cjs/chunk-J5GBTBSY.cjs +134 -0
  100. package/dist/cjs/chunk-J5GBTBSY.cjs.map +1 -0
  101. package/dist/cjs/chunk-K2W5TTBJ.cjs +28 -0
  102. package/dist/cjs/chunk-K2W5TTBJ.cjs.map +1 -0
  103. package/dist/cjs/chunk-K5LS7KNV.cjs +105 -0
  104. package/dist/cjs/chunk-K5LS7KNV.cjs.map +1 -0
  105. package/dist/cjs/chunk-K63YCRBA.cjs +105 -0
  106. package/dist/cjs/chunk-K63YCRBA.cjs.map +1 -0
  107. package/dist/cjs/chunk-KLSZEQ7H.cjs +281 -0
  108. package/dist/cjs/chunk-KLSZEQ7H.cjs.map +1 -0
  109. package/dist/cjs/chunk-L3PZU7OF.cjs +285 -0
  110. package/dist/cjs/chunk-L3PZU7OF.cjs.map +1 -0
  111. package/dist/cjs/chunk-L7QJRM2U.cjs +131 -0
  112. package/dist/cjs/chunk-L7QJRM2U.cjs.map +1 -0
  113. package/dist/cjs/chunk-LKVNLT2M.cjs +132 -0
  114. package/dist/cjs/chunk-LKVNLT2M.cjs.map +1 -0
  115. package/dist/cjs/chunk-M7K34W2H.cjs +134 -0
  116. package/dist/cjs/chunk-M7K34W2H.cjs.map +1 -0
  117. package/dist/cjs/chunk-MN47LTUO.cjs +37 -0
  118. package/dist/cjs/chunk-MN47LTUO.cjs.map +1 -0
  119. package/dist/cjs/chunk-MO3H4KHE.cjs +38 -0
  120. package/dist/cjs/chunk-MO3H4KHE.cjs.map +1 -0
  121. package/dist/cjs/chunk-NB6OID2Z.cjs +285 -0
  122. package/dist/cjs/chunk-NB6OID2Z.cjs.map +1 -0
  123. package/dist/cjs/chunk-NQUYHJ3J.cjs +115 -0
  124. package/dist/cjs/chunk-NQUYHJ3J.cjs.map +1 -0
  125. package/dist/cjs/chunk-NYDNXGKB.cjs +108 -0
  126. package/dist/cjs/chunk-NYDNXGKB.cjs.map +1 -0
  127. package/dist/cjs/chunk-OFUS74ON.cjs +36 -0
  128. package/dist/cjs/chunk-OFUS74ON.cjs.map +1 -0
  129. package/dist/cjs/chunk-OU5UB2HF.cjs +113 -0
  130. package/dist/cjs/chunk-OU5UB2HF.cjs.map +1 -0
  131. package/dist/cjs/chunk-PACFW2PR.cjs +37 -0
  132. package/dist/cjs/chunk-PACFW2PR.cjs.map +1 -0
  133. package/dist/cjs/chunk-PSHQ4OBL.cjs +41 -0
  134. package/dist/cjs/chunk-PSHQ4OBL.cjs.map +1 -0
  135. package/dist/cjs/chunk-QCYLIOXZ.cjs +43 -0
  136. package/dist/cjs/chunk-QCYLIOXZ.cjs.map +1 -0
  137. package/dist/cjs/chunk-QDX7LVBM.cjs +284 -0
  138. package/dist/cjs/chunk-QDX7LVBM.cjs.map +1 -0
  139. package/dist/cjs/chunk-QE7UAZY6.cjs +37 -0
  140. package/dist/cjs/chunk-QE7UAZY6.cjs.map +1 -0
  141. package/dist/cjs/chunk-QSBUV5WJ.cjs +108 -0
  142. package/dist/cjs/chunk-QSBUV5WJ.cjs.map +1 -0
  143. package/dist/cjs/chunk-R42QDO6G.cjs +28 -0
  144. package/dist/cjs/chunk-R42QDO6G.cjs.map +1 -0
  145. package/dist/cjs/chunk-S2NO7QKM.cjs +132 -0
  146. package/dist/cjs/chunk-S2NO7QKM.cjs.map +1 -0
  147. package/dist/cjs/chunk-SSOKZ4O2.cjs +41 -0
  148. package/dist/cjs/chunk-SSOKZ4O2.cjs.map +1 -0
  149. package/dist/cjs/chunk-T3N54JRA.cjs +41 -0
  150. package/dist/cjs/chunk-T3N54JRA.cjs.map +1 -0
  151. package/dist/cjs/chunk-TF2SCL3K.cjs +36 -0
  152. package/dist/cjs/chunk-TF2SCL3K.cjs.map +1 -0
  153. package/dist/cjs/chunk-TF7S7SPO.cjs +114 -0
  154. package/dist/cjs/chunk-TF7S7SPO.cjs.map +1 -0
  155. package/dist/cjs/chunk-TJAP46DQ.cjs +43 -0
  156. package/dist/cjs/chunk-TJAP46DQ.cjs.map +1 -0
  157. package/dist/cjs/chunk-TOVCM7I7.cjs +281 -0
  158. package/dist/cjs/chunk-TOVCM7I7.cjs.map +1 -0
  159. package/dist/cjs/chunk-TUAC64ZF.cjs +41 -0
  160. package/dist/cjs/chunk-TUAC64ZF.cjs.map +1 -0
  161. package/dist/cjs/chunk-TZ6JOGWV.cjs +29 -0
  162. package/dist/cjs/chunk-TZ6JOGWV.cjs.map +1 -0
  163. package/dist/cjs/chunk-UEOOHJIR.cjs +43 -0
  164. package/dist/cjs/chunk-UEOOHJIR.cjs.map +1 -0
  165. package/dist/cjs/chunk-UGDFRSMS.cjs +200 -0
  166. package/dist/cjs/chunk-UGDFRSMS.cjs.map +1 -0
  167. package/dist/cjs/chunk-VNAH5COA.cjs +202 -0
  168. package/dist/cjs/chunk-VNAH5COA.cjs.map +1 -0
  169. package/dist/cjs/chunk-W4IBNFLJ.cjs +43 -0
  170. package/dist/cjs/chunk-W4IBNFLJ.cjs.map +1 -0
  171. package/dist/cjs/chunk-W5NZWOXV.cjs +283 -0
  172. package/dist/cjs/chunk-W5NZWOXV.cjs.map +1 -0
  173. package/dist/cjs/chunk-WGAEW3R3.cjs +134 -0
  174. package/dist/cjs/chunk-WGAEW3R3.cjs.map +1 -0
  175. package/dist/cjs/chunk-WKGN6P3D.cjs +131 -0
  176. package/dist/cjs/chunk-WKGN6P3D.cjs.map +1 -0
  177. package/dist/cjs/chunk-X5INT5HE.cjs +163 -0
  178. package/dist/cjs/chunk-X5INT5HE.cjs.map +1 -0
  179. package/dist/cjs/chunk-X6R53KCL.cjs +134 -0
  180. package/dist/cjs/chunk-X6R53KCL.cjs.map +1 -0
  181. package/dist/cjs/chunk-XEAJBA3S.cjs +30 -0
  182. package/dist/cjs/chunk-XEAJBA3S.cjs.map +1 -0
  183. package/dist/cjs/chunk-YCD3FBPB.cjs +41 -0
  184. package/dist/cjs/chunk-YCD3FBPB.cjs.map +1 -0
  185. package/dist/cjs/chunk-YCTPMLZO.cjs +40 -0
  186. package/dist/cjs/chunk-YCTPMLZO.cjs.map +1 -0
  187. package/dist/cjs/chunk-YE6INMSS.cjs +41 -0
  188. package/dist/cjs/chunk-YE6INMSS.cjs.map +1 -0
  189. package/dist/cjs/chunk-YGK2LYEU.cjs +36 -0
  190. package/dist/cjs/chunk-YGK2LYEU.cjs.map +1 -0
  191. package/dist/cjs/chunk-YJSEM4WE.cjs +116 -0
  192. package/dist/cjs/chunk-YJSEM4WE.cjs.map +1 -0
  193. package/dist/cjs/chunk-Z6TQ7TFO.cjs +13 -0
  194. package/dist/cjs/chunk-Z6TQ7TFO.cjs.map +1 -0
  195. package/dist/cjs/chunk-ZP35BH7F.cjs +43 -0
  196. package/dist/cjs/chunk-ZP35BH7F.cjs.map +1 -0
  197. package/dist/cjs/controllers/index.cjs +3 -3
  198. package/dist/cjs/controllers/query.controller.cjs +3 -3
  199. package/dist/cjs/index.cjs +22 -20
  200. package/dist/cjs/index.cjs.map +1 -1
  201. package/dist/cjs/middlewares/auth.middleware.cjs +3 -3
  202. package/dist/cjs/modules/index.cjs +6 -6
  203. package/dist/cjs/modules/index.cjs.map +1 -1
  204. package/dist/cjs/modules/memory/memory.module.cjs +2 -2
  205. package/dist/cjs/modules/models/base.model.cjs +2 -2
  206. package/dist/cjs/modules/models/model.module.cjs +2 -2
  207. package/dist/cjs/routes/a2a.routes.cjs +8 -6
  208. package/dist/cjs/routes/a2a.routes.cjs.map +1 -1
  209. package/dist/cjs/routes/api/intent.routes.cjs +3 -3
  210. package/dist/cjs/routes/api/threads.routes.cjs +3 -3
  211. package/dist/cjs/routes/api.routes.cjs +5 -5
  212. package/dist/cjs/routes/index.cjs +15 -13
  213. package/dist/cjs/routes/index.cjs.map +1 -1
  214. package/dist/cjs/routes/intent.routes.cjs +10 -8
  215. package/dist/cjs/routes/intent.routes.cjs.map +1 -1
  216. package/dist/cjs/routes/query.routes.cjs +11 -9
  217. package/dist/cjs/routes/query.routes.cjs.map +1 -1
  218. package/dist/cjs/services/index.cjs +9 -7
  219. package/dist/cjs/services/index.cjs.map +1 -1
  220. package/dist/cjs/services/intents/fulfill-stream.service.cjs +3 -2
  221. package/dist/cjs/services/intents/fulfill-stream.service.cjs.map +1 -1
  222. package/dist/cjs/services/intents/fulfill.service.cjs +3 -2
  223. package/dist/cjs/services/intents/fulfill.service.cjs.map +1 -1
  224. package/dist/cjs/services/intents/trigger.service.cjs +2 -2
  225. package/dist/cjs/services/query-stream.service.cjs +7 -5
  226. package/dist/cjs/services/query-stream.service.cjs.map +1 -1
  227. package/dist/cjs/services/query.service.cjs +7 -5
  228. package/dist/cjs/services/query.service.cjs.map +1 -1
  229. package/dist/cjs/services/utils/fulfill.common.cjs +7 -0
  230. package/dist/cjs/services/utils/fulfill.common.cjs.map +1 -0
  231. package/dist/cjs/services/utils/query.common.cjs +8 -0
  232. package/dist/cjs/services/utils/query.common.cjs.map +1 -0
  233. package/dist/cjs/types/agent.cjs +2 -2
  234. package/dist/esm/{chunk-GBCNUYOL.js → chunk-3FE3GPF2.js} +6 -8
  235. package/dist/esm/chunk-3FE3GPF2.js.map +1 -0
  236. package/dist/esm/chunk-7BH6AYP7.js +51 -0
  237. package/dist/esm/chunk-7BH6AYP7.js.map +1 -0
  238. package/dist/esm/{chunk-OKC7ARHK.js → chunk-7XCSPITE.js} +12 -36
  239. package/dist/esm/chunk-7XCSPITE.js.map +1 -0
  240. package/dist/esm/{chunk-7C32OCGS.js → chunk-DIW5VDAQ.js} +7 -7
  241. package/dist/esm/chunk-DIW5VDAQ.js.map +1 -0
  242. package/dist/esm/{chunk-XSFA3J2Y.js → chunk-F3SGL62A.js} +2 -2
  243. package/dist/esm/chunk-J2UFYVKK.js +38 -0
  244. package/dist/esm/chunk-J2UFYVKK.js.map +1 -0
  245. package/dist/esm/{chunk-VNQCUGC3.js → chunk-M6RVV57F.js} +13 -2
  246. package/dist/esm/chunk-M6RVV57F.js.map +1 -0
  247. package/dist/esm/{chunk-F3I4URTX.js → chunk-MCMWSGRJ.js} +8 -8
  248. package/dist/esm/{chunk-5JIXQ6PU.js → chunk-OTBWAUJF.js} +2 -2
  249. package/dist/esm/chunk-OUIXXZFI.js +29 -0
  250. package/dist/esm/chunk-OUIXXZFI.js.map +1 -0
  251. package/dist/esm/{chunk-TKP5JY7K.js → chunk-OW7PCDK5.js} +2 -2
  252. package/dist/esm/{chunk-VN4FAX52.js → chunk-RJZ4QSDX.js} +11 -37
  253. package/dist/esm/chunk-RJZ4QSDX.js.map +1 -0
  254. package/dist/esm/{chunk-UFWC7DRS.js → chunk-SPRW6KUR.js} +2 -2
  255. package/dist/esm/{chunk-RKE2MTBG.js → chunk-THBAYYPZ.js} +2 -2
  256. package/dist/esm/{chunk-DHDFPHYD.js → chunk-U2UNRT4C.js} +1 -1
  257. package/dist/esm/chunk-U2UNRT4C.js.map +1 -0
  258. package/dist/esm/{chunk-LCLBEJNC.js → chunk-V24ATQLM.js} +23 -25
  259. package/dist/esm/chunk-V24ATQLM.js.map +1 -0
  260. package/dist/esm/{chunk-LOFJBMHT.js → chunk-WL7H2QX4.js} +24 -17
  261. package/dist/esm/chunk-WL7H2QX4.js.map +1 -0
  262. package/dist/esm/{chunk-E66MSTWY.js → chunk-WRKUZMNO.js} +3 -4
  263. package/dist/esm/{chunk-E66MSTWY.js.map → chunk-WRKUZMNO.js.map} +1 -1
  264. package/dist/esm/{chunk-ZBUAT73P.js → chunk-WUNZG3WP.js} +1 -1
  265. package/dist/esm/chunk-WUNZG3WP.js.map +1 -0
  266. package/dist/esm/controllers/a2a.controller.d.ts +1 -3
  267. package/dist/esm/controllers/index.d.ts +3 -3
  268. package/dist/esm/controllers/index.js +2 -2
  269. package/dist/esm/controllers/query.controller.d.ts +1 -3
  270. package/dist/esm/controllers/query.controller.js +2 -2
  271. package/dist/esm/index.js +18 -16
  272. package/dist/esm/index.js.map +1 -1
  273. package/dist/esm/middlewares/auth.middleware.js +2 -2
  274. package/dist/esm/modules/index.d.ts +1 -1
  275. package/dist/esm/modules/index.js +3 -3
  276. package/dist/esm/modules/memory/base.memory.d.ts +11 -6
  277. package/dist/esm/modules/memory/memory.module.d.ts +7 -14
  278. package/dist/esm/modules/memory/memory.module.js +1 -1
  279. package/dist/esm/modules/models/base.model.d.ts +8 -4
  280. package/dist/esm/modules/models/base.model.js +1 -1
  281. package/dist/esm/modules/models/model.module.d.ts +4 -2
  282. package/dist/esm/modules/models/model.module.js +1 -1
  283. package/dist/esm/routes/a2a.routes.js +7 -5
  284. package/dist/esm/routes/api/intent.routes.js +2 -2
  285. package/dist/esm/routes/api/threads.routes.js +2 -2
  286. package/dist/esm/routes/api.routes.js +5 -5
  287. package/dist/esm/routes/index.js +17 -15
  288. package/dist/esm/routes/intent.routes.js +9 -7
  289. package/dist/esm/routes/query.routes.js +10 -8
  290. package/dist/esm/services/a2a.service.d.ts +1 -3
  291. package/dist/esm/services/index.d.ts +0 -2
  292. package/dist/esm/services/index.js +8 -6
  293. package/dist/esm/services/intents/fulfill-stream.service.d.ts +1 -4
  294. package/dist/esm/services/intents/fulfill-stream.service.js +2 -1
  295. package/dist/esm/services/intents/fulfill.service.d.ts +1 -4
  296. package/dist/esm/services/intents/fulfill.service.js +2 -1
  297. package/dist/esm/services/intents/trigger.service.js +1 -1
  298. package/dist/esm/services/query-stream.service.d.ts +4 -12
  299. package/dist/esm/services/query-stream.service.js +6 -4
  300. package/dist/esm/services/query.service.d.ts +3 -11
  301. package/dist/esm/services/query.service.js +6 -4
  302. package/dist/esm/services/utils/fulfill.common.d.ts +6 -0
  303. package/dist/esm/services/utils/fulfill.common.js +7 -0
  304. package/dist/esm/services/utils/fulfill.common.js.map +1 -0
  305. package/dist/esm/services/utils/query.common.d.ts +9 -0
  306. package/dist/esm/services/utils/query.common.js +8 -0
  307. package/dist/esm/services/utils/query.common.js.map +1 -0
  308. package/dist/esm/types/agent.d.ts +1 -14
  309. package/dist/esm/types/agent.js +1 -1
  310. package/package.json +3 -3
  311. package/dist/esm/chunk-7C32OCGS.js.map +0 -1
  312. package/dist/esm/chunk-DHDFPHYD.js.map +0 -1
  313. package/dist/esm/chunk-GBCNUYOL.js.map +0 -1
  314. package/dist/esm/chunk-LCLBEJNC.js.map +0 -1
  315. package/dist/esm/chunk-LOFJBMHT.js.map +0 -1
  316. package/dist/esm/chunk-VN4FAX52.js.map +0 -1
  317. package/dist/esm/chunk-VNQCUGC3.js.map +0 -1
  318. package/dist/esm/chunk-XBMWWTSX.js +0 -51
  319. package/dist/esm/chunk-XBMWWTSX.js.map +0 -1
  320. package/dist/esm/chunk-ZBUAT73P.js.map +0 -1
  321. /package/dist/esm/{chunk-XSFA3J2Y.js.map → chunk-F3SGL62A.js.map} +0 -0
  322. /package/dist/esm/{chunk-F3I4URTX.js.map → chunk-MCMWSGRJ.js.map} +0 -0
  323. /package/dist/esm/{chunk-5JIXQ6PU.js.map → chunk-OTBWAUJF.js.map} +0 -0
  324. /package/dist/esm/{chunk-TKP5JY7K.js.map → chunk-OW7PCDK5.js.map} +0 -0
  325. /package/dist/esm/{chunk-UFWC7DRS.js.map → chunk-SPRW6KUR.js.map} +0 -0
  326. /package/dist/esm/{chunk-RKE2MTBG.js.map → chunk-THBAYYPZ.js.map} +0 -0
@@ -0,0 +1,249 @@
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; }
2
+
3
+ var _chunk7HBOMBZGcjs = require('./chunk-7HBOMBZG.cjs');
4
+
5
+
6
+ var _chunk466ED5WNcjs = require('./chunk-466ED5WN.cjs');
7
+
8
+ // src/services/intents/fulfill-stream.service.ts
9
+ var _crypto = require('crypto');
10
+ var IntentFulfillStreamService = class {
11
+
12
+
13
+
14
+
15
+ constructor(modelModule, a2aModule, mcpModule, memoryModule) {
16
+ this.modelModule = modelModule;
17
+ this.a2aModule = a2aModule;
18
+ this.mcpModule = mcpModule;
19
+ this.memoryModule = memoryModule;
20
+ }
21
+ async addToThreadMessages(thread, params) {
22
+ try {
23
+ const threadMemory = _optionalChain([this, 'access', _ => _.memoryModule, 'optionalAccess', _2 => _2.getThreadMemory, 'call', _3 => _3()]);
24
+ const { userId, threadId } = thread;
25
+ const newMessage = {
26
+ messageId: _crypto.randomUUID.call(void 0, ),
27
+ role: params.role,
28
+ timestamp: Date.now(),
29
+ content: { type: "text", parts: [params.content] },
30
+ metadata: params.metadata
31
+ };
32
+ thread.messages.push(newMessage);
33
+ await _optionalChain([threadMemory, 'optionalAccess', _4 => _4.addMessagesToThread, 'call', _5 => _5(userId, threadId, [newMessage])]);
34
+ } catch (error) {
35
+ _chunk466ED5WNcjs.loggers.intentStream.error("Error adding message to thread", error);
36
+ }
37
+ }
38
+ /**
39
+ * Fulfills the detected intent by generating a streaming response.
40
+ *
41
+ * Manages the complete inference loop including:
42
+ * - Loading prompts and conversation history
43
+ * - Collecting available tools from modules
44
+ * - Executing model inference with tool support
45
+ * - Processing tool calls iteratively until completion
46
+ * - Streaming results as Server-Sent Events
47
+ *
48
+ * @param query - The user's input query
49
+ * @param threadId - Thread identifier for context
50
+ * @param thread - Previous conversation history
51
+ * @param intent - Optional detected intent with custom prompt
52
+ * @returns AsyncGenerator yielding StreamEvent objects
53
+ */
54
+ async *intentFulfilling(query, thread, intent) {
55
+ const agentMemory = _optionalChain([this, 'access', _6 => _6.memoryModule, 'optionalAccess', _7 => _7.getAgentMemory, 'call', _8 => _8()]);
56
+ const fulfillPrompt = await _chunk7HBOMBZGcjs.createFulfillPrompt.call(void 0, agentMemory, intent);
57
+ const modelInstance = this.modelModule.getModel();
58
+ const modelOptions = this.modelModule.getModelOptions();
59
+ const messages = modelInstance.generateMessages({
60
+ query,
61
+ thread,
62
+ systemPrompt: fulfillPrompt.trim()
63
+ });
64
+ _chunk466ED5WNcjs.loggers.intent.debug("Intent fulfillment start", {
65
+ threadId: thread.threadId,
66
+ messages
67
+ });
68
+ const tools = [];
69
+ this.mcpModule && tools.push(...this.mcpModule.getTools());
70
+ this.a2aModule && tools.push(...await this.a2aModule.getTools());
71
+ const processList = [];
72
+ while (true) {
73
+ const functions = modelInstance.convertToolsToFunctions(tools);
74
+ const responseStream = await modelInstance.fetchStreamWithContextMessage(
75
+ messages,
76
+ functions,
77
+ modelOptions
78
+ );
79
+ const assembledToolCalls = [];
80
+ for await (const chunk of responseStream) {
81
+ const delta = chunk.delta;
82
+ if (_optionalChain([delta, 'optionalAccess', _9 => _9.tool_calls])) {
83
+ for (const { index, id, function: func } of delta.tool_calls) {
84
+ assembledToolCalls[index] ??= {
85
+ id: "",
86
+ type: "function",
87
+ function: { name: "", arguments: "" }
88
+ };
89
+ if (id) assembledToolCalls[index].id = id;
90
+ if (_optionalChain([func, 'optionalAccess', _10 => _10.name])) assembledToolCalls[index].function.name = func.name;
91
+ if (_optionalChain([func, 'optionalAccess', _11 => _11.arguments]))
92
+ assembledToolCalls[index].function.arguments += func.arguments;
93
+ }
94
+ } else if (_optionalChain([chunk, 'access', _12 => _12.delta, 'optionalAccess', _13 => _13.content])) {
95
+ yield {
96
+ event: "text_chunk",
97
+ data: { delta: chunk.delta.content }
98
+ };
99
+ }
100
+ }
101
+ _chunk466ED5WNcjs.loggers.intentStream.debug("assembledToolCalls", {
102
+ threadId: thread.threadId,
103
+ assembledToolCalls
104
+ });
105
+ if (assembledToolCalls.length > 0) {
106
+ for (const toolCall of assembledToolCalls) {
107
+ const toolCallId = _crypto.randomUUID.call(void 0, );
108
+ const toolName = toolCall.function.name;
109
+ let selectedTool;
110
+ for (const [index, toolTmp] of tools.entries()) {
111
+ if (toolTmp.toolName === toolName) {
112
+ if (toolTmp.protocol === "A2A" /* A2A */) {
113
+ selectedTool = tools.splice(index, 1)[0];
114
+ break;
115
+ }
116
+ selectedTool = toolTmp;
117
+ }
118
+ }
119
+ if (!selectedTool) {
120
+ continue;
121
+ }
122
+ let toolResult = "";
123
+ if (this.mcpModule && selectedTool.protocol === "MCP" /* MCP */) {
124
+ const toolArgs = JSON.parse(toolCall.function.arguments);
125
+ yield {
126
+ event: "tool_start",
127
+ data: {
128
+ toolCallId,
129
+ protocol: "MCP" /* MCP */,
130
+ toolName,
131
+ toolArgs
132
+ }
133
+ };
134
+ _chunk466ED5WNcjs.loggers.intent.info("MCP tool call", { toolName, toolArgs });
135
+ toolResult = await this.mcpModule.useTool(selectedTool, toolArgs);
136
+ } else if (this.a2aModule && selectedTool.protocol === "A2A" /* A2A */) {
137
+ yield {
138
+ event: "tool_start",
139
+ data: {
140
+ toolCallId,
141
+ protocol: "A2A" /* A2A */,
142
+ toolName,
143
+ toolArgs: null
144
+ }
145
+ };
146
+ _chunk466ED5WNcjs.loggers.intent.info("A2A tool call", { toolName });
147
+ toolResult = await this.a2aModule.useTool(
148
+ selectedTool,
149
+ query,
150
+ thread.threadId
151
+ );
152
+ } else {
153
+ _chunk466ED5WNcjs.loggers.intent.warn(
154
+ `Unrecognized tool type: ${selectedTool.protocol}`
155
+ );
156
+ continue;
157
+ }
158
+ yield {
159
+ event: "tool_output",
160
+ data: {
161
+ toolCallId,
162
+ protocol: selectedTool.protocol,
163
+ toolName,
164
+ result: toolResult
165
+ }
166
+ };
167
+ _chunk466ED5WNcjs.loggers.intent.debug("Tool Result", { toolResult });
168
+ processList.push(toolResult);
169
+ modelInstance.appendMessages(messages, toolResult);
170
+ }
171
+ } else {
172
+ break;
173
+ }
174
+ }
175
+ _chunk466ED5WNcjs.loggers.intent.debug("Intent fulfillment completed", {
176
+ threadId: thread.threadId,
177
+ toolCallsExecuted: processList.length,
178
+ intentName: _optionalChain([intent, 'optionalAccess', _14 => _14.name])
179
+ });
180
+ }
181
+ /**
182
+ * Detects the intent from context.
183
+ *
184
+ * @param intents - The user's input query
185
+ * @param thread - The thread history
186
+ * @returns The detected intent
187
+ */
188
+ async *intentFulfillStream(intents, thread) {
189
+ const streamStartTime = Date.now();
190
+ _chunk466ED5WNcjs.loggers.intentStream.info("Stream session started", {
191
+ threadId: thread.threadId,
192
+ intentCount: intents.length,
193
+ startTime: new Date(streamStartTime).toISOString()
194
+ });
195
+ let finalResponseText = "";
196
+ for (let i = 0; i < intents.length; i++) {
197
+ const { subquery, intent, actionPlan } = intents[i];
198
+ _chunk466ED5WNcjs.loggers.intent.info(`Process query: ${subquery}, ${_optionalChain([intent, 'optionalAccess', _15 => _15.name])}`);
199
+ _chunk466ED5WNcjs.loggers.intent.info(`Action plan: ${actionPlan}`);
200
+ finalResponseText !== "" && thread.messages.push({
201
+ messageId: _crypto.randomUUID.call(void 0, ),
202
+ role: "MODEL" /* MODEL */,
203
+ timestamp: Date.now(),
204
+ content: { type: "text", parts: [finalResponseText] },
205
+ metadata: { isThinking: true }
206
+ });
207
+ await this.addToThreadMessages(thread, {
208
+ role: "MODEL" /* MODEL */,
209
+ content: subquery,
210
+ metadata: {
211
+ subquery,
212
+ isThinking: true,
213
+ actionPlan
214
+ }
215
+ });
216
+ yield {
217
+ event: "intent_process",
218
+ data: { subquery, actionPlan: actionPlan || "" }
219
+ };
220
+ const stream = this.intentFulfilling(subquery, thread, intent);
221
+ finalResponseText = "";
222
+ for await (const event of stream) {
223
+ if (event.event === "text_chunk" && event.data.delta) {
224
+ finalResponseText += event.data.delta;
225
+ }
226
+ if (event.event === "text_chunk" && i !== intents.length - 1) {
227
+ continue;
228
+ }
229
+ yield event;
230
+ }
231
+ }
232
+ await this.addToThreadMessages(thread, {
233
+ role: "MODEL" /* MODEL */,
234
+ content: finalResponseText
235
+ });
236
+ const streamEndTime = Date.now();
237
+ const streamDuration = streamEndTime - streamStartTime;
238
+ _chunk466ED5WNcjs.loggers.intentStream.info("Stream session completed", {
239
+ threadId: thread.threadId,
240
+ duration: `${streamDuration}ms`,
241
+ endTime: new Date(streamEndTime).toISOString()
242
+ });
243
+ }
244
+ };
245
+
246
+
247
+
248
+ exports.IntentFulfillStreamService = IntentFulfillStreamService;
249
+ //# sourceMappingURL=chunk-7QXQYCZP.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/Users/shyun/comcom/ain-agent/ain-adk/dist/cjs/chunk-7QXQYCZP.cjs","../../src/services/intents/fulfill-stream.service.ts"],"names":[],"mappings":"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","file":"/Users/shyun/comcom/ain-agent/ain-adk/dist/cjs/chunk-7QXQYCZP.cjs","sourcesContent":[null,"import { randomUUID } from \"node:crypto\";\nimport type {\n\tA2AModule,\n\tMCPModule,\n\tMemoryModule,\n\tModelModule,\n} from \"@/modules\";\nimport { CONNECTOR_PROTOCOL_TYPE, type ConnectorTool } from \"@/types/connector\";\nimport {\n\ttype Intent,\n\ttype MessageObject,\n\tMessageRole,\n\ttype ThreadObject,\n\ttype TriggeredIntent,\n} from \"@/types/memory\";\nimport type { StreamEvent } from \"@/types/stream\";\nimport { loggers } from \"@/utils/logger\";\nimport { createFulfillPrompt } from \"../utils/fulfill.common\";\n\nexport class IntentFulfillStreamService {\n\tprivate modelModule: ModelModule;\n\tprivate a2aModule?: A2AModule;\n\tprivate mcpModule?: MCPModule;\n\tprivate memoryModule?: MemoryModule;\n\n\tconstructor(\n\t\tmodelModule: ModelModule,\n\t\ta2aModule?: A2AModule,\n\t\tmcpModule?: MCPModule,\n\t\tmemoryModule?: MemoryModule,\n\t) {\n\t\tthis.modelModule = modelModule;\n\t\tthis.a2aModule = a2aModule;\n\t\tthis.mcpModule = mcpModule;\n\t\tthis.memoryModule = memoryModule;\n\t}\n\n\tprivate async addToThreadMessages(\n\t\tthread: ThreadObject,\n\t\tparams: {\n\t\t\trole: MessageRole;\n\t\t\tcontent: string;\n\t\t\tmetadata?: Record<string, unknown>;\n\t\t},\n\t) {\n\t\ttry {\n\t\t\tconst threadMemory = this.memoryModule?.getThreadMemory();\n\t\t\tconst { userId, threadId } = thread;\n\t\t\tconst newMessage: MessageObject = {\n\t\t\t\tmessageId: randomUUID(),\n\t\t\t\trole: params.role,\n\t\t\t\ttimestamp: Date.now(),\n\t\t\t\tcontent: { type: \"text\", parts: [params.content] },\n\t\t\t\tmetadata: params.metadata,\n\t\t\t};\n\t\t\tthread.messages.push(newMessage);\n\t\t\tawait threadMemory?.addMessagesToThread(userId, threadId, [newMessage]);\n\t\t} catch (error) {\n\t\t\tloggers.intentStream.error(\"Error adding message to thread\", error);\n\t\t}\n\t}\n\n\t/**\n\t * Fulfills the detected intent by generating a streaming 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 * - Streaming results as Server-Sent Events\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 AsyncGenerator yielding StreamEvent objects\n\t */\n\tprivate async *intentFulfilling(\n\t\tquery: string,\n\t\tthread: ThreadObject,\n\t\tintent?: Intent,\n\t): AsyncGenerator<StreamEvent> {\n\t\tconst agentMemory = this.memoryModule?.getAgentMemory();\n\t\tconst fulfillPrompt = await createFulfillPrompt(agentMemory, intent);\n\n\t\tconst modelInstance = this.modelModule.getModel();\n\t\tconst modelOptions = this.modelModule.getModelOptions();\n\t\tconst messages = modelInstance.generateMessages({\n\t\t\tquery,\n\t\t\tthread,\n\t\t\tsystemPrompt: fulfillPrompt.trim(),\n\t\t});\n\n\t\tloggers.intent.debug(\"Intent fulfillment start\", {\n\t\t\tthreadId: thread.threadId,\n\t\t\tmessages,\n\t\t});\n\n\t\tconst tools: ConnectorTool[] = [];\n\t\tthis.mcpModule && tools.push(...this.mcpModule.getTools());\n\t\tthis.a2aModule && tools.push(...(await this.a2aModule.getTools()));\n\n\t\tconst processList: string[] = [];\n\n\t\twhile (true) {\n\t\t\tconst functions = modelInstance.convertToolsToFunctions(tools);\n\t\t\tconst responseStream = await modelInstance.fetchStreamWithContextMessage(\n\t\t\t\tmessages,\n\t\t\t\tfunctions,\n\t\t\t\tmodelOptions,\n\t\t\t);\n\n\t\t\tconst assembledToolCalls: {\n\t\t\t\tid: string;\n\t\t\t\ttype: \"function\";\n\t\t\t\tfunction: { name: string; arguments: string };\n\t\t\t}[] = [];\n\n\t\t\tfor await (const chunk of responseStream) {\n\t\t\t\tconst delta = chunk.delta;\n\t\t\t\tif (delta?.tool_calls) {\n\t\t\t\t\tfor (const { index, id, function: func } of delta.tool_calls) {\n\t\t\t\t\t\tassembledToolCalls[index] ??= {\n\t\t\t\t\t\t\tid: \"\",\n\t\t\t\t\t\t\ttype: \"function\",\n\t\t\t\t\t\t\tfunction: { name: \"\", arguments: \"\" },\n\t\t\t\t\t\t};\n\n\t\t\t\t\t\tif (id) assembledToolCalls[index].id = id;\n\t\t\t\t\t\tif (func?.name) assembledToolCalls[index].function.name = func.name;\n\t\t\t\t\t\tif (func?.arguments)\n\t\t\t\t\t\t\tassembledToolCalls[index].function.arguments += func.arguments;\n\t\t\t\t\t}\n\t\t\t\t} else if (chunk.delta?.content) {\n\t\t\t\t\tyield {\n\t\t\t\t\t\tevent: \"text_chunk\",\n\t\t\t\t\t\tdata: { delta: chunk.delta.content },\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tloggers.intentStream.debug(\"assembledToolCalls\", {\n\t\t\t\tthreadId: thread.threadId,\n\t\t\t\tassembledToolCalls,\n\t\t\t});\n\n\t\t\tif (assembledToolCalls.length > 0) {\n\t\t\t\tfor (const toolCall of assembledToolCalls) {\n\t\t\t\t\tconst toolCallId = randomUUID();\n\t\t\t\t\tconst toolName = toolCall.function.name;\n\t\t\t\t\tlet selectedTool: ConnectorTool | undefined;\n\t\t\t\t\tfor (const [index, toolTmp] of tools.entries()) {\n\t\t\t\t\t\tif (toolTmp.toolName === toolName) {\n\t\t\t\t\t\t\tif (toolTmp.protocol === CONNECTOR_PROTOCOL_TYPE.A2A) {\n\t\t\t\t\t\t\t\t// remove used tool to prevent infinite loop\n\t\t\t\t\t\t\t\tselectedTool = tools.splice(index, 1)[0];\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tselectedTool = toolTmp;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tif (!selectedTool) {\n\t\t\t\t\t\t// it cannot be happened...\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\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 === CONNECTOR_PROTOCOL_TYPE.MCP\n\t\t\t\t\t) {\n\t\t\t\t\t\tconst toolArgs = JSON.parse(toolCall.function.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\tyield {\n\t\t\t\t\t\t\tevent: \"tool_start\",\n\t\t\t\t\t\t\tdata: {\n\t\t\t\t\t\t\t\ttoolCallId,\n\t\t\t\t\t\t\t\tprotocol: CONNECTOR_PROTOCOL_TYPE.MCP,\n\t\t\t\t\t\t\t\ttoolName,\n\t\t\t\t\t\t\t\ttoolArgs,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t};\n\t\t\t\t\t\tloggers.intent.info(\"MCP tool call\", { toolName, toolArgs });\n\t\t\t\t\t\ttoolResult = await this.mcpModule.useTool(selectedTool, toolArgs);\n\t\t\t\t\t} else if (\n\t\t\t\t\t\tthis.a2aModule &&\n\t\t\t\t\t\tselectedTool.protocol === CONNECTOR_PROTOCOL_TYPE.A2A\n\t\t\t\t\t) {\n\t\t\t\t\t\tyield {\n\t\t\t\t\t\t\tevent: \"tool_start\",\n\t\t\t\t\t\t\tdata: {\n\t\t\t\t\t\t\t\ttoolCallId,\n\t\t\t\t\t\t\t\tprotocol: CONNECTOR_PROTOCOL_TYPE.A2A,\n\t\t\t\t\t\t\t\ttoolName,\n\t\t\t\t\t\t\t\ttoolArgs: null,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t};\n\t\t\t\t\t\tloggers.intent.info(\"A2A tool call\", { toolName });\n\t\t\t\t\t\ttoolResult = await this.a2aModule.useTool(\n\t\t\t\t\t\t\tselectedTool,\n\t\t\t\t\t\t\tquery,\n\t\t\t\t\t\t\tthread.threadId,\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\t\t\t\t\tyield {\n\t\t\t\t\t\tevent: \"tool_output\",\n\t\t\t\t\t\tdata: {\n\t\t\t\t\t\t\ttoolCallId,\n\t\t\t\t\t\t\tprotocol: selectedTool.protocol,\n\t\t\t\t\t\t\ttoolName,\n\t\t\t\t\t\t\tresult: toolResult,\n\t\t\t\t\t\t},\n\t\t\t\t\t};\n\n\t\t\t\t\tloggers.intent.debug(\"Tool Result\", { toolResult });\n\n\t\t\t\t\tprocessList.push(toolResult);\n\t\t\t\t\tmodelInstance.appendMessages(messages, toolResult);\n\n\t\t\t\t\t// remove used tool to prevent infinite loop\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\tloggers.intent.debug(\"Intent fulfillment completed\", {\n\t\t\tthreadId: thread.threadId,\n\t\t\ttoolCallsExecuted: processList.length,\n\t\t\tintentName: intent?.name,\n\t\t});\n\t}\n\n\t/**\n\t * Detects the intent from context.\n\t *\n\t * @param intents - The user's input query\n\t * @param thread - The thread history\n\t * @returns The detected intent\n\t */\n\tpublic async *intentFulfillStream(\n\t\tintents: Array<TriggeredIntent>,\n\t\tthread: ThreadObject,\n\t): AsyncGenerator<StreamEvent> {\n\t\tconst streamStartTime = Date.now();\n\t\tloggers.intentStream.info(\"Stream session started\", {\n\t\t\tthreadId: thread.threadId,\n\t\t\tintentCount: intents.length,\n\t\t\tstartTime: new Date(streamStartTime).toISOString(),\n\t\t});\n\n\t\tlet finalResponseText = \"\";\n\n\t\tfor (let i = 0; i < intents.length; i++) {\n\t\t\tconst { subquery, intent, actionPlan } = intents[i];\n\t\t\tloggers.intent.info(`Process query: ${subquery}, ${intent?.name}`);\n\t\t\tloggers.intent.info(`Action plan: ${actionPlan}`);\n\n\t\t\t// only use for inference, not stored in memory\n\t\t\tfinalResponseText !== \"\" &&\n\t\t\t\tthread.messages.push({\n\t\t\t\t\tmessageId: randomUUID(),\n\t\t\t\t\trole: MessageRole.MODEL,\n\t\t\t\t\ttimestamp: Date.now(),\n\t\t\t\t\tcontent: { type: \"text\", parts: [finalResponseText] },\n\t\t\t\t\tmetadata: { isThinking: true },\n\t\t\t\t});\n\t\t\tawait this.addToThreadMessages(thread, {\n\t\t\t\trole: MessageRole.MODEL,\n\t\t\t\tcontent: subquery,\n\t\t\t\tmetadata: {\n\t\t\t\t\tsubquery,\n\t\t\t\t\tisThinking: true,\n\t\t\t\t\tactionPlan: actionPlan,\n\t\t\t\t},\n\t\t\t});\n\n\t\t\tyield {\n\t\t\t\tevent: \"intent_process\",\n\t\t\t\tdata: { subquery, actionPlan: actionPlan || \"\" },\n\t\t\t};\n\n\t\t\tconst stream = this.intentFulfilling(subquery, thread, intent);\n\n\t\t\tfinalResponseText = \"\";\n\t\t\tfor await (const event of stream) {\n\t\t\t\tif (event.event === \"text_chunk\" && event.data.delta) {\n\t\t\t\t\tfinalResponseText += event.data.delta;\n\t\t\t\t}\n\n\t\t\t\tif (event.event === \"text_chunk\" && i !== intents.length - 1) {\n\t\t\t\t\tcontinue; // skip intermediate text_chunk events\n\t\t\t\t}\n\t\t\t\tyield event;\n\t\t\t}\n\t\t}\n\n\t\tawait this.addToThreadMessages(thread, {\n\t\t\trole: MessageRole.MODEL,\n\t\t\tcontent: finalResponseText,\n\t\t});\n\n\t\tconst streamEndTime = Date.now();\n\t\tconst streamDuration = streamEndTime - streamStartTime;\n\n\t\tloggers.intentStream.info(\"Stream session completed\", {\n\t\t\tthreadId: thread.threadId,\n\t\t\tduration: `${streamDuration}ms`,\n\t\t\tendTime: new Date(streamEndTime).toISOString(),\n\t\t});\n\t}\n}\n"]}
@@ -0,0 +1,30 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
+
3
+ var _chunk5FZ7QLJDcjs = require('./chunk-5FZ7QLJD.cjs');
4
+
5
+
6
+ var _chunkYCTPMLZOcjs = require('./chunk-YCTPMLZO.cjs');
7
+
8
+
9
+ var _chunkX46GJS7Xcjs = require('./chunk-X46GJS7X.cjs');
10
+
11
+
12
+ var _chunkFJ2JWXSLcjs = require('./chunk-FJ2JWXSL.cjs');
13
+
14
+ // src/routes/api.routes.ts
15
+ var _express = require('express');
16
+ var createApiRouter = (agent) => {
17
+ const router = _express.Router.call(void 0, );
18
+ router.use("/model", _chunkX46GJS7Xcjs.createModelApiRouter.call(void 0, agent.modelModule));
19
+ router.use("/agent", _chunk5FZ7QLJDcjs.createAgentApiRouter.call(void 0, agent));
20
+ if (agent.memoryModule) {
21
+ router.use("/threads", _chunkFJ2JWXSLcjs.createThreadApiRouter.call(void 0, agent.memoryModule));
22
+ router.use("/intent", _chunkYCTPMLZOcjs.createIntentApiRouter.call(void 0, agent.memoryModule));
23
+ }
24
+ return router;
25
+ };
26
+
27
+
28
+
29
+ exports.createApiRouter = createApiRouter;
30
+ //# sourceMappingURL=chunk-AHNKY3JY.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/Users/shyun/comcom/ain-agent/ain-adk/dist/cjs/chunk-AHNKY3JY.cjs","../../src/routes/api.routes.ts"],"names":[],"mappings":"AAAA;AACE;AACF,wDAA6B;AAC7B;AACE;AACF,wDAA6B;AAC7B;AACE;AACF,wDAA6B;AAC7B;AACE;AACF,wDAA6B;AAC7B;AACA;ACbA,kCAAuB;AAOhB,IAAM,gBAAA,EAAkB,CAAC,KAAA,EAAA,GAA4B;AAC3D,EAAA,MAAM,OAAA,EAAS,6BAAA,CAAO;AAEtB,EAAA,MAAA,CAAO,GAAA,CAAI,QAAA,EAAU,oDAAA,KAAqB,CAAM,WAAW,CAAC,CAAA;AAC5D,EAAA,MAAA,CAAO,GAAA,CAAI,QAAA,EAAU,oDAAA,KAA0B,CAAC,CAAA;AAChD,EAAA,GAAA,CAAI,KAAA,CAAM,YAAA,EAAc;AACvB,IAAA,MAAA,CAAO,GAAA,CAAI,UAAA,EAAY,qDAAA,KAAsB,CAAM,YAAY,CAAC,CAAA;AAChE,IAAA,MAAA,CAAO,GAAA,CAAI,SAAA,EAAW,qDAAA,KAAsB,CAAM,YAAY,CAAC,CAAA;AAAA,EAChE;AAEA,EAAA,OAAO,MAAA;AACR,CAAA;ADOA;AACA;AACE;AACF,0CAAC","file":"/Users/shyun/comcom/ain-agent/ain-adk/dist/cjs/chunk-AHNKY3JY.cjs","sourcesContent":[null,"import { Router } from \"express\";\nimport type { AINAgent } from \"@/index.js\";\nimport { createAgentApiRouter } from \"./api/agent.routes.js\";\nimport { createIntentApiRouter } from \"./api/intent.routes.js\";\nimport { createModelApiRouter } from \"./api/model.routes.js\";\nimport { createThreadApiRouter } from \"./api/threads.routes.js\";\n\nexport const createApiRouter = (agent: AINAgent): Router => {\n\tconst router = Router();\n\n\trouter.use(\"/model\", createModelApiRouter(agent.modelModule));\n\trouter.use(\"/agent\", createAgentApiRouter(agent));\n\tif (agent.memoryModule) {\n\t\trouter.use(\"/threads\", createThreadApiRouter(agent.memoryModule));\n\t\trouter.use(\"/intent\", createIntentApiRouter(agent.memoryModule));\n\t}\n\n\treturn router;\n};\n"]}
@@ -0,0 +1,37 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
+
3
+ var _chunkBDQDZXZIcjs = require('./chunk-BDQDZXZI.cjs');
4
+
5
+
6
+ var _chunkX6R53KCLcjs = require('./chunk-X6R53KCL.cjs');
7
+
8
+
9
+ var _chunkICFTUZP5cjs = require('./chunk-ICFTUZP5.cjs');
10
+
11
+ // src/routes/a2a.routes.ts
12
+ var _server = require('@a2a-js/sdk/server');
13
+ var _express = require('express');
14
+ var createA2ARouter = (agent) => {
15
+ const router = _express.Router.call(void 0, );
16
+ const taskStore = new (0, _server.InMemoryTaskStore)();
17
+ const queryStreamService = new (0, _chunkX6R53KCLcjs.QueryStreamService)(
18
+ agent.modelModule,
19
+ agent.a2aModule,
20
+ agent.mcpModule,
21
+ agent.memoryModule,
22
+ agent.manifest.prompts
23
+ );
24
+ const a2aService = new (0, _chunkBDQDZXZIcjs.A2AService)(queryStreamService);
25
+ const a2aController = new (0, _chunkICFTUZP5cjs.A2AController)(
26
+ a2aService,
27
+ taskStore,
28
+ agent.generateAgentCard
29
+ );
30
+ router.post("/", a2aController.handleA2ARequest);
31
+ return router;
32
+ };
33
+
34
+
35
+
36
+ exports.createA2ARouter = createA2ARouter;
37
+ //# sourceMappingURL=chunk-AIUJ6CZR.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/Users/shyun/comcom/ain-agent/ain-adk/dist/cjs/chunk-AIUJ6CZR.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-AIUJ6CZR.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"]}
@@ -0,0 +1,78 @@
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
+
3
+ var _chunkZ6TQ7TFOcjs = require('./chunk-Z6TQ7TFO.cjs');
4
+
5
+ // src/controllers/query.controller.ts
6
+ var _httpstatuscodes = require('http-status-codes');
7
+ var QueryController = (_class = class {
8
+
9
+
10
+ constructor(queryService, queryStreamService) {;_class.prototype.__init.call(this);_class.prototype.__init2.call(this);
11
+ this.queryService = queryService;
12
+ this.queryStreamService = queryStreamService;
13
+ }
14
+ __init() {this.handleQueryRequest = async (req, res, next) => {
15
+ const { type, message, threadId } = req.body;
16
+ const userId = res.locals.userId;
17
+ try {
18
+ const result = await this.queryService.handleQuery(
19
+ { type, userId, threadId },
20
+ message
21
+ );
22
+ res.status(200).json(result);
23
+ } catch (error) {
24
+ next(error);
25
+ }
26
+ }}
27
+ __init2() {this.handleQueryStreamRequest = async (req, res, next) => {
28
+ const { type, threadId, message } = req.body;
29
+ const userId = res.locals.userId;
30
+ if (!this.queryStreamService) {
31
+ const error = new (0, _chunkZ6TQ7TFOcjs.AinHttpError)(
32
+ _httpstatuscodes.StatusCodes.NOT_IMPLEMENTED,
33
+ "Stream query not supported"
34
+ );
35
+ return next(error);
36
+ }
37
+ res.writeHead(200, {
38
+ "Content-Type": "text/event-stream",
39
+ "Cache-Control": "no-cache",
40
+ Connection: "keep-alive",
41
+ "X-Accel-Buffering": "no"
42
+ // nginx 버퍼링 비활성화
43
+ });
44
+ res.flushHeaders();
45
+ res.write(":ok\n\n");
46
+ const keepaliveInterval = setInterval(() => {
47
+ res.write(":keepalive\n\n");
48
+ }, 1e4);
49
+ const stream = this.queryStreamService.handleQueryStream(
50
+ { type, userId, threadId },
51
+ message
52
+ );
53
+ try {
54
+ for await (const event of stream) {
55
+ res.write(
56
+ `event: ${event.event}
57
+ data: ${JSON.stringify(event.data)}
58
+
59
+ `
60
+ );
61
+ }
62
+ } catch (error) {
63
+ const errMsg = _optionalChain([error, 'optionalAccess', _2 => _2.message]) || "Failed to handle query stream";
64
+ res.write(`event: error
65
+ data: ${errMsg}
66
+
67
+ `);
68
+ } finally {
69
+ clearInterval(keepaliveInterval);
70
+ res.end();
71
+ }
72
+ }}
73
+ }, _class);
74
+
75
+
76
+
77
+ exports.QueryController = QueryController;
78
+ //# sourceMappingURL=chunk-AQXHOGJD.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/Users/shyun/comcom/ain-agent/ain-adk/dist/cjs/chunk-AQXHOGJD.cjs","../../src/controllers/query.controller.ts"],"names":[],"mappings":"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","file":"/Users/shyun/comcom/ain-agent/ain-adk/dist/cjs/chunk-AQXHOGJD.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\tres.writeHead(200, {\n\t\t\t\"Content-Type\": \"text/event-stream\",\n\t\t\t\"Cache-Control\": \"no-cache\",\n\t\t\tConnection: \"keep-alive\",\n\t\t\t\"X-Accel-Buffering\": \"no\", // nginx 버퍼링 비활성화\n\t\t});\n\t\tres.flushHeaders();\n\t\tres.write(\":ok\\n\\n\");\n\n\t\tconst keepaliveInterval = setInterval(() => {\n\t\t\tres.write(\":keepalive\\n\\n\");\n\t\t}, 10000); // 10초마다 keepalive 전송\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\tclearInterval(keepaliveInterval);\n\t\t\tres.end();\n\t\t}\n\t};\n}\n"]}
@@ -0,0 +1,36 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
+
3
+ var _chunkBDQDZXZIcjs = require('./chunk-BDQDZXZI.cjs');
4
+
5
+
6
+ var _chunk37J4FFJ3cjs = require('./chunk-37J4FFJ3.cjs');
7
+
8
+
9
+ var _chunkICFTUZP5cjs = require('./chunk-ICFTUZP5.cjs');
10
+
11
+ // src/routes/a2a.routes.ts
12
+ var _server = require('@a2a-js/sdk/server');
13
+ var _express = require('express');
14
+ var createA2ARouter = (agent) => {
15
+ const router = _express.Router.call(void 0, );
16
+ const taskStore = new (0, _server.InMemoryTaskStore)();
17
+ const queryStreamService = new (0, _chunk37J4FFJ3cjs.QueryStreamService)(
18
+ agent.modelModule,
19
+ agent.a2aModule,
20
+ agent.mcpModule,
21
+ agent.memoryModule
22
+ );
23
+ const a2aService = new (0, _chunkBDQDZXZIcjs.A2AService)(queryStreamService);
24
+ const a2aController = new (0, _chunkICFTUZP5cjs.A2AController)(
25
+ a2aService,
26
+ taskStore,
27
+ agent.generateAgentCard
28
+ );
29
+ router.post("/", a2aController.handleA2ARequest);
30
+ return router;
31
+ };
32
+
33
+
34
+
35
+ exports.createA2ARouter = createA2ARouter;
36
+ //# sourceMappingURL=chunk-ASEYNIPL.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/Users/shyun/comcom/ain-agent/ain-adk/dist/cjs/chunk-ASEYNIPL.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;AAAA,EACP,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-ASEYNIPL.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);\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"]}
@@ -0,0 +1,28 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
+
3
+ var _chunk2P3ZBNVNcjs = require('./chunk-2P3ZBNVN.cjs');
4
+
5
+
6
+ var _chunkOU5UB2HFcjs = require('./chunk-OU5UB2HF.cjs');
7
+
8
+
9
+ var _chunkS6BHSEXFcjs = require('./chunk-S6BHSEXF.cjs');
10
+
11
+ // src/routes/intent.routes.ts
12
+ var _express = require('express');
13
+ var createIntentRouter = (agent) => {
14
+ const router = _express.Router.call(void 0, );
15
+ const threadService = new (0, _chunk2P3ZBNVNcjs.ThreadService)(agent.memoryModule);
16
+ const triggerService = new (0, _chunkOU5UB2HFcjs.IntentTriggerService)(
17
+ agent.modelModule,
18
+ agent.memoryModule
19
+ );
20
+ const intentController = new (0, _chunkS6BHSEXFcjs.IntentController)(threadService, triggerService);
21
+ router.post("/trigger", intentController.handleIntentTrigger);
22
+ return router;
23
+ };
24
+
25
+
26
+
27
+ exports.createIntentRouter = createIntentRouter;
28
+ //# sourceMappingURL=chunk-AWHKDGXN.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/Users/shyun/comcom/ain-agent/ain-adk/dist/cjs/chunk-AWHKDGXN.cjs","../../src/routes/intent.routes.ts"],"names":[],"mappings":"AAAA;AACE;AACF,wDAA6B;AAC7B;AACE;AACF,wDAA6B;AAC7B;AACE;AACF,wDAA6B;AAC7B;AACA;ACVA,kCAAuB;AAMhB,IAAM,mBAAA,EAAqB,CAAC,KAAA,EAAA,GAA4B;AAC9D,EAAA,MAAM,OAAA,EAAS,6BAAA,CAAO;AAEtB,EAAA,MAAM,cAAA,EAAgB,IAAI,oCAAA,CAAc,KAAA,CAAM,YAAY,CAAA;AAC1D,EAAA,MAAM,eAAA,EAAiB,IAAI,2CAAA;AAAA,IAC1B,KAAA,CAAM,WAAA;AAAA,IACN,KAAA,CAAM;AAAA,EACP,CAAA;AAEA,EAAA,MAAM,iBAAA,EAAmB,IAAI,uCAAA,CAAiB,aAAA,EAAe,cAAc,CAAA;AAE3E,EAAA,MAAA,CAAO,IAAA,CAAK,UAAA,EAAY,gBAAA,CAAiB,mBAAmB,CAAA;AAE5D,EAAA,OAAO,MAAA;AACR,CAAA;ADGA;AACA;AACE;AACF,gDAAC","file":"/Users/shyun/comcom/ain-agent/ain-adk/dist/cjs/chunk-AWHKDGXN.cjs","sourcesContent":[null,"import { Router } from \"express\";\nimport { IntentController } from \"@/controllers/intent.controller\";\nimport type { AINAgent } from \"@/index.js\";\nimport { IntentTriggerService } from \"@/services\";\nimport { ThreadService } from \"@/services/thread.service\";\n\nexport const createIntentRouter = (agent: AINAgent): Router => {\n\tconst router = Router();\n\n\tconst threadService = new ThreadService(agent.memoryModule);\n\tconst triggerService = new IntentTriggerService(\n\t\tagent.modelModule,\n\t\tagent.memoryModule,\n\t);\n\n\tconst intentController = new IntentController(threadService, triggerService);\n\n\trouter.post(\"/trigger\", intentController.handleIntentTrigger);\n\n\treturn router;\n};\n"]}