agent-bober 0.12.0 → 0.17.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/.claude-plugin/marketplace.json +20 -0
- package/.claude-plugin/plugin.json +2 -2
- package/CHANGELOG.md +243 -0
- package/README.md +238 -5
- package/agents/bober-architect.md +72 -0
- package/agents/bober-code-reviewer.md +238 -0
- package/agents/bober-curator.md +49 -0
- package/agents/bober-deployer.md +267 -0
- package/agents/bober-diagnoser.md +289 -0
- package/agents/bober-documenter.md +129 -0
- package/agents/bober-evaluator.md +135 -1
- package/agents/bober-generator.md +80 -3
- package/agents/bober-planner.md +47 -1
- 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/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 +40 -1
- 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/memory.d.ts +14 -0
- package/dist/cli/commands/memory.d.ts.map +1 -0
- package/dist/cli/commands/memory.js +132 -0
- package/dist/cli/commands/memory.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/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 +29 -0
- package/dist/cli/commands/run.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 +56 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/config/defaults.d.ts.map +1 -1
- package/dist/config/defaults.js +41 -3
- 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 +25 -1
- package/dist/config/loader.js.map +1 -1
- package/dist/config/role-providers.d.ts +29 -0
- package/dist/config/role-providers.d.ts.map +1 -0
- package/dist/config/role-providers.js +115 -0
- package/dist/config/role-providers.js.map +1 -0
- package/dist/config/schema.d.ts +1350 -61
- package/dist/config/schema.d.ts.map +1 -1
- package/dist/config/schema.js +189 -0
- package/dist/config/schema.js.map +1 -1
- package/dist/contracts/eval-result.d.ts +112 -56
- package/dist/contracts/eval-result.d.ts.map +1 -1
- package/dist/contracts/eval-result.js +3 -0
- package/dist/contracts/eval-result.js.map +1 -1
- package/dist/contracts/sprint-contract.d.ts +30 -30
- package/dist/fleet/aggregator.d.ts +5 -0
- package/dist/fleet/aggregator.d.ts.map +1 -0
- package/dist/fleet/aggregator.js +39 -0
- package/dist/fleet/aggregator.js.map +1 -0
- package/dist/fleet/child-config.d.ts +12 -0
- package/dist/fleet/child-config.d.ts.map +1 -0
- package/dist/fleet/child-config.js +38 -0
- package/dist/fleet/child-config.js.map +1 -0
- package/dist/fleet/coordinator.d.ts +25 -0
- package/dist/fleet/coordinator.d.ts.map +1 -0
- package/dist/fleet/coordinator.js +40 -0
- package/dist/fleet/coordinator.js.map +1 -0
- package/dist/fleet/index.d.ts +40 -0
- package/dist/fleet/index.d.ts.map +1 -0
- package/dist/fleet/index.js +117 -0
- package/dist/fleet/index.js.map +1 -0
- package/dist/fleet/manifest.d.ts +51 -0
- package/dist/fleet/manifest.d.ts.map +1 -0
- package/dist/fleet/manifest.js +32 -0
- package/dist/fleet/manifest.js.map +1 -0
- package/dist/fleet/reporter.d.ts +32 -0
- package/dist/fleet/reporter.d.ts.map +1 -0
- package/dist/fleet/reporter.js +71 -0
- package/dist/fleet/reporter.js.map +1 -0
- package/dist/fleet/runner.d.ts +48 -0
- package/dist/fleet/runner.d.ts.map +1 -0
- package/dist/fleet/runner.js +104 -0
- package/dist/fleet/runner.js.map +1 -0
- package/dist/fleet/scaffolder.d.ts +12 -0
- package/dist/fleet/scaffolder.d.ts.map +1 -0
- package/dist/fleet/scaffolder.js +82 -0
- package/dist/fleet/scaffolder.js.map +1 -0
- package/dist/fleet/types.d.ts +21 -0
- package/dist/fleet/types.d.ts.map +1 -0
- package/dist/fleet/types.js +2 -0
- package/dist/fleet/types.js.map +1 -0
- 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 +53 -0
- package/dist/graph/cli.d.ts.map +1 -0
- package/dist/graph/cli.js +181 -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 +95 -0
- package/dist/graph/pipeline-lifecycle.d.ts.map +1 -0
- package/dist/graph/pipeline-lifecycle.js +341 -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 +130 -0
- package/dist/graph/preflight-injector.d.ts.map +1 -0
- package/dist/graph/preflight-injector.js +618 -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 +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- 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/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/init.d.ts.map +1 -1
- package/dist/mcp/tools/init.js +2 -0
- package/dist/mcp/tools/init.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/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/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 +30 -0
- package/dist/orchestrator/agent-loader.js.map +1 -1
- package/dist/orchestrator/agentic-loop.d.ts +51 -0
- package/dist/orchestrator/agentic-loop.d.ts.map +1 -1
- package/dist/orchestrator/agentic-loop.js +123 -4
- package/dist/orchestrator/agentic-loop.js.map +1 -1
- package/dist/orchestrator/arch-lenses.d.ts +7 -0
- package/dist/orchestrator/arch-lenses.d.ts.map +1 -0
- package/dist/orchestrator/arch-lenses.js +22 -0
- package/dist/orchestrator/arch-lenses.js.map +1 -0
- package/dist/orchestrator/architect-agent.d.ts +16 -0
- package/dist/orchestrator/architect-agent.d.ts.map +1 -1
- package/dist/orchestrator/architect-agent.js +546 -9
- 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/curator-agent.d.ts.map +1 -1
- package/dist/orchestrator/curator-agent.js +60 -9
- 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/documenter-agent.d.ts +57 -0
- package/dist/orchestrator/documenter-agent.d.ts.map +1 -0
- package/dist/orchestrator/documenter-agent.js +195 -0
- package/dist/orchestrator/documenter-agent.js.map +1 -0
- package/dist/orchestrator/environment.d.ts +45 -0
- package/dist/orchestrator/environment.d.ts.map +1 -0
- package/dist/orchestrator/environment.js +151 -0
- package/dist/orchestrator/environment.js.map +1 -0
- package/dist/orchestrator/eval-lenses.d.ts +7 -0
- package/dist/orchestrator/eval-lenses.d.ts.map +1 -0
- package/dist/orchestrator/eval-lenses.js +19 -0
- package/dist/orchestrator/eval-lenses.js.map +1 -0
- package/dist/orchestrator/eval-persist.d.ts +25 -0
- package/dist/orchestrator/eval-persist.d.ts.map +1 -0
- package/dist/orchestrator/eval-persist.js +74 -0
- package/dist/orchestrator/eval-persist.js.map +1 -0
- package/dist/orchestrator/evaluator-agent.d.ts +23 -0
- package/dist/orchestrator/evaluator-agent.d.ts.map +1 -1
- package/dist/orchestrator/evaluator-agent.js +80 -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 +53 -8
- package/dist/orchestrator/generator-agent.js.map +1 -1
- package/dist/orchestrator/memory/distill.d.ts +60 -0
- package/dist/orchestrator/memory/distill.d.ts.map +1 -0
- package/dist/orchestrator/memory/distill.js +177 -0
- package/dist/orchestrator/memory/distill.js.map +1 -0
- package/dist/orchestrator/memory/eval-source.d.ts +20 -0
- package/dist/orchestrator/memory/eval-source.d.ts.map +1 -0
- package/dist/orchestrator/memory/eval-source.js +88 -0
- package/dist/orchestrator/memory/eval-source.js.map +1 -0
- package/dist/orchestrator/memory/retrieve.d.ts +45 -0
- package/dist/orchestrator/memory/retrieve.d.ts.map +1 -0
- package/dist/orchestrator/memory/retrieve.js +102 -0
- package/dist/orchestrator/memory/retrieve.js.map +1 -0
- package/dist/orchestrator/model-resolver.d.ts.map +1 -1
- package/dist/orchestrator/model-resolver.js +15 -1
- 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 +31 -0
- package/dist/orchestrator/pipeline.d.ts.map +1 -1
- package/dist/orchestrator/pipeline.js +267 -5
- package/dist/orchestrator/pipeline.js.map +1 -1
- package/dist/orchestrator/planner-agent.d.ts +22 -1
- package/dist/orchestrator/planner-agent.d.ts.map +1 -1
- package/dist/orchestrator/planner-agent.js +165 -8
- 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 +48 -11
- package/dist/orchestrator/research-agent.js.map +1 -1
- package/dist/orchestrator/tools/handlers.d.ts +16 -0
- package/dist/orchestrator/tools/handlers.d.ts.map +1 -1
- package/dist/orchestrator/tools/handlers.js +30 -5
- 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/tools/schemas.js +5 -5
- package/dist/orchestrator/tools/schemas.js.map +1 -1
- package/dist/orchestrator/workflow/args-builder.d.ts +35 -0
- package/dist/orchestrator/workflow/args-builder.d.ts.map +1 -0
- package/dist/orchestrator/workflow/args-builder.js +142 -0
- package/dist/orchestrator/workflow/args-builder.js.map +1 -0
- package/dist/orchestrator/workflow/budget.d.ts +57 -0
- package/dist/orchestrator/workflow/budget.d.ts.map +1 -0
- package/dist/orchestrator/workflow/budget.js +80 -0
- package/dist/orchestrator/workflow/budget.js.map +1 -0
- package/dist/orchestrator/workflow/conformance.d.ts +27 -0
- package/dist/orchestrator/workflow/conformance.d.ts.map +1 -0
- package/dist/orchestrator/workflow/conformance.js +111 -0
- package/dist/orchestrator/workflow/conformance.js.map +1 -0
- package/dist/orchestrator/workflow/eligibility.d.ts +8 -0
- package/dist/orchestrator/workflow/eligibility.d.ts.map +1 -0
- package/dist/orchestrator/workflow/eligibility.js +10 -0
- package/dist/orchestrator/workflow/eligibility.js.map +1 -0
- package/dist/orchestrator/workflow/engine.d.ts +10 -0
- package/dist/orchestrator/workflow/engine.d.ts.map +1 -0
- package/dist/orchestrator/workflow/engine.js +2 -0
- package/dist/orchestrator/workflow/engine.js.map +1 -0
- package/dist/orchestrator/workflow/errors.d.ts +13 -0
- package/dist/orchestrator/workflow/errors.d.ts.map +1 -0
- package/dist/orchestrator/workflow/errors.js +26 -0
- package/dist/orchestrator/workflow/errors.js.map +1 -0
- package/dist/orchestrator/workflow/flusher.d.ts +19 -0
- package/dist/orchestrator/workflow/flusher.d.ts.map +1 -0
- package/dist/orchestrator/workflow/flusher.js +81 -0
- package/dist/orchestrator/workflow/flusher.js.map +1 -0
- package/dist/orchestrator/workflow/interpreter.d.ts +48 -0
- package/dist/orchestrator/workflow/interpreter.d.ts.map +1 -0
- package/dist/orchestrator/workflow/interpreter.js +92 -0
- package/dist/orchestrator/workflow/interpreter.js.map +1 -0
- package/dist/orchestrator/workflow/pure-sprint.d.ts +65 -0
- package/dist/orchestrator/workflow/pure-sprint.d.ts.map +1 -0
- package/dist/orchestrator/workflow/pure-sprint.js +82 -0
- package/dist/orchestrator/workflow/pure-sprint.js.map +1 -0
- package/dist/orchestrator/workflow/reconciler.d.ts +15 -0
- package/dist/orchestrator/workflow/reconciler.d.ts.map +1 -0
- package/dist/orchestrator/workflow/reconciler.js +65 -0
- package/dist/orchestrator/workflow/reconciler.js.map +1 -0
- package/dist/orchestrator/workflow/resume-cursor.d.ts +10 -0
- package/dist/orchestrator/workflow/resume-cursor.d.ts.map +1 -0
- package/dist/orchestrator/workflow/resume-cursor.js +25 -0
- package/dist/orchestrator/workflow/resume-cursor.js.map +1 -0
- package/dist/orchestrator/workflow/retry.d.ts +50 -0
- package/dist/orchestrator/workflow/retry.d.ts.map +1 -0
- package/dist/orchestrator/workflow/retry.js +100 -0
- package/dist/orchestrator/workflow/retry.js.map +1 -0
- package/dist/orchestrator/workflow/scheduler.d.ts +87 -0
- package/dist/orchestrator/workflow/scheduler.d.ts.map +1 -0
- package/dist/orchestrator/workflow/scheduler.js +158 -0
- package/dist/orchestrator/workflow/scheduler.js.map +1 -0
- package/dist/orchestrator/workflow/selector.d.ts +26 -0
- package/dist/orchestrator/workflow/selector.d.ts.map +1 -0
- package/dist/orchestrator/workflow/selector.js +54 -0
- package/dist/orchestrator/workflow/selector.js.map +1 -0
- package/dist/orchestrator/workflow/synthesizer.d.ts +52 -0
- package/dist/orchestrator/workflow/synthesizer.d.ts.map +1 -0
- package/dist/orchestrator/workflow/synthesizer.js +75 -0
- package/dist/orchestrator/workflow/synthesizer.js.map +1 -0
- package/dist/orchestrator/workflow/ts-engine.d.ts +13 -0
- package/dist/orchestrator/workflow/ts-engine.d.ts.map +1 -0
- package/dist/orchestrator/workflow/ts-engine.js +14 -0
- package/dist/orchestrator/workflow/ts-engine.js.map +1 -0
- package/dist/orchestrator/workflow/types.d.ts +55 -0
- package/dist/orchestrator/workflow/types.d.ts.map +1 -0
- package/dist/orchestrator/workflow/types.js +3 -0
- package/dist/orchestrator/workflow/types.js.map +1 -0
- package/dist/orchestrator/workflow/workflow-engine.d.ts +31 -0
- package/dist/orchestrator/workflow/workflow-engine.d.ts.map +1 -0
- package/dist/orchestrator/workflow/workflow-engine.js +70 -0
- package/dist/orchestrator/workflow/workflow-engine.js.map +1 -0
- 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 +135 -11
- package/dist/providers/anthropic.js.map +1 -1
- package/dist/providers/claude-code.d.ts +44 -0
- package/dist/providers/claude-code.d.ts.map +1 -0
- package/dist/providers/claude-code.js +143 -0
- package/dist/providers/claude-code.js.map +1 -0
- package/dist/providers/factory.d.ts +16 -2
- package/dist/providers/factory.d.ts.map +1 -1
- package/dist/providers/factory.js +101 -14
- package/dist/providers/factory.js.map +1 -1
- package/dist/providers/google.d.ts.map +1 -1
- package/dist/providers/google.js +32 -3
- package/dist/providers/google.js.map +1 -1
- package/dist/providers/index.d.ts +4 -2
- package/dist/providers/index.d.ts.map +1 -1
- package/dist/providers/index.js +3 -1
- package/dist/providers/index.js.map +1 -1
- package/dist/providers/openai.d.ts.map +1 -1
- package/dist/providers/openai.js +28 -3
- package/dist/providers/openai.js.map +1 -1
- package/dist/providers/preflight.d.ts +22 -0
- package/dist/providers/preflight.d.ts.map +1 -0
- package/dist/providers/preflight.js +54 -0
- package/dist/providers/preflight.js.map +1 -0
- package/dist/providers/structured.d.ts +130 -0
- package/dist/providers/structured.d.ts.map +1 -0
- package/dist/providers/structured.js +205 -0
- package/dist/providers/structured.js.map +1 -0
- package/dist/providers/types.d.ts +53 -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-rotation.d.ts +17 -0
- package/dist/state/history-rotation.d.ts.map +1 -0
- package/dist/state/history-rotation.js +84 -0
- package/dist/state/history-rotation.js.map +1 -0
- package/dist/state/history.d.ts +16 -4
- package/dist/state/history.d.ts.map +1 -1
- package/dist/state/history.js +62 -20
- package/dist/state/history.js.map +1 -1
- package/dist/state/index.d.ts +4 -1
- package/dist/state/index.d.ts.map +1 -1
- package/dist/state/index.js +5 -2
- package/dist/state/index.js.map +1 -1
- package/dist/state/memory.d.ts +60 -0
- package/dist/state/memory.d.ts.map +1 -0
- package/dist/state/memory.js +242 -0
- package/dist/state/memory.js.map +1 -0
- 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/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 +27 -1
- package/hooks/session-start +42 -0
- package/package.json +13 -6
- package/scripts/check-prereqs.sh +12 -0
- package/scripts/e2e-graph-smoke.sh +167 -0
- package/scripts/graph-hook.mjs +151 -0
- package/scripts/run-kpi-gate.mjs +245 -0
- package/scripts/spike-claude-code-provider.mjs +66 -0
- package/scripts/spike-deepseek.mjs +63 -0
- package/scripts/sync-skills.mjs +4 -1
- package/scripts/sync-targets.json +12 -0
- package/scripts/update-all.mjs +255 -0
- package/skills/bober.architect/SKILL.md +13 -0
- package/skills/bober.architect/references/arch-lens-panel.md +126 -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.eval/SKILL.md +9 -0
- package/skills/bober.eval/references/lens-panel.md +115 -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 +16 -0
- package/skills/bober.postmortem/SKILL.md +231 -0
- package/skills/bober.run/SKILL.md +23 -4
- package/skills/bober.run/references/lens-panel.md +115 -0
- package/skills/bober.runbook/SKILL.md +335 -0
- package/skills/bober.sprint/SKILL.md +44 -2
- package/skills/bober.sprint/references/lens-panel.md +115 -0
- package/skills/bober.using-bober/SKILL.md +133 -0
- package/skills/bober.verify/SKILL.md +143 -0
- package/skills/shared/arch-lens-panel.md +126 -0
- package/skills/shared/lens-panel.md +115 -0
|
@@ -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
|
+
classification: "safe" | "risky";
|
|
47
|
+
inverse: {
|
|
48
|
+
description: string;
|
|
49
|
+
command?: string | undefined;
|
|
50
|
+
};
|
|
51
|
+
reasoning: string;
|
|
52
|
+
command?: string | undefined;
|
|
53
|
+
preconditionCheck?: string | undefined;
|
|
54
|
+
postconditionCheck?: string | undefined;
|
|
55
|
+
}, {
|
|
56
|
+
description: string;
|
|
57
|
+
id: string;
|
|
58
|
+
classification: "safe" | "risky";
|
|
59
|
+
inverse: {
|
|
60
|
+
description: string;
|
|
61
|
+
command?: string | undefined;
|
|
62
|
+
};
|
|
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"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import type { BoberConfig } from "../config/schema.js";
|
|
2
|
+
import type { SprintContract } from "../contracts/sprint-contract.js";
|
|
3
|
+
import type { EvaluationRunResult } from "../evaluators/registry.js";
|
|
4
|
+
import type { GeneratorResult } from "./generator-agent.js";
|
|
5
|
+
/** One existing doc the documenter updated because the sprint made it stale. */
|
|
6
|
+
export interface RelatedDocUpdate {
|
|
7
|
+
path: string;
|
|
8
|
+
reason: string;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* The structured result emitted by the bober-documenter subagent.
|
|
12
|
+
*/
|
|
13
|
+
export interface DocumentationResult {
|
|
14
|
+
contractId: string;
|
|
15
|
+
/** Path to the per-sprint record the documenter wrote. */
|
|
16
|
+
sprintDocPath: string;
|
|
17
|
+
/** Existing docs the documenter updated. */
|
|
18
|
+
relatedDocsUpdated: RelatedDocUpdate[];
|
|
19
|
+
/** The docs-only commit the documenter made, if any. */
|
|
20
|
+
docsCommit?: string;
|
|
21
|
+
/** Code/doc issues the documenter noticed but did NOT fix (it must not touch code). */
|
|
22
|
+
concerns: string[];
|
|
23
|
+
summary: string;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Run the bober-documenter subagent to write per-sprint documentation.
|
|
27
|
+
*
|
|
28
|
+
* Runs AFTER the evaluator returns passed=true and the sprint is committed.
|
|
29
|
+
* The documenter writes a focused record of what the sprint built to
|
|
30
|
+
* `docs/sprints/<contractId>.md`, finds & updates related existing docs that
|
|
31
|
+
* the change made stale, and commits ONLY the doc files. It must NOT modify
|
|
32
|
+
* application code or tests — the sprint already passed evaluation.
|
|
33
|
+
*
|
|
34
|
+
* Documentation is advisory: a documenter failure never downgrades the
|
|
35
|
+
* already-passed sprint (see the caller in pipeline.ts).
|
|
36
|
+
*
|
|
37
|
+
* The documenter reuses the "generator" role's write-tool surface (bash,
|
|
38
|
+
* read/write/edit files, glob, grep) — mirroring how runCodeReviewer reuses
|
|
39
|
+
* the "evaluator" role rather than introducing a distinct AgentRole.
|
|
40
|
+
*
|
|
41
|
+
* @param contract The sprint contract that just passed.
|
|
42
|
+
* @param evaluation The evaluation result (passed=true).
|
|
43
|
+
* @param generatorResult The generator's result — the authoritative list of
|
|
44
|
+
* what changed in this sprint.
|
|
45
|
+
* @param projectRoot Absolute path to the project root.
|
|
46
|
+
* @param config The resolved bober configuration.
|
|
47
|
+
* @returns A DocumentationResult with the docs written and updated.
|
|
48
|
+
*/
|
|
49
|
+
export declare function runDocumenter(contract: SprintContract, evaluation: EvaluationRunResult, generatorResult: GeneratorResult | undefined, projectRoot: string, config: BoberConfig): Promise<DocumentationResult>;
|
|
50
|
+
/**
|
|
51
|
+
* Parse the documenter's response into a DocumentationResult.
|
|
52
|
+
* Mirrors the resilient JSON-parsing pattern from code-reviewer-agent.ts.
|
|
53
|
+
*
|
|
54
|
+
* Exported for direct unit testing.
|
|
55
|
+
*/
|
|
56
|
+
export declare function parseDocumentationResult(text: string, contractId: string, defaultSprintDocPath: string): DocumentationResult;
|
|
57
|
+
//# sourceMappingURL=documenter-agent.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"documenter-agent.d.ts","sourceRoot":"","sources":["../../src/orchestrator/documenter-agent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAU5D,gFAAgF;AAChF,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,0DAA0D;IAC1D,aAAa,EAAE,MAAM,CAAC;IACtB,4CAA4C;IAC5C,kBAAkB,EAAE,gBAAgB,EAAE,CAAC;IACvC,wDAAwD;IACxD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,uFAAuF;IACvF,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;CACjB;AAID;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAsB,aAAa,CACjC,QAAQ,EAAE,cAAc,EACxB,UAAU,EAAE,mBAAmB,EAC/B,eAAe,EAAE,eAAe,GAAG,SAAS,EAC5C,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,WAAW,GAClB,OAAO,CAAC,mBAAmB,CAAC,CAkH9B;AAID;;;;;GAKG;AACH,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,MAAM,EAClB,oBAAoB,EAAE,MAAM,GAC3B,mBAAmB,CAyDrB"}
|
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
import { createClient } from "../providers/factory.js";
|
|
2
|
+
import { logger } from "../utils/logger.js";
|
|
3
|
+
import { resolveModel } from "./model-resolver.js";
|
|
4
|
+
import { assembleSystemPrompt } from "./agent-loader.js";
|
|
5
|
+
import { resolveRoleTools, getGraphState, getGraphDeps } from "./tools/index.js";
|
|
6
|
+
import { runAgenticLoop } from "./agentic-loop.js";
|
|
7
|
+
// ── Main ───────────────────────────────────────────────────────────
|
|
8
|
+
/**
|
|
9
|
+
* Run the bober-documenter subagent to write per-sprint documentation.
|
|
10
|
+
*
|
|
11
|
+
* Runs AFTER the evaluator returns passed=true and the sprint is committed.
|
|
12
|
+
* The documenter writes a focused record of what the sprint built to
|
|
13
|
+
* `docs/sprints/<contractId>.md`, finds & updates related existing docs that
|
|
14
|
+
* the change made stale, and commits ONLY the doc files. It must NOT modify
|
|
15
|
+
* application code or tests — the sprint already passed evaluation.
|
|
16
|
+
*
|
|
17
|
+
* Documentation is advisory: a documenter failure never downgrades the
|
|
18
|
+
* already-passed sprint (see the caller in pipeline.ts).
|
|
19
|
+
*
|
|
20
|
+
* The documenter reuses the "generator" role's write-tool surface (bash,
|
|
21
|
+
* read/write/edit files, glob, grep) — mirroring how runCodeReviewer reuses
|
|
22
|
+
* the "evaluator" role rather than introducing a distinct AgentRole.
|
|
23
|
+
*
|
|
24
|
+
* @param contract The sprint contract that just passed.
|
|
25
|
+
* @param evaluation The evaluation result (passed=true).
|
|
26
|
+
* @param generatorResult The generator's result — the authoritative list of
|
|
27
|
+
* what changed in this sprint.
|
|
28
|
+
* @param projectRoot Absolute path to the project root.
|
|
29
|
+
* @param config The resolved bober configuration.
|
|
30
|
+
* @returns A DocumentationResult with the docs written and updated.
|
|
31
|
+
*/
|
|
32
|
+
export async function runDocumenter(contract, evaluation, generatorResult, projectRoot, config) {
|
|
33
|
+
const contractId = contract.contractId;
|
|
34
|
+
logger.sprint(contractId, `Documenting: ${contract.title}`);
|
|
35
|
+
const documenterModel = config.documenter?.model ?? config.generator.model;
|
|
36
|
+
const model = resolveModel(documenterModel);
|
|
37
|
+
const maxTurns = config.documenter?.maxTurns ?? 20;
|
|
38
|
+
// Documenter needs WRITE access — reuse the "generator" role tool set
|
|
39
|
+
// (bash, read/write/edit, glob, grep; UNION with graph_* when gated).
|
|
40
|
+
const graphState = getGraphState(config);
|
|
41
|
+
const graphDeps = graphState.engineHealth === "ready" ? getGraphDeps() : undefined;
|
|
42
|
+
const toolSet = resolveRoleTools("generator", projectRoot, graphState, graphDeps ?? undefined);
|
|
43
|
+
const systemPrompt = await assembleSystemPrompt("generator", "bober-documenter", projectRoot, graphState);
|
|
44
|
+
const client = createClient(config.documenter?.provider ?? config.generator.provider ?? null, config.documenter?.endpoint ?? config.generator.endpoint ?? null, config.documenter?.providerConfig ?? config.generator.providerConfig, documenterModel, "Documenter");
|
|
45
|
+
const contractJson = JSON.stringify(contract, null, 2);
|
|
46
|
+
const evalSummary = JSON.stringify({
|
|
47
|
+
passed: evaluation.passed,
|
|
48
|
+
score: evaluation.score,
|
|
49
|
+
summary: evaluation.summary,
|
|
50
|
+
}, null, 2);
|
|
51
|
+
const filesChanged = generatorResult?.filesChanged && generatorResult.filesChanged.length > 0
|
|
52
|
+
? generatorResult.filesChanged.map((f) => `- ${f}`).join("\n")
|
|
53
|
+
: "(no file list reported — derive the change set from git)";
|
|
54
|
+
const sprintDocPath = `docs/sprints/${contractId}.md`;
|
|
55
|
+
const userMessage = `# Sprint Contract
|
|
56
|
+
|
|
57
|
+
${contractJson}
|
|
58
|
+
|
|
59
|
+
# Evaluation Result (Already Passed)
|
|
60
|
+
|
|
61
|
+
${evalSummary}
|
|
62
|
+
|
|
63
|
+
# Files Changed This Sprint (from the generator report)
|
|
64
|
+
|
|
65
|
+
${filesChanged}
|
|
66
|
+
|
|
67
|
+
# Project Root
|
|
68
|
+
|
|
69
|
+
${projectRoot}
|
|
70
|
+
|
|
71
|
+
# Context
|
|
72
|
+
|
|
73
|
+
- Contract ID: ${contractId}
|
|
74
|
+
- Spec ID: ${contract.specId}
|
|
75
|
+
- The implementation is ALREADY complete, evaluated, and committed.
|
|
76
|
+
- Your job is documentation ONLY. Do NOT modify application code, tests, configs, or build files.
|
|
77
|
+
|
|
78
|
+
# Your Task
|
|
79
|
+
|
|
80
|
+
1. Inspect what actually shipped: run \`git show --stat HEAD\` and \`git diff HEAD~1 HEAD\` on the changed files. Read the source of the key new/changed symbols — do not document from filenames alone.
|
|
81
|
+
2. Write a focused per-sprint record to ${sprintDocPath} (create docs/sprints/ if needed): what the sprint added, the public surface (symbols/endpoints/CLI commands/config keys with file:line), how it fits, and maintainer notes.
|
|
82
|
+
3. Find & update related existing docs the change made stale: grep README.md, docs/**, CLAUDE.md, AGENTS.md, ADRs, and module docs for the names of changed symbols/commands/config keys. Update only what is genuinely inaccurate or now-missing. Match each doc's existing voice and formatting.
|
|
83
|
+
4. Commit ONLY the documentation files (verify with \`git status\` that no source/test files are staged):
|
|
84
|
+
\`git add <doc files> && git commit -m "bober(${contractId}): docs for <short title>"\`
|
|
85
|
+
|
|
86
|
+
If you believe code is wrong, do NOT fix it — record it in "concerns".
|
|
87
|
+
|
|
88
|
+
Output ONLY a JSON object (no markdown fences):
|
|
89
|
+
{
|
|
90
|
+
"contractId": "${contractId}",
|
|
91
|
+
"sprintDocPath": "${sprintDocPath}",
|
|
92
|
+
"relatedDocsUpdated": [
|
|
93
|
+
{"path": "<path>", "reason": "<why it was stale / what you changed>"}
|
|
94
|
+
],
|
|
95
|
+
"docsCommit": "<hash> - <message>",
|
|
96
|
+
"concerns": [],
|
|
97
|
+
"summary": "<2-3 sentence summary>"
|
|
98
|
+
}`;
|
|
99
|
+
logger.info(`Calling documenter model (${documenterModel} → ${model})...`);
|
|
100
|
+
const result = await runAgenticLoop({
|
|
101
|
+
client,
|
|
102
|
+
model,
|
|
103
|
+
systemPrompt,
|
|
104
|
+
userMessage,
|
|
105
|
+
tools: toolSet.schemas,
|
|
106
|
+
toolHandlers: toolSet.handlers,
|
|
107
|
+
maxTurns,
|
|
108
|
+
maxTokens: 16384,
|
|
109
|
+
onToolUse: (name, input) => {
|
|
110
|
+
const inp = input;
|
|
111
|
+
const inputStr = JSON.stringify(inp).slice(0, 120);
|
|
112
|
+
logger.debug(` [documenter] ${name}(${inputStr})`);
|
|
113
|
+
},
|
|
114
|
+
});
|
|
115
|
+
logger.debug(`Documenter completed in ${result.turnsUsed} turns (${result.toolsCalled.length} tool calls)`);
|
|
116
|
+
const docResult = parseDocumentationResult(result.finalText, contractId, sprintDocPath);
|
|
117
|
+
logger.info(`Documentation complete: ${docResult.sprintDocPath} (+${docResult.relatedDocsUpdated.length} related docs updated, ${docResult.concerns.length} concerns)`);
|
|
118
|
+
return docResult;
|
|
119
|
+
}
|
|
120
|
+
// ── JSON parser ────────────────────────────────────────────────────
|
|
121
|
+
/**
|
|
122
|
+
* Parse the documenter's response into a DocumentationResult.
|
|
123
|
+
* Mirrors the resilient JSON-parsing pattern from code-reviewer-agent.ts.
|
|
124
|
+
*
|
|
125
|
+
* Exported for direct unit testing.
|
|
126
|
+
*/
|
|
127
|
+
export function parseDocumentationResult(text, contractId, defaultSprintDocPath) {
|
|
128
|
+
let parsed;
|
|
129
|
+
// Try direct parse
|
|
130
|
+
try {
|
|
131
|
+
parsed = JSON.parse(text.trim());
|
|
132
|
+
}
|
|
133
|
+
catch {
|
|
134
|
+
// Try extracting from markdown fences
|
|
135
|
+
const fenceMatch = /```(?:json)?\s*\n?([\s\S]*?)\n?\s*```/.exec(text);
|
|
136
|
+
if (fenceMatch) {
|
|
137
|
+
try {
|
|
138
|
+
parsed = JSON.parse(fenceMatch[1].trim());
|
|
139
|
+
}
|
|
140
|
+
catch {
|
|
141
|
+
// Fall through
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
// Try finding { ... }
|
|
145
|
+
if (!parsed) {
|
|
146
|
+
const braceStart = text.indexOf("{");
|
|
147
|
+
const braceEnd = text.lastIndexOf("}");
|
|
148
|
+
if (braceStart !== -1 && braceEnd > braceStart) {
|
|
149
|
+
try {
|
|
150
|
+
parsed = JSON.parse(text.slice(braceStart, braceEnd + 1));
|
|
151
|
+
}
|
|
152
|
+
catch {
|
|
153
|
+
// Fall through to default
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
if (parsed && typeof parsed === "object" && parsed !== null) {
|
|
159
|
+
const obj = parsed;
|
|
160
|
+
return {
|
|
161
|
+
contractId: typeof obj.contractId === "string" ? obj.contractId : contractId,
|
|
162
|
+
sprintDocPath: typeof obj.sprintDocPath === "string"
|
|
163
|
+
? obj.sprintDocPath
|
|
164
|
+
: defaultSprintDocPath,
|
|
165
|
+
relatedDocsUpdated: parseRelatedDocs(obj.relatedDocsUpdated),
|
|
166
|
+
...(typeof obj.docsCommit === "string" ? { docsCommit: obj.docsCommit } : {}),
|
|
167
|
+
concerns: parseStringArray(obj.concerns),
|
|
168
|
+
summary: typeof obj.summary === "string" ? obj.summary : "No summary provided.",
|
|
169
|
+
};
|
|
170
|
+
}
|
|
171
|
+
// Fallback — documenter ran but response wasn't parseable.
|
|
172
|
+
return {
|
|
173
|
+
contractId,
|
|
174
|
+
sprintDocPath: defaultSprintDocPath,
|
|
175
|
+
relatedDocsUpdated: [],
|
|
176
|
+
concerns: [],
|
|
177
|
+
summary: "Documenter response could not be parsed.",
|
|
178
|
+
};
|
|
179
|
+
}
|
|
180
|
+
function parseRelatedDocs(raw) {
|
|
181
|
+
if (!Array.isArray(raw))
|
|
182
|
+
return [];
|
|
183
|
+
return raw
|
|
184
|
+
.filter((item) => typeof item === "object" && item !== null)
|
|
185
|
+
.map((item) => ({
|
|
186
|
+
path: typeof item.path === "string" ? item.path : "unknown",
|
|
187
|
+
reason: typeof item.reason === "string" ? item.reason : "",
|
|
188
|
+
}));
|
|
189
|
+
}
|
|
190
|
+
function parseStringArray(raw) {
|
|
191
|
+
if (!Array.isArray(raw))
|
|
192
|
+
return [];
|
|
193
|
+
return raw.filter((item) => typeof item === "string");
|
|
194
|
+
}
|
|
195
|
+
//# sourceMappingURL=documenter-agent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"documenter-agent.js","sourceRoot":"","sources":["../../src/orchestrator/documenter-agent.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Detected host environment, surfaced to agents so they (a) target the right
|
|
3
|
+
* OS/shell and (b) only invoke tooling that is actually installed — instead of
|
|
4
|
+
* guessing (e.g. DeepSeek hallucinating a `bash` tool or GNU-only flags on macOS).
|
|
5
|
+
*/
|
|
6
|
+
export interface HostEnvironment {
|
|
7
|
+
/** Raw node platform string (darwin | linux | win32 | ...). */
|
|
8
|
+
platform: string;
|
|
9
|
+
/** Friendly OS name (macOS | Linux | Windows | <platform>). */
|
|
10
|
+
osName: string;
|
|
11
|
+
/** OS kernel release. */
|
|
12
|
+
osRelease: string;
|
|
13
|
+
/** CPU architecture (arm64 | x64 | ...). */
|
|
14
|
+
arch: string;
|
|
15
|
+
/** Login shell from $SHELL, if known. */
|
|
16
|
+
shell: string | undefined;
|
|
17
|
+
/** Node.js version (process.version). */
|
|
18
|
+
nodeVersion: string;
|
|
19
|
+
/** Detected project package manager (npm | pnpm | yarn | bun | undefined). */
|
|
20
|
+
packageManager: string | undefined;
|
|
21
|
+
/** Names of common dev CLIs found on PATH. */
|
|
22
|
+
installedTools: string[];
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Detect the host environment. Tool/OS detection is process-stable, so the
|
|
26
|
+
* result is cached after the first call (package-manager detection re-runs only
|
|
27
|
+
* when the cache is cold). Pass a projectRoot for package-manager detection.
|
|
28
|
+
*/
|
|
29
|
+
export declare function detectEnvironment(projectRoot: string): Promise<HostEnvironment>;
|
|
30
|
+
/** Reset the cache (tests). */
|
|
31
|
+
export declare function resetEnvironmentCache(): void;
|
|
32
|
+
/**
|
|
33
|
+
* Render the environment + the role's exact harness tools as a markdown block
|
|
34
|
+
* for injection into an agent's system prompt.
|
|
35
|
+
*
|
|
36
|
+
* @param env Detected host environment.
|
|
37
|
+
* @param toolNames The exact harness tool names available to this role (e.g.
|
|
38
|
+
* ["read_file","glob","grep"]). Used to stop models inventing
|
|
39
|
+
* tools (e.g. a non-existent "bash" for read-only roles).
|
|
40
|
+
* @param projectRoot Absolute path to the project root. Surfaced so models stop
|
|
41
|
+
* guessing it — non-Claude models otherwise invent an absolute
|
|
42
|
+
* path with the wrong home dir, which the path sandbox rejects.
|
|
43
|
+
*/
|
|
44
|
+
export declare function formatEnvironmentContext(env: HostEnvironment, toolNames: string[], projectRoot?: string): string;
|
|
45
|
+
//# sourceMappingURL=environment.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"environment.d.ts","sourceRoot":"","sources":["../../src/orchestrator/environment.ts"],"names":[],"mappings":"AAOA;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC9B,+DAA+D;IAC/D,QAAQ,EAAE,MAAM,CAAC;IACjB,+DAA+D;IAC/D,MAAM,EAAE,MAAM,CAAC;IACf,yBAAyB;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,4CAA4C;IAC5C,IAAI,EAAE,MAAM,CAAC;IACb,yCAAyC;IACzC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,yCAAyC;IACzC,WAAW,EAAE,MAAM,CAAC;IACpB,8EAA8E;IAC9E,cAAc,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,8CAA8C;IAC9C,cAAc,EAAE,MAAM,EAAE,CAAC;CAC1B;AAiFD;;;;GAIG;AACH,wBAAsB,iBAAiB,CACrC,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,eAAe,CAAC,CAa1B;AAED,+BAA+B;AAC/B,wBAAgB,qBAAqB,IAAI,IAAI,CAE5C;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,wBAAwB,CACtC,GAAG,EAAE,eAAe,EACpB,SAAS,EAAE,MAAM,EAAE,EACnB,WAAW,CAAC,EAAE,MAAM,GACnB,MAAM,CAgDR"}
|