@ainetwork/adk 0.2.6 → 0.2.8

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 (512) hide show
  1. package/dist/cjs/{chunk-QTUDQSRL.cjs → chunk-2GJKQSDQ.cjs} +3 -3
  2. package/dist/cjs/{chunk-KFIYXWPY.cjs.map → chunk-2GJKQSDQ.cjs.map} +1 -1
  3. package/dist/cjs/{chunk-77SJGFVU.cjs → chunk-2NKMH5DO.cjs} +6 -6
  4. package/dist/cjs/{chunk-3VY3LHQO.cjs.map → chunk-2NKMH5DO.cjs.map} +1 -1
  5. package/dist/cjs/{chunk-6CDGUUXE.cjs → chunk-2UK6RDHB.cjs} +5 -6
  6. package/dist/cjs/chunk-2UK6RDHB.cjs.map +1 -0
  7. package/dist/cjs/chunk-3BPHCG6M.cjs +30 -0
  8. package/dist/cjs/chunk-3BPHCG6M.cjs.map +1 -0
  9. package/dist/cjs/{chunk-3VY3LHQO.cjs → chunk-3GPSKXKA.cjs} +5 -5
  10. package/dist/cjs/{chunk-77SJGFVU.cjs.map → chunk-3GPSKXKA.cjs.map} +1 -1
  11. package/dist/cjs/{chunk-HCN6JEJA.cjs → chunk-3IB2WAKN.cjs} +5 -5
  12. package/dist/cjs/{chunk-2L5KFFHV.cjs.map → chunk-3IB2WAKN.cjs.map} +1 -1
  13. package/dist/cjs/{chunk-5JGNWLHJ.cjs → chunk-3SYBDGMH.cjs} +5 -5
  14. package/dist/cjs/{chunk-5JGNWLHJ.cjs.map → chunk-3SYBDGMH.cjs.map} +1 -1
  15. package/dist/cjs/{chunk-KFIYXWPY.cjs → chunk-45H4WOKN.cjs} +5 -5
  16. package/dist/cjs/{chunk-HCN6JEJA.cjs.map → chunk-45H4WOKN.cjs.map} +1 -1
  17. package/dist/cjs/{chunk-CHC3HECE.cjs → chunk-4PFJ7PDN.cjs} +5 -5
  18. package/dist/cjs/{chunk-CHC3HECE.cjs.map → chunk-4PFJ7PDN.cjs.map} +1 -1
  19. package/dist/cjs/chunk-4TK4MTAR.cjs +17 -0
  20. package/dist/cjs/chunk-4TK4MTAR.cjs.map +1 -0
  21. package/dist/cjs/chunk-4Z4HSVCQ.cjs +21 -0
  22. package/dist/cjs/chunk-4Z4HSVCQ.cjs.map +1 -0
  23. package/dist/cjs/{chunk-6KB562A7.cjs → chunk-5ARBSKWU.cjs} +5 -5
  24. package/dist/cjs/{chunk-6KB562A7.cjs.map → chunk-5ARBSKWU.cjs.map} +1 -1
  25. package/dist/cjs/chunk-5FZ7QLJD.cjs +17 -0
  26. package/dist/cjs/chunk-5FZ7QLJD.cjs.map +1 -0
  27. package/dist/cjs/chunk-5WNANWIO.cjs +43 -0
  28. package/dist/cjs/chunk-5WNANWIO.cjs.map +1 -0
  29. package/dist/cjs/chunk-67EDI57F.cjs +37 -0
  30. package/dist/cjs/chunk-67EDI57F.cjs.map +1 -0
  31. package/dist/cjs/{chunk-HQ4X5TPN.cjs → chunk-6S376RMW.cjs} +13 -12
  32. package/dist/cjs/chunk-6S376RMW.cjs.map +1 -0
  33. package/dist/cjs/chunk-6UHPYXKS.cjs +381 -0
  34. package/dist/cjs/chunk-6UHPYXKS.cjs.map +1 -0
  35. package/dist/cjs/{chunk-3ZFV2K7O.cjs → chunk-6WAVK3BS.cjs} +43 -29
  36. package/dist/cjs/chunk-6WAVK3BS.cjs.map +1 -0
  37. package/dist/cjs/chunk-6YHPJAGA.cjs +1 -0
  38. package/dist/cjs/chunk-6YHPJAGA.cjs.map +1 -0
  39. package/dist/cjs/chunk-7HH3N36Q.cjs +43 -0
  40. package/dist/cjs/chunk-7HH3N36Q.cjs.map +1 -0
  41. package/dist/cjs/chunk-7J5DYKDJ.cjs +376 -0
  42. package/dist/cjs/chunk-7J5DYKDJ.cjs.map +1 -0
  43. package/dist/cjs/chunk-7Y3W3SIL.cjs +37 -0
  44. package/dist/cjs/chunk-7Y3W3SIL.cjs.map +1 -0
  45. package/dist/cjs/{chunk-UDK47YLB.cjs → chunk-AEYHJEGM.cjs} +5 -1
  46. package/dist/cjs/chunk-AEYHJEGM.cjs.map +1 -0
  47. package/dist/cjs/chunk-AIAIY7IU.cjs +43 -0
  48. package/dist/cjs/chunk-AIAIY7IU.cjs.map +1 -0
  49. package/dist/cjs/chunk-APGW3LWW.cjs +43 -0
  50. package/dist/cjs/chunk-APGW3LWW.cjs.map +1 -0
  51. package/dist/cjs/{chunk-7UGA4QRJ.cjs → chunk-AWLDQTED.cjs} +21 -13
  52. package/dist/cjs/chunk-AWLDQTED.cjs.map +1 -0
  53. package/dist/cjs/{chunk-DEKRDA6Q.cjs → chunk-AXLG6NY4.cjs} +12 -12
  54. package/dist/cjs/chunk-AXLG6NY4.cjs.map +1 -0
  55. package/dist/cjs/chunk-AY3PG2UZ.cjs +126 -0
  56. package/dist/cjs/chunk-AY3PG2UZ.cjs.map +1 -0
  57. package/dist/cjs/chunk-B2XCYG4C.cjs +43 -0
  58. package/dist/cjs/chunk-B2XCYG4C.cjs.map +1 -0
  59. package/dist/cjs/chunk-BAPJ7AYM.cjs +43 -0
  60. package/dist/cjs/chunk-BAPJ7AYM.cjs.map +1 -0
  61. package/dist/cjs/chunk-BFWJLMUR.cjs +43 -0
  62. package/dist/cjs/chunk-BFWJLMUR.cjs.map +1 -0
  63. package/dist/cjs/chunk-BGEBE36B.cjs +43 -0
  64. package/dist/cjs/chunk-BGEBE36B.cjs.map +1 -0
  65. package/dist/cjs/chunk-BIDIP5MX.cjs +37 -0
  66. package/dist/cjs/chunk-BIDIP5MX.cjs.map +1 -0
  67. package/dist/cjs/chunk-BKU7EWEM.cjs +37 -0
  68. package/dist/cjs/chunk-BKU7EWEM.cjs.map +1 -0
  69. package/dist/cjs/chunk-C5V4X3ZH.cjs +364 -0
  70. package/dist/cjs/chunk-C5V4X3ZH.cjs.map +1 -0
  71. package/dist/cjs/chunk-C77OTZYZ.cjs +43 -0
  72. package/dist/cjs/chunk-C77OTZYZ.cjs.map +1 -0
  73. package/dist/cjs/chunk-C7SJ2X3X.cjs +43 -0
  74. package/dist/cjs/chunk-C7SJ2X3X.cjs.map +1 -0
  75. package/dist/cjs/{chunk-M4MYRCSF.cjs → chunk-CD3RWOCR.cjs} +1 -1
  76. package/dist/cjs/chunk-CD3RWOCR.cjs.map +1 -0
  77. package/dist/cjs/chunk-CEUCTNAJ.cjs +43 -0
  78. package/dist/cjs/chunk-CEUCTNAJ.cjs.map +1 -0
  79. package/dist/cjs/chunk-CFILMIB6.cjs +25 -0
  80. package/dist/cjs/chunk-CFILMIB6.cjs.map +1 -0
  81. package/dist/cjs/chunk-CIV2QV4C.cjs +43 -0
  82. package/dist/cjs/chunk-CIV2QV4C.cjs.map +1 -0
  83. package/dist/cjs/chunk-CKE4RRTI.cjs +378 -0
  84. package/dist/cjs/chunk-CKE4RRTI.cjs.map +1 -0
  85. package/dist/cjs/chunk-EEND2E3Y.cjs +37 -0
  86. package/dist/cjs/chunk-EEND2E3Y.cjs.map +1 -0
  87. package/dist/cjs/chunk-ET7NGSCR.cjs +382 -0
  88. package/dist/cjs/chunk-ET7NGSCR.cjs.map +1 -0
  89. package/dist/cjs/chunk-EXKLB7FF.cjs +18 -0
  90. package/dist/cjs/{chunk-M4MYRCSF.cjs.map → chunk-EXKLB7FF.cjs.map} +1 -1
  91. package/dist/cjs/chunk-F6LFBKIF.cjs +43 -0
  92. package/dist/cjs/chunk-F6LFBKIF.cjs.map +1 -0
  93. package/dist/cjs/chunk-FCIBDAL5.cjs +364 -0
  94. package/dist/cjs/chunk-FCIBDAL5.cjs.map +1 -0
  95. package/dist/cjs/chunk-FGBHPONX.cjs +43 -0
  96. package/dist/cjs/chunk-FGBHPONX.cjs.map +1 -0
  97. package/dist/cjs/chunk-FJ2S5TGS.cjs +37 -0
  98. package/dist/cjs/chunk-FJ2S5TGS.cjs.map +1 -0
  99. package/dist/cjs/{chunk-7PZP7YSA.cjs → chunk-FTRCEUDB.cjs} +10 -10
  100. package/dist/cjs/chunk-FTRCEUDB.cjs.map +1 -0
  101. package/dist/cjs/chunk-FZEACIU2.cjs +37 -0
  102. package/dist/cjs/chunk-FZEACIU2.cjs.map +1 -0
  103. package/dist/cjs/chunk-GAXPKI2P.cjs +364 -0
  104. package/dist/cjs/chunk-GAXPKI2P.cjs.map +1 -0
  105. package/dist/cjs/chunk-GBQXIGWQ.cjs +37 -0
  106. package/dist/cjs/chunk-GBQXIGWQ.cjs.map +1 -0
  107. package/dist/cjs/chunk-GGP6URMG.cjs +43 -0
  108. package/dist/cjs/chunk-GGP6URMG.cjs.map +1 -0
  109. package/dist/cjs/chunk-GO2OLIWF.cjs +359 -0
  110. package/dist/cjs/chunk-GO2OLIWF.cjs.map +1 -0
  111. package/dist/cjs/{chunk-7K2R2UKB.cjs → chunk-GP3SSTAQ.cjs} +1 -1
  112. package/dist/cjs/chunk-GP3SSTAQ.cjs.map +1 -0
  113. package/dist/cjs/chunk-GYIACLMZ.cjs +376 -0
  114. package/dist/cjs/chunk-GYIACLMZ.cjs.map +1 -0
  115. package/dist/cjs/chunk-GZE5BVB2.cjs +361 -0
  116. package/dist/cjs/chunk-GZE5BVB2.cjs.map +1 -0
  117. package/dist/cjs/chunk-HPCNM6XP.cjs +25 -0
  118. package/dist/cjs/chunk-HPCNM6XP.cjs.map +1 -0
  119. package/dist/cjs/chunk-HXRGFZL7.cjs +360 -0
  120. package/dist/cjs/chunk-HXRGFZL7.cjs.map +1 -0
  121. package/dist/cjs/chunk-IC5TWI4A.cjs +37 -0
  122. package/dist/cjs/chunk-IC5TWI4A.cjs.map +1 -0
  123. package/dist/cjs/chunk-ICTSMRXC.cjs +360 -0
  124. package/dist/cjs/chunk-ICTSMRXC.cjs.map +1 -0
  125. package/dist/cjs/chunk-IH4I2JTE.cjs +348 -0
  126. package/dist/cjs/chunk-IH4I2JTE.cjs.map +1 -0
  127. package/dist/cjs/chunk-IKPQ52KY.cjs +156 -0
  128. package/dist/cjs/chunk-IKPQ52KY.cjs.map +1 -0
  129. package/dist/cjs/chunk-J5WX6GPC.cjs +43 -0
  130. package/dist/cjs/chunk-J5WX6GPC.cjs.map +1 -0
  131. package/dist/cjs/chunk-JFLQREPM.cjs +37 -0
  132. package/dist/cjs/chunk-JFLQREPM.cjs.map +1 -0
  133. package/dist/cjs/chunk-JO6AZASU.cjs +37 -0
  134. package/dist/cjs/chunk-JO6AZASU.cjs.map +1 -0
  135. package/dist/cjs/chunk-JUPAGIP4.cjs +43 -0
  136. package/dist/cjs/chunk-JUPAGIP4.cjs.map +1 -0
  137. package/dist/cjs/chunk-JWIVQT6C.cjs +37 -0
  138. package/dist/cjs/chunk-JWIVQT6C.cjs.map +1 -0
  139. package/dist/cjs/chunk-JYHYAQQ2.cjs +43 -0
  140. package/dist/cjs/chunk-JYHYAQQ2.cjs.map +1 -0
  141. package/dist/cjs/chunk-K6HWDDNX.cjs +367 -0
  142. package/dist/cjs/chunk-K6HWDDNX.cjs.map +1 -0
  143. package/dist/cjs/chunk-K6J5XJRM.cjs +382 -0
  144. package/dist/cjs/chunk-K6J5XJRM.cjs.map +1 -0
  145. package/dist/cjs/chunk-KAF2EDPZ.cjs +123 -0
  146. package/dist/cjs/chunk-KAF2EDPZ.cjs.map +1 -0
  147. package/dist/cjs/{chunk-FRWC3FQ4.cjs → chunk-KBWHLMA4.cjs} +7 -3
  148. package/dist/cjs/chunk-KBWHLMA4.cjs.map +1 -0
  149. package/dist/cjs/{chunk-6KXMM7GP.cjs → chunk-KH25JPQS.cjs} +5 -6
  150. package/dist/cjs/chunk-KH25JPQS.cjs.map +1 -0
  151. package/dist/cjs/chunk-KHAIZONV.cjs +43 -0
  152. package/dist/cjs/chunk-KHAIZONV.cjs.map +1 -0
  153. package/dist/cjs/chunk-KQ4MBNUW.cjs +43 -0
  154. package/dist/cjs/chunk-KQ4MBNUW.cjs.map +1 -0
  155. package/dist/cjs/chunk-L5ZICBT4.cjs +37 -0
  156. package/dist/cjs/chunk-L5ZICBT4.cjs.map +1 -0
  157. package/dist/cjs/chunk-L6RI7RO4.cjs +11 -0
  158. package/dist/cjs/chunk-L6RI7RO4.cjs.map +1 -0
  159. package/dist/cjs/chunk-MADCWTBO.cjs +18 -0
  160. package/dist/cjs/chunk-MADCWTBO.cjs.map +1 -0
  161. package/dist/cjs/{chunk-BBFYVWE2.cjs → chunk-MV6L3NPY.cjs} +39 -26
  162. package/dist/cjs/chunk-MV6L3NPY.cjs.map +1 -0
  163. package/dist/cjs/chunk-MXDXXOXE.cjs +126 -0
  164. package/dist/cjs/chunk-MXDXXOXE.cjs.map +1 -0
  165. package/dist/cjs/chunk-N6VAOFEP.cjs +37 -0
  166. package/dist/cjs/chunk-N6VAOFEP.cjs.map +1 -0
  167. package/dist/cjs/chunk-NWMGBXPZ.cjs +37 -0
  168. package/dist/cjs/chunk-NWMGBXPZ.cjs.map +1 -0
  169. package/dist/cjs/chunk-OAPMGKE2.cjs +123 -0
  170. package/dist/cjs/chunk-OAPMGKE2.cjs.map +1 -0
  171. package/dist/cjs/chunk-OCGEXAVI.cjs +373 -0
  172. package/dist/cjs/chunk-OCGEXAVI.cjs.map +1 -0
  173. package/dist/cjs/chunk-OOSRLRNL.cjs +37 -0
  174. package/dist/cjs/chunk-OOSRLRNL.cjs.map +1 -0
  175. package/dist/cjs/chunk-ORLXR6OZ.cjs +257 -0
  176. package/dist/cjs/chunk-ORLXR6OZ.cjs.map +1 -0
  177. package/dist/cjs/chunk-OVTUSYSU.cjs +24 -0
  178. package/dist/cjs/chunk-OVTUSYSU.cjs.map +1 -0
  179. package/dist/cjs/chunk-OZKAPLCE.cjs +43 -0
  180. package/dist/cjs/chunk-OZKAPLCE.cjs.map +1 -0
  181. package/dist/cjs/chunk-P42QPS2N.cjs +43 -0
  182. package/dist/cjs/chunk-P42QPS2N.cjs.map +1 -0
  183. package/dist/cjs/chunk-PHTT7NVZ.cjs +37 -0
  184. package/dist/cjs/chunk-PHTT7NVZ.cjs.map +1 -0
  185. package/dist/cjs/chunk-PNN5WGWA.cjs +43 -0
  186. package/dist/cjs/chunk-PNN5WGWA.cjs.map +1 -0
  187. package/dist/cjs/chunk-Q673YXOW.cjs +37 -0
  188. package/dist/cjs/chunk-Q673YXOW.cjs.map +1 -0
  189. package/dist/cjs/chunk-QCEMS4A3.cjs +168 -0
  190. package/dist/cjs/chunk-QCEMS4A3.cjs.map +1 -0
  191. package/dist/cjs/{chunk-YTAWBEPQ.cjs → chunk-QV2CSL6T.cjs} +26 -11
  192. package/dist/cjs/chunk-QV2CSL6T.cjs.map +1 -0
  193. package/dist/cjs/chunk-QW4T5RFB.cjs +374 -0
  194. package/dist/cjs/chunk-QW4T5RFB.cjs.map +1 -0
  195. package/dist/cjs/chunk-RA62RT7K.cjs +43 -0
  196. package/dist/cjs/chunk-RA62RT7K.cjs.map +1 -0
  197. package/dist/cjs/chunk-RXMGXWLH.cjs +352 -0
  198. package/dist/cjs/chunk-RXMGXWLH.cjs.map +1 -0
  199. package/dist/cjs/chunk-SEJO6F5X.cjs +43 -0
  200. package/dist/cjs/chunk-SEJO6F5X.cjs.map +1 -0
  201. package/dist/cjs/chunk-SMKJY53T.cjs +367 -0
  202. package/dist/cjs/chunk-SMKJY53T.cjs.map +1 -0
  203. package/dist/cjs/chunk-SUWC3YAJ.cjs +359 -0
  204. package/dist/cjs/chunk-SUWC3YAJ.cjs.map +1 -0
  205. package/dist/cjs/{chunk-3M5DZAJA.cjs → chunk-SZU5VCQL.cjs} +7 -8
  206. package/dist/cjs/chunk-SZU5VCQL.cjs.map +1 -0
  207. package/dist/cjs/chunk-T2CE7W67.cjs +43 -0
  208. package/dist/cjs/chunk-T2CE7W67.cjs.map +1 -0
  209. package/dist/cjs/chunk-TBQF2VIX.cjs +43 -0
  210. package/dist/cjs/chunk-TBQF2VIX.cjs.map +1 -0
  211. package/dist/cjs/chunk-TK2MNTOI.cjs +43 -0
  212. package/dist/cjs/chunk-TK2MNTOI.cjs.map +1 -0
  213. package/dist/cjs/chunk-TOVEWQW2.cjs +43 -0
  214. package/dist/cjs/chunk-TOVEWQW2.cjs.map +1 -0
  215. package/dist/cjs/{chunk-EHULB7WG.cjs → chunk-TS46OIE7.cjs} +18 -15
  216. package/dist/cjs/chunk-TS46OIE7.cjs.map +1 -0
  217. package/dist/cjs/chunk-TYLHXACM.cjs +103 -0
  218. package/dist/cjs/chunk-TYLHXACM.cjs.map +1 -0
  219. package/dist/cjs/chunk-UDLSTQ4I.cjs +21 -0
  220. package/dist/cjs/chunk-UDLSTQ4I.cjs.map +1 -0
  221. package/dist/cjs/chunk-UFVWBUJM.cjs +365 -0
  222. package/dist/cjs/chunk-UFVWBUJM.cjs.map +1 -0
  223. package/dist/cjs/chunk-USDDAUYF.cjs +364 -0
  224. package/dist/cjs/chunk-USDDAUYF.cjs.map +1 -0
  225. package/dist/cjs/chunk-UUWWBHFR.cjs +37 -0
  226. package/dist/cjs/chunk-UUWWBHFR.cjs.map +1 -0
  227. package/dist/cjs/chunk-UVN2DE6N.cjs +368 -0
  228. package/dist/cjs/chunk-UVN2DE6N.cjs.map +1 -0
  229. package/dist/cjs/chunk-VKZGZZY4.cjs +42 -0
  230. package/dist/cjs/chunk-VKZGZZY4.cjs.map +1 -0
  231. package/dist/cjs/chunk-VVLC6T66.cjs +37 -0
  232. package/dist/cjs/chunk-VVLC6T66.cjs.map +1 -0
  233. package/dist/cjs/chunk-VZS6VPLE.cjs +26 -0
  234. package/dist/cjs/chunk-VZS6VPLE.cjs.map +1 -0
  235. package/dist/cjs/chunk-W4PRBE6H.cjs +222 -0
  236. package/dist/cjs/chunk-W4PRBE6H.cjs.map +1 -0
  237. package/dist/cjs/chunk-WDPCMSZM.cjs +37 -0
  238. package/dist/cjs/chunk-WDPCMSZM.cjs.map +1 -0
  239. package/dist/cjs/chunk-WGFYVOP5.cjs +30 -0
  240. package/dist/cjs/chunk-WGFYVOP5.cjs.map +1 -0
  241. package/dist/cjs/chunk-X276C2SQ.cjs +37 -0
  242. package/dist/cjs/chunk-X276C2SQ.cjs.map +1 -0
  243. package/dist/cjs/chunk-X3XEJQRF.cjs +37 -0
  244. package/dist/cjs/chunk-X3XEJQRF.cjs.map +1 -0
  245. package/dist/cjs/chunk-X5ARZJ77.cjs +353 -0
  246. package/dist/cjs/chunk-X5ARZJ77.cjs.map +1 -0
  247. package/dist/cjs/chunk-XIR7UR77.cjs +37 -0
  248. package/dist/cjs/chunk-XIR7UR77.cjs.map +1 -0
  249. package/dist/cjs/chunk-XIXM5VST.cjs +37 -0
  250. package/dist/cjs/chunk-XIXM5VST.cjs.map +1 -0
  251. package/dist/cjs/chunk-XIYB6QQC.cjs +37 -0
  252. package/dist/cjs/chunk-XIYB6QQC.cjs.map +1 -0
  253. package/dist/cjs/chunk-XM22DX5O.cjs +43 -0
  254. package/dist/cjs/chunk-XM22DX5O.cjs.map +1 -0
  255. package/dist/cjs/chunk-XVYFBQRE.cjs +37 -0
  256. package/dist/cjs/chunk-XVYFBQRE.cjs.map +1 -0
  257. package/dist/cjs/chunk-YIRGAWMS.cjs +30 -0
  258. package/dist/cjs/chunk-YIRGAWMS.cjs.map +1 -0
  259. package/dist/cjs/chunk-YORAOGFM.cjs +37 -0
  260. package/dist/cjs/chunk-YORAOGFM.cjs.map +1 -0
  261. package/dist/cjs/chunk-YUCTXIN5.cjs +37 -0
  262. package/dist/cjs/chunk-YUCTXIN5.cjs.map +1 -0
  263. package/dist/cjs/chunk-YUEKJCO7.cjs +18 -0
  264. package/dist/cjs/chunk-YUEKJCO7.cjs.map +1 -0
  265. package/dist/cjs/chunk-YVE4DLAT.cjs +43 -0
  266. package/dist/cjs/chunk-YVE4DLAT.cjs.map +1 -0
  267. package/dist/cjs/chunk-ZBD7JCDL.cjs +381 -0
  268. package/dist/cjs/chunk-ZBD7JCDL.cjs.map +1 -0
  269. package/dist/cjs/chunk-ZFSXQFEK.cjs +164 -0
  270. package/dist/cjs/chunk-ZFSXQFEK.cjs.map +1 -0
  271. package/dist/cjs/chunk-ZNMRAQT2.cjs +164 -0
  272. package/dist/cjs/chunk-ZNMRAQT2.cjs.map +1 -0
  273. package/dist/cjs/chunk-ZS3QMRHK.cjs +165 -0
  274. package/dist/cjs/chunk-ZS3QMRHK.cjs.map +1 -0
  275. package/dist/cjs/chunk-ZZ3SXOOC.cjs +37 -0
  276. package/dist/cjs/chunk-ZZ3SXOOC.cjs.map +1 -0
  277. package/dist/cjs/controllers/api/agent.api.controller.cjs +7 -0
  278. package/dist/cjs/controllers/api/agent.api.controller.cjs.map +1 -0
  279. package/dist/cjs/controllers/api/intent.api.controller.cjs +7 -0
  280. package/dist/cjs/controllers/api/intent.api.controller.cjs.map +1 -0
  281. package/dist/cjs/controllers/index.cjs +5 -1
  282. package/dist/cjs/controllers/index.cjs.map +1 -1
  283. package/dist/cjs/index.cjs +19 -12
  284. package/dist/cjs/index.cjs.map +1 -1
  285. package/dist/cjs/modules/a2a/a2a.connector.cjs +8 -0
  286. package/dist/cjs/modules/a2a/a2a.connector.cjs.map +1 -0
  287. package/dist/cjs/modules/a2a/a2a.module.cjs +5 -5
  288. package/dist/cjs/modules/index.cjs +11 -11
  289. package/dist/cjs/modules/index.cjs.map +1 -1
  290. package/dist/cjs/modules/mcp/mcp.connector.cjs +8 -0
  291. package/dist/cjs/modules/mcp/mcp.connector.cjs.map +1 -0
  292. package/dist/cjs/modules/mcp/mcp.module.cjs +4 -4
  293. package/dist/cjs/modules/models/base.model.cjs +2 -2
  294. package/dist/cjs/routes/a2a.routes.cjs +7 -5
  295. package/dist/cjs/routes/a2a.routes.cjs.map +1 -1
  296. package/dist/cjs/routes/api/agent.routes.cjs +8 -0
  297. package/dist/cjs/routes/api/agent.routes.cjs.map +1 -0
  298. package/dist/cjs/routes/api/intent.routes.cjs +9 -0
  299. package/dist/cjs/routes/api/intent.routes.cjs.map +1 -0
  300. package/dist/cjs/routes/api.routes.cjs +6 -2
  301. package/dist/cjs/routes/api.routes.cjs.map +1 -1
  302. package/dist/cjs/routes/index.cjs +19 -9
  303. package/dist/cjs/routes/index.cjs.map +1 -1
  304. package/dist/cjs/routes/query.routes.cjs +9 -6
  305. package/dist/cjs/routes/query.routes.cjs.map +1 -1
  306. package/dist/cjs/services/index.cjs +8 -5
  307. package/dist/cjs/services/index.cjs.map +1 -1
  308. package/dist/cjs/services/intents/fulfill-stream.service.cjs +10 -0
  309. package/dist/cjs/services/intents/fulfill-stream.service.cjs.map +1 -0
  310. package/dist/cjs/services/intents/fulfill.service.cjs +10 -0
  311. package/dist/cjs/services/intents/fulfill.service.cjs.map +1 -0
  312. package/dist/cjs/services/intents/trigger.service.cjs +8 -0
  313. package/dist/cjs/services/intents/trigger.service.cjs.map +1 -0
  314. package/dist/cjs/services/query-stream.service.cjs +6 -4
  315. package/dist/cjs/services/query-stream.service.cjs.map +1 -1
  316. package/dist/cjs/services/query.service.cjs +6 -4
  317. package/dist/cjs/services/query.service.cjs.map +1 -1
  318. package/dist/cjs/types/connector.cjs +7 -0
  319. package/dist/cjs/types/connector.cjs.map +1 -0
  320. package/dist/cjs/types/memory.cjs +2 -2
  321. package/dist/esm/chunk-275JHD5P.js +17 -0
  322. package/dist/esm/chunk-275JHD5P.js.map +1 -0
  323. package/dist/esm/{chunk-WP276EXC.js → chunk-5T7E533R.js} +2 -2
  324. package/dist/esm/{chunk-R44LLFOD.js → chunk-6OHUQ6DV.js} +3 -3
  325. package/dist/esm/chunk-7CULQDJF.js +11 -0
  326. package/dist/esm/chunk-7CULQDJF.js.map +1 -0
  327. package/dist/esm/chunk-DFXHJUGV.js +42 -0
  328. package/dist/esm/chunk-DFXHJUGV.js.map +1 -0
  329. package/dist/esm/{chunk-CDFLKADH.js → chunk-DHDFPHYD.js} +1 -1
  330. package/dist/esm/chunk-DHDFPHYD.js.map +1 -0
  331. package/dist/esm/chunk-E2RV322Z.js +222 -0
  332. package/dist/esm/chunk-E2RV322Z.js.map +1 -0
  333. package/dist/esm/chunk-EYZ5Z7FG.js +156 -0
  334. package/dist/esm/chunk-EYZ5Z7FG.js.map +1 -0
  335. package/dist/esm/{chunk-M3HZ2GQP.js → chunk-F3I4URTX.js} +9 -1
  336. package/dist/esm/chunk-F3I4URTX.js.map +1 -0
  337. package/dist/esm/chunk-IKYOHZYW.js +25 -0
  338. package/dist/esm/chunk-IKYOHZYW.js.map +1 -0
  339. package/dist/esm/chunk-IRGR2OHS.js +123 -0
  340. package/dist/esm/chunk-IRGR2OHS.js.map +1 -0
  341. package/dist/esm/chunk-OCONOO5Z.js +103 -0
  342. package/dist/esm/chunk-OCONOO5Z.js.map +1 -0
  343. package/dist/esm/chunk-PG3C4LQO.js +1 -0
  344. package/dist/esm/{chunk-MJEPJ62P.js → chunk-SHQWRBWS.js} +44 -27
  345. package/dist/esm/chunk-SHQWRBWS.js.map +1 -0
  346. package/dist/esm/chunk-TUEEIIR3.js +21 -0
  347. package/dist/esm/chunk-TUEEIIR3.js.map +1 -0
  348. package/dist/esm/chunk-WMZ6PYTE.js +24 -0
  349. package/dist/esm/chunk-WMZ6PYTE.js.map +1 -0
  350. package/dist/esm/{chunk-POQFOL6Y.js → chunk-X6JNM3XR.js} +1 -1
  351. package/dist/esm/{chunk-POQFOL6Y.js.map → chunk-X6JNM3XR.js.map} +1 -1
  352. package/dist/esm/chunk-XSFA3J2Y.js +40 -0
  353. package/dist/esm/chunk-XSFA3J2Y.js.map +1 -0
  354. package/dist/esm/chunk-XTPDMHUI.js +126 -0
  355. package/dist/esm/chunk-XTPDMHUI.js.map +1 -0
  356. package/dist/esm/{chunk-RNA32QWV.js → chunk-YDMTU6UH.js} +43 -29
  357. package/dist/esm/chunk-YDMTU6UH.js.map +1 -0
  358. package/dist/esm/controllers/a2a.controller.d.ts +1 -5
  359. package/dist/esm/controllers/api/agent.api.controller.d.ts +28 -0
  360. package/dist/esm/controllers/api/agent.api.controller.js +7 -0
  361. package/dist/esm/controllers/api/intent.api.controller.d.ts +14 -0
  362. package/dist/esm/controllers/api/intent.api.controller.js +7 -0
  363. package/dist/esm/controllers/api/model.api.controller.d.ts +1 -4
  364. package/dist/esm/controllers/index.d.ts +5 -5
  365. package/dist/esm/controllers/index.js +4 -0
  366. package/dist/esm/controllers/query.controller.d.ts +1 -5
  367. package/dist/esm/index.d.ts +1 -5
  368. package/dist/esm/index.js +16 -9
  369. package/dist/esm/index.js.map +1 -1
  370. package/dist/esm/modules/a2a/a2a.connector.d.ts +15 -0
  371. package/dist/esm/modules/a2a/a2a.connector.js +8 -0
  372. package/dist/esm/modules/a2a/a2a.module.d.ts +14 -10
  373. package/dist/esm/modules/a2a/a2a.module.js +4 -4
  374. package/dist/esm/modules/index.d.ts +1 -5
  375. package/dist/esm/modules/index.js +12 -12
  376. package/dist/esm/modules/mcp/mcp.connector.d.ts +20 -0
  377. package/dist/esm/modules/mcp/mcp.connector.js +8 -0
  378. package/dist/esm/modules/mcp/mcp.connector.js.map +1 -0
  379. package/dist/esm/modules/mcp/mcp.module.d.ts +6 -27
  380. package/dist/esm/modules/mcp/mcp.module.js +3 -3
  381. package/dist/esm/modules/memory/base.memory.d.ts +2 -2
  382. package/dist/esm/modules/models/base.model.d.ts +2 -5
  383. package/dist/esm/modules/models/base.model.js +1 -1
  384. package/dist/esm/modules/models/model.module.d.ts +1 -4
  385. package/dist/esm/routes/a2a.routes.d.ts +1 -5
  386. package/dist/esm/routes/a2a.routes.js +6 -4
  387. package/dist/esm/routes/api/agent.routes.d.ts +24 -0
  388. package/dist/esm/routes/api/agent.routes.js +8 -0
  389. package/dist/esm/routes/api/agent.routes.js.map +1 -0
  390. package/dist/esm/routes/api/intent.routes.d.ts +8 -0
  391. package/dist/esm/routes/api/intent.routes.js +9 -0
  392. package/dist/esm/routes/api/intent.routes.js.map +1 -0
  393. package/dist/esm/routes/api/model.routes.d.ts +1 -4
  394. package/dist/esm/routes/api.routes.d.ts +1 -5
  395. package/dist/esm/routes/api.routes.js +5 -1
  396. package/dist/esm/routes/index.d.ts +2 -5
  397. package/dist/esm/routes/index.js +18 -8
  398. package/dist/esm/routes/query.routes.d.ts +1 -5
  399. package/dist/esm/routes/query.routes.js +8 -5
  400. package/dist/esm/services/a2a.service.d.ts +1 -5
  401. package/dist/esm/services/index.d.ts +1 -5
  402. package/dist/esm/services/index.js +7 -4
  403. package/dist/esm/services/intents/fulfill-stream.service.d.ts +53 -0
  404. package/dist/esm/services/intents/fulfill-stream.service.js +10 -0
  405. package/dist/esm/services/intents/fulfill-stream.service.js.map +1 -0
  406. package/dist/esm/services/intents/fulfill.service.d.ts +53 -0
  407. package/dist/esm/services/intents/fulfill.service.js +10 -0
  408. package/dist/esm/services/intents/fulfill.service.js.map +1 -0
  409. package/dist/esm/services/intents/trigger.service.d.ts +23 -0
  410. package/dist/esm/services/intents/trigger.service.js +8 -0
  411. package/dist/esm/services/intents/trigger.service.js.map +1 -0
  412. package/dist/esm/services/query-stream.service.d.ts +4 -34
  413. package/dist/esm/services/query-stream.service.js +5 -3
  414. package/dist/esm/services/query.service.d.ts +3 -32
  415. package/dist/esm/services/query.service.js +5 -3
  416. package/dist/esm/types/{tool.d.ts → connector.d.ts} +14 -35
  417. package/dist/esm/types/connector.js +7 -0
  418. package/dist/esm/types/connector.js.map +1 -0
  419. package/dist/esm/types/memory.d.ts +12 -3
  420. package/dist/esm/types/memory.js +1 -1
  421. package/dist/esm/types/stream.d.ts +9 -6
  422. package/package.json +1 -1
  423. package/dist/cjs/chunk-2L5KFFHV.cjs +0 -37
  424. package/dist/cjs/chunk-3M5DZAJA.cjs.map +0 -1
  425. package/dist/cjs/chunk-3ZFV2K7O.cjs.map +0 -1
  426. package/dist/cjs/chunk-6CDGUUXE.cjs.map +0 -1
  427. package/dist/cjs/chunk-6KXMM7GP.cjs.map +0 -1
  428. package/dist/cjs/chunk-7K2R2UKB.cjs.map +0 -1
  429. package/dist/cjs/chunk-7PZP7YSA.cjs.map +0 -1
  430. package/dist/cjs/chunk-7UGA4QRJ.cjs.map +0 -1
  431. package/dist/cjs/chunk-A2ANDQNY.cjs +0 -337
  432. package/dist/cjs/chunk-A2ANDQNY.cjs.map +0 -1
  433. package/dist/cjs/chunk-BBFYVWE2.cjs.map +0 -1
  434. package/dist/cjs/chunk-DEKRDA6Q.cjs.map +0 -1
  435. package/dist/cjs/chunk-E433ONEN.cjs +0 -26
  436. package/dist/cjs/chunk-E433ONEN.cjs.map +0 -1
  437. package/dist/cjs/chunk-EHULB7WG.cjs.map +0 -1
  438. package/dist/cjs/chunk-F7I4G6JG.cjs +0 -26
  439. package/dist/cjs/chunk-F7I4G6JG.cjs.map +0 -1
  440. package/dist/cjs/chunk-FRWC3FQ4.cjs.map +0 -1
  441. package/dist/cjs/chunk-HQ4X5TPN.cjs.map +0 -1
  442. package/dist/cjs/chunk-KHD7UAFW.cjs +0 -326
  443. package/dist/cjs/chunk-KHD7UAFW.cjs.map +0 -1
  444. package/dist/cjs/chunk-LMR6B76V.cjs +0 -37
  445. package/dist/cjs/chunk-LMR6B76V.cjs.map +0 -1
  446. package/dist/cjs/chunk-LPXYZH22.cjs +0 -11
  447. package/dist/cjs/chunk-LPXYZH22.cjs.map +0 -1
  448. package/dist/cjs/chunk-MCDRCKR6.cjs +0 -333
  449. package/dist/cjs/chunk-MCDRCKR6.cjs.map +0 -1
  450. package/dist/cjs/chunk-O4QQH7VT.cjs +0 -43
  451. package/dist/cjs/chunk-O4QQH7VT.cjs.map +0 -1
  452. package/dist/cjs/chunk-OKRBMMK2.cjs +0 -136
  453. package/dist/cjs/chunk-OKRBMMK2.cjs.map +0 -1
  454. package/dist/cjs/chunk-OOSQKNH2.cjs +0 -43
  455. package/dist/cjs/chunk-OOSQKNH2.cjs.map +0 -1
  456. package/dist/cjs/chunk-PAWGHHSY.cjs +0 -249
  457. package/dist/cjs/chunk-PAWGHHSY.cjs.map +0 -1
  458. package/dist/cjs/chunk-QTUDQSRL.cjs.map +0 -1
  459. package/dist/cjs/chunk-SSSDO7PA.cjs +0 -1
  460. package/dist/cjs/chunk-SSSDO7PA.cjs.map +0 -1
  461. package/dist/cjs/chunk-T7XSNWFJ.cjs +0 -43
  462. package/dist/cjs/chunk-T7XSNWFJ.cjs.map +0 -1
  463. package/dist/cjs/chunk-UDK47YLB.cjs.map +0 -1
  464. package/dist/cjs/chunk-UPQVXJK6.cjs +0 -37
  465. package/dist/cjs/chunk-UPQVXJK6.cjs.map +0 -1
  466. package/dist/cjs/chunk-UVBNFD2K.cjs +0 -37
  467. package/dist/cjs/chunk-UVBNFD2K.cjs.map +0 -1
  468. package/dist/cjs/chunk-VFM2JQLG.cjs +0 -43
  469. package/dist/cjs/chunk-VFM2JQLG.cjs.map +0 -1
  470. package/dist/cjs/chunk-W5VM75PL.cjs +0 -43
  471. package/dist/cjs/chunk-W5VM75PL.cjs.map +0 -1
  472. package/dist/cjs/chunk-WUOME625.cjs +0 -37
  473. package/dist/cjs/chunk-WUOME625.cjs.map +0 -1
  474. package/dist/cjs/chunk-WYH3T7WL.cjs +0 -337
  475. package/dist/cjs/chunk-WYH3T7WL.cjs.map +0 -1
  476. package/dist/cjs/chunk-XEE7ORJX.cjs +0 -43
  477. package/dist/cjs/chunk-XEE7ORJX.cjs.map +0 -1
  478. package/dist/cjs/chunk-YTAWBEPQ.cjs.map +0 -1
  479. package/dist/cjs/chunk-ZPYMLCQZ.cjs +0 -247
  480. package/dist/cjs/chunk-ZPYMLCQZ.cjs.map +0 -1
  481. package/dist/cjs/modules/a2a/a2a.tool.cjs +0 -8
  482. package/dist/cjs/modules/a2a/a2a.tool.cjs.map +0 -1
  483. package/dist/cjs/modules/mcp/mcp.tool.cjs +0 -8
  484. package/dist/cjs/modules/mcp/mcp.tool.cjs.map +0 -1
  485. package/dist/cjs/types/tool.cjs +0 -7
  486. package/dist/cjs/types/tool.cjs.map +0 -1
  487. package/dist/esm/chunk-2EVONQZ4.js +0 -257
  488. package/dist/esm/chunk-2EVONQZ4.js.map +0 -1
  489. package/dist/esm/chunk-3LLHEUY2.js +0 -26
  490. package/dist/esm/chunk-3LLHEUY2.js.map +0 -1
  491. package/dist/esm/chunk-CDFLKADH.js.map +0 -1
  492. package/dist/esm/chunk-DGH3GB5I.js +0 -26
  493. package/dist/esm/chunk-DGH3GB5I.js.map +0 -1
  494. package/dist/esm/chunk-FI2UQLVC.js +0 -11
  495. package/dist/esm/chunk-FI2UQLVC.js.map +0 -1
  496. package/dist/esm/chunk-JUJSFXBX.js +0 -338
  497. package/dist/esm/chunk-JUJSFXBX.js.map +0 -1
  498. package/dist/esm/chunk-M3HZ2GQP.js.map +0 -1
  499. package/dist/esm/chunk-MJEPJ62P.js.map +0 -1
  500. package/dist/esm/chunk-RNA32QWV.js.map +0 -1
  501. package/dist/esm/chunk-XYCWK2ZM.js +0 -1
  502. package/dist/esm/modules/a2a/a2a.tool.d.ts +0 -17
  503. package/dist/esm/modules/a2a/a2a.tool.js +0 -8
  504. package/dist/esm/modules/mcp/mcp.tool.d.ts +0 -17
  505. package/dist/esm/modules/mcp/mcp.tool.js +0 -8
  506. package/dist/esm/types/tool.js +0 -7
  507. /package/dist/esm/{chunk-WP276EXC.js.map → chunk-5T7E533R.js.map} +0 -0
  508. /package/dist/esm/{chunk-R44LLFOD.js.map → chunk-6OHUQ6DV.js.map} +0 -0
  509. /package/dist/esm/{chunk-XYCWK2ZM.js.map → chunk-PG3C4LQO.js.map} +0 -0
  510. /package/dist/esm/{modules/a2a/a2a.tool.js.map → controllers/api/agent.api.controller.js.map} +0 -0
  511. /package/dist/esm/{modules/mcp/mcp.tool.js.map → controllers/api/intent.api.controller.js.map} +0 -0
  512. /package/dist/esm/{types/tool.js.map → modules/a2a/a2a.connector.js.map} +0 -0
@@ -0,0 +1,222 @@
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 _chunk466ED5WNcjs = require('./chunk-466ED5WN.cjs');
4
+
5
+ // src/services/intents/fulfill-stream.service.ts
6
+ var _crypto = require('crypto');
7
+ var IntentFulfillStreamService = class {
8
+
9
+
10
+
11
+
12
+
13
+ constructor(modelModule, a2aModule, mcpModule, memoryModule, prompts) {
14
+ this.modelModule = modelModule;
15
+ this.a2aModule = a2aModule;
16
+ this.mcpModule = mcpModule;
17
+ this.memoryModule = memoryModule;
18
+ this.prompts = prompts;
19
+ }
20
+ async addToThreadMessages(thread, params) {
21
+ try {
22
+ const threadMemory = _optionalChain([this, 'access', _ => _.memoryModule, 'optionalAccess', _2 => _2.getThreadMemory, 'call', _3 => _3()]);
23
+ const { userId, threadId } = thread;
24
+ const newMessage = {
25
+ messageId: _crypto.randomUUID.call(void 0, ),
26
+ role: params.role,
27
+ timestamp: Date.now(),
28
+ content: { type: "text", parts: [params.content] },
29
+ metadata: params.metadata
30
+ };
31
+ thread.messages.push(newMessage);
32
+ await _optionalChain([threadMemory, 'optionalAccess', _4 => _4.addMessagesToThread, 'call', _5 => _5(userId, threadId, [newMessage])]);
33
+ } catch (error) {
34
+ _chunk466ED5WNcjs.loggers.intentStream.error("Error adding message to thread", error);
35
+ }
36
+ }
37
+ /**
38
+ * Fulfills the detected intent by generating a streaming response.
39
+ *
40
+ * Manages the complete inference loop including:
41
+ * - Loading prompts and conversation history
42
+ * - Collecting available tools from modules
43
+ * - Executing model inference with tool support
44
+ * - Processing tool calls iteratively until completion
45
+ * - Streaming results as Server-Sent Events
46
+ *
47
+ * @param query - The user's input query
48
+ * @param threadId - Thread identifier for context
49
+ * @param thread - Previous conversation history
50
+ * @param intent - Optional detected intent with custom prompt
51
+ * @returns AsyncGenerator yielding StreamEvent objects
52
+ */
53
+ async *intentFulfilling(query, thread, intent) {
54
+ const systemPrompt = `
55
+ Today is ${(/* @__PURE__ */ new Date()).toLocaleDateString()}.
56
+
57
+ ${_optionalChain([this, 'access', _6 => _6.prompts, 'optionalAccess', _7 => _7.agent]) || ""}
58
+
59
+ ${_optionalChain([this, 'access', _8 => _8.prompts, 'optionalAccess', _9 => _9.system]) || ""}
60
+
61
+ ${_optionalChain([intent, 'optionalAccess', _10 => _10.prompt]) || ""}
62
+ `.trim();
63
+ const modelInstance = this.modelModule.getModel();
64
+ const messages = modelInstance.generateMessages({
65
+ query,
66
+ thread,
67
+ systemPrompt: systemPrompt.trim()
68
+ });
69
+ const tools = [];
70
+ this.mcpModule && tools.push(...this.mcpModule.getTools());
71
+ this.a2aModule && tools.push(...await this.a2aModule.getTools());
72
+ const functions = modelInstance.convertToolsToFunctions(tools);
73
+ const processList = [];
74
+ while (true) {
75
+ const responseStream = await modelInstance.fetchStreamWithContextMessage(
76
+ messages,
77
+ functions
78
+ );
79
+ const assembledToolCalls = [];
80
+ _chunk466ED5WNcjs.loggers.intentStream.info("messages", { messages });
81
+ for await (const chunk of responseStream) {
82
+ const delta = chunk.delta;
83
+ if (_optionalChain([delta, 'optionalAccess', _11 => _11.tool_calls])) {
84
+ for (const { index, id, function: func } of delta.tool_calls) {
85
+ assembledToolCalls[index] ??= {
86
+ id: "",
87
+ type: "function",
88
+ function: { name: "", arguments: "" }
89
+ };
90
+ if (id) assembledToolCalls[index].id = id;
91
+ if (_optionalChain([func, 'optionalAccess', _12 => _12.name])) assembledToolCalls[index].function.name = func.name;
92
+ if (_optionalChain([func, 'optionalAccess', _13 => _13.arguments]))
93
+ assembledToolCalls[index].function.arguments += func.arguments;
94
+ }
95
+ } else if (_optionalChain([chunk, 'access', _14 => _14.delta, 'optionalAccess', _15 => _15.content])) {
96
+ yield {
97
+ event: "text_chunk",
98
+ data: { delta: chunk.delta.content }
99
+ };
100
+ }
101
+ }
102
+ _chunk466ED5WNcjs.loggers.intentStream.debug("assembledToolCalls", {
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
+ const selectedTool = tools.filter(
110
+ (tool) => tool.toolName === toolName
111
+ )[0];
112
+ let toolResult = "";
113
+ if (this.mcpModule && selectedTool.protocol === "MCP" /* MCP */) {
114
+ const toolArgs = JSON.parse(toolCall.function.arguments);
115
+ yield {
116
+ event: "tool_start",
117
+ data: {
118
+ toolCallId,
119
+ protocol: "MCP" /* MCP */,
120
+ toolName,
121
+ toolArgs
122
+ }
123
+ };
124
+ _chunk466ED5WNcjs.loggers.intent.info("MCP tool call", { toolName, toolArgs });
125
+ toolResult = await this.mcpModule.useTool(selectedTool, toolArgs);
126
+ } else if (this.a2aModule && selectedTool.protocol === "A2A" /* A2A */) {
127
+ yield {
128
+ event: "tool_start",
129
+ data: {
130
+ toolCallId,
131
+ protocol: "A2A" /* A2A */,
132
+ toolName,
133
+ toolArgs: null
134
+ }
135
+ };
136
+ _chunk466ED5WNcjs.loggers.intent.info("A2A tool call", { toolName });
137
+ toolResult = await this.a2aModule.useTool(
138
+ selectedTool,
139
+ query,
140
+ thread.threadId
141
+ );
142
+ } else {
143
+ _chunk466ED5WNcjs.loggers.intent.warn(
144
+ `Unrecognized tool type: ${selectedTool.protocol}`
145
+ );
146
+ continue;
147
+ }
148
+ yield {
149
+ event: "tool_output",
150
+ data: {
151
+ toolCallId,
152
+ protocol: selectedTool.protocol,
153
+ toolName,
154
+ result: toolResult
155
+ }
156
+ };
157
+ _chunk466ED5WNcjs.loggers.intent.debug("toolResult", { toolResult });
158
+ processList.push(toolResult);
159
+ modelInstance.appendMessages(messages, toolResult);
160
+ }
161
+ } else {
162
+ break;
163
+ }
164
+ }
165
+ }
166
+ /**
167
+ * Detects the intent from context.
168
+ *
169
+ * @param intents - The user's input query
170
+ * @param thread - The thread history
171
+ * @returns The detected intent
172
+ */
173
+ async *intentFulfillStream(intents, thread) {
174
+ let finalResponseText = "";
175
+ for (let i = 0; i < intents.length; i++) {
176
+ const { subquery, intent, actionPlan } = intents[i];
177
+ _chunk466ED5WNcjs.loggers.intent.info(`Process query: ${subquery}, ${_optionalChain([intent, 'optionalAccess', _16 => _16.name])}`);
178
+ _chunk466ED5WNcjs.loggers.intent.info(`Action plan: ${actionPlan}`);
179
+ finalResponseText !== "" && thread.messages.push({
180
+ messageId: _crypto.randomUUID.call(void 0, ),
181
+ role: "MODEL" /* MODEL */,
182
+ timestamp: Date.now(),
183
+ content: { type: "text", parts: [finalResponseText] },
184
+ metadata: { isThinking: true }
185
+ });
186
+ await this.addToThreadMessages(thread, {
187
+ role: "MODEL" /* MODEL */,
188
+ content: subquery,
189
+ metadata: {
190
+ subquery,
191
+ isThinking: true,
192
+ actionPlan
193
+ }
194
+ });
195
+ yield {
196
+ event: "intent_process",
197
+ data: { subquery, actionPlan: actionPlan || "" }
198
+ };
199
+ const stream = this.intentFulfilling(subquery, thread, intent);
200
+ finalResponseText = "";
201
+ for await (const event of stream) {
202
+ if (event.event === "text_chunk" && event.data.delta) {
203
+ _chunk466ED5WNcjs.loggers.intentStream.debug("text_chunk", { event });
204
+ finalResponseText += event.data.delta;
205
+ }
206
+ if (event.event === "text_chunk" && i !== intents.length - 1) {
207
+ continue;
208
+ }
209
+ yield event;
210
+ }
211
+ }
212
+ await this.addToThreadMessages(thread, {
213
+ role: "MODEL" /* MODEL */,
214
+ content: finalResponseText
215
+ });
216
+ }
217
+ };
218
+
219
+
220
+
221
+ exports.IntentFulfillStreamService = IntentFulfillStreamService;
222
+ //# sourceMappingURL=chunk-W4PRBE6H.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/Users/shyun/comcom/ain-agent/ain-adk/dist/cjs/chunk-W4PRBE6H.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-W4PRBE6H.cjs","sourcesContent":[null,"import { randomUUID } from \"node:crypto\";\nimport type {\n\tA2AModule,\n\tMCPModule,\n\tMemoryModule,\n\tModelModule,\n} from \"@/modules\";\nimport type { AinAgentPrompts } from \"@/types/agent\";\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\";\n\nexport class IntentFulfillStreamService {\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\tprivate async addToThreadMessages(\n\t\tthread: ThreadObject,\n\t\tparams: { role: MessageRole; content: string; metadata?: any },\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\tpublic async *intentFulfilling(\n\t\tquery: string,\n\t\tthread: ThreadObject,\n\t\tintent?: Intent,\n\t): AsyncGenerator<StreamEvent> {\n\t\tconst systemPrompt = `\nToday is ${new Date().toLocaleDateString()}.\n\n${this.prompts?.agent || \"\"}\n\n${this.prompts?.system || \"\"}\n\n${intent?.prompt || \"\"}\n\t`.trim();\n\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: ConnectorTool[] = [];\n\t\tthis.mcpModule && tools.push(...this.mcpModule.getTools());\n\t\tthis.a2aModule && tools.push(...(await this.a2aModule.getTools()));\n\n\t\tconst functions = modelInstance.convertToolsToFunctions(tools);\n\n\t\tconst processList: string[] = [];\n\n\t\twhile (true) {\n\t\t\tconst responseStream = await modelInstance.fetchStreamWithContextMessage(\n\t\t\t\tmessages,\n\t\t\t\tfunctions,\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\tloggers.intentStream.info(\"messages\", { messages });\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\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\tconst selectedTool = tools.filter(\n\t\t\t\t\t\t(tool) => tool.toolName === toolName,\n\t\t\t\t\t)[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 === 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\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 {\n\t\t\t\tbreak;\n\t\t\t}\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\tlet finalResponseText = \"\";\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\tloggers.intentStream.debug(\"text_chunk\", { event });\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\t}\n}\n"]}
@@ -0,0 +1,37 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
+
3
+ var _chunkMXDXXOXEcjs = require('./chunk-MXDXXOXE.cjs');
4
+
5
+
6
+ var _chunkICFTUZP5cjs = require('./chunk-ICFTUZP5.cjs');
7
+
8
+
9
+ var _chunkBDQDZXZIcjs = require('./chunk-BDQDZXZI.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, _chunkMXDXXOXEcjs.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-WDPCMSZM.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/Users/shyun/comcom/ain-agent/ain-adk/dist/cjs/chunk-WDPCMSZM.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-WDPCMSZM.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,30 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
+
3
+ var _chunkFTRCEUDBcjs = require('./chunk-FTRCEUDB.cjs');
4
+
5
+
6
+ var _chunkX46GJS7Xcjs = require('./chunk-X46GJS7X.cjs');
7
+
8
+
9
+ var _chunkDT2RCV6Gcjs = require('./chunk-DT2RCV6G.cjs');
10
+
11
+
12
+ var _chunk5FZ7QLJDcjs = require('./chunk-5FZ7QLJD.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", _chunkDT2RCV6Gcjs.createThreadApiRouter.call(void 0, agent.memoryModule));
22
+ router.use("/intent", _chunkFTRCEUDBcjs.createIntentApiRouter.call(void 0, agent.memoryModule));
23
+ }
24
+ return router;
25
+ };
26
+
27
+
28
+
29
+ exports.createApiRouter = createApiRouter;
30
+ //# sourceMappingURL=chunk-WGFYVOP5.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/Users/shyun/comcom/ain-agent/ain-adk/dist/cjs/chunk-WGFYVOP5.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-WGFYVOP5.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 _chunk2UK6RDHBcjs = require('./chunk-2UK6RDHB.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, _chunk2UK6RDHBcjs.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-X276C2SQ.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/Users/shyun/comcom/ain-agent/ain-adk/dist/cjs/chunk-X276C2SQ.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-X276C2SQ.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,37 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
+
3
+ var _chunkBDQDZXZIcjs = require('./chunk-BDQDZXZI.cjs');
4
+
5
+
6
+ var _chunkAXLG6NY4cjs = require('./chunk-AXLG6NY4.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, _chunkAXLG6NY4cjs.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-X3XEJQRF.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/Users/shyun/comcom/ain-agent/ain-adk/dist/cjs/chunk-X3XEJQRF.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-X3XEJQRF.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"]}