commandmate 0.49.0 → 0.49.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.next/BUILD_ID +1 -1
- package/.next/app-build-manifest.json +238 -231
- package/.next/app-path-routes-manifest.json +19 -18
- package/.next/build-manifest.json +2 -2
- package/.next/prerender-manifest.json +9 -9
- package/.next/required-server-files.json +1 -1
- package/.next/routes-manifest.json +8 -0
- package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/server/app/api/agents/update/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/agents/versions/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/app/release-notes/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/app/update/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/app/update-check/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/auth/login/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/auth/logout/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/auth/status/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/capabilities/route.js +1 -1
- package/.next/server/app/api/capabilities/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/daily-summary/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/daily-summary/status/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/external-apps/[id]/health/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/external-apps/[id]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/external-apps/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/fs/browse/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/fs/recent-paths/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/hooks/agent-event/route.js +2 -2
- package/.next/server/app/api/hooks/agent-event/route.js.nft.json +1 -1
- package/.next/server/app/api/hooks/agent-event/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/hooks/claude-done/route.js +2 -2
- package/.next/server/app/api/hooks/claude-done/route.js.nft.json +1 -1
- package/.next/server/app/api/hooks/claude-done/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/hooks/permission-request/route.js +1 -1
- package/.next/server/app/api/hooks/permission-request/route.js.nft.json +1 -1
- package/.next/server/app/api/hooks/permission-request/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/metrics/vibe/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/ollama/models/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/push/escalation/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/push/subscriptions/route.js +1 -1
- package/.next/server/app/api/push/subscriptions/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/push/vapid/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/relays/[relayId]/cancel/route.js +1 -1
- package/.next/server/app/api/relays/[relayId]/cancel/route.js.nft.json +1 -1
- package/.next/server/app/api/relays/[relayId]/cancel/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/relays/[relayId]/route.js +1 -0
- package/.next/server/app/api/relays/[relayId]/route.js.nft.json +1 -0
- package/.next/server/app/api/relays/[relayId]/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/relays/route.js +1 -1
- package/.next/server/app/api/relays/route.js.nft.json +1 -1
- package/.next/server/app/api/relays/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/remote/pair/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/repositories/[id]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/repositories/clone/[jobId]/route.js +1 -1
- package/.next/server/app/api/repositories/clone/[jobId]/route.js.nft.json +1 -1
- package/.next/server/app/api/repositories/clone/[jobId]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/repositories/clone/route.js +1 -1
- package/.next/server/app/api/repositories/clone/route.js.nft.json +1 -1
- package/.next/server/app/api/repositories/clone/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/repositories/excluded/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/repositories/restore/route.js +1 -1
- package/.next/server/app/api/repositories/restore/route.js.nft.json +1 -1
- package/.next/server/app/api/repositories/restore/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/repositories/route.js +1 -1
- package/.next/server/app/api/repositories/route.js.nft.json +1 -1
- package/.next/server/app/api/repositories/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/repositories/scan/route.js +1 -1
- package/.next/server/app/api/repositories/scan/route.js.nft.json +1 -1
- package/.next/server/app/api/repositories/scan/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/repositories/sync/route.js +1 -1
- package/.next/server/app/api/repositories/sync/route.js.nft.json +1 -1
- package/.next/server/app/api/repositories/sync/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/repositories/validate-path/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/settings/default-agents/route.js +1 -1
- package/.next/server/app/api/settings/default-agents/route.js.nft.json +1 -1
- package/.next/server/app/api/settings/default-agents/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/settings/default-surface-mode/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/sidebar/group-order/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/skills/[id]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/skills/installations/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/skills/operations/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/skills/reindex/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/skills/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/slash-commands/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/tasks/[taskId]/cancel/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/tasks/[taskId]/route.js +1 -1
- package/.next/server/app/api/tasks/[taskId]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/templates/[id]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/templates/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/verification/runs/[runId]/route.js +1 -1
- package/.next/server/app/api/verification/runs/[runId]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/verification/runs/route.js +1 -1
- package/.next/server/app/api/verification/runs/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/auto-yes/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/auto-yes/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/auto-yes/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/capture/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/capture/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/capture/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/clear-composer/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/clear-composer/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/clear-composer/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/cli-reference/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/cli-reference/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/cli-tool/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/cli-tool/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/cmate/schedules/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/cmate/schedules/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/current-output/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/current-output/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/current-output/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/direct-input/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/direct-input/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/direct-input/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/env/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/env/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/execution-logs/[logId]/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/execution-logs/[logId]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/execution-logs/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/execution-logs/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/files/[...path]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/branch/create/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/branch/create/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/branch/delete/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/branch/delete/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/branches/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/branches/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/checkout/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/checkout/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/commit/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/commit/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/diff/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/diff/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/fetch/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/fetch/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/log/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/log/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/pull/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/pull/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/push/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/push/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/reset/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/reset/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/revert/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/revert/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/show/[commitHash]/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/show/[commitHash]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/stage/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/stage/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/staged/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/staged/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/stash/[index]/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/stash/[index]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/stash/apply/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/stash/apply/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/stash/pop/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/stash/pop/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/stash/push/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/stash/push/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/stash/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/stash/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/status/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/status/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/unstage/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/unstage/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/working-diff/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/working-diff/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/instances/notes/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/instances/notes/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/instances/opencode/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/instances/opencode/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/interrupt/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/interrupt/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/interrupt/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/kill-session/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/kill-session/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/kill-session/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/logs/[filename]/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/logs/[filename]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/logs/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/logs/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/marp-render/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/marp-render/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/memos/[memoId]/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/memos/[memoId]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/memos/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/memos/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/messages/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/messages/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/opencode/diff/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/opencode/diff/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/opencode/session/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/opencode/share/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/prompt-response/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/prompt-response/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/prompt-response/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/prompt-response/strict/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/prompt-response/strict/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/prompt-response/strict/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/resolve-target/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/resolve-target/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/respond/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/respond/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/respond/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/schedules/[scheduleId]/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/schedules/[scheduleId]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/schedules/active/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/schedules/active/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/schedules/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/schedules/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/search/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/send/route.js +144 -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 +3 -3
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/git-workflow/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/git-workflow/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/install/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/plan/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/uninstall/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/uninstall-plan/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/update/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/update-plan/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/slash-commands/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/slash-commands/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/special-keys/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/special-keys/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/special-keys/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/tasks/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/tasks/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/terminal/route.js +103 -1
- package/.next/server/app/api/worktrees/[id]/terminal/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/terminal/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/timers/history/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/timers/history/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/timers/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/timers/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/timers/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/todos/[todoId]/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/todos/[todoId]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/todos/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/todos/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/tree/[...path]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/tree/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/upload/[...path]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/verify/config/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/verify/config/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/verify/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/verify/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/verify/runs/[runId]/cancel/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/verify/runs/[runId]/cancel/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/verify/runs/[runId]/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/verify/runs/[runId]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/verify/runs/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/verify/runs/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/viewed/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/viewed/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/apply-default-agents/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/route.js +1 -1
- package/.next/server/app/api/worktrees/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/route_client-reference-manifest.js +1 -1
- package/.next/server/app/login/page_client-reference-manifest.js +1 -1
- package/.next/server/app/manifest.webmanifest/route_client-reference-manifest.js +1 -1
- package/.next/server/app/more/page_client-reference-manifest.js +1 -1
- package/.next/server/app/offline/page_client-reference-manifest.js +1 -1
- package/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/server/app/proxy/[...path]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/repositories/page_client-reference-manifest.js +1 -1
- package/.next/server/app/review/page_client-reference-manifest.js +1 -1
- package/.next/server/app/sessions/page.js +1 -1
- package/.next/server/app/sessions/page.js.nft.json +1 -1
- package/.next/server/app/sessions/page_client-reference-manifest.js +1 -1
- package/.next/server/app/skills/[skillId]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/skills/installed/page_client-reference-manifest.js +1 -1
- package/.next/server/app/skills/page_client-reference-manifest.js +1 -1
- package/.next/server/app/worktrees/[id]/files/[...path]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/worktrees/[id]/page.js +11 -11
- package/.next/server/app/worktrees/[id]/page.js.nft.json +1 -1
- package/.next/server/app/worktrees/[id]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/worktrees/[id]/terminal/page_client-reference-manifest.js +1 -1
- package/.next/server/app-paths-manifest.json +19 -18
- package/.next/server/chunks/1656.js +2 -2
- package/.next/server/chunks/2119.js +1 -1
- package/.next/server/chunks/2404.js +1 -1
- package/.next/server/chunks/2445.js +1 -1
- package/.next/server/chunks/3773.js +1 -0
- package/.next/server/chunks/3801.js +31 -0
- package/.next/server/chunks/5209.js +1 -1
- package/.next/server/chunks/5354.js +1 -1
- package/.next/server/chunks/{9130.js → 5630.js} +1 -1
- package/.next/server/chunks/5775.js +1 -0
- package/.next/server/chunks/610.js +1 -0
- package/.next/server/chunks/6119.js +1 -1
- package/.next/server/chunks/6130.js +1 -1
- package/.next/server/chunks/6401.js +1 -1
- package/.next/server/chunks/6486.js +1 -1
- package/.next/server/chunks/6781.js +1 -1
- package/.next/server/chunks/6808.js +4 -0
- package/.next/server/chunks/7023.js +14 -0
- package/.next/server/chunks/7604.js +1 -1
- package/.next/server/chunks/7905.js +1 -1
- package/.next/server/chunks/8581.js +15 -15
- package/.next/server/chunks/8728.js +2 -2
- package/.next/server/chunks/8782.js +1 -1
- package/.next/server/chunks/8807.js +63 -53
- package/.next/server/chunks/8918.js +103 -1
- package/.next/server/chunks/9198.js +144 -0
- package/.next/server/chunks/9390.js +1 -1
- package/.next/server/chunks/9584.js +1 -1
- package/.next/server/chunks/9627.js +1 -1
- package/.next/server/chunks/9731.js +3 -3
- package/.next/server/middleware-manifest.json +5 -5
- package/.next/server/pages/500.html +1 -1
- package/.next/server/server-reference-manifest.json +1 -1
- package/.next/static/chunks/{2407-ab92ae9837c39dce.js → 2407-675ba6b21844dc3b.js} +1 -1
- package/.next/static/chunks/3931-1a1abab16248f14d.js +1 -0
- package/.next/static/chunks/8606-ce17ffa77f39608e.js +1 -0
- package/.next/static/chunks/app/api/agents/update/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/agents/versions/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/app/release-notes/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/app/update/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/app/update-check/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/auth/login/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/auth/logout/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/auth/status/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/capabilities/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/daily-summary/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/daily-summary/status/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/external-apps/[id]/health/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/external-apps/[id]/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/external-apps/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/fs/browse/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/fs/recent-paths/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/hooks/agent-event/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/hooks/claude-done/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/hooks/permission-request/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/metrics/vibe/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/ollama/models/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/push/escalation/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/push/subscriptions/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/push/vapid/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/relays/[relayId]/cancel/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/relays/[relayId]/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/relays/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/remote/pair/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/repositories/[id]/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/repositories/clone/[jobId]/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/repositories/clone/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/repositories/excluded/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/repositories/restore/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/repositories/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/repositories/scan/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/repositories/sync/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/repositories/validate-path/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/settings/default-agents/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/settings/default-surface-mode/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/sidebar/group-order/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/skills/[id]/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/skills/installations/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/skills/operations/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/skills/reindex/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/skills/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/slash-commands/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/tasks/[taskId]/cancel/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/tasks/[taskId]/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/templates/[id]/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/templates/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/verification/runs/[runId]/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/verification/runs/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/auto-yes/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/capture/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/clear-composer/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/cli-reference/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/cli-tool/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/cmate/schedules/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/current-output/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/direct-input/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/env/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/execution-logs/[logId]/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/execution-logs/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/files/[...path]/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/branch/create/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/branch/delete/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/branches/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/checkout/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/commit/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/diff/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/fetch/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/log/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/pull/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/push/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/reset/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/revert/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/show/[commitHash]/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/stage/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/staged/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/stash/[index]/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/stash/apply/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/stash/pop/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/stash/push/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/stash/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/status/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/unstage/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/working-diff/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/instances/notes/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/instances/opencode/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/interrupt/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/kill-session/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/logs/[filename]/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/logs/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/marp-render/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/memos/[memoId]/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/memos/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/messages/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/opencode/diff/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/opencode/session/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/opencode/share/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/prompt-response/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/prompt-response/strict/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/resolve-target/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/respond/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/schedules/[scheduleId]/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/schedules/active/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/schedules/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/search/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/send/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/git-workflow/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/install/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/plan/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/uninstall/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/uninstall-plan/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/update/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/update-plan/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/skills/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/slash-commands/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/special-keys/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/tasks/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/terminal/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/timers/history/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/timers/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/todos/[todoId]/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/todos/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/tree/[...path]/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/tree/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/upload/[...path]/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/verify/config/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/verify/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/verify/runs/[runId]/cancel/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/verify/runs/[runId]/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/verify/runs/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/viewed/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/apply-default-agents/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/layout-8bfac4724277b47f.js +1 -0
- package/.next/static/chunks/app/manifest.webmanifest/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/proxy/[...path]/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/sessions/page-890fd50ec9739973.js +1 -0
- package/.next/static/chunks/app/worktrees/[id]/layout-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/worktrees/[id]/page-f6d3ab8185d93aae.js +1 -0
- package/.next/static/css/c1e307d05daf93b6.css +1 -0
- package/.next/trace +13 -13
- package/.next/types/app/api/relays/[relayId]/route.ts +347 -0
- package/.next/types/routes.d.ts +2 -1
- package/.next/types/validator.ts +9 -0
- package/dist/cli/commands/ask.d.ts.map +1 -1
- package/dist/cli/commands/ask.js +178 -13
- package/dist/cli/commands/message-dispatch.d.ts +25 -5
- package/dist/cli/commands/message-dispatch.d.ts.map +1 -1
- package/dist/cli/commands/message-dispatch.js +92 -6
- package/dist/cli/commands/relays.d.ts +25 -2
- package/dist/cli/commands/relays.d.ts.map +1 -1
- package/dist/cli/commands/relays.js +69 -5
- package/dist/cli/commands/respond.d.ts +12 -0
- package/dist/cli/commands/respond.d.ts.map +1 -1
- package/dist/cli/commands/respond.js +63 -1
- package/dist/cli/commands/send.d.ts.map +1 -1
- package/dist/cli/commands/send.js +6 -4
- package/dist/cli/commands/wait-hook-stop-settle.d.ts +66 -0
- package/dist/cli/commands/wait-hook-stop-settle.d.ts.map +1 -0
- package/dist/cli/commands/wait-hook-stop-settle.js +150 -0
- package/dist/cli/commands/wait-instance.d.ts +21 -0
- package/dist/cli/commands/wait-instance.d.ts.map +1 -0
- package/dist/cli/commands/wait-instance.js +41 -0
- package/dist/cli/commands/wait-notices.d.ts +87 -0
- package/dist/cli/commands/wait-notices.d.ts.map +1 -0
- package/dist/cli/commands/wait-notices.js +301 -0
- package/dist/cli/commands/wait-poll-bookkeeping.d.ts +15 -0
- package/dist/cli/commands/wait-poll-bookkeeping.d.ts.map +1 -0
- package/dist/cli/commands/wait-poll-bookkeeping.js +57 -0
- package/dist/cli/commands/wait-poll-state.d.ts +118 -0
- package/dist/cli/commands/wait-poll-state.d.ts.map +1 -0
- package/dist/cli/commands/wait-poll-state.js +6 -0
- package/dist/cli/commands/wait-timing.d.ts +46 -0
- package/dist/cli/commands/wait-timing.d.ts.map +1 -0
- package/dist/cli/commands/wait-timing.js +99 -0
- package/dist/cli/commands/wait-turn-boundary.d.ts +284 -0
- package/dist/cli/commands/wait-turn-boundary.d.ts.map +1 -0
- package/dist/cli/commands/wait-turn-boundary.js +427 -0
- package/dist/cli/commands/wait-verify.d.ts +50 -0
- package/dist/cli/commands/wait-verify.d.ts.map +1 -0
- package/dist/cli/commands/wait-verify.js +124 -0
- package/dist/cli/commands/wait.d.ts +6 -105
- package/dist/cli/commands/wait.d.ts.map +1 -1
- package/dist/cli/commands/wait.js +207 -959
- 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 +23 -1
- package/dist/cli/types/api-responses.d.ts +47 -3
- package/dist/cli/types/api-responses.d.ts.map +1 -1
- package/dist/cli/utils/api-client.d.ts +15 -1
- package/dist/cli/utils/api-client.d.ts.map +1 -1
- package/dist/cli/utils/api-client.js +7 -1
- package/dist/cli/utils/reply-ledger.d.ts +79 -0
- package/dist/cli/utils/reply-ledger.d.ts.map +1 -1
- package/dist/cli/utils/reply-ledger.js +141 -1
- package/dist/lib/session/send-attempt-types.d.ts +23 -1
- package/dist/lib/session/send-attempt-types.d.ts.map +1 -1
- package/dist/lib/session/send-attempt-types.js +9 -1
- package/dist/server/locales/en/worktree.json +18 -3
- package/dist/server/locales/ja/worktree.json +18 -3
- package/dist/server/src/lib/auto-yes-poller.js +49 -10
- package/dist/server/src/lib/cli-tools/antigravity.js +40 -7
- package/dist/server/src/lib/cli-tools/codex.js +60 -11
- package/dist/server/src/lib/cli-tools/command-code-plan-review.js +24 -2
- package/dist/server/src/lib/cli-tools/copilot.js +120 -30
- package/dist/server/src/lib/cli-tools/gemini.js +28 -9
- package/dist/server/src/lib/cli-tools/opencode.js +55 -13
- package/dist/server/src/lib/cli-tools/submit-composer-read.js +580 -0
- package/dist/server/src/lib/cli-tools/submit-verified-sender.js +356 -621
- package/dist/server/src/lib/db/migrations/index.js +2 -0
- package/dist/server/src/lib/db/migrations/pre-migration-backup.js +266 -0
- package/dist/server/src/lib/db/migrations/runner.js +37 -4
- package/dist/server/src/lib/db/migrations/v62-session-relays-bind.js +102 -0
- package/dist/server/src/lib/db/relay-bind-db.js +437 -0
- package/dist/server/src/lib/db/relay-db.js +59 -96
- package/dist/server/src/lib/detection/upstream-faults.js +40 -6
- package/dist/server/src/lib/hooks/sources/opencode/client.js +12 -6
- package/dist/server/src/lib/polling/response-checker.js +7 -5
- package/dist/server/src/lib/prompt-answer-errors.js +288 -0
- package/dist/server/src/lib/prompt-answer-sender.js +264 -288
- package/dist/server/src/lib/push/failure-episode-state.js +4 -1
- package/dist/server/src/lib/realtime/terminal-broadcast.js +1 -4
- package/dist/server/src/lib/realtime-snippet.js +54 -0
- package/dist/server/src/lib/relay/relay-bind.js +294 -0
- package/dist/server/src/lib/relay/relay-boot.js +51 -0
- package/dist/server/src/lib/relay/relay-bound-reply.js +519 -0
- package/dist/server/src/lib/relay/relay-delivery.js +134 -220
- package/dist/server/src/lib/relay/relay-messages.js +39 -4
- package/dist/server/src/lib/relay/relay-overlap.js +92 -0
- package/dist/server/src/lib/relay/relay-system-line.js +3 -2
- package/dist/server/src/lib/relay/types.js +12 -1
- package/dist/server/src/lib/session/agent-session-lifecycle.js +18 -0
- package/dist/server/src/lib/session/claude-session.js +41 -6
- package/dist/server/src/lib/session/composer-clear.js +54 -1
- package/dist/server/src/lib/session/current-output-builder.js +21 -5
- package/dist/server/src/lib/session/instance-input-lock.js +664 -0
- package/dist/server/src/lib/session/send-attempt-state.js +17 -0
- package/dist/server/src/lib/session/send-attempt-types.js +9 -1
- package/dist/server/src/lib/session/send-user-message.js +82 -13
- package/package.json +1 -1
- package/release-notes/0.49.1.json +66 -0
- package/.next/server/chunks/1210.js +0 -1
- package/.next/server/chunks/1945.js +0 -14
- package/.next/server/chunks/1990.js +0 -103
- package/.next/server/chunks/4194.js +0 -67
- package/.next/server/chunks/4280.js +0 -1
- package/.next/server/chunks/5845.js +0 -1
- package/.next/server/chunks/720.js +0 -103
- package/.next/server/chunks/936.js +0 -1
- package/.next/server/chunks/9540.js +0 -1
- package/.next/static/chunks/8606-cf6bdbff44a764cf.js +0 -1
- package/.next/static/chunks/9079-987939d231704218.js +0 -1
- package/.next/static/chunks/app/api/agents/update/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/agents/versions/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/app/release-notes/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/app/update/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/app/update-check/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/auth/login/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/auth/logout/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/auth/status/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/capabilities/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/daily-summary/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/daily-summary/status/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/external-apps/[id]/health/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/external-apps/[id]/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/external-apps/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/fs/browse/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/fs/recent-paths/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/hooks/agent-event/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/hooks/claude-done/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/hooks/permission-request/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/metrics/vibe/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/ollama/models/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/push/escalation/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/push/subscriptions/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/push/vapid/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/relays/[relayId]/cancel/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/relays/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/remote/pair/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/repositories/[id]/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/repositories/clone/[jobId]/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/repositories/clone/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/repositories/excluded/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/repositories/restore/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/repositories/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/repositories/scan/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/repositories/sync/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/repositories/validate-path/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/settings/default-agents/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/settings/default-surface-mode/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/sidebar/group-order/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/skills/[id]/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/skills/installations/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/skills/operations/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/skills/reindex/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/skills/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/slash-commands/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/tasks/[taskId]/cancel/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/tasks/[taskId]/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/templates/[id]/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/templates/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/verification/runs/[runId]/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/verification/runs/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/auto-yes/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/capture/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/clear-composer/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/cli-reference/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/cli-tool/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/cmate/schedules/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/current-output/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/direct-input/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/env/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/execution-logs/[logId]/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/execution-logs/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/files/[...path]/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/branch/create/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/branch/delete/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/branches/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/checkout/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/commit/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/diff/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/fetch/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/log/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/pull/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/push/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/reset/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/revert/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/show/[commitHash]/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/stage/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/staged/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/stash/[index]/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/stash/apply/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/stash/pop/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/stash/push/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/stash/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/status/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/unstage/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/working-diff/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/instances/notes/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/instances/opencode/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/interrupt/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/kill-session/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/logs/[filename]/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/logs/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/marp-render/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/memos/[memoId]/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/memos/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/messages/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/opencode/diff/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/opencode/session/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/opencode/share/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/prompt-response/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/prompt-response/strict/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/resolve-target/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/respond/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/schedules/[scheduleId]/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/schedules/active/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/schedules/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/search/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/send/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/git-workflow/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/install/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/plan/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/uninstall/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/uninstall-plan/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/update/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/update-plan/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/skills/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/slash-commands/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/special-keys/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/tasks/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/terminal/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/timers/history/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/timers/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/todos/[todoId]/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/todos/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/tree/[...path]/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/tree/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/upload/[...path]/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/verify/config/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/verify/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/verify/runs/[runId]/cancel/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/verify/runs/[runId]/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/verify/runs/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/viewed/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/apply-default-agents/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/layout-aa8e66164a4367af.js +0 -1
- package/.next/static/chunks/app/manifest.webmanifest/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/proxy/[...path]/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/sessions/page-cfd645305e25fd33.js +0 -1
- package/.next/static/chunks/app/worktrees/[id]/layout-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/worktrees/[id]/page-a8d7886703ffc7b4.js +0 -1
- package/.next/static/css/db8959555c3d9c96.css +0 -1
- /package/.next/static/{3_JtAZaKMJEDFIIfkHv4n → fqfSDqQMweROeHUzOt_m1}/_buildManifest.js +0 -0
- /package/.next/static/{3_JtAZaKMJEDFIIfkHv4n → fqfSDqQMweROeHUzOt_m1}/_ssgManifest.js +0 -0
|
@@ -1,25 +1,13 @@
|
|
|
1
1
|
exports.id=8581,exports.ids=[8581],exports.modules={762:(a,b,c)=>{Promise.resolve().then(c.bind(c,96908))},1102:(a,b,c)=>{"use strict";c.d(b,{m_:()=>n});var d=c(21124),e=c(38301),f=c(23312);function g(a,b,c){return Math.min(Math.max(a,4),Math.max(4,c-b-4))}function h(a,b,c,d){switch(a){case"top":return b.top-c.height-8<4;case"bottom":return b.top+b.height+8+c.height>d.height-4;case"left":return b.left-c.width-8<4;default:return b.left+b.width+8+c.width>d.width-4}}function i(a,b,c){switch(a){case"top":return Math.max(0,b.top-8-4);case"bottom":return Math.max(0,c.height-4-(b.top+b.height+8));case"left":return Math.max(0,b.left-8-4);default:return Math.max(0,c.width-4-(b.left+b.width+8))}}function j(a){return{maxWidth:`${a}px`,whiteSpace:"normal",overflowWrap:"anywhere"}}c(72957);let k={maxWidth:"max-width",whiteSpace:"white-space",overflowWrap:"overflow-wrap"};function l(a,b){let c=null===b?null:j(b);for(let[b,d]of Object.entries(k))null===c?a.style.removeProperty(d):a.style.setProperty(d,c[b])}let m={top:-9999,left:-9999};function n({content:a,placement:b="right",delay:c=100,children:k,className:n,zIndex:o,fallbackPlacement:p}){let[q,r]=(0,e.useState)(!1),[s,t]=(0,e.useState)(!1),[u,v]=(0,e.useState)(null),[w,x]=(0,e.useState)(null),y=(0,e.useRef)(null),z=(0,e.useRef)(null),A=(0,e.useRef)(null),B=(0,e.useCallback)(()=>{null!==A.current&&(clearTimeout(A.current),A.current=null)},[]),C=(0,e.useCallback)(()=>{B(),A.current=setTimeout(()=>{r(!0),A.current=null},c)},[c,B]),D=(0,e.useCallback)(()=>{B(),r(!1)},[B]),E=(0,e.useCallback)(()=>{t(!0)},[]),F=(0,e.useCallback)(()=>{t(!1)},[]);return(0,e.useCallback)(()=>{B(),r(!1),t(!1)},[B]),(0,e.useCallback)(()=>{let a=y.current,c=z.current;if(!a||!c)return;let d=a.getBoundingClientRect(),e={top:d.top,left:d.left,width:d.width,height:d.height},f={width:window.innerWidth,height:window.innerHeight};l(c,null);let j=c.getBoundingClientRect(),k=function(a,b,c,d,e){let f=a=>"left"===a||"right"===a;if(void 0===e||e===a||!f(a)||!f(e)||!h(a,b,c,d)||!h(e,b,c,d))return null;let g=i(a,b,d),j=i(e,b,d),k=j>g?e:a,l=Math.floor(Math.max(g,j));return l>=80?{placement:k,maxWidth:l}:null}(b,e,{width:j.width,height:j.height},f,p);k&&(l(c,k.maxWidth),j=c.getBoundingClientRect()),x(k?k.maxWidth:null),v(function a(b,c,d,e,f){let i,j;if(void 0!==f&&f!==b&&h(b,c,d,e)&&!h(f,c,d,e))return a(f,c,d,e);let k=c.left+c.width/2-d.width/2,l=c.top+c.height/2-d.height/2;switch(b){case"top":i=c.top-d.height-8,j=k;break;case"bottom":i=c.top+c.height+8,j=k;break;case"left":i=l,j=c.left-d.width-8;break;default:i=l,j=c.left+c.width+8}return{top:g(i,d.height,e.height),left:g(j,d.width,e.width)}}(k?k.placement:b,e,{width:j.width,height:j.height},f,k?void 0:p))},[b,p]),(0,d.jsxs)("span",{ref:y,"data-testid":"tooltip-wrapper",className:n?`relative inline-flex ${n}`:"relative inline-flex",tabIndex:-1,onMouseEnter:C,onMouseLeave:D,onFocus:E,onBlur:F,children:[k,(q||s)&&"undefined"!=typeof document&&(0,f.createPortal)((0,d.jsx)("span",{ref:z,role:"tooltip","aria-hidden":"true","data-placement":b,className:"fixed z-40 whitespace-nowrap px-2 py-1 text-xs font-medium rounded bg-foreground text-background shadow-lg pointer-events-none",style:{...u??m,...void 0===o?{}:{zIndex:o},...null===w?{}:j(w)},children:a}),document.body)]})}},1483:(a,b,c)=>{var d={"./en/keyboardShortcuts.json":[53722,1341],"./ja/keyboardShortcuts.json":[88356,8356]};function e(a){if(!c.o(d,a))return Promise.resolve().then(()=>{var b=Error("Cannot find module '"+a+"'");throw b.code="MODULE_NOT_FOUND",b});var b=d[a],e=b[0];return c.e(b[1]).then(()=>c.t(e,19))}e.keys=()=>Object.keys(d),e.id=1483,a.exports=e},1637:(a,b,c)=>{"use strict";c.d(b,{Ej:()=>k,Jd:()=>h,Mq:()=>j,rH:()=>i});var d=c(21124),e=c(38301),f=c(20481),g=c(22317);let h="bg-transparent border-2 border-muted-foreground",i="status.unknown";function j(a,b){return!0===b&&"ready"===a}let k=(0,e.memo)(function({status:a,label:b,waitingKind:c,unclassified:e}){let k=(0,f.c)("common"),l=j(a,e);return(0,d.jsx)(g.m,{"data-testid":"status-indicator",status:a,label:l?b??k(i):b,waitingKind:c,size:"sm",className:l?h:void 0,"data-unclassified":l?"true":void 0})})},3839:(a,b,c)=>{"use strict";c.d(b,{K:()=>o,m:()=>p});var d=c(21124),e=c(38301),f=c(20481),g=c(38882),h=c(59405),i=c(12927),j=c(10290),k=c(63474),l=c(63156),m=c(11010),n=c(20316);let o="data-branch-row-actions",p=(0,e.memo)(function({branch:a,isSelected:b,onOpenChange:c,worktreeStatus:p=null,onWorktreeStatusChange:q}){let r=(0,f.c)("common"),s=(0,f.c)("worktree"),{showToast:t}=(0,k.dj)(),u=(0,e.useCallback)(async a=>{try{await (0,l.l)(a),t(r("branchItem.copied"),"success")}catch{t(r("branchItem.copyFailed"),"error")}},[t,r]);return(0,d.jsxs)(j.rI,{onOpenChange:c,children:[(0,d.jsx)(j.ty,{asChild:!0,children:(0,d.jsx)("button",{type:"button","data-testid":"branch-row-actions","aria-label":r("branchItem.actions",{name:a.name}),title:r("branchItem.actions",{name:a.name}),className:`absolute right-3 top-[5px] flex h-6 w-6 items-center justify-center rounded-md
|
|
2
2
|
text-sidebar-muted transition-colors hover:bg-sidebar-hover hover:text-sidebar-foreground
|
|
3
3
|
focus:outline-none focus-visible:ring-2 focus-visible:ring-ring
|
|
4
|
-
data-[state=open]:text-sidebar-foreground ${b?"":"[@media(hover:none)]:hidden"}`,children:(0,d.jsx)(g.A,{className:"h-4 w-4","aria-hidden":"true"})})}),(0,d.jsxs)(j.SQ,{align:"end",[o]:"",onEscapeKeyDown:a=>a.stopPropagation(),children:[(0,d.jsx)(j._2,{asChild:!0,children:(0,d.jsx)("a",{href:`/worktrees/${a.id}`,target:"_blank",rel:"noopener noreferrer",children:r("branchItem.openInNewTab")})}),(0,d.jsx)(j._2,{onSelect:()=>void u(a.name),children:r("branchItem.copyBranchName")}),a.worktreePath&&(0,d.jsx)(j._2,{onSelect:()=>void u(a.worktreePath??""),children:r("branchItem.copyPath")}),q&&(0,d.jsxs)(i.Pb,{children:[(0,d.jsxs)(i.ZP,{"data-testid":"branch-row-status",className:"relative flex cursor-pointer select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-muted data-[state=open]:bg-muted",children:[(0,d.jsx)("span",{className:"flex-1",children:r("branchItem.status")}),(0,d.jsx)("span",{"data-testid":"branch-row-status-current",className:"text-xs text-muted-foreground",children:s((0,n.Zh)(p))}),(0,d.jsx)(h.A,{className:"h-3.5 w-3.5 text-muted-foreground","aria-hidden":"true"})]}),(0,d.jsx)(i.ZL,{children:(0,d.jsx)(i.G5,{[o]:"",sideOffset:4,collisionPadding:8,style:{zIndex:m.M.POPOVER},className:"min-w-[9rem] overflow-hidden rounded-md border border-border bg-surface p-1 text-surface-foreground shadow-lg",onEscapeKeyDown:a=>a.stopPropagation(),children:(0,d.jsx)(j.Hr,{value:p??"",onValueChange:a=>{let b=""===a?null:a;b!==p&&q(b)},children:n.m9.map(a=>(0,d.jsx)(j.Ht,{value:a.value??"",children:s(a.labelKey)},a.labelKey))})})})]})]})]})})},3890:(a,b,c)=>{"use strict";c.d(b,{AppProviders:()=>E});var d=c(21124),e=c(42378);let f=["/login","/api/auth/login","/api/auth/logout","/api/auth/status","/api/remote/pair","/manifest.webmanifest","/sw.js","/offline"];var g=c(37397),h=c(45523),i=c(81092),j=c(84342),k=c(5772),l=c(64632),m=c(89184),n=c(63157),o=c(52761),p=c(74930),q=c(79782),r=c(23910),s=c(62197),t=c(73060),u=c(63474),v=c(74132),w=c(67693),x=c(90102),y=c(38301),z=c(20481),A=c(25345),B=c(11010),C=c(18608);function D(){let a=(0,z.c)("pwa"),[b,c]=(0,y.useState)(null);(0,y.useRef)(!1);let e=(0,C.W)();return!b||e?null:(0,d.jsx)("div",{"data-testid":"pwa-update-toast",role:"status","aria-live":"polite",className:"pointer-events-none fixed bottom-0 right-0 flex max-w-full justify-end px-4 pb-safe",style:{zIndex:B.M.TOAST},children:(0,d.jsxs)("div",{"data-testid":"pwa-update-toast-card",className:"pointer-events-auto mb-4 flex items-center gap-3 rounded-lg border border-border bg-surface px-4 py-3 shadow-lg",children:[(0,d.jsx)("span",{className:"text-sm font-medium text-foreground",children:a("update.available")}),(0,d.jsxs)("button",{type:"button",onClick:()=>{b.postMessage({type:"SKIP_WAITING"})},className:"inline-flex items-center gap-1.5 rounded-md bg-accent-600 px-3 py-1.5 text-sm font-medium text-white transition-colors hover:bg-accent-700 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 ring-offset-background dark:bg-accent-500 dark:hover:bg-accent-600",children:[(0,d.jsx)(A.A,{className:"h-4 w-4"}),a("update.reload")]})]})})}function E({children:a,locale:b,messages:c,timeZone:y,authEnabled:z=!1}){var A;let B=(A=(0,e.usePathname)(),!z||!f.includes(A??""));return(0,d.jsx)(g.default,{locale:b,messages:c,timeZone:y,children:(0,d.jsx)(u.tE,{children:(0,d.jsx)(h.N,{attribute:"class",defaultTheme:"system",enableSystem:!0,children:(0,d.jsx)(j.O,{authEnabled:z,children:(0,d.jsx)(k.W5,{children:(0,d.jsx)(i.GB,{children:(0,d.jsx)(p.tS,{enabled:B,children:(0,d.jsxs)(n.g7,{enabled:B,children:[(0,d.jsx)(v.rM,{}),(0,d.jsx)(x.o,{}),(0,d.jsx)(w.H,{}),(0,d.jsx)(l.E,{children:(0,d.jsx)(m.S,{children:(0,d.jsx)(q.aF,{children:(0,d.jsx)(r.y2,{enabled:B,children:(0,d.jsxs)(s.NS,{children:[(0,d.jsx)(o.Bo,{children:a}),(0,d.jsx)(D,{}),(0,d.jsx)(t.gZ,{})]})})})})})]})})})})})})})})}},4267:(a,b,c)=>{"use strict";c.d(b,{Lt:()=>h,Wj:()=>f,eu:()=>e,fJ:()=>g});var d=c(17252);let e=2,f=6,g=["claude","codex","antigravity"];function h(a){return a.length<e||a.length>f?{valid:!1,error:`Must be ${e}-${f} elements`}:a.every(a=>"string"==typeof a&&d.XH.includes(a))?new Set(a).size!==a.length?{valid:!1,error:"Duplicate tool IDs not allowed"}:{valid:!0,value:a}:{valid:!1,error:"Invalid CLI tool ID"}}},4558:(a,b,c)=>{"use strict";c.d(b,{A:()=>g});var d=c(43692),e=c(86802),f=c(25754);let g=(0,d.A)(async({requestLocale:a})=>{let b=await a;if(!(0,f.d9)(b)){let a=await (0,e.UL)(),c=await (0,e.b3)();b=(0,f.rv)(a.get(f.gB)?.value,c.get("accept-language"))}let[d,g,h,i,j,k,l,m,n,o,p,q,r,s,t]=await Promise.all([c(61118)(`./${b}/common.json`),c(90338)(`./${b}/worktree.json`),c(62081)(`./${b}/autoYes.json`),c(66125)(`./${b}/error.json`),c(72637)(`./${b}/prompt.json`),c(51877)(`./${b}/auth.json`),c(38898)(`./${b}/schedule.json`),c(80407)(`./${b}/commandPalette.json`),c(70288)(`./${b}/home.json`),c(60887)(`./${b}/review.json`),c(75567)(`./${b}/pwa.json`),c(99127)(`./${b}/notifications.json`),c(1483)(`./${b}/keyboardShortcuts.json`),c(80812)(`./${b}/externalApps.json`),c(18913)(`./${b}/skills.json`)]);return{locale:b,timeZone:"UTC",messages:{common:d.default,worktree:g.default,autoYes:h.default,error:i.default,prompt:j.default,auth:k.default,schedule:l.default,commandPalette:m.default,home:n.default,review:o.default,pwa:p.default,notifications:q.default,keyboardShortcuts:r.default,externalApps:s.default,skills:t.default}}})},5682:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>d});let d=(0,c(97954).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/home/runner/work/CommandMate/CommandMate/src/app/error.tsx\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/CommandMate/CommandMate/src/app/error.tsx","default")},5772:(a,b,c)=>{"use strict";c.d(b,{Ps:()=>k,W5:()=>j});var d=c(21124),e=c(38301),f=c(90076),g=c(12480);let h={size:g.r5,setSize:()=>{},isMobile:!1,factor:g.d8[g.r5].factor,isAvailable:!1},i=(0,e.createContext)(h);function j({children:a}){let{size:b,setSize:c,isAvailable:h}=(0,g.of)(),j=(0,f.a)(),k=(0,e.useMemo)(()=>({size:b,setSize:c,isMobile:j,factor:g.d8[b].factor,isAvailable:h}),[b,c,j,h]);return(0,d.jsx)(i.Provider,{value:k,children:a})}function k(){return(0,e.useContext)(i)}},6074:(a,b,c)=>{"use strict";c.d(b,{O:()=>e});var d=c(38301);function e(a,b){let[c,e]=(0,d.useState)(a?"open":"closed");return a&&"open"!==c?e("open"):a||"open"!==c||e("exiting"),{shouldRender:a||"closed"!==c,isExiting:!a&&"exiting"===c}}},9042:(a,b,c)=>{"use strict";c.d(b,{AppShellGate:()=>bG});var d=c(21124),e=c(42378),f=c(38301),g=c.n(f),h=c(81092),i=c(90076);let j={showSidebar:!0,showGlobalNav:!0,showLocalNav:!1,autoCollapseSidebar:!1},k=[{prefix:"/worktrees/",config:{showGlobalNav:!1,showLocalNav:!0}},{prefix:"/sessions",config:{autoCollapseSidebar:!0}}];var l=c(5772),m=c(3991),n=c.n(m),o=c(52761);let p=(0,f.forwardRef)(function({href:a,onClick:b,target:c,...f},g){let h=(0,e.usePathname)(),i=(0,o.Hq)();return(0,d.jsx)(n(),{ref:g,href:a,target:c,onClick:d=>{var e;b?.(d),d.defaultPrevented||0!==(e=d).button||e.metaKey||e.ctrlKey||e.shiftKey||e.altKey||void 0!==c&&"_self"!==c||/^([a-z][a-z0-9+.-]*:)?\/\//i.test(a)||/^(mailto:|tel:)/i.test(a)||(d.preventDefault(),a!==h&&i.push(a))},...f})});var q=c(20481),r=c(75903),s=c(65828),t=c(59268),u=c(94684),v=c(10366),w=c(99615),x=c(22023),y=c(47817),z=c(38812),A=c(1637),B=c(72380),C=c(77560),D=c(89877);let E=(0,f.memo)(function({worktrees:a,visibleWorktreeIds:b,selectedWorktreeId:c,onSelect:e,onNavigate:f}){let g=(0,q.c)("common"),h=a.length;if(0===h)return null;let i=a.slice(0,3),j=h-i.length;return(0,d.jsxs)("section",{"data-testid":"sidebar-needs-attention","aria-label":g("sidebar.needsAttention"),className:"flex-shrink-0 px-2 pt-3",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2 px-2 pb-1 text-xs text-sidebar-muted",children:[(0,d.jsx)("span",{className:"min-w-0 flex-1 truncate",children:g("sidebar.needsAttention")}),(0,d.jsx)("span",{"data-testid":"sidebar-needs-attention-count","aria-label":g("attention.badgeLabel",{count:h}),className:"flex-shrink-0 rounded-full bg-warning-subtle px-1.5 font-semibold leading-5 tabular-nums text-warning-foreground",children:h>99?"99+":h})]}),(0,d.jsx)("ul",{className:"space-y-0.5",children:i.map(a=>{let f=(0,D.XK)(a),h=!b.has(a.id),i=a.id===c;return(0,d.jsx)("li",{children:(0,d.jsxs)("button",{type:"button","data-testid":"sidebar-attention-item","data-hidden-repository":h?"true":void 0,onClick:()=>e(a.id),"aria-current":i?"true":void 0,title:`${f.name} \xb7 ${f.repositoryName}`,className:`flex h-[34px] w-full min-w-0 items-center gap-2 rounded-md px-2 text-left transition-colors hover:bg-sidebar-hover focus:outline-none focus-visible:ring-2 focus-visible:ring-ring ${i?"bg-sidebar-hover":""}`,children:[(0,d.jsx)("span",{className:"flex w-4 flex-shrink-0 items-center justify-center",children:(0,d.jsx)(A.Ej,{status:"waiting",waitingKind:f.waitingKind})}),(0,d.jsx)("span",{className:"min-w-0 flex-1 truncate text-sm text-sidebar-foreground",children:f.name}),(0,d.jsx)("span",{className:"min-w-0 max-w-[40%] flex-shrink truncate text-xs text-sidebar-muted",children:f.repositoryName}),h&&(0,d.jsx)(B.A,{"data-testid":"sidebar-attention-hidden-repository",className:"h-3.5 w-3.5 flex-shrink-0 text-sidebar-muted","aria-label":g("sidebar.hiddenRepository"),role:"img"})]})},a.id)})}),(0,d.jsx)(p,{href:C.ks,"data-testid":"sidebar-needs-attention-review-link",onClick:f,className:"mt-0.5 flex min-w-0 items-center rounded-md px-2 py-1 text-xs text-sidebar-muted transition-colors hover:bg-sidebar-hover hover:text-sidebar-foreground focus:outline-none focus-visible:ring-2 focus-visible:ring-ring",children:(0,d.jsx)("span",{className:"min-w-0 truncate",children:j>0?g("sidebar.attentionMoreInReview",{count:j}):g("sidebar.openInReview")})})]})}),F=(0,f.memo)(function({branches:a,selectedWorktreeId:b,onBranchClick:c,forceExpanded:e}){let g=(0,q.c)("common"),[h,i]=(0,f.useState)(!1),j=e||h;return(0,d.jsxs)("div",{"data-testid":"branch-group-other",children:[(0,d.jsx)("div",{className:z.R8,children:(0,d.jsxs)("button",{type:"button","data-testid":"branch-group-other-toggle","aria-expanded":j,disabled:e,onClick:()=>i(a=>!a),className:"flex h-[30px] w-full min-w-0 items-center gap-2 rounded-[10px] px-3 text-left text-xs text-sidebar-muted transition-colors hover:bg-sidebar-hover hover:text-sidebar-foreground focus:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-ring disabled:cursor-default disabled:hover:bg-transparent",children:[(0,d.jsx)("svg",{className:`h-3 w-3 flex-shrink-0 transition-transform ${j?"rotate-90":""}`,fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,"aria-hidden":"true",children:(0,d.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M9 5l7 7-7 7"})}),(0,d.jsx)("span",{className:"min-w-0 truncate",children:g("sidebar.otherBranches",{count:a.length})})]})}),j&&a.map(a=>(0,d.jsx)(z.yP,{branch:a,isSelected:a.id===b,onClick:()=>c(a.id),showRepositoryName:!1},a.id))]})});var G=c(85866),H=c(64936),I=c(10290),J=c(32482),K=c(35595);let L=[{mode:"grouped",labelKey:"sidebar.viewMode.grouped"},{mode:"flat",labelKey:"sidebar.viewMode.flat"},{mode:"sessions",labelKey:"sidebar.viewMode.sessions"}],M=[{key:"updatedAt",labelKey:"sort.updatedAt"},{key:"repositoryName",labelKey:"sort.repositoryName"},{key:"branchName",labelKey:"sort.branchName"},{key:"status",labelKey:"sort.status"}],N={updatedAt:"desc"},O={updatedAt:{asc:"sort.direction.oldestFirst",desc:"sort.direction.newestFirst"},repositoryName:{asc:"sort.direction.aToZ",desc:"sort.direction.zToA"},branchName:{asc:"sort.direction.aToZ",desc:"sort.direction.zToA"},status:{asc:"sort.direction.attentionFirst",desc:"sort.direction.attentionLast"}},P={asc:"sort.ascending",desc:"sort.descending"};function Q(a){a.preventDefault()}let R=(0,f.memo)(function({viewMode:a,onViewModeChange:b}){let c=(0,q.c)("common"),{sortKey:e,sortDirection:g,setSortKey:i,setSortDirection:j}=(0,h.VF)(),k=(0,f.useId)(),l=(0,f.useId)(),m=(0,f.useMemo)(()=>{let a=O[e]??P;return b=>c(a[b])},[e,c]),n=c(L.find(b=>b.mode===a)?.labelKey??"sidebar.viewMode.grouped"),o=c(M.find(a=>a.key===e)?.labelKey??`sort.${e}`),p=c("sidebar.listOptionsSummary",{view:n,sort:o,direction:m(g)}),r=a===h.e8&&e===h.P0&&g===h.RA,s=N[e]??"asc";return(0,d.jsxs)(I.rI,{children:[(0,d.jsx)(I.ty,{asChild:!0,children:(0,d.jsxs)("button",{type:"button","data-testid":"sidebar-list-options","data-view-mode":a,"data-sort-key":e,"data-sort-direction":g,"aria-label":c("sidebar.listOptionsLabel",{summary:p}),title:p,className:"relative flex h-8 w-8 flex-shrink-0 items-center justify-center rounded-md text-sidebar-muted transition-colors hover:bg-sidebar-hover hover:text-sidebar-foreground focus:outline-none focus-visible:ring-2 focus-visible:ring-ring data-[state=open]:bg-sidebar-hover data-[state=open]:text-sidebar-foreground",children:[(0,d.jsx)(H.A,{className:"h-4 w-4","aria-hidden":"true"}),!r&&(0,d.jsx)("span",{"data-testid":"sidebar-list-options-indicator","aria-hidden":"true",className:"absolute right-1 top-1 h-1.5 w-1.5 rounded-full bg-accent-500"})]})}),(0,d.jsxs)(I.SQ,{"data-testid":"sidebar-list-options-menu",align:"end",collisionPadding:8,className:(0,K.cn)("w-52 max-w-[calc(100vw-16px)]","max-h-[var(--radix-dropdown-menu-content-available-height)] overflow-y-auto"),children:[(0,d.jsx)(I.lp,{id:k,children:c("sidebar.viewLabel")}),(0,d.jsx)(I.Hr,{"data-testid":"view-mode-options","aria-labelledby":k,value:a,onValueChange:c=>{(0,J.$m)(c)&&c!==a&&b(c)},children:L.map(({mode:a,labelKey:b})=>(0,d.jsx)(I.Ht,{value:a,onSelect:Q,children:c(b)},a))}),(0,d.jsx)(I.mB,{}),(0,d.jsx)(I.lp,{id:l,children:c("sort.label")}),(0,d.jsx)(I.Hr,{"data-testid":"sort-key-options","aria-labelledby":l,value:e,onValueChange:a=>{let b=M.find(b=>b.key===a);b&&b.key!==e&&(i(b.key),j(N[b.key]??"asc"))},children:M.map(({key:a,labelKey:b})=>(0,d.jsx)(I.Ht,{value:a,onSelect:Q,children:c(b)},a))}),(0,d.jsx)(I.mB,{}),(0,d.jsx)(I.Hr,{"data-testid":"sort-direction-options","aria-label":c("sort.directionLabel"),value:g,onValueChange:a=>{("asc"===a||"desc"===a)&&j(a)},children:("asc"===s?["asc","desc"]:["desc","asc"]).map(a=>(0,d.jsx)(I.Ht,{value:a,onSelect:Q,children:m(a)},a))})]})]})}),S=(0,f.memo)(function({searchQuery:a,onSearchChange:b,viewMode:c,onViewModeChange:e}){let f=(0,q.c)("common");return(0,d.jsxs)("div",{"data-testid":"sidebar-list-toolbar",className:"flex flex-shrink-0 items-center gap-1 px-3 pt-2 pb-1.5",children:[(0,d.jsx)(G.pd,{type:"text",inputSize:"sm",placeholder:f("sidebar.searchBranches"),"aria-label":f("sidebar.searchBranches"),value:a,onChange:a=>b(a.target.value),className:"min-w-0 flex-1 border-sidebar-border bg-background shadow-none"}),(0,d.jsx)(R,{viewMode:c,onViewModeChange:e})]})});var T=c(1102),U=c(81497),V=c(45523),W=c(84342),X=c(85744),Y=c(62197),Z=c(12480),$=c(68232);async function _(){try{await fetch("/api/auth/logout",{method:"POST"}),window.location.href="/login"}catch{window.location.href="/login"}}let aa=I.ty;function ab(){let a=(0,q.c)("common"),{size:b,setSize:c}=(0,l.Ps)(),e=(0,h.pT)();return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(I.mB,{}),(0,d.jsx)(I.lp,{children:a("displaySize.ariaLabel")}),(0,d.jsx)(I.Hr,{value:b,onValueChange:a=>{(0,Z.fM)(a)&&c(a)},children:Z.Uf.map(b=>(0,d.jsx)(I.Ht,{value:b,children:a(`displaySize.${b}`)},b))}),e&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(I.lp,{children:a("repoTabBar.settingLabel")}),(0,d.jsx)(I.Hr,{value:e.repoTabBarMode,onValueChange:a=>{(0,J.m3)(a)&&e.setRepoTabBarMode(a)},children:J.EN.map(b=>(0,d.jsx)(I.Ht,{value:b,children:a(`repoTabBar.mode.${b}`)},b))})]})]})}function ac({children:a,testIdPrefix:b,side:c="top",align:e="end",showDisplayPreferences:g=!1,onNavigate:h}){let j=(0,q.c)("worktree"),k=(0,o.Hq)(),{theme:l,setTheme:m}=(0,V.D)(),{currentLocale:n,switchLocale:p}=(0,X.g)(),r=(0,W.H)(),s=(0,i.a)(),{open:t}=(0,Y.V0)(),u=(0,f.useRef)(!1),v=(0,f.useRef)(null),w="0.49.0",x=a=>{h?.(),k.push(a)};return(0,d.jsxs)(I.rI,{children:[a,(0,d.jsxs)(I.SQ,{side:c,align:e,collisionPadding:8,className:"w-56 max-w-[calc(100vw-16px)] max-h-[var(--radix-dropdown-menu-content-available-height)] overflow-y-auto",onCloseAutoFocus:()=>{u.current&&(u.current=!1,queueMicrotask(t))},children:[(0,d.jsx)(I.lp,{"data-testid":`${b}-version`,children:j("activityBar.settingsMenu.version",{version:w?`v${w}`:"-"})}),(0,d.jsx)(I._2,{asChild:!0,onSelect:()=>{let a=v.current;if(v.current=null,!(a&&(0!==a.button||a.metaKey||a.ctrlKey||a.shiftKey||a.altKey))){if(a?.preventDefault(),s)return void x("/more");u.current=!0}},children:(0,d.jsx)("a",{href:"/more","data-testid":`${b}-settings`,onClick:a=>{v.current=a},children:j("activityBar.settingsMenu.settings")})}),(0,d.jsx)(I._2,{onSelect:()=>x("/skills"),children:j("activityBar.settingsMenu.skills")}),(0,d.jsx)(I.mB,{}),(0,d.jsx)(I.lp,{children:j("activityBar.settingsMenu.theme")}),(0,d.jsxs)(I.Hr,{value:l??"system",onValueChange:a=>m(a),children:[(0,d.jsx)(I.Ht,{value:"light",children:j("activityBar.settingsMenu.themeLight")}),(0,d.jsx)(I.Ht,{value:"dark",children:j("activityBar.settingsMenu.themeDark")}),(0,d.jsx)(I.Ht,{value:"system",children:j("activityBar.settingsMenu.themeSystem")})]}),(0,d.jsx)(I.lp,{children:j("activityBar.settingsMenu.language")}),(0,d.jsx)(I.Hr,{value:n,onValueChange:a=>p(a),children:$.dI.map(a=>(0,d.jsx)(I.Ht,{value:a,children:$.vK[a]},a))}),g&&!s&&(0,d.jsx)(ab,{}),(0,d.jsx)(I.mB,{}),(0,d.jsx)(I._2,{asChild:!0,children:(0,d.jsx)("a",{href:"https://github.com/kewton/MyCodeBranchDesk",target:"_blank",rel:"noopener noreferrer",children:j("activityBar.settingsMenu.github")})}),r&&(0,d.jsx)(I._2,{onSelect:()=>{_()},children:j("activityBar.settingsMenu.logout")})]})]})}var ad=c(15917),ae=c(76180),af=c(88285),ag=c(85647),ah=c(64632),ai=c(21787);let aj=["global","terminal","composer","editor"],ak=[{id:"commandPalette",keys:["MOD","K"],scope:"global"},{id:"toggleSidebar",keys:["MOD","B"],scope:"global"},{id:"keyboardHelp",keys:["?"],scope:"global"},{id:"closeOverlay",keys:["Esc"],scope:"global"},{id:"navigateList",keys:["↑","↓"],scope:"global"},{id:"terminalSearch",keys:["MOD","F"],scope:"terminal"},{id:"toggleSurfaceMode",keys:["MOD","Shift","M"],scope:"terminal"},{id:"sendMessage",keys:["↵"],scope:"composer"},{id:"composerNewline",keys:["Shift","↵"],scope:"composer"},{id:"editorIndent",keys:["Tab"],scope:"editor"},{id:"editorOutdent",keys:["Shift","Tab"],scope:"editor"},{id:"editorTabFocus",keys:["Ctrl","M"],scope:"editor"},{id:"editorSave",keys:["MOD","S"],scope:"editor"},{id:"editorFullscreen",keys:["MOD","Shift","F"],scope:"editor"}];function al(a,b){return"MOD"===a?b?"⌘":"Ctrl":a}var am=c(77028),an=c(14346),ao=c(47089);let ap="flex items-center justify-center rounded-md text-sidebar-muted transition-colors hover:bg-sidebar-hover hover:text-sidebar-foreground focus:outline-none focus-visible:ring-2 focus-visible:ring-ring",aq={width:`${J.KI}px`,height:`${J.KI}px`};function ar({testId:a,onClose:b}){let c=(0,q.c)("common"),{isOpen:e,toggle:f}=(0,h.VF)(),g=c(e?"sidebar.close":"sidebar.open"),i=e?am.A:an.A;return(0,d.jsx)("div",{"data-sidebar-toggle-cell":"",className:"flex flex-shrink-0",style:{padding:`${J.df}px`},children:b?(0,d.jsx)("button",{type:"button","data-testid":a,onClick:b,"aria-label":c("sidebar.close"),style:aq,className:ap,children:(0,d.jsx)(ao.A,{size:20,"aria-hidden":"true"})}):(0,d.jsx)(T.m_,{content:g,placement:e?"bottom":"right",children:(0,d.jsx)("button",{type:"button","data-testid":a,onClick:f,"aria-label":g,"aria-expanded":e,style:aq,className:ap,children:(0,d.jsx)(i,{size:20,"aria-hidden":"true"})})})})}let as="flex w-full min-w-0 items-center gap-2 rounded-md px-2 py-1.5 text-left text-sm text-sidebar-muted transition-colors hover:bg-sidebar-hover hover:text-sidebar-foreground focus:outline-none focus-visible:ring-2 focus-visible:ring-ring";function at({drawer:a=!1}){let b=(0,q.c)("common"),c=(0,q.c)("commandPalette"),{setOpen:e}=(0,ah.C)(),{openNewTask:f}=(0,ai.hX)(),{closeMobileDrawer:i}=(0,h.VF)(),j=function(){let[a,b]=g().useState(null);return a}(),k=a?i:void 0;return(0,d.jsxs)("div",{"data-testid":a?"sidebar-drawer-top-controls":"sidebar-top-controls",className:"flex-shrink-0",children:[(0,d.jsxs)("div",{className:"flex min-w-0 items-center",children:[a?(0,d.jsx)(ar,{testId:"sidebar-drawer-close",onClose:i}):(0,d.jsx)(ar,{testId:"sidebar-panel-toggle"}),(0,d.jsxs)(p,{href:"/",onClick:k,"data-testid":"sidebar-logo",className:"flex min-w-0 items-center gap-2 rounded-md px-1 py-1 transition-opacity hover:opacity-80 focus:outline-none focus-visible:ring-2 focus-visible:ring-ring",children:[(0,d.jsx)("span",{className:"flex h-6 w-6 flex-shrink-0 items-center justify-center rounded-md bg-accent-600",children:(0,d.jsx)(ad.A,{size:14,strokeWidth:2,className:"text-white","aria-hidden":"true"})}),(0,d.jsx)("span",{className:"truncate text-sm font-bold text-sidebar-foreground",children:"CommandMate"})]})]}),(0,d.jsxs)("div",{className:"space-y-0.5 px-2",children:[(0,d.jsxs)("button",{type:"button","data-testid":"sidebar-new-task",onClick:()=>{k?.(),f()},"aria-haspopup":"dialog",className:as,children:[(0,d.jsx)(ae.A,{className:"h-4 w-4 flex-shrink-0","aria-hidden":"true"}),(0,d.jsx)("span",{className:"min-w-0 flex-1 truncate",children:b("newTask.title")})]}),(0,d.jsxs)("button",{type:"button","data-testid":"sidebar-search",onClick:()=>{k?.(),e(!0)},"aria-label":c("mobileTrigger"),className:as,children:[(0,d.jsx)(af.A,{className:"h-4 w-4 flex-shrink-0","aria-hidden":"true"}),(0,d.jsx)("span",{className:"min-w-0 flex-1 truncate",children:c("searchAction")}),!a&&null!==j&&(0,d.jsxs)("span",{className:"flex flex-shrink-0 items-center gap-0.5","aria-hidden":"true",children:[(0,d.jsx)(ag.u,{children:j}),(0,d.jsx)(ag.u,{children:"K"})]})]})]})]})}var au=c(63474),av=c(19463),aw=c(78352),ax=c(95239);let ay=0,az=(0,f.memo)(function(){let a=(0,o.Hq)(),{worktrees:b,repositories:c,selectedWorktreeId:j,selectWorktree:k,refreshWorktrees:l,isLoading:m,error:n}=(0,y.$f)(),{closeMobileDrawer:p,sortKey:u,sortDirection:x,viewMode:A,setViewMode:B,repositoryOrder:F,setRepositoryOrder:H}=(0,h.VF)(),I=(0,q.c)("common"),K=(0,e.usePathname)()??"",L=(0,J.jn)(K,j),M=(0,i.a)(),{count:N}=(0,av.Lv)(),[O,P]=(0,f.useState)(""),Q=(0,f.useRef)(null),[R,T]=(0,f.useState)(()=>({})),U=(0,f.useRef)(!1);(0,f.useEffect)(()=>{U.current||(U.current=!0,fetch("/api/sidebar/group-order").then(a=>a.json()).then(a=>{a.success&&Array.isArray(a.order)&&H(a.order)}).catch(()=>{}))},[H]);let V=(0,f.useMemo)(()=>(0,J.UZ)(c),[c]),W=(0,f.useMemo)(()=>(0,J.s6)(b,V),[b,V]),X=(0,f.useMemo)(()=>(0,av.Rc)(b),[b]),Y=(0,f.useMemo)(()=>new Set(W.map(a=>a.id)),[W]),Z=(0,f.useMemo)(()=>W.map(D.XK),[W]),$=(0,f.useMemo)(()=>new Map(Z.map(a=>[a.id,a])),[Z]),_=(0,f.useDeferredValue)(Z),aa=(0,f.useRef)(null),ab=(0,f.useRef)(null),ac=(0,f.useRef)(null),ad=(0,f.useRef)(new Set),[ae,af]=(0,f.useState)(0);(0,f.useEffect)(()=>()=>{null!==ab.current&&clearTimeout(ab.current)},[]);let ag=(0,f.useCallback)(()=>{null!==ab.current&&(clearTimeout(ab.current),ab.current=null),aa.current=null,ac.current=null},[]),ah=(0,f.useMemo)(()=>{let a=aa.current;return!a||0===a.items.length||Date.now()>=a.expiresAt?_:a.items},[_,ae]),ai=(0,f.useRef)(ah),aj=ac.current,ak=new Set(ah.filter(a=>aj?.has(a.id)===!0||(0,J.rL)(a,L,$)).map(a=>a.id));(0,f.useLayoutEffect)(()=>{if(ai.current=ah,ad.current=ak,ac.current)for(let a of ak)ac.current.add(a);let a=aa.current;a&&0===a.items.length&&_.length>0&&ag()});let al=(0,f.useCallback)(()=>{if(0===ai.current.length)return;null!==ab.current&&(clearTimeout(ab.current),ab.current=null);let a=aa.current;if(a&&Date.now()<a.expiresAt){aa.current={...a,expiresAt:1/0};return}aa.current={items:ai.current,expiresAt:1/0},ac.current=new Set(ad.current)},[]),am=(0,f.useCallback)(()=>{aa.current&&(aa.current={...aa.current,expiresAt:Date.now()+1e3},null!==ab.current&&clearTimeout(ab.current),ab.current=setTimeout(()=>{ag(),af(a=>a+1)},1e3))},[ag]),{sortedItems:an,groupedItems:ao}=(0,ax.D)({items:ah,sortKey:u,sortDirection:x,viewMode:A,filterText:O}),ap=(0,f.useMemo)(()=>"grouped"===A&&ao?O.trim()?ao:(0,J.Ew)(ao,F):null,[A,ao,F,O]),aq="grouped"===A?ap:null,ar=(0,f.useMemo)(()=>"sessions"===A?(0,J.EY)((0,J.UB)(an),u,x):[],[A,an,u,x]);(0,f.useEffect)(()=>{},[R]);let as=(0,f.useCallback)(a=>{T(b=>({...b,[a]:!b[a]}))},[]),au=(0,f.useCallback)(()=>{var a;ay=Number.isFinite(a=Q.current?.scrollTop??0)&&a>0?a:0},[]),aw=an.length>0||(aq?.length??0)>0||ar.length>0;(0,f.useEffect)(()=>{let a=Q.current;if(!a)return;let b=window.requestAnimationFrame(()=>{a.scrollTop=ay});return()=>{window.cancelAnimationFrame(b)}},[aw,A]);let az=(0,f.useCallback)(b=>{au(),k(b),a.push(`/worktrees/${b}`),p()},[au,k,a,p]),aC=(0,f.useCallback)(b=>{au(),k(b.worktreeId),a.push((0,J.Ii)(b)),p()},[au,k,a,p]),aF=(0,v.FR)((0,v.MS)(v.AN,{activationConstraint:{distance:8}})),aG=(0,f.useCallback)(a=>{let{active:b,over:c}=a;if(!c||b.id===c.id||!aq)return;let d=aq.map(a=>a.repositoryName),e=d.indexOf(String(b.id)),f=d.indexOf(String(c.id));if(-1===e||-1===f)return;let g=(0,w.be)(d,e,f);H(g),fetch("/api/sidebar/group-order",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({order:g})}).catch(()=>{H(d)})},[aq,H]),aH="grouped"===A?(aq?.length??0)===0:"sessions"===A?0===ar.length:0===an.length,aK=m&&0===b.length,aL=!aK&&!!n&&0===b.length,aM=(0,f.useCallback)(()=>{l()},[l]),aN={sessions:(0,d.jsx)("li",{className:"flex min-w-0",children:(0,d.jsx)(aD,{href:"/sessions",icon:r.A,label:I("nav.sessions"),testId:"sidebar-nav-sessions",isActive:K.startsWith("/sessions"),onNavigate:p})}),repositories:(0,d.jsxs)("li",{className:"flex min-w-0 items-center gap-1",children:[(0,d.jsx)(aD,{href:"/repositories",icon:s.A,label:I("nav.repositories"),testId:"sidebar-nav-repositories",isActive:K.startsWith("/repositories"),onNavigate:p}),(0,d.jsx)(aI,{refreshWorktrees:l})]}),review:(0,d.jsx)("li",{className:"flex min-w-0",children:(0,d.jsx)(aD,{href:N>0?C.ks:"/review",icon:t.A,label:I("nav.review"),testId:"sidebar-nav-review",isActive:K.startsWith("/review"),onNavigate:p,trailing:N>0?(0,d.jsx)("span",{"data-testid":"sidebar-nav-review-count",role:"status","aria-label":I("attention.badgeLabel",{count:N}),className:"flex-shrink-0 rounded-full bg-warning-subtle px-1.5 text-xs font-semibold leading-5 tabular-nums text-warning-foreground",children:N>99?"99+":N}):null})})};return(0,d.jsx)(z.Fy.Provider,{value:!M,children:(0,d.jsxs)("nav",{"data-testid":"sidebar","aria-label":I("sidebar.branchNavigation"),className:"h-full flex flex-col bg-sidebar text-sidebar-foreground",role:"navigation",children:[(0,d.jsx)(at,{drawer:M}),(0,d.jsx)("div",{"data-testid":"sidebar-header",className:"flex-shrink-0 space-y-2 border-b border-sidebar-border px-2 py-2",children:(0,d.jsx)("ul",{"data-testid":"sidebar-nav",className:"space-y-0.5",children:J.go.map(a=>(0,d.jsx)(g().Fragment,{children:aN[a]},a))})}),(0,d.jsx)(E,{worktrees:X,visibleWorktreeIds:Y,selectedWorktreeId:L,onSelect:az,onNavigate:p}),(0,d.jsx)(S,{searchQuery:O,onSearchChange:P,viewMode:A,onViewModeChange:B}),(0,d.jsx)("div",{ref:Q,"data-testid":"branch-list",onScroll:au,onMouseEnter:al,onMouseLeave:am,className:"flex-1 overflow-y-auto overflow-x-hidden",children:aK?(0,d.jsx)(aA,{label:I("sidebar.loadingBranches")}):aL?(0,d.jsxs)("div",{"data-testid":"branch-list-error",role:"alert",className:"px-4 py-8 text-center text-sidebar-muted",children:[(0,d.jsx)("p",{className:"text-sm",children:I("sidebar.branchesLoadFailed")}),(0,d.jsx)(G.$n,{type:"button",variant:"secondary",size:"sm",className:"mt-3","data-testid":"branch-list-retry",onClick:aM,children:I("sidebar.retryLoadBranches")})]}):aH?(0,d.jsx)("div",{className:"px-4 py-8 text-center text-sidebar-muted",children:I(O?"sidebar.noBranchesFound":"sidebar.noBranchesAvailable")}):"sessions"===A?ar.map(a=>(0,d.jsx)(aE,{row:a,isSelected:a.worktreeId===L,onClick:aC},a.key)):"grouped"===A&&aq?(0,d.jsx)(v.Mp,{sensors:aF,collisionDetection:v.fp,onDragEnd:aG,children:(0,d.jsx)(w.gB,{items:aq.map(a=>a.repositoryName),strategy:w._G,children:aq.map(a=>{let b=!R[a.repositoryName]||!!O.trim();return(0,d.jsx)(aB,{group:a,isExpanded:b,selectedWorktreeId:L,onToggle:()=>as(a.repositoryName),onBranchClick:az,isDragDisabled:!!O.trim(),isFiltering:!!O.trim(),liveBranchById:$,stickyShownIds:aj},a.repositoryName)})})}):an.map(a=>(0,d.jsx)(z.yP,{branch:a,isSelected:a.id===L,onClick:()=>az(a.id)},a.id))}),(0,d.jsx)("div",{"data-testid":"sidebar-footer",className:"flex-shrink-0 px-4 py-3 border-t border-sidebar-border",children:(0,d.jsx)(aJ,{onNavigate:p})})]})})}),aA=(0,f.memo)(function({label:a}){return(0,d.jsxs)("div",{"data-testid":"branch-list-skeleton",role:"status","aria-live":"polite",className:"px-4 py-3 space-y-3",children:[(0,d.jsx)("span",{className:"sr-only",children:a}),[0,1,2,3,4].map(a=>(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)(G.EA,{className:"h-2 w-2 rounded-full"}),(0,d.jsx)(G.EA,{className:"h-3 flex-1"})]},a))]})});function aB({group:a,isExpanded:b,selectedWorktreeId:c,onToggle:e,onBranchClick:f,isDragDisabled:g,isFiltering:h,liveBranchById:i,stickyShownIds:j}){let{attributes:k,listeners:l,setNodeRef:m,setActivatorNodeRef:n,transform:o,transition:p,isDragging:q}=(0,w.gl)({id:a.repositoryName,disabled:g}),r={transform:x.Ks.Transform.toString(o),transition:p,opacity:q?.5:1},{shown:s,other:t}=(0,J.FS)(a.branches,c,i,j??void 0);return(0,d.jsxs)("div",{ref:m,style:r,className:"w-full min-w-0 pt-2",children:[(0,d.jsx)(aC,{repositoryName:a.repositoryName,branchCount:a.branches.length,isExpanded:b,onClick:e,dragHandleRef:n,dragHandleListeners:g?void 0:l,dragHandleAttributes:g?void 0:k}),b&&s.map(a=>(0,d.jsx)(z.yP,{branch:a,isSelected:a.id===c,onClick:()=>f(a.id),showRepositoryName:!1},a.id)),b&&t.length>0&&(0,d.jsx)(F,{branches:t,selectedWorktreeId:c,onBranchClick:f,forceExpanded:h})]})}function aC({repositoryName:a,branchCount:b,isExpanded:c,onClick:e,dragHandleRef:f,dragHandleListeners:g,dragHandleAttributes:h}){let i=(0,q.c)("common");return(0,d.jsxs)("div",{className:"group/header flex items-center w-full",children:[g&&(0,d.jsx)("div",{ref:f,...g,...h,"data-testid":"group-drag-handle","aria-label":i("sidebar.dragToReorderGroup"),className:" flex-shrink-0 flex items-center justify-center w-6 h-full pl-2 cursor-grab active:cursor-grabbing text-sidebar-muted hover:text-sidebar-foreground transition-[color,opacity] opacity-0 group-hover/header:opacity-100 group-focus-within/header:opacity-100 [@media(hover:none)]:opacity-100 rounded focus:outline-none focus-visible:ring-2 focus-visible:ring-ring ",children:(0,d.jsx)(aG,{})}),(0,d.jsxs)("button",{"data-testid":"group-header",type:"button",onClick:e,"aria-expanded":c,className:" flex-1 min-w-0 flex items-center gap-2 px-2 py-1 text-xs font-normal text-sidebar-muted focus:outline-none focus:ring-2 focus:ring-inset focus:ring-ring transition-colors ",children:[(0,d.jsx)(aF,{isExpanded:c}),(0,d.jsx)(G.nF,{color:(0,J.LV)(a)}),(0,d.jsx)(U.nR,{content:a,className:"flex-1 min-w-0 text-left truncate",children:a}),(0,d.jsx)("span",{className:"text-sidebar-muted font-normal tabular-nums pr-2",children:b})]})]})}function aD({href:a,icon:b,label:c,testId:e,isActive:f,onNavigate:g,trailing:h}){return(0,d.jsxs)(p,{href:a,"data-testid":e,"aria-current":f?"page":void 0,onClick:g,className:`flex min-w-0 flex-1 items-center gap-2 rounded-md px-2 py-1.5 text-sm transition-colors hover:bg-sidebar-hover hover:text-sidebar-foreground focus:outline-none focus-visible:ring-2 focus-visible:ring-ring ${f?"bg-sidebar-hover font-medium text-sidebar-foreground":"text-sidebar-muted"}`,children:[(0,d.jsx)(b,{className:"h-4 w-4 flex-shrink-0","aria-hidden":"true"}),(0,d.jsx)("span",{className:"min-w-0 flex-1 truncate",children:c}),h]})}let aE=(0,f.memo)(function({row:a,isSelected:b,onClick:c}){let e=(0,q.c)("common"),f=(0,A.Mq)(a.status,a.unclassified),g=e(f?A.rH:`status.${a.status}`);return(0,d.jsx)("div",{className:`w-full min-w-0 ${z.R8}`,children:(0,d.jsxs)("button",{type:"button","data-testid":"session-list-item","data-session-key":a.key,onClick:()=>c(a),"aria-current":b?"true":void 0,className:`w-full min-w-0 min-h-[34px] px-3 py-1.5 flex items-center gap-2 text-left ${(0,z.Xd)(b)}`,children:[(0,d.jsx)(G.md,{status:a.status,size:"sm",label:a.exited?`${g} (${e("branchItem.agentExited")})`:g,className:f?A.Jd:void 0}),(0,d.jsx)("span",{className:"flex-shrink-0 max-w-[45%] truncate text-sm font-semibold text-sidebar-foreground",children:a.label}),(0,d.jsxs)("span",{className:"min-w-0 flex-1 truncate text-xs text-sidebar-muted",children:[a.branchName," \xb7 ",a.repositoryName]})]})})});function aF({isExpanded:a}){return(0,d.jsx)("svg",{className:`w-3 h-3 flex-shrink-0 transition-transform ${a?"rotate-90":""}`,fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:(0,d.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M9 5l7 7-7 7"})})}function aG(){return(0,d.jsxs)("svg",{className:"w-3 h-3",fill:"currentColor",viewBox:"0 0 24 24","aria-hidden":"true",children:[(0,d.jsx)("circle",{cx:"9",cy:"5",r:"1.5"}),(0,d.jsx)("circle",{cx:"15",cy:"5",r:"1.5"}),(0,d.jsx)("circle",{cx:"9",cy:"12",r:"1.5"}),(0,d.jsx)("circle",{cx:"15",cy:"12",r:"1.5"}),(0,d.jsx)("circle",{cx:"9",cy:"19",r:"1.5"}),(0,d.jsx)("circle",{cx:"15",cy:"19",r:"1.5"})]})}function aH({className:a=""}){return(0,d.jsx)("svg",{className:`w-4 h-4 ${a}`,fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:(0,d.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M4 4v5h5M20 20v-5h-5M20.49 9A9 9 0 005.64 5.64L4 4m16 16l-1.64-1.64A9 9 0 014.51 15"})})}let aI=(0,f.memo)(function({refreshWorktrees:a}){let[b,c]=(0,f.useState)(!1),e=(0,f.useRef)(!1),{showToast:g}=(0,au.dj)(),h=(0,q.c)("common"),i=(0,f.useCallback)(async()=>{if(!e.current){e.current=!0,c(!0);try{let b=await aw.Rx.sync();await a(),g(h("syncSuccess",{count:b.worktreeCount}),"success",3e3)}catch(a){a instanceof aw.hD&&401===a.status?g(h("syncAuthError"),"error",5e3):g(h("syncError"),"error",5e3)}finally{e.current=!1,c(!1)}}},[a,g,h]);return(0,d.jsx)(d.Fragment,{children:(0,d.jsx)(T.m_,{content:h("tooltips.sync"),placement:"bottom",children:(0,d.jsx)("button",{type:"button",onClick:i,disabled:b,"aria-label":h("syncButtonLabel"),className:"p-1 rounded-md text-sidebar-muted hover:text-sidebar-foreground hover:bg-sidebar-hover focus:outline-none focus:ring-2 focus:ring-ring disabled:opacity-50 disabled:cursor-not-allowed transition-colors",children:(0,d.jsx)(aH,{className:b?"animate-spin":""})})})})});function aJ({onNavigate:a}){let b=(0,q.c)("common")("settings.title");return(0,d.jsx)(ac,{testIdPrefix:"sidebar-settings-menu",side:"top",align:"start",showDisplayPreferences:!0,onNavigate:a,children:(0,d.jsx)(aa,{asChild:!0,children:(0,d.jsxs)("button",{type:"button","data-testid":"sidebar-settings-menu",className:"flex w-full items-center gap-2 px-2 py-1.5 rounded-md text-sm text-sidebar-muted hover:text-sidebar-foreground hover:bg-sidebar-hover focus:outline-none focus:ring-2 focus:ring-ring transition-colors",children:[(0,d.jsx)(u.A,{size:20,"aria-hidden":"true"}),(0,d.jsx)("span",{className:"truncate",children:b})]})})})}var aK=c(38557);function aL(){let{shouldSurface:a,isReconnecting:b}=(0,aK.Fx)(),c=(0,q.c)("common");if(!a)return null;let e=c(b?"connection.reconnecting":"connection.offline");return(0,d.jsxs)("span",{"data-testid":"connection-status-indicator","data-connection-state":b?"reconnecting":"offline",role:"status","aria-live":"polite",title:c(b?"connection.reconnectingTooltip":"connection.offlineTooltip"),className:"hidden sm:inline-flex items-center gap-1.5 rounded-full border border-border bg-surface px-2 py-0.5 text-xs text-muted-foreground",children:[(0,d.jsx)("span",{"aria-hidden":"true",className:["w-1.5 h-1.5 rounded-full",b?"bg-warning motion-safe:animate-pulse":"bg-muted-foreground"].join(" ")}),e]})}var aM=c(60957);let aN=[{prefix:"/sessions",labelKey:"nav.sessions"},{prefix:"/repositories",labelKey:"nav.repositories"},{prefix:"/review",labelKey:"nav.review"},{prefix:"/skills",labelKey:"nav.skills"},{prefix:"/more",labelKey:"nav.more"}];function aO({title:a="CommandMate"}){var b;let c=null!==(b=(0,e.usePathname)()??"",aN.find(a=>b.startsWith(a.prefix))?.labelKey??null);return(0,d.jsxs)("header",{"data-testid":"screen-status-row",className:"flex flex-shrink-0 items-center justify-end gap-4 px-4 py-1.5 border-b border-border bg-background supports-[backdrop-filter]:bg-background/80 backdrop-blur-md empty:hidden",children:[!c&&(0,d.jsx)("h1",{"data-testid":"header-screen-title",className:"mr-auto min-w-0 truncate text-lg font-bold text-foreground",children:a}),(0,d.jsx)(aL,{}),(0,d.jsx)(aM.H,{})]})}function aP({count:a}){let b=(0,q.c)("common");return 0===a?null:(0,d.jsx)("span",{"data-testid":"attention-badge-bubble",role:"status","aria-label":b("attention.badgeLabel",{count:a}),className:"absolute -top-1.5 -right-2.5 min-w-[1.05rem] rounded-full bg-warning-foreground px-1 text-[0.625rem] font-bold leading-[1.05rem] text-warning-subtle tabular-nums text-center",children:a>99?"99+":a})}let aQ="relative flex h-10 w-10 items-center justify-center rounded-md transition-colors focus:outline-none focus-visible:ring-2 focus-visible:ring-ring",aR="text-sidebar-muted hover:bg-sidebar-hover hover:text-sidebar-foreground";function aS({href:a,icon:b,label:c,testId:e,isActive:f,badge:g}){return(0,d.jsx)(T.m_,{content:c,placement:"right",children:(0,d.jsx)(p,{href:a,"data-testid":e,"aria-label":c,"aria-current":f?"page":void 0,className:`${aQ} ${f?"bg-sidebar-hover text-sidebar-foreground":aR}`,children:(0,d.jsxs)("span",{className:"relative flex",children:[(0,d.jsx)(b,{size:20,"aria-hidden":"true"}),g]})})})}function aT({icon:a,label:b,testId:c,onClick:e,hasPopup:f}){return(0,d.jsx)(T.m_,{content:b,placement:"right",children:(0,d.jsx)("button",{type:"button","data-testid":c,"aria-label":b,"aria-haspopup":f,onClick:e,className:`${aQ} ${aR}`,children:(0,d.jsx)(a,{size:20,"aria-hidden":"true"})})})}function aU(){let a=(0,q.c)("common"),b=(0,q.c)("commandPalette"),c=(0,e.usePathname)()??"",{setOpen:f}=(0,ah.C)(),{openNewTask:h}=(0,ai.hX)(),{count:i}=(0,av.Lv)(),j=a("settings.title"),k={sessions:(0,d.jsx)(aS,{href:"/sessions",icon:r.A,label:a("nav.sessions"),testId:"sidebar-rail-sessions",isActive:c.startsWith("/sessions")}),repositories:(0,d.jsx)(aS,{href:"/repositories",icon:s.A,label:a("nav.repositories"),testId:"sidebar-rail-repositories",isActive:c.startsWith("/repositories")}),review:(0,d.jsx)(aS,{href:i>0?C.ks:"/review",icon:t.A,label:a("nav.review"),testId:"sidebar-rail-review",isActive:c.startsWith("/review"),badge:(0,d.jsx)(aP,{count:i})})};return(0,d.jsxs)("nav",{"data-testid":"sidebar-rail","aria-label":a("sidebar.railLabel"),className:"flex h-full flex-col items-center gap-1 bg-sidebar pb-2 text-sidebar-foreground",style:{width:`${J.BN}px`},children:[(0,d.jsx)(ar,{testId:"sidebar-rail-toggle"}),(0,d.jsx)(aT,{icon:ae.A,label:a("newTask.title"),testId:"sidebar-rail-new-task",onClick:()=>h(),hasPopup:"dialog"}),(0,d.jsx)(aT,{icon:af.A,label:b("mobileTrigger"),testId:"sidebar-rail-search",onClick:()=>f(!0)}),(0,d.jsx)("div",{className:"my-1 w-8 border-b border-sidebar-border","aria-hidden":"true"}),J.go.map(a=>(0,d.jsx)(g().Fragment,{children:k[a]},a)),(0,d.jsx)("div",{className:"mt-auto",children:(0,d.jsx)(ac,{testIdPrefix:"sidebar-rail-settings",side:"right",align:"end",showDisplayPreferences:!0,children:(0,d.jsx)(T.m_,{content:j,placement:"right",children:(0,d.jsx)(aa,{asChild:!0,children:(0,d.jsx)("button",{type:"button","data-testid":"sidebar-rail-settings","aria-label":j,className:`${aQ} ${aR}`,children:(0,d.jsx)(u.A,{size:20,"aria-hidden":"true"})})})})})})]})}c(68643);var aV=c(47684),aW=c(38882),aX=c(6130),aY=c(13860);let aZ=[{labelKey:"nav.sessions",href:"/sessions",isActive:a=>a.startsWith("/sessions"),icon:(0,d.jsx)(r.A,{size:20,"aria-hidden":"true"})},{labelKey:"nav.review",href:"/review",isActive:a=>a.startsWith("/review"),icon:(0,d.jsx)(t.A,{size:20,"aria-hidden":"true"}),showsAttentionBadge:!0},{labelKey:"nav.more",href:"/more",isActive:a=>a.startsWith("/more"),icon:(0,d.jsx)(aW.A,{size:20,"aria-hidden":"true"})}];function a$(){let a=(0,e.usePathname)(),{setOpen:b}=(0,ah.C)(),c=(0,q.c)("commandPalette"),f=(0,q.c)("common"),{count:g}=(0,av.Lv)(),i=(0,h.pT)();return i?.isMobileDrawerOpen?null:(0,d.jsx)("nav",{"data-testid":"global-mobile-nav",className:"fixed bottom-0 left-0 right-0 z-50 border-t border-border bg-background supports-[backdrop-filter]:bg-background/80 backdrop-blur-md pb-safe",children:(0,d.jsxs)("div",{className:"flex items-center justify-around h-14",children:[i&&(0,d.jsxs)("button",{type:"button","data-testid":"mobile-nav-open-sidebar",...aY.cv,onClick:i.openMobileDrawer,className:"flex flex-col items-center justify-center flex-1 h-full text-xs text-muted-foreground hover:text-foreground transition-colors",children:[(0,d.jsx)(aX.A,{size:20,"aria-hidden":"true"}),(0,d.jsx)("span",{className:"mt-1 whitespace-nowrap",children:f("sidebar.branches")})]}),aZ.map(b=>{let c=b.isActive(a),e=!0===b.showsAttentionBadge&&g>0;return(0,d.jsxs)(p,{href:e?C.ks:b.href,className:`flex flex-col items-center justify-center flex-1 h-full text-xs transition-colors ${c?"text-accent-600 dark:text-accent-400":"text-muted-foreground hover:text-foreground"}`,children:[(0,d.jsxs)("span",{className:"relative inline-flex",children:[b.icon,!0===b.showsAttentionBadge&&(0,d.jsx)(aP,{count:g})]}),(0,d.jsx)("span",{className:"mt-1 whitespace-nowrap",children:f(b.labelKey)})]},b.href)}),(0,d.jsxs)("button",{type:"button","data-testid":"mobile-command-palette-trigger",onClick:()=>b(!0),"aria-label":c("mobileTrigger"),className:"flex flex-col items-center justify-center flex-1 h-full text-xs text-muted-foreground hover:text-foreground transition-colors",children:[(0,d.jsx)(af.A,{size:20,"aria-hidden":"true"}),(0,d.jsx)("span",{className:"mt-1 whitespace-nowrap",children:c("mobileLabel")})]})]})})}function a_(){let{shouldSurface:a,isReconnecting:b}=(0,aK.Fx)(),c=(0,q.c)("common");if(!a)return null;let e=c(b?"connection.reconnecting":"connection.offline"),f=c(b?"connection.reconnectingTooltip":"connection.offlineTooltip");return(0,d.jsx)("div",{"data-testid":"mobile-connection-banner","data-connection-state":b?"reconnecting":"offline",role:"status","aria-live":"polite",title:f,className:`shrink-0 pt-safe border-b ${b?"bg-warning-subtle border-warning-border text-warning-foreground":"bg-danger-subtle border-danger-border text-danger-foreground"}`,children:(0,d.jsxs)("div",{className:"flex items-center justify-center gap-1.5 px-3 py-1 text-xs",children:[(0,d.jsx)("span",{"aria-hidden":"true",className:`w-1.5 h-1.5 rounded-full ${b?"bg-warning motion-safe:animate-pulse":"bg-danger"}`}),e]})})}var a0=c(76047),a1=c(98033),a2=c(89184);let a3=[...ak,{id:"newTask",keys:["MOD","Shift","O"],scope:"global"},{id:"newTaskSend",keys:["MOD","↵"],scope:"global"}];function a4(){let{open:a,setOpen:b}=(0,a2.K)(),{open:c}=(0,ah.C)(),{isOpen:e}=(0,ai.hX)(),g=(0,q.c)("keyboardShortcuts"),[h,i]=(0,f.useState)(!1);(0,f.useRef)(a),(0,f.useRef)(c),(0,f.useRef)(e);let j=function(a=ak){return aj.map(b=>({scope:b,shortcuts:a.filter(a=>a.scope===b)})).filter(a=>a.shortcuts.length>0)}(a3);return(0,d.jsx)(a1.a,{isOpen:a,onClose:()=>b(!1),title:g("title"),size:"md",children:(0,d.jsx)("div",{"data-testid":"keyboard-shortcuts-overlay",className:"space-y-6",children:j.map(({scope:a,shortcuts:b})=>(0,d.jsxs)("section",{"data-testid":`keyboard-shortcuts-scope-${a}`,children:[(0,d.jsx)("h4",{className:"mb-2 text-xs font-semibold uppercase tracking-wide text-muted-foreground",children:g(`scopes.${a}`)}),(0,d.jsx)("ul",{className:"divide-y divide-border",children:b.map(a=>(0,d.jsxs)("li",{"data-testid":`keyboard-shortcut-${a.id}`,className:"flex items-center justify-between gap-4 py-2",children:[(0,d.jsx)("span",{className:"text-sm text-foreground",children:g(`shortcuts.${a.id}`)}),(0,d.jsx)("span",{className:"flex flex-shrink-0 items-center gap-1",children:a.keys.map((a,b)=>(0,d.jsx)(ag.u,{children:al(a,h)},b))})]},a.id))})]},a))})})}var a5=c(18608),a6=c(55992),a7=c(94260);let a8=[{key:"added",labelKey:"whatsNew.added"},{key:"improved",labelKey:"whatsNew.improved"},{key:"fixed",labelKey:"whatsNew.fixed"}];function a9(){let a=(0,q.c)("common"),b=(0,a6.Ym)(),[c,e]=(0,f.useState)(null),[g,h]=(0,f.useState)(!1),i=(0,f.useCallback)(()=>{c&&function(a){try{window.localStorage.setItem("commandmate.lastSeenAppVersion",a)}catch{}}(c.to),h(!1)},[c]);if(!c)return null;let j="ja"===b?"ja":"en";return(0,d.jsx)(a1.a,{isOpen:g,onClose:i,title:a("whatsNew.title",{from:c.from,to:c.to}),size:"md",children:(0,d.jsxs)("div",{className:"space-y-4","data-testid":"whats-new-dialog",children:[0===c.notes.length?(0,d.jsx)("p",{className:"text-sm text-foreground","data-testid":"whats-new-empty",children:a("whatsNew.empty")}):c.notes.map(b=>(0,d.jsxs)("section",{className:"space-y-3","data-testid":`whats-new-version-${b.version}`,children:[(0,d.jsxs)("h4",{className:"text-sm font-semibold text-foreground",children:["v",b.version,(0,d.jsx)("span",{className:"ml-2 text-xs font-normal text-muted-foreground",children:b.date})]}),b.highlight&&(0,d.jsxs)("div",{"data-testid":"whats-new-highlight",children:[(0,d.jsx)("h5",{className:"text-xs font-medium text-muted-foreground",children:a("whatsNew.highlight")}),(0,d.jsx)("p",{className:"mt-1 text-sm text-foreground",children:b.highlight[j]})]}),a8.map(({key:c,labelKey:e})=>b[c].length>0?(0,d.jsxs)("div",{"data-testid":`whats-new-${c}`,children:[(0,d.jsx)("h5",{className:"text-xs font-medium text-muted-foreground",children:a(e)}),(0,d.jsx)("ul",{className:"mt-1 list-disc space-y-1 pl-5 text-sm text-foreground",children:b[c].map((a,b)=>(0,d.jsx)("li",{children:a[j]},b))})]},c):null)]},b.version)),(0,d.jsxs)("div",{className:"flex items-center justify-between gap-3 border-t border-border pt-3",children:[(0,d.jsx)("a",{href:`https://github.com/Kewton/CommandMate/releases/tag/v${c.to}`,target:"_blank",rel:"noopener noreferrer",className:"text-sm text-accent-600 dark:text-accent-400 hover:underline","data-testid":"whats-new-release-link",children:a("whatsNew.releaseLink")}),(0,d.jsx)(a7.$,{type:"button",variant:"primary",size:"sm",onClick:i,"data-testid":"whats-new-close",children:a("whatsNew.close")})]})]})})}var ba=c(63643);function bb(a,b){return a.worktreeId===b.worktreeId&&a.instanceId===b.instanceId}var bc=c(17252);function bd(a){return a.agentInstances&&a.agentInstances.length>0?a.agentInstances.slice().sort((a,b)=>a.order-b.order):a.selectedAgents&&a.selectedAgents.length>0?(0,bc.lu)(a.selectedAgents):a.cliToolId?(0,bc.lu)([a.cliToolId]):[]}function be(a,b){let c=a.sessionStatusByInstance?.[b.id]??(b.id===b.cliTool?a.sessionStatusByCli?.[b.cliTool]:void 0),d=c?.startingSince,e=a.autoYesByInstance?.[b.id];return{instance:b,label:(0,bc.sw)(b),running:c?.isRunning===!0,starting:"number"==typeof d,autoYes:e?.enabled&&"number"==typeof e.expiresAt?e:null}}var bf=c(16730),bg=c(21768);let bh={promptWaiting:"PROMPT_WAITING",sessionStarting:"SESSION_STARTING",instanceToolConflict:"instance_tool_conflict"};async function bi(a){try{let b=await a.json(),c=b&&"object"==typeof b?b.expiresAt:null;if("number"==typeof c)return{enabled:!0,expiresAt:c}}catch{}return null}async function bj(a){try{let b=await a.json();if(b&&"object"==typeof b){let{error:a,code:c}=b;return{error:"string"==typeof a&&""!==a?a:null,code:"string"==typeof c?c:null}}}catch{}return{error:null,code:null}}async function bk(a,{modelRequested:b}){if(a.ok&&!a.redirected)return{ok:!0};let{status:c}=a,{error:d,code:e}=await bj(a);return{ok:!1,kind:409===c?e===bh.promptWaiting?"prompt_waiting":"conflict":503===c?e===bh.sessionStarting?"starting":"start_failed":400===c?b&&e!==bh.instanceToolConflict?"model_rejected":"invalid":"failed",status:a.ok?0:c,detail:d}}function bl(a){return{ok:!1,kind:"failed",status:0,detail:a instanceof aw.hD||a instanceof Error?a.message:null}}function bm(a,b){return new Promise((c,d)=>{let e=setTimeout(()=>{d(new aw.hD(`Request timed out after ${b}ms`,0,void 0,"timeout"))},b);a().then(a=>{clearTimeout(e),c(a)},a=>{clearTimeout(e),d(a)})})}async function bn(a,b=aw.E){let c,{target:d,cliToolId:e}=a,f=`/api/worktrees/${encodeURIComponent(d.worktreeId)}`,g={"Content-Type":"application/json"},h=!1,i=a.autoYesDuration;if(null!==i){let j,k=!1;try{j=await bm(async()=>{let j=await b(`${f}/auto-yes`,{method:"POST",headers:g,body:JSON.stringify({enabled:!0,cliToolId:e,instanceId:d.instanceId,duration:i,answerMode:a.autoYesAnswerMode??bg.Rb})});if(!j.ok){let{error:a}=await bj(j);return{ok:!1,kind:"auto_yes_failed",status:j.status,detail:a}}return k=!0,c=await bi(j)??void 0,h=void 0===c,null},(0,bf.Z3)("POST"))}catch(a){if(!k){let b=bl(a);return b.ok?b:{...b,kind:"auto_yes_failed"}}return{...bl(a),autoYesStateUnknown:!0}}if(j)return j}let j=a=>c?{...a,armedAutoYes:c}:h?{...a,autoYesStateUnknown:!0}:a,k=a.model?.trim()||void 0,l=(0,bf.SE)();try{return j(await bm(async()=>{let c=await b(`${f}/send`,{method:"POST",headers:g,body:JSON.stringify({content:a.content,cliToolId:e,instanceId:d.instanceId,...k?{model:k}:{}}),timeoutMs:l});return bk(c,{modelRequested:void 0!==k})},l))}catch(a){return j(bl(a))}}var bo=c(37382);let bp="w-full px-3 py-2 border border-input rounded-lg bg-surface text-foreground text-sm focus:outline-none focus:ring-2 focus:ring-ring focus:border-transparent disabled:opacity-60",bq="block text-xs font-medium text-muted-foreground mb-1";function br({status:a,isEmpty:b,onRetry:c}){let e=(0,q.c)("common");return(0,d.jsxs)(d.Fragment,{children:["loading"===a&&(0,d.jsx)("p",{className:"text-sm text-muted-foreground","data-testid":"new-task-loading",children:e("newTask.loading")}),"error"===a&&(0,d.jsxs)("div",{className:"space-y-2",role:"alert","data-testid":"new-task-load-error",children:[(0,d.jsx)("p",{className:"text-sm text-danger",children:e("newTask.loadError")}),(0,d.jsx)("button",{type:"button",onClick:c,className:"px-3 py-1.5 text-sm font-medium text-foreground bg-muted hover:bg-muted/80 rounded-lg",children:e("retry")})]}),"ready"===a&&b&&(0,d.jsx)("p",{className:"text-sm text-muted-foreground","data-testid":"new-task-empty",children:e("newTask.noTargets")})]})}function bs({recentOptions:a,targetState:b,worktreeId:c,onSelect:e}){let f=(0,q.c)("common");return 0===a.length?null:(0,d.jsxs)("div",{children:[(0,d.jsx)("span",{className:bq,children:f("newTask.recentLabel")}),(0,d.jsx)("div",{className:"flex flex-wrap gap-2","data-testid":"new-task-recents",children:a.map(({target:a,label:f})=>{let g=!!b&&bb(a,{worktreeId:c,instanceId:b.instance.id});return(0,d.jsx)("button",{type:"button","aria-pressed":g,"data-testid":"new-task-recent",onClick:()=>e(a),className:`max-w-full truncate rounded-full border px-3 py-1 text-xs transition-colors ${g?"border-accent-500 bg-accent-500/15 text-foreground":"border-border text-muted-foreground hover:text-foreground"}`,children:f},`${a.worktreeId}:${a.instanceId}`)})})]})}function bt({repositoryOptions:a,repository:b,worktreeId:c,worktree:e,instances:f,instance:g,onRepositoryChange:h,onBranchChange:i,onAgentChange:j}){let k=(0,q.c)("common");return(0,d.jsxs)("div",{className:"grid grid-cols-1 gap-3 sm:grid-cols-3",children:[(0,d.jsxs)("div",{children:[(0,d.jsx)("label",{htmlFor:"new-task-repository",className:bq,children:k("newTask.repositoryLabel")}),(0,d.jsx)("select",{id:"new-task-repository","data-testid":"new-task-repository",value:b?.path??"",onChange:a=>h(a.target.value),className:bp,children:a.map(a=>(0,d.jsx)("option",{value:a.path,children:a.name},a.path))})]}),(0,d.jsxs)("div",{children:[(0,d.jsx)("label",{htmlFor:"new-task-branch",className:bq,children:k("newTask.branchLabel")}),(0,d.jsx)("select",{id:"new-task-branch","data-testid":"new-task-branch",value:c,onChange:a=>i(a.target.value),className:bp,children:(b?.worktrees??[]).map(a=>(0,d.jsx)("option",{value:a.id,children:a.name},a.id))})]}),(0,d.jsxs)("div",{children:[(0,d.jsx)("label",{htmlFor:"new-task-agent",className:bq,children:k("newTask.agentLabel")}),(0,d.jsx)("select",{id:"new-task-agent","data-testid":"new-task-agent",value:g?.id??"",onChange:a=>j(a.target.value),className:bp,disabled:0===f.length,children:f.map(a=>{let b=e?be(e,a):null,c=b?.starting?"starting":b?.running?"running":"stopped";return(0,d.jsx)("option",{value:a.id,children:`${b?.label??a.id} — ${k(`newTask.agentStatus.${c}`)}`},a.id)})})]})]})}function bu({statusKey:a,agentLabel:b}){let c=(0,q.c)("common");return(0,d.jsxs)(d.Fragment,{children:["stopped"===a&&(0,d.jsx)("p",{className:"text-xs text-foreground","data-testid":"new-task-will-start",children:c("newTask.willStart",{agent:b})}),"starting"===a&&(0,d.jsx)("p",{className:"text-xs text-warning-foreground","data-testid":"new-task-starting",children:c("newTask.startingNotice",{agent:b})})]})}function bv({modelAvailability:a,model:b,cliTool:c,agentLabel:e,onChange:f}){let g=(0,q.c)("common");return(0,d.jsxs)("div",{children:[(0,d.jsx)("label",{htmlFor:"new-task-model",className:bq,children:g("newTask.modelLabel")}),(0,d.jsx)("input",{id:"new-task-model","data-testid":"new-task-model",type:"text",value:a?.selectable?b:"",onChange:a=>f(a.target.value),placeholder:g("newTask.modelPlaceholder"),disabled:!a?.selectable,className:bp}),a&&(0,d.jsx)("p",{className:"mt-1 text-xs text-muted-foreground","data-testid":"new-task-model-note",children:a.selectable?g("copilot"===c?"newTask.modelHintSwitch":"newTask.modelHintLaunch"):g(`newTask.modelUnavailable.${a.reason}`,{agent:e})})]})}function bw({armedAutoYes:a,autoYesChoice:b,autoYesUnknown:c,onChoiceChange:e,answerMode:f,onAnswerModeChange:g}){let h=(0,q.c)("common"),i=(0,q.c)("autoYes");return(0,d.jsxs)("div",{children:[(0,d.jsx)("label",{htmlFor:"new-task-auto-yes",className:bq,children:h("newTask.autoYesLabel")}),a?(0,d.jsx)("p",{className:"text-sm text-foreground","data-testid":"new-task-auto-yes-active",children:h("newTask.autoYesActive",{remaining:(0,ba.$B)(a.expiresAt)})}):(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("select",{id:"new-task-auto-yes","data-testid":"new-task-auto-yes",value:b??"",onChange:a=>{let b=Number(a.target.value);e(""!==a.target.value&&(0,ba.dR)(b)?b:null)},className:bp,children:[(0,d.jsx)("option",{value:"",children:h(c?"newTask.autoYesKeepUnknown":"newTask.autoYesKeep")}),ba._q.map(a=>(0,d.jsx)("option",{value:a,children:h("newTask.autoYesEnableFor",{duration:i("durationHours",{hours:(0,ba.nG)(a)})})},a))]}),c&&(0,d.jsx)("p",{className:"mt-1 text-xs text-warning-foreground","data-testid":"new-task-auto-yes-unknown",children:h("newTask.autoYesUnknown")}),(0,d.jsx)("p",{className:"mt-1 text-xs text-muted-foreground",children:h("newTask.autoYesScope")}),null!==b&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("div",{className:"mt-2",children:(0,d.jsx)(bo.o,{value:f,onChange:g,idPrefix:"new-task-auto-yes-answer-mode",labelClassName:bq})}),(0,d.jsx)("p",{className:"mt-1 text-xs text-warning-foreground","data-testid":"new-task-auto-yes-risk",children:i("riskWarning")})]})]})]})}function bx({failure:a,agentLabel:b}){let c=(0,q.c)("common");return a?(0,d.jsxs)("div",{role:"alert","data-testid":"new-task-error","data-kind":a.kind,className:"rounded-lg border border-danger-border bg-danger-subtle px-3 py-2 text-sm text-danger-foreground",children:[(0,d.jsx)("p",{children:c(`newTask.errors.${a.kind}`,{agent:b})}),a.detail&&(0,d.jsx)("p",{className:"mt-1 break-words text-xs text-muted-foreground","data-testid":"new-task-error-detail",children:a.detail})]}):null}function by(){var a;let{requestedTarget:b,screenTarget:c,closeNewTask:g,setCloseLocked:h}=(0,ai.hX)(),i=(0,e.useRouter)(),{showToast:j}=(0,au.dj)(),k=(0,q.c)("common"),[l,m]=(0,f.useState)({status:"loading"}),[n,o]=(0,f.useState)(0),[p]=(0,f.useState)(()=>[]),[r,s]=(0,f.useState)(""),[t,u]=(0,f.useState)(""),[v,w]=(0,f.useState)(""),[x,y]=(0,f.useState)(""),[z,A]=(0,f.useState)(null),[B,C]=(0,f.useState)(bg.Rb),[D,E]=(0,f.useState)(!1),[F,G]=(0,f.useState)(null),[H,I]=(0,f.useState)(!1),K=(0,f.useRef)(null),L=(0,f.useRef)(!0),M=(0,f.useRef)(!1),[N,O]=(0,f.useState)({}),[P,Q]=(0,f.useState)({}),R=(0,f.useCallback)(()=>{M.current||g()},[g]);(0,f.useRef)([b,c,p[0]??null]),(0,f.useRef)(!1);let S=(0,f.useMemo)(()=>"ready"===l.status?l.worktrees:[],[l]),T=(0,f.useMemo)(()=>"ready"===l.status?function(a,b=[]){let c=new Map;for(let d of a){let a=c.get(d.repositoryPath);if(!a){let e=b.find(a=>a.path===d.repositoryPath);a={path:d.repositoryPath,name:e?.displayName||e?.name||d.repositoryName,worktrees:[]},c.set(d.repositoryPath,a)}a.worktrees.push(d)}let d=Array.from(c.values());for(let a of d)a.worktrees.sort((a,b)=>a.name.localeCompare(b.name));return d.sort((a,b)=>a.name.localeCompare(b.name))}(l.worktrees,l.repositories):[],[l]),U=S.find(a=>a.id===r)??null,V=(0,f.useMemo)(()=>U?bd(U):[],[U]),W=V.find(a=>a.id===t)??null,X=U&&W?be(U,W):null,Y=U?T.find(a=>a.path===U.repositoryPath)??null:null,Z=X?(a=X.instance.cliTool,"copilot"===a?{selectable:!0}:"claude"===a||"antigravity"===a?X.running||X.starting?{selectable:!1,reason:"running"}:{selectable:!0}:{selectable:!1,reason:"unsupported"}):null,$=X?P[`${r}:${X.instance.id}`]??X.autoYes:null,_=!function(a,b=Date.now()){return!!a&&a.enabled&&"number"==typeof a.expiresAt&&a.expiresAt-b>0}($)?null:$,aa=!!X&&!0===N[`${r}:${X.instance.id}`],[,ab]=(0,f.useState)(0),ac=(0,f.useMemo)(()=>p.flatMap(a=>{let b=function(a,b){let c=a.find(a=>a.id===b.worktreeId);if(!c)return null;let d=bd(c).find(a=>a.id===b.instanceId);return d?{worktree:c,instance:d}:null}(S,a);if(!b)return[];let c=T.find(a=>a.path===b.worktree.repositoryPath),d=be(b.worktree,b.instance).label;return[{target:a,label:`${c?.name??b.worktree.repositoryName} / ${b.worktree.name} / ${d}`}]}),[p,S,T]),ad=(0,f.useCallback)(a=>{s(a.worktreeId),u(a.instanceId),G(null)},[]),ae=(0,f.useCallback)(a=>{let b=T.find(b=>b.path===a),c=b?.worktrees.find(a=>bd(a).length>0)??b?.worktrees[0];c&&ad({worktreeId:c.id,instanceId:bd(c)[0]?.id??""})},[T,ad]),af=(0,f.useCallback)(a=>{let b=S.find(b=>b.id===a);if(!b)return;let c=bd(b),d=c.find(a=>a.id===t);ad({worktreeId:b.id,instanceId:d?.id??c[0]?.id??""})},[S,t,ad]),ah=!!X&&""!==v.trim()&&!D,aj=(0,f.useCallback)(async()=>{var a;if(!ah||!U||!X)return;let b={worktreeId:U.id,instanceId:X.instance.id};M.current=!0,h(!0),E(!0),G(null);let c=await bn({target:b,cliToolId:X.instance.cliTool,content:v.trim(),model:Z?.selectable?x:void 0,autoYesDuration:_?null:z,autoYesAnswerMode:B});if(M.current=!1,h(!1),!L.current)return;let{armedAutoYes:d}=c,e=`${b.worktreeId}:${b.instanceId}`;if(c.autoYesStateUnknown&&O(a=>({...a,[e]:!0})),d&&(O(a=>{let{[e]:b,...c}=a;return c}),Q(a=>({...a,[e]:d})),A(null),C(bg.Rb)),!c.ok){G(c),E(!1);return}[{worktreeId:(a=b).worktreeId,instanceId:a.instanceId},...[].filter(b=>!bb(b,a))].slice(0,3);let f=`${window.location.pathname}${window.location.search}`,l=`${U.name} / ${X.label}`;g(),i.push((0,J.Ii)(b)),j(k("newTask.sentToast",{target:l}),"success",6e3,{onClick:()=>i.push(f)})},[ah,U,X,v,Z,x,_,z,B,g,h,i,j,k]),ak=(0,f.useCallback)(a=>{var b,c;!0!==(c=b=a.nativeEvent).isComposing&&229!==c.keyCode&&"Enter"===b.key&&!b.shiftKey&&!b.altKey&&(b.metaKey||b.ctrlKey)&&(a.preventDefault(),aj())},[aj]),am=X?.label??"",an=X?X.starting?"starting":X.running?"running":"stopped":null;return(0,d.jsx)(a1.a,{isOpen:!0,onClose:R,title:k("newTask.title"),size:"md",disableClose:D,children:(0,d.jsxs)("div",{"data-testid":"new-task-dialog",className:"space-y-4",onKeyDown:ak,children:[(0,d.jsx)(br,{status:l.status,isEmpty:0===T.length,onRetry:()=>o(a=>a+1)}),"ready"===l.status&&T.length>0&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(bs,{recentOptions:ac,targetState:X,worktreeId:r,onSelect:ad}),(0,d.jsx)(bt,{repositoryOptions:T,repository:Y,worktreeId:r,worktree:U,instances:V,instance:W,onRepositoryChange:ae,onBranchChange:af,onAgentChange:a=>ad({worktreeId:r,instanceId:a})}),(0,d.jsx)(bu,{statusKey:an,agentLabel:am}),(0,d.jsxs)("div",{children:[(0,d.jsx)("label",{htmlFor:"new-task-message",className:bq,children:k("newTask.messageLabel")}),(0,d.jsx)("textarea",{ref:K,id:"new-task-message","data-testid":"new-task-message",value:v,onChange:a=>w(a.target.value),placeholder:k("newTask.messagePlaceholder"),rows:5,className:`${bp} resize-y`})]}),(0,d.jsxs)("div",{className:"grid grid-cols-1 gap-3 sm:grid-cols-2",children:[(0,d.jsx)(bv,{modelAvailability:Z,model:x,cliTool:X?.instance.cliTool,agentLabel:am,onChange:y}),(0,d.jsx)(bw,{armedAutoYes:_,autoYesChoice:z,autoYesUnknown:aa,onChoiceChange:A,answerMode:B,onAnswerModeChange:C})]})]}),(0,d.jsx)(bx,{failure:F,agentLabel:am}),(0,d.jsxs)("div",{className:"flex items-center justify-end gap-2",children:[(0,d.jsxs)("span",{className:"mr-auto hidden items-center gap-1 text-xs text-muted-foreground sm:flex",children:[(0,d.jsx)(ag.u,{children:al("MOD",H)}),(0,d.jsx)(ag.u,{children:"↵"}),(0,d.jsx)("span",{children:k("newTask.sendHint")})]}),(0,d.jsx)("button",{type:"button","data-testid":"new-task-cancel",onClick:R,disabled:D,className:"px-4 py-2 text-sm font-medium text-foreground bg-muted hover:bg-muted/80 rounded-lg transition-colors disabled:opacity-50",children:k("cancel")}),(0,d.jsx)("button",{type:"button","data-testid":"new-task-send",onClick:()=>void aj(),disabled:!ah,className:"px-4 py-2 text-sm font-medium text-white bg-accent-600 hover:bg-accent-700 disabled:opacity-50 disabled:cursor-not-allowed rounded-lg transition-colors",children:D?k("newTask.sending"):k("newTask.send")})]})]})})}function bz(){let{isOpen:a,openNewTask:b}=(0,ai.hX)(),{open:c}=(0,ah.C)();return(0,f.useRef)(c),a?(0,d.jsx)(by,{}):null}var bA=c(11010);let bB="transform transition-transform duration-300 ease-out",bC=(0,f.memo)(function({children:a}){let{isOpen:b,isMobileDrawerOpen:c,closeMobileDrawer:g,width:m,setWidth:n,repoTabBarMode:o,toggle:p}=(0,h.VF)(),q=(0,i.a)(),{showSidebar:r,showGlobalNav:s}=function(){var a=(0,e.usePathname)();for(let b of k)if(a.startsWith(b.prefix))return{...j,...b.config};return{...j}}(),{open:t}=(0,ah.C)();(0,f.useRef)(t),(0,f.useRef)(p);let{factor:u}=(0,l.Ps)(),v=Math.round(160*u),w=Math.round(480*u),x=Math.round(Math.min(w,Math.max(v,m*u))),y=(0,J.fs)(o??J.PB,b),z=(0,f.useRef)(null),A=(0,f.useRef)(null),B=(0,f.useRef)(null),C=(0,f.useRef)(c);(0,f.useLayoutEffect)(()=>{let a=C.current;if(C.current=c,!q||!a||c)return;let b=document.activeElement,d=b instanceof HTMLElement&&B.current?.contains(b)===!0;(d||null===b||b===document.body)&&!(0,aY.Bl)()&&d&&b.blur()},[q,c]);let D=(0,f.useCallback)(a=>{n(Math.round(a/u))},[n,u]);return q?(0,d.jsx)(ai.Zg,{children:(0,d.jsxs)("div",{"data-testid":"app-shell",className:"h-screen flex flex-col",children:[(0,d.jsx)(a_,{}),c&&(0,d.jsx)("div",{"data-testid":"drawer-overlay",className:"fixed inset-0 bg-black/50 z-40",onClick:g,"aria-hidden":"true"}),r&&(0,d.jsx)("aside",{ref:B,"data-testid":"sidebar-container",className:`
|
|
5
|
-
fixed left-0 top-0 h-full w-72 max-w-[85vw] z-50 bg-sidebar pt-safe pb-safe
|
|
6
|
-
${bB}
|
|
7
|
-
${c?"translate-x-0":"-translate-x-full"}
|
|
8
|
-
`,role:"complementary",children:(0,d.jsx)(az,{})}),(0,d.jsx)("main",{className:`flex-1 min-h-0 overflow-hidden ${s?"pb-nav-safe":""}`,role:"main","data-view-transition":"content",children:a}),s&&(0,d.jsx)(a$,{}),(0,d.jsx)(a0.xq,{}),(0,d.jsx)(a4,{}),(0,d.jsx)(a5.n,{}),(0,d.jsx)(a9,{}),(0,d.jsx)(bz,{})]})}):(0,d.jsx)(ai.Zg,{children:(0,d.jsxs)("div",{"data-testid":"app-shell",className:"h-screen flex flex-col",children:[(0,d.jsxs)("div",{className:"flex flex-1 min-h-0",children:[r&&(0,d.jsxs)("aside",{ref:z,"data-testid":"sidebar-container",className:`
|
|
9
|
-
fixed left-0 top-0 h-full
|
|
10
|
-
border-r border-border
|
|
11
|
-
${bB}
|
|
12
|
-
${b?"translate-x-0":"-translate-x-full"}
|
|
13
|
-
`,style:{width:`${x}px`,zIndex:bA.M.SIDEBAR},role:"complementary","aria-hidden":!b,children:[(0,d.jsx)(az,{}),(0,d.jsx)(bD,{currentWidth:x,minWidth:v,maxWidth:w,sidebarRef:z,mainRef:A,onWidthChange:D})]}),r&&!b&&(0,d.jsx)("aside",{"data-testid":"sidebar-rail-container",className:`
|
|
14
|
-
fixed left-0 top-0 h-full
|
|
15
|
-
border-r border-border
|
|
16
|
-
`,style:{width:`${J.BN}px`,zIndex:bA.M.SIDEBAR},children:(0,d.jsx)(aU,{})}),(0,d.jsxs)("main",{ref:A,className:"flex-1 min-w-0 h-full overflow-hidden flex flex-col transition-[padding] duration-300 ease-out",style:{paddingLeft:r?`${b?x:J.BN}px`:0},role:"main","data-view-transition":"content",children:[y&&(0,d.jsx)(aV.vP,{}),s&&(0,d.jsx)(aO,{}),(0,d.jsx)("div",{className:"flex-1 min-h-0",children:a})]})]}),(0,d.jsx)(a0.xq,{}),(0,d.jsx)(a4,{}),(0,d.jsx)(a5.n,{}),(0,d.jsx)(a9,{}),(0,d.jsx)(bz,{})]})})});function bD({currentWidth:a,minWidth:b,maxWidth:c,sidebarRef:e,mainRef:f,onWidthChange:g}){return(0,d.jsx)("div",{"data-testid":"sidebar-resize-handle","aria-hidden":"true",onMouseDown:d=>{d.preventDefault();let h=d.clientX,i=a;f.current&&(f.current.style.transition="none");let j=d=>{i=Math.max(b,Math.min(c,a+(d.clientX-h))),e.current&&(e.current.style.width=`${i}px`),f.current&&(f.current.style.paddingLeft=`${i}px`)},k=()=>{document.body.style.cursor="",document.body.style.userSelect="",f.current&&(f.current.style.transition=""),document.removeEventListener("mousemove",j),document.removeEventListener("mouseup",k),g(i)};document.body.style.cursor="col-resize",document.body.style.userSelect="none",document.addEventListener("mousemove",j),document.addEventListener("mouseup",k)},className:"absolute top-0 right-0 w-1 h-full cursor-col-resize hover:bg-accent-500/40 transition-colors"})}let bE=["/login","/offline","/proxy"],bF=/^\/worktrees\/[^/]+\/(terminal|files)(\/|$)/;function bG({children:a}){var b;return(b=(0,e.usePathname)()??"",bE.some(a=>b===a||b.startsWith(`${a}/`))||bF.test(b)||0)?(0,d.jsx)(d.Fragment,{children:a}):(0,d.jsx)(bC,{children:a})}},10290:(a,b,c)=>{"use strict";c.d(b,{Hr:()=>q,Ht:()=>p,SQ:()=>n,_2:()=>o,lp:()=>r,mB:()=>s,rI:()=>l,ty:()=>m});var d=c(21124),e=c(38301),f=c.n(e),g=c(12927),h=c(71613),i=c(90133),j=c(11010),k=c(35595);let l=g.bL,m=g.l9;g.YJ;let n=f().forwardRef(({className:a,sideOffset:b=4,...c},e)=>(0,d.jsx)(g.ZL,{children:(0,d.jsx)(g.UC,{ref:e,sideOffset:b,style:{zIndex:j.M.POPOVER},className:(0,k.cn)("min-w-[8rem] overflow-hidden rounded-md border border-border bg-surface p-1 text-surface-foreground shadow-lg","data-[state=open]:animate-in data-[state=closed]:animate-out","data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0","data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95","data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2","data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",a),...c})}));n.displayName="DropdownMenuContent";let o=f().forwardRef(({className:a,inset:b,...c},e)=>(0,d.jsx)(g.q7,{ref:e,className:(0,k.cn)("relative flex cursor-pointer select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none","focus:bg-muted focus:text-surface-foreground","data-[disabled]:pointer-events-none data-[disabled]:opacity-50",b&&"pl-8",a),...c}));o.displayName="DropdownMenuItem",f().forwardRef(({className:a,children:b,checked:c,...e},f)=>(0,d.jsxs)(g.H_,{ref:f,checked:c,className:(0,k.cn)("relative flex cursor-pointer select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none","focus:bg-muted focus:text-surface-foreground","data-[disabled]:pointer-events-none data-[disabled]:opacity-50",a),...e,children:[(0,d.jsx)("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:(0,d.jsx)(g.VF,{children:(0,d.jsx)(h.A,{size:16,"aria-hidden":"true"})})}),b]})).displayName="DropdownMenuCheckboxItem";let p=f().forwardRef(({className:a,children:b,...c},e)=>(0,d.jsxs)(g.hN,{ref:e,className:(0,k.cn)("relative flex cursor-pointer select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none","focus:bg-muted focus:text-surface-foreground","data-[disabled]:pointer-events-none data-[disabled]:opacity-50",a),...c,children:[(0,d.jsx)("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:(0,d.jsx)(g.VF,{children:(0,d.jsx)(i.A,{size:8,className:"fill-current","aria-hidden":"true"})})}),b]}));p.displayName="DropdownMenuRadioItem";let q=g.z6,r=f().forwardRef(({className:a,inset:b,...c},e)=>(0,d.jsx)(g.JU,{ref:e,className:(0,k.cn)("px-2 py-1.5 text-xs font-semibold text-muted-foreground",b&&"pl-8",a),...c}));r.displayName="DropdownMenuLabel";let s=f().forwardRef(({className:a,...b},c)=>(0,d.jsx)(g.wv,{ref:c,className:(0,k.cn)("-mx-1 my-1 h-px bg-border",a),...b}));s.displayName="DropdownMenuSeparator"},11010:(a,b,c)=>{"use strict";c.d(b,{M:()=>d});let d={DROPDOWN:10,SIDEBAR:30,MODAL:50,MAXIMIZED_EDITOR:55,TOAST:60,POPOVER:65,CONTEXT_MENU:70}},12055:(a,b,c)=>{"use strict";c.d(b,{Oo:()=>e,ST:()=>d,T4:()=>h,dz:()=>g,rz:()=>f,zS:()=>i});let d="client_version",e="version_mismatch",f="chat_turn_progress",g="messages_invalidated",h="model_changed";function i(a){let b;try{b=JSON.parse(a)}catch{return null}if(!b||"object"!=typeof b)return null;let c=b;if("broadcast"===c.type){let a=c.data;return a&&"object"==typeof a?"string"!=typeof a.type?null:(void 0===a.worktreeId&&"string"==typeof c.worktreeId&&(a.worktreeId=c.worktreeId),a):null}return"string"==typeof c.type?c:null}},12480:(a,b,c)=>{"use strict";c.d(b,{Uf:()=>f,d8:()=>g,fM:()=>h,of:()=>j,r5:()=>e,rq:()=>i});var d=c(53237);let e="medium",f=["large","medium","small","xsmall"],g={large:{value:"large",rootFontSizePx:18,factor:1.125,terminalFontSize:16},medium:{value:"medium",rootFontSizePx:16,factor:1,terminalFontSize:14},small:{value:"small",rootFontSizePx:14,factor:.875,terminalFontSize:12},xsmall:{value:"xsmall",rootFontSizePx:12.5,factor:.78,terminalFontSize:11}};function h(a){return"string"==typeof a&&Object.prototype.hasOwnProperty.call(g,a)}function i(a){return g[a].terminalFontSize}function j(){let{value:a,setValue:b,isAvailable:c}=(0,d.V)({key:"mcbd-pc-display-size",defaultValue:e,validate:h});return{size:a,setSize:b,isAvailable:c}}},13860:(a,b,c)=>{"use strict";c.d(b,{Bl:()=>f,cv:()=>e});let d="data-mobile-drawer-opener",e={[d]:""};function f(a=document){let b=a.querySelector(`[${d}]`);return!!b&&(b.focus(),!0)}},16730:(a,b,c)=>{"use strict";c.d(b,{BV:()=>p,Ct:()=>i,Hi:()=>e,K3:()=>g,PS:()=>n,SE:()=>f,SR:()=>h,T2:()=>l,Z3:()=>o,nk:()=>m});var d=c(29281);let e=0;function f(){return(0,d.v8)()+3e4}let g=8e3,h=2,i=2e4,j=[408,425,429,500,502,503,504],k=["GET","HEAD","OPTIONS"],l=3e4;function m(a){let b=(a??"GET").toUpperCase();return k.includes(b)}function n(a){return j.includes(a)}function o(a){return m(a)?1e4:3e4}function p(a,b=Math.random()){let c=Number.isFinite(a)&&a>0?Math.floor(a):0,d=Math.min(500*2**c,4e3);return Math.max(0,Math.round(d+.25*d*(2*b-1)))}},17252:(a,b,c)=>{"use strict";c.d(b,{Ab:()=>e,NL:()=>q,O6:()=>n,XH:()=>d,f_:()=>l,hR:()=>j,lu:()=>o,n6:()=>h,oo:()=>k,pQ:()=>f,sw:()=>m,vz:()=>p});let d=["claude","codex","gemini","vibe-local","opencode","copilot","antigravity","command-code","opencode-v2"],e=10,f=50,g=/^[a-zA-Z0-9_-]+$/;function h(a){return"string"==typeof a&&a.length>0&&a.length<=64&&g.test(a)}let i={claude:"Claude",codex:"Codex",gemini:"Gemini","vibe-local":"Vibe Local",opencode:"OpenCode",copilot:"Copilot",antigravity:"Antigravity","command-code":"Command Code","opencode-v2":"OpenCode V2"};function j(a){return d.includes(a)}function k(a){return i[a]??a}function l(a,b="Assistant"){return a&&j(a)?k(a):b}function m(a){let b=a.alias;return"string"==typeof b&&b.trim().length>0?b:k(a.cliTool)}function n(a,b,c){let d=a.find(a=>a.id===b);return d?m(d):k(c)}function o(a){return a.map((a,b)=>({id:a,cliTool:a,alias:k(a),order:b}))}let p=128,q=2097152},17793:(a,b,c)=>{"use strict";c.d(b,{y:()=>h});var d=c(21124);c(38301);var e=c(35595);let f={xs:"h-3 w-3",sm:"h-4 w-4",md:"h-5 w-5",lg:"h-6 w-6",xl:"h-8 w-8"},g={current:"",accent:"text-accent-600 dark:text-accent-400",muted:"text-muted-foreground"};function h({size:a="md",variant:b="current",className:c,...h}){return(0,d.jsxs)("svg",{className:(0,e.cn)("animate-spin",f[a],g[b],c),xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","aria-hidden":"true",...h,children:[(0,d.jsx)("circle",{className:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"4"}),(0,d.jsx)("path",{className:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"})]})}},18608:(a,b,c)=>{"use strict";c.d(b,{W:()=>q,n:()=>r});var d=c(21124),e=c(38301),f=c(20481),g=c(16945),h=c(25345),i=c(47089),j=c(11010),k=c(74930),l=c(12055);let m=new Set;function n(a){return m.add(a),()=>{m.delete(a)}}function o(){return!1}function p(){return!1}function q(){return(0,e.useSyncExternalStore)(n,o,p)}function r(){let a=(0,f.c)("common"),[b,c]=(0,e.useState)(null),[m,n]=(0,e.useState)(null),o=(0,e.useCallback)(a=>{if(a.type!==l.Oo)return;let{serverVersion:b,clientVersion:d}=a;"string"==typeof b&&"string"==typeof d&&b&&d&&b!==m&&c({serverVersion:b,clientVersion:d})},[m]);(0,k.T3)(o);let p=(0,e.useCallback)(()=>{window.location.reload()},[]),q=(0,e.useCallback)(()=>{c(a=>(a&&n(a.serverVersion),null))},[]);return b?(0,d.jsxs)("div",{"data-testid":"version-mismatch-banner",role:"alert","aria-live":"assertive",className:"fixed top-3 left-1/2 -translate-x-1/2 flex items-start gap-3 max-w-[92vw] rounded-lg border border-warning-border bg-warning-subtle px-4 py-3 text-warning-foreground shadow-lg",style:{zIndex:j.M.TOAST},children:[(0,d.jsx)(g.A,{className:"h-5 w-5 shrink-0 mt-0.5","aria-hidden":"true"}),(0,d.jsxs)("div",{className:"flex flex-col gap-0.5 text-sm",children:[(0,d.jsx)("span",{className:"font-semibold",children:a("versionMismatch.title")}),(0,d.jsx)("span",{children:a("versionMismatch.description",{serverVersion:b.serverVersion,clientVersion:b.clientVersion})})]}),(0,d.jsxs)("button",{type:"button","data-testid":"version-mismatch-reload",onClick:p,className:"shrink-0 inline-flex items-center gap-1.5 rounded-md border border-warning-border px-3 py-1.5 text-sm font-medium hover:opacity-80 focus:outline-none focus:ring-2 focus:ring-offset-2",children:[(0,d.jsx)(h.A,{className:"h-4 w-4","aria-hidden":"true"}),a("versionMismatch.reload")]}),(0,d.jsx)("button",{type:"button","data-testid":"version-mismatch-dismiss",onClick:q,"aria-label":a("versionMismatch.dismiss"),className:"shrink-0 hover:opacity-70 focus:outline-none focus:ring-2 focus:ring-offset-2",children:(0,d.jsx)(i.A,{className:"h-4 w-4","aria-hidden":"true"})})]}):null}},18913:(a,b,c)=>{var d={"./en/skills.json":[55064,5064],"./ja/skills.json":[20022,22]};function e(a){if(!c.o(d,a))return Promise.resolve().then(()=>{var b=Error("Cannot find module '"+a+"'");throw b.code="MODULE_NOT_FOUND",b});var b=d[a],e=b[0];return c.e(b[1]).then(()=>c.t(e,19))}e.keys=()=>Object.keys(d),e.id=18913,a.exports=e},19463:(a,b,c)=>{"use strict";c.d(b,{Lv:()=>g,Rc:()=>f});var d=c(38301),e=c(63157);function f(a){return a.filter(a=>!0===a.isWaitingForResponse)}function g(){let a=(0,e.rC)(),b=a?.worktrees;return(0,d.useMemo)(()=>{let a=b?f(b):[];return{count:a.length,worktrees:a}},[b])}},20316:(a,b,c)=>{"use strict";c.d(b,{Dj:()=>o,FI:()=>t,LP:()=>m,PX:()=>n,SE:()=>f,Th:()=>p,V9:()=>q,WZ:()=>s,Xg:()=>l,Zh:()=>e,m9:()=>d,mq:()=>g});let d=[{value:null,labelKey:"worktreeStatus.notSet"},{value:"ready",labelKey:"worktreeStatus.ready"},{value:"in_progress",labelKey:"worktreeStatus.inProgress"},{value:"in_review",labelKey:"worktreeStatus.inReview"},{value:"done",labelKey:"worktreeStatus.done"}];function e(a){return d.find(b=>b.value===(a??null))?.labelKey??"worktreeStatus.notSet"}let f={ready:"bg-muted text-muted-foreground",in_progress:"bg-accent-100 dark:bg-accent-900/30 text-accent-700 dark:text-accent-400",in_review:"bg-info-subtle text-info-foreground",done:"bg-success-subtle text-success-foreground"},g={ready:"bg-muted-foreground",in_progress:"bg-accent-500",in_review:"bg-info",done:"bg-success"};async function h(a,b){let c=await fetch(`/api/worktrees/${encodeURIComponent(a)}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({status:b})});if(!c.ok)throw Error(`Failed to update worktree status: HTTP ${c.status}`);return await c.json()}let i=0,j=new Map,k=new Map;function l(){return i}function m(){return i+=1}function n(a,b,c,d){let e=j.get(a),f=c,g=b;return e&&e.generation>f&&(f=e.generation,g=e.status),d&&void 0!==d.status&&d.at>f&&(g=d.status),g}function o(a,b){let c=function(a,b,c){let d=j.get(a);return d&&d.generation>c?d.status:b}(a.id,a.status,b);return c===a.status?a:{...a,status:c}}function p(a,b){let c=!1,d=a.map(a=>{let d=o(a,b);return d!==a&&(c=!0),d});return c?d:a}function q(a,b){let c=(k.get(a)??Promise.resolve()).catch(()=>void 0).then(()=>h(a,b)).then(c=>(i+=1,j.set(a,{generation:i,status:b}),c)),d=c.catch(()=>void 0);return k.set(a,d),d.then(()=>{k.get(a)===d&&k.delete(a)}),c}let r=-1;function s(a){a>r&&(r=a)}function t(a){return r>=a}},21768:(a,b,c)=>{"use strict";c.d(b,{Rb:()=>e,wn:()=>f,yv:()=>d});let d=["recommended","careful"],e="recommended";function f(a){return"recommended"===a||"careful"===a}},21787:(a,b,c)=>{"use strict";c.d(b,{Zg:()=>j,hX:()=>k,uH:()=>l});var d=c(21124),e=c(38301),f=c(68643);let g=()=>{},h=(0,e.createContext)({isOpen:!1,requestedTarget:null,screenTarget:null,openNewTask:g,closeNewTask:g,setCloseLocked:g}),i=(0,e.createContext)(g);function j({children:a}){let[b,c]=(0,e.useState)(!1),[g,j]=(0,e.useState)(null),[k,l]=(0,e.useState)(null),m=(0,e.useRef)(!1),n=(0,e.useCallback)(a=>{(0,f.Sj)()||(j(a??null),c(!0))},[]),o=(0,e.useCallback)(()=>{m.current||c(!1)},[]),p=(0,e.useCallback)(a=>{m.current=a},[]),q=(0,e.useCallback)(a=>{l(b=>null===b&&null===a||b&&a&&b.worktreeId===a.worktreeId&&b.instanceId===a.instanceId?b:a)},[]),r=(0,e.useMemo)(()=>({isOpen:b,requestedTarget:g,screenTarget:k,openNewTask:n,closeNewTask:o,setCloseLocked:p}),[b,g,k,n,o,p]);return(0,d.jsx)(i.Provider,{value:q,children:(0,d.jsx)(h.Provider,{value:r,children:a})})}function k(){return(0,e.useContext)(h)}function l(){return(0,e.useContext)(i)}},22317:(a,b,c)=>{"use strict";c.d(b,{m:()=>l});var d=c(21124);c(38301);var e=c(20481),f=c(35595);let g={idle:{colorClass:"bg-muted-foreground",labelKey:"status.idle"},ready:{colorClass:"bg-success",labelKey:"status.ready"},running:{colorClass:"bg-success text-success ring-2 ring-success/40",animationClass:"animate-status-glow",labelKey:"status.running"},generating:{colorClass:"bg-success text-success ring-2 ring-success/40",animationClass:"animate-status-glow",labelKey:"status.generating"},waiting:{colorClass:"bg-warning text-warning ring-4 ring-warning/50",animationClass:"animate-status-attention",labelKey:"status.waiting"},error:{colorClass:"bg-danger",labelKey:"status.error"}},h={colorClass:"bg-warning text-warning ring-2 ring-warning/40",animationClass:"animate-status-glow",labelKey:"status.waiting"},i=new Set(["menu","unclassified"]),j={colorClass:"bg-muted-foreground",labelKey:"status.unknown"},k={sm:"w-2 h-2",md:"w-2.5 h-2.5",lg:"w-3 h-3"};function l({status:a,size:b="md",label:c,waitingKind:l,className:m,...n}){let o=(0,e.c)("common"),p=function(a,b){let c=g[a]??j;return"waiting"!==a?c:b&&i.has(b)?h:c}(a,l),q=c??o(p.labelKey);return(0,d.jsx)("span",{className:(0,f.cn)("inline-block flex-shrink-0 rounded-full",k[b],p.colorClass,p.animationClass,m),title:q,"aria-label":q,...n})}},23910:(a,b,c)=>{"use strict";c.d(b,{Y:()=>m,y2:()=>l});var d=c(21124),e=c(38301),f=c(20481),g=c(78352),h=c(79782),i=c(63474);let j=()=>{},k=(0,e.createContext)({updateInfo:null,checking:!1,hasUpdate:!1,pendingVersion:null,canSelfUpdate:!1,state:"idle",logPath:null,errorKey:null,openConfirm:j,cancel:j,confirm:async()=>{}});function l({children:a,enabled:b=!0}){let c=(0,f.c)("worktree"),{showToast:j}=(0,i.dj)(),[l,m]=(0,e.useState)(null),[n,o]=(0,e.useState)(!0),[p,q]=(0,e.useState)("idle"),[r,s]=(0,e.useState)(null),[t,u]=(0,e.useState)(null),v=(0,e.useRef)("idle");(0,e.useRef)(!1);let w=(0,e.useRef)(async()=>{}),x=l?.hasUpdate===!0,y=x?null:l?.pendingVersion??null,z=l?.installType==="global"||l?.installType==="npx",A=(0,e.useCallback)(()=>{x&&z&&q(a=>"idle"===a?"confirming":a)},[x,z]),B=(0,e.useCallback)(()=>{q(a=>"confirming"===a?"idle":a)},[]),C=(0,e.useCallback)(async()=>{if("confirming"===v.current){v.current="starting",q("starting");try{let a=await g.GQ.startUpdate();s(a.logPath),q(a.willRestart?"updating":"no-restart")}catch(a){if(a instanceof g.hD&&409===a.status&&a.data?.code==="not_yet_published"){j(c("update.notYetPublished"),"info"),v.current="idle",q("idle"),w.current();return}a instanceof g.hD&&400===a.status?u("update.errorNotGlobal"):a instanceof g.hD&&409===a.status?u("update.errorInProgress"):u("update.errorGeneric"),q("error")}}},[j,c]),D=(0,e.useMemo)(()=>({updateInfo:l,checking:n,hasUpdate:x,pendingVersion:y,canSelfUpdate:z,state:p,logPath:r,errorKey:t,openConfirm:A,cancel:B,confirm:C}),[l,n,x,y,z,p,r,t,A,B,C]);return(0,d.jsxs)(k.Provider,{value:D,children:[a,(0,d.jsx)(h.TM,{isOpen:"confirming"===p,title:c("update.confirmTitle"),description:c("update.confirmDescription",{version:l?.latestVersion??""}),confirmLabel:c("update.confirmButton"),onConfirm:()=>{C()},onCancel:B})]})}function m(){return(0,e.useContext)(k)}},25754:(a,b,c)=>{"use strict";c.d(b,{Xn:()=>e,d9:()=>g,dI:()=>d,gB:()=>f,rv:()=>h});let d=["en","ja"],e="en",f="locale";function g(a){return"string"==typeof a&&d.includes(a)}function h(a,b){return g(a)?a:d.find(a=>(b??"").includes(a))??e}},29281:(a,b,c)=>{"use strict";c.d(b,{Up:()=>h,v8:()=>g});var d=c(17252);let e={claude:6e4};function f(a){return(e[a]??3e4)+5e3}function g(){return Math.max(...d.XH.map(f))}let h=5e3},29966:(a,b,c)=>{"use strict";c.d(b,{AppShellGate:()=>e});var d=c(97954);(0,d.registerClientReference)(function(){throw Error("Attempted to call SHELL_EXCLUDED_PREFIXES() from the server but SHELL_EXCLUDED_PREFIXES is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/CommandMate/CommandMate/src/components/layout/AppShellGate.tsx","SHELL_EXCLUDED_PREFIXES"),(0,d.registerClientReference)(function(){throw Error("Attempted to call SHELL_EXCLUDED_WORKTREE_SUBPATHS() from the server but SHELL_EXCLUDED_WORKTREE_SUBPATHS is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/CommandMate/CommandMate/src/components/layout/AppShellGate.tsx","SHELL_EXCLUDED_WORKTREE_SUBPATHS"),(0,d.registerClientReference)(function(){throw Error("Attempted to call shouldRenderShell() from the server but shouldRenderShell is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/CommandMate/CommandMate/src/components/layout/AppShellGate.tsx","shouldRenderShell");let e=(0,d.registerClientReference)(function(){throw Error("Attempted to call AppShellGate() from the server but AppShellGate is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/CommandMate/CommandMate/src/components/layout/AppShellGate.tsx","AppShellGate")},30430:(a,b,c)=>{"use strict";c.d(b,{j:()=>i,p:()=>j});var d=c(21124),e=c(38301),f=c.n(e),g=c(26691),h=c(35595);let i=(0,g.F)("flex w-full rounded-md border border-input bg-surface dark:bg-surface-2 text-surface-foreground shadow-sm placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:border-ring disabled:cursor-not-allowed disabled:opacity-50",{variants:{inputSize:{sm:"h-8 px-2.5 py-1 text-sm",md:"px-3 py-2 text-sm",lg:"px-4 py-2.5 text-base"}},defaultVariants:{inputSize:"md"}}),j=f().forwardRef(({className:a,inputSize:b,type:c="text",...e},f)=>(0,d.jsx)("input",{ref:f,type:c,className:(0,h.cn)(i({inputSize:b}),a),...e}));j.displayName="Input"},31210:(a,b,c)=>{"use strict";c.d(b,{Wu:()=>k,ZB:()=>j,Zp:()=>h,aR:()=>i});var d=c(21124);c(38301);var e=c(26691),f=c(35595);let g=(0,e.F)("bg-surface text-surface-foreground rounded-lg border border-border shadow-sm",{variants:{variant:{default:"",elevated:"bg-gradient-to-b from-surface to-surface-2 shadow-md",interactive:"cursor-pointer transition-all duration-200 hover:border-accent-500 hover:shadow-md motion-safe:hover:-translate-y-0.5 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:border-accent-500 focus-visible:shadow-md motion-safe:focus-visible:-translate-y-0.5"},hover:{true:"transition-shadow duration-200 hover:shadow-md",false:""},interactive:{true:"cursor-pointer transition-all duration-200 hover:shadow-lg active:shadow-md motion-safe:hover:-translate-y-0.5 motion-safe:active:translate-y-0",false:""},padding:{none:"",sm:"p-3",md:"p-4",lg:"p-6"}},defaultVariants:{variant:"default",hover:!1,interactive:!1,padding:"md"}});function h({variant:a="default",hover:b=!1,interactive:c=!1,padding:e="md",className:h="",children:i,...j}){return(0,d.jsx)("div",{className:(0,f.cn)(g({variant:a,hover:b,interactive:c,padding:e}),h),...j,children:i})}function i({className:a="",children:b,...c}){return(0,d.jsx)("div",{className:(0,f.cn)("mb-3",a),...c,children:b})}function j({className:a="",children:b,...c}){return(0,d.jsx)("h3",{className:(0,f.cn)("text-lg font-semibold text-surface-foreground",a),...c,children:b})}function k({className:a="",children:b,...c}){return(0,d.jsx)("div",{className:(0,f.cn)(a),...c,children:b})}},32482:(a,b,c)=>{"use strict";c.d(b,{$m:()=>h,BN:()=>M,EN:()=>i,EY:()=>C,El:()=>u,Ew:()=>G,FS:()=>K,Ii:()=>A,KI:()=>P,Kp:()=>z,LV:()=>p,PB:()=>k,Si:()=>f,UB:()=>y,UZ:()=>n,Xn:()=>w,ZC:()=>F,ZD:()=>E,_s:()=>x,al:()=>R,df:()=>O,fs:()=>H,go:()=>N,j:()=>v,jn:()=>T,m3:()=>j,nO:()=>q,rL:()=>L,s6:()=>o,zD:()=>t,zg:()=>Q});var d=c(89877);let e=["updatedAt","repositoryName","branchName","status","lastSent"],f=a=>e.includes(a),g=["grouped","flat","sessions"],h=a=>g.includes(a),i=["always","collapsed","hidden"],j=a=>i.includes(a),k="collapsed",l={waiting:0,ready:1,running:2,generating:3,idle:4},m=["waiting","running","generating","ready","idle"];function n(a){let b=new Set;for(let c of a)!1===c.visible&&b.add(c.path);return b}function o(a,b){return 0===b.size?a.slice():a.filter(a=>{let c=a.repositoryPath;return!c||!b.has(c)})}function p(a){let b=function(a){let b=5381;for(let c=0;c<a.length;c++)b=(b<<5)+b+a.charCodeAt(c)|0;return Math.abs(b)}(a)%360;return`hsl(${b}, 65%, 60%)`}function q(a,b){if(!a&&!b)return 0;if(!a)return 1;if(!b)return -1;let c=a instanceof Date?a.getTime():new Date(a).getTime();return(b instanceof Date?b.getTime():new Date(b).getTime())-c}function r(a){return a.cliStatus&&Object.keys(a.cliStatus).length>0?(0,d.A7)(a.cliStatus):a.status}function s(a){return"waiting"===r(a)}function t(a){let b=new Set(a.map(r));for(let a of m)if(b.has(a))return a;return"idle"}function u(a){return"ready"===t(a)&&a.some(a=>"ready"===r(a)&&(0,d.Pn)(a.cliStatus,a.unclassifiedInstanceIds))}function v(a){let b=0;for(let c of a)s(c)&&b++;return b}function w(a,b,c){let d=[...a],e="status"!==b;return d.sort((a,d)=>{if(e){let b=Number(s(d))-Number(s(a));if(0!==b)return b}let f=0;switch(b){case"updatedAt":{let b=a=>a?a instanceof Date?a.getTime():new Date(a).getTime():0,c=b(a.lastActivity);f=b(d.lastActivity)-c;break}case"repositoryName":{let b=a.repositoryName.toLowerCase(),c=d.repositoryName.toLowerCase();f=b.localeCompare(c);break}case"branchName":{let b=a.name.toLowerCase(),c=d.name.toLowerCase();f=b.localeCompare(c);break}case"status":f=l[a.status]-l[d.status];break;case"lastSent":{let b=q(a.lastActivity,d.lastActivity);if(!a.lastActivity&&!d.lastActivity){f=0;break}if(!a.lastActivity)return 1;if(!d.lastActivity)return -1;f=b;break}default:f=0}return("updatedAt"===b||"lastSent"===b?"desc"===c:"asc"===c)?f:-f}),d}function x(a,b,c){let d=new Map;for(let b of a){let a=b.repositoryName;d.has(a)||d.set(a,[]),d.get(a).push(b)}return[...d.keys()].sort((a,b)=>a.toLowerCase().localeCompare(b.toLowerCase())).map(a=>({repositoryName:a,branches:w(d.get(a),b,c)}))}function y(a){let b=[];for(let c of a){let a=new Set(c.exitedInstanceIds??[]),d=new Set(c.unclassifiedInstanceIds??[]);for(let[e,f]of Object.entries(c.cliStatus??{}))b.push({key:`${c.id}:${e}`,worktreeId:c.id,instanceId:e,label:c.cliStatusLabels?.[e]??e,status:f??"idle",branchName:c.name,repositoryName:c.repositoryName,lastActivity:c.lastActivityByInstance?.[e]??c.lastActivity,exited:a.has(e),..."ready"===f&&d.has(e)?{unclassified:!0}:{}})}return b}let z="instance";function A(a){return`/worktrees/${a.worktreeId}?${z}=${encodeURIComponent(a.instanceId)}`}function B(a){return a.lastActivity?a.lastActivity instanceof Date?a.lastActivity.getTime():new Date(a.lastActivity).getTime():0}function C(a,b,c){let d="asc"===c?1:-1;return a.slice().sort((a,c)=>{if("status"===b){let b=l[a.status]-l[c.status];return 0!==b?b*d:B(c)-B(a)}let e=Number("waiting"===c.status)-Number("waiting"===a.status);if(0!==e)return e;switch(b){case"updatedAt":case"lastSent":return(B(a)-B(c))*d;case"repositoryName":return a.repositoryName.toLowerCase().localeCompare(c.repositoryName.toLowerCase())*d;case"branchName":return a.branchName.toLowerCase().localeCompare(c.branchName.toLowerCase())*d;default:return 0}})}let D=null;function E(){return D??[]}function F(a){D=a}function G(a,b){if(0===b.length)return a.slice();let c=new Map(b.map((a,b)=>[a,b]));return a.slice().sort((a,b)=>{let d=c.has(a.repositoryName)?c.get(a.repositoryName):1/0,e=c.has(b.repositoryName)?c.get(b.repositoryName):1/0;return d===e?a.repositoryName.localeCompare(b.repositoryName):d-e})}function H(a,b){return"hidden"!==a&&("always"===a||!b)}let I=/^detached-[a-z0-9]+$/,J=new Set(["waiting","running","generating"]);function K(a,b,c,d){let e=[],f=[];for(let g of a)(d?.has(g.id)===!0||L(g,b,c)?e:f).push(g);return{shown:e,other:f}}function L(a,b,c){var d;let e=c?.get(a.id)??a;return d=e.name,!I.test(d)||e.id===b||J.has(r(e))||J.has(e.status)}let M=56,N=["sessions","repositories","review"],O=8,P=40;function Q(a){return!0!==a.isComposing&&229!==a.keyCode&&!a.shiftKey&&!a.altKey&&(!!a.metaKey||!!a.ctrlKey)&&("b"===a.key.toLowerCase()||"KeyB"===a.code)}function R(a){if("undefined"==typeof HTMLElement||!(a instanceof HTMLElement))return!1;let b=a.tagName;return"INPUT"===b||"TEXTAREA"===b||"SELECT"===b||!!a.isContentEditable||null!==a.closest('[role="log"]')}let S=/^\/worktrees\/([^/]+)/;function T(a,b){let c=S.exec(a);if(!c)return b;try{return decodeURIComponent(c[1])}catch{return c[1]}}},33497:(a,b,c)=>{Promise.resolve().then(c.bind(c,29966)),Promise.resolve().then(c.bind(c,58315))},34592:(a,b,c)=>{"use strict";c.d(b,{Xi:()=>l,av:()=>m,j7:()=>k,tU:()=>j});var d=c(21124),e=c(38301),f=c.n(e),g=c(89989),h=c(35595);let i=f().createContext("underline"),j=f().forwardRef(({variant:a="underline",...b},c)=>(0,d.jsx)(i.Provider,{value:a,children:(0,d.jsx)(g.bL,{ref:c,...b})}));j.displayName="Tabs";let k=f().forwardRef(({className:a,...b},c)=>{let e=f().useContext(i);return(0,d.jsx)(g.B8,{ref:c,className:(0,h.cn)("inline-flex items-center","pill"===e?"gap-1 rounded-lg bg-muted p-1":"gap-4 border-b border-border",a),...b})});k.displayName="TabsList";let l=f().forwardRef(({className:a,...b},c)=>{let e=f().useContext(i);return(0,d.jsx)(g.l9,{ref:c,className:(0,h.cn)("inline-flex items-center justify-center whitespace-nowrap text-sm font-medium transition-colors","focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring","disabled:pointer-events-none disabled:opacity-50","pill"===e?"rounded-md px-3 py-1.5 text-muted-foreground data-[state=active]:bg-surface data-[state=active]:text-surface-foreground data-[state=active]:shadow-sm":"-mb-px border-b-2 border-transparent px-1 py-2 text-muted-foreground hover:text-foreground data-[state=active]:border-accent-500 data-[state=active]:text-accent-600",a),...b})});l.displayName="TabsTrigger";let m=f().forwardRef(({className:a,...b},c)=>(0,d.jsx)(g.UC,{ref:c,className:(0,h.cn)("mt-2 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",a),...b}));m.displayName="TabsContent"},35595:(a,b,c)=>{"use strict";c.d(b,{cn:()=>f});var d=c(43249),e=c(58829);function f(...a){return(0,e.QP)((0,d.$)(a))}},35914:(a,b,c)=>{"use strict";c.d(b,{$7:()=>f,oz:()=>d,tV:()=>e,v9:()=>g});function d(a){if(null==a||"object"!=typeof a)return!1;let{name:b,message:c}=a;return"ChunkLoadError"===b||"string"==typeof c&&(c.includes("Loading chunk")||c.includes("Failed to fetch dynamically imported module"))}function e(a){return"skipped"}function f(a,b){let c=!1,d=null,e=null,f=()=>{d?.(),e?.(),d=null,e=null},g=()=>{c||(c=!0,f(),a())};return d=b.subscribeOnline(()=>{c||b.probe().then(a=>{a&&g()})}),e=b.subscribeReachability(a=>{a&&g()}),()=>{c=!0,f()}}function g(a){return{subscribeOnline:a=>()=>{},subscribeReachability:a.subscribeReachability,probe:a.probe}}},37382:(a,b,c)=>{"use strict";c.d(b,{o:()=>g});var d=c(21124);c(38301);var e=c(20481),f=c(21768);function g({value:a,onChange:b,idPrefix:c="auto-yes-answer-mode",labelClassName:g="font-medium mb-2"}){let h=(0,e.c)("autoYes"),i=`${c}-label`;return(0,d.jsxs)("div",{className:"text-sm text-foreground",children:[(0,d.jsx)("p",{className:g,id:i,children:h("answerModeLabel")}),(0,d.jsx)("div",{className:"flex flex-col gap-2",role:"radiogroup","aria-labelledby":i,"data-testid":`${c}-options`,children:f.yv.map(e=>(0,d.jsxs)("button",{type:"button",role:"radio","aria-checked":a===e,onClick:()=>b(e),className:`w-full py-2 px-3 text-left rounded-md border-2 transition-colors ${a===e?"border-accent-600 bg-accent-50 dark:bg-accent-900/30 text-accent-700 dark:text-accent-400":"border-border bg-surface dark:bg-surface-2 text-foreground hover:border-muted-foreground"}`,style:{minHeight:"44px"},"data-testid":`${c}-${e}`,children:[(0,d.jsx)("span",{className:"block text-sm font-medium",children:h(`answerModes.${e}`)}),(0,d.jsx)("span",{className:"block text-xs text-muted-foreground",children:h(`answerModeDescriptions.${e}`)})]},e))}),(0,d.jsx)("p",{className:"mt-2 text-xs text-muted-foreground","data-testid":`${c}-permission-note`,children:h("answerModePermissionNote")})]})}},38557:(a,b,c)=>{"use strict";c.d(b,{Fx:()=>o,Rh:()=>n,_X:()=>g,fl:()=>k,nG:()=>m,sV:()=>h});var d=c(38301),e=c(74930);let f="/api/capabilities";function g(a){return!1!==a.browserOnline&&("connected"===a.realtimeStatus||!0===a.serverReachable)}function h(a){return!1===a.browserOnline||!1===a.serverReachable}let i=new Map;async function j(a,b){let c="function"==typeof AbortController?new AbortController:void 0,d=c?setTimeout(()=>c.abort(),b):void 0;try{return await fetch(a,{method:"GET",cache:"no-store",credentials:"same-origin",signal:c?.signal}),!0}catch{return!1}finally{void 0!==d&&clearTimeout(d)}}function k(a=f,b=5e3){if("function"!=typeof fetch)return Promise.resolve(!1);let c=i.get(a);if(c)return c;let d=j(a,b).finally(()=>{i.delete(a)});return i.set(a,d),d}let l=new Set;function m(a){l.forEach(b=>{try{b(a)}catch{}})}function n(a){return l.add(a),()=>{l.delete(a)}}function o(a={}){let{probeUrl:b=f,probeDelayMs:c=1e3,probeIntervalMs:g=15e3,probeTimeoutMs:h=5e3,surfaceDelayMs:i=1500,probe:j=!0}=a,{status:l}=(0,e.xM)(),[m,n]=(0,d.useState)(!0),[p,q]=(0,d.useState)(null),[r,s]=(0,d.useState)(null),t=(0,d.useCallback)(a=>{q(b=>b===a?b:a),a&&s(Date.now())},[]),u=(0,d.useMemo)(()=>({browserOnline:m,realtimeStatus:l,serverReachable:p}),[m,l,p]),v=u.browserOnline?"connected"===u.realtimeStatus?"online":!1===u.serverReachable?"offline":!0===u.serverReachable||"connecting"===u.realtimeStatus?"reconnecting":"offline":"offline",w="online"!==v,x=(0,d.useRef)({url:b,timeoutMs:h});x.current={url:b,timeoutMs:h};let[y,z]=(0,d.useState)(!1),A=(0,d.useCallback)(()=>{if("function"!=typeof fetch)return;let{url:a,timeoutMs:b}=x.current;k(a,b).then(t)},[t]);return(0,d.useMemo)(()=>({status:v,isOnline:"online"===v,isReconnecting:"reconnecting"===v,isOffline:"offline"===v,shouldSurface:w&&y,signals:u,lastReachableAt:r,recheck:A}),[v,w,y,u,r,A])}},38812:(a,b,c)=>{"use strict";c.d(b,{yP:()=>v,Fy:()=>n,R8:()=>r,Xd:()=>s});var d=c(21124),e=c(38301),f=c(23312),g=c.n(f),h=c(20481),i=c(71613),j=c(89877),k=c(1637),l=c(3839),m=c(20316);let n=(0,e.createContext)(!0);function o({worktreeStatus:a}){let b=(0,h.c)("worktree");return(0,e.useContext)(n)&&a?(0,d.jsxs)("span",{"data-testid":"branch-worktree-status","data-status":a,className:"flex-shrink-0 inline-flex items-center",title:b((0,m.Zh)(a)),children:[(0,d.jsx)("span",{"data-testid":"branch-worktree-status-dot","aria-hidden":"true",className:`h-1.5 w-1.5 rounded-full @min-[17rem]:hidden ${m.mq[a]}`}),(0,d.jsx)("span",{"data-testid":"branch-worktree-status-label",className:`sr-only @min-[17rem]:not-sr-only @min-[17rem]:max-w-[5.5rem] @min-[17rem]:truncate
|
|
4
|
+
data-[state=open]:text-sidebar-foreground ${b?"":"[@media(hover:none)]:hidden"}`,children:(0,d.jsx)(g.A,{className:"h-4 w-4","aria-hidden":"true"})})}),(0,d.jsxs)(j.SQ,{align:"end",[o]:"",onEscapeKeyDown:a=>a.stopPropagation(),children:[(0,d.jsx)(j._2,{asChild:!0,children:(0,d.jsx)("a",{href:`/worktrees/${a.id}`,target:"_blank",rel:"noopener noreferrer",children:r("branchItem.openInNewTab")})}),(0,d.jsx)(j._2,{onSelect:()=>void u(a.name),children:r("branchItem.copyBranchName")}),a.worktreePath&&(0,d.jsx)(j._2,{onSelect:()=>void u(a.worktreePath??""),children:r("branchItem.copyPath")}),q&&(0,d.jsxs)(i.Pb,{children:[(0,d.jsxs)(i.ZP,{"data-testid":"branch-row-status",className:"relative flex cursor-pointer select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-muted data-[state=open]:bg-muted",children:[(0,d.jsx)("span",{className:"flex-1",children:r("branchItem.status")}),(0,d.jsx)("span",{"data-testid":"branch-row-status-current",className:"text-xs text-muted-foreground",children:s((0,n.Zh)(p))}),(0,d.jsx)(h.A,{className:"h-3.5 w-3.5 text-muted-foreground","aria-hidden":"true"})]}),(0,d.jsx)(i.ZL,{children:(0,d.jsx)(i.G5,{[o]:"",sideOffset:4,collisionPadding:8,style:{zIndex:m.M.POPOVER},className:"min-w-[9rem] overflow-hidden rounded-md border border-border bg-surface p-1 text-surface-foreground shadow-lg",onEscapeKeyDown:a=>a.stopPropagation(),children:(0,d.jsx)(j.Hr,{value:p??"",onValueChange:a=>{let b=""===a?null:a;b!==p&&q(b)},children:n.m9.map(a=>(0,d.jsx)(j.Ht,{value:a.value??"",children:s(a.labelKey)},a.labelKey))})})})]})]})]})})},3890:(a,b,c)=>{"use strict";c.d(b,{AppProviders:()=>E});var d=c(21124),e=c(42378);let f=["/login","/api/auth/login","/api/auth/logout","/api/auth/status","/api/remote/pair","/manifest.webmanifest","/sw.js","/offline"];var g=c(37397),h=c(45523),i=c(81092),j=c(84342),k=c(5772),l=c(64632),m=c(89184),n=c(63157),o=c(52761),p=c(74930),q=c(79782),r=c(23910),s=c(62197),t=c(73060),u=c(63474),v=c(74132),w=c(67693),x=c(90102),y=c(38301),z=c(20481),A=c(25345),B=c(11010),C=c(18608);function D(){let a=(0,z.c)("pwa"),[b,c]=(0,y.useState)(null);(0,y.useRef)(!1);let e=(0,C.W)();return!b||e?null:(0,d.jsx)("div",{"data-testid":"pwa-update-toast",role:"status","aria-live":"polite",className:"pointer-events-none fixed bottom-0 right-0 flex max-w-full justify-end px-4 pb-safe",style:{zIndex:B.M.TOAST},children:(0,d.jsxs)("div",{"data-testid":"pwa-update-toast-card",className:"pointer-events-auto mb-4 flex items-center gap-3 rounded-lg border border-border bg-surface px-4 py-3 shadow-lg",children:[(0,d.jsx)("span",{className:"text-sm font-medium text-foreground",children:a("update.available")}),(0,d.jsxs)("button",{type:"button",onClick:()=>{b.postMessage({type:"SKIP_WAITING"})},className:"inline-flex items-center gap-1.5 rounded-md bg-accent-600 px-3 py-1.5 text-sm font-medium text-white transition-colors hover:bg-accent-700 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 ring-offset-background dark:bg-accent-500 dark:hover:bg-accent-600",children:[(0,d.jsx)(A.A,{className:"h-4 w-4"}),a("update.reload")]})]})})}function E({children:a,locale:b,messages:c,timeZone:y,authEnabled:z=!1}){var A;let B=(A=(0,e.usePathname)(),!z||!f.includes(A??""));return(0,d.jsx)(g.default,{locale:b,messages:c,timeZone:y,children:(0,d.jsx)(u.tE,{children:(0,d.jsx)(h.N,{attribute:"class",defaultTheme:"system",enableSystem:!0,children:(0,d.jsx)(j.O,{authEnabled:z,children:(0,d.jsx)(k.W5,{children:(0,d.jsx)(i.GB,{children:(0,d.jsx)(p.tS,{enabled:B,children:(0,d.jsxs)(n.g7,{enabled:B,children:[(0,d.jsx)(v.rM,{}),(0,d.jsx)(x.o,{}),(0,d.jsx)(w.H,{}),(0,d.jsx)(l.E,{children:(0,d.jsx)(m.S,{children:(0,d.jsx)(q.aF,{children:(0,d.jsx)(r.y2,{enabled:B,children:(0,d.jsxs)(s.NS,{children:[(0,d.jsx)(o.Bo,{children:a}),(0,d.jsx)(D,{}),(0,d.jsx)(t.gZ,{})]})})})})})]})})})})})})})})}},4267:(a,b,c)=>{"use strict";c.d(b,{Lt:()=>h,Wj:()=>f,eu:()=>e,fJ:()=>g});var d=c(17252);let e=2,f=6,g=["claude","codex","antigravity"];function h(a){return a.length<e||a.length>f?{valid:!1,error:`Must be ${e}-${f} elements`}:a.every(a=>"string"==typeof a&&d.XH.includes(a))?new Set(a).size!==a.length?{valid:!1,error:"Duplicate tool IDs not allowed"}:{valid:!0,value:a}:{valid:!1,error:"Invalid CLI tool ID"}}},4558:(a,b,c)=>{"use strict";c.d(b,{A:()=>g});var d=c(43692),e=c(86802),f=c(25754);let g=(0,d.A)(async({requestLocale:a})=>{let b=await a;if(!(0,f.d9)(b)){let a=await (0,e.UL)(),c=await (0,e.b3)();b=(0,f.rv)(a.get(f.gB)?.value,c.get("accept-language"))}let[d,g,h,i,j,k,l,m,n,o,p,q,r,s,t]=await Promise.all([c(61118)(`./${b}/common.json`),c(90338)(`./${b}/worktree.json`),c(62081)(`./${b}/autoYes.json`),c(66125)(`./${b}/error.json`),c(72637)(`./${b}/prompt.json`),c(51877)(`./${b}/auth.json`),c(38898)(`./${b}/schedule.json`),c(80407)(`./${b}/commandPalette.json`),c(70288)(`./${b}/home.json`),c(60887)(`./${b}/review.json`),c(75567)(`./${b}/pwa.json`),c(99127)(`./${b}/notifications.json`),c(1483)(`./${b}/keyboardShortcuts.json`),c(80812)(`./${b}/externalApps.json`),c(18913)(`./${b}/skills.json`)]);return{locale:b,timeZone:"UTC",messages:{common:d.default,worktree:g.default,autoYes:h.default,error:i.default,prompt:j.default,auth:k.default,schedule:l.default,commandPalette:m.default,home:n.default,review:o.default,pwa:p.default,notifications:q.default,keyboardShortcuts:r.default,externalApps:s.default,skills:t.default}}})},5682:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>d});let d=(0,c(97954).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/home/runner/work/CommandMate/CommandMate/src/app/error.tsx\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/CommandMate/CommandMate/src/app/error.tsx","default")},5772:(a,b,c)=>{"use strict";c.d(b,{Ps:()=>k,W5:()=>j});var d=c(21124),e=c(38301),f=c(90076),g=c(12480);let h={size:g.r5,setSize:()=>{},isMobile:!1,factor:g.d8[g.r5].factor,isAvailable:!1},i=(0,e.createContext)(h);function j({children:a}){let{size:b,setSize:c,isAvailable:h}=(0,g.of)(),j=(0,f.a)(),k=(0,e.useMemo)(()=>({size:b,setSize:c,isMobile:j,factor:g.d8[b].factor,isAvailable:h}),[b,c,j,h]);return(0,d.jsx)(i.Provider,{value:k,children:a})}function k(){return(0,e.useContext)(i)}},6074:(a,b,c)=>{"use strict";c.d(b,{O:()=>e});var d=c(38301);function e(a,b){let[c,e]=(0,d.useState)(a?"open":"closed");return a&&"open"!==c?e("open"):a||"open"!==c||e("exiting"),{shouldRender:a||"closed"!==c,isExiting:!a&&"exiting"===c}}},10290:(a,b,c)=>{"use strict";c.d(b,{Hr:()=>q,Ht:()=>p,SQ:()=>n,_2:()=>o,lp:()=>r,mB:()=>s,rI:()=>l,ty:()=>m});var d=c(21124),e=c(38301),f=c.n(e),g=c(12927),h=c(71613),i=c(90133),j=c(11010),k=c(35595);let l=g.bL,m=g.l9;g.YJ;let n=f().forwardRef(({className:a,sideOffset:b=4,...c},e)=>(0,d.jsx)(g.ZL,{children:(0,d.jsx)(g.UC,{ref:e,sideOffset:b,style:{zIndex:j.M.POPOVER},className:(0,k.cn)("min-w-[8rem] overflow-hidden rounded-md border border-border bg-surface p-1 text-surface-foreground shadow-lg","data-[state=open]:animate-in data-[state=closed]:animate-out","data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0","data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95","data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2","data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",a),...c})}));n.displayName="DropdownMenuContent";let o=f().forwardRef(({className:a,inset:b,...c},e)=>(0,d.jsx)(g.q7,{ref:e,className:(0,k.cn)("relative flex cursor-pointer select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none","focus:bg-muted focus:text-surface-foreground","data-[disabled]:pointer-events-none data-[disabled]:opacity-50",b&&"pl-8",a),...c}));o.displayName="DropdownMenuItem",f().forwardRef(({className:a,children:b,checked:c,...e},f)=>(0,d.jsxs)(g.H_,{ref:f,checked:c,className:(0,k.cn)("relative flex cursor-pointer select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none","focus:bg-muted focus:text-surface-foreground","data-[disabled]:pointer-events-none data-[disabled]:opacity-50",a),...e,children:[(0,d.jsx)("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:(0,d.jsx)(g.VF,{children:(0,d.jsx)(h.A,{size:16,"aria-hidden":"true"})})}),b]})).displayName="DropdownMenuCheckboxItem";let p=f().forwardRef(({className:a,children:b,...c},e)=>(0,d.jsxs)(g.hN,{ref:e,className:(0,k.cn)("relative flex cursor-pointer select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none","focus:bg-muted focus:text-surface-foreground","data-[disabled]:pointer-events-none data-[disabled]:opacity-50",a),...c,children:[(0,d.jsx)("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:(0,d.jsx)(g.VF,{children:(0,d.jsx)(i.A,{size:8,className:"fill-current","aria-hidden":"true"})})}),b]}));p.displayName="DropdownMenuRadioItem";let q=g.z6,r=f().forwardRef(({className:a,inset:b,...c},e)=>(0,d.jsx)(g.JU,{ref:e,className:(0,k.cn)("px-2 py-1.5 text-xs font-semibold text-muted-foreground",b&&"pl-8",a),...c}));r.displayName="DropdownMenuLabel";let s=f().forwardRef(({className:a,...b},c)=>(0,d.jsx)(g.wv,{ref:c,className:(0,k.cn)("-mx-1 my-1 h-px bg-border",a),...b}));s.displayName="DropdownMenuSeparator"},11010:(a,b,c)=>{"use strict";c.d(b,{M:()=>d});let d={DROPDOWN:10,SIDEBAR:30,MODAL:50,MAXIMIZED_EDITOR:55,TOAST:60,POPOVER:65,CONTEXT_MENU:70}},12055:(a,b,c)=>{"use strict";c.d(b,{Oo:()=>e,ST:()=>d,T4:()=>h,dz:()=>g,rz:()=>f,zS:()=>i});let d="client_version",e="version_mismatch",f="chat_turn_progress",g="messages_invalidated",h="model_changed";function i(a){let b;try{b=JSON.parse(a)}catch{return null}if(!b||"object"!=typeof b)return null;let c=b;if("broadcast"===c.type){let a=c.data;return a&&"object"==typeof a?"string"!=typeof a.type?null:(void 0===a.worktreeId&&"string"==typeof c.worktreeId&&(a.worktreeId=c.worktreeId),a):null}return"string"==typeof c.type?c:null}},12480:(a,b,c)=>{"use strict";c.d(b,{Uf:()=>f,d8:()=>g,fM:()=>h,of:()=>j,r5:()=>e,rq:()=>i});var d=c(53237);let e="medium",f=["large","medium","small","xsmall"],g={large:{value:"large",rootFontSizePx:18,factor:1.125,terminalFontSize:16},medium:{value:"medium",rootFontSizePx:16,factor:1,terminalFontSize:14},small:{value:"small",rootFontSizePx:14,factor:.875,terminalFontSize:12},xsmall:{value:"xsmall",rootFontSizePx:12.5,factor:.78,terminalFontSize:11}};function h(a){return"string"==typeof a&&Object.prototype.hasOwnProperty.call(g,a)}function i(a){return g[a].terminalFontSize}function j(){let{value:a,setValue:b,isAvailable:c}=(0,d.V)({key:"mcbd-pc-display-size",defaultValue:e,validate:h});return{size:a,setSize:b,isAvailable:c}}},13860:(a,b,c)=>{"use strict";c.d(b,{Bl:()=>f,cv:()=>e});let d="data-mobile-drawer-opener",e={[d]:""};function f(a=document){let b=a.querySelector(`[${d}]`);return!!b&&(b.focus(),!0)}},16730:(a,b,c)=>{"use strict";c.d(b,{BV:()=>p,Ct:()=>i,Hi:()=>e,K3:()=>g,PS:()=>n,SE:()=>f,SR:()=>h,T2:()=>l,Z3:()=>o,nk:()=>m});var d=c(29281);let e=0;function f(){return(0,d.v8)()+3e4}let g=8e3,h=2,i=2e4,j=[408,425,429,500,502,503,504],k=["GET","HEAD","OPTIONS"],l=3e4;function m(a){let b=(a??"GET").toUpperCase();return k.includes(b)}function n(a){return j.includes(a)}function o(a){return m(a)?1e4:3e4}function p(a,b=Math.random()){let c=Number.isFinite(a)&&a>0?Math.floor(a):0,d=Math.min(500*2**c,4e3);return Math.max(0,Math.round(d+.25*d*(2*b-1)))}},17252:(a,b,c)=>{"use strict";c.d(b,{Ab:()=>e,NL:()=>q,O6:()=>n,XH:()=>d,f_:()=>l,hR:()=>j,lu:()=>o,n6:()=>h,oo:()=>k,pQ:()=>f,sw:()=>m,vz:()=>p});let d=["claude","codex","gemini","vibe-local","opencode","copilot","antigravity","command-code","opencode-v2"],e=10,f=50,g=/^[a-zA-Z0-9_-]+$/;function h(a){return"string"==typeof a&&a.length>0&&a.length<=64&&g.test(a)}let i={claude:"Claude",codex:"Codex",gemini:"Gemini","vibe-local":"Vibe Local",opencode:"OpenCode",copilot:"Copilot",antigravity:"Antigravity","command-code":"Command Code","opencode-v2":"OpenCode V2"};function j(a){return d.includes(a)}function k(a){return i[a]??a}function l(a,b="Assistant"){return a&&j(a)?k(a):b}function m(a){let b=a.alias;return"string"==typeof b&&b.trim().length>0?b:k(a.cliTool)}function n(a,b,c){let d=a.find(a=>a.id===b);return d?m(d):k(c)}function o(a){return a.map((a,b)=>({id:a,cliTool:a,alias:k(a),order:b}))}let p=128,q=2097152},17793:(a,b,c)=>{"use strict";c.d(b,{y:()=>h});var d=c(21124);c(38301);var e=c(35595);let f={xs:"h-3 w-3",sm:"h-4 w-4",md:"h-5 w-5",lg:"h-6 w-6",xl:"h-8 w-8"},g={current:"",accent:"text-accent-600 dark:text-accent-400",muted:"text-muted-foreground"};function h({size:a="md",variant:b="current",className:c,...h}){return(0,d.jsxs)("svg",{className:(0,e.cn)("animate-spin",f[a],g[b],c),xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","aria-hidden":"true",...h,children:[(0,d.jsx)("circle",{className:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"4"}),(0,d.jsx)("path",{className:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"})]})}},18608:(a,b,c)=>{"use strict";c.d(b,{W:()=>q,n:()=>r});var d=c(21124),e=c(38301),f=c(20481),g=c(16945),h=c(25345),i=c(47089),j=c(11010),k=c(74930),l=c(12055);let m=new Set;function n(a){return m.add(a),()=>{m.delete(a)}}function o(){return!1}function p(){return!1}function q(){return(0,e.useSyncExternalStore)(n,o,p)}function r(){let a=(0,f.c)("common"),[b,c]=(0,e.useState)(null),[m,n]=(0,e.useState)(null),o=(0,e.useCallback)(a=>{if(a.type!==l.Oo)return;let{serverVersion:b,clientVersion:d}=a;"string"==typeof b&&"string"==typeof d&&b&&d&&b!==m&&c({serverVersion:b,clientVersion:d})},[m]);(0,k.T3)(o);let p=(0,e.useCallback)(()=>{window.location.reload()},[]),q=(0,e.useCallback)(()=>{c(a=>(a&&n(a.serverVersion),null))},[]);return b?(0,d.jsxs)("div",{"data-testid":"version-mismatch-banner",role:"alert","aria-live":"assertive",className:"fixed top-3 left-1/2 -translate-x-1/2 flex items-start gap-3 max-w-[92vw] rounded-lg border border-warning-border bg-warning-subtle px-4 py-3 text-warning-foreground shadow-lg",style:{zIndex:j.M.TOAST},children:[(0,d.jsx)(g.A,{className:"h-5 w-5 shrink-0 mt-0.5","aria-hidden":"true"}),(0,d.jsxs)("div",{className:"flex flex-col gap-0.5 text-sm",children:[(0,d.jsx)("span",{className:"font-semibold",children:a("versionMismatch.title")}),(0,d.jsx)("span",{children:a("versionMismatch.description",{serverVersion:b.serverVersion,clientVersion:b.clientVersion})})]}),(0,d.jsxs)("button",{type:"button","data-testid":"version-mismatch-reload",onClick:p,className:"shrink-0 inline-flex items-center gap-1.5 rounded-md border border-warning-border px-3 py-1.5 text-sm font-medium hover:opacity-80 focus:outline-none focus:ring-2 focus:ring-offset-2",children:[(0,d.jsx)(h.A,{className:"h-4 w-4","aria-hidden":"true"}),a("versionMismatch.reload")]}),(0,d.jsx)("button",{type:"button","data-testid":"version-mismatch-dismiss",onClick:q,"aria-label":a("versionMismatch.dismiss"),className:"shrink-0 hover:opacity-70 focus:outline-none focus:ring-2 focus:ring-offset-2",children:(0,d.jsx)(i.A,{className:"h-4 w-4","aria-hidden":"true"})})]}):null}},18913:(a,b,c)=>{var d={"./en/skills.json":[55064,5064],"./ja/skills.json":[20022,22]};function e(a){if(!c.o(d,a))return Promise.resolve().then(()=>{var b=Error("Cannot find module '"+a+"'");throw b.code="MODULE_NOT_FOUND",b});var b=d[a],e=b[0];return c.e(b[1]).then(()=>c.t(e,19))}e.keys=()=>Object.keys(d),e.id=18913,a.exports=e},19463:(a,b,c)=>{"use strict";c.d(b,{Lv:()=>g,Rc:()=>f});var d=c(38301),e=c(63157);function f(a){return a.filter(a=>!0===a.isWaitingForResponse)}function g(){let a=(0,e.rC)(),b=a?.worktrees;return(0,d.useMemo)(()=>{let a=b?f(b):[];return{count:a.length,worktrees:a}},[b])}},20316:(a,b,c)=>{"use strict";c.d(b,{Dj:()=>o,FI:()=>t,LP:()=>m,PX:()=>n,SE:()=>f,Th:()=>p,V9:()=>q,WZ:()=>s,Xg:()=>l,Zh:()=>e,m9:()=>d,mq:()=>g});let d=[{value:null,labelKey:"worktreeStatus.notSet"},{value:"ready",labelKey:"worktreeStatus.ready"},{value:"in_progress",labelKey:"worktreeStatus.inProgress"},{value:"in_review",labelKey:"worktreeStatus.inReview"},{value:"done",labelKey:"worktreeStatus.done"}];function e(a){return d.find(b=>b.value===(a??null))?.labelKey??"worktreeStatus.notSet"}let f={ready:"bg-muted text-muted-foreground",in_progress:"bg-accent-100 dark:bg-accent-900/30 text-accent-700 dark:text-accent-400",in_review:"bg-info-subtle text-info-foreground",done:"bg-success-subtle text-success-foreground"},g={ready:"bg-muted-foreground",in_progress:"bg-accent-500",in_review:"bg-info",done:"bg-success"};async function h(a,b){let c=await fetch(`/api/worktrees/${encodeURIComponent(a)}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({status:b})});if(!c.ok)throw Error(`Failed to update worktree status: HTTP ${c.status}`);return await c.json()}let i=0,j=new Map,k=new Map;function l(){return i}function m(){return i+=1}function n(a,b,c,d){let e=j.get(a),f=c,g=b;return e&&e.generation>f&&(f=e.generation,g=e.status),d&&void 0!==d.status&&d.at>f&&(g=d.status),g}function o(a,b){let c=function(a,b,c){let d=j.get(a);return d&&d.generation>c?d.status:b}(a.id,a.status,b);return c===a.status?a:{...a,status:c}}function p(a,b){let c=!1,d=a.map(a=>{let d=o(a,b);return d!==a&&(c=!0),d});return c?d:a}function q(a,b){let c=(k.get(a)??Promise.resolve()).catch(()=>void 0).then(()=>h(a,b)).then(c=>(i+=1,j.set(a,{generation:i,status:b}),c)),d=c.catch(()=>void 0);return k.set(a,d),d.then(()=>{k.get(a)===d&&k.delete(a)}),c}let r=-1;function s(a){a>r&&(r=a)}function t(a){return r>=a}},21768:(a,b,c)=>{"use strict";c.d(b,{Rb:()=>e,wn:()=>f,yv:()=>d});let d=["recommended","careful"],e="recommended";function f(a){return"recommended"===a||"careful"===a}},21787:(a,b,c)=>{"use strict";c.d(b,{Zg:()=>j,hX:()=>k,uH:()=>l});var d=c(21124),e=c(38301),f=c(68643);let g=()=>{},h=(0,e.createContext)({isOpen:!1,requestedTarget:null,screenTarget:null,openNewTask:g,closeNewTask:g,setCloseLocked:g}),i=(0,e.createContext)(g);function j({children:a}){let[b,c]=(0,e.useState)(!1),[g,j]=(0,e.useState)(null),[k,l]=(0,e.useState)(null),m=(0,e.useRef)(!1),n=(0,e.useCallback)(a=>{(0,f.Sj)()||(j(a??null),c(!0))},[]),o=(0,e.useCallback)(()=>{m.current||c(!1)},[]),p=(0,e.useCallback)(a=>{m.current=a},[]),q=(0,e.useCallback)(a=>{l(b=>null===b&&null===a||b&&a&&b.worktreeId===a.worktreeId&&b.instanceId===a.instanceId?b:a)},[]),r=(0,e.useMemo)(()=>({isOpen:b,requestedTarget:g,screenTarget:k,openNewTask:n,closeNewTask:o,setCloseLocked:p}),[b,g,k,n,o,p]);return(0,d.jsx)(i.Provider,{value:q,children:(0,d.jsx)(h.Provider,{value:r,children:a})})}function k(){return(0,e.useContext)(h)}function l(){return(0,e.useContext)(i)}},22317:(a,b,c)=>{"use strict";c.d(b,{m:()=>l});var d=c(21124);c(38301);var e=c(20481),f=c(35595);let g={idle:{colorClass:"bg-muted-foreground",labelKey:"status.idle"},ready:{colorClass:"bg-success",labelKey:"status.ready"},running:{colorClass:"bg-success text-success ring-2 ring-success/40",animationClass:"animate-status-glow",labelKey:"status.running"},generating:{colorClass:"bg-success text-success ring-2 ring-success/40",animationClass:"animate-status-glow",labelKey:"status.generating"},waiting:{colorClass:"bg-warning text-warning ring-4 ring-warning/50",animationClass:"animate-status-attention",labelKey:"status.waiting"},error:{colorClass:"bg-danger",labelKey:"status.error"}},h={colorClass:"bg-warning text-warning ring-2 ring-warning/40",animationClass:"animate-status-glow",labelKey:"status.waiting"},i=new Set(["menu","unclassified"]),j={colorClass:"bg-muted-foreground",labelKey:"status.unknown"},k={sm:"w-2 h-2",md:"w-2.5 h-2.5",lg:"w-3 h-3"};function l({status:a,size:b="md",label:c,waitingKind:l,className:m,...n}){let o=(0,e.c)("common"),p=function(a,b){let c=g[a]??j;return"waiting"!==a?c:b&&i.has(b)?h:c}(a,l),q=c??o(p.labelKey);return(0,d.jsx)("span",{className:(0,f.cn)("inline-block flex-shrink-0 rounded-full",k[b],p.colorClass,p.animationClass,m),title:q,"aria-label":q,...n})}},23910:(a,b,c)=>{"use strict";c.d(b,{Y:()=>m,y2:()=>l});var d=c(21124),e=c(38301),f=c(20481),g=c(78352),h=c(79782),i=c(63474);let j=()=>{},k=(0,e.createContext)({updateInfo:null,checking:!1,hasUpdate:!1,pendingVersion:null,canSelfUpdate:!1,state:"idle",logPath:null,errorKey:null,openConfirm:j,cancel:j,confirm:async()=>{}});function l({children:a,enabled:b=!0}){let c=(0,f.c)("worktree"),{showToast:j}=(0,i.dj)(),[l,m]=(0,e.useState)(null),[n,o]=(0,e.useState)(!0),[p,q]=(0,e.useState)("idle"),[r,s]=(0,e.useState)(null),[t,u]=(0,e.useState)(null),v=(0,e.useRef)("idle");(0,e.useRef)(!1);let w=(0,e.useRef)(async()=>{}),x=l?.hasUpdate===!0,y=x?null:l?.pendingVersion??null,z=l?.installType==="global"||l?.installType==="npx",A=(0,e.useCallback)(()=>{x&&z&&q(a=>"idle"===a?"confirming":a)},[x,z]),B=(0,e.useCallback)(()=>{q(a=>"confirming"===a?"idle":a)},[]),C=(0,e.useCallback)(async()=>{if("confirming"===v.current){v.current="starting",q("starting");try{let a=await g.GQ.startUpdate();s(a.logPath),q(a.willRestart?"updating":"no-restart")}catch(a){if(a instanceof g.hD&&409===a.status&&a.data?.code==="not_yet_published"){j(c("update.notYetPublished"),"info"),v.current="idle",q("idle"),w.current();return}a instanceof g.hD&&400===a.status?u("update.errorNotGlobal"):a instanceof g.hD&&409===a.status?u("update.errorInProgress"):u("update.errorGeneric"),q("error")}}},[j,c]),D=(0,e.useMemo)(()=>({updateInfo:l,checking:n,hasUpdate:x,pendingVersion:y,canSelfUpdate:z,state:p,logPath:r,errorKey:t,openConfirm:A,cancel:B,confirm:C}),[l,n,x,y,z,p,r,t,A,B,C]);return(0,d.jsxs)(k.Provider,{value:D,children:[a,(0,d.jsx)(h.TM,{isOpen:"confirming"===p,title:c("update.confirmTitle"),description:c("update.confirmDescription",{version:l?.latestVersion??""}),confirmLabel:c("update.confirmButton"),onConfirm:()=>{C()},onCancel:B})]})}function m(){return(0,e.useContext)(k)}},25754:(a,b,c)=>{"use strict";c.d(b,{Xn:()=>e,d9:()=>g,dI:()=>d,gB:()=>f,rv:()=>h});let d=["en","ja"],e="en",f="locale";function g(a){return"string"==typeof a&&d.includes(a)}function h(a,b){return g(a)?a:d.find(a=>(b??"").includes(a))??e}},29281:(a,b,c)=>{"use strict";c.d(b,{Up:()=>h,v8:()=>g});var d=c(17252);let e={claude:6e4};function f(a){return(e[a]??3e4)+5e3}function g(){return Math.max(...d.XH.map(f))}let h=5e3},29966:(a,b,c)=>{"use strict";c.d(b,{AppShellGate:()=>e});var d=c(97954);(0,d.registerClientReference)(function(){throw Error("Attempted to call SHELL_EXCLUDED_PREFIXES() from the server but SHELL_EXCLUDED_PREFIXES is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/CommandMate/CommandMate/src/components/layout/AppShellGate.tsx","SHELL_EXCLUDED_PREFIXES"),(0,d.registerClientReference)(function(){throw Error("Attempted to call SHELL_EXCLUDED_WORKTREE_SUBPATHS() from the server but SHELL_EXCLUDED_WORKTREE_SUBPATHS is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/CommandMate/CommandMate/src/components/layout/AppShellGate.tsx","SHELL_EXCLUDED_WORKTREE_SUBPATHS"),(0,d.registerClientReference)(function(){throw Error("Attempted to call shouldRenderShell() from the server but shouldRenderShell is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/CommandMate/CommandMate/src/components/layout/AppShellGate.tsx","shouldRenderShell");let e=(0,d.registerClientReference)(function(){throw Error("Attempted to call AppShellGate() from the server but AppShellGate is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/CommandMate/CommandMate/src/components/layout/AppShellGate.tsx","AppShellGate")},30430:(a,b,c)=>{"use strict";c.d(b,{j:()=>i,p:()=>j});var d=c(21124),e=c(38301),f=c.n(e),g=c(26691),h=c(35595);let i=(0,g.F)("flex w-full rounded-md border border-input bg-surface dark:bg-surface-2 text-surface-foreground shadow-sm placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:border-ring disabled:cursor-not-allowed disabled:opacity-50",{variants:{inputSize:{sm:"h-8 px-2.5 py-1 text-sm",md:"px-3 py-2 text-sm",lg:"px-4 py-2.5 text-base"}},defaultVariants:{inputSize:"md"}}),j=f().forwardRef(({className:a,inputSize:b,type:c="text",...e},f)=>(0,d.jsx)("input",{ref:f,type:c,className:(0,h.cn)(i({inputSize:b}),a),...e}));j.displayName="Input"},31210:(a,b,c)=>{"use strict";c.d(b,{Wu:()=>k,ZB:()=>j,Zp:()=>h,aR:()=>i});var d=c(21124);c(38301);var e=c(26691),f=c(35595);let g=(0,e.F)("bg-surface text-surface-foreground rounded-lg border border-border shadow-sm",{variants:{variant:{default:"",elevated:"bg-gradient-to-b from-surface to-surface-2 shadow-md",interactive:"cursor-pointer transition-all duration-200 hover:border-accent-500 hover:shadow-md motion-safe:hover:-translate-y-0.5 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:border-accent-500 focus-visible:shadow-md motion-safe:focus-visible:-translate-y-0.5"},hover:{true:"transition-shadow duration-200 hover:shadow-md",false:""},interactive:{true:"cursor-pointer transition-all duration-200 hover:shadow-lg active:shadow-md motion-safe:hover:-translate-y-0.5 motion-safe:active:translate-y-0",false:""},padding:{none:"",sm:"p-3",md:"p-4",lg:"p-6"}},defaultVariants:{variant:"default",hover:!1,interactive:!1,padding:"md"}});function h({variant:a="default",hover:b=!1,interactive:c=!1,padding:e="md",className:h="",children:i,...j}){return(0,d.jsx)("div",{className:(0,f.cn)(g({variant:a,hover:b,interactive:c,padding:e}),h),...j,children:i})}function i({className:a="",children:b,...c}){return(0,d.jsx)("div",{className:(0,f.cn)("mb-3",a),...c,children:b})}function j({className:a="",children:b,...c}){return(0,d.jsx)("h3",{className:(0,f.cn)("text-lg font-semibold text-surface-foreground",a),...c,children:b})}function k({className:a="",children:b,...c}){return(0,d.jsx)("div",{className:(0,f.cn)(a),...c,children:b})}},32482:(a,b,c)=>{"use strict";c.d(b,{$m:()=>h,BN:()=>M,EN:()=>i,EY:()=>C,El:()=>u,Ew:()=>G,FS:()=>K,Ii:()=>A,KI:()=>P,Kp:()=>z,LV:()=>p,PB:()=>k,Si:()=>f,UB:()=>y,UZ:()=>n,Xn:()=>w,ZC:()=>F,ZD:()=>E,_s:()=>x,al:()=>R,df:()=>O,fs:()=>H,go:()=>N,j:()=>v,jn:()=>T,m3:()=>j,nO:()=>q,rL:()=>L,s6:()=>o,zD:()=>t,zg:()=>Q});var d=c(89877);let e=["updatedAt","repositoryName","branchName","status","lastSent"],f=a=>e.includes(a),g=["grouped","flat","sessions"],h=a=>g.includes(a),i=["always","collapsed","hidden"],j=a=>i.includes(a),k="collapsed",l={waiting:0,ready:1,running:2,generating:3,idle:4},m=["waiting","running","generating","ready","idle"];function n(a){let b=new Set;for(let c of a)!1===c.visible&&b.add(c.path);return b}function o(a,b){return 0===b.size?a.slice():a.filter(a=>{let c=a.repositoryPath;return!c||!b.has(c)})}function p(a){let b=function(a){let b=5381;for(let c=0;c<a.length;c++)b=(b<<5)+b+a.charCodeAt(c)|0;return Math.abs(b)}(a)%360;return`hsl(${b}, 65%, 60%)`}function q(a,b){if(!a&&!b)return 0;if(!a)return 1;if(!b)return -1;let c=a instanceof Date?a.getTime():new Date(a).getTime();return(b instanceof Date?b.getTime():new Date(b).getTime())-c}function r(a){return a.cliStatus&&Object.keys(a.cliStatus).length>0?(0,d.A7)(a.cliStatus):a.status}function s(a){return"waiting"===r(a)}function t(a){let b=new Set(a.map(r));for(let a of m)if(b.has(a))return a;return"idle"}function u(a){return"ready"===t(a)&&a.some(a=>"ready"===r(a)&&(0,d.Pn)(a.cliStatus,a.unclassifiedInstanceIds))}function v(a){let b=0;for(let c of a)s(c)&&b++;return b}function w(a,b,c){let d=[...a],e="status"!==b;return d.sort((a,d)=>{if(e){let b=Number(s(d))-Number(s(a));if(0!==b)return b}let f=0;switch(b){case"updatedAt":{let b=a=>a?a instanceof Date?a.getTime():new Date(a).getTime():0,c=b(a.lastActivity);f=b(d.lastActivity)-c;break}case"repositoryName":{let b=a.repositoryName.toLowerCase(),c=d.repositoryName.toLowerCase();f=b.localeCompare(c);break}case"branchName":{let b=a.name.toLowerCase(),c=d.name.toLowerCase();f=b.localeCompare(c);break}case"status":f=l[a.status]-l[d.status];break;case"lastSent":{let b=q(a.lastActivity,d.lastActivity);if(!a.lastActivity&&!d.lastActivity){f=0;break}if(!a.lastActivity)return 1;if(!d.lastActivity)return -1;f=b;break}default:f=0}return("updatedAt"===b||"lastSent"===b?"desc"===c:"asc"===c)?f:-f}),d}function x(a,b,c){let d=new Map;for(let b of a){let a=b.repositoryName;d.has(a)||d.set(a,[]),d.get(a).push(b)}return[...d.keys()].sort((a,b)=>a.toLowerCase().localeCompare(b.toLowerCase())).map(a=>({repositoryName:a,branches:w(d.get(a),b,c)}))}function y(a){let b=[];for(let c of a){let a=new Set(c.exitedInstanceIds??[]),d=new Set(c.unclassifiedInstanceIds??[]);for(let[e,f]of Object.entries(c.cliStatus??{}))b.push({key:`${c.id}:${e}`,worktreeId:c.id,instanceId:e,label:c.cliStatusLabels?.[e]??e,status:f??"idle",branchName:c.name,repositoryName:c.repositoryName,lastActivity:c.lastActivityByInstance?.[e]??c.lastActivity,exited:a.has(e),..."ready"===f&&d.has(e)?{unclassified:!0}:{}})}return b}let z="instance";function A(a){return`/worktrees/${a.worktreeId}?${z}=${encodeURIComponent(a.instanceId)}`}function B(a){return a.lastActivity?a.lastActivity instanceof Date?a.lastActivity.getTime():new Date(a.lastActivity).getTime():0}function C(a,b,c){let d="asc"===c?1:-1;return a.slice().sort((a,c)=>{if("status"===b){let b=l[a.status]-l[c.status];return 0!==b?b*d:B(c)-B(a)}let e=Number("waiting"===c.status)-Number("waiting"===a.status);if(0!==e)return e;switch(b){case"updatedAt":case"lastSent":return(B(a)-B(c))*d;case"repositoryName":return a.repositoryName.toLowerCase().localeCompare(c.repositoryName.toLowerCase())*d;case"branchName":return a.branchName.toLowerCase().localeCompare(c.branchName.toLowerCase())*d;default:return 0}})}let D=null;function E(){return D??[]}function F(a){D=a}function G(a,b){if(0===b.length)return a.slice();let c=new Map(b.map((a,b)=>[a,b]));return a.slice().sort((a,b)=>{let d=c.has(a.repositoryName)?c.get(a.repositoryName):1/0,e=c.has(b.repositoryName)?c.get(b.repositoryName):1/0;return d===e?a.repositoryName.localeCompare(b.repositoryName):d-e})}function H(a,b){return"hidden"!==a&&("always"===a||!b)}let I=/^detached-[a-z0-9]+$/,J=new Set(["waiting","running","generating"]);function K(a,b,c,d){let e=[],f=[];for(let g of a)(d?.has(g.id)===!0||L(g,b,c)?e:f).push(g);return{shown:e,other:f}}function L(a,b,c){var d;let e=c?.get(a.id)??a;return d=e.name,!I.test(d)||e.id===b||J.has(r(e))||J.has(e.status)}let M=56,N=["sessions","repositories","review"],O=8,P=40;function Q(a){return!0!==a.isComposing&&229!==a.keyCode&&!a.shiftKey&&!a.altKey&&(!!a.metaKey||!!a.ctrlKey)&&("b"===a.key.toLowerCase()||"KeyB"===a.code)}function R(a){if("undefined"==typeof HTMLElement||!(a instanceof HTMLElement))return!1;let b=a.tagName;return"INPUT"===b||"TEXTAREA"===b||"SELECT"===b||!!a.isContentEditable||null!==a.closest('[role="log"]')}let S=/^\/worktrees\/([^/]+)/;function T(a,b){let c=S.exec(a);if(!c)return b;try{return decodeURIComponent(c[1])}catch{return c[1]}}},33497:(a,b,c)=>{Promise.resolve().then(c.bind(c,29966)),Promise.resolve().then(c.bind(c,58315))},34592:(a,b,c)=>{"use strict";c.d(b,{Xi:()=>l,av:()=>m,j7:()=>k,tU:()=>j});var d=c(21124),e=c(38301),f=c.n(e),g=c(89989),h=c(35595);let i=f().createContext("underline"),j=f().forwardRef(({variant:a="underline",...b},c)=>(0,d.jsx)(i.Provider,{value:a,children:(0,d.jsx)(g.bL,{ref:c,...b})}));j.displayName="Tabs";let k=f().forwardRef(({className:a,...b},c)=>{let e=f().useContext(i);return(0,d.jsx)(g.B8,{ref:c,className:(0,h.cn)("inline-flex items-center","pill"===e?"gap-1 rounded-lg bg-muted p-1":"gap-4 border-b border-border",a),...b})});k.displayName="TabsList";let l=f().forwardRef(({className:a,...b},c)=>{let e=f().useContext(i);return(0,d.jsx)(g.l9,{ref:c,className:(0,h.cn)("inline-flex items-center justify-center whitespace-nowrap text-sm font-medium transition-colors","focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring","disabled:pointer-events-none disabled:opacity-50","pill"===e?"rounded-md px-3 py-1.5 text-muted-foreground data-[state=active]:bg-surface data-[state=active]:text-surface-foreground data-[state=active]:shadow-sm":"-mb-px border-b-2 border-transparent px-1 py-2 text-muted-foreground hover:text-foreground data-[state=active]:border-accent-500 data-[state=active]:text-accent-600",a),...b})});l.displayName="TabsTrigger";let m=f().forwardRef(({className:a,...b},c)=>(0,d.jsx)(g.UC,{ref:c,className:(0,h.cn)("mt-2 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",a),...b}));m.displayName="TabsContent"},35595:(a,b,c)=>{"use strict";c.d(b,{cn:()=>f});var d=c(43249),e=c(58829);function f(...a){return(0,e.QP)((0,d.$)(a))}},35914:(a,b,c)=>{"use strict";c.d(b,{$7:()=>f,oz:()=>d,tV:()=>e,v9:()=>g});function d(a){if(null==a||"object"!=typeof a)return!1;let{name:b,message:c}=a;return"ChunkLoadError"===b||"string"==typeof c&&(c.includes("Loading chunk")||c.includes("Failed to fetch dynamically imported module"))}function e(a){return"skipped"}function f(a,b){let c=!1,d=null,e=null,f=()=>{d?.(),e?.(),d=null,e=null},g=()=>{c||(c=!0,f(),a())};return d=b.subscribeOnline(()=>{c||b.probe().then(a=>{a&&g()})}),e=b.subscribeReachability(a=>{a&&g()}),()=>{c=!0,f()}}function g(a){return{subscribeOnline:a=>()=>{},subscribeReachability:a.subscribeReachability,probe:a.probe}}},37382:(a,b,c)=>{"use strict";c.d(b,{o:()=>g});var d=c(21124);c(38301);var e=c(20481),f=c(21768);function g({value:a,onChange:b,idPrefix:c="auto-yes-answer-mode",labelClassName:g="font-medium mb-2"}){let h=(0,e.c)("autoYes"),i=`${c}-label`;return(0,d.jsxs)("div",{className:"text-sm text-foreground",children:[(0,d.jsx)("p",{className:g,id:i,children:h("answerModeLabel")}),(0,d.jsx)("div",{className:"flex flex-col gap-2",role:"radiogroup","aria-labelledby":i,"data-testid":`${c}-options`,children:f.yv.map(e=>(0,d.jsxs)("button",{type:"button",role:"radio","aria-checked":a===e,onClick:()=>b(e),className:`w-full py-2 px-3 text-left rounded-md border-2 transition-colors ${a===e?"border-accent-600 bg-accent-50 dark:bg-accent-900/30 text-accent-700 dark:text-accent-400":"border-border bg-surface dark:bg-surface-2 text-foreground hover:border-muted-foreground"}`,style:{minHeight:"44px"},"data-testid":`${c}-${e}`,children:[(0,d.jsx)("span",{className:"block text-sm font-medium",children:h(`answerModes.${e}`)}),(0,d.jsx)("span",{className:"block text-xs text-muted-foreground",children:h(`answerModeDescriptions.${e}`)})]},e))}),(0,d.jsx)("p",{className:"mt-2 text-xs text-muted-foreground","data-testid":`${c}-permission-note`,children:h("answerModePermissionNote")})]})}},38557:(a,b,c)=>{"use strict";c.d(b,{Fx:()=>o,Rh:()=>n,_X:()=>g,fl:()=>k,nG:()=>m,sV:()=>h});var d=c(38301),e=c(74930);let f="/api/capabilities";function g(a){return!1!==a.browserOnline&&("connected"===a.realtimeStatus||!0===a.serverReachable)}function h(a){return!1===a.browserOnline||!1===a.serverReachable}let i=new Map;async function j(a,b){let c="function"==typeof AbortController?new AbortController:void 0,d=c?setTimeout(()=>c.abort(),b):void 0;try{return await fetch(a,{method:"GET",cache:"no-store",credentials:"same-origin",signal:c?.signal}),!0}catch{return!1}finally{void 0!==d&&clearTimeout(d)}}function k(a=f,b=5e3){if("function"!=typeof fetch)return Promise.resolve(!1);let c=i.get(a);if(c)return c;let d=j(a,b).finally(()=>{i.delete(a)});return i.set(a,d),d}let l=new Set;function m(a){l.forEach(b=>{try{b(a)}catch{}})}function n(a){return l.add(a),()=>{l.delete(a)}}function o(a={}){let{probeUrl:b=f,probeDelayMs:c=1e3,probeIntervalMs:g=15e3,probeTimeoutMs:h=5e3,surfaceDelayMs:i=1500,probe:j=!0}=a,{status:l}=(0,e.xM)(),[m,n]=(0,d.useState)(!0),[p,q]=(0,d.useState)(null),[r,s]=(0,d.useState)(null),t=(0,d.useCallback)(a=>{q(b=>b===a?b:a),a&&s(Date.now())},[]),u=(0,d.useMemo)(()=>({browserOnline:m,realtimeStatus:l,serverReachable:p}),[m,l,p]),v=u.browserOnline?"connected"===u.realtimeStatus?"online":!1===u.serverReachable?"offline":!0===u.serverReachable||"connecting"===u.realtimeStatus?"reconnecting":"offline":"offline",w="online"!==v,x=(0,d.useRef)({url:b,timeoutMs:h});x.current={url:b,timeoutMs:h};let[y,z]=(0,d.useState)(!1),A=(0,d.useCallback)(()=>{if("function"!=typeof fetch)return;let{url:a,timeoutMs:b}=x.current;k(a,b).then(t)},[t]);return(0,d.useMemo)(()=>({status:v,isOnline:"online"===v,isReconnecting:"reconnecting"===v,isOffline:"offline"===v,shouldSurface:w&&y,signals:u,lastReachableAt:r,recheck:A}),[v,w,y,u,r,A])}},38812:(a,b,c)=>{"use strict";c.d(b,{yP:()=>v,Fy:()=>n,R8:()=>r,Xd:()=>s});var d=c(21124),e=c(38301),f=c(23312),g=c.n(f),h=c(20481),i=c(71613),j=c(89877),k=c(1637),l=c(3839),m=c(20316);let n=(0,e.createContext)(!0);function o({worktreeStatus:a}){let b=(0,h.c)("worktree");return(0,e.useContext)(n)&&a?(0,d.jsxs)("span",{"data-testid":"branch-worktree-status","data-status":a,className:"flex-shrink-0 inline-flex items-center",title:b((0,m.Zh)(a)),children:[(0,d.jsx)("span",{"data-testid":"branch-worktree-status-dot","aria-hidden":"true",className:`h-1.5 w-1.5 rounded-full @min-[17rem]:hidden ${m.mq[a]}`}),(0,d.jsx)("span",{"data-testid":"branch-worktree-status-label",className:`sr-only @min-[17rem]:not-sr-only @min-[17rem]:max-w-[5.5rem] @min-[17rem]:truncate
|
|
17
5
|
@min-[17rem]:rounded-full @min-[17rem]:px-1.5 @min-[17rem]:text-[10px] @min-[17rem]:font-medium
|
|
18
6
|
@min-[17rem]:leading-4 ${m.SE[a]}`,children:b((0,m.Zh)(a))})]}):null}var p=c(63474),q=c(63157);let r="px-2";function s(a){return`rounded-[10px] transition-colors focus:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-ring ${a?"bg-sidebar-border":"hover:bg-sidebar-hover"}`}function t({id:a,branch:b,isVisible:c,anchorRef:f,nextActionLabel:h,unclassified:i,awaitingInstructionLabel:k}){let[l,m]=(0,e.useState)({top:-9999,left:-9999}),n=(0,e.useRef)(null);if("undefined"==typeof document||!c)return null;let o=Math.min(384,Math.max(0,window.innerWidth-16));return g().createPortal((0,d.jsxs)("div",{ref:n,id:a,role:"tooltip",className:" fixed z-[9999] px-3 py-2 rounded-md shadow-lg bg-sidebar text-xs text-sidebar-foreground border border-sidebar-border pointer-events-none max-w-sm transition-opacity duration-150 ",style:{top:l.top,left:l.left,maxWidth:o},children:[(0,d.jsx)("p",{className:"font-medium text-sidebar-foreground whitespace-nowrap",children:b.name}),(0,d.jsx)("p",{className:"text-sidebar-muted whitespace-nowrap",children:b.repositoryName}),(0,d.jsxs)("p",{className:"text-sidebar-muted whitespace-nowrap",children:["Status: ",i?j.pu:b.status]}),b.worktreePath&&(0,d.jsx)("p",{className:"text-sidebar-muted truncate",children:b.worktreePath}),h&&(0,d.jsxs)("p",{className:"text-sidebar-muted whitespace-nowrap",children:["Next: ",h]}),k&&(0,d.jsx)("p",{className:"text-success-foreground whitespace-nowrap",children:k}),b.description&&(0,d.jsx)("p",{className:"text-sidebar-muted mt-1 border-t border-sidebar-border pt-1 whitespace-pre-wrap break-words",children:b.description})]}),document.body)}let u=0,v=(0,e.memo)(function({branch:a,isSelected:b,onClick:c,showRepositoryName:f=!0}){let g=(0,h.c)("common"),n=(0,h.c)("worktree"),v=`tooltip-${a.id}`,w=(0,e.useRef)(null),[x,y]=(0,e.useState)(!1),z=(0,e.useRef)(null),A=(0,e.useCallback)(()=>{null!==z.current&&(clearTimeout(z.current),z.current=null)},[]);(0,e.useEffect)(()=>()=>A(),[A]);let B=(0,j.A7)(a.cliStatus),C="waiting"===B,D=!0===a.awaitingInstruction,E=a.nextActionKey?n(a.nextActionKey):null,F=(0,e.useMemo)(()=>new Set(a.exitedInstanceIds??[]),[a.exitedInstanceIds]),G=(0,e.useMemo)(()=>new Set(a.unclassifiedInstanceIds??[]),[a.unclassifiedInstanceIds]),H=(0,j.Pn)(a.cliStatus,a.unclassifiedInstanceIds),I=(C||D)&&null!==E,J=null!==E&&(I||b),K=x&&!b,[L,M]=(0,e.useState)(!1),[N,O]=(0,e.useState)(!1),[P,Q]=(0,e.useState)(!1),R=b||L||N||P,{worktreeStatus:S,handleWorktreeStatusChange:T}=function(a,b,c){let{showToast:d}=(0,p.dj)(),f=(0,q.rC)()?.refresh,[g,h]=(0,e.useState)(void 0),i=(0,e.useRef)(0),j=(0,e.useRef)(0),k=(0,e.useRef)(null),l=(0,e.useRef)(null),n=(0,e.useRef)(null),o=b??null;return l.current=o,{worktreeStatus:void 0!==g?g:o,handleWorktreeStatusChange:(0,e.useCallback)(async b=>{let e=++i.current;k.current=l.current,n.current=null,h(b);try{await (0,m.V9)(a,b)}catch{if(e!==i.current)return;j.current=e,h(void 0),d(c("branchItem.statusChangeFailed"),"error");return}let g=(0,m.Xg)();try{await f?.()}finally{e===i.current&&(j.current=e,f?(n.current=g,(0,m.FI)(g)&&l.current!==k.current&&(n.current=null,h(void 0))):l.current!==k.current&&h(void 0))}},[a,f,d,c])}}(a.id,a.worktreeStatus,g);return(0,e.useEffect)(()=>{b&&y(!1)},[b]),(0,e.useEffect)(()=>{if(!x)return;let a=()=>y(!1);return document.addEventListener("click",a),()=>document.removeEventListener("click",a)},[x]),(0,d.jsxs)("div",{"data-testid":"branch-list-row",className:`relative w-full min-w-0 ${r}`,onPointerEnter:()=>M(!0),onPointerLeave:()=>M(!1),onFocus:a=>{a.target.matches(":focus-visible")&&O(!0)},onBlur:a=>{a.currentTarget.contains(a.relatedTarget)||O(!1)},children:[(0,d.jsxs)("button",{ref:w,"data-testid":"branch-list-item",onClick:()=>{A(),u=Date.now()+400,y(!1),c()},onMouseEnter:()=>{A(),Date.now()>=u&&(z.current=setTimeout(()=>{y(!0)},150))},onMouseLeave:()=>{A(),y(!1)},onFocus:a=>{A(),a.target.matches(":focus-visible")&&(z.current=setTimeout(()=>{y(!0)},150))},onBlur:()=>{A(),y(!1)},"aria-current":b?"true":void 0,"aria-describedby":K?v:void 0,"aria-label":f?void 0:`${a.name} - ${a.repositoryName}`,className:`
|
|
19
7
|
group relative w-full min-h-[34px] pl-3 py-1.5 flex flex-col justify-center gap-0.5
|
|
20
8
|
${R?b?"pr-9":"pr-9 [@media(hover:none)]:pr-3":"pr-3"}
|
|
21
9
|
${s(b)}
|
|
22
|
-
`,children:[(0,d.jsxs)("div",{className:"@container flex items-center gap-2 w-full min-w-0",children:[a.cliStatus&&Object.keys(a.cliStatus).length>0&&(0,d.jsx)("div",{className:"flex items-center justify-center flex-shrink-0 w-4","aria-label":g("branchItem.cliToolStatus"),children:(0,d.jsx)(k.Ej,{status:B,label:(0,j.dw)(a.cliStatus,a.cliStatusLabels,F.size>0?a=>F.has(a)?g("branchItem.agentExited"):null:void 0,G),waitingKind:a.waitingKind,unclassified:H})}),(0,d.jsx)("p",{className:"flex-1 min-w-0 text-left text-sm text-sidebar-foreground truncate",children:a.name}),f&&(0,d.jsx)("p",{className:"flex-shrink min-w-0 max-w-[40%] text-xs text-sidebar-muted truncate",children:a.repositoryName}),(0,d.jsx)(o,{worktreeStatus:S}),D&&(0,d.jsxs)("span",{"data-testid":"awaiting-instruction-badge",className:"flex-shrink-0 inline-flex h-4 w-4 items-center justify-center rounded-full bg-success-subtle text-success-foreground",title:n("awaitingInstruction.label"),children:[(0,d.jsx)(i.A,{className:"h-3 w-3",strokeWidth:3,"aria-hidden":"true"}),(0,d.jsx)("span",{className:"sr-only",children:n("awaitingInstruction.badge")})]}),a.hasUnread&&(0,d.jsx)("span",{"data-testid":"unread-indicator",className:"w-2 h-2 rounded-full bg-accent-500 flex-shrink-0","aria-label":g("branchItem.hasUnread")})]}),J&&(0,d.jsx)("p",{"data-testid":"branch-next-action",className:`pl-6 text-left text-xs font-medium truncate ${b?"block":"hidden [@media(hover:none)]:block"} ${C?"text-warning-foreground":D?"text-success-foreground":"text-sidebar-muted"}`,children:E}),b&&a.description&&(0,d.jsx)("p",{"data-testid":"branch-description",className:"pl-6 text-left text-xs text-sidebar-muted truncate",children:a.description}),(0,d.jsx)(t,{id:v,branch:a,isVisible:K,anchorRef:w,nextActionLabel:E,unclassified:H,awaitingInstructionLabel:D?n("awaitingInstruction.badge"):null})]}),R&&(0,d.jsx)(l.m,{branch:a,isSelected:b,onOpenChange:Q,worktreeStatus:S,onWorktreeStatusChange:T})]})})},38898:(a,b,c)=>{var d={"./en/schedule.json":[95571,5571],"./ja/schedule.json":[26285,6285]};function e(a){if(!c.o(d,a))return Promise.resolve().then(()=>{var b=Error("Cannot find module '"+a+"'");throw b.code="MODULE_NOT_FOUND",b});var b=d[a],e=b[0];return c.e(b[1]).then(()=>c.t(e,19))}e.keys=()=>Object.keys(d),e.id=38898,a.exports=e},39800:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>h});var d=c(21124),e=c(38301),f=c(35914);c(38557);let g={en:{chunkTitle:"Updating to the latest version",chunkDescription:"A newer version of CommandMate is available. Reloading to get the latest update…",offlineTitle:"You're offline",offlineDescription:"Part of the page could not be loaded because the device is off the network. It will be retried automatically as soon as the connection is back.",offlineWaiting:"Waiting for the connection to come back…",genericTitle:"Something went wrong",genericDescription:"An unexpected error occurred. Please reload the page.",reload:"Reload",retry:"Retry"},ja:{chunkTitle:"最新バージョンに更新しています",chunkDescription:"CommandMate の新しいバージョンが利用可能です。最新の状態にするため再読み込みします…",offlineTitle:"接続が切れています",offlineDescription:"ネットワークに接続できないため、ページの一部を読み込めませんでした。接続が戻り次第、自動でやり直します。",offlineWaiting:"接続の回復を待っています…",genericTitle:"問題が発生しました",genericDescription:"予期しないエラーが発生しました。ページを再読み込みしてください。",reload:"再読み込み",retry:"再試行"}};function h({error:a,reset:b}){let c=(0,f.oz)(a),[h,i]=(0,e.useState)("en"),[j,k]=(0,e.useState)(!1),l=(0,e.useCallback)(()=>{j?b():window.location.reload()},[j,b]),m=g[h],n=j?m.offlineTitle:c?m.chunkTitle:m.genericTitle,o=j?m.offlineDescription:c?m.chunkDescription:m.genericDescription;return(0,d.jsx)("html",{lang:h,style:{colorScheme:"light dark"},children:(0,d.jsxs)("body",{"data-error-kind":j?"chunk-offline":c?"chunk-reload":"unexpected",style:{margin:0,minHeight:"100vh",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",gap:"1.5rem",padding:"1.5rem",textAlign:"center",background:"Canvas",color:"CanvasText",fontFamily:'system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif'},children:[(0,d.jsxs)("div",{style:{maxWidth:"24rem"},children:[(0,d.jsx)("h1",{style:{fontSize:"1.5rem",fontWeight:600,margin:"0 0 0.5rem"},children:n}),(0,d.jsx)("p",{style:{fontSize:"0.875rem",opacity:.75,margin:0},children:o}),j&&(0,d.jsx)("p",{role:"status","aria-live":"polite",style:{fontSize:"0.75rem",opacity:.6,margin:"0.5rem 0 0"},children:m.offlineWaiting})]}),(0,d.jsx)("button",{type:"button",onClick:l,style:{appearance:"none",cursor:"pointer",borderRadius:"0.5rem",border:"1px solid currentColor",background:"transparent",color:"inherit",padding:"0.5rem 1rem",fontSize:"0.875rem",fontWeight:500},children:j?m.retry:m.reload})]})})}},43084:(a,b,c)=>{"use strict";c.d(b,{k:()=>g});var d=c(75338),e=c(94596);let f=["[animation-delay:0ms]","[animation-delay:150ms]","[animation-delay:300ms]"];function g(){let a=(0,e.A)("common");return(0,d.jsx)("div",{className:"flex w-full h-full min-h-[12rem] items-center justify-center p-8",role:"status","aria-label":a("loadingPage"),"data-testid":"route-loading",children:(0,d.jsx)("div",{className:"flex items-center gap-2","aria-hidden":"true",children:f.map(a=>(0,d.jsx)("span",{className:`h-2.5 w-2.5 rounded-full bg-muted-foreground animate-pulse ${a}`},a))})})}},44164:(a,b,c)=>{Promise.resolve().then(c.bind(c,64182))},46649:(a,b,c)=>{Promise.resolve().then(c.bind(c,9042)),Promise.resolve().then(c.bind(c,3890))},47684:(a,b,c)=>{"use strict";c.d(b,{Iz:()=>G,W2:()=>D,gM:()=>z,oW:()=>J,vP:()=>H,zX:()=>E});var d=c(21124),e=c(38301),f=c(23312),g=c.n(f),h=c(42378),i=c(20481),j=c(38882),k=c(81092),l=c(47817),m=c(5772),n=c(52761),o=c(38812),p=c(3839),q=c(72280),r=c(22317),s=c(95239),t=c(89877),u=c(32482),v=c(1637),w=c(52120),x=c(11010),y=c(72957);function z(a){return!!(a.closest?.("[data-repository-tab-panel]")??a.closest?.(`[${p.K}]`))}function A(a,b,c){let d=c-8-b;return d<=8?8:Math.min(Math.max(a.left+b>c-8?a.right-b:a.left,8),d)}function B(a,b,c){return Math.max(0,Math.min(b,Math.floor(c-8-(a+4)-2)))}function C(){let[a,b]=(0,e.useState)(()=>1/0);return a}function D(a,b){(0,e.useId)()}function E(){let{selectWorktree:a}=(0,l.$f)(),b=(0,n.Hq)();return(0,e.useCallback)(c=>{"undefined"!=typeof document&&document.dispatchEvent(new CustomEvent("commandmate:repository-branch-list-open",{detail:null})),a(c),b.push(`/worktrees/${c}`)},[a,b])}function F(a){a?.scrollIntoView?.({block:"nearest",inline:"nearest"})}function G({worktrees:a,repositories:b,sortKey:c,sortDirection:d,repositoryOrder:f}){let g=(0,e.useMemo)(()=>(0,u.UZ)(b??[]),[b]),h=(0,e.useMemo)(()=>(0,u.s6)(a??[],g),[a,g]),i=(0,e.useMemo)(()=>h.map(t.XK),[h]),{groupedItems:j}=(0,s.D)({items:i,sortKey:c,sortDirection:d,viewMode:"grouped"});return(0,e.useMemo)(()=>(0,u.Ew)(j,f),[j,f])}let H=(0,e.memo)(function(){let a=(0,i.c)("common"),b=(0,h.usePathname)(),c=E(),{sortKey:f,sortDirection:g,repositoryOrder:n}=(0,k.VF)(),{worktrees:o,repositories:p,selectedWorktreeId:q}=(0,l.$f)(),{factor:r}=(0,m.Ps)(),s=G({worktrees:o,repositories:p,sortKey:f,sortDirection:g,repositoryOrder:n}),t=(0,u.jn)(b,q),v=(0,e.useMemo)(()=>s.find(a=>a.branches.some(a=>a.id===t))?.repositoryName??null,[s,t]),[w,x]=(0,e.useState)(null),[A,B]=(0,e.useState)(null),[C,H]=(0,e.useState)(!1),L=(0,e.useRef)(null),M=(0,e.useRef)(null),N=(0,e.useRef)(new Map),O=(0,e.useCallback)((a,b)=>{b?N.current.set(a,b):N.current.delete(a)},[]),P=(0,e.useCallback)(()=>{x(null),B(null),H(!1)},[]),Q=(0,e.useCallback)(a=>{let b=N.current.get(a);if(!b)return;let c=b.getBoundingClientRect();B({left:c.left,right:c.right,bottom:c.bottom}),x(a),H(!1)},[]),R=(0,e.useCallback)(a=>{if(w===a)return void P();Q(a)},[w,P,Q]),[S,T]=(0,e.useState)(!1),[U,V]=(0,e.useState)(0),W=(0,e.useCallback)(()=>{let a=L.current;a&&(T(a.scrollWidth>a.clientWidth+1),V(a.clientWidth))},[]);(0,e.useLayoutEffect)(()=>{W()},[W,s.length,r]),(0,e.useEffect)(()=>{},[W]);let X=(0,e.useRef)(null),Y=(0,e.useCallback)(a=>{if(L.current=a,X.current?.disconnect(),X.current=null,!a||"undefined"==typeof ResizeObserver)return;let b=new ResizeObserver(()=>W());b.observe(a),X.current=b},[W]),Z=null!==w||C;D(Z,P),(0,e.useEffect)(()=>{if(!Z)return;let a=a=>{let b=a.target;!(!b||L.current?.contains(b)||M.current?.contains(b))&&(z(b)||P())},b=a=>{if(!(0,y.V$)(a))return;let b=w?N.current.get(w):M.current;P(),b?.focus()};return document.addEventListener("mousedown",a),document.addEventListener("keydown",b),()=>{document.removeEventListener("mousedown",a),document.removeEventListener("keydown",b)}},[Z,w,P]),(0,e.useEffect)(()=>{P()},[b,P]),(0,e.useLayoutEffect)(()=>{v&&F(N.current.get(v))},[v,b,S,U]);let $=(0,e.useCallback)(a=>{P(),c(a)},[P,c]),_=(0,e.useCallback)(a=>{let b=N.current.get(a);F(b),Q(a),b?.focus()},[Q]),aa=(0,e.useCallback)(a=>{var b;let c=a.currentTarget,d=(b=c.clientWidth,a.ctrlKey||a.shiftKey||Math.abs(a.deltaY)<=Math.abs(a.deltaX)?0:1===a.deltaMode?40*a.deltaY:2===a.deltaMode?a.deltaY*b:a.deltaY);0!==d&&(c.scrollLeft+=d)},[]);if(0===s.length)return null;let ab=Math.round(32*r),ac=s.find(a=>a.repositoryName===w)??null;return(0,d.jsxs)("div",{"data-testid":"repository-tab-bar",className:"relative flex-shrink-0 flex items-stretch border-b border-border bg-sidebar text-sidebar-foreground",style:{height:`${ab}px`},children:[(0,d.jsx)("nav",{ref:Y,"data-testid":"repository-tab-strip","aria-label":a("nav.repositories"),onWheel:aa,className:"flex min-w-0 flex-1 flex-nowrap items-stretch overflow-x-auto overflow-y-hidden scrollbar-hide",children:s.map(a=>(0,d.jsx)(I,{group:a,isActive:a.repositoryName===v,isOpen:a.repositoryName===w,registerTab:O,onToggle:R},a.repositoryName))}),S&&(0,d.jsx)("button",{ref:M,type:"button","data-testid":"repository-tab-overflow","aria-haspopup":"menu","aria-expanded":C,"aria-label":a("repoTabBar.overflow"),title:a("repoTabBar.overflow"),onClick:()=>{x(null),B(null),H(a=>!a)},className:"flex-shrink-0 flex items-center border-l border-sidebar-border px-2 text-sidebar-muted transition-colors hover:bg-sidebar-hover hover:text-sidebar-foreground focus:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-ring",children:(0,d.jsx)(j.A,{size:16,strokeWidth:2,"aria-hidden":"true"})}),ac&&A&&(0,d.jsx)(J,{group:ac,anchor:A,factor:r,activeWorktreeId:t,onBranchClick:$}),C&&(0,d.jsx)(K,{groups:s,anchorRef:M,activeRepositoryName:v,onSelect:_})]})}),I=(0,e.memo)(function({group:a,isActive:b,isOpen:c,registerTab:e,onToggle:f}){let g=(0,i.c)("common"),h=(0,u.zD)(a.branches),j=(0,v.Mq)(h,(0,u.El)(a.branches)),k=(0,u.j)(a.branches),l=g(j?v.rH:w.PL[h].labelKey);return(0,d.jsx)("button",{ref:b=>e(a.repositoryName,b),type:"button","data-testid":"repository-tab","data-repository":a.repositoryName,"aria-haspopup":"menu","aria-expanded":c,"aria-current":b?"true":void 0,title:`${a.repositoryName} — ${l}`,onClick:()=>f(a.repositoryName),onKeyDown:b=>{"ArrowDown"===b.key&&(b.preventDefault(),c||f(a.repositoryName))},className:"group/tab flex-shrink-0 flex max-w-[14rem] items-stretch px-0.5 py-1 text-xs font-medium focus:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-ring",children:(0,d.jsxs)("span",{"data-testid":"repository-tab-chip",className:`flex min-w-0 items-center gap-1.5 rounded-md px-2 transition-colors ${b?"bg-background text-foreground shadow-sm":"text-sidebar-muted group-hover/tab:bg-sidebar-hover group-hover/tab:text-sidebar-foreground"}`,children:[(0,d.jsx)(q.n,{className:"h-3.5 w-3.5",color:(0,u.LV)(a.repositoryName)}),(0,d.jsx)("span",{className:"min-w-0 truncate",children:a.repositoryName}),(0,d.jsx)(r.m,{status:h,size:"sm",label:l,className:j?v.Jd:void 0,"data-testid":"repository-tab-status"}),k>0&&(0,d.jsx)("span",{"data-testid":"repository-tab-attention-count","aria-label":g("attention.badgeLabel",{count:k}),className:"flex-shrink-0 rounded-full bg-warning-subtle px-1.5 text-[10px] font-semibold leading-4 tabular-nums text-warning-foreground",children:k})]})})});function J({group:a,anchor:b,factor:c,activeWorktreeId:f,onBranchClick:h}){let j=(0,i.c)("common"),k=(0,e.useRef)(null),l=C();if("undefined"==typeof document)return null;let m=Math.round(300*c);return g().createPortal((0,d.jsx)("div",{ref:k,"data-repository-tab-panel":"","data-testid":"repository-tab-popover","data-repository":a.repositoryName,role:"menu","aria-label":j("sidebar.branchNavigation"),className:"fixed rounded-md border border-sidebar-border bg-sidebar text-sidebar-foreground shadow-lg",style:{top:b.bottom+4,left:A(b,m,m),width:m,zIndex:x.M.POPOVER},children:(0,d.jsx)("div",{"data-testid":"repository-tab-popover-list",className:"overflow-y-auto overflow-x-hidden py-1",style:{maxHeight:`${B(b.bottom,Math.round(520*c),l)}px`},children:0===a.branches.length?(0,d.jsx)("p",{className:"px-4 py-6 text-center text-sm text-sidebar-muted",children:j("sidebar.noBranchesAvailable")}):a.branches.map(a=>(0,d.jsx)(o.yP,{branch:a,isSelected:a.id===f,onClick:()=>h(a.id),showRepositoryName:!1},a.id))})}),document.body)}function K({groups:a,anchorRef:b,activeRepositoryName:c,onSelect:e}){let f=(0,i.c)("common"),h=C(),j=b.current?.getBoundingClientRect();return"undefined"!=typeof document&&j?g().createPortal((0,d.jsx)("div",{"data-repository-tab-panel":"","data-testid":"repository-tab-overflow-menu",role:"menu","aria-label":f("nav.repositories"),className:"fixed rounded-md border border-sidebar-border bg-sidebar text-sidebar-foreground shadow-lg",style:{top:j.bottom+4,left:A({left:j.left,right:j.right,bottom:j.bottom},300,300),width:300,zIndex:x.M.POPOVER},children:(0,d.jsx)("div",{"data-testid":"repository-tab-overflow-list",className:"overflow-y-auto py-1",style:{maxHeight:`${B(j.bottom,520,h)}px`},children:a.map(a=>{let b=(0,u.zD)(a.branches),g=(0,v.Mq)(b,(0,u.El)(a.branches));return(0,d.jsxs)("button",{type:"button",role:"menuitem","data-testid":"repository-tab-overflow-item","data-repository":a.repositoryName,"aria-current":a.repositoryName===c?"true":void 0,onClick:()=>e(a.repositoryName),className:"flex w-full items-center gap-2 px-3 py-2 text-left text-sm transition-colors hover:bg-sidebar-hover focus:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-ring",children:[(0,d.jsx)(q.n,{className:"h-3.5 w-3.5",color:(0,u.LV)(a.repositoryName)}),(0,d.jsx)("span",{className:"min-w-0 flex-1 truncate",children:a.repositoryName}),(0,d.jsx)(r.m,{status:b,size:"sm",label:f(g?v.rH:w.PL[b].labelKey),className:g?v.Jd:void 0}),(0,d.jsx)("span",{className:"tabular-nums text-xs text-sidebar-muted",children:a.branches.length})]},a.repositoryName)})})}),document.body):null}},47817:(a,b,c)=>{"use strict";c.d(b,{$f:()=>l,H8:()=>k});var d=c(21124),e=c(38301),f=c(78352),g=c(20316);let h=(0,e.createContext)(null),i={selectedWorktreeId:null,worktrees:[],repositories:[],selectedWorktreeDetail:null,isLoading:!0,isLoadingDetail:!1,error:null};function j(a,b){switch(b.type){case"SET_WORKTREES":return{...a,worktrees:b.worktrees,isLoading:!1};case"SET_REPOSITORIES":return{...a,repositories:b.repositories};case"SELECT_WORKTREE":{let c=a.worktrees.find(a=>a.id===b.id)??null;return{...a,selectedWorktreeId:b.id,selectedWorktreeDetail:c??a.selectedWorktreeDetail,isLoadingDetail:null===c}}case"SET_WORKTREE_DETAIL":return{...a,selectedWorktreeDetail:b.detail};case"SET_LOADING":return{...a,isLoading:b.isLoading};case"SET_LOADING_DETAIL":return{...a,isLoadingDetail:b.isLoadingDetail};case"SET_ERROR":return{...a,error:b.error,isLoading:!1};default:return a}}function k({children:a,externalWorktrees:b,externalRepositories:c,externalIsLoading:k,externalError:l,externalRefresh:m}){let n=void 0!==b,[o,p]=(0,e.useReducer)(j,i),q=(0,e.useCallback)(async()=>{if(!n){p({type:"SET_LOADING",isLoading:!0}),p({type:"SET_ERROR",error:null});try{let a=(0,g.Xg)(),b=await f.y.getAll();p({type:"SET_WORKTREES",worktrees:(0,g.Th)(b.worktrees,a)}),p({type:"SET_REPOSITORIES",repositories:b.repositories??[]})}catch(a){p({type:"SET_ERROR",error:a instanceof Error?a.message:"Failed to fetch worktrees"})}}},[n]),r=(0,e.useCallback)(async a=>{p({type:"SELECT_WORKTREE",id:a}),p({type:"SET_ERROR",error:null});try{f.y.markAsViewed(a).catch(a=>{console.warn("[WorktreeSelectionContext] Failed to mark as viewed:",a)});let b=(0,g.Xg)(),c=await f.y.getById(a);p({type:"SET_WORKTREE_DETAIL",detail:(0,g.Dj)(c,b)})}catch(a){p({type:"SET_ERROR",error:a instanceof Error?a.message:"Failed to fetch worktree detail"})}finally{p({type:"SET_LOADING_DETAIL",isLoadingDetail:!1})}},[]),s=(0,e.useCallback)(async()=>{if(n&&m)return void await m();await q()},[n,m,q]),t=n&&void 0!==k?k:o.isLoading,u=n&&l?l.message:null,v={selectedWorktreeId:o.selectedWorktreeId,worktrees:o.worktrees,repositories:o.repositories,selectedWorktreeDetail:o.selectedWorktreeDetail,isLoading:t,isLoadingDetail:o.isLoadingDetail,error:u??o.error,selectWorktree:r,refreshWorktrees:s};return(0,d.jsx)(h.Provider,{value:v,children:a})}function l(){let a=(0,e.useContext)(h);if(!a)throw Error("useWorktreeSelection must be used within a WorktreeSelectionProvider");return a}},48620:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>f});var d=c(75338),e=c(43084);function f(){return(0,d.jsx)(e.k,{})}},51472:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>q,generateMetadata:()=>o,viewport:()=>p});var d=c(75338),e=c(68071),f=c(22513),g=c(42531),h=c(10620),i=c(4986),j=c.n(i),k=c(68034),l=c.n(k),m=c(58315),n=c(29966);async function o(){return{title:{default:"CommandMate",template:"%s | CommandMate"},description:(await (0,e.A)("common"))("meta.description"),appleWebApp:{capable:!0,title:"CommandMate",statusBarStyle:"default"}}}c(61135);let p={themeColor:[{media:"(prefers-color-scheme: light)",color:"#fafafb"},{media:"(prefers-color-scheme: dark)",color:"#0a0c12"}],viewportFit:"cover"};async function q({children:a}){let b=await (0,f.A)(),c=await (0,g.A)(),e=await (0,h.A)();return(0,d.jsx)("html",{lang:b,className:`${j().variable} ${l().variable}`,suppressHydrationWarning:!0,children:(0,d.jsx)("body",{className:"min-h-screen bg-background",children:(0,d.jsx)(m.AppProviders,{locale:b,messages:c,timeZone:e,authEnabled:!!process.env.CM_AUTH_TOKEN_HASH,children:(0,d.jsx)(n.AppShellGate,{children:a})})})})}},51877:(a,b,c)=>{var d={"./en/auth.json":[43440,3440],"./ja/auth.json":[11162,1162]};function e(a){if(!c.o(d,a))return Promise.resolve().then(()=>{var b=Error("Cannot find module '"+a+"'");throw b.code="MODULE_NOT_FOUND",b});var b=d[a],e=b[0];return c.e(b[1]).then(()=>c.t(e,19))}e.keys=()=>Object.keys(d),e.id=51877,a.exports=e},52120:(a,b,c)=>{"use strict";c.d(b,{PL:()=>e,sb:()=>f});let d={idle:"bg-muted-foreground",ready:"bg-success",spinner:"border-info",waiting:"bg-warning"},e={idle:{className:d.idle,labelKey:"status.idle",type:"dot"},ready:{className:d.ready,labelKey:"status.ready",type:"dot"},running:{className:d.spinner,labelKey:"status.running",type:"spinner"},waiting:{className:d.waiting,labelKey:"status.waiting",type:"dot"},generating:{className:d.spinner,labelKey:"status.generating",type:"spinner"}},f={idle:"detailStatus.idle",ready:"detailStatus.ready",running:"detailStatus.running",waiting:"detailStatus.waiting"}},52130:(a,b,c)=>{Promise.resolve().then(c.bind(c,53523))},52761:(a,b,c)=>{"use strict";c.d(b,{Bo:()=>k,Hq:()=>i});var d=c(21124),e=c(38301),f=c(42378);let g={startTransition:a=>a()},h=(0,e.createContext)(null);function i(){let a=(0,f.useRouter)(),{startTransition:b}=(0,e.useContext)(h)??g;return(0,e.useMemo)(()=>({push:c=>b(()=>a.push(c)),replace:c=>b(()=>a.replace(c))}),[a,b])}function j({onCommit:a}){return(0,f.usePathname)(),(0,e.useRef)(!1),null}function k({children:a}){let b=(0,e.useRef)(null),c=(0,e.useCallback)(()=>{b.current?.()},[]),f=(0,e.useCallback)(a=>{var c;c=()=>new Promise(c=>{let d=!1,e=()=>{d||(d=!0,c())};b.current=e,a(),window.setTimeout(e,500)}),"undefined"==typeof document||"function"!=typeof document.startViewTransition?c():document.startViewTransition(c)},[]),g=(0,e.useMemo)(()=>({startTransition:f}),[f]);return(0,d.jsxs)(h.Provider,{value:g,children:[(0,d.jsx)(j,{onCommit:c}),a]})}},53237:(a,b,c)=>{"use strict";c.d(b,{V:()=>e});var d=c(38301);function e(a){let{key:b,defaultValue:c,validate:e,serialize:f=JSON.stringify,deserialize:g=JSON.parse}=a,h=(0,d.useRef)(c),i=(0,d.useRef)(e),j=(0,d.useRef)(f),k=(0,d.useRef)(g);h.current=c,i.current=e,j.current=f,k.current=g;let[l,m]=(0,d.useState)(!1),[n,o]=(0,d.useState)(c);(0,d.useCallback)(()=>h.current,[b]);let p=(0,d.useCallback)(a=>{},[b]);return{value:n,setValue:(0,d.useCallback)(a=>{o(b=>{let c="function"==typeof a?a(b):a;return p(c),c})},[p]),removeValue:(0,d.useCallback)(()=>{o(h.current)},[b]),isAvailable:l}}},53906:(a,b,c)=>{Promise.resolve().then(c.bind(c,5682))},54834:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,31603,23)),Promise.resolve().then(c.t.bind(c,68495,23)),Promise.resolve().then(c.t.bind(c,75170,23)),Promise.resolve().then(c.t.bind(c,77526,23)),Promise.resolve().then(c.t.bind(c,78922,23)),Promise.resolve().then(c.t.bind(c,29234,23)),Promise.resolve().then(c.t.bind(c,12263,23)),Promise.resolve().then(c.bind(c,82146))},56379:(a,b,c)=>{"use strict";c.d(b,{V:()=>i});var d=c(21124),e=c(20481),f=c(23910),g=c(94260),h=c(17793);function i(){let a=(0,e.c)("worktree"),{updateInfo:b,hasUpdate:c,canSelfUpdate:i,state:j,logPath:k,errorKey:l,openConfirm:m}=(0,f.Y)();if(!b||!c&&"idle"===j)return null;let{latestVersion:n,releaseUrl:o,updateCommand:p,installType:q}=b,r="npx"===q,s=r?"npx commandmate@latest":"commandmate update";return(0,d.jsxs)("div",{className:"bg-accent-50 border border-accent-200 rounded-lg p-3 mt-2",role:"status","aria-label":a("update.available"),"data-testid":"update-notification-banner",children:[(0,d.jsx)("p",{className:"text-sm font-medium text-accent-800 mb-1",children:a("update.available")}),n&&(0,d.jsx)("p",{className:"text-sm text-accent-700 mb-2",children:a("update.latestVersion",{version:n})}),i&&"idle"===j&&(0,d.jsx)(g.$,{variant:"primary",size:"sm",className:"mb-2",onClick:m,"data-testid":"update-now-button",children:a("update.updateNow")}),r&&"idle"===j&&(0,d.jsx)("p",{className:"text-xs text-accent-600 mb-2","data-testid":"update-npx-notice",children:a("update.npxRestartNotice")}),("starting"===j||"updating"===j)&&(0,d.jsxs)("div",{className:"mb-2","data-testid":"update-progress",children:[(0,d.jsxs)("p",{className:"flex items-center text-sm text-accent-800",children:[(0,d.jsx)(h.y,{size:"sm",className:"mr-2"}),a("starting"===j?"update.starting":"update.updating")]}),"updating"===j&&(0,d.jsx)("p",{className:"text-xs text-accent-600 mt-1",children:a("update.updatingHint")})]}),"no-restart"===j&&(0,d.jsxs)("div",{className:"mb-2","data-testid":"update-no-restart",children:[(0,d.jsx)("p",{className:"text-sm font-medium text-accent-800",children:a("update.noRestartTitle")}),(0,d.jsx)("p",{className:"text-xs text-accent-600 mt-1",children:a("update.noRestartDescription")})]}),"timeout"===j&&(0,d.jsxs)("div",{className:"mb-2","data-testid":"update-timeout",children:[(0,d.jsx)("p",{className:"text-sm font-medium text-accent-800",children:a("update.timeoutTitle")}),(0,d.jsx)("p",{className:"text-xs text-accent-600 mt-1",children:a("update.timeoutDescription")}),(0,d.jsx)("code",{className:"block bg-accent-100 rounded px-2 py-1 mt-1 text-xs text-accent-900 font-mono",children:s})]}),"error"===j&&(0,d.jsxs)("div",{className:"mb-2","data-testid":"update-error",children:[(0,d.jsx)("p",{className:"text-sm font-medium text-accent-800",children:a("update.errorTitle")}),(0,d.jsx)("p",{className:"text-xs text-accent-600 mt-1",children:l?a(l):null}),(0,d.jsx)("code",{className:"block bg-accent-100 rounded px-2 py-1 mt-1 text-xs text-accent-900 font-mono",children:s})]}),k&&("no-restart"===j||"timeout"===j)&&(0,d.jsx)("p",{className:"text-xs text-accent-500 mb-2","data-testid":"update-log-hint",children:a("update.logHint",{path:k})}),p&&"global"===q&&"idle"===j&&(0,d.jsxs)("div",{className:"mb-2",children:[(0,d.jsx)("p",{className:"text-xs text-accent-600 mb-1",children:a("update.updateCommand")}),(0,d.jsx)("code",{className:"block bg-accent-100 rounded px-2 py-1 text-xs text-accent-900 font-mono",children:p})]}),o&&(0,d.jsxs)("a",{href:o,target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center text-sm text-accent-600 hover:text-accent-800 underline",children:[a("update.viewRelease"),(0,d.jsx)("span",{className:"ml-1","aria-hidden":"true",children:"→"})]}),(0,d.jsx)("p",{className:"text-xs text-accent-500 mt-2",children:a("update.dataPreserved")})]})}},57482:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>e});var d=c(97523);let e=async a=>[{type:"image/png",sizes:"192x192",url:(0,d.fillMetadataSegment)(".",await a.params,"icon2.png")+"?6e2321fdb8624653"}]},58315:(a,b,c)=>{"use strict";c.d(b,{AppProviders:()=>e});var d=c(97954);(0,d.registerClientReference)(function(){throw Error("Attempted to call shouldStartAppData() from the server but shouldStartAppData is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/CommandMate/CommandMate/src/components/providers/AppProviders.tsx","shouldStartAppData");let e=(0,d.registerClientReference)(function(){throw Error("Attempted to call AppProviders() from the server but AppProviders is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/CommandMate/CommandMate/src/components/providers/AppProviders.tsx","AppProviders")},58970:(a,b,c)=>{"use strict";c.d(b,{$B:()=>i,LK:()=>g,Ys:()=>h,pX:()=>d,s7:()=>e,tX:()=>f});let d=2e3,e=1500,f=150,g=100,h=200,i=100},60345:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>e});var d=c(97523);let e=async a=>[{type:"image/png",sizes:"96x96",url:(0,d.fillMetadataSegment)(".",await a.params,"icon1.png")+"?901e04bb11e9b7fd"}]},60887:(a,b,c)=>{var d={"./en/review.json":[83346,3346],"./ja/review.json":[49328,9328]};function e(a){if(!c.o(d,a))return Promise.resolve().then(()=>{var b=Error("Cannot find module '"+a+"'");throw b.code="MODULE_NOT_FOUND",b});var b=d[a],e=b[0];return c.e(b[1]).then(()=>c.t(e,19))}e.keys=()=>Object.keys(d),e.id=60887,a.exports=e},60957:(a,b,c)=>{"use strict";c.d(b,{H:()=>m});var d=c(21124),e=c(38301),f=c(20481),g=c(2535),h=c(94260),i=c(98033),j=c(56379),k=c(23910),l=c(90076);function m(){let a=(0,f.c)("worktree"),b=(0,l.a)(),{updateInfo:c,hasUpdate:m,pendingVersion:n,canSelfUpdate:o,state:p,openConfirm:q}=(0,k.Y)(),[r,s]=(0,e.useState)(!1),t=c?.latestVersion??null;if(b||!t)return null;if("idle"===p&&!m&&n){let b=a("update.pendingDescription",{version:n});return(0,d.jsxs)(h.$,{type:"button",variant:"secondary",size:"sm",disabled:!0,className:"flex-shrink-0 gap-1.5 whitespace-nowrap",title:b,"aria-label":b,"data-testid":"app-update-button","data-state":"pending",children:[(0,d.jsx)(g.A,{size:16,"aria-hidden":"true"}),(0,d.jsx)("span",{children:a("update.pendingLabel",{version:n})})]})}if("idle"===p&&!m)return null;let u="starting"===p||"updating"===p,v="no-restart"===p||"timeout"===p||"error"===p,w=a("update.buttonLabel",{version:t});return o||u||v?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)(h.$,{type:"button",variant:"primary",size:"sm",loading:u,onClick:v?()=>s(!0):q,className:"flex-shrink-0 gap-1.5 whitespace-nowrap","aria-label":u?a("update.buttonUpdating"):a("update.buttonAriaLabel",{version:t}),"aria-haspopup":"dialog","aria-busy":u,"data-testid":"app-update-button","data-state":p,children:[!u&&(0,d.jsx)(g.A,{size:16,"aria-hidden":"true"}),(0,d.jsx)("span",{children:u?a("update.buttonUpdating"):w})]}),v&&(0,d.jsx)(i.a,{isOpen:r,onClose:()=>s(!1),title:a("update.statusDialogTitle"),size:"sm",children:(0,d.jsx)(j.V,{})})]}):(0,d.jsxs)("a",{href:c?.releaseUrl??"https://github.com/Kewton/CommandMate/releases/latest",target:"_blank",rel:"noopener noreferrer",className:"inline-flex flex-shrink-0 items-center justify-center gap-1.5 whitespace-nowrap rounded-md px-3 py-1.5 text-sm font-medium bg-accent-600 dark:bg-accent-500 text-white hover:bg-accent-700 dark:hover:bg-accent-600 transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring","aria-label":a("update.buttonReleaseAriaLabel",{version:t}),"data-testid":"app-update-button",children:[(0,d.jsx)(g.A,{size:16,"aria-hidden":"true"}),(0,d.jsx)("span",{children:w})]})}},61118:(a,b,c)=>{var d={"./en/common.json":[73543,3543],"./ja/common.json":[53945,3945]};function e(a){if(!c.o(d,a))return Promise.resolve().then(()=>{var b=Error("Cannot find module '"+a+"'");throw b.code="MODULE_NOT_FOUND",b});var b=d[a],e=b[0];return c.e(b[1]).then(()=>c.t(e,19))}e.keys=()=>Object.keys(d),e.id=61118,a.exports=e},61135:()=>{},61916:(a,b,c)=>{"use strict";c.d(b,{jg:()=>f,kQ:()=>g,mR:()=>j,mS:()=>i,wf:()=>d});let d="terminal",e=new Set(["terminal","chat"]);function f(a){return"string"==typeof a&&e.has(a)}let g={data:null,messageId:null,visible:!1,answering:!1},h={mode:"split",mobileActivePane:"terminal",leftPaneTab:"history",splitRatio:.5,leftPaneCollapsed:!1,activityBar:{active:"files"},historyPane:{visible:!0,width:25,collapsed:!1}},i={type:null,message:null,retryable:!1,retryCount:0};function j(){return{phase:"idle",prompt:{...g},layout:{...h},error:{...i},messages:[],wsConnected:!1}}},62081:(a,b,c)=>{var d={"./en/autoYes.json":[44248,4248],"./ja/autoYes.json":[92534,2534]};function e(a){if(!c.o(d,a))return Promise.resolve().then(()=>{var b=Error("Cannot find module '"+a+"'");throw b.code="MODULE_NOT_FOUND",b});var b=d[a],e=b[0];return c.e(b[1]).then(()=>c.t(e,19))}e.keys=()=>Object.keys(d),e.id=62081,a.exports=e},62197:(a,b,c)=>{"use strict";c.d(b,{NS:()=>h,V0:()=>i});var d=c(21124),e=c(38301);let f=()=>{},g=(0,e.createContext)({isOpen:!1,open:f,close:f});function h({children:a}){let[b,c]=(0,e.useState)(!1),f=(0,e.useCallback)(()=>c(!0),[]),h=(0,e.useCallback)(()=>c(!1),[]),i=(0,e.useMemo)(()=>({isOpen:b,open:f,close:h}),[b,f,h]);return(0,d.jsx)(g.Provider,{value:i,children:a})}function i(){return(0,e.useContext)(g)}},63156:(a,b,c)=>{"use strict";c.d(b,{l:()=>e});let d=/\x1b\[[0-9;]*[a-zA-Z]|\x1b\][^\x07]*\x07|\[[0-9;]*m/g;async function e(a){if(!a||0===a.trim().length)return;let b=a.replace(d,"");if(navigator.clipboard?.writeText)try{await navigator.clipboard.writeText(b);return}catch{}let c=document.createElement("textarea");c.value=b,c.style.position="fixed",c.style.left="-9999px",c.style.top="-9999px",c.style.opacity="0",document.body.appendChild(c),c.focus(),c.select();try{document.execCommand("copy")}finally{document.body.removeChild(c)}}},63157:(a,b,c)=>{"use strict";c.d(b,{g7:()=>l,rC:()=>n,Fn:()=>m});var d=c(21124),e=c(38301),f=c(78352),g=c(74930),h=c(20316);let i=[2e3,5e3,1e4];var j=c(47817);let k=(0,e.createContext)(null);function l({children:a,enabled:b=!0}){let{worktrees:c,repositories:l,isLoading:m,error:n,refresh:o}=function({enabled:a=!0}={}){let[b,c]=(0,e.useState)([]),[d,j]=(0,e.useState)([]),[k,l]=(0,e.useState)(!0),[m,n]=(0,e.useState)(null),o=(0,e.useRef)(null),p=(0,e.useRef)([]),q=(0,e.useRef)(null),r=(0,e.useRef)(0),s=(0,e.useRef)(null),t=(0,e.useRef)(!1),u=(0,e.useRef)(async()=>{}),v=(0,e.useCallback)(()=>{null!==s.current&&(clearTimeout(s.current),s.current=null)},[]),{connected:w,subscribe:x,unsubscribe:y,addListener:z}=(0,g.xM)(),A=(0,e.useRef)(w);A.current=w;let B=(0,e.useCallback)(async()=>{try{n(null),t.current&&0===p.current.length&&l(!0);let a=(0,h.Xg)(),b=await fetch("/api/worktrees"),d=(0,f.O0)(b);if(d)throw d;if(!b.ok)throw Error(`Failed to fetch worktrees: ${b.status}`);let g=(0,f.xd)(b);if(g)throw g;let i=await b.json(),k=(0,h.Th)(i.worktrees??[],a),m=i.repositories??[];(0,e.startTransition)(()=>{c(k),j(m),l(!1)}),p.current=k,(0,h.WZ)(a),t.current=!1,r.current=0,v()}catch(c){let a=c instanceof Error?c:Error(String(c));console.error("[useWorktreesCache] Failed to fetch worktrees:",a),t.current=!0,n(a),l(!1);let b=r.current;0===p.current.length&&b<i.length&&(r.current=b+1,v(),s.current=setTimeout(()=>{s.current=null,u.current()},i[b]))}},[v]);u.current=B;let C=(0,e.useCallback)(()=>p.current.some(a=>!0===a.isSessionRunning),[]),D=(0,e.useCallback)(()=>{let a=C();return A.current?a?2e4:6e4:a?5e3:3e4},[C]),E=(0,e.useCallback)(()=>{null!==o.current&&(clearInterval(o.current),o.current=null),q.current=null},[]);return(0,e.useCallback)(()=>{E();let a=D();q.current=a,o.current=setInterval(()=>{B()},a)},[D,B,E]),b.map(a=>a.id).sort().join(" "),{worktrees:b,repositories:d,isLoading:k,error:m,refresh:B}}({enabled:b}),p=(0,e.useMemo)(()=>({worktrees:c,repositories:l,isLoading:m,error:n,refresh:o}),[c,l,m,n,o]);return(0,d.jsx)(k.Provider,{value:p,children:(0,d.jsx)(j.H8,{externalWorktrees:c,externalRepositories:l,externalIsLoading:m,externalError:n,externalRefresh:o,children:a})})}function m(){let a=(0,e.useContext)(k);if(null===a)throw Error("useWorktreesCacheContext must be used within a WorktreesCacheProvider");return a}function n(){return(0,e.useContext)(k)}},63474:(a,b,c)=>{"use strict";c.d(b,{dj:()=>w,tE:()=>v});var d=c(21124),e=c(38301),f=c(23312),g=c(20481),h=c(75219),i=c(91292),j=c(16945),k=c(71117),l=c(47089),m=c(11010),n=c(58970),o=c(6074);let p=3e3;function q({type:a,iconColor:b}){let c=`h-5 w-5 ${b}`;switch(a){case"success":return(0,d.jsx)(h.A,{className:c,"data-testid":"toast-icon-success"});case"error":return(0,d.jsx)(i.A,{className:c,"data-testid":"toast-icon-error"});case"warning":return(0,d.jsx)(j.A,{className:c,"data-testid":"toast-icon-warning"});default:return(0,d.jsx)(k.A,{className:c,"data-testid":"toast-icon-info"})}}function r({id:a,message:b,type:c,onClose:f,duration:h=p,onClick:i}){let j=(0,g.c)("common"),k=(0,e.useRef)(null),m=function(a){switch(a){case"success":return{bgColor:"bg-success-subtle",borderColor:"border-success-border",textColor:"text-success-foreground",iconColor:"text-success-foreground"};case"error":return{bgColor:"bg-danger-subtle",borderColor:"border-danger-border",textColor:"text-danger-foreground",iconColor:"text-danger-foreground"};case"warning":return{bgColor:"bg-warning-subtle",borderColor:"border-warning-border",textColor:"text-warning-foreground",iconColor:"text-warning-foreground"};default:return{bgColor:"bg-info-subtle",borderColor:"border-info-border",textColor:"text-info-foreground",iconColor:"text-info-foreground"}}}(c),[r,s]=(0,e.useState)(!0),{shouldRender:t,isExiting:u}=(0,o.O)(r,n.Ys);(0,e.useRef)(f).current=f;let v=(0,e.useCallback)(()=>{k.current&&clearTimeout(k.current),s(!1)},[]);return(0,d.jsxs)("div",{"data-testid":`toast-${a}`,role:"alert",className:`
|
|
10
|
+
`,children:[(0,d.jsxs)("div",{className:"@container flex items-center gap-2 w-full min-w-0",children:[a.cliStatus&&Object.keys(a.cliStatus).length>0&&(0,d.jsx)("div",{className:"flex items-center justify-center flex-shrink-0 w-4","aria-label":g("branchItem.cliToolStatus"),children:(0,d.jsx)(k.Ej,{status:B,label:(0,j.dw)(a.cliStatus,a.cliStatusLabels,F.size>0?a=>F.has(a)?g("branchItem.agentExited"):null:void 0,G),waitingKind:a.waitingKind,unclassified:H})}),(0,d.jsx)("p",{className:"flex-1 min-w-0 text-left text-sm text-sidebar-foreground truncate",children:a.name}),f&&(0,d.jsx)("p",{className:"flex-shrink min-w-0 max-w-[40%] text-xs text-sidebar-muted truncate",children:a.repositoryName}),(0,d.jsx)(o,{worktreeStatus:S}),D&&(0,d.jsxs)("span",{"data-testid":"awaiting-instruction-badge",className:"flex-shrink-0 inline-flex h-4 w-4 items-center justify-center rounded-full bg-success-subtle text-success-foreground",title:n("awaitingInstruction.label"),children:[(0,d.jsx)(i.A,{className:"h-3 w-3",strokeWidth:3,"aria-hidden":"true"}),(0,d.jsx)("span",{className:"sr-only",children:n("awaitingInstruction.badge")})]}),a.hasUnread&&(0,d.jsx)("span",{"data-testid":"unread-indicator",className:"w-2 h-2 rounded-full bg-accent-500 flex-shrink-0","aria-label":g("branchItem.hasUnread")})]}),J&&(0,d.jsx)("p",{"data-testid":"branch-next-action",className:`pl-6 text-left text-xs font-medium truncate ${b?"block":"hidden [@media(hover:none)]:block"} ${C?"text-warning-foreground":D?"text-success-foreground":"text-sidebar-muted"}`,children:E}),b&&a.description&&(0,d.jsx)("p",{"data-testid":"branch-description",className:"pl-6 text-left text-xs text-sidebar-muted truncate",children:a.description}),(0,d.jsx)(t,{id:v,branch:a,isVisible:K,anchorRef:w,nextActionLabel:E,unclassified:H,awaitingInstructionLabel:D?n("awaitingInstruction.badge"):null})]}),R&&(0,d.jsx)(l.m,{branch:a,isSelected:b,onOpenChange:Q,worktreeStatus:S,onWorktreeStatusChange:T})]})})},38898:(a,b,c)=>{var d={"./en/schedule.json":[95571,5571],"./ja/schedule.json":[26285,6285]};function e(a){if(!c.o(d,a))return Promise.resolve().then(()=>{var b=Error("Cannot find module '"+a+"'");throw b.code="MODULE_NOT_FOUND",b});var b=d[a],e=b[0];return c.e(b[1]).then(()=>c.t(e,19))}e.keys=()=>Object.keys(d),e.id=38898,a.exports=e},39800:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>h});var d=c(21124),e=c(38301),f=c(35914);c(38557);let g={en:{chunkTitle:"Updating to the latest version",chunkDescription:"A newer version of CommandMate is available. Reloading to get the latest update…",offlineTitle:"You're offline",offlineDescription:"Part of the page could not be loaded because the device is off the network. It will be retried automatically as soon as the connection is back.",offlineWaiting:"Waiting for the connection to come back…",genericTitle:"Something went wrong",genericDescription:"An unexpected error occurred. Please reload the page.",reload:"Reload",retry:"Retry"},ja:{chunkTitle:"最新バージョンに更新しています",chunkDescription:"CommandMate の新しいバージョンが利用可能です。最新の状態にするため再読み込みします…",offlineTitle:"接続が切れています",offlineDescription:"ネットワークに接続できないため、ページの一部を読み込めませんでした。接続が戻り次第、自動でやり直します。",offlineWaiting:"接続の回復を待っています…",genericTitle:"問題が発生しました",genericDescription:"予期しないエラーが発生しました。ページを再読み込みしてください。",reload:"再読み込み",retry:"再試行"}};function h({error:a,reset:b}){let c=(0,f.oz)(a),[h,i]=(0,e.useState)("en"),[j,k]=(0,e.useState)(!1),l=(0,e.useCallback)(()=>{j?b():window.location.reload()},[j,b]),m=g[h],n=j?m.offlineTitle:c?m.chunkTitle:m.genericTitle,o=j?m.offlineDescription:c?m.chunkDescription:m.genericDescription;return(0,d.jsx)("html",{lang:h,style:{colorScheme:"light dark"},children:(0,d.jsxs)("body",{"data-error-kind":j?"chunk-offline":c?"chunk-reload":"unexpected",style:{margin:0,minHeight:"100vh",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",gap:"1.5rem",padding:"1.5rem",textAlign:"center",background:"Canvas",color:"CanvasText",fontFamily:'system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif'},children:[(0,d.jsxs)("div",{style:{maxWidth:"24rem"},children:[(0,d.jsx)("h1",{style:{fontSize:"1.5rem",fontWeight:600,margin:"0 0 0.5rem"},children:n}),(0,d.jsx)("p",{style:{fontSize:"0.875rem",opacity:.75,margin:0},children:o}),j&&(0,d.jsx)("p",{role:"status","aria-live":"polite",style:{fontSize:"0.75rem",opacity:.6,margin:"0.5rem 0 0"},children:m.offlineWaiting})]}),(0,d.jsx)("button",{type:"button",onClick:l,style:{appearance:"none",cursor:"pointer",borderRadius:"0.5rem",border:"1px solid currentColor",background:"transparent",color:"inherit",padding:"0.5rem 1rem",fontSize:"0.875rem",fontWeight:500},children:j?m.retry:m.reload})]})})}},43084:(a,b,c)=>{"use strict";c.d(b,{k:()=>g});var d=c(75338),e=c(94596);let f=["[animation-delay:0ms]","[animation-delay:150ms]","[animation-delay:300ms]"];function g(){let a=(0,e.A)("common");return(0,d.jsx)("div",{className:"flex w-full h-full min-h-[12rem] items-center justify-center p-8",role:"status","aria-label":a("loadingPage"),"data-testid":"route-loading",children:(0,d.jsx)("div",{className:"flex items-center gap-2","aria-hidden":"true",children:f.map(a=>(0,d.jsx)("span",{className:`h-2.5 w-2.5 rounded-full bg-muted-foreground animate-pulse ${a}`},a))})})}},44164:(a,b,c)=>{Promise.resolve().then(c.bind(c,64182))},46649:(a,b,c)=>{Promise.resolve().then(c.bind(c,98058)),Promise.resolve().then(c.bind(c,3890))},47684:(a,b,c)=>{"use strict";c.d(b,{Iz:()=>G,W2:()=>D,gM:()=>z,oW:()=>J,vP:()=>H,zX:()=>E});var d=c(21124),e=c(38301),f=c(23312),g=c.n(f),h=c(42378),i=c(20481),j=c(38882),k=c(81092),l=c(47817),m=c(5772),n=c(52761),o=c(38812),p=c(3839),q=c(72280),r=c(22317),s=c(95239),t=c(89877),u=c(32482),v=c(1637),w=c(52120),x=c(11010),y=c(72957);function z(a){return!!(a.closest?.("[data-repository-tab-panel]")??a.closest?.(`[${p.K}]`))}function A(a,b,c){let d=c-8-b;return d<=8?8:Math.min(Math.max(a.left+b>c-8?a.right-b:a.left,8),d)}function B(a,b,c){return Math.max(0,Math.min(b,Math.floor(c-8-(a+4)-2)))}function C(){let[a,b]=(0,e.useState)(()=>1/0);return a}function D(a,b){(0,e.useId)()}function E(){let{selectWorktree:a}=(0,l.$f)(),b=(0,n.Hq)();return(0,e.useCallback)(c=>{"undefined"!=typeof document&&document.dispatchEvent(new CustomEvent("commandmate:repository-branch-list-open",{detail:null})),a(c),b.push(`/worktrees/${c}`)},[a,b])}function F(a){a?.scrollIntoView?.({block:"nearest",inline:"nearest"})}function G({worktrees:a,repositories:b,sortKey:c,sortDirection:d,repositoryOrder:f}){let g=(0,e.useMemo)(()=>(0,u.UZ)(b??[]),[b]),h=(0,e.useMemo)(()=>(0,u.s6)(a??[],g),[a,g]),i=(0,e.useMemo)(()=>h.map(t.XK),[h]),{groupedItems:j}=(0,s.D)({items:i,sortKey:c,sortDirection:d,viewMode:"grouped"});return(0,e.useMemo)(()=>(0,u.Ew)(j,f),[j,f])}let H=(0,e.memo)(function(){let a=(0,i.c)("common"),b=(0,h.usePathname)(),c=E(),{sortKey:f,sortDirection:g,repositoryOrder:n}=(0,k.VF)(),{worktrees:o,repositories:p,selectedWorktreeId:q}=(0,l.$f)(),{factor:r}=(0,m.Ps)(),s=G({worktrees:o,repositories:p,sortKey:f,sortDirection:g,repositoryOrder:n}),t=(0,u.jn)(b,q),v=(0,e.useMemo)(()=>s.find(a=>a.branches.some(a=>a.id===t))?.repositoryName??null,[s,t]),[w,x]=(0,e.useState)(null),[A,B]=(0,e.useState)(null),[C,H]=(0,e.useState)(!1),L=(0,e.useRef)(null),M=(0,e.useRef)(null),N=(0,e.useRef)(new Map),O=(0,e.useCallback)((a,b)=>{b?N.current.set(a,b):N.current.delete(a)},[]),P=(0,e.useCallback)(()=>{x(null),B(null),H(!1)},[]),Q=(0,e.useCallback)(a=>{let b=N.current.get(a);if(!b)return;let c=b.getBoundingClientRect();B({left:c.left,right:c.right,bottom:c.bottom}),x(a),H(!1)},[]),R=(0,e.useCallback)(a=>{if(w===a)return void P();Q(a)},[w,P,Q]),[S,T]=(0,e.useState)(!1),[U,V]=(0,e.useState)(0),W=(0,e.useCallback)(()=>{let a=L.current;a&&(T(a.scrollWidth>a.clientWidth+1),V(a.clientWidth))},[]);(0,e.useLayoutEffect)(()=>{W()},[W,s.length,r]),(0,e.useEffect)(()=>{},[W]);let X=(0,e.useRef)(null),Y=(0,e.useCallback)(a=>{if(L.current=a,X.current?.disconnect(),X.current=null,!a||"undefined"==typeof ResizeObserver)return;let b=new ResizeObserver(()=>W());b.observe(a),X.current=b},[W]),Z=null!==w||C;D(Z,P),(0,e.useEffect)(()=>{if(!Z)return;let a=a=>{let b=a.target;!(!b||L.current?.contains(b)||M.current?.contains(b))&&(z(b)||P())},b=a=>{if(!(0,y.V$)(a))return;let b=w?N.current.get(w):M.current;P(),b?.focus()};return document.addEventListener("mousedown",a),document.addEventListener("keydown",b),()=>{document.removeEventListener("mousedown",a),document.removeEventListener("keydown",b)}},[Z,w,P]),(0,e.useEffect)(()=>{P()},[b,P]),(0,e.useLayoutEffect)(()=>{v&&F(N.current.get(v))},[v,b,S,U]);let $=(0,e.useCallback)(a=>{P(),c(a)},[P,c]),_=(0,e.useCallback)(a=>{let b=N.current.get(a);F(b),Q(a),b?.focus()},[Q]),aa=(0,e.useCallback)(a=>{var b;let c=a.currentTarget,d=(b=c.clientWidth,a.ctrlKey||a.shiftKey||Math.abs(a.deltaY)<=Math.abs(a.deltaX)?0:1===a.deltaMode?40*a.deltaY:2===a.deltaMode?a.deltaY*b:a.deltaY);0!==d&&(c.scrollLeft+=d)},[]);if(0===s.length)return null;let ab=Math.round(32*r),ac=s.find(a=>a.repositoryName===w)??null;return(0,d.jsxs)("div",{"data-testid":"repository-tab-bar",className:"relative flex-shrink-0 flex items-stretch border-b border-border bg-sidebar text-sidebar-foreground",style:{height:`${ab}px`},children:[(0,d.jsx)("nav",{ref:Y,"data-testid":"repository-tab-strip","aria-label":a("nav.repositories"),onWheel:aa,className:"flex min-w-0 flex-1 flex-nowrap items-stretch overflow-x-auto overflow-y-hidden scrollbar-hide",children:s.map(a=>(0,d.jsx)(I,{group:a,isActive:a.repositoryName===v,isOpen:a.repositoryName===w,registerTab:O,onToggle:R},a.repositoryName))}),S&&(0,d.jsx)("button",{ref:M,type:"button","data-testid":"repository-tab-overflow","aria-haspopup":"menu","aria-expanded":C,"aria-label":a("repoTabBar.overflow"),title:a("repoTabBar.overflow"),onClick:()=>{x(null),B(null),H(a=>!a)},className:"flex-shrink-0 flex items-center border-l border-sidebar-border px-2 text-sidebar-muted transition-colors hover:bg-sidebar-hover hover:text-sidebar-foreground focus:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-ring",children:(0,d.jsx)(j.A,{size:16,strokeWidth:2,"aria-hidden":"true"})}),ac&&A&&(0,d.jsx)(J,{group:ac,anchor:A,factor:r,activeWorktreeId:t,onBranchClick:$}),C&&(0,d.jsx)(K,{groups:s,anchorRef:M,activeRepositoryName:v,onSelect:_})]})}),I=(0,e.memo)(function({group:a,isActive:b,isOpen:c,registerTab:e,onToggle:f}){let g=(0,i.c)("common"),h=(0,u.zD)(a.branches),j=(0,v.Mq)(h,(0,u.El)(a.branches)),k=(0,u.j)(a.branches),l=g(j?v.rH:w.PL[h].labelKey);return(0,d.jsx)("button",{ref:b=>e(a.repositoryName,b),type:"button","data-testid":"repository-tab","data-repository":a.repositoryName,"aria-haspopup":"menu","aria-expanded":c,"aria-current":b?"true":void 0,title:`${a.repositoryName} — ${l}`,onClick:()=>f(a.repositoryName),onKeyDown:b=>{"ArrowDown"===b.key&&(b.preventDefault(),c||f(a.repositoryName))},className:"group/tab flex-shrink-0 flex max-w-[14rem] items-stretch px-0.5 py-1 text-xs font-medium focus:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-ring",children:(0,d.jsxs)("span",{"data-testid":"repository-tab-chip",className:`flex min-w-0 items-center gap-1.5 rounded-md px-2 transition-colors ${b?"bg-background text-foreground shadow-sm":"text-sidebar-muted group-hover/tab:bg-sidebar-hover group-hover/tab:text-sidebar-foreground"}`,children:[(0,d.jsx)(q.n,{className:"h-3.5 w-3.5",color:(0,u.LV)(a.repositoryName)}),(0,d.jsx)("span",{className:"min-w-0 truncate",children:a.repositoryName}),(0,d.jsx)(r.m,{status:h,size:"sm",label:l,className:j?v.Jd:void 0,"data-testid":"repository-tab-status"}),k>0&&(0,d.jsx)("span",{"data-testid":"repository-tab-attention-count","aria-label":g("attention.badgeLabel",{count:k}),className:"flex-shrink-0 rounded-full bg-warning-subtle px-1.5 text-[10px] font-semibold leading-4 tabular-nums text-warning-foreground",children:k})]})})});function J({group:a,anchor:b,factor:c,activeWorktreeId:f,onBranchClick:h}){let j=(0,i.c)("common"),k=(0,e.useRef)(null),l=C();if("undefined"==typeof document)return null;let m=Math.round(300*c);return g().createPortal((0,d.jsx)("div",{ref:k,"data-repository-tab-panel":"","data-testid":"repository-tab-popover","data-repository":a.repositoryName,role:"menu","aria-label":j("sidebar.branchNavigation"),className:"fixed rounded-md border border-sidebar-border bg-sidebar text-sidebar-foreground shadow-lg",style:{top:b.bottom+4,left:A(b,m,m),width:m,zIndex:x.M.POPOVER},children:(0,d.jsx)("div",{"data-testid":"repository-tab-popover-list",className:"overflow-y-auto overflow-x-hidden py-1",style:{maxHeight:`${B(b.bottom,Math.round(520*c),l)}px`},children:0===a.branches.length?(0,d.jsx)("p",{className:"px-4 py-6 text-center text-sm text-sidebar-muted",children:j("sidebar.noBranchesAvailable")}):a.branches.map(a=>(0,d.jsx)(o.yP,{branch:a,isSelected:a.id===f,onClick:()=>h(a.id),showRepositoryName:!1},a.id))})}),document.body)}function K({groups:a,anchorRef:b,activeRepositoryName:c,onSelect:e}){let f=(0,i.c)("common"),h=C(),j=b.current?.getBoundingClientRect();return"undefined"!=typeof document&&j?g().createPortal((0,d.jsx)("div",{"data-repository-tab-panel":"","data-testid":"repository-tab-overflow-menu",role:"menu","aria-label":f("nav.repositories"),className:"fixed rounded-md border border-sidebar-border bg-sidebar text-sidebar-foreground shadow-lg",style:{top:j.bottom+4,left:A({left:j.left,right:j.right,bottom:j.bottom},300,300),width:300,zIndex:x.M.POPOVER},children:(0,d.jsx)("div",{"data-testid":"repository-tab-overflow-list",className:"overflow-y-auto py-1",style:{maxHeight:`${B(j.bottom,520,h)}px`},children:a.map(a=>{let b=(0,u.zD)(a.branches),g=(0,v.Mq)(b,(0,u.El)(a.branches));return(0,d.jsxs)("button",{type:"button",role:"menuitem","data-testid":"repository-tab-overflow-item","data-repository":a.repositoryName,"aria-current":a.repositoryName===c?"true":void 0,onClick:()=>e(a.repositoryName),className:"flex w-full items-center gap-2 px-3 py-2 text-left text-sm transition-colors hover:bg-sidebar-hover focus:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-ring",children:[(0,d.jsx)(q.n,{className:"h-3.5 w-3.5",color:(0,u.LV)(a.repositoryName)}),(0,d.jsx)("span",{className:"min-w-0 flex-1 truncate",children:a.repositoryName}),(0,d.jsx)(r.m,{status:b,size:"sm",label:f(g?v.rH:w.PL[b].labelKey),className:g?v.Jd:void 0}),(0,d.jsx)("span",{className:"tabular-nums text-xs text-sidebar-muted",children:a.branches.length})]},a.repositoryName)})})}),document.body):null}},47817:(a,b,c)=>{"use strict";c.d(b,{$f:()=>l,H8:()=>k});var d=c(21124),e=c(38301),f=c(78352),g=c(20316);let h=(0,e.createContext)(null),i={selectedWorktreeId:null,worktrees:[],repositories:[],selectedWorktreeDetail:null,isLoading:!0,isLoadingDetail:!1,error:null};function j(a,b){switch(b.type){case"SET_WORKTREES":return{...a,worktrees:b.worktrees,isLoading:!1};case"SET_REPOSITORIES":return{...a,repositories:b.repositories};case"SELECT_WORKTREE":{let c=a.worktrees.find(a=>a.id===b.id)??null;return{...a,selectedWorktreeId:b.id,selectedWorktreeDetail:c??a.selectedWorktreeDetail,isLoadingDetail:null===c}}case"SET_WORKTREE_DETAIL":return{...a,selectedWorktreeDetail:b.detail};case"SET_LOADING":return{...a,isLoading:b.isLoading};case"SET_LOADING_DETAIL":return{...a,isLoadingDetail:b.isLoadingDetail};case"SET_ERROR":return{...a,error:b.error,isLoading:!1};default:return a}}function k({children:a,externalWorktrees:b,externalRepositories:c,externalIsLoading:k,externalError:l,externalRefresh:m}){let n=void 0!==b,[o,p]=(0,e.useReducer)(j,i),q=(0,e.useCallback)(async()=>{if(!n){p({type:"SET_LOADING",isLoading:!0}),p({type:"SET_ERROR",error:null});try{let a=(0,g.Xg)(),b=await f.y.getAll();p({type:"SET_WORKTREES",worktrees:(0,g.Th)(b.worktrees,a)}),p({type:"SET_REPOSITORIES",repositories:b.repositories??[]})}catch(a){p({type:"SET_ERROR",error:a instanceof Error?a.message:"Failed to fetch worktrees"})}}},[n]),r=(0,e.useCallback)(async a=>{p({type:"SELECT_WORKTREE",id:a}),p({type:"SET_ERROR",error:null});try{f.y.markAsViewed(a).catch(a=>{console.warn("[WorktreeSelectionContext] Failed to mark as viewed:",a)});let b=(0,g.Xg)(),c=await f.y.getById(a);p({type:"SET_WORKTREE_DETAIL",detail:(0,g.Dj)(c,b)})}catch(a){p({type:"SET_ERROR",error:a instanceof Error?a.message:"Failed to fetch worktree detail"})}finally{p({type:"SET_LOADING_DETAIL",isLoadingDetail:!1})}},[]),s=(0,e.useCallback)(async()=>{if(n&&m)return void await m();await q()},[n,m,q]),t=n&&void 0!==k?k:o.isLoading,u=n&&l?l.message:null,v={selectedWorktreeId:o.selectedWorktreeId,worktrees:o.worktrees,repositories:o.repositories,selectedWorktreeDetail:o.selectedWorktreeDetail,isLoading:t,isLoadingDetail:o.isLoadingDetail,error:u??o.error,selectWorktree:r,refreshWorktrees:s};return(0,d.jsx)(h.Provider,{value:v,children:a})}function l(){let a=(0,e.useContext)(h);if(!a)throw Error("useWorktreeSelection must be used within a WorktreeSelectionProvider");return a}},48620:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>f});var d=c(75338),e=c(43084);function f(){return(0,d.jsx)(e.k,{})}},51472:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>q,generateMetadata:()=>o,viewport:()=>p});var d=c(75338),e=c(68071),f=c(22513),g=c(42531),h=c(10620),i=c(4986),j=c.n(i),k=c(68034),l=c.n(k),m=c(58315),n=c(29966);async function o(){return{title:{default:"CommandMate",template:"%s | CommandMate"},description:(await (0,e.A)("common"))("meta.description"),appleWebApp:{capable:!0,title:"CommandMate",statusBarStyle:"default"}}}c(61135);let p={themeColor:[{media:"(prefers-color-scheme: light)",color:"#fafafb"},{media:"(prefers-color-scheme: dark)",color:"#0a0c12"}],viewportFit:"cover"};async function q({children:a}){let b=await (0,f.A)(),c=await (0,g.A)(),e=await (0,h.A)();return(0,d.jsx)("html",{lang:b,className:`${j().variable} ${l().variable}`,suppressHydrationWarning:!0,children:(0,d.jsx)("body",{className:"min-h-screen bg-background",children:(0,d.jsx)(m.AppProviders,{locale:b,messages:c,timeZone:e,authEnabled:!!process.env.CM_AUTH_TOKEN_HASH,children:(0,d.jsx)(n.AppShellGate,{children:a})})})})}},51877:(a,b,c)=>{var d={"./en/auth.json":[43440,3440],"./ja/auth.json":[11162,1162]};function e(a){if(!c.o(d,a))return Promise.resolve().then(()=>{var b=Error("Cannot find module '"+a+"'");throw b.code="MODULE_NOT_FOUND",b});var b=d[a],e=b[0];return c.e(b[1]).then(()=>c.t(e,19))}e.keys=()=>Object.keys(d),e.id=51877,a.exports=e},52120:(a,b,c)=>{"use strict";c.d(b,{PL:()=>e,sb:()=>f});let d={idle:"bg-muted-foreground",ready:"bg-success",spinner:"border-info",waiting:"bg-warning"},e={idle:{className:d.idle,labelKey:"status.idle",type:"dot"},ready:{className:d.ready,labelKey:"status.ready",type:"dot"},running:{className:d.spinner,labelKey:"status.running",type:"spinner"},waiting:{className:d.waiting,labelKey:"status.waiting",type:"dot"},generating:{className:d.spinner,labelKey:"status.generating",type:"spinner"}},f={idle:"detailStatus.idle",ready:"detailStatus.ready",running:"detailStatus.running",waiting:"detailStatus.waiting"}},52130:(a,b,c)=>{Promise.resolve().then(c.bind(c,53523))},52761:(a,b,c)=>{"use strict";c.d(b,{Bo:()=>k,Hq:()=>i});var d=c(21124),e=c(38301),f=c(42378);let g={startTransition:a=>a()},h=(0,e.createContext)(null);function i(){let a=(0,f.useRouter)(),{startTransition:b}=(0,e.useContext)(h)??g;return(0,e.useMemo)(()=>({push:c=>b(()=>a.push(c)),replace:c=>b(()=>a.replace(c))}),[a,b])}function j({onCommit:a}){return(0,f.usePathname)(),(0,e.useRef)(!1),null}function k({children:a}){let b=(0,e.useRef)(null),c=(0,e.useCallback)(()=>{b.current?.()},[]),f=(0,e.useCallback)(a=>{var c;c=()=>new Promise(c=>{let d=!1,e=()=>{d||(d=!0,c())};b.current=e,a(),window.setTimeout(e,500)}),"undefined"==typeof document||"function"!=typeof document.startViewTransition?c():document.startViewTransition(c)},[]),g=(0,e.useMemo)(()=>({startTransition:f}),[f]);return(0,d.jsxs)(h.Provider,{value:g,children:[(0,d.jsx)(j,{onCommit:c}),a]})}},53237:(a,b,c)=>{"use strict";c.d(b,{V:()=>e});var d=c(38301);function e(a){let{key:b,defaultValue:c,validate:e,serialize:f=JSON.stringify,deserialize:g=JSON.parse}=a,h=(0,d.useRef)(c),i=(0,d.useRef)(e),j=(0,d.useRef)(f),k=(0,d.useRef)(g);h.current=c,i.current=e,j.current=f,k.current=g;let[l,m]=(0,d.useState)(!1),[n,o]=(0,d.useState)(c);(0,d.useCallback)(()=>h.current,[b]);let p=(0,d.useCallback)(a=>{},[b]);return{value:n,setValue:(0,d.useCallback)(a=>{o(b=>{let c="function"==typeof a?a(b):a;return p(c),c})},[p]),removeValue:(0,d.useCallback)(()=>{o(h.current)},[b]),isAvailable:l}}},53906:(a,b,c)=>{Promise.resolve().then(c.bind(c,5682))},54834:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,31603,23)),Promise.resolve().then(c.t.bind(c,68495,23)),Promise.resolve().then(c.t.bind(c,75170,23)),Promise.resolve().then(c.t.bind(c,77526,23)),Promise.resolve().then(c.t.bind(c,78922,23)),Promise.resolve().then(c.t.bind(c,29234,23)),Promise.resolve().then(c.t.bind(c,12263,23)),Promise.resolve().then(c.bind(c,82146))},56379:(a,b,c)=>{"use strict";c.d(b,{V:()=>i});var d=c(21124),e=c(20481),f=c(23910),g=c(94260),h=c(17793);function i(){let a=(0,e.c)("worktree"),{updateInfo:b,hasUpdate:c,canSelfUpdate:i,state:j,logPath:k,errorKey:l,openConfirm:m}=(0,f.Y)();if(!b||!c&&"idle"===j)return null;let{latestVersion:n,releaseUrl:o,updateCommand:p,installType:q}=b,r="npx"===q,s=r?"npx commandmate@latest":"commandmate update";return(0,d.jsxs)("div",{className:"bg-accent-50 border border-accent-200 rounded-lg p-3 mt-2",role:"status","aria-label":a("update.available"),"data-testid":"update-notification-banner",children:[(0,d.jsx)("p",{className:"text-sm font-medium text-accent-800 mb-1",children:a("update.available")}),n&&(0,d.jsx)("p",{className:"text-sm text-accent-700 mb-2",children:a("update.latestVersion",{version:n})}),i&&"idle"===j&&(0,d.jsx)(g.$,{variant:"primary",size:"sm",className:"mb-2",onClick:m,"data-testid":"update-now-button",children:a("update.updateNow")}),r&&"idle"===j&&(0,d.jsx)("p",{className:"text-xs text-accent-600 mb-2","data-testid":"update-npx-notice",children:a("update.npxRestartNotice")}),("starting"===j||"updating"===j)&&(0,d.jsxs)("div",{className:"mb-2","data-testid":"update-progress",children:[(0,d.jsxs)("p",{className:"flex items-center text-sm text-accent-800",children:[(0,d.jsx)(h.y,{size:"sm",className:"mr-2"}),a("starting"===j?"update.starting":"update.updating")]}),"updating"===j&&(0,d.jsx)("p",{className:"text-xs text-accent-600 mt-1",children:a("update.updatingHint")})]}),"no-restart"===j&&(0,d.jsxs)("div",{className:"mb-2","data-testid":"update-no-restart",children:[(0,d.jsx)("p",{className:"text-sm font-medium text-accent-800",children:a("update.noRestartTitle")}),(0,d.jsx)("p",{className:"text-xs text-accent-600 mt-1",children:a("update.noRestartDescription")})]}),"timeout"===j&&(0,d.jsxs)("div",{className:"mb-2","data-testid":"update-timeout",children:[(0,d.jsx)("p",{className:"text-sm font-medium text-accent-800",children:a("update.timeoutTitle")}),(0,d.jsx)("p",{className:"text-xs text-accent-600 mt-1",children:a("update.timeoutDescription")}),(0,d.jsx)("code",{className:"block bg-accent-100 rounded px-2 py-1 mt-1 text-xs text-accent-900 font-mono",children:s})]}),"error"===j&&(0,d.jsxs)("div",{className:"mb-2","data-testid":"update-error",children:[(0,d.jsx)("p",{className:"text-sm font-medium text-accent-800",children:a("update.errorTitle")}),(0,d.jsx)("p",{className:"text-xs text-accent-600 mt-1",children:l?a(l):null}),(0,d.jsx)("code",{className:"block bg-accent-100 rounded px-2 py-1 mt-1 text-xs text-accent-900 font-mono",children:s})]}),k&&("no-restart"===j||"timeout"===j)&&(0,d.jsx)("p",{className:"text-xs text-accent-500 mb-2","data-testid":"update-log-hint",children:a("update.logHint",{path:k})}),p&&"global"===q&&"idle"===j&&(0,d.jsxs)("div",{className:"mb-2",children:[(0,d.jsx)("p",{className:"text-xs text-accent-600 mb-1",children:a("update.updateCommand")}),(0,d.jsx)("code",{className:"block bg-accent-100 rounded px-2 py-1 text-xs text-accent-900 font-mono",children:p})]}),o&&(0,d.jsxs)("a",{href:o,target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center text-sm text-accent-600 hover:text-accent-800 underline",children:[a("update.viewRelease"),(0,d.jsx)("span",{className:"ml-1","aria-hidden":"true",children:"→"})]}),(0,d.jsx)("p",{className:"text-xs text-accent-500 mt-2",children:a("update.dataPreserved")})]})}},57482:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>e});var d=c(97523);let e=async a=>[{type:"image/png",sizes:"192x192",url:(0,d.fillMetadataSegment)(".",await a.params,"icon2.png")+"?6e2321fdb8624653"}]},58315:(a,b,c)=>{"use strict";c.d(b,{AppProviders:()=>e});var d=c(97954);(0,d.registerClientReference)(function(){throw Error("Attempted to call shouldStartAppData() from the server but shouldStartAppData is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/CommandMate/CommandMate/src/components/providers/AppProviders.tsx","shouldStartAppData");let e=(0,d.registerClientReference)(function(){throw Error("Attempted to call AppProviders() from the server but AppProviders is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/CommandMate/CommandMate/src/components/providers/AppProviders.tsx","AppProviders")},58970:(a,b,c)=>{"use strict";c.d(b,{$B:()=>i,LK:()=>g,Ys:()=>h,pX:()=>d,s7:()=>e,tX:()=>f});let d=2e3,e=1500,f=150,g=100,h=200,i=100},60345:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>e});var d=c(97523);let e=async a=>[{type:"image/png",sizes:"96x96",url:(0,d.fillMetadataSegment)(".",await a.params,"icon1.png")+"?901e04bb11e9b7fd"}]},60887:(a,b,c)=>{var d={"./en/review.json":[83346,3346],"./ja/review.json":[49328,9328]};function e(a){if(!c.o(d,a))return Promise.resolve().then(()=>{var b=Error("Cannot find module '"+a+"'");throw b.code="MODULE_NOT_FOUND",b});var b=d[a],e=b[0];return c.e(b[1]).then(()=>c.t(e,19))}e.keys=()=>Object.keys(d),e.id=60887,a.exports=e},60957:(a,b,c)=>{"use strict";c.d(b,{H:()=>m});var d=c(21124),e=c(38301),f=c(20481),g=c(2535),h=c(94260),i=c(98033),j=c(56379),k=c(23910),l=c(90076);function m(){let a=(0,f.c)("worktree"),b=(0,l.a)(),{updateInfo:c,hasUpdate:m,pendingVersion:n,canSelfUpdate:o,state:p,openConfirm:q}=(0,k.Y)(),[r,s]=(0,e.useState)(!1),t=c?.latestVersion??null;if(b||!t)return null;if("idle"===p&&!m&&n){let b=a("update.pendingDescription",{version:n});return(0,d.jsxs)(h.$,{type:"button",variant:"secondary",size:"sm",disabled:!0,className:"flex-shrink-0 gap-1.5 whitespace-nowrap",title:b,"aria-label":b,"data-testid":"app-update-button","data-state":"pending",children:[(0,d.jsx)(g.A,{size:16,"aria-hidden":"true"}),(0,d.jsx)("span",{children:a("update.pendingLabel",{version:n})})]})}if("idle"===p&&!m)return null;let u="starting"===p||"updating"===p,v="no-restart"===p||"timeout"===p||"error"===p,w=a("update.buttonLabel",{version:t});return o||u||v?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)(h.$,{type:"button",variant:"primary",size:"sm",loading:u,onClick:v?()=>s(!0):q,className:"flex-shrink-0 gap-1.5 whitespace-nowrap","aria-label":u?a("update.buttonUpdating"):a("update.buttonAriaLabel",{version:t}),"aria-haspopup":"dialog","aria-busy":u,"data-testid":"app-update-button","data-state":p,children:[!u&&(0,d.jsx)(g.A,{size:16,"aria-hidden":"true"}),(0,d.jsx)("span",{children:u?a("update.buttonUpdating"):w})]}),v&&(0,d.jsx)(i.a,{isOpen:r,onClose:()=>s(!1),title:a("update.statusDialogTitle"),size:"sm",children:(0,d.jsx)(j.V,{})})]}):(0,d.jsxs)("a",{href:c?.releaseUrl??"https://github.com/Kewton/CommandMate/releases/latest",target:"_blank",rel:"noopener noreferrer",className:"inline-flex flex-shrink-0 items-center justify-center gap-1.5 whitespace-nowrap rounded-md px-3 py-1.5 text-sm font-medium bg-accent-600 dark:bg-accent-500 text-white hover:bg-accent-700 dark:hover:bg-accent-600 transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring","aria-label":a("update.buttonReleaseAriaLabel",{version:t}),"data-testid":"app-update-button",children:[(0,d.jsx)(g.A,{size:16,"aria-hidden":"true"}),(0,d.jsx)("span",{children:w})]})}},61118:(a,b,c)=>{var d={"./en/common.json":[73543,3543],"./ja/common.json":[53945,3945]};function e(a){if(!c.o(d,a))return Promise.resolve().then(()=>{var b=Error("Cannot find module '"+a+"'");throw b.code="MODULE_NOT_FOUND",b});var b=d[a],e=b[0];return c.e(b[1]).then(()=>c.t(e,19))}e.keys=()=>Object.keys(d),e.id=61118,a.exports=e},61135:()=>{},61916:(a,b,c)=>{"use strict";c.d(b,{jg:()=>f,kQ:()=>g,mR:()=>j,mS:()=>i,wf:()=>d});let d="terminal",e=new Set(["terminal","chat"]);function f(a){return"string"==typeof a&&e.has(a)}let g={data:null,messageId:null,visible:!1,answering:!1},h={mode:"split",mobileActivePane:"terminal",leftPaneTab:"history",splitRatio:.5,leftPaneCollapsed:!1,activityBar:{active:"files"},historyPane:{visible:!0,width:25,collapsed:!1}},i={type:null,message:null,retryable:!1,retryCount:0};function j(){return{phase:"idle",prompt:{...g},layout:{...h},error:{...i},messages:[],wsConnected:!1}}},62081:(a,b,c)=>{var d={"./en/autoYes.json":[44248,4248],"./ja/autoYes.json":[92534,2534]};function e(a){if(!c.o(d,a))return Promise.resolve().then(()=>{var b=Error("Cannot find module '"+a+"'");throw b.code="MODULE_NOT_FOUND",b});var b=d[a],e=b[0];return c.e(b[1]).then(()=>c.t(e,19))}e.keys=()=>Object.keys(d),e.id=62081,a.exports=e},62197:(a,b,c)=>{"use strict";c.d(b,{NS:()=>h,V0:()=>i});var d=c(21124),e=c(38301);let f=()=>{},g=(0,e.createContext)({isOpen:!1,open:f,close:f});function h({children:a}){let[b,c]=(0,e.useState)(!1),f=(0,e.useCallback)(()=>c(!0),[]),h=(0,e.useCallback)(()=>c(!1),[]),i=(0,e.useMemo)(()=>({isOpen:b,open:f,close:h}),[b,f,h]);return(0,d.jsx)(g.Provider,{value:i,children:a})}function i(){return(0,e.useContext)(g)}},63156:(a,b,c)=>{"use strict";c.d(b,{l:()=>e});let d=/\x1b\[[0-9;]*[a-zA-Z]|\x1b\][^\x07]*\x07|\[[0-9;]*m/g;async function e(a){if(!a||0===a.trim().length)return;let b=a.replace(d,"");if(navigator.clipboard?.writeText)try{await navigator.clipboard.writeText(b);return}catch{}let c=document.createElement("textarea");c.value=b,c.style.position="fixed",c.style.left="-9999px",c.style.top="-9999px",c.style.opacity="0",document.body.appendChild(c),c.focus(),c.select();try{document.execCommand("copy")}finally{document.body.removeChild(c)}}},63157:(a,b,c)=>{"use strict";c.d(b,{g7:()=>l,rC:()=>n,Fn:()=>m});var d=c(21124),e=c(38301),f=c(78352),g=c(74930),h=c(20316);let i=[2e3,5e3,1e4];var j=c(47817);let k=(0,e.createContext)(null);function l({children:a,enabled:b=!0}){let{worktrees:c,repositories:l,isLoading:m,error:n,refresh:o}=function({enabled:a=!0}={}){let[b,c]=(0,e.useState)([]),[d,j]=(0,e.useState)([]),[k,l]=(0,e.useState)(!0),[m,n]=(0,e.useState)(null),o=(0,e.useRef)(null),p=(0,e.useRef)([]),q=(0,e.useRef)(null),r=(0,e.useRef)(0),s=(0,e.useRef)(null),t=(0,e.useRef)(!1),u=(0,e.useRef)(async()=>{}),v=(0,e.useCallback)(()=>{null!==s.current&&(clearTimeout(s.current),s.current=null)},[]),{connected:w,subscribe:x,unsubscribe:y,addListener:z}=(0,g.xM)(),A=(0,e.useRef)(w);A.current=w;let B=(0,e.useCallback)(async()=>{try{n(null),t.current&&0===p.current.length&&l(!0);let a=(0,h.Xg)(),b=await fetch("/api/worktrees"),d=(0,f.O0)(b);if(d)throw d;if(!b.ok)throw Error(`Failed to fetch worktrees: ${b.status}`);let g=(0,f.xd)(b);if(g)throw g;let i=await b.json(),k=(0,h.Th)(i.worktrees??[],a),m=i.repositories??[];(0,e.startTransition)(()=>{c(k),j(m),l(!1)}),p.current=k,(0,h.WZ)(a),t.current=!1,r.current=0,v()}catch(c){let a=c instanceof Error?c:Error(String(c));console.error("[useWorktreesCache] Failed to fetch worktrees:",a),t.current=!0,n(a),l(!1);let b=r.current;0===p.current.length&&b<i.length&&(r.current=b+1,v(),s.current=setTimeout(()=>{s.current=null,u.current()},i[b]))}},[v]);u.current=B;let C=(0,e.useCallback)(()=>p.current.some(a=>!0===a.isSessionRunning),[]),D=(0,e.useCallback)(()=>{let a=C();return A.current?a?2e4:6e4:a?5e3:3e4},[C]),E=(0,e.useCallback)(()=>{null!==o.current&&(clearInterval(o.current),o.current=null),q.current=null},[]);return(0,e.useCallback)(()=>{E();let a=D();q.current=a,o.current=setInterval(()=>{B()},a)},[D,B,E]),b.map(a=>a.id).sort().join(" "),{worktrees:b,repositories:d,isLoading:k,error:m,refresh:B}}({enabled:b}),p=(0,e.useMemo)(()=>({worktrees:c,repositories:l,isLoading:m,error:n,refresh:o}),[c,l,m,n,o]);return(0,d.jsx)(k.Provider,{value:p,children:(0,d.jsx)(j.H8,{externalWorktrees:c,externalRepositories:l,externalIsLoading:m,externalError:n,externalRefresh:o,children:a})})}function m(){let a=(0,e.useContext)(k);if(null===a)throw Error("useWorktreesCacheContext must be used within a WorktreesCacheProvider");return a}function n(){return(0,e.useContext)(k)}},63474:(a,b,c)=>{"use strict";c.d(b,{dj:()=>w,tE:()=>v});var d=c(21124),e=c(38301),f=c(23312),g=c(20481),h=c(75219),i=c(91292),j=c(16945),k=c(71117),l=c(47089),m=c(11010),n=c(58970),o=c(6074);let p=3e3;function q({type:a,iconColor:b}){let c=`h-5 w-5 ${b}`;switch(a){case"success":return(0,d.jsx)(h.A,{className:c,"data-testid":"toast-icon-success"});case"error":return(0,d.jsx)(i.A,{className:c,"data-testid":"toast-icon-error"});case"warning":return(0,d.jsx)(j.A,{className:c,"data-testid":"toast-icon-warning"});default:return(0,d.jsx)(k.A,{className:c,"data-testid":"toast-icon-info"})}}function r({id:a,message:b,type:c,onClose:f,duration:h=p,onClick:i}){let j=(0,g.c)("common"),k=(0,e.useRef)(null),m=function(a){switch(a){case"success":return{bgColor:"bg-success-subtle",borderColor:"border-success-border",textColor:"text-success-foreground",iconColor:"text-success-foreground"};case"error":return{bgColor:"bg-danger-subtle",borderColor:"border-danger-border",textColor:"text-danger-foreground",iconColor:"text-danger-foreground"};case"warning":return{bgColor:"bg-warning-subtle",borderColor:"border-warning-border",textColor:"text-warning-foreground",iconColor:"text-warning-foreground"};default:return{bgColor:"bg-info-subtle",borderColor:"border-info-border",textColor:"text-info-foreground",iconColor:"text-info-foreground"}}}(c),[r,s]=(0,e.useState)(!0),{shouldRender:t,isExiting:u}=(0,o.O)(r,n.Ys);(0,e.useRef)(f).current=f;let v=(0,e.useCallback)(()=>{k.current&&clearTimeout(k.current),s(!1)},[]);return(0,d.jsxs)("div",{"data-testid":`toast-${a}`,role:"alert",className:`
|
|
23
11
|
${m.bgColor}
|
|
24
12
|
${m.borderColor}
|
|
25
13
|
${m.textColor}
|
|
@@ -53,4 +41,16 @@ ${a}`,g=Object.getOwnPropertyDescriptor(HTMLTextAreaElement.prototype,"value")?.
|
|
|
53
41
|
- exits 0 with a relay id on stdout; the reply lands in my composer prefixed \`[from ...]\` when the turn ends
|
|
54
42
|
- Outstanding: ${h} relays / withdraw: ${h} relays cancel <relay-id>
|
|
55
43
|
- Progress: ${k}
|
|
56
|
-
- Do not: answer their prompt with respond / turn auto-yes on`}},85744:(a,b,c)=>{"use strict";c.d(b,{g:()=>f});var d=c(55992),e=c(68232);function f(){return{currentLocale:(0,d.Ym)(),switchLocale:a=>{if(e.dI.includes(a)){let b="https:"===window.location.protocol;document.cookie=`${e.gB}=${a};path=/;max-age=31536000;SameSite=Lax${b?";Secure":""}`,localStorage.setItem("locale",a),window.location.reload()}}}}},85866:(a,b,c)=>{"use strict";c.d(b,{Ex:()=>f.E,$n:()=>d.$,Zp:()=>e.Zp,Wu:()=>e.Wu,aR:()=>e.aR,ZB:()=>e.ZB,Sc:()=>p.S,TM:()=>j.TM,nF:()=>g.n,pd:()=>k.p,Jh:()=>i.a,z6:()=>w,CU:()=>x,l6:()=>E,gC:()=>H,eb:()=>I,bq:()=>G,yv:()=>F,EA:()=>m.E,y$:()=>n.y,md:()=>h.m,dO:()=>o.d,tU:()=>y.tU,av:()=>y.av,j7:()=>y.j7,Xi:()=>y.Xi,k_:()=>l.T,j1:()=>k.j,SC:()=>j.SC});var d=c(94260),e=c(31210),f=c(80755),g=c(72280),h=c(22317),i=c(98033),j=c(79782),k=c(30430),l=c(73790),m=c(79689),n=c(17793),o=c(74892),p=c(95779),q=c(21124),r=c(38301),s=c.n(r),t=c(64450),u=c(90133),v=c(35595);let w=s().forwardRef(({className:a,...b},c)=>(0,q.jsx)(t.bL,{ref:c,className:(0,v.cn)("grid gap-2",a),...b}));w.displayName="RadioGroup";let x=s().forwardRef(({className:a,...b},c)=>(0,q.jsx)(t.q7,{ref:c,className:(0,v.cn)("aspect-square h-4 w-4 shrink-0 cursor-pointer rounded-full border border-input bg-surface text-accent-600 shadow-sm","focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2","disabled:cursor-not-allowed disabled:opacity-50","data-[state=checked]:border-accent-600",a),...b,children:(0,q.jsx)(t.C1,{className:"flex items-center justify-center",children:(0,q.jsx)(u.A,{className:"h-2 w-2 fill-accent-600 text-accent-600","aria-hidden":"true"})})}));x.displayName="RadioGroupItem";var y=c(34592),z=c(39567),A=c(85351),B=c(82042),C=c(71613),D=c(11010);let E=z.bL;z.YJ;let F=z.WT,G=s().forwardRef(({className:a,children:b,...c},d)=>(0,q.jsxs)(z.l9,{ref:d,className:(0,v.cn)("flex h-9 w-full items-center justify-between gap-2 rounded-md border border-input bg-surface dark:bg-surface-2 px-3 py-2 text-sm text-surface-foreground shadow-sm","placeholder:text-muted-foreground","focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:border-ring","disabled:cursor-not-allowed disabled:opacity-50","[&>span]:line-clamp-1",a),...c,children:[b,(0,q.jsx)(z.In,{asChild:!0,children:(0,q.jsx)(A.A,{size:16,className:"opacity-60","aria-hidden":"true"})})]}));G.displayName="SelectTrigger";let H=s().forwardRef(({className:a,children:b,position:c="popper",...d},e)=>(0,q.jsx)(z.ZL,{children:(0,q.jsxs)(z.UC,{ref:e,position:c,style:{zIndex:D.M.POPOVER},className:(0,v.cn)("relative max-h-[--radix-select-content-available-height] min-w-[8rem] overflow-hidden rounded-md border border-border bg-surface text-surface-foreground shadow-lg","data-[state=open]:animate-in data-[state=closed]:animate-out","data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0","data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95","data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2","data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2","popper"===c&&"data-[side=bottom]:translate-y-1 data-[side=top]:-translate-y-1",a),...d,children:[(0,q.jsx)(z.PP,{className:"flex h-6 items-center justify-center",children:(0,q.jsx)(B.A,{size:16,"aria-hidden":"true"})}),(0,q.jsx)(z.LM,{className:(0,v.cn)("p-1","popper"===c&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]"),children:b}),(0,q.jsx)(z.wn,{className:"flex h-6 items-center justify-center",children:(0,q.jsx)(A.A,{size:16,"aria-hidden":"true"})})]})}));H.displayName="SelectContent",s().forwardRef(({className:a,...b},c)=>(0,q.jsx)(z.JU,{ref:c,className:(0,v.cn)("px-2 py-1.5 text-xs font-semibold text-muted-foreground",a),...b})).displayName="SelectLabel";let I=s().forwardRef(({className:a,children:b,...c},d)=>(0,q.jsxs)(z.q7,{ref:d,className:(0,v.cn)("relative flex w-full cursor-pointer select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none","focus:bg-muted focus:text-surface-foreground","data-[disabled]:pointer-events-none data-[disabled]:opacity-50",a),...c,children:[(0,q.jsx)("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:(0,q.jsx)(z.VF,{children:(0,q.jsx)(C.A,{size:16,"aria-hidden":"true"})})}),(0,q.jsx)(z.p4,{children:b})]}));I.displayName="SelectItem",s().forwardRef(({className:a,...b},c)=>(0,q.jsx)(z.wv,{ref:c,className:(0,v.cn)("-mx-1 my-1 h-px bg-border",a),...b})).displayName="SelectSeparator";var J=c(16992);J.Kq,J.bL,J.l9,s().forwardRef(({className:a,sideOffset:b=4,children:c,...d},e)=>(0,q.jsx)(J.ZL,{children:(0,q.jsxs)(J.UC,{ref:e,sideOffset:b,style:{zIndex:D.M.POPOVER},className:(0,v.cn)("overflow-hidden rounded-md bg-foreground px-2.5 py-1.5 text-xs text-background shadow-md","animate-in fade-in-0 zoom-in-95","data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95","data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2","data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",a),...d,children:[c,(0,q.jsx)(J.i3,{className:"fill-foreground"})]})})).displayName="TooltipContent",c(10290),c(85647)},86634:(a,b,c)=>{Promise.resolve().then(c.bind(c,37397))},89184:(a,b,c)=>{"use strict";c.d(b,{K:()=>h,S:()=>g});var d=c(21124),e=c(38301);let f=(0,e.createContext)({open:!1,setOpen:()=>{},toggle:()=>{}});function g({children:a}){let[b,c]=(0,e.useState)(!1),g=(0,e.useCallback)(()=>c(a=>!a),[]),h=(0,e.useMemo)(()=>({open:b,setOpen:c,toggle:g}),[b,g]);return(0,d.jsx)(f.Provider,{value:h,children:a})}function h(){return(0,e.useContext)(f)}},89877:(a,b,c)=>{"use strict";c.d(b,{pu:()=>j,A7:()=>l,kA:()=>f,dw:()=>m,Pn:()=>n,px:()=>g,XK:()=>p});var d=c(17252),e=c(89907);function f(a){return a?a.isWaitingForResponse?"waiting":a.isProcessing?"running":a.isRunning?"ready":"idle":"idle"}function g(a){return a?.isUnclassified===!0&&"ready"===f(a)}let h={start:"nextAction.start",sendMessage:"nextAction.sendMessage",approveReject:"nextAction.approveReject",replyToPrompt:"nextAction.replyToPrompt",checkStalled:"nextAction.checkStalled",running:"nextAction.running"},i="exited",j="unknown",k={idle:null,ready:"ready",running:"running",generating:"running",waiting:"waiting"};function l(a){if(!a)return"idle";let b=Object.values(a).filter(a=>void 0!==a);return 0===b.length?"idle":b.includes("waiting")?"waiting":b.includes("running")?"running":b.includes("generating")?"generating":b.includes("ready")?"ready":"idle"}function m(a,b,c,e){return a?Object.entries(a).map(([a,f])=>{let g=b?.[a]??(0,d.f_)(a,a),h=c?.(a),i="ready"===f&&e?.has(a)?j:f??"idle";return`${g}: ${i}${h?` (${h})`:""}`}).join(", "):""}function n(a,b){return!!a&&!!b&&0!==b.length&&"ready"===l(a)&&b.some(b=>"ready"===a[b])}let o=["prompt","menu","unclassified"];function p(a){var b,c;let j=f(void 0!==a.isSessionRunning?{isRunning:a.isSessionRunning??!1,isWaitingForResponse:a.isWaitingForResponse??!1,isProcessing:a.isProcessing??!1}:void 0),m=!!a.lastAssistantMessageAt&&(!a.lastViewedAt||new Date(a.lastAssistantMessageAt)>new Date(a.lastViewedAt)),{cliStatus:p,cliStatusLabels:q,exitedInstanceIds:r,unclassifiedInstanceIds:s}=function(a){let b={},c={},h=[],j=[],k=a.sessionStatusByInstance;if(!k){for(let k of a.selectedAgents??(0,e.sA)())b[k]=f(a.sessionStatusByCli?.[k]),c[k]=(0,d.oo)(k),a.sessionStatusByCli?.[k]?.sessionStatusReason===i&&h.push(k),g(a.sessionStatusByCli?.[k])&&j.push(k);return{cliStatus:b,cliStatusLabels:c,exitedInstanceIds:h,unclassifiedInstanceIds:j}}let l=a.agentInstances&&a.agentInstances.length>0?a.agentInstances:(0,d.lu)(a.selectedAgents??(0,e.sA)()),m=new Set;for(let a of l)m.add(a.id),b[a.id]=f(k[a.id]),c[a.id]=(0,d.sw)(a),k[a.id]?.sessionStatusReason===i&&h.push(a.id),g(k[a.id])&&j.push(a.id);for(let[a,e]of Object.entries(k)){if(m.has(a))continue;let h=f(e);"idle"!==h&&(b[a]=h,c[a]=function(a){let b=d.XH.find(b=>a.startsWith(`${b}-`));if(b){let c=a.slice(b.length+1);return`${(0,d.oo)(b)} ${c}`}return(0,d.f_)(a,a)}(a),g(e)&&j.push(a))}return{cliStatus:b,cliStatusLabels:c,exitedInstanceIds:h,unclassifiedInstanceIds:j}}(a),t=l(p),{waitingKind:u,awaitingInstruction:v}=function(a){let b=Object.values(a.sessionStatusByInstance??a.sessionStatusByCli??{}).filter(a=>void 0!==a),c=!1,d=new Set;for(let a of b)a.awaitingInstruction&&(c=!0),a.waitingKind&&d.add(a.waitingKind);return{waitingKind:o.find(a=>d.has(a))??null,awaitingInstruction:c}}(a),w=n(p,s);return{id:a.id,name:a.name,repositoryName:a.repositoryDisplayName??a.repositoryName,status:j,hasUnread:m,lastActivity:a.updatedAt,lastActivityByInstance:a.lastActivityByInstance,description:a.description,cliStatus:p,cliStatusLabels:q,exitedInstanceIds:r,unclassifiedInstanceIds:s,worktreePath:a.path,worktreeStatus:a.status??null,waitingKind:u,awaitingInstruction:v,nextActionKey:w?void 0:(b=k[t],c="waiting"===t?"approval":null,b&&"idle"!==b?"ready"===b?h.sendMessage:"waiting"===b&&"approval"===c?h.approveReject:"waiting"===b?h.replyToPrompt:(0,h.running):h.start)}}},89907:(a,b,c)=>{"use strict";c.d(b,{IK:()=>i,qD:()=>l,sA:()=>h,zk:()=>e});var d=c(4267);let e="/api/settings/default-agents",f=d.fJ,g=new Set;function h(){return f}function i(a){if(!Array.isArray(a))return!1;let b=(0,d.Lt)(a);if(!b.valid)return!1;let c=b.value;if(c.length===f.length&&c.every((a,b)=>a===f[b]))return!1;for(let a of(f=c,g))a();return!0}let j=null,k=!1;async function l(){return k?f:j||("function"!=typeof fetch?f:j=(async()=>{try{let a=await fetch(e);if(a.ok){let b=await a.json();i(b?.defaultSelectedAgents),k=!0}}catch{}finally{j=null}return f})())}},90076:(a,b,c)=>{"use strict";c.d(b,{D:()=>f,a:()=>g});var d=c(38301);let e=d.useEffect,f=768;function g(a={}){let{breakpoint:b=f}=a,[c,h]=(0,d.useState)(!1);return e(()=>{let a=window.matchMedia(`(max-width: ${b-1}px)`);h(a.matches);let c=a=>{h(a.matches)};return a.addEventListener("change",c),()=>{a.removeEventListener("change",c)}},[b]),c}},90102:(a,b,c)=>{"use strict";c.d(b,{o:()=>f});var d=c(38301),e=c(19463);function f(){return!function(){let{count:a}=(0,e.Lv)();(0,d.useRef)([]),(0,d.useRef)(null)}(),null}},90338:(a,b,c)=>{var d={"./en/worktree.json":[72119,2119],"./ja/worktree.json":[52445,2445]};function e(a){if(!c.o(d,a))return Promise.resolve().then(()=>{var b=Error("Cannot find module '"+a+"'");throw b.code="MODULE_NOT_FOUND",b});var b=d[a],e=b[0];return c.e(b[1]).then(()=>c.t(e,19))}e.keys=()=>Object.keys(d),e.id=90338,a.exports=e},91786:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,23597,23)),Promise.resolve().then(c.t.bind(c,36893,23)),Promise.resolve().then(c.t.bind(c,89748,23)),Promise.resolve().then(c.t.bind(c,6060,23)),Promise.resolve().then(c.t.bind(c,7184,23)),Promise.resolve().then(c.t.bind(c,69576,23)),Promise.resolve().then(c.t.bind(c,73041,23)),Promise.resolve().then(c.t.bind(c,51384,23))},94260:(a,b,c)=>{"use strict";c.d(b,{$:()=>i});var d=c(21124);c(38301);var e=c(26691),f=c(35595),g=c(17793);let h=(0,e.F)("inline-flex items-center justify-center px-4 py-2 rounded-md font-medium transition-all duration-200 touch-manipulation focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 ring-offset-background",{variants:{variant:{primary:"bg-accent-600 dark:bg-accent-500 text-white hover:bg-accent-700 dark:hover:bg-accent-600",secondary:"bg-muted text-foreground hover:bg-muted/80",danger:"bg-danger text-white hover:bg-danger/90",ghost:"bg-transparent text-foreground hover:bg-muted"},size:{sm:"px-3 py-1.5 text-sm",md:"",lg:"px-6 py-3 text-lg"},fullWidth:{true:"w-full",false:""}},defaultVariants:{variant:"primary",size:"md",fullWidth:!1}});function i({variant:a="primary",size:b="md",fullWidth:c=!1,loading:e=!1,disabled:i,className:j="",children:k,...l}){let m=i||e,n=(0,f.cn)(h({variant:a,size:b,fullWidth:c}),!m&&"motion-safe:hover:-translate-y-0.5 motion-safe:active:translate-y-0",m&&"opacity-50 cursor-not-allowed",j);return(0,d.jsxs)("button",{className:n,disabled:m,...l,children:[e&&(0,d.jsx)(g.y,{size:"sm",className:"-ml-1 mr-2"}),k]})}},94650:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>e});var d=c(97523);let e=async a=>[{type:"image/png",sizes:"180x180",url:(0,d.fillMetadataSegment)(".",await a.params,"apple-icon.png")+"?31a89e65aa4ac65b"}]},95239:(a,b,c)=>{"use strict";c.d(b,{D:()=>f});var d=c(38301),e=c(32482);function f(a){let{items:b,sortKey:c,sortDirection:f,viewMode:g,filterText:h}=a,i=(0,d.useMemo)(()=>{if(!h)return b;let a=h.toLowerCase();return b.filter(b=>b.name.toLowerCase().includes(a)||b.repositoryName.toLowerCase().includes(a))},[b,h]);return{sortedItems:(0,d.useMemo)(()=>(0,e.Xn)(i,c,f),[i,c,f]),groupedItems:(0,d.useMemo)(()=>"grouped"===g?(0,e._s)(i,c,f):[],[i,c,f,g])}}},95427:(a,b,c)=>{"use strict";c.d(b,{r:()=>e});var d=c(38301);function e(a={}){let{active:b=!0,initialFocus:c=!0,restoreFocus:f=!0}=a;return(0,d.useRef)(null)}},95779:(a,b,c)=>{"use strict";c.d(b,{S:()=>k});var d=c(21124),e=c(38301),f=c.n(e),g=c(89339),h=c(51881),i=c(71613),j=c(35595);let k=f().forwardRef(({className:a,...b},c)=>(0,d.jsx)(g.bL,{ref:c,className:(0,j.cn)("peer inline-flex h-4 w-4 shrink-0 cursor-pointer items-center justify-center rounded-sm border border-input bg-surface text-surface-foreground shadow-sm transition-colors","focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2","disabled:cursor-not-allowed disabled:opacity-50","data-[state=checked]:border-accent-600 data-[state=checked]:bg-accent-600 data-[state=checked]:text-white","data-[state=indeterminate]:border-accent-600 data-[state=indeterminate]:bg-accent-600 data-[state=indeterminate]:text-white",a),...b,children:(0,d.jsx)(g.C1,{className:"flex items-center justify-center text-current",children:"indeterminate"===b.checked?(0,d.jsx)(h.A,{className:"h-3 w-3",strokeWidth:3,"aria-hidden":"true"}):(0,d.jsx)(i.A,{className:"h-3 w-3",strokeWidth:3,"aria-hidden":"true"})})}));k.displayName="Checkbox"},96823:(a,b,c)=>{"use strict";c.d(b,{Ql:()=>f,qG:()=>e});var d=c(38301);function e(){let[a,b]=(0,d.useState)(!0);return{enabled:a,setEnabled:(0,d.useCallback)(a=>{b(a)},[])}}function f(){let[a,b]=(0,d.useState)(!1);return{enabled:a,setEnabled:(0,d.useCallback)(a=>{b(a)},[])}}},96908:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>h});var d=c(21124),e=c(38301),f=c(20481),g=c(35914);function h({error:a,reset:b}){let c=(0,f.c)("error"),h=(0,f.c)("common"),i=(0,g.oz)(a),[j,k]=(0,e.useState)(!1),l=c(j?"chunkOffline.title":i?"chunkReload.title":"unexpected.title"),m=c(j?"chunkOffline.description":i?"chunkReload.description":"unexpected.description");return(0,d.jsxs)("main",{"data-testid":"app-error","data-error-kind":j?"chunk-offline":i?"chunk-reload":"unexpected",className:"flex min-h-full flex-col items-center justify-center gap-6 bg-background px-6 pt-safe pb-safe text-center",children:[(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsx)("h1",{className:"text-2xl font-semibold text-foreground",children:l}),(0,d.jsx)("p",{className:"mx-auto max-w-sm text-sm text-muted-foreground",children:m}),j&&(0,d.jsx)("p",{className:"mx-auto max-w-sm text-xs text-muted-foreground",role:"status","aria-live":"polite",children:c("chunkOffline.waiting")})]}),(0,d.jsx)("button",{type:"button",onClick:i&&!j?()=>window.location.reload():b,className:"rounded-lg bg-accent-600 px-4 py-2 text-sm font-medium text-white transition-colors hover:bg-accent-700",children:h(i&&!j?"reload":"retry")})]})}c(38557)},98033:(a,b,c)=>{"use strict";c.d(b,{a:()=>o});var d=c(21124),e=c(38301),f=c(23312),g=c(20481),h=c(26691),i=c(11010),j=c(58970),k=c(6074),l=c(95427),m=c(35595);c(72957);let n=(0,h.F)("",{variants:{size:{sm:"max-w-[calc(100vw-2rem)] sm:max-w-md",md:"max-w-[calc(100vw-2rem)] sm:max-w-2xl",lg:"max-w-[calc(100vw-2rem)] sm:max-w-4xl",xl:"max-w-[calc(100vw-2rem)] sm:max-w-6xl",full:"max-w-[calc(100vw-2rem)] sm:max-w-[95vw]"}},defaultVariants:{size:"lg"}});function o({isOpen:a,onClose:b,title:c,children:h,size:o="lg",showCloseButton:p=!0,disableClose:q=!1}){let r=(0,g.c)("common"),s=(0,e.useId)(),t=(0,l.r)({active:a}),{shouldRender:u,isExiting:v}=(0,k.O)(a,j.Ys),w=v?"closed":"open",x=(0,e.useRef)(!1),y=(0,e.useRef)(!1);return u?(0,f.createPortal)((0,d.jsxs)("div",{className:"fixed inset-0 overflow-y-auto",style:{zIndex:i.M.MODAL},children:[(0,d.jsx)("div",{"data-state":w,"aria-hidden":"true",className:"fixed inset-0 bg-black/50 transition-opacity data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:duration-200 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:duration-200 data-[state=closed]:fill-mode-forwards"}),(0,d.jsx)("div",{"data-testid":"modal-backdrop-surface",className:"relative flex min-h-full items-center justify-center p-2 sm:p-4",onMouseDown:a=>{x.current=a.target===a.currentTarget},onMouseUp:a=>{y.current=a.target===a.currentTarget},onClick:a=>{let c=x.current,d=y.current;x.current=!1,y.current=!1,c&&d&&!q&&!v&&a.target===a.currentTarget&&b()},children:(0,d.jsxs)("div",{ref:t,"data-state":w,"data-testid":"modal-panel",role:"dialog","aria-modal":"true","aria-labelledby":c?s:void 0,tabIndex:-1,className:(0,m.cn)("relative w-full",n({size:o}),"max-h-[calc(100vh-1rem)] sm:max-h-[calc(100vh-2rem)] flex flex-col bg-surface rounded-lg shadow-xl transform transition-all","data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 data-[state=open]:duration-200","data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=closed]:duration-200 data-[state=closed]:fill-mode-forwards"),children:[(c||p)&&(0,d.jsxs)("div",{className:"flex items-center justify-between px-4 sm:px-6 py-3 sm:py-4 border-b border-border flex-shrink-0",children:[(0,d.jsx)("h3",{id:s,className:"text-base sm:text-lg font-semibold text-foreground truncate pr-2",children:c}),p&&(0,d.jsx)("button",{onClick:b,"aria-label":r("close"),className:"text-muted-foreground hover:text-foreground transition-colors flex-shrink-0 touch-manipulation",children:(0,d.jsx)("svg",{className:"w-5 h-5 sm:w-6 sm:h-6",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,d.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})})]}),(0,d.jsx)("div",{className:"px-4 sm:px-6 py-3 sm:py-4 overflow-y-auto flex-1 min-h-0",children:h})]})})]}),document.body):null}},99127:(a,b,c)=>{var d={"./en/notifications.json":[49358,9358],"./ja/notifications.json":[61296,1296]};function e(a){if(!c.o(d,a))return Promise.resolve().then(()=>{var b=Error("Cannot find module '"+a+"'");throw b.code="MODULE_NOT_FOUND",b});var b=d[a],e=b[0];return c.e(b[1]).then(()=>c.t(e,19))}e.keys=()=>Object.keys(d),e.id=99127,a.exports=e}};
|
|
44
|
+
- Do not: answer their prompt with respond / turn auto-yes on`}},85744:(a,b,c)=>{"use strict";c.d(b,{g:()=>f});var d=c(55992),e=c(68232);function f(){return{currentLocale:(0,d.Ym)(),switchLocale:a=>{if(e.dI.includes(a)){let b="https:"===window.location.protocol;document.cookie=`${e.gB}=${a};path=/;max-age=31536000;SameSite=Lax${b?";Secure":""}`,localStorage.setItem("locale",a),window.location.reload()}}}}},85866:(a,b,c)=>{"use strict";c.d(b,{Ex:()=>f.E,$n:()=>d.$,Zp:()=>e.Zp,Wu:()=>e.Wu,aR:()=>e.aR,ZB:()=>e.ZB,Sc:()=>p.S,TM:()=>j.TM,nF:()=>g.n,pd:()=>k.p,Jh:()=>i.a,z6:()=>w,CU:()=>x,l6:()=>E,gC:()=>H,eb:()=>I,bq:()=>G,yv:()=>F,EA:()=>m.E,y$:()=>n.y,md:()=>h.m,dO:()=>o.d,tU:()=>y.tU,av:()=>y.av,j7:()=>y.j7,Xi:()=>y.Xi,k_:()=>l.T,j1:()=>k.j,SC:()=>j.SC});var d=c(94260),e=c(31210),f=c(80755),g=c(72280),h=c(22317),i=c(98033),j=c(79782),k=c(30430),l=c(73790),m=c(79689),n=c(17793),o=c(74892),p=c(95779),q=c(21124),r=c(38301),s=c.n(r),t=c(64450),u=c(90133),v=c(35595);let w=s().forwardRef(({className:a,...b},c)=>(0,q.jsx)(t.bL,{ref:c,className:(0,v.cn)("grid gap-2",a),...b}));w.displayName="RadioGroup";let x=s().forwardRef(({className:a,...b},c)=>(0,q.jsx)(t.q7,{ref:c,className:(0,v.cn)("aspect-square h-4 w-4 shrink-0 cursor-pointer rounded-full border border-input bg-surface text-accent-600 shadow-sm","focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2","disabled:cursor-not-allowed disabled:opacity-50","data-[state=checked]:border-accent-600",a),...b,children:(0,q.jsx)(t.C1,{className:"flex items-center justify-center",children:(0,q.jsx)(u.A,{className:"h-2 w-2 fill-accent-600 text-accent-600","aria-hidden":"true"})})}));x.displayName="RadioGroupItem";var y=c(34592),z=c(39567),A=c(85351),B=c(82042),C=c(71613),D=c(11010);let E=z.bL;z.YJ;let F=z.WT,G=s().forwardRef(({className:a,children:b,...c},d)=>(0,q.jsxs)(z.l9,{ref:d,className:(0,v.cn)("flex h-9 w-full items-center justify-between gap-2 rounded-md border border-input bg-surface dark:bg-surface-2 px-3 py-2 text-sm text-surface-foreground shadow-sm","placeholder:text-muted-foreground","focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:border-ring","disabled:cursor-not-allowed disabled:opacity-50","[&>span]:line-clamp-1",a),...c,children:[b,(0,q.jsx)(z.In,{asChild:!0,children:(0,q.jsx)(A.A,{size:16,className:"opacity-60","aria-hidden":"true"})})]}));G.displayName="SelectTrigger";let H=s().forwardRef(({className:a,children:b,position:c="popper",...d},e)=>(0,q.jsx)(z.ZL,{children:(0,q.jsxs)(z.UC,{ref:e,position:c,style:{zIndex:D.M.POPOVER},className:(0,v.cn)("relative max-h-[--radix-select-content-available-height] min-w-[8rem] overflow-hidden rounded-md border border-border bg-surface text-surface-foreground shadow-lg","data-[state=open]:animate-in data-[state=closed]:animate-out","data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0","data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95","data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2","data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2","popper"===c&&"data-[side=bottom]:translate-y-1 data-[side=top]:-translate-y-1",a),...d,children:[(0,q.jsx)(z.PP,{className:"flex h-6 items-center justify-center",children:(0,q.jsx)(B.A,{size:16,"aria-hidden":"true"})}),(0,q.jsx)(z.LM,{className:(0,v.cn)("p-1","popper"===c&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]"),children:b}),(0,q.jsx)(z.wn,{className:"flex h-6 items-center justify-center",children:(0,q.jsx)(A.A,{size:16,"aria-hidden":"true"})})]})}));H.displayName="SelectContent",s().forwardRef(({className:a,...b},c)=>(0,q.jsx)(z.JU,{ref:c,className:(0,v.cn)("px-2 py-1.5 text-xs font-semibold text-muted-foreground",a),...b})).displayName="SelectLabel";let I=s().forwardRef(({className:a,children:b,...c},d)=>(0,q.jsxs)(z.q7,{ref:d,className:(0,v.cn)("relative flex w-full cursor-pointer select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none","focus:bg-muted focus:text-surface-foreground","data-[disabled]:pointer-events-none data-[disabled]:opacity-50",a),...c,children:[(0,q.jsx)("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:(0,q.jsx)(z.VF,{children:(0,q.jsx)(C.A,{size:16,"aria-hidden":"true"})})}),(0,q.jsx)(z.p4,{children:b})]}));I.displayName="SelectItem",s().forwardRef(({className:a,...b},c)=>(0,q.jsx)(z.wv,{ref:c,className:(0,v.cn)("-mx-1 my-1 h-px bg-border",a),...b})).displayName="SelectSeparator";var J=c(16992);J.Kq,J.bL,J.l9,s().forwardRef(({className:a,sideOffset:b=4,children:c,...d},e)=>(0,q.jsx)(J.ZL,{children:(0,q.jsxs)(J.UC,{ref:e,sideOffset:b,style:{zIndex:D.M.POPOVER},className:(0,v.cn)("overflow-hidden rounded-md bg-foreground px-2.5 py-1.5 text-xs text-background shadow-md","animate-in fade-in-0 zoom-in-95","data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95","data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2","data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",a),...d,children:[c,(0,q.jsx)(J.i3,{className:"fill-foreground"})]})})).displayName="TooltipContent",c(10290),c(85647)},86634:(a,b,c)=>{Promise.resolve().then(c.bind(c,37397))},89184:(a,b,c)=>{"use strict";c.d(b,{K:()=>h,S:()=>g});var d=c(21124),e=c(38301);let f=(0,e.createContext)({open:!1,setOpen:()=>{},toggle:()=>{}});function g({children:a}){let[b,c]=(0,e.useState)(!1),g=(0,e.useCallback)(()=>c(a=>!a),[]),h=(0,e.useMemo)(()=>({open:b,setOpen:c,toggle:g}),[b,g]);return(0,d.jsx)(f.Provider,{value:h,children:a})}function h(){return(0,e.useContext)(f)}},89877:(a,b,c)=>{"use strict";c.d(b,{pu:()=>j,A7:()=>l,kA:()=>f,f_:()=>p,dw:()=>m,Pn:()=>n,px:()=>g,XK:()=>q});var d=c(17252),e=c(89907);function f(a){return a?a.isWaitingForResponse?"waiting":a.isProcessing?"running":a.isRunning?"ready":"idle":"idle"}function g(a){return a?.isUnclassified===!0&&"ready"===f(a)}let h={start:"nextAction.start",sendMessage:"nextAction.sendMessage",approveReject:"nextAction.approveReject",replyToPrompt:"nextAction.replyToPrompt",checkStalled:"nextAction.checkStalled",running:"nextAction.running"},i="exited",j="unknown",k={idle:null,ready:"ready",running:"running",generating:"running",waiting:"waiting"};function l(a){if(!a)return"idle";let b=Object.values(a).filter(a=>void 0!==a);return 0===b.length?"idle":b.includes("waiting")?"waiting":b.includes("running")?"running":b.includes("generating")?"generating":b.includes("ready")?"ready":"idle"}function m(a,b,c,e){return a?Object.entries(a).map(([a,f])=>{let g=b?.[a]??(0,d.f_)(a,a),h=c?.(a),i="ready"===f&&e?.has(a)?j:f??"idle";return`${g}: ${i}${h?` (${h})`:""}`}).join(", "):""}function n(a,b){return!!a&&!!b&&0!==b.length&&"ready"===l(a)&&b.some(b=>"ready"===a[b])}let o=["prompt","menu","unclassified"];function p(a){let b=Object.values(a.sessionStatusByInstance??a.sessionStatusByCli??{}).filter(a=>void 0!==a),c=!1,d=new Set;for(let a of b)a.awaitingInstruction&&(c=!0),a.waitingKind&&d.add(a.waitingKind);return{waitingKind:o.find(a=>d.has(a))??null,awaitingInstruction:c}}function q(a){var b,c;let j=f(void 0!==a.isSessionRunning?{isRunning:a.isSessionRunning??!1,isWaitingForResponse:a.isWaitingForResponse??!1,isProcessing:a.isProcessing??!1}:void 0),m=!!a.lastAssistantMessageAt&&(!a.lastViewedAt||new Date(a.lastAssistantMessageAt)>new Date(a.lastViewedAt)),{cliStatus:o,cliStatusLabels:q,exitedInstanceIds:r,unclassifiedInstanceIds:s}=function(a){let b={},c={},h=[],j=[],k=a.sessionStatusByInstance;if(!k){for(let k of a.selectedAgents??(0,e.sA)())b[k]=f(a.sessionStatusByCli?.[k]),c[k]=(0,d.oo)(k),a.sessionStatusByCli?.[k]?.sessionStatusReason===i&&h.push(k),g(a.sessionStatusByCli?.[k])&&j.push(k);return{cliStatus:b,cliStatusLabels:c,exitedInstanceIds:h,unclassifiedInstanceIds:j}}let l=a.agentInstances&&a.agentInstances.length>0?a.agentInstances:(0,d.lu)(a.selectedAgents??(0,e.sA)()),m=new Set;for(let a of l)m.add(a.id),b[a.id]=f(k[a.id]),c[a.id]=(0,d.sw)(a),k[a.id]?.sessionStatusReason===i&&h.push(a.id),g(k[a.id])&&j.push(a.id);for(let[a,e]of Object.entries(k)){if(m.has(a))continue;let h=f(e);"idle"!==h&&(b[a]=h,c[a]=function(a){let b=d.XH.find(b=>a.startsWith(`${b}-`));if(b){let c=a.slice(b.length+1);return`${(0,d.oo)(b)} ${c}`}return(0,d.f_)(a,a)}(a),g(e)&&j.push(a))}return{cliStatus:b,cliStatusLabels:c,exitedInstanceIds:h,unclassifiedInstanceIds:j}}(a),t=l(o),{waitingKind:u,awaitingInstruction:v}=p(a),w=n(o,s);return{id:a.id,name:a.name,repositoryName:a.repositoryDisplayName??a.repositoryName,status:j,hasUnread:m,lastActivity:a.updatedAt,lastActivityByInstance:a.lastActivityByInstance,description:a.description,cliStatus:o,cliStatusLabels:q,exitedInstanceIds:r,unclassifiedInstanceIds:s,worktreePath:a.path,worktreeStatus:a.status??null,waitingKind:u,awaitingInstruction:v,nextActionKey:w?void 0:(b=k[t],c="waiting"===t?"approval":null,b&&"idle"!==b?"ready"===b?h.sendMessage:"waiting"===b&&"approval"===c?h.approveReject:"waiting"===b?h.replyToPrompt:(0,h.running):h.start)}}},89907:(a,b,c)=>{"use strict";c.d(b,{IK:()=>i,qD:()=>l,sA:()=>h,zk:()=>e});var d=c(4267);let e="/api/settings/default-agents",f=d.fJ,g=new Set;function h(){return f}function i(a){if(!Array.isArray(a))return!1;let b=(0,d.Lt)(a);if(!b.valid)return!1;let c=b.value;if(c.length===f.length&&c.every((a,b)=>a===f[b]))return!1;for(let a of(f=c,g))a();return!0}let j=null,k=!1;async function l(){return k?f:j||("function"!=typeof fetch?f:j=(async()=>{try{let a=await fetch(e);if(a.ok){let b=await a.json();i(b?.defaultSelectedAgents),k=!0}}catch{}finally{j=null}return f})())}},90076:(a,b,c)=>{"use strict";c.d(b,{D:()=>f,a:()=>g});var d=c(38301);let e=d.useEffect,f=768;function g(a={}){let{breakpoint:b=f}=a,[c,h]=(0,d.useState)(!1);return e(()=>{let a=window.matchMedia(`(max-width: ${b-1}px)`);h(a.matches);let c=a=>{h(a.matches)};return a.addEventListener("change",c),()=>{a.removeEventListener("change",c)}},[b]),c}},90102:(a,b,c)=>{"use strict";c.d(b,{o:()=>f});var d=c(38301),e=c(19463);function f(){return!function(){let{count:a}=(0,e.Lv)();(0,d.useRef)([]),(0,d.useRef)(null)}(),null}},90338:(a,b,c)=>{var d={"./en/worktree.json":[72119,2119],"./ja/worktree.json":[52445,2445]};function e(a){if(!c.o(d,a))return Promise.resolve().then(()=>{var b=Error("Cannot find module '"+a+"'");throw b.code="MODULE_NOT_FOUND",b});var b=d[a],e=b[0];return c.e(b[1]).then(()=>c.t(e,19))}e.keys=()=>Object.keys(d),e.id=90338,a.exports=e},91786:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,23597,23)),Promise.resolve().then(c.t.bind(c,36893,23)),Promise.resolve().then(c.t.bind(c,89748,23)),Promise.resolve().then(c.t.bind(c,6060,23)),Promise.resolve().then(c.t.bind(c,7184,23)),Promise.resolve().then(c.t.bind(c,69576,23)),Promise.resolve().then(c.t.bind(c,73041,23)),Promise.resolve().then(c.t.bind(c,51384,23))},94260:(a,b,c)=>{"use strict";c.d(b,{$:()=>i});var d=c(21124);c(38301);var e=c(26691),f=c(35595),g=c(17793);let h=(0,e.F)("inline-flex items-center justify-center px-4 py-2 rounded-md font-medium transition-all duration-200 touch-manipulation focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 ring-offset-background",{variants:{variant:{primary:"bg-accent-600 dark:bg-accent-500 text-white hover:bg-accent-700 dark:hover:bg-accent-600",secondary:"bg-muted text-foreground hover:bg-muted/80",danger:"bg-danger text-white hover:bg-danger/90",ghost:"bg-transparent text-foreground hover:bg-muted"},size:{sm:"px-3 py-1.5 text-sm",md:"",lg:"px-6 py-3 text-lg"},fullWidth:{true:"w-full",false:""}},defaultVariants:{variant:"primary",size:"md",fullWidth:!1}});function i({variant:a="primary",size:b="md",fullWidth:c=!1,loading:e=!1,disabled:i,className:j="",children:k,...l}){let m=i||e,n=(0,f.cn)(h({variant:a,size:b,fullWidth:c}),!m&&"motion-safe:hover:-translate-y-0.5 motion-safe:active:translate-y-0",m&&"opacity-50 cursor-not-allowed",j);return(0,d.jsxs)("button",{className:n,disabled:m,...l,children:[e&&(0,d.jsx)(g.y,{size:"sm",className:"-ml-1 mr-2"}),k]})}},94650:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>e});var d=c(97523);let e=async a=>[{type:"image/png",sizes:"180x180",url:(0,d.fillMetadataSegment)(".",await a.params,"apple-icon.png")+"?31a89e65aa4ac65b"}]},95239:(a,b,c)=>{"use strict";c.d(b,{D:()=>f});var d=c(38301),e=c(32482);function f(a){let{items:b,sortKey:c,sortDirection:f,viewMode:g,filterText:h}=a,i=(0,d.useMemo)(()=>{if(!h)return b;let a=h.toLowerCase();return b.filter(b=>b.name.toLowerCase().includes(a)||b.repositoryName.toLowerCase().includes(a))},[b,h]);return{sortedItems:(0,d.useMemo)(()=>(0,e.Xn)(i,c,f),[i,c,f]),groupedItems:(0,d.useMemo)(()=>"grouped"===g?(0,e._s)(i,c,f):[],[i,c,f,g])}}},95427:(a,b,c)=>{"use strict";c.d(b,{r:()=>e});var d=c(38301);function e(a={}){let{active:b=!0,initialFocus:c=!0,restoreFocus:f=!0}=a;return(0,d.useRef)(null)}},95779:(a,b,c)=>{"use strict";c.d(b,{S:()=>k});var d=c(21124),e=c(38301),f=c.n(e),g=c(89339),h=c(51881),i=c(71613),j=c(35595);let k=f().forwardRef(({className:a,...b},c)=>(0,d.jsx)(g.bL,{ref:c,className:(0,j.cn)("peer inline-flex h-4 w-4 shrink-0 cursor-pointer items-center justify-center rounded-sm border border-input bg-surface text-surface-foreground shadow-sm transition-colors","focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2","disabled:cursor-not-allowed disabled:opacity-50","data-[state=checked]:border-accent-600 data-[state=checked]:bg-accent-600 data-[state=checked]:text-white","data-[state=indeterminate]:border-accent-600 data-[state=indeterminate]:bg-accent-600 data-[state=indeterminate]:text-white",a),...b,children:(0,d.jsx)(g.C1,{className:"flex items-center justify-center text-current",children:"indeterminate"===b.checked?(0,d.jsx)(h.A,{className:"h-3 w-3",strokeWidth:3,"aria-hidden":"true"}):(0,d.jsx)(i.A,{className:"h-3 w-3",strokeWidth:3,"aria-hidden":"true"})})}));k.displayName="Checkbox"},96823:(a,b,c)=>{"use strict";c.d(b,{Ql:()=>f,qG:()=>e});var d=c(38301);function e(){let[a,b]=(0,d.useState)(!0);return{enabled:a,setEnabled:(0,d.useCallback)(a=>{b(a)},[])}}function f(){let[a,b]=(0,d.useState)(!1);return{enabled:a,setEnabled:(0,d.useCallback)(a=>{b(a)},[])}}},96908:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>h});var d=c(21124),e=c(38301),f=c(20481),g=c(35914);function h({error:a,reset:b}){let c=(0,f.c)("error"),h=(0,f.c)("common"),i=(0,g.oz)(a),[j,k]=(0,e.useState)(!1),l=c(j?"chunkOffline.title":i?"chunkReload.title":"unexpected.title"),m=c(j?"chunkOffline.description":i?"chunkReload.description":"unexpected.description");return(0,d.jsxs)("main",{"data-testid":"app-error","data-error-kind":j?"chunk-offline":i?"chunk-reload":"unexpected",className:"flex min-h-full flex-col items-center justify-center gap-6 bg-background px-6 pt-safe pb-safe text-center",children:[(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsx)("h1",{className:"text-2xl font-semibold text-foreground",children:l}),(0,d.jsx)("p",{className:"mx-auto max-w-sm text-sm text-muted-foreground",children:m}),j&&(0,d.jsx)("p",{className:"mx-auto max-w-sm text-xs text-muted-foreground",role:"status","aria-live":"polite",children:c("chunkOffline.waiting")})]}),(0,d.jsx)("button",{type:"button",onClick:i&&!j?()=>window.location.reload():b,className:"rounded-lg bg-accent-600 px-4 py-2 text-sm font-medium text-white transition-colors hover:bg-accent-700",children:h(i&&!j?"reload":"retry")})]})}c(38557)},98033:(a,b,c)=>{"use strict";c.d(b,{a:()=>o});var d=c(21124),e=c(38301),f=c(23312),g=c(20481),h=c(26691),i=c(11010),j=c(58970),k=c(6074),l=c(95427),m=c(35595);c(72957);let n=(0,h.F)("",{variants:{size:{sm:"max-w-[calc(100vw-2rem)] sm:max-w-md",md:"max-w-[calc(100vw-2rem)] sm:max-w-2xl",lg:"max-w-[calc(100vw-2rem)] sm:max-w-4xl",xl:"max-w-[calc(100vw-2rem)] sm:max-w-6xl",full:"max-w-[calc(100vw-2rem)] sm:max-w-[95vw]"}},defaultVariants:{size:"lg"}});function o({isOpen:a,onClose:b,title:c,children:h,size:o="lg",showCloseButton:p=!0,disableClose:q=!1}){let r=(0,g.c)("common"),s=(0,e.useId)(),t=(0,l.r)({active:a}),{shouldRender:u,isExiting:v}=(0,k.O)(a,j.Ys),w=v?"closed":"open",x=(0,e.useRef)(!1),y=(0,e.useRef)(!1);return u?(0,f.createPortal)((0,d.jsxs)("div",{className:"fixed inset-0 overflow-y-auto",style:{zIndex:i.M.MODAL},children:[(0,d.jsx)("div",{"data-state":w,"aria-hidden":"true",className:"fixed inset-0 bg-black/50 transition-opacity data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:duration-200 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:duration-200 data-[state=closed]:fill-mode-forwards"}),(0,d.jsx)("div",{"data-testid":"modal-backdrop-surface",className:"relative flex min-h-full items-center justify-center p-2 sm:p-4",onMouseDown:a=>{x.current=a.target===a.currentTarget},onMouseUp:a=>{y.current=a.target===a.currentTarget},onClick:a=>{let c=x.current,d=y.current;x.current=!1,y.current=!1,c&&d&&!q&&!v&&a.target===a.currentTarget&&b()},children:(0,d.jsxs)("div",{ref:t,"data-state":w,"data-testid":"modal-panel",role:"dialog","aria-modal":"true","aria-labelledby":c?s:void 0,tabIndex:-1,className:(0,m.cn)("relative w-full",n({size:o}),"max-h-[calc(100vh-1rem)] sm:max-h-[calc(100vh-2rem)] flex flex-col bg-surface rounded-lg shadow-xl transform transition-all","data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 data-[state=open]:duration-200","data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=closed]:duration-200 data-[state=closed]:fill-mode-forwards"),children:[(c||p)&&(0,d.jsxs)("div",{className:"flex items-center justify-between px-4 sm:px-6 py-3 sm:py-4 border-b border-border flex-shrink-0",children:[(0,d.jsx)("h3",{id:s,className:"text-base sm:text-lg font-semibold text-foreground truncate pr-2",children:c}),p&&(0,d.jsx)("button",{onClick:b,"aria-label":r("close"),className:"text-muted-foreground hover:text-foreground transition-colors flex-shrink-0 touch-manipulation",children:(0,d.jsx)("svg",{className:"w-5 h-5 sm:w-6 sm:h-6",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,d.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})})]}),(0,d.jsx)("div",{className:"px-4 sm:px-6 py-3 sm:py-4 overflow-y-auto flex-1 min-h-0",children:h})]})})]}),document.body):null}},98058:(a,b,c)=>{"use strict";c.d(b,{AppShellGate:()=>bH});var d=c(21124),e=c(42378),f=c(38301),g=c.n(f),h=c(81092),i=c(90076);let j={showSidebar:!0,showGlobalNav:!0,showLocalNav:!1,autoCollapseSidebar:!1},k=[{prefix:"/worktrees/",config:{showGlobalNav:!1,showLocalNav:!0}},{prefix:"/sessions",config:{autoCollapseSidebar:!0}}];var l=c(5772),m=c(3991),n=c.n(m),o=c(52761);let p=(0,f.forwardRef)(function({href:a,onClick:b,target:c,...f},g){let h=(0,e.usePathname)(),i=(0,o.Hq)();return(0,d.jsx)(n(),{ref:g,href:a,target:c,onClick:d=>{var e;b?.(d),d.defaultPrevented||0!==(e=d).button||e.metaKey||e.ctrlKey||e.shiftKey||e.altKey||void 0!==c&&"_self"!==c||/^([a-z][a-z0-9+.-]*:)?\/\//i.test(a)||/^(mailto:|tel:)/i.test(a)||(d.preventDefault(),a!==h&&i.push(a))},...f})});var q=c(20481),r=c(75903),s=c(65828),t=c(59268),u=c(94684),v=c(10366),w=c(99615),x=c(22023),y=c(47817),z=c(38812),A=c(1637),B=c(72380),C=c(77560),D=c(89877);let E=(0,f.memo)(function({worktrees:a,visibleWorktreeIds:b,selectedWorktreeId:c,onSelect:e,onNavigate:f}){let g=(0,q.c)("common"),h=a.length;if(0===h)return null;let i=a.slice(0,3),j=h-i.length;return(0,d.jsxs)("section",{"data-testid":"sidebar-needs-attention","aria-label":g("sidebar.needsAttention"),className:"flex-shrink-0 px-2 pt-3",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2 px-2 pb-1 text-xs text-sidebar-muted",children:[(0,d.jsx)("span",{className:"min-w-0 flex-1 truncate",children:g("sidebar.needsAttention")}),(0,d.jsx)("span",{"data-testid":"sidebar-needs-attention-count","aria-label":g("attention.badgeLabel",{count:h}),className:"flex-shrink-0 rounded-full bg-warning-subtle px-1.5 font-semibold leading-5 tabular-nums text-warning-foreground",children:h>99?"99+":h})]}),(0,d.jsx)("ul",{className:"space-y-0.5",children:i.map(a=>{let f=(0,D.XK)(a),h=!b.has(a.id),i=a.id===c;return(0,d.jsx)("li",{children:(0,d.jsxs)("button",{type:"button","data-testid":"sidebar-attention-item","data-hidden-repository":h?"true":void 0,onClick:()=>e(a.id),"aria-current":i?"true":void 0,title:`${f.name} \xb7 ${f.repositoryName}`,className:`flex h-[34px] w-full min-w-0 items-center gap-2 rounded-md px-2 text-left transition-colors hover:bg-sidebar-hover focus:outline-none focus-visible:ring-2 focus-visible:ring-ring ${i?"bg-sidebar-hover":""}`,children:[(0,d.jsx)("span",{className:"flex w-4 flex-shrink-0 items-center justify-center",children:(0,d.jsx)(A.Ej,{status:"waiting",waitingKind:f.waitingKind})}),(0,d.jsx)("span",{className:"min-w-0 flex-1 truncate text-sm text-sidebar-foreground",children:f.name}),(0,d.jsx)("span",{className:"min-w-0 max-w-[40%] flex-shrink truncate text-xs text-sidebar-muted",children:f.repositoryName}),h&&(0,d.jsx)(B.A,{"data-testid":"sidebar-attention-hidden-repository",className:"h-3.5 w-3.5 flex-shrink-0 text-sidebar-muted","aria-label":g("sidebar.hiddenRepository"),role:"img"})]})},a.id)})}),(0,d.jsx)(p,{href:C.ks,"data-testid":"sidebar-needs-attention-review-link",onClick:f,className:"mt-0.5 flex min-w-0 items-center rounded-md px-2 py-1 text-xs text-sidebar-muted transition-colors hover:bg-sidebar-hover hover:text-sidebar-foreground focus:outline-none focus-visible:ring-2 focus-visible:ring-ring",children:(0,d.jsx)("span",{className:"min-w-0 truncate",children:j>0?g("sidebar.attentionMoreInReview",{count:j}):g("sidebar.openInReview")})})]})}),F=(0,f.memo)(function({branches:a,selectedWorktreeId:b,onBranchClick:c,forceExpanded:e}){let g=(0,q.c)("common"),[h,i]=(0,f.useState)(!1),j=e||h;return(0,d.jsxs)("div",{"data-testid":"branch-group-other",children:[(0,d.jsx)("div",{className:z.R8,children:(0,d.jsxs)("button",{type:"button","data-testid":"branch-group-other-toggle","aria-expanded":j,disabled:e,onClick:()=>i(a=>!a),className:"flex h-[30px] w-full min-w-0 items-center gap-2 rounded-[10px] px-3 text-left text-xs text-sidebar-muted transition-colors hover:bg-sidebar-hover hover:text-sidebar-foreground focus:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-ring disabled:cursor-default disabled:hover:bg-transparent",children:[(0,d.jsx)("svg",{className:`h-3 w-3 flex-shrink-0 transition-transform ${j?"rotate-90":""}`,fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,"aria-hidden":"true",children:(0,d.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M9 5l7 7-7 7"})}),(0,d.jsx)("span",{className:"min-w-0 truncate",children:g("sidebar.otherBranches",{count:a.length})})]})}),j&&a.map(a=>(0,d.jsx)(z.yP,{branch:a,isSelected:a.id===b,onClick:()=>c(a.id),showRepositoryName:!1},a.id))]})});var G=c(85866),H=c(64936),I=c(10290),J=c(32482),K=c(35595);let L=[{mode:"grouped",labelKey:"sidebar.viewMode.grouped"},{mode:"flat",labelKey:"sidebar.viewMode.flat"},{mode:"sessions",labelKey:"sidebar.viewMode.sessions"}],M=[{key:"updatedAt",labelKey:"sort.updatedAt"},{key:"repositoryName",labelKey:"sort.repositoryName"},{key:"branchName",labelKey:"sort.branchName"},{key:"status",labelKey:"sort.status"}],N={updatedAt:"desc"},O={updatedAt:{asc:"sort.direction.oldestFirst",desc:"sort.direction.newestFirst"},repositoryName:{asc:"sort.direction.aToZ",desc:"sort.direction.zToA"},branchName:{asc:"sort.direction.aToZ",desc:"sort.direction.zToA"},status:{asc:"sort.direction.attentionFirst",desc:"sort.direction.attentionLast"}},P={asc:"sort.ascending",desc:"sort.descending"};function Q(a){a.preventDefault()}let R=(0,f.memo)(function({viewMode:a,onViewModeChange:b}){let c=(0,q.c)("common"),{sortKey:e,sortDirection:g,setSortKey:i,setSortDirection:j}=(0,h.VF)(),k=(0,f.useId)(),l=(0,f.useId)(),m=(0,f.useMemo)(()=>{let a=O[e]??P;return b=>c(a[b])},[e,c]),n=c(L.find(b=>b.mode===a)?.labelKey??"sidebar.viewMode.grouped"),o=c(M.find(a=>a.key===e)?.labelKey??`sort.${e}`),p=c("sidebar.listOptionsSummary",{view:n,sort:o,direction:m(g)}),r=a===h.e8&&e===h.P0&&g===h.RA,s=N[e]??"asc";return(0,d.jsxs)(I.rI,{children:[(0,d.jsx)(I.ty,{asChild:!0,children:(0,d.jsxs)("button",{type:"button","data-testid":"sidebar-list-options","data-view-mode":a,"data-sort-key":e,"data-sort-direction":g,"aria-label":c("sidebar.listOptionsLabel",{summary:p}),title:p,className:"relative flex h-8 w-8 flex-shrink-0 items-center justify-center rounded-md text-sidebar-muted transition-colors hover:bg-sidebar-hover hover:text-sidebar-foreground focus:outline-none focus-visible:ring-2 focus-visible:ring-ring data-[state=open]:bg-sidebar-hover data-[state=open]:text-sidebar-foreground",children:[(0,d.jsx)(H.A,{className:"h-4 w-4","aria-hidden":"true"}),!r&&(0,d.jsx)("span",{"data-testid":"sidebar-list-options-indicator","aria-hidden":"true",className:"absolute right-1 top-1 h-1.5 w-1.5 rounded-full bg-accent-500"})]})}),(0,d.jsxs)(I.SQ,{"data-testid":"sidebar-list-options-menu",align:"end",collisionPadding:8,className:(0,K.cn)("w-52 max-w-[calc(100vw-16px)]","max-h-[var(--radix-dropdown-menu-content-available-height)] overflow-y-auto"),children:[(0,d.jsx)(I.lp,{id:k,children:c("sidebar.viewLabel")}),(0,d.jsx)(I.Hr,{"data-testid":"view-mode-options","aria-labelledby":k,value:a,onValueChange:c=>{(0,J.$m)(c)&&c!==a&&b(c)},children:L.map(({mode:a,labelKey:b})=>(0,d.jsx)(I.Ht,{value:a,onSelect:Q,children:c(b)},a))}),(0,d.jsx)(I.mB,{}),(0,d.jsx)(I.lp,{id:l,children:c("sort.label")}),(0,d.jsx)(I.Hr,{"data-testid":"sort-key-options","aria-labelledby":l,value:e,onValueChange:a=>{let b=M.find(b=>b.key===a);b&&b.key!==e&&(i(b.key),j(N[b.key]??"asc"))},children:M.map(({key:a,labelKey:b})=>(0,d.jsx)(I.Ht,{value:a,onSelect:Q,children:c(b)},a))}),(0,d.jsx)(I.mB,{}),(0,d.jsx)(I.Hr,{"data-testid":"sort-direction-options","aria-label":c("sort.directionLabel"),value:g,onValueChange:a=>{("asc"===a||"desc"===a)&&j(a)},children:("asc"===s?["asc","desc"]:["desc","asc"]).map(a=>(0,d.jsx)(I.Ht,{value:a,onSelect:Q,children:m(a)},a))})]})]})}),S=(0,f.memo)(function({searchQuery:a,onSearchChange:b,viewMode:c,onViewModeChange:e}){let f=(0,q.c)("common");return(0,d.jsxs)("div",{"data-testid":"sidebar-list-toolbar",className:"flex flex-shrink-0 items-center gap-1 px-3 pt-2 pb-1.5",children:[(0,d.jsx)(G.pd,{type:"text",inputSize:"sm",placeholder:f("sidebar.searchBranches"),"aria-label":f("sidebar.searchBranches"),value:a,onChange:a=>b(a.target.value),className:"min-w-0 flex-1 border-sidebar-border bg-background shadow-none"}),(0,d.jsx)(R,{viewMode:c,onViewModeChange:e})]})});var T=c(1102),U=c(81497),V=c(45523),W=c(84342),X=c(85744),Y=c(62197),Z=c(12480),$=c(68232);async function _(){try{await fetch("/api/auth/logout",{method:"POST"}),window.location.href="/login"}catch{window.location.href="/login"}}let aa=I.ty;function ab(){let a=(0,q.c)("common"),{size:b,setSize:c}=(0,l.Ps)(),e=(0,h.pT)();return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(I.mB,{}),(0,d.jsx)(I.lp,{children:a("displaySize.ariaLabel")}),(0,d.jsx)(I.Hr,{value:b,onValueChange:a=>{(0,Z.fM)(a)&&c(a)},children:Z.Uf.map(b=>(0,d.jsx)(I.Ht,{value:b,children:a(`displaySize.${b}`)},b))}),e&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(I.lp,{children:a("repoTabBar.settingLabel")}),(0,d.jsx)(I.Hr,{value:e.repoTabBarMode,onValueChange:a=>{(0,J.m3)(a)&&e.setRepoTabBarMode(a)},children:J.EN.map(b=>(0,d.jsx)(I.Ht,{value:b,children:a(`repoTabBar.mode.${b}`)},b))})]})]})}function ac({children:a,testIdPrefix:b,side:c="top",align:e="end",showDisplayPreferences:g=!1,onNavigate:h}){let j=(0,q.c)("worktree"),k=(0,o.Hq)(),{theme:l,setTheme:m}=(0,V.D)(),{currentLocale:n,switchLocale:p}=(0,X.g)(),r=(0,W.H)(),s=(0,i.a)(),{open:t}=(0,Y.V0)(),u=(0,f.useRef)(!1),v=(0,f.useRef)(null),w="0.49.1",x=a=>{h?.(),k.push(a)};return(0,d.jsxs)(I.rI,{children:[a,(0,d.jsxs)(I.SQ,{side:c,align:e,collisionPadding:8,className:"w-56 max-w-[calc(100vw-16px)] max-h-[var(--radix-dropdown-menu-content-available-height)] overflow-y-auto",onCloseAutoFocus:()=>{u.current&&(u.current=!1,queueMicrotask(t))},children:[(0,d.jsx)(I.lp,{"data-testid":`${b}-version`,children:j("activityBar.settingsMenu.version",{version:w?`v${w}`:"-"})}),(0,d.jsx)(I._2,{asChild:!0,onSelect:()=>{let a=v.current;if(v.current=null,!(a&&(0!==a.button||a.metaKey||a.ctrlKey||a.shiftKey||a.altKey))){if(a?.preventDefault(),s)return void x("/more");u.current=!0}},children:(0,d.jsx)("a",{href:"/more","data-testid":`${b}-settings`,onClick:a=>{v.current=a},children:j("activityBar.settingsMenu.settings")})}),(0,d.jsx)(I._2,{onSelect:()=>x("/skills"),children:j("activityBar.settingsMenu.skills")}),(0,d.jsx)(I.mB,{}),(0,d.jsx)(I.lp,{children:j("activityBar.settingsMenu.theme")}),(0,d.jsxs)(I.Hr,{value:l??"system",onValueChange:a=>m(a),children:[(0,d.jsx)(I.Ht,{value:"light",children:j("activityBar.settingsMenu.themeLight")}),(0,d.jsx)(I.Ht,{value:"dark",children:j("activityBar.settingsMenu.themeDark")}),(0,d.jsx)(I.Ht,{value:"system",children:j("activityBar.settingsMenu.themeSystem")})]}),(0,d.jsx)(I.lp,{children:j("activityBar.settingsMenu.language")}),(0,d.jsx)(I.Hr,{value:n,onValueChange:a=>p(a),children:$.dI.map(a=>(0,d.jsx)(I.Ht,{value:a,children:$.vK[a]},a))}),g&&!s&&(0,d.jsx)(ab,{}),(0,d.jsx)(I.mB,{}),(0,d.jsx)(I._2,{asChild:!0,children:(0,d.jsx)("a",{href:"https://github.com/kewton/MyCodeBranchDesk",target:"_blank",rel:"noopener noreferrer",children:j("activityBar.settingsMenu.github")})}),r&&(0,d.jsx)(I._2,{onSelect:()=>{_()},children:j("activityBar.settingsMenu.logout")})]})]})}var ad=c(15917),ae=c(76180),af=c(88285),ag=c(85647),ah=c(64632),ai=c(21787);let aj=["global","terminal","composer","editor"],ak=[{id:"commandPalette",keys:["MOD","K"],scope:"global"},{id:"toggleSidebar",keys:["MOD","B"],scope:"global"},{id:"keyboardHelp",keys:["?"],scope:"global"},{id:"closeOverlay",keys:["Esc"],scope:"global"},{id:"navigateList",keys:["↑","↓"],scope:"global"},{id:"terminalSearch",keys:["MOD","F"],scope:"terminal"},{id:"toggleSurfaceMode",keys:["MOD","Shift","M"],scope:"terminal"},{id:"sendMessage",keys:["↵"],scope:"composer"},{id:"composerNewline",keys:["Shift","↵"],scope:"composer"},{id:"editorIndent",keys:["Tab"],scope:"editor"},{id:"editorOutdent",keys:["Shift","Tab"],scope:"editor"},{id:"editorTabFocus",keys:["Ctrl","M"],scope:"editor"},{id:"editorSave",keys:["MOD","S"],scope:"editor"},{id:"editorFullscreen",keys:["MOD","Shift","F"],scope:"editor"}];function al(a,b){return"MOD"===a?b?"⌘":"Ctrl":a}var am=c(77028),an=c(14346),ao=c(47089);let ap="flex items-center justify-center rounded-md text-sidebar-muted transition-colors hover:bg-sidebar-hover hover:text-sidebar-foreground focus:outline-none focus-visible:ring-2 focus-visible:ring-ring",aq={width:`${J.KI}px`,height:`${J.KI}px`};function ar({testId:a,onClose:b}){let c=(0,q.c)("common"),{isOpen:e,toggle:f}=(0,h.VF)(),g=c(e?"sidebar.close":"sidebar.open"),i=e?am.A:an.A;return(0,d.jsx)("div",{"data-sidebar-toggle-cell":"",className:"flex flex-shrink-0",style:{padding:`${J.df}px`},children:b?(0,d.jsx)("button",{type:"button","data-testid":a,onClick:b,"aria-label":c("sidebar.close"),style:aq,className:ap,children:(0,d.jsx)(ao.A,{size:20,"aria-hidden":"true"})}):(0,d.jsx)(T.m_,{content:g,placement:e?"bottom":"right",children:(0,d.jsx)("button",{type:"button","data-testid":a,onClick:f,"aria-label":g,"aria-expanded":e,style:aq,className:ap,children:(0,d.jsx)(i,{size:20,"aria-hidden":"true"})})})})}let as="flex w-full min-w-0 items-center gap-2 rounded-md px-2 py-1.5 text-left text-sm text-sidebar-muted transition-colors hover:bg-sidebar-hover hover:text-sidebar-foreground focus:outline-none focus-visible:ring-2 focus-visible:ring-ring";function at({drawer:a=!1}){let b=(0,q.c)("common"),c=(0,q.c)("commandPalette"),{setOpen:e}=(0,ah.C)(),{openNewTask:f}=(0,ai.hX)(),{closeMobileDrawer:i}=(0,h.VF)(),j=function(){let[a,b]=g().useState(null);return a}(),k=a?i:void 0;return(0,d.jsxs)("div",{"data-testid":a?"sidebar-drawer-top-controls":"sidebar-top-controls",className:"flex-shrink-0",children:[(0,d.jsxs)("div",{className:"flex min-w-0 items-center",children:[a?(0,d.jsx)(ar,{testId:"sidebar-drawer-close",onClose:i}):(0,d.jsx)(ar,{testId:"sidebar-panel-toggle"}),(0,d.jsxs)(p,{href:"/",onClick:k,"data-testid":"sidebar-logo",className:"flex min-w-0 items-center gap-2 rounded-md px-1 py-1 transition-opacity hover:opacity-80 focus:outline-none focus-visible:ring-2 focus-visible:ring-ring",children:[(0,d.jsx)("span",{className:"flex h-6 w-6 flex-shrink-0 items-center justify-center rounded-md bg-accent-600",children:(0,d.jsx)(ad.A,{size:14,strokeWidth:2,className:"text-white","aria-hidden":"true"})}),(0,d.jsx)("span",{className:"truncate text-sm font-bold text-sidebar-foreground",children:"CommandMate"})]})]}),(0,d.jsxs)("div",{className:"space-y-0.5 px-2",children:[(0,d.jsxs)("button",{type:"button","data-testid":"sidebar-new-task",onClick:()=>{k?.(),f()},"aria-haspopup":"dialog",className:as,children:[(0,d.jsx)(ae.A,{className:"h-4 w-4 flex-shrink-0","aria-hidden":"true"}),(0,d.jsx)("span",{className:"min-w-0 flex-1 truncate",children:b("newTask.title")})]}),(0,d.jsxs)("button",{type:"button","data-testid":"sidebar-search",onClick:()=>{k?.(),e(!0)},"aria-label":c("mobileTrigger"),className:as,children:[(0,d.jsx)(af.A,{className:"h-4 w-4 flex-shrink-0","aria-hidden":"true"}),(0,d.jsx)("span",{className:"min-w-0 flex-1 truncate",children:c("searchAction")}),!a&&null!==j&&(0,d.jsxs)("span",{className:"flex flex-shrink-0 items-center gap-0.5","aria-hidden":"true",children:[(0,d.jsx)(ag.u,{children:j}),(0,d.jsx)(ag.u,{children:"K"})]})]})]})]})}var au=c(63474),av=c(19463),aw=c(78352),ax=c(17252),ay=c(89907),az=c(95239);let aA=0,aB=(0,f.memo)(function(){let a=(0,o.Hq)(),{worktrees:b,repositories:c,selectedWorktreeId:j,selectWorktree:k,refreshWorktrees:l,isLoading:m,error:n}=(0,y.$f)(),{closeMobileDrawer:p,sortKey:u,sortDirection:x,viewMode:A,setViewMode:B,repositoryOrder:F,setRepositoryOrder:H}=(0,h.VF)(),I=(0,q.c)("common"),K=(0,e.usePathname)()??"",L=(0,J.jn)(K,j),M=(0,i.a)(),{count:N}=(0,av.Lv)(),[O,P]=(0,f.useState)(""),Q=(0,f.useRef)(null),[R,T]=(0,f.useState)(()=>({})),U=(0,f.useRef)(!1);(0,f.useEffect)(()=>{U.current||(U.current=!0,fetch("/api/sidebar/group-order").then(a=>a.json()).then(a=>{a.success&&Array.isArray(a.order)&&H(a.order)}).catch(()=>{}))},[H]);let V=(0,f.useMemo)(()=>(0,J.UZ)(c),[c]),W=(0,f.useMemo)(()=>(0,J.s6)(b,V),[b,V]),X=(0,f.useMemo)(()=>(0,av.Rc)(b),[b]),Y=(0,f.useMemo)(()=>new Set(W.map(a=>a.id)),[W]),Z=(0,f.useMemo)(()=>W.map(D.XK),[W]),$=(0,f.useMemo)(()=>new Map(Z.map(a=>[a.id,a])),[Z]),_=(0,f.useDeferredValue)(Z),aa=(0,f.useRef)(null),ab=(0,f.useRef)(null),ac=(0,f.useRef)(null),ad=(0,f.useRef)(new Set),[ae,af]=(0,f.useState)(0);(0,f.useEffect)(()=>()=>{null!==ab.current&&clearTimeout(ab.current)},[]);let ag=(0,f.useCallback)(()=>{null!==ab.current&&(clearTimeout(ab.current),ab.current=null),aa.current=null,ac.current=null},[]),ah=(0,f.useMemo)(()=>{let a=aa.current;return!a||0===a.items.length||Date.now()>=a.expiresAt?_:a.items},[_,ae]),ai=(0,f.useRef)(ah),aj=ac.current,ak=new Set(ah.filter(a=>aj?.has(a.id)===!0||(0,J.rL)(a,L,$)).map(a=>a.id));(0,f.useLayoutEffect)(()=>{if(ai.current=ah,ad.current=ak,ac.current)for(let a of ak)ac.current.add(a);let a=aa.current;a&&0===a.items.length&&_.length>0&&ag()});let al=(0,f.useCallback)(()=>{if(0===ai.current.length)return;null!==ab.current&&(clearTimeout(ab.current),ab.current=null);let a=aa.current;if(a&&Date.now()<a.expiresAt){aa.current={...a,expiresAt:1/0};return}aa.current={items:ai.current,expiresAt:1/0},ac.current=new Set(ad.current)},[]),am=(0,f.useCallback)(()=>{aa.current&&(aa.current={...aa.current,expiresAt:Date.now()+1e3},null!==ab.current&&clearTimeout(ab.current),ab.current=setTimeout(()=>{ag(),af(a=>a+1)},1e3))},[ag]),{sortedItems:an,groupedItems:ao}=(0,az.D)({items:ah,sortKey:u,sortDirection:x,viewMode:A,filterText:O}),ap=(0,f.useMemo)(()=>"grouped"===A&&ao?O.trim()?ao:(0,J.Ew)(ao,F):null,[A,ao,F,O]),aq="grouped"===A?ap:null,ar=(0,f.useMemo)(()=>"sessions"===A?(0,J.EY)((0,J.UB)(an),u,x):[],[A,an,u,x]);(0,f.useEffect)(()=>{},[R]);let as=(0,f.useCallback)(a=>{T(b=>({...b,[a]:!b[a]}))},[]),au=(0,f.useCallback)(()=>{var a;aA=Number.isFinite(a=Q.current?.scrollTop??0)&&a>0?a:0},[]),aw=an.length>0||(aq?.length??0)>0||ar.length>0;(0,f.useEffect)(()=>{let a=Q.current;if(!a)return;let b=window.requestAnimationFrame(()=>{a.scrollTop=aA});return()=>{window.cancelAnimationFrame(b)}},[aw,A]);let aB=(0,f.useRef)(b);(0,f.useEffect)(()=>{aB.current=b},[b]);let aE=(0,f.useCallback)(b=>{au(),k(b);let c=aB.current.find(a=>a.id===b);a.push(c?function(a){let b=function(a){let b=a.sessionStatusByInstance;if(!b)return null;let c=(a.agentInstances&&a.agentInstances.length>0?a.agentInstances:(0,ax.lu)(a.selectedAgents??(0,ay.sA)())).map((a,b)=>({instance:a,index:b})).sort((a,b)=>(a.instance.order??0)-(b.instance.order??0)||a.index-b.index).map(({instance:a})=>a).flatMap((a,c)=>{let d=b[a.id];return d?.isWaitingForResponse?[{id:a.id,index:c,entry:d}]:[]});if(0===c.length)return null;let{waitingKind:d}=(0,D.f_)(a),e=d?c.filter(a=>a.entry.waitingKind===d):[],f=(e.length>0?e:c).flatMap(a=>{let b=a.entry.waitingSince;return"number"==typeof b&&Number.isFinite(b)?[{...a,since:b}]:[]});return 0===f.length?null:(f.sort((a,b)=>a.since-b.since||a.index-b.index),f[0].id)}(a);return null===b?`/worktrees/${a.id}`:(0,J.Ii)({worktreeId:a.id,instanceId:b})}(c):`/worktrees/${b}`),p()},[au,k,a,p]),aH=(0,f.useCallback)(b=>{au(),k(b.worktreeId),a.push((0,J.Ii)(b)),p()},[au,k,a,p]),aI=(0,v.FR)((0,v.MS)(v.AN,{activationConstraint:{distance:8}})),aJ=(0,f.useCallback)(a=>{let{active:b,over:c}=a;if(!c||b.id===c.id||!aq)return;let d=aq.map(a=>a.repositoryName),e=d.indexOf(String(b.id)),f=d.indexOf(String(c.id));if(-1===e||-1===f)return;let g=(0,w.be)(d,e,f);H(g),fetch("/api/sidebar/group-order",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({order:g})}).catch(()=>{H(d)})},[aq,H]),aM="grouped"===A?(aq?.length??0)===0:"sessions"===A?0===ar.length:0===an.length,aN=m&&0===b.length,aO=!aN&&!!n&&0===b.length,aP=(0,f.useCallback)(()=>{l()},[l]),aQ={sessions:(0,d.jsx)("li",{className:"flex min-w-0",children:(0,d.jsx)(aF,{href:"/sessions",icon:r.A,label:I("nav.sessions"),testId:"sidebar-nav-sessions",isActive:K.startsWith("/sessions"),onNavigate:p})}),repositories:(0,d.jsxs)("li",{className:"flex min-w-0 items-center gap-1",children:[(0,d.jsx)(aF,{href:"/repositories",icon:s.A,label:I("nav.repositories"),testId:"sidebar-nav-repositories",isActive:K.startsWith("/repositories"),onNavigate:p}),(0,d.jsx)(aK,{refreshWorktrees:l})]}),review:(0,d.jsx)("li",{className:"flex min-w-0",children:(0,d.jsx)(aF,{href:N>0?C.ks:"/review",icon:t.A,label:I("nav.review"),testId:"sidebar-nav-review",isActive:K.startsWith("/review"),onNavigate:p,trailing:N>0?(0,d.jsx)("span",{"data-testid":"sidebar-nav-review-count",role:"status","aria-label":I("attention.badgeLabel",{count:N}),className:"flex-shrink-0 rounded-full bg-warning-subtle px-1.5 text-xs font-semibold leading-5 tabular-nums text-warning-foreground",children:N>99?"99+":N}):null})})};return(0,d.jsx)(z.Fy.Provider,{value:!M,children:(0,d.jsxs)("nav",{"data-testid":"sidebar","aria-label":I("sidebar.branchNavigation"),className:"h-full flex flex-col bg-sidebar text-sidebar-foreground",role:"navigation",children:[(0,d.jsx)(at,{drawer:M}),(0,d.jsx)("div",{"data-testid":"sidebar-header",className:"flex-shrink-0 space-y-2 border-b border-sidebar-border px-2 py-2",children:(0,d.jsx)("ul",{"data-testid":"sidebar-nav",className:"space-y-0.5",children:J.go.map(a=>(0,d.jsx)(g().Fragment,{children:aQ[a]},a))})}),(0,d.jsx)(E,{worktrees:X,visibleWorktreeIds:Y,selectedWorktreeId:L,onSelect:aE,onNavigate:p}),(0,d.jsx)(S,{searchQuery:O,onSearchChange:P,viewMode:A,onViewModeChange:B}),(0,d.jsx)("div",{ref:Q,"data-testid":"branch-list",onScroll:au,onMouseEnter:al,onMouseLeave:am,className:"flex-1 overflow-y-auto overflow-x-hidden",children:aN?(0,d.jsx)(aC,{label:I("sidebar.loadingBranches")}):aO?(0,d.jsxs)("div",{"data-testid":"branch-list-error",role:"alert",className:"px-4 py-8 text-center text-sidebar-muted",children:[(0,d.jsx)("p",{className:"text-sm",children:I("sidebar.branchesLoadFailed")}),(0,d.jsx)(G.$n,{type:"button",variant:"secondary",size:"sm",className:"mt-3","data-testid":"branch-list-retry",onClick:aP,children:I("sidebar.retryLoadBranches")})]}):aM?(0,d.jsx)("div",{className:"px-4 py-8 text-center text-sidebar-muted",children:I(O?"sidebar.noBranchesFound":"sidebar.noBranchesAvailable")}):"sessions"===A?ar.map(a=>(0,d.jsx)(aG,{row:a,isSelected:a.worktreeId===L,onClick:aH},a.key)):"grouped"===A&&aq?(0,d.jsx)(v.Mp,{sensors:aI,collisionDetection:v.fp,onDragEnd:aJ,children:(0,d.jsx)(w.gB,{items:aq.map(a=>a.repositoryName),strategy:w._G,children:aq.map(a=>{let b=!R[a.repositoryName]||!!O.trim();return(0,d.jsx)(aD,{group:a,isExpanded:b,selectedWorktreeId:L,onToggle:()=>as(a.repositoryName),onBranchClick:aE,isDragDisabled:!!O.trim(),isFiltering:!!O.trim(),liveBranchById:$,stickyShownIds:aj},a.repositoryName)})})}):an.map(a=>(0,d.jsx)(z.yP,{branch:a,isSelected:a.id===L,onClick:()=>aE(a.id)},a.id))}),(0,d.jsx)("div",{"data-testid":"sidebar-footer",className:"flex-shrink-0 px-4 py-3 border-t border-sidebar-border",children:(0,d.jsx)(aL,{onNavigate:p})})]})})}),aC=(0,f.memo)(function({label:a}){return(0,d.jsxs)("div",{"data-testid":"branch-list-skeleton",role:"status","aria-live":"polite",className:"px-4 py-3 space-y-3",children:[(0,d.jsx)("span",{className:"sr-only",children:a}),[0,1,2,3,4].map(a=>(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)(G.EA,{className:"h-2 w-2 rounded-full"}),(0,d.jsx)(G.EA,{className:"h-3 flex-1"})]},a))]})});function aD({group:a,isExpanded:b,selectedWorktreeId:c,onToggle:e,onBranchClick:f,isDragDisabled:g,isFiltering:h,liveBranchById:i,stickyShownIds:j}){let{attributes:k,listeners:l,setNodeRef:m,setActivatorNodeRef:n,transform:o,transition:p,isDragging:q}=(0,w.gl)({id:a.repositoryName,disabled:g}),r={transform:x.Ks.Transform.toString(o),transition:p,opacity:q?.5:1},{shown:s,other:t}=(0,J.FS)(a.branches,c,i,j??void 0);return(0,d.jsxs)("div",{ref:m,style:r,className:"w-full min-w-0 pt-2",children:[(0,d.jsx)(aE,{repositoryName:a.repositoryName,branchCount:a.branches.length,isExpanded:b,onClick:e,dragHandleRef:n,dragHandleListeners:g?void 0:l,dragHandleAttributes:g?void 0:k}),b&&s.map(a=>(0,d.jsx)(z.yP,{branch:a,isSelected:a.id===c,onClick:()=>f(a.id),showRepositoryName:!1},a.id)),b&&t.length>0&&(0,d.jsx)(F,{branches:t,selectedWorktreeId:c,onBranchClick:f,forceExpanded:h})]})}function aE({repositoryName:a,branchCount:b,isExpanded:c,onClick:e,dragHandleRef:f,dragHandleListeners:g,dragHandleAttributes:h}){let i=(0,q.c)("common");return(0,d.jsxs)("div",{className:"group/header flex items-center w-full",children:[g&&(0,d.jsx)("div",{ref:f,...g,...h,"data-testid":"group-drag-handle","aria-label":i("sidebar.dragToReorderGroup"),className:" flex-shrink-0 flex items-center justify-center w-6 h-full pl-2 cursor-grab active:cursor-grabbing text-sidebar-muted hover:text-sidebar-foreground transition-[color,opacity] opacity-0 group-hover/header:opacity-100 group-focus-within/header:opacity-100 [@media(hover:none)]:opacity-100 rounded focus:outline-none focus-visible:ring-2 focus-visible:ring-ring ",children:(0,d.jsx)(aI,{})}),(0,d.jsxs)("button",{"data-testid":"group-header",type:"button",onClick:e,"aria-expanded":c,className:" flex-1 min-w-0 flex items-center gap-2 px-2 py-1 text-xs font-normal text-sidebar-muted focus:outline-none focus:ring-2 focus:ring-inset focus:ring-ring transition-colors ",children:[(0,d.jsx)(aH,{isExpanded:c}),(0,d.jsx)(G.nF,{color:(0,J.LV)(a)}),(0,d.jsx)(U.nR,{content:a,className:"flex-1 min-w-0 text-left truncate",children:a}),(0,d.jsx)("span",{className:"text-sidebar-muted font-normal tabular-nums pr-2",children:b})]})]})}function aF({href:a,icon:b,label:c,testId:e,isActive:f,onNavigate:g,trailing:h}){return(0,d.jsxs)(p,{href:a,"data-testid":e,"aria-current":f?"page":void 0,onClick:g,className:`flex min-w-0 flex-1 items-center gap-2 rounded-md px-2 py-1.5 text-sm transition-colors hover:bg-sidebar-hover hover:text-sidebar-foreground focus:outline-none focus-visible:ring-2 focus-visible:ring-ring ${f?"bg-sidebar-hover font-medium text-sidebar-foreground":"text-sidebar-muted"}`,children:[(0,d.jsx)(b,{className:"h-4 w-4 flex-shrink-0","aria-hidden":"true"}),(0,d.jsx)("span",{className:"min-w-0 flex-1 truncate",children:c}),h]})}let aG=(0,f.memo)(function({row:a,isSelected:b,onClick:c}){let e=(0,q.c)("common"),f=(0,A.Mq)(a.status,a.unclassified),g=e(f?A.rH:`status.${a.status}`);return(0,d.jsx)("div",{className:`w-full min-w-0 ${z.R8}`,children:(0,d.jsxs)("button",{type:"button","data-testid":"session-list-item","data-session-key":a.key,onClick:()=>c(a),"aria-current":b?"true":void 0,className:`w-full min-w-0 min-h-[34px] px-3 py-1.5 flex items-center gap-2 text-left ${(0,z.Xd)(b)}`,children:[(0,d.jsx)(G.md,{status:a.status,size:"sm",label:a.exited?`${g} (${e("branchItem.agentExited")})`:g,className:f?A.Jd:void 0}),(0,d.jsx)("span",{className:"flex-shrink-0 max-w-[45%] truncate text-sm font-semibold text-sidebar-foreground",children:a.label}),(0,d.jsxs)("span",{className:"min-w-0 flex-1 truncate text-xs text-sidebar-muted",children:[a.branchName," \xb7 ",a.repositoryName]})]})})});function aH({isExpanded:a}){return(0,d.jsx)("svg",{className:`w-3 h-3 flex-shrink-0 transition-transform ${a?"rotate-90":""}`,fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:(0,d.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M9 5l7 7-7 7"})})}function aI(){return(0,d.jsxs)("svg",{className:"w-3 h-3",fill:"currentColor",viewBox:"0 0 24 24","aria-hidden":"true",children:[(0,d.jsx)("circle",{cx:"9",cy:"5",r:"1.5"}),(0,d.jsx)("circle",{cx:"15",cy:"5",r:"1.5"}),(0,d.jsx)("circle",{cx:"9",cy:"12",r:"1.5"}),(0,d.jsx)("circle",{cx:"15",cy:"12",r:"1.5"}),(0,d.jsx)("circle",{cx:"9",cy:"19",r:"1.5"}),(0,d.jsx)("circle",{cx:"15",cy:"19",r:"1.5"})]})}function aJ({className:a=""}){return(0,d.jsx)("svg",{className:`w-4 h-4 ${a}`,fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:(0,d.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M4 4v5h5M20 20v-5h-5M20.49 9A9 9 0 005.64 5.64L4 4m16 16l-1.64-1.64A9 9 0 014.51 15"})})}let aK=(0,f.memo)(function({refreshWorktrees:a}){let[b,c]=(0,f.useState)(!1),e=(0,f.useRef)(!1),{showToast:g}=(0,au.dj)(),h=(0,q.c)("common"),i=(0,f.useCallback)(async()=>{if(!e.current){e.current=!0,c(!0);try{let b=await aw.Rx.sync();await a(),g(h("syncSuccess",{count:b.worktreeCount}),"success",3e3)}catch(a){a instanceof aw.hD&&401===a.status?g(h("syncAuthError"),"error",5e3):g(h("syncError"),"error",5e3)}finally{e.current=!1,c(!1)}}},[a,g,h]);return(0,d.jsx)(d.Fragment,{children:(0,d.jsx)(T.m_,{content:h("tooltips.sync"),placement:"bottom",children:(0,d.jsx)("button",{type:"button",onClick:i,disabled:b,"aria-label":h("syncButtonLabel"),className:"p-1 rounded-md text-sidebar-muted hover:text-sidebar-foreground hover:bg-sidebar-hover focus:outline-none focus:ring-2 focus:ring-ring disabled:opacity-50 disabled:cursor-not-allowed transition-colors",children:(0,d.jsx)(aJ,{className:b?"animate-spin":""})})})})});function aL({onNavigate:a}){let b=(0,q.c)("common")("settings.title");return(0,d.jsx)(ac,{testIdPrefix:"sidebar-settings-menu",side:"top",align:"start",showDisplayPreferences:!0,onNavigate:a,children:(0,d.jsx)(aa,{asChild:!0,children:(0,d.jsxs)("button",{type:"button","data-testid":"sidebar-settings-menu",className:"flex w-full items-center gap-2 px-2 py-1.5 rounded-md text-sm text-sidebar-muted hover:text-sidebar-foreground hover:bg-sidebar-hover focus:outline-none focus:ring-2 focus:ring-ring transition-colors",children:[(0,d.jsx)(u.A,{size:20,"aria-hidden":"true"}),(0,d.jsx)("span",{className:"truncate",children:b})]})})})}var aM=c(38557);function aN(){let{shouldSurface:a,isReconnecting:b}=(0,aM.Fx)(),c=(0,q.c)("common");if(!a)return null;let e=c(b?"connection.reconnecting":"connection.offline");return(0,d.jsxs)("span",{"data-testid":"connection-status-indicator","data-connection-state":b?"reconnecting":"offline",role:"status","aria-live":"polite",title:c(b?"connection.reconnectingTooltip":"connection.offlineTooltip"),className:"hidden sm:inline-flex items-center gap-1.5 rounded-full border border-border bg-surface px-2 py-0.5 text-xs text-muted-foreground",children:[(0,d.jsx)("span",{"aria-hidden":"true",className:["w-1.5 h-1.5 rounded-full",b?"bg-warning motion-safe:animate-pulse":"bg-muted-foreground"].join(" ")}),e]})}var aO=c(60957);let aP=[{prefix:"/sessions",labelKey:"nav.sessions"},{prefix:"/repositories",labelKey:"nav.repositories"},{prefix:"/review",labelKey:"nav.review"},{prefix:"/skills",labelKey:"nav.skills"},{prefix:"/more",labelKey:"nav.more"}];function aQ({title:a="CommandMate"}){var b;let c=null!==(b=(0,e.usePathname)()??"",aP.find(a=>b.startsWith(a.prefix))?.labelKey??null);return(0,d.jsxs)("header",{"data-testid":"screen-status-row",className:"flex flex-shrink-0 items-center justify-end gap-4 px-4 py-1.5 border-b border-border bg-background supports-[backdrop-filter]:bg-background/80 backdrop-blur-md empty:hidden",children:[!c&&(0,d.jsx)("h1",{"data-testid":"header-screen-title",className:"mr-auto min-w-0 truncate text-lg font-bold text-foreground",children:a}),(0,d.jsx)(aN,{}),(0,d.jsx)(aO.H,{})]})}function aR({count:a}){let b=(0,q.c)("common");return 0===a?null:(0,d.jsx)("span",{"data-testid":"attention-badge-bubble",role:"status","aria-label":b("attention.badgeLabel",{count:a}),className:"absolute -top-1.5 -right-2.5 min-w-[1.05rem] rounded-full bg-warning-foreground px-1 text-[0.625rem] font-bold leading-[1.05rem] text-warning-subtle tabular-nums text-center",children:a>99?"99+":a})}let aS="relative flex h-10 w-10 items-center justify-center rounded-md transition-colors focus:outline-none focus-visible:ring-2 focus-visible:ring-ring",aT="text-sidebar-muted hover:bg-sidebar-hover hover:text-sidebar-foreground";function aU({href:a,icon:b,label:c,testId:e,isActive:f,badge:g}){return(0,d.jsx)(T.m_,{content:c,placement:"right",children:(0,d.jsx)(p,{href:a,"data-testid":e,"aria-label":c,"aria-current":f?"page":void 0,className:`${aS} ${f?"bg-sidebar-hover text-sidebar-foreground":aT}`,children:(0,d.jsxs)("span",{className:"relative flex",children:[(0,d.jsx)(b,{size:20,"aria-hidden":"true"}),g]})})})}function aV({icon:a,label:b,testId:c,onClick:e,hasPopup:f}){return(0,d.jsx)(T.m_,{content:b,placement:"right",children:(0,d.jsx)("button",{type:"button","data-testid":c,"aria-label":b,"aria-haspopup":f,onClick:e,className:`${aS} ${aT}`,children:(0,d.jsx)(a,{size:20,"aria-hidden":"true"})})})}function aW(){let a=(0,q.c)("common"),b=(0,q.c)("commandPalette"),c=(0,e.usePathname)()??"",{setOpen:f}=(0,ah.C)(),{openNewTask:h}=(0,ai.hX)(),{count:i}=(0,av.Lv)(),j=a("settings.title"),k={sessions:(0,d.jsx)(aU,{href:"/sessions",icon:r.A,label:a("nav.sessions"),testId:"sidebar-rail-sessions",isActive:c.startsWith("/sessions")}),repositories:(0,d.jsx)(aU,{href:"/repositories",icon:s.A,label:a("nav.repositories"),testId:"sidebar-rail-repositories",isActive:c.startsWith("/repositories")}),review:(0,d.jsx)(aU,{href:i>0?C.ks:"/review",icon:t.A,label:a("nav.review"),testId:"sidebar-rail-review",isActive:c.startsWith("/review"),badge:(0,d.jsx)(aR,{count:i})})};return(0,d.jsxs)("nav",{"data-testid":"sidebar-rail","aria-label":a("sidebar.railLabel"),className:"flex h-full flex-col items-center gap-1 bg-sidebar pb-2 text-sidebar-foreground",style:{width:`${J.BN}px`},children:[(0,d.jsx)(ar,{testId:"sidebar-rail-toggle"}),(0,d.jsx)(aV,{icon:ae.A,label:a("newTask.title"),testId:"sidebar-rail-new-task",onClick:()=>h(),hasPopup:"dialog"}),(0,d.jsx)(aV,{icon:af.A,label:b("mobileTrigger"),testId:"sidebar-rail-search",onClick:()=>f(!0)}),(0,d.jsx)("div",{className:"my-1 w-8 border-b border-sidebar-border","aria-hidden":"true"}),J.go.map(a=>(0,d.jsx)(g().Fragment,{children:k[a]},a)),(0,d.jsx)("div",{className:"mt-auto",children:(0,d.jsx)(ac,{testIdPrefix:"sidebar-rail-settings",side:"right",align:"end",showDisplayPreferences:!0,children:(0,d.jsx)(T.m_,{content:j,placement:"right",children:(0,d.jsx)(aa,{asChild:!0,children:(0,d.jsx)("button",{type:"button","data-testid":"sidebar-rail-settings","aria-label":j,className:`${aS} ${aT}`,children:(0,d.jsx)(u.A,{size:20,"aria-hidden":"true"})})})})})})]})}c(68643);var aX=c(47684),aY=c(38882),aZ=c(6130),a$=c(13860);let a_=[{labelKey:"nav.sessions",href:"/sessions",isActive:a=>a.startsWith("/sessions"),icon:(0,d.jsx)(r.A,{size:20,"aria-hidden":"true"})},{labelKey:"nav.review",href:"/review",isActive:a=>a.startsWith("/review"),icon:(0,d.jsx)(t.A,{size:20,"aria-hidden":"true"}),showsAttentionBadge:!0},{labelKey:"nav.more",href:"/more",isActive:a=>a.startsWith("/more"),icon:(0,d.jsx)(aY.A,{size:20,"aria-hidden":"true"})}];function a0(){let a=(0,e.usePathname)(),{setOpen:b}=(0,ah.C)(),c=(0,q.c)("commandPalette"),f=(0,q.c)("common"),{count:g}=(0,av.Lv)(),i=(0,h.pT)();return i?.isMobileDrawerOpen?null:(0,d.jsx)("nav",{"data-testid":"global-mobile-nav",className:"fixed bottom-0 left-0 right-0 z-50 border-t border-border bg-background supports-[backdrop-filter]:bg-background/80 backdrop-blur-md pb-safe",children:(0,d.jsxs)("div",{className:"flex items-center justify-around h-14",children:[i&&(0,d.jsxs)("button",{type:"button","data-testid":"mobile-nav-open-sidebar",...a$.cv,onClick:i.openMobileDrawer,className:"flex flex-col items-center justify-center flex-1 h-full text-xs text-muted-foreground hover:text-foreground transition-colors",children:[(0,d.jsx)(aZ.A,{size:20,"aria-hidden":"true"}),(0,d.jsx)("span",{className:"mt-1 whitespace-nowrap",children:f("sidebar.branches")})]}),a_.map(b=>{let c=b.isActive(a),e=!0===b.showsAttentionBadge&&g>0;return(0,d.jsxs)(p,{href:e?C.ks:b.href,className:`flex flex-col items-center justify-center flex-1 h-full text-xs transition-colors ${c?"text-accent-600 dark:text-accent-400":"text-muted-foreground hover:text-foreground"}`,children:[(0,d.jsxs)("span",{className:"relative inline-flex",children:[b.icon,!0===b.showsAttentionBadge&&(0,d.jsx)(aR,{count:g})]}),(0,d.jsx)("span",{className:"mt-1 whitespace-nowrap",children:f(b.labelKey)})]},b.href)}),(0,d.jsxs)("button",{type:"button","data-testid":"mobile-command-palette-trigger",onClick:()=>b(!0),"aria-label":c("mobileTrigger"),className:"flex flex-col items-center justify-center flex-1 h-full text-xs text-muted-foreground hover:text-foreground transition-colors",children:[(0,d.jsx)(af.A,{size:20,"aria-hidden":"true"}),(0,d.jsx)("span",{className:"mt-1 whitespace-nowrap",children:c("mobileLabel")})]})]})})}function a1(){let{shouldSurface:a,isReconnecting:b}=(0,aM.Fx)(),c=(0,q.c)("common");if(!a)return null;let e=c(b?"connection.reconnecting":"connection.offline"),f=c(b?"connection.reconnectingTooltip":"connection.offlineTooltip");return(0,d.jsx)("div",{"data-testid":"mobile-connection-banner","data-connection-state":b?"reconnecting":"offline",role:"status","aria-live":"polite",title:f,className:`shrink-0 pt-safe border-b ${b?"bg-warning-subtle border-warning-border text-warning-foreground":"bg-danger-subtle border-danger-border text-danger-foreground"}`,children:(0,d.jsxs)("div",{className:"flex items-center justify-center gap-1.5 px-3 py-1 text-xs",children:[(0,d.jsx)("span",{"aria-hidden":"true",className:`w-1.5 h-1.5 rounded-full ${b?"bg-warning motion-safe:animate-pulse":"bg-danger"}`}),e]})})}var a2=c(76047),a3=c(98033),a4=c(89184);let a5=[...ak,{id:"newTask",keys:["MOD","Shift","O"],scope:"global"},{id:"newTaskSend",keys:["MOD","↵"],scope:"global"}];function a6(){let{open:a,setOpen:b}=(0,a4.K)(),{open:c}=(0,ah.C)(),{isOpen:e}=(0,ai.hX)(),g=(0,q.c)("keyboardShortcuts"),[h,i]=(0,f.useState)(!1);(0,f.useRef)(a),(0,f.useRef)(c),(0,f.useRef)(e);let j=function(a=ak){return aj.map(b=>({scope:b,shortcuts:a.filter(a=>a.scope===b)})).filter(a=>a.shortcuts.length>0)}(a5);return(0,d.jsx)(a3.a,{isOpen:a,onClose:()=>b(!1),title:g("title"),size:"md",children:(0,d.jsx)("div",{"data-testid":"keyboard-shortcuts-overlay",className:"space-y-6",children:j.map(({scope:a,shortcuts:b})=>(0,d.jsxs)("section",{"data-testid":`keyboard-shortcuts-scope-${a}`,children:[(0,d.jsx)("h4",{className:"mb-2 text-xs font-semibold uppercase tracking-wide text-muted-foreground",children:g(`scopes.${a}`)}),(0,d.jsx)("ul",{className:"divide-y divide-border",children:b.map(a=>(0,d.jsxs)("li",{"data-testid":`keyboard-shortcut-${a.id}`,className:"flex items-center justify-between gap-4 py-2",children:[(0,d.jsx)("span",{className:"text-sm text-foreground",children:g(`shortcuts.${a.id}`)}),(0,d.jsx)("span",{className:"flex flex-shrink-0 items-center gap-1",children:a.keys.map((a,b)=>(0,d.jsx)(ag.u,{children:al(a,h)},b))})]},a.id))})]},a))})})}var a7=c(18608),a8=c(55992),a9=c(94260);let ba=[{key:"added",labelKey:"whatsNew.added"},{key:"improved",labelKey:"whatsNew.improved"},{key:"fixed",labelKey:"whatsNew.fixed"}];function bb(){let a=(0,q.c)("common"),b=(0,a8.Ym)(),[c,e]=(0,f.useState)(null),[g,h]=(0,f.useState)(!1),i=(0,f.useCallback)(()=>{c&&function(a){try{window.localStorage.setItem("commandmate.lastSeenAppVersion",a)}catch{}}(c.to),h(!1)},[c]);if(!c)return null;let j="ja"===b?"ja":"en";return(0,d.jsx)(a3.a,{isOpen:g,onClose:i,title:a("whatsNew.title",{from:c.from,to:c.to}),size:"md",children:(0,d.jsxs)("div",{className:"space-y-4","data-testid":"whats-new-dialog",children:[0===c.notes.length?(0,d.jsx)("p",{className:"text-sm text-foreground","data-testid":"whats-new-empty",children:a("whatsNew.empty")}):c.notes.map(b=>(0,d.jsxs)("section",{className:"space-y-3","data-testid":`whats-new-version-${b.version}`,children:[(0,d.jsxs)("h4",{className:"text-sm font-semibold text-foreground",children:["v",b.version,(0,d.jsx)("span",{className:"ml-2 text-xs font-normal text-muted-foreground",children:b.date})]}),b.highlight&&(0,d.jsxs)("div",{"data-testid":"whats-new-highlight",children:[(0,d.jsx)("h5",{className:"text-xs font-medium text-muted-foreground",children:a("whatsNew.highlight")}),(0,d.jsx)("p",{className:"mt-1 text-sm text-foreground",children:b.highlight[j]})]}),ba.map(({key:c,labelKey:e})=>b[c].length>0?(0,d.jsxs)("div",{"data-testid":`whats-new-${c}`,children:[(0,d.jsx)("h5",{className:"text-xs font-medium text-muted-foreground",children:a(e)}),(0,d.jsx)("ul",{className:"mt-1 list-disc space-y-1 pl-5 text-sm text-foreground",children:b[c].map((a,b)=>(0,d.jsx)("li",{children:a[j]},b))})]},c):null)]},b.version)),(0,d.jsxs)("div",{className:"flex items-center justify-between gap-3 border-t border-border pt-3",children:[(0,d.jsx)("a",{href:`https://github.com/Kewton/CommandMate/releases/tag/v${c.to}`,target:"_blank",rel:"noopener noreferrer",className:"text-sm text-accent-600 dark:text-accent-400 hover:underline","data-testid":"whats-new-release-link",children:a("whatsNew.releaseLink")}),(0,d.jsx)(a9.$,{type:"button",variant:"primary",size:"sm",onClick:i,"data-testid":"whats-new-close",children:a("whatsNew.close")})]})]})})}var bc=c(63643);function bd(a,b){return a.worktreeId===b.worktreeId&&a.instanceId===b.instanceId}function be(a){return a.agentInstances&&a.agentInstances.length>0?a.agentInstances.slice().sort((a,b)=>a.order-b.order):a.selectedAgents&&a.selectedAgents.length>0?(0,ax.lu)(a.selectedAgents):a.cliToolId?(0,ax.lu)([a.cliToolId]):[]}function bf(a,b){let c=a.sessionStatusByInstance?.[b.id]??(b.id===b.cliTool?a.sessionStatusByCli?.[b.cliTool]:void 0),d=c?.startingSince,e=a.autoYesByInstance?.[b.id];return{instance:b,label:(0,ax.sw)(b),running:c?.isRunning===!0,starting:"number"==typeof d,autoYes:e?.enabled&&"number"==typeof e.expiresAt?e:null}}var bg=c(16730),bh=c(21768);let bi={promptWaiting:"PROMPT_WAITING",sessionStarting:"SESSION_STARTING",instanceToolConflict:"instance_tool_conflict"};async function bj(a){try{let b=await a.json(),c=b&&"object"==typeof b?b.expiresAt:null;if("number"==typeof c)return{enabled:!0,expiresAt:c}}catch{}return null}async function bk(a){try{let b=await a.json();if(b&&"object"==typeof b){let{error:a,code:c}=b;return{error:"string"==typeof a&&""!==a?a:null,code:"string"==typeof c?c:null}}}catch{}return{error:null,code:null}}async function bl(a,{modelRequested:b}){if(a.ok&&!a.redirected)return{ok:!0};let{status:c}=a,{error:d,code:e}=await bk(a);return{ok:!1,kind:409===c?e===bi.promptWaiting?"prompt_waiting":"conflict":503===c?e===bi.sessionStarting?"starting":"start_failed":400===c?b&&e!==bi.instanceToolConflict?"model_rejected":"invalid":"failed",status:a.ok?0:c,detail:d}}function bm(a){return{ok:!1,kind:"failed",status:0,detail:a instanceof aw.hD||a instanceof Error?a.message:null}}function bn(a,b){return new Promise((c,d)=>{let e=setTimeout(()=>{d(new aw.hD(`Request timed out after ${b}ms`,0,void 0,"timeout"))},b);a().then(a=>{clearTimeout(e),c(a)},a=>{clearTimeout(e),d(a)})})}async function bo(a,b=aw.E){let c,{target:d,cliToolId:e}=a,f=`/api/worktrees/${encodeURIComponent(d.worktreeId)}`,g={"Content-Type":"application/json"},h=!1,i=a.autoYesDuration;if(null!==i){let j,k=!1;try{j=await bn(async()=>{let j=await b(`${f}/auto-yes`,{method:"POST",headers:g,body:JSON.stringify({enabled:!0,cliToolId:e,instanceId:d.instanceId,duration:i,answerMode:a.autoYesAnswerMode??bh.Rb})});if(!j.ok){let{error:a}=await bk(j);return{ok:!1,kind:"auto_yes_failed",status:j.status,detail:a}}return k=!0,c=await bj(j)??void 0,h=void 0===c,null},(0,bg.Z3)("POST"))}catch(a){if(!k){let b=bm(a);return b.ok?b:{...b,kind:"auto_yes_failed"}}return{...bm(a),autoYesStateUnknown:!0}}if(j)return j}let j=a=>c?{...a,armedAutoYes:c}:h?{...a,autoYesStateUnknown:!0}:a,k=a.model?.trim()||void 0,l=(0,bg.SE)();try{return j(await bn(async()=>{let c=await b(`${f}/send`,{method:"POST",headers:g,body:JSON.stringify({content:a.content,cliToolId:e,instanceId:d.instanceId,...k?{model:k}:{}}),timeoutMs:l});return bl(c,{modelRequested:void 0!==k})},l))}catch(a){return j(bm(a))}}var bp=c(37382);let bq="w-full px-3 py-2 border border-input rounded-lg bg-surface text-foreground text-sm focus:outline-none focus:ring-2 focus:ring-ring focus:border-transparent disabled:opacity-60",br="block text-xs font-medium text-muted-foreground mb-1";function bs({status:a,isEmpty:b,onRetry:c}){let e=(0,q.c)("common");return(0,d.jsxs)(d.Fragment,{children:["loading"===a&&(0,d.jsx)("p",{className:"text-sm text-muted-foreground","data-testid":"new-task-loading",children:e("newTask.loading")}),"error"===a&&(0,d.jsxs)("div",{className:"space-y-2",role:"alert","data-testid":"new-task-load-error",children:[(0,d.jsx)("p",{className:"text-sm text-danger",children:e("newTask.loadError")}),(0,d.jsx)("button",{type:"button",onClick:c,className:"px-3 py-1.5 text-sm font-medium text-foreground bg-muted hover:bg-muted/80 rounded-lg",children:e("retry")})]}),"ready"===a&&b&&(0,d.jsx)("p",{className:"text-sm text-muted-foreground","data-testid":"new-task-empty",children:e("newTask.noTargets")})]})}function bt({recentOptions:a,targetState:b,worktreeId:c,onSelect:e}){let f=(0,q.c)("common");return 0===a.length?null:(0,d.jsxs)("div",{children:[(0,d.jsx)("span",{className:br,children:f("newTask.recentLabel")}),(0,d.jsx)("div",{className:"flex flex-wrap gap-2","data-testid":"new-task-recents",children:a.map(({target:a,label:f})=>{let g=!!b&&bd(a,{worktreeId:c,instanceId:b.instance.id});return(0,d.jsx)("button",{type:"button","aria-pressed":g,"data-testid":"new-task-recent",onClick:()=>e(a),className:`max-w-full truncate rounded-full border px-3 py-1 text-xs transition-colors ${g?"border-accent-500 bg-accent-500/15 text-foreground":"border-border text-muted-foreground hover:text-foreground"}`,children:f},`${a.worktreeId}:${a.instanceId}`)})})]})}function bu({repositoryOptions:a,repository:b,worktreeId:c,worktree:e,instances:f,instance:g,onRepositoryChange:h,onBranchChange:i,onAgentChange:j}){let k=(0,q.c)("common");return(0,d.jsxs)("div",{className:"grid grid-cols-1 gap-3 sm:grid-cols-3",children:[(0,d.jsxs)("div",{children:[(0,d.jsx)("label",{htmlFor:"new-task-repository",className:br,children:k("newTask.repositoryLabel")}),(0,d.jsx)("select",{id:"new-task-repository","data-testid":"new-task-repository",value:b?.path??"",onChange:a=>h(a.target.value),className:bq,children:a.map(a=>(0,d.jsx)("option",{value:a.path,children:a.name},a.path))})]}),(0,d.jsxs)("div",{children:[(0,d.jsx)("label",{htmlFor:"new-task-branch",className:br,children:k("newTask.branchLabel")}),(0,d.jsx)("select",{id:"new-task-branch","data-testid":"new-task-branch",value:c,onChange:a=>i(a.target.value),className:bq,children:(b?.worktrees??[]).map(a=>(0,d.jsx)("option",{value:a.id,children:a.name},a.id))})]}),(0,d.jsxs)("div",{children:[(0,d.jsx)("label",{htmlFor:"new-task-agent",className:br,children:k("newTask.agentLabel")}),(0,d.jsx)("select",{id:"new-task-agent","data-testid":"new-task-agent",value:g?.id??"",onChange:a=>j(a.target.value),className:bq,disabled:0===f.length,children:f.map(a=>{let b=e?bf(e,a):null,c=b?.starting?"starting":b?.running?"running":"stopped";return(0,d.jsx)("option",{value:a.id,children:`${b?.label??a.id} — ${k(`newTask.agentStatus.${c}`)}`},a.id)})})]})]})}function bv({statusKey:a,agentLabel:b}){let c=(0,q.c)("common");return(0,d.jsxs)(d.Fragment,{children:["stopped"===a&&(0,d.jsx)("p",{className:"text-xs text-foreground","data-testid":"new-task-will-start",children:c("newTask.willStart",{agent:b})}),"starting"===a&&(0,d.jsx)("p",{className:"text-xs text-warning-foreground","data-testid":"new-task-starting",children:c("newTask.startingNotice",{agent:b})})]})}function bw({modelAvailability:a,model:b,cliTool:c,agentLabel:e,onChange:f}){let g=(0,q.c)("common");return(0,d.jsxs)("div",{children:[(0,d.jsx)("label",{htmlFor:"new-task-model",className:br,children:g("newTask.modelLabel")}),(0,d.jsx)("input",{id:"new-task-model","data-testid":"new-task-model",type:"text",value:a?.selectable?b:"",onChange:a=>f(a.target.value),placeholder:g("newTask.modelPlaceholder"),disabled:!a?.selectable,className:bq}),a&&(0,d.jsx)("p",{className:"mt-1 text-xs text-muted-foreground","data-testid":"new-task-model-note",children:a.selectable?g("copilot"===c?"newTask.modelHintSwitch":"newTask.modelHintLaunch"):g(`newTask.modelUnavailable.${a.reason}`,{agent:e})})]})}function bx({armedAutoYes:a,autoYesChoice:b,autoYesUnknown:c,onChoiceChange:e,answerMode:f,onAnswerModeChange:g}){let h=(0,q.c)("common"),i=(0,q.c)("autoYes");return(0,d.jsxs)("div",{children:[(0,d.jsx)("label",{htmlFor:"new-task-auto-yes",className:br,children:h("newTask.autoYesLabel")}),a?(0,d.jsx)("p",{className:"text-sm text-foreground","data-testid":"new-task-auto-yes-active",children:h("newTask.autoYesActive",{remaining:(0,bc.$B)(a.expiresAt)})}):(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("select",{id:"new-task-auto-yes","data-testid":"new-task-auto-yes",value:b??"",onChange:a=>{let b=Number(a.target.value);e(""!==a.target.value&&(0,bc.dR)(b)?b:null)},className:bq,children:[(0,d.jsx)("option",{value:"",children:h(c?"newTask.autoYesKeepUnknown":"newTask.autoYesKeep")}),bc._q.map(a=>(0,d.jsx)("option",{value:a,children:h("newTask.autoYesEnableFor",{duration:i("durationHours",{hours:(0,bc.nG)(a)})})},a))]}),c&&(0,d.jsx)("p",{className:"mt-1 text-xs text-warning-foreground","data-testid":"new-task-auto-yes-unknown",children:h("newTask.autoYesUnknown")}),(0,d.jsx)("p",{className:"mt-1 text-xs text-muted-foreground",children:h("newTask.autoYesScope")}),null!==b&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("div",{className:"mt-2",children:(0,d.jsx)(bp.o,{value:f,onChange:g,idPrefix:"new-task-auto-yes-answer-mode",labelClassName:br})}),(0,d.jsx)("p",{className:"mt-1 text-xs text-warning-foreground","data-testid":"new-task-auto-yes-risk",children:i("riskWarning")})]})]})]})}function by({failure:a,agentLabel:b}){let c=(0,q.c)("common");return a?(0,d.jsxs)("div",{role:"alert","data-testid":"new-task-error","data-kind":a.kind,className:"rounded-lg border border-danger-border bg-danger-subtle px-3 py-2 text-sm text-danger-foreground",children:[(0,d.jsx)("p",{children:c(`newTask.errors.${a.kind}`,{agent:b})}),a.detail&&(0,d.jsx)("p",{className:"mt-1 break-words text-xs text-muted-foreground","data-testid":"new-task-error-detail",children:a.detail})]}):null}function bz(){var a;let{requestedTarget:b,screenTarget:c,closeNewTask:g,setCloseLocked:h}=(0,ai.hX)(),i=(0,e.useRouter)(),{showToast:j}=(0,au.dj)(),k=(0,q.c)("common"),[l,m]=(0,f.useState)({status:"loading"}),[n,o]=(0,f.useState)(0),[p]=(0,f.useState)(()=>[]),[r,s]=(0,f.useState)(""),[t,u]=(0,f.useState)(""),[v,w]=(0,f.useState)(""),[x,y]=(0,f.useState)(""),[z,A]=(0,f.useState)(null),[B,C]=(0,f.useState)(bh.Rb),[D,E]=(0,f.useState)(!1),[F,G]=(0,f.useState)(null),[H,I]=(0,f.useState)(!1),K=(0,f.useRef)(null),L=(0,f.useRef)(!0),M=(0,f.useRef)(!1),[N,O]=(0,f.useState)({}),[P,Q]=(0,f.useState)({}),R=(0,f.useCallback)(()=>{M.current||g()},[g]);(0,f.useRef)([b,c,p[0]??null]),(0,f.useRef)(!1);let S=(0,f.useMemo)(()=>"ready"===l.status?l.worktrees:[],[l]),T=(0,f.useMemo)(()=>"ready"===l.status?function(a,b=[]){let c=new Map;for(let d of a){let a=c.get(d.repositoryPath);if(!a){let e=b.find(a=>a.path===d.repositoryPath);a={path:d.repositoryPath,name:e?.displayName||e?.name||d.repositoryName,worktrees:[]},c.set(d.repositoryPath,a)}a.worktrees.push(d)}let d=Array.from(c.values());for(let a of d)a.worktrees.sort((a,b)=>a.name.localeCompare(b.name));return d.sort((a,b)=>a.name.localeCompare(b.name))}(l.worktrees,l.repositories):[],[l]),U=S.find(a=>a.id===r)??null,V=(0,f.useMemo)(()=>U?be(U):[],[U]),W=V.find(a=>a.id===t)??null,X=U&&W?bf(U,W):null,Y=U?T.find(a=>a.path===U.repositoryPath)??null:null,Z=X?(a=X.instance.cliTool,"copilot"===a?{selectable:!0}:"claude"===a||"antigravity"===a?X.running||X.starting?{selectable:!1,reason:"running"}:{selectable:!0}:{selectable:!1,reason:"unsupported"}):null,$=X?P[`${r}:${X.instance.id}`]??X.autoYes:null,_=!function(a,b=Date.now()){return!!a&&a.enabled&&"number"==typeof a.expiresAt&&a.expiresAt-b>0}($)?null:$,aa=!!X&&!0===N[`${r}:${X.instance.id}`],[,ab]=(0,f.useState)(0),ac=(0,f.useMemo)(()=>p.flatMap(a=>{let b=function(a,b){let c=a.find(a=>a.id===b.worktreeId);if(!c)return null;let d=be(c).find(a=>a.id===b.instanceId);return d?{worktree:c,instance:d}:null}(S,a);if(!b)return[];let c=T.find(a=>a.path===b.worktree.repositoryPath),d=bf(b.worktree,b.instance).label;return[{target:a,label:`${c?.name??b.worktree.repositoryName} / ${b.worktree.name} / ${d}`}]}),[p,S,T]),ad=(0,f.useCallback)(a=>{s(a.worktreeId),u(a.instanceId),G(null)},[]),ae=(0,f.useCallback)(a=>{let b=T.find(b=>b.path===a),c=b?.worktrees.find(a=>be(a).length>0)??b?.worktrees[0];c&&ad({worktreeId:c.id,instanceId:be(c)[0]?.id??""})},[T,ad]),af=(0,f.useCallback)(a=>{let b=S.find(b=>b.id===a);if(!b)return;let c=be(b),d=c.find(a=>a.id===t);ad({worktreeId:b.id,instanceId:d?.id??c[0]?.id??""})},[S,t,ad]),ah=!!X&&""!==v.trim()&&!D,aj=(0,f.useCallback)(async()=>{var a;if(!ah||!U||!X)return;let b={worktreeId:U.id,instanceId:X.instance.id};M.current=!0,h(!0),E(!0),G(null);let c=await bo({target:b,cliToolId:X.instance.cliTool,content:v.trim(),model:Z?.selectable?x:void 0,autoYesDuration:_?null:z,autoYesAnswerMode:B});if(M.current=!1,h(!1),!L.current)return;let{armedAutoYes:d}=c,e=`${b.worktreeId}:${b.instanceId}`;if(c.autoYesStateUnknown&&O(a=>({...a,[e]:!0})),d&&(O(a=>{let{[e]:b,...c}=a;return c}),Q(a=>({...a,[e]:d})),A(null),C(bh.Rb)),!c.ok){G(c),E(!1);return}[{worktreeId:(a=b).worktreeId,instanceId:a.instanceId},...[].filter(b=>!bd(b,a))].slice(0,3);let f=`${window.location.pathname}${window.location.search}`,l=`${U.name} / ${X.label}`;g(),i.push((0,J.Ii)(b)),j(k("newTask.sentToast",{target:l}),"success",6e3,{onClick:()=>i.push(f)})},[ah,U,X,v,Z,x,_,z,B,g,h,i,j,k]),ak=(0,f.useCallback)(a=>{var b,c;!0!==(c=b=a.nativeEvent).isComposing&&229!==c.keyCode&&"Enter"===b.key&&!b.shiftKey&&!b.altKey&&(b.metaKey||b.ctrlKey)&&(a.preventDefault(),aj())},[aj]),am=X?.label??"",an=X?X.starting?"starting":X.running?"running":"stopped":null;return(0,d.jsx)(a3.a,{isOpen:!0,onClose:R,title:k("newTask.title"),size:"md",disableClose:D,children:(0,d.jsxs)("div",{"data-testid":"new-task-dialog",className:"space-y-4",onKeyDown:ak,children:[(0,d.jsx)(bs,{status:l.status,isEmpty:0===T.length,onRetry:()=>o(a=>a+1)}),"ready"===l.status&&T.length>0&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(bt,{recentOptions:ac,targetState:X,worktreeId:r,onSelect:ad}),(0,d.jsx)(bu,{repositoryOptions:T,repository:Y,worktreeId:r,worktree:U,instances:V,instance:W,onRepositoryChange:ae,onBranchChange:af,onAgentChange:a=>ad({worktreeId:r,instanceId:a})}),(0,d.jsx)(bv,{statusKey:an,agentLabel:am}),(0,d.jsxs)("div",{children:[(0,d.jsx)("label",{htmlFor:"new-task-message",className:br,children:k("newTask.messageLabel")}),(0,d.jsx)("textarea",{ref:K,id:"new-task-message","data-testid":"new-task-message",value:v,onChange:a=>w(a.target.value),placeholder:k("newTask.messagePlaceholder"),rows:5,className:`${bq} resize-y`})]}),(0,d.jsxs)("div",{className:"grid grid-cols-1 gap-3 sm:grid-cols-2",children:[(0,d.jsx)(bw,{modelAvailability:Z,model:x,cliTool:X?.instance.cliTool,agentLabel:am,onChange:y}),(0,d.jsx)(bx,{armedAutoYes:_,autoYesChoice:z,autoYesUnknown:aa,onChoiceChange:A,answerMode:B,onAnswerModeChange:C})]})]}),(0,d.jsx)(by,{failure:F,agentLabel:am}),(0,d.jsxs)("div",{className:"flex items-center justify-end gap-2",children:[(0,d.jsxs)("span",{className:"mr-auto hidden items-center gap-1 text-xs text-muted-foreground sm:flex",children:[(0,d.jsx)(ag.u,{children:al("MOD",H)}),(0,d.jsx)(ag.u,{children:"↵"}),(0,d.jsx)("span",{children:k("newTask.sendHint")})]}),(0,d.jsx)("button",{type:"button","data-testid":"new-task-cancel",onClick:R,disabled:D,className:"px-4 py-2 text-sm font-medium text-foreground bg-muted hover:bg-muted/80 rounded-lg transition-colors disabled:opacity-50",children:k("cancel")}),(0,d.jsx)("button",{type:"button","data-testid":"new-task-send",onClick:()=>void aj(),disabled:!ah,className:"px-4 py-2 text-sm font-medium text-white bg-accent-600 hover:bg-accent-700 disabled:opacity-50 disabled:cursor-not-allowed rounded-lg transition-colors",children:D?k("newTask.sending"):k("newTask.send")})]})]})})}function bA(){let{isOpen:a,openNewTask:b}=(0,ai.hX)(),{open:c}=(0,ah.C)();return(0,f.useRef)(c),a?(0,d.jsx)(bz,{}):null}var bB=c(11010);let bC="transform transition-transform duration-300 ease-out",bD=(0,f.memo)(function({children:a}){let{isOpen:b,isMobileDrawerOpen:c,closeMobileDrawer:g,width:m,setWidth:n,repoTabBarMode:o,toggle:p}=(0,h.VF)(),q=(0,i.a)(),{showSidebar:r,showGlobalNav:s}=function(){var a=(0,e.usePathname)();for(let b of k)if(a.startsWith(b.prefix))return{...j,...b.config};return{...j}}(),{open:t}=(0,ah.C)();(0,f.useRef)(t),(0,f.useRef)(p);let{factor:u}=(0,l.Ps)(),v=Math.round(160*u),w=Math.round(480*u),x=Math.round(Math.min(w,Math.max(v,m*u))),y=(0,J.fs)(o??J.PB,b),z=(0,f.useRef)(null),A=(0,f.useRef)(null),B=(0,f.useRef)(null),C=(0,f.useRef)(c);(0,f.useLayoutEffect)(()=>{let a=C.current;if(C.current=c,!q||!a||c)return;let b=document.activeElement,d=b instanceof HTMLElement&&B.current?.contains(b)===!0;(d||null===b||b===document.body)&&!(0,a$.Bl)()&&d&&b.blur()},[q,c]);let D=(0,f.useCallback)(a=>{n(Math.round(a/u))},[n,u]);return q?(0,d.jsx)(ai.Zg,{children:(0,d.jsxs)("div",{"data-testid":"app-shell",className:"h-screen flex flex-col",children:[(0,d.jsx)(a1,{}),c&&(0,d.jsx)("div",{"data-testid":"drawer-overlay",className:"fixed inset-0 bg-black/50 z-40",onClick:g,"aria-hidden":"true"}),r&&(0,d.jsx)("aside",{ref:B,"data-testid":"sidebar-container",className:`
|
|
45
|
+
fixed left-0 top-0 h-full w-72 max-w-[85vw] z-50 bg-sidebar pt-safe pb-safe
|
|
46
|
+
${bC}
|
|
47
|
+
${c?"translate-x-0":"-translate-x-full"}
|
|
48
|
+
`,role:"complementary",children:(0,d.jsx)(aB,{})}),(0,d.jsx)("main",{className:`flex-1 min-h-0 overflow-hidden ${s?"pb-nav-safe":""}`,role:"main","data-view-transition":"content",children:a}),s&&(0,d.jsx)(a0,{}),(0,d.jsx)(a2.xq,{}),(0,d.jsx)(a6,{}),(0,d.jsx)(a7.n,{}),(0,d.jsx)(bb,{}),(0,d.jsx)(bA,{})]})}):(0,d.jsx)(ai.Zg,{children:(0,d.jsxs)("div",{"data-testid":"app-shell",className:"h-screen flex flex-col",children:[(0,d.jsxs)("div",{className:"flex flex-1 min-h-0",children:[r&&(0,d.jsxs)("aside",{ref:z,"data-testid":"sidebar-container",className:`
|
|
49
|
+
fixed left-0 top-0 h-full
|
|
50
|
+
border-r border-border
|
|
51
|
+
${bC}
|
|
52
|
+
${b?"translate-x-0":"-translate-x-full"}
|
|
53
|
+
`,style:{width:`${x}px`,zIndex:bB.M.SIDEBAR},role:"complementary","aria-hidden":!b,children:[(0,d.jsx)(aB,{}),(0,d.jsx)(bE,{currentWidth:x,minWidth:v,maxWidth:w,sidebarRef:z,mainRef:A,onWidthChange:D})]}),r&&!b&&(0,d.jsx)("aside",{"data-testid":"sidebar-rail-container",className:`
|
|
54
|
+
fixed left-0 top-0 h-full
|
|
55
|
+
border-r border-border
|
|
56
|
+
`,style:{width:`${J.BN}px`,zIndex:bB.M.SIDEBAR},children:(0,d.jsx)(aW,{})}),(0,d.jsxs)("main",{ref:A,className:"flex-1 min-w-0 h-full overflow-hidden flex flex-col transition-[padding] duration-300 ease-out",style:{paddingLeft:r?`${b?x:J.BN}px`:0},role:"main","data-view-transition":"content",children:[y&&(0,d.jsx)(aX.vP,{}),s&&(0,d.jsx)(aQ,{}),(0,d.jsx)("div",{className:"flex-1 min-h-0",children:a})]})]}),(0,d.jsx)(a2.xq,{}),(0,d.jsx)(a6,{}),(0,d.jsx)(a7.n,{}),(0,d.jsx)(bb,{}),(0,d.jsx)(bA,{})]})})});function bE({currentWidth:a,minWidth:b,maxWidth:c,sidebarRef:e,mainRef:f,onWidthChange:g}){return(0,d.jsx)("div",{"data-testid":"sidebar-resize-handle","aria-hidden":"true",onMouseDown:d=>{d.preventDefault();let h=d.clientX,i=a;f.current&&(f.current.style.transition="none");let j=d=>{i=Math.max(b,Math.min(c,a+(d.clientX-h))),e.current&&(e.current.style.width=`${i}px`),f.current&&(f.current.style.paddingLeft=`${i}px`)},k=()=>{document.body.style.cursor="",document.body.style.userSelect="",f.current&&(f.current.style.transition=""),document.removeEventListener("mousemove",j),document.removeEventListener("mouseup",k),g(i)};document.body.style.cursor="col-resize",document.body.style.userSelect="none",document.addEventListener("mousemove",j),document.addEventListener("mouseup",k)},className:"absolute top-0 right-0 w-1 h-full cursor-col-resize hover:bg-accent-500/40 transition-colors"})}let bF=["/login","/offline","/proxy"],bG=/^\/worktrees\/[^/]+\/(terminal|files)(\/|$)/;function bH({children:a}){var b;return(b=(0,e.usePathname)()??"",bF.some(a=>b===a||b.startsWith(`${a}/`))||bG.test(b)||0)?(0,d.jsx)(d.Fragment,{children:a}):(0,d.jsx)(bD,{children:a})}},99127:(a,b,c)=>{var d={"./en/notifications.json":[49358,9358],"./ja/notifications.json":[61296,1296]};function e(a){if(!c.o(d,a))return Promise.resolve().then(()=>{var b=Error("Cannot find module '"+a+"'");throw b.code="MODULE_NOT_FOUND",b});var b=d[a],e=b[0];return c.e(b[1]).then(()=>c.t(e,19))}e.keys=()=>Object.keys(d),e.id=99127,a.exports=e}};
|