beddel 0.2.3 → 1.0.0
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 +138 -595
- package/dist/client.d.ts +10 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +9 -0
- package/dist/core/parser.d.ts +25 -0
- package/dist/core/parser.d.ts.map +1 -0
- package/dist/core/parser.js +31 -0
- package/dist/core/variable-resolver.d.ts +23 -0
- package/dist/core/variable-resolver.d.ts.map +1 -0
- package/dist/core/variable-resolver.js +98 -0
- package/dist/core/workflow.d.ts +39 -0
- package/dist/core/workflow.d.ts.map +1 -0
- package/dist/core/workflow.js +64 -0
- package/dist/index.d.ts +14 -36
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +15 -130
- package/dist/primitives/index.d.ts +37 -0
- package/dist/primitives/index.d.ts.map +1 -0
- package/dist/primitives/index.js +72 -0
- package/dist/primitives/llm.d.ts +56 -0
- package/dist/primitives/llm.d.ts.map +1 -0
- package/dist/primitives/llm.js +156 -0
- package/dist/primitives/output.d.ts +28 -0
- package/dist/primitives/output.d.ts.map +1 -0
- package/dist/primitives/output.js +39 -0
- package/dist/server/handler.d.ts +7 -0
- package/dist/server/handler.d.ts.map +1 -0
- package/dist/server/handler.js +55 -0
- package/dist/server.d.ts +10 -0
- package/dist/server.d.ts.map +1 -0
- package/dist/server.js +9 -0
- package/dist/tools/index.d.ts +49 -0
- package/dist/tools/index.d.ts.map +1 -0
- package/dist/tools/index.js +96 -0
- package/dist/types/index.d.ts +54 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +5 -0
- package/docs/architecture/api-reference.md +307 -0
- package/docs/architecture/components.md +246 -0
- package/docs/architecture/core-workflows.md +236 -0
- package/docs/architecture/high-level-architecture.md +76 -0
- package/docs/architecture/index.md +31 -0
- package/docs/architecture/source-tree.md +92 -0
- package/docs/architecture/tech-stack.md +25 -0
- package/docs/prd/epic-list.md +101 -0
- package/docs/prd/goals-context.md +23 -0
- package/docs/prd/index.md +21 -0
- package/docs/prd/requirements.md +25 -0
- package/docs/prd/technical-assumptions.md +35 -0
- package/package.json +31 -118
- package/src/client.ts +18 -0
- package/src/core/parser.ts +36 -0
- package/src/core/variable-resolver.ts +114 -0
- package/src/core/workflow.ts +77 -0
- package/src/index.ts +25 -159
- package/src/primitives/index.ts +83 -0
- package/src/primitives/llm.ts +210 -0
- package/src/primitives/output.ts +65 -0
- package/src/server/handler.ts +80 -0
- package/src/server.ts +10 -0
- package/src/tools/index.ts +118 -0
- package/src/types/index.ts +62 -0
- package/tsconfig.json +27 -0
- package/CHANGELOG.md +0 -78
- package/LICENSE +0 -21
- package/dist/agents/chat/chat.handler.d.ts +0 -12
- package/dist/agents/chat/chat.handler.d.ts.map +0 -1
- package/dist/agents/chat/chat.handler.js +0 -143
- package/dist/agents/chat/chat.handler.js.map +0 -1
- package/dist/agents/chat/chat.schema.d.ts +0 -38
- package/dist/agents/chat/chat.schema.d.ts.map +0 -1
- package/dist/agents/chat/chat.schema.js +0 -31
- package/dist/agents/chat/chat.schema.js.map +0 -1
- package/dist/agents/chat/chat.types.d.ts +0 -42
- package/dist/agents/chat/chat.types.d.ts.map +0 -1
- package/dist/agents/chat/chat.types.js +0 -6
- package/dist/agents/chat/chat.types.js.map +0 -1
- package/dist/agents/chat/chat.yaml +0 -150
- package/dist/agents/chat/index.d.ts +0 -16
- package/dist/agents/chat/index.d.ts.map +0 -1
- package/dist/agents/chat/index.js +0 -21
- package/dist/agents/chat/index.js.map +0 -1
- package/dist/agents/chromadb/chromadb.handler.d.ts +0 -12
- package/dist/agents/chromadb/chromadb.handler.d.ts.map +0 -1
- package/dist/agents/chromadb/chromadb.handler.js +0 -139
- package/dist/agents/chromadb/chromadb.handler.js.map +0 -1
- package/dist/agents/chromadb/chromadb.schema.d.ts +0 -36
- package/dist/agents/chromadb/chromadb.schema.d.ts.map +0 -1
- package/dist/agents/chromadb/chromadb.schema.js +0 -33
- package/dist/agents/chromadb/chromadb.schema.js.map +0 -1
- package/dist/agents/chromadb/chromadb.types.d.ts +0 -49
- package/dist/agents/chromadb/chromadb.types.d.ts.map +0 -1
- package/dist/agents/chromadb/chromadb.types.js +0 -6
- package/dist/agents/chromadb/chromadb.types.js.map +0 -1
- package/dist/agents/chromadb/chromadb.yaml +0 -128
- package/dist/agents/chromadb/index.d.ts +0 -15
- package/dist/agents/chromadb/index.d.ts.map +0 -1
- package/dist/agents/chromadb/index.js +0 -20
- package/dist/agents/chromadb/index.js.map +0 -1
- package/dist/agents/gemini-vectorize/gemini-vectorize.handler.d.ts +0 -8
- package/dist/agents/gemini-vectorize/gemini-vectorize.handler.d.ts.map +0 -1
- package/dist/agents/gemini-vectorize/gemini-vectorize.handler.js +0 -58
- package/dist/agents/gemini-vectorize/gemini-vectorize.handler.js.map +0 -1
- package/dist/agents/gemini-vectorize/gemini-vectorize.schema.d.ts +0 -22
- package/dist/agents/gemini-vectorize/gemini-vectorize.schema.d.ts.map +0 -1
- package/dist/agents/gemini-vectorize/gemini-vectorize.schema.js +0 -20
- package/dist/agents/gemini-vectorize/gemini-vectorize.schema.js.map +0 -1
- package/dist/agents/gemini-vectorize/gemini-vectorize.types.d.ts +0 -32
- package/dist/agents/gemini-vectorize/gemini-vectorize.types.d.ts.map +0 -1
- package/dist/agents/gemini-vectorize/gemini-vectorize.types.js +0 -6
- package/dist/agents/gemini-vectorize/gemini-vectorize.types.js.map +0 -1
- package/dist/agents/gemini-vectorize/gemini-vectorize.yaml +0 -84
- package/dist/agents/gemini-vectorize/index.d.ts +0 -15
- package/dist/agents/gemini-vectorize/index.d.ts.map +0 -1
- package/dist/agents/gemini-vectorize/index.js +0 -20
- package/dist/agents/gemini-vectorize/index.js.map +0 -1
- package/dist/agents/gitmcp/gitmcp.handler.d.ts +0 -12
- package/dist/agents/gitmcp/gitmcp.handler.d.ts.map +0 -1
- package/dist/agents/gitmcp/gitmcp.handler.js +0 -95
- package/dist/agents/gitmcp/gitmcp.handler.js.map +0 -1
- package/dist/agents/gitmcp/gitmcp.schema.d.ts +0 -17
- package/dist/agents/gitmcp/gitmcp.schema.d.ts.map +0 -1
- package/dist/agents/gitmcp/gitmcp.schema.js +0 -18
- package/dist/agents/gitmcp/gitmcp.schema.js.map +0 -1
- package/dist/agents/gitmcp/gitmcp.types.d.ts +0 -31
- package/dist/agents/gitmcp/gitmcp.types.d.ts.map +0 -1
- package/dist/agents/gitmcp/gitmcp.types.js +0 -6
- package/dist/agents/gitmcp/gitmcp.types.js.map +0 -1
- package/dist/agents/gitmcp/gitmcp.yaml +0 -71
- package/dist/agents/gitmcp/index.d.ts +0 -16
- package/dist/agents/gitmcp/index.d.ts.map +0 -1
- package/dist/agents/gitmcp/index.js +0 -21
- package/dist/agents/gitmcp/index.js.map +0 -1
- package/dist/agents/image/image.handler.d.ts +0 -8
- package/dist/agents/image/image.handler.d.ts.map +0 -1
- package/dist/agents/image/image.handler.js +0 -66
- package/dist/agents/image/image.handler.js.map +0 -1
- package/dist/agents/image/image.schema.d.ts +0 -29
- package/dist/agents/image/image.schema.d.ts.map +0 -1
- package/dist/agents/image/image.schema.js +0 -26
- package/dist/agents/image/image.schema.js.map +0 -1
- package/dist/agents/image/image.types.d.ts +0 -42
- package/dist/agents/image/image.types.d.ts.map +0 -1
- package/dist/agents/image/image.types.js +0 -6
- package/dist/agents/image/image.types.js.map +0 -1
- package/dist/agents/image/image.yaml +0 -86
- package/dist/agents/image/index.d.ts +0 -14
- package/dist/agents/image/index.d.ts.map +0 -1
- package/dist/agents/image/index.js +0 -19
- package/dist/agents/image/index.js.map +0 -1
- package/dist/agents/index.d.ts +0 -95
- package/dist/agents/index.d.ts.map +0 -1
- package/dist/agents/index.js +0 -76
- package/dist/agents/index.js.map +0 -1
- package/dist/agents/joker/index.d.ts +0 -14
- package/dist/agents/joker/index.d.ts.map +0 -1
- package/dist/agents/joker/index.js +0 -19
- package/dist/agents/joker/index.js.map +0 -1
- package/dist/agents/joker/joker.handler.d.ts +0 -8
- package/dist/agents/joker/joker.handler.d.ts.map +0 -1
- package/dist/agents/joker/joker.handler.js +0 -48
- package/dist/agents/joker/joker.handler.js.map +0 -1
- package/dist/agents/joker/joker.schema.d.ts +0 -12
- package/dist/agents/joker/joker.schema.d.ts.map +0 -1
- package/dist/agents/joker/joker.schema.js +0 -13
- package/dist/agents/joker/joker.schema.js.map +0 -1
- package/dist/agents/joker/joker.types.d.ts +0 -35
- package/dist/agents/joker/joker.types.d.ts.map +0 -1
- package/dist/agents/joker/joker.types.js +0 -6
- package/dist/agents/joker/joker.types.js.map +0 -1
- package/dist/agents/joker/joker.yaml +0 -47
- package/dist/agents/mcp-tool/index.d.ts +0 -14
- package/dist/agents/mcp-tool/index.d.ts.map +0 -1
- package/dist/agents/mcp-tool/index.js +0 -19
- package/dist/agents/mcp-tool/index.js.map +0 -1
- package/dist/agents/mcp-tool/mcp-tool.handler.d.ts +0 -12
- package/dist/agents/mcp-tool/mcp-tool.handler.d.ts.map +0 -1
- package/dist/agents/mcp-tool/mcp-tool.handler.js +0 -116
- package/dist/agents/mcp-tool/mcp-tool.handler.js.map +0 -1
- package/dist/agents/mcp-tool/mcp-tool.schema.d.ts +0 -19
- package/dist/agents/mcp-tool/mcp-tool.schema.d.ts.map +0 -1
- package/dist/agents/mcp-tool/mcp-tool.schema.js +0 -20
- package/dist/agents/mcp-tool/mcp-tool.schema.js.map +0 -1
- package/dist/agents/mcp-tool/mcp-tool.types.d.ts +0 -31
- package/dist/agents/mcp-tool/mcp-tool.types.d.ts.map +0 -1
- package/dist/agents/mcp-tool/mcp-tool.types.js +0 -6
- package/dist/agents/mcp-tool/mcp-tool.types.js.map +0 -1
- package/dist/agents/mcp-tool/mcp-tool.yaml +0 -71
- package/dist/agents/rag/index.d.ts +0 -15
- package/dist/agents/rag/index.d.ts.map +0 -1
- package/dist/agents/rag/index.js +0 -20
- package/dist/agents/rag/index.js.map +0 -1
- package/dist/agents/rag/rag.handler.d.ts +0 -8
- package/dist/agents/rag/rag.handler.d.ts.map +0 -1
- package/dist/agents/rag/rag.handler.js +0 -101
- package/dist/agents/rag/rag.handler.js.map +0 -1
- package/dist/agents/rag/rag.schema.d.ts +0 -27
- package/dist/agents/rag/rag.schema.d.ts.map +0 -1
- package/dist/agents/rag/rag.schema.js +0 -24
- package/dist/agents/rag/rag.schema.js.map +0 -1
- package/dist/agents/rag/rag.types.d.ts +0 -47
- package/dist/agents/rag/rag.types.d.ts.map +0 -1
- package/dist/agents/rag/rag.types.js +0 -6
- package/dist/agents/rag/rag.types.js.map +0 -1
- package/dist/agents/rag/rag.yaml +0 -89
- package/dist/agents/registry/agentRegistry.d.ts +0 -117
- package/dist/agents/registry/agentRegistry.d.ts.map +0 -1
- package/dist/agents/registry/agentRegistry.js +0 -551
- package/dist/agents/registry/agentRegistry.js.map +0 -1
- package/dist/agents/registry/index.d.ts +0 -6
- package/dist/agents/registry/index.d.ts.map +0 -1
- package/dist/agents/registry/index.js +0 -10
- package/dist/agents/registry/index.js.map +0 -1
- package/dist/agents/translator/index.d.ts +0 -14
- package/dist/agents/translator/index.d.ts.map +0 -1
- package/dist/agents/translator/index.js +0 -19
- package/dist/agents/translator/index.js.map +0 -1
- package/dist/agents/translator/translator.handler.d.ts +0 -8
- package/dist/agents/translator/translator.handler.d.ts.map +0 -1
- package/dist/agents/translator/translator.handler.js +0 -83
- package/dist/agents/translator/translator.handler.js.map +0 -1
- package/dist/agents/translator/translator.schema.d.ts +0 -27
- package/dist/agents/translator/translator.schema.d.ts.map +0 -1
- package/dist/agents/translator/translator.schema.js +0 -28
- package/dist/agents/translator/translator.schema.js.map +0 -1
- package/dist/agents/translator/translator.types.d.ts +0 -40
- package/dist/agents/translator/translator.types.d.ts.map +0 -1
- package/dist/agents/translator/translator.types.js +0 -6
- package/dist/agents/translator/translator.types.js.map +0 -1
- package/dist/agents/translator/translator.yaml +0 -80
- package/dist/audit/auditTrail.d.ts +0 -55
- package/dist/audit/auditTrail.d.ts.map +0 -1
- package/dist/audit/auditTrail.js +0 -93
- package/dist/audit/auditTrail.js.map +0 -1
- package/dist/client/index.d.ts +0 -89
- package/dist/client/index.d.ts.map +0 -1
- package/dist/client/index.js +0 -93
- package/dist/client/index.js.map +0 -1
- package/dist/client/types.d.ts +0 -17
- package/dist/client/types.d.ts.map +0 -1
- package/dist/client/types.js +0 -7
- package/dist/client/types.js.map +0 -1
- package/dist/compliance/gdprEngine.d.ts +0 -44
- package/dist/compliance/gdprEngine.d.ts.map +0 -1
- package/dist/compliance/gdprEngine.js +0 -178
- package/dist/compliance/gdprEngine.js.map +0 -1
- package/dist/compliance/lgpdEngine.d.ts +0 -51
- package/dist/compliance/lgpdEngine.d.ts.map +0 -1
- package/dist/compliance/lgpdEngine.js +0 -221
- package/dist/compliance/lgpdEngine.js.map +0 -1
- package/dist/config.d.ts +0 -78
- package/dist/config.d.ts.map +0 -1
- package/dist/config.js +0 -77
- package/dist/config.js.map +0 -1
- package/dist/errors.d.ts +0 -17
- package/dist/errors.d.ts.map +0 -1
- package/dist/errors.js +0 -40
- package/dist/errors.js.map +0 -1
- package/dist/firebase/tenantManager.d.ts +0 -116
- package/dist/firebase/tenantManager.d.ts.map +0 -1
- package/dist/firebase/tenantManager.js +0 -444
- package/dist/firebase/tenantManager.js.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/integration/secure-yaml-runtime.d.ts +0 -68
- package/dist/integration/secure-yaml-runtime.d.ts.map +0 -1
- package/dist/integration/secure-yaml-runtime.js +0 -245
- package/dist/integration/secure-yaml-runtime.js.map +0 -1
- package/dist/parser/secure-yaml-parser.d.ts +0 -62
- package/dist/parser/secure-yaml-parser.d.ts.map +0 -1
- package/dist/parser/secure-yaml-parser.js +0 -234
- package/dist/parser/secure-yaml-parser.js.map +0 -1
- package/dist/performance/autoscaling.d.ts +0 -100
- package/dist/performance/autoscaling.d.ts.map +0 -1
- package/dist/performance/autoscaling.js +0 -339
- package/dist/performance/autoscaling.js.map +0 -1
- package/dist/performance/benchmark.d.ts +0 -104
- package/dist/performance/benchmark.d.ts.map +0 -1
- package/dist/performance/benchmark.js +0 -514
- package/dist/performance/benchmark.js.map +0 -1
- package/dist/performance/index.d.ts +0 -14
- package/dist/performance/index.d.ts.map +0 -1
- package/dist/performance/index.js +0 -35
- package/dist/performance/index.js.map +0 -1
- package/dist/performance/monitor.d.ts +0 -126
- package/dist/performance/monitor.d.ts.map +0 -1
- package/dist/performance/monitor.js +0 -324
- package/dist/performance/monitor.js.map +0 -1
- package/dist/performance/streaming.d.ts +0 -82
- package/dist/performance/streaming.d.ts.map +0 -1
- package/dist/performance/streaming.js +0 -287
- package/dist/performance/streaming.js.map +0 -1
- package/dist/runtime/audit.d.ts +0 -240
- package/dist/runtime/audit.d.ts.map +0 -1
- package/dist/runtime/audit.js +0 -641
- package/dist/runtime/audit.js.map +0 -1
- package/dist/runtime/declarativeAgentRuntime.d.ts +0 -92
- package/dist/runtime/declarativeAgentRuntime.d.ts.map +0 -1
- package/dist/runtime/declarativeAgentRuntime.js +0 -512
- package/dist/runtime/declarativeAgentRuntime.js.map +0 -1
- package/dist/runtime/index.d.ts +0 -12
- package/dist/runtime/index.d.ts.map +0 -1
- package/dist/runtime/index.js +0 -33
- package/dist/runtime/index.js.map +0 -1
- package/dist/runtime/isolatedRuntime.d.ts +0 -119
- package/dist/runtime/isolatedRuntime.d.ts.map +0 -1
- package/dist/runtime/isolatedRuntime.js +0 -425
- package/dist/runtime/isolatedRuntime.js.map +0 -1
- package/dist/runtime/schemaCompiler.d.ts +0 -35
- package/dist/runtime/schemaCompiler.d.ts.map +0 -1
- package/dist/runtime/schemaCompiler.js +0 -152
- package/dist/runtime/schemaCompiler.js.map +0 -1
- package/dist/runtime/simpleRuntime.d.ts +0 -57
- package/dist/runtime/simpleRuntime.d.ts.map +0 -1
- package/dist/runtime/simpleRuntime.js +0 -187
- package/dist/runtime/simpleRuntime.js.map +0 -1
- package/dist/runtime/workflowExecutor.d.ts +0 -30
- package/dist/runtime/workflowExecutor.d.ts.map +0 -1
- package/dist/runtime/workflowExecutor.js +0 -70
- package/dist/runtime/workflowExecutor.js.map +0 -1
- package/dist/security/dashboard.d.ts +0 -89
- package/dist/security/dashboard.d.ts.map +0 -1
- package/dist/security/dashboard.js +0 -300
- package/dist/security/dashboard.js.map +0 -1
- package/dist/security/hardening.d.ts +0 -130
- package/dist/security/hardening.d.ts.map +0 -1
- package/dist/security/hardening.js +0 -414
- package/dist/security/hardening.js.map +0 -1
- package/dist/security/index.d.ts +0 -128
- package/dist/security/index.d.ts.map +0 -1
- package/dist/security/index.js +0 -353
- package/dist/security/index.js.map +0 -1
- package/dist/security/monitor.d.ts +0 -88
- package/dist/security/monitor.d.ts.map +0 -1
- package/dist/security/monitor.js +0 -356
- package/dist/security/monitor.js.map +0 -1
- package/dist/security/scanner.d.ts +0 -104
- package/dist/security/scanner.d.ts.map +0 -1
- package/dist/security/scanner.js +0 -298
- package/dist/security/scanner.js.map +0 -1
- package/dist/security/score.d.ts +0 -150
- package/dist/security/score.d.ts.map +0 -1
- package/dist/security/score.js +0 -983
- package/dist/security/score.js.map +0 -1
- package/dist/security/threatDetector.d.ts +0 -39
- package/dist/security/threatDetector.d.ts.map +0 -1
- package/dist/security/threatDetector.js +0 -354
- package/dist/security/threatDetector.js.map +0 -1
- package/dist/security/validation.d.ts +0 -69
- package/dist/security/validation.d.ts.map +0 -1
- package/dist/security/validation.js +0 -286
- package/dist/security/validation.js.map +0 -1
- package/dist/server/api/clientsRoute.d.ts +0 -9
- package/dist/server/api/clientsRoute.d.ts.map +0 -1
- package/dist/server/api/clientsRoute.js +0 -71
- package/dist/server/api/clientsRoute.js.map +0 -1
- package/dist/server/api/endpointsRoute.d.ts +0 -8
- package/dist/server/api/endpointsRoute.d.ts.map +0 -1
- package/dist/server/api/endpointsRoute.js +0 -76
- package/dist/server/api/endpointsRoute.js.map +0 -1
- package/dist/server/api/graphql.d.ts +0 -9
- package/dist/server/api/graphql.d.ts.map +0 -1
- package/dist/server/api/graphql.js +0 -222
- package/dist/server/api/graphql.js.map +0 -1
- package/dist/server/errors.d.ts +0 -19
- package/dist/server/errors.d.ts.map +0 -1
- package/dist/server/errors.js +0 -42
- package/dist/server/errors.js.map +0 -1
- package/dist/server/index.d.ts +0 -7
- package/dist/server/index.d.ts.map +0 -1
- package/dist/server/index.js +0 -24
- package/dist/server/index.js.map +0 -1
- package/dist/server/kvStore.d.ts +0 -27
- package/dist/server/kvStore.d.ts.map +0 -1
- package/dist/server/kvStore.js +0 -128
- package/dist/server/kvStore.js.map +0 -1
- package/dist/server/runtimeSecurity.d.ts +0 -28
- package/dist/server/runtimeSecurity.d.ts.map +0 -1
- package/dist/server/runtimeSecurity.js +0 -85
- package/dist/server/runtimeSecurity.js.map +0 -1
- package/dist/server/types.d.ts +0 -53
- package/dist/server/types.d.ts.map +0 -1
- package/dist/server/types.js +0 -8
- package/dist/server/types.js.map +0 -1
- package/dist/shared/index.d.ts +0 -7
- package/dist/shared/index.d.ts.map +0 -1
- package/dist/shared/index.js +0 -23
- package/dist/shared/index.js.map +0 -1
- package/dist/shared/types/agent.types.d.ts +0 -50
- package/dist/shared/types/agent.types.d.ts.map +0 -1
- package/dist/shared/types/agent.types.js +0 -7
- package/dist/shared/types/agent.types.js.map +0 -1
- package/dist/shared/types/execution.types.d.ts +0 -42
- package/dist/shared/types/execution.types.d.ts.map +0 -1
- package/dist/shared/types/execution.types.js +0 -7
- package/dist/shared/types/execution.types.js.map +0 -1
- package/dist/shared/types/index.d.ts +0 -7
- package/dist/shared/types/index.d.ts.map +0 -1
- package/dist/shared/types/index.js +0 -23
- package/dist/shared/types/index.js.map +0 -1
- package/dist/shared/types/schema.types.d.ts +0 -52
- package/dist/shared/types/schema.types.d.ts.map +0 -1
- package/dist/shared/types/schema.types.js +0 -7
- package/dist/shared/types/schema.types.js.map +0 -1
- package/dist/shared/utils/index.d.ts +0 -5
- package/dist/shared/utils/index.d.ts.map +0 -1
- package/dist/shared/utils/index.js +0 -21
- package/dist/shared/utils/index.js.map +0 -1
- package/dist/shared/utils/validation.d.ts +0 -42
- package/dist/shared/utils/validation.d.ts.map +0 -1
- package/dist/shared/utils/validation.js +0 -93
- package/dist/shared/utils/validation.js.map +0 -1
- package/dist/tenant/TenantManager.d.ts +0 -152
- package/dist/tenant/TenantManager.d.ts.map +0 -1
- package/dist/tenant/TenantManager.js +0 -392
- package/dist/tenant/TenantManager.js.map +0 -1
- package/dist/tenant/index.d.ts +0 -47
- package/dist/tenant/index.d.ts.map +0 -1
- package/dist/tenant/index.js +0 -74
- package/dist/tenant/index.js.map +0 -1
- package/dist/tenant/interfaces.d.ts +0 -170
- package/dist/tenant/interfaces.d.ts.map +0 -1
- package/dist/tenant/interfaces.js +0 -67
- package/dist/tenant/interfaces.js.map +0 -1
- package/dist/tenant/providerFactory.d.ts +0 -43
- package/dist/tenant/providerFactory.d.ts.map +0 -1
- package/dist/tenant/providerFactory.js +0 -70
- package/dist/tenant/providerFactory.js.map +0 -1
- package/dist/tenant/providerRegistry.d.ts +0 -47
- package/dist/tenant/providerRegistry.d.ts.map +0 -1
- package/dist/tenant/providerRegistry.js +0 -79
- package/dist/tenant/providerRegistry.js.map +0 -1
- package/dist/tenant/providers/FirebaseTenantProvider.d.ts +0 -41
- package/dist/tenant/providers/FirebaseTenantProvider.d.ts.map +0 -1
- package/dist/tenant/providers/FirebaseTenantProvider.js +0 -290
- package/dist/tenant/providers/FirebaseTenantProvider.js.map +0 -1
- package/dist/tenant/providers/InMemoryTenantProvider.d.ts +0 -18
- package/dist/tenant/providers/InMemoryTenantProvider.d.ts.map +0 -1
- package/dist/tenant/providers/InMemoryTenantProvider.js +0 -137
- package/dist/tenant/providers/InMemoryTenantProvider.js.map +0 -1
- package/dist/types/executionContext.d.ts +0 -16
- package/dist/types/executionContext.d.ts.map +0 -1
- package/dist/types/executionContext.js +0 -3
- package/dist/types/executionContext.js.map +0 -1
- package/src/agents/chat/chat.handler.ts +0 -209
- package/src/agents/chat/chat.schema.ts +0 -33
- package/src/agents/chat/chat.types.ts +0 -46
- package/src/agents/chat/chat.yaml +0 -150
- package/src/agents/chat/index.ts +0 -21
- package/src/agents/chromadb/chromadb.handler.ts +0 -130
- package/src/agents/chromadb/chromadb.schema.ts +0 -35
- package/src/agents/chromadb/chromadb.types.ts +0 -52
- package/src/agents/chromadb/chromadb.yaml +0 -128
- package/src/agents/chromadb/index.ts +0 -20
- package/src/agents/gemini-vectorize/gemini-vectorize.handler.ts +0 -72
- package/src/agents/gemini-vectorize/gemini-vectorize.schema.ts +0 -22
- package/src/agents/gemini-vectorize/gemini-vectorize.types.ts +0 -34
- package/src/agents/gemini-vectorize/gemini-vectorize.yaml +0 -84
- package/src/agents/gemini-vectorize/index.ts +0 -20
- package/src/agents/gitmcp/gitmcp.handler.ts +0 -122
- package/src/agents/gitmcp/gitmcp.schema.ts +0 -20
- package/src/agents/gitmcp/gitmcp.types.ts +0 -33
- package/src/agents/gitmcp/gitmcp.yaml +0 -71
- package/src/agents/gitmcp/index.ts +0 -21
- package/src/agents/image/image.handler.ts +0 -82
- package/src/agents/image/image.schema.ts +0 -28
- package/src/agents/image/image.types.ts +0 -45
- package/src/agents/image/image.yaml +0 -86
- package/src/agents/image/index.ts +0 -19
- package/src/agents/index.ts +0 -59
- package/src/agents/joker/index.ts +0 -19
- package/src/agents/joker/joker.handler.ts +0 -60
- package/src/agents/joker/joker.schema.ts +0 -15
- package/src/agents/joker/joker.types.ts +0 -37
- package/src/agents/joker/joker.yaml +0 -47
- package/src/agents/mcp-tool/index.ts +0 -19
- package/src/agents/mcp-tool/mcp-tool.handler.ts +0 -112
- package/src/agents/mcp-tool/mcp-tool.schema.ts +0 -22
- package/src/agents/mcp-tool/mcp-tool.types.ts +0 -33
- package/src/agents/mcp-tool/mcp-tool.yaml +0 -71
- package/src/agents/rag/index.ts +0 -20
- package/src/agents/rag/rag.handler.ts +0 -119
- package/src/agents/rag/rag.schema.ts +0 -26
- package/src/agents/rag/rag.types.ts +0 -51
- package/src/agents/rag/rag.yaml +0 -89
- package/src/agents/registry/agentRegistry.ts +0 -598
- package/src/agents/registry/index.ts +0 -6
- package/src/agents/translator/index.ts +0 -19
- package/src/agents/translator/translator.handler.ts +0 -99
- package/src/agents/translator/translator.schema.ts +0 -30
- package/src/agents/translator/translator.types.ts +0 -42
- package/src/agents/translator/translator.yaml +0 -80
- package/src/audit/auditTrail.ts +0 -134
- package/src/client/index.ts +0 -53
- package/src/client/types.ts +0 -38
- package/src/compliance/gdprEngine.ts +0 -209
- package/src/compliance/lgpdEngine.ts +0 -268
- package/src/config.ts +0 -179
- package/src/errors.ts +0 -35
- package/src/integration/secure-yaml-runtime.ts +0 -341
- package/src/parser/secure-yaml-parser.ts +0 -273
- package/src/performance/autoscaling.ts +0 -495
- package/src/performance/benchmark.ts +0 -644
- package/src/performance/index.ts +0 -34
- package/src/performance/monitor.ts +0 -469
- package/src/performance/streaming.ts +0 -317
- package/src/runtime/audit.ts +0 -907
- package/src/runtime/declarativeAgentRuntime.ts +0 -772
- package/src/runtime/index.ts +0 -31
- package/src/runtime/isolatedRuntime.ts +0 -572
- package/src/runtime/schemaCompiler.ts +0 -228
- package/src/runtime/simpleRuntime.ts +0 -201
- package/src/runtime/workflowExecutor.ts +0 -94
- package/src/security/dashboard.ts +0 -462
- package/src/security/hardening.ts +0 -560
- package/src/security/index.ts +0 -439
- package/src/security/monitor.ts +0 -490
- package/src/security/scanner.ts +0 -368
- package/src/security/score.ts +0 -1138
- package/src/security/threatDetector.ts +0 -481
- package/src/security/validation.ts +0 -365
- package/src/server/api/clientsRoute.ts +0 -92
- package/src/server/api/endpointsRoute.ts +0 -97
- package/src/server/api/graphql.ts +0 -284
- package/src/server/errors.ts +0 -38
- package/src/server/index.ts +0 -6
- package/src/server/kvStore.ts +0 -152
- package/src/server/runtimeSecurity.ts +0 -102
- package/src/server/types.ts +0 -60
- package/src/shared/index.ts +0 -7
- package/src/shared/types/agent.types.ts +0 -80
- package/src/shared/types/execution.types.ts +0 -45
- package/src/shared/types/index.ts +0 -7
- package/src/shared/types/schema.types.ts +0 -55
- package/src/shared/utils/index.ts +0 -5
- package/src/shared/utils/validation.ts +0 -100
- package/src/tenant/TenantManager.ts +0 -488
- package/src/tenant/index.ts +0 -101
- package/src/tenant/interfaces.ts +0 -231
- package/src/tenant/providerFactory.ts +0 -75
- package/src/tenant/providerRegistry.ts +0 -86
- package/src/tenant/providers/InMemoryTenantProvider.ts +0 -168
- package/src/types/executionContext.ts +0 -16
|
@@ -1,598 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Agent Registry Service
|
|
3
|
-
* Manages registration and execution of declarative YAML agents
|
|
4
|
-
*/
|
|
5
|
-
|
|
6
|
-
import { existsSync, readFileSync, readdirSync, statSync } from "fs";
|
|
7
|
-
import { join } from "path";
|
|
8
|
-
import { declarativeInterpreter } from "../../runtime/declarativeAgentRuntime";
|
|
9
|
-
import { ExecutionContext } from "../../types/executionContext";
|
|
10
|
-
|
|
11
|
-
export interface AgentRegistration {
|
|
12
|
-
id: string;
|
|
13
|
-
name: string;
|
|
14
|
-
description: string;
|
|
15
|
-
protocol: string;
|
|
16
|
-
route: string;
|
|
17
|
-
requiredProps: string[];
|
|
18
|
-
yamlContent: string;
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
/**
|
|
22
|
-
* Agent Registry - Manages declarative agent registration and execution
|
|
23
|
-
*/
|
|
24
|
-
export class AgentRegistry {
|
|
25
|
-
private readonly agents: Map<string, AgentRegistration> = new Map();
|
|
26
|
-
private readonly customFunctions: Map<string, Function> = new Map();
|
|
27
|
-
|
|
28
|
-
constructor() {
|
|
29
|
-
// Register built-in agents on initialization
|
|
30
|
-
this.registerBuiltinAgents();
|
|
31
|
-
|
|
32
|
-
// Automatically load custom agents if running in Node.js environment
|
|
33
|
-
// This runs asynchronously in the background
|
|
34
|
-
if (typeof process !== 'undefined' && typeof process.cwd === 'function') {
|
|
35
|
-
this.loadCustomAgents().catch((error) => {
|
|
36
|
-
// Silently fail if custom agents can't be loaded
|
|
37
|
-
// This allows the registry to work even without custom agents
|
|
38
|
-
console.error('Failed to load custom agents during initialization:', error);
|
|
39
|
-
});
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
/**
|
|
44
|
-
* Register an agent
|
|
45
|
-
*/
|
|
46
|
-
public registerAgent(agent: AgentRegistration, allowOverwrite = false): void {
|
|
47
|
-
// Validate agent
|
|
48
|
-
this.validateAgent(agent);
|
|
49
|
-
|
|
50
|
-
// Check if agent already exists
|
|
51
|
-
if (this.agents.has(agent.name) && allowOverwrite) {
|
|
52
|
-
console.warn(`⚠️ Overwriting existing agent: ${agent.name}`);
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
// Register the agent
|
|
56
|
-
this.agents.set(agent.name, agent);
|
|
57
|
-
console.log(`Agent registered: ${agent.name} (${agent.protocol})`);
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
/**
|
|
61
|
-
* Execute registered agent
|
|
62
|
-
*/
|
|
63
|
-
public async executeAgent(
|
|
64
|
-
agentName: string,
|
|
65
|
-
input: Record<string, any>,
|
|
66
|
-
props: Record<string, string>,
|
|
67
|
-
context: ExecutionContext
|
|
68
|
-
): Promise<any> {
|
|
69
|
-
// Find agent
|
|
70
|
-
const agent = this.agents.get(agentName);
|
|
71
|
-
if (!agent) {
|
|
72
|
-
throw new Error(`Agent not found: ${agentName}`);
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
// Execute using declarative interpreter
|
|
76
|
-
const result = await declarativeInterpreter.interpret({
|
|
77
|
-
yamlContent: agent.yamlContent,
|
|
78
|
-
input,
|
|
79
|
-
props,
|
|
80
|
-
context,
|
|
81
|
-
});
|
|
82
|
-
|
|
83
|
-
return result;
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
/**
|
|
87
|
-
* Get registered agent
|
|
88
|
-
*/
|
|
89
|
-
public getAgent(agentName: string): AgentRegistration | undefined {
|
|
90
|
-
return this.agents.get(agentName);
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
/**
|
|
94
|
-
* Get all registered agents
|
|
95
|
-
*/
|
|
96
|
-
public getAllAgents(): AgentRegistration[] {
|
|
97
|
-
return Array.from(this.agents.values());
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
/**
|
|
101
|
-
* Load custom agents from a specified directory
|
|
102
|
-
* @param customAgentsPath - Optional path to custom agents directory. Defaults to process.cwd()/agents
|
|
103
|
-
*/
|
|
104
|
-
public async loadCustomAgents(customAgentsPath?: string): Promise<void> {
|
|
105
|
-
try {
|
|
106
|
-
// Determine the agents directory path
|
|
107
|
-
const agentsPath = customAgentsPath || join(process.cwd(), "agents");
|
|
108
|
-
|
|
109
|
-
// Check if directory exists
|
|
110
|
-
if (!existsSync(agentsPath)) {
|
|
111
|
-
console.log(`No custom agents directory found at: ${agentsPath}`);
|
|
112
|
-
return;
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
console.log(`🔍 Loading custom agents from: ${agentsPath}`);
|
|
116
|
-
|
|
117
|
-
// Discover all YAML files in the agents directory
|
|
118
|
-
const agentFiles = this.discoverCustomAgentFiles(agentsPath);
|
|
119
|
-
|
|
120
|
-
if (agentFiles.length === 0) {
|
|
121
|
-
console.log(`No custom agent YAML files found in: ${agentsPath}`);
|
|
122
|
-
}
|
|
123
|
-
|
|
124
|
-
// Register each custom agent
|
|
125
|
-
let successCount = 0;
|
|
126
|
-
for (const yamlPath of agentFiles) {
|
|
127
|
-
try {
|
|
128
|
-
this.registerCustomAgent(yamlPath);
|
|
129
|
-
successCount++;
|
|
130
|
-
} catch (error) {
|
|
131
|
-
console.error(`Failed to register custom agent from ${yamlPath}:`, error);
|
|
132
|
-
}
|
|
133
|
-
}
|
|
134
|
-
|
|
135
|
-
if (agentFiles.length > 0) {
|
|
136
|
-
console.log(`✅ Successfully loaded ${successCount}/${agentFiles.length} custom agents`);
|
|
137
|
-
}
|
|
138
|
-
|
|
139
|
-
// Load TypeScript implementations
|
|
140
|
-
await this.loadCustomFunctions(agentsPath);
|
|
141
|
-
} catch (error) {
|
|
142
|
-
console.error("Failed to load custom agents:", error);
|
|
143
|
-
}
|
|
144
|
-
}
|
|
145
|
-
|
|
146
|
-
/**
|
|
147
|
-
* Register a custom agent from a YAML file
|
|
148
|
-
*/
|
|
149
|
-
private registerCustomAgent(yamlPath: string): void {
|
|
150
|
-
// Read YAML file
|
|
151
|
-
const yamlContent = readFileSync(yamlPath, "utf-8");
|
|
152
|
-
|
|
153
|
-
// Parse agent metadata
|
|
154
|
-
const agent = this.parseAgentYaml(yamlContent);
|
|
155
|
-
|
|
156
|
-
// Determine agent name from metadata or filename
|
|
157
|
-
const agentName = agent.metadata.route
|
|
158
|
-
? agent.metadata.route.replace("/agents/", "") + ".execute"
|
|
159
|
-
: agent.agent.id + ".execute";
|
|
160
|
-
|
|
161
|
-
// Register the agent (allow overwriting built-ins)
|
|
162
|
-
this.registerAgent(
|
|
163
|
-
{
|
|
164
|
-
id: agent.agent.id,
|
|
165
|
-
name: agentName,
|
|
166
|
-
description: agent.metadata.description,
|
|
167
|
-
protocol: agent.agent.protocol,
|
|
168
|
-
route: agent.metadata.route || `/agents/${agent.agent.id}`,
|
|
169
|
-
requiredProps: agent.schema.required || ["gemini_api_key"],
|
|
170
|
-
yamlContent,
|
|
171
|
-
},
|
|
172
|
-
true // Allow overwriting
|
|
173
|
-
);
|
|
174
|
-
}
|
|
175
|
-
|
|
176
|
-
/**
|
|
177
|
-
* Discover all YAML files in the custom agents directory
|
|
178
|
-
*/
|
|
179
|
-
private discoverCustomAgentFiles(agentsPath: string): string[] {
|
|
180
|
-
const yamlFiles: string[] = [];
|
|
181
|
-
|
|
182
|
-
const scanDirectory = (dirPath: string) => {
|
|
183
|
-
const entries = readdirSync(dirPath);
|
|
184
|
-
|
|
185
|
-
for (const entry of entries) {
|
|
186
|
-
const fullPath = join(dirPath, entry);
|
|
187
|
-
const stat = statSync(fullPath);
|
|
188
|
-
|
|
189
|
-
if (stat.isDirectory()) {
|
|
190
|
-
// Recursively scan subdirectories
|
|
191
|
-
scanDirectory(fullPath);
|
|
192
|
-
} else if (stat.isFile() && (entry.endsWith(".yaml") || entry.endsWith(".yml"))) {
|
|
193
|
-
yamlFiles.push(fullPath);
|
|
194
|
-
}
|
|
195
|
-
}
|
|
196
|
-
};
|
|
197
|
-
|
|
198
|
-
scanDirectory(agentsPath);
|
|
199
|
-
return yamlFiles;
|
|
200
|
-
}
|
|
201
|
-
|
|
202
|
-
/**
|
|
203
|
-
* Register built-in agents
|
|
204
|
-
*/
|
|
205
|
-
private registerBuiltinAgents(): void {
|
|
206
|
-
try {
|
|
207
|
-
// Register Joker Agent
|
|
208
|
-
this.registerJokerAgent();
|
|
209
|
-
// Register Translator Agent
|
|
210
|
-
this.registerTranslatorAgent();
|
|
211
|
-
// Register Image Generator Agent
|
|
212
|
-
this.registerImageAgent();
|
|
213
|
-
// Register MCP Tool Agent
|
|
214
|
-
this.registerMcpToolAgent();
|
|
215
|
-
// Register Gemini Vectorize Agent
|
|
216
|
-
this.registerGeminiVectorizeAgent();
|
|
217
|
-
// Register ChromaDB Agent
|
|
218
|
-
this.registerChromaDBAgent();
|
|
219
|
-
// Register GitMCP Agent
|
|
220
|
-
this.registerGitMcpAgent();
|
|
221
|
-
// Register RAG Agent
|
|
222
|
-
this.registerRagAgent();
|
|
223
|
-
// Register Chat Agent (Orchestrator)
|
|
224
|
-
this.registerChatAgent();
|
|
225
|
-
} catch (error) {
|
|
226
|
-
console.error("Failed to register built-in agents:", error);
|
|
227
|
-
}
|
|
228
|
-
}
|
|
229
|
-
|
|
230
|
-
/**
|
|
231
|
-
* Register Joker Agent
|
|
232
|
-
*/
|
|
233
|
-
private registerJokerAgent(): void {
|
|
234
|
-
try {
|
|
235
|
-
// Get the Joker Agent YAML content
|
|
236
|
-
const jokerYamlPath = this.resolveAgentPath("joker/joker.yaml");
|
|
237
|
-
const yamlContent = readFileSync(jokerYamlPath, "utf-8");
|
|
238
|
-
|
|
239
|
-
// Parse YAML to extract metadata
|
|
240
|
-
const agent = this.parseAgentYaml(yamlContent);
|
|
241
|
-
|
|
242
|
-
this.registerAgent({
|
|
243
|
-
id: agent.agent.id,
|
|
244
|
-
name: "joker.execute",
|
|
245
|
-
description: agent.metadata.description,
|
|
246
|
-
protocol: agent.agent.protocol,
|
|
247
|
-
route: agent.metadata.route || "/agents/joker",
|
|
248
|
-
requiredProps: ["gemini_api_key"],
|
|
249
|
-
yamlContent,
|
|
250
|
-
});
|
|
251
|
-
} catch (error) {
|
|
252
|
-
console.error("Failed to register Joker Agent:", error);
|
|
253
|
-
throw error;
|
|
254
|
-
}
|
|
255
|
-
}
|
|
256
|
-
|
|
257
|
-
/**
|
|
258
|
-
* Register Translator Agent
|
|
259
|
-
*/
|
|
260
|
-
private registerTranslatorAgent(): void {
|
|
261
|
-
try {
|
|
262
|
-
const translatorYamlPath = this.resolveAgentPath("translator/translator.yaml");
|
|
263
|
-
const yamlContent = readFileSync(translatorYamlPath, "utf-8");
|
|
264
|
-
const agent = this.parseAgentYaml(yamlContent);
|
|
265
|
-
|
|
266
|
-
this.registerAgent({
|
|
267
|
-
id: agent.agent.id,
|
|
268
|
-
name: "translator.execute",
|
|
269
|
-
description: agent.metadata.description,
|
|
270
|
-
protocol: agent.agent.protocol,
|
|
271
|
-
route: agent.metadata.route || "/agents/translator",
|
|
272
|
-
requiredProps: ["gemini_api_key"],
|
|
273
|
-
yamlContent,
|
|
274
|
-
});
|
|
275
|
-
} catch (error) {
|
|
276
|
-
console.error("Failed to register Translator Agent:", error);
|
|
277
|
-
throw error;
|
|
278
|
-
}
|
|
279
|
-
}
|
|
280
|
-
|
|
281
|
-
/**
|
|
282
|
-
* Register Image Generator Agent
|
|
283
|
-
*/
|
|
284
|
-
private registerImageAgent(): void {
|
|
285
|
-
try {
|
|
286
|
-
const imageYamlPath = this.resolveAgentPath("image/image.yaml");
|
|
287
|
-
const yamlContent = readFileSync(imageYamlPath, "utf-8");
|
|
288
|
-
const agent = this.parseAgentYaml(yamlContent);
|
|
289
|
-
|
|
290
|
-
this.registerAgent({
|
|
291
|
-
id: agent.agent.id,
|
|
292
|
-
name: "image.generate",
|
|
293
|
-
description: agent.metadata.description,
|
|
294
|
-
protocol: agent.agent.protocol,
|
|
295
|
-
route: agent.metadata.route || "/agents/image",
|
|
296
|
-
requiredProps: ["gemini_api_key"],
|
|
297
|
-
yamlContent,
|
|
298
|
-
});
|
|
299
|
-
} catch (error) {
|
|
300
|
-
console.error("Failed to register Image Agent:", error);
|
|
301
|
-
throw error;
|
|
302
|
-
}
|
|
303
|
-
}
|
|
304
|
-
|
|
305
|
-
/**
|
|
306
|
-
* Register MCP Tool Agent
|
|
307
|
-
*/
|
|
308
|
-
private registerMcpToolAgent(): void {
|
|
309
|
-
try {
|
|
310
|
-
const yamlPath = this.resolveAgentPath("mcp-tool/mcp-tool.yaml");
|
|
311
|
-
const yamlContent = readFileSync(yamlPath, "utf-8");
|
|
312
|
-
const agent = this.parseAgentYaml(yamlContent);
|
|
313
|
-
|
|
314
|
-
this.registerAgent({
|
|
315
|
-
id: agent.agent.id,
|
|
316
|
-
name: "mcp-tool.execute",
|
|
317
|
-
description: agent.metadata.description,
|
|
318
|
-
protocol: agent.agent.protocol,
|
|
319
|
-
route: agent.metadata.route || "/agents/mcp-tool",
|
|
320
|
-
requiredProps: [],
|
|
321
|
-
yamlContent,
|
|
322
|
-
});
|
|
323
|
-
} catch (error) {
|
|
324
|
-
console.error("Failed to register MCP Tool Agent:", error);
|
|
325
|
-
throw error;
|
|
326
|
-
}
|
|
327
|
-
}
|
|
328
|
-
|
|
329
|
-
/**
|
|
330
|
-
* Register Gemini Vectorize Agent
|
|
331
|
-
*/
|
|
332
|
-
private registerGeminiVectorizeAgent(): void {
|
|
333
|
-
try {
|
|
334
|
-
const yamlPath = this.resolveAgentPath("gemini-vectorize/gemini-vectorize.yaml");
|
|
335
|
-
const yamlContent = readFileSync(yamlPath, "utf-8");
|
|
336
|
-
const agent = this.parseAgentYaml(yamlContent);
|
|
337
|
-
|
|
338
|
-
this.registerAgent({
|
|
339
|
-
id: agent.agent.id,
|
|
340
|
-
name: "gemini-vectorize.execute",
|
|
341
|
-
description: agent.metadata.description,
|
|
342
|
-
protocol: agent.agent.protocol,
|
|
343
|
-
route: agent.metadata.route || "/agents/gemini-vectorize",
|
|
344
|
-
requiredProps: ["gemini_api_key"],
|
|
345
|
-
yamlContent,
|
|
346
|
-
});
|
|
347
|
-
} catch (error) {
|
|
348
|
-
console.error("Failed to register Gemini Vectorize Agent:", error);
|
|
349
|
-
throw error;
|
|
350
|
-
}
|
|
351
|
-
}
|
|
352
|
-
|
|
353
|
-
/**
|
|
354
|
-
* Register ChromaDB Agent
|
|
355
|
-
*/
|
|
356
|
-
private registerChromaDBAgent(): void {
|
|
357
|
-
try {
|
|
358
|
-
const yamlPath = this.resolveAgentPath("chromadb/chromadb.yaml");
|
|
359
|
-
const yamlContent = readFileSync(yamlPath, "utf-8");
|
|
360
|
-
const agent = this.parseAgentYaml(yamlContent);
|
|
361
|
-
|
|
362
|
-
this.registerAgent({
|
|
363
|
-
id: agent.agent.id,
|
|
364
|
-
name: "chromadb.execute",
|
|
365
|
-
description: agent.metadata.description,
|
|
366
|
-
protocol: agent.agent.protocol,
|
|
367
|
-
route: agent.metadata.route || "/agents/chromadb",
|
|
368
|
-
requiredProps: [],
|
|
369
|
-
yamlContent,
|
|
370
|
-
});
|
|
371
|
-
} catch (error) {
|
|
372
|
-
console.error("Failed to register ChromaDB Agent:", error);
|
|
373
|
-
throw error;
|
|
374
|
-
}
|
|
375
|
-
}
|
|
376
|
-
|
|
377
|
-
/**
|
|
378
|
-
* Register GitMCP Agent
|
|
379
|
-
*/
|
|
380
|
-
private registerGitMcpAgent(): void {
|
|
381
|
-
try {
|
|
382
|
-
const yamlPath = this.resolveAgentPath("gitmcp/gitmcp.yaml");
|
|
383
|
-
const yamlContent = readFileSync(yamlPath, "utf-8");
|
|
384
|
-
const agent = this.parseAgentYaml(yamlContent);
|
|
385
|
-
|
|
386
|
-
this.registerAgent({
|
|
387
|
-
id: agent.agent.id,
|
|
388
|
-
name: "gitmcp.execute",
|
|
389
|
-
description: agent.metadata.description,
|
|
390
|
-
protocol: agent.agent.protocol,
|
|
391
|
-
route: agent.metadata.route || "/agents/gitmcp",
|
|
392
|
-
requiredProps: [],
|
|
393
|
-
yamlContent,
|
|
394
|
-
});
|
|
395
|
-
} catch (error) {
|
|
396
|
-
console.error("Failed to register GitMCP Agent:", error);
|
|
397
|
-
throw error;
|
|
398
|
-
}
|
|
399
|
-
}
|
|
400
|
-
|
|
401
|
-
/**
|
|
402
|
-
* Register RAG Agent
|
|
403
|
-
*/
|
|
404
|
-
private registerRagAgent(): void {
|
|
405
|
-
try {
|
|
406
|
-
const yamlPath = this.resolveAgentPath("rag/rag.yaml");
|
|
407
|
-
const yamlContent = readFileSync(yamlPath, "utf-8");
|
|
408
|
-
const agent = this.parseAgentYaml(yamlContent);
|
|
409
|
-
|
|
410
|
-
this.registerAgent({
|
|
411
|
-
id: agent.agent.id,
|
|
412
|
-
name: "rag.execute",
|
|
413
|
-
description: agent.metadata.description,
|
|
414
|
-
protocol: agent.agent.protocol,
|
|
415
|
-
route: agent.metadata.route || "/agents/rag",
|
|
416
|
-
requiredProps: ["gemini_api_key"],
|
|
417
|
-
yamlContent,
|
|
418
|
-
});
|
|
419
|
-
} catch (error) {
|
|
420
|
-
console.error("Failed to register RAG Agent:", error);
|
|
421
|
-
throw error;
|
|
422
|
-
}
|
|
423
|
-
}
|
|
424
|
-
|
|
425
|
-
/**
|
|
426
|
-
* Register Chat Agent (Orchestrator)
|
|
427
|
-
*/
|
|
428
|
-
private registerChatAgent(): void {
|
|
429
|
-
try {
|
|
430
|
-
const yamlPath = this.resolveAgentPath("chat/chat.yaml");
|
|
431
|
-
const yamlContent = readFileSync(yamlPath, "utf-8");
|
|
432
|
-
const agent = this.parseAgentYaml(yamlContent);
|
|
433
|
-
|
|
434
|
-
this.registerAgent({
|
|
435
|
-
id: agent.agent.id,
|
|
436
|
-
name: "chat.execute",
|
|
437
|
-
description: agent.metadata.description,
|
|
438
|
-
protocol: agent.agent.protocol,
|
|
439
|
-
route: agent.metadata.route || "/agents/chat",
|
|
440
|
-
requiredProps: ["gemini_api_key"],
|
|
441
|
-
yamlContent,
|
|
442
|
-
});
|
|
443
|
-
} catch (error) {
|
|
444
|
-
console.error("Failed to register Chat Agent:", error);
|
|
445
|
-
throw error;
|
|
446
|
-
}
|
|
447
|
-
}
|
|
448
|
-
|
|
449
|
-
/**
|
|
450
|
-
* Parse agent YAML content
|
|
451
|
-
*/
|
|
452
|
-
private parseAgentYaml(yamlContent: string): any {
|
|
453
|
-
// Simple validation - full parsing will be done by interpreter
|
|
454
|
-
if (!yamlContent.includes("agent:") || !yamlContent.includes("logic:")) {
|
|
455
|
-
throw new Error("Invalid agent YAML: missing required sections");
|
|
456
|
-
}
|
|
457
|
-
|
|
458
|
-
// Basic YAML parsing for metadata extraction
|
|
459
|
-
const lines = yamlContent.split("\n");
|
|
460
|
-
const metadata: any = {
|
|
461
|
-
agent: { id: "", protocol: "" },
|
|
462
|
-
metadata: { description: "", route: "" },
|
|
463
|
-
schema: { required: [] },
|
|
464
|
-
};
|
|
465
|
-
|
|
466
|
-
for (let i = 0; i < lines.length; i++) {
|
|
467
|
-
const line = lines[i].trim();
|
|
468
|
-
|
|
469
|
-
if (line.startsWith("id:") && metadata.agent.id === "") {
|
|
470
|
-
metadata.agent.id = line.split(":")[1].trim();
|
|
471
|
-
}
|
|
472
|
-
|
|
473
|
-
if (line.startsWith("protocol:") && metadata.agent.protocol === "") {
|
|
474
|
-
metadata.agent.protocol = line.split(":")[1].trim();
|
|
475
|
-
}
|
|
476
|
-
|
|
477
|
-
if (
|
|
478
|
-
line.startsWith("description:") &&
|
|
479
|
-
metadata.metadata.description === ""
|
|
480
|
-
) {
|
|
481
|
-
metadata.metadata.description = line
|
|
482
|
-
.substring(line.indexOf(":") + 1)
|
|
483
|
-
.trim();
|
|
484
|
-
}
|
|
485
|
-
|
|
486
|
-
if (line.startsWith("route:") && metadata.metadata.route === "") {
|
|
487
|
-
metadata.metadata.route = line.split(":")[1].trim();
|
|
488
|
-
}
|
|
489
|
-
|
|
490
|
-
if (
|
|
491
|
-
line.startsWith("required:") &&
|
|
492
|
-
metadata.schema.required.length === 0
|
|
493
|
-
) {
|
|
494
|
-
// Parse required array
|
|
495
|
-
const requiredStr = line.substring(line.indexOf(":") + 1).trim();
|
|
496
|
-
metadata.schema.required = JSON.parse(requiredStr);
|
|
497
|
-
}
|
|
498
|
-
}
|
|
499
|
-
|
|
500
|
-
return metadata;
|
|
501
|
-
}
|
|
502
|
-
|
|
503
|
-
/**
|
|
504
|
-
* Validate agent registration
|
|
505
|
-
*/
|
|
506
|
-
private validateAgent(agent: AgentRegistration): void {
|
|
507
|
-
if (!agent.id || !agent.name || !agent.protocol) {
|
|
508
|
-
throw new Error("Invalid agent: missing required fields");
|
|
509
|
-
}
|
|
510
|
-
|
|
511
|
-
if (!agent.yamlContent || agent.yamlContent.length === 0) {
|
|
512
|
-
throw new Error("Invalid agent: missing YAML content");
|
|
513
|
-
}
|
|
514
|
-
|
|
515
|
-
if (!agent.protocol.startsWith("beddel-declarative-protocol")) {
|
|
516
|
-
throw new Error(`Unsupported protocol: ${agent.protocol}`);
|
|
517
|
-
}
|
|
518
|
-
}
|
|
519
|
-
|
|
520
|
-
/**
|
|
521
|
-
* Resolve agent asset path when running in bundled runtimes
|
|
522
|
-
*/
|
|
523
|
-
private resolveAgentPath(filename: string): string {
|
|
524
|
-
const candidatePaths = [
|
|
525
|
-
join(__dirname, filename),
|
|
526
|
-
join(process.cwd(), "packages", "beddel", "src", "agents", filename),
|
|
527
|
-
];
|
|
528
|
-
|
|
529
|
-
for (const path of candidatePaths) {
|
|
530
|
-
if (existsSync(path)) {
|
|
531
|
-
return path;
|
|
532
|
-
}
|
|
533
|
-
}
|
|
534
|
-
|
|
535
|
-
throw new Error(
|
|
536
|
-
`Unable to locate agent asset '${filename}' in paths: ${candidatePaths.join(
|
|
537
|
-
", "
|
|
538
|
-
)}`
|
|
539
|
-
);
|
|
540
|
-
}
|
|
541
|
-
|
|
542
|
-
/**
|
|
543
|
-
* Load custom TypeScript function implementations from /agents directory
|
|
544
|
-
* @param agentsPath - Path to the agents directory
|
|
545
|
-
*/
|
|
546
|
-
private async loadCustomFunctions(agentsPath: string): Promise<void> {
|
|
547
|
-
try {
|
|
548
|
-
const files = readdirSync(agentsPath);
|
|
549
|
-
let functionCount = 0;
|
|
550
|
-
|
|
551
|
-
for (const file of files) {
|
|
552
|
-
if (file.endsWith(".ts")) {
|
|
553
|
-
const modulePath = join(agentsPath, file);
|
|
554
|
-
try {
|
|
555
|
-
// Dynamic import of the custom agent module
|
|
556
|
-
const module = await import(modulePath);
|
|
557
|
-
|
|
558
|
-
// Register all exported functions with a namespaced key
|
|
559
|
-
// e.g., "my-agent/myFunction"
|
|
560
|
-
Object.keys(module).forEach((funcName) => {
|
|
561
|
-
if (typeof module[funcName] === "function") {
|
|
562
|
-
const key = `${file.replace(".ts", "")}/${funcName}`;
|
|
563
|
-
this.customFunctions.set(key, module[funcName]);
|
|
564
|
-
functionCount++;
|
|
565
|
-
console.log(`📦 Registered custom function: ${key}`);
|
|
566
|
-
}
|
|
567
|
-
});
|
|
568
|
-
} catch (err) {
|
|
569
|
-
console.error(
|
|
570
|
-
`Failed to load custom agent implementation ${file}:`,
|
|
571
|
-
err
|
|
572
|
-
);
|
|
573
|
-
}
|
|
574
|
-
}
|
|
575
|
-
}
|
|
576
|
-
|
|
577
|
-
if (functionCount > 0) {
|
|
578
|
-
console.log(`✅ Successfully loaded ${functionCount} custom function(s)`);
|
|
579
|
-
}
|
|
580
|
-
} catch (error) {
|
|
581
|
-
console.error("Failed to load custom functions:", error);
|
|
582
|
-
}
|
|
583
|
-
}
|
|
584
|
-
|
|
585
|
-
/**
|
|
586
|
-
* Get a custom function by its namespaced key
|
|
587
|
-
* @param name - Function name in format "agent-name/functionName"
|
|
588
|
-
* @returns The registered function or undefined
|
|
589
|
-
*/
|
|
590
|
-
public getCustomFunction(name: string): Function | undefined {
|
|
591
|
-
return this.customFunctions.get(name);
|
|
592
|
-
}
|
|
593
|
-
}
|
|
594
|
-
|
|
595
|
-
// Singleton instance
|
|
596
|
-
export const agentRegistry = new AgentRegistry();
|
|
597
|
-
|
|
598
|
-
export default AgentRegistry;
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Translator Agent - Public exports (client-safe)
|
|
3
|
-
*/
|
|
4
|
-
|
|
5
|
-
// Schema exports (client-safe)
|
|
6
|
-
export { TranslatorInputSchema, TranslatorOutputSchema } from './translator.schema';
|
|
7
|
-
export type { TranslatorInput, TranslatorOutput } from './translator.schema';
|
|
8
|
-
|
|
9
|
-
// Type exports (client-safe)
|
|
10
|
-
export type { TranslationHandlerParams, TranslationHandlerResult, TranslatorMetadata } from './translator.types';
|
|
11
|
-
|
|
12
|
-
// Metadata (client-safe)
|
|
13
|
-
export const translatorMetadata = {
|
|
14
|
-
id: 'translator',
|
|
15
|
-
name: 'Translator Agent',
|
|
16
|
-
description: 'Translates text between languages using Gemini Flash via Genkit',
|
|
17
|
-
category: 'translation',
|
|
18
|
-
route: '/agents/translator',
|
|
19
|
-
} as const;
|