commandmate 0.46.0 → 0.46.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.next/BUILD_ID +1 -1
- package/.next/app-build-manifest.json +259 -259
- package/.next/app-path-routes-manifest.json +14 -14
- package/.next/build-manifest.json +5 -5
- package/.next/prerender-manifest.json +9 -9
- package/.next/react-loadable-manifest.json +2 -2
- package/.next/required-server-files.json +1 -1
- package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/server/app/api/agents/update/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/agents/versions/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/app/release-notes/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/app/update/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/app/update-check/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/auth/login/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/auth/logout/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/auth/status/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/capabilities/route.js +1 -1
- package/.next/server/app/api/capabilities/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/daily-summary/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/daily-summary/status/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/external-apps/[id]/health/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/external-apps/[id]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/external-apps/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/fs/browse/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/fs/recent-paths/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/hooks/agent-event/route.js.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 +9 -9
- 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.nft.json +1 -1
- package/.next/server/app/api/hooks/permission-request/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/metrics/vibe/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/ollama/models/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/push/escalation/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/push/subscriptions/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/push/vapid/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/relays/[relayId]/cancel/route.js.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.nft.json +1 -1
- package/.next/server/app/api/relays/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/remote/pair/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/repositories/[id]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/repositories/clone/[jobId]/route.js +1 -1
- package/.next/server/app/api/repositories/clone/[jobId]/route.js.nft.json +1 -1
- package/.next/server/app/api/repositories/clone/[jobId]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/repositories/clone/route.js +1 -1
- package/.next/server/app/api/repositories/clone/route.js.nft.json +1 -1
- package/.next/server/app/api/repositories/clone/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/repositories/excluded/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/repositories/restore/route.js +1 -1
- package/.next/server/app/api/repositories/restore/route.js.nft.json +1 -1
- package/.next/server/app/api/repositories/restore/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/repositories/route.js +1 -1
- package/.next/server/app/api/repositories/route.js.nft.json +1 -1
- package/.next/server/app/api/repositories/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/repositories/scan/route.js +1 -1
- package/.next/server/app/api/repositories/scan/route.js.nft.json +1 -1
- package/.next/server/app/api/repositories/scan/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/repositories/sync/route.js +1 -1
- package/.next/server/app/api/repositories/sync/route.js.nft.json +1 -1
- package/.next/server/app/api/repositories/sync/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/repositories/validate-path/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/settings/default-agents/route.js.nft.json +1 -1
- package/.next/server/app/api/settings/default-agents/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/settings/default-surface-mode/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/sidebar/group-order/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/skills/[id]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/skills/installations/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/skills/operations/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/skills/reindex/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/skills/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/slash-commands/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/tasks/[taskId]/cancel/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/tasks/[taskId]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/templates/[id]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/templates/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/verification/runs/[runId]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/verification/runs/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/auto-yes/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/auto-yes/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/auto-yes/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/capture/route.js.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_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/cli-tool/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/cmate/schedules/route_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_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/execution-logs/[logId]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/execution-logs/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/files/[...path]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/branch/create/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/branch/delete/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/branches/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/checkout/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/commit/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/diff/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/fetch/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/log/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/pull/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/push/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/reset/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/revert/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/show/[commitHash]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/stage/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/staged/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/stash/[index]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/stash/apply/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/stash/pop/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/stash/push/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/stash/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/status/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/unstage/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/working-diff/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/instances/notes/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/instances/opencode/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/instances/opencode/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/interrupt/route.js.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_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/logs/route.js +9 -9
- 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_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/memos/[memoId]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/memos/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/messages/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/opencode/diff/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/opencode/session/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/opencode/share/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/prompt-response/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/prompt-response/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/prompt-response/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/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_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/schedules/active/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/schedules/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/search/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/send/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/send/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/send/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/git-workflow/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/git-workflow/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/install/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/plan/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/uninstall/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/uninstall-plan/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/update/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/update-plan/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/slash-commands/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/special-keys/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/special-keys/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/special-keys/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/tasks/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/terminal/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/terminal/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/timers/history/route_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_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/todos/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/tree/[...path]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/tree/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/upload/[...path]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/verify/config/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/verify/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/verify/runs/[runId]/cancel/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/verify/runs/[runId]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/verify/runs/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/viewed/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/apply-default-agents/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/route.js +1 -1
- package/.next/server/app/api/worktrees/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/route_client-reference-manifest.js +1 -1
- package/.next/server/app/login/page_client-reference-manifest.js +1 -1
- package/.next/server/app/manifest.webmanifest/route_client-reference-manifest.js +1 -1
- package/.next/server/app/more/page_client-reference-manifest.js +1 -1
- package/.next/server/app/offline/page_client-reference-manifest.js +1 -1
- package/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/server/app/proxy/[...path]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/repositories/page_client-reference-manifest.js +1 -1
- package/.next/server/app/review/page_client-reference-manifest.js +1 -1
- package/.next/server/app/sessions/page_client-reference-manifest.js +1 -1
- package/.next/server/app/skills/[skillId]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/skills/installed/page_client-reference-manifest.js +1 -1
- package/.next/server/app/skills/page_client-reference-manifest.js +1 -1
- package/.next/server/app/worktrees/[id]/files/[...path]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/worktrees/[id]/page.js +7 -7
- package/.next/server/app/worktrees/[id]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/worktrees/[id]/terminal/page_client-reference-manifest.js +1 -1
- package/.next/server/app-paths-manifest.json +14 -14
- package/.next/server/chunks/1501.js +2 -2
- package/.next/server/chunks/1559.js +1 -1
- package/.next/server/chunks/2460.js +1 -1
- package/.next/server/chunks/2908.js +1 -1
- package/.next/server/chunks/2984.js +25 -0
- package/.next/server/chunks/5209.js +1 -1
- package/.next/server/chunks/5292.js +2 -2
- package/.next/server/chunks/5845.js +1 -1
- package/.next/server/chunks/6130.js +1 -1
- package/.next/server/chunks/6401.js +1 -1
- package/.next/server/chunks/6722.js +1 -1
- package/.next/server/chunks/8581.js +4 -4
- package/.next/server/chunks/8728.js +2 -2
- package/.next/server/chunks/8791.js +1 -1
- package/.next/server/chunks/8918.js +5 -5
- package/.next/server/chunks/9390.js +1 -1
- package/.next/server/chunks/9627.js +2 -1
- package/.next/server/chunks/9731.js +1 -1
- package/.next/server/middleware-build-manifest.js +1 -1
- package/.next/server/middleware-manifest.json +5 -5
- package/.next/server/middleware-react-loadable-manifest.js +1 -1
- package/.next/server/pages/500.html +1 -1
- package/.next/server/server-reference-manifest.json +1 -1
- package/.next/static/chunks/{2407-acb644c5487e1720.js → 2407-9703c569370b8a9d.js} +1 -1
- package/.next/static/chunks/{2717.21abf5b6bbd45520.js → 2717.1583400c272dc1d9.js} +1 -1
- package/.next/static/chunks/5371-0dc947683e46e78c.js +1 -0
- package/.next/static/chunks/5794-4eee51ff1e878aa6.js +1 -0
- package/.next/static/chunks/{8407-9a72e6f07c5d5458.js → 8407-155f84e5ba05f1d5.js} +1 -1
- package/.next/static/chunks/app/{layout-ae30ce63569c22be.js → layout-3e357690446cd2da.js} +1 -1
- package/.next/static/chunks/app/worktrees/[id]/page-effbf0796881dd5a.js +1 -0
- package/.next/static/chunks/{webpack-c0b821f340afdebf.js → webpack-468b7b33030234b3.js} +1 -1
- package/.next/trace +13 -13
- package/dist/cli/commands/wait.d.ts.map +1 -1
- package/dist/cli/commands/wait.js +6 -1
- package/dist/cli/types/api-responses.d.ts +8 -6
- package/dist/cli/types/api-responses.d.ts.map +1 -1
- package/dist/lib/polling/auto-yes-suppression-reason.d.ts +13 -1
- package/dist/lib/polling/auto-yes-suppression-reason.d.ts.map +1 -1
- package/dist/lib/polling/auto-yes-suppression-reason.js +3 -0
- package/dist/server/src/lib/assistant-response-saver.js +13 -0
- package/dist/server/src/lib/auto-yes-poller.js +252 -54
- package/dist/server/src/lib/conversation-logger.js +14 -2
- package/dist/server/src/lib/db/chat-db.js +2 -1
- package/dist/server/src/lib/history/user-turn-recorder.js +14 -0
- package/dist/server/src/lib/hooks/sources/antigravity/history.js +28 -0
- package/dist/server/src/lib/hooks/sources/claude/history.js +7 -0
- package/dist/server/src/lib/hooks/sources/codex/history.js +7 -0
- package/dist/server/src/lib/hooks/sources/command-code/history.js +7 -0
- package/dist/server/src/lib/hooks/sources/transcript-history.js +34 -0
- package/dist/server/src/lib/log-manager.js +7 -2
- package/dist/server/src/lib/polling/auto-yes-enter-fallback-state.js +22 -3
- package/dist/server/src/lib/polling/auto-yes-poller-state.js +234 -0
- package/dist/server/src/lib/polling/auto-yes-suppression-reason.js +3 -0
- package/dist/server/src/lib/polling/pending-scraped-response.js +119 -3
- package/dist/server/src/lib/polling/poller-owner.js +110 -0
- package/dist/server/src/lib/polling/response-checker.js +202 -39
- package/dist/server/src/lib/polling/response-dedup.js +8 -0
- package/dist/server/src/lib/polling/response-poller-core.js +131 -12
- package/dist/server/src/lib/polling/structured-history-gate.js +20 -1
- package/dist/server/src/lib/prompt-answer-sender.js +59 -12
- package/dist/server/src/lib/realtime/terminal-broadcast.js +14 -0
- package/dist/server/src/lib/session/chat-turn-progress.js +57 -6
- package/dist/server/src/lib/session/current-output-builder.js +19 -0
- package/dist/server/src/lib/session/worktree-session-reconcile.js +83 -10
- package/dist/server/src/lib/timer-manager.js +7 -0
- package/dist/server/src/lib/tmux/tmux.js +24 -2
- package/dist/server/src/lib/verification/env-clean-gate.js +30 -2
- package/package.json +1 -1
- package/release-notes/0.46.1.json +40 -0
- package/.next/server/chunks/5625.js +0 -25
- package/.next/static/chunks/5371-a94ed618148287a0.js +0 -1
- package/.next/static/chunks/5794-947fb4934d8be193.js +0 -1
- package/.next/static/chunks/app/worktrees/[id]/page-2eb1d0fd0a077b7e.js +0 -1
- /package/.next/static/{zI2nQ6WKboSbFbMF4EtrJ → QxDf7lm-JJkWoj-TyWiSB}/_buildManifest.js +0 -0
- /package/.next/static/{zI2nQ6WKboSbFbMF4EtrJ → QxDf7lm-JJkWoj-TyWiSB}/_ssgManifest.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><html><head><meta charSet="utf-8" data-next-head=""/><meta name="viewport" content="width=device-width" data-next-head=""/><title data-next-head="">500: Internal Server Error</title><noscript data-n-css=""></noscript><script defer="" noModule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-
|
|
1
|
+
<!DOCTYPE html><html><head><meta charSet="utf-8" data-next-head=""/><meta name="viewport" content="width=device-width" data-next-head=""/><title data-next-head="">500: Internal Server Error</title><noscript data-n-css=""></noscript><script defer="" noModule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-468b7b33030234b3.js" defer=""></script><script src="/_next/static/chunks/framework-eaf13c96191cb608.js" defer=""></script><script src="/_next/static/chunks/main-ac91ed6e71380841.js" defer=""></script><script src="/_next/static/chunks/pages/_app-4b3fb5e477a0267f.js" defer=""></script><script src="/_next/static/chunks/pages/_error-c970d8b55ace1b48.js" defer=""></script><script src="/_next/static/QxDf7lm-JJkWoj-TyWiSB/_buildManifest.js" defer=""></script><script src="/_next/static/QxDf7lm-JJkWoj-TyWiSB/_ssgManifest.js" defer=""></script></head><body><div id="__next"><div style="font-family:system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div style="line-height:48px"><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding-right:23px;font-size:24px;font-weight:500;vertical-align:top">500</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:28px">Internal Server Error<!-- -->.</h2></div></div></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"statusCode":500}},"page":"/_error","query":{},"buildId":"QxDf7lm-JJkWoj-TyWiSB","nextExport":true,"isFallback":false,"gip":true,"scriptLoader":[]}</script></body></html>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"node":{},"edge":{},"encryptionKey":"+
|
|
1
|
+
{"node":{},"edge":{},"encryptionKey":"bg0MEv27Due48QIv9IdzZANObeMHxa7WltxQ+hnasvs="}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2407],{52407:(e,t,n)=>{n.d(t,{Fx:()=>h,Rh:()=>b,_X:()=>c,fl:()=>s,nG:()=>d,sV:()=>o});var r=n(12115),u=n(60199);let l="/api/capabilities";function c(e){return!1!==e.browserOnline&&("connected"===e.realtimeStatus||!0===e.serverReachable)}function o(e){return!1===e.browserOnline||!1===e.serverReachable}let i=new Map;async function a(e,t){let n="function"==typeof AbortController?new AbortController:void 0,r=n?setTimeout(()=>n.abort(),t):void 0;try{return await fetch(e,{method:"GET",cache:"no-store",credentials:"same-origin",signal:null==n?void 0:n.signal}),!0}catch(e){return!1}finally{void 0!==r&&clearTimeout(r)}}function s(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:l,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:5e3;if("function"!=typeof fetch)return Promise.resolve(!1);let n=i.get(e);if(n)return n;let r=a(e,t).finally(()=>{i.delete(e)});return i.set(e,r),r}let f=new Set;function d(e){f.forEach(t=>{try{t(e)}catch(e){}})}function b(e){return f.add(e),()=>{f.delete(e)}}function h(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{probeUrl:t=l,probeDelayMs:n=1e3,probeIntervalMs:c=15e3,probeTimeoutMs:o=5e3,surfaceDelayMs:i=1500,probe:a=!0}=e,{status:f}=(0,u.xM)(),[d,h]=(0,r.useState)(!0),[v,y]=(0,r.useState)(null),[w,m]=(0,r.useState)(null),p=(0,r.useCallback)(e=>{y(t=>t===e?t:e),e&&m(Date.now())},[]);(0,r.useEffect)(()=>{if("undefined"==typeof navigator)return;h(!1!==navigator.onLine);let e=()=>{y(null),h(!0)},t=()=>{y(null),h(!1)};return window.addEventListener("online",e),window.addEventListener("offline",t),()=>{window.removeEventListener("online",e),window.removeEventListener("offline",t)}},[]),(0,r.useEffect)(()=>{"connected"===f&&p(!0)},[f,p]),(0,r.useEffect)(()=>b(p),[p]);let g=(0,r.useMemo)(()=>({browserOnline:d,realtimeStatus:f,serverReachable:v}),[d,f,v]),S=g.browserOnline?"connected"===g.realtimeStatus?"online":!1===g.serverReachable?"offline":!0===g.serverReachable||"connecting"===g.realtimeStatus?"reconnecting":"offline":"offline",E="online"!==S,k=(0,r.useRef)({url:t,timeoutMs:o});k.current={url:t,timeoutMs:o};let C=a&&E&&d;(0,r.useEffect)(()=>{let e;if(!C||"function"!=typeof fetch)return;let t=!1,r=async()=>{let{url:n,timeoutMs:u}=k.current,l=await s(n,u);t||(p(l),e=setTimeout(r,c))};return e=setTimeout(r,n),()=>{t=!0,void 0!==e&&clearTimeout(e)}},[C,n,c,p]);let[R,T]=(0,r.useState)(!1);(0,r.useEffect)(()=>{if(!E)return void T(!1);if(i<=0)return void T(!0);let e=setTimeout(()=>T(!0),i);return()=>clearTimeout(e)},[E,i]);let M=(0,r.useCallback)(()=>{if("function"!=typeof fetch)return;let{url:e,timeoutMs:t}=k.current;s(e,t).then(p)},[p]);return(0,r.useMemo)(()=>({status:S,isOnline:"online"===S,isReconnecting:"reconnecting"===S,isOffline:"offline"===S,shouldSurface:E&&R,signals:g,lastReachableAt:w,recheck:M}),[S,E,R,g,w,M])}},52703:(e,t,n)=>{n.d(t,{Oo:()=>u,ST:()=>r,T4:()=>o,dz:()=>c,rz:()=>l,zS:()=>i});let r="client_version",u="version_mismatch",l="chat_turn_progress",c="messages_invalidated",o="model_changed";function i(e){let t;try{t=JSON.parse(e)}catch(e){return null}if(!t||"object"!=typeof t)return null;let n=t;if("broadcast"===n.type){let e=n.data;return e&&"object"==typeof e?"string"!=typeof e.type?null:(void 0===e.worktreeId&&"string"==typeof n.worktreeId&&(e.worktreeId=n.worktreeId),e):null}return"string"==typeof n.type?n:null}},60199:(e,t,n)=>{n.d(t,{tS:()=>s,xM:()=>f,T3:()=>d});var r=n(95155),u=n(12115),l=n(52703);function c(){return"undefined"!=typeof globalThis&&"function"==typeof globalThis.WebSocket?globalThis.WebSocket:null}let o=()=>{},i={status:"disconnected",connected:!1,subscribe:o,unsubscribe:o,addListener:()=>o},a=(0,u.createContext)(null);function s(e){let{children:t,enabled:n=!0}=e,o=(0,u.useRef)(new Set),i=(0,u.useRef)(new Map),{status:s,subscribe:f,unsubscribe:d}=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{onEvent:t,onStatusChange:n,autoReconnect:r=!0,reconnectBaseDelay:o=1e3,reconnectMaxDelay:i=3e4,livenessTimeout:a=75e3,livenessCheckInterval:s=5e3,enabled:f=!0}=e,[d,b]=(0,u.useState)("disconnected"),h=(0,u.useRef)(null),v=(0,u.useRef)(null),y=(0,u.useRef)(0),w=(0,u.useRef)(new Set),m=(0,u.useRef)(!1),p=(0,u.useRef)(0),g=(0,u.useRef)(()=>{}),S=(0,u.useRef)(t);S.current=t;let E=(0,u.useRef)(n);E.current=n;let k=(0,u.useCallback)(e=>{var t;b(e),null==(t=E.current)||t.call(E,e)},[]),C=(0,u.useCallback)(()=>{null!==v.current&&(clearTimeout(v.current),v.current=null)},[]),R=(0,u.useCallback)(()=>{if(m.current||!r||"undefined"!=typeof document&&"hidden"===document.visibilityState)return;C();let e=function(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:Math.random;return Math.max(0,Math.round(Math.min(t*2**Math.max(0,e),n)*(1+(2*r()-1)*.2)))}(y.current,o,i);y.current+=1,v.current=setTimeout(()=>{v.current=null,g.current()},e)},[r,o,i,C]),T=(0,u.useCallback)(()=>{if(!f)return;let e=c();if(!e||h.current&&(h.current.readyState===e.OPEN||h.current.readyState===e.CONNECTING))return;C(),m.current=!1,p.current=Date.now(),k("connecting");let t="https:"===window.location.protocol?"wss:":"ws:",n=new e("".concat(t,"//").concat(window.location.host));h.current=n,n.onopen=()=>{y.current=0,p.current=Date.now(),k("connected");try{n.send(JSON.stringify({type:l.ST,version:"0.46.
|
|
1
|
+
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2407],{52407:(e,t,n)=>{n.d(t,{Fx:()=>h,Rh:()=>b,_X:()=>c,fl:()=>s,nG:()=>d,sV:()=>o});var r=n(12115),u=n(60199);let l="/api/capabilities";function c(e){return!1!==e.browserOnline&&("connected"===e.realtimeStatus||!0===e.serverReachable)}function o(e){return!1===e.browserOnline||!1===e.serverReachable}let i=new Map;async function a(e,t){let n="function"==typeof AbortController?new AbortController:void 0,r=n?setTimeout(()=>n.abort(),t):void 0;try{return await fetch(e,{method:"GET",cache:"no-store",credentials:"same-origin",signal:null==n?void 0:n.signal}),!0}catch(e){return!1}finally{void 0!==r&&clearTimeout(r)}}function s(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:l,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:5e3;if("function"!=typeof fetch)return Promise.resolve(!1);let n=i.get(e);if(n)return n;let r=a(e,t).finally(()=>{i.delete(e)});return i.set(e,r),r}let f=new Set;function d(e){f.forEach(t=>{try{t(e)}catch(e){}})}function b(e){return f.add(e),()=>{f.delete(e)}}function h(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{probeUrl:t=l,probeDelayMs:n=1e3,probeIntervalMs:c=15e3,probeTimeoutMs:o=5e3,surfaceDelayMs:i=1500,probe:a=!0}=e,{status:f}=(0,u.xM)(),[d,h]=(0,r.useState)(!0),[v,y]=(0,r.useState)(null),[w,m]=(0,r.useState)(null),p=(0,r.useCallback)(e=>{y(t=>t===e?t:e),e&&m(Date.now())},[]);(0,r.useEffect)(()=>{if("undefined"==typeof navigator)return;h(!1!==navigator.onLine);let e=()=>{y(null),h(!0)},t=()=>{y(null),h(!1)};return window.addEventListener("online",e),window.addEventListener("offline",t),()=>{window.removeEventListener("online",e),window.removeEventListener("offline",t)}},[]),(0,r.useEffect)(()=>{"connected"===f&&p(!0)},[f,p]),(0,r.useEffect)(()=>b(p),[p]);let g=(0,r.useMemo)(()=>({browserOnline:d,realtimeStatus:f,serverReachable:v}),[d,f,v]),S=g.browserOnline?"connected"===g.realtimeStatus?"online":!1===g.serverReachable?"offline":!0===g.serverReachable||"connecting"===g.realtimeStatus?"reconnecting":"offline":"offline",E="online"!==S,k=(0,r.useRef)({url:t,timeoutMs:o});k.current={url:t,timeoutMs:o};let C=a&&E&&d;(0,r.useEffect)(()=>{let e;if(!C||"function"!=typeof fetch)return;let t=!1,r=async()=>{let{url:n,timeoutMs:u}=k.current,l=await s(n,u);t||(p(l),e=setTimeout(r,c))};return e=setTimeout(r,n),()=>{t=!0,void 0!==e&&clearTimeout(e)}},[C,n,c,p]);let[R,T]=(0,r.useState)(!1);(0,r.useEffect)(()=>{if(!E)return void T(!1);if(i<=0)return void T(!0);let e=setTimeout(()=>T(!0),i);return()=>clearTimeout(e)},[E,i]);let M=(0,r.useCallback)(()=>{if("function"!=typeof fetch)return;let{url:e,timeoutMs:t}=k.current;s(e,t).then(p)},[p]);return(0,r.useMemo)(()=>({status:S,isOnline:"online"===S,isReconnecting:"reconnecting"===S,isOffline:"offline"===S,shouldSurface:E&&R,signals:g,lastReachableAt:w,recheck:M}),[S,E,R,g,w,M])}},52703:(e,t,n)=>{n.d(t,{Oo:()=>u,ST:()=>r,T4:()=>o,dz:()=>c,rz:()=>l,zS:()=>i});let r="client_version",u="version_mismatch",l="chat_turn_progress",c="messages_invalidated",o="model_changed";function i(e){let t;try{t=JSON.parse(e)}catch(e){return null}if(!t||"object"!=typeof t)return null;let n=t;if("broadcast"===n.type){let e=n.data;return e&&"object"==typeof e?"string"!=typeof e.type?null:(void 0===e.worktreeId&&"string"==typeof n.worktreeId&&(e.worktreeId=n.worktreeId),e):null}return"string"==typeof n.type?n:null}},60199:(e,t,n)=>{n.d(t,{tS:()=>s,xM:()=>f,T3:()=>d});var r=n(95155),u=n(12115),l=n(52703);function c(){return"undefined"!=typeof globalThis&&"function"==typeof globalThis.WebSocket?globalThis.WebSocket:null}let o=()=>{},i={status:"disconnected",connected:!1,subscribe:o,unsubscribe:o,addListener:()=>o},a=(0,u.createContext)(null);function s(e){let{children:t,enabled:n=!0}=e,o=(0,u.useRef)(new Set),i=(0,u.useRef)(new Map),{status:s,subscribe:f,unsubscribe:d}=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{onEvent:t,onStatusChange:n,autoReconnect:r=!0,reconnectBaseDelay:o=1e3,reconnectMaxDelay:i=3e4,livenessTimeout:a=75e3,livenessCheckInterval:s=5e3,enabled:f=!0}=e,[d,b]=(0,u.useState)("disconnected"),h=(0,u.useRef)(null),v=(0,u.useRef)(null),y=(0,u.useRef)(0),w=(0,u.useRef)(new Set),m=(0,u.useRef)(!1),p=(0,u.useRef)(0),g=(0,u.useRef)(()=>{}),S=(0,u.useRef)(t);S.current=t;let E=(0,u.useRef)(n);E.current=n;let k=(0,u.useCallback)(e=>{var t;b(e),null==(t=E.current)||t.call(E,e)},[]),C=(0,u.useCallback)(()=>{null!==v.current&&(clearTimeout(v.current),v.current=null)},[]),R=(0,u.useCallback)(()=>{if(m.current||!r||"undefined"!=typeof document&&"hidden"===document.visibilityState)return;C();let e=function(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:Math.random;return Math.max(0,Math.round(Math.min(t*2**Math.max(0,e),n)*(1+(2*r()-1)*.2)))}(y.current,o,i);y.current+=1,v.current=setTimeout(()=>{v.current=null,g.current()},e)},[r,o,i,C]),T=(0,u.useCallback)(()=>{if(!f)return;let e=c();if(!e||h.current&&(h.current.readyState===e.OPEN||h.current.readyState===e.CONNECTING))return;C(),m.current=!1,p.current=Date.now(),k("connecting");let t="https:"===window.location.protocol?"wss:":"ws:",n=new e("".concat(t,"//").concat(window.location.host));h.current=n,n.onopen=()=>{y.current=0,p.current=Date.now(),k("connected");try{n.send(JSON.stringify({type:l.ST,version:"0.46.1"}))}catch(e){}w.current.forEach(e=>{try{n.send(JSON.stringify({type:"subscribe",worktreeId:e}))}catch(e){}})},n.onmessage=e=>{var t;p.current=Date.now();let n="string"==typeof e.data?e.data:String(e.data),r=(0,l.zS)(n);r&&"heartbeat"!==r.type&&(null==(t=S.current)||t.call(S,r))},n.onerror=()=>{k("error")},n.onclose=()=>{h.current=null,k("disconnected"),R()}},[f,k,C,R]);g.current=T;let M=(0,u.useCallback)(()=>{let e=h.current;if(e){e.onopen=null,e.onmessage=null,e.onerror=null,e.onclose=null,h.current=null;try{e.close(4001,"half-open")}catch(e){}k("disconnected"),R()}},[k,R]),O=(0,u.useCallback)(()=>{if(C(),m.current=!0,h.current){try{h.current.close(1e3,"Client disconnect")}catch(e){}h.current=null}},[C]),N=(0,u.useCallback)(e=>{let t=h.current,n=c();if(t&&n&&t.readyState===n.OPEN)try{t.send(JSON.stringify(e))}catch(e){}},[]),_=(0,u.useCallback)(e=>{w.current.has(e)||(w.current.add(e),N({type:"subscribe",worktreeId:e}))},[N]),L=(0,u.useCallback)(e=>{w.current.has(e)&&(w.current.delete(e),N({type:"unsubscribe",worktreeId:e}))},[N]);return(0,u.useEffect)(()=>{if(f)return T(),()=>{O()}},[f,T,O]),(0,u.useEffect)(()=>{if(!f)return;let e=setInterval(()=>{let e=h.current,t=c();e&&t&&e.readyState===t.OPEN&&(Date.now()-p.current<a||M())},s);return()=>clearInterval(e)},[f,a,s,M]),(0,u.useEffect)(()=>{if(!f||"undefined"==typeof document)return;let e=()=>{"visible"===document.visibilityState&&(h.current||(y.current=0,T()))};return document.addEventListener("visibilitychange",e),()=>document.removeEventListener("visibilitychange",e)},[f,T]),(0,u.useEffect)(()=>{if(!f)return;let e=()=>{h.current||(y.current=0,T())};return window.addEventListener("online",e),()=>window.removeEventListener("online",e)},[f,T]),{status:d,subscribe:_,unsubscribe:L,send:N}}({enabled:n,onEvent:(0,u.useCallback)(e=>{o.current.forEach(t=>{try{t(e)}catch(e){}})},[])}),b=(0,u.useCallback)(e=>{var t;let n=i.current,r=null!=(t=n.get(e))?t:0;n.set(e,r+1),0===r&&f(e)},[f]),h=(0,u.useCallback)(e=>{var t;let n=i.current,r=null!=(t=n.get(e))?t:0;r<=1?(n.delete(e),d(e)):n.set(e,r-1)},[d]),v=(0,u.useCallback)(e=>(o.current.add(e),()=>{o.current.delete(e)}),[]),y=(0,u.useMemo)(()=>({status:s,connected:"connected"===s,subscribe:b,unsubscribe:h,addListener:v}),[s,b,h,v]);return(0,r.jsx)(a.Provider,{value:y,children:t})}function f(){var e;return null!=(e=(0,u.useContext)(a))?e:i}function d(e){let{addListener:t}=f(),n=(0,u.useRef)(e);n.current=e,(0,u.useEffect)(()=>t(e=>n.current(e)),[t])}}}]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2717],{42717:(e,t,r)=>{r.r(t),r.d(t,{MarkdownEditor:()=>et});var n=r(95155),l=r(12115),o=r(47650),a=r(18955),s=r(80003),i=r(52056),d=r(64269),c=r(60322),u=r(94442),f=r(36402),m=r(3005),h=r(72115),x=r(89715),v=r(64545),p=r(57828),g=r(71847);let w=(0,g.A)("list-indent-increase",[["path",{d:"M21 5H11",key:"us1j55"}],["path",{d:"M21 12H11",key:"wd7e0v"}],["path",{d:"M21 19H11",key:"saa85w"}],["path",{d:"m3 8 4 4-4 4",key:"1a3j6y"}]]),b=(0,g.A)("list-indent-decrease",[["path",{d:"M21 5H11",key:"us1j55"}],["path",{d:"M21 12H11",key:"wd7e0v"}],["path",{d:"M21 19H11",key:"saa85w"}],["path",{d:"m7 8-4 4 4 4",key:"o5hrat"}]]);var k=r(76482),y=r(5917),j=r(75426),E=r(97624),N=r(37354),C=r(46046),S=r(65229),M=r(48407);let F=(0,l.memo)(function(e){let{filePath:t,isDirty:r,viewMode:l,onViewModeChange:o,showMobileTabs:s,copied:i,onCopy:d,isMaximized:c,onToggleFullscreen:u,isAutoSaveEnabled:f,onAutoSaveToggle:m,isAutoSaving:h,isSaving:g,onSave:F,onClose:R,hideViewModeToggle:A,hideMaximizeButton:P,onIndent:T,onOutdent:V,tabMovesFocus:z,onToggleTabMovesFocus:I}=e,D=(0,a.c)("worktree"),O=e=>e.preventDefault();return(0,n.jsxs)("div",{className:"flex items-center justify-between px-4 py-2 border-b border-border bg-muted",children:[(0,n.jsxs)("div",{className:"flex items-center gap-2 min-w-0 flex-shrink",children:[(0,n.jsx)(x.A,{className:"h-4 w-4 text-muted-foreground flex-shrink-0"}),(0,n.jsx)("span",{className:"text-sm font-medium text-foreground truncate",children:t}),r&&(0,n.jsx)("span",{"data-testid":"dirty-indicator",className:"inline-flex items-center px-2 py-0.5 rounded-full text-xs font-medium bg-warning-subtle text-warning-foreground flex-shrink-0",children:D("editor.unsaved")})]}),(0,n.jsxs)("div",{className:"flex items-center gap-2 flex-shrink-0",children:[!s&&!A&&(0,n.jsxs)("div",{className:"flex items-center gap-1 bg-muted rounded-lg p-1",children:[(0,n.jsx)("button",{"data-testid":"view-mode-split","aria-pressed":"split"===l,onClick:()=>o("split"),className:"p-1.5 rounded ".concat("split"===l?"bg-white dark:bg-input shadow-sm text-accent-600 dark:text-accent-400":"text-muted-foreground hover:text-foreground"),title:D("editor.splitView"),children:(0,n.jsx)(v.A,{className:"h-4 w-4"})}),(0,n.jsx)("button",{"data-testid":"view-mode-editor","aria-pressed":"editor"===l,onClick:()=>o("editor"),className:"p-1.5 rounded ".concat("editor"===l?"bg-white dark:bg-input shadow-sm text-accent-600 dark:text-accent-400":"text-muted-foreground hover:text-foreground"),title:D("editor.editorOnly"),children:(0,n.jsx)(x.A,{className:"h-4 w-4"})}),(0,n.jsx)("button",{"data-testid":"view-mode-preview","aria-pressed":"preview"===l,onClick:()=>o("preview"),className:"p-1.5 rounded ".concat("preview"===l?"bg-white dark:bg-input shadow-sm text-accent-600 dark:text-accent-400":"text-muted-foreground hover:text-foreground"),title:D("editor.previewOnly"),children:(0,n.jsx)(p.A,{className:"h-4 w-4"})})]}),(0,n.jsx)(M.$n,{variant:"ghost","data-testid":"editor-indent-button",onMouseDown:O,onClick:T,className:"flex min-h-[44px] min-w-[44px] items-center justify-center p-1.5 text-muted-foreground hover:text-foreground hover:bg-muted rounded",title:D("editor.indent"),"aria-label":D("editor.indent"),children:(0,n.jsx)(w,{className:"h-4 w-4"})}),(0,n.jsx)(M.$n,{variant:"ghost","data-testid":"editor-outdent-button",onMouseDown:O,onClick:V,className:"flex min-h-[44px] min-w-[44px] items-center justify-center p-1.5 text-muted-foreground hover:text-foreground hover:bg-muted rounded",title:D("editor.outdent"),"aria-label":D("editor.outdent"),children:(0,n.jsx)(b,{className:"h-4 w-4"})}),(0,n.jsx)(M.$n,{variant:"ghost","data-testid":"editor-tab-focus-toggle",onMouseDown:O,onClick:I,"aria-pressed":z,className:"flex min-h-[44px] min-w-[44px] items-center justify-center p-1.5 hover:bg-muted rounded ".concat(z?"text-accent-600 dark:text-accent-400":"text-muted-foreground hover:text-foreground"),title:D(z?"editor.tabMovesFocusOn":"editor.tabMovesFocusOff"),"aria-label":D(z?"editor.tabMovesFocusOn":"editor.tabMovesFocusOff"),children:(0,n.jsx)(k.A,{className:"h-4 w-4"})}),(0,n.jsx)(M.$n,{variant:"ghost","data-testid":"copy-content-button",onClick:d,className:"p-1.5 hover:bg-muted rounded ".concat(i?"text-success":"text-muted-foreground hover:text-foreground"),title:D("actions.copyContent"),children:i?(0,n.jsx)(y.A,{className:"h-4 w-4"}):(0,n.jsx)(j.A,{className:"h-4 w-4"})}),!P&&(0,n.jsx)(M.$n,{variant:"ghost","data-testid":"maximize-button",onClick:u,className:"p-1.5 text-muted-foreground hover:text-foreground hover:bg-muted rounded",title:D(c?"editor.exitFullscreen":"editor.enterFullscreen"),"aria-pressed":c,children:c?(0,n.jsx)(E.A,{className:"h-4 w-4"}):(0,n.jsx)(N.A,{className:"h-4 w-4"})}),(0,n.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,n.jsx)("span",{className:"text-xs text-muted-foreground",children:D("editor.auto")}),(0,n.jsx)("button",{"data-testid":"auto-save-toggle",role:"switch","aria-checked":f,onClick:()=>m(!f),className:"relative inline-flex h-5 w-9 items-center rounded-full transition-colors ".concat(f?"bg-accent-600":"bg-input"),children:(0,n.jsx)("span",{className:"inline-block h-3.5 w-3.5 transform rounded-full bg-white transition-transform ".concat(f?"translate-x-4":"translate-x-0.5")})})]}),f?(0,n.jsx)("span",{"data-testid":"auto-save-indicator",className:"text-sm text-muted-foreground",children:h?D("actions.saving"):r?"":D("actions.saved")}):(0,n.jsxs)(M.$n,{variant:"ghost","data-testid":"save-button",onClick:F,disabled:!r||g,className:"flex items-center gap-1.5 px-3 py-1.5 rounded-lg text-sm font-medium transition-colors ".concat(r&&!g?"bg-accent-600 text-white hover:bg-accent-700":"bg-muted text-muted-foreground cursor-not-allowed"),children:[(0,n.jsx)(C.A,{className:"h-4 w-4"}),D(g?"actions.saving":"actions.save")]}),R&&(0,n.jsx)(M.$n,{variant:"ghost","data-testid":"close-button",onClick:R,className:"p-1.5 text-muted-foreground hover:text-foreground hover:bg-muted rounded",title:D("actions.close"),children:(0,n.jsx)(S.A,{className:"h-4 w-4"})})]})]})});var R=r(5118),A=r(55924),P=r(79962),T=r(38218);let V=l.useLayoutEffect;function z(){if("undefined"==typeof document)return null;let e=document;return e.fullscreenElement||e.webkitFullscreenElement||e.mozFullScreenElement||e.msFullscreenElement||null}var I=r(2317),D=r(60850),O=r(8269),L=r(51434),K=r(4138),$=r(59854),H=r(77873);function W(e,t){return e.lastIndexOf("\n",t-1)+1}function _(e,t,r){let n=r>t&&r>0&&"\n"===e[r-1]?r-1:r;return{start:W(e,t),end:function(e,t){let r=e.indexOf("\n",t);return -1===r?e.length:r}(e,n)}}function q(e,t,r,n,l,o){return{replaceStart:t,replaceEnd:r,replacement:n,selectionStart:l,selectionEnd:o,value:e.slice(0,t)+n+e.slice(r)}}function B(e,t,r,n){if(!(r>t&&e.slice(t,r).includes("\n"))){let l=t-W(e,t),o=n.length-l%n.length,a=" ".repeat(o),s=t+a.length;return q(e,t,r,a,s,s)}let{start:l,end:o}=_(e,t,r),a=e.slice(l,o).split("\n").map(e=>""===e||"\r"===e?e:n+e).join("\n");return q(e,l,o,a,l,l+a.length)}function G(e,t,r,n){let{start:l,end:o}=_(e,t,r),a=e.slice(l,o),s=a.split("\n").map(e=>(function(e,t){if(e.startsWith(" "))return e.slice(1);let r=0;for(;r<t.length&&" "===e[r];)r+=1;return e.slice(r)})(e,n)).join("\n");if(s===a)return t===r?null:q(e,l,o,s,t,r);if(t===r){let r=Math.min(a.length-s.length,Math.max(0,t-l)),n=t-r;return q(e,l,o,s,n,n)}return q(e,l,o,s,l,l+s.length)}let U={split:{showEditor:!0,showPreview:!0,editorWidth:"w-1/2",previewWidth:"w-1/2"},editor:{showEditor:!0,showPreview:!1,editorWidth:"w-full",previewWidth:"w-0"},preview:{showEditor:!1,showPreview:!0,editorWidth:"w-0",previewWidth:"w-full"}},J="commandmate:md-editor-view-mode",Y={WARNING_THRESHOLD:512e3};function X(e){return"number"==typeof e&&e>=.1&&e<=.9}function Z(e){return"boolean"==typeof e}function Q(e){return"split"===e||"editor"===e||"preview"===e}let ee=(0,l.memo)(function(e){let{previewContent:t,onOpenFile:r,filePath:o,worktreeId:a,tocVisible:i,onToggleTocVisible:d,tocTitle:c,tocShowLabel:u,tocHideLabel:f}=e,m=(0,l.useRef)(null),h=(0,l.useRef)(null),[x,v]=(0,l.useState)(null),[p,g]=(0,l.useState)(!1);(0,l.useEffect)(()=>{v(h.current)},[]),(0,l.useEffect)(()=>{let e=m.current;if(!e||"undefined"==typeof ResizeObserver)return;let t=new ResizeObserver(e=>{var t,r;g((null!=(r=null==(t=e[0])?void 0:t.contentRect.width)?r:0)>=480)});return t.observe(e),()=>t.disconnect()},[]);let w=(0,l.useMemo)(()=>(0,P.K)(t),[t]),b=w.length>=2&&p,k=b&&i;return(0,n.jsxs)("div",{ref:m,className:"relative flex flex-1 overflow-hidden",children:[(0,n.jsx)("div",{ref:h,"data-testid":"markdown-preview",className:"flex-1 min-w-0 p-4 overflow-y-auto prose prose-sm dark:prose-invert max-w-none prose-headings:scroll-mt-2",children:(0,n.jsx)(R.G8,{content:t,onOpenFile:r,currentFilePath:o,worktreeId:a})}),k&&(0,n.jsx)("aside",{"data-testid":"markdown-preview-toc",className:"w-48 flex-shrink-0 overflow-y-auto border-l border-border py-4",children:(0,n.jsx)("div",{className:"sticky top-0",children:(0,n.jsx)(A.K,{entries:w,title:c,headerOffset:0,root:x})})}),b&&(0,n.jsx)("button",{"data-testid":"markdown-preview-toc-toggle",onClick:d,"aria-pressed":i,"aria-label":i?f:u,title:i?f:u,className:"absolute top-2 right-2 z-10 flex items-center justify-center rounded-md border border-border bg-surface/90 p-1.5 text-muted-foreground hover:text-foreground hover:bg-muted shadow-sm",children:(0,n.jsx)(s.A,{className:"h-4 w-4"})})]})}),et=(0,l.memo)(function(e){let{worktreeId:t,filePath:r,fileType:s,onClose:x,onSave:v,initialViewMode:p,onMaximizedChange:g,onDirtyChange:w,onOpenFile:b,initialContent:k,embedded:y=!1,onContentChange:j}=e,E="text"===(null!=s?s:r.toLowerCase().endsWith(".md")?"markdown":"text"),N=(0,a.c)("worktree"),C=(0,f.SC)(),S=void 0!==k,M=null!=k?k:"",[A,W]=(0,l.useState)(M),[_,q]=(0,l.useState)(M),[et,er]=(0,l.useState)(M),[en,el]=(0,l.useState)(()=>E||y?"editor":function(e){if(e&&Q(e))return e;{let e=localStorage.getItem(J);if(e&&Q(e))return e}return"split"}(p)),[eo,ea]=(0,l.useState)(!S),[es,ei]=(0,l.useState)(!1),[ed,ec]=(0,l.useState)(null),[eu,ef]=(0,l.useState)(()=>S&&new Blob([M]).size>Y.WARNING_THRESHOLD),{copied:em,markCopied:eh}=(0,K.q)(),[ex,ev]=(0,l.useState)("editor"),[ep,eg]=(0,l.useState)(null),{showToast:ew}=(0,u.dj)(),eb=(0,l.useRef)(null),ek=(0,l.useRef)(null),ey=(0,l.useRef)(null),ej=(0,l.useRef)(null),eE=(0,l.useRef)(null),eN=(0,l.useRef)(null),eC=(0,T.a)(),eS=function(){let[e,t]=(0,l.useState)(!1);return V(()=>{let e=window.matchMedia("(orientation: portrait)");t(e.matches);let r=e=>{t(e.matches)};return e.addEventListener("change",r),()=>e.removeEventListener("change",r)},[]),e}();(0,l.useEffect)(()=>{eC&&ev("preview")},[eC]);let{isKeyboardVisible:eM,keyboardHeight:eF}=(0,L.C)(),{value:eR,setValue:eA}=(0,I.V)({key:"commandmate:md-editor-maximized",defaultValue:!1,validate:Z}),{isFullscreen:eP,isFallbackMode:eT,enterFullscreen:eV,exitFullscreen:ez,toggleFullscreen:eI}=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{elementRef:t,onEnter:r,onExit:n,onError:o}=e,[a,s]=(0,l.useState)(!1),[i,d]=(0,l.useState)(!1),[c,u]=(0,l.useState)(null),f=(0,l.useCallback)(()=>{let e=null!=z();s(e),!e&&i&&d(!1)},[i]),m=(0,l.useCallback)(async()=>{if(u(null),"undefined"!=typeof navigator&&(/iPad|iPhone|iPod/.test(navigator.userAgent)||"MacIntel"===navigator.platform&&navigator.maxTouchPoints>1||0)){s(!0),d(!0),null==r||r();return}if(function(){if("undefined"==typeof document)return!1;let e=document;return!!(e.fullscreenEnabled||e.webkitFullscreenEnabled||e.mozFullScreenEnabled||e.msFullscreenEnabled)}()&&(null==t?void 0:t.current))try{var e;await ((e=t.current).requestFullscreen?Promise.resolve(e.requestFullscreen()):e.webkitRequestFullscreen?Promise.resolve(e.webkitRequestFullscreen()):e.mozRequestFullScreen?Promise.resolve(e.mozRequestFullScreen()):e.msRequestFullscreen?Promise.resolve(e.msRequestFullscreen()):Promise.reject(Error("Fullscreen API not supported"))),s(!0),d(!1),null==r||r()}catch(t){let e=t instanceof Error?t.message:"Failed to enter fullscreen";u(e),null==o||o(t instanceof Error?t:Error(e)),s(!0),d(!0),null==r||r()}else s(!0),d(!0),null==r||r()},[t,r,o]),h=(0,l.useCallback)(async()=>{if(u(null),i){s(!1),d(!1),null==n||n();return}if(z())try{await function(){if("undefined"==typeof document)return Promise.resolve();let e=document;return e.exitFullscreen?Promise.resolve(e.exitFullscreen()):e.webkitExitFullscreen?Promise.resolve(e.webkitExitFullscreen()):e.mozCancelFullScreen?Promise.resolve(e.mozCancelFullScreen()):e.msExitFullscreen?Promise.resolve(e.msExitFullscreen()):Promise.resolve()}(),s(!1),null==n||n()}catch(t){let e=t instanceof Error?t.message:"Failed to exit fullscreen";u(e),null==o||o(t instanceof Error?t:Error(e)),s(!1),d(!1),null==n||n()}else s(!1),d(!1),null==n||n()},[i,n,o]),x=(0,l.useCallback)(async()=>{a?await h():await m()},[a,m,h]);return(0,l.useEffect)(()=>(function(e){if("undefined"==typeof document)return()=>{};let t=["fullscreenchange","webkitfullscreenchange","mozfullscreenchange","MSFullscreenChange"];for(let r of t)document.addEventListener(r,e);return()=>{for(let r of t)document.removeEventListener(r,e)}})(f),[f]),{isFullscreen:a,isFallbackMode:i,enterFullscreen:m,exitFullscreen:h,toggleFullscreen:x,error:c}}({elementRef:ej,onEnter:()=>eA(!0),onExit:()=>eA(!1)}),{value:eD,setValue:eO}=(0,I.V)({key:"commandmate:md-editor-split-ratio",defaultValue:.5,validate:X}),{value:eL,setValue:eK}=(0,I.V)({key:"commandmate:md-editor-auto-save",defaultValue:!1,validate:Z}),{value:e$,setValue:eH}=(0,I.V)({key:"commandmate:md-editor-tab-moves-focus",defaultValue:!1,validate:Z}),{value:eW,setValue:e_}=(0,I.V)({key:P.Y,defaultValue:!0,validate:Z}),eq=(0,l.useCallback)(()=>{e_(e=>!e)},[e_]),{ref:eB}=(0,O.hU)({onSwipeDown:()=>{eP&&ez()},threshold:150,enabled:eP&&eC}),eG=A!==_,eU=E?U.editor:U[en];(0,l.useEffect)(()=>{null==w||w(eG)},[eG,w]);let eJ=!E&&eC&&eS&&"split"===en,eY=(0,l.useMemo)(()=>(0,d.sg)(e=>{er(e)},300),[]);(0,l.useEffect)(()=>()=>eY.cancel(),[eY]);let eX=(0,l.useCallback)(async()=>{ea(!0),ec(null);try{let n=await fetch("/api/worktrees/".concat(t,"/files/").concat(r)),l=await n.json();if(!n.ok||!l.success){var e;throw Error((null==(e=l.error)?void 0:e.message)||N("editor.loadError"))}let o=l.content||"";W(o),q(o),er(o),new Blob([o]).size>Y.WARNING_THRESHOLD&&ef(!0)}catch(e){ec(e instanceof Error?e.message:N("editor.loadError"))}finally{ea(!1)}},[t,r]),eZ=(0,l.useCallback)(async e=>{let n=await fetch("/api/worktrees/".concat(t,"/files/").concat(r),{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({content:e})});if(401===n.status||n.redirected)throw Error(N("editor.sessionExpired"));let l=await n.json();if(!n.ok||!l.success){var o;throw Error((null==(o=l.error)?void 0:o.message)||N("editor.saveError"))}q(e)},[t,r,N]),{isSaving:eQ,error:e0,saveNow:e1}=(0,D.U)({value:A,saveFn:eZ,debounceMs:3e3,disabled:!eL}),e4=(0,l.useCallback)(e=>{eK(e),e&&eG&&eZ(A)},[eK,eG,eZ,A]),e5=(0,l.useCallback)(async()=>{if(eG&&!es){ei(!0);try{await eZ(A),ew(N("editor.saveSuccess"),"success"),v&&v(r,A)}catch(e){ew(e instanceof Error?e.message:N("editor.saveError"),"error")}finally{ei(!1)}}},[eZ,A,eG,es,v,r,ew,N]),e2=A.split("\n").length,e3=(0,l.useCallback)(()=>{eb.current&&ek.current&&(ek.current.scrollTop=eb.current.scrollTop)},[]),e7=(0,l.useCallback)(e=>{let t=e.target.value;W(t),eY(t),null==j||j(t)},[eY,j]),e8=(0,l.useCallback)(e=>{el(e),localStorage.setItem(J,e)},[]),e6=(0,l.useCallback)(async()=>{if(eL){if((eG||eQ)&&(await e1(),e0)&&!await C({description:N("editor.saveFailedCloseConfirm"),variant:"danger"}))return}else if(eG&&!await C({description:N("editor.unsavedCloseConfirm"),variant:"danger"}))return;null==x||x()},[eL,eG,eQ,e1,e0,x,C,N]),e9=(0,l.useCallback)(async()=>{try{await (0,c.l)(A),eh()}catch(e){}},[A,eh]),te=(0,l.useCallback)(e=>{if(!eE.current)return;let t=eE.current.offsetWidth;if(0===t)return;let r=e/t;eO(e=>Math.max(.1,Math.min(.9,e+r)))},[eO]),tt=(0,l.useCallback)(()=>{eO(.5)},[eO]),tr=(0,l.useCallback)(e=>{if(e.target!==eb.current||e.currentTarget===e.target){if((e.ctrlKey||e.metaKey)&&"s"===e.key){e.preventDefault(),eL?(async()=>{await e1(),null==v||v(r,A)})():e5();return}if((e.ctrlKey||e.metaKey)&&e.shiftKey&&"F"===e.key){e.preventDefault(),eI();return}if((0,H.V)(e.nativeEvent)&&eP){e.preventDefault(),ez();return}}},[e5,eL,e1,v,r,A,eI,ez,eP]),tn=(0,l.useCallback)(e=>{let t=eb.current;if(!t)return;if(e.value===t.value)return void t.setSelectionRange(e.selectionStart,e.selectionEnd);t.focus(),t.setSelectionRange(e.replaceStart,e.replaceEnd);let r=!1;try{r="function"==typeof document.execCommand&&document.execCommand("insertText",!1,e.replacement)}catch(e){r=!1}if(r)return void t.setSelectionRange(e.selectionStart,e.selectionEnd);eN.current={start:e.selectionStart,end:e.selectionEnd},W(e.value),eY(e.value),null==j||j(e.value)},[eY,j]),tl=(0,l.useCallback)(()=>{let e=eb.current;e&&tn(B(e.value,e.selectionStart,e.selectionEnd," "))},[tn]),to=(0,l.useCallback)(()=>{let e=eb.current;if(!e)return;let t=G(e.value,e.selectionStart,e.selectionEnd," ");t&&tn(t)},[tn]),ta=(0,l.useCallback)(()=>{eH(e=>!e)},[eH]),ts=(0,l.useCallback)(e=>{if(e.ctrlKey&&!e.metaKey&&!e.altKey&&("m"===e.key||"M"===e.key)){e.preventDefault(),ta();return}if("Tab"===e.key&&!e$&&!e.ctrlKey&&!e.metaKey&&!e.altKey){let t=e.currentTarget,r=e.shiftKey?G(t.value,t.selectionStart,t.selectionEnd," "):B(t.value,t.selectionStart,t.selectionEnd," ");r&&(e.preventDefault(),tn(r));return}tr(e)},[e$,ta,tn,tr]);(0,l.useEffect)(()=>{let e=eN.current;if(!e)return;eN.current=null;let t=eb.current;t&&(t.focus(),t.setSelectionRange(e.start,e.end))},[A]);let ti=(0,l.useCallback)(e=>(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("div",{ref:ek,className:"flex-shrink-0 py-4 pl-2 pr-2 text-right select-none text-muted-foreground font-mono text-sm bg-muted dark:bg-muted/50 border-r border-border overflow-hidden","aria-hidden":"true",children:Array.from({length:e2},(e,t)=>(0,n.jsx)("div",{className:"leading-[1.5rem]",children:t+1},t+1))}),(0,n.jsx)("textarea",{ref:eb,"data-testid":"markdown-editor-textarea",value:A,onChange:e7,onKeyDown:ts,onScroll:e3,className:"flex-1 py-4 pr-4 pl-3 font-mono text-sm resize-none bg-surface text-foreground focus:outline-none leading-[1.5rem]".concat(e?" focus:ring-2 focus:ring-ring focus:ring-inset":""),placeholder:E?N("editor.placeholder"):N("editor.placeholderMarkdown"),spellCheck:!1})]}),[e2,A,e7,ts,e3,E,N]);(0,l.useEffect)(()=>{let e=e=>{(0,H.V)(e)&&eP&&(e.preventDefault(),ez())};return eP&&document.addEventListener("keydown",e),()=>{document.removeEventListener("keydown",e)}},[eP,ez]),(0,l.useEffect)(()=>{y||eR&&!eP&&eV()},[]),(0,l.useEffect)(()=>{if("undefined"==typeof document)return;let e=document.getElementById("markdown-editor-portal");return e||((e=document.createElement("div")).id="markdown-editor-portal",document.body.appendChild(e)),eg(e),()=>{let e=document.getElementById("markdown-editor-portal");e&&0===e.childNodes.length&&e.remove()}},[]),(0,l.useEffect)(()=>{null==g||g(eP)},[eP,g]),(0,l.useEffect)(()=>{S||eX()},[eX,S]),(0,l.useEffect)(()=>{let e=eL?eG||eQ:eG,t=t=>{e&&(t.preventDefault(),t.returnValue="")};return e?(ey.current=t,window.addEventListener("beforeunload",t)):ey.current&&(window.removeEventListener("beforeunload",ey.current),ey.current=null),()=>{ey.current&&window.removeEventListener("beforeunload",ey.current)}},[eG,eQ,eL]),(0,l.useEffect)(()=>{e0&&eL&&(eK(!1),ew(N("editor.autoSaveFailed"),"error"))},[e0,eL,eK,ew,N]);let td=(0,l.useMemo)(()=>{let e="flex flex-col bg-surface";return eP&&eT?"".concat(e," fixed inset-0"):"".concat(e," h-full")},[eP,eT]),tc=(0,l.useMemo)(()=>{if(eP)return{zIndex:$.M.MAXIMIZED_EDITOR}},[eP]),tu=(0,l.useMemo)(()=>{if("split"===en&&!eJ)return{width:"".concat(100*eD,"%"),flexShrink:0}},[en,eD,eJ]),tf=(0,l.useMemo)(()=>{if("split"===en&&!eJ)return{width:"".concat((1-eD)*100,"%"),flexShrink:0}},[en,eD,eJ]),tm=(0,l.useMemo)(()=>{if(eM&&eF>0)return{paddingBottom:eF}},[eM,eF]);if(eo)return(0,n.jsx)("div",{"data-testid":"markdown-editor",className:"flex items-center justify-center h-full bg-surface",children:(0,n.jsxs)("div",{className:"text-center",children:[(0,n.jsx)(m.y,{size:"xl",variant:"accent",className:"inline-block"}),(0,n.jsx)("p",{className:"mt-4 text-muted-foreground",children:N("editor.loading")})]})});if(ed)return(0,n.jsx)("div",{"data-testid":"markdown-editor-error",className:"flex items-center justify-center h-full bg-surface",children:(0,n.jsxs)("div",{className:"text-center",children:[(0,n.jsx)(i.A,{className:"h-12 w-12 text-danger mx-auto mb-4"}),(0,n.jsx)("p",{className:"text-danger-foreground",children:ed}),x&&(0,n.jsx)("button",{onClick:x,className:"mt-4 px-4 py-2 bg-muted hover:bg-muted/80 rounded-lg text-foreground",children:N("actions.close")})]})});let th=(0,n.jsxs)("div",{ref:e=>{ej.current=e,eB.current=e},"data-testid":"markdown-editor",className:td,style:tc,onKeyDown:tr,role:eP&&eT?"dialog":void 0,"aria-modal":eP&&eT?"true":void 0,children:[(0,n.jsx)(F,{filePath:r,isDirty:eG,viewMode:en,onViewModeChange:e8,showMobileTabs:eJ,copied:em,onCopy:e9,isMaximized:eP,onToggleFullscreen:eI,isAutoSaveEnabled:eL,onAutoSaveToggle:e4,isAutoSaving:eQ,isSaving:es,onSave:e5,onClose:x?e6:void 0,hideViewModeToggle:E||y,hideMaximizeButton:y,onIndent:tl,onOutdent:to,tabMovesFocus:e$,onToggleTabMovesFocus:ta}),eP&&(0,n.jsx)(R.OJ,{isMobile:eC}),eu&&(0,n.jsx)(R.Uc,{onDismiss:()=>ef(!1)}),eJ&&(0,n.jsx)(R.RF,{mobileTab:ex,onTabChange:ev}),(0,n.jsxs)("div",{ref:eE,className:"flex flex-1 overflow-hidden",style:tm,children:[eJ?"editor"===ex&&(0,n.jsx)("div",{"data-testid":"markdown-editor-container",className:"flex overflow-hidden w-full flex-1",children:ti(!1)}):(0,n.jsx)("div",{"data-testid":"markdown-editor-container",className:"flex overflow-hidden transition-all duration-200 ".concat(eU.showEditor?"":"hidden"),style:"split"===en?tu:{width:eU.showEditor?"100%":"0%"},children:ti(!0)}),"split"===en&&eU.showEditor&&eU.showPreview&&!eJ&&(0,n.jsx)(h.f,{onResize:te,onDoubleClick:tt,orientation:"horizontal",ariaValueNow:Math.round(100*eD),minRatio:.1}),eJ?"preview"===ex&&(0,n.jsx)("div",{"data-testid":"markdown-preview-container",className:"flex flex-col overflow-hidden w-full",children:(0,n.jsx)(ee,{previewContent:et,onOpenFile:b,filePath:r,worktreeId:t,tocVisible:eW,onToggleTocVisible:eq,tocTitle:N("toc.title"),tocShowLabel:N("toc.show"),tocHideLabel:N("toc.hide")})}):(0,n.jsx)("div",{"data-testid":"markdown-preview-container",className:"flex flex-col overflow-hidden transition-all duration-200 ".concat(eU.showPreview?"":"hidden"),style:"split"===en?tf:{width:eU.showPreview?"100%":"0%"},children:(0,n.jsx)(ee,{previewContent:et,onOpenFile:b,filePath:r,worktreeId:t,tocVisible:eW,onToggleTocVisible:eq,tocTitle:N("toc.title"),tocShowLabel:N("toc.show"),tocHideLabel:N("toc.hide")})})]})]});return eP&&eT&&ep?(0,o.createPortal)(th,ep):th})},55924:(e,t,r)=>{r.d(t,{K:()=>o});var n=r(95155),l=r(12115);function o(e){let{entries:t,title:r,headerOffset:o=64,root:a=null,className:s=""}=e,[i,d]=(0,l.useState)(null);return((0,l.useRef)(null).current=i,(0,l.useEffect)(()=>{if("undefined"==typeof IntersectionObserver||0===t.length)return;let e=new IntersectionObserver(e=>{let t=function(e){let t=e.filter(e=>e.isIntersecting).sort((e,t)=>e.boundingClientRect.top-t.boundingClientRect.top);return t.length>0?t[0].target.id:null}(e);t&&d(t)},{root:a,rootMargin:"-".concat(o,"px 0px -70% 0px"),threshold:0}),r=[];for(let n of t){let t=document.getElementById(n.id);t&&(e.observe(t),r.push(t))}return()=>{e.disconnect(),r.length=0}},[t,o,a]),0===t.length)?null:(0,n.jsxs)("nav",{"aria-label":r,className:s,children:[(0,n.jsx)("p",{className:"px-3 pb-2 text-xs font-semibold uppercase tracking-wide text-muted-foreground",children:r}),(0,n.jsx)("ul",{className:"space-y-0.5 text-sm",children:t.map((e,t)=>{let r=e.id===i;return(0,n.jsx)("li",{children:(0,n.jsx)("a",{href:"#".concat(e.id),onClick:t=>((e,t)=>{e.preventDefault();let r="undefined"!=typeof document?document.getElementById(t):null;r&&r.scrollIntoView({behavior:"smooth",block:"start"}),d(t)})(t,e.id),"aria-current":r?"location":void 0,"data-depth":e.depth,style:{paddingLeft:"".concat((e.depth-1)*12+12,"px")},className:["block truncate rounded py-1 pr-2 transition-colors",r?"bg-accent-50 font-medium text-accent-700":"text-muted-foreground hover:bg-muted hover:text-foreground"].join(" "),title:e.text,children:e.text})},"".concat(e.id,"-").concat(t))})})]})}},79962:(e,t,r)=>{r.d(t,{K:()=>s,Y:()=>l});var n=r(21286);let l="commandmate:md-toc-visible",o=/^ {0,3}(#{1,6})(?:[ \t]+(.*?))?[ \t]*$/,a=/^( {0,3})(`{3,}|~{3,})(.*)$/;function s(e){if(!e)return[];let t=new n.A,r=[],l=null,s=0;for(let n of e.split("\n")){var i;let e=a.exec(n);if(l){if(e){let t=e[2];t[0]===l&&t.length>=s&&""===e[3].trim()&&(l=null,s=0)}continue}if(e){let t=e[2],r=t[0];if("`"===r&&e[3].includes("`"));else{l=r,s=t.length;continue}}let d=o.exec(n);if(!d)continue;let c=d[1].length,u=function(e){let t=e;return(t=(t=(t=(t=(t=(t=(t=(t=(t=(t=t.replace(/!\[[^\]]*\]\([^)]*\)/g,"")).replace(/!\[[^\]]*\]\[[^\]]*\]/g,"")).replace(/\[([^\]]*)\]\([^)]*\)/g,"$1")).replace(/\[([^\]]*)\]\[[^\]]*\]/g,"$1")).replace(/\[([^\]]*)\]/g,"$1")).replace(/(`+)([\s\S]*?)\1/g,"$2")).replace(/(\*\*|__)(.*?)\1/g,"$2")).replace(/(\*|_)(.*?)\1/g,"$2")).replace(/~~(.*?)~~/g,"$1")).replace(/\\([\\`*_{}[\]()#+\-.!~])/g,"$1")).trim()}((null!=(i=d[2])?i:"").replace(/([ \t]|^)#+[ \t]*$/,"")),f=t.slug(u);r.push({depth:c,text:u,id:f})}return r}},80003:(e,t,r)=>{r.d(t,{A:()=>n});let n=(0,r(71847).A)("list",[["path",{d:"M3 5h.01",key:"18ugdj"}],["path",{d:"M3 12h.01",key:"nlz23k"}],["path",{d:"M3 19h.01",key:"noohij"}],["path",{d:"M8 5h13",key:"1pao27"}],["path",{d:"M8 12h13",key:"1za7za"}],["path",{d:"M8 19h13",key:"m83p4d"}]])}}]);
|
|
1
|
+
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2717],{42717:(e,t,r)=>{r.r(t),r.d(t,{MarkdownEditor:()=>et});var n=r(95155),l=r(12115),o=r(47650),a=r(18955),s=r(80003),i=r(52056),d=r(64269),c=r(60322),u=r(94442),f=r(36402),m=r(3005),h=r(72115),x=r(89715),v=r(64545),p=r(57828),g=r(71847);let w=(0,g.A)("list-indent-increase",[["path",{d:"M21 5H11",key:"us1j55"}],["path",{d:"M21 12H11",key:"wd7e0v"}],["path",{d:"M21 19H11",key:"saa85w"}],["path",{d:"m3 8 4 4-4 4",key:"1a3j6y"}]]),b=(0,g.A)("list-indent-decrease",[["path",{d:"M21 5H11",key:"us1j55"}],["path",{d:"M21 12H11",key:"wd7e0v"}],["path",{d:"M21 19H11",key:"saa85w"}],["path",{d:"m7 8-4 4 4 4",key:"o5hrat"}]]);var k=r(76482),y=r(5917),j=r(75426),E=r(97624),N=r(37354),C=r(46046),S=r(65229),M=r(48407);let F=(0,l.memo)(function(e){let{filePath:t,isDirty:r,viewMode:l,onViewModeChange:o,showMobileTabs:s,copied:i,onCopy:d,isMaximized:c,onToggleFullscreen:u,isAutoSaveEnabled:f,onAutoSaveToggle:m,isAutoSaving:h,isSaving:g,onSave:F,onClose:R,hideViewModeToggle:A,hideMaximizeButton:P,onIndent:T,onOutdent:V,tabMovesFocus:z,onToggleTabMovesFocus:I}=e,D=(0,a.c)("worktree"),O=e=>e.preventDefault();return(0,n.jsxs)("div",{className:"flex items-center justify-between px-4 py-2 border-b border-border bg-muted",children:[(0,n.jsxs)("div",{className:"flex items-center gap-2 min-w-0 flex-shrink",children:[(0,n.jsx)(x.A,{className:"h-4 w-4 text-muted-foreground flex-shrink-0"}),(0,n.jsx)("span",{className:"text-sm font-medium text-foreground truncate",children:t}),r&&(0,n.jsx)("span",{"data-testid":"dirty-indicator",className:"inline-flex items-center px-2 py-0.5 rounded-full text-xs font-medium bg-warning-subtle text-warning-foreground flex-shrink-0",children:D("editor.unsaved")})]}),(0,n.jsxs)("div",{className:"flex items-center gap-2 flex-shrink-0",children:[!s&&!A&&(0,n.jsxs)("div",{className:"flex items-center gap-1 bg-muted rounded-lg p-1",children:[(0,n.jsx)("button",{"data-testid":"view-mode-split","aria-pressed":"split"===l,onClick:()=>o("split"),className:"p-1.5 rounded ".concat("split"===l?"bg-white dark:bg-input shadow-sm text-accent-600 dark:text-accent-400":"text-muted-foreground hover:text-foreground"),title:D("editor.splitView"),children:(0,n.jsx)(v.A,{className:"h-4 w-4"})}),(0,n.jsx)("button",{"data-testid":"view-mode-editor","aria-pressed":"editor"===l,onClick:()=>o("editor"),className:"p-1.5 rounded ".concat("editor"===l?"bg-white dark:bg-input shadow-sm text-accent-600 dark:text-accent-400":"text-muted-foreground hover:text-foreground"),title:D("editor.editorOnly"),children:(0,n.jsx)(x.A,{className:"h-4 w-4"})}),(0,n.jsx)("button",{"data-testid":"view-mode-preview","aria-pressed":"preview"===l,onClick:()=>o("preview"),className:"p-1.5 rounded ".concat("preview"===l?"bg-white dark:bg-input shadow-sm text-accent-600 dark:text-accent-400":"text-muted-foreground hover:text-foreground"),title:D("editor.previewOnly"),children:(0,n.jsx)(p.A,{className:"h-4 w-4"})})]}),(0,n.jsx)(M.$n,{variant:"ghost","data-testid":"editor-indent-button",onMouseDown:O,onClick:T,className:"flex min-h-[44px] min-w-[44px] items-center justify-center p-1.5 text-muted-foreground hover:text-foreground hover:bg-muted rounded",title:D("editor.indent"),"aria-label":D("editor.indent"),children:(0,n.jsx)(w,{className:"h-4 w-4"})}),(0,n.jsx)(M.$n,{variant:"ghost","data-testid":"editor-outdent-button",onMouseDown:O,onClick:V,className:"flex min-h-[44px] min-w-[44px] items-center justify-center p-1.5 text-muted-foreground hover:text-foreground hover:bg-muted rounded",title:D("editor.outdent"),"aria-label":D("editor.outdent"),children:(0,n.jsx)(b,{className:"h-4 w-4"})}),(0,n.jsx)(M.$n,{variant:"ghost","data-testid":"editor-tab-focus-toggle",onMouseDown:O,onClick:I,"aria-pressed":z,className:"flex min-h-[44px] min-w-[44px] items-center justify-center p-1.5 hover:bg-muted rounded ".concat(z?"text-accent-600 dark:text-accent-400":"text-muted-foreground hover:text-foreground"),title:D(z?"editor.tabMovesFocusOn":"editor.tabMovesFocusOff"),"aria-label":D(z?"editor.tabMovesFocusOn":"editor.tabMovesFocusOff"),children:(0,n.jsx)(k.A,{className:"h-4 w-4"})}),(0,n.jsx)(M.$n,{variant:"ghost","data-testid":"copy-content-button",onClick:d,className:"p-1.5 hover:bg-muted rounded ".concat(i?"text-success":"text-muted-foreground hover:text-foreground"),title:D("actions.copyContent"),children:i?(0,n.jsx)(y.A,{className:"h-4 w-4"}):(0,n.jsx)(j.A,{className:"h-4 w-4"})}),!P&&(0,n.jsx)(M.$n,{variant:"ghost","data-testid":"maximize-button",onClick:u,className:"p-1.5 text-muted-foreground hover:text-foreground hover:bg-muted rounded",title:D(c?"editor.exitFullscreen":"editor.enterFullscreen"),"aria-pressed":c,children:c?(0,n.jsx)(E.A,{className:"h-4 w-4"}):(0,n.jsx)(N.A,{className:"h-4 w-4"})}),(0,n.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,n.jsx)("span",{className:"text-xs text-muted-foreground",children:D("editor.auto")}),(0,n.jsx)("button",{"data-testid":"auto-save-toggle",role:"switch","aria-checked":f,onClick:()=>m(!f),className:"relative inline-flex h-5 w-9 items-center rounded-full transition-colors ".concat(f?"bg-accent-600":"bg-input"),children:(0,n.jsx)("span",{className:"inline-block h-3.5 w-3.5 transform rounded-full bg-white transition-transform ".concat(f?"translate-x-4":"translate-x-0.5")})})]}),f?(0,n.jsx)("span",{"data-testid":"auto-save-indicator",className:"text-sm text-muted-foreground",children:h?D("actions.saving"):r?"":D("actions.saved")}):(0,n.jsxs)(M.$n,{variant:"ghost","data-testid":"save-button",onClick:F,disabled:!r||g,className:"flex items-center gap-1.5 px-3 py-1.5 rounded-lg text-sm font-medium transition-colors ".concat(r&&!g?"bg-accent-600 text-white hover:bg-accent-700":"bg-muted text-muted-foreground cursor-not-allowed"),children:[(0,n.jsx)(C.A,{className:"h-4 w-4"}),D(g?"actions.saving":"actions.save")]}),R&&(0,n.jsx)(M.$n,{variant:"ghost","data-testid":"close-button",onClick:R,className:"p-1.5 text-muted-foreground hover:text-foreground hover:bg-muted rounded",title:D("actions.close"),children:(0,n.jsx)(S.A,{className:"h-4 w-4"})})]})]})});var R=r(5118),A=r(55924),P=r(79962),T=r(38218);let V=l.useLayoutEffect;function z(){if("undefined"==typeof document)return null;let e=document;return e.fullscreenElement||e.webkitFullscreenElement||e.mozFullScreenElement||e.msFullscreenElement||null}var I=r(2317),D=r(60850),O=r(8269),L=r(51434),K=r(4138),$=r(59854),H=r(77873);function W(e,t){return e.lastIndexOf("\n",t-1)+1}function _(e,t,r){let n=r>t&&r>0&&"\n"===e[r-1]?r-1:r;return{start:W(e,t),end:function(e,t){let r=e.indexOf("\n",t);return -1===r?e.length:r}(e,n)}}function q(e,t,r,n,l,o){return{replaceStart:t,replaceEnd:r,replacement:n,selectionStart:l,selectionEnd:o,value:e.slice(0,t)+n+e.slice(r)}}function B(e,t,r,n){if(!(r>t&&e.slice(t,r).includes("\n"))){let l=t-W(e,t),o=n.length-l%n.length,a=" ".repeat(o),s=t+a.length;return q(e,t,r,a,s,s)}let{start:l,end:o}=_(e,t,r),a=e.slice(l,o).split("\n").map(e=>""===e||"\r"===e?e:n+e).join("\n");return q(e,l,o,a,l,l+a.length)}function G(e,t,r,n){let{start:l,end:o}=_(e,t,r),a=e.slice(l,o),s=a.split("\n").map(e=>(function(e,t){if(e.startsWith(" "))return e.slice(1);let r=0;for(;r<t.length&&" "===e[r];)r+=1;return e.slice(r)})(e,n)).join("\n");if(s===a)return t===r?null:q(e,l,o,s,t,r);if(t===r){let r=Math.min(a.length-s.length,Math.max(0,t-l)),n=t-r;return q(e,l,o,s,n,n)}return q(e,l,o,s,l,l+s.length)}let U={split:{showEditor:!0,showPreview:!0,editorWidth:"w-1/2",previewWidth:"w-1/2"},editor:{showEditor:!0,showPreview:!1,editorWidth:"w-full",previewWidth:"w-0"},preview:{showEditor:!1,showPreview:!0,editorWidth:"w-0",previewWidth:"w-full"}},J="commandmate:md-editor-view-mode",Y={WARNING_THRESHOLD:512e3};function X(e){return"number"==typeof e&&e>=.1&&e<=.9}function Z(e){return"boolean"==typeof e}function Q(e){return"split"===e||"editor"===e||"preview"===e}let ee=(0,l.memo)(function(e){let{previewContent:t,onOpenFile:r,filePath:o,worktreeId:a,tocVisible:i,onToggleTocVisible:d,tocTitle:c,tocShowLabel:u,tocHideLabel:f}=e,m=(0,l.useRef)(null),h=(0,l.useRef)(null),[x,v]=(0,l.useState)(null),[p,g]=(0,l.useState)(!1);(0,l.useEffect)(()=>{v(h.current)},[]),(0,l.useEffect)(()=>{let e=m.current;if(!e||"undefined"==typeof ResizeObserver)return;let t=new ResizeObserver(e=>{var t,r;g((null!=(r=null==(t=e[0])?void 0:t.contentRect.width)?r:0)>=480)});return t.observe(e),()=>t.disconnect()},[]);let w=(0,l.useMemo)(()=>(0,P.K)(t),[t]),b=w.length>=2&&p,k=b&&i;return(0,n.jsxs)("div",{ref:m,className:"relative flex flex-1 overflow-hidden",children:[(0,n.jsx)("div",{ref:h,"data-testid":"markdown-preview",className:"flex-1 min-w-0 p-4 overflow-y-auto prose prose-sm dark:prose-invert max-w-none prose-headings:scroll-mt-2",children:(0,n.jsx)(R.G8,{content:t,onOpenFile:r,currentFilePath:o,worktreeId:a})}),k&&(0,n.jsx)("aside",{"data-testid":"markdown-preview-toc",className:"w-48 flex-shrink-0 overflow-y-auto border-l border-border py-4",children:(0,n.jsx)("div",{className:"sticky top-0",children:(0,n.jsx)(A.K,{entries:w,title:c,headerOffset:0,root:x})})}),b&&(0,n.jsx)("button",{"data-testid":"markdown-preview-toc-toggle",onClick:d,"aria-pressed":i,"aria-label":i?f:u,title:i?f:u,className:"absolute top-2 right-2 z-10 flex items-center justify-center rounded-md border border-border bg-surface/90 p-1.5 text-muted-foreground hover:text-foreground hover:bg-muted shadow-sm",children:(0,n.jsx)(s.A,{className:"h-4 w-4"})})]})}),et=(0,l.memo)(function(e){let{worktreeId:t,filePath:r,fileType:s,onClose:x,onSave:v,initialViewMode:p,onMaximizedChange:g,onDirtyChange:w,onOpenFile:b,initialContent:k,embedded:y=!1,onContentChange:j}=e,E="text"===(null!=s?s:r.toLowerCase().endsWith(".md")?"markdown":"text"),N=(0,a.c)("worktree"),C=(0,f.SC)(),S=void 0!==k,M=null!=k?k:"",[A,W]=(0,l.useState)(M),[_,q]=(0,l.useState)(M),[et,er]=(0,l.useState)(M),[en,el]=(0,l.useState)(()=>E||y?"editor":function(e){if(e&&Q(e))return e;{let e=localStorage.getItem(J);if(e&&Q(e))return e}return"split"}(p)),[eo,ea]=(0,l.useState)(!S),[es,ei]=(0,l.useState)(!1),[ed,ec]=(0,l.useState)(null),[eu,ef]=(0,l.useState)(()=>S&&new Blob([M]).size>Y.WARNING_THRESHOLD),{copied:em,markCopied:eh}=(0,K.q)(),[ex,ev]=(0,l.useState)("editor"),[ep,eg]=(0,l.useState)(null),{showToast:ew}=(0,u.dj)(),eb=(0,l.useRef)(null),ek=(0,l.useRef)(null),ey=(0,l.useRef)(null),ej=(0,l.useRef)(null),eE=(0,l.useRef)(null),eN=(0,l.useRef)(null),eC=(0,T.a)(),eS=function(){let[e,t]=(0,l.useState)(!1);return V(()=>{let e=window.matchMedia("(orientation: portrait)");t(e.matches);let r=e=>{t(e.matches)};return e.addEventListener("change",r),()=>e.removeEventListener("change",r)},[]),e}();(0,l.useEffect)(()=>{eC&&ev("preview")},[eC]);let{isKeyboardVisible:eM,keyboardHeight:eF}=(0,L.C)(),{value:eR,setValue:eA}=(0,I.V)({key:"commandmate:md-editor-maximized",defaultValue:!1,validate:Z}),{isFullscreen:eP,isFallbackMode:eT,enterFullscreen:eV,exitFullscreen:ez,toggleFullscreen:eI}=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{elementRef:t,onEnter:r,onExit:n,onError:o}=e,[a,s]=(0,l.useState)(!1),[i,d]=(0,l.useState)(!1),[c,u]=(0,l.useState)(null),f=(0,l.useCallback)(()=>{let e=null!=z();s(e),!e&&i&&d(!1)},[i]),m=(0,l.useCallback)(async()=>{if(u(null),"undefined"!=typeof navigator&&(/iPad|iPhone|iPod/.test(navigator.userAgent)||"MacIntel"===navigator.platform&&navigator.maxTouchPoints>1||0)){s(!0),d(!0),null==r||r();return}if(function(){if("undefined"==typeof document)return!1;let e=document;return!!(e.fullscreenEnabled||e.webkitFullscreenEnabled||e.mozFullScreenEnabled||e.msFullscreenEnabled)}()&&(null==t?void 0:t.current))try{var e;await ((e=t.current).requestFullscreen?Promise.resolve(e.requestFullscreen()):e.webkitRequestFullscreen?Promise.resolve(e.webkitRequestFullscreen()):e.mozRequestFullScreen?Promise.resolve(e.mozRequestFullScreen()):e.msRequestFullscreen?Promise.resolve(e.msRequestFullscreen()):Promise.reject(Error("Fullscreen API not supported"))),s(!0),d(!1),null==r||r()}catch(t){let e=t instanceof Error?t.message:"Failed to enter fullscreen";u(e),null==o||o(t instanceof Error?t:Error(e)),s(!0),d(!0),null==r||r()}else s(!0),d(!0),null==r||r()},[t,r,o]),h=(0,l.useCallback)(async()=>{if(u(null),i){s(!1),d(!1),null==n||n();return}if(z())try{await function(){if("undefined"==typeof document)return Promise.resolve();let e=document;return e.exitFullscreen?Promise.resolve(e.exitFullscreen()):e.webkitExitFullscreen?Promise.resolve(e.webkitExitFullscreen()):e.mozCancelFullScreen?Promise.resolve(e.mozCancelFullScreen()):e.msExitFullscreen?Promise.resolve(e.msExitFullscreen()):Promise.resolve()}(),s(!1),null==n||n()}catch(t){let e=t instanceof Error?t.message:"Failed to exit fullscreen";u(e),null==o||o(t instanceof Error?t:Error(e)),s(!1),d(!1),null==n||n()}else s(!1),d(!1),null==n||n()},[i,n,o]),x=(0,l.useCallback)(async()=>{a?await h():await m()},[a,m,h]);return(0,l.useEffect)(()=>(function(e){if("undefined"==typeof document)return()=>{};let t=["fullscreenchange","webkitfullscreenchange","mozfullscreenchange","MSFullscreenChange"];for(let r of t)document.addEventListener(r,e);return()=>{for(let r of t)document.removeEventListener(r,e)}})(f),[f]),{isFullscreen:a,isFallbackMode:i,enterFullscreen:m,exitFullscreen:h,toggleFullscreen:x,error:c}}({elementRef:ej,onEnter:()=>eA(!0),onExit:()=>eA(!1)}),{value:eD,setValue:eO}=(0,I.V)({key:"commandmate:md-editor-split-ratio",defaultValue:.5,validate:X}),{value:eL,setValue:eK}=(0,I.V)({key:"commandmate:md-editor-auto-save",defaultValue:!1,validate:Z}),{value:e$,setValue:eH}=(0,I.V)({key:"commandmate:md-editor-tab-moves-focus",defaultValue:!1,validate:Z}),{value:eW,setValue:e_}=(0,I.V)({key:P.Y,defaultValue:!0,validate:Z}),eq=(0,l.useCallback)(()=>{e_(e=>!e)},[e_]),{ref:eB}=(0,O.hU)({onSwipeDown:()=>{eP&&ez()},threshold:150,enabled:eP&&eC}),eG=A!==_,eU=E?U.editor:U[en];(0,l.useEffect)(()=>{null==w||w(eG)},[eG,w]);let eJ=!E&&eC&&eS&&"split"===en,eY=(0,l.useMemo)(()=>(0,d.sg)(e=>{er(e)},300),[]);(0,l.useEffect)(()=>()=>eY.cancel(),[eY]);let eX=(0,l.useCallback)(async()=>{ea(!0),ec(null);try{let n=await fetch("/api/worktrees/".concat(t,"/files/").concat(r)),l=await n.json();if(!n.ok||!l.success){var e;throw Error((null==(e=l.error)?void 0:e.message)||N("editor.loadError"))}let o=l.content||"";W(o),q(o),er(o),new Blob([o]).size>Y.WARNING_THRESHOLD&&ef(!0)}catch(e){ec(e instanceof Error?e.message:N("editor.loadError"))}finally{ea(!1)}},[t,r]),eZ=(0,l.useCallback)(async e=>{let n=await fetch("/api/worktrees/".concat(t,"/files/").concat(r),{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({content:e})});if(401===n.status||n.redirected)throw Error(N("editor.sessionExpired"));let l=await n.json();if(!n.ok||!l.success){var o;throw Error((null==(o=l.error)?void 0:o.message)||N("editor.saveError"))}q(e)},[t,r,N]),{isSaving:eQ,error:e0,saveNow:e1}=(0,D.U)({value:A,saveFn:eZ,debounceMs:3e3,disabled:!eL}),e4=(0,l.useCallback)(e=>{eK(e),e&&eG&&eZ(A)},[eK,eG,eZ,A]),e5=(0,l.useCallback)(async()=>{if(eG&&!es){ei(!0);try{await eZ(A),ew(N("editor.saveSuccess"),"success"),v&&v(r,A)}catch(e){ew(e instanceof Error?e.message:N("editor.saveError"),"error")}finally{ei(!1)}}},[eZ,A,eG,es,v,r,ew,N]),e2=A.split("\n").length,e3=(0,l.useCallback)(()=>{eb.current&&ek.current&&(ek.current.scrollTop=eb.current.scrollTop)},[]),e7=(0,l.useCallback)(e=>{let t=e.target.value;W(t),eY(t),null==j||j(t)},[eY,j]),e8=(0,l.useCallback)(e=>{el(e),localStorage.setItem(J,e)},[]),e6=(0,l.useCallback)(async()=>{if(eL){if((eG||eQ)&&(await e1(),e0)&&!await C({description:N("editor.saveFailedCloseConfirm"),variant:"danger"}))return}else if(eG&&!await C({description:N("editor.unsavedCloseConfirm"),variant:"danger"}))return;null==x||x()},[eL,eG,eQ,e1,e0,x,C,N]),e9=(0,l.useCallback)(async()=>{try{await (0,c.l)(A),eh()}catch(e){}},[A,eh]),te=(0,l.useCallback)(e=>{if(!eE.current)return;let t=eE.current.offsetWidth;if(0===t)return;let r=e/t;eO(e=>Math.max(.1,Math.min(.9,e+r)))},[eO]),tt=(0,l.useCallback)(()=>{eO(.5)},[eO]),tr=(0,l.useCallback)(e=>{if(e.target!==eb.current||e.currentTarget===e.target){if((e.ctrlKey||e.metaKey)&&"s"===e.key){e.preventDefault(),eL?(async()=>{await e1(),null==v||v(r,A)})():e5();return}if((e.ctrlKey||e.metaKey)&&e.shiftKey&&"F"===e.key){e.preventDefault(),eI();return}if((0,H.cE)(e.nativeEvent)&&eP){e.preventDefault(),ez();return}}},[e5,eL,e1,v,r,A,eI,ez,eP]),tn=(0,l.useCallback)(e=>{let t=eb.current;if(!t)return;if(e.value===t.value)return void t.setSelectionRange(e.selectionStart,e.selectionEnd);t.focus(),t.setSelectionRange(e.replaceStart,e.replaceEnd);let r=!1;try{r="function"==typeof document.execCommand&&document.execCommand("insertText",!1,e.replacement)}catch(e){r=!1}if(r)return void t.setSelectionRange(e.selectionStart,e.selectionEnd);eN.current={start:e.selectionStart,end:e.selectionEnd},W(e.value),eY(e.value),null==j||j(e.value)},[eY,j]),tl=(0,l.useCallback)(()=>{let e=eb.current;e&&tn(B(e.value,e.selectionStart,e.selectionEnd," "))},[tn]),to=(0,l.useCallback)(()=>{let e=eb.current;if(!e)return;let t=G(e.value,e.selectionStart,e.selectionEnd," ");t&&tn(t)},[tn]),ta=(0,l.useCallback)(()=>{eH(e=>!e)},[eH]),ts=(0,l.useCallback)(e=>{if(e.ctrlKey&&!e.metaKey&&!e.altKey&&("m"===e.key||"M"===e.key)){e.preventDefault(),ta();return}if("Tab"===e.key&&!e$&&!e.ctrlKey&&!e.metaKey&&!e.altKey){let t=e.currentTarget,r=e.shiftKey?G(t.value,t.selectionStart,t.selectionEnd," "):B(t.value,t.selectionStart,t.selectionEnd," ");r&&(e.preventDefault(),tn(r));return}tr(e)},[e$,ta,tn,tr]);(0,l.useEffect)(()=>{let e=eN.current;if(!e)return;eN.current=null;let t=eb.current;t&&(t.focus(),t.setSelectionRange(e.start,e.end))},[A]);let ti=(0,l.useCallback)(e=>(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("div",{ref:ek,className:"flex-shrink-0 py-4 pl-2 pr-2 text-right select-none text-muted-foreground font-mono text-sm bg-muted dark:bg-muted/50 border-r border-border overflow-hidden","aria-hidden":"true",children:Array.from({length:e2},(e,t)=>(0,n.jsx)("div",{className:"leading-[1.5rem]",children:t+1},t+1))}),(0,n.jsx)("textarea",{ref:eb,"data-testid":"markdown-editor-textarea",value:A,onChange:e7,onKeyDown:ts,onScroll:e3,className:"flex-1 py-4 pr-4 pl-3 font-mono text-sm resize-none bg-surface text-foreground focus:outline-none leading-[1.5rem]".concat(e?" focus:ring-2 focus:ring-ring focus:ring-inset":""),placeholder:E?N("editor.placeholder"):N("editor.placeholderMarkdown"),spellCheck:!1})]}),[e2,A,e7,ts,e3,E,N]);(0,l.useEffect)(()=>{let e=e=>{(0,H.cE)(e)&&eP&&(e.preventDefault(),ez())};return eP&&document.addEventListener("keydown",e),()=>{document.removeEventListener("keydown",e)}},[eP,ez]),(0,l.useEffect)(()=>{y||eR&&!eP&&eV()},[]),(0,l.useEffect)(()=>{if("undefined"==typeof document)return;let e=document.getElementById("markdown-editor-portal");return e||((e=document.createElement("div")).id="markdown-editor-portal",document.body.appendChild(e)),eg(e),()=>{let e=document.getElementById("markdown-editor-portal");e&&0===e.childNodes.length&&e.remove()}},[]),(0,l.useEffect)(()=>{null==g||g(eP)},[eP,g]),(0,l.useEffect)(()=>{S||eX()},[eX,S]),(0,l.useEffect)(()=>{let e=eL?eG||eQ:eG,t=t=>{e&&(t.preventDefault(),t.returnValue="")};return e?(ey.current=t,window.addEventListener("beforeunload",t)):ey.current&&(window.removeEventListener("beforeunload",ey.current),ey.current=null),()=>{ey.current&&window.removeEventListener("beforeunload",ey.current)}},[eG,eQ,eL]),(0,l.useEffect)(()=>{e0&&eL&&(eK(!1),ew(N("editor.autoSaveFailed"),"error"))},[e0,eL,eK,ew,N]);let td=(0,l.useMemo)(()=>{let e="flex flex-col bg-surface";return eP&&eT?"".concat(e," fixed inset-0"):"".concat(e," h-full")},[eP,eT]),tc=(0,l.useMemo)(()=>{if(eP)return{zIndex:$.M.MAXIMIZED_EDITOR}},[eP]),tu=(0,l.useMemo)(()=>{if("split"===en&&!eJ)return{width:"".concat(100*eD,"%"),flexShrink:0}},[en,eD,eJ]),tf=(0,l.useMemo)(()=>{if("split"===en&&!eJ)return{width:"".concat((1-eD)*100,"%"),flexShrink:0}},[en,eD,eJ]),tm=(0,l.useMemo)(()=>{if(eM&&eF>0)return{paddingBottom:eF}},[eM,eF]);if(eo)return(0,n.jsx)("div",{"data-testid":"markdown-editor",className:"flex items-center justify-center h-full bg-surface",children:(0,n.jsxs)("div",{className:"text-center",children:[(0,n.jsx)(m.y,{size:"xl",variant:"accent",className:"inline-block"}),(0,n.jsx)("p",{className:"mt-4 text-muted-foreground",children:N("editor.loading")})]})});if(ed)return(0,n.jsx)("div",{"data-testid":"markdown-editor-error",className:"flex items-center justify-center h-full bg-surface",children:(0,n.jsxs)("div",{className:"text-center",children:[(0,n.jsx)(i.A,{className:"h-12 w-12 text-danger mx-auto mb-4"}),(0,n.jsx)("p",{className:"text-danger-foreground",children:ed}),x&&(0,n.jsx)("button",{onClick:x,className:"mt-4 px-4 py-2 bg-muted hover:bg-muted/80 rounded-lg text-foreground",children:N("actions.close")})]})});let th=(0,n.jsxs)("div",{ref:e=>{ej.current=e,eB.current=e},"data-testid":"markdown-editor",className:td,style:tc,onKeyDown:tr,...eP?{[H.en]:""}:{},role:eP&&eT?"dialog":void 0,"aria-modal":eP&&eT?"true":void 0,children:[(0,n.jsx)(F,{filePath:r,isDirty:eG,viewMode:en,onViewModeChange:e8,showMobileTabs:eJ,copied:em,onCopy:e9,isMaximized:eP,onToggleFullscreen:eI,isAutoSaveEnabled:eL,onAutoSaveToggle:e4,isAutoSaving:eQ,isSaving:es,onSave:e5,onClose:x?e6:void 0,hideViewModeToggle:E||y,hideMaximizeButton:y,onIndent:tl,onOutdent:to,tabMovesFocus:e$,onToggleTabMovesFocus:ta}),eP&&(0,n.jsx)(R.OJ,{isMobile:eC}),eu&&(0,n.jsx)(R.Uc,{onDismiss:()=>ef(!1)}),eJ&&(0,n.jsx)(R.RF,{mobileTab:ex,onTabChange:ev}),(0,n.jsxs)("div",{ref:eE,className:"flex flex-1 overflow-hidden",style:tm,children:[eJ?"editor"===ex&&(0,n.jsx)("div",{"data-testid":"markdown-editor-container",className:"flex overflow-hidden w-full flex-1",children:ti(!1)}):(0,n.jsx)("div",{"data-testid":"markdown-editor-container",className:"flex overflow-hidden transition-all duration-200 ".concat(eU.showEditor?"":"hidden"),style:"split"===en?tu:{width:eU.showEditor?"100%":"0%"},children:ti(!0)}),"split"===en&&eU.showEditor&&eU.showPreview&&!eJ&&(0,n.jsx)(h.f,{onResize:te,onDoubleClick:tt,orientation:"horizontal",ariaValueNow:Math.round(100*eD),minRatio:.1}),eJ?"preview"===ex&&(0,n.jsx)("div",{"data-testid":"markdown-preview-container",className:"flex flex-col overflow-hidden w-full",children:(0,n.jsx)(ee,{previewContent:et,onOpenFile:b,filePath:r,worktreeId:t,tocVisible:eW,onToggleTocVisible:eq,tocTitle:N("toc.title"),tocShowLabel:N("toc.show"),tocHideLabel:N("toc.hide")})}):(0,n.jsx)("div",{"data-testid":"markdown-preview-container",className:"flex flex-col overflow-hidden transition-all duration-200 ".concat(eU.showPreview?"":"hidden"),style:"split"===en?tf:{width:eU.showPreview?"100%":"0%"},children:(0,n.jsx)(ee,{previewContent:et,onOpenFile:b,filePath:r,worktreeId:t,tocVisible:eW,onToggleTocVisible:eq,tocTitle:N("toc.title"),tocShowLabel:N("toc.show"),tocHideLabel:N("toc.hide")})})]})]});return eP&&eT&&ep?(0,o.createPortal)(th,ep):th})},55924:(e,t,r)=>{r.d(t,{K:()=>o});var n=r(95155),l=r(12115);function o(e){let{entries:t,title:r,headerOffset:o=64,root:a=null,className:s=""}=e,[i,d]=(0,l.useState)(null);return((0,l.useRef)(null).current=i,(0,l.useEffect)(()=>{if("undefined"==typeof IntersectionObserver||0===t.length)return;let e=new IntersectionObserver(e=>{let t=function(e){let t=e.filter(e=>e.isIntersecting).sort((e,t)=>e.boundingClientRect.top-t.boundingClientRect.top);return t.length>0?t[0].target.id:null}(e);t&&d(t)},{root:a,rootMargin:"-".concat(o,"px 0px -70% 0px"),threshold:0}),r=[];for(let n of t){let t=document.getElementById(n.id);t&&(e.observe(t),r.push(t))}return()=>{e.disconnect(),r.length=0}},[t,o,a]),0===t.length)?null:(0,n.jsxs)("nav",{"aria-label":r,className:s,children:[(0,n.jsx)("p",{className:"px-3 pb-2 text-xs font-semibold uppercase tracking-wide text-muted-foreground",children:r}),(0,n.jsx)("ul",{className:"space-y-0.5 text-sm",children:t.map((e,t)=>{let r=e.id===i;return(0,n.jsx)("li",{children:(0,n.jsx)("a",{href:"#".concat(e.id),onClick:t=>((e,t)=>{e.preventDefault();let r="undefined"!=typeof document?document.getElementById(t):null;r&&r.scrollIntoView({behavior:"smooth",block:"start"}),d(t)})(t,e.id),"aria-current":r?"location":void 0,"data-depth":e.depth,style:{paddingLeft:"".concat((e.depth-1)*12+12,"px")},className:["block truncate rounded py-1 pr-2 transition-colors",r?"bg-accent-50 font-medium text-accent-700":"text-muted-foreground hover:bg-muted hover:text-foreground"].join(" "),title:e.text,children:e.text})},"".concat(e.id,"-").concat(t))})})]})}},79962:(e,t,r)=>{r.d(t,{K:()=>s,Y:()=>l});var n=r(21286);let l="commandmate:md-toc-visible",o=/^ {0,3}(#{1,6})(?:[ \t]+(.*?))?[ \t]*$/,a=/^( {0,3})(`{3,}|~{3,})(.*)$/;function s(e){if(!e)return[];let t=new n.A,r=[],l=null,s=0;for(let n of e.split("\n")){var i;let e=a.exec(n);if(l){if(e){let t=e[2];t[0]===l&&t.length>=s&&""===e[3].trim()&&(l=null,s=0)}continue}if(e){let t=e[2],r=t[0];if("`"===r&&e[3].includes("`"));else{l=r,s=t.length;continue}}let d=o.exec(n);if(!d)continue;let c=d[1].length,u=function(e){let t=e;return(t=(t=(t=(t=(t=(t=(t=(t=(t=(t=t.replace(/!\[[^\]]*\]\([^)]*\)/g,"")).replace(/!\[[^\]]*\]\[[^\]]*\]/g,"")).replace(/\[([^\]]*)\]\([^)]*\)/g,"$1")).replace(/\[([^\]]*)\]\[[^\]]*\]/g,"$1")).replace(/\[([^\]]*)\]/g,"$1")).replace(/(`+)([\s\S]*?)\1/g,"$2")).replace(/(\*\*|__)(.*?)\1/g,"$2")).replace(/(\*|_)(.*?)\1/g,"$2")).replace(/~~(.*?)~~/g,"$1")).replace(/\\([\\`*_{}[\]()#+\-.!~])/g,"$1")).trim()}((null!=(i=d[2])?i:"").replace(/([ \t]|^)#+[ \t]*$/,"")),f=t.slug(u);r.push({depth:c,text:u,id:f})}return r}},80003:(e,t,r)=>{r.d(t,{A:()=>n});let n=(0,r(71847).A)("list",[["path",{d:"M3 5h.01",key:"18ugdj"}],["path",{d:"M3 12h.01",key:"nlz23k"}],["path",{d:"M3 19h.01",key:"noohij"}],["path",{d:"M8 5h13",key:"1pao27"}],["path",{d:"M8 12h13",key:"1za7za"}],["path",{d:"M8 19h13",key:"m83p4d"}]])}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[5371],{4471:(e,t,n)=>{n.d(t,{Gw:()=>H,Wo:()=>N.Wo,Rb:()=>o,tz:()=>a,i4:()=>i,i5:()=>r,Zq:()=>l,Ad:()=>N.Ad,Gg:()=>J,aX:()=>G,fq:()=>U,HI:()=>$,eu:()=>D,p0:()=>I,po:()=>T});let l="data-search-skip",r="data-mermaid-source",i="data-mermaid-raw-start",a="data-mermaid-raw-end",o="commandmate:mermaid-block-settled";var u,s=n(14733),d=n(29833),f=n(99112);let c=/^( {0,3})(`{3,}|~{3,})(.*)$/,h=/^ {0,3}(?:[-*+]|\d{1,9}[.)]) {1,4}(?=`{3,}|~{3,})/;function g(e,t,n,l){let r=0;for(;r<l&&t+r<n&&" "===e[t+r];)r+=1;return r}let p=/^ {0,3}>[ \t]?/;function m(e,t,n){let l=0,r=t.start;for(;l<n;){let n=p.exec(e.slice(r,t.end));if(!n)break;r+=n[0].length,l+=1}return{depth:l,contentStart:r}}let v=null;function y(e){let t=e.filter(e=>e.end>e.start).sort((e,t)=>e.start-t.start),n=[];for(let e of t){let t=n[n.length-1];t&&e.start<=t.end?t.end=Math.max(t.end,e.end):n.push({...e})}return n}function b(e,t){let n=e.map(e=>({...e}));for(let e of t)n=n.flatMap(t=>{if(e.end<=t.start||e.start>=t.end)return[t];let n=[];return e.start>t.start&&n.push({start:t.start,end:e.start}),e.end<t.end&&n.push({start:e.end,end:t.end}),n});return n}function x(e,t,n){return e.map(e=>({start:Math.max(e.start,t),end:Math.min(e.end,n)})).filter(e=>e.end>e.start)}function w(e,t,n){return t.flatMap(t=>(function(e,t){let n=[];if(!t)return n;let l=0;for(;;){let r=e.indexOf(t,l);if(-1===r)return n;n.push(r),l=r+1}})(e.slice(t.start,t.end),n).filter(e=>t.start+e+n.length<=t.end).map(e=>t.start+e))}let E=(e,t)=>e.some(e=>t>=e.start&&t<e.end),S="data-search-section";var N=n(38152);let k="data-search-raw",C=e=>"number"==typeof(null==e?void 0:e.offset)?e.offset:null;function O(e,t,n,l){if(void 0===l){let l=n(e),r=n(t);return null!==l&&null!==r&&r>=l?[{start:l,end:r}]:null}let r=[],i=e;for(let a=l.indexOf("\n",e);;a=l.indexOf("\n",a+1)){let e=-1===a||a>=t,l=n(i),o=n(e?t:a);if(null===l!=(null===o))return null;if(null!==l&&null!==o){let t=o+ +!e;if(t<l)return null;let n=r[r.length-1];n&&n.end===l?n.end=t:r.push({start:l,end:t})}if(e)return r.length>0?r:null;i=a+1}}function I(e){let t=(null==e?void 0:e.toRaw)===void 0?N.Wo:e.toRaw;return(n,l)=>{var r;let i=null!=(r=null==e?void 0:e.source)?r:"string"==typeof(null==l?void 0:l.value)?l.value:void 0;t&&function e(t,n,l){if("root"===t.type||"element"===t.type){if("element"===t.type){var r,i;let e=C(null==(r=t.position)?void 0:r.start),a=C(null==(i=t.position)?void 0:i.end),o=null===e||null===a?null:O(e,a,n,l);if(o){let e=[o.map(e=>"".concat(e.start,",").concat(e.end)).join(",")];for(let r of t.children)"text"===r.type&&e.push(...function(e,t,n){var l,r;let i=e.value.length,a=C(null==(l=e.position)?void 0:l.start),o=C(null==(r=e.position)?void 0:r.end),u=null===a||null===o?null:O(a,o,t,n);if(!u)return[",,".concat(i)];if(1===u.length||void 0===n||null===a||null===o)return["".concat(u[0].start,",").concat(u[0].end,",").concat(i)];let s=[];for(let e=n.indexOf("\n",a);-1!==e&&e<o;e=n.indexOf("\n",e+1))s.push(e);let d=e.value.split("\n");if(d.length!==s.length+1){let[e,...t]=u;return[["".concat(e.start,",").concat(e.end,",").concat(i),...t.map(e=>"".concat(e.start,",").concat(e.end))].join(",")]}return d.map((e,l)=>{let r=l===d.length-1,i=e.length+ +!r,u=O(0===l?a:s[l-1]+1,r?o:s[l],t,n);return u?"".concat(u[0].start,",").concat(u[0].end+ +!r,",").concat(i):",,".concat(i)})}(r,n,l));t.properties={...t.properties,dataSearchRaw:e.join(";")}}}for(let r of t.children)e(r,n,l)}}(n,t,i)}}function T(e){let t=e[k];return"string"==typeof t?{[k]:t}:{}}function A(e){if(e.length%2!=0)return null;let t=[];for(let n=0;n<e.length;n+=2){let l=Number.parseInt(e[n],10),r=Number.parseInt(e[n+1],10);if(!Number.isInteger(l)||!Number.isInteger(r)||r<l)return null;t.push({start:l,end:r})}return t}let j=/&(?:#([0-9]{1,7})|#[xX]([0-9a-fA-F]{1,6})|([A-Za-z][A-Za-z0-9]{0,31}));/y,M=e=>/\s/.test(e),R=new Map;function W(e,t){var n,l;j.lastIndex=t;let r=j.exec(e);if(!r)return null;let i=t+r[0].length,a=void 0!==r[3]?function(e){let t=R.get(e);if(void 0!==t)return t;let n=null;if("undefined"!=typeof DOMParser){var l;let t=null!=(l=new DOMParser().parseFromString("<b>".concat(e,"</b>"),"text/html").body.textContent)?l:"";n=t!==e&&""!==t?t:null}return R.set(e,n),n}(r[0]):(l=Number.parseInt(null!=(n=r[1])?n:r[2],void 0!==r[1]?10:16))<9||11===l||l>13&&l<32||l>126&&l<160||l>55295&&l<57344||l>64975&&l<65008||(65535&l)==65535||(65535&l)==65534||l>1114111?"�":String.fromCodePoint(l);return null===a?null:{end:i,drawn:a}}function _(e,t,n){var l,r,i;let a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null!=(u=null==(i=n[0])?void 0:i.start)?u:0;if(1===n.length&&t.slice(a,a+e.length)===e)return Array.from({length:e.length},(e,t)=>a+t);let o=null!=(r=null==(l=n[n.length-1])?void 0:l.end)?r:a,s=e=>n.findIndex(t=>e>=t.start&&e<t.end),d=function(e,l,r){let i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0;for(let a=i;a<n.length;a++){if(n[a].end<=l)continue;if(n[a].start>=r)break;let i=t.indexOf(e,Math.max(l,n[a].start));if(-1!==i&&i<Math.min(n[a].end,r))return{idx:i,span:a}}return null},f=Array(e.length).fill(-1),c=a,h=0,g=[],p=a,m=(n,l,r)=>{for(let i=t.indexOf("&",n);-1!==i&&i<l;i=t.indexOf("&",i+1)){if(-1===s(i))continue;let n=W(t,i);if(n&&/^\s+$/.test(n.drawn)&&!(r+n.drawn.length>g.length)&&g.slice(r,r+n.drawn.length).map(t=>e[t]).join("")===n.drawn)return{idx:i,end:n.end,units:n.drawn.length}}return null},v=t=>{let n=p;for(let l=0;l<g.length;l++){let r=g[l],i=d(e[r],n,t),a=m(n,i?i.idx:t,l);if(a){for(let e=0;e<a.units;e++)f[g[l+e]]=a.idx;l+=a.units-1,n=a.end}else i&&(f[r]=i.idx,n=i.idx+1)}g=[]};for(let n=0;n<e.length;n++){let l,r=e[n];if(M(r)){0===g.length&&(p=c),g.push(n);continue}let i=c,a=null;for(;i<t.length&&-1!==s(i);){if(M(t[i])){i+=1;continue}let l="&"===t[i]?W(t,i):null;if(!l||e.startsWith(t.slice(i,l.end),n))break;if(/^\s+$/.test(l.drawn)){i=l.end;continue}e.startsWith(l.drawn,n)&&(a={start:i,end:l.end,length:l.drawn.length});break}let o=1;if(a)h=s(l=a.start),c=a.end,o=a.length;else{let e=d(r,Math.max(c,i),1/0,h);if(!e)return null;l=e.idx,h=e.span,c=l+1}v(l);for(let e=0;e<o;e++)f[n+e]=l;n+=o-1}return v(o),f}let B=/^[ \t>]*(`{3,}|~{3,})/,F={highlightName:"terminal-search",currentHighlightName:"terminal-search-current",fallbackOverlayId:"terminal-search-fallback-overlay",fallbackOverlayBgColor:"rgba(255, 165, 0, 0.6)"},H={highlightName:"history-search",currentHighlightName:"history-search-current",fallbackOverlayId:"history-search-fallback-overlay",fallbackOverlayBgColor:"rgba(59, 130, 246, 0.6)"};function D(e){return{highlightName:"history-search-".concat(e),currentHighlightName:"history-search-current-".concat(e),fallbackOverlayId:"history-search-fallback-overlay-".concat(e),fallbackOverlayBgColor:H.fallbackOverlayBgColor}}function z(){return"undefined"!=typeof CSS&&null!==CSS&&"highlights"in CSS}let L=new Map;function q(e){var t;L.delete(e.highlightName),z()&&(CSS.highlights.delete(e.highlightName),CSS.highlights.delete(e.currentHighlightName)),null==(t=document.getElementById(e.fallbackOverlayId))||t.remove()}function X(e,t,n,o,u){var p,N,C;if(0===t.length){let t=L.get(o.highlightName);return(null==t||t.delete(e),t&&V(t),t&&0!==t.size)?(P(o,t),void Z(e,o)):void q(o)}let O=function(e){let t,n=[],r=0,i=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT|NodeFilter.SHOW_TEXT,{acceptNode:e=>e.nodeType===Node.TEXT_NODE?NodeFilter.FILTER_ACCEPT:e.hasAttribute(l)?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_SKIP});for(;t=i.nextNode();){var a,o;let e=t,l=null!=(o=null==(a=e.nodeValue)?void 0:a.length)?o:0;n.push({node:e,start:r,end:r+l}),r+=l}return n}(e),I=(null!=(N=(null==u?void 0:u.sourceText)!==void 0?function(e,t,n,l,o){let u=()=>(function(e,t,n,l){var r,i;if(!e.querySelector("[".concat(k,"]")))return null;let a=new Map;for(let n of t){let t=null==(r=n.node.parentElement)?void 0:r.closest("[".concat(k,"]"));if(!t||!e.contains(t))continue;let l=a.get(t);l?l.push(n):a.set(t,[n])}let o=new Int32Array(n.length).fill(-1),u=new Int32Array(n.length).fill(-1);for(let[e,t]of a){let l=function(e){let[t,...n]=e.split(";"),l=A(t.split(","));if(!l||0===l.length)return null;let r=[];for(let e of n){let[t,n,l,...i]=e.split(","),a=Number.parseInt(l,10);if(!Number.isInteger(a)||a<0)return null;if(""===t||""===n){r.push({start:null,end:null,length:a,spans:[]});continue}let o=A([t,n,...i]);if(!o)return null;r.push({start:o[0].start,end:o[o.length-1].end,length:a,spans:o})}return{start:l[0].start,end:l[l.length-1].end,spans:l,segments:r}}(null!=(i=e.getAttribute(k))?i:"");if(!l)continue;let r=t.map(e=>{var t;return null!=(t=e.node.nodeValue)?t:""}).join("");if(l.segments.reduce((e,t)=>e+t.length,0)!==r.length)continue;let a=[];for(let e of t)for(let t=e.start;t<e.end;t++)a.push(t);let s=l.start;if(B.exec(n.slice(l.start,l.end))){let e=n.indexOf("\n",l.start);s=-1===e?l.end:e+1}let d=0;for(let e of l.segments){let t=r.slice(d,d+e.length),i=null;null!==e.start&&null!==e.end?(i=_(t,n,e.spans))&&(s=Math.max(s,e.end)):""!==t.trim()&&(i=_(t,n,l.spans,s))&&i.length>0&&(s=i.reduce((e,t)=>Math.max(e,t+1),s)),null==i||i.forEach((e,l)=>{if(e<0||e>=o.length||-1!==o[e]||(o[e]=a[d+l],u[e]=a[d+l]+1,"&"!==n[e]))return;let r=l;for(;i[r+1]===e;)r+=1;if(i[r+1]===e+1)return;let s=W(n,e);s&&s.drawn.length===r-l+1&&t.startsWith(s.drawn,l)&&-1===u[s.end-1]&&(u[s.end-1]=a[d+r]+1)}),d+=e.length}}return l.map(e=>{if(e.end<=e.start||e.end>o.length)return null;let t=o[e.start],n=u[e.end-1];return -1!==t&&-1!==n&&n>t?{start:t,end:n}:null})})(e,t,n,l),p=function(e,t,n,l,o){let u=Array.from(e.querySelectorAll("[".concat(r,"]")));if(0===u.length)return null;let p=null,N=t.map(e=>{var t;return null!=(t=e.node.nodeValue)?t:""}).join(""),k=new Set(o.map(e=>e.key)),C=t=>{var n;let l=null==(n=t.nodeType===Node.TEXT_NODE?t.parentElement:t)?void 0:n.closest("[".concat(S,"]")),r=l&&e.contains(l)?l.getAttribute(S):null;return null!==r&&k.has(r)?r:""},O=new Map(o.map(e=>[e.key,y(e.ranges)])),I=y(o.flatMap(e=>e.ranges)),T=["",...k].map(e=>{let l=""===e?b([{start:0,end:n.length}],I):O.get(e),r=y(t.filter(t=>C(t.node)===e).map(e=>{let{start:t,end:n}=e;return{start:t,end:n}})),o=[];for(let n of u){if(C(n)!==e)continue;let l=t.filter(e=>n.contains(e.node));if(0===l.length)continue;let r=l[0].start,i=l[l.length-1].end;o.push({domStart:r,domEnd:i,text:N.slice(r,i),element:n})}let w=function(e,t,n){if(0===n.length)return null;let l=[];for(let u of n){var r,o;let n=Number.parseInt(null!=(r=u.element.getAttribute(i))?r:"",10),s=Number.parseInt(null!=(o=u.element.getAttribute(a))?o:"",10);if(!Number.isInteger(n)||!Number.isInteger(s)||!E(t,n))return null;let d=function(e,t,n,l){var r;if(!(t>=0&&n<=e.length&&t<n))return null;let i=e.slice(t,n);if(!/^(?:`{3,}|~{3,})/.test(i))return null;let a=i.split("\n"),o=l.length>0?l.split("\n"):[],u=a.length-1;if(o.length>0&&u!==o.length&&u!==o.length+1)return null;let s=[],d=t+a[0].length+1,f=0;for(let e=0;e<o.length;e++){let t=a[e+1],n=o[e];if(!t.endsWith(n))return null;s.push({rawStart:d+t.length-n.length,length:n.length,bodyOffset:f}),f+=n.length+1,d+=t.length+1}let c=(null!=(r=e.slice(e.lastIndexOf("\n",t-1)+1,t).match(/>/g))?r:[]).length;return{fenceStart:t,bodyStart:s.length>0?t+a[0].length+1:t+a[0].length,bodyEnd:s.length>0?s[s.length-1].rawStart+s[s.length-1].length:t+a[0].length,fenceEnd:n,body:l,quoteDepth:c,lines:s}}(e,n,s,u.text),f=l[l.length-1];if(!d||f&&d.fenceStart<f.fenceEnd)return null;l.push(d)}return l}(n,l,o),S=null!=w?w:(null!=p?p:p=function(e){let t=[],n=function(e){null!=v||(v=(0,d.l)().use(s.A).use(f.eT));let t=new Set;for(let l of function e(t){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];if("code"===t.type)"mermaid"===t.lang&&n.push(t);else if("children"in t)for(let l of t.children)e(l,n);return n}(v.parse(e))){var n;let e=null==(n=l.position)?void 0:n.start.offset;void 0!==e&&t.add(e)}return t}(e),l=[],r=0;for(;r<=e.length;){let t=e.indexOf("\n",r),n=-1===t?e.length:t;if(l.push({start:r,end:n}),-1===t)break;r=t+1}for(let r=0;r<l.length;r++){let{depth:i,contentStart:a}=m(e,l[r],1/0),o=h.exec(e.slice(a,l[r].end)),u=o?o[0].length:0,s=c.exec(e.slice(a+u,l[r].end));if(!s)continue;let d=a+u+s[1].length;if(!n.has(d))continue;let f=s[1].length,p=s[2],v=s[3].trim();if("`"===p[0]&&v.includes("`"))continue;let y=new RegExp("^ {0,3}".concat("`"===p[0]?"`":"~","{").concat(p.length,",}[ \\t]*$")),b=[],x=r;for(let t=r+1;t<l.length;t++){let n=m(e,l[t],i);if(n.depth<i)break;let r=n.contentStart,a=l[t].end;if(u>0){let t=g(e,r,a,u);if(0!==e.slice(r,a).trim().length&&t<u)break;r+=t}if(x=t,y.test(e.slice(r,a)))break;r+=g(e,r,a,f),b.push({rawStart:r,length:a-r,bodyOffset:0})}if("mermaid"===v.split(/[ \t]/)[0]){let n=0;for(let e of b)e.bodyOffset=n,n+=e.length+1;let a=b.length>0?l[r+1].start:l[r].end,o=b.length>0?b[b.length-1].rawStart+b[b.length-1].length:a;t.push({fenceStart:l[r].start,bodyStart:a,bodyEnd:o,fenceEnd:l[x].end,body:b.map(t=>e.slice(t.rawStart,t.rawStart+t.length)).join("\n"),quoteDepth:i,lines:b})}r=x}return t}(n)).filter(e=>E(l,e.fenceStart)),k=[];if(w)w.forEach((e,t)=>k.push({fence:e,source:o[t]}));else if(S.length===o.length&&S.every((e,t)=>e.body===o[t].text))S.forEach((e,t)=>k.push({fence:e,source:o[t]}));else{let e=0;for(let t of o)for(let n=e;n<S.length;n++)if(S[n].body===t.text){k.push({fence:S[n],source:t}),e=n+1;break}}let T=y(S.map(e=>({start:e.fenceStart,end:e.fenceEnd}))),A=y(o.map(e=>({start:e.domStart,end:e.domEnd}))),j=[],M=0,R=0;for(let e of[...k.map(e=>({rawStart:e.fence.fenceStart,rawEnd:e.fence.fenceEnd,domStart:e.source.domStart,domEnd:e.source.domEnd})),{rawStart:1/0,rawEnd:0,domStart:1/0,domEnd:0}])j.push({raw:b(x(l,M,e.rawStart),T),dom:b(x(r,R,e.domStart),A),rawFrom:M,rawTo:e.rawStart}),M=e.rawEnd,R=e.domEnd;return{raw:l,fences:S,pairs:k,gaps:j}}),A=n.toLowerCase(),j=N.toLowerCase();return l.map(e=>{let t=e.end-e.start,n=T.find(t=>E(t.raw,e.start));if(!n)return null;let l=n.fences.find(t=>e.start>=t.fenceStart&&e.start<t.fenceEnd);if(l){let r=n.pairs.find(e=>e.fence===l);if(!r)return null;let i=l.lines.find(t=>e.start>=t.rawStart&&e.start<t.rawStart+t.length);if(!i)return null;let a=r.source.domStart+i.bodyOffset+(e.start-i.rawStart);return{start:a,end:Math.min(a+t,r.source.domEnd)}}let r=n.gaps.find(t=>e.start>=t.rawFrom&&e.start<t.rawTo);if(!r)return null;let i=A.slice(e.start,e.end),a=w(A,r.raw,i).indexOf(e.start),o=w(j,r.dom,i);return -1===a||a>=o.length?null:{start:o[a],end:o[a]+t}})}(e,t,n,l,o);if(!p)return u();let N=u();if(!N)return p;let C=Array.from(e.querySelectorAll("[".concat(r,"]"))).flatMap(e=>{let n=t.filter(t=>e.contains(t.node));return n.length>0?[{start:n[0].start,end:n[n.length-1].end}]:[]}),O=e=>C.some(t=>e.start<t.end&&e.end>t.start);return p.map((e,t)=>{if(e&&O(e))return e;let n=N[t];return n&&!O(n)?n:null})}(e,O,u.sourceText,t,null!=(p=u.sections)?p:[]):null)?N:t).map(e=>e?function(e,t,n){let l=document.createRange(),r=!1;for(let{node:i,start:a,end:o}of e)if(!r&&t<o&&t>=a&&(l.setStart(i,t-a),r=!0),r&&n<=o)return l.setEnd(i,n-a),l;return r?l:null}(O,e.start,e.end):null);I.forEach(t=>{t&&function(e,t){let n=e.startContainer,l=n.nodeType===Node.TEXT_NODE?n.parentElement:n,i=null==l?void 0:l.closest("details");i instanceof HTMLDetailsElement&&!i.open&&t.contains(i)&&i.querySelector("[".concat(r,"]"))&&(i.open=!0)}(t,e)});let T=null!=(C=I[n])?C:null,j=[];I.forEach((e,t)=>{t!==n&&e&&j.push(e)});let M=L.get(o.highlightName);if(M||(M=new Map,L.set(o.highlightName,M)),M.set(e,j),P(o,M,e),n>=0?function(e,t,n){let l=document.getElementById(n.fallbackOverlayId);if(l&&l.parentElement!==e&&(l.remove(),l=null),!t||"function"!=typeof t.getBoundingClientRect){null==l||l.remove();return}let r=t.getBoundingClientRect(),i=e.getBoundingClientRect();l?l.style.backgroundColor=n.fallbackOverlayBgColor:((l=document.createElement("div")).id=n.fallbackOverlayId,l.style.position="absolute",l.style.backgroundColor=n.fallbackOverlayBgColor,l.style.borderRadius="2px",l.style.pointerEvents="none",l.style.zIndex="5",e instanceof HTMLElement&&(e.style.position="relative"),e.appendChild(l)),l.style.top="".concat(r.top-i.top+e.scrollTop,"px"),l.style.left="".concat(r.left-i.left+e.scrollLeft,"px"),l.style.width="".concat(r.width,"px"),l.style.height="".concat(r.height,"px")}(e,T,o):Z(e,o),T){let e=T.startContainer,t=e.nodeType===Node.TEXT_NODE?e.parentElement:e;t&&"function"==typeof t.scrollIntoView&&t.scrollIntoView({block:"center",behavior:"smooth"})}}function P(e,t,n){if(V(t,n),!z())return;let l=Array.from(t.values()).flat();CSS.highlights.set(e.highlightName,new Highlight(...l)),CSS.highlights.delete(e.currentHighlightName)}function V(e,t){for(let n of Array.from(e.keys()))n===t||n.isConnected||e.delete(n)}function Z(e,t){let n=document.getElementById(t.fallbackOverlayId);n&&e.contains(n)&&n.remove()}function $(){q(F)}function G(e,t,n){X(e,t,n,F)}function U(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:H;q(e)}function J(e,t,n){let l=arguments.length>3&&void 0!==arguments[3]?arguments[3]:H,r=arguments.length>4?arguments[4]:void 0;X(e,t,n,l,r)}},11620:(e,t,n)=>{n.d(t,{D:()=>i,c:()=>r});var l=n(12115);function r(e){return!!e&&e.split(" ").includes("language-mermaid")}function i(e){let t=l.Children.toArray(e)[0];if(!l.isValidElement(t))return!1;let n=t.props.className;return r("string"==typeof n?n:void 0)}},32388:(e,t,n)=>{n.d(t,{AY:()=>p});var l=n(95155),r=n(12115),i=n(67909),a=n(18955),o=n(3005),u=n(4471),s=n(11620),d=n(63453);let f=(0,i.default)(()=>Promise.all([n.e(221),n.e(1111),n.e(953)]).then(n.bind(n,90953)).then(e=>({default:e.MermaidDiagram})),{loadableGenerated:{webpack:()=>[90953]},ssr:!1,loading:function(){let e=(0,a.c)("worktree");return(0,l.jsxs)("div",{className:"mermaid-loading flex items-center gap-2 text-muted-foreground p-4",children:[(0,l.jsx)(o.y,{size:"sm"}),(0,l.jsx)("span",{children:e("mermaid.loading")})]})}}),c={[u.Zq]:"true"},h={[u.i5]:"true"};function g(e){let{code:t,node:n}=e,i=(0,a.c)("worktree"),[o,s]=(0,r.useState)(!1),g=(0,r.useRef)(null),p=(0,r.useCallback)(e=>{var t;s("error"===e),null==(t=g.current)||t.dispatchEvent(new CustomEvent(u.Rb,{bubbles:!0}))},[]),m=t.endsWith("\n")?t.slice(0,-1):t,v=(0,r.useContext)(d.E),y=function(e){var t,n;let l=null==e?void 0:e.position,r=null==l||null==(t=l.start)?void 0:t.offset,i=null==l||null==(n=l.end)?void 0:n.offset;return"number"==typeof r&&"number"==typeof i?{start:r,end:i}:null}(n),b=y&&v?v(y.start):null,x=y&&v?v(y.end):null,w=null!==b&&null!==x&&x>b?{[u.i4]:String(b),[u.tz]:String(x)}:{};return(0,l.jsxs)("div",{ref:g,"data-testid":"mermaid-block-frame",className:"mermaid-block",children:[(0,l.jsx)("div",{...c,className:"mermaid-figure",children:(0,l.jsx)(f,{code:t,onRenderStateChange:p})}),(0,l.jsxs)("details",{"data-testid":"mermaid-source",className:"mermaid-source",open:o||void 0,children:[(0,l.jsx)("summary",{...c,children:i("mermaid.source")}),(0,l.jsx)("pre",{children:(0,l.jsx)("code",{...h,...w,children:m})})]})]})}function p(e){let{className:t,children:n,node:r}=e;if((0,s.c)(t)){let e=null==n?"":"string"==typeof n?n:Array.isArray(n)?n.map(e=>"string"==typeof e?e:"").join(""):String(n);return(0,l.jsx)(g,{code:e,node:r})}return(0,l.jsx)("code",{className:t,children:n})}},38152:(e,t,n)=>{n.d(t,{Ad:()=>i,Wo:()=>l,v5:()=>a});let l=e=>e,r=/^[ \t>]*$/;function i(e,t,n){if(e===t)return l;let i=[],a=0;for(let e of t.split("\n"))(!n||n.some(e=>a>=e.start&&a<e.end))&&i.push({start:a,text:e}),a+=e.length+1;let o=[],u=[],s=0,d=0;for(let t of e.split("\n")){let e=-1;for(let n=s;n<i.length;n++){let l=i[n].text;if(l.endsWith(t)&&r.test(l.slice(0,l.length-t.length))){e=n;break}}if(-1===e)return null;o.push(d),u.push(i[e].start+i[e].text.length-t.length),d+=t.length+1,s=e+1}return t=>{if(t<0||t>e.length)return null;let n=0,l=o.length-1;for(;n<l;){let e=n+l+1>>1;o[e]<=t?n=e:l=e-1}return u[n]+(t-o[n])}}function a(e,t){if(t.map(e=>e.text).join("\n")!==e)return null;if(0===t.length)return()=>null;let n=[],l=0;for(let e of t)n.push(l),l+=e.text.length+1;return l=>{if(l<0||l>e.length)return null;let r=0,i=n.length-1;for(;r<i;){let e=r+i+1>>1;n[e]<=l?r=e:i=e-1}let a=t[r].rawStart;return null===a?null:a+(l-n[r])}}},60322:(e,t,n)=>{n.d(t,{l:()=>r});let l=/\x1b\[[0-9;]*[a-zA-Z]|\x1b\][^\x07]*\x07|\[[0-9;]*m/g;async function r(e){var t;if(!e||0===e.trim().length)return;let n=e.replace(l,"");if(null==(t=navigator.clipboard)?void 0:t.writeText)try{await navigator.clipboard.writeText(n);return}catch(e){}let r=document.createElement("textarea");r.value=n,r.style.position="fixed",r.style.left="-9999px",r.style.top="-9999px",r.style.opacity="0",document.body.appendChild(r),r.focus(),r.select();try{document.execCommand("copy")}finally{document.body.removeChild(r)}}},63453:(e,t,n)=>{n.d(t,{E:()=>i});var l=n(12115),r=n(4471);let i=(0,l.createContext)(r.Wo)},99112:(e,t,n)=>{n.d(t,{eT:()=>s});var l=n(22133);let r=["**","__"],i=/^https?:\/\/./i;function a(e){return"object"==typeof e&&null!==e&&"string"==typeof e.type}function o(e,t){var n,l;let r=e.position;if(!r)return null;let i=null==(n=r.start)?void 0:n.offset,a=null==(l=r.end)?void 0:l.offset;return"number"!=typeof i||"number"!=typeof a||!Number.isInteger(i)||!Number.isInteger(a)||i<0||a<i||a>t.length?null:{start:i,end:a}}function u(e,t){var n;return{line:e.line,column:e.column+t,offset:(null!=(n=e.offset)?n:0)+t}}let s=Object.freeze([l.A,function(){return function(e,t){let n=function(e){if("string"==typeof e)return e;if("object"==typeof e&&null!==e){let t=e.value;if("string"==typeof t)return t}return null}(t);null!==n&&a(e)&&function e(t,n){let l=Array.isArray(t.children)?t:null;if(l)for(let t of(!function(e,t){let n=e.children;for(let e=0;e<n.length;e+=1){var l,s,d,f,c,h,g;let p=n[e];if(!a(p)||!function(e,t){if("link"!==e.type||null!==e.title&&void 0!==e.title)return!1;let n=e.url;if("string"!=typeof n||!i.test(n))return!1;let l=o(e,t);if(!l||t.slice(l.start,l.end)!==n)return!1;let r=e.children;if(!Array.isArray(r)||1!==r.length)return!1;let u=r[0];if(!a(u)||"text"!==u.type||u.value!==n)return!1;let s=o(u,t);return null!==s&&s.start===l.start&&s.end===l.end}(p,t))continue;let m=function(e){let t=function(e){for(let t=0;t<e.length;t+=1)if("()、。「」【】".includes(e[t]))return t;return -1}(e);if(t<=0)return null;let n=e.slice(0,t),l=r.find(e=>n.endsWith(e)),a=l?t-l.length:t;if(a<=0)return null;let o=e.slice(0,a);return i.test(o)?{keptUrl:o,tailText:e.slice(a),tailOffset:a,delimiter:null!=l?l:null}:null}(p.url);if(!m)continue;let v=o(p,t),y=null==(l=p.position)?void 0:l.start,b=null==(s=p.position)?void 0:s.end;if(!v||!y||!b)continue;let x=null!==m.delimiter&&function(e,t,n,l){if(!e||"text"!==e.type||"string"!=typeof e.value||!e.value.endsWith(t))return!1;let r=o(e,l);if(!r||r.end!==n)return!1;let i=l.slice(r.start,r.end);if(!i.endsWith(t))return!1;let a=i.length-t.length-1;return a<0||"\\"!==i[a]}(n[e-1],m.delimiter,v.start,t),w=x?m.tailText.slice(null!=(h=null==(d=m.delimiter)?void 0:d.length)?h:0):m.tailText,E=x?m.tailOffset+(null!=(g=null==(f=m.delimiter)?void 0:f.length)?g:0):m.tailOffset,S=u(y,m.keptUrl.length);p.url=m.keptUrl;let N=null==(c=p.children)?void 0:c[0];N&&(N.value=m.keptUrl,N.position={start:{...y},end:{...S}}),p.position={start:{...y},end:S};let k={type:"text",value:w,position:{start:u(y,E),end:{...b}}};if(x&&m.delimiter){let t=n[e-1],l=u(y,-m.delimiter.length),r={type:"strong",children:[p],position:{start:l,end:u(y,E)}},i=t.value.slice(0,-m.delimiter.length);0===i.length?(n.splice(e-1,1),e-=1):(t.value=i,t.position&&(t.position={...t.position,end:l})),n[e]=r}n.splice(e+1,0,k),e+=1}}(l,n),l.children))a(t)&&e(t,n)}(e,n)}}])}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[5794],{12906:(e,t,n)=>{n.d(t,{Iz:()=>P,W2:()=>I,gM:()=>N,oW:()=>_,vP:()=>D,zX:()=>R});var r=n(95155),a=n(12115),i=n(47650),s=n(20063),o=n(18955),l=n(37772),c=n(32916),u=n(39649),d=n(22592),m=n(89275),p=n(46615),f=n(86815),h=n(17848),x=n(48481),b=n(98873),g=n(38606),w=n(7636),v=n(76471),y=n(46892),k=n(59854),j=n(77873);function N(e){var t,n,r;return!!(null!=(r=null==(t=e.closest)?void 0:t.call(e,"[data-repository-tab-panel]"))?r:null==(n=e.closest)?void 0:n.call(e,"[".concat(f.K,"]")))}function S(e,t,n){let r=n-8-t;return r<=8?8:Math.min(Math.max(e.left+t>n-8?e.right-t:e.left,8),r)}function E(e,t,n){return Math.max(0,Math.min(t,Math.floor(n-8-(e+4)-2)))}function C(){let[e,t]=(0,a.useState)(()=>window.innerHeight);return(0,a.useEffect)(()=>{let e=()=>t(window.innerHeight);return e(),window.addEventListener("resize",e),()=>window.removeEventListener("resize",e)},[]),e}let M="commandmate:repository-branch-list-open";function T(e){"undefined"!=typeof document&&document.dispatchEvent(new CustomEvent(M,{detail:e}))}function I(e,t){let n=(0,a.useId)();(0,a.useEffect)(()=>{e&&T(n)},[e,n]),(0,a.useEffect)(()=>{if(!e||"undefined"==typeof document)return;let r=e=>{e.detail!==n&&t()};return document.addEventListener(M,r),()=>document.removeEventListener(M,r)},[e,n,t])}function R(){let{selectWorktree:e}=(0,u.$f)(),t=(0,m.Hq)();return(0,a.useCallback)(n=>{T(null),e(n),t.push("/worktrees/".concat(n))},[e,t])}function O(e){var t;null==e||null==(t=e.scrollIntoView)||t.call(e,{block:"nearest",inline:"nearest"})}function P(e){let{worktrees:t,repositories:n,sortKey:r,sortDirection:i,repositoryOrder:s}=e,o=(0,a.useMemo)(()=>(0,w.UZ)(null!=n?n:[]),[n]),l=(0,a.useMemo)(()=>(0,w.s6)(null!=t?t:[],o),[t,o]),c=(0,a.useMemo)(()=>l.map(g.XK),[l]),{groupedItems:u}=(0,b.D)({items:c,sortKey:r,sortDirection:i,viewMode:"grouped"});return(0,a.useMemo)(()=>(0,w.Ew)(u,s),[u,s])}let D=(0,a.memo)(function(){var e;let t=(0,o.c)("common"),n=(0,s.usePathname)(),i=R(),{sortKey:m,sortDirection:p,repositoryOrder:f}=(0,c.VF)(),{worktrees:h,repositories:x,selectedWorktreeId:b}=(0,u.$f)(),{factor:g}=(0,d.Ps)(),v=P({worktrees:h,repositories:x,sortKey:m,sortDirection:p,repositoryOrder:f}),y=(0,w.jn)(n,b),k=(0,a.useMemo)(()=>{var e,t;return null!=(t=null==(e=v.find(e=>e.branches.some(e=>e.id===y)))?void 0:e.repositoryName)?t:null},[v,y]),[S,E]=(0,a.useState)(null),[C,M]=(0,a.useState)(null),[T,D]=(0,a.useState)(!1),B=(0,a.useRef)(null),z=(0,a.useRef)(null),K=(0,a.useRef)(new Map),W=(0,a.useCallback)((e,t)=>{t?K.current.set(e,t):K.current.delete(e)},[]),V=(0,a.useCallback)(()=>{E(null),M(null),D(!1)},[]),F=(0,a.useCallback)(e=>{let t=K.current.get(e);if(!t)return;let n=t.getBoundingClientRect();M({left:n.left,right:n.right,bottom:n.bottom}),E(e),D(!1)},[]),H=(0,a.useCallback)(e=>{if(S===e)return void V();F(e)},[S,V,F]),[G,q]=(0,a.useState)(!1),[U,Y]=(0,a.useState)(0),J=(0,a.useCallback)(()=>{let e=B.current;e&&(q(e.scrollWidth>e.clientWidth+1),Y(e.clientWidth))},[]);(0,a.useLayoutEffect)(()=>{J()},[J,v.length,g]),(0,a.useEffect)(()=>(window.addEventListener("resize",J),()=>window.removeEventListener("resize",J)),[J]);let X=(0,a.useRef)(null),Z=(0,a.useCallback)(e=>{var t;if(B.current=e,null==(t=X.current)||t.disconnect(),X.current=null,!e||"undefined"==typeof ResizeObserver)return;let n=new ResizeObserver(()=>J());n.observe(e),X.current=n},[J]),$=null!==S||T;I($,V),(0,a.useEffect)(()=>{if(!$)return;let e=e=>{var t,n;let r=e.target;!(!r||(null==(t=B.current)?void 0:t.contains(r))||(null==(n=z.current)?void 0:n.contains(r)))&&(N(r)||V())},t=e=>{if(!(0,j.V$)(e))return;let t=S?K.current.get(S):z.current;V(),null==t||t.focus()};return document.addEventListener("mousedown",e),document.addEventListener("keydown",t),()=>{document.removeEventListener("mousedown",e),document.removeEventListener("keydown",t)}},[$,S,V]),(0,a.useEffect)(()=>{V()},[n,V]),(0,a.useLayoutEffect)(()=>{k&&O(K.current.get(k))},[k,n,G,U]);let Q=(0,a.useCallback)(e=>{V(),i(e)},[V,i]),ee=(0,a.useCallback)(e=>{let t=K.current.get(e);O(t),F(e),null==t||t.focus()},[F]),et=(0,a.useCallback)(e=>{var t;let n=e.currentTarget,r=(t=n.clientWidth,e.ctrlKey||e.shiftKey||Math.abs(e.deltaY)<=Math.abs(e.deltaX)?0:1===e.deltaMode?40*e.deltaY:2===e.deltaMode?e.deltaY*t:e.deltaY);0!==r&&(n.scrollLeft+=r)},[]);if(0===v.length)return null;let en=Math.round(32*g),er=null!=(e=v.find(e=>e.repositoryName===S))?e:null;return(0,r.jsxs)("div",{"data-testid":"repository-tab-bar",className:"relative flex-shrink-0 flex items-stretch border-b border-border bg-sidebar text-sidebar-foreground",style:{height:"".concat(en,"px")},children:[(0,r.jsx)("nav",{ref:Z,"data-testid":"repository-tab-strip","aria-label":t("nav.repositories"),onWheel:et,className:"flex min-w-0 flex-1 flex-nowrap items-stretch overflow-x-auto overflow-y-hidden scrollbar-hide",children:v.map(e=>(0,r.jsx)(L,{group:e,isActive:e.repositoryName===k,isOpen:e.repositoryName===S,registerTab:W,onToggle:H},e.repositoryName))}),G&&(0,r.jsx)("button",{ref:z,type:"button","data-testid":"repository-tab-overflow","aria-haspopup":"menu","aria-expanded":T,"aria-label":t("repoTabBar.overflow"),title:t("repoTabBar.overflow"),onClick:()=>{E(null),M(null),D(e=>!e)},className:"flex-shrink-0 flex items-center border-l border-sidebar-border px-2 text-sidebar-muted transition-colors hover:bg-sidebar-hover hover:text-sidebar-foreground focus:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-ring",children:(0,r.jsx)(l.A,{size:16,strokeWidth:2,"aria-hidden":"true"})}),er&&C&&(0,r.jsx)(_,{group:er,anchor:C,factor:g,activeWorktreeId:y,onBranchClick:Q}),T&&(0,r.jsx)(A,{groups:v,anchorRef:z,activeRepositoryName:k,onSelect:ee})]})}),L=(0,a.memo)(function(e){let{group:t,isActive:n,isOpen:a,registerTab:i,onToggle:s}=e,l=(0,o.c)("common"),c=(0,w.zD)(t.branches),u=(0,v.Mq)(c,(0,w.El)(t.branches)),d=(0,w.j)(t.branches),m=l(u?v.rH:y.PL[c].labelKey);return(0,r.jsx)("button",{ref:e=>i(t.repositoryName,e),type:"button","data-testid":"repository-tab","data-repository":t.repositoryName,"aria-haspopup":"menu","aria-expanded":a,"aria-current":n?"true":void 0,title:"".concat(t.repositoryName," — ").concat(m),onClick:()=>s(t.repositoryName),onKeyDown:e=>{"ArrowDown"===e.key&&(e.preventDefault(),a||s(t.repositoryName))},className:"group/tab flex-shrink-0 flex max-w-[14rem] items-stretch px-0.5 py-1 text-xs font-medium focus:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-ring",children:(0,r.jsxs)("span",{"data-testid":"repository-tab-chip",className:"flex min-w-0 items-center gap-1.5 rounded-md px-2 transition-colors ".concat(n?"bg-background text-foreground shadow-sm":"text-sidebar-muted group-hover/tab:bg-sidebar-hover group-hover/tab:text-sidebar-foreground"),children:[(0,r.jsx)(h.n,{className:"h-3.5 w-3.5",color:(0,w.LV)(t.repositoryName)}),(0,r.jsx)("span",{className:"min-w-0 truncate",children:t.repositoryName}),(0,r.jsx)(x.m,{status:c,size:"sm",label:m,className:u?v.Jd:void 0,"data-testid":"repository-tab-status"}),d>0&&(0,r.jsx)("span",{"data-testid":"repository-tab-attention-count","aria-label":l("attention.badgeLabel",{count:d}),className:"flex-shrink-0 rounded-full bg-warning-subtle px-1.5 text-[10px] font-semibold leading-4 tabular-nums text-warning-foreground",children:d})]})})});function _(e){let{group:t,anchor:n,factor:s,activeWorktreeId:l,onBranchClick:c}=e,u=(0,o.c)("common"),d=(0,a.useRef)(null),m=C();if((0,a.useEffect)(()=>{var e;let t=null==(e=d.current)?void 0:e.querySelector("button");null==t||t.focus()},[t.repositoryName]),"undefined"==typeof document)return null;let f=Math.round(300*s),h=window.innerWidth;return i.createPortal((0,r.jsx)("div",{ref:d,"data-repository-tab-panel":"","data-testid":"repository-tab-popover","data-repository":t.repositoryName,role:"menu","aria-label":u("sidebar.branchNavigation"),className:"fixed rounded-md border border-sidebar-border bg-sidebar text-sidebar-foreground shadow-lg",style:{top:n.bottom+4,left:S(n,f,h),width:f,zIndex:k.M.POPOVER},children:(0,r.jsx)("div",{"data-testid":"repository-tab-popover-list",className:"overflow-y-auto overflow-x-hidden py-1",style:{maxHeight:"".concat(E(n.bottom,Math.round(520*s),m),"px")},children:0===t.branches.length?(0,r.jsx)("p",{className:"px-4 py-6 text-center text-sm text-sidebar-muted",children:u("sidebar.noBranchesAvailable")}):t.branches.map(e=>(0,r.jsx)(p.yP,{branch:e,isSelected:e.id===l,onClick:()=>c(e.id),showRepositoryName:!1},e.id))})}),document.body)}function A(e){var t;let{groups:n,anchorRef:a,activeRepositoryName:s,onSelect:l}=e,c=(0,o.c)("common"),u=C(),d=null==(t=a.current)?void 0:t.getBoundingClientRect();if("undefined"==typeof document||!d)return null;let m=window.innerWidth;return i.createPortal((0,r.jsx)("div",{"data-repository-tab-panel":"","data-testid":"repository-tab-overflow-menu",role:"menu","aria-label":c("nav.repositories"),className:"fixed rounded-md border border-sidebar-border bg-sidebar text-sidebar-foreground shadow-lg",style:{top:d.bottom+4,left:S({left:d.left,right:d.right,bottom:d.bottom},300,m),width:300,zIndex:k.M.POPOVER},children:(0,r.jsx)("div",{"data-testid":"repository-tab-overflow-list",className:"overflow-y-auto py-1",style:{maxHeight:"".concat(E(d.bottom,520,u),"px")},children:n.map(e=>{let t=(0,w.zD)(e.branches),n=(0,v.Mq)(t,(0,w.El)(e.branches));return(0,r.jsxs)("button",{type:"button",role:"menuitem","data-testid":"repository-tab-overflow-item","data-repository":e.repositoryName,"aria-current":e.repositoryName===s?"true":void 0,onClick:()=>l(e.repositoryName),className:"flex w-full items-center gap-2 px-3 py-2 text-left text-sm transition-colors hover:bg-sidebar-hover focus:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-ring",children:[(0,r.jsx)(h.n,{className:"h-3.5 w-3.5",color:(0,w.LV)(e.repositoryName)}),(0,r.jsx)("span",{className:"min-w-0 flex-1 truncate",children:e.repositoryName}),(0,r.jsx)(x.m,{status:t,size:"sm",label:c(n?v.rH:y.PL[t].labelKey),className:n?v.Jd:void 0}),(0,r.jsx)("span",{className:"tabular-nums text-xs text-sidebar-muted",children:e.branches.length})]},e.repositoryName)})})}),document.body)}},18848:(e,t,n)=>{n.d(t,{Bz:()=>i,kj:()=>a,wx:()=>r}),n(95704);let r=["send","wait","capture","respond"];function a(e){let{binary:t,worktreeId:n,instanceId:r,messagePlaceholder:a}=e,i=null!=e.portPrefix&&3e3!==e.portPrefix?"CM_PORT=".concat(e.portPrefix," "):"",s="--instance ".concat(r),o="".concat(i).concat(t);return{send:"".concat(o," send ").concat(n,' "').concat(a,'" ').concat(s),wait:"".concat(o," wait ").concat(n," ").concat(s," --on-prompt human"),capture:"".concat(o," capture ").concat(n," ").concat(s),respond:"".concat(o," respond ").concat(n,' "').concat("1",'" ').concat(s)}}function i(e){let{binary:t,worktreeId:n,instanceId:r,instanceLabel:a,toolLabel:i}=e,s=null!=e.portPrefix&&3e3!==e.portPrefix?"CM_PORT=".concat(e.portPrefix," "):"",o="".concat(s).concat(t),l="--instance ".concat(r),c="ja"===e.locale?"ja":"en",u="".concat(o," capture ").concat(n," ").concat(l," --pane --tail ").concat(60),d="".concat(o," ask ").concat(n," ").concat(l,' "<request>" --async');if("ja"===c){let e="".concat(o," ask ").concat(n," ").concat(l,' "<依頼文>" --timeout ').concat(1800);return["## 別セッション「".concat(a,"」への委任"),"- 宛先: worktree `".concat(n,"` / instance `").concat(r,"`(").concat(i,")"),"- 依頼: ".concat(e)," - exit 0: 標準出力が返答本文\n - exit 10: 相手が確認待ち。標準出力のprompt JSONを私に報告して止まる(自分で答えない)\n - exit 124: タイムアウト。captureで状況を見て報告","- 待たない依頼: ".concat(d)," - 即座に relay id を返して exit 0。完了時に `[from ...]` 付きで返答が私のコンポーザーに届く"," - 状況確認: ".concat(o," relays / 取り消し: ").concat(o," relays cancel <relay-id>"),"- 進捗確認: ".concat(u),"- 禁止: respondで相手のプロンプトに答える / auto-yesを有効化する"].join("\n")}let m="".concat(o," ask ").concat(n," ").concat(l,' "<request>" --timeout ').concat(1800);return['## Delegating to session "'.concat(a,'"'),"- Target: worktree `".concat(n,"` / instance `").concat(r,"` (").concat(i,")"),"- Ask: ".concat(m)," - exit 0: stdout is the reply body\n - exit 10: they are waiting on a confirmation. Report the prompt JSON on stdout back to me and stop (do not answer it yourself)\n - exit 124: timed out. Look with capture and report what you see","- Ask without waiting: ".concat(d)," - exits 0 with a relay id on stdout; the reply lands in my composer prefixed `[from ...]` when the turn ends"," - Outstanding: ".concat(o," relays / withdraw: ").concat(o," relays cancel <relay-id>"),"- Progress: ".concat(u),"- Do not: answer their prompt with respond / turn auto-yes on"].join("\n")}},22592:(e,t,n)=>{n.d(t,{Ps:()=>d,W5:()=>u});var r=n(95155),a=n(12115),i=n(38218),s=n(68704);let o="data-pc-size",l={size:s.r5,setSize:()=>{},isMobile:!1,factor:s.d8[s.r5].factor,isAvailable:!1},c=(0,a.createContext)(l);function u(e){let{children:t}=e,{size:n,setSize:l,isAvailable:u}=(0,s.of)(),d=(0,i.a)();(0,a.useEffect)(()=>{if("undefined"==typeof document)return;let e=document.documentElement;return d?void e.removeAttribute(o):(e.setAttribute(o,n),()=>{e.removeAttribute(o)})},[n,d]);let m=(0,a.useMemo)(()=>({size:n,setSize:l,isMobile:d,factor:s.d8[n].factor,isAvailable:u}),[n,l,d,u]);return(0,r.jsx)(c.Provider,{value:m,children:t})}function d(){return(0,a.useContext)(c)}},26020:(e,t,n)=>{n.d(t,{Xn:()=>a,d9:()=>o,dI:()=>r,gB:()=>i,vK:()=>s});let r=["en","ja"],a="en",i="locale",s={en:"English",ja:"日本語"};function o(e){return"string"==typeof e&&r.includes(e)}},30061:(e,t,n)=>{n.d(t,{nR:()=>s});var r=n(95155),a=n(12115),i=n(47650);function s(e){let{content:t,delay:n=200,className:s,children:o,metadata:l}=e,c=(0,a.useRef)(null),u=(0,a.useRef)(null),d=(0,a.useRef)(null),m=(0,a.useRef)(null),[p,f]=(0,a.useState)(!1),[h,x]=(0,a.useState)({top:-9999,left:-9999}),b=(0,a.useCallback)(()=>{null!==d.current&&(clearTimeout(d.current),d.current=null)},[]),g=(0,a.useCallback)(()=>{let e=c.current;e&&(e.scrollWidth>e.clientWidth||l)&&(b(),d.current=setTimeout(()=>{let t=e.getBoundingClientRect(),n=Math.max(4,window.innerWidth-384-4);m.current={top:t.top,bottom:t.bottom},x({top:t.bottom+4,left:Math.min(t.left,n)}),f(!0),d.current=null},n))},[b,n,l]);(0,a.useLayoutEffect)(()=>{if(!p)return;let e=u.current,t=m.current;if(!e||!t)return;let{height:n}=e.getBoundingClientRect();if(n<=0)return;let r=window.innerHeight;if(t.bottom+4+n+4<=r)return;let a=t.top-4-n,i=a>=4?a:Math.max(4,r-n-4);x(e=>e.top===i?e:{...e,top:i})},[p]);let w=(0,a.useCallback)(()=>{b(),f(!1)},[b]);return(0,a.useEffect)(()=>()=>b(),[b]),(0,r.jsxs)("span",{ref:c,className:s,onMouseEnter:g,onMouseLeave:w,children:[null!=o?o:t,p&&"undefined"!=typeof document&&(0,i.createPortal)((0,r.jsxs)("span",{ref:u,role:"tooltip","aria-hidden":"true",className:"fixed z-[9999] max-w-md px-2 py-1 text-xs font-medium rounded bg-foreground text-background shadow-lg pointer-events-none",style:{top:h.top,left:h.left},children:[(0,r.jsx)("span",{className:"block break-all",children:t}),l&&(0,r.jsx)("span",{className:"mt-0.5 block whitespace-pre-line font-normal text-background/70",children:l})]}),document.body)]})}},32916:(e,t,n)=>{n.d(t,{GB:()=>m,P0:()=>s,RA:()=>o,VF:()=>p,e8:()=>l,pT:()=>f});var r=n(95155),a=n(12115),i=n(7636);let s="updatedAt",o="desc",l="grouped",c=(0,a.createContext)(null);function u(e,t,n,r){let i=(0,a.useRef)(!0);(0,a.useEffect)(()=>{try{let t=localStorage.getItem(e);t&&r(t)}catch(e){}},[]),(0,a.useEffect)(()=>{if(i.current){i.current=!1;return}try{localStorage.setItem(e,n())}catch(e){}},[t])}function d(e,t){switch(t.type){case"TOGGLE":return{...e,isOpen:!e.isOpen};case"SET_WIDTH":return{...e,width:t.width};case"OPEN_MOBILE_DRAWER":return{...e,isMobileDrawerOpen:!0};case"CLOSE_MOBILE_DRAWER":return{...e,isMobileDrawerOpen:!1};case"SET_SORT_KEY":return{...e,sortKey:t.sortKey};case"SET_SORT_DIRECTION":return{...e,sortDirection:t.sortDirection};case"LOAD_SORT_SETTINGS":return{...e,sortKey:t.sortKey,sortDirection:t.sortDirection};case"SET_VIEW_MODE":return{...e,viewMode:t.viewMode};case"SET_OPEN":return e.isOpen===t.isOpen?e:{...e,isOpen:t.isOpen};case"SET_REPOSITORY_ORDER":return{...e,repositoryOrder:t.repositoryOrder};case"SET_REPO_TAB_BAR_MODE":return{...e,repoTabBarMode:t.repoTabBarMode};default:return e}}function m(e){let{children:t,initialOpen:n=!0,initialWidth:m=224}=e,[p,f]=(0,a.useReducer)(d,{isOpen:n,width:m,isMobileDrawerOpen:!1,sortKey:s,sortDirection:o,viewMode:l,repositoryOrder:(0,i.ZD)(),repoTabBarMode:i.PB});u("mcbd-sidebar-sort","".concat(p.sortKey,":").concat(p.sortDirection),()=>JSON.stringify({sortKey:p.sortKey,sortDirection:p.sortDirection}),e=>{try{let t=JSON.parse(e),n=t.sortDirection,r=(0,i.Si)(t.sortKey)?t.sortKey:s;r&&("asc"===n||"desc"===n)&&f({type:"LOAD_SORT_SETTINGS",sortKey:r,sortDirection:n})}catch(e){}}),u("mcbd-sidebar-view-mode",p.viewMode,()=>p.viewMode,e=>{(0,i.$m)(e)&&f({type:"SET_VIEW_MODE",viewMode:e})}),u("mcbd-sidebar-width",p.width,()=>String(p.width),e=>{let t=Number(e);!isNaN(t)&&t>0&&f({type:"SET_WIDTH",width:288===t?224:t})}),u("mcbd-sidebar-open",p.isOpen,()=>String(p.isOpen),e=>{("true"===e||"false"===e)&&f({type:"SET_OPEN",isOpen:"true"===e})}),u("mcbd-repo-tab-bar-mode",p.repoTabBarMode,()=>p.repoTabBarMode,e=>{(0,i.m3)(e)&&f({type:"SET_REPO_TAB_BAR_MODE",repoTabBarMode:e})});let h=(0,a.useCallback)(()=>{f({type:"TOGGLE"})},[]),x=(0,a.useCallback)(e=>{f({type:"SET_WIDTH",width:e})},[]),b=(0,a.useCallback)(()=>{f({type:"OPEN_MOBILE_DRAWER"})},[]),g=(0,a.useCallback)(()=>{f({type:"CLOSE_MOBILE_DRAWER"})},[]),w=(0,a.useCallback)(e=>{f({type:"SET_SORT_KEY",sortKey:e})},[]),v=(0,a.useCallback)(e=>{f({type:"SET_SORT_DIRECTION",sortDirection:e})},[]),y=(0,a.useCallback)(e=>{f({type:"SET_VIEW_MODE",viewMode:e})},[]),k=(0,a.useCallback)(e=>{f({type:"SET_REPOSITORY_ORDER",repositoryOrder:e}),(0,i.ZC)(e)},[]),j=(0,a.useCallback)(e=>{f({type:"SET_REPO_TAB_BAR_MODE",repoTabBarMode:e})},[]),N=(0,a.useMemo)(()=>({isOpen:p.isOpen,width:p.width,isMobileDrawerOpen:p.isMobileDrawerOpen,sortKey:p.sortKey,sortDirection:p.sortDirection,toggle:h,setWidth:x,openMobileDrawer:b,closeMobileDrawer:g,setSortKey:w,setSortDirection:v,viewMode:p.viewMode,setViewMode:y,repositoryOrder:p.repositoryOrder,setRepositoryOrder:k,repoTabBarMode:p.repoTabBarMode,setRepoTabBarMode:j}),[p.isOpen,p.width,p.isMobileDrawerOpen,p.sortKey,p.sortDirection,p.viewMode,p.repositoryOrder,p.repoTabBarMode,h,x,b,g,w,v,y,k,j]);return(0,r.jsx)(c.Provider,{value:N,children:t})}function p(){let e=(0,a.useContext)(c);if(!e)throw Error("useSidebarContext must be used within a SidebarProvider");return e}function f(){return(0,a.useContext)(c)}},41898:(e,t,n)=>{n.d(t,{m_:()=>f});var r=n(95155),a=n(12115),i=n(47650),s=n(77873);function o(e,t,n){return Math.min(Math.max(e,4),Math.max(4,n-t-4))}function l(e,t,n,r){switch(e){case"top":return t.top-n.height-8<4;case"bottom":return t.top+t.height+8+n.height>r.height-4;case"left":return t.left-n.width-8<4;default:return t.left+t.width+8+n.width>r.width-4}}function c(e,t,n){switch(e){case"top":return Math.max(0,t.top-8-4);case"bottom":return Math.max(0,n.height-4-(t.top+t.height+8));case"left":return Math.max(0,t.left-8-4);default:return Math.max(0,n.width-4-(t.left+t.width+8))}}function u(e){return{maxWidth:"".concat(e,"px"),whiteSpace:"normal",overflowWrap:"anywhere"}}let d={maxWidth:"max-width",whiteSpace:"white-space",overflowWrap:"overflow-wrap"};function m(e,t){let n=null===t?null:u(t);for(let[t,r]of Object.entries(d))null===n?e.style.removeProperty(r):e.style.setProperty(r,n[t])}let p={top:-9999,left:-9999};function f(e){let{content:t,placement:n="right",delay:d=100,children:f,className:h,zIndex:x,fallbackPlacement:b}=e,[g,w]=(0,a.useState)(!1),[v,y]=(0,a.useState)(!1),k=g||v,[j,N]=(0,a.useState)(null),[S,E]=(0,a.useState)(null),C=(0,a.useRef)(null),M=(0,a.useRef)(null),T=(0,a.useRef)(null),I=(0,a.useCallback)(()=>{null!==T.current&&(clearTimeout(T.current),T.current=null)},[]),R=(0,a.useCallback)(()=>{I(),T.current=setTimeout(()=>{w(!0),T.current=null},d)},[d,I]),O=(0,a.useCallback)(()=>{I(),w(!1)},[I]),P=(0,a.useCallback)(()=>{y(!0)},[]),D=(0,a.useCallback)(()=>{y(!1)},[]),L=(0,a.useCallback)(()=>{I(),w(!1),y(!1)},[I]),_=(0,a.useCallback)(()=>{let e=C.current,t=M.current;if(!e||!t)return;let r=e.getBoundingClientRect(),a={top:r.top,left:r.left,width:r.width,height:r.height},i={width:window.innerWidth,height:window.innerHeight};m(t,null);let s=t.getBoundingClientRect(),u=function(e,t,n,r,a){let i=e=>"left"===e||"right"===e;if(void 0===a||a===e||!i(e)||!i(a)||!l(e,t,n,r)||!l(a,t,n,r))return null;let s=c(e,t,r),o=c(a,t,r),u=o>s?a:e,d=Math.floor(Math.max(s,o));return d>=80?{placement:u,maxWidth:d}:null}(n,a,{width:s.width,height:s.height},i,b);u&&(m(t,u.maxWidth),s=t.getBoundingClientRect()),E(u?u.maxWidth:null),N(function e(t,n,r,a,i){let s,c;if(void 0!==i&&i!==t&&l(t,n,r,a)&&!l(i,n,r,a))return e(i,n,r,a);let u=n.left+n.width/2-r.width/2,d=n.top+n.height/2-r.height/2;switch(t){case"top":s=n.top-r.height-8,c=u;break;case"bottom":s=n.top+n.height+8,c=u;break;case"left":s=d,c=n.left-r.width-8;break;default:s=d,c=n.left+n.width+8}return{top:o(s,r.height,a.height),left:o(c,r.width,a.width)}}(u?u.placement:n,a,{width:s.width,height:s.height},i,u?void 0:b))},[n,b]);return(0,a.useLayoutEffect)(()=>{if(!k){N(null),E(null);return}return _(),window.addEventListener("resize",_),window.addEventListener("scroll",_,!0),()=>{window.removeEventListener("resize",_),window.removeEventListener("scroll",_,!0)}},[k,_]),(0,a.useEffect)(()=>{if(!k)return;let e=e=>{(0,s.V$)(e)&&L()};return window.addEventListener("keydown",e),()=>{window.removeEventListener("keydown",e)}},[k,L]),(0,a.useEffect)(()=>()=>{I()},[I]),(0,r.jsxs)("span",{ref:C,"data-testid":"tooltip-wrapper",className:h?"relative inline-flex ".concat(h):"relative inline-flex",tabIndex:-1,onMouseEnter:R,onMouseLeave:O,onFocus:P,onBlur:D,children:[f,k&&"undefined"!=typeof document&&(0,i.createPortal)((0,r.jsx)("span",{ref:M,role:"tooltip","aria-hidden":"true","data-placement":n,className:"fixed z-40 whitespace-nowrap px-2 py-1 text-xs font-medium rounded bg-foreground text-background shadow-lg pointer-events-none",style:{...null!=j?j:p,...void 0===x?{}:{zIndex:x},...null===S?{}:u(S)},children:t}),document.body)]})}},45195:(e,t,n)=>{n.d(t,{g:()=>i});var r=n(36809),a=n(26020);function i(){return{currentLocale:(0,r.Ym)(),switchLocale:e=>{if(a.dI.includes(e)){let t="https:"===window.location.protocol;document.cookie="".concat(a.gB,"=").concat(e,";path=/;max-age=").concat(31536e3,";SameSite=Lax").concat(t?";Secure":""),localStorage.setItem("locale",e),window.location.reload()}}}}},45573:(e,t,n)=>{n.d(t,{P0:()=>en,oQ:()=>et,tJ:()=>Z,xk:()=>ee,xq:()=>ea,yW:()=>er});var r=n(95155),a=n(12115),i=n(47650),s=n(20063),o=n(89275),l=n(18955),c=n(36809),u=n(5379),d=n(79698),m=n(66685),p=n(24533),f=n(61362),h=n(95740),x=n(37772),b=n(11010),g=n(59427),w=n(37494),v=n(79451),y=n(89559),k=n(97470),j=n(94684),N=n(76482),S=n(39332),E=n(86651),C=n(18085),M=n(87531),T=n(59854),I=n(92614),R=n(70628),O=n(51743),P=n(22592),D=n(66966),L=n(68704),_=n(45195),A=n(80344),B=n(48481),z=n(76471),K=n(38606),W=n(79651),V=n(46365),F=n(94442),H=n(18848),G=n(54014);let q=[{key:"sessions",href:"/sessions"},{key:"repositories",href:"/repositories"},{key:"review",href:"/review"},{key:"skills",href:"/skills"},{key:"more",href:"/more"}],U={sessions:m.A,repositories:p.A,review:f.A,skills:h.A,more:x.A},Y="cm.palette.recents";function J(e){if(!e||"object"!=typeof e)return!1;let{kind:t,id:n}=e;return("nav"===t||"worktree"===t||"action"===t)&&"string"==typeof n}function X(e){var t;let{worktree:n,className:a}=e,i=(0,l.c)("common"),s=n.isWaitingForResponse?"waiting":n.isProcessing?"running":n.isSessionRunning?"ready":"idle",o=(0,z.Mq)(s,Object.values(null!=(t=n.sessionStatusByCli)?t:{}).some(e=>(0,K.px)(e)));return(0,r.jsx)(B.m,{status:s,size:"sm",label:o?i(z.rH):void 0,className:(0,M.cn)(a,o&&z.Jd),"data-unclassified":o?"true":void 0})}function Z(e){if(!(e instanceof HTMLElement))return!1;let t=e.tagName;return!!("INPUT"===t||"TEXTAREA"===t||"SELECT"===t||e.isContentEditable||e.closest('[role="log"]'))}let $=(0,M.cn)("flex cursor-pointer items-center gap-2 rounded-md px-2 py-2 text-sm","text-foreground","data-[selected=true]:bg-accent-500/15 data-[selected=true]:text-accent-700","dark:data-[selected=true]:text-accent-300"),Q="shrink-0 text-muted-foreground";function ee(){var e;if("undefined"==typeof document)return null;let t=document.querySelector("[data-instance-id]");return(null==t||null==(e=t.getAttribute("data-instance-id"))?void 0:e.trim())||null}function et(e){var t,n;if("undefined"==typeof document)return!1;let r=Array.from(document.querySelectorAll('[data-testid="message-input-textarea"]'));if(0===r.length)return!1;let a=document.activeElement,i=null!=(n=r.find(e=>e===a))?n:r[0],s=i.value,o=""===s.trim()?e:"".concat(s,"\n\n").concat(e),l=null==(t=Object.getOwnPropertyDescriptor(HTMLTextAreaElement.prototype,"value"))?void 0:t.set;return l?l.call(i,o):i.value=o,i.dispatchEvent(new Event("input",{bubbles:!0})),i.focus(),i.setSelectionRange(o.length,o.length),!0}async function en(e,t,n){try{let[r,a]=await Promise.all([fetch("/api/worktrees/".concat(e,"/cli-reference")),fetch("/api/worktrees/".concat(e,"/resolve-target?instance=").concat(encodeURIComponent(t.id)))]);if(!r.ok||!a.ok)return null;let[i,s]=await Promise.all([r.json(),a.json()]);return(0,H.Bz)({binary:i.binary,worktreeId:i.worktreeId,instanceId:s.instanceId,instanceLabel:t.alias,toolLabel:(0,G.oo)(s.cliToolId),portPrefix:i.portPrefix,locale:n})}catch(e){return null}}let er={ja:{heading:"委任 (/delegate)",menuItem:"委任方法をコンポーザーに挿入",inserted:"委任方法をコンポーザーに挿入しました",self:"自分自身には委任できません",noComposer:"コンポーザーが見つかりません。worktree 画面を開いてから実行してください",failed:"委任方法を作成できませんでした"},en:{heading:"Delegate (/delegate)",menuItem:"Insert delegation brief into the composer",inserted:"Delegation brief inserted into the composer",self:"That is this session — nothing to delegate to",noComposer:"No composer on screen. Open a worktree screen and try again",failed:"Could not build the delegation brief"}};function ea(){var e,t,n;let{open:m,setOpen:p}=(0,I.C)(),{setOpen:f}=(0,R.K)(),{openNewTask:h}=(0,O.hX)(),x=(0,o.Hq)(),B=(0,s.usePathname)(),z=(0,c.Ym)(),K=(0,l.c)("commandPalette"),H=(0,l.c)("common"),{theme:ea,setTheme:ei}=(0,u.D)(),{setSize:es,isMobile:eo}=(0,P.Ps)(),{currentLocale:el,switchLocale:ec}=(0,_.g)(),eu=(0,D.rC)(),{showToast:ed}=(0,F.dj)(),[em,ep]=(0,a.useState)(!1),[ef,eh]=(0,a.useState)(""),[ex,eb]=(0,a.useState)([]),eg=(0,a.useRef)(null),ew=(0,a.useRef)(null),ev=(0,a.useRef)(m);(0,a.useEffect)(()=>{ev.current=m},[m]),(0,a.useEffect)(()=>{ep(!0)},[]),(0,a.useEffect)(()=>{function e(e){if(("k"===e.key||"K"===e.key)&&(e.metaKey||e.ctrlKey)){if(ev.current){e.preventDefault(),e.stopPropagation(),p(!1);return}if(Z(e.target)||(0,V.Sj)())return;e.preventDefault(),p(!0);return}"Escape"===e.key&&ev.current&&(e.preventDefault(),e.stopPropagation(),p(!1))}return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[p]),(0,a.useEffect)(()=>{var e,t,n,r;m?(ew.current=null!=(t=document.activeElement)?t:null,null==(e=eg.current)||e.focus(),eh(""),eb(function(){try{let e=localStorage.getItem(Y);if(!e)return[];let t=JSON.parse(e);if(!Array.isArray(t))return[];return t.filter(J).slice(0,8)}catch(e){return[]}}())):ew.current&&(null==(n=(r=ew.current).focus)||n.call(r),ew.current=null)},[m]);let ey=(0,a.useCallback)((e,t)=>{t&&eb(e=>(function(e,t){let n=e.filter(e=>e.kind!==t.kind||e.id!==t.id),r=[t,...n].slice(0,8);try{localStorage.setItem(Y,JSON.stringify(r))}catch(e){}return r})(e,t)),p(!1),e()},[p]),ek=(0,a.useCallback)(async e=>{let t=er["ja"===z?"ja":"en"];if(function(e){let t=/^\/worktrees\/([^/?#]+)/.exec(null!=e?e:"");return t?decodeURIComponent(t[1]):null}(B)===e.worktree.id&&ee()===e.instance.id)return void ed(t.self,"info");let n=await en(e.worktree.id,e.instance,z);if(null===n)return void ed(t.failed,"error");let r=et(n);ed(r?t.inserted:t.noComposer,r?"success":"error")},[z,B,ed]),ej=(0,a.useCallback)(async()=>{try{var e;await A.Rx.sync(),await (null==eu||null==(e=eu.refresh)?void 0:e.call(eu)),ed(K("actions.syncSuccess"),"success")}catch(e){ed(K("actions.syncError"),"error")}},[eu,ed,K]),eN="dark"===ea,eS=""===ef.trim(),eE=null!=(e=null==eu?void 0:eu.error)?e:null,eC=null!=(t=null==eu?void 0:eu.isLoading)&&t,eM=eE?[]:null!=(n=null==eu?void 0:eu.worktrees)?n:[],eT=eM.length>0,eI=!eE&&eC&&0===eM.length,eR=!function(e){let t=e.trim().toLowerCase();return""!==t&&(t.startsWith("/")||t.includes("delegate"))}(ef)?[]:function(e){let t=[];for(let r of e){var n;for(let e of(null==(n=r.agentInstances)?void 0:n.length)?r.agentInstances:r.cliToolId?[{id:r.cliToolId,cliTool:r.cliToolId,alias:(0,G.oo)(r.cliToolId),order:0}]:[])t.push({worktree:r,instance:e})}return t}(eM),eO=er["ja"===z?"ja":"en"],eP=[...eM].sort((e,t)=>{let n=+!!e.isSessionRunning,r=+!!t.isSessionRunning;if(n!==r)return r-n;let a=e.updatedAt?new Date(e.updatedAt).getTime():0;return(t.updatedAt?new Date(t.updatedAt).getTime():0)-a}),eD=eS?eP.slice(0,8):eP,eL=[{id:"newTask",label:K("actions.newTask"),icon:b.A,run:()=>queueMicrotask(()=>h())},{id:"theme",label:eN?K("actions.toLight"):K("actions.toDark"),icon:eN?g.A:w.A,run:()=>ei(eN?"light":"dark")},...eo?[]:L.Uf.map(e=>({id:"displaysize:".concat(e),label:"".concat(K("actions.displaySizePrefix"),": ").concat(H("displaySize.".concat(e))),icon:v.A,run:()=>es(e)})),{id:"sync",label:K("actions.syncRepositories"),icon:y.A,run:()=>{ej()}},{id:"locale",label:K("actions.switchLanguage"),icon:k.A,run:()=>ec("ja"===el?"en":"ja")},{id:"github",label:K("actions.openGitHub"),icon:j.A,run:()=>window.open("https://github.com/kewton/MyCodeBranchDesk","_blank","noopener,noreferrer")},{id:"keyboardShortcuts",label:K("actions.keyboardShortcuts"),icon:N.A,run:()=>f(!0)}],e_=eS?ex.map(e=>{if("nav"===e.kind){let t=q.find(t=>t.key===e.id);if(!t)return null;let n=U[t.key],a=H("nav.".concat(t.key));return{id:"nav-".concat(t.key),value:"recent nav ".concat(t.key),node:(0,r.jsxs)(r.Fragment,{children:[n&&(0,r.jsx)(n,{size:16,className:Q,"aria-hidden":"true"}),(0,r.jsx)("span",{className:"truncate",children:a})]}),onSelect:()=>ey(()=>x.push(t.href),{kind:"nav",id:t.key})}}if("worktree"===e.kind){let t=eM.find(t=>t.id===e.id);if(!t)return null;let n=t.repositoryDisplayName||t.repositoryName||"",a=t.branch||t.name;return{id:"worktree-".concat(t.id),value:"recent worktree ".concat(t.id),node:(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(S.A,{size:16,className:Q,"aria-hidden":"true"}),(0,r.jsx)("span",{className:"truncate",children:a}),n&&(0,r.jsx)("span",{className:"ml-auto truncate pl-2 text-xs text-muted-foreground",children:n}),(0,r.jsx)(X,{worktree:t,className:n?"ml-2":"ml-auto"})]}),onSelect:()=>ey(()=>x.push("/worktrees/".concat(t.id)),{kind:"worktree",id:t.id})}}let t=eL.find(t=>t.id===e.id);if(!t)return null;let n=t.icon;return{id:"action-".concat(t.id),value:"recent action ".concat(t.id),node:(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n,{size:16,className:Q,"aria-hidden":"true"}),(0,r.jsx)("span",{className:"truncate",children:t.label})]}),onSelect:()=>ey(t.run,{kind:"action",id:t.id})}}).filter(e=>null!==e):[];return em?(0,i.createPortal)((0,r.jsx)(r.Fragment,{children:m&&(0,r.jsxs)("div",{className:"fixed inset-0 overflow-y-auto",style:{zIndex:T.M.MODAL},"data-testid":"command-palette",children:[(0,r.jsx)("div",{"data-state":"open","aria-hidden":"true",className:"fixed inset-0 bg-black/40 backdrop-blur-sm transition-opacity data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:duration-200",onClick:()=>p(!1)}),(0,r.jsx)("div",{className:"relative flex min-h-full items-start justify-center p-4 pt-[15vh]",children:(0,r.jsx)("div",{"data-state":"open","data-testid":"command-palette-panel",className:(0,M.cn)("relative w-full max-w-lg overflow-hidden rounded-xl bg-surface/95 shadow-2xl ring-1 ring-border backdrop-blur-xl","data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 data-[state=open]:duration-200"),children:(0,r.jsxs)(d.uB,{label:K("title"),className:(0,M.cn)("flex flex-col","[&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:pb-1 [&_[cmdk-group-heading]]:pt-2","[&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground"),children:[(0,r.jsxs)("div",{className:"flex items-center gap-2 border-b border-border px-3",children:[(0,r.jsx)(E.A,{size:16,strokeWidth:2,"aria-hidden":"true",className:"shrink-0 text-muted-foreground"}),(0,r.jsx)(d.uB.Input,{ref:eg,value:ef,onValueChange:eh,placeholder:K("placeholder"),"data-testid":"command-palette-input",className:"flex-1 bg-transparent py-3 text-sm text-foreground outline-none placeholder:text-muted-foreground"})]}),(0,r.jsxs)(d.uB.List,{className:"max-h-[min(60vh,360px)] overflow-y-auto p-2",children:[(0,r.jsx)(d.uB.Empty,{"data-testid":"command-palette-empty",className:"py-6 text-center text-sm text-muted-foreground",children:K("empty")}),eI&&(0,r.jsx)(d.uB.Loading,{"data-testid":"command-palette-loading",className:"py-6 text-center text-sm text-muted-foreground",children:K("loading")}),e_.length>0&&(0,r.jsx)(d.uB.Group,{heading:K("groups.recent"),children:e_.map(e=>(0,r.jsx)(d.uB.Item,{value:e.value,onSelect:e.onSelect,className:$,children:e.node},e.id))}),(0,r.jsx)(d.uB.Group,{heading:K("groups.navigation"),children:q.map(e=>{let t=H("nav.".concat(e.key)),n=U[e.key];return(0,r.jsxs)(d.uB.Item,{value:"nav ".concat(t," ").concat(e.href),onSelect:()=>ey(()=>x.push(e.href),{kind:"nav",id:e.key}),className:$,children:[n&&(0,r.jsx)(n,{size:16,className:Q,"aria-hidden":"true"}),(0,r.jsx)("span",{className:"truncate",children:t})]},e.key)})}),eT&&(function(e){let t=new Map;for(let n of e){let e=n.repositoryDisplayName||n.repositoryName||"",r=e||"\0unnamed",a=t.get(r);a?a.worktrees.push(n):t.set(r,{key:r,repository:e,worktrees:[n]})}return[...t.values()]})(eD).map(e=>(0,r.jsx)(d.uB.Group,{heading:e.repository||K("groups.worktrees"),children:e.worktrees.map(t=>{let n=t.branch||t.name;return(0,r.jsxs)(d.uB.Item,{value:"worktree ".concat(e.repository," ").concat(n," ").concat(t.name," ").concat(t.id),onSelect:()=>ey(()=>x.push("/worktrees/".concat(t.id)),{kind:"worktree",id:t.id}),className:$,children:[(0,r.jsx)(S.A,{size:16,className:Q,"aria-hidden":"true"}),(0,r.jsx)("span",{className:"truncate",children:n}),(0,r.jsx)(X,{worktree:t,className:"ml-auto"})]},t.id)})},e.key)),eR.length>0&&(0,r.jsx)(d.uB.Group,{heading:eO.heading,children:eR.map(e=>{let t=e.worktree.branch||e.worktree.name;return(0,r.jsxs)(d.uB.Item,{"data-testid":"palette-delegate-".concat(e.worktree.id,"-").concat(e.instance.id),value:"/delegate ".concat(e.worktree.id," ").concat(e.instance.id," ").concat(e.instance.alias," ").concat(t),onSelect:()=>ey(()=>{ek(e)}),className:$,children:[(0,r.jsx)(C.A,{size:16,className:Q,"aria-hidden":"true"}),(0,r.jsx)("span",{className:"truncate",children:e.instance.alias}),(0,r.jsxs)("span",{className:"ml-auto truncate pl-2 text-xs text-muted-foreground",children:[t," / ",e.instance.id]})]},"".concat(e.worktree.id,":").concat(e.instance.id))})}),(0,r.jsx)(d.uB.Group,{heading:K("groups.actions"),children:eL.map(e=>{let t=e.icon;return(0,r.jsxs)(d.uB.Item,{value:"action ".concat(e.id," ").concat(e.label),onSelect:()=>ey(e.run,{kind:"action",id:e.id}),className:$,children:[(0,r.jsx)(t,{size:16,className:Q,"aria-hidden":"true"}),(0,r.jsx)("span",{className:"truncate",children:e.label})]},e.id)})})]}),(0,r.jsxs)("div",{className:"flex items-center gap-3 border-t border-border bg-surface-2 px-3 py-2 text-[11px] text-muted-foreground",children:[(0,r.jsxs)("span",{className:"flex items-center gap-1",children:[(0,r.jsx)(W.u,{children:"↑"}),(0,r.jsx)(W.u,{children:"↓"}),K("footer.navigate")]}),(0,r.jsxs)("span",{className:"flex items-center gap-1",children:[(0,r.jsx)(W.u,{children:"↵"}),K("footer.select")]}),(0,r.jsxs)("span",{className:"flex items-center gap-1",children:[(0,r.jsx)(W.u,{children:"esc"}),K("footer.close")]})]})]})})})]})}),document.body):null}},46365:(e,t,n)=>{function r(e){let t=e.ownerDocument.defaultView;for(let n=e;n;n=n.parentElement)if(n instanceof HTMLElement&&n.hidden||t&&"none"===t.getComputedStyle(n).display)return!1;return!0}function a(){return"undefined"!=typeof document&&Array.from(document.querySelectorAll("".concat('[role="dialog"][aria-modal="true"]:not([data-state="closed"]):not([data-testid="prompt-panel"])',", ").concat('[role="menu"][data-state="open"]'))).some(r)}n.d(t,{Sj:()=>a})},46615:(e,t,n)=>{n.d(t,{Fy:()=>f,R8:()=>h,Xd:()=>x,yP:()=>v});var r=n(95155),a=n(12115),i=n(47650),s=n(18955),o=n(5917),l=n(38606),c=n(76471),u=n(86815),d=n(94442),m=n(66966),p=n(39970);let f=(0,a.createContext)(!0),h="px-2";function x(e){return"rounded-[10px] transition-colors focus:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-ring ".concat(e?"bg-sidebar-border":"hover:bg-sidebar-hover")}function b(e,t,n){let r=n-8-t;return r<=8?8:Math.min(Math.max(e,8),r)}function g(e){let{id:t,branch:n,isVisible:s,anchorRef:o,nextActionLabel:c,unclassified:u,awaitingInstructionLabel:d}=e,[m,p]=(0,a.useState)({top:-9999,left:-9999}),f=(0,a.useRef)(null);if((0,a.useEffect)(()=>{var e,t,n;if(!s||!o.current)return;let r=o.current.getBoundingClientRect(),a=null==(e=f.current)?void 0:e.getBoundingClientRect(),i=null!=(t=null==a?void 0:a.width)?t:0,l=null!=(n=null==a?void 0:a.height)?n:0,c=window.innerWidth,u=window.innerHeight,d=r.right+8;if(d+i>c-8){let e=r.left-8-i;e>=8&&(d=e)}p({top:b(r.top,l,u),left:b(d,i,c)})},[s,o]),"undefined"==typeof document||!s)return null;let h=Math.min(384,Math.max(0,window.innerWidth-16));return i.createPortal((0,r.jsxs)("div",{ref:f,id:t,role:"tooltip",className:" fixed z-[9999] px-3 py-2 rounded-md shadow-lg bg-sidebar text-xs text-sidebar-foreground border border-sidebar-border pointer-events-none max-w-sm transition-opacity duration-150 ",style:{top:m.top,left:m.left,maxWidth:h},children:[(0,r.jsx)("p",{className:"font-medium text-sidebar-foreground whitespace-nowrap",children:n.name}),(0,r.jsx)("p",{className:"text-sidebar-muted whitespace-nowrap",children:n.repositoryName}),(0,r.jsxs)("p",{className:"text-sidebar-muted whitespace-nowrap",children:["Status: ",u?l.pu:n.status]}),n.worktreePath&&(0,r.jsx)("p",{className:"text-sidebar-muted truncate",children:n.worktreePath}),c&&(0,r.jsxs)("p",{className:"text-sidebar-muted whitespace-nowrap",children:["Next: ",c]}),d&&(0,r.jsx)("p",{className:"text-success-foreground whitespace-nowrap",children:d}),n.description&&(0,r.jsx)("p",{className:"text-sidebar-muted mt-1 border-t border-sidebar-border pt-1 whitespace-pre-wrap break-words",children:n.description})]}),document.body)}let w=0,v=(0,a.memo)(function(e){var t,n;let{branch:i,isSelected:b,onClick:v,showRepositoryName:y=!0}=e,k=(0,s.c)("common"),j=(0,s.c)("worktree"),N="tooltip-".concat(i.id),S=(0,a.useRef)(null),[E,C]=(0,a.useState)(!1),M=(0,a.useRef)(null),T=(0,a.useCallback)(()=>{null!==M.current&&(clearTimeout(M.current),M.current=null)},[]);(0,a.useEffect)(()=>()=>T(),[T]);let I=(0,l.A7)(i.cliStatus),R="waiting"===I,O=!0===i.awaitingInstruction,P=i.nextActionKey?j(i.nextActionKey):null,D=(0,a.useMemo)(()=>{var e;return new Set(null!=(e=i.exitedInstanceIds)?e:[])},[i.exitedInstanceIds]),L=(0,a.useMemo)(()=>{var e;return new Set(null!=(e=i.unclassifiedInstanceIds)?e:[])},[i.unclassifiedInstanceIds]),_=(0,l.Pn)(i.cliStatus,i.unclassifiedInstanceIds),A=(R||O)&&null!==P,B=null!==P&&(A||b),z=E&&!b,[K,W]=(0,a.useState)(!1),[V,F]=(0,a.useState)(!1),[H,G]=(0,a.useState)(!1),q=b||K||V||H,{showToast:U}=(0,d.dj)(),Y=null==(t=(0,m.rC)())?void 0:t.refresh,[J,X]=(0,a.useState)(void 0),Z=(0,a.useRef)(0),$=(0,a.useRef)(0),Q=(0,a.useRef)(null),ee=(0,a.useRef)(null),et=(0,a.useRef)(null),en=null!=(n=i.worktreeStatus)?n:null,er=void 0!==J?J:en;ee.current=en;let ea=(0,a.useContext)(f);(0,a.useEffect)(()=>{if(Z.current!==$.current)return;let e=et.current;(null===e||(0,p.FI)(e))&&(et.current=null,X(void 0))},[en]);let ei=(0,a.useCallback)(async e=>{let t=++Z.current;Q.current=ee.current,et.current=null,X(e);try{await (0,p.V9)(i.id,e)}catch(e){if(t!==Z.current)return;$.current=t,X(void 0),U(k("branchItem.statusChangeFailed"),"error");return}let n=(0,p.Xg)();try{await (null==Y?void 0:Y())}finally{t===Z.current&&($.current=t,Y?(et.current=n,(0,p.FI)(n)&&ee.current!==Q.current&&(et.current=null,X(void 0))):ee.current!==Q.current&&X(void 0))}},[i.id,Y,U,k]);return(0,a.useEffect)(()=>{b&&C(!1)},[b]),(0,a.useEffect)(()=>{if(!E)return;let e=()=>C(!1);return document.addEventListener("click",e),()=>document.removeEventListener("click",e)},[E]),(0,r.jsxs)("div",{"data-testid":"branch-list-row",className:"relative w-full min-w-0 ".concat(h),onPointerEnter:()=>W(!0),onPointerLeave:()=>W(!1),onFocus:e=>{e.target.matches(":focus-visible")&&F(!0)},onBlur:e=>{e.currentTarget.contains(e.relatedTarget)||F(!1)},children:[(0,r.jsxs)("button",{ref:S,"data-testid":"branch-list-item",onClick:()=>{T(),w=Date.now()+400,C(!1),v()},onMouseEnter:()=>{T(),Date.now()>=w&&(M.current=setTimeout(()=>{C(!0)},150))},onMouseLeave:()=>{T(),C(!1)},onFocus:e=>{T(),e.target.matches(":focus-visible")&&(M.current=setTimeout(()=>{C(!0)},150))},onBlur:()=>{T(),C(!1)},"aria-current":b?"true":void 0,"aria-describedby":z?N:void 0,"aria-label":y?void 0:"".concat(i.name," - ").concat(i.repositoryName),className:"\n group relative w-full min-h-[34px] pl-3 py-1.5 flex flex-col justify-center gap-0.5\n ".concat(q?b?"pr-9":"pr-9 [@media(hover:none)]:pr-3":"pr-3","\n ").concat(x(b),"\n "),children:[(0,r.jsxs)("div",{className:"@container flex items-center gap-2 w-full min-w-0",children:[i.cliStatus&&Object.keys(i.cliStatus).length>0&&(0,r.jsx)("div",{className:"flex items-center justify-center flex-shrink-0 w-4","aria-label":k("branchItem.cliToolStatus"),children:(0,r.jsx)(c.Ej,{status:I,label:(0,l.dw)(i.cliStatus,i.cliStatusLabels,D.size>0?e=>D.has(e)?k("branchItem.agentExited"):null:void 0,L),waitingKind:i.waitingKind,unclassified:_})}),(0,r.jsx)("p",{className:"flex-1 min-w-0 text-left text-sm text-sidebar-foreground truncate",children:i.name}),y&&(0,r.jsx)("p",{className:"flex-shrink min-w-0 max-w-[40%] text-xs text-sidebar-muted truncate",children:i.repositoryName}),ea&&er&&(0,r.jsxs)("span",{"data-testid":"branch-worktree-status","data-status":er,className:"flex-shrink-0 inline-flex items-center",title:j((0,p.Zh)(er)),children:[(0,r.jsx)("span",{"data-testid":"branch-worktree-status-dot","aria-hidden":"true",className:"h-1.5 w-1.5 rounded-full @min-[17rem]:hidden ".concat(p.mq[er])}),(0,r.jsx)("span",{"data-testid":"branch-worktree-status-label",className:"sr-only @min-[17rem]:not-sr-only @min-[17rem]:max-w-[5.5rem] @min-[17rem]:truncate\n @min-[17rem]:rounded-full @min-[17rem]:px-1.5 @min-[17rem]:text-[10px] @min-[17rem]:font-medium\n @min-[17rem]:leading-4 ".concat(p.SE[er]),children:j((0,p.Zh)(er))})]}),O&&(0,r.jsxs)("span",{"data-testid":"awaiting-instruction-badge",className:"flex-shrink-0 inline-flex h-4 w-4 items-center justify-center rounded-full bg-success-subtle text-success-foreground",title:j("awaitingInstruction.label"),children:[(0,r.jsx)(o.A,{className:"h-3 w-3",strokeWidth:3,"aria-hidden":"true"}),(0,r.jsx)("span",{className:"sr-only",children:j("awaitingInstruction.badge")})]}),i.hasUnread&&(0,r.jsx)("span",{"data-testid":"unread-indicator",className:"w-2 h-2 rounded-full bg-accent-500 flex-shrink-0","aria-label":k("branchItem.hasUnread")})]}),B&&(0,r.jsx)("p",{"data-testid":"branch-next-action",className:"pl-6 text-left text-xs font-medium truncate ".concat(b?"block":"hidden [@media(hover:none)]:block"," ").concat(R?"text-warning-foreground":O?"text-success-foreground":"text-sidebar-muted"),children:P}),b&&i.description&&(0,r.jsx)("p",{"data-testid":"branch-description",className:"pl-6 text-left text-xs text-sidebar-muted truncate",children:i.description}),(0,r.jsx)(g,{id:N,branch:i,isVisible:z,anchorRef:S,nextActionLabel:P,unclassified:_,awaitingInstructionLabel:O?j("awaitingInstruction.badge"):null})]}),q&&(0,r.jsx)(u.m,{branch:i,isSelected:b,onOpenChange:G,worktreeStatus:er,onWorktreeStatusChange:ei})]})})},46892:(e,t,n)=>{n.d(t,{PL:()=>a,sb:()=>i});let r={idle:"bg-muted-foreground",ready:"bg-success",spinner:"border-info",waiting:"bg-warning"},a={idle:{className:r.idle,labelKey:"status.idle",type:"dot"},ready:{className:r.ready,labelKey:"status.ready",type:"dot"},running:{className:r.spinner,labelKey:"status.running",type:"spinner"},waiting:{className:r.waiting,labelKey:"status.waiting",type:"dot"},generating:{className:r.spinner,labelKey:"status.generating",type:"spinner"}},i={idle:"detailStatus.idle",ready:"detailStatus.ready",running:"detailStatus.running",waiting:"detailStatus.waiting"}},51743:(e,t,n)=>{n.d(t,{Zg:()=>c,hX:()=>u,uH:()=>d});var r=n(95155),a=n(12115),i=n(46365);let s=()=>{},o=(0,a.createContext)({isOpen:!1,requestedTarget:null,screenTarget:null,openNewTask:s,closeNewTask:s,setCloseLocked:s}),l=(0,a.createContext)(s);function c(e){let{children:t}=e,[n,s]=(0,a.useState)(!1),[c,u]=(0,a.useState)(null),[d,m]=(0,a.useState)(null),p=(0,a.useRef)(!1),f=(0,a.useCallback)(e=>{(0,i.Sj)()||(u(null!=e?e:null),s(!0))},[]),h=(0,a.useCallback)(()=>{p.current||s(!1)},[]),x=(0,a.useCallback)(e=>{p.current=e},[]),b=(0,a.useCallback)(e=>{m(t=>null===t&&null===e||t&&e&&t.worktreeId===e.worktreeId&&t.instanceId===e.instanceId?t:e)},[]),g=(0,a.useMemo)(()=>({isOpen:n,requestedTarget:c,screenTarget:d,openNewTask:f,closeNewTask:h,setCloseLocked:x}),[n,c,d,f,h,x]);return(0,r.jsx)(l.Provider,{value:b,children:(0,r.jsx)(o.Provider,{value:g,children:t})})}function u(){return(0,a.useContext)(o)}function d(){return(0,a.useContext)(l)}},55756:(e,t,n)=>{n.d(t,{Bl:()=>i,cv:()=>a});let r="data-mobile-drawer-opener",a={[r]:""};function i(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:document,t=e.querySelector("[".concat(r,"]"));return!!t&&(t.focus(),!0)}},63470:(e,t,n)=>{n.d(t,{Y:()=>m,y2:()=>d});var r=n(95155),a=n(12115),i=n(18955),s=n(80344),o=n(36402),l=n(94442);let c=()=>{},u=(0,a.createContext)({updateInfo:null,checking:!1,hasUpdate:!1,pendingVersion:null,canSelfUpdate:!1,state:"idle",logPath:null,errorKey:null,openConfirm:c,cancel:c,confirm:async()=>{}});function d(e){var t,n;let{children:c,enabled:d=!0}=e,m=(0,i.c)("worktree"),{showToast:p}=(0,l.dj)(),[f,h]=(0,a.useState)(null),[x,b]=(0,a.useState)(!0),[g,w]=(0,a.useState)("idle"),[v,y]=(0,a.useState)(null),[k,j]=(0,a.useState)(null),N=(0,a.useRef)("idle");(0,a.useEffect)(()=>{N.current=g},[g]);let S=(0,a.useRef)(!1),E=(0,a.useRef)(async()=>{});(0,a.useEffect)(()=>{if(!d)return;let e=!1,t=async()=>{if("idle"===N.current)try{let t=await s.GQ.checkForUpdate();if(e)return;h(e=>"degraded"===t.status&&null!==e?e:t)}catch(e){}finally{e||b(!1)}};E.current=t,t();let n=setInterval(()=>{t()},36e5);return()=>{e=!0,E.current=async()=>{},clearInterval(n)}},[d]);let C=(null==f?void 0:f.hasUpdate)===!0,M=C?null:null!=(t=null==f?void 0:f.pendingVersion)?t:null;(0,a.useEffect)(()=>{if(!M)return;let e=setInterval(()=>{E.current()},3e5);return()=>clearInterval(e)},[M]);let T=(null==f?void 0:f.installType)==="global"||(null==f?void 0:f.installType)==="npx",I=(0,a.useCallback)(()=>{C&&T&&w(e=>"idle"===e?"confirming":e)},[C,T]),R=(0,a.useCallback)(()=>{w(e=>"confirming"===e?"idle":e)},[]),O=(0,a.useCallback)(async()=>{if("confirming"===N.current){N.current="starting",w("starting");try{let e=await s.GQ.startUpdate();y(e.logPath),w(e.willRestart?"updating":"no-restart")}catch(t){var e;if(t instanceof s.hD&&409===t.status&&(null==(e=t.data)?void 0:e.code)==="not_yet_published"){p(m("update.notYetPublished"),"info"),N.current="idle",w("idle"),E.current();return}t instanceof s.hD&&400===t.status?j("update.errorNotGlobal"):t instanceof s.hD&&409===t.status?j("update.errorInProgress"):j("update.errorGeneric"),w("error")}}},[p,m]);(0,a.useEffect)(()=>{if("updating"!==g)return;let e=!1,t=Date.now();S.current=!1;let n=setInterval(async()=>{if(e)return;if(Date.now()-t>3e5)return void w("timeout");let n=await s.GQ.ping();if(!e){if(!n){S.current=!0;return}S.current&&window.location.reload()}},2e3);return()=>{e=!0,clearInterval(n)}},[g]);let P=(0,a.useMemo)(()=>({updateInfo:f,checking:x,hasUpdate:C,pendingVersion:M,canSelfUpdate:T,state:g,logPath:v,errorKey:k,openConfirm:I,cancel:R,confirm:O}),[f,x,C,M,T,g,v,k,I,R,O]);return(0,r.jsxs)(u.Provider,{value:P,children:[c,(0,r.jsx)(o.TM,{isOpen:"confirming"===g,title:m("update.confirmTitle"),description:m("update.confirmDescription",{version:null!=(n=null==f?void 0:f.latestVersion)?n:""}),confirmLabel:m("update.confirmButton"),onConfirm:()=>{O()},onCancel:R})]})}function m(){return(0,a.useContext)(u)}},68704:(e,t,n)=>{n.d(t,{Uf:()=>i,d8:()=>s,fM:()=>o,of:()=>c,r5:()=>a,rq:()=>l});var r=n(2317);let a="medium",i=["large","medium","small","xsmall"],s={large:{value:"large",rootFontSizePx:18,factor:1.125,terminalFontSize:16},medium:{value:"medium",rootFontSizePx:16,factor:1,terminalFontSize:14},small:{value:"small",rootFontSizePx:14,factor:.875,terminalFontSize:12},xsmall:{value:"xsmall",rootFontSizePx:12.5,factor:.78,terminalFontSize:11}};function o(e){return"string"==typeof e&&Object.prototype.hasOwnProperty.call(s,e)}function l(e){return s[e].terminalFontSize}function c(){let{value:e,setValue:t,isAvailable:n}=(0,r.V)({key:"mcbd-pc-display-size",defaultValue:a,validate:o});return{size:e,setSize:t,isAvailable:n}}},70628:(e,t,n)=>{n.d(t,{K:()=>o,S:()=>s});var r=n(95155),a=n(12115);let i=(0,a.createContext)({open:!1,setOpen:()=>{},toggle:()=>{}});function s(e){let{children:t}=e,[n,s]=(0,a.useState)(!1),o=(0,a.useCallback)(()=>s(e=>!e),[]),l=(0,a.useMemo)(()=>({open:n,setOpen:s,toggle:o}),[n,o]);return(0,r.jsx)(i.Provider,{value:l,children:t})}function o(){return(0,a.useContext)(i)}},72137:(e,t,n)=>{n.d(t,{H:()=>m});var r=n(95155),a=n(12115),i=n(18955),s=n(68695),o=n(31166),l=n(94465),c=n(79361),u=n(63470),d=n(38218);function m(){var e,t;let n=(0,i.c)("worktree"),m=(0,d.a)(),{updateInfo:p,hasUpdate:f,pendingVersion:h,canSelfUpdate:x,state:b,openConfirm:g}=(0,u.Y)(),[w,v]=(0,a.useState)(!1),y=null!=(e=null==p?void 0:p.latestVersion)?e:null;if(m||!y)return null;if("idle"===b&&!f&&h){let e=n("update.pendingDescription",{version:h});return(0,r.jsxs)(o.$,{type:"button",variant:"secondary",size:"sm",disabled:!0,className:"flex-shrink-0 gap-1.5 whitespace-nowrap",title:e,"aria-label":e,"data-testid":"app-update-button","data-state":"pending",children:[(0,r.jsx)(s.A,{size:16,"aria-hidden":"true"}),(0,r.jsx)("span",{children:n("update.pendingLabel",{version:h})})]})}if("idle"===b&&!f)return null;let k="starting"===b||"updating"===b,j="no-restart"===b||"timeout"===b||"error"===b,N=n("update.buttonLabel",{version:y});return x||k||j?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)(o.$,{type:"button",variant:"primary",size:"sm",loading:k,onClick:j?()=>v(!0):g,className:"flex-shrink-0 gap-1.5 whitespace-nowrap","aria-label":k?n("update.buttonUpdating"):n("update.buttonAriaLabel",{version:y}),"aria-haspopup":"dialog","aria-busy":k,"data-testid":"app-update-button","data-state":b,children:[!k&&(0,r.jsx)(s.A,{size:16,"aria-hidden":"true"}),(0,r.jsx)("span",{children:k?n("update.buttonUpdating"):N})]}),j&&(0,r.jsx)(l.a,{isOpen:w,onClose:()=>v(!1),title:n("update.statusDialogTitle"),size:"sm",children:(0,r.jsx)(c.V,{})})]}):(0,r.jsxs)("a",{href:null!=(t=null==p?void 0:p.releaseUrl)?t:"https://github.com/Kewton/CommandMate/releases/latest",target:"_blank",rel:"noopener noreferrer",className:"inline-flex flex-shrink-0 items-center justify-center gap-1.5 whitespace-nowrap rounded-md px-3 py-1.5 text-sm font-medium bg-accent-600 dark:bg-accent-500 text-white hover:bg-accent-700 dark:hover:bg-accent-600 transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring","aria-label":n("update.buttonReleaseAriaLabel",{version:y}),"data-testid":"app-update-button",children:[(0,r.jsx)(s.A,{size:16,"aria-hidden":"true"}),(0,r.jsx)("span",{children:N})]})}},79361:(e,t,n)=>{n.d(t,{V:()=>l});var r=n(95155),a=n(18955),i=n(63470),s=n(31166),o=n(3005);function l(){let e=(0,a.c)("worktree"),{updateInfo:t,hasUpdate:n,canSelfUpdate:l,state:c,logPath:u,errorKey:d,openConfirm:m}=(0,i.Y)();if(!t||!n&&"idle"===c)return null;let{latestVersion:p,releaseUrl:f,updateCommand:h,installType:x}=t,b="npx"===x,g=b?"npx commandmate@latest":"commandmate update";return(0,r.jsxs)("div",{className:"bg-accent-50 border border-accent-200 rounded-lg p-3 mt-2",role:"status","aria-label":e("update.available"),"data-testid":"update-notification-banner",children:[(0,r.jsx)("p",{className:"text-sm font-medium text-accent-800 mb-1",children:e("update.available")}),p&&(0,r.jsx)("p",{className:"text-sm text-accent-700 mb-2",children:e("update.latestVersion",{version:p})}),l&&"idle"===c&&(0,r.jsx)(s.$,{variant:"primary",size:"sm",className:"mb-2",onClick:m,"data-testid":"update-now-button",children:e("update.updateNow")}),b&&"idle"===c&&(0,r.jsx)("p",{className:"text-xs text-accent-600 mb-2","data-testid":"update-npx-notice",children:e("update.npxRestartNotice")}),("starting"===c||"updating"===c)&&(0,r.jsxs)("div",{className:"mb-2","data-testid":"update-progress",children:[(0,r.jsxs)("p",{className:"flex items-center text-sm text-accent-800",children:[(0,r.jsx)(o.y,{size:"sm",className:"mr-2"}),e("starting"===c?"update.starting":"update.updating")]}),"updating"===c&&(0,r.jsx)("p",{className:"text-xs text-accent-600 mt-1",children:e("update.updatingHint")})]}),"no-restart"===c&&(0,r.jsxs)("div",{className:"mb-2","data-testid":"update-no-restart",children:[(0,r.jsx)("p",{className:"text-sm font-medium text-accent-800",children:e("update.noRestartTitle")}),(0,r.jsx)("p",{className:"text-xs text-accent-600 mt-1",children:e("update.noRestartDescription")})]}),"timeout"===c&&(0,r.jsxs)("div",{className:"mb-2","data-testid":"update-timeout",children:[(0,r.jsx)("p",{className:"text-sm font-medium text-accent-800",children:e("update.timeoutTitle")}),(0,r.jsx)("p",{className:"text-xs text-accent-600 mt-1",children:e("update.timeoutDescription")}),(0,r.jsx)("code",{className:"block bg-accent-100 rounded px-2 py-1 mt-1 text-xs text-accent-900 font-mono",children:g})]}),"error"===c&&(0,r.jsxs)("div",{className:"mb-2","data-testid":"update-error",children:[(0,r.jsx)("p",{className:"text-sm font-medium text-accent-800",children:e("update.errorTitle")}),(0,r.jsx)("p",{className:"text-xs text-accent-600 mt-1",children:d?e(d):null}),(0,r.jsx)("code",{className:"block bg-accent-100 rounded px-2 py-1 mt-1 text-xs text-accent-900 font-mono",children:g})]}),u&&("no-restart"===c||"timeout"===c)&&(0,r.jsx)("p",{className:"text-xs text-accent-500 mb-2","data-testid":"update-log-hint",children:e("update.logHint",{path:u})}),h&&"global"===x&&"idle"===c&&(0,r.jsxs)("div",{className:"mb-2",children:[(0,r.jsx)("p",{className:"text-xs text-accent-600 mb-1",children:e("update.updateCommand")}),(0,r.jsx)("code",{className:"block bg-accent-100 rounded px-2 py-1 text-xs text-accent-900 font-mono",children:h})]}),f&&(0,r.jsxs)("a",{href:f,target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center text-sm text-accent-600 hover:text-accent-800 underline",children:[e("update.viewRelease"),(0,r.jsx)("span",{className:"ml-1","aria-hidden":"true",children:"→"})]}),(0,r.jsx)("p",{className:"text-xs text-accent-500 mt-2",children:e("update.dataPreserved")})]})}},86815:(e,t,n)=>{n.d(t,{K:()=>f,m:()=>h});var r=n(95155),a=n(12115),i=n(18955),s=n(37772),o=n(27937),l=n(47971),c=n(26232),u=n(94442),d=n(60322),m=n(59854),p=n(39970);let f="data-branch-row-actions",h=(0,a.memo)(function(e){let{branch:t,isSelected:n,onOpenChange:h,worktreeStatus:x=null,onWorktreeStatusChange:b}=e,g=(0,i.c)("common"),w=(0,i.c)("worktree"),{showToast:v}=(0,u.dj)(),y=(0,a.useCallback)(async e=>{try{await (0,d.l)(e),v(g("branchItem.copied"),"success")}catch(e){v(g("branchItem.copyFailed"),"error")}},[v,g]);return(0,r.jsxs)(c.rI,{onOpenChange:h,children:[(0,r.jsx)(c.ty,{asChild:!0,children:(0,r.jsx)("button",{type:"button","data-testid":"branch-row-actions","aria-label":g("branchItem.actions",{name:t.name}),title:g("branchItem.actions",{name:t.name}),className:"absolute right-3 top-[5px] flex h-6 w-6 items-center justify-center rounded-md\n text-sidebar-muted transition-colors hover:bg-sidebar-hover hover:text-sidebar-foreground\n focus:outline-none focus-visible:ring-2 focus-visible:ring-ring\n data-[state=open]:text-sidebar-foreground ".concat(n?"":"[@media(hover:none)]:hidden"),children:(0,r.jsx)(s.A,{className:"h-4 w-4","aria-hidden":"true"})})}),(0,r.jsxs)(c.SQ,{align:"end",[f]:"",onEscapeKeyDown:e=>e.stopPropagation(),children:[(0,r.jsx)(c._2,{asChild:!0,children:(0,r.jsx)("a",{href:"/worktrees/".concat(t.id),target:"_blank",rel:"noopener noreferrer",children:g("branchItem.openInNewTab")})}),(0,r.jsx)(c._2,{onSelect:()=>void y(t.name),children:g("branchItem.copyBranchName")}),t.worktreePath&&(0,r.jsx)(c._2,{onSelect:()=>{var e;y(null!=(e=t.worktreePath)?e:"")},children:g("branchItem.copyPath")}),b&&(0,r.jsxs)(l.Pb,{children:[(0,r.jsxs)(l.ZP,{"data-testid":"branch-row-status",className:"relative flex cursor-pointer select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-muted data-[state=open]:bg-muted",children:[(0,r.jsx)("span",{className:"flex-1",children:g("branchItem.status")}),(0,r.jsx)("span",{"data-testid":"branch-row-status-current",className:"text-xs text-muted-foreground",children:w((0,p.Zh)(x))}),(0,r.jsx)(o.A,{className:"h-3.5 w-3.5 text-muted-foreground","aria-hidden":"true"})]}),(0,r.jsx)(l.ZL,{children:(0,r.jsx)(l.G5,{[f]:"",sideOffset:4,collisionPadding:8,style:{zIndex:m.M.POPOVER},className:"min-w-[9rem] overflow-hidden rounded-md border border-border bg-surface p-1 text-surface-foreground shadow-lg",onEscapeKeyDown:e=>e.stopPropagation(),children:(0,r.jsx)(c.Hr,{value:null!=x?x:"",onValueChange:e=>{let t=""===e?null:e;t!==x&&b(t)},children:p.m9.map(e=>{var t;return(0,r.jsx)(c.Ht,{value:null!=(t=e.value)?t:"",children:w(e.labelKey)},e.labelKey)})})})})]})]})]})})},89275:(e,t,n)=>{n.d(t,{Bo:()=>u,Hq:()=>l});var r=n(95155),a=n(12115),i=n(20063);let s={startTransition:e=>e()},o=(0,a.createContext)(null);function l(){var e;let t=(0,i.useRouter)(),{startTransition:n}=null!=(e=(0,a.useContext)(o))?e:s;return(0,a.useMemo)(()=>({push:e=>n(()=>t.push(e)),replace:e=>n(()=>t.replace(e))}),[t,n])}function c(e){let{onCommit:t}=e,n=(0,i.usePathname)(),r=(0,a.useRef)(!1);return(0,a.useEffect)(()=>{if(!r.current){r.current=!0;return}t()},[n,t]),null}function u(e){let{children:t}=e,n=(0,a.useRef)(null),i=(0,a.useCallback)(()=>{var e;null==(e=n.current)||e.call(n)},[]),s=(0,a.useCallback)(e=>{var t;t=()=>new Promise(t=>{let r=!1,a=()=>{r||(r=!0,t())};n.current=a,e(),window.setTimeout(a,500)}),"undefined"==typeof document||"function"!=typeof document.startViewTransition||"function"==typeof window.matchMedia&&window.matchMedia("(prefers-reduced-motion: reduce)").matches?t():document.startViewTransition(t)},[]),l=(0,a.useMemo)(()=>({startTransition:s}),[s]);return(0,r.jsxs)(o.Provider,{value:l,children:[(0,r.jsx)(c,{onCommit:i}),t]})}},92614:(e,t,n)=>{n.d(t,{C:()=>o,E:()=>s});var r=n(95155),a=n(12115);let i=(0,a.createContext)({open:!1,setOpen:()=>{},toggle:()=>{}});function s(e){let{children:t}=e,[n,s]=(0,a.useState)(!1),o=(0,a.useCallback)(()=>s(e=>!e),[]),l=(0,a.useMemo)(()=>({open:n,setOpen:s,toggle:o}),[n,o]);return(0,r.jsx)(i.Provider,{value:l,children:t})}function o(){return(0,a.useContext)(i)}},98873:(e,t,n)=>{n.d(t,{D:()=>i});var r=n(12115),a=n(7636);function i(e){let{items:t,sortKey:n,sortDirection:i,viewMode:s,filterText:o}=e,l=(0,r.useMemo)(()=>{if(!o)return t;let e=o.toLowerCase();return t.filter(t=>t.name.toLowerCase().includes(e)||t.repositoryName.toLowerCase().includes(e))},[t,o]);return{sortedItems:(0,r.useMemo)(()=>(0,a.Xn)(l,n,i),[l,n,i]),groupedItems:(0,r.useMemo)(()=>"grouped"===s?(0,a._s)(l,n,i):[],[l,n,i,s])}}}}]);
|