commandmate 0.47.0 → 0.47.2
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 +501 -501
- package/.next/app-path-routes-manifest.json +36 -36
- package/.next/build-manifest.json +8 -8
- package/.next/diagnostics/framework.json +1 -1
- package/.next/next-minimal-server.js.nft.json +1 -1
- package/.next/next-server.js.nft.json +1 -1
- package/.next/prerender-manifest.json +15 -15
- package/.next/react-loadable-manifest.json +1 -1
- package/.next/required-server-files.json +1 -1
- package/.next/server/app/_not-found/page.js +2 -2
- package/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/server/app/api/agents/update/route.js +2 -2
- package/.next/server/app/api/agents/update/route.js.nft.json +1 -1
- package/.next/server/app/api/agents/update/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/agents/versions/route.js +1 -1
- package/.next/server/app/api/agents/versions/route.js.nft.json +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.js +1 -1
- package/.next/server/app/api/app/release-notes/route.js.nft.json +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.js +5 -5
- package/.next/server/app/api/app/update/route.js.nft.json +1 -1
- package/.next/server/app/api/app/update/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/app/update-check/route.js +1 -1
- package/.next/server/app/api/app/update-check/route.js.nft.json +1 -1
- package/.next/server/app/api/app/update-check/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/auth/login/route.js +1 -1
- package/.next/server/app/api/auth/login/route.js.nft.json +1 -1
- package/.next/server/app/api/auth/login/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/auth/logout/route.js +1 -1
- package/.next/server/app/api/auth/logout/route.js.nft.json +1 -1
- package/.next/server/app/api/auth/logout/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/auth/status/route.js +1 -1
- package/.next/server/app/api/auth/status/route.js.nft.json +1 -1
- package/.next/server/app/api/auth/status/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/capabilities/route.js +1 -1
- package/.next/server/app/api/capabilities/route.js.nft.json +1 -1
- package/.next/server/app/api/capabilities/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/daily-summary/route.js +1 -1
- package/.next/server/app/api/daily-summary/route.js.nft.json +1 -1
- package/.next/server/app/api/daily-summary/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/daily-summary/status/route.js +1 -1
- package/.next/server/app/api/daily-summary/status/route.js.nft.json +1 -1
- package/.next/server/app/api/daily-summary/status/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/external-apps/[id]/health/route.js +1 -1
- package/.next/server/app/api/external-apps/[id]/health/route.js.nft.json +1 -1
- package/.next/server/app/api/external-apps/[id]/health/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/external-apps/[id]/route.js +1 -1
- package/.next/server/app/api/external-apps/[id]/route.js.nft.json +1 -1
- package/.next/server/app/api/external-apps/[id]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/external-apps/route.js +1 -1
- package/.next/server/app/api/external-apps/route.js.nft.json +1 -1
- package/.next/server/app/api/external-apps/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/fs/browse/route.js +1 -1
- package/.next/server/app/api/fs/browse/route.js.nft.json +1 -1
- package/.next/server/app/api/fs/browse/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/fs/recent-paths/route.js +1 -1
- package/.next/server/app/api/fs/recent-paths/route.js.nft.json +1 -1
- package/.next/server/app/api/fs/recent-paths/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/hooks/agent-event/route.js +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.js +2 -2
- package/.next/server/app/api/metrics/vibe/route.js.nft.json +1 -1
- package/.next/server/app/api/metrics/vibe/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/ollama/models/route.js +1 -1
- package/.next/server/app/api/ollama/models/route.js.nft.json +1 -1
- package/.next/server/app/api/ollama/models/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/push/escalation/route.js +1 -1
- package/.next/server/app/api/push/escalation/route.js.nft.json +1 -1
- package/.next/server/app/api/push/escalation/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/push/subscriptions/route.js +1 -1
- package/.next/server/app/api/push/subscriptions/route.js.nft.json +1 -1
- package/.next/server/app/api/push/subscriptions/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/push/vapid/route.js +1 -1
- package/.next/server/app/api/push/vapid/route.js.nft.json +1 -1
- package/.next/server/app/api/push/vapid/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/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/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.js +2 -2
- package/.next/server/app/api/remote/pair/route.js.nft.json +1 -1
- package/.next/server/app/api/remote/pair/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/repositories/[id]/route.js +1 -1
- package/.next/server/app/api/repositories/[id]/route.js.nft.json +1 -1
- package/.next/server/app/api/repositories/[id]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/repositories/clone/[jobId]/route.js +1 -1
- package/.next/server/app/api/repositories/clone/[jobId]/route.js.nft.json +1 -1
- package/.next/server/app/api/repositories/clone/[jobId]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/repositories/clone/route.js +1 -1
- package/.next/server/app/api/repositories/clone/route.js.nft.json +1 -1
- package/.next/server/app/api/repositories/clone/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/repositories/excluded/route.js +1 -1
- package/.next/server/app/api/repositories/excluded/route.js.nft.json +1 -1
- package/.next/server/app/api/repositories/excluded/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/repositories/restore/route.js +1 -1
- package/.next/server/app/api/repositories/restore/route.js.nft.json +1 -1
- package/.next/server/app/api/repositories/restore/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/repositories/route.js +1 -1
- package/.next/server/app/api/repositories/route.js.nft.json +1 -1
- package/.next/server/app/api/repositories/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/repositories/scan/route.js +1 -1
- package/.next/server/app/api/repositories/scan/route.js.nft.json +1 -1
- package/.next/server/app/api/repositories/scan/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/repositories/sync/route.js +1 -1
- package/.next/server/app/api/repositories/sync/route.js.nft.json +1 -1
- package/.next/server/app/api/repositories/sync/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/repositories/validate-path/route.js +1 -1
- package/.next/server/app/api/repositories/validate-path/route.js.nft.json +1 -1
- package/.next/server/app/api/repositories/validate-path/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/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.js +1 -1
- package/.next/server/app/api/settings/default-surface-mode/route.js.nft.json +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.js +1 -1
- package/.next/server/app/api/sidebar/group-order/route.js.nft.json +1 -1
- package/.next/server/app/api/sidebar/group-order/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/skills/[id]/route.js +1 -1
- package/.next/server/app/api/skills/[id]/route.js.nft.json +1 -1
- package/.next/server/app/api/skills/[id]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/skills/installations/route.js +1 -1
- package/.next/server/app/api/skills/installations/route.js.nft.json +1 -1
- package/.next/server/app/api/skills/installations/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/skills/operations/route.js +2 -2
- package/.next/server/app/api/skills/operations/route.js.nft.json +1 -1
- package/.next/server/app/api/skills/operations/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/skills/reindex/route.js +1 -1
- package/.next/server/app/api/skills/reindex/route.js.nft.json +1 -1
- package/.next/server/app/api/skills/reindex/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/skills/route.js +1 -1
- package/.next/server/app/api/skills/route.js.nft.json +1 -1
- package/.next/server/app/api/skills/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/slash-commands/route.js +1 -1
- package/.next/server/app/api/slash-commands/route.js.nft.json +1 -1
- package/.next/server/app/api/slash-commands/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/tasks/[taskId]/cancel/route.js +1 -1
- package/.next/server/app/api/tasks/[taskId]/cancel/route.js.nft.json +1 -1
- package/.next/server/app/api/tasks/[taskId]/cancel/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/tasks/[taskId]/route.js +1 -1
- package/.next/server/app/api/tasks/[taskId]/route.js.nft.json +1 -1
- package/.next/server/app/api/tasks/[taskId]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/templates/[id]/route.js +1 -1
- package/.next/server/app/api/templates/[id]/route.js.nft.json +1 -1
- package/.next/server/app/api/templates/[id]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/templates/route.js +1 -1
- package/.next/server/app/api/templates/route.js.nft.json +1 -1
- package/.next/server/app/api/templates/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/verification/runs/[runId]/route.js +1 -1
- package/.next/server/app/api/verification/runs/[runId]/route.js.nft.json +1 -1
- package/.next/server/app/api/verification/runs/[runId]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/verification/runs/route.js +1 -1
- package/.next/server/app/api/verification/runs/route.js.nft.json +1 -1
- package/.next/server/app/api/verification/runs/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/auto-yes/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/auto-yes/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/auto-yes/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/capture/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/capture/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/capture/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/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.js.nft.json +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.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/cli-tool/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/cmate/schedules/route.js +7 -7
- package/.next/server/app/api/worktrees/[id]/cmate/schedules/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/cmate/schedules/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/current-output/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/current-output/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/current-output/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/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 +2 -2
- package/.next/server/app/api/worktrees/[id]/env/route.js.nft.json +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.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/execution-logs/[logId]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/execution-logs/route.js +3 -3
- package/.next/server/app/api/worktrees/[id]/execution-logs/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/execution-logs/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/files/[...path]/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/files/[...path]/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/files/[...path]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/branch/create/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/branch/create/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/git/branch/create/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/branch/delete/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/branch/delete/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/git/branch/delete/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/branches/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/branches/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/git/branches/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/checkout/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/checkout/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/git/checkout/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/commit/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/commit/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/git/commit/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/diff/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/diff/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/git/diff/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/fetch/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/fetch/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/git/fetch/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/log/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/log/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/git/log/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/pull/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/pull/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/git/pull/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/push/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/push/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/git/push/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/reset/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/reset/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/git/reset/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/revert/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/revert/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/git/revert/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/show/[commitHash]/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/show/[commitHash]/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/git/show/[commitHash]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/stage/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/stage/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/git/stage/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/staged/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/staged/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/git/staged/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/stash/[index]/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/stash/[index]/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/git/stash/[index]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/stash/apply/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/stash/apply/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/git/stash/apply/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/stash/pop/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/stash/pop/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/git/stash/pop/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/stash/push/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/stash/push/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/git/stash/push/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/stash/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/stash/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/git/stash/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/status/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/status/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/git/status/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/unstage/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/unstage/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/git/unstage/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/working-diff/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/working-diff/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/git/working-diff/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/instances/notes/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/instances/notes/route.js.nft.json +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 +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.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/logs/[filename]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/logs/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/logs/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/logs/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/marp-render/route.js +3 -3
- package/.next/server/app/api/worktrees/[id]/marp-render/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/marp-render/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/memos/[memoId]/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/memos/[memoId]/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/memos/[memoId]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/memos/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/memos/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/memos/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/messages/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/messages/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/messages/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/opencode/diff/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/opencode/diff/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/opencode/diff/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/opencode/session/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/opencode/session/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/opencode/session/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/opencode/share/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/opencode/share/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/opencode/share/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/prompt-response/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/prompt-response/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/prompt-response/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/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.js.nft.json +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 +2 -2
- package/.next/server/app/api/worktrees/[id]/schedules/[scheduleId]/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/schedules/[scheduleId]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/schedules/active/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/schedules/active/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/schedules/active/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/schedules/route.js +3 -3
- package/.next/server/app/api/worktrees/[id]/schedules/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/schedules/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/search/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/search/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/search/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/send/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/send/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/send/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/git-workflow/route.js +5 -5
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/git-workflow/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/git-workflow/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/install/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/install/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/install/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/plan/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/plan/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/plan/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/uninstall/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/uninstall/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/uninstall/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/uninstall-plan/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/uninstall-plan/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/uninstall-plan/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/update/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/update/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/update/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/update-plan/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/update-plan/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/update-plan/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/slash-commands/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/slash-commands/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/slash-commands/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/special-keys/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/special-keys/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/special-keys/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/tasks/route.js +2 -2
- package/.next/server/app/api/worktrees/[id]/tasks/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/tasks/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/terminal/route.js +2 -2
- package/.next/server/app/api/worktrees/[id]/terminal/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/terminal/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/timers/history/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/timers/history/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/timers/history/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/timers/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/timers/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/timers/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/todos/[todoId]/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/todos/[todoId]/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/todos/[todoId]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/todos/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/todos/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/todos/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/tree/[...path]/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/tree/[...path]/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/tree/[...path]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/tree/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/tree/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/tree/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/upload/[...path]/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/upload/[...path]/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/upload/[...path]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/verify/config/route.js +2 -2
- package/.next/server/app/api/worktrees/[id]/verify/config/route.js.nft.json +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.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/verify/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/verify/runs/[runId]/cancel/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/verify/runs/[runId]/cancel/route.js.nft.json +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.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/verify/runs/[runId]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/verify/runs/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/verify/runs/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/verify/runs/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/viewed/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/viewed/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/viewed/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/apply-default-agents/route.js +1 -1
- package/.next/server/app/api/worktrees/apply-default-agents/route.js.nft.json +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/apple-icon.png/route.js +1 -1
- package/.next/server/app/apple-icon.png/route.js.nft.json +1 -1
- package/.next/server/app/apple-icon.png.meta +1 -1
- package/.next/server/app/icon.png/route.js +1 -1
- package/.next/server/app/icon.png/route.js.nft.json +1 -1
- package/.next/server/app/icon.png.meta +1 -1
- package/.next/server/app/icon1.png/route.js +1 -1
- package/.next/server/app/icon1.png/route.js.nft.json +1 -1
- package/.next/server/app/icon1.png.meta +1 -1
- package/.next/server/app/icon2.png/route.js +1 -1
- package/.next/server/app/icon2.png/route.js.nft.json +1 -1
- package/.next/server/app/icon2.png.meta +1 -1
- package/.next/server/app/login/page.js +2 -2
- package/.next/server/app/login/page.js.nft.json +1 -1
- package/.next/server/app/login/page_client-reference-manifest.js +1 -1
- package/.next/server/app/manifest.webmanifest/route.js +2 -2
- package/.next/server/app/manifest.webmanifest/route.js.nft.json +1 -1
- package/.next/server/app/manifest.webmanifest/route_client-reference-manifest.js +1 -1
- package/.next/server/app/manifest.webmanifest.meta +1 -1
- package/.next/server/app/more/page.js +2 -2
- package/.next/server/app/more/page.js.nft.json +1 -1
- package/.next/server/app/more/page_client-reference-manifest.js +1 -1
- package/.next/server/app/offline/page.js +2 -2
- package/.next/server/app/offline/page.js.nft.json +1 -1
- package/.next/server/app/offline/page_client-reference-manifest.js +1 -1
- package/.next/server/app/page.js +2 -2
- package/.next/server/app/page.js.nft.json +1 -1
- package/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/server/app/proxy/[...path]/route.js +1 -1
- package/.next/server/app/proxy/[...path]/route.js.nft.json +1 -1
- package/.next/server/app/proxy/[...path]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/repositories/page.js +2 -2
- package/.next/server/app/repositories/page.js.nft.json +1 -1
- package/.next/server/app/repositories/page_client-reference-manifest.js +1 -1
- package/.next/server/app/review/page.js +2 -2
- package/.next/server/app/review/page.js.nft.json +1 -1
- package/.next/server/app/review/page_client-reference-manifest.js +1 -1
- package/.next/server/app/sessions/page.js +2 -2
- package/.next/server/app/sessions/page.js.nft.json +1 -1
- package/.next/server/app/sessions/page_client-reference-manifest.js +1 -1
- package/.next/server/app/skills/[skillId]/page.js +2 -2
- package/.next/server/app/skills/[skillId]/page.js.nft.json +1 -1
- package/.next/server/app/skills/[skillId]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/skills/installed/page.js +2 -2
- package/.next/server/app/skills/installed/page.js.nft.json +1 -1
- package/.next/server/app/skills/installed/page_client-reference-manifest.js +1 -1
- package/.next/server/app/skills/page.js +2 -2
- package/.next/server/app/skills/page.js.nft.json +1 -1
- package/.next/server/app/skills/page_client-reference-manifest.js +1 -1
- package/.next/server/app/worktrees/[id]/files/[...path]/page.js +2 -2
- package/.next/server/app/worktrees/[id]/files/[...path]/page.js.nft.json +1 -1
- package/.next/server/app/worktrees/[id]/files/[...path]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/worktrees/[id]/page.js +4 -4
- package/.next/server/app/worktrees/[id]/page.js.nft.json +1 -1
- package/.next/server/app/worktrees/[id]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/worktrees/[id]/terminal/page.js +3 -3
- package/.next/server/app/worktrees/[id]/terminal/page.js.nft.json +1 -1
- package/.next/server/app/worktrees/[id]/terminal/page_client-reference-manifest.js +1 -1
- package/.next/server/app-paths-manifest.json +36 -36
- package/.next/server/chunks/{5048.js → 1185.js} +1 -1
- package/.next/server/chunks/1656.js +19 -0
- package/.next/server/chunks/2460.js +1 -1
- package/.next/server/chunks/255.js +1 -0
- package/.next/server/chunks/3241.js +1 -1
- package/.next/server/chunks/3505.js +7 -0
- package/.next/server/chunks/3897.js +22 -0
- package/.next/server/chunks/4072.js +5 -5
- package/.next/server/chunks/463.js +1 -0
- package/.next/server/chunks/5209.js +1 -1
- package/.next/server/chunks/5595.js +1 -1
- package/.next/server/chunks/5611.js +1 -1
- package/.next/server/chunks/610.js +1 -0
- package/.next/server/chunks/6119.js +1 -0
- package/.next/server/chunks/6130.js +1 -1
- package/.next/server/chunks/6345.js +1 -1
- package/.next/server/chunks/6401.js +1 -1
- package/.next/server/chunks/6781.js +1 -1
- package/.next/server/chunks/6784.js +1 -0
- package/.next/server/chunks/8581.js +1 -1
- package/.next/server/chunks/8728.js +2 -2
- package/.next/server/chunks/8918.js +1 -1
- package/.next/server/chunks/9130.js +1 -1
- package/.next/server/chunks/936.js +1 -1
- package/.next/server/chunks/9390.js +1 -1
- package/.next/server/chunks/9540.js +1 -1
- package/.next/server/chunks/9627.js +1 -1
- package/.next/server/chunks/9731.js +3 -3
- package/.next/server/middleware-build-manifest.js +1 -1
- package/.next/server/middleware-manifest.json +5 -5
- package/.next/server/middleware-react-loadable-manifest.js +1 -1
- package/.next/server/pages/500.html +1 -1
- package/.next/server/pages/_document.js.nft.json +1 -1
- package/.next/server/pages/_error.js +3 -3
- package/.next/server/pages/_error.js.nft.json +1 -1
- package/.next/server/server-reference-manifest.json +1 -1
- package/.next/server/src/middleware.js.map +1 -1
- package/.next/static/chunks/{1111.5ab4f0ffb0d944e5.js → 1111.1b653d4a9816a0a7.js} +8 -8
- package/.next/static/chunks/{1255-7e5873f06b25e129.js → 1255-a85690d352f4f8fd.js} +1 -1
- package/.next/static/chunks/{2407-b2f524f99f7fc353.js → 2407-a6533805a86d05bd.js} +1 -1
- package/.next/static/chunks/9465-b59bb255b376c813.js +1 -0
- package/.next/static/chunks/app/{layout-419eaf7de340f4ab.js → layout-538d8d2746ad1588.js} +1 -1
- package/.next/static/chunks/app/worktrees/[id]/page-46aced20b2b1c010.js +1 -0
- package/.next/static/chunks/main-37ca13e38030fe8b.js +1 -0
- package/.next/static/chunks/{webpack-468b7b33030234b3.js → webpack-838df0273b03af19.js} +1 -1
- package/.next/trace +13 -13
- package/dist/cli/commands/prompt.d.ts.map +1 -1
- package/dist/cli/commands/prompt.js +23 -11
- package/dist/cli/commands/wait.d.ts.map +1 -1
- package/dist/cli/commands/wait.js +7 -1
- package/dist/cli/types/api-responses.d.ts +15 -2
- package/dist/cli/types/api-responses.d.ts.map +1 -1
- package/dist/lib/polling/auto-yes-suppression-reason.d.ts +11 -0
- package/dist/lib/polling/auto-yes-suppression-reason.d.ts.map +1 -1
- package/dist/lib/polling/auto-yes-suppression-reason.js +4 -1
- package/dist/server/src/lib/auto-yes-poller.js +269 -554
- package/dist/server/src/lib/detection/prompt-detect-multiple-choice.js +88 -6
- package/dist/server/src/lib/detection/prompt-detector.js +1 -1
- package/dist/server/src/lib/detection/tools/antigravity/dialog.js +1 -1
- package/dist/server/src/lib/hooks/permission-adjudication.js +26 -0
- package/dist/server/src/lib/hooks/permission-decision-service.js +42 -4
- package/dist/server/src/lib/hooks/permission-request-payload.js +20 -0
- package/dist/server/src/lib/hooks/sources/antigravity/source.js +21 -0
- package/dist/server/src/lib/hooks/sources/claude/source.js +3 -0
- package/dist/server/src/lib/hooks/sources/codex/source.js +2 -0
- package/dist/server/src/lib/hooks/sources/command-code/source.js +2 -0
- package/dist/server/src/lib/hooks/sources/copilot/source.js +2 -0
- package/dist/server/src/lib/hooks/sources/gemini/source.js +2 -0
- package/dist/server/src/lib/hooks/sources/legacy-relay.js +2 -0
- package/dist/server/src/lib/hooks/sources/opencode/ingest.js +6 -0
- package/dist/server/src/lib/hooks/sources/opencode/source.js +2 -0
- package/dist/server/src/lib/hooks/sources/opencode-v2/ingest.js +6 -0
- package/dist/server/src/lib/hooks/sources/opencode-v2/source.js +2 -0
- package/dist/server/src/lib/hooks/sources/pending-decisions.js +14 -2
- package/dist/server/src/lib/polling/antigravity-permission-receipts.js +14 -3
- package/dist/server/src/lib/polling/antigravity-receipt-episodes.js +21 -1
- package/dist/server/src/lib/polling/auto-yes-confirmation-ledger-types.js +114 -0
- package/dist/server/src/lib/polling/auto-yes-confirmation-ledger.js +1060 -0
- package/dist/server/src/lib/polling/auto-yes-ledger-records.js +143 -0
- package/dist/server/src/lib/polling/auto-yes-policy.js +36 -7
- package/dist/server/src/lib/polling/auto-yes-poller-capture.js +50 -0
- package/dist/server/src/lib/polling/auto-yes-poller-enter-fallback.js +37 -0
- package/dist/server/src/lib/polling/auto-yes-poller-generation.js +151 -0
- package/dist/server/src/lib/polling/auto-yes-poller-receipt-log.js +287 -0
- package/dist/server/src/lib/polling/auto-yes-poller-state.js +75 -6
- package/dist/server/src/lib/polling/auto-yes-poller-steps.js +109 -0
- package/dist/server/src/lib/polling/auto-yes-prompt-suppression.js +11 -0
- package/dist/server/src/lib/polling/auto-yes-resolver.js +21 -1
- package/dist/server/src/lib/polling/auto-yes-suppression-reason.js +4 -1
- package/dist/server/src/lib/polling/response-checker-blank-response.js +30 -0
- package/dist/server/src/lib/polling/response-checker.js +5 -10
- package/dist/server/src/lib/prompt-observation/appearance.js +165 -0
- package/package.json +2 -2
- package/release-notes/0.47.1.json +20 -0
- package/release-notes/0.47.2.json +20 -0
- package/scripts/hooks/cmate-agent-event.sh +22 -0
- package/.next/server/chunks/1331.js +0 -22
- package/.next/server/chunks/1836.js +0 -1
- package/.next/server/chunks/1944.js +0 -1
- package/.next/server/chunks/2328.js +0 -1
- package/.next/server/chunks/5292.js +0 -7
- package/.next/server/chunks/7166.js +0 -19
- package/.next/server/chunks/9051.js +0 -1
- package/.next/server/chunks/9199.js +0 -1
- package/.next/static/chunks/9465-e5a351baa941f31b.js +0 -1
- package/.next/static/chunks/app/worktrees/[id]/page-45294052ee3032f1.js +0 -1
- package/.next/static/chunks/main-ac91ed6e71380841.js +0 -1
- /package/.next/static/{b5BiQC9F6r_XFPdA9cuSj → etorRtpxbQqqOzdUeXdw2}/_buildManifest.js +0 -0
- /package/.next/static/{b5BiQC9F6r_XFPdA9cuSj → etorRtpxbQqqOzdUeXdw2}/_ssgManifest.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7177],{13673:()=>{},23252:(e,t,n)=>{"use strict";n.d(t,{AppProviders:()=>M});var r=n(95155),s=n(20063);n(95704);let a=["/login","/api/auth/login","/api/auth/logout","/api/auth/status","/api/remote/pair","/manifest.webmanifest","/sw.js","/offline"];var i=n(3809),l=n(5379),o=n(32916),d=n(65380),c=n(22592),u=n(92614),m=n(70628),h=n(66966),x=n(89275),f=n(60199),p=n(36402),b=n(63470),g=n(40823),v=n(58165),w=n(94442),j=n(72604),y=n(95275),k=n(79832),N=n(12115),C=n(18955),S=n(89559),I=n(59854),T=n(77016);function A(){let e=(0,C.c)("pwa"),[t,n]=(0,N.useState)(null),s=(0,N.useRef)(!1),a=(0,T.W)();return((0,N.useEffect)(()=>{if("undefined"==typeof navigator||!("serviceWorker"in navigator))return;let e=!1,t=t=>{e||n(t)};navigator.serviceWorker.register("/sw.js").then(e=>{e.waiting&&navigator.serviceWorker.controller&&t(e.waiting),e.addEventListener("updatefound",()=>{let n=e.installing;n&&n.addEventListener("statechange",()=>{"installed"===n.state&&navigator.serviceWorker.controller&&t(n)})})}).catch(()=>{});let r=()=>{s.current||(s.current=!0,window.location.reload())};return navigator.serviceWorker.addEventListener("controllerchange",r),()=>{e=!0,navigator.serviceWorker.removeEventListener("controllerchange",r)}},[]),!t||a)?null:(0,r.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:I.M.TOAST},children:(0,r.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,r.jsx)("span",{className:"text-sm font-medium text-foreground",children:e("update.available")}),(0,r.jsxs)("button",{type:"button",onClick:()=>{t.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,r.jsx)(S.A,{className:"h-4 w-4"}),e("update.reload")]})]})})}function M(e){var t;let{children:n,locale:N,messages:C,timeZone:S,authEnabled:I=!1}=e,T=(t=(0,s.usePathname)(),!I||!a.includes(null!=t?t:""));return(0,r.jsx)(i.default,{locale:N,messages:C,timeZone:S,children:(0,r.jsx)(w.tE,{children:(0,r.jsx)(l.N,{attribute:"class",defaultTheme:"system",enableSystem:!0,children:(0,r.jsx)(d.O,{authEnabled:I,children:(0,r.jsx)(c.W5,{children:(0,r.jsx)(o.GB,{children:(0,r.jsx)(f.tS,{enabled:T,children:(0,r.jsxs)(h.g7,{enabled:T,children:[(0,r.jsx)(j.rM,{}),(0,r.jsx)(k.o,{}),(0,r.jsx)(y.H,{}),(0,r.jsx)(u.E,{children:(0,r.jsx)(m.S,{children:(0,r.jsx)(p.aF,{children:(0,r.jsx)(b.y2,{enabled:T,children:(0,r.jsxs)(g.NS,{children:[(0,r.jsx)(x.Bo,{children:n}),(0,r.jsx)(A,{}),(0,r.jsx)(v.gZ,{})]})})})})})]})})})})})})})})}},28876:(e,t,n)=>{"use strict";n.d(t,{AppShellGate:()=>tY});var r=n(95155),s=n(20063),a=n(12115),i=n(32916),l=n(38218);let o={showSidebar:!0,showGlobalNav:!0,showLocalNav:!1,autoCollapseSidebar:!1},d=[{prefix:"/worktrees/",config:{showGlobalNav:!1,showLocalNav:!0}},{prefix:"/sessions",config:{autoCollapseSidebar:!0}}];var c=n(22592),u=n(52619),m=n.n(u),h=n(89275);let x=(0,a.forwardRef)(function(e,t){let{href:n,onClick:a,target:i,...l}=e,o=(0,s.usePathname)(),d=(0,h.Hq)();return(0,r.jsx)(m(),{ref:t,href:n,target:i,onClick:e=>{var t;null==a||a(e),e.defaultPrevented||0!==(t=e).button||t.metaKey||t.ctrlKey||t.shiftKey||t.altKey||void 0!==i&&"_self"!==i||/^([a-z][a-z0-9+.-]*:)?\/\//i.test(n)||/^(mailto:|tel:)/i.test(n)||(e.preventDefault(),n!==o&&d.push(n))},...l})});var f=n(18955),p=n(66685),b=n(85710),g=n(61362),v=n(15870),w=n(17787),j=n(49027),y=n(27587),k=n(39649),N=n(69858),C=n(76471),S=n(70532),I=n(44308),T=n(38606);let A=(0,a.memo)(function(e){let{worktrees:t,visibleWorktreeIds:n,selectedWorktreeId:s,onSelect:a,onNavigate:i}=e,l=(0,f.c)("common"),o=t.length;if(0===o)return null;let d=t.slice(0,3),c=o-d.length;return(0,r.jsxs)("section",{"data-testid":"sidebar-needs-attention","aria-label":l("sidebar.needsAttention"),className:"flex-shrink-0 px-2 pt-3",children:[(0,r.jsxs)("div",{className:"flex items-center gap-2 px-2 pb-1 text-xs text-sidebar-muted",children:[(0,r.jsx)("span",{className:"min-w-0 flex-1 truncate",children:l("sidebar.needsAttention")}),(0,r.jsx)("span",{"data-testid":"sidebar-needs-attention-count","aria-label":l("attention.badgeLabel",{count:o}),className:"flex-shrink-0 rounded-full bg-warning-subtle px-1.5 font-semibold leading-5 tabular-nums text-warning-foreground",children:o>99?"99+":o})]}),(0,r.jsx)("ul",{className:"space-y-0.5",children:d.map(e=>{let t=(0,T.XK)(e),i=!n.has(e.id),o=e.id===s;return(0,r.jsx)("li",{children:(0,r.jsxs)("button",{type:"button","data-testid":"sidebar-attention-item","data-hidden-repository":i?"true":void 0,onClick:()=>a(e.id),"aria-current":o?"true":void 0,title:"".concat(t.name," \xb7 ").concat(t.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 ".concat(o?"bg-sidebar-hover":""),children:[(0,r.jsx)("span",{className:"flex w-4 flex-shrink-0 items-center justify-center",children:(0,r.jsx)(C.Ej,{status:"waiting",waitingKind:t.waitingKind})}),(0,r.jsx)("span",{className:"min-w-0 flex-1 truncate text-sm text-sidebar-foreground",children:t.name}),(0,r.jsx)("span",{className:"min-w-0 max-w-[40%] flex-shrink truncate text-xs text-sidebar-muted",children:t.repositoryName}),i&&(0,r.jsx)(S.A,{"data-testid":"sidebar-attention-hidden-repository",className:"h-3.5 w-3.5 flex-shrink-0 text-sidebar-muted","aria-label":l("sidebar.hiddenRepository"),role:"img"})]})},e.id)})}),(0,r.jsx)(x,{href:I.ks,"data-testid":"sidebar-needs-attention-review-link",onClick:i,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,r.jsx)("span",{className:"min-w-0 truncate",children:c>0?l("sidebar.attentionMoreInReview",{count:c}):l("sidebar.openInReview")})})]})}),M=(0,a.memo)(function(e){let{branches:t,selectedWorktreeId:n,onBranchClick:s,forceExpanded:i}=e,l=(0,f.c)("common"),[o,d]=(0,a.useState)(!1),c=i||o;return(0,r.jsxs)("div",{"data-testid":"branch-group-other",children:[(0,r.jsx)("div",{className:N.R8,children:(0,r.jsxs)("button",{type:"button","data-testid":"branch-group-other-toggle","aria-expanded":c,disabled:i,onClick:()=>d(e=>!e),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,r.jsx)("svg",{className:"h-3 w-3 flex-shrink-0 transition-transform ".concat(c?"rotate-90":""),fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,"aria-hidden":"true",children:(0,r.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M9 5l7 7-7 7"})}),(0,r.jsx)("span",{className:"min-w-0 truncate",children:l("sidebar.otherBranches",{count:t.length})})]})}),c&&t.map(e=>(0,r.jsx)(N.yP,{branch:e,isSelected:e.id===n,onClick:()=>s(e.id),showRepositoryName:!1},e.id))]})});var E=n(48407),L=n(73464),P=n(26232),R=n(7636),B=n(87531);let K=[{mode:"grouped",labelKey:"sidebar.viewMode.grouped"},{mode:"flat",labelKey:"sidebar.viewMode.flat"},{mode:"sessions",labelKey:"sidebar.viewMode.sessions"}],O=[{key:"updatedAt",labelKey:"sort.updatedAt"},{key:"repositoryName",labelKey:"sort.repositoryName"},{key:"branchName",labelKey:"sort.branchName"},{key:"status",labelKey:"sort.status"}],D={updatedAt:"desc"},F={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"}},W={asc:"sort.ascending",desc:"sort.descending"};function z(e){var t;return null!=(t=D[e])?t:"asc"}function _(e){e.preventDefault()}let H=(0,a.memo)(function(e){var t,n,s,l;let{viewMode:o,onViewModeChange:d}=e,c=(0,f.c)("common"),{sortKey:u,sortDirection:m,setSortKey:h,setSortDirection:x}=(0,i.VF)(),p=(0,a.useId)(),b=(0,a.useId)(),g=(0,a.useMemo)(()=>{var e;let t=null!=(e=F[u])?e:W;return e=>c(t[e])},[u,c]),v=c(null!=(s=null==(t=K.find(e=>e.mode===o))?void 0:t.labelKey)?s:"sidebar.viewMode.grouped"),w=c(null!=(l=null==(n=O.find(e=>e.key===u))?void 0:n.labelKey)?l:"sort.".concat(u)),j=c("sidebar.listOptionsSummary",{view:v,sort:w,direction:g(m)}),y=o===i.e8&&u===i.P0&&m===i.RA,k=z(u);return(0,r.jsxs)(P.rI,{children:[(0,r.jsx)(P.ty,{asChild:!0,children:(0,r.jsxs)("button",{type:"button","data-testid":"sidebar-list-options","data-view-mode":o,"data-sort-key":u,"data-sort-direction":m,"aria-label":c("sidebar.listOptionsLabel",{summary:j}),title:j,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,r.jsx)(L.A,{className:"h-4 w-4","aria-hidden":"true"}),!y&&(0,r.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,r.jsxs)(P.SQ,{"data-testid":"sidebar-list-options-menu",align:"end",collisionPadding:8,className:(0,B.cn)("w-52 max-w-[calc(100vw-16px)]","max-h-[var(--radix-dropdown-menu-content-available-height)] overflow-y-auto"),children:[(0,r.jsx)(P.lp,{id:p,children:c("sidebar.viewLabel")}),(0,r.jsx)(P.Hr,{"data-testid":"view-mode-options","aria-labelledby":p,value:o,onValueChange:e=>{(0,R.$m)(e)&&e!==o&&d(e)},children:K.map(e=>{let{mode:t,labelKey:n}=e;return(0,r.jsx)(P.Ht,{value:t,onSelect:_,children:c(n)},t)})}),(0,r.jsx)(P.mB,{}),(0,r.jsx)(P.lp,{id:b,children:c("sort.label")}),(0,r.jsx)(P.Hr,{"data-testid":"sort-key-options","aria-labelledby":b,value:u,onValueChange:e=>{let t=O.find(t=>t.key===e);t&&t.key!==u&&(h(t.key),x(z(t.key)))},children:O.map(e=>{let{key:t,labelKey:n}=e;return(0,r.jsx)(P.Ht,{value:t,onSelect:_,children:c(n)},t)})}),(0,r.jsx)(P.mB,{}),(0,r.jsx)(P.Hr,{"data-testid":"sort-direction-options","aria-label":c("sort.directionLabel"),value:m,onValueChange:e=>{("asc"===e||"desc"===e)&&x(e)},children:("asc"===k?["asc","desc"]:["desc","asc"]).map(e=>(0,r.jsx)(P.Ht,{value:e,onSelect:_,children:g(e)},e))})]})]})}),V=(0,a.memo)(function(e){let{searchQuery:t,onSearchChange:n,viewMode:s,onViewModeChange:a}=e,i=(0,f.c)("common");return(0,r.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,r.jsx)(E.pd,{type:"text",inputSize:"sm",placeholder:i("sidebar.searchBranches"),"aria-label":i("sidebar.searchBranches"),value:t,onChange:e=>n(e.target.value),className:"min-w-0 flex-1 border-sidebar-border bg-background shadow-none"}),(0,r.jsx)(H,{viewMode:s,onViewModeChange:a})]})});var Y=n(41898),U=n(30061),q=n(5379),G=n(65380),X=n(45195),J=n(40823),Z=n(68704),$=n(26020);async function Q(){try{await fetch("/api/auth/logout",{method:"POST"}),window.location.href="/login"}catch(e){window.location.href="/login"}}let ee=P.ty;function et(){let e=(0,f.c)("common"),{size:t,setSize:n}=(0,c.Ps)(),s=(0,i.pT)();return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(P.mB,{}),(0,r.jsx)(P.lp,{children:e("displaySize.ariaLabel")}),(0,r.jsx)(P.Hr,{value:t,onValueChange:e=>{(0,Z.fM)(e)&&n(e)},children:Z.Uf.map(t=>(0,r.jsx)(P.Ht,{value:t,children:e("displaySize.".concat(t))},t))}),s&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(P.lp,{children:e("repoTabBar.settingLabel")}),(0,r.jsx)(P.Hr,{value:s.repoTabBarMode,onValueChange:e=>{(0,R.m3)(e)&&s.setRepoTabBarMode(e)},children:R.EN.map(t=>(0,r.jsx)(P.Ht,{value:t,children:e("repoTabBar.mode.".concat(t))},t))})]})]})}function en(e){let{children:t,testIdPrefix:n,side:s="top",align:i="end",showDisplayPreferences:o=!1,onNavigate:d}=e,c=(0,f.c)("worktree"),u=(0,h.Hq)(),{theme:m,setTheme:x}=(0,q.D)(),{currentLocale:p,switchLocale:b}=(0,X.g)(),g=(0,G.H)(),v=(0,l.a)(),{open:w}=(0,J.V0)(),j=(0,a.useRef)(!1),y=(0,a.useRef)(null),k="0.47.0",N=e=>{null==d||d(),u.push(e)};return(0,r.jsxs)(P.rI,{children:[t,(0,r.jsxs)(P.SQ,{side:s,align:i,collisionPadding:8,className:"w-56 max-w-[calc(100vw-16px)] max-h-[var(--radix-dropdown-menu-content-available-height)] overflow-y-auto",onCloseAutoFocus:()=>{j.current&&(j.current=!1,queueMicrotask(w))},children:[(0,r.jsx)(P.lp,{"data-testid":"".concat(n,"-version"),children:c("activityBar.settingsMenu.version",{version:k?"v".concat(k):"-"})}),(0,r.jsx)(P._2,{asChild:!0,onSelect:()=>{let e=y.current;if(y.current=null,!(e&&(0!==e.button||e.metaKey||e.ctrlKey||e.shiftKey||e.altKey))){if(null==e||e.preventDefault(),v)return void N("/more");j.current=!0}},children:(0,r.jsx)("a",{href:"/more","data-testid":"".concat(n,"-settings"),onClick:e=>{y.current=e},children:c("activityBar.settingsMenu.settings")})}),(0,r.jsx)(P._2,{onSelect:()=>N("/skills"),children:c("activityBar.settingsMenu.skills")}),(0,r.jsx)(P.mB,{}),(0,r.jsx)(P.lp,{children:c("activityBar.settingsMenu.theme")}),(0,r.jsxs)(P.Hr,{value:null!=m?m:"system",onValueChange:e=>x(e),children:[(0,r.jsx)(P.Ht,{value:"light",children:c("activityBar.settingsMenu.themeLight")}),(0,r.jsx)(P.Ht,{value:"dark",children:c("activityBar.settingsMenu.themeDark")}),(0,r.jsx)(P.Ht,{value:"system",children:c("activityBar.settingsMenu.themeSystem")})]}),(0,r.jsx)(P.lp,{children:c("activityBar.settingsMenu.language")}),(0,r.jsx)(P.Hr,{value:p,onValueChange:e=>b(e),children:$.dI.map(e=>(0,r.jsx)(P.Ht,{value:e,children:$.vK[e]},e))}),o&&!v&&(0,r.jsx)(et,{}),(0,r.jsx)(P.mB,{}),(0,r.jsx)(P._2,{asChild:!0,children:(0,r.jsx)("a",{href:"https://github.com/kewton/MyCodeBranchDesk",target:"_blank",rel:"noopener noreferrer",children:c("activityBar.settingsMenu.github")})}),g&&(0,r.jsx)(P._2,{onSelect:()=>{Q()},children:c("activityBar.settingsMenu.logout")})]})]})}var er=n(59847),es=n(11010),ea=n(86651),ei=n(79651),el=n(92614),eo=n(51743);let ed=["global","terminal","composer","editor"],ec=[{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 eu(){if("undefined"==typeof navigator)return!1;let e=navigator.platform||navigator.userAgent||"";return/Mac|iPhone|iPad|iPod/.test(e)}function em(e,t){return"MOD"===e?t?"⌘":"Ctrl":e}var eh=n(26550),ex=n(78845),ef=n(65229);let ep="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",eb={width:"".concat(R.KI,"px"),height:"".concat(R.KI,"px")};function eg(e){let{testId:t,onClose:n}=e,s=(0,f.c)("common"),{isOpen:a,toggle:l}=(0,i.VF)(),o=s(a?"sidebar.close":"sidebar.open"),d=a?eh.A:ex.A;return(0,r.jsx)("div",{"data-sidebar-toggle-cell":"",className:"flex flex-shrink-0",style:{padding:"".concat(R.df,"px")},children:n?(0,r.jsx)("button",{type:"button","data-testid":t,onClick:n,"aria-label":s("sidebar.close"),style:eb,className:ep,children:(0,r.jsx)(ef.A,{size:20,"aria-hidden":"true"})}):(0,r.jsx)(Y.m_,{content:o,placement:a?"bottom":"right",children:(0,r.jsx)("button",{type:"button","data-testid":t,onClick:l,"aria-label":o,"aria-expanded":a,style:eb,className:ep,children:(0,r.jsx)(d,{size:20,"aria-hidden":"true"})})})})}let ev="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 ew(e){let{drawer:t=!1}=e,n=(0,f.c)("common"),s=(0,f.c)("commandPalette"),{setOpen:l}=(0,el.C)(),{openNewTask:o}=(0,eo.hX)(),{closeMobileDrawer:d}=(0,i.VF)(),c=function(){let[e,t]=a.useState(null);return a.useEffect(()=>{t(eu()?"⌘":"Ctrl")},[]),e}(),u=t?d:void 0;return(0,r.jsxs)("div",{"data-testid":t?"sidebar-drawer-top-controls":"sidebar-top-controls",className:"flex-shrink-0",children:[(0,r.jsxs)("div",{className:"flex min-w-0 items-center",children:[t?(0,r.jsx)(eg,{testId:"sidebar-drawer-close",onClose:d}):(0,r.jsx)(eg,{testId:"sidebar-panel-toggle"}),(0,r.jsxs)(x,{href:"/",onClick:u,"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,r.jsx)("span",{className:"flex h-6 w-6 flex-shrink-0 items-center justify-center rounded-md bg-accent-600",children:(0,r.jsx)(er.A,{size:14,strokeWidth:2,className:"text-white","aria-hidden":"true"})}),(0,r.jsx)("span",{className:"truncate text-sm font-bold text-sidebar-foreground",children:"CommandMate"})]})]}),(0,r.jsxs)("div",{className:"space-y-0.5 px-2",children:[(0,r.jsxs)("button",{type:"button","data-testid":"sidebar-new-task",onClick:()=>{null==u||u(),o()},"aria-haspopup":"dialog",className:ev,children:[(0,r.jsx)(es.A,{className:"h-4 w-4 flex-shrink-0","aria-hidden":"true"}),(0,r.jsx)("span",{className:"min-w-0 flex-1 truncate",children:n("newTask.title")})]}),(0,r.jsxs)("button",{type:"button","data-testid":"sidebar-search",onClick:()=>{null==u||u(),l(!0)},"aria-label":s("mobileTrigger"),className:ev,children:[(0,r.jsx)(ea.A,{className:"h-4 w-4 flex-shrink-0","aria-hidden":"true"}),(0,r.jsx)("span",{className:"min-w-0 flex-1 truncate",children:s("searchAction")}),!t&&null!==c&&(0,r.jsxs)("span",{className:"flex flex-shrink-0 items-center gap-0.5","aria-hidden":"true",children:[(0,r.jsx)(ei.u,{children:c}),(0,r.jsx)(ei.u,{children:"K"})]})]})]})]})}var ej=n(94442),ey=n(24373),ek=n(80344),eN=n(98873);let eC="mcbd-sidebar-group-collapsed",eS="mcbd-sidebar-scroll-top",eI=0,eT=(0,a.memo)(function(){var e,t,n;let o=(0,h.Hq)(),{worktrees:d,repositories:c,selectedWorktreeId:u,selectWorktree:m,refreshWorktrees:x,isLoading:v,error:y}=(0,k.$f)(),{closeMobileDrawer:C,sortKey:S,sortDirection:M,viewMode:L,setViewMode:P,repositoryOrder:B,setRepositoryOrder:K}=(0,i.VF)(),O=(0,f.c)("common"),D=null!=(e=(0,s.usePathname)())?e:"",F=(0,R.jn)(D,u),W=(0,l.a)(),{count:z}=(0,ey.Lv)(),[_,H]=(0,a.useState)(""),Y=(0,a.useRef)(null),[U,q]=(0,a.useState)(()=>{try{let e=localStorage.getItem(eC);return e?function(e){try{let t=JSON.parse(e);if("object"!=typeof t||null===t||Array.isArray(t))return{};let n={},r=0;for(let[e,s]of Object.entries(t))if(!eE.has(e)&&"boolean"==typeof s){if(++r>100)break;n[e]=s}return n}catch(e){return{}}}(e):{}}catch(e){return{}}}),G=(0,a.useRef)(!1);(0,a.useEffect)(()=>{G.current||(G.current=!0,fetch("/api/sidebar/group-order").then(e=>e.json()).then(e=>{e.success&&Array.isArray(e.order)&&K(e.order)}).catch(()=>{}))},[K]);let X=(0,a.useMemo)(()=>(0,R.UZ)(c),[c]),J=(0,a.useMemo)(()=>(0,R.s6)(d,X),[d,X]),Z=(0,a.useMemo)(()=>(0,ey.Rc)(d),[d]),$=(0,a.useMemo)(()=>new Set(J.map(e=>e.id)),[J]),Q=(0,a.useMemo)(()=>J.map(T.XK),[J]),ee=(0,a.useMemo)(()=>new Map(Q.map(e=>[e.id,e])),[Q]),et=(0,a.useDeferredValue)(Q),en=(0,a.useRef)(null),er=(0,a.useRef)(null),es=(0,a.useRef)(null),ea=(0,a.useRef)(new Set),[ei,el]=(0,a.useState)(0);(0,a.useEffect)(()=>()=>{null!==er.current&&clearTimeout(er.current)},[]);let eo=(0,a.useCallback)(()=>{null!==er.current&&(clearTimeout(er.current),er.current=null),en.current=null,es.current=null},[]),ed=(0,a.useMemo)(()=>{let e=en.current;return!e||0===e.items.length||Date.now()>=e.expiresAt?et:e.items},[et,ei]),ec=(0,a.useRef)(ed),eu=es.current,em=new Set(ed.filter(e=>(null==eu?void 0:eu.has(e.id))===!0||(0,R.rL)(e,F,ee)).map(e=>e.id));(0,a.useLayoutEffect)(()=>{if(ec.current=ed,ea.current=em,es.current)for(let e of em)es.current.add(e);let e=en.current;e&&0===e.items.length&&et.length>0&&eo()});let eh=(0,a.useCallback)(()=>{if(0===ec.current.length)return;null!==er.current&&(clearTimeout(er.current),er.current=null);let e=en.current;if(e&&Date.now()<e.expiresAt){en.current={...e,expiresAt:1/0};return}en.current={items:ec.current,expiresAt:1/0},es.current=new Set(ea.current)},[]),ex=(0,a.useCallback)(()=>{en.current&&(en.current={...en.current,expiresAt:Date.now()+1e3},null!==er.current&&clearTimeout(er.current),er.current=setTimeout(()=>{eo(),el(e=>e+1)},1e3))},[eo]),{sortedItems:ef,groupedItems:ep}=(0,eN.D)({items:ed,sortKey:S,sortDirection:M,viewMode:L,filterText:_}),eb=(0,a.useMemo)(()=>"grouped"===L&&ep?_.trim()?ep:(0,R.Ew)(ep,B):null,[L,ep,B,_]),eg="grouped"===L?eb:null,ev=(0,a.useMemo)(()=>"sessions"===L?(0,R.EY)((0,R.UB)(ef),S,M):[],[L,ef,S,M]);(0,a.useEffect)(()=>{try{localStorage.setItem(eC,JSON.stringify(U))}catch(e){}},[U]);let ej=(0,a.useCallback)(e=>{q(t=>({...t,[e]:!t[e]}))},[]),ek=(0,a.useCallback)(()=>{var e,t,n=null!=(t=null==(e=Y.current)?void 0:e.scrollTop)?t:0;let r=Number.isFinite(n)&&n>0?n:0;eI=r;try{localStorage.setItem(eS,String(r))}catch(e){}},[]),eT=ef.length>0||(null!=(t=null==eg?void 0:eg.length)?t:0)>0||ev.length>0;(0,a.useEffect)(()=>{let e=Y.current;if(!e)return;let t=window.requestAnimationFrame(()=>{e.scrollTop=function(){try{let e=localStorage.getItem(eS);if(!e)return eI=0,0;let t=Number(e);Number.isFinite(t)&&t>=0&&(eI=t)}catch(e){}return eI}()});return()=>{window.cancelAnimationFrame(t)}},[eT,L]);let eL=(0,a.useCallback)(e=>{ek(),m(e),o.push("/worktrees/".concat(e)),C()},[ek,m,o,C]),eB=(0,a.useCallback)(e=>{ek(),m(e.worktreeId),o.push((0,R.Ii)(e)),C()},[ek,m,o,C]),eK=(0,w.FR)((0,w.MS)(w.AN,{activationConstraint:{distance:8}})),eO=(0,a.useCallback)(e=>{let{active:t,over:n}=e;if(!n||t.id===n.id||!eg)return;let r=eg.map(e=>e.repositoryName),s=r.indexOf(String(t.id)),a=r.indexOf(String(n.id));if(-1===s||-1===a)return;let i=(0,j.be)(r,s,a);K(i),fetch("/api/sidebar/group-order",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({order:i})}).catch(()=>{K(r)})},[eg,K]),eW="grouped"===L?(null!=(n=null==eg?void 0:eg.length)?n:0)===0:"sessions"===L?0===ev.length:0===ef.length,ez=v&&0===d.length,e_=!ez&&!!y&&0===d.length,eH=(0,a.useCallback)(()=>{x()},[x]),eV={sessions:(0,r.jsx)("li",{className:"flex min-w-0",children:(0,r.jsx)(eP,{href:"/sessions",icon:p.A,label:O("nav.sessions"),testId:"sidebar-nav-sessions",isActive:D.startsWith("/sessions"),onNavigate:C})}),repositories:(0,r.jsxs)("li",{className:"flex min-w-0 items-center gap-1",children:[(0,r.jsx)(eP,{href:"/repositories",icon:b.A,label:O("nav.repositories"),testId:"sidebar-nav-repositories",isActive:D.startsWith("/repositories"),onNavigate:C}),(0,r.jsx)(eD,{refreshWorktrees:x})]}),review:(0,r.jsx)("li",{className:"flex min-w-0",children:(0,r.jsx)(eP,{href:z>0?I.ks:"/review",icon:g.A,label:O("nav.review"),testId:"sidebar-nav-review",isActive:D.startsWith("/review"),onNavigate:C,trailing:z>0?(0,r.jsx)("span",{"data-testid":"sidebar-nav-review-count",role:"status","aria-label":O("attention.badgeLabel",{count:z}),className:"flex-shrink-0 rounded-full bg-warning-subtle px-1.5 text-xs font-semibold leading-5 tabular-nums text-warning-foreground",children:z>99?"99+":z}):null})})};return(0,r.jsx)(N.Fy.Provider,{value:!W,children:(0,r.jsxs)("nav",{"data-testid":"sidebar","aria-label":O("sidebar.branchNavigation"),className:"h-full flex flex-col bg-sidebar text-sidebar-foreground",role:"navigation",children:[(0,r.jsx)(ew,{drawer:W}),(0,r.jsx)("div",{"data-testid":"sidebar-header",className:"flex-shrink-0 space-y-2 border-b border-sidebar-border px-2 py-2",children:(0,r.jsx)("ul",{"data-testid":"sidebar-nav",className:"space-y-0.5",children:R.go.map(e=>(0,r.jsx)(a.Fragment,{children:eV[e]},e))})}),(0,r.jsx)(A,{worktrees:Z,visibleWorktreeIds:$,selectedWorktreeId:F,onSelect:eL,onNavigate:C}),(0,r.jsx)(V,{searchQuery:_,onSearchChange:H,viewMode:L,onViewModeChange:P}),(0,r.jsx)("div",{ref:Y,"data-testid":"branch-list",onScroll:ek,onMouseEnter:eh,onMouseLeave:ex,className:"flex-1 overflow-y-auto overflow-x-hidden",children:ez?(0,r.jsx)(eA,{label:O("sidebar.loadingBranches")}):e_?(0,r.jsxs)("div",{"data-testid":"branch-list-error",role:"alert",className:"px-4 py-8 text-center text-sidebar-muted",children:[(0,r.jsx)("p",{className:"text-sm",children:O("sidebar.branchesLoadFailed")}),(0,r.jsx)(E.$n,{type:"button",variant:"secondary",size:"sm",className:"mt-3","data-testid":"branch-list-retry",onClick:eH,children:O("sidebar.retryLoadBranches")})]}):eW?(0,r.jsx)("div",{className:"px-4 py-8 text-center text-sidebar-muted",children:O(_?"sidebar.noBranchesFound":"sidebar.noBranchesAvailable")}):"sessions"===L?ev.map(e=>(0,r.jsx)(eR,{row:e,isSelected:e.worktreeId===F,onClick:eB},e.key)):"grouped"===L&&eg?(0,r.jsx)(w.Mp,{sensors:eK,collisionDetection:w.fp,onDragEnd:eO,children:(0,r.jsx)(j.gB,{items:eg.map(e=>e.repositoryName),strategy:j._G,children:eg.map(e=>{let t=!U[e.repositoryName]||!!_.trim();return(0,r.jsx)(eM,{group:e,isExpanded:t,selectedWorktreeId:F,onToggle:()=>ej(e.repositoryName),onBranchClick:eL,isDragDisabled:!!_.trim(),isFiltering:!!_.trim(),liveBranchById:ee,stickyShownIds:eu},e.repositoryName)})})}):ef.map(e=>(0,r.jsx)(N.yP,{branch:e,isSelected:e.id===F,onClick:()=>eL(e.id)},e.id))}),(0,r.jsx)("div",{"data-testid":"sidebar-footer",className:"flex-shrink-0 px-4 py-3 border-t border-sidebar-border",children:(0,r.jsx)(eF,{onNavigate:C})})]})})}),eA=(0,a.memo)(function(e){let{label:t}=e;return(0,r.jsxs)("div",{"data-testid":"branch-list-skeleton",role:"status","aria-live":"polite",className:"px-4 py-3 space-y-3",children:[(0,r.jsx)("span",{className:"sr-only",children:t}),[0,1,2,3,4].map(e=>(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[(0,r.jsx)(E.EA,{className:"h-2 w-2 rounded-full"}),(0,r.jsx)(E.EA,{className:"h-3 flex-1"})]},e))]})});function eM(e){let{group:t,isExpanded:n,selectedWorktreeId:s,onToggle:a,onBranchClick:i,isDragDisabled:l,isFiltering:o,liveBranchById:d,stickyShownIds:c}=e,{attributes:u,listeners:m,setNodeRef:h,setActivatorNodeRef:x,transform:f,transition:p,isDragging:b}=(0,j.gl)({id:t.repositoryName,disabled:l}),g={transform:y.Ks.Transform.toString(f),transition:p,opacity:b?.5:1},{shown:v,other:w}=(0,R.FS)(t.branches,s,d,null!=c?c:void 0);return(0,r.jsxs)("div",{ref:h,style:g,className:"w-full min-w-0 pt-2",children:[(0,r.jsx)(eL,{repositoryName:t.repositoryName,branchCount:t.branches.length,isExpanded:n,onClick:a,dragHandleRef:x,dragHandleListeners:l?void 0:m,dragHandleAttributes:l?void 0:u}),n&&v.map(e=>(0,r.jsx)(N.yP,{branch:e,isSelected:e.id===s,onClick:()=>i(e.id),showRepositoryName:!1},e.id)),n&&w.length>0&&(0,r.jsx)(M,{branches:w,selectedWorktreeId:s,onBranchClick:i,forceExpanded:o})]})}let eE=new Set(["__proto__","constructor","prototype"]);function eL(e){let{repositoryName:t,branchCount:n,isExpanded:s,onClick:a,dragHandleRef:i,dragHandleListeners:l,dragHandleAttributes:o}=e,d=(0,f.c)("common");return(0,r.jsxs)("div",{className:"group/header flex items-center w-full",children:[l&&(0,r.jsx)("div",{ref:i,...l,...o,"data-testid":"group-drag-handle","aria-label":d("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,r.jsx)(eK,{})}),(0,r.jsxs)("button",{"data-testid":"group-header",type:"button",onClick:a,"aria-expanded":s,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,r.jsx)(eB,{isExpanded:s}),(0,r.jsx)(E.nF,{color:(0,R.LV)(t)}),(0,r.jsx)(U.nR,{content:t,className:"flex-1 min-w-0 text-left truncate",children:t}),(0,r.jsx)("span",{className:"text-sidebar-muted font-normal tabular-nums pr-2",children:n})]})]})}function eP(e){let{href:t,icon:n,label:s,testId:a,isActive:i,onNavigate:l,trailing:o}=e;return(0,r.jsxs)(x,{href:t,"data-testid":a,"aria-current":i?"page":void 0,onClick:l,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 ".concat(i?"bg-sidebar-hover font-medium text-sidebar-foreground":"text-sidebar-muted"),children:[(0,r.jsx)(n,{className:"h-4 w-4 flex-shrink-0","aria-hidden":"true"}),(0,r.jsx)("span",{className:"min-w-0 flex-1 truncate",children:s}),o]})}let eR=(0,a.memo)(function(e){let{row:t,isSelected:n,onClick:s}=e,a=(0,f.c)("common"),i=(0,C.Mq)(t.status,t.unclassified),l=a(i?C.rH:"status.".concat(t.status));return(0,r.jsx)("div",{className:"w-full min-w-0 ".concat(N.R8),children:(0,r.jsxs)("button",{type:"button","data-testid":"session-list-item","data-session-key":t.key,onClick:()=>s(t),"aria-current":n?"true":void 0,className:"w-full min-w-0 min-h-[34px] px-3 py-1.5 flex items-center gap-2 text-left ".concat((0,N.Xd)(n)),children:[(0,r.jsx)(E.md,{status:t.status,size:"sm",label:t.exited?"".concat(l," (").concat(a("branchItem.agentExited"),")"):l,className:i?C.Jd:void 0}),(0,r.jsx)("span",{className:"flex-shrink-0 max-w-[45%] truncate text-sm font-semibold text-sidebar-foreground",children:t.label}),(0,r.jsxs)("span",{className:"min-w-0 flex-1 truncate text-xs text-sidebar-muted",children:[t.branchName," \xb7 ",t.repositoryName]})]})})});function eB(e){let{isExpanded:t}=e;return(0,r.jsx)("svg",{className:"w-3 h-3 flex-shrink-0 transition-transform ".concat(t?"rotate-90":""),fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:(0,r.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M9 5l7 7-7 7"})})}function eK(){return(0,r.jsxs)("svg",{className:"w-3 h-3",fill:"currentColor",viewBox:"0 0 24 24","aria-hidden":"true",children:[(0,r.jsx)("circle",{cx:"9",cy:"5",r:"1.5"}),(0,r.jsx)("circle",{cx:"15",cy:"5",r:"1.5"}),(0,r.jsx)("circle",{cx:"9",cy:"12",r:"1.5"}),(0,r.jsx)("circle",{cx:"15",cy:"12",r:"1.5"}),(0,r.jsx)("circle",{cx:"9",cy:"19",r:"1.5"}),(0,r.jsx)("circle",{cx:"15",cy:"19",r:"1.5"})]})}function eO(e){let{className:t=""}=e;return(0,r.jsx)("svg",{className:"".concat("w-4 h-4"," ").concat(t),fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:(0,r.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 eD=(0,a.memo)(function(e){let{refreshWorktrees:t}=e,[n,s]=(0,a.useState)(!1),i=(0,a.useRef)(!1),{showToast:l}=(0,ej.dj)(),o=(0,f.c)("common"),d=(0,a.useCallback)(async()=>{if(!i.current){i.current=!0,s(!0);try{let e=await ek.Rx.sync();await t(),l(o("syncSuccess",{count:e.worktreeCount}),"success",3e3)}catch(e){e instanceof ek.hD&&401===e.status?l(o("syncAuthError"),"error",5e3):l(o("syncError"),"error",5e3)}finally{i.current=!1,s(!1)}}},[t,l,o]);return(0,r.jsx)(r.Fragment,{children:(0,r.jsx)(Y.m_,{content:o("tooltips.sync"),placement:"bottom",children:(0,r.jsx)("button",{type:"button",onClick:d,disabled:n,"aria-label":o("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,r.jsx)(eO,{className:n?"animate-spin":""})})})})});function eF(e){let{onNavigate:t}=e,n=(0,f.c)("common")("settings.title");return(0,r.jsx)(en,{testIdPrefix:"sidebar-settings-menu",side:"top",align:"start",showDisplayPreferences:!0,onNavigate:t,children:(0,r.jsx)(ee,{asChild:!0,children:(0,r.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,r.jsx)(v.A,{size:20,"aria-hidden":"true"}),(0,r.jsx)("span",{className:"truncate",children:n})]})})})}var eW=n(52407);function ez(){let{shouldSurface:e,isReconnecting:t}=(0,eW.Fx)(),n=(0,f.c)("common");if(!e)return null;let s=n(t?"connection.reconnecting":"connection.offline");return(0,r.jsxs)("span",{"data-testid":"connection-status-indicator","data-connection-state":t?"reconnecting":"offline",role:"status","aria-live":"polite",title:n(t?"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,r.jsx)("span",{"aria-hidden":"true",className:["w-1.5 h-1.5 rounded-full",t?"bg-warning motion-safe:animate-pulse":"bg-muted-foreground"].join(" ")}),s]})}var e_=n(72137);let eH=[{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 eV(e){var t,n,a,i;let{title:l="CommandMate"}=e,o=null!==(n=null!=(t=(0,s.usePathname)())?t:"",null!=(i=null==(a=eH.find(e=>n.startsWith(e.prefix)))?void 0:a.labelKey)?i:null);return(0,r.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:[!o&&(0,r.jsx)("h1",{"data-testid":"header-screen-title",className:"mr-auto min-w-0 truncate text-lg font-bold text-foreground",children:l}),(0,r.jsx)(ez,{}),(0,r.jsx)(e_.H,{})]})}function eY(e){let{count:t}=e,n=(0,f.c)("common");return 0===t?null:(0,r.jsx)("span",{"data-testid":"attention-badge-bubble",role:"status","aria-label":n("attention.badgeLabel",{count:t}),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:t>99?"99+":t})}let eU="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",eq="text-sidebar-muted hover:bg-sidebar-hover hover:text-sidebar-foreground";function eG(e){let{href:t,icon:n,label:s,testId:a,isActive:i,badge:l}=e;return(0,r.jsx)(Y.m_,{content:s,placement:"right",children:(0,r.jsx)(x,{href:t,"data-testid":a,"aria-label":s,"aria-current":i?"page":void 0,className:"".concat(eU," ").concat(i?"bg-sidebar-hover text-sidebar-foreground":eq),children:(0,r.jsxs)("span",{className:"relative flex",children:[(0,r.jsx)(n,{size:20,"aria-hidden":"true"}),l]})})})}function eX(e){let{icon:t,label:n,testId:s,onClick:a,hasPopup:i}=e;return(0,r.jsx)(Y.m_,{content:n,placement:"right",children:(0,r.jsx)("button",{type:"button","data-testid":s,"aria-label":n,"aria-haspopup":i,onClick:a,className:"".concat(eU," ").concat(eq),children:(0,r.jsx)(t,{size:20,"aria-hidden":"true"})})})}function eJ(){var e;let t=(0,f.c)("common"),n=(0,f.c)("commandPalette"),i=null!=(e=(0,s.usePathname)())?e:"",{setOpen:l}=(0,el.C)(),{openNewTask:o}=(0,eo.hX)(),{count:d}=(0,ey.Lv)(),c=t("settings.title"),u={sessions:(0,r.jsx)(eG,{href:"/sessions",icon:p.A,label:t("nav.sessions"),testId:"sidebar-rail-sessions",isActive:i.startsWith("/sessions")}),repositories:(0,r.jsx)(eG,{href:"/repositories",icon:b.A,label:t("nav.repositories"),testId:"sidebar-rail-repositories",isActive:i.startsWith("/repositories")}),review:(0,r.jsx)(eG,{href:d>0?I.ks:"/review",icon:g.A,label:t("nav.review"),testId:"sidebar-rail-review",isActive:i.startsWith("/review"),badge:(0,r.jsx)(eY,{count:d})})};return(0,r.jsxs)("nav",{"data-testid":"sidebar-rail","aria-label":t("sidebar.railLabel"),className:"flex h-full flex-col items-center gap-1 bg-sidebar pb-2 text-sidebar-foreground",style:{width:"".concat(R.BN,"px")},children:[(0,r.jsx)(eg,{testId:"sidebar-rail-toggle"}),(0,r.jsx)(eX,{icon:es.A,label:t("newTask.title"),testId:"sidebar-rail-new-task",onClick:()=>o(),hasPopup:"dialog"}),(0,r.jsx)(eX,{icon:ea.A,label:n("mobileTrigger"),testId:"sidebar-rail-search",onClick:()=>l(!0)}),(0,r.jsx)("div",{className:"my-1 w-8 border-b border-sidebar-border","aria-hidden":"true"}),R.go.map(e=>(0,r.jsx)(a.Fragment,{children:u[e]},e)),(0,r.jsx)("div",{className:"mt-auto",children:(0,r.jsx)(en,{testIdPrefix:"sidebar-rail-settings",side:"right",align:"end",showDisplayPreferences:!0,children:(0,r.jsx)(Y.m_,{content:c,placement:"right",children:(0,r.jsx)(ee,{asChild:!0,children:(0,r.jsx)("button",{type:"button","data-testid":"sidebar-rail-settings","aria-label":c,className:"".concat(eU," ").concat(eq),children:(0,r.jsx)(v.A,{size:20,"aria-hidden":"true"})})})})})})]})}var eZ=n(46365),e$=n(12906),eQ=n(37772),e0=n(9540),e1=n(55756);let e2=[{labelKey:"nav.sessions",href:"/sessions",isActive:e=>e.startsWith("/sessions"),icon:(0,r.jsx)(p.A,{size:20,"aria-hidden":"true"})},{labelKey:"nav.review",href:"/review",isActive:e=>e.startsWith("/review"),icon:(0,r.jsx)(g.A,{size:20,"aria-hidden":"true"}),showsAttentionBadge:!0},{labelKey:"nav.more",href:"/more",isActive:e=>e.startsWith("/more"),icon:(0,r.jsx)(eQ.A,{size:20,"aria-hidden":"true"})}];function e5(){let e=(0,s.usePathname)(),{setOpen:t}=(0,el.C)(),n=(0,f.c)("commandPalette"),a=(0,f.c)("common"),{count:l}=(0,ey.Lv)(),o=(0,i.pT)();return(null==o?void 0:o.isMobileDrawerOpen)?null:(0,r.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,r.jsxs)("div",{className:"flex items-center justify-around h-14",children:[o&&(0,r.jsxs)("button",{type:"button","data-testid":"mobile-nav-open-sidebar",...e1.cv,onClick:o.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,r.jsx)(e0.A,{size:20,"aria-hidden":"true"}),(0,r.jsx)("span",{className:"mt-1 whitespace-nowrap",children:a("sidebar.branches")})]}),e2.map(t=>{let n=t.isActive(e),s=!0===t.showsAttentionBadge&&l>0;return(0,r.jsxs)(x,{href:s?I.ks:t.href,className:"flex flex-col items-center justify-center flex-1 h-full text-xs transition-colors ".concat(n?"text-accent-600 dark:text-accent-400":"text-muted-foreground hover:text-foreground"),children:[(0,r.jsxs)("span",{className:"relative inline-flex",children:[t.icon,!0===t.showsAttentionBadge&&(0,r.jsx)(eY,{count:l})]}),(0,r.jsx)("span",{className:"mt-1 whitespace-nowrap",children:a(t.labelKey)})]},t.href)}),(0,r.jsxs)("button",{type:"button","data-testid":"mobile-command-palette-trigger",onClick:()=>t(!0),"aria-label":n("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,r.jsx)(ea.A,{size:20,"aria-hidden":"true"}),(0,r.jsx)("span",{className:"mt-1 whitespace-nowrap",children:n("mobileLabel")})]})]})})}function e4(){let{shouldSurface:e,isReconnecting:t}=(0,eW.Fx)(),n=(0,f.c)("common");if(!e)return null;let s=n(t?"connection.reconnecting":"connection.offline"),a=n(t?"connection.reconnectingTooltip":"connection.offlineTooltip");return(0,r.jsx)("div",{"data-testid":"mobile-connection-banner","data-connection-state":t?"reconnecting":"offline",role:"status","aria-live":"polite",title:a,className:"shrink-0 pt-safe border-b ".concat(t?"bg-warning-subtle border-warning-border text-warning-foreground":"bg-danger-subtle border-danger-border text-danger-foreground"),children:(0,r.jsxs)("div",{className:"flex items-center justify-center gap-1.5 px-3 py-1 text-xs",children:[(0,r.jsx)("span",{"aria-hidden":"true",className:"w-1.5 h-1.5 rounded-full ".concat(t?"bg-warning motion-safe:animate-pulse":"bg-danger")}),s]})})}var e3=n(45573),e9=n(94465),e6=n(70628);function e7(e){return!0===e.isComposing||229===e.keyCode}let e8=[...ec,{id:"newTask",keys:["MOD","Shift","O"],scope:"global"},{id:"newTaskSend",keys:["MOD","↵"],scope:"global"}];function te(){let{open:e,setOpen:t}=(0,e6.K)(),{open:n}=(0,el.C)(),{isOpen:s}=(0,eo.hX)(),i=(0,f.c)("keyboardShortcuts"),[l,o]=(0,a.useState)(!1);(0,a.useEffect)(()=>o(eu()),[]);let d=(0,a.useRef)(e);(0,a.useEffect)(()=>{d.current=e},[e]);let c=(0,a.useRef)(n);(0,a.useEffect)(()=>{c.current=n},[n]);let u=(0,a.useRef)(s);(0,a.useEffect)(()=>{u.current=s},[s]),(0,a.useEffect)(()=>{function e(e){"?"!==e.key||e.isComposing||229===e.keyCode||(0,e3.tJ)(e.target)||c.current||u.current||d.current||(e.preventDefault(),t(!0))}return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[t]);let m=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:ec;return ed.map(t=>({scope:t,shortcuts:e.filter(e=>e.scope===t)})).filter(e=>e.shortcuts.length>0)}(e8);return(0,r.jsx)(e9.a,{isOpen:e,onClose:()=>t(!1),title:i("title"),size:"md",children:(0,r.jsx)("div",{"data-testid":"keyboard-shortcuts-overlay",className:"space-y-6",children:m.map(e=>{let{scope:t,shortcuts:n}=e;return(0,r.jsxs)("section",{"data-testid":"keyboard-shortcuts-scope-".concat(t),children:[(0,r.jsx)("h4",{className:"mb-2 text-xs font-semibold uppercase tracking-wide text-muted-foreground",children:i("scopes.".concat(t))}),(0,r.jsx)("ul",{className:"divide-y divide-border",children:n.map(e=>(0,r.jsxs)("li",{"data-testid":"keyboard-shortcut-".concat(e.id),className:"flex items-center justify-between gap-4 py-2",children:[(0,r.jsx)("span",{className:"text-sm text-foreground",children:i("shortcuts.".concat(e.id))}),(0,r.jsx)("span",{className:"flex flex-shrink-0 items-center gap-1",children:e.keys.map((e,t)=>(0,r.jsx)(ei.u,{children:em(e,l)},t))})]},e.id))})]},t)})})})}var tt=n(77016),tn=n(36809),tr=n(31166);let ts=/^v?\d+\.\d+\.\d+$/;function ta(e){return e.replace(/^v/,"").split(".").map(Number)}let ti="commandmate.lastSeenAppVersion";function tl(e){try{window.localStorage.setItem(ti,e)}catch(e){}}let to=[{key:"added",labelKey:"whatsNew.added"},{key:"improved",labelKey:"whatsNew.improved"},{key:"fixed",labelKey:"whatsNew.fixed"}];function td(){let e=(0,f.c)("common"),t=(0,tn.Ym)(),[n,s]=(0,a.useState)(null),[i,l]=(0,a.useState)(!1);(0,a.useEffect)(()=>{let e,t="0.47.0";try{e=window.localStorage.getItem(ti)}catch(e){return}let n=function(e,t){if(!ts.test(t))return{kind:"none"};if(null===e||!ts.test(e))return{kind:"remember"};let n=function(e,t){let n=ta(e),r=ta(t),s=Math.max(n.length,r.length);for(let e=0;e<s;e++){let t=n[e]||0,s=r[e]||0;if(t>s)return 1;if(t<s)return -1}return 0}(t,e);return 0===n?{kind:"none"}:n<0?{kind:"remember"}:{kind:"show",from:e}}(e,t);if("none"===n.kind)return;if("remember"===n.kind)return void tl(t);let r=!1;return ek.GQ.getReleaseNotes(n.from,t).then(e=>{r||(s({from:n.from,to:t,notes:e.notes}),l(!0))},()=>{}),()=>{r=!0}},[]);let o=(0,a.useCallback)(()=>{n&&tl(n.to),l(!1)},[n]);if(!n)return null;let d="ja"===t?"ja":"en";return(0,r.jsx)(e9.a,{isOpen:i,onClose:o,title:e("whatsNew.title",{from:n.from,to:n.to}),size:"md",children:(0,r.jsxs)("div",{className:"space-y-4","data-testid":"whats-new-dialog",children:[0===n.notes.length?(0,r.jsx)("p",{className:"text-sm text-foreground","data-testid":"whats-new-empty",children:e("whatsNew.empty")}):n.notes.map(t=>(0,r.jsxs)("section",{className:"space-y-3","data-testid":"whats-new-version-".concat(t.version),children:[(0,r.jsxs)("h4",{className:"text-sm font-semibold text-foreground",children:["v",t.version,(0,r.jsx)("span",{className:"ml-2 text-xs font-normal text-muted-foreground",children:t.date})]}),t.highlight&&(0,r.jsxs)("div",{"data-testid":"whats-new-highlight",children:[(0,r.jsx)("h5",{className:"text-xs font-medium text-muted-foreground",children:e("whatsNew.highlight")}),(0,r.jsx)("p",{className:"mt-1 text-sm text-foreground",children:t.highlight[d]})]}),to.map(n=>{let{key:s,labelKey:a}=n;return t[s].length>0?(0,r.jsxs)("div",{"data-testid":"whats-new-".concat(s),children:[(0,r.jsx)("h5",{className:"text-xs font-medium text-muted-foreground",children:e(a)}),(0,r.jsx)("ul",{className:"mt-1 list-disc space-y-1 pl-5 text-sm text-foreground",children:t[s].map((e,t)=>(0,r.jsx)("li",{children:e[d]},t))})]},s):null})]},t.version)),(0,r.jsxs)("div",{className:"flex items-center justify-between gap-3 border-t border-border pt-3",children:[(0,r.jsx)("a",{href:"".concat("https://github.com/Kewton/CommandMate/releases/tag/v").concat(n.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:e("whatsNew.releaseLink")}),(0,r.jsx)(tr.$,{type:"button",variant:"primary",size:"sm",onClick:o,"data-testid":"whats-new-close",children:e("whatsNew.close")})]})]})})}var tc=n(76351);let tu="commandmate.newTask.recentTargets";function tm(e){if(null===e||"object"!=typeof e)return!1;let{worktreeId:t,instanceId:n}=e;return"string"==typeof t&&""!==t&&"string"==typeof n&&""!==n}function th(e,t){return e.worktreeId===t.worktreeId&&e.instanceId===t.instanceId}function tx(){try{let e=window.localStorage.getItem(tu);if(!e)return[];let t=JSON.parse(e);if(!Array.isArray(t))return[];return t.filter(tm).map(e=>{let{worktreeId:t,instanceId:n}=e;return{worktreeId:t,instanceId:n}}).slice(0,3)}catch(e){return[]}}var tf=n(54014);function tp(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],n=new Map;for(let r of e){let e=n.get(r.repositoryPath);if(!e){let s=t.find(e=>e.path===r.repositoryPath);e={path:r.repositoryPath,name:(null==s?void 0:s.displayName)||(null==s?void 0:s.name)||r.repositoryName,worktrees:[]},n.set(r.repositoryPath,e)}e.worktrees.push(r)}let r=Array.from(n.values());for(let e of r)e.worktrees.sort((e,t)=>e.name.localeCompare(t.name));return r.sort((e,t)=>e.name.localeCompare(t.name))}function tb(e){return e.agentInstances&&e.agentInstances.length>0?e.agentInstances.slice().sort((e,t)=>e.order-t.order):e.selectedAgents&&e.selectedAgents.length>0?(0,tf.lu)(e.selectedAgents):e.cliToolId?(0,tf.lu)([e.cliToolId]):[]}function tg(e,t){let n=e.find(e=>e.id===t.worktreeId);if(!n)return null;let r=tb(n).find(e=>e.id===t.instanceId);return r?{worktree:n,instance:r}:null}function tv(e,t){var n,r,s,a;let i=null!=(a=null==(n=e.sessionStatusByInstance)?void 0:n[t.id])?a:t.id===t.cliTool?null==(r=e.sessionStatusByCli)?void 0:r[t.cliTool]:void 0,l=null==i?void 0:i.startingSince,o=null==(s=e.autoYesByInstance)?void 0:s[t.id];return{instance:t,label:(0,tf.sw)(t),running:(null==i?void 0:i.isRunning)===!0,starting:"number"==typeof l,autoYes:(null==o?void 0:o.enabled)&&"number"==typeof o.expiresAt?o:null}}var tw=n(56936);let tj={promptWaiting:"PROMPT_WAITING",sessionStarting:"SESSION_STARTING",instanceToolConflict:"instance_tool_conflict"};async function ty(e){try{let t=await e.json(),n=t&&"object"==typeof t?t.expiresAt:null;if("number"==typeof n)return{enabled:!0,expiresAt:n}}catch(e){}return null}async function tk(e){try{let t=await e.json();if(t&&"object"==typeof t){let{error:e,code:n}=t;return{error:"string"==typeof e&&""!==e?e:null,code:"string"==typeof n?n:null}}}catch(e){}return{error:null,code:null}}async function tN(e,t){let{modelRequested:n}=t;if(e.ok&&!e.redirected)return{ok:!0};let{status:r}=e,{error:s,code:a}=await tk(e);return{ok:!1,kind:409===r?a===tj.promptWaiting?"prompt_waiting":"conflict":503===r?a===tj.sessionStarting?"starting":"start_failed":400===r?n&&a!==tj.instanceToolConflict?"model_rejected":"invalid":"failed",status:e.ok?0:r,detail:s}}function tC(e){return{ok:!1,kind:"failed",status:0,detail:e instanceof ek.hD||e instanceof Error?e.message:null}}function tS(e,t){return new Promise((n,r)=>{let s=setTimeout(()=>{r(new ek.hD("Request timed out after ".concat(t,"ms"),0,void 0,"timeout"))},t);e().then(e=>{clearTimeout(s),n(e)},e=>{clearTimeout(s),r(e)})})}async function tI(e){var t;let n,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:ek.E,{target:s,cliToolId:a}=e,i="/api/worktrees/".concat(encodeURIComponent(s.worktreeId)),l={"Content-Type":"application/json"},o=!1,d=e.autoYesDuration;if(null!==d){let e,t=!1;try{e=await tS(async()=>{var e;let c=await r("".concat(i,"/auto-yes"),{method:"POST",headers:l,body:JSON.stringify({enabled:!0,cliToolId:a,instanceId:s.instanceId,duration:d})});if(!c.ok){let{error:e}=await tk(c);return{ok:!1,kind:"auto_yes_failed",status:c.status,detail:e}}return t=!0,n=null!=(e=await ty(c))?e:void 0,o=void 0===n,null},(0,tw.Z3)("POST"))}catch(e){if(!t){let t=tC(e);return t.ok?t:{...t,kind:"auto_yes_failed"}}return{...tC(e),autoYesStateUnknown:!0}}if(e)return e}let c=e=>n?{...e,armedAutoYes:n}:o?{...e,autoYesStateUnknown:!0}:e,u=(null==(t=e.model)?void 0:t.trim())||void 0,m=(0,tw.SE)();try{return c(await tS(async()=>{let t=await r("".concat(i,"/send"),{method:"POST",headers:l,body:JSON.stringify({content:e.content,cliToolId:a,instanceId:s.instanceId,...u?{model:u}:{}}),timeoutMs:m});return tN(t,{modelRequested:void 0!==u})},m))}catch(e){return c(tC(e))}}let tT="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",tA="block text-xs font-medium text-muted-foreground mb-1";function tM(e){let{status:t,isEmpty:n,onRetry:s}=e,a=(0,f.c)("common");return(0,r.jsxs)(r.Fragment,{children:["loading"===t&&(0,r.jsx)("p",{className:"text-sm text-muted-foreground","data-testid":"new-task-loading",children:a("newTask.loading")}),"error"===t&&(0,r.jsxs)("div",{className:"space-y-2",role:"alert","data-testid":"new-task-load-error",children:[(0,r.jsx)("p",{className:"text-sm text-danger",children:a("newTask.loadError")}),(0,r.jsx)("button",{type:"button",onClick:s,className:"px-3 py-1.5 text-sm font-medium text-foreground bg-muted hover:bg-muted/80 rounded-lg",children:a("retry")})]}),"ready"===t&&n&&(0,r.jsx)("p",{className:"text-sm text-muted-foreground","data-testid":"new-task-empty",children:a("newTask.noTargets")})]})}function tE(e){let{recentOptions:t,targetState:n,worktreeId:s,onSelect:a}=e,i=(0,f.c)("common");return 0===t.length?null:(0,r.jsxs)("div",{children:[(0,r.jsx)("span",{className:tA,children:i("newTask.recentLabel")}),(0,r.jsx)("div",{className:"flex flex-wrap gap-2","data-testid":"new-task-recents",children:t.map(e=>{let{target:t,label:i}=e,l=!!n&&th(t,{worktreeId:s,instanceId:n.instance.id});return(0,r.jsx)("button",{type:"button","aria-pressed":l,"data-testid":"new-task-recent",onClick:()=>a(t),className:"max-w-full truncate rounded-full border px-3 py-1 text-xs transition-colors ".concat(l?"border-accent-500 bg-accent-500/15 text-foreground":"border-border text-muted-foreground hover:text-foreground"),children:i},"".concat(t.worktreeId,":").concat(t.instanceId))})})]})}function tL(e){var t,n,s;let{repositoryOptions:a,repository:i,worktreeId:l,worktree:o,instances:d,instance:c,onRepositoryChange:u,onBranchChange:m,onAgentChange:h}=e,x=(0,f.c)("common");return(0,r.jsxs)("div",{className:"grid grid-cols-1 gap-3 sm:grid-cols-3",children:[(0,r.jsxs)("div",{children:[(0,r.jsx)("label",{htmlFor:"new-task-repository",className:tA,children:x("newTask.repositoryLabel")}),(0,r.jsx)("select",{id:"new-task-repository","data-testid":"new-task-repository",value:null!=(t=null==i?void 0:i.path)?t:"",onChange:e=>u(e.target.value),className:tT,children:a.map(e=>(0,r.jsx)("option",{value:e.path,children:e.name},e.path))})]}),(0,r.jsxs)("div",{children:[(0,r.jsx)("label",{htmlFor:"new-task-branch",className:tA,children:x("newTask.branchLabel")}),(0,r.jsx)("select",{id:"new-task-branch","data-testid":"new-task-branch",value:l,onChange:e=>m(e.target.value),className:tT,children:(null!=(n=null==i?void 0:i.worktrees)?n:[]).map(e=>(0,r.jsx)("option",{value:e.id,children:e.name},e.id))})]}),(0,r.jsxs)("div",{children:[(0,r.jsx)("label",{htmlFor:"new-task-agent",className:tA,children:x("newTask.agentLabel")}),(0,r.jsx)("select",{id:"new-task-agent","data-testid":"new-task-agent",value:null!=(s=null==c?void 0:c.id)?s:"",onChange:e=>h(e.target.value),className:tT,disabled:0===d.length,children:d.map(e=>{var t;let n=o?tv(o,e):null,s=(null==n?void 0:n.starting)?"starting":(null==n?void 0:n.running)?"running":"stopped";return(0,r.jsx)("option",{value:e.id,children:"".concat(null!=(t=null==n?void 0:n.label)?t:e.id," — ").concat(x("newTask.agentStatus.".concat(s)))},e.id)})})]})]})}function tP(e){let{statusKey:t,agentLabel:n}=e,s=(0,f.c)("common");return(0,r.jsxs)(r.Fragment,{children:["stopped"===t&&(0,r.jsx)("p",{className:"text-xs text-foreground","data-testid":"new-task-will-start",children:s("newTask.willStart",{agent:n})}),"starting"===t&&(0,r.jsx)("p",{className:"text-xs text-warning-foreground","data-testid":"new-task-starting",children:s("newTask.startingNotice",{agent:n})})]})}function tR(e){let{modelAvailability:t,model:n,cliTool:s,agentLabel:a,onChange:i}=e,l=(0,f.c)("common");return(0,r.jsxs)("div",{children:[(0,r.jsx)("label",{htmlFor:"new-task-model",className:tA,children:l("newTask.modelLabel")}),(0,r.jsx)("input",{id:"new-task-model","data-testid":"new-task-model",type:"text",value:(null==t?void 0:t.selectable)?n:"",onChange:e=>i(e.target.value),placeholder:l("newTask.modelPlaceholder"),disabled:!(null==t?void 0:t.selectable),className:tT}),t&&(0,r.jsx)("p",{className:"mt-1 text-xs text-muted-foreground","data-testid":"new-task-model-note",children:t.selectable?l("copilot"===s?"newTask.modelHintSwitch":"newTask.modelHintLaunch"):l("newTask.modelUnavailable.".concat(t.reason),{agent:a})})]})}function tB(e){let{armedAutoYes:t,autoYesChoice:n,autoYesUnknown:s,onChoiceChange:a}=e,i=(0,f.c)("common"),l=(0,f.c)("autoYes");return(0,r.jsxs)("div",{children:[(0,r.jsx)("label",{htmlFor:"new-task-auto-yes",className:tA,children:i("newTask.autoYesLabel")}),t?(0,r.jsx)("p",{className:"text-sm text-foreground","data-testid":"new-task-auto-yes-active",children:i("newTask.autoYesActive",{remaining:(0,tc.$B)(t.expiresAt)})}):(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)("select",{id:"new-task-auto-yes","data-testid":"new-task-auto-yes",value:null!=n?n:"",onChange:e=>{let t=Number(e.target.value);a(""!==e.target.value&&(0,tc.dR)(t)?t:null)},className:tT,children:[(0,r.jsx)("option",{value:"",children:i(s?"newTask.autoYesKeepUnknown":"newTask.autoYesKeep")}),tc.z9.map(e=>(0,r.jsx)("option",{value:e,children:i("newTask.autoYesEnableFor",{duration:l(tc.Ni[e].replace("autoYes.",""))})},e))]}),s&&(0,r.jsx)("p",{className:"mt-1 text-xs text-warning-foreground","data-testid":"new-task-auto-yes-unknown",children:i("newTask.autoYesUnknown")}),(0,r.jsx)("p",{className:"mt-1 text-xs text-muted-foreground",children:i("newTask.autoYesScope")}),null!==n&&(0,r.jsx)("p",{className:"mt-1 text-xs text-warning-foreground","data-testid":"new-task-auto-yes-risk",children:l("riskWarning")})]})]})}function tK(e){let{failure:t,agentLabel:n}=e,s=(0,f.c)("common");return t?(0,r.jsxs)("div",{role:"alert","data-testid":"new-task-error","data-kind":t.kind,className:"rounded-lg border border-danger-border bg-danger-subtle px-3 py-2 text-sm text-danger-foreground",children:[(0,r.jsx)("p",{children:s("newTask.errors.".concat(t.kind),{agent:n})}),t.detail&&(0,r.jsx)("p",{className:"mt-1 break-words text-xs text-muted-foreground","data-testid":"new-task-error-detail",children:t.detail})]}):null}function tO(){var e,t,n,i,l,o,d;let{requestedTarget:c,screenTarget:u,closeNewTask:m,setCloseLocked:h}=(0,eo.hX)(),x=(0,s.useRouter)(),{showToast:p}=(0,ej.dj)(),b=(0,f.c)("common"),[g,v]=(0,a.useState)({status:"loading"}),[w,j]=(0,a.useState)(0),[y]=(0,a.useState)(()=>tx()),[k,N]=(0,a.useState)(""),[C,S]=(0,a.useState)(""),[I,T]=(0,a.useState)(""),[A,M]=(0,a.useState)(""),[E,L]=(0,a.useState)(null),[P,B]=(0,a.useState)(!1),[K,O]=(0,a.useState)(null),[D,F]=(0,a.useState)(!1),W=(0,a.useRef)(null),z=(0,a.useRef)(!0),_=(0,a.useRef)(!1),[H,V]=(0,a.useState)({}),[Y,U]=(0,a.useState)({});(0,a.useEffect)(()=>(z.current=!0,F(eu()),()=>{z.current=!1,h(!1)}),[h]);let q=(0,a.useCallback)(()=>{_.current||m()},[m]),G=(0,a.useRef)([c,u,null!=(e=y[0])?e:null]),X=(0,a.useRef)(!1);(0,a.useEffect)(()=>{let e=!1;return v({status:"loading"}),ek.y.getAll().then(t=>{var n,r;if(e)return;let s=null!=(n=t.worktrees)?n:[],a=null!=(r=t.repositories)?r:[];if(v({status:"ready",worktrees:s,repositories:a}),X.current)return;X.current=!0;let i=function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];for(let n of t){if(!n)continue;if(tg(e,n))return n;let t=e.find(e=>e.id===n.worktreeId),r=t?tb(t)[0]:void 0;if(t&&r)return{worktreeId:t.id,instanceId:r.id}}for(let t of tp(e,n))for(let e of t.worktrees){let t=tb(e)[0];if(t)return{worktreeId:e.id,instanceId:t.id}}return null}(s,G.current,a);i&&(N(i.worktreeId),S(i.instanceId))}).catch(()=>{e||v({status:"error"})}),()=>{e=!0}},[w]);let J=(0,a.useMemo)(()=>"ready"===g.status?g.worktrees:[],[g]),Z=(0,a.useMemo)(()=>"ready"===g.status?tp(g.worktrees,g.repositories):[],[g]),$=null!=(t=J.find(e=>e.id===k))?t:null,Q=(0,a.useMemo)(()=>$?tb($):[],[$]),ee=null!=(n=Q.find(e=>e.id===C))?n:null,et=$&&ee?tv($,ee):null,en=$&&null!=(i=Z.find(e=>e.path===$.repositoryPath))?i:null,er=et?(d=et.instance.cliTool,"copilot"===d?{selectable:!0}:"claude"===d||"antigravity"===d?et.running||et.starting?{selectable:!1,reason:"running"}:{selectable:!0}:{selectable:!1,reason:"unsupported"}):null,es=et?null!=(l=Y["".concat(k,":").concat(et.instance.id)])?l:et.autoYes:null,ea=!function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Date.now();return!!e&&e.enabled&&"number"==typeof e.expiresAt&&e.expiresAt-t>0}(es)?null:es,el=!!et&&!0===H["".concat(k,":").concat(et.instance.id)],[,ed]=(0,a.useState)(0);(0,a.useEffect)(()=>{if(!ea)return;let e=setInterval(()=>ed(Date.now()),tc.$s);return()=>clearInterval(e)},[ea]),(0,a.useEffect)(()=>{var e;"ready"===g.status&&(null==(e=W.current)||e.focus())},[g.status]);let ec=(0,a.useMemo)(()=>y.flatMap(e=>{var t;let n=tg(J,e);if(!n)return[];let r=Z.find(e=>e.path===n.worktree.repositoryPath),s=tv(n.worktree,n.instance).label;return[{target:e,label:"".concat(null!=(t=null==r?void 0:r.name)?t:n.worktree.repositoryName," / ").concat(n.worktree.name," / ").concat(s)}]}),[y,J,Z]),eh=(0,a.useCallback)(e=>{N(e.worktreeId),S(e.instanceId),O(null)},[]),ex=(0,a.useCallback)(e=>{var t,n,r;let s=Z.find(t=>t.path===e),a=null!=(n=null==s?void 0:s.worktrees.find(e=>tb(e).length>0))?n:null==s?void 0:s.worktrees[0];a&&eh({worktreeId:a.id,instanceId:null!=(r=null==(t=tb(a)[0])?void 0:t.id)?r:""})},[Z,eh]),ef=(0,a.useCallback)(e=>{var t,n,r;let s=J.find(t=>t.id===e);if(!s)return;let a=tb(s),i=a.find(e=>e.id===C);eh({worktreeId:s.id,instanceId:null!=(r=null!=(n=null==i?void 0:i.id)?n:null==(t=a[0])?void 0:t.id)?r:""})},[J,C,eh]),ep=!!et&&""!==I.trim()&&!P,eb=(0,a.useCallback)(async()=>{if(!ep||!$||!et)return;let e={worktreeId:$.id,instanceId:et.instance.id};_.current=!0,h(!0),B(!0),O(null);let t=await tI({target:e,cliToolId:et.instance.cliTool,content:I.trim(),model:(null==er?void 0:er.selectable)?A:void 0,autoYesDuration:ea?null:E});if(_.current=!1,h(!1),!z.current)return;let{armedAutoYes:n}=t,r="".concat(e.worktreeId,":").concat(e.instanceId);if(t.autoYesStateUnknown&&V(e=>({...e,[r]:!0})),n&&(V(e=>{let{[r]:t,...n}=e;return n}),U(e=>({...e,[r]:n})),L(null)),!t.ok){O(t),B(!1);return}var s=e;let a=[{worktreeId:s.worktreeId,instanceId:s.instanceId},...tx().filter(e=>!th(e,s))].slice(0,3);try{window.localStorage.setItem(tu,JSON.stringify(a))}catch(e){}let i="".concat(window.location.pathname).concat(window.location.search),l="".concat($.name," / ").concat(et.label);m(),x.push((0,R.Ii)(e)),p(b("newTask.sentToast",{target:l}),"success",6e3,{onClick:()=>x.push(i)})},[ep,$,et,I,er,A,ea,E,m,h,x,p,b]),eg=(0,a.useCallback)(e=>{var t;e7(t=e.nativeEvent)||"Enter"!==t.key||t.shiftKey||t.altKey||!t.metaKey&&!t.ctrlKey||(e.preventDefault(),eb())},[eb]),ev=null!=(o=null==et?void 0:et.label)?o:"",ew=et?et.starting?"starting":et.running?"running":"stopped":null;return(0,r.jsx)(e9.a,{isOpen:!0,onClose:q,title:b("newTask.title"),size:"md",disableClose:P,children:(0,r.jsxs)("div",{"data-testid":"new-task-dialog",className:"space-y-4",onKeyDown:eg,children:[(0,r.jsx)(tM,{status:g.status,isEmpty:0===Z.length,onRetry:()=>j(e=>e+1)}),"ready"===g.status&&Z.length>0&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(tE,{recentOptions:ec,targetState:et,worktreeId:k,onSelect:eh}),(0,r.jsx)(tL,{repositoryOptions:Z,repository:en,worktreeId:k,worktree:$,instances:Q,instance:ee,onRepositoryChange:ex,onBranchChange:ef,onAgentChange:e=>eh({worktreeId:k,instanceId:e})}),(0,r.jsx)(tP,{statusKey:ew,agentLabel:ev}),(0,r.jsxs)("div",{children:[(0,r.jsx)("label",{htmlFor:"new-task-message",className:tA,children:b("newTask.messageLabel")}),(0,r.jsx)("textarea",{ref:W,id:"new-task-message","data-testid":"new-task-message",value:I,onChange:e=>T(e.target.value),placeholder:b("newTask.messagePlaceholder"),rows:5,className:"".concat(tT," resize-y")})]}),(0,r.jsxs)("div",{className:"grid grid-cols-1 gap-3 sm:grid-cols-2",children:[(0,r.jsx)(tR,{modelAvailability:er,model:A,cliTool:null==et?void 0:et.instance.cliTool,agentLabel:ev,onChange:M}),(0,r.jsx)(tB,{armedAutoYes:ea,autoYesChoice:E,autoYesUnknown:el,onChoiceChange:L})]})]}),(0,r.jsx)(tK,{failure:K,agentLabel:ev}),(0,r.jsxs)("div",{className:"flex items-center justify-end gap-2",children:[(0,r.jsxs)("span",{className:"mr-auto hidden items-center gap-1 text-xs text-muted-foreground sm:flex",children:[(0,r.jsx)(ei.u,{children:em("MOD",D)}),(0,r.jsx)(ei.u,{children:"↵"}),(0,r.jsx)("span",{children:b("newTask.sendHint")})]}),(0,r.jsx)("button",{type:"button","data-testid":"new-task-cancel",onClick:q,disabled:P,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:b("cancel")}),(0,r.jsx)("button",{type:"button","data-testid":"new-task-send",onClick:()=>void eb(),disabled:!ep,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:P?b("newTask.sending"):b("newTask.send")})]})]})})}function tD(){let{isOpen:e,openNewTask:t}=(0,eo.hX)(),{open:n}=(0,el.C)(),s=(0,a.useRef)(n);return(0,a.useEffect)(()=>{s.current=n},[n]),(0,a.useEffect)(()=>{function e(e){if(!e.defaultPrevented)!e7(e)&&e.shiftKey&&!e.altKey&&(e.metaKey||e.ctrlKey)&&("o"===e.key.toLowerCase()||"KeyO"===e.code)&&(s.current||(e.preventDefault(),t()))}return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[t]),e?(0,r.jsx)(tO,{}):null}var tF=n(59854);let tW="transform transition-transform duration-300 ease-out",tz=(0,a.memo)(function(e){let{children:t}=e,{isOpen:n,isMobileDrawerOpen:u,closeMobileDrawer:m,width:h,setWidth:x,repoTabBarMode:f,toggle:p}=(0,i.VF)(),b=(0,l.a)(),{showSidebar:g,showGlobalNav:v}=function(){var e=(0,s.usePathname)();for(let t of d)if(e.startsWith(t.prefix))return{...o,...t.config};return{...o}}();!function(e,t){let{open:n}=(0,el.C)(),r=(0,a.useRef)(n),s=(0,a.useRef)(t);(0,a.useEffect)(()=>{r.current=n,s.current=t},[n,t]),(0,a.useEffect)(()=>{if(e)return window.addEventListener("keydown",t),()=>window.removeEventListener("keydown",t);function t(e){!(e.defaultPrevented||!(0,R.zg)(e)||r.current||(0,eZ.Sj)())&&((0,R.al)(e.target)||(e.preventDefault(),s.current()))}},[e])}(!b&&g,p);let{factor:w}=(0,c.Ps)(),j=Math.round(160*w),y=Math.round(480*w),k=Math.round(Math.min(y,Math.max(j,h*w))),N=(0,R.fs)(null!=f?f:R.PB,n),C=(0,a.useRef)(null),S=(0,a.useRef)(null),I=(0,a.useRef)(null),T=(0,a.useRef)(u);(0,a.useLayoutEffect)(()=>{var e;let t=T.current;if(T.current=u,!b||!t||u)return;let n=document.activeElement,r=n instanceof HTMLElement&&(null==(e=I.current)?void 0:e.contains(n))===!0;(r||null===n||n===document.body)&&!(0,e1.Bl)()&&r&&n.blur()},[b,u]);let A=(0,a.useCallback)(e=>{x(Math.round(e/w))},[x,w]);return b?(0,r.jsx)(eo.Zg,{children:(0,r.jsxs)("div",{"data-testid":"app-shell",className:"h-screen flex flex-col",children:[(0,r.jsx)(e4,{}),u&&(0,r.jsx)("div",{"data-testid":"drawer-overlay",className:"fixed inset-0 bg-black/50 z-40",onClick:m,"aria-hidden":"true"}),g&&(0,r.jsx)("aside",{ref:I,"data-testid":"sidebar-container",className:"\n fixed left-0 top-0 h-full w-72 max-w-[85vw] z-50 bg-sidebar pt-safe pb-safe\n ".concat(tW,"\n ").concat(u?"translate-x-0":"-translate-x-full","\n "),role:"complementary",children:(0,r.jsx)(eT,{})}),(0,r.jsx)("main",{className:"flex-1 min-h-0 overflow-hidden ".concat(v?"pb-nav-safe":""),role:"main","data-view-transition":"content",children:t}),v&&(0,r.jsx)(e5,{}),(0,r.jsx)(e3.xq,{}),(0,r.jsx)(te,{}),(0,r.jsx)(tt.n,{}),(0,r.jsx)(td,{}),(0,r.jsx)(tD,{})]})}):(0,r.jsx)(eo.Zg,{children:(0,r.jsxs)("div",{"data-testid":"app-shell",className:"h-screen flex flex-col",children:[(0,r.jsxs)("div",{className:"flex flex-1 min-h-0",children:[g&&(0,r.jsxs)("aside",{ref:C,"data-testid":"sidebar-container",className:"\n fixed left-0 top-0 h-full\n border-r border-border\n ".concat(tW,"\n ").concat(n?"translate-x-0":"-translate-x-full","\n "),style:{width:"".concat(k,"px"),zIndex:tF.M.SIDEBAR},role:"complementary","aria-hidden":!n,children:[(0,r.jsx)(eT,{}),(0,r.jsx)(t_,{currentWidth:k,minWidth:j,maxWidth:y,sidebarRef:C,mainRef:S,onWidthChange:A})]}),g&&!n&&(0,r.jsx)("aside",{"data-testid":"sidebar-rail-container",className:"\n fixed left-0 top-0 h-full\n border-r border-border\n ",style:{width:"".concat(R.BN,"px"),zIndex:tF.M.SIDEBAR},children:(0,r.jsx)(eJ,{})}),(0,r.jsxs)("main",{ref:S,className:"flex-1 min-w-0 h-full overflow-hidden flex flex-col transition-[padding] duration-300 ease-out",style:{paddingLeft:g?"".concat(n?k:R.BN,"px"):0},role:"main","data-view-transition":"content",children:[N&&(0,r.jsx)(e$.vP,{}),v&&(0,r.jsx)(eV,{}),(0,r.jsx)("div",{className:"flex-1 min-h-0",children:t})]})]}),(0,r.jsx)(e3.xq,{}),(0,r.jsx)(te,{}),(0,r.jsx)(tt.n,{}),(0,r.jsx)(td,{}),(0,r.jsx)(tD,{})]})})});function t_(e){let{currentWidth:t,minWidth:n,maxWidth:s,sidebarRef:a,mainRef:i,onWidthChange:l}=e;return(0,r.jsx)("div",{"data-testid":"sidebar-resize-handle","aria-hidden":"true",onMouseDown:e=>{e.preventDefault();let r=e.clientX,o=t;i.current&&(i.current.style.transition="none");let d=e=>{o=Math.max(n,Math.min(s,t+(e.clientX-r))),a.current&&(a.current.style.width="".concat(o,"px")),i.current&&(i.current.style.paddingLeft="".concat(o,"px"))},c=()=>{document.body.style.cursor="",document.body.style.userSelect="",i.current&&(i.current.style.transition=""),document.removeEventListener("mousemove",d),document.removeEventListener("mouseup",c),l(o)};document.body.style.cursor="col-resize",document.body.style.userSelect="none",document.addEventListener("mousemove",d),document.addEventListener("mouseup",c)},className:"absolute top-0 right-0 w-1 h-full cursor-col-resize hover:bg-accent-500/40 transition-colors"})}let tH=["/login","/offline","/proxy"],tV=/^\/worktrees\/[^/]+\/(terminal|files)(\/|$)/;function tY(e){var t;let{children:n}=e,a=(0,s.usePathname)();return(t=null!=a?a:"",tH.some(e=>t===e||t.startsWith("".concat(e,"/")))||tV.test(t)||0)?(0,r.jsx)(r.Fragment,{children:n}):(0,r.jsx)(tz,{children:n})}},60322:(e,t,n)=>{"use strict";n.d(t,{l:()=>s});let r=/\x1b\[[0-9;]*[a-zA-Z]|\x1b\][^\x07]*\x07|\[[0-9;]*m/g;async function s(e){var t;if(!e||0===e.trim().length)return;let n=e.replace(r,"");if(null==(t=navigator.clipboard)?void 0:t.writeText)try{await navigator.clipboard.writeText(n);return}catch(e){}let s=document.createElement("textarea");s.value=n,s.style.position="fixed",s.style.left="-9999px",s.style.top="-9999px",s.style.opacity="0",document.body.appendChild(s),s.focus(),s.select();try{document.execCommand("copy")}finally{document.body.removeChild(s)}}},65380:(e,t,n)=>{"use strict";n.d(t,{H:()=>l,O:()=>i});var r=n(95155),s=n(12115);let a=(0,s.createContext)(!1);function i(e){let{children:t,authEnabled:n}=e;return(0,r.jsx)(a.Provider,{value:n,children:t})}function l(){return(0,s.useContext)(a)}},77016:(e,t,n)=>{"use strict";n.d(t,{W:()=>g,n:()=>v});var r=n(95155),s=n(12115),a=n(18955),i=n(52056),l=n(89559),o=n(65229),d=n(59854),c=n(60199),u=n(52703);let m=0,h=new Set;function x(){for(let e of h)e()}function f(e){return h.add(e),()=>{h.delete(e)}}function p(){return m>0}function b(){return!1}function g(){return(0,s.useSyncExternalStore)(f,p,b)}function v(){let e=(0,a.c)("common"),[t,n]=(0,s.useState)(null),[h,f]=(0,s.useState)(null),p=(0,s.useCallback)(e=>{if(e.type!==u.Oo)return;let{serverVersion:t,clientVersion:r}=e;"string"==typeof t&&"string"==typeof r&&t&&r&&t!==h&&n({serverVersion:t,clientVersion:r})},[h]);(0,c.T3)(p);let b=null!==t;(0,s.useEffect)(()=>{if(b)return m+=1,x(),()=>{m-=1,x()}},[b]);let g=(0,s.useCallback)(()=>{window.location.reload()},[]),v=(0,s.useCallback)(()=>{n(e=>(e&&f(e.serverVersion),null))},[]);return t?(0,r.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:d.M.TOAST},children:[(0,r.jsx)(i.A,{className:"h-5 w-5 shrink-0 mt-0.5","aria-hidden":"true"}),(0,r.jsxs)("div",{className:"flex flex-col gap-0.5 text-sm",children:[(0,r.jsx)("span",{className:"font-semibold",children:e("versionMismatch.title")}),(0,r.jsx)("span",{children:e("versionMismatch.description",{serverVersion:t.serverVersion,clientVersion:t.clientVersion})})]}),(0,r.jsxs)("button",{type:"button","data-testid":"version-mismatch-reload",onClick:g,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,r.jsx)(l.A,{className:"h-4 w-4","aria-hidden":"true"}),e("versionMismatch.reload")]}),(0,r.jsx)("button",{type:"button","data-testid":"version-mismatch-dismiss",onClick:v,"aria-label":e("versionMismatch.dismiss"),className:"shrink-0 hover:opacity-70 focus:outline-none focus:ring-2 focus:ring-offset-2",children:(0,r.jsx)(o.A,{className:"h-4 w-4","aria-hidden":"true"})})]}):null}},80903:(e,t,n)=>{Promise.resolve().then(n.t.bind(n,22311,23)),Promise.resolve().then(n.t.bind(n,7183,23)),Promise.resolve().then(n.t.bind(n,13673,23)),Promise.resolve().then(n.bind(n,28876)),Promise.resolve().then(n.bind(n,23252))}},e=>{e.O(0,[5373,2978,6809,4909,2770,2619,6606,7730,5927,8407,2407,344,6654,8606,4768,8165,602,5794,8441,1255,7358],()=>e(e.s=80903)),_N_E=e.O()}]);
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7177],{13673:()=>{},23252:(e,t,n)=>{"use strict";n.d(t,{AppProviders:()=>M});var r=n(95155),s=n(20063);n(95704);let a=["/login","/api/auth/login","/api/auth/logout","/api/auth/status","/api/remote/pair","/manifest.webmanifest","/sw.js","/offline"];var i=n(3809),l=n(5379),o=n(32916),d=n(65380),c=n(22592),u=n(92614),m=n(70628),h=n(66966),x=n(89275),f=n(60199),p=n(36402),b=n(63470),g=n(40823),v=n(58165),w=n(94442),j=n(72604),y=n(95275),k=n(79832),N=n(12115),C=n(18955),S=n(89559),I=n(59854),T=n(77016);function A(){let e=(0,C.c)("pwa"),[t,n]=(0,N.useState)(null),s=(0,N.useRef)(!1),a=(0,T.W)();return((0,N.useEffect)(()=>{if("undefined"==typeof navigator||!("serviceWorker"in navigator))return;let e=!1,t=t=>{e||n(t)};navigator.serviceWorker.register("/sw.js").then(e=>{e.waiting&&navigator.serviceWorker.controller&&t(e.waiting),e.addEventListener("updatefound",()=>{let n=e.installing;n&&n.addEventListener("statechange",()=>{"installed"===n.state&&navigator.serviceWorker.controller&&t(n)})})}).catch(()=>{});let r=()=>{s.current||(s.current=!0,window.location.reload())};return navigator.serviceWorker.addEventListener("controllerchange",r),()=>{e=!0,navigator.serviceWorker.removeEventListener("controllerchange",r)}},[]),!t||a)?null:(0,r.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:I.M.TOAST},children:(0,r.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,r.jsx)("span",{className:"text-sm font-medium text-foreground",children:e("update.available")}),(0,r.jsxs)("button",{type:"button",onClick:()=>{t.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,r.jsx)(S.A,{className:"h-4 w-4"}),e("update.reload")]})]})})}function M(e){var t;let{children:n,locale:N,messages:C,timeZone:S,authEnabled:I=!1}=e,T=(t=(0,s.usePathname)(),!I||!a.includes(null!=t?t:""));return(0,r.jsx)(i.default,{locale:N,messages:C,timeZone:S,children:(0,r.jsx)(w.tE,{children:(0,r.jsx)(l.N,{attribute:"class",defaultTheme:"system",enableSystem:!0,children:(0,r.jsx)(d.O,{authEnabled:I,children:(0,r.jsx)(c.W5,{children:(0,r.jsx)(o.GB,{children:(0,r.jsx)(f.tS,{enabled:T,children:(0,r.jsxs)(h.g7,{enabled:T,children:[(0,r.jsx)(j.rM,{}),(0,r.jsx)(k.o,{}),(0,r.jsx)(y.H,{}),(0,r.jsx)(u.E,{children:(0,r.jsx)(m.S,{children:(0,r.jsx)(p.aF,{children:(0,r.jsx)(b.y2,{enabled:T,children:(0,r.jsxs)(g.NS,{children:[(0,r.jsx)(x.Bo,{children:n}),(0,r.jsx)(A,{}),(0,r.jsx)(v.gZ,{})]})})})})})]})})})})})})})})}},28876:(e,t,n)=>{"use strict";n.d(t,{AppShellGate:()=>tY});var r=n(95155),s=n(20063),a=n(12115),i=n(32916),l=n(38218);let o={showSidebar:!0,showGlobalNav:!0,showLocalNav:!1,autoCollapseSidebar:!1},d=[{prefix:"/worktrees/",config:{showGlobalNav:!1,showLocalNav:!0}},{prefix:"/sessions",config:{autoCollapseSidebar:!0}}];var c=n(22592),u=n(52619),m=n.n(u),h=n(89275);let x=(0,a.forwardRef)(function(e,t){let{href:n,onClick:a,target:i,...l}=e,o=(0,s.usePathname)(),d=(0,h.Hq)();return(0,r.jsx)(m(),{ref:t,href:n,target:i,onClick:e=>{var t;null==a||a(e),e.defaultPrevented||0!==(t=e).button||t.metaKey||t.ctrlKey||t.shiftKey||t.altKey||void 0!==i&&"_self"!==i||/^([a-z][a-z0-9+.-]*:)?\/\//i.test(n)||/^(mailto:|tel:)/i.test(n)||(e.preventDefault(),n!==o&&d.push(n))},...l})});var f=n(18955),p=n(66685),b=n(85710),g=n(61362),v=n(15870),w=n(17787),j=n(49027),y=n(27587),k=n(39649),N=n(69858),C=n(76471),S=n(70532),I=n(44308),T=n(38606);let A=(0,a.memo)(function(e){let{worktrees:t,visibleWorktreeIds:n,selectedWorktreeId:s,onSelect:a,onNavigate:i}=e,l=(0,f.c)("common"),o=t.length;if(0===o)return null;let d=t.slice(0,3),c=o-d.length;return(0,r.jsxs)("section",{"data-testid":"sidebar-needs-attention","aria-label":l("sidebar.needsAttention"),className:"flex-shrink-0 px-2 pt-3",children:[(0,r.jsxs)("div",{className:"flex items-center gap-2 px-2 pb-1 text-xs text-sidebar-muted",children:[(0,r.jsx)("span",{className:"min-w-0 flex-1 truncate",children:l("sidebar.needsAttention")}),(0,r.jsx)("span",{"data-testid":"sidebar-needs-attention-count","aria-label":l("attention.badgeLabel",{count:o}),className:"flex-shrink-0 rounded-full bg-warning-subtle px-1.5 font-semibold leading-5 tabular-nums text-warning-foreground",children:o>99?"99+":o})]}),(0,r.jsx)("ul",{className:"space-y-0.5",children:d.map(e=>{let t=(0,T.XK)(e),i=!n.has(e.id),o=e.id===s;return(0,r.jsx)("li",{children:(0,r.jsxs)("button",{type:"button","data-testid":"sidebar-attention-item","data-hidden-repository":i?"true":void 0,onClick:()=>a(e.id),"aria-current":o?"true":void 0,title:"".concat(t.name," \xb7 ").concat(t.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 ".concat(o?"bg-sidebar-hover":""),children:[(0,r.jsx)("span",{className:"flex w-4 flex-shrink-0 items-center justify-center",children:(0,r.jsx)(C.Ej,{status:"waiting",waitingKind:t.waitingKind})}),(0,r.jsx)("span",{className:"min-w-0 flex-1 truncate text-sm text-sidebar-foreground",children:t.name}),(0,r.jsx)("span",{className:"min-w-0 max-w-[40%] flex-shrink truncate text-xs text-sidebar-muted",children:t.repositoryName}),i&&(0,r.jsx)(S.A,{"data-testid":"sidebar-attention-hidden-repository",className:"h-3.5 w-3.5 flex-shrink-0 text-sidebar-muted","aria-label":l("sidebar.hiddenRepository"),role:"img"})]})},e.id)})}),(0,r.jsx)(x,{href:I.ks,"data-testid":"sidebar-needs-attention-review-link",onClick:i,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,r.jsx)("span",{className:"min-w-0 truncate",children:c>0?l("sidebar.attentionMoreInReview",{count:c}):l("sidebar.openInReview")})})]})}),M=(0,a.memo)(function(e){let{branches:t,selectedWorktreeId:n,onBranchClick:s,forceExpanded:i}=e,l=(0,f.c)("common"),[o,d]=(0,a.useState)(!1),c=i||o;return(0,r.jsxs)("div",{"data-testid":"branch-group-other",children:[(0,r.jsx)("div",{className:N.R8,children:(0,r.jsxs)("button",{type:"button","data-testid":"branch-group-other-toggle","aria-expanded":c,disabled:i,onClick:()=>d(e=>!e),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,r.jsx)("svg",{className:"h-3 w-3 flex-shrink-0 transition-transform ".concat(c?"rotate-90":""),fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,"aria-hidden":"true",children:(0,r.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M9 5l7 7-7 7"})}),(0,r.jsx)("span",{className:"min-w-0 truncate",children:l("sidebar.otherBranches",{count:t.length})})]})}),c&&t.map(e=>(0,r.jsx)(N.yP,{branch:e,isSelected:e.id===n,onClick:()=>s(e.id),showRepositoryName:!1},e.id))]})});var E=n(48407),L=n(73464),P=n(26232),R=n(7636),B=n(87531);let K=[{mode:"grouped",labelKey:"sidebar.viewMode.grouped"},{mode:"flat",labelKey:"sidebar.viewMode.flat"},{mode:"sessions",labelKey:"sidebar.viewMode.sessions"}],O=[{key:"updatedAt",labelKey:"sort.updatedAt"},{key:"repositoryName",labelKey:"sort.repositoryName"},{key:"branchName",labelKey:"sort.branchName"},{key:"status",labelKey:"sort.status"}],D={updatedAt:"desc"},F={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"}},W={asc:"sort.ascending",desc:"sort.descending"};function z(e){var t;return null!=(t=D[e])?t:"asc"}function _(e){e.preventDefault()}let H=(0,a.memo)(function(e){var t,n,s,l;let{viewMode:o,onViewModeChange:d}=e,c=(0,f.c)("common"),{sortKey:u,sortDirection:m,setSortKey:h,setSortDirection:x}=(0,i.VF)(),p=(0,a.useId)(),b=(0,a.useId)(),g=(0,a.useMemo)(()=>{var e;let t=null!=(e=F[u])?e:W;return e=>c(t[e])},[u,c]),v=c(null!=(s=null==(t=K.find(e=>e.mode===o))?void 0:t.labelKey)?s:"sidebar.viewMode.grouped"),w=c(null!=(l=null==(n=O.find(e=>e.key===u))?void 0:n.labelKey)?l:"sort.".concat(u)),j=c("sidebar.listOptionsSummary",{view:v,sort:w,direction:g(m)}),y=o===i.e8&&u===i.P0&&m===i.RA,k=z(u);return(0,r.jsxs)(P.rI,{children:[(0,r.jsx)(P.ty,{asChild:!0,children:(0,r.jsxs)("button",{type:"button","data-testid":"sidebar-list-options","data-view-mode":o,"data-sort-key":u,"data-sort-direction":m,"aria-label":c("sidebar.listOptionsLabel",{summary:j}),title:j,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,r.jsx)(L.A,{className:"h-4 w-4","aria-hidden":"true"}),!y&&(0,r.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,r.jsxs)(P.SQ,{"data-testid":"sidebar-list-options-menu",align:"end",collisionPadding:8,className:(0,B.cn)("w-52 max-w-[calc(100vw-16px)]","max-h-[var(--radix-dropdown-menu-content-available-height)] overflow-y-auto"),children:[(0,r.jsx)(P.lp,{id:p,children:c("sidebar.viewLabel")}),(0,r.jsx)(P.Hr,{"data-testid":"view-mode-options","aria-labelledby":p,value:o,onValueChange:e=>{(0,R.$m)(e)&&e!==o&&d(e)},children:K.map(e=>{let{mode:t,labelKey:n}=e;return(0,r.jsx)(P.Ht,{value:t,onSelect:_,children:c(n)},t)})}),(0,r.jsx)(P.mB,{}),(0,r.jsx)(P.lp,{id:b,children:c("sort.label")}),(0,r.jsx)(P.Hr,{"data-testid":"sort-key-options","aria-labelledby":b,value:u,onValueChange:e=>{let t=O.find(t=>t.key===e);t&&t.key!==u&&(h(t.key),x(z(t.key)))},children:O.map(e=>{let{key:t,labelKey:n}=e;return(0,r.jsx)(P.Ht,{value:t,onSelect:_,children:c(n)},t)})}),(0,r.jsx)(P.mB,{}),(0,r.jsx)(P.Hr,{"data-testid":"sort-direction-options","aria-label":c("sort.directionLabel"),value:m,onValueChange:e=>{("asc"===e||"desc"===e)&&x(e)},children:("asc"===k?["asc","desc"]:["desc","asc"]).map(e=>(0,r.jsx)(P.Ht,{value:e,onSelect:_,children:g(e)},e))})]})]})}),V=(0,a.memo)(function(e){let{searchQuery:t,onSearchChange:n,viewMode:s,onViewModeChange:a}=e,i=(0,f.c)("common");return(0,r.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,r.jsx)(E.pd,{type:"text",inputSize:"sm",placeholder:i("sidebar.searchBranches"),"aria-label":i("sidebar.searchBranches"),value:t,onChange:e=>n(e.target.value),className:"min-w-0 flex-1 border-sidebar-border bg-background shadow-none"}),(0,r.jsx)(H,{viewMode:s,onViewModeChange:a})]})});var Y=n(41898),U=n(30061),q=n(5379),G=n(65380),X=n(45195),J=n(40823),Z=n(68704),$=n(26020);async function Q(){try{await fetch("/api/auth/logout",{method:"POST"}),window.location.href="/login"}catch(e){window.location.href="/login"}}let ee=P.ty;function et(){let e=(0,f.c)("common"),{size:t,setSize:n}=(0,c.Ps)(),s=(0,i.pT)();return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(P.mB,{}),(0,r.jsx)(P.lp,{children:e("displaySize.ariaLabel")}),(0,r.jsx)(P.Hr,{value:t,onValueChange:e=>{(0,Z.fM)(e)&&n(e)},children:Z.Uf.map(t=>(0,r.jsx)(P.Ht,{value:t,children:e("displaySize.".concat(t))},t))}),s&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(P.lp,{children:e("repoTabBar.settingLabel")}),(0,r.jsx)(P.Hr,{value:s.repoTabBarMode,onValueChange:e=>{(0,R.m3)(e)&&s.setRepoTabBarMode(e)},children:R.EN.map(t=>(0,r.jsx)(P.Ht,{value:t,children:e("repoTabBar.mode.".concat(t))},t))})]})]})}function en(e){let{children:t,testIdPrefix:n,side:s="top",align:i="end",showDisplayPreferences:o=!1,onNavigate:d}=e,c=(0,f.c)("worktree"),u=(0,h.Hq)(),{theme:m,setTheme:x}=(0,q.D)(),{currentLocale:p,switchLocale:b}=(0,X.g)(),g=(0,G.H)(),v=(0,l.a)(),{open:w}=(0,J.V0)(),j=(0,a.useRef)(!1),y=(0,a.useRef)(null),k="0.47.2",N=e=>{null==d||d(),u.push(e)};return(0,r.jsxs)(P.rI,{children:[t,(0,r.jsxs)(P.SQ,{side:s,align:i,collisionPadding:8,className:"w-56 max-w-[calc(100vw-16px)] max-h-[var(--radix-dropdown-menu-content-available-height)] overflow-y-auto",onCloseAutoFocus:()=>{j.current&&(j.current=!1,queueMicrotask(w))},children:[(0,r.jsx)(P.lp,{"data-testid":"".concat(n,"-version"),children:c("activityBar.settingsMenu.version",{version:k?"v".concat(k):"-"})}),(0,r.jsx)(P._2,{asChild:!0,onSelect:()=>{let e=y.current;if(y.current=null,!(e&&(0!==e.button||e.metaKey||e.ctrlKey||e.shiftKey||e.altKey))){if(null==e||e.preventDefault(),v)return void N("/more");j.current=!0}},children:(0,r.jsx)("a",{href:"/more","data-testid":"".concat(n,"-settings"),onClick:e=>{y.current=e},children:c("activityBar.settingsMenu.settings")})}),(0,r.jsx)(P._2,{onSelect:()=>N("/skills"),children:c("activityBar.settingsMenu.skills")}),(0,r.jsx)(P.mB,{}),(0,r.jsx)(P.lp,{children:c("activityBar.settingsMenu.theme")}),(0,r.jsxs)(P.Hr,{value:null!=m?m:"system",onValueChange:e=>x(e),children:[(0,r.jsx)(P.Ht,{value:"light",children:c("activityBar.settingsMenu.themeLight")}),(0,r.jsx)(P.Ht,{value:"dark",children:c("activityBar.settingsMenu.themeDark")}),(0,r.jsx)(P.Ht,{value:"system",children:c("activityBar.settingsMenu.themeSystem")})]}),(0,r.jsx)(P.lp,{children:c("activityBar.settingsMenu.language")}),(0,r.jsx)(P.Hr,{value:p,onValueChange:e=>b(e),children:$.dI.map(e=>(0,r.jsx)(P.Ht,{value:e,children:$.vK[e]},e))}),o&&!v&&(0,r.jsx)(et,{}),(0,r.jsx)(P.mB,{}),(0,r.jsx)(P._2,{asChild:!0,children:(0,r.jsx)("a",{href:"https://github.com/kewton/MyCodeBranchDesk",target:"_blank",rel:"noopener noreferrer",children:c("activityBar.settingsMenu.github")})}),g&&(0,r.jsx)(P._2,{onSelect:()=>{Q()},children:c("activityBar.settingsMenu.logout")})]})]})}var er=n(59847),es=n(11010),ea=n(86651),ei=n(79651),el=n(92614),eo=n(51743);let ed=["global","terminal","composer","editor"],ec=[{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 eu(){if("undefined"==typeof navigator)return!1;let e=navigator.platform||navigator.userAgent||"";return/Mac|iPhone|iPad|iPod/.test(e)}function em(e,t){return"MOD"===e?t?"⌘":"Ctrl":e}var eh=n(26550),ex=n(78845),ef=n(65229);let ep="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",eb={width:"".concat(R.KI,"px"),height:"".concat(R.KI,"px")};function eg(e){let{testId:t,onClose:n}=e,s=(0,f.c)("common"),{isOpen:a,toggle:l}=(0,i.VF)(),o=s(a?"sidebar.close":"sidebar.open"),d=a?eh.A:ex.A;return(0,r.jsx)("div",{"data-sidebar-toggle-cell":"",className:"flex flex-shrink-0",style:{padding:"".concat(R.df,"px")},children:n?(0,r.jsx)("button",{type:"button","data-testid":t,onClick:n,"aria-label":s("sidebar.close"),style:eb,className:ep,children:(0,r.jsx)(ef.A,{size:20,"aria-hidden":"true"})}):(0,r.jsx)(Y.m_,{content:o,placement:a?"bottom":"right",children:(0,r.jsx)("button",{type:"button","data-testid":t,onClick:l,"aria-label":o,"aria-expanded":a,style:eb,className:ep,children:(0,r.jsx)(d,{size:20,"aria-hidden":"true"})})})})}let ev="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 ew(e){let{drawer:t=!1}=e,n=(0,f.c)("common"),s=(0,f.c)("commandPalette"),{setOpen:l}=(0,el.C)(),{openNewTask:o}=(0,eo.hX)(),{closeMobileDrawer:d}=(0,i.VF)(),c=function(){let[e,t]=a.useState(null);return a.useEffect(()=>{t(eu()?"⌘":"Ctrl")},[]),e}(),u=t?d:void 0;return(0,r.jsxs)("div",{"data-testid":t?"sidebar-drawer-top-controls":"sidebar-top-controls",className:"flex-shrink-0",children:[(0,r.jsxs)("div",{className:"flex min-w-0 items-center",children:[t?(0,r.jsx)(eg,{testId:"sidebar-drawer-close",onClose:d}):(0,r.jsx)(eg,{testId:"sidebar-panel-toggle"}),(0,r.jsxs)(x,{href:"/",onClick:u,"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,r.jsx)("span",{className:"flex h-6 w-6 flex-shrink-0 items-center justify-center rounded-md bg-accent-600",children:(0,r.jsx)(er.A,{size:14,strokeWidth:2,className:"text-white","aria-hidden":"true"})}),(0,r.jsx)("span",{className:"truncate text-sm font-bold text-sidebar-foreground",children:"CommandMate"})]})]}),(0,r.jsxs)("div",{className:"space-y-0.5 px-2",children:[(0,r.jsxs)("button",{type:"button","data-testid":"sidebar-new-task",onClick:()=>{null==u||u(),o()},"aria-haspopup":"dialog",className:ev,children:[(0,r.jsx)(es.A,{className:"h-4 w-4 flex-shrink-0","aria-hidden":"true"}),(0,r.jsx)("span",{className:"min-w-0 flex-1 truncate",children:n("newTask.title")})]}),(0,r.jsxs)("button",{type:"button","data-testid":"sidebar-search",onClick:()=>{null==u||u(),l(!0)},"aria-label":s("mobileTrigger"),className:ev,children:[(0,r.jsx)(ea.A,{className:"h-4 w-4 flex-shrink-0","aria-hidden":"true"}),(0,r.jsx)("span",{className:"min-w-0 flex-1 truncate",children:s("searchAction")}),!t&&null!==c&&(0,r.jsxs)("span",{className:"flex flex-shrink-0 items-center gap-0.5","aria-hidden":"true",children:[(0,r.jsx)(ei.u,{children:c}),(0,r.jsx)(ei.u,{children:"K"})]})]})]})]})}var ej=n(94442),ey=n(24373),ek=n(80344),eN=n(98873);let eC="mcbd-sidebar-group-collapsed",eS="mcbd-sidebar-scroll-top",eI=0,eT=(0,a.memo)(function(){var e,t,n;let o=(0,h.Hq)(),{worktrees:d,repositories:c,selectedWorktreeId:u,selectWorktree:m,refreshWorktrees:x,isLoading:v,error:y}=(0,k.$f)(),{closeMobileDrawer:C,sortKey:S,sortDirection:M,viewMode:L,setViewMode:P,repositoryOrder:B,setRepositoryOrder:K}=(0,i.VF)(),O=(0,f.c)("common"),D=null!=(e=(0,s.usePathname)())?e:"",F=(0,R.jn)(D,u),W=(0,l.a)(),{count:z}=(0,ey.Lv)(),[_,H]=(0,a.useState)(""),Y=(0,a.useRef)(null),[U,q]=(0,a.useState)(()=>{try{let e=localStorage.getItem(eC);return e?function(e){try{let t=JSON.parse(e);if("object"!=typeof t||null===t||Array.isArray(t))return{};let n={},r=0;for(let[e,s]of Object.entries(t))if(!eE.has(e)&&"boolean"==typeof s){if(++r>100)break;n[e]=s}return n}catch(e){return{}}}(e):{}}catch(e){return{}}}),G=(0,a.useRef)(!1);(0,a.useEffect)(()=>{G.current||(G.current=!0,fetch("/api/sidebar/group-order").then(e=>e.json()).then(e=>{e.success&&Array.isArray(e.order)&&K(e.order)}).catch(()=>{}))},[K]);let X=(0,a.useMemo)(()=>(0,R.UZ)(c),[c]),J=(0,a.useMemo)(()=>(0,R.s6)(d,X),[d,X]),Z=(0,a.useMemo)(()=>(0,ey.Rc)(d),[d]),$=(0,a.useMemo)(()=>new Set(J.map(e=>e.id)),[J]),Q=(0,a.useMemo)(()=>J.map(T.XK),[J]),ee=(0,a.useMemo)(()=>new Map(Q.map(e=>[e.id,e])),[Q]),et=(0,a.useDeferredValue)(Q),en=(0,a.useRef)(null),er=(0,a.useRef)(null),es=(0,a.useRef)(null),ea=(0,a.useRef)(new Set),[ei,el]=(0,a.useState)(0);(0,a.useEffect)(()=>()=>{null!==er.current&&clearTimeout(er.current)},[]);let eo=(0,a.useCallback)(()=>{null!==er.current&&(clearTimeout(er.current),er.current=null),en.current=null,es.current=null},[]),ed=(0,a.useMemo)(()=>{let e=en.current;return!e||0===e.items.length||Date.now()>=e.expiresAt?et:e.items},[et,ei]),ec=(0,a.useRef)(ed),eu=es.current,em=new Set(ed.filter(e=>(null==eu?void 0:eu.has(e.id))===!0||(0,R.rL)(e,F,ee)).map(e=>e.id));(0,a.useLayoutEffect)(()=>{if(ec.current=ed,ea.current=em,es.current)for(let e of em)es.current.add(e);let e=en.current;e&&0===e.items.length&&et.length>0&&eo()});let eh=(0,a.useCallback)(()=>{if(0===ec.current.length)return;null!==er.current&&(clearTimeout(er.current),er.current=null);let e=en.current;if(e&&Date.now()<e.expiresAt){en.current={...e,expiresAt:1/0};return}en.current={items:ec.current,expiresAt:1/0},es.current=new Set(ea.current)},[]),ex=(0,a.useCallback)(()=>{en.current&&(en.current={...en.current,expiresAt:Date.now()+1e3},null!==er.current&&clearTimeout(er.current),er.current=setTimeout(()=>{eo(),el(e=>e+1)},1e3))},[eo]),{sortedItems:ef,groupedItems:ep}=(0,eN.D)({items:ed,sortKey:S,sortDirection:M,viewMode:L,filterText:_}),eb=(0,a.useMemo)(()=>"grouped"===L&&ep?_.trim()?ep:(0,R.Ew)(ep,B):null,[L,ep,B,_]),eg="grouped"===L?eb:null,ev=(0,a.useMemo)(()=>"sessions"===L?(0,R.EY)((0,R.UB)(ef),S,M):[],[L,ef,S,M]);(0,a.useEffect)(()=>{try{localStorage.setItem(eC,JSON.stringify(U))}catch(e){}},[U]);let ej=(0,a.useCallback)(e=>{q(t=>({...t,[e]:!t[e]}))},[]),ek=(0,a.useCallback)(()=>{var e,t,n=null!=(t=null==(e=Y.current)?void 0:e.scrollTop)?t:0;let r=Number.isFinite(n)&&n>0?n:0;eI=r;try{localStorage.setItem(eS,String(r))}catch(e){}},[]),eT=ef.length>0||(null!=(t=null==eg?void 0:eg.length)?t:0)>0||ev.length>0;(0,a.useEffect)(()=>{let e=Y.current;if(!e)return;let t=window.requestAnimationFrame(()=>{e.scrollTop=function(){try{let e=localStorage.getItem(eS);if(!e)return eI=0,0;let t=Number(e);Number.isFinite(t)&&t>=0&&(eI=t)}catch(e){}return eI}()});return()=>{window.cancelAnimationFrame(t)}},[eT,L]);let eL=(0,a.useCallback)(e=>{ek(),m(e),o.push("/worktrees/".concat(e)),C()},[ek,m,o,C]),eB=(0,a.useCallback)(e=>{ek(),m(e.worktreeId),o.push((0,R.Ii)(e)),C()},[ek,m,o,C]),eK=(0,w.FR)((0,w.MS)(w.AN,{activationConstraint:{distance:8}})),eO=(0,a.useCallback)(e=>{let{active:t,over:n}=e;if(!n||t.id===n.id||!eg)return;let r=eg.map(e=>e.repositoryName),s=r.indexOf(String(t.id)),a=r.indexOf(String(n.id));if(-1===s||-1===a)return;let i=(0,j.be)(r,s,a);K(i),fetch("/api/sidebar/group-order",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({order:i})}).catch(()=>{K(r)})},[eg,K]),eW="grouped"===L?(null!=(n=null==eg?void 0:eg.length)?n:0)===0:"sessions"===L?0===ev.length:0===ef.length,ez=v&&0===d.length,e_=!ez&&!!y&&0===d.length,eH=(0,a.useCallback)(()=>{x()},[x]),eV={sessions:(0,r.jsx)("li",{className:"flex min-w-0",children:(0,r.jsx)(eP,{href:"/sessions",icon:p.A,label:O("nav.sessions"),testId:"sidebar-nav-sessions",isActive:D.startsWith("/sessions"),onNavigate:C})}),repositories:(0,r.jsxs)("li",{className:"flex min-w-0 items-center gap-1",children:[(0,r.jsx)(eP,{href:"/repositories",icon:b.A,label:O("nav.repositories"),testId:"sidebar-nav-repositories",isActive:D.startsWith("/repositories"),onNavigate:C}),(0,r.jsx)(eD,{refreshWorktrees:x})]}),review:(0,r.jsx)("li",{className:"flex min-w-0",children:(0,r.jsx)(eP,{href:z>0?I.ks:"/review",icon:g.A,label:O("nav.review"),testId:"sidebar-nav-review",isActive:D.startsWith("/review"),onNavigate:C,trailing:z>0?(0,r.jsx)("span",{"data-testid":"sidebar-nav-review-count",role:"status","aria-label":O("attention.badgeLabel",{count:z}),className:"flex-shrink-0 rounded-full bg-warning-subtle px-1.5 text-xs font-semibold leading-5 tabular-nums text-warning-foreground",children:z>99?"99+":z}):null})})};return(0,r.jsx)(N.Fy.Provider,{value:!W,children:(0,r.jsxs)("nav",{"data-testid":"sidebar","aria-label":O("sidebar.branchNavigation"),className:"h-full flex flex-col bg-sidebar text-sidebar-foreground",role:"navigation",children:[(0,r.jsx)(ew,{drawer:W}),(0,r.jsx)("div",{"data-testid":"sidebar-header",className:"flex-shrink-0 space-y-2 border-b border-sidebar-border px-2 py-2",children:(0,r.jsx)("ul",{"data-testid":"sidebar-nav",className:"space-y-0.5",children:R.go.map(e=>(0,r.jsx)(a.Fragment,{children:eV[e]},e))})}),(0,r.jsx)(A,{worktrees:Z,visibleWorktreeIds:$,selectedWorktreeId:F,onSelect:eL,onNavigate:C}),(0,r.jsx)(V,{searchQuery:_,onSearchChange:H,viewMode:L,onViewModeChange:P}),(0,r.jsx)("div",{ref:Y,"data-testid":"branch-list",onScroll:ek,onMouseEnter:eh,onMouseLeave:ex,className:"flex-1 overflow-y-auto overflow-x-hidden",children:ez?(0,r.jsx)(eA,{label:O("sidebar.loadingBranches")}):e_?(0,r.jsxs)("div",{"data-testid":"branch-list-error",role:"alert",className:"px-4 py-8 text-center text-sidebar-muted",children:[(0,r.jsx)("p",{className:"text-sm",children:O("sidebar.branchesLoadFailed")}),(0,r.jsx)(E.$n,{type:"button",variant:"secondary",size:"sm",className:"mt-3","data-testid":"branch-list-retry",onClick:eH,children:O("sidebar.retryLoadBranches")})]}):eW?(0,r.jsx)("div",{className:"px-4 py-8 text-center text-sidebar-muted",children:O(_?"sidebar.noBranchesFound":"sidebar.noBranchesAvailable")}):"sessions"===L?ev.map(e=>(0,r.jsx)(eR,{row:e,isSelected:e.worktreeId===F,onClick:eB},e.key)):"grouped"===L&&eg?(0,r.jsx)(w.Mp,{sensors:eK,collisionDetection:w.fp,onDragEnd:eO,children:(0,r.jsx)(j.gB,{items:eg.map(e=>e.repositoryName),strategy:j._G,children:eg.map(e=>{let t=!U[e.repositoryName]||!!_.trim();return(0,r.jsx)(eM,{group:e,isExpanded:t,selectedWorktreeId:F,onToggle:()=>ej(e.repositoryName),onBranchClick:eL,isDragDisabled:!!_.trim(),isFiltering:!!_.trim(),liveBranchById:ee,stickyShownIds:eu},e.repositoryName)})})}):ef.map(e=>(0,r.jsx)(N.yP,{branch:e,isSelected:e.id===F,onClick:()=>eL(e.id)},e.id))}),(0,r.jsx)("div",{"data-testid":"sidebar-footer",className:"flex-shrink-0 px-4 py-3 border-t border-sidebar-border",children:(0,r.jsx)(eF,{onNavigate:C})})]})})}),eA=(0,a.memo)(function(e){let{label:t}=e;return(0,r.jsxs)("div",{"data-testid":"branch-list-skeleton",role:"status","aria-live":"polite",className:"px-4 py-3 space-y-3",children:[(0,r.jsx)("span",{className:"sr-only",children:t}),[0,1,2,3,4].map(e=>(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[(0,r.jsx)(E.EA,{className:"h-2 w-2 rounded-full"}),(0,r.jsx)(E.EA,{className:"h-3 flex-1"})]},e))]})});function eM(e){let{group:t,isExpanded:n,selectedWorktreeId:s,onToggle:a,onBranchClick:i,isDragDisabled:l,isFiltering:o,liveBranchById:d,stickyShownIds:c}=e,{attributes:u,listeners:m,setNodeRef:h,setActivatorNodeRef:x,transform:f,transition:p,isDragging:b}=(0,j.gl)({id:t.repositoryName,disabled:l}),g={transform:y.Ks.Transform.toString(f),transition:p,opacity:b?.5:1},{shown:v,other:w}=(0,R.FS)(t.branches,s,d,null!=c?c:void 0);return(0,r.jsxs)("div",{ref:h,style:g,className:"w-full min-w-0 pt-2",children:[(0,r.jsx)(eL,{repositoryName:t.repositoryName,branchCount:t.branches.length,isExpanded:n,onClick:a,dragHandleRef:x,dragHandleListeners:l?void 0:m,dragHandleAttributes:l?void 0:u}),n&&v.map(e=>(0,r.jsx)(N.yP,{branch:e,isSelected:e.id===s,onClick:()=>i(e.id),showRepositoryName:!1},e.id)),n&&w.length>0&&(0,r.jsx)(M,{branches:w,selectedWorktreeId:s,onBranchClick:i,forceExpanded:o})]})}let eE=new Set(["__proto__","constructor","prototype"]);function eL(e){let{repositoryName:t,branchCount:n,isExpanded:s,onClick:a,dragHandleRef:i,dragHandleListeners:l,dragHandleAttributes:o}=e,d=(0,f.c)("common");return(0,r.jsxs)("div",{className:"group/header flex items-center w-full",children:[l&&(0,r.jsx)("div",{ref:i,...l,...o,"data-testid":"group-drag-handle","aria-label":d("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,r.jsx)(eK,{})}),(0,r.jsxs)("button",{"data-testid":"group-header",type:"button",onClick:a,"aria-expanded":s,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,r.jsx)(eB,{isExpanded:s}),(0,r.jsx)(E.nF,{color:(0,R.LV)(t)}),(0,r.jsx)(U.nR,{content:t,className:"flex-1 min-w-0 text-left truncate",children:t}),(0,r.jsx)("span",{className:"text-sidebar-muted font-normal tabular-nums pr-2",children:n})]})]})}function eP(e){let{href:t,icon:n,label:s,testId:a,isActive:i,onNavigate:l,trailing:o}=e;return(0,r.jsxs)(x,{href:t,"data-testid":a,"aria-current":i?"page":void 0,onClick:l,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 ".concat(i?"bg-sidebar-hover font-medium text-sidebar-foreground":"text-sidebar-muted"),children:[(0,r.jsx)(n,{className:"h-4 w-4 flex-shrink-0","aria-hidden":"true"}),(0,r.jsx)("span",{className:"min-w-0 flex-1 truncate",children:s}),o]})}let eR=(0,a.memo)(function(e){let{row:t,isSelected:n,onClick:s}=e,a=(0,f.c)("common"),i=(0,C.Mq)(t.status,t.unclassified),l=a(i?C.rH:"status.".concat(t.status));return(0,r.jsx)("div",{className:"w-full min-w-0 ".concat(N.R8),children:(0,r.jsxs)("button",{type:"button","data-testid":"session-list-item","data-session-key":t.key,onClick:()=>s(t),"aria-current":n?"true":void 0,className:"w-full min-w-0 min-h-[34px] px-3 py-1.5 flex items-center gap-2 text-left ".concat((0,N.Xd)(n)),children:[(0,r.jsx)(E.md,{status:t.status,size:"sm",label:t.exited?"".concat(l," (").concat(a("branchItem.agentExited"),")"):l,className:i?C.Jd:void 0}),(0,r.jsx)("span",{className:"flex-shrink-0 max-w-[45%] truncate text-sm font-semibold text-sidebar-foreground",children:t.label}),(0,r.jsxs)("span",{className:"min-w-0 flex-1 truncate text-xs text-sidebar-muted",children:[t.branchName," \xb7 ",t.repositoryName]})]})})});function eB(e){let{isExpanded:t}=e;return(0,r.jsx)("svg",{className:"w-3 h-3 flex-shrink-0 transition-transform ".concat(t?"rotate-90":""),fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:(0,r.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M9 5l7 7-7 7"})})}function eK(){return(0,r.jsxs)("svg",{className:"w-3 h-3",fill:"currentColor",viewBox:"0 0 24 24","aria-hidden":"true",children:[(0,r.jsx)("circle",{cx:"9",cy:"5",r:"1.5"}),(0,r.jsx)("circle",{cx:"15",cy:"5",r:"1.5"}),(0,r.jsx)("circle",{cx:"9",cy:"12",r:"1.5"}),(0,r.jsx)("circle",{cx:"15",cy:"12",r:"1.5"}),(0,r.jsx)("circle",{cx:"9",cy:"19",r:"1.5"}),(0,r.jsx)("circle",{cx:"15",cy:"19",r:"1.5"})]})}function eO(e){let{className:t=""}=e;return(0,r.jsx)("svg",{className:"".concat("w-4 h-4"," ").concat(t),fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:(0,r.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 eD=(0,a.memo)(function(e){let{refreshWorktrees:t}=e,[n,s]=(0,a.useState)(!1),i=(0,a.useRef)(!1),{showToast:l}=(0,ej.dj)(),o=(0,f.c)("common"),d=(0,a.useCallback)(async()=>{if(!i.current){i.current=!0,s(!0);try{let e=await ek.Rx.sync();await t(),l(o("syncSuccess",{count:e.worktreeCount}),"success",3e3)}catch(e){e instanceof ek.hD&&401===e.status?l(o("syncAuthError"),"error",5e3):l(o("syncError"),"error",5e3)}finally{i.current=!1,s(!1)}}},[t,l,o]);return(0,r.jsx)(r.Fragment,{children:(0,r.jsx)(Y.m_,{content:o("tooltips.sync"),placement:"bottom",children:(0,r.jsx)("button",{type:"button",onClick:d,disabled:n,"aria-label":o("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,r.jsx)(eO,{className:n?"animate-spin":""})})})})});function eF(e){let{onNavigate:t}=e,n=(0,f.c)("common")("settings.title");return(0,r.jsx)(en,{testIdPrefix:"sidebar-settings-menu",side:"top",align:"start",showDisplayPreferences:!0,onNavigate:t,children:(0,r.jsx)(ee,{asChild:!0,children:(0,r.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,r.jsx)(v.A,{size:20,"aria-hidden":"true"}),(0,r.jsx)("span",{className:"truncate",children:n})]})})})}var eW=n(52407);function ez(){let{shouldSurface:e,isReconnecting:t}=(0,eW.Fx)(),n=(0,f.c)("common");if(!e)return null;let s=n(t?"connection.reconnecting":"connection.offline");return(0,r.jsxs)("span",{"data-testid":"connection-status-indicator","data-connection-state":t?"reconnecting":"offline",role:"status","aria-live":"polite",title:n(t?"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,r.jsx)("span",{"aria-hidden":"true",className:["w-1.5 h-1.5 rounded-full",t?"bg-warning motion-safe:animate-pulse":"bg-muted-foreground"].join(" ")}),s]})}var e_=n(72137);let eH=[{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 eV(e){var t,n,a,i;let{title:l="CommandMate"}=e,o=null!==(n=null!=(t=(0,s.usePathname)())?t:"",null!=(i=null==(a=eH.find(e=>n.startsWith(e.prefix)))?void 0:a.labelKey)?i:null);return(0,r.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:[!o&&(0,r.jsx)("h1",{"data-testid":"header-screen-title",className:"mr-auto min-w-0 truncate text-lg font-bold text-foreground",children:l}),(0,r.jsx)(ez,{}),(0,r.jsx)(e_.H,{})]})}function eY(e){let{count:t}=e,n=(0,f.c)("common");return 0===t?null:(0,r.jsx)("span",{"data-testid":"attention-badge-bubble",role:"status","aria-label":n("attention.badgeLabel",{count:t}),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:t>99?"99+":t})}let eU="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",eq="text-sidebar-muted hover:bg-sidebar-hover hover:text-sidebar-foreground";function eG(e){let{href:t,icon:n,label:s,testId:a,isActive:i,badge:l}=e;return(0,r.jsx)(Y.m_,{content:s,placement:"right",children:(0,r.jsx)(x,{href:t,"data-testid":a,"aria-label":s,"aria-current":i?"page":void 0,className:"".concat(eU," ").concat(i?"bg-sidebar-hover text-sidebar-foreground":eq),children:(0,r.jsxs)("span",{className:"relative flex",children:[(0,r.jsx)(n,{size:20,"aria-hidden":"true"}),l]})})})}function eX(e){let{icon:t,label:n,testId:s,onClick:a,hasPopup:i}=e;return(0,r.jsx)(Y.m_,{content:n,placement:"right",children:(0,r.jsx)("button",{type:"button","data-testid":s,"aria-label":n,"aria-haspopup":i,onClick:a,className:"".concat(eU," ").concat(eq),children:(0,r.jsx)(t,{size:20,"aria-hidden":"true"})})})}function eJ(){var e;let t=(0,f.c)("common"),n=(0,f.c)("commandPalette"),i=null!=(e=(0,s.usePathname)())?e:"",{setOpen:l}=(0,el.C)(),{openNewTask:o}=(0,eo.hX)(),{count:d}=(0,ey.Lv)(),c=t("settings.title"),u={sessions:(0,r.jsx)(eG,{href:"/sessions",icon:p.A,label:t("nav.sessions"),testId:"sidebar-rail-sessions",isActive:i.startsWith("/sessions")}),repositories:(0,r.jsx)(eG,{href:"/repositories",icon:b.A,label:t("nav.repositories"),testId:"sidebar-rail-repositories",isActive:i.startsWith("/repositories")}),review:(0,r.jsx)(eG,{href:d>0?I.ks:"/review",icon:g.A,label:t("nav.review"),testId:"sidebar-rail-review",isActive:i.startsWith("/review"),badge:(0,r.jsx)(eY,{count:d})})};return(0,r.jsxs)("nav",{"data-testid":"sidebar-rail","aria-label":t("sidebar.railLabel"),className:"flex h-full flex-col items-center gap-1 bg-sidebar pb-2 text-sidebar-foreground",style:{width:"".concat(R.BN,"px")},children:[(0,r.jsx)(eg,{testId:"sidebar-rail-toggle"}),(0,r.jsx)(eX,{icon:es.A,label:t("newTask.title"),testId:"sidebar-rail-new-task",onClick:()=>o(),hasPopup:"dialog"}),(0,r.jsx)(eX,{icon:ea.A,label:n("mobileTrigger"),testId:"sidebar-rail-search",onClick:()=>l(!0)}),(0,r.jsx)("div",{className:"my-1 w-8 border-b border-sidebar-border","aria-hidden":"true"}),R.go.map(e=>(0,r.jsx)(a.Fragment,{children:u[e]},e)),(0,r.jsx)("div",{className:"mt-auto",children:(0,r.jsx)(en,{testIdPrefix:"sidebar-rail-settings",side:"right",align:"end",showDisplayPreferences:!0,children:(0,r.jsx)(Y.m_,{content:c,placement:"right",children:(0,r.jsx)(ee,{asChild:!0,children:(0,r.jsx)("button",{type:"button","data-testid":"sidebar-rail-settings","aria-label":c,className:"".concat(eU," ").concat(eq),children:(0,r.jsx)(v.A,{size:20,"aria-hidden":"true"})})})})})})]})}var eZ=n(46365),e$=n(12906),eQ=n(37772),e0=n(9540),e1=n(55756);let e2=[{labelKey:"nav.sessions",href:"/sessions",isActive:e=>e.startsWith("/sessions"),icon:(0,r.jsx)(p.A,{size:20,"aria-hidden":"true"})},{labelKey:"nav.review",href:"/review",isActive:e=>e.startsWith("/review"),icon:(0,r.jsx)(g.A,{size:20,"aria-hidden":"true"}),showsAttentionBadge:!0},{labelKey:"nav.more",href:"/more",isActive:e=>e.startsWith("/more"),icon:(0,r.jsx)(eQ.A,{size:20,"aria-hidden":"true"})}];function e5(){let e=(0,s.usePathname)(),{setOpen:t}=(0,el.C)(),n=(0,f.c)("commandPalette"),a=(0,f.c)("common"),{count:l}=(0,ey.Lv)(),o=(0,i.pT)();return(null==o?void 0:o.isMobileDrawerOpen)?null:(0,r.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,r.jsxs)("div",{className:"flex items-center justify-around h-14",children:[o&&(0,r.jsxs)("button",{type:"button","data-testid":"mobile-nav-open-sidebar",...e1.cv,onClick:o.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,r.jsx)(e0.A,{size:20,"aria-hidden":"true"}),(0,r.jsx)("span",{className:"mt-1 whitespace-nowrap",children:a("sidebar.branches")})]}),e2.map(t=>{let n=t.isActive(e),s=!0===t.showsAttentionBadge&&l>0;return(0,r.jsxs)(x,{href:s?I.ks:t.href,className:"flex flex-col items-center justify-center flex-1 h-full text-xs transition-colors ".concat(n?"text-accent-600 dark:text-accent-400":"text-muted-foreground hover:text-foreground"),children:[(0,r.jsxs)("span",{className:"relative inline-flex",children:[t.icon,!0===t.showsAttentionBadge&&(0,r.jsx)(eY,{count:l})]}),(0,r.jsx)("span",{className:"mt-1 whitespace-nowrap",children:a(t.labelKey)})]},t.href)}),(0,r.jsxs)("button",{type:"button","data-testid":"mobile-command-palette-trigger",onClick:()=>t(!0),"aria-label":n("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,r.jsx)(ea.A,{size:20,"aria-hidden":"true"}),(0,r.jsx)("span",{className:"mt-1 whitespace-nowrap",children:n("mobileLabel")})]})]})})}function e4(){let{shouldSurface:e,isReconnecting:t}=(0,eW.Fx)(),n=(0,f.c)("common");if(!e)return null;let s=n(t?"connection.reconnecting":"connection.offline"),a=n(t?"connection.reconnectingTooltip":"connection.offlineTooltip");return(0,r.jsx)("div",{"data-testid":"mobile-connection-banner","data-connection-state":t?"reconnecting":"offline",role:"status","aria-live":"polite",title:a,className:"shrink-0 pt-safe border-b ".concat(t?"bg-warning-subtle border-warning-border text-warning-foreground":"bg-danger-subtle border-danger-border text-danger-foreground"),children:(0,r.jsxs)("div",{className:"flex items-center justify-center gap-1.5 px-3 py-1 text-xs",children:[(0,r.jsx)("span",{"aria-hidden":"true",className:"w-1.5 h-1.5 rounded-full ".concat(t?"bg-warning motion-safe:animate-pulse":"bg-danger")}),s]})})}var e3=n(45573),e9=n(94465),e6=n(70628);function e7(e){return!0===e.isComposing||229===e.keyCode}let e8=[...ec,{id:"newTask",keys:["MOD","Shift","O"],scope:"global"},{id:"newTaskSend",keys:["MOD","↵"],scope:"global"}];function te(){let{open:e,setOpen:t}=(0,e6.K)(),{open:n}=(0,el.C)(),{isOpen:s}=(0,eo.hX)(),i=(0,f.c)("keyboardShortcuts"),[l,o]=(0,a.useState)(!1);(0,a.useEffect)(()=>o(eu()),[]);let d=(0,a.useRef)(e);(0,a.useEffect)(()=>{d.current=e},[e]);let c=(0,a.useRef)(n);(0,a.useEffect)(()=>{c.current=n},[n]);let u=(0,a.useRef)(s);(0,a.useEffect)(()=>{u.current=s},[s]),(0,a.useEffect)(()=>{function e(e){"?"!==e.key||e.isComposing||229===e.keyCode||(0,e3.tJ)(e.target)||c.current||u.current||d.current||(e.preventDefault(),t(!0))}return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[t]);let m=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:ec;return ed.map(t=>({scope:t,shortcuts:e.filter(e=>e.scope===t)})).filter(e=>e.shortcuts.length>0)}(e8);return(0,r.jsx)(e9.a,{isOpen:e,onClose:()=>t(!1),title:i("title"),size:"md",children:(0,r.jsx)("div",{"data-testid":"keyboard-shortcuts-overlay",className:"space-y-6",children:m.map(e=>{let{scope:t,shortcuts:n}=e;return(0,r.jsxs)("section",{"data-testid":"keyboard-shortcuts-scope-".concat(t),children:[(0,r.jsx)("h4",{className:"mb-2 text-xs font-semibold uppercase tracking-wide text-muted-foreground",children:i("scopes.".concat(t))}),(0,r.jsx)("ul",{className:"divide-y divide-border",children:n.map(e=>(0,r.jsxs)("li",{"data-testid":"keyboard-shortcut-".concat(e.id),className:"flex items-center justify-between gap-4 py-2",children:[(0,r.jsx)("span",{className:"text-sm text-foreground",children:i("shortcuts.".concat(e.id))}),(0,r.jsx)("span",{className:"flex flex-shrink-0 items-center gap-1",children:e.keys.map((e,t)=>(0,r.jsx)(ei.u,{children:em(e,l)},t))})]},e.id))})]},t)})})})}var tt=n(77016),tn=n(36809),tr=n(31166);let ts=/^v?\d+\.\d+\.\d+$/;function ta(e){return e.replace(/^v/,"").split(".").map(Number)}let ti="commandmate.lastSeenAppVersion";function tl(e){try{window.localStorage.setItem(ti,e)}catch(e){}}let to=[{key:"added",labelKey:"whatsNew.added"},{key:"improved",labelKey:"whatsNew.improved"},{key:"fixed",labelKey:"whatsNew.fixed"}];function td(){let e=(0,f.c)("common"),t=(0,tn.Ym)(),[n,s]=(0,a.useState)(null),[i,l]=(0,a.useState)(!1);(0,a.useEffect)(()=>{let e,t="0.47.2";try{e=window.localStorage.getItem(ti)}catch(e){return}let n=function(e,t){if(!ts.test(t))return{kind:"none"};if(null===e||!ts.test(e))return{kind:"remember"};let n=function(e,t){let n=ta(e),r=ta(t),s=Math.max(n.length,r.length);for(let e=0;e<s;e++){let t=n[e]||0,s=r[e]||0;if(t>s)return 1;if(t<s)return -1}return 0}(t,e);return 0===n?{kind:"none"}:n<0?{kind:"remember"}:{kind:"show",from:e}}(e,t);if("none"===n.kind)return;if("remember"===n.kind)return void tl(t);let r=!1;return ek.GQ.getReleaseNotes(n.from,t).then(e=>{r||(s({from:n.from,to:t,notes:e.notes}),l(!0))},()=>{}),()=>{r=!0}},[]);let o=(0,a.useCallback)(()=>{n&&tl(n.to),l(!1)},[n]);if(!n)return null;let d="ja"===t?"ja":"en";return(0,r.jsx)(e9.a,{isOpen:i,onClose:o,title:e("whatsNew.title",{from:n.from,to:n.to}),size:"md",children:(0,r.jsxs)("div",{className:"space-y-4","data-testid":"whats-new-dialog",children:[0===n.notes.length?(0,r.jsx)("p",{className:"text-sm text-foreground","data-testid":"whats-new-empty",children:e("whatsNew.empty")}):n.notes.map(t=>(0,r.jsxs)("section",{className:"space-y-3","data-testid":"whats-new-version-".concat(t.version),children:[(0,r.jsxs)("h4",{className:"text-sm font-semibold text-foreground",children:["v",t.version,(0,r.jsx)("span",{className:"ml-2 text-xs font-normal text-muted-foreground",children:t.date})]}),t.highlight&&(0,r.jsxs)("div",{"data-testid":"whats-new-highlight",children:[(0,r.jsx)("h5",{className:"text-xs font-medium text-muted-foreground",children:e("whatsNew.highlight")}),(0,r.jsx)("p",{className:"mt-1 text-sm text-foreground",children:t.highlight[d]})]}),to.map(n=>{let{key:s,labelKey:a}=n;return t[s].length>0?(0,r.jsxs)("div",{"data-testid":"whats-new-".concat(s),children:[(0,r.jsx)("h5",{className:"text-xs font-medium text-muted-foreground",children:e(a)}),(0,r.jsx)("ul",{className:"mt-1 list-disc space-y-1 pl-5 text-sm text-foreground",children:t[s].map((e,t)=>(0,r.jsx)("li",{children:e[d]},t))})]},s):null})]},t.version)),(0,r.jsxs)("div",{className:"flex items-center justify-between gap-3 border-t border-border pt-3",children:[(0,r.jsx)("a",{href:"".concat("https://github.com/Kewton/CommandMate/releases/tag/v").concat(n.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:e("whatsNew.releaseLink")}),(0,r.jsx)(tr.$,{type:"button",variant:"primary",size:"sm",onClick:o,"data-testid":"whats-new-close",children:e("whatsNew.close")})]})]})})}var tc=n(76351);let tu="commandmate.newTask.recentTargets";function tm(e){if(null===e||"object"!=typeof e)return!1;let{worktreeId:t,instanceId:n}=e;return"string"==typeof t&&""!==t&&"string"==typeof n&&""!==n}function th(e,t){return e.worktreeId===t.worktreeId&&e.instanceId===t.instanceId}function tx(){try{let e=window.localStorage.getItem(tu);if(!e)return[];let t=JSON.parse(e);if(!Array.isArray(t))return[];return t.filter(tm).map(e=>{let{worktreeId:t,instanceId:n}=e;return{worktreeId:t,instanceId:n}}).slice(0,3)}catch(e){return[]}}var tf=n(54014);function tp(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],n=new Map;for(let r of e){let e=n.get(r.repositoryPath);if(!e){let s=t.find(e=>e.path===r.repositoryPath);e={path:r.repositoryPath,name:(null==s?void 0:s.displayName)||(null==s?void 0:s.name)||r.repositoryName,worktrees:[]},n.set(r.repositoryPath,e)}e.worktrees.push(r)}let r=Array.from(n.values());for(let e of r)e.worktrees.sort((e,t)=>e.name.localeCompare(t.name));return r.sort((e,t)=>e.name.localeCompare(t.name))}function tb(e){return e.agentInstances&&e.agentInstances.length>0?e.agentInstances.slice().sort((e,t)=>e.order-t.order):e.selectedAgents&&e.selectedAgents.length>0?(0,tf.lu)(e.selectedAgents):e.cliToolId?(0,tf.lu)([e.cliToolId]):[]}function tg(e,t){let n=e.find(e=>e.id===t.worktreeId);if(!n)return null;let r=tb(n).find(e=>e.id===t.instanceId);return r?{worktree:n,instance:r}:null}function tv(e,t){var n,r,s,a;let i=null!=(a=null==(n=e.sessionStatusByInstance)?void 0:n[t.id])?a:t.id===t.cliTool?null==(r=e.sessionStatusByCli)?void 0:r[t.cliTool]:void 0,l=null==i?void 0:i.startingSince,o=null==(s=e.autoYesByInstance)?void 0:s[t.id];return{instance:t,label:(0,tf.sw)(t),running:(null==i?void 0:i.isRunning)===!0,starting:"number"==typeof l,autoYes:(null==o?void 0:o.enabled)&&"number"==typeof o.expiresAt?o:null}}var tw=n(56936);let tj={promptWaiting:"PROMPT_WAITING",sessionStarting:"SESSION_STARTING",instanceToolConflict:"instance_tool_conflict"};async function ty(e){try{let t=await e.json(),n=t&&"object"==typeof t?t.expiresAt:null;if("number"==typeof n)return{enabled:!0,expiresAt:n}}catch(e){}return null}async function tk(e){try{let t=await e.json();if(t&&"object"==typeof t){let{error:e,code:n}=t;return{error:"string"==typeof e&&""!==e?e:null,code:"string"==typeof n?n:null}}}catch(e){}return{error:null,code:null}}async function tN(e,t){let{modelRequested:n}=t;if(e.ok&&!e.redirected)return{ok:!0};let{status:r}=e,{error:s,code:a}=await tk(e);return{ok:!1,kind:409===r?a===tj.promptWaiting?"prompt_waiting":"conflict":503===r?a===tj.sessionStarting?"starting":"start_failed":400===r?n&&a!==tj.instanceToolConflict?"model_rejected":"invalid":"failed",status:e.ok?0:r,detail:s}}function tC(e){return{ok:!1,kind:"failed",status:0,detail:e instanceof ek.hD||e instanceof Error?e.message:null}}function tS(e,t){return new Promise((n,r)=>{let s=setTimeout(()=>{r(new ek.hD("Request timed out after ".concat(t,"ms"),0,void 0,"timeout"))},t);e().then(e=>{clearTimeout(s),n(e)},e=>{clearTimeout(s),r(e)})})}async function tI(e){var t;let n,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:ek.E,{target:s,cliToolId:a}=e,i="/api/worktrees/".concat(encodeURIComponent(s.worktreeId)),l={"Content-Type":"application/json"},o=!1,d=e.autoYesDuration;if(null!==d){let e,t=!1;try{e=await tS(async()=>{var e;let c=await r("".concat(i,"/auto-yes"),{method:"POST",headers:l,body:JSON.stringify({enabled:!0,cliToolId:a,instanceId:s.instanceId,duration:d})});if(!c.ok){let{error:e}=await tk(c);return{ok:!1,kind:"auto_yes_failed",status:c.status,detail:e}}return t=!0,n=null!=(e=await ty(c))?e:void 0,o=void 0===n,null},(0,tw.Z3)("POST"))}catch(e){if(!t){let t=tC(e);return t.ok?t:{...t,kind:"auto_yes_failed"}}return{...tC(e),autoYesStateUnknown:!0}}if(e)return e}let c=e=>n?{...e,armedAutoYes:n}:o?{...e,autoYesStateUnknown:!0}:e,u=(null==(t=e.model)?void 0:t.trim())||void 0,m=(0,tw.SE)();try{return c(await tS(async()=>{let t=await r("".concat(i,"/send"),{method:"POST",headers:l,body:JSON.stringify({content:e.content,cliToolId:a,instanceId:s.instanceId,...u?{model:u}:{}}),timeoutMs:m});return tN(t,{modelRequested:void 0!==u})},m))}catch(e){return c(tC(e))}}let tT="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",tA="block text-xs font-medium text-muted-foreground mb-1";function tM(e){let{status:t,isEmpty:n,onRetry:s}=e,a=(0,f.c)("common");return(0,r.jsxs)(r.Fragment,{children:["loading"===t&&(0,r.jsx)("p",{className:"text-sm text-muted-foreground","data-testid":"new-task-loading",children:a("newTask.loading")}),"error"===t&&(0,r.jsxs)("div",{className:"space-y-2",role:"alert","data-testid":"new-task-load-error",children:[(0,r.jsx)("p",{className:"text-sm text-danger",children:a("newTask.loadError")}),(0,r.jsx)("button",{type:"button",onClick:s,className:"px-3 py-1.5 text-sm font-medium text-foreground bg-muted hover:bg-muted/80 rounded-lg",children:a("retry")})]}),"ready"===t&&n&&(0,r.jsx)("p",{className:"text-sm text-muted-foreground","data-testid":"new-task-empty",children:a("newTask.noTargets")})]})}function tE(e){let{recentOptions:t,targetState:n,worktreeId:s,onSelect:a}=e,i=(0,f.c)("common");return 0===t.length?null:(0,r.jsxs)("div",{children:[(0,r.jsx)("span",{className:tA,children:i("newTask.recentLabel")}),(0,r.jsx)("div",{className:"flex flex-wrap gap-2","data-testid":"new-task-recents",children:t.map(e=>{let{target:t,label:i}=e,l=!!n&&th(t,{worktreeId:s,instanceId:n.instance.id});return(0,r.jsx)("button",{type:"button","aria-pressed":l,"data-testid":"new-task-recent",onClick:()=>a(t),className:"max-w-full truncate rounded-full border px-3 py-1 text-xs transition-colors ".concat(l?"border-accent-500 bg-accent-500/15 text-foreground":"border-border text-muted-foreground hover:text-foreground"),children:i},"".concat(t.worktreeId,":").concat(t.instanceId))})})]})}function tL(e){var t,n,s;let{repositoryOptions:a,repository:i,worktreeId:l,worktree:o,instances:d,instance:c,onRepositoryChange:u,onBranchChange:m,onAgentChange:h}=e,x=(0,f.c)("common");return(0,r.jsxs)("div",{className:"grid grid-cols-1 gap-3 sm:grid-cols-3",children:[(0,r.jsxs)("div",{children:[(0,r.jsx)("label",{htmlFor:"new-task-repository",className:tA,children:x("newTask.repositoryLabel")}),(0,r.jsx)("select",{id:"new-task-repository","data-testid":"new-task-repository",value:null!=(t=null==i?void 0:i.path)?t:"",onChange:e=>u(e.target.value),className:tT,children:a.map(e=>(0,r.jsx)("option",{value:e.path,children:e.name},e.path))})]}),(0,r.jsxs)("div",{children:[(0,r.jsx)("label",{htmlFor:"new-task-branch",className:tA,children:x("newTask.branchLabel")}),(0,r.jsx)("select",{id:"new-task-branch","data-testid":"new-task-branch",value:l,onChange:e=>m(e.target.value),className:tT,children:(null!=(n=null==i?void 0:i.worktrees)?n:[]).map(e=>(0,r.jsx)("option",{value:e.id,children:e.name},e.id))})]}),(0,r.jsxs)("div",{children:[(0,r.jsx)("label",{htmlFor:"new-task-agent",className:tA,children:x("newTask.agentLabel")}),(0,r.jsx)("select",{id:"new-task-agent","data-testid":"new-task-agent",value:null!=(s=null==c?void 0:c.id)?s:"",onChange:e=>h(e.target.value),className:tT,disabled:0===d.length,children:d.map(e=>{var t;let n=o?tv(o,e):null,s=(null==n?void 0:n.starting)?"starting":(null==n?void 0:n.running)?"running":"stopped";return(0,r.jsx)("option",{value:e.id,children:"".concat(null!=(t=null==n?void 0:n.label)?t:e.id," — ").concat(x("newTask.agentStatus.".concat(s)))},e.id)})})]})]})}function tP(e){let{statusKey:t,agentLabel:n}=e,s=(0,f.c)("common");return(0,r.jsxs)(r.Fragment,{children:["stopped"===t&&(0,r.jsx)("p",{className:"text-xs text-foreground","data-testid":"new-task-will-start",children:s("newTask.willStart",{agent:n})}),"starting"===t&&(0,r.jsx)("p",{className:"text-xs text-warning-foreground","data-testid":"new-task-starting",children:s("newTask.startingNotice",{agent:n})})]})}function tR(e){let{modelAvailability:t,model:n,cliTool:s,agentLabel:a,onChange:i}=e,l=(0,f.c)("common");return(0,r.jsxs)("div",{children:[(0,r.jsx)("label",{htmlFor:"new-task-model",className:tA,children:l("newTask.modelLabel")}),(0,r.jsx)("input",{id:"new-task-model","data-testid":"new-task-model",type:"text",value:(null==t?void 0:t.selectable)?n:"",onChange:e=>i(e.target.value),placeholder:l("newTask.modelPlaceholder"),disabled:!(null==t?void 0:t.selectable),className:tT}),t&&(0,r.jsx)("p",{className:"mt-1 text-xs text-muted-foreground","data-testid":"new-task-model-note",children:t.selectable?l("copilot"===s?"newTask.modelHintSwitch":"newTask.modelHintLaunch"):l("newTask.modelUnavailable.".concat(t.reason),{agent:a})})]})}function tB(e){let{armedAutoYes:t,autoYesChoice:n,autoYesUnknown:s,onChoiceChange:a}=e,i=(0,f.c)("common"),l=(0,f.c)("autoYes");return(0,r.jsxs)("div",{children:[(0,r.jsx)("label",{htmlFor:"new-task-auto-yes",className:tA,children:i("newTask.autoYesLabel")}),t?(0,r.jsx)("p",{className:"text-sm text-foreground","data-testid":"new-task-auto-yes-active",children:i("newTask.autoYesActive",{remaining:(0,tc.$B)(t.expiresAt)})}):(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)("select",{id:"new-task-auto-yes","data-testid":"new-task-auto-yes",value:null!=n?n:"",onChange:e=>{let t=Number(e.target.value);a(""!==e.target.value&&(0,tc.dR)(t)?t:null)},className:tT,children:[(0,r.jsx)("option",{value:"",children:i(s?"newTask.autoYesKeepUnknown":"newTask.autoYesKeep")}),tc.z9.map(e=>(0,r.jsx)("option",{value:e,children:i("newTask.autoYesEnableFor",{duration:l(tc.Ni[e].replace("autoYes.",""))})},e))]}),s&&(0,r.jsx)("p",{className:"mt-1 text-xs text-warning-foreground","data-testid":"new-task-auto-yes-unknown",children:i("newTask.autoYesUnknown")}),(0,r.jsx)("p",{className:"mt-1 text-xs text-muted-foreground",children:i("newTask.autoYesScope")}),null!==n&&(0,r.jsx)("p",{className:"mt-1 text-xs text-warning-foreground","data-testid":"new-task-auto-yes-risk",children:l("riskWarning")})]})]})}function tK(e){let{failure:t,agentLabel:n}=e,s=(0,f.c)("common");return t?(0,r.jsxs)("div",{role:"alert","data-testid":"new-task-error","data-kind":t.kind,className:"rounded-lg border border-danger-border bg-danger-subtle px-3 py-2 text-sm text-danger-foreground",children:[(0,r.jsx)("p",{children:s("newTask.errors.".concat(t.kind),{agent:n})}),t.detail&&(0,r.jsx)("p",{className:"mt-1 break-words text-xs text-muted-foreground","data-testid":"new-task-error-detail",children:t.detail})]}):null}function tO(){var e,t,n,i,l,o,d;let{requestedTarget:c,screenTarget:u,closeNewTask:m,setCloseLocked:h}=(0,eo.hX)(),x=(0,s.useRouter)(),{showToast:p}=(0,ej.dj)(),b=(0,f.c)("common"),[g,v]=(0,a.useState)({status:"loading"}),[w,j]=(0,a.useState)(0),[y]=(0,a.useState)(()=>tx()),[k,N]=(0,a.useState)(""),[C,S]=(0,a.useState)(""),[I,T]=(0,a.useState)(""),[A,M]=(0,a.useState)(""),[E,L]=(0,a.useState)(null),[P,B]=(0,a.useState)(!1),[K,O]=(0,a.useState)(null),[D,F]=(0,a.useState)(!1),W=(0,a.useRef)(null),z=(0,a.useRef)(!0),_=(0,a.useRef)(!1),[H,V]=(0,a.useState)({}),[Y,U]=(0,a.useState)({});(0,a.useEffect)(()=>(z.current=!0,F(eu()),()=>{z.current=!1,h(!1)}),[h]);let q=(0,a.useCallback)(()=>{_.current||m()},[m]),G=(0,a.useRef)([c,u,null!=(e=y[0])?e:null]),X=(0,a.useRef)(!1);(0,a.useEffect)(()=>{let e=!1;return v({status:"loading"}),ek.y.getAll().then(t=>{var n,r;if(e)return;let s=null!=(n=t.worktrees)?n:[],a=null!=(r=t.repositories)?r:[];if(v({status:"ready",worktrees:s,repositories:a}),X.current)return;X.current=!0;let i=function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];for(let n of t){if(!n)continue;if(tg(e,n))return n;let t=e.find(e=>e.id===n.worktreeId),r=t?tb(t)[0]:void 0;if(t&&r)return{worktreeId:t.id,instanceId:r.id}}for(let t of tp(e,n))for(let e of t.worktrees){let t=tb(e)[0];if(t)return{worktreeId:e.id,instanceId:t.id}}return null}(s,G.current,a);i&&(N(i.worktreeId),S(i.instanceId))}).catch(()=>{e||v({status:"error"})}),()=>{e=!0}},[w]);let J=(0,a.useMemo)(()=>"ready"===g.status?g.worktrees:[],[g]),Z=(0,a.useMemo)(()=>"ready"===g.status?tp(g.worktrees,g.repositories):[],[g]),$=null!=(t=J.find(e=>e.id===k))?t:null,Q=(0,a.useMemo)(()=>$?tb($):[],[$]),ee=null!=(n=Q.find(e=>e.id===C))?n:null,et=$&&ee?tv($,ee):null,en=$&&null!=(i=Z.find(e=>e.path===$.repositoryPath))?i:null,er=et?(d=et.instance.cliTool,"copilot"===d?{selectable:!0}:"claude"===d||"antigravity"===d?et.running||et.starting?{selectable:!1,reason:"running"}:{selectable:!0}:{selectable:!1,reason:"unsupported"}):null,es=et?null!=(l=Y["".concat(k,":").concat(et.instance.id)])?l:et.autoYes:null,ea=!function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Date.now();return!!e&&e.enabled&&"number"==typeof e.expiresAt&&e.expiresAt-t>0}(es)?null:es,el=!!et&&!0===H["".concat(k,":").concat(et.instance.id)],[,ed]=(0,a.useState)(0);(0,a.useEffect)(()=>{if(!ea)return;let e=setInterval(()=>ed(Date.now()),tc.$s);return()=>clearInterval(e)},[ea]),(0,a.useEffect)(()=>{var e;"ready"===g.status&&(null==(e=W.current)||e.focus())},[g.status]);let ec=(0,a.useMemo)(()=>y.flatMap(e=>{var t;let n=tg(J,e);if(!n)return[];let r=Z.find(e=>e.path===n.worktree.repositoryPath),s=tv(n.worktree,n.instance).label;return[{target:e,label:"".concat(null!=(t=null==r?void 0:r.name)?t:n.worktree.repositoryName," / ").concat(n.worktree.name," / ").concat(s)}]}),[y,J,Z]),eh=(0,a.useCallback)(e=>{N(e.worktreeId),S(e.instanceId),O(null)},[]),ex=(0,a.useCallback)(e=>{var t,n,r;let s=Z.find(t=>t.path===e),a=null!=(n=null==s?void 0:s.worktrees.find(e=>tb(e).length>0))?n:null==s?void 0:s.worktrees[0];a&&eh({worktreeId:a.id,instanceId:null!=(r=null==(t=tb(a)[0])?void 0:t.id)?r:""})},[Z,eh]),ef=(0,a.useCallback)(e=>{var t,n,r;let s=J.find(t=>t.id===e);if(!s)return;let a=tb(s),i=a.find(e=>e.id===C);eh({worktreeId:s.id,instanceId:null!=(r=null!=(n=null==i?void 0:i.id)?n:null==(t=a[0])?void 0:t.id)?r:""})},[J,C,eh]),ep=!!et&&""!==I.trim()&&!P,eb=(0,a.useCallback)(async()=>{if(!ep||!$||!et)return;let e={worktreeId:$.id,instanceId:et.instance.id};_.current=!0,h(!0),B(!0),O(null);let t=await tI({target:e,cliToolId:et.instance.cliTool,content:I.trim(),model:(null==er?void 0:er.selectable)?A:void 0,autoYesDuration:ea?null:E});if(_.current=!1,h(!1),!z.current)return;let{armedAutoYes:n}=t,r="".concat(e.worktreeId,":").concat(e.instanceId);if(t.autoYesStateUnknown&&V(e=>({...e,[r]:!0})),n&&(V(e=>{let{[r]:t,...n}=e;return n}),U(e=>({...e,[r]:n})),L(null)),!t.ok){O(t),B(!1);return}var s=e;let a=[{worktreeId:s.worktreeId,instanceId:s.instanceId},...tx().filter(e=>!th(e,s))].slice(0,3);try{window.localStorage.setItem(tu,JSON.stringify(a))}catch(e){}let i="".concat(window.location.pathname).concat(window.location.search),l="".concat($.name," / ").concat(et.label);m(),x.push((0,R.Ii)(e)),p(b("newTask.sentToast",{target:l}),"success",6e3,{onClick:()=>x.push(i)})},[ep,$,et,I,er,A,ea,E,m,h,x,p,b]),eg=(0,a.useCallback)(e=>{var t;e7(t=e.nativeEvent)||"Enter"!==t.key||t.shiftKey||t.altKey||!t.metaKey&&!t.ctrlKey||(e.preventDefault(),eb())},[eb]),ev=null!=(o=null==et?void 0:et.label)?o:"",ew=et?et.starting?"starting":et.running?"running":"stopped":null;return(0,r.jsx)(e9.a,{isOpen:!0,onClose:q,title:b("newTask.title"),size:"md",disableClose:P,children:(0,r.jsxs)("div",{"data-testid":"new-task-dialog",className:"space-y-4",onKeyDown:eg,children:[(0,r.jsx)(tM,{status:g.status,isEmpty:0===Z.length,onRetry:()=>j(e=>e+1)}),"ready"===g.status&&Z.length>0&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(tE,{recentOptions:ec,targetState:et,worktreeId:k,onSelect:eh}),(0,r.jsx)(tL,{repositoryOptions:Z,repository:en,worktreeId:k,worktree:$,instances:Q,instance:ee,onRepositoryChange:ex,onBranchChange:ef,onAgentChange:e=>eh({worktreeId:k,instanceId:e})}),(0,r.jsx)(tP,{statusKey:ew,agentLabel:ev}),(0,r.jsxs)("div",{children:[(0,r.jsx)("label",{htmlFor:"new-task-message",className:tA,children:b("newTask.messageLabel")}),(0,r.jsx)("textarea",{ref:W,id:"new-task-message","data-testid":"new-task-message",value:I,onChange:e=>T(e.target.value),placeholder:b("newTask.messagePlaceholder"),rows:5,className:"".concat(tT," resize-y")})]}),(0,r.jsxs)("div",{className:"grid grid-cols-1 gap-3 sm:grid-cols-2",children:[(0,r.jsx)(tR,{modelAvailability:er,model:A,cliTool:null==et?void 0:et.instance.cliTool,agentLabel:ev,onChange:M}),(0,r.jsx)(tB,{armedAutoYes:ea,autoYesChoice:E,autoYesUnknown:el,onChoiceChange:L})]})]}),(0,r.jsx)(tK,{failure:K,agentLabel:ev}),(0,r.jsxs)("div",{className:"flex items-center justify-end gap-2",children:[(0,r.jsxs)("span",{className:"mr-auto hidden items-center gap-1 text-xs text-muted-foreground sm:flex",children:[(0,r.jsx)(ei.u,{children:em("MOD",D)}),(0,r.jsx)(ei.u,{children:"↵"}),(0,r.jsx)("span",{children:b("newTask.sendHint")})]}),(0,r.jsx)("button",{type:"button","data-testid":"new-task-cancel",onClick:q,disabled:P,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:b("cancel")}),(0,r.jsx)("button",{type:"button","data-testid":"new-task-send",onClick:()=>void eb(),disabled:!ep,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:P?b("newTask.sending"):b("newTask.send")})]})]})})}function tD(){let{isOpen:e,openNewTask:t}=(0,eo.hX)(),{open:n}=(0,el.C)(),s=(0,a.useRef)(n);return(0,a.useEffect)(()=>{s.current=n},[n]),(0,a.useEffect)(()=>{function e(e){if(!e.defaultPrevented)!e7(e)&&e.shiftKey&&!e.altKey&&(e.metaKey||e.ctrlKey)&&("o"===e.key.toLowerCase()||"KeyO"===e.code)&&(s.current||(e.preventDefault(),t()))}return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[t]),e?(0,r.jsx)(tO,{}):null}var tF=n(59854);let tW="transform transition-transform duration-300 ease-out",tz=(0,a.memo)(function(e){let{children:t}=e,{isOpen:n,isMobileDrawerOpen:u,closeMobileDrawer:m,width:h,setWidth:x,repoTabBarMode:f,toggle:p}=(0,i.VF)(),b=(0,l.a)(),{showSidebar:g,showGlobalNav:v}=function(){var e=(0,s.usePathname)();for(let t of d)if(e.startsWith(t.prefix))return{...o,...t.config};return{...o}}();!function(e,t){let{open:n}=(0,el.C)(),r=(0,a.useRef)(n),s=(0,a.useRef)(t);(0,a.useEffect)(()=>{r.current=n,s.current=t},[n,t]),(0,a.useEffect)(()=>{if(e)return window.addEventListener("keydown",t),()=>window.removeEventListener("keydown",t);function t(e){!(e.defaultPrevented||!(0,R.zg)(e)||r.current||(0,eZ.Sj)())&&((0,R.al)(e.target)||(e.preventDefault(),s.current()))}},[e])}(!b&&g,p);let{factor:w}=(0,c.Ps)(),j=Math.round(160*w),y=Math.round(480*w),k=Math.round(Math.min(y,Math.max(j,h*w))),N=(0,R.fs)(null!=f?f:R.PB,n),C=(0,a.useRef)(null),S=(0,a.useRef)(null),I=(0,a.useRef)(null),T=(0,a.useRef)(u);(0,a.useLayoutEffect)(()=>{var e;let t=T.current;if(T.current=u,!b||!t||u)return;let n=document.activeElement,r=n instanceof HTMLElement&&(null==(e=I.current)?void 0:e.contains(n))===!0;(r||null===n||n===document.body)&&!(0,e1.Bl)()&&r&&n.blur()},[b,u]);let A=(0,a.useCallback)(e=>{x(Math.round(e/w))},[x,w]);return b?(0,r.jsx)(eo.Zg,{children:(0,r.jsxs)("div",{"data-testid":"app-shell",className:"h-screen flex flex-col",children:[(0,r.jsx)(e4,{}),u&&(0,r.jsx)("div",{"data-testid":"drawer-overlay",className:"fixed inset-0 bg-black/50 z-40",onClick:m,"aria-hidden":"true"}),g&&(0,r.jsx)("aside",{ref:I,"data-testid":"sidebar-container",className:"\n fixed left-0 top-0 h-full w-72 max-w-[85vw] z-50 bg-sidebar pt-safe pb-safe\n ".concat(tW,"\n ").concat(u?"translate-x-0":"-translate-x-full","\n "),role:"complementary",children:(0,r.jsx)(eT,{})}),(0,r.jsx)("main",{className:"flex-1 min-h-0 overflow-hidden ".concat(v?"pb-nav-safe":""),role:"main","data-view-transition":"content",children:t}),v&&(0,r.jsx)(e5,{}),(0,r.jsx)(e3.xq,{}),(0,r.jsx)(te,{}),(0,r.jsx)(tt.n,{}),(0,r.jsx)(td,{}),(0,r.jsx)(tD,{})]})}):(0,r.jsx)(eo.Zg,{children:(0,r.jsxs)("div",{"data-testid":"app-shell",className:"h-screen flex flex-col",children:[(0,r.jsxs)("div",{className:"flex flex-1 min-h-0",children:[g&&(0,r.jsxs)("aside",{ref:C,"data-testid":"sidebar-container",className:"\n fixed left-0 top-0 h-full\n border-r border-border\n ".concat(tW,"\n ").concat(n?"translate-x-0":"-translate-x-full","\n "),style:{width:"".concat(k,"px"),zIndex:tF.M.SIDEBAR},role:"complementary","aria-hidden":!n,children:[(0,r.jsx)(eT,{}),(0,r.jsx)(t_,{currentWidth:k,minWidth:j,maxWidth:y,sidebarRef:C,mainRef:S,onWidthChange:A})]}),g&&!n&&(0,r.jsx)("aside",{"data-testid":"sidebar-rail-container",className:"\n fixed left-0 top-0 h-full\n border-r border-border\n ",style:{width:"".concat(R.BN,"px"),zIndex:tF.M.SIDEBAR},children:(0,r.jsx)(eJ,{})}),(0,r.jsxs)("main",{ref:S,className:"flex-1 min-w-0 h-full overflow-hidden flex flex-col transition-[padding] duration-300 ease-out",style:{paddingLeft:g?"".concat(n?k:R.BN,"px"):0},role:"main","data-view-transition":"content",children:[N&&(0,r.jsx)(e$.vP,{}),v&&(0,r.jsx)(eV,{}),(0,r.jsx)("div",{className:"flex-1 min-h-0",children:t})]})]}),(0,r.jsx)(e3.xq,{}),(0,r.jsx)(te,{}),(0,r.jsx)(tt.n,{}),(0,r.jsx)(td,{}),(0,r.jsx)(tD,{})]})})});function t_(e){let{currentWidth:t,minWidth:n,maxWidth:s,sidebarRef:a,mainRef:i,onWidthChange:l}=e;return(0,r.jsx)("div",{"data-testid":"sidebar-resize-handle","aria-hidden":"true",onMouseDown:e=>{e.preventDefault();let r=e.clientX,o=t;i.current&&(i.current.style.transition="none");let d=e=>{o=Math.max(n,Math.min(s,t+(e.clientX-r))),a.current&&(a.current.style.width="".concat(o,"px")),i.current&&(i.current.style.paddingLeft="".concat(o,"px"))},c=()=>{document.body.style.cursor="",document.body.style.userSelect="",i.current&&(i.current.style.transition=""),document.removeEventListener("mousemove",d),document.removeEventListener("mouseup",c),l(o)};document.body.style.cursor="col-resize",document.body.style.userSelect="none",document.addEventListener("mousemove",d),document.addEventListener("mouseup",c)},className:"absolute top-0 right-0 w-1 h-full cursor-col-resize hover:bg-accent-500/40 transition-colors"})}let tH=["/login","/offline","/proxy"],tV=/^\/worktrees\/[^/]+\/(terminal|files)(\/|$)/;function tY(e){var t;let{children:n}=e,a=(0,s.usePathname)();return(t=null!=a?a:"",tH.some(e=>t===e||t.startsWith("".concat(e,"/")))||tV.test(t)||0)?(0,r.jsx)(r.Fragment,{children:n}):(0,r.jsx)(tz,{children:n})}},60322:(e,t,n)=>{"use strict";n.d(t,{l:()=>s});let r=/\x1b\[[0-9;]*[a-zA-Z]|\x1b\][^\x07]*\x07|\[[0-9;]*m/g;async function s(e){var t;if(!e||0===e.trim().length)return;let n=e.replace(r,"");if(null==(t=navigator.clipboard)?void 0:t.writeText)try{await navigator.clipboard.writeText(n);return}catch(e){}let s=document.createElement("textarea");s.value=n,s.style.position="fixed",s.style.left="-9999px",s.style.top="-9999px",s.style.opacity="0",document.body.appendChild(s),s.focus(),s.select();try{document.execCommand("copy")}finally{document.body.removeChild(s)}}},65380:(e,t,n)=>{"use strict";n.d(t,{H:()=>l,O:()=>i});var r=n(95155),s=n(12115);let a=(0,s.createContext)(!1);function i(e){let{children:t,authEnabled:n}=e;return(0,r.jsx)(a.Provider,{value:n,children:t})}function l(){return(0,s.useContext)(a)}},77016:(e,t,n)=>{"use strict";n.d(t,{W:()=>g,n:()=>v});var r=n(95155),s=n(12115),a=n(18955),i=n(52056),l=n(89559),o=n(65229),d=n(59854),c=n(60199),u=n(52703);let m=0,h=new Set;function x(){for(let e of h)e()}function f(e){return h.add(e),()=>{h.delete(e)}}function p(){return m>0}function b(){return!1}function g(){return(0,s.useSyncExternalStore)(f,p,b)}function v(){let e=(0,a.c)("common"),[t,n]=(0,s.useState)(null),[h,f]=(0,s.useState)(null),p=(0,s.useCallback)(e=>{if(e.type!==u.Oo)return;let{serverVersion:t,clientVersion:r}=e;"string"==typeof t&&"string"==typeof r&&t&&r&&t!==h&&n({serverVersion:t,clientVersion:r})},[h]);(0,c.T3)(p);let b=null!==t;(0,s.useEffect)(()=>{if(b)return m+=1,x(),()=>{m-=1,x()}},[b]);let g=(0,s.useCallback)(()=>{window.location.reload()},[]),v=(0,s.useCallback)(()=>{n(e=>(e&&f(e.serverVersion),null))},[]);return t?(0,r.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:d.M.TOAST},children:[(0,r.jsx)(i.A,{className:"h-5 w-5 shrink-0 mt-0.5","aria-hidden":"true"}),(0,r.jsxs)("div",{className:"flex flex-col gap-0.5 text-sm",children:[(0,r.jsx)("span",{className:"font-semibold",children:e("versionMismatch.title")}),(0,r.jsx)("span",{children:e("versionMismatch.description",{serverVersion:t.serverVersion,clientVersion:t.clientVersion})})]}),(0,r.jsxs)("button",{type:"button","data-testid":"version-mismatch-reload",onClick:g,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,r.jsx)(l.A,{className:"h-4 w-4","aria-hidden":"true"}),e("versionMismatch.reload")]}),(0,r.jsx)("button",{type:"button","data-testid":"version-mismatch-dismiss",onClick:v,"aria-label":e("versionMismatch.dismiss"),className:"shrink-0 hover:opacity-70 focus:outline-none focus:ring-2 focus:ring-offset-2",children:(0,r.jsx)(o.A,{className:"h-4 w-4","aria-hidden":"true"})})]}):null}},80903:(e,t,n)=>{Promise.resolve().then(n.t.bind(n,22311,23)),Promise.resolve().then(n.t.bind(n,7183,23)),Promise.resolve().then(n.t.bind(n,13673,23)),Promise.resolve().then(n.bind(n,28876)),Promise.resolve().then(n.bind(n,23252))}},e=>{e.O(0,[5373,2978,6809,4909,2770,2619,6606,7730,5927,8407,2407,344,6654,8606,4768,8165,602,5794,8441,1255,7358],()=>e(e.s=80903)),_N_E=e.O()}]);
|