@ainetwork/adk 0.3.4 → 0.3.5
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.
- package/README.md +31 -6
- package/dist/cjs/chunk-2B6ZXQB6.cjs +38 -0
- package/dist/cjs/chunk-2B6ZXQB6.cjs.map +1 -0
- package/dist/cjs/chunk-2HDSF5GS.cjs +367 -0
- package/dist/cjs/chunk-2HDSF5GS.cjs.map +1 -0
- package/dist/cjs/chunk-2HV2HAU2.cjs +62 -0
- package/dist/cjs/chunk-2HV2HAU2.cjs.map +1 -0
- package/dist/cjs/chunk-2IKGA5IV.cjs +17 -0
- package/dist/cjs/chunk-2IKGA5IV.cjs.map +1 -0
- package/dist/cjs/chunk-2ZD4XC2I.cjs +44 -0
- package/dist/cjs/chunk-2ZD4XC2I.cjs.map +1 -0
- package/dist/cjs/chunk-34FFNAOJ.cjs +18 -0
- package/dist/cjs/chunk-34FFNAOJ.cjs.map +1 -0
- package/dist/cjs/chunk-3KX24OQQ.cjs +29 -0
- package/dist/cjs/chunk-3KX24OQQ.cjs.map +1 -0
- package/dist/cjs/chunk-4CHPQFJO.cjs +74 -0
- package/dist/cjs/chunk-4CHPQFJO.cjs.map +1 -0
- package/dist/cjs/chunk-4H4APXBR.cjs +17 -0
- package/dist/cjs/chunk-4H4APXBR.cjs.map +1 -0
- package/dist/cjs/chunk-4LMTR322.cjs +44 -0
- package/dist/cjs/chunk-4LMTR322.cjs.map +1 -0
- package/dist/cjs/chunk-4NZJLMT7.cjs +38 -0
- package/dist/cjs/chunk-4NZJLMT7.cjs.map +1 -0
- package/dist/cjs/chunk-4SRDLHXS.cjs +17 -0
- package/dist/cjs/chunk-4SRDLHXS.cjs.map +1 -0
- package/dist/cjs/chunk-4UDENVOJ.cjs +38 -0
- package/dist/cjs/chunk-4UDENVOJ.cjs.map +1 -0
- package/dist/cjs/chunk-4UMM25ZT.cjs +29 -0
- package/dist/cjs/chunk-4UMM25ZT.cjs.map +1 -0
- package/dist/cjs/chunk-5P25YU2Z.cjs +17 -0
- package/dist/cjs/chunk-5P25YU2Z.cjs.map +1 -0
- package/dist/cjs/chunk-5VHF27F5.cjs +44 -0
- package/dist/cjs/chunk-5VHF27F5.cjs.map +1 -0
- package/dist/cjs/chunk-65JM632P.cjs +17 -0
- package/dist/cjs/chunk-65JM632P.cjs.map +1 -0
- package/dist/cjs/chunk-6BYF7CRT.cjs +17 -0
- package/dist/cjs/chunk-6BYF7CRT.cjs.map +1 -0
- package/dist/cjs/chunk-6R7PSGDX.cjs +17 -0
- package/dist/cjs/chunk-6R7PSGDX.cjs.map +1 -0
- package/dist/cjs/chunk-6SVNJWA6.cjs +44 -0
- package/dist/cjs/chunk-6SVNJWA6.cjs.map +1 -0
- package/dist/cjs/chunk-77XJWOSB.cjs +17 -0
- package/dist/cjs/chunk-77XJWOSB.cjs.map +1 -0
- package/dist/cjs/chunk-7CDJAB5L.cjs +29 -0
- package/dist/cjs/chunk-7CDJAB5L.cjs.map +1 -0
- package/dist/cjs/chunk-7DVPCJUI.cjs +17 -0
- package/dist/cjs/chunk-7DVPCJUI.cjs.map +1 -0
- package/dist/cjs/chunk-7FOASY25.cjs +29 -0
- package/dist/cjs/chunk-7FOASY25.cjs.map +1 -0
- package/dist/cjs/chunk-7TVJGM6H.cjs +74 -0
- package/dist/cjs/chunk-7TVJGM6H.cjs.map +1 -0
- package/dist/cjs/chunk-7VYUJABV.cjs +127 -0
- package/dist/cjs/chunk-7VYUJABV.cjs.map +1 -0
- package/dist/cjs/chunk-AC32B3T4.cjs +18 -0
- package/dist/cjs/chunk-AC32B3T4.cjs.map +1 -0
- package/dist/cjs/chunk-AERYR4EH.cjs +44 -0
- package/dist/cjs/chunk-AERYR4EH.cjs.map +1 -0
- package/dist/cjs/chunk-AH6OKSE3.cjs +104 -0
- package/dist/cjs/chunk-AH6OKSE3.cjs.map +1 -0
- package/dist/cjs/chunk-ATGPYGP5.cjs +89 -0
- package/dist/cjs/chunk-ATGPYGP5.cjs.map +1 -0
- package/dist/cjs/chunk-AUAXYROS.cjs +29 -0
- package/dist/cjs/chunk-AUAXYROS.cjs.map +1 -0
- package/dist/cjs/chunk-BDXIWV2Q.cjs +29 -0
- package/dist/cjs/chunk-BDXIWV2Q.cjs.map +1 -0
- package/dist/cjs/chunk-BJ4IW7PS.cjs +62 -0
- package/dist/cjs/chunk-BJ4IW7PS.cjs.map +1 -0
- package/dist/cjs/chunk-BJVY3JAF.cjs +17 -0
- package/dist/cjs/chunk-BJVY3JAF.cjs.map +1 -0
- package/dist/cjs/chunk-BJXDG533.cjs +89 -0
- package/dist/cjs/chunk-BJXDG533.cjs.map +1 -0
- package/dist/cjs/chunk-BMEFG36I.cjs +356 -0
- package/dist/cjs/chunk-BMEFG36I.cjs.map +1 -0
- package/dist/cjs/chunk-BNV24SCZ.cjs +74 -0
- package/dist/cjs/chunk-BNV24SCZ.cjs.map +1 -0
- package/dist/cjs/chunk-BSA42PNB.cjs +17 -0
- package/dist/cjs/chunk-BSA42PNB.cjs.map +1 -0
- package/dist/cjs/chunk-BWIHGXV6.cjs +17 -0
- package/dist/cjs/chunk-BWIHGXV6.cjs.map +1 -0
- package/dist/cjs/chunk-CD755W4W.cjs +29 -0
- package/dist/cjs/chunk-CD755W4W.cjs.map +1 -0
- package/dist/cjs/chunk-CQZD2NDK.cjs +17 -0
- package/dist/cjs/chunk-CQZD2NDK.cjs.map +1 -0
- package/dist/cjs/chunk-DC6PC4DQ.cjs +17 -0
- package/dist/cjs/chunk-DC6PC4DQ.cjs.map +1 -0
- package/dist/cjs/chunk-DCCCZGV6.cjs +44 -0
- package/dist/cjs/chunk-DCCCZGV6.cjs.map +1 -0
- package/dist/cjs/chunk-DCMWIKKS.cjs +74 -0
- package/dist/cjs/chunk-DCMWIKKS.cjs.map +1 -0
- package/dist/cjs/chunk-DNAFVCEP.cjs +18 -0
- package/dist/cjs/chunk-DNAFVCEP.cjs.map +1 -0
- package/dist/cjs/chunk-DSP62SMI.cjs +44 -0
- package/dist/cjs/chunk-DSP62SMI.cjs.map +1 -0
- package/dist/cjs/chunk-E3FUWHFJ.cjs +44 -0
- package/dist/cjs/chunk-E3FUWHFJ.cjs.map +1 -0
- package/dist/cjs/chunk-E4U662WC.cjs +44 -0
- package/dist/cjs/chunk-E4U662WC.cjs.map +1 -0
- package/dist/cjs/chunk-E4UJYO5W.cjs +29 -0
- package/dist/cjs/chunk-E4UJYO5W.cjs.map +1 -0
- package/dist/cjs/chunk-E6LLESWJ.cjs +18 -0
- package/dist/cjs/chunk-E6LLESWJ.cjs.map +1 -0
- package/dist/cjs/chunk-EH43QFTV.cjs +62 -0
- package/dist/cjs/chunk-EH43QFTV.cjs.map +1 -0
- package/dist/cjs/chunk-EJNZ3ZOV.cjs +18 -0
- package/dist/cjs/chunk-EJNZ3ZOV.cjs.map +1 -0
- package/dist/cjs/chunk-ERBIJSR7.cjs +44 -0
- package/dist/cjs/chunk-ERBIJSR7.cjs.map +1 -0
- package/dist/cjs/chunk-F3LQ74NZ.cjs +62 -0
- package/dist/cjs/chunk-F3LQ74NZ.cjs.map +1 -0
- package/dist/cjs/chunk-F457QJ4S.cjs +89 -0
- package/dist/cjs/chunk-F457QJ4S.cjs.map +1 -0
- package/dist/cjs/chunk-FKI4W7Q5.cjs +62 -0
- package/dist/cjs/chunk-FKI4W7Q5.cjs.map +1 -0
- package/dist/cjs/chunk-FNXDTX3S.cjs +29 -0
- package/dist/cjs/chunk-FNXDTX3S.cjs.map +1 -0
- package/dist/cjs/chunk-FSJBK7YA.cjs +102 -0
- package/dist/cjs/chunk-FSJBK7YA.cjs.map +1 -0
- package/dist/cjs/chunk-G27OBOGL.cjs +89 -0
- package/dist/cjs/chunk-G27OBOGL.cjs.map +1 -0
- package/dist/cjs/chunk-G3KN7CTK.cjs +62 -0
- package/dist/cjs/chunk-G3KN7CTK.cjs.map +1 -0
- package/dist/cjs/chunk-G3ZMBBMJ.cjs +45 -0
- package/dist/cjs/chunk-G3ZMBBMJ.cjs.map +1 -0
- package/dist/cjs/chunk-G4IRAGBJ.cjs +44 -0
- package/dist/cjs/chunk-G4IRAGBJ.cjs.map +1 -0
- package/dist/cjs/chunk-GL6OAX2R.cjs +38 -0
- package/dist/cjs/chunk-GL6OAX2R.cjs.map +1 -0
- package/dist/cjs/chunk-GSYWRHCH.cjs +44 -0
- package/dist/cjs/chunk-GSYWRHCH.cjs.map +1 -0
- package/dist/cjs/chunk-GYRONVL5.cjs +89 -0
- package/dist/cjs/chunk-GYRONVL5.cjs.map +1 -0
- package/dist/cjs/chunk-HHTOL2IY.cjs +62 -0
- package/dist/cjs/chunk-HHTOL2IY.cjs.map +1 -0
- package/dist/cjs/chunk-HPWWWD35.cjs +38 -0
- package/dist/cjs/chunk-HPWWWD35.cjs.map +1 -0
- package/dist/cjs/chunk-HRKFNUT5.cjs +17 -0
- package/dist/cjs/chunk-HRKFNUT5.cjs.map +1 -0
- package/dist/cjs/chunk-HZK3RE3S.cjs +17 -0
- package/dist/cjs/chunk-HZK3RE3S.cjs.map +1 -0
- package/dist/cjs/chunk-I3BOGWFE.cjs +29 -0
- package/dist/cjs/chunk-I3BOGWFE.cjs.map +1 -0
- package/dist/cjs/chunk-I5XAKTTY.cjs +319 -0
- package/dist/cjs/chunk-I5XAKTTY.cjs.map +1 -0
- package/dist/cjs/chunk-I6C7GP3A.cjs +17 -0
- package/dist/cjs/chunk-I6C7GP3A.cjs.map +1 -0
- package/dist/cjs/chunk-I7RTPAIU.cjs +89 -0
- package/dist/cjs/chunk-I7RTPAIU.cjs.map +1 -0
- package/dist/cjs/chunk-ICGENXDJ.cjs +38 -0
- package/dist/cjs/chunk-ICGENXDJ.cjs.map +1 -0
- package/dist/cjs/chunk-IHWB5JO3.cjs +340 -0
- package/dist/cjs/chunk-IHWB5JO3.cjs.map +1 -0
- package/dist/cjs/chunk-IQ2G4LUS.cjs +89 -0
- package/dist/cjs/chunk-IQ2G4LUS.cjs.map +1 -0
- package/dist/cjs/chunk-IY5Q3TOG.cjs +17 -0
- package/dist/cjs/chunk-IY5Q3TOG.cjs.map +1 -0
- package/dist/cjs/chunk-J25SHMXB.cjs +38 -0
- package/dist/cjs/chunk-J25SHMXB.cjs.map +1 -0
- package/dist/cjs/chunk-J6RQW3CG.cjs +44 -0
- package/dist/cjs/chunk-J6RQW3CG.cjs.map +1 -0
- package/dist/cjs/chunk-JDIXUPU3.cjs +199 -0
- package/dist/cjs/chunk-JDIXUPU3.cjs.map +1 -0
- package/dist/cjs/chunk-JO4DRJQZ.cjs +104 -0
- package/dist/cjs/chunk-JO4DRJQZ.cjs.map +1 -0
- package/dist/cjs/chunk-K2YKI5RV.cjs +62 -0
- package/dist/cjs/chunk-K2YKI5RV.cjs.map +1 -0
- package/dist/cjs/chunk-KCLZUNG3.cjs +38 -0
- package/dist/cjs/chunk-KCLZUNG3.cjs.map +1 -0
- package/dist/cjs/chunk-KG7XEHCF.cjs +38 -0
- package/dist/cjs/chunk-KG7XEHCF.cjs.map +1 -0
- package/dist/cjs/chunk-KK4VTG2X.cjs +89 -0
- package/dist/cjs/chunk-KK4VTG2X.cjs.map +1 -0
- package/dist/cjs/chunk-L5B2EAJM.cjs +18 -0
- package/dist/cjs/chunk-L5B2EAJM.cjs.map +1 -0
- package/dist/cjs/chunk-LDR76PHY.cjs +104 -0
- package/dist/cjs/chunk-LDR76PHY.cjs.map +1 -0
- package/dist/cjs/chunk-LMIIDGXP.cjs +321 -0
- package/dist/cjs/chunk-LMIIDGXP.cjs.map +1 -0
- package/dist/cjs/chunk-LX2A6XTF.cjs +17 -0
- package/dist/cjs/chunk-LX2A6XTF.cjs.map +1 -0
- package/dist/cjs/chunk-M2PY55RJ.cjs +17 -0
- package/dist/cjs/chunk-M2PY55RJ.cjs.map +1 -0
- package/dist/cjs/chunk-M5TPCHBZ.cjs +17 -0
- package/dist/cjs/chunk-M5TPCHBZ.cjs.map +1 -0
- package/dist/cjs/chunk-MBYBLKWW.cjs +17 -0
- package/dist/cjs/chunk-MBYBLKWW.cjs.map +1 -0
- package/dist/cjs/chunk-MJ673V54.cjs +18 -0
- package/dist/cjs/chunk-MJ673V54.cjs.map +1 -0
- package/dist/cjs/chunk-N27L7CJA.cjs +17 -0
- package/dist/cjs/chunk-N27L7CJA.cjs.map +1 -0
- package/dist/cjs/chunk-N4O2YERL.cjs +95 -0
- package/dist/cjs/chunk-N4O2YERL.cjs.map +1 -0
- package/dist/cjs/chunk-NBIMJPFQ.cjs +62 -0
- package/dist/cjs/chunk-NBIMJPFQ.cjs.map +1 -0
- package/dist/cjs/chunk-NE4IG7YO.cjs +17 -0
- package/dist/cjs/chunk-NE4IG7YO.cjs.map +1 -0
- package/dist/cjs/chunk-NF3E675K.cjs +74 -0
- package/dist/cjs/chunk-NF3E675K.cjs.map +1 -0
- package/dist/cjs/chunk-NTO6MT57.cjs +18 -0
- package/dist/cjs/chunk-NTO6MT57.cjs.map +1 -0
- package/dist/cjs/chunk-NWMEKI2D.cjs +29 -0
- package/dist/cjs/chunk-NWMEKI2D.cjs.map +1 -0
- package/dist/cjs/chunk-OTZ4JQDD.cjs +17 -0
- package/dist/cjs/chunk-OTZ4JQDD.cjs.map +1 -0
- package/dist/cjs/chunk-OVI3MJ2U.cjs +74 -0
- package/dist/cjs/chunk-OVI3MJ2U.cjs.map +1 -0
- package/dist/cjs/chunk-PFGRED5M.cjs +17 -0
- package/dist/cjs/chunk-PFGRED5M.cjs.map +1 -0
- package/dist/cjs/chunk-PKRYQGR7.cjs +17 -0
- package/dist/cjs/chunk-PKRYQGR7.cjs.map +1 -0
- package/dist/cjs/chunk-PO73CXQO.cjs +62 -0
- package/dist/cjs/chunk-PO73CXQO.cjs.map +1 -0
- package/dist/cjs/chunk-PVBRREHI.cjs +18 -0
- package/dist/cjs/chunk-PVBRREHI.cjs.map +1 -0
- package/dist/cjs/chunk-PZS5HEWV.cjs +74 -0
- package/dist/cjs/chunk-PZS5HEWV.cjs.map +1 -0
- package/dist/cjs/chunk-Q36KS63B.cjs +17 -0
- package/dist/cjs/chunk-Q36KS63B.cjs.map +1 -0
- package/dist/cjs/chunk-QEIMXVUF.cjs +44 -0
- package/dist/cjs/chunk-QEIMXVUF.cjs.map +1 -0
- package/dist/cjs/chunk-QIAOPBBD.cjs +17 -0
- package/dist/cjs/chunk-QIAOPBBD.cjs.map +1 -0
- package/dist/cjs/chunk-QJQWN7DT.cjs +44 -0
- package/dist/cjs/chunk-QJQWN7DT.cjs.map +1 -0
- package/dist/cjs/chunk-QWETDD3J.cjs +17 -0
- package/dist/cjs/chunk-QWETDD3J.cjs.map +1 -0
- package/dist/cjs/chunk-QWNRKRZO.cjs +44 -0
- package/dist/cjs/chunk-QWNRKRZO.cjs.map +1 -0
- package/dist/cjs/chunk-RF5RZWJP.cjs +17 -0
- package/dist/cjs/chunk-RF5RZWJP.cjs.map +1 -0
- package/dist/cjs/chunk-RRVTDGEC.cjs +44 -0
- package/dist/cjs/chunk-RRVTDGEC.cjs.map +1 -0
- package/dist/cjs/chunk-RVU4TKUZ.cjs +89 -0
- package/dist/cjs/chunk-RVU4TKUZ.cjs.map +1 -0
- package/dist/cjs/chunk-S6M6Q6Y4.cjs +18 -0
- package/dist/cjs/chunk-S6M6Q6Y4.cjs.map +1 -0
- package/dist/cjs/chunk-SDUFCQJX.cjs +77 -0
- package/dist/cjs/chunk-SDUFCQJX.cjs.map +1 -0
- package/dist/cjs/chunk-SMD6TIFZ.cjs +17 -0
- package/dist/cjs/chunk-SMD6TIFZ.cjs.map +1 -0
- package/dist/cjs/chunk-TFIT3UQZ.cjs +38 -0
- package/dist/cjs/chunk-TFIT3UQZ.cjs.map +1 -0
- package/dist/cjs/chunk-TGBWU6YD.cjs +74 -0
- package/dist/cjs/chunk-TGBWU6YD.cjs.map +1 -0
- package/dist/cjs/chunk-TRKYSXVL.cjs +74 -0
- package/dist/cjs/chunk-TRKYSXVL.cjs.map +1 -0
- package/dist/cjs/chunk-TY7RIDKN.cjs +89 -0
- package/dist/cjs/chunk-TY7RIDKN.cjs.map +1 -0
- package/dist/cjs/chunk-TYE2ZJYK.cjs +44 -0
- package/dist/cjs/chunk-TYE2ZJYK.cjs.map +1 -0
- package/dist/cjs/chunk-U2VDAWF2.cjs +17 -0
- package/dist/cjs/chunk-U2VDAWF2.cjs.map +1 -0
- package/dist/cjs/chunk-U6NBOZG4.cjs +17 -0
- package/dist/cjs/chunk-U6NBOZG4.cjs.map +1 -0
- package/dist/cjs/chunk-UAUKUVGY.cjs +110 -0
- package/dist/cjs/chunk-UAUKUVGY.cjs.map +1 -0
- package/dist/cjs/chunk-UMP63WKM.cjs +89 -0
- package/dist/cjs/chunk-UMP63WKM.cjs.map +1 -0
- package/dist/cjs/chunk-UNRTZ7XD.cjs +18 -0
- package/dist/cjs/chunk-UNRTZ7XD.cjs.map +1 -0
- package/dist/cjs/chunk-UT235OR6.cjs +29 -0
- package/dist/cjs/chunk-UT235OR6.cjs.map +1 -0
- package/dist/cjs/chunk-UTG6F3AH.cjs +44 -0
- package/dist/cjs/chunk-UTG6F3AH.cjs.map +1 -0
- package/dist/cjs/chunk-VFY3KVCK.cjs +38 -0
- package/dist/cjs/chunk-VFY3KVCK.cjs.map +1 -0
- package/dist/cjs/chunk-VGA4O5CY.cjs +62 -0
- package/dist/cjs/chunk-VGA4O5CY.cjs.map +1 -0
- package/dist/cjs/chunk-VXJ52V2L.cjs +321 -0
- package/dist/cjs/chunk-VXJ52V2L.cjs.map +1 -0
- package/dist/cjs/chunk-WGJ2T4XM.cjs +74 -0
- package/dist/cjs/chunk-WGJ2T4XM.cjs.map +1 -0
- package/dist/cjs/chunk-WZDAN7J3.cjs +74 -0
- package/dist/cjs/chunk-WZDAN7J3.cjs.map +1 -0
- package/dist/cjs/chunk-X4P5E72G.cjs +38 -0
- package/dist/cjs/chunk-X4P5E72G.cjs.map +1 -0
- package/dist/cjs/chunk-YCUKZPKY.cjs +18 -0
- package/dist/cjs/chunk-YCUKZPKY.cjs.map +1 -0
- package/dist/cjs/chunk-YDBR3EYV.cjs +17 -0
- package/dist/cjs/chunk-YDBR3EYV.cjs.map +1 -0
- package/dist/cjs/chunk-YFX5DLRD.cjs +44 -0
- package/dist/cjs/chunk-YFX5DLRD.cjs.map +1 -0
- package/dist/cjs/chunk-YG4CXCLW.cjs +44 -0
- package/dist/cjs/chunk-YG4CXCLW.cjs.map +1 -0
- package/dist/cjs/chunk-YHG5J4EH.cjs +44 -0
- package/dist/cjs/chunk-YHG5J4EH.cjs.map +1 -0
- package/dist/cjs/chunk-YI2OQGES.cjs +44 -0
- package/dist/cjs/chunk-YI2OQGES.cjs.map +1 -0
- package/dist/cjs/chunk-YX4LVEKP.cjs +62 -0
- package/dist/cjs/chunk-YX4LVEKP.cjs.map +1 -0
- package/dist/cjs/chunk-Z7RQOH67.cjs +18 -0
- package/dist/cjs/chunk-Z7RQOH67.cjs.map +1 -0
- package/dist/cjs/chunk-Z7ZCJEME.cjs +44 -0
- package/dist/cjs/chunk-Z7ZCJEME.cjs.map +1 -0
- package/dist/cjs/chunk-ZEOLDU53.cjs +17 -0
- package/dist/cjs/chunk-ZEOLDU53.cjs.map +1 -0
- package/dist/cjs/chunk-ZKYRM76Q.cjs +74 -0
- package/dist/cjs/chunk-ZKYRM76Q.cjs.map +1 -0
- package/dist/cjs/chunk-ZNOPX24J.cjs +89 -0
- package/dist/cjs/chunk-ZNOPX24J.cjs.map +1 -0
- package/dist/cjs/chunk-ZP7AGIQW.cjs +367 -0
- package/dist/cjs/chunk-ZP7AGIQW.cjs.map +1 -0
- package/dist/cjs/container/controllers.cjs +3 -3
- package/dist/cjs/container/index.cjs +10 -10
- package/dist/cjs/container/services.cjs +7 -7
- package/dist/cjs/controllers/api/workflow.api.controller.cjs +2 -2
- package/dist/cjs/index.cjs +26 -26
- package/dist/cjs/index.cjs.map +1 -1
- package/dist/cjs/modules/index.cjs +7 -7
- package/dist/cjs/modules/index.cjs.map +1 -1
- package/dist/cjs/routes/a2a.routes.cjs +11 -11
- package/dist/cjs/routes/api/agent.routes.cjs +11 -11
- package/dist/cjs/routes/api/intent.routes.cjs +11 -11
- package/dist/cjs/routes/api/model.routes.cjs +11 -11
- package/dist/cjs/routes/api/threads.routes.cjs +11 -11
- package/dist/cjs/routes/api/workflow.routes.cjs +11 -11
- package/dist/cjs/routes/api.routes.cjs +16 -16
- package/dist/cjs/routes/index.cjs +18 -18
- package/dist/cjs/routes/intent.routes.cjs +11 -11
- package/dist/cjs/routes/query.routes.cjs +11 -11
- package/dist/cjs/services/index.cjs +7 -7
- package/dist/cjs/services/index.cjs.map +1 -1
- package/dist/cjs/services/intents/fulfill.service.cjs +3 -3
- package/dist/esm/{chunk-VP5Q63JU.js → chunk-A5CFFQUV.js} +2 -2
- package/dist/esm/{chunk-44CTGJX4.js → chunk-FISBL7OM.js} +9 -7
- package/dist/esm/{chunk-44CTGJX4.js.map → chunk-FISBL7OM.js.map} +1 -1
- package/dist/esm/{chunk-I4P7JMJC.js → chunk-HNKYLU4R.js} +9 -9
- package/dist/esm/{chunk-FCH7BUK4.js → chunk-HZC52S2R.js} +2 -2
- package/dist/esm/{chunk-LMOWEXWF.js → chunk-LC5XQGWK.js} +10 -10
- package/dist/esm/{chunk-7DH4SI44.js → chunk-MB7ZI64O.js} +7 -7
- package/dist/esm/{chunk-TQJCYP7X.js → chunk-MC5KX7MQ.js} +4 -4
- package/dist/esm/{chunk-2VGXYWJD.js → chunk-MDQEA2US.js} +2 -2
- package/dist/esm/{chunk-ZK3HZBER.js → chunk-RKLWSV24.js} +2 -2
- package/dist/esm/{chunk-PZQRSWST.js → chunk-S46LW2P7.js} +2 -2
- package/dist/esm/{chunk-AEBBZSQ4.js → chunk-SUBXSJXS.js} +5 -5
- package/dist/esm/{chunk-IG3B5AXN.js → chunk-T3FCCMU6.js} +3 -3
- package/dist/esm/{chunk-6YBQCUNB.js → chunk-VRFQFDSM.js} +2 -2
- package/dist/esm/{chunk-BZUWX7HX.js → chunk-YUFYGSSY.js} +13 -4
- package/dist/esm/chunk-YUFYGSSY.js.map +1 -0
- package/dist/esm/{chunk-7XQPJVYO.js → chunk-ZTYRQOCO.js} +2 -2
- package/dist/esm/container/controllers.js +4 -4
- package/dist/esm/container/index.js +16 -16
- package/dist/esm/container/services.js +8 -8
- package/dist/esm/controllers/api/workflow.api.controller.js +1 -1
- package/dist/esm/controllers/index.js +4 -4
- package/dist/esm/index.js +32 -32
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/modules/a2a/a2a.module.js +1 -1
- package/dist/esm/modules/index.js +10 -10
- package/dist/esm/modules/memory/base.memory.d.ts +1 -1
- package/dist/esm/routes/a2a.routes.js +19 -19
- package/dist/esm/routes/api/agent.routes.js +17 -17
- package/dist/esm/routes/api/intent.routes.js +17 -17
- package/dist/esm/routes/api/model.routes.js +17 -17
- package/dist/esm/routes/api/threads.routes.js +17 -17
- package/dist/esm/routes/api/workflow.routes.js +17 -17
- package/dist/esm/routes/api.routes.js +22 -22
- package/dist/esm/routes/index.js +28 -28
- package/dist/esm/routes/intent.routes.js +17 -17
- package/dist/esm/routes/query.routes.js +17 -17
- package/dist/esm/services/index.js +8 -8
- package/dist/esm/services/intents/aggregate.service.js +2 -2
- package/dist/esm/services/intents/fulfill.service.js +3 -3
- package/dist/esm/services/query.service.js +1 -1
- package/package.json +1 -1
- package/dist/esm/chunk-BZUWX7HX.js.map +0 -1
- /package/dist/esm/{chunk-VP5Q63JU.js.map → chunk-A5CFFQUV.js.map} +0 -0
- /package/dist/esm/{chunk-I4P7JMJC.js.map → chunk-HNKYLU4R.js.map} +0 -0
- /package/dist/esm/{chunk-FCH7BUK4.js.map → chunk-HZC52S2R.js.map} +0 -0
- /package/dist/esm/{chunk-LMOWEXWF.js.map → chunk-LC5XQGWK.js.map} +0 -0
- /package/dist/esm/{chunk-7DH4SI44.js.map → chunk-MB7ZI64O.js.map} +0 -0
- /package/dist/esm/{chunk-TQJCYP7X.js.map → chunk-MC5KX7MQ.js.map} +0 -0
- /package/dist/esm/{chunk-2VGXYWJD.js.map → chunk-MDQEA2US.js.map} +0 -0
- /package/dist/esm/{chunk-ZK3HZBER.js.map → chunk-RKLWSV24.js.map} +0 -0
- /package/dist/esm/{chunk-PZQRSWST.js.map → chunk-S46LW2P7.js.map} +0 -0
- /package/dist/esm/{chunk-AEBBZSQ4.js.map → chunk-SUBXSJXS.js.map} +0 -0
- /package/dist/esm/{chunk-IG3B5AXN.js.map → chunk-T3FCCMU6.js.map} +0 -0
- /package/dist/esm/{chunk-6YBQCUNB.js.map → chunk-VRFQFDSM.js.map} +0 -0
- /package/dist/esm/{chunk-7XQPJVYO.js.map → chunk-ZTYRQOCO.js.map} +0 -0
|
@@ -0,0 +1,340 @@
|
|
|
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 _chunkVM74R2KPcjs = require('./chunk-VM74R2KP.cjs');
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
var _chunkCLJ3DWTAcjs = require('./chunk-CLJ3DWTA.cjs');
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
var _chunkO5X5QT63cjs = require('./chunk-O5X5QT63.cjs');
|
|
13
|
+
|
|
14
|
+
// src/services/intents/fulfill.service.ts
|
|
15
|
+
var _crypto = require('crypto');
|
|
16
|
+
function isMultiIntentDisabled() {
|
|
17
|
+
const value = process.env.DISABLE_MULTI_INTENTS;
|
|
18
|
+
return value === "true" || value === "1";
|
|
19
|
+
}
|
|
20
|
+
var IntentFulfillService = class {
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
constructor(modelModule, memoryModule, a2aModule, mcpModule, onIntentFallback) {
|
|
28
|
+
this.modelModule = modelModule;
|
|
29
|
+
this.memoryModule = memoryModule;
|
|
30
|
+
this.a2aModule = a2aModule;
|
|
31
|
+
this.mcpModule = mcpModule;
|
|
32
|
+
this.onIntentFallback = onIntentFallback;
|
|
33
|
+
this.aggregateService = new (0, _chunkVM74R2KPcjs.AggregateService)(modelModule);
|
|
34
|
+
}
|
|
35
|
+
async addToThreadMessages(thread, params) {
|
|
36
|
+
try {
|
|
37
|
+
const threadMemory = this.memoryModule.getThreadMemory();
|
|
38
|
+
const { userId, threadId } = thread;
|
|
39
|
+
const newMessage = {
|
|
40
|
+
messageId: _crypto.randomUUID.call(void 0, ),
|
|
41
|
+
role: params.role,
|
|
42
|
+
timestamp: Date.now(),
|
|
43
|
+
content: { type: "text", parts: [params.content] },
|
|
44
|
+
metadata: params.metadata
|
|
45
|
+
};
|
|
46
|
+
thread.messages.push(newMessage);
|
|
47
|
+
await _optionalChain([threadMemory, 'optionalAccess', _ => _.addMessagesToThread, 'call', _2 => _2(userId, threadId, [newMessage])]);
|
|
48
|
+
} catch (error) {
|
|
49
|
+
_chunkCLJ3DWTAcjs.loggers.intentStream.error("Error adding message to thread", error);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Fulfills the detected intent by generating a streaming response.
|
|
54
|
+
*
|
|
55
|
+
* Manages the complete inference loop including:
|
|
56
|
+
* - Loading prompts and conversation history
|
|
57
|
+
* - Collecting available tools from modules
|
|
58
|
+
* - Executing model inference with tool support
|
|
59
|
+
* - Processing tool calls iteratively until completion
|
|
60
|
+
* - Streaming results as Server-Sent Events
|
|
61
|
+
*
|
|
62
|
+
* @param query - The user's input query
|
|
63
|
+
* @param threadId - Thread identifier for context
|
|
64
|
+
* @param thread - Previous conversation history
|
|
65
|
+
* @param intent - Optional detected intent with custom prompt
|
|
66
|
+
* @returns AsyncGenerator yielding StreamEvent objects
|
|
67
|
+
*/
|
|
68
|
+
async *intentFulfilling(query, thread, intent) {
|
|
69
|
+
const agentMemory = this.memoryModule.getAgentMemory();
|
|
70
|
+
const fulfillPrompt = await _chunk7HBOMBZGcjs.createFulfillPrompt.call(void 0, agentMemory, intent);
|
|
71
|
+
const modelInstance = this.modelModule.getModel();
|
|
72
|
+
const modelOptions = this.modelModule.getModelOptions();
|
|
73
|
+
const messages = modelInstance.generateMessages({
|
|
74
|
+
query,
|
|
75
|
+
thread,
|
|
76
|
+
systemPrompt: fulfillPrompt.trim()
|
|
77
|
+
});
|
|
78
|
+
_chunkCLJ3DWTAcjs.loggers.intent.debug("Intent fulfillment start", {
|
|
79
|
+
threadId: thread.threadId,
|
|
80
|
+
messages
|
|
81
|
+
});
|
|
82
|
+
const tools = [];
|
|
83
|
+
this.mcpModule && tools.push(...this.mcpModule.getTools());
|
|
84
|
+
this.a2aModule && tools.push(...await this.a2aModule.getTools());
|
|
85
|
+
const processList = [];
|
|
86
|
+
while (true) {
|
|
87
|
+
const functions = modelInstance.convertToolsToFunctions(tools);
|
|
88
|
+
const responseStream = await modelInstance.fetchStreamWithContextMessage(
|
|
89
|
+
messages,
|
|
90
|
+
functions,
|
|
91
|
+
modelOptions
|
|
92
|
+
);
|
|
93
|
+
const assembledToolCalls = [];
|
|
94
|
+
for await (const chunk of responseStream) {
|
|
95
|
+
const delta = chunk.delta;
|
|
96
|
+
if (_optionalChain([delta, 'optionalAccess', _3 => _3.tool_calls])) {
|
|
97
|
+
for (const { index, id, function: func } of delta.tool_calls) {
|
|
98
|
+
assembledToolCalls[index] ??= {
|
|
99
|
+
id: "",
|
|
100
|
+
type: "function",
|
|
101
|
+
function: { name: "", arguments: "" }
|
|
102
|
+
};
|
|
103
|
+
if (id) assembledToolCalls[index].id = id;
|
|
104
|
+
if (_optionalChain([func, 'optionalAccess', _4 => _4.name])) assembledToolCalls[index].function.name = func.name;
|
|
105
|
+
if (_optionalChain([func, 'optionalAccess', _5 => _5.arguments]))
|
|
106
|
+
assembledToolCalls[index].function.arguments += func.arguments;
|
|
107
|
+
}
|
|
108
|
+
} else if (_optionalChain([chunk, 'access', _6 => _6.delta, 'optionalAccess', _7 => _7.content])) {
|
|
109
|
+
yield {
|
|
110
|
+
event: "text_chunk",
|
|
111
|
+
data: { delta: chunk.delta.content }
|
|
112
|
+
};
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
_chunkCLJ3DWTAcjs.loggers.intentStream.debug("assembledToolCalls", {
|
|
116
|
+
threadId: thread.threadId,
|
|
117
|
+
assembledToolCalls
|
|
118
|
+
});
|
|
119
|
+
if (assembledToolCalls.length > 0) {
|
|
120
|
+
for (const toolCall of assembledToolCalls) {
|
|
121
|
+
const toolName = toolCall.function.name;
|
|
122
|
+
let selectedTool;
|
|
123
|
+
for (const [index, toolTmp] of tools.entries()) {
|
|
124
|
+
if (toolTmp.toolName === toolName) {
|
|
125
|
+
if (toolTmp.protocol === "A2A" /* A2A */) {
|
|
126
|
+
selectedTool = tools.splice(index, 1)[0];
|
|
127
|
+
break;
|
|
128
|
+
}
|
|
129
|
+
selectedTool = toolTmp;
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
if (!selectedTool) {
|
|
133
|
+
continue;
|
|
134
|
+
}
|
|
135
|
+
const toolArgs = JSON.parse(toolCall.function.arguments);
|
|
136
|
+
const thinkData = {
|
|
137
|
+
title: `[${_chunkO5X5QT63cjs.getManifest.call(void 0, ).name}] ${selectedTool.protocol} \uC2E4\uD589: ${toolName}`,
|
|
138
|
+
description: `${toolArgs.thinking_text || ""}`
|
|
139
|
+
};
|
|
140
|
+
yield {
|
|
141
|
+
event: "thinking_process",
|
|
142
|
+
data: thinkData
|
|
143
|
+
};
|
|
144
|
+
let toolResult = "";
|
|
145
|
+
if (this.mcpModule && selectedTool.protocol === "MCP" /* MCP */) {
|
|
146
|
+
_chunkCLJ3DWTAcjs.loggers.intent.info("MCP tool call", { toolName, toolArgs });
|
|
147
|
+
toolResult = await this.mcpModule.useTool(selectedTool, toolArgs);
|
|
148
|
+
} else if (this.a2aModule && selectedTool.protocol === "A2A" /* A2A */) {
|
|
149
|
+
_chunkCLJ3DWTAcjs.loggers.intent.info("A2A tool call", { toolName });
|
|
150
|
+
const a2aStream = this.a2aModule.useTool(
|
|
151
|
+
selectedTool,
|
|
152
|
+
query,
|
|
153
|
+
thread.threadId
|
|
154
|
+
);
|
|
155
|
+
let result = await a2aStream.next();
|
|
156
|
+
while (!result.done) {
|
|
157
|
+
if (result.value.event === "thinking_process") {
|
|
158
|
+
yield result.value;
|
|
159
|
+
}
|
|
160
|
+
result = await a2aStream.next();
|
|
161
|
+
}
|
|
162
|
+
toolResult = result.value;
|
|
163
|
+
} else {
|
|
164
|
+
_chunkCLJ3DWTAcjs.loggers.intent.warn(
|
|
165
|
+
`Unrecognized tool type: ${selectedTool.protocol}`
|
|
166
|
+
);
|
|
167
|
+
continue;
|
|
168
|
+
}
|
|
169
|
+
_chunkCLJ3DWTAcjs.loggers.intent.debug("Tool Result", { toolResult });
|
|
170
|
+
processList.push(toolResult);
|
|
171
|
+
modelInstance.appendMessages(messages, toolResult);
|
|
172
|
+
}
|
|
173
|
+
} else {
|
|
174
|
+
break;
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
_chunkCLJ3DWTAcjs.loggers.intent.debug("Intent fulfillment completed", {
|
|
178
|
+
threadId: thread.threadId,
|
|
179
|
+
toolCallsExecuted: processList.length,
|
|
180
|
+
intentName: _optionalChain([intent, 'optionalAccess', _8 => _8.name])
|
|
181
|
+
});
|
|
182
|
+
}
|
|
183
|
+
/**
|
|
184
|
+
* Returns the appropriate stream for a triggered intent.
|
|
185
|
+
* Uses fallback handler if no intent matched and fallback is configured.
|
|
186
|
+
*/
|
|
187
|
+
getIntentStream(triggeredIntent, thread) {
|
|
188
|
+
const { subquery = "", intent } = triggeredIntent;
|
|
189
|
+
if (!intent && this.onIntentFallback) {
|
|
190
|
+
_chunkCLJ3DWTAcjs.loggers.intent.info("No intent matched, calling fallback handler");
|
|
191
|
+
const fallbackStream = this.onIntentFallback({
|
|
192
|
+
triggeredIntent,
|
|
193
|
+
thread
|
|
194
|
+
});
|
|
195
|
+
if (fallbackStream !== void 0) {
|
|
196
|
+
return fallbackStream;
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
return this.intentFulfilling(subquery, thread, intent);
|
|
200
|
+
}
|
|
201
|
+
/**
|
|
202
|
+
* Processes all triggered intents and generates a unified response.
|
|
203
|
+
*
|
|
204
|
+
* Workflow:
|
|
205
|
+
* 1. Process each intent sequentially, collecting results
|
|
206
|
+
* 2. Yield thinking_process events for progress visibility
|
|
207
|
+
* 3. Use RewriteService to determine if results need unification
|
|
208
|
+
* 4. Stream the final (possibly rewritten) response
|
|
209
|
+
*
|
|
210
|
+
* @param intents - Array of triggered intents to process
|
|
211
|
+
* @param thread - The thread history
|
|
212
|
+
* @param originalQuery - The user's original query (for rewrite context)
|
|
213
|
+
* @returns AsyncGenerator yielding StreamEvent objects
|
|
214
|
+
*/
|
|
215
|
+
async *intentFulfill(intents, thread, originalQuery) {
|
|
216
|
+
const streamStartTime = Date.now();
|
|
217
|
+
_chunkCLJ3DWTAcjs.loggers.intentStream.info("Stream session started", {
|
|
218
|
+
threadId: thread.threadId,
|
|
219
|
+
intentCount: intents.length,
|
|
220
|
+
startTime: new Date(streamStartTime).toISOString()
|
|
221
|
+
});
|
|
222
|
+
let finalResponseText = "";
|
|
223
|
+
if (isMultiIntentDisabled()) {
|
|
224
|
+
const triggeredIntent = intents[0];
|
|
225
|
+
if (!triggeredIntent) {
|
|
226
|
+
return;
|
|
227
|
+
}
|
|
228
|
+
const { subquery = "", intent, actionPlan } = triggeredIntent;
|
|
229
|
+
_chunkCLJ3DWTAcjs.loggers.intent.info(`Process query: ${subquery}, ${_optionalChain([intent, 'optionalAccess', _9 => _9.name])}`);
|
|
230
|
+
_chunkCLJ3DWTAcjs.loggers.intent.info(`Action plan: ${actionPlan}`);
|
|
231
|
+
yield {
|
|
232
|
+
event: "thinking_process",
|
|
233
|
+
data: {
|
|
234
|
+
title: `[${_chunkO5X5QT63cjs.getManifest.call(void 0, ).name}] ${subquery}`,
|
|
235
|
+
description: actionPlan || ""
|
|
236
|
+
}
|
|
237
|
+
};
|
|
238
|
+
const stream = this.getIntentStream(triggeredIntent, thread);
|
|
239
|
+
if (!stream) {
|
|
240
|
+
return;
|
|
241
|
+
}
|
|
242
|
+
for await (const event of stream) {
|
|
243
|
+
if (event.event === "text_chunk" && event.data.delta) {
|
|
244
|
+
finalResponseText += event.data.delta;
|
|
245
|
+
}
|
|
246
|
+
yield event;
|
|
247
|
+
}
|
|
248
|
+
} else if (intents.length === 1) {
|
|
249
|
+
const triggeredIntent = intents[0];
|
|
250
|
+
const { subquery = "", intent, actionPlan } = triggeredIntent;
|
|
251
|
+
_chunkCLJ3DWTAcjs.loggers.intent.info(`Process single intent: ${subquery}, ${_optionalChain([intent, 'optionalAccess', _10 => _10.name])}`);
|
|
252
|
+
_chunkCLJ3DWTAcjs.loggers.intent.info(`Action plan: ${actionPlan}`);
|
|
253
|
+
yield {
|
|
254
|
+
event: "thinking_process",
|
|
255
|
+
data: {
|
|
256
|
+
title: `[${_chunkO5X5QT63cjs.getManifest.call(void 0, ).name}] ${subquery}`,
|
|
257
|
+
description: actionPlan || ""
|
|
258
|
+
}
|
|
259
|
+
};
|
|
260
|
+
const stream = this.getIntentStream(triggeredIntent, thread);
|
|
261
|
+
if (stream) {
|
|
262
|
+
for await (const event of stream) {
|
|
263
|
+
if (event.event === "text_chunk" && event.data.delta) {
|
|
264
|
+
finalResponseText += event.data.delta;
|
|
265
|
+
}
|
|
266
|
+
yield event;
|
|
267
|
+
}
|
|
268
|
+
}
|
|
269
|
+
} else {
|
|
270
|
+
const fulfillmentResults = [];
|
|
271
|
+
for (let i = 0; i < intents.length; i++) {
|
|
272
|
+
const triggeredIntent = intents[i];
|
|
273
|
+
const { subquery = "", intent, actionPlan } = triggeredIntent;
|
|
274
|
+
_chunkCLJ3DWTAcjs.loggers.intent.info(`Process query: ${subquery}, ${_optionalChain([intent, 'optionalAccess', _11 => _11.name])}`);
|
|
275
|
+
_chunkCLJ3DWTAcjs.loggers.intent.info(`Action plan: ${actionPlan}`);
|
|
276
|
+
if (fulfillmentResults.length > 0) {
|
|
277
|
+
const lastResult = fulfillmentResults[fulfillmentResults.length - 1];
|
|
278
|
+
thread.messages.push({
|
|
279
|
+
messageId: _crypto.randomUUID.call(void 0, ),
|
|
280
|
+
role: "MODEL" /* MODEL */,
|
|
281
|
+
timestamp: Date.now(),
|
|
282
|
+
content: { type: "text", parts: [lastResult.response] },
|
|
283
|
+
metadata: { isThinking: true }
|
|
284
|
+
});
|
|
285
|
+
}
|
|
286
|
+
yield {
|
|
287
|
+
event: "thinking_process",
|
|
288
|
+
data: {
|
|
289
|
+
title: `[${_chunkO5X5QT63cjs.getManifest.call(void 0, ).name}] ${subquery}`,
|
|
290
|
+
description: actionPlan || ""
|
|
291
|
+
}
|
|
292
|
+
};
|
|
293
|
+
const stream = this.getIntentStream(triggeredIntent, thread);
|
|
294
|
+
if (!stream) {
|
|
295
|
+
continue;
|
|
296
|
+
}
|
|
297
|
+
let responseText = "";
|
|
298
|
+
for await (const event of stream) {
|
|
299
|
+
if (event.event === "text_chunk" && event.data.delta) {
|
|
300
|
+
responseText += event.data.delta;
|
|
301
|
+
} else if (event.event === "thinking_process") {
|
|
302
|
+
yield event;
|
|
303
|
+
}
|
|
304
|
+
}
|
|
305
|
+
fulfillmentResults.push({
|
|
306
|
+
subquery,
|
|
307
|
+
intent,
|
|
308
|
+
actionPlan,
|
|
309
|
+
response: responseText
|
|
310
|
+
});
|
|
311
|
+
}
|
|
312
|
+
const aggregateStream = this.aggregateService.aggregateIfNeeded(
|
|
313
|
+
originalQuery,
|
|
314
|
+
fulfillmentResults
|
|
315
|
+
);
|
|
316
|
+
for await (const event of aggregateStream) {
|
|
317
|
+
if (event.event === "text_chunk" && event.data.delta) {
|
|
318
|
+
finalResponseText += event.data.delta;
|
|
319
|
+
}
|
|
320
|
+
yield event;
|
|
321
|
+
}
|
|
322
|
+
}
|
|
323
|
+
await this.addToThreadMessages(thread, {
|
|
324
|
+
role: "MODEL" /* MODEL */,
|
|
325
|
+
content: finalResponseText
|
|
326
|
+
});
|
|
327
|
+
const streamEndTime = Date.now();
|
|
328
|
+
const streamDuration = streamEndTime - streamStartTime;
|
|
329
|
+
_chunkCLJ3DWTAcjs.loggers.intentStream.info("Stream session completed", {
|
|
330
|
+
threadId: thread.threadId,
|
|
331
|
+
duration: `${streamDuration}ms`,
|
|
332
|
+
endTime: new Date(streamEndTime).toISOString()
|
|
333
|
+
});
|
|
334
|
+
}
|
|
335
|
+
};
|
|
336
|
+
|
|
337
|
+
|
|
338
|
+
|
|
339
|
+
exports.IntentFulfillService = IntentFulfillService;
|
|
340
|
+
//# sourceMappingURL=chunk-IHWB5JO3.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/Users/shyun/comcom/ain-agent/ain-adk/dist/cjs/chunk-IHWB5JO3.cjs","../../src/services/intents/fulfill.service.ts"],"names":[],"mappings":"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","file":"/Users/shyun/comcom/ain-agent/ain-adk/dist/cjs/chunk-IHWB5JO3.cjs","sourcesContent":[null,"import { randomUUID } from \"node:crypto\";\nimport { getManifest } from \"@/config/manifest\";\nimport type {\n\tA2AModule,\n\tMCPModule,\n\tMemoryModule,\n\tModelModule,\n} from \"@/modules\";\nimport type { OnIntentFallback } from \"@/types/agent\";\nimport { CONNECTOR_PROTOCOL_TYPE, type ConnectorTool } from \"@/types/connector\";\nimport {\n\ttype FulfillmentResult,\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\";\nimport { AggregateService } from \"./aggregate.service\";\n\n/**\n * Check if multi-intent is disabled via environment variable.\n */\nfunction isMultiIntentDisabled(): boolean {\n\tconst value = process.env.DISABLE_MULTI_INTENTS;\n\treturn value === \"true\" || value === \"1\";\n}\n\nexport class IntentFulfillService {\n\tprivate modelModule: ModelModule;\n\tprivate memoryModule: MemoryModule;\n\tprivate a2aModule?: A2AModule;\n\tprivate mcpModule?: MCPModule;\n\tprivate onIntentFallback?: OnIntentFallback;\n\tprivate aggregateService: AggregateService;\n\n\tconstructor(\n\t\tmodelModule: ModelModule,\n\t\tmemoryModule: MemoryModule,\n\t\ta2aModule?: A2AModule,\n\t\tmcpModule?: MCPModule,\n\t\tonIntentFallback?: OnIntentFallback,\n\t) {\n\t\tthis.modelModule = modelModule;\n\t\tthis.memoryModule = memoryModule;\n\t\tthis.a2aModule = a2aModule;\n\t\tthis.mcpModule = mcpModule;\n\t\tthis.onIntentFallback = onIntentFallback;\n\t\tthis.aggregateService = new AggregateService(modelModule);\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 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\tconst toolArgs = JSON.parse(toolCall.function.arguments);\n\t\t\t\t\tconst thinkData = {\n\t\t\t\t\t\ttitle: `[${getManifest().name}] ${selectedTool.protocol} 실행: ${toolName}`,\n\t\t\t\t\t\tdescription: `${toolArgs.thinking_text || \"\"}`,\n\t\t\t\t\t};\n\t\t\t\t\tyield {\n\t\t\t\t\t\tevent: \"thinking_process\",\n\t\t\t\t\t\tdata: thinkData,\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\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\tloggers.intent.info(\"A2A tool call\", { toolName });\n\t\t\t\t\t\tconst a2aStream = 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\t// yield intermediate events and get final result\n\t\t\t\t\t\tlet result = await a2aStream.next();\n\t\t\t\t\t\twhile (!result.done) {\n\t\t\t\t\t\t\tif (result.value.event === \"thinking_process\") {\n\t\t\t\t\t\t\t\tyield result.value;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tresult = await a2aStream.next();\n\t\t\t\t\t\t}\n\t\t\t\t\t\ttoolResult = result.value;\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// Unrecognized tool type. It cannot be happened...\n\t\t\t\t\t\tloggers.intent.warn(\n\t\t\t\t\t\t\t`Unrecognized tool type: ${selectedTool.protocol}`,\n\t\t\t\t\t\t);\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\tloggers.intent.debug(\"Tool Result\", { 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\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 * Returns the appropriate stream for a triggered intent.\n\t * Uses fallback handler if no intent matched and fallback is configured.\n\t */\n\tprivate getIntentStream(\n\t\ttriggeredIntent: TriggeredIntent,\n\t\tthread: ThreadObject,\n\t): AsyncGenerator<StreamEvent> | undefined {\n\t\tconst { subquery = \"\", intent } = triggeredIntent;\n\n\t\tif (!intent && this.onIntentFallback) {\n\t\t\tloggers.intent.info(\"No intent matched, calling fallback handler\");\n\t\t\tconst fallbackStream = this.onIntentFallback({\n\t\t\t\ttriggeredIntent,\n\t\t\t\tthread,\n\t\t\t});\n\t\t\tif (fallbackStream !== undefined) {\n\t\t\t\treturn fallbackStream;\n\t\t\t}\n\t\t}\n\n\t\treturn this.intentFulfilling(subquery, thread, intent);\n\t}\n\n\t/**\n\t * Processes all triggered intents and generates a unified response.\n\t *\n\t * Workflow:\n\t * 1. Process each intent sequentially, collecting results\n\t * 2. Yield thinking_process events for progress visibility\n\t * 3. Use RewriteService to determine if results need unification\n\t * 4. Stream the final (possibly rewritten) response\n\t *\n\t * @param intents - Array of triggered intents to process\n\t * @param thread - The thread history\n\t * @param originalQuery - The user's original query (for rewrite context)\n\t * @returns AsyncGenerator yielding StreamEvent objects\n\t */\n\tpublic async *intentFulfill(\n\t\tintents: Array<TriggeredIntent>,\n\t\tthread: ThreadObject,\n\t\toriginalQuery: string,\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\tif (isMultiIntentDisabled()) {\n\t\t\t// Single-intent mode: stream response directly without aggregation\n\t\t\tconst triggeredIntent = intents[0];\n\t\t\tif (!triggeredIntent) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst { subquery = \"\", intent, actionPlan } = triggeredIntent;\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// Yield thinking_process for progress visibility\n\t\t\tyield {\n\t\t\t\tevent: \"thinking_process\",\n\t\t\t\tdata: {\n\t\t\t\t\ttitle: `[${getManifest().name}] ${subquery}`,\n\t\t\t\t\tdescription: actionPlan || \"\",\n\t\t\t\t},\n\t\t\t};\n\n\t\t\t// Get the stream for this intent\n\t\t\tconst stream = this.getIntentStream(triggeredIntent, thread);\n\t\t\tif (!stream) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Stream response directly\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\t\t\t\tyield event;\n\t\t\t}\n\t\t} else if (intents.length === 1) {\n\t\t\t// Multi-intent mode with single intent: stream directly without aggregation\n\t\t\tconst triggeredIntent = intents[0];\n\t\t\tconst { subquery = \"\", intent, actionPlan } = triggeredIntent;\n\t\t\tloggers.intent.info(`Process single intent: ${subquery}, ${intent?.name}`);\n\t\t\tloggers.intent.info(`Action plan: ${actionPlan}`);\n\n\t\t\t// Yield thinking_process for progress visibility\n\t\t\tyield {\n\t\t\t\tevent: \"thinking_process\",\n\t\t\t\tdata: {\n\t\t\t\t\ttitle: `[${getManifest().name}] ${subquery}`,\n\t\t\t\t\tdescription: actionPlan || \"\",\n\t\t\t\t},\n\t\t\t};\n\n\t\t\t// Get the stream for this intent\n\t\t\tconst stream = this.getIntentStream(triggeredIntent, thread);\n\t\t\tif (stream) {\n\t\t\t\t// Stream response directly\n\t\t\t\tfor await (const event of stream) {\n\t\t\t\t\tif (event.event === \"text_chunk\" && event.data.delta) {\n\t\t\t\t\t\tfinalResponseText += event.data.delta;\n\t\t\t\t\t}\n\t\t\t\t\tyield event;\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\t// Multi-intent mode with multiple intents: collect all results then aggregate\n\t\t\tconst fulfillmentResults: FulfillmentResult[] = [];\n\n\t\t\tfor (let i = 0; i < intents.length; i++) {\n\t\t\t\tconst triggeredIntent = intents[i];\n\t\t\t\tconst { subquery = \"\", intent, actionPlan } = triggeredIntent;\n\t\t\t\tloggers.intent.info(`Process query: ${subquery}, ${intent?.name}`);\n\t\t\t\tloggers.intent.info(`Action plan: ${actionPlan}`);\n\n\t\t\t\t// Add previous result to thread context for inference (not stored in memory)\n\t\t\t\tif (fulfillmentResults.length > 0) {\n\t\t\t\t\tconst lastResult = fulfillmentResults[fulfillmentResults.length - 1];\n\t\t\t\t\tthread.messages.push({\n\t\t\t\t\t\tmessageId: randomUUID(),\n\t\t\t\t\t\trole: MessageRole.MODEL,\n\t\t\t\t\t\ttimestamp: Date.now(),\n\t\t\t\t\t\tcontent: { type: \"text\", parts: [lastResult.response] },\n\t\t\t\t\t\tmetadata: { isThinking: true },\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\t// Yield thinking_process for progress visibility\n\t\t\t\tyield {\n\t\t\t\t\tevent: \"thinking_process\",\n\t\t\t\t\tdata: {\n\t\t\t\t\t\ttitle: `[${getManifest().name}] ${subquery}`,\n\t\t\t\t\t\tdescription: actionPlan || \"\",\n\t\t\t\t\t},\n\t\t\t\t};\n\n\t\t\t\t// Get the stream for this intent\n\t\t\t\tconst stream = this.getIntentStream(triggeredIntent, thread);\n\t\t\t\tif (!stream) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\t// Collect response text (don't yield text_chunk yet)\n\t\t\t\tlet responseText = \"\";\n\t\t\t\tfor await (const event of stream) {\n\t\t\t\t\tif (event.event === \"text_chunk\" && event.data.delta) {\n\t\t\t\t\t\tresponseText += event.data.delta;\n\t\t\t\t\t} else if (event.event === \"thinking_process\") {\n\t\t\t\t\t\t// Tool execution thinking_process events are yielded immediately\n\t\t\t\t\t\tyield event;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tfulfillmentResults.push({\n\t\t\t\t\tsubquery,\n\t\t\t\t\tintent,\n\t\t\t\t\tactionPlan,\n\t\t\t\t\tresponse: responseText,\n\t\t\t\t});\n\t\t\t}\n\n\t\t\t// Aggregate step: determine if unification is needed and generate final response\n\t\t\tconst aggregateStream = this.aggregateService.aggregateIfNeeded(\n\t\t\t\toriginalQuery,\n\t\t\t\tfulfillmentResults,\n\t\t\t);\n\n\t\t\tfor await (const event of aggregateStream) {\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\t\t\t\tyield event;\n\t\t\t}\n\t\t}\n\n\t\t// Save final response to memory\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,89 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
|
+
|
|
3
|
+
var _chunkWQIUHNUXcjs = require('./chunk-WQIUHNUX.cjs');
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
var _chunkVXJ52V2Lcjs = require('./chunk-VXJ52V2L.cjs');
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
var _chunk3COIZ4H5cjs = require('./chunk-3COIZ4H5.cjs');
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
var _chunkTDHM5TWTcjs = require('./chunk-TDHM5TWT.cjs');
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
var _chunkFLPLVYXQcjs = require('./chunk-FLPLVYXQ.cjs');
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
var _chunkMSPDYSCCcjs = require('./chunk-MSPDYSCC.cjs');
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
var _chunk4VIZ52C2cjs = require('./chunk-4VIZ52C2.cjs');
|
|
25
|
+
|
|
26
|
+
// src/container/services.ts
|
|
27
|
+
var ServiceContainer = class {
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
getThreadService() {
|
|
34
|
+
if (!this._threadService) {
|
|
35
|
+
this._threadService = new (0, _chunkFLPLVYXQcjs.ThreadService)(_chunk4VIZ52C2cjs.getMemoryModule.call(void 0, ));
|
|
36
|
+
}
|
|
37
|
+
return this._threadService;
|
|
38
|
+
}
|
|
39
|
+
getIntentTriggerService() {
|
|
40
|
+
if (!this._intentTriggerService) {
|
|
41
|
+
this._intentTriggerService = new (0, _chunkWQIUHNUXcjs.IntentTriggerService)(
|
|
42
|
+
_chunk4VIZ52C2cjs.getModelModule.call(void 0, ),
|
|
43
|
+
_chunk4VIZ52C2cjs.getMemoryModule.call(void 0, )
|
|
44
|
+
);
|
|
45
|
+
}
|
|
46
|
+
return this._intentTriggerService;
|
|
47
|
+
}
|
|
48
|
+
getIntentFulfillService() {
|
|
49
|
+
if (!this._intentFulfillService) {
|
|
50
|
+
this._intentFulfillService = new (0, _chunkVXJ52V2Lcjs.IntentFulfillService)(
|
|
51
|
+
_chunk4VIZ52C2cjs.getModelModule.call(void 0, ),
|
|
52
|
+
_chunk4VIZ52C2cjs.getMemoryModule.call(void 0, ),
|
|
53
|
+
_chunk4VIZ52C2cjs.getA2AModule.call(void 0, ),
|
|
54
|
+
_chunk4VIZ52C2cjs.getMCPModule.call(void 0, ),
|
|
55
|
+
_chunkMSPDYSCCcjs.getOnIntentFallback.call(void 0, )
|
|
56
|
+
);
|
|
57
|
+
}
|
|
58
|
+
return this._intentFulfillService;
|
|
59
|
+
}
|
|
60
|
+
getQueryService() {
|
|
61
|
+
if (!this._queryService) {
|
|
62
|
+
this._queryService = new (0, _chunkTDHM5TWTcjs.QueryService)(
|
|
63
|
+
_chunk4VIZ52C2cjs.getModelModule.call(void 0, ),
|
|
64
|
+
_chunk4VIZ52C2cjs.getMemoryModule.call(void 0, ),
|
|
65
|
+
this.getIntentTriggerService(),
|
|
66
|
+
this.getIntentFulfillService()
|
|
67
|
+
);
|
|
68
|
+
}
|
|
69
|
+
return this._queryService;
|
|
70
|
+
}
|
|
71
|
+
getA2AService() {
|
|
72
|
+
if (!this._a2aService) {
|
|
73
|
+
this._a2aService = new (0, _chunk3COIZ4H5cjs.A2AService)(this.getQueryService());
|
|
74
|
+
}
|
|
75
|
+
return this._a2aService;
|
|
76
|
+
}
|
|
77
|
+
reset() {
|
|
78
|
+
this._threadService = void 0;
|
|
79
|
+
this._intentTriggerService = void 0;
|
|
80
|
+
this._intentFulfillService = void 0;
|
|
81
|
+
this._queryService = void 0;
|
|
82
|
+
this._a2aService = void 0;
|
|
83
|
+
}
|
|
84
|
+
};
|
|
85
|
+
|
|
86
|
+
|
|
87
|
+
|
|
88
|
+
exports.ServiceContainer = ServiceContainer;
|
|
89
|
+
//# sourceMappingURL=chunk-IQ2G4LUS.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/Users/shyun/comcom/ain-agent/ain-adk/dist/cjs/chunk-IQ2G4LUS.cjs","../../src/container/services.ts"],"names":[],"mappings":"AAAA;AACE;AACF,wDAA6B;AAC7B;AACE;AACF,wDAA6B;AAC7B;AACE;AACF,wDAA6B;AAC7B;AACE;AACF,wDAA6B;AAC7B;AACE;AACF,wDAA6B;AAC7B;AACE;AACF,wDAA6B;AAC7B;AACE;AACA;AACA;AACA;AACF,wDAA6B;AAC7B;AACA;ACRO,IAAM,iBAAA,EAAN,MAAuB;AAAA,EACrB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAER,gBAAA,CAAA,EAAkC;AACjC,IAAA,GAAA,CAAI,CAAC,IAAA,CAAK,cAAA,EAAgB;AACzB,MAAA,IAAA,CAAK,eAAA,EAAiB,IAAI,oCAAA,CAAc,+CAAA,CAAiB,CAAA;AAAA,IAC1D;AACA,IAAA,OAAO,IAAA,CAAK,cAAA;AAAA,EACb;AAAA,EAEA,uBAAA,CAAA,EAAgD;AAC/C,IAAA,GAAA,CAAI,CAAC,IAAA,CAAK,qBAAA,EAAuB;AAChC,MAAA,IAAA,CAAK,sBAAA,EAAwB,IAAI,2CAAA;AAAA,QAChC,8CAAA,CAAe;AAAA,QACf,+CAAA;AAAgB,MACjB,CAAA;AAAA,IACD;AACA,IAAA,OAAO,IAAA,CAAK,qBAAA;AAAA,EACb;AAAA,EAEA,uBAAA,CAAA,EAAgD;AAC/C,IAAA,GAAA,CAAI,CAAC,IAAA,CAAK,qBAAA,EAAuB;AAChC,MAAA,IAAA,CAAK,sBAAA,EAAwB,IAAI,2CAAA;AAAA,QAChC,8CAAA,CAAe;AAAA,QACf,+CAAA,CAAgB;AAAA,QAChB,4CAAA,CAAa;AAAA,QACb,4CAAA,CAAa;AAAA,QACb,mDAAA;AAAoB,MACrB,CAAA;AAAA,IACD;AACA,IAAA,OAAO,IAAA,CAAK,qBAAA;AAAA,EACb;AAAA,EAEA,eAAA,CAAA,EAAgC;AAC/B,IAAA,GAAA,CAAI,CAAC,IAAA,CAAK,aAAA,EAAe;AACxB,MAAA,IAAA,CAAK,cAAA,EAAgB,IAAI,mCAAA;AAAA,QACxB,8CAAA,CAAe;AAAA,QACf,+CAAA,CAAgB;AAAA,QAChB,IAAA,CAAK,uBAAA,CAAwB,CAAA;AAAA,QAC7B,IAAA,CAAK,uBAAA,CAAwB;AAAA,MAC9B,CAAA;AAAA,IACD;AACA,IAAA,OAAO,IAAA,CAAK,aAAA;AAAA,EACb;AAAA,EAEA,aAAA,CAAA,EAA4B;AAC3B,IAAA,GAAA,CAAI,CAAC,IAAA,CAAK,WAAA,EAAa;AACtB,MAAA,IAAA,CAAK,YAAA,EAAc,IAAI,iCAAA,CAAW,IAAA,CAAK,eAAA,CAAgB,CAAC,CAAA;AAAA,IACzD;AACA,IAAA,OAAO,IAAA,CAAK,WAAA;AAAA,EACb;AAAA,EAEA,KAAA,CAAA,EAAc;AACb,IAAA,IAAA,CAAK,eAAA,EAAiB,KAAA,CAAA;AACtB,IAAA,IAAA,CAAK,sBAAA,EAAwB,KAAA,CAAA;AAC7B,IAAA,IAAA,CAAK,sBAAA,EAAwB,KAAA,CAAA;AAC7B,IAAA,IAAA,CAAK,cAAA,EAAgB,KAAA,CAAA;AACrB,IAAA,IAAA,CAAK,YAAA,EAAc,KAAA,CAAA;AAAA,EACpB;AACD,CAAA;ADIA;AACA;AACE;AACF,4CAAC","file":"/Users/shyun/comcom/ain-agent/ain-adk/dist/cjs/chunk-IQ2G4LUS.cjs","sourcesContent":[null,"import {\n\tgetA2AModule,\n\tgetMCPModule,\n\tgetMemoryModule,\n\tgetModelModule,\n} from \"@/config/modules\";\nimport { getOnIntentFallback } from \"@/config/options\";\nimport { A2AService } from \"@/services/a2a.service\";\nimport { IntentFulfillService } from \"@/services/intents/fulfill.service\";\nimport { IntentTriggerService } from \"@/services/intents/trigger.service\";\nimport { QueryService } from \"@/services/query.service\";\nimport { ThreadService } from \"@/services/thread.service\";\n\n/**\n * Service factory for dependency injection.\n * Manages singleton instances of all services.\n */\nexport class ServiceContainer {\n\tprivate _threadService?: ThreadService;\n\tprivate _intentTriggerService?: IntentTriggerService;\n\tprivate _intentFulfillService?: IntentFulfillService;\n\tprivate _queryService?: QueryService;\n\tprivate _a2aService?: A2AService;\n\n\tgetThreadService(): ThreadService {\n\t\tif (!this._threadService) {\n\t\t\tthis._threadService = new ThreadService(getMemoryModule());\n\t\t}\n\t\treturn this._threadService;\n\t}\n\n\tgetIntentTriggerService(): IntentTriggerService {\n\t\tif (!this._intentTriggerService) {\n\t\t\tthis._intentTriggerService = new IntentTriggerService(\n\t\t\t\tgetModelModule(),\n\t\t\t\tgetMemoryModule(),\n\t\t\t);\n\t\t}\n\t\treturn this._intentTriggerService;\n\t}\n\n\tgetIntentFulfillService(): IntentFulfillService {\n\t\tif (!this._intentFulfillService) {\n\t\t\tthis._intentFulfillService = new IntentFulfillService(\n\t\t\t\tgetModelModule(),\n\t\t\t\tgetMemoryModule(),\n\t\t\t\tgetA2AModule(),\n\t\t\t\tgetMCPModule(),\n\t\t\t\tgetOnIntentFallback(),\n\t\t\t);\n\t\t}\n\t\treturn this._intentFulfillService;\n\t}\n\n\tgetQueryService(): QueryService {\n\t\tif (!this._queryService) {\n\t\t\tthis._queryService = new QueryService(\n\t\t\t\tgetModelModule(),\n\t\t\t\tgetMemoryModule(),\n\t\t\t\tthis.getIntentTriggerService(),\n\t\t\t\tthis.getIntentFulfillService(),\n\t\t\t);\n\t\t}\n\t\treturn this._queryService;\n\t}\n\n\tgetA2AService(): A2AService {\n\t\tif (!this._a2aService) {\n\t\t\tthis._a2aService = new A2AService(this.getQueryService());\n\t\t}\n\t\treturn this._a2aService;\n\t}\n\n\treset(): void {\n\t\tthis._threadService = undefined;\n\t\tthis._intentTriggerService = undefined;\n\t\tthis._intentFulfillService = undefined;\n\t\tthis._queryService = undefined;\n\t\tthis._a2aService = undefined;\n\t}\n}\n"]}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
|
+
|
|
3
|
+
var _chunkTGBWU6YDcjs = require('./chunk-TGBWU6YD.cjs');
|
|
4
|
+
|
|
5
|
+
// src/routes/api/agent.routes.ts
|
|
6
|
+
var _express = require('express');
|
|
7
|
+
var createAgentApiRouter = () => {
|
|
8
|
+
const router = _express.Router.call(void 0, );
|
|
9
|
+
const agentApiController = _chunkTGBWU6YDcjs.container.getAgentApiController();
|
|
10
|
+
router.get("/a2a", agentApiController.handleGetA2AConnectors);
|
|
11
|
+
return router;
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
exports.createAgentApiRouter = createAgentApiRouter;
|
|
17
|
+
//# sourceMappingURL=chunk-IY5Q3TOG.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/Users/shyun/comcom/ain-agent/ain-adk/dist/cjs/chunk-IY5Q3TOG.cjs","../../src/routes/api/agent.routes.ts"],"names":[],"mappings":"AAAA;AACE;AACF,wDAA6B;AAC7B;AACA;ACJA,kCAAuB;AAGhB,IAAM,qBAAA,EAAuB,CAAA,EAAA,GAAc;AACjD,EAAA,MAAM,OAAA,EAAS,6BAAA,CAAO;AACtB,EAAA,MAAM,mBAAA,EAAqB,2BAAA,CAAU,qBAAA,CAAsB,CAAA;AAG3D,EAAA,MAAA,CAAO,GAAA,CAAI,MAAA,EAAQ,kBAAA,CAAmB,sBAAsB,CAAA;AAE5D,EAAA,OAAO,MAAA;AACR,CAAA;ADCA;AACA;AACE;AACF,oDAAC","file":"/Users/shyun/comcom/ain-agent/ain-adk/dist/cjs/chunk-IY5Q3TOG.cjs","sourcesContent":[null,"import { Router } from \"express\";\nimport { container } from \"@/container\";\n\nexport const createAgentApiRouter = (): Router => {\n\tconst router = Router();\n\tconst agentApiController = container.getAgentApiController();\n\n\t// APIs (prefix: /api/agent)\n\trouter.get(\"/a2a\", agentApiController.handleGetA2AConnectors);\n\n\treturn router;\n};\n"]}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
|
+
|
|
3
|
+
var _chunk65JM632Pcjs = require('./chunk-65JM632P.cjs');
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
var _chunkZ7ZCJEMEcjs = require('./chunk-Z7ZCJEME.cjs');
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
var _chunk5P25YU2Zcjs = require('./chunk-5P25YU2Z.cjs');
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
var _chunk5VHF27F5cjs = require('./chunk-5VHF27F5.cjs');
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
var _chunkF3LQ74NZcjs = require('./chunk-F3LQ74NZ.cjs');
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
var _chunk4VIZ52C2cjs = require('./chunk-4VIZ52C2.cjs');
|
|
19
|
+
|
|
20
|
+
// src/routes/api.routes.ts
|
|
21
|
+
var _express = require('express');
|
|
22
|
+
var createApiRouter = () => {
|
|
23
|
+
const router = _express.Router.call(void 0, );
|
|
24
|
+
router.use("/model", _chunk5P25YU2Zcjs.createModelApiRouter.call(void 0, ));
|
|
25
|
+
router.use("/agent", _chunk65JM632Pcjs.createAgentApiRouter.call(void 0, ));
|
|
26
|
+
const memoryModule = _chunk4VIZ52C2cjs.getMemoryModule.call(void 0, );
|
|
27
|
+
if (memoryModule) {
|
|
28
|
+
router.use("/threads", _chunk5VHF27F5cjs.createThreadApiRouter.call(void 0, ));
|
|
29
|
+
router.use("/intent", _chunkZ7ZCJEMEcjs.createIntentApiRouter.call(void 0, ));
|
|
30
|
+
router.use("/workflow", _chunkF3LQ74NZcjs.createWorkflowApiRouter.call(void 0, ));
|
|
31
|
+
}
|
|
32
|
+
return router;
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
exports.createApiRouter = createApiRouter;
|
|
38
|
+
//# sourceMappingURL=chunk-J25SHMXB.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/Users/shyun/comcom/ain-agent/ain-adk/dist/cjs/chunk-J25SHMXB.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;AACE;AACF,wDAA6B;AAC7B;AACE;AACF,wDAA6B;AAC7B;AACA;ACnBA,kCAAuB;AAQhB,IAAM,gBAAA,EAAkB,CAAA,EAAA,GAAc;AAC5C,EAAA,MAAM,OAAA,EAAS,6BAAA,CAAO;AAEtB,EAAA,MAAA,CAAO,GAAA,CAAI,QAAA,EAAU,oDAAA,CAAsB,CAAA;AAC3C,EAAA,MAAA,CAAO,GAAA,CAAI,QAAA,EAAU,oDAAA,CAAsB,CAAA;AAE3C,EAAA,MAAM,aAAA,EAAe,+CAAA,CAAgB;AACrC,EAAA,GAAA,CAAI,YAAA,EAAc;AACjB,IAAA,MAAA,CAAO,GAAA,CAAI,UAAA,EAAY,qDAAA,CAAuB,CAAA;AAC9C,IAAA,MAAA,CAAO,GAAA,CAAI,SAAA,EAAW,qDAAA,CAAuB,CAAA;AAC7C,IAAA,MAAA,CAAO,GAAA,CAAI,WAAA,EAAa,uDAAA,CAAyB,CAAA;AAAA,EAClD;AAEA,EAAA,OAAO,MAAA;AACR,CAAA;ADWA;AACA;AACE;AACF,0CAAC","file":"/Users/shyun/comcom/ain-agent/ain-adk/dist/cjs/chunk-J25SHMXB.cjs","sourcesContent":[null,"import { Router } from \"express\";\nimport { getMemoryModule } from \"@/config/modules\";\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\";\nimport { createWorkflowApiRouter } from \"./api/workflow.routes.js\";\n\nexport const createApiRouter = (): Router => {\n\tconst router = Router();\n\n\trouter.use(\"/model\", createModelApiRouter());\n\trouter.use(\"/agent\", createAgentApiRouter());\n\n\tconst memoryModule = getMemoryModule();\n\tif (memoryModule) {\n\t\trouter.use(\"/threads\", createThreadApiRouter());\n\t\trouter.use(\"/intent\", createIntentApiRouter());\n\t\trouter.use(\"/workflow\", createWorkflowApiRouter());\n\t}\n\n\treturn router;\n};\n"]}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
|
+
|
|
3
|
+
var _chunkWZDAN7J3cjs = require('./chunk-WZDAN7J3.cjs');
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
var _chunkOERUQFT7cjs = require('./chunk-OERUQFT7.cjs');
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
var _chunk4VIZ52C2cjs = require('./chunk-4VIZ52C2.cjs');
|
|
10
|
+
|
|
11
|
+
// src/routes/api/intent.routes.ts
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
var _express = require('express');
|
|
15
|
+
var _httpstatuscodes = require('http-status-codes');
|
|
16
|
+
var createIntentApiRouter = () => {
|
|
17
|
+
const router = _express.Router.call(void 0, );
|
|
18
|
+
const intentApiController = _chunkWZDAN7J3cjs.container.getIntentApiController();
|
|
19
|
+
const checkThreadMemory = (_req, _res, next) => {
|
|
20
|
+
const memoryModule = _chunk4VIZ52C2cjs.getMemoryModule.call(void 0, );
|
|
21
|
+
const threadMemory = memoryModule.getThreadMemory();
|
|
22
|
+
if (!threadMemory) {
|
|
23
|
+
const error = new (0, _chunkOERUQFT7cjs.AinHttpError)(
|
|
24
|
+
_httpstatuscodes.StatusCodes.SERVICE_UNAVAILABLE,
|
|
25
|
+
"Memory module is not initialized"
|
|
26
|
+
);
|
|
27
|
+
throw error;
|
|
28
|
+
}
|
|
29
|
+
next();
|
|
30
|
+
};
|
|
31
|
+
router.get("/", checkThreadMemory, intentApiController.handleGetAllIntents);
|
|
32
|
+
router.post("/save", checkThreadMemory, intentApiController.handleSaveIntent);
|
|
33
|
+
router.post(
|
|
34
|
+
"/delete/:id",
|
|
35
|
+
checkThreadMemory,
|
|
36
|
+
intentApiController.handleDeleteIntent
|
|
37
|
+
);
|
|
38
|
+
return router;
|
|
39
|
+
};
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
exports.createIntentApiRouter = createIntentApiRouter;
|
|
44
|
+
//# sourceMappingURL=chunk-J6RQW3CG.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/Users/shyun/comcom/ain-agent/ain-adk/dist/cjs/chunk-J6RQW3CG.cjs","../../src/routes/api/intent.routes.ts"],"names":[],"mappings":"AAAA;AACE;AACF,wDAA6B;AAC7B;AACE;AACF,wDAA6B;AAC7B;AACE;AACF,wDAA6B;AAC7B;AACA;ACVA;AAIC;AAAA,kCACM;AACP,oDAA4B;AAKrB,IAAM,sBAAA,EAAwB,CAAA,EAAA,GAAc;AAClD,EAAA,MAAM,OAAA,EAAS,6BAAA,CAAO;AACtB,EAAA,MAAM,oBAAA,EAAsB,2BAAA,CAAU,sBAAA,CAAuB,CAAA;AAE7D,EAAA,MAAM,kBAAA,EAAoB,CACzB,IAAA,EACA,IAAA,EACA,IAAA,EAAA,GACI;AACJ,IAAA,MAAM,aAAA,EAAe,+CAAA,CAAgB;AACrC,IAAA,MAAM,aAAA,EAAe,YAAA,CAAa,eAAA,CAAgB,CAAA;AAClD,IAAA,GAAA,CAAI,CAAC,YAAA,EAAc;AAClB,MAAA,MAAM,MAAA,EAAQ,IAAI,mCAAA;AAAA,QACjB,4BAAA,CAAY,mBAAA;AAAA,QACZ;AAAA,MACD,CAAA;AACA,MAAA,MAAM,KAAA;AAAA,IACP;AACA,IAAA,IAAA,CAAK,CAAA;AAAA,EACN,CAAA;AAGA,EAAA,MAAA,CAAO,GAAA,CAAI,GAAA,EAAK,iBAAA,EAAmB,mBAAA,CAAoB,mBAAmB,CAAA;AAC1E,EAAA,MAAA,CAAO,IAAA,CAAK,OAAA,EAAS,iBAAA,EAAmB,mBAAA,CAAoB,gBAAgB,CAAA;AAC5E,EAAA,MAAA,CAAO,IAAA;AAAA,IACN,aAAA;AAAA,IACA,iBAAA;AAAA,IACA,mBAAA,CAAoB;AAAA,EACrB,CAAA;AAEA,EAAA,OAAO,MAAA;AACR,CAAA;ADHA;AACA;AACE;AACF,sDAAC","file":"/Users/shyun/comcom/ain-agent/ain-adk/dist/cjs/chunk-J6RQW3CG.cjs","sourcesContent":[null,"import {\n\ttype NextFunction,\n\ttype Request,\n\ttype Response,\n\tRouter,\n} from \"express\";\nimport { StatusCodes } from \"http-status-codes\";\nimport { getMemoryModule } from \"@/config/modules\";\nimport { container } from \"@/container\";\nimport { AinHttpError } from \"@/types/agent\";\n\nexport const createIntentApiRouter = (): Router => {\n\tconst router = Router();\n\tconst intentApiController = container.getIntentApiController();\n\n\tconst checkThreadMemory = (\n\t\t_req: Request,\n\t\t_res: Response,\n\t\tnext: NextFunction,\n\t) => {\n\t\tconst memoryModule = getMemoryModule();\n\t\tconst threadMemory = memoryModule.getThreadMemory();\n\t\tif (!threadMemory) {\n\t\t\tconst error = new AinHttpError(\n\t\t\t\tStatusCodes.SERVICE_UNAVAILABLE,\n\t\t\t\t\"Memory module is not initialized\",\n\t\t\t);\n\t\t\tthrow error;\n\t\t}\n\t\tnext();\n\t};\n\n\t// APIs (prefix: /api/intent)\n\trouter.get(\"/\", checkThreadMemory, intentApiController.handleGetAllIntents);\n\trouter.post(\"/save\", checkThreadMemory, intentApiController.handleSaveIntent);\n\trouter.post(\n\t\t\"/delete/:id\",\n\t\tcheckThreadMemory,\n\t\tintentApiController.handleDeleteIntent,\n\t);\n\n\treturn router;\n};\n"]}
|