commandmate 0.18.0 → 0.19.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/.next/BUILD_ID +1 -1
- package/.next/app-build-manifest.json +131 -131
- package/.next/app-path-routes-manifest.json +23 -23
- package/.next/build-manifest.json +2 -2
- package/.next/prerender-manifest.json +9 -9
- package/.next/required-server-files.json +1 -1
- package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/server/app/api/app/update/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/app/update-check/route.js +1 -1
- package/.next/server/app/api/app/update-check/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/assistant/conversation/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/assistant/current-output/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/assistant/messages/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/assistant/session/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/assistant/start/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/assistant/terminal/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/assistant/tools/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/auth/login/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/auth/logout/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/auth/status/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/daily-summary/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/daily-summary/status/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/external-apps/[id]/health/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/external-apps/[id]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/external-apps/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/fs/browse/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/fs/recent-paths/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/hooks/agent-event/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/hooks/claude-done/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/metrics/vibe/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/ollama/models/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/push/subscriptions/route.js +1 -1
- package/.next/server/app/api/push/subscriptions/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/push/vapid/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/repositories/[id]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/repositories/[id]/todos/[todoId]/route.js +1 -1
- package/.next/server/app/api/repositories/[id]/todos/[todoId]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/repositories/[id]/todos/route.js +1 -1
- package/.next/server/app/api/repositories/[id]/todos/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/repositories/clone/[jobId]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/repositories/clone/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/repositories/excluded/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/repositories/restore/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/repositories/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/repositories/scan/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/repositories/sync/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/repositories/validate-path/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/sidebar/group-order/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/skills/[id]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/skills/installations/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/skills/operations/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/skills/reindex/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/skills/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/slash-commands/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/tasks/[taskId]/cancel/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/tasks/[taskId]/route.js +1 -1
- package/.next/server/app/api/tasks/[taskId]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/templates/[id]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/templates/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/todos/route.js +1 -1
- package/.next/server/app/api/todos/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/verification/runs/[runId]/route.js +1 -1
- package/.next/server/app/api/verification/runs/[runId]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/verification/runs/route.js +1 -1
- package/.next/server/app/api/verification/runs/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/auto-yes/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/auto-yes/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/capture/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/cli-tool/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/cli-tool/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/cmate/schedules/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/cmate/schedules/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/current-output/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/execution-logs/[logId]/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/execution-logs/[logId]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/execution-logs/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/execution-logs/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/files/[...path]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/branch/create/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/branch/delete/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/branches/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/branches/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/checkout/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/commit/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/commit/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/diff/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/diff/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/fetch/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/log/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/log/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/pull/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/push/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/reset/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/reset/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/revert/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/revert/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/show/[commitHash]/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/show/[commitHash]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/stage/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/staged/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/staged/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/stash/[index]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/stash/apply/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/stash/pop/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/stash/push/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/stash/push/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/stash/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/stash/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/status/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/status/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/unstage/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/working-diff/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/working-diff/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/interrupt/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/kill-session/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/logs/[filename]/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/logs/[filename]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/logs/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/logs/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/marp-render/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/marp-render/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/memos/[memoId]/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/memos/[memoId]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/memos/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/memos/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/messages/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/messages/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/prompt-response/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/respond/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/schedules/[scheduleId]/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/schedules/[scheduleId]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/schedules/active/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/schedules/active/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/schedules/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/schedules/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/search/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/send/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/send/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/git-workflow/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/install/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/plan/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/uninstall/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/uninstall-plan/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/slash-commands/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/slash-commands/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/special-keys/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/start-polling/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/tasks/route.js +2 -2
- package/.next/server/app/api/worktrees/[id]/tasks/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/terminal/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/timers/history/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/timers/history/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/timers/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/todos/[todoId]/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/todos/[todoId]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/todos/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/todos/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/tree/[...path]/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/tree/[...path]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/tree/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/tree/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/upload/[...path]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/verify/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/verify/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/verify/runs/[runId]/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/verify/runs/[runId]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/verify/runs/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/verify/runs/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/viewed/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/viewed/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/route_client-reference-manifest.js +1 -1
- package/.next/server/app/chat/page_client-reference-manifest.js +1 -1
- package/.next/server/app/login/page_client-reference-manifest.js +1 -1
- package/.next/server/app/manifest.webmanifest/route_client-reference-manifest.js +1 -1
- package/.next/server/app/more/page_client-reference-manifest.js +1 -1
- package/.next/server/app/offline/page_client-reference-manifest.js +1 -1
- package/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/server/app/proxy/[...path]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/repositories/page_client-reference-manifest.js +1 -1
- package/.next/server/app/review/page_client-reference-manifest.js +1 -1
- package/.next/server/app/sessions/page_client-reference-manifest.js +1 -1
- package/.next/server/app/skills/[skillId]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/skills/installed/page_client-reference-manifest.js +1 -1
- package/.next/server/app/skills/page_client-reference-manifest.js +1 -1
- package/.next/server/app/worktrees/[id]/files/[...path]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/worktrees/[id]/page.js +1 -1
- package/.next/server/app/worktrees/[id]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/worktrees/[id]/terminal/page_client-reference-manifest.js +1 -1
- package/.next/server/app-paths-manifest.json +23 -23
- package/.next/server/chunks/1117.js +1 -1
- package/.next/server/chunks/3042.js +1 -1
- package/.next/server/chunks/3753.js +19 -23
- package/.next/server/chunks/5959.js +3 -3
- package/.next/server/chunks/6130.js +1 -1
- package/.next/server/chunks/6274.js +5 -4
- package/.next/server/chunks/6283.js +1 -1
- package/.next/server/chunks/8681.js +1 -1
- package/.next/server/chunks/8807.js +492 -487
- package/.next/server/chunks/8856.js +1 -1
- package/.next/server/middleware-manifest.json +5 -5
- package/.next/server/pages/500.html +1 -1
- package/.next/server/server-reference-manifest.json +1 -1
- package/.next/static/chunks/{6488-109e3825c7249e47.js → 6488-2c412c29258637b6.js} +1 -1
- package/.next/static/chunks/app/worktrees/[id]/{page-12b3c5f32fc6094e.js → page-f6e09d25cd3b56f9.js} +1 -1
- package/.next/trace +12 -12
- package/dist/cli/commands/auto-yes.d.ts.map +1 -1
- package/dist/cli/commands/auto-yes.js +9 -2
- package/dist/cli/commands/capture.d.ts +1 -0
- package/dist/cli/commands/capture.d.ts.map +1 -1
- package/dist/cli/commands/capture.js +112 -2
- package/dist/cli/commands/instances.d.ts +24 -0
- package/dist/cli/commands/instances.d.ts.map +1 -1
- package/dist/cli/commands/instances.js +44 -0
- package/dist/cli/commands/respond.d.ts.map +1 -1
- package/dist/cli/commands/respond.js +10 -2
- package/dist/cli/commands/send.d.ts.map +1 -1
- package/dist/cli/commands/send.js +20 -11
- package/dist/cli/commands/wait.d.ts +4 -1
- package/dist/cli/commands/wait.d.ts.map +1 -1
- package/dist/cli/commands/wait.js +80 -6
- package/dist/cli/types/index.d.ts +16 -0
- package/dist/cli/types/index.d.ts.map +1 -1
- package/dist/cli/utils/pager.d.ts +28 -0
- package/dist/cli/utils/pager.d.ts.map +1 -0
- package/dist/cli/utils/pager.js +57 -0
- package/dist/lib/detection/ansi.d.ts +30 -0
- package/dist/lib/detection/ansi.d.ts.map +1 -0
- package/dist/lib/detection/ansi.js +39 -0
- package/dist/lib/tmux/transcript-squeeze.d.ts +76 -0
- package/dist/lib/tmux/transcript-squeeze.d.ts.map +1 -0
- package/dist/lib/tmux/transcript-squeeze.js +96 -0
- package/dist/server/server.js +18 -0
- package/dist/server/src/config/tmux-pane-config.js +33 -1
- package/dist/server/src/lib/cli-tools/antigravity.js +2 -1
- package/dist/server/src/lib/cli-tools/codex.js +3 -2
- package/dist/server/src/lib/cli-tools/copilot.js +2 -2
- package/dist/server/src/lib/cli-tools/gemini.js +2 -2
- package/dist/server/src/lib/cli-tools/opencode.js +2 -2
- package/dist/server/src/lib/cli-tools/vibe-local.js +2 -2
- package/dist/server/src/lib/db/agent-instances-db.js +53 -0
- package/dist/server/src/lib/db/migrations/index.js +2 -0
- package/dist/server/src/lib/db/migrations/runner.js +1 -1
- package/dist/server/src/lib/db/migrations/v52-orphaned-worktree-children.js +76 -0
- package/dist/server/src/lib/db/migrations/worktree-child-tables.js +119 -0
- package/dist/server/src/lib/db/worktree-db.js +65 -42
- package/dist/server/src/lib/detection/cli-patterns.js +24 -1
- package/dist/server/src/lib/detection/status-detector.js +52 -2
- package/dist/server/src/lib/session/claude-session.js +4 -2
- package/dist/server/src/lib/tmux/read-mode-pager.js +161 -0
- package/dist/server/src/lib/tmux/read-mode.js +327 -0
- package/dist/server/src/lib/tmux/tmux.js +43 -5
- package/package.json +1 -1
- /package/.next/static/{-BSmW0Ae2YsxyCl_ue7_d → -E7I667pJDTBamyG8M_Z-}/_buildManifest.js +0 -0
- /package/.next/static/{-BSmW0Ae2YsxyCl_ue7_d → -E7I667pJDTBamyG8M_Z-}/_ssgManifest.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auto-yes.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/auto-yes.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"auto-yes.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/auto-yes.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AASpC,wBAAgB,oBAAoB,IAAI,OAAO,CAoG9C"}
|
|
@@ -11,6 +11,7 @@ const api_client_1 = require("../utils/api-client");
|
|
|
11
11
|
const command_helpers_1 = require("../utils/command-helpers");
|
|
12
12
|
const duration_constants_1 = require("../config/duration-constants");
|
|
13
13
|
const cli_tool_ids_1 = require("../config/cli-tool-ids");
|
|
14
|
+
const instances_1 = require("./instances");
|
|
14
15
|
function createAutoYesCommand() {
|
|
15
16
|
const cmd = new commander_1.Command('auto-yes');
|
|
16
17
|
cmd
|
|
@@ -71,8 +72,14 @@ function createAutoYesCommand() {
|
|
|
71
72
|
body.stopPattern = options.stopPattern;
|
|
72
73
|
}
|
|
73
74
|
}
|
|
74
|
-
|
|
75
|
-
|
|
75
|
+
// Issue #1629: the auto-yes poller keys on (worktree, cliTool, instance)
|
|
76
|
+
// and watches the session cliTool names, so the instance must be paired
|
|
77
|
+
// with the CLI tool its roster entry declares.
|
|
78
|
+
const agent = options.instance
|
|
79
|
+
? await (0, instances_1.resolveInstanceCliTool)(client, worktreeId, options.instance, options.agent)
|
|
80
|
+
: options.agent;
|
|
81
|
+
if (agent) {
|
|
82
|
+
body.cliToolId = agent;
|
|
76
83
|
}
|
|
77
84
|
// Issue #896: per-instance auto-yes
|
|
78
85
|
if (options.instance) {
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* capture Command - Get current terminal output
|
|
3
3
|
* Issue #518: [DR1-08] Factory pattern
|
|
4
|
+
* Issue #1623: `--pane` reads the raw tmux pane as a transcript (案B)
|
|
4
5
|
*/
|
|
5
6
|
import { Command } from 'commander';
|
|
6
7
|
export declare function createCaptureCommand(): Command;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"capture.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/capture.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"capture.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/capture.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA6HpC,wBAAgB,oBAAoB,IAAI,OAAO,CA+E9C"}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* capture Command - Get current terminal output
|
|
4
4
|
* Issue #518: [DR1-08] Factory pattern
|
|
5
|
+
* Issue #1623: `--pane` reads the raw tmux pane as a transcript (案B)
|
|
5
6
|
*/
|
|
6
7
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
8
|
exports.createCaptureCommand = createCaptureCommand;
|
|
@@ -10,6 +11,19 @@ const types_1 = require("../types");
|
|
|
10
11
|
const api_client_1 = require("../utils/api-client");
|
|
11
12
|
const command_helpers_1 = require("../utils/command-helpers");
|
|
12
13
|
const cli_tool_ids_1 = require("../config/cli-tool-ids");
|
|
14
|
+
const instances_1 = require("./instances");
|
|
15
|
+
const pager_1 = require("../utils/pager");
|
|
16
|
+
const transcript_squeeze_1 = require("../../lib/tmux/transcript-squeeze");
|
|
17
|
+
/**
|
|
18
|
+
* Rows of pane history the `--pane` viewer asks for.
|
|
19
|
+
*
|
|
20
|
+
* Deliberately NOT configurable and deliberately equal to the capture route's
|
|
21
|
+
* own default: Issue #1623 has to leave the detection pipeline's view of the
|
|
22
|
+
* pane untouched, and the cheapest way to guarantee that is for the viewer to
|
|
23
|
+
* make exactly the request everything else already makes. `--tail` narrows the
|
|
24
|
+
* RESULT instead (see {@link CaptureOptions.tail}).
|
|
25
|
+
*/
|
|
26
|
+
const PANE_CAPTURE_LINES = 1000;
|
|
13
27
|
/**
|
|
14
28
|
* Format capture output as JSON (excluding fullOutput for size).
|
|
15
29
|
*/
|
|
@@ -17,12 +31,91 @@ function formatJson(data) {
|
|
|
17
31
|
const { fullOutput: _fullOutput, ...rest } = data;
|
|
18
32
|
return JSON.stringify(rest, null, 2);
|
|
19
33
|
}
|
|
34
|
+
/**
|
|
35
|
+
* Parse and validate `--tail N`.
|
|
36
|
+
*
|
|
37
|
+
* @param raw - Raw option value, if the user passed one
|
|
38
|
+
* @returns The parsed count, or undefined when the option was absent
|
|
39
|
+
*/
|
|
40
|
+
function parseTail(raw) {
|
|
41
|
+
if (raw === undefined)
|
|
42
|
+
return undefined;
|
|
43
|
+
const value = Number(raw);
|
|
44
|
+
if (!Number.isInteger(value) || value < 1) {
|
|
45
|
+
console.error('Error: --tail must be a positive integer.');
|
|
46
|
+
process.exit(types_1.ExitCode.CONFIG_ERROR);
|
|
47
|
+
}
|
|
48
|
+
return value;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Resolve which CLI tool's session the pane should be read from.
|
|
52
|
+
*
|
|
53
|
+
* POST /capture demands an explicit `cliToolId`, while GET /current-output falls
|
|
54
|
+
* back to the worktree's own default server-side. Mirroring that fallback here
|
|
55
|
+
* (`worktree.cliToolId || 'claude'`, matching the route) keeps bare
|
|
56
|
+
* `capture <id> --pane` pointed at the same session the rest of the CLI uses.
|
|
57
|
+
*
|
|
58
|
+
* @param client - API client
|
|
59
|
+
* @param worktreeId - Worktree ID
|
|
60
|
+
* @param agent - Value of `--agent`, already validated
|
|
61
|
+
* @param instance - Value of `--instance`, already validated
|
|
62
|
+
* @returns CLI tool ID to capture
|
|
63
|
+
*/
|
|
64
|
+
async function resolvePaneCliTool(client, worktreeId, agent, instance) {
|
|
65
|
+
if (instance) {
|
|
66
|
+
const resolved = await (0, instances_1.resolveInstanceCliTool)(client, worktreeId, instance, agent);
|
|
67
|
+
if (resolved)
|
|
68
|
+
return resolved;
|
|
69
|
+
}
|
|
70
|
+
if (agent)
|
|
71
|
+
return agent;
|
|
72
|
+
const worktree = await client.get(`/api/worktrees/${worktreeId}`);
|
|
73
|
+
return worktree.cliToolId || 'claude';
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* `--pane` path: read the raw tmux pane and render it as a readable transcript.
|
|
77
|
+
*
|
|
78
|
+
* The squeeze happens CLIENT-side on purpose. The server keeps returning the
|
|
79
|
+
* unmodified frame, so nothing that consumes `/capture` — detection, Auto-Yes,
|
|
80
|
+
* the response saver — sees a different payload because this command exists.
|
|
81
|
+
*/
|
|
82
|
+
async function capturePane(worktreeId, options) {
|
|
83
|
+
const client = new api_client_1.ApiClient({ token: options.token });
|
|
84
|
+
const tail = parseTail(options.tail);
|
|
85
|
+
const cliToolId = await resolvePaneCliTool(client, worktreeId, options.agent, options.instance);
|
|
86
|
+
const data = await client.post(`/api/worktrees/${worktreeId}/capture`, {
|
|
87
|
+
cliToolId,
|
|
88
|
+
lines: PANE_CAPTURE_LINES,
|
|
89
|
+
...(options.instance ? { instanceId: options.instance } : {}),
|
|
90
|
+
});
|
|
91
|
+
const raw = data.output ?? '';
|
|
92
|
+
const squeezed = (0, transcript_squeeze_1.squeezeTranscript)(raw, { tail });
|
|
93
|
+
const text = options.raw ? raw : squeezed.text;
|
|
94
|
+
if (options.json) {
|
|
95
|
+
console.log(JSON.stringify({
|
|
96
|
+
cliToolId,
|
|
97
|
+
instanceId: options.instance ?? null,
|
|
98
|
+
output: text,
|
|
99
|
+
lines: options.raw ? squeezed.rawLines : squeezed.lines,
|
|
100
|
+
rawLines: squeezed.rawLines,
|
|
101
|
+
squeezed: !options.raw,
|
|
102
|
+
tailed: !options.raw && squeezed.tailed,
|
|
103
|
+
}, null, 2));
|
|
104
|
+
return;
|
|
105
|
+
}
|
|
106
|
+
(0, pager_1.printMaybePaged)(text);
|
|
107
|
+
}
|
|
20
108
|
function createCaptureCommand() {
|
|
21
109
|
const cmd = new commander_1.Command('capture');
|
|
22
110
|
cmd
|
|
23
111
|
.description('Capture current terminal output from a worktree')
|
|
24
112
|
.argument('<worktree-id>', 'Worktree ID')
|
|
25
113
|
.option('--json', 'JSON output (excludes fullOutput)')
|
|
114
|
+
// Issue #1623: reading mode. Works without attaching and without tmux 3.2+,
|
|
115
|
+
// which is why it is the fallback the popup binding degrades to.
|
|
116
|
+
.option('--pane', 'Read the raw tmux pane as a transcript, with blank layout rows squeezed')
|
|
117
|
+
.option('--tail <n>', 'With --pane: keep only the last N lines OF THE SQUEEZED transcript')
|
|
118
|
+
.option('--raw', 'With --pane: skip the squeeze and print the pane verbatim')
|
|
26
119
|
.option('--agent <agent>', 'CLI tool agent (claude, codex, gemini, vibe-local, opencode, copilot, antigravity)')
|
|
27
120
|
.option('--instance <id>', 'Agent instance ID: <agent> or <agent>-<n> (e.g. claude-2). Defaults to the agent\'s primary instance.')
|
|
28
121
|
.option('--token <token>', command_helpers_1.TOKEN_WARNING)
|
|
@@ -42,11 +135,28 @@ function createCaptureCommand() {
|
|
|
42
135
|
console.error('Error: Invalid --instance. Must be an alphanumeric/underscore/hyphen identifier (max 64 chars).');
|
|
43
136
|
process.exit(types_1.ExitCode.CONFIG_ERROR);
|
|
44
137
|
}
|
|
138
|
+
// Issue #1623: --tail / --raw only mean anything for the pane viewer.
|
|
139
|
+
// Silently ignoring them would look like the flag had no effect.
|
|
140
|
+
if (!options.pane && (options.tail !== undefined || options.raw)) {
|
|
141
|
+
console.error('Error: --tail and --raw require --pane.');
|
|
142
|
+
process.exit(types_1.ExitCode.CONFIG_ERROR);
|
|
143
|
+
}
|
|
144
|
+
if (options.pane) {
|
|
145
|
+
await capturePane(worktreeId, options);
|
|
146
|
+
return;
|
|
147
|
+
}
|
|
45
148
|
const client = new api_client_1.ApiClient({ token: options.token });
|
|
149
|
+
// Issue #1629: /current-output takes the CLI tool at face value and
|
|
150
|
+
// otherwise falls back to the worktree default, so `--instance codex`
|
|
151
|
+
// alone captured the wrong (claude-named) session. Resolve the tool the
|
|
152
|
+
// instance is registered under before asking.
|
|
153
|
+
const agent = options.instance
|
|
154
|
+
? await (0, instances_1.resolveInstanceCliTool)(client, worktreeId, options.instance, options.agent)
|
|
155
|
+
: options.agent;
|
|
46
156
|
// Build path with optional cliTool/instance query parameters
|
|
47
157
|
const query = new URLSearchParams();
|
|
48
|
-
if (
|
|
49
|
-
query.set('cliTool',
|
|
158
|
+
if (agent) {
|
|
159
|
+
query.set('cliTool', agent);
|
|
50
160
|
}
|
|
51
161
|
if (options.instance) {
|
|
52
162
|
query.set('instance', options.instance);
|
|
@@ -9,5 +9,29 @@
|
|
|
9
9
|
* commandmate instances <worktree-id> kill <instance-id>
|
|
10
10
|
*/
|
|
11
11
|
import { Command } from 'commander';
|
|
12
|
+
import { ApiClient } from '../utils/api-client';
|
|
13
|
+
/**
|
|
14
|
+
* Resolve which CLI tool backs `instanceId`, from the worktree's roster
|
|
15
|
+
* (Issue #1629). Shared by every command that targets an instance: `send`,
|
|
16
|
+
* `respond`, `capture` and `auto-yes`.
|
|
17
|
+
*
|
|
18
|
+
* `--instance <id>` on its own carries no CLI tool, so the server used to fall
|
|
19
|
+
* back to the worktree default. Since the tool id is part of the tmux session
|
|
20
|
+
* name, `send --instance codex` against a claude-default worktree started
|
|
21
|
+
* Claude in `mcbd-claude-<worktree>-codex`. Resolving here means the resolved
|
|
22
|
+
* tool is sent explicitly to every endpoint the command touches — including
|
|
23
|
+
* `/tasks`, `/current-output` and `/prompt-response`, which have no other way
|
|
24
|
+
* to learn it.
|
|
25
|
+
*
|
|
26
|
+
* The roster wins over `--agent`: it is the user-maintained declaration of what
|
|
27
|
+
* a named instance is, so a contradiction is an error rather than a session
|
|
28
|
+
* whose name disagrees with the agent inside it. An instance the roster does
|
|
29
|
+
* not know (the ad-hoc `send --instance <new-id>` flow) keeps `--agent` as
|
|
30
|
+
* given, and an unreadable roster degrades to a warning so an older daemon
|
|
31
|
+
* behaves as it did before.
|
|
32
|
+
*
|
|
33
|
+
* @returns the CLI tool to send, or undefined to let the server decide
|
|
34
|
+
*/
|
|
35
|
+
export declare function resolveInstanceCliTool(client: ApiClient, worktreeId: string, instanceId: string, requestedAgent: string | undefined): Promise<string | undefined>;
|
|
12
36
|
export declare function createInstancesCommand(): Command;
|
|
13
37
|
//# sourceMappingURL=instances.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"instances.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/instances.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"instances.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/instances.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,OAAO,EAAE,SAAS,EAAwC,MAAM,qBAAqB,CAAC;AAmDtF;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE,SAAS,EACjB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,cAAc,EAAE,MAAM,GAAG,SAAS,GACjC,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CA0B7B;AAwKD,wBAAgB,sBAAsB,IAAI,OAAO,CAqEhD"}
|
|
@@ -10,6 +10,7 @@
|
|
|
10
10
|
* commandmate instances <worktree-id> kill <instance-id>
|
|
11
11
|
*/
|
|
12
12
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
+
exports.resolveInstanceCliTool = resolveInstanceCliTool;
|
|
13
14
|
exports.createInstancesCommand = createInstancesCommand;
|
|
14
15
|
const commander_1 = require("commander");
|
|
15
16
|
const types_1 = require("../types");
|
|
@@ -38,6 +39,49 @@ function formatInstancesTable(rows) {
|
|
|
38
39
|
const dataLines = dataRows.map(r => r.map((cell, i) => cell.padEnd(colWidths[i])).join(' '));
|
|
39
40
|
return [headerLine, separator, ...dataLines].join('\n');
|
|
40
41
|
}
|
|
42
|
+
/**
|
|
43
|
+
* Resolve which CLI tool backs `instanceId`, from the worktree's roster
|
|
44
|
+
* (Issue #1629). Shared by every command that targets an instance: `send`,
|
|
45
|
+
* `respond`, `capture` and `auto-yes`.
|
|
46
|
+
*
|
|
47
|
+
* `--instance <id>` on its own carries no CLI tool, so the server used to fall
|
|
48
|
+
* back to the worktree default. Since the tool id is part of the tmux session
|
|
49
|
+
* name, `send --instance codex` against a claude-default worktree started
|
|
50
|
+
* Claude in `mcbd-claude-<worktree>-codex`. Resolving here means the resolved
|
|
51
|
+
* tool is sent explicitly to every endpoint the command touches — including
|
|
52
|
+
* `/tasks`, `/current-output` and `/prompt-response`, which have no other way
|
|
53
|
+
* to learn it.
|
|
54
|
+
*
|
|
55
|
+
* The roster wins over `--agent`: it is the user-maintained declaration of what
|
|
56
|
+
* a named instance is, so a contradiction is an error rather than a session
|
|
57
|
+
* whose name disagrees with the agent inside it. An instance the roster does
|
|
58
|
+
* not know (the ad-hoc `send --instance <new-id>` flow) keeps `--agent` as
|
|
59
|
+
* given, and an unreadable roster degrades to a warning so an older daemon
|
|
60
|
+
* behaves as it did before.
|
|
61
|
+
*
|
|
62
|
+
* @returns the CLI tool to send, or undefined to let the server decide
|
|
63
|
+
*/
|
|
64
|
+
async function resolveInstanceCliTool(client, worktreeId, instanceId, requestedAgent) {
|
|
65
|
+
let registered;
|
|
66
|
+
try {
|
|
67
|
+
const instances = await (0, agent_instances_1.fetchAgentInstances)(client, worktreeId);
|
|
68
|
+
registered = instances.find((inst) => inst.id === instanceId);
|
|
69
|
+
}
|
|
70
|
+
catch (error) {
|
|
71
|
+
console.error(`Warning: could not read the agent-instance roster (${(0, types_1.getErrorMessage)(error)}); using --agent as given.`);
|
|
72
|
+
return requestedAgent;
|
|
73
|
+
}
|
|
74
|
+
if (!registered) {
|
|
75
|
+
return requestedAgent;
|
|
76
|
+
}
|
|
77
|
+
if (requestedAgent && requestedAgent !== registered.cliTool) {
|
|
78
|
+
console.error(`Error: instance '${instanceId}' is registered as ${registered.cliTool}, but --agent ${requestedAgent} was given. `
|
|
79
|
+
+ `Drop --agent, pass --agent ${registered.cliTool}, or re-register the instance.`);
|
|
80
|
+
process.exit(types_1.ExitCode.CONFIG_ERROR);
|
|
81
|
+
return requestedAgent;
|
|
82
|
+
}
|
|
83
|
+
return registered.cliTool;
|
|
84
|
+
}
|
|
41
85
|
/**
|
|
42
86
|
* List action: roster + live running/auto-yes status per instance.
|
|
43
87
|
* Probes GET .../current-output?cliTool=&instance= per instance (same
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"respond.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/respond.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"respond.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/respond.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AASpC,wBAAgB,oBAAoB,IAAI,OAAO,CAyE9C"}
|
|
@@ -12,6 +12,7 @@ const types_1 = require("../types");
|
|
|
12
12
|
const api_client_1 = require("../utils/api-client");
|
|
13
13
|
const command_helpers_1 = require("../utils/command-helpers");
|
|
14
14
|
const cli_tool_ids_1 = require("../config/cli-tool-ids");
|
|
15
|
+
const instances_1 = require("./instances");
|
|
15
16
|
function createRespondCommand() {
|
|
16
17
|
const cmd = new commander_1.Command('respond');
|
|
17
18
|
cmd
|
|
@@ -44,10 +45,17 @@ function createRespondCommand() {
|
|
|
44
45
|
process.exit(types_1.ExitCode.CONFIG_ERROR);
|
|
45
46
|
}
|
|
46
47
|
const client = new api_client_1.ApiClient({ token: options.token });
|
|
48
|
+
// Issue #1629: /prompt-response derives the session name from cliTool
|
|
49
|
+
// and falls back to the worktree default, so `--instance codex` alone
|
|
50
|
+
// answered into a session that was never started. Resolve the tool the
|
|
51
|
+
// instance is registered under first.
|
|
52
|
+
const agent = options.instance
|
|
53
|
+
? await (0, instances_1.resolveInstanceCliTool)(client, worktreeId, options.instance, options.agent)
|
|
54
|
+
: options.agent;
|
|
47
55
|
// [DR2-06] Use prompt-response API with cliTool (not cliToolId)
|
|
48
56
|
const body = { answer };
|
|
49
|
-
if (
|
|
50
|
-
body.cliTool =
|
|
57
|
+
if (agent) {
|
|
58
|
+
body.cliTool = agent;
|
|
51
59
|
}
|
|
52
60
|
// Issue #868: target a specific agent instance
|
|
53
61
|
if (options.instance) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"send.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/send.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"send.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/send.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAgKpC,wBAAgB,iBAAiB,IAAI,OAAO,CAoK3C"}
|
|
@@ -13,6 +13,7 @@ const duration_constants_1 = require("../config/duration-constants");
|
|
|
13
13
|
const cli_tool_ids_1 = require("../config/cli-tool-ids");
|
|
14
14
|
const model_validation_1 = require("../config/model-validation");
|
|
15
15
|
const agent_instances_1 = require("../utils/agent-instances");
|
|
16
|
+
const instances_1 = require("./instances");
|
|
16
17
|
/** Auto-yes duration used when --duration is omitted. */
|
|
17
18
|
const DEFAULT_AUTO_YES_DURATION = '1h';
|
|
18
19
|
/**
|
|
@@ -38,14 +39,15 @@ function resolveAutoYesDurationMs(duration) {
|
|
|
38
39
|
* @param worktreeId - Target worktree ID
|
|
39
40
|
* @param options - Send command options containing auto-yes settings
|
|
40
41
|
* @param durationMs - Duration already validated by resolveAutoYesDurationMs()
|
|
42
|
+
* @param agent - CLI tool resolved for --instance (Issue #1629), else --agent
|
|
41
43
|
*/
|
|
42
|
-
async function enableAutoYes(client, worktreeId, options, durationMs) {
|
|
44
|
+
async function enableAutoYes(client, worktreeId, options, durationMs, agent) {
|
|
43
45
|
const autoYesBody = {
|
|
44
46
|
enabled: true,
|
|
45
47
|
duration: durationMs,
|
|
46
48
|
};
|
|
47
|
-
if (
|
|
48
|
-
autoYesBody.cliToolId =
|
|
49
|
+
if (agent) {
|
|
50
|
+
autoYesBody.cliToolId = agent;
|
|
49
51
|
}
|
|
50
52
|
// Issue #896: per-instance auto-yes. When --instance is given, the poller keys
|
|
51
53
|
// on worktreeId:cliToolId:instanceId so the targeted instance is auto-answered
|
|
@@ -85,10 +87,10 @@ async function registerInstance(client, worktreeId, instanceId, cliTool) {
|
|
|
85
87
|
* from that worktree's verify.yaml. Every violation the server found is printed
|
|
86
88
|
* before exiting, so a broken contract is fixed in one pass (Issue #1545).
|
|
87
89
|
*/
|
|
88
|
-
async function createContractTask(client, worktreeId, options) {
|
|
90
|
+
async function createContractTask(client, worktreeId, options, agent) {
|
|
89
91
|
const body = { contractPath: options.contract };
|
|
90
|
-
if (
|
|
91
|
-
body.cliToolId =
|
|
92
|
+
if (agent) {
|
|
93
|
+
body.cliToolId = agent;
|
|
92
94
|
}
|
|
93
95
|
if (options.instance) {
|
|
94
96
|
body.instanceId = options.instance;
|
|
@@ -207,13 +209,20 @@ function createSendCommand() {
|
|
|
207
209
|
// CLI cannot honour is an error whether or not --auto-yes accompanies it.
|
|
208
210
|
const autoYesDurationMs = resolveAutoYesDurationMs(options.duration);
|
|
209
211
|
const client = new api_client_1.ApiClient({ token: options.token });
|
|
212
|
+
// Issue #1629: --instance names an agent instance, not a CLI tool, and
|
|
213
|
+
// the roster is the only place that pairs the two. Resolve it once, up
|
|
214
|
+
// front, so the task row, the send and auto-yes all name the same tool
|
|
215
|
+
// as the session that actually starts.
|
|
216
|
+
const agent = options.instance
|
|
217
|
+
? await (0, instances_1.resolveInstanceCliTool)(client, worktreeId, options.instance, options.agent)
|
|
218
|
+
: options.agent;
|
|
210
219
|
// Issue #1545: resolve the contract before anything with a side effect,
|
|
211
220
|
// so an invalid contract cannot leave auto-yes enabled for a message
|
|
212
221
|
// that was never sent.
|
|
213
222
|
let taskId;
|
|
214
223
|
let content = message;
|
|
215
224
|
if (options.contract) {
|
|
216
|
-
const task = await createContractTask(client, worktreeId, options);
|
|
225
|
+
const task = await createContractTask(client, worktreeId, options, agent);
|
|
217
226
|
taskId = task.taskId;
|
|
218
227
|
content = task.message;
|
|
219
228
|
console.error(`Task created: ${taskId}`);
|
|
@@ -221,12 +230,12 @@ function createSendCommand() {
|
|
|
221
230
|
}
|
|
222
231
|
// --auto-yes: enable auto-yes first (unless --model is specified, then after send) [DR2-02]
|
|
223
232
|
if (options.autoYes && !options.model) {
|
|
224
|
-
await enableAutoYes(client, worktreeId, options, autoYesDurationMs);
|
|
233
|
+
await enableAutoYes(client, worktreeId, options, autoYesDurationMs, agent);
|
|
225
234
|
}
|
|
226
235
|
// [DR2-05] Send API uses "content" not "message"
|
|
227
236
|
const sendBody = { content };
|
|
228
|
-
if (
|
|
229
|
-
sendBody.cliToolId =
|
|
237
|
+
if (agent) {
|
|
238
|
+
sendBody.cliToolId = agent;
|
|
230
239
|
}
|
|
231
240
|
// Issue #868: Include instance ID in send body
|
|
232
241
|
if (options.instance) {
|
|
@@ -259,7 +268,7 @@ function createSendCommand() {
|
|
|
259
268
|
// Issue #576: Enable auto-yes AFTER send when --model is specified
|
|
260
269
|
// This avoids auto-yes interfering with the /model command interaction
|
|
261
270
|
if (options.autoYes && options.model) {
|
|
262
|
-
await enableAutoYes(client, worktreeId, options, autoYesDurationMs);
|
|
271
|
+
await enableAutoYes(client, worktreeId, options, autoYesDurationMs, agent);
|
|
263
272
|
}
|
|
264
273
|
}
|
|
265
274
|
catch (error) {
|
|
@@ -4,10 +4,13 @@
|
|
|
4
4
|
*
|
|
5
5
|
* Exit codes [DR1-03]:
|
|
6
6
|
* - 0: SUCCESS (agent completed)
|
|
7
|
-
* - 10: PROMPT_DETECTED (agent waiting for user input
|
|
7
|
+
* - 10: PROMPT_DETECTED (agent waiting for user input, including arrow-key
|
|
8
|
+
* selection lists — Issue #1628)
|
|
8
9
|
* - 124: TIMEOUT (--timeout exceeded)
|
|
9
10
|
* Issue #1544 adds --verify / --require-work, which can turn a detected
|
|
10
11
|
* completion into 20 (VERIFY_FAILED) or 21 (NOT_STARTED).
|
|
12
|
+
* Issue #1628 also returns 21 without --verify when the session was never
|
|
13
|
+
* running: a wait with nothing to wait for must not report success.
|
|
11
14
|
* Infrastructure errors use ExitCode (1, 2, 99)
|
|
12
15
|
*/
|
|
13
16
|
import { Command } from 'commander';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wait.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/wait.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"wait.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/wait.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAwSpC,wBAAgB,iBAAiB,IAAI,OAAO,CA6G3C"}
|
|
@@ -5,10 +5,13 @@
|
|
|
5
5
|
*
|
|
6
6
|
* Exit codes [DR1-03]:
|
|
7
7
|
* - 0: SUCCESS (agent completed)
|
|
8
|
-
* - 10: PROMPT_DETECTED (agent waiting for user input
|
|
8
|
+
* - 10: PROMPT_DETECTED (agent waiting for user input, including arrow-key
|
|
9
|
+
* selection lists — Issue #1628)
|
|
9
10
|
* - 124: TIMEOUT (--timeout exceeded)
|
|
10
11
|
* Issue #1544 adds --verify / --require-work, which can turn a detected
|
|
11
12
|
* completion into 20 (VERIFY_FAILED) or 21 (NOT_STARTED).
|
|
13
|
+
* Issue #1628 also returns 21 without --verify when the session was never
|
|
14
|
+
* running: a wait with nothing to wait for must not report success.
|
|
12
15
|
* Infrastructure errors use ExitCode (1, 2, 99)
|
|
13
16
|
*/
|
|
14
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
@@ -20,6 +23,16 @@ const command_helpers_1 = require("../utils/command-helpers");
|
|
|
20
23
|
const verify_runner_1 = require("../utils/verify-runner");
|
|
21
24
|
/** [IA3-02] Polling interval 5 seconds (matches tmux-capture-cache TTL=2s) */
|
|
22
25
|
const POLL_INTERVAL_MS = 5000;
|
|
26
|
+
/**
|
|
27
|
+
* `type` reported for a blocked-on-a-human frame that carries no parsable prompt
|
|
28
|
+
* (Issue #1628). Arrow-key menus — Codex's pager and `/model`, antigravity's
|
|
29
|
+
* permission menu, OpenCode's `/models` overlay — are deliberately published as
|
|
30
|
+
* selection lists rather than prompts so the UI renders NavigationButtons, which
|
|
31
|
+
* left `wait` with no signal at all for them: it polled until the timeout while
|
|
32
|
+
* the agent sat stopped. They are not answerable as a prompt, so the payload
|
|
33
|
+
* names the state instead of inventing options.
|
|
34
|
+
*/
|
|
35
|
+
const SELECTION_LIST_PROMPT_TYPE = 'selection_list';
|
|
23
36
|
/**
|
|
24
37
|
* Poll a single worktree until completion, prompt, or timeout.
|
|
25
38
|
*/
|
|
@@ -27,6 +40,14 @@ async function pollWorktree(client, worktreeId, options) {
|
|
|
27
40
|
const startTime = Date.now();
|
|
28
41
|
let lastActivityTime = Date.now();
|
|
29
42
|
let lastContent = '';
|
|
43
|
+
/**
|
|
44
|
+
* Issue #1628: whether this wait ever saw the session alive. `!isRunning` on the
|
|
45
|
+
* FIRST poll is "there is nothing here to wait for", not "the agent finished" —
|
|
46
|
+
* reporting SUCCESS for it is how a wait on a worktree whose agent never started
|
|
47
|
+
* (wrong tool, wrong instance, session never created) came back `Completed` in
|
|
48
|
+
* milliseconds and handed a `passed` verdict to whatever ran next.
|
|
49
|
+
*/
|
|
50
|
+
let everRunning = false;
|
|
30
51
|
while (true) {
|
|
31
52
|
// Check timeout
|
|
32
53
|
if (options.timeout) {
|
|
@@ -55,6 +76,9 @@ async function pollWorktree(client, worktreeId, options) {
|
|
|
55
76
|
lastContent = data.content;
|
|
56
77
|
lastActivityTime = Date.now();
|
|
57
78
|
}
|
|
79
|
+
if (data.isRunning) {
|
|
80
|
+
everRunning = true;
|
|
81
|
+
}
|
|
58
82
|
// Prompt detected
|
|
59
83
|
if (data.isPromptWaiting && data.promptData) {
|
|
60
84
|
// [DR1-03] Prompt detection exit code
|
|
@@ -75,10 +99,42 @@ async function pollWorktree(client, worktreeId, options) {
|
|
|
75
99
|
};
|
|
76
100
|
return { exitCode: types_1.WaitExitCode.PROMPT_DETECTED, output: promptOutput };
|
|
77
101
|
}
|
|
102
|
+
// Issue #1628: an arrow-key menu is the agent blocked on a human just as much
|
|
103
|
+
// as a numbered prompt is, but it is published with isPromptWaiting=false so
|
|
104
|
+
// the UI can render NavigationButtons instead of PromptPanel. Treat it as a
|
|
105
|
+
// prompt here — otherwise `wait` polls a stopped agent until --timeout.
|
|
106
|
+
if (data.isSelectionListActive) {
|
|
107
|
+
if (options.onPrompt === 'human') {
|
|
108
|
+
console.error(`Selection list active on ${worktreeId} (${data.sessionStatusReason ?? 'selection_list'}). ` +
|
|
109
|
+
'Waiting for human response...');
|
|
110
|
+
await sleep(POLL_INTERVAL_MS);
|
|
111
|
+
continue;
|
|
112
|
+
}
|
|
113
|
+
return {
|
|
114
|
+
exitCode: types_1.WaitExitCode.PROMPT_DETECTED,
|
|
115
|
+
output: {
|
|
116
|
+
worktreeId,
|
|
117
|
+
cliToolId: data.cliToolId || 'claude',
|
|
118
|
+
type: SELECTION_LIST_PROMPT_TYPE,
|
|
119
|
+
question: data.sessionStatusReason ?? SELECTION_LIST_PROMPT_TYPE,
|
|
120
|
+
options: [],
|
|
121
|
+
status: 'pending',
|
|
122
|
+
},
|
|
123
|
+
};
|
|
124
|
+
}
|
|
78
125
|
// Completion check [DR1-04]:
|
|
79
|
-
// Path A: tmux session
|
|
126
|
+
// Path A: the tmux session went away after we had seen it alive — the agent
|
|
127
|
+
// finished and its session was stopped.
|
|
80
128
|
// Path B: agent completed task (sessionStatus === 'ready', input prompt detected)
|
|
81
|
-
// Both indicate "no more work in progress" from wait command's perspective
|
|
129
|
+
// Both indicate "no more work in progress" from wait command's perspective.
|
|
130
|
+
//
|
|
131
|
+
// Issue #1628 narrowed Path A: a session that was NEVER seen running is
|
|
132
|
+
// "nothing to wait for" (NOT_STARTED), not a completion. See `everRunning`.
|
|
133
|
+
if (!data.isRunning && !everRunning) {
|
|
134
|
+
console.error(`Not started: ${worktreeId} has no running ${data.cliToolId ?? 'agent'} session` +
|
|
135
|
+
`${options.instance ? ` for instance ${options.instance}` : ''}.`);
|
|
136
|
+
return { exitCode: types_1.VerifyExitCode.NOT_STARTED };
|
|
137
|
+
}
|
|
82
138
|
if (!data.isRunning || data.sessionStatus === 'ready') {
|
|
83
139
|
console.error(`Completed: ${worktreeId}`);
|
|
84
140
|
return { exitCode: types_1.WaitExitCode.SUCCESS };
|
|
@@ -102,6 +158,21 @@ function sleep(ms) {
|
|
|
102
158
|
function verifyRequested(options) {
|
|
103
159
|
return Boolean(options.verify || options.requireWork);
|
|
104
160
|
}
|
|
161
|
+
/**
|
|
162
|
+
* Whether this poll outcome should still be handed to the verification gates.
|
|
163
|
+
*
|
|
164
|
+
* A completion is the obvious case. NOT_STARTED joins it (Issue #1628) so the
|
|
165
|
+
* operator gets the gate results instead of a bare "no session": work committed
|
|
166
|
+
* by an agent whose session has since gone away is still worth reporting. The
|
|
167
|
+
* verdict is merged rather than substituted — mergeExitCode never lets a passing
|
|
168
|
+
* run overwrite NOT_STARTED, so "wait never saw this agent" survives to the exit
|
|
169
|
+
* code even when the gates are green.
|
|
170
|
+
*/
|
|
171
|
+
function shouldVerify(exitCode, options) {
|
|
172
|
+
if (!verifyRequested(options))
|
|
173
|
+
return false;
|
|
174
|
+
return exitCode === types_1.WaitExitCode.SUCCESS || exitCode === types_1.VerifyExitCode.NOT_STARTED;
|
|
175
|
+
}
|
|
105
176
|
/**
|
|
106
177
|
* Task statuses that mean "this wait is about that task".
|
|
107
178
|
*
|
|
@@ -237,8 +308,8 @@ function createWaitCommand() {
|
|
|
237
308
|
}
|
|
238
309
|
// Issue #1544: only a detected completion is worth verifying — a
|
|
239
310
|
// prompt or a timeout means the agent never claimed to be done.
|
|
240
|
-
const exitCode = result.exitCode
|
|
241
|
-
? await verifyAfterWait(client, worktreeIds[0], options, boundTaskIds[0])
|
|
311
|
+
const exitCode = shouldVerify(result.exitCode, options)
|
|
312
|
+
? mergeExitCode(result.exitCode, await verifyAfterWait(client, worktreeIds[0], options, boundTaskIds[0]))
|
|
242
313
|
: result.exitCode;
|
|
243
314
|
process.exit(exitCode);
|
|
244
315
|
return;
|
|
@@ -254,8 +325,11 @@ function createWaitCommand() {
|
|
|
254
325
|
if (result.value.output) {
|
|
255
326
|
outputs.push(result.value.output);
|
|
256
327
|
}
|
|
257
|
-
if (result.value.exitCode
|
|
328
|
+
if (shouldVerify(result.value.exitCode, options)) {
|
|
258
329
|
verifyTargets.push({ id: worktreeIds[index], taskId: boundTaskIds[index] });
|
|
330
|
+
// Issue #1628: fold NOT_STARTED in before verification so a green
|
|
331
|
+
// gate run cannot promote "no session was ever running" to success.
|
|
332
|
+
finalExitCode = mergeExitCode(finalExitCode, result.value.exitCode);
|
|
259
333
|
return;
|
|
260
334
|
}
|
|
261
335
|
finalExitCode = mergeExitCode(finalExitCode, result.value.exitCode);
|
|
@@ -314,6 +314,22 @@ export interface CaptureOptions {
|
|
|
314
314
|
token?: string;
|
|
315
315
|
/** Issue #868: agent instance ID or alias (defaults to the agent's primary instance) */
|
|
316
316
|
instance?: string;
|
|
317
|
+
/**
|
|
318
|
+
* Issue #1623: read the raw tmux pane instead of the accumulated response.
|
|
319
|
+
* `capture` without this answers "what is the agent saying right now" and is
|
|
320
|
+
* empty while idle; `--pane` answers "what is on screen", which is what a
|
|
321
|
+
* human wants to read.
|
|
322
|
+
*/
|
|
323
|
+
pane?: boolean;
|
|
324
|
+
/**
|
|
325
|
+
* Issue #1623: with `--pane`, keep only the last N lines of the SQUEEZED
|
|
326
|
+
* transcript. Counting after the squeeze is what makes the number useful — on
|
|
327
|
+
* a 1000-row canvas whose transcript ends at row 254, tailing the raw frame
|
|
328
|
+
* would return blank padding.
|
|
329
|
+
*/
|
|
330
|
+
tail?: string;
|
|
331
|
+
/** Issue #1623: with `--pane`, print the frame verbatim (no blank-row squeeze). */
|
|
332
|
+
raw?: boolean;
|
|
317
333
|
}
|
|
318
334
|
/** auto-yes command options [Issue #518] */
|
|
319
335
|
export interface AutoYesOptions {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cli/types/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cli/types/index.ts"],"names":[],"mappings":"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"}
|