@cluesmith/codev 3.2.3 → 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 +173 -0
- package/dist/agent-farm/cli.js.map +1 -1
- package/dist/agent-farm/commands/attach.js +2 -2
- package/dist/agent-farm/commands/attach.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 +2 -2
- package/dist/agent-farm/commands/send.d.ts.map +1 -1
- package/dist/agent-farm/commands/send.js +52 -11
- package/dist/agent-farm/commands/send.js.map +1 -1
- package/dist/agent-farm/commands/setup.d.ts +4 -1
- package/dist/agent-farm/commands/setup.d.ts.map +1 -1
- package/dist/agent-farm/commands/setup.js +8 -4
- package/dist/agent-farm/commands/setup.js.map +1 -1
- package/dist/agent-farm/commands/spawn-worktree.d.ts +116 -6
- package/dist/agent-farm/commands/spawn-worktree.d.ts.map +1 -1
- package/dist/agent-farm/commands/spawn-worktree.js +345 -74
- 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 +105 -9
- package/dist/agent-farm/commands/status.js.map +1 -1
- package/dist/agent-farm/commands/tower-sweep-husks.d.ts +6 -0
- package/dist/agent-farm/commands/tower-sweep-husks.d.ts.map +1 -0
- package/dist/agent-farm/commands/tower-sweep-husks.js +77 -0
- package/dist/agent-farm/commands/tower-sweep-husks.js.map +1 -0
- package/dist/agent-farm/commands/tower.d.ts.map +1 -1
- package/dist/agent-farm/commands/tower.js +34 -0
- package/dist/agent-farm/commands/tower.js.map +1 -1
- package/dist/agent-farm/commands/whoami.d.ts +65 -0
- package/dist/agent-farm/commands/whoami.d.ts.map +1 -0
- package/dist/agent-farm/commands/whoami.js +196 -0
- package/dist/agent-farm/commands/whoami.js.map +1 -0
- 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/architect-session-holder.d.ts +133 -0
- package/dist/agent-farm/servers/architect-session-holder.d.ts.map +1 -0
- package/dist/agent-farm/servers/architect-session-holder.js +268 -0
- package/dist/agent-farm/servers/architect-session-holder.js.map +1 -0
- 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/process-census.d.ts +41 -0
- package/dist/agent-farm/servers/process-census.d.ts.map +1 -0
- package/dist/agent-farm/servers/process-census.js +62 -0
- package/dist/agent-farm/servers/process-census.js.map +1 -0
- 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-log-sweep.d.ts +93 -0
- package/dist/agent-farm/servers/session-log-sweep.d.ts.map +1 -0
- package/dist/agent-farm/servers/session-log-sweep.js +165 -0
- package/dist/agent-farm/servers/session-log-sweep.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/shellper-husk-sweep.d.ts +87 -0
- package/dist/agent-farm/servers/shellper-husk-sweep.d.ts.map +1 -0
- package/dist/agent-farm/servers/shellper-husk-sweep.js +129 -0
- package/dist/agent-farm/servers/shellper-husk-sweep.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 +128 -19
- 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 +807 -99
- package/dist/agent-farm/servers/tower-routes.js.map +1 -1
- package/dist/agent-farm/servers/tower-server.js +241 -15
- 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 +139 -124
- 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 +99 -1
- package/dist/agent-farm/servers/tower-utils.d.ts.map +1 -1
- package/dist/agent-farm/servers/tower-utils.js +242 -6
- 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/state.d.ts +6 -1
- package/dist/agent-farm/state.d.ts.map +1 -1
- package/dist/agent-farm/state.js +5 -2
- package/dist/agent-farm/state.js.map +1 -1
- 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/adopt.d.ts +3 -2
- package/dist/commands/adopt.d.ts.map +1 -1
- package/dist/commands/adopt.js +7 -6
- package/dist/commands/adopt.js.map +1 -1
- package/dist/commands/consult/agy-auth-cache.d.ts +97 -0
- package/dist/commands/consult/agy-auth-cache.d.ts.map +1 -0
- package/dist/commands/consult/agy-auth-cache.js +320 -0
- package/dist/commands/consult/agy-auth-cache.js.map +1 -0
- 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 +330 -27
- 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 +28 -0
- package/dist/commands/doctor.d.ts.map +1 -1
- package/dist/commands/doctor.js +258 -22
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/init.d.ts +3 -2
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +7 -6
- package/dist/commands/init.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.d.ts.map +1 -1
- package/dist/commands/porch/index.js +32 -36
- 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/commands/update.d.ts +4 -4
- package/dist/commands/update.d.ts.map +1 -1
- package/dist/commands/update.js +9 -11
- package/dist/commands/update.js.map +1 -1
- package/dist/lib/config.d.ts +70 -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/default-branch.d.ts +1 -1
- package/dist/lib/default-branch.js +1 -1
- package/dist/lib/github.js +1 -1
- package/dist/lib/github.js.map +1 -1
- package/dist/lib/gitignore.d.ts +25 -2
- package/dist/lib/gitignore.d.ts.map +1 -1
- package/dist/lib/gitignore.js +70 -0
- package/dist/lib/gitignore.js.map +1 -1
- package/dist/lib/migration-backup-audit.d.ts +64 -0
- package/dist/lib/migration-backup-audit.d.ts.map +1 -0
- package/dist/lib/migration-backup-audit.js +145 -0
- package/dist/lib/migration-backup-audit.js.map +1 -0
- 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/protocol-drift-audit.d.ts +118 -0
- package/dist/lib/protocol-drift-audit.d.ts.map +1 -0
- package/dist/lib/protocol-drift-audit.js +217 -0
- package/dist/lib/protocol-drift-audit.js.map +1 -0
- package/dist/lib/scaffold.d.ts +10 -3
- package/dist/lib/scaffold.d.ts.map +1 -1
- package/dist/lib/scaffold.js +29 -26
- package/dist/lib/scaffold.js.map +1 -1
- 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 +9 -0
- package/dist/terminal/pty-manager.d.ts.map +1 -1
- package/dist/terminal/pty-manager.js +32 -6
- package/dist/terminal/pty-manager.js.map +1 -1
- package/dist/terminal/pty-session.d.ts +156 -4
- package/dist/terminal/pty-session.d.ts.map +1 -1
- package/dist/terminal/pty-session.js +307 -42
- 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 +129 -0
- package/dist/terminal/session-manager.d.ts.map +1 -1
- package/dist/terminal/session-manager.js +337 -44
- 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-client.d.ts +19 -4
- package/dist/terminal/shellper-client.d.ts.map +1 -1
- package/dist/terminal/shellper-client.js +70 -8
- package/dist/terminal/shellper-client.js.map +1 -1
- 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 +33 -9
- package/dist/terminal/shellper-process.js.map +1 -1
- package/dist/terminal/shellper-protocol.d.ts +40 -2
- package/dist/terminal/shellper-protocol.d.ts.map +1 -1
- package/dist/terminal/shellper-protocol.js +72 -5
- package/dist/terminal/shellper-protocol.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 +11 -9
- package/skeleton/.claude/skills/afx/SKILL.md +27 -1
- package/skeleton/.claude/skills/arch-init/SKILL.md +135 -0
- package/skeleton/.claude/skills/arch-save/SKILL.md +183 -0
- package/skeleton/.claude/skills/codev/SKILL.md +33 -2
- package/skeleton/.claude/skills/runnable-worktrees/SKILL.md +119 -0
- package/skeleton/.codex/skills/afx/SKILL.md +170 -0
- package/skeleton/.codex/skills/arch-init/SKILL.md +135 -0
- package/skeleton/.codex/skills/arch-save/SKILL.md +183 -0
- package/skeleton/.codex/skills/codev/SKILL.md +90 -0
- package/skeleton/.codex/skills/consult/SKILL.md +96 -0
- package/skeleton/.codex/skills/generate-image/SKILL.md +45 -0
- package/skeleton/.codex/skills/porch/SKILL.md +60 -0
- package/skeleton/.codex/skills/runnable-worktrees/SKILL.md +119 -0
- package/skeleton/.codex/skills/update-arch-docs/SKILL.md +132 -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 +348 -0
- package/skeleton/resources/commands/codev.md +5 -0
- package/skeleton/resources/commands/consult.md +262 -8
- package/skeleton/resources/commands/overview.md +1 -0
- package/skeleton/roles/architect.md +67 -306
- 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 -103
- 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
|
@@ -15,17 +15,20 @@ import { Command } from 'commander';
|
|
|
15
15
|
import { WebSocketServer } from 'ws';
|
|
16
16
|
import { SessionManager } from '../../terminal/session-manager.js';
|
|
17
17
|
import { startRateLimitCleanup } from './tower-utils.js';
|
|
18
|
+
import { sweepShellperHusks, resolveHuskGraceMs } from './shellper-husk-sweep.js';
|
|
19
|
+
import { sweepSessionLogs, measureSessionLogs, resolveLogRetentionDays, resolveLogSweepIntervalMs, formatBytes, MS_PER_DAY, } from './session-log-sweep.js';
|
|
18
20
|
import { initTunnel, shutdownTunnel, } from './tower-tunnel.js';
|
|
19
21
|
import { initCron, shutdownCron } from './tower-cron.js';
|
|
20
|
-
import { resolveTarget } from './tower-messages.js';
|
|
21
22
|
import { initInstances, shutdownInstances, registerKnownWorkspace, getKnownWorkspacePaths, getInstances, } from './tower-instances.js';
|
|
22
23
|
import { initTerminals, shutdownTerminals, getWorkspaceTerminals, getTerminalManager, getWorkspaceTerminalsEntry, saveTerminalSession, deleteTerminalSession, deleteWorkspaceTerminalSessions, deleteFileTabsForWorkspace, getTerminalsForWorkspace, reconcileTerminalSessions, } from './tower-terminals.js';
|
|
23
24
|
import { setupUpgradeHandler, } from './tower-websocket.js';
|
|
24
|
-
import { handleRequest,
|
|
25
|
+
import { handleRequest, deliverCronMessage } from './tower-routes.js';
|
|
26
|
+
import { startMailboxDrainer, stopMailboxDrainer, setMailboxBroadcaster } from './mailbox-wiring.js';
|
|
27
|
+
import { shutdownDelayedSends } from './delayed-send.js';
|
|
25
28
|
import { setCodevConfigNotifier, stopAllCodevConfigWatchers } from './codev-config-watcher.js';
|
|
26
29
|
import { getGlobalDb } from '../db/index.js';
|
|
27
30
|
import { runBootConsolidation } from '../db/consolidate.js';
|
|
28
|
-
import { DEFAULT_TOWER_PORT } from '../lib/tower-client.js';
|
|
31
|
+
import { DEFAULT_TOWER_PORT, AGENT_FARM_DIR } from '../lib/tower-client.js';
|
|
29
32
|
import { validateHost } from '../utils/server-utils.js';
|
|
30
33
|
import { version } from '../../version.js';
|
|
31
34
|
const __filename = fileURLToPath(import.meta.url);
|
|
@@ -35,7 +38,9 @@ const rateLimitCleanupInterval = startRateLimitCleanup();
|
|
|
35
38
|
// Shellper session manager (initialized at startup)
|
|
36
39
|
let shellperManager = null;
|
|
37
40
|
let shellperCleanupInterval = null;
|
|
41
|
+
let shellperHuskSweepInterval = null;
|
|
38
42
|
let terminalPartialMonitorInterval = null;
|
|
43
|
+
let sessionLogSweepInterval = null;
|
|
39
44
|
// Observability for Issue #1047: the ring-buffer partial is kept whole (no
|
|
40
45
|
// byte cap) so reconnection replay stays faithful, which means a no-newline
|
|
41
46
|
// full-screen TUI grows it without bound. This monitor surfaces that growth so
|
|
@@ -123,11 +128,27 @@ async function gracefulShutdown(signal) {
|
|
|
123
128
|
clearInterval(rateLimitCleanupInterval);
|
|
124
129
|
if (shellperCleanupInterval)
|
|
125
130
|
clearInterval(shellperCleanupInterval);
|
|
131
|
+
if (shellperHuskSweepInterval)
|
|
132
|
+
clearInterval(shellperHuskSweepInterval);
|
|
126
133
|
if (terminalPartialMonitorInterval)
|
|
127
134
|
clearInterval(terminalPartialMonitorInterval);
|
|
135
|
+
if (sessionLogSweepInterval)
|
|
136
|
+
clearInterval(sessionLogSweepInterval);
|
|
128
137
|
clearInterval(sseHeartbeatInterval);
|
|
129
|
-
// 4b.
|
|
130
|
-
|
|
138
|
+
// 4b. Drop pending delayed sends FIRST (Spec 1307 `--delay`). Cancels every timer
|
|
139
|
+
// still waiting to fire and bumps the delayed-send generation, so a timer that
|
|
140
|
+
// fires mid-shutdown is a no-op at its delivery site rather than enqueuing a
|
|
141
|
+
// mailbox row after teardown has begun. Delayed sends are in-memory by design
|
|
142
|
+
// (dropped on restart) — the re-homed due-time callback enqueues to the mailbox
|
|
143
|
+
// only WHEN due, so a not-yet-due send has nothing persisted to recover; re-send
|
|
144
|
+
// if still wanted.
|
|
145
|
+
const droppedDelayed = shutdownDelayedSends();
|
|
146
|
+
if (droppedDelayed > 0) {
|
|
147
|
+
log('INFO', `Dropped ${droppedDelayed} pending delayed send(s) — re-send them if still wanted`);
|
|
148
|
+
}
|
|
149
|
+
// 4c. Stop the mailbox backstop drainer (Spec 1313) — no force-flush; held
|
|
150
|
+
// rows persist in SQLite and redeliver on a clean gate after restart.
|
|
151
|
+
stopMailboxDrainer();
|
|
131
152
|
// 5. Stop cron scheduler (Spec 399)
|
|
132
153
|
shutdownCron();
|
|
133
154
|
// 6. Disconnect tunnel (Spec 0097 Phase 4 / Spec 0105 Phase 2)
|
|
@@ -293,21 +314,101 @@ const routeCtx = {
|
|
|
293
314
|
// events. The actual watcher is installed lazily by any config-resolving
|
|
294
315
|
// route handler (/api/worktree-config, /api/activity-hooks) on first request.
|
|
295
316
|
setCodevConfigNotifier(broadcastNotification);
|
|
317
|
+
// Spec 1313 Phase 7: wire the same SSE broadcaster into the mailbox delivery path so
|
|
318
|
+
// its held-set events reach clients — `overview-changed` on a held-state change (keeps
|
|
319
|
+
// the held-count indicator live) and `mailbox-escalation` when a row crosses the
|
|
320
|
+
// escalation age (moves the indicator into its attention state). The pure delivery
|
|
321
|
+
// module and the boot-time drainer have no RouteContext, so they fan out through here.
|
|
322
|
+
setMailboxBroadcaster(broadcastNotification);
|
|
323
|
+
// ============================================================================
|
|
324
|
+
// Readiness gate (Issue #1261)
|
|
325
|
+
// ============================================================================
|
|
326
|
+
//
|
|
327
|
+
// The port must bind first — it is the single-Tower mutex (a second
|
|
328
|
+
// `afx tower start` detects EADDRINUSE) and the thing every readiness check
|
|
329
|
+
// probes. But binding used to mean "serving", and the boot sequence that wires
|
|
330
|
+
// up the request handlers' dependencies ran *after* the bind. Requests landing
|
|
331
|
+
// in that window were answered with whatever a half-wired Tower could produce:
|
|
332
|
+
// `DELETE /api/terminals/:id` returned 404 for a terminal that plainly existed,
|
|
333
|
+
// because `killTerminalWithShellper()` bails when `_deps` is null.
|
|
334
|
+
//
|
|
335
|
+
// So: bind immediately, but hold requests until `bootSequence()` finishes.
|
|
336
|
+
// Readiness becomes deterministic instead of a function of how long the boot's
|
|
337
|
+
// disk work happens to take on this machine.
|
|
338
|
+
// Boot is bounded by the maintenance work that stays *inside* it; anything
|
|
339
|
+
// slower than this is a hang, and a held request should not hang with it.
|
|
340
|
+
const BOOT_READY_TIMEOUT_MS = 20_000;
|
|
341
|
+
const bootStartedAtMs = Date.now();
|
|
342
|
+
let bootComplete = false;
|
|
343
|
+
const bootWaiters = [];
|
|
344
|
+
/** Open the gate: release every held request and admit all future ones. */
|
|
345
|
+
function markBootComplete() {
|
|
346
|
+
if (bootComplete)
|
|
347
|
+
return;
|
|
348
|
+
bootComplete = true;
|
|
349
|
+
log('INFO', `Tower ready — serving API requests (${Date.now() - bootStartedAtMs}ms after process start)`);
|
|
350
|
+
for (const release of bootWaiters.splice(0))
|
|
351
|
+
release();
|
|
352
|
+
}
|
|
353
|
+
/** Resolves true once boot completes, or false if it takes longer than `timeoutMs`. */
|
|
354
|
+
function whenBootComplete(timeoutMs) {
|
|
355
|
+
if (bootComplete)
|
|
356
|
+
return Promise.resolve(true);
|
|
357
|
+
return new Promise((resolve) => {
|
|
358
|
+
const timer = setTimeout(() => {
|
|
359
|
+
const index = bootWaiters.indexOf(release);
|
|
360
|
+
if (index !== -1)
|
|
361
|
+
bootWaiters.splice(index, 1);
|
|
362
|
+
resolve(false);
|
|
363
|
+
}, timeoutMs);
|
|
364
|
+
const release = () => {
|
|
365
|
+
clearTimeout(timer);
|
|
366
|
+
resolve(true);
|
|
367
|
+
};
|
|
368
|
+
bootWaiters.push(release);
|
|
369
|
+
});
|
|
370
|
+
}
|
|
296
371
|
// ============================================================================
|
|
297
372
|
// Create server — delegates all HTTP handling to tower-routes.ts
|
|
298
373
|
// ============================================================================
|
|
299
374
|
const server = http.createServer(async (req, res) => {
|
|
375
|
+
if (!bootComplete) {
|
|
376
|
+
if (!(await whenBootComplete(BOOT_READY_TIMEOUT_MS))) {
|
|
377
|
+
log('ERROR', `Boot did not complete within ${BOOT_READY_TIMEOUT_MS}ms; rejecting ${req.method} ${req.url} with 503`);
|
|
378
|
+
res.writeHead(503, { 'Content-Type': 'application/json', 'Retry-After': '1' });
|
|
379
|
+
res.end(JSON.stringify({ error: 'STARTING_UP', message: 'Tower is starting up. Try again shortly.' }));
|
|
380
|
+
return;
|
|
381
|
+
}
|
|
382
|
+
// The client may have given up while it was held.
|
|
383
|
+
if (res.destroyed || res.writableEnded)
|
|
384
|
+
return;
|
|
385
|
+
}
|
|
300
386
|
await handleRequest(req, res, routeCtx);
|
|
301
387
|
});
|
|
302
388
|
// SECURITY: Bind to configured host (default 127.0.0.1 for localhost-only).
|
|
303
389
|
// Bridge mode enables non-localhost binding when BRIDGE_MODE=1 is set.
|
|
304
|
-
server.listen(port, bindHost,
|
|
390
|
+
server.listen(port, bindHost, () => {
|
|
305
391
|
if (bridgeMode) {
|
|
306
392
|
log('WARN', `Bridge mode is ENABLED — Tower is listening on ${bindHost} network interfaces.`);
|
|
307
393
|
}
|
|
308
394
|
// Display localhost in URLs for local UX even when bound to all interfaces.
|
|
309
395
|
const displayHost = bindHost === '0.0.0.0' ? 'localhost' : bindHost;
|
|
310
396
|
log('INFO', `Tower server listening at http://${displayHost}:${port}`);
|
|
397
|
+
bootSequence().catch((err) => {
|
|
398
|
+
// Preserve the previous fail-fast behaviour: before Issue #1261 this body
|
|
399
|
+
// was the listen callback, so a throw surfaced as an unhandled rejection
|
|
400
|
+
// and the process-level handler exited. Keep exiting rather than serving
|
|
401
|
+
// from a half-wired Tower.
|
|
402
|
+
log('ERROR', `Tower boot sequence failed: ${err.message}\n${err.stack}`);
|
|
403
|
+
process.exit(1);
|
|
404
|
+
});
|
|
405
|
+
});
|
|
406
|
+
/**
|
|
407
|
+
* Everything that must be wired up before Tower can answer API requests
|
|
408
|
+
* correctly. Runs once, immediately after the port binds; requests are held by
|
|
409
|
+
* the readiness gate above until it calls markBootComplete().
|
|
410
|
+
*/
|
|
411
|
+
async function bootSequence() {
|
|
311
412
|
// Initialize shellper session manager for persistent terminals
|
|
312
413
|
const socketDir = process.env.SHELLPER_SOCKET_DIR || path.join(homedir(), '.codev', 'run');
|
|
313
414
|
const shellperScript = path.join(__dirname, '..', '..', 'terminal', 'shellper-main.js');
|
|
@@ -317,6 +418,44 @@ server.listen(port, bindHost, async () => {
|
|
|
317
418
|
nodeExecutable: process.execPath,
|
|
318
419
|
logger: (msg) => log('INFO', msg),
|
|
319
420
|
});
|
|
421
|
+
// #1198: a shellper connection that dies must leave a trace. Before this
|
|
422
|
+
// subscription existed, 'session-error' had no consumer anywhere, so a
|
|
423
|
+
// failed reconnect was completely invisible in the Tower log.
|
|
424
|
+
shellperManager.on('session-error', (sessionId, err) => {
|
|
425
|
+
log('ERROR', `Shellper session ${sessionId}: ${err.message}`);
|
|
426
|
+
});
|
|
427
|
+
// #1264: SessionManager stopped respawning a session for a reason the user
|
|
428
|
+
// needs to see. Put it in the terminal itself, not just the Tower log — the
|
|
429
|
+
// person affected is watching a pane that just went quiet, and has no reason
|
|
430
|
+
// to go reading server logs to find out why.
|
|
431
|
+
shellperManager.on('session-gave-up', (sessionId, reason) => {
|
|
432
|
+
log('ERROR', `Shellper session ${sessionId} gave up: ${reason}`);
|
|
433
|
+
const ptySession = getTerminalManager().findByShellperSessionId(sessionId);
|
|
434
|
+
if (!ptySession) {
|
|
435
|
+
log('WARN', `Shellper session ${sessionId} gave up but no matching terminal session found to notify`);
|
|
436
|
+
return;
|
|
437
|
+
}
|
|
438
|
+
ptySession.notice(reason);
|
|
439
|
+
});
|
|
440
|
+
// #1198: SessionManager re-established a session's connection in place
|
|
441
|
+
// after an unexpected socket close. Re-attach the replacement client to the
|
|
442
|
+
// PtySession so viewer I/O resumes (attachShellper is idempotent and
|
|
443
|
+
// cancels the pending close-grace teardown). Replay is deliberately empty:
|
|
444
|
+
// the ring buffer already holds the session history.
|
|
445
|
+
shellperManager.on('session-reconnected', (sessionId, client) => {
|
|
446
|
+
const ptySession = getTerminalManager().findByShellperSessionId(sessionId);
|
|
447
|
+
if (!ptySession) {
|
|
448
|
+
log('WARN', `Shellper session ${sessionId} reconnected but no matching terminal session found`);
|
|
449
|
+
return;
|
|
450
|
+
}
|
|
451
|
+
const info = shellperManager.getSessionInfo(sessionId);
|
|
452
|
+
let pid = -1;
|
|
453
|
+
if (info) {
|
|
454
|
+
pid = info.pid;
|
|
455
|
+
}
|
|
456
|
+
ptySession.attachShellper(client, Buffer.alloc(0), pid, ptySession.shellperSessionId ?? sessionId);
|
|
457
|
+
log('INFO', `Shellper session ${sessionId} re-attached to terminal ${ptySession.id}`);
|
|
458
|
+
});
|
|
320
459
|
const staleCleaned = await shellperManager.cleanupStaleSockets();
|
|
321
460
|
if (staleCleaned > 0) {
|
|
322
461
|
log('INFO', `Cleaned up ${staleCleaned} stale shellper socket(s)`);
|
|
@@ -334,6 +473,31 @@ server.listen(port, bindHost, async () => {
|
|
|
334
473
|
log('ERROR', `Periodic shellper cleanup failed: ${err.message}`);
|
|
335
474
|
}
|
|
336
475
|
}, cleanupIntervalMs);
|
|
476
|
+
// Issue #1227: husk sweep — a stricter second pass that reaps shellpers
|
|
477
|
+
// killOrphanedShellpers() can never reach, because it unconditionally
|
|
478
|
+
// protects any shellper whose socket still responds. A husk (child exited,
|
|
479
|
+
// shellper still listening) answers its socket, so it needs the stricter
|
|
480
|
+
// unregistered+childless+aged predicate instead. See shellper-husk-sweep.ts.
|
|
481
|
+
const huskGraceMs = resolveHuskGraceMs();
|
|
482
|
+
const parsedHuskSweepIntervalMs = parseInt(process.env.SHELLPER_HUSK_SWEEP_INTERVAL_MS || '3600000', 10);
|
|
483
|
+
const huskSweepIntervalMs = Math.max(Number.isNaN(parsedHuskSweepIntervalMs) ? 3600000 : parsedHuskSweepIntervalMs, 1000);
|
|
484
|
+
const runHuskSweep = async () => {
|
|
485
|
+
try {
|
|
486
|
+
const result = await sweepShellperHusks({
|
|
487
|
+
socketDir,
|
|
488
|
+
db: getGlobalDb(),
|
|
489
|
+
graceMs: huskGraceMs,
|
|
490
|
+
log: (msg) => log('INFO', msg),
|
|
491
|
+
});
|
|
492
|
+
if (result.swept > 0) {
|
|
493
|
+
log('INFO', `Husk sweep: reaped ${result.swept} shellper husk(s)`);
|
|
494
|
+
}
|
|
495
|
+
}
|
|
496
|
+
catch (err) {
|
|
497
|
+
log('ERROR', `Husk sweep failed: ${err.message}`);
|
|
498
|
+
}
|
|
499
|
+
};
|
|
500
|
+
shellperHuskSweepInterval = setInterval(runHuskSweep, huskSweepIntervalMs);
|
|
337
501
|
log('INFO', 'Shellper session manager initialized');
|
|
338
502
|
// Spec 0105 Phase 4: Initialize terminal management module
|
|
339
503
|
initTerminals({
|
|
@@ -366,8 +530,10 @@ server.listen(port, bindHost, async () => {
|
|
|
366
530
|
}
|
|
367
531
|
}, TERMINAL_MONITOR_INTERVAL_MS);
|
|
368
532
|
terminalPartialMonitorInterval.unref();
|
|
369
|
-
// Spec
|
|
370
|
-
|
|
533
|
+
// Spec 1313: start the mailbox backstop drainer (prunes terminal rows, then
|
|
534
|
+
// periodically redelivers held mail on a clean render-gate). Replaces the
|
|
535
|
+
// retired Spec 403 SendBuffer.
|
|
536
|
+
startMailboxDrainer(log);
|
|
371
537
|
// Issue #1118: one-time state.db → global.db consolidation. Runs once ever
|
|
372
538
|
// (strict `_consolidation` marker), BEFORE initInstances() reads architect /
|
|
373
539
|
// builder rows. Migrates this boot's active state.db; satellite files are
|
|
@@ -399,9 +565,22 @@ server.listen(port, bindHost, async () => {
|
|
|
399
565
|
if (orphansKilled > 0) {
|
|
400
566
|
log('INFO', `Killed ${orphansKilled} orphaned shellper process(es)`);
|
|
401
567
|
}
|
|
568
|
+
// Issue #1261 test hook: widen the pre-wiring window to a known duration so
|
|
569
|
+
// the startup race is deterministic instead of a function of this machine's
|
|
570
|
+
// process table and session-log volume. Never set outside tests.
|
|
571
|
+
const bootDelayMs = parseInt(process.env.AF_TEST_BOOT_DELAY_MS || '0', 10);
|
|
572
|
+
if (bootDelayMs > 0) {
|
|
573
|
+
log('WARN', `AF_TEST_BOOT_DELAY_MS=${bootDelayMs} — delaying dependency wiring (test hook)`);
|
|
574
|
+
await new Promise((r) => setTimeout(r, bootDelayMs));
|
|
575
|
+
}
|
|
402
576
|
// Spec 0105 Phase 3: Initialize instance lifecycle module.
|
|
403
|
-
// Placed after reconciliation so getInstances()
|
|
404
|
-
//
|
|
577
|
+
// Placed after reconciliation so getInstances() cannot race with it.
|
|
578
|
+
//
|
|
579
|
+
// Issue #1261: this used to be the *last* step of the boot sequence, after
|
|
580
|
+
// the husk sweep and the session-log retention scan — both of which scale
|
|
581
|
+
// with disk state. Every route that touches `_deps` was therefore broken for
|
|
582
|
+
// as long as those scans took. It only needs to follow reconciliation, so it
|
|
583
|
+
// now runs here and the two maintenance sweeps run after readiness instead.
|
|
405
584
|
initInstances({
|
|
406
585
|
log,
|
|
407
586
|
workspaceTerminals: getWorkspaceTerminals(),
|
|
@@ -414,16 +593,63 @@ server.listen(port, bindHost, async () => {
|
|
|
414
593
|
deleteFileTabsForWorkspace,
|
|
415
594
|
getTerminalsForWorkspace,
|
|
416
595
|
});
|
|
417
|
-
// Spec 399: Initialize cron scheduler after instances are ready
|
|
596
|
+
// Spec 399: Initialize cron scheduler after instances are ready.
|
|
597
|
+
// Spec 1313 (Phase 6): cron delivers through the mailbox + gate via `deliverCronMessage`
|
|
598
|
+
// (the same single gated path as `handleSend`) instead of a blind PTY write.
|
|
418
599
|
initCron({
|
|
419
600
|
log,
|
|
420
601
|
getKnownWorkspacePaths,
|
|
421
|
-
|
|
422
|
-
getTerminalManager: () => getTerminalManager(),
|
|
602
|
+
deliver: (task, message) => deliverCronMessage(task, message, log),
|
|
423
603
|
});
|
|
424
|
-
//
|
|
604
|
+
// Issue #1261: dependency wiring is complete — open the gate. Everything
|
|
605
|
+
// below is maintenance or background service startup: it must not gate the
|
|
606
|
+
// API, and none of it is a prerequisite for a correct response.
|
|
607
|
+
markBootComplete();
|
|
608
|
+
// Issue #1227: run the stricter husk sweep once at startup too, same
|
|
609
|
+
// ordering requirement as killOrphanedShellpers (must run after
|
|
610
|
+
// reconciliation so a reconnected session's shellper is registered).
|
|
611
|
+
// Safe to run post-readiness: the sweep's predicate requires an aged
|
|
612
|
+
// shellper (1h grace by default), so a session created by an incoming
|
|
613
|
+
// request while the sweep runs can never match it.
|
|
614
|
+
await runHuskSweep();
|
|
615
|
+
// Issue #1238: PTY session log retention. Session logs are per-session files
|
|
616
|
+
// in ~/.agent-farm/logs that nothing ever deleted, so they accreted forever
|
|
617
|
+
// (19 GB / 29,728 files on an audited machine). Sweep aged-out logs at
|
|
618
|
+
// startup and then daily. Deliberately placed AFTER reconcileTerminalSessions
|
|
619
|
+
// so surviving sessions are in the terminal manager's map and are excluded by
|
|
620
|
+
// id — the sweep must never unlink a log whose fd is still open.
|
|
621
|
+
const logRetentionDays = resolveLogRetentionDays();
|
|
622
|
+
const sessionLogDir = path.join(AGENT_FARM_DIR, 'logs');
|
|
623
|
+
const runSessionLogSweep = () => {
|
|
624
|
+
try {
|
|
625
|
+
sweepSessionLogs({
|
|
626
|
+
logDir: sessionLogDir,
|
|
627
|
+
retentionMs: logRetentionDays * MS_PER_DAY,
|
|
628
|
+
activeSessionIds: getTerminalManager().listSessions().map((s) => s.id),
|
|
629
|
+
log: (msg) => log('INFO', msg),
|
|
630
|
+
});
|
|
631
|
+
}
|
|
632
|
+
catch (err) {
|
|
633
|
+
log('ERROR', `Session log sweep failed: ${err.message}`);
|
|
634
|
+
}
|
|
635
|
+
};
|
|
636
|
+
if (logRetentionDays === 0) {
|
|
637
|
+
log('INFO', 'Session log retention disabled (AGENT_FARM_LOG_RETENTION_DAYS=0)');
|
|
638
|
+
}
|
|
639
|
+
else {
|
|
640
|
+
runSessionLogSweep();
|
|
641
|
+
const footprint = measureSessionLogs(sessionLogDir);
|
|
642
|
+
log('INFO', `Session logs: ${footprint.files} file(s), ${formatBytes(footprint.bytes)} ` +
|
|
643
|
+
`(retention ${logRetentionDays}d)`);
|
|
644
|
+
sessionLogSweepInterval = setInterval(runSessionLogSweep, resolveLogSweepIntervalMs());
|
|
645
|
+
sessionLogSweepInterval.unref();
|
|
646
|
+
}
|
|
647
|
+
// Spec 0097 Phase 4 / Spec 0105 Phase 2: Initialize cloud tunnel.
|
|
648
|
+
// Deliberately after markBootComplete(): connectTunnel() talks to a remote
|
|
649
|
+
// service, so gating local API readiness on it would make an unreachable
|
|
650
|
+
// cloud endpoint look like a broken Tower.
|
|
425
651
|
await initTunnel({ port, log, workspaceTerminals: getWorkspaceTerminals(), terminalManager: getTerminalManager() }, { getInstances });
|
|
426
|
-
}
|
|
652
|
+
}
|
|
427
653
|
// Initialize terminal WebSocket server (Phase 2 - Spec 0090)
|
|
428
654
|
terminalWss = new WebSocketServer({ noServer: true });
|
|
429
655
|
// Spec 0105 Phase 5: WebSocket upgrade handler extracted to tower-websocket.ts
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tower-server.js","sourceRoot":"","sources":["../../../src/agent-farm/servers/tower-server.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tower-server.js","sourceRoot":"","sources":["../../../src/agent-farm/servers/tower-server.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,9 +5,24 @@
|
|
|
5
5
|
* Contains: terminal session CRUD, file tab persistence, shell ID allocation,
|
|
6
6
|
* terminal reconciliation, and terminal list assembly.
|
|
7
7
|
*/
|
|
8
|
-
import type { TerminalType } from '@cluesmith/codev-
|
|
8
|
+
import type { TerminalType } from '@cluesmith/codev-sdk/tower-client';
|
|
9
9
|
import type { FileTab } from '../utils/file-tabs.js';
|
|
10
10
|
import { TerminalManager } from '../../terminal/index.js';
|
|
11
|
+
/**
|
|
12
|
+
* Extract shellper session UUID from socket path (Spec 468).
|
|
13
|
+
* Socket format: shellper-<UUID>.sock
|
|
14
|
+
*/
|
|
15
|
+
/**
|
|
16
|
+
* #1198: cap the replay seeded into an adopted PtySession's ring buffer.
|
|
17
|
+
* A long-lived full-screen TUI session's replay can be many MB of
|
|
18
|
+
* newline-free history; seeding it whole means every subsequent viewer
|
|
19
|
+
* attach ships the entire payload to xterm.js in one bracketed write
|
|
20
|
+
* (multi-second parse, webview stalls). Seed only the most recent bytes:
|
|
21
|
+
* the client's post-connect resize nudge repaints full-screen apps, and the
|
|
22
|
+
* shellper retains the full history.
|
|
23
|
+
*/
|
|
24
|
+
export declare const RING_SEED_MAX_BYTES: number;
|
|
25
|
+
export declare function capRingSeed(replayData: Buffer, sessionId: string): Buffer;
|
|
11
26
|
import type { SessionManager } from '../../terminal/session-manager.js';
|
|
12
27
|
import type { PtySession } from '../../terminal/pty-session.js';
|
|
13
28
|
import type { WorkspaceTerminals, TerminalEntry, DbTerminalSession } from './tower-types.js';
|
|
@@ -78,7 +93,7 @@ export declare function getNextShellId(workspacePath: string): string;
|
|
|
78
93
|
* Save a terminal session to SQLite.
|
|
79
94
|
* Guards against race conditions by checking if workspace is still active.
|
|
80
95
|
*/
|
|
81
|
-
export declare function saveTerminalSession(terminalId: string, workspacePath: string, type: TerminalType, roleId: string | null, pid: number | null, shellperSocket?: string | null, shellperPid?: number | null, shellperStartTime?: number | null, label?: string | null, cwd?: string | null): void;
|
|
96
|
+
export declare function saveTerminalSession(terminalId: string, workspacePath: string, type: TerminalType, roleId: string | null, pid: number | null, shellperSocket?: string | null, shellperPid?: number | null, shellperStartTime?: number | null, label?: string | null, cwd?: string | null, command?: string | null): void;
|
|
82
97
|
/**
|
|
83
98
|
* Update the label of a terminal session in SQLite (Spec 468).
|
|
84
99
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tower-terminals.d.ts","sourceRoot":"","sources":["../../../src/agent-farm/servers/tower-terminals.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"tower-terminals.d.ts","sourceRoot":"","sources":["../../../src/agent-farm/servers/tower-terminals.ts"],"names":[],"mappings":"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"}
|