@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
|
@@ -0,0 +1,728 @@
|
|
|
1
|
+
import "./chunk-XYCWK2ZM.js";
|
|
2
|
+
import {
|
|
3
|
+
createApiRouter
|
|
4
|
+
} from "./chunk-UZQZXNND.js";
|
|
5
|
+
import "./chunk-2Z7GJVJJ.js";
|
|
6
|
+
import "./chunk-M4HGSCXF.js";
|
|
7
|
+
import {
|
|
8
|
+
createQueryRouter
|
|
9
|
+
} from "./chunk-CQ6GXYN2.js";
|
|
10
|
+
import "./chunk-UA44VKFE.js";
|
|
11
|
+
import "./chunk-X47DAWPH.js";
|
|
12
|
+
import "./chunk-XOMQNCCR.js";
|
|
13
|
+
import {
|
|
14
|
+
AuthMiddleware
|
|
15
|
+
} from "./chunk-635VQ4CH.js";
|
|
16
|
+
import "./chunk-FL3JRQM4.js";
|
|
17
|
+
import {
|
|
18
|
+
errorMiddleware
|
|
19
|
+
} from "./chunk-ILFWNK3W.js";
|
|
20
|
+
import {
|
|
21
|
+
createA2ARouter
|
|
22
|
+
} from "./chunk-CH4XHVJY.js";
|
|
23
|
+
import "./chunk-AQ5YZERE.js";
|
|
24
|
+
import "./chunk-WZBXLGQK.js";
|
|
25
|
+
import "./chunk-EODMRV4H.js";
|
|
26
|
+
import "./chunk-TMHRCGTE.js";
|
|
27
|
+
import "./chunk-FI2UQLVC.js";
|
|
28
|
+
import {
|
|
29
|
+
loggers
|
|
30
|
+
} from "./chunk-64GEXWSE.js";
|
|
31
|
+
|
|
32
|
+
// src/index.ts
|
|
33
|
+
import cors from "cors";
|
|
34
|
+
import express from "express";
|
|
35
|
+
|
|
36
|
+
// node_modules/helmet/index.mjs
|
|
37
|
+
var dangerouslyDisableDefaultSrc = Symbol("dangerouslyDisableDefaultSrc");
|
|
38
|
+
var SHOULD_BE_QUOTED = /* @__PURE__ */ new Set(["none", "self", "strict-dynamic", "report-sample", "inline-speculation-rules", "unsafe-inline", "unsafe-eval", "unsafe-hashes", "wasm-unsafe-eval"]);
|
|
39
|
+
var getDefaultDirectives = () => ({
|
|
40
|
+
"default-src": ["'self'"],
|
|
41
|
+
"base-uri": ["'self'"],
|
|
42
|
+
"font-src": ["'self'", "https:", "data:"],
|
|
43
|
+
"form-action": ["'self'"],
|
|
44
|
+
"frame-ancestors": ["'self'"],
|
|
45
|
+
"img-src": ["'self'", "data:"],
|
|
46
|
+
"object-src": ["'none'"],
|
|
47
|
+
"script-src": ["'self'"],
|
|
48
|
+
"script-src-attr": ["'none'"],
|
|
49
|
+
"style-src": ["'self'", "https:", "'unsafe-inline'"],
|
|
50
|
+
"upgrade-insecure-requests": []
|
|
51
|
+
});
|
|
52
|
+
var dashify = (str) => str.replace(/[A-Z]/g, (capitalLetter) => "-" + capitalLetter.toLowerCase());
|
|
53
|
+
var assertDirectiveValueIsValid = (directiveName, directiveValue) => {
|
|
54
|
+
if (/;|,/.test(directiveValue)) {
|
|
55
|
+
throw new Error(`Content-Security-Policy received an invalid directive value for ${JSON.stringify(directiveName)}`);
|
|
56
|
+
}
|
|
57
|
+
};
|
|
58
|
+
var assertDirectiveValueEntryIsValid = (directiveName, directiveValueEntry) => {
|
|
59
|
+
if (SHOULD_BE_QUOTED.has(directiveValueEntry) || directiveValueEntry.startsWith("nonce-") || directiveValueEntry.startsWith("sha256-") || directiveValueEntry.startsWith("sha384-") || directiveValueEntry.startsWith("sha512-")) {
|
|
60
|
+
throw new Error(`Content-Security-Policy received an invalid directive value for ${JSON.stringify(directiveName)}. ${JSON.stringify(directiveValueEntry)} should be quoted`);
|
|
61
|
+
}
|
|
62
|
+
};
|
|
63
|
+
function normalizeDirectives(options) {
|
|
64
|
+
const defaultDirectives = getDefaultDirectives();
|
|
65
|
+
const { useDefaults = true, directives: rawDirectives = defaultDirectives } = options;
|
|
66
|
+
const result = /* @__PURE__ */ new Map();
|
|
67
|
+
const directiveNamesSeen = /* @__PURE__ */ new Set();
|
|
68
|
+
const directivesExplicitlyDisabled = /* @__PURE__ */ new Set();
|
|
69
|
+
for (const rawDirectiveName in rawDirectives) {
|
|
70
|
+
if (!Object.hasOwn(rawDirectives, rawDirectiveName)) {
|
|
71
|
+
continue;
|
|
72
|
+
}
|
|
73
|
+
if (rawDirectiveName.length === 0 || /[^a-zA-Z0-9-]/.test(rawDirectiveName)) {
|
|
74
|
+
throw new Error(`Content-Security-Policy received an invalid directive name ${JSON.stringify(rawDirectiveName)}`);
|
|
75
|
+
}
|
|
76
|
+
const directiveName = dashify(rawDirectiveName);
|
|
77
|
+
if (directiveNamesSeen.has(directiveName)) {
|
|
78
|
+
throw new Error(`Content-Security-Policy received a duplicate directive ${JSON.stringify(directiveName)}`);
|
|
79
|
+
}
|
|
80
|
+
directiveNamesSeen.add(directiveName);
|
|
81
|
+
const rawDirectiveValue = rawDirectives[rawDirectiveName];
|
|
82
|
+
let directiveValue;
|
|
83
|
+
if (rawDirectiveValue === null) {
|
|
84
|
+
if (directiveName === "default-src") {
|
|
85
|
+
throw new Error("Content-Security-Policy needs a default-src but it was set to `null`. If you really want to disable it, set it to `contentSecurityPolicy.dangerouslyDisableDefaultSrc`.");
|
|
86
|
+
}
|
|
87
|
+
directivesExplicitlyDisabled.add(directiveName);
|
|
88
|
+
continue;
|
|
89
|
+
} else if (typeof rawDirectiveValue === "string") {
|
|
90
|
+
directiveValue = [rawDirectiveValue];
|
|
91
|
+
} else if (!rawDirectiveValue) {
|
|
92
|
+
throw new Error(`Content-Security-Policy received an invalid directive value for ${JSON.stringify(directiveName)}`);
|
|
93
|
+
} else if (rawDirectiveValue === dangerouslyDisableDefaultSrc) {
|
|
94
|
+
if (directiveName === "default-src") {
|
|
95
|
+
directivesExplicitlyDisabled.add("default-src");
|
|
96
|
+
continue;
|
|
97
|
+
} else {
|
|
98
|
+
throw new Error(`Content-Security-Policy: tried to disable ${JSON.stringify(directiveName)} as if it were default-src; simply omit the key`);
|
|
99
|
+
}
|
|
100
|
+
} else {
|
|
101
|
+
directiveValue = rawDirectiveValue;
|
|
102
|
+
}
|
|
103
|
+
for (const element of directiveValue) {
|
|
104
|
+
if (typeof element !== "string") continue;
|
|
105
|
+
assertDirectiveValueIsValid(directiveName, element);
|
|
106
|
+
assertDirectiveValueEntryIsValid(directiveName, element);
|
|
107
|
+
}
|
|
108
|
+
result.set(directiveName, directiveValue);
|
|
109
|
+
}
|
|
110
|
+
if (useDefaults) {
|
|
111
|
+
Object.entries(defaultDirectives).forEach(([defaultDirectiveName, defaultDirectiveValue]) => {
|
|
112
|
+
if (!result.has(defaultDirectiveName) && !directivesExplicitlyDisabled.has(defaultDirectiveName)) {
|
|
113
|
+
result.set(defaultDirectiveName, defaultDirectiveValue);
|
|
114
|
+
}
|
|
115
|
+
});
|
|
116
|
+
}
|
|
117
|
+
if (!result.size) {
|
|
118
|
+
throw new Error("Content-Security-Policy has no directives. Either set some or disable the header");
|
|
119
|
+
}
|
|
120
|
+
if (!result.has("default-src") && !directivesExplicitlyDisabled.has("default-src")) {
|
|
121
|
+
throw new Error("Content-Security-Policy needs a default-src but none was provided. If you really want to disable it, set it to `contentSecurityPolicy.dangerouslyDisableDefaultSrc`.");
|
|
122
|
+
}
|
|
123
|
+
return result;
|
|
124
|
+
}
|
|
125
|
+
function getHeaderValue(req, res, normalizedDirectives) {
|
|
126
|
+
const result = [];
|
|
127
|
+
for (const [directiveName, rawDirectiveValue] of normalizedDirectives) {
|
|
128
|
+
let directiveValue = "";
|
|
129
|
+
for (const element of rawDirectiveValue) {
|
|
130
|
+
if (typeof element === "function") {
|
|
131
|
+
const newElement = element(req, res);
|
|
132
|
+
assertDirectiveValueEntryIsValid(directiveName, newElement);
|
|
133
|
+
directiveValue += " " + newElement;
|
|
134
|
+
} else {
|
|
135
|
+
directiveValue += " " + element;
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
if (directiveValue) {
|
|
139
|
+
assertDirectiveValueIsValid(directiveName, directiveValue);
|
|
140
|
+
result.push(`${directiveName}${directiveValue}`);
|
|
141
|
+
} else {
|
|
142
|
+
result.push(directiveName);
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
return result.join(";");
|
|
146
|
+
}
|
|
147
|
+
var contentSecurityPolicy = function contentSecurityPolicy2(options = {}) {
|
|
148
|
+
const headerName = options.reportOnly ? "Content-Security-Policy-Report-Only" : "Content-Security-Policy";
|
|
149
|
+
const normalizedDirectives = normalizeDirectives(options);
|
|
150
|
+
return function contentSecurityPolicyMiddleware(req, res, next) {
|
|
151
|
+
const result = getHeaderValue(req, res, normalizedDirectives);
|
|
152
|
+
if (result instanceof Error) {
|
|
153
|
+
next(result);
|
|
154
|
+
} else {
|
|
155
|
+
res.setHeader(headerName, result);
|
|
156
|
+
next();
|
|
157
|
+
}
|
|
158
|
+
};
|
|
159
|
+
};
|
|
160
|
+
contentSecurityPolicy.getDefaultDirectives = getDefaultDirectives;
|
|
161
|
+
contentSecurityPolicy.dangerouslyDisableDefaultSrc = dangerouslyDisableDefaultSrc;
|
|
162
|
+
var ALLOWED_POLICIES$2 = /* @__PURE__ */ new Set(["require-corp", "credentialless", "unsafe-none"]);
|
|
163
|
+
function getHeaderValueFromOptions$6({ policy = "require-corp" }) {
|
|
164
|
+
if (ALLOWED_POLICIES$2.has(policy)) {
|
|
165
|
+
return policy;
|
|
166
|
+
} else {
|
|
167
|
+
throw new Error(`Cross-Origin-Embedder-Policy does not support the ${JSON.stringify(policy)} policy`);
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
function crossOriginEmbedderPolicy(options = {}) {
|
|
171
|
+
const headerValue = getHeaderValueFromOptions$6(options);
|
|
172
|
+
return function crossOriginEmbedderPolicyMiddleware(_req, res, next) {
|
|
173
|
+
res.setHeader("Cross-Origin-Embedder-Policy", headerValue);
|
|
174
|
+
next();
|
|
175
|
+
};
|
|
176
|
+
}
|
|
177
|
+
var ALLOWED_POLICIES$1 = /* @__PURE__ */ new Set(["same-origin", "same-origin-allow-popups", "unsafe-none"]);
|
|
178
|
+
function getHeaderValueFromOptions$5({ policy = "same-origin" }) {
|
|
179
|
+
if (ALLOWED_POLICIES$1.has(policy)) {
|
|
180
|
+
return policy;
|
|
181
|
+
} else {
|
|
182
|
+
throw new Error(`Cross-Origin-Opener-Policy does not support the ${JSON.stringify(policy)} policy`);
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
function crossOriginOpenerPolicy(options = {}) {
|
|
186
|
+
const headerValue = getHeaderValueFromOptions$5(options);
|
|
187
|
+
return function crossOriginOpenerPolicyMiddleware(_req, res, next) {
|
|
188
|
+
res.setHeader("Cross-Origin-Opener-Policy", headerValue);
|
|
189
|
+
next();
|
|
190
|
+
};
|
|
191
|
+
}
|
|
192
|
+
var ALLOWED_POLICIES = /* @__PURE__ */ new Set(["same-origin", "same-site", "cross-origin"]);
|
|
193
|
+
function getHeaderValueFromOptions$4({ policy = "same-origin" }) {
|
|
194
|
+
if (ALLOWED_POLICIES.has(policy)) {
|
|
195
|
+
return policy;
|
|
196
|
+
} else {
|
|
197
|
+
throw new Error(`Cross-Origin-Resource-Policy does not support the ${JSON.stringify(policy)} policy`);
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
function crossOriginResourcePolicy(options = {}) {
|
|
201
|
+
const headerValue = getHeaderValueFromOptions$4(options);
|
|
202
|
+
return function crossOriginResourcePolicyMiddleware(_req, res, next) {
|
|
203
|
+
res.setHeader("Cross-Origin-Resource-Policy", headerValue);
|
|
204
|
+
next();
|
|
205
|
+
};
|
|
206
|
+
}
|
|
207
|
+
function originAgentCluster() {
|
|
208
|
+
return function originAgentClusterMiddleware(_req, res, next) {
|
|
209
|
+
res.setHeader("Origin-Agent-Cluster", "?1");
|
|
210
|
+
next();
|
|
211
|
+
};
|
|
212
|
+
}
|
|
213
|
+
var ALLOWED_TOKENS = /* @__PURE__ */ new Set(["no-referrer", "no-referrer-when-downgrade", "same-origin", "origin", "strict-origin", "origin-when-cross-origin", "strict-origin-when-cross-origin", "unsafe-url", ""]);
|
|
214
|
+
function getHeaderValueFromOptions$3({ policy = ["no-referrer"] }) {
|
|
215
|
+
const tokens = typeof policy === "string" ? [policy] : policy;
|
|
216
|
+
if (tokens.length === 0) {
|
|
217
|
+
throw new Error("Referrer-Policy received no policy tokens");
|
|
218
|
+
}
|
|
219
|
+
const tokensSeen = /* @__PURE__ */ new Set();
|
|
220
|
+
tokens.forEach((token) => {
|
|
221
|
+
if (!ALLOWED_TOKENS.has(token)) {
|
|
222
|
+
throw new Error(`Referrer-Policy received an unexpected policy token ${JSON.stringify(token)}`);
|
|
223
|
+
} else if (tokensSeen.has(token)) {
|
|
224
|
+
throw new Error(`Referrer-Policy received a duplicate policy token ${JSON.stringify(token)}`);
|
|
225
|
+
}
|
|
226
|
+
tokensSeen.add(token);
|
|
227
|
+
});
|
|
228
|
+
return tokens.join(",");
|
|
229
|
+
}
|
|
230
|
+
function referrerPolicy(options = {}) {
|
|
231
|
+
const headerValue = getHeaderValueFromOptions$3(options);
|
|
232
|
+
return function referrerPolicyMiddleware(_req, res, next) {
|
|
233
|
+
res.setHeader("Referrer-Policy", headerValue);
|
|
234
|
+
next();
|
|
235
|
+
};
|
|
236
|
+
}
|
|
237
|
+
var DEFAULT_MAX_AGE = 365 * 24 * 60 * 60;
|
|
238
|
+
function parseMaxAge(value = DEFAULT_MAX_AGE) {
|
|
239
|
+
if (value >= 0 && Number.isFinite(value)) {
|
|
240
|
+
return Math.floor(value);
|
|
241
|
+
} else {
|
|
242
|
+
throw new Error(`Strict-Transport-Security: ${JSON.stringify(value)} is not a valid value for maxAge. Please choose a positive integer.`);
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
function getHeaderValueFromOptions$2(options) {
|
|
246
|
+
if ("maxage" in options) {
|
|
247
|
+
throw new Error("Strict-Transport-Security received an unsupported property, `maxage`. Did you mean to pass `maxAge`?");
|
|
248
|
+
}
|
|
249
|
+
if ("includeSubdomains" in options) {
|
|
250
|
+
throw new Error('Strict-Transport-Security middleware should use `includeSubDomains` instead of `includeSubdomains`. (The correct one has an uppercase "D".)');
|
|
251
|
+
}
|
|
252
|
+
const directives = [`max-age=${parseMaxAge(options.maxAge)}`];
|
|
253
|
+
if (options.includeSubDomains === void 0 || options.includeSubDomains) {
|
|
254
|
+
directives.push("includeSubDomains");
|
|
255
|
+
}
|
|
256
|
+
if (options.preload) {
|
|
257
|
+
directives.push("preload");
|
|
258
|
+
}
|
|
259
|
+
return directives.join("; ");
|
|
260
|
+
}
|
|
261
|
+
function strictTransportSecurity(options = {}) {
|
|
262
|
+
const headerValue = getHeaderValueFromOptions$2(options);
|
|
263
|
+
return function strictTransportSecurityMiddleware(_req, res, next) {
|
|
264
|
+
res.setHeader("Strict-Transport-Security", headerValue);
|
|
265
|
+
next();
|
|
266
|
+
};
|
|
267
|
+
}
|
|
268
|
+
function xContentTypeOptions() {
|
|
269
|
+
return function xContentTypeOptionsMiddleware(_req, res, next) {
|
|
270
|
+
res.setHeader("X-Content-Type-Options", "nosniff");
|
|
271
|
+
next();
|
|
272
|
+
};
|
|
273
|
+
}
|
|
274
|
+
function xDnsPrefetchControl(options = {}) {
|
|
275
|
+
const headerValue = options.allow ? "on" : "off";
|
|
276
|
+
return function xDnsPrefetchControlMiddleware(_req, res, next) {
|
|
277
|
+
res.setHeader("X-DNS-Prefetch-Control", headerValue);
|
|
278
|
+
next();
|
|
279
|
+
};
|
|
280
|
+
}
|
|
281
|
+
function xDownloadOptions() {
|
|
282
|
+
return function xDownloadOptionsMiddleware(_req, res, next) {
|
|
283
|
+
res.setHeader("X-Download-Options", "noopen");
|
|
284
|
+
next();
|
|
285
|
+
};
|
|
286
|
+
}
|
|
287
|
+
function getHeaderValueFromOptions$1({ action = "sameorigin" }) {
|
|
288
|
+
const normalizedAction = typeof action === "string" ? action.toUpperCase() : action;
|
|
289
|
+
switch (normalizedAction) {
|
|
290
|
+
case "SAME-ORIGIN":
|
|
291
|
+
return "SAMEORIGIN";
|
|
292
|
+
case "DENY":
|
|
293
|
+
case "SAMEORIGIN":
|
|
294
|
+
return normalizedAction;
|
|
295
|
+
default:
|
|
296
|
+
throw new Error(`X-Frame-Options received an invalid action ${JSON.stringify(action)}`);
|
|
297
|
+
}
|
|
298
|
+
}
|
|
299
|
+
function xFrameOptions(options = {}) {
|
|
300
|
+
const headerValue = getHeaderValueFromOptions$1(options);
|
|
301
|
+
return function xFrameOptionsMiddleware(_req, res, next) {
|
|
302
|
+
res.setHeader("X-Frame-Options", headerValue);
|
|
303
|
+
next();
|
|
304
|
+
};
|
|
305
|
+
}
|
|
306
|
+
var ALLOWED_PERMITTED_POLICIES = /* @__PURE__ */ new Set(["none", "master-only", "by-content-type", "all"]);
|
|
307
|
+
function getHeaderValueFromOptions({ permittedPolicies = "none" }) {
|
|
308
|
+
if (ALLOWED_PERMITTED_POLICIES.has(permittedPolicies)) {
|
|
309
|
+
return permittedPolicies;
|
|
310
|
+
} else {
|
|
311
|
+
throw new Error(`X-Permitted-Cross-Domain-Policies does not support ${JSON.stringify(permittedPolicies)}`);
|
|
312
|
+
}
|
|
313
|
+
}
|
|
314
|
+
function xPermittedCrossDomainPolicies(options = {}) {
|
|
315
|
+
const headerValue = getHeaderValueFromOptions(options);
|
|
316
|
+
return function xPermittedCrossDomainPoliciesMiddleware(_req, res, next) {
|
|
317
|
+
res.setHeader("X-Permitted-Cross-Domain-Policies", headerValue);
|
|
318
|
+
next();
|
|
319
|
+
};
|
|
320
|
+
}
|
|
321
|
+
function xPoweredBy() {
|
|
322
|
+
return function xPoweredByMiddleware(_req, res, next) {
|
|
323
|
+
res.removeHeader("X-Powered-By");
|
|
324
|
+
next();
|
|
325
|
+
};
|
|
326
|
+
}
|
|
327
|
+
function xXssProtection() {
|
|
328
|
+
return function xXssProtectionMiddleware(_req, res, next) {
|
|
329
|
+
res.setHeader("X-XSS-Protection", "0");
|
|
330
|
+
next();
|
|
331
|
+
};
|
|
332
|
+
}
|
|
333
|
+
function getMiddlewareFunctionsFromOptions(options) {
|
|
334
|
+
const result = [];
|
|
335
|
+
switch (options.contentSecurityPolicy) {
|
|
336
|
+
case void 0:
|
|
337
|
+
case true:
|
|
338
|
+
result.push(contentSecurityPolicy());
|
|
339
|
+
break;
|
|
340
|
+
case false:
|
|
341
|
+
break;
|
|
342
|
+
default:
|
|
343
|
+
result.push(contentSecurityPolicy(options.contentSecurityPolicy));
|
|
344
|
+
break;
|
|
345
|
+
}
|
|
346
|
+
switch (options.crossOriginEmbedderPolicy) {
|
|
347
|
+
case void 0:
|
|
348
|
+
case false:
|
|
349
|
+
break;
|
|
350
|
+
case true:
|
|
351
|
+
result.push(crossOriginEmbedderPolicy());
|
|
352
|
+
break;
|
|
353
|
+
default:
|
|
354
|
+
result.push(crossOriginEmbedderPolicy(options.crossOriginEmbedderPolicy));
|
|
355
|
+
break;
|
|
356
|
+
}
|
|
357
|
+
switch (options.crossOriginOpenerPolicy) {
|
|
358
|
+
case void 0:
|
|
359
|
+
case true:
|
|
360
|
+
result.push(crossOriginOpenerPolicy());
|
|
361
|
+
break;
|
|
362
|
+
case false:
|
|
363
|
+
break;
|
|
364
|
+
default:
|
|
365
|
+
result.push(crossOriginOpenerPolicy(options.crossOriginOpenerPolicy));
|
|
366
|
+
break;
|
|
367
|
+
}
|
|
368
|
+
switch (options.crossOriginResourcePolicy) {
|
|
369
|
+
case void 0:
|
|
370
|
+
case true:
|
|
371
|
+
result.push(crossOriginResourcePolicy());
|
|
372
|
+
break;
|
|
373
|
+
case false:
|
|
374
|
+
break;
|
|
375
|
+
default:
|
|
376
|
+
result.push(crossOriginResourcePolicy(options.crossOriginResourcePolicy));
|
|
377
|
+
break;
|
|
378
|
+
}
|
|
379
|
+
switch (options.originAgentCluster) {
|
|
380
|
+
case void 0:
|
|
381
|
+
case true:
|
|
382
|
+
result.push(originAgentCluster());
|
|
383
|
+
break;
|
|
384
|
+
case false:
|
|
385
|
+
break;
|
|
386
|
+
default:
|
|
387
|
+
console.warn("Origin-Agent-Cluster does not take options. Remove the property to silence this warning.");
|
|
388
|
+
result.push(originAgentCluster());
|
|
389
|
+
break;
|
|
390
|
+
}
|
|
391
|
+
switch (options.referrerPolicy) {
|
|
392
|
+
case void 0:
|
|
393
|
+
case true:
|
|
394
|
+
result.push(referrerPolicy());
|
|
395
|
+
break;
|
|
396
|
+
case false:
|
|
397
|
+
break;
|
|
398
|
+
default:
|
|
399
|
+
result.push(referrerPolicy(options.referrerPolicy));
|
|
400
|
+
break;
|
|
401
|
+
}
|
|
402
|
+
if ("strictTransportSecurity" in options && "hsts" in options) {
|
|
403
|
+
throw new Error("Strict-Transport-Security option was specified twice. Remove `hsts` to silence this warning.");
|
|
404
|
+
}
|
|
405
|
+
const strictTransportSecurityOption = options.strictTransportSecurity ?? options.hsts;
|
|
406
|
+
switch (strictTransportSecurityOption) {
|
|
407
|
+
case void 0:
|
|
408
|
+
case true:
|
|
409
|
+
result.push(strictTransportSecurity());
|
|
410
|
+
break;
|
|
411
|
+
case false:
|
|
412
|
+
break;
|
|
413
|
+
default:
|
|
414
|
+
result.push(strictTransportSecurity(strictTransportSecurityOption));
|
|
415
|
+
break;
|
|
416
|
+
}
|
|
417
|
+
if ("xContentTypeOptions" in options && "noSniff" in options) {
|
|
418
|
+
throw new Error("X-Content-Type-Options option was specified twice. Remove `noSniff` to silence this warning.");
|
|
419
|
+
}
|
|
420
|
+
const xContentTypeOptionsOption = options.xContentTypeOptions ?? options.noSniff;
|
|
421
|
+
switch (xContentTypeOptionsOption) {
|
|
422
|
+
case void 0:
|
|
423
|
+
case true:
|
|
424
|
+
result.push(xContentTypeOptions());
|
|
425
|
+
break;
|
|
426
|
+
case false:
|
|
427
|
+
break;
|
|
428
|
+
default:
|
|
429
|
+
console.warn("X-Content-Type-Options does not take options. Remove the property to silence this warning.");
|
|
430
|
+
result.push(xContentTypeOptions());
|
|
431
|
+
break;
|
|
432
|
+
}
|
|
433
|
+
if ("xDnsPrefetchControl" in options && "dnsPrefetchControl" in options) {
|
|
434
|
+
throw new Error("X-DNS-Prefetch-Control option was specified twice. Remove `dnsPrefetchControl` to silence this warning.");
|
|
435
|
+
}
|
|
436
|
+
const xDnsPrefetchControlOption = options.xDnsPrefetchControl ?? options.dnsPrefetchControl;
|
|
437
|
+
switch (xDnsPrefetchControlOption) {
|
|
438
|
+
case void 0:
|
|
439
|
+
case true:
|
|
440
|
+
result.push(xDnsPrefetchControl());
|
|
441
|
+
break;
|
|
442
|
+
case false:
|
|
443
|
+
break;
|
|
444
|
+
default:
|
|
445
|
+
result.push(xDnsPrefetchControl(xDnsPrefetchControlOption));
|
|
446
|
+
break;
|
|
447
|
+
}
|
|
448
|
+
if ("xDownloadOptions" in options && "ieNoOpen" in options) {
|
|
449
|
+
throw new Error("X-Download-Options option was specified twice. Remove `ieNoOpen` to silence this warning.");
|
|
450
|
+
}
|
|
451
|
+
const xDownloadOptionsOption = options.xDownloadOptions ?? options.ieNoOpen;
|
|
452
|
+
switch (xDownloadOptionsOption) {
|
|
453
|
+
case void 0:
|
|
454
|
+
case true:
|
|
455
|
+
result.push(xDownloadOptions());
|
|
456
|
+
break;
|
|
457
|
+
case false:
|
|
458
|
+
break;
|
|
459
|
+
default:
|
|
460
|
+
console.warn("X-Download-Options does not take options. Remove the property to silence this warning.");
|
|
461
|
+
result.push(xDownloadOptions());
|
|
462
|
+
break;
|
|
463
|
+
}
|
|
464
|
+
if ("xFrameOptions" in options && "frameguard" in options) {
|
|
465
|
+
throw new Error("X-Frame-Options option was specified twice. Remove `frameguard` to silence this warning.");
|
|
466
|
+
}
|
|
467
|
+
const xFrameOptionsOption = options.xFrameOptions ?? options.frameguard;
|
|
468
|
+
switch (xFrameOptionsOption) {
|
|
469
|
+
case void 0:
|
|
470
|
+
case true:
|
|
471
|
+
result.push(xFrameOptions());
|
|
472
|
+
break;
|
|
473
|
+
case false:
|
|
474
|
+
break;
|
|
475
|
+
default:
|
|
476
|
+
result.push(xFrameOptions(xFrameOptionsOption));
|
|
477
|
+
break;
|
|
478
|
+
}
|
|
479
|
+
if ("xPermittedCrossDomainPolicies" in options && "permittedCrossDomainPolicies" in options) {
|
|
480
|
+
throw new Error("X-Permitted-Cross-Domain-Policies option was specified twice. Remove `permittedCrossDomainPolicies` to silence this warning.");
|
|
481
|
+
}
|
|
482
|
+
const xPermittedCrossDomainPoliciesOption = options.xPermittedCrossDomainPolicies ?? options.permittedCrossDomainPolicies;
|
|
483
|
+
switch (xPermittedCrossDomainPoliciesOption) {
|
|
484
|
+
case void 0:
|
|
485
|
+
case true:
|
|
486
|
+
result.push(xPermittedCrossDomainPolicies());
|
|
487
|
+
break;
|
|
488
|
+
case false:
|
|
489
|
+
break;
|
|
490
|
+
default:
|
|
491
|
+
result.push(xPermittedCrossDomainPolicies(xPermittedCrossDomainPoliciesOption));
|
|
492
|
+
break;
|
|
493
|
+
}
|
|
494
|
+
if ("xPoweredBy" in options && "hidePoweredBy" in options) {
|
|
495
|
+
throw new Error("X-Powered-By option was specified twice. Remove `hidePoweredBy` to silence this warning.");
|
|
496
|
+
}
|
|
497
|
+
const xPoweredByOption = options.xPoweredBy ?? options.hidePoweredBy;
|
|
498
|
+
switch (xPoweredByOption) {
|
|
499
|
+
case void 0:
|
|
500
|
+
case true:
|
|
501
|
+
result.push(xPoweredBy());
|
|
502
|
+
break;
|
|
503
|
+
case false:
|
|
504
|
+
break;
|
|
505
|
+
default:
|
|
506
|
+
console.warn("X-Powered-By does not take options. Remove the property to silence this warning.");
|
|
507
|
+
result.push(xPoweredBy());
|
|
508
|
+
break;
|
|
509
|
+
}
|
|
510
|
+
if ("xXssProtection" in options && "xssFilter" in options) {
|
|
511
|
+
throw new Error("X-XSS-Protection option was specified twice. Remove `xssFilter` to silence this warning.");
|
|
512
|
+
}
|
|
513
|
+
const xXssProtectionOption = options.xXssProtection ?? options.xssFilter;
|
|
514
|
+
switch (xXssProtectionOption) {
|
|
515
|
+
case void 0:
|
|
516
|
+
case true:
|
|
517
|
+
result.push(xXssProtection());
|
|
518
|
+
break;
|
|
519
|
+
case false:
|
|
520
|
+
break;
|
|
521
|
+
default:
|
|
522
|
+
console.warn("X-XSS-Protection does not take options. Remove the property to silence this warning.");
|
|
523
|
+
result.push(xXssProtection());
|
|
524
|
+
break;
|
|
525
|
+
}
|
|
526
|
+
return result;
|
|
527
|
+
}
|
|
528
|
+
var helmet = Object.assign(
|
|
529
|
+
function helmet2(options = {}) {
|
|
530
|
+
if (options.constructor?.name === "IncomingMessage") {
|
|
531
|
+
throw new Error("It appears you have done something like `app.use(helmet)`, but it should be `app.use(helmet())`.");
|
|
532
|
+
}
|
|
533
|
+
const middlewareFunctions = getMiddlewareFunctionsFromOptions(options);
|
|
534
|
+
return function helmetMiddleware(req, res, next) {
|
|
535
|
+
let middlewareIndex = 0;
|
|
536
|
+
(function internalNext(err) {
|
|
537
|
+
if (err) {
|
|
538
|
+
next(err);
|
|
539
|
+
return;
|
|
540
|
+
}
|
|
541
|
+
const middlewareFunction = middlewareFunctions[middlewareIndex];
|
|
542
|
+
if (middlewareFunction) {
|
|
543
|
+
middlewareIndex++;
|
|
544
|
+
middlewareFunction(req, res, internalNext);
|
|
545
|
+
} else {
|
|
546
|
+
next();
|
|
547
|
+
}
|
|
548
|
+
})();
|
|
549
|
+
};
|
|
550
|
+
},
|
|
551
|
+
{
|
|
552
|
+
contentSecurityPolicy,
|
|
553
|
+
crossOriginEmbedderPolicy,
|
|
554
|
+
crossOriginOpenerPolicy,
|
|
555
|
+
crossOriginResourcePolicy,
|
|
556
|
+
originAgentCluster,
|
|
557
|
+
referrerPolicy,
|
|
558
|
+
strictTransportSecurity,
|
|
559
|
+
xContentTypeOptions,
|
|
560
|
+
xDnsPrefetchControl,
|
|
561
|
+
xDownloadOptions,
|
|
562
|
+
xFrameOptions,
|
|
563
|
+
xPermittedCrossDomainPolicies,
|
|
564
|
+
xPoweredBy,
|
|
565
|
+
xXssProtection,
|
|
566
|
+
// Legacy aliases
|
|
567
|
+
dnsPrefetchControl: xDnsPrefetchControl,
|
|
568
|
+
xssFilter: xXssProtection,
|
|
569
|
+
permittedCrossDomainPolicies: xPermittedCrossDomainPolicies,
|
|
570
|
+
ieNoOpen: xDownloadOptions,
|
|
571
|
+
noSniff: xContentTypeOptions,
|
|
572
|
+
frameguard: xFrameOptions,
|
|
573
|
+
hidePoweredBy: xPoweredBy,
|
|
574
|
+
hsts: strictTransportSecurity
|
|
575
|
+
}
|
|
576
|
+
);
|
|
577
|
+
|
|
578
|
+
// src/index.ts
|
|
579
|
+
import { StatusCodes } from "http-status-codes";
|
|
580
|
+
var AINAgent = class {
|
|
581
|
+
/** Express application instance */
|
|
582
|
+
app;
|
|
583
|
+
/** Agent manifest containing metadata and configuration */
|
|
584
|
+
manifest;
|
|
585
|
+
/** Modules */
|
|
586
|
+
modelModule;
|
|
587
|
+
a2aModule;
|
|
588
|
+
mcpModule;
|
|
589
|
+
memoryModule;
|
|
590
|
+
/** Optional authentication scheme for securing endpoints */
|
|
591
|
+
authScheme;
|
|
592
|
+
/**
|
|
593
|
+
* Creates a new AINAgent instance.
|
|
594
|
+
*
|
|
595
|
+
* @param manifest - Agent manifest containing name, description, version, and optional URL
|
|
596
|
+
* @param modules - Required and optional modules for the agent
|
|
597
|
+
* @param modules.modelModule - Required module for AI model integrations
|
|
598
|
+
* @param modules.a2aModule - Optional module for A2A protocol support
|
|
599
|
+
* @param modules.mcpModule - Optional module for MCP server connections
|
|
600
|
+
* @param modules.memoryModule - Optional module for memory management
|
|
601
|
+
* @param modules.folModule - Optional module for fol management
|
|
602
|
+
* @param authScheme - Optional authentication middleware for securing endpoints
|
|
603
|
+
*/
|
|
604
|
+
constructor(manifest, modules, authScheme) {
|
|
605
|
+
this.app = express();
|
|
606
|
+
this.manifest = manifest;
|
|
607
|
+
this.modelModule = modules.modelModule;
|
|
608
|
+
this.a2aModule = modules.a2aModule;
|
|
609
|
+
this.mcpModule = modules.mcpModule;
|
|
610
|
+
this.memoryModule = modules.memoryModule;
|
|
611
|
+
this.authScheme = authScheme;
|
|
612
|
+
this.initializeMiddlewares();
|
|
613
|
+
this.initializeRoutes();
|
|
614
|
+
this.app.use(errorMiddleware);
|
|
615
|
+
}
|
|
616
|
+
/**
|
|
617
|
+
* Initializes Express middlewares for security, CORS, and body parsing.
|
|
618
|
+
* Also applies authentication middleware if configured.
|
|
619
|
+
*/
|
|
620
|
+
initializeMiddlewares() {
|
|
621
|
+
this.app.use(helmet());
|
|
622
|
+
this.app.use(cors());
|
|
623
|
+
this.app.use(express.json());
|
|
624
|
+
this.app.use(express.urlencoded({ extended: true }));
|
|
625
|
+
if (this.authScheme) {
|
|
626
|
+
const auth = new AuthMiddleware(this.authScheme);
|
|
627
|
+
this.app.use(auth.middleware);
|
|
628
|
+
}
|
|
629
|
+
}
|
|
630
|
+
/**
|
|
631
|
+
* Validates if a string is a valid HTTP or HTTPS URL.
|
|
632
|
+
*
|
|
633
|
+
* @param urlString - The URL string to validate
|
|
634
|
+
* @returns true if the URL is valid HTTP/HTTPS, false otherwise
|
|
635
|
+
*/
|
|
636
|
+
isValidUrl(urlString) {
|
|
637
|
+
if (!urlString) {
|
|
638
|
+
return false;
|
|
639
|
+
}
|
|
640
|
+
try {
|
|
641
|
+
const url = new URL(urlString);
|
|
642
|
+
return url.protocol === "http:" || url.protocol === "https:";
|
|
643
|
+
} catch (_error) {
|
|
644
|
+
return false;
|
|
645
|
+
}
|
|
646
|
+
}
|
|
647
|
+
/**
|
|
648
|
+
* Generates an A2A protocol agent card for discovery.
|
|
649
|
+
*
|
|
650
|
+
* The agent card contains metadata about the agent's capabilities,
|
|
651
|
+
* supported input/output modes, and connection information.
|
|
652
|
+
*
|
|
653
|
+
* @returns AgentCard object with agent metadata and capabilities
|
|
654
|
+
* @throws Error if manifest URL is invalid or missing
|
|
655
|
+
*/
|
|
656
|
+
generateAgentCard = () => {
|
|
657
|
+
const _url = new URL(this.manifest.url || "");
|
|
658
|
+
_url.pathname = "a2a";
|
|
659
|
+
return {
|
|
660
|
+
name: this.manifest.name,
|
|
661
|
+
description: this.manifest.description,
|
|
662
|
+
version: this.manifest.version,
|
|
663
|
+
url: _url.toString(),
|
|
664
|
+
capabilities: {
|
|
665
|
+
streaming: true,
|
|
666
|
+
// The new framework supports streaming
|
|
667
|
+
pushNotifications: false,
|
|
668
|
+
// Assuming not implemented for this agent yet
|
|
669
|
+
stateTransitionHistory: true
|
|
670
|
+
// Agent uses history
|
|
671
|
+
},
|
|
672
|
+
defaultInputModes: ["text"],
|
|
673
|
+
defaultOutputModes: ["text", "task-status"],
|
|
674
|
+
// task-status is a common output mode
|
|
675
|
+
skills: [],
|
|
676
|
+
supportsAuthenticatedExtendedCard: false
|
|
677
|
+
};
|
|
678
|
+
};
|
|
679
|
+
/**
|
|
680
|
+
* Initializes all HTTP routes including health check, agent discovery,
|
|
681
|
+
* query endpoints, and optional A2A endpoints.
|
|
682
|
+
*
|
|
683
|
+
* Routes initialized:
|
|
684
|
+
* - GET / - Health check endpoint
|
|
685
|
+
* - GET /.well-known/agent.json - Agent card discovery endpoint
|
|
686
|
+
* - /query/* - Query processing endpoints
|
|
687
|
+
* - /a2a/* - A2A protocol endpoints (only if valid URL is configured)
|
|
688
|
+
*/
|
|
689
|
+
initializeRoutes = () => {
|
|
690
|
+
this.app.get("/", async (_, res) => {
|
|
691
|
+
const { name, description, version } = this.manifest;
|
|
692
|
+
res.status(200).send(
|
|
693
|
+
`
|
|
694
|
+
\u26A1 AIN Agent: ${name} v${version}<br/>
|
|
695
|
+
${description}<br/><br/>
|
|
696
|
+
Agent status: Online and ready.
|
|
697
|
+
`.trim()
|
|
698
|
+
);
|
|
699
|
+
});
|
|
700
|
+
this.app.get("/.well-known/agent.json", async (_, res) => {
|
|
701
|
+
try {
|
|
702
|
+
const card = this.generateAgentCard();
|
|
703
|
+
res.json(card);
|
|
704
|
+
} catch (_error) {
|
|
705
|
+
res.status(StatusCodes.NOT_FOUND).send("No agent card");
|
|
706
|
+
}
|
|
707
|
+
});
|
|
708
|
+
this.app.use(createQueryRouter(this));
|
|
709
|
+
this.app.use(createApiRouter(this));
|
|
710
|
+
if (this.isValidUrl(this.manifest.url)) {
|
|
711
|
+
this.app.use(createA2ARouter(this));
|
|
712
|
+
}
|
|
713
|
+
};
|
|
714
|
+
/**
|
|
715
|
+
* Starts the Express server on the specified port.
|
|
716
|
+
*
|
|
717
|
+
* @param port - The port number to listen on
|
|
718
|
+
*/
|
|
719
|
+
start(port) {
|
|
720
|
+
this.app.listen(port, () => {
|
|
721
|
+
loggers.agent.info(`AINAgent is running on port ${port}`);
|
|
722
|
+
});
|
|
723
|
+
}
|
|
724
|
+
};
|
|
725
|
+
export {
|
|
726
|
+
AINAgent
|
|
727
|
+
};
|
|
728
|
+
//# sourceMappingURL=index.js.map
|