commandmate 0.19.0 → 0.21.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 +259 -238
- package/.next/app-path-routes-manifest.json +28 -26
- package/.next/build-manifest.json +2 -2
- package/.next/prerender-manifest.json +12 -12
- package/.next/required-server-files.json +1 -1
- package/.next/routes-manifest.json +18 -0
- package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/server/app/api/app/update/route.js +5 -3
- package/.next/server/app/api/app/update/route.js.nft.json +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 -1
- 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 +1 -1
- 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.js +1 -1
- package/.next/server/app/api/auth/login/route.js.nft.json +1 -1
- package/.next/server/app/api/auth/login/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/auth/logout/route.js +1 -1
- package/.next/server/app/api/auth/logout/route.js.nft.json +1 -1
- package/.next/server/app/api/auth/logout/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/auth/status/route.js +1 -1
- package/.next/server/app/api/auth/status/route.js.nft.json +1 -1
- package/.next/server/app/api/auth/status/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/daily-summary/route.js +1 -1
- package/.next/server/app/api/daily-summary/route.js.nft.json +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.js +1 -1
- package/.next/server/app/api/daily-summary/status/route.js.nft.json +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.js +1 -1
- package/.next/server/app/api/external-apps/[id]/health/route.js.nft.json +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.js +1 -1
- package/.next/server/app/api/external-apps/[id]/route.js.nft.json +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.js +1 -1
- package/.next/server/app/api/external-apps/route.js.nft.json +1 -1
- package/.next/server/app/api/external-apps/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/fs/browse/route.js +2 -2
- package/.next/server/app/api/fs/browse/route.js.nft.json +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.js +2 -2
- package/.next/server/app/api/fs/recent-paths/route.js.nft.json +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 +1 -1
- 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/metrics/vibe/route.js +2 -2
- package/.next/server/app/api/metrics/vibe/route.js.nft.json +1 -1
- package/.next/server/app/api/metrics/vibe/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/ollama/models/route.js +1 -1
- package/.next/server/app/api/ollama/models/route.js.nft.json +1 -1
- package/.next/server/app/api/ollama/models/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/push/subscriptions/route.js +1 -1
- package/.next/server/app/api/push/subscriptions/route.js.nft.json +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 +1 -1
- 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/repositories/[id]/route.js +1 -1
- package/.next/server/app/api/repositories/[id]/route.js.nft.json +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.js.nft.json +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.js.nft.json +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.js +1 -1
- package/.next/server/app/api/repositories/excluded/route.js.nft.json +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.js +1 -1
- package/.next/server/app/api/repositories/validate-path/route.js.nft.json +1 -1
- package/.next/server/app/api/repositories/validate-path/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/sidebar/group-order/route.js +2 -2
- package/.next/server/app/api/sidebar/group-order/route.js.nft.json +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.js +3 -3
- package/.next/server/app/api/skills/operations/route.js.nft.json +1 -1
- package/.next/server/app/api/skills/operations/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/skills/reindex/route.js +1 -1
- package/.next/server/app/api/skills/reindex/route.js.nft.json +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.js +1 -1
- package/.next/server/app/api/slash-commands/route.js.nft.json +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.js +2 -2
- package/.next/server/app/api/tasks/[taskId]/cancel/route.js.nft.json +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 +2 -2
- package/.next/server/app/api/tasks/[taskId]/route.js.nft.json +1 -1
- package/.next/server/app/api/tasks/[taskId]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/templates/[id]/route.js +2 -2
- package/.next/server/app/api/templates/[id]/route.js.nft.json +1 -1
- package/.next/server/app/api/templates/[id]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/templates/route.js +2 -2
- package/.next/server/app/api/templates/route.js.nft.json +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.js.nft.json +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.js.nft.json +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.js.nft.json +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]/cli-tool/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/cli-tool/route.js.nft.json +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 +2 -2
- package/.next/server/app/api/worktrees/[id]/cmate/schedules/route.js.nft.json +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]/execution-logs/[logId]/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/execution-logs/[logId]/route.js.nft.json +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 +2 -2
- package/.next/server/app/api/worktrees/[id]/execution-logs/route.js.nft.json +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.js +1 -1
- package/.next/server/app/api/worktrees/[id]/files/[...path]/route.js.nft.json +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.js.nft.json +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.js.nft.json +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.js.nft.json +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.js.nft.json +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.js.nft.json +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.js.nft.json +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.js.nft.json +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.js.nft.json +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.js.nft.json +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.js.nft.json +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.js.nft.json +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.js.nft.json +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.js.nft.json +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.js.nft.json +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.js.nft.json +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.js.nft.json +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.js.nft.json +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.js.nft.json +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.js.nft.json +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.js.nft.json +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.js.nft.json +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.js.nft.json +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.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/git/working-diff/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/interrupt/route.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.js.nft.json +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 +2 -2
- package/.next/server/app/api/worktrees/[id]/logs/route.js.nft.json +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 +6 -6
- package/.next/server/app/api/worktrees/[id]/marp-render/route.js.nft.json +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.js.nft.json +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.js.nft.json +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.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/messages/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/prompt-response/route.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]/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 +2 -2
- package/.next/server/app/api/worktrees/[id]/schedules/[scheduleId]/route.js.nft.json +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.js.nft.json +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 +3 -3
- package/.next/server/app/api/worktrees/[id]/schedules/route.js.nft.json +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.js +1 -1
- package/.next/server/app/api/worktrees/[id]/search/route.js.nft.json +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 +1 -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.js +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/install/route.js.nft.json +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.js +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/uninstall/route.js.nft.json +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.js +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/uninstall-plan/route.js.nft.json +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.js +1 -0
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/update/route.js.nft.json +1 -0
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/update/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/update-plan/route.js +1 -0
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/update-plan/route.js.nft.json +1 -0
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/update-plan/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/worktrees/[id]/skills/route.js +2 -2
- package/.next/server/app/api/worktrees/[id]/skills/route.js.nft.json +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.js.nft.json +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]/start-polling/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/start-polling/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/start-polling/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/tasks/route.js +4 -4
- package/.next/server/app/api/worktrees/[id]/tasks/route.js.nft.json +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.js.nft.json +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.js.nft.json +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.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/todos/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/tree/[...path]/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/tree/[...path]/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/tree/[...path]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/tree/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/tree/route.js.nft.json +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.js +1 -1
- package/.next/server/app/api/worktrees/[id]/upload/[...path]/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/upload/[...path]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/verify/route.js +2 -2
- package/.next/server/app/api/worktrees/[id]/verify/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/verify/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/verify/runs/[runId]/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/verify/runs/[runId]/route.js.nft.json +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.js.nft.json +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.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/viewed/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/apple-icon.png/route.js +1 -1
- package/.next/server/app/apple-icon.png/route.js.nft.json +1 -1
- package/.next/server/app/chat/page_client-reference-manifest.js +1 -1
- package/.next/server/app/icon.png/route.js +1 -1
- package/.next/server/app/icon.png/route.js.nft.json +1 -1
- package/.next/server/app/icon1.png/route.js +1 -1
- package/.next/server/app/icon1.png/route.js.nft.json +1 -1
- package/.next/server/app/icon2.png/route.js +1 -1
- package/.next/server/app/icon2.png/route.js.nft.json +1 -1
- package/.next/server/app/login/page_client-reference-manifest.js +1 -1
- package/.next/server/app/manifest.webmanifest/route.js +2 -2
- package/.next/server/app/manifest.webmanifest/route.js.nft.json +1 -1
- package/.next/server/app/manifest.webmanifest/route_client-reference-manifest.js +1 -1
- package/.next/server/app/more/page_client-reference-manifest.js +1 -1
- package/.next/server/app/offline/page_client-reference-manifest.js +1 -1
- package/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/server/app/proxy/[...path]/route.js +1 -1
- package/.next/server/app/proxy/[...path]/route.js.nft.json +1 -1
- package/.next/server/app/proxy/[...path]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/repositories/page.js +1 -1
- package/.next/server/app/repositories/page_client-reference-manifest.js +1 -1
- package/.next/server/app/review/page_client-reference-manifest.js +1 -1
- package/.next/server/app/sessions/page_client-reference-manifest.js +1 -1
- package/.next/server/app/skills/[skillId]/page.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_client-reference-manifest.js +1 -1
- package/.next/server/app/skills/page_client-reference-manifest.js +1 -1
- package/.next/server/app/worktrees/[id]/files/[...path]/page.js +2 -2
- package/.next/server/app/worktrees/[id]/files/[...path]/page.js.nft.json +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 +8 -8
- 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.js +3 -3
- package/.next/server/app/worktrees/[id]/terminal/page.js.nft.json +1 -1
- package/.next/server/app/worktrees/[id]/terminal/page_client-reference-manifest.js +1 -1
- package/.next/server/app-paths-manifest.json +28 -26
- package/.next/server/chunks/1029.js +1 -0
- package/.next/server/chunks/1068.js +1 -1
- package/.next/server/chunks/1503.js +1 -1
- package/.next/server/chunks/1598.js +4 -0
- package/.next/server/chunks/22.js +1 -1
- package/.next/server/chunks/2328.js +1 -1
- package/.next/server/chunks/2546.js +1 -0
- package/.next/server/chunks/2710.js +2 -2
- package/.next/server/chunks/28.js +2 -2
- package/.next/server/chunks/3417.js +1 -0
- package/.next/server/chunks/3451.js +1 -1
- package/.next/server/chunks/3543.js +1 -1
- package/.next/server/chunks/365.js +1 -0
- package/.next/server/chunks/3736.js +1 -1
- package/.next/server/chunks/3753.js +33 -20
- package/.next/server/chunks/3945.js +1 -1
- package/.next/server/chunks/406.js +5 -5
- package/.next/server/chunks/4444.js +1 -1
- package/.next/server/chunks/{1185.js → 5048.js} +1 -1
- package/.next/server/chunks/5064.js +1 -1
- package/.next/server/chunks/5737.js +1 -1
- package/.next/server/chunks/5959.js +10 -3
- package/.next/server/chunks/{5381.js → 5998.js} +2 -2
- package/.next/server/chunks/6130.js +1 -1
- package/.next/server/chunks/6274.js +5 -5
- package/.next/server/chunks/6283.js +1 -1
- package/.next/server/chunks/6401.js +1 -0
- package/.next/server/chunks/641.js +1 -0
- package/.next/server/chunks/848.js +1 -0
- package/.next/server/chunks/8536.js +1 -0
- package/.next/server/chunks/8543.js +1 -0
- package/.next/server/chunks/8584.js +1 -1
- package/.next/server/chunks/8807.js +157 -143
- package/.next/server/chunks/8856.js +2 -2
- package/.next/server/chunks/9058.js +1 -0
- package/.next/server/chunks/9067.js +1 -0
- package/.next/server/chunks/9123.js +1 -1
- package/.next/server/chunks/9360.js +2 -0
- package/.next/server/chunks/9687.js +1 -1
- package/.next/server/middleware-manifest.json +5 -5
- package/.next/server/pages/500.html +1 -1
- package/.next/server/server-reference-manifest.json +1 -1
- package/.next/server/src/middleware.js +1 -1
- package/.next/server/src/middleware.js.map +1 -1
- package/.next/static/chunks/{8562-6e2ab32452f4fa5b.js → 2053-52d3c82014e1cd54.js} +1 -1
- package/.next/static/chunks/2751-9ef0f4b450bd4ef0.js +1 -0
- package/.next/static/chunks/{6488-2c412c29258637b6.js → 6488-b5e707dfdd33d633.js} +1 -1
- package/.next/static/chunks/744-fa8c0ae444c8338c.js +1 -0
- package/.next/static/chunks/app/api/app/update/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/app/update-check/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/assistant/conversation/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/assistant/current-output/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/assistant/messages/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/assistant/session/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/assistant/start/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/assistant/terminal/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/assistant/tools/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/auth/login/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/auth/logout/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/auth/status/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/daily-summary/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/daily-summary/status/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/external-apps/[id]/health/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/external-apps/[id]/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/external-apps/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/fs/browse/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/fs/recent-paths/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/hooks/agent-event/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/hooks/claude-done/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/metrics/vibe/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/ollama/models/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/push/subscriptions/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/push/vapid/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/repositories/[id]/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/repositories/[id]/todos/[todoId]/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/repositories/[id]/todos/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/repositories/clone/[jobId]/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/repositories/clone/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/repositories/excluded/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/repositories/restore/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/repositories/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/repositories/scan/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/repositories/sync/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/repositories/validate-path/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/sidebar/group-order/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/skills/[id]/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/skills/installations/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/skills/operations/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/skills/reindex/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/skills/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/slash-commands/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/tasks/[taskId]/cancel/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/tasks/[taskId]/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/templates/[id]/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/templates/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/todos/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/verification/runs/[runId]/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/verification/runs/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/auto-yes/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/capture/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/cli-tool/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/cmate/schedules/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/current-output/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/execution-logs/[logId]/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/execution-logs/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/files/[...path]/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/branch/create/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/branch/delete/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/branches/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/checkout/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/commit/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/diff/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/fetch/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/log/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/pull/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/push/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/reset/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/revert/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/show/[commitHash]/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/stage/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/staged/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/stash/[index]/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/stash/apply/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/stash/pop/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/stash/push/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/stash/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/status/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/unstage/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/working-diff/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/interrupt/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/kill-session/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/logs/[filename]/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/logs/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/marp-render/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/memos/[memoId]/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/memos/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/messages/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/prompt-response/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/respond/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/schedules/[scheduleId]/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/schedules/active/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/schedules/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/search/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/send/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/git-workflow/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/install/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/plan/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/uninstall/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/uninstall-plan/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/update/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/update-plan/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/skills/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/slash-commands/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/special-keys/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/start-polling/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/tasks/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/terminal/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/timers/history/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/timers/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/todos/[todoId]/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/todos/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/tree/[...path]/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/tree/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/upload/[...path]/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/verify/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/verify/runs/[runId]/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/verify/runs/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/viewed/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/worktrees/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/manifest.webmanifest/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/proxy/[...path]/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/repositories/page-202680fe6ec169c8.js +1 -0
- package/.next/static/chunks/app/skills/[skillId]/page-10d6f983e5f06ffb.js +1 -0
- package/.next/static/chunks/app/worktrees/[id]/layout-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/worktrees/[id]/page-b73ac6531829c698.js +1 -0
- package/.next/trace +12 -12
- package/.next/types/app/api/worktrees/[id]/skills/[skillId]/update/route.ts +347 -0
- package/.next/types/app/api/worktrees/[id]/skills/[skillId]/update-plan/route.ts +347 -0
- package/.next/types/routes.d.ts +5 -2
- package/.next/types/validator.ts +27 -0
- package/README.md +10 -1
- package/dist/cli/commands/auto-yes.d.ts.map +1 -1
- package/dist/cli/commands/auto-yes.js +4 -3
- package/dist/cli/commands/capture.d.ts +1 -0
- package/dist/cli/commands/capture.d.ts.map +1 -1
- package/dist/cli/commands/capture.js +112 -2
- package/dist/cli/commands/ls.d.ts.map +1 -1
- package/dist/cli/commands/ls.js +9 -3
- package/dist/cli/commands/respond.d.ts.map +1 -1
- package/dist/cli/commands/respond.js +34 -8
- package/dist/cli/commands/send.d.ts.map +1 -1
- package/dist/cli/commands/send.js +6 -5
- package/dist/cli/commands/skill-format.d.ts +7 -1
- package/dist/cli/commands/skill-format.d.ts.map +1 -1
- package/dist/cli/commands/skill-format.js +67 -0
- package/dist/cli/commands/skill.d.ts +2 -0
- package/dist/cli/commands/skill.d.ts.map +1 -1
- package/dist/cli/commands/skill.js +149 -0
- package/dist/cli/commands/sync.d.ts +14 -0
- package/dist/cli/commands/sync.d.ts.map +1 -0
- package/dist/cli/commands/sync.js +53 -0
- package/dist/cli/commands/update.d.ts.map +1 -1
- package/dist/cli/commands/update.js +66 -0
- package/dist/cli/commands/wait.d.ts.map +1 -1
- package/dist/cli/commands/wait.js +3 -2
- package/dist/cli/config/agent-target-options.d.ts +46 -0
- package/dist/cli/config/agent-target-options.d.ts.map +1 -0
- package/dist/cli/config/agent-target-options.js +54 -0
- package/dist/cli/docs/agent-operations.d.ts +2 -2
- package/dist/cli/docs/agent-operations.d.ts.map +1 -1
- package/dist/cli/docs/agent-operations.js +72 -17
- package/dist/cli/program.d.ts.map +1 -1
- package/dist/cli/program.js +3 -0
- package/dist/cli/types/api-responses.d.ts +174 -0
- package/dist/cli/types/api-responses.d.ts.map +1 -1
- package/dist/cli/types/index.d.ts +31 -0
- package/dist/cli/types/index.d.ts.map +1 -1
- package/dist/cli/utils/api-client.d.ts +4 -1
- package/dist/cli/utils/api-client.d.ts.map +1 -1
- package/dist/cli/utils/api-client.js +43 -5
- package/dist/cli/utils/npm-runner.d.ts +24 -0
- package/dist/cli/utils/npm-runner.d.ts.map +1 -1
- package/dist/cli/utils/npm-runner.js +51 -1
- package/dist/cli/utils/pid-manager.d.ts +12 -2
- package/dist/cli/utils/pid-manager.d.ts.map +1 -1
- package/dist/cli/utils/pid-manager.js +76 -13
- package/dist/cli/utils/verify-runner.d.ts +9 -0
- package/dist/cli/utils/verify-runner.d.ts.map +1 -1
- package/dist/cli/utils/verify-runner.js +28 -2
- package/dist/config/history-display-config.d.ts +61 -0
- package/dist/config/history-display-config.d.ts.map +1 -0
- package/dist/config/history-display-config.js +62 -0
- package/dist/server/server.js +107 -14
- package/dist/server/src/lib/auto-yes-poller.js +49 -0
- package/dist/server/src/lib/auto-yes-state.js +64 -0
- package/dist/server/src/lib/db/chat-db.js +75 -1
- package/dist/server/src/lib/db/db-repository.js +66 -2
- package/dist/server/src/lib/db/db.js +13 -3
- package/dist/server/src/lib/db/migrations/index.js +6 -0
- package/dist/server/src/lib/db/migrations/runner.js +1 -1
- package/dist/server/src/lib/db/migrations/v53-worktree-aliases.js +53 -0
- package/dist/server/src/lib/db/migrations/v54-worktree-id-path-derived.js +204 -0
- package/dist/server/src/lib/db/migrations/v55-compact-churned-worktree-ids.js +207 -0
- package/dist/server/src/lib/db/migrations/worktree-id-rename.js +153 -0
- package/dist/server/src/lib/db/worktree-alias-db.js +155 -0
- package/dist/server/src/lib/db/worktree-db.js +53 -71
- package/dist/server/src/lib/detection/cli-patterns.js +86 -2
- package/dist/server/src/lib/detection/prompt-detect-multiple-choice.js +10 -1
- package/dist/server/src/lib/git/worktree-id.js +145 -0
- package/dist/server/src/lib/git/worktree-redirect.js +155 -0
- package/dist/server/src/lib/git/worktrees.js +173 -27
- package/dist/server/src/lib/logger.js +13 -1
- package/dist/server/src/lib/polling/auto-yes-manager.js +3 -1
- package/dist/server/src/lib/polling/auto-yes-suppression-state.js +54 -0
- package/dist/server/src/lib/polling/prompt-dedup.js +22 -0
- package/dist/server/src/lib/polling/response-checker.js +53 -13
- package/dist/server/src/lib/polling/response-dedup.js +22 -0
- package/dist/server/src/lib/polling/response-poller-core.js +107 -0
- package/dist/server/src/lib/polling/response-poller.js +4 -1
- package/dist/server/src/lib/response-extractor.js +22 -2
- package/dist/server/src/lib/session/claude-session.js +117 -35
- package/dist/server/src/lib/session/current-output-builder.js +16 -1
- package/dist/server/src/lib/session/session-start-error.js +125 -0
- package/dist/server/src/lib/session/worktree-session-reconcile.js +603 -0
- package/dist/server/src/lib/skills/install-apply.js +63 -23
- package/dist/server/src/lib/skills/operation-audit.js +5 -6
- package/dist/server/src/lib/skills/startup-reconcile.js +26 -5
- package/dist/server/src/lib/skills/updater.js +830 -0
- package/dist/server/src/lib/tasks/contract-parser.js +17 -1
- package/dist/server/src/lib/tasks/task-state-machine.js +23 -1
- package/dist/server/src/lib/tmux/control-mode-tmux-transport.js +7 -0
- package/dist/server/src/lib/tmux/read-mode.js +22 -2
- package/dist/server/src/lib/tmux/tmux-capture-cache.js +33 -0
- package/dist/server/src/lib/tmux/tmux-control-client.js +12 -0
- package/dist/server/src/lib/tmux/tmux-control-registry.js +55 -11
- package/dist/server/src/lib/tmux/tmux.js +61 -0
- package/dist/server/src/lib/ws-server.js +104 -1
- package/package.json +1 -1
- package/.next/server/chunks/1117.js +0 -1
- package/.next/server/chunks/1356.js +0 -4
- package/.next/server/chunks/1692.js +0 -1
- package/.next/server/chunks/3042.js +0 -1
- package/.next/server/chunks/4018.js +0 -1
- package/.next/server/chunks/4390.js +0 -1
- package/.next/server/chunks/4440.js +0 -2
- package/.next/server/chunks/4548.js +0 -1
- package/.next/server/chunks/5793.js +0 -1
- package/.next/server/chunks/8681.js +0 -1
- package/.next/static/chunks/2751-7fabd91275b14ca3.js +0 -1
- package/.next/static/chunks/744-d5e47fe16e7b9e06.js +0 -1
- package/.next/static/chunks/app/api/app/update/route-8440b6c72bed83a1.js +0 -1
- package/.next/static/chunks/app/api/app/update-check/route-8440b6c72bed83a1.js +0 -1
- package/.next/static/chunks/app/api/assistant/conversation/route-8440b6c72bed83a1.js +0 -1
- package/.next/static/chunks/app/api/assistant/current-output/route-8440b6c72bed83a1.js +0 -1
- package/.next/static/chunks/app/api/assistant/messages/route-8440b6c72bed83a1.js +0 -1
- package/.next/static/chunks/app/api/assistant/session/route-8440b6c72bed83a1.js +0 -1
- package/.next/static/chunks/app/api/assistant/start/route-8440b6c72bed83a1.js +0 -1
- package/.next/static/chunks/app/api/assistant/terminal/route-8440b6c72bed83a1.js +0 -1
- package/.next/static/chunks/app/api/assistant/tools/route-8440b6c72bed83a1.js +0 -1
- package/.next/static/chunks/app/api/auth/login/route-8440b6c72bed83a1.js +0 -1
- package/.next/static/chunks/app/api/auth/logout/route-8440b6c72bed83a1.js +0 -1
- package/.next/static/chunks/app/api/auth/status/route-8440b6c72bed83a1.js +0 -1
- package/.next/static/chunks/app/api/daily-summary/route-8440b6c72bed83a1.js +0 -1
- package/.next/static/chunks/app/api/daily-summary/status/route-8440b6c72bed83a1.js +0 -1
- package/.next/static/chunks/app/api/external-apps/[id]/health/route-8440b6c72bed83a1.js +0 -1
- package/.next/static/chunks/app/api/external-apps/[id]/route-8440b6c72bed83a1.js +0 -1
- package/.next/static/chunks/app/api/external-apps/route-8440b6c72bed83a1.js +0 -1
- package/.next/static/chunks/app/api/fs/browse/route-8440b6c72bed83a1.js +0 -1
- package/.next/static/chunks/app/api/fs/recent-paths/route-8440b6c72bed83a1.js +0 -1
- package/.next/static/chunks/app/api/hooks/agent-event/route-8440b6c72bed83a1.js +0 -1
- package/.next/static/chunks/app/api/hooks/claude-done/route-8440b6c72bed83a1.js +0 -1
- package/.next/static/chunks/app/api/metrics/vibe/route-8440b6c72bed83a1.js +0 -1
- package/.next/static/chunks/app/api/ollama/models/route-8440b6c72bed83a1.js +0 -1
- package/.next/static/chunks/app/api/push/subscriptions/route-8440b6c72bed83a1.js +0 -1
- package/.next/static/chunks/app/api/push/vapid/route-8440b6c72bed83a1.js +0 -1
- package/.next/static/chunks/app/api/repositories/[id]/route-8440b6c72bed83a1.js +0 -1
- package/.next/static/chunks/app/api/repositories/[id]/todos/[todoId]/route-8440b6c72bed83a1.js +0 -1
- package/.next/static/chunks/app/api/repositories/[id]/todos/route-8440b6c72bed83a1.js +0 -1
- package/.next/static/chunks/app/api/repositories/clone/[jobId]/route-8440b6c72bed83a1.js +0 -1
- package/.next/static/chunks/app/api/repositories/clone/route-8440b6c72bed83a1.js +0 -1
- package/.next/static/chunks/app/api/repositories/excluded/route-8440b6c72bed83a1.js +0 -1
- package/.next/static/chunks/app/api/repositories/restore/route-8440b6c72bed83a1.js +0 -1
- package/.next/static/chunks/app/api/repositories/route-8440b6c72bed83a1.js +0 -1
- package/.next/static/chunks/app/api/repositories/scan/route-8440b6c72bed83a1.js +0 -1
- package/.next/static/chunks/app/api/repositories/sync/route-8440b6c72bed83a1.js +0 -1
- package/.next/static/chunks/app/api/repositories/validate-path/route-8440b6c72bed83a1.js +0 -1
- package/.next/static/chunks/app/api/sidebar/group-order/route-8440b6c72bed83a1.js +0 -1
- package/.next/static/chunks/app/api/skills/[id]/route-8440b6c72bed83a1.js +0 -1
- package/.next/static/chunks/app/api/skills/installations/route-8440b6c72bed83a1.js +0 -1
- package/.next/static/chunks/app/api/skills/operations/route-8440b6c72bed83a1.js +0 -1
- package/.next/static/chunks/app/api/skills/reindex/route-8440b6c72bed83a1.js +0 -1
- package/.next/static/chunks/app/api/skills/route-8440b6c72bed83a1.js +0 -1
- package/.next/static/chunks/app/api/slash-commands/route-8440b6c72bed83a1.js +0 -1
- package/.next/static/chunks/app/api/tasks/[taskId]/cancel/route-8440b6c72bed83a1.js +0 -1
- package/.next/static/chunks/app/api/tasks/[taskId]/route-8440b6c72bed83a1.js +0 -1
- package/.next/static/chunks/app/api/templates/[id]/route-8440b6c72bed83a1.js +0 -1
- package/.next/static/chunks/app/api/templates/route-8440b6c72bed83a1.js +0 -1
- package/.next/static/chunks/app/api/todos/route-8440b6c72bed83a1.js +0 -1
- package/.next/static/chunks/app/api/verification/runs/[runId]/route-8440b6c72bed83a1.js +0 -1
- package/.next/static/chunks/app/api/verification/runs/route-8440b6c72bed83a1.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/auto-yes/route-8440b6c72bed83a1.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/capture/route-8440b6c72bed83a1.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/cli-tool/route-8440b6c72bed83a1.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/cmate/schedules/route-8440b6c72bed83a1.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/current-output/route-8440b6c72bed83a1.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/execution-logs/[logId]/route-8440b6c72bed83a1.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/execution-logs/route-8440b6c72bed83a1.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/files/[...path]/route-8440b6c72bed83a1.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/branch/create/route-8440b6c72bed83a1.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/branch/delete/route-8440b6c72bed83a1.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/branches/route-8440b6c72bed83a1.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/checkout/route-8440b6c72bed83a1.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/commit/route-8440b6c72bed83a1.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/diff/route-8440b6c72bed83a1.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/fetch/route-8440b6c72bed83a1.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/log/route-8440b6c72bed83a1.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/pull/route-8440b6c72bed83a1.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/push/route-8440b6c72bed83a1.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/reset/route-8440b6c72bed83a1.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/revert/route-8440b6c72bed83a1.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/show/[commitHash]/route-8440b6c72bed83a1.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/stage/route-8440b6c72bed83a1.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/staged/route-8440b6c72bed83a1.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/stash/[index]/route-8440b6c72bed83a1.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/stash/apply/route-8440b6c72bed83a1.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/stash/pop/route-8440b6c72bed83a1.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/stash/push/route-8440b6c72bed83a1.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/stash/route-8440b6c72bed83a1.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/status/route-8440b6c72bed83a1.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/unstage/route-8440b6c72bed83a1.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/working-diff/route-8440b6c72bed83a1.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/interrupt/route-8440b6c72bed83a1.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/kill-session/route-8440b6c72bed83a1.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/logs/[filename]/route-8440b6c72bed83a1.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/logs/route-8440b6c72bed83a1.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/marp-render/route-8440b6c72bed83a1.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/memos/[memoId]/route-8440b6c72bed83a1.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/memos/route-8440b6c72bed83a1.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/messages/route-8440b6c72bed83a1.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/prompt-response/route-8440b6c72bed83a1.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/respond/route-8440b6c72bed83a1.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/route-8440b6c72bed83a1.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/schedules/[scheduleId]/route-8440b6c72bed83a1.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/schedules/active/route-8440b6c72bed83a1.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/schedules/route-8440b6c72bed83a1.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/search/route-8440b6c72bed83a1.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/send/route-8440b6c72bed83a1.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/git-workflow/route-8440b6c72bed83a1.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/install/route-8440b6c72bed83a1.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/plan/route-8440b6c72bed83a1.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/uninstall/route-8440b6c72bed83a1.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/uninstall-plan/route-8440b6c72bed83a1.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/skills/route-8440b6c72bed83a1.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/slash-commands/route-8440b6c72bed83a1.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/special-keys/route-8440b6c72bed83a1.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/start-polling/route-8440b6c72bed83a1.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/tasks/route-8440b6c72bed83a1.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/terminal/route-8440b6c72bed83a1.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/timers/history/route-8440b6c72bed83a1.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/timers/route-8440b6c72bed83a1.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/todos/[todoId]/route-8440b6c72bed83a1.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/todos/route-8440b6c72bed83a1.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/tree/[...path]/route-8440b6c72bed83a1.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/tree/route-8440b6c72bed83a1.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/upload/[...path]/route-8440b6c72bed83a1.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/verify/route-8440b6c72bed83a1.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/verify/runs/[runId]/route-8440b6c72bed83a1.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/verify/runs/route-8440b6c72bed83a1.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/viewed/route-8440b6c72bed83a1.js +0 -1
- package/.next/static/chunks/app/api/worktrees/route-8440b6c72bed83a1.js +0 -1
- package/.next/static/chunks/app/manifest.webmanifest/route-8440b6c72bed83a1.js +0 -1
- package/.next/static/chunks/app/proxy/[...path]/route-8440b6c72bed83a1.js +0 -1
- package/.next/static/chunks/app/repositories/page-1ed1e5a542ecc168.js +0 -1
- package/.next/static/chunks/app/skills/[skillId]/page-6008b904225ebb25.js +0 -1
- package/.next/static/chunks/app/worktrees/[id]/page-f6e09d25cd3b56f9.js +0 -1
- /package/.next/static/{-E7I667pJDTBamyG8M_Z- → _AR-TSCnEog5nL9JjjCna}/_buildManifest.js +0 -0
- /package/.next/static/{-E7I667pJDTBamyG8M_Z- → _AR-TSCnEog5nL9JjjCna}/_ssgManifest.js +0 -0
package/.next/types/routes.d.ts
CHANGED
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
// Do not edit this file manually
|
|
3
3
|
|
|
4
4
|
type AppRoutes = "/" | "/chat" | "/login" | "/more" | "/offline" | "/repositories" | "/review" | "/sessions" | "/skills" | "/skills/[skillId]" | "/skills/installed" | "/worktrees/[id]" | "/worktrees/[id]/files/[...path]" | "/worktrees/[id]/terminal"
|
|
5
|
-
type AppRouteHandlerRoutes = "/api/app/update" | "/api/app/update-check" | "/api/assistant/conversation" | "/api/assistant/current-output" | "/api/assistant/messages" | "/api/assistant/session" | "/api/assistant/start" | "/api/assistant/terminal" | "/api/assistant/tools" | "/api/auth/login" | "/api/auth/logout" | "/api/auth/status" | "/api/daily-summary" | "/api/daily-summary/status" | "/api/external-apps" | "/api/external-apps/[id]" | "/api/external-apps/[id]/health" | "/api/fs/browse" | "/api/fs/recent-paths" | "/api/hooks/agent-event" | "/api/hooks/claude-done" | "/api/metrics/vibe" | "/api/ollama/models" | "/api/push/subscriptions" | "/api/push/vapid" | "/api/repositories" | "/api/repositories/[id]" | "/api/repositories/[id]/todos" | "/api/repositories/[id]/todos/[todoId]" | "/api/repositories/clone" | "/api/repositories/clone/[jobId]" | "/api/repositories/excluded" | "/api/repositories/restore" | "/api/repositories/scan" | "/api/repositories/sync" | "/api/repositories/validate-path" | "/api/sidebar/group-order" | "/api/skills" | "/api/skills/[id]" | "/api/skills/installations" | "/api/skills/operations" | "/api/skills/reindex" | "/api/slash-commands" | "/api/tasks/[taskId]" | "/api/tasks/[taskId]/cancel" | "/api/templates" | "/api/templates/[id]" | "/api/todos" | "/api/verification/runs" | "/api/verification/runs/[runId]" | "/api/worktrees" | "/api/worktrees/[id]" | "/api/worktrees/[id]/auto-yes" | "/api/worktrees/[id]/capture" | "/api/worktrees/[id]/cli-tool" | "/api/worktrees/[id]/cmate/schedules" | "/api/worktrees/[id]/current-output" | "/api/worktrees/[id]/execution-logs" | "/api/worktrees/[id]/execution-logs/[logId]" | "/api/worktrees/[id]/files/[...path]" | "/api/worktrees/[id]/git/branch/create" | "/api/worktrees/[id]/git/branch/delete" | "/api/worktrees/[id]/git/branches" | "/api/worktrees/[id]/git/checkout" | "/api/worktrees/[id]/git/commit" | "/api/worktrees/[id]/git/diff" | "/api/worktrees/[id]/git/fetch" | "/api/worktrees/[id]/git/log" | "/api/worktrees/[id]/git/pull" | "/api/worktrees/[id]/git/push" | "/api/worktrees/[id]/git/reset" | "/api/worktrees/[id]/git/revert" | "/api/worktrees/[id]/git/show/[commitHash]" | "/api/worktrees/[id]/git/stage" | "/api/worktrees/[id]/git/staged" | "/api/worktrees/[id]/git/stash" | "/api/worktrees/[id]/git/stash/[index]" | "/api/worktrees/[id]/git/stash/apply" | "/api/worktrees/[id]/git/stash/pop" | "/api/worktrees/[id]/git/stash/push" | "/api/worktrees/[id]/git/status" | "/api/worktrees/[id]/git/unstage" | "/api/worktrees/[id]/git/working-diff" | "/api/worktrees/[id]/interrupt" | "/api/worktrees/[id]/kill-session" | "/api/worktrees/[id]/logs" | "/api/worktrees/[id]/logs/[filename]" | "/api/worktrees/[id]/marp-render" | "/api/worktrees/[id]/memos" | "/api/worktrees/[id]/memos/[memoId]" | "/api/worktrees/[id]/messages" | "/api/worktrees/[id]/prompt-response" | "/api/worktrees/[id]/respond" | "/api/worktrees/[id]/schedules" | "/api/worktrees/[id]/schedules/[scheduleId]" | "/api/worktrees/[id]/schedules/active" | "/api/worktrees/[id]/search" | "/api/worktrees/[id]/send" | "/api/worktrees/[id]/skills" | "/api/worktrees/[id]/skills/[skillId]/git-workflow" | "/api/worktrees/[id]/skills/[skillId]/install" | "/api/worktrees/[id]/skills/[skillId]/plan" | "/api/worktrees/[id]/skills/[skillId]/uninstall" | "/api/worktrees/[id]/skills/[skillId]/uninstall-plan" | "/api/worktrees/[id]/slash-commands" | "/api/worktrees/[id]/special-keys" | "/api/worktrees/[id]/start-polling" | "/api/worktrees/[id]/tasks" | "/api/worktrees/[id]/terminal" | "/api/worktrees/[id]/timers" | "/api/worktrees/[id]/timers/history" | "/api/worktrees/[id]/todos" | "/api/worktrees/[id]/todos/[todoId]" | "/api/worktrees/[id]/tree" | "/api/worktrees/[id]/tree/[...path]" | "/api/worktrees/[id]/upload/[...path]" | "/api/worktrees/[id]/verify" | "/api/worktrees/[id]/verify/runs" | "/api/worktrees/[id]/verify/runs/[runId]" | "/api/worktrees/[id]/viewed" | "/proxy/[...path]"
|
|
5
|
+
type AppRouteHandlerRoutes = "/api/app/update" | "/api/app/update-check" | "/api/assistant/conversation" | "/api/assistant/current-output" | "/api/assistant/messages" | "/api/assistant/session" | "/api/assistant/start" | "/api/assistant/terminal" | "/api/assistant/tools" | "/api/auth/login" | "/api/auth/logout" | "/api/auth/status" | "/api/daily-summary" | "/api/daily-summary/status" | "/api/external-apps" | "/api/external-apps/[id]" | "/api/external-apps/[id]/health" | "/api/fs/browse" | "/api/fs/recent-paths" | "/api/hooks/agent-event" | "/api/hooks/claude-done" | "/api/metrics/vibe" | "/api/ollama/models" | "/api/push/subscriptions" | "/api/push/vapid" | "/api/repositories" | "/api/repositories/[id]" | "/api/repositories/[id]/todos" | "/api/repositories/[id]/todos/[todoId]" | "/api/repositories/clone" | "/api/repositories/clone/[jobId]" | "/api/repositories/excluded" | "/api/repositories/restore" | "/api/repositories/scan" | "/api/repositories/sync" | "/api/repositories/validate-path" | "/api/sidebar/group-order" | "/api/skills" | "/api/skills/[id]" | "/api/skills/installations" | "/api/skills/operations" | "/api/skills/reindex" | "/api/slash-commands" | "/api/tasks/[taskId]" | "/api/tasks/[taskId]/cancel" | "/api/templates" | "/api/templates/[id]" | "/api/todos" | "/api/verification/runs" | "/api/verification/runs/[runId]" | "/api/worktrees" | "/api/worktrees/[id]" | "/api/worktrees/[id]/auto-yes" | "/api/worktrees/[id]/capture" | "/api/worktrees/[id]/cli-tool" | "/api/worktrees/[id]/cmate/schedules" | "/api/worktrees/[id]/current-output" | "/api/worktrees/[id]/execution-logs" | "/api/worktrees/[id]/execution-logs/[logId]" | "/api/worktrees/[id]/files/[...path]" | "/api/worktrees/[id]/git/branch/create" | "/api/worktrees/[id]/git/branch/delete" | "/api/worktrees/[id]/git/branches" | "/api/worktrees/[id]/git/checkout" | "/api/worktrees/[id]/git/commit" | "/api/worktrees/[id]/git/diff" | "/api/worktrees/[id]/git/fetch" | "/api/worktrees/[id]/git/log" | "/api/worktrees/[id]/git/pull" | "/api/worktrees/[id]/git/push" | "/api/worktrees/[id]/git/reset" | "/api/worktrees/[id]/git/revert" | "/api/worktrees/[id]/git/show/[commitHash]" | "/api/worktrees/[id]/git/stage" | "/api/worktrees/[id]/git/staged" | "/api/worktrees/[id]/git/stash" | "/api/worktrees/[id]/git/stash/[index]" | "/api/worktrees/[id]/git/stash/apply" | "/api/worktrees/[id]/git/stash/pop" | "/api/worktrees/[id]/git/stash/push" | "/api/worktrees/[id]/git/status" | "/api/worktrees/[id]/git/unstage" | "/api/worktrees/[id]/git/working-diff" | "/api/worktrees/[id]/interrupt" | "/api/worktrees/[id]/kill-session" | "/api/worktrees/[id]/logs" | "/api/worktrees/[id]/logs/[filename]" | "/api/worktrees/[id]/marp-render" | "/api/worktrees/[id]/memos" | "/api/worktrees/[id]/memos/[memoId]" | "/api/worktrees/[id]/messages" | "/api/worktrees/[id]/prompt-response" | "/api/worktrees/[id]/respond" | "/api/worktrees/[id]/schedules" | "/api/worktrees/[id]/schedules/[scheduleId]" | "/api/worktrees/[id]/schedules/active" | "/api/worktrees/[id]/search" | "/api/worktrees/[id]/send" | "/api/worktrees/[id]/skills" | "/api/worktrees/[id]/skills/[skillId]/git-workflow" | "/api/worktrees/[id]/skills/[skillId]/install" | "/api/worktrees/[id]/skills/[skillId]/plan" | "/api/worktrees/[id]/skills/[skillId]/uninstall" | "/api/worktrees/[id]/skills/[skillId]/uninstall-plan" | "/api/worktrees/[id]/skills/[skillId]/update" | "/api/worktrees/[id]/skills/[skillId]/update-plan" | "/api/worktrees/[id]/slash-commands" | "/api/worktrees/[id]/special-keys" | "/api/worktrees/[id]/start-polling" | "/api/worktrees/[id]/tasks" | "/api/worktrees/[id]/terminal" | "/api/worktrees/[id]/timers" | "/api/worktrees/[id]/timers/history" | "/api/worktrees/[id]/todos" | "/api/worktrees/[id]/todos/[todoId]" | "/api/worktrees/[id]/tree" | "/api/worktrees/[id]/tree/[...path]" | "/api/worktrees/[id]/upload/[...path]" | "/api/worktrees/[id]/verify" | "/api/worktrees/[id]/verify/runs" | "/api/worktrees/[id]/verify/runs/[runId]" | "/api/worktrees/[id]/viewed" | "/proxy/[...path]"
|
|
6
6
|
type PageRoutes = never
|
|
7
|
-
type LayoutRoutes = "/"
|
|
7
|
+
type LayoutRoutes = "/" | "/worktrees/[id]"
|
|
8
8
|
type RedirectRoutes = never
|
|
9
9
|
type RewriteRoutes = never
|
|
10
10
|
type Routes = AppRoutes | PageRoutes | LayoutRoutes | RedirectRoutes | RewriteRoutes | AppRouteHandlerRoutes
|
|
@@ -116,6 +116,8 @@ interface ParamMap {
|
|
|
116
116
|
"/api/worktrees/[id]/skills/[skillId]/plan": { "id": string; "skillId": string; }
|
|
117
117
|
"/api/worktrees/[id]/skills/[skillId]/uninstall": { "id": string; "skillId": string; }
|
|
118
118
|
"/api/worktrees/[id]/skills/[skillId]/uninstall-plan": { "id": string; "skillId": string; }
|
|
119
|
+
"/api/worktrees/[id]/skills/[skillId]/update": { "id": string; "skillId": string; }
|
|
120
|
+
"/api/worktrees/[id]/skills/[skillId]/update-plan": { "id": string; "skillId": string; }
|
|
119
121
|
"/api/worktrees/[id]/slash-commands": { "id": string; }
|
|
120
122
|
"/api/worktrees/[id]/special-keys": { "id": string; }
|
|
121
123
|
"/api/worktrees/[id]/start-polling": { "id": string; }
|
|
@@ -153,6 +155,7 @@ export type ParamsOf<Route extends Routes> = ParamMap[Route]
|
|
|
153
155
|
|
|
154
156
|
interface LayoutSlotMap {
|
|
155
157
|
"/": never
|
|
158
|
+
"/worktrees/[id]": never
|
|
156
159
|
}
|
|
157
160
|
|
|
158
161
|
|
package/.next/types/validator.ts
CHANGED
|
@@ -1091,6 +1091,24 @@ type RouteHandlerConfig<Route extends AppRouteHandlerRoutes = AppRouteHandlerRou
|
|
|
1091
1091
|
type __Unused = __Check
|
|
1092
1092
|
}
|
|
1093
1093
|
|
|
1094
|
+
// Validate ../../src/app/api/worktrees/[id]/skills/[skillId]/update-plan/route.ts
|
|
1095
|
+
{
|
|
1096
|
+
type __IsExpected<Specific extends RouteHandlerConfig<"/api/worktrees/[id]/skills/[skillId]/update-plan">> = Specific
|
|
1097
|
+
const handler = {} as typeof import("../../src/app/api/worktrees/[id]/skills/[skillId]/update-plan/route.js")
|
|
1098
|
+
type __Check = __IsExpected<typeof handler>
|
|
1099
|
+
// @ts-ignore
|
|
1100
|
+
type __Unused = __Check
|
|
1101
|
+
}
|
|
1102
|
+
|
|
1103
|
+
// Validate ../../src/app/api/worktrees/[id]/skills/[skillId]/update/route.ts
|
|
1104
|
+
{
|
|
1105
|
+
type __IsExpected<Specific extends RouteHandlerConfig<"/api/worktrees/[id]/skills/[skillId]/update">> = Specific
|
|
1106
|
+
const handler = {} as typeof import("../../src/app/api/worktrees/[id]/skills/[skillId]/update/route.js")
|
|
1107
|
+
type __Check = __IsExpected<typeof handler>
|
|
1108
|
+
// @ts-ignore
|
|
1109
|
+
type __Unused = __Check
|
|
1110
|
+
}
|
|
1111
|
+
|
|
1094
1112
|
// Validate ../../src/app/api/worktrees/[id]/skills/route.ts
|
|
1095
1113
|
{
|
|
1096
1114
|
type __IsExpected<Specific extends RouteHandlerConfig<"/api/worktrees/[id]/skills">> = Specific
|
|
@@ -1274,3 +1292,12 @@ type RouteHandlerConfig<Route extends AppRouteHandlerRoutes = AppRouteHandlerRou
|
|
|
1274
1292
|
// @ts-ignore
|
|
1275
1293
|
type __Unused = __Check
|
|
1276
1294
|
}
|
|
1295
|
+
|
|
1296
|
+
// Validate ../../src/app/worktrees/[id]/layout.tsx
|
|
1297
|
+
{
|
|
1298
|
+
type __IsExpected<Specific extends LayoutConfig<"/worktrees/[id]">> = Specific
|
|
1299
|
+
const handler = {} as typeof import("../../src/app/worktrees/[id]/layout.js")
|
|
1300
|
+
type __Check = __IsExpected<typeof handler>
|
|
1301
|
+
// @ts-ignore
|
|
1302
|
+
type __Unused = __Check
|
|
1303
|
+
}
|
package/README.md
CHANGED
|
@@ -204,8 +204,9 @@ Operate agent sessions from the CLI. See the [CLI Operations Guide](./docs/en/us
|
|
|
204
204
|
| `commandmate ls --id <prefix>` | Filter by worktree ID prefix |
|
|
205
205
|
| `commandmate send <id> "message"` | Send a message to an agent |
|
|
206
206
|
| `commandmate send <id> "msg" --auto-yes` | Send with auto-yes enabled |
|
|
207
|
-
| `commandmate send <id> "msg" --
|
|
207
|
+
| `commandmate send <id> "msg" --instance codex` | Send to a specific agent instance |
|
|
208
208
|
| `commandmate wait <id> --timeout 300` | Wait for agent completion (exit 0) or prompt (exit 10) |
|
|
209
|
+
| `commandmate wait <id> --instance codex` | Wait on a specific agent instance |
|
|
209
210
|
| `commandmate wait <id> --on-prompt human` | Wait, let human respond to prompts via browser UI |
|
|
210
211
|
| `commandmate respond <id> "yes"` | Respond to an agent's prompt |
|
|
211
212
|
| `commandmate capture <id>` | Get current terminal output |
|
|
@@ -213,6 +214,14 @@ Operate agent sessions from the CLI. See the [CLI Operations Guide](./docs/en/us
|
|
|
213
214
|
| `commandmate auto-yes <id> --enable` | Enable auto-yes (default 1h) |
|
|
214
215
|
| `commandmate auto-yes <id> --disable` | Disable auto-yes |
|
|
215
216
|
|
|
217
|
+
> **Name the target with `--instance`, on every command.** It is the only target
|
|
218
|
+
> flag `wait` accepts — `wait --agent` fails with `unknown option`. Naming the
|
|
219
|
+
> agent only on `send` leaves `wait` watching the worktree's *default* agent, so
|
|
220
|
+
> a worktree cut for Codex silently waits for Claude Code. `--agent` still works
|
|
221
|
+
> on `send`/`respond`/`capture`/`auto-yes` as the supplement for instances the
|
|
222
|
+
> roster does not know (it is what `--register` needs). See the
|
|
223
|
+
> [CLI Operations Guide](./docs/en/user-guide/cli-operations-guide.md).
|
|
224
|
+
|
|
216
225
|
**Typical workflow:**
|
|
217
226
|
|
|
218
227
|
```bash
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auto-yes.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/auto-yes.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"auto-yes.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/auto-yes.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAUpC,wBAAgB,oBAAoB,IAAI,OAAO,CAoG9C"}
|
|
@@ -11,6 +11,7 @@ const api_client_1 = require("../utils/api-client");
|
|
|
11
11
|
const command_helpers_1 = require("../utils/command-helpers");
|
|
12
12
|
const duration_constants_1 = require("../config/duration-constants");
|
|
13
13
|
const cli_tool_ids_1 = require("../config/cli-tool-ids");
|
|
14
|
+
const agent_target_options_1 = require("../config/agent-target-options");
|
|
14
15
|
const instances_1 = require("./instances");
|
|
15
16
|
function createAutoYesCommand() {
|
|
16
17
|
const cmd = new commander_1.Command('auto-yes');
|
|
@@ -20,9 +21,9 @@ function createAutoYesCommand() {
|
|
|
20
21
|
.option('--enable', 'Enable auto-yes')
|
|
21
22
|
.option('--disable', 'Disable auto-yes')
|
|
22
23
|
.option('--duration <duration>', `Duration (${duration_constants_1.ALLOWED_DURATIONS.join(', ')})`)
|
|
23
|
-
.option('--stop-pattern <pattern>', 'Stop pattern (regex, max 500 chars)')
|
|
24
|
-
.option('--
|
|
25
|
-
.option('--
|
|
24
|
+
.option('--stop-pattern <pattern>', 'Stop pattern (regex, max 500 chars). Matched against terminal output; cannot block commands (build logs mentioning the pattern also trigger it). To suppress auto-responses per command, use the task contract\'s autoYes.denyPatterns')
|
|
25
|
+
.option('--instance <id>', agent_target_options_1.INSTANCE_OPTION_DESCRIPTION)
|
|
26
|
+
.option('--agent <agent>', agent_target_options_1.AGENT_OPTION_DESCRIPTION)
|
|
26
27
|
.option('--token <token>', command_helpers_1.TOKEN_WARNING)
|
|
27
28
|
.action(async (worktreeId, options) => {
|
|
28
29
|
try {
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
* capture Command - Get current terminal output
|
|
3
3
|
* Issue #518: [DR1-08] Factory pattern
|
|
4
4
|
* Issue #1623: `--pane` reads the raw tmux pane as a transcript (案B)
|
|
5
|
+
* Issue #1685: `--prompts` lists the resolved-prompt audit trail
|
|
5
6
|
*/
|
|
6
7
|
import { Command } from 'commander';
|
|
7
8
|
export declare function createCaptureCommand(): Command;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"capture.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/capture.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"capture.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/capture.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA2OpC,wBAAgB,oBAAoB,IAAI,OAAO,CAkG9C"}
|
|
@@ -3,14 +3,17 @@
|
|
|
3
3
|
* capture Command - Get current terminal output
|
|
4
4
|
* Issue #518: [DR1-08] Factory pattern
|
|
5
5
|
* Issue #1623: `--pane` reads the raw tmux pane as a transcript (案B)
|
|
6
|
+
* Issue #1685: `--prompts` lists the resolved-prompt audit trail
|
|
6
7
|
*/
|
|
7
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
9
|
exports.createCaptureCommand = createCaptureCommand;
|
|
9
10
|
const commander_1 = require("commander");
|
|
10
11
|
const types_1 = require("../types");
|
|
12
|
+
const history_display_config_1 = require("../../config/history-display-config");
|
|
11
13
|
const api_client_1 = require("../utils/api-client");
|
|
12
14
|
const command_helpers_1 = require("../utils/command-helpers");
|
|
13
15
|
const cli_tool_ids_1 = require("../config/cli-tool-ids");
|
|
16
|
+
const agent_target_options_1 = require("../config/agent-target-options");
|
|
14
17
|
const instances_1 = require("./instances");
|
|
15
18
|
const pager_1 = require("../utils/pager");
|
|
16
19
|
const transcript_squeeze_1 = require("../../lib/tmux/transcript-squeeze");
|
|
@@ -72,6 +75,96 @@ async function resolvePaneCliTool(client, worktreeId, agent, instance) {
|
|
|
72
75
|
const worktree = await client.get(`/api/worktrees/${worktreeId}`);
|
|
73
76
|
return worktree.cliToolId || 'claude';
|
|
74
77
|
}
|
|
78
|
+
/** Default number of prompts `--prompts` lists (Issue #1685). */
|
|
79
|
+
const DEFAULT_PROMPTS_LIMIT = 20;
|
|
80
|
+
/**
|
|
81
|
+
* Parse and validate `--limit N` for the `--prompts` listing.
|
|
82
|
+
*
|
|
83
|
+
* @param raw - Raw option value, if the user passed one
|
|
84
|
+
* @returns The parsed count (defaults to {@link DEFAULT_PROMPTS_LIMIT})
|
|
85
|
+
*/
|
|
86
|
+
function parsePromptsLimit(raw) {
|
|
87
|
+
if (raw === undefined)
|
|
88
|
+
return DEFAULT_PROMPTS_LIMIT;
|
|
89
|
+
const value = Number(raw);
|
|
90
|
+
if (!Number.isInteger(value) || value < 1 || value > history_display_config_1.MAX_MESSAGES_LIMIT) {
|
|
91
|
+
console.error(`Error: --limit must be an integer between 1 and ${history_display_config_1.MAX_MESSAGES_LIMIT}.`);
|
|
92
|
+
process.exit(types_1.ExitCode.CONFIG_ERROR);
|
|
93
|
+
}
|
|
94
|
+
return value;
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Render one prompt option for the text listing. Handles both the
|
|
98
|
+
* multiple-choice object shape ({number, label, isDefault}) and plain strings
|
|
99
|
+
* (yes_no options).
|
|
100
|
+
*/
|
|
101
|
+
function formatPromptOption(option) {
|
|
102
|
+
if (option !== null && typeof option === 'object') {
|
|
103
|
+
const { number: num, label, isDefault } = option;
|
|
104
|
+
const body = `${num !== undefined ? `${num}) ` : ''}${label ?? ''}`.trim();
|
|
105
|
+
return isDefault ? `${body} (default)` : body;
|
|
106
|
+
}
|
|
107
|
+
return String(option);
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* `--prompts` path (Issue #1685): list the resolved-prompt audit trail.
|
|
111
|
+
*
|
|
112
|
+
* Reads prompt messages from chat history instead of the live pane, so the
|
|
113
|
+
* question / options / answer / answeredBy of a prompt Auto-Yes already
|
|
114
|
+
* resolved remain retrievable after the fact — the case where `wait` never
|
|
115
|
+
* exited 10 and `capture --json`'s promptData is already null.
|
|
116
|
+
*/
|
|
117
|
+
async function capturePrompts(worktreeId, options) {
|
|
118
|
+
const client = new api_client_1.ApiClient({ token: options.token });
|
|
119
|
+
const limit = parsePromptsLimit(options.limit);
|
|
120
|
+
const query = new URLSearchParams({ messageType: 'prompt', limit: String(limit) });
|
|
121
|
+
if (options.agent)
|
|
122
|
+
query.set('cliTool', options.agent);
|
|
123
|
+
if (options.instance)
|
|
124
|
+
query.set('instance', options.instance);
|
|
125
|
+
const messages = await client.get(`/api/worktrees/${worktreeId}/messages?${query.toString()}`);
|
|
126
|
+
// Defensive: the endpoint already filters, but promptData-less rows would
|
|
127
|
+
// render as empty entries.
|
|
128
|
+
const prompts = messages.filter((m) => m.messageType === 'prompt' && m.promptData);
|
|
129
|
+
if (options.json) {
|
|
130
|
+
console.log(JSON.stringify({
|
|
131
|
+
worktreeId,
|
|
132
|
+
count: prompts.length,
|
|
133
|
+
prompts: prompts.map((m) => ({
|
|
134
|
+
id: m.id,
|
|
135
|
+
timestamp: m.timestamp,
|
|
136
|
+
cliToolId: m.cliToolId ?? null,
|
|
137
|
+
instanceId: m.instanceId ?? null,
|
|
138
|
+
type: m.promptData.type,
|
|
139
|
+
question: m.promptData.question,
|
|
140
|
+
options: m.promptData.options ?? null,
|
|
141
|
+
status: m.promptData.status ?? null,
|
|
142
|
+
answer: m.promptData.answer ?? null,
|
|
143
|
+
answeredAt: m.promptData.answeredAt ?? null,
|
|
144
|
+
answeredBy: m.promptData.answeredBy ?? null,
|
|
145
|
+
})),
|
|
146
|
+
}, null, 2));
|
|
147
|
+
return;
|
|
148
|
+
}
|
|
149
|
+
if (prompts.length === 0) {
|
|
150
|
+
console.log('No prompt history.');
|
|
151
|
+
return;
|
|
152
|
+
}
|
|
153
|
+
const blocks = prompts.map((m) => {
|
|
154
|
+
const p = m.promptData;
|
|
155
|
+
const answered = p.status === 'answered';
|
|
156
|
+
const header = `${m.timestamp} ${m.cliToolId ?? '-'}/${m.instanceId ?? '-'} [${answered ? `answered:${p.answeredBy ?? 'unknown'}` : 'pending'}]`;
|
|
157
|
+
const lines = [header, ` Q: ${p.question}`];
|
|
158
|
+
if (Array.isArray(p.options) && p.options.length > 0) {
|
|
159
|
+
lines.push(` options: ${p.options.map(formatPromptOption).join(' ')}`);
|
|
160
|
+
}
|
|
161
|
+
if (answered) {
|
|
162
|
+
lines.push(` A: ${p.answer ?? '-'}${p.answeredAt ? ` (${p.answeredAt})` : ''}`);
|
|
163
|
+
}
|
|
164
|
+
return lines.join('\n');
|
|
165
|
+
});
|
|
166
|
+
console.log(blocks.join('\n'));
|
|
167
|
+
}
|
|
75
168
|
/**
|
|
76
169
|
* `--pane` path: read the raw tmux pane and render it as a readable transcript.
|
|
77
170
|
*
|
|
@@ -116,8 +209,11 @@ function createCaptureCommand() {
|
|
|
116
209
|
.option('--pane', 'Read the raw tmux pane as a transcript, with blank layout rows squeezed')
|
|
117
210
|
.option('--tail <n>', 'With --pane: keep only the last N lines OF THE SQUEEZED transcript')
|
|
118
211
|
.option('--raw', 'With --pane: skip the squeeze and print the pane verbatim')
|
|
119
|
-
|
|
120
|
-
.option('--
|
|
212
|
+
// Issue #1685: audit trail of resolved prompts (question/options/answer/answeredBy)
|
|
213
|
+
.option('--prompts', 'List recent prompts from chat history (including ones Auto-Yes already resolved)')
|
|
214
|
+
.option('--limit <n>', `With --prompts: number of most recent prompts to list (default ${DEFAULT_PROMPTS_LIMIT})`)
|
|
215
|
+
.option('--instance <id>', agent_target_options_1.INSTANCE_OPTION_DESCRIPTION)
|
|
216
|
+
.option('--agent <agent>', agent_target_options_1.AGENT_OPTION_DESCRIPTION)
|
|
121
217
|
.option('--token <token>', command_helpers_1.TOKEN_WARNING)
|
|
122
218
|
.action(async (worktreeId, options) => {
|
|
123
219
|
try {
|
|
@@ -141,6 +237,20 @@ function createCaptureCommand() {
|
|
|
141
237
|
console.error('Error: --tail and --raw require --pane.');
|
|
142
238
|
process.exit(types_1.ExitCode.CONFIG_ERROR);
|
|
143
239
|
}
|
|
240
|
+
// Issue #1685: --prompts reads history, --pane reads the live pane —
|
|
241
|
+
// asking for both at once has no meaningful answer.
|
|
242
|
+
if (options.prompts && options.pane) {
|
|
243
|
+
console.error('Error: --prompts cannot be combined with --pane.');
|
|
244
|
+
process.exit(types_1.ExitCode.CONFIG_ERROR);
|
|
245
|
+
}
|
|
246
|
+
if (!options.prompts && options.limit !== undefined) {
|
|
247
|
+
console.error('Error: --limit requires --prompts.');
|
|
248
|
+
process.exit(types_1.ExitCode.CONFIG_ERROR);
|
|
249
|
+
}
|
|
250
|
+
if (options.prompts) {
|
|
251
|
+
await capturePrompts(worktreeId, options);
|
|
252
|
+
return;
|
|
253
|
+
}
|
|
144
254
|
if (options.pane) {
|
|
145
255
|
await capturePane(worktreeId, options);
|
|
146
256
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ls.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/ls.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAyDpC;;;GAGG;AACH,wBAAgB,eAAe,IAAI,OAAO,
|
|
1
|
+
{"version":3,"file":"ls.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/ls.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAyDpC;;;GAGG;AACH,wBAAgB,eAAe,IAAI,OAAO,CA8CzC"}
|
package/dist/cli/commands/ls.js
CHANGED
|
@@ -77,9 +77,15 @@ function createLsCommand() {
|
|
|
77
77
|
worktrees = worktrees.filter(wt => (wt.branch ?? wt.name).startsWith(options.branch));
|
|
78
78
|
}
|
|
79
79
|
// Issue #1005: Filter by worktree id prefix. Independent of `--branch`
|
|
80
|
-
// (AND-combined when both are given). Front-match / case-sensitive
|
|
81
|
-
//
|
|
82
|
-
//
|
|
80
|
+
// (AND-combined when both are given). Front-match / case-sensitive.
|
|
81
|
+
//
|
|
82
|
+
// Matched against the CURRENT ids only (Issue #1621): `/api/worktrees`
|
|
83
|
+
// returns live rows, and historical ids resolve exactly — never by
|
|
84
|
+
// prefix — via the alias table on the routes that take an `<id>`
|
|
85
|
+
// argument. A prefix still does not guarantee uniqueness: ids are now
|
|
86
|
+
// directory-basename slugs (`commandmate-issue-1644`), so sibling
|
|
87
|
+
// worktrees of the same feature share a prefix just as `<repo>-<branch>`
|
|
88
|
+
// slugs used to.
|
|
83
89
|
if (options.id) {
|
|
84
90
|
worktrees = worktrees.filter(wt => wt.id.startsWith(options.id));
|
|
85
91
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"respond.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/respond.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"respond.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/respond.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAUpC,wBAAgB,oBAAoB,IAAI,OAAO,CAgG9C"}
|
|
@@ -12,15 +12,17 @@ const types_1 = require("../types");
|
|
|
12
12
|
const api_client_1 = require("../utils/api-client");
|
|
13
13
|
const command_helpers_1 = require("../utils/command-helpers");
|
|
14
14
|
const cli_tool_ids_1 = require("../config/cli-tool-ids");
|
|
15
|
+
const agent_target_options_1 = require("../config/agent-target-options");
|
|
15
16
|
const instances_1 = require("./instances");
|
|
16
17
|
function createRespondCommand() {
|
|
17
18
|
const cmd = new commander_1.Command('respond');
|
|
18
19
|
cmd
|
|
19
20
|
.description("Respond to an agent's prompt (yes/no, number, or text)")
|
|
20
21
|
.argument('<worktree-id>', 'Worktree ID')
|
|
21
|
-
.argument('
|
|
22
|
-
.option('--
|
|
23
|
-
.option('--instance <id>',
|
|
22
|
+
.argument('[answer]', 'Response answer (yes, no, number, or free text)')
|
|
23
|
+
.option('--default', "Select the prompt's default option (mutually exclusive with <answer>)")
|
|
24
|
+
.option('--instance <id>', agent_target_options_1.INSTANCE_OPTION_DESCRIPTION)
|
|
25
|
+
.option('--agent <agent>', agent_target_options_1.AGENT_OPTION_DESCRIPTION)
|
|
24
26
|
.option('--token <token>', command_helpers_1.TOKEN_WARNING)
|
|
25
27
|
.action(async (worktreeId, answer, options) => {
|
|
26
28
|
try {
|
|
@@ -39,9 +41,14 @@ function createRespondCommand() {
|
|
|
39
41
|
console.error('Error: Invalid --instance. Must be an alphanumeric/underscore/hyphen identifier (max 64 chars).');
|
|
40
42
|
process.exit(types_1.ExitCode.CONFIG_ERROR);
|
|
41
43
|
}
|
|
42
|
-
//
|
|
43
|
-
|
|
44
|
-
|
|
44
|
+
// Issue #1681: exactly one of <answer> / --default
|
|
45
|
+
const useDefault = options.default === true;
|
|
46
|
+
if (useDefault && answer !== undefined) {
|
|
47
|
+
console.error('Error: <answer> and --default are mutually exclusive.');
|
|
48
|
+
process.exit(types_1.ExitCode.CONFIG_ERROR);
|
|
49
|
+
}
|
|
50
|
+
if (!useDefault && (answer === undefined || !answer.trim())) {
|
|
51
|
+
console.error('Error: Answer cannot be empty. Provide an answer or --default.');
|
|
45
52
|
process.exit(types_1.ExitCode.CONFIG_ERROR);
|
|
46
53
|
}
|
|
47
54
|
const client = new api_client_1.ApiClient({ token: options.token });
|
|
@@ -53,7 +60,7 @@ function createRespondCommand() {
|
|
|
53
60
|
? await (0, instances_1.resolveInstanceCliTool)(client, worktreeId, options.instance, options.agent)
|
|
54
61
|
: options.agent;
|
|
55
62
|
// [DR2-06] Use prompt-response API with cliTool (not cliToolId)
|
|
56
|
-
const body = { answer };
|
|
63
|
+
const body = useDefault ? { useDefault: true } : { answer };
|
|
57
64
|
if (agent) {
|
|
58
65
|
body.cliTool = agent;
|
|
59
66
|
}
|
|
@@ -65,9 +72,28 @@ function createRespondCommand() {
|
|
|
65
72
|
if (result && !result.success) {
|
|
66
73
|
// [DR2-06] Check reason for failure
|
|
67
74
|
const reason = result.reason || 'unknown';
|
|
68
|
-
|
|
75
|
+
if (reason === 'unresolvable_answer') {
|
|
76
|
+
// Issue #1681: nothing was sent to the terminal.
|
|
77
|
+
console.error(`Error: Answer was not sent. Reason: ${reason}${result.message ? ` (${result.message})` : ''}`);
|
|
78
|
+
}
|
|
79
|
+
else {
|
|
80
|
+
console.error(`Warning: Response may not have been applied. Reason: ${reason}`);
|
|
81
|
+
}
|
|
69
82
|
process.exit(types_1.ExitCode.UNEXPECTED_ERROR);
|
|
70
83
|
}
|
|
84
|
+
// Issue #1681: audit trail — print which option was actually selected.
|
|
85
|
+
const resolved = result?.resolved;
|
|
86
|
+
if (resolved) {
|
|
87
|
+
if (resolved.via === 'semantic') {
|
|
88
|
+
console.log(`Resolved "${answer}" to option ${resolved.optionNumber}: ${resolved.optionLabel}`);
|
|
89
|
+
}
|
|
90
|
+
else if (resolved.optionNumber !== undefined) {
|
|
91
|
+
console.log(`Selected default option ${resolved.optionNumber}: ${resolved.optionLabel}`);
|
|
92
|
+
}
|
|
93
|
+
else {
|
|
94
|
+
console.log(`Selected default answer: ${resolved.optionLabel}`);
|
|
95
|
+
}
|
|
96
|
+
}
|
|
71
97
|
console.error('Response sent.');
|
|
72
98
|
}
|
|
73
99
|
catch (error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"send.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/send.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"send.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/send.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAiKpC,wBAAgB,iBAAiB,IAAI,OAAO,CAoK3C"}
|
|
@@ -11,6 +11,7 @@ const api_client_1 = require("../utils/api-client");
|
|
|
11
11
|
const command_helpers_1 = require("../utils/command-helpers");
|
|
12
12
|
const duration_constants_1 = require("../config/duration-constants");
|
|
13
13
|
const cli_tool_ids_1 = require("../config/cli-tool-ids");
|
|
14
|
+
const agent_target_options_1 = require("../config/agent-target-options");
|
|
14
15
|
const model_validation_1 = require("../config/model-validation");
|
|
15
16
|
const agent_instances_1 = require("../utils/agent-instances");
|
|
16
17
|
const instances_1 = require("./instances");
|
|
@@ -132,13 +133,13 @@ function createSendCommand() {
|
|
|
132
133
|
.description('Send a message to a worktree agent')
|
|
133
134
|
.argument('<worktree-id>', 'Worktree ID')
|
|
134
135
|
.argument('[message]', 'Message to send (omit when using --contract)')
|
|
135
|
-
.option('--
|
|
136
|
-
.option('--
|
|
137
|
-
.option('--register', 'Register the --instance session into the agent-instance roster (
|
|
136
|
+
.option('--instance <id>', agent_target_options_1.INSTANCE_OPTION_DESCRIPTION)
|
|
137
|
+
.option('--agent <agent>', agent_target_options_1.AGENT_OPTION_DESCRIPTION)
|
|
138
|
+
.option('--register', 'Register the --instance session into the agent-instance roster (needs --agent unless the instance id is itself a CLI tool id)')
|
|
138
139
|
.option('--model <model>', 'Specify AI model for Copilot or Antigravity agent')
|
|
139
|
-
.option('--auto-yes', 'Enable auto-yes before sending')
|
|
140
|
+
.option('--auto-yes', 'Enable auto-yes before sending (session-wide, no policy guard; for unattended runs prefer --contract with an autoYes policy)')
|
|
140
141
|
.option('--duration <duration>', `Auto-yes duration (${duration_constants_1.ALLOWED_DURATIONS.join(', ')})`)
|
|
141
|
-
.option('--stop-pattern <pattern>', 'Auto-yes stop pattern (regex)')
|
|
142
|
+
.option('--stop-pattern <pattern>', 'Auto-yes stop pattern (regex). Matched against terminal output; cannot block commands (use the task contract\'s autoYes.denyPatterns for that)')
|
|
142
143
|
.option('--contract <path>', 'Execution contract path relative to the worktree root (e.g. .commandmate/tasks/my-task.yaml). Records a task and sends the contract preamble plus its goal.')
|
|
143
144
|
.option('--token <token>', command_helpers_1.TOKEN_WARNING)
|
|
144
145
|
.action(async (worktreeId, message, options) => {
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* Nothing here prints an absolute path, a token or an artifact URL: the API does
|
|
8
8
|
* not serve them, and these functions must not reconstruct them either.
|
|
9
9
|
*/
|
|
10
|
-
import type { SkillCatalogMeta, SkillCatalogSummary, SkillInstallPlan, SkillUninstallPlan } from '../types/api-responses';
|
|
10
|
+
import type { SkillCatalogMeta, SkillCatalogSummary, SkillInstallPlan, SkillUninstallPlan, SkillUpdatePlan } from '../types/api-responses';
|
|
11
11
|
/**
|
|
12
12
|
* Freshness notice for a Catalog response, or null when it was confirmed current.
|
|
13
13
|
* Belongs on stderr: it qualifies the listing rather than being part of it.
|
|
@@ -23,6 +23,12 @@ export declare function formatSkillDetail(skill: SkillCatalogSummary, version?:
|
|
|
23
23
|
export declare function formatInstallRoots(roots: readonly string[] | undefined, primary: string): string;
|
|
24
24
|
/** The install preview: what lands, where, at what risk, and what stands in the way. */
|
|
25
25
|
export declare function formatInstallPlan(plan: SkillInstallPlan): string;
|
|
26
|
+
/**
|
|
27
|
+
* The update preview (Issue #1243): the version move, the security-relevant
|
|
28
|
+
* differences, the file diff totals, and every reason the update is refused.
|
|
29
|
+
* Shows the same facts the browser dialog shows, in the same order.
|
|
30
|
+
*/
|
|
31
|
+
export declare function formatUpdatePlan(plan: SkillUpdatePlan): string;
|
|
26
32
|
/** The uninstall preview: what would be deleted, what would stay, and why. */
|
|
27
33
|
export declare function formatUninstallPlan(plan: SkillUninstallPlan): string;
|
|
28
34
|
//# sourceMappingURL=skill-format.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skill-format.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/skill-format.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EACV,gBAAgB,EAChB,mBAAmB,EACnB,gBAAgB,EAChB,kBAAkB,
|
|
1
|
+
{"version":3,"file":"skill-format.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/skill-format.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EACV,gBAAgB,EAChB,mBAAmB,EACnB,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,EAChB,MAAM,wBAAwB,CAAC;AAgBhC;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,gBAAgB,GAAG,MAAM,GAAG,IAAI,CAI/E;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,mBAAmB,EAAE,GAAG,MAAM,CAatE;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,mBAAmB,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CA2CtF;AAMD;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAEhG;AAED,wFAAwF;AACxF,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,gBAAgB,GAAG,MAAM,CA8ChE;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,eAAe,GAAG,MAAM,CAwE9D;AAED,8EAA8E;AAC9E,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,kBAAkB,GAAG,MAAM,CA2BpE"}
|
|
@@ -14,6 +14,7 @@ exports.formatSkillTable = formatSkillTable;
|
|
|
14
14
|
exports.formatSkillDetail = formatSkillDetail;
|
|
15
15
|
exports.formatInstallRoots = formatInstallRoots;
|
|
16
16
|
exports.formatInstallPlan = formatInstallPlan;
|
|
17
|
+
exports.formatUpdatePlan = formatUpdatePlan;
|
|
17
18
|
exports.formatUninstallPlan = formatUninstallPlan;
|
|
18
19
|
/** [DR1-08 consistency] Mirrors ls.ts / instances.ts table rendering. */
|
|
19
20
|
function formatTable(headers, rows) {
|
|
@@ -133,6 +134,72 @@ function formatInstallPlan(plan) {
|
|
|
133
134
|
}
|
|
134
135
|
return lines.join('\n');
|
|
135
136
|
}
|
|
137
|
+
/**
|
|
138
|
+
* The update preview (Issue #1243): the version move, the security-relevant
|
|
139
|
+
* differences, the file diff totals, and every reason the update is refused.
|
|
140
|
+
* Shows the same facts the browser dialog shows, in the same order.
|
|
141
|
+
*/
|
|
142
|
+
function formatUpdatePlan(plan) {
|
|
143
|
+
const { skill, target, update, securityDiff, stats } = plan;
|
|
144
|
+
const lines = [
|
|
145
|
+
`Update plan: ${skill.name} (${skill.id}) ${update.fromVersion} -> ${update.toVersion}`,
|
|
146
|
+
'',
|
|
147
|
+
`Target: ${target.repositoryName} / ${target.worktreeName} (${target.worktreeId})`,
|
|
148
|
+
`Branch: ${target.branch ?? `(${target.headState})`}${target.workingTreeDirty ? ' [working tree dirty]' : ''}`,
|
|
149
|
+
`Install root: ${formatInstallRoots(target.installRoots, target.installRoot)}`,
|
|
150
|
+
`Risk: ${securityDiff.risk.from.effective} -> ${securityDiff.risk.to.effective}${securityDiff.risk.increased ? ' [RISK INCREASE]' : ''}`,
|
|
151
|
+
`Compatibility: ${skill.compatibility.commandmate.status} — ${skill.compatibility.commandmate.message}`,
|
|
152
|
+
];
|
|
153
|
+
if (update.latestVersion && update.latestVersion !== update.toVersion) {
|
|
154
|
+
lines.push(`Newest: ${update.latestVersion} (not selected)`);
|
|
155
|
+
}
|
|
156
|
+
if (securityDiff.permissions.added.length > 0) {
|
|
157
|
+
lines.push(formatList('Perms added: ', securityDiff.permissions.added));
|
|
158
|
+
}
|
|
159
|
+
if (securityDiff.permissions.removed.length > 0) {
|
|
160
|
+
lines.push(formatList('Perms removed:', securityDiff.permissions.removed));
|
|
161
|
+
}
|
|
162
|
+
if (securityDiff.scripts.added.length > 0) {
|
|
163
|
+
lines.push(formatList('New scripts: ', securityDiff.scripts.added));
|
|
164
|
+
}
|
|
165
|
+
if (securityDiff.scripts.removed.length > 0) {
|
|
166
|
+
lines.push(formatList('Scripts gone: ', securityDiff.scripts.removed));
|
|
167
|
+
}
|
|
168
|
+
if (securityDiff.executables.added.length > 0) {
|
|
169
|
+
lines.push(formatList('New execs: ', securityDiff.executables.added));
|
|
170
|
+
}
|
|
171
|
+
lines.push(`Changes: +${stats.added} added, ~${stats.updated} updated, -${stats.removed} removed, =${stats.unchanged} unchanged`);
|
|
172
|
+
const localFindings = stats.localModified + stats.localMissing + stats.localUnknown + stats.irregular;
|
|
173
|
+
if (localFindings > 0) {
|
|
174
|
+
lines.push(`Local: ${stats.localModified} modified, ${stats.localMissing} missing, ${stats.localUnknown} unmanaged, ${stats.irregular} irregular`);
|
|
175
|
+
}
|
|
176
|
+
for (const entry of securityDiff.changelogs) {
|
|
177
|
+
lines.push(`Changelog ${entry.version}:`);
|
|
178
|
+
for (const changelogLine of entry.changelog.split('\n')) {
|
|
179
|
+
lines.push(` ${changelogLine}`);
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
if (plan.warnings.length > 0) {
|
|
183
|
+
lines.push(`Warnings: ${plan.warnings.join(', ')}`);
|
|
184
|
+
}
|
|
185
|
+
if (plan.blockers.length > 0) {
|
|
186
|
+
lines.push('Blockers:');
|
|
187
|
+
for (const blocker of plan.blockers) {
|
|
188
|
+
lines.push(` - ${blocker.code}${blocker.detail ? ` (${blocker.detail})` : ''}${blocker.path ? `: ${blocker.path}` : ''}`);
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
lines.push(plan.updatable
|
|
192
|
+
? 'Updatable: yes'
|
|
193
|
+
: 'Updatable: no — nothing would be written');
|
|
194
|
+
if (plan.requiresRiskAcknowledgement) {
|
|
195
|
+
lines.push(`High risk: applying this update will require an explicit acknowledgement of ${skill.id}@${update.toVersion}`);
|
|
196
|
+
}
|
|
197
|
+
if (plan.riskIncreased) {
|
|
198
|
+
lines.push('Risk rises: applying this update will require a separate risk-increase confirmation');
|
|
199
|
+
}
|
|
200
|
+
lines.push(`Next action: ${plan.nextActionKey}`);
|
|
201
|
+
return lines.join('\n');
|
|
202
|
+
}
|
|
136
203
|
/** The uninstall preview: what would be deleted, what would stay, and why. */
|
|
137
204
|
function formatUninstallPlan(plan) {
|
|
138
205
|
const { skill, target, stats } = plan;
|
|
@@ -5,6 +5,8 @@
|
|
|
5
5
|
* commandmate skill list [--json]
|
|
6
6
|
* commandmate skill info <skill-id> [--version <v>] [--json]
|
|
7
7
|
* commandmate skill plan <skill-id> --worktree <id> [--version <v>] [--json]
|
|
8
|
+
* commandmate skill update-plan <skill-id> --worktree <id> [--version <v>] [--range <r>] [--json]
|
|
9
|
+
* commandmate skill update <skill-id> --worktree <id> [--version <v>] [--dry-run] [--yes] [--ack-risk <id>@<version>] [--ack-risk-increase]
|
|
8
10
|
* commandmate skill install <skill-id> --worktree <id> --version <exact> [--dry-run] [--yes] [--ack-risk <id>@<version>] [--git current|dedicated] [--push] [--pr]
|
|
9
11
|
* commandmate skill uninstall <skill-id> --worktree <id> [--dry-run] [--yes] [--json]
|
|
10
12
|
* commandmate skill status <skill-id> --worktree <id> [--json]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skill.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/skill.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"skill.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/skill.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA2qBpC,wBAAgB,kBAAkB,IAAI,OAAO,CAgM5C"}
|