commandmate 0.14.1 → 0.15.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.env.example +7 -0
- package/.next/BUILD_ID +1 -1
- package/.next/app-build-manifest.json +352 -333
- package/.next/app-path-routes-manifest.json +31 -28
- package/.next/build-manifest.json +5 -5
- package/.next/prerender-manifest.json +15 -15
- package/.next/react-loadable-manifest.json +11 -13
- 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/app/update/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/app/update-check/route.js +1 -1
- package/.next/server/app/api/app/update-check/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/assistant/conversation/route.js +1 -1
- package/.next/server/app/api/assistant/conversation/route.js.nft.json +1 -1
- package/.next/server/app/api/assistant/conversation/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/assistant/current-output/route.js +1 -1
- package/.next/server/app/api/assistant/current-output/route.js.nft.json +1 -1
- package/.next/server/app/api/assistant/current-output/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/assistant/messages/route.js +1 -1
- package/.next/server/app/api/assistant/messages/route.js.nft.json +1 -1
- package/.next/server/app/api/assistant/messages/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/assistant/session/route.js +1 -1
- package/.next/server/app/api/assistant/session/route.js.nft.json +1 -1
- package/.next/server/app/api/assistant/session/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/assistant/start/route.js +1 -1
- package/.next/server/app/api/assistant/start/route.js.nft.json +1 -1
- package/.next/server/app/api/assistant/start/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/assistant/terminal/route.js +1 -1
- package/.next/server/app/api/assistant/terminal/route.js.nft.json +1 -1
- package/.next/server/app/api/assistant/terminal/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/assistant/tools/route.js +1 -1
- package/.next/server/app/api/assistant/tools/route.js.nft.json +1 -1
- package/.next/server/app/api/assistant/tools/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/auth/login/route_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/daily-summary/route.js +1 -1
- package/.next/server/app/api/daily-summary/route.js.nft.json +1 -1
- package/.next/server/app/api/daily-summary/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/daily-summary/status/route.js +1 -1
- package/.next/server/app/api/daily-summary/status/route.js.nft.json +1 -1
- package/.next/server/app/api/daily-summary/status/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/external-apps/[id]/health/route.js +1 -1
- package/.next/server/app/api/external-apps/[id]/health/route.js.nft.json +1 -1
- package/.next/server/app/api/external-apps/[id]/health/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/external-apps/[id]/route.js +1 -1
- package/.next/server/app/api/external-apps/[id]/route.js.nft.json +1 -1
- package/.next/server/app/api/external-apps/[id]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/external-apps/route.js +1 -1
- package/.next/server/app/api/external-apps/route.js.nft.json +1 -1
- package/.next/server/app/api/external-apps/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/fs/browse/route.js +7 -0
- package/.next/server/app/api/fs/browse/route.js.nft.json +1 -0
- package/.next/server/app/api/fs/browse/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/fs/recent-paths/route.js +7 -0
- package/.next/server/app/api/fs/recent-paths/route.js.nft.json +1 -0
- package/.next/server/app/api/fs/recent-paths/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/hooks/claude-done/route.js +1 -1
- package/.next/server/app/api/hooks/claude-done/route.js.nft.json +1 -1
- package/.next/server/app/api/hooks/claude-done/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/ollama/models/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/push/subscriptions/route.js +1 -1
- package/.next/server/app/api/push/subscriptions/route.js.nft.json +1 -1
- package/.next/server/app/api/push/subscriptions/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/push/vapid/route.js +1 -1
- package/.next/server/app/api/push/vapid/route.js.nft.json +1 -1
- package/.next/server/app/api/push/vapid/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/repositories/[id]/route.js +1 -1
- package/.next/server/app/api/repositories/[id]/route.js.nft.json +1 -1
- package/.next/server/app/api/repositories/[id]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/repositories/[id]/todos/[todoId]/route.js +1 -1
- package/.next/server/app/api/repositories/[id]/todos/[todoId]/route.js.nft.json +1 -1
- package/.next/server/app/api/repositories/[id]/todos/[todoId]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/repositories/[id]/todos/route.js +1 -1
- package/.next/server/app/api/repositories/[id]/todos/route.js.nft.json +1 -1
- package/.next/server/app/api/repositories/[id]/todos/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/repositories/clone/[jobId]/route.js +1 -1
- package/.next/server/app/api/repositories/clone/[jobId]/route.js.nft.json +1 -1
- package/.next/server/app/api/repositories/clone/[jobId]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/repositories/clone/route.js +1 -1
- package/.next/server/app/api/repositories/clone/route.js.nft.json +1 -1
- package/.next/server/app/api/repositories/clone/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/repositories/excluded/route.js +1 -1
- package/.next/server/app/api/repositories/excluded/route.js.nft.json +1 -1
- package/.next/server/app/api/repositories/excluded/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/repositories/restore/route.js +1 -1
- package/.next/server/app/api/repositories/restore/route.js.nft.json +1 -1
- package/.next/server/app/api/repositories/restore/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/repositories/route.js +1 -1
- package/.next/server/app/api/repositories/route.js.nft.json +1 -1
- package/.next/server/app/api/repositories/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/repositories/scan/route.js +1 -1
- package/.next/server/app/api/repositories/scan/route.js.nft.json +1 -1
- package/.next/server/app/api/repositories/scan/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/repositories/sync/route.js +1 -1
- package/.next/server/app/api/repositories/sync/route.js.nft.json +1 -1
- package/.next/server/app/api/repositories/sync/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/repositories/validate-path/route.js +1 -0
- package/.next/server/app/api/repositories/validate-path/route.js.nft.json +1 -0
- package/.next/server/app/api/repositories/validate-path/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/sidebar/group-order/route.js +2 -2
- package/.next/server/app/api/sidebar/group-order/route.js.nft.json +1 -1
- package/.next/server/app/api/sidebar/group-order/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/skills/[id]/route.js +1 -1
- package/.next/server/app/api/skills/[id]/route.js.nft.json +1 -1
- package/.next/server/app/api/skills/[id]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/skills/route.js +1 -1
- package/.next/server/app/api/skills/route.js.nft.json +1 -1
- package/.next/server/app/api/skills/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/slash-commands/route.js +1 -1
- package/.next/server/app/api/slash-commands/route.js.nft.json +1 -1
- package/.next/server/app/api/slash-commands/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/templates/[id]/route.js +1 -1
- package/.next/server/app/api/templates/[id]/route.js.nft.json +1 -1
- package/.next/server/app/api/templates/[id]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/templates/route.js +1 -1
- package/.next/server/app/api/templates/route.js.nft.json +1 -1
- package/.next/server/app/api/templates/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/todos/route.js +1 -1
- package/.next/server/app/api/todos/route.js.nft.json +1 -1
- package/.next/server/app/api/todos/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/auto-yes/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/auto-yes/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/auto-yes/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/capture/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/capture/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/capture/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/cli-tool/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/cli-tool/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/cli-tool/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/cmate/schedules/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/cmate/schedules/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/cmate/schedules/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/current-output/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/current-output/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/current-output/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/execution-logs/[logId]/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/execution-logs/[logId]/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/execution-logs/[logId]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/execution-logs/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/execution-logs/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/execution-logs/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/files/[...path]/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/files/[...path]/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/files/[...path]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/branch/create/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/branch/create/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/git/branch/create/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/branch/delete/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/branch/delete/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/git/branch/delete/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/branches/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/branches/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/git/branches/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/checkout/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/checkout/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/git/checkout/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/commit/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/commit/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/git/commit/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/diff/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/diff/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/git/diff/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/fetch/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/fetch/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/git/fetch/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/log/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/log/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/git/log/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/pull/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/pull/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/git/pull/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/push/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/push/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/git/push/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/reset/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/reset/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/git/reset/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/revert/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/revert/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/git/revert/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/show/[commitHash]/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/show/[commitHash]/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/git/show/[commitHash]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/stage/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/stage/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/git/stage/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/staged/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/staged/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/git/staged/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/stash/[index]/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/stash/[index]/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/git/stash/[index]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/stash/apply/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/stash/apply/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/git/stash/apply/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/stash/pop/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/stash/pop/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/git/stash/pop/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/stash/push/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/stash/push/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/git/stash/push/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/stash/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/stash/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/git/stash/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/status/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/status/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/git/status/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/unstage/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/unstage/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/git/unstage/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/working-diff/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/working-diff/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/git/working-diff/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/interrupt/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/interrupt/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/interrupt/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/kill-session/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/kill-session/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/kill-session/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/logs/[filename]/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/logs/[filename]/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/logs/[filename]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/logs/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/logs/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/logs/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/marp-render/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/marp-render/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/marp-render/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/memos/[memoId]/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/memos/[memoId]/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/memos/[memoId]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/memos/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/memos/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/memos/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/messages/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/messages/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/messages/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/prompt-response/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/prompt-response/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/prompt-response/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/respond/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/respond/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/respond/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/schedules/[scheduleId]/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/schedules/[scheduleId]/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/schedules/[scheduleId]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/schedules/active/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/schedules/active/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/schedules/active/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/schedules/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/schedules/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/schedules/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/search/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/search/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/search/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/send/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/send/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/send/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/install/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/install/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/install/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/plan/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/plan/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/plan/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/uninstall/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/uninstall/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/uninstall/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/uninstall-plan/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/uninstall-plan/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/uninstall-plan/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/slash-commands/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/slash-commands/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/slash-commands/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/special-keys/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/special-keys/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/special-keys/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/start-polling/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/start-polling/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/start-polling/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/terminal/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/terminal/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/terminal/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/timers/history/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/timers/history/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/timers/history/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/timers/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/timers/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/timers/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/todos/[todoId]/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/todos/[todoId]/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/todos/[todoId]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/todos/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/todos/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/todos/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/tree/[...path]/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/tree/[...path]/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/tree/[...path]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/tree/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/tree/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/tree/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/upload/[...path]/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/upload/[...path]/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/upload/[...path]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/viewed/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/viewed/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/viewed/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/route.js +1 -1
- package/.next/server/app/api/worktrees/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/route_client-reference-manifest.js +1 -1
- package/.next/server/app/chat/page.js +1 -1
- package/.next/server/app/chat/page.js.nft.json +1 -1
- package/.next/server/app/chat/page_client-reference-manifest.js +1 -1
- package/.next/server/app/login/page_client-reference-manifest.js +1 -1
- package/.next/server/app/manifest.webmanifest/route_client-reference-manifest.js +1 -1
- package/.next/server/app/more/page_client-reference-manifest.js +1 -1
- package/.next/server/app/offline/page_client-reference-manifest.js +1 -1
- package/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/server/app/proxy/[...path]/route.js +1 -1
- package/.next/server/app/proxy/[...path]/route.js.nft.json +1 -1
- package/.next/server/app/proxy/[...path]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/repositories/page.js +2 -2
- package/.next/server/app/repositories/page_client-reference-manifest.js +1 -1
- package/.next/server/app/review/page_client-reference-manifest.js +1 -1
- package/.next/server/app/sessions/page_client-reference-manifest.js +1 -1
- package/.next/server/app/skills/[skillId]/page.js +2 -2
- package/.next/server/app/skills/[skillId]/page.js.nft.json +1 -1
- package/.next/server/app/skills/[skillId]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/skills/page.js +1 -1
- package/.next/server/app/skills/page_client-reference-manifest.js +1 -1
- package/.next/server/app/worktrees/[id]/files/[...path]/page.js +1 -1
- package/.next/server/app/worktrees/[id]/files/[...path]/page.js.nft.json +1 -1
- package/.next/server/app/worktrees/[id]/files/[...path]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/worktrees/[id]/page.js +9 -9
- package/.next/server/app/worktrees/[id]/page.js.nft.json +1 -1
- package/.next/server/app/worktrees/[id]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/worktrees/[id]/terminal/page_client-reference-manifest.js +1 -1
- package/.next/server/app-paths-manifest.json +31 -28
- package/.next/server/chunks/1355.js +1 -0
- package/.next/server/chunks/1808.js +1 -1
- package/.next/server/chunks/2119.js +1 -1
- package/.next/server/chunks/2445.js +1 -1
- package/.next/server/chunks/3543.js +1 -1
- package/.next/server/chunks/3722.js +1 -1
- package/.next/server/chunks/3736.js +1 -1
- package/.next/server/chunks/3753.js +1 -1
- package/.next/server/chunks/3945.js +1 -1
- package/.next/server/chunks/4390.js +1 -0
- package/.next/server/chunks/4444.js +1 -1
- package/.next/server/chunks/5326.js +1 -1
- package/.next/server/chunks/593.js +1 -0
- package/.next/server/chunks/5959.js +2 -2
- package/.next/server/chunks/6065.js +1 -1
- package/.next/server/chunks/6130.js +1 -1
- package/.next/server/chunks/646.js +2 -2
- package/.next/server/chunks/7593.js +1 -0
- package/.next/server/chunks/8356.js +1 -1
- package/.next/server/chunks/9123.js +1 -1
- package/.next/server/chunks/9192.js +1 -1
- package/.next/server/chunks/9687.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/server/src/middleware.js.map +1 -1
- package/.next/static/MqlW91_Se_kEW6mtm-1x0/_buildManifest.js +1 -0
- package/.next/static/chunks/1191-b7dfdfe86b1d31d1.js +1 -0
- package/.next/static/chunks/{4560-04e5aebcab96bfa1.js → 4560-8ffb0bb19f2ba998.js} +1 -1
- package/.next/static/chunks/530.e31cc754677fed0f.js +1 -0
- package/.next/static/chunks/5542-b6457f305d724a6b.js +1 -0
- package/.next/static/chunks/{6488-74d2f443e43c07b7.js → 6488-93870a55f4a3e3cd.js} +1 -1
- package/.next/static/chunks/8566-a6a7c70558927410.js +1 -0
- package/.next/static/chunks/9142-41b13a2f278529cc.js +1 -0
- package/.next/static/chunks/9263.5259f73f89220d64.js +1 -0
- package/.next/static/chunks/9599-d29d2f8eeaf7c249.js +1 -0
- package/.next/static/chunks/app/api/app/update/route-8c8bebe20cebf964.js +1 -0
- package/.next/static/chunks/app/api/app/update-check/route-8c8bebe20cebf964.js +1 -0
- package/.next/static/chunks/app/api/assistant/conversation/route-8c8bebe20cebf964.js +1 -0
- package/.next/static/chunks/app/api/assistant/current-output/route-8c8bebe20cebf964.js +1 -0
- package/.next/static/chunks/app/api/assistant/messages/route-8c8bebe20cebf964.js +1 -0
- package/.next/static/chunks/app/api/assistant/session/route-8c8bebe20cebf964.js +1 -0
- package/.next/static/chunks/app/api/assistant/start/route-8c8bebe20cebf964.js +1 -0
- package/.next/static/chunks/app/api/assistant/terminal/route-8c8bebe20cebf964.js +1 -0
- package/.next/static/chunks/app/api/assistant/tools/route-8c8bebe20cebf964.js +1 -0
- package/.next/static/chunks/app/api/auth/login/route-8c8bebe20cebf964.js +1 -0
- package/.next/static/chunks/app/api/auth/logout/route-8c8bebe20cebf964.js +1 -0
- package/.next/static/chunks/app/api/auth/status/route-8c8bebe20cebf964.js +1 -0
- package/.next/static/chunks/app/api/daily-summary/route-8c8bebe20cebf964.js +1 -0
- package/.next/static/chunks/app/api/daily-summary/status/route-8c8bebe20cebf964.js +1 -0
- package/.next/static/chunks/app/api/external-apps/[id]/health/route-8c8bebe20cebf964.js +1 -0
- package/.next/static/chunks/app/api/external-apps/[id]/route-8c8bebe20cebf964.js +1 -0
- package/.next/static/chunks/app/api/external-apps/route-8c8bebe20cebf964.js +1 -0
- package/.next/static/chunks/app/api/fs/browse/route-8c8bebe20cebf964.js +1 -0
- package/.next/static/chunks/app/api/fs/recent-paths/route-8c8bebe20cebf964.js +1 -0
- package/.next/static/chunks/app/api/hooks/claude-done/route-8c8bebe20cebf964.js +1 -0
- package/.next/static/chunks/app/api/ollama/models/route-8c8bebe20cebf964.js +1 -0
- package/.next/static/chunks/app/api/push/subscriptions/route-8c8bebe20cebf964.js +1 -0
- package/.next/static/chunks/app/api/push/vapid/route-8c8bebe20cebf964.js +1 -0
- package/.next/static/chunks/app/api/repositories/[id]/route-8c8bebe20cebf964.js +1 -0
- package/.next/static/chunks/app/api/repositories/[id]/todos/[todoId]/route-8c8bebe20cebf964.js +1 -0
- package/.next/static/chunks/app/api/repositories/[id]/todos/route-8c8bebe20cebf964.js +1 -0
- package/.next/static/chunks/app/api/repositories/clone/[jobId]/route-8c8bebe20cebf964.js +1 -0
- package/.next/static/chunks/app/api/repositories/clone/route-8c8bebe20cebf964.js +1 -0
- package/.next/static/chunks/app/api/repositories/excluded/route-8c8bebe20cebf964.js +1 -0
- package/.next/static/chunks/app/api/repositories/restore/route-8c8bebe20cebf964.js +1 -0
- package/.next/static/chunks/app/api/repositories/route-8c8bebe20cebf964.js +1 -0
- package/.next/static/chunks/app/api/repositories/scan/route-8c8bebe20cebf964.js +1 -0
- package/.next/static/chunks/app/api/repositories/sync/route-8c8bebe20cebf964.js +1 -0
- package/.next/static/chunks/app/api/repositories/validate-path/route-8c8bebe20cebf964.js +1 -0
- package/.next/static/chunks/app/api/sidebar/group-order/route-8c8bebe20cebf964.js +1 -0
- package/.next/static/chunks/app/api/skills/[id]/route-8c8bebe20cebf964.js +1 -0
- package/.next/static/chunks/app/api/skills/route-8c8bebe20cebf964.js +1 -0
- package/.next/static/chunks/app/api/slash-commands/route-8c8bebe20cebf964.js +1 -0
- package/.next/static/chunks/app/api/templates/[id]/route-8c8bebe20cebf964.js +1 -0
- package/.next/static/chunks/app/api/templates/route-8c8bebe20cebf964.js +1 -0
- package/.next/static/chunks/app/api/todos/route-8c8bebe20cebf964.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/auto-yes/route-8c8bebe20cebf964.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/capture/route-8c8bebe20cebf964.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/cli-tool/route-8c8bebe20cebf964.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/cmate/schedules/route-8c8bebe20cebf964.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/current-output/route-8c8bebe20cebf964.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/execution-logs/[logId]/route-8c8bebe20cebf964.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/execution-logs/route-8c8bebe20cebf964.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/files/[...path]/route-8c8bebe20cebf964.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/branch/create/route-8c8bebe20cebf964.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/branch/delete/route-8c8bebe20cebf964.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/branches/route-8c8bebe20cebf964.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/checkout/route-8c8bebe20cebf964.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/commit/route-8c8bebe20cebf964.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/diff/route-8c8bebe20cebf964.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/fetch/route-8c8bebe20cebf964.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/log/route-8c8bebe20cebf964.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/pull/route-8c8bebe20cebf964.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/push/route-8c8bebe20cebf964.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/reset/route-8c8bebe20cebf964.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/revert/route-8c8bebe20cebf964.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/show/[commitHash]/route-8c8bebe20cebf964.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/stage/route-8c8bebe20cebf964.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/staged/route-8c8bebe20cebf964.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/stash/[index]/route-8c8bebe20cebf964.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/stash/apply/route-8c8bebe20cebf964.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/stash/pop/route-8c8bebe20cebf964.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/stash/push/route-8c8bebe20cebf964.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/stash/route-8c8bebe20cebf964.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/status/route-8c8bebe20cebf964.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/unstage/route-8c8bebe20cebf964.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/working-diff/route-8c8bebe20cebf964.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/interrupt/route-8c8bebe20cebf964.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/kill-session/route-8c8bebe20cebf964.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/logs/[filename]/route-8c8bebe20cebf964.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/logs/route-8c8bebe20cebf964.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/marp-render/route-8c8bebe20cebf964.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/memos/[memoId]/route-8c8bebe20cebf964.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/memos/route-8c8bebe20cebf964.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/messages/route-8c8bebe20cebf964.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/prompt-response/route-8c8bebe20cebf964.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/respond/route-8c8bebe20cebf964.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/route-8c8bebe20cebf964.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/schedules/[scheduleId]/route-8c8bebe20cebf964.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/schedules/active/route-8c8bebe20cebf964.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/schedules/route-8c8bebe20cebf964.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/search/route-8c8bebe20cebf964.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/send/route-8c8bebe20cebf964.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/install/route-8c8bebe20cebf964.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/plan/route-8c8bebe20cebf964.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/uninstall/route-8c8bebe20cebf964.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/uninstall-plan/route-8c8bebe20cebf964.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/skills/route-8c8bebe20cebf964.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/slash-commands/route-8c8bebe20cebf964.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/special-keys/route-8c8bebe20cebf964.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/start-polling/route-8c8bebe20cebf964.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/terminal/route-8c8bebe20cebf964.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/timers/history/route-8c8bebe20cebf964.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/timers/route-8c8bebe20cebf964.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/todos/[todoId]/route-8c8bebe20cebf964.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/todos/route-8c8bebe20cebf964.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/tree/[...path]/route-8c8bebe20cebf964.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/tree/route-8c8bebe20cebf964.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/upload/[...path]/route-8c8bebe20cebf964.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/viewed/route-8c8bebe20cebf964.js +1 -0
- package/.next/static/chunks/app/api/worktrees/route-8c8bebe20cebf964.js +1 -0
- package/.next/static/chunks/app/chat/page-83a2238ab453afaa.js +1 -0
- package/.next/static/chunks/app/manifest.webmanifest/route-8c8bebe20cebf964.js +1 -0
- package/.next/static/chunks/app/proxy/[...path]/route-8c8bebe20cebf964.js +1 -0
- package/.next/static/chunks/app/repositories/page-3c4fb889da48ce24.js +1 -0
- package/.next/static/chunks/app/skills/[skillId]/page-8c40c9683f242207.js +1 -0
- package/.next/static/chunks/app/worktrees/[id]/files/[...path]/{page-6a45f3744da50d95.js → page-6041d3c3db326317.js} +1 -1
- package/.next/static/chunks/app/worktrees/[id]/page-6da38f0a06dfd9db.js +1 -0
- package/.next/static/chunks/webpack-6b35d37d50302d27.js +1 -0
- package/.next/static/css/5127edd9aa8f3b49.css +1 -0
- package/.next/trace +11 -11
- package/.next/types/app/api/fs/browse/route.ts +347 -0
- package/.next/types/app/api/fs/recent-paths/route.ts +347 -0
- package/.next/types/app/api/repositories/validate-path/route.ts +347 -0
- package/.next/types/routes.d.ts +4 -1
- package/.next/types/validator.ts +27 -0
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +15 -0
- package/dist/cli/types/index.d.ts +6 -0
- package/dist/cli/types/index.d.ts.map +1 -1
- package/dist/cli/utils/env-setup.d.ts +8 -0
- package/dist/cli/utils/env-setup.d.ts.map +1 -1
- package/dist/cli/utils/env-setup.js +23 -0
- package/dist/server/src/lib/git/git-exec.js +48 -1
- package/dist/server/src/lib/selected-agents-validator.js +3 -2
- package/dist/server/src/types/markdown-editor.js +13 -1
- package/package.json +1 -1
- package/.next/server/chunks/186.js +0 -1
- package/.next/server/chunks/7013.js +0 -1
- package/.next/server/chunks/9067.js +0 -1
- package/.next/static/1WyelLMRgPnhvA2HmhZmm/_buildManifest.js +0 -1
- package/.next/static/chunks/1668-e703b8b55775844b.js +0 -1
- package/.next/static/chunks/2069-c55de93eb6403961.js +0 -1
- package/.next/static/chunks/4027-000402aee1e3520b.js +0 -1
- package/.next/static/chunks/530.e377b0f1a7a89620.js +0 -1
- package/.next/static/chunks/6007-de36119357dcd418.js +0 -1
- package/.next/static/chunks/6497-ea466b22a6c1ae89.js +0 -1
- package/.next/static/chunks/8361.4bf062be2d2962f4.js +0 -1
- package/.next/static/chunks/8566-9da32e46c9d3fd54.js +0 -1
- package/.next/static/chunks/934-a37509667baa86ee.js +0 -1
- package/.next/static/chunks/app/api/app/update/route-56dad0523d3c4a92.js +0 -1
- package/.next/static/chunks/app/api/app/update-check/route-56dad0523d3c4a92.js +0 -1
- package/.next/static/chunks/app/api/assistant/conversation/route-56dad0523d3c4a92.js +0 -1
- package/.next/static/chunks/app/api/assistant/current-output/route-56dad0523d3c4a92.js +0 -1
- package/.next/static/chunks/app/api/assistant/messages/route-56dad0523d3c4a92.js +0 -1
- package/.next/static/chunks/app/api/assistant/session/route-56dad0523d3c4a92.js +0 -1
- package/.next/static/chunks/app/api/assistant/start/route-56dad0523d3c4a92.js +0 -1
- package/.next/static/chunks/app/api/assistant/terminal/route-56dad0523d3c4a92.js +0 -1
- package/.next/static/chunks/app/api/assistant/tools/route-56dad0523d3c4a92.js +0 -1
- package/.next/static/chunks/app/api/auth/login/route-56dad0523d3c4a92.js +0 -1
- package/.next/static/chunks/app/api/auth/logout/route-56dad0523d3c4a92.js +0 -1
- package/.next/static/chunks/app/api/auth/status/route-56dad0523d3c4a92.js +0 -1
- package/.next/static/chunks/app/api/daily-summary/route-56dad0523d3c4a92.js +0 -1
- package/.next/static/chunks/app/api/daily-summary/status/route-56dad0523d3c4a92.js +0 -1
- package/.next/static/chunks/app/api/external-apps/[id]/health/route-56dad0523d3c4a92.js +0 -1
- package/.next/static/chunks/app/api/external-apps/[id]/route-56dad0523d3c4a92.js +0 -1
- package/.next/static/chunks/app/api/external-apps/route-56dad0523d3c4a92.js +0 -1
- package/.next/static/chunks/app/api/hooks/claude-done/route-56dad0523d3c4a92.js +0 -1
- package/.next/static/chunks/app/api/ollama/models/route-56dad0523d3c4a92.js +0 -1
- package/.next/static/chunks/app/api/push/subscriptions/route-56dad0523d3c4a92.js +0 -1
- package/.next/static/chunks/app/api/push/vapid/route-56dad0523d3c4a92.js +0 -1
- package/.next/static/chunks/app/api/repositories/[id]/route-56dad0523d3c4a92.js +0 -1
- package/.next/static/chunks/app/api/repositories/[id]/todos/[todoId]/route-56dad0523d3c4a92.js +0 -1
- package/.next/static/chunks/app/api/repositories/[id]/todos/route-56dad0523d3c4a92.js +0 -1
- package/.next/static/chunks/app/api/repositories/clone/[jobId]/route-56dad0523d3c4a92.js +0 -1
- package/.next/static/chunks/app/api/repositories/clone/route-56dad0523d3c4a92.js +0 -1
- package/.next/static/chunks/app/api/repositories/excluded/route-56dad0523d3c4a92.js +0 -1
- package/.next/static/chunks/app/api/repositories/restore/route-56dad0523d3c4a92.js +0 -1
- package/.next/static/chunks/app/api/repositories/route-56dad0523d3c4a92.js +0 -1
- package/.next/static/chunks/app/api/repositories/scan/route-56dad0523d3c4a92.js +0 -1
- package/.next/static/chunks/app/api/repositories/sync/route-56dad0523d3c4a92.js +0 -1
- package/.next/static/chunks/app/api/sidebar/group-order/route-56dad0523d3c4a92.js +0 -1
- package/.next/static/chunks/app/api/skills/[id]/route-56dad0523d3c4a92.js +0 -1
- package/.next/static/chunks/app/api/skills/route-56dad0523d3c4a92.js +0 -1
- package/.next/static/chunks/app/api/slash-commands/route-56dad0523d3c4a92.js +0 -1
- package/.next/static/chunks/app/api/templates/[id]/route-56dad0523d3c4a92.js +0 -1
- package/.next/static/chunks/app/api/templates/route-56dad0523d3c4a92.js +0 -1
- package/.next/static/chunks/app/api/todos/route-56dad0523d3c4a92.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/auto-yes/route-56dad0523d3c4a92.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/capture/route-56dad0523d3c4a92.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/cli-tool/route-56dad0523d3c4a92.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/cmate/schedules/route-56dad0523d3c4a92.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/current-output/route-56dad0523d3c4a92.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/execution-logs/[logId]/route-56dad0523d3c4a92.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/execution-logs/route-56dad0523d3c4a92.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/files/[...path]/route-56dad0523d3c4a92.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/branch/create/route-56dad0523d3c4a92.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/branch/delete/route-56dad0523d3c4a92.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/branches/route-56dad0523d3c4a92.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/checkout/route-56dad0523d3c4a92.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/commit/route-56dad0523d3c4a92.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/diff/route-56dad0523d3c4a92.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/fetch/route-56dad0523d3c4a92.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/log/route-56dad0523d3c4a92.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/pull/route-56dad0523d3c4a92.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/push/route-56dad0523d3c4a92.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/reset/route-56dad0523d3c4a92.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/revert/route-56dad0523d3c4a92.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/show/[commitHash]/route-56dad0523d3c4a92.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/stage/route-56dad0523d3c4a92.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/staged/route-56dad0523d3c4a92.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/stash/[index]/route-56dad0523d3c4a92.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/stash/apply/route-56dad0523d3c4a92.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/stash/pop/route-56dad0523d3c4a92.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/stash/push/route-56dad0523d3c4a92.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/stash/route-56dad0523d3c4a92.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/status/route-56dad0523d3c4a92.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/unstage/route-56dad0523d3c4a92.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/working-diff/route-56dad0523d3c4a92.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/interrupt/route-56dad0523d3c4a92.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/kill-session/route-56dad0523d3c4a92.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/logs/[filename]/route-56dad0523d3c4a92.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/logs/route-56dad0523d3c4a92.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/marp-render/route-56dad0523d3c4a92.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/memos/[memoId]/route-56dad0523d3c4a92.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/memos/route-56dad0523d3c4a92.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/messages/route-56dad0523d3c4a92.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/prompt-response/route-56dad0523d3c4a92.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/respond/route-56dad0523d3c4a92.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/route-56dad0523d3c4a92.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/schedules/[scheduleId]/route-56dad0523d3c4a92.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/schedules/active/route-56dad0523d3c4a92.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/schedules/route-56dad0523d3c4a92.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/search/route-56dad0523d3c4a92.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/send/route-56dad0523d3c4a92.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/install/route-56dad0523d3c4a92.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/plan/route-56dad0523d3c4a92.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/uninstall/route-56dad0523d3c4a92.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/uninstall-plan/route-56dad0523d3c4a92.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/skills/route-56dad0523d3c4a92.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/slash-commands/route-56dad0523d3c4a92.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/special-keys/route-56dad0523d3c4a92.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/start-polling/route-56dad0523d3c4a92.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/terminal/route-56dad0523d3c4a92.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/timers/history/route-56dad0523d3c4a92.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/timers/route-56dad0523d3c4a92.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/todos/[todoId]/route-56dad0523d3c4a92.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/todos/route-56dad0523d3c4a92.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/tree/[...path]/route-56dad0523d3c4a92.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/tree/route-56dad0523d3c4a92.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/upload/[...path]/route-56dad0523d3c4a92.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/viewed/route-56dad0523d3c4a92.js +0 -1
- package/.next/static/chunks/app/api/worktrees/route-56dad0523d3c4a92.js +0 -1
- package/.next/static/chunks/app/chat/page-623f5cb9040de639.js +0 -1
- package/.next/static/chunks/app/manifest.webmanifest/route-56dad0523d3c4a92.js +0 -1
- package/.next/static/chunks/app/proxy/[...path]/route-56dad0523d3c4a92.js +0 -1
- package/.next/static/chunks/app/repositories/page-70d4b997492884b8.js +0 -1
- package/.next/static/chunks/app/skills/[skillId]/page-68ed5e9186efe56d.js +0 -1
- package/.next/static/chunks/app/worktrees/[id]/page-983a80ece6289026.js +0 -1
- package/.next/static/chunks/webpack-e655374fed175528.js +0 -1
- package/.next/static/css/b4bdb1f3457fe9a7.css +0 -1
- /package/.next/static/{1WyelLMRgPnhvA2HmhZmm → MqlW91_Se_kEW6mtm-1x0}/_ssgManifest.js +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[11,66,74,219,263,341,532,890,960,1099,1123,1164,1274,1295,1310,1317,1337,1360,1421,1437,1490,1517,1523,1652,1745,2046,2117,2149,2360,2852,2893,3002,3175,3298,3350,3657,3685,3797,3845,3965,3969,3990,4016,4035,4042,4199,4225,4240,4260,4476,4594,4614,4748,4767,4779,4907,4961,4985,5286,5580,5683,6140,6194,6248,6393,6680,6734,6824,6839,7345,7435,7473,7509,7560,7670,7758,7760,7870,7939,8043,8238,8418,8457,8460,8464,8472,8489,8509,8544,8710,8914,8979,9015,9059,9114,9162,9245,9281,9282,9325,9416,9457,9549,9792,9932,9946,9968,9996],{84441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[11,66,74,219,263,341,532,890,960,1099,1123,1164,1274,1295,1310,1317,1337,1360,1421,1437,1490,1517,1523,1652,1745,2046,2117,2149,2360,2852,2893,3002,3175,3298,3350,3657,3685,3797,3845,3965,3969,3990,4016,4035,4042,4199,4225,4240,4260,4476,4594,4614,4748,4767,4779,4907,4961,4985,5286,5580,5683,6140,6194,6248,6393,6680,6734,6824,6839,7345,7435,7473,7509,7560,7670,7758,7760,7870,7939,8043,8238,8418,8457,8460,8464,8472,8489,8509,8544,8710,8914,8979,9015,9059,9114,9162,9245,9281,9282,9325,9416,9457,9549,9792,9932,9946,9968,9996],{84441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3135],{540:(e,t,s)=>{Promise.resolve().then(s.bind(s,24502))},9219:(e,t,s)=>{"use strict";s.d(t,{k:()=>i});var r=s(95155),a=s(12115),l=s(744),n=s(87531);function i(e){let{onRefresh:t,enabled:s=!0,className:i,children:o}=e,{containerRef:c,pullDistance:d,isRefreshing:u,isPulling:p}=function(e){let{onRefresh:t,enabled:s=!0,threshold:r=64,maxPull:l=96,resistance:n=.5}=e,i=(0,a.useRef)(null),[o,c]=(0,a.useState)(0),[d,u]=(0,a.useState)(!1),[p,m]=(0,a.useState)(!1),h=(0,a.useRef)(null),x=(0,a.useRef)(0),f=(0,a.useRef)(!1);f.current=d;let g=(0,a.useCallback)(()=>{h.current=null,x.current=0,c(0),m(!1)},[]),b=(0,a.useCallback)(e=>{if(!s||f.current)return;let t=i.current;t&&!(t.scrollTop>0)&&(h.current=e.touches[0].clientY,x.current=0)},[s]),v=(0,a.useCallback)(e=>{if(null===h.current)return;let t=i.current;if(!t)return;if(t.scrollTop>0)return void g();let s=e.touches[0].clientY-h.current;if(s<=0){0!==x.current&&(x.current=0,c(0),m(!1));return}e.cancelable&&e.preventDefault();let r=Math.min(s*n,l);x.current=r,c(r),m(!0)},[n,l,g]),j=(0,a.useCallback)(async()=>{u(!0),m(!1),c(r);try{await Promise.resolve(t())}finally{u(!1),c(0)}},[t,r]),y=(0,a.useCallback)(()=>{if(null===h.current)return;let e=x.current>=r&&!f.current;h.current=null,x.current=0,e?j():(c(0),m(!1))},[r,j]);return(0,a.useEffect)(()=>{let e=i.current;if(e)return e.addEventListener("touchstart",b,{passive:!0}),e.addEventListener("touchmove",v,{passive:!1}),e.addEventListener("touchend",y,{passive:!0}),e.addEventListener("touchcancel",y,{passive:!0}),()=>{e.removeEventListener("touchstart",b),e.removeEventListener("touchmove",v),e.removeEventListener("touchend",y),e.removeEventListener("touchcancel",y)}},[b,v,y]),{containerRef:i,pullDistance:o,isRefreshing:d,isPulling:p}}({onRefresh:t,enabled:s,threshold:64}),m=u||d>0,h=u?1:Math.min(d/64,1);return(0,r.jsxs)("div",{ref:c,className:(0,n.cn)("relative overflow-auto",i),style:{overscrollBehaviorY:"contain"},"data-testid":"pull-to-refresh",children:[(0,r.jsx)("div",{className:"pointer-events-none absolute inset-x-0 top-0 z-10 flex justify-center",style:{transform:"translateY(".concat(m?Math.max(d-24,8):-32,"px)"),opacity:h,transition:p?"none":"transform 0.2s ease-out, opacity 0.2s ease-out"},"data-testid":"pull-to-refresh-indicator",role:"status","aria-hidden":!u,children:(0,r.jsx)(l.y$,{size:"sm",variant:"accent"})}),(0,r.jsx)("div",{style:{transform:m?"translateY(".concat(d,"px)"):void 0,transition:p?"none":"transform 0.2s ease-out"},children:o})]})}},18514:(e,t,s)=>{"use strict";s.d(t,{A:()=>r});let r=(0,s(71847).A)("pencil",[["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}],["path",{d:"m15 5 4 4",key:"1mk7zo"}]])},24502:(e,t,s)=>{"use strict";s.r(t),s.d(t,{default:()=>R});var r=s(95155),a=s(12115),l=s(4560),n=s(9219),i=s(38218),o=s(18955),c=s(58734),d=s(744),u=s(80344);class p{static getInstance(){return p.instance||(p.instance=new p),p.instance}normalize(e){let t=e.match(/^ssh:\/\/git@([^:\/]+)(:\d+)?\/(.+?)(\.git)?$/);if(t)return"https://".concat(t[1],"/").concat(t[3]).toLowerCase().replace(/\/$/,"");let s=e.match(/^git@([^:]+):(.+?)(\.git)?$/);return s?"https://".concat(s[1],"/").concat(s[2]).toLowerCase().replace(/\/$/,""):e.replace(/\.git\/?$/,"").replace(/\/$/,"").toLowerCase()}isSameRepository(e,t){return this.normalize(e)===this.normalize(t)}extractRepoName(e){let t=e.match(/^ssh:\/\/git@[^\/]+\/(.+?)(\.git)?$/);if(t){let e=t[1].split("/");return e[e.length-1]}let s=e.match(/:(.+?)(\.git)?$/);if(s&&e.startsWith("git@")){let e=s[1].split("/");return e[e.length-1]}let r=e.match(/\/([^\/]+?)(\.git)?$/);return r?r[1]:""}getUrlType(e){return e.startsWith("https://")?"https":e.startsWith("git@")||e.startsWith("ssh://")?"ssh":null}validate(e){if(!e||"string"!=typeof e||""===e.trim())return{valid:!1,error:"EMPTY_URL"};let t=e.trim();return t.startsWith("https://")?/^https:\/\/[^\/]+\/[^\/]+\/[^\/]+(\.git)?$/.test(t)?{valid:!0}:{valid:!1,error:"INVALID_URL_FORMAT"}:t.startsWith("git@")?/^git@[^:]+:.+\/.+(\.git)?$/.test(t)?{valid:!0}:{valid:!1,error:"INVALID_URL_FORMAT"}:t.startsWith("ssh://")?/^ssh:\/\/git@[^\/]+(:\d+)?\/[^\/]+\/.+(\.git)?$/.test(t)?{valid:!0}:{valid:!1,error:"INVALID_URL_FORMAT"}:{valid:!1,error:"INVALID_URL_FORMAT"}}constructor(){}}var m=s(27937),h=s(59847);let x=(0,s(71847).A)("corner-left-up",[["path",{d:"M14 9 9 4 4 9",key:"1af5af"}],["path",{d:"M20 20h-7a4 4 0 0 1-4-4V4",key:"1blwi3"}]]);var f=s(39332);let g="w-full min-h-[44px] flex items-center gap-2 px-3 py-2 rounded-md text-left text-sm text-foreground hover:bg-muted transition-colors touch-manipulation";function b(e){var t,s;let{isOpen:l,onClose:n,onSelect:i,initialPath:c}=e,p=(0,o.c)("common"),[b,v]=(0,a.useState)(null),[j,y]=(0,a.useState)(!1),[N,k]=(0,a.useState)(null),w=(0,a.useCallback)(async e=>{y(!0),k(null);try{v(await u.gC.browse(e))}catch(e){k((0,u.hS)(e))}finally{y(!1)}},[]);(0,a.useEffect)(()=>{if(!l)return;let e=!1;return(async()=>{y(!0),k(null);try{let t=await u.gC.browse(c);if(e)return;let s=c?void 0:t.recentPaths[0];if(s)try{let t=await u.gC.browse(s);e||v(t);return}catch(t){if(e)return}v(t)}catch(t){e||k((0,u.hS)(t))}finally{e||y(!1)}})(),()=>{e=!0}},[l,c]);let C=(0,a.useCallback)(async()=>{let e=null==b?void 0:b.path;e&&(await u.gC.addRecentPath(e).catch(()=>void 0),i(e),n())},[null==b?void 0:b.path,i,n]),S=function(e,t){let s=[{label:"/",path:null}];if(!e)return s;let r=t.filter(t=>e===t||e.startsWith("".concat(t,"/"))).sort((e,t)=>t.length-e.length)[0];if(!r)return s.push({label:e,path:e}),s;s.push({label:r,path:r});let a=e.slice(r.length).split("/").filter(Boolean),l=r;for(let e of a)l="".concat(l,"/").concat(e),s.push({label:e,path:l});return s}(null!=(t=null==b?void 0:b.path)?t:null,null!=(s=null==b?void 0:b.roots)?s:[]),R=null!==b&&null===b.path;return(0,r.jsx)(d.Jh,{isOpen:l,onClose:n,title:p("repositories.pickerTitle"),size:"full",children:(0,r.jsxs)("div",{className:"flex flex-col h-[calc(100vh-12rem)] md:h-[26rem]",children:[(0,r.jsx)("nav",{"aria-label":p("repositories.pickerTitle"),className:"flex items-center flex-wrap gap-1 pb-2 border-b border-border text-xs",children:S.map((e,t)=>{var s;return(0,r.jsxs)(a.Fragment,{children:[t>0&&(0,r.jsx)(m.A,{className:"w-3 h-3 text-muted-foreground flex-shrink-0","aria-hidden":!0}),(0,r.jsx)("button",{type:"button",onClick:()=>{var t;w(null!=(t=e.path)?t:void 0)},disabled:t===S.length-1,className:"min-h-[32px] px-1.5 rounded font-mono text-muted-foreground hover:text-foreground hover:bg-muted disabled:text-foreground disabled:font-semibold disabled:hover:bg-transparent touch-manipulation",children:e.label})]},null!=(s=e.path)?s:"roots")})}),(0,r.jsxs)("div",{className:"flex-1 min-h-0 overflow-y-auto py-2",children:[j&&(0,r.jsxs)("div",{className:"flex items-center gap-2 px-3 py-2 text-sm text-muted-foreground",children:[(0,r.jsx)(d.y$,{size:"sm"}),p("repositories.pickerLoading")]}),!j&&N&&(0,r.jsx)("p",{className:"px-3 py-2 text-sm text-danger-foreground",children:N}),!j&&!N&&b&&(0,r.jsxs)(r.Fragment,{children:[R&&b.recentPaths.length>0&&(0,r.jsxs)("div",{className:"mb-3",children:[(0,r.jsx)("p",{className:"px-3 pb-1 text-xs font-medium text-muted-foreground",children:p("repositories.pickerRecentLabel")}),b.recentPaths.map(e=>(0,r.jsxs)("button",{type:"button",onClick:()=>void w(e),className:g,children:[(0,r.jsx)(h.A,{className:"w-4 h-4 text-muted-foreground flex-shrink-0","aria-hidden":!0}),(0,r.jsx)("span",{className:"font-mono truncate",children:e})]},e))]}),R&&(0,r.jsx)("p",{className:"px-3 pb-1 text-xs font-medium text-muted-foreground",children:p("repositories.pickerRootsLabel")}),b.parent&&(0,r.jsxs)("button",{type:"button",onClick:()=>{var e;w(null!=(e=b.parent)?e:void 0)},className:g,children:[(0,r.jsx)(x,{className:"w-4 h-4 text-muted-foreground flex-shrink-0","aria-hidden":!0}),p("repositories.pickerUp")]}),b.entries.map(e=>(0,r.jsxs)("button",{type:"button",onClick:()=>void w(e.path),className:g,children:[(0,r.jsx)(h.A,{className:"w-4 h-4 text-muted-foreground flex-shrink-0","aria-hidden":!0}),(0,r.jsx)("span",{className:"font-mono truncate flex-1",children:e.name}),e.isGitRepo&&(0,r.jsxs)(d.Ex,{variant:"info",className:"flex-shrink-0",children:[(0,r.jsx)(f.A,{className:"w-3 h-3 mr-1","aria-hidden":!0}),null===e.worktreeCount?"git":p("repositories.pickerWorktreeCount",{count:e.worktreeCount})]})]},e.path)),0===b.entries.length&&(0,r.jsx)("p",{className:"px-3 py-2 text-sm text-muted-foreground",children:p("repositories.pickerEmpty")}),b.truncated&&(0,r.jsx)("p",{className:"px-3 py-2 text-xs text-warning-foreground",children:p("repositories.pickerTruncated",{limit:b.entryLimit})})]})]}),(0,r.jsxs)("div",{className:"flex gap-2 pt-2 border-t border-border",children:[(0,r.jsx)(d.$n,{type:"button",variant:"primary",onClick:()=>void C(),disabled:!(null==b?void 0:b.path),className:"min-h-[44px]",children:p("repositories.pickerSelectHere")}),(0,r.jsx)(d.$n,{type:"button",variant:"ghost",onClick:n,className:"min-h-[44px]",children:p("cancel")})]})]})})}let v={ok:"text-success-foreground",warn:"text-warning-foreground",error:"text-danger-foreground"};function j(e){var t,s,l;let{onRepositoryAdded:n}=e,i=(0,o.c)("common"),[m,h]=(0,a.useState)(!1),[x,f]=(0,a.useState)("local"),[g,j]=(0,a.useState)(""),[y,N]=(0,a.useState)(""),[k,w]=(0,a.useState)(!1),[C,S]=(0,a.useState)(!1),[R,E]=(0,a.useState)(!1),[A,L]=(0,a.useState)(!1),[$,T]=(0,a.useState)(null),[D,P]=(0,a.useState)(null),[z,U]=(0,a.useState)(null),[_,M]=(0,a.useState)(!1),[F,I]=(0,a.useState)([]),[V,O]=(0,a.useState)(null),W=p.getInstance(),H=(0,a.useCallback)(async e=>{try{let s=await u.Rx.getCloneStatus(e);if("completed"===s.status)U(i("repositories.cloneSuccess")),L(!1),T(null),N(""),w(!1),h(!1),n&&n();else if("failed"===s.status){var t;P((null==(t=s.error)?void 0:t.message)||i("repositories.cloneFailed")),L(!1),T(null)}else("running"===s.status||"pending"===s.status)&&setTimeout(()=>H(e),2e3)}catch(e){P((0,u.hS)(e)),L(!1),T(null)}},[n,i]);(0,a.useEffect)(()=>{$&&A&&H($)},[$,A]),(0,a.useEffect)(()=>{if(!m)return;let e=!1;return u.gC.browse().then(t=>{e||I(t.roots)}).catch(()=>void 0),()=>{e=!0}},[m]),(0,a.useEffect)(()=>{let e=g.trim();if(!e)return void O(null);let t=!1,s=setTimeout(()=>{u.Rx.validatePath(e).then(e=>{t||O(e)}).catch(()=>{t||O(null)})},400);return()=>{t=!0,clearTimeout(s)}},[g]);let Y=async e=>{if(e.preventDefault(),!g.trim())return void P(i("repositories.pathRequired"));P(null),U(null),S(!0);try{let e=await u.Rx.scan(g);U(e.message),j(""),h(!1),n&&n()}catch(e){P((0,u.hS)(e))}finally{S(!1)}},G=async e=>{if(e.preventDefault(),!y.trim())return void P(i("repositories.urlRequired"));let t=W.validate(y.trim());if(!t.valid)return void("EMPTY_URL"===t.error?P(i("repositories.urlRequired")):P(i("repositories.urlInvalid")));P(null),U(null),L(!0);try{let e=await u.Rx.clone(y.trim(),{fork:k});T(e.jobId)}catch(e){P((0,u.hS)(e)),L(!1)}},q=async()=>{P(null),U(null),E(!0);try{let e=await u.Rx.sync();U(e.message),n&&n()}catch(e){P((0,u.hS)(e))}finally{E(!1)}},B=()=>{h(!1),j(""),N(""),w(!1),P(null),f("local")},Z=V?(t=i,(s=V).valid?s.isGitRepo?{message:t("repositories.validationGitRepo",{count:null!=(l=s.worktreeCount)?l:1}),intent:"ok"}:{message:t("repositories.validationNotGitRepo"),intent:"warn"}:"not-found"===s.reason?{message:t("repositories.validationNotFound"),intent:"error"}:{message:t("repositories.validationOutsideRoots",{roots:s.allowedRootsLabel}),intent:"error"}):null;return(0,r.jsxs)("div",{className:"space-y-4",children:[(0,r.jsxs)("div",{className:"flex gap-2 flex-wrap",children:[!m&&(0,r.jsxs)(d.$n,{variant:"primary",size:"sm",onClick:()=>h(!0),children:["+ ",i("repositories.add")]}),(0,r.jsx)(d.$n,{variant:"secondary",size:"sm",onClick:q,disabled:R,children:R?i("repositories.syncing"):i("repositories.syncAll")})]}),m&&(0,r.jsx)(d.Zp,{padding:"lg",children:(0,r.jsxs)("div",{className:"space-y-4",children:[(0,r.jsx)("div",{children:(0,r.jsx)("h3",{className:"text-lg font-semibold mb-2 text-foreground",children:i("repositories.addNewTitle")})}),(0,r.jsxs)(d.tU,{value:x,onValueChange:e=>f(e),children:[(0,r.jsxs)(d.j7,{className:"w-full",children:[(0,r.jsx)(d.Xi,{value:"local",children:i("repositories.localPathTab")}),(0,r.jsx)(d.Xi,{value:"url",children:i("repositories.cloneUrlTab")})]}),(0,r.jsx)(d.av,{value:"local",children:(0,r.jsxs)("form",{onSubmit:Y,className:"space-y-4",children:[(0,r.jsxs)("div",{children:[(0,r.jsx)("p",{className:"text-sm text-muted-foreground mb-4",children:i("repositories.localPathDescription")}),(0,r.jsx)("label",{htmlFor:"repositoryPath",className:"block text-sm font-medium text-foreground mb-2",children:i("repositories.localPathLabel")}),(0,r.jsxs)("div",{className:"flex gap-2",children:[(0,r.jsx)(d.pd,{id:"repositoryPath",type:"text",value:g,onChange:e=>j(e.target.value),placeholder:"/absolute/path/to/repository",className:"font-mono flex-1",disabled:C}),(0,r.jsxs)(d.$n,{type:"button",variant:"secondary",onClick:()=>M(!0),disabled:C,className:"min-h-[44px] flex-shrink-0",children:[(0,r.jsx)(c.A,{className:"w-4 h-4 mr-1","aria-hidden":!0}),i("repositories.browse")]})]}),(0,r.jsx)("p",{className:"text-xs text-muted-foreground mt-1",children:i("repositories.localPathExample",{example:F[0]?"".concat(F[0],"/my-repo"):"/Users/username/projects/my-repo"})}),F.length>0&&(0,r.jsx)("p",{className:"text-xs text-muted-foreground mt-1 font-mono break-all",children:i("repositories.localPathAllowedRoots",{roots:F.join(", ")})}),Z&&(0,r.jsx)("p",{className:"text-xs mt-1 ".concat(v[Z.intent]),children:Z.message})]}),(0,r.jsxs)("div",{className:"flex gap-2",children:[(0,r.jsx)(d.$n,{type:"submit",variant:"primary",disabled:C||!g.trim(),children:C?i("repositories.scanning"):i("repositories.scan")}),(0,r.jsx)(d.$n,{type:"button",variant:"ghost",onClick:B,disabled:C,children:i("cancel")})]})]})}),(0,r.jsx)(d.av,{value:"url",children:(0,r.jsxs)("form",{onSubmit:G,className:"space-y-4",children:[(0,r.jsxs)("div",{children:[(0,r.jsx)("p",{className:"text-sm text-muted-foreground mb-4",children:i("repositories.cloneUrlDescription")}),(0,r.jsx)("label",{htmlFor:"cloneUrl",className:"block text-sm font-medium text-foreground mb-2",children:i("repositories.cloneUrlLabel")}),(0,r.jsx)(d.pd,{id:"cloneUrl",type:"text",value:y,onChange:e=>N(e.target.value),placeholder:"https://github.com/user/repo.git",className:"font-mono",disabled:A}),(0,r.jsx)("p",{className:"text-xs text-muted-foreground mt-1",children:i("repositories.cloneUrlHelp")})]}),(0,r.jsxs)("div",{className:"flex items-start gap-2",children:[(0,r.jsx)("input",{id:"forkBeforeClone",type:"checkbox",checked:k,onChange:e=>w(e.target.checked),disabled:A,className:"mt-1"}),(0,r.jsxs)("label",{htmlFor:"forkBeforeClone",className:"text-sm text-foreground",children:[i("repositories.forkOptionLabel"),(0,r.jsx)("span",{className:"block text-xs text-muted-foreground",children:i("repositories.forkOptionHelp")})]})]}),(0,r.jsxs)("div",{className:"flex gap-2",children:[(0,r.jsx)(d.$n,{type:"submit",variant:"primary",disabled:A||!y.trim(),children:A?i("repositories.cloning"):k?i("repositories.forkAndClone"):i("repositories.clone")}),(0,r.jsx)(d.$n,{type:"button",variant:"ghost",onClick:B,disabled:A,children:i("cancel")})]})]})})]})]})}),z&&(0,r.jsx)("div",{className:"p-4 bg-success-subtle border border-success-border rounded-lg",children:(0,r.jsx)("p",{className:"text-sm text-success-foreground",children:z})}),D&&(0,r.jsx)("div",{className:"p-4 bg-danger-subtle border border-danger-border rounded-lg",children:(0,r.jsx)("p",{className:"text-sm text-danger-foreground",children:D})}),(0,r.jsx)(b,{isOpen:_,onClose:()=>M(!1),onSelect:e=>{j(e),P(null)}})]})}var y=s(18514),N=s(87531);let k={id:null,value:"",error:null,saving:!1};function w(){return(0,r.jsx)("thead",{className:"bg-muted border-b border-border",children:(0,r.jsxs)("tr",{children:[(0,r.jsx)("th",{className:"px-4 py-2 text-left font-medium text-foreground",children:"Name"}),(0,r.jsx)("th",{className:"px-4 py-2 text-left font-medium text-foreground",children:"Display name"}),(0,r.jsx)("th",{className:"px-4 py-2 text-left font-medium text-foreground",children:"Visibility"}),(0,r.jsx)("th",{className:"px-4 py-2 text-left font-medium text-foreground",children:"Path"}),(0,r.jsx)("th",{className:"px-4 py-2 text-left font-medium text-foreground",children:"Worktrees"}),(0,r.jsx)("th",{className:"px-4 py-2 text-left font-medium text-foreground",children:"Status"}),(0,r.jsx)("th",{className:"px-4 py-2 text-left font-medium text-foreground",children:"Actions"})]})})}function C(e){let{repo:t,pending:s,onToggle:a}=e,l=t.visible;return(0,r.jsxs)("button",{type:"button",role:"switch","aria-checked":l,"aria-label":l?"Hide ".concat(t.name," from sidebar"):"Show ".concat(t.name," in sidebar"),"data-testid":"visibility-toggle-".concat(t.id),onClick:()=>a(t),disabled:s,className:(0,N.cn)("inline-flex items-center gap-1.5 rounded-md px-2 py-1 text-xs font-medium","text-muted-foreground transition-colors","hover:bg-muted hover:text-foreground","focus:outline-none focus-visible:ring-2 focus-visible:ring-ring","disabled:opacity-60 disabled:cursor-not-allowed"),children:[(0,r.jsx)(d.md,{status:l?"ready":"idle",size:"sm",label:l?"Visible":"Hidden","aria-hidden":"true"}),l?"Visible":"Hidden"]})}let S=(0,a.memo)(function(e){let{refreshKey:t,onChanged:s}=e,l=(0,o.c)("common"),[n,i]=(0,a.useState)([]),[c,p]=(0,a.useState)(!0),[m,h]=(0,a.useState)(null),[x,f]=(0,a.useState)(k),[g,b]=(0,a.useState)(null),[v,j]=(0,a.useState)(new Set),N=(0,a.useCallback)(async()=>{p(!0),h(null);try{let e=await u.Rx.list();i(e.repositories)}catch(e){h((0,u.hS)(e))}finally{p(!1)}},[]);(0,a.useEffect)(()=>{N()},[N,t]);let S=(0,a.useCallback)(e=>{var t;f({id:e.id,value:null!=(t=e.displayName)?t:"",error:null,saving:!1}),b(null)},[]),R=(0,a.useCallback)(()=>{f(k)},[]),E=(0,a.useCallback)(e=>{f(t=>{if(null===t.id)return t;let s=e.length>100?"Display name must be ".concat(100," characters or less"):null;return{...t,value:e,error:s}})},[]),A=(0,a.useCallback)(async e=>{let t=x.value.trim();if(t.length>100)return void f(e=>({...e,error:"Display name must be ".concat(100," characters or less")}));f(e=>({...e,saving:!0,error:null}));try{let r=0===t.length?null:t,a=await u.Rx.updateDisplayName(e.id,r);i(t=>t.map(t=>t.id===e.id?{...t,...a.repository}:t)),f(k),b({type:"success",message:"Display name updated"}),s&&s()}catch(t){let e=(0,u.hS)(t);f(t=>({...t,saving:!1,error:e})),b({type:"error",message:e})}},[x.value,s]),L=(0,a.useCallback)((e,t)=>{"Enter"===e.key?(e.preventDefault(),A(t)):"Escape"===e.key&&(e.preventDefault(),R())},[R,A]),$=(0,a.useCallback)(async e=>{if(v.has(e.id))return;let t=!e.visible;j(t=>{let s=new Set(t);return s.add(e.id),s}),i(s=>s.map(s=>s.id===e.id?{...s,visible:t}:s)),b(null);try{let r=await u.Rx.updateVisibility(e.id,t);i(t=>t.map(t=>t.id===e.id?{...t,...r.repository}:t)),s&&s()}catch(t){i(t=>t.map(t=>t.id===e.id?{...e}:t)),b({type:"error",message:(0,u.hS)(t)})}finally{j(t=>{let s=new Set(t);return s.delete(e.id),s})}},[s,v]);return c&&0===n.length?(0,r.jsx)(d.Zp,{padding:"none",children:(0,r.jsx)("div",{className:"overflow-x-auto","data-testid":"repository-list-loading",role:"status","aria-label":l("repositories.loading"),children:(0,r.jsxs)("table",{className:"min-w-full text-sm",children:[(0,r.jsx)(w,{}),(0,r.jsx)("tbody",{children:[0,1,2].map(e=>(0,r.jsxs)("tr",{className:"border-b border-border",children:[(0,r.jsx)("td",{className:"px-4 py-3 align-top",children:(0,r.jsx)(d.EA,{className:"h-4 w-24"})}),(0,r.jsx)("td",{className:"px-4 py-3 align-top",children:(0,r.jsx)(d.EA,{className:"h-4 w-20"})}),(0,r.jsx)("td",{className:"px-4 py-3 align-top",children:(0,r.jsx)(d.EA,{className:"h-4 w-16"})}),(0,r.jsx)("td",{className:"px-4 py-3 align-top",children:(0,r.jsx)(d.EA,{className:"h-4 w-48"})}),(0,r.jsx)("td",{className:"px-4 py-3 align-top",children:(0,r.jsx)(d.EA,{className:"h-4 w-10"})}),(0,r.jsx)("td",{className:"px-4 py-3 align-top",children:(0,r.jsx)(d.EA,{className:"h-4 w-14"})}),(0,r.jsx)("td",{className:"px-4 py-3 align-top",children:(0,r.jsx)(d.EA,{className:"h-4 w-20"})})]},e))})]})})}):m?(0,r.jsx)(d.Zp,{padding:"lg",children:(0,r.jsxs)("div",{className:"space-y-3",children:[(0,r.jsxs)("p",{className:"text-sm text-danger-foreground",children:["Failed to load repositories: ",m]}),(0,r.jsx)(d.$n,{variant:"secondary",size:"sm",onClick:()=>void N(),children:"Retry"})]})}):(0,r.jsxs)("div",{className:"space-y-3",children:[g&&(0,r.jsx)("div",{role:"status",className:"p-3 rounded-lg text-sm ".concat("success"===g.type?"bg-success-subtle border border-success-border text-success-foreground":"bg-danger-subtle border border-danger-border text-danger-foreground"),children:g.message}),(0,r.jsx)(d.Zp,{padding:"none",children:(0,r.jsx)("div",{className:"overflow-x-auto",children:(0,r.jsxs)("table",{className:"min-w-full text-sm",children:[(0,r.jsx)(w,{}),(0,r.jsxs)("tbody",{children:[0===n.length&&(0,r.jsx)("tr",{children:(0,r.jsx)("td",{colSpan:7,className:"px-4 py-6 text-center text-muted-foreground",children:l("repositories.empty")})}),n.map(e=>{let t=x.id===e.id;return(0,r.jsxs)("tr",{className:"border-b border-border","data-testid":"repository-row-".concat(e.id),children:[(0,r.jsx)("td",{className:"px-4 py-3 align-top text-foreground",children:e.name}),(0,r.jsx)("td",{className:"px-4 py-3 align-top",children:t?(0,r.jsxs)("div",{className:"space-y-1",children:[(0,r.jsx)(d.pd,{"aria-label":"Edit display name for ".concat(e.name),type:"text",value:x.value,disabled:x.saving,maxLength:101,onChange:e=>E(e.target.value),onKeyDown:t=>L(t,e)}),x.error&&(0,r.jsx)("p",{className:"text-xs text-danger-foreground",children:x.error})]}):e.displayName?(0,r.jsx)("span",{className:"text-foreground",children:e.displayName}):(0,r.jsx)("span",{className:"text-muted-foreground","aria-hidden":"true",children:"—"})}),(0,r.jsx)("td",{className:"px-4 py-3 align-top",children:(0,r.jsx)(C,{repo:e,pending:v.has(e.id),onToggle:$})}),(0,r.jsx)("td",{className:"px-4 py-3 align-top",children:(0,r.jsx)("span",{className:"block max-w-[240px] truncate font-mono text-xs text-muted-foreground",title:e.path,children:e.path})}),(0,r.jsx)("td",{className:"px-4 py-3 align-top text-foreground",children:e.worktreeCount}),(0,r.jsx)("td",{className:"px-4 py-3 align-top",children:(0,r.jsxs)("span",{className:"inline-flex items-center gap-1.5 text-sm text-muted-foreground",children:[(0,r.jsx)(d.md,{status:e.enabled?"ready":"idle",size:"sm",label:e.enabled?"Enabled":"Disabled","aria-hidden":"true"}),e.enabled?"Enabled":"Disabled"]})}),(0,r.jsx)("td",{className:"px-4 py-3 align-top",children:t?(0,r.jsxs)("div",{className:"flex gap-2",children:[(0,r.jsx)(d.$n,{variant:"primary",size:"sm",onClick:()=>void A(e),disabled:x.saving||null!==x.error,children:x.saving?"Saving...":"Save"}),(0,r.jsx)(d.$n,{variant:"ghost",size:"sm",onClick:R,disabled:x.saving,children:"Cancel"})]}):(0,r.jsx)(d.$n,{variant:"ghost",size:"sm",className:"px-2",onClick:()=>S(e),"aria-label":"Edit display name for ".concat(e.name),children:(0,r.jsx)(y.A,{className:"h-4 w-4","aria-hidden":"true"})})})]},e.id)})]})]})})})]})});function R(){let e=(0,i.a)(),[t,s]=(0,a.useState)(0),o=(0,a.useCallback)(()=>{s(e=>e+1)},[]),c=(0,a.useCallback)(async()=>{s(e=>e+1),await new Promise(e=>setTimeout(e,500))},[]);return(0,r.jsx)(l.GV,{children:(0,r.jsxs)(n.k,{onRefresh:c,enabled:e,className:"container-custom py-8 h-full",children:[(0,r.jsxs)("div",{className:"mb-6",children:[(0,r.jsx)("h1",{className:"text-2xl font-bold text-foreground mb-2",children:"Repositories"}),(0,r.jsx)("p",{className:"text-sm text-muted-foreground",children:"Manage repositories and worktrees."})]}),(0,r.jsxs)("div",{className:"space-y-6",children:[(0,r.jsx)(j,{onRepositoryAdded:o}),(0,r.jsx)(S,{refreshKey:t,onChanged:o})]})]})})}},27937:(e,t,s)=>{"use strict";s.d(t,{A:()=>r});let r=(0,s(71847).A)("chevron-right",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]])},58734:(e,t,s)=>{"use strict";s.d(t,{A:()=>r});let r=(0,s(71847).A)("folder-open",[["path",{d:"m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2",key:"usdka0"}]])}},e=>{e.O(0,[6809,4909,2770,790,4974,6402,744,6488,4560,8441,1255,7358],()=>e(e.s=540)),_N_E=e.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9404],{64386:(e,s,t)=>{"use strict";t.r(s),t.d(s,{default:()=>I});var a=t(95155),l=t(20063),i=t(4560),r=t(12115),n=t(52619),d=t.n(n),o=t(18955),c=t(35626),m=t(744),x=t(75333),u=t(68331),h=t(24027),g=t(95584);function p(e){let{changelog:s}=e,t=(0,o.c)("skills"),l=(0,g.RG)(s).trim();return 0===l.length?(0,a.jsx)("p",{className:"text-sm text-muted-foreground","data-testid":"skill-changelog-empty",children:t("detail.changelogEmpty")}):(0,a.jsxs)("div",{"data-testid":"skill-changelog",children:[(0,a.jsx)("div",{className:"prose prose-sm max-w-none dark:prose-invert break-words",children:(0,a.jsx)(h.G8,{content:l})}),(0,a.jsx)("p",{className:"mt-2 text-xs text-muted-foreground",children:t("detail.mediaStripped")})]})}var j=t(34380),f=t(37381),k=t(80130);let b={status:"loading",catalog:null,skill:null,failure:null};function v(e){let{label:s,children:t,mono:l=!1}=e;return(0,a.jsxs)("div",{className:"min-w-0",children:[(0,a.jsx)("dt",{className:"text-xs font-medium text-muted-foreground",children:s}),(0,a.jsx)("dd",{className:"mt-0.5 text-sm text-foreground ".concat(l?"break-all font-mono text-xs":"break-words"),children:t})]})}function N(e){let{title:s,children:t,testId:l}=e;return(0,a.jsxs)(m.Zp,{"data-testid":l,className:"space-y-3",children:[(0,a.jsx)("h2",{className:"text-base font-semibold text-foreground",children:s}),t]})}function y(e){var s;let{compatibility:t}=e,l=(0,o.c)("skills");return(0,a.jsx)("p",{className:"text-sm text-foreground","data-testid":"skill-compatibility-reason",children:l((0,g.e5)(t.messageKey),{range:t.requiredRange,currentVersion:null!=(s=t.currentVersion)?s:""})})}function w(e){let{version:s}=e,t=(0,o.c)("skills");return(0,a.jsxs)(m.Zp,{"data-testid":"skill-version-".concat(s.version),className:"space-y-3",padding:"sm",children:[(0,a.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,a.jsx)("span",{className:"font-mono text-sm font-semibold text-foreground",children:s.version}),s.prerelease&&(0,a.jsx)(m.Ex,{variant:"warning",children:t("detail.prerelease")}),(0,a.jsx)(x.Xz,{status:s.compatibility.commandmate.status}),(0,a.jsx)(x.qW,{risk:s.declaredRisk})]}),(0,a.jsxs)("dl",{className:"grid grid-cols-1 gap-3 sm:grid-cols-2",children:[(0,a.jsx)(v,{label:t("detail.publishedAt"),children:s.publishedAt}),(0,a.jsx)(v,{label:t("detail.requiredRangeLabel"),children:s.compatibility.commandmate.requiredRange}),(0,a.jsx)(v,{label:t("detail.sourceRepository"),children:s.source.repository}),(0,a.jsx)(v,{label:t("detail.sourceRef"),children:s.source.ref}),(0,a.jsx)(v,{label:t("detail.sourceCommit"),mono:!0,children:s.source.commit}),(0,a.jsx)(v,{label:t("detail.packageAsset"),mono:!0,children:s.artifact.assetName}),(0,a.jsx)(v,{label:t("detail.packageDigest"),mono:!0,children:s.artifact.sha256}),(0,a.jsx)(v,{label:t("detail.packageSize"),children:t("detail.packageBytes",{bytes:s.artifact.size})})]}),(0,a.jsx)("div",{className:"flex flex-wrap gap-1.5",children:s.compatibility.agents.length>0?s.compatibility.agents.map(e=>(0,a.jsx)(x.uE,{agent:e},e.agent)):(0,a.jsx)("p",{className:"text-xs text-muted-foreground",children:t("compatibility.agentsUnknown")})}),(0,a.jsxs)("div",{children:[(0,a.jsx)("h3",{className:"text-xs font-medium text-muted-foreground",children:t("detail.changelogHeading")}),(0,a.jsx)("div",{className:"mt-1",children:(0,a.jsx)(p,{changelog:s.changelog})})]})]})}function V(e){var s,t,l,i,n,h,p,V;let{skillId:I}=e,R=(0,o.c)("skills"),[q,A]=(0,r.useState)(b),[E,C]=(0,r.useState)(0);(0,r.useEffect)(()=>{let e=new AbortController;return A(b),(0,k.Db)(I,e.signal).then(s=>{e.signal.aborted||A(s.ok?{status:"loaded",catalog:s.data.catalog,skill:s.data.skill,failure:null}:{status:"error",catalog:null,skill:null,failure:s.failure})}).catch(()=>{}),()=>e.abort()},[I,E]);let H=(0,r.useCallback)(()=>C(e=>e+1),[]),_=(0,a.jsxs)(d(),{href:"/skills",className:"inline-flex items-center gap-1 text-sm text-accent-600 hover:underline dark:text-accent-400","data-testid":"skill-detail-back",children:[(0,a.jsx)(c.A,{size:14,"aria-hidden":"true"}),R("page.backToCatalog")]});if("loading"===q.status)return(0,a.jsxs)("div",{className:"space-y-4","data-testid":"skill-detail-loading",children:[_,(0,a.jsx)("p",{className:"text-sm text-muted-foreground",children:R("state.loading")}),(0,a.jsx)(m.EA,{className:"h-40 w-full rounded-lg"})]});if("error"===q.status||!q.skill){let e=(null==(t=q.failure)?void 0:t.status)===404;return(0,a.jsxs)("div",{className:"space-y-4",children:[_,(0,a.jsxs)(m.Zp,{"data-testid":e?"skill-detail-not-found":"skill-detail-error",className:"space-y-3",children:[(0,a.jsx)("h2",{className:"text-base font-semibold text-foreground",children:e?R("state.notFoundHeading"):R("state.errorHeading")}),(0,a.jsxs)(f.u,{tone:"danger",children:[(0,a.jsx)("p",{children:e?R("state.notFoundNotice"):R("state.errorNotice")}),(0,a.jsx)("p",{className:"mt-1 break-words",children:R("state.errorCode",{code:null!=(i=null==(l=q.failure)?void 0:l.code)?i:""})})]}),!e&&(0,a.jsx)(m.$n,{variant:"secondary",size:"sm",onClick:H,"data-testid":"skill-detail-retry",children:R("state.retry")})]})]})}let z=q.skill,U=z.compatibility,F=null!=(n=z.versions.find(e=>e.version===z.recommendedVersion))?n:null,L=null!=(h=null==(s=null!=F?F:z.versions[0])?void 0:s.declaredRisk)?h:null,S=z.recommendedVersion?U&&"compatible"!==U.status?R("detail.install.blockedIncompatible",{reason:R((0,g.e5)(U.messageKey),{range:U.requiredRange,currentVersion:null!=(p=U.currentVersion)?p:""})}):null:R("detail.install.blockedNoVersion");return(0,a.jsxs)("div",{className:"space-y-4",children:[_,q.catalog&&(0,a.jsx)(u.y,{catalog:q.catalog}),(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsx)("h1",{className:"text-2xl font-bold text-foreground break-words",children:z.name}),(0,a.jsx)("p",{className:"text-sm text-muted-foreground break-words",children:z.summary}),(0,a.jsxs)("div",{className:"flex flex-wrap items-center gap-1.5",children:[U&&(0,a.jsx)(x.Xz,{status:U.status}),L&&(0,a.jsx)(x.qW,{risk:L})]})]}),(0,a.jsx)(N,{title:R("detail.install.action"),testId:"skill-install-section",children:(0,a.jsx)(j.B,{skillId:z.id,version:z.recommendedVersion,blockedReason:S})}),(0,a.jsxs)(N,{title:R("capabilities.heading"),testId:"skill-capabilities-section",children:[(0,a.jsx)("p",{className:"text-sm text-foreground break-words",children:z.summary}),(0,a.jsx)(f.u,{tone:"neutral",children:R("capabilities.unavailable")})]}),(0,a.jsxs)(N,{title:R("detail.overview"),testId:"skill-overview-section",children:[(0,a.jsxs)("dl",{className:"grid grid-cols-1 gap-3 sm:grid-cols-2",children:[(0,a.jsx)(v,{label:R("detail.skillId"),mono:!0,children:z.id}),(0,a.jsx)(v,{label:R("detail.provider"),children:z.provider.url?(0,a.jsx)("a",{href:z.provider.url,target:"_blank",rel:"noopener noreferrer",className:"text-accent-600 hover:underline dark:text-accent-400",children:z.provider.name}):z.provider.name}),z.provider.contact&&(0,a.jsx)(v,{label:R("detail.providerContact"),children:z.provider.contact}),(0,a.jsx)(v,{label:R("detail.license"),children:z.license}),z.homepage&&(0,a.jsx)(v,{label:R("detail.homepage"),children:(0,a.jsx)("a",{href:z.homepage,target:"_blank",rel:"noopener noreferrer",className:"break-all text-accent-600 hover:underline dark:text-accent-400",children:z.homepage})}),(0,a.jsx)(v,{label:R("detail.latestVersion"),mono:!0,children:z.latest}),(0,a.jsx)(v,{label:R("detail.recommendedVersion"),mono:!0,children:null!=(V=z.recommendedVersion)?V:R("detail.recommendedVersionNone")})]}),(0,a.jsx)("p",{className:"text-xs text-muted-foreground","data-testid":"skill-recommendation-reason",children:R(g.TE[z.recommendedReason])}),z.keywords.length>0&&(0,a.jsxs)("div",{children:[(0,a.jsx)("h3",{className:"text-xs font-medium text-muted-foreground",children:R("detail.keywords")}),(0,a.jsx)("div",{className:"mt-1 flex flex-wrap gap-1.5",children:z.keywords.map(e=>(0,a.jsx)(m.Ex,{variant:"gray",children:e},e))})]})]}),(0,a.jsxs)(N,{title:R("compatibility.label"),testId:"skill-compatibility-section",children:[U?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,a.jsx)(x.Xz,{status:U.status}),(0,a.jsx)("span",{className:"text-sm text-muted-foreground",children:R("compatibility.requiredRange",{range:U.requiredRange})})]}),(0,a.jsx)(y,{compatibility:U}),(0,a.jsx)("p",{className:"text-xs text-muted-foreground",children:U.currentVersion?R("compatibility.currentVersion",{version:U.currentVersion}):R("compatibility.currentVersionUnknown")}),"unknown"===U.status&&(0,a.jsx)(f.u,{tone:"warning","data-testid":"skill-compatibility-unknown-notice",children:R("compatibility.unverifiedNotice")})]}):(0,a.jsx)("p",{className:"text-sm text-muted-foreground",children:R("compatibility.currentVersionUnknown")}),(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsx)("h3",{className:"text-sm font-medium text-foreground",children:R("compatibility.agentsHeading")}),F&&F.compatibility.agents.length>0?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("div",{className:"flex flex-wrap gap-1.5",children:F.compatibility.agents.map(e=>(0,a.jsx)(x.uE,{agent:e},e.agent))}),(0,a.jsx)("ul",{className:"space-y-1",children:F.compatibility.agents.map(e=>(0,a.jsxs)("li",{className:"text-xs text-muted-foreground break-words",children:[R("compatibility.evidence"),": ",e.evidence]},e.agent))})]}):(0,a.jsx)("p",{className:"text-xs text-muted-foreground",children:R("compatibility.agentsUnknown")}),(0,a.jsx)(f.u,{tone:"neutral",children:R("compatibility.agentsNotice")})]})]}),(0,a.jsxs)(N,{title:R("risk.declaredHeading"),testId:"skill-risk-section",children:[L?(0,a.jsx)(x.qW,{risk:L}):null,(0,a.jsx)(f.u,{tone:"neutral",children:R("risk.declaredNotice")}),"high"===L&&(0,a.jsx)(f.u,{tone:"danger","data-testid":"skill-high-risk-warning",children:R("risk.highWarning")}),(0,a.jsxs)("div",{children:[(0,a.jsx)("h3",{className:"text-sm font-medium text-foreground",children:R("risk.computedHeading")}),(0,a.jsx)("p",{className:"mt-1 text-sm text-muted-foreground","data-testid":"skill-computed-risk-unavailable",children:R("risk.computedUnavailable")})]})]}),(0,a.jsxs)(N,{title:R("permissions.heading"),testId:"skill-permissions-section",children:[(0,a.jsx)(f.u,{tone:"warning","data-testid":"skill-permission-declaration-notice",children:R((0,g.e5)("skills.permissions.declarationOnlyNotice"))}),(0,a.jsx)("p",{className:"text-sm text-muted-foreground",children:R("permissions.unavailable")})]}),(0,a.jsx)(N,{title:R("requirements.heading"),testId:"skill-requirements-section",children:(0,a.jsx)("p",{className:"text-sm text-muted-foreground",children:R("requirements.unavailable")})}),(0,a.jsx)(N,{title:R("contents.heading"),testId:"skill-contents-section",children:(0,a.jsx)("p",{className:"text-sm text-muted-foreground",children:R("contents.unavailable")})}),(0,a.jsxs)("section",{className:"space-y-3","data-testid":"skill-versions-section",children:[(0,a.jsx)("h2",{className:"text-base font-semibold text-foreground",children:R("detail.versionsHeading")}),0===z.versions.length?(0,a.jsx)(m.Zp,{children:(0,a.jsx)("p",{className:"text-sm text-muted-foreground",children:R("detail.versionsEmpty")})}):z.versions.map(e=>(0,a.jsx)(w,{version:e},e.version))]})]})}function I(){let e=(0,l.useParams)(),s="string"==typeof e.skillId?e.skillId:"";return(0,a.jsx)(i.GV,{children:(0,a.jsx)("div",{className:"container-custom py-8 overflow-auto h-full",children:(0,a.jsx)(V,{skillId:s})})})}},68331:(e,s,t)=>{"use strict";t.d(s,{y:()=>n});var a=t(95155);t(12115);var l=t(18955),i=t(37381),r=t(95584);function n(e){let{catalog:s}=e,t=(0,l.c)("skills");return s.stale||s.offline?(0,a.jsx)(i.u,{tone:"warning","data-testid":"skill-catalog-stale",className:"flex-col sm:flex-row",children:(0,a.jsxs)("div",{className:"space-y-1",children:[(0,a.jsx)("p",{className:"font-medium",children:t("catalog.staleHeading")}),(0,a.jsx)("p",{children:t("catalog.staleNotice")}),s.offline&&(0,a.jsx)("p",{children:t("catalog.offlineNotice")}),(0,a.jsx)("p",{children:t((0,r.pk)(s.staleReason))}),(0,a.jsxs)("p",{className:"break-words",children:[t("catalog.fetchedAt",{timestamp:s.fetchedAt})," \xb7"," ",t("catalog.revalidatedAt",{timestamp:s.revalidatedAt})]}),(0,a.jsx)("p",{className:"break-words",children:t("catalog.sourceLabel",{repository:s.source.repository,ref:s.source.ref})})]})}):(0,a.jsxs)("p",{"data-testid":"skill-catalog-fresh",className:"text-xs text-muted-foreground break-words",children:[t("catalog.freshLabel")," \xb7"," ",t("catalog.revalidatedAt",{timestamp:s.revalidatedAt})," \xb7"," ",t("catalog.sourceLabel",{repository:s.source.repository,ref:s.source.ref})]})}},99027:(e,s,t)=>{Promise.resolve().then(t.bind(t,64386))}},e=>{e.O(0,[6481,6809,4909,2770,790,4974,8566,1191,5542,6402,744,6488,4560,3418,9142,8441,1255,7358],()=>e(e.s=99027)),_N_E=e.O()}]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1385],{17846:(u,e,D)=>{"use strict";D.d(e,{a:()=>s});var F=D(95155),t=D(12115),r=D(18955);function s(u){let{src:e,alt:D,onError:s}=u,n=(0,r.c)("worktree"),[o,a]=(0,t.useState)(!1);return o?(0,F.jsxs)("div",{className:"flex flex-col items-center justify-center py-12 text-muted-foreground",children:[(0,F.jsx)("svg",{className:"w-16 h-16 mb-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,F.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.5,d:"M4 16l4.586-4.586a2 2 0 012.828 0L16 16m-2-2l1.586-1.586a2 2 0 012.828 0L20 14m-6-6h.01M6 20h12a2 2 0 002-2V6a2 2 0 00-2-2H6a2 2 0 00-2 2v12a2 2 0 002 2z"})}),(0,F.jsx)("p",{className:"text-sm",children:n("imageViewer.loadError")}),(0,F.jsx)("p",{className:"text-xs text-muted-foreground mt-1",children:D})]}):(0,F.jsx)("div",{className:"flex items-center justify-center p-4",children:(0,F.jsx)("img",{src:e,alt:D,onError:()=>{a(!0),null==s||s()},style:{maxWidth:"100%",maxHeight:"500px",objectFit:"contain"},className:"rounded-lg shadow-sm"})})}},20063:(u,e,D)=>{"use strict";var F=D(47260);D.o(F,"useParams")&&D.d(e,{useParams:function(){return F.useParams}}),D.o(F,"usePathname")&&D.d(e,{usePathname:function(){return F.usePathname}}),D.o(F,"useRouter")&&D.d(e,{useRouter:function(){return F.useRouter}})},21286:(u,e,D)=>{"use strict";D.d(e,{A:()=>r});let F=/[\0-\x1F!-,\.\/:-@\[-\^`\{-\xA9\xAB-\xB4\xB6-\xB9\xBB-\xBF\xD7\xF7\u02C2-\u02C5\u02D2-\u02DF\u02E5-\u02EB\u02ED\u02EF-\u02FF\u0375\u0378\u0379\u037E\u0380-\u0385\u0387\u038B\u038D\u03A2\u03F6\u0482\u0530\u0557\u0558\u055A-\u055F\u0589-\u0590\u05BE\u05C0\u05C3\u05C6\u05C8-\u05CF\u05EB-\u05EE\u05F3-\u060F\u061B-\u061F\u066A-\u066D\u06D4\u06DD\u06DE\u06E9\u06FD\u06FE\u0700-\u070F\u074B\u074C\u07B2-\u07BF\u07F6-\u07F9\u07FB\u07FC\u07FE\u07FF\u082E-\u083F\u085C-\u085F\u086B-\u089F\u08B5\u08C8-\u08D2\u08E2\u0964\u0965\u0970\u0984\u098D\u098E\u0991\u0992\u09A9\u09B1\u09B3-\u09B5\u09BA\u09BB\u09C5\u09C6\u09C9\u09CA\u09CF-\u09D6\u09D8-\u09DB\u09DE\u09E4\u09E5\u09F2-\u09FB\u09FD\u09FF\u0A00\u0A04\u0A0B-\u0A0E\u0A11\u0A12\u0A29\u0A31\u0A34\u0A37\u0A3A\u0A3B\u0A3D\u0A43-\u0A46\u0A49\u0A4A\u0A4E-\u0A50\u0A52-\u0A58\u0A5D\u0A5F-\u0A65\u0A76-\u0A80\u0A84\u0A8E\u0A92\u0AA9\u0AB1\u0AB4\u0ABA\u0ABB\u0AC6\u0ACA\u0ACE\u0ACF\u0AD1-\u0ADF\u0AE4\u0AE5\u0AF0-\u0AF8\u0B00\u0B04\u0B0D\u0B0E\u0B11\u0B12\u0B29\u0B31\u0B34\u0B3A\u0B3B\u0B45\u0B46\u0B49\u0B4A\u0B4E-\u0B54\u0B58-\u0B5B\u0B5E\u0B64\u0B65\u0B70\u0B72-\u0B81\u0B84\u0B8B-\u0B8D\u0B91\u0B96-\u0B98\u0B9B\u0B9D\u0BA0-\u0BA2\u0BA5-\u0BA7\u0BAB-\u0BAD\u0BBA-\u0BBD\u0BC3-\u0BC5\u0BC9\u0BCE\u0BCF\u0BD1-\u0BD6\u0BD8-\u0BE5\u0BF0-\u0BFF\u0C0D\u0C11\u0C29\u0C3A-\u0C3C\u0C45\u0C49\u0C4E-\u0C54\u0C57\u0C5B-\u0C5F\u0C64\u0C65\u0C70-\u0C7F\u0C84\u0C8D\u0C91\u0CA9\u0CB4\u0CBA\u0CBB\u0CC5\u0CC9\u0CCE-\u0CD4\u0CD7-\u0CDD\u0CDF\u0CE4\u0CE5\u0CF0\u0CF3-\u0CFF\u0D0D\u0D11\u0D45\u0D49\u0D4F-\u0D53\u0D58-\u0D5E\u0D64\u0D65\u0D70-\u0D79\u0D80\u0D84\u0D97-\u0D99\u0DB2\u0DBC\u0DBE\u0DBF\u0DC7-\u0DC9\u0DCB-\u0DCE\u0DD5\u0DD7\u0DE0-\u0DE5\u0DF0\u0DF1\u0DF4-\u0E00\u0E3B-\u0E3F\u0E4F\u0E5A-\u0E80\u0E83\u0E85\u0E8B\u0EA4\u0EA6\u0EBE\u0EBF\u0EC5\u0EC7\u0ECE\u0ECF\u0EDA\u0EDB\u0EE0-\u0EFF\u0F01-\u0F17\u0F1A-\u0F1F\u0F2A-\u0F34\u0F36\u0F38\u0F3A-\u0F3D\u0F48\u0F6D-\u0F70\u0F85\u0F98\u0FBD-\u0FC5\u0FC7-\u0FFF\u104A-\u104F\u109E\u109F\u10C6\u10C8-\u10CC\u10CE\u10CF\u10FB\u1249\u124E\u124F\u1257\u1259\u125E\u125F\u1289\u128E\u128F\u12B1\u12B6\u12B7\u12BF\u12C1\u12C6\u12C7\u12D7\u1311\u1316\u1317\u135B\u135C\u1360-\u137F\u1390-\u139F\u13F6\u13F7\u13FE-\u1400\u166D\u166E\u1680\u169B-\u169F\u16EB-\u16ED\u16F9-\u16FF\u170D\u1715-\u171F\u1735-\u173F\u1754-\u175F\u176D\u1771\u1774-\u177F\u17D4-\u17D6\u17D8-\u17DB\u17DE\u17DF\u17EA-\u180A\u180E\u180F\u181A-\u181F\u1879-\u187F\u18AB-\u18AF\u18F6-\u18FF\u191F\u192C-\u192F\u193C-\u1945\u196E\u196F\u1975-\u197F\u19AC-\u19AF\u19CA-\u19CF\u19DA-\u19FF\u1A1C-\u1A1F\u1A5F\u1A7D\u1A7E\u1A8A-\u1A8F\u1A9A-\u1AA6\u1AA8-\u1AAF\u1AC1-\u1AFF\u1B4C-\u1B4F\u1B5A-\u1B6A\u1B74-\u1B7F\u1BF4-\u1BFF\u1C38-\u1C3F\u1C4A-\u1C4C\u1C7E\u1C7F\u1C89-\u1C8F\u1CBB\u1CBC\u1CC0-\u1CCF\u1CD3\u1CFB-\u1CFF\u1DFA\u1F16\u1F17\u1F1E\u1F1F\u1F46\u1F47\u1F4E\u1F4F\u1F58\u1F5A\u1F5C\u1F5E\u1F7E\u1F7F\u1FB5\u1FBD\u1FBF-\u1FC1\u1FC5\u1FCD-\u1FCF\u1FD4\u1FD5\u1FDC-\u1FDF\u1FED-\u1FF1\u1FF5\u1FFD-\u203E\u2041-\u2053\u2055-\u2070\u2072-\u207E\u2080-\u208F\u209D-\u20CF\u20F1-\u2101\u2103-\u2106\u2108\u2109\u2114\u2116-\u2118\u211E-\u2123\u2125\u2127\u2129\u212E\u213A\u213B\u2140-\u2144\u214A-\u214D\u214F-\u215F\u2189-\u24B5\u24EA-\u2BFF\u2C2F\u2C5F\u2CE5-\u2CEA\u2CF4-\u2CFF\u2D26\u2D28-\u2D2C\u2D2E\u2D2F\u2D68-\u2D6E\u2D70-\u2D7E\u2D97-\u2D9F\u2DA7\u2DAF\u2DB7\u2DBF\u2DC7\u2DCF\u2DD7\u2DDF\u2E00-\u2E2E\u2E30-\u3004\u3008-\u3020\u3030\u3036\u3037\u303D-\u3040\u3097\u3098\u309B\u309C\u30A0\u30FB\u3100-\u3104\u3130\u318F-\u319F\u31C0-\u31EF\u3200-\u33FF\u4DC0-\u4DFF\u9FFD-\u9FFF\uA48D-\uA4CF\uA4FE\uA4FF\uA60D-\uA60F\uA62C-\uA63F\uA673\uA67E\uA6F2-\uA716\uA720\uA721\uA789\uA78A\uA7C0\uA7C1\uA7CB-\uA7F4\uA828-\uA82B\uA82D-\uA83F\uA874-\uA87F\uA8C6-\uA8CF\uA8DA-\uA8DF\uA8F8-\uA8FA\uA8FC\uA92E\uA92F\uA954-\uA95F\uA97D-\uA97F\uA9C1-\uA9CE\uA9DA-\uA9DF\uA9FF\uAA37-\uAA3F\uAA4E\uAA4F\uAA5A-\uAA5F\uAA77-\uAA79\uAAC3-\uAADA\uAADE\uAADF\uAAF0\uAAF1\uAAF7-\uAB00\uAB07\uAB08\uAB0F\uAB10\uAB17-\uAB1F\uAB27\uAB2F\uAB5B\uAB6A-\uAB6F\uABEB\uABEE\uABEF\uABFA-\uABFF\uD7A4-\uD7AF\uD7C7-\uD7CA\uD7FC-\uD7FF\uE000-\uF8FF\uFA6E\uFA6F\uFADA-\uFAFF\uFB07-\uFB12\uFB18-\uFB1C\uFB29\uFB37\uFB3D\uFB3F\uFB42\uFB45\uFBB2-\uFBD2\uFD3E-\uFD4F\uFD90\uFD91\uFDC8-\uFDEF\uFDFC-\uFDFF\uFE10-\uFE1F\uFE30-\uFE32\uFE35-\uFE4C\uFE50-\uFE6F\uFE75\uFEFD-\uFF0F\uFF1A-\uFF20\uFF3B-\uFF3E\uFF40\uFF5B-\uFF65\uFFBF-\uFFC1\uFFC8\uFFC9\uFFD0\uFFD1\uFFD8\uFFD9\uFFDD-\uFFFF]|\uD800[\uDC0C\uDC27\uDC3B\uDC3E\uDC4E\uDC4F\uDC5E-\uDC7F\uDCFB-\uDD3F\uDD75-\uDDFC\uDDFE-\uDE7F\uDE9D-\uDE9F\uDED1-\uDEDF\uDEE1-\uDEFF\uDF20-\uDF2C\uDF4B-\uDF4F\uDF7B-\uDF7F\uDF9E\uDF9F\uDFC4-\uDFC7\uDFD0\uDFD6-\uDFFF]|\uD801[\uDC9E\uDC9F\uDCAA-\uDCAF\uDCD4-\uDCD7\uDCFC-\uDCFF\uDD28-\uDD2F\uDD64-\uDDFF\uDF37-\uDF3F\uDF56-\uDF5F\uDF68-\uDFFF]|\uD802[\uDC06\uDC07\uDC09\uDC36\uDC39-\uDC3B\uDC3D\uDC3E\uDC56-\uDC5F\uDC77-\uDC7F\uDC9F-\uDCDF\uDCF3\uDCF6-\uDCFF\uDD16-\uDD1F\uDD3A-\uDD7F\uDDB8-\uDDBD\uDDC0-\uDDFF\uDE04\uDE07-\uDE0B\uDE14\uDE18\uDE36\uDE37\uDE3B-\uDE3E\uDE40-\uDE5F\uDE7D-\uDE7F\uDE9D-\uDEBF\uDEC8\uDEE7-\uDEFF\uDF36-\uDF3F\uDF56-\uDF5F\uDF73-\uDF7F\uDF92-\uDFFF]|\uD803[\uDC49-\uDC7F\uDCB3-\uDCBF\uDCF3-\uDCFF\uDD28-\uDD2F\uDD3A-\uDE7F\uDEAA\uDEAD-\uDEAF\uDEB2-\uDEFF\uDF1D-\uDF26\uDF28-\uDF2F\uDF51-\uDFAF\uDFC5-\uDFDF\uDFF7-\uDFFF]|\uD804[\uDC47-\uDC65\uDC70-\uDC7E\uDCBB-\uDCCF\uDCE9-\uDCEF\uDCFA-\uDCFF\uDD35\uDD40-\uDD43\uDD48-\uDD4F\uDD74\uDD75\uDD77-\uDD7F\uDDC5-\uDDC8\uDDCD\uDDDB\uDDDD-\uDDFF\uDE12\uDE38-\uDE3D\uDE3F-\uDE7F\uDE87\uDE89\uDE8E\uDE9E\uDEA9-\uDEAF\uDEEB-\uDEEF\uDEFA-\uDEFF\uDF04\uDF0D\uDF0E\uDF11\uDF12\uDF29\uDF31\uDF34\uDF3A\uDF45\uDF46\uDF49\uDF4A\uDF4E\uDF4F\uDF51-\uDF56\uDF58-\uDF5C\uDF64\uDF65\uDF6D-\uDF6F\uDF75-\uDFFF]|\uD805[\uDC4B-\uDC4F\uDC5A-\uDC5D\uDC62-\uDC7F\uDCC6\uDCC8-\uDCCF\uDCDA-\uDD7F\uDDB6\uDDB7\uDDC1-\uDDD7\uDDDE-\uDDFF\uDE41-\uDE43\uDE45-\uDE4F\uDE5A-\uDE7F\uDEB9-\uDEBF\uDECA-\uDEFF\uDF1B\uDF1C\uDF2C-\uDF2F\uDF3A-\uDFFF]|\uD806[\uDC3B-\uDC9F\uDCEA-\uDCFE\uDD07\uDD08\uDD0A\uDD0B\uDD14\uDD17\uDD36\uDD39\uDD3A\uDD44-\uDD4F\uDD5A-\uDD9F\uDDA8\uDDA9\uDDD8\uDDD9\uDDE2\uDDE5-\uDDFF\uDE3F-\uDE46\uDE48-\uDE4F\uDE9A-\uDE9C\uDE9E-\uDEBF\uDEF9-\uDFFF]|\uD807[\uDC09\uDC37\uDC41-\uDC4F\uDC5A-\uDC71\uDC90\uDC91\uDCA8\uDCB7-\uDCFF\uDD07\uDD0A\uDD37-\uDD39\uDD3B\uDD3E\uDD48-\uDD4F\uDD5A-\uDD5F\uDD66\uDD69\uDD8F\uDD92\uDD99-\uDD9F\uDDAA-\uDEDF\uDEF7-\uDFAF\uDFB1-\uDFFF]|\uD808[\uDF9A-\uDFFF]|\uD809[\uDC6F-\uDC7F\uDD44-\uDFFF]|[\uD80A\uD80B\uD80E-\uD810\uD812-\uD819\uD824-\uD82B\uD82D\uD82E\uD830-\uD833\uD837\uD839\uD83D\uD83F\uD87B-\uD87D\uD87F\uD885-\uDB3F\uDB41-\uDBFF][\uDC00-\uDFFF]|\uD80D[\uDC2F-\uDFFF]|\uD811[\uDE47-\uDFFF]|\uD81A[\uDE39-\uDE3F\uDE5F\uDE6A-\uDECF\uDEEE\uDEEF\uDEF5-\uDEFF\uDF37-\uDF3F\uDF44-\uDF4F\uDF5A-\uDF62\uDF78-\uDF7C\uDF90-\uDFFF]|\uD81B[\uDC00-\uDE3F\uDE80-\uDEFF\uDF4B-\uDF4E\uDF88-\uDF8E\uDFA0-\uDFDF\uDFE2\uDFE5-\uDFEF\uDFF2-\uDFFF]|\uD821[\uDFF8-\uDFFF]|\uD823[\uDCD6-\uDCFF\uDD09-\uDFFF]|\uD82C[\uDD1F-\uDD4F\uDD53-\uDD63\uDD68-\uDD6F\uDEFC-\uDFFF]|\uD82F[\uDC6B-\uDC6F\uDC7D-\uDC7F\uDC89-\uDC8F\uDC9A-\uDC9C\uDC9F-\uDFFF]|\uD834[\uDC00-\uDD64\uDD6A-\uDD6C\uDD73-\uDD7A\uDD83\uDD84\uDD8C-\uDDA9\uDDAE-\uDE41\uDE45-\uDFFF]|\uD835[\uDC55\uDC9D\uDCA0\uDCA1\uDCA3\uDCA4\uDCA7\uDCA8\uDCAD\uDCBA\uDCBC\uDCC4\uDD06\uDD0B\uDD0C\uDD15\uDD1D\uDD3A\uDD3F\uDD45\uDD47-\uDD49\uDD51\uDEA6\uDEA7\uDEC1\uDEDB\uDEFB\uDF15\uDF35\uDF4F\uDF6F\uDF89\uDFA9\uDFC3\uDFCC\uDFCD]|\uD836[\uDC00-\uDDFF\uDE37-\uDE3A\uDE6D-\uDE74\uDE76-\uDE83\uDE85-\uDE9A\uDEA0\uDEB0-\uDFFF]|\uD838[\uDC07\uDC19\uDC1A\uDC22\uDC25\uDC2B-\uDCFF\uDD2D-\uDD2F\uDD3E\uDD3F\uDD4A-\uDD4D\uDD4F-\uDEBF\uDEFA-\uDFFF]|\uD83A[\uDCC5-\uDCCF\uDCD7-\uDCFF\uDD4C-\uDD4F\uDD5A-\uDFFF]|\uD83B[\uDC00-\uDDFF\uDE04\uDE20\uDE23\uDE25\uDE26\uDE28\uDE33\uDE38\uDE3A\uDE3C-\uDE41\uDE43-\uDE46\uDE48\uDE4A\uDE4C\uDE50\uDE53\uDE55\uDE56\uDE58\uDE5A\uDE5C\uDE5E\uDE60\uDE63\uDE65\uDE66\uDE6B\uDE73\uDE78\uDE7D\uDE7F\uDE8A\uDE9C-\uDEA0\uDEA4\uDEAA\uDEBC-\uDFFF]|\uD83C[\uDC00-\uDD2F\uDD4A-\uDD4F\uDD6A-\uDD6F\uDD8A-\uDFFF]|\uD83E[\uDC00-\uDFEF\uDFFA-\uDFFF]|\uD869[\uDEDE-\uDEFF]|\uD86D[\uDF35-\uDF3F]|\uD86E[\uDC1E\uDC1F]|\uD873[\uDEA2-\uDEAF]|\uD87A[\uDFE1-\uDFFF]|\uD87E[\uDE1E-\uDFFF]|\uD884[\uDF4B-\uDFFF]|\uDB40[\uDC00-\uDCFF\uDDF0-\uDFFF]/g,t=Object.hasOwnProperty;class r{constructor(){this.occurrences,this.reset()}slug(u,e){var D,r;let s=(D=u,r=!0===e,"string"!=typeof D?"":(r||(D=D.toLowerCase()),D.replace(F,"").replace(/ /g,"-"))),n=s;for(;t.call(this.occurrences,s);)this.occurrences[n]++,s=n+"-"+this.occurrences[n];return this.occurrences[s]=0,s}reset(){this.occurrences=Object.create(null)}}},32366:(u,e,D)=>{Promise.resolve().then(D.bind(D,82743))},50666:(u,e,D)=>{"use strict";D.d(e,{Ck:()=>s});var F=D(95155),t=D(12115),r=D(53482);function s(u){let{children:e,as:D="div",className:s=""}=u,n=function u(e){return null==e||"boolean"==typeof e?"":"string"==typeof e?e:"number"==typeof e?String(e):Array.isArray(e)?e.map(u).join(""):t.isValidElement(e)?u(e.props.children):""}(e);if(!n||0===n.trim().length)return(0,F.jsx)(D,{className:s||void 0,children:e});let o="relative group ".concat("span"===D?"block ":"").concat(s).trim();return(0,F.jsxs)(D,{className:o,"data-testid":"code-block-with-copy",children:[e,(0,F.jsx)(r.i,{text:n,className:"absolute right-2 top-2 z-10 opacity-100 md:opacity-0 md:group-hover:opacity-100 md:group-focus-within:opacity-100 focus:opacity-100"})]})}},53482:(u,e,D)=>{"use strict";D.d(e,{i:()=>a});var F=D(95155),t=D(12115),r=D(60322),s=D(9900);function n(){return(0,F.jsx)("svg",{className:"h-3.5 w-3.5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,F.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z"})})}function o(){return(0,F.jsx)("svg",{className:"h-3.5 w-3.5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,F.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M5 13l4 4L19 7"})})}function a(u){let{text:e,className:D="",label:a="Copy"}=u,[l,i]=(0,t.useState)(!1),c=(0,t.useRef)(null);(0,t.useEffect)(()=>()=>{c.current&&clearTimeout(c.current)},[]);let C=(0,t.useCallback)(async()=>{try{await (0,r.l)(e),i(!0),c.current&&clearTimeout(c.current),c.current=setTimeout(()=>i(!1),s.s7)}catch(u){}},[e]);return(0,F.jsxs)("button",{type:"button",onClick:C,className:"inline-flex items-center gap-1 rounded border border-border bg-surface px-2 py-0.5 text-[11px] font-medium text-foreground transition-colors hover:bg-muted ".concat(D),"aria-label":l?"Copied":a,title:l?"Copied!":a,children:[l?(0,F.jsx)(o,{}):(0,F.jsx)(n,{}),(0,F.jsx)("span",{children:l?"Copied":a})]})}},55924:(u,e,D)=>{"use strict";D.d(e,{K:()=>r});var F=D(95155),t=D(12115);function r(u){let{entries:e,title:D,headerOffset:r=64,root:s=null,className:n=""}=u,[o,a]=(0,t.useState)(null);return((0,t.useRef)(null).current=o,(0,t.useEffect)(()=>{if("undefined"==typeof IntersectionObserver||0===e.length)return;let u=new IntersectionObserver(u=>{let e=function(u){let e=u.filter(u=>u.isIntersecting).sort((u,e)=>u.boundingClientRect.top-e.boundingClientRect.top);return e.length>0?e[0].target.id:null}(u);e&&a(e)},{root:s,rootMargin:"-".concat(r,"px 0px -70% 0px"),threshold:0}),D=[];for(let F of e){let e=document.getElementById(F.id);e&&(u.observe(e),D.push(e))}return()=>{u.disconnect(),D.length=0}},[e,r,s]),0===e.length)?null:(0,F.jsxs)("nav",{"aria-label":D,className:n,children:[(0,F.jsx)("p",{className:"px-3 pb-2 text-xs font-semibold uppercase tracking-wide text-muted-foreground",children:D}),(0,F.jsx)("ul",{className:"space-y-0.5 text-sm",children:e.map((u,e)=>{let D=u.id===o;return(0,F.jsx)("li",{children:(0,F.jsx)("a",{href:"#".concat(u.id),onClick:e=>((u,e)=>{u.preventDefault();let D="undefined"!=typeof document?document.getElementById(e):null;D&&D.scrollIntoView({behavior:"smooth",block:"start"}),a(e)})(e,u.id),"aria-current":D?"location":void 0,"data-depth":u.depth,style:{paddingLeft:"".concat((u.depth-1)*12+12,"px")},className:["block truncate rounded py-1 pr-2 transition-colors",D?"bg-accent-50 font-medium text-accent-700":"text-muted-foreground hover:bg-muted hover:text-foreground"].join(" "),title:u.text,children:u.text})},"".concat(u.id,"-").concat(e))})})]})}},60322:(u,e,D)=>{"use strict";D.d(e,{l:()=>t});let F=/\x1b\[[0-9;]*[a-zA-Z]|\x1b\][^\x07]*\x07|\[[0-9;]*m/g;async function t(u){var e;if(!u||0===u.trim().length)return;let D=u.replace(F,"");if(null==(e=navigator.clipboard)?void 0:e.writeText)try{await navigator.clipboard.writeText(D);return}catch(u){}let t=document.createElement("textarea");t.value=D,t.style.position="fixed",t.style.left="-9999px",t.style.top="-9999px",t.style.opacity="0",document.body.appendChild(t),t.focus(),t.select();try{document.execCommand("copy")}finally{document.body.removeChild(t)}}},69264:(u,e,D)=>{"use strict";D.d(e,{u:()=>n});var F=D(95155),t=D(12115),r=D(18955),s=D(3005);function n(u){let{src:e,onError:D}=u,n=(0,r.c)("worktree"),[o,a]=(0,t.useState)(!0),[l,i]=(0,t.useState)(!1);return l?(0,F.jsxs)("div",{className:"flex flex-col items-center justify-center py-12 text-muted-foreground",children:[(0,F.jsx)("svg",{className:"w-16 h-16 mb-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,F.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.5,d:"M15 10l4.553-2.276A1 1 0 0121 8.618v6.764a1 1 0 01-1.447.894L15 14M5 18h8a2 2 0 002-2V8a2 2 0 00-2-2H5a2 2 0 00-2 2v8a2 2 0 002 2z"})}),(0,F.jsx)("p",{className:"text-sm",children:n("videoViewer.loadError")})]}):(0,F.jsxs)("div",{className:"flex flex-col items-center justify-center p-4",children:[o&&(0,F.jsxs)("div",{className:"flex items-center justify-center py-8",children:[(0,F.jsx)(s.y,{size:"xl",variant:"accent"}),(0,F.jsx)("p",{className:"ml-3 text-muted-foreground",children:n("videoViewer.loading")})]}),(0,F.jsx)("video",{controls:!0,src:e,onLoadedData:()=>{a(!1)},onError:()=>{a(!1),i(!0),null==D||D()},style:{maxWidth:"100%",maxHeight:"500px",display:o?"none":"block"},className:"rounded-lg shadow-sm",children:n("videoViewer.unsupported")})]})}},79962:(u,e,D)=>{"use strict";D.d(e,{K:()=>n,Y:()=>t});var F=D(21286);let t="commandmate:md-toc-visible",r=/^ {0,3}(#{1,6})(?:[ \t]+(.*?))?[ \t]*$/,s=/^( {0,3})(`{3,}|~{3,})(.*)$/;function n(u){if(!u)return[];let e=new F.A,D=[],t=null,n=0;for(let F of u.split("\n")){var o;let u=s.exec(F);if(t){if(u){let e=u[2];e[0]===t&&e.length>=n&&""===u[3].trim()&&(t=null,n=0)}continue}if(u){let e=u[2],D=e[0];if("`"===D&&u[3].includes("`"));else{t=D,n=e.length;continue}}let a=r.exec(F);if(!a)continue;let l=a[1].length,i=function(u){let e=u;return(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=e.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!=(o=a[2])?o:"").replace(/([ \t]|^)#+[ \t]*$/,"")),c=e.slug(i);D.push({depth:l,text:i,id:c})}return D}},80003:(u,e,D)=>{"use strict";D.d(e,{A:()=>F});let F=(0,D(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"}]])},82743:(u,e,D)=>{"use strict";D.r(e),D.d(e,{default:()=>h});var F=D(95155),t=D(12115),r=D(20063),s=D(18955),n=D(80003);let o=(0,D(71847).A)("book-open",[["path",{d:"M12 7v14",key:"1akyts"}],["path",{d:"M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z",key:"ruj8y"}]]);var a=D(744),l=D(51238),i=D(22133),c=D(5225),C=D(92254),d=D(17846),E=D(69264),A=D(55924),B=D(50666),x=D(79962);function h(){let u=(0,r.useRouter)(),e=(0,r.useParams)(),D=(0,s.c)("common"),h=(0,s.c)("worktree"),p=e.id,m=e.path.join("/"),[g,f]=(0,t.useState)(null),[y,j]=(0,t.useState)(!0),[b,v]=(0,t.useState)(null),[k,N]=(0,t.useState)(!0),[w,L]=(0,t.useState)(!1),M=(null==g?void 0:g.extension)==="md"||(null==g?void 0:g.extension)==="markdown",S=(0,t.useMemo)(()=>M&&g?(0,x.K)(g.content):[],[M,g]),z=S.length>=2,P=M&&z&&k;return(0,t.useEffect)(()=>{let u=localStorage.getItem(x.Y);"true"===u?N(!0):"false"===u&&N(!1),L(!0)},[]),(0,t.useEffect)(()=>{w&&localStorage.setItem(x.Y,String(k))},[k,w]),(0,t.useEffect)(()=>{(async()=>{j(!0),v(null);try{let u=await fetch("/api/worktrees/".concat(p,"/files/").concat(m));if(!u.ok){let e=await u.json();throw Error(e.error||"Failed to load file")}let e=await u.json();f(e)}catch(u){v(u instanceof Error?u.message:"Failed to load file")}finally{j(!1)}})()},[p,m]),(0,F.jsxs)("div",{className:"min-h-screen bg-gray-50",children:[(0,F.jsx)("div",{className:"sticky top-0 z-10 bg-white border-b border-gray-200 shadow-sm",children:(0,F.jsxs)("div",{className:"max-w-7xl mx-auto px-4 py-3 flex items-center gap-3",children:[(0,F.jsxs)("button",{onClick:()=>u.back(),className:"flex items-center gap-2 text-gray-600 hover:text-gray-900 transition-colors","aria-label":D("back"),children:[(0,F.jsx)("svg",{className:"w-6 h-6",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,F.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M10 19l-7-7m0 0l7-7m-7 7h18"})}),(0,F.jsx)("span",{className:"hidden sm:inline",children:D("back")})]}),(0,F.jsx)("div",{className:"flex-1 min-w-0",children:(0,F.jsx)("h1",{className:"text-lg font-semibold text-gray-900 truncate",children:m})}),M&&z&&(0,F.jsxs)("button",{onClick:()=>N(u=>!u),"aria-pressed":k,"aria-label":h(k?"toc.hide":"toc.show"),title:h(k?"toc.hide":"toc.show"),className:"hidden lg:flex items-center gap-1.5 flex-shrink-0 rounded-md border border-gray-200 px-2.5 py-1.5 text-sm text-gray-600 hover:bg-gray-50 hover:text-gray-900 transition-colors",children:[k?(0,F.jsx)(n.A,{className:"w-4 h-4"}):(0,F.jsx)(o,{className:"w-4 h-4"}),(0,F.jsx)("span",{className:"hidden xl:inline",children:h("toc.title")})]})]})}),(0,F.jsxs)("div",{className:"max-w-7xl mx-auto px-4 py-6",children:[y&&(0,F.jsx)(a.Zp,{padding:"lg",children:(0,F.jsxs)("div",{className:"flex items-center justify-center py-12",children:[(0,F.jsx)(a.y$,{size:"xl",variant:"accent"}),(0,F.jsx)("p",{className:"ml-3 text-gray-600",children:"Loading file..."})]})}),b&&(0,F.jsx)(a.Zp,{padding:"lg",children:(0,F.jsx)("div",{className:"bg-danger-subtle border border-danger-border rounded-lg p-4",children:(0,F.jsxs)("div",{className:"flex items-center gap-2",children:[(0,F.jsx)("svg",{className:"w-5 h-5 text-danger-foreground flex-shrink-0",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,F.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 8v4m0 4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"})}),(0,F.jsx)("p",{className:"text-sm text-danger-foreground",children:b})]})})}),g&&!y&&!b&&(0,F.jsxs)(a.Zp,{padding:"none",children:[(0,F.jsx)("div",{className:"bg-gray-100 px-4 py-3 border-b border-gray-200",children:(0,F.jsxs)("p",{className:"text-xs text-gray-600 font-mono break-all",children:[g.worktreePath,"/",g.path]})}),(0,F.jsx)("div",{className:"p-6 sm:p-8 bg-white",children:g.isVideo?(0,F.jsx)(E.u,{src:g.content,mimeType:g.mimeType}):g.isImage?(0,F.jsx)(d.a,{src:g.content,alt:g.path,mimeType:g.mimeType}):M?(0,F.jsxs)("div",{className:"lg:flex lg:gap-6 lg:items-start",children:[(0,F.jsx)("div",{className:"min-w-0 lg:flex-1 prose prose-slate max-w-none prose-headings:font-semibold prose-headings:scroll-mt-[57px] prose-h1:text-3xl prose-h1:border-b prose-h1:pb-2 prose-h2:text-2xl prose-h2:border-b prose-h2:pb-2 prose-h3:text-xl prose-a:text-accent-600 prose-a:no-underline hover:prose-a:underline prose-code:text-sm prose-code:bg-gray-100 prose-code:px-1 prose-code:py-0.5 prose-code:rounded prose-code:before:content-none prose-code:after:content-none prose-img:rounded-lg prose-img:shadow-md",children:(0,F.jsx)(l.oz,{remarkPlugins:[i.A],rehypePlugins:[C.A,c.A],components:{code:u=>{let{className:e,children:D,...t}=u;return e&&e.includes("language-")?(0,F.jsx)("code",{className:e,...t,children:D}):(0,F.jsx)("code",{className:"bg-gray-100 text-gray-800 px-1.5 py-0.5 rounded text-sm font-mono",...t,children:D})},pre:u=>{let{children:e}=u;return(0,F.jsx)(B.Ck,{children:(0,F.jsx)("pre",{className:"overflow-x-auto",children:e})})},table:u=>{let{children:e}=u;return(0,F.jsx)("div",{className:"overflow-x-auto",children:(0,F.jsx)("table",{className:"border-collapse border border-gray-300",children:e})})},th:u=>{let{children:e}=u;return(0,F.jsx)("th",{className:"border border-gray-300 bg-gray-100 px-4 py-2 text-left font-semibold",children:e})},td:u=>{let{children:e}=u;return(0,F.jsx)("td",{className:"border border-gray-300 px-4 py-2",children:e})},blockquote:u=>{let{children:e}=u;return(0,F.jsx)("blockquote",{className:"border-l-4 border-gray-300 pl-4 italic text-gray-700",children:e})}},children:g.content})}),P&&(0,F.jsx)("aside",{className:"hidden lg:block lg:w-64 lg:flex-shrink-0",children:(0,F.jsx)("div",{className:"lg:sticky",style:{top:"".concat(65,"px")},children:(0,F.jsx)(A.K,{entries:S,title:h("toc.title"),headerOffset:57})})})]}):(0,F.jsx)("pre",{className:"bg-gray-50 border border-gray-200 rounded-md p-4 overflow-x-auto text-sm",children:(0,F.jsx)("code",{className:"language-".concat(g.extension),children:g.content})})})]})]})]})}},92254:(u,e,D)=>{"use strict";D.d(e,{A:()=>n});var F=D(21286),t=D(95139);let r={},s=new F.A;function n(u){let e=(u||r).prefix||"";return function(u){s.reset(),(0,t.YR)(u,"element",function(u){(function(u){let e="element"===u.type?u.tagName.toLowerCase():"",D=2===e.length&&104===e.charCodeAt(0)?e.charCodeAt(1):0;return D>48&&D<55?D-48:void 0})(u)&&!u.properties.id&&(u.properties.id=e+s.slug("children"in u?function u(e){let D=-1,F=[];for(;++D<e.children.length;){var t;F[D]="text"===(t=e.children[D]).type?t.value:"children"in t?u(t):""}return F.join("")}(u):"value"in u?u.value:""))})}}}},u=>{u.O(0,[6809,4909,2770,8566,2069,6402,744,8441,1255,7358],()=>u(u.s=32366)),_N_E=u.O()}]);
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1385],{17846:(u,e,D)=>{"use strict";D.d(e,{a:()=>s});var F=D(95155),t=D(12115),r=D(18955);function s(u){let{src:e,alt:D,onError:s}=u,n=(0,r.c)("worktree"),[o,a]=(0,t.useState)(!1);return o?(0,F.jsxs)("div",{className:"flex flex-col items-center justify-center py-12 text-muted-foreground",children:[(0,F.jsx)("svg",{className:"w-16 h-16 mb-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,F.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.5,d:"M4 16l4.586-4.586a2 2 0 012.828 0L16 16m-2-2l1.586-1.586a2 2 0 012.828 0L20 14m-6-6h.01M6 20h12a2 2 0 002-2V6a2 2 0 00-2-2H6a2 2 0 00-2 2v12a2 2 0 002 2z"})}),(0,F.jsx)("p",{className:"text-sm",children:n("imageViewer.loadError")}),(0,F.jsx)("p",{className:"text-xs text-muted-foreground mt-1",children:D})]}):(0,F.jsx)("div",{className:"flex items-center justify-center p-4",children:(0,F.jsx)("img",{src:e,alt:D,onError:()=>{a(!0),null==s||s()},style:{maxWidth:"100%",maxHeight:"500px",objectFit:"contain"},className:"rounded-lg shadow-sm"})})}},20063:(u,e,D)=>{"use strict";var F=D(47260);D.o(F,"useParams")&&D.d(e,{useParams:function(){return F.useParams}}),D.o(F,"usePathname")&&D.d(e,{usePathname:function(){return F.usePathname}}),D.o(F,"useRouter")&&D.d(e,{useRouter:function(){return F.useRouter}})},21286:(u,e,D)=>{"use strict";D.d(e,{A:()=>r});let F=/[\0-\x1F!-,\.\/:-@\[-\^`\{-\xA9\xAB-\xB4\xB6-\xB9\xBB-\xBF\xD7\xF7\u02C2-\u02C5\u02D2-\u02DF\u02E5-\u02EB\u02ED\u02EF-\u02FF\u0375\u0378\u0379\u037E\u0380-\u0385\u0387\u038B\u038D\u03A2\u03F6\u0482\u0530\u0557\u0558\u055A-\u055F\u0589-\u0590\u05BE\u05C0\u05C3\u05C6\u05C8-\u05CF\u05EB-\u05EE\u05F3-\u060F\u061B-\u061F\u066A-\u066D\u06D4\u06DD\u06DE\u06E9\u06FD\u06FE\u0700-\u070F\u074B\u074C\u07B2-\u07BF\u07F6-\u07F9\u07FB\u07FC\u07FE\u07FF\u082E-\u083F\u085C-\u085F\u086B-\u089F\u08B5\u08C8-\u08D2\u08E2\u0964\u0965\u0970\u0984\u098D\u098E\u0991\u0992\u09A9\u09B1\u09B3-\u09B5\u09BA\u09BB\u09C5\u09C6\u09C9\u09CA\u09CF-\u09D6\u09D8-\u09DB\u09DE\u09E4\u09E5\u09F2-\u09FB\u09FD\u09FF\u0A00\u0A04\u0A0B-\u0A0E\u0A11\u0A12\u0A29\u0A31\u0A34\u0A37\u0A3A\u0A3B\u0A3D\u0A43-\u0A46\u0A49\u0A4A\u0A4E-\u0A50\u0A52-\u0A58\u0A5D\u0A5F-\u0A65\u0A76-\u0A80\u0A84\u0A8E\u0A92\u0AA9\u0AB1\u0AB4\u0ABA\u0ABB\u0AC6\u0ACA\u0ACE\u0ACF\u0AD1-\u0ADF\u0AE4\u0AE5\u0AF0-\u0AF8\u0B00\u0B04\u0B0D\u0B0E\u0B11\u0B12\u0B29\u0B31\u0B34\u0B3A\u0B3B\u0B45\u0B46\u0B49\u0B4A\u0B4E-\u0B54\u0B58-\u0B5B\u0B5E\u0B64\u0B65\u0B70\u0B72-\u0B81\u0B84\u0B8B-\u0B8D\u0B91\u0B96-\u0B98\u0B9B\u0B9D\u0BA0-\u0BA2\u0BA5-\u0BA7\u0BAB-\u0BAD\u0BBA-\u0BBD\u0BC3-\u0BC5\u0BC9\u0BCE\u0BCF\u0BD1-\u0BD6\u0BD8-\u0BE5\u0BF0-\u0BFF\u0C0D\u0C11\u0C29\u0C3A-\u0C3C\u0C45\u0C49\u0C4E-\u0C54\u0C57\u0C5B-\u0C5F\u0C64\u0C65\u0C70-\u0C7F\u0C84\u0C8D\u0C91\u0CA9\u0CB4\u0CBA\u0CBB\u0CC5\u0CC9\u0CCE-\u0CD4\u0CD7-\u0CDD\u0CDF\u0CE4\u0CE5\u0CF0\u0CF3-\u0CFF\u0D0D\u0D11\u0D45\u0D49\u0D4F-\u0D53\u0D58-\u0D5E\u0D64\u0D65\u0D70-\u0D79\u0D80\u0D84\u0D97-\u0D99\u0DB2\u0DBC\u0DBE\u0DBF\u0DC7-\u0DC9\u0DCB-\u0DCE\u0DD5\u0DD7\u0DE0-\u0DE5\u0DF0\u0DF1\u0DF4-\u0E00\u0E3B-\u0E3F\u0E4F\u0E5A-\u0E80\u0E83\u0E85\u0E8B\u0EA4\u0EA6\u0EBE\u0EBF\u0EC5\u0EC7\u0ECE\u0ECF\u0EDA\u0EDB\u0EE0-\u0EFF\u0F01-\u0F17\u0F1A-\u0F1F\u0F2A-\u0F34\u0F36\u0F38\u0F3A-\u0F3D\u0F48\u0F6D-\u0F70\u0F85\u0F98\u0FBD-\u0FC5\u0FC7-\u0FFF\u104A-\u104F\u109E\u109F\u10C6\u10C8-\u10CC\u10CE\u10CF\u10FB\u1249\u124E\u124F\u1257\u1259\u125E\u125F\u1289\u128E\u128F\u12B1\u12B6\u12B7\u12BF\u12C1\u12C6\u12C7\u12D7\u1311\u1316\u1317\u135B\u135C\u1360-\u137F\u1390-\u139F\u13F6\u13F7\u13FE-\u1400\u166D\u166E\u1680\u169B-\u169F\u16EB-\u16ED\u16F9-\u16FF\u170D\u1715-\u171F\u1735-\u173F\u1754-\u175F\u176D\u1771\u1774-\u177F\u17D4-\u17D6\u17D8-\u17DB\u17DE\u17DF\u17EA-\u180A\u180E\u180F\u181A-\u181F\u1879-\u187F\u18AB-\u18AF\u18F6-\u18FF\u191F\u192C-\u192F\u193C-\u1945\u196E\u196F\u1975-\u197F\u19AC-\u19AF\u19CA-\u19CF\u19DA-\u19FF\u1A1C-\u1A1F\u1A5F\u1A7D\u1A7E\u1A8A-\u1A8F\u1A9A-\u1AA6\u1AA8-\u1AAF\u1AC1-\u1AFF\u1B4C-\u1B4F\u1B5A-\u1B6A\u1B74-\u1B7F\u1BF4-\u1BFF\u1C38-\u1C3F\u1C4A-\u1C4C\u1C7E\u1C7F\u1C89-\u1C8F\u1CBB\u1CBC\u1CC0-\u1CCF\u1CD3\u1CFB-\u1CFF\u1DFA\u1F16\u1F17\u1F1E\u1F1F\u1F46\u1F47\u1F4E\u1F4F\u1F58\u1F5A\u1F5C\u1F5E\u1F7E\u1F7F\u1FB5\u1FBD\u1FBF-\u1FC1\u1FC5\u1FCD-\u1FCF\u1FD4\u1FD5\u1FDC-\u1FDF\u1FED-\u1FF1\u1FF5\u1FFD-\u203E\u2041-\u2053\u2055-\u2070\u2072-\u207E\u2080-\u208F\u209D-\u20CF\u20F1-\u2101\u2103-\u2106\u2108\u2109\u2114\u2116-\u2118\u211E-\u2123\u2125\u2127\u2129\u212E\u213A\u213B\u2140-\u2144\u214A-\u214D\u214F-\u215F\u2189-\u24B5\u24EA-\u2BFF\u2C2F\u2C5F\u2CE5-\u2CEA\u2CF4-\u2CFF\u2D26\u2D28-\u2D2C\u2D2E\u2D2F\u2D68-\u2D6E\u2D70-\u2D7E\u2D97-\u2D9F\u2DA7\u2DAF\u2DB7\u2DBF\u2DC7\u2DCF\u2DD7\u2DDF\u2E00-\u2E2E\u2E30-\u3004\u3008-\u3020\u3030\u3036\u3037\u303D-\u3040\u3097\u3098\u309B\u309C\u30A0\u30FB\u3100-\u3104\u3130\u318F-\u319F\u31C0-\u31EF\u3200-\u33FF\u4DC0-\u4DFF\u9FFD-\u9FFF\uA48D-\uA4CF\uA4FE\uA4FF\uA60D-\uA60F\uA62C-\uA63F\uA673\uA67E\uA6F2-\uA716\uA720\uA721\uA789\uA78A\uA7C0\uA7C1\uA7CB-\uA7F4\uA828-\uA82B\uA82D-\uA83F\uA874-\uA87F\uA8C6-\uA8CF\uA8DA-\uA8DF\uA8F8-\uA8FA\uA8FC\uA92E\uA92F\uA954-\uA95F\uA97D-\uA97F\uA9C1-\uA9CE\uA9DA-\uA9DF\uA9FF\uAA37-\uAA3F\uAA4E\uAA4F\uAA5A-\uAA5F\uAA77-\uAA79\uAAC3-\uAADA\uAADE\uAADF\uAAF0\uAAF1\uAAF7-\uAB00\uAB07\uAB08\uAB0F\uAB10\uAB17-\uAB1F\uAB27\uAB2F\uAB5B\uAB6A-\uAB6F\uABEB\uABEE\uABEF\uABFA-\uABFF\uD7A4-\uD7AF\uD7C7-\uD7CA\uD7FC-\uD7FF\uE000-\uF8FF\uFA6E\uFA6F\uFADA-\uFAFF\uFB07-\uFB12\uFB18-\uFB1C\uFB29\uFB37\uFB3D\uFB3F\uFB42\uFB45\uFBB2-\uFBD2\uFD3E-\uFD4F\uFD90\uFD91\uFDC8-\uFDEF\uFDFC-\uFDFF\uFE10-\uFE1F\uFE30-\uFE32\uFE35-\uFE4C\uFE50-\uFE6F\uFE75\uFEFD-\uFF0F\uFF1A-\uFF20\uFF3B-\uFF3E\uFF40\uFF5B-\uFF65\uFFBF-\uFFC1\uFFC8\uFFC9\uFFD0\uFFD1\uFFD8\uFFD9\uFFDD-\uFFFF]|\uD800[\uDC0C\uDC27\uDC3B\uDC3E\uDC4E\uDC4F\uDC5E-\uDC7F\uDCFB-\uDD3F\uDD75-\uDDFC\uDDFE-\uDE7F\uDE9D-\uDE9F\uDED1-\uDEDF\uDEE1-\uDEFF\uDF20-\uDF2C\uDF4B-\uDF4F\uDF7B-\uDF7F\uDF9E\uDF9F\uDFC4-\uDFC7\uDFD0\uDFD6-\uDFFF]|\uD801[\uDC9E\uDC9F\uDCAA-\uDCAF\uDCD4-\uDCD7\uDCFC-\uDCFF\uDD28-\uDD2F\uDD64-\uDDFF\uDF37-\uDF3F\uDF56-\uDF5F\uDF68-\uDFFF]|\uD802[\uDC06\uDC07\uDC09\uDC36\uDC39-\uDC3B\uDC3D\uDC3E\uDC56-\uDC5F\uDC77-\uDC7F\uDC9F-\uDCDF\uDCF3\uDCF6-\uDCFF\uDD16-\uDD1F\uDD3A-\uDD7F\uDDB8-\uDDBD\uDDC0-\uDDFF\uDE04\uDE07-\uDE0B\uDE14\uDE18\uDE36\uDE37\uDE3B-\uDE3E\uDE40-\uDE5F\uDE7D-\uDE7F\uDE9D-\uDEBF\uDEC8\uDEE7-\uDEFF\uDF36-\uDF3F\uDF56-\uDF5F\uDF73-\uDF7F\uDF92-\uDFFF]|\uD803[\uDC49-\uDC7F\uDCB3-\uDCBF\uDCF3-\uDCFF\uDD28-\uDD2F\uDD3A-\uDE7F\uDEAA\uDEAD-\uDEAF\uDEB2-\uDEFF\uDF1D-\uDF26\uDF28-\uDF2F\uDF51-\uDFAF\uDFC5-\uDFDF\uDFF7-\uDFFF]|\uD804[\uDC47-\uDC65\uDC70-\uDC7E\uDCBB-\uDCCF\uDCE9-\uDCEF\uDCFA-\uDCFF\uDD35\uDD40-\uDD43\uDD48-\uDD4F\uDD74\uDD75\uDD77-\uDD7F\uDDC5-\uDDC8\uDDCD\uDDDB\uDDDD-\uDDFF\uDE12\uDE38-\uDE3D\uDE3F-\uDE7F\uDE87\uDE89\uDE8E\uDE9E\uDEA9-\uDEAF\uDEEB-\uDEEF\uDEFA-\uDEFF\uDF04\uDF0D\uDF0E\uDF11\uDF12\uDF29\uDF31\uDF34\uDF3A\uDF45\uDF46\uDF49\uDF4A\uDF4E\uDF4F\uDF51-\uDF56\uDF58-\uDF5C\uDF64\uDF65\uDF6D-\uDF6F\uDF75-\uDFFF]|\uD805[\uDC4B-\uDC4F\uDC5A-\uDC5D\uDC62-\uDC7F\uDCC6\uDCC8-\uDCCF\uDCDA-\uDD7F\uDDB6\uDDB7\uDDC1-\uDDD7\uDDDE-\uDDFF\uDE41-\uDE43\uDE45-\uDE4F\uDE5A-\uDE7F\uDEB9-\uDEBF\uDECA-\uDEFF\uDF1B\uDF1C\uDF2C-\uDF2F\uDF3A-\uDFFF]|\uD806[\uDC3B-\uDC9F\uDCEA-\uDCFE\uDD07\uDD08\uDD0A\uDD0B\uDD14\uDD17\uDD36\uDD39\uDD3A\uDD44-\uDD4F\uDD5A-\uDD9F\uDDA8\uDDA9\uDDD8\uDDD9\uDDE2\uDDE5-\uDDFF\uDE3F-\uDE46\uDE48-\uDE4F\uDE9A-\uDE9C\uDE9E-\uDEBF\uDEF9-\uDFFF]|\uD807[\uDC09\uDC37\uDC41-\uDC4F\uDC5A-\uDC71\uDC90\uDC91\uDCA8\uDCB7-\uDCFF\uDD07\uDD0A\uDD37-\uDD39\uDD3B\uDD3E\uDD48-\uDD4F\uDD5A-\uDD5F\uDD66\uDD69\uDD8F\uDD92\uDD99-\uDD9F\uDDAA-\uDEDF\uDEF7-\uDFAF\uDFB1-\uDFFF]|\uD808[\uDF9A-\uDFFF]|\uD809[\uDC6F-\uDC7F\uDD44-\uDFFF]|[\uD80A\uD80B\uD80E-\uD810\uD812-\uD819\uD824-\uD82B\uD82D\uD82E\uD830-\uD833\uD837\uD839\uD83D\uD83F\uD87B-\uD87D\uD87F\uD885-\uDB3F\uDB41-\uDBFF][\uDC00-\uDFFF]|\uD80D[\uDC2F-\uDFFF]|\uD811[\uDE47-\uDFFF]|\uD81A[\uDE39-\uDE3F\uDE5F\uDE6A-\uDECF\uDEEE\uDEEF\uDEF5-\uDEFF\uDF37-\uDF3F\uDF44-\uDF4F\uDF5A-\uDF62\uDF78-\uDF7C\uDF90-\uDFFF]|\uD81B[\uDC00-\uDE3F\uDE80-\uDEFF\uDF4B-\uDF4E\uDF88-\uDF8E\uDFA0-\uDFDF\uDFE2\uDFE5-\uDFEF\uDFF2-\uDFFF]|\uD821[\uDFF8-\uDFFF]|\uD823[\uDCD6-\uDCFF\uDD09-\uDFFF]|\uD82C[\uDD1F-\uDD4F\uDD53-\uDD63\uDD68-\uDD6F\uDEFC-\uDFFF]|\uD82F[\uDC6B-\uDC6F\uDC7D-\uDC7F\uDC89-\uDC8F\uDC9A-\uDC9C\uDC9F-\uDFFF]|\uD834[\uDC00-\uDD64\uDD6A-\uDD6C\uDD73-\uDD7A\uDD83\uDD84\uDD8C-\uDDA9\uDDAE-\uDE41\uDE45-\uDFFF]|\uD835[\uDC55\uDC9D\uDCA0\uDCA1\uDCA3\uDCA4\uDCA7\uDCA8\uDCAD\uDCBA\uDCBC\uDCC4\uDD06\uDD0B\uDD0C\uDD15\uDD1D\uDD3A\uDD3F\uDD45\uDD47-\uDD49\uDD51\uDEA6\uDEA7\uDEC1\uDEDB\uDEFB\uDF15\uDF35\uDF4F\uDF6F\uDF89\uDFA9\uDFC3\uDFCC\uDFCD]|\uD836[\uDC00-\uDDFF\uDE37-\uDE3A\uDE6D-\uDE74\uDE76-\uDE83\uDE85-\uDE9A\uDEA0\uDEB0-\uDFFF]|\uD838[\uDC07\uDC19\uDC1A\uDC22\uDC25\uDC2B-\uDCFF\uDD2D-\uDD2F\uDD3E\uDD3F\uDD4A-\uDD4D\uDD4F-\uDEBF\uDEFA-\uDFFF]|\uD83A[\uDCC5-\uDCCF\uDCD7-\uDCFF\uDD4C-\uDD4F\uDD5A-\uDFFF]|\uD83B[\uDC00-\uDDFF\uDE04\uDE20\uDE23\uDE25\uDE26\uDE28\uDE33\uDE38\uDE3A\uDE3C-\uDE41\uDE43-\uDE46\uDE48\uDE4A\uDE4C\uDE50\uDE53\uDE55\uDE56\uDE58\uDE5A\uDE5C\uDE5E\uDE60\uDE63\uDE65\uDE66\uDE6B\uDE73\uDE78\uDE7D\uDE7F\uDE8A\uDE9C-\uDEA0\uDEA4\uDEAA\uDEBC-\uDFFF]|\uD83C[\uDC00-\uDD2F\uDD4A-\uDD4F\uDD6A-\uDD6F\uDD8A-\uDFFF]|\uD83E[\uDC00-\uDFEF\uDFFA-\uDFFF]|\uD869[\uDEDE-\uDEFF]|\uD86D[\uDF35-\uDF3F]|\uD86E[\uDC1E\uDC1F]|\uD873[\uDEA2-\uDEAF]|\uD87A[\uDFE1-\uDFFF]|\uD87E[\uDE1E-\uDFFF]|\uD884[\uDF4B-\uDFFF]|\uDB40[\uDC00-\uDCFF\uDDF0-\uDFFF]/g,t=Object.hasOwnProperty;class r{constructor(){this.occurrences,this.reset()}slug(u,e){var D,r;let s=(D=u,r=!0===e,"string"!=typeof D?"":(r||(D=D.toLowerCase()),D.replace(F,"").replace(/ /g,"-"))),n=s;for(;t.call(this.occurrences,s);)this.occurrences[n]++,s=n+"-"+this.occurrences[n];return this.occurrences[s]=0,s}reset(){this.occurrences=Object.create(null)}}},32366:(u,e,D)=>{Promise.resolve().then(D.bind(D,82743))},50666:(u,e,D)=>{"use strict";D.d(e,{Ck:()=>s});var F=D(95155),t=D(12115),r=D(53482);function s(u){let{children:e,as:D="div",className:s=""}=u,n=function u(e){return null==e||"boolean"==typeof e?"":"string"==typeof e?e:"number"==typeof e?String(e):Array.isArray(e)?e.map(u).join(""):t.isValidElement(e)?u(e.props.children):""}(e);if(!n||0===n.trim().length)return(0,F.jsx)(D,{className:s||void 0,children:e});let o="relative group ".concat("span"===D?"block ":"").concat(s).trim();return(0,F.jsxs)(D,{className:o,"data-testid":"code-block-with-copy",children:[e,(0,F.jsx)(r.i,{text:n,className:"absolute right-2 top-2 z-10 opacity-100 md:opacity-0 md:group-hover:opacity-100 md:group-focus-within:opacity-100 focus:opacity-100"})]})}},53482:(u,e,D)=>{"use strict";D.d(e,{i:()=>a});var F=D(95155),t=D(12115),r=D(60322),s=D(9900);function n(){return(0,F.jsx)("svg",{className:"h-3.5 w-3.5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,F.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z"})})}function o(){return(0,F.jsx)("svg",{className:"h-3.5 w-3.5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,F.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M5 13l4 4L19 7"})})}function a(u){let{text:e,className:D="",label:a="Copy"}=u,[l,i]=(0,t.useState)(!1),c=(0,t.useRef)(null);(0,t.useEffect)(()=>()=>{c.current&&clearTimeout(c.current)},[]);let C=(0,t.useCallback)(async()=>{try{await (0,r.l)(e),i(!0),c.current&&clearTimeout(c.current),c.current=setTimeout(()=>i(!1),s.s7)}catch(u){}},[e]);return(0,F.jsxs)("button",{type:"button",onClick:C,className:"inline-flex items-center gap-1 rounded border border-border bg-surface px-2 py-0.5 text-[11px] font-medium text-foreground transition-colors hover:bg-muted ".concat(D),"aria-label":l?"Copied":a,title:l?"Copied!":a,children:[l?(0,F.jsx)(o,{}):(0,F.jsx)(n,{}),(0,F.jsx)("span",{children:l?"Copied":a})]})}},55924:(u,e,D)=>{"use strict";D.d(e,{K:()=>r});var F=D(95155),t=D(12115);function r(u){let{entries:e,title:D,headerOffset:r=64,root:s=null,className:n=""}=u,[o,a]=(0,t.useState)(null);return((0,t.useRef)(null).current=o,(0,t.useEffect)(()=>{if("undefined"==typeof IntersectionObserver||0===e.length)return;let u=new IntersectionObserver(u=>{let e=function(u){let e=u.filter(u=>u.isIntersecting).sort((u,e)=>u.boundingClientRect.top-e.boundingClientRect.top);return e.length>0?e[0].target.id:null}(u);e&&a(e)},{root:s,rootMargin:"-".concat(r,"px 0px -70% 0px"),threshold:0}),D=[];for(let F of e){let e=document.getElementById(F.id);e&&(u.observe(e),D.push(e))}return()=>{u.disconnect(),D.length=0}},[e,r,s]),0===e.length)?null:(0,F.jsxs)("nav",{"aria-label":D,className:n,children:[(0,F.jsx)("p",{className:"px-3 pb-2 text-xs font-semibold uppercase tracking-wide text-muted-foreground",children:D}),(0,F.jsx)("ul",{className:"space-y-0.5 text-sm",children:e.map((u,e)=>{let D=u.id===o;return(0,F.jsx)("li",{children:(0,F.jsx)("a",{href:"#".concat(u.id),onClick:e=>((u,e)=>{u.preventDefault();let D="undefined"!=typeof document?document.getElementById(e):null;D&&D.scrollIntoView({behavior:"smooth",block:"start"}),a(e)})(e,u.id),"aria-current":D?"location":void 0,"data-depth":u.depth,style:{paddingLeft:"".concat((u.depth-1)*12+12,"px")},className:["block truncate rounded py-1 pr-2 transition-colors",D?"bg-accent-50 font-medium text-accent-700":"text-muted-foreground hover:bg-muted hover:text-foreground"].join(" "),title:u.text,children:u.text})},"".concat(u.id,"-").concat(e))})})]})}},60322:(u,e,D)=>{"use strict";D.d(e,{l:()=>t});let F=/\x1b\[[0-9;]*[a-zA-Z]|\x1b\][^\x07]*\x07|\[[0-9;]*m/g;async function t(u){var e;if(!u||0===u.trim().length)return;let D=u.replace(F,"");if(null==(e=navigator.clipboard)?void 0:e.writeText)try{await navigator.clipboard.writeText(D);return}catch(u){}let t=document.createElement("textarea");t.value=D,t.style.position="fixed",t.style.left="-9999px",t.style.top="-9999px",t.style.opacity="0",document.body.appendChild(t),t.focus(),t.select();try{document.execCommand("copy")}finally{document.body.removeChild(t)}}},69264:(u,e,D)=>{"use strict";D.d(e,{u:()=>n});var F=D(95155),t=D(12115),r=D(18955),s=D(3005);function n(u){let{src:e,onError:D}=u,n=(0,r.c)("worktree"),[o,a]=(0,t.useState)(!0),[l,i]=(0,t.useState)(!1);return l?(0,F.jsxs)("div",{className:"flex flex-col items-center justify-center py-12 text-muted-foreground",children:[(0,F.jsx)("svg",{className:"w-16 h-16 mb-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,F.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.5,d:"M15 10l4.553-2.276A1 1 0 0121 8.618v6.764a1 1 0 01-1.447.894L15 14M5 18h8a2 2 0 002-2V8a2 2 0 00-2-2H5a2 2 0 00-2 2v8a2 2 0 002 2z"})}),(0,F.jsx)("p",{className:"text-sm",children:n("videoViewer.loadError")})]}):(0,F.jsxs)("div",{className:"flex flex-col items-center justify-center p-4",children:[o&&(0,F.jsxs)("div",{className:"flex items-center justify-center py-8",children:[(0,F.jsx)(s.y,{size:"xl",variant:"accent"}),(0,F.jsx)("p",{className:"ml-3 text-muted-foreground",children:n("videoViewer.loading")})]}),(0,F.jsx)("video",{controls:!0,src:e,onLoadedData:()=>{a(!1)},onError:()=>{a(!1),i(!0),null==D||D()},style:{maxWidth:"100%",maxHeight:"500px",display:o?"none":"block"},className:"rounded-lg shadow-sm",children:n("videoViewer.unsupported")})]})}},79962:(u,e,D)=>{"use strict";D.d(e,{K:()=>n,Y:()=>t});var F=D(21286);let t="commandmate:md-toc-visible",r=/^ {0,3}(#{1,6})(?:[ \t]+(.*?))?[ \t]*$/,s=/^( {0,3})(`{3,}|~{3,})(.*)$/;function n(u){if(!u)return[];let e=new F.A,D=[],t=null,n=0;for(let F of u.split("\n")){var o;let u=s.exec(F);if(t){if(u){let e=u[2];e[0]===t&&e.length>=n&&""===u[3].trim()&&(t=null,n=0)}continue}if(u){let e=u[2],D=e[0];if("`"===D&&u[3].includes("`"));else{t=D,n=e.length;continue}}let a=r.exec(F);if(!a)continue;let l=a[1].length,i=function(u){let e=u;return(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=e.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!=(o=a[2])?o:"").replace(/([ \t]|^)#+[ \t]*$/,"")),c=e.slug(i);D.push({depth:l,text:i,id:c})}return D}},80003:(u,e,D)=>{"use strict";D.d(e,{A:()=>F});let F=(0,D(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"}]])},82743:(u,e,D)=>{"use strict";D.r(e),D.d(e,{default:()=>h});var F=D(95155),t=D(12115),r=D(20063),s=D(18955),n=D(80003);let o=(0,D(71847).A)("book-open",[["path",{d:"M12 7v14",key:"1akyts"}],["path",{d:"M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z",key:"ruj8y"}]]);var a=D(744),l=D(51238),i=D(22133),c=D(5225),C=D(92254),d=D(17846),E=D(69264),A=D(55924),B=D(50666),x=D(79962);function h(){let u=(0,r.useRouter)(),e=(0,r.useParams)(),D=(0,s.c)("common"),h=(0,s.c)("worktree"),p=e.id,m=e.path.join("/"),[g,f]=(0,t.useState)(null),[y,j]=(0,t.useState)(!0),[b,v]=(0,t.useState)(null),[k,N]=(0,t.useState)(!0),[w,L]=(0,t.useState)(!1),M=(null==g?void 0:g.extension)==="md"||(null==g?void 0:g.extension)==="markdown",S=(0,t.useMemo)(()=>M&&g?(0,x.K)(g.content):[],[M,g]),z=S.length>=2,P=M&&z&&k;return(0,t.useEffect)(()=>{let u=localStorage.getItem(x.Y);"true"===u?N(!0):"false"===u&&N(!1),L(!0)},[]),(0,t.useEffect)(()=>{w&&localStorage.setItem(x.Y,String(k))},[k,w]),(0,t.useEffect)(()=>{(async()=>{j(!0),v(null);try{let u=await fetch("/api/worktrees/".concat(p,"/files/").concat(m));if(!u.ok){let e=await u.json();throw Error(e.error||"Failed to load file")}let e=await u.json();f(e)}catch(u){v(u instanceof Error?u.message:"Failed to load file")}finally{j(!1)}})()},[p,m]),(0,F.jsxs)("div",{className:"min-h-screen bg-gray-50",children:[(0,F.jsx)("div",{className:"sticky top-0 z-10 bg-white border-b border-gray-200 shadow-sm",children:(0,F.jsxs)("div",{className:"max-w-7xl mx-auto px-4 py-3 flex items-center gap-3",children:[(0,F.jsxs)("button",{onClick:()=>u.back(),className:"flex items-center gap-2 text-gray-600 hover:text-gray-900 transition-colors","aria-label":D("back"),children:[(0,F.jsx)("svg",{className:"w-6 h-6",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,F.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M10 19l-7-7m0 0l7-7m-7 7h18"})}),(0,F.jsx)("span",{className:"hidden sm:inline",children:D("back")})]}),(0,F.jsx)("div",{className:"flex-1 min-w-0",children:(0,F.jsx)("h1",{className:"text-lg font-semibold text-gray-900 truncate",children:m})}),M&&z&&(0,F.jsxs)("button",{onClick:()=>N(u=>!u),"aria-pressed":k,"aria-label":h(k?"toc.hide":"toc.show"),title:h(k?"toc.hide":"toc.show"),className:"hidden lg:flex items-center gap-1.5 flex-shrink-0 rounded-md border border-gray-200 px-2.5 py-1.5 text-sm text-gray-600 hover:bg-gray-50 hover:text-gray-900 transition-colors",children:[k?(0,F.jsx)(n.A,{className:"w-4 h-4"}):(0,F.jsx)(o,{className:"w-4 h-4"}),(0,F.jsx)("span",{className:"hidden xl:inline",children:h("toc.title")})]})]})}),(0,F.jsxs)("div",{className:"max-w-7xl mx-auto px-4 py-6",children:[y&&(0,F.jsx)(a.Zp,{padding:"lg",children:(0,F.jsxs)("div",{className:"flex items-center justify-center py-12",children:[(0,F.jsx)(a.y$,{size:"xl",variant:"accent"}),(0,F.jsx)("p",{className:"ml-3 text-gray-600",children:"Loading file..."})]})}),b&&(0,F.jsx)(a.Zp,{padding:"lg",children:(0,F.jsx)("div",{className:"bg-danger-subtle border border-danger-border rounded-lg p-4",children:(0,F.jsxs)("div",{className:"flex items-center gap-2",children:[(0,F.jsx)("svg",{className:"w-5 h-5 text-danger-foreground flex-shrink-0",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,F.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 8v4m0 4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"})}),(0,F.jsx)("p",{className:"text-sm text-danger-foreground",children:b})]})})}),g&&!y&&!b&&(0,F.jsxs)(a.Zp,{padding:"none",children:[(0,F.jsx)("div",{className:"bg-gray-100 px-4 py-3 border-b border-gray-200",children:(0,F.jsxs)("p",{className:"text-xs text-gray-600 font-mono break-all",children:[g.worktreePath,"/",g.path]})}),(0,F.jsx)("div",{className:"p-6 sm:p-8 bg-white",children:g.isVideo?(0,F.jsx)(E.u,{src:g.content,mimeType:g.mimeType}):g.isImage?(0,F.jsx)(d.a,{src:g.content,alt:g.path,mimeType:g.mimeType}):M?(0,F.jsxs)("div",{className:"lg:flex lg:gap-6 lg:items-start",children:[(0,F.jsx)("div",{className:"min-w-0 lg:flex-1 prose prose-slate max-w-none prose-headings:font-semibold prose-headings:scroll-mt-[57px] prose-h1:text-3xl prose-h1:border-b prose-h1:pb-2 prose-h2:text-2xl prose-h2:border-b prose-h2:pb-2 prose-h3:text-xl prose-a:text-accent-600 prose-a:no-underline hover:prose-a:underline prose-code:text-sm prose-code:bg-gray-100 prose-code:px-1 prose-code:py-0.5 prose-code:rounded prose-code:before:content-none prose-code:after:content-none prose-img:rounded-lg prose-img:shadow-md",children:(0,F.jsx)(l.oz,{remarkPlugins:[i.A],rehypePlugins:[C.A,c.A],components:{code:u=>{let{className:e,children:D,...t}=u;return e&&e.includes("language-")?(0,F.jsx)("code",{className:e,...t,children:D}):(0,F.jsx)("code",{className:"bg-gray-100 text-gray-800 px-1.5 py-0.5 rounded text-sm font-mono",...t,children:D})},pre:u=>{let{children:e}=u;return(0,F.jsx)(B.Ck,{children:(0,F.jsx)("pre",{className:"overflow-x-auto",children:e})})},table:u=>{let{children:e}=u;return(0,F.jsx)("div",{className:"overflow-x-auto",children:(0,F.jsx)("table",{className:"border-collapse border border-gray-300",children:e})})},th:u=>{let{children:e}=u;return(0,F.jsx)("th",{className:"border border-gray-300 bg-gray-100 px-4 py-2 text-left font-semibold",children:e})},td:u=>{let{children:e}=u;return(0,F.jsx)("td",{className:"border border-gray-300 px-4 py-2",children:e})},blockquote:u=>{let{children:e}=u;return(0,F.jsx)("blockquote",{className:"border-l-4 border-gray-300 pl-4 italic text-gray-700",children:e})}},children:g.content})}),P&&(0,F.jsx)("aside",{className:"hidden lg:block lg:w-64 lg:flex-shrink-0",children:(0,F.jsx)("div",{className:"lg:sticky",style:{top:"".concat(65,"px")},children:(0,F.jsx)(A.K,{entries:S,title:h("toc.title"),headerOffset:57})})})]}):(0,F.jsx)("pre",{className:"bg-gray-50 border border-gray-200 rounded-md p-4 overflow-x-auto text-sm",children:(0,F.jsx)("code",{className:"language-".concat(g.extension),children:g.content})})})]})]})]})}},92254:(u,e,D)=>{"use strict";D.d(e,{A:()=>n});var F=D(21286),t=D(95139);let r={},s=new F.A;function n(u){let e=(u||r).prefix||"";return function(u){s.reset(),(0,t.YR)(u,"element",function(u){(function(u){let e="element"===u.type?u.tagName.toLowerCase():"",D=2===e.length&&104===e.charCodeAt(0)?e.charCodeAt(1):0;return D>48&&D<55?D-48:void 0})(u)&&!u.properties.id&&(u.properties.id=e+s.slug("children"in u?function u(e){let D=-1,F=[];for(;++D<e.children.length;){var t;F[D]="text"===(t=e.children[D]).type?t.value:"children"in t?u(t):""}return F.join("")}(u):"value"in u?u.value:""))})}}}},u=>{u.O(0,[6809,4909,2770,8566,6402,744,8441,1255,7358],()=>u(u.s=32366)),_N_E=u.O()}]);
|