@cluesmith/codev 2.0.0-rc.9 → 2.0.1
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/bin/af.js +2 -2
- package/bin/consult.js +1 -1
- package/dashboard/dist/assets/index-4n9zpWLY.css +32 -0
- package/dashboard/dist/assets/index-b38SaXk5.js +136 -0
- package/dashboard/dist/assets/index-b38SaXk5.js.map +1 -0
- package/dashboard/dist/index.html +14 -0
- package/dist/agent-farm/cli.d.ts.map +1 -1
- package/dist/agent-farm/cli.js +179 -104
- package/dist/agent-farm/cli.js.map +1 -1
- package/dist/agent-farm/commands/architect.d.ts +3 -3
- package/dist/agent-farm/commands/architect.d.ts.map +1 -1
- package/dist/agent-farm/commands/architect.js +20 -147
- package/dist/agent-farm/commands/architect.js.map +1 -1
- package/dist/agent-farm/commands/attach.d.ts +13 -0
- package/dist/agent-farm/commands/attach.d.ts.map +1 -0
- package/dist/agent-farm/commands/attach.js +144 -0
- package/dist/agent-farm/commands/attach.js.map +1 -0
- package/dist/agent-farm/commands/cleanup.d.ts.map +1 -1
- package/dist/agent-farm/commands/cleanup.js +35 -19
- package/dist/agent-farm/commands/cleanup.js.map +1 -1
- package/dist/agent-farm/commands/consult.d.ts +3 -4
- package/dist/agent-farm/commands/consult.d.ts.map +1 -1
- package/dist/agent-farm/commands/consult.js +27 -37
- package/dist/agent-farm/commands/consult.js.map +1 -1
- package/dist/agent-farm/commands/index.d.ts +2 -2
- package/dist/agent-farm/commands/index.d.ts.map +1 -1
- package/dist/agent-farm/commands/index.js +2 -2
- package/dist/agent-farm/commands/index.js.map +1 -1
- package/dist/agent-farm/commands/open.d.ts +4 -2
- package/dist/agent-farm/commands/open.d.ts.map +1 -1
- package/dist/agent-farm/commands/open.js +33 -83
- package/dist/agent-farm/commands/open.js.map +1 -1
- package/dist/agent-farm/commands/send.d.ts +1 -1
- package/dist/agent-farm/commands/send.d.ts.map +1 -1
- package/dist/agent-farm/commands/send.js +70 -79
- package/dist/agent-farm/commands/send.js.map +1 -1
- package/dist/agent-farm/commands/shell.d.ts +15 -0
- package/dist/agent-farm/commands/shell.d.ts.map +1 -0
- package/dist/agent-farm/commands/shell.js +50 -0
- package/dist/agent-farm/commands/shell.js.map +1 -0
- package/dist/agent-farm/commands/spawn-roles.d.ts +80 -0
- package/dist/agent-farm/commands/spawn-roles.d.ts.map +1 -0
- package/dist/agent-farm/commands/spawn-roles.js +278 -0
- package/dist/agent-farm/commands/spawn-roles.js.map +1 -0
- package/dist/agent-farm/commands/spawn-worktree.d.ts +96 -0
- package/dist/agent-farm/commands/spawn-worktree.d.ts.map +1 -0
- package/dist/agent-farm/commands/spawn-worktree.js +305 -0
- package/dist/agent-farm/commands/spawn-worktree.js.map +1 -0
- package/dist/agent-farm/commands/spawn.d.ts +5 -1
- package/dist/agent-farm/commands/spawn.d.ts.map +1 -1
- package/dist/agent-farm/commands/spawn.js +241 -561
- package/dist/agent-farm/commands/spawn.js.map +1 -1
- package/dist/agent-farm/commands/start.d.ts +10 -20
- package/dist/agent-farm/commands/start.d.ts.map +1 -1
- package/dist/agent-farm/commands/start.js +45 -449
- package/dist/agent-farm/commands/start.js.map +1 -1
- package/dist/agent-farm/commands/status.d.ts +2 -0
- package/dist/agent-farm/commands/status.d.ts.map +1 -1
- package/dist/agent-farm/commands/status.js +75 -24
- package/dist/agent-farm/commands/status.js.map +1 -1
- package/dist/agent-farm/commands/stop.d.ts +6 -0
- package/dist/agent-farm/commands/stop.d.ts.map +1 -1
- package/dist/agent-farm/commands/stop.js +49 -109
- package/dist/agent-farm/commands/stop.js.map +1 -1
- package/dist/agent-farm/commands/tower-cloud.d.ts +48 -0
- package/dist/agent-farm/commands/tower-cloud.d.ts.map +1 -0
- package/dist/agent-farm/commands/tower-cloud.js +293 -0
- package/dist/agent-farm/commands/tower-cloud.js.map +1 -0
- package/dist/agent-farm/commands/tower.d.ts +9 -0
- package/dist/agent-farm/commands/tower.d.ts.map +1 -1
- package/dist/agent-farm/commands/tower.js +59 -19
- package/dist/agent-farm/commands/tower.js.map +1 -1
- package/dist/agent-farm/db/index.d.ts +6 -2
- package/dist/agent-farm/db/index.d.ts.map +1 -1
- package/dist/agent-farm/db/index.js +301 -19
- package/dist/agent-farm/db/index.js.map +1 -1
- package/dist/agent-farm/db/migrate.d.ts +0 -4
- package/dist/agent-farm/db/migrate.d.ts.map +1 -1
- package/dist/agent-farm/db/migrate.js +6 -55
- package/dist/agent-farm/db/migrate.js.map +1 -1
- package/dist/agent-farm/db/schema.d.ts +3 -3
- package/dist/agent-farm/db/schema.d.ts.map +1 -1
- package/dist/agent-farm/db/schema.js +25 -19
- package/dist/agent-farm/db/schema.js.map +1 -1
- package/dist/agent-farm/db/types.d.ts +3 -13
- package/dist/agent-farm/db/types.d.ts.map +1 -1
- package/dist/agent-farm/db/types.js +3 -11
- package/dist/agent-farm/db/types.js.map +1 -1
- package/dist/agent-farm/hq-connector.d.ts +2 -6
- package/dist/agent-farm/hq-connector.d.ts.map +1 -1
- package/dist/agent-farm/hq-connector.js +2 -17
- package/dist/agent-farm/hq-connector.js.map +1 -1
- package/dist/agent-farm/lib/cloud-config.d.ts +59 -0
- package/dist/agent-farm/lib/cloud-config.d.ts.map +1 -0
- package/dist/agent-farm/lib/cloud-config.js +143 -0
- package/dist/agent-farm/lib/cloud-config.js.map +1 -0
- package/dist/agent-farm/lib/device-name.d.ts +25 -0
- package/dist/agent-farm/lib/device-name.d.ts.map +1 -0
- package/dist/agent-farm/lib/device-name.js +46 -0
- package/dist/agent-farm/lib/device-name.js.map +1 -0
- package/dist/agent-farm/lib/nonce-store.d.ts +28 -0
- package/dist/agent-farm/lib/nonce-store.d.ts.map +1 -0
- package/dist/agent-farm/lib/nonce-store.js +60 -0
- package/dist/agent-farm/lib/nonce-store.js.map +1 -0
- package/dist/agent-farm/lib/token-exchange.d.ts +18 -0
- package/dist/agent-farm/lib/token-exchange.d.ts.map +1 -0
- package/dist/agent-farm/lib/token-exchange.js +48 -0
- package/dist/agent-farm/lib/token-exchange.js.map +1 -0
- package/dist/agent-farm/lib/tower-client.d.ts +163 -0
- package/dist/agent-farm/lib/tower-client.d.ts.map +1 -0
- package/dist/agent-farm/lib/tower-client.js +233 -0
- package/dist/agent-farm/lib/tower-client.js.map +1 -0
- package/dist/agent-farm/lib/tunnel-client.d.ts +117 -0
- package/dist/agent-farm/lib/tunnel-client.d.ts.map +1 -0
- package/dist/agent-farm/lib/tunnel-client.js +504 -0
- package/dist/agent-farm/lib/tunnel-client.js.map +1 -0
- package/dist/agent-farm/servers/tower-instances.d.ts +82 -0
- package/dist/agent-farm/servers/tower-instances.d.ts.map +1 -0
- package/dist/agent-farm/servers/tower-instances.js +454 -0
- package/dist/agent-farm/servers/tower-instances.js.map +1 -0
- package/dist/agent-farm/servers/tower-routes.d.ts +34 -0
- package/dist/agent-farm/servers/tower-routes.d.ts.map +1 -0
- package/dist/agent-farm/servers/tower-routes.js +1445 -0
- package/dist/agent-farm/servers/tower-routes.js.map +1 -0
- package/dist/agent-farm/servers/tower-server.d.ts +5 -2
- package/dist/agent-farm/servers/tower-server.d.ts.map +1 -1
- package/dist/agent-farm/servers/tower-server.js +157 -475
- package/dist/agent-farm/servers/tower-server.js.map +1 -1
- package/dist/agent-farm/servers/tower-terminals.d.ts +119 -0
- package/dist/agent-farm/servers/tower-terminals.d.ts.map +1 -0
- package/dist/agent-farm/servers/tower-terminals.js +629 -0
- package/dist/agent-farm/servers/tower-terminals.js.map +1 -0
- package/dist/agent-farm/servers/tower-tunnel.d.ts +34 -0
- package/dist/agent-farm/servers/tower-tunnel.d.ts.map +1 -0
- package/dist/agent-farm/servers/tower-tunnel.js +480 -0
- package/dist/agent-farm/servers/tower-tunnel.js.map +1 -0
- package/dist/agent-farm/servers/tower-types.d.ts +86 -0
- package/dist/agent-farm/servers/tower-types.d.ts.map +1 -0
- package/dist/agent-farm/servers/tower-types.js +6 -0
- package/dist/agent-farm/servers/tower-types.js.map +1 -0
- package/dist/agent-farm/servers/tower-utils.d.ts +58 -0
- package/dist/agent-farm/servers/tower-utils.d.ts.map +1 -0
- package/dist/agent-farm/servers/tower-utils.js +182 -0
- package/dist/agent-farm/servers/tower-utils.js.map +1 -0
- package/dist/agent-farm/servers/tower-websocket.d.ts +25 -0
- package/dist/agent-farm/servers/tower-websocket.d.ts.map +1 -0
- package/dist/agent-farm/servers/tower-websocket.js +171 -0
- package/dist/agent-farm/servers/tower-websocket.js.map +1 -0
- package/dist/agent-farm/state.d.ts +6 -2
- package/dist/agent-farm/state.d.ts.map +1 -1
- package/dist/agent-farm/state.js +34 -25
- package/dist/agent-farm/state.js.map +1 -1
- package/dist/agent-farm/types.d.ts +49 -26
- package/dist/agent-farm/types.d.ts.map +1 -1
- package/dist/agent-farm/utils/config.d.ts +0 -5
- package/dist/agent-farm/utils/config.d.ts.map +1 -1
- package/dist/agent-farm/utils/config.js +12 -44
- package/dist/agent-farm/utils/config.js.map +1 -1
- package/dist/agent-farm/utils/deps.d.ts.map +1 -1
- package/dist/agent-farm/utils/deps.js +0 -32
- package/dist/agent-farm/utils/deps.js.map +1 -1
- package/dist/agent-farm/utils/file-tabs.d.ts +27 -0
- package/dist/agent-farm/utils/file-tabs.d.ts.map +1 -0
- package/dist/agent-farm/utils/file-tabs.js +46 -0
- package/dist/agent-farm/utils/file-tabs.js.map +1 -0
- package/dist/agent-farm/utils/gate-status.d.ts +16 -0
- package/dist/agent-farm/utils/gate-status.d.ts.map +1 -0
- package/dist/agent-farm/utils/gate-status.js +79 -0
- package/dist/agent-farm/utils/gate-status.js.map +1 -0
- package/dist/agent-farm/utils/gate-watcher.d.ts +38 -0
- package/dist/agent-farm/utils/gate-watcher.d.ts.map +1 -0
- package/dist/agent-farm/utils/gate-watcher.js +122 -0
- package/dist/agent-farm/utils/gate-watcher.js.map +1 -0
- package/dist/agent-farm/utils/index.d.ts +0 -1
- package/dist/agent-farm/utils/index.d.ts.map +1 -1
- package/dist/agent-farm/utils/index.js +0 -1
- package/dist/agent-farm/utils/index.js.map +1 -1
- package/dist/agent-farm/utils/notifications.d.ts +30 -0
- package/dist/agent-farm/utils/notifications.d.ts.map +1 -0
- package/dist/agent-farm/utils/notifications.js +121 -0
- package/dist/agent-farm/utils/notifications.js.map +1 -0
- package/dist/agent-farm/utils/server-utils.d.ts +5 -5
- package/dist/agent-farm/utils/server-utils.d.ts.map +1 -1
- package/dist/agent-farm/utils/server-utils.js +5 -16
- package/dist/agent-farm/utils/server-utils.js.map +1 -1
- package/dist/agent-farm/utils/session.d.ts +32 -0
- package/dist/agent-farm/utils/session.d.ts.map +1 -0
- package/dist/agent-farm/utils/session.js +57 -0
- package/dist/agent-farm/utils/session.js.map +1 -0
- package/dist/agent-farm/utils/shell.d.ts +9 -22
- package/dist/agent-farm/utils/shell.d.ts.map +1 -1
- package/dist/agent-farm/utils/shell.js +34 -34
- package/dist/agent-farm/utils/shell.js.map +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +6 -37
- package/dist/cli.js.map +1 -1
- package/dist/commands/adopt.d.ts.map +1 -1
- package/dist/commands/adopt.js +33 -4
- package/dist/commands/adopt.js.map +1 -1
- package/dist/commands/consult/index.d.ts +13 -2
- package/dist/commands/consult/index.d.ts.map +1 -1
- package/dist/commands/consult/index.js +244 -29
- package/dist/commands/consult/index.js.map +1 -1
- package/dist/commands/doctor.d.ts.map +1 -1
- package/dist/commands/doctor.js +96 -79
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +36 -3
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/porch/build-counter.d.ts +5 -0
- package/dist/commands/porch/build-counter.d.ts.map +1 -0
- package/dist/commands/porch/build-counter.js +5 -0
- package/dist/commands/porch/build-counter.js.map +1 -0
- package/dist/commands/porch/checks.d.ts +3 -2
- package/dist/commands/porch/checks.d.ts.map +1 -1
- package/dist/commands/porch/checks.js +8 -2
- package/dist/commands/porch/checks.js.map +1 -1
- package/dist/commands/porch/index.d.ts +4 -0
- package/dist/commands/porch/index.d.ts.map +1 -1
- package/dist/commands/porch/index.js +109 -70
- package/dist/commands/porch/index.js.map +1 -1
- package/dist/commands/porch/next.d.ts +22 -0
- package/dist/commands/porch/next.d.ts.map +1 -0
- package/dist/commands/porch/next.js +571 -0
- package/dist/commands/porch/next.js.map +1 -0
- package/dist/commands/porch/plan.d.ts +11 -1
- package/dist/commands/porch/plan.d.ts.map +1 -1
- package/dist/commands/porch/plan.js +33 -5
- package/dist/commands/porch/plan.js.map +1 -1
- package/dist/commands/porch/prompts.d.ts.map +1 -1
- package/dist/commands/porch/prompts.js +44 -26
- package/dist/commands/porch/prompts.js.map +1 -1
- package/dist/commands/porch/protocol.d.ts +6 -4
- package/dist/commands/porch/protocol.d.ts.map +1 -1
- package/dist/commands/porch/protocol.js +59 -15
- package/dist/commands/porch/protocol.js.map +1 -1
- package/dist/commands/porch/state.d.ts +29 -2
- package/dist/commands/porch/state.d.ts.map +1 -1
- package/dist/commands/porch/state.js +71 -3
- package/dist/commands/porch/state.js.map +1 -1
- package/dist/commands/porch/types.d.ts +45 -2
- package/dist/commands/porch/types.d.ts.map +1 -1
- package/dist/commands/porch/verdict.d.ts +31 -0
- package/dist/commands/porch/verdict.d.ts.map +1 -0
- package/dist/commands/porch/verdict.js +59 -0
- package/dist/commands/porch/verdict.js.map +1 -0
- package/dist/commands/update.d.ts.map +1 -1
- package/dist/commands/update.js +18 -6
- package/dist/commands/update.js.map +1 -1
- package/dist/lib/scaffold.d.ts +13 -0
- package/dist/lib/scaffold.d.ts.map +1 -1
- package/dist/lib/scaffold.js +36 -0
- package/dist/lib/scaffold.js.map +1 -1
- package/dist/terminal/index.d.ts +8 -0
- package/dist/terminal/index.d.ts.map +1 -0
- package/dist/terminal/index.js +5 -0
- package/dist/terminal/index.js.map +1 -0
- package/dist/terminal/pty-manager.d.ts +69 -0
- package/dist/terminal/pty-manager.d.ts.map +1 -0
- package/dist/terminal/pty-manager.js +377 -0
- package/dist/terminal/pty-manager.js.map +1 -0
- package/dist/terminal/pty-session.d.ts +104 -0
- package/dist/terminal/pty-session.d.ts.map +1 -0
- package/dist/terminal/pty-session.js +327 -0
- package/dist/terminal/pty-session.js.map +1 -0
- package/dist/terminal/ring-buffer.d.ts +34 -0
- package/dist/terminal/ring-buffer.d.ts.map +1 -0
- package/dist/terminal/ring-buffer.js +94 -0
- package/dist/terminal/ring-buffer.js.map +1 -0
- package/dist/terminal/session-manager.d.ts +115 -0
- package/dist/terminal/session-manager.d.ts.map +1 -0
- package/dist/terminal/session-manager.js +582 -0
- package/dist/terminal/session-manager.js.map +1 -0
- package/dist/terminal/shellper-client.d.ts +66 -0
- package/dist/terminal/shellper-client.d.ts.map +1 -0
- package/dist/terminal/shellper-client.js +234 -0
- package/dist/terminal/shellper-client.js.map +1 -0
- package/dist/terminal/shellper-main.d.ts +19 -0
- package/dist/terminal/shellper-main.d.ts.map +1 -0
- package/dist/terminal/shellper-main.js +153 -0
- package/dist/terminal/shellper-main.js.map +1 -0
- package/dist/terminal/shellper-process.d.ts +75 -0
- package/dist/terminal/shellper-process.d.ts.map +1 -0
- package/dist/terminal/shellper-process.js +279 -0
- package/dist/terminal/shellper-process.js.map +1 -0
- package/dist/terminal/shellper-protocol.d.ts +115 -0
- package/dist/terminal/shellper-protocol.d.ts.map +1 -0
- package/dist/terminal/shellper-protocol.js +214 -0
- package/dist/terminal/shellper-protocol.js.map +1 -0
- package/dist/terminal/shellper-replay-buffer.d.ts +38 -0
- package/dist/terminal/shellper-replay-buffer.d.ts.map +1 -0
- package/dist/terminal/shellper-replay-buffer.js +94 -0
- package/dist/terminal/shellper-replay-buffer.js.map +1 -0
- package/dist/terminal/ws-protocol.d.ts +27 -0
- package/dist/terminal/ws-protocol.d.ts.map +1 -0
- package/dist/terminal/ws-protocol.js +44 -0
- package/dist/terminal/ws-protocol.js.map +1 -0
- package/package.json +17 -5
- package/skeleton/.claude/skills/af/SKILL.md +89 -0
- package/skeleton/.claude/skills/codev/SKILL.md +41 -0
- package/skeleton/.claude/skills/consult/SKILL.md +81 -0
- package/skeleton/.claude/skills/generate-image/SKILL.md +56 -0
- package/skeleton/DEPENDENCIES.md +4 -62
- package/skeleton/builders.md +1 -1
- package/skeleton/consult-types/impl-review.md +18 -9
- package/skeleton/consult-types/integration-review.md +1 -1
- package/skeleton/consult-types/plan-review.md +1 -1
- package/skeleton/consult-types/pr-ready.md +1 -1
- package/skeleton/consult-types/spec-review.md +1 -1
- package/skeleton/porch/prompts/defend.md +1 -1
- package/skeleton/porch/prompts/evaluate.md +2 -2
- package/skeleton/porch/prompts/implement.md +1 -1
- package/skeleton/porch/prompts/plan.md +1 -1
- package/skeleton/porch/prompts/review.md +4 -4
- package/skeleton/porch/prompts/specify.md +1 -1
- package/skeleton/porch/prompts/understand.md +2 -2
- package/skeleton/protocol-schema.json +282 -0
- package/skeleton/protocols/bugfix/builder-prompt.md +60 -0
- package/skeleton/protocols/bugfix/prompts/fix.md +77 -0
- package/skeleton/protocols/bugfix/prompts/investigate.md +77 -0
- package/skeleton/protocols/bugfix/prompts/pr.md +84 -0
- package/skeleton/protocols/bugfix/protocol.json +20 -33
- package/skeleton/protocols/experiment/builder-prompt.md +52 -0
- package/skeleton/protocols/experiment/protocol.json +101 -0
- package/skeleton/protocols/experiment/protocol.md +3 -3
- package/skeleton/protocols/experiment/templates/notes.md +1 -1
- package/skeleton/protocols/maintain/builder-prompt.md +46 -0
- package/skeleton/protocols/maintain/prompts/audit.md +111 -0
- package/skeleton/protocols/maintain/prompts/clean.md +91 -0
- package/skeleton/protocols/maintain/prompts/sync.md +113 -0
- package/skeleton/protocols/maintain/prompts/verify.md +110 -0
- package/skeleton/protocols/maintain/protocol.json +141 -0
- package/skeleton/protocols/maintain/protocol.md +17 -11
- package/skeleton/protocols/protocol-schema.json +54 -1
- package/skeleton/protocols/spir/builder-prompt.md +66 -0
- package/skeleton/protocols/spir/prompts/implement.md +208 -0
- package/skeleton/protocols/{spider → spir}/prompts/plan.md +6 -70
- package/skeleton/protocols/{spider → spir}/prompts/review.md +20 -39
- package/skeleton/protocols/{spider → spir}/prompts/specify.md +24 -59
- package/skeleton/protocols/{spider → spir}/protocol.json +30 -10
- package/skeleton/protocols/{spider → spir}/protocol.md +35 -21
- package/skeleton/protocols/spir/templates/review.md +89 -0
- package/skeleton/protocols/tick/builder-prompt.md +56 -0
- package/skeleton/protocols/tick/protocol.json +7 -2
- package/skeleton/protocols/tick/protocol.md +18 -18
- package/skeleton/protocols/tick/templates/review.md +1 -1
- package/skeleton/resources/commands/agent-farm.md +63 -46
- package/skeleton/resources/commands/codev.md +0 -2
- package/skeleton/resources/commands/overview.md +7 -17
- package/skeleton/resources/workflow-reference.md +4 -4
- package/skeleton/roles/architect.md +151 -306
- package/skeleton/roles/builder.md +115 -332
- package/skeleton/roles/consultant.md +6 -6
- package/skeleton/templates/AGENTS.md +2 -2
- package/skeleton/templates/CLAUDE.md +2 -2
- package/skeleton/templates/cheatsheet.md +7 -5
- package/skeleton/templates/projectlist.md +1 -1
- package/templates/dashboard/index.html +17 -16
- package/templates/dashboard/js/dialogs.js +7 -7
- package/templates/dashboard/js/files.js +2 -2
- package/templates/dashboard/js/main.js +4 -4
- package/templates/dashboard/js/projects.js +3 -3
- package/templates/dashboard/js/tabs.js +1 -1
- package/templates/dashboard/js/utils.js +22 -1
- package/templates/open.html +26 -0
- package/templates/tower.html +731 -91
- package/dist/agent-farm/commands/kickoff.d.ts +0 -20
- package/dist/agent-farm/commands/kickoff.d.ts.map +0 -1
- package/dist/agent-farm/commands/kickoff.js +0 -273
- package/dist/agent-farm/commands/kickoff.js.map +0 -1
- package/dist/agent-farm/commands/rename.d.ts +0 -13
- package/dist/agent-farm/commands/rename.d.ts.map +0 -1
- package/dist/agent-farm/commands/rename.js +0 -33
- package/dist/agent-farm/commands/rename.js.map +0 -1
- package/dist/agent-farm/commands/tutorial.d.ts +0 -10
- package/dist/agent-farm/commands/tutorial.d.ts.map +0 -1
- package/dist/agent-farm/commands/tutorial.js +0 -49
- package/dist/agent-farm/commands/tutorial.js.map +0 -1
- package/dist/agent-farm/commands/util.d.ts +0 -15
- package/dist/agent-farm/commands/util.d.ts.map +0 -1
- package/dist/agent-farm/commands/util.js +0 -108
- package/dist/agent-farm/commands/util.js.map +0 -1
- package/dist/agent-farm/servers/dashboard-server.d.ts +0 -7
- package/dist/agent-farm/servers/dashboard-server.d.ts.map +0 -1
- package/dist/agent-farm/servers/dashboard-server.js +0 -1858
- package/dist/agent-farm/servers/dashboard-server.js.map +0 -1
- package/dist/agent-farm/servers/open-server.d.ts +0 -7
- package/dist/agent-farm/servers/open-server.d.ts.map +0 -1
- package/dist/agent-farm/servers/open-server.js +0 -315
- package/dist/agent-farm/servers/open-server.js.map +0 -1
- package/dist/agent-farm/tutorial/index.d.ts +0 -8
- package/dist/agent-farm/tutorial/index.d.ts.map +0 -1
- package/dist/agent-farm/tutorial/index.js +0 -8
- package/dist/agent-farm/tutorial/index.js.map +0 -1
- package/dist/agent-farm/tutorial/prompts.d.ts +0 -57
- package/dist/agent-farm/tutorial/prompts.d.ts.map +0 -1
- package/dist/agent-farm/tutorial/prompts.js +0 -147
- package/dist/agent-farm/tutorial/prompts.js.map +0 -1
- package/dist/agent-farm/tutorial/runner.d.ts +0 -52
- package/dist/agent-farm/tutorial/runner.d.ts.map +0 -1
- package/dist/agent-farm/tutorial/runner.js +0 -204
- package/dist/agent-farm/tutorial/runner.js.map +0 -1
- package/dist/agent-farm/tutorial/state.d.ts +0 -26
- package/dist/agent-farm/tutorial/state.d.ts.map +0 -1
- package/dist/agent-farm/tutorial/state.js +0 -89
- package/dist/agent-farm/tutorial/state.js.map +0 -1
- package/dist/agent-farm/tutorial/steps/first-spec.d.ts +0 -7
- package/dist/agent-farm/tutorial/steps/first-spec.d.ts.map +0 -1
- package/dist/agent-farm/tutorial/steps/first-spec.js +0 -136
- package/dist/agent-farm/tutorial/steps/first-spec.js.map +0 -1
- package/dist/agent-farm/tutorial/steps/implementation.d.ts +0 -7
- package/dist/agent-farm/tutorial/steps/implementation.d.ts.map +0 -1
- package/dist/agent-farm/tutorial/steps/implementation.js +0 -76
- package/dist/agent-farm/tutorial/steps/implementation.js.map +0 -1
- package/dist/agent-farm/tutorial/steps/index.d.ts +0 -10
- package/dist/agent-farm/tutorial/steps/index.d.ts.map +0 -1
- package/dist/agent-farm/tutorial/steps/index.js +0 -10
- package/dist/agent-farm/tutorial/steps/index.js.map +0 -1
- package/dist/agent-farm/tutorial/steps/planning.d.ts +0 -7
- package/dist/agent-farm/tutorial/steps/planning.d.ts.map +0 -1
- package/dist/agent-farm/tutorial/steps/planning.js +0 -143
- package/dist/agent-farm/tutorial/steps/planning.js.map +0 -1
- package/dist/agent-farm/tutorial/steps/review.d.ts +0 -7
- package/dist/agent-farm/tutorial/steps/review.d.ts.map +0 -1
- package/dist/agent-farm/tutorial/steps/review.js +0 -78
- package/dist/agent-farm/tutorial/steps/review.js.map +0 -1
- package/dist/agent-farm/tutorial/steps/setup.d.ts +0 -7
- package/dist/agent-farm/tutorial/steps/setup.d.ts.map +0 -1
- package/dist/agent-farm/tutorial/steps/setup.js +0 -126
- package/dist/agent-farm/tutorial/steps/setup.js.map +0 -1
- package/dist/agent-farm/tutorial/steps/welcome.d.ts +0 -7
- package/dist/agent-farm/tutorial/steps/welcome.d.ts.map +0 -1
- package/dist/agent-farm/tutorial/steps/welcome.js +0 -50
- package/dist/agent-farm/tutorial/steps/welcome.js.map +0 -1
- package/dist/agent-farm/utils/orphan-handler.d.ts +0 -27
- package/dist/agent-farm/utils/orphan-handler.d.ts.map +0 -1
- package/dist/agent-farm/utils/orphan-handler.js +0 -149
- package/dist/agent-farm/utils/orphan-handler.js.map +0 -1
- package/dist/agent-farm/utils/port-registry.d.ts +0 -58
- package/dist/agent-farm/utils/port-registry.d.ts.map +0 -1
- package/dist/agent-farm/utils/port-registry.js +0 -166
- package/dist/agent-farm/utils/port-registry.js.map +0 -1
- package/dist/agent-farm/utils/terminal-ports.d.ts +0 -18
- package/dist/agent-farm/utils/terminal-ports.d.ts.map +0 -1
- package/dist/agent-farm/utils/terminal-ports.js +0 -35
- package/dist/agent-farm/utils/terminal-ports.js.map +0 -1
- package/dist/commands/pcheck/cache.d.ts +0 -48
- package/dist/commands/pcheck/cache.d.ts.map +0 -1
- package/dist/commands/pcheck/cache.js +0 -170
- package/dist/commands/pcheck/cache.js.map +0 -1
- package/dist/commands/pcheck/evaluator.d.ts +0 -15
- package/dist/commands/pcheck/evaluator.d.ts.map +0 -1
- package/dist/commands/pcheck/evaluator.js +0 -246
- package/dist/commands/pcheck/evaluator.js.map +0 -1
- package/dist/commands/pcheck/index.d.ts +0 -12
- package/dist/commands/pcheck/index.d.ts.map +0 -1
- package/dist/commands/pcheck/index.js +0 -249
- package/dist/commands/pcheck/index.js.map +0 -1
- package/dist/commands/pcheck/parser.d.ts +0 -39
- package/dist/commands/pcheck/parser.d.ts.map +0 -1
- package/dist/commands/pcheck/parser.js +0 -155
- package/dist/commands/pcheck/parser.js.map +0 -1
- package/dist/commands/pcheck/types.d.ts +0 -82
- package/dist/commands/pcheck/types.d.ts.map +0 -1
- package/dist/commands/pcheck/types.js +0 -5
- package/dist/commands/pcheck/types.js.map +0 -1
- package/dist/commands/porch/claude.d.ts +0 -29
- package/dist/commands/porch/claude.d.ts.map +0 -1
- package/dist/commands/porch/claude.js +0 -79
- package/dist/commands/porch/claude.js.map +0 -1
- package/dist/commands/porch/consultation.d.ts +0 -56
- package/dist/commands/porch/consultation.d.ts.map +0 -1
- package/dist/commands/porch/consultation.js +0 -330
- package/dist/commands/porch/consultation.js.map +0 -1
- package/dist/commands/porch/notifications.d.ts +0 -99
- package/dist/commands/porch/notifications.d.ts.map +0 -1
- package/dist/commands/porch/notifications.js +0 -223
- package/dist/commands/porch/notifications.js.map +0 -1
- package/dist/commands/porch/plan-parser.d.ts +0 -38
- package/dist/commands/porch/plan-parser.d.ts.map +0 -1
- package/dist/commands/porch/plan-parser.js +0 -166
- package/dist/commands/porch/plan-parser.js.map +0 -1
- package/dist/commands/porch/protocol-loader.d.ts +0 -46
- package/dist/commands/porch/protocol-loader.d.ts.map +0 -1
- package/dist/commands/porch/protocol-loader.js +0 -262
- package/dist/commands/porch/protocol-loader.js.map +0 -1
- package/dist/commands/porch/repl.d.ts +0 -33
- package/dist/commands/porch/repl.d.ts.map +0 -1
- package/dist/commands/porch/repl.js +0 -206
- package/dist/commands/porch/repl.js.map +0 -1
- package/dist/commands/porch/run.d.ts +0 -15
- package/dist/commands/porch/run.d.ts.map +0 -1
- package/dist/commands/porch/run.js +0 -551
- package/dist/commands/porch/run.js.map +0 -1
- package/dist/commands/porch/signal-parser.d.ts +0 -102
- package/dist/commands/porch/signal-parser.d.ts.map +0 -1
- package/dist/commands/porch/signal-parser.js +0 -199
- package/dist/commands/porch/signal-parser.js.map +0 -1
- package/dist/commands/porch/signals.d.ts +0 -35
- package/dist/commands/porch/signals.d.ts.map +0 -1
- package/dist/commands/porch/signals.js +0 -76
- package/dist/commands/porch/signals.js.map +0 -1
- package/dist/commands/porch2/checks.d.ts +0 -29
- package/dist/commands/porch2/checks.d.ts.map +0 -1
- package/dist/commands/porch2/checks.js +0 -141
- package/dist/commands/porch2/checks.js.map +0 -1
- package/dist/commands/porch2/index.d.ts +0 -38
- package/dist/commands/porch2/index.d.ts.map +0 -1
- package/dist/commands/porch2/index.js +0 -483
- package/dist/commands/porch2/index.js.map +0 -1
- package/dist/commands/porch2/plan.d.ts +0 -70
- package/dist/commands/porch2/plan.d.ts.map +0 -1
- package/dist/commands/porch2/plan.js +0 -227
- package/dist/commands/porch2/plan.js.map +0 -1
- package/dist/commands/porch2/protocol.d.ts +0 -37
- package/dist/commands/porch2/protocol.d.ts.map +0 -1
- package/dist/commands/porch2/protocol.js +0 -183
- package/dist/commands/porch2/protocol.js.map +0 -1
- package/dist/commands/porch2/state.d.ts +0 -35
- package/dist/commands/porch2/state.d.ts.map +0 -1
- package/dist/commands/porch2/state.js +0 -124
- package/dist/commands/porch2/state.js.map +0 -1
- package/dist/commands/porch2/types.d.ts +0 -79
- package/dist/commands/porch2/types.d.ts.map +0 -1
- package/dist/commands/porch2/types.js +0 -8
- package/dist/commands/porch2/types.js.map +0 -1
- package/dist/commands/tower.d.ts +0 -16
- package/dist/commands/tower.d.ts.map +0 -1
- package/dist/commands/tower.js +0 -21
- package/dist/commands/tower.js.map +0 -1
- package/skeleton/config.json +0 -7
- package/skeleton/protocols/spider/prompts/defend.md +0 -215
- package/skeleton/protocols/spider/prompts/evaluate.md +0 -241
- package/skeleton/protocols/spider/prompts/implement.md +0 -149
- package/skeleton/protocols/spider/templates/review.md +0 -207
- /package/skeleton/protocols/{spider → spir}/templates/plan.md +0 -0
- /package/skeleton/protocols/{spider → spir}/templates/spec.md +0 -0
|
@@ -1,102 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Signal Parser
|
|
3
|
-
*
|
|
4
|
-
* Extracts signals from Claude output and validates them against protocol definitions.
|
|
5
|
-
* Signals use XML-style tags: <signal>SIGNAL_NAME</signal>
|
|
6
|
-
*/
|
|
7
|
-
import type { Protocol } from './types.js';
|
|
8
|
-
/**
|
|
9
|
-
* Signal extraction result
|
|
10
|
-
*/
|
|
11
|
-
export interface SignalResult {
|
|
12
|
-
signal: string | null;
|
|
13
|
-
content: string | null;
|
|
14
|
-
allSignals: string[];
|
|
15
|
-
isValid: boolean;
|
|
16
|
-
error?: string;
|
|
17
|
-
}
|
|
18
|
-
/**
|
|
19
|
-
* Extracted signal with optional content
|
|
20
|
-
*/
|
|
21
|
-
interface ExtractedSignal {
|
|
22
|
-
type: string;
|
|
23
|
-
content: string | null;
|
|
24
|
-
}
|
|
25
|
-
/**
|
|
26
|
-
* Extract signal from Claude output
|
|
27
|
-
*
|
|
28
|
-
* Supports two formats:
|
|
29
|
-
* - Simple: <signal>SIGNAL_NAME</signal>
|
|
30
|
-
* - With content: <signal type=SIGNAL_NAME>content here</signal>
|
|
31
|
-
*
|
|
32
|
-
* Rules:
|
|
33
|
-
* - Scan for both patterns
|
|
34
|
-
* - Return the LAST signal found (multiple signals → last wins)
|
|
35
|
-
* - Return null if no signal found
|
|
36
|
-
*/
|
|
37
|
-
export declare function extractSignal(output: string): ExtractedSignal | null;
|
|
38
|
-
/**
|
|
39
|
-
* Extract all signals from output (returns just the type names)
|
|
40
|
-
*/
|
|
41
|
-
export declare function extractAllSignals(output: string): string[];
|
|
42
|
-
/**
|
|
43
|
-
* Validate a signal against the protocol definition
|
|
44
|
-
*
|
|
45
|
-
* Returns true if the signal is valid for the current phase.
|
|
46
|
-
* Unknown signals are logged but considered valid (lenient mode).
|
|
47
|
-
*/
|
|
48
|
-
export declare function validateSignal(signal: string, protocol: Protocol, currentState: string): {
|
|
49
|
-
valid: boolean;
|
|
50
|
-
nextState?: string;
|
|
51
|
-
warning?: string;
|
|
52
|
-
};
|
|
53
|
-
/**
|
|
54
|
-
* Extract and validate signal from output
|
|
55
|
-
*/
|
|
56
|
-
export declare function parseSignal(output: string, protocol: Protocol, currentState: string): SignalResult;
|
|
57
|
-
/**
|
|
58
|
-
* Get valid signals for a phase
|
|
59
|
-
*/
|
|
60
|
-
export declare function getValidSignals(protocol: Protocol, phaseId: string): string[];
|
|
61
|
-
/**
|
|
62
|
-
* Common signals used across protocols
|
|
63
|
-
*/
|
|
64
|
-
export declare const CommonSignals: {
|
|
65
|
-
readonly SPEC_DRAFTED: "SPEC_DRAFTED";
|
|
66
|
-
readonly SPEC_READY: "SPEC_READY";
|
|
67
|
-
readonly REVISION_COMPLETE: "REVISION_COMPLETE";
|
|
68
|
-
readonly PLAN_DRAFTED: "PLAN_DRAFTED";
|
|
69
|
-
readonly PLAN_READY: "PLAN_READY";
|
|
70
|
-
readonly PHASE_IMPLEMENTED: "PHASE_IMPLEMENTED";
|
|
71
|
-
readonly IMPLEMENTATION_COMPLETE: "IMPLEMENTATION_COMPLETE";
|
|
72
|
-
readonly TESTS_WRITTEN: "TESTS_WRITTEN";
|
|
73
|
-
readonly TESTS_PASSING: "TESTS_PASSING";
|
|
74
|
-
readonly EVALUATION_COMPLETE: "EVALUATION_COMPLETE";
|
|
75
|
-
readonly PHASE_COMPLETE: "PHASE_COMPLETE";
|
|
76
|
-
readonly REVIEW_COMPLETE: "REVIEW_COMPLETE";
|
|
77
|
-
readonly UNDERSTOOD: "UNDERSTOOD";
|
|
78
|
-
readonly IMPLEMENTED: "IMPLEMENTED";
|
|
79
|
-
readonly VERIFIED: "VERIFIED";
|
|
80
|
-
readonly DIAGNOSED: "DIAGNOSED";
|
|
81
|
-
readonly FIXED: "FIXED";
|
|
82
|
-
readonly TESTED: "TESTED";
|
|
83
|
-
readonly PR_CREATED: "PR_CREATED";
|
|
84
|
-
readonly COMPLETE: "COMPLETE";
|
|
85
|
-
readonly BLOCKED: "BLOCKED";
|
|
86
|
-
readonly NEEDS_CLARIFICATION: "NEEDS_CLARIFICATION";
|
|
87
|
-
readonly AWAITING_INPUT: "AWAITING_INPUT";
|
|
88
|
-
};
|
|
89
|
-
/**
|
|
90
|
-
* Format a signal for output
|
|
91
|
-
*/
|
|
92
|
-
export declare function formatSignal(signal: string): string;
|
|
93
|
-
/**
|
|
94
|
-
* Check if output contains any signal
|
|
95
|
-
*/
|
|
96
|
-
export declare function hasSignal(output: string): boolean;
|
|
97
|
-
/**
|
|
98
|
-
* Strip all signals from output (for clean display)
|
|
99
|
-
*/
|
|
100
|
-
export declare function stripSignals(output: string): string;
|
|
101
|
-
export {};
|
|
102
|
-
//# sourceMappingURL=signal-parser.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"signal-parser.d.ts","sourceRoot":"","sources":["../../../src/commands/porch/signal-parser.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAS,MAAM,YAAY,CAAC;AAElD;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,UAAU,eAAe;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI,CA6CpE;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAsB1D;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAC5B,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,QAAQ,EAClB,YAAY,EAAE,MAAM,GACnB;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CAwB1D;AAED;;GAEG;AACH,wBAAgB,WAAW,CACzB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,QAAQ,EAClB,YAAY,EAAE,MAAM,GACnB,YAAY,CAsBd;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAI7E;AAED;;GAEG;AACH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;CAyChB,CAAC;AAEX;;GAEG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAEnD;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAEjD;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAEnD"}
|
|
@@ -1,199 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Signal Parser
|
|
3
|
-
*
|
|
4
|
-
* Extracts signals from Claude output and validates them against protocol definitions.
|
|
5
|
-
* Signals use XML-style tags: <signal>SIGNAL_NAME</signal>
|
|
6
|
-
*/
|
|
7
|
-
/**
|
|
8
|
-
* Extract signal from Claude output
|
|
9
|
-
*
|
|
10
|
-
* Supports two formats:
|
|
11
|
-
* - Simple: <signal>SIGNAL_NAME</signal>
|
|
12
|
-
* - With content: <signal type=SIGNAL_NAME>content here</signal>
|
|
13
|
-
*
|
|
14
|
-
* Rules:
|
|
15
|
-
* - Scan for both patterns
|
|
16
|
-
* - Return the LAST signal found (multiple signals → last wins)
|
|
17
|
-
* - Return null if no signal found
|
|
18
|
-
*/
|
|
19
|
-
export function extractSignal(output) {
|
|
20
|
-
// Try new format first: <signal type=NAME>content</signal>
|
|
21
|
-
const typedMatches = output.match(/<signal\s+type=([A-Z_]+)>([\s\S]*?)<\/signal>/gi);
|
|
22
|
-
// Also try simple format: <signal>NAME</signal>
|
|
23
|
-
const simpleMatches = output.match(/<signal>([^<]+)<\/signal>/gi);
|
|
24
|
-
// Collect all matches with their positions
|
|
25
|
-
const allMatches = [];
|
|
26
|
-
if (typedMatches) {
|
|
27
|
-
for (const match of typedMatches) {
|
|
28
|
-
const parsed = match.match(/<signal\s+type=([A-Z_]+)>([\s\S]*?)<\/signal>/i);
|
|
29
|
-
if (parsed) {
|
|
30
|
-
const index = output.indexOf(match);
|
|
31
|
-
allMatches.push({
|
|
32
|
-
index,
|
|
33
|
-
type: parsed[1].trim(),
|
|
34
|
-
content: parsed[2].trim() || null
|
|
35
|
-
});
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
if (simpleMatches) {
|
|
40
|
-
for (const match of simpleMatches) {
|
|
41
|
-
const parsed = match.match(/<signal>([^<]+)<\/signal>/i);
|
|
42
|
-
if (parsed) {
|
|
43
|
-
const index = output.indexOf(match);
|
|
44
|
-
allMatches.push({
|
|
45
|
-
index,
|
|
46
|
-
type: parsed[1].trim(),
|
|
47
|
-
content: null
|
|
48
|
-
});
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
if (allMatches.length === 0)
|
|
53
|
-
return null;
|
|
54
|
-
// Sort by position and return the last one
|
|
55
|
-
allMatches.sort((a, b) => a.index - b.index);
|
|
56
|
-
const last = allMatches[allMatches.length - 1];
|
|
57
|
-
return { type: last.type, content: last.content };
|
|
58
|
-
}
|
|
59
|
-
/**
|
|
60
|
-
* Extract all signals from output (returns just the type names)
|
|
61
|
-
*/
|
|
62
|
-
export function extractAllSignals(output) {
|
|
63
|
-
const results = [];
|
|
64
|
-
// Match typed format: <signal type=NAME>...</signal>
|
|
65
|
-
const typedMatches = output.match(/<signal\s+type=([A-Z_]+)>[\s\S]*?<\/signal>/gi);
|
|
66
|
-
if (typedMatches) {
|
|
67
|
-
for (const match of typedMatches) {
|
|
68
|
-
const parsed = match.match(/<signal\s+type=([A-Z_]+)>/i);
|
|
69
|
-
if (parsed)
|
|
70
|
-
results.push(parsed[1].trim());
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
// Match simple format: <signal>NAME</signal>
|
|
74
|
-
const simpleMatches = output.match(/<signal>([^<]+)<\/signal>/gi);
|
|
75
|
-
if (simpleMatches) {
|
|
76
|
-
for (const match of simpleMatches) {
|
|
77
|
-
const parsed = match.match(/<signal>([^<]+)<\/signal>/i);
|
|
78
|
-
if (parsed)
|
|
79
|
-
results.push(parsed[1].trim());
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
return results;
|
|
83
|
-
}
|
|
84
|
-
/**
|
|
85
|
-
* Validate a signal against the protocol definition
|
|
86
|
-
*
|
|
87
|
-
* Returns true if the signal is valid for the current phase.
|
|
88
|
-
* Unknown signals are logged but considered valid (lenient mode).
|
|
89
|
-
*/
|
|
90
|
-
export function validateSignal(signal, protocol, currentState) {
|
|
91
|
-
const [phaseId, substate] = currentState.split(':');
|
|
92
|
-
const phase = protocol.phases.find(p => p.id === phaseId);
|
|
93
|
-
if (!phase) {
|
|
94
|
-
return {
|
|
95
|
-
valid: false,
|
|
96
|
-
warning: `Unknown phase: ${phaseId}`,
|
|
97
|
-
};
|
|
98
|
-
}
|
|
99
|
-
// Check if signal is defined for this phase
|
|
100
|
-
if (phase.signals && phase.signals[signal]) {
|
|
101
|
-
return {
|
|
102
|
-
valid: true,
|
|
103
|
-
nextState: phase.signals[signal],
|
|
104
|
-
};
|
|
105
|
-
}
|
|
106
|
-
// Signal not defined - lenient mode: allow but warn
|
|
107
|
-
return {
|
|
108
|
-
valid: true, // Allow unknown signals to prevent blocking
|
|
109
|
-
warning: `Signal "${signal}" not defined in protocol for phase ${phaseId}`,
|
|
110
|
-
};
|
|
111
|
-
}
|
|
112
|
-
/**
|
|
113
|
-
* Extract and validate signal from output
|
|
114
|
-
*/
|
|
115
|
-
export function parseSignal(output, protocol, currentState) {
|
|
116
|
-
const extracted = extractSignal(output);
|
|
117
|
-
const allSignals = extractAllSignals(output);
|
|
118
|
-
if (!extracted) {
|
|
119
|
-
return {
|
|
120
|
-
signal: null,
|
|
121
|
-
content: null,
|
|
122
|
-
allSignals: [],
|
|
123
|
-
isValid: true, // No signal is valid (use default transition)
|
|
124
|
-
};
|
|
125
|
-
}
|
|
126
|
-
const validation = validateSignal(extracted.type, protocol, currentState);
|
|
127
|
-
return {
|
|
128
|
-
signal: extracted.type,
|
|
129
|
-
content: extracted.content,
|
|
130
|
-
allSignals,
|
|
131
|
-
isValid: validation.valid,
|
|
132
|
-
error: validation.warning,
|
|
133
|
-
};
|
|
134
|
-
}
|
|
135
|
-
/**
|
|
136
|
-
* Get valid signals for a phase
|
|
137
|
-
*/
|
|
138
|
-
export function getValidSignals(protocol, phaseId) {
|
|
139
|
-
const phase = protocol.phases.find(p => p.id === phaseId);
|
|
140
|
-
if (!phase?.signals)
|
|
141
|
-
return [];
|
|
142
|
-
return Object.keys(phase.signals);
|
|
143
|
-
}
|
|
144
|
-
/**
|
|
145
|
-
* Common signals used across protocols
|
|
146
|
-
*/
|
|
147
|
-
export const CommonSignals = {
|
|
148
|
-
// Specify phase
|
|
149
|
-
SPEC_DRAFTED: 'SPEC_DRAFTED',
|
|
150
|
-
SPEC_READY: 'SPEC_READY',
|
|
151
|
-
REVISION_COMPLETE: 'REVISION_COMPLETE',
|
|
152
|
-
// Plan phase
|
|
153
|
-
PLAN_DRAFTED: 'PLAN_DRAFTED',
|
|
154
|
-
PLAN_READY: 'PLAN_READY',
|
|
155
|
-
// Implement phase
|
|
156
|
-
PHASE_IMPLEMENTED: 'PHASE_IMPLEMENTED',
|
|
157
|
-
IMPLEMENTATION_COMPLETE: 'IMPLEMENTATION_COMPLETE',
|
|
158
|
-
// Defend phase
|
|
159
|
-
TESTS_WRITTEN: 'TESTS_WRITTEN',
|
|
160
|
-
TESTS_PASSING: 'TESTS_PASSING',
|
|
161
|
-
// Evaluate phase
|
|
162
|
-
EVALUATION_COMPLETE: 'EVALUATION_COMPLETE',
|
|
163
|
-
PHASE_COMPLETE: 'PHASE_COMPLETE',
|
|
164
|
-
// Review phase
|
|
165
|
-
REVIEW_COMPLETE: 'REVIEW_COMPLETE',
|
|
166
|
-
// TICK protocol
|
|
167
|
-
UNDERSTOOD: 'UNDERSTOOD',
|
|
168
|
-
IMPLEMENTED: 'IMPLEMENTED',
|
|
169
|
-
VERIFIED: 'VERIFIED',
|
|
170
|
-
// BUGFIX protocol
|
|
171
|
-
DIAGNOSED: 'DIAGNOSED',
|
|
172
|
-
FIXED: 'FIXED',
|
|
173
|
-
TESTED: 'TESTED',
|
|
174
|
-
PR_CREATED: 'PR_CREATED',
|
|
175
|
-
// General
|
|
176
|
-
COMPLETE: 'COMPLETE',
|
|
177
|
-
BLOCKED: 'BLOCKED', // Can include reason: BLOCKED:reason text
|
|
178
|
-
NEEDS_CLARIFICATION: 'NEEDS_CLARIFICATION',
|
|
179
|
-
AWAITING_INPUT: 'AWAITING_INPUT', // Claude needs user input. Can include question: AWAITING_INPUT:Your question here?
|
|
180
|
-
};
|
|
181
|
-
/**
|
|
182
|
-
* Format a signal for output
|
|
183
|
-
*/
|
|
184
|
-
export function formatSignal(signal) {
|
|
185
|
-
return `<signal>${signal}</signal>`;
|
|
186
|
-
}
|
|
187
|
-
/**
|
|
188
|
-
* Check if output contains any signal
|
|
189
|
-
*/
|
|
190
|
-
export function hasSignal(output) {
|
|
191
|
-
return /<signal>[^<]+<\/signal>/i.test(output);
|
|
192
|
-
}
|
|
193
|
-
/**
|
|
194
|
-
* Strip all signals from output (for clean display)
|
|
195
|
-
*/
|
|
196
|
-
export function stripSignals(output) {
|
|
197
|
-
return output.replace(/<signal>[^<]+<\/signal>/gi, '').trim();
|
|
198
|
-
}
|
|
199
|
-
//# sourceMappingURL=signal-parser.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"signal-parser.js","sourceRoot":"","sources":["../../../src/commands/porch/signal-parser.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Signal detection for Porch
|
|
3
|
-
*
|
|
4
|
-
* Watches Claude's output file for signal markers:
|
|
5
|
-
* PHASE_COMPLETE - Phase work is done
|
|
6
|
-
* GATE_NEEDED - Human approval required
|
|
7
|
-
* BLOCKED: <reason> - Claude is stuck
|
|
8
|
-
*/
|
|
9
|
-
export type Signal = {
|
|
10
|
-
type: 'PHASE_COMPLETE';
|
|
11
|
-
} | {
|
|
12
|
-
type: 'GATE_NEEDED';
|
|
13
|
-
} | {
|
|
14
|
-
type: 'BLOCKED';
|
|
15
|
-
reason: string;
|
|
16
|
-
};
|
|
17
|
-
export interface SignalWatcher {
|
|
18
|
-
/**
|
|
19
|
-
* Check for new signals since last check.
|
|
20
|
-
*/
|
|
21
|
-
check(): Promise<Signal | null>;
|
|
22
|
-
/**
|
|
23
|
-
* Stop watching.
|
|
24
|
-
*/
|
|
25
|
-
stop(): void;
|
|
26
|
-
}
|
|
27
|
-
/**
|
|
28
|
-
* Create a signal watcher for the given output file.
|
|
29
|
-
*/
|
|
30
|
-
export declare function watchForSignal(outputPath: string): SignalWatcher;
|
|
31
|
-
/**
|
|
32
|
-
* Parse a signal from text content (one-shot check).
|
|
33
|
-
*/
|
|
34
|
-
export declare function parseSignal(content: string): Signal | null;
|
|
35
|
-
//# sourceMappingURL=signals.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"signals.d.ts","sourceRoot":"","sources":["../../../src/commands/porch/signals.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,MAAM,MAAM,MAAM,GACd;IAAE,IAAI,EAAE,gBAAgB,CAAA;CAAE,GAC1B;IAAE,IAAI,EAAE,aAAa,CAAA;CAAE,GACvB;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAExC,MAAM,WAAW,aAAa;IAC5B;;OAEG;IACH,KAAK,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAEhC;;OAEG;IACH,IAAI,IAAI,IAAI,CAAC;CACd;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,aAAa,CAmDhE;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAqB1D"}
|
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Signal detection for Porch
|
|
3
|
-
*
|
|
4
|
-
* Watches Claude's output file for signal markers:
|
|
5
|
-
* PHASE_COMPLETE - Phase work is done
|
|
6
|
-
* GATE_NEEDED - Human approval required
|
|
7
|
-
* BLOCKED: <reason> - Claude is stuck
|
|
8
|
-
*/
|
|
9
|
-
import * as fs from 'node:fs';
|
|
10
|
-
/**
|
|
11
|
-
* Create a signal watcher for the given output file.
|
|
12
|
-
*/
|
|
13
|
-
export function watchForSignal(outputPath) {
|
|
14
|
-
let lastPosition = 0;
|
|
15
|
-
let stopped = false;
|
|
16
|
-
return {
|
|
17
|
-
async check() {
|
|
18
|
-
if (stopped)
|
|
19
|
-
return null;
|
|
20
|
-
try {
|
|
21
|
-
if (!fs.existsSync(outputPath)) {
|
|
22
|
-
return null;
|
|
23
|
-
}
|
|
24
|
-
const content = fs.readFileSync(outputPath, 'utf-8');
|
|
25
|
-
// Only check new content since last position
|
|
26
|
-
const newContent = content.slice(lastPosition);
|
|
27
|
-
lastPosition = content.length;
|
|
28
|
-
// Look for signal markers
|
|
29
|
-
// These should be on their own line, possibly in output blocks
|
|
30
|
-
const lines = newContent.split('\n');
|
|
31
|
-
for (const line of lines) {
|
|
32
|
-
const trimmed = line.trim();
|
|
33
|
-
if (trimmed === 'PHASE_COMPLETE' || trimmed.includes('PHASE_COMPLETE')) {
|
|
34
|
-
return { type: 'PHASE_COMPLETE' };
|
|
35
|
-
}
|
|
36
|
-
if (trimmed === 'GATE_NEEDED' || trimmed.includes('GATE_NEEDED')) {
|
|
37
|
-
return { type: 'GATE_NEEDED' };
|
|
38
|
-
}
|
|
39
|
-
const blockedMatch = trimmed.match(/BLOCKED:\s*(.+)/);
|
|
40
|
-
if (blockedMatch) {
|
|
41
|
-
return { type: 'BLOCKED', reason: blockedMatch[1] };
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
return null;
|
|
45
|
-
}
|
|
46
|
-
catch (err) {
|
|
47
|
-
// File might not exist yet or be locked
|
|
48
|
-
return null;
|
|
49
|
-
}
|
|
50
|
-
},
|
|
51
|
-
stop() {
|
|
52
|
-
stopped = true;
|
|
53
|
-
},
|
|
54
|
-
};
|
|
55
|
-
}
|
|
56
|
-
/**
|
|
57
|
-
* Parse a signal from text content (one-shot check).
|
|
58
|
-
*/
|
|
59
|
-
export function parseSignal(content) {
|
|
60
|
-
const lines = content.split('\n');
|
|
61
|
-
for (const line of lines) {
|
|
62
|
-
const trimmed = line.trim();
|
|
63
|
-
if (trimmed === 'PHASE_COMPLETE') {
|
|
64
|
-
return { type: 'PHASE_COMPLETE' };
|
|
65
|
-
}
|
|
66
|
-
if (trimmed === 'GATE_NEEDED') {
|
|
67
|
-
return { type: 'GATE_NEEDED' };
|
|
68
|
-
}
|
|
69
|
-
const blockedMatch = trimmed.match(/BLOCKED:\s*(.+)/);
|
|
70
|
-
if (blockedMatch) {
|
|
71
|
-
return { type: 'BLOCKED', reason: blockedMatch[1] };
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
return null;
|
|
75
|
-
}
|
|
76
|
-
//# sourceMappingURL=signals.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"signals.js","sourceRoot":"","sources":["../../../src/commands/porch/signals.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAmB9B;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,UAAkB;IAC/C,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,IAAI,OAAO,GAAG,KAAK,CAAC;IAEpB,OAAO;QACL,KAAK,CAAC,KAAK;YACT,IAAI,OAAO;gBAAE,OAAO,IAAI,CAAC;YAEzB,IAAI,CAAC;gBACH,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;oBAC/B,OAAO,IAAI,CAAC;gBACd,CAAC;gBAED,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;gBAErD,6CAA6C;gBAC7C,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;gBAC/C,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC;gBAE9B,0BAA0B;gBAC1B,+DAA+D;gBAC/D,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAErC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;oBACzB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;oBAE5B,IAAI,OAAO,KAAK,gBAAgB,IAAI,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC;wBACvE,OAAO,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC;oBACpC,CAAC;oBAED,IAAI,OAAO,KAAK,aAAa,IAAI,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;wBACjE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;oBACjC,CAAC;oBAED,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;oBACtD,IAAI,YAAY,EAAE,CAAC;wBACjB,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;oBACtD,CAAC;gBACH,CAAC;gBAED,OAAO,IAAI,CAAC;YACd,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,wCAAwC;gBACxC,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QAED,IAAI;YACF,OAAO,GAAG,IAAI,CAAC;QACjB,CAAC;KACF,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,OAAe;IACzC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAElC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAE5B,IAAI,OAAO,KAAK,gBAAgB,EAAE,CAAC;YACjC,OAAO,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC;QACpC,CAAC;QAED,IAAI,OAAO,KAAK,aAAa,EAAE,CAAC;YAC9B,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;QACjC,CAAC;QAED,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;QACtD,IAAI,YAAY,EAAE,CAAC;YACjB,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;QACtD,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Porch2 Check Runner
|
|
3
|
-
*
|
|
4
|
-
* Runs check commands (npm test, npm run build, etc.)
|
|
5
|
-
* with timeout support.
|
|
6
|
-
*/
|
|
7
|
-
import type { CheckResult } from './types.js';
|
|
8
|
-
/** Environment variables passed to check commands */
|
|
9
|
-
export interface CheckEnv {
|
|
10
|
-
PROJECT_ID: string;
|
|
11
|
-
PROJECT_TITLE: string;
|
|
12
|
-
}
|
|
13
|
-
/**
|
|
14
|
-
* Run a single check command
|
|
15
|
-
*/
|
|
16
|
-
export declare function runCheck(name: string, command: string, cwd: string, env: CheckEnv, timeoutMs?: number): Promise<CheckResult>;
|
|
17
|
-
/**
|
|
18
|
-
* Run multiple checks for a phase
|
|
19
|
-
*/
|
|
20
|
-
export declare function runPhaseChecks(checks: Record<string, string>, cwd: string, env: CheckEnv, timeoutMs?: number): Promise<CheckResult[]>;
|
|
21
|
-
/**
|
|
22
|
-
* Format check results for terminal output
|
|
23
|
-
*/
|
|
24
|
-
export declare function formatCheckResults(results: CheckResult[]): string;
|
|
25
|
-
/**
|
|
26
|
-
* Check if all results passed
|
|
27
|
-
*/
|
|
28
|
-
export declare function allChecksPassed(results: CheckResult[]): boolean;
|
|
29
|
-
//# sourceMappingURL=checks.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"checks.d.ts","sourceRoot":"","sources":["../../../src/commands/porch2/checks.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAS9C,qDAAqD;AACrD,MAAM,WAAW,QAAQ;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,wBAAsB,QAAQ,CAC5B,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,QAAQ,EACb,SAAS,GAAE,MAA2B,GACrC,OAAO,CAAC,WAAW,CAAC,CAsFtB;AAED;;GAEG;AACH,wBAAsB,cAAc,CAClC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC9B,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,QAAQ,EACb,SAAS,GAAE,MAA2B,GACrC,OAAO,CAAC,WAAW,EAAE,CAAC,CAcxB;AAMD;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,WAAW,EAAE,GAAG,MAAM,CAwBjE;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,WAAW,EAAE,GAAG,OAAO,CAE/D"}
|
|
@@ -1,141 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Porch2 Check Runner
|
|
3
|
-
*
|
|
4
|
-
* Runs check commands (npm test, npm run build, etc.)
|
|
5
|
-
* with timeout support.
|
|
6
|
-
*/
|
|
7
|
-
import { spawn } from 'node:child_process';
|
|
8
|
-
/** Default timeout for checks: 5 minutes */
|
|
9
|
-
const DEFAULT_TIMEOUT_MS = 5 * 60 * 1000;
|
|
10
|
-
/**
|
|
11
|
-
* Run a single check command
|
|
12
|
-
*/
|
|
13
|
-
export async function runCheck(name, command, cwd, env, timeoutMs = DEFAULT_TIMEOUT_MS) {
|
|
14
|
-
const startTime = Date.now();
|
|
15
|
-
return new Promise((resolve) => {
|
|
16
|
-
let stdout = '';
|
|
17
|
-
let stderr = '';
|
|
18
|
-
let killed = false;
|
|
19
|
-
// Parse command into executable and args
|
|
20
|
-
const parts = command.split(/\s+/);
|
|
21
|
-
const executable = parts[0];
|
|
22
|
-
const args = parts.slice(1);
|
|
23
|
-
const proc = spawn(executable, args, {
|
|
24
|
-
cwd,
|
|
25
|
-
shell: true,
|
|
26
|
-
stdio: ['ignore', 'pipe', 'pipe'],
|
|
27
|
-
env: {
|
|
28
|
-
...process.env,
|
|
29
|
-
PROJECT_ID: env.PROJECT_ID,
|
|
30
|
-
PROJECT_TITLE: env.PROJECT_TITLE,
|
|
31
|
-
},
|
|
32
|
-
});
|
|
33
|
-
// Set up timeout
|
|
34
|
-
const timeout = setTimeout(() => {
|
|
35
|
-
killed = true;
|
|
36
|
-
proc.kill('SIGTERM');
|
|
37
|
-
setTimeout(() => {
|
|
38
|
-
if (!proc.killed) {
|
|
39
|
-
proc.kill('SIGKILL');
|
|
40
|
-
}
|
|
41
|
-
}, 5000);
|
|
42
|
-
}, timeoutMs);
|
|
43
|
-
proc.stdout.on('data', (data) => {
|
|
44
|
-
stdout += data.toString();
|
|
45
|
-
});
|
|
46
|
-
proc.stderr.on('data', (data) => {
|
|
47
|
-
stderr += data.toString();
|
|
48
|
-
});
|
|
49
|
-
proc.on('close', (code) => {
|
|
50
|
-
clearTimeout(timeout);
|
|
51
|
-
const duration = Date.now() - startTime;
|
|
52
|
-
if (killed) {
|
|
53
|
-
resolve({
|
|
54
|
-
name,
|
|
55
|
-
command,
|
|
56
|
-
passed: false,
|
|
57
|
-
error: `Timed out after ${timeoutMs / 1000}s`,
|
|
58
|
-
duration_ms: duration,
|
|
59
|
-
});
|
|
60
|
-
}
|
|
61
|
-
else if (code === 0) {
|
|
62
|
-
resolve({
|
|
63
|
-
name,
|
|
64
|
-
command,
|
|
65
|
-
passed: true,
|
|
66
|
-
output: stdout.trim(),
|
|
67
|
-
duration_ms: duration,
|
|
68
|
-
});
|
|
69
|
-
}
|
|
70
|
-
else {
|
|
71
|
-
resolve({
|
|
72
|
-
name,
|
|
73
|
-
command,
|
|
74
|
-
passed: false,
|
|
75
|
-
output: stdout.trim(),
|
|
76
|
-
error: stderr.trim() || `Exit code ${code}`,
|
|
77
|
-
duration_ms: duration,
|
|
78
|
-
});
|
|
79
|
-
}
|
|
80
|
-
});
|
|
81
|
-
proc.on('error', (err) => {
|
|
82
|
-
clearTimeout(timeout);
|
|
83
|
-
resolve({
|
|
84
|
-
name,
|
|
85
|
-
command,
|
|
86
|
-
passed: false,
|
|
87
|
-
error: err.message,
|
|
88
|
-
duration_ms: Date.now() - startTime,
|
|
89
|
-
});
|
|
90
|
-
});
|
|
91
|
-
});
|
|
92
|
-
}
|
|
93
|
-
/**
|
|
94
|
-
* Run multiple checks for a phase
|
|
95
|
-
*/
|
|
96
|
-
export async function runPhaseChecks(checks, cwd, env, timeoutMs = DEFAULT_TIMEOUT_MS) {
|
|
97
|
-
const results = [];
|
|
98
|
-
for (const [name, command] of Object.entries(checks)) {
|
|
99
|
-
const result = await runCheck(name, command, cwd, env, timeoutMs);
|
|
100
|
-
results.push(result);
|
|
101
|
-
// Stop on first failure
|
|
102
|
-
if (!result.passed) {
|
|
103
|
-
break;
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
return results;
|
|
107
|
-
}
|
|
108
|
-
// ============================================================================
|
|
109
|
-
// Result Formatting
|
|
110
|
-
// ============================================================================
|
|
111
|
-
/**
|
|
112
|
-
* Format check results for terminal output
|
|
113
|
-
*/
|
|
114
|
-
export function formatCheckResults(results) {
|
|
115
|
-
const lines = [];
|
|
116
|
-
for (const result of results) {
|
|
117
|
-
const status = result.passed ? '✓' : '✗';
|
|
118
|
-
const duration = result.duration_ms
|
|
119
|
-
? ` (${(result.duration_ms / 1000).toFixed(1)}s)`
|
|
120
|
-
: '';
|
|
121
|
-
lines.push(` ${status} ${result.name}${duration}`);
|
|
122
|
-
if (!result.passed && result.error) {
|
|
123
|
-
// Indent error message
|
|
124
|
-
const errorLines = result.error.split('\n').slice(0, 5);
|
|
125
|
-
for (const line of errorLines) {
|
|
126
|
-
lines.push(` ${line}`);
|
|
127
|
-
}
|
|
128
|
-
if (result.error.split('\n').length > 5) {
|
|
129
|
-
lines.push(' ...');
|
|
130
|
-
}
|
|
131
|
-
}
|
|
132
|
-
}
|
|
133
|
-
return lines.join('\n');
|
|
134
|
-
}
|
|
135
|
-
/**
|
|
136
|
-
* Check if all results passed
|
|
137
|
-
*/
|
|
138
|
-
export function allChecksPassed(results) {
|
|
139
|
-
return results.every(r => r.passed);
|
|
140
|
-
}
|
|
141
|
-
//# sourceMappingURL=checks.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"checks.js","sourceRoot":"","sources":["../../../src/commands/porch2/checks.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Porch2 - Minimal Protocol Orchestrator
|
|
3
|
-
*
|
|
4
|
-
* Claude calls porch as a tool; porch returns prescriptive instructions.
|
|
5
|
-
* All commands produce clear, actionable output.
|
|
6
|
-
*/
|
|
7
|
-
/**
|
|
8
|
-
* porch2 status <id>
|
|
9
|
-
* Shows current state and prescriptive next steps.
|
|
10
|
-
*/
|
|
11
|
-
export declare function status(projectRoot: string, projectId: string): Promise<void>;
|
|
12
|
-
/**
|
|
13
|
-
* porch2 check <id>
|
|
14
|
-
* Runs the phase checks and reports results.
|
|
15
|
-
*/
|
|
16
|
-
export declare function check(projectRoot: string, projectId: string): Promise<void>;
|
|
17
|
-
/**
|
|
18
|
-
* porch2 done <id>
|
|
19
|
-
* Advances to next phase if checks pass. Refuses if checks fail.
|
|
20
|
-
*/
|
|
21
|
-
export declare function done(projectRoot: string, projectId: string): Promise<void>;
|
|
22
|
-
/**
|
|
23
|
-
* porch2 gate <id>
|
|
24
|
-
* Requests human approval for current gate.
|
|
25
|
-
*/
|
|
26
|
-
export declare function gate(projectRoot: string, projectId: string): Promise<void>;
|
|
27
|
-
/**
|
|
28
|
-
* porch2 approve <id> <gate> --a-human-explicitly-approved-this
|
|
29
|
-
* Human approves a gate. Requires explicit flag to prevent automated approvals.
|
|
30
|
-
*/
|
|
31
|
-
export declare function approve(projectRoot: string, projectId: string, gateName: string, hasHumanFlag: boolean): Promise<void>;
|
|
32
|
-
/**
|
|
33
|
-
* porch2 init <protocol> <id> <name>
|
|
34
|
-
* Initialize a new project.
|
|
35
|
-
*/
|
|
36
|
-
export declare function init(projectRoot: string, protocolName: string, projectId: string, projectName: string): Promise<void>;
|
|
37
|
-
export declare function cli(args: string[]): Promise<void>;
|
|
38
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/porch2/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAyDH;;;GAGG;AACH,wBAAsB,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAiFlF;AAED;;;GAGG;AACH,wBAAsB,KAAK,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAiCjF;AAED;;;GAGG;AACH,wBAAsB,IAAI,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAiHhF;AAkCD;;;GAGG;AACH,wBAAsB,IAAI,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAsDhF;AAED;;;GAGG;AACH,wBAAsB,OAAO,CAC3B,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,OAAO,GACpB,OAAO,CAAC,IAAI,CAAC,CA2Df;AAED;;;GAGG;AACH,wBAAsB,IAAI,CACxB,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,EACpB,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,IAAI,CAAC,CAkBf;AA2DD,wBAAsB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAwDvD"}
|