@backendkit-labs/agent-core 0.14.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/dist/agent-discovery/AgentPackageLoader.d.ts +14 -0
- package/dist/agent-discovery/AgentPackageLoader.d.ts.map +1 -0
- package/dist/agent-discovery/AgentPackageLoader.js +78 -0
- package/dist/agent-discovery/AgentPackageLoader.js.map +1 -0
- package/dist/agent-discovery/RemoteAgentRegistry.d.ts +31 -0
- package/dist/agent-discovery/RemoteAgentRegistry.d.ts.map +1 -0
- package/dist/agent-discovery/RemoteAgentRegistry.js +103 -0
- package/dist/agent-discovery/RemoteAgentRegistry.js.map +1 -0
- package/dist/agent-discovery/discoverAgents.d.ts +18 -0
- package/dist/agent-discovery/discoverAgents.d.ts.map +1 -0
- package/dist/agent-discovery/discoverAgents.js +59 -0
- package/dist/agent-discovery/discoverAgents.js.map +1 -0
- package/dist/agent-discovery/index.d.ts +5 -0
- package/dist/agent-discovery/index.d.ts.map +1 -0
- package/dist/agent-discovery/index.js +12 -0
- package/dist/agent-discovery/index.js.map +1 -0
- package/dist/agent-discovery/types.d.ts +42 -0
- package/dist/agent-discovery/types.d.ts.map +1 -0
- package/dist/agent-discovery/types.js +3 -0
- package/dist/agent-discovery/types.js.map +1 -0
- package/dist/agent-memory/EpisodicMemory.d.ts +26 -0
- package/dist/agent-memory/EpisodicMemory.d.ts.map +1 -0
- package/dist/agent-memory/EpisodicMemory.js +83 -0
- package/dist/agent-memory/EpisodicMemory.js.map +1 -0
- package/dist/agent-memory/MemorySystem.d.ts +40 -0
- package/dist/agent-memory/MemorySystem.d.ts.map +1 -0
- package/dist/agent-memory/MemorySystem.js +75 -0
- package/dist/agent-memory/MemorySystem.js.map +1 -0
- package/dist/agent-memory/ProceduralMemory.d.ts +26 -0
- package/dist/agent-memory/ProceduralMemory.d.ts.map +1 -0
- package/dist/agent-memory/ProceduralMemory.js +104 -0
- package/dist/agent-memory/ProceduralMemory.js.map +1 -0
- package/dist/agent-memory/SemanticMemory.d.ts +21 -0
- package/dist/agent-memory/SemanticMemory.d.ts.map +1 -0
- package/dist/agent-memory/SemanticMemory.js +68 -0
- package/dist/agent-memory/SemanticMemory.js.map +1 -0
- package/dist/agent-memory/index.d.ts +9 -0
- package/dist/agent-memory/index.d.ts.map +1 -0
- package/dist/agent-memory/index.js +19 -0
- package/dist/agent-memory/index.js.map +1 -0
- package/dist/agent-memory/scoring.d.ts +10 -0
- package/dist/agent-memory/scoring.d.ts.map +1 -0
- package/dist/agent-memory/scoring.js +32 -0
- package/dist/agent-memory/scoring.js.map +1 -0
- package/dist/agent-memory/stores/InMemoryStore.d.ts +10 -0
- package/dist/agent-memory/stores/InMemoryStore.d.ts.map +1 -0
- package/dist/agent-memory/stores/InMemoryStore.js +25 -0
- package/dist/agent-memory/stores/InMemoryStore.js.map +1 -0
- package/dist/agent-memory/stores/JsonFileStore.d.ts +18 -0
- package/dist/agent-memory/stores/JsonFileStore.d.ts.map +1 -0
- package/dist/agent-memory/stores/JsonFileStore.js +61 -0
- package/dist/agent-memory/stores/JsonFileStore.js.map +1 -0
- package/dist/agent-memory/tools.d.ts +6 -0
- package/dist/agent-memory/tools.d.ts.map +1 -0
- package/dist/agent-memory/tools.js +74 -0
- package/dist/agent-memory/tools.js.map +1 -0
- package/dist/agent-memory/types.d.ts +75 -0
- package/dist/agent-memory/types.d.ts.map +1 -0
- package/dist/agent-memory/types.js +4 -0
- package/dist/agent-memory/types.js.map +1 -0
- package/dist/bootstrap/GlobalSeed.d.ts +46 -0
- package/dist/bootstrap/GlobalSeed.d.ts.map +1 -0
- package/dist/bootstrap/GlobalSeed.js +285 -0
- package/dist/bootstrap/GlobalSeed.js.map +1 -0
- package/dist/bootstrap/config.d.ts +24 -0
- package/dist/bootstrap/config.d.ts.map +1 -0
- package/dist/bootstrap/config.js +71 -0
- package/dist/bootstrap/config.js.map +1 -0
- package/dist/checkpoint/index.d.ts +17 -0
- package/dist/checkpoint/index.d.ts.map +1 -0
- package/dist/checkpoint/index.js +207 -0
- package/dist/checkpoint/index.js.map +1 -0
- package/dist/commands/SlashCommandRegistry.d.ts +98 -0
- package/dist/commands/SlashCommandRegistry.d.ts.map +1 -0
- package/dist/commands/SlashCommandRegistry.js +41 -0
- package/dist/commands/SlashCommandRegistry.js.map +1 -0
- package/dist/commands/builtin.d.ts +7 -0
- package/dist/commands/builtin.d.ts.map +1 -0
- package/dist/commands/builtin.js +694 -0
- package/dist/commands/builtin.js.map +1 -0
- package/dist/commands/index.d.ts +4 -0
- package/dist/commands/index.d.ts.map +1 -0
- package/dist/commands/index.js +8 -0
- package/dist/commands/index.js.map +1 -0
- package/dist/context/index.d.ts +8 -0
- package/dist/context/index.d.ts.map +1 -0
- package/dist/context/index.js +8 -0
- package/dist/context/index.js.map +1 -0
- package/dist/context/pipeline.d.ts +46 -0
- package/dist/context/pipeline.d.ts.map +1 -0
- package/dist/context/pipeline.js +111 -0
- package/dist/context/pipeline.js.map +1 -0
- package/dist/context/stages/stage-instructions.d.ts +12 -0
- package/dist/context/stages/stage-instructions.d.ts.map +1 -0
- package/dist/context/stages/stage-instructions.js +76 -0
- package/dist/context/stages/stage-instructions.js.map +1 -0
- package/dist/context/stages/stage-lessons.d.ts +13 -0
- package/dist/context/stages/stage-lessons.d.ts.map +1 -0
- package/dist/context/stages/stage-lessons.js +83 -0
- package/dist/context/stages/stage-lessons.js.map +1 -0
- package/dist/context/stages/stage-manifest.d.ts +11 -0
- package/dist/context/stages/stage-manifest.d.ts.map +1 -0
- package/dist/context/stages/stage-manifest.js +62 -0
- package/dist/context/stages/stage-manifest.js.map +1 -0
- package/dist/context/stages/stage-project.d.ts +10 -0
- package/dist/context/stages/stage-project.d.ts.map +1 -0
- package/dist/context/stages/stage-project.js +55 -0
- package/dist/context/stages/stage-project.js.map +1 -0
- package/dist/context/stages/stage-session.d.ts +12 -0
- package/dist/context/stages/stage-session.d.ts.map +1 -0
- package/dist/context/stages/stage-session.js +69 -0
- package/dist/context/stages/stage-session.js.map +1 -0
- package/dist/delegation/DelegationBus.d.ts +40 -0
- package/dist/delegation/DelegationBus.d.ts.map +1 -0
- package/dist/delegation/DelegationBus.js +68 -0
- package/dist/delegation/DelegationBus.js.map +1 -0
- package/dist/engine/AgentEngine.d.ts +212 -0
- package/dist/engine/AgentEngine.d.ts.map +1 -0
- package/dist/engine/AgentEngine.js +1037 -0
- package/dist/engine/AgentEngine.js.map +1 -0
- package/dist/engine/AgentRegistry.d.ts +13 -0
- package/dist/engine/AgentRegistry.d.ts.map +1 -0
- package/dist/engine/AgentRegistry.js +37 -0
- package/dist/engine/AgentRegistry.js.map +1 -0
- package/dist/engine/IterationManager.d.ts +79 -0
- package/dist/engine/IterationManager.d.ts.map +1 -0
- package/dist/engine/IterationManager.js +103 -0
- package/dist/engine/IterationManager.js.map +1 -0
- package/dist/engine/ProviderRegistry.d.ts +10 -0
- package/dist/engine/ProviderRegistry.d.ts.map +1 -0
- package/dist/engine/ProviderRegistry.js +28 -0
- package/dist/engine/ProviderRegistry.js.map +1 -0
- package/dist/engine/ToolRegistry.d.ts +54 -0
- package/dist/engine/ToolRegistry.d.ts.map +1 -0
- package/dist/engine/ToolRegistry.js +75 -0
- package/dist/engine/ToolRegistry.js.map +1 -0
- package/dist/engine/createBaseEngine.d.ts +169 -0
- package/dist/engine/createBaseEngine.d.ts.map +1 -0
- package/dist/engine/createBaseEngine.js +91 -0
- package/dist/engine/createBaseEngine.js.map +1 -0
- package/dist/engine/qa-orchestrator.d.ts +56 -0
- package/dist/engine/qa-orchestrator.d.ts.map +1 -0
- package/dist/engine/qa-orchestrator.js +163 -0
- package/dist/engine/qa-orchestrator.js.map +1 -0
- package/dist/index.d.ts +83 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +163 -0
- package/dist/index.js.map +1 -0
- package/dist/mcp/MCPClientManager.d.ts +65 -0
- package/dist/mcp/MCPClientManager.d.ts.map +1 -0
- package/dist/mcp/MCPClientManager.js +211 -0
- package/dist/mcp/MCPClientManager.js.map +1 -0
- package/dist/mcp/index.d.ts +3 -0
- package/dist/mcp/index.d.ts.map +1 -0
- package/dist/mcp/index.js +6 -0
- package/dist/mcp/index.js.map +1 -0
- package/dist/mcp/types.d.ts +121 -0
- package/dist/mcp/types.d.ts.map +1 -0
- package/dist/mcp/types.js +3 -0
- package/dist/mcp/types.js.map +1 -0
- package/dist/memory/SessionMemory.d.ts +9 -0
- package/dist/memory/SessionMemory.d.ts.map +1 -0
- package/dist/memory/SessionMemory.js +20 -0
- package/dist/memory/SessionMemory.js.map +1 -0
- package/dist/observability/CostTracker.d.ts +19 -0
- package/dist/observability/CostTracker.d.ts.map +1 -0
- package/dist/observability/CostTracker.js +64 -0
- package/dist/observability/CostTracker.js.map +1 -0
- package/dist/observability/MetricsCollector.d.ts +17 -0
- package/dist/observability/MetricsCollector.d.ts.map +1 -0
- package/dist/observability/MetricsCollector.js +70 -0
- package/dist/observability/MetricsCollector.js.map +1 -0
- package/dist/observability/ObservabilityManager.d.ts +33 -0
- package/dist/observability/ObservabilityManager.d.ts.map +1 -0
- package/dist/observability/ObservabilityManager.js +107 -0
- package/dist/observability/ObservabilityManager.js.map +1 -0
- package/dist/observability/Tracer.d.ts +23 -0
- package/dist/observability/Tracer.d.ts.map +1 -0
- package/dist/observability/Tracer.js +65 -0
- package/dist/observability/Tracer.js.map +1 -0
- package/dist/observability/index.d.ts +7 -0
- package/dist/observability/index.d.ts.map +1 -0
- package/dist/observability/index.js +14 -0
- package/dist/observability/index.js.map +1 -0
- package/dist/observability/types.d.ts +77 -0
- package/dist/observability/types.d.ts.map +1 -0
- package/dist/observability/types.js +15 -0
- package/dist/observability/types.js.map +1 -0
- package/dist/orchestration/audit/audit-ci-blocker.d.ts +31 -0
- package/dist/orchestration/audit/audit-ci-blocker.d.ts.map +1 -0
- package/dist/orchestration/audit/audit-ci-blocker.js +120 -0
- package/dist/orchestration/audit/audit-ci-blocker.js.map +1 -0
- package/dist/orchestration/audit/audit-finding-tracer.d.ts +33 -0
- package/dist/orchestration/audit/audit-finding-tracer.d.ts.map +1 -0
- package/dist/orchestration/audit/audit-finding-tracer.js +126 -0
- package/dist/orchestration/audit/audit-finding-tracer.js.map +1 -0
- package/dist/orchestration/audit/audit-lessons-learned.d.ts +27 -0
- package/dist/orchestration/audit/audit-lessons-learned.d.ts.map +1 -0
- package/dist/orchestration/audit/audit-lessons-learned.js +155 -0
- package/dist/orchestration/audit/audit-lessons-learned.js.map +1 -0
- package/dist/orchestration/audit/audit-pending-issues.d.ts +21 -0
- package/dist/orchestration/audit/audit-pending-issues.d.ts.map +1 -0
- package/dist/orchestration/audit/audit-pending-issues.js +110 -0
- package/dist/orchestration/audit/audit-pending-issues.js.map +1 -0
- package/dist/orchestration/audit/audit-reflection-bridge.d.ts +39 -0
- package/dist/orchestration/audit/audit-reflection-bridge.d.ts.map +1 -0
- package/dist/orchestration/audit/audit-reflection-bridge.js +65 -0
- package/dist/orchestration/audit/audit-reflection-bridge.js.map +1 -0
- package/dist/orchestration/audit/audit-report-renderer.d.ts +30 -0
- package/dist/orchestration/audit/audit-report-renderer.d.ts.map +1 -0
- package/dist/orchestration/audit/audit-report-renderer.js +249 -0
- package/dist/orchestration/audit/audit-report-renderer.js.map +1 -0
- package/dist/orchestration/audit/audit-report-version-manager.d.ts +52 -0
- package/dist/orchestration/audit/audit-report-version-manager.d.ts.map +1 -0
- package/dist/orchestration/audit/audit-report-version-manager.js +144 -0
- package/dist/orchestration/audit/audit-report-version-manager.js.map +1 -0
- package/dist/orchestration/audit/audit-silent-gates-buffer.d.ts +37 -0
- package/dist/orchestration/audit/audit-silent-gates-buffer.d.ts.map +1 -0
- package/dist/orchestration/audit/audit-silent-gates-buffer.js +129 -0
- package/dist/orchestration/audit/audit-silent-gates-buffer.js.map +1 -0
- package/dist/orchestration/audit/index.d.ts +17 -0
- package/dist/orchestration/audit/index.d.ts.map +1 -0
- package/dist/orchestration/audit/index.js +26 -0
- package/dist/orchestration/audit/index.js.map +1 -0
- package/dist/orchestration/audit/types.d.ts +79 -0
- package/dist/orchestration/audit/types.d.ts.map +1 -0
- package/dist/orchestration/audit/types.js +10 -0
- package/dist/orchestration/audit/types.js.map +1 -0
- package/dist/orchestration/audit-reporter.d.ts +133 -0
- package/dist/orchestration/audit-reporter.d.ts.map +1 -0
- package/dist/orchestration/audit-reporter.js +322 -0
- package/dist/orchestration/audit-reporter.js.map +1 -0
- package/dist/orchestration/config-loader.d.ts +51 -0
- package/dist/orchestration/config-loader.d.ts.map +1 -0
- package/dist/orchestration/config-loader.js +215 -0
- package/dist/orchestration/config-loader.js.map +1 -0
- package/dist/orchestration/domain-detector.d.ts +36 -0
- package/dist/orchestration/domain-detector.d.ts.map +1 -0
- package/dist/orchestration/domain-detector.js +157 -0
- package/dist/orchestration/domain-detector.js.map +1 -0
- package/dist/orchestration/fsm.d.ts +86 -0
- package/dist/orchestration/fsm.d.ts.map +1 -0
- package/dist/orchestration/fsm.js +223 -0
- package/dist/orchestration/fsm.js.map +1 -0
- package/dist/orchestration/gate-resolver.d.ts +42 -0
- package/dist/orchestration/gate-resolver.d.ts.map +1 -0
- package/dist/orchestration/gate-resolver.js +94 -0
- package/dist/orchestration/gate-resolver.js.map +1 -0
- package/dist/orchestration/index.d.ts +15 -0
- package/dist/orchestration/index.d.ts.map +1 -0
- package/dist/orchestration/index.js +32 -0
- package/dist/orchestration/index.js.map +1 -0
- package/dist/orchestration/intent-detector.d.ts +43 -0
- package/dist/orchestration/intent-detector.d.ts.map +1 -0
- package/dist/orchestration/intent-detector.js +249 -0
- package/dist/orchestration/intent-detector.js.map +1 -0
- package/dist/orchestration/keyword-match.d.ts +17 -0
- package/dist/orchestration/keyword-match.d.ts.map +1 -0
- package/dist/orchestration/keyword-match.js +26 -0
- package/dist/orchestration/keyword-match.js.map +1 -0
- package/dist/orchestration/llm-client-adapter.d.ts +11 -0
- package/dist/orchestration/llm-client-adapter.d.ts.map +1 -0
- package/dist/orchestration/llm-client-adapter.js +30 -0
- package/dist/orchestration/llm-client-adapter.js.map +1 -0
- package/dist/orchestration/orchestrator.d.ts +153 -0
- package/dist/orchestration/orchestrator.d.ts.map +1 -0
- package/dist/orchestration/orchestrator.js +471 -0
- package/dist/orchestration/orchestrator.js.map +1 -0
- package/dist/orchestration/policy-engine.d.ts +47 -0
- package/dist/orchestration/policy-engine.d.ts.map +1 -0
- package/dist/orchestration/policy-engine.js +262 -0
- package/dist/orchestration/policy-engine.js.map +1 -0
- package/dist/orchestration/risk-scorer.d.ts +38 -0
- package/dist/orchestration/risk-scorer.d.ts.map +1 -0
- package/dist/orchestration/risk-scorer.js +145 -0
- package/dist/orchestration/risk-scorer.js.map +1 -0
- package/dist/orchestration/task-context.d.ts +195 -0
- package/dist/orchestration/task-context.d.ts.map +1 -0
- package/dist/orchestration/task-context.js +160 -0
- package/dist/orchestration/task-context.js.map +1 -0
- package/dist/orchestration/types.d.ts +111 -0
- package/dist/orchestration/types.d.ts.map +1 -0
- package/dist/orchestration/types.js +37 -0
- package/dist/orchestration/types.js.map +1 -0
- package/dist/qa/index.d.ts +3 -0
- package/dist/qa/index.d.ts.map +1 -0
- package/dist/qa/index.js +6 -0
- package/dist/qa/index.js.map +1 -0
- package/dist/qa/qa-service.d.ts +30 -0
- package/dist/qa/qa-service.d.ts.map +1 -0
- package/dist/qa/qa-service.js +200 -0
- package/dist/qa/qa-service.js.map +1 -0
- package/dist/reflection/commands/domain-commands.d.ts +78 -0
- package/dist/reflection/commands/domain-commands.d.ts.map +1 -0
- package/dist/reflection/commands/domain-commands.js +203 -0
- package/dist/reflection/commands/domain-commands.js.map +1 -0
- package/dist/reflection/domain-registry.d.ts +104 -0
- package/dist/reflection/domain-registry.d.ts.map +1 -0
- package/dist/reflection/domain-registry.js +279 -0
- package/dist/reflection/domain-registry.js.map +1 -0
- package/dist/reflection/domains/agent-domain.d.ts +40 -0
- package/dist/reflection/domains/agent-domain.d.ts.map +1 -0
- package/dist/reflection/domains/agent-domain.js +161 -0
- package/dist/reflection/domains/agent-domain.js.map +1 -0
- package/dist/reflection/domains/audit-domain.d.ts +46 -0
- package/dist/reflection/domains/audit-domain.d.ts.map +1 -0
- package/dist/reflection/domains/audit-domain.js +241 -0
- package/dist/reflection/domains/audit-domain.js.map +1 -0
- package/dist/reflection/domains/bootstrap-domain.d.ts +40 -0
- package/dist/reflection/domains/bootstrap-domain.d.ts.map +1 -0
- package/dist/reflection/domains/bootstrap-domain.js +156 -0
- package/dist/reflection/domains/bootstrap-domain.js.map +1 -0
- package/dist/reflection/domains/commit-domain.d.ts +40 -0
- package/dist/reflection/domains/commit-domain.d.ts.map +1 -0
- package/dist/reflection/domains/commit-domain.js +174 -0
- package/dist/reflection/domains/commit-domain.js.map +1 -0
- package/dist/reflection/domains/test-domain.d.ts +40 -0
- package/dist/reflection/domains/test-domain.d.ts.map +1 -0
- package/dist/reflection/domains/test-domain.js +194 -0
- package/dist/reflection/domains/test-domain.js.map +1 -0
- package/dist/reflection/failure-catalog.d.ts +100 -0
- package/dist/reflection/failure-catalog.d.ts.map +1 -0
- package/dist/reflection/failure-catalog.js +269 -0
- package/dist/reflection/failure-catalog.js.map +1 -0
- package/dist/reflection/historical-loader.d.ts +105 -0
- package/dist/reflection/historical-loader.d.ts.map +1 -0
- package/dist/reflection/historical-loader.js +462 -0
- package/dist/reflection/historical-loader.js.map +1 -0
- package/dist/reflection/hooks/agent-hook.d.ts +72 -0
- package/dist/reflection/hooks/agent-hook.d.ts.map +1 -0
- package/dist/reflection/hooks/agent-hook.js +98 -0
- package/dist/reflection/hooks/agent-hook.js.map +1 -0
- package/dist/reflection/hooks/audit-hook.d.ts +72 -0
- package/dist/reflection/hooks/audit-hook.d.ts.map +1 -0
- package/dist/reflection/hooks/audit-hook.js +112 -0
- package/dist/reflection/hooks/audit-hook.js.map +1 -0
- package/dist/reflection/hooks/bootstrap-hook.d.ts +71 -0
- package/dist/reflection/hooks/bootstrap-hook.d.ts.map +1 -0
- package/dist/reflection/hooks/bootstrap-hook.js +97 -0
- package/dist/reflection/hooks/bootstrap-hook.js.map +1 -0
- package/dist/reflection/hooks/commit-hook.d.ts +63 -0
- package/dist/reflection/hooks/commit-hook.d.ts.map +1 -0
- package/dist/reflection/hooks/commit-hook.js +90 -0
- package/dist/reflection/hooks/commit-hook.js.map +1 -0
- package/dist/reflection/hooks/test-hook.d.ts +65 -0
- package/dist/reflection/hooks/test-hook.d.ts.map +1 -0
- package/dist/reflection/hooks/test-hook.js +99 -0
- package/dist/reflection/hooks/test-hook.js.map +1 -0
- package/dist/reflection/index.d.ts +19 -0
- package/dist/reflection/index.d.ts.map +1 -0
- package/dist/reflection/index.js +40 -0
- package/dist/reflection/index.js.map +1 -0
- package/dist/reflection/lessons-memo-generator.d.ts +60 -0
- package/dist/reflection/lessons-memo-generator.d.ts.map +1 -0
- package/dist/reflection/lessons-memo-generator.js +286 -0
- package/dist/reflection/lessons-memo-generator.js.map +1 -0
- package/dist/reflection/pattern-detector.d.ts +55 -0
- package/dist/reflection/pattern-detector.d.ts.map +1 -0
- package/dist/reflection/pattern-detector.js +137 -0
- package/dist/reflection/pattern-detector.js.map +1 -0
- package/dist/reflection/policy-promoter.d.ts +86 -0
- package/dist/reflection/policy-promoter.d.ts.map +1 -0
- package/dist/reflection/policy-promoter.js +382 -0
- package/dist/reflection/policy-promoter.js.map +1 -0
- package/dist/reflection/reflection-engine.d.ts +160 -0
- package/dist/reflection/reflection-engine.d.ts.map +1 -0
- package/dist/reflection/reflection-engine.js +352 -0
- package/dist/reflection/reflection-engine.js.map +1 -0
- package/dist/reflection/types.d.ts +106 -0
- package/dist/reflection/types.d.ts.map +1 -0
- package/dist/reflection/types.js +64 -0
- package/dist/reflection/types.js.map +1 -0
- package/dist/shared/llm/resilient-client.d.ts +40 -0
- package/dist/shared/llm/resilient-client.d.ts.map +1 -0
- package/dist/shared/llm/resilient-client.js +60 -0
- package/dist/shared/llm/resilient-client.js.map +1 -0
- package/dist/shared/utils/atomic-write.d.ts +7 -0
- package/dist/shared/utils/atomic-write.d.ts.map +1 -0
- package/dist/shared/utils/atomic-write.js +52 -0
- package/dist/shared/utils/atomic-write.js.map +1 -0
- package/dist/shared/utils/git.d.ts +2 -0
- package/dist/shared/utils/git.d.ts.map +1 -0
- package/dist/shared/utils/git.js +17 -0
- package/dist/shared/utils/git.js.map +1 -0
- package/dist/shared/utils/project-key.d.ts +4 -0
- package/dist/shared/utils/project-key.d.ts.map +1 -0
- package/dist/shared/utils/project-key.js +54 -0
- package/dist/shared/utils/project-key.js.map +1 -0
- package/dist/shared/utils/string-utils.d.ts +17 -0
- package/dist/shared/utils/string-utils.d.ts.map +1 -0
- package/dist/shared/utils/string-utils.js +37 -0
- package/dist/shared/utils/string-utils.js.map +1 -0
- package/dist/skills/activator.d.ts +27 -0
- package/dist/skills/activator.d.ts.map +1 -0
- package/dist/skills/activator.js +127 -0
- package/dist/skills/activator.js.map +1 -0
- package/dist/skills/builtins/global.d.ts +7 -0
- package/dist/skills/builtins/global.d.ts.map +1 -0
- package/dist/skills/builtins/global.js +208 -0
- package/dist/skills/builtins/global.js.map +1 -0
- package/dist/skills/builtins/go-pack.d.ts +7 -0
- package/dist/skills/builtins/go-pack.d.ts.map +1 -0
- package/dist/skills/builtins/go-pack.js +263 -0
- package/dist/skills/builtins/go-pack.js.map +1 -0
- package/dist/skills/builtins/java-pack.d.ts +7 -0
- package/dist/skills/builtins/java-pack.d.ts.map +1 -0
- package/dist/skills/builtins/java-pack.js +272 -0
- package/dist/skills/builtins/java-pack.js.map +1 -0
- package/dist/skills/builtins/kotlin-pack.d.ts +9 -0
- package/dist/skills/builtins/kotlin-pack.d.ts.map +1 -0
- package/dist/skills/builtins/kotlin-pack.js +292 -0
- package/dist/skills/builtins/kotlin-pack.js.map +1 -0
- package/dist/skills/builtins/node-pack.d.ts +7 -0
- package/dist/skills/builtins/node-pack.d.ts.map +1 -0
- package/dist/skills/builtins/node-pack.js +750 -0
- package/dist/skills/builtins/node-pack.js.map +1 -0
- package/dist/skills/builtins/python-pack.d.ts +7 -0
- package/dist/skills/builtins/python-pack.d.ts.map +1 -0
- package/dist/skills/builtins/python-pack.js +303 -0
- package/dist/skills/builtins/python-pack.js.map +1 -0
- package/dist/skills/index.d.ts +11 -0
- package/dist/skills/index.d.ts.map +1 -0
- package/dist/skills/index.js +24 -0
- package/dist/skills/index.js.map +1 -0
- package/dist/skills/loader.d.ts +39 -0
- package/dist/skills/loader.d.ts.map +1 -0
- package/dist/skills/loader.js +152 -0
- package/dist/skills/loader.js.map +1 -0
- package/dist/skills/manager.d.ts +97 -0
- package/dist/skills/manager.d.ts.map +1 -0
- package/dist/skills/manager.js +296 -0
- package/dist/skills/manager.js.map +1 -0
- package/dist/skills/parse-md-skill.d.ts +14 -0
- package/dist/skills/parse-md-skill.d.ts.map +1 -0
- package/dist/skills/parse-md-skill.js +86 -0
- package/dist/skills/parse-md-skill.js.map +1 -0
- package/dist/skills/providers/github.d.ts +21 -0
- package/dist/skills/providers/github.d.ts.map +1 -0
- package/dist/skills/providers/github.js +146 -0
- package/dist/skills/providers/github.js.map +1 -0
- package/dist/skills/providers/index.d.ts +6 -0
- package/dist/skills/providers/index.d.ts.map +1 -0
- package/dist/skills/providers/index.js +12 -0
- package/dist/skills/providers/index.js.map +1 -0
- package/dist/skills/providers/local.d.ts +16 -0
- package/dist/skills/providers/local.d.ts.map +1 -0
- package/dist/skills/providers/local.js +91 -0
- package/dist/skills/providers/local.js.map +1 -0
- package/dist/skills/providers/obsidian.d.ts +31 -0
- package/dist/skills/providers/obsidian.d.ts.map +1 -0
- package/dist/skills/providers/obsidian.js +141 -0
- package/dist/skills/providers/obsidian.js.map +1 -0
- package/dist/skills/providers/skills-sh.d.ts +32 -0
- package/dist/skills/providers/skills-sh.d.ts.map +1 -0
- package/dist/skills/providers/skills-sh.js +53 -0
- package/dist/skills/providers/skills-sh.js.map +1 -0
- package/dist/skills/providers/types.d.ts +25 -0
- package/dist/skills/providers/types.d.ts.map +1 -0
- package/dist/skills/providers/types.js +3 -0
- package/dist/skills/providers/types.js.map +1 -0
- package/dist/skills/registry.d.ts +18 -0
- package/dist/skills/registry.d.ts.map +1 -0
- package/dist/skills/registry.js +45 -0
- package/dist/skills/registry.js.map +1 -0
- package/dist/skills/types.d.ts +66 -0
- package/dist/skills/types.d.ts.map +1 -0
- package/dist/skills/types.js +3 -0
- package/dist/skills/types.js.map +1 -0
- package/dist/tools/defineTool.d.ts +34 -0
- package/dist/tools/defineTool.d.ts.map +1 -0
- package/dist/tools/defineTool.js +63 -0
- package/dist/tools/defineTool.js.map +1 -0
- package/dist/transport/CallbackTransport.d.ts +12 -0
- package/dist/transport/CallbackTransport.d.ts.map +1 -0
- package/dist/transport/CallbackTransport.js +28 -0
- package/dist/transport/CallbackTransport.js.map +1 -0
- package/dist/transport/StdoutTransport.d.ts +9 -0
- package/dist/transport/StdoutTransport.d.ts.map +1 -0
- package/dist/transport/StdoutTransport.js +63 -0
- package/dist/transport/StdoutTransport.js.map +1 -0
- package/dist/transport/Transport.d.ts +8 -0
- package/dist/transport/Transport.d.ts.map +1 -0
- package/dist/transport/Transport.js +3 -0
- package/dist/transport/Transport.js.map +1 -0
- package/dist/triggers/EventBus.d.ts +14 -0
- package/dist/triggers/EventBus.d.ts.map +1 -0
- package/dist/triggers/EventBus.js +18 -0
- package/dist/triggers/EventBus.js.map +1 -0
- package/dist/triggers/TriggerManager.d.ts +28 -0
- package/dist/triggers/TriggerManager.d.ts.map +1 -0
- package/dist/triggers/TriggerManager.js +158 -0
- package/dist/triggers/TriggerManager.js.map +1 -0
- package/dist/triggers/WebhookServer.d.ts +23 -0
- package/dist/triggers/WebhookServer.d.ts.map +1 -0
- package/dist/triggers/WebhookServer.js +127 -0
- package/dist/triggers/WebhookServer.js.map +1 -0
- package/dist/triggers/createAutonomousAgent.d.ts +49 -0
- package/dist/triggers/createAutonomousAgent.d.ts.map +1 -0
- package/dist/triggers/createAutonomousAgent.js +42 -0
- package/dist/triggers/createAutonomousAgent.js.map +1 -0
- package/dist/triggers/index.d.ts +8 -0
- package/dist/triggers/index.d.ts.map +1 -0
- package/dist/triggers/index.js +12 -0
- package/dist/triggers/index.js.map +1 -0
- package/dist/triggers/types.d.ts +35 -0
- package/dist/triggers/types.d.ts.map +1 -0
- package/dist/triggers/types.js +3 -0
- package/dist/triggers/types.js.map +1 -0
- package/dist/types/index.d.ts +256 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +4 -0
- package/dist/types/index.js.map +1 -0
- package/dist/workflow/WorkflowBuilder.d.ts +22 -0
- package/dist/workflow/WorkflowBuilder.d.ts.map +1 -0
- package/dist/workflow/WorkflowBuilder.js +67 -0
- package/dist/workflow/WorkflowBuilder.js.map +1 -0
- package/dist/workflow/WorkflowRunner.d.ts +22 -0
- package/dist/workflow/WorkflowRunner.d.ts.map +1 -0
- package/dist/workflow/WorkflowRunner.js +97 -0
- package/dist/workflow/WorkflowRunner.js.map +1 -0
- package/dist/workflow/index.d.ts +5 -0
- package/dist/workflow/index.d.ts.map +1 -0
- package/dist/workflow/index.js +10 -0
- package/dist/workflow/index.js.map +1 -0
- package/dist/workflow/types.d.ts +35 -0
- package/dist/workflow/types.d.ts.map +1 -0
- package/dist/workflow/types.js +3 -0
- package/dist/workflow/types.js.map +1 -0
- package/dist/workspace/index.d.ts +55 -0
- package/dist/workspace/index.d.ts.map +1 -0
- package/dist/workspace/index.js +189 -0
- package/dist/workspace/index.js.map +1 -0
- package/package.json +87 -0
|
@@ -0,0 +1,471 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @description Orquestador principal — Pipeline completo de clasificación.
|
|
4
|
+
*
|
|
5
|
+
* Integra: Intent Detection → Domain Detection → Risk Scoring → Policy Engine
|
|
6
|
+
*
|
|
7
|
+
* Cada etapa enriquece el TaskContext progresivamente.
|
|
8
|
+
* El resultado final contiene los agentes seleccionados, políticas aplicadas
|
|
9
|
+
* y gates requeridos para proceder.
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* ```ts
|
|
13
|
+
* const orchestrator = new Orchestrator(client, config);
|
|
14
|
+
* const result = await orchestrator.orchestrate('Agregar circuit breaker para ServiceNow');
|
|
15
|
+
* // result.task.actionType === 'implementation'
|
|
16
|
+
* // result.task.domains === ['resilience', 'backend']
|
|
17
|
+
* // result.task.riskLevel === 'high'
|
|
18
|
+
* // result.selectedAgents === ['architecture', 'backend-agent', 'qa-engineer']
|
|
19
|
+
* ```
|
|
20
|
+
*/
|
|
21
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
22
|
+
if (k2 === undefined) k2 = k;
|
|
23
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
24
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
25
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
26
|
+
}
|
|
27
|
+
Object.defineProperty(o, k2, desc);
|
|
28
|
+
}) : (function(o, m, k, k2) {
|
|
29
|
+
if (k2 === undefined) k2 = k;
|
|
30
|
+
o[k2] = m[k];
|
|
31
|
+
}));
|
|
32
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
33
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
34
|
+
}) : function(o, v) {
|
|
35
|
+
o["default"] = v;
|
|
36
|
+
});
|
|
37
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
38
|
+
var ownKeys = function(o) {
|
|
39
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
40
|
+
var ar = [];
|
|
41
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
42
|
+
return ar;
|
|
43
|
+
};
|
|
44
|
+
return ownKeys(o);
|
|
45
|
+
};
|
|
46
|
+
return function (mod) {
|
|
47
|
+
if (mod && mod.__esModule) return mod;
|
|
48
|
+
var result = {};
|
|
49
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
50
|
+
__setModuleDefault(result, mod);
|
|
51
|
+
return result;
|
|
52
|
+
};
|
|
53
|
+
})();
|
|
54
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
55
|
+
exports.Orchestrator = exports.AuditReporter = exports.createTaskContext = exports.TaskFSM = exports.applyPolicies = exports.evaluatePolicies = exports.enrichTaskWithRisk = exports.calculateRisk = exports.enrichTaskWithDomains = exports.detectDomains = exports.enrichTaskWithIntent = exports.detectIntent = exports.defaultOrchestratorConfig = void 0;
|
|
56
|
+
const fs = __importStar(require("fs"));
|
|
57
|
+
const os = __importStar(require("os"));
|
|
58
|
+
const path = __importStar(require("path"));
|
|
59
|
+
const crypto_1 = require("crypto");
|
|
60
|
+
const yaml = __importStar(require("yaml"));
|
|
61
|
+
const pipeline_1 = require("@backendkit-labs/pipeline");
|
|
62
|
+
const task_context_1 = require("./task-context");
|
|
63
|
+
const intent_detector_1 = require("./intent-detector");
|
|
64
|
+
const domain_detector_1 = require("./domain-detector");
|
|
65
|
+
const risk_scorer_1 = require("./risk-scorer");
|
|
66
|
+
const policy_engine_1 = require("./policy-engine");
|
|
67
|
+
const fsm_1 = require("./fsm");
|
|
68
|
+
const types_1 = require("./types");
|
|
69
|
+
const audit_reporter_1 = require("./audit-reporter");
|
|
70
|
+
const EMPTY_POLICY_RESULT = {
|
|
71
|
+
mustInclude: [],
|
|
72
|
+
requiredGates: [],
|
|
73
|
+
mustExecute: [],
|
|
74
|
+
appliedRules: [],
|
|
75
|
+
};
|
|
76
|
+
// ── Enrichment steps ──────────────────────────────────────────────────────────
|
|
77
|
+
class IntentStep {
|
|
78
|
+
client;
|
|
79
|
+
stepName = 'intent-detection';
|
|
80
|
+
constructor(client) {
|
|
81
|
+
this.client = client;
|
|
82
|
+
}
|
|
83
|
+
async handle(ctx) {
|
|
84
|
+
try {
|
|
85
|
+
return (0, pipeline_1.Ok)({ ...ctx, task: await (0, intent_detector_1.enrichTaskWithIntent)(ctx.task, this.client) });
|
|
86
|
+
}
|
|
87
|
+
catch (e) {
|
|
88
|
+
return (0, pipeline_1.Err)(e instanceof Error ? e : new Error(String(e)));
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
class DomainStep {
|
|
93
|
+
stepName = 'domain-detection';
|
|
94
|
+
async handle(ctx) {
|
|
95
|
+
return (0, pipeline_1.Ok)({ ...ctx, task: (0, domain_detector_1.enrichTaskWithDomains)(ctx.task) });
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
class RiskStep {
|
|
99
|
+
config;
|
|
100
|
+
stepName = 'risk-scoring';
|
|
101
|
+
constructor(config) {
|
|
102
|
+
this.config = config;
|
|
103
|
+
}
|
|
104
|
+
async handle(ctx) {
|
|
105
|
+
return (0, pipeline_1.Ok)({ ...ctx, task: (0, risk_scorer_1.enrichTaskWithRisk)(ctx.task, this.config) });
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
class PolicyStep {
|
|
109
|
+
customRules;
|
|
110
|
+
loadManifest;
|
|
111
|
+
input;
|
|
112
|
+
stepName = 'policy-engine';
|
|
113
|
+
constructor(customRules, loadManifest, input) {
|
|
114
|
+
this.customRules = customRules;
|
|
115
|
+
this.loadManifest = loadManifest;
|
|
116
|
+
this.input = input;
|
|
117
|
+
}
|
|
118
|
+
async handle(ctx) {
|
|
119
|
+
try {
|
|
120
|
+
const manifestRules = await this.loadManifest();
|
|
121
|
+
const mergedRules = [...(this.customRules ?? []), ...manifestRules];
|
|
122
|
+
const result = (0, policy_engine_1.applyPolicies)(ctx.task, mergedRules.length > 0 ? mergedRules : undefined, this.input);
|
|
123
|
+
return (0, pipeline_1.Ok)({ task: result.task, policyResult: result.result });
|
|
124
|
+
}
|
|
125
|
+
catch (e) {
|
|
126
|
+
return (0, pipeline_1.Err)(e instanceof Error ? e : new Error(String(e)));
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
var types_2 = require("./types");
|
|
131
|
+
Object.defineProperty(exports, "defaultOrchestratorConfig", { enumerable: true, get: function () { return types_2.defaultOrchestratorConfig; } });
|
|
132
|
+
var intent_detector_2 = require("./intent-detector");
|
|
133
|
+
Object.defineProperty(exports, "detectIntent", { enumerable: true, get: function () { return intent_detector_2.detectIntent; } });
|
|
134
|
+
Object.defineProperty(exports, "enrichTaskWithIntent", { enumerable: true, get: function () { return intent_detector_2.enrichTaskWithIntent; } });
|
|
135
|
+
var domain_detector_2 = require("./domain-detector");
|
|
136
|
+
Object.defineProperty(exports, "detectDomains", { enumerable: true, get: function () { return domain_detector_2.detectDomains; } });
|
|
137
|
+
Object.defineProperty(exports, "enrichTaskWithDomains", { enumerable: true, get: function () { return domain_detector_2.enrichTaskWithDomains; } });
|
|
138
|
+
var risk_scorer_2 = require("./risk-scorer");
|
|
139
|
+
Object.defineProperty(exports, "calculateRisk", { enumerable: true, get: function () { return risk_scorer_2.calculateRisk; } });
|
|
140
|
+
Object.defineProperty(exports, "enrichTaskWithRisk", { enumerable: true, get: function () { return risk_scorer_2.enrichTaskWithRisk; } });
|
|
141
|
+
var policy_engine_2 = require("./policy-engine");
|
|
142
|
+
Object.defineProperty(exports, "evaluatePolicies", { enumerable: true, get: function () { return policy_engine_2.evaluatePolicies; } });
|
|
143
|
+
Object.defineProperty(exports, "applyPolicies", { enumerable: true, get: function () { return policy_engine_2.applyPolicies; } });
|
|
144
|
+
var fsm_2 = require("./fsm");
|
|
145
|
+
Object.defineProperty(exports, "TaskFSM", { enumerable: true, get: function () { return fsm_2.TaskFSM; } });
|
|
146
|
+
var task_context_2 = require("./task-context");
|
|
147
|
+
Object.defineProperty(exports, "createTaskContext", { enumerable: true, get: function () { return task_context_2.createTaskContext; } });
|
|
148
|
+
var audit_reporter_2 = require("./audit-reporter");
|
|
149
|
+
Object.defineProperty(exports, "AuditReporter", { enumerable: true, get: function () { return audit_reporter_2.AuditReporter; } });
|
|
150
|
+
/**
|
|
151
|
+
* @description Orquestador central del sistema multi-agente.
|
|
152
|
+
*
|
|
153
|
+
* Procesa el input del usuario a través de un pipeline de 4 etapas:
|
|
154
|
+
* 1. Intent Detection — clasifica la acción (design, implement, etc.)
|
|
155
|
+
* 2. Domain Detection — identifica bounded contexts
|
|
156
|
+
* 3. Risk Scoring — calcula nivel de riesgo técnico
|
|
157
|
+
* 4. Policy Engine — aplica reglas y determina agentes/gates
|
|
158
|
+
*
|
|
159
|
+
* El resultado es un OrchestrationResult que el AgentLoop puede usar
|
|
160
|
+
* para seleccionar agentes, aplicar gates y controlar el flujo.
|
|
161
|
+
*
|
|
162
|
+
* **Auditoría integrada:**
|
|
163
|
+
* Cada vez que `orchestrate()` se ejecuta, el AuditReporter registra
|
|
164
|
+
* automáticamente un gate de orquestación con los hallazgos detectados.
|
|
165
|
+
*
|
|
166
|
+
* Los gates de QA, security y architecture se registran desde el AgentLoop
|
|
167
|
+
* usando `getAuditReporter()`.
|
|
168
|
+
*/
|
|
169
|
+
class Orchestrator {
|
|
170
|
+
client;
|
|
171
|
+
config;
|
|
172
|
+
customRules;
|
|
173
|
+
capabilityMatrix;
|
|
174
|
+
fsm;
|
|
175
|
+
auditReporter;
|
|
176
|
+
appName;
|
|
177
|
+
constructor(options) {
|
|
178
|
+
this.client = options?.client;
|
|
179
|
+
this.config = options?.config ?? (0, types_1.defaultOrchestratorConfig)();
|
|
180
|
+
this.customRules = options?.customRules;
|
|
181
|
+
this.capabilityMatrix = options?.capabilityMatrix;
|
|
182
|
+
this.appName = options?.appName ?? 'bk-agent';
|
|
183
|
+
this.fsm = new fsm_1.TaskFSM();
|
|
184
|
+
this.auditReporter = new audit_reporter_1.AuditReporter({
|
|
185
|
+
projectRoot: options?.projectRoot ?? process.cwd(),
|
|
186
|
+
useGlobalDir: true,
|
|
187
|
+
appName: this.appName,
|
|
188
|
+
});
|
|
189
|
+
}
|
|
190
|
+
/**
|
|
191
|
+
* @description Procesa el input del usuario a través del pipeline completo.
|
|
192
|
+
*
|
|
193
|
+
* @param input - Texto del usuario
|
|
194
|
+
* @returns Resultado completo de la orquestación
|
|
195
|
+
*/
|
|
196
|
+
async orchestrate(input) {
|
|
197
|
+
const enrichResult = await (0, pipeline_1.pipeline)()
|
|
198
|
+
.pipeIf(_ => this.config.features.intentDetection, new IntentStep(this.client))
|
|
199
|
+
.pipeIf(_ => this.config.features.domainDetection, new DomainStep())
|
|
200
|
+
.pipeIf(_ => this.config.features.riskScoring, new RiskStep(this.config))
|
|
201
|
+
.pipeIf(_ => this.config.features.policyEngine, new PolicyStep(this.customRules, () => this.loadManifestPolicyRules(), input))
|
|
202
|
+
.run({ task: (0, task_context_1.createTaskContext)(input), policyResult: EMPTY_POLICY_RESULT });
|
|
203
|
+
if (!enrichResult.ok) {
|
|
204
|
+
throw enrichResult.error.cause;
|
|
205
|
+
}
|
|
206
|
+
const { task, policyResult } = enrichResult.value;
|
|
207
|
+
const selectedAgents = this.selectAgents(task, policyResult);
|
|
208
|
+
const agentPipeline = this.buildAgentPipeline(selectedAgents, task);
|
|
209
|
+
const commitAllowed = this.isCommitAllowed(task, policyResult);
|
|
210
|
+
await this.recordOrchestrationGate(task, selectedAgents, policyResult);
|
|
211
|
+
return {
|
|
212
|
+
task,
|
|
213
|
+
selectedAgents,
|
|
214
|
+
agentPipeline,
|
|
215
|
+
appliedPolicies: policyResult.appliedRules.map(r => ({ rule: r.rule, reason: r.reason })),
|
|
216
|
+
requiredGates: policyResult.requiredGates,
|
|
217
|
+
commitAllowed,
|
|
218
|
+
};
|
|
219
|
+
}
|
|
220
|
+
// ── Auditoría ──────────────────────────────────────────────────────────
|
|
221
|
+
/**
|
|
222
|
+
* @description Obtiene la instancia del AuditReporter para registrar gates
|
|
223
|
+
* desde el AgentLoop u otros componentes.
|
|
224
|
+
*/
|
|
225
|
+
getAuditReporter() {
|
|
226
|
+
return this.auditReporter;
|
|
227
|
+
}
|
|
228
|
+
/**
|
|
229
|
+
* @description Intenta transicionar el estado de la tarea en el FSM.
|
|
230
|
+
* Expuesto para que el QA orchestrator pueda avanzar estados desde el loop.
|
|
231
|
+
*/
|
|
232
|
+
transitionTask(task, to) {
|
|
233
|
+
return this.fsm.transition(task, to);
|
|
234
|
+
}
|
|
235
|
+
/**
|
|
236
|
+
* @description Registra automáticamente un gate de orquestación después
|
|
237
|
+
* de ejecutar el pipeline completo.
|
|
238
|
+
*/
|
|
239
|
+
async recordOrchestrationGate(task, selectedAgents, policyResult) {
|
|
240
|
+
const hallazgos = [];
|
|
241
|
+
// Hallazgo de riesgos
|
|
242
|
+
if (task.riskLevel === 'high' || task.riskLevel === 'critical') {
|
|
243
|
+
hallazgos.push({
|
|
244
|
+
id: `ORQ-${(0, crypto_1.randomUUID)().slice(0, 8)}`,
|
|
245
|
+
dimension: 'Riesgo',
|
|
246
|
+
hallazgo: `Tarea con nivel de riesgo ${task.riskLevel}`,
|
|
247
|
+
severidad: task.riskLevel === 'critical' ? 'critical' : 'high',
|
|
248
|
+
evidencia: `RiskLevel: ${task.riskLevel}, Factores: ${JSON.stringify(task.riskFactors)}`,
|
|
249
|
+
recomendacion: 'Asegurar que todos los gates requeridos se ejecuten antes del commit',
|
|
250
|
+
agenteResponsable: 'orchestrator',
|
|
251
|
+
});
|
|
252
|
+
}
|
|
253
|
+
// Hallazgo de gates requeridos
|
|
254
|
+
if (policyResult.requiredGates.length > 0) {
|
|
255
|
+
hallazgos.push({
|
|
256
|
+
id: `GATES-${(0, crypto_1.randomUUID)().slice(0, 8)}`,
|
|
257
|
+
dimension: 'Políticas',
|
|
258
|
+
hallazgo: `Gates requeridos: ${policyResult.requiredGates.join(', ')}`,
|
|
259
|
+
severidad: 'medium',
|
|
260
|
+
evidencia: `Reglas aplicadas: ${policyResult.appliedRules.map(r => r.rule).join(', ')}`,
|
|
261
|
+
recomendacion: `Ejecutar gates: ${policyResult.requiredGates.join(', ')} antes del commit`,
|
|
262
|
+
agenteResponsable: 'orchestrator',
|
|
263
|
+
});
|
|
264
|
+
}
|
|
265
|
+
// Hallazgo de agentes seleccionados
|
|
266
|
+
if (selectedAgents.length > 0) {
|
|
267
|
+
hallazgos.push({
|
|
268
|
+
id: `AGENTS-${(0, crypto_1.randomUUID)().slice(0, 8)}`,
|
|
269
|
+
dimension: 'Selección de Agentes',
|
|
270
|
+
hallazgo: `Agentes seleccionados: ${selectedAgents.map(a => a.agentId).join(', ')}`,
|
|
271
|
+
severidad: 'low',
|
|
272
|
+
evidencia: `Top: ${selectedAgents[0]?.agentId} (score: ${selectedAgents[0]?.score})`,
|
|
273
|
+
recomendacion: selectedAgents.length === 1 && selectedAgents[0]?.agentId === 'general'
|
|
274
|
+
? 'Considerar configurar capability matrix para mejor selección'
|
|
275
|
+
: 'Selección automática correcta',
|
|
276
|
+
agenteResponsable: 'orchestrator',
|
|
277
|
+
});
|
|
278
|
+
}
|
|
279
|
+
const veredicto = task.riskLevel === 'critical' ? 'NO-GO condicional' :
|
|
280
|
+
task.riskLevel === 'high' ? 'NO-GO condicional' :
|
|
281
|
+
'GO';
|
|
282
|
+
await this.auditReporter.recordGate('orquestación', 'orchestrator', veredicto, hallazgos, task, `Pipeline ejecutado: intent → domains → risk → policies → agents → gates`, true // skipIfEmpty: No persistir auto-gates sin hallazgos (reduce ruido)
|
|
283
|
+
);
|
|
284
|
+
}
|
|
285
|
+
// ── Selección de Agentes ────────────────────────────────────────────────
|
|
286
|
+
/**
|
|
287
|
+
* Selecciona agentes combinando:
|
|
288
|
+
* - Políticas obligatorias (mustInclude)
|
|
289
|
+
* - Capability matrix (dominios)
|
|
290
|
+
* - Pesos dinámicos
|
|
291
|
+
*/
|
|
292
|
+
selectAgents(task, policyResult) {
|
|
293
|
+
const selected = [];
|
|
294
|
+
const seen = new Set();
|
|
295
|
+
// Fuente única de verdad: task.assignedAgents (ya rellenado por applyPolicies)
|
|
296
|
+
// más cualquier mustInclude adicional que la política reportó
|
|
297
|
+
const mandatoryIds = new Set([
|
|
298
|
+
...task.assignedAgents,
|
|
299
|
+
...policyResult.mustInclude,
|
|
300
|
+
]);
|
|
301
|
+
for (const agentId of mandatoryIds) {
|
|
302
|
+
if (!seen.has(agentId)) {
|
|
303
|
+
seen.add(agentId);
|
|
304
|
+
selected.push({ agentId, score: 100, reason: 'Politica obligatoria' });
|
|
305
|
+
}
|
|
306
|
+
}
|
|
307
|
+
// Agentes por capability matrix (dominios detectados)
|
|
308
|
+
if (this.capabilityMatrix) {
|
|
309
|
+
for (const domain of task.domains) {
|
|
310
|
+
for (const [agentId, capability] of Object.entries(this.capabilityMatrix)) {
|
|
311
|
+
if (seen.has(agentId))
|
|
312
|
+
continue;
|
|
313
|
+
if (capability.owns.includes(domain)) {
|
|
314
|
+
seen.add(agentId);
|
|
315
|
+
const baseWeight = capability.baseWeight ?? 0.8;
|
|
316
|
+
selected.push({
|
|
317
|
+
agentId,
|
|
318
|
+
score: Math.round(baseWeight * 100),
|
|
319
|
+
reason: `Domina el dominio: ${domain}`,
|
|
320
|
+
});
|
|
321
|
+
}
|
|
322
|
+
}
|
|
323
|
+
}
|
|
324
|
+
}
|
|
325
|
+
// Agente general como fallback
|
|
326
|
+
if (selected.length === 0) {
|
|
327
|
+
selected.push({ agentId: 'general', score: 50, reason: 'Fallback: agente general' });
|
|
328
|
+
}
|
|
329
|
+
return selected.sort((a, b) => b.score - a.score);
|
|
330
|
+
}
|
|
331
|
+
/**
|
|
332
|
+
* Construye el pipeline secuencial de agentes en fases:
|
|
333
|
+
* review → implement → verify.
|
|
334
|
+
*
|
|
335
|
+
* - review: architecture-agent o security-agent si hay dominios de alto riesgo
|
|
336
|
+
* - implement: el agente con mayor score en selectedAgents
|
|
337
|
+
* - verify: qa-engineer siempre al final si hay implementación
|
|
338
|
+
*/
|
|
339
|
+
buildAgentPipeline(selectedAgents, task) {
|
|
340
|
+
if (selectedAgents.length === 0)
|
|
341
|
+
return undefined;
|
|
342
|
+
const pipeline = [];
|
|
343
|
+
// Fase review: architecture o security según riesgo
|
|
344
|
+
const isHighRisk = task.riskLevel === 'high' || task.riskLevel === 'critical';
|
|
345
|
+
const hasSecurityDomain = task.domains.includes('security');
|
|
346
|
+
const hasArchitectureDomain = task.domains.includes('architecture') || task.domains.includes('resilience');
|
|
347
|
+
if (task.requiresSecurityReview || (isHighRisk && hasSecurityDomain)) {
|
|
348
|
+
pipeline.push({
|
|
349
|
+
phase: 'review',
|
|
350
|
+
agentId: 'security',
|
|
351
|
+
purpose: 'Review security implications',
|
|
352
|
+
optional: false,
|
|
353
|
+
});
|
|
354
|
+
}
|
|
355
|
+
if (task.requiresArchitectureReview || (isHighRisk && hasArchitectureDomain)) {
|
|
356
|
+
pipeline.push({
|
|
357
|
+
phase: 'review',
|
|
358
|
+
agentId: 'architecture',
|
|
359
|
+
purpose: 'Review architecture for high-risk change',
|
|
360
|
+
optional: false,
|
|
361
|
+
});
|
|
362
|
+
}
|
|
363
|
+
// Fase implement: el mejor agente seleccionado
|
|
364
|
+
const topAgent = selectedAgents[0];
|
|
365
|
+
if (topAgent && topAgent.agentId !== 'general') {
|
|
366
|
+
pipeline.push({
|
|
367
|
+
phase: 'implement',
|
|
368
|
+
agentId: topAgent.agentId,
|
|
369
|
+
purpose: topAgent.reason,
|
|
370
|
+
optional: false,
|
|
371
|
+
});
|
|
372
|
+
}
|
|
373
|
+
// Fase verify: QA siempre al final si hay implementación
|
|
374
|
+
const hasImplementPhase = pipeline.some(p => p.phase === 'implement');
|
|
375
|
+
if (hasImplementPhase && task.requiresQaApproval) {
|
|
376
|
+
pipeline.push({
|
|
377
|
+
phase: 'verify',
|
|
378
|
+
agentId: 'qa-engineer',
|
|
379
|
+
purpose: 'Verify implementation quality and best practices',
|
|
380
|
+
optional: false,
|
|
381
|
+
});
|
|
382
|
+
}
|
|
383
|
+
return pipeline.length > 0 ? pipeline : undefined;
|
|
384
|
+
}
|
|
385
|
+
/**
|
|
386
|
+
* Determina si el commit está permitido según políticas y gates.
|
|
387
|
+
*
|
|
388
|
+
* Reglas:
|
|
389
|
+
* - Si commitGate está desactivado → siempre permitido
|
|
390
|
+
* - Si ya está en commit_allowed → permitido
|
|
391
|
+
* - Si requiere gates (QA, security, architecture) y no están resueltos → bloqueado
|
|
392
|
+
* - Si no requiere gates → permitido (se puede commitear directamente)
|
|
393
|
+
*/
|
|
394
|
+
isCommitAllowed(task, policyResult) {
|
|
395
|
+
if (!this.config.features.commitGate)
|
|
396
|
+
return true;
|
|
397
|
+
// Si ya está en commit_allowed → permitido
|
|
398
|
+
if (task.status === 'commit_allowed')
|
|
399
|
+
return true;
|
|
400
|
+
// Si requiere gates específicos y no están resueltos → bloqueado
|
|
401
|
+
if (task.requiresQaApproval && task.status !== 'approved' && task.status !== 'qa_review')
|
|
402
|
+
return false;
|
|
403
|
+
if (task.requiresSecurityReview && task.status !== 'approved' && task.status !== 'security_review')
|
|
404
|
+
return false;
|
|
405
|
+
if (task.requiresArchitectureReview && task.status !== 'approved' && task.status !== 'design_review')
|
|
406
|
+
return false;
|
|
407
|
+
// Si no requiere gates → permitido (tarea simple)
|
|
408
|
+
if (!task.requiresQaApproval && !task.requiresSecurityReview && !task.requiresArchitectureReview) {
|
|
409
|
+
return true;
|
|
410
|
+
}
|
|
411
|
+
return false;
|
|
412
|
+
}
|
|
413
|
+
/**
|
|
414
|
+
* @description Obtiene los estados destino válidos desde el estado actual.
|
|
415
|
+
*/
|
|
416
|
+
getAvailableTransitions(status) {
|
|
417
|
+
return this.fsm.getAvailableTransitions(status);
|
|
418
|
+
}
|
|
419
|
+
/**
|
|
420
|
+
* @description Calcula la ruta crítica desde el estado actual hasta commit_allowed.
|
|
421
|
+
*/
|
|
422
|
+
getCriticalPath(task) {
|
|
423
|
+
return this.fsm.getCriticalPath(task);
|
|
424
|
+
}
|
|
425
|
+
/**
|
|
426
|
+
* @description Obtiene la instancia del FSM.
|
|
427
|
+
*/
|
|
428
|
+
getFSM() {
|
|
429
|
+
return this.fsm;
|
|
430
|
+
}
|
|
431
|
+
/**
|
|
432
|
+
* @description Actualiza la configuración en runtime.
|
|
433
|
+
*/
|
|
434
|
+
updateConfig(config) {
|
|
435
|
+
this.config = { ...this.config, ...config };
|
|
436
|
+
}
|
|
437
|
+
/**
|
|
438
|
+
* @description Actualiza las reglas personalizadas en runtime.
|
|
439
|
+
*/
|
|
440
|
+
updateRules(rules) {
|
|
441
|
+
this.customRules = rules;
|
|
442
|
+
}
|
|
443
|
+
/**
|
|
444
|
+
* @description Actualiza la capability matrix en runtime.
|
|
445
|
+
*/
|
|
446
|
+
updateCapabilityMatrix(matrix) {
|
|
447
|
+
this.capabilityMatrix = matrix;
|
|
448
|
+
}
|
|
449
|
+
/**
|
|
450
|
+
* @description Carga las policyRules auto-promovidas desde manifest.yaml.
|
|
451
|
+
* Estas son generadas por el PolicyPromoter del Reflection Engine y se
|
|
452
|
+
* fusionan con las customRules en cada orchestrate().
|
|
453
|
+
*/
|
|
454
|
+
async loadManifestPolicyRules() {
|
|
455
|
+
try {
|
|
456
|
+
const home = process.env.USERPROFILE ?? process.env.HOME ?? os.homedir();
|
|
457
|
+
const manifestPath = path.join(home, `.${this.appName}`, 'manifest.yaml');
|
|
458
|
+
const content = await fs.promises.readFile(manifestPath, 'utf-8');
|
|
459
|
+
const manifest = yaml.parse(content);
|
|
460
|
+
const rules = manifest?.policyRules ?? [];
|
|
461
|
+
return rules
|
|
462
|
+
.filter(r => r.if && r.then)
|
|
463
|
+
.map(r => ({ if: r.if, then: r.then }));
|
|
464
|
+
}
|
|
465
|
+
catch {
|
|
466
|
+
return [];
|
|
467
|
+
}
|
|
468
|
+
}
|
|
469
|
+
}
|
|
470
|
+
exports.Orchestrator = Orchestrator;
|
|
471
|
+
//# sourceMappingURL=orchestrator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"orchestrator.js","sourceRoot":"","sources":["../../src/orchestration/orchestrator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @description Policy Engine — Motor de reglas para el orquestador.
|
|
3
|
+
*
|
|
4
|
+
* Evalúa reglas contra un TaskContext y determina:
|
|
5
|
+
* - Qué agentes deben participar obligatoriamente
|
|
6
|
+
* - Qué gates son obligatorios
|
|
7
|
+
* - Qué skills deben ejecutarse
|
|
8
|
+
*
|
|
9
|
+
* Las reglas se cargan desde ~/.deepseek-code/policy-rules.yaml
|
|
10
|
+
* y se complementan con reglas built-in por defecto.
|
|
11
|
+
*/
|
|
12
|
+
import { TaskContext } from './task-context';
|
|
13
|
+
import { PolicyRule } from './types';
|
|
14
|
+
export interface PolicyEngineResult {
|
|
15
|
+
/** Agentes que deben incluirse */
|
|
16
|
+
mustInclude: string[];
|
|
17
|
+
/** Gates obligatorios */
|
|
18
|
+
requiredGates: Array<'qa' | 'security' | 'architecture'>;
|
|
19
|
+
/** Skills obligatorios */
|
|
20
|
+
mustExecute: string[];
|
|
21
|
+
/** Reglas que se activaron */
|
|
22
|
+
appliedRules: Array<{
|
|
23
|
+
rule: string;
|
|
24
|
+
reason: string;
|
|
25
|
+
}>;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* @description Evalúa todas las reglas contra un TaskContext.
|
|
29
|
+
*
|
|
30
|
+
* Las reglas personalizadas (de ~/.deepseek-code/policy-rules.yaml)
|
|
31
|
+
* tienen prioridad sobre las built-in. Si una regla personalizada
|
|
32
|
+
* coincide, se aplica en lugar de la built-in equivalente.
|
|
33
|
+
*
|
|
34
|
+
* @param task - TaskContext enriquecido con actionType, domains, riskLevel
|
|
35
|
+
* @param customRules - Reglas personalizadas (opcional, desde config)
|
|
36
|
+
* @returns Políticas aplicadas: agentes, gates y skills obligatorios
|
|
37
|
+
*/
|
|
38
|
+
export declare function evaluatePolicies(task: TaskContext, customRules?: PolicyRule[], userInput?: string): PolicyEngineResult;
|
|
39
|
+
/**
|
|
40
|
+
* @description Aplica políticas a un TaskContext y produce un resultado completo.
|
|
41
|
+
* Es el entry point principal para el orquestador.
|
|
42
|
+
*/
|
|
43
|
+
export declare function applyPolicies(task: TaskContext, customRules?: PolicyRule[], userInput?: string): {
|
|
44
|
+
task: TaskContext;
|
|
45
|
+
result: PolicyEngineResult;
|
|
46
|
+
};
|
|
47
|
+
//# sourceMappingURL=policy-engine.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"policy-engine.d.ts","sourceRoot":"","sources":["../../src/orchestration/policy-engine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,WAAW,EAAyB,MAAM,gBAAgB,CAAC;AACpE,OAAO,EAAE,UAAU,EAAsD,MAAM,SAAS,CAAC;AAwGzF,MAAM,WAAW,kBAAkB;IACjC,kCAAkC;IAClC,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,yBAAyB;IACzB,aAAa,EAAE,KAAK,CAAC,IAAI,GAAG,UAAU,GAAG,cAAc,CAAC,CAAC;IACzD,0BAA0B;IAC1B,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,8BAA8B;IAC9B,YAAY,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACvD;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,WAAW,EACjB,WAAW,CAAC,EAAE,UAAU,EAAE,EAC1B,SAAS,SAAK,GACb,kBAAkB,CAsDpB;AAoFD;;;GAGG;AACH,wBAAgB,aAAa,CAC3B,IAAI,EAAE,WAAW,EACjB,WAAW,CAAC,EAAE,UAAU,EAAE,EAC1B,SAAS,SAAK,GACb;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,MAAM,EAAE,kBAAkB,CAAA;CAAE,CAcnD"}
|