@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,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @description AuditCiBlocker — Bloqueo de deploys en CI/CD.
|
|
3
|
+
*
|
|
4
|
+
* Verifica si hay hallazgos críticos/altos sin resolver y genera
|
|
5
|
+
* reportes de estado para pipelines de CI/CD.
|
|
6
|
+
*
|
|
7
|
+
* Útil para:
|
|
8
|
+
* - `audit check --block-on-critical` en CI
|
|
9
|
+
* - Generar reportes de estado para GitHub Actions / GitLab CI
|
|
10
|
+
* - Fallar el pipeline si hay issues abiertos
|
|
11
|
+
*/
|
|
12
|
+
import { GateRecord, CiReport } from './types';
|
|
13
|
+
export declare class AuditCiBlocker {
|
|
14
|
+
private docsDir;
|
|
15
|
+
constructor(docsDir: string);
|
|
16
|
+
/**
|
|
17
|
+
* @description Verifica si hay hallazgos críticos/altos sin resolver.
|
|
18
|
+
* Busca tanto en memoria como en disco.
|
|
19
|
+
* Si retorna true, el pipeline CI/CD debe fallar.
|
|
20
|
+
*
|
|
21
|
+
* @param gates - Gates en memoria para verificar
|
|
22
|
+
*/
|
|
23
|
+
hasCriticalOpenFindings(gates: GateRecord[]): Promise<boolean>;
|
|
24
|
+
/**
|
|
25
|
+
* @description Genera reporte de estado para CI/CD.
|
|
26
|
+
*
|
|
27
|
+
* @param gates - Gates en memoria para analizar
|
|
28
|
+
*/
|
|
29
|
+
generateCiReport(gates: GateRecord[]): Promise<CiReport>;
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=audit-ci-blocker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"audit-ci-blocker.d.ts","sourceRoot":"","sources":["../../../src/orchestration/audit/audit-ci-blocker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAIH,OAAO,EAAE,UAAU,EAAgB,QAAQ,EAAE,MAAM,SAAS,CAAC;AAI7D,qBAAa,cAAc;IACzB,OAAO,CAAC,OAAO,CAAS;gBAEZ,OAAO,EAAE,MAAM;IAI3B;;;;;;OAMG;IACG,uBAAuB,CAAC,KAAK,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IA2BpE;;;;OAIG;IACG,gBAAgB,CAAC,KAAK,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,QAAQ,CAAC;CA0B/D"}
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @description AuditCiBlocker — Bloqueo de deploys en CI/CD.
|
|
4
|
+
*
|
|
5
|
+
* Verifica si hay hallazgos críticos/altos sin resolver y genera
|
|
6
|
+
* reportes de estado para pipelines de CI/CD.
|
|
7
|
+
*
|
|
8
|
+
* Útil para:
|
|
9
|
+
* - `audit check --block-on-critical` en CI
|
|
10
|
+
* - Generar reportes de estado para GitHub Actions / GitLab CI
|
|
11
|
+
* - Fallar el pipeline si hay issues abiertos
|
|
12
|
+
*/
|
|
13
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
14
|
+
if (k2 === undefined) k2 = k;
|
|
15
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
16
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
17
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
18
|
+
}
|
|
19
|
+
Object.defineProperty(o, k2, desc);
|
|
20
|
+
}) : (function(o, m, k, k2) {
|
|
21
|
+
if (k2 === undefined) k2 = k;
|
|
22
|
+
o[k2] = m[k];
|
|
23
|
+
}));
|
|
24
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
25
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
26
|
+
}) : function(o, v) {
|
|
27
|
+
o["default"] = v;
|
|
28
|
+
});
|
|
29
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
30
|
+
var ownKeys = function(o) {
|
|
31
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
32
|
+
var ar = [];
|
|
33
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
34
|
+
return ar;
|
|
35
|
+
};
|
|
36
|
+
return ownKeys(o);
|
|
37
|
+
};
|
|
38
|
+
return function (mod) {
|
|
39
|
+
if (mod && mod.__esModule) return mod;
|
|
40
|
+
var result = {};
|
|
41
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
42
|
+
__setModuleDefault(result, mod);
|
|
43
|
+
return result;
|
|
44
|
+
};
|
|
45
|
+
})();
|
|
46
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
47
|
+
exports.AuditCiBlocker = void 0;
|
|
48
|
+
const path = __importStar(require("path"));
|
|
49
|
+
const fs = __importStar(require("fs/promises"));
|
|
50
|
+
// ── AuditCiBlocker ───────────────────────────────────────────────────────────
|
|
51
|
+
class AuditCiBlocker {
|
|
52
|
+
docsDir;
|
|
53
|
+
constructor(docsDir) {
|
|
54
|
+
this.docsDir = docsDir;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* @description Verifica si hay hallazgos críticos/altos sin resolver.
|
|
58
|
+
* Busca tanto en memoria como en disco.
|
|
59
|
+
* Si retorna true, el pipeline CI/CD debe fallar.
|
|
60
|
+
*
|
|
61
|
+
* @param gates - Gates en memoria para verificar
|
|
62
|
+
*/
|
|
63
|
+
async hasCriticalOpenFindings(gates) {
|
|
64
|
+
try {
|
|
65
|
+
const files = await fs.readdir(this.docsDir);
|
|
66
|
+
// Buscar pending issues activos
|
|
67
|
+
if (files.some(f => f.startsWith('pending-issues') && f.endsWith('.md')))
|
|
68
|
+
return true;
|
|
69
|
+
// Buscar en informes finales y gates persistidos
|
|
70
|
+
for (const file of files) {
|
|
71
|
+
if (!file.endsWith('.md') || file.startsWith('auto-gates'))
|
|
72
|
+
continue;
|
|
73
|
+
const content = await fs.readFile(path.join(this.docsDir, file), 'utf-8');
|
|
74
|
+
const criticalMatches = (content.match(/\*\*(Crítica|Alta)\*\*/g) ?? []).length;
|
|
75
|
+
const resolvedMatches = (content.match(/Resuelto en commit/g) ?? []).length;
|
|
76
|
+
if (criticalMatches > resolvedMatches)
|
|
77
|
+
return true;
|
|
78
|
+
}
|
|
79
|
+
// Buscar en memoria
|
|
80
|
+
if (gates.some(g => g.hallazgos.some(h => (h.severidad === 'critical' || h.severidad === 'high') && !h.resolvedByCommit)))
|
|
81
|
+
return true;
|
|
82
|
+
return false;
|
|
83
|
+
}
|
|
84
|
+
catch {
|
|
85
|
+
return false;
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* @description Genera reporte de estado para CI/CD.
|
|
90
|
+
*
|
|
91
|
+
* @param gates - Gates en memoria para analizar
|
|
92
|
+
*/
|
|
93
|
+
async generateCiReport(gates) {
|
|
94
|
+
const criticalOpen = [];
|
|
95
|
+
const highOpen = [];
|
|
96
|
+
for (const gate of gates) {
|
|
97
|
+
for (const h of gate.hallazgos) {
|
|
98
|
+
if (!h.resolvedByCommit) {
|
|
99
|
+
if (h.severidad === 'critical')
|
|
100
|
+
criticalOpen.push(h);
|
|
101
|
+
else if (h.severidad === 'high')
|
|
102
|
+
highOpen.push(h);
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
const ok = criticalOpen.length === 0 && highOpen.length === 0;
|
|
107
|
+
const message = ok
|
|
108
|
+
? '✅ No hay hallazgos críticos o altos abiertos. Deploy permitido.'
|
|
109
|
+
: `❌ ${criticalOpen.length} crítico(s) y ${highOpen.length} alto(s) sin resolver. Deploy bloqueado.`;
|
|
110
|
+
return {
|
|
111
|
+
ok,
|
|
112
|
+
criticalCount: criticalOpen.length,
|
|
113
|
+
highCount: highOpen.length,
|
|
114
|
+
findings: [...criticalOpen, ...highOpen],
|
|
115
|
+
message,
|
|
116
|
+
};
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
exports.AuditCiBlocker = AuditCiBlocker;
|
|
120
|
+
//# sourceMappingURL=audit-ci-blocker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"audit-ci-blocker.js","sourceRoot":"","sources":["../../../src/orchestration/audit/audit-ci-blocker.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @description AuditFindingTracer — Trazabilidad hallazgo → commit.
|
|
3
|
+
*
|
|
4
|
+
* Permite marcar hallazgos de auditoría como resueltos, asociándolos
|
|
5
|
+
* con un commit SHA específico. Busca tanto en memoria como en disco
|
|
6
|
+
* para actualizar los registros persistidos.
|
|
7
|
+
*/
|
|
8
|
+
import { GateRecord } from './types';
|
|
9
|
+
export declare class AuditFindingTracer {
|
|
10
|
+
private docsDir;
|
|
11
|
+
constructor(docsDir: string);
|
|
12
|
+
/**
|
|
13
|
+
* @description Marca un hallazgo como resuelto en memoria y en disco.
|
|
14
|
+
*
|
|
15
|
+
* @param gates - Lista de gates en memoria donde buscar
|
|
16
|
+
* @param findingId - ID del hallazgo a marcar
|
|
17
|
+
* @param commitHash - SHA del commit que lo resuelve
|
|
18
|
+
* @param commitMessage - Mensaje del commit (opcional)
|
|
19
|
+
* @returns true si se encontró y marcó el hallazgo
|
|
20
|
+
*/
|
|
21
|
+
markResolved(gates: GateRecord[], findingId: string, commitHash: string, commitMessage?: string): Promise<boolean>;
|
|
22
|
+
/**
|
|
23
|
+
* @description Marca hallazgos como resueltos buscando por archivos modificados
|
|
24
|
+
* en el commit. Útil para hook post-commit.
|
|
25
|
+
*
|
|
26
|
+
* @param gates - Lista de gates en memoria
|
|
27
|
+
* @param commitHash - SHA del commit
|
|
28
|
+
* @param modifiedFiles - Archivos modificados en el commit
|
|
29
|
+
* @returns Cantidad de hallazgos resueltos
|
|
30
|
+
*/
|
|
31
|
+
markResolvedByFiles(gates: GateRecord[], commitHash: string, modifiedFiles: string[]): Promise<number>;
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=audit-finding-tracer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"audit-finding-tracer.d.ts","sourceRoot":"","sources":["../../../src/orchestration/audit/audit-finding-tracer.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,EAAE,UAAU,EAAgB,MAAM,SAAS,CAAC;AAanD,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,OAAO,CAAS;gBAEZ,OAAO,EAAE,MAAM;IAI3B;;;;;;;;OAQG;IACG,YAAY,CAChB,KAAK,EAAE,UAAU,EAAE,EACnB,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,aAAa,CAAC,EAAE,MAAM,GACrB,OAAO,CAAC,OAAO,CAAC;IAqCnB;;;;;;;;OAQG;IACG,mBAAmB,CACvB,KAAK,EAAE,UAAU,EAAE,EACnB,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,MAAM,EAAE,GACtB,OAAO,CAAC,MAAM,CAAC;CAanB"}
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @description AuditFindingTracer — Trazabilidad hallazgo → commit.
|
|
4
|
+
*
|
|
5
|
+
* Permite marcar hallazgos de auditoría como resueltos, asociándolos
|
|
6
|
+
* con un commit SHA específico. Busca tanto en memoria como en disco
|
|
7
|
+
* para actualizar los registros persistidos.
|
|
8
|
+
*/
|
|
9
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
12
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
13
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
14
|
+
}
|
|
15
|
+
Object.defineProperty(o, k2, desc);
|
|
16
|
+
}) : (function(o, m, k, k2) {
|
|
17
|
+
if (k2 === undefined) k2 = k;
|
|
18
|
+
o[k2] = m[k];
|
|
19
|
+
}));
|
|
20
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
21
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
22
|
+
}) : function(o, v) {
|
|
23
|
+
o["default"] = v;
|
|
24
|
+
});
|
|
25
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
26
|
+
var ownKeys = function(o) {
|
|
27
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
28
|
+
var ar = [];
|
|
29
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
30
|
+
return ar;
|
|
31
|
+
};
|
|
32
|
+
return ownKeys(o);
|
|
33
|
+
};
|
|
34
|
+
return function (mod) {
|
|
35
|
+
if (mod && mod.__esModule) return mod;
|
|
36
|
+
var result = {};
|
|
37
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
38
|
+
__setModuleDefault(result, mod);
|
|
39
|
+
return result;
|
|
40
|
+
};
|
|
41
|
+
})();
|
|
42
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
43
|
+
exports.AuditFindingTracer = void 0;
|
|
44
|
+
const path = __importStar(require("path"));
|
|
45
|
+
const fs = __importStar(require("fs/promises"));
|
|
46
|
+
// ── Helpers ──────────────────────────────────────────────────────────────────
|
|
47
|
+
function getFormattedDate() {
|
|
48
|
+
return new Date()
|
|
49
|
+
.toISOString()
|
|
50
|
+
.replace('T', ' ')
|
|
51
|
+
.replace(/\.\d{3}Z/, ' UTC');
|
|
52
|
+
}
|
|
53
|
+
// ── AuditFindingTracer ───────────────────────────────────────────────────────
|
|
54
|
+
class AuditFindingTracer {
|
|
55
|
+
docsDir;
|
|
56
|
+
constructor(docsDir) {
|
|
57
|
+
this.docsDir = docsDir;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* @description Marca un hallazgo como resuelto en memoria y en disco.
|
|
61
|
+
*
|
|
62
|
+
* @param gates - Lista de gates en memoria donde buscar
|
|
63
|
+
* @param findingId - ID del hallazgo a marcar
|
|
64
|
+
* @param commitHash - SHA del commit que lo resuelve
|
|
65
|
+
* @param commitMessage - Mensaje del commit (opcional)
|
|
66
|
+
* @returns true si se encontró y marcó el hallazgo
|
|
67
|
+
*/
|
|
68
|
+
async markResolved(gates, findingId, commitHash, commitMessage) {
|
|
69
|
+
let found = false;
|
|
70
|
+
const resolvedAt = getFormattedDate();
|
|
71
|
+
// En memoria
|
|
72
|
+
for (const gate of gates) {
|
|
73
|
+
for (const hallazgo of gate.hallazgos) {
|
|
74
|
+
if (hallazgo.id === findingId) {
|
|
75
|
+
hallazgo.resolvedByCommit = commitHash;
|
|
76
|
+
hallazgo.resolvedAt = resolvedAt;
|
|
77
|
+
found = true;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
// En disco
|
|
82
|
+
try {
|
|
83
|
+
const files = await fs.readdir(this.docsDir);
|
|
84
|
+
for (const file of files) {
|
|
85
|
+
if (!file.endsWith('.md') || file.startsWith('auto-gates') || file.startsWith('pending-issues'))
|
|
86
|
+
continue;
|
|
87
|
+
const filePath = path.join(this.docsDir, file);
|
|
88
|
+
let content = await fs.readFile(filePath, 'utf-8');
|
|
89
|
+
const pattern = new RegExp(`\\|\\s*${findingId}\\s*\\|`);
|
|
90
|
+
if (pattern.test(content)) {
|
|
91
|
+
const marker = `*(Resuelto en commit \`${commitHash}\`${commitMessage ? `: ${commitMessage}` : ''} — ${resolvedAt})*`;
|
|
92
|
+
content = content.replace(pattern, `$& ${marker}`);
|
|
93
|
+
await fs.writeFile(filePath, content, 'utf-8');
|
|
94
|
+
found = true;
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
catch {
|
|
99
|
+
// Si no existe directorio, no hay archivos que actualizar
|
|
100
|
+
}
|
|
101
|
+
return found;
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* @description Marca hallazgos como resueltos buscando por archivos modificados
|
|
105
|
+
* en el commit. Útil para hook post-commit.
|
|
106
|
+
*
|
|
107
|
+
* @param gates - Lista de gates en memoria
|
|
108
|
+
* @param commitHash - SHA del commit
|
|
109
|
+
* @param modifiedFiles - Archivos modificados en el commit
|
|
110
|
+
* @returns Cantidad de hallazgos resueltos
|
|
111
|
+
*/
|
|
112
|
+
async markResolvedByFiles(gates, commitHash, modifiedFiles) {
|
|
113
|
+
let resolved = 0;
|
|
114
|
+
for (const gate of gates) {
|
|
115
|
+
for (const hallazgo of gate.hallazgos) {
|
|
116
|
+
if (!hallazgo.resolvedByCommit && modifiedFiles.some(f => hallazgo.evidencia.includes(f) || hallazgo.hallazgo.includes(f))) {
|
|
117
|
+
if (await this.markResolved(gates, hallazgo.id, commitHash))
|
|
118
|
+
resolved++;
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
return resolved;
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
exports.AuditFindingTracer = AuditFindingTracer;
|
|
126
|
+
//# sourceMappingURL=audit-finding-tracer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"audit-finding-tracer.js","sourceRoot":"","sources":["../../../src/orchestration/audit/audit-finding-tracer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @description AuditLessonsLearned — Analiza y genera lecciones aprendidas
|
|
3
|
+
* a partir de los gates de auditoría ejecutados.
|
|
4
|
+
*
|
|
5
|
+
* Responsabilidades:
|
|
6
|
+
* - Detectar patrones de severidad (críticos/altos)
|
|
7
|
+
* - Identificar dimensiones con más hallazgos
|
|
8
|
+
* - Encontrar keywords recurrentes en hallazgos
|
|
9
|
+
* - Calcular tasa de aprobación QA
|
|
10
|
+
* - Generar memo Markdown de lecciones aprendidas
|
|
11
|
+
*/
|
|
12
|
+
import { GateRecord } from './types';
|
|
13
|
+
export declare class AuditLessonsLearned {
|
|
14
|
+
private docsDir;
|
|
15
|
+
constructor(docsDir: string);
|
|
16
|
+
/**
|
|
17
|
+
* @description Analiza los gates y extrae lecciones aprendidas.
|
|
18
|
+
* Retorna un array de strings con las lecciones detectadas.
|
|
19
|
+
*/
|
|
20
|
+
analyze(gates: GateRecord[]): string[];
|
|
21
|
+
/**
|
|
22
|
+
* @description Genera un memo Markdown de lecciones aprendidas y lo persiste.
|
|
23
|
+
* Retorna la ruta del archivo, o null si no hay lecciones.
|
|
24
|
+
*/
|
|
25
|
+
generateMemo(gates: GateRecord[]): Promise<string | null>;
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=audit-lessons-learned.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"audit-lessons-learned.d.ts","sourceRoot":"","sources":["../../../src/orchestration/audit/audit-lessons-learned.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAIH,OAAO,EAAE,UAAU,EAAgB,MAAM,SAAS,CAAC;AAanD,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,OAAO,CAAS;gBAEZ,OAAO,EAAE,MAAM;IAI3B;;;OAGG;IACH,OAAO,CAAC,KAAK,EAAE,UAAU,EAAE,GAAG,MAAM,EAAE;IAoDtC;;;OAGG;IACG,YAAY,CAAC,KAAK,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;CAuChE"}
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @description AuditLessonsLearned — Analiza y genera lecciones aprendidas
|
|
4
|
+
* a partir de los gates de auditoría ejecutados.
|
|
5
|
+
*
|
|
6
|
+
* Responsabilidades:
|
|
7
|
+
* - Detectar patrones de severidad (críticos/altos)
|
|
8
|
+
* - Identificar dimensiones con más hallazgos
|
|
9
|
+
* - Encontrar keywords recurrentes en hallazgos
|
|
10
|
+
* - Calcular tasa de aprobación QA
|
|
11
|
+
* - Generar memo Markdown de lecciones aprendidas
|
|
12
|
+
*/
|
|
13
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
14
|
+
if (k2 === undefined) k2 = k;
|
|
15
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
16
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
17
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
18
|
+
}
|
|
19
|
+
Object.defineProperty(o, k2, desc);
|
|
20
|
+
}) : (function(o, m, k, k2) {
|
|
21
|
+
if (k2 === undefined) k2 = k;
|
|
22
|
+
o[k2] = m[k];
|
|
23
|
+
}));
|
|
24
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
25
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
26
|
+
}) : function(o, v) {
|
|
27
|
+
o["default"] = v;
|
|
28
|
+
});
|
|
29
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
30
|
+
var ownKeys = function(o) {
|
|
31
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
32
|
+
var ar = [];
|
|
33
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
34
|
+
return ar;
|
|
35
|
+
};
|
|
36
|
+
return ownKeys(o);
|
|
37
|
+
};
|
|
38
|
+
return function (mod) {
|
|
39
|
+
if (mod && mod.__esModule) return mod;
|
|
40
|
+
var result = {};
|
|
41
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
42
|
+
__setModuleDefault(result, mod);
|
|
43
|
+
return result;
|
|
44
|
+
};
|
|
45
|
+
})();
|
|
46
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
47
|
+
exports.AuditLessonsLearned = void 0;
|
|
48
|
+
const path = __importStar(require("path"));
|
|
49
|
+
const fs = __importStar(require("fs/promises"));
|
|
50
|
+
// ── Helpers ──────────────────────────────────────────────────────────────────
|
|
51
|
+
function getFormattedDate() {
|
|
52
|
+
return new Date()
|
|
53
|
+
.toISOString()
|
|
54
|
+
.replace('T', ' ')
|
|
55
|
+
.replace(/\.\d{3}Z/, ' UTC');
|
|
56
|
+
}
|
|
57
|
+
// ── AuditLessonsLearned ──────────────────────────────────────────────────────
|
|
58
|
+
class AuditLessonsLearned {
|
|
59
|
+
docsDir;
|
|
60
|
+
constructor(docsDir) {
|
|
61
|
+
this.docsDir = docsDir;
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* @description Analiza los gates y extrae lecciones aprendidas.
|
|
65
|
+
* Retorna un array de strings con las lecciones detectadas.
|
|
66
|
+
*/
|
|
67
|
+
analyze(gates) {
|
|
68
|
+
const lessons = [];
|
|
69
|
+
const qaGates = gates.filter(g => g.hallazgos.length > 0 && (g.gate === 'qa' || g.gate === 'security' || g.gate === 'architecture'));
|
|
70
|
+
if (qaGates.length === 0)
|
|
71
|
+
return [];
|
|
72
|
+
// Patrones de severidad
|
|
73
|
+
const criticalCount = qaGates.filter(g => g.hallazgos.some(h => h.severidad === 'critical' || h.severidad === 'high')).length;
|
|
74
|
+
if (criticalCount > 0) {
|
|
75
|
+
lessons.push(`⚠️ Se detectaron ${criticalCount} gate(s) con hallazgos críticos/altos. Revisar antes de proceder con nuevos cambios.`);
|
|
76
|
+
}
|
|
77
|
+
// Patrones por dimensión
|
|
78
|
+
const dimensiones = new Map();
|
|
79
|
+
for (const gate of qaGates) {
|
|
80
|
+
for (const h of gate.hallazgos) {
|
|
81
|
+
dimensiones.set(h.dimension, (dimensiones.get(h.dimension) || 0) + 1);
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
const topDimension = [...dimensiones.entries()].sort((a, b) => b[1] - a[1]).slice(0, 3);
|
|
85
|
+
if (topDimension.length > 0) {
|
|
86
|
+
lessons.push(`📊 Dimensiones con más hallazgos: ${topDimension.map(([d, c]) => `${d} (${c})`).join(', ')}`);
|
|
87
|
+
}
|
|
88
|
+
// Keywords recurrentes
|
|
89
|
+
const keywordCount = new Map();
|
|
90
|
+
const keywords = ['test', 'error', 'edge case', 'caso borde', 'seguridad', 'security', 'perf',
|
|
91
|
+
'documentación', 'validación', 'validation', 'cobertura', 'coverage', 'tipado'];
|
|
92
|
+
for (const gate of qaGates) {
|
|
93
|
+
for (const h of gate.hallazgos) {
|
|
94
|
+
const lower = `${h.hallazgo} ${h.dimension} ${h.evidencia}`.toLowerCase();
|
|
95
|
+
for (const kw of keywords) {
|
|
96
|
+
if (lower.includes(kw))
|
|
97
|
+
keywordCount.set(kw, (keywordCount.get(kw) || 0) + 1);
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
const topKeywords = [...keywordCount.entries()]
|
|
102
|
+
.filter(([_, c]) => c >= 2).sort((a, b) => b[1] - a[1]).slice(0, 5);
|
|
103
|
+
if (topKeywords.length > 0) {
|
|
104
|
+
lessons.push(`🔄 Patrones recurrentes: ${topKeywords.map(([kw, c]) => `"${kw}" (${c})`).join(', ')}`);
|
|
105
|
+
}
|
|
106
|
+
// Tasa de aprobación
|
|
107
|
+
const goCount = qaGates.filter(g => g.veredicto === 'GO').length;
|
|
108
|
+
lessons.push(`📈 Tasa de aprobación QA: ${Math.round((goCount / qaGates.length) * 100)}% (${goCount}/${qaGates.length})`);
|
|
109
|
+
return lessons;
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* @description Genera un memo Markdown de lecciones aprendidas y lo persiste.
|
|
113
|
+
* Retorna la ruta del archivo, o null si no hay lecciones.
|
|
114
|
+
*/
|
|
115
|
+
async generateMemo(gates) {
|
|
116
|
+
const lessons = this.analyze(gates);
|
|
117
|
+
if (lessons.length === 0)
|
|
118
|
+
return null;
|
|
119
|
+
const content = [
|
|
120
|
+
'---',
|
|
121
|
+
'tags: [auditoria, lecciones-aprendidas, memoria]',
|
|
122
|
+
`fecha: ${getFormattedDate()}`,
|
|
123
|
+
`total_gates: ${gates.length}`,
|
|
124
|
+
`gates_con_hallazgos: ${gates.filter(g => g.hallazgos.length > 0).length}`,
|
|
125
|
+
'---',
|
|
126
|
+
'',
|
|
127
|
+
`# 🧠 Lecciones Aprendidas — Auditorías`,
|
|
128
|
+
'',
|
|
129
|
+
`> Generado automáticamente por DeepSeek Code — Audit Reporter`,
|
|
130
|
+
`> Fecha: ${getFormattedDate()}`,
|
|
131
|
+
'',
|
|
132
|
+
'---',
|
|
133
|
+
'',
|
|
134
|
+
...lessons.map(l => `- ${l}`),
|
|
135
|
+
'',
|
|
136
|
+
'---',
|
|
137
|
+
'',
|
|
138
|
+
'## 📋 Detalle de Gates Revisados',
|
|
139
|
+
'',
|
|
140
|
+
'| Gate | Auditor | Veredicto | Hallazgos |',
|
|
141
|
+
'|------|---------|-----------|-----------|',
|
|
142
|
+
...gates.filter(g => g.hallazgos.length > 0).map(g => `| ${g.gate} | ${g.agente} | ${g.veredicto} | ${g.hallazgos.length} |`),
|
|
143
|
+
'',
|
|
144
|
+
'---',
|
|
145
|
+
'',
|
|
146
|
+
'*Este memo se actualiza cada vez que se genera un informe final.*',
|
|
147
|
+
].join('\n');
|
|
148
|
+
await fs.mkdir(this.docsDir, { recursive: true });
|
|
149
|
+
const filePath = path.join(this.docsDir, 'lecciones-aprendidas.md');
|
|
150
|
+
await fs.writeFile(filePath, content, 'utf-8');
|
|
151
|
+
return filePath;
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
exports.AuditLessonsLearned = AuditLessonsLearned;
|
|
155
|
+
//# sourceMappingURL=audit-lessons-learned.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"audit-lessons-learned.js","sourceRoot":"","sources":["../../../src/orchestration/audit/audit-lessons-learned.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @description AuditPendingIssues — Persiste issues pendientes (críticos/altos)
|
|
3
|
+
* cuando un sprint finaliza con veredicto NO-GO o NO-GO condicional.
|
|
4
|
+
*
|
|
5
|
+
* Estos issues deben resolverse antes de proceder con el deploy.
|
|
6
|
+
*/
|
|
7
|
+
import { AuditFinding, SprintInfo, GateVeredict } from './types';
|
|
8
|
+
export declare class AuditPendingIssues {
|
|
9
|
+
private docsDir;
|
|
10
|
+
constructor(docsDir: string);
|
|
11
|
+
/**
|
|
12
|
+
* @description Filtra los hallazgos críticos o altos de una lista de gates.
|
|
13
|
+
*/
|
|
14
|
+
extractCritical(issues: AuditFinding[]): AuditFinding[];
|
|
15
|
+
/**
|
|
16
|
+
* @description Persiste un archivo Markdown con los issues pendientes.
|
|
17
|
+
* Retorna la ruta del archivo generado.
|
|
18
|
+
*/
|
|
19
|
+
persist(issues: AuditFinding[], sprint: SprintInfo, veredicto: GateVeredict): Promise<string>;
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=audit-pending-issues.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"audit-pending-issues.d.ts","sourceRoot":"","sources":["../../../src/orchestration/audit/audit-pending-issues.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAcjE,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,OAAO,CAAS;gBAEZ,OAAO,EAAE,MAAM;IAI3B;;OAEG;IACH,eAAe,CAAC,MAAM,EAAE,YAAY,EAAE,GAAG,YAAY,EAAE;IAIvD;;;OAGG;IACG,OAAO,CACX,MAAM,EAAE,YAAY,EAAE,EACtB,MAAM,EAAE,UAAU,EAClB,SAAS,EAAE,YAAY,GACtB,OAAO,CAAC,MAAM,CAAC;CAyCnB"}
|