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
package/package.json
CHANGED
|
@@ -1,123 +1,36 @@
|
|
|
1
1
|
{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
2
|
+
"name": "beddel",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"type": "module",
|
|
5
|
+
"main": "./dist/index.js",
|
|
6
|
+
"types": "./dist/index.d.ts",
|
|
7
|
+
"exports": {
|
|
8
|
+
".": {
|
|
9
|
+
"import": "./dist/index.js",
|
|
10
|
+
"types": "./dist/index.d.ts"
|
|
11
|
+
},
|
|
12
|
+
"./server": {
|
|
13
|
+
"import": "./dist/server.js",
|
|
14
|
+
"types": "./dist/server.d.ts"
|
|
15
|
+
},
|
|
16
|
+
"./client": {
|
|
17
|
+
"import": "./dist/client.js",
|
|
18
|
+
"types": "./dist/client.d.ts"
|
|
19
|
+
}
|
|
18
20
|
},
|
|
19
|
-
"
|
|
20
|
-
|
|
21
|
-
|
|
21
|
+
"scripts": {
|
|
22
|
+
"build": "tsc",
|
|
23
|
+
"dev": "tsc --watch"
|
|
22
24
|
},
|
|
23
|
-
"
|
|
24
|
-
|
|
25
|
-
|
|
25
|
+
"dependencies": {
|
|
26
|
+
"ai": "^6.0.3",
|
|
27
|
+
"@ai-sdk/google": "^3.0.1",
|
|
28
|
+
"zod": "^3.23.8",
|
|
29
|
+
"js-yaml": "^4.1.0"
|
|
26
30
|
},
|
|
27
|
-
"
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
"./client": {
|
|
32
|
-
"types": "./dist/client/index.d.ts",
|
|
33
|
-
"default": "./dist/client/index.js"
|
|
34
|
-
},
|
|
35
|
-
"./shared": {
|
|
36
|
-
"types": "./dist/shared/index.d.ts",
|
|
37
|
-
"default": "./dist/shared/index.js"
|
|
38
|
-
},
|
|
39
|
-
"./agents": {
|
|
40
|
-
"types": "./dist/agents/index.d.ts",
|
|
41
|
-
"default": "./dist/agents/index.js"
|
|
42
|
-
},
|
|
43
|
-
"./agents/*": {
|
|
44
|
-
"types": "./dist/agents/*/index.d.ts",
|
|
45
|
-
"default": "./dist/agents/*/index.js"
|
|
46
|
-
}
|
|
47
|
-
},
|
|
48
|
-
"scripts": {
|
|
49
|
-
"prepublishOnly": "npm run build",
|
|
50
|
-
"build": "tsc -p tsconfig.build.json && npm run copy-yaml",
|
|
51
|
-
"copy-yaml": "find src/agents -name '*.yaml' -exec sh -c 'mkdir -p dist/agents/$(dirname \"{}\" | sed \"s|src/agents/||\") && cp \"{}\" dist/agents/$(dirname \"{}\" | sed \"s|src/agents/||\")/$(basename \"{}\")' \\;",
|
|
52
|
-
"dev": "tsc -p tsconfig.build.json --watch",
|
|
53
|
-
"test": "jest",
|
|
54
|
-
"test:watch": "jest --watch",
|
|
55
|
-
"test:coverage": "jest --coverage",
|
|
56
|
-
"lint": "eslint src --ext .ts",
|
|
57
|
-
"lint:fix": "eslint src --ext .ts --fix",
|
|
58
|
-
"version:patch": "npm version patch",
|
|
59
|
-
"version:minor": "npm version minor",
|
|
60
|
-
"version:major": "npm version major"
|
|
61
|
-
},
|
|
62
|
-
"keywords": [
|
|
63
|
-
"yaml",
|
|
64
|
-
"agents",
|
|
65
|
-
"ai-agents",
|
|
66
|
-
"declarative",
|
|
67
|
-
"secure",
|
|
68
|
-
"sandbox",
|
|
69
|
-
"isolated-vm",
|
|
70
|
-
"multi-tenant",
|
|
71
|
-
"gemini",
|
|
72
|
-
"genkit",
|
|
73
|
-
"workflow",
|
|
74
|
-
"nodejs"
|
|
75
|
-
],
|
|
76
|
-
"author": "Beddel Contributors",
|
|
77
|
-
"license": "MIT",
|
|
78
|
-
"repository": {
|
|
79
|
-
"type": "git",
|
|
80
|
-
"url": "https://github.com/botanarede/beddel.git"
|
|
81
|
-
},
|
|
82
|
-
"bugs": {
|
|
83
|
-
"url": "https://github.com/botanarede/beddel/issues"
|
|
84
|
-
},
|
|
85
|
-
"homepage": "https://github.com/botanarede/beddel#readme",
|
|
86
|
-
"dependencies": {
|
|
87
|
-
"@ai-sdk/google": "^2.0.23",
|
|
88
|
-
"@modelcontextprotocol/sdk": "^1.0.0",
|
|
89
|
-
"@upstash/redis": "^1.34.3",
|
|
90
|
-
"ai": "^5.0.70",
|
|
91
|
-
"chromadb": "^3.1.8",
|
|
92
|
-
"eventsource": "^2.0.2",
|
|
93
|
-
"graphql": "^16.10.0",
|
|
94
|
-
"graphql-yoga": "^5.13.5",
|
|
95
|
-
"isolated-vm": "5.0.1",
|
|
96
|
-
"js-yaml": "^4.1.1",
|
|
97
|
-
"server-only": "^0.0.1",
|
|
98
|
-
"zod": "^4.1.12"
|
|
99
|
-
},
|
|
100
|
-
"peerDependencies": {
|
|
101
|
-
"firebase-admin": ">=12.0.0"
|
|
102
|
-
},
|
|
103
|
-
"peerDependenciesMeta": {
|
|
104
|
-
"firebase-admin": {
|
|
105
|
-
"optional": true
|
|
31
|
+
"devDependencies": {
|
|
32
|
+
"typescript": "^5.6.3",
|
|
33
|
+
"@types/node": "^22.10.2",
|
|
34
|
+
"@types/js-yaml": "^4.0.9"
|
|
106
35
|
}
|
|
107
|
-
|
|
108
|
-
"devDependencies": {
|
|
109
|
-
"@types/eventsource": "^1.1.15",
|
|
110
|
-
"@types/jest": "^29.5.12",
|
|
111
|
-
"@types/js-yaml": "^4.0.9",
|
|
112
|
-
"@types/node": "^22.0.0",
|
|
113
|
-
"@typescript-eslint/eslint-plugin": "^8.0.0",
|
|
114
|
-
"@typescript-eslint/parser": "^8.0.0",
|
|
115
|
-
"eslint": "^9.0.0",
|
|
116
|
-
"jest": "^29.0.0",
|
|
117
|
-
"ts-jest": "^29.0.0",
|
|
118
|
-
"typescript": "^5.0.0"
|
|
119
|
-
},
|
|
120
|
-
"engines": {
|
|
121
|
-
"node": ">=18.0.0"
|
|
122
|
-
}
|
|
123
|
-
}
|
|
36
|
+
}
|
package/src/client.ts
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Beddel Protocol - Client Bundle
|
|
3
|
+
*
|
|
4
|
+
* This entry point exports ONLY types and utilities safe for client-side use.
|
|
5
|
+
* No Node.js dependencies (fs, crypto, etc.) are included here.
|
|
6
|
+
*
|
|
7
|
+
* Usage: import type { ParsedYaml } from 'beddel/client';
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
// Types only - safe for client bundles
|
|
11
|
+
export type {
|
|
12
|
+
ParsedYaml,
|
|
13
|
+
WorkflowStep,
|
|
14
|
+
StepConfig,
|
|
15
|
+
YamlMetadata,
|
|
16
|
+
ExecutionContext,
|
|
17
|
+
PrimitiveHandler,
|
|
18
|
+
} from './types';
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Beddel Protocol - Secure YAML Parser
|
|
3
|
+
* Uses FAILSAFE_SCHEMA to prevent code execution attacks
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
import { readFile } from 'fs/promises';
|
|
7
|
+
import yaml, { FAILSAFE_SCHEMA } from 'js-yaml';
|
|
8
|
+
import type { ParsedYaml } from '../types';
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Load and parse a YAML workflow file securely.
|
|
12
|
+
*
|
|
13
|
+
* Security: Uses FAILSAFE_SCHEMA which only allows:
|
|
14
|
+
* - Strings
|
|
15
|
+
* - Arrays (sequences)
|
|
16
|
+
* - Plain objects (mappings)
|
|
17
|
+
*
|
|
18
|
+
* This completely blocks dangerous YAML tags:
|
|
19
|
+
* - !!js/function (arbitrary code execution)
|
|
20
|
+
* - !!js/regexp (ReDoS vulnerabilities)
|
|
21
|
+
* - !!js/undefined
|
|
22
|
+
* - Custom tags
|
|
23
|
+
*
|
|
24
|
+
* @param path - Absolute or relative path to YAML file
|
|
25
|
+
* @returns Parsed YAML as typed ParsedYaml object
|
|
26
|
+
* @throws Error if file cannot be read or YAML is invalid
|
|
27
|
+
*/
|
|
28
|
+
export async function loadYaml(path: string): Promise<ParsedYaml> {
|
|
29
|
+
const content = await readFile(path, 'utf-8');
|
|
30
|
+
|
|
31
|
+
// FAILSAFE_SCHEMA is the most restrictive schema in js-yaml
|
|
32
|
+
// No custom constructors, no type coercion, maximum security
|
|
33
|
+
const parsed = yaml.load(content, { schema: FAILSAFE_SCHEMA }) as ParsedYaml;
|
|
34
|
+
|
|
35
|
+
return parsed;
|
|
36
|
+
}
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Beddel Protocol - Variable Resolver
|
|
3
|
+
*
|
|
4
|
+
* Resolves template variables in step configurations.
|
|
5
|
+
* Patterns: $input.path.to.value, $stepResult.path.to.value
|
|
6
|
+
*
|
|
7
|
+
* Server-only: Used within WorkflowExecutor during step execution.
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
import type { ExecutionContext } from '../types';
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* Resolve a path like "foo.bar.baz" on an object.
|
|
14
|
+
* Returns undefined if path doesn't exist.
|
|
15
|
+
*/
|
|
16
|
+
function resolvePath(obj: unknown, path: string): unknown {
|
|
17
|
+
const parts = path.split('.');
|
|
18
|
+
let current: unknown = obj;
|
|
19
|
+
|
|
20
|
+
for (const part of parts) {
|
|
21
|
+
if (current === null || current === undefined) {
|
|
22
|
+
return undefined;
|
|
23
|
+
}
|
|
24
|
+
if (typeof current === 'object') {
|
|
25
|
+
current = (current as Record<string, unknown>)[part];
|
|
26
|
+
} else {
|
|
27
|
+
return undefined;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
return current;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* Resolve variable references in a template value.
|
|
36
|
+
*
|
|
37
|
+
* Supports:
|
|
38
|
+
* - "$input.messages" → context.input.messages
|
|
39
|
+
* - "$stepResult.llmOutput.text" → context.variables.get('llmOutput').text
|
|
40
|
+
* - Nested objects/arrays are resolved recursively
|
|
41
|
+
*
|
|
42
|
+
* @param template - Value to resolve (string, object, array, or primitive)
|
|
43
|
+
* @param context - Execution context with input and variables
|
|
44
|
+
* @returns Resolved value with all variable references replaced
|
|
45
|
+
*/
|
|
46
|
+
export function resolveVariables(template: unknown, context: ExecutionContext): unknown {
|
|
47
|
+
// Handle null/undefined
|
|
48
|
+
if (template === null || template === undefined) {
|
|
49
|
+
return template;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
// Handle string patterns
|
|
53
|
+
if (typeof template === 'string') {
|
|
54
|
+
// Check for $input.* pattern
|
|
55
|
+
if (template.startsWith('$input.')) {
|
|
56
|
+
const path = template.slice(7); // Remove "$input."
|
|
57
|
+
return resolvePath(context.input, path);
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
// Check for $stepResult.* pattern (references step.result names)
|
|
61
|
+
if (template.startsWith('$stepResult.')) {
|
|
62
|
+
const fullPath = template.slice(12); // Remove "$stepResult."
|
|
63
|
+
const dotIndex = fullPath.indexOf('.');
|
|
64
|
+
|
|
65
|
+
if (dotIndex === -1) {
|
|
66
|
+
// Just the variable name, e.g., "$stepResult.llmOutput"
|
|
67
|
+
return context.variables.get(fullPath);
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
// Variable name + path, e.g., "$stepResult.llmOutput.text"
|
|
71
|
+
const varName = fullPath.slice(0, dotIndex);
|
|
72
|
+
const restPath = fullPath.slice(dotIndex + 1);
|
|
73
|
+
const varValue = context.variables.get(varName);
|
|
74
|
+
return resolvePath(varValue, restPath);
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
// Check for legacy $varName.* pattern (direct variable reference)
|
|
78
|
+
if (template.startsWith('$') && !template.startsWith('$$')) {
|
|
79
|
+
const fullPath = template.slice(1); // Remove "$"
|
|
80
|
+
const dotIndex = fullPath.indexOf('.');
|
|
81
|
+
|
|
82
|
+
if (dotIndex === -1) {
|
|
83
|
+
// Just the variable name, e.g., "$llmOutput"
|
|
84
|
+
return context.variables.get(fullPath);
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
// Variable name + path, e.g., "$llmOutput.text"
|
|
88
|
+
const varName = fullPath.slice(0, dotIndex);
|
|
89
|
+
const restPath = fullPath.slice(dotIndex + 1);
|
|
90
|
+
const varValue = context.variables.get(varName);
|
|
91
|
+
return resolvePath(varValue, restPath);
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
// No pattern match, return as-is
|
|
95
|
+
return template;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
// Handle arrays - resolve each element
|
|
99
|
+
if (Array.isArray(template)) {
|
|
100
|
+
return template.map(item => resolveVariables(item, context));
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
// Handle objects - resolve each value
|
|
104
|
+
if (typeof template === 'object') {
|
|
105
|
+
const resolved: Record<string, unknown> = {};
|
|
106
|
+
for (const [key, value] of Object.entries(template)) {
|
|
107
|
+
resolved[key] = resolveVariables(value, context);
|
|
108
|
+
}
|
|
109
|
+
return resolved;
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
// Primitives (number, boolean) - return as-is
|
|
113
|
+
return template;
|
|
114
|
+
}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Beddel Protocol - Workflow Executor
|
|
3
|
+
*
|
|
4
|
+
* Sequential pipeline executor that iterates over workflow steps.
|
|
5
|
+
*
|
|
6
|
+
* Server-only: Uses primitives that may call external APIs.
|
|
7
|
+
*
|
|
8
|
+
* CRITICAL BEHAVIOR:
|
|
9
|
+
* - If a handler returns a Response instance (streaming), execution stops
|
|
10
|
+
* and that Response is returned immediately to the client.
|
|
11
|
+
* - Non-Response results are stored in context.variables for subsequent steps.
|
|
12
|
+
*/
|
|
13
|
+
|
|
14
|
+
import type { ParsedYaml, WorkflowStep, ExecutionContext, StepConfig } from '../types';
|
|
15
|
+
import { handlerRegistry } from '../primitives';
|
|
16
|
+
|
|
17
|
+
export class WorkflowExecutor {
|
|
18
|
+
private steps: WorkflowStep[];
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* Create a new WorkflowExecutor from parsed YAML.
|
|
22
|
+
* @param yaml - Parsed YAML document containing workflow steps
|
|
23
|
+
*/
|
|
24
|
+
constructor(yaml: ParsedYaml) {
|
|
25
|
+
this.steps = yaml.workflow;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* Execute the workflow pipeline.
|
|
30
|
+
*
|
|
31
|
+
* @param input - Input data (e.g., { messages: [...] } for chat)
|
|
32
|
+
* @returns Response if streaming, or accumulated variables object
|
|
33
|
+
*
|
|
34
|
+
* @example
|
|
35
|
+
* ```typescript
|
|
36
|
+
* const executor = new WorkflowExecutor(yaml);
|
|
37
|
+
* const result = await executor.execute({ messages });
|
|
38
|
+
* if (result instanceof Response) {
|
|
39
|
+
* return result; // Stream to client
|
|
40
|
+
* }
|
|
41
|
+
* return Response.json(result);
|
|
42
|
+
* ```
|
|
43
|
+
*/
|
|
44
|
+
async execute(input: unknown): Promise<Response | Record<string, unknown>> {
|
|
45
|
+
const context: ExecutionContext = {
|
|
46
|
+
input,
|
|
47
|
+
variables: new Map(),
|
|
48
|
+
};
|
|
49
|
+
|
|
50
|
+
for (const step of this.steps) {
|
|
51
|
+
const handler = handlerRegistry[step.type];
|
|
52
|
+
|
|
53
|
+
if (!handler) {
|
|
54
|
+
throw new Error(
|
|
55
|
+
`[Beddel] Unknown step type: "${step.type}" in step "${step.id}". ` +
|
|
56
|
+
`Registered types: ${Object.keys(handlerRegistry).join(', ') || '(none)'}`
|
|
57
|
+
);
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
// Execute the handler with step config and context
|
|
61
|
+
const result = await handler(step.config as StepConfig, context);
|
|
62
|
+
|
|
63
|
+
// CRITICAL: If handler returns Response (streaming), return immediately
|
|
64
|
+
if (result instanceof Response) {
|
|
65
|
+
return result;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
// Store result for subsequent steps (if step.result is defined)
|
|
69
|
+
if (step.result) {
|
|
70
|
+
context.variables.set(step.result, result);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
// No streaming occurred - return accumulated variables as object
|
|
75
|
+
return Object.fromEntries(context.variables);
|
|
76
|
+
}
|
|
77
|
+
}
|
package/src/index.ts
CHANGED
|
@@ -1,168 +1,34 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Beddel -
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
2
|
+
* Beddel Protocol - Streaming Pipeline Edition
|
|
3
|
+
* Server Entry Point
|
|
4
|
+
*
|
|
5
|
+
* This is the main entry point for server-side usage.
|
|
6
|
+
* Contains Node.js dependencies (fs) - DO NOT import in client code.
|
|
7
|
+
*
|
|
8
|
+
* For client-safe types, use: import type { ... } from 'beddel/client';
|
|
6
9
|
*/
|
|
7
10
|
|
|
8
|
-
//
|
|
9
|
-
export {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
} from "./parser/secure-yaml-parser";
|
|
11
|
+
// Core (server-only)
|
|
12
|
+
export { loadYaml } from './core/parser';
|
|
13
|
+
export { WorkflowExecutor } from './core/workflow';
|
|
14
|
+
export { resolveVariables } from './core/variable-resolver';
|
|
15
|
+
export { createBeddelHandler } from './server/handler';
|
|
14
16
|
|
|
15
|
-
// Runtime Isolado exports
|
|
16
|
-
export {
|
|
17
|
-
IsolatedRuntimeManager,
|
|
18
|
-
runtimeManager,
|
|
19
|
-
} from "./runtime/isolatedRuntime";
|
|
20
|
-
export type {
|
|
21
|
-
ExecutionOptions,
|
|
22
|
-
ExecutionResult,
|
|
23
|
-
RuntimeContext,
|
|
24
|
-
} from "./runtime/isolatedRuntime";
|
|
25
|
-
|
|
26
|
-
// Simple Runtime exports
|
|
27
|
-
export {
|
|
28
|
-
SimpleIsolatedRuntimeManager,
|
|
29
|
-
runtimeManager as simpleRuntimeManager,
|
|
30
|
-
IsolatedRuntimeError as SimpleRuntimeError,
|
|
31
|
-
} from "./runtime/simpleRuntime";
|
|
32
|
-
export type {
|
|
33
|
-
ExecutionOptions as SimpleExecutionOptions,
|
|
34
|
-
ExecutionResult as SimpleExecutionResult,
|
|
35
|
-
} from "./runtime/simpleRuntime";
|
|
36
|
-
|
|
37
|
-
// Declarative runtime exports
|
|
38
|
-
export {
|
|
39
|
-
DeclarativeAgentInterpreter,
|
|
40
|
-
declarativeInterpreter,
|
|
41
|
-
} from "./runtime/declarativeAgentRuntime";
|
|
42
|
-
export type {
|
|
43
|
-
YamlAgentDefinition,
|
|
44
|
-
YamlAgentInterpreterOptions,
|
|
45
|
-
YamlExecutionResult,
|
|
46
|
-
} from "./runtime/declarativeAgentRuntime";
|
|
47
|
-
export {
|
|
48
|
-
DeclarativeSchemaCompiler,
|
|
49
|
-
DeclarativeSchemaValidationError,
|
|
50
|
-
SchemaCompilationError,
|
|
51
|
-
} from "./runtime/schemaCompiler";
|
|
52
|
-
|
|
53
|
-
// Agent registry exports
|
|
54
|
-
export { AgentRegistry, agentRegistry } from "./agents/registry";
|
|
55
|
-
export type { AgentRegistration } from "./agents/registry";
|
|
56
|
-
|
|
57
|
-
// Configuration exports
|
|
58
|
-
export {
|
|
59
|
-
runtimeConfig,
|
|
60
|
-
securityProfiles,
|
|
61
|
-
performanceTargets,
|
|
62
|
-
auditConfig,
|
|
63
|
-
} from "./config";
|
|
64
|
-
export type {
|
|
65
|
-
RuntimeConfig,
|
|
66
|
-
SecurityProfile,
|
|
67
|
-
PerformanceTarget,
|
|
68
|
-
AuditConfig,
|
|
69
|
-
} from "./config";
|
|
70
|
-
|
|
71
|
-
// Error exports
|
|
72
|
-
export {
|
|
73
|
-
YAMLBaseError,
|
|
74
|
-
YAMLParseError,
|
|
75
|
-
YAMLSecurityError,
|
|
76
|
-
YAMLPerformanceError,
|
|
77
|
-
} from "./errors";
|
|
78
17
|
|
|
79
|
-
//
|
|
80
|
-
export {
|
|
81
|
-
export { SecurityScore } from "./security/score";
|
|
82
|
-
export {
|
|
83
|
-
SecurityManager,
|
|
84
|
-
SecurityMonitor,
|
|
85
|
-
securityMonitor,
|
|
86
|
-
SecurityDashboard,
|
|
87
|
-
securityDashboard,
|
|
88
|
-
ThreatDetectionEngine,
|
|
89
|
-
AnomalyDetector,
|
|
90
|
-
ThreatMLModel,
|
|
91
|
-
} from "./security";
|
|
92
|
-
export type {
|
|
93
|
-
AlertLevel,
|
|
94
|
-
SecurityEvent,
|
|
95
|
-
ThreatAnalysis,
|
|
96
|
-
DashboardConfig,
|
|
97
|
-
SecurityMetric,
|
|
98
|
-
} from "./security";
|
|
99
|
-
export { AuditService } from "./runtime/audit";
|
|
18
|
+
// Primitives registry (for custom handler registration)
|
|
19
|
+
export { handlerRegistry, registerPrimitive } from './primitives';
|
|
100
20
|
|
|
101
|
-
//
|
|
102
|
-
export {
|
|
103
|
-
export {
|
|
21
|
+
// Tools registry (for custom tool registration)
|
|
22
|
+
export { toolRegistry, registerTool } from './tools';
|
|
23
|
+
export type { ToolImplementation } from './tools';
|
|
104
24
|
|
|
105
|
-
//
|
|
106
|
-
export {
|
|
107
|
-
TenantManager,
|
|
108
|
-
ProviderRegistry,
|
|
109
|
-
createProvider,
|
|
110
|
-
isValidProviderType,
|
|
111
|
-
isBuiltInProviderType,
|
|
112
|
-
getSupportedProviders,
|
|
113
|
-
getBuiltInProviders,
|
|
114
|
-
InMemoryTenantProvider,
|
|
115
|
-
TenantError,
|
|
116
|
-
ValidationError,
|
|
117
|
-
NotFoundError,
|
|
118
|
-
NotSupportedError,
|
|
119
|
-
TenantAlreadyExistsError,
|
|
120
|
-
} from "./tenant";
|
|
25
|
+
// Types (re-exported for convenience, also available via beddel/client)
|
|
121
26
|
export type {
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
ITenantApp,
|
|
130
|
-
ITenantDatabase,
|
|
131
|
-
ITenantCollection,
|
|
132
|
-
ITenantDocument,
|
|
133
|
-
} from "./tenant";
|
|
134
|
-
|
|
135
|
-
// Compliance exports
|
|
136
|
-
export { GDPRCompliance } from "./compliance/gdprEngine";
|
|
137
|
-
export { LGPDCompliance } from "./compliance/lgpdEngine";
|
|
138
|
-
export type { GDPRConfig, GDPRComplianceResult } from "./compliance/gdprEngine";
|
|
139
|
-
export type { LGPDConfig, LGPDComplianceResult } from "./compliance/lgpdEngine";
|
|
140
|
-
|
|
141
|
-
// Integration: Secure YAML Parser with Isolated Runtime
|
|
142
|
-
export { SecureYamlRuntime } from "./integration/secure-yaml-runtime";
|
|
143
|
-
|
|
144
|
-
// Shared types
|
|
145
|
-
export type { ExecutionContext } from "./types/executionContext";
|
|
146
|
-
|
|
147
|
-
// Shared agent types (client-safe)
|
|
148
|
-
export type {
|
|
149
|
-
AgentMetadata,
|
|
150
|
-
AgentResponse,
|
|
151
|
-
ExecutionStep,
|
|
152
|
-
WorkflowStepType,
|
|
153
|
-
AgentCategory,
|
|
154
|
-
} from "./shared/types/agent.types";
|
|
155
|
-
|
|
156
|
-
// Chat agent exports (client-safe)
|
|
157
|
-
export type {
|
|
158
|
-
ChatHandlerParams,
|
|
159
|
-
ChatHandlerResult,
|
|
160
|
-
ChatMetadata,
|
|
161
|
-
} from "./agents/chat/chat.types";
|
|
162
|
-
export { chatMetadata } from "./agents/chat";
|
|
163
|
-
|
|
164
|
-
// RAG types (client-safe)
|
|
165
|
-
export type { ConversationMessage } from "./agents/rag/rag.types";
|
|
27
|
+
ParsedYaml,
|
|
28
|
+
WorkflowStep,
|
|
29
|
+
StepConfig,
|
|
30
|
+
YamlMetadata,
|
|
31
|
+
ExecutionContext,
|
|
32
|
+
PrimitiveHandler,
|
|
33
|
+
} from './types';
|
|
166
34
|
|
|
167
|
-
// Server/runtime exports
|
|
168
|
-
export * as Server from "./server";
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Beddel Protocol - Primitive Handler Registry
|
|
3
|
+
*
|
|
4
|
+
* This registry maps step types to their handler implementations.
|
|
5
|
+
* Following Expansion Pack Pattern from BMAD-METHOD™ for extensibility.
|
|
6
|
+
* See: https://github.com/bmadcode/bmad-method
|
|
7
|
+
*
|
|
8
|
+
* Server-only: Handlers may use Node.js APIs and external services.
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
import type { PrimitiveHandler, StepConfig, ExecutionContext } from '../types';
|
|
12
|
+
import { llmPrimitive } from './llm';
|
|
13
|
+
import { outputPrimitive } from './output';
|
|
14
|
+
|
|
15
|
+
// Re-export llm exports for consumer access
|
|
16
|
+
export { llmPrimitive, registerCallback, callbackRegistry } from './llm';
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* Placeholder handler for primitives not yet implemented.
|
|
20
|
+
* Returns config and context for debugging purposes.
|
|
21
|
+
*/
|
|
22
|
+
const placeholderHandler: PrimitiveHandler = async (
|
|
23
|
+
config: StepConfig,
|
|
24
|
+
context: ExecutionContext
|
|
25
|
+
): Promise<Record<string, unknown>> => {
|
|
26
|
+
console.warn('[Beddel] Placeholder handler invoked. Implement the actual primitive.');
|
|
27
|
+
return {
|
|
28
|
+
_placeholder: true,
|
|
29
|
+
config,
|
|
30
|
+
input: context.input,
|
|
31
|
+
variableCount: context.variables.size,
|
|
32
|
+
};
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* Registry of primitive handlers keyed by step type.
|
|
37
|
+
*
|
|
38
|
+
* MVP Primitives:
|
|
39
|
+
* - 'llm': Wrapper for streamText/generateText (Task 2.2)
|
|
40
|
+
* - 'output-generator': Deterministic variable mapping (Task 2.3)
|
|
41
|
+
* - 'call-agent': Sub-agent invocation (future)
|
|
42
|
+
*/
|
|
43
|
+
export const handlerRegistry: Record<string, PrimitiveHandler> = {
|
|
44
|
+
/**
|
|
45
|
+
* LLM Primitive - Dual-mode AI text generation.
|
|
46
|
+
* Supports streaming (streamText) and blocking (generateText) modes.
|
|
47
|
+
*/
|
|
48
|
+
'llm': llmPrimitive,
|
|
49
|
+
|
|
50
|
+
/**
|
|
51
|
+
* Output Generator Primitive - Deterministic JSON transform.
|
|
52
|
+
* Resolves variable references in templates.
|
|
53
|
+
*/
|
|
54
|
+
'output-generator': outputPrimitive,
|
|
55
|
+
|
|
56
|
+
/**
|
|
57
|
+
* Call Agent Primitive - Placeholder
|
|
58
|
+
* Enables recursive workflow execution via sub-agents.
|
|
59
|
+
*/
|
|
60
|
+
'call-agent': placeholderHandler,
|
|
61
|
+
};
|
|
62
|
+
|
|
63
|
+
/**
|
|
64
|
+
* Register a custom primitive handler in the registry.
|
|
65
|
+
* Allows consumers to extend Beddel with domain-specific primitives.
|
|
66
|
+
*
|
|
67
|
+
* @param type - Step type identifier (e.g., 'my-custom-primitive')
|
|
68
|
+
* @param handler - PrimitiveHandler function
|
|
69
|
+
*
|
|
70
|
+
* @example
|
|
71
|
+
* import { registerPrimitive } from 'beddel';
|
|
72
|
+
*
|
|
73
|
+
* registerPrimitive('http-fetch', async (config, context) => {
|
|
74
|
+
* const response = await fetch(config.url);
|
|
75
|
+
* return { data: await response.json() };
|
|
76
|
+
* });
|
|
77
|
+
*/
|
|
78
|
+
export function registerPrimitive(type: string, handler: PrimitiveHandler): void {
|
|
79
|
+
if (handlerRegistry[type]) {
|
|
80
|
+
console.warn(`[Beddel] Primitive '${type}' already registered, overwriting.`);
|
|
81
|
+
}
|
|
82
|
+
handlerRegistry[type] = handler;
|
|
83
|
+
}
|