agent-bober 0.11.6 → 0.15.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/CHANGELOG.md +311 -0
- package/README.md +124 -9
- package/agents/bober-architect.md +38 -0
- package/agents/bober-code-reviewer.md +236 -0
- package/agents/bober-curator.md +37 -0
- package/agents/bober-deployer.md +267 -0
- package/agents/bober-diagnoser.md +289 -0
- package/agents/bober-evaluator.md +127 -1
- package/agents/bober-generator.md +122 -3
- package/agents/bober-planner.md +293 -32
- package/agents/bober-postmortemer.md +185 -0
- package/agents/bober-researcher.md +38 -0
- package/dist/cli/commands/approve.d.ts +17 -0
- package/dist/cli/commands/approve.d.ts.map +1 -0
- package/dist/cli/commands/approve.js +64 -0
- package/dist/cli/commands/approve.js.map +1 -0
- package/dist/cli/commands/audit-show.d.ts +14 -0
- package/dist/cli/commands/audit-show.d.ts.map +1 -0
- package/dist/cli/commands/audit-show.js +85 -0
- package/dist/cli/commands/audit-show.js.map +1 -0
- package/dist/cli/commands/config.d.ts +10 -0
- package/dist/cli/commands/config.d.ts.map +1 -0
- package/dist/cli/commands/config.js +73 -0
- package/dist/cli/commands/config.js.map +1 -0
- package/dist/cli/commands/eval.js +6 -6
- package/dist/cli/commands/eval.js.map +1 -1
- package/dist/cli/commands/graph.d.ts +8 -0
- package/dist/cli/commands/graph.d.ts.map +1 -0
- package/dist/cli/commands/graph.js +219 -0
- package/dist/cli/commands/graph.js.map +1 -0
- package/dist/cli/commands/impact.d.ts +19 -0
- package/dist/cli/commands/impact.d.ts.map +1 -0
- package/dist/cli/commands/impact.js +191 -0
- package/dist/cli/commands/impact.js.map +1 -0
- package/dist/cli/commands/incident.d.ts +19 -0
- package/dist/cli/commands/incident.d.ts.map +1 -0
- package/dist/cli/commands/incident.js +324 -0
- package/dist/cli/commands/incident.js.map +1 -0
- package/dist/cli/commands/init.js +82 -3
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/list-approvals.d.ts +16 -0
- package/dist/cli/commands/list-approvals.d.ts.map +1 -0
- package/dist/cli/commands/list-approvals.js +57 -0
- package/dist/cli/commands/list-approvals.js.map +1 -0
- package/dist/cli/commands/onboard.d.ts +3 -0
- package/dist/cli/commands/onboard.d.ts.map +1 -0
- package/dist/cli/commands/onboard.js +190 -0
- package/dist/cli/commands/onboard.js.map +1 -0
- package/dist/cli/commands/plan.d.ts +12 -0
- package/dist/cli/commands/plan.d.ts.map +1 -1
- package/dist/cli/commands/plan.js +232 -37
- package/dist/cli/commands/plan.js.map +1 -1
- package/dist/cli/commands/playbook.d.ts +17 -0
- package/dist/cli/commands/playbook.d.ts.map +1 -0
- package/dist/cli/commands/playbook.js +123 -0
- package/dist/cli/commands/playbook.js.map +1 -0
- package/dist/cli/commands/postmortem.d.ts +12 -0
- package/dist/cli/commands/postmortem.d.ts.map +1 -0
- package/dist/cli/commands/postmortem.js +67 -0
- package/dist/cli/commands/postmortem.js.map +1 -0
- package/dist/cli/commands/reject.d.ts +17 -0
- package/dist/cli/commands/reject.d.ts.map +1 -0
- package/dist/cli/commands/reject.js +52 -0
- package/dist/cli/commands/reject.js.map +1 -0
- package/dist/cli/commands/rollback.d.ts +21 -0
- package/dist/cli/commands/rollback.d.ts.map +1 -0
- package/dist/cli/commands/rollback.js +90 -0
- package/dist/cli/commands/rollback.js.map +1 -0
- package/dist/cli/commands/run.d.ts +9 -0
- package/dist/cli/commands/run.d.ts.map +1 -1
- package/dist/cli/commands/run.js +31 -2
- package/dist/cli/commands/run.js.map +1 -1
- package/dist/cli/commands/sprint.d.ts.map +1 -1
- package/dist/cli/commands/sprint.js +8 -8
- package/dist/cli/commands/sprint.js.map +1 -1
- package/dist/cli/commands/telemetry.d.ts +16 -0
- package/dist/cli/commands/telemetry.d.ts.map +1 -0
- package/dist/cli/commands/telemetry.js +152 -0
- package/dist/cli/commands/telemetry.js.map +1 -0
- package/dist/cli/commands/worktree.d.ts +12 -0
- package/dist/cli/commands/worktree.d.ts.map +1 -0
- package/dist/cli/commands/worktree.js +57 -0
- package/dist/cli/commands/worktree.js.map +1 -0
- package/dist/cli/index.js +73 -2
- package/dist/cli/index.js.map +1 -1
- package/dist/config/defaults.d.ts.map +1 -1
- package/dist/config/defaults.js +27 -0
- package/dist/config/defaults.js.map +1 -1
- package/dist/config/index.d.ts +1 -1
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/index.js +4 -0
- package/dist/config/index.js.map +1 -1
- package/dist/config/loader.d.ts.map +1 -1
- package/dist/config/loader.js +18 -1
- package/dist/config/loader.js.map +1 -1
- package/dist/config/schema.d.ts +1016 -96
- package/dist/config/schema.d.ts.map +1 -1
- package/dist/config/schema.js +147 -0
- package/dist/config/schema.js.map +1 -1
- package/dist/contracts/eval-result.d.ts +38 -38
- package/dist/contracts/index.d.ts +2 -2
- package/dist/contracts/index.d.ts.map +1 -1
- package/dist/contracts/index.js +8 -4
- package/dist/contracts/index.js.map +1 -1
- package/dist/contracts/spec.d.ts +335 -40
- package/dist/contracts/spec.d.ts.map +1 -1
- package/dist/contracts/spec.js +210 -18
- package/dist/contracts/spec.js.map +1 -1
- package/dist/contracts/sprint-contract.d.ts +155 -88
- package/dist/contracts/sprint-contract.d.ts.map +1 -1
- package/dist/contracts/sprint-contract.js +176 -29
- package/dist/contracts/sprint-contract.js.map +1 -1
- package/dist/evaluators/builtin/api-check.js +1 -1
- package/dist/evaluators/builtin/api-check.js.map +1 -1
- package/dist/graph/artifact-store.d.ts +14 -0
- package/dist/graph/artifact-store.d.ts.map +1 -0
- package/dist/graph/artifact-store.js +100 -0
- package/dist/graph/artifact-store.js.map +1 -0
- package/dist/graph/cli.d.ts +49 -0
- package/dist/graph/cli.d.ts.map +1 -0
- package/dist/graph/cli.js +140 -0
- package/dist/graph/cli.js.map +1 -0
- package/dist/graph/client.d.ts +64 -0
- package/dist/graph/client.d.ts.map +1 -0
- package/dist/graph/client.js +216 -0
- package/dist/graph/client.js.map +1 -0
- package/dist/graph/fallback.d.ts +13 -0
- package/dist/graph/fallback.d.ts.map +1 -0
- package/dist/graph/fallback.js +57 -0
- package/dist/graph/fallback.js.map +1 -0
- package/dist/graph/hook-handler.d.ts +50 -0
- package/dist/graph/hook-handler.d.ts.map +1 -0
- package/dist/graph/hook-handler.js +217 -0
- package/dist/graph/hook-handler.js.map +1 -0
- package/dist/graph/incidents.d.ts +59 -0
- package/dist/graph/incidents.d.ts.map +1 -0
- package/dist/graph/incidents.js +22 -0
- package/dist/graph/incidents.js.map +1 -0
- package/dist/graph/mcp-client.d.ts +51 -0
- package/dist/graph/mcp-client.d.ts.map +1 -0
- package/dist/graph/mcp-client.js +285 -0
- package/dist/graph/mcp-client.js.map +1 -0
- package/dist/graph/onboarding-composer.d.ts +30 -0
- package/dist/graph/onboarding-composer.d.ts.map +1 -0
- package/dist/graph/onboarding-composer.js +275 -0
- package/dist/graph/onboarding-composer.js.map +1 -0
- package/dist/graph/pipeline-lifecycle.d.ts +86 -0
- package/dist/graph/pipeline-lifecycle.d.ts.map +1 -0
- package/dist/graph/pipeline-lifecycle.js +329 -0
- package/dist/graph/pipeline-lifecycle.js.map +1 -0
- package/dist/graph/preflight-budgets.d.ts +52 -0
- package/dist/graph/preflight-budgets.d.ts.map +1 -0
- package/dist/graph/preflight-budgets.js +78 -0
- package/dist/graph/preflight-budgets.js.map +1 -0
- package/dist/graph/preflight-injector.d.ts +116 -0
- package/dist/graph/preflight-injector.d.ts.map +1 -0
- package/dist/graph/preflight-injector.js +538 -0
- package/dist/graph/preflight-injector.js.map +1 -0
- package/dist/graph/prereq.d.ts +12 -0
- package/dist/graph/prereq.d.ts.map +1 -0
- package/dist/graph/prereq.js +61 -0
- package/dist/graph/prereq.js.map +1 -0
- package/dist/graph/prompts.d.ts +42 -0
- package/dist/graph/prompts.d.ts.map +1 -0
- package/dist/graph/prompts.js +80 -0
- package/dist/graph/prompts.js.map +1 -0
- package/dist/graph/sandbox.d.ts +19 -0
- package/dist/graph/sandbox.d.ts.map +1 -0
- package/dist/graph/sandbox.js +25 -0
- package/dist/graph/sandbox.js.map +1 -0
- package/dist/graph/token-usage.d.ts +21 -0
- package/dist/graph/token-usage.d.ts.map +1 -0
- package/dist/graph/token-usage.js +22 -0
- package/dist/graph/token-usage.js.map +1 -0
- package/dist/graph/types.d.ts +129 -0
- package/dist/graph/types.d.ts.map +1 -0
- package/dist/graph/types.js +12 -0
- package/dist/graph/types.js.map +1 -0
- package/dist/incident/orchestrator.d.ts +168 -0
- package/dist/incident/orchestrator.d.ts.map +1 -0
- package/dist/incident/orchestrator.js +279 -0
- package/dist/incident/orchestrator.js.map +1 -0
- package/dist/incident/playbook-search.d.ts +67 -0
- package/dist/incident/playbook-search.d.ts.map +1 -0
- package/dist/incident/playbook-search.js +288 -0
- package/dist/incident/playbook-search.js.map +1 -0
- package/dist/incident/postmortem.d.ts +44 -0
- package/dist/incident/postmortem.d.ts.map +1 -0
- package/dist/incident/postmortem.js +486 -0
- package/dist/incident/postmortem.js.map +1 -0
- package/dist/incident/resolution-verify.d.ts +186 -0
- package/dist/incident/resolution-verify.d.ts.map +1 -0
- package/dist/incident/resolution-verify.js +210 -0
- package/dist/incident/resolution-verify.js.map +1 -0
- package/dist/incident/rollback.d.ts +137 -0
- package/dist/incident/rollback.d.ts.map +1 -0
- package/dist/incident/rollback.js +328 -0
- package/dist/incident/rollback.js.map +1 -0
- package/dist/incident/timeline.d.ts +147 -0
- package/dist/incident/timeline.d.ts.map +1 -0
- package/dist/incident/timeline.js +452 -0
- package/dist/incident/timeline.js.map +1 -0
- package/dist/incident/types.d.ts +335 -0
- package/dist/incident/types.d.ts.map +1 -0
- package/dist/incident/types.js +158 -0
- package/dist/incident/types.js.map +1 -0
- package/dist/index.d.ts +3 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -3
- package/dist/index.js.map +1 -1
- package/dist/mcp/event-stream.d.ts +46 -0
- package/dist/mcp/event-stream.d.ts.map +1 -0
- package/dist/mcp/event-stream.js +421 -0
- package/dist/mcp/event-stream.js.map +1 -0
- package/dist/mcp/external-client.d.ts +38 -0
- package/dist/mcp/external-client.d.ts.map +1 -0
- package/dist/mcp/external-client.js +121 -0
- package/dist/mcp/external-client.js.map +1 -0
- package/dist/mcp/run-manager.d.ts +74 -9
- package/dist/mcp/run-manager.d.ts.map +1 -1
- package/dist/mcp/run-manager.js +127 -31
- package/dist/mcp/run-manager.js.map +1 -1
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +56 -0
- package/dist/mcp/server.js.map +1 -1
- package/dist/mcp/tools/abort-run.d.ts +2 -0
- package/dist/mcp/tools/abort-run.d.ts.map +1 -0
- package/dist/mcp/tools/abort-run.js +62 -0
- package/dist/mcp/tools/abort-run.js.map +1 -0
- package/dist/mcp/tools/anchor.js +1 -1
- package/dist/mcp/tools/anchor.js.map +1 -1
- package/dist/mcp/tools/approve-checkpoint.d.ts +2 -0
- package/dist/mcp/tools/approve-checkpoint.d.ts.map +1 -0
- package/dist/mcp/tools/approve-checkpoint.js +70 -0
- package/dist/mcp/tools/approve-checkpoint.js.map +1 -0
- package/dist/mcp/tools/brownfield.js +1 -1
- package/dist/mcp/tools/brownfield.js.map +1 -1
- package/dist/mcp/tools/contracts.js +2 -2
- package/dist/mcp/tools/contracts.js.map +1 -1
- package/dist/mcp/tools/eval.js +8 -8
- package/dist/mcp/tools/eval.js.map +1 -1
- package/dist/mcp/tools/get-project-state.d.ts +2 -0
- package/dist/mcp/tools/get-project-state.d.ts.map +1 -0
- package/dist/mcp/tools/get-project-state.js +107 -0
- package/dist/mcp/tools/get-project-state.js.map +1 -0
- package/dist/mcp/tools/get-run-status.d.ts +2 -0
- package/dist/mcp/tools/get-run-status.d.ts.map +1 -0
- package/dist/mcp/tools/get-run-status.js +40 -0
- package/dist/mcp/tools/get-run-status.js.map +1 -0
- package/dist/mcp/tools/graph-schemas.d.ts +100 -0
- package/dist/mcp/tools/graph-schemas.d.ts.map +1 -0
- package/dist/mcp/tools/graph-schemas.js +39 -0
- package/dist/mcp/tools/graph-schemas.js.map +1 -0
- package/dist/mcp/tools/graph.d.ts +19 -0
- package/dist/mcp/tools/graph.d.ts.map +1 -0
- package/dist/mcp/tools/graph.js +263 -0
- package/dist/mcp/tools/graph.js.map +1 -0
- package/dist/mcp/tools/incident.d.ts +2 -0
- package/dist/mcp/tools/incident.d.ts.map +1 -0
- package/dist/mcp/tools/incident.js +246 -0
- package/dist/mcp/tools/incident.js.map +1 -0
- package/dist/mcp/tools/index.d.ts +38 -18
- package/dist/mcp/tools/index.d.ts.map +1 -1
- package/dist/mcp/tools/index.js +74 -18
- package/dist/mcp/tools/index.js.map +1 -1
- package/dist/mcp/tools/list-active-runs.d.ts +2 -0
- package/dist/mcp/tools/list-active-runs.d.ts.map +1 -0
- package/dist/mcp/tools/list-active-runs.js +35 -0
- package/dist/mcp/tools/list-active-runs.js.map +1 -0
- package/dist/mcp/tools/list-pending-approvals.d.ts +2 -0
- package/dist/mcp/tools/list-pending-approvals.d.ts.map +1 -0
- package/dist/mcp/tools/list-pending-approvals.js +40 -0
- package/dist/mcp/tools/list-pending-approvals.js.map +1 -0
- package/dist/mcp/tools/list-projects.d.ts +2 -0
- package/dist/mcp/tools/list-projects.d.ts.map +1 -0
- package/dist/mcp/tools/list-projects.js +101 -0
- package/dist/mcp/tools/list-projects.js.map +1 -0
- package/dist/mcp/tools/list-specs.d.ts +2 -0
- package/dist/mcp/tools/list-specs.d.ts.map +1 -0
- package/dist/mcp/tools/list-specs.js +48 -0
- package/dist/mcp/tools/list-specs.js.map +1 -0
- package/dist/mcp/tools/plan.d.ts.map +1 -1
- package/dist/mcp/tools/plan.js +40 -14
- package/dist/mcp/tools/plan.js.map +1 -1
- package/dist/mcp/tools/playbook.d.ts +2 -0
- package/dist/mcp/tools/playbook.d.ts.map +1 -0
- package/dist/mcp/tools/playbook.js +104 -0
- package/dist/mcp/tools/playbook.js.map +1 -0
- package/dist/mcp/tools/postmortem.d.ts +2 -0
- package/dist/mcp/tools/postmortem.d.ts.map +1 -0
- package/dist/mcp/tools/postmortem.js +75 -0
- package/dist/mcp/tools/postmortem.js.map +1 -0
- package/dist/mcp/tools/react.js +1 -1
- package/dist/mcp/tools/react.js.map +1 -1
- package/dist/mcp/tools/reject-checkpoint.d.ts +2 -0
- package/dist/mcp/tools/reject-checkpoint.d.ts.map +1 -0
- package/dist/mcp/tools/reject-checkpoint.js +79 -0
- package/dist/mcp/tools/reject-checkpoint.js.map +1 -0
- package/dist/mcp/tools/rollback.d.ts +2 -0
- package/dist/mcp/tools/rollback.d.ts.map +1 -0
- package/dist/mcp/tools/rollback.js +78 -0
- package/dist/mcp/tools/rollback.js.map +1 -0
- package/dist/mcp/tools/run-in-worktree.d.ts +2 -0
- package/dist/mcp/tools/run-in-worktree.d.ts.map +1 -0
- package/dist/mcp/tools/run-in-worktree.js +90 -0
- package/dist/mcp/tools/run-in-worktree.js.map +1 -0
- package/dist/mcp/tools/run.js +1 -1
- package/dist/mcp/tools/run.js.map +1 -1
- package/dist/mcp/tools/solidity.js +1 -1
- package/dist/mcp/tools/solidity.js.map +1 -1
- package/dist/mcp/tools/sprint.d.ts.map +1 -1
- package/dist/mcp/tools/sprint.js +11 -11
- package/dist/mcp/tools/sprint.js.map +1 -1
- package/dist/mcp/tools/status.d.ts.map +1 -1
- package/dist/mcp/tools/status.js +11 -0
- package/dist/mcp/tools/status.js.map +1 -1
- package/dist/mcp/tools/subscribe-events.d.ts +2 -0
- package/dist/mcp/tools/subscribe-events.d.ts.map +1 -0
- package/dist/mcp/tools/subscribe-events.js +48 -0
- package/dist/mcp/tools/subscribe-events.js.map +1 -0
- package/dist/mcp/tools/unsubscribe-events.d.ts +2 -0
- package/dist/mcp/tools/unsubscribe-events.d.ts.map +1 -0
- package/dist/mcp/tools/unsubscribe-events.js +45 -0
- package/dist/mcp/tools/unsubscribe-events.js.map +1 -0
- package/dist/orchestrator/agent-loader.d.ts +16 -0
- package/dist/orchestrator/agent-loader.d.ts.map +1 -1
- package/dist/orchestrator/agent-loader.js +16 -0
- package/dist/orchestrator/agent-loader.js.map +1 -1
- package/dist/orchestrator/architect-agent.d.ts.map +1 -1
- package/dist/orchestrator/architect-agent.js +37 -8
- package/dist/orchestrator/architect-agent.js.map +1 -1
- package/dist/orchestrator/checkpoints/audit.d.ts +128 -0
- package/dist/orchestrator/checkpoints/audit.d.ts.map +1 -0
- package/dist/orchestrator/checkpoints/audit.js +272 -0
- package/dist/orchestrator/checkpoints/audit.js.map +1 -0
- package/dist/orchestrator/checkpoints/feedback-router.d.ts +213 -0
- package/dist/orchestrator/checkpoints/feedback-router.d.ts.map +1 -0
- package/dist/orchestrator/checkpoints/feedback-router.js +438 -0
- package/dist/orchestrator/checkpoints/feedback-router.js.map +1 -0
- package/dist/orchestrator/checkpoints/index.d.ts +11 -0
- package/dist/orchestrator/checkpoints/index.d.ts.map +1 -0
- package/dist/orchestrator/checkpoints/index.js +12 -0
- package/dist/orchestrator/checkpoints/index.js.map +1 -0
- package/dist/orchestrator/checkpoints/mechanisms/cli.d.ts +35 -0
- package/dist/orchestrator/checkpoints/mechanisms/cli.d.ts.map +1 -0
- package/dist/orchestrator/checkpoints/mechanisms/cli.js +153 -0
- package/dist/orchestrator/checkpoints/mechanisms/cli.js.map +1 -0
- package/dist/orchestrator/checkpoints/mechanisms/disk.d.ts +34 -0
- package/dist/orchestrator/checkpoints/mechanisms/disk.d.ts.map +1 -0
- package/dist/orchestrator/checkpoints/mechanisms/disk.js +139 -0
- package/dist/orchestrator/checkpoints/mechanisms/disk.js.map +1 -0
- package/dist/orchestrator/checkpoints/mechanisms/pr.d.ts +141 -0
- package/dist/orchestrator/checkpoints/mechanisms/pr.d.ts.map +1 -0
- package/dist/orchestrator/checkpoints/mechanisms/pr.js +445 -0
- package/dist/orchestrator/checkpoints/mechanisms/pr.js.map +1 -0
- package/dist/orchestrator/checkpoints/noop.d.ts +12 -0
- package/dist/orchestrator/checkpoints/noop.d.ts.map +1 -0
- package/dist/orchestrator/checkpoints/noop.js +13 -0
- package/dist/orchestrator/checkpoints/noop.js.map +1 -0
- package/dist/orchestrator/checkpoints/registry.d.ts +48 -0
- package/dist/orchestrator/checkpoints/registry.d.ts.map +1 -0
- package/dist/orchestrator/checkpoints/registry.js +89 -0
- package/dist/orchestrator/checkpoints/registry.js.map +1 -0
- package/dist/orchestrator/checkpoints/renderers/_util.d.ts +50 -0
- package/dist/orchestrator/checkpoints/renderers/_util.d.ts.map +1 -0
- package/dist/orchestrator/checkpoints/renderers/_util.js +137 -0
- package/dist/orchestrator/checkpoints/renderers/_util.js.map +1 -0
- package/dist/orchestrator/checkpoints/renderers/code-review.d.ts +15 -0
- package/dist/orchestrator/checkpoints/renderers/code-review.d.ts.map +1 -0
- package/dist/orchestrator/checkpoints/renderers/code-review.js +66 -0
- package/dist/orchestrator/checkpoints/renderers/code-review.js.map +1 -0
- package/dist/orchestrator/checkpoints/renderers/curator-briefing.d.ts +15 -0
- package/dist/orchestrator/checkpoints/renderers/curator-briefing.d.ts.map +1 -0
- package/dist/orchestrator/checkpoints/renderers/curator-briefing.js +40 -0
- package/dist/orchestrator/checkpoints/renderers/curator-briefing.js.map +1 -0
- package/dist/orchestrator/checkpoints/renderers/eval-result.d.ts +15 -0
- package/dist/orchestrator/checkpoints/renderers/eval-result.d.ts.map +1 -0
- package/dist/orchestrator/checkpoints/renderers/eval-result.js +54 -0
- package/dist/orchestrator/checkpoints/renderers/eval-result.js.map +1 -0
- package/dist/orchestrator/checkpoints/renderers/generator-diff.d.ts +49 -0
- package/dist/orchestrator/checkpoints/renderers/generator-diff.d.ts.map +1 -0
- package/dist/orchestrator/checkpoints/renderers/generator-diff.js +154 -0
- package/dist/orchestrator/checkpoints/renderers/generator-diff.js.map +1 -0
- package/dist/orchestrator/checkpoints/renderers/pipeline-summary.d.ts +15 -0
- package/dist/orchestrator/checkpoints/renderers/pipeline-summary.d.ts.map +1 -0
- package/dist/orchestrator/checkpoints/renderers/pipeline-summary.js +59 -0
- package/dist/orchestrator/checkpoints/renderers/pipeline-summary.js.map +1 -0
- package/dist/orchestrator/checkpoints/renderers/plan.d.ts +15 -0
- package/dist/orchestrator/checkpoints/renderers/plan.d.ts.map +1 -0
- package/dist/orchestrator/checkpoints/renderers/plan.js +34 -0
- package/dist/orchestrator/checkpoints/renderers/plan.js.map +1 -0
- package/dist/orchestrator/checkpoints/renderers/registry.d.ts +43 -0
- package/dist/orchestrator/checkpoints/renderers/registry.d.ts.map +1 -0
- package/dist/orchestrator/checkpoints/renderers/registry.js +83 -0
- package/dist/orchestrator/checkpoints/renderers/registry.js.map +1 -0
- package/dist/orchestrator/checkpoints/renderers/research.d.ts +15 -0
- package/dist/orchestrator/checkpoints/renderers/research.d.ts.map +1 -0
- package/dist/orchestrator/checkpoints/renderers/research.js +39 -0
- package/dist/orchestrator/checkpoints/renderers/research.js.map +1 -0
- package/dist/orchestrator/checkpoints/renderers/sprint-contract.d.ts +20 -0
- package/dist/orchestrator/checkpoints/renderers/sprint-contract.d.ts.map +1 -0
- package/dist/orchestrator/checkpoints/renderers/sprint-contract.js +57 -0
- package/dist/orchestrator/checkpoints/renderers/sprint-contract.js.map +1 -0
- package/dist/orchestrator/checkpoints/renderers/sprint-summary.d.ts +15 -0
- package/dist/orchestrator/checkpoints/renderers/sprint-summary.d.ts.map +1 -0
- package/dist/orchestrator/checkpoints/renderers/sprint-summary.js +38 -0
- package/dist/orchestrator/checkpoints/renderers/sprint-summary.js.map +1 -0
- package/dist/orchestrator/checkpoints/sites.d.ts +22 -0
- package/dist/orchestrator/checkpoints/sites.d.ts.map +1 -0
- package/dist/orchestrator/checkpoints/sites.js +57 -0
- package/dist/orchestrator/checkpoints/sites.js.map +1 -0
- package/dist/orchestrator/checkpoints/types.d.ts +51 -0
- package/dist/orchestrator/checkpoints/types.d.ts.map +1 -0
- package/dist/orchestrator/checkpoints/types.js +9 -0
- package/dist/orchestrator/checkpoints/types.js.map +1 -0
- package/dist/orchestrator/code-reviewer-agent.d.ts +50 -0
- package/dist/orchestrator/code-reviewer-agent.d.ts.map +1 -0
- package/dist/orchestrator/code-reviewer-agent.js +283 -0
- package/dist/orchestrator/code-reviewer-agent.js.map +1 -0
- package/dist/orchestrator/context-handoff.d.ts +484 -224
- package/dist/orchestrator/context-handoff.d.ts.map +1 -1
- package/dist/orchestrator/context-handoff.js +32 -12
- package/dist/orchestrator/context-handoff.js.map +1 -1
- package/dist/orchestrator/curator-agent.d.ts.map +1 -1
- package/dist/orchestrator/curator-agent.js +63 -12
- package/dist/orchestrator/curator-agent.js.map +1 -1
- package/dist/orchestrator/deploy/classify.d.ts +31 -0
- package/dist/orchestrator/deploy/classify.d.ts.map +1 -0
- package/dist/orchestrator/deploy/classify.js +109 -0
- package/dist/orchestrator/deploy/classify.js.map +1 -0
- package/dist/orchestrator/deploy/execute.d.ts +45 -0
- package/dist/orchestrator/deploy/execute.d.ts.map +1 -0
- package/dist/orchestrator/deploy/execute.js +146 -0
- package/dist/orchestrator/deploy/execute.js.map +1 -0
- package/dist/orchestrator/deploy/executor.d.ts +22 -0
- package/dist/orchestrator/deploy/executor.d.ts.map +1 -0
- package/dist/orchestrator/deploy/executor.js +31 -0
- package/dist/orchestrator/deploy/executor.js.map +1 -0
- package/dist/orchestrator/deploy/index.d.ts +21 -0
- package/dist/orchestrator/deploy/index.d.ts.map +1 -0
- package/dist/orchestrator/deploy/index.js +21 -0
- package/dist/orchestrator/deploy/index.js.map +1 -0
- package/dist/orchestrator/deploy/resolve.d.ts +51 -0
- package/dist/orchestrator/deploy/resolve.d.ts.map +1 -0
- package/dist/orchestrator/deploy/resolve.js +53 -0
- package/dist/orchestrator/deploy/resolve.js.map +1 -0
- package/dist/orchestrator/deploy/spawn.d.ts +60 -0
- package/dist/orchestrator/deploy/spawn.d.ts.map +1 -0
- package/dist/orchestrator/deploy/spawn.js +62 -0
- package/dist/orchestrator/deploy/spawn.js.map +1 -0
- package/dist/orchestrator/deploy/types.d.ts +98 -0
- package/dist/orchestrator/deploy/types.d.ts.map +1 -0
- package/dist/orchestrator/deploy/types.js +39 -0
- package/dist/orchestrator/deploy/types.js.map +1 -0
- package/dist/orchestrator/evaluator-agent.d.ts.map +1 -1
- package/dist/orchestrator/evaluator-agent.js +23 -10
- package/dist/orchestrator/evaluator-agent.js.map +1 -1
- package/dist/orchestrator/generator-agent.d.ts.map +1 -1
- package/dist/orchestrator/generator-agent.js +24 -11
- package/dist/orchestrator/generator-agent.js.map +1 -1
- package/dist/orchestrator/model-resolver.d.ts.map +1 -1
- package/dist/orchestrator/model-resolver.js +4 -2
- package/dist/orchestrator/model-resolver.js.map +1 -1
- package/dist/orchestrator/observability/index.d.ts +12 -0
- package/dist/orchestrator/observability/index.d.ts.map +1 -0
- package/dist/orchestrator/observability/index.js +12 -0
- package/dist/orchestrator/observability/index.js.map +1 -0
- package/dist/orchestrator/observability/merge.d.ts +73 -0
- package/dist/orchestrator/observability/merge.d.ts.map +1 -0
- package/dist/orchestrator/observability/merge.js +110 -0
- package/dist/orchestrator/observability/merge.js.map +1 -0
- package/dist/orchestrator/pipeline.d.ts +28 -0
- package/dist/orchestrator/pipeline.d.ts.map +1 -1
- package/dist/orchestrator/pipeline.js +223 -30
- package/dist/orchestrator/pipeline.js.map +1 -1
- package/dist/orchestrator/planner-agent.d.ts +21 -1
- package/dist/orchestrator/planner-agent.d.ts.map +1 -1
- package/dist/orchestrator/planner-agent.js +16 -6
- package/dist/orchestrator/planner-agent.js.map +1 -1
- package/dist/orchestrator/research-agent.d.ts.map +1 -1
- package/dist/orchestrator/research-agent.js +46 -9
- package/dist/orchestrator/research-agent.js.map +1 -1
- package/dist/orchestrator/tools/handlers.d.ts +2 -0
- package/dist/orchestrator/tools/handlers.d.ts.map +1 -1
- package/dist/orchestrator/tools/handlers.js +1 -1
- package/dist/orchestrator/tools/handlers.js.map +1 -1
- package/dist/orchestrator/tools/index.d.ts +84 -1
- package/dist/orchestrator/tools/index.d.ts.map +1 -1
- package/dist/orchestrator/tools/index.js +164 -1
- package/dist/orchestrator/tools/index.js.map +1 -1
- package/dist/orchestrator/worktree.d.ts +18 -0
- package/dist/orchestrator/worktree.d.ts.map +1 -0
- package/dist/orchestrator/worktree.js +129 -0
- package/dist/orchestrator/worktree.js.map +1 -0
- package/dist/providers/anthropic.d.ts +8 -1
- package/dist/providers/anthropic.d.ts.map +1 -1
- package/dist/providers/anthropic.js +86 -5
- package/dist/providers/anthropic.js.map +1 -1
- package/dist/providers/factory.d.ts.map +1 -1
- package/dist/providers/factory.js +35 -2
- package/dist/providers/factory.js.map +1 -1
- package/dist/providers/google.d.ts.map +1 -1
- package/dist/providers/google.js +5 -0
- package/dist/providers/google.js.map +1 -1
- package/dist/providers/index.d.ts +1 -1
- package/dist/providers/index.d.ts.map +1 -1
- package/dist/providers/index.js.map +1 -1
- package/dist/providers/openai.d.ts.map +1 -1
- package/dist/providers/openai.js +4 -0
- package/dist/providers/openai.js.map +1 -1
- package/dist/providers/types.d.ts +25 -2
- package/dist/providers/types.d.ts.map +1 -1
- package/dist/state/approval-state.d.ts +74 -0
- package/dist/state/approval-state.d.ts.map +1 -0
- package/dist/state/approval-state.js +127 -0
- package/dist/state/approval-state.js.map +1 -0
- package/dist/state/history.d.ts.map +1 -1
- package/dist/state/history.js +3 -3
- package/dist/state/history.js.map +1 -1
- package/dist/state/index.d.ts +3 -0
- package/dist/state/index.d.ts.map +1 -1
- package/dist/state/index.js +4 -1
- package/dist/state/index.js.map +1 -1
- package/dist/state/plan-state.js +1 -1
- package/dist/state/plan-state.js.map +1 -1
- package/dist/state/review-state.d.ts +15 -0
- package/dist/state/review-state.d.ts.map +1 -0
- package/dist/state/review-state.js +51 -0
- package/dist/state/review-state.js.map +1 -0
- package/dist/state/run-state.d.ts +39 -0
- package/dist/state/run-state.d.ts.map +1 -0
- package/dist/state/run-state.js +101 -0
- package/dist/state/run-state.js.map +1 -0
- package/dist/state/sprint-state.d.ts +9 -2
- package/dist/state/sprint-state.d.ts.map +1 -1
- package/dist/state/sprint-state.js +25 -11
- package/dist/state/sprint-state.js.map +1 -1
- package/dist/telemetry/emit.d.ts +41 -0
- package/dist/telemetry/emit.d.ts.map +1 -0
- package/dist/telemetry/emit.js +65 -0
- package/dist/telemetry/emit.js.map +1 -0
- package/dist/utils/git.d.ts +27 -0
- package/dist/utils/git.d.ts.map +1 -1
- package/dist/utils/git.js +50 -0
- package/dist/utils/git.js.map +1 -1
- package/hooks/hooks.json +17 -1
- package/hooks/session-start +42 -0
- package/package.json +6 -2
- package/scripts/check-prereqs.sh +12 -0
- package/scripts/e2e-graph-smoke.sh +167 -0
- package/scripts/graph-hook.mjs +151 -0
- package/scripts/migrate-specs.mjs +127 -0
- package/scripts/run-kpi-gate.mjs +245 -0
- package/scripts/sync-skills.mjs +99 -0
- package/skills/bober.code-review/SKILL.md +186 -0
- package/skills/bober.debug/SKILL.md +300 -0
- package/skills/bober.deploy/SKILL.md +262 -0
- package/skills/bober.diagnose/SKILL.md +254 -0
- package/skills/bober.graph/SKILL.md +85 -0
- package/skills/bober.impact/SKILL.md +101 -0
- package/skills/bober.incident/SKILL.md +245 -0
- package/skills/bober.onboard/SKILL.md +84 -0
- package/skills/bober.plan/SKILL.md +51 -0
- package/skills/bober.plan/references/spec-schema.md +31 -4
- package/skills/bober.postmortem/SKILL.md +231 -0
- package/skills/bober.run/SKILL.md +41 -7
- package/skills/bober.runbook/SKILL.md +335 -0
- package/skills/bober.sprint/SKILL.md +6 -259
- package/skills/bober.using-bober/SKILL.md +133 -0
- package/skills/bober.verify/SKILL.md +143 -0
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Default executor seam for the deploy module (Sprint 20).
|
|
3
|
+
*
|
|
4
|
+
* Production code uses defaultExecutor (execa wrapper).
|
|
5
|
+
* Tests inject a fake ExecutorSeam to avoid real shell execution.
|
|
6
|
+
*
|
|
7
|
+
* Every Bash command the deployer sends MUST route through this seam.
|
|
8
|
+
* The seam runs AFTER classifyCommand() approves the command — the
|
|
9
|
+
* classification gate is the caller's responsibility (see execute.ts).
|
|
10
|
+
*
|
|
11
|
+
* Pattern mirrors src/orchestrator/tools/handlers.ts:70 (execa usage).
|
|
12
|
+
*/
|
|
13
|
+
import type { ExecutorSeam } from "./types.js";
|
|
14
|
+
/**
|
|
15
|
+
* Default execa-backed executor.
|
|
16
|
+
*
|
|
17
|
+
* Runs the command via `sh -c <command>`. Captures stdout, stderr, exitCode.
|
|
18
|
+
* Does NOT reject on non-zero exit code (reject: false) — the caller in
|
|
19
|
+
* execute.ts decides whether a non-zero exit is a failure.
|
|
20
|
+
*/
|
|
21
|
+
export declare const defaultExecutor: ExecutorSeam;
|
|
22
|
+
//# sourceMappingURL=executor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../../../src/orchestrator/deploy/executor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,EAAE,YAS7B,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Default executor seam for the deploy module (Sprint 20).
|
|
3
|
+
*
|
|
4
|
+
* Production code uses defaultExecutor (execa wrapper).
|
|
5
|
+
* Tests inject a fake ExecutorSeam to avoid real shell execution.
|
|
6
|
+
*
|
|
7
|
+
* Every Bash command the deployer sends MUST route through this seam.
|
|
8
|
+
* The seam runs AFTER classifyCommand() approves the command — the
|
|
9
|
+
* classification gate is the caller's responsibility (see execute.ts).
|
|
10
|
+
*
|
|
11
|
+
* Pattern mirrors src/orchestrator/tools/handlers.ts:70 (execa usage).
|
|
12
|
+
*/
|
|
13
|
+
import { execa } from "execa";
|
|
14
|
+
/**
|
|
15
|
+
* Default execa-backed executor.
|
|
16
|
+
*
|
|
17
|
+
* Runs the command via `sh -c <command>`. Captures stdout, stderr, exitCode.
|
|
18
|
+
* Does NOT reject on non-zero exit code (reject: false) — the caller in
|
|
19
|
+
* execute.ts decides whether a non-zero exit is a failure.
|
|
20
|
+
*/
|
|
21
|
+
export const defaultExecutor = {
|
|
22
|
+
async run(command) {
|
|
23
|
+
const r = await execa("sh", ["-c", command], { reject: false });
|
|
24
|
+
return {
|
|
25
|
+
exitCode: r.exitCode ?? 1,
|
|
26
|
+
stdout: r.stdout,
|
|
27
|
+
stderr: r.stderr,
|
|
28
|
+
};
|
|
29
|
+
},
|
|
30
|
+
};
|
|
31
|
+
//# sourceMappingURL=executor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"executor.js","sourceRoot":"","sources":["../../../src/orchestrator/deploy/executor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAG9B;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,eAAe,GAAiB;IAC3C,KAAK,CAAC,GAAG,CAAC,OAAe;QACvB,MAAM,CAAC,GAAG,MAAM,KAAK,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;QAChE,OAAO;YACL,QAAQ,EAAE,CAAC,CAAC,QAAQ,IAAI,CAAC;YACzB,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,MAAM,EAAE,CAAC,CAAC,MAAM;SACjB,CAAC;IACJ,CAAC;CACF,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Public API for the deploy module (Sprint 20).
|
|
3
|
+
*
|
|
4
|
+
* Sprint 24 (/bober-incident CLI command) will import from this barrel
|
|
5
|
+
* to wire the deployer spawn with the risky-action checkpoint callback.
|
|
6
|
+
*
|
|
7
|
+
* Usage:
|
|
8
|
+
* import { executeAction, classifyCommand, resolveRiskyActionMechanismName,
|
|
9
|
+
* type ProposedAction } from "../orchestrator/deploy/index.js";
|
|
10
|
+
*
|
|
11
|
+
* Observability MCP tools are merged at spawn time via mergeObsTools() from
|
|
12
|
+
* src/orchestrator/observability/merge.ts — the same pattern used for the
|
|
13
|
+
* diagnoser agent (Sprint 16). The deployer's tool list at spawn is:
|
|
14
|
+
* [Read, Bash, Grep, Glob, ...namespacedObsTools]
|
|
15
|
+
*/
|
|
16
|
+
export { executeAction, type ExecuteActionDeps, type ExecuteActionResult } from "./execute.js";
|
|
17
|
+
export { classifyCommand } from "./classify.js";
|
|
18
|
+
export { resolveRiskyActionMechanismName, getRiskyActionMechanism, type RiskyActionConfig } from "./resolve.js";
|
|
19
|
+
export { defaultExecutor } from "./executor.js";
|
|
20
|
+
export { ProposedActionSchema, type ProposedAction, type ExecutorSeam, type DeployResult } from "./types.js";
|
|
21
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/orchestrator/deploy/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,aAAa,EAAE,KAAK,iBAAiB,EAAE,KAAK,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAC/F,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,+BAA+B,EAAE,uBAAuB,EAAE,KAAK,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAChH,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,oBAAoB,EAAE,KAAK,cAAc,EAAE,KAAK,YAAY,EAAE,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Public API for the deploy module (Sprint 20).
|
|
3
|
+
*
|
|
4
|
+
* Sprint 24 (/bober-incident CLI command) will import from this barrel
|
|
5
|
+
* to wire the deployer spawn with the risky-action checkpoint callback.
|
|
6
|
+
*
|
|
7
|
+
* Usage:
|
|
8
|
+
* import { executeAction, classifyCommand, resolveRiskyActionMechanismName,
|
|
9
|
+
* type ProposedAction } from "../orchestrator/deploy/index.js";
|
|
10
|
+
*
|
|
11
|
+
* Observability MCP tools are merged at spawn time via mergeObsTools() from
|
|
12
|
+
* src/orchestrator/observability/merge.ts — the same pattern used for the
|
|
13
|
+
* diagnoser agent (Sprint 16). The deployer's tool list at spawn is:
|
|
14
|
+
* [Read, Bash, Grep, Glob, ...namespacedObsTools]
|
|
15
|
+
*/
|
|
16
|
+
export { executeAction } from "./execute.js";
|
|
17
|
+
export { classifyCommand } from "./classify.js";
|
|
18
|
+
export { resolveRiskyActionMechanismName, getRiskyActionMechanism } from "./resolve.js";
|
|
19
|
+
export { defaultExecutor } from "./executor.js";
|
|
20
|
+
export { ProposedActionSchema } from "./types.js";
|
|
21
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/orchestrator/deploy/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,aAAa,EAAoD,MAAM,cAAc,CAAC;AAC/F,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,+BAA+B,EAAE,uBAAuB,EAA0B,MAAM,cAAc,CAAC;AAChH,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,oBAAoB,EAA6D,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Risky-action mechanism resolver (Sprint 20).
|
|
3
|
+
*
|
|
4
|
+
* Wraps the 6-tier resolver from Sprint 14 (resolveCheckpointMechanismName)
|
|
5
|
+
* with a FORCED FLOOR for risky actions:
|
|
6
|
+
*
|
|
7
|
+
* Tier 0 (Sprint 20): if isRisky && !allowAutopilotRiskyActions && resolved==='noop'
|
|
8
|
+
* → override to 'disk'.
|
|
9
|
+
*
|
|
10
|
+
* This is the unconditional gate (s20-c6): even mode='autopilot' +
|
|
11
|
+
* checkpointMechanism='noop' cannot bypass the gate for risky actions.
|
|
12
|
+
*
|
|
13
|
+
* The escape hatch (allowAutopilotRiskyActions=true) lets fully-automated
|
|
14
|
+
* environments (CI, batch jobs) skip interactive approval WHILE preserving
|
|
15
|
+
* the audit trail (ChangeEntry is always written). Document this as a footgun.
|
|
16
|
+
*/
|
|
17
|
+
import { type CheckpointMechanism, type CheckpointOverrideConfig } from "../checkpoints/index.js";
|
|
18
|
+
/**
|
|
19
|
+
* Extended config shape: pipeline.allowAutopilotRiskyActions is a Sprint 20 field.
|
|
20
|
+
* Other pipeline fields are passed through to the underlying resolver unchanged.
|
|
21
|
+
*/
|
|
22
|
+
export interface RiskyActionConfig extends CheckpointOverrideConfig {
|
|
23
|
+
pipeline?: CheckpointOverrideConfig["pipeline"] & {
|
|
24
|
+
allowAutopilotRiskyActions?: boolean;
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Pure name resolver for risky-action mechanism.
|
|
29
|
+
*
|
|
30
|
+
* Tier 0 (Sprint 20 FORCED FLOOR):
|
|
31
|
+
* if isRisky && !allowAutopilotRiskyActions && underlying resolves to 'noop'
|
|
32
|
+
* → return 'disk'.
|
|
33
|
+
*
|
|
34
|
+
* Tiers 1-6: defer to resolveCheckpointMechanismName (Sprint 14).
|
|
35
|
+
*
|
|
36
|
+
* The checkpointId is dynamic: 'risky-action-<actionId>'. Passing it through
|
|
37
|
+
* to the underlying resolver allows per-checkpoint overrides to target a specific
|
|
38
|
+
* action id (rare; not a documented feature; semantically correct).
|
|
39
|
+
*
|
|
40
|
+
* @param config - Pipeline config, may include allowAutopilotRiskyActions.
|
|
41
|
+
* @param isRisky - True when the action is classified as risky.
|
|
42
|
+
* @param actionId - Optional action id; used to form the checkpoint id.
|
|
43
|
+
*/
|
|
44
|
+
export declare function resolveRiskyActionMechanismName(config: RiskyActionConfig | undefined, isRisky: boolean, actionId?: string): string;
|
|
45
|
+
/**
|
|
46
|
+
* Impure wrapper: resolves the mechanism NAME and returns the registered
|
|
47
|
+
* CheckpointMechanism implementation. Tests may call resolveRiskyActionMechanismName
|
|
48
|
+
* directly (pure, no side effects) and assert the returned name.
|
|
49
|
+
*/
|
|
50
|
+
export declare function getRiskyActionMechanism(config: RiskyActionConfig | undefined, isRisky: boolean, actionId?: string): CheckpointMechanism;
|
|
51
|
+
//# sourceMappingURL=resolve.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolve.d.ts","sourceRoot":"","sources":["../../../src/orchestrator/deploy/resolve.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAGL,KAAK,mBAAmB,EACxB,KAAK,wBAAwB,EAC9B,MAAM,yBAAyB,CAAC;AAEjC;;;GAGG;AACH,MAAM,WAAW,iBAAkB,SAAQ,wBAAwB;IACjE,QAAQ,CAAC,EAAE,wBAAwB,CAAC,UAAU,CAAC,GAAG;QAChD,0BAA0B,CAAC,EAAE,OAAO,CAAC;KACtC,CAAC;CACH;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,+BAA+B,CAC7C,MAAM,EAAE,iBAAiB,GAAG,SAAS,EACrC,OAAO,EAAE,OAAO,EAChB,QAAQ,CAAC,EAAE,MAAM,GAChB,MAAM,CAUR;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,iBAAiB,GAAG,SAAS,EACrC,OAAO,EAAE,OAAO,EAChB,QAAQ,CAAC,EAAE,MAAM,GAChB,mBAAmB,CAErB"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Risky-action mechanism resolver (Sprint 20).
|
|
3
|
+
*
|
|
4
|
+
* Wraps the 6-tier resolver from Sprint 14 (resolveCheckpointMechanismName)
|
|
5
|
+
* with a FORCED FLOOR for risky actions:
|
|
6
|
+
*
|
|
7
|
+
* Tier 0 (Sprint 20): if isRisky && !allowAutopilotRiskyActions && resolved==='noop'
|
|
8
|
+
* → override to 'disk'.
|
|
9
|
+
*
|
|
10
|
+
* This is the unconditional gate (s20-c6): even mode='autopilot' +
|
|
11
|
+
* checkpointMechanism='noop' cannot bypass the gate for risky actions.
|
|
12
|
+
*
|
|
13
|
+
* The escape hatch (allowAutopilotRiskyActions=true) lets fully-automated
|
|
14
|
+
* environments (CI, batch jobs) skip interactive approval WHILE preserving
|
|
15
|
+
* the audit trail (ChangeEntry is always written). Document this as a footgun.
|
|
16
|
+
*/
|
|
17
|
+
import { resolveCheckpointMechanismName, getCheckpointMechanism, } from "../checkpoints/index.js";
|
|
18
|
+
/**
|
|
19
|
+
* Pure name resolver for risky-action mechanism.
|
|
20
|
+
*
|
|
21
|
+
* Tier 0 (Sprint 20 FORCED FLOOR):
|
|
22
|
+
* if isRisky && !allowAutopilotRiskyActions && underlying resolves to 'noop'
|
|
23
|
+
* → return 'disk'.
|
|
24
|
+
*
|
|
25
|
+
* Tiers 1-6: defer to resolveCheckpointMechanismName (Sprint 14).
|
|
26
|
+
*
|
|
27
|
+
* The checkpointId is dynamic: 'risky-action-<actionId>'. Passing it through
|
|
28
|
+
* to the underlying resolver allows per-checkpoint overrides to target a specific
|
|
29
|
+
* action id (rare; not a documented feature; semantically correct).
|
|
30
|
+
*
|
|
31
|
+
* @param config - Pipeline config, may include allowAutopilotRiskyActions.
|
|
32
|
+
* @param isRisky - True when the action is classified as risky.
|
|
33
|
+
* @param actionId - Optional action id; used to form the checkpoint id.
|
|
34
|
+
*/
|
|
35
|
+
export function resolveRiskyActionMechanismName(config, isRisky, actionId) {
|
|
36
|
+
const checkpointId = `risky-action-${actionId ?? "default"}`;
|
|
37
|
+
const resolved = resolveCheckpointMechanismName(checkpointId, config);
|
|
38
|
+
const allow = config?.pipeline?.allowAutopilotRiskyActions === true;
|
|
39
|
+
// Forced floor: risky + !allow + resolved==='noop' → 'disk'.
|
|
40
|
+
if (isRisky && !allow && resolved === "noop") {
|
|
41
|
+
return "disk";
|
|
42
|
+
}
|
|
43
|
+
return resolved;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Impure wrapper: resolves the mechanism NAME and returns the registered
|
|
47
|
+
* CheckpointMechanism implementation. Tests may call resolveRiskyActionMechanismName
|
|
48
|
+
* directly (pure, no side effects) and assert the returned name.
|
|
49
|
+
*/
|
|
50
|
+
export function getRiskyActionMechanism(config, isRisky, actionId) {
|
|
51
|
+
return getCheckpointMechanism(resolveRiskyActionMechanismName(config, isRisky, actionId));
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=resolve.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolve.js","sourceRoot":"","sources":["../../../src/orchestrator/deploy/resolve.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EACL,8BAA8B,EAC9B,sBAAsB,GAGvB,MAAM,yBAAyB,CAAC;AAYjC;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,+BAA+B,CAC7C,MAAqC,EACrC,OAAgB,EAChB,QAAiB;IAEjB,MAAM,YAAY,GAAG,gBAAgB,QAAQ,IAAI,SAAS,EAAE,CAAC;IAC7D,MAAM,QAAQ,GAAG,8BAA8B,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;IACtE,MAAM,KAAK,GAAG,MAAM,EAAE,QAAQ,EAAE,0BAA0B,KAAK,IAAI,CAAC;IAEpE,6DAA6D;IAC7D,IAAI,OAAO,IAAI,CAAC,KAAK,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;QAC7C,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,uBAAuB,CACrC,MAAqC,EACrC,OAAgB,EAChB,QAAiB;IAEjB,OAAO,sBAAsB,CAAC,+BAA+B,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;AAC5F,CAAC"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Deployer spawn-site integration surface (Sprint 20).
|
|
3
|
+
*
|
|
4
|
+
* Sprint 24 (/bober-incident CLI command) will call spawnDeployer() to:
|
|
5
|
+
* 1. Merge observability MCP tools (same pattern as the diagnoser — Sprint 16).
|
|
6
|
+
* 2. Load the bober-deployer agent definition.
|
|
7
|
+
* 3. Register the risky-action checkpoint callback (the gate that calls executeAction).
|
|
8
|
+
*
|
|
9
|
+
* This module exports the spawn helper and the RiskyActionCheckpointCallback type
|
|
10
|
+
* so Sprint 24 can wire without importing from internal deploy/ modules directly.
|
|
11
|
+
*
|
|
12
|
+
* Pattern:
|
|
13
|
+
* - mergeObsTools: from src/orchestrator/observability/merge.ts (Sprint 16)
|
|
14
|
+
* - loadAgentDefinition: from src/orchestrator/agent-loader.ts (Sprint 15 pattern)
|
|
15
|
+
*
|
|
16
|
+
* The deployer's tool list at spawn time:
|
|
17
|
+
* [Read, Bash, Grep, Glob, ...namespacedObsTools]
|
|
18
|
+
*
|
|
19
|
+
* The risky-action callback:
|
|
20
|
+
* Called once per ProposedAction that classifyCommand() classifies as risky.
|
|
21
|
+
* Receives the action description, classification reasoning, and inverse.
|
|
22
|
+
* Returns the checkpoint outcome (approved, rejected, or operator-edited).
|
|
23
|
+
*
|
|
24
|
+
* Sprint 24 integration point:
|
|
25
|
+
* ```typescript
|
|
26
|
+
* import { spawnDeployer } from "../orchestrator/deploy/spawn.js";
|
|
27
|
+
* const { agentDef, obsTools, stopObs } = await spawnDeployer(config, projectRoot);
|
|
28
|
+
* try {
|
|
29
|
+
* // pass agentDef + obsTools to the agentic loop
|
|
30
|
+
* } finally {
|
|
31
|
+
* await stopObs();
|
|
32
|
+
* }
|
|
33
|
+
* ```
|
|
34
|
+
*/
|
|
35
|
+
import type { AgentDefinition } from "../agent-loader.js";
|
|
36
|
+
import type { NamespacedTool } from "../observability/index.js";
|
|
37
|
+
import type { RiskyActionConfig } from "./resolve.js";
|
|
38
|
+
export interface DeployerSpawnContext {
|
|
39
|
+
/** Loaded bober-deployer agent definition (frontmatter + body). */
|
|
40
|
+
agentDef: AgentDefinition;
|
|
41
|
+
/** Observability tools merged from configured providers. Namespaced obs__<provider>__<tool>. */
|
|
42
|
+
obsTools: NamespacedTool[];
|
|
43
|
+
/** Call in finally to stop all started observability MCP servers. */
|
|
44
|
+
stopObs: () => Promise<void>;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Prepare the deployer subagent's spawn context.
|
|
48
|
+
*
|
|
49
|
+
* Mirrors the diagnoser spawn pattern (Sprint 15/16):
|
|
50
|
+
* 1. Load the agent definition from agents/bober-deployer.md.
|
|
51
|
+
* 2. Merge observability MCP tools via Promise.allSettled (partial failure safe).
|
|
52
|
+
* 3. Return the spawn context for Sprint 24 to pass into the agentic loop.
|
|
53
|
+
*
|
|
54
|
+
* The caller MUST call stopObs() in a finally block to release observability MCP processes.
|
|
55
|
+
*
|
|
56
|
+
* @param config - Pipeline config (controls allowAutopilotRiskyActions + mechanism resolution).
|
|
57
|
+
* @param projectRoot - Absolute path to the project root.
|
|
58
|
+
*/
|
|
59
|
+
export declare function spawnDeployer(config: RiskyActionConfig | undefined, projectRoot: string): Promise<DeployerSpawnContext>;
|
|
60
|
+
//# sourceMappingURL=spawn.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spawn.d.ts","sourceRoot":"","sources":["../../../src/orchestrator/deploy/spawn.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAIH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,KAAK,EAAE,cAAc,EAAqB,MAAM,2BAA2B,CAAC;AACnF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAItD,MAAM,WAAW,oBAAoB;IACnC,mEAAmE;IACnE,QAAQ,EAAE,eAAe,CAAC;IAC1B,gGAAgG;IAChG,QAAQ,EAAE,cAAc,EAAE,CAAC;IAC3B,qEAAqE;IACrE,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9B;AAID;;;;;;;;;;;;GAYG;AACH,wBAAsB,aAAa,CACjC,MAAM,EAAE,iBAAiB,GAAG,SAAS,EACrC,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,oBAAoB,CAAC,CAe/B"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Deployer spawn-site integration surface (Sprint 20).
|
|
3
|
+
*
|
|
4
|
+
* Sprint 24 (/bober-incident CLI command) will call spawnDeployer() to:
|
|
5
|
+
* 1. Merge observability MCP tools (same pattern as the diagnoser — Sprint 16).
|
|
6
|
+
* 2. Load the bober-deployer agent definition.
|
|
7
|
+
* 3. Register the risky-action checkpoint callback (the gate that calls executeAction).
|
|
8
|
+
*
|
|
9
|
+
* This module exports the spawn helper and the RiskyActionCheckpointCallback type
|
|
10
|
+
* so Sprint 24 can wire without importing from internal deploy/ modules directly.
|
|
11
|
+
*
|
|
12
|
+
* Pattern:
|
|
13
|
+
* - mergeObsTools: from src/orchestrator/observability/merge.ts (Sprint 16)
|
|
14
|
+
* - loadAgentDefinition: from src/orchestrator/agent-loader.ts (Sprint 15 pattern)
|
|
15
|
+
*
|
|
16
|
+
* The deployer's tool list at spawn time:
|
|
17
|
+
* [Read, Bash, Grep, Glob, ...namespacedObsTools]
|
|
18
|
+
*
|
|
19
|
+
* The risky-action callback:
|
|
20
|
+
* Called once per ProposedAction that classifyCommand() classifies as risky.
|
|
21
|
+
* Receives the action description, classification reasoning, and inverse.
|
|
22
|
+
* Returns the checkpoint outcome (approved, rejected, or operator-edited).
|
|
23
|
+
*
|
|
24
|
+
* Sprint 24 integration point:
|
|
25
|
+
* ```typescript
|
|
26
|
+
* import { spawnDeployer } from "../orchestrator/deploy/spawn.js";
|
|
27
|
+
* const { agentDef, obsTools, stopObs } = await spawnDeployer(config, projectRoot);
|
|
28
|
+
* try {
|
|
29
|
+
* // pass agentDef + obsTools to the agentic loop
|
|
30
|
+
* } finally {
|
|
31
|
+
* await stopObs();
|
|
32
|
+
* }
|
|
33
|
+
* ```
|
|
34
|
+
*/
|
|
35
|
+
import { mergeObsTools, stopAll } from "../observability/index.js";
|
|
36
|
+
import { loadAgentDefinition } from "../agent-loader.js";
|
|
37
|
+
// ── spawnDeployer ──────────────────────────────────────────────────────────────
|
|
38
|
+
/**
|
|
39
|
+
* Prepare the deployer subagent's spawn context.
|
|
40
|
+
*
|
|
41
|
+
* Mirrors the diagnoser spawn pattern (Sprint 15/16):
|
|
42
|
+
* 1. Load the agent definition from agents/bober-deployer.md.
|
|
43
|
+
* 2. Merge observability MCP tools via Promise.allSettled (partial failure safe).
|
|
44
|
+
* 3. Return the spawn context for Sprint 24 to pass into the agentic loop.
|
|
45
|
+
*
|
|
46
|
+
* The caller MUST call stopObs() in a finally block to release observability MCP processes.
|
|
47
|
+
*
|
|
48
|
+
* @param config - Pipeline config (controls allowAutopilotRiskyActions + mechanism resolution).
|
|
49
|
+
* @param projectRoot - Absolute path to the project root.
|
|
50
|
+
*/
|
|
51
|
+
export async function spawnDeployer(config, projectRoot) {
|
|
52
|
+
// Load agent definition in parallel with obs tool merge.
|
|
53
|
+
const [agentDef, obsResult] = await Promise.all([
|
|
54
|
+
loadAgentDefinition("bober-deployer", projectRoot),
|
|
55
|
+
mergeObsTools(config
|
|
56
|
+
?.observability?.providers ?? []),
|
|
57
|
+
]);
|
|
58
|
+
const { tools: obsTools, servers: obsServers } = obsResult;
|
|
59
|
+
const stopObs = () => stopAll(obsServers);
|
|
60
|
+
return { agentDef, obsTools, stopObs };
|
|
61
|
+
}
|
|
62
|
+
//# sourceMappingURL=spawn.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spawn.js","sourceRoot":"","sources":["../../../src/orchestrator/deploy/spawn.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAEH,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAgBzD,kFAAkF;AAElF;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,MAAqC,EACrC,WAAmB;IAEnB,yDAAyD;IACzD,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAC9C,mBAAmB,CAAC,gBAAgB,EAAE,WAAW,CAAC;QAClD,aAAa,CACV,MAA8F;YAC7F,EAAE,aAAa,EAAE,SAAS,IAAI,EAAE,CACnC;KACF,CAAC,CAAC;IAEH,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,SAAS,CAAC;IAE3D,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,UAAiC,CAAC,CAAC;IAEjE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;AACzC,CAAC"}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Type definitions for the deploy module (Sprint 20).
|
|
3
|
+
*
|
|
4
|
+
* ProposedAction — the action the deployer agent proposes for execution.
|
|
5
|
+
* ExecutorSeam — the injection seam that enables unit testing without real execa.
|
|
6
|
+
* DeployResult — the summary returned to the orchestrator after a deployer session.
|
|
7
|
+
*/
|
|
8
|
+
import { z } from "zod";
|
|
9
|
+
export declare const ProposedActionSchema: z.ZodObject<{
|
|
10
|
+
/** Unique action id within this incident session. */
|
|
11
|
+
id: z.ZodString;
|
|
12
|
+
/** Human-readable description of what the action does. */
|
|
13
|
+
description: z.ZodString;
|
|
14
|
+
/**
|
|
15
|
+
* Agent-declared blast-radius classification. This is a HINT — the executor
|
|
16
|
+
* re-classifies by command content via classifyCommand(). If the executor's
|
|
17
|
+
* classification is risky the action is treated as risky regardless of this field.
|
|
18
|
+
*/
|
|
19
|
+
classification: z.ZodEnum<["safe", "risky"]>;
|
|
20
|
+
/** One-sentence justification explaining why the classification was chosen. */
|
|
21
|
+
reasoning: z.ZodString;
|
|
22
|
+
/** Optional shell command to execute. If absent, execution is a no-op (metadata-only record). */
|
|
23
|
+
command: z.ZodOptional<z.ZodString>;
|
|
24
|
+
/**
|
|
25
|
+
* REQUIRED inverse declaration — how to undo this action.
|
|
26
|
+
* Sprint 21 rollback awareness reads this field from every ChangeEntry; it must
|
|
27
|
+
* be present BEFORE execution starts (not added retroactively).
|
|
28
|
+
*/
|
|
29
|
+
inverse: z.ZodObject<{
|
|
30
|
+
description: z.ZodString;
|
|
31
|
+
command: z.ZodOptional<z.ZodString>;
|
|
32
|
+
}, "strip", z.ZodTypeAny, {
|
|
33
|
+
description: string;
|
|
34
|
+
command?: string | undefined;
|
|
35
|
+
}, {
|
|
36
|
+
description: string;
|
|
37
|
+
command?: string | undefined;
|
|
38
|
+
}>;
|
|
39
|
+
/** Optional shell command to verify preconditions BEFORE execution. */
|
|
40
|
+
preconditionCheck: z.ZodOptional<z.ZodString>;
|
|
41
|
+
/** Optional shell command to verify postconditions AFTER execution. */
|
|
42
|
+
postconditionCheck: z.ZodOptional<z.ZodString>;
|
|
43
|
+
}, "strip", z.ZodTypeAny, {
|
|
44
|
+
description: string;
|
|
45
|
+
id: string;
|
|
46
|
+
inverse: {
|
|
47
|
+
description: string;
|
|
48
|
+
command?: string | undefined;
|
|
49
|
+
};
|
|
50
|
+
classification: "safe" | "risky";
|
|
51
|
+
reasoning: string;
|
|
52
|
+
command?: string | undefined;
|
|
53
|
+
preconditionCheck?: string | undefined;
|
|
54
|
+
postconditionCheck?: string | undefined;
|
|
55
|
+
}, {
|
|
56
|
+
description: string;
|
|
57
|
+
id: string;
|
|
58
|
+
inverse: {
|
|
59
|
+
description: string;
|
|
60
|
+
command?: string | undefined;
|
|
61
|
+
};
|
|
62
|
+
classification: "safe" | "risky";
|
|
63
|
+
reasoning: string;
|
|
64
|
+
command?: string | undefined;
|
|
65
|
+
preconditionCheck?: string | undefined;
|
|
66
|
+
postconditionCheck?: string | undefined;
|
|
67
|
+
}>;
|
|
68
|
+
export type ProposedAction = z.infer<typeof ProposedActionSchema>;
|
|
69
|
+
/**
|
|
70
|
+
* Injection seam for command execution.
|
|
71
|
+
*
|
|
72
|
+
* Tests pass a fake executor that captures calls without side effects.
|
|
73
|
+
* Production code uses defaultExecutor (execa wrapper in executor.ts).
|
|
74
|
+
*
|
|
75
|
+
* Every Bash command the deployer runs MUST go through this seam —
|
|
76
|
+
* classifyCommand() runs on the command string BEFORE the seam is called.
|
|
77
|
+
*/
|
|
78
|
+
export interface ExecutorSeam {
|
|
79
|
+
run(command: string): Promise<{
|
|
80
|
+
exitCode: number;
|
|
81
|
+
stdout: string;
|
|
82
|
+
stderr: string;
|
|
83
|
+
}>;
|
|
84
|
+
}
|
|
85
|
+
export interface DeployResult {
|
|
86
|
+
incidentId: string;
|
|
87
|
+
executed: Array<{
|
|
88
|
+
actionId: string;
|
|
89
|
+
status: "executed" | "failed";
|
|
90
|
+
durationMs: number;
|
|
91
|
+
error?: string;
|
|
92
|
+
}>;
|
|
93
|
+
aborted: Array<{
|
|
94
|
+
actionId: string;
|
|
95
|
+
reason: "checkpoint_rejected" | "precondition_failed" | "missing_inverse" | "postcondition_failed";
|
|
96
|
+
}>;
|
|
97
|
+
}
|
|
98
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/orchestrator/deploy/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,oBAAoB;IAC/B,qDAAqD;;IAErD,0DAA0D;;IAE1D;;;;OAIG;;IAEH,+EAA+E;;IAE/E,iGAAiG;;IAEjG;;;;OAIG;;;;;;;;;;;IAKH,uEAAuE;;IAEvE,uEAAuE;;;;;;;;;;;;;;;;;;;;;;;;;;EAEvE,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAIlE;;;;;;;;GAQG;AACH,MAAM,WAAW,YAAY;IAC3B,GAAG,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACrF;AAID,MAAM,WAAW,YAAY;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,KAAK,CAAC;QACd,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,EAAE,UAAU,GAAG,QAAQ,CAAC;QAC9B,UAAU,EAAE,MAAM,CAAC;QACnB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC,CAAC;IACH,OAAO,EAAE,KAAK,CAAC;QACb,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,EAAE,qBAAqB,GAAG,qBAAqB,GAAG,iBAAiB,GAAG,sBAAsB,CAAC;KACpG,CAAC,CAAC;CACJ"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Type definitions for the deploy module (Sprint 20).
|
|
3
|
+
*
|
|
4
|
+
* ProposedAction — the action the deployer agent proposes for execution.
|
|
5
|
+
* ExecutorSeam — the injection seam that enables unit testing without real execa.
|
|
6
|
+
* DeployResult — the summary returned to the orchestrator after a deployer session.
|
|
7
|
+
*/
|
|
8
|
+
import { z } from "zod";
|
|
9
|
+
// ── ProposedAction ─────────────────────────────────────────────────────────────
|
|
10
|
+
export const ProposedActionSchema = z.object({
|
|
11
|
+
/** Unique action id within this incident session. */
|
|
12
|
+
id: z.string().min(1),
|
|
13
|
+
/** Human-readable description of what the action does. */
|
|
14
|
+
description: z.string().min(1),
|
|
15
|
+
/**
|
|
16
|
+
* Agent-declared blast-radius classification. This is a HINT — the executor
|
|
17
|
+
* re-classifies by command content via classifyCommand(). If the executor's
|
|
18
|
+
* classification is risky the action is treated as risky regardless of this field.
|
|
19
|
+
*/
|
|
20
|
+
classification: z.enum(["safe", "risky"]),
|
|
21
|
+
/** One-sentence justification explaining why the classification was chosen. */
|
|
22
|
+
reasoning: z.string().min(1),
|
|
23
|
+
/** Optional shell command to execute. If absent, execution is a no-op (metadata-only record). */
|
|
24
|
+
command: z.string().optional(),
|
|
25
|
+
/**
|
|
26
|
+
* REQUIRED inverse declaration — how to undo this action.
|
|
27
|
+
* Sprint 21 rollback awareness reads this field from every ChangeEntry; it must
|
|
28
|
+
* be present BEFORE execution starts (not added retroactively).
|
|
29
|
+
*/
|
|
30
|
+
inverse: z.object({
|
|
31
|
+
description: z.string().min(1),
|
|
32
|
+
command: z.string().optional(),
|
|
33
|
+
}),
|
|
34
|
+
/** Optional shell command to verify preconditions BEFORE execution. */
|
|
35
|
+
preconditionCheck: z.string().optional(),
|
|
36
|
+
/** Optional shell command to verify postconditions AFTER execution. */
|
|
37
|
+
postconditionCheck: z.string().optional(),
|
|
38
|
+
});
|
|
39
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/orchestrator/deploy/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,kFAAkF;AAElF,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,qDAAqD;IACrD,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACrB,0DAA0D;IAC1D,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9B;;;;OAIG;IACH,cAAc,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACzC,+EAA+E;IAC/E,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5B,iGAAiG;IACjG,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC9B;;;;OAIG;IACH,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC;QAChB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;QAC9B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KAC/B,CAAC;IACF,uEAAuE;IACvE,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACxC,uEAAuE;IACvE,kBAAkB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC1C,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"evaluator-agent.d.ts","sourceRoot":"","sources":["../../src/orchestrator/evaluator-agent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAO3D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"evaluator-agent.d.ts","sourceRoot":"","sources":["../../src/orchestrator/evaluator-agent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAO3D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAYrE,YAAY,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAQrE;;;;;;;;;;;GAWG;AACH,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,cAAc,EACvB,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,WAAW,GAClB,OAAO,CAAC,mBAAmB,CAAC,CA8E9B"}
|
|
@@ -4,9 +4,12 @@ import { createClient } from "../providers/factory.js";
|
|
|
4
4
|
import { getChangedFiles } from "../utils/git.js";
|
|
5
5
|
import { logger } from "../utils/logger.js";
|
|
6
6
|
import { resolveModel } from "./model-resolver.js";
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
7
|
+
import { assembleSystemPrompt } from "./agent-loader.js";
|
|
8
|
+
import { resolveRoleTools, getGraphState, getGraphDeps } from "./tools/index.js";
|
|
9
9
|
import { runAgenticLoop } from "./agentic-loop.js";
|
|
10
|
+
import { PreflightContextInjector } from "../graph/preflight-injector.js";
|
|
11
|
+
import { graphPipelineLifecycle } from "../graph/pipeline-lifecycle.js";
|
|
12
|
+
import { emit } from "../telemetry/emit.js";
|
|
10
13
|
// ── Constants ──────────────────────────────────────────────────────
|
|
11
14
|
const EVALUATOR_MAX_TURNS = 25;
|
|
12
15
|
// ── Main ───────────────────────────────────────────────────────────
|
|
@@ -27,8 +30,10 @@ export async function runEvaluatorAgent(handoff, projectRoot, config) {
|
|
|
27
30
|
if (!contract) {
|
|
28
31
|
throw new Error("No current contract in handoff for evaluation.");
|
|
29
32
|
}
|
|
30
|
-
const sprintId = contract.
|
|
31
|
-
logger.sprint(sprintId, `Evaluating: ${contract.
|
|
33
|
+
const sprintId = contract.contractId;
|
|
34
|
+
logger.sprint(sprintId, `Evaluating: ${contract.title}`);
|
|
35
|
+
// Sprint 28 — telemetry: emit agent-spawn at entry (fire-and-forget)
|
|
36
|
+
void emit(projectRoot, config, "agent-spawn", { agentName: "evaluator", contractId: sprintId });
|
|
32
37
|
// 1. Programmatic evaluation — run registered evaluator plugins
|
|
33
38
|
logger.info("Running programmatic evaluations...");
|
|
34
39
|
const registry = await createDefaultRegistry(config);
|
|
@@ -84,11 +89,14 @@ export async function runEvaluatorAgent(handoff, projectRoot, config) {
|
|
|
84
89
|
async function runAgentEvaluation(handoff, programmaticResults, projectRoot, config) {
|
|
85
90
|
const timestamp = new Date().toISOString();
|
|
86
91
|
try {
|
|
87
|
-
// Load agent definition (system prompt from .md file)
|
|
88
|
-
const agentDef = await loadAgentDefinition("bober-evaluator", projectRoot);
|
|
89
92
|
const model = resolveModel(config.evaluator.model);
|
|
90
|
-
// Build tool set (evaluator: bash, read_file, glob, grep — NO write/edit)
|
|
91
|
-
|
|
93
|
+
// Build tool set (evaluator: bash, read_file, glob, grep — NO write/edit).
|
|
94
|
+
// UNION mode when gated: all original tools retained AND graph_* tools added.
|
|
95
|
+
const graphState = getGraphState(config);
|
|
96
|
+
const graphDeps = graphState.engineHealth === "ready" ? getGraphDeps() : undefined;
|
|
97
|
+
const toolSet = resolveRoleTools("evaluator", projectRoot, graphState, graphDeps ?? undefined);
|
|
98
|
+
// Assemble system prompt with graph-prompt decoration (ADR-5, Sprint 7).
|
|
99
|
+
const systemPrompt = await assembleSystemPrompt("evaluator", "bober-evaluator", projectRoot, graphState);
|
|
92
100
|
const client = createClient(config.evaluator.provider ?? null, config.evaluator.endpoint ?? null, config.evaluator.providerConfig, config.evaluator.model);
|
|
93
101
|
const handoffJson = serializeHandoff(handoff);
|
|
94
102
|
// Format programmatic results for context
|
|
@@ -150,12 +158,17 @@ Your final response must contain ONLY a JSON object matching this schema (no mar
|
|
|
150
158
|
"feedback": "Actionable feedback for the generator if anything needs fixing",
|
|
151
159
|
"timestamp": "${timestamp}"
|
|
152
160
|
}`;
|
|
161
|
+
// Pre-flight graph context injection (ADR-9): prepend graph context to userMessage.
|
|
162
|
+
// On failure or timeout, userMessage is returned unchanged (spawn not blocked).
|
|
163
|
+
const graphClient = graphPipelineLifecycle.getGraphClient();
|
|
164
|
+
const preflightInjector = new PreflightContextInjector(graphClient, config.graph);
|
|
165
|
+
const enhancedMessage = await preflightInjector.inject("evaluator", handoff.currentContract ?? null, userMessage, { baselineSha: "HEAD~1" });
|
|
153
166
|
logger.info(`Calling evaluator model (${config.evaluator.model} → ${model})...`);
|
|
154
167
|
const result = await runAgenticLoop({
|
|
155
168
|
client,
|
|
156
169
|
model,
|
|
157
|
-
systemPrompt
|
|
158
|
-
userMessage,
|
|
170
|
+
systemPrompt,
|
|
171
|
+
userMessage: enhancedMessage,
|
|
159
172
|
tools: toolSet.schemas,
|
|
160
173
|
toolHandlers: toolSet.handlers,
|
|
161
174
|
maxTurns: EVALUATOR_MAX_TURNS,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"evaluator-agent.js","sourceRoot":"","sources":["../../src/orchestrator/evaluator-agent.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAExD,OAAO,EACL,qBAAqB,EACrB,aAAa,GACd,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"evaluator-agent.js","sourceRoot":"","sources":["../../src/orchestrator/evaluator-agent.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generator-agent.d.ts","sourceRoot":"","sources":["../../src/orchestrator/generator-agent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"generator-agent.d.ts","sourceRoot":"","sources":["../../src/orchestrator/generator-agent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAc3D,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,yCAAyC;IACzC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,sCAAsC;IACtC,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,mBAAmB;IACnB,KAAK,CAAC,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,CAAC;CACvD;AAID;;;;;;;;GAQG;AACH,wBAAsB,YAAY,CAChC,OAAO,EAAE,cAAc,EACvB,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,WAAW,GAClB,OAAO,CAAC,eAAe,CAAC,CAgG1B"}
|