@ainetwork/adk 0.0.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 +299 -0
- package/dist/cjs/ainagent.d.ts +15 -0
- package/dist/cjs/ainagent.d.ts.map +1 -0
- package/dist/cjs/ainagent.js +68 -0
- package/dist/cjs/ainagent.js.map +1 -0
- package/dist/cjs/app.d.ts +102 -0
- package/dist/cjs/app.d.ts.map +1 -0
- package/dist/cjs/app.js +170 -0
- package/dist/cjs/app.js.map +1 -0
- package/dist/cjs/controllers/a2a.controller.d.ts +14 -0
- package/dist/cjs/controllers/a2a.controller.d.ts.map +1 -0
- package/dist/cjs/controllers/a2a.controller.js +98 -0
- package/dist/cjs/controllers/a2a.controller.js.map +1 -0
- package/dist/cjs/controllers/api/model.api.controller.d.ts +8 -0
- package/dist/cjs/controllers/api/model.api.controller.d.ts.map +1 -0
- package/dist/cjs/controllers/api/model.api.controller.js +19 -0
- package/dist/cjs/controllers/api/model.api.controller.js.map +1 -0
- package/dist/cjs/controllers/api/session.api.controller.d.ts +8 -0
- package/dist/cjs/controllers/api/session.api.controller.d.ts.map +1 -0
- package/dist/cjs/controllers/api/session.api.controller.js +21 -0
- package/dist/cjs/controllers/api/session.api.controller.js.map +1 -0
- package/dist/cjs/controllers/query.controller.d.ts +8 -0
- package/dist/cjs/controllers/query.controller.d.ts.map +1 -0
- package/dist/cjs/controllers/query.controller.js +20 -0
- package/dist/cjs/controllers/query.controller.js.map +1 -0
- package/dist/cjs/intent/analyzer.d.ts +24 -0
- package/dist/cjs/intent/analyzer.d.ts.map +1 -0
- package/dist/cjs/intent/analyzer.js +154 -0
- package/dist/cjs/intent/analyzer.js.map +1 -0
- package/dist/cjs/intent/modules/a2a/index.d.ts +12 -0
- package/dist/cjs/intent/modules/a2a/index.d.ts.map +1 -0
- package/dist/cjs/intent/modules/a2a/index.js +136 -0
- package/dist/cjs/intent/modules/a2a/index.js.map +1 -0
- package/dist/cjs/intent/modules/a2a/tool.d.ts +8 -0
- package/dist/cjs/intent/modules/a2a/tool.d.ts.map +1 -0
- package/dist/cjs/intent/modules/a2a/tool.js +14 -0
- package/dist/cjs/intent/modules/a2a/tool.js.map +1 -0
- package/dist/cjs/intent/modules/common/tool.d.ts +10 -0
- package/dist/cjs/intent/modules/common/tool.d.ts.map +1 -0
- package/dist/cjs/intent/modules/common/tool.js +18 -0
- package/dist/cjs/intent/modules/common/tool.js.map +1 -0
- package/dist/cjs/intent/modules/common/types.d.ts +5 -0
- package/dist/cjs/intent/modules/common/types.d.ts.map +1 -0
- package/dist/cjs/intent/modules/common/types.js +9 -0
- package/dist/cjs/intent/modules/common/types.js.map +1 -0
- package/dist/cjs/intent/modules/fol/client/folClient.d.ts +31 -0
- package/dist/cjs/intent/modules/fol/client/folClient.d.ts.map +1 -0
- package/dist/cjs/intent/modules/fol/client/folClient.js +185 -0
- package/dist/cjs/intent/modules/fol/client/folClient.js.map +1 -0
- package/dist/cjs/intent/modules/fol/index.d.ts +4 -0
- package/dist/cjs/intent/modules/fol/index.d.ts.map +1 -0
- package/dist/cjs/intent/modules/fol/index.js +14 -0
- package/dist/cjs/intent/modules/fol/index.js.map +1 -0
- package/dist/cjs/intent/modules/fol/store/base.d.ts +9 -0
- package/dist/cjs/intent/modules/fol/store/base.d.ts.map +1 -0
- package/dist/cjs/intent/modules/fol/store/base.js +7 -0
- package/dist/cjs/intent/modules/fol/store/base.js.map +1 -0
- package/dist/cjs/intent/modules/fol/store/index.d.ts +5 -0
- package/dist/cjs/intent/modules/fol/store/index.d.ts.map +1 -0
- package/dist/cjs/intent/modules/fol/store/index.js +12 -0
- package/dist/cjs/intent/modules/fol/store/index.js.map +1 -0
- package/dist/cjs/intent/modules/fol/store/local.d.ts +25 -0
- package/dist/cjs/intent/modules/fol/store/local.d.ts.map +1 -0
- package/dist/cjs/intent/modules/fol/store/local.js +221 -0
- package/dist/cjs/intent/modules/fol/store/local.js.map +1 -0
- package/dist/cjs/intent/modules/fol/store/mongo.d.ts +4 -0
- package/dist/cjs/intent/modules/fol/store/mongo.d.ts.map +1 -0
- package/dist/cjs/intent/modules/fol/store/mongo.js +9 -0
- package/dist/cjs/intent/modules/fol/store/mongo.js.map +1 -0
- package/dist/cjs/intent/modules/fol/store/postgresql.d.ts +4 -0
- package/dist/cjs/intent/modules/fol/store/postgresql.d.ts.map +1 -0
- package/dist/cjs/intent/modules/fol/store/postgresql.js +9 -0
- package/dist/cjs/intent/modules/fol/store/postgresql.js.map +1 -0
- package/dist/cjs/intent/modules/fol/types/index.d.ts +43 -0
- package/dist/cjs/intent/modules/fol/types/index.d.ts.map +1 -0
- package/dist/cjs/intent/modules/fol/types/index.js +3 -0
- package/dist/cjs/intent/modules/fol/types/index.js.map +1 -0
- package/dist/cjs/intent/modules/mcp/index.d.ts +12 -0
- package/dist/cjs/intent/modules/mcp/index.d.ts.map +1 -0
- package/dist/cjs/intent/modules/mcp/index.js +65 -0
- package/dist/cjs/intent/modules/mcp/index.js.map +1 -0
- package/dist/cjs/intent/modules/mcp/tool.d.ts +8 -0
- package/dist/cjs/intent/modules/mcp/tool.d.ts.map +1 -0
- package/dist/cjs/intent/modules/mcp/tool.js +15 -0
- package/dist/cjs/intent/modules/mcp/tool.js.map +1 -0
- package/dist/cjs/middleware/auth/base.d.ts +5 -0
- package/dist/cjs/middleware/auth/base.d.ts.map +1 -0
- package/dist/cjs/middleware/auth/base.js +13 -0
- package/dist/cjs/middleware/auth/base.js.map +1 -0
- package/dist/cjs/middlewares/auth/base.d.ts +5 -0
- package/dist/cjs/middlewares/auth/base.d.ts.map +1 -0
- package/dist/cjs/middlewares/auth/base.js +13 -0
- package/dist/cjs/middlewares/auth/base.js.map +1 -0
- package/dist/cjs/middlewares/error.middleware.d.ts +6 -0
- package/dist/cjs/middlewares/error.middleware.d.ts.map +1 -0
- package/dist/cjs/middlewares/error.middleware.js +17 -0
- package/dist/cjs/middlewares/error.middleware.js.map +1 -0
- package/dist/cjs/models/BaseModel.d.ts +25 -0
- package/dist/cjs/models/BaseModel.d.ts.map +1 -0
- package/dist/cjs/models/BaseModel.js +7 -0
- package/dist/cjs/models/BaseModel.js.map +1 -0
- package/dist/cjs/models/base.d.ts +24 -0
- package/dist/cjs/models/base.d.ts.map +1 -0
- package/dist/cjs/models/base.js +7 -0
- package/dist/cjs/models/base.js.map +1 -0
- package/dist/cjs/models/gemini.d.ts +16 -0
- package/dist/cjs/models/gemini.d.ts.map +1 -0
- package/dist/cjs/models/gemini.js +107 -0
- package/dist/cjs/models/gemini.js.map +1 -0
- package/dist/cjs/models/openai.d.ts +16 -0
- package/dist/cjs/models/openai.d.ts.map +1 -0
- package/dist/cjs/models/openai.js +113 -0
- package/dist/cjs/models/openai.js.map +1 -0
- package/dist/cjs/modules/a2a/a2a.module.d.ts +71 -0
- package/dist/cjs/modules/a2a/a2a.module.d.ts.map +1 -0
- package/dist/cjs/modules/a2a/a2a.module.js +195 -0
- package/dist/cjs/modules/a2a/a2a.module.js.map +1 -0
- package/dist/cjs/modules/a2a/a2a.tool.d.ts +13 -0
- package/dist/cjs/modules/a2a/a2a.tool.d.ts.map +1 -0
- package/dist/cjs/modules/a2a/a2a.tool.js +21 -0
- package/dist/cjs/modules/a2a/a2a.tool.js.map +1 -0
- package/dist/cjs/modules/fol/fol.module.d.ts +31 -0
- package/dist/cjs/modules/fol/fol.module.d.ts.map +1 -0
- package/dist/cjs/modules/fol/fol.module.js +180 -0
- package/dist/cjs/modules/fol/fol.module.js.map +1 -0
- package/dist/cjs/modules/fol/store/base.d.ts +9 -0
- package/dist/cjs/modules/fol/store/base.d.ts.map +1 -0
- package/dist/cjs/modules/fol/store/base.js +7 -0
- package/dist/cjs/modules/fol/store/base.js.map +1 -0
- package/dist/cjs/modules/fol/store/index.d.ts +3 -0
- package/dist/cjs/modules/fol/store/index.d.ts.map +1 -0
- package/dist/cjs/modules/fol/store/index.js +8 -0
- package/dist/cjs/modules/fol/store/index.js.map +1 -0
- package/dist/cjs/modules/fol/store/local.d.ts +25 -0
- package/dist/cjs/modules/fol/store/local.d.ts.map +1 -0
- package/dist/cjs/modules/fol/store/local.js +221 -0
- package/dist/cjs/modules/fol/store/local.js.map +1 -0
- package/dist/cjs/modules/index.d.ts +6 -0
- package/dist/cjs/modules/index.d.ts.map +1 -0
- package/dist/cjs/modules/index.js +14 -0
- package/dist/cjs/modules/index.js.map +1 -0
- package/dist/cjs/modules/mcp/mcp.module.d.ts +65 -0
- package/dist/cjs/modules/mcp/mcp.module.d.ts.map +1 -0
- package/dist/cjs/modules/mcp/mcp.module.js +118 -0
- package/dist/cjs/modules/mcp/mcp.module.js.map +1 -0
- package/dist/cjs/modules/mcp/mcp.tool.d.ts +13 -0
- package/dist/cjs/modules/mcp/mcp.tool.d.ts.map +1 -0
- package/dist/cjs/modules/mcp/mcp.tool.js +22 -0
- package/dist/cjs/modules/mcp/mcp.tool.js.map +1 -0
- package/dist/cjs/modules/memory/inmemory.d.ts +14 -0
- package/dist/cjs/modules/memory/inmemory.d.ts.map +1 -0
- package/dist/cjs/modules/memory/inmemory.js +27 -0
- package/dist/cjs/modules/memory/inmemory.js.map +1 -0
- package/dist/cjs/modules/memory/memory.module.d.ts +65 -0
- package/dist/cjs/modules/memory/memory.module.d.ts.map +1 -0
- package/dist/cjs/modules/memory/memory.module.js +50 -0
- package/dist/cjs/modules/memory/memory.module.js.map +1 -0
- package/dist/cjs/modules/models/gemini.d.ts +16 -0
- package/dist/cjs/modules/models/gemini.d.ts.map +1 -0
- package/dist/cjs/modules/models/gemini.js +108 -0
- package/dist/cjs/modules/models/gemini.js.map +1 -0
- package/dist/cjs/modules/models/model.module.d.ts +102 -0
- package/dist/cjs/modules/models/model.module.d.ts.map +1 -0
- package/dist/cjs/modules/models/model.module.js +80 -0
- package/dist/cjs/modules/models/model.module.js.map +1 -0
- package/dist/cjs/modules/models/openai.d.ts +16 -0
- package/dist/cjs/modules/models/openai.d.ts.map +1 -0
- package/dist/cjs/modules/models/openai.js +114 -0
- package/dist/cjs/modules/models/openai.js.map +1 -0
- package/dist/cjs/package.json +1 -0
- package/dist/cjs/router/a2a/executor.d.ts +11 -0
- package/dist/cjs/router/a2a/executor.d.ts.map +1 -0
- package/dist/cjs/router/a2a/executor.js +96 -0
- package/dist/cjs/router/a2a/executor.js.map +1 -0
- package/dist/cjs/router/a2a/requestHandler.d.ts +9 -0
- package/dist/cjs/router/a2a/requestHandler.d.ts.map +1 -0
- package/dist/cjs/router/a2a/requestHandler.js +20 -0
- package/dist/cjs/router/a2a/requestHandler.js.map +1 -0
- package/dist/cjs/router/a2a/router.d.ts +12 -0
- package/dist/cjs/router/a2a/router.d.ts.map +1 -0
- package/dist/cjs/router/a2a/router.js +99 -0
- package/dist/cjs/router/a2a/router.js.map +1 -0
- package/dist/cjs/routes/a2a.routes.d.ts +12 -0
- package/dist/cjs/routes/a2a.routes.d.ts.map +1 -0
- package/dist/cjs/routes/a2a.routes.js +29 -0
- package/dist/cjs/routes/a2a.routes.js.map +1 -0
- package/dist/cjs/routes/api/models.routes.d.ts +4 -0
- package/dist/cjs/routes/api/models.routes.d.ts.map +1 -0
- package/dist/cjs/routes/api/models.routes.js +14 -0
- package/dist/cjs/routes/api/models.routes.js.map +1 -0
- package/dist/cjs/routes/api/sessions.routes.d.ts +4 -0
- package/dist/cjs/routes/api/sessions.routes.d.ts.map +1 -0
- package/dist/cjs/routes/api/sessions.routes.js +14 -0
- package/dist/cjs/routes/api/sessions.routes.js.map +1 -0
- package/dist/cjs/routes/api.routes.d.ts +4 -0
- package/dist/cjs/routes/api.routes.d.ts.map +1 -0
- package/dist/cjs/routes/api.routes.js +16 -0
- package/dist/cjs/routes/api.routes.js.map +1 -0
- package/dist/cjs/routes/index.d.ts +5 -0
- package/dist/cjs/routes/index.d.ts.map +1 -0
- package/dist/cjs/routes/index.js +10 -0
- package/dist/cjs/routes/index.js.map +1 -0
- package/dist/cjs/routes/query.routes.d.ts +4 -0
- package/dist/cjs/routes/query.routes.d.ts.map +1 -0
- package/dist/cjs/routes/query.routes.js +15 -0
- package/dist/cjs/routes/query.routes.js.map +1 -0
- package/dist/cjs/services/a2a.service.d.ts +15 -0
- package/dist/cjs/services/a2a.service.d.ts.map +1 -0
- package/dist/cjs/services/a2a.service.js +93 -0
- package/dist/cjs/services/a2a.service.js.map +1 -0
- package/dist/cjs/services/query.service.d.ts +57 -0
- package/dist/cjs/services/query.service.d.ts.map +1 -0
- package/dist/cjs/services/query.service.js +158 -0
- package/dist/cjs/services/query.service.js.map +1 -0
- package/dist/cjs/session/BaseSession.d.ts +21 -0
- package/dist/cjs/session/BaseSession.d.ts.map +1 -0
- package/dist/cjs/session/BaseSession.js +13 -0
- package/dist/cjs/session/BaseSession.js.map +1 -0
- package/dist/cjs/types/fol.d.ts +38 -0
- package/dist/cjs/types/fol.d.ts.map +1 -0
- package/dist/cjs/types/fol.js +3 -0
- package/dist/cjs/types/fol.js.map +1 -0
- package/dist/cjs/types/index.d.ts +44 -0
- package/dist/cjs/types/index.d.ts.map +1 -0
- package/dist/cjs/types/index.js +3 -0
- package/dist/cjs/types/index.js.map +1 -0
- package/dist/cjs/types/mcp.d.ts +5 -0
- package/dist/cjs/types/mcp.d.ts.map +1 -0
- package/dist/cjs/types/mcp.js +3 -0
- package/dist/cjs/types/mcp.js.map +1 -0
- package/dist/cjs/types/memory.d.ts +73 -0
- package/dist/cjs/types/memory.d.ts.map +1 -0
- package/dist/cjs/types/memory.js +16 -0
- package/dist/cjs/types/memory.js.map +1 -0
- package/dist/cjs/types/tool.d.ts +87 -0
- package/dist/cjs/types/tool.d.ts.map +1 -0
- package/dist/cjs/types/tool.js +14 -0
- package/dist/cjs/types/tool.js.map +1 -0
- package/dist/cjs/utils/logger.d.ts +13 -0
- package/dist/cjs/utils/logger.d.ts.map +1 -0
- package/dist/cjs/utils/logger.js +39 -0
- package/dist/cjs/utils/logger.js.map +1 -0
- package/dist/esm/ainagent.d.ts +15 -0
- package/dist/esm/ainagent.d.ts.map +1 -0
- package/dist/esm/ainagent.js +61 -0
- package/dist/esm/ainagent.js.map +1 -0
- package/dist/esm/app.d.ts +102 -0
- package/dist/esm/app.d.ts.map +1 -0
- package/dist/esm/app.js +163 -0
- package/dist/esm/app.js.map +1 -0
- package/dist/esm/controllers/a2a.controller.d.ts +14 -0
- package/dist/esm/controllers/a2a.controller.d.ts.map +1 -0
- package/dist/esm/controllers/a2a.controller.js +94 -0
- package/dist/esm/controllers/a2a.controller.js.map +1 -0
- package/dist/esm/controllers/api/model.api.controller.d.ts +8 -0
- package/dist/esm/controllers/api/model.api.controller.d.ts.map +1 -0
- package/dist/esm/controllers/api/model.api.controller.js +15 -0
- package/dist/esm/controllers/api/model.api.controller.js.map +1 -0
- package/dist/esm/controllers/api/session.api.controller.d.ts +8 -0
- package/dist/esm/controllers/api/session.api.controller.d.ts.map +1 -0
- package/dist/esm/controllers/api/session.api.controller.js +17 -0
- package/dist/esm/controllers/api/session.api.controller.js.map +1 -0
- package/dist/esm/controllers/query.controller.d.ts +8 -0
- package/dist/esm/controllers/query.controller.d.ts.map +1 -0
- package/dist/esm/controllers/query.controller.js +16 -0
- package/dist/esm/controllers/query.controller.js.map +1 -0
- package/dist/esm/intent/analyzer.d.ts +24 -0
- package/dist/esm/intent/analyzer.d.ts.map +1 -0
- package/dist/esm/intent/analyzer.js +150 -0
- package/dist/esm/intent/analyzer.js.map +1 -0
- package/dist/esm/intent/modules/a2a/index.d.ts +12 -0
- package/dist/esm/intent/modules/a2a/index.d.ts.map +1 -0
- package/dist/esm/intent/modules/a2a/index.js +132 -0
- package/dist/esm/intent/modules/a2a/index.js.map +1 -0
- package/dist/esm/intent/modules/a2a/tool.d.ts +8 -0
- package/dist/esm/intent/modules/a2a/tool.d.ts.map +1 -0
- package/dist/esm/intent/modules/a2a/tool.js +10 -0
- package/dist/esm/intent/modules/a2a/tool.js.map +1 -0
- package/dist/esm/intent/modules/common/tool.d.ts +10 -0
- package/dist/esm/intent/modules/common/tool.d.ts.map +1 -0
- package/dist/esm/intent/modules/common/tool.js +14 -0
- package/dist/esm/intent/modules/common/tool.js.map +1 -0
- package/dist/esm/intent/modules/common/types.d.ts +5 -0
- package/dist/esm/intent/modules/common/types.d.ts.map +1 -0
- package/dist/esm/intent/modules/common/types.js +6 -0
- package/dist/esm/intent/modules/common/types.js.map +1 -0
- package/dist/esm/intent/modules/fol/client/folClient.d.ts +31 -0
- package/dist/esm/intent/modules/fol/client/folClient.d.ts.map +1 -0
- package/dist/esm/intent/modules/fol/client/folClient.js +178 -0
- package/dist/esm/intent/modules/fol/client/folClient.js.map +1 -0
- package/dist/esm/intent/modules/fol/index.d.ts +4 -0
- package/dist/esm/intent/modules/fol/index.d.ts.map +1 -0
- package/dist/esm/intent/modules/fol/index.js +6 -0
- package/dist/esm/intent/modules/fol/index.js.map +1 -0
- package/dist/esm/intent/modules/fol/store/base.d.ts +9 -0
- package/dist/esm/intent/modules/fol/store/base.d.ts.map +1 -0
- package/dist/esm/intent/modules/fol/store/base.js +3 -0
- package/dist/esm/intent/modules/fol/store/base.js.map +1 -0
- package/dist/esm/intent/modules/fol/store/index.d.ts +5 -0
- package/dist/esm/intent/modules/fol/store/index.d.ts.map +1 -0
- package/dist/esm/intent/modules/fol/store/index.js +5 -0
- package/dist/esm/intent/modules/fol/store/index.js.map +1 -0
- package/dist/esm/intent/modules/fol/store/local.d.ts +25 -0
- package/dist/esm/intent/modules/fol/store/local.d.ts.map +1 -0
- package/dist/esm/intent/modules/fol/store/local.js +214 -0
- package/dist/esm/intent/modules/fol/store/local.js.map +1 -0
- package/dist/esm/intent/modules/fol/store/mongo.d.ts +4 -0
- package/dist/esm/intent/modules/fol/store/mongo.d.ts.map +1 -0
- package/dist/esm/intent/modules/fol/store/mongo.js +5 -0
- package/dist/esm/intent/modules/fol/store/mongo.js.map +1 -0
- package/dist/esm/intent/modules/fol/store/postgresql.d.ts +4 -0
- package/dist/esm/intent/modules/fol/store/postgresql.d.ts.map +1 -0
- package/dist/esm/intent/modules/fol/store/postgresql.js +5 -0
- package/dist/esm/intent/modules/fol/store/postgresql.js.map +1 -0
- package/dist/esm/intent/modules/fol/types/index.d.ts +43 -0
- package/dist/esm/intent/modules/fol/types/index.d.ts.map +1 -0
- package/dist/esm/intent/modules/fol/types/index.js +2 -0
- package/dist/esm/intent/modules/fol/types/index.js.map +1 -0
- package/dist/esm/intent/modules/mcp/index.d.ts +12 -0
- package/dist/esm/intent/modules/mcp/index.d.ts.map +1 -0
- package/dist/esm/intent/modules/mcp/index.js +61 -0
- package/dist/esm/intent/modules/mcp/index.js.map +1 -0
- package/dist/esm/intent/modules/mcp/tool.d.ts +8 -0
- package/dist/esm/intent/modules/mcp/tool.d.ts.map +1 -0
- package/dist/esm/intent/modules/mcp/tool.js +11 -0
- package/dist/esm/intent/modules/mcp/tool.js.map +1 -0
- package/dist/esm/middleware/auth/base.d.ts +5 -0
- package/dist/esm/middleware/auth/base.d.ts.map +1 -0
- package/dist/esm/middleware/auth/base.js +9 -0
- package/dist/esm/middleware/auth/base.js.map +1 -0
- package/dist/esm/middlewares/auth/base.d.ts +5 -0
- package/dist/esm/middlewares/auth/base.d.ts.map +1 -0
- package/dist/esm/middlewares/auth/base.js +9 -0
- package/dist/esm/middlewares/auth/base.js.map +1 -0
- package/dist/esm/middlewares/error.middleware.d.ts +6 -0
- package/dist/esm/middlewares/error.middleware.d.ts.map +1 -0
- package/dist/esm/middlewares/error.middleware.js +13 -0
- package/dist/esm/middlewares/error.middleware.js.map +1 -0
- package/dist/esm/models/BaseModel.d.ts +25 -0
- package/dist/esm/models/BaseModel.d.ts.map +1 -0
- package/dist/esm/models/BaseModel.js +3 -0
- package/dist/esm/models/BaseModel.js.map +1 -0
- package/dist/esm/models/base.d.ts +24 -0
- package/dist/esm/models/base.d.ts.map +1 -0
- package/dist/esm/models/base.js +3 -0
- package/dist/esm/models/base.js.map +1 -0
- package/dist/esm/models/gemini.d.ts +16 -0
- package/dist/esm/models/gemini.d.ts.map +1 -0
- package/dist/esm/models/gemini.js +104 -0
- package/dist/esm/models/gemini.js.map +1 -0
- package/dist/esm/models/openai.d.ts +16 -0
- package/dist/esm/models/openai.d.ts.map +1 -0
- package/dist/esm/models/openai.js +110 -0
- package/dist/esm/models/openai.js.map +1 -0
- package/dist/esm/modules/a2a/a2a.module.d.ts +71 -0
- package/dist/esm/modules/a2a/a2a.module.d.ts.map +1 -0
- package/dist/esm/modules/a2a/a2a.module.js +191 -0
- package/dist/esm/modules/a2a/a2a.module.js.map +1 -0
- package/dist/esm/modules/a2a/a2a.tool.d.ts +13 -0
- package/dist/esm/modules/a2a/a2a.tool.d.ts.map +1 -0
- package/dist/esm/modules/a2a/a2a.tool.js +17 -0
- package/dist/esm/modules/a2a/a2a.tool.js.map +1 -0
- package/dist/esm/modules/fol/fol.module.d.ts +31 -0
- package/dist/esm/modules/fol/fol.module.d.ts.map +1 -0
- package/dist/esm/modules/fol/fol.module.js +176 -0
- package/dist/esm/modules/fol/fol.module.js.map +1 -0
- package/dist/esm/modules/fol/store/base.d.ts +9 -0
- package/dist/esm/modules/fol/store/base.d.ts.map +1 -0
- package/dist/esm/modules/fol/store/base.js +3 -0
- package/dist/esm/modules/fol/store/base.js.map +1 -0
- package/dist/esm/modules/fol/store/index.d.ts +3 -0
- package/dist/esm/modules/fol/store/index.d.ts.map +1 -0
- package/dist/esm/modules/fol/store/index.js +3 -0
- package/dist/esm/modules/fol/store/index.js.map +1 -0
- package/dist/esm/modules/fol/store/local.d.ts +25 -0
- package/dist/esm/modules/fol/store/local.d.ts.map +1 -0
- package/dist/esm/modules/fol/store/local.js +214 -0
- package/dist/esm/modules/fol/store/local.js.map +1 -0
- package/dist/esm/modules/index.d.ts +6 -0
- package/dist/esm/modules/index.d.ts.map +1 -0
- package/dist/esm/modules/index.js +6 -0
- package/dist/esm/modules/index.js.map +1 -0
- package/dist/esm/modules/mcp/mcp.module.d.ts +65 -0
- package/dist/esm/modules/mcp/mcp.module.d.ts.map +1 -0
- package/dist/esm/modules/mcp/mcp.module.js +114 -0
- package/dist/esm/modules/mcp/mcp.module.js.map +1 -0
- package/dist/esm/modules/mcp/mcp.tool.d.ts +13 -0
- package/dist/esm/modules/mcp/mcp.tool.d.ts.map +1 -0
- package/dist/esm/modules/mcp/mcp.tool.js +18 -0
- package/dist/esm/modules/mcp/mcp.tool.js.map +1 -0
- package/dist/esm/modules/memory/inmemory.d.ts +14 -0
- package/dist/esm/modules/memory/inmemory.d.ts.map +1 -0
- package/dist/esm/modules/memory/inmemory.js +23 -0
- package/dist/esm/modules/memory/inmemory.js.map +1 -0
- package/dist/esm/modules/memory/memory.module.d.ts +65 -0
- package/dist/esm/modules/memory/memory.module.d.ts.map +1 -0
- package/dist/esm/modules/memory/memory.module.js +45 -0
- package/dist/esm/modules/memory/memory.module.js.map +1 -0
- package/dist/esm/modules/models/gemini.d.ts +16 -0
- package/dist/esm/modules/models/gemini.d.ts.map +1 -0
- package/dist/esm/modules/models/gemini.js +104 -0
- package/dist/esm/modules/models/gemini.js.map +1 -0
- package/dist/esm/modules/models/model.module.d.ts +102 -0
- package/dist/esm/modules/models/model.module.d.ts.map +1 -0
- package/dist/esm/modules/models/model.module.js +75 -0
- package/dist/esm/modules/models/model.module.js.map +1 -0
- package/dist/esm/modules/models/openai.d.ts +16 -0
- package/dist/esm/modules/models/openai.d.ts.map +1 -0
- package/dist/esm/modules/models/openai.js +110 -0
- package/dist/esm/modules/models/openai.js.map +1 -0
- package/dist/esm/package.json +1 -0
- package/dist/esm/router/a2a/executor.d.ts +11 -0
- package/dist/esm/router/a2a/executor.d.ts.map +1 -0
- package/dist/esm/router/a2a/executor.js +92 -0
- package/dist/esm/router/a2a/executor.js.map +1 -0
- package/dist/esm/router/a2a/requestHandler.d.ts +9 -0
- package/dist/esm/router/a2a/requestHandler.d.ts.map +1 -0
- package/dist/esm/router/a2a/requestHandler.js +16 -0
- package/dist/esm/router/a2a/requestHandler.js.map +1 -0
- package/dist/esm/router/a2a/router.d.ts +12 -0
- package/dist/esm/router/a2a/router.d.ts.map +1 -0
- package/dist/esm/router/a2a/router.js +95 -0
- package/dist/esm/router/a2a/router.js.map +1 -0
- package/dist/esm/routes/a2a.routes.d.ts +12 -0
- package/dist/esm/routes/a2a.routes.d.ts.map +1 -0
- package/dist/esm/routes/a2a.routes.js +25 -0
- package/dist/esm/routes/a2a.routes.js.map +1 -0
- package/dist/esm/routes/api/models.routes.d.ts +4 -0
- package/dist/esm/routes/api/models.routes.d.ts.map +1 -0
- package/dist/esm/routes/api/models.routes.js +10 -0
- package/dist/esm/routes/api/models.routes.js.map +1 -0
- package/dist/esm/routes/api/sessions.routes.d.ts +4 -0
- package/dist/esm/routes/api/sessions.routes.d.ts.map +1 -0
- package/dist/esm/routes/api/sessions.routes.js +10 -0
- package/dist/esm/routes/api/sessions.routes.js.map +1 -0
- package/dist/esm/routes/api.routes.d.ts +4 -0
- package/dist/esm/routes/api.routes.d.ts.map +1 -0
- package/dist/esm/routes/api.routes.js +12 -0
- package/dist/esm/routes/api.routes.js.map +1 -0
- package/dist/esm/routes/index.d.ts +5 -0
- package/dist/esm/routes/index.d.ts.map +1 -0
- package/dist/esm/routes/index.js +5 -0
- package/dist/esm/routes/index.js.map +1 -0
- package/dist/esm/routes/query.routes.d.ts +4 -0
- package/dist/esm/routes/query.routes.d.ts.map +1 -0
- package/dist/esm/routes/query.routes.js +11 -0
- package/dist/esm/routes/query.routes.js.map +1 -0
- package/dist/esm/services/a2a.service.d.ts +15 -0
- package/dist/esm/services/a2a.service.d.ts.map +1 -0
- package/dist/esm/services/a2a.service.js +89 -0
- package/dist/esm/services/a2a.service.js.map +1 -0
- package/dist/esm/services/query.service.d.ts +57 -0
- package/dist/esm/services/query.service.d.ts.map +1 -0
- package/dist/esm/services/query.service.js +154 -0
- package/dist/esm/services/query.service.js.map +1 -0
- package/dist/esm/session/BaseSession.d.ts +21 -0
- package/dist/esm/session/BaseSession.d.ts.map +1 -0
- package/dist/esm/session/BaseSession.js +9 -0
- package/dist/esm/session/BaseSession.js.map +1 -0
- package/dist/esm/types/fol.d.ts +38 -0
- package/dist/esm/types/fol.d.ts.map +1 -0
- package/dist/esm/types/fol.js +2 -0
- package/dist/esm/types/fol.js.map +1 -0
- package/dist/esm/types/index.d.ts +44 -0
- package/dist/esm/types/index.d.ts.map +1 -0
- package/dist/esm/types/index.js +2 -0
- package/dist/esm/types/index.js.map +1 -0
- package/dist/esm/types/mcp.d.ts +5 -0
- package/dist/esm/types/mcp.d.ts.map +1 -0
- package/dist/esm/types/mcp.js +2 -0
- package/dist/esm/types/mcp.js.map +1 -0
- package/dist/esm/types/memory.d.ts +73 -0
- package/dist/esm/types/memory.d.ts.map +1 -0
- package/dist/esm/types/memory.js +13 -0
- package/dist/esm/types/memory.js.map +1 -0
- package/dist/esm/types/tool.d.ts +87 -0
- package/dist/esm/types/tool.d.ts.map +1 -0
- package/dist/esm/types/tool.js +11 -0
- package/dist/esm/types/tool.js.map +1 -0
- package/dist/esm/utils/logger.d.ts +13 -0
- package/dist/esm/utils/logger.d.ts.map +1 -0
- package/dist/esm/utils/logger.js +32 -0
- package/dist/esm/utils/logger.js.map +1 -0
- package/package.json +63 -0
package/README.md
ADDED
|
@@ -0,0 +1,299 @@
|
|
|
1
|
+
# AI Network Agent Development Kit (AIN-ADK)
|
|
2
|
+
|
|
3
|
+
A TypeScript library for building AI agents with multi-protocol support including MCP (Model Context Protocol) and A2A (Agent-to-Agent) communication.
|
|
4
|
+
|
|
5
|
+
# NOTE
|
|
6
|
+
IMPORTANT: This project is currently under active development. Features may be incomplete, and there might be significant changes in future updates. Please be aware that some functionalities may not work as expected or might change without prior notice.
|
|
7
|
+
|
|
8
|
+
# Features
|
|
9
|
+
|
|
10
|
+
- **Multi-Protocol Support**: Integrate with MCP servers and A2A agents
|
|
11
|
+
- **Modular Architecture**: Flexible module system for models, memory, MCP, and A2A
|
|
12
|
+
- **Multiple AI Models**: Support for OpenAI and Gemini with easy extensibility
|
|
13
|
+
- **Session Management**: Built-in memory module for conversation history
|
|
14
|
+
- **Dual Build System**: Supports both ESM and CJS formats for maximum compatibility
|
|
15
|
+
- **Structured Logging**: Winston-based logging system with service-specific loggers
|
|
16
|
+
- **TypeScript First**: Built with strict TypeScript configuration
|
|
17
|
+
|
|
18
|
+
## Installation
|
|
19
|
+
|
|
20
|
+
```bash
|
|
21
|
+
npm install @ainetwork/adk
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
## Requirements
|
|
25
|
+
|
|
26
|
+
- Node.js >= 20
|
|
27
|
+
- TypeScript >= 5.8
|
|
28
|
+
|
|
29
|
+
## Quick Start
|
|
30
|
+
|
|
31
|
+
### Basic Agent Setup
|
|
32
|
+
|
|
33
|
+
```typescript
|
|
34
|
+
import { AINAgent } from '@ainetwork/adk/app';
|
|
35
|
+
import { ModelModule, MCPModule, MemoryModule } from '@ainetwork/adk/modules';
|
|
36
|
+
import { AzureOpenAI } from '@ainetwork/adk/modules/models/openai';
|
|
37
|
+
import { InMemoryMemory } from '@ainetwork/adk/modules/memory/inmemory';
|
|
38
|
+
import { AinAgentManifest } from '@ainetwork/adk/types';
|
|
39
|
+
|
|
40
|
+
// Initialize modules
|
|
41
|
+
const modelModule = new ModelModule();
|
|
42
|
+
const model = new AzureOpenAI(
|
|
43
|
+
process.env.AZURE_OPENAI_BASE_URL!,
|
|
44
|
+
process.env.AZURE_OPENAI_API_KEY!,
|
|
45
|
+
process.env.AZURE_OPENAI_API_VERSION!,
|
|
46
|
+
process.env.AZURE_OPENAI_MODEL_NAME!
|
|
47
|
+
);
|
|
48
|
+
modelModule.addModel('azure-gpt-4o', model);
|
|
49
|
+
|
|
50
|
+
const memoryModule = new MemoryModule(new InMemoryMemory(""));
|
|
51
|
+
|
|
52
|
+
// Define agent manifest
|
|
53
|
+
const manifest: AinAgentManifest = {
|
|
54
|
+
name: "My Agent",
|
|
55
|
+
description: "An intelligent AI agent",
|
|
56
|
+
version: "0.0.1",
|
|
57
|
+
};
|
|
58
|
+
|
|
59
|
+
// Create and start agent
|
|
60
|
+
const agent = new AINAgent(manifest, { modelModule, memoryModule });
|
|
61
|
+
agent.start(3000);
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
### Adding MCP Support
|
|
65
|
+
|
|
66
|
+
```typescript
|
|
67
|
+
import { MCPModule } from '@ainetwork/adk/modules';
|
|
68
|
+
|
|
69
|
+
const mcpModule = new MCPModule();
|
|
70
|
+
|
|
71
|
+
// Add MCP server configuration
|
|
72
|
+
await mcpModule.addMCPConfig({
|
|
73
|
+
notionApi: {
|
|
74
|
+
command: 'npx',
|
|
75
|
+
args: ['-y', '@notionhq/notion-mcp-server'],
|
|
76
|
+
env: {
|
|
77
|
+
NOTION_API_KEY: process.env.NOTION_API_KEY!
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
});
|
|
81
|
+
|
|
82
|
+
// Pass to agent constructor
|
|
83
|
+
const agent = new AINAgent(manifest, { modelModule, mcpModule, memoryModule });
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
### Adding A2A Support
|
|
87
|
+
|
|
88
|
+
```typescript
|
|
89
|
+
import { A2AModule } from '@ainetwork/adk/modules';
|
|
90
|
+
|
|
91
|
+
// Define agent manifest
|
|
92
|
+
const manifest: AinAgentManifest = {
|
|
93
|
+
...,
|
|
94
|
+
url: "<AGENT_ENDPOINT_URL>" // configure manifest.url
|
|
95
|
+
};
|
|
96
|
+
|
|
97
|
+
const agent = new AINAgent(
|
|
98
|
+
manifest,
|
|
99
|
+
{ modelModule, a2aModule, memoryModule },
|
|
100
|
+
);
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
## Architecture
|
|
104
|
+
|
|
105
|
+
### Core Components
|
|
106
|
+
|
|
107
|
+
- **AINAgent** (`src/app.ts`): Main Express.js server class that orchestrates all modules
|
|
108
|
+
- **ModelModule** (`src/modules/models/`): Manages AI model integrations (OpenAI, Gemini)
|
|
109
|
+
- **MCPModule** (`src/modules/mcp/`): Handles Model Context Protocol connections
|
|
110
|
+
- **A2AModule** (`src/modules/a2a/`): Manages agent-to-agent communication
|
|
111
|
+
- **MemoryModule** (`src/modules/memory/`): Provides session and conversation history
|
|
112
|
+
|
|
113
|
+
### Module System
|
|
114
|
+
|
|
115
|
+
The library uses a flexible module architecture:
|
|
116
|
+
|
|
117
|
+
```typescript
|
|
118
|
+
interface AINAgentModules {
|
|
119
|
+
modelModule?: ModelModule;
|
|
120
|
+
mcpModule?: MCPModule;
|
|
121
|
+
a2aModule?: A2AModule;
|
|
122
|
+
memoryModule?: MemoryModule;
|
|
123
|
+
}
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
Each module can be independently configured and passed to the agent constructor.
|
|
127
|
+
|
|
128
|
+
### Protocol Support
|
|
129
|
+
|
|
130
|
+
#### MCP (Model Context Protocol)
|
|
131
|
+
- Connects to external MCP servers via stdio
|
|
132
|
+
- Automatic tool discovery and execution
|
|
133
|
+
- Supports multiple concurrent MCP servers
|
|
134
|
+
|
|
135
|
+
#### A2A (Agent-to-Agent)
|
|
136
|
+
- RESTful API for inter-agent communication
|
|
137
|
+
- Streaming response support
|
|
138
|
+
- Agent discovery via well-known endpoints
|
|
139
|
+
- Task delegation and context passing
|
|
140
|
+
|
|
141
|
+
### Key Features
|
|
142
|
+
|
|
143
|
+
- **Unified Tool Interface**: Protocol-agnostic `IAgentTool` interface
|
|
144
|
+
- **Service Layer**: Clean separation with controllers and services
|
|
145
|
+
- **Type Safety**: Comprehensive TypeScript types throughout
|
|
146
|
+
- **Error Handling**: Global error middleware with structured logging
|
|
147
|
+
- **Authentication**: Optional auth middleware support
|
|
148
|
+
|
|
149
|
+
## Development
|
|
150
|
+
|
|
151
|
+
### Scripts
|
|
152
|
+
|
|
153
|
+
```bash
|
|
154
|
+
# Build commands
|
|
155
|
+
yarn build # Build both ESM and CJS distributions
|
|
156
|
+
yarn build:esm # Build ESM format only
|
|
157
|
+
yarn build:cjs # Build CJS format only
|
|
158
|
+
|
|
159
|
+
# Development
|
|
160
|
+
yarn dev # Run TypeScript directly with tsx
|
|
161
|
+
|
|
162
|
+
# Code quality
|
|
163
|
+
yarn lint # Run linting with Biome
|
|
164
|
+
yarn format # Format code with Biome
|
|
165
|
+
yarn check # Check code with Biome
|
|
166
|
+
yarn check:write # Check and auto-fix with Biome
|
|
167
|
+
|
|
168
|
+
# Testing
|
|
169
|
+
yarn test # Run Jest tests
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
### Examples
|
|
173
|
+
|
|
174
|
+
```bash
|
|
175
|
+
# Run example applications
|
|
176
|
+
npx tsx examples/simpleAgent.ts
|
|
177
|
+
npx tsx examples/a2aClientAgent.ts
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
## Logging System
|
|
181
|
+
|
|
182
|
+
The library uses Winston for structured logging with service-specific loggers:
|
|
183
|
+
|
|
184
|
+
```typescript
|
|
185
|
+
import { getLogger } from '@ainetwork/adk/utils/logger';
|
|
186
|
+
|
|
187
|
+
// Get service-specific loggers
|
|
188
|
+
const agentLogger = getLogger('agent');
|
|
189
|
+
const mcpLogger = getLogger('mcp');
|
|
190
|
+
const a2aLogger = getLogger('a2a');
|
|
191
|
+
const modelLogger = getLogger('model');
|
|
192
|
+
|
|
193
|
+
// Usage examples
|
|
194
|
+
agentLogger.info('AINAgent started');
|
|
195
|
+
mcpLogger.debug('Connected to MCP server');
|
|
196
|
+
a2aLogger.warn('A2A connection timeout');
|
|
197
|
+
modelLogger.error('Model API error');
|
|
198
|
+
```
|
|
199
|
+
|
|
200
|
+
### Available Loggers
|
|
201
|
+
- `agent`: Main agent operations
|
|
202
|
+
- `intent`: Query processing and intent analysis
|
|
203
|
+
- `mcp`: MCP server connections and tool execution
|
|
204
|
+
- `a2a`: Agent-to-agent communication
|
|
205
|
+
- `model`: AI model interactions
|
|
206
|
+
- `server`: HTTP server operations
|
|
207
|
+
- `memory`: Session and memory management
|
|
208
|
+
|
|
209
|
+
### Log Levels
|
|
210
|
+
- `error`: Error conditions
|
|
211
|
+
- `warn`: Warning conditions
|
|
212
|
+
- `info`: Informational messages (default)
|
|
213
|
+
- `debug`: Debug-level messages
|
|
214
|
+
|
|
215
|
+
## API Endpoints
|
|
216
|
+
|
|
217
|
+
### Standard Endpoints
|
|
218
|
+
- `GET /` - Welcome message
|
|
219
|
+
- `POST /query` - Process queries
|
|
220
|
+
- Request: `{ message: string, sessionId?: string }`
|
|
221
|
+
- Response: `{ content: string }`
|
|
222
|
+
|
|
223
|
+
### A2A Server Endpoints (when `manifest.url` is configured)
|
|
224
|
+
- `GET /agent-card` - Get agent card information
|
|
225
|
+
- `GET /.well-known/agent.json` - Agent discovery endpoint
|
|
226
|
+
- `POST /a2a` - A2A communication endpoint
|
|
227
|
+
- Supports streaming responses
|
|
228
|
+
- Request: `{ message: string, stream?: boolean }`
|
|
229
|
+
|
|
230
|
+
## Build System
|
|
231
|
+
|
|
232
|
+
The project supports dual build output:
|
|
233
|
+
|
|
234
|
+
- **ESM** (`dist/esm/`): ES Module format with `{"type": "module"}`
|
|
235
|
+
- **CJS** (`dist/cjs/`): CommonJS format with `{"type": "commonjs"}`
|
|
236
|
+
|
|
237
|
+
Import paths use `@/` alias for `src/` directory.
|
|
238
|
+
|
|
239
|
+
## Models Support
|
|
240
|
+
|
|
241
|
+
### Built-in Models
|
|
242
|
+
- **OpenAI/Azure OpenAI**: Full support for GPT models
|
|
243
|
+
- **Google Gemini**: Support for Gemini models
|
|
244
|
+
|
|
245
|
+
### Custom Models
|
|
246
|
+
Extend the `BaseModel` class to add support for other AI models:
|
|
247
|
+
|
|
248
|
+
```typescript
|
|
249
|
+
import { BaseModel } from '@ainetwork/adk/modules/models/base';
|
|
250
|
+
|
|
251
|
+
class MyCustomModel extends BaseModel {
|
|
252
|
+
async generateResponse(messages: any[], tools?: any[]): Promise<any> {
|
|
253
|
+
// Implement your model logic
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
```
|
|
257
|
+
|
|
258
|
+
## Error Handling
|
|
259
|
+
|
|
260
|
+
The library includes comprehensive error handling:
|
|
261
|
+
- Global error middleware for uncaught errors
|
|
262
|
+
- Service-specific error logging
|
|
263
|
+
- Graceful handling of:
|
|
264
|
+
- MCP server connection failures
|
|
265
|
+
- A2A agent communication errors
|
|
266
|
+
- Model API failures
|
|
267
|
+
- Tool execution errors
|
|
268
|
+
- Invalid requests
|
|
269
|
+
|
|
270
|
+
All errors are logged with appropriate context for debugging.
|
|
271
|
+
|
|
272
|
+
## Authentication
|
|
273
|
+
|
|
274
|
+
The library supports optional authentication middleware:
|
|
275
|
+
|
|
276
|
+
```typescript
|
|
277
|
+
import { BaseAuth } from '@ainetwork/adk/middlewares/auth/base';
|
|
278
|
+
|
|
279
|
+
class MyAuth extends BaseAuth {
|
|
280
|
+
async authenticate(req: Request): Promise<boolean> {
|
|
281
|
+
// Implement your auth logic
|
|
282
|
+
return true;
|
|
283
|
+
}
|
|
284
|
+
}
|
|
285
|
+
|
|
286
|
+
const agent = new AINAgent(manifest, modules, false, new MyAuth());
|
|
287
|
+
```
|
|
288
|
+
|
|
289
|
+
## Contributing
|
|
290
|
+
|
|
291
|
+
1. Follow the established code conventions
|
|
292
|
+
2. Use TypeScript strict mode
|
|
293
|
+
3. Add appropriate service-specific logging
|
|
294
|
+
4. Run `yarn check:write` and `yarn test` before submitting
|
|
295
|
+
5. Maintain the modular architecture
|
|
296
|
+
|
|
297
|
+
## License
|
|
298
|
+
|
|
299
|
+
MIT
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import express from "express";
|
|
2
|
+
import type { IntentAnalyzer } from "./intent/analyzer.js";
|
|
3
|
+
import type { AINAgentInfo } from "./types/index.js";
|
|
4
|
+
export declare class AINAgent {
|
|
5
|
+
app: express.Application;
|
|
6
|
+
info: AINAgentInfo;
|
|
7
|
+
private authScheme?;
|
|
8
|
+
private sessionManager?;
|
|
9
|
+
private intentAnalyzer;
|
|
10
|
+
private a2aRouter?;
|
|
11
|
+
constructor(intentAnalyzer: IntentAnalyzer, info: AINAgentInfo, url?: string);
|
|
12
|
+
private infoToCard;
|
|
13
|
+
start(port: number): void;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=ainagent.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ainagent.d.ts","sourceRoot":"","sources":["../../src/ainagent.ts"],"names":[],"mappings":"AAEA,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAK3D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAErD,qBAAa,QAAQ;IACb,GAAG,EAAE,OAAO,CAAC,WAAW,CAAC;IACzB,IAAI,EAAE,YAAY,CAAC;IAG1B,OAAO,CAAC,UAAU,CAAC,CAAW;IAC9B,OAAO,CAAC,cAAc,CAAC,CAAc;IACrC,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,SAAS,CAAC,CAAY;gBAG7B,cAAc,EAAE,cAAc,EAC9B,IAAI,EAAE,YAAY,EAClB,GAAG,CAAC,EAAE,MAAM;IAeb,OAAO,CAAC,UAAU;IAkBX,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;CAsChC"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.AINAgent = void 0;
|
|
7
|
+
const cors_1 = __importDefault(require("cors"));
|
|
8
|
+
const express_1 = __importDefault(require("express"));
|
|
9
|
+
const logger_js_1 = require("./utils/logger.js");
|
|
10
|
+
const router_js_1 = require("./router/a2a/router.js");
|
|
11
|
+
class AINAgent {
|
|
12
|
+
constructor(intentAnalyzer, info, url) {
|
|
13
|
+
this.app = (0, express_1.default)();
|
|
14
|
+
this.app.use((0, cors_1.default)());
|
|
15
|
+
this.app.use(express_1.default.json());
|
|
16
|
+
this.intentAnalyzer = intentAnalyzer;
|
|
17
|
+
this.info = info;
|
|
18
|
+
if (url) {
|
|
19
|
+
// A2A Server enabled
|
|
20
|
+
const card = this.infoToCard(info, url);
|
|
21
|
+
this.a2aRouter = new router_js_1.A2ARouter(intentAnalyzer, card);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
infoToCard(info, url) {
|
|
25
|
+
const _url = new URL(url);
|
|
26
|
+
_url.pathname = "a2a";
|
|
27
|
+
return {
|
|
28
|
+
...info,
|
|
29
|
+
url: _url.toString(),
|
|
30
|
+
capabilities: {
|
|
31
|
+
streaming: true, // The new framework supports streaming
|
|
32
|
+
pushNotifications: false, // Assuming not implemented for this agent yet
|
|
33
|
+
stateTransitionHistory: true, // Agent uses history
|
|
34
|
+
},
|
|
35
|
+
defaultInputModes: ["text"],
|
|
36
|
+
defaultOutputModes: ["text", "task-status"], // task-status is a common output mode
|
|
37
|
+
skills: [],
|
|
38
|
+
supportsAuthenticatedExtendedCard: false,
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
start(port) {
|
|
42
|
+
if (this.authScheme) {
|
|
43
|
+
this.app.use(this.authScheme.middleware());
|
|
44
|
+
}
|
|
45
|
+
this.app.get("/", async (_req, res) => {
|
|
46
|
+
const { name, description, version } = this.info;
|
|
47
|
+
res.status(200).send(`
|
|
48
|
+
⚡ AIN Agent: ${name} v${version}<br/>
|
|
49
|
+
${description}<br/><br/>
|
|
50
|
+
Agent status: Online and ready.
|
|
51
|
+
`.trim());
|
|
52
|
+
});
|
|
53
|
+
this.app.post("/query", async (req, res) => {
|
|
54
|
+
const { message, sessionId } = req.body;
|
|
55
|
+
// load session memory
|
|
56
|
+
const sessionHistory = (await this.sessionManager?.getSessionHistory(sessionId)) || {};
|
|
57
|
+
// TODO: Handle query type
|
|
58
|
+
const response = await this.intentAnalyzer?.handleQueryWithSession(message, sessionId, sessionHistory);
|
|
59
|
+
res.json(response);
|
|
60
|
+
});
|
|
61
|
+
this.a2aRouter?.setupRoutes(this.app);
|
|
62
|
+
this.app.listen(port, () => {
|
|
63
|
+
logger_js_1.loggers.agent.info(`AINAgent is running on port ${port}`);
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
exports.AINAgent = AINAgent;
|
|
68
|
+
//# sourceMappingURL=ainagent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ainagent.js","sourceRoot":"","sources":["../../src/ainagent.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
import type { AgentCard } from "@a2a-js/sdk";
|
|
2
|
+
import express from "express";
|
|
3
|
+
import type { BaseAuth } from "./middlewares/auth/base.js";
|
|
4
|
+
import type { FOLModule } from "./modules/fol/fol.module.js";
|
|
5
|
+
import type { A2AModule, MCPModule, MemoryModule, ModelModule } from "./modules/index.js";
|
|
6
|
+
import type { AinAgentManifest } from "./types/index.js";
|
|
7
|
+
/**
|
|
8
|
+
* Main class for AI Network Agent Development Kit (AIN-ADK).
|
|
9
|
+
*
|
|
10
|
+
* AINAgent orchestrates all modules and provides an Express server for handling
|
|
11
|
+
* agent interactions through both standard query endpoints and A2A protocol endpoints.
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
* ```typescript
|
|
15
|
+
* const manifest = {
|
|
16
|
+
* name: "MyAgent",
|
|
17
|
+
* description: "An example AI agent",
|
|
18
|
+
* version: "1.0.0"
|
|
19
|
+
* };
|
|
20
|
+
*
|
|
21
|
+
* const agent = new AINAgent(manifest, {
|
|
22
|
+
* modelModule: new ModelModule(),
|
|
23
|
+
* a2aModule: new A2AModule(),
|
|
24
|
+
* mcpModule: new MCPModule()
|
|
25
|
+
* });
|
|
26
|
+
*
|
|
27
|
+
* agent.start(3000);
|
|
28
|
+
* ```
|
|
29
|
+
*/
|
|
30
|
+
export declare class AINAgent {
|
|
31
|
+
/** Express application instance */
|
|
32
|
+
app: express.Application;
|
|
33
|
+
/** Agent manifest containing metadata and configuration */
|
|
34
|
+
manifest: AinAgentManifest;
|
|
35
|
+
/** Modules */
|
|
36
|
+
modelModule: ModelModule;
|
|
37
|
+
a2aModule?: A2AModule;
|
|
38
|
+
mcpModule?: MCPModule;
|
|
39
|
+
memoryModule?: MemoryModule;
|
|
40
|
+
folModule?: FOLModule;
|
|
41
|
+
/** Optional authentication scheme for securing endpoints */
|
|
42
|
+
authScheme?: BaseAuth;
|
|
43
|
+
/**
|
|
44
|
+
* Creates a new AINAgent instance.
|
|
45
|
+
*
|
|
46
|
+
* @param manifest - Agent manifest containing name, description, version, and optional URL
|
|
47
|
+
* @param modules - Required and optional modules for the agent
|
|
48
|
+
* @param modules.modelModule - Required module for AI model integrations
|
|
49
|
+
* @param modules.a2aModule - Optional module for A2A protocol support
|
|
50
|
+
* @param modules.mcpModule - Optional module for MCP server connections
|
|
51
|
+
* @param modules.memoryModule - Optional module for memory management
|
|
52
|
+
* @param modules.folModule - Optional module for fol management
|
|
53
|
+
* @param authScheme - Optional authentication middleware for securing endpoints
|
|
54
|
+
*/
|
|
55
|
+
constructor(manifest: AinAgentManifest, modules: {
|
|
56
|
+
modelModule: ModelModule;
|
|
57
|
+
a2aModule?: A2AModule;
|
|
58
|
+
mcpModule?: MCPModule;
|
|
59
|
+
memoryModule?: MemoryModule;
|
|
60
|
+
folModule?: FOLModule;
|
|
61
|
+
}, authScheme?: BaseAuth);
|
|
62
|
+
/**
|
|
63
|
+
* Initializes Express middlewares for security, CORS, and body parsing.
|
|
64
|
+
* Also applies authentication middleware if configured.
|
|
65
|
+
*/
|
|
66
|
+
private initializeMiddlewares;
|
|
67
|
+
/**
|
|
68
|
+
* Validates if a string is a valid HTTP or HTTPS URL.
|
|
69
|
+
*
|
|
70
|
+
* @param urlString - The URL string to validate
|
|
71
|
+
* @returns true if the URL is valid HTTP/HTTPS, false otherwise
|
|
72
|
+
*/
|
|
73
|
+
private isValidUrl;
|
|
74
|
+
/**
|
|
75
|
+
* Generates an A2A protocol agent card for discovery.
|
|
76
|
+
*
|
|
77
|
+
* The agent card contains metadata about the agent's capabilities,
|
|
78
|
+
* supported input/output modes, and connection information.
|
|
79
|
+
*
|
|
80
|
+
* @returns AgentCard object with agent metadata and capabilities
|
|
81
|
+
* @throws Error if manifest URL is invalid or missing
|
|
82
|
+
*/
|
|
83
|
+
generateAgentCard: () => AgentCard;
|
|
84
|
+
/**
|
|
85
|
+
* Initializes all HTTP routes including health check, agent discovery,
|
|
86
|
+
* query endpoints, and optional A2A endpoints.
|
|
87
|
+
*
|
|
88
|
+
* Routes initialized:
|
|
89
|
+
* - GET / - Health check endpoint
|
|
90
|
+
* - GET /.well-known/agent.json - Agent card discovery endpoint
|
|
91
|
+
* - /query/* - Query processing endpoints
|
|
92
|
+
* - /a2a/* - A2A protocol endpoints (only if valid URL is configured)
|
|
93
|
+
*/
|
|
94
|
+
private initializeRoutes;
|
|
95
|
+
/**
|
|
96
|
+
* Starts the Express server on the specified port.
|
|
97
|
+
*
|
|
98
|
+
* @param port - The port number to listen on
|
|
99
|
+
*/
|
|
100
|
+
start(port: number): void;
|
|
101
|
+
}
|
|
102
|
+
//# sourceMappingURL=app.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../src/app.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C,OAAO,OAA0B,MAAM,SAAS,CAAC;AAGjD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAG3D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,KAAK,EACX,SAAS,EACT,SAAS,EACT,YAAY,EACZ,WAAW,EACX,MAAM,oBAAoB,CAAC;AAG5B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEzD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,qBAAa,QAAQ;IACpB,mCAAmC;IAC5B,GAAG,EAAE,OAAO,CAAC,WAAW,CAAC;IAEhC,2DAA2D;IACpD,QAAQ,EAAE,gBAAgB,CAAC;IAElC,cAAc;IACP,WAAW,EAAE,WAAW,CAAC;IACzB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,SAAS,CAAC,EAAE,SAAS,CAAC;IAE7B,4DAA4D;IACrD,UAAU,CAAC,EAAE,QAAQ,CAAC;IAE7B;;;;;;;;;;;OAWG;gBAEF,QAAQ,EAAE,gBAAgB,EAC1B,OAAO,EAAE;QACR,WAAW,EAAE,WAAW,CAAC;QACzB,SAAS,CAAC,EAAE,SAAS,CAAC;QACtB,SAAS,CAAC,EAAE,SAAS,CAAC;QACtB,YAAY,CAAC,EAAE,YAAY,CAAC;QAC5B,SAAS,CAAC,EAAE,SAAS,CAAC;KACtB,EACD,UAAU,CAAC,EAAE,QAAQ;IAqBtB;;;OAGG;IACH,OAAO,CAAC,qBAAqB;IAW7B;;;;;OAKG;IACH,OAAO,CAAC,UAAU;IAalB;;;;;;;;OAQG;IACI,iBAAiB,QAAO,SAAS,CAmBtC;IAEF;;;;;;;;;OASG;IACH,OAAO,CAAC,gBAAgB,CAyBtB;IAEF;;;;OAIG;IACI,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;CAKhC"}
|
package/dist/cjs/app.js
ADDED
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.AINAgent = void 0;
|
|
7
|
+
const cors_1 = __importDefault(require("cors"));
|
|
8
|
+
const express_1 = __importDefault(require("express"));
|
|
9
|
+
const helmet_1 = __importDefault(require("helmet"));
|
|
10
|
+
const http_status_codes_1 = require("http-status-codes");
|
|
11
|
+
const logger_js_1 = require("./utils/logger.js");
|
|
12
|
+
const error_middleware_js_1 = require("./middlewares/error.middleware.js");
|
|
13
|
+
const a2a_routes_js_1 = require("./routes/a2a.routes.js");
|
|
14
|
+
const query_routes_js_1 = require("./routes/query.routes.js");
|
|
15
|
+
/**
|
|
16
|
+
* Main class for AI Network Agent Development Kit (AIN-ADK).
|
|
17
|
+
*
|
|
18
|
+
* AINAgent orchestrates all modules and provides an Express server for handling
|
|
19
|
+
* agent interactions through both standard query endpoints and A2A protocol endpoints.
|
|
20
|
+
*
|
|
21
|
+
* @example
|
|
22
|
+
* ```typescript
|
|
23
|
+
* const manifest = {
|
|
24
|
+
* name: "MyAgent",
|
|
25
|
+
* description: "An example AI agent",
|
|
26
|
+
* version: "1.0.0"
|
|
27
|
+
* };
|
|
28
|
+
*
|
|
29
|
+
* const agent = new AINAgent(manifest, {
|
|
30
|
+
* modelModule: new ModelModule(),
|
|
31
|
+
* a2aModule: new A2AModule(),
|
|
32
|
+
* mcpModule: new MCPModule()
|
|
33
|
+
* });
|
|
34
|
+
*
|
|
35
|
+
* agent.start(3000);
|
|
36
|
+
* ```
|
|
37
|
+
*/
|
|
38
|
+
class AINAgent {
|
|
39
|
+
/**
|
|
40
|
+
* Creates a new AINAgent instance.
|
|
41
|
+
*
|
|
42
|
+
* @param manifest - Agent manifest containing name, description, version, and optional URL
|
|
43
|
+
* @param modules - Required and optional modules for the agent
|
|
44
|
+
* @param modules.modelModule - Required module for AI model integrations
|
|
45
|
+
* @param modules.a2aModule - Optional module for A2A protocol support
|
|
46
|
+
* @param modules.mcpModule - Optional module for MCP server connections
|
|
47
|
+
* @param modules.memoryModule - Optional module for memory management
|
|
48
|
+
* @param modules.folModule - Optional module for fol management
|
|
49
|
+
* @param authScheme - Optional authentication middleware for securing endpoints
|
|
50
|
+
*/
|
|
51
|
+
constructor(manifest, modules, authScheme) {
|
|
52
|
+
/**
|
|
53
|
+
* Generates an A2A protocol agent card for discovery.
|
|
54
|
+
*
|
|
55
|
+
* The agent card contains metadata about the agent's capabilities,
|
|
56
|
+
* supported input/output modes, and connection information.
|
|
57
|
+
*
|
|
58
|
+
* @returns AgentCard object with agent metadata and capabilities
|
|
59
|
+
* @throws Error if manifest URL is invalid or missing
|
|
60
|
+
*/
|
|
61
|
+
this.generateAgentCard = () => {
|
|
62
|
+
const _url = new URL(this.manifest.url || "");
|
|
63
|
+
_url.pathname = "a2a";
|
|
64
|
+
return {
|
|
65
|
+
name: this.manifest.name,
|
|
66
|
+
description: this.manifest.description,
|
|
67
|
+
version: this.manifest.version,
|
|
68
|
+
url: _url.toString(),
|
|
69
|
+
capabilities: {
|
|
70
|
+
streaming: true, // The new framework supports streaming
|
|
71
|
+
pushNotifications: false, // Assuming not implemented for this agent yet
|
|
72
|
+
stateTransitionHistory: true, // Agent uses history
|
|
73
|
+
},
|
|
74
|
+
defaultInputModes: ["text"],
|
|
75
|
+
defaultOutputModes: ["text", "task-status"], // task-status is a common output mode
|
|
76
|
+
skills: [],
|
|
77
|
+
supportsAuthenticatedExtendedCard: false,
|
|
78
|
+
};
|
|
79
|
+
};
|
|
80
|
+
/**
|
|
81
|
+
* Initializes all HTTP routes including health check, agent discovery,
|
|
82
|
+
* query endpoints, and optional A2A endpoints.
|
|
83
|
+
*
|
|
84
|
+
* Routes initialized:
|
|
85
|
+
* - GET / - Health check endpoint
|
|
86
|
+
* - GET /.well-known/agent.json - Agent card discovery endpoint
|
|
87
|
+
* - /query/* - Query processing endpoints
|
|
88
|
+
* - /a2a/* - A2A protocol endpoints (only if valid URL is configured)
|
|
89
|
+
*/
|
|
90
|
+
this.initializeRoutes = () => {
|
|
91
|
+
this.app.get("/", async (_, res) => {
|
|
92
|
+
const { name, description, version } = this.manifest;
|
|
93
|
+
res.status(200).send(`
|
|
94
|
+
⚡ AIN Agent: ${name} v${version}<br/>
|
|
95
|
+
${description}<br/><br/>
|
|
96
|
+
Agent status: Online and ready.
|
|
97
|
+
`.trim());
|
|
98
|
+
});
|
|
99
|
+
this.app.get("/.well-known/agent.json", async (_, res) => {
|
|
100
|
+
try {
|
|
101
|
+
const card = this.generateAgentCard();
|
|
102
|
+
res.json(card);
|
|
103
|
+
}
|
|
104
|
+
catch (_error) {
|
|
105
|
+
res.status(http_status_codes_1.StatusCodes.NOT_FOUND).send("No agent card");
|
|
106
|
+
}
|
|
107
|
+
});
|
|
108
|
+
this.app.use((0, query_routes_js_1.createQueryRouter)(this));
|
|
109
|
+
if (this.isValidUrl(this.manifest.url)) {
|
|
110
|
+
this.app.use((0, a2a_routes_js_1.createA2ARouter)(this));
|
|
111
|
+
}
|
|
112
|
+
};
|
|
113
|
+
this.app = (0, express_1.default)();
|
|
114
|
+
// Set manifest
|
|
115
|
+
this.manifest = manifest;
|
|
116
|
+
// Set modules
|
|
117
|
+
this.modelModule = modules.modelModule;
|
|
118
|
+
this.a2aModule = modules.a2aModule;
|
|
119
|
+
this.mcpModule = modules.mcpModule;
|
|
120
|
+
this.memoryModule = modules.memoryModule;
|
|
121
|
+
this.folModule = modules.folModule;
|
|
122
|
+
this.authScheme = authScheme;
|
|
123
|
+
this.initializeMiddlewares();
|
|
124
|
+
this.initializeRoutes();
|
|
125
|
+
this.app.use(error_middleware_js_1.errorMiddleware);
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Initializes Express middlewares for security, CORS, and body parsing.
|
|
129
|
+
* Also applies authentication middleware if configured.
|
|
130
|
+
*/
|
|
131
|
+
initializeMiddlewares() {
|
|
132
|
+
this.app.use((0, helmet_1.default)());
|
|
133
|
+
this.app.use((0, cors_1.default)());
|
|
134
|
+
this.app.use(express_1.default.json());
|
|
135
|
+
this.app.use(express_1.default.urlencoded({ extended: true }));
|
|
136
|
+
if (this.authScheme) {
|
|
137
|
+
this.app.use(this.authScheme.middleware());
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* Validates if a string is a valid HTTP or HTTPS URL.
|
|
142
|
+
*
|
|
143
|
+
* @param urlString - The URL string to validate
|
|
144
|
+
* @returns true if the URL is valid HTTP/HTTPS, false otherwise
|
|
145
|
+
*/
|
|
146
|
+
isValidUrl(urlString) {
|
|
147
|
+
if (!urlString) {
|
|
148
|
+
return false;
|
|
149
|
+
}
|
|
150
|
+
try {
|
|
151
|
+
const url = new URL(urlString);
|
|
152
|
+
return url.protocol === "http:" || url.protocol === "https:";
|
|
153
|
+
}
|
|
154
|
+
catch (_error) {
|
|
155
|
+
return false;
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
/**
|
|
159
|
+
* Starts the Express server on the specified port.
|
|
160
|
+
*
|
|
161
|
+
* @param port - The port number to listen on
|
|
162
|
+
*/
|
|
163
|
+
start(port) {
|
|
164
|
+
this.app.listen(port, () => {
|
|
165
|
+
logger_js_1.loggers.agent.info(`AINAgent is running on port ${port}`);
|
|
166
|
+
});
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
exports.AINAgent = AINAgent;
|
|
170
|
+
//# sourceMappingURL=app.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"app.js","sourceRoot":"","sources":["../../src/app.ts"],"names":[],"mappings":"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"}
|