attocode 0.2.2 → 0.2.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +169 -3
- package/README.md +65 -5
- package/dist/src/adapters.d.ts.map +1 -1
- package/dist/src/adapters.js +15 -11
- package/dist/src/adapters.js.map +1 -1
- package/dist/src/agent.d.ts +44 -98
- package/dist/src/agent.d.ts.map +1 -1
- package/dist/src/agent.js +716 -2648
- package/dist/src/agent.js.map +1 -1
- package/dist/src/cli.d.ts.map +1 -1
- package/dist/src/cli.js +25 -3
- package/dist/src/cli.js.map +1 -1
- package/dist/src/commands/handler.d.ts.map +1 -1
- package/dist/src/commands/handler.js +11 -3
- package/dist/src/commands/handler.js.map +1 -1
- package/dist/src/commands/init-commands.d.ts.map +1 -1
- package/dist/src/commands/init-commands.js +16 -1
- package/dist/src/commands/init-commands.js.map +1 -1
- package/dist/src/commands/init.d.ts.map +1 -1
- package/dist/src/commands/init.js +31 -0
- package/dist/src/commands/init.js.map +1 -1
- package/dist/src/config/base-types.d.ts +45 -0
- package/dist/src/config/base-types.d.ts.map +1 -0
- package/dist/src/config/base-types.js +9 -0
- package/dist/src/config/base-types.js.map +1 -0
- package/dist/src/config/config-manager.d.ts +35 -0
- package/dist/src/config/config-manager.d.ts.map +1 -0
- package/dist/src/config/config-manager.js +108 -0
- package/dist/src/config/config-manager.js.map +1 -0
- package/dist/src/config/index.d.ts +4 -0
- package/dist/src/config/index.d.ts.map +1 -0
- package/dist/src/config/index.js +3 -0
- package/dist/src/config/index.js.map +1 -0
- package/dist/src/config/schema.d.ts +1546 -0
- package/dist/src/config/schema.d.ts.map +1 -0
- package/dist/src/config/schema.js +268 -0
- package/dist/src/config/schema.js.map +1 -0
- package/dist/src/config.d.ts +4 -1
- package/dist/src/config.d.ts.map +1 -1
- package/dist/src/config.js +8 -12
- package/dist/src/config.js.map +1 -1
- package/dist/src/core/agent-state-machine.d.ts +131 -0
- package/dist/src/core/agent-state-machine.d.ts.map +1 -0
- package/dist/src/core/agent-state-machine.js +302 -0
- package/dist/src/core/agent-state-machine.js.map +1 -0
- package/dist/src/core/base-manager.d.ts +79 -0
- package/dist/src/core/base-manager.d.ts.map +1 -0
- package/dist/src/core/base-manager.js +170 -0
- package/dist/src/core/base-manager.js.map +1 -0
- package/dist/src/core/completion-analyzer.d.ts +15 -0
- package/dist/src/core/completion-analyzer.d.ts.map +1 -0
- package/dist/src/core/completion-analyzer.js +53 -0
- package/dist/src/core/completion-analyzer.js.map +1 -0
- package/dist/src/core/execution-loop.d.ts +46 -0
- package/dist/src/core/execution-loop.d.ts.map +1 -0
- package/dist/src/core/execution-loop.js +1258 -0
- package/dist/src/core/execution-loop.js.map +1 -0
- package/dist/src/core/index.d.ts +7 -0
- package/dist/src/core/index.d.ts.map +1 -1
- package/dist/src/core/index.js +9 -0
- package/dist/src/core/index.js.map +1 -1
- package/dist/src/core/process-handlers.d.ts.map +1 -1
- package/dist/src/core/process-handlers.js +14 -0
- package/dist/src/core/process-handlers.js.map +1 -1
- package/dist/src/core/protocol/types.d.ts +4 -4
- package/dist/src/core/response-handler.d.ts +16 -0
- package/dist/src/core/response-handler.d.ts.map +1 -0
- package/dist/src/core/response-handler.js +234 -0
- package/dist/src/core/response-handler.js.map +1 -0
- package/dist/src/core/subagent-spawner.d.ts +43 -0
- package/dist/src/core/subagent-spawner.d.ts.map +1 -0
- package/dist/src/core/subagent-spawner.js +966 -0
- package/dist/src/core/subagent-spawner.js.map +1 -0
- package/dist/src/core/tool-executor.d.ts +59 -0
- package/dist/src/core/tool-executor.d.ts.map +1 -0
- package/dist/src/core/tool-executor.js +677 -0
- package/dist/src/core/tool-executor.js.map +1 -0
- package/dist/src/core/types.d.ts +133 -0
- package/dist/src/core/types.d.ts.map +1 -0
- package/dist/src/core/types.js +12 -0
- package/dist/src/core/types.js.map +1 -0
- package/dist/src/defaults.d.ts +8 -3
- package/dist/src/defaults.d.ts.map +1 -1
- package/dist/src/defaults.js +65 -3
- package/dist/src/defaults.js.map +1 -1
- package/dist/src/integrations/agent-registry.d.ts +11 -0
- package/dist/src/integrations/agent-registry.d.ts.map +1 -1
- package/dist/src/integrations/agent-registry.js.map +1 -1
- package/dist/src/integrations/auto-compaction.d.ts.map +1 -1
- package/dist/src/integrations/auto-compaction.js +8 -3
- package/dist/src/integrations/auto-compaction.js.map +1 -1
- package/dist/src/integrations/bash-policy.d.ts +33 -0
- package/dist/src/integrations/bash-policy.d.ts.map +1 -0
- package/dist/src/integrations/bash-policy.js +142 -0
- package/dist/src/integrations/bash-policy.js.map +1 -0
- package/dist/src/integrations/budget-pool.d.ts +7 -0
- package/dist/src/integrations/budget-pool.d.ts.map +1 -1
- package/dist/src/integrations/budget-pool.js +43 -0
- package/dist/src/integrations/budget-pool.js.map +1 -1
- package/dist/src/integrations/codebase-ast.d.ts +52 -0
- package/dist/src/integrations/codebase-ast.d.ts.map +1 -0
- package/dist/src/integrations/codebase-ast.js +457 -0
- package/dist/src/integrations/codebase-ast.js.map +1 -0
- package/dist/src/integrations/codebase-context.d.ts +23 -0
- package/dist/src/integrations/codebase-context.d.ts.map +1 -1
- package/dist/src/integrations/codebase-context.js +230 -17
- package/dist/src/integrations/codebase-context.js.map +1 -1
- package/dist/src/integrations/compaction.d.ts.map +1 -1
- package/dist/src/integrations/compaction.js +14 -6
- package/dist/src/integrations/compaction.js.map +1 -1
- package/dist/src/integrations/context-engineering.d.ts +8 -0
- package/dist/src/integrations/context-engineering.d.ts.map +1 -1
- package/dist/src/integrations/context-engineering.js +19 -0
- package/dist/src/integrations/context-engineering.js.map +1 -1
- package/dist/src/integrations/delegation-protocol.js +2 -2
- package/dist/src/integrations/delegation-protocol.js.map +1 -1
- package/dist/src/integrations/economics.d.ts +67 -1
- package/dist/src/integrations/economics.d.ts.map +1 -1
- package/dist/src/integrations/economics.js +328 -33
- package/dist/src/integrations/economics.js.map +1 -1
- package/dist/src/integrations/edit-validator.d.ts +30 -0
- package/dist/src/integrations/edit-validator.d.ts.map +1 -0
- package/dist/src/integrations/edit-validator.js +85 -0
- package/dist/src/integrations/edit-validator.js.map +1 -0
- package/dist/src/integrations/file-cache.d.ts +7 -0
- package/dist/src/integrations/file-cache.d.ts.map +1 -1
- package/dist/src/integrations/file-cache.js +54 -0
- package/dist/src/integrations/file-cache.js.map +1 -1
- package/dist/src/integrations/health-check.d.ts.map +1 -1
- package/dist/src/integrations/health-check.js +3 -2
- package/dist/src/integrations/health-check.js.map +1 -1
- package/dist/src/integrations/hierarchical-config.d.ts +3 -0
- package/dist/src/integrations/hierarchical-config.d.ts.map +1 -1
- package/dist/src/integrations/hierarchical-config.js +20 -0
- package/dist/src/integrations/hierarchical-config.js.map +1 -1
- package/dist/src/integrations/hooks.d.ts +2 -0
- package/dist/src/integrations/hooks.d.ts.map +1 -1
- package/dist/src/integrations/hooks.js +99 -15
- package/dist/src/integrations/hooks.js.map +1 -1
- package/dist/src/integrations/index.d.ts +10 -1
- package/dist/src/integrations/index.d.ts.map +1 -1
- package/dist/src/integrations/index.js +12 -2
- package/dist/src/integrations/index.js.map +1 -1
- package/dist/src/integrations/logger.d.ts +104 -0
- package/dist/src/integrations/logger.d.ts.map +1 -0
- package/dist/src/integrations/logger.js +219 -0
- package/dist/src/integrations/logger.js.map +1 -0
- package/dist/src/integrations/lsp.d.ts.map +1 -1
- package/dist/src/integrations/lsp.js +5 -4
- package/dist/src/integrations/lsp.js.map +1 -1
- package/dist/src/integrations/mcp-client.d.ts.map +1 -1
- package/dist/src/integrations/mcp-client.js +8 -7
- package/dist/src/integrations/mcp-client.js.map +1 -1
- package/dist/src/integrations/observability.d.ts.map +1 -1
- package/dist/src/integrations/observability.js +5 -4
- package/dist/src/integrations/observability.js.map +1 -1
- package/dist/src/integrations/openrouter-pricing.d.ts.map +1 -1
- package/dist/src/integrations/openrouter-pricing.js +4 -3
- package/dist/src/integrations/openrouter-pricing.js.map +1 -1
- package/dist/src/integrations/persistence.d.ts.map +1 -1
- package/dist/src/integrations/persistence.js +5 -4
- package/dist/src/integrations/persistence.js.map +1 -1
- package/dist/src/integrations/planning.d.ts.map +1 -1
- package/dist/src/integrations/planning.js +5 -4
- package/dist/src/integrations/planning.js.map +1 -1
- package/dist/src/integrations/policy-engine.d.ts +55 -0
- package/dist/src/integrations/policy-engine.d.ts.map +1 -0
- package/dist/src/integrations/policy-engine.js +247 -0
- package/dist/src/integrations/policy-engine.js.map +1 -0
- package/dist/src/integrations/retry.d.ts +1 -0
- package/dist/src/integrations/retry.d.ts.map +1 -1
- package/dist/src/integrations/retry.js.map +1 -1
- package/dist/src/integrations/routing.d.ts.map +1 -1
- package/dist/src/integrations/routing.js +2 -1
- package/dist/src/integrations/routing.js.map +1 -1
- package/dist/src/integrations/safety.d.ts +5 -4
- package/dist/src/integrations/safety.d.ts.map +1 -1
- package/dist/src/integrations/safety.js +45 -20
- package/dist/src/integrations/safety.js.map +1 -1
- package/dist/src/integrations/sandbox/basic.d.ts +7 -0
- package/dist/src/integrations/sandbox/basic.d.ts.map +1 -1
- package/dist/src/integrations/sandbox/basic.js +27 -2
- package/dist/src/integrations/sandbox/basic.js.map +1 -1
- package/dist/src/integrations/sandbox/docker.d.ts.map +1 -1
- package/dist/src/integrations/sandbox/docker.js +2 -1
- package/dist/src/integrations/sandbox/docker.js.map +1 -1
- package/dist/src/integrations/sandbox/index.d.ts +6 -0
- package/dist/src/integrations/sandbox/index.d.ts.map +1 -1
- package/dist/src/integrations/sandbox/index.js +8 -4
- package/dist/src/integrations/sandbox/index.js.map +1 -1
- package/dist/src/integrations/sandbox/landlock.d.ts.map +1 -1
- package/dist/src/integrations/sandbox/landlock.js +3 -0
- package/dist/src/integrations/sandbox/landlock.js.map +1 -1
- package/dist/src/integrations/self-improvement.d.ts.map +1 -1
- package/dist/src/integrations/self-improvement.js +12 -0
- package/dist/src/integrations/self-improvement.js.map +1 -1
- package/dist/src/integrations/session-store.d.ts +1 -0
- package/dist/src/integrations/session-store.d.ts.map +1 -1
- package/dist/src/integrations/session-store.js +1 -0
- package/dist/src/integrations/session-store.js.map +1 -1
- package/dist/src/integrations/shared-blackboard.d.ts +3 -0
- package/dist/src/integrations/shared-blackboard.d.ts.map +1 -1
- package/dist/src/integrations/shared-blackboard.js +47 -0
- package/dist/src/integrations/shared-blackboard.js.map +1 -1
- package/dist/src/integrations/smart-decomposer.d.ts +45 -1
- package/dist/src/integrations/smart-decomposer.d.ts.map +1 -1
- package/dist/src/integrations/smart-decomposer.js +486 -30
- package/dist/src/integrations/smart-decomposer.js.map +1 -1
- package/dist/src/integrations/sqlite-store.d.ts +2 -0
- package/dist/src/integrations/sqlite-store.d.ts.map +1 -1
- package/dist/src/integrations/sqlite-store.js +18 -6
- package/dist/src/integrations/sqlite-store.js.map +1 -1
- package/dist/src/integrations/swarm/failure-classifier.d.ts +11 -0
- package/dist/src/integrations/swarm/failure-classifier.d.ts.map +1 -0
- package/dist/src/integrations/swarm/failure-classifier.js +95 -0
- package/dist/src/integrations/swarm/failure-classifier.js.map +1 -0
- package/dist/src/integrations/swarm/index.d.ts +1 -1
- package/dist/src/integrations/swarm/index.d.ts.map +1 -1
- package/dist/src/integrations/swarm/index.js.map +1 -1
- package/dist/src/integrations/swarm/model-selector.d.ts +15 -0
- package/dist/src/integrations/swarm/model-selector.d.ts.map +1 -1
- package/dist/src/integrations/swarm/model-selector.js +100 -20
- package/dist/src/integrations/swarm/model-selector.js.map +1 -1
- package/dist/src/integrations/swarm/swarm-budget.d.ts +4 -0
- package/dist/src/integrations/swarm/swarm-budget.d.ts.map +1 -1
- package/dist/src/integrations/swarm/swarm-budget.js +6 -0
- package/dist/src/integrations/swarm/swarm-budget.js.map +1 -1
- package/dist/src/integrations/swarm/swarm-config-loader.d.ts +8 -0
- package/dist/src/integrations/swarm/swarm-config-loader.d.ts.map +1 -1
- package/dist/src/integrations/swarm/swarm-config-loader.js +249 -7
- package/dist/src/integrations/swarm/swarm-config-loader.js.map +1 -1
- package/dist/src/integrations/swarm/swarm-event-bridge.d.ts +86 -1
- package/dist/src/integrations/swarm/swarm-event-bridge.d.ts.map +1 -1
- package/dist/src/integrations/swarm/swarm-event-bridge.js +207 -23
- package/dist/src/integrations/swarm/swarm-event-bridge.js.map +1 -1
- package/dist/src/integrations/swarm/swarm-events.d.ts +58 -1
- package/dist/src/integrations/swarm/swarm-events.d.ts.map +1 -1
- package/dist/src/integrations/swarm/swarm-events.js +22 -5
- package/dist/src/integrations/swarm/swarm-events.js.map +1 -1
- package/dist/src/integrations/swarm/swarm-orchestrator.d.ts +147 -8
- package/dist/src/integrations/swarm/swarm-orchestrator.d.ts.map +1 -1
- package/dist/src/integrations/swarm/swarm-orchestrator.js +2179 -132
- package/dist/src/integrations/swarm/swarm-orchestrator.js.map +1 -1
- package/dist/src/integrations/swarm/swarm-quality-gate.d.ts +83 -2
- package/dist/src/integrations/swarm/swarm-quality-gate.d.ts.map +1 -1
- package/dist/src/integrations/swarm/swarm-quality-gate.js +278 -19
- package/dist/src/integrations/swarm/swarm-quality-gate.js.map +1 -1
- package/dist/src/integrations/swarm/swarm-state-store.d.ts +4 -1
- package/dist/src/integrations/swarm/swarm-state-store.d.ts.map +1 -1
- package/dist/src/integrations/swarm/swarm-state-store.js +8 -1
- package/dist/src/integrations/swarm/swarm-state-store.js.map +1 -1
- package/dist/src/integrations/swarm/task-queue.d.ts +54 -0
- package/dist/src/integrations/swarm/task-queue.d.ts.map +1 -1
- package/dist/src/integrations/swarm/task-queue.js +310 -12
- package/dist/src/integrations/swarm/task-queue.js.map +1 -1
- package/dist/src/integrations/swarm/types.d.ts +251 -13
- package/dist/src/integrations/swarm/types.d.ts.map +1 -1
- package/dist/src/integrations/swarm/types.js +70 -8
- package/dist/src/integrations/swarm/types.js.map +1 -1
- package/dist/src/integrations/swarm/worker-pool.d.ts +21 -4
- package/dist/src/integrations/swarm/worker-pool.d.ts.map +1 -1
- package/dist/src/integrations/swarm/worker-pool.js +223 -44
- package/dist/src/integrations/swarm/worker-pool.js.map +1 -1
- package/dist/src/integrations/task-manager.d.ts +33 -1
- package/dist/src/integrations/task-manager.d.ts.map +1 -1
- package/dist/src/integrations/task-manager.js +78 -4
- package/dist/src/integrations/task-manager.js.map +1 -1
- package/dist/src/integrations/tool-recommendation.d.ts +7 -4
- package/dist/src/integrations/tool-recommendation.d.ts.map +1 -1
- package/dist/src/integrations/tool-recommendation.js +58 -5
- package/dist/src/integrations/tool-recommendation.js.map +1 -1
- package/dist/src/integrations/work-log.js +4 -4
- package/dist/src/integrations/work-log.js.map +1 -1
- package/dist/src/main.js +106 -30
- package/dist/src/main.js.map +1 -1
- package/dist/src/modes/repl.d.ts.map +1 -1
- package/dist/src/modes/repl.js +50 -12
- package/dist/src/modes/repl.js.map +1 -1
- package/dist/src/modes/tui.d.ts.map +1 -1
- package/dist/src/modes/tui.js +41 -6
- package/dist/src/modes/tui.js.map +1 -1
- package/dist/src/modes.d.ts.map +1 -1
- package/dist/src/modes.js +4 -27
- package/dist/src/modes.js.map +1 -1
- package/dist/src/observability/tracer.d.ts.map +1 -1
- package/dist/src/observability/tracer.js +2 -1
- package/dist/src/observability/tracer.js.map +1 -1
- package/dist/src/persistence/schema.d.ts.map +1 -1
- package/dist/src/persistence/schema.js +11 -0
- package/dist/src/persistence/schema.js.map +1 -1
- package/dist/src/providers/adapters/anthropic.d.ts.map +1 -1
- package/dist/src/providers/adapters/anthropic.js +3 -2
- package/dist/src/providers/adapters/anthropic.js.map +1 -1
- package/dist/src/providers/adapters/openai.d.ts.map +1 -1
- package/dist/src/providers/adapters/openai.js +3 -2
- package/dist/src/providers/adapters/openai.js.map +1 -1
- package/dist/src/providers/adapters/openrouter.d.ts.map +1 -1
- package/dist/src/providers/adapters/openrouter.js +11 -11
- package/dist/src/providers/adapters/openrouter.js.map +1 -1
- package/dist/src/providers/circuit-breaker.d.ts +1 -0
- package/dist/src/providers/circuit-breaker.d.ts.map +1 -1
- package/dist/src/providers/circuit-breaker.js.map +1 -1
- package/dist/src/providers/provider.d.ts.map +1 -1
- package/dist/src/providers/provider.js +2 -1
- package/dist/src/providers/provider.js.map +1 -1
- package/dist/src/providers/resilient-provider.d.ts.map +1 -1
- package/dist/src/providers/resilient-provider.js +2 -1
- package/dist/src/providers/resilient-provider.js.map +1 -1
- package/dist/src/session-picker.d.ts.map +1 -1
- package/dist/src/session-picker.js +40 -5
- package/dist/src/session-picker.js.map +1 -1
- package/dist/src/shared/budget-tracker.d.ts +65 -0
- package/dist/src/shared/budget-tracker.d.ts.map +1 -0
- package/dist/src/shared/budget-tracker.js +128 -0
- package/dist/src/shared/budget-tracker.js.map +1 -0
- package/dist/src/shared/context-engine.d.ts +64 -0
- package/dist/src/shared/context-engine.d.ts.map +1 -0
- package/dist/src/shared/context-engine.js +117 -0
- package/dist/src/shared/context-engine.js.map +1 -0
- package/dist/src/shared/index.d.ts +12 -0
- package/dist/src/shared/index.d.ts.map +1 -0
- package/dist/src/shared/index.js +12 -0
- package/dist/src/shared/index.js.map +1 -0
- package/dist/src/shared/persistence.d.ts +57 -0
- package/dist/src/shared/persistence.d.ts.map +1 -0
- package/dist/src/shared/persistence.js +168 -0
- package/dist/src/shared/persistence.js.map +1 -0
- package/dist/src/shared/shared-context-state.d.ts +89 -0
- package/dist/src/shared/shared-context-state.d.ts.map +1 -0
- package/dist/src/shared/shared-context-state.js +175 -0
- package/dist/src/shared/shared-context-state.js.map +1 -0
- package/dist/src/shared/shared-economics-state.d.ts +61 -0
- package/dist/src/shared/shared-economics-state.d.ts.map +1 -0
- package/dist/src/shared/shared-economics-state.js +100 -0
- package/dist/src/shared/shared-economics-state.js.map +1 -0
- package/dist/src/tools/agent.d.ts.map +1 -1
- package/dist/src/tools/agent.js +11 -2
- package/dist/src/tools/agent.js.map +1 -1
- package/dist/src/tools/bash.d.ts +1 -1
- package/dist/src/tools/bash.d.ts.map +1 -1
- package/dist/src/tools/bash.js +2 -1
- package/dist/src/tools/bash.js.map +1 -1
- package/dist/src/tools/coercion.d.ts +6 -0
- package/dist/src/tools/coercion.d.ts.map +1 -1
- package/dist/src/tools/coercion.js +13 -0
- package/dist/src/tools/coercion.js.map +1 -1
- package/dist/src/tools/file.d.ts +5 -5
- package/dist/src/tools/file.js +2 -2
- package/dist/src/tools/file.js.map +1 -1
- package/dist/src/tools/permission.d.ts.map +1 -1
- package/dist/src/tools/permission.js +10 -116
- package/dist/src/tools/permission.js.map +1 -1
- package/dist/src/tools/types.d.ts +1 -0
- package/dist/src/tools/types.d.ts.map +1 -1
- package/dist/src/tools/types.js.map +1 -1
- package/dist/src/tracing/trace-collector.d.ts +292 -0
- package/dist/src/tracing/trace-collector.d.ts.map +1 -1
- package/dist/src/tracing/trace-collector.js +249 -5
- package/dist/src/tracing/trace-collector.js.map +1 -1
- package/dist/src/tracing/types.d.ts +200 -1
- package/dist/src/tracing/types.d.ts.map +1 -1
- package/dist/src/tracing/types.js.map +1 -1
- package/dist/src/tricks/failure-evidence.d.ts.map +1 -1
- package/dist/src/tricks/failure-evidence.js +2 -1
- package/dist/src/tricks/failure-evidence.js.map +1 -1
- package/dist/src/tui/app.d.ts +13 -0
- package/dist/src/tui/app.d.ts.map +1 -1
- package/dist/src/tui/app.js +162 -19
- package/dist/src/tui/app.js.map +1 -1
- package/dist/src/tui/components/ErrorBoundary.d.ts.map +1 -1
- package/dist/src/tui/components/ErrorBoundary.js +3 -2
- package/dist/src/tui/components/ErrorBoundary.js.map +1 -1
- package/dist/src/tui/event-display.d.ts.map +1 -1
- package/dist/src/tui/event-display.js +36 -62
- package/dist/src/tui/event-display.js.map +1 -1
- package/dist/src/tui/index.d.ts +4 -0
- package/dist/src/tui/index.d.ts.map +1 -1
- package/dist/src/tui/index.js +17 -0
- package/dist/src/tui/index.js.map +1 -1
- package/dist/src/types.d.ts +214 -1
- package/dist/src/types.d.ts.map +1 -1
- package/package.json +18 -3
|
@@ -10,15 +10,18 @@
|
|
|
10
10
|
*/
|
|
11
11
|
import * as fs from 'node:fs';
|
|
12
12
|
import * as path from 'node:path';
|
|
13
|
+
import { getTaskTypeConfig } from './types.js';
|
|
13
14
|
import { formatFactsCompact, getEnvironmentFacts } from '../environment-facts.js';
|
|
14
15
|
/**
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
16
|
+
* Run cheap, synchronous pre-flight checks on a task result.
|
|
17
|
+
* Returns a failing QualityGateResult on the first check that trips, or null if all pass.
|
|
18
|
+
*
|
|
19
|
+
* Checks: V4 artifact verification, V9 zero-tool-call, V10 file-creation intent, V6 closure report.
|
|
18
20
|
*/
|
|
19
|
-
export
|
|
21
|
+
export function runPreFlightChecks(task, result, swarmConfig, cachedArtifacts) {
|
|
20
22
|
// V4: Pre-flight artifact check — if task has target files, verify they exist
|
|
21
|
-
|
|
23
|
+
// C1: Accept pre-computed artifacts to avoid double filesystem scan
|
|
24
|
+
const artifactReport = cachedArtifacts ?? checkArtifacts(task);
|
|
22
25
|
// If ALL target files are empty/missing, auto-fail without burning a judge call
|
|
23
26
|
if (artifactReport.allEmpty) {
|
|
24
27
|
return {
|
|
@@ -26,8 +29,37 @@ export async function evaluateWorkerOutput(provider, orchestratorModel, task, re
|
|
|
26
29
|
feedback: `Target files are empty or missing: ${artifactReport.summary}`,
|
|
27
30
|
passed: false,
|
|
28
31
|
artifactAutoFail: true,
|
|
32
|
+
preFlightReject: true,
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
// V7: Tool-call pre-check using configurable requiresToolCalls from TaskTypeConfig.
|
|
36
|
+
const typeConfig = getTaskTypeConfig(task.type, swarmConfig);
|
|
37
|
+
if (typeConfig.requiresToolCalls && (result.toolCalls ?? 0) === 0) {
|
|
38
|
+
return {
|
|
39
|
+
score: 0,
|
|
40
|
+
feedback: 'No tool calls made — no work was done.',
|
|
41
|
+
passed: false,
|
|
42
|
+
preFlightReject: true,
|
|
29
43
|
};
|
|
30
44
|
}
|
|
45
|
+
// V10: File-creation intent pre-check — if the task description strongly implies
|
|
46
|
+
// file creation (e.g., "Write to report/X.md") but the worker produced no files,
|
|
47
|
+
// auto-reject. This catches workers that lacked write tools but still produced
|
|
48
|
+
// rich text output (which would pass the hollow-completion check).
|
|
49
|
+
if ((result.filesModified ?? []).length === 0 && (result.toolCalls ?? 0) === 0) {
|
|
50
|
+
const hasWriteIntent = /\b(write|create|generate|produce|save)\b.*\b(file|report|document|output)\b/i.test(task.description)
|
|
51
|
+
|| /\b(write_file|write to|save to|output to)\b/i.test(task.description)
|
|
52
|
+
|| (task.targetFiles && task.targetFiles.length > 0);
|
|
53
|
+
if (hasWriteIntent) {
|
|
54
|
+
return {
|
|
55
|
+
score: 1,
|
|
56
|
+
feedback: `Task requires file creation but worker produced 0 files and made 0 tool calls — likely missing write_file tool.`,
|
|
57
|
+
passed: false,
|
|
58
|
+
artifactAutoFail: true,
|
|
59
|
+
preFlightReject: true,
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
}
|
|
31
63
|
// V6: Closure report pre-check — catch workers that did no actual work
|
|
32
64
|
// When there are no targetFiles (so artifact check can't catch it), use the
|
|
33
65
|
// closure report to detect workers that admit failure with budget excuses
|
|
@@ -43,10 +75,105 @@ export async function evaluateWorkerOutput(provider, orchestratorModel, task, re
|
|
|
43
75
|
feedback: `Worker admitted failure in closure report: ${cr.failures[0]}`,
|
|
44
76
|
passed: false,
|
|
45
77
|
artifactAutoFail: false,
|
|
78
|
+
preFlightReject: true,
|
|
46
79
|
};
|
|
47
80
|
}
|
|
48
81
|
}
|
|
49
|
-
|
|
82
|
+
return null;
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* F2: Run concrete validation checks on task output.
|
|
86
|
+
*
|
|
87
|
+
* Validates that modified files are syntactically valid (parseable) and that
|
|
88
|
+
* claimed file modifications match actual filesystem state. This provides
|
|
89
|
+
* ground-truth validation that catches broken outputs before the LLM judge.
|
|
90
|
+
*
|
|
91
|
+
* Checks:
|
|
92
|
+
* 1. For implement/test/refactor tasks: verify modified .ts/.js/.json files parse
|
|
93
|
+
* 2. For test tasks: verify test file is syntactically valid
|
|
94
|
+
* 3. Verify filesModified in closure report matches actual filesystem changes
|
|
95
|
+
*/
|
|
96
|
+
export function runConcreteChecks(task, result) {
|
|
97
|
+
const issues = [];
|
|
98
|
+
const filesModified = result.filesModified ?? [];
|
|
99
|
+
const actionTypes = ['implement', 'test', 'refactor', 'fix', 'create', 'merge'];
|
|
100
|
+
const isCodeTask = actionTypes.includes(task.type);
|
|
101
|
+
// Check 1: Verify modified files exist and are syntactically valid
|
|
102
|
+
if (isCodeTask && filesModified.length > 0) {
|
|
103
|
+
for (const filePath of filesModified) {
|
|
104
|
+
const resolved = path.resolve(filePath);
|
|
105
|
+
try {
|
|
106
|
+
if (!fs.existsSync(resolved)) {
|
|
107
|
+
issues.push(`Modified file missing: ${filePath}`);
|
|
108
|
+
continue;
|
|
109
|
+
}
|
|
110
|
+
const stat = fs.statSync(resolved);
|
|
111
|
+
if (stat.size === 0) {
|
|
112
|
+
issues.push(`Modified file is empty: ${filePath}`);
|
|
113
|
+
continue;
|
|
114
|
+
}
|
|
115
|
+
// Syntax check for parseable file types
|
|
116
|
+
const ext = path.extname(filePath).toLowerCase();
|
|
117
|
+
if (ext === '.json') {
|
|
118
|
+
const content = fs.readFileSync(resolved, 'utf-8');
|
|
119
|
+
try {
|
|
120
|
+
JSON.parse(content);
|
|
121
|
+
}
|
|
122
|
+
catch {
|
|
123
|
+
issues.push(`Invalid JSON syntax: ${filePath}`);
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
// For .ts/.js files, check for obvious syntax issues
|
|
127
|
+
// (incomplete files, unmatched braces, etc.)
|
|
128
|
+
if (['.ts', '.tsx', '.js', '.jsx', '.mts', '.mjs'].includes(ext)) {
|
|
129
|
+
const content = fs.readFileSync(resolved, 'utf-8');
|
|
130
|
+
// Check for grossly unbalanced braces (indicates truncated/corrupt file)
|
|
131
|
+
const opens = (content.match(/\{/g) || []).length;
|
|
132
|
+
const closes = (content.match(/\}/g) || []).length;
|
|
133
|
+
if (Math.abs(opens - closes) > 3) {
|
|
134
|
+
issues.push(`Unbalanced braces (${opens} open, ${closes} close): ${filePath}`);
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
catch {
|
|
139
|
+
// Can't read file — not necessarily an issue
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
// Check 2: Verify closure report filesModified matches actual changes
|
|
144
|
+
if (result.closureReport && result.closureReport.actionsTaken.length > 0) {
|
|
145
|
+
const claimedFiles = filesModified;
|
|
146
|
+
const missingClaimed = claimedFiles.filter(f => {
|
|
147
|
+
try {
|
|
148
|
+
return !fs.existsSync(path.resolve(f));
|
|
149
|
+
}
|
|
150
|
+
catch {
|
|
151
|
+
return true;
|
|
152
|
+
}
|
|
153
|
+
});
|
|
154
|
+
if (missingClaimed.length > 0 && missingClaimed.length === claimedFiles.length) {
|
|
155
|
+
issues.push(`All claimed modified files are missing: ${missingClaimed.join(', ')}`);
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
return {
|
|
159
|
+
passed: issues.length === 0,
|
|
160
|
+
issues,
|
|
161
|
+
};
|
|
162
|
+
}
|
|
163
|
+
/**
|
|
164
|
+
* Evaluate a worker's output using the orchestrator model.
|
|
165
|
+
* V3: Accepts optional judgeConfig for hierarchy-based model/persona override.
|
|
166
|
+
* V4: Includes artifact verification and temporal grounding.
|
|
167
|
+
*/
|
|
168
|
+
export async function evaluateWorkerOutput(provider, orchestratorModel, task, result, judgeConfig, qualityThreshold = 3, onUsage, fileArtifacts, swarmConfig, cachedArtifactReport) {
|
|
169
|
+
// C1: Use cached artifact report if provided, otherwise compute once
|
|
170
|
+
const artifactReport = cachedArtifactReport ?? checkArtifacts(task);
|
|
171
|
+
// Run synchronous pre-flight checks first
|
|
172
|
+
const preFlight = runPreFlightChecks(task, result, swarmConfig, artifactReport);
|
|
173
|
+
if (preFlight) {
|
|
174
|
+
return preFlight;
|
|
175
|
+
}
|
|
176
|
+
const prompt = buildQualityPrompt(task, result, artifactReport, fileArtifacts);
|
|
50
177
|
const model = judgeConfig?.model ?? orchestratorModel;
|
|
51
178
|
const facts = formatFactsCompact(getEnvironmentFacts());
|
|
52
179
|
const systemPrompt = judgeConfig?.persona
|
|
@@ -58,28 +185,34 @@ export async function evaluateWorkerOutput(provider, orchestratorModel, task, re
|
|
|
58
185
|
{ role: 'user', content: prompt },
|
|
59
186
|
], {
|
|
60
187
|
model,
|
|
61
|
-
maxTokens:
|
|
188
|
+
maxTokens: 800,
|
|
62
189
|
temperature: 0.1,
|
|
63
190
|
});
|
|
191
|
+
// Track quality gate LLM usage for orchestrator stats
|
|
192
|
+
onUsage?.(response, 'quality-gate');
|
|
64
193
|
const parsed = parseQualityResponse(response.content);
|
|
65
194
|
// Apply configurable threshold
|
|
66
195
|
parsed.passed = parsed.score >= qualityThreshold;
|
|
67
196
|
return parsed;
|
|
68
197
|
}
|
|
69
|
-
catch {
|
|
70
|
-
//
|
|
198
|
+
catch (error) {
|
|
199
|
+
// F7: Quality gate error → fail by default (was: pass by default).
|
|
200
|
+
// The orchestrator checks gateError and falls back to concrete validation.
|
|
71
201
|
return {
|
|
72
202
|
score: 3,
|
|
73
|
-
feedback:
|
|
74
|
-
passed:
|
|
203
|
+
feedback: `Quality gate evaluation failed (${error.message?.slice(0, 100) ?? 'unknown error'})`,
|
|
204
|
+
passed: false,
|
|
205
|
+
gateError: true,
|
|
206
|
+
gateErrorMessage: error.message?.slice(0, 200) ?? 'unknown error',
|
|
75
207
|
};
|
|
76
208
|
}
|
|
77
209
|
}
|
|
78
210
|
/**
|
|
79
211
|
* Check whether target files actually exist and have content.
|
|
80
212
|
* Returns a report that gets injected into the judge prompt.
|
|
213
|
+
* Exported so callers can pre-compute and cache the result.
|
|
81
214
|
*/
|
|
82
|
-
function checkArtifacts(task) {
|
|
215
|
+
export function checkArtifacts(task) {
|
|
83
216
|
if (!task.targetFiles || task.targetFiles.length === 0) {
|
|
84
217
|
return { allEmpty: false, summary: 'No target files specified.', files: [] };
|
|
85
218
|
}
|
|
@@ -97,9 +230,9 @@ function checkArtifacts(task) {
|
|
|
97
230
|
sizeBytes = stats.size;
|
|
98
231
|
if (sizeBytes > 0) {
|
|
99
232
|
allEmpty = false;
|
|
100
|
-
// Read first
|
|
233
|
+
// Read first 2000 chars for the judge to evaluate content quality
|
|
101
234
|
const content = fs.readFileSync(resolved, 'utf-8');
|
|
102
|
-
preview = content.slice(0,
|
|
235
|
+
preview = content.slice(0, 2000);
|
|
103
236
|
}
|
|
104
237
|
}
|
|
105
238
|
}
|
|
@@ -121,13 +254,114 @@ function checkArtifacts(task) {
|
|
|
121
254
|
files,
|
|
122
255
|
};
|
|
123
256
|
}
|
|
257
|
+
/**
|
|
258
|
+
* Enhanced artifact detection — searches beyond targetFiles.
|
|
259
|
+
* Used by resilience recovery and rescue pass to find work products
|
|
260
|
+
* that the standard checkArtifacts() would miss (e.g., when targetFiles is empty).
|
|
261
|
+
*
|
|
262
|
+
* Search order:
|
|
263
|
+
* 1. Standard checkArtifacts() for declared targetFiles
|
|
264
|
+
* 2. taskResult.filesModified — scan those paths on disk
|
|
265
|
+
* 3. taskResult.closureReport.actionsTaken — extract file path mentions
|
|
266
|
+
* 4. taskResult.output — regex for file paths
|
|
267
|
+
* 5. De-duplicate, return unified report
|
|
268
|
+
*/
|
|
269
|
+
export function checkArtifactsEnhanced(task, taskResult, baseDir) {
|
|
270
|
+
const cwd = baseDir ?? process.cwd();
|
|
271
|
+
const seenPaths = new Set();
|
|
272
|
+
const allFiles = [];
|
|
273
|
+
// 1. Standard check for declared targetFiles
|
|
274
|
+
const standard = checkArtifacts(task);
|
|
275
|
+
for (const f of standard.files) {
|
|
276
|
+
if (!seenPaths.has(f.path)) {
|
|
277
|
+
seenPaths.add(f.path);
|
|
278
|
+
allFiles.push(f);
|
|
279
|
+
}
|
|
280
|
+
}
|
|
281
|
+
// Helper to probe a file path on disk and add to report
|
|
282
|
+
const probeFile = (filePath) => {
|
|
283
|
+
if (seenPaths.has(filePath))
|
|
284
|
+
return;
|
|
285
|
+
seenPaths.add(filePath);
|
|
286
|
+
const resolved = path.isAbsolute(filePath) ? filePath : path.resolve(cwd, filePath);
|
|
287
|
+
try {
|
|
288
|
+
if (fs.existsSync(resolved)) {
|
|
289
|
+
const stats = fs.statSync(resolved);
|
|
290
|
+
if (stats.size > 0) {
|
|
291
|
+
const content = fs.readFileSync(resolved, 'utf-8');
|
|
292
|
+
allFiles.push({
|
|
293
|
+
path: filePath,
|
|
294
|
+
exists: true,
|
|
295
|
+
sizeBytes: stats.size,
|
|
296
|
+
preview: content.slice(0, 2000),
|
|
297
|
+
});
|
|
298
|
+
return;
|
|
299
|
+
}
|
|
300
|
+
allFiles.push({ path: filePath, exists: true, sizeBytes: 0, preview: '' });
|
|
301
|
+
return;
|
|
302
|
+
}
|
|
303
|
+
}
|
|
304
|
+
catch {
|
|
305
|
+
// File access error — treat as missing
|
|
306
|
+
}
|
|
307
|
+
allFiles.push({ path: filePath, exists: false, sizeBytes: 0, preview: '' });
|
|
308
|
+
};
|
|
309
|
+
if (taskResult) {
|
|
310
|
+
// 2. filesModified from the task result
|
|
311
|
+
if (taskResult.filesModified) {
|
|
312
|
+
for (const fp of taskResult.filesModified) {
|
|
313
|
+
probeFile(fp);
|
|
314
|
+
}
|
|
315
|
+
}
|
|
316
|
+
// 3. closureReport.actionsTaken — extract file paths
|
|
317
|
+
if (taskResult.closureReport?.actionsTaken) {
|
|
318
|
+
for (const action of taskResult.closureReport.actionsTaken) {
|
|
319
|
+
const matches = action.match(/(?:^|\s)([\w./-]+\.\w{1,10})\b/g);
|
|
320
|
+
if (matches) {
|
|
321
|
+
for (const m of matches) {
|
|
322
|
+
const fp = m.trim();
|
|
323
|
+
// Basic sanity: must have a path separator or start with a filename-like pattern
|
|
324
|
+
if (fp.includes('/') || fp.includes('.')) {
|
|
325
|
+
probeFile(fp);
|
|
326
|
+
}
|
|
327
|
+
}
|
|
328
|
+
}
|
|
329
|
+
}
|
|
330
|
+
}
|
|
331
|
+
// 4. output — regex for file paths (conservative: require path separator)
|
|
332
|
+
const outputPathRegex = /(?:^|\s)((?:[\w.-]+\/)+[\w.-]+\.\w{1,10})\b/g;
|
|
333
|
+
let match;
|
|
334
|
+
const outputSlice = taskResult.output.slice(0, 8000); // Limit scan length
|
|
335
|
+
while ((match = outputPathRegex.exec(outputSlice)) !== null) {
|
|
336
|
+
const fp = match[1];
|
|
337
|
+
if (fp && !seenPaths.has(fp)) {
|
|
338
|
+
probeFile(fp);
|
|
339
|
+
}
|
|
340
|
+
}
|
|
341
|
+
}
|
|
342
|
+
// Build unified report
|
|
343
|
+
const existingFiles = allFiles.filter(f => f.exists && f.sizeBytes > 0);
|
|
344
|
+
const allEmpty = allFiles.length > 0 && existingFiles.length === 0;
|
|
345
|
+
const lines = allFiles.map(f => {
|
|
346
|
+
if (!f.exists)
|
|
347
|
+
return ` - ${f.path}: MISSING`;
|
|
348
|
+
if (f.sizeBytes === 0)
|
|
349
|
+
return ` - ${f.path}: EMPTY (0 bytes)`;
|
|
350
|
+
return ` - ${f.path}: ${f.sizeBytes} bytes`;
|
|
351
|
+
});
|
|
352
|
+
return {
|
|
353
|
+
allEmpty: allFiles.length === 0 ? false : allEmpty,
|
|
354
|
+
summary: allFiles.length === 0 ? 'No artifacts found.' : lines.join('\n'),
|
|
355
|
+
files: allFiles,
|
|
356
|
+
};
|
|
357
|
+
}
|
|
124
358
|
// ─── Prompt Building ──────────────────────────────────────────────────────
|
|
125
359
|
/**
|
|
126
360
|
* Build the quality evaluation prompt.
|
|
127
361
|
* V4: Includes artifact verification data and temporal anchoring.
|
|
128
362
|
*/
|
|
129
|
-
function buildQualityPrompt(task, result, artifacts) {
|
|
130
|
-
const output = result.output.slice(0,
|
|
363
|
+
function buildQualityPrompt(task, result, artifacts, fileArtifacts) {
|
|
364
|
+
const output = result.output.slice(0, 16000); // Truncate long outputs (16K gives judge enough evidence for multi-file tasks)
|
|
131
365
|
const facts = getEnvironmentFacts();
|
|
132
366
|
let artifactSection = '';
|
|
133
367
|
if (artifacts.files.length > 0) {
|
|
@@ -138,7 +372,7 @@ function buildQualityPrompt(task, result, artifacts) {
|
|
|
138
372
|
return ` ${f.path}: EMPTY (0 bytes) — file exists but has no content`;
|
|
139
373
|
let detail = ` ${f.path}: ${f.sizeBytes} bytes`;
|
|
140
374
|
if (f.preview) {
|
|
141
|
-
detail += `\n First
|
|
375
|
+
detail += `\n First 2000 chars: ${f.preview}`;
|
|
142
376
|
}
|
|
143
377
|
return detail;
|
|
144
378
|
}).join('\n');
|
|
@@ -148,11 +382,26 @@ ${fileDetails}
|
|
|
148
382
|
|
|
149
383
|
CRITICAL: If target files are EMPTY (0 bytes) or MISSING, the task FAILED regardless
|
|
150
384
|
of what the worker claims. An empty file is NOT an acceptable artifact. Score <= 2.`;
|
|
385
|
+
}
|
|
386
|
+
// Build file artifacts section from worker tool calls (write_file/edit_file results)
|
|
387
|
+
let fileArtifactsSection = '';
|
|
388
|
+
if (fileArtifacts && fileArtifacts.length > 0) {
|
|
389
|
+
const artifactDetails = fileArtifacts
|
|
390
|
+
.slice(0, 10) // Limit to 10 files
|
|
391
|
+
.map(f => ` ${f.path}:\n ${f.preview.slice(0, 1500)}`)
|
|
392
|
+
.join('\n');
|
|
393
|
+
fileArtifactsSection = `
|
|
394
|
+
FILES CREATED/MODIFIED BY WORKER (from tool call results — ground truth):
|
|
395
|
+
${artifactDetails}
|
|
396
|
+
|
|
397
|
+
NOTE: These are actual file contents extracted from write_file/edit_file tool calls.
|
|
398
|
+
They prove the worker did real work beyond just text claims.`;
|
|
151
399
|
}
|
|
152
400
|
return `Evaluate this worker's output for the given task.
|
|
153
401
|
|
|
154
402
|
TASK: ${task.description}
|
|
155
403
|
TASK TYPE: ${task.type}
|
|
404
|
+
WORKER METRICS: ${result.toolCalls ?? 0} tool calls, ${fileArtifacts?.length ?? 0} files created/modified, ${result.tokensUsed} tokens used
|
|
156
405
|
CURRENT DATE: ${facts.currentDate} (${facts.currentYear})
|
|
157
406
|
${task.targetFiles ? `TARGET FILES: ${task.targetFiles.join(', ')}` : ''}
|
|
158
407
|
|
|
@@ -165,6 +414,7 @@ ${result.closureReport ? `STRUCTURED REPORT:
|
|
|
165
414
|
- Failures: ${result.closureReport.failures.join('; ')}
|
|
166
415
|
- Remaining: ${result.closureReport.remainingWork.join('; ')}` : ''}
|
|
167
416
|
${artifactSection}
|
|
417
|
+
${fileArtifactsSection}
|
|
168
418
|
|
|
169
419
|
Rate the output 1-5:
|
|
170
420
|
1 = Completely wrong, empty artifacts, or no meaningful work done
|
|
@@ -180,7 +430,8 @@ IMPORTANT SCORING RULES:
|
|
|
180
430
|
|
|
181
431
|
Respond in EXACTLY this format:
|
|
182
432
|
SCORE: <number>
|
|
183
|
-
FEEDBACK: <one-line explanation
|
|
433
|
+
FEEDBACK: <one-line explanation>
|
|
434
|
+
CONCRETE_FIXES: <If score < 3, list 1-3 specific fixes the worker must make. Reference exact file names, functions, or missing pieces. If score >= 3, write "N/A">`;
|
|
184
435
|
}
|
|
185
436
|
/**
|
|
186
437
|
* Parse the quality gate response.
|
|
@@ -192,7 +443,15 @@ function parseQualityResponse(content) {
|
|
|
192
443
|
const clampedScore = Math.max(1, Math.min(5, score));
|
|
193
444
|
// Extract feedback
|
|
194
445
|
const feedbackMatch = content.match(/FEEDBACK:\s*(.+)/i);
|
|
195
|
-
|
|
446
|
+
let feedback = feedbackMatch ? feedbackMatch[1].trim() : content.slice(0, 200);
|
|
447
|
+
// Extract concrete fixes (appended to feedback for retry context)
|
|
448
|
+
const fixesMatch = content.match(/CONCRETE_FIXES:\s*(.+)/i);
|
|
449
|
+
if (fixesMatch) {
|
|
450
|
+
const fixes = fixesMatch[1].trim();
|
|
451
|
+
if (fixes && fixes !== 'N/A') {
|
|
452
|
+
feedback = feedback + ' | Fixes: ' + fixes;
|
|
453
|
+
}
|
|
454
|
+
}
|
|
196
455
|
return {
|
|
197
456
|
score: clampedScore,
|
|
198
457
|
feedback,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"swarm-quality-gate.js","sourceRoot":"","sources":["../../../../src/integrations/swarm/swarm-quality-gate.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"swarm-quality-gate.js","sourceRoot":"","sources":["../../../../src/integrations/swarm/swarm-quality-gate.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,15 +5,18 @@
|
|
|
5
5
|
* Saves/loads serialized swarm state to allow resume after interruption.
|
|
6
6
|
*/
|
|
7
7
|
import type { SwarmCheckpoint } from './types.js';
|
|
8
|
+
import type { PersistenceAdapter } from '../../shared/persistence.js';
|
|
8
9
|
export declare class SwarmStateStore {
|
|
9
10
|
private stateDir;
|
|
10
11
|
private sessionId;
|
|
11
12
|
private sessionDir;
|
|
12
13
|
private checkpointCount;
|
|
13
|
-
|
|
14
|
+
private adapter?;
|
|
15
|
+
constructor(stateDir: string, sessionId?: string, adapter?: PersistenceAdapter);
|
|
14
16
|
get id(): string;
|
|
15
17
|
/**
|
|
16
18
|
* Save a checkpoint. Writes both a numbered file and latest.json.
|
|
19
|
+
* When a PersistenceAdapter is configured, also saves via the adapter.
|
|
17
20
|
*/
|
|
18
21
|
saveCheckpoint(checkpoint: SwarmCheckpoint): void;
|
|
19
22
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"swarm-state-store.d.ts","sourceRoot":"","sources":["../../../../src/integrations/swarm/swarm-state-store.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"swarm-state-store.d.ts","sourceRoot":"","sources":["../../../../src/integrations/swarm/swarm-state-store.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAsBtE,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,eAAe,CAAK;IAC5B,OAAO,CAAC,OAAO,CAAC,CAAqB;gBAEzB,QAAQ,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,kBAAkB;IAO9E,IAAI,EAAE,IAAI,MAAM,CAEf;IAED;;;OAGG;IACH,cAAc,CAAC,UAAU,EAAE,eAAe,GAAG,IAAI;IAoBjD;;OAEG;IACH,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI;IAU9E;;OAEG;IACH,MAAM,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,KAAK,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,CAAC;CAqB1F"}
|
|
@@ -27,16 +27,19 @@ export class SwarmStateStore {
|
|
|
27
27
|
sessionId;
|
|
28
28
|
sessionDir;
|
|
29
29
|
checkpointCount = 0;
|
|
30
|
-
|
|
30
|
+
adapter;
|
|
31
|
+
constructor(stateDir, sessionId, adapter) {
|
|
31
32
|
this.stateDir = stateDir;
|
|
32
33
|
this.sessionId = sessionId ?? `swarm-${Date.now()}-${Math.random().toString(36).slice(2, 8)}`;
|
|
33
34
|
this.sessionDir = path.join(stateDir, this.sessionId);
|
|
35
|
+
this.adapter = adapter;
|
|
34
36
|
}
|
|
35
37
|
get id() {
|
|
36
38
|
return this.sessionId;
|
|
37
39
|
}
|
|
38
40
|
/**
|
|
39
41
|
* Save a checkpoint. Writes both a numbered file and latest.json.
|
|
42
|
+
* When a PersistenceAdapter is configured, also saves via the adapter.
|
|
40
43
|
*/
|
|
41
44
|
saveCheckpoint(checkpoint) {
|
|
42
45
|
fs.mkdirSync(this.sessionDir, { recursive: true });
|
|
@@ -48,6 +51,10 @@ export class SwarmStateStore {
|
|
|
48
51
|
// Write latest.json (overwrites)
|
|
49
52
|
const latestPath = path.join(this.sessionDir, 'latest.json');
|
|
50
53
|
fs.writeFileSync(latestPath, data);
|
|
54
|
+
// Also persist via adapter (fire-and-forget, non-blocking)
|
|
55
|
+
if (this.adapter) {
|
|
56
|
+
this.adapter.save('swarm-checkpoints', this.sessionId, checkpoint).catch(() => { });
|
|
57
|
+
}
|
|
51
58
|
}
|
|
52
59
|
/**
|
|
53
60
|
* Load the latest checkpoint for a given session.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"swarm-state-store.js","sourceRoot":"","sources":["../../../../src/integrations/swarm/swarm-state-store.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"swarm-state-store.js","sourceRoot":"","sources":["../../../../src/integrations/swarm/swarm-state-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,6 +7,11 @@
|
|
|
7
7
|
*/
|
|
8
8
|
import type { SmartDecompositionResult, ResourceConflict } from '../smart-decomposer.js';
|
|
9
9
|
import type { SwarmTask, SwarmTaskResult, SwarmConfig, FixupTask, SwarmCheckpoint } from './types.js';
|
|
10
|
+
export interface ReconcileStaleDispatchedOptions {
|
|
11
|
+
staleAfterMs: number;
|
|
12
|
+
now?: number;
|
|
13
|
+
activeTaskIds?: Set<string>;
|
|
14
|
+
}
|
|
10
15
|
export declare class SwarmTaskQueue {
|
|
11
16
|
private tasks;
|
|
12
17
|
private waves;
|
|
@@ -14,6 +19,8 @@ export declare class SwarmTaskQueue {
|
|
|
14
19
|
private currentWave;
|
|
15
20
|
private onCascadeSkipCallback?;
|
|
16
21
|
private partialDependencyThreshold;
|
|
22
|
+
private artifactAwareSkip;
|
|
23
|
+
private workingDirectory;
|
|
17
24
|
/**
|
|
18
25
|
* Load tasks from a SmartDecompositionResult.
|
|
19
26
|
* Converts subtasks to SwarmTasks and organizes them into waves
|
|
@@ -66,6 +73,27 @@ export declare class SwarmTaskQueue {
|
|
|
66
73
|
* Returns true if the task can be retried (attempts < maxAttempts).
|
|
67
74
|
*/
|
|
68
75
|
markFailed(taskId: string, maxRetries: number): boolean;
|
|
76
|
+
/**
|
|
77
|
+
* Mark a task as failed WITHOUT triggering cascade skip.
|
|
78
|
+
* Returns true if the task can be retried (attempts < maxAttempts).
|
|
79
|
+
* Caller is responsible for calling triggerCascadeSkip() if recovery fails.
|
|
80
|
+
*/
|
|
81
|
+
markFailedWithoutCascade(taskId: string, maxRetries: number): boolean;
|
|
82
|
+
/**
|
|
83
|
+
* Requeue stale dispatched tasks back to ready when no active worker owns them.
|
|
84
|
+
* Returns recovered task IDs.
|
|
85
|
+
*/
|
|
86
|
+
reconcileStaleDispatched(options: ReconcileStaleDispatchedOptions): string[];
|
|
87
|
+
/**
|
|
88
|
+
* Manually trigger cascade skip for a failed task's dependents.
|
|
89
|
+
* Call this after resilience recovery has been attempted and failed.
|
|
90
|
+
*/
|
|
91
|
+
triggerCascadeSkip(taskId: string): void;
|
|
92
|
+
/**
|
|
93
|
+
* Un-skip dependents of a task that was recovered (e.g., via resilience recovery).
|
|
94
|
+
* Checks if all dependencies are now satisfied and restores skipped tasks to ready.
|
|
95
|
+
*/
|
|
96
|
+
unSkipDependents(taskId: string): void;
|
|
69
97
|
/**
|
|
70
98
|
* Cascade failure to dependent tasks, respecting partial dependency threshold.
|
|
71
99
|
* Tasks with enough successful deps are kept ready/pending rather than skipped.
|
|
@@ -87,6 +115,21 @@ export declare class SwarmTaskQueue {
|
|
|
87
115
|
* Check if all tasks are resolved (no more work to do).
|
|
88
116
|
*/
|
|
89
117
|
isComplete(): boolean;
|
|
118
|
+
/**
|
|
119
|
+
* Replace a task with subtasks from micro-decomposition.
|
|
120
|
+
* Marks original task as 'decomposed', inserts subtasks into its wave,
|
|
121
|
+
* and updates dependency graph so anything depending on the original
|
|
122
|
+
* now depends on ALL subtasks.
|
|
123
|
+
*/
|
|
124
|
+
replaceWithSubtasks(originalTaskId: string, subtasks: SwarmTask[]): void;
|
|
125
|
+
/**
|
|
126
|
+
* Get all tasks that were cascade-skipped.
|
|
127
|
+
*/
|
|
128
|
+
getSkippedTasks(): SwarmTask[];
|
|
129
|
+
/**
|
|
130
|
+
* Un-skip a task, setting it to 'ready' with rescue context.
|
|
131
|
+
*/
|
|
132
|
+
rescueTask(taskId: string, rescueContext: string): void;
|
|
90
133
|
/**
|
|
91
134
|
* Get a task by ID.
|
|
92
135
|
*/
|
|
@@ -126,6 +169,17 @@ export declare class SwarmTaskQueue {
|
|
|
126
169
|
* Restore state from a checkpoint. Merges checkpoint state into existing tasks.
|
|
127
170
|
*/
|
|
128
171
|
restoreFromCheckpoint(state: Pick<SwarmCheckpoint, 'taskStates' | 'waves' | 'currentWave'>): void;
|
|
172
|
+
/**
|
|
173
|
+
* Add re-planned tasks from mid-swarm re-planning.
|
|
174
|
+
* Inserts new tasks into the specified wave and marks them ready.
|
|
175
|
+
*/
|
|
176
|
+
addReplanTasks(subtasks: Array<{
|
|
177
|
+
description: string;
|
|
178
|
+
type: string;
|
|
179
|
+
complexity: number;
|
|
180
|
+
dependencies: string[];
|
|
181
|
+
relevantFiles?: string[];
|
|
182
|
+
}>, wave: number): SwarmTask[];
|
|
129
183
|
/**
|
|
130
184
|
* Add fix-up tasks from wave review. Inserted into the current wave.
|
|
131
185
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"task-queue.d.ts","sourceRoot":"","sources":["../../../../src/integrations/swarm/task-queue.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;
|
|
1
|
+
{"version":3,"file":"task-queue.d.ts","sourceRoot":"","sources":["../../../../src/integrations/swarm/task-queue.ts"],"names":[],"mappings":"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"}
|