@cluesmith/codev 3.2.4 → 3.3.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/dashboard-dist/assets/index-BZRTEMtH.css +32 -0
- package/dashboard-dist/assets/{index-BZ1x7x1X.js → index-JCbkpAcV.js} +33 -33
- package/dashboard-dist/assets/index-JCbkpAcV.js.map +1 -0
- package/dashboard-dist/index.html +2 -2
- package/dist/agent-farm/cli.d.ts.map +1 -1
- package/dist/agent-farm/cli.js +142 -0
- package/dist/agent-farm/cli.js.map +1 -1
- package/dist/agent-farm/commands/cleanup.d.ts.map +1 -1
- package/dist/agent-farm/commands/cleanup.js +16 -0
- package/dist/agent-farm/commands/cleanup.js.map +1 -1
- package/dist/agent-farm/commands/inbox.d.ts +42 -0
- package/dist/agent-farm/commands/inbox.d.ts.map +1 -0
- package/dist/agent-farm/commands/inbox.js +129 -0
- package/dist/agent-farm/commands/inbox.js.map +1 -0
- package/dist/agent-farm/commands/interrupt.d.ts +20 -0
- package/dist/agent-farm/commands/interrupt.d.ts.map +1 -0
- package/dist/agent-farm/commands/interrupt.js +65 -0
- package/dist/agent-farm/commands/interrupt.js.map +1 -0
- package/dist/agent-farm/commands/reset/constants.d.ts +52 -0
- package/dist/agent-farm/commands/reset/constants.d.ts.map +1 -0
- package/dist/agent-farm/commands/reset/constants.js +52 -0
- package/dist/agent-farm/commands/reset/constants.js.map +1 -0
- package/dist/agent-farm/commands/reset/context.d.ts +230 -0
- package/dist/agent-farm/commands/reset/context.d.ts.map +1 -0
- package/dist/agent-farm/commands/reset/context.js +428 -0
- package/dist/agent-farm/commands/reset/context.js.map +1 -0
- package/dist/agent-farm/commands/reset/index.d.ts +192 -0
- package/dist/agent-farm/commands/reset/index.d.ts.map +1 -0
- package/dist/agent-farm/commands/reset/index.js +488 -0
- package/dist/agent-farm/commands/reset/index.js.map +1 -0
- package/dist/agent-farm/commands/reset/receipt.d.ts +97 -0
- package/dist/agent-farm/commands/reset/receipt.d.ts.map +1 -0
- package/dist/agent-farm/commands/reset/receipt.js +149 -0
- package/dist/agent-farm/commands/reset/receipt.js.map +1 -0
- package/dist/agent-farm/commands/reset/reorient.d.ts +117 -0
- package/dist/agent-farm/commands/reset/reorient.d.ts.map +1 -0
- package/dist/agent-farm/commands/reset/reorient.js +313 -0
- package/dist/agent-farm/commands/reset/reorient.js.map +1 -0
- package/dist/agent-farm/commands/reset.d.ts +19 -0
- package/dist/agent-farm/commands/reset.d.ts.map +1 -0
- package/dist/agent-farm/commands/reset.js +292 -0
- package/dist/agent-farm/commands/reset.js.map +1 -0
- package/dist/agent-farm/commands/send.d.ts.map +1 -1
- package/dist/agent-farm/commands/send.js +49 -8
- package/dist/agent-farm/commands/send.js.map +1 -1
- package/dist/agent-farm/commands/spawn-worktree.d.ts +105 -6
- package/dist/agent-farm/commands/spawn-worktree.d.ts.map +1 -1
- package/dist/agent-farm/commands/spawn-worktree.js +289 -66
- package/dist/agent-farm/commands/spawn-worktree.js.map +1 -1
- package/dist/agent-farm/commands/spawn.d.ts.map +1 -1
- package/dist/agent-farm/commands/spawn.js +13 -1
- package/dist/agent-farm/commands/spawn.js.map +1 -1
- package/dist/agent-farm/commands/status.d.ts.map +1 -1
- package/dist/agent-farm/commands/status.js +80 -8
- package/dist/agent-farm/commands/status.js.map +1 -1
- package/dist/agent-farm/db/index.d.ts +1 -1
- package/dist/agent-farm/db/index.d.ts.map +1 -1
- package/dist/agent-farm/db/index.js +80 -1
- package/dist/agent-farm/db/index.js.map +1 -1
- package/dist/agent-farm/db/mailbox.d.ts +222 -0
- package/dist/agent-farm/db/mailbox.d.ts.map +1 -0
- package/dist/agent-farm/db/mailbox.js +304 -0
- package/dist/agent-farm/db/mailbox.js.map +1 -0
- package/dist/agent-farm/db/schema.d.ts +1 -1
- package/dist/agent-farm/db/schema.d.ts.map +1 -1
- package/dist/agent-farm/db/schema.js +35 -0
- package/dist/agent-farm/db/schema.js.map +1 -1
- package/dist/agent-farm/db/types.d.ts +45 -0
- package/dist/agent-farm/db/types.d.ts.map +1 -1
- package/dist/agent-farm/db/types.js.map +1 -1
- package/dist/agent-farm/lib/builder-lookup.d.ts +1 -1
- package/dist/agent-farm/lib/builder-lookup.js +2 -2
- package/dist/agent-farm/lib/builder-lookup.js.map +1 -1
- package/dist/agent-farm/lib/reconnect-backoff.d.ts +54 -0
- package/dist/agent-farm/lib/reconnect-backoff.d.ts.map +1 -0
- package/dist/agent-farm/lib/reconnect-backoff.js +47 -0
- package/dist/agent-farm/lib/reconnect-backoff.js.map +1 -0
- package/dist/agent-farm/lib/tower-client.d.ts +16 -6
- package/dist/agent-farm/lib/tower-client.d.ts.map +1 -1
- package/dist/agent-farm/lib/tower-client.js +37 -6
- package/dist/agent-farm/lib/tower-client.js.map +1 -1
- package/dist/agent-farm/lib/tunnel-client.d.ts +69 -1
- package/dist/agent-farm/lib/tunnel-client.d.ts.map +1 -1
- package/dist/agent-farm/lib/tunnel-client.js +218 -27
- package/dist/agent-farm/lib/tunnel-client.js.map +1 -1
- package/dist/agent-farm/servers/cron-delivery.d.ts +72 -0
- package/dist/agent-farm/servers/cron-delivery.d.ts.map +1 -0
- package/dist/agent-farm/servers/cron-delivery.js +80 -0
- package/dist/agent-farm/servers/cron-delivery.js.map +1 -0
- package/dist/agent-farm/servers/delayed-send.d.ts +85 -0
- package/dist/agent-farm/servers/delayed-send.d.ts.map +1 -0
- package/dist/agent-farm/servers/delayed-send.js +165 -0
- package/dist/agent-farm/servers/delayed-send.js.map +1 -0
- package/dist/agent-farm/servers/gate-profiles.d.ts +67 -0
- package/dist/agent-farm/servers/gate-profiles.d.ts.map +1 -0
- package/dist/agent-farm/servers/gate-profiles.js +113 -0
- package/dist/agent-farm/servers/gate-profiles.js.map +1 -0
- package/dist/agent-farm/servers/mailbox-delivery.d.ts +370 -0
- package/dist/agent-farm/servers/mailbox-delivery.d.ts.map +1 -0
- package/dist/agent-farm/servers/mailbox-delivery.js +617 -0
- package/dist/agent-farm/servers/mailbox-delivery.js.map +1 -0
- package/dist/agent-farm/servers/mailbox-wiring.d.ts +125 -0
- package/dist/agent-farm/servers/mailbox-wiring.d.ts.map +1 -0
- package/dist/agent-farm/servers/mailbox-wiring.js +425 -0
- package/dist/agent-farm/servers/mailbox-wiring.js.map +1 -0
- package/dist/agent-farm/servers/message-write.d.ts +53 -1
- package/dist/agent-farm/servers/message-write.d.ts.map +1 -1
- package/dist/agent-farm/servers/message-write.js +63 -0
- package/dist/agent-farm/servers/message-write.js.map +1 -1
- package/dist/agent-farm/servers/overview.d.ts.map +1 -1
- package/dist/agent-farm/servers/overview.js +23 -4
- package/dist/agent-farm/servers/overview.js.map +1 -1
- package/dist/agent-farm/servers/render-gate.d.ts +141 -0
- package/dist/agent-farm/servers/render-gate.d.ts.map +1 -0
- package/dist/agent-farm/servers/render-gate.js +251 -0
- package/dist/agent-farm/servers/render-gate.js.map +1 -0
- package/dist/agent-farm/servers/session-submit.d.ts +90 -0
- package/dist/agent-farm/servers/session-submit.d.ts.map +1 -0
- package/dist/agent-farm/servers/session-submit.js +127 -0
- package/dist/agent-farm/servers/session-submit.js.map +1 -0
- package/dist/agent-farm/servers/tower-cron.d.ts +10 -7
- package/dist/agent-farm/servers/tower-cron.d.ts.map +1 -1
- package/dist/agent-farm/servers/tower-cron.js +58 -53
- package/dist/agent-farm/servers/tower-cron.js.map +1 -1
- package/dist/agent-farm/servers/tower-instances.d.ts +14 -2
- package/dist/agent-farm/servers/tower-instances.d.ts.map +1 -1
- package/dist/agent-farm/servers/tower-instances.js +78 -16
- package/dist/agent-farm/servers/tower-instances.js.map +1 -1
- package/dist/agent-farm/servers/tower-messages.d.ts +38 -1
- package/dist/agent-farm/servers/tower-messages.d.ts.map +1 -1
- package/dist/agent-farm/servers/tower-messages.js +106 -1
- package/dist/agent-farm/servers/tower-messages.js.map +1 -1
- package/dist/agent-farm/servers/tower-routes.d.ts +16 -4
- package/dist/agent-farm/servers/tower-routes.d.ts.map +1 -1
- package/dist/agent-farm/servers/tower-routes.js +670 -105
- package/dist/agent-farm/servers/tower-routes.js.map +1 -1
- package/dist/agent-farm/servers/tower-server.js +163 -31
- package/dist/agent-farm/servers/tower-server.js.map +1 -1
- package/dist/agent-farm/servers/tower-terminals.d.ts +17 -2
- package/dist/agent-farm/servers/tower-terminals.d.ts.map +1 -1
- package/dist/agent-farm/servers/tower-terminals.js +104 -122
- package/dist/agent-farm/servers/tower-terminals.js.map +1 -1
- package/dist/agent-farm/servers/tower-tunnel.d.ts.map +1 -1
- package/dist/agent-farm/servers/tower-tunnel.js +63 -4
- package/dist/agent-farm/servers/tower-tunnel.js.map +1 -1
- package/dist/agent-farm/servers/tower-types.d.ts +2 -1
- package/dist/agent-farm/servers/tower-types.d.ts.map +1 -1
- package/dist/agent-farm/servers/tower-utils.d.ts +64 -1
- package/dist/agent-farm/servers/tower-utils.d.ts.map +1 -1
- package/dist/agent-farm/servers/tower-utils.js +168 -1
- package/dist/agent-farm/servers/tower-utils.js.map +1 -1
- package/dist/agent-farm/servers/tower-websocket.d.ts.map +1 -1
- package/dist/agent-farm/servers/tower-websocket.js +6 -21
- package/dist/agent-farm/servers/tower-websocket.js.map +1 -1
- package/dist/agent-farm/servers/write-queue.d.ts +35 -0
- package/dist/agent-farm/servers/write-queue.d.ts.map +1 -0
- package/dist/agent-farm/servers/write-queue.js +56 -0
- package/dist/agent-farm/servers/write-queue.js.map +1 -0
- package/dist/agent-farm/types.d.ts +39 -0
- package/dist/agent-farm/types.d.ts.map +1 -1
- package/dist/agent-farm/utils/agent-names.d.ts +2 -2
- package/dist/agent-farm/utils/agent-names.d.ts.map +1 -1
- package/dist/agent-farm/utils/agent-names.js +3 -3
- package/dist/agent-farm/utils/agent-names.js.map +1 -1
- package/dist/agent-farm/utils/architect-name.d.ts +2 -2
- package/dist/agent-farm/utils/architect-name.d.ts.map +1 -1
- package/dist/agent-farm/utils/architect-name.js +3 -3
- package/dist/agent-farm/utils/architect-name.js.map +1 -1
- package/dist/agent-farm/utils/config.d.ts +13 -0
- package/dist/agent-farm/utils/config.d.ts.map +1 -1
- package/dist/agent-farm/utils/config.js +33 -1
- package/dist/agent-farm/utils/config.js.map +1 -1
- package/dist/agent-farm/utils/harness.d.ts +103 -7
- package/dist/agent-farm/utils/harness.d.ts.map +1 -1
- package/dist/agent-farm/utils/harness.js +126 -19
- package/dist/agent-farm/utils/harness.js.map +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +6 -32
- package/dist/cli.js.map +1 -1
- package/dist/commands/consult/cli-options.d.ts +34 -0
- package/dist/commands/consult/cli-options.d.ts.map +1 -0
- package/dist/commands/consult/cli-options.js +67 -0
- package/dist/commands/consult/cli-options.js.map +1 -0
- package/dist/commands/consult/index.d.ts +56 -2
- package/dist/commands/consult/index.d.ts.map +1 -1
- package/dist/commands/consult/index.js +272 -28
- package/dist/commands/consult/index.js.map +1 -1
- package/dist/commands/consult/metrics.d.ts +42 -0
- package/dist/commands/consult/metrics.d.ts.map +1 -1
- package/dist/commands/consult/metrics.js +129 -9
- package/dist/commands/consult/metrics.js.map +1 -1
- package/dist/commands/doctor.d.ts.map +1 -1
- package/dist/commands/doctor.js +71 -19
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/porch/checks.d.ts +23 -0
- package/dist/commands/porch/checks.d.ts.map +1 -1
- package/dist/commands/porch/checks.js +60 -0
- package/dist/commands/porch/checks.js.map +1 -1
- package/dist/commands/porch/config.d.ts +20 -0
- package/dist/commands/porch/config.d.ts.map +1 -1
- package/dist/commands/porch/config.js +20 -0
- package/dist/commands/porch/config.js.map +1 -1
- package/dist/commands/porch/index.js +21 -28
- package/dist/commands/porch/index.js.map +1 -1
- package/dist/commands/porch/next.d.ts.map +1 -1
- package/dist/commands/porch/next.js +2 -41
- package/dist/commands/porch/next.js.map +1 -1
- package/dist/lib/config.d.ts +69 -3
- package/dist/lib/config.d.ts.map +1 -1
- package/dist/lib/config.js +67 -3
- package/dist/lib/config.js.map +1 -1
- package/dist/lib/consult-lanes.d.ts +149 -0
- package/dist/lib/consult-lanes.d.ts.map +1 -0
- package/dist/lib/consult-lanes.js +360 -0
- package/dist/lib/consult-lanes.js.map +1 -0
- package/dist/lib/github.js +1 -1
- package/dist/lib/github.js.map +1 -1
- package/dist/lib/prompt-behavior-metrics.d.ts +67 -0
- package/dist/lib/prompt-behavior-metrics.d.ts.map +1 -0
- package/dist/lib/prompt-behavior-metrics.js +290 -0
- package/dist/lib/prompt-behavior-metrics.js.map +1 -0
- package/dist/lib/skeleton.d.ts +22 -1
- package/dist/lib/skeleton.d.ts.map +1 -1
- package/dist/lib/skeleton.js +120 -0
- package/dist/lib/skeleton.js.map +1 -1
- package/dist/lib/test-env.d.ts +74 -0
- package/dist/lib/test-env.d.ts.map +1 -0
- package/dist/lib/test-env.js +92 -0
- package/dist/lib/test-env.js.map +1 -0
- package/dist/terminal/pty-manager.d.ts +2 -0
- package/dist/terminal/pty-manager.d.ts.map +1 -1
- package/dist/terminal/pty-manager.js +16 -6
- package/dist/terminal/pty-manager.js.map +1 -1
- package/dist/terminal/pty-session.d.ts +131 -0
- package/dist/terminal/pty-session.d.ts.map +1 -1
- package/dist/terminal/pty-session.js +232 -39
- package/dist/terminal/pty-session.js.map +1 -1
- package/dist/terminal/ring-buffer.d.ts +39 -6
- package/dist/terminal/ring-buffer.d.ts.map +1 -1
- package/dist/terminal/ring-buffer.js +74 -6
- package/dist/terminal/ring-buffer.js.map +1 -1
- package/dist/terminal/session-manager.d.ts +53 -0
- package/dist/terminal/session-manager.d.ts.map +1 -1
- package/dist/terminal/session-manager.js +94 -9
- package/dist/terminal/session-manager.js.map +1 -1
- package/dist/terminal/session-screen.d.ts +91 -0
- package/dist/terminal/session-screen.d.ts.map +1 -0
- package/dist/terminal/session-screen.js +135 -0
- package/dist/terminal/session-screen.js.map +1 -0
- package/dist/terminal/shellper-main.js +2 -1
- package/dist/terminal/shellper-main.js.map +1 -1
- package/dist/terminal/shellper-process.d.ts +1 -1
- package/dist/terminal/shellper-process.d.ts.map +1 -1
- package/dist/terminal/shellper-process.js +17 -8
- package/dist/terminal/shellper-process.js.map +1 -1
- package/dist/terminal/shellper-replay-buffer.d.ts +69 -7
- package/dist/terminal/shellper-replay-buffer.d.ts.map +1 -1
- package/dist/terminal/shellper-replay-buffer.js +167 -31
- package/dist/terminal/shellper-replay-buffer.js.map +1 -1
- package/package.json +8 -6
- package/skeleton/.claude/skills/afx/SKILL.md +14 -1
- package/skeleton/.claude/skills/arch-init/SKILL.md +22 -9
- package/skeleton/.claude/skills/arch-save/SKILL.md +183 -0
- package/skeleton/.claude/skills/codev/SKILL.md +31 -0
- package/skeleton/.claude/skills/runnable-worktrees/SKILL.md +119 -0
- package/skeleton/.codex/skills/afx/SKILL.md +14 -1
- package/skeleton/.codex/skills/arch-init/SKILL.md +22 -9
- package/skeleton/.codex/skills/arch-save/SKILL.md +183 -0
- package/skeleton/.codex/skills/codev/SKILL.md +31 -0
- package/skeleton/.codex/skills/runnable-worktrees/SKILL.md +119 -0
- package/skeleton/protocols/air/builder-prompt.md +28 -47
- package/skeleton/protocols/air/consult-types/impl-review.md +17 -34
- package/skeleton/protocols/air/consult-types/pr-review.md +14 -37
- package/skeleton/protocols/air/prompts/implement.md +20 -73
- package/skeleton/protocols/air/prompts/pr.md +22 -54
- package/skeleton/protocols/air/protocol.md +40 -71
- package/skeleton/protocols/aspir/builder-prompt.md +29 -66
- package/skeleton/protocols/aspir/consult-types/impl-review.md +17 -44
- package/skeleton/protocols/aspir/consult-types/phase-review.md +17 -44
- package/skeleton/protocols/aspir/consult-types/plan-review.md +14 -38
- package/skeleton/protocols/aspir/consult-types/pr-review.md +13 -39
- package/skeleton/protocols/aspir/consult-types/spec-review.md +13 -33
- package/skeleton/protocols/aspir/prompts/implement.md +27 -196
- package/skeleton/protocols/aspir/prompts/plan.md +21 -85
- package/skeleton/protocols/aspir/prompts/review.md +29 -228
- package/skeleton/protocols/aspir/prompts/specify.md +25 -111
- package/skeleton/protocols/aspir/protocol.json +10 -0
- package/skeleton/protocols/aspir/protocol.md +36 -82
- package/skeleton/protocols/bugfix/builder-prompt.md +23 -45
- package/skeleton/protocols/bugfix/consult-types/impl-review.md +21 -45
- package/skeleton/protocols/bugfix/consult-types/pr-review.md +18 -52
- package/skeleton/protocols/bugfix/prompts/fix.md +16 -61
- package/skeleton/protocols/bugfix/prompts/investigate.md +18 -62
- package/skeleton/protocols/bugfix/prompts/pr.md +22 -57
- package/skeleton/protocols/bugfix/protocol.md +44 -50
- package/skeleton/protocols/experiment/builder-prompt.md +25 -58
- package/skeleton/protocols/experiment/protocol.md +22 -188
- package/skeleton/protocols/experiment/templates/notes.md +11 -71
- package/skeleton/protocols/maintain/builder-prompt.md +24 -45
- package/skeleton/protocols/maintain/consult-types/impl-review.md +17 -44
- package/skeleton/protocols/maintain/consult-types/pr-review.md +13 -39
- package/skeleton/protocols/maintain/prompts/maintain.md +1 -1
- package/skeleton/protocols/maintain/protocol.md +32 -266
- package/skeleton/protocols/maintain/templates/maintenance-run.md +11 -0
- package/skeleton/protocols/pir/builder-prompt.md +30 -64
- package/skeleton/protocols/pir/consult-types/impl-review.md +17 -50
- package/skeleton/protocols/pir/consult-types/pr-review.md +11 -40
- package/skeleton/protocols/pir/prompts/implement.md +1 -2
- package/skeleton/protocols/pir/prompts/plan.md +0 -3
- package/skeleton/protocols/pir/prompts/review.md +1 -1
- package/skeleton/protocols/pir/protocol.md +54 -177
- package/skeleton/protocols/research/builder-prompt.md +27 -58
- package/skeleton/protocols/research/protocol.md +28 -153
- package/skeleton/protocols/spike/builder-prompt.md +30 -48
- package/skeleton/protocols/spike/protocol.md +24 -107
- package/skeleton/protocols/spike/templates/findings.md +9 -39
- package/skeleton/protocols/spir/builder-prompt.md +33 -62
- package/skeleton/protocols/spir/consult-types/impl-review.md +17 -44
- package/skeleton/protocols/spir/consult-types/phase-review.md +17 -44
- package/skeleton/protocols/spir/consult-types/plan-review.md +14 -38
- package/skeleton/protocols/spir/consult-types/pr-review.md +13 -39
- package/skeleton/protocols/spir/consult-types/spec-review.md +13 -33
- package/skeleton/protocols/spir/prompts/implement.md +26 -195
- package/skeleton/protocols/spir/prompts/plan.md +20 -84
- package/skeleton/protocols/spir/prompts/review.md +28 -227
- package/skeleton/protocols/spir/prompts/specify.md +24 -110
- package/skeleton/protocols/spir/protocol.json +10 -0
- package/skeleton/protocols/spir/protocol.md +84 -633
- package/skeleton/protocols/spir/templates/plan.md +28 -147
- package/skeleton/protocols/spir/templates/review.md +21 -80
- package/skeleton/protocols/spir/templates/spec.md +24 -118
- package/skeleton/resources/commands/agent-farm.md +259 -0
- package/skeleton/resources/commands/consult.md +236 -8
- package/skeleton/resources/commands/overview.md +1 -0
- package/skeleton/roles/architect.md +67 -317
- package/skeleton/roles/builder.md +77 -191
- package/skeleton/templates/AGENTS.md +2 -0
- package/skeleton/templates/CLAUDE.md +2 -0
- package/templates/tower.html +39 -2
- package/dashboard-dist/assets/index-BZ1x7x1X.js.map +0 -1
- package/dashboard-dist/assets/index-DB1KBSNE.css +0 -32
- package/dist/agent-farm/servers/send-buffer.d.ts +0 -59
- package/dist/agent-farm/servers/send-buffer.d.ts.map +0 -1
- package/dist/agent-farm/servers/send-buffer.js +0 -116
- package/dist/agent-farm/servers/send-buffer.js.map +0 -1
- package/skeleton/porch/prompts/defend.md +0 -108
- package/skeleton/porch/prompts/diagnose.md +0 -70
- package/skeleton/porch/prompts/evaluate.md +0 -132
- package/skeleton/porch/prompts/fix.md +0 -59
- package/skeleton/porch/prompts/implement.md +0 -88
- package/skeleton/porch/prompts/plan.md +0 -74
- package/skeleton/porch/prompts/pr.md +0 -84
- package/skeleton/porch/prompts/review.md +0 -249
- package/skeleton/porch/prompts/specify.md +0 -53
- package/skeleton/porch/prompts/test.md +0 -63
- package/skeleton/protocols/aspir/templates/plan.md +0 -184
- package/skeleton/protocols/aspir/templates/review.md +0 -120
- package/skeleton/protocols/aspir/templates/spec.md +0 -154
|
@@ -1,9 +1,14 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Agent harness abstraction.
|
|
3
3
|
*
|
|
4
|
-
* Encapsulates how different agent CLI tools (Claude, Codex,
|
|
4
|
+
* Encapsulates how different agent CLI tools (Claude, Codex, etc.)
|
|
5
5
|
* handle role/system prompt injection. Built-in providers cover Claude, Codex,
|
|
6
|
-
* and
|
|
6
|
+
* and OpenCode. Custom providers can be defined in .codev/config.json.
|
|
7
|
+
*
|
|
8
|
+
* The built-in Gemini CLI harness was retired in Issue #1338 (Google ended
|
|
9
|
+
* consumer-tier Gemini CLI availability on 2026-06-18); selecting it now fails
|
|
10
|
+
* closed with a retirement message instead of resolving a provider. See
|
|
11
|
+
* RETIRED_HARNESSES below.
|
|
7
12
|
*
|
|
8
13
|
* Two integration patterns exist:
|
|
9
14
|
* - Node spawn() call sites: use buildRoleInjection() → returns args + env
|
|
@@ -17,6 +22,10 @@ import { buildWorktreeGuardFiles } from './worktree-write-guard.js';
|
|
|
17
22
|
// Built-in providers
|
|
18
23
|
// =============================================================================
|
|
19
24
|
export const CLAUDE_HARNESS = {
|
|
25
|
+
// Spec 1273: `/clear` empties the conversation while leaving the process — and
|
|
26
|
+
// therefore the --append-system-prompt role below — intact. That is what makes
|
|
27
|
+
// an in-session reset possible here and nowhere else today.
|
|
28
|
+
supportsContextReset: true,
|
|
20
29
|
buildRoleInjection: (content, _filePath) => ({
|
|
21
30
|
args: ['--append-system-prompt', content],
|
|
22
31
|
env: {},
|
|
@@ -43,6 +52,10 @@ export const CLAUDE_HARNESS = {
|
|
|
43
52
|
session: {
|
|
44
53
|
newSessionArgs: (sessionId) => ['--session-id', sessionId],
|
|
45
54
|
resumeArgs: (sessionId) => ['--resume', sessionId],
|
|
55
|
+
// Issue #1233: script-fragment forms for the builder crash-resume loop.
|
|
56
|
+
// `idExpr` arrives pre-quoted (a shell variable reference, not a literal).
|
|
57
|
+
newSessionScriptFragment: (idExpr) => `--session-id ${idExpr}`,
|
|
58
|
+
resumeScriptFragment: (idExpr) => `--resume ${idExpr}`,
|
|
46
59
|
// Issue #1145: a stored id is only resumed when its jsonl still exists
|
|
47
60
|
// under this cwd's project dir (stale ids degrade to a fresh spawn).
|
|
48
61
|
verifyOwnership: (sessionId, cwd, opts) => verifySessionOwnership(cwd, sessionId, opts),
|
|
@@ -58,16 +71,6 @@ export const CODEX_HARNESS = {
|
|
|
58
71
|
env: {},
|
|
59
72
|
}),
|
|
60
73
|
};
|
|
61
|
-
export const GEMINI_HARNESS = {
|
|
62
|
-
buildRoleInjection: (_content, filePath) => ({
|
|
63
|
-
args: [],
|
|
64
|
-
env: { GEMINI_SYSTEM_MD: filePath },
|
|
65
|
-
}),
|
|
66
|
-
buildScriptRoleInjection: (_content, filePath) => ({
|
|
67
|
-
fragment: '',
|
|
68
|
-
env: { GEMINI_SYSTEM_MD: filePath },
|
|
69
|
-
}),
|
|
70
|
-
};
|
|
71
74
|
export const OPENCODE_HARNESS = {
|
|
72
75
|
buildRoleInjection: () => {
|
|
73
76
|
throw new Error('OpenCode is only supported as a builder shell, not as an architect shell. ' +
|
|
@@ -81,12 +84,98 @@ export const OPENCODE_HARNESS = {
|
|
|
81
84
|
content: JSON.stringify({ instructions: ['.builder-role.md'] }, null, 2) + '\n',
|
|
82
85
|
}]),
|
|
83
86
|
};
|
|
84
|
-
|
|
87
|
+
/**
|
|
88
|
+
* Exported for Spec 1273: `afx reset` identifies a running builder's harness from
|
|
89
|
+
* its launch script and must check `supportsContextReset` before typing into the
|
|
90
|
+
* terminal. It needs the name→provider map, not just the workspace default.
|
|
91
|
+
*/
|
|
92
|
+
export const BUILTIN_HARNESSES = {
|
|
85
93
|
claude: CLAUDE_HARNESS,
|
|
86
94
|
codex: CODEX_HARNESS,
|
|
87
|
-
gemini: GEMINI_HARNESS,
|
|
88
95
|
opencode: OPENCODE_HARNESS,
|
|
89
96
|
};
|
|
97
|
+
/**
|
|
98
|
+
* The built-in provider for `name`, or `undefined` when `name` is not a built-in
|
|
99
|
+
* harness. Uses an own-property check — the same guard `isRetiredHarness` gives
|
|
100
|
+
* `RETIRED_HARNESSES` — so inherited Object members (`constructor`, `toString`,
|
|
101
|
+
* `hasOwnProperty`, `valueOf`, …) on a *user-controlled* name are never misread as
|
|
102
|
+
* a provider. A bare `BUILTIN_HARNESSES[name]` for `name = 'constructor'` returns
|
|
103
|
+
* `Object`'s constructor (a truthy function), which a `if (builtin) return builtin`
|
|
104
|
+
* check would then hand back as a bogus "provider" that TypeErrors at the first
|
|
105
|
+
* `buildRoleInjection` call. The name reaches here straight from config
|
|
106
|
+
* (`shell.builderHarness` / a builder launch script), so the key is untrusted.
|
|
107
|
+
*/
|
|
108
|
+
export function getBuiltinHarness(name) {
|
|
109
|
+
return Object.prototype.hasOwnProperty.call(BUILTIN_HARNESSES, name)
|
|
110
|
+
? BUILTIN_HARNESSES[name]
|
|
111
|
+
: undefined;
|
|
112
|
+
}
|
|
113
|
+
// =============================================================================
|
|
114
|
+
// Retired harnesses
|
|
115
|
+
// =============================================================================
|
|
116
|
+
/**
|
|
117
|
+
* Built-in harness names Codev no longer supports, each mapped to the
|
|
118
|
+
* explanation shown when a user still selects it.
|
|
119
|
+
*
|
|
120
|
+
* A retired name is intercepted on *every* `resolveHarness` exit — the explicit
|
|
121
|
+
* path and the command auto-detect path — so it fails loudly and closed rather
|
|
122
|
+
* than silently falling back to Claude (the Issue #929 mis-injection class) or
|
|
123
|
+
* returning `undefined` (a `BUILTIN_HARNESSES[name]` miss → downstream
|
|
124
|
+
* TypeError). See `resolveHarness` and Issue #1338.
|
|
125
|
+
*
|
|
126
|
+
* Escape hatch: a user who retains access to a retired CLI (e.g. an
|
|
127
|
+
* enterprise/API-key Gemini subscription) can still wire it as a *custom*
|
|
128
|
+
* harness in .codev/config.json — the retirement targets the built-in name,
|
|
129
|
+
* not a user's own definition.
|
|
130
|
+
*/
|
|
131
|
+
export const RETIRED_HARNESSES = {
|
|
132
|
+
gemini: 'The built-in Gemini CLI harness is retired. Google ended Gemini CLI ' +
|
|
133
|
+
'availability for consumer accounts (free, Pro, and Ultra tiers) on ' +
|
|
134
|
+
'2026-06-18, so it no longer works for most users. Use a supported harness ' +
|
|
135
|
+
'instead: claude, codex, or opencode. If you still have Gemini CLI access ' +
|
|
136
|
+
'(a Standard/Enterprise subscription or API-key auth), define a custom ' +
|
|
137
|
+
'harness named "gemini" in .codev/config.json under the "harness" section ' +
|
|
138
|
+
'and select it explicitly with shell.builderHarness / shell.architectHarness ' +
|
|
139
|
+
'— a bare auto-detected "gemini" command stays retired. See issue #1338.',
|
|
140
|
+
};
|
|
141
|
+
/**
|
|
142
|
+
* Whether `name` is a retired built-in harness. Uses an own-property check so
|
|
143
|
+
* inherited Object keys (`constructor`, `toString`, …) are never misread as
|
|
144
|
+
* retired.
|
|
145
|
+
*/
|
|
146
|
+
export function isRetiredHarness(name) {
|
|
147
|
+
return Object.prototype.hasOwnProperty.call(RETIRED_HARNESSES, name);
|
|
148
|
+
}
|
|
149
|
+
/**
|
|
150
|
+
* The retirement explanation for `name`, or `undefined` when `name` is not a
|
|
151
|
+
* retired harness.
|
|
152
|
+
*/
|
|
153
|
+
export function getRetirement(name) {
|
|
154
|
+
return isRetiredHarness(name) ? RETIRED_HARNESSES[name] : undefined;
|
|
155
|
+
}
|
|
156
|
+
/**
|
|
157
|
+
* Error thrown when a retired harness name is selected. A distinct type lets a
|
|
158
|
+
* caller scope a `catch` to the retirement — return a safe default, or abort a
|
|
159
|
+
* spawn before it creates state — and rethrow every other error unchanged. Used
|
|
160
|
+
* by the spawn pre-flight and the Tower-side `siblingRegistrationIsLive`
|
|
161
|
+
* predicate (Issue #1338). `harnessName` is the retired name that triggered it.
|
|
162
|
+
*/
|
|
163
|
+
export class RetiredHarnessError extends Error {
|
|
164
|
+
harnessName;
|
|
165
|
+
constructor(harnessName, message) {
|
|
166
|
+
super(message);
|
|
167
|
+
this.harnessName = harnessName;
|
|
168
|
+
this.name = 'RetiredHarnessError';
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
/**
|
|
172
|
+
* Throw the consistent retirement error for retired harness `name`. Returns
|
|
173
|
+
* `never` so callers can use it as a resolver exit on any branch and keep one
|
|
174
|
+
* identical message regardless of which path selected the retired name.
|
|
175
|
+
*/
|
|
176
|
+
export function throwRetired(name) {
|
|
177
|
+
throw new RetiredHarnessError(name, getRetirement(name) ?? `The "${name}" harness is retired.`);
|
|
178
|
+
}
|
|
90
179
|
// =============================================================================
|
|
91
180
|
// Template expansion
|
|
92
181
|
// =============================================================================
|
|
@@ -201,21 +290,32 @@ export function detectHarnessFromCommand(command) {
|
|
|
201
290
|
* Resolve a harness name to a HarnessProvider.
|
|
202
291
|
*
|
|
203
292
|
* Resolution order:
|
|
204
|
-
* 1. Explicit harnessName → built-in
|
|
205
|
-
* 2.
|
|
206
|
-
*
|
|
293
|
+
* 1. Explicit harnessName → built-in provider, else custom provider
|
|
294
|
+
* 2. Retired name → throw the retirement error (fail closed). A same-named
|
|
295
|
+
* custom harness still wins for an *explicit* name (the escape hatch), but an
|
|
296
|
+
* auto-detected retired command is always retired — auto-detection never
|
|
297
|
+
* consults custom harnesses (Issue #1338).
|
|
298
|
+
* 3. Auto-detect from command string basename (if command provided)
|
|
299
|
+
* 4. Default to claude (backward compatible)
|
|
207
300
|
*
|
|
208
|
-
* Throws if harnessName is set but doesn't match any
|
|
301
|
+
* Throws if harnessName is retired, or is set but doesn't match any provider.
|
|
209
302
|
*/
|
|
210
303
|
export function resolveHarness(harnessName, customHarnesses, command) {
|
|
211
304
|
// Explicit harness name takes priority
|
|
212
305
|
if (harnessName) {
|
|
213
|
-
|
|
306
|
+
// Own-property lookup: `harnessName` is user-controlled, so a bare index could
|
|
307
|
+
// return an inherited Object member (`constructor`, …) as a bogus provider.
|
|
308
|
+
const builtin = getBuiltinHarness(harnessName);
|
|
214
309
|
if (builtin)
|
|
215
310
|
return builtin;
|
|
216
311
|
if (customHarnesses && harnessName in customHarnesses) {
|
|
217
312
|
return buildCustomHarnessProvider(customHarnesses[harnessName]);
|
|
218
313
|
}
|
|
314
|
+
// A retired name with no custom override fails closed with a clear message.
|
|
315
|
+
// Checked after the custom lookup so an explicit custom `gemini` (the
|
|
316
|
+
// escape hatch for retained enterprise/API-key access) still resolves.
|
|
317
|
+
if (isRetiredHarness(harnessName))
|
|
318
|
+
throwRetired(harnessName);
|
|
219
319
|
const knownNames = Object.keys(BUILTIN_HARNESSES);
|
|
220
320
|
const customNames = customHarnesses ? Object.keys(customHarnesses) : [];
|
|
221
321
|
const allNames = [...knownNames, ...customNames];
|
|
@@ -227,6 +327,13 @@ export function resolveHarness(harnessName, customHarnesses, command) {
|
|
|
227
327
|
if (command) {
|
|
228
328
|
const detected = detectHarnessFromCommand(command);
|
|
229
329
|
if (detected) {
|
|
330
|
+
// Intercept a retired detected name BEFORE the BUILTIN_HARNESSES lookup:
|
|
331
|
+
// it must never return undefined (removed registry entry) nor fall through
|
|
332
|
+
// to the Claude default below (the #929 silent-mismatch class). Auto-detect
|
|
333
|
+
// resolves the built-in namespace only, so a detected `gemini` is retired
|
|
334
|
+
// even when a custom `gemini` exists.
|
|
335
|
+
if (isRetiredHarness(detected))
|
|
336
|
+
throwRetired(detected);
|
|
230
337
|
return BUILTIN_HARNESSES[detected];
|
|
231
338
|
}
|
|
232
339
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"harness.js","sourceRoot":"","sources":["../../../src/agent-farm/utils/harness.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"harness.js","sourceRoot":"","sources":["../../../src/agent-farm/utils/harness.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAC5F,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AA6HpE,gFAAgF;AAChF,qBAAqB;AACrB,gFAAgF;AAEhF,MAAM,CAAC,MAAM,cAAc,GAAoB;IAC7C,+EAA+E;IAC/E,+EAA+E;IAC/E,4DAA4D;IAC5D,oBAAoB,EAAE,IAAI;IAC1B,kBAAkB,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC;QAC3C,IAAI,EAAE,CAAC,wBAAwB,EAAE,OAAO,CAAC;QACzC,GAAG,EAAE,EAAE;KACR,CAAC;IACF,wBAAwB,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;QACjD,QAAQ,EAAE,kCAAkC,sBAAsB,CAAC,QAAQ,CAAC,KAAK;QACjF,GAAG,EAAE,EAAE;KACR,CAAC;IACF,WAAW,EAAE,CAAC,YAAY,EAAE,IAAI,EAAE,EAAE;QAClC,MAAM,SAAS,GAAG,mBAAmB,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;QAC1D,IAAI,CAAC,SAAS;YAAE,OAAO,IAAI,CAAC;QAC5B,OAAO;YACL,SAAS;YACT,IAAI,EAAE,CAAC,UAAU,EAAE,SAAS,CAAC;YAC7B,cAAc,EAAE,aAAa,sBAAsB,CAAC,SAAS,CAAC,GAAG;SAClE,CAAC;IACJ,CAAC;IACD,8EAA8E;IAC9E,4EAA4E;IAC5E,gBAAgB,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,YAAY,EAAE,EAAE,CACtD,uBAAuB,CAAC,YAAY,CAAC;IACvC,iFAAiF;IACjF,kDAAkD;IAClD,OAAO,EAAE;QACP,cAAc,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,cAAc,EAAE,SAAS,CAAC;QAC1D,UAAU,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,UAAU,EAAE,SAAS,CAAC;QAClD,wEAAwE;QACxE,2EAA2E;QAC3E,wBAAwB,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,gBAAgB,MAAM,EAAE;QAC9D,oBAAoB,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,YAAY,MAAM,EAAE;QACtD,uEAAuE;QACvE,qEAAqE;QACrE,eAAe,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,sBAAsB,CAAC,GAAG,EAAE,SAAS,EAAE,IAAI,CAAC;KACxF;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAoB;IAC5C,kBAAkB,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;QAC3C,IAAI,EAAE,CAAC,IAAI,EAAE,2BAA2B,QAAQ,EAAE,CAAC;QACnD,GAAG,EAAE,EAAE;KACR,CAAC;IACF,wBAAwB,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;QACjD,QAAQ,EAAE,+BAA+B,sBAAsB,CAAC,QAAQ,CAAC,GAAG;QAC5E,GAAG,EAAE,EAAE;KACR,CAAC;CACH,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAoB;IAC/C,kBAAkB,EAAE,GAAG,EAAE;QACvB,MAAM,IAAI,KAAK,CACb,4EAA4E;YAC5E,6EAA6E;YAC7E,wEAAwE;YACxE,gEAAgE,CACjE,CAAC;IACJ,CAAC;IACD,wBAAwB,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC;IAC3D,gBAAgB,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;YACxB,YAAY,EAAE,eAAe;YAC7B,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,YAAY,EAAE,CAAC,kBAAkB,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI;SAChF,CAAC,CAAC;CACJ,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAoC;IAChE,MAAM,EAAE,cAAc;IACtB,KAAK,EAAE,aAAa;IACpB,QAAQ,EAAE,gBAAgB;CAC3B,CAAC;AAEF;;;;;;;;;;GAUG;AACH,MAAM,UAAU,iBAAiB,CAAC,IAAY;IAC5C,OAAO,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC;QAClE,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC;QACzB,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC;AAED,gFAAgF;AAChF,oBAAoB;AACpB,gFAAgF;AAEhF;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAA2B;IACvD,MAAM,EACJ,sEAAsE;QACtE,qEAAqE;QACrE,4EAA4E;QAC5E,2EAA2E;QAC3E,wEAAwE;QACxE,2EAA2E;QAC3E,8EAA8E;QAC9E,yEAAyE;CAC5E,CAAC;AAEF;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAAY;IAC3C,OAAO,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC;AACvE,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,aAAa,CAAC,IAAY;IACxC,OAAO,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACtE,CAAC;AAED;;;;;;GAMG;AACH,MAAM,OAAO,mBAAoB,SAAQ,KAAK;IAChB;IAA5B,YAA4B,WAAmB,EAAE,OAAe;QAC9D,KAAK,CAAC,OAAO,CAAC,CAAC;QADW,gBAAW,GAAX,WAAW,CAAQ;QAE7C,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAC;IACpC,CAAC;CACF;AAED;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAAC,IAAY;IACvC,MAAM,IAAI,mBAAmB,CAAC,IAAI,EAAE,aAAa,CAAC,IAAI,CAAC,IAAI,QAAQ,IAAI,uBAAuB,CAAC,CAAC;AAClG,CAAC;AAED,gFAAgF;AAChF,qBAAqB;AACrB,gFAAgF;AAEhF;;;;GAIG;AACH,SAAS,kBAAkB,CAAC,QAAgB,EAAE,WAAmB,EAAE,YAAoB;IACrF,qFAAqF;IACrF,OAAO,QAAQ;SACZ,OAAO,CAAC,kBAAkB,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC;SAC/C,OAAO,CAAC,qBAAqB,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,CAAC;AACvD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,sBAAsB,CAAC,KAAa;IAClD,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AACtC,CAAC;AAED,gFAAgF;AAChF,0BAA0B;AAC1B,gFAAgF;AAEhF;;;GAGG;AACH,MAAM,UAAU,0BAA0B,CAAC,MAA2B;IACpE,OAAO;QACL,kBAAkB,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;YAC1C,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,kBAAkB,CAAC,GAAG,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;YAC5E,GAAG,EAAE,MAAM,CAAC,WAAW,CACrB,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,GAAG,CACtC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,kBAAkB,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,CAC1D,CACF;SACF,CAAC;QACF,wBAAwB,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;YAChD,QAAQ,EAAE,kBAAkB,CAAC,MAAM,CAAC,kBAAkB,EAAE,OAAO,EAAE,QAAQ,CAAC;YAC1E,GAAG,EAAE,MAAM,CAAC,WAAW,CACrB,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC,GAAG,CAC5C,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,kBAAkB,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,CAC1D,CACF;SACF,CAAC;KACH,CAAC;AACJ,CAAC;AAED,gFAAgF;AAChF,aAAa;AACb,gFAAgF;AAEhF;;;GAGG;AACH,MAAM,UAAU,2BAA2B,CAAC,IAAY,EAAE,MAAe;IACvE,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QAClD,MAAM,IAAI,KAAK,CAAC,YAAY,IAAI,8BAA8B,OAAO,MAAM,EAAE,CAAC,CAAC;IACjF,CAAC;IAED,MAAM,GAAG,GAAG,MAAiC,CAAC;IAE9C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CAAC,YAAY,IAAI,+DAA+D,CAAC,CAAC;IACnG,CAAC;IACD,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAU,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,EAAE,CAAC;QAC/D,MAAM,IAAI,KAAK,CAAC,YAAY,IAAI,yCAAyC,CAAC,CAAC;IAC7E,CAAC;IAED,IAAI,OAAO,GAAG,CAAC,kBAAkB,KAAK,QAAQ,EAAE,CAAC;QAC/C,MAAM,IAAI,KAAK,CAAC,YAAY,IAAI,mEAAmE,CAAC,CAAC;IACvG,CAAC;IAED,IAAI,GAAG,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QAC9B,IAAI,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,IAAI,GAAG,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;YAC5D,MAAM,IAAI,KAAK,CAAC,YAAY,IAAI,4CAA4C,CAAC,CAAC;QAChF,CAAC;QACD,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,OAAkC,CAAC,EAAE,CAAC;YAC5E,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;gBAC1B,MAAM,IAAI,KAAK,CAAC,YAAY,IAAI,eAAe,CAAC,2BAA2B,OAAO,CAAC,EAAE,CAAC,CAAC;YACzF,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,GAAG,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;QACpC,IAAI,OAAO,GAAG,CAAC,aAAa,KAAK,QAAQ,IAAI,GAAG,CAAC,aAAa,KAAK,IAAI,EAAE,CAAC;YACxE,MAAM,IAAI,KAAK,CAAC,YAAY,IAAI,kDAAkD,CAAC,CAAC;QACtF,CAAC;QACD,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,aAAwC,CAAC,EAAE,CAAC;YAClF,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;gBAC1B,MAAM,IAAI,KAAK,CAAC,YAAY,IAAI,qBAAqB,CAAC,2BAA2B,OAAO,CAAC,EAAE,CAAC,CAAC;YAC/F,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,GAAqC,CAAC;AAC/C,CAAC;AAED,gFAAgF;AAChF,iBAAiB;AACjB,gFAAgF;AAEhF;;;;GAIG;AACH,MAAM,UAAU,wBAAwB,CAAC,OAAe;IACtD,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAClD,IAAI,CAAC,UAAU;QAAE,OAAO,SAAS,CAAC;IAElC,qEAAqE;IACrE,MAAM,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,UAAU,CAAC;IAE3D,IAAI,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAAE,OAAO,QAAQ,CAAC;IACjD,IAAI,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC;QAAE,OAAO,OAAO,CAAC;IAC/C,IAAI,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAAE,OAAO,QAAQ,CAAC;IACjD,IAAI,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC;QAAE,OAAO,UAAU,CAAC;IAErD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,gFAAgF;AAChF,aAAa;AACb,gFAAgF;AAEhF;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,cAAc,CAC5B,WAA+B,EAC/B,eAAqD,EACrD,OAAgB;IAEhB,uCAAuC;IACvC,IAAI,WAAW,EAAE,CAAC;QAChB,+EAA+E;QAC/E,4EAA4E;QAC5E,MAAM,OAAO,GAAG,iBAAiB,CAAC,WAAW,CAAC,CAAC;QAC/C,IAAI,OAAO;YAAE,OAAO,OAAO,CAAC;QAE5B,IAAI,eAAe,IAAI,WAAW,IAAI,eAAe,EAAE,CAAC;YACtD,OAAO,0BAA0B,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC,CAAC;QAClE,CAAC;QAED,4EAA4E;QAC5E,sEAAsE;QACtE,uEAAuE;QACvE,IAAI,gBAAgB,CAAC,WAAW,CAAC;YAAE,YAAY,CAAC,WAAW,CAAC,CAAC;QAE7D,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAClD,MAAM,WAAW,GAAG,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACxE,MAAM,QAAQ,GAAG,CAAC,GAAG,UAAU,EAAE,GAAG,WAAW,CAAC,CAAC;QAEjD,MAAM,IAAI,KAAK,CACb,oBAAoB,WAAW,KAAK;YACpC,wBAAwB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,QAAQ,IAAI;YAC3D,+EAA+E,CAChF,CAAC;IACJ,CAAC;IAED,oCAAoC;IACpC,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,QAAQ,GAAG,wBAAwB,CAAC,OAAO,CAAC,CAAC;QACnD,IAAI,QAAQ,EAAE,CAAC;YACb,yEAAyE;YACzE,2EAA2E;YAC3E,4EAA4E;YAC5E,0EAA0E;YAC1E,sCAAsC;YACtC,IAAI,gBAAgB,CAAC,QAAQ,CAAC;gBAAE,YAAY,CAAC,QAAQ,CAAC,CAAC;YACvD,OAAO,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;IAED,oBAAoB;IACpB,OAAO,cAAc,CAAC;AACxB,CAAC"}
|
package/dist/cli.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA;;GAEG;
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA;;GAEG;AAuVH;;;;GAIG;AACH,wBAAsB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAIvD"}
|
package/dist/cli.js
CHANGED
|
@@ -12,6 +12,7 @@ import { update } from './commands/update.js';
|
|
|
12
12
|
import { sync, getFrameworkCacheDir as _getFrameworkCacheDir } from './commands/sync.js';
|
|
13
13
|
import { setFrameworkCacheDir } from './lib/skeleton.js';
|
|
14
14
|
import { consult } from './commands/consult/index.js';
|
|
15
|
+
import { registerConsultOptions, buildConsultOptions } from './commands/consult/cli-options.js';
|
|
15
16
|
import { handleStats } from './commands/consult/stats.js';
|
|
16
17
|
import { cli as porchCli } from './commands/porch/index.js';
|
|
17
18
|
import { importCommand } from './commands/import.js';
|
|
@@ -158,26 +159,12 @@ program
|
|
|
158
159
|
}
|
|
159
160
|
});
|
|
160
161
|
// Consult command
|
|
161
|
-
|
|
162
|
+
// Flags and their mapping onto ConsultOptions live in commands/consult/cli-options.ts so a unit
|
|
163
|
+
// test can assert the two agree — see that file for why.
|
|
164
|
+
registerConsultOptions(program
|
|
162
165
|
.command('consult')
|
|
163
166
|
.description('AI consultation with external models')
|
|
164
|
-
.argument('[subcommand]', 'Optional: stats')
|
|
165
|
-
.option('-m, --model <model>', 'Model to use (gemini, codex, claude, hermes, or aliases: pro, gpt, opus)')
|
|
166
|
-
.option('--prompt <text>', 'Inline prompt (general mode)')
|
|
167
|
-
.option('--prompt-file <path>', 'Prompt file path (general mode)')
|
|
168
|
-
.option('--protocol <name>', 'Protocol name: spir, aspir, air, bugfix, pir, maintain')
|
|
169
|
-
.option('-t, --type <type>', 'Review type: spec, plan, impl, pr, phase, integration')
|
|
170
|
-
.option('--issue <number>', 'Issue number (required from architect context)')
|
|
171
|
-
.option('--branch <ref>', 'Read spec/plan artifacts from this git ref instead of the local workspace (e.g. `origin/builder/777-foo` or `builder/777-foo`). Defaults to the PR\'s head branch when --issue resolves to a PR. Note: this only changes the artifact source — for --type impl, the diff scope is always the PR\'s head→base, not the --branch ref.')
|
|
172
|
-
.option('--base <ref>', 'For --type integration: anchor the diff on this base branch (e.g. `ci`), computed locally as `git diff origin/<base>...origin/<head>` (three-dot). Use in repos with a long-lived integration branch ahead of the default branch so the review sees only the PR\'s actual change, not the whole integration-over-trunk delta. Defaults to config `consult.integrationBranch`; unset → the PR\'s host base (`gh pr diff`).')
|
|
173
|
-
.option('--output <path>', 'Write consultation output to file (used by porch)')
|
|
174
|
-
.option('--plan-phase <phase>', 'Scope review to a specific plan phase (used by porch)')
|
|
175
|
-
.option('--context <path>', 'Context file with previous iteration feedback (used by porch)')
|
|
176
|
-
.option('--project-id <id>', 'Project ID for metrics (used by porch)')
|
|
177
|
-
.option('--days <n>', 'Stats: limit to last N days (default: 30)')
|
|
178
|
-
.option('--project <id>', 'Stats: filter by project ID')
|
|
179
|
-
.option('--last <n>', 'Stats: show last N individual invocations')
|
|
180
|
-
.option('--json', 'Stats: output as JSON')
|
|
167
|
+
.argument('[subcommand]', 'Optional: stats'))
|
|
181
168
|
.allowUnknownOption(true)
|
|
182
169
|
.action(async (subcommand, options) => {
|
|
183
170
|
try {
|
|
@@ -198,20 +185,7 @@ program
|
|
|
198
185
|
console.error('Missing required option: -m, --model');
|
|
199
186
|
process.exit(1);
|
|
200
187
|
}
|
|
201
|
-
await consult(
|
|
202
|
-
model: options.model,
|
|
203
|
-
prompt: options.prompt,
|
|
204
|
-
promptFile: options.promptFile,
|
|
205
|
-
protocol: options.protocol,
|
|
206
|
-
type: options.type,
|
|
207
|
-
issue: options.issue,
|
|
208
|
-
branch: options.branch,
|
|
209
|
-
base: options.base,
|
|
210
|
-
output: options.output,
|
|
211
|
-
planPhase: options.planPhase,
|
|
212
|
-
context: options.context,
|
|
213
|
-
projectId: options.projectId,
|
|
214
|
-
});
|
|
188
|
+
await consult(buildConsultOptions(options));
|
|
215
189
|
// Bugfix #341: Force exit after consult completes. SDK internals
|
|
216
190
|
// (Claude Agent SDK, Codex SDK, Gemini CLI) leave dangling handles
|
|
217
191
|
// (timers, sockets, subprocesses) that keep the Node.js event loop
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The `consult` command's flag registration and its mapping onto `ConsultOptions`.
|
|
3
|
+
*
|
|
4
|
+
* Extracted from cli.ts (spec 1286) because those two things drifting apart is a real failure
|
|
5
|
+
* class, not a hypothetical one: `--model-id` shipped registered, parsed, documented in `--help`,
|
|
6
|
+
* covered by passing unit tests at the runner level — and completely inert, because the action
|
|
7
|
+
* built its options object field-by-field and simply didn't copy it across. Nothing failed loudly;
|
|
8
|
+
* the flag just did nothing.
|
|
9
|
+
*
|
|
10
|
+
* Keeping the registration and the mapping in one file lets a unit test compare them directly:
|
|
11
|
+
* commander can report every option it registered, so the test asserts each one is forwarded.
|
|
12
|
+
* That check runs in the normal test suite, so the next dropped field fails at the phase that
|
|
13
|
+
* introduces it rather than in a reviewer's manual run.
|
|
14
|
+
*/
|
|
15
|
+
import type { Command } from 'commander';
|
|
16
|
+
import type { ConsultOptions } from './index.js';
|
|
17
|
+
/**
|
|
18
|
+
* Flags that belong to `consult stats`, not to a consultation.
|
|
19
|
+
*
|
|
20
|
+
* These are registered on the same command (stats is a subcommand argument, not a separate
|
|
21
|
+
* commander command) but are handed to `handleStats`, so they are deliberately absent from
|
|
22
|
+
* `ConsultOptions`. The forwarding test skips exactly these and nothing else.
|
|
23
|
+
*/
|
|
24
|
+
export declare const STATS_ONLY_FLAGS: readonly ["days", "project", "last", "json"];
|
|
25
|
+
/** Register every `consult` flag on a command. */
|
|
26
|
+
export declare function registerConsultOptions(cmd: Command): Command;
|
|
27
|
+
/**
|
|
28
|
+
* Map commander's parsed flags onto `ConsultOptions`.
|
|
29
|
+
*
|
|
30
|
+
* Every non-stats flag registered above must appear here — `__tests__/cli-options.test.ts` fails if
|
|
31
|
+
* one is missing. Add a flag, add its line here.
|
|
32
|
+
*/
|
|
33
|
+
export declare function buildConsultOptions(raw: Record<string, unknown>): ConsultOptions;
|
|
34
|
+
//# sourceMappingURL=cli-options.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli-options.d.ts","sourceRoot":"","sources":["../../../src/commands/consult/cli-options.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD;;;;;;GAMG;AACH,eAAO,MAAM,gBAAgB,8CAA+C,CAAC;AAE7E,kDAAkD;AAClD,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAmB5D;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,cAAc,CAgBhF"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The `consult` command's flag registration and its mapping onto `ConsultOptions`.
|
|
3
|
+
*
|
|
4
|
+
* Extracted from cli.ts (spec 1286) because those two things drifting apart is a real failure
|
|
5
|
+
* class, not a hypothetical one: `--model-id` shipped registered, parsed, documented in `--help`,
|
|
6
|
+
* covered by passing unit tests at the runner level — and completely inert, because the action
|
|
7
|
+
* built its options object field-by-field and simply didn't copy it across. Nothing failed loudly;
|
|
8
|
+
* the flag just did nothing.
|
|
9
|
+
*
|
|
10
|
+
* Keeping the registration and the mapping in one file lets a unit test compare them directly:
|
|
11
|
+
* commander can report every option it registered, so the test asserts each one is forwarded.
|
|
12
|
+
* That check runs in the normal test suite, so the next dropped field fails at the phase that
|
|
13
|
+
* introduces it rather than in a reviewer's manual run.
|
|
14
|
+
*/
|
|
15
|
+
/**
|
|
16
|
+
* Flags that belong to `consult stats`, not to a consultation.
|
|
17
|
+
*
|
|
18
|
+
* These are registered on the same command (stats is a subcommand argument, not a separate
|
|
19
|
+
* commander command) but are handed to `handleStats`, so they are deliberately absent from
|
|
20
|
+
* `ConsultOptions`. The forwarding test skips exactly these and nothing else.
|
|
21
|
+
*/
|
|
22
|
+
export const STATS_ONLY_FLAGS = ['days', 'project', 'last', 'json'];
|
|
23
|
+
/** Register every `consult` flag on a command. */
|
|
24
|
+
export function registerConsultOptions(cmd) {
|
|
25
|
+
return cmd
|
|
26
|
+
.option('-m, --model <model>', 'Model to use (gemini, codex, claude, hermes, or aliases: pro, gpt, opus)')
|
|
27
|
+
.option('--prompt <text>', 'Inline prompt (general mode)')
|
|
28
|
+
.option('--prompt-file <path>', 'Prompt file path (general mode)')
|
|
29
|
+
.option('--protocol <name>', 'Protocol name: spir, aspir, air, bugfix, pir, maintain')
|
|
30
|
+
.option('-t, --type <type>', 'Review type: spec, plan, impl, pr, phase, integration')
|
|
31
|
+
.option('--issue <number>', 'Issue number (required from architect context)')
|
|
32
|
+
.option('--branch <ref>', 'Read spec/plan artifacts from this git ref instead of the local workspace (e.g. `origin/builder/777-foo` or `builder/777-foo`). Defaults to the PR\'s head branch when --issue resolves to a PR. Note: this only changes the artifact source — for --type impl, the diff scope is always the PR\'s head→base, not the --branch ref.')
|
|
33
|
+
.option('--base <ref>', 'For --type integration: anchor the diff on this base branch (e.g. `ci`), computed locally as `git diff origin/<base>...origin/<head>` (three-dot). Use in repos with a long-lived integration branch ahead of the default branch so the review sees only the PR\'s actual change, not the whole integration-over-trunk delta. Defaults to config `consult.integrationBranch`; unset → the PR\'s host base (`gh pr diff`).')
|
|
34
|
+
.option('--model-id <id>', 'Override the provider model id for this invocation, outranking config `consult.models.<lane>` (e.g. `--model-id gpt-5.6-sol`). Supported for the claude, codex, and gemini lanes; using it with a lane that has no model selector (hermes) is an error rather than a silent no-op. Codev validates syntax only — whether the id exists is the provider\'s call, and a rejection fails loudly with no fallback.')
|
|
35
|
+
.option('--output <path>', 'Write consultation output to file (used by porch)')
|
|
36
|
+
.option('--plan-phase <phase>', 'Scope review to a specific plan phase (used by porch)')
|
|
37
|
+
.option('--context <path>', 'Context file with previous iteration feedback (used by porch)')
|
|
38
|
+
.option('--project-id <id>', 'Project ID for metrics (used by porch)')
|
|
39
|
+
.option('--days <n>', 'Stats: limit to last N days (default: 30)')
|
|
40
|
+
.option('--project <id>', 'Stats: filter by project ID')
|
|
41
|
+
.option('--last <n>', 'Stats: show last N individual invocations')
|
|
42
|
+
.option('--json', 'Stats: output as JSON');
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Map commander's parsed flags onto `ConsultOptions`.
|
|
46
|
+
*
|
|
47
|
+
* Every non-stats flag registered above must appear here — `__tests__/cli-options.test.ts` fails if
|
|
48
|
+
* one is missing. Add a flag, add its line here.
|
|
49
|
+
*/
|
|
50
|
+
export function buildConsultOptions(raw) {
|
|
51
|
+
return {
|
|
52
|
+
model: raw.model,
|
|
53
|
+
prompt: raw.prompt,
|
|
54
|
+
promptFile: raw.promptFile,
|
|
55
|
+
protocol: raw.protocol,
|
|
56
|
+
type: raw.type,
|
|
57
|
+
issue: raw.issue,
|
|
58
|
+
branch: raw.branch,
|
|
59
|
+
base: raw.base,
|
|
60
|
+
modelId: raw.modelId,
|
|
61
|
+
output: raw.output,
|
|
62
|
+
planPhase: raw.planPhase,
|
|
63
|
+
context: raw.context,
|
|
64
|
+
projectId: raw.projectId,
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
//# sourceMappingURL=cli-options.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli-options.js","sourceRoot":"","sources":["../../../src/commands/consult/cli-options.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAKH;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,CAAU,CAAC;AAE7E,kDAAkD;AAClD,MAAM,UAAU,sBAAsB,CAAC,GAAY;IACjD,OAAO,GAAG;SACP,MAAM,CAAC,qBAAqB,EAAE,0EAA0E,CAAC;SACzG,MAAM,CAAC,iBAAiB,EAAE,8BAA8B,CAAC;SACzD,MAAM,CAAC,sBAAsB,EAAE,iCAAiC,CAAC;SACjE,MAAM,CAAC,mBAAmB,EAAE,wDAAwD,CAAC;SACrF,MAAM,CAAC,mBAAmB,EAAE,uDAAuD,CAAC;SACpF,MAAM,CAAC,kBAAkB,EAAE,gDAAgD,CAAC;SAC5E,MAAM,CAAC,gBAAgB,EAAE,qUAAqU,CAAC;SAC/V,MAAM,CAAC,cAAc,EAAE,2ZAA2Z,CAAC;SACnb,MAAM,CAAC,iBAAiB,EAAE,gZAAgZ,CAAC;SAC3a,MAAM,CAAC,iBAAiB,EAAE,mDAAmD,CAAC;SAC9E,MAAM,CAAC,sBAAsB,EAAE,uDAAuD,CAAC;SACvF,MAAM,CAAC,kBAAkB,EAAE,+DAA+D,CAAC;SAC3F,MAAM,CAAC,mBAAmB,EAAE,wCAAwC,CAAC;SACrE,MAAM,CAAC,YAAY,EAAE,2CAA2C,CAAC;SACjE,MAAM,CAAC,gBAAgB,EAAE,6BAA6B,CAAC;SACvD,MAAM,CAAC,YAAY,EAAE,2CAA2C,CAAC;SACjE,MAAM,CAAC,QAAQ,EAAE,uBAAuB,CAAC,CAAC;AAC/C,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CAAC,GAA4B;IAC9D,OAAO;QACL,KAAK,EAAE,GAAG,CAAC,KAAe;QAC1B,MAAM,EAAE,GAAG,CAAC,MAA4B;QACxC,UAAU,EAAE,GAAG,CAAC,UAAgC;QAChD,QAAQ,EAAE,GAAG,CAAC,QAA8B;QAC5C,IAAI,EAAE,GAAG,CAAC,IAA0B;QACpC,KAAK,EAAE,GAAG,CAAC,KAA2B;QACtC,MAAM,EAAE,GAAG,CAAC,MAA4B;QACxC,IAAI,EAAE,GAAG,CAAC,IAA0B;QACpC,OAAO,EAAE,GAAG,CAAC,OAA6B;QAC1C,MAAM,EAAE,GAAG,CAAC,MAA4B;QACxC,SAAS,EAAE,GAAG,CAAC,SAA+B;QAC9C,OAAO,EAAE,GAAG,CAAC,OAA6B;QAC1C,SAAS,EAAE,GAAG,CAAC,SAA+B;KAC/C,CAAC;AACJ,CAAC"}
|
|
@@ -6,6 +6,8 @@
|
|
|
6
6
|
* 2. Protocol — structured reviews via --protocol + --type
|
|
7
7
|
* 3. Stats — consultation metrics (delegated to stats.ts, handled in cli.ts)
|
|
8
8
|
*/
|
|
9
|
+
import { type ConfigurableLane } from '../../lib/consult-lanes.js';
|
|
10
|
+
import type { ModelReasoningEffort } from '@openai/codex-sdk';
|
|
9
11
|
interface ContentRef {
|
|
10
12
|
content: string;
|
|
11
13
|
label: string;
|
|
@@ -26,6 +28,7 @@ export interface ConsultOptions {
|
|
|
26
28
|
issue?: string;
|
|
27
29
|
branch?: string;
|
|
28
30
|
base?: string;
|
|
31
|
+
modelId?: string;
|
|
29
32
|
output?: string;
|
|
30
33
|
planPhase?: string;
|
|
31
34
|
context?: string;
|
|
@@ -60,11 +63,56 @@ interface BuilderProjectState {
|
|
|
60
63
|
* getReviewFilePath() so porch can find the results.
|
|
61
64
|
*/
|
|
62
65
|
declare function computePersistentOutputPath(state: BuilderProjectState, model: string): string;
|
|
66
|
+
/**
|
|
67
|
+
* Shipped default model id for the codex consult lane (#1288).
|
|
68
|
+
*
|
|
69
|
+
* The `-sol` suffix is LOAD-BEARING. Both plain `gpt-5.6` and `gpt-5.6-codex`
|
|
70
|
+
* were live-probed on 2026-07-29 and rejected by Codex with a ChatGPT account
|
|
71
|
+
* ("The '<id>' model is not supported when using Codex with a ChatGPT
|
|
72
|
+
* account."). Do not "simplify" this id — `default-models.test.ts` guards it.
|
|
73
|
+
*/
|
|
74
|
+
export declare const DEFAULT_CODEX_MODEL = "gpt-5.6-sol";
|
|
75
|
+
/** Shipped default reasoning effort for the codex consult lane. */
|
|
76
|
+
export declare const DEFAULT_CODEX_REASONING_EFFORT: "medium";
|
|
77
|
+
/** Shipped default model id for the claude consult lane (#1288). */
|
|
78
|
+
export declare const DEFAULT_CLAUDE_MODEL = "claude-opus-5";
|
|
79
|
+
/**
|
|
80
|
+
* Compute codex consultation cost in USD, or null when the model's published
|
|
81
|
+
* rates are unknown.
|
|
82
|
+
*/
|
|
83
|
+
export declare function computeCodexCost(model: string, inputTokens: number, cachedInputTokens: number, outputTokens: number, workspaceRoot?: string): number | null;
|
|
84
|
+
/** A lane's resolved model id plus enough provenance to name the source in an error. */
|
|
85
|
+
export interface LaneModelChoice {
|
|
86
|
+
id: string;
|
|
87
|
+
/** The config key that supplied the id, or null for the flag / shipped default. */
|
|
88
|
+
key: string | null;
|
|
89
|
+
/** The config file that supplied it, or null when it wasn't config. */
|
|
90
|
+
source: string | null;
|
|
91
|
+
/** Set when `--model-id` supplied the id. */
|
|
92
|
+
fromFlag: boolean;
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Resolve which model id an SDK lane runs, and record where it came from.
|
|
96
|
+
*
|
|
97
|
+
* Precedence: `--model-id` > `consult.models.<lane>` > the shipped default constant.
|
|
98
|
+
*
|
|
99
|
+
* The provenance is not decoration: with five config layers, telling a user their
|
|
100
|
+
* `consult.models.codex` is wrong doesn't tell them which of five files to edit.
|
|
101
|
+
*/
|
|
102
|
+
export declare function resolveLaneModelChoice(workspaceRoot: string, lane: ConfigurableLane, defaultId: string, modelIdOverride?: string): LaneModelChoice;
|
|
103
|
+
/**
|
|
104
|
+
* Resolve a model for a lane that has **no built-in default** — agy picks its own model when
|
|
105
|
+
* `--model` is absent, so there is nothing to fall back to.
|
|
106
|
+
*
|
|
107
|
+
* `null` means "omit the flag entirely", which is what preserves zero-config parity: an
|
|
108
|
+
* unconfigured gemini lane must produce byte-identical argv to before this spec.
|
|
109
|
+
*/
|
|
110
|
+
export declare function resolveOptionalLaneModelChoice(workspaceRoot: string, lane: ConfigurableLane, modelIdOverride?: string): LaneModelChoice | null;
|
|
63
111
|
/**
|
|
64
112
|
* Run Codex consultation via @openai/codex-sdk.
|
|
65
113
|
* Mirrors runClaudeConsultation() — streams events, captures usage, records metrics.
|
|
66
114
|
*/
|
|
67
|
-
export declare function runCodexConsultation(queryText: string, role: string, workspaceRoot: string, outputPath?: string, metricsCtx?: MetricsContext): Promise<void>;
|
|
115
|
+
export declare function runCodexConsultation(queryText: string, role: string, workspaceRoot: string, outputPath?: string, metricsCtx?: MetricsContext, modelChoice?: LaneModelChoice, reasoningEffort?: ModelReasoningEffort): Promise<void>;
|
|
68
116
|
/**
|
|
69
117
|
* Build the env passed to the Claude Agent SDK subprocess for a consultation.
|
|
70
118
|
*
|
|
@@ -82,6 +130,12 @@ export declare function runCodexConsultation(queryText: string, role: string, wo
|
|
|
82
130
|
* the API key (persona, dev:local) are unaffected.
|
|
83
131
|
*/
|
|
84
132
|
export declare function buildClaudeConsultEnv(processEnv: NodeJS.ProcessEnv): Record<string, string>;
|
|
133
|
+
/**
|
|
134
|
+
* Run Claude consultation via Agent SDK.
|
|
135
|
+
* Uses the SDK's query() function instead of CLI subprocess.
|
|
136
|
+
* This avoids the CLAUDECODE nesting guard and enables tool use during reviews.
|
|
137
|
+
*/
|
|
138
|
+
export declare function runClaudeConsultation(queryText: string, role: string, workspaceRoot: string, outputPath?: string, metricsCtx?: MetricsContext, modelChoice?: LaneModelChoice): Promise<void>;
|
|
85
139
|
export declare const AGY_OAUTH_MARKERS: string[];
|
|
86
140
|
/**
|
|
87
141
|
* Verify a path is the real headless `agy` CLI, not the Antigravity IDE
|
|
@@ -113,7 +167,7 @@ declare function agySkipContent(reason: string): string;
|
|
|
113
167
|
* prompt, and NEVER blocks the run: a missing/unauthed/invalid CLI or a
|
|
114
168
|
* timeout/error produces a non-blocking COMMENT skip instead of throwing.
|
|
115
169
|
*/
|
|
116
|
-
declare function runAgyConsultation(queryText: string, role: string, workspaceRoot: string, outputPath?: string, metricsCtx?: MetricsContext): Promise<void>;
|
|
170
|
+
declare function runAgyConsultation(queryText: string, role: string, workspaceRoot: string, outputPath?: string, metricsCtx?: MetricsContext, modelChoice?: LaneModelChoice | null): Promise<void>;
|
|
117
171
|
/**
|
|
118
172
|
* Get a compact diff stat summary and list of changed files.
|
|
119
173
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/consult/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/consult/index.ts"],"names":[],"mappings":"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"}
|