@ainetwork/adk 0.3.6 → 0.4.0
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/dist/cjs/chunk-22H5DEV4.cjs +29 -0
- package/dist/cjs/chunk-22H5DEV4.cjs.map +1 -0
- package/dist/cjs/chunk-257LB5MI.cjs +17 -0
- package/dist/cjs/chunk-257LB5MI.cjs.map +1 -0
- package/dist/cjs/chunk-2H7YXXKF.cjs +38 -0
- package/dist/cjs/chunk-2H7YXXKF.cjs.map +1 -0
- package/dist/cjs/chunk-2K4ELKQT.cjs +18 -0
- package/dist/cjs/chunk-2K4ELKQT.cjs.map +1 -0
- package/dist/cjs/chunk-2NMC37IG.cjs +17 -0
- package/dist/cjs/chunk-2NMC37IG.cjs.map +1 -0
- package/dist/cjs/chunk-2PCMBTXX.cjs +17 -0
- package/dist/cjs/chunk-2PCMBTXX.cjs.map +1 -0
- package/dist/cjs/chunk-2XPAPWB7.cjs +17 -0
- package/dist/cjs/chunk-2XPAPWB7.cjs.map +1 -0
- package/dist/cjs/chunk-2YT6WOL2.cjs +44 -0
- package/dist/cjs/chunk-2YT6WOL2.cjs.map +1 -0
- package/dist/cjs/chunk-33HKSNG7.cjs +18 -0
- package/dist/cjs/chunk-33HKSNG7.cjs.map +1 -0
- package/dist/cjs/chunk-34QKYJJA.cjs +62 -0
- package/dist/cjs/chunk-34QKYJJA.cjs.map +1 -0
- package/dist/cjs/chunk-36IQIRJO.cjs +44 -0
- package/dist/cjs/chunk-36IQIRJO.cjs.map +1 -0
- package/dist/cjs/chunk-3CCO4M2T.cjs +18 -0
- package/dist/cjs/chunk-3CCO4M2T.cjs.map +1 -0
- package/dist/cjs/chunk-3CWYO4DR.cjs +29 -0
- package/dist/cjs/chunk-3CWYO4DR.cjs.map +1 -0
- package/dist/cjs/chunk-3DXU3HIR.cjs +44 -0
- package/dist/cjs/chunk-3DXU3HIR.cjs.map +1 -0
- package/dist/cjs/chunk-3FSMQH6T.cjs +60 -0
- package/dist/cjs/chunk-3FSMQH6T.cjs.map +1 -0
- package/dist/cjs/chunk-3J7RAJKT.cjs +17 -0
- package/dist/cjs/chunk-3J7RAJKT.cjs.map +1 -0
- package/dist/cjs/chunk-3LRSL7VP.cjs +44 -0
- package/dist/cjs/chunk-3LRSL7VP.cjs.map +1 -0
- package/dist/cjs/chunk-3NR7RC2M.cjs +52 -0
- package/dist/cjs/chunk-3NR7RC2M.cjs.map +1 -0
- package/dist/cjs/chunk-3OLHAXDU.cjs +92 -0
- package/dist/cjs/chunk-3OLHAXDU.cjs.map +1 -0
- package/dist/cjs/chunk-3QBMBRXS.cjs +44 -0
- package/dist/cjs/chunk-3QBMBRXS.cjs.map +1 -0
- package/dist/cjs/chunk-3RPRJF2T.cjs +45 -0
- package/dist/cjs/chunk-3RPRJF2T.cjs.map +1 -0
- package/dist/cjs/chunk-3TSNA7ZR.cjs +102 -0
- package/dist/cjs/chunk-3TSNA7ZR.cjs.map +1 -0
- package/dist/cjs/chunk-46BFYD3I.cjs +74 -0
- package/dist/cjs/chunk-46BFYD3I.cjs.map +1 -0
- package/dist/cjs/chunk-4BZE2NCH.cjs +17 -0
- package/dist/cjs/chunk-4BZE2NCH.cjs.map +1 -0
- package/dist/cjs/chunk-4MV4JCVO.cjs +62 -0
- package/dist/cjs/chunk-4MV4JCVO.cjs.map +1 -0
- package/dist/cjs/chunk-4P7BIS7W.cjs +89 -0
- package/dist/{esm/chunk-CYP6OTDK.js.map → cjs/chunk-4P7BIS7W.cjs.map} +1 -1
- package/dist/cjs/chunk-4U5AKJ4H.cjs +376 -0
- package/dist/cjs/chunk-4U5AKJ4H.cjs.map +1 -0
- package/dist/cjs/chunk-525PPL6W.cjs +102 -0
- package/dist/cjs/chunk-525PPL6W.cjs.map +1 -0
- package/dist/cjs/chunk-573B43NO.cjs +17 -0
- package/dist/cjs/chunk-573B43NO.cjs.map +1 -0
- package/dist/cjs/chunk-574RKNV5.cjs +17 -0
- package/dist/cjs/chunk-574RKNV5.cjs.map +1 -0
- package/dist/cjs/chunk-5BQBOLKF.cjs +18 -0
- package/dist/cjs/chunk-5BQBOLKF.cjs.map +1 -0
- package/dist/cjs/chunk-5LWAUNBN.cjs +18 -0
- package/dist/cjs/chunk-5LWAUNBN.cjs.map +1 -0
- package/dist/cjs/chunk-5ON32BOF.cjs +44 -0
- package/dist/cjs/chunk-5ON32BOF.cjs.map +1 -0
- package/dist/cjs/chunk-5QAUKT4U.cjs +74 -0
- package/dist/cjs/chunk-5QAUKT4U.cjs.map +1 -0
- package/dist/cjs/chunk-5QK57J6T.cjs +29 -0
- package/dist/cjs/chunk-5QK57J6T.cjs.map +1 -0
- package/dist/cjs/chunk-5V5QKZWF.cjs +38 -0
- package/dist/cjs/chunk-5V5QKZWF.cjs.map +1 -0
- package/dist/cjs/chunk-67YTT5QY.cjs +74 -0
- package/dist/cjs/chunk-67YTT5QY.cjs.map +1 -0
- package/dist/cjs/chunk-6DP2S2BC.cjs +17 -0
- package/dist/cjs/chunk-6DP2S2BC.cjs.map +1 -0
- package/dist/cjs/chunk-6DSMXJUX.cjs +18 -0
- package/dist/cjs/chunk-6DSMXJUX.cjs.map +1 -0
- package/dist/cjs/chunk-6ENXUHR3.cjs +18 -0
- package/dist/cjs/chunk-6ENXUHR3.cjs.map +1 -0
- package/dist/cjs/chunk-6KXWGXJM.cjs +89 -0
- package/dist/cjs/chunk-6KXWGXJM.cjs.map +1 -0
- package/dist/cjs/chunk-6OFVJDVZ.cjs +74 -0
- package/dist/cjs/chunk-6OFVJDVZ.cjs.map +1 -0
- package/dist/cjs/chunk-6THSLZ76.cjs +29 -0
- package/dist/cjs/chunk-6THSLZ76.cjs.map +1 -0
- package/dist/cjs/chunk-6UHLFZ7G.cjs +38 -0
- package/dist/cjs/chunk-6UHLFZ7G.cjs.map +1 -0
- package/dist/cjs/chunk-6VEASJDK.cjs +62 -0
- package/dist/cjs/chunk-6VEASJDK.cjs.map +1 -0
- package/dist/cjs/chunk-6VHRJD7F.cjs +17 -0
- package/dist/cjs/chunk-6VHRJD7F.cjs.map +1 -0
- package/dist/cjs/chunk-6XUKA5VB.cjs +44 -0
- package/dist/cjs/chunk-6XUKA5VB.cjs.map +1 -0
- package/dist/cjs/chunk-6Z2RYVUO.cjs +74 -0
- package/dist/cjs/chunk-6Z2RYVUO.cjs.map +1 -0
- package/dist/cjs/chunk-6Z5XTC56.cjs +17 -0
- package/dist/cjs/chunk-6Z5XTC56.cjs.map +1 -0
- package/dist/cjs/chunk-75RI45E4.cjs +44 -0
- package/dist/cjs/chunk-75RI45E4.cjs.map +1 -0
- package/dist/cjs/chunk-76LBH57A.cjs +18 -0
- package/dist/cjs/chunk-76LBH57A.cjs.map +1 -0
- package/dist/cjs/chunk-76M7BSJ3.cjs +44 -0
- package/dist/cjs/chunk-76M7BSJ3.cjs.map +1 -0
- package/dist/cjs/chunk-7BO5E2NH.cjs +365 -0
- package/dist/cjs/chunk-7BO5E2NH.cjs.map +1 -0
- package/dist/cjs/chunk-7CYS5AT5.cjs +44 -0
- package/dist/cjs/chunk-7CYS5AT5.cjs.map +1 -0
- package/dist/cjs/chunk-7K5Z7DWN.cjs +361 -0
- package/dist/cjs/chunk-7K5Z7DWN.cjs.map +1 -0
- package/dist/cjs/chunk-7KNIC3LA.cjs +62 -0
- package/dist/cjs/chunk-7KNIC3LA.cjs.map +1 -0
- package/dist/cjs/chunk-7MKV6BXH.cjs +29 -0
- package/dist/cjs/chunk-7MKV6BXH.cjs.map +1 -0
- package/dist/cjs/chunk-7QRK2PZ7.cjs +18 -0
- package/dist/cjs/chunk-7QRK2PZ7.cjs.map +1 -0
- package/dist/cjs/chunk-7ZASM7UH.cjs +18 -0
- package/dist/cjs/chunk-7ZASM7UH.cjs.map +1 -0
- package/dist/cjs/chunk-A5SOUOEA.cjs +89 -0
- package/dist/cjs/chunk-A5SOUOEA.cjs.map +1 -0
- package/dist/cjs/chunk-A7CRBSUB.cjs +89 -0
- package/dist/cjs/chunk-A7CRBSUB.cjs.map +1 -0
- package/dist/cjs/chunk-AAR74MD3.cjs +17 -0
- package/dist/cjs/chunk-AAR74MD3.cjs.map +1 -0
- package/dist/cjs/chunk-AAUUAPCC.cjs +38 -0
- package/dist/cjs/chunk-AAUUAPCC.cjs.map +1 -0
- package/dist/cjs/chunk-ADZSFJ6B.cjs +38 -0
- package/dist/cjs/chunk-ADZSFJ6B.cjs.map +1 -0
- package/dist/cjs/chunk-AENAQ5ZC.cjs +74 -0
- package/dist/cjs/chunk-AENAQ5ZC.cjs.map +1 -0
- package/dist/cjs/chunk-AEPKSXT7.cjs +44 -0
- package/dist/cjs/chunk-AEPKSXT7.cjs.map +1 -0
- package/dist/cjs/chunk-AKDAUOUK.cjs +44 -0
- package/dist/cjs/chunk-AKDAUOUK.cjs.map +1 -0
- package/dist/cjs/chunk-AKQQCR26.cjs +17 -0
- package/dist/cjs/chunk-AKQQCR26.cjs.map +1 -0
- package/dist/cjs/chunk-ALPK75M7.cjs +100 -0
- package/dist/cjs/chunk-ALPK75M7.cjs.map +1 -0
- package/dist/cjs/chunk-AMKL65AS.cjs +20 -0
- package/dist/cjs/chunk-AMKL65AS.cjs.map +1 -0
- package/dist/cjs/chunk-APMD4F4X.cjs +62 -0
- package/dist/cjs/chunk-APMD4F4X.cjs.map +1 -0
- package/dist/cjs/chunk-AWKZRMOE.cjs +17 -0
- package/dist/cjs/chunk-AWKZRMOE.cjs.map +1 -0
- package/dist/cjs/chunk-B2QI7F2C.cjs +74 -0
- package/dist/cjs/chunk-B2QI7F2C.cjs.map +1 -0
- package/dist/cjs/chunk-B6D34MKF.cjs +29 -0
- package/dist/cjs/chunk-B6D34MKF.cjs.map +1 -0
- package/dist/cjs/chunk-BBUDDS2U.cjs +62 -0
- package/dist/cjs/chunk-BBUDDS2U.cjs.map +1 -0
- package/dist/cjs/chunk-BESFTGZE.cjs +89 -0
- package/dist/cjs/chunk-BESFTGZE.cjs.map +1 -0
- package/dist/cjs/chunk-BH4NGSK2.cjs +27 -0
- package/dist/cjs/chunk-BH4NGSK2.cjs.map +1 -0
- package/dist/cjs/chunk-BQ7N5GR2.cjs +74 -0
- package/dist/cjs/chunk-BQ7N5GR2.cjs.map +1 -0
- package/dist/cjs/chunk-BUVFXGID.cjs +17 -0
- package/dist/cjs/chunk-BUVFXGID.cjs.map +1 -0
- package/dist/cjs/chunk-C6EFDFRG.cjs +102 -0
- package/dist/cjs/chunk-C6EFDFRG.cjs.map +1 -0
- package/dist/cjs/chunk-CDKYYWPR.cjs +44 -0
- package/dist/cjs/chunk-CDKYYWPR.cjs.map +1 -0
- package/dist/cjs/chunk-CDW72DNH.cjs +44 -0
- package/dist/cjs/chunk-CDW72DNH.cjs.map +1 -0
- package/dist/cjs/chunk-CGBTMF5T.cjs +160 -0
- package/dist/cjs/chunk-CGBTMF5T.cjs.map +1 -0
- package/dist/cjs/chunk-CGSI4WNT.cjs +29 -0
- package/dist/cjs/chunk-CGSI4WNT.cjs.map +1 -0
- package/dist/cjs/chunk-CPOJVACJ.cjs +44 -0
- package/dist/cjs/chunk-CPOJVACJ.cjs.map +1 -0
- package/dist/cjs/chunk-CRIRVHFU.cjs +17 -0
- package/dist/cjs/chunk-CRIRVHFU.cjs.map +1 -0
- package/dist/cjs/chunk-CTGV4OQD.cjs +17 -0
- package/dist/cjs/chunk-CTGV4OQD.cjs.map +1 -0
- package/dist/cjs/chunk-CX3MFVU4.cjs +85 -0
- package/dist/cjs/chunk-CX3MFVU4.cjs.map +1 -0
- package/dist/cjs/chunk-DAVB4GVA.cjs +29 -0
- package/dist/cjs/chunk-DAVB4GVA.cjs.map +1 -0
- package/dist/cjs/chunk-DJI6HQEP.cjs +17 -0
- package/dist/cjs/chunk-DJI6HQEP.cjs.map +1 -0
- package/dist/cjs/chunk-DUTUWBRW.cjs +38 -0
- package/dist/cjs/chunk-DUTUWBRW.cjs.map +1 -0
- package/dist/cjs/chunk-DXUGFSHK.cjs +11 -0
- package/dist/cjs/chunk-DXUGFSHK.cjs.map +1 -0
- package/dist/cjs/chunk-E3CMG6RX.cjs +44 -0
- package/dist/cjs/chunk-E3CMG6RX.cjs.map +1 -0
- package/dist/cjs/chunk-EAEGZUHR.cjs +38 -0
- package/dist/cjs/chunk-EAEGZUHR.cjs.map +1 -0
- package/dist/cjs/chunk-EDAWBHD4.cjs +74 -0
- package/dist/cjs/chunk-EDAWBHD4.cjs.map +1 -0
- package/dist/cjs/chunk-EJFZ3FVM.cjs +17 -0
- package/dist/cjs/chunk-EJFZ3FVM.cjs.map +1 -0
- package/dist/cjs/chunk-EJMGDCI2.cjs +95 -0
- package/dist/cjs/chunk-EJMGDCI2.cjs.map +1 -0
- package/dist/cjs/chunk-EOLXWHTI.cjs +17 -0
- package/dist/cjs/chunk-EOLXWHTI.cjs.map +1 -0
- package/dist/cjs/chunk-EWNGSIN6.cjs +18 -0
- package/dist/cjs/chunk-EWNGSIN6.cjs.map +1 -0
- package/dist/cjs/chunk-EX3PS7YS.cjs +44 -0
- package/dist/cjs/chunk-EX3PS7YS.cjs.map +1 -0
- package/dist/cjs/chunk-EY6LRYGR.cjs +44 -0
- package/dist/cjs/chunk-EY6LRYGR.cjs.map +1 -0
- package/dist/cjs/chunk-F5RVQ6H3.cjs +17 -0
- package/dist/cjs/chunk-F5RVQ6H3.cjs.map +1 -0
- package/dist/cjs/chunk-FANWWNES.cjs +38 -0
- package/dist/cjs/chunk-FANWWNES.cjs.map +1 -0
- package/dist/cjs/chunk-FC4C3NXQ.cjs +17 -0
- package/dist/cjs/chunk-FC4C3NXQ.cjs.map +1 -0
- package/dist/cjs/chunk-FFOBJEZ4.cjs +18 -0
- package/dist/cjs/chunk-FFOBJEZ4.cjs.map +1 -0
- package/dist/cjs/chunk-FG6W4GCF.cjs +44 -0
- package/dist/cjs/chunk-FG6W4GCF.cjs.map +1 -0
- package/dist/cjs/chunk-FGJMJDNK.cjs +17 -0
- package/dist/cjs/chunk-FGJMJDNK.cjs.map +1 -0
- package/dist/cjs/chunk-FLGB7KZC.cjs +74 -0
- package/dist/cjs/chunk-FLGB7KZC.cjs.map +1 -0
- package/dist/cjs/chunk-FLKHIKHZ.cjs +17 -0
- package/dist/cjs/chunk-FLKHIKHZ.cjs.map +1 -0
- package/dist/cjs/chunk-FRURA3TL.cjs +18 -0
- package/dist/cjs/chunk-FRURA3TL.cjs.map +1 -0
- package/dist/cjs/chunk-FXJABXH2.cjs +44 -0
- package/dist/cjs/chunk-FXJABXH2.cjs.map +1 -0
- package/dist/cjs/chunk-FXQYIPMS.cjs +18 -0
- package/dist/cjs/chunk-FXQYIPMS.cjs.map +1 -0
- package/dist/cjs/chunk-FYIPH2Y6.cjs +38 -0
- package/dist/cjs/chunk-FYIPH2Y6.cjs.map +1 -0
- package/dist/cjs/chunk-G2YDAC3K.cjs +17 -0
- package/dist/cjs/chunk-G2YDAC3K.cjs.map +1 -0
- package/dist/cjs/chunk-G5E3ISQF.cjs +18 -0
- package/dist/cjs/chunk-G5E3ISQF.cjs.map +1 -0
- package/dist/cjs/chunk-GDFMOHPF.cjs +18 -0
- package/dist/cjs/chunk-GDFMOHPF.cjs.map +1 -0
- package/dist/cjs/chunk-GDMIPDMY.cjs +74 -0
- package/dist/cjs/chunk-GDMIPDMY.cjs.map +1 -0
- package/dist/cjs/chunk-GE3YIMKB.cjs +38 -0
- package/dist/cjs/chunk-GE3YIMKB.cjs.map +1 -0
- package/dist/cjs/chunk-GFPIWMX7.cjs +44 -0
- package/dist/cjs/chunk-GFPIWMX7.cjs.map +1 -0
- package/dist/cjs/chunk-GGZLS3DW.cjs +362 -0
- package/dist/cjs/chunk-GGZLS3DW.cjs.map +1 -0
- package/dist/cjs/chunk-GN7GTRK4.cjs +94 -0
- package/dist/cjs/chunk-GN7GTRK4.cjs.map +1 -0
- package/dist/cjs/chunk-GP7IXGFK.cjs +17 -0
- package/dist/cjs/chunk-GP7IXGFK.cjs.map +1 -0
- package/dist/cjs/chunk-GQ7GLAJK.cjs +29 -0
- package/dist/cjs/chunk-GQ7GLAJK.cjs.map +1 -0
- package/dist/cjs/chunk-GS4SRUTV.cjs +89 -0
- package/dist/cjs/chunk-GS4SRUTV.cjs.map +1 -0
- package/dist/cjs/chunk-GSGWKZGC.cjs +148 -0
- package/dist/cjs/chunk-GSGWKZGC.cjs.map +1 -0
- package/dist/cjs/chunk-GSYVKLBV.cjs +74 -0
- package/dist/cjs/chunk-GSYVKLBV.cjs.map +1 -0
- package/dist/cjs/chunk-GU6HDVQH.cjs +62 -0
- package/dist/cjs/chunk-GU6HDVQH.cjs.map +1 -0
- package/dist/cjs/chunk-H3GWD2ES.cjs +29 -0
- package/dist/cjs/chunk-H3GWD2ES.cjs.map +1 -0
- package/dist/cjs/chunk-H5IPB5RW.cjs +44 -0
- package/dist/cjs/chunk-H5IPB5RW.cjs.map +1 -0
- package/dist/cjs/chunk-H6KPHKKN.cjs +62 -0
- package/dist/cjs/chunk-H6KPHKKN.cjs.map +1 -0
- package/dist/cjs/chunk-HFYBAX4K.cjs +89 -0
- package/dist/cjs/chunk-HFYBAX4K.cjs.map +1 -0
- package/dist/cjs/chunk-HKZNPDM5.cjs +62 -0
- package/dist/cjs/chunk-HKZNPDM5.cjs.map +1 -0
- package/dist/cjs/chunk-HLTFUIIN.cjs +16 -0
- package/dist/cjs/chunk-HLTFUIIN.cjs.map +1 -0
- package/dist/cjs/chunk-HMLQQSC5.cjs +45 -0
- package/dist/cjs/chunk-HMLQQSC5.cjs.map +1 -0
- package/dist/cjs/chunk-HWUCIRWQ.cjs +62 -0
- package/dist/cjs/chunk-HWUCIRWQ.cjs.map +1 -0
- package/dist/cjs/chunk-I25WEIX7.cjs +44 -0
- package/dist/cjs/chunk-I25WEIX7.cjs.map +1 -0
- package/dist/cjs/chunk-IAOIID43.cjs +18 -0
- package/dist/cjs/chunk-IAOIID43.cjs.map +1 -0
- package/dist/cjs/chunk-ICXZ3HPH.cjs +17 -0
- package/dist/cjs/chunk-ICXZ3HPH.cjs.map +1 -0
- package/dist/cjs/chunk-IF5XYSSS.cjs +28 -0
- package/dist/cjs/chunk-IF5XYSSS.cjs.map +1 -0
- package/dist/cjs/chunk-IMLEZU2H.cjs +44 -0
- package/dist/cjs/chunk-IMLEZU2H.cjs.map +1 -0
- package/dist/cjs/chunk-IPO4ASBI.cjs +74 -0
- package/dist/cjs/chunk-IPO4ASBI.cjs.map +1 -0
- package/dist/cjs/chunk-ISLBO7I5.cjs +29 -0
- package/dist/cjs/chunk-ISLBO7I5.cjs.map +1 -0
- package/dist/cjs/chunk-J6BF43QV.cjs +17 -0
- package/dist/cjs/chunk-J6BF43QV.cjs.map +1 -0
- package/dist/cjs/chunk-J6GZHVKA.cjs +17 -0
- package/dist/cjs/chunk-J6GZHVKA.cjs.map +1 -0
- package/dist/cjs/chunk-J7WYMYKJ.cjs +140 -0
- package/dist/cjs/chunk-J7WYMYKJ.cjs.map +1 -0
- package/dist/cjs/chunk-J7XZEYNH.cjs +18 -0
- package/dist/cjs/chunk-J7XZEYNH.cjs.map +1 -0
- package/dist/cjs/chunk-JB3M2YKH.cjs +102 -0
- package/dist/cjs/chunk-JB3M2YKH.cjs.map +1 -0
- package/dist/cjs/chunk-JBW43DLI.cjs +44 -0
- package/dist/cjs/chunk-JBW43DLI.cjs.map +1 -0
- package/dist/cjs/chunk-JEPWMZID.cjs +38 -0
- package/dist/cjs/chunk-JEPWMZID.cjs.map +1 -0
- package/dist/cjs/chunk-JGWLYCO2.cjs +17 -0
- package/dist/cjs/chunk-JGWLYCO2.cjs.map +1 -0
- package/dist/cjs/chunk-JJOPCTCU.cjs +17 -0
- package/dist/cjs/chunk-JJOPCTCU.cjs.map +1 -0
- package/dist/cjs/chunk-JLA2XKKK.cjs +17 -0
- package/dist/cjs/chunk-JLA2XKKK.cjs.map +1 -0
- package/dist/cjs/chunk-JRAXCPQO.cjs +44 -0
- package/dist/cjs/chunk-JRAXCPQO.cjs.map +1 -0
- package/dist/cjs/chunk-JUXNQ42D.cjs +28 -0
- package/dist/cjs/chunk-JUXNQ42D.cjs.map +1 -0
- package/dist/cjs/chunk-JWAQMGLT.cjs +17 -0
- package/dist/cjs/chunk-JWAQMGLT.cjs.map +1 -0
- package/dist/cjs/chunk-K7KWNGPC.cjs +29 -0
- package/dist/cjs/chunk-K7KWNGPC.cjs.map +1 -0
- package/dist/cjs/chunk-KAEDNRF3.cjs +97 -0
- package/dist/cjs/chunk-KAEDNRF3.cjs.map +1 -0
- package/dist/cjs/chunk-KHG7EBRN.cjs +17 -0
- package/dist/cjs/chunk-KHG7EBRN.cjs.map +1 -0
- package/dist/cjs/chunk-KJ4E6VUE.cjs +62 -0
- package/dist/cjs/chunk-KJ4E6VUE.cjs.map +1 -0
- package/dist/cjs/chunk-KJJ6WEOJ.cjs +11 -0
- package/dist/cjs/chunk-KJJ6WEOJ.cjs.map +1 -0
- package/dist/cjs/chunk-KMREZ7PZ.cjs +74 -0
- package/dist/cjs/chunk-KMREZ7PZ.cjs.map +1 -0
- package/dist/cjs/chunk-KN5CERX5.cjs +89 -0
- package/dist/cjs/chunk-KN5CERX5.cjs.map +1 -0
- package/dist/cjs/chunk-KQDMWEET.cjs +18 -0
- package/dist/cjs/chunk-KQDMWEET.cjs.map +1 -0
- package/dist/cjs/chunk-KVABMON6.cjs +44 -0
- package/dist/cjs/chunk-KVABMON6.cjs.map +1 -0
- package/dist/cjs/chunk-KWA3NEGB.cjs +62 -0
- package/dist/cjs/chunk-KWA3NEGB.cjs.map +1 -0
- package/dist/cjs/chunk-KWYDGO4G.cjs +62 -0
- package/dist/cjs/chunk-KWYDGO4G.cjs.map +1 -0
- package/dist/cjs/chunk-L6EOB53F.cjs +79 -0
- package/dist/cjs/chunk-L6EOB53F.cjs.map +1 -0
- package/dist/cjs/chunk-LAP73JLI.cjs +44 -0
- package/dist/cjs/chunk-LAP73JLI.cjs.map +1 -0
- package/dist/cjs/chunk-LDLF7MAE.cjs +132 -0
- package/dist/cjs/chunk-LDLF7MAE.cjs.map +1 -0
- package/dist/cjs/chunk-LEKVRPCD.cjs +17 -0
- package/dist/cjs/chunk-LEKVRPCD.cjs.map +1 -0
- package/dist/cjs/chunk-LELMEP2N.cjs +62 -0
- package/dist/cjs/chunk-LELMEP2N.cjs.map +1 -0
- package/dist/cjs/chunk-LI2XLHPP.cjs +38 -0
- package/dist/cjs/chunk-LI2XLHPP.cjs.map +1 -0
- package/dist/cjs/chunk-LJRPZUWA.cjs +104 -0
- package/dist/cjs/chunk-LJRPZUWA.cjs.map +1 -0
- package/dist/cjs/chunk-LKUN737V.cjs +74 -0
- package/dist/cjs/chunk-LKUN737V.cjs.map +1 -0
- package/dist/cjs/chunk-LLHF36B4.cjs +74 -0
- package/dist/cjs/chunk-LLHF36B4.cjs.map +1 -0
- package/dist/cjs/chunk-LMRBAR7I.cjs +89 -0
- package/dist/cjs/chunk-LMRBAR7I.cjs.map +1 -0
- package/dist/cjs/chunk-LUNBSV2I.cjs +74 -0
- package/dist/cjs/chunk-LUNBSV2I.cjs.map +1 -0
- package/dist/cjs/chunk-LVIMWZQS.cjs +89 -0
- package/dist/cjs/chunk-LVIMWZQS.cjs.map +1 -0
- package/dist/cjs/chunk-LXF6DPMZ.cjs +18 -0
- package/dist/cjs/chunk-LXF6DPMZ.cjs.map +1 -0
- package/dist/cjs/chunk-M3CUZHXK.cjs +17 -0
- package/dist/cjs/chunk-M3CUZHXK.cjs.map +1 -0
- package/dist/cjs/chunk-M4D7C6DB.cjs +102 -0
- package/dist/cjs/chunk-M4D7C6DB.cjs.map +1 -0
- package/dist/cjs/chunk-MAXQRRIY.cjs +365 -0
- package/dist/cjs/chunk-MAXQRRIY.cjs.map +1 -0
- package/dist/cjs/chunk-MCUQGSE6.cjs +17 -0
- package/dist/cjs/chunk-MCUQGSE6.cjs.map +1 -0
- package/dist/cjs/chunk-MEC7VCG7.cjs +17 -0
- package/dist/cjs/chunk-MEC7VCG7.cjs.map +1 -0
- package/dist/cjs/chunk-MNZP3CZB.cjs +45 -0
- package/dist/cjs/chunk-MNZP3CZB.cjs.map +1 -0
- package/dist/cjs/chunk-MOFEEAGY.cjs +17 -0
- package/dist/cjs/chunk-MOFEEAGY.cjs.map +1 -0
- package/dist/cjs/chunk-MOWHV2S7.cjs +17 -0
- package/dist/cjs/chunk-MOWHV2S7.cjs.map +1 -0
- package/dist/cjs/chunk-MQHK4U3Y.cjs +17 -0
- package/dist/cjs/chunk-MQHK4U3Y.cjs.map +1 -0
- package/dist/cjs/chunk-MSCVK25Y.cjs +38 -0
- package/dist/cjs/chunk-MSCVK25Y.cjs.map +1 -0
- package/dist/cjs/chunk-MTMT3CVP.cjs +17 -0
- package/dist/cjs/chunk-MTMT3CVP.cjs.map +1 -0
- package/dist/cjs/chunk-MX7PQPGC.cjs +17 -0
- package/dist/cjs/chunk-MX7PQPGC.cjs.map +1 -0
- package/dist/cjs/chunk-MYS55MIK.cjs +38 -0
- package/dist/cjs/chunk-MYS55MIK.cjs.map +1 -0
- package/dist/cjs/chunk-N2B6FO57.cjs +102 -0
- package/dist/cjs/chunk-N2B6FO57.cjs.map +1 -0
- package/dist/cjs/chunk-N6U4EN2R.cjs +44 -0
- package/dist/cjs/chunk-N6U4EN2R.cjs.map +1 -0
- package/dist/cjs/chunk-N72OTA4I.cjs +370 -0
- package/dist/cjs/chunk-N72OTA4I.cjs.map +1 -0
- package/dist/cjs/chunk-N7KD2GNO.cjs +74 -0
- package/dist/cjs/chunk-N7KD2GNO.cjs.map +1 -0
- package/dist/cjs/chunk-NA4ZT3HV.cjs +62 -0
- package/dist/cjs/chunk-NA4ZT3HV.cjs.map +1 -0
- package/dist/cjs/chunk-NBQ3VSRH.cjs +38 -0
- package/dist/cjs/chunk-NBQ3VSRH.cjs.map +1 -0
- package/dist/cjs/chunk-NEEJAHSQ.cjs +62 -0
- package/dist/cjs/chunk-NEEJAHSQ.cjs.map +1 -0
- package/dist/cjs/chunk-NFW54MQ7.cjs +17 -0
- package/dist/cjs/chunk-NFW54MQ7.cjs.map +1 -0
- package/dist/cjs/chunk-NIQCUG4E.cjs +29 -0
- package/dist/cjs/chunk-NIQCUG4E.cjs.map +1 -0
- package/dist/cjs/chunk-NK3ADXTX.cjs +44 -0
- package/dist/cjs/chunk-NK3ADXTX.cjs.map +1 -0
- package/dist/cjs/chunk-NNVSYWA3.cjs +62 -0
- package/dist/cjs/chunk-NNVSYWA3.cjs.map +1 -0
- package/dist/cjs/chunk-NP4SFRFA.cjs +89 -0
- package/dist/cjs/chunk-NP4SFRFA.cjs.map +1 -0
- package/dist/cjs/chunk-NPXXPQSE.cjs +365 -0
- package/dist/cjs/chunk-NPXXPQSE.cjs.map +1 -0
- package/dist/cjs/chunk-NVSMOJGT.cjs +62 -0
- package/dist/cjs/chunk-NVSMOJGT.cjs.map +1 -0
- package/dist/cjs/chunk-O4ZZQHPE.cjs +38 -0
- package/dist/cjs/chunk-O4ZZQHPE.cjs.map +1 -0
- package/dist/cjs/chunk-OCBMFZHQ.cjs +29 -0
- package/dist/cjs/chunk-OCBMFZHQ.cjs.map +1 -0
- package/dist/cjs/chunk-OCXNCC5B.cjs +17 -0
- package/dist/cjs/chunk-OCXNCC5B.cjs.map +1 -0
- package/dist/cjs/chunk-OFBOKA5A.cjs +29 -0
- package/dist/cjs/chunk-OFBOKA5A.cjs.map +1 -0
- package/dist/cjs/chunk-OG2R3NBK.cjs +38 -0
- package/dist/cjs/chunk-OG2R3NBK.cjs.map +1 -0
- package/dist/cjs/chunk-OHVXQ2LX.cjs +53 -0
- package/dist/cjs/chunk-OHVXQ2LX.cjs.map +1 -0
- package/dist/cjs/chunk-OIAXS4VW.cjs +102 -0
- package/dist/cjs/chunk-OIAXS4VW.cjs.map +1 -0
- package/dist/cjs/chunk-ORAYV7WD.cjs +17 -0
- package/dist/cjs/chunk-ORAYV7WD.cjs.map +1 -0
- package/dist/cjs/chunk-OT3G2M4T.cjs +62 -0
- package/dist/cjs/chunk-OT3G2M4T.cjs.map +1 -0
- package/dist/cjs/chunk-OV2ETBUH.cjs +17 -0
- package/dist/cjs/chunk-OV2ETBUH.cjs.map +1 -0
- package/dist/cjs/chunk-OVCUZFLV.cjs +44 -0
- package/dist/cjs/chunk-OVCUZFLV.cjs.map +1 -0
- package/dist/cjs/chunk-OYDNFJAM.cjs +44 -0
- package/dist/cjs/chunk-OYDNFJAM.cjs.map +1 -0
- package/dist/cjs/chunk-P2GCTU6M.cjs +109 -0
- package/dist/cjs/chunk-P2GCTU6M.cjs.map +1 -0
- package/dist/cjs/chunk-P2KW3E6U.cjs +29 -0
- package/dist/cjs/chunk-P2KW3E6U.cjs.map +1 -0
- package/dist/cjs/chunk-P2P5M3T2.cjs +29 -0
- package/dist/cjs/chunk-P2P5M3T2.cjs.map +1 -0
- package/dist/cjs/chunk-P362DRT2.cjs +44 -0
- package/dist/cjs/chunk-P362DRT2.cjs.map +1 -0
- package/dist/cjs/chunk-P372UHX4.cjs +44 -0
- package/dist/cjs/chunk-P372UHX4.cjs.map +1 -0
- package/dist/cjs/chunk-P3AYWRS7.cjs +18 -0
- package/dist/cjs/chunk-P3AYWRS7.cjs.map +1 -0
- package/dist/cjs/chunk-PAWQF7J7.cjs +17 -0
- package/dist/cjs/chunk-PAWQF7J7.cjs.map +1 -0
- package/dist/cjs/chunk-PF3ER2QU.cjs +17 -0
- package/dist/cjs/chunk-PF3ER2QU.cjs.map +1 -0
- package/dist/cjs/chunk-PG4SO7ML.cjs +29 -0
- package/dist/cjs/chunk-PG4SO7ML.cjs.map +1 -0
- package/dist/cjs/chunk-PN3F26EA.cjs +38 -0
- package/dist/cjs/chunk-PN3F26EA.cjs.map +1 -0
- package/dist/cjs/chunk-PO443XHM.cjs +62 -0
- package/dist/cjs/chunk-PO443XHM.cjs.map +1 -0
- package/dist/cjs/chunk-PQQU77V7.cjs +160 -0
- package/dist/cjs/chunk-PQQU77V7.cjs.map +1 -0
- package/dist/cjs/chunk-PQW35YAY.cjs +89 -0
- package/dist/cjs/chunk-PQW35YAY.cjs.map +1 -0
- package/dist/cjs/chunk-PWM3QPWT.cjs +62 -0
- package/dist/cjs/chunk-PWM3QPWT.cjs.map +1 -0
- package/dist/cjs/chunk-PX2NZ7SE.cjs +29 -0
- package/dist/cjs/chunk-PX2NZ7SE.cjs.map +1 -0
- package/dist/cjs/chunk-Q2ZSWGAQ.cjs +38 -0
- package/dist/cjs/chunk-Q2ZSWGAQ.cjs.map +1 -0
- package/dist/cjs/chunk-QCF7NFHD.cjs +38 -0
- package/dist/cjs/chunk-QCF7NFHD.cjs.map +1 -0
- package/dist/cjs/chunk-QCSBR7VS.cjs +74 -0
- package/dist/cjs/chunk-QCSBR7VS.cjs.map +1 -0
- package/dist/cjs/chunk-QD5ARR2B.cjs +17 -0
- package/dist/cjs/chunk-QD5ARR2B.cjs.map +1 -0
- package/dist/cjs/chunk-QDIHXLIV.cjs +17 -0
- package/dist/cjs/chunk-QDIHXLIV.cjs.map +1 -0
- package/dist/cjs/chunk-QKFZZH34.cjs +44 -0
- package/dist/cjs/chunk-QKFZZH34.cjs.map +1 -0
- package/dist/cjs/chunk-QQ62IQMW.cjs +18 -0
- package/dist/cjs/chunk-QQ62IQMW.cjs.map +1 -0
- package/dist/cjs/chunk-QQI3367Y.cjs +29 -0
- package/dist/cjs/chunk-QQI3367Y.cjs.map +1 -0
- package/dist/cjs/chunk-QS4IGZTN.cjs +17 -0
- package/dist/cjs/chunk-QS4IGZTN.cjs.map +1 -0
- package/dist/cjs/chunk-QUWVIY46.cjs +17 -0
- package/dist/cjs/chunk-QUWVIY46.cjs.map +1 -0
- package/dist/cjs/chunk-QYA4XUJT.cjs +18 -0
- package/dist/cjs/chunk-QYA4XUJT.cjs.map +1 -0
- package/dist/cjs/chunk-QYUFEGMJ.cjs +62 -0
- package/dist/cjs/chunk-QYUFEGMJ.cjs.map +1 -0
- package/dist/cjs/chunk-R4UYONDW.cjs +17 -0
- package/dist/cjs/chunk-R4UYONDW.cjs.map +1 -0
- package/dist/cjs/chunk-RGVKM4WY.cjs +62 -0
- package/dist/cjs/chunk-RGVKM4WY.cjs.map +1 -0
- package/dist/cjs/chunk-RHZY3ODR.cjs +361 -0
- package/dist/cjs/chunk-RHZY3ODR.cjs.map +1 -0
- package/dist/cjs/chunk-RLQA7BOD.cjs +29 -0
- package/dist/cjs/chunk-RLQA7BOD.cjs.map +1 -0
- package/dist/cjs/chunk-RMDFLURK.cjs +17 -0
- package/dist/cjs/chunk-RMDFLURK.cjs.map +1 -0
- package/dist/cjs/chunk-RN65SUJF.cjs +97 -0
- package/dist/cjs/chunk-RN65SUJF.cjs.map +1 -0
- package/dist/cjs/chunk-RNORLGS6.cjs +45 -0
- package/dist/cjs/chunk-RNORLGS6.cjs.map +1 -0
- package/dist/cjs/chunk-ROQH4P3W.cjs +38 -0
- package/dist/cjs/chunk-ROQH4P3W.cjs.map +1 -0
- package/dist/cjs/chunk-RRUMJQUL.cjs +89 -0
- package/dist/cjs/chunk-RRUMJQUL.cjs.map +1 -0
- package/dist/cjs/chunk-RSW62NMI.cjs +199 -0
- package/dist/cjs/chunk-RSW62NMI.cjs.map +1 -0
- package/dist/cjs/chunk-RUWGV4WR.cjs +17 -0
- package/dist/cjs/chunk-RUWGV4WR.cjs.map +1 -0
- package/dist/cjs/chunk-RVY2B3IJ.cjs +74 -0
- package/dist/cjs/chunk-RVY2B3IJ.cjs.map +1 -0
- package/dist/cjs/chunk-RWNTLD54.cjs +44 -0
- package/dist/cjs/chunk-RWNTLD54.cjs.map +1 -0
- package/dist/cjs/chunk-RXKDAHG2.cjs +44 -0
- package/dist/cjs/chunk-RXKDAHG2.cjs.map +1 -0
- package/dist/cjs/chunk-RYLBWVA2.cjs +44 -0
- package/dist/cjs/chunk-RYLBWVA2.cjs.map +1 -0
- package/dist/cjs/chunk-S23YAZ2A.cjs +17 -0
- package/dist/cjs/chunk-S23YAZ2A.cjs.map +1 -0
- package/dist/cjs/chunk-S5IX4I76.cjs +18 -0
- package/dist/cjs/chunk-S5IX4I76.cjs.map +1 -0
- package/dist/cjs/chunk-S6QSKB6P.cjs +16 -0
- package/dist/cjs/chunk-S6QSKB6P.cjs.map +1 -0
- package/dist/cjs/chunk-S7HZAG7P.cjs +44 -0
- package/dist/cjs/chunk-S7HZAG7P.cjs.map +1 -0
- package/dist/cjs/chunk-SARGPS4K.cjs +38 -0
- package/dist/cjs/chunk-SARGPS4K.cjs.map +1 -0
- package/dist/cjs/chunk-SFS4SXF6.cjs +53 -0
- package/dist/cjs/chunk-SFS4SXF6.cjs.map +1 -0
- package/dist/cjs/chunk-SIIH3B74.cjs +44 -0
- package/dist/cjs/chunk-SIIH3B74.cjs.map +1 -0
- package/dist/cjs/chunk-SMW34VVM.cjs +44 -0
- package/dist/cjs/chunk-SMW34VVM.cjs.map +1 -0
- package/dist/cjs/chunk-SPRRITQ6.cjs +18 -0
- package/dist/cjs/chunk-SPRRITQ6.cjs.map +1 -0
- package/dist/cjs/chunk-ST3FQEPC.cjs +17 -0
- package/dist/cjs/chunk-ST3FQEPC.cjs.map +1 -0
- package/dist/cjs/chunk-STMDJQSN.cjs +38 -0
- package/dist/cjs/chunk-STMDJQSN.cjs.map +1 -0
- package/dist/cjs/chunk-SUWPGEHX.cjs +17 -0
- package/dist/cjs/chunk-SUWPGEHX.cjs.map +1 -0
- package/dist/cjs/chunk-TBD4USX4.cjs +18 -0
- package/dist/cjs/chunk-TBD4USX4.cjs.map +1 -0
- package/dist/cjs/chunk-TDL3BNSA.cjs +29 -0
- package/dist/cjs/chunk-TDL3BNSA.cjs.map +1 -0
- package/dist/cjs/chunk-TH2AA3PL.cjs +44 -0
- package/dist/cjs/chunk-TH2AA3PL.cjs.map +1 -0
- package/dist/cjs/chunk-TIBS5S3Y.cjs +62 -0
- package/dist/cjs/chunk-TIBS5S3Y.cjs.map +1 -0
- package/dist/cjs/chunk-TO3PRCSI.cjs +29 -0
- package/dist/cjs/chunk-TO3PRCSI.cjs.map +1 -0
- package/dist/cjs/chunk-TWEE7ZVM.cjs +17 -0
- package/dist/cjs/chunk-TWEE7ZVM.cjs.map +1 -0
- package/dist/cjs/chunk-TXCJLAJF.cjs +38 -0
- package/dist/cjs/chunk-TXCJLAJF.cjs.map +1 -0
- package/dist/cjs/chunk-U2JRVN7R.cjs +370 -0
- package/dist/cjs/chunk-U2JRVN7R.cjs.map +1 -0
- package/dist/cjs/chunk-U6NNAQNQ.cjs +38 -0
- package/dist/cjs/chunk-U6NNAQNQ.cjs.map +1 -0
- package/dist/cjs/chunk-UCFV46IM.cjs +17 -0
- package/dist/cjs/chunk-UCFV46IM.cjs.map +1 -0
- package/dist/cjs/chunk-UFRZN76M.cjs +62 -0
- package/dist/cjs/chunk-UFRZN76M.cjs.map +1 -0
- package/dist/cjs/chunk-UHBLYOYU.cjs +74 -0
- package/dist/cjs/chunk-UHBLYOYU.cjs.map +1 -0
- package/dist/cjs/chunk-UHDH333D.cjs +62 -0
- package/dist/cjs/chunk-UHDH333D.cjs.map +1 -0
- package/dist/cjs/chunk-UM5H2LX6.cjs +29 -0
- package/dist/cjs/chunk-UM5H2LX6.cjs.map +1 -0
- package/dist/cjs/chunk-UPGOCNCN.cjs +38 -0
- package/dist/cjs/chunk-UPGOCNCN.cjs.map +1 -0
- package/dist/cjs/chunk-UPX2SP2I.cjs +17 -0
- package/dist/cjs/chunk-UPX2SP2I.cjs.map +1 -0
- package/dist/{esm/chunk-ZXRDGIRP.js → cjs/chunk-UUCZKT5D.cjs} +20 -15
- package/dist/cjs/chunk-UUCZKT5D.cjs.map +1 -0
- package/dist/cjs/chunk-UYHDOAWE.cjs +45 -0
- package/dist/cjs/chunk-UYHDOAWE.cjs.map +1 -0
- package/dist/cjs/chunk-UZJTUZGY.cjs +17 -0
- package/dist/cjs/chunk-UZJTUZGY.cjs.map +1 -0
- package/dist/cjs/chunk-V3EXMOOM.cjs +17 -0
- package/dist/cjs/chunk-V3EXMOOM.cjs.map +1 -0
- package/dist/cjs/chunk-V3LAWFTJ.cjs +44 -0
- package/dist/cjs/chunk-V3LAWFTJ.cjs.map +1 -0
- package/dist/cjs/chunk-V4RBT5K7.cjs +17 -0
- package/dist/cjs/chunk-V4RBT5K7.cjs.map +1 -0
- package/dist/cjs/chunk-V55C3YXY.cjs +93 -0
- package/dist/cjs/chunk-V55C3YXY.cjs.map +1 -0
- package/dist/cjs/chunk-VHNSHNUE.cjs +17 -0
- package/dist/cjs/chunk-VHNSHNUE.cjs.map +1 -0
- package/dist/cjs/chunk-VKN5V4HW.cjs +29 -0
- package/dist/cjs/chunk-VKN5V4HW.cjs.map +1 -0
- package/dist/cjs/chunk-VKOMCYNG.cjs +44 -0
- package/dist/cjs/chunk-VKOMCYNG.cjs.map +1 -0
- package/dist/cjs/chunk-VKRY4N4K.cjs +102 -0
- package/dist/cjs/chunk-VKRY4N4K.cjs.map +1 -0
- package/dist/cjs/chunk-VMO3EK7D.cjs +17 -0
- package/dist/cjs/chunk-VMO3EK7D.cjs.map +1 -0
- package/dist/cjs/chunk-VT73FQL4.cjs +89 -0
- package/dist/cjs/chunk-VT73FQL4.cjs.map +1 -0
- package/dist/cjs/chunk-VWPFDN24.cjs +17 -0
- package/dist/cjs/chunk-VWPFDN24.cjs.map +1 -0
- package/dist/cjs/chunk-VXA4ORKK.cjs +74 -0
- package/dist/cjs/chunk-VXA4ORKK.cjs.map +1 -0
- package/dist/cjs/chunk-VYP75YVY.cjs +44 -0
- package/dist/cjs/chunk-VYP75YVY.cjs.map +1 -0
- package/dist/cjs/chunk-W7SORD7U.cjs +44 -0
- package/dist/cjs/chunk-W7SORD7U.cjs.map +1 -0
- package/dist/cjs/chunk-WATBESF4.cjs +44 -0
- package/dist/cjs/chunk-WATBESF4.cjs.map +1 -0
- package/dist/cjs/chunk-WDYGGL7T.cjs +74 -0
- package/dist/cjs/chunk-WDYGGL7T.cjs.map +1 -0
- package/dist/cjs/chunk-WGXAPEYL.cjs +43 -0
- package/dist/cjs/chunk-WGXAPEYL.cjs.map +1 -0
- package/dist/cjs/chunk-WJNXA7H5.cjs +17 -0
- package/dist/cjs/chunk-WJNXA7H5.cjs.map +1 -0
- package/dist/cjs/chunk-WK2SDNK6.cjs +29 -0
- package/dist/cjs/chunk-WK2SDNK6.cjs.map +1 -0
- package/dist/cjs/chunk-WQJUJFBG.cjs +89 -0
- package/dist/cjs/chunk-WQJUJFBG.cjs.map +1 -0
- package/dist/cjs/chunk-WQKJT2J5.cjs +17 -0
- package/dist/cjs/chunk-WQKJT2J5.cjs.map +1 -0
- package/dist/cjs/chunk-WSXNCOQE.cjs +45 -0
- package/dist/cjs/chunk-WSXNCOQE.cjs.map +1 -0
- package/dist/cjs/chunk-WUCAGTUK.cjs +17 -0
- package/dist/cjs/chunk-WUCAGTUK.cjs.map +1 -0
- package/dist/cjs/chunk-WY7CK7W5.cjs +74 -0
- package/dist/cjs/chunk-WY7CK7W5.cjs.map +1 -0
- package/dist/cjs/chunk-X2FU2SYL.cjs +102 -0
- package/dist/cjs/chunk-X2FU2SYL.cjs.map +1 -0
- package/dist/cjs/chunk-X2I552UN.cjs +45 -0
- package/dist/cjs/chunk-X2I552UN.cjs.map +1 -0
- package/dist/cjs/chunk-X3QHGDUT.cjs +74 -0
- package/dist/cjs/chunk-X3QHGDUT.cjs.map +1 -0
- package/dist/cjs/chunk-XDHFS7VI.cjs +44 -0
- package/dist/cjs/chunk-XDHFS7VI.cjs.map +1 -0
- package/dist/cjs/chunk-XFTYFPPQ.cjs +74 -0
- package/dist/cjs/chunk-XFTYFPPQ.cjs.map +1 -0
- package/dist/cjs/chunk-XHO5XBCL.cjs +38 -0
- package/dist/cjs/chunk-XHO5XBCL.cjs.map +1 -0
- package/dist/cjs/chunk-XTZB7I5O.cjs +365 -0
- package/dist/cjs/chunk-XTZB7I5O.cjs.map +1 -0
- package/dist/cjs/chunk-XTZXXP5H.cjs +17 -0
- package/dist/cjs/chunk-XTZXXP5H.cjs.map +1 -0
- package/dist/cjs/chunk-XWQATYRB.cjs +17 -0
- package/dist/cjs/chunk-XWQATYRB.cjs.map +1 -0
- package/dist/cjs/chunk-Y3E7ELDU.cjs +17 -0
- package/dist/cjs/chunk-Y3E7ELDU.cjs.map +1 -0
- package/dist/cjs/chunk-YEEYYIBK.cjs +17 -0
- package/dist/cjs/chunk-YEEYYIBK.cjs.map +1 -0
- package/dist/cjs/chunk-YGVY4J7P.cjs +44 -0
- package/dist/cjs/chunk-YGVY4J7P.cjs.map +1 -0
- package/dist/cjs/chunk-YKBMV6JE.cjs +17 -0
- package/dist/cjs/chunk-YKBMV6JE.cjs.map +1 -0
- package/dist/cjs/chunk-YM24CPSE.cjs +44 -0
- package/dist/cjs/chunk-YM24CPSE.cjs.map +1 -0
- package/dist/cjs/chunk-YMFMJL47.cjs +137 -0
- package/dist/cjs/chunk-YMFMJL47.cjs.map +1 -0
- package/dist/cjs/chunk-YTGWHXGT.cjs +89 -0
- package/dist/cjs/chunk-YTGWHXGT.cjs.map +1 -0
- package/dist/cjs/chunk-YUTGCYSF.cjs +199 -0
- package/dist/cjs/chunk-YUTGCYSF.cjs.map +1 -0
- package/dist/cjs/chunk-Z2IE2N4Z.cjs +38 -0
- package/dist/cjs/chunk-Z2IE2N4Z.cjs.map +1 -0
- package/dist/cjs/chunk-Z6J5E6F6.cjs +44 -0
- package/dist/cjs/chunk-Z6J5E6F6.cjs.map +1 -0
- package/dist/cjs/chunk-Z6WB6GE6.cjs +17 -0
- package/dist/cjs/chunk-Z6WB6GE6.cjs.map +1 -0
- package/dist/cjs/chunk-Z7PEFAW2.cjs +44 -0
- package/dist/cjs/chunk-Z7PEFAW2.cjs.map +1 -0
- package/dist/cjs/chunk-ZAGPIIAP.cjs +74 -0
- package/dist/cjs/chunk-ZAGPIIAP.cjs.map +1 -0
- package/dist/cjs/chunk-ZEUSN4Q4.cjs +89 -0
- package/dist/cjs/chunk-ZEUSN4Q4.cjs.map +1 -0
- package/dist/cjs/chunk-ZF2XEV4M.cjs +362 -0
- package/dist/cjs/chunk-ZF2XEV4M.cjs.map +1 -0
- package/dist/cjs/chunk-ZNPKRMPN.cjs +17 -0
- package/dist/cjs/chunk-ZNPKRMPN.cjs.map +1 -0
- package/dist/cjs/chunk-ZRQ2BXVC.cjs +38 -0
- package/dist/cjs/chunk-ZRQ2BXVC.cjs.map +1 -0
- package/dist/cjs/chunk-ZUTXQWDF.cjs +29 -0
- package/dist/cjs/chunk-ZUTXQWDF.cjs.map +1 -0
- package/dist/cjs/chunk-ZVKZ5PTK.cjs +74 -0
- package/dist/cjs/chunk-ZVKZ5PTK.cjs.map +1 -0
- package/dist/cjs/container/index.cjs +21 -15
- package/dist/cjs/container/index.cjs.map +1 -1
- package/dist/cjs/container/services.cjs +20 -14
- package/dist/cjs/container/services.cjs.map +1 -1
- package/dist/cjs/index.cjs +42 -36
- package/dist/cjs/index.cjs.map +1 -1
- package/dist/cjs/modules/a2a/a2a.module.cjs +2 -2
- package/dist/cjs/modules/index.cjs +9 -9
- package/dist/cjs/modules/index.cjs.map +1 -1
- package/dist/cjs/modules/mcp/mcp.module.cjs +2 -2
- package/dist/cjs/routes/a2a.routes.cjs +23 -17
- package/dist/cjs/routes/a2a.routes.cjs.map +1 -1
- package/dist/cjs/routes/api/agent.routes.cjs +22 -16
- package/dist/cjs/routes/api/agent.routes.cjs.map +1 -1
- package/dist/cjs/routes/api/intent.routes.cjs +22 -16
- package/dist/cjs/routes/api/intent.routes.cjs.map +1 -1
- package/dist/cjs/routes/api/model.routes.cjs +22 -16
- package/dist/cjs/routes/api/model.routes.cjs.map +1 -1
- package/dist/cjs/routes/api/threads.routes.cjs +22 -16
- package/dist/cjs/routes/api/threads.routes.cjs.map +1 -1
- package/dist/cjs/routes/api/workflow.routes.cjs +22 -16
- package/dist/cjs/routes/api/workflow.routes.cjs.map +1 -1
- package/dist/cjs/routes/api.routes.cjs +27 -21
- package/dist/cjs/routes/api.routes.cjs.map +1 -1
- package/dist/cjs/routes/index.cjs +31 -25
- package/dist/cjs/routes/index.cjs.map +1 -1
- package/dist/cjs/routes/intent.routes.cjs +22 -16
- package/dist/cjs/routes/intent.routes.cjs.map +1 -1
- package/dist/cjs/routes/query.routes.cjs +22 -16
- package/dist/cjs/routes/query.routes.cjs.map +1 -1
- package/dist/cjs/services/index.cjs +21 -15
- package/dist/cjs/services/index.cjs.map +1 -1
- package/dist/cjs/services/intents/aggregate.service.cjs +3 -4
- package/dist/cjs/services/intents/aggregate.service.cjs.map +1 -1
- package/dist/cjs/services/intents/fulfill.service.cjs +10 -6
- package/dist/cjs/services/intents/fulfill.service.cjs.map +1 -1
- package/dist/cjs/services/intents/multi-trigger.service.cjs +3 -2
- package/dist/cjs/services/intents/multi-trigger.service.cjs.map +1 -1
- package/dist/cjs/services/intents/single-trigger.service.cjs +3 -2
- package/dist/cjs/services/intents/single-trigger.service.cjs.map +1 -1
- package/dist/cjs/services/intents/trigger.service.cjs +6 -4
- package/dist/cjs/services/intents/trigger.service.cjs.map +1 -1
- package/dist/cjs/services/pii.service.cjs +12 -0
- package/dist/cjs/services/pii.service.cjs.map +1 -0
- package/dist/cjs/services/prompts/aggregate.cjs +7 -0
- package/dist/cjs/services/prompts/aggregate.cjs.map +1 -0
- package/dist/cjs/services/prompts/fulfill.cjs +7 -0
- package/dist/cjs/services/prompts/fulfill.cjs.map +1 -0
- package/dist/cjs/services/prompts/generate-title.cjs +7 -0
- package/dist/cjs/services/prompts/generate-title.cjs.map +1 -0
- package/dist/cjs/services/prompts/multi-trigger.cjs +7 -0
- package/dist/cjs/services/prompts/multi-trigger.cjs.map +1 -0
- package/dist/cjs/services/prompts/pii-detect.cjs +7 -0
- package/dist/cjs/services/prompts/pii-detect.cjs.map +1 -0
- package/dist/cjs/services/prompts/pii-filter.cjs +7 -0
- package/dist/cjs/services/prompts/pii-filter.cjs.map +1 -0
- package/dist/cjs/services/prompts/single-trigger.cjs +7 -0
- package/dist/cjs/services/prompts/single-trigger.cjs.map +1 -0
- package/dist/cjs/services/prompts/tool-select.cjs +7 -0
- package/dist/cjs/services/prompts/tool-select.cjs.map +1 -0
- package/dist/cjs/services/query.service.cjs +6 -3
- package/dist/cjs/services/query.service.cjs.map +1 -1
- package/dist/cjs/services/utils/aggregate.common.cjs +2 -4
- package/dist/cjs/services/utils/aggregate.common.cjs.map +1 -1
- package/dist/cjs/services/utils/query.common.cjs +1 -8
- package/dist/cjs/services/utils/query.common.cjs.map +1 -1
- package/dist/cjs/utils/tableBuffer.cjs +7 -0
- package/dist/cjs/utils/tableBuffer.cjs.map +1 -0
- package/dist/esm/{chunk-7BH6AYP7.js → chunk-22ELL7WG.js} +6 -4
- package/dist/esm/chunk-22ELL7WG.js.map +1 -0
- package/dist/esm/chunk-3CR3ZB6L.js +60 -0
- package/dist/esm/chunk-3CR3ZB6L.js.map +1 -0
- package/dist/esm/chunk-4D6KMRWQ.js +28 -0
- package/dist/esm/chunk-4D6KMRWQ.js.map +1 -0
- package/dist/esm/{chunk-CYP6OTDK.js → chunk-5TIH6GI4.js} +21 -8
- package/dist/esm/chunk-5TIH6GI4.js.map +1 -0
- package/dist/esm/chunk-5Z3SX3AE.js +11 -0
- package/dist/esm/chunk-5Z3SX3AE.js.map +1 -0
- package/dist/esm/{chunk-XXDILT4B.js → chunk-BPSW5UQU.js} +2 -2
- package/dist/esm/{chunk-5FJU67BO.js → chunk-CQFZ2N2X.js} +19 -11
- package/dist/esm/chunk-CQFZ2N2X.js.map +1 -0
- package/dist/esm/{chunk-VGL4ZVNA.js → chunk-CRQEBSRD.js} +15 -25
- package/dist/esm/chunk-CRQEBSRD.js.map +1 -0
- package/dist/esm/chunk-DDSAK722.js +92 -0
- package/dist/esm/chunk-DDSAK722.js.map +1 -0
- package/dist/esm/{chunk-SV5CKUNN.js → chunk-FWPJQG4N.js} +3 -3
- package/dist/esm/chunk-FWPJQG4N.js.map +1 -0
- package/dist/esm/{chunk-DBB7B4PV.js → chunk-G4TS67ZV.js} +3 -3
- package/dist/esm/chunk-HSAGEBXJ.js +16 -0
- package/dist/esm/chunk-HSAGEBXJ.js.map +1 -0
- package/dist/esm/{chunk-D66QTWUY.js → chunk-IOQF3ABO.js} +2 -2
- package/dist/esm/chunk-IYLPCNEK.js +74 -0
- package/dist/esm/chunk-IYLPCNEK.js.map +1 -0
- package/dist/esm/{chunk-VOMI5BAO.js → chunk-KGBFQHBY.js} +2 -2
- package/dist/esm/{chunk-A3CKGK3U.js → chunk-MMD2RFKO.js} +2 -2
- package/dist/esm/{chunk-SDABEZSA.js → chunk-NMLM2BMK.js} +2 -2
- package/dist/esm/chunk-OV4TR542.js +28 -0
- package/dist/esm/chunk-OV4TR542.js.map +1 -0
- package/dist/esm/chunk-QMAVALRZ.js +97 -0
- package/dist/esm/chunk-QMAVALRZ.js.map +1 -0
- package/dist/esm/{chunk-R2R3AMCG.js → chunk-RCM6JTVK.js} +2 -2
- package/dist/esm/{chunk-ZUVYTTPD.js → chunk-RYEA7EL2.js} +3 -3
- package/dist/esm/chunk-RYEA7EL2.js.map +1 -0
- package/dist/esm/{chunk-LLYDI3LD.js → chunk-S3MSSEHS.js} +2 -2
- package/dist/esm/chunk-WFYXNKCJ.js +20 -0
- package/dist/esm/chunk-WFYXNKCJ.js.map +1 -0
- package/dist/esm/{chunk-3IG6HCSA.js → chunk-X7USCSP5.js} +2 -2
- package/dist/esm/chunk-XQUENGL4.js +29 -0
- package/dist/esm/chunk-XQUENGL4.js.map +1 -0
- package/dist/esm/{chunk-ZSWCICNO.js → chunk-YIU65RCX.js} +44 -6
- package/dist/esm/chunk-YIU65RCX.js.map +1 -0
- package/dist/esm/{chunk-MXPZHEDH.js → chunk-Z6RM6BGJ.js} +8 -8
- package/dist/esm/{chunk-MZRZVF5Q.js → chunk-ZWCRXCQU.js} +2 -2
- package/dist/esm/container/controllers.d.ts +1 -0
- package/dist/esm/container/index.d.ts +1 -0
- package/dist/esm/container/index.js +18 -12
- package/dist/esm/container/services.d.ts +3 -0
- package/dist/esm/container/services.js +17 -11
- package/dist/esm/controllers/a2a.controller.d.ts +1 -0
- package/dist/esm/controllers/index.d.ts +1 -0
- package/dist/esm/controllers/query.controller.d.ts +1 -0
- package/dist/esm/index.js +28 -22
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/modules/a2a/a2a.module.d.ts +1 -1
- package/dist/esm/modules/a2a/a2a.module.js +1 -1
- package/dist/esm/modules/index.js +5 -5
- package/dist/esm/modules/mcp/mcp.module.d.ts +1 -1
- package/dist/esm/modules/mcp/mcp.module.js +1 -1
- package/dist/esm/modules/memory/base.memory.d.ts +8 -1
- package/dist/esm/routes/a2a.routes.js +19 -13
- package/dist/esm/routes/api/agent.routes.js +19 -13
- package/dist/esm/routes/api/intent.routes.js +19 -13
- package/dist/esm/routes/api/model.routes.js +19 -13
- package/dist/esm/routes/api/threads.routes.js +19 -13
- package/dist/esm/routes/api/workflow.routes.js +19 -13
- package/dist/esm/routes/api.routes.js +24 -18
- package/dist/esm/routes/index.js +26 -20
- package/dist/esm/routes/intent.routes.js +19 -13
- package/dist/esm/routes/query.routes.js +19 -13
- package/dist/esm/services/a2a.service.d.ts +1 -0
- package/dist/esm/services/index.d.ts +1 -0
- package/dist/esm/services/index.js +15 -9
- package/dist/esm/services/intents/aggregate.service.d.ts +6 -21
- package/dist/esm/services/intents/aggregate.service.js +2 -3
- package/dist/esm/services/intents/fulfill.service.d.ts +3 -1
- package/dist/esm/services/intents/fulfill.service.js +8 -4
- package/dist/esm/services/intents/multi-trigger.service.js +2 -1
- package/dist/esm/services/intents/single-trigger.service.js +2 -1
- package/dist/esm/services/intents/trigger.service.js +5 -3
- package/dist/esm/services/pii.service.d.ts +24 -0
- package/dist/esm/services/pii.service.js +12 -0
- package/dist/esm/services/prompts/aggregate.d.ts +7 -0
- package/dist/esm/services/prompts/aggregate.js +7 -0
- package/dist/esm/services/prompts/fulfill.d.ts +7 -0
- package/dist/esm/services/prompts/fulfill.js +7 -0
- package/dist/esm/services/prompts/generate-title.d.ts +7 -0
- package/dist/esm/services/prompts/generate-title.js +7 -0
- package/dist/esm/services/prompts/generate-title.js.map +1 -0
- package/dist/esm/services/prompts/multi-trigger.d.ts +7 -0
- package/dist/esm/services/prompts/multi-trigger.js +7 -0
- package/dist/esm/services/prompts/multi-trigger.js.map +1 -0
- package/dist/esm/services/prompts/pii-detect.d.ts +7 -0
- package/dist/esm/services/prompts/pii-detect.js +7 -0
- package/dist/esm/services/prompts/pii-detect.js.map +1 -0
- package/dist/esm/services/prompts/pii-filter.d.ts +7 -0
- package/dist/esm/services/prompts/pii-filter.js +7 -0
- package/dist/esm/services/prompts/pii-filter.js.map +1 -0
- package/dist/esm/services/prompts/single-trigger.d.ts +7 -0
- package/dist/esm/services/prompts/single-trigger.js +7 -0
- package/dist/esm/services/prompts/single-trigger.js.map +1 -0
- package/dist/esm/services/prompts/tool-select.d.ts +7 -0
- package/dist/esm/services/prompts/tool-select.js +7 -0
- package/dist/esm/services/prompts/tool-select.js.map +1 -0
- package/dist/esm/services/query.service.d.ts +4 -1
- package/dist/esm/services/query.service.js +5 -2
- package/package.json +1 -1
- package/dist/esm/chunk-5FJU67BO.js.map +0 -1
- package/dist/esm/chunk-7BH6AYP7.js.map +0 -1
- package/dist/esm/chunk-HEYSMA5B.js +0 -38
- package/dist/esm/chunk-HEYSMA5B.js.map +0 -1
- package/dist/esm/chunk-L447Q33F.js +0 -199
- package/dist/esm/chunk-L447Q33F.js.map +0 -1
- package/dist/esm/chunk-O3MPFL5J.js +0 -47
- package/dist/esm/chunk-O3MPFL5J.js.map +0 -1
- package/dist/esm/chunk-SV5CKUNN.js.map +0 -1
- package/dist/esm/chunk-VGL4ZVNA.js.map +0 -1
- package/dist/esm/chunk-ZSWCICNO.js.map +0 -1
- package/dist/esm/chunk-ZUVYTTPD.js.map +0 -1
- package/dist/esm/chunk-ZXRDGIRP.js.map +0 -1
- package/dist/esm/services/utils/aggregate.common.d.ts +0 -10
- package/dist/esm/services/utils/aggregate.common.js +0 -9
- package/dist/esm/services/utils/fulfill.common.d.ts +0 -6
- package/dist/esm/services/utils/fulfill.common.js +0 -7
- package/dist/esm/services/utils/query.common.d.ts +0 -9
- package/dist/esm/services/utils/query.common.js +0 -8
- /package/dist/esm/{chunk-XXDILT4B.js.map → chunk-BPSW5UQU.js.map} +0 -0
- /package/dist/esm/{chunk-DBB7B4PV.js.map → chunk-G4TS67ZV.js.map} +0 -0
- /package/dist/esm/{chunk-D66QTWUY.js.map → chunk-IOQF3ABO.js.map} +0 -0
- /package/dist/esm/{chunk-VOMI5BAO.js.map → chunk-KGBFQHBY.js.map} +0 -0
- /package/dist/esm/{chunk-A3CKGK3U.js.map → chunk-MMD2RFKO.js.map} +0 -0
- /package/dist/esm/{chunk-SDABEZSA.js.map → chunk-NMLM2BMK.js.map} +0 -0
- /package/dist/esm/{chunk-R2R3AMCG.js.map → chunk-RCM6JTVK.js.map} +0 -0
- /package/dist/esm/{chunk-LLYDI3LD.js.map → chunk-S3MSSEHS.js.map} +0 -0
- /package/dist/esm/{chunk-3IG6HCSA.js.map → chunk-X7USCSP5.js.map} +0 -0
- /package/dist/esm/{chunk-MXPZHEDH.js.map → chunk-Z6RM6BGJ.js.map} +0 -0
- /package/dist/esm/{chunk-MZRZVF5Q.js.map → chunk-ZWCRXCQU.js.map} +0 -0
- /package/dist/esm/services/{utils/aggregate.common.js.map → pii.service.js.map} +0 -0
- /package/dist/esm/services/{utils/fulfill.common.js.map → prompts/aggregate.js.map} +0 -0
- /package/dist/esm/services/{utils/query.common.js.map → prompts/fulfill.js.map} +0 -0
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import {
|
|
2
|
+
multi_trigger_default
|
|
3
|
+
} from "./chunk-3CR3ZB6L.js";
|
|
4
|
+
import {
|
|
5
|
+
loggers
|
|
6
|
+
} from "./chunk-GHUEA7V5.js";
|
|
7
|
+
|
|
8
|
+
// src/services/intents/multi-trigger.service.ts
|
|
9
|
+
var MultiIntentTriggerService = class {
|
|
10
|
+
modelModule;
|
|
11
|
+
memoryModule;
|
|
12
|
+
constructor(modelModule, memoryModule) {
|
|
13
|
+
this.modelModule = modelModule;
|
|
14
|
+
this.memoryModule = memoryModule;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Detects multiple intents from context by decomposing queries into subqueries.
|
|
18
|
+
*
|
|
19
|
+
* @param query - The user's input query
|
|
20
|
+
* @param thread - The thread history
|
|
21
|
+
* @returns IntentTriggerResult containing intents and aggregation flag
|
|
22
|
+
*/
|
|
23
|
+
async intentTriggering(query, thread) {
|
|
24
|
+
const modelInstance = this.modelModule.getModel();
|
|
25
|
+
const modelOptions = this.modelModule.getModelOptions();
|
|
26
|
+
const intentMemory = this.memoryModule.getIntentMemory();
|
|
27
|
+
if (!intentMemory) {
|
|
28
|
+
return { intents: [{ subquery: query }], needsAggregation: false };
|
|
29
|
+
}
|
|
30
|
+
const intents = await intentMemory.listIntents();
|
|
31
|
+
if (intents.length === 0) {
|
|
32
|
+
loggers.intentStream.warn("No intent found");
|
|
33
|
+
return { intents: [{ subquery: query }], needsAggregation: false };
|
|
34
|
+
}
|
|
35
|
+
const intentList = intents.map((intent) => `- ${intent.name}: ${intent.description}`).join("\n");
|
|
36
|
+
const threadMessages = !thread ? "" : thread.messages.sort((a, b) => a.timestamp - b.timestamp).map((message) => {
|
|
37
|
+
const role = message.role === "USER" ? "User" : message.role === "MODEL" ? "Assistant" : "System";
|
|
38
|
+
const content = Array.isArray(message.content.parts) ? message.content.parts.join(" ") : String(message.content.parts);
|
|
39
|
+
return `${role}: """${content}"""`;
|
|
40
|
+
}).join("\n");
|
|
41
|
+
const systemPrompt = await multi_trigger_default(
|
|
42
|
+
this.memoryModule,
|
|
43
|
+
intentList
|
|
44
|
+
);
|
|
45
|
+
const triggerMessage = `
|
|
46
|
+
${threadMessages !== "" ? `
|
|
47
|
+
The following is the conversation history with the user:
|
|
48
|
+
${threadMessages}
|
|
49
|
+
|
|
50
|
+
` : ""}
|
|
51
|
+
Last user question: "${query}"
|
|
52
|
+
|
|
53
|
+
Based on the above conversation history, analyze the last user question and identify all relevant intents.
|
|
54
|
+
`;
|
|
55
|
+
const messages = modelInstance.generateMessages({
|
|
56
|
+
query: triggerMessage,
|
|
57
|
+
systemPrompt
|
|
58
|
+
});
|
|
59
|
+
const response = await modelInstance.fetch(messages, modelOptions);
|
|
60
|
+
if (!response.content) {
|
|
61
|
+
loggers.intent.warn("Cannot extract intent from query");
|
|
62
|
+
return { intents: [{ subquery: query }], needsAggregation: false };
|
|
63
|
+
}
|
|
64
|
+
let parsed;
|
|
65
|
+
try {
|
|
66
|
+
parsed = JSON.parse(response.content);
|
|
67
|
+
} catch (error) {
|
|
68
|
+
return { intents: [{ subquery: query }], needsAggregation: false };
|
|
69
|
+
}
|
|
70
|
+
const subqueries = parsed.subqueries ?? [];
|
|
71
|
+
const needsAggregation = parsed.needsAggregation ?? false;
|
|
72
|
+
const triggeredIntents = [];
|
|
73
|
+
for (const { subquery, intentName, actionPlan } of subqueries) {
|
|
74
|
+
if (!subquery) continue;
|
|
75
|
+
const item = { subquery, actionPlan };
|
|
76
|
+
if (intentName) {
|
|
77
|
+
item.intent = await intentMemory.getIntentByName(intentName);
|
|
78
|
+
}
|
|
79
|
+
triggeredIntents.push(item);
|
|
80
|
+
}
|
|
81
|
+
loggers.intent.info("Intent triggering result", {
|
|
82
|
+
intentCount: triggeredIntents.length,
|
|
83
|
+
needsAggregation
|
|
84
|
+
});
|
|
85
|
+
return { intents: triggeredIntents, needsAggregation };
|
|
86
|
+
}
|
|
87
|
+
};
|
|
88
|
+
|
|
89
|
+
export {
|
|
90
|
+
MultiIntentTriggerService
|
|
91
|
+
};
|
|
92
|
+
//# sourceMappingURL=chunk-DDSAK722.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/services/intents/multi-trigger.service.ts"],"sourcesContent":["import type { MemoryModule, ModelModule } from \"@/modules\";\nimport type {\n\tIntentTriggerResult,\n\tMessageObject,\n\tThreadObject,\n\tTriggeredIntent,\n} from \"@/types/memory\";\nimport { loggers } from \"@/utils/logger\";\nimport multiTriggerPrompt from \"../prompts/multi-trigger\";\n\n/**\n * Service for multi-intent triggering.\n * Decomposes queries into multiple subqueries and maps each to an intent.\n */\nexport class MultiIntentTriggerService {\n\tprivate modelModule: ModelModule;\n\tprivate memoryModule: MemoryModule;\n\n\tconstructor(modelModule: ModelModule, memoryModule: MemoryModule) {\n\t\tthis.modelModule = modelModule;\n\t\tthis.memoryModule = memoryModule;\n\t}\n\n\t/**\n\t * Detects multiple intents from context by decomposing queries into subqueries.\n\t *\n\t * @param query - The user's input query\n\t * @param thread - The thread history\n\t * @returns IntentTriggerResult containing intents and aggregation flag\n\t */\n\tpublic async intentTriggering(\n\t\tquery: string,\n\t\tthread: ThreadObject | undefined,\n\t): Promise<IntentTriggerResult> {\n\t\tconst modelInstance = this.modelModule.getModel();\n\t\tconst modelOptions = this.modelModule.getModelOptions();\n\t\tconst intentMemory = this.memoryModule.getIntentMemory();\n\t\tif (!intentMemory) {\n\t\t\treturn { intents: [{ subquery: query }], needsAggregation: false };\n\t\t}\n\n\t\t// 인텐트 목록 가져오기\n\t\tconst intents = await intentMemory.listIntents();\n\n\t\tif (intents.length === 0) {\n\t\t\tloggers.intentStream.warn(\"No intent found\");\n\t\t\treturn { intents: [{ subquery: query }], needsAggregation: false };\n\t\t}\n\n\t\tconst intentList = intents\n\t\t\t.map((intent) => `- ${intent.name}: ${intent.description}`)\n\t\t\t.join(\"\\n\");\n\n\t\t// Convert thread messages to a string\n\t\tconst threadMessages = !thread\n\t\t\t? \"\"\n\t\t\t: thread.messages\n\t\t\t\t\t.sort((a, b) => a.timestamp - b.timestamp)\n\t\t\t\t\t.map((message: MessageObject) => {\n\t\t\t\t\t\tconst role =\n\t\t\t\t\t\t\tmessage.role === \"USER\"\n\t\t\t\t\t\t\t\t? \"User\"\n\t\t\t\t\t\t\t\t: message.role === \"MODEL\"\n\t\t\t\t\t\t\t\t\t? \"Assistant\"\n\t\t\t\t\t\t\t\t\t: \"System\";\n\t\t\t\t\t\tconst content = Array.isArray(message.content.parts)\n\t\t\t\t\t\t\t? message.content.parts.join(\" \")\n\t\t\t\t\t\t\t: String(message.content.parts);\n\t\t\t\t\t\treturn `${role}: \"\"\"${content}\"\"\"`;\n\t\t\t\t\t})\n\t\t\t\t\t.join(\"\\n\");\n\n\t\tconst systemPrompt = await multiTriggerPrompt(\n\t\t\tthis.memoryModule,\n\t\t\tintentList,\n\t\t);\n\n\t\tconst triggerMessage = `\n${\n\tthreadMessages !== \"\"\n\t\t? `\nThe following is the conversation history with the user:\n${threadMessages}\n\n`\n\t\t: \"\"\n}\nLast user question: \"${query}\"\n\nBased on the above conversation history, analyze the last user question and identify all relevant intents.\n`;\n\n\t\tconst messages = modelInstance.generateMessages({\n\t\t\tquery: triggerMessage,\n\t\t\tsystemPrompt,\n\t\t});\n\n\t\tconst response = await modelInstance.fetch(messages, modelOptions);\n\t\tif (!response.content) {\n\t\t\tloggers.intent.warn(\"Cannot extract intent from query\");\n\t\t\treturn { intents: [{ subquery: query }], needsAggregation: false };\n\t\t}\n\n\t\tlet parsed: {\n\t\t\tneedsAggregation?: boolean;\n\t\t\tsubqueries?: Array<{\n\t\t\t\tsubquery?: string;\n\t\t\t\tintentName?: string;\n\t\t\t\tactionPlan?: string;\n\t\t\t}>;\n\t\t};\n\t\ttry {\n\t\t\tparsed = JSON.parse(response.content);\n\t\t} catch (error: unknown) {\n\t\t\treturn { intents: [{ subquery: query }], needsAggregation: false };\n\t\t}\n\n\t\tconst subqueries = parsed.subqueries ?? [];\n\t\tconst needsAggregation = parsed.needsAggregation ?? false;\n\n\t\tconst triggeredIntents: Array<TriggeredIntent> = [];\n\t\tfor (const { subquery, intentName, actionPlan } of subqueries) {\n\t\t\tif (!subquery) continue;\n\t\t\tconst item = { subquery, actionPlan } as TriggeredIntent;\n\t\t\tif (intentName) {\n\t\t\t\titem.intent = await intentMemory.getIntentByName(intentName);\n\t\t\t}\n\t\t\ttriggeredIntents.push(item);\n\t\t}\n\n\t\tloggers.intent.info(\"Intent triggering result\", {\n\t\t\tintentCount: triggeredIntents.length,\n\t\t\tneedsAggregation,\n\t\t});\n\n\t\treturn { intents: triggeredIntents, needsAggregation };\n\t}\n}\n"],"mappings":";;;;;;;;AAcO,IAAM,4BAAN,MAAgC;AAAA,EAC9B;AAAA,EACA;AAAA,EAER,YAAY,aAA0B,cAA4B;AACjE,SAAK,cAAc;AACnB,SAAK,eAAe;AAAA,EACrB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASA,MAAa,iBACZ,OACA,QAC+B;AAC/B,UAAM,gBAAgB,KAAK,YAAY,SAAS;AAChD,UAAM,eAAe,KAAK,YAAY,gBAAgB;AACtD,UAAM,eAAe,KAAK,aAAa,gBAAgB;AACvD,QAAI,CAAC,cAAc;AAClB,aAAO,EAAE,SAAS,CAAC,EAAE,UAAU,MAAM,CAAC,GAAG,kBAAkB,MAAM;AAAA,IAClE;AAGA,UAAM,UAAU,MAAM,aAAa,YAAY;AAE/C,QAAI,QAAQ,WAAW,GAAG;AACzB,cAAQ,aAAa,KAAK,iBAAiB;AAC3C,aAAO,EAAE,SAAS,CAAC,EAAE,UAAU,MAAM,CAAC,GAAG,kBAAkB,MAAM;AAAA,IAClE;AAEA,UAAM,aAAa,QACjB,IAAI,CAAC,WAAW,KAAK,OAAO,IAAI,KAAK,OAAO,WAAW,EAAE,EACzD,KAAK,IAAI;AAGX,UAAM,iBAAiB,CAAC,SACrB,KACA,OAAO,SACN,KAAK,CAAC,GAAG,MAAM,EAAE,YAAY,EAAE,SAAS,EACxC,IAAI,CAAC,YAA2B;AAChC,YAAM,OACL,QAAQ,SAAS,SACd,SACA,QAAQ,SAAS,UAChB,cACA;AACL,YAAM,UAAU,MAAM,QAAQ,QAAQ,QAAQ,KAAK,IAChD,QAAQ,QAAQ,MAAM,KAAK,GAAG,IAC9B,OAAO,QAAQ,QAAQ,KAAK;AAC/B,aAAO,GAAG,IAAI,QAAQ,OAAO;AAAA,IAC9B,CAAC,EACA,KAAK,IAAI;AAEb,UAAM,eAAe,MAAM;AAAA,MAC1B,KAAK;AAAA,MACL;AAAA,IACD;AAEA,UAAM,iBAAiB;AAAA,EAExB,mBAAmB,KAChB;AAAA;AAAA,EAEF,cAAc;AAAA;AAAA,IAGZ,EACJ;AAAA,uBACuB,KAAK;AAAA;AAAA;AAAA;AAK1B,UAAM,WAAW,cAAc,iBAAiB;AAAA,MAC/C,OAAO;AAAA,MACP;AAAA,IACD,CAAC;AAED,UAAM,WAAW,MAAM,cAAc,MAAM,UAAU,YAAY;AACjE,QAAI,CAAC,SAAS,SAAS;AACtB,cAAQ,OAAO,KAAK,kCAAkC;AACtD,aAAO,EAAE,SAAS,CAAC,EAAE,UAAU,MAAM,CAAC,GAAG,kBAAkB,MAAM;AAAA,IAClE;AAEA,QAAI;AAQJ,QAAI;AACH,eAAS,KAAK,MAAM,SAAS,OAAO;AAAA,IACrC,SAAS,OAAgB;AACxB,aAAO,EAAE,SAAS,CAAC,EAAE,UAAU,MAAM,CAAC,GAAG,kBAAkB,MAAM;AAAA,IAClE;AAEA,UAAM,aAAa,OAAO,cAAc,CAAC;AACzC,UAAM,mBAAmB,OAAO,oBAAoB;AAEpD,UAAM,mBAA2C,CAAC;AAClD,eAAW,EAAE,UAAU,YAAY,WAAW,KAAK,YAAY;AAC9D,UAAI,CAAC,SAAU;AACf,YAAM,OAAO,EAAE,UAAU,WAAW;AACpC,UAAI,YAAY;AACf,aAAK,SAAS,MAAM,aAAa,gBAAgB,UAAU;AAAA,MAC5D;AACA,uBAAiB,KAAK,IAAI;AAAA,IAC3B;AAEA,YAAQ,OAAO,KAAK,4BAA4B;AAAA,MAC/C,aAAa,iBAAiB;AAAA,MAC9B;AAAA,IACD,CAAC;AAED,WAAO,EAAE,SAAS,kBAAkB,iBAAiB;AAAA,EACtD;AACD;","names":[]}
|
|
@@ -86,7 +86,7 @@ var MCPModule = class {
|
|
|
86
86
|
*
|
|
87
87
|
* @returns Array of MCPTool instances representing available tools
|
|
88
88
|
*/
|
|
89
|
-
getTools() {
|
|
89
|
+
getTools(prompt) {
|
|
90
90
|
const allTools = [];
|
|
91
91
|
for (const conn of this.mcpConnectors.values()) {
|
|
92
92
|
for (const tool of conn.tools) {
|
|
@@ -97,7 +97,7 @@ var MCPModule = class {
|
|
|
97
97
|
};
|
|
98
98
|
finalInputSchema.properties["thinking_text"] = {
|
|
99
99
|
type: "string",
|
|
100
|
-
description:
|
|
100
|
+
description: prompt
|
|
101
101
|
};
|
|
102
102
|
finalInputSchema.required.push("thinking_text");
|
|
103
103
|
allTools.push({
|
|
@@ -157,4 +157,4 @@ ${typeof error === "string" ? error : JSON.stringify(error, null, 2)}`;
|
|
|
157
157
|
export {
|
|
158
158
|
MCPModule
|
|
159
159
|
};
|
|
160
|
-
//# sourceMappingURL=chunk-
|
|
160
|
+
//# sourceMappingURL=chunk-FWPJQG4N.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/modules/mcp/mcp.module.ts"],"sourcesContent":["import { Client as MCPClient } from \"@modelcontextprotocol/sdk/client/index.js\";\nimport { SSEClientTransport } from \"@modelcontextprotocol/sdk/client/sse.js\";\nimport { StdioClientTransport } from \"@modelcontextprotocol/sdk/client/stdio.js\";\nimport { StreamableHTTPClientTransport } from \"@modelcontextprotocol/sdk/client/streamableHttp.js\";\nimport { WebSocketClientTransport } from \"@modelcontextprotocol/sdk/client/websocket.js\";\nimport {\n\tCONNECTOR_PROTOCOL_TYPE,\n\ttype ConnectorTool,\n} from \"@/types/connector.js\";\nimport type { MCPConfig } from \"@/types/mcp.js\";\nimport { loggers } from \"@/utils/logger.js\";\nimport { MCPConnector } from \"./mcp.connector.js\";\n\n/**\n * Module for managing Model Context Protocol (MCP) server connections.\n *\n * This module handles the lifecycle of MCP client connections, discovers\n * available tools from connected servers, and provides an interface for\n * executing those tools. Multiple MCP servers can be connected simultaneously.\n */\nexport class MCPModule {\n\tprivate mcpConnectors: Map<string, MCPConnector> = new Map();\n\n\taddMCPConnector(configs: { [name: string]: MCPConfig }): void {\n\t\tfor (const [name, config] of Object.entries(configs)) {\n\t\t\tconst conn = new MCPConnector(name, config);\n\t\t\tthis.mcpConnectors.set(name, conn);\n\t\t}\n\t}\n\n\tprivate getOrCreateClient(connector: MCPConnector): MCPClient {\n\t\tconnector.client ??= new MCPClient({\n\t\t\tname: connector.name,\n\t\t\tversion: \"1.0.0\",\n\t\t});\n\t\treturn connector.client;\n\t}\n\n\tasync connectToServers(): Promise<void> {\n\t\tfor (const [name, conn] of this.mcpConnectors.entries()) {\n\t\t\ttry {\n\t\t\t\tconst mcpClient = this.getOrCreateClient(conn);\n\t\t\t\tconst config = conn.config;\n\t\t\t\tswitch (config.type) {\n\t\t\t\t\tcase \"stdio\": {\n\t\t\t\t\t\tconst transport = new StdioClientTransport(config.params);\n\t\t\t\t\t\tawait mcpClient.connect(transport);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tcase \"websocket\": {\n\t\t\t\t\t\tconst transport = new WebSocketClientTransport(config.url);\n\t\t\t\t\t\tawait mcpClient.connect(transport);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tcase \"sse\": {\n\t\t\t\t\t\tconst transport = new SSEClientTransport(\n\t\t\t\t\t\t\tconfig.url,\n\t\t\t\t\t\t\tconfig.options,\n\t\t\t\t\t\t);\n\t\t\t\t\t\tawait mcpClient.connect(transport);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tcase \"streamableHttp\": {\n\t\t\t\t\t\tconst transport = new StreamableHTTPClientTransport(\n\t\t\t\t\t\t\tconfig.url,\n\t\t\t\t\t\t\tconfig.options,\n\t\t\t\t\t\t);\n\t\t\t\t\t\tawait mcpClient.connect(transport);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tdefault:\n\t\t\t\t\t\t// This cannot happen.\n\t\t\t\t\t\tloggers.mcp.error(\"Unsupported MCP config type\");\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tconst toolList = await mcpClient.listTools();\n\t\t\t\tconn.tools = toolList.tools.map((tool) => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\ttoolName: `${name}-${tool.name}`, // to avoid tool name duplication\n\t\t\t\t\t\tconnectorName: name,\n\t\t\t\t\t\tprotocol: CONNECTOR_PROTOCOL_TYPE.MCP,\n\t\t\t\t\t\tdescription: tool.description,\n\t\t\t\t\t\tinputSchema: tool.inputSchema,\n\t\t\t\t\t};\n\t\t\t\t});\n\t\t\t\tloggers.mcp.info(\"Connected to MCP server with tools:\", {\n\t\t\t\t\ttools: conn.tools.map((tool) => tool.toolName),\n\t\t\t\t});\n\t\t\t} catch (error) {\n\t\t\t\tloggers.mcp.error(`Failed to connect to MCP server ${name}`, { error });\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Returns all available tools from connected MCP servers.\n\t *\n\t * @returns Array of MCPTool instances representing available tools\n\t */\n\tgetTools(prompt: string): Array<ConnectorTool> {\n\t\tconst allTools: Array<ConnectorTool> = [];\n\t\tfor (const conn of this.mcpConnectors.values()) {\n\t\t\tfor (const tool of conn.tools) {\n\t\t\t\t// add thinking_text inputSchema for each tool\n\t\t\t\tconst finalInputSchema: any = {\n\t\t\t\t\ttype: \"object\",\n\t\t\t\t\tproperties: { ...(tool.inputSchema?.properties || {}) },\n\t\t\t\t\trequired: [...(tool.inputSchema?.required || [])],\n\t\t\t\t};\n\n\t\t\t\tfinalInputSchema.properties[\"thinking_text\"] = {\n\t\t\t\t\ttype: \"string\",\n\t\t\t\t\tdescription: prompt,\n\t\t\t\t};\n\t\t\t\tfinalInputSchema.required.push(\"thinking_text\");\n\n\t\t\t\tallTools.push({\n\t\t\t\t\ttoolName: tool.toolName,\n\t\t\t\t\tconnectorName: tool.connectorName,\n\t\t\t\t\tprotocol: tool.protocol,\n\t\t\t\t\tdescription: tool.description,\n\t\t\t\t\tinputSchema: finalInputSchema,\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t\treturn allTools;\n\t}\n\n\t/**\n\t * Executes a tool on its corresponding MCP server.\n\t *\n\t * @param tool - The MCPTool instance to execute\n\t * @param _args - Arguments to pass to the tool\n\t * @returns Promise resolving to the tool's execution result\n\t * @throws Error if the MCP server for the tool is not found\n\t */\n\tasync useTool(tool: ConnectorTool, _args?: any): Promise<string> {\n\t\tconst { connectorName, toolName } = tool;\n\t\tconst client = this.mcpConnectors.get(connectorName)?.client;\n\n\t\ttry {\n\t\t\tif (!client) {\n\t\t\t\tthrow new Error(`Invalid MCP Tool ${toolName}`);\n\t\t\t}\n\n\t\t\t// `${name}-${tool.name}` => tool.name\n\t\t\tconst mcpToolName = toolName.slice(connectorName.length + 1);\n\t\t\tconst result = await client.callTool({\n\t\t\t\tname: mcpToolName,\n\t\t\t\targuments: _args,\n\t\t\t});\n\t\t\tconst toolResult =\n\t\t\t\t`[Bot Called Tool ${toolName} with args ${JSON.stringify(_args)}]\\n` +\n\t\t\t\tJSON.stringify(result.content, null, 2);\n\t\t\treturn toolResult;\n\t\t} catch (error) {\n\t\t\tloggers.mcp.error(\"Failed to call tool\", { error });\n\t\t\tconst toolResult = `[Bot Called Tool ${toolName} with args ${JSON.stringify(_args)}]\\n${typeof error === \"string\" ? error : JSON.stringify(error, null, 2)}`;\n\t\t\treturn toolResult;\n\t\t}\n\t}\n\n\t/**\n\t * Closes all MCP client connections.\n\t *\n\t * Should be called when shutting down the application to ensure\n\t * all MCP connections are properly closed.\n\t */\n\tasync cleanup() {\n\t\tfor (const conn of this.mcpConnectors.values()) {\n\t\t\tawait conn.client?.close();\n\t\t}\n\t}\n}\n"],"mappings":"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","names":[]}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import {
|
|
2
2
|
MultiIntentTriggerService
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-DDSAK722.js";
|
|
4
4
|
import {
|
|
5
5
|
SingleIntentTriggerService
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-CRQEBSRD.js";
|
|
7
7
|
|
|
8
8
|
// src/services/intents/trigger.service.ts
|
|
9
9
|
function isMultiIntentDisabled() {
|
|
@@ -42,4 +42,4 @@ var IntentTriggerService = class {
|
|
|
42
42
|
export {
|
|
43
43
|
IntentTriggerService
|
|
44
44
|
};
|
|
45
|
-
//# sourceMappingURL=chunk-
|
|
45
|
+
//# sourceMappingURL=chunk-G4TS67ZV.js.map
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
// src/services/prompts/generate-title.ts
|
|
2
|
+
async function generateTitlePrompt(memoryModule) {
|
|
3
|
+
const generateTitlePrompt2 = await memoryModule?.getAgentMemory()?.getGenerateTitlePrompt?.() || `Today is ${(/* @__PURE__ */ new Date()).toLocaleDateString()}.
|
|
4
|
+
You are a helpful assistant that generates titles for conversations.
|
|
5
|
+
Please analyze the user's query and create a concise title that accurately reflects the conversation's core topic.
|
|
6
|
+
The title must be no more than 5 words long.
|
|
7
|
+
Respond with only the title. Do not include any punctuation or extra explanations.
|
|
8
|
+
Always respond in the same language as the user's input.`;
|
|
9
|
+
return generateTitlePrompt2;
|
|
10
|
+
}
|
|
11
|
+
var generate_title_default = generateTitlePrompt;
|
|
12
|
+
|
|
13
|
+
export {
|
|
14
|
+
generate_title_default
|
|
15
|
+
};
|
|
16
|
+
//# sourceMappingURL=chunk-HSAGEBXJ.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/services/prompts/generate-title.ts"],"sourcesContent":["import type { MemoryModule } from \"@/modules\";\n\nasync function generateTitlePrompt(memoryModule: MemoryModule) {\n\tconst generateTitlePrompt =\n\t\t(await memoryModule?.getAgentMemory()?.getGenerateTitlePrompt?.()) ||\n\t\t`Today is ${new Date().toLocaleDateString()}.\nYou are a helpful assistant that generates titles for conversations.\nPlease analyze the user's query and create a concise title that accurately reflects the conversation's core topic.\nThe title must be no more than 5 words long.\nRespond with only the title. Do not include any punctuation or extra explanations.\nAlways respond in the same language as the user's input.`;\n\n\treturn generateTitlePrompt;\n}\n\nexport default generateTitlePrompt;\n"],"mappings":";AAEA,eAAe,oBAAoB,cAA4B;AAC9D,QAAMA,uBACJ,MAAM,cAAc,eAAe,GAAG,yBAAyB,KAChE,aAAY,oBAAI,KAAK,GAAE,mBAAmB,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAO5C,SAAOA;AACR;AAEA,IAAO,yBAAQ;","names":["generateTitlePrompt"]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
container
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-MMD2RFKO.js";
|
|
4
4
|
|
|
5
5
|
// src/routes/api/agent.routes.ts
|
|
6
6
|
import { Router } from "express";
|
|
@@ -14,4 +14,4 @@ var createAgentApiRouter = () => {
|
|
|
14
14
|
export {
|
|
15
15
|
createAgentApiRouter
|
|
16
16
|
};
|
|
17
|
-
//# sourceMappingURL=chunk-
|
|
17
|
+
//# sourceMappingURL=chunk-IOQF3ABO.js.map
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import {
|
|
2
|
+
pii_detect_default
|
|
3
|
+
} from "./chunk-OV4TR542.js";
|
|
4
|
+
import {
|
|
5
|
+
pii_filter_default
|
|
6
|
+
} from "./chunk-4D6KMRWQ.js";
|
|
7
|
+
import {
|
|
8
|
+
loggers
|
|
9
|
+
} from "./chunk-GHUEA7V5.js";
|
|
10
|
+
|
|
11
|
+
// src/services/pii.service.ts
|
|
12
|
+
var PIIFilterMode = /* @__PURE__ */ ((PIIFilterMode2) => {
|
|
13
|
+
PIIFilterMode2["REJECT"] = "reject";
|
|
14
|
+
PIIFilterMode2["MASK"] = "mask";
|
|
15
|
+
PIIFilterMode2["DISABLED"] = "disabled";
|
|
16
|
+
return PIIFilterMode2;
|
|
17
|
+
})(PIIFilterMode || {});
|
|
18
|
+
var PIIService = class {
|
|
19
|
+
modelModule;
|
|
20
|
+
memoryModule;
|
|
21
|
+
constructor(modelModule, memoryModule) {
|
|
22
|
+
this.modelModule = modelModule;
|
|
23
|
+
this.memoryModule = memoryModule;
|
|
24
|
+
}
|
|
25
|
+
getMode() {
|
|
26
|
+
const value = process.env.PII_FILTER_MODE?.toLowerCase();
|
|
27
|
+
if (value === "reject" /* REJECT */) return "reject" /* REJECT */;
|
|
28
|
+
if (value === "mask" /* MASK */) return "mask" /* MASK */;
|
|
29
|
+
return "disabled" /* DISABLED */;
|
|
30
|
+
}
|
|
31
|
+
isEnabled() {
|
|
32
|
+
return this.getMode() !== "disabled" /* DISABLED */;
|
|
33
|
+
}
|
|
34
|
+
async containsPII(text) {
|
|
35
|
+
if (!text.trim()) return false;
|
|
36
|
+
try {
|
|
37
|
+
const modelInstance = this.modelModule.getModel("pii-model");
|
|
38
|
+
const modelOptions = this.modelModule.getModelOptions();
|
|
39
|
+
const messages = modelInstance.generateMessages({
|
|
40
|
+
query: text,
|
|
41
|
+
systemPrompt: await pii_detect_default(this.memoryModule)
|
|
42
|
+
});
|
|
43
|
+
const response = await modelInstance.fetch(messages, modelOptions);
|
|
44
|
+
return response.content?.trim().toLowerCase() === "true";
|
|
45
|
+
} catch (error) {
|
|
46
|
+
loggers.intent.error("PII detection failed", { error });
|
|
47
|
+
return false;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
async filterText(text) {
|
|
51
|
+
if (!text.trim()) return text;
|
|
52
|
+
try {
|
|
53
|
+
const modelInstance = this.modelModule.getModel();
|
|
54
|
+
const modelOptions = this.modelModule.getModelOptions();
|
|
55
|
+
const messages = modelInstance.generateMessages({
|
|
56
|
+
query: text,
|
|
57
|
+
systemPrompt: await pii_filter_default(this.memoryModule)
|
|
58
|
+
});
|
|
59
|
+
const response = await modelInstance.fetch(messages, modelOptions);
|
|
60
|
+
return response.content || text;
|
|
61
|
+
} catch (error) {
|
|
62
|
+
loggers.intent.error("PII filtering failed, returning original text", {
|
|
63
|
+
error
|
|
64
|
+
});
|
|
65
|
+
return text;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
};
|
|
69
|
+
|
|
70
|
+
export {
|
|
71
|
+
PIIFilterMode,
|
|
72
|
+
PIIService
|
|
73
|
+
};
|
|
74
|
+
//# sourceMappingURL=chunk-IYLPCNEK.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/services/pii.service.ts"],"sourcesContent":["import type { MemoryModule, ModelModule } from \"@/modules/index.js\";\nimport { loggers } from \"@/utils/logger.js\";\nimport piiDetectPrompt from \"./prompts/pii-detect.js\";\nimport piiFilterPrompt from \"./prompts/pii-filter.js\";\n\nexport enum PIIFilterMode {\n\tREJECT = \"reject\",\n\tMASK = \"mask\",\n\tDISABLED = \"disabled\",\n}\n\nexport class PIIService {\n\tprivate modelModule: ModelModule;\n\tprivate memoryModule: MemoryModule;\n\n\tconstructor(modelModule: ModelModule, memoryModule: MemoryModule) {\n\t\tthis.modelModule = modelModule;\n\t\tthis.memoryModule = memoryModule;\n\t}\n\n\tgetMode(): PIIFilterMode {\n\t\tconst value = process.env.PII_FILTER_MODE?.toLowerCase();\n\t\tif (value === PIIFilterMode.REJECT) return PIIFilterMode.REJECT;\n\t\tif (value === PIIFilterMode.MASK) return PIIFilterMode.MASK;\n\t\treturn PIIFilterMode.DISABLED;\n\t}\n\n\tisEnabled(): boolean {\n\t\treturn this.getMode() !== PIIFilterMode.DISABLED;\n\t}\n\n\tasync containsPII(text: string): Promise<boolean> {\n\t\tif (!text.trim()) return false;\n\n\t\ttry {\n\t\t\tconst modelInstance = this.modelModule.getModel(\"pii-model\");\n\t\t\tconst modelOptions = this.modelModule.getModelOptions();\n\t\t\tconst messages = modelInstance.generateMessages({\n\t\t\t\tquery: text,\n\t\t\t\tsystemPrompt: await piiDetectPrompt(this.memoryModule),\n\t\t\t});\n\t\t\tconst response = await modelInstance.fetch(messages, modelOptions);\n\t\t\treturn response.content?.trim().toLowerCase() === \"true\";\n\t\t} catch (error) {\n\t\t\tloggers.intent.error(\"PII detection failed\", { error });\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tasync filterText(text: string): Promise<string> {\n\t\tif (!text.trim()) return text;\n\n\t\ttry {\n\t\t\tconst modelInstance = this.modelModule.getModel();\n\t\t\tconst modelOptions = this.modelModule.getModelOptions();\n\t\t\tconst messages = modelInstance.generateMessages({\n\t\t\t\tquery: text,\n\t\t\t\tsystemPrompt: await piiFilterPrompt(this.memoryModule),\n\t\t\t});\n\t\t\tconst response = await modelInstance.fetch(messages, modelOptions);\n\t\t\treturn response.content || text;\n\t\t} catch (error) {\n\t\t\tloggers.intent.error(\"PII filtering failed, returning original text\", {\n\t\t\t\terror,\n\t\t\t});\n\t\t\treturn text;\n\t\t}\n\t}\n}\n"],"mappings":";;;;;;;;;;;AAKO,IAAK,gBAAL,kBAAKA,mBAAL;AACN,EAAAA,eAAA,YAAS;AACT,EAAAA,eAAA,UAAO;AACP,EAAAA,eAAA,cAAW;AAHA,SAAAA;AAAA,GAAA;AAML,IAAM,aAAN,MAAiB;AAAA,EACf;AAAA,EACA;AAAA,EAER,YAAY,aAA0B,cAA4B;AACjE,SAAK,cAAc;AACnB,SAAK,eAAe;AAAA,EACrB;AAAA,EAEA,UAAyB;AACxB,UAAM,QAAQ,QAAQ,IAAI,iBAAiB,YAAY;AACvD,QAAI,UAAU,sBAAsB,QAAO;AAC3C,QAAI,UAAU,kBAAoB,QAAO;AACzC,WAAO;AAAA,EACR;AAAA,EAEA,YAAqB;AACpB,WAAO,KAAK,QAAQ,MAAM;AAAA,EAC3B;AAAA,EAEA,MAAM,YAAY,MAAgC;AACjD,QAAI,CAAC,KAAK,KAAK,EAAG,QAAO;AAEzB,QAAI;AACH,YAAM,gBAAgB,KAAK,YAAY,SAAS,WAAW;AAC3D,YAAM,eAAe,KAAK,YAAY,gBAAgB;AACtD,YAAM,WAAW,cAAc,iBAAiB;AAAA,QAC/C,OAAO;AAAA,QACP,cAAc,MAAM,mBAAgB,KAAK,YAAY;AAAA,MACtD,CAAC;AACD,YAAM,WAAW,MAAM,cAAc,MAAM,UAAU,YAAY;AACjE,aAAO,SAAS,SAAS,KAAK,EAAE,YAAY,MAAM;AAAA,IACnD,SAAS,OAAO;AACf,cAAQ,OAAO,MAAM,wBAAwB,EAAE,MAAM,CAAC;AACtD,aAAO;AAAA,IACR;AAAA,EACD;AAAA,EAEA,MAAM,WAAW,MAA+B;AAC/C,QAAI,CAAC,KAAK,KAAK,EAAG,QAAO;AAEzB,QAAI;AACH,YAAM,gBAAgB,KAAK,YAAY,SAAS;AAChD,YAAM,eAAe,KAAK,YAAY,gBAAgB;AACtD,YAAM,WAAW,cAAc,iBAAiB;AAAA,QAC/C,OAAO;AAAA,QACP,cAAc,MAAM,mBAAgB,KAAK,YAAY;AAAA,MACtD,CAAC;AACD,YAAM,WAAW,MAAM,cAAc,MAAM,UAAU,YAAY;AACjE,aAAO,SAAS,WAAW;AAAA,IAC5B,SAAS,OAAO;AACf,cAAQ,OAAO,MAAM,iDAAiD;AAAA,QACrE;AAAA,MACD,CAAC;AACD,aAAO;AAAA,IACR;AAAA,EACD;AACD;","names":["PIIFilterMode"]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
container
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-MMD2RFKO.js";
|
|
4
4
|
import {
|
|
5
5
|
AinHttpError
|
|
6
6
|
} from "./chunk-C5JXXLCW.js";
|
|
@@ -41,4 +41,4 @@ var createThreadApiRouter = () => {
|
|
|
41
41
|
export {
|
|
42
42
|
createThreadApiRouter
|
|
43
43
|
};
|
|
44
|
-
//# sourceMappingURL=chunk-
|
|
44
|
+
//# sourceMappingURL=chunk-KGBFQHBY.js.map
|
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
} from "./chunk-GKG27ZGB.js";
|
|
4
4
|
import {
|
|
5
5
|
ServiceContainer
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-5TIH6GI4.js";
|
|
7
7
|
|
|
8
8
|
// src/container/index.ts
|
|
9
9
|
var Container = class {
|
|
@@ -71,4 +71,4 @@ var container = new Container();
|
|
|
71
71
|
export {
|
|
72
72
|
container
|
|
73
73
|
};
|
|
74
|
-
//# sourceMappingURL=chunk-
|
|
74
|
+
//# sourceMappingURL=chunk-MMD2RFKO.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
container
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-MMD2RFKO.js";
|
|
4
4
|
|
|
5
5
|
// src/routes/query.routes.ts
|
|
6
6
|
import { Router } from "express";
|
|
@@ -15,4 +15,4 @@ var createQueryRouter = () => {
|
|
|
15
15
|
export {
|
|
16
16
|
createQueryRouter
|
|
17
17
|
};
|
|
18
|
-
//# sourceMappingURL=chunk-
|
|
18
|
+
//# sourceMappingURL=chunk-NMLM2BMK.js.map
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
// src/services/prompts/pii-detect.ts
|
|
2
|
+
async function piiDetectPrompt(memoryModule) {
|
|
3
|
+
const prompt = await memoryModule?.getAgentMemory()?.getPIIDetectPrompt?.() || `You are a PII (Personally Identifiable Information) detector.
|
|
4
|
+
Your task is to determine whether the given text contains any personal information.
|
|
5
|
+
|
|
6
|
+
PII includes: names, phone numbers, resident registration numbers, email addresses, physical addresses, credit card numbers, bank account numbers, passport numbers, driver's license numbers.
|
|
7
|
+
|
|
8
|
+
Rules:
|
|
9
|
+
- Respond with ONLY "true" or "false"
|
|
10
|
+
- "true" if the text contains any PII
|
|
11
|
+
- "false" if the text does not contain any PII
|
|
12
|
+
- Do NOT add any explanation or commentary
|
|
13
|
+
|
|
14
|
+
Examples:
|
|
15
|
+
- "\uD64D\uAE38\uB3D9\uC5D0\uAC8C \uC5F0\uB77D\uC8FC\uC138\uC694" \u2192 true
|
|
16
|
+
- "\uC804\uD654\uBC88\uD638\uB294 010-1234-5678\uC785\uB2C8\uB2E4" \u2192 true
|
|
17
|
+
- "\uC774\uBA54\uC77C: user@example.com" \u2192 true
|
|
18
|
+
- "\uC8FC\uBBFC\uBC88\uD638 900101-1234567" \u2192 true
|
|
19
|
+
- "\uC624\uB298 \uB0A0\uC528 \uC5B4\uB54C?" \u2192 false
|
|
20
|
+
- "No PII here" \u2192 false`;
|
|
21
|
+
return prompt;
|
|
22
|
+
}
|
|
23
|
+
var pii_detect_default = piiDetectPrompt;
|
|
24
|
+
|
|
25
|
+
export {
|
|
26
|
+
pii_detect_default
|
|
27
|
+
};
|
|
28
|
+
//# sourceMappingURL=chunk-OV4TR542.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/services/prompts/pii-detect.ts"],"sourcesContent":["import type { MemoryModule } from \"@/modules\";\n\nasync function piiDetectPrompt(memoryModule: MemoryModule) {\n\tconst prompt =\n\t\t(await memoryModule?.getAgentMemory()?.getPIIDetectPrompt?.()) ||\n\t\t`You are a PII (Personally Identifiable Information) detector.\nYour task is to determine whether the given text contains any personal information.\n\nPII includes: names, phone numbers, resident registration numbers, email addresses, physical addresses, credit card numbers, bank account numbers, passport numbers, driver's license numbers.\n\nRules:\n- Respond with ONLY \"true\" or \"false\"\n- \"true\" if the text contains any PII\n- \"false\" if the text does not contain any PII\n- Do NOT add any explanation or commentary\n\nExamples:\n- \"홍길동에게 연락주세요\" → true\n- \"전화번호는 010-1234-5678입니다\" → true\n- \"이메일: user@example.com\" → true\n- \"주민번호 900101-1234567\" → true\n- \"오늘 날씨 어때?\" → false\n- \"No PII here\" → false`;\n\n\treturn prompt;\n}\n\nexport default piiDetectPrompt;\n"],"mappings":";AAEA,eAAe,gBAAgB,cAA4B;AAC1D,QAAM,SACJ,MAAM,cAAc,eAAe,GAAG,qBAAqB,KAC5D;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAmBD,SAAO;AACR;AAEA,IAAO,qBAAQ;","names":[]}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import {
|
|
2
|
+
aggregate_default
|
|
3
|
+
} from "./chunk-WFYXNKCJ.js";
|
|
4
|
+
import {
|
|
5
|
+
getManifest
|
|
6
|
+
} from "./chunk-2J2TQRP4.js";
|
|
7
|
+
|
|
8
|
+
// src/services/intents/aggregate.service.ts
|
|
9
|
+
var AggregateService = class {
|
|
10
|
+
modelModule;
|
|
11
|
+
memoryModule;
|
|
12
|
+
constructor(modelModule, memoryModule) {
|
|
13
|
+
this.modelModule = modelModule;
|
|
14
|
+
this.memoryModule = memoryModule;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Generates a unified response combining all results (always aggregates).
|
|
18
|
+
* Use this when needsAggregation is already determined to be true.
|
|
19
|
+
*
|
|
20
|
+
* @param originalQuery - The user's original query
|
|
21
|
+
* @param results - Array of fulfillment results from each intent
|
|
22
|
+
* @returns AsyncGenerator yielding StreamEvent objects
|
|
23
|
+
*/
|
|
24
|
+
async *aggregate(originalQuery, results) {
|
|
25
|
+
if (results.length <= 1) {
|
|
26
|
+
const response = results[0]?.response ?? "";
|
|
27
|
+
if (response) {
|
|
28
|
+
yield {
|
|
29
|
+
event: "text_chunk",
|
|
30
|
+
data: { delta: response }
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
yield {
|
|
36
|
+
event: "thinking_process",
|
|
37
|
+
data: {
|
|
38
|
+
title: `[${getManifest().name}] \uC751\uB2F5 \uD1B5\uD569 \uC911`,
|
|
39
|
+
description: "\uC5EC\uB7EC \uC791\uC5C5 \uACB0\uACFC\uB97C \uD558\uB098\uC758 \uC751\uB2F5\uC73C\uB85C \uD1B5\uD569\uD569\uB2C8\uB2E4."
|
|
40
|
+
}
|
|
41
|
+
};
|
|
42
|
+
yield* this.generateAggregatedResponse(originalQuery, results);
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Generates a unified response by streaming from the model.
|
|
46
|
+
*/
|
|
47
|
+
async *generateAggregatedResponse(originalQuery, results) {
|
|
48
|
+
const modelInstance = this.modelModule.getModel();
|
|
49
|
+
const modelOptions = this.modelModule.getModelOptions();
|
|
50
|
+
const query = this.buildAggregateQuery(originalQuery, results);
|
|
51
|
+
const emptyThread = {
|
|
52
|
+
messages: [],
|
|
53
|
+
userId: "",
|
|
54
|
+
threadId: "",
|
|
55
|
+
type: "CHAT",
|
|
56
|
+
title: ""
|
|
57
|
+
};
|
|
58
|
+
const messages = modelInstance.generateMessages({
|
|
59
|
+
query,
|
|
60
|
+
thread: emptyThread,
|
|
61
|
+
systemPrompt: await aggregate_default(this.memoryModule)
|
|
62
|
+
});
|
|
63
|
+
const stream = await modelInstance.fetchStreamWithContextMessage(
|
|
64
|
+
messages,
|
|
65
|
+
[],
|
|
66
|
+
modelOptions
|
|
67
|
+
);
|
|
68
|
+
for await (const chunk of stream) {
|
|
69
|
+
if (chunk.delta?.content) {
|
|
70
|
+
yield {
|
|
71
|
+
event: "text_chunk",
|
|
72
|
+
data: { delta: chunk.delta.content }
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Builds the query for generating an aggregated response.
|
|
79
|
+
*/
|
|
80
|
+
buildAggregateQuery(originalQuery, results) {
|
|
81
|
+
const resultsText = results.map(
|
|
82
|
+
(r, i) => `[Task ${i + 1}] ${r.subquery}
|
|
83
|
+
[Response ${i + 1}] ${r.response}`
|
|
84
|
+
).join("\n\n---\n\n");
|
|
85
|
+
return `Original Query: ${originalQuery}
|
|
86
|
+
|
|
87
|
+
All task results:
|
|
88
|
+
${resultsText}
|
|
89
|
+
|
|
90
|
+
Please provide a unified response that addresses the original query.`;
|
|
91
|
+
}
|
|
92
|
+
};
|
|
93
|
+
|
|
94
|
+
export {
|
|
95
|
+
AggregateService
|
|
96
|
+
};
|
|
97
|
+
//# sourceMappingURL=chunk-QMAVALRZ.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/services/intents/aggregate.service.ts"],"sourcesContent":["import { getManifest } from \"@/config/manifest\";\nimport type { MemoryModule, ModelModule } from \"@/modules\";\nimport type { FulfillmentResult, ThreadType } from \"@/types/memory\";\nimport type { StreamEvent } from \"@/types/stream\";\nimport aggregatePrompts from \"../prompts/aggregate\";\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\tprivate memoryModule: MemoryModule;\n\n\tconstructor(modelModule: ModelModule, memoryModule: MemoryModule) {\n\t\tthis.modelModule = modelModule;\n\t\tthis.memoryModule = memoryModule;\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 * 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 query = this.buildAggregateQuery(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,\n\t\t\tthread: emptyThread,\n\t\t\tsystemPrompt: await aggregatePrompts(this.memoryModule),\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 query for generating an aggregated response.\n\t */\n\tprivate buildAggregateQuery(\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"],"mappings":";;;;;;;;AAUO,IAAM,mBAAN,MAAuB;AAAA,EACrB;AAAA,EACA;AAAA,EAER,YAAY,aAA0B,cAA4B;AACjE,SAAK,cAAc;AACnB,SAAK,eAAe;AAAA,EACrB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUA,OAAc,UACb,eACA,SAC8B;AAE9B,QAAI,QAAQ,UAAU,GAAG;AACxB,YAAM,WAAW,QAAQ,CAAC,GAAG,YAAY;AACzC,UAAI,UAAU;AACb,cAAM;AAAA,UACL,OAAO;AAAA,UACP,MAAM,EAAE,OAAO,SAAS;AAAA,QACzB;AAAA,MACD;AACA;AAAA,IACD;AAGA,UAAM;AAAA,MACL,OAAO;AAAA,MACP,MAAM;AAAA,QACL,OAAO,IAAI,YAAY,EAAE,IAAI;AAAA,QAC7B,aAAa;AAAA,MACd;AAAA,IACD;AAGA,WAAO,KAAK,2BAA2B,eAAe,OAAO;AAAA,EAC9D;AAAA;AAAA;AAAA;AAAA,EAKA,OAAe,2BACd,eACA,SAC8B;AAC9B,UAAM,gBAAgB,KAAK,YAAY,SAAS;AAChD,UAAM,eAAe,KAAK,YAAY,gBAAgB;AAEtD,UAAM,QAAQ,KAAK,oBAAoB,eAAe,OAAO;AAE7D,UAAM,cAAc;AAAA,MACnB,UAAU,CAAC;AAAA,MACX,QAAQ;AAAA,MACR,UAAU;AAAA,MACV,MAAM;AAAA,MACN,OAAO;AAAA,IACR;AAEA,UAAM,WAAW,cAAc,iBAAiB;AAAA,MAC/C;AAAA,MACA,QAAQ;AAAA,MACR,cAAc,MAAM,kBAAiB,KAAK,YAAY;AAAA,IACvD,CAAC;AAED,UAAM,SAAS,MAAM,cAAc;AAAA,MAClC;AAAA,MACA,CAAC;AAAA,MACD;AAAA,IACD;AAEA,qBAAiB,SAAS,QAAQ;AACjC,UAAI,MAAM,OAAO,SAAS;AACzB,cAAM;AAAA,UACL,OAAO;AAAA,UACP,MAAM,EAAE,OAAO,MAAM,MAAM,QAAQ;AAAA,QACpC;AAAA,MACD;AAAA,IACD;AAAA,EACD;AAAA;AAAA;AAAA;AAAA,EAKQ,oBACP,eACA,SACS;AACT,UAAM,cAAc,QAClB;AAAA,MACA,CAAC,GAAG,MACH,SAAS,IAAI,CAAC,KAAK,EAAE,QAAQ;AAAA,YAAe,IAAI,CAAC,KAAK,EAAE,QAAQ;AAAA,IAClE,EACC,KAAK,aAAa;AAEpB,WAAO,mBAAmB,aAAa;AAAA;AAAA;AAAA,EAGvC,WAAW;AAAA;AAAA;AAAA,EAGZ;AACD;","names":[]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
container
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-MMD2RFKO.js";
|
|
4
4
|
|
|
5
5
|
// src/routes/intent.routes.ts
|
|
6
6
|
import { Router } from "express";
|
|
@@ -14,4 +14,4 @@ var createIntentRouter = () => {
|
|
|
14
14
|
export {
|
|
15
15
|
createIntentRouter
|
|
16
16
|
};
|
|
17
|
-
//# sourceMappingURL=chunk-
|
|
17
|
+
//# sourceMappingURL=chunk-RCM6JTVK.js.map
|
|
@@ -47,7 +47,7 @@ var A2AModule = class {
|
|
|
47
47
|
*
|
|
48
48
|
* @returns Promise resolving to array of available A2A tools
|
|
49
49
|
*/
|
|
50
|
-
async getTools() {
|
|
50
|
+
async getTools(prompt) {
|
|
51
51
|
const tools = [];
|
|
52
52
|
for (const [name, conn] of this.a2aConnectors.entries()) {
|
|
53
53
|
if (!conn.enabled) {
|
|
@@ -67,7 +67,7 @@ var A2AModule = class {
|
|
|
67
67
|
properties: {
|
|
68
68
|
thinking_text: {
|
|
69
69
|
type: "string",
|
|
70
|
-
description:
|
|
70
|
+
description: prompt
|
|
71
71
|
}
|
|
72
72
|
},
|
|
73
73
|
required: ["thinking_text"]
|
|
@@ -196,4 +196,4 @@ ${finalText.join("\n")}`;
|
|
|
196
196
|
export {
|
|
197
197
|
A2AModule
|
|
198
198
|
};
|
|
199
|
-
//# sourceMappingURL=chunk-
|
|
199
|
+
//# sourceMappingURL=chunk-RYEA7EL2.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/modules/a2a/a2a.module.ts"],"sourcesContent":["import { randomUUID } from \"node:crypto\";\nimport type {\n\tAgentCard,\n\tMessage,\n\tMessageSendParams,\n\tTask,\n\tTaskStatusUpdateEvent,\n\tTextPart,\n} from \"@a2a-js/sdk\";\nimport { type Client as A2AClient, ClientFactory } from \"@a2a-js/sdk/client\";\nimport {\n\tCONNECTOR_PROTOCOL_TYPE,\n\ttype ConnectorTool,\n} from \"@/types/connector.js\";\nimport { ThreadType } from \"@/types/memory.js\";\nimport type { StreamEvent } from \"@/types/stream.js\";\nimport { loggers } from \"@/utils/logger.js\";\nimport { A2AConnector } from \"./a2a.connector.js\";\n\n/**\n * Module for managing Agent-to-Agent (A2A) protocol connections.\n *\n * This module handles connections to other A2A-compatible agents, manages\n * conversation sessions, and provides an interface for inter-agent communication.\n * Supports multi-turn conversations with task and context tracking.\n */\nexport class A2AModule {\n\t/** Map of A2A server URLs to their corresponding tool instances */\n\tprivate a2aConnectors: Map<string, A2AConnector> = new Map();\n\t/** Map of session IDs to their A2A session state */\n\tprivate a2aTasks: Map<string, string> = new Map();\n\tprivate agentId: string = randomUUID(); /* FIXME */\n\n\t/**\n\t * Registers a new A2A peer server URL for connection.\n\t *\n\t * @param conns - Set of name, url pair\n\t */\n\tpublic async addA2AConnector(conns: {\n\t\t[name: string]: string;\n\t}): Promise<void> {\n\t\tfor (const [name, url] of Object.entries(conns)) {\n\t\t\tconst conn = new A2AConnector(name, url);\n\t\t\tthis.a2aConnectors.set(name, conn);\n\t\t}\n\t}\n\n\tpublic getA2AConnectors(): Array<{ name: string; url: string }> {\n\t\tconst connectors: Array<{ name: string; url: string }> = [];\n\t\tfor (const [name, connector] of this.a2aConnectors.entries()) {\n\t\t\tconnectors.push({ name, url: connector.url });\n\t\t}\n\t\treturn connectors;\n\t}\n\n\tprivate async getOrCreateClient(connector: A2AConnector): Promise<A2AClient> {\n\t\tif (!connector.client) {\n\t\t\tconnector.client = await new ClientFactory().createFromUrl(connector.url);\n\t\t}\n\t\treturn connector.client;\n\t}\n\n\t/**\n\t * Retrieves tools from all registered A2A peer servers.\n\t *\n\t * Attempts to connect to each registered server, fetch their agent cards,\n\t * and create tool instances. Disables tools for unreachable servers.\n\t *\n\t * @returns Promise resolving to array of available A2A tools\n\t */\n\tpublic async getTools(prompt: string): Promise<ConnectorTool[]> {\n\t\tconst tools: ConnectorTool[] = [];\n\t\tfor (const [name, conn] of this.a2aConnectors.entries()) {\n\t\t\tif (!conn.enabled) {\n\t\t\t\tcontinue; // skip disabled agent\n\t\t\t}\n\n\t\t\ttry {\n\t\t\t\tconst client = await this.getOrCreateClient(conn);\n\t\t\t\tconst card: AgentCard = await client.getAgentCard();\n\t\t\t\t/* TODO: add each skill as tool? */\n\t\t\t\tconst tool: ConnectorTool = {\n\t\t\t\t\ttoolName: card.name.replaceAll(\" \", \"-\"),\n\t\t\t\t\tconnectorName: name,\n\t\t\t\t\tprotocol: CONNECTOR_PROTOCOL_TYPE.A2A,\n\t\t\t\t\tdescription: card.description,\n\t\t\t\t\t// add thinking_text inputSchema\n\t\t\t\t\tinputSchema: {\n\t\t\t\t\t\ttype: \"object\",\n\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\tthinking_text: {\n\t\t\t\t\t\t\t\ttype: \"string\",\n\t\t\t\t\t\t\t\tdescription: prompt,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\trequired: [\"thinking_text\"],\n\t\t\t\t\t},\n\t\t\t\t};\n\n\t\t\t\ttools.push(tool);\n\t\t\t} catch (_error: any) {\n\t\t\t\t// Agent not responded, just skip\n\t\t\t}\n\t\t}\n\t\treturn tools;\n\t}\n\n\t/**\n\t * Constructs a message payload for A2A communication.\n\t *\n\t * Includes session context (task ID and context ID) if available\n\t * for maintaining conversation continuity.\n\t *\n\t * @param query - The message content to send\n\t * @param threadId - The session identifier\n\t * @returns Formatted Message object for A2A protocol\n\t */\n\tpublic getMessagePayload(query: string, threadId: string): Message {\n\t\tconst messagePayload: Message = {\n\t\t\tmessageId: randomUUID(),\n\t\t\tkind: \"message\",\n\t\t\trole: \"user\", // FIXME: it could be 'agent'\n\t\t\tmetadata: {\n\t\t\t\tagentId: this.agentId,\n\t\t\t\ttype: ThreadType.CHAT,\n\t\t\t},\n\t\t\tparts: [\n\t\t\t\t{\n\t\t\t\t\tkind: \"text\",\n\t\t\t\t\ttext: query,\n\t\t\t\t},\n\t\t\t],\n\t\t\tcontextId: threadId,\n\t\t};\n\n\t\tif (this.a2aTasks.has(threadId)) {\n\t\t\tmessagePayload.taskId = this.a2aTasks.get(threadId);\n\t\t}\n\n\t\treturn messagePayload;\n\t}\n\n\t/**\n\t * Executes an A2A tool by sending a message to the remote agent.\n\t *\n\t * Handles streaming responses, maintains session state, and extracts\n\t * text content from various event types in the response stream.\n\t *\n\t * @param tool - The A2ATool instance to use\n\t * @param query - The message to send to the agent\n\t * @param threadId - The session identifier for context tracking\n\t * @yields StreamEvent objects for intermediate events\n\t * @returns Final text response from the agent\n\t */\n\tpublic async *useTool(\n\t\ttool: ConnectorTool,\n\t\tquery: string,\n\t\tthreadId: string,\n\t): AsyncGenerator<StreamEvent, string, unknown> {\n\t\tconst finalText: string[] = [];\n\t\tconst connector = this.a2aConnectors.get(tool.connectorName);\n\t\tif (!connector) {\n\t\t\tloggers.a2a.error(\"Unknown agent:\", { tool });\n\t\t\tconst toolResult = `[Bot Called A2A Tool ${tool.connectorName}]\\n\"Unknown agent connector\"`;\n\t\t\treturn toolResult;\n\t\t}\n\n\t\tconst messagePayload = this.getMessagePayload(query, threadId);\n\t\tconst params: MessageSendParams = {\n\t\t\tmessage: messagePayload,\n\t\t};\n\n\t\ttry {\n\t\t\tconst client = await this.getOrCreateClient(connector);\n\t\t\tconst stream = client.sendMessageStream(params);\n\t\t\tfor await (const event of stream) {\n\t\t\t\tif (event.kind === \"status-update\") {\n\t\t\t\t\tconst typedEvent = event as TaskStatusUpdateEvent;\n\t\t\t\t\tif (\n\t\t\t\t\t\ttypedEvent.final &&\n\t\t\t\t\t\ttypedEvent.status.state !== \"input-required\"\n\t\t\t\t\t) {\n\t\t\t\t\t\tthis.a2aTasks.delete(threadId);\n\t\t\t\t\t}\n\n\t\t\t\t\tif (typedEvent.status.state === \"working\") {\n\t\t\t\t\t\t// thinking process event\n\t\t\t\t\t\tconst eventData = JSON.parse(\n\t\t\t\t\t\t\t(typedEvent.status.message?.parts[0] as TextPart).text,\n\t\t\t\t\t\t);\n\t\t\t\t\t\tyield {\n\t\t\t\t\t\t\tevent: \"thinking_process\",\n\t\t\t\t\t\t\tdata: eventData,\n\t\t\t\t\t\t};\n\t\t\t\t\t} else if (typedEvent.status.state === \"completed\") {\n\t\t\t\t\t\t// TODO: handle 'file', 'data' parts\n\t\t\t\t\t\tconst texts = typedEvent.status.message?.parts\n\t\t\t\t\t\t\t.filter((part) => part.kind === \"text\")\n\t\t\t\t\t\t\t.map((part: TextPart) => part.text)\n\t\t\t\t\t\t\t.join(\"\\n\");\n\t\t\t\t\t\tif (texts) {\n\t\t\t\t\t\t\tfinalText.push(texts);\n\t\t\t\t\t\t\tyield {\n\t\t\t\t\t\t\t\tevent: \"text_chunk\",\n\t\t\t\t\t\t\t\tdata: { delta: texts },\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// ignore other status updates\n\t\t\t\t\t}\n\t\t\t\t} else if (event.kind === \"message\") {\n\t\t\t\t\t// FIXME: handling text in 'message'?\n\t\t\t\t\tconst msg = event as Message;\n\t\t\t\t\tconst taskId = this.a2aTasks.get(threadId);\n\t\t\t\t\tif (msg.taskId && msg.taskId !== taskId) {\n\t\t\t\t\t\tthis.a2aTasks.set(threadId, msg.taskId);\n\t\t\t\t\t}\n\t\t\t\t} else if (event.kind === \"task\") {\n\t\t\t\t\t// establishing the Task ID\n\t\t\t\t\tconst task = event as Task;\n\t\t\t\t\tif (task.id !== this.a2aTasks.get(threadId)) {\n\t\t\t\t\t\tthis.a2aTasks.set(threadId, task.id);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tloggers.a2a.warn(\"Received unknown event structure from stream:\", {\n\t\t\t\t\t\tevent,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t} catch (error) {\n\t\t\tloggers.a2a.error(\"Error communicating with agent:\", { error });\n\t\t\tconst toolResult = `[Bot Called A2A Tool ${tool.toolName}]\\n${typeof error === \"string\" ? error : JSON.stringify(error, null, 2)}`;\n\t\t\treturn toolResult;\n\t\t}\n\n\t\treturn `[Bot Called A2A Tool ${tool.toolName}]\\n${finalText.join(\"\\n\")}`;\n\t}\n}\n"],"mappings":"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","names":[]}
|
|
@@ -6,7 +6,7 @@ import {
|
|
|
6
6
|
} from "./chunk-VBK4WM2M.js";
|
|
7
7
|
import {
|
|
8
8
|
container
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-MMD2RFKO.js";
|
|
10
10
|
|
|
11
11
|
// src/routes/a2a.routes.ts
|
|
12
12
|
import { InMemoryTaskStore } from "@a2a-js/sdk/server";
|
|
@@ -26,4 +26,4 @@ var createA2ARouter = () => {
|
|
|
26
26
|
export {
|
|
27
27
|
createA2ARouter
|
|
28
28
|
};
|
|
29
|
-
//# sourceMappingURL=chunk-
|
|
29
|
+
//# sourceMappingURL=chunk-S3MSSEHS.js.map
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
// src/services/prompts/aggregate.ts
|
|
2
|
+
async function aggregatePrompt(memoryModule) {
|
|
3
|
+
const aggregatePrompt2 = await memoryModule?.getAgentMemory()?.getAggregatePrompt?.() || `You are an assistant that combines multiple task responses into a single, coherent response.
|
|
4
|
+
|
|
5
|
+
Guidelines:
|
|
6
|
+
- Preserve all important information from each response
|
|
7
|
+
- Create a natural, flowing response that addresses the original query
|
|
8
|
+
- Don't use section headers like "[Task 1]" - integrate smoothly
|
|
9
|
+
- If responses have related information, synthesize them logically
|
|
10
|
+
- Keep the tone consistent with the original responses
|
|
11
|
+
- Be concise - don't add unnecessary filler
|
|
12
|
+
- Respond in the same language as the original query`;
|
|
13
|
+
return aggregatePrompt2;
|
|
14
|
+
}
|
|
15
|
+
var aggregate_default = aggregatePrompt;
|
|
16
|
+
|
|
17
|
+
export {
|
|
18
|
+
aggregate_default
|
|
19
|
+
};
|
|
20
|
+
//# sourceMappingURL=chunk-WFYXNKCJ.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/services/prompts/aggregate.ts"],"sourcesContent":["import type { MemoryModule } from \"@/modules\";\n\nasync function aggregatePrompt(memoryModule: MemoryModule) {\n\tconst aggregatePrompt =\n\t\t(await memoryModule?.getAgentMemory()?.getAggregatePrompt?.()) ||\n\t\t`You are an assistant that combines multiple task responses into a single, coherent response.\n\nGuidelines:\n- Preserve all important information from each response\n- Create a natural, flowing response that addresses the original query\n- Don't use section headers like \"[Task 1]\" - integrate smoothly\n- If responses have related information, synthesize them logically\n- Keep the tone consistent with the original responses\n- Be concise - don't add unnecessary filler\n- Respond in the same language as the original query`;\n\n\treturn aggregatePrompt;\n}\n\nexport default aggregatePrompt;\n"],"mappings":";AAEA,eAAe,gBAAgB,cAA4B;AAC1D,QAAMA,mBACJ,MAAM,cAAc,eAAe,GAAG,qBAAqB,KAC5D;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAWD,SAAOA;AACR;AAEA,IAAO,oBAAQ;","names":["aggregatePrompt"]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
container
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-MMD2RFKO.js";
|
|
4
4
|
import {
|
|
5
5
|
AinHttpError
|
|
6
6
|
} from "./chunk-C5JXXLCW.js";
|
|
@@ -59,4 +59,4 @@ var createWorkflowApiRouter = () => {
|
|
|
59
59
|
export {
|
|
60
60
|
createWorkflowApiRouter
|
|
61
61
|
};
|
|
62
|
-
//# sourceMappingURL=chunk-
|
|
62
|
+
//# sourceMappingURL=chunk-X7USCSP5.js.map
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
// src/services/prompts/single-trigger.ts
|
|
2
|
+
async function singleTriggerPrompt(memoryModule, intentList) {
|
|
3
|
+
const singleTriggerPrompt2 = await memoryModule?.getAgentMemory()?.getSingleTriggerPrompt?.() || `Instructions:
|
|
4
|
+
1. Select the single most appropriate intent from the available intent list
|
|
5
|
+
2. If no intent matches well, do not set intentName
|
|
6
|
+
3. Provide a 2-3 sentence action plan describing what will be done
|
|
7
|
+
`;
|
|
8
|
+
return `
|
|
9
|
+
Today is ${(/* @__PURE__ */ new Date()).toLocaleDateString()}.
|
|
10
|
+
|
|
11
|
+
${singleTriggerPrompt2}
|
|
12
|
+
|
|
13
|
+
Output Format:
|
|
14
|
+
You MUST return the output in the following JSON format. Do not include any other text before or after the JSON:
|
|
15
|
+
{
|
|
16
|
+
"intentName": "<intent_name or null>",
|
|
17
|
+
"actionPlan": "<2-3 sentence description of what will be done>"
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
Available intent list:
|
|
21
|
+
${intentList}
|
|
22
|
+
`;
|
|
23
|
+
}
|
|
24
|
+
var single_trigger_default = singleTriggerPrompt;
|
|
25
|
+
|
|
26
|
+
export {
|
|
27
|
+
single_trigger_default
|
|
28
|
+
};
|
|
29
|
+
//# sourceMappingURL=chunk-XQUENGL4.js.map
|