@dcyfr/ai 2.1.3 → 3.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +91 -0
- package/README.md +75 -10
- package/config/default.json +11 -5
- package/config/default.yaml +13 -5
- package/dist/.tsbuildinfo +1 -0
- package/dist/ai/agents/agent-loader.d.ts.map +1 -1
- package/dist/ai/agents/agent-loader.js +1 -0
- package/dist/ai/agents/agent-loader.js.map +1 -1
- package/dist/ai/agents/agent-registry.d.ts.map +1 -1
- package/dist/ai/agents/agent-registry.js.map +1 -1
- package/dist/ai/agents/agent-router.d.ts +3 -3
- package/dist/ai/agents/agent-router.d.ts.map +1 -1
- package/dist/ai/agents/agent-router.js +6 -7
- package/dist/ai/agents/agent-router.js.map +1 -1
- package/dist/ai/config/schema.js +3 -3
- package/dist/ai/config/schema.js.map +1 -1
- package/dist/ai/core/provider-registry.d.ts.map +1 -1
- package/dist/ai/core/provider-registry.js +47 -16
- package/dist/ai/core/provider-registry.js.map +1 -1
- package/dist/ai/core/telemetry-engine.d.ts.map +1 -1
- package/dist/ai/core/telemetry-engine.js +5 -3
- package/dist/ai/core/telemetry-engine.js.map +1 -1
- package/dist/ai/delegation/capability-bootstrap.js +1 -1
- package/dist/ai/delegation/capability-bootstrap.js.map +1 -1
- package/dist/ai/delegation/contract-manager.d.ts +54 -5
- package/dist/ai/delegation/contract-manager.d.ts.map +1 -1
- package/dist/ai/delegation/contract-manager.js +122 -7
- package/dist/ai/delegation/contract-manager.js.map +1 -1
- package/dist/ai/delegation/feature-flags.d.ts +1 -1
- package/dist/ai/delegation/feature-flags.d.ts.map +1 -1
- package/dist/ai/delegation/feature-flags.js +3 -1
- package/dist/ai/delegation/feature-flags.js.map +1 -1
- package/dist/ai/delegation/index.d.ts +1 -0
- package/dist/ai/delegation/index.d.ts.map +1 -1
- package/dist/ai/delegation/index.js +2 -0
- package/dist/ai/delegation/index.js.map +1 -1
- package/dist/ai/delegation/monitoring.d.ts.map +1 -1
- package/dist/ai/delegation/monitoring.js +1 -0
- package/dist/ai/delegation/monitoring.js.map +1 -1
- package/dist/ai/delegation/session-manager.d.ts +16 -1
- package/dist/ai/delegation/session-manager.d.ts.map +1 -1
- package/dist/ai/delegation/session-manager.js +10 -1
- package/dist/ai/delegation/session-manager.js.map +1 -1
- package/dist/ai/delegation/session-queue.d.ts.map +1 -1
- package/dist/ai/delegation/session-queue.js.map +1 -1
- package/dist/ai/examples/integration-demo.d.ts.map +1 -1
- package/dist/ai/examples/integration-demo.js +1 -0
- package/dist/ai/examples/integration-demo.js.map +1 -1
- package/dist/ai/index.d.ts +7 -0
- package/dist/ai/index.d.ts.map +1 -1
- package/dist/ai/index.js +8 -0
- package/dist/ai/index.js.map +1 -1
- package/dist/ai/mcp/mcp-registry.d.ts.map +1 -1
- package/dist/ai/mcp/mcp-registry.js +1 -1
- package/dist/ai/mcp/mcp-registry.js.map +1 -1
- package/dist/ai/mcp/servers/analytics/index.d.ts.map +1 -1
- package/dist/ai/mcp/servers/analytics/index.js +1 -0
- package/dist/ai/mcp/servers/analytics/index.js.map +1 -1
- package/dist/ai/mcp/servers/content-manager/index.d.ts.map +1 -1
- package/dist/ai/mcp/servers/delegation-monitor/index.js +27 -27
- package/dist/ai/mcp/servers/delegation-monitor/index.js.map +1 -1
- package/dist/ai/mcp/servers/design-tokens/index.js +1 -1
- package/dist/ai/mcp/servers/design-tokens/index.js.map +1 -1
- package/dist/ai/mcp/servers/promptintel/index.d.ts.map +1 -1
- package/dist/ai/mcp/servers/promptintel/index.js +2 -1
- package/dist/ai/mcp/servers/promptintel/index.js.map +1 -1
- package/dist/ai/mcp/servers/shared/rate-limiter.d.ts.map +1 -1
- package/dist/ai/mcp/servers/shared/rate-limiter.js +1 -0
- package/dist/ai/mcp/servers/shared/rate-limiter.js.map +1 -1
- package/dist/ai/mcp/servers/shared/redis-client.d.ts.map +1 -1
- package/dist/ai/mcp/servers/shared/redis-client.js +2 -0
- package/dist/ai/mcp/servers/shared/redis-client.js.map +1 -1
- package/dist/ai/mcp/servers/shared/utils.js +12 -18
- package/dist/ai/mcp/servers/shared/utils.js.map +1 -1
- package/dist/ai/memory/dcyfr-memory.d.ts.map +1 -1
- package/dist/ai/memory/dcyfr-memory.js +11 -1
- package/dist/ai/memory/dcyfr-memory.js.map +1 -1
- package/dist/ai/memory/file-memory-adapter.d.ts +103 -0
- package/dist/ai/memory/file-memory-adapter.d.ts.map +1 -0
- package/dist/ai/memory/file-memory-adapter.js +532 -0
- package/dist/ai/memory/file-memory-adapter.js.map +1 -0
- package/dist/ai/memory/index.d.ts +6 -0
- package/dist/ai/memory/index.d.ts.map +1 -1
- package/dist/ai/memory/index.js +6 -0
- package/dist/ai/memory/index.js.map +1 -1
- package/dist/ai/memory/mem0-client.d.ts.map +1 -1
- package/dist/ai/memory/mem0-client.js +5 -2
- package/dist/ai/memory/mem0-client.js.map +1 -1
- package/dist/ai/memory/sqlite-index.d.ts +89 -0
- package/dist/ai/memory/sqlite-index.d.ts.map +1 -0
- package/dist/ai/memory/sqlite-index.js +295 -0
- package/dist/ai/memory/sqlite-index.js.map +1 -0
- package/dist/ai/memory/types.d.ts.map +1 -1
- package/dist/ai/memory/types.js +1 -0
- package/dist/ai/memory/types.js.map +1 -1
- package/dist/ai/memory/working-memory-persistence.d.ts +79 -0
- package/dist/ai/memory/working-memory-persistence.d.ts.map +1 -0
- package/dist/ai/memory/working-memory-persistence.js +220 -0
- package/dist/ai/memory/working-memory-persistence.js.map +1 -0
- package/dist/ai/permissions/attenuation-engine.d.ts.map +1 -1
- package/dist/ai/permissions/attenuation-engine.js.map +1 -1
- package/dist/ai/reputation/reputation-engine.d.ts +4 -0
- package/dist/ai/reputation/reputation-engine.d.ts.map +1 -1
- package/dist/ai/reputation/reputation-engine.js +1 -0
- package/dist/ai/reputation/reputation-engine.js.map +1 -1
- package/dist/ai/runtime/agent-runtime.d.ts.map +1 -1
- package/dist/ai/runtime/agent-runtime.js +9 -5
- package/dist/ai/runtime/agent-runtime.js.map +1 -1
- package/dist/ai/src/batch-processor.d.ts +6 -6
- package/dist/ai/src/batch-processor.d.ts.map +1 -1
- package/dist/ai/src/batch-processor.js +11 -4
- package/dist/ai/src/batch-processor.js.map +1 -1
- package/dist/ai/src/capability-bootstrap.d.ts.map +1 -1
- package/dist/ai/src/capability-bootstrap.js +1 -0
- package/dist/ai/src/capability-bootstrap.js.map +1 -1
- package/dist/ai/src/capability-registry.js +1 -1
- package/dist/ai/src/capability-registry.js.map +1 -1
- package/dist/ai/src/cli/telemetry-dashboard.d.ts +0 -11
- package/dist/ai/src/cli/telemetry-dashboard.d.ts.map +1 -1
- package/dist/ai/src/cli/telemetry-dashboard.js +12 -6
- package/dist/ai/src/cli/telemetry-dashboard.js.map +1 -1
- package/dist/ai/src/compaction/context-compactor.d.ts +149 -0
- package/dist/ai/src/compaction/context-compactor.d.ts.map +1 -0
- package/dist/ai/src/compaction/context-compactor.js +302 -0
- package/dist/ai/src/compaction/context-compactor.js.map +1 -0
- package/dist/ai/src/compaction/index.d.ts +11 -0
- package/dist/ai/src/compaction/index.d.ts.map +1 -0
- package/dist/ai/src/compaction/index.js +11 -0
- package/dist/ai/src/compaction/index.js.map +1 -0
- package/dist/ai/src/compaction/memory-compaction.d.ts +138 -0
- package/dist/ai/src/compaction/memory-compaction.d.ts.map +1 -0
- package/dist/ai/src/compaction/memory-compaction.js +630 -0
- package/dist/ai/src/compaction/memory-compaction.js.map +1 -0
- package/dist/ai/src/container/agent-container-dispatcher.d.ts +154 -0
- package/dist/ai/src/container/agent-container-dispatcher.d.ts.map +1 -0
- package/dist/ai/src/container/agent-container-dispatcher.js +329 -0
- package/dist/ai/src/container/agent-container-dispatcher.js.map +1 -0
- package/dist/ai/src/container/backend-factory.d.ts +89 -0
- package/dist/ai/src/container/backend-factory.d.ts.map +1 -0
- package/dist/ai/src/container/backend-factory.js +169 -0
- package/dist/ai/src/container/backend-factory.js.map +1 -0
- package/dist/ai/src/container/index.d.ts +13 -0
- package/dist/ai/src/container/index.d.ts.map +1 -0
- package/dist/ai/src/container/index.js +13 -0
- package/dist/ai/src/container/index.js.map +1 -0
- package/dist/ai/src/container/kubernetes-backend.d.ts +23 -0
- package/dist/ai/src/container/kubernetes-backend.d.ts.map +1 -0
- package/dist/ai/src/container/kubernetes-backend.js +39 -0
- package/dist/ai/src/container/kubernetes-backend.js.map +1 -0
- package/dist/ai/src/container/local-docker-backend.d.ts +77 -0
- package/dist/ai/src/container/local-docker-backend.d.ts.map +1 -0
- package/dist/ai/src/container/local-docker-backend.js +362 -0
- package/dist/ai/src/container/local-docker-backend.js.map +1 -0
- package/dist/ai/src/container/remote-docker-backend.d.ts +35 -0
- package/dist/ai/src/container/remote-docker-backend.d.ts.map +1 -0
- package/dist/ai/src/container/remote-docker-backend.js +189 -0
- package/dist/ai/src/container/remote-docker-backend.js.map +1 -0
- package/dist/ai/src/container/types.d.ts +270 -0
- package/dist/ai/src/container/types.d.ts.map +1 -0
- package/dist/ai/src/container/types.js +86 -0
- package/dist/ai/src/container/types.js.map +1 -0
- package/dist/ai/src/delegation/feature-flags.d.ts.map +1 -1
- package/dist/ai/src/delegation/feature-flags.js +1 -0
- package/dist/ai/src/delegation/feature-flags.js.map +1 -1
- package/dist/ai/src/delegation/liability-firebreak.d.ts.map +1 -1
- package/dist/ai/src/delegation/liability-firebreak.js +1 -0
- package/dist/ai/src/delegation/liability-firebreak.js.map +1 -1
- package/dist/ai/src/delegation/security-threat-model.d.ts.map +1 -1
- package/dist/ai/src/delegation/security-threat-model.js +1 -1
- package/dist/ai/src/delegation/security-threat-model.js.map +1 -1
- package/dist/ai/src/delegation-capability-integration.d.ts +1 -1
- package/dist/ai/src/delegation-capability-integration.d.ts.map +1 -1
- package/dist/ai/src/delegation-capability-integration.js +2 -7
- package/dist/ai/src/delegation-capability-integration.js.map +1 -1
- package/dist/ai/src/end-to-end-workflow-orchestrator.d.ts.map +1 -1
- package/dist/ai/src/end-to-end-workflow-orchestrator.js +2 -1
- package/dist/ai/src/end-to-end-workflow-orchestrator.js.map +1 -1
- package/dist/ai/src/enhanced-capability-detection.d.ts +1 -1
- package/dist/ai/src/enhanced-capability-detection.d.ts.map +1 -1
- package/dist/ai/src/enhanced-capability-detection.js +1 -1
- package/dist/ai/src/enhanced-capability-detection.js.map +1 -1
- package/dist/ai/src/gateway/index.d.ts +6 -0
- package/dist/ai/src/gateway/index.d.ts.map +1 -0
- package/dist/ai/src/gateway/index.js +6 -0
- package/dist/ai/src/gateway/index.js.map +1 -0
- package/dist/ai/src/gateway/message-gateway.d.ts +296 -0
- package/dist/ai/src/gateway/message-gateway.d.ts.map +1 -0
- package/dist/ai/src/gateway/message-gateway.js +415 -0
- package/dist/ai/src/gateway/message-gateway.js.map +1 -0
- package/dist/ai/src/intelligent-cache-manager.d.ts.map +1 -1
- package/dist/ai/src/intelligent-cache-manager.js +2 -1
- package/dist/ai/src/intelligent-cache-manager.js.map +1 -1
- package/dist/ai/src/mcp/index.d.ts +10 -0
- package/dist/ai/src/mcp/index.d.ts.map +1 -0
- package/dist/ai/src/mcp/index.js +10 -0
- package/dist/ai/src/mcp/index.js.map +1 -0
- package/dist/ai/src/mcp/mcp-tool-bridge.d.ts +186 -0
- package/dist/ai/src/mcp/mcp-tool-bridge.d.ts.map +1 -0
- package/dist/ai/src/mcp/mcp-tool-bridge.js +292 -0
- package/dist/ai/src/mcp/mcp-tool-bridge.js.map +1 -0
- package/dist/ai/src/mcp-auto-configuration.d.ts.map +1 -1
- package/dist/ai/src/mcp-auto-configuration.js +2 -1
- package/dist/ai/src/mcp-auto-configuration.js.map +1 -1
- package/dist/ai/src/performance-profiler.d.ts.map +1 -1
- package/dist/ai/src/performance-profiler.js +1 -0
- package/dist/ai/src/performance-profiler.js.map +1 -1
- package/dist/ai/src/plugins/anomaly/anomaly-detector.d.ts +58 -0
- package/dist/ai/src/plugins/anomaly/anomaly-detector.d.ts.map +1 -0
- package/dist/ai/src/plugins/anomaly/anomaly-detector.js +101 -0
- package/dist/ai/src/plugins/anomaly/anomaly-detector.js.map +1 -0
- package/dist/ai/src/plugins/anomaly/anomaly-monitor.d.ts +145 -0
- package/dist/ai/src/plugins/anomaly/anomaly-monitor.d.ts.map +1 -0
- package/dist/ai/src/plugins/anomaly/anomaly-monitor.js +245 -0
- package/dist/ai/src/plugins/anomaly/anomaly-monitor.js.map +1 -0
- package/dist/ai/src/plugins/anomaly/behavior-baseline.d.ts +79 -0
- package/dist/ai/src/plugins/anomaly/behavior-baseline.d.ts.map +1 -0
- package/dist/ai/src/plugins/anomaly/behavior-baseline.js +161 -0
- package/dist/ai/src/plugins/anomaly/behavior-baseline.js.map +1 -0
- package/dist/ai/src/plugins/anomaly/index.d.ts +15 -0
- package/dist/ai/src/plugins/anomaly/index.d.ts.map +1 -0
- package/dist/ai/src/plugins/anomaly/index.js +12 -0
- package/dist/ai/src/plugins/anomaly/index.js.map +1 -0
- package/dist/ai/src/plugins/anomaly/types.d.ts +150 -0
- package/dist/ai/src/plugins/anomaly/types.d.ts.map +1 -0
- package/dist/ai/src/plugins/anomaly/types.js +68 -0
- package/dist/ai/src/plugins/anomaly/types.js.map +1 -0
- package/dist/ai/src/plugins/certification/certification-manager.d.ts +102 -0
- package/dist/ai/src/plugins/certification/certification-manager.d.ts.map +1 -0
- package/dist/ai/src/plugins/certification/certification-manager.js +321 -0
- package/dist/ai/src/plugins/certification/certification-manager.js.map +1 -0
- package/dist/ai/src/plugins/certification/index.d.ts +12 -0
- package/dist/ai/src/plugins/certification/index.d.ts.map +1 -0
- package/dist/ai/src/plugins/certification/index.js +10 -0
- package/dist/ai/src/plugins/certification/index.js.map +1 -0
- package/dist/ai/src/plugins/certification/types.d.ts +128 -0
- package/dist/ai/src/plugins/certification/types.d.ts.map +1 -0
- package/dist/ai/src/plugins/certification/types.js +201 -0
- package/dist/ai/src/plugins/certification/types.js.map +1 -0
- package/dist/ai/src/plugins/escalation/escalation-trigger.d.ts +155 -0
- package/dist/ai/src/plugins/escalation/escalation-trigger.d.ts.map +1 -0
- package/dist/ai/src/plugins/escalation/escalation-trigger.js +183 -0
- package/dist/ai/src/plugins/escalation/escalation-trigger.js.map +1 -0
- package/dist/ai/src/plugins/escalation/index.d.ts +11 -0
- package/dist/ai/src/plugins/escalation/index.d.ts.map +1 -0
- package/dist/ai/src/plugins/escalation/index.js +10 -0
- package/dist/ai/src/plugins/escalation/index.js.map +1 -0
- package/dist/ai/src/plugins/incidents/incident-response-manager.d.ts +165 -0
- package/dist/ai/src/plugins/incidents/incident-response-manager.d.ts.map +1 -0
- package/dist/ai/src/plugins/incidents/incident-response-manager.js +462 -0
- package/dist/ai/src/plugins/incidents/incident-response-manager.js.map +1 -0
- package/dist/ai/src/plugins/incidents/index.d.ts +8 -0
- package/dist/ai/src/plugins/incidents/index.d.ts.map +1 -0
- package/dist/ai/src/plugins/incidents/index.js +7 -0
- package/dist/ai/src/plugins/incidents/index.js.map +1 -0
- package/dist/ai/src/plugins/incidents/types.d.ts +183 -0
- package/dist/ai/src/plugins/incidents/types.d.ts.map +1 -0
- package/dist/ai/src/plugins/incidents/types.js +55 -0
- package/dist/ai/src/plugins/incidents/types.js.map +1 -0
- package/dist/ai/src/plugins/permissions/index.d.ts +17 -0
- package/dist/ai/src/plugins/permissions/index.d.ts.map +1 -0
- package/dist/ai/src/plugins/permissions/index.js +14 -0
- package/dist/ai/src/plugins/permissions/index.js.map +1 -0
- package/dist/ai/src/plugins/permissions/permission-attenuator.d.ts +29 -0
- package/dist/ai/src/plugins/permissions/permission-attenuator.d.ts.map +1 -0
- package/dist/ai/src/plugins/permissions/permission-attenuator.js +190 -0
- package/dist/ai/src/plugins/permissions/permission-attenuator.js.map +1 -0
- package/dist/ai/src/plugins/permissions/permission-audit-logger.d.ts +72 -0
- package/dist/ai/src/plugins/permissions/permission-audit-logger.d.ts.map +1 -0
- package/dist/ai/src/plugins/permissions/permission-audit-logger.js +176 -0
- package/dist/ai/src/plugins/permissions/permission-audit-logger.js.map +1 -0
- package/dist/ai/src/plugins/permissions/permission-enforcer.d.ts +99 -0
- package/dist/ai/src/plugins/permissions/permission-enforcer.d.ts.map +1 -0
- package/dist/ai/src/plugins/permissions/permission-enforcer.js +151 -0
- package/dist/ai/src/plugins/permissions/permission-enforcer.js.map +1 -0
- package/dist/ai/src/plugins/permissions/plugin-permission-validator.d.ts +39 -0
- package/dist/ai/src/plugins/permissions/plugin-permission-validator.d.ts.map +1 -0
- package/dist/ai/src/plugins/permissions/plugin-permission-validator.js +296 -0
- package/dist/ai/src/plugins/permissions/plugin-permission-validator.js.map +1 -0
- package/dist/ai/src/plugins/permissions/types.d.ts +116 -0
- package/dist/ai/src/plugins/permissions/types.d.ts.map +1 -0
- package/dist/ai/src/plugins/permissions/types.js +36 -0
- package/dist/ai/src/plugins/permissions/types.js.map +1 -0
- package/dist/ai/src/plugins/reputation/index.d.ts +9 -0
- package/dist/ai/src/plugins/reputation/index.d.ts.map +1 -0
- package/dist/ai/src/plugins/reputation/index.js +8 -0
- package/dist/ai/src/plugins/reputation/index.js.map +1 -0
- package/dist/ai/src/plugins/reputation/plugin-reputation-db.d.ts +29 -0
- package/dist/ai/src/plugins/reputation/plugin-reputation-db.d.ts.map +1 -0
- package/dist/ai/src/plugins/reputation/plugin-reputation-db.js +120 -0
- package/dist/ai/src/plugins/reputation/plugin-reputation-db.js.map +1 -0
- package/dist/ai/src/plugins/reputation/plugin-reputation-engine.d.ts +115 -0
- package/dist/ai/src/plugins/reputation/plugin-reputation-engine.d.ts.map +1 -0
- package/dist/ai/src/plugins/reputation/plugin-reputation-engine.js +528 -0
- package/dist/ai/src/plugins/reputation/plugin-reputation-engine.js.map +1 -0
- package/dist/ai/src/plugins/reputation/types.d.ts +149 -0
- package/dist/ai/src/plugins/reputation/types.d.ts.map +1 -0
- package/dist/ai/src/plugins/reputation/types.js +14 -0
- package/dist/ai/src/plugins/reputation/types.js.map +1 -0
- package/dist/ai/src/plugins/reviews/index.d.ts +11 -0
- package/dist/ai/src/plugins/reviews/index.d.ts.map +1 -0
- package/dist/ai/src/plugins/reviews/index.js +10 -0
- package/dist/ai/src/plugins/reviews/index.js.map +1 -0
- package/dist/ai/src/plugins/reviews/plugin-rating-aggregator.d.ts +116 -0
- package/dist/ai/src/plugins/reviews/plugin-rating-aggregator.d.ts.map +1 -0
- package/dist/ai/src/plugins/reviews/plugin-rating-aggregator.js +282 -0
- package/dist/ai/src/plugins/reviews/plugin-rating-aggregator.js.map +1 -0
- package/dist/ai/src/plugins/reviews/types.d.ts +113 -0
- package/dist/ai/src/plugins/reviews/types.d.ts.map +1 -0
- package/dist/ai/src/plugins/reviews/types.js +55 -0
- package/dist/ai/src/plugins/reviews/types.js.map +1 -0
- package/dist/ai/src/plugins/runtime/docker-plugin-runner.d.ts +77 -0
- package/dist/ai/src/plugins/runtime/docker-plugin-runner.d.ts.map +1 -0
- package/dist/ai/src/plugins/runtime/docker-plugin-runner.js +248 -0
- package/dist/ai/src/plugins/runtime/docker-plugin-runner.js.map +1 -0
- package/dist/ai/src/plugins/runtime/gvisor-plugin-runner.d.ts +99 -0
- package/dist/ai/src/plugins/runtime/gvisor-plugin-runner.d.ts.map +1 -0
- package/dist/ai/src/plugins/runtime/gvisor-plugin-runner.js +158 -0
- package/dist/ai/src/plugins/runtime/gvisor-plugin-runner.js.map +1 -0
- package/dist/ai/src/plugins/runtime/index.d.ts +13 -0
- package/dist/ai/src/plugins/runtime/index.d.ts.map +1 -0
- package/dist/ai/src/plugins/runtime/index.js +11 -0
- package/dist/ai/src/plugins/runtime/index.js.map +1 -0
- package/dist/ai/src/plugins/runtime/types.d.ts +143 -0
- package/dist/ai/src/plugins/runtime/types.d.ts.map +1 -0
- package/dist/ai/src/plugins/runtime/types.js +19 -0
- package/dist/ai/src/plugins/runtime/types.js.map +1 -0
- package/dist/ai/src/plugins/runtime/wasm-plugin-runner.d.ts +104 -0
- package/dist/ai/src/plugins/runtime/wasm-plugin-runner.d.ts.map +1 -0
- package/dist/ai/src/plugins/runtime/wasm-plugin-runner.js +307 -0
- package/dist/ai/src/plugins/runtime/wasm-plugin-runner.js.map +1 -0
- package/dist/ai/src/plugins/security/index.d.ts +24 -0
- package/dist/ai/src/plugins/security/index.d.ts.map +1 -0
- package/dist/ai/src/plugins/security/index.js +23 -0
- package/dist/ai/src/plugins/security/index.js.map +1 -0
- package/dist/ai/src/plugins/security/license-checker.d.ts +26 -0
- package/dist/ai/src/plugins/security/license-checker.d.ts.map +1 -0
- package/dist/ai/src/plugins/security/license-checker.js +137 -0
- package/dist/ai/src/plugins/security/license-checker.js.map +1 -0
- package/dist/ai/src/plugins/security/malware-scanner.d.ts +19 -0
- package/dist/ai/src/plugins/security/malware-scanner.d.ts.map +1 -0
- package/dist/ai/src/plugins/security/malware-scanner.js +121 -0
- package/dist/ai/src/plugins/security/malware-scanner.js.map +1 -0
- package/dist/ai/src/plugins/security/plugin-security-scanner.d.ts +36 -0
- package/dist/ai/src/plugins/security/plugin-security-scanner.d.ts.map +1 -0
- package/dist/ai/src/plugins/security/plugin-security-scanner.js +160 -0
- package/dist/ai/src/plugins/security/plugin-security-scanner.js.map +1 -0
- package/dist/ai/src/plugins/security/sbom-generator.d.ts +23 -0
- package/dist/ai/src/plugins/security/sbom-generator.d.ts.map +1 -0
- package/dist/ai/src/plugins/security/sbom-generator.js +115 -0
- package/dist/ai/src/plugins/security/sbom-generator.js.map +1 -0
- package/dist/ai/src/plugins/security/secret-detector.d.ts +19 -0
- package/dist/ai/src/plugins/security/secret-detector.d.ts.map +1 -0
- package/dist/ai/src/plugins/security/secret-detector.js +204 -0
- package/dist/ai/src/plugins/security/secret-detector.js.map +1 -0
- package/dist/ai/src/plugins/security/signature-verifier.d.ts +21 -0
- package/dist/ai/src/plugins/security/signature-verifier.d.ts.map +1 -0
- package/dist/ai/src/plugins/security/signature-verifier.js +75 -0
- package/dist/ai/src/plugins/security/signature-verifier.js.map +1 -0
- package/dist/ai/src/plugins/security/sonarcloud-client.d.ts +20 -0
- package/dist/ai/src/plugins/security/sonarcloud-client.d.ts.map +1 -0
- package/dist/ai/src/plugins/security/sonarcloud-client.js +106 -0
- package/dist/ai/src/plugins/security/sonarcloud-client.js.map +1 -0
- package/dist/ai/src/plugins/security/trust-score.d.ts +58 -0
- package/dist/ai/src/plugins/security/trust-score.d.ts.map +1 -0
- package/dist/ai/src/plugins/security/trust-score.js +173 -0
- package/dist/ai/src/plugins/security/trust-score.js.map +1 -0
- package/dist/ai/src/plugins/security/types.d.ts +220 -0
- package/dist/ai/src/plugins/security/types.d.ts.map +1 -0
- package/dist/ai/src/plugins/security/types.js +12 -0
- package/dist/ai/src/plugins/security/types.js.map +1 -0
- package/dist/ai/src/plugins/security/vulnerability-scanner.d.ts +22 -0
- package/dist/ai/src/plugins/security/vulnerability-scanner.d.ts.map +1 -0
- package/dist/ai/src/plugins/security/vulnerability-scanner.js +109 -0
- package/dist/ai/src/plugins/security/vulnerability-scanner.js.map +1 -0
- package/dist/ai/src/plugins/tlp/index.d.ts +17 -0
- package/dist/ai/src/plugins/tlp/index.d.ts.map +1 -0
- package/dist/ai/src/plugins/tlp/index.js +17 -0
- package/dist/ai/src/plugins/tlp/index.js.map +1 -0
- package/dist/ai/src/plugins/tlp/tlp-classifier.d.ts +55 -0
- package/dist/ai/src/plugins/tlp/tlp-classifier.d.ts.map +1 -0
- package/dist/ai/src/plugins/tlp/tlp-classifier.js +232 -0
- package/dist/ai/src/plugins/tlp/tlp-classifier.js.map +1 -0
- package/dist/ai/src/plugins/tlp/tlp-validator.d.ts +97 -0
- package/dist/ai/src/plugins/tlp/tlp-validator.d.ts.map +1 -0
- package/dist/ai/src/plugins/tlp/tlp-validator.js +120 -0
- package/dist/ai/src/plugins/tlp/tlp-validator.js.map +1 -0
- package/dist/ai/src/plugins/tlp/types.d.ts +84 -0
- package/dist/ai/src/plugins/tlp/types.d.ts.map +1 -0
- package/dist/ai/src/plugins/tlp/types.js +20 -0
- package/dist/ai/src/plugins/tlp/types.js.map +1 -0
- package/dist/ai/src/resource-monitor.d.ts +1 -1
- package/dist/ai/src/resource-monitor.d.ts.map +1 -1
- package/dist/ai/src/resource-monitor.js +4 -3
- package/dist/ai/src/resource-monitor.js.map +1 -1
- package/dist/ai/src/runtime/agent-runtime.d.ts +77 -0
- package/dist/ai/src/runtime/agent-runtime.d.ts.map +1 -1
- package/dist/ai/src/runtime/agent-runtime.js +138 -2
- package/dist/ai/src/runtime/agent-runtime.js.map +1 -1
- package/dist/ai/src/scheduler/agent-scheduler.d.ts +365 -0
- package/dist/ai/src/scheduler/agent-scheduler.d.ts.map +1 -0
- package/dist/ai/src/scheduler/agent-scheduler.js +610 -0
- package/dist/ai/src/scheduler/agent-scheduler.js.map +1 -0
- package/dist/ai/src/scheduler/index.d.ts +6 -0
- package/dist/ai/src/scheduler/index.d.ts.map +1 -0
- package/dist/ai/src/scheduler/index.js +6 -0
- package/dist/ai/src/scheduler/index.js.map +1 -0
- package/dist/ai/src/session/index.d.ts +6 -0
- package/dist/ai/src/session/index.d.ts.map +1 -0
- package/dist/ai/src/session/index.js +6 -0
- package/dist/ai/src/session/index.js.map +1 -0
- package/dist/ai/src/session/session-manager.d.ts +380 -0
- package/dist/ai/src/session/session-manager.d.ts.map +1 -0
- package/dist/ai/src/session/session-manager.js +625 -0
- package/dist/ai/src/session/session-manager.js.map +1 -0
- package/dist/ai/src/skills/index.d.ts +10 -0
- package/dist/ai/src/skills/index.d.ts.map +1 -0
- package/dist/ai/src/skills/index.js +10 -0
- package/dist/ai/src/skills/index.js.map +1 -0
- package/dist/ai/src/skills/skill-registry.d.ts +181 -0
- package/dist/ai/src/skills/skill-registry.d.ts.map +1 -0
- package/dist/ai/src/skills/skill-registry.js +465 -0
- package/dist/ai/src/skills/skill-registry.js.map +1 -0
- package/dist/ai/src/telemetry/delegation-telemetry.d.ts.map +1 -1
- package/dist/ai/src/telemetry/delegation-telemetry.js +1 -0
- package/dist/ai/src/telemetry/delegation-telemetry.js.map +1 -1
- package/dist/ai/src/telemetry/runtime-telemetry-integration.d.ts +1 -1
- package/dist/ai/src/telemetry/runtime-telemetry-integration.d.ts.map +1 -1
- package/dist/ai/src/telemetry/runtime-telemetry-integration.js +3 -2
- package/dist/ai/src/telemetry/runtime-telemetry-integration.js.map +1 -1
- package/dist/ai/src/telemetry/telemetry-utils.d.ts.map +1 -1
- package/dist/ai/src/telemetry/telemetry-utils.js +1 -0
- package/dist/ai/src/telemetry/telemetry-utils.js.map +1 -1
- package/dist/ai/src/types/agent-capabilities.d.ts.map +1 -1
- package/dist/ai/src/types/agent-capabilities.js +1 -0
- package/dist/ai/src/types/agent-capabilities.js.map +1 -1
- package/dist/ai/src/types/delegation-contracts.d.ts +92 -0
- package/dist/ai/src/types/delegation-contracts.d.ts.map +1 -1
- package/dist/ai/src/types/delegation-contracts.js.map +1 -1
- package/dist/ai/src/validation-pipeline-integration.d.ts.map +1 -1
- package/dist/ai/src/validation-pipeline-integration.js +1 -2
- package/dist/ai/src/validation-pipeline-integration.js.map +1 -1
- package/dist/ai/src/verification/multi-modal-formatters.d.ts +1 -1
- package/dist/ai/src/verification/multi-modal-formatters.d.ts.map +1 -1
- package/dist/ai/src/verification/multi-modal-formatters.js +3 -2
- package/dist/ai/src/verification/multi-modal-formatters.js.map +1 -1
- package/dist/ai/src/verification/output-formatter.d.ts +1 -1
- package/dist/ai/src/verification/output-formatter.d.ts.map +1 -1
- package/dist/ai/src/verification/output-formatter.js +2 -1
- package/dist/ai/src/verification/output-formatter.js.map +1 -1
- package/dist/ai/src/verification/parser-integration.d.ts.map +1 -1
- package/dist/ai/src/verification/parser-integration.js.map +1 -1
- package/dist/ai/types/agent-capabilities.d.ts +7 -0
- package/dist/ai/types/agent-capabilities.d.ts.map +1 -1
- package/dist/ai/types/delegation-contracts.d.ts +75 -0
- package/dist/ai/types/delegation-contracts.d.ts.map +1 -1
- package/dist/ai/types/index.d.ts +3 -3
- package/dist/ai/types/index.d.ts.map +1 -1
- package/dist/ai/types/index.js.map +1 -1
- package/dist/ai/types/permission-tokens.d.ts +23 -0
- package/dist/ai/types/permission-tokens.d.ts.map +1 -1
- package/dist/ai/types/permission-tokens.js +65 -1
- package/dist/ai/types/permission-tokens.js.map +1 -1
- package/dist/ai/validation/validation-framework.d.ts.map +1 -1
- package/dist/ai/verification/policy-framework.d.ts +1 -1
- package/dist/ai/verification/policy-framework.d.ts.map +1 -1
- package/dist/ai/verification/policy-framework.js +4 -4
- package/dist/ai/verification/policy-framework.js.map +1 -1
- package/package.json +38 -9
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Backend factory — create ContainerExecutionBackend instances by type.
|
|
3
|
+
* TLP:CLEAR
|
|
4
|
+
*
|
|
5
|
+
* Provides a unified entry-point so callers don't need to import individual
|
|
6
|
+
* backend classes directly. Also exports a failover wrapper that automatically
|
|
7
|
+
* falls back to a secondary backend when the primary is unhealthy.
|
|
8
|
+
*
|
|
9
|
+
* @module container/backend-factory
|
|
10
|
+
* @version 1.0.0
|
|
11
|
+
*/
|
|
12
|
+
import { LocalDockerBackend } from './local-docker-backend.js';
|
|
13
|
+
import { RemoteDockerBackend } from './remote-docker-backend.js';
|
|
14
|
+
import { KubernetesBackend } from './kubernetes-backend.js';
|
|
15
|
+
import { readFileSync } from 'node:fs';
|
|
16
|
+
import { z } from 'zod';
|
|
17
|
+
import { ContainerResourceLimitsSchema, } from './types.js';
|
|
18
|
+
export const AgentContainersConfigSchema = z
|
|
19
|
+
.object({
|
|
20
|
+
backend: z
|
|
21
|
+
.object({
|
|
22
|
+
type: z.enum(['local-docker', 'remote-docker', 'kubernetes', 'codespaces']).optional(),
|
|
23
|
+
defaultBackend: z
|
|
24
|
+
.enum(['local-docker', 'remote-docker', 'kubernetes', 'codespaces'])
|
|
25
|
+
.optional(),
|
|
26
|
+
localDocker: z
|
|
27
|
+
.object({
|
|
28
|
+
maxConcurrent: z.number().int().min(1).optional(),
|
|
29
|
+
defaultImage: z.string().min(1).optional(),
|
|
30
|
+
})
|
|
31
|
+
.passthrough()
|
|
32
|
+
.optional(),
|
|
33
|
+
remoteDocker: z
|
|
34
|
+
.object({
|
|
35
|
+
host: z.string().min(1).optional(),
|
|
36
|
+
tlsCertPath: z.string().optional(),
|
|
37
|
+
maxConcurrent: z.number().int().min(1).optional(),
|
|
38
|
+
defaultImage: z.string().min(1).optional(),
|
|
39
|
+
})
|
|
40
|
+
.passthrough()
|
|
41
|
+
.optional(),
|
|
42
|
+
kubernetes: z
|
|
43
|
+
.object({
|
|
44
|
+
namespace: z.string().min(1).optional(),
|
|
45
|
+
kubeConfigPath: z.string().optional(),
|
|
46
|
+
maxConcurrent: z.number().int().min(1).optional(),
|
|
47
|
+
})
|
|
48
|
+
.passthrough()
|
|
49
|
+
.optional(),
|
|
50
|
+
})
|
|
51
|
+
.partial()
|
|
52
|
+
.optional(),
|
|
53
|
+
defaults: z
|
|
54
|
+
.object({
|
|
55
|
+
agentImage: z.string().min(1).optional(),
|
|
56
|
+
baseBranch: z.string().min(1).optional(),
|
|
57
|
+
resourceLimits: ContainerResourceLimitsSchema.optional(),
|
|
58
|
+
})
|
|
59
|
+
.partial()
|
|
60
|
+
.optional(),
|
|
61
|
+
telemetry: z
|
|
62
|
+
.object({
|
|
63
|
+
enabled: z.boolean().optional(),
|
|
64
|
+
logDir: z.string().min(1).optional(),
|
|
65
|
+
})
|
|
66
|
+
.partial()
|
|
67
|
+
.optional(),
|
|
68
|
+
})
|
|
69
|
+
.passthrough();
|
|
70
|
+
/**
|
|
71
|
+
* Create a ContainerExecutionBackend of the given type.
|
|
72
|
+
*
|
|
73
|
+
* @param type - The backend variant to instantiate.
|
|
74
|
+
* @param options - Backend-specific constructor options.
|
|
75
|
+
*/
|
|
76
|
+
export function createBackend(type, options) {
|
|
77
|
+
switch (type) {
|
|
78
|
+
case 'local-docker':
|
|
79
|
+
return new LocalDockerBackend(options);
|
|
80
|
+
case 'remote-docker':
|
|
81
|
+
return new RemoteDockerBackend(options);
|
|
82
|
+
case 'kubernetes':
|
|
83
|
+
return new KubernetesBackend();
|
|
84
|
+
case 'codespaces':
|
|
85
|
+
throw new Error('CodespacesBackend not yet implemented');
|
|
86
|
+
default: {
|
|
87
|
+
const _exhaustive = type;
|
|
88
|
+
throw new Error(`Unknown backend type: ${String(_exhaustive)}`);
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Create backend from parsed agent-containers config object.
|
|
94
|
+
* Supports both `backend.type` and legacy `backend.defaultBackend`.
|
|
95
|
+
*/
|
|
96
|
+
export function createBackendFromConfig(config) {
|
|
97
|
+
const validatedConfig = AgentContainersConfigSchema.parse(config);
|
|
98
|
+
const selected = validatedConfig.backend?.defaultBackend ?? validatedConfig.backend?.type ?? 'local-docker';
|
|
99
|
+
if (selected === 'local-docker') {
|
|
100
|
+
const options = {
|
|
101
|
+
...(validatedConfig.backend?.localDocker ?? {}),
|
|
102
|
+
defaultImage: validatedConfig.backend?.localDocker?.defaultImage ?? validatedConfig.defaults?.agentImage,
|
|
103
|
+
};
|
|
104
|
+
return createBackend('local-docker', options);
|
|
105
|
+
}
|
|
106
|
+
if (selected === 'remote-docker') {
|
|
107
|
+
const options = {
|
|
108
|
+
...(validatedConfig.backend?.remoteDocker ?? {}),
|
|
109
|
+
defaultImage: validatedConfig.backend?.remoteDocker?.defaultImage ??
|
|
110
|
+
validatedConfig.defaults?.agentImage,
|
|
111
|
+
};
|
|
112
|
+
return createBackend('remote-docker', options);
|
|
113
|
+
}
|
|
114
|
+
return createBackend(selected);
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Load backend from config JSON file path.
|
|
118
|
+
*/
|
|
119
|
+
export function loadBackendFromConfigFile(filePath) {
|
|
120
|
+
const raw = readFileSync(filePath, 'utf8');
|
|
121
|
+
const config = AgentContainersConfigSchema.parse(JSON.parse(raw));
|
|
122
|
+
return createBackendFromConfig(config);
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* Wrap a primary backend with an automatic failover to a secondary backend.
|
|
126
|
+
*
|
|
127
|
+
* On each operation, the wrapper first checks the primary backend's health.
|
|
128
|
+
* If unavailable, the operation is transparently delegated to the fallback.
|
|
129
|
+
*
|
|
130
|
+
* @param primary - The preferred backend.
|
|
131
|
+
* @param fallback - Used when primary healthCheck returns `available: false`.
|
|
132
|
+
*/
|
|
133
|
+
export function createBackendWithFailover(primary, fallback) {
|
|
134
|
+
return new FailoverBackend(primary, fallback);
|
|
135
|
+
}
|
|
136
|
+
class FailoverBackend {
|
|
137
|
+
primary;
|
|
138
|
+
fallback;
|
|
139
|
+
backendType;
|
|
140
|
+
constructor(primary, fallback) {
|
|
141
|
+
this.primary = primary;
|
|
142
|
+
this.fallback = fallback;
|
|
143
|
+
this.backendType = primary.backendType;
|
|
144
|
+
}
|
|
145
|
+
async resolve() {
|
|
146
|
+
const health = await this.primary.healthCheck();
|
|
147
|
+
return health.available ? this.primary : this.fallback;
|
|
148
|
+
}
|
|
149
|
+
async healthCheck() {
|
|
150
|
+
return this.primary.healthCheck();
|
|
151
|
+
}
|
|
152
|
+
async provision(config) {
|
|
153
|
+
return (await this.resolve()).provision(config);
|
|
154
|
+
}
|
|
155
|
+
async *streamLogs(handle) {
|
|
156
|
+
const backend = await this.resolve();
|
|
157
|
+
yield* backend.streamLogs(handle);
|
|
158
|
+
}
|
|
159
|
+
async waitForExit(handle) {
|
|
160
|
+
return (await this.resolve()).waitForExit(handle);
|
|
161
|
+
}
|
|
162
|
+
async teardown(handle) {
|
|
163
|
+
return (await this.resolve()).teardown(handle);
|
|
164
|
+
}
|
|
165
|
+
async listActive() {
|
|
166
|
+
return (await this.resolve()).listActive();
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
//# sourceMappingURL=backend-factory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"backend-factory.js","sourceRoot":"","sources":["../../../../packages/ai/src/container/backend-factory.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,kBAAkB,EAAkC,MAAM,2BAA2B,CAAC;AAC/F,OAAO,EAAE,mBAAmB,EAAmC,MAAM,4BAA4B,CAAC;AAClG,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EACL,6BAA6B,GAS9B,MAAM,YAAY,CAAC;AAIpB,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC;KACzC,MAAM,CAAC;IACN,OAAO,EAAE,CAAC;SACP,MAAM,CAAC;QACN,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,cAAc,EAAE,eAAe,EAAE,YAAY,EAAE,YAAY,CAAC,CAAC,CAAC,QAAQ,EAAE;QACtF,cAAc,EAAE,CAAC;aACd,IAAI,CAAC,CAAC,cAAc,EAAE,eAAe,EAAE,YAAY,EAAE,YAAY,CAAC,CAAC;aACnE,QAAQ,EAAE;QACb,WAAW,EAAE,CAAC;aACX,MAAM,CAAC;YACN,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;YACjD,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;SAC3C,CAAC;aACD,WAAW,EAAE;aACb,QAAQ,EAAE;QACb,YAAY,EAAE,CAAC;aACZ,MAAM,CAAC;YACN,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;YAClC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;YAClC,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;YACjD,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;SAC3C,CAAC;aACD,WAAW,EAAE;aACb,QAAQ,EAAE;QACb,UAAU,EAAE,CAAC;aACV,MAAM,CAAC;YACN,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;YACvC,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;YACrC,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;SAClD,CAAC;aACD,WAAW,EAAE;aACb,QAAQ,EAAE;KACd,CAAC;SACD,OAAO,EAAE;SACT,QAAQ,EAAE;IACb,QAAQ,EAAE,CAAC;SACR,MAAM,CAAC;QACN,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;QACxC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;QACxC,cAAc,EAAE,6BAA6B,CAAC,QAAQ,EAAE;KACzD,CAAC;SACD,OAAO,EAAE;SACT,QAAQ,EAAE;IACb,SAAS,EAAE,CAAC;SACT,MAAM,CAAC;QACN,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;QAC/B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;KACrC,CAAC;SACD,OAAO,EAAE;SACT,QAAQ,EAAE;CACd,CAAC;KACD,WAAW,EAAE,CAAC;AAIjB;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAC3B,IAA0B,EAC1B,OAAwB;IAExB,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,cAAc;YACjB,OAAO,IAAI,kBAAkB,CAAC,OAAoC,CAAC,CAAC;QACtE,KAAK,eAAe;YAClB,OAAO,IAAI,mBAAmB,CAAC,OAAqC,CAAC,CAAC;QACxE,KAAK,YAAY;YACf,OAAO,IAAI,iBAAiB,EAAE,CAAC;QACjC,KAAK,YAAY;YACf,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;QAC3D,OAAO,CAAC,CAAC,CAAC;YACR,MAAM,WAAW,GAAU,IAAI,CAAC;YAChC,MAAM,IAAI,KAAK,CAAC,yBAAyB,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QAClE,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,uBAAuB,CAAC,MAAiC;IACvE,MAAM,eAAe,GAAG,2BAA2B,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAElE,MAAM,QAAQ,GACZ,eAAe,CAAC,OAAO,EAAE,cAAc,IAAI,eAAe,CAAC,OAAO,EAAE,IAAI,IAAI,cAAc,CAAC;IAE7F,IAAI,QAAQ,KAAK,cAAc,EAAE,CAAC;QAChC,MAAM,OAAO,GAA8B;YACzC,GAAG,CAAC,eAAe,CAAC,OAAO,EAAE,WAAW,IAAI,EAAE,CAAC;YAC/C,YAAY,EACV,eAAe,CAAC,OAAO,EAAE,WAAW,EAAE,YAAY,IAAI,eAAe,CAAC,QAAQ,EAAE,UAAU;SAC7F,CAAC;QACF,OAAO,aAAa,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;IAChD,CAAC;IAED,IAAI,QAAQ,KAAK,eAAe,EAAE,CAAC;QACjC,MAAM,OAAO,GAA+B;YAC1C,GAAG,CAAC,eAAe,CAAC,OAAO,EAAE,YAAY,IAAI,EAAE,CAAC;YAChD,YAAY,EACV,eAAe,CAAC,OAAO,EAAE,YAAY,EAAE,YAAY;gBACnD,eAAe,CAAC,QAAQ,EAAE,UAAU;SACvC,CAAC;QACF,OAAO,aAAa,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;IACjD,CAAC;IAED,OAAO,aAAa,CAAC,QAAQ,CAAC,CAAC;AACjC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,yBAAyB,CAAC,QAAgB;IACxD,MAAM,GAAG,GAAG,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC3C,MAAM,MAAM,GAAG,2BAA2B,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;IAClE,OAAO,uBAAuB,CAAC,MAAM,CAAC,CAAC;AACzC,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,yBAAyB,CACvC,OAAkC,EAClC,QAAmC;IAEnC,OAAO,IAAI,eAAe,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;AAChD,CAAC;AAED,MAAM,eAAe;IAIA;IACA;IAJH,WAAW,CAAuB;IAElD,YACmB,OAAkC,EAClC,QAAmC;QADnC,YAAO,GAAP,OAAO,CAA2B;QAClC,aAAQ,GAAR,QAAQ,CAA2B;QAEpD,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;IACzC,CAAC;IAEO,KAAK,CAAC,OAAO;QACnB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;QAChD,OAAO,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;IACzD,CAAC;IAED,KAAK,CAAC,WAAW;QACf,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,MAA4B;QAC1C,OAAO,CAAC,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAClD,CAAC;IAED,KAAK,CAAC,CAAC,UAAU,CAAC,MAAuB;QACvC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QACrC,KAAK,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,MAAuB;QACvC,OAAO,CAAC,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IACpD,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,MAAuB;QACpC,OAAO,CAAC,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACjD,CAAC;IAED,KAAK,CAAC,UAAU;QACd,OAAO,CAAC,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC;IAC7C,CAAC;CACF"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Container execution module barrel export.
|
|
3
|
+
* TLP:CLEAR
|
|
4
|
+
*
|
|
5
|
+
* @module container
|
|
6
|
+
*/
|
|
7
|
+
export { LocalDockerBackend, type LocalDockerBackendOptions, } from './local-docker-backend.js';
|
|
8
|
+
export { RemoteDockerBackend, type RemoteDockerBackendOptions, } from './remote-docker-backend.js';
|
|
9
|
+
export { KubernetesBackend } from './kubernetes-backend.js';
|
|
10
|
+
export { createBackend, createBackendFromConfig, loadBackendFromConfigFile, createBackendWithFailover, AgentContainersConfigSchema, type BackendOptions, type AgentContainersConfigLike, } from './backend-factory.js';
|
|
11
|
+
export { AgentContainerDispatcher, type AgentContainerDispatcherOptions, type IssueDispatchInput, type TaskDispatchInput, type DispatchOptions, type DispatchRecord, } from './agent-container-dispatcher.js';
|
|
12
|
+
export { DEFAULT_CONTAINER_RESOURCE_LIMITS, ContainerResourceLimitsSchema, AgentContainerConfigSchema, ContainerHandleSchema, ContainerProvisionError, ContainerConcurrencyLimitError, type ContainerResourceLimits, type AgentContainerConfig, type ContainerHandle, type ContainerLogEntry, type ContainerExecutionResult, type BackendHealthResult, type TeardownResult, type ContainerExecutionBackend, type ContainerBackendType, } from './types.js';
|
|
13
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../packages/ai/src/container/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,kBAAkB,EAClB,KAAK,yBAAyB,GAC/B,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EACL,mBAAmB,EACnB,KAAK,0BAA0B,GAChC,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAE5D,OAAO,EACL,aAAa,EACb,uBAAuB,EACvB,yBAAyB,EACzB,yBAAyB,EACzB,2BAA2B,EAC3B,KAAK,cAAc,EACnB,KAAK,yBAAyB,GAC/B,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,wBAAwB,EACxB,KAAK,+BAA+B,EACpC,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,KAAK,eAAe,EACpB,KAAK,cAAc,GACpB,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EACL,iCAAiC,EACjC,6BAA6B,EAC7B,0BAA0B,EAC1B,qBAAqB,EACrB,uBAAuB,EACvB,8BAA8B,EAC9B,KAAK,uBAAuB,EAC5B,KAAK,oBAAoB,EACzB,KAAK,eAAe,EACpB,KAAK,iBAAiB,EACtB,KAAK,wBAAwB,EAC7B,KAAK,mBAAmB,EACxB,KAAK,cAAc,EACnB,KAAK,yBAAyB,EAC9B,KAAK,oBAAoB,GAC1B,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Container execution module barrel export.
|
|
3
|
+
* TLP:CLEAR
|
|
4
|
+
*
|
|
5
|
+
* @module container
|
|
6
|
+
*/
|
|
7
|
+
export { LocalDockerBackend, } from './local-docker-backend.js';
|
|
8
|
+
export { RemoteDockerBackend, } from './remote-docker-backend.js';
|
|
9
|
+
export { KubernetesBackend } from './kubernetes-backend.js';
|
|
10
|
+
export { createBackend, createBackendFromConfig, loadBackendFromConfigFile, createBackendWithFailover, AgentContainersConfigSchema, } from './backend-factory.js';
|
|
11
|
+
export { AgentContainerDispatcher, } from './agent-container-dispatcher.js';
|
|
12
|
+
export { DEFAULT_CONTAINER_RESOURCE_LIMITS, ContainerResourceLimitsSchema, AgentContainerConfigSchema, ContainerHandleSchema, ContainerProvisionError, ContainerConcurrencyLimitError, } from './types.js';
|
|
13
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/ai/src/container/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,kBAAkB,GAEnB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EACL,mBAAmB,GAEpB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAE5D,OAAO,EACL,aAAa,EACb,uBAAuB,EACvB,yBAAyB,EACzB,yBAAyB,EACzB,2BAA2B,GAG5B,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,wBAAwB,GAMzB,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EACL,iCAAiC,EACjC,6BAA6B,EAC7B,0BAA0B,EAC1B,qBAAqB,EACrB,uBAAuB,EACvB,8BAA8B,GAU/B,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* KubernetesBackend — stub implementation
|
|
3
|
+
* TLP:CLEAR
|
|
4
|
+
*
|
|
5
|
+
* Future backend for running agent containers as Kubernetes Jobs.
|
|
6
|
+
* All methods throw a NotImplementedError until activated.
|
|
7
|
+
*
|
|
8
|
+
* Activation guide: docs/guides/kubernetes-backend-activation.md
|
|
9
|
+
*
|
|
10
|
+
* @module container/kubernetes-backend
|
|
11
|
+
* @version 1.0.0
|
|
12
|
+
*/
|
|
13
|
+
import { type ContainerHandle, type ContainerLogEntry, type ContainerExecutionResult, type BackendHealthResult, type TeardownResult, type ContainerExecutionBackend, type AgentContainerConfig } from './types.js';
|
|
14
|
+
export declare class KubernetesBackend implements ContainerExecutionBackend {
|
|
15
|
+
readonly backendType: "kubernetes";
|
|
16
|
+
healthCheck(): Promise<BackendHealthResult>;
|
|
17
|
+
provision(_config: AgentContainerConfig): Promise<ContainerHandle>;
|
|
18
|
+
streamLogs(_handle: ContainerHandle): AsyncIterable<ContainerLogEntry>;
|
|
19
|
+
waitForExit(_handle: ContainerHandle): Promise<ContainerExecutionResult>;
|
|
20
|
+
teardown(_handle: ContainerHandle): Promise<TeardownResult>;
|
|
21
|
+
listActive(): Promise<ContainerHandle[]>;
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=kubernetes-backend.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"kubernetes-backend.d.ts","sourceRoot":"","sources":["../../../../packages/ai/src/container/kubernetes-backend.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EACL,KAAK,eAAe,EACpB,KAAK,iBAAiB,EACtB,KAAK,wBAAwB,EAC7B,KAAK,mBAAmB,EACxB,KAAK,cAAc,EACnB,KAAK,yBAAyB,EAC9B,KAAK,oBAAoB,EAC1B,MAAM,YAAY,CAAC;AAKpB,qBAAa,iBAAkB,YAAW,yBAAyB;IACjE,SAAgB,WAAW,EAAG,YAAY,CAAU;IAE9C,WAAW,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAQ3C,SAAS,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,eAAe,CAAC;IAIjE,UAAU,CAAC,OAAO,EAAE,eAAe,GAAG,aAAa,CAAC,iBAAiB,CAAC;IAIvE,WAAW,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,wBAAwB,CAAC;IAIxE,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC;IAI3D,UAAU,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;CAG/C"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* KubernetesBackend — stub implementation
|
|
3
|
+
* TLP:CLEAR
|
|
4
|
+
*
|
|
5
|
+
* Future backend for running agent containers as Kubernetes Jobs.
|
|
6
|
+
* All methods throw a NotImplementedError until activated.
|
|
7
|
+
*
|
|
8
|
+
* Activation guide: docs/guides/kubernetes-backend-activation.md
|
|
9
|
+
*
|
|
10
|
+
* @module container/kubernetes-backend
|
|
11
|
+
* @version 1.0.0
|
|
12
|
+
*/
|
|
13
|
+
const NOT_IMPLEMENTED_MSG = 'KubernetesBackend not yet implemented — see docs/guides/kubernetes-backend-activation.md';
|
|
14
|
+
export class KubernetesBackend {
|
|
15
|
+
backendType = 'kubernetes';
|
|
16
|
+
async healthCheck() {
|
|
17
|
+
return {
|
|
18
|
+
available: false,
|
|
19
|
+
backendType: this.backendType,
|
|
20
|
+
error: 'KubernetesBackend is a stub — not yet activated',
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
async provision(_config) {
|
|
24
|
+
throw new Error(NOT_IMPLEMENTED_MSG);
|
|
25
|
+
}
|
|
26
|
+
async *streamLogs(_handle) {
|
|
27
|
+
throw new Error(NOT_IMPLEMENTED_MSG);
|
|
28
|
+
}
|
|
29
|
+
async waitForExit(_handle) {
|
|
30
|
+
throw new Error(NOT_IMPLEMENTED_MSG);
|
|
31
|
+
}
|
|
32
|
+
async teardown(_handle) {
|
|
33
|
+
throw new Error(NOT_IMPLEMENTED_MSG);
|
|
34
|
+
}
|
|
35
|
+
async listActive() {
|
|
36
|
+
throw new Error(NOT_IMPLEMENTED_MSG);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=kubernetes-backend.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"kubernetes-backend.js","sourceRoot":"","sources":["../../../../packages/ai/src/container/kubernetes-backend.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAYH,MAAM,mBAAmB,GACvB,0FAA0F,CAAC;AAE7F,MAAM,OAAO,iBAAiB;IACZ,WAAW,GAAG,YAAqB,CAAC;IAEpD,KAAK,CAAC,WAAW;QACf,OAAO;YACL,SAAS,EAAE,KAAK;YAChB,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,KAAK,EAAE,iDAAiD;SACzD,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,OAA6B;QAC3C,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;IACvC,CAAC;IAED,KAAK,CAAC,CAAC,UAAU,CAAC,OAAwB;QACxC,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;IACvC,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,OAAwB;QACxC,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;IACvC,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,OAAwB;QACrC,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;IACvC,CAAC;IAED,KAAK,CAAC,UAAU;QACd,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;IACvC,CAAC;CACF"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* LocalDockerBackend
|
|
3
|
+
* TLP:CLEAR
|
|
4
|
+
*
|
|
5
|
+
* ContainerExecutionBackend implementation backed by the local Docker daemon.
|
|
6
|
+
* Designed for workbench development and CI; production scale-out uses
|
|
7
|
+
* RemoteDockerBackend or KubernetesBackend (Phase 4).
|
|
8
|
+
*
|
|
9
|
+
* Concurrency: max 3 simultaneous containers (configurable via constructor).
|
|
10
|
+
* Each container gets an ephemeral name (dcyfr-agent-<uuid8>) so multiple
|
|
11
|
+
* concurrent runs never collide.
|
|
12
|
+
*
|
|
13
|
+
* @module container/local-docker-backend
|
|
14
|
+
* @version 1.0.0
|
|
15
|
+
* @date 2026-03-01
|
|
16
|
+
*/
|
|
17
|
+
import { type AgentContainerConfig, type ContainerHandle, type ContainerLogEntry, type ContainerExecutionResult, type BackendHealthResult, type TeardownResult, type ContainerExecutionBackend } from './types.js';
|
|
18
|
+
export interface LocalDockerBackendOptions {
|
|
19
|
+
/**
|
|
20
|
+
* Maximum number of agent containers running simultaneously.
|
|
21
|
+
* Prevents CPU/memory exhaustion on the workbench.
|
|
22
|
+
* Default: 3.
|
|
23
|
+
*/
|
|
24
|
+
maxConcurrent?: number;
|
|
25
|
+
/**
|
|
26
|
+
* Docker image tag to use when AgentContainerConfig.image is not set.
|
|
27
|
+
* Default: "dcyfr/agent:latest".
|
|
28
|
+
*/
|
|
29
|
+
defaultImage?: string;
|
|
30
|
+
/**
|
|
31
|
+
* Extra Docker flags appended to every `docker run` invocation.
|
|
32
|
+
* Use sparingly — most flags are derived from AgentContainerConfig.
|
|
33
|
+
*/
|
|
34
|
+
extraDockerFlags?: string[];
|
|
35
|
+
}
|
|
36
|
+
export declare class LocalDockerBackend implements ContainerExecutionBackend {
|
|
37
|
+
readonly backendType: "local-docker";
|
|
38
|
+
private readonly maxConcurrent;
|
|
39
|
+
private readonly defaultImage;
|
|
40
|
+
private readonly extraDockerFlags;
|
|
41
|
+
/**
|
|
42
|
+
* In-memory tracking of active containers keyed by containerId.
|
|
43
|
+
* This is intentionally simple — a process restart clears it.
|
|
44
|
+
* The delegation contract manager is the authoritative state store.
|
|
45
|
+
*/
|
|
46
|
+
private readonly active;
|
|
47
|
+
private readonly secretDirs;
|
|
48
|
+
constructor(options?: LocalDockerBackendOptions);
|
|
49
|
+
healthCheck(): Promise<BackendHealthResult>;
|
|
50
|
+
provision(config: AgentContainerConfig): Promise<ContainerHandle>;
|
|
51
|
+
streamLogs(handle: ContainerHandle): AsyncIterable<ContainerLogEntry>;
|
|
52
|
+
waitForExit(handle: ContainerHandle): Promise<ContainerExecutionResult>;
|
|
53
|
+
teardown(handle: ContainerHandle): Promise<TeardownResult>;
|
|
54
|
+
listActive(): Promise<ContainerHandle[]>;
|
|
55
|
+
private generateContainerName;
|
|
56
|
+
private resolveResourceLimits;
|
|
57
|
+
private buildRunArgs;
|
|
58
|
+
private createGithubTokenSecret;
|
|
59
|
+
private cleanupSecret;
|
|
60
|
+
/**
|
|
61
|
+
* Gracefully stop a container:
|
|
62
|
+
* 1. `docker stop --time=10` (SIGTERM + 10s grace)
|
|
63
|
+
* 2. `docker kill` if stop fails
|
|
64
|
+
*/
|
|
65
|
+
private stopContainer;
|
|
66
|
+
/**
|
|
67
|
+
* Resolve the real Docker container ID from its name.
|
|
68
|
+
* Docker assigns the ID asynchronously after container creation.
|
|
69
|
+
*/
|
|
70
|
+
private resolveContainerId;
|
|
71
|
+
/**
|
|
72
|
+
* Return a copy of the config with the githubToken redacted.
|
|
73
|
+
* The redacted copy is stored on ContainerHandle (which may be serialized).
|
|
74
|
+
*/
|
|
75
|
+
private redactConfig;
|
|
76
|
+
}
|
|
77
|
+
//# sourceMappingURL=local-docker-backend.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"local-docker-backend.d.ts","sourceRoot":"","sources":["../../../../packages/ai/src/container/local-docker-backend.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAQH,OAAO,EAGL,KAAK,oBAAoB,EACzB,KAAK,eAAe,EACpB,KAAK,iBAAiB,EACtB,KAAK,wBAAwB,EAC7B,KAAK,mBAAmB,EACxB,KAAK,cAAc,EACnB,KAAK,yBAAyB,EAE/B,MAAM,YAAY,CAAC;AAWpB,MAAM,WAAW,yBAAyB;IACxC;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC7B;AAMD,qBAAa,kBAAmB,YAAW,yBAAyB;IAClE,QAAQ,CAAC,WAAW,EAAG,cAAc,CAAU;IAE/C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IACvC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IACtC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAW;IAE5C;;;;OAIG;IACH,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAsC;IAC7D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA6B;gBAE5C,OAAO,GAAE,yBAA8B;IAQ7C,WAAW,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAwB3C,SAAS,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,eAAe,CAAC;IAyDhE,UAAU,CAAC,MAAM,EAAE,eAAe,GAAG,aAAa,CAAC,iBAAiB,CAAC;IAyDtE,WAAW,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,wBAAwB,CAAC;IAgEvE,QAAQ,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC;IAoB1D,UAAU,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;IAM9C,OAAO,CAAC,qBAAqB;IAI7B,OAAO,CAAC,qBAAqB;IAM7B,OAAO,CAAC,YAAY;IA8DpB,OAAO,CAAC,uBAAuB;IAQ/B,OAAO,CAAC,aAAa;IAUrB;;;;OAIG;YACW,aAAa;IAY3B;;;OAGG;YACW,kBAAkB;IAmBhC;;;OAGG;IACH,OAAO,CAAC,YAAY;CAMrB"}
|