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
|
@@ -6,12 +6,48 @@ import { saveSpec } from "../state/index.js";
|
|
|
6
6
|
import { fileExists } from "../utils/fs.js";
|
|
7
7
|
import { logger } from "../utils/logger.js";
|
|
8
8
|
import { resolveModel } from "./model-resolver.js";
|
|
9
|
-
import {
|
|
9
|
+
import { assembleSystemPrompt } from "./agent-loader.js";
|
|
10
10
|
import { buildToolSet } from "./tools/index.js";
|
|
11
|
-
import { runAgenticLoop } from "./agentic-loop.js";
|
|
11
|
+
import { runAgenticLoop, coerceJsonOutput } from "./agentic-loop.js";
|
|
12
12
|
// ── Constants ──────────────────────────────────────────────────────
|
|
13
|
-
const PLANNER_MAX_TURNS =
|
|
13
|
+
const PLANNER_MAX_TURNS = 100;
|
|
14
14
|
const RESEARCH_MAX_LINES = 300;
|
|
15
|
+
/**
|
|
16
|
+
* Fallback instruction used when the planner's response isn't a valid PlanSpec.
|
|
17
|
+
* Some OpenAI-compatible models (DeepSeek) emit valid JSON of the WRONG shape
|
|
18
|
+
* (e.g. the short {specId, sprintCount, contractIds} summary the agent prompt
|
|
19
|
+
* asks for) rather than the full PlanSpec the orchestrator parses. This spells
|
|
20
|
+
* out every required field so json_object mode produces a parseable spec.
|
|
21
|
+
*/
|
|
22
|
+
const PLAN_SPEC_COERCION_INSTRUCTION = `Your previous response was not a complete PlanSpec object.
|
|
23
|
+
Output ONLY a single JSON object (no prose, no markdown fences, no tool calls) with EXACTLY this shape, filled in from the task and research above:
|
|
24
|
+
{
|
|
25
|
+
"specId": "spec-<yyyymmdd>-<slug>",
|
|
26
|
+
"version": 1,
|
|
27
|
+
"title": "<short title>",
|
|
28
|
+
"description": "<2-3 sentence summary of what this builds and why>",
|
|
29
|
+
"status": "ready",
|
|
30
|
+
"mode": "greenfield",
|
|
31
|
+
"features": [
|
|
32
|
+
{
|
|
33
|
+
"featureId": "feat-1",
|
|
34
|
+
"title": "<feature title>",
|
|
35
|
+
"description": "<what this feature does>",
|
|
36
|
+
"priority": "must-have",
|
|
37
|
+
"acceptanceCriteria": ["<verifiable criterion>", "<verifiable criterion>"],
|
|
38
|
+
"dependencies": [],
|
|
39
|
+
"estimatedComplexity": "medium"
|
|
40
|
+
}
|
|
41
|
+
],
|
|
42
|
+
"assumptions": [],
|
|
43
|
+
"outOfScope": [],
|
|
44
|
+
"ambiguityScore": 3,
|
|
45
|
+
"clarificationQuestions": [],
|
|
46
|
+
"techStack": [],
|
|
47
|
+
"createdAt": "<ISO-8601 timestamp>",
|
|
48
|
+
"updatedAt": "<ISO-8601 timestamp>"
|
|
49
|
+
}
|
|
50
|
+
Rules: "status" must be one of draft|needs-clarification|ready|in-progress|completed (use "ready" for autonomous runs). "mode" is greenfield or brownfield. "priority" is must-have|should-have|nice-to-have. Each feature needs at least one acceptanceCriteria entry. Provide 3-6 features that fully cover the task. Output the JSON object and nothing else.`;
|
|
15
51
|
const ARCHITECT_MAX_LINES = 200;
|
|
16
52
|
// ── Research truncation ────────────────────────────────────────────
|
|
17
53
|
/**
|
|
@@ -83,8 +119,9 @@ export async function runPlanner(userPrompt, projectRoot, config, researchDoc, a
|
|
|
83
119
|
logger.phase("Planning Phase");
|
|
84
120
|
logger.info("Gathering project context...");
|
|
85
121
|
const context = await gatherProjectContext(projectRoot, config);
|
|
86
|
-
// Load agent definition (system prompt from .md file)
|
|
87
|
-
|
|
122
|
+
// Load agent definition (system prompt from .md file).
|
|
123
|
+
// Planner mode is 'disabled' — decoration is always a no-op regardless of ctx.
|
|
124
|
+
const systemPrompt = await assembleSystemPrompt("planner", "bober-planner", projectRoot, { graphEnabled: false, engineHealth: "disabled" });
|
|
88
125
|
const model = resolveModel(config.planner.model);
|
|
89
126
|
// Build tool set (planner gets read-only tools)
|
|
90
127
|
const toolSet = buildToolSet("planner", projectRoot);
|
|
@@ -110,7 +147,7 @@ Your final response must contain ONLY valid JSON matching the PlanSpec schema (n
|
|
|
110
147
|
const result = await runAgenticLoop({
|
|
111
148
|
client,
|
|
112
149
|
model,
|
|
113
|
-
systemPrompt
|
|
150
|
+
systemPrompt,
|
|
114
151
|
userMessage,
|
|
115
152
|
tools: toolSet.schemas,
|
|
116
153
|
toolHandlers: toolSet.handlers,
|
|
@@ -124,8 +161,28 @@ Your final response must contain ONLY valid JSON matching the PlanSpec schema (n
|
|
|
124
161
|
},
|
|
125
162
|
});
|
|
126
163
|
logger.debug(`Planner completed in ${result.turnsUsed} turns (tools: ${result.toolsCalled.length})`);
|
|
127
|
-
// Parse the final response for PlanSpec JSON
|
|
128
|
-
|
|
164
|
+
// Parse the final response for PlanSpec JSON. Some OpenAI-compatible models
|
|
165
|
+
// (e.g. DeepSeek) explore correctly but narrate prose instead of emitting the
|
|
166
|
+
// required JSON. On parse failure, fall back to a JSON-mode coercion call that
|
|
167
|
+
// forces a structured PlanSpec object. No-op for models that already comply.
|
|
168
|
+
let spec;
|
|
169
|
+
try {
|
|
170
|
+
spec = parsePlanSpec(result.finalText);
|
|
171
|
+
}
|
|
172
|
+
catch (parseErr) {
|
|
173
|
+
logger.warn(`Planner output was not a valid PlanSpec (${parseErr instanceof Error ? parseErr.message : String(parseErr)}). ` +
|
|
174
|
+
`Retrying via JSON mode...`);
|
|
175
|
+
const coerced = await coerceJsonOutput({
|
|
176
|
+
client,
|
|
177
|
+
model,
|
|
178
|
+
systemPrompt,
|
|
179
|
+
userMessage,
|
|
180
|
+
priorText: result.finalText,
|
|
181
|
+
instruction: PLAN_SPEC_COERCION_INSTRUCTION,
|
|
182
|
+
});
|
|
183
|
+
spec = parsePlanSpec(coerced);
|
|
184
|
+
logger.info("Planner JSON-mode coercion succeeded.");
|
|
185
|
+
}
|
|
129
186
|
// Save to .bober/specs/
|
|
130
187
|
await saveSpec(projectRoot, spec);
|
|
131
188
|
// Branch on planner-emitted status. The planner agent prompt instructs
|
|
@@ -188,4 +245,104 @@ function parsePlanSpec(text) {
|
|
|
188
245
|
}
|
|
189
246
|
return result.data;
|
|
190
247
|
}
|
|
248
|
+
// ── Contract precision generation ──────────────────────────────────
|
|
249
|
+
/** Vague phrases the generator's contract preflight rejects (bober-generator.md). */
|
|
250
|
+
const BANNED_CONTRACT_PHRASES = [
|
|
251
|
+
"works correctly",
|
|
252
|
+
"works as expected",
|
|
253
|
+
"looks good",
|
|
254
|
+
"looks nice",
|
|
255
|
+
"is reasonable",
|
|
256
|
+
"behaves properly",
|
|
257
|
+
"behaves correctly",
|
|
258
|
+
"is correct",
|
|
259
|
+
"appears correct",
|
|
260
|
+
"as needed",
|
|
261
|
+
"if appropriate",
|
|
262
|
+
];
|
|
263
|
+
function hasBannedPhrase(s) {
|
|
264
|
+
const lower = s.toLowerCase();
|
|
265
|
+
return BANNED_CONTRACT_PHRASES.some((p) => lower.includes(p));
|
|
266
|
+
}
|
|
267
|
+
function validatePrecision(obj) {
|
|
268
|
+
if (typeof obj !== "object" || obj === null)
|
|
269
|
+
return undefined;
|
|
270
|
+
const o = obj;
|
|
271
|
+
const strArr = (v) => Array.isArray(v)
|
|
272
|
+
? v.filter((x) => typeof x === "string" && x.trim().length > 0)
|
|
273
|
+
: [];
|
|
274
|
+
const nonGoals = strArr(o.nonGoals);
|
|
275
|
+
const stopConditions = strArr(o.stopConditions);
|
|
276
|
+
const definitionOfDone = typeof o.definitionOfDone === "string" ? o.definitionOfDone.trim() : "";
|
|
277
|
+
// Enforce the same bar the generator preflight does — else it's wasted effort.
|
|
278
|
+
if (nonGoals.length === 0 || stopConditions.length === 0)
|
|
279
|
+
return undefined;
|
|
280
|
+
if (definitionOfDone.length < 20)
|
|
281
|
+
return undefined;
|
|
282
|
+
if (nonGoals[0].startsWith("Auto-generated contract"))
|
|
283
|
+
return undefined;
|
|
284
|
+
const allStrings = [...nonGoals, ...stopConditions, definitionOfDone];
|
|
285
|
+
if (allStrings.some(hasBannedPhrase))
|
|
286
|
+
return undefined;
|
|
287
|
+
return {
|
|
288
|
+
nonGoals,
|
|
289
|
+
stopConditions,
|
|
290
|
+
definitionOfDone,
|
|
291
|
+
assumptions: strArr(o.assumptions),
|
|
292
|
+
outOfScope: strArr(o.outOfScope),
|
|
293
|
+
};
|
|
294
|
+
}
|
|
295
|
+
/**
|
|
296
|
+
* Generate substantive contract precision fields (nonGoals, stopConditions,
|
|
297
|
+
* definitionOfDone) for a feature via a json_object model call.
|
|
298
|
+
*
|
|
299
|
+
* The standalone pipeline otherwise creates contracts with placeholder precision
|
|
300
|
+
* fields, which the generator's BLOCKING precision preflight rejects. This fills
|
|
301
|
+
* them with concrete, verifiable values so the sprint can actually run.
|
|
302
|
+
*
|
|
303
|
+
* Returns undefined if generation fails or the output doesn't meet the bar — the
|
|
304
|
+
* caller then keeps placeholders (and the generator correctly blocks) rather than
|
|
305
|
+
* shipping a vague contract.
|
|
306
|
+
*/
|
|
307
|
+
export async function generateContractPrecision(feature, spec, config) {
|
|
308
|
+
try {
|
|
309
|
+
const model = resolveModel(config.planner.model);
|
|
310
|
+
const client = createClient(config.planner.provider ?? null, config.planner.endpoint ?? null, config.planner.providerConfig, config.planner.model);
|
|
311
|
+
const userMessage = `# Overall Plan\nTitle: ${spec.title}\n${spec.description}\n\n# This Sprint's Feature\nTitle: ${feature.title}\nDescription: ${feature.description}\nAcceptance Criteria:\n${feature.acceptanceCriteria.map((a) => `- ${a}`).join("\n")}`;
|
|
312
|
+
const instruction = `Output ONLY a JSON object with the precision fields for THIS sprint's contract:
|
|
313
|
+
{
|
|
314
|
+
"nonGoals": ["a specific thing the implementer must NOT do in this sprint (e.g. 'Do not implement the settings UI — that is sprint 3')"],
|
|
315
|
+
"stopConditions": ["a concrete, verifiable signal the sprint is finished (e.g. 'npm test passes and src/foo.ts exports bar()')"],
|
|
316
|
+
"definitionOfDone": "a specific paragraph (at least 20 characters) describing exactly when this sprint is complete and how to verify it",
|
|
317
|
+
"assumptions": ["any assumption made"],
|
|
318
|
+
"outOfScope": ["work explicitly deferred to other sprints"]
|
|
319
|
+
}
|
|
320
|
+
Rules: every string must be concrete and verifiable. "nonGoals" and "stopConditions" each need at least one specific entry. Do NOT use any of these banned vague phrases: ${BANNED_CONTRACT_PHRASES.map((p) => `"${p}"`).join(", ")}. Output the JSON object and nothing else.`;
|
|
321
|
+
const text = await coerceJsonOutput({
|
|
322
|
+
client,
|
|
323
|
+
model,
|
|
324
|
+
systemPrompt: "You write precise, verifiable sprint contract fields for an autonomous coding harness.",
|
|
325
|
+
userMessage,
|
|
326
|
+
priorText: "",
|
|
327
|
+
instruction,
|
|
328
|
+
});
|
|
329
|
+
// Extract the JSON object from the response.
|
|
330
|
+
let parsed;
|
|
331
|
+
const start = text.indexOf("{");
|
|
332
|
+
const end = text.lastIndexOf("}");
|
|
333
|
+
if (start !== -1 && end > start) {
|
|
334
|
+
try {
|
|
335
|
+
parsed = JSON.parse(text.slice(start, end + 1));
|
|
336
|
+
}
|
|
337
|
+
catch {
|
|
338
|
+
return undefined;
|
|
339
|
+
}
|
|
340
|
+
}
|
|
341
|
+
return validatePrecision(parsed);
|
|
342
|
+
}
|
|
343
|
+
catch (err) {
|
|
344
|
+
logger.warn(`Contract precision generation failed for "${feature.featureId}": ${err instanceof Error ? err.message : String(err)}`);
|
|
345
|
+
return undefined;
|
|
346
|
+
}
|
|
347
|
+
}
|
|
191
348
|
//# sourceMappingURL=planner-agent.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"planner-agent.js","sourceRoot":"","sources":["../../src/orchestrator/planner-agent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAIjC,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"planner-agent.js","sourceRoot":"","sources":["../../src/orchestrator/planner-agent.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"research-agent.d.ts","sourceRoot":"","sources":["../../src/orchestrator/research-agent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"research-agent.d.ts","sourceRoot":"","sources":["../../src/orchestrator/research-agent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAkBvD;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,uFAAuF;IACvF,EAAE,EAAE,MAAM,CAAC;IACX,wDAAwD;IACxD,SAAS,EAAE,MAAM,CAAC;IAClB,6EAA6E;IAC7E,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,kFAAkF;IAClF,QAAQ,EAAE,MAAM,CAAC;IACjB,0EAA0E;IAC1E,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,qEAAqE;IACrE,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,8CAA8C;IAC9C,iBAAiB,EAAE,MAAM,CAAC;IAC1B,gDAAgD;IAChD,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,mFAAmF;IACnF,oBAAoB,EAAE,MAAM,CAAC;IAC7B,kDAAkD;IAClD,gBAAgB,EAAE,MAAM,CAAC;IACzB,6EAA6E;IAC7E,QAAQ,EAAE,MAAM,CAAC;IACjB,0EAA0E;IAC1E,iBAAiB,EAAE,MAAM,CAAC;IAC1B,0FAA0F;IAC1F,YAAY,EAAE,MAAM,CAAC;IACrB,0EAA0E;IAC1E,SAAS,EAAE,MAAM,CAAC;CACnB;AA8YD;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,WAAW,CAC/B,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,WAAW,GAClB,OAAO,CAAC,WAAW,CAAC,CAwHtB"}
|
|
@@ -2,12 +2,14 @@ import { createClient } from "../providers/factory.js";
|
|
|
2
2
|
import { saveResearch } from "../state/index.js";
|
|
3
3
|
import { logger } from "../utils/logger.js";
|
|
4
4
|
import { resolveModel } from "./model-resolver.js";
|
|
5
|
-
import { loadAgentDefinition } from "./agent-loader.js";
|
|
6
|
-
import {
|
|
5
|
+
import { loadAgentDefinition, assembleSystemPrompt } from "./agent-loader.js";
|
|
6
|
+
import { resolveRoleTools, getGraphState, getGraphDeps } from "./tools/index.js";
|
|
7
7
|
import { runAgenticLoop } from "./agentic-loop.js";
|
|
8
|
+
import { PreflightContextInjector, extractKeywords } from "../graph/preflight-injector.js";
|
|
9
|
+
import { graphPipelineLifecycle } from "../graph/pipeline-lifecycle.js";
|
|
8
10
|
// ── Constants ──────────────────────────────────────────────────────
|
|
9
|
-
const RESEARCHER_PHASE1_MAX_TURNS =
|
|
10
|
-
const RESEARCHER_PHASE2_MAX_TURNS =
|
|
11
|
+
const RESEARCHER_PHASE1_MAX_TURNS = 100;
|
|
12
|
+
const RESEARCHER_PHASE2_MAX_TURNS = 100;
|
|
11
13
|
// ── Phase 1: Question Generation ───────────────────────────────────
|
|
12
14
|
/**
|
|
13
15
|
* Run Phase 1: generate exploration questions from the user prompt.
|
|
@@ -17,8 +19,9 @@ const RESEARCHER_PHASE2_MAX_TURNS = 20;
|
|
|
17
19
|
*/
|
|
18
20
|
async function generateExplorationQuestions(userPrompt, projectRoot, agentSystemPrompt, config) {
|
|
19
21
|
logger.info("Phase 1: Generating exploration questions...");
|
|
20
|
-
// Phase 1 gets NO tools — it only needs to think, not explore
|
|
21
|
-
|
|
22
|
+
// Phase 1 gets NO tools — it only needs to think, not explore.
|
|
23
|
+
// Phase 1 is NEVER gated (not in ADR-8 gated set).
|
|
24
|
+
const toolSet = resolveRoleTools("researcher-phase1", projectRoot);
|
|
22
25
|
const client = createClient(config.planner.provider ?? null, config.planner.endpoint ?? null, config.planner.providerConfig, config.planner.model, "Researcher-Phase1");
|
|
23
26
|
const model = resolveModel(config.planner.model);
|
|
24
27
|
const phase1Message = `You are the Bober Researcher agent, Phase 1: Question Generation.
|
|
@@ -113,10 +116,14 @@ function parseQuestions(text) {
|
|
|
113
116
|
* CRITICAL: The userPrompt (feature description) MUST NOT be included in the
|
|
114
117
|
* Phase 2 prompt. This isolation prevents opinion contamination in the research.
|
|
115
118
|
*/
|
|
116
|
-
async function exploreCodebase(questions, researchId, projectRoot, agentSystemPrompt,
|
|
119
|
+
async function exploreCodebase(questions, researchId, projectRoot, agentSystemPrompt, // assembled (decorated) system prompt for phase 2
|
|
120
|
+
config) {
|
|
117
121
|
logger.info(`Phase 2: Exploring codebase for ${questions.length} questions...`);
|
|
118
|
-
// Phase 2 gets read-only tools to explore the codebase
|
|
119
|
-
|
|
122
|
+
// Phase 2 gets read-only tools to explore the codebase.
|
|
123
|
+
// When graph is enabled and ready, bash/grep/glob are removed and graph_* tools are added.
|
|
124
|
+
const graphState = getGraphState(config);
|
|
125
|
+
const graphDeps = graphState.engineHealth === "ready" ? getGraphDeps() : undefined;
|
|
126
|
+
const toolSet = resolveRoleTools("researcher-phase2", projectRoot, graphState, graphDeps ?? undefined);
|
|
120
127
|
const client = createClient(config.planner.provider ?? null, config.planner.endpoint ?? null, config.planner.providerConfig, config.planner.model, "Researcher-Phase2");
|
|
121
128
|
const model = resolveModel(config.planner.model);
|
|
122
129
|
const questionsText = questions
|
|
@@ -170,11 +177,20 @@ Respond with a JSON object (no markdown fences, no explanation):
|
|
|
170
177
|
"filesExplored": ["<list of file paths you read>"],
|
|
171
178
|
"questionsAnswered": <number>
|
|
172
179
|
}`;
|
|
180
|
+
// Pre-flight graph context injection (ADR-9 — Researcher-Phase2 isolation).
|
|
181
|
+
// CRITICAL: contract is null. questionKeywords are extracted from the Phase 1
|
|
182
|
+
// questions ONLY — never from the feature description (userPrompt is not here).
|
|
183
|
+
// This preserves the two-phase isolation invariant.
|
|
184
|
+
const graphClient = graphPipelineLifecycle.getGraphClient();
|
|
185
|
+
const preflightInjector = new PreflightContextInjector(graphClient, config.graph);
|
|
186
|
+
const questionKeywords = extractKeywords(questions.join(" "));
|
|
187
|
+
const enhancedPhase2Message = await preflightInjector.inject("researcher-phase2", null, // No contract during research phase — isolation invariant
|
|
188
|
+
phase2Message, { questionKeywords });
|
|
173
189
|
const result = await runAgenticLoop({
|
|
174
190
|
client,
|
|
175
191
|
model,
|
|
176
192
|
systemPrompt: agentSystemPrompt,
|
|
177
|
-
userMessage:
|
|
193
|
+
userMessage: enhancedPhase2Message,
|
|
178
194
|
tools: toolSet.schemas,
|
|
179
195
|
toolHandlers: toolSet.handlers,
|
|
180
196
|
maxTurns: RESEARCHER_PHASE2_MAX_TURNS,
|
|
@@ -187,6 +203,23 @@ Respond with a JSON object (no markdown fences, no explanation):
|
|
|
187
203
|
},
|
|
188
204
|
});
|
|
189
205
|
logger.debug(`Phase 2 completed in ${result.turnsUsed} turns (tools: ${result.toolsCalled.length})`);
|
|
206
|
+
// Token-usage capture (graph integration sprint 2, s2-c8).
|
|
207
|
+
// Mirrors the cumulative-usage pattern from src/orchestrator/agentic-loop.ts:117-118.
|
|
208
|
+
// Failure to write must NOT break research — swallow errors.
|
|
209
|
+
try {
|
|
210
|
+
const { TokenUsageLog } = await import("../graph/token-usage.js");
|
|
211
|
+
await new TokenUsageLog(projectRoot).append({
|
|
212
|
+
agent: "researcher-phase2",
|
|
213
|
+
runId: researchId,
|
|
214
|
+
timestamp: new Date().toISOString(),
|
|
215
|
+
inputTokens: result.usage.inputTokens,
|
|
216
|
+
outputTokens: result.usage.outputTokens,
|
|
217
|
+
graphEnabled: config.graph?.enabled === true,
|
|
218
|
+
});
|
|
219
|
+
}
|
|
220
|
+
catch (err) {
|
|
221
|
+
logger.debug(`Token usage capture failed (researcher-phase2): ${err instanceof Error ? err.message : String(err)}`);
|
|
222
|
+
}
|
|
190
223
|
return parsePhase2Result(result.finalText);
|
|
191
224
|
}
|
|
192
225
|
function parsePhase2Result(text) {
|
|
@@ -294,8 +327,12 @@ export async function runResearch(userPrompt, projectRoot, config) {
|
|
|
294
327
|
logger.info(`Research ID: ${researchId}`);
|
|
295
328
|
// Load the researcher agent definition (system prompt)
|
|
296
329
|
const agentDef = await loadAgentDefinition("bober-researcher", projectRoot);
|
|
330
|
+
// Compute graph state once and assemble the phase-2 system prompt with graph decoration (ADR-5).
|
|
331
|
+
const graphStateForAssembly = getGraphState(config);
|
|
332
|
+
const phase2SystemPrompt = await assembleSystemPrompt("researcher-phase2", "bober-researcher", projectRoot, graphStateForAssembly);
|
|
297
333
|
// ── Phase 1: Question Generation ─────────────────────────────────
|
|
298
334
|
// userPrompt IS passed to Phase 1 — this is how questions are generated
|
|
335
|
+
// Phase 1 uses the base systemPrompt (researcher-phase1 mode = disabled → no decoration).
|
|
299
336
|
const questions = await generateExplorationQuestions(userPrompt, projectRoot, agentDef.systemPrompt, config);
|
|
300
337
|
if (questions.length < 3) {
|
|
301
338
|
throw new Error(`Phase 1 produced too few questions (${questions.length}). Minimum is 3. ` +
|
|
@@ -305,7 +342,7 @@ export async function runResearch(userPrompt, projectRoot, config) {
|
|
|
305
342
|
questions.forEach((q, i) => logger.debug(` Q${i + 1}: ${q}`));
|
|
306
343
|
// ── Phase 2: Codebase Exploration ────────────────────────────────
|
|
307
344
|
// userPrompt is NOT passed to Phase 2 — this is the isolation guarantee
|
|
308
|
-
const { sections, filesExplored, questionsAnswered } = await exploreCodebase(questions, researchId, projectRoot,
|
|
345
|
+
const { sections, filesExplored, questionsAnswered } = await exploreCodebase(questions, researchId, projectRoot, phase2SystemPrompt, config);
|
|
309
346
|
logger.success(`Phase 2: Explored ${filesExplored.length} files, answered ${questionsAnswered}/${questions.length} questions`);
|
|
310
347
|
const timestamp = new Date().toISOString();
|
|
311
348
|
// Build the markdown findings string from the structured sections
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"research-agent.js","sourceRoot":"","sources":["../../src/orchestrator/research-agent.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,sEAAsE;AAEtE,MAAM,2BAA2B,GAAG,CAAC,CAAC;AACtC,MAAM,2BAA2B,GAAG,EAAE,CAAC;AA8CvC,sEAAsE;AAEtE;;;;;GAKG;AACH,KAAK,UAAU,4BAA4B,CACzC,UAAkB,EAClB,WAAmB,EACnB,iBAAyB,EACzB,MAAmB;IAEnB,MAAM,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAC;IAE5D,8DAA8D;IAC9D,MAAM,OAAO,GAAG,YAAY,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IAErD,MAAM,MAAM,GAAG,YAAY,CACzB,MAAM,CAAC,OAAO,CAAC,QAAQ,IAAI,IAAI,EAC/B,MAAM,CAAC,OAAO,CAAC,QAAQ,IAAI,IAAI,EAC/B,MAAM,CAAC,OAAO,CAAC,cAAc,EAC7B,MAAM,CAAC,OAAO,CAAC,KAAK,EACpB,mBAAmB,CACpB,CAAC;IAEF,MAAM,KAAK,GAAG,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAEjD,MAAM,aAAa,GAAG;;;;;;;;;;;;;;;;EAgBtB,UAAU;;;;EAIV,WAAW;;;;wFAI2E,CAAC;IAEvF,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC;QAClC,MAAM;QACN,KAAK;QACL,YAAY,EAAE,iBAAiB;QAC/B,WAAW,EAAE,aAAa;QAC1B,KAAK,EAAE,OAAO,CAAC,OAAO;QACtB,YAAY,EAAE,OAAO,CAAC,QAAQ;QAC9B,QAAQ,EAAE,2BAA2B;QACrC,SAAS,EAAE,IAAI;QACf,SAAS,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YACzB,MAAM,QAAQ,GACZ,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;gBACzC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;gBACpC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACpB,MAAM,CAAC,KAAK,CAAC,qBAAqB,IAAI,IAAI,QAAQ,GAAG,CAAC,CAAC;QACzD,CAAC;KACF,CAAC,CAAC;IAEH,MAAM,CAAC,KAAK,CACV,wBAAwB,MAAM,CAAC,SAAS,QAAQ,CACjD,CAAC;IAEF,OAAO,cAAc,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;AAC1C,CAAC;AAED,SAAS,cAAc,CAAC,IAAY;IAClC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;IAE5B,yBAAyB;IACzB,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACnC,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,EAAE,CAAC;YACxE,OAAO,MAAM,CAAC;QAChB,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,eAAe;IACjB,CAAC;IAED,iDAAiD;IACjD,MAAM,UAAU,GAAG,uCAAuC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACzE,IAAI,UAAU,EAAE,CAAC;QACf,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YAChD,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,EAAE,CAAC;gBACxE,OAAO,MAAM,CAAC;YAChB,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,eAAe;QACjB,CAAC;IACH,CAAC;IAED,oCAAoC;IACpC,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACxC,MAAM,QAAQ,GAAG,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAC1C,IAAI,UAAU,KAAK,CAAC,CAAC,IAAI,QAAQ,GAAG,UAAU,EAAE,CAAC;QAC/C,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,EAAE,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC;YACnE,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,EAAE,CAAC;gBACxE,OAAO,MAAM,CAAC;YAChB,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,eAAe;QACjB,CAAC;IACH,CAAC;IAED,MAAM,IAAI,KAAK,CACb,+EAA+E,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CACpG,CAAC;AACJ,CAAC;AAED,sEAAsE;AAEtE;;;;;GAKG;AACH,KAAK,UAAU,eAAe,CAC5B,SAAmB,EACnB,UAAkB,EAClB,WAAmB,EACnB,iBAAyB,EACzB,MAAmB;IAMnB,MAAM,CAAC,IAAI,CACT,mCAAmC,SAAS,CAAC,MAAM,eAAe,CACnE,CAAC;IAEF,uDAAuD;IACvD,MAAM,OAAO,GAAG,YAAY,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IAErD,MAAM,MAAM,GAAG,YAAY,CACzB,MAAM,CAAC,OAAO,CAAC,QAAQ,IAAI,IAAI,EAC/B,MAAM,CAAC,OAAO,CAAC,QAAQ,IAAI,IAAI,EAC/B,MAAM,CAAC,OAAO,CAAC,cAAc,EAC7B,MAAM,CAAC,OAAO,CAAC,KAAK,EACpB,mBAAmB,CACpB,CAAC;IAEF,MAAM,KAAK,GAAG,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAEjD,MAAM,aAAa,GAAG,SAAS;SAC5B,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;SAC/B,IAAI,CAAC,IAAI,CAAC,CAAC;IAEd,wFAAwF;IACxF,MAAM,aAAa,GAAG;;;;;;;;EAQtB,aAAa;;;;EAIb,UAAU;;;;EAIV,WAAW;;;;;;;;;;;;;;;;;;;mBAmBM,UAAU;;;;;;;;;;;EAW3B,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC;QAClC,MAAM;QACN,KAAK;QACL,YAAY,EAAE,iBAAiB;QAC/B,WAAW,EAAE,aAAa;QAC1B,KAAK,EAAE,OAAO,CAAC,OAAO;QACtB,YAAY,EAAE,OAAO,CAAC,QAAQ;QAC9B,QAAQ,EAAE,2BAA2B;QACrC,SAAS,EAAE,KAAK;QAChB,SAAS,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YACzB,MAAM,QAAQ,GACZ,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;gBACzC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;gBACrC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACpB,MAAM,CAAC,KAAK,CAAC,qBAAqB,IAAI,IAAI,QAAQ,GAAG,CAAC,CAAC;QACzD,CAAC;KACF,CAAC,CAAC;IAEH,MAAM,CAAC,KAAK,CACV,wBAAwB,MAAM,CAAC,SAAS,kBAAkB,MAAM,CAAC,WAAW,CAAC,MAAM,GAAG,CACvF,CAAC;IAEF,OAAO,iBAAiB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;AAC7C,CAAC;AASD,SAAS,iBAAiB,CAAC,IAAY;IAKrC,IAAI,MAAe,CAAC;IAEpB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;IAE5B,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC/B,CAAC;IAAC,MAAM,CAAC;QACP,2CAA2C;QAC3C,MAAM,UAAU,GAAG,uCAAuC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACzE,IAAI,UAAU,EAAE,CAAC;YACf,IAAI,CAAC;gBACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YAC5C,CAAC;YAAC,MAAM,CAAC;gBACP,eAAe;YACjB,CAAC;QACH,CAAC;QAED,sCAAsC;QACtC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACxC,MAAM,QAAQ,GAAG,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YAC1C,IAAI,UAAU,KAAK,CAAC,CAAC,IAAI,QAAQ,GAAG,UAAU,EAAE,CAAC;gBAC/C,IAAI,CAAC;oBACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,EAAE,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC;gBAC/D,CAAC;gBAAC,MAAM,CAAC;oBACP,MAAM,IAAI,KAAK,CACb,4DAA4D,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CACjF,CAAC;gBACJ,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,KAAK,CACb,4DAA4D,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CACjF,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,MAAM,GAAG,MAAsB,CAAC;IAEtC,2BAA2B;IAC3B,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC1C,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;IACvD,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC;IACvC,MAAM,kBAAkB,GAAqB;QAC3C,oBAAoB,EAClB,OAAO,QAAQ,CAAC,oBAAoB,KAAK,QAAQ;YAC/C,CAAC,CAAC,QAAQ,CAAC,oBAAoB;YAC/B,CAAC,CAAC,oCAAoC;QAC1C,gBAAgB,EACd,OAAO,QAAQ,CAAC,gBAAgB,KAAK,QAAQ;YAC3C,CAAC,CAAC,QAAQ,CAAC,gBAAgB;YAC3B,CAAC,CAAC,yBAAyB;QAC/B,QAAQ,EACN,OAAO,QAAQ,CAAC,QAAQ,KAAK,QAAQ;YACnC,CAAC,CAAC,QAAQ,CAAC,QAAQ;YACnB,CAAC,CAAC,sBAAsB;QAC5B,iBAAiB,EACf,OAAO,QAAQ,CAAC,iBAAiB,KAAK,QAAQ;YAC5C,CAAC,CAAC,QAAQ,CAAC,iBAAiB;YAC5B,CAAC,CAAC,mCAAmC;QACzC,YAAY,EACV,OAAO,QAAQ,CAAC,YAAY,KAAK,QAAQ;YACvC,CAAC,CAAC,QAAQ,CAAC,YAAY;YACvB,CAAC,CAAC,8BAA8B;QACpC,SAAS,EACP,OAAO,QAAQ,CAAC,SAAS,KAAK,QAAQ;YACpC,CAAC,CAAC,QAAQ,CAAC,SAAS;YACpB,CAAC,CAAC,2BAA2B;KAClC,CAAC;IAEF,MAAM,aAAa,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC;QACvD,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC;QACxE,CAAC,CAAC,EAAE,CAAC;IAEP,MAAM,iBAAiB,GACrB,OAAO,MAAM,CAAC,iBAAiB,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;IAE9E,OAAO,EAAE,QAAQ,EAAE,kBAAkB,EAAE,aAAa,EAAE,iBAAiB,EAAE,CAAC;AAC5E,CAAC;AAED,sEAAsE;AAEtE,SAAS,kBAAkB,CAAC,UAAkB;IAC5C,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;IACvB,MAAM,QAAQ,GAAG,GAAG;SACjB,WAAW,EAAE;SACb,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;SACZ,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAErB,MAAM,IAAI,GAAG,UAAU;SACpB,WAAW,EAAE;SACb,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC;SAC3B,IAAI,EAAE;SACN,KAAK,CAAC,KAAK,CAAC;SACZ,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;SACX,IAAI,CAAC,GAAG,CAAC;SACT,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAEhB,OAAO,YAAY,QAAQ,IAAI,IAAI,EAAE,CAAC;AACxC,CAAC;AAED,sEAAsE;AAEtE;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,UAAkB,EAClB,WAAmB,EACnB,MAAmB;IAEnB,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;IAE/B,MAAM,UAAU,GAAG,kBAAkB,CAAC,UAAU,CAAC,CAAC;IAClD,MAAM,CAAC,IAAI,CAAC,gBAAgB,UAAU,EAAE,CAAC,CAAC;IAE1C,uDAAuD;IACvD,MAAM,QAAQ,GAAG,MAAM,mBAAmB,CAAC,kBAAkB,EAAE,WAAW,CAAC,CAAC;IAE5E,oEAAoE;IACpE,wEAAwE;IACxE,MAAM,SAAS,GAAG,MAAM,4BAA4B,CAClD,UAAU,EACV,WAAW,EACX,QAAQ,CAAC,YAAY,EACrB,MAAM,CACP,CAAC;IAEF,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CACb,uCAAuC,SAAS,CAAC,MAAM,mBAAmB;YACxE,kDAAkD,CACrD,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,OAAO,CAAC,sBAAsB,SAAS,CAAC,MAAM,wBAAwB,CAAC,CAAC;IAC/E,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;IAE/D,oEAAoE;IACpE,wEAAwE;IACxE,MAAM,EAAE,QAAQ,EAAE,aAAa,EAAE,iBAAiB,EAAE,GAAG,MAAM,eAAe,CAC1E,SAAS,EACT,UAAU,EACV,WAAW,EACX,QAAQ,CAAC,YAAY,EACrB,MAAM,CACP,CAAC;IAEF,MAAM,CAAC,OAAO,CACZ,qBAAqB,aAAa,CAAC,MAAM,oBAAoB,iBAAiB,IAAI,SAAS,CAAC,MAAM,YAAY,CAC/G,CAAC;IAEF,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAE3C,kEAAkE;IAClE,MAAM,gBAAgB,GAAG;QACvB,qBAAqB;QACrB,EAAE;QACF,oBAAoB,UAAU,EAAE;QAChC,kBAAkB,SAAS,EAAE;QAC7B,2BAA2B,iBAAiB,IAAI,SAAS,CAAC,MAAM,EAAE;QAClE,uBAAuB,aAAa,CAAC,MAAM,EAAE;QAC7C,EAAE;QACF,KAAK;QACL,EAAE;QACF,0BAA0B;QAC1B,EAAE;QACF,QAAQ,CAAC,oBAAoB;QAC7B,EAAE;QACF,sBAAsB;QACtB,EAAE;QACF,QAAQ,CAAC,gBAAgB;QACzB,EAAE;QACF,cAAc;QACd,EAAE;QACF,QAAQ,CAAC,QAAQ;QACjB,EAAE;QACF,uBAAuB;QACvB,EAAE;QACF,QAAQ,CAAC,iBAAiB;QAC1B,EAAE;QACF,kBAAkB;QAClB,EAAE;QACF,QAAQ,CAAC,YAAY;QACrB,EAAE;QACF,eAAe;QACf,EAAE;QACF,QAAQ,CAAC,SAAS;QAClB,EAAE;QACF,KAAK;QACL,EAAE;QACF,0BAA0B;QAC1B,EAAE;QACF,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;QACpD,EAAE;QACF,KAAK;QACL,EAAE;QACF,mBAAmB;QACnB,EAAE;QACF,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,gBAAgB;QACjE,EAAE;QACF,KAAK;QACL,EAAE;QACF,2FAA2F;KAC5F,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEb,MAAM,WAAW,GAAgB;QAC/B,EAAE,EAAE,UAAU;QACd,SAAS;QACT,SAAS;QACT,QAAQ,EAAE,gBAAgB;QAC1B,QAAQ;QACR,aAAa;QACb,iBAAiB;KAClB,CAAC;IAEF,2BAA2B;IAC3B,MAAM,YAAY,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;IAC7C,MAAM,CAAC,OAAO,CAAC,mBAAmB,UAAU,EAAE,CAAC,CAAC;IAEhD,OAAO,WAAW,CAAC;AACrB,CAAC"}
|
|
1
|
+
{"version":3,"file":"research-agent.js","sourceRoot":"","sources":["../../src/orchestrator/research-agent.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,23 @@
|
|
|
1
|
+
/** Max characters per tool result to prevent context blow-up. */
|
|
2
|
+
export declare const MAX_OUTPUT_CHARS = 100000;
|
|
1
3
|
export type ToolHandler = (input: Record<string, unknown>) => Promise<{
|
|
2
4
|
output: string;
|
|
3
5
|
isError: boolean;
|
|
4
6
|
}>;
|
|
7
|
+
/**
|
|
8
|
+
* Resolve and validate a file path, ensuring it stays within projectRoot.
|
|
9
|
+
* Returns the absolute path or throws if the path escapes the sandbox.
|
|
10
|
+
*
|
|
11
|
+
* Re-anchoring recovery: non-Claude models (e.g. DeepSeek) sometimes ignore the
|
|
12
|
+
* "relative to project root" contract and invent an ABSOLUTE path with the wrong
|
|
13
|
+
* home dir — e.g. `/Users/boberik/.../agent-bober-ide/src` when the real root is
|
|
14
|
+
* `/Users/bober4ik/.../agent-bober-ide`. When such a path lands outside the root
|
|
15
|
+
* but still contains the root's basename, we re-anchor the suffix after it
|
|
16
|
+
* (`src`) relative to the real root and retry. This NEVER widens the sandbox: the
|
|
17
|
+
* re-anchored path is `resolve(projectRoot, suffix)` and is re-validated to be
|
|
18
|
+
* inside the root before use, so a genuinely-foreign path still fails closed.
|
|
19
|
+
*/
|
|
20
|
+
export declare function sandboxPath(projectRoot: string, inputPath: string): string;
|
|
5
21
|
/**
|
|
6
22
|
* Create all tool handlers scoped to a project root.
|
|
7
23
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handlers.d.ts","sourceRoot":"","sources":["../../../src/orchestrator/tools/handlers.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"handlers.d.ts","sourceRoot":"","sources":["../../../src/orchestrator/tools/handlers.ts"],"names":[],"mappings":"AAMA,iEAAiE;AACjE,eAAO,MAAM,gBAAgB,SAAU,CAAC;AAaxC,MAAM,MAAM,WAAW,GAAG,CACxB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC3B,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC,CAAC;AAInD;;;;;;;;;;;;GAYG;AACH,wBAAgB,WAAW,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAgC1E;AA2RD;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,WAAW,EAAE,MAAM,GAClB,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAW1B"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { readFile, writeFile, mkdir } from "node:fs/promises";
|
|
2
|
-
import { resolve, relative, isAbsolute } from "node:path";
|
|
2
|
+
import { resolve, relative, isAbsolute, basename, sep } from "node:path";
|
|
3
3
|
import { execa } from "execa";
|
|
4
4
|
// ── Constants ──────────────────────────────────────────────────────
|
|
5
5
|
/** Max characters per tool result to prevent context blow-up. */
|
|
6
|
-
const MAX_OUTPUT_CHARS = 100_000;
|
|
6
|
+
export const MAX_OUTPUT_CHARS = 100_000;
|
|
7
7
|
/** Default bash command timeout in ms. */
|
|
8
8
|
const DEFAULT_BASH_TIMEOUT = 120_000;
|
|
9
9
|
/** Max files returned by glob. */
|
|
@@ -14,13 +14,38 @@ const MAX_GREP_LINES = 300;
|
|
|
14
14
|
/**
|
|
15
15
|
* Resolve and validate a file path, ensuring it stays within projectRoot.
|
|
16
16
|
* Returns the absolute path or throws if the path escapes the sandbox.
|
|
17
|
+
*
|
|
18
|
+
* Re-anchoring recovery: non-Claude models (e.g. DeepSeek) sometimes ignore the
|
|
19
|
+
* "relative to project root" contract and invent an ABSOLUTE path with the wrong
|
|
20
|
+
* home dir — e.g. `/Users/boberik/.../agent-bober-ide/src` when the real root is
|
|
21
|
+
* `/Users/bober4ik/.../agent-bober-ide`. When such a path lands outside the root
|
|
22
|
+
* but still contains the root's basename, we re-anchor the suffix after it
|
|
23
|
+
* (`src`) relative to the real root and retry. This NEVER widens the sandbox: the
|
|
24
|
+
* re-anchored path is `resolve(projectRoot, suffix)` and is re-validated to be
|
|
25
|
+
* inside the root before use, so a genuinely-foreign path still fails closed.
|
|
17
26
|
*/
|
|
18
|
-
function sandboxPath(projectRoot, inputPath) {
|
|
19
|
-
|
|
27
|
+
export function sandboxPath(projectRoot, inputPath) {
|
|
28
|
+
let abs = isAbsolute(inputPath)
|
|
20
29
|
? resolve(inputPath)
|
|
21
30
|
: resolve(projectRoot, inputPath);
|
|
31
|
+
let rel = relative(projectRoot, abs);
|
|
32
|
+
if ((rel.startsWith("..") || isAbsolute(rel)) && isAbsolute(inputPath)) {
|
|
33
|
+
const rootName = basename(projectRoot);
|
|
34
|
+
if (rootName) {
|
|
35
|
+
const segments = abs.split(sep);
|
|
36
|
+
const idx = segments.lastIndexOf(rootName);
|
|
37
|
+
if (idx !== -1) {
|
|
38
|
+
const suffix = segments.slice(idx + 1).join(sep);
|
|
39
|
+
const reAnchored = resolve(projectRoot, suffix);
|
|
40
|
+
const reRel = relative(projectRoot, reAnchored);
|
|
41
|
+
if (!reRel.startsWith("..") && !isAbsolute(reRel)) {
|
|
42
|
+
abs = reAnchored;
|
|
43
|
+
rel = reRel;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
}
|
|
22
48
|
// Ensure the resolved path is within the project root
|
|
23
|
-
const rel = relative(projectRoot, abs);
|
|
24
49
|
if (rel.startsWith("..") || isAbsolute(rel)) {
|
|
25
50
|
throw new Error(`Path "${inputPath}" resolves outside the project root. Access denied.`);
|
|
26
51
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handlers.js","sourceRoot":"","sources":["../../../src/orchestrator/tools/handlers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAC1D,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAE9B,sEAAsE;AAEtE,iEAAiE;AACjE,MAAM,gBAAgB,GAAG,OAAO,CAAC;AAEjC,0CAA0C;AAC1C,MAAM,oBAAoB,GAAG,OAAO,CAAC;AAErC,kCAAkC;AAClC,MAAM,gBAAgB,GAAG,GAAG,CAAC;AAE7B,kCAAkC;AAClC,MAAM,cAAc,GAAG,GAAG,CAAC;AAQ3B,sEAAsE;AAEtE;;;GAGG;AACH,SAAS,WAAW,CAAC,WAAmB,EAAE,SAAiB;IACzD,MAAM,GAAG,GAAG,UAAU,CAAC,SAAS,CAAC;QAC/B,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;QACpB,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IAEpC,sDAAsD;IACtD,MAAM,GAAG,GAAG,QAAQ,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;IACvC,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAC5C,MAAM,IAAI,KAAK,CACb,SAAS,SAAS,qDAAqD,CACxE,CAAC;IACJ,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;GAEG;AACH,SAAS,QAAQ,CAAC,IAAY,EAAE,QAAgB,gBAAgB;IAC9D,IAAI,IAAI,CAAC,MAAM,IAAI,KAAK;QAAE,OAAO,IAAI,CAAC;IACtC,OAAO,CACL,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC;QACpB,4BAA4B,KAAK,CAAC,cAAc,EAAE,0EAA0E,CAC7H,CAAC;AACJ,CAAC;AAED,sEAAsE;AAEtE,SAAS,iBAAiB,CAAC,WAAmB;IAC5C,OAAO,KAAK,EAAE,KAAK,EAAE,EAAE;QACrB,MAAM,OAAO,GAAG,KAAK,CAAC,OAAiB,CAAC;QACxC,MAAM,OAAO,GAAI,KAAK,CAAC,OAAkB,IAAI,oBAAoB,CAAC;QAElE,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,EAAE,MAAM,EAAE,yCAAyC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAC9E,CAAC;QAED,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE;gBAChD,GAAG,EAAE,WAAW;gBAChB,OAAO;gBACP,MAAM,EAAE,KAAK;gBACb,GAAG,EAAE,IAAI;gBACT,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE;aACxB,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,IAAI,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC;YACjD,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC;YAEvC,MAAM,KAAK,GAAa,EAAE,CAAC;YAC3B,IAAI,QAAQ,KAAK,CAAC,EAAE,CAAC;gBACnB,KAAK,CAAC,IAAI,CAAC,cAAc,QAAQ,EAAE,CAAC,CAAC;YACvC,CAAC;YACD,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACnB,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC1D,KAAK,CAAC,IAAI,CAAC,YAAY,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;YAC1C,CAAC;YAED,OAAO;gBACL,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAClC,OAAO,EAAE,QAAQ,KAAK,CAAC;aACxB,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACjE,IAAI,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;gBACnE,OAAO;oBACL,MAAM,EAAE,2BAA2B,OAAO,sDAAsD;oBAChG,OAAO,EAAE,IAAI;iBACd,CAAC;YACJ,CAAC;YACD,OAAO,EAAE,MAAM,EAAE,4BAA4B,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAC1E,CAAC;IACH,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,qBAAqB,CAAC,WAAmB;IAChD,OAAO,KAAK,EAAE,KAAK,EAAE,EAAE;QACrB,MAAM,QAAQ,GAAG,KAAK,CAAC,SAAmB,CAAC;QAC3C,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO,EAAE,MAAM,EAAE,2CAA2C,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAChF,CAAC;QAED,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,WAAW,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;YAC/C,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;YAC7C,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAElC,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAG,KAAK,CAAC,MAAiB,IAAI,CAAC,CAAC,CAAC;YAC1D,MAAM,KAAK,GAAI,KAAK,CAAC,KAAgB,IAAI,KAAK,CAAC,MAAM,CAAC;YAEtD,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,MAAM,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC;YAC1D,MAAM,QAAQ,GAAG,KAAK;iBACnB,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;iBAC9D,IAAI,CAAC,IAAI,CAAC,CAAC;YAEd,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;QACxD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACjE,IAAI,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC/B,OAAO,EAAE,MAAM,EAAE,mBAAmB,QAAQ,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;YAClE,CAAC;YACD,OAAO,EAAE,MAAM,EAAE,uBAAuB,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QACrE,CAAC;IACH,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,sBAAsB,CAAC,WAAmB;IACjD,OAAO,KAAK,EAAE,KAAK,EAAE,EAAE;QACrB,MAAM,QAAQ,GAAG,KAAK,CAAC,SAAmB,CAAC;QAC3C,MAAM,OAAO,GAAG,KAAK,CAAC,OAAiB,CAAC;QACxC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO,EAAE,MAAM,EAAE,2CAA2C,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAChF,CAAC;QACD,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;YAC9C,OAAO,EAAE,MAAM,EAAE,yCAAyC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAC9E,CAAC;QAED,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,WAAW,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;YAE/C,4BAA4B;YAC5B,MAAM,GAAG,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;YACnD,MAAM,KAAK,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAEtC,MAAM,SAAS,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YACvC,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC;YAC7B,OAAO;gBACL,MAAM,EAAE,SAAS,KAAK,aAAa,QAAQ,EAAE;gBAC7C,OAAO,EAAE,KAAK;aACf,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACjE,OAAO,EAAE,MAAM,EAAE,uBAAuB,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QACrE,CAAC;IACH,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,qBAAqB,CAAC,WAAmB;IAChD,OAAO,KAAK,EAAE,KAAK,EAAE,EAAE;QACrB,MAAM,QAAQ,GAAG,KAAK,CAAC,SAAmB,CAAC;QAC3C,MAAM,OAAO,GAAG,KAAK,CAAC,QAAkB,CAAC;QACzC,MAAM,OAAO,GAAG,KAAK,CAAC,QAAkB,CAAC;QAEzC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO,EAAE,MAAM,EAAE,2CAA2C,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAChF,CAAC;QACD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,EAAE,MAAM,EAAE,0CAA0C,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAC/E,CAAC;QACD,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;YAC9C,OAAO,EAAE,MAAM,EAAE,0CAA0C,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAC/E,CAAC;QAED,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,WAAW,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;YAC/C,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;YAE7C,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YACrC,IAAI,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC;gBACf,mEAAmE;gBACnE,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;gBACtC,OAAO;oBACL,MAAM,EACJ,gCAAgC,QAAQ,IAAI;wBAC5C,uEAAuE;wBACvE,sBAAsB,OAAO,EAAE;oBACjC,OAAO,EAAE,IAAI;iBACd,CAAC;YACJ,CAAC;YAED,MAAM,OAAO,GACX,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;YACxE,MAAM,SAAS,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YAEvC,OAAO;gBACL,MAAM,EAAE,mBAAmB,QAAQ,cAAc,OAAO,CAAC,MAAM,eAAe,OAAO,CAAC,MAAM,SAAS;gBACrG,OAAO,EAAE,KAAK;aACf,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACjE,IAAI,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC/B,OAAO,EAAE,MAAM,EAAE,mBAAmB,QAAQ,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;YAClE,CAAC;YACD,OAAO,EAAE,MAAM,EAAE,uBAAuB,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QACrE,CAAC;IACH,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,WAAmB;IAC5C,OAAO,KAAK,EAAE,KAAK,EAAE,EAAE;QACrB,MAAM,OAAO,GAAG,KAAK,CAAC,OAAiB,CAAC;QACxC,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,EAAE,MAAM,EAAE,yCAAyC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAC9E,CAAC;QAED,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI;YAC1B,CAAC,CAAC,WAAW,CAAC,WAAW,EAAE,KAAK,CAAC,IAAc,CAAC;YAChD,CAAC,CAAC,WAAW,CAAC;QAEhB,IAAI,CAAC;YACH,8CAA8C;YAC9C,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC;YACtC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE;gBAClC,GAAG,EAAE,SAAS;gBACd,KAAK,EAAE,IAAI;gBACX,MAAM,EAAE,CAAC,iBAAiB,EAAE,SAAS,EAAE,SAAS,CAAC;aAClD,CAAC,CAAC;YAEH,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACzB,OAAO,EAAE,MAAM,EAAE,4BAA4B,OAAO,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;YAC5E,CAAC;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC;YACnD,IAAI,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAChC,IAAI,OAAO,CAAC,MAAM,GAAG,gBAAgB,EAAE,CAAC;gBACtC,MAAM,IAAI,QAAQ,OAAO,CAAC,MAAM,GAAG,gBAAgB,sDAAsD,CAAC;YAC5G,CAAC;YAED,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;QACpC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACjE,OAAO,EAAE,MAAM,EAAE,sBAAsB,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QACpE,CAAC;IACH,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,WAAmB;IAC5C,OAAO,KAAK,EAAE,KAAK,EAAE,EAAE;QACrB,MAAM,OAAO,GAAG,KAAK,CAAC,OAAiB,CAAC;QACxC,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,EAAE,MAAM,EAAE,yCAAyC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAC9E,CAAC;QAED,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI;YAC3B,CAAC,CAAC,WAAW,CAAC,WAAW,EAAE,KAAK,CAAC,IAAc,CAAC;YAChD,CAAC,CAAC,WAAW,CAAC;QAEhB,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;YAEtC,oBAAoB;YACpB,MAAM,OAAO,GAAG,KAAK,CAAC,OAA6B,CAAC;YACpD,IAAI,OAAO,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;gBAC3B,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;YACnC,CAAC;YAED,kBAAkB;YAClB,MAAM,WAAW,GAAG,KAAK,CAAC,IAA0B,CAAC;YACrD,IAAI,WAAW,EAAE,CAAC;gBAChB,IAAI,CAAC,IAAI,CAAC,aAAa,WAAW,EAAE,CAAC,CAAC;YACxC,CAAC;YAED,6BAA6B;YAC7B,IAAI,CAAC,IAAI,CACP,4BAA4B,EAC5B,oBAAoB,EACpB,oBAAoB,CACrB,CAAC;YAEF,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;YAE/B,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE;gBACvC,GAAG,EAAE,WAAW;gBAChB,MAAM,EAAE,KAAK;gBACb,GAAG,EAAE,IAAI;gBACT,OAAO,EAAE,MAAM;aAChB,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,IAAI,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC;YAEjD,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;gBAC5C,OAAO,EAAE,MAAM,EAAE,iCAAiC,OAAO,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;YACjF,CAAC;YAED,qBAAqB;YACrB,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACjC,IAAI,KAAK,CAAC,MAAM,GAAG,cAAc,EAAE,CAAC;gBAClC,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC5D,OAAO;oBACL,MAAM,EACJ,SAAS;wBACT,QAAQ,KAAK,CAAC,MAAM,GAAG,cAAc,2DAA2D;oBAClG,OAAO,EAAE,KAAK;iBACf,CAAC;YACJ,CAAC;YAED,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;QACtD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACjE,OAAO,EAAE,MAAM,EAAE,sBAAsB,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QACpE,CAAC;IACH,CAAC,CAAC;AACJ,CAAC;AAED,sEAAsE;AAEtE;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAChC,WAAmB;IAEnB,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAuB,CAAC;IAEhD,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,WAAW,CAAC,CAAC,CAAC;IACrD,QAAQ,CAAC,GAAG,CAAC,WAAW,EAAE,qBAAqB,CAAC,WAAW,CAAC,CAAC,CAAC;IAC9D,QAAQ,CAAC,GAAG,CAAC,YAAY,EAAE,sBAAsB,CAAC,WAAW,CAAC,CAAC,CAAC;IAChE,QAAQ,CAAC,GAAG,CAAC,WAAW,EAAE,qBAAqB,CAAC,WAAW,CAAC,CAAC,CAAC;IAC9D,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,WAAW,CAAC,CAAC,CAAC;IACrD,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,WAAW,CAAC,CAAC,CAAC;IAErD,OAAO,QAAQ,CAAC;AAClB,CAAC"}
|
|
1
|
+
{"version":3,"file":"handlers.js","sourceRoot":"","sources":["../../../src/orchestrator/tools/handlers.ts"],"names":[],"mappings":"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"}
|