@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 @@
|
|
|
1
|
+
{"version":3,"sources":["/Users/shyun/comcom/ain-agent/ain-adk/dist/cjs/chunk-IP6P2TQM.cjs","../../src/services/intents/fulfill.service.ts"],"names":[],"mappings":"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","file":"/Users/shyun/comcom/ain-agent/ain-adk/dist/cjs/chunk-IP6P2TQM.cjs","sourcesContent":[null,"import { randomUUID } from \"node:crypto\";\nimport { getManifest } from \"@/config/manifest\";\nimport type {\n\tA2AModule,\n\tMCPModule,\n\tMemoryModule,\n\tModelModule,\n} from \"@/modules\";\nimport type { OnIntentFallback } from \"@/types/agent\";\nimport { CONNECTOR_PROTOCOL_TYPE, type ConnectorTool } from \"@/types/connector\";\nimport {\n\ttype FulfillmentResult,\n\ttype Intent,\n\ttype MessageObject,\n\tMessageRole,\n\ttype ThreadObject,\n\ttype TriggeredIntent,\n} from \"@/types/memory\";\nimport type { StreamEvent } from \"@/types/stream\";\nimport { loggers } from \"@/utils/logger\";\nimport { createFulfillPrompt } from \"../utils/fulfill.common\";\nimport { AggregateService } from \"./aggregate.service\";\n\n/**\n * Check if multi-intent is disabled via environment variable.\n */\nfunction isMultiIntentDisabled(): boolean {\n\tconst value = process.env.DISABLE_MULTI_INTENTS;\n\treturn value === \"true\" || value === \"1\";\n}\n\nexport class IntentFulfillService {\n\tprivate modelModule: ModelModule;\n\tprivate memoryModule: MemoryModule;\n\tprivate a2aModule?: A2AModule;\n\tprivate mcpModule?: MCPModule;\n\tprivate onIntentFallback?: OnIntentFallback;\n\tprivate aggregateService: AggregateService;\n\n\tconstructor(\n\t\tmodelModule: ModelModule,\n\t\tmemoryModule: MemoryModule,\n\t\ta2aModule?: A2AModule,\n\t\tmcpModule?: MCPModule,\n\t\tonIntentFallback?: OnIntentFallback,\n\t) {\n\t\tthis.modelModule = modelModule;\n\t\tthis.memoryModule = memoryModule;\n\t\tthis.a2aModule = a2aModule;\n\t\tthis.mcpModule = mcpModule;\n\t\tthis.onIntentFallback = onIntentFallback;\n\t\tthis.aggregateService = new AggregateService(modelModule);\n\t}\n\n\tprivate async addToThreadMessages(\n\t\tthread: ThreadObject,\n\t\tparams: {\n\t\t\trole: MessageRole;\n\t\t\tcontent: string;\n\t\t\tmetadata?: Record<string, unknown>;\n\t\t},\n\t) {\n\t\ttry {\n\t\t\tconst threadMemory = this.memoryModule.getThreadMemory();\n\t\t\tconst { userId, threadId } = thread;\n\t\t\tconst newMessage: MessageObject = {\n\t\t\t\tmessageId: randomUUID(),\n\t\t\t\trole: params.role,\n\t\t\t\ttimestamp: Date.now(),\n\t\t\t\tcontent: { type: \"text\", parts: [params.content] },\n\t\t\t\tmetadata: params.metadata,\n\t\t\t};\n\t\t\tthread.messages.push(newMessage);\n\t\t\tawait threadMemory?.addMessagesToThread(userId, threadId, [newMessage]);\n\t\t} catch (error) {\n\t\t\tloggers.intentStream.error(\"Error adding message to thread\", error);\n\t\t}\n\t}\n\n\t/**\n\t * Fulfills the detected intent by generating a streaming response.\n\t *\n\t * Manages the complete inference loop including:\n\t * - Loading prompts and conversation history\n\t * - Collecting available tools from modules\n\t * - Executing model inference with tool support\n\t * - Processing tool calls iteratively until completion\n\t * - Streaming results as Server-Sent Events\n\t *\n\t * @param query - The user's input query\n\t * @param threadId - Thread identifier for context\n\t * @param thread - Previous conversation history\n\t * @param intent - Optional detected intent with custom prompt\n\t * @returns AsyncGenerator yielding StreamEvent objects\n\t */\n\tprivate async *intentFulfilling(\n\t\tquery: string,\n\t\tthread: ThreadObject,\n\t\tintent?: Intent,\n\t): AsyncGenerator<StreamEvent> {\n\t\tconst agentMemory = this.memoryModule.getAgentMemory();\n\t\tconst fulfillPrompt = await createFulfillPrompt(agentMemory, intent);\n\n\t\tconst modelInstance = this.modelModule.getModel();\n\t\tconst modelOptions = this.modelModule.getModelOptions();\n\t\tconst messages = modelInstance.generateMessages({\n\t\t\tquery,\n\t\t\tthread,\n\t\t\tsystemPrompt: fulfillPrompt.trim(),\n\t\t});\n\n\t\tloggers.intent.debug(\"Intent fulfillment start\", {\n\t\t\tthreadId: thread.threadId,\n\t\t\tmessages,\n\t\t});\n\n\t\tconst tools: ConnectorTool[] = [];\n\t\tthis.mcpModule && tools.push(...this.mcpModule.getTools());\n\t\tthis.a2aModule && tools.push(...(await this.a2aModule.getTools()));\n\n\t\tconst processList: string[] = [];\n\n\t\twhile (true) {\n\t\t\tconst functions = modelInstance.convertToolsToFunctions(tools);\n\t\t\tconst responseStream = await modelInstance.fetchStreamWithContextMessage(\n\t\t\t\tmessages,\n\t\t\t\tfunctions,\n\t\t\t\tmodelOptions,\n\t\t\t);\n\n\t\t\tconst assembledToolCalls: {\n\t\t\t\tid: string;\n\t\t\t\ttype: \"function\";\n\t\t\t\tfunction: { name: string; arguments: string };\n\t\t\t}[] = [];\n\n\t\t\tfor await (const chunk of responseStream) {\n\t\t\t\tconst delta = chunk.delta;\n\t\t\t\tif (delta?.tool_calls) {\n\t\t\t\t\tfor (const { index, id, function: func } of delta.tool_calls) {\n\t\t\t\t\t\tassembledToolCalls[index] ??= {\n\t\t\t\t\t\t\tid: \"\",\n\t\t\t\t\t\t\ttype: \"function\",\n\t\t\t\t\t\t\tfunction: { name: \"\", arguments: \"\" },\n\t\t\t\t\t\t};\n\n\t\t\t\t\t\tif (id) assembledToolCalls[index].id = id;\n\t\t\t\t\t\tif (func?.name) assembledToolCalls[index].function.name = func.name;\n\t\t\t\t\t\tif (func?.arguments)\n\t\t\t\t\t\t\tassembledToolCalls[index].function.arguments += func.arguments;\n\t\t\t\t\t}\n\t\t\t\t} else if (chunk.delta?.content) {\n\t\t\t\t\tyield {\n\t\t\t\t\t\tevent: \"text_chunk\",\n\t\t\t\t\t\tdata: { delta: chunk.delta.content },\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tloggers.intentStream.debug(\"assembledToolCalls\", {\n\t\t\t\tthreadId: thread.threadId,\n\t\t\t\tassembledToolCalls,\n\t\t\t});\n\n\t\t\tif (assembledToolCalls.length > 0) {\n\t\t\t\tfor (const toolCall of assembledToolCalls) {\n\t\t\t\t\tconst toolName = toolCall.function.name;\n\t\t\t\t\tlet selectedTool: ConnectorTool | undefined;\n\t\t\t\t\tfor (const [index, toolTmp] of tools.entries()) {\n\t\t\t\t\t\tif (toolTmp.toolName === toolName) {\n\t\t\t\t\t\t\tif (toolTmp.protocol === CONNECTOR_PROTOCOL_TYPE.A2A) {\n\t\t\t\t\t\t\t\t// remove used tool to prevent infinite loop\n\t\t\t\t\t\t\t\tselectedTool = tools.splice(index, 1)[0];\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tselectedTool = toolTmp;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tif (!selectedTool) {\n\t\t\t\t\t\t// it cannot be happened...\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst toolArgs = JSON.parse(toolCall.function.arguments);\n\t\t\t\t\tconst thinkData = {\n\t\t\t\t\t\ttitle: `[${getManifest().name}] ${selectedTool.protocol} 실행: ${toolName}`,\n\t\t\t\t\t\tdescription: `${toolArgs.thinking_text || \"\"}`,\n\t\t\t\t\t};\n\t\t\t\t\tyield {\n\t\t\t\t\t\tevent: \"thinking_process\",\n\t\t\t\t\t\tdata: thinkData,\n\t\t\t\t\t};\n\n\t\t\t\t\tlet toolResult = \"\";\n\t\t\t\t\tif (\n\t\t\t\t\t\tthis.mcpModule &&\n\t\t\t\t\t\tselectedTool.protocol === CONNECTOR_PROTOCOL_TYPE.MCP\n\t\t\t\t\t) {\n\t\t\t\t\t\tloggers.intent.info(\"MCP tool call\", { toolName, toolArgs });\n\t\t\t\t\t\ttoolResult = await this.mcpModule.useTool(selectedTool, toolArgs);\n\t\t\t\t\t} else if (\n\t\t\t\t\t\tthis.a2aModule &&\n\t\t\t\t\t\tselectedTool.protocol === CONNECTOR_PROTOCOL_TYPE.A2A\n\t\t\t\t\t) {\n\t\t\t\t\t\tloggers.intent.info(\"A2A tool call\", { toolName });\n\t\t\t\t\t\tconst a2aStream = this.a2aModule.useTool(\n\t\t\t\t\t\t\tselectedTool,\n\t\t\t\t\t\t\tquery,\n\t\t\t\t\t\t\tthread.threadId,\n\t\t\t\t\t\t);\n\t\t\t\t\t\t// yield intermediate events and get final result\n\t\t\t\t\t\tlet result = await a2aStream.next();\n\t\t\t\t\t\twhile (!result.done) {\n\t\t\t\t\t\t\tif (result.value.event === \"thinking_process\") {\n\t\t\t\t\t\t\t\tyield result.value;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tresult = await a2aStream.next();\n\t\t\t\t\t\t}\n\t\t\t\t\t\ttoolResult = result.value;\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// Unrecognized tool type. It cannot be happened...\n\t\t\t\t\t\tloggers.intent.warn(\n\t\t\t\t\t\t\t`Unrecognized tool type: ${selectedTool.protocol}`,\n\t\t\t\t\t\t);\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\tloggers.intent.debug(\"Tool Result\", { toolResult });\n\n\t\t\t\t\tprocessList.push(toolResult);\n\t\t\t\t\tmodelInstance.appendMessages(messages, toolResult);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\tloggers.intent.debug(\"Intent fulfillment completed\", {\n\t\t\tthreadId: thread.threadId,\n\t\t\ttoolCallsExecuted: processList.length,\n\t\t\tintentName: intent?.name,\n\t\t});\n\t}\n\n\t/**\n\t * Returns the appropriate stream for a triggered intent.\n\t * Uses fallback handler if no intent matched and fallback is configured.\n\t */\n\tprivate getIntentStream(\n\t\ttriggeredIntent: TriggeredIntent,\n\t\tthread: ThreadObject,\n\t): AsyncGenerator<StreamEvent> | undefined {\n\t\tconst { subquery = \"\", intent } = triggeredIntent;\n\n\t\tif (!intent && this.onIntentFallback) {\n\t\t\tloggers.intent.info(\"No intent matched, calling fallback handler\");\n\t\t\tconst fallbackStream = this.onIntentFallback({\n\t\t\t\ttriggeredIntent,\n\t\t\t\tthread,\n\t\t\t});\n\t\t\tif (fallbackStream !== undefined) {\n\t\t\t\treturn fallbackStream;\n\t\t\t}\n\t\t}\n\n\t\treturn this.intentFulfilling(subquery, thread, intent);\n\t}\n\n\t/**\n\t * Processes all triggered intents and generates a unified response.\n\t *\n\t * Workflow:\n\t * 1. Process each intent sequentially, collecting results\n\t * 2. Yield thinking_process events for progress visibility\n\t * 3. Use RewriteService to determine if results need unification\n\t * 4. Stream the final (possibly rewritten) response\n\t *\n\t * @param intents - Array of triggered intents to process\n\t * @param thread - The thread history\n\t * @param originalQuery - The user's original query (for rewrite context)\n\t * @returns AsyncGenerator yielding StreamEvent objects\n\t */\n\tpublic async *intentFulfill(\n\t\tintents: Array<TriggeredIntent>,\n\t\tthread: ThreadObject,\n\t\toriginalQuery: string,\n\t): AsyncGenerator<StreamEvent> {\n\t\tconst streamStartTime = Date.now();\n\t\tloggers.intentStream.info(\"Stream session started\", {\n\t\t\tthreadId: thread.threadId,\n\t\t\tintentCount: intents.length,\n\t\t\tstartTime: new Date(streamStartTime).toISOString(),\n\t\t});\n\n\t\tlet finalResponseText = \"\";\n\n\t\tif (isMultiIntentDisabled()) {\n\t\t\t// Single-intent mode: stream response directly without aggregation\n\t\t\tconst triggeredIntent = intents[0];\n\t\t\tif (!triggeredIntent) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst { subquery = \"\", intent, actionPlan } = triggeredIntent;\n\t\t\tloggers.intent.info(`Process query: ${subquery}, ${intent?.name}`);\n\t\t\tloggers.intent.info(`Action plan: ${actionPlan}`);\n\n\t\t\t// Yield thinking_process for progress visibility\n\t\t\tyield {\n\t\t\t\tevent: \"thinking_process\",\n\t\t\t\tdata: {\n\t\t\t\t\ttitle: `[${getManifest().name}] ${subquery}`,\n\t\t\t\t\tdescription: actionPlan || \"\",\n\t\t\t\t},\n\t\t\t};\n\n\t\t\t// Get the stream for this intent\n\t\t\tconst stream = this.getIntentStream(triggeredIntent, thread);\n\t\t\tif (!stream) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Stream response directly\n\t\t\tfor await (const event of stream) {\n\t\t\t\tif (event.event === \"text_chunk\" && event.data.delta) {\n\t\t\t\t\tfinalResponseText += event.data.delta;\n\t\t\t\t}\n\t\t\t\tyield event;\n\t\t\t}\n\t\t} else {\n\t\t\t// Multi-intent mode: collect all results then aggregate\n\t\t\tconst fulfillmentResults: FulfillmentResult[] = [];\n\n\t\t\tfor (let i = 0; i < intents.length; i++) {\n\t\t\t\tconst triggeredIntent = intents[i];\n\t\t\t\tconst { subquery = \"\", intent, actionPlan } = triggeredIntent;\n\t\t\t\tloggers.intent.info(`Process query: ${subquery}, ${intent?.name}`);\n\t\t\t\tloggers.intent.info(`Action plan: ${actionPlan}`);\n\n\t\t\t\t// Add previous result to thread context for inference (not stored in memory)\n\t\t\t\tif (fulfillmentResults.length > 0) {\n\t\t\t\t\tconst lastResult = fulfillmentResults[fulfillmentResults.length - 1];\n\t\t\t\t\tthread.messages.push({\n\t\t\t\t\t\tmessageId: randomUUID(),\n\t\t\t\t\t\trole: MessageRole.MODEL,\n\t\t\t\t\t\ttimestamp: Date.now(),\n\t\t\t\t\t\tcontent: { type: \"text\", parts: [lastResult.response] },\n\t\t\t\t\t\tmetadata: { isThinking: true },\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\t// Yield thinking_process for progress visibility\n\t\t\t\tyield {\n\t\t\t\t\tevent: \"thinking_process\",\n\t\t\t\t\tdata: {\n\t\t\t\t\t\ttitle: `[${getManifest().name}] ${subquery}`,\n\t\t\t\t\t\tdescription: actionPlan || \"\",\n\t\t\t\t\t},\n\t\t\t\t};\n\n\t\t\t\t// Get the stream for this intent\n\t\t\t\tconst stream = this.getIntentStream(triggeredIntent, thread);\n\t\t\t\tif (!stream) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\t// Collect response text (don't yield text_chunk yet)\n\t\t\t\tlet responseText = \"\";\n\t\t\t\tfor await (const event of stream) {\n\t\t\t\t\tif (event.event === \"text_chunk\" && event.data.delta) {\n\t\t\t\t\t\tresponseText += event.data.delta;\n\t\t\t\t\t} else if (event.event === \"thinking_process\") {\n\t\t\t\t\t\t// Tool execution thinking_process events are yielded immediately\n\t\t\t\t\t\tyield event;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tfulfillmentResults.push({\n\t\t\t\t\tsubquery,\n\t\t\t\t\tintent,\n\t\t\t\t\tactionPlan,\n\t\t\t\t\tresponse: responseText,\n\t\t\t\t});\n\t\t\t}\n\n\t\t\t// Aggregate step: determine if unification is needed and generate final response\n\t\t\tconst aggregateStream = this.aggregateService.aggregateIfNeeded(\n\t\t\t\toriginalQuery,\n\t\t\t\tfulfillmentResults,\n\t\t\t);\n\n\t\t\tfor await (const event of aggregateStream) {\n\t\t\t\tif (event.event === \"text_chunk\" && event.data.delta) {\n\t\t\t\t\tfinalResponseText += event.data.delta;\n\t\t\t\t}\n\t\t\t\tyield event;\n\t\t\t}\n\t\t}\n\n\t\t// Save final response to memory\n\t\tawait this.addToThreadMessages(thread, {\n\t\t\trole: MessageRole.MODEL,\n\t\t\tcontent: finalResponseText,\n\t\t});\n\n\t\tconst streamEndTime = Date.now();\n\t\tconst streamDuration = streamEndTime - streamStartTime;\n\n\t\tloggers.intentStream.info(\"Stream session completed\", {\n\t\t\tthreadId: thread.threadId,\n\t\t\tduration: `${streamDuration}ms`,\n\t\t\tendTime: new Date(streamEndTime).toISOString(),\n\t\t});\n\t}\n}\n"]}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
|
+
|
|
3
|
+
var _chunkLTBTLUJDcjs = require('./chunk-LTBTLUJD.cjs');
|
|
4
|
+
|
|
5
|
+
// src/routes/query.routes.ts
|
|
6
|
+
var _express = require('express');
|
|
7
|
+
var createQueryRouter = () => {
|
|
8
|
+
const router = _express.Router.call(void 0, );
|
|
9
|
+
const queryController = _chunkLTBTLUJDcjs.container.getQueryController();
|
|
10
|
+
router.post("/", queryController.handleQueryRequest);
|
|
11
|
+
router.post("/stream", queryController.handleQueryStreamRequest);
|
|
12
|
+
return router;
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
exports.createQueryRouter = createQueryRouter;
|
|
18
|
+
//# sourceMappingURL=chunk-JQIAM5N4.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/Users/shyun/comcom/ain-agent/ain-adk/dist/cjs/chunk-JQIAM5N4.cjs","../../src/routes/query.routes.ts"],"names":[],"mappings":"AAAA;AACE;AACF,wDAA6B;AAC7B;AACA;ACJA,kCAAuB;AAGhB,IAAM,kBAAA,EAAoB,CAAA,EAAA,GAAc;AAC9C,EAAA,MAAM,OAAA,EAAS,6BAAA,CAAO;AAEtB,EAAA,MAAM,gBAAA,EAAkB,2BAAA,CAAU,kBAAA,CAAmB,CAAA;AAErD,EAAA,MAAA,CAAO,IAAA,CAAK,GAAA,EAAK,eAAA,CAAgB,kBAAkB,CAAA;AACnD,EAAA,MAAA,CAAO,IAAA,CAAK,SAAA,EAAW,eAAA,CAAgB,wBAAwB,CAAA;AAE/D,EAAA,OAAO,MAAA;AACR,CAAA;ADCA;AACA;AACE;AACF,8CAAC","file":"/Users/shyun/comcom/ain-agent/ain-adk/dist/cjs/chunk-JQIAM5N4.cjs","sourcesContent":[null,"import { Router } from \"express\";\nimport { container } from \"@/container\";\n\nexport const createQueryRouter = (): Router => {\n\tconst router = Router();\n\n\tconst queryController = container.getQueryController();\n\n\trouter.post(\"/\", queryController.handleQueryRequest);\n\trouter.post(\"/stream\", queryController.handleQueryStreamRequest);\n\n\treturn router;\n};\n"]}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
|
+
|
|
3
|
+
var _chunkNFEFQTIXcjs = require('./chunk-NFEFQTIX.cjs');
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
var _chunkZWJ6IAP2cjs = require('./chunk-ZWJ6IAP2.cjs');
|
|
7
|
+
|
|
8
|
+
// src/container/index.ts
|
|
9
|
+
var Container = class {
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
constructor() {
|
|
13
|
+
this._services = new (0, _chunkZWJ6IAP2cjs.ServiceContainer)();
|
|
14
|
+
this._controllers = new (0, _chunkNFEFQTIXcjs.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
|
+
|
|
72
|
+
|
|
73
|
+
exports.container = container;
|
|
74
|
+
//# sourceMappingURL=chunk-LTBTLUJD.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/Users/shyun/comcom/ain-agent/ain-adk/dist/cjs/chunk-LTBTLUJD.cjs","../../src/container/index.ts"],"names":[],"mappings":"AAAA;AACE;AACF,wDAA6B;AAC7B;AACE;AACF,wDAA6B;AAC7B;AACA;ACKA,IAAM,UAAA,EAAN,MAAgB;AAAA,EACP;AAAA,EACA;AAAA,EAER,WAAA,CAAA,EAAc;AACb,IAAA,IAAA,CAAK,UAAA,EAAY,IAAI,uCAAA,CAAiB,CAAA;AACtC,IAAA,IAAA,CAAK,aAAA,EAAe,IAAI,0CAAA,CAAoB,IAAA,CAAK,SAAS,CAAA;AAAA,EAC3D;AAAA;AAAA,EAGA,IAAI,QAAA,CAAA,EAA6B;AAChC,IAAA,OAAO,IAAA,CAAK,SAAA;AAAA,EACb;AAAA;AAAA,EAGA,IAAI,WAAA,CAAA,EAAmC;AACtC,IAAA,OAAO,IAAA,CAAK,YAAA;AAAA,EACb;AAAA;AAAA,EAGA,gBAAA,CAAA,EAAmB;AAClB,IAAA,OAAO,IAAA,CAAK,SAAA,CAAU,gBAAA,CAAiB,CAAA;AAAA,EACxC;AAAA,EACA,uBAAA,CAAA,EAA0B;AACzB,IAAA,OAAO,IAAA,CAAK,SAAA,CAAU,uBAAA,CAAwB,CAAA;AAAA,EAC/C;AAAA,EACA,uBAAA,CAAA,EAA0B;AACzB,IAAA,OAAO,IAAA,CAAK,SAAA,CAAU,uBAAA,CAAwB,CAAA;AAAA,EAC/C;AAAA,EACA,eAAA,CAAA,EAAkB;AACjB,IAAA,OAAO,IAAA,CAAK,SAAA,CAAU,eAAA,CAAgB,CAAA;AAAA,EACvC;AAAA,EACA,aAAA,CAAA,EAAgB;AACf,IAAA,OAAO,IAAA,CAAK,SAAA,CAAU,aAAA,CAAc,CAAA;AAAA,EACrC;AAAA,EAEA,kBAAA,CAAA,EAAqB;AACpB,IAAA,OAAO,IAAA,CAAK,YAAA,CAAa,kBAAA,CAAmB,CAAA;AAAA,EAC7C;AAAA,EACA,mBAAA,CAAA,EAAsB;AACrB,IAAA,OAAO,IAAA,CAAK,YAAA,CAAa,mBAAA,CAAoB,CAAA;AAAA,EAC9C;AAAA,EACA,qBAAA,CAAA,EAAwB;AACvB,IAAA,OAAO,IAAA,CAAK,YAAA,CAAa,qBAAA,CAAsB,CAAA;AAAA,EAChD;AAAA,EACA,qBAAA,CAAA,EAAwB;AACvB,IAAA,OAAO,IAAA,CAAK,YAAA,CAAa,qBAAA,CAAsB,CAAA;AAAA,EAChD;AAAA,EACA,sBAAA,CAAA,EAAyB;AACxB,IAAA,OAAO,IAAA,CAAK,YAAA,CAAa,sBAAA,CAAuB,CAAA;AAAA,EACjD;AAAA,EACA,sBAAA,CAAA,EAAyB;AACxB,IAAA,OAAO,IAAA,CAAK,YAAA,CAAa,sBAAA,CAAuB,CAAA;AAAA,EACjD;AAAA,EACA,wBAAA,CAAA,EAA2B;AAC1B,IAAA,OAAO,IAAA,CAAK,YAAA,CAAa,wBAAA,CAAyB,CAAA;AAAA,EACnD;AAAA;AAAA;AAAA;AAAA,EAKA,KAAA,CAAA,EAAc;AACb,IAAA,IAAA,CAAK,SAAA,CAAU,KAAA,CAAM,CAAA;AACrB,IAAA,IAAA,CAAK,YAAA,CAAa,KAAA,CAAM,CAAA;AAAA,EACzB;AACD,CAAA;AAGO,IAAM,UAAA,EAAY,IAAI,SAAA,CAAU,CAAA;ADXvC;AACA;AACE;AACF,8BAAC","file":"/Users/shyun/comcom/ain-agent/ain-adk/dist/cjs/chunk-LTBTLUJD.cjs","sourcesContent":[null,"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"]}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});// src/config/options.ts
|
|
2
|
+
var _options = null;
|
|
3
|
+
function setOptions(options) {
|
|
4
|
+
_options = options;
|
|
5
|
+
}
|
|
6
|
+
function getOptions() {
|
|
7
|
+
if (!_options) {
|
|
8
|
+
throw new Error("Options not initialized. AINAgent must be created first.");
|
|
9
|
+
}
|
|
10
|
+
return _options;
|
|
11
|
+
}
|
|
12
|
+
function getOnIntentFallback() {
|
|
13
|
+
return getOptions().onIntentFallback;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
exports.setOptions = setOptions; exports.getOptions = getOptions; exports.getOnIntentFallback = getOnIntentFallback;
|
|
21
|
+
//# sourceMappingURL=chunk-MSPDYSCC.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/Users/shyun/comcom/ain-agent/ain-adk/dist/cjs/chunk-MSPDYSCC.cjs","../../src/config/options.ts"],"names":[],"mappings":"AAAA;ACMA,IAAI,SAAA,EAAgC,IAAA;AAE7B,SAAS,UAAA,CAAW,OAAA,EAA6B;AACvD,EAAA,SAAA,EAAW,OAAA;AACZ;AAEO,SAAS,UAAA,CAAA,EAA2B;AAC1C,EAAA,GAAA,CAAI,CAAC,QAAA,EAAU;AACd,IAAA,MAAM,IAAI,KAAA,CAAM,0DAA0D,CAAA;AAAA,EAC3E;AACA,EAAA,OAAO,QAAA;AACR;AAEO,SAAS,mBAAA,CAAA,EAAoD;AACnE,EAAA,OAAO,UAAA,CAAW,CAAA,CAAE,gBAAA;AACrB;ADPA;AACA;AACE;AACA;AACA;AACF,oHAAC","file":"/Users/shyun/comcom/ain-agent/ain-adk/dist/cjs/chunk-MSPDYSCC.cjs","sourcesContent":[null,"import type { OnIntentFallback } from \"@/types/agent\";\n\nexport interface AgentOptions {\n\tonIntentFallback?: OnIntentFallback;\n}\n\nlet _options: AgentOptions | null = null;\n\nexport function setOptions(options: AgentOptions): void {\n\t_options = options;\n}\n\nexport function getOptions(): AgentOptions {\n\tif (!_options) {\n\t\tthrow new Error(\"Options not initialized. AINAgent must be created first.\");\n\t}\n\treturn _options;\n}\n\nexport function getOnIntentFallback(): OnIntentFallback | undefined {\n\treturn getOptions().onIntentFallback;\n}\n"]}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
|
+
|
|
3
|
+
var _chunkVKZGZZY4cjs = require('./chunk-VKZGZZY4.cjs');
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
var _chunk7XYVRO76cjs = require('./chunk-7XYVRO76.cjs');
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
var _chunkZZP6LQ5Rcjs = require('./chunk-ZZP6LQ5R.cjs');
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
var _chunkV5RSN2DYcjs = require('./chunk-V5RSN2DY.cjs');
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
var _chunk6HUEBFXLcjs = require('./chunk-6HUEBFXL.cjs');
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
var _chunkS6BHSEXFcjs = require('./chunk-S6BHSEXF.cjs');
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
var _chunkHDF5WQFQcjs = require('./chunk-HDF5WQFQ.cjs');
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
var _chunk4VIZ52C2cjs = require('./chunk-4VIZ52C2.cjs');
|
|
27
|
+
|
|
28
|
+
// src/container/controllers.ts
|
|
29
|
+
var ControllerContainer = class {
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
constructor(services) {
|
|
39
|
+
this.services = services;
|
|
40
|
+
}
|
|
41
|
+
getQueryController() {
|
|
42
|
+
if (!this._queryController) {
|
|
43
|
+
this._queryController = new (0, _chunkHDF5WQFQcjs.QueryController)(
|
|
44
|
+
this.services.getQueryService()
|
|
45
|
+
);
|
|
46
|
+
}
|
|
47
|
+
return this._queryController;
|
|
48
|
+
}
|
|
49
|
+
getIntentController() {
|
|
50
|
+
if (!this._intentController) {
|
|
51
|
+
this._intentController = new (0, _chunkS6BHSEXFcjs.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 (0, _chunkV5RSN2DYcjs.ModelApiController)(_chunk4VIZ52C2cjs.getModelModule.call(void 0, ));
|
|
61
|
+
}
|
|
62
|
+
return this._modelApiController;
|
|
63
|
+
}
|
|
64
|
+
getAgentApiController() {
|
|
65
|
+
if (!this._agentApiController) {
|
|
66
|
+
this._agentApiController = new (0, _chunkZZP6LQ5Rcjs.AgentApiController)(_chunk4VIZ52C2cjs.getA2AModule.call(void 0, ));
|
|
67
|
+
}
|
|
68
|
+
return this._agentApiController;
|
|
69
|
+
}
|
|
70
|
+
getThreadApiController() {
|
|
71
|
+
if (!this._threadApiController) {
|
|
72
|
+
this._threadApiController = new (0, _chunk6HUEBFXLcjs.ThreadApiController)(_chunk4VIZ52C2cjs.getMemoryModule.call(void 0, ));
|
|
73
|
+
}
|
|
74
|
+
return this._threadApiController;
|
|
75
|
+
}
|
|
76
|
+
getIntentApiController() {
|
|
77
|
+
if (!this._intentApiController) {
|
|
78
|
+
this._intentApiController = new (0, _chunkVKZGZZY4cjs.IntentApiController)(_chunk4VIZ52C2cjs.getMemoryModule.call(void 0, ));
|
|
79
|
+
}
|
|
80
|
+
return this._intentApiController;
|
|
81
|
+
}
|
|
82
|
+
getWorkflowApiController() {
|
|
83
|
+
if (!this._workflowApiController) {
|
|
84
|
+
this._workflowApiController = new (0, _chunk7XYVRO76cjs.WorkflowApiController)(
|
|
85
|
+
_chunk4VIZ52C2cjs.getMemoryModule.call(void 0, )
|
|
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
|
+
|
|
102
|
+
|
|
103
|
+
exports.ControllerContainer = ControllerContainer;
|
|
104
|
+
//# sourceMappingURL=chunk-NFEFQTIX.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/Users/shyun/comcom/ain-agent/ain-adk/dist/cjs/chunk-NFEFQTIX.cjs","../../src/container/controllers.ts"],"names":[],"mappings":"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","file":"/Users/shyun/comcom/ain-agent/ain-adk/dist/cjs/chunk-NFEFQTIX.cjs","sourcesContent":[null,"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"]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var _chunkOERUQFT7cjs = require('./chunk-OERUQFT7.cjs');
|
|
4
4
|
|
|
5
5
|
// src/middlewares/auth.middleware.ts
|
|
6
6
|
var _httpstatuscodes = require('http-status-codes');
|
|
@@ -11,13 +11,16 @@ 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) {
|
|
17
20
|
res.locals.userId = authRes.userId;
|
|
18
21
|
next();
|
|
19
22
|
} else {
|
|
20
|
-
const error = new (0,
|
|
23
|
+
const error = new (0, _chunkOERUQFT7cjs.AinHttpError)(
|
|
21
24
|
_httpstatuscodes.StatusCodes.UNAUTHORIZED,
|
|
22
25
|
"Unauthorized"
|
|
23
26
|
);
|
|
@@ -25,7 +28,7 @@ var AuthMiddleware = class {
|
|
|
25
28
|
}
|
|
26
29
|
} catch (e) {
|
|
27
30
|
if (!e.status) {
|
|
28
|
-
const error = new (0,
|
|
31
|
+
const error = new (0, _chunkOERUQFT7cjs.AinHttpError)(
|
|
29
32
|
_httpstatuscodes.StatusCodes.INTERNAL_SERVER_ERROR,
|
|
30
33
|
`Authentication error: ${JSON.stringify(e)}`
|
|
31
34
|
);
|
|
@@ -40,4 +43,4 @@ var AuthMiddleware = class {
|
|
|
40
43
|
|
|
41
44
|
|
|
42
45
|
exports.AuthMiddleware = AuthMiddleware;
|
|
43
|
-
//# sourceMappingURL=chunk-
|
|
46
|
+
//# sourceMappingURL=chunk-NLONGI2K.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/Users/shyun/comcom/ain-agent/ain-adk/dist/cjs/chunk-NLONGI2K.cjs","../../src/middlewares/auth.middleware.ts"],"names":[],"mappings":"AAAA;AACE;AACF,wDAA6B;AAC7B;AACA;ACHA,oDAA4B;AAKrB,IAAM,eAAA,EAAN,MAAqB;AAAA,EACnB;AAAA,EACR,WAAA,CAAY,IAAA,EAA8B;AACzC,IAAA,IAAA,CAAK,KAAA,EAAO,IAAA;AAAA,EACb;AAAA,EAEO,UAAA,CAAA,EAA6B;AACnC,IAAA,OAAO,MAAA,CAAO,GAAA,EAAc,GAAA,EAAe,IAAA,EAAA,GAAuB;AACjE,MAAA,GAAA,CAAI,CAAC,IAAA,CAAK,IAAA,EAAM;AAEf,QAAA,OAAO,IAAA,CAAK,CAAA;AAAA,MACb;AAEA,MAAA,IAAI;AACH,QAAA,MAAM,QAAA,EAAwB,MAAM,IAAA,CAAK,IAAA,CAAK,YAAA,CAAa,GAAA,EAAK,GAAG,CAAA;AACnE,QAAA,GAAA,CAAI,OAAA,CAAQ,eAAA,EAAiB;AAC5B,UAAA,GAAA,CAAI,MAAA,CAAO,OAAA,EAAS,OAAA,CAAQ,MAAA;AAC5B,UAAA,IAAA,CAAK,CAAA;AAAA,QACN,EAAA,KAAO;AACN,UAAA,MAAM,MAAA,EAAsB,IAAI,mCAAA;AAAA,YAC/B,4BAAA,CAAY,YAAA;AAAA,YACZ;AAAA,UACD,CAAA;AACA,UAAA,MAAM,KAAA;AAAA,QACP;AAAA,MACD,EAAA,MAAA,CAAS,CAAA,EAAQ;AAChB,QAAA,GAAA,CAAI,CAAC,CAAA,CAAE,MAAA,EAAQ;AACd,UAAA,MAAM,MAAA,EAAsB,IAAI,mCAAA;AAAA,YAC/B,4BAAA,CAAY,qBAAA;AAAA,YACZ,CAAA,sBAAA,EAAyB,IAAA,CAAK,SAAA,CAAU,CAAC,CAAC,CAAA;AAAA,UAAA;AAE3C,UAAA;AAAM,QAAA;AAEP,QAAA;AAAM,MAAA;AACP,IAAA;AACD,EAAA;AAEF;ADFA;AACA;AACA;AACA","file":"/Users/shyun/comcom/ain-agent/ain-adk/dist/cjs/chunk-NLONGI2K.cjs","sourcesContent":[null,"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"]}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
|
+
|
|
3
|
+
var _chunkCLJ3DWTAcjs = require('./chunk-CLJ3DWTA.cjs');
|
|
4
|
+
|
|
5
|
+
// src/services/intents/single-trigger.service.ts
|
|
6
|
+
var SingleIntentTriggerService = class {
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
constructor(modelModule, memoryModule) {
|
|
10
|
+
this.modelModule = modelModule;
|
|
11
|
+
this.memoryModule = memoryModule;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Detects a single intent from context.
|
|
15
|
+
* Simpler prompt that doesn't decompose queries into subqueries.
|
|
16
|
+
*
|
|
17
|
+
* @param query - The user's input query
|
|
18
|
+
* @param thread - The thread history
|
|
19
|
+
* @returns Array with single TriggeredIntent
|
|
20
|
+
*/
|
|
21
|
+
async intentTriggering(query, thread) {
|
|
22
|
+
const modelInstance = this.modelModule.getModel();
|
|
23
|
+
const modelOptions = this.modelModule.getModelOptions();
|
|
24
|
+
const intentMemory = this.memoryModule.getIntentMemory();
|
|
25
|
+
if (!intentMemory) {
|
|
26
|
+
return [{ subquery: query }];
|
|
27
|
+
}
|
|
28
|
+
const intents = await intentMemory.listIntents();
|
|
29
|
+
if (intents.length === 0) {
|
|
30
|
+
_chunkCLJ3DWTAcjs.loggers.intentStream.warn("No intent found");
|
|
31
|
+
return [{ subquery: query }];
|
|
32
|
+
}
|
|
33
|
+
const intentList = intents.map((intent) => `- ${intent.name}: ${intent.description}`).join("\n");
|
|
34
|
+
const threadMessages = !thread ? "" : thread.messages.sort((a, b) => a.timestamp - b.timestamp).map((message) => {
|
|
35
|
+
const role = message.role === "USER" ? "User" : message.role === "MODEL" ? "Assistant" : "System";
|
|
36
|
+
const content = Array.isArray(message.content.parts) ? message.content.parts.join(" ") : String(message.content.parts);
|
|
37
|
+
return `${role}: """${content}"""`;
|
|
38
|
+
}).join("\n");
|
|
39
|
+
const systemPrompt = `
|
|
40
|
+
Today is ${(/* @__PURE__ */ new Date()).toLocaleDateString()}.
|
|
41
|
+
You are an expert in accurately identifying user intentions.
|
|
42
|
+
|
|
43
|
+
Available intent list:
|
|
44
|
+
${intentList}
|
|
45
|
+
|
|
46
|
+
Please select and answer only from the above intent list.`;
|
|
47
|
+
const userMessage = `
|
|
48
|
+
${threadMessages !== "" ? `The following is the conversation history with the user: ${threadMessages}
|
|
49
|
+
|
|
50
|
+
` : ""}
|
|
51
|
+
User question: "${query}"
|
|
52
|
+
|
|
53
|
+
Based on the above conversation history, analyze the user question and identify the most relevant intent.
|
|
54
|
+
|
|
55
|
+
Instructions:
|
|
56
|
+
1. Select the single most appropriate intent from the available intent list
|
|
57
|
+
2. If no intent matches well, do not set intentName
|
|
58
|
+
3. Provide a 2-3 sentence action plan describing what will be done
|
|
59
|
+
|
|
60
|
+
Output Format:
|
|
61
|
+
You MUST return the output in the following JSON format. Do not include any other text before or after the JSON:
|
|
62
|
+
{
|
|
63
|
+
"intentName": "<intent_name or null>",
|
|
64
|
+
"actionPlan": "<2-3 sentence description of what will be done>"
|
|
65
|
+
}`;
|
|
66
|
+
const messages = modelInstance.generateMessages({
|
|
67
|
+
query: userMessage,
|
|
68
|
+
systemPrompt
|
|
69
|
+
});
|
|
70
|
+
const response = await modelInstance.fetch(messages, modelOptions);
|
|
71
|
+
if (!response.content) {
|
|
72
|
+
_chunkCLJ3DWTAcjs.loggers.intent.warn("Cannot extract intent from query");
|
|
73
|
+
return [{ subquery: query }];
|
|
74
|
+
}
|
|
75
|
+
let parsed;
|
|
76
|
+
try {
|
|
77
|
+
parsed = JSON.parse(response.content);
|
|
78
|
+
} catch (error) {
|
|
79
|
+
return [{ subquery: query }];
|
|
80
|
+
}
|
|
81
|
+
const result = {
|
|
82
|
+
subquery: query,
|
|
83
|
+
actionPlan: parsed.actionPlan
|
|
84
|
+
};
|
|
85
|
+
if (parsed.intentName) {
|
|
86
|
+
result.intent = await intentMemory.getIntentByName(parsed.intentName);
|
|
87
|
+
}
|
|
88
|
+
return [result];
|
|
89
|
+
}
|
|
90
|
+
};
|
|
91
|
+
|
|
92
|
+
|
|
93
|
+
|
|
94
|
+
exports.SingleIntentTriggerService = SingleIntentTriggerService;
|
|
95
|
+
//# sourceMappingURL=chunk-NNVC34HX.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/Users/shyun/comcom/ain-agent/ain-adk/dist/cjs/chunk-NNVC34HX.cjs","../../src/services/intents/single-trigger.service.ts"],"names":[],"mappings":"AAAA;AACE;AACF,wDAA6B;AAC7B;AACA;ACQO,IAAM,2BAAA,EAAN,MAAiC;AAAA,EAC/B;AAAA,EACA;AAAA,EAER,WAAA,CAAY,WAAA,EAA0B,YAAA,EAA4B;AACjE,IAAA,IAAA,CAAK,YAAA,EAAc,WAAA;AACnB,IAAA,IAAA,CAAK,aAAA,EAAe,YAAA;AAAA,EACrB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUA,MAAa,gBAAA,CACZ,KAAA,EACA,MAAA,EACkC;AAClC,IAAA,MAAM,cAAA,EAAgB,IAAA,CAAK,WAAA,CAAY,QAAA,CAAS,CAAA;AAChD,IAAA,MAAM,aAAA,EAAe,IAAA,CAAK,WAAA,CAAY,eAAA,CAAgB,CAAA;AACtD,IAAA,MAAM,aAAA,EAAe,IAAA,CAAK,YAAA,CAAa,eAAA,CAAgB,CAAA;AACvD,IAAA,GAAA,CAAI,CAAC,YAAA,EAAc;AAClB,MAAA,OAAO,CAAC,EAAE,QAAA,EAAU,MAAM,CAAC,CAAA;AAAA,IAC5B;AAEA,IAAA,MAAM,QAAA,EAAU,MAAM,YAAA,CAAa,WAAA,CAAY,CAAA;AAC/C,IAAA,GAAA,CAAI,OAAA,CAAQ,OAAA,IAAW,CAAA,EAAG;AACzB,MAAA,yBAAA,CAAQ,YAAA,CAAa,IAAA,CAAK,iBAAiB,CAAA;AAC3C,MAAA,OAAO,CAAC,EAAE,QAAA,EAAU,MAAM,CAAC,CAAA;AAAA,IAC5B;AAEA,IAAA,MAAM,WAAA,EAAa,OAAA,CACjB,GAAA,CAAI,CAAC,MAAA,EAAA,GAAW,CAAA,EAAA,EAAK,MAAA,CAAO,IAAI,CAAA,EAAA,EAAK,MAAA,CAAO,WAAW,CAAA,CAAA;AAOxB,IAAA;AAMxB,MAAA;AAGoB,MAAA;AAEI,MAAA;AAEpB,IAAA;AAEQ,IAAA;AACmB,SAAA;AAAA;AAAA;AAAA;AAI9B;AAAA;AAAA,yDAAA;AAIU,IAAA;AAG0C;AAAc;AAI9E,CAAA;AACuB,gBAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,CAAA;AAgB2B,IAAA;AACxC,MAAA;AACP,MAAA;AACA,IAAA;AAEgE,IAAA;AAC1C,IAAA;AACgC,MAAA;AAC3B,MAAA;AAC5B,IAAA;AAEI,IAAA;AACA,IAAA;AACiC,MAAA;AACZ,IAAA;AACG,MAAA;AAC5B,IAAA;AAEgC,IAAA;AACrB,MAAA;AACS,MAAA;AACpB,IAAA;AAEuB,IAAA;AAC8C,MAAA;AACrE,IAAA;AAEc,IAAA;AACf,EAAA;AACD;ADzCuF;AACA;AACA;AACA","file":"/Users/shyun/comcom/ain-agent/ain-adk/dist/cjs/chunk-NNVC34HX.cjs","sourcesContent":[null,"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 single-intent triggering.\n * Identifies a single intent without decomposing queries into subqueries.\n */\nexport class SingleIntentTriggerService {\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 a single intent from context.\n\t * Simpler prompt that doesn't decompose 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 with single TriggeredIntent\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\tconst intents = await intentMemory.listIntents();\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}\nUser question: \"${query}\"\n\nBased on the above conversation history, analyze the user question and identify the most relevant intent.\n\nInstructions:\n1. Select the single most appropriate intent from the available intent list\n2. If no intent matches well, do not set intentName\n3. Provide a 2-3 sentence action plan describing what will be done\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 \"intentName\": \"<intent_name or null>\",\n \"actionPlan\": \"<2-3 sentence description of what will be done>\"\n}`;\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 parsed: { intentName?: string; actionPlan?: string };\n\t\ttry {\n\t\t\tparsed = JSON.parse(response.content);\n\t\t} catch (error: unknown) {\n\t\t\treturn [{ subquery: query }];\n\t\t}\n\n\t\tconst result: TriggeredIntent = {\n\t\t\tsubquery: query,\n\t\t\tactionPlan: parsed.actionPlan,\n\t\t};\n\n\t\tif (parsed.intentName) {\n\t\t\tresult.intent = await intentMemory.getIntentByName(parsed.intentName);\n\t\t}\n\n\t\treturn [result];\n\t}\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/Users/shyun/comcom/ain-agent/ain-adk/dist/cjs/chunk-OERUQFT7.cjs","../../src/types/agent.ts"],"names":[],"mappings":"AAAA;AC0CO,IAAM,aAAA,EAAN,MAAA,QAA2B,MAAM;AAAA,EAChC;AAAA,EAEP,WAAA,CAAY,MAAA,EAAqB,OAAA,EAAiB;AACjD,IAAA,KAAA,CAAM,OAAO,CAAA;AACb,IAAA,IAAA,CAAK,OAAA,EAAS,MAAA;AAAA,EACf;AACD,CAAA;ADzCA;AACA;AACE;AACF,oCAAC","file":"/Users/shyun/comcom/ain-agent/ain-adk/dist/cjs/chunk-OERUQFT7.cjs","sourcesContent":[null,"import type { StatusCodes } from \"http-status-codes\";\nimport type { ThreadObject, TriggeredIntent } from \"./memory\";\nimport type { StreamEvent } from \"./stream\";\n\nexport type IntentFallbackContext = {\n\ttriggeredIntent: TriggeredIntent;\n\tthread: ThreadObject;\n};\n\nexport type OnIntentFallback = (\n\tcontext: IntentFallbackContext,\n) => AsyncGenerator<StreamEvent> | undefined;\n\n/**\n * Agent manifest containing essential metadata and configuration.\n *\n * The manifest defines the agent's identity, version, and optional configuration\n * such as the public URL for A2A protocol support and custom prompts.\n *\n * @example\n * ```typescript\n * const manifest: AinAgentManifest = {\n * name: \"CustomerSupportAgent\",\n * description: \"AI agent for handling customer support queries\",\n * version: \"1.0.0\",\n * url: \"https://api.example.com/agent\",\n * prompts: {\n * system: \"You are a helpful customer support assistant.\",\n * agent: \"Always be polite and provide detailed solutions.\"\n * }\n * };\n * ```\n */\nexport type AinAgentManifest = {\n\t/** Unique name identifier for the agent */\n\tname: string;\n\t/** Human-readable description of the agent's purpose and capabilities */\n\tdescription: string;\n\t/** Optional public URL for A2A protocol discovery and communication */\n\turl?: string;\n};\n\nexport class AinHttpError extends Error {\n\tpublic status?: StatusCodes;\n\n\tconstructor(status: StatusCodes, message: string) {\n\t\tsuper(message);\n\t\tthis.status = status;\n\t}\n}\n"]}
|
|
@@ -21,9 +21,12 @@ var MemoryModule = class {
|
|
|
21
21
|
getIntentMemory() {
|
|
22
22
|
return this.memory.getIntentMemory();
|
|
23
23
|
}
|
|
24
|
+
getWorkflowMemory() {
|
|
25
|
+
return this.memory.getWorkflowMemory();
|
|
26
|
+
}
|
|
24
27
|
};
|
|
25
28
|
|
|
26
29
|
|
|
27
30
|
|
|
28
31
|
exports.MemoryModule = MemoryModule;
|
|
29
|
-
//# sourceMappingURL=chunk-
|
|
32
|
+
//# sourceMappingURL=chunk-PH5CFKLN.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/Users/shyun/comcom/ain-agent/ain-adk/dist/cjs/chunk-PH5CFKLN.cjs","../../src/modules/memory/memory.module.ts"],"names":[],"mappings":"AAAA;ACQO,IAAM,aAAA,EAAN,MAAmB;AAAA,EACjB;AAAA,EAER,WAAA,CAAY,MAAA,EAAiB;AAC5B,IAAA,IAAA,CAAK,OAAA,EAAS,MAAA;AAAA,EACf;AAAA,EAEA,MAAM,UAAA,CAAA,EAA4B;AACjC,IAAA,MAAM,IAAA,CAAK,MAAA,CAAO,OAAA,CAAQ,CAAA;AAAA,EAC3B;AAAA,EAEA,MAAM,QAAA,CAAA,EAA0B;AAC/B,IAAA,GAAA,CAAI,IAAA,CAAK,MAAA,CAAO,WAAA,CAAY,CAAA,EAAG;AAC9B,MAAA,MAAM,IAAA,CAAK,MAAA,CAAO,UAAA,CAAW,CAAA;AAAA,IAC9B;AAAA,EACD;AAAA,EAEO,cAAA,CAAA,EAA+B;AACrC,IAAA,OAAO,IAAA,CAAK,MAAA,CAAO,cAAA,CAAe,CAAA;AAAA,EACnC;AAAA,EAEO,eAAA,CAAA,EAAiC;AACvC,IAAA,OAAO,IAAA,CAAK,MAAA,CAAO,eAAA,CAAgB,CAAA;AAAA,EACpC;AAAA,EAEO,eAAA,CAAA,EAAiC;AACvC,IAAA,OAAO,IAAA,CAAK,MAAA,CAAO,eAAA,CAAgB,CAAA;AAAA,EACpC;AAAA,EAEO,iBAAA,CAAA,EAAqC;AAC3C,IAAA,OAAO,IAAA,CAAK,MAAA,CAAO,iBAAA,CAAkB,CAAA;AAAA,EACtC;AACD,CAAA;ADbA;AACA;AACE;AACF,oCAAC","file":"/Users/shyun/comcom/ain-agent/ain-adk/dist/cjs/chunk-PH5CFKLN.cjs","sourcesContent":[null,"import type {\n\tIAgentMemory,\n\tIIntentMemory,\n\tIMemory,\n\tIThreadMemory,\n\tIWorkflowMemory,\n} from \"./base.memory.js\";\n\nexport class MemoryModule {\n\tprivate memory: IMemory;\n\n\tconstructor(memory: IMemory) {\n\t\tthis.memory = memory;\n\t}\n\n\tasync initialize(): Promise<void> {\n\t\tawait this.memory.connect();\n\t}\n\n\tasync shutdown(): Promise<void> {\n\t\tif (this.memory.isConnected()) {\n\t\t\tawait this.memory.disconnect();\n\t\t}\n\t}\n\n\tpublic getAgentMemory(): IAgentMemory {\n\t\treturn this.memory.getAgentMemory();\n\t}\n\n\tpublic getThreadMemory(): IThreadMemory {\n\t\treturn this.memory.getThreadMemory();\n\t}\n\n\tpublic getIntentMemory(): IIntentMemory {\n\t\treturn this.memory.getIntentMemory();\n\t}\n\n\tpublic getWorkflowMemory(): IWorkflowMemory {\n\t\treturn this.memory.getWorkflowMemory();\n\t}\n}\n"]}
|
|
@@ -1,22 +1,26 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var _chunkLTBTLUJDcjs = require('./chunk-LTBTLUJD.cjs');
|
|
4
4
|
|
|
5
5
|
|
|
6
|
-
var
|
|
6
|
+
var _chunkOERUQFT7cjs = require('./chunk-OERUQFT7.cjs');
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
var _chunk4VIZ52C2cjs = require('./chunk-4VIZ52C2.cjs');
|
|
7
10
|
|
|
8
11
|
// src/routes/api/threads.routes.ts
|
|
9
12
|
|
|
10
13
|
|
|
11
14
|
var _express = require('express');
|
|
12
15
|
var _httpstatuscodes = require('http-status-codes');
|
|
13
|
-
var createThreadApiRouter = (
|
|
16
|
+
var createThreadApiRouter = () => {
|
|
14
17
|
const router = _express.Router.call(void 0, );
|
|
15
|
-
const threadApiController =
|
|
18
|
+
const threadApiController = _chunkLTBTLUJDcjs.container.getThreadApiController();
|
|
16
19
|
const checkThreadMemory = (_req, _res, next) => {
|
|
20
|
+
const memoryModule = _chunk4VIZ52C2cjs.getMemoryModule.call(void 0, );
|
|
17
21
|
const threadMemory = memoryModule.getThreadMemory();
|
|
18
22
|
if (!threadMemory) {
|
|
19
|
-
const error = new (0,
|
|
23
|
+
const error = new (0, _chunkOERUQFT7cjs.AinHttpError)(
|
|
20
24
|
_httpstatuscodes.StatusCodes.SERVICE_UNAVAILABLE,
|
|
21
25
|
"Memory module is not initialized"
|
|
22
26
|
);
|
|
@@ -26,8 +30,8 @@ var createThreadApiRouter = (memoryModule) => {
|
|
|
26
30
|
};
|
|
27
31
|
router.get("/", checkThreadMemory, threadApiController.handleGetUserThreads);
|
|
28
32
|
router.get("/:id", checkThreadMemory, threadApiController.handleGetThread);
|
|
29
|
-
router.
|
|
30
|
-
"/:id",
|
|
33
|
+
router.post(
|
|
34
|
+
"/delete/:id",
|
|
31
35
|
checkThreadMemory,
|
|
32
36
|
threadApiController.handleDeleteThread
|
|
33
37
|
);
|
|
@@ -37,4 +41,4 @@ var createThreadApiRouter = (memoryModule) => {
|
|
|
37
41
|
|
|
38
42
|
|
|
39
43
|
exports.createThreadApiRouter = createThreadApiRouter;
|
|
40
|
-
//# sourceMappingURL=chunk-
|
|
44
|
+
//# sourceMappingURL=chunk-QHDIM62U.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/Users/shyun/comcom/ain-agent/ain-adk/dist/cjs/chunk-QHDIM62U.cjs","../../src/routes/api/threads.routes.ts"],"names":[],"mappings":"AAAA;AACE;AACF,wDAA6B;AAC7B;AACE;AACF,wDAA6B;AAC7B;AACE;AACF,wDAA6B;AAC7B;AACA;ACVA;AAIC;AAAA,kCACM;AACP,oDAA4B;AAKrB,IAAM,sBAAA,EAAwB,CAAA,EAAA,GAAc;AAClD,EAAA,MAAM,OAAA,EAAS,6BAAA,CAAO;AACtB,EAAA,MAAM,oBAAA,EAAsB,2BAAA,CAAU,sBAAA,CAAuB,CAAA;AAE7D,EAAA,MAAM,kBAAA,EAAoB,CACzB,IAAA,EACA,IAAA,EACA,IAAA,EAAA,GACI;AACJ,IAAA,MAAM,aAAA,EAAe,+CAAA,CAAgB;AACrC,IAAA,MAAM,aAAA,EAAe,YAAA,CAAa,eAAA,CAAgB,CAAA;AAClD,IAAA,GAAA,CAAI,CAAC,YAAA,EAAc;AAClB,MAAA,MAAM,MAAA,EAAQ,IAAI,mCAAA;AAAA,QACjB,4BAAA,CAAY,mBAAA;AAAA,QACZ;AAAA,MACD,CAAA;AACA,MAAA,MAAM,KAAA;AAAA,IACP;AACA,IAAA,IAAA,CAAK,CAAA;AAAA,EACN,CAAA;AAGA,EAAA,MAAA,CAAO,GAAA,CAAI,GAAA,EAAK,iBAAA,EAAmB,mBAAA,CAAoB,oBAAoB,CAAA;AAC3E,EAAA,MAAA,CAAO,GAAA,CAAI,MAAA,EAAQ,iBAAA,EAAmB,mBAAA,CAAoB,eAAe,CAAA;AACzE,EAAA,MAAA,CAAO,IAAA;AAAA,IACN,aAAA;AAAA,IACA,iBAAA;AAAA,IACA,mBAAA,CAAoB;AAAA,EACrB,CAAA;AAEA,EAAA,OAAO,MAAA;AACR,CAAA;ADHA;AACA;AACE;AACF,sDAAC","file":"/Users/shyun/comcom/ain-agent/ain-adk/dist/cjs/chunk-QHDIM62U.cjs","sourcesContent":[null,"import {\n\ttype NextFunction,\n\ttype Request,\n\ttype Response,\n\tRouter,\n} from \"express\";\nimport { StatusCodes } from \"http-status-codes\";\nimport { getMemoryModule } from \"@/config/modules\";\nimport { container } from \"@/container\";\nimport { AinHttpError } from \"@/types/agent\";\n\nexport const createThreadApiRouter = (): Router => {\n\tconst router = Router();\n\tconst threadApiController = container.getThreadApiController();\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/threads)\n\trouter.get(\"/\", checkThreadMemory, threadApiController.handleGetUserThreads);\n\trouter.get(\"/:id\", checkThreadMemory, threadApiController.handleGetThread);\n\trouter.post(\n\t\t\"/delete/:id\",\n\t\tcheckThreadMemory,\n\t\tthreadApiController.handleDeleteThread,\n\t);\n\n\treturn router;\n};\n"]}
|