@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,170 @@
|
|
|
1
|
+
import {
|
|
2
|
+
AGGREGATE_DECISION_SYSTEM_PROMPT,
|
|
3
|
+
AGGREGATE_GENERATION_SYSTEM_PROMPT
|
|
4
|
+
} from "./chunk-O3MPFL5J.js";
|
|
5
|
+
import {
|
|
6
|
+
loggers
|
|
7
|
+
} from "./chunk-VUMI4XOY.js";
|
|
8
|
+
import {
|
|
9
|
+
getManifest
|
|
10
|
+
} from "./chunk-2J2TQRP4.js";
|
|
11
|
+
|
|
12
|
+
// src/services/intents/aggregate.service.ts
|
|
13
|
+
var AggregateService = class {
|
|
14
|
+
modelModule;
|
|
15
|
+
constructor(modelModule) {
|
|
16
|
+
this.modelModule = modelModule;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Analyzes fulfillment results and either returns the last response as-is
|
|
20
|
+
* or generates a unified response combining all results.
|
|
21
|
+
*
|
|
22
|
+
* @param originalQuery - The user's original query
|
|
23
|
+
* @param results - Array of fulfillment results from each intent
|
|
24
|
+
* @returns AsyncGenerator yielding StreamEvent objects
|
|
25
|
+
*/
|
|
26
|
+
async *aggregateIfNeeded(originalQuery, results) {
|
|
27
|
+
if (results.length <= 1) {
|
|
28
|
+
const response = results[0]?.response ?? "";
|
|
29
|
+
if (response) {
|
|
30
|
+
yield {
|
|
31
|
+
event: "text_chunk",
|
|
32
|
+
data: { delta: response }
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
const decision = await this.shouldAggregate(originalQuery, results);
|
|
38
|
+
loggers.intent.info("Aggregate decision", {
|
|
39
|
+
needsAggregation: decision.needsAggregation,
|
|
40
|
+
reason: decision.reason
|
|
41
|
+
});
|
|
42
|
+
if (!decision.needsAggregation) {
|
|
43
|
+
yield {
|
|
44
|
+
event: "text_chunk",
|
|
45
|
+
data: { delta: results[results.length - 1].response }
|
|
46
|
+
};
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
49
|
+
yield {
|
|
50
|
+
event: "thinking_process",
|
|
51
|
+
data: {
|
|
52
|
+
title: `[${getManifest().name}] \uC751\uB2F5 \uD1B5\uD569 \uC911`,
|
|
53
|
+
description: decision.reason || "\uC5EC\uB7EC \uC791\uC5C5 \uACB0\uACFC\uB97C \uD558\uB098\uC758 \uC751\uB2F5\uC73C\uB85C \uD1B5\uD569\uD569\uB2C8\uB2E4."
|
|
54
|
+
}
|
|
55
|
+
};
|
|
56
|
+
yield* this.generateAggregatedResponse(originalQuery, results);
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Asks LLM to decide whether the results need to be aggregated.
|
|
60
|
+
*/
|
|
61
|
+
async shouldAggregate(originalQuery, results) {
|
|
62
|
+
const modelInstance = this.modelModule.getModel();
|
|
63
|
+
const modelOptions = this.modelModule.getModelOptions();
|
|
64
|
+
const prompt = this.buildDecisionPrompt(originalQuery, results);
|
|
65
|
+
const emptyThread = {
|
|
66
|
+
messages: [],
|
|
67
|
+
userId: "",
|
|
68
|
+
threadId: "",
|
|
69
|
+
type: "CHAT",
|
|
70
|
+
title: ""
|
|
71
|
+
};
|
|
72
|
+
const messages = modelInstance.generateMessages({
|
|
73
|
+
query: prompt,
|
|
74
|
+
thread: emptyThread,
|
|
75
|
+
systemPrompt: AGGREGATE_DECISION_SYSTEM_PROMPT
|
|
76
|
+
});
|
|
77
|
+
try {
|
|
78
|
+
const response = await modelInstance.fetchWithContextMessage(
|
|
79
|
+
messages,
|
|
80
|
+
[],
|
|
81
|
+
modelOptions
|
|
82
|
+
);
|
|
83
|
+
const responseText = response.content ?? "";
|
|
84
|
+
let jsonStr = responseText;
|
|
85
|
+
const jsonMatch = responseText.match(/```(?:json)?\s*([\s\S]*?)```/);
|
|
86
|
+
if (jsonMatch) {
|
|
87
|
+
jsonStr = jsonMatch[1].trim();
|
|
88
|
+
}
|
|
89
|
+
const parsed = JSON.parse(jsonStr);
|
|
90
|
+
return {
|
|
91
|
+
needsAggregation: parsed.needsAggregation ?? true,
|
|
92
|
+
reason: parsed.reason ?? ""
|
|
93
|
+
};
|
|
94
|
+
} catch (error) {
|
|
95
|
+
loggers.intent.warn(
|
|
96
|
+
"Failed to parse aggregate decision, defaulting to aggregate",
|
|
97
|
+
{
|
|
98
|
+
error
|
|
99
|
+
}
|
|
100
|
+
);
|
|
101
|
+
return { needsAggregation: true, reason: "Failed to parse decision" };
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Generates a unified response by streaming from the model.
|
|
106
|
+
*/
|
|
107
|
+
async *generateAggregatedResponse(originalQuery, results) {
|
|
108
|
+
const modelInstance = this.modelModule.getModel();
|
|
109
|
+
const modelOptions = this.modelModule.getModelOptions();
|
|
110
|
+
const prompt = this.buildAggregatePrompt(originalQuery, results);
|
|
111
|
+
const emptyThread = {
|
|
112
|
+
messages: [],
|
|
113
|
+
userId: "",
|
|
114
|
+
threadId: "",
|
|
115
|
+
type: "CHAT",
|
|
116
|
+
title: ""
|
|
117
|
+
};
|
|
118
|
+
const messages = modelInstance.generateMessages({
|
|
119
|
+
query: prompt,
|
|
120
|
+
thread: emptyThread,
|
|
121
|
+
systemPrompt: AGGREGATE_GENERATION_SYSTEM_PROMPT
|
|
122
|
+
});
|
|
123
|
+
const stream = await modelInstance.fetchStreamWithContextMessage(
|
|
124
|
+
messages,
|
|
125
|
+
[],
|
|
126
|
+
modelOptions
|
|
127
|
+
);
|
|
128
|
+
for await (const chunk of stream) {
|
|
129
|
+
if (chunk.delta?.content) {
|
|
130
|
+
yield {
|
|
131
|
+
event: "text_chunk",
|
|
132
|
+
data: { delta: chunk.delta.content }
|
|
133
|
+
};
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* Builds the prompt for the aggregation decision.
|
|
139
|
+
*/
|
|
140
|
+
buildDecisionPrompt(originalQuery, results) {
|
|
141
|
+
const resultsText = results.map(
|
|
142
|
+
(r, i) => `[Task ${i + 1}] ${r.subquery}
|
|
143
|
+
[Response ${i + 1}] ${r.response}`
|
|
144
|
+
).join("\n\n---\n\n");
|
|
145
|
+
return `Original Query: ${originalQuery}
|
|
146
|
+
|
|
147
|
+
Results:
|
|
148
|
+
${resultsText}`;
|
|
149
|
+
}
|
|
150
|
+
/**
|
|
151
|
+
* Builds the prompt for generating an aggregated response.
|
|
152
|
+
*/
|
|
153
|
+
buildAggregatePrompt(originalQuery, results) {
|
|
154
|
+
const resultsText = results.map(
|
|
155
|
+
(r, i) => `[Task ${i + 1}] ${r.subquery}
|
|
156
|
+
[Response ${i + 1}] ${r.response}`
|
|
157
|
+
).join("\n\n---\n\n");
|
|
158
|
+
return `Original Query: ${originalQuery}
|
|
159
|
+
|
|
160
|
+
All task results:
|
|
161
|
+
${resultsText}
|
|
162
|
+
|
|
163
|
+
Please provide a unified response that addresses the original query.`;
|
|
164
|
+
}
|
|
165
|
+
};
|
|
166
|
+
|
|
167
|
+
export {
|
|
168
|
+
AggregateService
|
|
169
|
+
};
|
|
170
|
+
//# sourceMappingURL=chunk-TQJCYP7X.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/services/intents/aggregate.service.ts"],"sourcesContent":["import { getManifest } from \"@/config/manifest\";\nimport type { ModelModule } from \"@/modules\";\nimport type { FulfillmentResult, ThreadType } from \"@/types/memory\";\nimport type { StreamEvent } from \"@/types/stream\";\nimport { loggers } from \"@/utils/logger\";\nimport {\n\tAGGREGATE_DECISION_SYSTEM_PROMPT,\n\tAGGREGATE_GENERATION_SYSTEM_PROMPT,\n} from \"../utils/aggregate.common\";\n\ninterface AggregateDecision {\n\tneedsAggregation: boolean;\n\treason: string;\n}\n\n/**\n * Service for determining whether multiple fulfillment results need to be\n * aggregated into a unified response, and generating that response if needed.\n */\nexport class AggregateService {\n\tprivate modelModule: ModelModule;\n\n\tconstructor(modelModule: ModelModule) {\n\t\tthis.modelModule = modelModule;\n\t}\n\n\t/**\n\t * Analyzes fulfillment results and either returns the last response as-is\n\t * or generates a unified response combining all results.\n\t *\n\t * @param originalQuery - The user's original query\n\t * @param results - Array of fulfillment results from each intent\n\t * @returns AsyncGenerator yielding StreamEvent objects\n\t */\n\tpublic async *aggregateIfNeeded(\n\t\toriginalQuery: string,\n\t\tresults: FulfillmentResult[],\n\t): AsyncGenerator<StreamEvent> {\n\t\t// Single result doesn't need aggregation\n\t\tif (results.length <= 1) {\n\t\t\tconst response = results[0]?.response ?? \"\";\n\t\t\tif (response) {\n\t\t\t\tyield {\n\t\t\t\t\tevent: \"text_chunk\",\n\t\t\t\t\tdata: { delta: response },\n\t\t\t\t};\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\n\t\t// Ask LLM whether aggregation is needed\n\t\tconst decision = await this.shouldAggregate(originalQuery, results);\n\n\t\tloggers.intent.info(\"Aggregate decision\", {\n\t\t\tneedsAggregation: decision.needsAggregation,\n\t\t\treason: decision.reason,\n\t\t});\n\n\t\tif (!decision.needsAggregation) {\n\t\t\t// Last response already contains aggregated content\n\t\t\tyield {\n\t\t\t\tevent: \"text_chunk\",\n\t\t\t\tdata: { delta: results[results.length - 1].response },\n\t\t\t};\n\t\t\treturn;\n\t\t}\n\n\t\t// Emit thinking_process event for aggregate step\n\t\tyield {\n\t\t\tevent: \"thinking_process\",\n\t\t\tdata: {\n\t\t\t\ttitle: `[${getManifest().name}] 응답 통합 중`,\n\t\t\t\tdescription:\n\t\t\t\t\tdecision.reason || \"여러 작업 결과를 하나의 응답으로 통합합니다.\",\n\t\t\t},\n\t\t};\n\n\t\t// Generate unified response (streaming)\n\t\tyield* this.generateAggregatedResponse(originalQuery, results);\n\t}\n\n\t/**\n\t * Asks LLM to decide whether the results need to be aggregated.\n\t */\n\tprivate async shouldAggregate(\n\t\toriginalQuery: string,\n\t\tresults: FulfillmentResult[],\n\t): Promise<AggregateDecision> {\n\t\tconst modelInstance = this.modelModule.getModel();\n\t\tconst modelOptions = this.modelModule.getModelOptions();\n\n\t\tconst prompt = this.buildDecisionPrompt(originalQuery, results);\n\n\t\tconst emptyThread = {\n\t\t\tmessages: [],\n\t\t\tuserId: \"\",\n\t\t\tthreadId: \"\",\n\t\t\ttype: \"CHAT\" as ThreadType,\n\t\t\ttitle: \"\",\n\t\t};\n\n\t\tconst messages = modelInstance.generateMessages({\n\t\t\tquery: prompt,\n\t\t\tthread: emptyThread,\n\t\t\tsystemPrompt: AGGREGATE_DECISION_SYSTEM_PROMPT,\n\t\t});\n\n\t\ttry {\n\t\t\tconst response = await modelInstance.fetchWithContextMessage(\n\t\t\t\tmessages,\n\t\t\t\t[],\n\t\t\t\tmodelOptions,\n\t\t\t);\n\n\t\t\t// Extract JSON from response (handle markdown code blocks)\n\t\t\tconst responseText = response.content ?? \"\";\n\t\t\tlet jsonStr = responseText;\n\t\t\tconst jsonMatch = responseText.match(/```(?:json)?\\s*([\\s\\S]*?)```/);\n\t\t\tif (jsonMatch) {\n\t\t\t\tjsonStr = jsonMatch[1].trim();\n\t\t\t}\n\n\t\t\tconst parsed = JSON.parse(jsonStr);\n\t\t\treturn {\n\t\t\t\tneedsAggregation: parsed.needsAggregation ?? true,\n\t\t\t\treason: parsed.reason ?? \"\",\n\t\t\t};\n\t\t} catch (error) {\n\t\t\tloggers.intent.warn(\n\t\t\t\t\"Failed to parse aggregate decision, defaulting to aggregate\",\n\t\t\t\t{\n\t\t\t\t\terror,\n\t\t\t\t},\n\t\t\t);\n\t\t\t// Default to aggregating if parsing fails\n\t\t\treturn { needsAggregation: true, reason: \"Failed to parse decision\" };\n\t\t}\n\t}\n\n\t/**\n\t * Generates a unified response by streaming from the model.\n\t */\n\tprivate async *generateAggregatedResponse(\n\t\toriginalQuery: string,\n\t\tresults: FulfillmentResult[],\n\t): AsyncGenerator<StreamEvent> {\n\t\tconst modelInstance = this.modelModule.getModel();\n\t\tconst modelOptions = this.modelModule.getModelOptions();\n\n\t\tconst prompt = this.buildAggregatePrompt(originalQuery, results);\n\n\t\tconst emptyThread = {\n\t\t\tmessages: [],\n\t\t\tuserId: \"\",\n\t\t\tthreadId: \"\",\n\t\t\ttype: \"CHAT\" as ThreadType,\n\t\t\ttitle: \"\",\n\t\t};\n\n\t\tconst messages = modelInstance.generateMessages({\n\t\t\tquery: prompt,\n\t\t\tthread: emptyThread,\n\t\t\tsystemPrompt: AGGREGATE_GENERATION_SYSTEM_PROMPT,\n\t\t});\n\n\t\tconst stream = await modelInstance.fetchStreamWithContextMessage(\n\t\t\tmessages,\n\t\t\t[],\n\t\t\tmodelOptions,\n\t\t);\n\n\t\tfor await (const chunk of stream) {\n\t\t\tif (chunk.delta?.content) {\n\t\t\t\tyield {\n\t\t\t\t\tevent: \"text_chunk\",\n\t\t\t\t\tdata: { delta: chunk.delta.content },\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Builds the prompt for the aggregation decision.\n\t */\n\tprivate buildDecisionPrompt(\n\t\toriginalQuery: string,\n\t\tresults: FulfillmentResult[],\n\t): string {\n\t\tconst resultsText = results\n\t\t\t.map(\n\t\t\t\t(r, i) =>\n\t\t\t\t\t`[Task ${i + 1}] ${r.subquery}\\n[Response ${i + 1}] ${r.response}`,\n\t\t\t)\n\t\t\t.join(\"\\n\\n---\\n\\n\");\n\n\t\treturn `Original Query: ${originalQuery}\n\nResults:\n${resultsText}`;\n\t}\n\n\t/**\n\t * Builds the prompt for generating an aggregated response.\n\t */\n\tprivate buildAggregatePrompt(\n\t\toriginalQuery: string,\n\t\tresults: FulfillmentResult[],\n\t): string {\n\t\tconst resultsText = results\n\t\t\t.map(\n\t\t\t\t(r, i) =>\n\t\t\t\t\t`[Task ${i + 1}] ${r.subquery}\\n[Response ${i + 1}] ${r.response}`,\n\t\t\t)\n\t\t\t.join(\"\\n\\n---\\n\\n\");\n\n\t\treturn `Original Query: ${originalQuery}\n\nAll task results:\n${resultsText}\n\nPlease provide a unified response that addresses the original query.`;\n\t}\n}\n"],"mappings":";;;;;;;;;;;;AAmBO,IAAM,mBAAN,MAAuB;AAAA,EACrB;AAAA,EAER,YAAY,aAA0B;AACrC,SAAK,cAAc;AAAA,EACpB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUA,OAAc,kBACb,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,WAAW,MAAM,KAAK,gBAAgB,eAAe,OAAO;AAElE,YAAQ,OAAO,KAAK,sBAAsB;AAAA,MACzC,kBAAkB,SAAS;AAAA,MAC3B,QAAQ,SAAS;AAAA,IAClB,CAAC;AAED,QAAI,CAAC,SAAS,kBAAkB;AAE/B,YAAM;AAAA,QACL,OAAO;AAAA,QACP,MAAM,EAAE,OAAO,QAAQ,QAAQ,SAAS,CAAC,EAAE,SAAS;AAAA,MACrD;AACA;AAAA,IACD;AAGA,UAAM;AAAA,MACL,OAAO;AAAA,MACP,MAAM;AAAA,QACL,OAAO,IAAI,YAAY,EAAE,IAAI;AAAA,QAC7B,aACC,SAAS,UAAU;AAAA,MACrB;AAAA,IACD;AAGA,WAAO,KAAK,2BAA2B,eAAe,OAAO;AAAA,EAC9D;AAAA;AAAA;AAAA;AAAA,EAKA,MAAc,gBACb,eACA,SAC6B;AAC7B,UAAM,gBAAgB,KAAK,YAAY,SAAS;AAChD,UAAM,eAAe,KAAK,YAAY,gBAAgB;AAEtD,UAAM,SAAS,KAAK,oBAAoB,eAAe,OAAO;AAE9D,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,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,cAAc;AAAA,IACf,CAAC;AAED,QAAI;AACH,YAAM,WAAW,MAAM,cAAc;AAAA,QACpC;AAAA,QACA,CAAC;AAAA,QACD;AAAA,MACD;AAGA,YAAM,eAAe,SAAS,WAAW;AACzC,UAAI,UAAU;AACd,YAAM,YAAY,aAAa,MAAM,8BAA8B;AACnE,UAAI,WAAW;AACd,kBAAU,UAAU,CAAC,EAAE,KAAK;AAAA,MAC7B;AAEA,YAAM,SAAS,KAAK,MAAM,OAAO;AACjC,aAAO;AAAA,QACN,kBAAkB,OAAO,oBAAoB;AAAA,QAC7C,QAAQ,OAAO,UAAU;AAAA,MAC1B;AAAA,IACD,SAAS,OAAO;AACf,cAAQ,OAAO;AAAA,QACd;AAAA,QACA;AAAA,UACC;AAAA,QACD;AAAA,MACD;AAEA,aAAO,EAAE,kBAAkB,MAAM,QAAQ,2BAA2B;AAAA,IACrE;AAAA,EACD;AAAA;AAAA;AAAA;AAAA,EAKA,OAAe,2BACd,eACA,SAC8B;AAC9B,UAAM,gBAAgB,KAAK,YAAY,SAAS;AAChD,UAAM,eAAe,KAAK,YAAY,gBAAgB;AAEtD,UAAM,SAAS,KAAK,qBAAqB,eAAe,OAAO;AAE/D,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,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,cAAc;AAAA,IACf,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,EACZ;AAAA;AAAA;AAAA;AAAA,EAKQ,qBACP,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":[]}
|
|
@@ -5,15 +5,15 @@ var ThreadService = class {
|
|
|
5
5
|
this.memoryModule = memoryModule;
|
|
6
6
|
}
|
|
7
7
|
async getThread(userId, threadId) {
|
|
8
|
-
const threadMemory = this.memoryModule
|
|
9
|
-
if (!
|
|
8
|
+
const threadMemory = this.memoryModule.getThreadMemory();
|
|
9
|
+
if (!threadMemory) {
|
|
10
10
|
return;
|
|
11
11
|
}
|
|
12
12
|
return await threadMemory.getThread(userId, threadId);
|
|
13
13
|
}
|
|
14
14
|
async createThread(type, userId, threadId, title) {
|
|
15
|
-
const threadMemory = this.memoryModule
|
|
16
|
-
if (!
|
|
15
|
+
const threadMemory = this.memoryModule.getThreadMemory();
|
|
16
|
+
if (!threadMemory) {
|
|
17
17
|
return {
|
|
18
18
|
type,
|
|
19
19
|
userId,
|
|
@@ -31,8 +31,8 @@ var ThreadService = class {
|
|
|
31
31
|
return { ...metadata, messages: [] };
|
|
32
32
|
}
|
|
33
33
|
async addMessagesToThread(userId, threadId, messages) {
|
|
34
|
-
const threadMemory = this.memoryModule
|
|
35
|
-
if (!
|
|
34
|
+
const threadMemory = this.memoryModule.getThreadMemory();
|
|
35
|
+
if (!threadMemory) {
|
|
36
36
|
return;
|
|
37
37
|
}
|
|
38
38
|
await threadMemory.addMessagesToThread(userId, threadId, messages);
|
|
@@ -42,4 +42,4 @@ var ThreadService = class {
|
|
|
42
42
|
export {
|
|
43
43
|
ThreadService
|
|
44
44
|
};
|
|
45
|
-
//# sourceMappingURL=chunk-
|
|
45
|
+
//# sourceMappingURL=chunk-V23GKNNJ.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/services/thread.service.ts"],"sourcesContent":["import type { MemoryModule } from \"@/modules\";\nimport type {\n\tMessageObject,\n\tThreadMetadata,\n\tThreadObject,\n\tThreadType,\n} from \"@/types/memory\";\n\nexport class ThreadService {\n\tprivate memoryModule: MemoryModule;\n\n\tconstructor(memoryModule: MemoryModule) {\n\t\tthis.memoryModule = memoryModule;\n\t}\n\n\tpublic async getThread(\n\t\tuserId: string,\n\t\tthreadId: string,\n\t): Promise<ThreadObject | undefined> {\n\t\tconst threadMemory = this.memoryModule.getThreadMemory();\n\t\tif (!threadMemory) {\n\t\t\treturn;\n\t\t}\n\n\t\treturn await threadMemory.getThread(userId, threadId);\n\t}\n\n\tpublic async createThread(\n\t\ttype: ThreadType,\n\t\tuserId: string,\n\t\tthreadId: string,\n\t\ttitle: string,\n\t): Promise<ThreadObject> {\n\t\tconst threadMemory = this.memoryModule.getThreadMemory();\n\t\tif (!threadMemory) {\n\t\t\treturn {\n\t\t\t\ttype,\n\t\t\t\tuserId,\n\t\t\t\tthreadId,\n\t\t\t\ttitle,\n\t\t\t\tmessages: [],\n\t\t\t};\n\t\t}\n\n\t\tconst metadata: ThreadMetadata = await threadMemory.createThread(\n\t\t\ttype,\n\t\t\tuserId,\n\t\t\tthreadId,\n\t\t\ttitle,\n\t\t);\n\t\treturn { ...metadata, messages: [] };\n\t}\n\n\tpublic async addMessagesToThread(\n\t\tuserId: string,\n\t\tthreadId: string,\n\t\tmessages: Array<MessageObject>,\n\t): Promise<void> {\n\t\tconst threadMemory = this.memoryModule.getThreadMemory();\n\t\tif (!threadMemory) {\n\t\t\treturn;\n\t\t}\n\n\t\tawait threadMemory.addMessagesToThread(userId, threadId, messages);\n\t}\n}\n"],"mappings":";AAQO,IAAM,gBAAN,MAAoB;AAAA,EAClB;AAAA,EAER,YAAY,cAA4B;AACvC,SAAK,eAAe;AAAA,EACrB;AAAA,EAEA,MAAa,UACZ,QACA,UACoC;AACpC,UAAM,eAAe,KAAK,aAAa,gBAAgB;AACvD,QAAI,CAAC,cAAc;AAClB;AAAA,IACD;AAEA,WAAO,MAAM,aAAa,UAAU,QAAQ,QAAQ;AAAA,EACrD;AAAA,EAEA,MAAa,aACZ,MACA,QACA,UACA,OACwB;AACxB,UAAM,eAAe,KAAK,aAAa,gBAAgB;AACvD,QAAI,CAAC,cAAc;AAClB,aAAO;AAAA,QACN;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA,UAAU,CAAC;AAAA,MACZ;AAAA,IACD;AAEA,UAAM,WAA2B,MAAM,aAAa;AAAA,MACnD;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACD;AACA,WAAO,EAAE,GAAG,UAAU,UAAU,CAAC,EAAE;AAAA,EACpC;AAAA,EAEA,MAAa,oBACZ,QACA,UACA,UACgB;AAChB,UAAM,eAAe,KAAK,aAAa,gBAAgB;AACvD,QAAI,CAAC,cAAc;AAClB;AAAA,IACD;AAEA,UAAM,aAAa,oBAAoB,QAAQ,UAAU,QAAQ;AAAA,EAClE;AACD;","names":[]}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
// src/config/agent.ts
|
|
2
|
+
var _agent = null;
|
|
3
|
+
function setAgent(agent) {
|
|
4
|
+
_agent = agent;
|
|
5
|
+
}
|
|
6
|
+
function getAgent() {
|
|
7
|
+
if (!_agent) {
|
|
8
|
+
throw new Error("Agent not initialized. AINAgent must be created first.");
|
|
9
|
+
}
|
|
10
|
+
return _agent;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export {
|
|
14
|
+
setAgent,
|
|
15
|
+
getAgent
|
|
16
|
+
};
|
|
17
|
+
//# sourceMappingURL=chunk-VBK4WM2M.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/config/agent.ts"],"sourcesContent":["import type { AINAgent } from \"@/index\";\n\nlet _agent: AINAgent | null = null;\n\nexport function setAgent(agent: AINAgent): void {\n\t_agent = agent;\n}\n\nexport function getAgent(): AINAgent {\n\tif (!_agent) {\n\t\tthrow new Error(\"Agent not initialized. AINAgent must be created first.\");\n\t}\n\treturn _agent;\n}\n"],"mappings":";AAEA,IAAI,SAA0B;AAEvB,SAAS,SAAS,OAAuB;AAC/C,WAAS;AACV;AAEO,SAAS,WAAqB;AACpC,MAAI,CAAC,QAAQ;AACZ,UAAM,IAAI,MAAM,wDAAwD;AAAA,EACzE;AACA,SAAO;AACR;","names":[]}
|
|
@@ -1,19 +1,23 @@
|
|
|
1
1
|
import {
|
|
2
|
-
|
|
3
|
-
} from "./chunk-
|
|
2
|
+
container
|
|
3
|
+
} from "./chunk-IG3B5AXN.js";
|
|
4
4
|
import {
|
|
5
5
|
AinHttpError
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-C5JXXLCW.js";
|
|
7
|
+
import {
|
|
8
|
+
getMemoryModule
|
|
9
|
+
} from "./chunk-VSQVYW2H.js";
|
|
7
10
|
|
|
8
11
|
// src/routes/api/intent.routes.ts
|
|
9
12
|
import {
|
|
10
13
|
Router
|
|
11
14
|
} from "express";
|
|
12
15
|
import { StatusCodes } from "http-status-codes";
|
|
13
|
-
var createIntentApiRouter = (
|
|
16
|
+
var createIntentApiRouter = () => {
|
|
14
17
|
const router = Router();
|
|
15
|
-
const intentApiController =
|
|
18
|
+
const intentApiController = container.getIntentApiController();
|
|
16
19
|
const checkThreadMemory = (_req, _res, next) => {
|
|
20
|
+
const memoryModule = getMemoryModule();
|
|
17
21
|
const threadMemory = memoryModule.getThreadMemory();
|
|
18
22
|
if (!threadMemory) {
|
|
19
23
|
const error = new AinHttpError(
|
|
@@ -26,8 +30,8 @@ var createIntentApiRouter = (memoryModule) => {
|
|
|
26
30
|
};
|
|
27
31
|
router.get("/", checkThreadMemory, intentApiController.handleGetAllIntents);
|
|
28
32
|
router.post("/save", checkThreadMemory, intentApiController.handleSaveIntent);
|
|
29
|
-
router.
|
|
30
|
-
"/:id",
|
|
33
|
+
router.post(
|
|
34
|
+
"/delete/:id",
|
|
31
35
|
checkThreadMemory,
|
|
32
36
|
intentApiController.handleDeleteIntent
|
|
33
37
|
);
|
|
@@ -37,4 +41,4 @@ var createIntentApiRouter = (memoryModule) => {
|
|
|
37
41
|
export {
|
|
38
42
|
createIntentApiRouter
|
|
39
43
|
};
|
|
40
|
-
//# sourceMappingURL=chunk-
|
|
44
|
+
//# sourceMappingURL=chunk-VP5Q63JU.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/routes/api/intent.routes.ts"],"sourcesContent":["import {\n\ttype NextFunction,\n\ttype Request,\n\ttype Response,\n\tRouter,\n} from \"express\";\nimport { StatusCodes } from \"http-status-codes\";\nimport { getMemoryModule } from \"@/config/modules\";\nimport { container } from \"@/container\";\nimport { AinHttpError } from \"@/types/agent\";\n\nexport const createIntentApiRouter = (): Router => {\n\tconst router = Router();\n\tconst intentApiController = container.getIntentApiController();\n\n\tconst checkThreadMemory = (\n\t\t_req: Request,\n\t\t_res: Response,\n\t\tnext: NextFunction,\n\t) => {\n\t\tconst memoryModule = getMemoryModule();\n\t\tconst threadMemory = memoryModule.getThreadMemory();\n\t\tif (!threadMemory) {\n\t\t\tconst error = new AinHttpError(\n\t\t\t\tStatusCodes.SERVICE_UNAVAILABLE,\n\t\t\t\t\"Memory module is not initialized\",\n\t\t\t);\n\t\t\tthrow error;\n\t\t}\n\t\tnext();\n\t};\n\n\t// APIs (prefix: /api/intent)\n\trouter.get(\"/\", checkThreadMemory, intentApiController.handleGetAllIntents);\n\trouter.post(\"/save\", checkThreadMemory, intentApiController.handleSaveIntent);\n\trouter.post(\n\t\t\"/delete/:id\",\n\t\tcheckThreadMemory,\n\t\tintentApiController.handleDeleteIntent,\n\t);\n\n\treturn router;\n};\n"],"mappings":";;;;;;;;;;;AAAA;AAAA,EAIC;AAAA,OACM;AACP,SAAS,mBAAmB;AAKrB,IAAM,wBAAwB,MAAc;AAClD,QAAM,SAAS,OAAO;AACtB,QAAM,sBAAsB,UAAU,uBAAuB;AAE7D,QAAM,oBAAoB,CACzB,MACA,MACA,SACI;AACJ,UAAM,eAAe,gBAAgB;AACrC,UAAM,eAAe,aAAa,gBAAgB;AAClD,QAAI,CAAC,cAAc;AAClB,YAAM,QAAQ,IAAI;AAAA,QACjB,YAAY;AAAA,QACZ;AAAA,MACD;AACA,YAAM;AAAA,IACP;AACA,SAAK;AAAA,EACN;AAGA,SAAO,IAAI,KAAK,mBAAmB,oBAAoB,mBAAmB;AAC1E,SAAO,KAAK,SAAS,mBAAmB,oBAAoB,gBAAgB;AAC5E,SAAO;AAAA,IACN;AAAA,IACA;AAAA,IACA,oBAAoB;AAAA,EACrB;AAEA,SAAO;AACR;","names":[]}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
// src/config/modules.ts
|
|
2
|
+
var _modules = null;
|
|
3
|
+
function setModules(modules) {
|
|
4
|
+
_modules = modules;
|
|
5
|
+
}
|
|
6
|
+
function getModules() {
|
|
7
|
+
if (!_modules) {
|
|
8
|
+
throw new Error("Modules not initialized. AINAgent must be created first.");
|
|
9
|
+
}
|
|
10
|
+
return _modules;
|
|
11
|
+
}
|
|
12
|
+
function getModelModule() {
|
|
13
|
+
return getModules().modelModule;
|
|
14
|
+
}
|
|
15
|
+
function getMemoryModule() {
|
|
16
|
+
return getModules().memoryModule;
|
|
17
|
+
}
|
|
18
|
+
function getAuthModule() {
|
|
19
|
+
return getModules().authModule;
|
|
20
|
+
}
|
|
21
|
+
function getA2AModule() {
|
|
22
|
+
return getModules().a2aModule;
|
|
23
|
+
}
|
|
24
|
+
function getMCPModule() {
|
|
25
|
+
return getModules().mcpModule;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
export {
|
|
29
|
+
setModules,
|
|
30
|
+
getModules,
|
|
31
|
+
getModelModule,
|
|
32
|
+
getMemoryModule,
|
|
33
|
+
getAuthModule,
|
|
34
|
+
getA2AModule,
|
|
35
|
+
getMCPModule
|
|
36
|
+
};
|
|
37
|
+
//# sourceMappingURL=chunk-VSQVYW2H.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/config/modules.ts"],"sourcesContent":["import type {\n\tA2AModule,\n\tAuthModule,\n\tMCPModule,\n\tMemoryModule,\n\tModelModule,\n} from \"@/modules\";\n\nexport interface AgentModules {\n\tmodelModule: ModelModule;\n\tmemoryModule: MemoryModule;\n\tauthModule?: AuthModule;\n\ta2aModule?: A2AModule;\n\tmcpModule?: MCPModule;\n}\n\nlet _modules: AgentModules | null = null;\n\nexport function setModules(modules: AgentModules): void {\n\t_modules = modules;\n}\n\nexport function getModules(): AgentModules {\n\tif (!_modules) {\n\t\tthrow new Error(\"Modules not initialized. AINAgent must be created first.\");\n\t}\n\treturn _modules;\n}\n\nexport function getModelModule(): ModelModule {\n\treturn getModules().modelModule;\n}\n\nexport function getMemoryModule(): MemoryModule {\n\treturn getModules().memoryModule;\n}\n\nexport function getAuthModule(): AuthModule | undefined {\n\treturn getModules().authModule;\n}\n\nexport function getA2AModule(): A2AModule | undefined {\n\treturn getModules().a2aModule;\n}\n\nexport function getMCPModule(): MCPModule | undefined {\n\treturn getModules().mcpModule;\n}\n"],"mappings":";AAgBA,IAAI,WAAgC;AAE7B,SAAS,WAAW,SAA6B;AACvD,aAAW;AACZ;AAEO,SAAS,aAA2B;AAC1C,MAAI,CAAC,UAAU;AACd,UAAM,IAAI,MAAM,0DAA0D;AAAA,EAC3E;AACA,SAAO;AACR;AAEO,SAAS,iBAA8B;AAC7C,SAAO,WAAW,EAAE;AACrB;AAEO,SAAS,kBAAgC;AAC/C,SAAO,WAAW,EAAE;AACrB;AAEO,SAAS,gBAAwC;AACvD,SAAO,WAAW,EAAE;AACrB;AAEO,SAAS,eAAsC;AACrD,SAAO,WAAW,EAAE;AACrB;AAEO,SAAS,eAAsC;AACrD,SAAO,WAAW,EAAE;AACrB;","names":[]}
|
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
// src/controllers/api/agent.api.controller.ts
|
|
2
2
|
var AgentApiController = class {
|
|
3
|
-
|
|
4
|
-
constructor(
|
|
5
|
-
this.
|
|
3
|
+
a2aModule;
|
|
4
|
+
constructor(a2aModule) {
|
|
5
|
+
this.a2aModule = a2aModule;
|
|
6
6
|
}
|
|
7
7
|
handleGetA2AConnectors = async (_req, res, next) => {
|
|
8
8
|
try {
|
|
9
|
-
const
|
|
10
|
-
const conns = a2aModule ? a2aModule.getA2AConnectors() : [];
|
|
9
|
+
const conns = this.a2aModule ? this.a2aModule.getA2AConnectors() : [];
|
|
11
10
|
res.json(conns);
|
|
12
11
|
} catch (error) {
|
|
13
12
|
next(error);
|
|
@@ -18,4 +17,4 @@ var AgentApiController = class {
|
|
|
18
17
|
export {
|
|
19
18
|
AgentApiController
|
|
20
19
|
};
|
|
21
|
-
//# sourceMappingURL=chunk-
|
|
20
|
+
//# sourceMappingURL=chunk-WKFSYGMH.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/controllers/api/agent.api.controller.ts"],"sourcesContent":["import type { NextFunction, Request, Response } from \"express\";\nimport type { A2AModule } from \"@/modules\";\n\nexport class AgentApiController {\n\tprivate a2aModule?: A2AModule;\n\n\tconstructor(a2aModule?: A2AModule) {\n\t\tthis.a2aModule = a2aModule;\n\t}\n\n\tpublic handleGetA2AConnectors = async (\n\t\t_req: Request,\n\t\tres: Response,\n\t\tnext: NextFunction,\n\t) => {\n\t\ttry {\n\t\t\tconst conns = this.a2aModule ? this.a2aModule.getA2AConnectors() : [];\n\t\t\tres.json(conns);\n\t\t} catch (error) {\n\t\t\tnext(error);\n\t\t}\n\t};\n}\n"],"mappings":";AAGO,IAAM,qBAAN,MAAyB;AAAA,EACvB;AAAA,EAER,YAAY,WAAuB;AAClC,SAAK,YAAY;AAAA,EAClB;AAAA,EAEO,yBAAyB,OAC/B,MACA,KACA,SACI;AACJ,QAAI;AACH,YAAM,QAAQ,KAAK,YAAY,KAAK,UAAU,iBAAiB,IAAI,CAAC;AACpE,UAAI,KAAK,KAAK;AAAA,IACf,SAAS,OAAO;AACf,WAAK,KAAK;AAAA,IACX;AAAA,EACD;AACD;","names":[]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
AinHttpError
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-C5JXXLCW.js";
|
|
4
4
|
|
|
5
5
|
// src/middlewares/auth.middleware.ts
|
|
6
6
|
import { StatusCodes } from "http-status-codes";
|
|
@@ -11,6 +11,9 @@ var AuthMiddleware = class {
|
|
|
11
11
|
}
|
|
12
12
|
middleware() {
|
|
13
13
|
return async (req, res, next) => {
|
|
14
|
+
if (!this.auth) {
|
|
15
|
+
return next();
|
|
16
|
+
}
|
|
14
17
|
try {
|
|
15
18
|
const authRes = await this.auth.authenticate(req, res);
|
|
16
19
|
if (authRes.isAuthenticated) {
|
|
@@ -40,4 +43,4 @@ var AuthMiddleware = class {
|
|
|
40
43
|
export {
|
|
41
44
|
AuthMiddleware
|
|
42
45
|
};
|
|
43
|
-
//# sourceMappingURL=chunk-
|
|
46
|
+
//# sourceMappingURL=chunk-YDER5JOU.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/middlewares/auth.middleware.ts"],"sourcesContent":["import type { NextFunction, Request, RequestHandler, Response } from \"express\";\nimport { StatusCodes } from \"http-status-codes\";\nimport type { AuthModule } from \"@/modules\";\nimport { AinHttpError } from \"@/types/agent\";\nimport type { AuthResponse } from \"@/types/auth\";\n\nexport class AuthMiddleware {\n\tprivate auth: AuthModule | undefined;\n\tconstructor(auth: AuthModule | undefined) {\n\t\tthis.auth = auth;\n\t}\n\n\tpublic middleware(): RequestHandler {\n\t\treturn async (req: Request, res: Response, next: NextFunction) => {\n\t\t\tif (!this.auth) {\n\t\t\t\t// If no auth module is provided, skip authentication\n\t\t\t\treturn next();\n\t\t\t}\n\n\t\t\ttry {\n\t\t\t\tconst authRes: AuthResponse = await this.auth.authenticate(req, res);\n\t\t\t\tif (authRes.isAuthenticated) {\n\t\t\t\t\tres.locals.userId = authRes.userId;\n\t\t\t\t\tnext();\n\t\t\t\t} else {\n\t\t\t\t\tconst error: AinHttpError = new AinHttpError(\n\t\t\t\t\t\tStatusCodes.UNAUTHORIZED,\n\t\t\t\t\t\t\"Unauthorized\",\n\t\t\t\t\t);\n\t\t\t\t\tthrow error;\n\t\t\t\t}\n\t\t\t} catch (e: any) {\n\t\t\t\tif (!e.status) {\n\t\t\t\t\tconst error: AinHttpError = new AinHttpError(\n\t\t\t\t\t\tStatusCodes.INTERNAL_SERVER_ERROR,\n\t\t\t\t\t\t`Authentication error: ${JSON.stringify(e)}`,\n\t\t\t\t\t);\n\t\t\t\t\tthrow error;\n\t\t\t\t}\n\t\t\t\tthrow e;\n\t\t\t}\n\t\t};\n\t}\n}\n"],"mappings":";;;;;AACA,SAAS,mBAAmB;AAKrB,IAAM,iBAAN,MAAqB;AAAA,EACnB;AAAA,EACR,YAAY,MAA8B;AACzC,SAAK,OAAO;AAAA,EACb;AAAA,EAEO,aAA6B;AACnC,WAAO,OAAO,KAAc,KAAe,SAAuB;AACjE,UAAI,CAAC,KAAK,MAAM;AAEf,eAAO,KAAK;AAAA,MACb;AAEA,UAAI;AACH,cAAM,UAAwB,MAAM,KAAK,KAAK,aAAa,KAAK,GAAG;AACnE,YAAI,QAAQ,iBAAiB;AAC5B,cAAI,OAAO,SAAS,QAAQ;AAC5B,eAAK;AAAA,QACN,OAAO;AACN,gBAAM,QAAsB,IAAI;AAAA,YAC/B,YAAY;AAAA,YACZ;AAAA,UACD;AACA,gBAAM;AAAA,QACP;AAAA,MACD,SAAS,GAAQ;AAChB,YAAI,CAAC,EAAE,QAAQ;AACd,gBAAM,QAAsB,IAAI;AAAA,YAC/B,YAAY;AAAA,YACZ,yBAAyB,KAAK,UAAU,CAAC,CAAC;AAAA,UAC3C;AACA,gBAAM;AAAA,QACP;AACA,cAAM;AAAA,MACP;AAAA,IACD;AAAA,EACD;AACD;","names":[]}
|
|
@@ -5,10 +5,10 @@ import {
|
|
|
5
5
|
// src/services/a2a.service.ts
|
|
6
6
|
import { randomUUID } from "crypto";
|
|
7
7
|
var A2AService = class {
|
|
8
|
-
|
|
8
|
+
queryService;
|
|
9
9
|
canceledTasks = /* @__PURE__ */ new Set();
|
|
10
|
-
constructor(
|
|
11
|
-
this.
|
|
10
|
+
constructor(queryService) {
|
|
11
|
+
this.queryService = queryService;
|
|
12
12
|
}
|
|
13
13
|
cancelTask = async (taskId, _eventBus) => {
|
|
14
14
|
this.canceledTasks.add(taskId);
|
|
@@ -66,9 +66,9 @@ var A2AService = class {
|
|
|
66
66
|
eventBus.publish(failureUpdate);
|
|
67
67
|
return;
|
|
68
68
|
}
|
|
69
|
-
const stream = this.
|
|
69
|
+
const stream = this.queryService.handleQuery(
|
|
70
70
|
{ userId: agentId, type, threadId },
|
|
71
|
-
message,
|
|
71
|
+
{ query: message },
|
|
72
72
|
true
|
|
73
73
|
);
|
|
74
74
|
try {
|
|
@@ -120,4 +120,4 @@ var A2AService = class {
|
|
|
120
120
|
export {
|
|
121
121
|
A2AService
|
|
122
122
|
};
|
|
123
|
-
//# sourceMappingURL=chunk-
|
|
123
|
+
//# sourceMappingURL=chunk-ZJVWC666.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/services/a2a.service.ts"],"sourcesContent":["import { randomUUID } from \"node:crypto\";\nimport type { Task, TaskStatusUpdateEvent } from \"@a2a-js/sdk\";\nimport type {\n\tAgentExecutor,\n\tExecutionEventBus,\n\tRequestContext,\n} from \"@a2a-js/sdk/server\";\nimport type { ThreadType } from \"@/types/memory.js\";\nimport { loggers } from \"@/utils/logger.js\";\nimport type { QueryService } from \"./query.service.js\";\n\n/**\n * Implements the AgentExecutor interface from the a2a-js-sdk.\n * This service is responsible for the core business logic of executing an A2A task.\n */\nexport class A2AService implements AgentExecutor {\n\tprivate queryService: QueryService;\n\tprivate canceledTasks: Set<string> = new Set<string>();\n\n\tconstructor(queryService: QueryService) {\n\t\tthis.queryService = queryService;\n\t}\n\n\tpublic cancelTask = async (\n\t\ttaskId: string,\n\t\t_eventBus: ExecutionEventBus,\n\t): Promise<void> => {\n\t\tthis.canceledTasks.add(taskId);\n\t};\n\n\tprivate createTaskStatusUpdateEvent = (\n\t\ttaskId: string,\n\t\tcontextId: string,\n\t\tstate: \"working\" | \"failed\" | \"canceled\" | \"completed\",\n\t\tmessage?: string,\n\t): TaskStatusUpdateEvent => {\n\t\treturn {\n\t\t\tkind: \"status-update\",\n\t\t\ttaskId: taskId,\n\t\t\tcontextId: contextId,\n\t\t\tstatus: {\n\t\t\t\tstate: state,\n\t\t\t\tmessage: message\n\t\t\t\t\t? {\n\t\t\t\t\t\t\tkind: \"message\",\n\t\t\t\t\t\t\trole: \"agent\",\n\t\t\t\t\t\t\tmessageId: randomUUID(),\n\t\t\t\t\t\t\tparts: [{ kind: \"text\", text: message }],\n\t\t\t\t\t\t\ttaskId: taskId,\n\t\t\t\t\t\t\tcontextId: contextId,\n\t\t\t\t\t\t}\n\t\t\t\t\t: undefined,\n\t\t\t\ttimestamp: new Date().toISOString(),\n\t\t\t},\n\t\t\tfinal: state !== \"working\",\n\t\t};\n\t};\n\n\tasync execute(\n\t\trequestContext: RequestContext,\n\t\teventBus: ExecutionEventBus,\n\t): Promise<void> {\n\t\tconst userMessage = requestContext.userMessage;\n\t\t// A2A context ID === AIN ADK thread ID\n\t\tconst threadId = userMessage.contextId!; // TODO: no context id case\n\n\t\tconst { agentId, type } = userMessage.metadata as {\n\t\t\tagentId: string;\n\t\t\ttype: ThreadType;\n\t\t};\n\t\tconst existingTask = requestContext.task;\n\n\t\tconst taskId = existingTask?.id || randomUUID();\n\n\t\tif (!existingTask) {\n\t\t\tconst initialTask: Task = {\n\t\t\t\tkind: \"task\",\n\t\t\t\tid: taskId,\n\t\t\t\tcontextId: threadId,\n\t\t\t\tstatus: {\n\t\t\t\t\tstate: \"submitted\",\n\t\t\t\t\ttimestamp: new Date().toISOString(),\n\t\t\t\t},\n\t\t\t\thistory: [userMessage],\n\t\t\t\tmetadata: userMessage.metadata,\n\t\t\t\tartifacts: [],\n\t\t\t};\n\t\t\teventBus.publish(initialTask);\n\t\t}\n\n\t\tconst message: string = userMessage.parts\n\t\t\t.filter((part) => part.kind === \"text\")\n\t\t\t.map((part) => part.text)\n\t\t\t.join(\"\\n\");\n\t\tif (message.length === 0) {\n\t\t\tloggers.server.warn(`Empty message received for task ${taskId}.`);\n\t\t\tconst failureUpdate = this.createTaskStatusUpdateEvent(\n\t\t\t\ttaskId,\n\t\t\t\tthreadId,\n\t\t\t\t\"failed\",\n\t\t\t\t\"No message found to process.\",\n\t\t\t);\n\t\t\teventBus.publish(failureUpdate);\n\t\t\treturn;\n\t\t}\n\n\t\tconst stream = this.queryService.handleQuery(\n\t\t\t{ userId: agentId, type, threadId },\n\t\t\t{ query: message },\n\t\t\ttrue,\n\t\t);\n\n\t\ttry {\n\t\t\tlet finalResponseText = \"\";\n\t\t\tfor await (const event of stream) {\n\t\t\t\tif (this.canceledTasks.has(taskId)) {\n\t\t\t\t\tloggers.server.info(`Task ${taskId} was canceled.`);\n\t\t\t\t\tconst canceledUpdate = this.createTaskStatusUpdateEvent(\n\t\t\t\t\t\ttaskId,\n\t\t\t\t\t\tthreadId,\n\t\t\t\t\t\t\"canceled\",\n\t\t\t\t\t);\n\t\t\t\t\teventBus.publish(canceledUpdate);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (event.event === \"text_chunk\") {\n\t\t\t\t\tfinalResponseText += event.data.delta;\n\t\t\t\t} else if (event.event === \"thinking_process\") {\n\t\t\t\t\tconst thinkingProcessUpdate = this.createTaskStatusUpdateEvent(\n\t\t\t\t\t\ttaskId,\n\t\t\t\t\t\tthreadId,\n\t\t\t\t\t\t\"working\",\n\t\t\t\t\t\tJSON.stringify(event.data),\n\t\t\t\t\t);\n\t\t\t\t\teventBus.publish(thinkingProcessUpdate);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tconst finalUpdate = this.createTaskStatusUpdateEvent(\n\t\t\t\ttaskId,\n\t\t\t\tthreadId,\n\t\t\t\t\"completed\",\n\t\t\t\tfinalResponseText,\n\t\t\t);\n\t\t\teventBus.publish(finalUpdate);\n\t\t\tloggers.server.info(`Task ${taskId} completed successfully.`);\n\t\t} catch (error: any) {\n\t\t\tloggers.server.error(`Error processing task ${taskId}:`, error);\n\t\t\tconst errorUpdate = this.createTaskStatusUpdateEvent(\n\t\t\t\ttaskId,\n\t\t\t\tthreadId,\n\t\t\t\t\"failed\",\n\t\t\t\t`Agent error: ${error.message}`,\n\t\t\t);\n\t\t\teventBus.publish(errorUpdate);\n\t\t}\n\t}\n}\n"],"mappings":"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","names":[]}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import {
|
|
2
|
-
|
|
3
|
-
} from "./chunk-
|
|
2
|
+
container
|
|
3
|
+
} from "./chunk-IG3B5AXN.js";
|
|
4
4
|
|
|
5
5
|
// src/routes/api/model.routes.ts
|
|
6
6
|
import { Router } from "express";
|
|
7
|
-
var createModelApiRouter = (
|
|
7
|
+
var createModelApiRouter = () => {
|
|
8
8
|
const router = Router();
|
|
9
|
-
const modelApiController =
|
|
9
|
+
const modelApiController = container.getModelApiController();
|
|
10
10
|
router.get("/", modelApiController.handleModelList);
|
|
11
11
|
return router;
|
|
12
12
|
};
|
|
@@ -14,4 +14,4 @@ var createModelApiRouter = (modelModule) => {
|
|
|
14
14
|
export {
|
|
15
15
|
createModelApiRouter
|
|
16
16
|
};
|
|
17
|
-
//# sourceMappingURL=chunk-
|
|
17
|
+
//# sourceMappingURL=chunk-ZK3HZBER.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/routes/api/model.routes.ts"],"sourcesContent":["import { Router } from \"express\";\nimport { container } from \"@/container\";\n\nexport const createModelApiRouter = (): Router => {\n\tconst router = Router();\n\tconst modelApiController = container.getModelApiController();\n\n\t// APIs (prefix: /api/model)\n\trouter.get(\"/\", modelApiController.handleModelList);\n\n\treturn router;\n};\n"],"mappings":";;;;;AAAA,SAAS,cAAc;AAGhB,IAAM,uBAAuB,MAAc;AACjD,QAAM,SAAS,OAAO;AACtB,QAAM,qBAAqB,UAAU,sBAAsB;AAG3D,SAAO,IAAI,KAAK,mBAAmB,eAAe;AAElD,SAAO;AACR;","names":[]}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import {
|
|
2
|
+
MultiIntentTriggerService
|
|
3
|
+
} from "./chunk-QQZ5ANSD.js";
|
|
4
|
+
import {
|
|
5
|
+
SingleIntentTriggerService
|
|
6
|
+
} from "./chunk-CC6DWPHZ.js";
|
|
7
|
+
|
|
8
|
+
// src/services/intents/trigger.service.ts
|
|
9
|
+
function isMultiIntentDisabled() {
|
|
10
|
+
const value = process.env.DISABLE_MULTI_INTENTS;
|
|
11
|
+
return value === "true" || value === "1";
|
|
12
|
+
}
|
|
13
|
+
var IntentTriggerService = class {
|
|
14
|
+
singleTriggerService;
|
|
15
|
+
multiTriggerService;
|
|
16
|
+
constructor(modelModule, memoryModule) {
|
|
17
|
+
this.singleTriggerService = new SingleIntentTriggerService(
|
|
18
|
+
modelModule,
|
|
19
|
+
memoryModule
|
|
20
|
+
);
|
|
21
|
+
this.multiTriggerService = new MultiIntentTriggerService(
|
|
22
|
+
modelModule,
|
|
23
|
+
memoryModule
|
|
24
|
+
);
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Detects the intent from context.
|
|
28
|
+
* Routes to single or multi-intent triggering based on DISABLE_MULTI_INTENTS env var.
|
|
29
|
+
*
|
|
30
|
+
* @param query - The user's input query
|
|
31
|
+
* @param thread - The thread history
|
|
32
|
+
* @returns The detected intent(s)
|
|
33
|
+
*/
|
|
34
|
+
async intentTriggering(query, thread) {
|
|
35
|
+
if (isMultiIntentDisabled()) {
|
|
36
|
+
return this.singleTriggerService.intentTriggering(query, thread);
|
|
37
|
+
}
|
|
38
|
+
return this.multiTriggerService.intentTriggering(query, thread);
|
|
39
|
+
}
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
export {
|
|
43
|
+
IntentTriggerService
|
|
44
|
+
};
|
|
45
|
+
//# sourceMappingURL=chunk-ZNZZZ4NN.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/services/intents/trigger.service.ts"],"sourcesContent":["import type { MemoryModule, ModelModule } from \"@/modules\";\nimport type { ThreadObject, TriggeredIntent } from \"@/types/memory\";\nimport { MultiIntentTriggerService } from \"./multi-trigger.service\";\nimport { SingleIntentTriggerService } from \"./single-trigger.service\";\n\n/**\n * Check if multi-intent is disabled via environment variable.\n */\nfunction isMultiIntentDisabled(): boolean {\n\tconst value = process.env.DISABLE_MULTI_INTENTS;\n\treturn value === \"true\" || value === \"1\";\n}\n\n/**\n * Service for intent triggering.\n * Routes to single or multi-intent triggering based on DISABLE_MULTI_INTENTS env var.\n */\nexport class IntentTriggerService {\n\tprivate singleTriggerService: SingleIntentTriggerService;\n\tprivate multiTriggerService: MultiIntentTriggerService;\n\n\tconstructor(modelModule: ModelModule, memoryModule: MemoryModule) {\n\t\tthis.singleTriggerService = new SingleIntentTriggerService(\n\t\t\tmodelModule,\n\t\t\tmemoryModule,\n\t\t);\n\t\tthis.multiTriggerService = new MultiIntentTriggerService(\n\t\t\tmodelModule,\n\t\t\tmemoryModule,\n\t\t);\n\t}\n\n\t/**\n\t * Detects the intent from context.\n\t * Routes to single or multi-intent triggering based on DISABLE_MULTI_INTENTS env var.\n\t *\n\t * @param query - The user's input query\n\t * @param thread - The thread history\n\t * @returns The detected intent(s)\n\t */\n\tpublic async intentTriggering(\n\t\tquery: string,\n\t\tthread: ThreadObject | undefined,\n\t): Promise<Array<TriggeredIntent>> {\n\t\tif (isMultiIntentDisabled()) {\n\t\t\treturn this.singleTriggerService.intentTriggering(query, thread);\n\t\t}\n\t\treturn this.multiTriggerService.intentTriggering(query, thread);\n\t}\n}\n"],"mappings":";;;;;;;;AAQA,SAAS,wBAAiC;AACzC,QAAM,QAAQ,QAAQ,IAAI;AAC1B,SAAO,UAAU,UAAU,UAAU;AACtC;AAMO,IAAM,uBAAN,MAA2B;AAAA,EACzB;AAAA,EACA;AAAA,EAER,YAAY,aAA0B,cAA4B;AACjE,SAAK,uBAAuB,IAAI;AAAA,MAC/B;AAAA,MACA;AAAA,IACD;AACA,SAAK,sBAAsB,IAAI;AAAA,MAC9B;AAAA,MACA;AAAA,IACD;AAAA,EACD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUA,MAAa,iBACZ,OACA,QACkC;AAClC,QAAI,sBAAsB,GAAG;AAC5B,aAAO,KAAK,qBAAqB,iBAAiB,OAAO,MAAM;AAAA,IAChE;AACA,WAAO,KAAK,oBAAoB,iBAAiB,OAAO,MAAM;AAAA,EAC/D;AACD;","names":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/controllers/api/threads.api.controller.ts"],"sourcesContent":["import type { NextFunction, Request, Response } from \"express\";\nimport { StatusCodes } from \"http-status-codes\";\nimport type { MemoryModule } from \"@/modules/index.js\";\n\nexport class ThreadApiController {\n\tprivate memoryModule: MemoryModule;\n\n\tconstructor(memoryModule: MemoryModule) {\n\t\tthis.memoryModule = memoryModule;\n\t}\n\n\tpublic handleGetThread = async (\n\t\treq: Request,\n\t\tres: Response,\n\t\tnext: NextFunction,\n\t) => {\n\t\ttry {\n\t\t\tconst { id: threadId } = req.params as {\n\t\t\t\tid: string;\n\t\t\t};\n\t\t\tconst userId = res.locals.userId || \"\";\n\t\t\tconst threadMemory = this.memoryModule.getThreadMemory();\n\t\t\tconst thread = await threadMemory?.getThread(userId, threadId);\n\t\t\tres.json(thread);\n\t\t} catch (error) {\n\t\t\tnext(error);\n\t\t}\n\t};\n\n\tpublic handleDeleteThread = async (\n\t\treq: Request,\n\t\tres: Response,\n\t\tnext: NextFunction,\n\t) => {\n\t\ttry {\n\t\t\tconst { id: threadId } = req.params as {\n\t\t\t\tid: string;\n\t\t\t};\n\t\t\tconst userId = res.locals.userId || \"\";\n\t\t\tconst threadMemory = this.memoryModule.getThreadMemory();\n\t\t\tawait threadMemory?.deleteThread(userId, threadId);\n\t\t\tres.status(StatusCodes.OK).send();\n\t\t} catch (error) {\n\t\t\tnext(error);\n\t\t}\n\t};\n\n\tpublic handleGetUserThreads = async (\n\t\t_req: Request,\n\t\tres: Response,\n\t\tnext: NextFunction,\n\t) => {\n\t\ttry {\n\t\t\tconst userId = res.locals.userId || \"\";\n\t\t\tconst threadMemory = this.memoryModule.getThreadMemory();\n\t\t\tconst threads = await threadMemory?.listThreads(userId);\n\t\t\tres.json(threads);\n\t\t} catch (error) {\n\t\t\tnext(error);\n\t\t}\n\t};\n}\n"],"mappings":";AACA,SAAS,mBAAmB;AAGrB,IAAM,sBAAN,MAA0B;AAAA,EACxB;AAAA,EAER,YAAY,cAA4B;AACvC,SAAK,eAAe;AAAA,EACrB;AAAA,EAEO,kBAAkB,OACxB,KACA,KACA,SACI;AACJ,QAAI;AACH,YAAM,EAAE,IAAI,SAAS,IAAI,IAAI;AAG7B,YAAM,SAAS,IAAI,OAAO,UAAU;AACpC,YAAM,eAAe,KAAK,aAAa,gBAAgB;AACvD,YAAM,SAAS,MAAM,cAAc,UAAU,QAAQ,QAAQ;AAC7D,UAAI,KAAK,MAAM;AAAA,IAChB,SAAS,OAAO;AACf,WAAK,KAAK;AAAA,IACX;AAAA,EACD;AAAA,EAEO,qBAAqB,OAC3B,KACA,KACA,SACI;AACJ,QAAI;AACH,YAAM,EAAE,IAAI,SAAS,IAAI,IAAI;AAG7B,YAAM,SAAS,IAAI,OAAO,UAAU;AACpC,YAAM,eAAe,KAAK,aAAa,gBAAgB;AACvD,YAAM,cAAc,aAAa,QAAQ,QAAQ;AACjD,UAAI,OAAO,YAAY,EAAE,EAAE,KAAK;AAAA,IACjC,SAAS,OAAO;AACf,WAAK,KAAK;AAAA,IACX;AAAA,EACD;AAAA,EAEO,uBAAuB,OAC7B,MACA,KACA,SACI;AACJ,QAAI;AACH,YAAM,SAAS,IAAI,OAAO,UAAU;AACpC,YAAM,eAAe,KAAK,aAAa,gBAAgB;AACvD,YAAM,UAAU,MAAM,cAAc,YAAY,MAAM;AACtD,UAAI,KAAK,OAAO;AAAA,IACjB,SAAS,OAAO;AACf,WAAK,KAAK;AAAA,IACX;AAAA,EACD;AACD;","names":[]}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { AINAgent } from '../index.js';
|
|
2
|
+
import '@a2a-js/sdk';
|
|
3
|
+
import 'express';
|
|
4
|
+
import '../modules/a2a/a2a.module.js';
|
|
5
|
+
import '../types/connector.js';
|
|
6
|
+
import '../types/stream.js';
|
|
7
|
+
import '../types/memory.js';
|
|
8
|
+
import '../modules/auth/auth.module.js';
|
|
9
|
+
import '../types/auth.js';
|
|
10
|
+
import '../modules/mcp/mcp.module.js';
|
|
11
|
+
import '../types/mcp.js';
|
|
12
|
+
import '@modelcontextprotocol/sdk/client/sse.js';
|
|
13
|
+
import '@modelcontextprotocol/sdk/client/stdio.js';
|
|
14
|
+
import '@modelcontextprotocol/sdk/client/streamableHttp.js';
|
|
15
|
+
import '../modules/memory/memory.module.js';
|
|
16
|
+
import '../modules/memory/base.memory.js';
|
|
17
|
+
import '../modules/models/model.module.js';
|
|
18
|
+
import '../modules/models/base.model.js';
|
|
19
|
+
import '../types/agent.js';
|
|
20
|
+
import 'http-status-codes';
|
|
21
|
+
|
|
22
|
+
declare function setAgent(agent: AINAgent): void;
|
|
23
|
+
declare function getAgent(): AINAgent;
|
|
24
|
+
|
|
25
|
+
export { getAgent, setAgent };
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import { AinAgentManifest } from '../types/agent.js';
|
|
2
2
|
import 'http-status-codes';
|
|
3
|
+
import '../types/memory.js';
|
|
4
|
+
import '../types/stream.js';
|
|
5
|
+
import '../types/connector.js';
|
|
3
6
|
|
|
4
7
|
declare function setManifest(manifest: AinAgentManifest): void;
|
|
5
8
|
declare function getManifest(): AinAgentManifest;
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { A2AModule } from '../modules/a2a/a2a.module.js';
|
|
2
|
+
import { AuthModule } from '../modules/auth/auth.module.js';
|
|
3
|
+
import { MCPModule } from '../modules/mcp/mcp.module.js';
|
|
4
|
+
import { MemoryModule } from '../modules/memory/memory.module.js';
|
|
5
|
+
import { ModelModule } from '../modules/models/model.module.js';
|
|
6
|
+
import '@a2a-js/sdk';
|
|
7
|
+
import '../types/connector.js';
|
|
8
|
+
import '../types/stream.js';
|
|
9
|
+
import '../types/memory.js';
|
|
10
|
+
import 'express';
|
|
11
|
+
import '../types/auth.js';
|
|
12
|
+
import '../types/mcp.js';
|
|
13
|
+
import '@modelcontextprotocol/sdk/client/sse.js';
|
|
14
|
+
import '@modelcontextprotocol/sdk/client/stdio.js';
|
|
15
|
+
import '@modelcontextprotocol/sdk/client/streamableHttp.js';
|
|
16
|
+
import '../modules/memory/base.memory.js';
|
|
17
|
+
import '../modules/models/base.model.js';
|
|
18
|
+
|
|
19
|
+
interface AgentModules {
|
|
20
|
+
modelModule: ModelModule;
|
|
21
|
+
memoryModule: MemoryModule;
|
|
22
|
+
authModule?: AuthModule;
|
|
23
|
+
a2aModule?: A2AModule;
|
|
24
|
+
mcpModule?: MCPModule;
|
|
25
|
+
}
|
|
26
|
+
declare function setModules(modules: AgentModules): void;
|
|
27
|
+
declare function getModules(): AgentModules;
|
|
28
|
+
declare function getModelModule(): ModelModule;
|
|
29
|
+
declare function getMemoryModule(): MemoryModule;
|
|
30
|
+
declare function getAuthModule(): AuthModule | undefined;
|
|
31
|
+
declare function getA2AModule(): A2AModule | undefined;
|
|
32
|
+
declare function getMCPModule(): MCPModule | undefined;
|
|
33
|
+
|
|
34
|
+
export { type AgentModules, getA2AModule, getAuthModule, getMCPModule, getMemoryModule, getModelModule, getModules, setModules };
|