@ainetwork/adk 0.0.2 → 0.1.1
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 +9 -39
- package/dist/cjs/chunk-5VIAH4HE.cjs +34 -0
- package/dist/cjs/chunk-5VIAH4HE.cjs.map +1 -0
- package/dist/cjs/chunk-6YJFC7BY.cjs +22 -0
- package/dist/cjs/chunk-6YJFC7BY.cjs.map +1 -0
- package/dist/cjs/chunk-7BZO57TG.cjs +111 -0
- package/dist/cjs/chunk-7BZO57TG.cjs.map +1 -0
- package/dist/cjs/chunk-AHMW3HCU.cjs +168 -0
- package/dist/cjs/chunk-AHMW3HCU.cjs.map +1 -0
- package/dist/cjs/chunk-CR53JLN7.cjs +37 -0
- package/dist/cjs/chunk-CR53JLN7.cjs.map +1 -0
- package/dist/cjs/chunk-D525HP3R.cjs +17 -0
- package/dist/cjs/chunk-D525HP3R.cjs.map +1 -0
- package/dist/cjs/chunk-DOFTYGJR.cjs +21 -0
- package/dist/cjs/chunk-DOFTYGJR.cjs.map +1 -0
- package/dist/cjs/chunk-DX2JH3FJ.cjs +13 -0
- package/dist/cjs/chunk-DX2JH3FJ.cjs.map +1 -0
- package/dist/cjs/chunk-DYRSSHDI.cjs +22 -0
- package/dist/cjs/chunk-DYRSSHDI.cjs.map +1 -0
- package/dist/cjs/chunk-E433ONEN.cjs +26 -0
- package/dist/cjs/chunk-E433ONEN.cjs.map +1 -0
- package/dist/cjs/chunk-EL3TFOO4.cjs +8 -0
- package/dist/cjs/chunk-EL3TFOO4.cjs.map +1 -0
- package/dist/cjs/chunk-F7I4G6JG.cjs +26 -0
- package/dist/cjs/chunk-F7I4G6JG.cjs.map +1 -0
- package/dist/cjs/chunk-ILGIEJCX.cjs +111 -0
- package/dist/cjs/chunk-ILGIEJCX.cjs.map +1 -0
- package/dist/cjs/chunk-JTAXZJQ2.cjs +40 -0
- package/dist/cjs/chunk-JTAXZJQ2.cjs.map +1 -0
- package/dist/cjs/chunk-KOQCHAYO.cjs +8 -0
- package/dist/cjs/chunk-KOQCHAYO.cjs.map +1 -0
- package/dist/cjs/chunk-LISZOU2X.cjs +20 -0
- package/dist/cjs/chunk-LISZOU2X.cjs.map +1 -0
- package/dist/cjs/chunk-LPXYZH22.cjs +11 -0
- package/dist/cjs/chunk-LPXYZH22.cjs.map +1 -0
- package/dist/cjs/chunk-MPIGSL72.cjs +42 -0
- package/dist/cjs/chunk-MPIGSL72.cjs.map +1 -0
- package/dist/cjs/chunk-MWX4THZT.cjs +100 -0
- package/dist/cjs/chunk-MWX4THZT.cjs.map +1 -0
- package/dist/cjs/chunk-N7NGEMKL.cjs +17 -0
- package/dist/cjs/chunk-N7NGEMKL.cjs.map +1 -0
- package/dist/cjs/chunk-QWASSVCU.cjs +52 -0
- package/dist/cjs/chunk-QWASSVCU.cjs.map +1 -0
- package/dist/cjs/chunk-SSSDO7PA.cjs +1 -0
- package/dist/cjs/chunk-SSSDO7PA.cjs.map +1 -0
- package/dist/cjs/chunk-V5RSN2DY.cjs +20 -0
- package/dist/cjs/chunk-V5RSN2DY.cjs.map +1 -0
- package/dist/cjs/chunk-VNM6OHT3.cjs +27 -0
- package/dist/cjs/chunk-VNM6OHT3.cjs.map +1 -0
- package/dist/cjs/chunk-WTT6FJEA.cjs +8 -0
- package/dist/cjs/chunk-WTT6FJEA.cjs.map +1 -0
- package/dist/cjs/chunk-YRNIZTPF.cjs +34 -0
- package/dist/cjs/chunk-YRNIZTPF.cjs.map +1 -0
- package/dist/cjs/chunk-ZMYG5HDT.cjs +171 -0
- package/dist/cjs/chunk-ZMYG5HDT.cjs.map +1 -0
- package/dist/cjs/controllers/a2a.controller.cjs +8 -0
- package/dist/cjs/controllers/a2a.controller.cjs.map +1 -0
- package/dist/cjs/controllers/api/model.api.controller.cjs +7 -0
- package/dist/cjs/controllers/api/model.api.controller.cjs.map +1 -0
- package/dist/cjs/controllers/api/session.api.controller.cjs +8 -0
- package/dist/cjs/controllers/api/session.api.controller.cjs.map +1 -0
- package/dist/cjs/controllers/index.cjs +21 -0
- package/dist/cjs/controllers/index.cjs.map +1 -0
- package/dist/cjs/controllers/query.controller.cjs +7 -0
- package/dist/cjs/controllers/query.controller.cjs.map +1 -0
- package/dist/cjs/index.cjs +728 -0
- package/dist/cjs/index.cjs.map +1 -0
- package/dist/cjs/middlewares/auth.middleware.cjs +8 -0
- package/dist/cjs/middlewares/auth.middleware.cjs.map +1 -0
- package/dist/cjs/middlewares/error.middleware.cjs +8 -0
- package/dist/cjs/middlewares/error.middleware.cjs.map +1 -0
- package/dist/cjs/modules/a2a/a2a.module.cjs +10 -0
- package/dist/cjs/modules/a2a/a2a.module.cjs.map +1 -0
- package/dist/cjs/modules/a2a/a2a.tool.cjs +8 -0
- package/dist/cjs/modules/a2a/a2a.tool.cjs.map +1 -0
- package/dist/cjs/modules/auth/base.auth.cjs +7 -0
- package/dist/cjs/modules/auth/base.auth.cjs.map +1 -0
- package/dist/cjs/modules/index.cjs +36 -0
- package/dist/cjs/modules/index.cjs.map +1 -0
- package/dist/cjs/modules/mcp/mcp.module.cjs +10 -0
- package/dist/cjs/modules/mcp/mcp.module.cjs.map +1 -0
- package/dist/cjs/modules/mcp/mcp.tool.cjs +8 -0
- package/dist/cjs/modules/mcp/mcp.tool.cjs.map +1 -0
- package/dist/cjs/modules/memory/base.memory.cjs +7 -0
- package/dist/cjs/modules/memory/base.memory.cjs.map +1 -0
- package/dist/cjs/modules/memory/memory.module.cjs +8 -0
- package/dist/cjs/modules/memory/memory.module.cjs.map +1 -0
- package/dist/cjs/modules/models/base.model.cjs +7 -0
- package/dist/cjs/modules/models/base.model.cjs.map +1 -0
- package/dist/cjs/modules/models/model.module.cjs +7 -0
- package/dist/cjs/modules/models/model.module.cjs.map +1 -0
- package/dist/cjs/routes/a2a.routes.cjs +13 -0
- package/dist/cjs/routes/a2a.routes.cjs.map +1 -0
- package/dist/cjs/routes/api/models.routes.cjs +8 -0
- package/dist/cjs/routes/api/models.routes.cjs.map +1 -0
- package/dist/cjs/routes/api/sessions.routes.cjs +9 -0
- package/dist/cjs/routes/api/sessions.routes.cjs.map +1 -0
- package/dist/cjs/routes/api.routes.cjs +12 -0
- package/dist/cjs/routes/api.routes.cjs.map +1 -0
- package/dist/cjs/routes/index.cjs +34 -0
- package/dist/cjs/routes/index.cjs.map +1 -0
- package/dist/cjs/routes/query.routes.cjs +12 -0
- package/dist/cjs/routes/query.routes.cjs.map +1 -0
- package/dist/cjs/services/a2a.service.cjs +8 -0
- package/dist/cjs/services/a2a.service.cjs.map +1 -0
- package/dist/cjs/services/index.cjs +14 -0
- package/dist/cjs/services/index.cjs.map +1 -0
- package/dist/cjs/services/query.service.cjs +10 -0
- package/dist/cjs/services/query.service.cjs.map +1 -0
- package/dist/cjs/types/agent.cjs +7 -0
- package/dist/cjs/types/agent.cjs.map +1 -0
- package/dist/cjs/types/mcp.cjs +1 -0
- package/dist/cjs/types/mcp.cjs.map +1 -0
- package/dist/cjs/types/memory.cjs +9 -0
- package/dist/cjs/types/memory.cjs.map +1 -0
- package/dist/cjs/types/tool.cjs +7 -0
- package/dist/cjs/types/tool.cjs.map +1 -0
- package/dist/cjs/utils/logger.cjs +11 -0
- package/dist/cjs/utils/logger.cjs.map +1 -0
- package/dist/esm/chunk-2Z7GJVJJ.js +17 -0
- package/dist/esm/chunk-2Z7GJVJJ.js.map +1 -0
- package/dist/esm/chunk-3LLHEUY2.js +26 -0
- package/dist/esm/chunk-3LLHEUY2.js.map +1 -0
- package/dist/esm/chunk-635VQ4CH.js +42 -0
- package/dist/esm/chunk-635VQ4CH.js.map +1 -0
- package/dist/esm/chunk-64GEXWSE.js +40 -0
- package/dist/esm/chunk-64GEXWSE.js.map +1 -0
- package/dist/esm/chunk-AQ5YZERE.js +111 -0
- package/dist/esm/chunk-AQ5YZERE.js.map +1 -0
- package/dist/esm/chunk-BTZVK3EA.js +100 -0
- package/dist/esm/chunk-BTZVK3EA.js.map +1 -0
- package/dist/esm/chunk-CH4XHVJY.js +37 -0
- package/dist/esm/chunk-CH4XHVJY.js.map +1 -0
- package/dist/esm/chunk-CQ6GXYN2.js +27 -0
- package/dist/esm/chunk-CQ6GXYN2.js.map +1 -0
- package/dist/esm/chunk-DGH3GB5I.js +26 -0
- package/dist/esm/chunk-DGH3GB5I.js.map +1 -0
- package/dist/esm/chunk-EODMRV4H.js +111 -0
- package/dist/esm/chunk-EODMRV4H.js.map +1 -0
- package/dist/esm/chunk-FI2UQLVC.js +11 -0
- package/dist/esm/chunk-FI2UQLVC.js.map +1 -0
- package/dist/esm/chunk-FL3JRQM4.js +13 -0
- package/dist/esm/chunk-FL3JRQM4.js.map +1 -0
- package/dist/esm/chunk-GZFRRFOE.js +8 -0
- package/dist/esm/chunk-GZFRRFOE.js.map +1 -0
- package/dist/esm/chunk-ILFWNK3W.js +22 -0
- package/dist/esm/chunk-ILFWNK3W.js.map +1 -0
- package/dist/esm/chunk-KJ4MVCYE.js +8 -0
- package/dist/esm/chunk-KJ4MVCYE.js.map +1 -0
- package/dist/esm/chunk-KUMCCCED.js +8 -0
- package/dist/esm/chunk-KUMCCCED.js.map +1 -0
- package/dist/esm/chunk-M4HGSCXF.js +17 -0
- package/dist/esm/chunk-M4HGSCXF.js.map +1 -0
- package/dist/esm/chunk-PHKK5NHK.js +52 -0
- package/dist/esm/chunk-PHKK5NHK.js.map +1 -0
- package/dist/esm/chunk-SQWZXP4P.js +168 -0
- package/dist/esm/chunk-SQWZXP4P.js.map +1 -0
- package/dist/esm/chunk-TMHRCGTE.js +20 -0
- package/dist/esm/chunk-TMHRCGTE.js.map +1 -0
- package/dist/esm/chunk-UA44VKFE.js +20 -0
- package/dist/esm/chunk-UA44VKFE.js.map +1 -0
- package/dist/esm/chunk-UZQZXNND.js +22 -0
- package/dist/esm/chunk-UZQZXNND.js.map +1 -0
- package/dist/esm/chunk-WZBXLGQK.js +171 -0
- package/dist/esm/chunk-WZBXLGQK.js.map +1 -0
- package/dist/esm/chunk-X47DAWPH.js +34 -0
- package/dist/esm/chunk-X47DAWPH.js.map +1 -0
- package/dist/esm/chunk-XOMQNCCR.js +21 -0
- package/dist/esm/chunk-XOMQNCCR.js.map +1 -0
- package/dist/esm/chunk-XPJK5O3I.js +34 -0
- package/dist/esm/chunk-XPJK5O3I.js.map +1 -0
- package/dist/esm/chunk-XYCWK2ZM.js +1 -0
- package/dist/esm/chunk-XYCWK2ZM.js.map +1 -0
- package/dist/esm/controllers/a2a.controller.d.ts +25 -6
- package/dist/esm/controllers/a2a.controller.js +7 -93
- package/dist/esm/controllers/a2a.controller.js.map +1 -1
- package/dist/esm/controllers/api/model.api.controller.d.ts +12 -4
- package/dist/esm/controllers/api/model.api.controller.js +6 -14
- package/dist/esm/controllers/api/model.api.controller.js.map +1 -1
- package/dist/esm/controllers/api/session.api.controller.d.ts +8 -4
- package/dist/esm/controllers/api/session.api.controller.js +7 -22
- package/dist/esm/controllers/api/session.api.controller.js.map +1 -1
- package/dist/esm/controllers/index.d.ts +25 -5
- package/dist/esm/controllers/index.js +20 -4
- package/dist/esm/controllers/index.js.map +1 -1
- package/dist/esm/controllers/query.controller.d.ts +23 -4
- package/dist/esm/controllers/query.controller.js +6 -15
- package/dist/esm/controllers/query.controller.js.map +1 -1
- package/dist/{cjs/app.d.ts → esm/index.d.ts} +23 -10
- package/dist/esm/index.js +728 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/middlewares/auth.middleware.d.ts +10 -0
- package/dist/esm/middlewares/auth.middleware.js +8 -0
- package/dist/esm/middlewares/auth.middleware.js.map +1 -0
- package/dist/esm/middlewares/error.middleware.d.ts +7 -4
- package/dist/esm/middlewares/error.middleware.js +6 -11
- package/dist/esm/middlewares/error.middleware.js.map +1 -1
- package/dist/esm/modules/a2a/a2a.module.d.ts +9 -4
- package/dist/esm/modules/a2a/a2a.module.js +9 -190
- package/dist/esm/modules/a2a/a2a.module.js.map +1 -1
- package/dist/esm/modules/a2a/a2a.tool.d.ts +8 -5
- package/dist/esm/modules/a2a/a2a.tool.js +7 -16
- package/dist/esm/modules/a2a/a2a.tool.js.map +1 -1
- package/dist/esm/modules/auth/base.auth.d.ts +7 -0
- package/dist/esm/modules/auth/base.auth.js +7 -0
- package/dist/esm/modules/auth/base.auth.js.map +1 -0
- package/dist/esm/modules/index.d.ts +17 -6
- package/dist/esm/modules/index.js +35 -5
- package/dist/esm/modules/index.js.map +1 -1
- package/dist/esm/modules/mcp/mcp.module.d.ts +11 -4
- package/dist/esm/modules/mcp/mcp.module.js +9 -113
- package/dist/esm/modules/mcp/mcp.module.js.map +1 -1
- package/dist/esm/modules/mcp/mcp.tool.d.ts +8 -4
- package/dist/esm/modules/mcp/mcp.tool.js +7 -17
- package/dist/esm/modules/mcp/mcp.tool.js.map +1 -1
- package/dist/esm/modules/memory/base.memory.d.ts +5 -3
- package/dist/esm/modules/memory/base.memory.js +6 -9
- package/dist/esm/modules/memory/base.memory.js.map +1 -1
- package/dist/esm/modules/memory/memory.module.d.ts +6 -4
- package/dist/esm/modules/memory/memory.module.js +7 -43
- package/dist/esm/modules/memory/memory.module.js.map +1 -1
- package/dist/esm/modules/models/base.model.d.ts +9 -4
- package/dist/esm/modules/models/base.model.js +6 -12
- package/dist/esm/modules/models/base.model.js.map +1 -1
- package/dist/esm/modules/models/model.module.d.ts +10 -3
- package/dist/esm/modules/models/model.module.js +6 -62
- package/dist/esm/modules/models/model.module.js.map +1 -1
- package/dist/esm/routes/a2a.routes.d.ts +24 -4
- package/dist/esm/routes/a2a.routes.js +11 -23
- package/dist/esm/routes/a2a.routes.js.map +1 -1
- package/dist/esm/routes/api/models.routes.d.ts +12 -4
- package/dist/esm/routes/api/models.routes.js +6 -8
- package/dist/esm/routes/api/models.routes.js.map +1 -1
- package/dist/esm/routes/api/sessions.routes.d.ts +8 -4
- package/dist/esm/routes/api/sessions.routes.js +7 -8
- package/dist/esm/routes/api/sessions.routes.js.map +1 -1
- package/dist/esm/routes/api.routes.d.ts +24 -4
- package/dist/esm/routes/api.routes.js +10 -10
- package/dist/esm/routes/api.routes.js.map +1 -1
- package/dist/esm/routes/index.d.ts +25 -5
- package/dist/esm/routes/index.js +33 -4
- package/dist/esm/routes/index.js.map +1 -1
- package/dist/esm/routes/query.routes.d.ts +24 -4
- package/dist/esm/routes/query.routes.js +10 -9
- package/dist/esm/routes/query.routes.js.map +1 -1
- package/dist/esm/services/a2a.service.d.ts +23 -4
- package/dist/esm/services/a2a.service.js +7 -88
- package/dist/esm/services/a2a.service.js.map +1 -1
- package/dist/esm/services/index.d.ts +20 -3
- package/dist/esm/services/index.js +13 -2
- package/dist/esm/services/index.js.map +1 -1
- package/dist/esm/services/query.service.d.ts +21 -4
- package/dist/esm/services/query.service.js +9 -157
- package/dist/esm/services/query.service.js.map +1 -1
- package/dist/esm/types/{index.d.ts → agent.d.ts} +7 -5
- package/dist/esm/types/agent.js +7 -0
- package/dist/esm/types/agent.js.map +1 -0
- package/dist/esm/types/mcp.d.ts +5 -3
- package/dist/esm/types/mcp.js +0 -1
- package/dist/esm/types/mcp.js.map +1 -1
- package/dist/esm/types/memory.d.ts +7 -6
- package/dist/esm/types/memory.js +8 -19
- package/dist/esm/types/memory.js.map +1 -1
- package/dist/esm/types/tool.d.ts +12 -10
- package/dist/esm/types/tool.js +6 -10
- package/dist/esm/types/tool.js.map +1 -1
- package/dist/esm/utils/logger.d.ts +7 -5
- package/dist/esm/utils/logger.js +9 -30
- package/dist/esm/utils/logger.js.map +1 -1
- package/package.json +32 -13
- package/dist/cjs/app.d.ts.map +0 -1
- package/dist/cjs/app.js +0 -170
- package/dist/cjs/app.js.map +0 -1
- package/dist/cjs/controllers/a2a.controller.d.ts +0 -15
- package/dist/cjs/controllers/a2a.controller.d.ts.map +0 -1
- package/dist/cjs/controllers/a2a.controller.js +0 -98
- package/dist/cjs/controllers/a2a.controller.js.map +0 -1
- package/dist/cjs/controllers/api/model.api.controller.d.ts +0 -8
- package/dist/cjs/controllers/api/model.api.controller.d.ts.map +0 -1
- package/dist/cjs/controllers/api/model.api.controller.js +0 -19
- package/dist/cjs/controllers/api/model.api.controller.js.map +0 -1
- package/dist/cjs/controllers/api/session.api.controller.d.ts +0 -8
- package/dist/cjs/controllers/api/session.api.controller.d.ts.map +0 -1
- package/dist/cjs/controllers/api/session.api.controller.js +0 -27
- package/dist/cjs/controllers/api/session.api.controller.js.map +0 -1
- package/dist/cjs/controllers/index.d.ts +0 -5
- package/dist/cjs/controllers/index.d.ts.map +0 -1
- package/dist/cjs/controllers/index.js +0 -12
- package/dist/cjs/controllers/index.js.map +0 -1
- package/dist/cjs/controllers/query.controller.d.ts +0 -8
- package/dist/cjs/controllers/query.controller.d.ts.map +0 -1
- package/dist/cjs/controllers/query.controller.js +0 -20
- package/dist/cjs/controllers/query.controller.js.map +0 -1
- package/dist/cjs/middlewares/auth/base.d.ts +0 -5
- package/dist/cjs/middlewares/auth/base.d.ts.map +0 -1
- package/dist/cjs/middlewares/auth/base.js +0 -13
- package/dist/cjs/middlewares/auth/base.js.map +0 -1
- package/dist/cjs/middlewares/base.auth.middleware.d.ts +0 -5
- package/dist/cjs/middlewares/base.auth.middleware.d.ts.map +0 -1
- package/dist/cjs/middlewares/base.auth.middleware.js +0 -13
- package/dist/cjs/middlewares/base.auth.middleware.js.map +0 -1
- package/dist/cjs/middlewares/error.middleware.d.ts +0 -4
- package/dist/cjs/middlewares/error.middleware.d.ts.map +0 -1
- package/dist/cjs/middlewares/error.middleware.js +0 -17
- package/dist/cjs/middlewares/error.middleware.js.map +0 -1
- package/dist/cjs/modules/a2a/a2a.module.d.ts +0 -71
- package/dist/cjs/modules/a2a/a2a.module.d.ts.map +0 -1
- package/dist/cjs/modules/a2a/a2a.module.js +0 -195
- package/dist/cjs/modules/a2a/a2a.module.js.map +0 -1
- package/dist/cjs/modules/a2a/a2a.tool.d.ts +0 -14
- package/dist/cjs/modules/a2a/a2a.tool.d.ts.map +0 -1
- package/dist/cjs/modules/a2a/a2a.tool.js +0 -21
- package/dist/cjs/modules/a2a/a2a.tool.js.map +0 -1
- package/dist/cjs/modules/fol/fol.module.d.ts +0 -31
- package/dist/cjs/modules/fol/fol.module.d.ts.map +0 -1
- package/dist/cjs/modules/fol/fol.module.js +0 -184
- package/dist/cjs/modules/fol/fol.module.js.map +0 -1
- package/dist/cjs/modules/fol/store/base.d.ts +0 -9
- package/dist/cjs/modules/fol/store/base.d.ts.map +0 -1
- package/dist/cjs/modules/fol/store/base.js +0 -7
- package/dist/cjs/modules/fol/store/base.js.map +0 -1
- package/dist/cjs/modules/fol/store/index.d.ts +0 -3
- package/dist/cjs/modules/fol/store/index.d.ts.map +0 -1
- package/dist/cjs/modules/fol/store/index.js +0 -8
- package/dist/cjs/modules/fol/store/index.js.map +0 -1
- package/dist/cjs/modules/fol/store/local.d.ts +0 -25
- package/dist/cjs/modules/fol/store/local.d.ts.map +0 -1
- package/dist/cjs/modules/fol/store/local.js +0 -221
- package/dist/cjs/modules/fol/store/local.js.map +0 -1
- package/dist/cjs/modules/index.d.ts +0 -6
- package/dist/cjs/modules/index.d.ts.map +0 -1
- package/dist/cjs/modules/index.js +0 -14
- package/dist/cjs/modules/index.js.map +0 -1
- package/dist/cjs/modules/mcp/mcp.module.d.ts +0 -65
- package/dist/cjs/modules/mcp/mcp.module.d.ts.map +0 -1
- package/dist/cjs/modules/mcp/mcp.module.js +0 -118
- package/dist/cjs/modules/mcp/mcp.module.js.map +0 -1
- package/dist/cjs/modules/mcp/mcp.tool.d.ts +0 -13
- package/dist/cjs/modules/mcp/mcp.tool.d.ts.map +0 -1
- package/dist/cjs/modules/mcp/mcp.tool.js +0 -22
- package/dist/cjs/modules/mcp/mcp.tool.js.map +0 -1
- package/dist/cjs/modules/memory/base/index.d.ts +0 -33
- package/dist/cjs/modules/memory/base/index.d.ts.map +0 -1
- package/dist/cjs/modules/memory/base/index.js +0 -14
- package/dist/cjs/modules/memory/base/index.js.map +0 -1
- package/dist/cjs/modules/memory/base.memory.d.ts +0 -33
- package/dist/cjs/modules/memory/base.memory.d.ts.map +0 -1
- package/dist/cjs/modules/memory/base.memory.js +0 -14
- package/dist/cjs/modules/memory/base.memory.js.map +0 -1
- package/dist/cjs/modules/memory/memory.module.d.ts +0 -35
- package/dist/cjs/modules/memory/memory.module.d.ts.map +0 -1
- package/dist/cjs/modules/memory/memory.module.js +0 -48
- package/dist/cjs/modules/memory/memory.module.js.map +0 -1
- package/dist/cjs/modules/memory/providers/inmemory.d.ts +0 -14
- package/dist/cjs/modules/memory/providers/inmemory.d.ts.map +0 -1
- package/dist/cjs/modules/memory/providers/inmemory.js +0 -27
- package/dist/cjs/modules/memory/providers/inmemory.js.map +0 -1
- package/dist/cjs/modules/memory/providers/mongodb/index.d.ts +0 -12
- package/dist/cjs/modules/memory/providers/mongodb/index.d.ts.map +0 -1
- package/dist/cjs/modules/memory/providers/mongodb/index.js +0 -91
- package/dist/cjs/modules/memory/providers/mongodb/index.js.map +0 -1
- package/dist/cjs/modules/memory/providers/mongodb/models/chats.model.d.ts +0 -26
- package/dist/cjs/modules/memory/providers/mongodb/models/chats.model.d.ts.map +0 -1
- package/dist/cjs/modules/memory/providers/mongodb/models/chats.model.js +0 -79
- package/dist/cjs/modules/memory/providers/mongodb/models/chats.model.js.map +0 -1
- package/dist/cjs/modules/memory/providers/mongodb/models/intentTriggeringInfos.model.d.ts +0 -27
- package/dist/cjs/modules/memory/providers/mongodb/models/intentTriggeringInfos.model.d.ts.map +0 -1
- package/dist/cjs/modules/memory/providers/mongodb/models/intentTriggeringInfos.model.js +0 -59
- package/dist/cjs/modules/memory/providers/mongodb/models/intentTriggeringInfos.model.js.map +0 -1
- package/dist/cjs/modules/models/base/index.d.ts +0 -57
- package/dist/cjs/modules/models/base/index.d.ts.map +0 -1
- package/dist/cjs/modules/models/base/index.js +0 -17
- package/dist/cjs/modules/models/base/index.js.map +0 -1
- package/dist/cjs/modules/models/base.model.d.ts +0 -57
- package/dist/cjs/modules/models/base.model.d.ts.map +0 -1
- package/dist/cjs/modules/models/base.model.js +0 -17
- package/dist/cjs/modules/models/base.model.js.map +0 -1
- package/dist/cjs/modules/models/model.module.d.ts +0 -33
- package/dist/cjs/modules/models/model.module.d.ts.map +0 -1
- package/dist/cjs/modules/models/model.module.js +0 -67
- package/dist/cjs/modules/models/model.module.js.map +0 -1
- package/dist/cjs/modules/models/providers/gemini.d.ts +0 -20
- package/dist/cjs/modules/models/providers/gemini.d.ts.map +0 -1
- package/dist/cjs/modules/models/providers/gemini.js +0 -111
- package/dist/cjs/modules/models/providers/gemini.js.map +0 -1
- package/dist/cjs/modules/models/providers/openai.d.ts +0 -20
- package/dist/cjs/modules/models/providers/openai.d.ts.map +0 -1
- package/dist/cjs/modules/models/providers/openai.js +0 -117
- package/dist/cjs/modules/models/providers/openai.js.map +0 -1
- package/dist/cjs/package.json +0 -1
- package/dist/cjs/routes/a2a.routes.d.ts +0 -12
- package/dist/cjs/routes/a2a.routes.d.ts.map +0 -1
- package/dist/cjs/routes/a2a.routes.js +0 -29
- package/dist/cjs/routes/a2a.routes.js.map +0 -1
- package/dist/cjs/routes/api/models.routes.d.ts +0 -4
- package/dist/cjs/routes/api/models.routes.d.ts.map +0 -1
- package/dist/cjs/routes/api/models.routes.js +0 -14
- package/dist/cjs/routes/api/models.routes.js.map +0 -1
- package/dist/cjs/routes/api/sessions.routes.d.ts +0 -4
- package/dist/cjs/routes/api/sessions.routes.d.ts.map +0 -1
- package/dist/cjs/routes/api/sessions.routes.js +0 -14
- package/dist/cjs/routes/api/sessions.routes.js.map +0 -1
- package/dist/cjs/routes/api.routes.d.ts +0 -4
- package/dist/cjs/routes/api.routes.d.ts.map +0 -1
- package/dist/cjs/routes/api.routes.js +0 -16
- package/dist/cjs/routes/api.routes.js.map +0 -1
- package/dist/cjs/routes/index.d.ts +0 -5
- package/dist/cjs/routes/index.d.ts.map +0 -1
- package/dist/cjs/routes/index.js +0 -10
- package/dist/cjs/routes/index.js.map +0 -1
- package/dist/cjs/routes/query.routes.d.ts +0 -4
- package/dist/cjs/routes/query.routes.d.ts.map +0 -1
- package/dist/cjs/routes/query.routes.js +0 -15
- package/dist/cjs/routes/query.routes.js.map +0 -1
- package/dist/cjs/services/a2a.service.d.ts +0 -15
- package/dist/cjs/services/a2a.service.d.ts.map +0 -1
- package/dist/cjs/services/a2a.service.js +0 -93
- package/dist/cjs/services/a2a.service.js.map +0 -1
- package/dist/cjs/services/index.d.ts +0 -3
- package/dist/cjs/services/index.d.ts.map +0 -1
- package/dist/cjs/services/index.js +0 -8
- package/dist/cjs/services/index.js.map +0 -1
- package/dist/cjs/services/query.service.d.ts +0 -57
- package/dist/cjs/services/query.service.d.ts.map +0 -1
- package/dist/cjs/services/query.service.js +0 -162
- package/dist/cjs/services/query.service.js.map +0 -1
- package/dist/cjs/types/fol.d.ts +0 -38
- package/dist/cjs/types/fol.d.ts.map +0 -1
- package/dist/cjs/types/fol.js +0 -3
- package/dist/cjs/types/fol.js.map +0 -1
- package/dist/cjs/types/index.d.ts +0 -49
- package/dist/cjs/types/index.d.ts.map +0 -1
- package/dist/cjs/types/index.js +0 -11
- package/dist/cjs/types/index.js.map +0 -1
- package/dist/cjs/types/mcp.d.ts +0 -5
- package/dist/cjs/types/mcp.d.ts.map +0 -1
- package/dist/cjs/types/mcp.js +0 -3
- package/dist/cjs/types/mcp.js.map +0 -1
- package/dist/cjs/types/memory.d.ts +0 -79
- package/dist/cjs/types/memory.d.ts.map +0 -1
- package/dist/cjs/types/memory.js +0 -23
- package/dist/cjs/types/memory.js.map +0 -1
- package/dist/cjs/types/tool.d.ts +0 -88
- package/dist/cjs/types/tool.d.ts.map +0 -1
- package/dist/cjs/types/tool.js +0 -14
- package/dist/cjs/types/tool.js.map +0 -1
- package/dist/cjs/utils/logger.d.ts +0 -13
- package/dist/cjs/utils/logger.d.ts.map +0 -1
- package/dist/cjs/utils/logger.js +0 -39
- package/dist/cjs/utils/logger.js.map +0 -1
- package/dist/esm/app.d.ts +0 -102
- package/dist/esm/app.d.ts.map +0 -1
- package/dist/esm/app.js +0 -163
- package/dist/esm/app.js.map +0 -1
- package/dist/esm/controllers/a2a.controller.d.ts.map +0 -1
- package/dist/esm/controllers/api/model.api.controller.d.ts.map +0 -1
- package/dist/esm/controllers/api/session.api.controller.d.ts.map +0 -1
- package/dist/esm/controllers/index.d.ts.map +0 -1
- package/dist/esm/controllers/query.controller.d.ts.map +0 -1
- package/dist/esm/middlewares/auth/base.d.ts +0 -5
- package/dist/esm/middlewares/auth/base.d.ts.map +0 -1
- package/dist/esm/middlewares/auth/base.js +0 -9
- package/dist/esm/middlewares/auth/base.js.map +0 -1
- package/dist/esm/middlewares/base.auth.middleward.d.ts +0 -5
- package/dist/esm/middlewares/base.auth.middleward.d.ts.map +0 -1
- package/dist/esm/middlewares/base.auth.middleward.js +0 -9
- package/dist/esm/middlewares/base.auth.middleward.js.map +0 -1
- package/dist/esm/middlewares/base.auth.middleware.d.ts +0 -5
- package/dist/esm/middlewares/base.auth.middleware.d.ts.map +0 -1
- package/dist/esm/middlewares/base.auth.middleware.js +0 -9
- package/dist/esm/middlewares/base.auth.middleware.js.map +0 -1
- package/dist/esm/middlewares/error.middleware.d.ts.map +0 -1
- package/dist/esm/modules/a2a/a2a.module.d.ts.map +0 -1
- package/dist/esm/modules/a2a/a2a.tool.d.ts.map +0 -1
- package/dist/esm/modules/fol/fol.module.d.ts +0 -31
- package/dist/esm/modules/fol/fol.module.d.ts.map +0 -1
- package/dist/esm/modules/fol/fol.module.js +0 -180
- package/dist/esm/modules/fol/fol.module.js.map +0 -1
- package/dist/esm/modules/fol/store/base.d.ts +0 -9
- package/dist/esm/modules/fol/store/base.d.ts.map +0 -1
- package/dist/esm/modules/fol/store/base.js +0 -3
- package/dist/esm/modules/fol/store/base.js.map +0 -1
- package/dist/esm/modules/fol/store/index.d.ts +0 -3
- package/dist/esm/modules/fol/store/index.d.ts.map +0 -1
- package/dist/esm/modules/fol/store/index.js +0 -3
- package/dist/esm/modules/fol/store/index.js.map +0 -1
- package/dist/esm/modules/fol/store/local.d.ts +0 -25
- package/dist/esm/modules/fol/store/local.d.ts.map +0 -1
- package/dist/esm/modules/fol/store/local.js +0 -214
- package/dist/esm/modules/fol/store/local.js.map +0 -1
- package/dist/esm/modules/index.d.ts.map +0 -1
- package/dist/esm/modules/mcp/mcp.module.d.ts.map +0 -1
- package/dist/esm/modules/mcp/mcp.tool.d.ts.map +0 -1
- package/dist/esm/modules/memory/base/index.d.ts +0 -33
- package/dist/esm/modules/memory/base/index.d.ts.map +0 -1
- package/dist/esm/modules/memory/base/index.js +0 -10
- package/dist/esm/modules/memory/base/index.js.map +0 -1
- package/dist/esm/modules/memory/base.memory.d.ts.map +0 -1
- package/dist/esm/modules/memory/memory.module.d.ts.map +0 -1
- package/dist/esm/modules/memory/providers/inmemory.d.ts +0 -14
- package/dist/esm/modules/memory/providers/inmemory.d.ts.map +0 -1
- package/dist/esm/modules/memory/providers/inmemory.js +0 -23
- package/dist/esm/modules/memory/providers/inmemory.js.map +0 -1
- package/dist/esm/modules/memory/providers/mongodb/index.d.ts +0 -12
- package/dist/esm/modules/memory/providers/mongodb/index.d.ts.map +0 -1
- package/dist/esm/modules/memory/providers/mongodb/index.js +0 -84
- package/dist/esm/modules/memory/providers/mongodb/index.js.map +0 -1
- package/dist/esm/modules/memory/providers/mongodb/models/chats.model.d.ts +0 -26
- package/dist/esm/modules/memory/providers/mongodb/models/chats.model.d.ts.map +0 -1
- package/dist/esm/modules/memory/providers/mongodb/models/chats.model.js +0 -43
- package/dist/esm/modules/memory/providers/mongodb/models/chats.model.js.map +0 -1
- package/dist/esm/modules/memory/providers/mongodb/models/intentTriggeringInfos.model.d.ts +0 -27
- package/dist/esm/modules/memory/providers/mongodb/models/intentTriggeringInfos.model.d.ts.map +0 -1
- package/dist/esm/modules/memory/providers/mongodb/models/intentTriggeringInfos.model.js +0 -23
- package/dist/esm/modules/memory/providers/mongodb/models/intentTriggeringInfos.model.js.map +0 -1
- package/dist/esm/modules/models/base/index.d.ts +0 -57
- package/dist/esm/modules/models/base/index.d.ts.map +0 -1
- package/dist/esm/modules/models/base/index.js +0 -13
- package/dist/esm/modules/models/base/index.js.map +0 -1
- package/dist/esm/modules/models/base.model.d.ts.map +0 -1
- package/dist/esm/modules/models/model.module.d.ts.map +0 -1
- package/dist/esm/modules/models/providers/gemini.d.ts +0 -20
- package/dist/esm/modules/models/providers/gemini.d.ts.map +0 -1
- package/dist/esm/modules/models/providers/gemini.js +0 -107
- package/dist/esm/modules/models/providers/gemini.js.map +0 -1
- package/dist/esm/modules/models/providers/openai.d.ts +0 -20
- package/dist/esm/modules/models/providers/openai.d.ts.map +0 -1
- package/dist/esm/modules/models/providers/openai.js +0 -113
- package/dist/esm/modules/models/providers/openai.js.map +0 -1
- package/dist/esm/package.json +0 -1
- package/dist/esm/routes/a2a.routes.d.ts.map +0 -1
- package/dist/esm/routes/api/models.routes.d.ts.map +0 -1
- package/dist/esm/routes/api/sessions.routes.d.ts.map +0 -1
- package/dist/esm/routes/api.routes.d.ts.map +0 -1
- package/dist/esm/routes/index.d.ts.map +0 -1
- package/dist/esm/routes/query.routes.d.ts.map +0 -1
- package/dist/esm/services/a2a.service.d.ts.map +0 -1
- package/dist/esm/services/index.d.ts.map +0 -1
- package/dist/esm/services/query.service.d.ts.map +0 -1
- package/dist/esm/types/fol.d.ts +0 -38
- package/dist/esm/types/fol.d.ts.map +0 -1
- package/dist/esm/types/fol.js +0 -2
- package/dist/esm/types/fol.js.map +0 -1
- package/dist/esm/types/index.d.ts.map +0 -1
- package/dist/esm/types/index.js +0 -7
- package/dist/esm/types/index.js.map +0 -1
- package/dist/esm/types/mcp.d.ts.map +0 -1
- package/dist/esm/types/memory.d.ts.map +0 -1
- package/dist/esm/types/tool.d.ts.map +0 -1
- package/dist/esm/utils/logger.d.ts.map +0 -1
package/README.md
CHANGED
|
@@ -80,7 +80,10 @@ await mcpModule.addMCPConfig({
|
|
|
80
80
|
});
|
|
81
81
|
|
|
82
82
|
// Pass to agent constructor
|
|
83
|
-
const agent = new AINAgent(
|
|
83
|
+
const agent = new AINAgent(
|
|
84
|
+
manifest,
|
|
85
|
+
{ modelModule, mcpModule, memoryModule }
|
|
86
|
+
);
|
|
84
87
|
```
|
|
85
88
|
|
|
86
89
|
### Adding A2A Support
|
|
@@ -155,30 +158,18 @@ Each module can be independently configured and passed to the agent constructor.
|
|
|
155
158
|
```bash
|
|
156
159
|
# Build commands
|
|
157
160
|
yarn build # Build both ESM and CJS distributions
|
|
158
|
-
yarn build:esm # Build ESM format only
|
|
159
|
-
yarn build:cjs # Build CJS format only
|
|
160
161
|
|
|
161
162
|
# Development
|
|
162
163
|
yarn dev # Run TypeScript directly with tsx
|
|
163
164
|
|
|
164
165
|
# Code quality
|
|
165
|
-
yarn
|
|
166
|
-
yarn format # Format code with Biome
|
|
167
|
-
yarn check # Check code with Biome
|
|
166
|
+
yarn biome # Check code with Biome
|
|
168
167
|
yarn check:write # Check and auto-fix with Biome
|
|
169
168
|
|
|
170
169
|
# Testing
|
|
171
170
|
yarn test # Run Jest tests
|
|
172
171
|
```
|
|
173
172
|
|
|
174
|
-
### Examples
|
|
175
|
-
|
|
176
|
-
```bash
|
|
177
|
-
# Run example applications
|
|
178
|
-
npx tsx examples/simpleAgent.ts
|
|
179
|
-
npx tsx examples/a2aClientAgent.ts
|
|
180
|
-
```
|
|
181
|
-
|
|
182
173
|
## Logging System
|
|
183
174
|
|
|
184
175
|
The library uses Winston for structured logging with service-specific loggers:
|
|
@@ -236,27 +227,6 @@ The project supports dual build output:
|
|
|
236
227
|
- **ESM** (`dist/esm/`): ES Module format with `{"type": "module"}`
|
|
237
228
|
- **CJS** (`dist/cjs/`): CommonJS format with `{"type": "commonjs"}`
|
|
238
229
|
|
|
239
|
-
Import paths use `@/` alias for `src/` directory.
|
|
240
|
-
|
|
241
|
-
## Models Support
|
|
242
|
-
|
|
243
|
-
### Built-in Models
|
|
244
|
-
- **OpenAI/Azure OpenAI**: Full support for GPT models
|
|
245
|
-
- **Google Gemini**: Support for Gemini models
|
|
246
|
-
|
|
247
|
-
### Custom Models
|
|
248
|
-
Extend the `BaseModel` class to add support for other AI models:
|
|
249
|
-
|
|
250
|
-
```typescript
|
|
251
|
-
import { BaseModel } from '@ainetwork/adk/modules/models/base';
|
|
252
|
-
|
|
253
|
-
class MyCustomModel extends BaseModel {
|
|
254
|
-
async generateResponse(messages: any[], tools?: any[]): Promise<any> {
|
|
255
|
-
// Implement your model logic
|
|
256
|
-
}
|
|
257
|
-
}
|
|
258
|
-
```
|
|
259
|
-
|
|
260
230
|
## Error Handling
|
|
261
231
|
|
|
262
232
|
The library includes comprehensive error handling:
|
|
@@ -276,16 +246,16 @@ All errors are logged with appropriate context for debugging.
|
|
|
276
246
|
The library supports optional authentication middleware:
|
|
277
247
|
|
|
278
248
|
```typescript
|
|
279
|
-
import { BaseAuth } from '@ainetwork/adk/
|
|
249
|
+
import { BaseAuth } from '@ainetwork/adk/modules';
|
|
280
250
|
|
|
281
251
|
class MyAuth extends BaseAuth {
|
|
282
|
-
async authenticate(req: Request): Promise<boolean> {
|
|
252
|
+
async authenticate(req: Request, res: Response): Promise<boolean> {
|
|
283
253
|
// Implement your auth logic
|
|
284
254
|
return true;
|
|
285
255
|
}
|
|
286
256
|
}
|
|
287
257
|
|
|
288
|
-
const agent = new AINAgent(manifest, modules,
|
|
258
|
+
const agent = new AINAgent(manifest, modules, new MyAuth());
|
|
289
259
|
```
|
|
290
260
|
|
|
291
261
|
## Contributing
|
|
@@ -293,7 +263,7 @@ const agent = new AINAgent(manifest, modules, false, new MyAuth());
|
|
|
293
263
|
1. Follow the established code conventions
|
|
294
264
|
2. Use TypeScript strict mode
|
|
295
265
|
3. Add appropriate service-specific logging
|
|
296
|
-
4. Run `yarn
|
|
266
|
+
4. Run `yarn biome:write` and `yarn test` before submitting
|
|
297
267
|
5. Maintain the modular architecture
|
|
298
268
|
|
|
299
269
|
## License
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});// src/modules/memory/memory.module.ts
|
|
2
|
+
var MemoryModule = class {
|
|
3
|
+
/** The memory storage implementation */
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Creates a new MemoryModule with the specified storage implementation.
|
|
7
|
+
*
|
|
8
|
+
* @param memory - The memory storage implementation to use
|
|
9
|
+
*/
|
|
10
|
+
constructor(memory) {
|
|
11
|
+
this.memoryMap = /* @__PURE__ */ new Map();
|
|
12
|
+
this.memoryMap.set("_DEFAULT" /* _DEFAULT */, memory);
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Returns the current memory storage implementation.
|
|
16
|
+
*
|
|
17
|
+
* @returns The active memory storage instance
|
|
18
|
+
*/
|
|
19
|
+
getMemory(type) {
|
|
20
|
+
if (!type) {
|
|
21
|
+
return this.memoryMap.get("_DEFAULT" /* _DEFAULT */);
|
|
22
|
+
}
|
|
23
|
+
const memory = this.memoryMap.get(type);
|
|
24
|
+
if (!memory) {
|
|
25
|
+
return this.memoryMap.get("_DEFAULT" /* _DEFAULT */);
|
|
26
|
+
}
|
|
27
|
+
return memory;
|
|
28
|
+
}
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
exports.MemoryModule = MemoryModule;
|
|
34
|
+
//# sourceMappingURL=chunk-5VIAH4HE.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/Users/shyun/comcom/ain-agent/ain-adk/dist/cjs/chunk-5VIAH4HE.cjs","../../src/modules/memory/memory.module.ts"],"names":[],"mappings":"AAAA;ACkBO,IAAM,aAAA,EAAN,MAAmB;AAAA;AAAA,EAEjB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOR,WAAA,CAAY,MAAA,EAAoB;AAC/B,IAAA,IAAA,CAAK,UAAA,kBAAY,IAAI,GAAA,CAAI,CAAA;AACzB,IAAA,IAAA,CAAK,SAAA,CAAU,GAAA,CAAA,yBAAA,EAAyB,MAAM,CAAA;AAAA,EAC/C;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOO,SAAA,CAAU,IAAA,EAA2C;AAC3D,IAAA,GAAA,CAAI,CAAC,IAAA,EAAM;AACV,MAAA,OAAO,IAAA,CAAK,SAAA,CAAU,GAAA,CAAA,yBAAuB,CAAA;AAAA,IAC9C;AAEA,IAAA,MAAM,OAAA,EAAS,IAAA,CAAK,SAAA,CAAU,GAAA,CAAI,IAAI,CAAA;AACtC,IAAA,GAAA,CAAI,CAAC,MAAA,EAAQ;AACZ,MAAA,OAAO,IAAA,CAAK,SAAA,CAAU,GAAA,CAAA,yBAAuB,CAAA;AAAA,IAC9C;AACA,IAAA,OAAO,MAAA;AAAA,EACR;AACD,CAAA;ADnBA;AACA;AACE;AACF,oCAAC","file":"/Users/shyun/comcom/ain-agent/ain-adk/dist/cjs/chunk-5VIAH4HE.cjs","sourcesContent":[null,"import { MemoryType } from \"@/types/memory.js\";\nimport type { BaseMemory } from \"./base.memory.js\";\n/**\n * Module wrapper for memory storage implementations.\n *\n * Provides a consistent interface for accessing memory storage\n * functionality throughout the application. Currently supports\n * a single memory implementation but designed for future extensibility.\n *\n * @example\n * ```typescript\n * const inMemoryStorage = new InMemoryStorage();\n * const memoryModule = new MemoryModule(inMemoryStorage);\n *\n * const memory = memoryModule.getMemory();\n * await memory.updateSessionHistory(\"session-123\", chatMessage);\n * ```\n */\nexport class MemoryModule {\n\t/** The memory storage implementation */\n\tprivate memoryMap: Map<MemoryType, BaseMemory>;\n\n\t/**\n\t * Creates a new MemoryModule with the specified storage implementation.\n\t *\n\t * @param memory - The memory storage implementation to use\n\t */\n\tconstructor(memory: BaseMemory) {\n\t\tthis.memoryMap = new Map();\n\t\tthis.memoryMap.set(MemoryType._DEFAULT, memory);\n\t}\n\n\t/**\n\t * Returns the current memory storage implementation.\n\t *\n\t * @returns The active memory storage instance\n\t */\n\tpublic getMemory(type?: MemoryType): BaseMemory | undefined {\n\t\tif (!type) {\n\t\t\treturn this.memoryMap.get(MemoryType._DEFAULT);\n\t\t}\n\n\t\tconst memory = this.memoryMap.get(type);\n\t\tif (!memory) {\n\t\t\treturn this.memoryMap.get(MemoryType._DEFAULT);\n\t\t}\n\t\treturn memory;\n\t}\n}\n"]}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
|
+
|
|
3
|
+
var _chunkN7NGEMKLcjs = require('./chunk-N7NGEMKL.cjs');
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
var _chunkD525HP3Rcjs = require('./chunk-D525HP3R.cjs');
|
|
7
|
+
|
|
8
|
+
// src/routes/api.routes.ts
|
|
9
|
+
var _express = require('express');
|
|
10
|
+
var createApiRouter = (agent) => {
|
|
11
|
+
const router = _express.Router.call(void 0, );
|
|
12
|
+
router.use("/api/models", _chunkN7NGEMKLcjs.createModelApiRouter.call(void 0, agent.modelModule));
|
|
13
|
+
if (agent.memoryModule) {
|
|
14
|
+
router.use("/api/sessions", _chunkD525HP3Rcjs.createSessionApiRouter.call(void 0, agent.memoryModule));
|
|
15
|
+
}
|
|
16
|
+
return router;
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
exports.createApiRouter = createApiRouter;
|
|
22
|
+
//# sourceMappingURL=chunk-6YJFC7BY.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/Users/shyun/comcom/ain-agent/ain-adk/dist/cjs/chunk-6YJFC7BY.cjs","../../src/routes/api.routes.ts"],"names":[],"mappings":"AAAA;AACE;AACF,wDAA6B;AAC7B;AACE;AACF,wDAA6B;AAC7B;AACA;ACPA,kCAAuB;AAMhB,IAAM,gBAAA,EAAkB,CAAC,KAAA,EAAA,GAA4B;AAC3D,EAAA,MAAM,OAAA,EAAS,6BAAA,CAAO;AAEtB,EAAA,MAAA,CAAO,GAAA,CAAI,aAAA,EAAe,oDAAA,KAAqB,CAAM,WAAW,CAAC,CAAA;AACjE,EAAA,GAAA,CAAI,KAAA,CAAM,YAAA,EAAc;AACvB,IAAA,MAAA,CAAO,GAAA,CAAI,eAAA,EAAiB,sDAAA,KAAuB,CAAM,YAAY,CAAC,CAAA;AAAA,EACvE;AAEA,EAAA,OAAO,MAAA;AACR,CAAA;ADEA;AACA;AACE;AACF,0CAAC","file":"/Users/shyun/comcom/ain-agent/ain-adk/dist/cjs/chunk-6YJFC7BY.cjs","sourcesContent":[null,"import { Router } from \"express\";\nimport type { AINAgent } from \"@/index.js\";\n\nimport { createModelApiRouter } from \"./api/models.routes.js\";\nimport { createSessionApiRouter } from \"./api/sessions.routes.js\";\n\nexport const createApiRouter = (agent: AINAgent): Router => {\n\tconst router = Router();\n\n\trouter.use(\"/api/models\", createModelApiRouter(agent.modelModule));\n\tif (agent.memoryModule) {\n\t\trouter.use(\"/api/sessions\", createSessionApiRouter(agent.memoryModule));\n\t}\n\n\treturn router;\n};\n"]}
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; } var _class;
|
|
2
|
+
|
|
3
|
+
var _chunkJTAXZJQ2cjs = require('./chunk-JTAXZJQ2.cjs');
|
|
4
|
+
|
|
5
|
+
// src/services/a2a.service.ts
|
|
6
|
+
var _crypto = require('crypto');
|
|
7
|
+
var A2AService = (_class = class {
|
|
8
|
+
|
|
9
|
+
__init() {this.canceledTasks = /* @__PURE__ */ new Set()}
|
|
10
|
+
constructor(queryService) {;_class.prototype.__init.call(this);_class.prototype.__init2.call(this);_class.prototype.__init3.call(this);
|
|
11
|
+
this.queryService = queryService;
|
|
12
|
+
}
|
|
13
|
+
__init2() {this.cancelTask = async (taskId, _eventBus) => {
|
|
14
|
+
this.canceledTasks.add(taskId);
|
|
15
|
+
}}
|
|
16
|
+
__init3() {this.createTaskStatusUpdateEvent = (taskId, contextId, state, message) => {
|
|
17
|
+
return {
|
|
18
|
+
kind: "status-update",
|
|
19
|
+
taskId,
|
|
20
|
+
contextId,
|
|
21
|
+
status: {
|
|
22
|
+
state,
|
|
23
|
+
message: message ? {
|
|
24
|
+
kind: "message",
|
|
25
|
+
role: "agent",
|
|
26
|
+
messageId: _crypto.randomUUID.call(void 0, ),
|
|
27
|
+
parts: [{ kind: "text", text: message }],
|
|
28
|
+
taskId,
|
|
29
|
+
contextId
|
|
30
|
+
} : void 0,
|
|
31
|
+
timestamp: (/* @__PURE__ */ new Date()).toISOString()
|
|
32
|
+
},
|
|
33
|
+
final: state !== "working"
|
|
34
|
+
};
|
|
35
|
+
}}
|
|
36
|
+
async execute(requestContext, eventBus) {
|
|
37
|
+
const userMessage = requestContext.userMessage;
|
|
38
|
+
const { sessionId } = userMessage.metadata;
|
|
39
|
+
const existingTask = requestContext.task;
|
|
40
|
+
const taskId = _optionalChain([existingTask, 'optionalAccess', _ => _.id]) || _crypto.randomUUID.call(void 0, );
|
|
41
|
+
const contextId = userMessage.contextId || _optionalChain([existingTask, 'optionalAccess', _2 => _2.contextId]) || _crypto.randomUUID.call(void 0, );
|
|
42
|
+
if (!existingTask) {
|
|
43
|
+
const initialTask = {
|
|
44
|
+
kind: "task",
|
|
45
|
+
id: taskId,
|
|
46
|
+
contextId,
|
|
47
|
+
status: {
|
|
48
|
+
state: "submitted",
|
|
49
|
+
timestamp: (/* @__PURE__ */ new Date()).toISOString()
|
|
50
|
+
},
|
|
51
|
+
history: [userMessage],
|
|
52
|
+
metadata: userMessage.metadata,
|
|
53
|
+
artifacts: []
|
|
54
|
+
};
|
|
55
|
+
eventBus.publish(initialTask);
|
|
56
|
+
}
|
|
57
|
+
const workingStatusUpdate = this.createTaskStatusUpdateEvent(
|
|
58
|
+
taskId,
|
|
59
|
+
contextId,
|
|
60
|
+
"working"
|
|
61
|
+
);
|
|
62
|
+
eventBus.publish(workingStatusUpdate);
|
|
63
|
+
const message = userMessage.parts.filter((part) => part.kind === "text").map((part) => part.text).join("\n");
|
|
64
|
+
if (message.length === 0) {
|
|
65
|
+
_chunkJTAXZJQ2cjs.loggers.server.warn(`Empty message received for task ${taskId}.`);
|
|
66
|
+
const failureUpdate = this.createTaskStatusUpdateEvent(
|
|
67
|
+
taskId,
|
|
68
|
+
contextId,
|
|
69
|
+
"failed",
|
|
70
|
+
"No message found to process."
|
|
71
|
+
);
|
|
72
|
+
eventBus.publish(failureUpdate);
|
|
73
|
+
return;
|
|
74
|
+
}
|
|
75
|
+
try {
|
|
76
|
+
const response = await this.queryService.handleQuery(message, sessionId);
|
|
77
|
+
if (this.canceledTasks.has(taskId)) {
|
|
78
|
+
_chunkJTAXZJQ2cjs.loggers.server.info(`Task ${taskId} was canceled.`);
|
|
79
|
+
const canceledUpdate = this.createTaskStatusUpdateEvent(
|
|
80
|
+
taskId,
|
|
81
|
+
contextId,
|
|
82
|
+
"canceled"
|
|
83
|
+
);
|
|
84
|
+
eventBus.publish(canceledUpdate);
|
|
85
|
+
return;
|
|
86
|
+
}
|
|
87
|
+
const finalUpdate = this.createTaskStatusUpdateEvent(
|
|
88
|
+
taskId,
|
|
89
|
+
contextId,
|
|
90
|
+
"completed",
|
|
91
|
+
response.content
|
|
92
|
+
);
|
|
93
|
+
eventBus.publish(finalUpdate);
|
|
94
|
+
_chunkJTAXZJQ2cjs.loggers.server.info(`Task ${taskId} completed successfully.`);
|
|
95
|
+
} catch (error) {
|
|
96
|
+
_chunkJTAXZJQ2cjs.loggers.server.error(`Error processing task ${taskId}:`, error);
|
|
97
|
+
const errorUpdate = this.createTaskStatusUpdateEvent(
|
|
98
|
+
taskId,
|
|
99
|
+
contextId,
|
|
100
|
+
"failed",
|
|
101
|
+
`Agent error: ${error.message}`
|
|
102
|
+
);
|
|
103
|
+
eventBus.publish(errorUpdate);
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
}, _class);
|
|
107
|
+
|
|
108
|
+
|
|
109
|
+
|
|
110
|
+
exports.A2AService = A2AService;
|
|
111
|
+
//# sourceMappingURL=chunk-7BZO57TG.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/Users/shyun/comcom/ain-agent/ain-adk/dist/cjs/chunk-7BZO57TG.cjs","../../src/services/a2a.service.ts"],"names":[],"mappings":"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","file":"/Users/shyun/comcom/ain-agent/ain-adk/dist/cjs/chunk-7BZO57TG.cjs","sourcesContent":[null,"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 { 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\tconst { sessionId } = userMessage.metadata as { sessionId: string };\n\t\tconst existingTask = requestContext.task;\n\n\t\tconst taskId = existingTask?.id || randomUUID();\n\t\tconst contextId =\n\t\t\tuserMessage.contextId || existingTask?.contextId || 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: contextId,\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 workingStatusUpdate = this.createTaskStatusUpdateEvent(\n\t\t\ttaskId,\n\t\t\tcontextId,\n\t\t\t\"working\",\n\t\t);\n\t\teventBus.publish(workingStatusUpdate);\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\tcontextId,\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\ttry {\n\t\t\tconst response = await this.queryService.handleQuery(message, sessionId);\n\n\t\t\tif (this.canceledTasks.has(taskId)) {\n\t\t\t\tloggers.server.info(`Task ${taskId} was canceled.`);\n\t\t\t\tconst canceledUpdate = this.createTaskStatusUpdateEvent(\n\t\t\t\t\ttaskId,\n\t\t\t\t\tcontextId,\n\t\t\t\t\t\"canceled\",\n\t\t\t\t);\n\t\t\t\teventBus.publish(canceledUpdate);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst finalUpdate = this.createTaskStatusUpdateEvent(\n\t\t\t\ttaskId,\n\t\t\t\tcontextId,\n\t\t\t\t\"completed\",\n\t\t\t\tresponse.content,\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\tcontextId,\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"]}
|
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; } var _class;
|
|
2
|
+
|
|
3
|
+
var _chunkF7I4G6JGcjs = require('./chunk-F7I4G6JG.cjs');
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
var _chunkJTAXZJQ2cjs = require('./chunk-JTAXZJQ2.cjs');
|
|
7
|
+
|
|
8
|
+
// src/modules/a2a/a2a.module.ts
|
|
9
|
+
var _crypto = require('crypto');
|
|
10
|
+
var _client = require('@a2a-js/sdk/client');
|
|
11
|
+
var A2AModule = (_class = class {constructor() { _class.prototype.__init.call(this);_class.prototype.__init2.call(this);_class.prototype.__init3.call(this); }
|
|
12
|
+
/** Map of A2A server URLs to their corresponding tool instances */
|
|
13
|
+
__init() {this.a2aPeerServers = /* @__PURE__ */ new Map()}
|
|
14
|
+
/** Map of session IDs to their A2A session state */
|
|
15
|
+
__init2() {this.a2aSessions = /* @__PURE__ */ new Map()}
|
|
16
|
+
/**
|
|
17
|
+
* Registers a new A2A peer server URL for connection.
|
|
18
|
+
*
|
|
19
|
+
* @param url - The URL of the A2A-compatible agent to connect to
|
|
20
|
+
*/
|
|
21
|
+
async addA2APeerServer(url) {
|
|
22
|
+
this.a2aPeerServers.set(url, null);
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Retrieves tools from all registered A2A peer servers.
|
|
26
|
+
*
|
|
27
|
+
* Attempts to connect to each registered server, fetch their agent cards,
|
|
28
|
+
* and create tool instances. Disables tools for unreachable servers.
|
|
29
|
+
*
|
|
30
|
+
* @returns Promise resolving to array of available A2A tools
|
|
31
|
+
*/
|
|
32
|
+
async getTools() {
|
|
33
|
+
const tools = [];
|
|
34
|
+
for (const url of [...this.a2aPeerServers.keys()]) {
|
|
35
|
+
const tool = this.a2aPeerServers.get(url);
|
|
36
|
+
if (!tool || !tool.enabled) {
|
|
37
|
+
try {
|
|
38
|
+
const client = new (0, _client.A2AClient)(url);
|
|
39
|
+
const card = await client.getAgentCard();
|
|
40
|
+
const toolName = card.name.replaceAll(" ", "-");
|
|
41
|
+
const a2aTool = new (0, _chunkF7I4G6JGcjs.A2ATool)(toolName, client, card);
|
|
42
|
+
tools.push(a2aTool);
|
|
43
|
+
} catch (_error) {
|
|
44
|
+
if (tool) {
|
|
45
|
+
tool.disable();
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
} else {
|
|
49
|
+
tools.push(tool);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
return tools;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Gets or creates an A2A session for the given session ID.
|
|
56
|
+
*
|
|
57
|
+
* @param sessionId - The session identifier
|
|
58
|
+
* @returns A2ASession object with task and context IDs
|
|
59
|
+
*/
|
|
60
|
+
__init3() {this.getA2ASessionWithId = (sessionId) => {
|
|
61
|
+
const a2aSession = _nullishCoalesce(this.a2aSessions.get(sessionId), () => ( {
|
|
62
|
+
taskId: void 0,
|
|
63
|
+
contextId: void 0
|
|
64
|
+
}));
|
|
65
|
+
if (!this.a2aSessions.has(sessionId)) {
|
|
66
|
+
this.a2aSessions.set(sessionId, a2aSession);
|
|
67
|
+
}
|
|
68
|
+
return a2aSession;
|
|
69
|
+
}}
|
|
70
|
+
/**
|
|
71
|
+
* Constructs a message payload for A2A communication.
|
|
72
|
+
*
|
|
73
|
+
* Includes session context (task ID and context ID) if available
|
|
74
|
+
* for maintaining conversation continuity.
|
|
75
|
+
*
|
|
76
|
+
* @param query - The message content to send
|
|
77
|
+
* @param sessionId - The session identifier
|
|
78
|
+
* @returns Formatted Message object for A2A protocol
|
|
79
|
+
*/
|
|
80
|
+
getMessagePayload(query, sessionId) {
|
|
81
|
+
const messagePayload = {
|
|
82
|
+
messageId: _crypto.randomUUID.call(void 0, ),
|
|
83
|
+
kind: "message",
|
|
84
|
+
role: "user",
|
|
85
|
+
// FIXME: it could be 'agent'
|
|
86
|
+
metadata: {
|
|
87
|
+
sessionId
|
|
88
|
+
},
|
|
89
|
+
parts: [
|
|
90
|
+
{
|
|
91
|
+
kind: "text",
|
|
92
|
+
text: query
|
|
93
|
+
}
|
|
94
|
+
]
|
|
95
|
+
};
|
|
96
|
+
const a2aSession = this.getA2ASessionWithId(sessionId);
|
|
97
|
+
if (a2aSession.taskId) {
|
|
98
|
+
messagePayload.taskId = a2aSession.taskId;
|
|
99
|
+
}
|
|
100
|
+
if (a2aSession.contextId) {
|
|
101
|
+
messagePayload.contextId = a2aSession.contextId;
|
|
102
|
+
}
|
|
103
|
+
return messagePayload;
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Executes an A2A tool by sending a message to the remote agent.
|
|
107
|
+
*
|
|
108
|
+
* Handles streaming responses, maintains session state, and extracts
|
|
109
|
+
* text content from various event types in the response stream.
|
|
110
|
+
*
|
|
111
|
+
* @param tool - The A2ATool instance to use
|
|
112
|
+
* @param messagePayload - The message to send to the agent
|
|
113
|
+
* @param sessionId - The session identifier for context tracking
|
|
114
|
+
* @returns Promise resolving to array of text responses from the agent
|
|
115
|
+
*/
|
|
116
|
+
async useTool(tool, messagePayload, sessionId) {
|
|
117
|
+
const finalText = [];
|
|
118
|
+
const client = tool.client;
|
|
119
|
+
const params = {
|
|
120
|
+
message: messagePayload
|
|
121
|
+
};
|
|
122
|
+
const a2aSession = this.getA2ASessionWithId(sessionId);
|
|
123
|
+
try {
|
|
124
|
+
const stream = client.sendMessageStream(params);
|
|
125
|
+
for await (const event of stream) {
|
|
126
|
+
if (event.kind === "status-update") {
|
|
127
|
+
const typedEvent = event;
|
|
128
|
+
if (typedEvent.final && typedEvent.status.state !== "input-required") {
|
|
129
|
+
a2aSession.taskId = void 0;
|
|
130
|
+
}
|
|
131
|
+
const texts = _optionalChain([typedEvent, 'access', _ => _.status, 'access', _2 => _2.message, 'optionalAccess', _3 => _3.parts, 'access', _4 => _4.filter, 'call', _5 => _5((part) => part.kind === "text"), 'access', _6 => _6.map, 'call', _7 => _7((part) => part.text), 'access', _8 => _8.join, 'call', _9 => _9("\n")]);
|
|
132
|
+
if (texts) {
|
|
133
|
+
finalText.push(texts);
|
|
134
|
+
}
|
|
135
|
+
} else if (event.kind === "message") {
|
|
136
|
+
const msg = event;
|
|
137
|
+
if (msg.taskId && msg.taskId !== a2aSession.taskId) {
|
|
138
|
+
a2aSession.taskId = msg.taskId;
|
|
139
|
+
}
|
|
140
|
+
if (msg.contextId && msg.contextId !== a2aSession.contextId) {
|
|
141
|
+
a2aSession.contextId = msg.contextId;
|
|
142
|
+
}
|
|
143
|
+
} else if (event.kind === "task") {
|
|
144
|
+
const task = event;
|
|
145
|
+
if (task.id !== a2aSession.taskId) {
|
|
146
|
+
a2aSession.taskId = task.id;
|
|
147
|
+
}
|
|
148
|
+
if (task.contextId && task.contextId !== a2aSession.contextId) {
|
|
149
|
+
a2aSession.contextId = task.contextId;
|
|
150
|
+
}
|
|
151
|
+
} else {
|
|
152
|
+
_chunkJTAXZJQ2cjs.loggers.a2a.warn("Received unknown event structure from stream:", {
|
|
153
|
+
event
|
|
154
|
+
});
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
} catch (error) {
|
|
158
|
+
_chunkJTAXZJQ2cjs.loggers.a2a.error("Error communicating with agent:", { error });
|
|
159
|
+
tool.disable();
|
|
160
|
+
}
|
|
161
|
+
return finalText;
|
|
162
|
+
}
|
|
163
|
+
}, _class);
|
|
164
|
+
|
|
165
|
+
|
|
166
|
+
|
|
167
|
+
exports.A2AModule = A2AModule;
|
|
168
|
+
//# sourceMappingURL=chunk-AHMW3HCU.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/Users/shyun/comcom/ain-agent/ain-adk/dist/cjs/chunk-AHMW3HCU.cjs","../../src/modules/a2a/a2a.module.ts"],"names":[],"mappings":"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","file":"/Users/shyun/comcom/ain-agent/ain-adk/dist/cjs/chunk-AHMW3HCU.cjs","sourcesContent":[null,"import { randomUUID } from \"node:crypto\";\nimport type {\n\tAgentCard,\n\tMessage,\n\tMessageSendParams,\n\tTask,\n\tTaskStatusUpdateEvent,\n\tTextPart,\n} from \"@a2a-js/sdk\";\nimport { A2AClient } from \"@a2a-js/sdk/client\";\nimport { loggers } from \"@/utils/logger.js\";\nimport { A2ATool } from \"./a2a.tool.js\";\n\n/**\n * Represents an active A2A communication session.\n */\ninterface A2ASession {\n\t/** Current task ID for multi-turn conversations */\n\ttaskId: string | undefined;\n\t/** Context ID for maintaining conversation state */\n\tcontextId: string | undefined;\n}\n\n/**\n * Module for managing Agent-to-Agent (A2A) protocol connections.\n *\n * This module handles connections to other A2A-compatible agents, manages\n * conversation sessions, and provides an interface for inter-agent communication.\n * Supports multi-turn conversations with task and context tracking.\n *\n * @example\n * ```typescript\n * const a2aModule = new A2AModule();\n * await a2aModule.addA2APeerServer(\"https://api.example.com/agent\");\n *\n * const tools = await a2aModule.getTools();\n * const message = a2aModule.getMessagePayload(\"Hello\", \"session-123\");\n * const response = await a2aModule.useTool(tools[0], message, \"session-123\");\n * ```\n */\nexport class A2AModule {\n\t/** Map of A2A server URLs to their corresponding tool instances */\n\tprivate a2aPeerServers: Map<string, A2ATool | null> = new Map();\n\t/** Map of session IDs to their A2A session state */\n\tprivate a2aSessions: Map<string, A2ASession> = new Map();\n\n\t/**\n\t * Registers a new A2A peer server URL for connection.\n\t *\n\t * @param url - The URL of the A2A-compatible agent to connect to\n\t */\n\tpublic async addA2APeerServer(url: string): Promise<void> {\n\t\tthis.a2aPeerServers.set(url, null);\n\t}\n\n\t/**\n\t * Retrieves tools from all registered A2A peer servers.\n\t *\n\t * Attempts to connect to each registered server, fetch their agent cards,\n\t * and create tool instances. Disables tools for unreachable servers.\n\t *\n\t * @returns Promise resolving to array of available A2A tools\n\t */\n\tpublic async getTools(): Promise<A2ATool[]> {\n\t\tconst tools: A2ATool[] = [];\n\t\tfor (const url of [...this.a2aPeerServers.keys()]) {\n\t\t\tconst tool = this.a2aPeerServers.get(url);\n\t\t\tif (!tool || !tool.enabled) {\n\t\t\t\ttry {\n\t\t\t\t\tconst client = new A2AClient(url);\n\t\t\t\t\tconst card: AgentCard = await client.getAgentCard();\n\t\t\t\t\tconst toolName = card.name.replaceAll(\" \", \"-\");\n\t\t\t\t\tconst a2aTool = new A2ATool(toolName, client, card);\n\n\t\t\t\t\ttools.push(a2aTool);\n\t\t\t\t} catch (_error: any) {\n\t\t\t\t\t// Agent not responded\n\t\t\t\t\tif (tool) {\n\t\t\t\t\t\ttool.disable();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\ttools.push(tool);\n\t\t\t}\n\t\t}\n\t\treturn tools;\n\t}\n\n\t/**\n\t * Gets or creates an A2A session for the given session ID.\n\t *\n\t * @param sessionId - The session identifier\n\t * @returns A2ASession object with task and context IDs\n\t */\n\tprivate getA2ASessionWithId = (sessionId: string): A2ASession => {\n\t\tconst a2aSession = this.a2aSessions.get(sessionId) ?? {\n\t\t\ttaskId: undefined,\n\t\t\tcontextId: undefined,\n\t\t};\n\t\tif (!this.a2aSessions.has(sessionId)) {\n\t\t\tthis.a2aSessions.set(sessionId, a2aSession);\n\t\t}\n\n\t\treturn a2aSession;\n\t};\n\n\t/**\n\t * Constructs a message payload for A2A communication.\n\t *\n\t * Includes session context (task ID and context ID) if available\n\t * for maintaining conversation continuity.\n\t *\n\t * @param query - The message content to send\n\t * @param sessionId - The session identifier\n\t * @returns Formatted Message object for A2A protocol\n\t */\n\tpublic getMessagePayload(query: string, sessionId: string): Message {\n\t\tconst messagePayload: Message = {\n\t\t\tmessageId: randomUUID(),\n\t\t\tkind: \"message\",\n\t\t\trole: \"user\", // FIXME: it could be 'agent'\n\t\t\tmetadata: {\n\t\t\t\tsessionId,\n\t\t\t},\n\t\t\tparts: [\n\t\t\t\t{\n\t\t\t\t\tkind: \"text\",\n\t\t\t\t\ttext: query,\n\t\t\t\t},\n\t\t\t],\n\t\t};\n\n\t\tconst a2aSession = this.getA2ASessionWithId(sessionId);\n\t\tif (a2aSession.taskId) {\n\t\t\tmessagePayload.taskId = a2aSession.taskId;\n\t\t}\n\t\tif (a2aSession.contextId) {\n\t\t\tmessagePayload.contextId = a2aSession.contextId;\n\t\t}\n\n\t\treturn messagePayload;\n\t}\n\n\t/**\n\t * Executes an A2A tool by sending a message to the remote agent.\n\t *\n\t * Handles streaming responses, maintains session state, and extracts\n\t * text content from various event types in the response stream.\n\t *\n\t * @param tool - The A2ATool instance to use\n\t * @param messagePayload - The message to send to the agent\n\t * @param sessionId - The session identifier for context tracking\n\t * @returns Promise resolving to array of text responses from the agent\n\t */\n\tpublic async useTool(\n\t\ttool: A2ATool,\n\t\tmessagePayload: Message,\n\t\tsessionId: string,\n\t): Promise<string[]> {\n\t\tconst finalText: string[] = [];\n\t\tconst client = tool.client;\n\t\tconst params: MessageSendParams = {\n\t\t\tmessage: messagePayload,\n\t\t};\n\t\tconst a2aSession = this.getA2ASessionWithId(sessionId);\n\n\t\ttry {\n\t\t\tconst stream = client.sendMessageStream(params);\n\t\t\tfor await (const event of stream) {\n\t\t\t\tif (event.kind === \"status-update\") {\n\t\t\t\t\tconst typedEvent = event as TaskStatusUpdateEvent;\n\t\t\t\t\tif (\n\t\t\t\t\t\ttypedEvent.final &&\n\t\t\t\t\t\ttypedEvent.status.state !== \"input-required\"\n\t\t\t\t\t) {\n\t\t\t\t\t\ta2aSession.taskId = undefined;\n\t\t\t\t\t}\n\t\t\t\t\t// TODO: handle 'file', 'data' parts\n\t\t\t\t\tconst texts = typedEvent.status.message?.parts\n\t\t\t\t\t\t.filter((part) => part.kind === \"text\")\n\t\t\t\t\t\t.map((part: TextPart) => part.text)\n\t\t\t\t\t\t.join(\"\\n\");\n\t\t\t\t\tif (texts) {\n\t\t\t\t\t\tfinalText.push(texts);\n\t\t\t\t\t}\n\t\t\t\t} else if (event.kind === \"message\") {\n\t\t\t\t\t// FIXME: handling text in 'message'?\n\t\t\t\t\tconst msg = event as Message;\n\t\t\t\t\tif (msg.taskId && msg.taskId !== a2aSession.taskId) {\n\t\t\t\t\t\ta2aSession.taskId = msg.taskId;\n\t\t\t\t\t}\n\t\t\t\t\tif (msg.contextId && msg.contextId !== a2aSession.contextId) {\n\t\t\t\t\t\ta2aSession.contextId = msg.contextId;\n\t\t\t\t\t}\n\t\t\t\t} else if (event.kind === \"task\") {\n\t\t\t\t\t// FIXME: handling text in 'task'?\n\t\t\t\t\tconst task = event as Task;\n\t\t\t\t\tif (task.id !== a2aSession.taskId) {\n\t\t\t\t\t\ta2aSession.taskId = task.id;\n\t\t\t\t\t}\n\t\t\t\t\tif (task.contextId && task.contextId !== a2aSession.contextId) {\n\t\t\t\t\t\ta2aSession.contextId = task.contextId;\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tloggers.a2a.warn(\"Received unknown event structure from stream:\", {\n\t\t\t\t\t\tevent,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t} catch (error: unknown) {\n\t\t\tloggers.a2a.error(\"Error communicating with agent:\", { error });\n\t\t\ttool.disable();\n\t\t\t// TODO: add failed & disabled text for next inference?\n\t\t}\n\n\t\treturn finalText;\n\t}\n}\n"]}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
|
+
|
|
3
|
+
var _chunk7BZO57TGcjs = require('./chunk-7BZO57TG.cjs');
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
var _chunkZMYG5HDTcjs = require('./chunk-ZMYG5HDT.cjs');
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
var _chunkILGIEJCXcjs = require('./chunk-ILGIEJCX.cjs');
|
|
10
|
+
|
|
11
|
+
// src/routes/a2a.routes.ts
|
|
12
|
+
var _server = require('@a2a-js/sdk/server');
|
|
13
|
+
var _express = require('express');
|
|
14
|
+
var createA2ARouter = (agent) => {
|
|
15
|
+
const router = _express.Router.call(void 0, );
|
|
16
|
+
const taskStore = new (0, _server.InMemoryTaskStore)();
|
|
17
|
+
const queryService = new (0, _chunkZMYG5HDTcjs.QueryService)(
|
|
18
|
+
agent.modelModule,
|
|
19
|
+
agent.a2aModule,
|
|
20
|
+
agent.mcpModule,
|
|
21
|
+
agent.memoryModule,
|
|
22
|
+
agent.manifest.prompts
|
|
23
|
+
);
|
|
24
|
+
const a2aService = new (0, _chunk7BZO57TGcjs.A2AService)(queryService);
|
|
25
|
+
const a2aController = new (0, _chunkILGIEJCXcjs.A2AController)(
|
|
26
|
+
a2aService,
|
|
27
|
+
taskStore,
|
|
28
|
+
agent.generateAgentCard
|
|
29
|
+
);
|
|
30
|
+
router.post("/a2a", a2aController.handleA2ARequest);
|
|
31
|
+
return router;
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
exports.createA2ARouter = createA2ARouter;
|
|
37
|
+
//# sourceMappingURL=chunk-CR53JLN7.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/Users/shyun/comcom/ain-agent/ain-adk/dist/cjs/chunk-CR53JLN7.cjs","../../src/routes/a2a.routes.ts"],"names":[],"mappings":"AAAA;AACE;AACF,wDAA6B;AAC7B;AACE;AACF,wDAA6B;AAC7B;AACE;AACF,wDAA6B;AAC7B;AACA;ACVA,4CAAkC;AAClC,kCAAuB;AAchB,IAAM,gBAAA,EAAkB,CAAC,KAAA,EAAA,GAA4B;AAC3D,EAAA,MAAM,OAAA,EAAS,6BAAA,CAAO;AAGtB,EAAA,MAAM,UAAA,EAAY,IAAI,8BAAA,CAAkB,CAAA;AACxC,EAAA,MAAM,aAAA,EAAe,IAAI,mCAAA;AAAA,IACxB,KAAA,CAAM,WAAA;AAAA,IACN,KAAA,CAAM,SAAA;AAAA,IACN,KAAA,CAAM,SAAA;AAAA,IACN,KAAA,CAAM,YAAA;AAAA,IACN,KAAA,CAAM,QAAA,CAAS;AAAA,EAChB,CAAA;AACA,EAAA,MAAM,WAAA,EAAa,IAAI,iCAAA,CAAW,YAAY,CAAA;AAC9C,EAAA,MAAM,cAAA,EAAgB,IAAI,oCAAA;AAAA,IACzB,UAAA;AAAA,IACA,SAAA;AAAA,IACA,KAAA,CAAM;AAAA,EACP,CAAA;AAGA,EAAA,MAAA,CAAO,IAAA,CAAK,MAAA,EAAQ,aAAA,CAAc,gBAAgB,CAAA;AAElD,EAAA,OAAO,MAAA;AACR,CAAA;ADNA;AACA;AACE;AACF,0CAAC","file":"/Users/shyun/comcom/ain-agent/ain-adk/dist/cjs/chunk-CR53JLN7.cjs","sourcesContent":[null,"import { InMemoryTaskStore } from \"@a2a-js/sdk/server\";\nimport { Router } from \"express\";\nimport type { AINAgent } from \"@/index.js\";\nimport { QueryService } from \"@/services/query.service.js\";\nimport { A2AController } from \"../controllers/a2a.controller.js\";\nimport { A2AService } from \"../services/a2a.service.js\";\n\n/**\n * Creates and configures the A2A router.\n * This function is a \"composition root\" for the A2A feature,\n * creating and injecting all necessary dependencies.\n * @param intentAnalyzer The core intent analyzer.\n * @param agentCard The agent's card.\n * @returns An Express Router instance.\n */\nexport const createA2ARouter = (agent: AINAgent): Router => {\n\tconst router = Router();\n\n\t// 1. Create dependencies for the A2A feature\n\tconst taskStore = new InMemoryTaskStore();\n\tconst queryService = new QueryService(\n\t\tagent.modelModule,\n\t\tagent.a2aModule,\n\t\tagent.mcpModule,\n\t\tagent.memoryModule,\n\t\tagent.manifest.prompts,\n\t);\n\tconst a2aService = new A2AService(queryService);\n\tconst a2aController = new A2AController(\n\t\ta2aService,\n\t\ttaskStore,\n\t\tagent.generateAgentCard,\n\t);\n\n\t// 2. Define the route\n\trouter.post(\"/a2a\", a2aController.handleA2ARequest);\n\n\treturn router;\n};\n"]}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
|
+
|
|
3
|
+
var _chunkYRNIZTPFcjs = require('./chunk-YRNIZTPF.cjs');
|
|
4
|
+
|
|
5
|
+
// src/routes/api/sessions.routes.ts
|
|
6
|
+
var _express = require('express');
|
|
7
|
+
var createSessionApiRouter = (memoryModule) => {
|
|
8
|
+
const router = _express.Router.call(void 0, );
|
|
9
|
+
const sessionApiController = new (0, _chunkYRNIZTPFcjs.SessionApiController)(memoryModule);
|
|
10
|
+
router.get("/:id", sessionApiController.handleSessionHistory);
|
|
11
|
+
return router;
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
exports.createSessionApiRouter = createSessionApiRouter;
|
|
17
|
+
//# sourceMappingURL=chunk-D525HP3R.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/Users/shyun/comcom/ain-agent/ain-adk/dist/cjs/chunk-D525HP3R.cjs","../../src/routes/api/sessions.routes.ts"],"names":[],"mappings":"AAAA;AACE;AACF,wDAA6B;AAC7B;AACA;ACJA,kCAAuB;AAIhB,IAAM,uBAAA,EAAyB,CAAC,YAAA,EAAA,GAAuC;AAC7E,EAAA,MAAM,OAAA,EAAS,6BAAA,CAAO;AACtB,EAAA,MAAM,qBAAA,EAAuB,IAAI,2CAAA,CAAqB,YAAY,CAAA;AAGlE,EAAA,MAAA,CAAO,GAAA,CAAI,MAAA,EAAQ,oBAAA,CAAqB,oBAAoB,CAAA;AAE5D,EAAA,OAAO,MAAA;AACR,CAAA;ADAA;AACA;AACE;AACF,wDAAC","file":"/Users/shyun/comcom/ain-agent/ain-adk/dist/cjs/chunk-D525HP3R.cjs","sourcesContent":[null,"import { Router } from \"express\";\nimport { SessionApiController } from \"@/controllers/api/session.api.controller.js\";\nimport type { MemoryModule } from \"@/modules/index.js\";\n\nexport const createSessionApiRouter = (memoryModule: MemoryModule): Router => {\n\tconst router = Router();\n\tconst sessionApiController = new SessionApiController(memoryModule);\n\n\t// APIs (prefix: /api/sessions)\n\trouter.get(\"/:id\", sessionApiController.handleSessionHistory);\n\n\treturn router;\n};\n"]}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); var _class;// src/controllers/query.controller.ts
|
|
2
|
+
var QueryController = (_class = class {
|
|
3
|
+
|
|
4
|
+
constructor(queryService) {;_class.prototype.__init.call(this);
|
|
5
|
+
this.queryService = queryService;
|
|
6
|
+
}
|
|
7
|
+
__init() {this.handleQueryRequest = async (req, res, next) => {
|
|
8
|
+
try {
|
|
9
|
+
const { message, sessionId } = req.body;
|
|
10
|
+
const result = await this.queryService.handleQuery(message, sessionId);
|
|
11
|
+
res.status(200).json(result);
|
|
12
|
+
} catch (error) {
|
|
13
|
+
next(error);
|
|
14
|
+
}
|
|
15
|
+
}}
|
|
16
|
+
}, _class);
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
exports.QueryController = QueryController;
|
|
21
|
+
//# sourceMappingURL=chunk-DOFTYGJR.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/Users/shyun/comcom/ain-agent/ain-adk/dist/cjs/chunk-DOFTYGJR.cjs","../../src/controllers/query.controller.ts"],"names":[],"mappings":"AAAA;ACGO,IAAM,gBAAA,YAAN,MAAsB;AAAA,EACpB;AAAA,EAER,WAAA,CAAY,YAAA,EAA4B;AACvC,IAAA,IAAA,CAAK,aAAA,EAAe,YAAA;AAAA,EACrB;AAAA,iBAEO,mBAAA,EAAqB,MAAA,CAC3B,GAAA,EACA,GAAA,EACA,IAAA,EAAA,GACI;AACJ,IAAA,IAAI;AACH,MAAA,MAAM,EAAE,OAAA,EAAS,UAAU,EAAA,EAAI,GAAA,CAAI,IAAA;AAEnC,MAAA,MAAM,OAAA,EAAS,MAAM,IAAA,CAAK,YAAA,CAAa,WAAA,CAAY,OAAA,EAAS,SAAS,CAAA;AAErE,MAAA,GAAA,CAAI,MAAA,CAAO,GAAG,CAAA,CAAE,IAAA,CAAK,MAAM,CAAA;AAAA,IAC5B,EAAA,MAAA,CAAS,KAAA,EAAO;AACf,MAAA,IAAA,CAAK,KAAK,CAAA;AAAA,IACX;AAAA,EACD,EAAA;AACD,UAAA;ADTA;AACA;AACE;AACF,0CAAC","file":"/Users/shyun/comcom/ain-agent/ain-adk/dist/cjs/chunk-DOFTYGJR.cjs","sourcesContent":[null,"import type { NextFunction, Request, Response } from \"express\";\nimport type { QueryService } from \"@/services\";\n\nexport class QueryController {\n\tprivate queryService;\n\n\tconstructor(queryService: QueryService) {\n\t\tthis.queryService = queryService;\n\t}\n\n\tpublic handleQueryRequest = async (\n\t\treq: Request,\n\t\tres: Response,\n\t\tnext: NextFunction,\n\t) => {\n\t\ttry {\n\t\t\tconst { message, sessionId } = req.body;\n\n\t\t\tconst result = await this.queryService.handleQuery(message, sessionId);\n\n\t\t\tres.status(200).json(result);\n\t\t} catch (error) {\n\t\t\tnext(error);\n\t\t}\n\t};\n}\n"]}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});// src/types/agent.ts
|
|
2
|
+
var AinHttpError = class extends Error {
|
|
3
|
+
|
|
4
|
+
constructor(status, message) {
|
|
5
|
+
super(message);
|
|
6
|
+
this.status = status;
|
|
7
|
+
}
|
|
8
|
+
};
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
exports.AinHttpError = AinHttpError;
|
|
13
|
+
//# sourceMappingURL=chunk-DX2JH3FJ.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/Users/shyun/comcom/ain-agent/ain-adk/dist/cjs/chunk-DX2JH3FJ.cjs","../../src/types/agent.ts"],"names":[],"mappings":"AAAA;AC+CO,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;AD9CA;AACA;AACE;AACF,oCAAC","file":"/Users/shyun/comcom/ain-agent/ain-adk/dist/cjs/chunk-DX2JH3FJ.cjs","sourcesContent":[null,"import type { StatusCodes } from \"http-status-codes\";\n\n/**\n * Custom prompts configuration for the agent.\n *\n * Allows customization of agent behavior through system and agent-level prompts.\n */\nexport type AinAgentPrompts = {\n\t/** Agent-level prompt that defines the agent's personality and behavior */\n\tagent?: string;\n\t/** System-level prompt that provides context and instructions */\n\tsystem?: string;\n};\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/** Semantic version of the agent (e.g., \"1.0.0\") */\n\tversion: string;\n\t/** Optional public URL for A2A protocol discovery and communication */\n\turl?: string;\n\t/** Optional custom prompts to configure agent behavior */\n\tprompts?: AinAgentPrompts;\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"]}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
|
+
|
|
3
|
+
var _chunkJTAXZJQ2cjs = require('./chunk-JTAXZJQ2.cjs');
|
|
4
|
+
|
|
5
|
+
// src/middlewares/error.middleware.ts
|
|
6
|
+
var errorMiddleware = (error, req, res, next) => {
|
|
7
|
+
try {
|
|
8
|
+
const status = error.status || 500;
|
|
9
|
+
const message = error.message || "Something went wrong";
|
|
10
|
+
_chunkJTAXZJQ2cjs.logger.error(
|
|
11
|
+
`[${req.method}] ${req.path} >> StatusCode:: ${status}, Message:: ${message}`
|
|
12
|
+
);
|
|
13
|
+
res.status(status).json({ message });
|
|
14
|
+
} catch (error2) {
|
|
15
|
+
next(error2);
|
|
16
|
+
}
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
exports.errorMiddleware = errorMiddleware;
|
|
22
|
+
//# sourceMappingURL=chunk-DYRSSHDI.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/Users/shyun/comcom/ain-agent/ain-adk/dist/cjs/chunk-DYRSSHDI.cjs","../../src/middlewares/error.middleware.ts"],"names":[],"mappings":"AAAA;AACE;AACF,wDAA6B;AAC7B;AACA;ACAO,IAAM,gBAAA,EAAkB,CAC9B,KAAA,EACA,GAAA,EACA,GAAA,EACA,IAAA,EAAA,GACU;AACV,EAAA,IAAI;AACH,IAAA,MAAM,OAAA,EAAiB,KAAA,CAAM,OAAA,GAAU,GAAA;AACvC,IAAA,MAAM,QAAA,EAAkB,KAAA,CAAM,QAAA,GAAW,sBAAA;AAEzC,IAAA,wBAAA,CAAO,KAAA;AAAA,MACN,CAAA,CAAA,EAAI,GAAA,CAAI,MAAM,CAAA,EAAA,EAAK,GAAA,CAAI,IAAI,CAAA,iBAAA,EAAoB,MAAM,CAAA,YAAA,EAAe,OAAO,CAAA;AAAA,IAAA;AAE5E,IAAA;AAAmC,EAAA;AAEnC,IAAA;AAAU,EAAA;AAEZ;ADJA;AACA;AACA;AACA","file":"/Users/shyun/comcom/ain-agent/ain-adk/dist/cjs/chunk-DYRSSHDI.cjs","sourcesContent":[null,"import type { NextFunction, Request, Response } from \"express\";\nimport type { AinHttpError } from \"@/types/agent\";\nimport { logger } from \"@/utils/logger\";\n\nexport const errorMiddleware = (\n\terror: AinHttpError,\n\treq: Request,\n\tres: Response,\n\tnext: NextFunction,\n): void => {\n\ttry {\n\t\tconst status: number = error.status || 500;\n\t\tconst message: string = error.message || \"Something went wrong\";\n\n\t\tlogger.error(\n\t\t\t`[${req.method}] ${req.path} >> StatusCode:: ${status}, Message:: ${message}`,\n\t\t);\n\t\tres.status(status).json({ message });\n\t} catch (error) {\n\t\tnext(error);\n\t}\n};\n"]}
|