@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,199 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
var _chunkEQWAVDJYcjs = require('./chunk-EQWAVDJY.cjs');
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
var _chunkCLJ3DWTAcjs = require('./chunk-CLJ3DWTA.cjs');
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
var _chunkO5X5QT63cjs = require('./chunk-O5X5QT63.cjs');
|
|
11
|
+
|
|
12
|
+
// src/services/intents/aggregate.service.ts
|
|
13
|
+
var AggregateService = class {
|
|
14
|
+
|
|
15
|
+
constructor(modelModule) {
|
|
16
|
+
this.modelModule = modelModule;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Generates a unified response combining all results (always aggregates).
|
|
20
|
+
* Use this when needsAggregation is already determined to be true.
|
|
21
|
+
*
|
|
22
|
+
* @param originalQuery - The user's original query
|
|
23
|
+
* @param results - Array of fulfillment results from each intent
|
|
24
|
+
* @returns AsyncGenerator yielding StreamEvent objects
|
|
25
|
+
*/
|
|
26
|
+
async *aggregate(originalQuery, results) {
|
|
27
|
+
if (results.length <= 1) {
|
|
28
|
+
const response = _nullishCoalesce(_optionalChain([results, 'access', _ => _[0], 'optionalAccess', _2 => _2.response]), () => ( ""));
|
|
29
|
+
if (response) {
|
|
30
|
+
yield {
|
|
31
|
+
event: "text_chunk",
|
|
32
|
+
data: { delta: response }
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
yield {
|
|
38
|
+
event: "thinking_process",
|
|
39
|
+
data: {
|
|
40
|
+
title: `[${_chunkO5X5QT63cjs.getManifest.call(void 0, ).name}] \uC751\uB2F5 \uD1B5\uD569 \uC911`,
|
|
41
|
+
description: "\uC5EC\uB7EC \uC791\uC5C5 \uACB0\uACFC\uB97C \uD558\uB098\uC758 \uC751\uB2F5\uC73C\uB85C \uD1B5\uD569\uD569\uB2C8\uB2E4."
|
|
42
|
+
}
|
|
43
|
+
};
|
|
44
|
+
yield* this.generateAggregatedResponse(originalQuery, results);
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Analyzes fulfillment results and either returns the last response as-is
|
|
48
|
+
* or generates a unified response combining all results.
|
|
49
|
+
*
|
|
50
|
+
* @deprecated Use aggregate() instead when needsAggregation is determined at trigger time
|
|
51
|
+
* @param originalQuery - The user's original query
|
|
52
|
+
* @param results - Array of fulfillment results from each intent
|
|
53
|
+
* @returns AsyncGenerator yielding StreamEvent objects
|
|
54
|
+
*/
|
|
55
|
+
async *aggregateIfNeeded(originalQuery, results) {
|
|
56
|
+
if (results.length <= 1) {
|
|
57
|
+
const response = _nullishCoalesce(_optionalChain([results, 'access', _3 => _3[0], 'optionalAccess', _4 => _4.response]), () => ( ""));
|
|
58
|
+
if (response) {
|
|
59
|
+
yield {
|
|
60
|
+
event: "text_chunk",
|
|
61
|
+
data: { delta: response }
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
return;
|
|
65
|
+
}
|
|
66
|
+
const decision = await this.shouldAggregate(originalQuery, results);
|
|
67
|
+
_chunkCLJ3DWTAcjs.loggers.intent.info("Aggregate decision", {
|
|
68
|
+
needsAggregation: decision.needsAggregation,
|
|
69
|
+
reason: decision.reason
|
|
70
|
+
});
|
|
71
|
+
if (!decision.needsAggregation) {
|
|
72
|
+
yield {
|
|
73
|
+
event: "text_chunk",
|
|
74
|
+
data: { delta: results[results.length - 1].response }
|
|
75
|
+
};
|
|
76
|
+
return;
|
|
77
|
+
}
|
|
78
|
+
yield {
|
|
79
|
+
event: "thinking_process",
|
|
80
|
+
data: {
|
|
81
|
+
title: `[${_chunkO5X5QT63cjs.getManifest.call(void 0, ).name}] \uC751\uB2F5 \uD1B5\uD569 \uC911`,
|
|
82
|
+
description: decision.reason || "\uC5EC\uB7EC \uC791\uC5C5 \uACB0\uACFC\uB97C \uD558\uB098\uC758 \uC751\uB2F5\uC73C\uB85C \uD1B5\uD569\uD569\uB2C8\uB2E4."
|
|
83
|
+
}
|
|
84
|
+
};
|
|
85
|
+
yield* this.generateAggregatedResponse(originalQuery, results);
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Asks LLM to decide whether the results need to be aggregated.
|
|
89
|
+
*/
|
|
90
|
+
async shouldAggregate(originalQuery, results) {
|
|
91
|
+
const modelInstance = this.modelModule.getModel();
|
|
92
|
+
const modelOptions = this.modelModule.getModelOptions();
|
|
93
|
+
const prompt = this.buildDecisionPrompt(originalQuery, results);
|
|
94
|
+
const emptyThread = {
|
|
95
|
+
messages: [],
|
|
96
|
+
userId: "",
|
|
97
|
+
threadId: "",
|
|
98
|
+
type: "CHAT",
|
|
99
|
+
title: ""
|
|
100
|
+
};
|
|
101
|
+
const messages = modelInstance.generateMessages({
|
|
102
|
+
query: prompt,
|
|
103
|
+
thread: emptyThread,
|
|
104
|
+
systemPrompt: _chunkEQWAVDJYcjs.AGGREGATE_DECISION_SYSTEM_PROMPT
|
|
105
|
+
});
|
|
106
|
+
try {
|
|
107
|
+
const response = await modelInstance.fetchWithContextMessage(
|
|
108
|
+
messages,
|
|
109
|
+
[],
|
|
110
|
+
modelOptions
|
|
111
|
+
);
|
|
112
|
+
const responseText = _nullishCoalesce(response.content, () => ( ""));
|
|
113
|
+
let jsonStr = responseText;
|
|
114
|
+
const jsonMatch = responseText.match(/```(?:json)?\s*([\s\S]*?)```/);
|
|
115
|
+
if (jsonMatch) {
|
|
116
|
+
jsonStr = jsonMatch[1].trim();
|
|
117
|
+
}
|
|
118
|
+
const parsed = JSON.parse(jsonStr);
|
|
119
|
+
return {
|
|
120
|
+
needsAggregation: _nullishCoalesce(parsed.needsAggregation, () => ( true)),
|
|
121
|
+
reason: _nullishCoalesce(parsed.reason, () => ( ""))
|
|
122
|
+
};
|
|
123
|
+
} catch (error) {
|
|
124
|
+
_chunkCLJ3DWTAcjs.loggers.intent.warn(
|
|
125
|
+
"Failed to parse aggregate decision, defaulting to aggregate",
|
|
126
|
+
{
|
|
127
|
+
error
|
|
128
|
+
}
|
|
129
|
+
);
|
|
130
|
+
return { needsAggregation: true, reason: "Failed to parse decision" };
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* Generates a unified response by streaming from the model.
|
|
135
|
+
*/
|
|
136
|
+
async *generateAggregatedResponse(originalQuery, results) {
|
|
137
|
+
const modelInstance = this.modelModule.getModel();
|
|
138
|
+
const modelOptions = this.modelModule.getModelOptions();
|
|
139
|
+
const prompt = this.buildAggregatePrompt(originalQuery, results);
|
|
140
|
+
const emptyThread = {
|
|
141
|
+
messages: [],
|
|
142
|
+
userId: "",
|
|
143
|
+
threadId: "",
|
|
144
|
+
type: "CHAT",
|
|
145
|
+
title: ""
|
|
146
|
+
};
|
|
147
|
+
const messages = modelInstance.generateMessages({
|
|
148
|
+
query: prompt,
|
|
149
|
+
thread: emptyThread,
|
|
150
|
+
systemPrompt: _chunkEQWAVDJYcjs.AGGREGATE_GENERATION_SYSTEM_PROMPT
|
|
151
|
+
});
|
|
152
|
+
const stream = await modelInstance.fetchStreamWithContextMessage(
|
|
153
|
+
messages,
|
|
154
|
+
[],
|
|
155
|
+
modelOptions
|
|
156
|
+
);
|
|
157
|
+
for await (const chunk of stream) {
|
|
158
|
+
if (_optionalChain([chunk, 'access', _5 => _5.delta, 'optionalAccess', _6 => _6.content])) {
|
|
159
|
+
yield {
|
|
160
|
+
event: "text_chunk",
|
|
161
|
+
data: { delta: chunk.delta.content }
|
|
162
|
+
};
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
/**
|
|
167
|
+
* Builds the prompt for the aggregation decision.
|
|
168
|
+
*/
|
|
169
|
+
buildDecisionPrompt(originalQuery, results) {
|
|
170
|
+
const resultsText = results.map(
|
|
171
|
+
(r, i) => `[Task ${i + 1}] ${r.subquery}
|
|
172
|
+
[Response ${i + 1}] ${r.response}`
|
|
173
|
+
).join("\n\n---\n\n");
|
|
174
|
+
return `Original Query: ${originalQuery}
|
|
175
|
+
|
|
176
|
+
Results:
|
|
177
|
+
${resultsText}`;
|
|
178
|
+
}
|
|
179
|
+
/**
|
|
180
|
+
* Builds the prompt for generating an aggregated response.
|
|
181
|
+
*/
|
|
182
|
+
buildAggregatePrompt(originalQuery, results) {
|
|
183
|
+
const resultsText = results.map(
|
|
184
|
+
(r, i) => `[Task ${i + 1}] ${r.subquery}
|
|
185
|
+
[Response ${i + 1}] ${r.response}`
|
|
186
|
+
).join("\n\n---\n\n");
|
|
187
|
+
return `Original Query: ${originalQuery}
|
|
188
|
+
|
|
189
|
+
All task results:
|
|
190
|
+
${resultsText}
|
|
191
|
+
|
|
192
|
+
Please provide a unified response that addresses the original query.`;
|
|
193
|
+
}
|
|
194
|
+
};
|
|
195
|
+
|
|
196
|
+
|
|
197
|
+
|
|
198
|
+
exports.AggregateService = AggregateService;
|
|
199
|
+
//# sourceMappingURL=chunk-JDIXUPU3.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/Users/shyun/comcom/ain-agent/ain-adk/dist/cjs/chunk-JDIXUPU3.cjs","../../src/services/intents/aggregate.service.ts"],"names":[],"mappings":"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","file":"/Users/shyun/comcom/ain-agent/ain-adk/dist/cjs/chunk-JDIXUPU3.cjs","sourcesContent":[null,"import { getManifest } from \"@/config/manifest\";\nimport type { ModelModule } from \"@/modules\";\nimport type { FulfillmentResult, ThreadType } from \"@/types/memory\";\nimport type { StreamEvent } from \"@/types/stream\";\nimport { loggers } from \"@/utils/logger\";\nimport {\n\tAGGREGATE_DECISION_SYSTEM_PROMPT,\n\tAGGREGATE_GENERATION_SYSTEM_PROMPT,\n} from \"../utils/aggregate.common\";\n\ninterface AggregateDecision {\n\tneedsAggregation: boolean;\n\treason: string;\n}\n\n/**\n * Service for determining whether multiple fulfillment results need to be\n * aggregated into a unified response, and generating that response if needed.\n */\nexport class AggregateService {\n\tprivate modelModule: ModelModule;\n\n\tconstructor(modelModule: ModelModule) {\n\t\tthis.modelModule = modelModule;\n\t}\n\n\t/**\n\t * Generates a unified response combining all results (always aggregates).\n\t * Use this when needsAggregation is already determined to be true.\n\t *\n\t * @param originalQuery - The user's original query\n\t * @param results - Array of fulfillment results from each intent\n\t * @returns AsyncGenerator yielding StreamEvent objects\n\t */\n\tpublic async *aggregate(\n\t\toriginalQuery: string,\n\t\tresults: FulfillmentResult[],\n\t): AsyncGenerator<StreamEvent> {\n\t\t// Single result doesn't need aggregation\n\t\tif (results.length <= 1) {\n\t\t\tconst response = results[0]?.response ?? \"\";\n\t\t\tif (response) {\n\t\t\t\tyield {\n\t\t\t\t\tevent: \"text_chunk\",\n\t\t\t\t\tdata: { delta: response },\n\t\t\t\t};\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\n\t\t// Emit thinking_process event for aggregate step\n\t\tyield {\n\t\t\tevent: \"thinking_process\",\n\t\t\tdata: {\n\t\t\t\ttitle: `[${getManifest().name}] 응답 통합 중`,\n\t\t\t\tdescription: \"여러 작업 결과를 하나의 응답으로 통합합니다.\",\n\t\t\t},\n\t\t};\n\n\t\t// Generate unified response (streaming)\n\t\tyield* this.generateAggregatedResponse(originalQuery, results);\n\t}\n\n\t/**\n\t * Analyzes fulfillment results and either returns the last response as-is\n\t * or generates a unified response combining all results.\n\t *\n\t * @deprecated Use aggregate() instead when needsAggregation is determined at trigger time\n\t * @param originalQuery - The user's original query\n\t * @param results - Array of fulfillment results from each intent\n\t * @returns AsyncGenerator yielding StreamEvent objects\n\t */\n\tpublic async *aggregateIfNeeded(\n\t\toriginalQuery: string,\n\t\tresults: FulfillmentResult[],\n\t): AsyncGenerator<StreamEvent> {\n\t\t// Single result doesn't need aggregation\n\t\tif (results.length <= 1) {\n\t\t\tconst response = results[0]?.response ?? \"\";\n\t\t\tif (response) {\n\t\t\t\tyield {\n\t\t\t\t\tevent: \"text_chunk\",\n\t\t\t\t\tdata: { delta: response },\n\t\t\t\t};\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\n\t\t// Ask LLM whether aggregation is needed\n\t\tconst decision = await this.shouldAggregate(originalQuery, results);\n\n\t\tloggers.intent.info(\"Aggregate decision\", {\n\t\t\tneedsAggregation: decision.needsAggregation,\n\t\t\treason: decision.reason,\n\t\t});\n\n\t\tif (!decision.needsAggregation) {\n\t\t\t// Last response already contains aggregated content\n\t\t\tyield {\n\t\t\t\tevent: \"text_chunk\",\n\t\t\t\tdata: { delta: results[results.length - 1].response },\n\t\t\t};\n\t\t\treturn;\n\t\t}\n\n\t\t// Emit thinking_process event for aggregate step\n\t\tyield {\n\t\t\tevent: \"thinking_process\",\n\t\t\tdata: {\n\t\t\t\ttitle: `[${getManifest().name}] 응답 통합 중`,\n\t\t\t\tdescription:\n\t\t\t\t\tdecision.reason || \"여러 작업 결과를 하나의 응답으로 통합합니다.\",\n\t\t\t},\n\t\t};\n\n\t\t// Generate unified response (streaming)\n\t\tyield* this.generateAggregatedResponse(originalQuery, results);\n\t}\n\n\t/**\n\t * Asks LLM to decide whether the results need to be aggregated.\n\t */\n\tprivate async shouldAggregate(\n\t\toriginalQuery: string,\n\t\tresults: FulfillmentResult[],\n\t): Promise<AggregateDecision> {\n\t\tconst modelInstance = this.modelModule.getModel();\n\t\tconst modelOptions = this.modelModule.getModelOptions();\n\n\t\tconst prompt = this.buildDecisionPrompt(originalQuery, results);\n\n\t\tconst emptyThread = {\n\t\t\tmessages: [],\n\t\t\tuserId: \"\",\n\t\t\tthreadId: \"\",\n\t\t\ttype: \"CHAT\" as ThreadType,\n\t\t\ttitle: \"\",\n\t\t};\n\n\t\tconst messages = modelInstance.generateMessages({\n\t\t\tquery: prompt,\n\t\t\tthread: emptyThread,\n\t\t\tsystemPrompt: AGGREGATE_DECISION_SYSTEM_PROMPT,\n\t\t});\n\n\t\ttry {\n\t\t\tconst response = await modelInstance.fetchWithContextMessage(\n\t\t\t\tmessages,\n\t\t\t\t[],\n\t\t\t\tmodelOptions,\n\t\t\t);\n\n\t\t\t// Extract JSON from response (handle markdown code blocks)\n\t\t\tconst responseText = response.content ?? \"\";\n\t\t\tlet jsonStr = responseText;\n\t\t\tconst jsonMatch = responseText.match(/```(?:json)?\\s*([\\s\\S]*?)```/);\n\t\t\tif (jsonMatch) {\n\t\t\t\tjsonStr = jsonMatch[1].trim();\n\t\t\t}\n\n\t\t\tconst parsed = JSON.parse(jsonStr);\n\t\t\treturn {\n\t\t\t\tneedsAggregation: parsed.needsAggregation ?? true,\n\t\t\t\treason: parsed.reason ?? \"\",\n\t\t\t};\n\t\t} catch (error) {\n\t\t\tloggers.intent.warn(\n\t\t\t\t\"Failed to parse aggregate decision, defaulting to aggregate\",\n\t\t\t\t{\n\t\t\t\t\terror,\n\t\t\t\t},\n\t\t\t);\n\t\t\t// Default to aggregating if parsing fails\n\t\t\treturn { needsAggregation: true, reason: \"Failed to parse decision\" };\n\t\t}\n\t}\n\n\t/**\n\t * Generates a unified response by streaming from the model.\n\t */\n\tprivate async *generateAggregatedResponse(\n\t\toriginalQuery: string,\n\t\tresults: FulfillmentResult[],\n\t): AsyncGenerator<StreamEvent> {\n\t\tconst modelInstance = this.modelModule.getModel();\n\t\tconst modelOptions = this.modelModule.getModelOptions();\n\n\t\tconst prompt = this.buildAggregatePrompt(originalQuery, results);\n\n\t\tconst emptyThread = {\n\t\t\tmessages: [],\n\t\t\tuserId: \"\",\n\t\t\tthreadId: \"\",\n\t\t\ttype: \"CHAT\" as ThreadType,\n\t\t\ttitle: \"\",\n\t\t};\n\n\t\tconst messages = modelInstance.generateMessages({\n\t\t\tquery: prompt,\n\t\t\tthread: emptyThread,\n\t\t\tsystemPrompt: AGGREGATE_GENERATION_SYSTEM_PROMPT,\n\t\t});\n\n\t\tconst stream = await modelInstance.fetchStreamWithContextMessage(\n\t\t\tmessages,\n\t\t\t[],\n\t\t\tmodelOptions,\n\t\t);\n\n\t\tfor await (const chunk of stream) {\n\t\t\tif (chunk.delta?.content) {\n\t\t\t\tyield {\n\t\t\t\t\tevent: \"text_chunk\",\n\t\t\t\t\tdata: { delta: chunk.delta.content },\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Builds the prompt for the aggregation decision.\n\t */\n\tprivate buildDecisionPrompt(\n\t\toriginalQuery: string,\n\t\tresults: FulfillmentResult[],\n\t): string {\n\t\tconst resultsText = results\n\t\t\t.map(\n\t\t\t\t(r, i) =>\n\t\t\t\t\t`[Task ${i + 1}] ${r.subquery}\\n[Response ${i + 1}] ${r.response}`,\n\t\t\t)\n\t\t\t.join(\"\\n\\n---\\n\\n\");\n\n\t\treturn `Original Query: ${originalQuery}\n\nResults:\n${resultsText}`;\n\t}\n\n\t/**\n\t * Builds the prompt for generating an aggregated response.\n\t */\n\tprivate buildAggregatePrompt(\n\t\toriginalQuery: string,\n\t\tresults: FulfillmentResult[],\n\t): string {\n\t\tconst resultsText = results\n\t\t\t.map(\n\t\t\t\t(r, i) =>\n\t\t\t\t\t`[Task ${i + 1}] ${r.subquery}\\n[Response ${i + 1}] ${r.response}`,\n\t\t\t)\n\t\t\t.join(\"\\n\\n---\\n\\n\");\n\n\t\treturn `Original Query: ${originalQuery}\n\nAll task results:\n${resultsText}\n\nPlease provide a unified response that addresses the original query.`;\n\t}\n}\n"]}
|
|
@@ -0,0 +1,104 @@
|
|
|
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 _chunkXHTEJE4Ecjs = require('./chunk-XHTEJE4E.cjs');
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
var _chunkOERUQFT7cjs = require('./chunk-OERUQFT7.cjs');
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
var _chunkCLJ3DWTAcjs = require('./chunk-CLJ3DWTA.cjs');
|
|
10
|
+
|
|
11
|
+
// src/services/query.service.ts
|
|
12
|
+
var _crypto = require('crypto');
|
|
13
|
+
var _httpstatuscodes = require('http-status-codes');
|
|
14
|
+
var QueryService = class {
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
constructor(modelModule, memoryModule, intentTriggerService, intentFulfillService) {
|
|
20
|
+
this.modelModule = modelModule;
|
|
21
|
+
this.memoryModule = memoryModule;
|
|
22
|
+
this.intentTriggerService = intentTriggerService;
|
|
23
|
+
this.intentFulfillService = intentFulfillService;
|
|
24
|
+
}
|
|
25
|
+
async addToThreadMessages(userId, threadId, messages) {
|
|
26
|
+
const threadMemory = this.memoryModule.getThreadMemory();
|
|
27
|
+
await _optionalChain([threadMemory, 'optionalAccess', _ => _.addMessagesToThread, 'call', _2 => _2(userId, threadId, messages)]);
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Main entry point for processing streaming user queries.
|
|
31
|
+
*
|
|
32
|
+
* Handles the complete query lifecycle:
|
|
33
|
+
* 1. Loads or creates thread from memory
|
|
34
|
+
* 2. Detects intent from the query
|
|
35
|
+
* 3. Fulfills the intent with streaming AI response
|
|
36
|
+
* 4. Updates conversation history in real-time
|
|
37
|
+
*
|
|
38
|
+
* @param threadMetadata - Metadata containing type, userId, and optional threadId
|
|
39
|
+
* @param threadMetadata.type - The type of thread (e.g., chat, workflow)
|
|
40
|
+
* @param threadMetadata.userId - The user's unique identifier
|
|
41
|
+
* @param threadMetadata.threadId - Optional thread identifier
|
|
42
|
+
* @param query - The user's input query
|
|
43
|
+
* @returns AsyncGenerator yielding StreamEvent objects for SSE
|
|
44
|
+
*/
|
|
45
|
+
async *handleQuery(threadMetadata, queryData, isA2A) {
|
|
46
|
+
const { type, userId, options } = threadMetadata;
|
|
47
|
+
const { query, displayQuery } = queryData;
|
|
48
|
+
const threadMemory = this.memoryModule.getThreadMemory();
|
|
49
|
+
let threadId = threadMetadata.threadId;
|
|
50
|
+
let thread;
|
|
51
|
+
if (threadId) {
|
|
52
|
+
thread = await _optionalChain([threadMemory, 'optionalAccess', _3 => _3.getThread, 'call', _4 => _4(userId, threadId)]);
|
|
53
|
+
if (!thread && !isA2A) {
|
|
54
|
+
throw new (0, _chunkOERUQFT7cjs.AinHttpError)(_httpstatuscodes.StatusCodes.NOT_FOUND, "Thread not found");
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
threadId ??= _crypto.randomUUID.call(void 0, );
|
|
58
|
+
if (!thread) {
|
|
59
|
+
const title = await _chunkXHTEJE4Ecjs.generateTitle.call(void 0, this.modelModule, query, options);
|
|
60
|
+
const metadata = await _optionalChain([threadMemory, 'optionalAccess', _5 => _5.createThread, 'call', _6 => _6(
|
|
61
|
+
type,
|
|
62
|
+
userId,
|
|
63
|
+
threadId,
|
|
64
|
+
title
|
|
65
|
+
)]) || { type, userId, threadId, title };
|
|
66
|
+
thread = { ...metadata, messages: [] };
|
|
67
|
+
_chunkCLJ3DWTAcjs.loggers.intent.info(`Create new thread: ${threadId}`);
|
|
68
|
+
yield { event: "thread_id", data: { type, userId, threadId, title } };
|
|
69
|
+
}
|
|
70
|
+
const triggerResult = await this.intentTriggerService.intentTriggering(query, thread);
|
|
71
|
+
const { intents: triggeredIntents, needsAggregation } = triggerResult;
|
|
72
|
+
_chunkCLJ3DWTAcjs.loggers.intent.debug("Triggered intents", { triggeredIntents, needsAggregation });
|
|
73
|
+
await this.addToThreadMessages(userId, threadId, [
|
|
74
|
+
{
|
|
75
|
+
messageId: _crypto.randomUUID.call(void 0, ),
|
|
76
|
+
role: "USER" /* USER */,
|
|
77
|
+
timestamp: Date.now(),
|
|
78
|
+
// use displayQuery for better UX in enterprise application
|
|
79
|
+
content: { type: "text", parts: [displayQuery || query] },
|
|
80
|
+
metadata: {
|
|
81
|
+
intents: triggeredIntents.filter((intent) => !!intent.intent).map((intent) => ({
|
|
82
|
+
id: _optionalChain([intent, 'access', _7 => _7.intent, 'optionalAccess', _8 => _8.id]),
|
|
83
|
+
subquery: intent.subquery
|
|
84
|
+
})),
|
|
85
|
+
query: !displayQuery ? void 0 : query
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
]);
|
|
89
|
+
const stream = this.intentFulfillService.intentFulfill(
|
|
90
|
+
triggeredIntents,
|
|
91
|
+
thread,
|
|
92
|
+
query,
|
|
93
|
+
needsAggregation
|
|
94
|
+
);
|
|
95
|
+
for await (const event of stream) {
|
|
96
|
+
yield event;
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
};
|
|
100
|
+
|
|
101
|
+
|
|
102
|
+
|
|
103
|
+
exports.QueryService = QueryService;
|
|
104
|
+
//# sourceMappingURL=chunk-JO4DRJQZ.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/Users/shyun/comcom/ain-agent/ain-adk/dist/cjs/chunk-JO4DRJQZ.cjs","../../src/services/query.service.ts"],"names":[],"mappings":"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","file":"/Users/shyun/comcom/ain-agent/ain-adk/dist/cjs/chunk-JO4DRJQZ.cjs","sourcesContent":[null,"import { randomUUID } from \"node:crypto\";\nimport { StatusCodes } from \"http-status-codes\";\nimport type {\n\tMemoryModule,\n\tModelFetchOptions,\n\tModelModule,\n} from \"@/modules/index.js\";\nimport { AinHttpError } from \"@/types/agent.js\";\nimport {\n\ttype MessageObject,\n\tMessageRole,\n\ttype ThreadMetadata,\n\ttype ThreadObject,\n\ttype ThreadType,\n} from \"@/types/memory.js\";\nimport type { StreamEvent } from \"@/types/stream\";\nimport { loggers } from \"@/utils/logger.js\";\nimport type { IntentFulfillService } from \"./intents/fulfill.service\";\nimport type { IntentTriggerService } from \"./intents/trigger.service\";\nimport { generateTitle } from \"./utils/query.common\";\n\n/**\n * Service for processing user queries through the agent's AI pipeline.\n *\n * Orchestrates the query processing workflow including intent detection,\n * model inference, tool execution, and response generation. Manages\n * conversation context and coordinates between different modules.\n */\nexport class QueryService {\n\tprivate modelModule: ModelModule;\n\tprivate memoryModule: MemoryModule;\n\tprivate intentTriggerService: IntentTriggerService;\n\tprivate intentFulfillService: IntentFulfillService;\n\n\tconstructor(\n\t\tmodelModule: ModelModule,\n\t\tmemoryModule: MemoryModule,\n\t\tintentTriggerService: IntentTriggerService,\n\t\tintentFulfillService: IntentFulfillService,\n\t) {\n\t\tthis.modelModule = modelModule;\n\t\tthis.memoryModule = memoryModule;\n\t\tthis.intentTriggerService = intentTriggerService;\n\t\tthis.intentFulfillService = intentFulfillService;\n\t}\n\n\tpublic async addToThreadMessages(\n\t\tuserId: string,\n\t\tthreadId: string,\n\t\tmessages: Array<MessageObject>,\n\t) {\n\t\tconst threadMemory = this.memoryModule.getThreadMemory();\n\t\tawait threadMemory?.addMessagesToThread(userId, threadId, messages);\n\t}\n\n\t/**\n\t * Main entry point for processing streaming user queries.\n\t *\n\t * Handles the complete query lifecycle:\n\t * 1. Loads or creates thread from memory\n\t * 2. Detects intent from the query\n\t * 3. Fulfills the intent with streaming AI response\n\t * 4. Updates conversation history in real-time\n\t *\n\t * @param threadMetadata - Metadata containing type, userId, and optional threadId\n\t * @param threadMetadata.type - The type of thread (e.g., chat, workflow)\n\t * @param threadMetadata.userId - The user's unique identifier\n\t * @param threadMetadata.threadId - Optional thread identifier\n\t * @param query - The user's input query\n\t * @returns AsyncGenerator yielding StreamEvent objects for SSE\n\t */\n\tpublic async *handleQuery(\n\t\tthreadMetadata: {\n\t\t\ttype: ThreadType;\n\t\t\tuserId: string;\n\t\t\tthreadId?: string;\n\t\t\toptions?: ModelFetchOptions;\n\t\t},\n\t\tqueryData: {\n\t\t\tquery: string;\n\t\t\tdisplayQuery?: string;\n\t\t},\n\t\tisA2A?: boolean,\n\t): AsyncGenerator<StreamEvent> {\n\t\tconst { type, userId, options } = threadMetadata;\n\t\tconst { query, displayQuery } = queryData;\n\t\tconst threadMemory = this.memoryModule.getThreadMemory();\n\n\t\t// 1. Load or create thread\n\t\tlet threadId = threadMetadata.threadId;\n\t\tlet thread: ThreadObject | undefined;\n\t\tif (threadId) {\n\t\t\tthread = await threadMemory?.getThread(userId, threadId);\n\t\t\tif (!thread && !isA2A) {\n\t\t\t\tthrow new AinHttpError(StatusCodes.NOT_FOUND, \"Thread not found\");\n\t\t\t}\n\t\t}\n\n\t\tthreadId ??= randomUUID();\n\t\tif (!thread) {\n\t\t\tconst title = await generateTitle(this.modelModule, query, options);\n\t\t\tconst metadata: ThreadMetadata = (await threadMemory?.createThread(\n\t\t\t\ttype,\n\t\t\t\tuserId,\n\t\t\t\tthreadId,\n\t\t\t\ttitle,\n\t\t\t)) || { type, userId, threadId, title };\n\t\t\tthread = { ...metadata, messages: [] };\n\t\t\tloggers.intent.info(`Create new thread: ${threadId}`);\n\t\t\tyield { event: \"thread_id\", data: { type, userId, threadId, title } };\n\t\t}\n\n\t\t// 2. intent triggering\n\t\tconst triggerResult =\n\t\t\tawait this.intentTriggerService.intentTriggering(query, thread);\n\t\tconst { intents: triggeredIntents, needsAggregation } = triggerResult;\n\t\tloggers.intent.debug(\"Triggered intents\", { triggeredIntents, needsAggregation });\n\n\t\t// only add for storage, not for inference\n\t\tawait this.addToThreadMessages(userId, threadId, [\n\t\t\t{\n\t\t\t\tmessageId: randomUUID(),\n\t\t\t\trole: MessageRole.USER,\n\t\t\t\ttimestamp: Date.now(),\n\t\t\t\t// use displayQuery for better UX in enterprise application\n\t\t\t\tcontent: { type: \"text\", parts: [displayQuery || query] },\n\t\t\t\tmetadata: {\n\t\t\t\t\tintents: triggeredIntents\n\t\t\t\t\t\t.filter((intent) => !!intent.intent)\n\t\t\t\t\t\t.map((intent) => ({\n\t\t\t\t\t\t\tid: intent.intent?.id,\n\t\t\t\t\t\t\tsubquery: intent.subquery,\n\t\t\t\t\t\t})),\n\t\t\t\t\tquery: !displayQuery ? undefined : query,\n\t\t\t\t},\n\t\t\t},\n\t\t]);\n\n\t\t// 3. intent fulfillment (with rewrite step)\n\t\tconst stream = this.intentFulfillService.intentFulfill(\n\t\t\ttriggeredIntents,\n\t\t\tthread,\n\t\t\tquery,\n\t\t\tneedsAggregation,\n\t\t);\n\n\t\tfor await (const event of stream) {\n\t\t\tyield event;\n\t\t}\n\t}\n}\n"]}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
|
+
|
|
3
|
+
var _chunkDCMWIKKScjs = require('./chunk-DCMWIKKS.cjs');
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
var _chunkOERUQFT7cjs = require('./chunk-OERUQFT7.cjs');
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
var _chunk4VIZ52C2cjs = require('./chunk-4VIZ52C2.cjs');
|
|
10
|
+
|
|
11
|
+
// src/routes/api/workflow.routes.ts
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
var _express = require('express');
|
|
15
|
+
var _httpstatuscodes = require('http-status-codes');
|
|
16
|
+
var createWorkflowApiRouter = () => {
|
|
17
|
+
const router = _express.Router.call(void 0, );
|
|
18
|
+
const workflowApiController = _chunkDCMWIKKScjs.container.getWorkflowApiController();
|
|
19
|
+
const checkWorkflowMemory = (_req, _res, next) => {
|
|
20
|
+
const memoryModule = _chunk4VIZ52C2cjs.getMemoryModule.call(void 0, );
|
|
21
|
+
const workflowMemory = memoryModule.getWorkflowMemory();
|
|
22
|
+
if (!workflowMemory) {
|
|
23
|
+
const error = new (0, _chunkOERUQFT7cjs.AinHttpError)(
|
|
24
|
+
_httpstatuscodes.StatusCodes.SERVICE_UNAVAILABLE,
|
|
25
|
+
"Workflow memory is not initialized"
|
|
26
|
+
);
|
|
27
|
+
throw error;
|
|
28
|
+
}
|
|
29
|
+
next();
|
|
30
|
+
};
|
|
31
|
+
router.get(
|
|
32
|
+
"/",
|
|
33
|
+
checkWorkflowMemory,
|
|
34
|
+
workflowApiController.handleGetAllWorkflows
|
|
35
|
+
);
|
|
36
|
+
router.get(
|
|
37
|
+
"/:id",
|
|
38
|
+
checkWorkflowMemory,
|
|
39
|
+
workflowApiController.handleGetWorkflow
|
|
40
|
+
);
|
|
41
|
+
router.post(
|
|
42
|
+
"/",
|
|
43
|
+
checkWorkflowMemory,
|
|
44
|
+
workflowApiController.handleCreateWorkflow
|
|
45
|
+
);
|
|
46
|
+
router.post(
|
|
47
|
+
"/update/:id",
|
|
48
|
+
checkWorkflowMemory,
|
|
49
|
+
workflowApiController.handleUpdateWorkflow
|
|
50
|
+
);
|
|
51
|
+
router.post(
|
|
52
|
+
"/delete/:id",
|
|
53
|
+
checkWorkflowMemory,
|
|
54
|
+
workflowApiController.handleDeleteWorkflow
|
|
55
|
+
);
|
|
56
|
+
return router;
|
|
57
|
+
};
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
exports.createWorkflowApiRouter = createWorkflowApiRouter;
|
|
62
|
+
//# sourceMappingURL=chunk-K2YKI5RV.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/Users/shyun/comcom/ain-agent/ain-adk/dist/cjs/chunk-K2YKI5RV.cjs","../../src/routes/api/workflow.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,wBAAA,EAA0B,CAAA,EAAA,GAAc;AACpD,EAAA,MAAM,OAAA,EAAS,6BAAA,CAAO;AACtB,EAAA,MAAM,sBAAA,EAAwB,2BAAA,CAAU,wBAAA,CAAyB,CAAA;AAEjE,EAAA,MAAM,oBAAA,EAAsB,CAC3B,IAAA,EACA,IAAA,EACA,IAAA,EAAA,GACI;AACJ,IAAA,MAAM,aAAA,EAAe,+CAAA,CAAgB;AACrC,IAAA,MAAM,eAAA,EAAiB,YAAA,CAAa,iBAAA,CAAkB,CAAA;AACtD,IAAA,GAAA,CAAI,CAAC,cAAA,EAAgB;AACpB,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;AAAA,IACN,GAAA;AAAA,IACA,mBAAA;AAAA,IACA,qBAAA,CAAsB;AAAA,EACvB,CAAA;AACA,EAAA,MAAA,CAAO,GAAA;AAAA,IACN,MAAA;AAAA,IACA,mBAAA;AAAA,IACA,qBAAA,CAAsB;AAAA,EACvB,CAAA;AACA,EAAA,MAAA,CAAO,IAAA;AAAA,IACN,GAAA;AAAA,IACA,mBAAA;AAAA,IACA,qBAAA,CAAsB;AAAA,EACvB,CAAA;AACA,EAAA,MAAA,CAAO,IAAA;AAAA,IACN,aAAA;AAAA,IACA,mBAAA;AAAA,IACA,qBAAA,CAAsB;AAAA,EACvB,CAAA;AACA,EAAA,MAAA,CAAO,IAAA;AAAA,IACN,aAAA;AAAA,IACA,mBAAA;AAAA,IACA,qBAAA,CAAsB;AAAA,EACvB,CAAA;AAEA,EAAA,OAAO,MAAA;AACR,CAAA;ADHA;AACA;AACE;AACF,0DAAC","file":"/Users/shyun/comcom/ain-agent/ain-adk/dist/cjs/chunk-K2YKI5RV.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 createWorkflowApiRouter = (): Router => {\n\tconst router = Router();\n\tconst workflowApiController = container.getWorkflowApiController();\n\n\tconst checkWorkflowMemory = (\n\t\t_req: Request,\n\t\t_res: Response,\n\t\tnext: NextFunction,\n\t) => {\n\t\tconst memoryModule = getMemoryModule();\n\t\tconst workflowMemory = memoryModule.getWorkflowMemory();\n\t\tif (!workflowMemory) {\n\t\t\tconst error = new AinHttpError(\n\t\t\t\tStatusCodes.SERVICE_UNAVAILABLE,\n\t\t\t\t\"Workflow memory 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/workflow)\n\trouter.get(\n\t\t\"/\",\n\t\tcheckWorkflowMemory,\n\t\tworkflowApiController.handleGetAllWorkflows,\n\t);\n\trouter.get(\n\t\t\"/:id\",\n\t\tcheckWorkflowMemory,\n\t\tworkflowApiController.handleGetWorkflow,\n\t);\n\trouter.post(\n\t\t\"/\",\n\t\tcheckWorkflowMemory,\n\t\tworkflowApiController.handleCreateWorkflow,\n\t);\n\trouter.post(\n\t\t\"/update/:id\",\n\t\tcheckWorkflowMemory,\n\t\tworkflowApiController.handleUpdateWorkflow,\n\t);\n\trouter.post(\n\t\t\"/delete/:id\",\n\t\tcheckWorkflowMemory,\n\t\tworkflowApiController.handleDeleteWorkflow,\n\t);\n\n\treturn router;\n};\n"]}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
|
+
|
|
3
|
+
var _chunkHRKFNUT5cjs = require('./chunk-HRKFNUT5.cjs');
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
var _chunkDSP62SMIcjs = require('./chunk-DSP62SMI.cjs');
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
var _chunkVGA4O5CYcjs = require('./chunk-VGA4O5CY.cjs');
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
var _chunk7DVPCJUIcjs = require('./chunk-7DVPCJUI.cjs');
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
var _chunkJ6RQW3CGcjs = require('./chunk-J6RQW3CG.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", _chunkHRKFNUT5cjs.createModelApiRouter.call(void 0, ));
|
|
25
|
+
router.use("/agent", _chunk7DVPCJUIcjs.createAgentApiRouter.call(void 0, ));
|
|
26
|
+
const memoryModule = _chunk4VIZ52C2cjs.getMemoryModule.call(void 0, );
|
|
27
|
+
if (memoryModule) {
|
|
28
|
+
router.use("/threads", _chunkDSP62SMIcjs.createThreadApiRouter.call(void 0, ));
|
|
29
|
+
router.use("/intent", _chunkJ6RQW3CGcjs.createIntentApiRouter.call(void 0, ));
|
|
30
|
+
router.use("/workflow", _chunkVGA4O5CYcjs.createWorkflowApiRouter.call(void 0, ));
|
|
31
|
+
}
|
|
32
|
+
return router;
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
exports.createApiRouter = createApiRouter;
|
|
38
|
+
//# sourceMappingURL=chunk-KCLZUNG3.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/Users/shyun/comcom/ain-agent/ain-adk/dist/cjs/chunk-KCLZUNG3.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-KCLZUNG3.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,38 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
|
+
|
|
3
|
+
var _chunkM5TPCHBZcjs = require('./chunk-M5TPCHBZ.cjs');
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
var _chunkQEIMXVUFcjs = require('./chunk-QEIMXVUF.cjs');
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
var _chunkBJ4IW7PScjs = require('./chunk-BJ4IW7PS.cjs');
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
var _chunkU2VDAWF2cjs = require('./chunk-U2VDAWF2.cjs');
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
var _chunkQWNRKRZOcjs = require('./chunk-QWNRKRZO.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", _chunkM5TPCHBZcjs.createModelApiRouter.call(void 0, ));
|
|
25
|
+
router.use("/agent", _chunkU2VDAWF2cjs.createAgentApiRouter.call(void 0, ));
|
|
26
|
+
const memoryModule = _chunk4VIZ52C2cjs.getMemoryModule.call(void 0, );
|
|
27
|
+
if (memoryModule) {
|
|
28
|
+
router.use("/threads", _chunkQEIMXVUFcjs.createThreadApiRouter.call(void 0, ));
|
|
29
|
+
router.use("/intent", _chunkQWNRKRZOcjs.createIntentApiRouter.call(void 0, ));
|
|
30
|
+
router.use("/workflow", _chunkBJ4IW7PScjs.createWorkflowApiRouter.call(void 0, ));
|
|
31
|
+
}
|
|
32
|
+
return router;
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
exports.createApiRouter = createApiRouter;
|
|
38
|
+
//# sourceMappingURL=chunk-KG7XEHCF.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/Users/shyun/comcom/ain-agent/ain-adk/dist/cjs/chunk-KG7XEHCF.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-KG7XEHCF.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,89 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
|
+
|
|
3
|
+
var _chunkIP6P2TQMcjs = require('./chunk-IP6P2TQM.cjs');
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
var _chunkWQIUHNUXcjs = require('./chunk-WQIUHNUX.cjs');
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
var _chunk3COIZ4H5cjs = require('./chunk-3COIZ4H5.cjs');
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
var _chunkFSJBK7YAcjs = require('./chunk-FSJBK7YA.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, _chunkIP6P2TQMcjs.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, _chunkFSJBK7YAcjs.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-KK4VTG2X.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/Users/shyun/comcom/ain-agent/ain-adk/dist/cjs/chunk-KK4VTG2X.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-KK4VTG2X.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,18 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
|
+
|
|
3
|
+
var _chunkWGJ2T4XMcjs = require('./chunk-WGJ2T4XM.cjs');
|
|
4
|
+
|
|
5
|
+
// src/routes/query.routes.ts
|
|
6
|
+
var _express = require('express');
|
|
7
|
+
var createQueryRouter = () => {
|
|
8
|
+
const router = _express.Router.call(void 0, );
|
|
9
|
+
const queryController = _chunkWGJ2T4XMcjs.container.getQueryController();
|
|
10
|
+
router.post("/", queryController.handleQueryRequest);
|
|
11
|
+
router.post("/stream", queryController.handleQueryStreamRequest);
|
|
12
|
+
return router;
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
exports.createQueryRouter = createQueryRouter;
|
|
18
|
+
//# sourceMappingURL=chunk-L5B2EAJM.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/Users/shyun/comcom/ain-agent/ain-adk/dist/cjs/chunk-L5B2EAJM.cjs","../../src/routes/query.routes.ts"],"names":[],"mappings":"AAAA;AACE;AACF,wDAA6B;AAC7B;AACA;ACJA,kCAAuB;AAGhB,IAAM,kBAAA,EAAoB,CAAA,EAAA,GAAc;AAC9C,EAAA,MAAM,OAAA,EAAS,6BAAA,CAAO;AAEtB,EAAA,MAAM,gBAAA,EAAkB,2BAAA,CAAU,kBAAA,CAAmB,CAAA;AAErD,EAAA,MAAA,CAAO,IAAA,CAAK,GAAA,EAAK,eAAA,CAAgB,kBAAkB,CAAA;AACnD,EAAA,MAAA,CAAO,IAAA,CAAK,SAAA,EAAW,eAAA,CAAgB,wBAAwB,CAAA;AAE/D,EAAA,OAAO,MAAA;AACR,CAAA;ADCA;AACA;AACE;AACF,8CAAC","file":"/Users/shyun/comcom/ain-agent/ain-adk/dist/cjs/chunk-L5B2EAJM.cjs","sourcesContent":[null,"import { Router } from \"express\";\nimport { container } from \"@/container\";\n\nexport const createQueryRouter = (): Router => {\n\tconst router = Router();\n\n\tconst queryController = container.getQueryController();\n\n\trouter.post(\"/\", queryController.handleQueryRequest);\n\trouter.post(\"/stream\", queryController.handleQueryStreamRequest);\n\n\treturn router;\n};\n"]}
|