commandmate 0.31.2 → 0.32.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 +454 -440
- package/.next/app-path-routes-manifest.json +31 -29
- package/.next/build-manifest.json +5 -5
- package/.next/prerender-manifest.json +12 -12
- package/.next/react-loadable-manifest.json +2 -2
- package/.next/required-server-files.json +1 -1
- package/.next/routes-manifest.json +8 -0
- package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/server/app/api/agents/update/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/agents/versions/route_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.js.nft.json +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.js +1 -1
- package/.next/server/app/api/assistant/conversation/route.js.nft.json +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.js +1 -1
- package/.next/server/app/api/assistant/current-output/route.js.nft.json +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.js +1 -1
- package/.next/server/app/api/assistant/messages/route.js.nft.json +1 -1
- package/.next/server/app/api/assistant/messages/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/assistant/session/route.js +1 -1
- package/.next/server/app/api/assistant/session/route.js.nft.json +1 -1
- package/.next/server/app/api/assistant/session/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/assistant/start/route.js +1 -32
- package/.next/server/app/api/assistant/start/route.js.nft.json +1 -1
- package/.next/server/app/api/assistant/start/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/assistant/terminal/route.js +2 -33
- package/.next/server/app/api/assistant/terminal/route.js.nft.json +1 -1
- package/.next/server/app/api/assistant/terminal/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/assistant/tools/route.js +1 -1
- package/.next/server/app/api/assistant/tools/route.js.nft.json +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/capabilities/route.js +1 -1
- package/.next/server/app/api/capabilities/route.js.nft.json +1 -1
- package/.next/server/app/api/capabilities/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.js +1 -1
- package/.next/server/app/api/hooks/agent-event/route.js.nft.json +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.js +2 -2
- package/.next/server/app/api/hooks/claude-done/route.js.nft.json +1 -1
- package/.next/server/app/api/hooks/claude-done/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/hooks/permission-request/route.js +1 -1
- package/.next/server/app/api/hooks/permission-request/route.js.nft.json +1 -1
- package/.next/server/app/api/hooks/permission-request/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/escalation/route.js +2 -2
- package/.next/server/app/api/push/escalation/route.js.nft.json +1 -1
- package/.next/server/app/api/push/escalation/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.js +2 -2
- package/.next/server/app/api/push/vapid/route.js.nft.json +1 -1
- package/.next/server/app/api/push/vapid/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/relays/[relayId]/cancel/route.js +1 -0
- package/.next/server/app/api/relays/[relayId]/cancel/route.js.nft.json +1 -0
- package/.next/server/app/api/relays/[relayId]/cancel/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/relays/route.js +1 -0
- package/.next/server/app/api/relays/route.js.nft.json +1 -0
- package/.next/server/app/api/relays/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/remote/pair/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.js +1 -1
- package/.next/server/app/api/repositories/clone/[jobId]/route.js.nft.json +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.js +1 -1
- package/.next/server/app/api/repositories/clone/route.js.nft.json +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.js +1 -1
- package/.next/server/app/api/repositories/restore/route.js.nft.json +1 -1
- package/.next/server/app/api/repositories/restore/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/repositories/route.js +1 -1
- package/.next/server/app/api/repositories/route.js.nft.json +1 -1
- package/.next/server/app/api/repositories/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/repositories/scan/route.js +1 -1
- package/.next/server/app/api/repositories/scan/route.js.nft.json +1 -1
- package/.next/server/app/api/repositories/scan/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/repositories/sync/route.js +1 -1
- package/.next/server/app/api/repositories/sync/route.js.nft.json +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/settings/default-agents/route.js +1 -1
- package/.next/server/app/api/settings/default-agents/route.js.nft.json +1 -1
- package/.next/server/app/api/settings/default-agents/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/settings/default-surface-mode/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.js +1 -1
- package/.next/server/app/api/skills/[id]/route.js.nft.json +1 -1
- package/.next/server/app/api/skills/[id]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/skills/installations/route.js +1 -1
- package/.next/server/app/api/skills/installations/route.js.nft.json +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.js +1 -1
- package/.next/server/app/api/skills/route.js.nft.json +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.js.nft.json +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.js +1 -1
- package/.next/server/app/api/worktrees/[id]/capture/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/capture/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/clear-composer/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/clear-composer/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/clear-composer/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/cli-reference/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/cli-reference/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.js +1 -1
- package/.next/server/app/api/worktrees/[id]/current-output/route.js.nft.json +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]/env/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/env/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.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.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.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.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.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.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.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.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.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.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.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]/instances/opencode/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/instances/opencode/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/instances/opencode/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/interrupt/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/interrupt/route.js.nft.json +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.js +1 -1
- package/.next/server/app/api/worktrees/[id]/kill-session/route.js.nft.json +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]/opencode/diff/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/opencode/diff/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/opencode/session/route.js +2 -1
- package/.next/server/app/api/worktrees/[id]/opencode/session/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/opencode/session/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/opencode/share/route.js +2 -1
- package/.next/server/app/api/worktrees/[id]/opencode/share/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/opencode/share/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/prompt-response/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/prompt-response/route.js.nft.json +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]/resolve-target/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/resolve-target/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/respond/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/respond/route.js.nft.json +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.js +1 -1
- package/.next/server/app/api/worktrees/[id]/route.js.nft.json +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.js.nft.json +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.js +103 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/git-workflow/route.js.nft.json +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.js +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/plan/route.js.nft.json +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/[skillId]/update/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/update-plan/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/update-plan/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/update-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.js +1 -1
- package/.next/server/app/api/worktrees/[id]/special-keys/route.js.nft.json +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]/tasks/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/tasks/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/terminal/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/terminal/route.js.nft.json +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.js +1 -1
- package/.next/server/app/api/worktrees/[id]/timers/route.js.nft.json +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_client-reference-manifest.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/config/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/verify/config/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]/cancel/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/verify/runs/[runId]/cancel/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/apply-default-agents/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/route.js +1 -1
- package/.next/server/app/api/worktrees/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/route_client-reference-manifest.js +1 -1
- package/.next/server/app/chat/page.js +2 -2
- package/.next/server/app/chat/page.js.nft.json +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.js +2 -2
- package/.next/server/app/more/page.js.nft.json +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.js +1 -1
- package/.next/server/app/page.js.nft.json +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.js +2 -2
- package/.next/server/app/repositories/page.js.nft.json +1 -1
- package/.next/server/app/repositories/page_client-reference-manifest.js +1 -1
- package/.next/server/app/review/page.js +1 -1
- package/.next/server/app/review/page.js.nft.json +1 -1
- package/.next/server/app/review/page_client-reference-manifest.js +1 -1
- package/.next/server/app/sessions/page.js +1 -1
- package/.next/server/app/sessions/page.js.nft.json +1 -1
- package/.next/server/app/sessions/page_client-reference-manifest.js +1 -1
- package/.next/server/app/skills/[skillId]/page.js +2 -2
- package/.next/server/app/skills/[skillId]/page.js.nft.json +1 -1
- package/.next/server/app/skills/[skillId]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/skills/installed/page.js +2 -2
- package/.next/server/app/skills/installed/page.js.nft.json +1 -1
- package/.next/server/app/skills/installed/page_client-reference-manifest.js +1 -1
- package/.next/server/app/skills/page.js +1 -1
- package/.next/server/app/skills/page.js.nft.json +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 +11 -11
- package/.next/server/app/worktrees/[id]/page.js.nft.json +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 +31 -29
- package/.next/server/chunks/1191.js +1 -1
- package/.next/server/chunks/1210.js +1 -0
- package/.next/server/chunks/153.js +1 -0
- package/.next/server/chunks/1886.js +1 -1
- package/.next/server/chunks/21.js +1 -0
- package/.next/server/chunks/2119.js +1 -1
- package/.next/server/chunks/2445.js +1 -1
- package/.next/server/chunks/3077.js +67 -0
- package/.next/server/chunks/3086.js +1 -0
- package/.next/server/chunks/3241.js +1 -1
- package/.next/server/chunks/3270.js +1 -0
- package/.next/server/chunks/3543.js +1 -1
- package/.next/server/chunks/3730.js +1 -0
- package/.next/server/chunks/3925.js +1 -0
- package/.next/server/chunks/3945.js +1 -1
- package/.next/server/chunks/4443.js +2 -1
- package/.next/server/chunks/5043.js +1 -1
- package/.next/server/chunks/5164.js +1 -1
- package/.next/server/chunks/5220.js +1 -1
- package/.next/server/chunks/5354.js +1 -1
- package/.next/server/chunks/595.js +8 -0
- package/.next/server/chunks/6286.js +48 -0
- package/.next/server/chunks/6306.js +1 -0
- package/.next/server/chunks/6363.js +1 -0
- package/.next/server/chunks/6401.js +1 -1
- package/.next/server/chunks/6491.js +103 -0
- package/.next/server/chunks/6661.js +1 -0
- package/.next/server/chunks/6838.js +1 -0
- package/.next/server/chunks/7875.js +25 -0
- package/.next/server/chunks/7890.js +1 -0
- package/.next/server/chunks/8063.js +32 -0
- package/.next/server/chunks/8118.js +1 -1
- package/.next/server/chunks/{7587.js → 8554.js} +1 -1
- package/.next/server/chunks/8687.js +1 -0
- package/.next/server/chunks/8800.js +1 -1
- package/.next/server/chunks/8807.js +37 -3
- package/.next/server/chunks/8918.js +6 -4
- package/.next/server/chunks/9123.js +2 -2
- package/.next/server/chunks/9130.js +2 -2
- package/.next/server/chunks/9584.js +1 -1
- package/.next/server/chunks/9627.js +22 -6
- package/.next/server/middleware-build-manifest.js +1 -1
- package/.next/server/middleware-manifest.json +5 -5
- package/.next/server/middleware-react-loadable-manifest.js +1 -1
- package/.next/server/pages/500.html +1 -1
- package/.next/server/server-reference-manifest.json +1 -1
- package/.next/static/UIUPchtWvcEuQgcbGJv4g/_buildManifest.js +1 -0
- package/.next/static/chunks/{5694.dda65070757534df.js → 3313.53f7ff985c0c8852.js} +1 -1
- package/.next/static/chunks/4718-0053d42fb635e700.js +1 -0
- package/.next/static/chunks/{4974-35592ec312322124.js → 5694-498765336d0b8c2b.js} +1 -1
- package/.next/static/chunks/{7485.442b21101fca7257.js → 7485.52361bc061cc663a.js} +1 -1
- package/.next/static/chunks/8019-cbf130d0e6334d2d.js +1 -0
- package/.next/static/chunks/8361-9bb887203c456edb.js +1 -0
- package/.next/static/chunks/8772-9be53a530950d804.js +1 -0
- package/.next/static/chunks/998-ac0ded6d5eeb4dc0.js +1 -0
- package/.next/static/chunks/app/api/agents/update/route-8bc5b680c5f3eae4.js +1 -0
- package/.next/static/chunks/app/api/agents/versions/route-8bc5b680c5f3eae4.js +1 -0
- package/.next/static/chunks/app/api/app/update/route-8bc5b680c5f3eae4.js +1 -0
- package/.next/static/chunks/app/api/app/update-check/route-8bc5b680c5f3eae4.js +1 -0
- package/.next/static/chunks/app/api/assistant/conversation/route-8bc5b680c5f3eae4.js +1 -0
- package/.next/static/chunks/app/api/assistant/current-output/route-8bc5b680c5f3eae4.js +1 -0
- package/.next/static/chunks/app/api/assistant/messages/route-8bc5b680c5f3eae4.js +1 -0
- package/.next/static/chunks/app/api/assistant/session/route-8bc5b680c5f3eae4.js +1 -0
- package/.next/static/chunks/app/api/assistant/start/route-8bc5b680c5f3eae4.js +1 -0
- package/.next/static/chunks/app/api/assistant/terminal/route-8bc5b680c5f3eae4.js +1 -0
- package/.next/static/chunks/app/api/assistant/tools/route-8bc5b680c5f3eae4.js +1 -0
- package/.next/static/chunks/app/api/auth/login/route-8bc5b680c5f3eae4.js +1 -0
- package/.next/static/chunks/app/api/auth/logout/route-8bc5b680c5f3eae4.js +1 -0
- package/.next/static/chunks/app/api/auth/status/route-8bc5b680c5f3eae4.js +1 -0
- package/.next/static/chunks/app/api/capabilities/route-8bc5b680c5f3eae4.js +1 -0
- package/.next/static/chunks/app/api/daily-summary/route-8bc5b680c5f3eae4.js +1 -0
- package/.next/static/chunks/app/api/daily-summary/status/route-8bc5b680c5f3eae4.js +1 -0
- package/.next/static/chunks/app/api/external-apps/[id]/health/route-8bc5b680c5f3eae4.js +1 -0
- package/.next/static/chunks/app/api/external-apps/[id]/route-8bc5b680c5f3eae4.js +1 -0
- package/.next/static/chunks/app/api/external-apps/route-8bc5b680c5f3eae4.js +1 -0
- package/.next/static/chunks/app/api/fs/browse/route-8bc5b680c5f3eae4.js +1 -0
- package/.next/static/chunks/app/api/fs/recent-paths/route-8bc5b680c5f3eae4.js +1 -0
- package/.next/static/chunks/app/api/hooks/agent-event/route-8bc5b680c5f3eae4.js +1 -0
- package/.next/static/chunks/app/api/hooks/claude-done/route-8bc5b680c5f3eae4.js +1 -0
- package/.next/static/chunks/app/api/hooks/permission-request/route-8bc5b680c5f3eae4.js +1 -0
- package/.next/static/chunks/app/api/metrics/vibe/route-8bc5b680c5f3eae4.js +1 -0
- package/.next/static/chunks/app/api/ollama/models/route-8bc5b680c5f3eae4.js +1 -0
- package/.next/static/chunks/app/api/push/escalation/route-8bc5b680c5f3eae4.js +1 -0
- package/.next/static/chunks/app/api/push/subscriptions/route-8bc5b680c5f3eae4.js +1 -0
- package/.next/static/chunks/app/api/push/vapid/route-8bc5b680c5f3eae4.js +1 -0
- package/.next/static/chunks/app/api/relays/[relayId]/cancel/route-8bc5b680c5f3eae4.js +1 -0
- package/.next/static/chunks/app/api/relays/route-8bc5b680c5f3eae4.js +1 -0
- package/.next/static/chunks/app/api/remote/pair/route-8bc5b680c5f3eae4.js +1 -0
- package/.next/static/chunks/app/api/repositories/[id]/route-8bc5b680c5f3eae4.js +1 -0
- package/.next/static/chunks/app/api/repositories/[id]/todos/[todoId]/route-8bc5b680c5f3eae4.js +1 -0
- package/.next/static/chunks/app/api/repositories/[id]/todos/route-8bc5b680c5f3eae4.js +1 -0
- package/.next/static/chunks/app/api/repositories/clone/[jobId]/route-8bc5b680c5f3eae4.js +1 -0
- package/.next/static/chunks/app/api/repositories/clone/route-8bc5b680c5f3eae4.js +1 -0
- package/.next/static/chunks/app/api/repositories/excluded/route-8bc5b680c5f3eae4.js +1 -0
- package/.next/static/chunks/app/api/repositories/restore/route-8bc5b680c5f3eae4.js +1 -0
- package/.next/static/chunks/app/api/repositories/route-8bc5b680c5f3eae4.js +1 -0
- package/.next/static/chunks/app/api/repositories/scan/route-8bc5b680c5f3eae4.js +1 -0
- package/.next/static/chunks/app/api/repositories/sync/route-8bc5b680c5f3eae4.js +1 -0
- package/.next/static/chunks/app/api/repositories/validate-path/route-8bc5b680c5f3eae4.js +1 -0
- package/.next/static/chunks/app/api/settings/default-agents/route-8bc5b680c5f3eae4.js +1 -0
- package/.next/static/chunks/app/api/settings/default-surface-mode/route-8bc5b680c5f3eae4.js +1 -0
- package/.next/static/chunks/app/api/sidebar/group-order/route-8bc5b680c5f3eae4.js +1 -0
- package/.next/static/chunks/app/api/skills/[id]/route-8bc5b680c5f3eae4.js +1 -0
- package/.next/static/chunks/app/api/skills/installations/route-8bc5b680c5f3eae4.js +1 -0
- package/.next/static/chunks/app/api/skills/operations/route-8bc5b680c5f3eae4.js +1 -0
- package/.next/static/chunks/app/api/skills/reindex/route-8bc5b680c5f3eae4.js +1 -0
- package/.next/static/chunks/app/api/skills/route-8bc5b680c5f3eae4.js +1 -0
- package/.next/static/chunks/app/api/slash-commands/route-8bc5b680c5f3eae4.js +1 -0
- package/.next/static/chunks/app/api/tasks/[taskId]/cancel/route-8bc5b680c5f3eae4.js +1 -0
- package/.next/static/chunks/app/api/tasks/[taskId]/route-8bc5b680c5f3eae4.js +1 -0
- package/.next/static/chunks/app/api/templates/[id]/route-8bc5b680c5f3eae4.js +1 -0
- package/.next/static/chunks/app/api/templates/route-8bc5b680c5f3eae4.js +1 -0
- package/.next/static/chunks/app/api/todos/route-8bc5b680c5f3eae4.js +1 -0
- package/.next/static/chunks/app/api/verification/runs/[runId]/route-8bc5b680c5f3eae4.js +1 -0
- package/.next/static/chunks/app/api/verification/runs/route-8bc5b680c5f3eae4.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/auto-yes/route-8bc5b680c5f3eae4.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/capture/route-8bc5b680c5f3eae4.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/clear-composer/route-8bc5b680c5f3eae4.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/cli-reference/route-8bc5b680c5f3eae4.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/cli-tool/route-8bc5b680c5f3eae4.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/cmate/schedules/route-8bc5b680c5f3eae4.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/current-output/route-8bc5b680c5f3eae4.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/env/route-8bc5b680c5f3eae4.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/execution-logs/[logId]/route-8bc5b680c5f3eae4.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/execution-logs/route-8bc5b680c5f3eae4.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/files/[...path]/route-8bc5b680c5f3eae4.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/branch/create/route-8bc5b680c5f3eae4.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/branch/delete/route-8bc5b680c5f3eae4.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/branches/route-8bc5b680c5f3eae4.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/checkout/route-8bc5b680c5f3eae4.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/commit/route-8bc5b680c5f3eae4.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/diff/route-8bc5b680c5f3eae4.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/fetch/route-8bc5b680c5f3eae4.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/log/route-8bc5b680c5f3eae4.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/pull/route-8bc5b680c5f3eae4.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/push/route-8bc5b680c5f3eae4.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/reset/route-8bc5b680c5f3eae4.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/revert/route-8bc5b680c5f3eae4.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/show/[commitHash]/route-8bc5b680c5f3eae4.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/stage/route-8bc5b680c5f3eae4.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/staged/route-8bc5b680c5f3eae4.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/stash/[index]/route-8bc5b680c5f3eae4.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/stash/apply/route-8bc5b680c5f3eae4.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/stash/pop/route-8bc5b680c5f3eae4.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/stash/push/route-8bc5b680c5f3eae4.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/stash/route-8bc5b680c5f3eae4.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/status/route-8bc5b680c5f3eae4.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/unstage/route-8bc5b680c5f3eae4.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/working-diff/route-8bc5b680c5f3eae4.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/instances/opencode/route-8bc5b680c5f3eae4.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/interrupt/route-8bc5b680c5f3eae4.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/kill-session/route-8bc5b680c5f3eae4.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/logs/[filename]/route-8bc5b680c5f3eae4.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/logs/route-8bc5b680c5f3eae4.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/marp-render/route-8bc5b680c5f3eae4.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/memos/[memoId]/route-8bc5b680c5f3eae4.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/memos/route-8bc5b680c5f3eae4.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/messages/route-8bc5b680c5f3eae4.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/opencode/diff/route-8bc5b680c5f3eae4.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/opencode/session/route-8bc5b680c5f3eae4.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/opencode/share/route-8bc5b680c5f3eae4.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/prompt-response/route-8bc5b680c5f3eae4.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/resolve-target/route-8bc5b680c5f3eae4.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/respond/route-8bc5b680c5f3eae4.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/route-8bc5b680c5f3eae4.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/schedules/[scheduleId]/route-8bc5b680c5f3eae4.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/schedules/active/route-8bc5b680c5f3eae4.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/schedules/route-8bc5b680c5f3eae4.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/search/route-8bc5b680c5f3eae4.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/send/route-8bc5b680c5f3eae4.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/git-workflow/route-8bc5b680c5f3eae4.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/install/route-8bc5b680c5f3eae4.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/plan/route-8bc5b680c5f3eae4.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/uninstall/route-8bc5b680c5f3eae4.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/uninstall-plan/route-8bc5b680c5f3eae4.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/update/route-8bc5b680c5f3eae4.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/update-plan/route-8bc5b680c5f3eae4.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/skills/route-8bc5b680c5f3eae4.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/slash-commands/route-8bc5b680c5f3eae4.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/special-keys/route-8bc5b680c5f3eae4.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/tasks/route-8bc5b680c5f3eae4.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/terminal/route-8bc5b680c5f3eae4.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/timers/history/route-8bc5b680c5f3eae4.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/timers/route-8bc5b680c5f3eae4.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/todos/[todoId]/route-8bc5b680c5f3eae4.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/todos/route-8bc5b680c5f3eae4.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/tree/[...path]/route-8bc5b680c5f3eae4.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/tree/route-8bc5b680c5f3eae4.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/upload/[...path]/route-8bc5b680c5f3eae4.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/verify/config/route-8bc5b680c5f3eae4.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/verify/route-8bc5b680c5f3eae4.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/verify/runs/[runId]/cancel/route-8bc5b680c5f3eae4.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/verify/runs/[runId]/route-8bc5b680c5f3eae4.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/verify/runs/route-8bc5b680c5f3eae4.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/viewed/route-8bc5b680c5f3eae4.js +1 -0
- package/.next/static/chunks/app/api/worktrees/apply-default-agents/route-8bc5b680c5f3eae4.js +1 -0
- package/.next/static/chunks/app/api/worktrees/route-8bc5b680c5f3eae4.js +1 -0
- package/.next/static/chunks/app/chat/{page-37d7615d17d7e2a0.js → page-e60d07c4c79602f0.js} +1 -1
- package/.next/static/chunks/app/manifest.webmanifest/route-8bc5b680c5f3eae4.js +1 -0
- package/.next/static/chunks/app/more/{page-353a3924e6d7968e.js → page-fc94f86aa881489e.js} +1 -1
- package/.next/static/chunks/app/{page-c2bf871d953a1d6f.js → page-6871cca022b24807.js} +1 -1
- package/.next/static/chunks/app/proxy/[...path]/route-8bc5b680c5f3eae4.js +1 -0
- package/.next/static/chunks/app/repositories/{page-7d0f26df0537254c.js → page-788ded1b72963d94.js} +1 -1
- package/.next/static/chunks/app/review/{page-e3f141b2829973e9.js → page-35b99baaf3c93b38.js} +1 -1
- package/.next/static/chunks/app/sessions/{page-53f188ed9ca49e5f.js → page-fa2d62f3e8436c69.js} +1 -1
- package/.next/static/chunks/app/skills/[skillId]/{page-80569b720aea59cc.js → page-06799157652e8fa9.js} +1 -1
- package/.next/static/chunks/app/skills/installed/{page-dbd2690ad72da95b.js → page-2f3987e3a131c8d0.js} +1 -1
- package/.next/static/chunks/app/skills/{page-dacd36f9c11aa7da.js → page-e70bfcf5ed4e4865.js} +1 -1
- package/.next/static/chunks/app/worktrees/[id]/layout-8bc5b680c5f3eae4.js +1 -0
- package/.next/static/chunks/app/worktrees/[id]/page-06e1ff5ce2d126fd.js +1 -0
- package/.next/static/chunks/webpack-1dc9eb5ebb4fa5ff.js +1 -0
- package/.next/static/css/96d94a4ba771efc3.css +1 -0
- package/.next/trace +13 -13
- package/.next/types/app/api/relays/[relayId]/cancel/route.ts +347 -0
- package/.next/types/app/api/relays/route.ts +347 -0
- package/.next/types/routes.d.ts +3 -1
- package/.next/types/validator.ts +18 -0
- package/dist/cli/commands/ask.d.ts +34 -0
- package/dist/cli/commands/ask.d.ts.map +1 -0
- package/dist/cli/commands/ask.js +494 -0
- package/dist/cli/commands/capture.d.ts +20 -0
- package/dist/cli/commands/capture.d.ts.map +1 -1
- package/dist/cli/commands/capture.js +80 -30
- package/dist/cli/commands/docs.d.ts.map +1 -1
- package/dist/cli/commands/docs.js +47 -4
- package/dist/cli/commands/instances.d.ts +67 -0
- package/dist/cli/commands/instances.d.ts.map +1 -1
- package/dist/cli/commands/instances.js +103 -7
- package/dist/cli/commands/peers.d.ts +64 -0
- package/dist/cli/commands/peers.d.ts.map +1 -0
- package/dist/cli/commands/peers.js +196 -0
- package/dist/cli/commands/relays.d.ts +92 -0
- package/dist/cli/commands/relays.d.ts.map +1 -0
- package/dist/cli/commands/relays.js +293 -0
- package/dist/cli/commands/report.d.ts +3 -0
- package/dist/cli/commands/report.d.ts.map +1 -1
- package/dist/cli/commands/report.js +29 -1
- package/dist/cli/commands/respond.d.ts.map +1 -1
- package/dist/cli/commands/respond.js +13 -10
- package/dist/cli/commands/send.d.ts.map +1 -1
- package/dist/cli/commands/send.js +66 -20
- package/dist/cli/commands/task.d.ts.map +1 -1
- package/dist/cli/commands/task.js +30 -0
- package/dist/cli/commands/wait.d.ts +20 -0
- package/dist/cli/commands/wait.d.ts.map +1 -1
- package/dist/cli/commands/wait.js +55 -6
- package/dist/cli/commands/whoami.d.ts +109 -0
- package/dist/cli/commands/whoami.d.ts.map +1 -0
- package/dist/cli/commands/whoami.js +271 -0
- package/dist/cli/docs/agent-operations.d.ts +25 -1
- package/dist/cli/docs/agent-operations.d.ts.map +1 -1
- package/dist/cli/docs/agent-operations.js +184 -1
- package/dist/cli/index.d.ts +13 -0
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +25 -1
- package/dist/cli/types/api-responses.d.ts +93 -0
- package/dist/cli/types/api-responses.d.ts.map +1 -1
- package/dist/cli/types/index.d.ts +16 -0
- package/dist/cli/types/index.d.ts.map +1 -1
- package/dist/lib/cli/command-reference.d.ts +179 -0
- package/dist/lib/cli/command-reference.d.ts.map +1 -0
- package/dist/lib/cli/command-reference.js +210 -0
- package/dist/lib/detection/ansi.d.ts +14 -1
- package/dist/lib/detection/ansi.d.ts.map +1 -1
- package/dist/lib/detection/ansi.js +40 -3
- package/dist/lib/detection/status-reason.d.ts +28 -0
- package/dist/lib/detection/status-reason.d.ts.map +1 -1
- package/dist/lib/detection/status-reason.js +28 -0
- package/dist/lib/detection/tools/verified-against.d.ts +24 -24
- package/dist/lib/detection/tools/verified-against.js +24 -24
- package/dist/server/locales/en/worktree.json +1425 -0
- package/dist/server/locales/ja/worktree.json +1425 -0
- package/dist/server/src/lib/auto-yes-poller.js +26 -11
- package/dist/server/src/lib/db/chat-db.js +204 -7
- 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/v60-session-relays.js +110 -0
- package/dist/server/src/lib/db/relay-db.js +343 -0
- package/dist/server/src/lib/detection/ansi.js +40 -3
- package/dist/server/src/lib/detection/cli-patterns.js +157 -23
- package/dist/server/src/lib/detection/model-info-extractor.js +185 -4
- package/dist/server/src/lib/detection/selection-shape.js +72 -1
- package/dist/server/src/lib/detection/status-reason.js +28 -0
- package/dist/server/src/lib/detection/tools/antigravity/detect.js +105 -25
- package/dist/server/src/lib/detection/tools/antigravity/dialog.js +239 -0
- package/dist/server/src/lib/detection/tools/command-code/detect.js +33 -0
- package/dist/server/src/lib/detection/tools/verified-against.js +24 -24
- package/dist/server/src/lib/history/user-turn-recorder.js +79 -16
- package/dist/server/src/lib/hooks/hook-settings-generator.js +16 -0
- package/dist/server/src/lib/hooks/sources/claude/model-switch.js +169 -0
- package/dist/server/src/lib/hooks/sources/claude/source.js +14 -1
- package/dist/server/src/lib/polling/response-checker.js +55 -2
- package/dist/server/src/lib/polling/structured-history-gate.js +14 -1
- package/dist/server/src/lib/push/index.js +13 -1
- package/dist/server/src/lib/push/model-change-push-notifier.js +174 -0
- package/dist/server/src/lib/push/push-sender.js +48 -20
- package/dist/server/src/lib/realtime/model-change-broadcast.js +171 -0
- package/dist/server/src/lib/realtime/terminal-broadcast.js +5 -0
- package/dist/server/src/lib/realtime/types.js +19 -1
- package/dist/server/src/lib/realtime/waiting-broadcast.js +25 -0
- package/dist/server/src/lib/relay/relay-delivery.js +400 -0
- package/dist/server/src/lib/relay/relay-messages.js +144 -0
- package/dist/server/src/lib/relay/relay-policy.js +127 -0
- package/dist/server/src/lib/relay/relay-readiness.js +63 -0
- package/dist/server/src/lib/relay/relay-session-ref.js +72 -0
- package/dist/server/src/lib/relay/relay-system-line.js +79 -0
- package/dist/server/src/lib/relay/relay-triggers.js +177 -0
- package/dist/server/src/lib/relay/types.js +25 -0
- package/dist/server/src/lib/session/agent-event-state.js +344 -12
- package/dist/server/src/lib/session/current-output-builder.js +18 -0
- package/dist/server/src/lib/session/send-user-message.js +1 -0
- package/package.json +1 -1
- package/.next/server/chunks/1058.js +0 -1
- package/.next/server/chunks/1068.js +0 -1
- package/.next/server/chunks/1990.js +0 -103
- package/.next/server/chunks/261.js +0 -1
- package/.next/server/chunks/2739.js +0 -1
- package/.next/server/chunks/2839.js +0 -1
- package/.next/server/chunks/3869.js +0 -1
- package/.next/server/chunks/4325.js +0 -1
- package/.next/server/chunks/4393.js +0 -1
- package/.next/server/chunks/5017.js +0 -1
- package/.next/server/chunks/5120.js +0 -1
- package/.next/server/chunks/552.js +0 -25
- package/.next/server/chunks/6130.js +0 -1
- package/.next/server/chunks/6894.js +0 -8
- package/.next/server/chunks/7187.js +0 -1
- package/.next/server/chunks/7472.js +0 -1
- package/.next/server/chunks/7836.js +0 -1
- package/.next/server/chunks/7859.js +0 -21
- package/.next/server/chunks/9696.js +0 -3
- package/.next/server/chunks/9798.js +0 -2
- package/.next/static/GiOqe8rfQGQ0NvzB5qr3q/_buildManifest.js +0 -1
- package/.next/static/chunks/1783-11c9b4d8a52ebd91.js +0 -1
- package/.next/static/chunks/4718-0d4d93c4c75f336e.js +0 -1
- package/.next/static/chunks/6170-951b9f5fe6b4b3b5.js +0 -1
- package/.next/static/chunks/8019-f8e73c1fb5f6f0d3.js +0 -1
- package/.next/static/chunks/8593-fa0eb2802e0ce68a.js +0 -1
- package/.next/static/chunks/app/api/agents/update/route-ee11f7b8a34cba8c.js +0 -1
- package/.next/static/chunks/app/api/agents/versions/route-ee11f7b8a34cba8c.js +0 -1
- package/.next/static/chunks/app/api/app/update/route-ee11f7b8a34cba8c.js +0 -1
- package/.next/static/chunks/app/api/app/update-check/route-ee11f7b8a34cba8c.js +0 -1
- package/.next/static/chunks/app/api/assistant/conversation/route-ee11f7b8a34cba8c.js +0 -1
- package/.next/static/chunks/app/api/assistant/current-output/route-ee11f7b8a34cba8c.js +0 -1
- package/.next/static/chunks/app/api/assistant/messages/route-ee11f7b8a34cba8c.js +0 -1
- package/.next/static/chunks/app/api/assistant/session/route-ee11f7b8a34cba8c.js +0 -1
- package/.next/static/chunks/app/api/assistant/start/route-ee11f7b8a34cba8c.js +0 -1
- package/.next/static/chunks/app/api/assistant/terminal/route-ee11f7b8a34cba8c.js +0 -1
- package/.next/static/chunks/app/api/assistant/tools/route-ee11f7b8a34cba8c.js +0 -1
- package/.next/static/chunks/app/api/auth/login/route-ee11f7b8a34cba8c.js +0 -1
- package/.next/static/chunks/app/api/auth/logout/route-ee11f7b8a34cba8c.js +0 -1
- package/.next/static/chunks/app/api/auth/status/route-ee11f7b8a34cba8c.js +0 -1
- package/.next/static/chunks/app/api/capabilities/route-ee11f7b8a34cba8c.js +0 -1
- package/.next/static/chunks/app/api/daily-summary/route-ee11f7b8a34cba8c.js +0 -1
- package/.next/static/chunks/app/api/daily-summary/status/route-ee11f7b8a34cba8c.js +0 -1
- package/.next/static/chunks/app/api/external-apps/[id]/health/route-ee11f7b8a34cba8c.js +0 -1
- package/.next/static/chunks/app/api/external-apps/[id]/route-ee11f7b8a34cba8c.js +0 -1
- package/.next/static/chunks/app/api/external-apps/route-ee11f7b8a34cba8c.js +0 -1
- package/.next/static/chunks/app/api/fs/browse/route-ee11f7b8a34cba8c.js +0 -1
- package/.next/static/chunks/app/api/fs/recent-paths/route-ee11f7b8a34cba8c.js +0 -1
- package/.next/static/chunks/app/api/hooks/agent-event/route-ee11f7b8a34cba8c.js +0 -1
- package/.next/static/chunks/app/api/hooks/claude-done/route-ee11f7b8a34cba8c.js +0 -1
- package/.next/static/chunks/app/api/hooks/permission-request/route-ee11f7b8a34cba8c.js +0 -1
- package/.next/static/chunks/app/api/metrics/vibe/route-ee11f7b8a34cba8c.js +0 -1
- package/.next/static/chunks/app/api/ollama/models/route-ee11f7b8a34cba8c.js +0 -1
- package/.next/static/chunks/app/api/push/escalation/route-ee11f7b8a34cba8c.js +0 -1
- package/.next/static/chunks/app/api/push/subscriptions/route-ee11f7b8a34cba8c.js +0 -1
- package/.next/static/chunks/app/api/push/vapid/route-ee11f7b8a34cba8c.js +0 -1
- package/.next/static/chunks/app/api/remote/pair/route-ee11f7b8a34cba8c.js +0 -1
- package/.next/static/chunks/app/api/repositories/[id]/route-ee11f7b8a34cba8c.js +0 -1
- package/.next/static/chunks/app/api/repositories/[id]/todos/[todoId]/route-ee11f7b8a34cba8c.js +0 -1
- package/.next/static/chunks/app/api/repositories/[id]/todos/route-ee11f7b8a34cba8c.js +0 -1
- package/.next/static/chunks/app/api/repositories/clone/[jobId]/route-ee11f7b8a34cba8c.js +0 -1
- package/.next/static/chunks/app/api/repositories/clone/route-ee11f7b8a34cba8c.js +0 -1
- package/.next/static/chunks/app/api/repositories/excluded/route-ee11f7b8a34cba8c.js +0 -1
- package/.next/static/chunks/app/api/repositories/restore/route-ee11f7b8a34cba8c.js +0 -1
- package/.next/static/chunks/app/api/repositories/route-ee11f7b8a34cba8c.js +0 -1
- package/.next/static/chunks/app/api/repositories/scan/route-ee11f7b8a34cba8c.js +0 -1
- package/.next/static/chunks/app/api/repositories/sync/route-ee11f7b8a34cba8c.js +0 -1
- package/.next/static/chunks/app/api/repositories/validate-path/route-ee11f7b8a34cba8c.js +0 -1
- package/.next/static/chunks/app/api/settings/default-agents/route-ee11f7b8a34cba8c.js +0 -1
- package/.next/static/chunks/app/api/settings/default-surface-mode/route-ee11f7b8a34cba8c.js +0 -1
- package/.next/static/chunks/app/api/sidebar/group-order/route-ee11f7b8a34cba8c.js +0 -1
- package/.next/static/chunks/app/api/skills/[id]/route-ee11f7b8a34cba8c.js +0 -1
- package/.next/static/chunks/app/api/skills/installations/route-ee11f7b8a34cba8c.js +0 -1
- package/.next/static/chunks/app/api/skills/operations/route-ee11f7b8a34cba8c.js +0 -1
- package/.next/static/chunks/app/api/skills/reindex/route-ee11f7b8a34cba8c.js +0 -1
- package/.next/static/chunks/app/api/skills/route-ee11f7b8a34cba8c.js +0 -1
- package/.next/static/chunks/app/api/slash-commands/route-ee11f7b8a34cba8c.js +0 -1
- package/.next/static/chunks/app/api/tasks/[taskId]/cancel/route-ee11f7b8a34cba8c.js +0 -1
- package/.next/static/chunks/app/api/tasks/[taskId]/route-ee11f7b8a34cba8c.js +0 -1
- package/.next/static/chunks/app/api/templates/[id]/route-ee11f7b8a34cba8c.js +0 -1
- package/.next/static/chunks/app/api/templates/route-ee11f7b8a34cba8c.js +0 -1
- package/.next/static/chunks/app/api/todos/route-ee11f7b8a34cba8c.js +0 -1
- package/.next/static/chunks/app/api/verification/runs/[runId]/route-ee11f7b8a34cba8c.js +0 -1
- package/.next/static/chunks/app/api/verification/runs/route-ee11f7b8a34cba8c.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/auto-yes/route-ee11f7b8a34cba8c.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/capture/route-ee11f7b8a34cba8c.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/clear-composer/route-ee11f7b8a34cba8c.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/cli-reference/route-ee11f7b8a34cba8c.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/cli-tool/route-ee11f7b8a34cba8c.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/cmate/schedules/route-ee11f7b8a34cba8c.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/current-output/route-ee11f7b8a34cba8c.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/env/route-ee11f7b8a34cba8c.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/execution-logs/[logId]/route-ee11f7b8a34cba8c.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/execution-logs/route-ee11f7b8a34cba8c.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/files/[...path]/route-ee11f7b8a34cba8c.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/branch/create/route-ee11f7b8a34cba8c.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/branch/delete/route-ee11f7b8a34cba8c.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/branches/route-ee11f7b8a34cba8c.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/checkout/route-ee11f7b8a34cba8c.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/commit/route-ee11f7b8a34cba8c.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/diff/route-ee11f7b8a34cba8c.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/fetch/route-ee11f7b8a34cba8c.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/log/route-ee11f7b8a34cba8c.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/pull/route-ee11f7b8a34cba8c.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/push/route-ee11f7b8a34cba8c.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/reset/route-ee11f7b8a34cba8c.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/revert/route-ee11f7b8a34cba8c.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/show/[commitHash]/route-ee11f7b8a34cba8c.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/stage/route-ee11f7b8a34cba8c.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/staged/route-ee11f7b8a34cba8c.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/stash/[index]/route-ee11f7b8a34cba8c.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/stash/apply/route-ee11f7b8a34cba8c.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/stash/pop/route-ee11f7b8a34cba8c.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/stash/push/route-ee11f7b8a34cba8c.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/stash/route-ee11f7b8a34cba8c.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/status/route-ee11f7b8a34cba8c.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/unstage/route-ee11f7b8a34cba8c.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/working-diff/route-ee11f7b8a34cba8c.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/instances/opencode/route-ee11f7b8a34cba8c.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/interrupt/route-ee11f7b8a34cba8c.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/kill-session/route-ee11f7b8a34cba8c.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/logs/[filename]/route-ee11f7b8a34cba8c.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/logs/route-ee11f7b8a34cba8c.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/marp-render/route-ee11f7b8a34cba8c.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/memos/[memoId]/route-ee11f7b8a34cba8c.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/memos/route-ee11f7b8a34cba8c.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/messages/route-ee11f7b8a34cba8c.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/opencode/diff/route-ee11f7b8a34cba8c.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/opencode/session/route-ee11f7b8a34cba8c.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/opencode/share/route-ee11f7b8a34cba8c.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/prompt-response/route-ee11f7b8a34cba8c.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/resolve-target/route-ee11f7b8a34cba8c.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/respond/route-ee11f7b8a34cba8c.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/route-ee11f7b8a34cba8c.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/schedules/[scheduleId]/route-ee11f7b8a34cba8c.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/schedules/active/route-ee11f7b8a34cba8c.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/schedules/route-ee11f7b8a34cba8c.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/search/route-ee11f7b8a34cba8c.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/send/route-ee11f7b8a34cba8c.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/git-workflow/route-ee11f7b8a34cba8c.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/install/route-ee11f7b8a34cba8c.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/plan/route-ee11f7b8a34cba8c.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/uninstall/route-ee11f7b8a34cba8c.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/uninstall-plan/route-ee11f7b8a34cba8c.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/update/route-ee11f7b8a34cba8c.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/update-plan/route-ee11f7b8a34cba8c.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/skills/route-ee11f7b8a34cba8c.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/slash-commands/route-ee11f7b8a34cba8c.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/special-keys/route-ee11f7b8a34cba8c.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/tasks/route-ee11f7b8a34cba8c.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/terminal/route-ee11f7b8a34cba8c.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/timers/history/route-ee11f7b8a34cba8c.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/timers/route-ee11f7b8a34cba8c.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/todos/[todoId]/route-ee11f7b8a34cba8c.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/todos/route-ee11f7b8a34cba8c.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/tree/[...path]/route-ee11f7b8a34cba8c.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/tree/route-ee11f7b8a34cba8c.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/upload/[...path]/route-ee11f7b8a34cba8c.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/verify/config/route-ee11f7b8a34cba8c.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/verify/route-ee11f7b8a34cba8c.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/verify/runs/[runId]/cancel/route-ee11f7b8a34cba8c.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/verify/runs/[runId]/route-ee11f7b8a34cba8c.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/verify/runs/route-ee11f7b8a34cba8c.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/viewed/route-ee11f7b8a34cba8c.js +0 -1
- package/.next/static/chunks/app/api/worktrees/apply-default-agents/route-ee11f7b8a34cba8c.js +0 -1
- package/.next/static/chunks/app/api/worktrees/route-ee11f7b8a34cba8c.js +0 -1
- package/.next/static/chunks/app/manifest.webmanifest/route-ee11f7b8a34cba8c.js +0 -1
- package/.next/static/chunks/app/proxy/[...path]/route-ee11f7b8a34cba8c.js +0 -1
- package/.next/static/chunks/app/worktrees/[id]/layout-ee11f7b8a34cba8c.js +0 -1
- package/.next/static/chunks/app/worktrees/[id]/page-7a0915e32a2af4d3.js +0 -1
- package/.next/static/chunks/webpack-9f75198882fdaf08.js +0 -1
- package/.next/static/css/5c13ea243dfdcb66.css +0 -1
- /package/.next/static/{GiOqe8rfQGQ0NvzB5qr3q → UIUPchtWvcEuQgcbGJv4g}/_ssgManifest.js +0 -0
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* How a CommandMate CLI command is spelled — the single source both the
|
|
3
|
+
* assistant context and the GUI read (Issue #2120).
|
|
4
|
+
*
|
|
5
|
+
* ## Why this file exists
|
|
6
|
+
*
|
|
7
|
+
* `resolveCommandMateBinary()` used to be a module-private function inside
|
|
8
|
+
* `src/lib/assistant/context-builder.ts`, where only the assistant prompt could
|
|
9
|
+
* see it. Issue #2120 puts the same four commands on screen in the roster pane,
|
|
10
|
+
* and a second copy of the `commandmate` / `commandmatedev` rule would be a
|
|
11
|
+
* second authority on the one thing the operator pastes into a shell: a
|
|
12
|
+
* development checkout would keep telling the assistant `commandmatedev` while
|
|
13
|
+
* telling the human `commandmate`, and the human's copy would simply not be on
|
|
14
|
+
* their PATH. So the rule moved here and both callers import it.
|
|
15
|
+
*
|
|
16
|
+
* ## Isomorphic on purpose
|
|
17
|
+
*
|
|
18
|
+
* {@link buildInstanceCliCommands} and {@link buildDelegationBrief} are pure
|
|
19
|
+
* functions of strings so the browser can call them.
|
|
20
|
+
* {@link resolveCommandMateBinary} reads an environment and is meant for the
|
|
21
|
+
* server — a client component cannot read `CM_LAUNCHED_BY` (Next.js inlines
|
|
22
|
+
* only `NEXT_PUBLIC_*` into the browser bundle), which is why
|
|
23
|
+
* `GET /api/worktrees/:id/cli-reference` exists to hand the answer down.
|
|
24
|
+
*
|
|
25
|
+
* Nothing here touches a DOM, and that is load-bearing rather than incidental:
|
|
26
|
+
* `commandmate peers` imports {@link resolveCommandMateBinary} from this file,
|
|
27
|
+
* and the CLI build (`tsconfig.cli.json`) has no DOM lib at all. The delegation
|
|
28
|
+
* brief's delivery into a composer therefore lives with the components that
|
|
29
|
+
* deliver it — see `insertIntoVisibleComposer` in
|
|
30
|
+
* `src/components/common/CommandPalette.tsx` (Issue #2376).
|
|
31
|
+
*/
|
|
32
|
+
/** The binary name a globally installed CommandMate puts on PATH. */
|
|
33
|
+
export declare const COMMANDMATE_GLOBAL_BINARY = "commandmate";
|
|
34
|
+
/**
|
|
35
|
+
* The binary name a repository checkout puts on PATH (`npm link` in this repo).
|
|
36
|
+
*
|
|
37
|
+
* Not a fallback in the "we could not tell" sense: `commandmate start` sets
|
|
38
|
+
* `CM_LAUNCHED_BY=commandmate-cli` on itself and on the server child it spawns
|
|
39
|
+
* (`src/cli/commands/start.ts`), so a server that was NOT started that way was
|
|
40
|
+
* started from a checkout, and `commandmatedev` is the command that exists.
|
|
41
|
+
*/
|
|
42
|
+
export declare const COMMANDMATE_DEV_BINARY = "commandmatedev";
|
|
43
|
+
/** The marker `commandmate start` stamps on the server process it launches. */
|
|
44
|
+
export declare const COMMANDMATE_CLI_LAUNCH_MARKER = "commandmate-cli";
|
|
45
|
+
/**
|
|
46
|
+
* The port a copied command does not have to name.
|
|
47
|
+
*
|
|
48
|
+
* `src/lib/env.ts` keeps its own private `DEFAULT_PORT` for the server's own
|
|
49
|
+
* binding; this constant answers a different question — "must the pasted line
|
|
50
|
+
* carry a `CM_PORT=` prefix?" — and is exported because the API route that
|
|
51
|
+
* decides it and the builder that renders it are in different layers.
|
|
52
|
+
*/
|
|
53
|
+
export declare const DEFAULT_SERVER_PORT = 3000;
|
|
54
|
+
/** The binary name to spell CommandMate commands with. */
|
|
55
|
+
export type CommandMateBinary = typeof COMMANDMATE_GLOBAL_BINARY | typeof COMMANDMATE_DEV_BINARY;
|
|
56
|
+
/**
|
|
57
|
+
* Which binary name the CLI commands aimed at THIS server should use.
|
|
58
|
+
*
|
|
59
|
+
* @param env - The environment to read; defaults to the server's own
|
|
60
|
+
* @returns `commandmate` when the server was started by the installed CLI,
|
|
61
|
+
* `commandmatedev` otherwise
|
|
62
|
+
*/
|
|
63
|
+
export declare function resolveCommandMateBinary(env?: Readonly<Record<string, string | undefined>>): CommandMateBinary;
|
|
64
|
+
/** The four session-targeting commands the roster pane offers, in display order. */
|
|
65
|
+
export declare const INSTANCE_CLI_COMMAND_IDS: readonly ["send", "wait", "capture", "respond"];
|
|
66
|
+
export type InstanceCliCommandId = (typeof INSTANCE_CLI_COMMAND_IDS)[number];
|
|
67
|
+
/**
|
|
68
|
+
* The answer `respond` is shown with.
|
|
69
|
+
*
|
|
70
|
+
* A NUMBER, never `yes`. `respond` hands its argument to the pane as keystrokes
|
|
71
|
+
* and does not resolve it semantically, so `yes` on a multiple-choice dialog is
|
|
72
|
+
* typed, ignored, and followed by Enter — which picks whatever the DEFAULT
|
|
73
|
+
* option happens to be. The number is the only form that selects what the
|
|
74
|
+
* operator meant. The note beside the command says so; this constant is what
|
|
75
|
+
* keeps the example itself from teaching the wrong habit.
|
|
76
|
+
*/
|
|
77
|
+
export declare const RESPOND_ANSWER_EXAMPLE = "1";
|
|
78
|
+
export interface InstanceCliCommandInput {
|
|
79
|
+
/** From {@link resolveCommandMateBinary}, never hardcoded by the caller. */
|
|
80
|
+
binary: string;
|
|
81
|
+
/** The worktree id as the CLI must be given it. */
|
|
82
|
+
worktreeId: string;
|
|
83
|
+
/**
|
|
84
|
+
* The instance id **as the server resolved it**
|
|
85
|
+
* (`GET /api/worktrees/:id/resolve-target`). Never a roster row read directly:
|
|
86
|
+
* Issue #1925 is the record of what two authorities answering this question
|
|
87
|
+
* cost.
|
|
88
|
+
*/
|
|
89
|
+
instanceId: string;
|
|
90
|
+
/**
|
|
91
|
+
* The port to name in a `CM_PORT=` prefix, or null when this server is on
|
|
92
|
+
* {@link DEFAULT_SERVER_PORT} and the prefix would be noise.
|
|
93
|
+
*
|
|
94
|
+
* There is deliberately no `--port` flag here: `send` / `wait` / `capture` /
|
|
95
|
+
* `respond` do not define one (only `start` / `stop` / `status` do), so a
|
|
96
|
+
* pasted `--port 3135` would be rejected by commander as an unknown option.
|
|
97
|
+
* `CM_PORT=<n> commandmate ls` is the documented way to aim one invocation at
|
|
98
|
+
* a non-default server (see `loadClientEnv()` in `src/cli/utils/server-url.ts`).
|
|
99
|
+
*/
|
|
100
|
+
portPrefix?: number | null;
|
|
101
|
+
/** Localized stand-in for the message body, e.g. `メッセージ`. */
|
|
102
|
+
messagePlaceholder: string;
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Render the four commands that address one agent instance.
|
|
106
|
+
*
|
|
107
|
+
* The message body stays a PLACEHOLDER. Quoting a real body correctly in the
|
|
108
|
+
* browser means getting Japanese text, newlines and embedded quotes past a
|
|
109
|
+
* shell whose dialect this code cannot see, and a near-miss does not fail
|
|
110
|
+
* loudly — it sends a truncated prompt to a live agent.
|
|
111
|
+
*
|
|
112
|
+
* `worktreeId` and `instanceId` need no quoting of their own: both are
|
|
113
|
+
* validated before they can reach a roster row or this route
|
|
114
|
+
* (`isValidWorktreeId` / `isValidInstanceId` allow no shell metacharacter).
|
|
115
|
+
*
|
|
116
|
+
* @param input - Binary, target and presentation details
|
|
117
|
+
* @returns One shell line per command id
|
|
118
|
+
*/
|
|
119
|
+
export declare function buildInstanceCliCommands(input: InstanceCliCommandInput): Record<InstanceCliCommandId, string>;
|
|
120
|
+
/**
|
|
121
|
+
* `--timeout` the brief tells session A to use, in seconds.
|
|
122
|
+
*
|
|
123
|
+
* 30 minutes. Long enough that an ordinary implementation request is not cut
|
|
124
|
+
* off mid-turn, short enough that a session which died in its pane surfaces as
|
|
125
|
+
* an exit 124 in the same sitting rather than at the end of the day. A caller
|
|
126
|
+
* who wants a different one edits the line — it is a brief, not a config.
|
|
127
|
+
*/
|
|
128
|
+
export declare const DELEGATION_ASK_TIMEOUT_SECONDS = 1800;
|
|
129
|
+
/** The locales the brief is written in. Anything else falls back to English. */
|
|
130
|
+
export type DelegationBriefLocale = 'ja' | 'en';
|
|
131
|
+
export interface DelegationBriefInput {
|
|
132
|
+
/** From {@link resolveCommandMateBinary}, never hardcoded by the caller. */
|
|
133
|
+
binary: string;
|
|
134
|
+
/** The worktree id as the CLI must be given it. */
|
|
135
|
+
worktreeId: string;
|
|
136
|
+
/**
|
|
137
|
+
* The instance id **as the server resolved it**
|
|
138
|
+
* (`GET /api/worktrees/:id/resolve-target`) — the same rule
|
|
139
|
+
* {@link InstanceCliCommandInput.instanceId} states, for the same reason.
|
|
140
|
+
*/
|
|
141
|
+
instanceId: string;
|
|
142
|
+
/** The roster alias of the target instance, e.g. `Codex 2`. */
|
|
143
|
+
instanceLabel: string;
|
|
144
|
+
/** Display name of the CLI tool behind the instance, e.g. `Codex`. */
|
|
145
|
+
toolLabel: string;
|
|
146
|
+
/** As {@link InstanceCliCommandInput.portPrefix}. */
|
|
147
|
+
portPrefix?: number | null;
|
|
148
|
+
/** UI locale. Anything but `ja` is written in English. */
|
|
149
|
+
locale: string;
|
|
150
|
+
}
|
|
151
|
+
/**
|
|
152
|
+
* The paragraph one agent session pastes to another agent session's operator —
|
|
153
|
+
* "here is how you delegate to that session" — in the UI's own language.
|
|
154
|
+
*
|
|
155
|
+
* ## Why it lives beside {@link buildInstanceCliCommands}
|
|
156
|
+
*
|
|
157
|
+
* Both answer the same question (how is a CommandMate command aimed at ONE
|
|
158
|
+
* instance spelled?) from the same two server reads, and Issue #2120 already
|
|
159
|
+
* paid for learning that a second copy of the binary-name rule is a copy that
|
|
160
|
+
* tells the human one thing and the assistant another. The panel and the brief
|
|
161
|
+
* therefore share this module, and neither composes a command from what the
|
|
162
|
+
* browser happens to know.
|
|
163
|
+
*
|
|
164
|
+
* ## Why the text is here rather than in `locales/`
|
|
165
|
+
*
|
|
166
|
+
* It is a PROMPT, not a label. The whole value of it is that the four exit
|
|
167
|
+
* codes, the "do not answer their prompt" rule and the command spellings arrive
|
|
168
|
+
* together and unedited; a translator moving a line between keys, or a key
|
|
169
|
+
* resolving to its own name because the namespace was renamed, produces a brief
|
|
170
|
+
* that still looks like a brief and quietly drops the one clause that stops
|
|
171
|
+
* session A from answering session B's permission dialog. The two languages are
|
|
172
|
+
* written out in full, side by side, so a change to one is visibly a change to
|
|
173
|
+
* the other.
|
|
174
|
+
*
|
|
175
|
+
* @param input - Binary, target and locale
|
|
176
|
+
* @returns The brief, ready to be inserted into a composer
|
|
177
|
+
*/
|
|
178
|
+
export declare function buildDelegationBrief(input: DelegationBriefInput): string;
|
|
179
|
+
//# sourceMappingURL=command-reference.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"command-reference.d.ts","sourceRoot":"","sources":["../../../src/lib/cli/command-reference.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEH,qEAAqE;AACrE,eAAO,MAAM,yBAAyB,gBAAgB,CAAC;AAEvD;;;;;;;GAOG;AACH,eAAO,MAAM,sBAAsB,mBAAmB,CAAC;AAEvD,+EAA+E;AAC/E,eAAO,MAAM,6BAA6B,oBAAoB,CAAC;AAE/D;;;;;;;GAOG;AACH,eAAO,MAAM,mBAAmB,OAAO,CAAC;AAExC,0DAA0D;AAC1D,MAAM,MAAM,iBAAiB,GACzB,OAAO,yBAAyB,GAChC,OAAO,sBAAsB,CAAC;AAElC;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CACtC,GAAG,GAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAe,GAC9D,iBAAiB,CAInB;AAED,oFAAoF;AACpF,eAAO,MAAM,wBAAwB,iDAAkD,CAAC;AAExF,MAAM,MAAM,oBAAoB,GAAG,CAAC,OAAO,wBAAwB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE7E;;;;;;;;;GASG;AACH,eAAO,MAAM,sBAAsB,MAAM,CAAC;AAE1C,MAAM,WAAW,uBAAuB;IACtC,4EAA4E;IAC5E,MAAM,EAAE,MAAM,CAAC;IACf,mDAAmD;IACnD,UAAU,EAAE,MAAM,CAAC;IACnB;;;;;OAKG;IACH,UAAU,EAAE,MAAM,CAAC;IACnB;;;;;;;;;OASG;IACH,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,6DAA6D;IAC7D,kBAAkB,EAAE,MAAM,CAAC;CAC5B;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,uBAAuB,GAC7B,MAAM,CAAC,oBAAoB,EAAE,MAAM,CAAC,CAmBtC;AAMD;;;;;;;GAOG;AACH,eAAO,MAAM,8BAA8B,OAAO,CAAC;AAUnD,gFAAgF;AAChF,MAAM,MAAM,qBAAqB,GAAG,IAAI,GAAG,IAAI,CAAC;AAEhD,MAAM,WAAW,oBAAoB;IACnC,4EAA4E;IAC5E,MAAM,EAAE,MAAM,CAAC;IACf,mDAAmD;IACnD,UAAU,EAAE,MAAM,CAAC;IACnB;;;;OAIG;IACH,UAAU,EAAE,MAAM,CAAC;IACnB,+DAA+D;IAC/D,aAAa,EAAE,MAAM,CAAC;IACtB,sEAAsE;IACtE,SAAS,EAAE,MAAM,CAAC;IAClB,qDAAqD;IACrD,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,0DAA0D;IAC1D,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,oBAAoB,GAAG,MAAM,CAqDxE"}
|
|
@@ -0,0 +1,210 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* How a CommandMate CLI command is spelled — the single source both the
|
|
4
|
+
* assistant context and the GUI read (Issue #2120).
|
|
5
|
+
*
|
|
6
|
+
* ## Why this file exists
|
|
7
|
+
*
|
|
8
|
+
* `resolveCommandMateBinary()` used to be a module-private function inside
|
|
9
|
+
* `src/lib/assistant/context-builder.ts`, where only the assistant prompt could
|
|
10
|
+
* see it. Issue #2120 puts the same four commands on screen in the roster pane,
|
|
11
|
+
* and a second copy of the `commandmate` / `commandmatedev` rule would be a
|
|
12
|
+
* second authority on the one thing the operator pastes into a shell: a
|
|
13
|
+
* development checkout would keep telling the assistant `commandmatedev` while
|
|
14
|
+
* telling the human `commandmate`, and the human's copy would simply not be on
|
|
15
|
+
* their PATH. So the rule moved here and both callers import it.
|
|
16
|
+
*
|
|
17
|
+
* ## Isomorphic on purpose
|
|
18
|
+
*
|
|
19
|
+
* {@link buildInstanceCliCommands} and {@link buildDelegationBrief} are pure
|
|
20
|
+
* functions of strings so the browser can call them.
|
|
21
|
+
* {@link resolveCommandMateBinary} reads an environment and is meant for the
|
|
22
|
+
* server — a client component cannot read `CM_LAUNCHED_BY` (Next.js inlines
|
|
23
|
+
* only `NEXT_PUBLIC_*` into the browser bundle), which is why
|
|
24
|
+
* `GET /api/worktrees/:id/cli-reference` exists to hand the answer down.
|
|
25
|
+
*
|
|
26
|
+
* Nothing here touches a DOM, and that is load-bearing rather than incidental:
|
|
27
|
+
* `commandmate peers` imports {@link resolveCommandMateBinary} from this file,
|
|
28
|
+
* and the CLI build (`tsconfig.cli.json`) has no DOM lib at all. The delegation
|
|
29
|
+
* brief's delivery into a composer therefore lives with the components that
|
|
30
|
+
* deliver it — see `insertIntoVisibleComposer` in
|
|
31
|
+
* `src/components/common/CommandPalette.tsx` (Issue #2376).
|
|
32
|
+
*/
|
|
33
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
34
|
+
exports.DELEGATION_ASK_TIMEOUT_SECONDS = exports.RESPOND_ANSWER_EXAMPLE = exports.INSTANCE_CLI_COMMAND_IDS = exports.DEFAULT_SERVER_PORT = exports.COMMANDMATE_CLI_LAUNCH_MARKER = exports.COMMANDMATE_DEV_BINARY = exports.COMMANDMATE_GLOBAL_BINARY = void 0;
|
|
35
|
+
exports.resolveCommandMateBinary = resolveCommandMateBinary;
|
|
36
|
+
exports.buildInstanceCliCommands = buildInstanceCliCommands;
|
|
37
|
+
exports.buildDelegationBrief = buildDelegationBrief;
|
|
38
|
+
/** The binary name a globally installed CommandMate puts on PATH. */
|
|
39
|
+
exports.COMMANDMATE_GLOBAL_BINARY = 'commandmate';
|
|
40
|
+
/**
|
|
41
|
+
* The binary name a repository checkout puts on PATH (`npm link` in this repo).
|
|
42
|
+
*
|
|
43
|
+
* Not a fallback in the "we could not tell" sense: `commandmate start` sets
|
|
44
|
+
* `CM_LAUNCHED_BY=commandmate-cli` on itself and on the server child it spawns
|
|
45
|
+
* (`src/cli/commands/start.ts`), so a server that was NOT started that way was
|
|
46
|
+
* started from a checkout, and `commandmatedev` is the command that exists.
|
|
47
|
+
*/
|
|
48
|
+
exports.COMMANDMATE_DEV_BINARY = 'commandmatedev';
|
|
49
|
+
/** The marker `commandmate start` stamps on the server process it launches. */
|
|
50
|
+
exports.COMMANDMATE_CLI_LAUNCH_MARKER = 'commandmate-cli';
|
|
51
|
+
/**
|
|
52
|
+
* The port a copied command does not have to name.
|
|
53
|
+
*
|
|
54
|
+
* `src/lib/env.ts` keeps its own private `DEFAULT_PORT` for the server's own
|
|
55
|
+
* binding; this constant answers a different question — "must the pasted line
|
|
56
|
+
* carry a `CM_PORT=` prefix?" — and is exported because the API route that
|
|
57
|
+
* decides it and the builder that renders it are in different layers.
|
|
58
|
+
*/
|
|
59
|
+
exports.DEFAULT_SERVER_PORT = 3000;
|
|
60
|
+
/**
|
|
61
|
+
* Which binary name the CLI commands aimed at THIS server should use.
|
|
62
|
+
*
|
|
63
|
+
* @param env - The environment to read; defaults to the server's own
|
|
64
|
+
* @returns `commandmate` when the server was started by the installed CLI,
|
|
65
|
+
* `commandmatedev` otherwise
|
|
66
|
+
*/
|
|
67
|
+
function resolveCommandMateBinary(env = process.env) {
|
|
68
|
+
return env.CM_LAUNCHED_BY === exports.COMMANDMATE_CLI_LAUNCH_MARKER
|
|
69
|
+
? exports.COMMANDMATE_GLOBAL_BINARY
|
|
70
|
+
: exports.COMMANDMATE_DEV_BINARY;
|
|
71
|
+
}
|
|
72
|
+
/** The four session-targeting commands the roster pane offers, in display order. */
|
|
73
|
+
exports.INSTANCE_CLI_COMMAND_IDS = ['send', 'wait', 'capture', 'respond'];
|
|
74
|
+
/**
|
|
75
|
+
* The answer `respond` is shown with.
|
|
76
|
+
*
|
|
77
|
+
* A NUMBER, never `yes`. `respond` hands its argument to the pane as keystrokes
|
|
78
|
+
* and does not resolve it semantically, so `yes` on a multiple-choice dialog is
|
|
79
|
+
* typed, ignored, and followed by Enter — which picks whatever the DEFAULT
|
|
80
|
+
* option happens to be. The number is the only form that selects what the
|
|
81
|
+
* operator meant. The note beside the command says so; this constant is what
|
|
82
|
+
* keeps the example itself from teaching the wrong habit.
|
|
83
|
+
*/
|
|
84
|
+
exports.RESPOND_ANSWER_EXAMPLE = '1';
|
|
85
|
+
/**
|
|
86
|
+
* Render the four commands that address one agent instance.
|
|
87
|
+
*
|
|
88
|
+
* The message body stays a PLACEHOLDER. Quoting a real body correctly in the
|
|
89
|
+
* browser means getting Japanese text, newlines and embedded quotes past a
|
|
90
|
+
* shell whose dialect this code cannot see, and a near-miss does not fail
|
|
91
|
+
* loudly — it sends a truncated prompt to a live agent.
|
|
92
|
+
*
|
|
93
|
+
* `worktreeId` and `instanceId` need no quoting of their own: both are
|
|
94
|
+
* validated before they can reach a roster row or this route
|
|
95
|
+
* (`isValidWorktreeId` / `isValidInstanceId` allow no shell metacharacter).
|
|
96
|
+
*
|
|
97
|
+
* @param input - Binary, target and presentation details
|
|
98
|
+
* @returns One shell line per command id
|
|
99
|
+
*/
|
|
100
|
+
function buildInstanceCliCommands(input) {
|
|
101
|
+
const { binary, worktreeId, instanceId, messagePlaceholder } = input;
|
|
102
|
+
const prefix = input.portPrefix != null && input.portPrefix !== exports.DEFAULT_SERVER_PORT
|
|
103
|
+
? `CM_PORT=${input.portPrefix} `
|
|
104
|
+
: '';
|
|
105
|
+
const target = `--instance ${instanceId}`;
|
|
106
|
+
const head = `${prefix}${binary}`;
|
|
107
|
+
return {
|
|
108
|
+
send: `${head} send ${worktreeId} "${messagePlaceholder}" ${target}`,
|
|
109
|
+
// `--on-prompt human` is part of the copied line, not an afterthought: the
|
|
110
|
+
// default (`agent`) exits 10 the moment a prompt appears, which is right
|
|
111
|
+
// for a script polling in a loop and useless for the operator who just
|
|
112
|
+
// pasted a wait into their own terminal.
|
|
113
|
+
wait: `${head} wait ${worktreeId} ${target} --on-prompt human`,
|
|
114
|
+
capture: `${head} capture ${worktreeId} ${target}`,
|
|
115
|
+
respond: `${head} respond ${worktreeId} "${exports.RESPOND_ANSWER_EXAMPLE}" ${target}`,
|
|
116
|
+
};
|
|
117
|
+
}
|
|
118
|
+
// ===========================================================================
|
|
119
|
+
// Delegation brief (Issue #2376)
|
|
120
|
+
// ===========================================================================
|
|
121
|
+
/**
|
|
122
|
+
* `--timeout` the brief tells session A to use, in seconds.
|
|
123
|
+
*
|
|
124
|
+
* 30 minutes. Long enough that an ordinary implementation request is not cut
|
|
125
|
+
* off mid-turn, short enough that a session which died in its pane surfaces as
|
|
126
|
+
* an exit 124 in the same sitting rather than at the end of the day. A caller
|
|
127
|
+
* who wants a different one edits the line — it is a brief, not a config.
|
|
128
|
+
*/
|
|
129
|
+
exports.DELEGATION_ASK_TIMEOUT_SECONDS = 1800;
|
|
130
|
+
/**
|
|
131
|
+
* Rows of pane transcript the brief's progress-check line asks for.
|
|
132
|
+
*
|
|
133
|
+
* Matches what `capture --pane --tail 60` shows a human: enough to see what the
|
|
134
|
+
* other session is doing, short enough to paste into a report.
|
|
135
|
+
*/
|
|
136
|
+
const DELEGATION_CAPTURE_TAIL = 60;
|
|
137
|
+
/**
|
|
138
|
+
* The paragraph one agent session pastes to another agent session's operator —
|
|
139
|
+
* "here is how you delegate to that session" — in the UI's own language.
|
|
140
|
+
*
|
|
141
|
+
* ## Why it lives beside {@link buildInstanceCliCommands}
|
|
142
|
+
*
|
|
143
|
+
* Both answer the same question (how is a CommandMate command aimed at ONE
|
|
144
|
+
* instance spelled?) from the same two server reads, and Issue #2120 already
|
|
145
|
+
* paid for learning that a second copy of the binary-name rule is a copy that
|
|
146
|
+
* tells the human one thing and the assistant another. The panel and the brief
|
|
147
|
+
* therefore share this module, and neither composes a command from what the
|
|
148
|
+
* browser happens to know.
|
|
149
|
+
*
|
|
150
|
+
* ## Why the text is here rather than in `locales/`
|
|
151
|
+
*
|
|
152
|
+
* It is a PROMPT, not a label. The whole value of it is that the four exit
|
|
153
|
+
* codes, the "do not answer their prompt" rule and the command spellings arrive
|
|
154
|
+
* together and unedited; a translator moving a line between keys, or a key
|
|
155
|
+
* resolving to its own name because the namespace was renamed, produces a brief
|
|
156
|
+
* that still looks like a brief and quietly drops the one clause that stops
|
|
157
|
+
* session A from answering session B's permission dialog. The two languages are
|
|
158
|
+
* written out in full, side by side, so a change to one is visibly a change to
|
|
159
|
+
* the other.
|
|
160
|
+
*
|
|
161
|
+
* @param input - Binary, target and locale
|
|
162
|
+
* @returns The brief, ready to be inserted into a composer
|
|
163
|
+
*/
|
|
164
|
+
function buildDelegationBrief(input) {
|
|
165
|
+
const { binary, worktreeId, instanceId, instanceLabel, toolLabel } = input;
|
|
166
|
+
const prefix = input.portPrefix != null && input.portPrefix !== exports.DEFAULT_SERVER_PORT
|
|
167
|
+
? `CM_PORT=${input.portPrefix} `
|
|
168
|
+
: '';
|
|
169
|
+
const head = `${prefix}${binary}`;
|
|
170
|
+
const target = `--instance ${instanceId}`;
|
|
171
|
+
const locale = input.locale === 'ja' ? 'ja' : 'en';
|
|
172
|
+
const capture = `${head} capture ${worktreeId} ${target} --pane --tail ${DELEGATION_CAPTURE_TAIL}`;
|
|
173
|
+
// Issue #2377: the same delegation without the block. Offered as the SECOND
|
|
174
|
+
// line rather than as a replacement because the two are different jobs: `ask`
|
|
175
|
+
// is right when the answer is the next thing you need, `--async` is right when
|
|
176
|
+
// it is not — and a brief that only taught the asynchronous form would have
|
|
177
|
+
// agents registering relays for questions they are about to sit and wait for
|
|
178
|
+
// anyway.
|
|
179
|
+
const asyncAsk = `${head} ask ${worktreeId} ${target} "<request>" --async`;
|
|
180
|
+
if (locale === 'ja') {
|
|
181
|
+
const ask = `${head} ask ${worktreeId} ${target} "<依頼文>" --timeout ${exports.DELEGATION_ASK_TIMEOUT_SECONDS}`;
|
|
182
|
+
return [
|
|
183
|
+
`## 別セッション「${instanceLabel}」への委任`,
|
|
184
|
+
`- 宛先: worktree \`${worktreeId}\` / instance \`${instanceId}\`(${toolLabel})`,
|
|
185
|
+
`- 依頼: ${ask}`,
|
|
186
|
+
' - exit 0: 標準出力が返答本文',
|
|
187
|
+
' - exit 10: 相手が確認待ち。標準出力のprompt JSONを私に報告して止まる(自分で答えない)',
|
|
188
|
+
' - exit 124: タイムアウト。captureで状況を見て報告',
|
|
189
|
+
`- 待たない依頼: ${asyncAsk}`,
|
|
190
|
+
' - 即座に relay id を返して exit 0。完了時に `[from ...]` 付きで返答が私のコンポーザーに届く',
|
|
191
|
+
` - 状況確認: ${head} relays / 取り消し: ${head} relays cancel <relay-id>`,
|
|
192
|
+
`- 進捗確認: ${capture}`,
|
|
193
|
+
'- 禁止: respondで相手のプロンプトに答える / auto-yesを有効化する',
|
|
194
|
+
].join('\n');
|
|
195
|
+
}
|
|
196
|
+
const ask = `${head} ask ${worktreeId} ${target} "<request>" --timeout ${exports.DELEGATION_ASK_TIMEOUT_SECONDS}`;
|
|
197
|
+
return [
|
|
198
|
+
`## Delegating to session "${instanceLabel}"`,
|
|
199
|
+
`- Target: worktree \`${worktreeId}\` / instance \`${instanceId}\` (${toolLabel})`,
|
|
200
|
+
`- Ask: ${ask}`,
|
|
201
|
+
' - exit 0: stdout is the reply body',
|
|
202
|
+
' - exit 10: they are waiting on a confirmation. Report the prompt JSON on stdout back to me and stop (do not answer it yourself)',
|
|
203
|
+
' - exit 124: timed out. Look with capture and report what you see',
|
|
204
|
+
`- Ask without waiting: ${asyncAsk}`,
|
|
205
|
+
' - exits 0 with a relay id on stdout; the reply lands in my composer prefixed `[from ...]` when the turn ends',
|
|
206
|
+
` - Outstanding: ${head} relays / withdraw: ${head} relays cancel <relay-id>`,
|
|
207
|
+
`- Progress: ${capture}`,
|
|
208
|
+
'- Do not: answer their prompt with respond / turn auto-yes on',
|
|
209
|
+
].join('\n');
|
|
210
|
+
}
|
|
@@ -10,16 +10,29 @@
|
|
|
10
10
|
* Covers:
|
|
11
11
|
* - SGR sequences: ESC[Nm (colors, bold, underline, etc.)
|
|
12
12
|
* - OSC sequences: ESC]...BEL and ESC]...ST (ESC \\) - window title, and the
|
|
13
|
-
* OSC 8 hyperlinks that claude/codex/copilot emit (Issue #1912)
|
|
13
|
+
* OSC 8 hyperlinks that claude/codex/copilot emit (Issue #1912). Also
|
|
14
|
+
* available on its own as {@link stripOsc} (Issue #2369), for a consumer that
|
|
15
|
+
* renders SGR and must not render OSC.
|
|
14
16
|
* - CSI sequences: ESC[...letter (cursor movement, erase, etc.)
|
|
15
17
|
*
|
|
16
18
|
* Known limitations (SEC-002): 8-bit CSI (0x9B), DEC private modes (ESC[?25h),
|
|
17
19
|
* character-set switching (ESC(0), and some RGB color forms may not match. In
|
|
18
20
|
* practice tmux capture-pane output rarely contains these.
|
|
19
21
|
*/
|
|
22
|
+
/** {@link OSC_SOURCE} as a reusable global pattern. */
|
|
23
|
+
export declare const OSC_PATTERN: RegExp;
|
|
20
24
|
export declare const ANSI_PATTERN: RegExp;
|
|
21
25
|
/** Remove all ANSI escape sequences from a string. */
|
|
22
26
|
export declare function stripAnsi(str: string): string;
|
|
27
|
+
/**
|
|
28
|
+
* Remove OSC sequences only, leaving SGR (colour) and CSI untouched.
|
|
29
|
+
*
|
|
30
|
+
* For OSC 8 hyperlinks — `ESC ] 8 ; ; <url> ST <label> ESC ] 8 ; ; ST` — this
|
|
31
|
+
* drops both halves of the pair and keeps `<label>`, which is the text the
|
|
32
|
+
* terminal itself shows. See {@link OSC_PATTERN} for who needs this and why
|
|
33
|
+
* `stripAnsi` is not the answer for them.
|
|
34
|
+
*/
|
|
35
|
+
export declare function stripOsc(str: string): string;
|
|
23
36
|
/**
|
|
24
37
|
* Extract the ANSI escape sequences from a string, in order, discarding all
|
|
25
38
|
* other characters. Reuses the same tested pattern as {@link stripAnsi} so the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ansi.d.ts","sourceRoot":"","sources":["../../../src/lib/detection/ansi.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"ansi.d.ts","sourceRoot":"","sources":["../../../src/lib/detection/ansi.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAwBH,uDAAuD;AACvD,eAAO,MAAM,WAAW,QAA8B,CAAC;AAEvD,eAAO,MAAM,YAAY,QAGxB,CAAC;AAEF,sDAAsD;AACtD,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE7C;AAED;;;;;;;GAOG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE5C;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAGxD"}
|
|
@@ -11,7 +11,9 @@
|
|
|
11
11
|
* Covers:
|
|
12
12
|
* - SGR sequences: ESC[Nm (colors, bold, underline, etc.)
|
|
13
13
|
* - OSC sequences: ESC]...BEL and ESC]...ST (ESC \\) - window title, and the
|
|
14
|
-
* OSC 8 hyperlinks that claude/codex/copilot emit (Issue #1912)
|
|
14
|
+
* OSC 8 hyperlinks that claude/codex/copilot emit (Issue #1912). Also
|
|
15
|
+
* available on its own as {@link stripOsc} (Issue #2369), for a consumer that
|
|
16
|
+
* renders SGR and must not render OSC.
|
|
15
17
|
* - CSI sequences: ESC[...letter (cursor movement, erase, etc.)
|
|
16
18
|
*
|
|
17
19
|
* Known limitations (SEC-002): 8-bit CSI (0x9B), DEC private modes (ESC[?25h),
|
|
@@ -19,14 +21,49 @@
|
|
|
19
21
|
* practice tmux capture-pane output rarely contains these.
|
|
20
22
|
*/
|
|
21
23
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
22
|
-
exports.ANSI_PATTERN = void 0;
|
|
24
|
+
exports.ANSI_PATTERN = exports.OSC_PATTERN = void 0;
|
|
23
25
|
exports.stripAnsi = stripAnsi;
|
|
26
|
+
exports.stripOsc = stripOsc;
|
|
24
27
|
exports.extractAnsiSequences = extractAnsiSequences;
|
|
25
|
-
|
|
28
|
+
/**
|
|
29
|
+
* One OSC sequence: `ESC ]`, a payload, and either terminator (BEL or ST).
|
|
30
|
+
*
|
|
31
|
+
* Split out of {@link ANSI_PATTERN} by Issue #2369 so a second consumer can
|
|
32
|
+
* strip OSC **without** stripping SGR. `sanitizeTerminalOutput`
|
|
33
|
+
* (`lib/security/sanitize.ts`) is that consumer: it hands the frame to
|
|
34
|
+
* `ansi-to-html`, which turns SGR into colour and does not know OSC at all — so
|
|
35
|
+
* before this split, Command Code's `/usage` panel rendered its breakdown link
|
|
36
|
+
* as the literal text `]8;;https://commandcode.ai/…\` beside the label. Calling
|
|
37
|
+
* `stripAnsi` there would have thrown the colour away with it.
|
|
38
|
+
*
|
|
39
|
+
* The payload class excludes ESC as well as BEL (Issue #1912) so a sequence
|
|
40
|
+
* ended by ST cannot run on to a BEL later in the buffer and swallow the visible
|
|
41
|
+
* link text between them. An OSC with no terminator at all matches nothing and
|
|
42
|
+
* is left in place, which is the safe answer: eating the rest of the frame is
|
|
43
|
+
* worse than showing one stray escape.
|
|
44
|
+
*
|
|
45
|
+
* The source is shared with {@link ANSI_PATTERN} rather than restated, so the
|
|
46
|
+
* two cannot drift about which terminators exist.
|
|
47
|
+
*/
|
|
48
|
+
const OSC_SOURCE = '\\x1b\\][^\\x07\\x1b]*(?:\\x07|\\x1b\\\\)';
|
|
49
|
+
/** {@link OSC_SOURCE} as a reusable global pattern. */
|
|
50
|
+
exports.OSC_PATTERN = new RegExp(OSC_SOURCE, 'g');
|
|
51
|
+
exports.ANSI_PATTERN = new RegExp(`\\x1b\\[[0-9;]*[a-zA-Z]|${OSC_SOURCE}|\\[[0-9;]*m`, 'g');
|
|
26
52
|
/** Remove all ANSI escape sequences from a string. */
|
|
27
53
|
function stripAnsi(str) {
|
|
28
54
|
return str.replace(exports.ANSI_PATTERN, '');
|
|
29
55
|
}
|
|
56
|
+
/**
|
|
57
|
+
* Remove OSC sequences only, leaving SGR (colour) and CSI untouched.
|
|
58
|
+
*
|
|
59
|
+
* For OSC 8 hyperlinks — `ESC ] 8 ; ; <url> ST <label> ESC ] 8 ; ; ST` — this
|
|
60
|
+
* drops both halves of the pair and keeps `<label>`, which is the text the
|
|
61
|
+
* terminal itself shows. See {@link OSC_PATTERN} for who needs this and why
|
|
62
|
+
* `stripAnsi` is not the answer for them.
|
|
63
|
+
*/
|
|
64
|
+
function stripOsc(str) {
|
|
65
|
+
return str.replace(exports.OSC_PATTERN, '');
|
|
66
|
+
}
|
|
30
67
|
/**
|
|
31
68
|
* Extract the ANSI escape sequences from a string, in order, discarding all
|
|
32
69
|
* other characters. Reuses the same tested pattern as {@link stripAnsi} so the
|
|
@@ -61,6 +61,34 @@ export declare const STATUS_REASON: {
|
|
|
61
61
|
* `Type to search models...` box.
|
|
62
62
|
*/
|
|
63
63
|
readonly COMMAND_CODE_SELECTION_LIST: "command_code_selection_list";
|
|
64
|
+
/**
|
|
65
|
+
* Issue #2369: a Command Code overlay that only Esc leaves.
|
|
66
|
+
*
|
|
67
|
+
* `/usage` opens a read-only panel — a plan header, two usage meters, a
|
|
68
|
+
* breakdown URL — whose last row is `Press Esc to close`. There is no
|
|
69
|
+
* highlight to move, no numbered option and no confirm key; the ONE thing the
|
|
70
|
+
* screen accepts is the dismiss.
|
|
71
|
+
*
|
|
72
|
+
* Distinct from {@link STATUS_REASON.COMMAND_CODE_SELECTION_LIST} because the
|
|
73
|
+
* two screens want different controls, and that is the whole of this Issue:
|
|
74
|
+
* before it, this panel matched no rule at all, reached the `default` floor
|
|
75
|
+
* and so raised `isUnclassifiedActive` — which the chat surface answers with
|
|
76
|
+
* `TerminalEscapeHatch` plus `PromptAnswerKeys`, eighteen buttons (arrows,
|
|
77
|
+
* Enter, Esc, `1`-`9`, `y`, `n`) of which exactly one does anything. Reporting
|
|
78
|
+
* the selection-list token instead would put the arrow pad on the card and
|
|
79
|
+
* tell an operator reading `capture --json` that a moving highlight had been
|
|
80
|
+
* read off a panel that has none.
|
|
81
|
+
*
|
|
82
|
+
* Deliberately NOT a member of `SELECTION_LIST_REASONS`
|
|
83
|
+
* (`lib/detection/status-detector.ts`): that set is what `isSelectionListActive`
|
|
84
|
+
* — and therefore the arrow pad — is derived from. The flag this one feeds is
|
|
85
|
+
* `isDismissablePanelActive`, published beside it.
|
|
86
|
+
*
|
|
87
|
+
* The vocabulary is Command Code's alone for now (方針書 §4 D2's tool-by-tool
|
|
88
|
+
* rule): the SHAPE "an overlay whose footer offers only a dismiss" is general,
|
|
89
|
+
* the sentence that identifies it was measured on one tool.
|
|
90
|
+
*/
|
|
91
|
+
readonly COMMAND_CODE_DISMISSABLE_PANEL: "command_code_dismissable_panel";
|
|
64
92
|
readonly COPILOT_SELECTION_LIST: "copilot_selection_list";
|
|
65
93
|
readonly CODEX_SELECTION_LIST: "codex_selection_list";
|
|
66
94
|
/** Issue #1017: Codex pager / edit-previous (transcript) mode. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"status-reason.d.ts","sourceRoot":"","sources":["../../../src/lib/detection/status-reason.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH;;;GAGG;AACH,eAAO,MAAM,aAAa;;;;;IAKxB;;;;;;;;;;;;;;;;;;OAkBG;;IAEH,6EAA6E;;;IAG7E;;;;;;;;;;;;;;;;OAgBG;;;;IAIH,kEAAkE;;IAElE,6EAA6E;;;;;;IAM7E;;;;;;;;;;;;;;;OAeG;;IAEH;;;;;;;;;;;;;;;OAeG;;;CAGK,CAAC"}
|
|
1
|
+
{"version":3,"file":"status-reason.d.ts","sourceRoot":"","sources":["../../../src/lib/detection/status-reason.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH;;;GAGG;AACH,eAAO,MAAM,aAAa;;;;;IAKxB;;;;;;;;;;;;;;;;;;OAkBG;;IAEH,6EAA6E;;;IAG7E;;;;;;;;;;;;;;;;OAgBG;;IAEH;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;;;;IAIH,kEAAkE;;IAElE,6EAA6E;;;;;;IAM7E;;;;;;;;;;;;;;;OAeG;;IAEH;;;;;;;;;;;;;;;OAeG;;;CAGK,CAAC"}
|
|
@@ -64,6 +64,34 @@ exports.STATUS_REASON = {
|
|
|
64
64
|
* `Type to search models...` box.
|
|
65
65
|
*/
|
|
66
66
|
COMMAND_CODE_SELECTION_LIST: 'command_code_selection_list',
|
|
67
|
+
/**
|
|
68
|
+
* Issue #2369: a Command Code overlay that only Esc leaves.
|
|
69
|
+
*
|
|
70
|
+
* `/usage` opens a read-only panel — a plan header, two usage meters, a
|
|
71
|
+
* breakdown URL — whose last row is `Press Esc to close`. There is no
|
|
72
|
+
* highlight to move, no numbered option and no confirm key; the ONE thing the
|
|
73
|
+
* screen accepts is the dismiss.
|
|
74
|
+
*
|
|
75
|
+
* Distinct from {@link STATUS_REASON.COMMAND_CODE_SELECTION_LIST} because the
|
|
76
|
+
* two screens want different controls, and that is the whole of this Issue:
|
|
77
|
+
* before it, this panel matched no rule at all, reached the `default` floor
|
|
78
|
+
* and so raised `isUnclassifiedActive` — which the chat surface answers with
|
|
79
|
+
* `TerminalEscapeHatch` plus `PromptAnswerKeys`, eighteen buttons (arrows,
|
|
80
|
+
* Enter, Esc, `1`-`9`, `y`, `n`) of which exactly one does anything. Reporting
|
|
81
|
+
* the selection-list token instead would put the arrow pad on the card and
|
|
82
|
+
* tell an operator reading `capture --json` that a moving highlight had been
|
|
83
|
+
* read off a panel that has none.
|
|
84
|
+
*
|
|
85
|
+
* Deliberately NOT a member of `SELECTION_LIST_REASONS`
|
|
86
|
+
* (`lib/detection/status-detector.ts`): that set is what `isSelectionListActive`
|
|
87
|
+
* — and therefore the arrow pad — is derived from. The flag this one feeds is
|
|
88
|
+
* `isDismissablePanelActive`, published beside it.
|
|
89
|
+
*
|
|
90
|
+
* The vocabulary is Command Code's alone for now (方針書 §4 D2's tool-by-tool
|
|
91
|
+
* rule): the SHAPE "an overlay whose footer offers only a dismiss" is general,
|
|
92
|
+
* the sentence that identifies it was measured on one tool.
|
|
93
|
+
*/
|
|
94
|
+
COMMAND_CODE_DISMISSABLE_PANEL: 'command_code_dismissable_panel',
|
|
67
95
|
COPILOT_SELECTION_LIST: 'copilot_selection_list',
|
|
68
96
|
CODEX_SELECTION_LIST: 'codex_selection_list',
|
|
69
97
|
/** Issue #1017: Codex pager / edit-previous (transcript) mode. */
|
|
@@ -71,35 +71,35 @@ export declare const OPENCODE_VERIFIED_AGAINST: {
|
|
|
71
71
|
readonly paneGeometry: "80x200";
|
|
72
72
|
};
|
|
73
73
|
/**
|
|
74
|
-
* agy these rules were read off (#988 / #995 footer + selection rules,
|
|
75
|
-
*
|
|
74
|
+
* agy these rules were read off (#988 / #995 footer + selection rules, #2270's
|
|
75
|
+
* numbered-dialog carve-out, re-measured and re-captured by #2364).
|
|
76
76
|
*
|
|
77
|
-
* Bumped from
|
|
78
|
-
*
|
|
79
|
-
*
|
|
80
|
-
* `
|
|
81
|
-
*
|
|
82
|
-
*
|
|
83
|
-
*
|
|
84
|
-
*
|
|
85
|
-
*
|
|
77
|
+
* Bumped from 1.1.25 because the frames were RE-CAPTURED and the rules CHANGED:
|
|
78
|
+
* #2364 drove agy 1.1.27 on a private tmux socket at the production geometry and
|
|
79
|
+
* kept the frames in `tests/fixtures/antigravity-live-2364/` — the file-creation
|
|
80
|
+
* menu (`Allow creation of this file?`, two options), the Bash approval whose
|
|
81
|
+
* option labels wrap onto three rows each, the one-row Bash approval #2270 had
|
|
82
|
+
* measured on 1.1.25, the `/model` picker, the folder-trust screen, the
|
|
83
|
+
* slash-command popup, and the first live IDLE agy frame. The numbered-dialog
|
|
84
|
+
* discriminator (`isAntigravityNumberedDialog`) was rewritten off those frames
|
|
85
|
+
* from a question-line match to the footer + numbered-row structure, and the
|
|
86
|
+
* dialogs are now read by `tools/antigravity/dialog.ts` rather than by the
|
|
87
|
+
* generic multiple-choice parser. `ANTIGRAVITY_SELECTION_LIST_PATTERN`
|
|
88
|
+
* (#995 / #997) was re-checked against every frame and left unchanged.
|
|
86
89
|
*
|
|
87
|
-
*
|
|
88
|
-
*
|
|
89
|
-
*
|
|
90
|
-
* different `lastLines` slice than production does. That is a statement about
|
|
91
|
-
* the capture condition, not about agy: the scrollback-retained rendering the
|
|
92
|
-
* `afterThinking` footer rules rest on (#988) is unchanged, and the 1.1.25
|
|
93
|
-
* dialog still ends on `esc to cancel`.
|
|
90
|
+
* The #2270 1.1.25 panes stay where they are
|
|
91
|
+
* (`tests/unit/status-detector-selection.test.ts`) and the rules still answer
|
|
92
|
+
* for both builds.
|
|
94
93
|
*
|
|
95
|
-
* What this stamp does NOT claim:
|
|
96
|
-
*
|
|
97
|
-
*
|
|
98
|
-
*
|
|
94
|
+
* What this stamp does NOT claim: the generating (spinner) branch is still
|
|
95
|
+
* carried over from the 0.4 captures rather than re-measured, and the
|
|
96
|
+
* post-answer survey (`[1] Good … [0] Skip`) was seen once on the production
|
|
97
|
+
* server and reconstructed from its cleaned rows — the raw frame is not in the
|
|
98
|
+
* fixture directory (see its README).
|
|
99
99
|
*/
|
|
100
100
|
export declare const ANTIGRAVITY_VERIFIED_AGAINST: {
|
|
101
|
-
readonly version: "1.1.
|
|
102
|
-
readonly capturedAt: "2026-09-
|
|
101
|
+
readonly version: "1.1.27";
|
|
102
|
+
readonly capturedAt: "2026-09-06";
|
|
103
103
|
readonly paneGeometry: "200x1000";
|
|
104
104
|
};
|
|
105
105
|
/**
|