@ainetwork/adk 0.3.2 → 0.3.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +62 -29
- package/dist/cjs/{chunk-RCOESZIX.cjs → chunk-3COIZ4H5.cjs} +5 -5
- package/dist/cjs/chunk-3COIZ4H5.cjs.map +1 -0
- package/dist/cjs/chunk-4VIZ52C2.cjs +37 -0
- package/dist/cjs/chunk-4VIZ52C2.cjs.map +1 -0
- package/dist/cjs/{chunk-X46GJS7X.cjs → chunk-4ZTPNV3C.cjs} +4 -4
- package/dist/cjs/chunk-4ZTPNV3C.cjs.map +1 -0
- package/dist/cjs/{chunk-A2I7D6JW.cjs → chunk-6HUEBFXL.cjs} +1 -1
- package/dist/cjs/{chunk-A2I7D6JW.cjs.map → chunk-6HUEBFXL.cjs.map} +1 -1
- package/dist/cjs/{chunk-EA3YMPST.cjs → chunk-6JO4LWIY.cjs} +7 -14
- package/dist/cjs/chunk-6JO4LWIY.cjs.map +1 -0
- package/dist/cjs/{chunk-NEWJ7PXH.cjs → chunk-7E3A6PCO.cjs} +9 -8
- package/dist/cjs/chunk-7E3A6PCO.cjs.map +1 -0
- package/dist/cjs/chunk-7XYVRO76.cjs +68 -0
- package/dist/cjs/chunk-7XYVRO76.cjs.map +1 -0
- package/dist/cjs/chunk-AQGJBXBU.cjs +8 -0
- package/dist/cjs/chunk-AQGJBXBU.cjs.map +1 -0
- package/dist/cjs/chunk-CHREGFB3.cjs +38 -0
- package/dist/cjs/chunk-CHREGFB3.cjs.map +1 -0
- package/dist/cjs/chunk-CKZDAQBG.cjs +17 -0
- package/dist/cjs/chunk-CKZDAQBG.cjs.map +1 -0
- package/dist/cjs/chunk-EQWAVDJY.cjs +47 -0
- package/dist/cjs/chunk-EQWAVDJY.cjs.map +1 -0
- package/dist/cjs/{chunk-5FZ7QLJD.cjs → chunk-EUNCRF3F.cjs} +4 -4
- package/dist/cjs/chunk-EUNCRF3F.cjs.map +1 -0
- package/dist/cjs/chunk-FLPLVYXQ.cjs +45 -0
- package/dist/cjs/chunk-FLPLVYXQ.cjs.map +1 -0
- package/dist/cjs/chunk-GA6NTHXB.cjs +17 -0
- package/dist/cjs/chunk-GA6NTHXB.cjs.map +1 -0
- package/dist/cjs/{chunk-NNYPZA6W.cjs → chunk-HDF5WQFQ.cjs} +31 -26
- package/dist/cjs/chunk-HDF5WQFQ.cjs.map +1 -0
- package/dist/cjs/{chunk-YCTPMLZO.cjs → chunk-HVNTK4O7.cjs} +12 -8
- package/dist/cjs/chunk-HVNTK4O7.cjs.map +1 -0
- package/dist/cjs/chunk-I72VEOEC.cjs +62 -0
- package/dist/cjs/chunk-I72VEOEC.cjs.map +1 -0
- package/dist/cjs/{chunk-OZPPTVUA.cjs → chunk-IP6P2TQM.cjs} +121 -37
- package/dist/cjs/chunk-IP6P2TQM.cjs.map +1 -0
- package/dist/cjs/chunk-JQIAM5N4.cjs +18 -0
- package/dist/cjs/chunk-JQIAM5N4.cjs.map +1 -0
- package/dist/cjs/chunk-LTBTLUJD.cjs +74 -0
- package/dist/cjs/chunk-LTBTLUJD.cjs.map +1 -0
- package/dist/cjs/chunk-MSPDYSCC.cjs +21 -0
- package/dist/cjs/chunk-MSPDYSCC.cjs.map +1 -0
- package/dist/cjs/chunk-NFEFQTIX.cjs +104 -0
- package/dist/cjs/chunk-NFEFQTIX.cjs.map +1 -0
- package/dist/cjs/{chunk-QCYLIOXZ.cjs → chunk-NLONGI2K.cjs} +7 -4
- package/dist/cjs/chunk-NLONGI2K.cjs.map +1 -0
- package/dist/cjs/chunk-NNVC34HX.cjs +95 -0
- package/dist/cjs/chunk-NNVC34HX.cjs.map +1 -0
- package/dist/cjs/{chunk-Z6TQ7TFO.cjs → chunk-OERUQFT7.cjs} +1 -1
- package/dist/cjs/chunk-OERUQFT7.cjs.map +1 -0
- package/dist/cjs/{chunk-TZ6JOGWV.cjs → chunk-PH5CFKLN.cjs} +4 -1
- package/dist/cjs/chunk-PH5CFKLN.cjs.map +1 -0
- package/dist/cjs/{chunk-FJ2JWXSL.cjs → chunk-QHDIM62U.cjs} +12 -8
- package/dist/cjs/chunk-QHDIM62U.cjs.map +1 -0
- package/dist/cjs/{chunk-5QSLQX4H.cjs → chunk-TDHM5TWT.cjs} +24 -34
- package/dist/cjs/chunk-TDHM5TWT.cjs.map +1 -0
- package/dist/cjs/{chunk-W224GBH7.cjs → chunk-UNRN7WF6.cjs} +1 -1
- package/dist/cjs/{chunk-W224GBH7.cjs.map → chunk-UNRN7WF6.cjs.map} +1 -1
- package/dist/cjs/chunk-VM74R2KP.cjs +170 -0
- package/dist/cjs/chunk-VM74R2KP.cjs.map +1 -0
- package/dist/cjs/chunk-WQIUHNUX.cjs +45 -0
- package/dist/cjs/chunk-WQIUHNUX.cjs.map +1 -0
- package/dist/cjs/chunk-ZWJ6IAP2.cjs +89 -0
- package/dist/cjs/chunk-ZWJ6IAP2.cjs.map +1 -0
- package/dist/cjs/{chunk-4Z4HSVCQ.cjs → chunk-ZZP6LQ5R.cjs} +4 -5
- package/dist/cjs/chunk-ZZP6LQ5R.cjs.map +1 -0
- package/dist/cjs/config/agent.cjs +9 -0
- package/dist/cjs/config/agent.cjs.map +1 -0
- package/dist/cjs/config/modules.cjs +19 -0
- package/dist/cjs/config/modules.cjs.map +1 -0
- package/dist/cjs/config/options.cjs +11 -0
- package/dist/cjs/config/options.cjs.map +1 -0
- package/dist/cjs/container/controllers.cjs +16 -0
- package/dist/cjs/container/controllers.cjs.map +1 -0
- package/dist/cjs/container/index.cjs +40 -0
- package/dist/cjs/container/index.cjs.map +1 -0
- package/dist/cjs/container/services.cjs +25 -0
- package/dist/cjs/container/services.cjs.map +1 -0
- package/dist/cjs/controllers/api/agent.api.controller.cjs +2 -2
- package/dist/cjs/controllers/api/threads.api.controller.cjs +2 -2
- package/dist/cjs/controllers/api/workflow.api.controller.cjs +7 -0
- package/dist/cjs/controllers/api/workflow.api.controller.cjs.map +1 -0
- package/dist/cjs/controllers/index.cjs +7 -8
- package/dist/cjs/controllers/index.cjs.map +1 -1
- package/dist/cjs/controllers/query.controller.cjs +3 -4
- package/dist/cjs/controllers/query.controller.cjs.map +1 -1
- package/dist/cjs/index.cjs +74 -50
- package/dist/cjs/index.cjs.map +1 -1
- package/dist/cjs/middlewares/auth.middleware.cjs +3 -3
- package/dist/cjs/modules/a2a/a2a.module.cjs +1 -1
- package/dist/cjs/modules/auth/auth.module.cjs +7 -0
- package/dist/cjs/modules/auth/auth.module.cjs.map +1 -0
- package/dist/cjs/modules/index.cjs +9 -9
- package/dist/cjs/modules/index.cjs.map +1 -1
- package/dist/cjs/modules/memory/memory.module.cjs +2 -2
- package/dist/cjs/routes/a2a.routes.cjs +29 -11
- package/dist/cjs/routes/a2a.routes.cjs.map +1 -1
- package/dist/cjs/routes/api/agent.routes.cjs +30 -3
- package/dist/cjs/routes/api/agent.routes.cjs.map +1 -1
- package/dist/cjs/routes/api/intent.routes.cjs +29 -3
- package/dist/cjs/routes/api/intent.routes.cjs.map +1 -1
- package/dist/cjs/routes/api/model.routes.cjs +29 -2
- package/dist/cjs/routes/api/model.routes.cjs.map +1 -1
- package/dist/cjs/routes/api/threads.routes.cjs +30 -4
- package/dist/cjs/routes/api/threads.routes.cjs.map +1 -1
- package/dist/cjs/routes/api/workflow.routes.cjs +35 -0
- package/dist/cjs/routes/api/workflow.routes.cjs.map +1 -0
- package/dist/cjs/routes/api.routes.cjs +33 -9
- package/dist/cjs/routes/api.routes.cjs.map +1 -1
- package/dist/cjs/routes/index.cjs +36 -24
- package/dist/cjs/routes/index.cjs.map +1 -1
- package/dist/cjs/routes/intent.routes.cjs +27 -15
- package/dist/cjs/routes/intent.routes.cjs.map +1 -1
- package/dist/cjs/routes/query.routes.cjs +27 -12
- package/dist/cjs/routes/query.routes.cjs.map +1 -1
- package/dist/cjs/services/a2a.service.cjs +2 -2
- package/dist/cjs/services/index.cjs +14 -19
- package/dist/cjs/services/index.cjs.map +1 -1
- package/dist/cjs/services/intents/aggregate.service.cjs +10 -0
- package/dist/cjs/services/intents/aggregate.service.cjs.map +1 -0
- package/dist/cjs/services/intents/fulfill.service.cjs +6 -3
- package/dist/cjs/services/intents/fulfill.service.cjs.map +1 -1
- package/dist/cjs/services/intents/multi-trigger.service.cjs +8 -0
- package/dist/cjs/services/intents/multi-trigger.service.cjs.map +1 -0
- package/dist/cjs/services/intents/single-trigger.service.cjs +8 -0
- package/dist/cjs/services/intents/single-trigger.service.cjs.map +1 -0
- package/dist/cjs/services/intents/trigger.service.cjs +4 -2
- package/dist/cjs/services/intents/trigger.service.cjs.map +1 -1
- package/dist/cjs/services/query.service.cjs +4 -8
- package/dist/cjs/services/query.service.cjs.map +1 -1
- package/dist/cjs/services/thread.service.cjs +2 -2
- package/dist/cjs/services/utils/aggregate.common.cjs +9 -0
- package/dist/cjs/services/utils/aggregate.common.cjs.map +1 -0
- package/dist/cjs/types/agent.cjs +2 -2
- package/dist/cjs/types/memory.cjs +2 -2
- package/dist/esm/{chunk-275JHD5P.js → chunk-2VGXYWJD.js} +5 -5
- package/dist/esm/chunk-2VGXYWJD.js.map +1 -0
- package/dist/esm/{chunk-A5PRJ33H.js → chunk-44CTGJX4.js} +116 -32
- package/dist/esm/chunk-44CTGJX4.js.map +1 -0
- package/dist/esm/{chunk-GRN6CHNO.js → chunk-4BHU7SPZ.js} +1 -1
- package/dist/esm/{chunk-GRN6CHNO.js.map → chunk-4BHU7SPZ.js.map} +1 -1
- package/dist/esm/{chunk-SPRW6KUR.js → chunk-6YBQCUNB.js} +12 -8
- package/dist/esm/chunk-6YBQCUNB.js.map +1 -0
- package/dist/esm/chunk-7DH4SI44.js +89 -0
- package/dist/esm/chunk-7DH4SI44.js.map +1 -0
- package/dist/esm/{chunk-OUIXXZFI.js → chunk-7GV6DSPE.js} +4 -1
- package/dist/esm/chunk-7GV6DSPE.js.map +1 -0
- package/dist/esm/chunk-7XQPJVYO.js +62 -0
- package/dist/esm/chunk-7XQPJVYO.js.map +1 -0
- package/dist/esm/{chunk-6AN7Z5OC.js → chunk-AEBBZSQ4.js} +10 -17
- package/dist/esm/chunk-AEBBZSQ4.js.map +1 -0
- package/dist/esm/chunk-BS52JTBH.js +8 -0
- package/dist/esm/chunk-BS52JTBH.js.map +1 -0
- package/dist/esm/chunk-BZUWX7HX.js +68 -0
- package/dist/esm/chunk-BZUWX7HX.js.map +1 -0
- package/dist/esm/{chunk-WUNZG3WP.js → chunk-C5JXXLCW.js} +1 -1
- package/dist/esm/chunk-C5JXXLCW.js.map +1 -0
- package/dist/esm/chunk-CC6DWPHZ.js +95 -0
- package/dist/esm/chunk-CC6DWPHZ.js.map +1 -0
- package/dist/esm/chunk-CG35V3ZH.js +21 -0
- package/dist/esm/chunk-CG35V3ZH.js.map +1 -0
- package/dist/esm/{chunk-JHKBIDPX.js → chunk-D6STNZ2L.js} +30 -25
- package/dist/esm/chunk-D6STNZ2L.js.map +1 -0
- package/dist/esm/chunk-FCH7BUK4.js +17 -0
- package/dist/esm/chunk-FCH7BUK4.js.map +1 -0
- package/dist/esm/chunk-I4P7JMJC.js +104 -0
- package/dist/esm/chunk-I4P7JMJC.js.map +1 -0
- package/dist/esm/chunk-IG3B5AXN.js +74 -0
- package/dist/esm/chunk-IG3B5AXN.js.map +1 -0
- package/dist/esm/{chunk-JCXAHLRN.js → chunk-JXGQVFCO.js} +20 -30
- package/dist/esm/chunk-JXGQVFCO.js.map +1 -0
- package/dist/esm/chunk-LMOWEXWF.js +38 -0
- package/dist/esm/chunk-LMOWEXWF.js.map +1 -0
- package/dist/esm/chunk-O3MPFL5J.js +47 -0
- package/dist/esm/chunk-O3MPFL5J.js.map +1 -0
- package/dist/esm/chunk-PZQRSWST.js +18 -0
- package/dist/esm/chunk-PZQRSWST.js.map +1 -0
- package/dist/esm/{chunk-KOCOM7IC.js → chunk-QQZ5ANSD.js} +8 -7
- package/dist/esm/chunk-QQZ5ANSD.js.map +1 -0
- package/dist/esm/chunk-TQJCYP7X.js +170 -0
- package/dist/esm/chunk-TQJCYP7X.js.map +1 -0
- package/dist/esm/{chunk-WZQVH4XY.js → chunk-V23GKNNJ.js} +7 -7
- package/dist/esm/chunk-V23GKNNJ.js.map +1 -0
- package/dist/esm/chunk-VBK4WM2M.js +17 -0
- package/dist/esm/chunk-VBK4WM2M.js.map +1 -0
- package/dist/esm/{chunk-F3SGL62A.js → chunk-VP5Q63JU.js} +12 -8
- package/dist/esm/chunk-VP5Q63JU.js.map +1 -0
- package/dist/esm/chunk-VSQVYW2H.js +37 -0
- package/dist/esm/chunk-VSQVYW2H.js.map +1 -0
- package/dist/esm/{chunk-TUEEIIR3.js → chunk-WKFSYGMH.js} +5 -6
- package/dist/esm/chunk-WKFSYGMH.js.map +1 -0
- package/dist/esm/{chunk-OTBWAUJF.js → chunk-YDER5JOU.js} +5 -2
- package/dist/esm/chunk-YDER5JOU.js.map +1 -0
- package/dist/esm/{chunk-4LBR3TIJ.js → chunk-ZJVWC666.js} +6 -6
- package/dist/esm/chunk-ZJVWC666.js.map +1 -0
- package/dist/esm/{chunk-AMRKK46V.js → chunk-ZK3HZBER.js} +5 -5
- package/dist/esm/chunk-ZK3HZBER.js.map +1 -0
- package/dist/esm/chunk-ZNZZZ4NN.js +45 -0
- package/dist/esm/chunk-ZNZZZ4NN.js.map +1 -0
- package/dist/esm/{chunk-RL6SRSSK.js → chunk-ZVYC5Y6Z.js} +1 -1
- package/dist/esm/chunk-ZVYC5Y6Z.js.map +1 -0
- package/dist/esm/config/agent.d.ts +25 -0
- package/dist/esm/config/agent.js +9 -0
- package/dist/esm/config/manifest.d.ts +3 -0
- package/dist/esm/config/modules.d.ts +34 -0
- package/dist/esm/config/modules.js +19 -0
- package/dist/esm/config/options.d.ts +14 -0
- package/dist/esm/config/options.js +11 -0
- package/dist/esm/container/controllers.d.ts +57 -0
- package/dist/esm/container/controllers.js +16 -0
- package/dist/esm/container/index.d.ts +68 -0
- package/dist/esm/container/index.js +40 -0
- package/dist/esm/container/index.js.map +1 -0
- package/dist/esm/container/services.d.ts +42 -0
- package/dist/esm/container/services.js +25 -0
- package/dist/esm/container/services.js.map +1 -0
- package/dist/esm/controllers/a2a.controller.d.ts +11 -7
- package/dist/esm/controllers/api/agent.api.controller.d.ts +3 -17
- package/dist/esm/controllers/api/agent.api.controller.js +1 -1
- package/dist/esm/controllers/api/threads.api.controller.js +1 -1
- package/dist/esm/controllers/api/workflow.api.controller.d.ts +16 -0
- package/dist/esm/controllers/api/workflow.api.controller.js +7 -0
- package/dist/esm/controllers/api/workflow.api.controller.js.map +1 -0
- package/dist/esm/controllers/index.d.ts +9 -11
- package/dist/esm/controllers/index.js +7 -8
- package/dist/esm/controllers/query.controller.d.ts +13 -11
- package/dist/esm/controllers/query.controller.js +2 -3
- package/dist/esm/index.d.ts +16 -10
- package/dist/esm/index.js +77 -53
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/middlewares/auth.middleware.d.ts +2 -2
- package/dist/esm/middlewares/auth.middleware.js +2 -2
- package/dist/esm/middlewares/error.middleware.d.ts +3 -0
- package/dist/esm/modules/a2a/a2a.module.js +1 -1
- package/dist/esm/modules/auth/{base.auth.d.ts → auth.module.d.ts} +2 -2
- package/dist/esm/modules/auth/auth.module.js +7 -0
- package/dist/esm/modules/auth/auth.module.js.map +1 -0
- package/dist/esm/modules/index.d.ts +2 -2
- package/dist/esm/modules/index.js +9 -9
- package/dist/esm/modules/memory/base.memory.d.ts +13 -2
- package/dist/esm/modules/memory/memory.module.d.ts +2 -1
- package/dist/esm/modules/memory/memory.module.js +1 -1
- package/dist/esm/routes/a2a.routes.d.ts +1 -22
- package/dist/esm/routes/a2a.routes.js +28 -10
- package/dist/esm/routes/api/agent.routes.d.ts +1 -20
- package/dist/esm/routes/api/agent.routes.js +29 -2
- package/dist/esm/routes/api/intent.routes.d.ts +1 -4
- package/dist/esm/routes/api/intent.routes.js +28 -2
- package/dist/esm/routes/api/model.routes.d.ts +1 -6
- package/dist/esm/routes/api/model.routes.js +28 -1
- package/dist/esm/routes/api/threads.routes.d.ts +1 -4
- package/dist/esm/routes/api/threads.routes.js +29 -3
- package/dist/esm/routes/api/workflow.routes.d.ts +5 -0
- package/dist/esm/routes/api/workflow.routes.js +35 -0
- package/dist/esm/routes/api/workflow.routes.js.map +1 -0
- package/dist/esm/routes/api.routes.d.ts +1 -20
- package/dist/esm/routes/api.routes.js +32 -8
- package/dist/esm/routes/index.d.ts +0 -19
- package/dist/esm/routes/index.js +39 -27
- package/dist/esm/routes/intent.routes.d.ts +1 -20
- package/dist/esm/routes/intent.routes.js +26 -14
- package/dist/esm/routes/query.routes.d.ts +1 -20
- package/dist/esm/routes/query.routes.js +26 -11
- package/dist/esm/services/a2a.service.d.ts +14 -10
- package/dist/esm/services/a2a.service.js +1 -1
- package/dist/esm/services/index.d.ts +9 -9
- package/dist/esm/services/index.js +16 -21
- package/dist/esm/services/intents/aggregate.service.d.ts +41 -0
- package/dist/esm/services/intents/aggregate.service.js +10 -0
- package/dist/esm/services/intents/aggregate.service.js.map +1 -0
- package/dist/esm/services/intents/fulfill.service.d.ts +23 -7
- package/dist/esm/services/intents/fulfill.service.js +5 -2
- package/dist/esm/services/intents/multi-trigger.service.d.ts +27 -0
- package/dist/esm/services/intents/multi-trigger.service.js +8 -0
- package/dist/esm/services/intents/multi-trigger.service.js.map +1 -0
- package/dist/esm/services/intents/single-trigger.service.d.ts +28 -0
- package/dist/esm/services/intents/single-trigger.service.js +8 -0
- package/dist/esm/services/intents/single-trigger.service.js.map +1 -0
- package/dist/esm/services/intents/trigger.service.d.ts +9 -4
- package/dist/esm/services/intents/trigger.service.js +3 -1
- package/dist/esm/services/query.service.d.ts +21 -15
- package/dist/esm/services/query.service.js +3 -7
- package/dist/esm/services/thread.service.d.ts +2 -2
- package/dist/esm/services/thread.service.js +1 -1
- package/dist/esm/services/utils/aggregate.common.d.ts +10 -0
- package/dist/esm/services/utils/aggregate.common.js +9 -0
- package/dist/esm/services/utils/aggregate.common.js.map +1 -0
- package/dist/esm/types/agent.d.ts +9 -1
- package/dist/esm/types/agent.js +1 -1
- package/dist/esm/types/memory.d.ts +23 -1
- package/dist/esm/types/memory.js +1 -1
- package/dist/esm/types/stream.d.ts +11 -0
- package/package.json +1 -1
- package/dist/cjs/chunk-2P3ZBNVN.cjs +0 -45
- package/dist/cjs/chunk-2P3ZBNVN.cjs.map +0 -1
- package/dist/cjs/chunk-3RS6NVSN.cjs +0 -41
- package/dist/cjs/chunk-3RS6NVSN.cjs.map +0 -1
- package/dist/cjs/chunk-4Z4HSVCQ.cjs.map +0 -1
- package/dist/cjs/chunk-5FZ7QLJD.cjs.map +0 -1
- package/dist/cjs/chunk-5QSLQX4H.cjs.map +0 -1
- package/dist/cjs/chunk-6T2YGFSD.cjs +0 -28
- package/dist/cjs/chunk-6T2YGFSD.cjs.map +0 -1
- package/dist/cjs/chunk-7KXB6FOT.cjs +0 -112
- package/dist/cjs/chunk-7KXB6FOT.cjs.map +0 -1
- package/dist/cjs/chunk-AHNKY3JY.cjs +0 -30
- package/dist/cjs/chunk-AHNKY3JY.cjs.map +0 -1
- package/dist/cjs/chunk-DGXLVGIM.cjs +0 -36
- package/dist/cjs/chunk-DGXLVGIM.cjs.map +0 -1
- package/dist/cjs/chunk-E3PD4Q76.cjs +0 -41
- package/dist/cjs/chunk-E3PD4Q76.cjs.map +0 -1
- package/dist/cjs/chunk-EA3YMPST.cjs.map +0 -1
- package/dist/cjs/chunk-FJ2JWXSL.cjs.map +0 -1
- package/dist/cjs/chunk-HF2QUMQV.cjs +0 -30
- package/dist/cjs/chunk-HF2QUMQV.cjs.map +0 -1
- package/dist/cjs/chunk-HF7GKQ6Y.cjs +0 -105
- package/dist/cjs/chunk-HF7GKQ6Y.cjs.map +0 -1
- package/dist/cjs/chunk-MT722JJC.cjs +0 -1
- package/dist/cjs/chunk-MT722JJC.cjs.map +0 -1
- package/dist/cjs/chunk-NEWJ7PXH.cjs.map +0 -1
- package/dist/cjs/chunk-NNYPZA6W.cjs.map +0 -1
- package/dist/cjs/chunk-OZPPTVUA.cjs.map +0 -1
- package/dist/cjs/chunk-QCYLIOXZ.cjs.map +0 -1
- package/dist/cjs/chunk-RCOESZIX.cjs.map +0 -1
- package/dist/cjs/chunk-RVT67VJL.cjs +0 -105
- package/dist/cjs/chunk-RVT67VJL.cjs.map +0 -1
- package/dist/cjs/chunk-TZ6JOGWV.cjs.map +0 -1
- package/dist/cjs/chunk-U47SG7XG.cjs +0 -168
- package/dist/cjs/chunk-U47SG7XG.cjs.map +0 -1
- package/dist/cjs/chunk-X46GJS7X.cjs.map +0 -1
- package/dist/cjs/chunk-XEAJBA3S.cjs +0 -30
- package/dist/cjs/chunk-XEAJBA3S.cjs.map +0 -1
- package/dist/cjs/chunk-XQTVE64W.cjs +0 -8
- package/dist/cjs/chunk-XQTVE64W.cjs.map +0 -1
- package/dist/cjs/chunk-YCTPMLZO.cjs.map +0 -1
- package/dist/cjs/chunk-YY7HSXBP.cjs +0 -36
- package/dist/cjs/chunk-YY7HSXBP.cjs.map +0 -1
- package/dist/cjs/chunk-Z6TQ7TFO.cjs.map +0 -1
- package/dist/cjs/modules/auth/base.auth.cjs +0 -7
- package/dist/cjs/modules/auth/base.auth.cjs.map +0 -1
- package/dist/cjs/services/intents/fulfill-stream.service.cjs +0 -12
- package/dist/cjs/services/intents/fulfill-stream.service.cjs.map +0 -1
- package/dist/cjs/services/query-stream.service.cjs +0 -16
- package/dist/cjs/services/query-stream.service.cjs.map +0 -1
- package/dist/esm/chunk-275JHD5P.js.map +0 -1
- package/dist/esm/chunk-4LBR3TIJ.js.map +0 -1
- package/dist/esm/chunk-6AN7Z5OC.js.map +0 -1
- package/dist/esm/chunk-A5PRJ33H.js.map +0 -1
- package/dist/esm/chunk-AMRKK46V.js.map +0 -1
- package/dist/esm/chunk-F3SGL62A.js.map +0 -1
- package/dist/esm/chunk-FF5RJ4L2.js +0 -8
- package/dist/esm/chunk-FF5RJ4L2.js.map +0 -1
- package/dist/esm/chunk-JCXAHLRN.js.map +0 -1
- package/dist/esm/chunk-JHKBIDPX.js.map +0 -1
- package/dist/esm/chunk-KOCOM7IC.js.map +0 -1
- package/dist/esm/chunk-OTBWAUJF.js.map +0 -1
- package/dist/esm/chunk-OUIXXZFI.js.map +0 -1
- package/dist/esm/chunk-Q7NLA5X4.js +0 -30
- package/dist/esm/chunk-Q7NLA5X4.js.map +0 -1
- package/dist/esm/chunk-RL6SRSSK.js.map +0 -1
- package/dist/esm/chunk-SPRW6KUR.js.map +0 -1
- package/dist/esm/chunk-TUEEIIR3.js.map +0 -1
- package/dist/esm/chunk-U7REZSMO.js +0 -1
- package/dist/esm/chunk-UEUZ7G5P.js +0 -168
- package/dist/esm/chunk-UEUZ7G5P.js.map +0 -1
- package/dist/esm/chunk-WO2QJ6UM.js +0 -28
- package/dist/esm/chunk-WO2QJ6UM.js.map +0 -1
- package/dist/esm/chunk-WUNZG3WP.js.map +0 -1
- package/dist/esm/chunk-WZQVH4XY.js.map +0 -1
- package/dist/esm/chunk-Y7BKUWRJ.js +0 -105
- package/dist/esm/chunk-Y7BKUWRJ.js.map +0 -1
- package/dist/esm/chunk-YJTWW6QK.js +0 -41
- package/dist/esm/chunk-YJTWW6QK.js.map +0 -1
- package/dist/esm/modules/auth/base.auth.js +0 -7
- package/dist/esm/services/intents/fulfill-stream.service.d.ts +0 -50
- package/dist/esm/services/intents/fulfill-stream.service.js +0 -12
- package/dist/esm/services/query-stream.service.d.ts +0 -54
- package/dist/esm/services/query-stream.service.js +0 -16
- /package/dist/esm/{chunk-U7REZSMO.js.map → config/agent.js.map} +0 -0
- /package/dist/esm/{modules/auth/base.auth.js.map → config/modules.js.map} +0 -0
- /package/dist/esm/{services/intents/fulfill-stream.service.js.map → config/options.js.map} +0 -0
- /package/dist/esm/{services/query-stream.service.js.map → container/controllers.js.map} +0 -0
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
import {
|
|
2
|
+
IntentApiController
|
|
3
|
+
} from "./chunk-DFXHJUGV.js";
|
|
4
|
+
import {
|
|
5
|
+
WorkflowApiController
|
|
6
|
+
} from "./chunk-BZUWX7HX.js";
|
|
7
|
+
import {
|
|
8
|
+
AgentApiController
|
|
9
|
+
} from "./chunk-WKFSYGMH.js";
|
|
10
|
+
import {
|
|
11
|
+
ModelApiController
|
|
12
|
+
} from "./chunk-UA44VKFE.js";
|
|
13
|
+
import {
|
|
14
|
+
ThreadApiController
|
|
15
|
+
} from "./chunk-ZVYC5Y6Z.js";
|
|
16
|
+
import {
|
|
17
|
+
IntentController
|
|
18
|
+
} from "./chunk-YUKPKFX5.js";
|
|
19
|
+
import {
|
|
20
|
+
QueryController
|
|
21
|
+
} from "./chunk-D6STNZ2L.js";
|
|
22
|
+
import {
|
|
23
|
+
getA2AModule,
|
|
24
|
+
getMemoryModule,
|
|
25
|
+
getModelModule
|
|
26
|
+
} from "./chunk-VSQVYW2H.js";
|
|
27
|
+
|
|
28
|
+
// src/container/controllers.ts
|
|
29
|
+
var ControllerContainer = class {
|
|
30
|
+
services;
|
|
31
|
+
_queryController;
|
|
32
|
+
_intentController;
|
|
33
|
+
_modelApiController;
|
|
34
|
+
_agentApiController;
|
|
35
|
+
_threadApiController;
|
|
36
|
+
_intentApiController;
|
|
37
|
+
_workflowApiController;
|
|
38
|
+
constructor(services) {
|
|
39
|
+
this.services = services;
|
|
40
|
+
}
|
|
41
|
+
getQueryController() {
|
|
42
|
+
if (!this._queryController) {
|
|
43
|
+
this._queryController = new QueryController(
|
|
44
|
+
this.services.getQueryService()
|
|
45
|
+
);
|
|
46
|
+
}
|
|
47
|
+
return this._queryController;
|
|
48
|
+
}
|
|
49
|
+
getIntentController() {
|
|
50
|
+
if (!this._intentController) {
|
|
51
|
+
this._intentController = new IntentController(
|
|
52
|
+
this.services.getThreadService(),
|
|
53
|
+
this.services.getIntentTriggerService()
|
|
54
|
+
);
|
|
55
|
+
}
|
|
56
|
+
return this._intentController;
|
|
57
|
+
}
|
|
58
|
+
getModelApiController() {
|
|
59
|
+
if (!this._modelApiController) {
|
|
60
|
+
this._modelApiController = new ModelApiController(getModelModule());
|
|
61
|
+
}
|
|
62
|
+
return this._modelApiController;
|
|
63
|
+
}
|
|
64
|
+
getAgentApiController() {
|
|
65
|
+
if (!this._agentApiController) {
|
|
66
|
+
this._agentApiController = new AgentApiController(getA2AModule());
|
|
67
|
+
}
|
|
68
|
+
return this._agentApiController;
|
|
69
|
+
}
|
|
70
|
+
getThreadApiController() {
|
|
71
|
+
if (!this._threadApiController) {
|
|
72
|
+
this._threadApiController = new ThreadApiController(getMemoryModule());
|
|
73
|
+
}
|
|
74
|
+
return this._threadApiController;
|
|
75
|
+
}
|
|
76
|
+
getIntentApiController() {
|
|
77
|
+
if (!this._intentApiController) {
|
|
78
|
+
this._intentApiController = new IntentApiController(getMemoryModule());
|
|
79
|
+
}
|
|
80
|
+
return this._intentApiController;
|
|
81
|
+
}
|
|
82
|
+
getWorkflowApiController() {
|
|
83
|
+
if (!this._workflowApiController) {
|
|
84
|
+
this._workflowApiController = new WorkflowApiController(
|
|
85
|
+
getMemoryModule()
|
|
86
|
+
);
|
|
87
|
+
}
|
|
88
|
+
return this._workflowApiController;
|
|
89
|
+
}
|
|
90
|
+
reset() {
|
|
91
|
+
this._queryController = void 0;
|
|
92
|
+
this._intentController = void 0;
|
|
93
|
+
this._modelApiController = void 0;
|
|
94
|
+
this._agentApiController = void 0;
|
|
95
|
+
this._threadApiController = void 0;
|
|
96
|
+
this._intentApiController = void 0;
|
|
97
|
+
this._workflowApiController = void 0;
|
|
98
|
+
}
|
|
99
|
+
};
|
|
100
|
+
|
|
101
|
+
export {
|
|
102
|
+
ControllerContainer
|
|
103
|
+
};
|
|
104
|
+
//# sourceMappingURL=chunk-I4P7JMJC.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/container/controllers.ts"],"sourcesContent":["import {\n\tgetA2AModule,\n\tgetMemoryModule,\n\tgetModelModule,\n} from \"@/config/modules\";\nimport { AgentApiController } from \"@/controllers/api/agent.api.controller\";\nimport { IntentApiController } from \"@/controllers/api/intent.api.controller\";\nimport { ModelApiController } from \"@/controllers/api/model.api.controller\";\nimport { ThreadApiController } from \"@/controllers/api/threads.api.controller\";\nimport { WorkflowApiController } from \"@/controllers/api/workflow.api.controller\";\nimport { IntentController } from \"@/controllers/intent.controller\";\nimport { QueryController } from \"@/controllers/query.controller\";\nimport type { ServiceContainer } from \"./services\";\n\n/**\n * Controller factory for dependency injection.\n * Manages singleton instances of all controllers.\n */\nexport class ControllerContainer {\n\tprivate services: ServiceContainer;\n\n\tprivate _queryController?: QueryController;\n\tprivate _intentController?: IntentController;\n\tprivate _modelApiController?: ModelApiController;\n\tprivate _agentApiController?: AgentApiController;\n\tprivate _threadApiController?: ThreadApiController;\n\tprivate _intentApiController?: IntentApiController;\n\tprivate _workflowApiController?: WorkflowApiController;\n\n\tconstructor(services: ServiceContainer) {\n\t\tthis.services = services;\n\t}\n\n\tgetQueryController(): QueryController {\n\t\tif (!this._queryController) {\n\t\t\tthis._queryController = new QueryController(\n\t\t\t\tthis.services.getQueryService(),\n\t\t\t);\n\t\t}\n\t\treturn this._queryController;\n\t}\n\n\tgetIntentController(): IntentController {\n\t\tif (!this._intentController) {\n\t\t\tthis._intentController = new IntentController(\n\t\t\t\tthis.services.getThreadService(),\n\t\t\t\tthis.services.getIntentTriggerService(),\n\t\t\t);\n\t\t}\n\t\treturn this._intentController;\n\t}\n\n\tgetModelApiController(): ModelApiController {\n\t\tif (!this._modelApiController) {\n\t\t\tthis._modelApiController = new ModelApiController(getModelModule());\n\t\t}\n\t\treturn this._modelApiController;\n\t}\n\n\tgetAgentApiController(): AgentApiController {\n\t\tif (!this._agentApiController) {\n\t\t\tthis._agentApiController = new AgentApiController(getA2AModule());\n\t\t}\n\t\treturn this._agentApiController;\n\t}\n\n\tgetThreadApiController(): ThreadApiController {\n\t\tif (!this._threadApiController) {\n\t\t\tthis._threadApiController = new ThreadApiController(getMemoryModule());\n\t\t}\n\t\treturn this._threadApiController;\n\t}\n\n\tgetIntentApiController(): IntentApiController {\n\t\tif (!this._intentApiController) {\n\t\t\tthis._intentApiController = new IntentApiController(getMemoryModule());\n\t\t}\n\t\treturn this._intentApiController;\n\t}\n\n\tgetWorkflowApiController(): WorkflowApiController {\n\t\tif (!this._workflowApiController) {\n\t\t\tthis._workflowApiController = new WorkflowApiController(\n\t\t\t\tgetMemoryModule(),\n\t\t\t);\n\t\t}\n\t\treturn this._workflowApiController;\n\t}\n\n\treset(): void {\n\t\tthis._queryController = undefined;\n\t\tthis._intentController = undefined;\n\t\tthis._modelApiController = undefined;\n\t\tthis._agentApiController = undefined;\n\t\tthis._threadApiController = undefined;\n\t\tthis._intentApiController = undefined;\n\t\tthis._workflowApiController = undefined;\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkBO,IAAM,sBAAN,MAA0B;AAAA,EACxB;AAAA,EAEA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAER,YAAY,UAA4B;AACvC,SAAK,WAAW;AAAA,EACjB;AAAA,EAEA,qBAAsC;AACrC,QAAI,CAAC,KAAK,kBAAkB;AAC3B,WAAK,mBAAmB,IAAI;AAAA,QAC3B,KAAK,SAAS,gBAAgB;AAAA,MAC/B;AAAA,IACD;AACA,WAAO,KAAK;AAAA,EACb;AAAA,EAEA,sBAAwC;AACvC,QAAI,CAAC,KAAK,mBAAmB;AAC5B,WAAK,oBAAoB,IAAI;AAAA,QAC5B,KAAK,SAAS,iBAAiB;AAAA,QAC/B,KAAK,SAAS,wBAAwB;AAAA,MACvC;AAAA,IACD;AACA,WAAO,KAAK;AAAA,EACb;AAAA,EAEA,wBAA4C;AAC3C,QAAI,CAAC,KAAK,qBAAqB;AAC9B,WAAK,sBAAsB,IAAI,mBAAmB,eAAe,CAAC;AAAA,IACnE;AACA,WAAO,KAAK;AAAA,EACb;AAAA,EAEA,wBAA4C;AAC3C,QAAI,CAAC,KAAK,qBAAqB;AAC9B,WAAK,sBAAsB,IAAI,mBAAmB,aAAa,CAAC;AAAA,IACjE;AACA,WAAO,KAAK;AAAA,EACb;AAAA,EAEA,yBAA8C;AAC7C,QAAI,CAAC,KAAK,sBAAsB;AAC/B,WAAK,uBAAuB,IAAI,oBAAoB,gBAAgB,CAAC;AAAA,IACtE;AACA,WAAO,KAAK;AAAA,EACb;AAAA,EAEA,yBAA8C;AAC7C,QAAI,CAAC,KAAK,sBAAsB;AAC/B,WAAK,uBAAuB,IAAI,oBAAoB,gBAAgB,CAAC;AAAA,IACtE;AACA,WAAO,KAAK;AAAA,EACb;AAAA,EAEA,2BAAkD;AACjD,QAAI,CAAC,KAAK,wBAAwB;AACjC,WAAK,yBAAyB,IAAI;AAAA,QACjC,gBAAgB;AAAA,MACjB;AAAA,IACD;AACA,WAAO,KAAK;AAAA,EACb;AAAA,EAEA,QAAc;AACb,SAAK,mBAAmB;AACxB,SAAK,oBAAoB;AACzB,SAAK,sBAAsB;AAC3B,SAAK,sBAAsB;AAC3B,SAAK,uBAAuB;AAC5B,SAAK,uBAAuB;AAC5B,SAAK,yBAAyB;AAAA,EAC/B;AACD;","names":[]}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import {
|
|
2
|
+
ControllerContainer
|
|
3
|
+
} from "./chunk-I4P7JMJC.js";
|
|
4
|
+
import {
|
|
5
|
+
ServiceContainer
|
|
6
|
+
} from "./chunk-7DH4SI44.js";
|
|
7
|
+
|
|
8
|
+
// src/container/index.ts
|
|
9
|
+
var Container = class {
|
|
10
|
+
_services;
|
|
11
|
+
_controllers;
|
|
12
|
+
constructor() {
|
|
13
|
+
this._services = new ServiceContainer();
|
|
14
|
+
this._controllers = new ControllerContainer(this._services);
|
|
15
|
+
}
|
|
16
|
+
// Services
|
|
17
|
+
get services() {
|
|
18
|
+
return this._services;
|
|
19
|
+
}
|
|
20
|
+
// Controllers
|
|
21
|
+
get controllers() {
|
|
22
|
+
return this._controllers;
|
|
23
|
+
}
|
|
24
|
+
// Convenience methods for direct access
|
|
25
|
+
getThreadService() {
|
|
26
|
+
return this._services.getThreadService();
|
|
27
|
+
}
|
|
28
|
+
getIntentTriggerService() {
|
|
29
|
+
return this._services.getIntentTriggerService();
|
|
30
|
+
}
|
|
31
|
+
getIntentFulfillService() {
|
|
32
|
+
return this._services.getIntentFulfillService();
|
|
33
|
+
}
|
|
34
|
+
getQueryService() {
|
|
35
|
+
return this._services.getQueryService();
|
|
36
|
+
}
|
|
37
|
+
getA2AService() {
|
|
38
|
+
return this._services.getA2AService();
|
|
39
|
+
}
|
|
40
|
+
getQueryController() {
|
|
41
|
+
return this._controllers.getQueryController();
|
|
42
|
+
}
|
|
43
|
+
getIntentController() {
|
|
44
|
+
return this._controllers.getIntentController();
|
|
45
|
+
}
|
|
46
|
+
getModelApiController() {
|
|
47
|
+
return this._controllers.getModelApiController();
|
|
48
|
+
}
|
|
49
|
+
getAgentApiController() {
|
|
50
|
+
return this._controllers.getAgentApiController();
|
|
51
|
+
}
|
|
52
|
+
getThreadApiController() {
|
|
53
|
+
return this._controllers.getThreadApiController();
|
|
54
|
+
}
|
|
55
|
+
getIntentApiController() {
|
|
56
|
+
return this._controllers.getIntentApiController();
|
|
57
|
+
}
|
|
58
|
+
getWorkflowApiController() {
|
|
59
|
+
return this._controllers.getWorkflowApiController();
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Reset all instances (useful for testing)
|
|
63
|
+
*/
|
|
64
|
+
reset() {
|
|
65
|
+
this._services.reset();
|
|
66
|
+
this._controllers.reset();
|
|
67
|
+
}
|
|
68
|
+
};
|
|
69
|
+
var container = new Container();
|
|
70
|
+
|
|
71
|
+
export {
|
|
72
|
+
container
|
|
73
|
+
};
|
|
74
|
+
//# sourceMappingURL=chunk-IG3B5AXN.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/container/index.ts"],"sourcesContent":["import { ControllerContainer } from \"./controllers\";\nimport { ServiceContainer } from \"./services\";\n\n/**\n * Dependency Injection Container\n *\n * Provides singleton instances of services and controllers with proper dependency injection.\n * Benefits:\n * - Services maintain DI pattern (testable with mocks)\n * - Routes use clean, simple API\n * - Dependencies are explicit and traceable\n */\nclass Container {\n\tprivate _services: ServiceContainer;\n\tprivate _controllers: ControllerContainer;\n\n\tconstructor() {\n\t\tthis._services = new ServiceContainer();\n\t\tthis._controllers = new ControllerContainer(this._services);\n\t}\n\n\t// Services\n\tget services(): ServiceContainer {\n\t\treturn this._services;\n\t}\n\n\t// Controllers\n\tget controllers(): ControllerContainer {\n\t\treturn this._controllers;\n\t}\n\n\t// Convenience methods for direct access\n\tgetThreadService() {\n\t\treturn this._services.getThreadService();\n\t}\n\tgetIntentTriggerService() {\n\t\treturn this._services.getIntentTriggerService();\n\t}\n\tgetIntentFulfillService() {\n\t\treturn this._services.getIntentFulfillService();\n\t}\n\tgetQueryService() {\n\t\treturn this._services.getQueryService();\n\t}\n\tgetA2AService() {\n\t\treturn this._services.getA2AService();\n\t}\n\n\tgetQueryController() {\n\t\treturn this._controllers.getQueryController();\n\t}\n\tgetIntentController() {\n\t\treturn this._controllers.getIntentController();\n\t}\n\tgetModelApiController() {\n\t\treturn this._controllers.getModelApiController();\n\t}\n\tgetAgentApiController() {\n\t\treturn this._controllers.getAgentApiController();\n\t}\n\tgetThreadApiController() {\n\t\treturn this._controllers.getThreadApiController();\n\t}\n\tgetIntentApiController() {\n\t\treturn this._controllers.getIntentApiController();\n\t}\n\tgetWorkflowApiController() {\n\t\treturn this._controllers.getWorkflowApiController();\n\t}\n\n\t/**\n\t * Reset all instances (useful for testing)\n\t */\n\treset(): void {\n\t\tthis._services.reset();\n\t\tthis._controllers.reset();\n\t}\n}\n\n// Export singleton instance\nexport const container = new Container();\n\n// Export types for testing\nexport { ControllerContainer } from \"./controllers\";\nexport { ServiceContainer } from \"./services\";\n"],"mappings":";;;;;;;;AAYA,IAAM,YAAN,MAAgB;AAAA,EACP;AAAA,EACA;AAAA,EAER,cAAc;AACb,SAAK,YAAY,IAAI,iBAAiB;AACtC,SAAK,eAAe,IAAI,oBAAoB,KAAK,SAAS;AAAA,EAC3D;AAAA;AAAA,EAGA,IAAI,WAA6B;AAChC,WAAO,KAAK;AAAA,EACb;AAAA;AAAA,EAGA,IAAI,cAAmC;AACtC,WAAO,KAAK;AAAA,EACb;AAAA;AAAA,EAGA,mBAAmB;AAClB,WAAO,KAAK,UAAU,iBAAiB;AAAA,EACxC;AAAA,EACA,0BAA0B;AACzB,WAAO,KAAK,UAAU,wBAAwB;AAAA,EAC/C;AAAA,EACA,0BAA0B;AACzB,WAAO,KAAK,UAAU,wBAAwB;AAAA,EAC/C;AAAA,EACA,kBAAkB;AACjB,WAAO,KAAK,UAAU,gBAAgB;AAAA,EACvC;AAAA,EACA,gBAAgB;AACf,WAAO,KAAK,UAAU,cAAc;AAAA,EACrC;AAAA,EAEA,qBAAqB;AACpB,WAAO,KAAK,aAAa,mBAAmB;AAAA,EAC7C;AAAA,EACA,sBAAsB;AACrB,WAAO,KAAK,aAAa,oBAAoB;AAAA,EAC9C;AAAA,EACA,wBAAwB;AACvB,WAAO,KAAK,aAAa,sBAAsB;AAAA,EAChD;AAAA,EACA,wBAAwB;AACvB,WAAO,KAAK,aAAa,sBAAsB;AAAA,EAChD;AAAA,EACA,yBAAyB;AACxB,WAAO,KAAK,aAAa,uBAAuB;AAAA,EACjD;AAAA,EACA,yBAAyB;AACxB,WAAO,KAAK,aAAa,uBAAuB;AAAA,EACjD;AAAA,EACA,2BAA2B;AAC1B,WAAO,KAAK,aAAa,yBAAyB;AAAA,EACnD;AAAA;AAAA;AAAA;AAAA,EAKA,QAAc;AACb,SAAK,UAAU,MAAM;AACrB,SAAK,aAAa,MAAM;AAAA,EACzB;AACD;AAGO,IAAM,YAAY,IAAI,UAAU;","names":[]}
|
|
@@ -1,43 +1,29 @@
|
|
|
1
|
-
import {
|
|
2
|
-
IntentFulfillStreamService
|
|
3
|
-
} from "./chunk-A5PRJ33H.js";
|
|
4
1
|
import {
|
|
5
2
|
generateTitle
|
|
6
3
|
} from "./chunk-5IIF5O4A.js";
|
|
7
|
-
import {
|
|
8
|
-
IntentTriggerService
|
|
9
|
-
} from "./chunk-KOCOM7IC.js";
|
|
10
4
|
import {
|
|
11
5
|
AinHttpError
|
|
12
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-C5JXXLCW.js";
|
|
13
7
|
import {
|
|
14
8
|
loggers
|
|
15
9
|
} from "./chunk-VUMI4XOY.js";
|
|
16
10
|
|
|
17
|
-
// src/services/query
|
|
11
|
+
// src/services/query.service.ts
|
|
18
12
|
import { randomUUID } from "crypto";
|
|
19
13
|
import { StatusCodes } from "http-status-codes";
|
|
20
|
-
var
|
|
14
|
+
var QueryService = class {
|
|
21
15
|
modelModule;
|
|
22
16
|
memoryModule;
|
|
23
17
|
intentTriggerService;
|
|
24
|
-
|
|
25
|
-
constructor(modelModule,
|
|
18
|
+
intentFulfillService;
|
|
19
|
+
constructor(modelModule, memoryModule, intentTriggerService, intentFulfillService) {
|
|
26
20
|
this.modelModule = modelModule;
|
|
27
21
|
this.memoryModule = memoryModule;
|
|
28
|
-
this.intentTriggerService =
|
|
29
|
-
|
|
30
|
-
memoryModule
|
|
31
|
-
);
|
|
32
|
-
this.intentFulfillStreamService = new IntentFulfillStreamService(
|
|
33
|
-
modelModule,
|
|
34
|
-
a2aModule,
|
|
35
|
-
mcpModule,
|
|
36
|
-
memoryModule
|
|
37
|
-
);
|
|
22
|
+
this.intentTriggerService = intentTriggerService;
|
|
23
|
+
this.intentFulfillService = intentFulfillService;
|
|
38
24
|
}
|
|
39
25
|
async addToThreadMessages(userId, threadId, messages) {
|
|
40
|
-
const threadMemory = this.memoryModule
|
|
26
|
+
const threadMemory = this.memoryModule.getThreadMemory();
|
|
41
27
|
await threadMemory?.addMessagesToThread(userId, threadId, messages);
|
|
42
28
|
}
|
|
43
29
|
/**
|
|
@@ -56,9 +42,10 @@ var QueryStreamService = class {
|
|
|
56
42
|
* @param query - The user's input query
|
|
57
43
|
* @returns AsyncGenerator yielding StreamEvent objects for SSE
|
|
58
44
|
*/
|
|
59
|
-
async *
|
|
45
|
+
async *handleQuery(threadMetadata, queryData, isA2A) {
|
|
60
46
|
const { type, userId, options } = threadMetadata;
|
|
61
|
-
const
|
|
47
|
+
const { query, displayQuery } = queryData;
|
|
48
|
+
const threadMemory = this.memoryModule.getThreadMemory();
|
|
62
49
|
let threadId = threadMetadata.threadId;
|
|
63
50
|
let thread;
|
|
64
51
|
if (threadId) {
|
|
@@ -87,18 +74,21 @@ var QueryStreamService = class {
|
|
|
87
74
|
messageId: randomUUID(),
|
|
88
75
|
role: "USER" /* USER */,
|
|
89
76
|
timestamp: Date.now(),
|
|
90
|
-
|
|
77
|
+
// use displayQuery for better UX in enterprise application
|
|
78
|
+
content: { type: "text", parts: [displayQuery || query] },
|
|
91
79
|
metadata: {
|
|
92
80
|
intents: triggeredIntent.filter((intent) => !!intent.intent).map((intent) => ({
|
|
93
81
|
id: intent.intent?.id,
|
|
94
82
|
subquery: intent.subquery
|
|
95
|
-
}))
|
|
83
|
+
})),
|
|
84
|
+
query: !displayQuery ? void 0 : query
|
|
96
85
|
}
|
|
97
86
|
}
|
|
98
87
|
]);
|
|
99
|
-
const stream = this.
|
|
88
|
+
const stream = this.intentFulfillService.intentFulfill(
|
|
100
89
|
triggeredIntent,
|
|
101
|
-
thread
|
|
90
|
+
thread,
|
|
91
|
+
query
|
|
102
92
|
);
|
|
103
93
|
for await (const event of stream) {
|
|
104
94
|
yield event;
|
|
@@ -107,6 +97,6 @@ var QueryStreamService = class {
|
|
|
107
97
|
};
|
|
108
98
|
|
|
109
99
|
export {
|
|
110
|
-
|
|
100
|
+
QueryService
|
|
111
101
|
};
|
|
112
|
-
//# sourceMappingURL=chunk-
|
|
102
|
+
//# sourceMappingURL=chunk-JXGQVFCO.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/services/query.service.ts"],"sourcesContent":["import { randomUUID } from \"node:crypto\";\nimport { StatusCodes } from \"http-status-codes\";\nimport type {\n\tMemoryModule,\n\tModelFetchOptions,\n\tModelModule,\n} from \"@/modules/index.js\";\nimport { AinHttpError } from \"@/types/agent.js\";\nimport {\n\ttype MessageObject,\n\tMessageRole,\n\ttype ThreadMetadata,\n\ttype ThreadObject,\n\ttype ThreadType,\n\ttype TriggeredIntent,\n} from \"@/types/memory.js\";\nimport type { StreamEvent } from \"@/types/stream\";\nimport { loggers } from \"@/utils/logger.js\";\nimport type { IntentFulfillService } from \"./intents/fulfill.service\";\nimport type { IntentTriggerService } from \"./intents/trigger.service\";\nimport { generateTitle } from \"./utils/query.common\";\n\n/**\n * Service for processing user queries through the agent's AI pipeline.\n *\n * Orchestrates the query processing workflow including intent detection,\n * model inference, tool execution, and response generation. Manages\n * conversation context and coordinates between different modules.\n */\nexport class QueryService {\n\tprivate modelModule: ModelModule;\n\tprivate memoryModule: MemoryModule;\n\tprivate intentTriggerService: IntentTriggerService;\n\tprivate intentFulfillService: IntentFulfillService;\n\n\tconstructor(\n\t\tmodelModule: ModelModule,\n\t\tmemoryModule: MemoryModule,\n\t\tintentTriggerService: IntentTriggerService,\n\t\tintentFulfillService: IntentFulfillService,\n\t) {\n\t\tthis.modelModule = modelModule;\n\t\tthis.memoryModule = memoryModule;\n\t\tthis.intentTriggerService = intentTriggerService;\n\t\tthis.intentFulfillService = intentFulfillService;\n\t}\n\n\tpublic async addToThreadMessages(\n\t\tuserId: string,\n\t\tthreadId: string,\n\t\tmessages: Array<MessageObject>,\n\t) {\n\t\tconst threadMemory = this.memoryModule.getThreadMemory();\n\t\tawait threadMemory?.addMessagesToThread(userId, threadId, messages);\n\t}\n\n\t/**\n\t * Main entry point for processing streaming user queries.\n\t *\n\t * Handles the complete query lifecycle:\n\t * 1. Loads or creates thread from memory\n\t * 2. Detects intent from the query\n\t * 3. Fulfills the intent with streaming AI response\n\t * 4. Updates conversation history in real-time\n\t *\n\t * @param threadMetadata - Metadata containing type, userId, and optional threadId\n\t * @param threadMetadata.type - The type of thread (e.g., chat, workflow)\n\t * @param threadMetadata.userId - The user's unique identifier\n\t * @param threadMetadata.threadId - Optional thread identifier\n\t * @param query - The user's input query\n\t * @returns AsyncGenerator yielding StreamEvent objects for SSE\n\t */\n\tpublic async *handleQuery(\n\t\tthreadMetadata: {\n\t\t\ttype: ThreadType;\n\t\t\tuserId: string;\n\t\t\tthreadId?: string;\n\t\t\toptions?: ModelFetchOptions;\n\t\t},\n\t\tqueryData: {\n\t\t\tquery: string;\n\t\t\tdisplayQuery?: string;\n\t\t},\n\t\tisA2A?: boolean,\n\t): AsyncGenerator<StreamEvent> {\n\t\tconst { type, userId, options } = threadMetadata;\n\t\tconst { query, displayQuery } = queryData;\n\t\tconst threadMemory = this.memoryModule.getThreadMemory();\n\n\t\t// 1. Load or create thread\n\t\tlet threadId = threadMetadata.threadId;\n\t\tlet thread: ThreadObject | undefined;\n\t\tif (threadId) {\n\t\t\tthread = await threadMemory?.getThread(userId, threadId);\n\t\t\tif (!thread && !isA2A) {\n\t\t\t\tthrow new AinHttpError(StatusCodes.NOT_FOUND, \"Thread not found\");\n\t\t\t}\n\t\t}\n\n\t\tthreadId ??= randomUUID();\n\t\tif (!thread) {\n\t\t\tconst title = await generateTitle(this.modelModule, query, options);\n\t\t\tconst metadata: ThreadMetadata = (await threadMemory?.createThread(\n\t\t\t\ttype,\n\t\t\t\tuserId,\n\t\t\t\tthreadId,\n\t\t\t\ttitle,\n\t\t\t)) || { type, userId, threadId, title };\n\t\t\tthread = { ...metadata, messages: [] };\n\t\t\tloggers.intent.info(`Create new thread: ${threadId}`);\n\t\t\tyield { event: \"thread_id\", data: { type, userId, threadId, title } };\n\t\t}\n\n\t\t// 2. intent triggering\n\t\tconst triggeredIntent: Array<TriggeredIntent> =\n\t\t\tawait this.intentTriggerService.intentTriggering(query, thread);\n\t\tloggers.intent.debug(\"Triggered intents\", { triggeredIntent });\n\n\t\t// only add for storage, not for inference\n\t\tawait this.addToThreadMessages(userId, threadId, [\n\t\t\t{\n\t\t\t\tmessageId: randomUUID(),\n\t\t\t\trole: MessageRole.USER,\n\t\t\t\ttimestamp: Date.now(),\n\t\t\t\t// use displayQuery for better UX in enterprise application\n\t\t\t\tcontent: { type: \"text\", parts: [displayQuery || query] },\n\t\t\t\tmetadata: {\n\t\t\t\t\tintents: triggeredIntent\n\t\t\t\t\t\t.filter((intent) => !!intent.intent)\n\t\t\t\t\t\t.map((intent) => ({\n\t\t\t\t\t\t\tid: intent.intent?.id,\n\t\t\t\t\t\t\tsubquery: intent.subquery,\n\t\t\t\t\t\t})),\n\t\t\t\t\tquery: !displayQuery ? undefined : query,\n\t\t\t\t},\n\t\t\t},\n\t\t]);\n\n\t\t// 3. intent fulfillment (with rewrite step)\n\t\tconst stream = this.intentFulfillService.intentFulfill(\n\t\t\ttriggeredIntent,\n\t\t\tthread,\n\t\t\tquery,\n\t\t);\n\n\t\tfor await (const event of stream) {\n\t\t\tyield event;\n\t\t}\n\t}\n}\n"],"mappings":";;;;;;;;;;;AAAA,SAAS,kBAAkB;AAC3B,SAAS,mBAAmB;AA4BrB,IAAM,eAAN,MAAmB;AAAA,EACjB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAER,YACC,aACA,cACA,sBACA,sBACC;AACD,SAAK,cAAc;AACnB,SAAK,eAAe;AACpB,SAAK,uBAAuB;AAC5B,SAAK,uBAAuB;AAAA,EAC7B;AAAA,EAEA,MAAa,oBACZ,QACA,UACA,UACC;AACD,UAAM,eAAe,KAAK,aAAa,gBAAgB;AACvD,UAAM,cAAc,oBAAoB,QAAQ,UAAU,QAAQ;AAAA,EACnE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAkBA,OAAc,YACb,gBAMA,WAIA,OAC8B;AAC9B,UAAM,EAAE,MAAM,QAAQ,QAAQ,IAAI;AAClC,UAAM,EAAE,OAAO,aAAa,IAAI;AAChC,UAAM,eAAe,KAAK,aAAa,gBAAgB;AAGvD,QAAI,WAAW,eAAe;AAC9B,QAAI;AACJ,QAAI,UAAU;AACb,eAAS,MAAM,cAAc,UAAU,QAAQ,QAAQ;AACvD,UAAI,CAAC,UAAU,CAAC,OAAO;AACtB,cAAM,IAAI,aAAa,YAAY,WAAW,kBAAkB;AAAA,MACjE;AAAA,IACD;AAEA,iBAAa,WAAW;AACxB,QAAI,CAAC,QAAQ;AACZ,YAAM,QAAQ,MAAM,cAAc,KAAK,aAAa,OAAO,OAAO;AAClE,YAAM,WAA4B,MAAM,cAAc;AAAA,QACrD;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACD,KAAM,EAAE,MAAM,QAAQ,UAAU,MAAM;AACtC,eAAS,EAAE,GAAG,UAAU,UAAU,CAAC,EAAE;AACrC,cAAQ,OAAO,KAAK,sBAAsB,QAAQ,EAAE;AACpD,YAAM,EAAE,OAAO,aAAa,MAAM,EAAE,MAAM,QAAQ,UAAU,MAAM,EAAE;AAAA,IACrE;AAGA,UAAM,kBACL,MAAM,KAAK,qBAAqB,iBAAiB,OAAO,MAAM;AAC/D,YAAQ,OAAO,MAAM,qBAAqB,EAAE,gBAAgB,CAAC;AAG7D,UAAM,KAAK,oBAAoB,QAAQ,UAAU;AAAA,MAChD;AAAA,QACC,WAAW,WAAW;AAAA,QACtB;AAAA,QACA,WAAW,KAAK,IAAI;AAAA;AAAA,QAEpB,SAAS,EAAE,MAAM,QAAQ,OAAO,CAAC,gBAAgB,KAAK,EAAE;AAAA,QACxD,UAAU;AAAA,UACT,SAAS,gBACP,OAAO,CAAC,WAAW,CAAC,CAAC,OAAO,MAAM,EAClC,IAAI,CAAC,YAAY;AAAA,YACjB,IAAI,OAAO,QAAQ;AAAA,YACnB,UAAU,OAAO;AAAA,UAClB,EAAE;AAAA,UACH,OAAO,CAAC,eAAe,SAAY;AAAA,QACpC;AAAA,MACD;AAAA,IACD,CAAC;AAGD,UAAM,SAAS,KAAK,qBAAqB;AAAA,MACxC;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAEA,qBAAiB,SAAS,QAAQ;AACjC,YAAM;AAAA,IACP;AAAA,EACD;AACD;","names":[]}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import {
|
|
2
|
+
createModelApiRouter
|
|
3
|
+
} from "./chunk-ZK3HZBER.js";
|
|
4
|
+
import {
|
|
5
|
+
createThreadApiRouter
|
|
6
|
+
} from "./chunk-6YBQCUNB.js";
|
|
7
|
+
import {
|
|
8
|
+
createWorkflowApiRouter
|
|
9
|
+
} from "./chunk-7XQPJVYO.js";
|
|
10
|
+
import {
|
|
11
|
+
createAgentApiRouter
|
|
12
|
+
} from "./chunk-2VGXYWJD.js";
|
|
13
|
+
import {
|
|
14
|
+
createIntentApiRouter
|
|
15
|
+
} from "./chunk-VP5Q63JU.js";
|
|
16
|
+
import {
|
|
17
|
+
getMemoryModule
|
|
18
|
+
} from "./chunk-VSQVYW2H.js";
|
|
19
|
+
|
|
20
|
+
// src/routes/api.routes.ts
|
|
21
|
+
import { Router } from "express";
|
|
22
|
+
var createApiRouter = () => {
|
|
23
|
+
const router = Router();
|
|
24
|
+
router.use("/model", createModelApiRouter());
|
|
25
|
+
router.use("/agent", createAgentApiRouter());
|
|
26
|
+
const memoryModule = getMemoryModule();
|
|
27
|
+
if (memoryModule) {
|
|
28
|
+
router.use("/threads", createThreadApiRouter());
|
|
29
|
+
router.use("/intent", createIntentApiRouter());
|
|
30
|
+
router.use("/workflow", createWorkflowApiRouter());
|
|
31
|
+
}
|
|
32
|
+
return router;
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
export {
|
|
36
|
+
createApiRouter
|
|
37
|
+
};
|
|
38
|
+
//# sourceMappingURL=chunk-LMOWEXWF.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/routes/api.routes.ts"],"sourcesContent":["import { Router } from \"express\";\nimport { getMemoryModule } from \"@/config/modules\";\nimport { createAgentApiRouter } from \"./api/agent.routes.js\";\nimport { createIntentApiRouter } from \"./api/intent.routes.js\";\nimport { createModelApiRouter } from \"./api/model.routes.js\";\nimport { createThreadApiRouter } from \"./api/threads.routes.js\";\nimport { createWorkflowApiRouter } from \"./api/workflow.routes.js\";\n\nexport const createApiRouter = (): Router => {\n\tconst router = Router();\n\n\trouter.use(\"/model\", createModelApiRouter());\n\trouter.use(\"/agent\", createAgentApiRouter());\n\n\tconst memoryModule = getMemoryModule();\n\tif (memoryModule) {\n\t\trouter.use(\"/threads\", createThreadApiRouter());\n\t\trouter.use(\"/intent\", createIntentApiRouter());\n\t\trouter.use(\"/workflow\", createWorkflowApiRouter());\n\t}\n\n\treturn router;\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA,SAAS,cAAc;AAQhB,IAAM,kBAAkB,MAAc;AAC5C,QAAM,SAAS,OAAO;AAEtB,SAAO,IAAI,UAAU,qBAAqB,CAAC;AAC3C,SAAO,IAAI,UAAU,qBAAqB,CAAC;AAE3C,QAAM,eAAe,gBAAgB;AACrC,MAAI,cAAc;AACjB,WAAO,IAAI,YAAY,sBAAsB,CAAC;AAC9C,WAAO,IAAI,WAAW,sBAAsB,CAAC;AAC7C,WAAO,IAAI,aAAa,wBAAwB,CAAC;AAAA,EAClD;AAEA,SAAO;AACR;","names":[]}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
// src/services/utils/aggregate.common.ts
|
|
2
|
+
var AGGREGATE_DECISION_SYSTEM_PROMPT = `You are an assistant that determines whether multiple task responses need to be aggregated into a unified response.
|
|
3
|
+
|
|
4
|
+
Analyze the original query and the responses from each task.
|
|
5
|
+
|
|
6
|
+
**Return JSON only:**
|
|
7
|
+
{
|
|
8
|
+
"needsAggregation": boolean,
|
|
9
|
+
"reason": string // Write the reason in the same language as the original query
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
**Set needsAggregation to FALSE when:**
|
|
13
|
+
- The last response already synthesizes/summarizes all previous results
|
|
14
|
+
- The last task explicitly asks for a "report", "summary", "\uACB0\uACFC\uBB3C", "\uB808\uD3EC\uD2B8", "\uC815\uB9AC" based on previous tasks
|
|
15
|
+
- The last response comprehensively addresses the original query by incorporating previous results
|
|
16
|
+
|
|
17
|
+
**Set needsAggregation to TRUE when:**
|
|
18
|
+
- Each response is independent and doesn't reference other results
|
|
19
|
+
- The original query asks for multiple distinct things that weren't combined
|
|
20
|
+
- Important information from earlier responses is missing in the final response
|
|
21
|
+
|
|
22
|
+
Examples:
|
|
23
|
+
|
|
24
|
+
Query: "A\uD558\uACE0, B\uD558\uACE0, \uADF8\uAC78 \uAE30\uBC18\uC73C\uB85C \uB808\uD3EC\uD2B8 \uB9CC\uB4E4\uC5B4\uC918"
|
|
25
|
+
\u2192 needsAggregation: false (last task already creates a combined report)
|
|
26
|
+
|
|
27
|
+
Query: "A\uD558\uACE0, B\uB3C4 \uD574\uC918"
|
|
28
|
+
\u2192 needsAggregation: true (independent tasks, need combination)
|
|
29
|
+
|
|
30
|
+
Query: "\uB0A0\uC528 \uC54C\uB824\uC8FC\uACE0, \uC77C\uC815\uB3C4 \uD655\uC778\uD574\uC918"
|
|
31
|
+
\u2192 needsAggregation: true (independent queries, results should be combined)`;
|
|
32
|
+
var AGGREGATE_GENERATION_SYSTEM_PROMPT = `You are an assistant that combines multiple task responses into a single, coherent response.
|
|
33
|
+
|
|
34
|
+
Guidelines:
|
|
35
|
+
- Preserve all important information from each response
|
|
36
|
+
- Create a natural, flowing response that addresses the original query
|
|
37
|
+
- Don't use section headers like "[Task 1]" - integrate smoothly
|
|
38
|
+
- If responses have related information, synthesize them logically
|
|
39
|
+
- Keep the tone consistent with the original responses
|
|
40
|
+
- Be concise - don't add unnecessary filler
|
|
41
|
+
- Respond in the same language as the original query`;
|
|
42
|
+
|
|
43
|
+
export {
|
|
44
|
+
AGGREGATE_DECISION_SYSTEM_PROMPT,
|
|
45
|
+
AGGREGATE_GENERATION_SYSTEM_PROMPT
|
|
46
|
+
};
|
|
47
|
+
//# sourceMappingURL=chunk-O3MPFL5J.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/services/utils/aggregate.common.ts"],"sourcesContent":["/**\n * System prompt for deciding whether to aggregate/combine multiple responses.\n */\nexport const AGGREGATE_DECISION_SYSTEM_PROMPT = `You are an assistant that determines whether multiple task responses need to be aggregated into a unified response.\n\nAnalyze the original query and the responses from each task.\n\n**Return JSON only:**\n{\n \"needsAggregation\": boolean,\n \"reason\": string // Write the reason in the same language as the original query\n}\n\n**Set needsAggregation to FALSE when:**\n- The last response already synthesizes/summarizes all previous results\n- The last task explicitly asks for a \"report\", \"summary\", \"결과물\", \"레포트\", \"정리\" based on previous tasks\n- The last response comprehensively addresses the original query by incorporating previous results\n\n**Set needsAggregation to TRUE when:**\n- Each response is independent and doesn't reference other results\n- The original query asks for multiple distinct things that weren't combined\n- Important information from earlier responses is missing in the final response\n\nExamples:\n\nQuery: \"A하고, B하고, 그걸 기반으로 레포트 만들어줘\"\n→ needsAggregation: false (last task already creates a combined report)\n\nQuery: \"A하고, B도 해줘\"\n→ needsAggregation: true (independent tasks, need combination)\n\nQuery: \"날씨 알려주고, 일정도 확인해줘\"\n→ needsAggregation: true (independent queries, results should be combined)`;\n\n/**\n * System prompt for generating a unified response from multiple results.\n */\nexport const AGGREGATE_GENERATION_SYSTEM_PROMPT = `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"],"mappings":";AAGO,IAAM,mCAAmC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAkCzC,IAAM,qCAAqC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;","names":[]}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import {
|
|
2
|
+
container
|
|
3
|
+
} from "./chunk-IG3B5AXN.js";
|
|
4
|
+
|
|
5
|
+
// src/routes/query.routes.ts
|
|
6
|
+
import { Router } from "express";
|
|
7
|
+
var createQueryRouter = () => {
|
|
8
|
+
const router = Router();
|
|
9
|
+
const queryController = container.getQueryController();
|
|
10
|
+
router.post("/", queryController.handleQueryRequest);
|
|
11
|
+
router.post("/stream", queryController.handleQueryStreamRequest);
|
|
12
|
+
return router;
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
export {
|
|
16
|
+
createQueryRouter
|
|
17
|
+
};
|
|
18
|
+
//# sourceMappingURL=chunk-PZQRSWST.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/routes/query.routes.ts"],"sourcesContent":["import { Router } from \"express\";\nimport { container } from \"@/container\";\n\nexport const createQueryRouter = (): Router => {\n\tconst router = Router();\n\n\tconst queryController = container.getQueryController();\n\n\trouter.post(\"/\", queryController.handleQueryRequest);\n\trouter.post(\"/stream\", queryController.handleQueryStreamRequest);\n\n\treturn router;\n};\n"],"mappings":";;;;;AAAA,SAAS,cAAc;AAGhB,IAAM,oBAAoB,MAAc;AAC9C,QAAM,SAAS,OAAO;AAEtB,QAAM,kBAAkB,UAAU,mBAAmB;AAErD,SAAO,KAAK,KAAK,gBAAgB,kBAAkB;AACnD,SAAO,KAAK,WAAW,gBAAgB,wBAAwB;AAE/D,SAAO;AACR;","names":[]}
|
|
@@ -2,8 +2,8 @@ import {
|
|
|
2
2
|
loggers
|
|
3
3
|
} from "./chunk-VUMI4XOY.js";
|
|
4
4
|
|
|
5
|
-
// src/services/intents/trigger.service.ts
|
|
6
|
-
var
|
|
5
|
+
// src/services/intents/multi-trigger.service.ts
|
|
6
|
+
var MultiIntentTriggerService = class {
|
|
7
7
|
modelModule;
|
|
8
8
|
memoryModule;
|
|
9
9
|
constructor(modelModule, memoryModule) {
|
|
@@ -11,16 +11,16 @@ var IntentTriggerService = class {
|
|
|
11
11
|
this.memoryModule = memoryModule;
|
|
12
12
|
}
|
|
13
13
|
/**
|
|
14
|
-
* Detects
|
|
14
|
+
* Detects multiple intents from context by decomposing queries into subqueries.
|
|
15
15
|
*
|
|
16
16
|
* @param query - The user's input query
|
|
17
17
|
* @param thread - The thread history
|
|
18
|
-
* @returns
|
|
18
|
+
* @returns Array of TriggeredIntent objects
|
|
19
19
|
*/
|
|
20
20
|
async intentTriggering(query, thread) {
|
|
21
21
|
const modelInstance = this.modelModule.getModel();
|
|
22
22
|
const modelOptions = this.modelModule.getModelOptions();
|
|
23
|
-
const intentMemory = this.memoryModule
|
|
23
|
+
const intentMemory = this.memoryModule.getIntentMemory();
|
|
24
24
|
if (!intentMemory) {
|
|
25
25
|
return [{ subquery: query }];
|
|
26
26
|
}
|
|
@@ -98,6 +98,7 @@ Requirements:
|
|
|
98
98
|
}
|
|
99
99
|
const triggeredIntent = [];
|
|
100
100
|
for (const { subquery, intentName, actionPlan } of subqueries) {
|
|
101
|
+
if (!subquery) continue;
|
|
101
102
|
const item = { subquery, actionPlan };
|
|
102
103
|
if (intentName) {
|
|
103
104
|
item.intent = await intentMemory.getIntentByName(intentName);
|
|
@@ -109,6 +110,6 @@ Requirements:
|
|
|
109
110
|
};
|
|
110
111
|
|
|
111
112
|
export {
|
|
112
|
-
|
|
113
|
+
MultiIntentTriggerService
|
|
113
114
|
};
|
|
114
|
-
//# sourceMappingURL=chunk-
|
|
115
|
+
//# sourceMappingURL=chunk-QQZ5ANSD.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\tMessageObject,\n\tThreadObject,\n\tTriggeredIntent,\n} from \"@/types/memory\";\nimport { loggers } from \"@/utils/logger\";\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 Array of TriggeredIntent objects\n\t */\n\tpublic async intentTriggering(\n\t\tquery: string,\n\t\tthread: ThreadObject | undefined,\n\t): Promise<Array<TriggeredIntent>> {\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 [{ subquery: query }];\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 [{ subquery: query }];\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 = `\nToday is ${new Date().toLocaleDateString()}.\nYou are an expert in accurately identifying user intentions.\n\nAvailable intent list:\n${intentList}\n\nPlease select and answer only from the above intent list.`;\n\n\t\tconst userMessage = `\n${\n\tthreadMessages !== \"\"\n\t\t? `The following is the conversation history with the user: ${threadMessages}\n\n\t`\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\nInstructions:\n1. First, decompose the last user question into action-based subqueries (each representing a distinct action or task)\n2. Then, map each subquery to its corresponding intent from the available intent list\n3. For each subquery, provide a 2-3 sentence summary of what actions will be performed\n4. Multiple intents can be identified if the question covers various topics or actions\n5. Maintain the logical sequence of the original question when splitting into subqueries\n6. **Important**: If the query cannot be split into multiple subqueries (i.e., it represents a single action or request), treat the entire query as one subquery and still follow the output format\n\nOutput Format:\nYou MUST return the output in the following JSON format. Do not include any other text before or after the JSON:\n[\n {\n \"subquery\": \"<subquery_1>\",\n \"intentName\": \"<intent_name_1>\",\n\t\t\"actionPlan\": \"<2-3 sentence description of what will be done for this subquery>\"\n\t},\n {\n \"subquery\": \"<subquery_2>\",\n \"intentName\": \"<intent_name_2>\",\n\t\t\"actionPlan\": \"<2-3 sentence description of what will be done for this subquery>\"\n },\n ...\n]\n\nRequirements:\n- Each subquery should represent a single, actionable task or request\n- Preserve the original meaning and context when splitting queries\n- Select only from the provided intent list\n- DO NOT set intentName for any subquery that doesn't match available intents.\n- Even if the query is simple and cannot be decomposed, return it as a single-element array with one subquery object`;\n\n\t\tconst messages = modelInstance.generateMessages({\n\t\t\tquery: userMessage,\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 [{ subquery: query }];\n\t\t}\n\n\t\tlet subqueries: any;\n\t\ttry {\n\t\t\tsubqueries = JSON.parse(response.content);\n\t\t} catch (error: unknown) {\n\t\t\treturn [{ subquery: query }];\n\t\t}\n\n\t\tconst triggeredIntent: 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\ttriggeredIntent.push(item);\n\t\t}\n\n\t\treturn triggeredIntent;\n\t}\n}\n"],"mappings":";;;;;AAYO,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,QACkC;AAClC,UAAM,gBAAgB,KAAK,YAAY,SAAS;AAChD,UAAM,eAAe,KAAK,YAAY,gBAAgB;AACtD,UAAM,eAAe,KAAK,aAAa,gBAAgB;AACvD,QAAI,CAAC,cAAc;AAClB,aAAO,CAAC,EAAE,UAAU,MAAM,CAAC;AAAA,IAC5B;AAGA,UAAM,UAAU,MAAM,aAAa,YAAY;AAE/C,QAAI,QAAQ,WAAW,GAAG;AACzB,cAAQ,aAAa,KAAK,iBAAiB;AAC3C,aAAO,CAAC,EAAE,UAAU,MAAM,CAAC;AAAA,IAC5B;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;AAAA,YACZ,oBAAI,KAAK,GAAE,mBAAmB,CAAC;AAAA;AAAA;AAAA;AAAA,EAIxC,UAAU;AAAA;AAAA;AAIV,UAAM,cAAc;AAAA,EAErB,mBAAmB,KAChB,4DAA4D,cAAc;AAAA;AAAA,KAG1E,EACJ;AAAA,uBACuB,KAAK;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAmC1B,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,CAAC,EAAE,UAAU,MAAM,CAAC;AAAA,IAC5B;AAEA,QAAI;AACJ,QAAI;AACH,mBAAa,KAAK,MAAM,SAAS,OAAO;AAAA,IACzC,SAAS,OAAgB;AACxB,aAAO,CAAC,EAAE,UAAU,MAAM,CAAC;AAAA,IAC5B;AAEA,UAAM,kBAA0C,CAAC;AACjD,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,sBAAgB,KAAK,IAAI;AAAA,IAC1B;AAEA,WAAO;AAAA,EACR;AACD;","names":[]}
|