@surething/cockpit 1.0.187 → 1.0.189
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.next-prod/BUILD_ID +1 -1
- package/.next-prod/app-path-routes-manifest.json +21 -18
- package/.next-prod/build-manifest.json +2 -2
- package/.next-prod/prerender-manifest.json +3 -3
- package/.next-prod/routes-manifest.json +20 -0
- package/.next-prod/server/app/_global-error/page.js.nft.json +1 -1
- package/.next-prod/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/_global-error.html +2 -2
- package/.next-prod/server/app/_global-error.rsc +1 -1
- package/.next-prod/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/.next-prod/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
- package/.next-prod/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
- package/.next-prod/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/.next-prod/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/.next-prod/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next-prod/server/app/_not-found/page.js.nft.json +1 -1
- package/.next-prod/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/_not-found.html +2 -2
- package/.next-prod/server/app/_not-found.rsc +3 -3
- package/.next-prod/server/app/_not-found.segments/_full.segment.rsc +3 -3
- package/.next-prod/server/app/_not-found.segments/_head.segment.rsc +1 -1
- package/.next-prod/server/app/_not-found.segments/_index.segment.rsc +3 -3
- package/.next-prod/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- package/.next-prod/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
- package/.next-prod/server/app/_not-found.segments/_tree.segment.rsc +2 -2
- package/.next-prod/server/app/api/bash/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/bash/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/chat/codex/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/chat/codex/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/chat/kimi/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/chat/kimi/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/chat/ollama/route.js +26 -8
- package/.next-prod/server/app/api/chat/ollama/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/chat/ollama/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/chat/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/chat/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/claude-stats/route.js +1 -1
- package/.next-prod/server/app/api/claude-stats/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/claude-stats/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/commands/route.js +1 -1
- package/.next-prod/server/app/api/commands/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/commands/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/comments/route.js +1 -1
- package/.next-prod/server/app/api/comments/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/comments/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/db/columns/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/db/columns/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/db/connect/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/db/connect/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/db/disconnect/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/db/disconnect/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/db/export/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/db/export/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/db/query/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/db/query/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/db/schemas/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/db/schemas/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/extension/version/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/extension/version/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/file/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/file/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/files/blame/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/files/blame/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/files/clipboard/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/files/clipboard/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/files/copy/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/files/copy/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/files/delete/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/files/delete/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/files/expanded/route.js +1 -1
- package/.next-prod/server/app/api/files/expanded/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/files/expanded/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/files/index/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/files/index/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/files/init/route.js +1 -1
- package/.next-prod/server/app/api/files/init/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/files/init/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/files/paste/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/files/paste/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/files/read/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/files/read/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/files/readdir/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/files/readdir/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/files/recent/route.js +1 -1
- package/.next-prod/server/app/api/files/recent/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/files/recent/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/files/save/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/files/save/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/files/search/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/files/search/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/git/branch-diff/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/git/branch-diff/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/git/branches/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/git/branches/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/git/commit-diff/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/git/commit-diff/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/git/commits/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/git/commits/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/git/diff/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/git/diff/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/git/discard/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/git/discard/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/git/stage/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/git/stage/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/git/status/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/git/status/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/git/unstage/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/git/unstage/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/git/worktree/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/git/worktree/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/global-state/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/global-state/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/jupyter/load/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/jupyter/load/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/jupyter/save/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/jupyter/save/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/jupyter/shutdown/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/jupyter/shutdown/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/lsp/definition/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/lsp/definition/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/lsp/hover/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/lsp/hover/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/lsp/references/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/lsp/references/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/lsp/status/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/lsp/status/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/lsp/warmup/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/lsp/warmup/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/mysql/columns/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/mysql/columns/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/mysql/connect/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/mysql/connect/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/mysql/disconnect/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/mysql/disconnect/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/mysql/export/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/mysql/export/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/mysql/query/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/mysql/query/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/mysql/schemas/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/mysql/schemas/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/neo4j/connect/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/neo4j/connect/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/neo4j/disconnect/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/neo4j/disconnect/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/neo4j/query/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/neo4j/query/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/neo4j/schema/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/neo4j/schema/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/note/route.js +1 -1
- package/.next-prod/server/app/api/note/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/note/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/ollama/models/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/ollama/models/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/ollama/start/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/ollama/start/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/open-cursor/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/open-cursor/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/open-vscode/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/open-vscode/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/pick-folder/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/pick-folder/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/pinned-sessions/route.js +1 -1
- package/.next-prod/server/app/api/pinned-sessions/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/pinned-sessions/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/project-settings/route.js +1 -1
- package/.next-prod/server/app/api/project-settings/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/project-settings/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/project-state/route.js +1 -1
- package/.next-prod/server/app/api/project-state/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/project-state/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/projects/route.js +1 -1
- package/.next-prod/server/app/api/projects/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/projects/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/redis/command/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/redis/command/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/redis/connect/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/redis/connect/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/redis/delete/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/redis/delete/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/redis/disconnect/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/redis/disconnect/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/redis/get/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/redis/get/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/redis/keys/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/redis/keys/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/redis/set/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/redis/set/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/review/[id]/comments/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/review/[id]/comments/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/review/[id]/replies/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/review/[id]/replies/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/review/[id]/route.js +1 -1
- package/.next-prod/server/app/api/review/[id]/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/review/[id]/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/review/identify/route.js +1 -1
- package/.next-prod/server/app/api/review/identify/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/review/identify/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/review/order/route.js +1 -1
- package/.next-prod/server/app/api/review/order/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/review/order/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/review/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/review/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/review/share-info/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/review/share-info/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/review/users/route.js +1 -1
- package/.next-prod/server/app/api/review/users/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/review/users/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/scheduled-tasks/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/scheduled-tasks/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/services/config/route.js +1 -1
- package/.next-prod/server/app/api/services/config/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/services/config/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/services/scripts/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/services/scripts/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/session/[sessionId]/fork/route.js +1 -1
- package/.next-prod/server/app/api/session/[sessionId]/fork/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/session/[sessionId]/fork/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/session/[sessionId]/history/route.js +1 -1
- package/.next-prod/server/app/api/session/[sessionId]/history/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/session/[sessionId]/history/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/session-by-path/route.js +1 -1
- package/.next-prod/server/app/api/session-by-path/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/session-by-path/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/sessions/projects/[encodedPath]/route.js +1 -1
- package/.next-prod/server/app/api/sessions/projects/[encodedPath]/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/sessions/projects/[encodedPath]/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/sessions/projects/route.js +1 -1
- package/.next-prod/server/app/api/sessions/projects/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/sessions/projects/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/sessions/route.js +1 -1
- package/.next-prod/server/app/api/sessions/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/sessions/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/settings/route.js +1 -1
- package/.next-prod/server/app/api/settings/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/settings/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/skills/[id]/route.js +1 -0
- package/.next-prod/server/app/api/skills/[id]/route.js.nft.json +1 -0
- package/.next-prod/server/app/api/skills/[id]/route_client-reference-manifest.js +1 -0
- package/.next-prod/server/app/api/skills/content/route.js +1 -0
- package/.next-prod/server/app/api/skills/content/route.js.nft.json +1 -0
- package/.next-prod/server/app/api/skills/content/route_client-reference-manifest.js +1 -0
- package/.next-prod/server/app/api/skills/route.js +1 -0
- package/.next-prod/server/app/api/skills/route.js.nft.json +1 -0
- package/.next-prod/server/app/api/skills/route_client-reference-manifest.js +1 -0
- package/.next-prod/server/app/api/terminal/aliases/route.js +1 -1
- package/.next-prod/server/app/api/terminal/aliases/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/terminal/aliases/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/terminal/autocomplete/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/terminal/autocomplete/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/terminal/bubble-order/route.js +1 -1
- package/.next-prod/server/app/api/terminal/bubble-order/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/terminal/bubble-order/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/terminal/env/route.js +1 -1
- package/.next-prod/server/app/api/terminal/env/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/terminal/env/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/terminal/history/route.js +1 -1
- package/.next-prod/server/app/api/terminal/history/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/terminal/history/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/version/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/version/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/favicon.ico/route.js.nft.json +1 -1
- package/.next-prod/server/app/manifest.webmanifest/route.js.nft.json +1 -1
- package/.next-prod/server/app/manifest.webmanifest/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/page.js +13 -13
- package/.next-prod/server/app/page.js.nft.json +1 -1
- package/.next-prod/server/app/page_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/project/page.js +8 -7
- package/.next-prod/server/app/project/page.js.nft.json +1 -1
- package/.next-prod/server/app/project/page_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/review/[id]/page.js +1 -1
- package/.next-prod/server/app/review/[id]/page.js.nft.json +1 -1
- package/.next-prod/server/app/review/[id]/page_client-reference-manifest.js +1 -1
- package/.next-prod/server/app-paths-manifest.json +21 -18
- package/.next-prod/server/chunks/1661.js +1 -0
- package/.next-prod/server/chunks/2325.js +1 -1
- package/.next-prod/server/chunks/2338.js +1 -0
- package/.next-prod/server/chunks/4098.js +1 -1
- package/.next-prod/server/chunks/459.js +1 -0
- package/.next-prod/server/chunks/5394.js +1 -1
- package/.next-prod/server/chunks/6043.js +4 -0
- package/.next-prod/server/chunks/7122.js +1 -0
- package/.next-prod/server/chunks/7514.js +1 -1
- package/.next-prod/server/functions-config-manifest.json +3 -0
- package/.next-prod/server/pages/404.html +2 -2
- package/.next-prod/server/pages/500.html +2 -2
- package/.next-prod/server/server-reference-manifest.json +1 -1
- package/.next-prod/static/KErTlLLQlubS82IizAx-5/_buildManifest.js +1 -0
- package/.next-prod/static/chunks/3530-49f50405e2b2a8c2.js +14 -0
- package/.next-prod/static/chunks/3743-66d6d2ef6629c733.js +4 -0
- package/.next-prod/static/chunks/6108-df36466c7d900315.js +1 -0
- package/.next-prod/static/chunks/6148-ceb1b58ea7be6767.js +1 -0
- package/.next-prod/static/chunks/6878-b27072ccf7fd4eba.js +1 -0
- package/.next-prod/static/chunks/9062-a330afa1af7f133e.js +1 -0
- package/.next-prod/static/chunks/app/_global-error/page-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/bash/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/chat/codex/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/chat/kimi/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/chat/ollama/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/chat/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/claude-stats/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/commands/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/comments/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/db/columns/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/db/connect/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/db/disconnect/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/db/export/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/db/query/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/db/schemas/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/extension/version/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/file/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/files/blame/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/files/clipboard/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/files/copy/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/files/delete/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/files/expanded/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/files/index/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/files/init/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/files/paste/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/files/read/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/files/readdir/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/files/recent/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/files/save/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/files/search/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/git/branch-diff/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/git/branches/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/git/commit-diff/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/git/commits/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/git/diff/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/git/discard/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/git/stage/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/git/status/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/git/unstage/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/git/worktree/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/global-state/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/jupyter/load/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/jupyter/save/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/jupyter/shutdown/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/lsp/definition/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/lsp/hover/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/lsp/references/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/lsp/status/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/lsp/warmup/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/mysql/columns/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/mysql/connect/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/mysql/disconnect/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/mysql/export/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/mysql/query/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/mysql/schemas/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/neo4j/connect/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/neo4j/disconnect/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/neo4j/query/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/neo4j/schema/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/note/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/ollama/models/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/ollama/start/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/open-cursor/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/open-vscode/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/pick-folder/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/pinned-sessions/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/project-settings/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/project-state/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/projects/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/redis/command/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/redis/connect/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/redis/delete/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/redis/disconnect/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/redis/get/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/redis/keys/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/redis/set/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/review/[id]/comments/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/review/[id]/replies/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/review/[id]/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/review/identify/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/review/order/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/review/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/review/share-info/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/review/users/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/scheduled-tasks/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/services/config/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/services/scripts/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/session/[sessionId]/fork/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/session/[sessionId]/history/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/session-by-path/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/sessions/projects/[encodedPath]/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/sessions/projects/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/sessions/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/settings/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/skills/[id]/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/skills/content/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/skills/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/terminal/aliases/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/terminal/autocomplete/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/terminal/bubble-order/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/terminal/env/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/terminal/history/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/version/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/manifest.webmanifest/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/page-e0d663a97bc29595.js +1 -0
- package/.next-prod/static/chunks/app/project/page-ff9fb0aaf89c8457.js +29 -0
- package/.next-prod/static/chunks/app/review/[id]/{page-559260ff9227d0b4.js → page-be83af23e89a03f9.js} +1 -1
- package/.next-prod/static/chunks/next/dist/client/components/builtin/app-error-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/next/dist/client/components/builtin/forbidden-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/next/dist/client/components/builtin/not-found-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/next/dist/client/components/builtin/unauthorized-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/css/75f39a8350e8177f.css +3 -0
- package/.next-prod/trace +13 -12
- package/.next-prod/trace-build +1 -1
- package/.next-prod/types/app/api/skills/[id]/route.ts +350 -0
- package/.next-prod/types/app/api/skills/content/route.ts +350 -0
- package/.next-prod/types/app/api/skills/route.ts +350 -0
- package/.next-prod/types/routes.d.ts +4 -1
- package/.next-prod/types/validator.ts +27 -0
- package/bin/cock-browser.mjs +65 -1
- package/chrome-extension/automation.js +36 -0
- package/chrome-extension/background.js +49 -2
- package/dist/{chunk-KLV3PBIZ.mjs → chunk-ZDTXJE6Z.mjs} +1 -0
- package/dist/scheduledTasks.mjs +1 -1
- package/dist/wsServer.mjs +1 -1
- package/package.json +1 -1
- package/.next-prod/server/chunks/4042.js +0 -1
- package/.next-prod/server/chunks/6062.js +0 -1
- package/.next-prod/server/chunks/7284.js +0 -1
- package/.next-prod/static/Avd2f2SegjGOElSYvrTlK/_buildManifest.js +0 -1
- package/.next-prod/static/chunks/1593-d845ec6e5c8de67e.js +0 -1
- package/.next-prod/static/chunks/2072-f08fabf0a6541d15.js +0 -4
- package/.next-prod/static/chunks/3530-6d8abfd0e950d439.js +0 -14
- package/.next-prod/static/chunks/5493-83d6a5ec42d6cbb3.js +0 -1
- package/.next-prod/static/chunks/app/_global-error/page-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/bash/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/chat/codex/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/chat/kimi/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/chat/ollama/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/chat/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/claude-stats/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/commands/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/comments/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/db/columns/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/db/connect/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/db/disconnect/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/db/export/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/db/query/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/db/schemas/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/extension/version/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/file/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/files/blame/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/files/clipboard/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/files/copy/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/files/delete/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/files/expanded/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/files/index/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/files/init/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/files/paste/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/files/read/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/files/readdir/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/files/recent/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/files/save/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/files/search/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/git/branch-diff/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/git/branches/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/git/commit-diff/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/git/commits/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/git/diff/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/git/discard/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/git/stage/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/git/status/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/git/unstage/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/git/worktree/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/global-state/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/jupyter/load/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/jupyter/save/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/jupyter/shutdown/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/lsp/definition/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/lsp/hover/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/lsp/references/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/lsp/status/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/lsp/warmup/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/mysql/columns/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/mysql/connect/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/mysql/disconnect/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/mysql/export/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/mysql/query/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/mysql/schemas/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/neo4j/connect/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/neo4j/disconnect/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/neo4j/query/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/neo4j/schema/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/note/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/ollama/models/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/ollama/start/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/open-cursor/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/open-vscode/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/pick-folder/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/pinned-sessions/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/project-settings/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/project-state/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/projects/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/redis/command/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/redis/connect/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/redis/delete/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/redis/disconnect/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/redis/get/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/redis/keys/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/redis/set/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/review/[id]/comments/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/review/[id]/replies/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/review/[id]/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/review/identify/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/review/order/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/review/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/review/share-info/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/review/users/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/scheduled-tasks/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/services/config/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/services/scripts/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/session/[sessionId]/fork/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/session/[sessionId]/history/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/session-by-path/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/sessions/projects/[encodedPath]/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/sessions/projects/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/sessions/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/settings/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/terminal/aliases/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/terminal/autocomplete/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/terminal/bubble-order/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/terminal/env/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/terminal/history/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/version/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/manifest.webmanifest/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/page-cc2b332242bc2c93.js +0 -1
- package/.next-prod/static/chunks/app/project/page-95039285184e0c74.js +0 -25
- package/.next-prod/static/chunks/next/dist/client/components/builtin/app-error-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/next/dist/client/components/builtin/forbidden-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/next/dist/client/components/builtin/not-found-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/next/dist/client/components/builtin/unauthorized-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/css/bbd65867698c479b.css +0 -3
- /package/.next-prod/static/{Avd2f2SegjGOElSYvrTlK → KErTlLLQlubS82IizAx-5}/_ssgManifest.js +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";exports.id=459,exports.ids=[459],exports.modules={132:(a,b,c)=>{c.d(b,{P:()=>e});var d=c(67484);function e(){let[a,b]=(0,d.useState)([]),c=(0,d.useCallback)(()=>{fetch("/api/pinned-sessions").then(a=>a.json()).then(a=>b(a.sessions||[])).catch(()=>{})},[]),e=(0,d.useCallback)(a=>{b(a),fetch("/api/pinned-sessions",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({sessions:a})}).catch(()=>{});try{window.parent.postMessage({type:"PINNED_SESSIONS_CHANGED"},"*")}catch{}},[]),f=(0,d.useCallback)(b=>a.some(a=>a.sessionId===b),[a]),g=(0,d.useCallback)((b,c,d)=>{a.some(a=>a.sessionId===b)||e([...a,{sessionId:b,cwd:c,customTitle:d}])},[a,e]),h=(0,d.useCallback)(b=>{e(a.filter(a=>a.sessionId!==b))},[a,e]),i=(0,d.useCallback)((b,c)=>{e(a.map(a=>a.sessionId===b?{...a,customTitle:c}:a))},[a,e]);return{pinnedSessions:a,isPinned:f,pinSession:g,unpinSession:h,updateTitle:i,reorder:(0,d.useCallback)(a=>{e(a)},[e]),reload:c}}},5811:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{Np:()=>k,ZD:()=>i,b8:()=>j,kS:()=>g,sQ:()=>h});var e=c(78908),f=a([e]);e=(f.then?(await f)():f)[0];let l=null,m=["typescript","tsx","javascript","jsx","html","css","scss","json","yaml","python","go","rust","java","ruby","php","bash","shell","markdown","sql","c","cpp","swift","kotlin","dart","lua","graphql","xml"];function g(){return l||(l=(0,e.createHighlighter)({themes:["github-dark","github-light"],langs:[...m]})),l}function h(a){let b=a.split("/").pop()?.toLowerCase()||"",c=b.split(".").pop()?.toLowerCase();if(".env"===b||b.startsWith(".env.")||"dockerfile"===b||b.startsWith("dockerfile.")||"makefile"===b)return"bash";let d={ts:"typescript",tsx:"tsx",js:"javascript",jsx:"jsx",mjs:"javascript",cjs:"javascript",html:"html",htm:"html",css:"css",scss:"scss",json:"json",yaml:"yaml",yml:"yaml",xml:"xml",py:"python",go:"go",rs:"rust",java:"java",kt:"kotlin",rb:"ruby",php:"php",cs:"cpp",cpp:"cpp",c:"c",h:"c",sh:"bash",bash:"bash",zsh:"bash",md:"markdown",mdx:"markdown",sql:"sql",swift:"swift",dart:"dart",lua:"lua",graphql:"graphql",gql:"graphql",toml:"yaml",sass:"scss",less:"css",scala:"java",r:"python",vim:"bash",env:"bash"}[c||""]||"text";return m.includes(d)?d:"text"}function i(a){return a.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function j(a){return a.map(a=>a.color?`<span style="color:${a.color}">${i(a.content)}</span>`:i(a.content)).join("")}function k(a,b,c,d){if(!b)return[];let e=[],f=c?b:b.toLowerCase();for(let b=0;b<a.length;b++){let g=c?a[b]:a[b].toLowerCase(),h=0;for(;;){let a=g.indexOf(f,h);if(-1===a)break;let c=a+f.length;if(d){let d=a>0?g[a-1]:" ",f=c<g.length?g[c]:" ",h=!/\w/.test(d),i=!/\w/.test(f);h&&i&&e.push({lineIndex:b,startCol:a,endCol:c})}else e.push({lineIndex:b,startCol:a,endCol:c});h=a+1}}return e}d()}catch(a){d(a)}})},13928:(a,b,c)=>{c.d(b,{h:()=>e});var d=c(67484);function e({url:a,onMessage:b,enabled:c=!0}){(0,d.useRef)(b)}},16306:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{d:()=>n,o:()=>m});var e=c(67484),f=c(36043),g=c(47033),h=c(23434),i=c(77033),j=c(90173),k=c(5811),l=a([j,k]);function m(a,b){let c,d=document.createTreeWalker(a,NodeFilter.SHOW_TEXT),e=b,f=null;for(;c=d.nextNode();){f=c;let a=c.textContent.length;if(e<=a)return{node:c,offset:e};e-=a}return f?{node:f,offset:f.textContent.length}:null}function n({content:a,filePath:b,showSearch:c=!0,cwd:d,enableComments:l=!1,scrollToLine:m=null,scrollToLineAlign:n="center",onScrollToLineComplete:o,visibleLineRef:p,onContentSearch:q}){let[r,s]=(0,e.useState)(!1),t=(0,e.useRef)(null),u=(0,e.useRef)(null),v=(0,e.useRef)(null),w=(0,i.nH)(),[x,y]=(0,e.useState)(!1),[z,A]=(0,e.useState)(null);(0,e.useRef)(null);let[B,C]=(0,e.useState)(!1),[D,E]=(0,e.useState)(""),[F,G]=(0,e.useState)(!1),[H,I]=(0,e.useState)(!1),[J,K]=(0,e.useState)(0),[L,M]=(0,e.useState)(0),N=(0,e.useRef)(!1),[O,P]=(0,e.useState)(null),Q=(0,e.useRef)(null),R=(0,e.useRef)(()=>{}),S=(0,e.useRef)(!1),T=(0,e.useRef)(null),[U,V]=(0,e.useState)(null),[W,X]=(0,e.useState)(null),Y=(0,e.useRef)(null),[Z,$]=(0,e.useState)(0),_=l&&!!d,{comments:aa,addComment:ab,updateComment:ac,deleteComment:ad,refresh:ae}=(0,g._)({cwd:d||"",filePath:b}),af=(0,e.useMemo)(()=>a.split("\n"),[a]),ag=(0,j.C)(af,b),ah=(0,e.useMemo)(()=>{let a=new Map;for(let b of aa){let c=b.endLine;a.has(c)||a.set(c,[]),a.get(c).push(b)}return a},[aa]),ai=(0,e.useMemo)(()=>{let a=new Set;for(let b of aa)for(let c=b.startLine;c<=b.endLine;c++)a.add(c);return a},[aa]),aj=(0,e.useMemo)(()=>(0,k.Np)(af,D,F,H),[af,D,F,H]),ak=(0,e.useMemo)(()=>{let a=[];for(let b=0;b<af.length;b++)a.push({type:"code",lineIndex:b});return a},[af.length]),al=(0,f.Te)({count:ak.length,getScrollElement:()=>t.current,estimateSize:()=>20,overscan:10}),am=(0,e.useCallback)(()=>{0!==aj.length&&(K(a=>(a+1)%aj.length),M(a=>a+1))},[aj.length]),an=(0,e.useCallback)(()=>{0!==aj.length&&(K(a=>(a-1+aj.length)%aj.length),M(a=>a+1))},[aj.length]);(0,e.useRef)(m).current=m;let ao=(0,e.useCallback)(a=>{"Enter"===a.key&&(a.preventDefault(),a.shiftKey?an():am()),"Escape"===a.key&&(C(!1),E(""))},[am,an]),ap=(0,e.useCallback)((a,b)=>{_&&(b.stopPropagation(),P({comment:a,x:b.clientX,y:b.clientY}),Q.current=null,R.current(),V(null),X(null))},[_]),aq=(0,e.useCallback)(()=>{let a=Q.current;a&&(V({x:a.x,y:a.y,range:a.range,codeContent:a.selectedText}),Q.current=null,R.current())},[]),ar=(0,e.useCallback)(()=>{let a=Q.current;if(!a)return;let b=a.selectedText;X({x:a.x,y:a.y,range:a.range,codeContent:b}),Q.current=null,R.current()},[]),as=(0,e.useCallback)(()=>{let a=Q.current;if(!a||!q)return;let b=a.selectedText.trim();Q.current=null,R.current(),b&&q(b)},[q]),at=(0,e.useCallback)(async a=>{U&&(await ab(U.range.start,U.range.end,a),V(null))},[U,ab]),au=(0,e.useCallback)(async a=>{if(W&&w&&d)try{let c=await (0,h.$3)(d),e=[];for(let a of c)e.push({filePath:a.filePath,startLine:a.startLine,endLine:a.endLine,codeContent:a.codeContent,note:a.content||void 0});e.push({filePath:b,startLine:W.range.start,endLine:W.range.end,codeContent:W.codeContent});let f=(0,h.Gw)(e,a);w.sendMessage(f),await (0,h.RP)(d),ae(),X(null)}catch(a){console.error("Failed to send to AI:",a)}},[W,w,b,d,ae]),av=(0,e.useCallback)((a,b,c)=>{let d=af[a];if(!d)return b;let e=[];if(D&&aj.length>0)for(let b of aj.filter(b=>b.lineIndex===a)){let c=aj[J]?.lineIndex===a&&aj[J]?.startCol===b.startCol;e.push({start:b.startCol,end:b.endCol,cls:c?"hl-cur":"hl-m"})}if(c&&!D&&c.length>=1){let a=c.toLowerCase(),b=d.toLowerCase(),f=0;for(;-1!==(f=b.indexOf(a,f));)e.push({start:f,end:f+c.length,cls:"hl-kw"}),f+=1}if(0===e.length)return b;e.sort((a,b)=>a.start-b.start||a.end-b.end);let f=[],g=0;for(let a of e){if(a.start<g)continue;a.start>g&&f.push((0,k.ZD)(d.substring(g,a.start)));let b=(0,k.ZD)(d.substring(a.start,a.end));f.push(`<span class="${a.cls}">${b}</span>`),g=a.end}g<d.length&&f.push((0,k.ZD)(d.substring(g)));let h=(0,k.ZD)(d);if(b!==h){let a=b;for(let b of e){let c=d.substring(b.start,b.end),e=(0,k.ZD)(c),f=e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),g=RegExp(`(?<=>)([^<]*?)(${f})`,""),h=`$1<span class="${b.cls}">${e}</span>`,i=a.replace(g,h);i.length>a.length+200||(a=i)}return a}return f.join("")},[D,aj,J,af]);return{parentRef:t,containerRef:u,searchInputRef:v,floatingToolbarRef:Q,suppressHoverRef:S,savedSelectionRef:T,highlightedLines:ag,isMounted:r,cmdHeld:x,flashLine:z,isSearchVisible:B,searchQuery:D,caseSensitive:F,wholeWord:H,currentMatchIndex:J,viewingComment:O,bumpToolbarRef:R,addCommentInput:U,sendToAIInput:W,chatContext:w,commentsEnabled:_,comments:aa,updateComment:ac,deleteComment:ad,lines:af,matches:aj,rowData:ak,virtualizer:al,commentsByEndLine:ah,linesWithComments:ai,setIsSearchVisible:C,setSearchQuery:E,suppressMatchScrollRef:N,setCaseSensitive:G,setWholeWord:I,setViewingComment:P,setAddCommentInput:V,setSendToAIInput:X,goToNextMatch:am,goToPrevMatch:an,handleSearchKeyDown:ao,handleCommentBubbleClick:ap,handleToolbarAddComment:aq,handleToolbarSendToAI:ar,handleToolbarSearch:as,handleCommentSubmit:at,handleSendToAISubmit:au,getHighlightedLineHtml:av,inlineBlameLineRef:Y,inlineBlameVersion:Z}}[j,k]=l.then?(await l)():l,d()}catch(a){d(a)}})},21108:(a,b,c)=>{c.d(b,{n:()=>g});var d=c(67484);let e="SCHEDULED_TASKS_CHANGED";function f(){try{window.parent.postMessage({type:e},"*")}catch{}document.querySelectorAll("iframe").forEach(a=>{try{a.contentWindow?.postMessage({type:e},"*")}catch{}})}function g(){let[a,b]=(0,d.useState)([]),[c,e]=(0,d.useState)(0),g=(0,d.useCallback)(()=>{fetch("/api/scheduled-tasks").then(a=>a.json()).then(a=>{b(a.tasks||[]),e(a.unreadCount||0)}).catch(()=>{})},[]),h=(0,d.useCallback)(async a=>{try{let b=await fetch("/api/scheduled-tasks",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(a)}),c=await b.json();if(c.task)return g(),f(),c.task;return null}catch{return null}},[g]),i=(0,d.useCallback)(async a=>{await fetch("/api/scheduled-tasks",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:a,action:"pause"})}).catch(()=>{}),g(),f()},[g]),j=(0,d.useCallback)(async a=>{await fetch("/api/scheduled-tasks",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:a,action:"resume"})}).catch(()=>{}),g(),f()},[g]),k=(0,d.useCallback)(async a=>{await fetch("/api/scheduled-tasks",{method:"DELETE",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:a})}).catch(()=>{}),g(),f()},[g]),l=(0,d.useCallback)(async(a,b)=>{await fetch("/api/scheduled-tasks",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:a,action:"update",fields:b})}).catch(()=>{}),g(),f()},[g]),m=(0,d.useCallback)(async a=>{await fetch("/api/scheduled-tasks",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:a,action:"trigger"})}).catch(()=>{}),g(),f()},[g]),n=(0,d.useCallback)(async a=>{await fetch("/api/scheduled-tasks",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:a,action:"markRead"})}).catch(()=>{}),g(),f()},[g]),o=(0,d.useCallback)(async()=>{await fetch("/api/scheduled-tasks",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:"_",action:"markAllRead"})}).catch(()=>{}),g(),f()},[g]),p=(0,d.useCallback)(async a=>{await fetch("/api/scheduled-tasks",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:"_",action:"reorder",fields:{orderedIds:a}})}).catch(()=>{}),g(),f()},[g]);return{tasks:a,unreadCount:c,reload:g,createTask:h,pauseTask:i,resumeTask:j,triggerTask:m,deleteTask:k,updateTask:l,markRead:n,markAllRead:o,reorderTasks:p}}},23434:(a,b,c)=>{c.d(b,{$3:()=>h,Cm:()=>g,Gw:()=>k,RP:()=>i,Un:()=>j,zL:()=>f});var d=c(41564);let e=new Set;function f(a){return e.add(a),()=>e.delete(a)}function g(){e.forEach(a=>a())}async function h(a){let b=await fetch(`/api/comments?cwd=${encodeURIComponent(a)}`);if(!b.ok)throw Error("Failed to fetch comments");let c=(await b.json()).comments||[];if(0===c.length)return[];let d=new Map;for(let a of c)a.selectedText||(d.has(a.filePath)||d.set(a.filePath,[]),d.get(a.filePath).push(a));let e=new Map;await Promise.all(Array.from(d.keys()).map(async b=>{try{let c=await fetch(`/api/files/read?cwd=${encodeURIComponent(a)}&path=${encodeURIComponent(b)}`);if(c.ok){let a=await c.json();"text"===a.type&&a.content&&e.set(b,a.content.split("\n"))}}catch(a){console.error(`Failed to read file ${b}:`,a)}}));let f=[];for(let a of c){if(a.selectedText){f.push({...a,codeContent:a.selectedText});continue}let b=e.get(a.filePath),c="";if(b){let d=Math.max(0,a.startLine-1),e=Math.min(b.length,a.endLine);c=b.slice(d,e).join("\n")}f.push({...a,codeContent:c})}return f}async function i(a){try{if((await fetch(`/api/comments?cwd=${encodeURIComponent(a)}&all=true`,{method:"DELETE"})).ok)return g(),!0;return!1}catch(a){return console.error("Failed to clear comments:",a),!1}}let j="__chat__";function k(a,b){let c=a.filter(a=>a.filePath===j),e=a.filter(a=>a.filePath!==j),f=[];for(let a of(e.length>0&&(f.push(`${d.A.t("comments.codeRef")}`,""),e.forEach((a,b)=>{f.push(`[${b+1}] ${a.filePath}:${a.startLine}-${a.endLine}`),f.push("```"),f.push(a.codeContent),f.push("```"),a.note&&f.push(d.A.t("comments.note",{content:a.note})),f.push("")})),c)){let b=a.codeContent.split("\n").map(a=>`> ${a}`).join("\n");f.push(b),a.note&&f.push(a.note),f.push("")}return f.push(d.A.t("comments.question",{question:b})),f.join("\n")}},26068:(a,b,c)=>{c.d(b,{Ee:()=>m,SU:()=>j,ft:()=>l,iN:()=>k});var d=c(48249),e=c(67484),f=c(44384),g=c(74429),h=c(81749);let i=(0,e.createContext)(null);function j({container:a,children:b}){return(0,d.jsx)(i.Provider,{value:a,children:b})}function k(){return(0,e.useContext)(i)}function l({x:a,y:b,path:c,cwd:j,isDirectory:k,onClose:l,onCreateFile:m,onDelete:n,onRefresh:o,onCopyFile:p,onPaste:q}){let{t:r}=(0,f.Bd)(),s=(0,e.useRef)(null),t=(0,e.useContext)(i),u=c.split("/").pop()||c,v=`${j}/${c}`,w=c.includes("/")?c.substring(0,c.lastIndexOf("/")):"",x=w?`${j}/${w}`:j,y=k?c:w,z=k?v:x,[A,B]=(0,e.useState)({x:0,y:0}),C=(0,e.useCallback)(async(a,b)=>{try{await navigator.clipboard.writeText(a),(0,h.oR)(r("toast.copiedName",{name:b}),"success")}catch{(0,h.oR)(r("toast.copyFailed"),"error")}l()},[l,r]),D=k?c:w,E=[{label:r("fileContextMenu.copyRelativePath"),value:c},{label:r("fileContextMenu.copyAbsolutePath"),value:v},{label:r("fileContextMenu.copyRelativeDirPath"),value:y||"."},{label:r("fileContextMenu.copyAbsoluteDirPath"),value:z},{label:k?r("fileContextMenu.copyFolderName"):r("fileContextMenu.copyFileName"),value:u}],F=(0,d.jsxs)("div",{ref:s,className:"absolute z-[200] bg-card border border-border rounded-lg shadow-lg py-1 w-fit whitespace-nowrap",style:{left:A.x,top:A.y},children:[m&&(0,d.jsx)("button",{className:"block w-full px-3 py-1.5 text-left text-sm text-foreground hover:bg-accent transition-colors",onClick:()=>{l(),m(D)},children:r("fileContextMenu.createFile")}),p&&(0,d.jsx)("button",{className:"block w-full px-3 py-1.5 text-left text-sm text-foreground hover:bg-accent transition-colors",onClick:()=>{l(),p(c)},children:k?r("fileContextMenu.copyFolder"):r("fileContextMenu.copyFile")}),q&&(0,d.jsx)("button",{className:"block w-full px-3 py-1.5 text-left text-sm text-foreground hover:bg-accent transition-colors",onClick:()=>{l(),q(D)},children:r("fileContextMenu.pasteHere")}),n&&(0,d.jsx)("button",{className:"block w-full px-3 py-1.5 text-left text-sm text-destructive hover:bg-accent transition-colors",onClick:()=>{l(),n(c,k,u)},children:k?r("fileContextMenu.deleteFolder"):r("fileContextMenu.deleteFile")}),(m||n||p||q)&&(0,d.jsx)("div",{className:"my-1 border-t border-border"}),E.map((a,b)=>(0,d.jsx)("button",{className:"block w-full px-3 py-1.5 text-left text-sm text-foreground hover:bg-accent transition-colors",onClick:()=>C(a.value,a.label),children:a.label},b))]});return t?(0,g.createPortal)(F,t):F}function m(){let[a,b]=(0,e.useState)(null);return{contextMenu:a,showContextMenu:(0,e.useCallback)((a,c,d)=>{a.preventDefault(),a.stopPropagation(),b({x:a.clientX,y:a.clientY,path:c,isDirectory:d})},[]),hideContextMenu:(0,e.useCallback)(()=>{b(null)},[])}}},30976:(a,b,c)=>{function d(){return!("u"<typeof navigator)&&(/Mac|iPhone|iPad/.test(navigator.platform||"")||navigator.userAgentData?.platform==="macOS")}function e(){return d()?"⌘":"Ctrl+"}c.d(b,{L:()=>d,Mu:()=>e}),process.platform,process.platform,process.platform},31037:(a,b,c)=>{c.d(b,{E:()=>j});var d=c(48249),e=c(67484),f=c(44384),g=c(41564),h=c(30976);let i={once:[{labelKey:"scheduledTasks.5minLater",value:5},{labelKey:"scheduledTasks.15minLater",value:15},{labelKey:"scheduledTasks.30minLater",value:30},{labelKey:"scheduledTasks.1hourLater",value:60}],interval:[{labelKey:"scheduledTasks.every15min",value:15},{labelKey:"scheduledTasks.every30min",value:30},{labelKey:"scheduledTasks.every1hour",value:60},{labelKey:"scheduledTasks.every2hours",value:120}],cron:[{labelKey:"scheduledTasks.daily9am",value:"0 9 * * *"},{labelKey:"scheduledTasks.daily6pm",value:"0 18 * * *"},{labelKey:"scheduledTasks.weeklyMon9am",value:"0 9 * * 1"},{labelKey:"scheduledTasks.monthly1st9am",value:"0 9 1 * *"}]};function j({onClose:a,onCreate:b,editTask:c,onUpdate:j}){let{t:k}=(0,f.Bd)(),l=!!c,[m,n]=(0,e.useState)(c?.type||"once"),[o,p]=(0,e.useState)(c?.message||""),[q,r]=(0,e.useState)(c?String(c.delayMinutes||c.intervalMinutes||""):""),[s,t]=(0,e.useState)(c?.cron||""),[u,v]=(0,e.useState)(c?.activeFrom||"09:00"),[w,x]=(0,e.useState)(c?.activeTo||"18:00"),[y,z]=(0,e.useState)(!!(c?.activeFrom&&c?.activeTo)),[A,B]=(0,e.useState)(null),C=(0,e.useRef)(null),D=(0,e.useRef)(null),E=(0,e.useCallback)(()=>{if(!o.trim())return;let d=null;if("once"===m){let a=A||parseInt(q,10);if(!a||a<=0)return;d={message:o.trim(),type:"once",delayMinutes:a}}else if("interval"===m){let a=A||parseInt(q,10);if(!a||a<=0)return;d={message:o.trim(),type:"interval",intervalMinutes:a,...y?{activeFrom:u,activeTo:w}:{}}}else if("cron"===m){let a=A||s.trim();if(!a)return;d={message:o.trim(),type:"cron",cron:a}}d&&(l&&c&&j?j(c.id,d):b(d),a())},[o,m,A,q,s,y,u,w,b,a,l,c,j]);return(0,d.jsxs)("div",{ref:C,className:`w-80 bg-popover border border-border rounded-lg shadow-lg z-50 ${l?"":"absolute bottom-full left-0 mb-2"}`,onKeyDown:b=>{"Escape"===b.key?a():"Enter"===b.key&&(b.metaKey||b.ctrlKey)&&E()},children:[(0,d.jsx)("div",{className:"px-3 py-2 border-b border-border bg-muted/50 rounded-t-lg",children:(0,d.jsx)("span",{className:"text-sm font-medium",children:l?k("scheduledTasks.editTask"):k("scheduledTasks.createTask")})}),(0,d.jsxs)("div",{className:"p-3 space-y-3",children:[(0,d.jsxs)("div",{children:[(0,d.jsx)("label",{className:"text-xs text-muted-foreground mb-1 block",children:k("scheduledTasks.sendMessage")}),(0,d.jsx)("textarea",{ref:D,value:o,onChange:a=>p(a.target.value),placeholder:k("scheduledTasks.messagePlaceholder"),rows:2,className:"w-full px-2 py-1.5 text-sm border border-border rounded bg-card text-foreground placeholder-muted-foreground focus:outline-none focus:ring-1 focus:ring-ring resize-none"})]}),(0,d.jsxs)("div",{children:[(0,d.jsx)("label",{className:"text-xs text-muted-foreground mb-1 block",children:k("scheduledTasks.type")}),(0,d.jsx)("div",{className:"flex gap-1",children:["once","interval","cron"].map(a=>(0,d.jsx)("button",{onClick:()=>{n(a),B(null),r(""),t("")},className:`flex-1 px-2 py-1 text-xs rounded transition-colors ${m===a?"bg-brand text-white":"bg-muted text-muted-foreground hover:text-foreground"}`,children:"once"===a?k("scheduledTasks.once"):"interval"===a?k("scheduledTasks.interval"):"Cron"},a))})]}),(0,d.jsxs)("div",{children:[(0,d.jsx)("label",{className:"text-xs text-muted-foreground mb-1 block",children:k("scheduledTasks.quickSelect")}),(0,d.jsx)("div",{className:"grid grid-cols-2 gap-1",children:i[m].map(a=>(0,d.jsx)("button",{onClick:()=>{B(a.value),"cron"===m?t(String(a.value)):r(String(a.value))},className:`px-2 py-1 text-xs rounded border transition-colors ${A===a.value?"border-brand bg-brand/10 text-brand":"border-border text-muted-foreground hover:text-foreground hover:border-foreground/30"}`,children:k(a.labelKey)},a.labelKey))})]}),(0,d.jsxs)("div",{children:[(0,d.jsx)("label",{className:"text-xs text-muted-foreground mb-1 block",children:"cron"===m?k("scheduledTasks.customCron"):k("scheduledTasks.customMinutes")}),"cron"===m?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("input",{type:"text",value:s,onChange:a=>{t(a.target.value),B(null)},placeholder:k("scheduledTasks.cronPlaceholder"),className:"w-full px-2 py-1.5 text-sm border border-border rounded bg-card text-foreground placeholder-muted-foreground focus:outline-none focus:ring-1 focus:ring-ring font-mono"}),s.trim()&&(0,d.jsx)("div",{className:"mt-1 text-xs text-muted-foreground",children:function(a){let b=g.A.t,c=a.trim().split(/\s+/);if(5!==c.length)return null;let[d,e,f,h,i]=c,j={0:b("cron.dowSun"),1:b("cron.dowMon"),2:b("cron.dowTue"),3:b("cron.dowWed"),4:b("cron.dowThu"),5:b("cron.dowFri"),6:b("cron.dowSat")},k={1:`1${b("cron.monthPrefix")}`,2:`2${b("cron.monthPrefix")}`,3:`3${b("cron.monthPrefix")}`,4:`4${b("cron.monthPrefix")}`,5:`5${b("cron.monthPrefix")}`,6:`6${b("cron.monthPrefix")}`,7:`7${b("cron.monthPrefix")}`,8:`8${b("cron.monthPrefix")}`,9:`9${b("cron.monthPrefix")}`,10:`10${b("cron.monthPrefix")}`,11:`11${b("cron.monthPrefix")}`,12:`12${b("cron.monthPrefix")}`};try{let a="";if(d.includes("/")||e.includes("/")){if("*"===e&&d.includes("/"))return b("cron.everyNMinutes",{n:d.split("/")[1]});if("0"===d&&e.includes("/"))return b("cron.everyNHours",{n:e.split("/")[1]});return null}let c=parseInt(e,10),g=parseInt(d,10);if(isNaN(c)&&"*"!==e||isNaN(g)&&"*"!==d)return null;a="*"===e&&"*"===d?b("cron.everyMinute"):"*"===e?b("cron.everyHourAtMin",{m:g}):"*"===d?b("cron.hourlyEveryMin",{h:c}):`${String(c).padStart(2,"0")}:${String(g).padStart(2,"0")}`;let l=[];if("*"!==h){let a=h.split(",").map(a=>k[a]||`${a}${b("cron.monthPrefix")}`);l.push(a.join(", "))}if("*"!==f)if(f.includes("-")){let[a,c]=f.split("-");l.push(b("cron.dayRange",{a,b:c}))}else f.includes(",")?l.push(f.split(",").map(a=>`${a}${b("cron.dayOfMonth")}`).join(", ")):l.push(`${f}${b("cron.dayOfMonth")}`);if("*"!==i)if("1-5"===i)l.push(b("cron.weekdays"));else if("0,6"===i||"6,0"===i)l.push(b("cron.weekends"));else{let a=i.split(",").map(a=>{if(a.includes("-")){let[c,d]=a.split("-");return b("cron.weekdayRange",{a:j[c]||c,b:j[d]||d})}return`${b("cron.weekdayPrefix")}${j[a]||a}`});l.push(a.join(", "))}if(0===l.length&&"*"===f&&"*"===h&&"*"===i)return b("cron.daily",{time:a});return`${l.join(" ")} ${a}`}catch{return null}}(s.trim())||(0,d.jsx)("span",{className:"text-destructive",children:k("scheduledTasks.cronFormat")})})]}):(0,d.jsx)("input",{type:"number",value:q,onChange:a=>{r(a.target.value),B(null)},placeholder:k("scheduledTasks.minutesPlaceholder"),min:1,className:"w-full px-2 py-1.5 text-sm border border-border rounded bg-card text-foreground placeholder-muted-foreground focus:outline-none focus:ring-1 focus:ring-ring"})]}),"interval"===m&&(0,d.jsxs)("div",{children:[(0,d.jsxs)("label",{className:"flex items-center gap-2 text-xs text-muted-foreground mb-1 cursor-pointer",children:[(0,d.jsx)("input",{type:"checkbox",checked:y,onChange:a=>z(a.target.checked),className:"rounded border-border"}),k("scheduledTasks.limitTimeRange")]}),y&&(0,d.jsxs)("div",{className:"flex items-center gap-2 mt-1",children:[(0,d.jsx)("input",{type:"time",value:u,onChange:a=>v(a.target.value),className:"flex-1 px-2 py-1 text-sm border border-border rounded bg-card text-foreground focus:outline-none focus:ring-1 focus:ring-ring"}),(0,d.jsx)("span",{className:"text-xs text-muted-foreground",children:k("scheduledTasks.to")}),(0,d.jsx)("input",{type:"time",value:w,onChange:a=>x(a.target.value),className:"flex-1 px-2 py-1 text-sm border border-border rounded bg-card text-foreground focus:outline-none focus:ring-1 focus:ring-ring"})]})]}),(0,d.jsx)("button",{onClick:E,disabled:!(o.trim()&&("once"===m||"interval"===m?!!(A||q&&parseInt(q,10)>0):"cron"===m&&!!(A||s.trim()))),className:"w-full py-1.5 text-sm font-medium rounded bg-brand text-white hover:bg-brand/90 disabled:opacity-50 disabled:cursor-not-allowed transition-colors",children:l?k("scheduledTasks.saveBtn",{modKey:(0,h.Mu)()}):k("scheduledTasks.createBtn",{modKey:(0,h.Mu)()})})]})]})}},45214:(a,b,c)=>{c.d(b,{G:()=>h,t:()=>g});var d=c(48249),e=c(67484),f=c(44384);function g({x:a,y:b,range:c,codeContent:g,container:h,onSubmit:i,onClose:j}){let{t:k}=(0,f.Bd)(),[l,m]=(0,e.useState)(""),[n,o]=(0,e.useState)(!1),p=(0,e.useRef)(null),q=(0,e.useRef)(null),[r,s]=(0,e.useState)({x:0,y:0}),t=g?.split("\n").slice(0,5).join("\n"),u=!!g&&g.split("\n").length>5;return(0,d.jsxs)("div",{ref:p,className:"absolute z-[200] w-[640px] bg-card border border-border rounded-lg shadow-lg overflow-hidden",style:{left:r.x,top:r.y},children:[(0,d.jsx)("div",{className:"px-3 py-2 bg-amber-9/10 border-b border-border",children:(0,d.jsxs)("div",{className:"flex items-center justify-between",children:[(0,d.jsx)("span",{className:"text-xs font-medium text-amber-11",children:k("comments.addComment")}),(c.start>0||c.end>0)&&(0,d.jsx)("span",{className:"text-xs text-muted-foreground",children:k("comments.lineRange",{start:c.start,end:c.end})})]})}),g&&(0,d.jsx)("div",{className:"px-3 py-2 bg-secondary/50 border-b border-border max-h-24 overflow-hidden",children:(0,d.jsxs)("pre",{className:"text-xs font-mono text-muted-foreground whitespace-pre-wrap break-all",children:[t,u&&(0,d.jsx)("span",{className:"text-muted-foreground/50",children:"..."})]})}),(0,d.jsxs)("div",{className:"p-2",children:[(0,d.jsx)("textarea",{ref:q,value:l,onChange:a=>m(a.target.value),placeholder:k("comments.inputPlaceholder"),className:"w-full px-2 py-1.5 text-sm border border-border rounded bg-card resize-none focus:outline-none focus:ring-1 focus:ring-ring disabled:opacity-50 disabled:cursor-not-allowed",rows:2,disabled:n,onKeyDown:a=>{"Enter"===a.key&&!a.shiftKey&&!a.nativeEvent.isComposing&&(a.preventDefault(),!n&&l.trim()&&(o(!0),i(l.trim()))),"Escape"!==a.key||n||j()}}),(0,d.jsx)("div",{className:"mt-1 text-xs text-muted-foreground",children:k(n?"comments.submitting":"comments.enterSubmit")})]})]})}function h({x:a,y:b,range:c,filePath:g,codeContent:h,container:i,onSubmit:j,onClose:k,isChatLoading:l}){let{t:m}=(0,f.Bd)(),[n,o]=(0,e.useState)(""),p=(0,e.useRef)(null),q=(0,e.useRef)(null),[r,s]=(0,e.useState)({x:0,y:0}),t=h?.split("\n").slice(0,5).join("\n"),u=!!h&&h.split("\n").length>5;return(0,d.jsxs)("div",{ref:p,className:"absolute z-[200] w-[640px] bg-card border border-border rounded-lg shadow-lg overflow-hidden",style:{left:r.x,top:r.y},children:[(0,d.jsxs)("div",{className:"px-3 py-2 bg-brand/10 border-b border-border",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between",children:[(0,d.jsx)("span",{className:"text-xs font-medium text-brand",children:m("comments.askAI")}),(c.start>0||c.end>0)&&(0,d.jsx)("span",{className:"text-xs text-muted-foreground",children:m("comments.lineRange",{start:c.start,end:c.end})})]}),g&&(0,d.jsx)("div",{className:"mt-1 text-xs text-muted-foreground truncate",children:g})]}),h&&(0,d.jsx)("div",{className:"px-3 py-2 bg-secondary/50 border-b border-border max-h-24 overflow-hidden",children:(0,d.jsxs)("pre",{className:"text-xs font-mono text-muted-foreground whitespace-pre-wrap break-all",children:[t,u&&(0,d.jsx)("span",{className:"text-muted-foreground/50",children:"..."})]})}),(0,d.jsxs)("div",{className:"p-2",children:[(0,d.jsx)("textarea",{ref:q,value:n,onChange:a=>o(a.target.value),placeholder:m("comments.inputQuestion"),className:"w-full px-2 py-1.5 text-sm border border-border rounded bg-card resize-none focus:outline-none focus:ring-1 focus:ring-ring disabled:opacity-50 disabled:cursor-not-allowed",rows:2,disabled:l,onKeyDown:a=>{"Enter"===a.key&&!a.shiftKey&&!a.nativeEvent.isComposing&&(a.preventDefault(),!l&&n.trim()&&(j(n.trim()),k())),"Escape"===a.key&&k()}}),(0,d.jsx)("div",{className:"mt-1 text-xs text-muted-foreground",children:m(l?"comments.aiGenerating":"comments.enterSend")})]})]})}},47033:(a,b,c)=>{c.d(b,{_:()=>e});var d=c(67484);function e({cwd:a,filePath:b}){let[c,e]=(0,d.useState)([]),[f,g]=(0,d.useState)(!1),[h,i]=(0,d.useState)(null),j=(0,d.useCallback)(async()=>{if(a&&b){g(!0),i(null);try{let c=await fetch(`/api/comments?cwd=${encodeURIComponent(a)}&filePath=${encodeURIComponent(b)}`);if(c.ok){let a=await c.json();e(a.comments||[])}else i("Failed to load comments")}catch(a){i(a instanceof Error?a.message:"Unknown error")}finally{g(!1)}}},[a,b]),k=(0,d.useCallback)(async(c,d,f,g)=>{try{let h=await fetch("/api/comments",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({cwd:a,filePath:b,startLine:c,endLine:d,content:f,...g?{selectedText:g}:{}})});if(h.ok){let a=await h.json();return e(b=>[...b,a.comment]),a.comment}}catch(a){console.error("Failed to add comment:",a)}return null},[a,b]),l=(0,d.useCallback)(async(b,c)=>{try{let d=await fetch("/api/comments",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({cwd:a,id:b,content:c})});if(d.ok){let a=await d.json();return e(c=>c.map(c=>c.id===b?a.comment:c)),!0}}catch(a){console.error("Failed to update comment:",a)}return!1},[a]),m=(0,d.useCallback)(async b=>{try{if((await fetch(`/api/comments?cwd=${encodeURIComponent(a)}&id=${encodeURIComponent(b)}`,{method:"DELETE"})).ok)return e(a=>a.filter(a=>a.id!==b)),!0}catch(a){console.error("Failed to delete comment:",a)}return!1},[a]),n=(0,d.useCallback)(a=>c.filter(b=>a>=b.startLine&&a<=b.endLine),[c]);return{comments:c,isLoading:f,error:h,addComment:k,updateComment:l,deleteComment:m,refresh:j,getCommentsForLine:n}}c(23434)},60306:(a,b,c)=>{c.d(b,{b:()=>k});var d=c(48249),e=c(67484),f=c(44384),g=c(3532),h=c(81749),i=c(30976),j=c(74955);function k({isOpen:a,onClose:b}){let{t:c,i18n:k}=(0,f.Bd)(),{theme:l,setTheme:m}=(0,g.D)(),n=(0,j.G)(),[o,p]=(0,e.useState)(""),[q,r]=(0,e.useState)(""),[s,t]=(0,e.useState)("auto"),u=(0,e.useCallback)(a=>{t(a),fetch("/api/settings",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({language:a})}).catch(()=>{});let b="auto"===a?navigator.language.startsWith("zh")?"zh":"en":a;k.changeLanguage(b)},[k]),v=n?"installed":"not-installed",w=n?.version??null;if(!a)return null;let x=[{value:"system",label:c("settings.themeSystem"),icon:"\uD83D\uDCBB"},{value:"light",label:c("settings.themeLight"),icon:"☀️"},{value:"dark",label:c("settings.themeDark"),icon:"\uD83C\uDF19"}];return(0,d.jsxs)("div",{className:"fixed inset-0 z-50 flex items-center justify-center",children:[(0,d.jsx)("div",{className:"absolute inset-0 bg-black/50",onClick:b}),(0,d.jsxs)("div",{className:"relative bg-card rounded-lg shadow-xl w-full max-w-md mx-4 overflow-hidden",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between px-4 py-3 border-b border-border",children:[(0,d.jsx)("h2",{className:"text-sm font-medium text-foreground",children:c("settings.title")}),(0,d.jsx)("button",{onClick:b,className:"p-1 text-muted-foreground hover:text-foreground hover:bg-accent rounded transition-colors",children:(0,d.jsx)("svg",{className:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,d.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})})]}),(0,d.jsxs)("div",{className:"p-4 space-y-4",children:[(0,d.jsxs)("div",{children:[(0,d.jsx)("label",{className:"block text-sm font-medium text-foreground mb-2",children:c("settings.theme")}),(0,d.jsx)("div",{className:"grid grid-cols-3 gap-2",children:x.map(a=>(0,d.jsxs)("button",{onClick:()=>m(a.value),className:`flex flex-col items-center gap-1 p-3 rounded-lg border transition-colors ${l===a.value?"border-brand bg-brand/10 text-brand":"border-border hover:border-slate-6 text-muted-foreground hover:text-foreground"}`,children:[(0,d.jsx)("span",{className:"text-xl",children:a.icon}),(0,d.jsx)("span",{className:"text-xs font-medium",children:a.label})]},a.value))})]}),(0,d.jsx)("div",{className:"border-t border-border"}),(0,d.jsxs)("div",{children:[(0,d.jsx)("label",{className:"block text-sm font-medium text-foreground mb-2",children:c("settings.language")}),(0,d.jsx)("div",{className:"grid grid-cols-3 gap-2",children:[{value:"auto",label:c("settings.languageAuto"),icon:"\uD83C\uDF10"},{value:"en",label:"English",icon:"\uD83C\uDDFA\uD83C\uDDF8"},{value:"zh",label:"中文",icon:"\uD83C\uDDE8\uD83C\uDDF3"}].map(a=>(0,d.jsxs)("button",{onClick:()=>u(a.value),className:`flex flex-col items-center gap-1 p-3 rounded-lg border transition-colors ${s===a.value?"border-brand bg-brand/10 text-brand":"border-border hover:border-slate-6 text-muted-foreground hover:text-foreground"}`,children:[(0,d.jsx)("span",{className:"text-xl",children:a.icon}),(0,d.jsx)("span",{className:"text-xs font-medium",children:a.label})]},a.value))})]}),(0,d.jsx)("div",{className:"border-t border-border"}),(0,d.jsxs)("div",{children:[(0,d.jsx)("label",{className:"block text-sm font-medium text-foreground mb-2",children:c("settings.browserExtension")}),(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2 text-xs text-muted-foreground",children:[(0,d.jsx)("span",{className:`inline-block w-2 h-2 rounded-full flex-shrink-0 ${"installed"===v?"bg-green-500":"bg-slate-400"}`}),(0,d.jsxs)("span",{children:["installed"===v&&`${c("settings.extensionInstalled")}${w?` (v${w})`:""}`,"not-installed"===v&&c("settings.extensionNotInstalled")]})]}),(0,d.jsx)("p",{className:"text-xs text-muted-foreground leading-relaxed",children:c("settings.extensionDescription")}),"installed"!==v&&(0,d.jsxs)("div",{className:"text-xs text-muted-foreground bg-muted/50 rounded-md p-2 space-y-1",children:[(0,d.jsx)("p",{className:"font-medium text-foreground",children:c("settings.installSteps")}),(0,d.jsxs)("p",{children:[c("settings.step1")," ",(0,d.jsx)("code",{className:"px-1 py-0.5 bg-muted rounded text-foreground",children:"chrome://extensions"})]}),(0,d.jsx)("p",{children:c("settings.step2")}),(0,d.jsx)("p",{children:c("settings.step3")}),(0,i.L)()&&(0,d.jsx)("p",{dangerouslySetInnerHTML:{__html:c("settings.step4mac")}})]}),(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)("button",{onClick:()=>{let a=o||"chrome-extension";navigator.clipboard.writeText(a),(0,h.oR)(c("toast.copiedName",{name:a}))},className:"px-3 py-1.5 text-xs bg-brand text-white rounded-md hover:bg-brand/90 transition-colors",children:c("settings.copyExtensionPath")}),"installed"===v&&(0,d.jsx)("button",{onClick:()=>{n?.id&&window.chrome?.runtime?.sendMessage&&(window.chrome.runtime.sendMessage(n.id,{type:"reload"}),(0,h.oR)(c("toast.pluginReloading")))},className:"px-3 py-1.5 text-xs border border-border text-foreground rounded-md hover:bg-muted transition-colors",children:c("settings.reloadExtension")})]}),o&&(0,d.jsx)("p",{className:"text-[11px] text-muted-foreground font-mono truncate",children:o})]})]}),(0,d.jsx)("div",{className:"border-t border-border"}),(0,d.jsxs)("div",{children:[(0,d.jsx)("label",{className:"block text-sm font-medium text-foreground mb-2",children:c("settings.about")}),(0,d.jsxs)("div",{className:"text-xs text-muted-foreground space-y-1",children:[(0,d.jsxs)("p",{children:["Cockpit",q?` v${q}`:""]}),(0,d.jsx)("p",{className:"text-muted-foreground/60",children:"One seat. One AI. Everything under control."})]})]})]})]})]})}},61858:(a,b,c)=>{function d(){}function e(a){return()=>{}}c.d(b,{U:()=>e,k:()=>d})},64874:(a,b,c)=>{c.d(b,{r:()=>g});var d=c(48249),e=c(67484),f=c(44384);function g({isOpen:a,onClose:b,onSelectSession:c,onAddProject:g}){let{t:h}=(0,f.Bd)(),[i,j]=(0,e.useState)(!1),[k,l]=(0,e.useState)([]),[m,n]=(0,e.useState)({}),[o,p]=(0,e.useState)(!1),[q,r]=(0,e.useState)(null),[s,t]=(0,e.useState)(""),u=(0,e.useRef)(null);(0,e.useCallback)(async()=>{p(!0),r(null),n({});try{let a=await fetch("/api/sessions/projects");if(!a.ok)throw Error("Failed to load projects");let b=await a.json();l(b)}catch(a){r(a instanceof Error?a.message:"Unknown error")}finally{p(!1)}},[]);let v=(0,e.useCallback)(async a=>{n(b=>({...b,[a]:{...b[a],isExpanded:!0,isLoading:!0,sessions:[],error:null}}));try{let b=await fetch(`/api/sessions/projects/${encodeURIComponent(a)}`);if(!b.ok)throw Error("Failed to load sessions");let c=await b.json();n(b=>({...b,[a]:{...b[a],isLoading:!1,sessions:c}}))}catch(b){n(c=>({...c,[a]:{...c[a],isLoading:!1,error:b instanceof Error?b.message:"Unknown error"}}))}},[]),w=(0,e.useCallback)(a=>{let b=m[a];b?.isExpanded?n(b=>({...b,[a]:{...b[a],isExpanded:!1}})):b?.sessions?.length?n(b=>({...b,[a]:{...b[a],isExpanded:!0}})):v(a)},[m,v]),x=(0,e.useCallback)(async()=>{if(!i){j(!0);try{let a=await fetch("/api/pick-folder"),c=await a.json();c.folder&&g&&(g(c.folder),b())}catch{}finally{j(!1)}}},[i,g,b]);return a?(0,d.jsxs)("div",{className:"fixed inset-0 z-50 flex items-center justify-center",children:[(0,d.jsx)("div",{className:"absolute inset-0 bg-black/50 backdrop-blur-sm",onClick:b}),(0,d.jsxs)("div",{className:"relative w-full max-w-6xl h-[90vh] mx-4 bg-card rounded-lg shadow-xl flex flex-col overflow-hidden",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between px-4 py-3 border-b border-border",children:[(0,d.jsx)("h2",{className:"text-sm font-medium text-foreground",children:h("sessions.projectList")}),(0,d.jsxs)("div",{className:"flex items-center gap-3",children:[(0,d.jsx)("input",{ref:u,type:"text",placeholder:h("workspace.searchProjectPath"),value:s,onChange:a=>t(a.target.value),className:"px-2 py-1 text-xs border border-border rounded bg-card text-foreground placeholder-slate-9 focus:outline-none focus:ring-2 focus:ring-ring focus:border-transparent"}),g&&(0,d.jsxs)("button",{onClick:x,disabled:i,className:"flex items-center gap-1.5 px-2.5 py-1 text-xs rounded-md border border-border text-muted-foreground hover:text-foreground hover:bg-accent transition-colors disabled:opacity-50",title:h("sessions.openFolder"),children:[(0,d.jsx)("svg",{className:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,d.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 10v6m3-3H9m-4 7h14a2 2 0 002-2V9a2 2 0 00-2-2h-6l-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z"})}),i?h("sessions.selectingFolder"):h("sessions.openFolder")]}),(0,d.jsx)("button",{onClick:b,className:"p-1 text-slate-9 hover:text-foreground hover:bg-accent rounded transition-colors",children:(0,d.jsx)("svg",{className:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,d.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})})]})]}),(0,d.jsxs)("div",{className:"flex-1 overflow-y-auto p-4",children:[o&&(0,d.jsx)("div",{className:"flex items-center justify-center h-full",children:(0,d.jsxs)("div",{className:"flex items-center gap-2 text-xs text-muted-foreground",children:[(0,d.jsxs)("svg",{className:"animate-spin h-4 w-4",fill:"none",viewBox:"0 0 24 24",children:[(0,d.jsx)("circle",{className:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"4"}),(0,d.jsx)("path",{className:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4z"})]}),(0,d.jsx)("span",{children:h("workspace.loadingProjects")})]})}),q&&(0,d.jsx)("div",{className:"flex items-center justify-center h-full",children:(0,d.jsx)("div",{className:"text-xs text-red-11",children:q})}),!o&&!q&&0===k.length&&(0,d.jsx)("div",{className:"flex items-center justify-center h-full",children:(0,d.jsx)("div",{className:"text-xs text-muted-foreground",children:h("workspace.projectNotFound")})}),!o&&!q&&k.filter(a=>a.fullPath.toLowerCase().includes(s.toLowerCase())).map(a=>{let b=m[a.encodedPath]||{isExpanded:!1,isLoading:!1,sessions:[],error:null};return(0,d.jsxs)("div",{className:"mb-3",children:[(0,d.jsxs)("button",{onClick:()=>w(a.encodedPath),className:"w-full flex items-center gap-2 p-2 rounded hover:bg-accent transition-colors text-left",children:[(0,d.jsx)("svg",{className:`w-3 h-3 text-muted-foreground transition-transform ${b.isExpanded?"rotate-90":""}`,fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,d.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M9 5l7 7-7 7"})}),(0,d.jsx)("svg",{className:"w-4 h-4 text-muted-foreground",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,d.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M3 7v10a2 2 0 002 2h14a2 2 0 002-2V9a2 2 0 00-2-2h-6l-2-2H5a2 2 0 00-2 2z"})}),(0,d.jsx)("span",{className:"flex-1 text-xs font-medium text-foreground truncate",title:a.fullPath,children:a.fullPath}),(0,d.jsxs)("span",{className:"text-xs text-muted-foreground",children:["(",a.sessionCount,")"]})]}),b.isExpanded&&(0,d.jsxs)("div",{className:"ml-6 mt-2",children:[b.isLoading&&(0,d.jsxs)("div",{className:"flex items-center gap-2 p-3 text-xs text-muted-foreground",children:[(0,d.jsxs)("svg",{className:"animate-spin h-3 w-3",fill:"none",viewBox:"0 0 24 24",children:[(0,d.jsx)("circle",{className:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"4"}),(0,d.jsx)("path",{className:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4z"})]}),(0,d.jsx)("span",{children:h("sessions.loadingSessions")})]}),b.error&&(0,d.jsx)("div",{className:"p-3 text-xs text-red-11",children:b.error}),!b.isLoading&&!b.error&&(0,d.jsx)("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-3",children:b.sessions.map(b=>(0,d.jsxs)("div",{onClick:()=>{var d;let e;return d=a.fullPath,e=(b.path.split("/").pop()||"").replace(".jsonl",""),void(c?c(d,e):window.parent.postMessage({type:"OPEN_PROJECT",cwd:d,sessionId:e},"*"))},className:"p-3 bg-secondary rounded border border-border hover:border-brand hover:shadow-md cursor-pointer transition-all",children:[(0,d.jsxs)("div",{className:"flex items-center gap-1.5 mb-1",children:[b.engine&&"claude"!==b.engine&&(0,d.jsx)("span",{className:`shrink-0 px-1 py-0.5 text-[10px] leading-none font-medium rounded ${"claude2"===b.engine?"bg-orange-500/15 text-orange-11":"ollama"===b.engine?"bg-blue-500/15 text-blue-11":"codex"===b.engine?"bg-green-500/15 text-green-11":"kimi"===b.engine?"bg-purple-500/15 text-purple-11":"bg-muted text-muted-foreground"}`,children:b.engine}),(0,d.jsx)("h4",{className:"text-xs font-medium text-foreground truncate",title:b.title,children:b.title})]}),(0,d.jsx)("div",{className:"text-xs text-muted-foreground mb-2",children:new Date(b.modifiedAt).toLocaleString("zh-CN",{year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit"})}),(0,d.jsxs)("div",{className:"space-y-0.5 text-xs",children:[b.firstMessages.map((a,b)=>(0,d.jsxs)("div",{className:"text-foreground truncate",title:a,children:[(0,d.jsx)("span",{className:"text-slate-9 mr-1",children:"•"}),a]},`first-${b}`)),b.lastMessages.length>0&&(0,d.jsx)("div",{className:"text-slate-9 text-center py-0.5",children:"\xb7\xb7\xb7"}),b.lastMessages.map((a,b)=>(0,d.jsxs)("div",{className:"text-foreground truncate",title:a,children:[(0,d.jsx)("span",{className:"text-slate-9 mr-1",children:"•"}),a]},`last-${b}`))]})]},b.path))})]})]},a.encodedPath)})]})]})]}):null}},68502:(a,b,c)=>{c.d(b,{t:()=>g});var d=c(48249),e=c(67484),f=c(44384);function g({x:a,y:b,comment:c,container:g,onClose:h,onUpdateComment:i,onDeleteComment:j}){let{t:k}=(0,f.Bd)(),[l,m]=(0,e.useState)(!1),[n,o]=(0,e.useState)(c.content),p=(0,e.useRef)(null),[q,r]=(0,e.useState)({x:0,y:0}),s=async()=>{n.trim()&&(await i(c.id,n.trim()),m(!1))},t=async()=>{await j(c.id),h()};return(0,d.jsx)("div",{ref:p,className:"absolute z-[200] w-96 bg-card border border-border rounded-lg shadow-lg overflow-hidden",style:{left:q.x,top:q.y},children:(0,d.jsx)("div",{className:"p-3",children:l?(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsx)("textarea",{value:n,onChange:a=>o(a.target.value),className:"w-full px-2 py-1.5 text-sm border border-border rounded bg-card resize-none focus:outline-none focus:ring-1 focus:ring-ring",rows:3,autoFocus:!0,onKeyDown:a=>{"Enter"!==a.key||a.shiftKey||a.nativeEvent.isComposing||(a.preventDefault(),s()),"Escape"===a.key&&(m(!1),o(c.content))}}),(0,d.jsxs)("div",{className:"flex justify-end gap-2",children:[(0,d.jsx)("button",{onClick:()=>{m(!1),o(c.content)},className:"px-2 py-1 text-xs text-muted-foreground hover:text-foreground",children:k("common.cancel")}),(0,d.jsx)("button",{onClick:s,className:"px-2 py-1 text-xs bg-brand text-white rounded hover:bg-brand/90",children:k("common.save")})]})]}):(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("p",{className:"text-sm text-foreground whitespace-pre-wrap",children:c.content}),(0,d.jsxs)("div",{className:"mt-2 flex items-center justify-between",children:[(0,d.jsx)("span",{className:"text-xs text-muted-foreground",children:k("comments.lineRange",{start:c.startLine,end:c.endLine})}),(0,d.jsxs)("div",{className:"flex gap-1",children:[(0,d.jsx)("button",{onClick:()=>m(!0),className:"p-1 rounded hover:bg-accent text-muted-foreground",title:k("common.edit"),children:(0,d.jsx)("svg",{className:"w-3.5 h-3.5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,d.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M11 5H6a2 2 0 00-2 2v11a2 2 0 002 2h11a2 2 0 002-2v-5m-1.414-9.414a2 2 0 112.828 2.828L11.828 15H9v-2.828l8.586-8.586z"})})}),(0,d.jsx)("button",{onClick:t,className:"p-1 rounded hover:bg-accent text-muted-foreground hover:text-red-9",title:k("common.delete"),children:(0,d.jsx)("svg",{className:"w-3.5 h-3.5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,d.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0 01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1 0 00-1 1v3M4 7h16"})})})]})]})]})})})}},74955:(a,b,c)=>{c.d(b,{G:()=>l,f:()=>m});var d=c(67484);function e(){if("u"<typeof document)return null;let a=document.querySelector('meta[name="cockpit-bridge"]');if(!a)return null;let b=a.dataset.id,c=a.dataset.version;return b?{id:b,version:c||"unknown"}:null}let f=null,g=new Set;function h(){g.forEach(a=>a())}function i(a){g.add(a);let b=e();return b&&!f&&(f=b,Promise.resolve().then(h)),()=>{g.delete(a)}}function j(){return f}function k(){return null}if("u">typeof document&&(f=e()),"u">typeof MutationObserver&&"u">typeof document){let a=new MutationObserver(()=>{let a=e();a&&(!f||a.id!==f.id||a.version!==f.version)&&(f=a,h())}),b=document.head||document.documentElement;b&&a.observe(b,{childList:!0})}function l(){return(0,d.useSyncExternalStore)(i,j,k)}function m(){return f??e()}},75005:(a,b,c)=>{c.d(b,{A:()=>e});var d=c(67484);function e({lines:a,enabled:b,onContentChange:c,onEnterInsert:e,onSave:f,getVisibleLineCount:g,scrollToLine:h,onSearchExecute:i,onSearchNext:j,onSearchPrev:k,onSearchClear:l}){let[m,n]=(0,d.useState)("normal"),[o,p]=(0,d.useState)(-1),[q,r]=(0,d.useState)(0),[s,t]=(0,d.useState)(!1),[u,v]=(0,d.useState)(""),[w,x]=(0,d.useState)(""),[y,z]=(0,d.useState)(""),[A,B]=(0,d.useState)(""),C=(0,d.useRef)([]),D=(0,d.useRef)([]),E=(0,d.useRef)([]),F=(0,d.useRef)(null),G=(0,d.useRef)(a),H=(0,d.useCallback)((a,b)=>Math.max(0,Math.min(b,Math.max(0,(G.current[a]??"").length-1))),[]);(0,d.useRef)(a.length);let I=(0,d.useCallback)(()=>{F.current&&(clearTimeout(F.current),F.current=null),v("")},[]),J=(0,d.useCallback)(()=>{F.current&&clearTimeout(F.current),F.current=setTimeout(()=>{v(""),F.current=null},500)},[]),K=(0,d.useCallback)((a,b)=>{C.current.push(b),D.current=[],t(!0),c(a.join("\n"))},[c]),L=(0,d.useCallback)((a,b)=>{let c=Math.max(0,Math.min(a,G.current.length-1));p(c),r(H(c,b??0)),h(c,"auto")},[h,H]),M=(0,d.useCallback)(a=>{p(b=>{let c=Math.max(0,Math.min(b+a,G.current.length-1));return h(c,"auto"),r(a=>Math.max(0,Math.min(a,Math.max(0,(G.current[c]??"").length-1)))),c})},[h]),N=(0,d.useCallback)(()=>{let a=G.current,b=Math.min(o,a.length-1);if(0===a.length)return;let c=a[b];E.current=[c];let d=[...a];d.splice(b,1),0===d.length&&d.push("");let e=Math.min(b,d.length-1);K(d,{lineIndex:b,oldLines:[c],newLines:[],cursorLine:b}),p(e),r(0)},[o,K]),O=(0,d.useCallback)(()=>{let a=G.current,b=Math.min(o,a.length-1);a.length>0&&(E.current=[a[b]])},[o]),P=(0,d.useCallback)(()=>{let a=E.current;if(0===a.length)return;let b=G.current,c=Math.min(o,b.length-1)+1,d=[...b];d.splice(c,0,...a),K(d,{lineIndex:c,oldLines:[],newLines:[...a],cursorLine:o}),p(c),r(0),h(c,"auto")},[o,K,h]),Q=(0,d.useCallback)(()=>{let a=G.current,b=Math.min(o,a.length-1),c=a[b];if(!c||0===c.length)return;let d=c.substring(1),e=[...a];e[b]=d,K(e,{lineIndex:b,oldLines:[c],newLines:[d],cursorLine:o})},[o,K]),R=(0,d.useCallback)(()=>{let a=C.current;if(0===a.length)return;let b=a.pop(),d=[...G.current];0===b.newLines.length&&b.oldLines.length>0?d.splice(b.lineIndex,0,...b.oldLines):0===b.oldLines.length&&b.newLines.length>0?(d.splice(b.lineIndex,b.newLines.length),0===d.length&&d.push("")):d.splice(b.lineIndex,b.newLines.length,...b.oldLines),D.current.push(b),c(d.join("\n")),p(Math.min(b.cursorLine,d.length-1)),h(Math.min(b.cursorLine,d.length-1),"auto"),0===a.length&&t(!1)},[c,h]),S=(0,d.useCallback)(()=>{let a=D.current;if(0===a.length)return;let b=a.pop(),d=[...G.current];0===b.newLines.length&&b.oldLines.length>0?(d.splice(b.lineIndex,b.oldLines.length),0===d.length&&d.push("")):0===b.oldLines.length&&b.newLines.length>0?d.splice(b.lineIndex,0,...b.newLines):d.splice(b.lineIndex,b.oldLines.length,...b.newLines),C.current.push(b),t(!0),c(d.join("\n"));let e=b.lineIndex+Math.max(0,b.newLines.length-1);p(Math.min(e,d.length-1)),h(Math.min(e,d.length-1),"auto")},[c,h]),T=(0,d.useCallback)(a=>{let b=G.current,c=Math.min(o,b.length-1);if("o"===a||"O"===a){let d="o"===a?c+1:c,e=[...b];e.splice(d,0,""),K(e,{lineIndex:d,oldLines:[],newLines:[""],cursorLine:o}),c=d,p(d)}n("insert"),e(c,q,a)},[o,q,K,e]),U=(0,d.useCallback)(()=>{n("normal"),I()},[I]),V=(0,d.useCallback)(()=>{n("command"),x("")},[]),W=(0,d.useCallback)(()=>{n("normal"),x("")},[]),X=(0,d.useCallback)(()=>{n("search"),z("")},[]),Y=(0,d.useCallback)(()=>{n("normal"),z("")},[]),Z=(0,d.useCallback)(a=>{let b=a.trim();if("w"===b){f?.(),n("normal"),x("");return}if("q"===b){n("normal"),x("");return}if("wq"===b){f?.(),n("normal"),x("");return}if("noh"===b||"nohlsearch"===b){l?.(),n("normal"),x("");return}let c=parseInt(b,10);if(!isNaN(c)&&c>0){let a=Math.min(c-1,G.current.length-1);p(a),h(a,"center"),n("normal"),x("");return}n("normal"),x("")},[f,l,h]),$=(0,d.useCallback)(a=>{if(!a){n("normal"),z("");return}B(a),i?.(a),n("normal"),z("")},[i]),_=(0,d.useCallback)(a=>{if(!b)return!1;let c=a.ctrlKey&&"c"===a.key&&!a.metaKey&&!a.shiftKey;if("insert"===m)return("Escape"===a.key||!!c)&&(U(),!0);if("command"===m)return!a.isComposing&&("Escape"===a.key||c?W():"Enter"===a.key?Z(w):"Backspace"===a.key?0===w.length?W():x(a=>a.slice(0,-1)):1!==a.key.length||a.metaKey||a.ctrlKey||x(b=>b+a.key),!0);if("search"===m)return!a.isComposing&&("Escape"===a.key||c?Y():"Enter"===a.key?$(y):"Backspace"===a.key?0===y.length?Y():z(a=>a.slice(0,-1)):1!==a.key.length||a.metaKey||a.ctrlKey||z(b=>b+a.key),!0);if(o<0&&(p(0),r(0)),a.metaKey)return!1;if(a.ctrlKey)return"d"===a.key?(M(Math.max(1,Math.floor(g()/2))),I(),!0):"u"===a.key?(M(-Math.max(1,Math.floor(g()/2))),I(),!0):"r"===a.key&&(S(),I(),!0);let d=a.key,e=u+d;if("g"===e)return v("g"),J(),!0;if("gg"===e)return L(0),I(),!0;if("d"===e)return v("d"),J(),!0;if("dd"===e)return N(),I(),!0;if("y"===e)return v("y"),J(),!0;if("yy"===e)return O(),I(),!0;if(u&&e!==d&&I(),"j"===d||"ArrowDown"===d)return M(1),!0;if("k"===d||"ArrowUp"===d)return M(-1),!0;if("h"===d||"ArrowLeft"===d)return r(a=>Math.max(0,a-1)),!0;if("l"===d||"ArrowRight"===d){let a=Math.max(0,(G.current[o]??"").length-1);return r(b=>Math.min(a,b+1)),!0}if("0"===d)return r(0),!0;if("$"===d)return r(Math.max(0,(G.current[o]??"").length-1)),!0;if("^"===d){let a=(G.current[o]??"").search(/\S/);return r(a>=0?a:0),!0}return"G"===d?(L(G.current.length-1),!0):"x"===d?(Q(),!0):"p"===d?(P(),!0):"u"===d?(R(),!0):"i"===d||"a"===d||"I"===d||"A"===d||"o"===d||"O"===d?(T(d),!0):"/"===d?(X(),!0):"n"===d?(j?.(),!0):"N"===d?(k?.(),!0):":"===d?(V(),!0):"Escape"!==d&&1===d.length},[b,m,u,w,y,o,U,T,V,W,X,Y,Z,$,M,L,g,N,O,P,Q,R,S,I,J,j,k]);return{state:{mode:m,cursorLine:o,cursorCol:q,isDirty:s,keyBuffer:u,commandInput:w,searchInput:y,lastSearch:A},handleKeyDown:_,enterNormal:U,enterInsert:T,setCursorLine:p,setCursorCol:r,setCommandInput:x,setSearchInput:z,setIsDirty:t,clearUndoHistory:(0,d.useCallback)(()=>{C.current=[],D.current=[]},[])}}},77033:(a,b,c)=>{c.d(b,{k_:()=>g,nH:()=>h});var d=c(48249),e=c(67484);let f=(0,e.createContext)(null);function g({children:a}){let b=(0,e.useRef)(new Map),c=(0,e.useRef)(null),[g,h]=(0,e.useState)(!1),i=(0,e.useCallback)((a,c)=>{b.current.set(c,a)},[]),j=(0,e.useCallback)(a=>{b.current.delete(a)},[]),k=(0,e.useCallback)(a=>{c.current=a},[]),l=(0,e.useCallback)(a=>{let d=c.current;if(!d)return void console.warn("No active tab to send message");let e=b.current.get(d);e?e(a):console.warn(`No chat sender registered for tab ${d}`)},[]),m=(0,e.useMemo)(()=>({sendMessage:l,isLoading:g,registerChat:i,unregisterChat:j,setActiveTab:k,setIsLoading:h}),[l,g,i,j,k]);return(0,d.jsx)(f.Provider,{value:m,children:a})}function h(){return(0,e.useContext)(f)}},77937:(a,b,c)=>{c.d(b,{f:()=>h,w:()=>g});var d=c(48249),e=c(67484),f=c(44384);function g({x:a,y:b,visible:c,container:e,onAddComment:g,onSendToAI:h,onSearch:i,isChatLoading:j}){let{t:k}=(0,f.Bd)(),l=e.getBoundingClientRect(),m=a-l.left,n=Math.max(0,b-l.top-40);return(0,d.jsxs)("div",{className:"floating-toolbar absolute z-[200] flex items-center gap-1.5 bg-card border border-border rounded-lg shadow-xl p-1.5",style:{left:m+8,top:n,visibility:c?"visible":"hidden",pointerEvents:c?"auto":"none"},children:[(0,d.jsx)("button",{className:"px-3 py-1.5 text-xs font-medium border border-brand text-brand rounded-md hover:bg-brand/10 transition-colors",onClick:g,children:k("floatingToolbar.addComment")}),(0,d.jsx)("button",{className:"px-3 py-1.5 text-xs font-medium border border-brand text-brand rounded-md hover:bg-brand/10 transition-colors disabled:opacity-50 disabled:cursor-not-allowed",onClick:h,disabled:j,title:k(j?"comments.aiResponding":"floatingToolbar.sendToAI"),children:k("floatingToolbar.sendToAI")}),i&&(0,d.jsx)("button",{className:"px-3 py-1.5 text-xs font-medium border border-brand text-brand rounded-md hover:bg-brand/10 transition-colors",onClick:i,children:k("floatingToolbar.search")})]})}let h=(0,e.memo)(function({floatingToolbarRef:a,bumpRef:b,container:c,onAddComment:f,onSendToAI:h,onSearch:i,isChatLoading:j}){let[k,l]=(0,e.useState)(0),m=(0,e.useMemo)(()=>a.current,[k]);return(0,d.jsx)(g,{x:m?.x??0,y:m?.y??0,visible:!!m,container:c,onAddComment:f,onSendToAI:h,onSearch:i,isChatLoading:j})})},79029:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{Cv:()=>z,XO:()=>x});var e=c(48249),f=c(67484),g=c(44384),h=c(74429),i=c(26068),j=c(45214),k=c(90173),l=c(5811),m=c(77937),n=c(68502),o=c(95133),p=c(16306),q=c(94882),r=c(81749),s=c(75005),t=a([k,l,p]);[k,l,p]=t.then?(await t)():t;let y="white-space:pre;padding:0 12px;min-height:20px;line-height:20px";function u(a){let b=window.getSelection();if(!b?.rangeCount)return null;let c=b.getRangeAt(0),d=c.startContainer;for(;d&&d.parentElement!==a;)d=d.parentElement;if(!d)return null;let e=Array.from(a.children).indexOf(d);if(e<0)return null;let f=document.createRange();f.selectNodeContents(d),f.setEnd(c.startContainer,c.startOffset);let g=f.toString().length;return{line:e,offset:g}}function v(a,b){let c,d=a.children[b.line];if(!d)return;let e=document.createTreeWalker(d,NodeFilter.SHOW_TEXT),f=b.offset;for(;c=e.nextNode();){let a=c.textContent?.length||0;if(f<=a){let a=window.getSelection(),b=document.createRange();b.setStart(c,f),b.collapse(!0),a?.removeAllRanges(),a?.addRange(b);return}f-=a}let g=window.getSelection(),h=document.createRange();h.selectNodeContents(d),h.collapse(!1),g?.removeAllRanges(),g?.addRange(h)}function w(a){return a.map(a=>`<div style="${y}">${a}</div>`).join("")}let z=(0,f.forwardRef)(function({content:a,filePath:b,showLineNumbers:c=!0,showSearch:d=!0,className:k="",cwd:t,enableComments:x=!1,scrollToLine:z=null,scrollToLineAlign:A="center",onScrollToLineComplete:B,highlightKeyword:C=null,visibleLineRef:D,onCmdClick:E,onTokenHover:F,onTokenHoverLeave:G,onTokenHoverCancel:H,blameLines:I,inlineBlameLines:J,onSelectCommit:K,editable:L=!1,initialMtime:M,onEditorClose:N,onSaved:O,onEditorStateChange:P,viMode:Q=!1,onContentMutate:R,onEnterInsertMode:S,onViSave:T,viStateRef:U,initialCursorLine:V,initialCursorCol:W,onInitialCursorSet:X,onContentSearch:Y},Z){let{t:$}=(0,g.Bd)(),_=(0,f.useRef)(a),aa=(0,f.useRef)(!1),[ab,ac]=(0,f.useState)(!1),[ad,ae]=(0,f.useState)(!1),[af,ag]=(0,f.useState)(()=>a.split("\n").length),ah=(0,f.useRef)(a.split("\n").length),[ai,aj]=(0,f.useState)({show:!1}),ak=(0,f.useRef)(null),al=(0,f.useRef)(null),am=(0,f.useRef)(M),an=(0,f.useRef)(null),ao=(0,f.useRef)(!1),ap=(0,f.useRef)(!1),{parentRef:aq,containerRef:ar,searchInputRef:as,floatingToolbarRef:at,suppressHoverRef:au,bumpToolbarRef:av,savedSelectionRef:aw,highlightedLines:ax,isMounted:ay,cmdHeld:az,flashLine:aA,isSearchVisible:aB,searchQuery:aC,caseSensitive:aD,wholeWord:aE,currentMatchIndex:aF,viewingComment:aG,addCommentInput:aH,sendToAIInput:aI,chatContext:aJ,commentsEnabled:aK,updateComment:aL,deleteComment:aM,lines:aN,matches:aO,rowData:aP,virtualizer:aQ,commentsByEndLine:aR,linesWithComments:aS,setIsSearchVisible:aT,setSearchQuery:aU,setCaseSensitive:aV,setWholeWord:aW,setViewingComment:aX,setAddCommentInput:aY,setSendToAIInput:aZ,goToNextMatch:a$,goToPrevMatch:a_,handleSearchKeyDown:a0,handleCommentBubbleClick:a1,handleToolbarAddComment:a2,handleToolbarSendToAI:a3,handleToolbarSearch:a4,handleCommentSubmit:a5,handleSendToAISubmit:a6,getHighlightedLineHtml:a7,suppressMatchScrollRef:a8,inlineBlameLineRef:a9,inlineBlameVersion:ba}=(0,p.d)({content:a,filePath:b,showSearch:d,cwd:t,enableComments:!L&&x,scrollToLine:L?null:z,scrollToLineAlign:L?"center":A,onScrollToLineComplete:L?void 0:B,visibleLineRef:L?void 0:D,onContentSearch:Y}),bb=(0,i.iN)(),bc=(0,f.useRef)(null),bd=(0,f.useRef)(null),be=(0,f.useRef)({line:0,col:0}),bf=(0,s.A)({lines:aN,enabled:Q&&!L,onContentChange:a=>{R?.(a)},onEnterInsert:(a,b,c)=>{let d=b;if("a"===c)d=b+1;else if("A"===c)d=(aN[a]??"").length;else if("I"===c){let b=(aN[a]??"").search(/\S/);d=b>=0?b:0}else("o"===c||"O"===c)&&(d=0);be.current={line:a,col:d},S?.(a)},onSave:T,getVisibleLineCount:()=>{let a=aq.current;return a?Math.floor(a.clientHeight/20):20},scrollToLine:(a,b)=>{let c=aP.findIndex(b=>"code"===b.type&&b.lineIndex===a);c>=0&&aQ.scrollToIndex(c,{align:b||"auto"})},onSearchExecute:a=>{aU(a),aT(!1)},onSearchNext:a$,onSearchPrev:a_,onSearchClear:()=>{aU("")}});(0,f.useEffect)(()=>{U&&(U.current={cursorLine:bf.state.cursorLine,cursorCol:bf.state.cursorCol})},[U,bf.state.cursorLine,bf.state.cursorCol]);let bg=(0,f.useRef)(null);(0,f.useEffect)(()=>{Q&&!L&&null!=V&&b&&bg.current!==b&&(bg.current=b,bf.setCursorLine(V-1),null!=W&&bf.setCursorCol(W-1),X?.())},[Q,L,V,W,b]),(0,f.useEffect)(()=>{if(!Q||L)return;let a=ar.current;if(!a)return;let b=a=>{let b=a.target;"TEXTAREA"===b.tagName||"INPUT"===b.tagName||b.isContentEditable||bf.handleKeyDown(a)&&(a.preventDefault(),a.stopPropagation())};return a.addEventListener("keydown",b,!0),()=>a.removeEventListener("keydown",b,!0)},[Q,L,bf.handleKeyDown]),(0,f.useEffect)(()=>{if(!Q||L)return;let a=ar.current;a&&"normal"===bf.state.mode&&requestAnimationFrame(()=>{let b=document.activeElement;b&&("TEXTAREA"===b.tagName||"INPUT"===b.tagName||b.isContentEditable)||a.focus()})},[Q,L,bf.state.mode,a]);let bh=(0,f.useCallback)(a=>{if(!Q||L)return;let b=a.target.closest("[data-line]");if(b){let c=parseInt(b.getAttribute("data-line"),10);if(!isNaN(c)){bf.setCursorLine(c-1);let d=b.querySelector("[data-code-content]");if(d){let b=document.caretRangeFromPoint(a.clientX,a.clientY);if(b&&d.contains(b.startContainer)){let a,e=document.createTreeWalker(d,NodeFilter.SHOW_TEXT),f=0;for(;a=e.nextNode();){if(a===b.startContainer){f+=b.startOffset;break}f+=a.textContent?.length||0}let g=aN[c-1]??"";bf.setCursorCol(Math.max(0,Math.min(f,Math.max(0,g.length-1))))}}}}let c=a.target;if("TEXTAREA"===c.tagName||"INPUT"===c.tagName||c.isContentEditable)return;let d=ar.current;d&&d.focus()},[Q,L,bf.setCursorLine,bf.setCursorCol,aN]),bi=(0,f.useCallback)(a=>{Q&&!L&&requestAnimationFrame(()=>{let a=window.getSelection(),b=a?.toString().trim();b&&/^\S+$/.test(b)&&(a8.current=!0,aU(b))})},[Q,L,aU,a8]);(0,f.useEffect)(()=>{"command"===bf.state.mode?setTimeout(()=>bc.current?.focus(),0):"search"===bf.state.mode&&setTimeout(()=>bd.current?.focus(),0)},[bf.state.mode]),(0,f.useEffect)(()=>{let a=aq.current;if(!a)return;let b=()=>{(H??G)?.()};return a.addEventListener("mousedown",b),()=>a.removeEventListener("mousedown",b)},[H,G]),(0,f.useEffect)(()=>{aH||aI?(au.current=!0,G?.()):at.current||(au.current=!1)},[aH,aI,G]),(0,f.useLayoutEffect)(()=>{let a=aw.current;if(!a)return;let b=window.getSelection();if(b&&!b.isCollapsed)return;let c=aq.current;if(!c)return;let d=c.querySelector(`[data-line="${a.startLine}"]`),e=c.querySelector(`[data-line="${a.endLine}"]`);if(!d||!e)return;let f=(0,p.o)(d,a.startOffset),g=(0,p.o)(e,a.endOffset);if(f&&g)try{let a=document.createRange();a.setStart(f.node,f.offset),a.setEnd(g.node,g.offset),b?.removeAllRanges(),b?.addRange(a)}catch{}});let bj=(0,f.useCallback)((a,b,c)=>{au.current||F?.(a,b,c)},[F]),bk=(0,f.useCallback)((a,b)=>{au.current||E?.(a,b)},[E]),bl=Math.max(4,String(L?af:aN.length).length),bm=(0,f.useMemo)(()=>{let a=0;for(let b of aN){let c=0;for(let a=0;a<b.length;a++)" "===b[a]?c+=2-c%2:c+=1;c>a&&(a=c)}return a},[aN]);(0,f.useEffect)(()=>{if(L){_.current=a;let b=a.split("\n").length;ah.current=b,ag(b),aa.current=!1,ac(!1),aj({show:!1}),am.current=M}},[L,a,M]),(0,f.useEffect)(()=>{if(!L)return;let b=ak.current;if(!b)return;let c=a.split("\n"),d=c.map((a,b)=>ax[b]||(0,l.ZD)(a||" "));b.innerHTML=w(d),requestAnimationFrame(()=>{let a,d;Q?(a=Math.max(0,Math.min(be.current.line,c.length-1)),d=be.current.col):(a=Math.max(0,Math.min((D?.current??1)-1,c.length-1)),d=0),b.focus(),v(b,{line:a,offset:d});let e=D?.current??1;al.current&&(al.current.scrollTop=(e-1)*20)})},[L]),(0,f.useEffect)(()=>{L&&P?.({isDirty:ab,isSaving:ad})},[L,ab,ad,P]);let bn=(0,f.useCallback)(()=>{let a=ak.current;if(!a)return _.current;let b=[];for(let c of a.childNodes){let a=c.textContent||"";b.push(" "===a?"":a)}return b.join("\n")},[]),bo=(0,f.useCallback)(()=>{an.current&&clearTimeout(an.current),an.current=setTimeout(async()=>{let a=ak.current;if(a&&!ap.current){_.current=bn();try{let c=await (0,l.kS)(),d=(0,l.sQ)(b),e=document.documentElement.classList.contains("dark"),f=_.current.split("\n"),g=c.codeToTokens(f.join("\n"),{lang:d,theme:e?"github-dark":"github-light"}).tokens.map(a=>(0,l.b8)(a)),h=u(a);ao.current=!0,a.innerHTML=w(g),ao.current=!1,h&&v(a,h)}catch{}}},300)},[b,bn]);(0,f.useEffect)(()=>{if(L)return()=>{an.current&&clearTimeout(an.current)}},[L]);let bp=(0,f.useCallback)(()=>{let a=ak.current;if(!a)return;aa.current||(aa.current=!0,ac(!0));let b=a.children.length;b!==ah.current&&(ah.current=b,ag(b))},[]),bq=(0,f.useCallback)(()=>{ao.current||ap.current||(bp(),bo())},[bp,bo]),br=(0,f.useCallback)(a=>{if(!a.nativeEvent.isComposing&&("Tab"===a.key&&(a.preventDefault(),document.execCommand("insertText",!1," ")),"Enter"===a.key)){a.preventDefault();let b=ak.current;if(!b)return;let c=window.getSelection();if(!c?.rangeCount)return;let d=c.getRangeAt(0);d.deleteContents();let e=d.startContainer;for(;e&&e.parentElement!==b;)e=e.parentElement;if(!e||!(e instanceof HTMLElement))return;let f=u(b),g=Array.from(b.children).indexOf(e),h=e.textContent||"",i=f?.offset??h.length,j=h.substring(0,i),k=h.substring(i);e.innerHTML=(0,l.ZD)(j||" ");let m=document.createElement("div");m.setAttribute("style",y),m.innerHTML=(0,l.ZD)(k||" "),e.after(m),v(b,{line:g+1,offset:0}),bp(),bo()}},[bp,bo]),bs=(0,f.useCallback)(a=>{a.preventDefault();let b=a.clipboardData.getData("text/plain");document.execCommand("insertText",!1,b)},[]),bt=(0,f.useCallback)(async(a=!1)=>{if(t){_.current=bn(),ae(!0);try{let c=await fetch("/api/files/save",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({cwd:t,path:b,content:_.current,expectedMtime:a?void 0:am.current})}),d=await c.json();if(409===c.status&&d.conflict){try{let a=await fetch(`/api/files/read?cwd=${encodeURIComponent(t)}&path=${encodeURIComponent(b)}`),c=await a.json();aj({show:!0,diskContent:"text"===c.type?c.content:void 0})}catch{aj({show:!0})}return}if(!c.ok)throw Error("Failed to save file");d.mtime&&(am.current=d.mtime),aa.current=!1,ac(!1),aj({show:!1}),(0,r.oR)($("toast.savedSuccess"),"success"),O?.()}catch(a){console.error("Error saving file:",a),(0,r.oR)($("toast.saveFailed"),"error")}finally{ae(!1)}}},[t,b,bn,O]),bu=(0,f.useCallback)(async()=>{ab&&!ad&&await bt(!1)},[ab,ad,bt]),bv=(0,f.useCallback)(async()=>{aj({show:!1}),await bt(!0)},[bt]),bw=(0,f.useCallback)(()=>{if(void 0!==ai.diskContent){_.current=ai.diskContent;let b=ai.diskContent.split("\n").length;ah.current=b,ag(b);let c=ai.diskContent!==a;aa.current=c,ac(c);let d=ak.current;if(d){let a=ai.diskContent.split("\n");d.innerHTML=w(a.map(a=>(0,l.ZD)(a||" "))),bo()}}aj({show:!1}),O?.()},[ai.diskContent,a,O,bo]),bx=(0,f.useCallback)(()=>{let a=al.current;return a?Math.floor(a.scrollTop/20)+1:D?.current??1},[D]),by=(0,f.useCallback)(async()=>{(!ab||await (0,r.lJ)($("codeViewer.unsavedConfirm"),{danger:!0,confirmText:$("codeViewer.discardChanges"),cancelText:$("codeViewer.continueEditing")}))&&N?.(bx())},[ab,N,bx]);(0,f.useEffect)(()=>{if(!L)return;let a=a=>{(a.metaKey||a.ctrlKey)&&"s"===a.key&&(a.preventDefault(),bu())};return document.addEventListener("keydown",a),()=>document.removeEventListener("keydown",a)},[L,bu]);let bz=(0,f.useCallback)(()=>{let a=bn();R?.(a);let b=ak.current,c=b?u(b):null,d=bx();if(bf.enterNormal(),c){bf.setCursorLine(c.line);let b=a.split("\n")[c.line]??"";bf.setCursorCol(Math.max(0,Math.min(c.offset,Math.max(0,b.length-1))))}else bf.setCursorLine(Math.max(0,d-1));N?.(d)},[bn,R,bx,N,bf]);(0,f.useEffect)(()=>{if(!L)return;let a=a=>{let b="Escape"===a.key,c=a.ctrlKey&&"c"===a.key&&!a.metaKey&&!a.shiftKey;(b||Q&&c)&&(a.preventDefault(),a.stopPropagation(),Q?aa.current?(0,r.lJ)($("codeViewer.unsavedExitConfirm"),{danger:!0,confirmText:$("codeViewer.discardChanges"),cancelText:$("codeViewer.continueEditing")}).then(a=>{a&&bz()}):bz():by())};return document.addEventListener("keydown",a,!0),()=>document.removeEventListener("keydown",a,!0)},[L,Q,by,bz]),(0,f.useImperativeHandle)(Z,()=>({save:bu,close:by,get isDirty(){return ab},get isSaving(){return ad}}),[bu,by,ab,ad]);let bA=!!(I&&I.length>0),bB=(0,f.useMemo)(()=>{if(!I)return new Map;let a=[...new Set(I.map(a=>a.author))],b=new Map;return a.forEach((a,c)=>{b.set(a,o.j[c%o.j.length])}),b},[I]),[bC,bD]=(0,f.useState)(null),[bE,bF]=(0,f.useState)(null);(0,f.useEffect)(()=>{bD(null),bF(null)},[I]);let bG=(0,f.useCallback)((a,b)=>{bD(a.author);let c=b.currentTarget.getBoundingClientRect();bF({line:a,x:c.right+8,y:c.top})},[]),bH=(0,f.useCallback)(()=>{bD(null),bF(null)},[]),bI=(0,f.useCallback)(a=>{if(!K)return;let b={hash:a.hashFull,shortHash:a.hash,author:a.author,authorEmail:a.authorEmail,date:new Date(1e3*a.time).toISOString(),subject:a.message.split("\n")[0]||"",body:a.message.split("\n").slice(1).join("\n").trim(),time:a.time};K(b),bF(null)},[K]),bJ=`${bl+2}ch`;return(0,e.jsxs)("div",{ref:ar,className:`h-full flex flex-col outline-none ${k}`,tabIndex:0,onClick:bh,onDoubleClick:bi,children:[L&&ai.show&&(0,e.jsxs)("div",{className:"px-4 py-2 bg-amber-500/15 border-b border-amber-500/30 flex items-center gap-3 flex-shrink-0",children:[(0,e.jsx)("svg",{className:"w-5 h-5 text-amber-500 flex-shrink-0",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,e.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-2.5L13.732 4c-.77-.833-1.964-.833-2.732 0L4.082 16.5c-.77.833.192 2.5 1.732 2.5z"})}),(0,e.jsx)("span",{className:"text-sm text-foreground flex-1",children:$("codeViewer.fileModifiedExternally")}),(0,e.jsxs)("div",{className:"flex items-center gap-2",children:[(0,e.jsx)("button",{onClick:bw,className:"px-3 py-1 text-sm rounded border border-border hover:bg-accent transition-colors",children:$("codeViewer.useDiskVersion")}),(0,e.jsx)("button",{onClick:bv,className:"px-3 py-1 text-sm rounded bg-amber-500 text-white hover:bg-amber-600 transition-colors",children:$("codeViewer.forceOverwrite")})]})]}),!L&&d&&aB&&(0,e.jsxs)("div",{className:"flex-shrink-0 flex items-center gap-2 px-3 py-2 bg-secondary border-b border-border",children:[(0,e.jsx)("input",{ref:as,type:"text",value:aC,onChange:a=>aU(a.target.value),onKeyDown:a0,placeholder:$("codeViewer.searchPlaceholder"),className:"flex-1 max-w-xs px-2 py-1 text-sm border border-border rounded bg-card text-foreground focus:outline-none focus:ring-2 focus:ring-ring"}),(0,e.jsx)("button",{onClick:()=>aV(!aD),className:`px-2 py-1 text-xs font-mono rounded border transition-colors ${aD?"bg-brand text-white border-brand":"border-border text-muted-foreground hover:bg-accent"}`,title:$("codeViewer.caseSensitive"),children:"Aa"}),(0,e.jsx)("button",{onClick:()=>aW(!aE),className:`px-2 py-1 text-xs font-mono rounded border transition-colors ${aE?"bg-brand text-white border-brand":"border-border text-muted-foreground hover:bg-accent"}`,title:$("codeViewer.wholeWordMatch"),children:"[ab]"}),(0,e.jsx)("span",{className:"text-xs text-muted-foreground",children:aO.length>0?`${aF+1}/${aO.length}`:$("common.noMatch")}),(0,e.jsx)("button",{onClick:a_,disabled:0===aO.length,className:"p-1 rounded hover:bg-accent disabled:opacity-50",title:$("common.previous"),children:(0,e.jsx)("svg",{className:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,e.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M5 15l7-7 7 7"})})}),(0,e.jsx)("button",{onClick:a$,disabled:0===aO.length,className:"p-1 rounded hover:bg-accent disabled:opacity-50",title:$("common.next"),children:(0,e.jsx)("svg",{className:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,e.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 9l-7 7-7-7"})})}),(0,e.jsx)("button",{onClick:()=>{aT(!1),aU("")},className:"p-1 rounded hover:bg-accent",title:$("common.close"),children:(0,e.jsx)("svg",{className:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,e.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})})]}),L?(0,e.jsx)("div",{ref:al,className:"flex-1 overflow-auto bg-secondary",children:(0,e.jsxs)("div",{className:"flex",style:{minHeight:"100%"},children:[(0,e.jsx)("div",{className:"flex-shrink-0 font-mono text-sm select-none sticky left-0 z-[2] bg-secondary",style:{width:bJ},children:Array.from({length:af},(a,b)=>(0,e.jsx)("div",{className:"text-right text-muted-foreground/50 pr-3",style:{height:20,lineHeight:"20px"},children:b+1},b))}),(0,e.jsx)("div",{ref:ak,contentEditable:!0,suppressContentEditableWarning:!0,onInput:bq,onKeyDown:br,onPaste:bs,onCompositionStart:()=>{ap.current=!0},onCompositionEnd:()=>{ap.current=!1,bq()},spellCheck:!1,autoCorrect:"off",autoCapitalize:"off",className:"flex-1 font-mono text-sm outline-none",style:{caretColor:"var(--foreground)",tabSize:2}})]})}):(0,e.jsx)("div",{ref:aq,className:`flex-1 overflow-auto font-mono text-sm bg-secondary${az?" cmd-held-container":""}`,children:(0,e.jsx)("div",{style:{height:`${aQ.getTotalSize()}px`,minWidth:"100%",width:bA?`calc(${bl+bm+10}ch + 13rem)`:`${bl+bm+10}ch`,position:"relative"},children:aQ.getVirtualItems().map(a=>{let b=aP[a.index];if("code"!==b.type)return null;let d=b.lineIndex,f=d+1,g=ax[d]||(0,l.ZD)(aN[d]||""),h=a7(d,g,C),i=aS.has(f),j=aR.get(f),k=j?.[0],m=!!(aH&&f>=aH.range.start&&f<=aH.range.end),n=ba>=0?a9.current:null,p=!L&&J&&n===f?J[d]??null:null,q=bA?I[d]:void 0,r=bA&&d>0?I[d-1]:void 0,s=!!q&&(!r||r.hash!==q.hash),t=q?bB.get(q.author):void 0;return(0,e.jsx)(o.S,{virtualKey:a.key,lineNum:f,highlightedHtml:h,hasComments:i,firstComment:k,lineCommentsCount:j?.length,isInRange:m,showLineNumbers:c,lineNumChars:bl,commentsEnabled:aK,virtualItemSize:a.size,virtualItemStart:a.start,onCommentBubbleClick:a1,onCmdClick:bk,onTokenHover:bj,onTokenHoverLeave:G,flashLine:aA,blameLine:q,showBlameInfo:s,blameAuthorColor:t,isBlameHovered:!!(q&&bC===q.author),onBlameClick:bI,onBlameMouseEnter:bG,onBlameMouseLeave:bH,inlineBlameData:p,onInlineBlameClick:bI,isCursorLine:Q&&!L&&bf.state.cursorLine===d,cursorCol:Q&&!L&&bf.state.cursorLine===d?bf.state.cursorCol:void 0},a.key)})})}),Q&&(0,e.jsxs)("div",{className:"vi-status-bar flex-shrink-0 h-6 bg-card border-t border-border flex items-center px-3 text-xs font-mono select-none",children:["normal"===bf.state.mode&&(0,e.jsx)("span",{className:"text-green-11 font-medium",children:"NORMAL"}),"insert"===bf.state.mode&&(0,e.jsx)("span",{className:"text-blue-11 font-medium",children:"INSERT"}),"command"===bf.state.mode&&(0,e.jsxs)("div",{className:"flex items-center flex-1",children:[(0,e.jsx)("span",{className:"text-foreground",children:":"}),(0,e.jsx)("input",{ref:bc,value:bf.state.commandInput,onChange:a=>bf.setCommandInput(a.target.value),onKeyDown:a=>{if(a.nativeEvent.isComposing)return;let b=a.ctrlKey&&"c"===a.key&&!a.metaKey&&!a.shiftKey;("Enter"===a.key||"Escape"===a.key||b)&&(a.preventDefault(),a.stopPropagation(),bf.handleKeyDown(a.nativeEvent))},className:"flex-1 bg-transparent outline-none text-foreground ml-0.5",spellCheck:!1,autoComplete:"off"})]}),"search"===bf.state.mode&&(0,e.jsxs)("div",{className:"flex items-center flex-1",children:[(0,e.jsx)("span",{className:"text-foreground",children:"/"}),(0,e.jsx)("input",{ref:bd,value:bf.state.searchInput,onChange:a=>bf.setSearchInput(a.target.value),onKeyDown:a=>{if(a.nativeEvent.isComposing)return;let b=a.ctrlKey&&"c"===a.key&&!a.metaKey&&!a.shiftKey;("Enter"===a.key||"Escape"===a.key||b)&&(a.preventDefault(),a.stopPropagation(),bf.handleKeyDown(a.nativeEvent))},className:"flex-1 bg-transparent outline-none text-foreground ml-0.5",spellCheck:!1,autoComplete:"off"})]}),bf.state.keyBuffer&&"normal"===bf.state.mode&&(0,e.jsx)("span",{className:"ml-2 text-muted-foreground",children:bf.state.keyBuffer}),bf.state.isDirty&&("normal"===bf.state.mode||"command"===bf.state.mode)&&(0,e.jsx)("span",{className:"ml-2 text-amber-11",children:"[+]"}),(0,e.jsxs)("span",{className:"ml-auto text-muted-foreground",children:[bf.state.cursorLine+1,":",bf.state.cursorCol+1]})]}),ay&&bb&&(0,h.createPortal)((0,e.jsxs)(e.Fragment,{children:[!L&&(0,e.jsx)(m.f,{floatingToolbarRef:at,bumpRef:av,container:bb,onAddComment:a2,onSendToAI:a3,onSearch:Y?a4:void 0,isChatLoading:aJ?.isLoading}),!L&&aH&&(0,e.jsx)(j.t,{x:aH.x,y:aH.y,range:aH.range,codeContent:aH.codeContent,container:bb,onSubmit:a5,onClose:()=>aY(null)}),!L&&aI&&(0,e.jsx)(j.G,{x:aI.x,y:aI.y,range:aI.range,filePath:b,codeContent:aI.codeContent,container:bb,onSubmit:a6,onClose:()=>aZ(null),isChatLoading:aJ?.isLoading}),!L&&aG&&(0,e.jsx)(n.t,{x:aG.x,y:aG.y,comment:aG.comment,container:bb,onClose:()=>aX(null),onUpdateComment:aL,onDeleteComment:aM}),bE&&(0,e.jsxs)("div",{className:"fixed z-50 bg-card border border-border rounded-lg shadow-lg p-3 max-w-lg",style:{left:Math.min(bE.x,window.innerWidth-450),top:Math.max(8,Math.min(bE.y,window.innerHeight-200))},children:[(0,e.jsxs)("div",{className:"flex items-start gap-3",children:[(0,e.jsx)("div",{className:"px-2 py-0.5 rounded text-xs font-mono font-medium text-white flex-shrink-0",style:{backgroundColor:bB.get(bE.line.author)?.border||"#666"},children:bE.line.hash}),(0,e.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,e.jsx)("div",{className:"text-sm font-medium text-foreground",children:bE.line.author}),(0,e.jsx)("div",{className:"text-xs text-muted-foreground",children:bE.line.authorEmail})]})]}),(0,e.jsx)("div",{className:"mt-2 text-sm text-foreground whitespace-pre-wrap max-h-48 overflow-y-auto",children:bE.line.message}),(0,e.jsxs)("div",{className:"mt-2 text-xs text-muted-foreground border-t border-border pt-2",children:[(0,q.fw)(bE.line.time)," \xb7 ",new Date(1e3*bE.line.time).toLocaleString(),(0,e.jsx)("span",{className:"ml-2 text-brand",children:$("codeViewer.clickToViewDetails")})]})]})]}),bb)]})});function x({content:a,filePath:b,className:c=""}){let d=(0,f.useMemo)(()=>a.split("\n"),[a]),g=(0,k.C)(d,b),h=Math.max(4,String(d.length).length);return(0,e.jsx)("pre",{className:`overflow-auto text-sm font-mono bg-secondary p-2 ${c}`,children:d.map((a,b)=>(0,e.jsxs)("div",{className:"flex",children:[(0,e.jsx)("span",{className:"text-slate-9 select-none pr-4 text-right",style:{minWidth:`${h+2}ch`},children:b+1}),(0,e.jsx)("span",{className:"flex-1",dangerouslySetInnerHTML:{__html:g[b]||(0,l.ZD)(a||" ")}})]},b))})}d()}catch(a){d(a)}})},90173:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{C:()=>h});var e=c(67484),f=c(5811),g=a([f]);function h(a,b){let[c,d]=(0,e.useState)([]),[f,g]=(0,e.useState)(!1);return(0,e.useRef)(""),a.join("\n"),c}f=(g.then?(await g)():g)[0],d()}catch(a){d(a)}})},94882:(a,b,c)=>{function d(a,b){for(let c of a){if(c.path===b)return c;if(c.children){let a=d(c.children,b);if(a)return a}}return null}function e(a,b){if(!a)return"";let c=d(b,a);if(c?.isDirectory)return a;let e=a.split("/");return e.pop(),e.join("/")}function f(a){let b=[];for(let c of a){let a=c.split("/"),d=b;for(let b=0;b<a.length;b++){let c=a[b],e=b===a.length-1,f=a.slice(0,b+1).join("/"),g=d.find(a=>a.name===c);g||(g={name:c,path:f,isDirectory:!e,children:e?void 0:[]},d.push(g)),!e&&g.children&&(d=g.children)}}let c=a=>{a.sort((a,b)=>a.isDirectory&&!b.isDirectory?-1:!a.isDirectory&&b.isDirectory?1:a.name.localeCompare(b.name)),a.forEach(a=>{a.children&&c(a.children)})};return c(b),b}function g(a){let b=[],c=a=>{for(let d of a)d.isDirectory&&(b.push(d.path),d.children&&c(d.children))};return c(a),b}c.d(b,{B_:()=>o,KH:()=>k,MB:()=>d,S7:()=>e,fw:()=>l,q3:()=>j,r6:()=>m,tE:()=>n,tW:()=>g,u:()=>i,v3:()=>f});let h=new Set(["png","jpg","jpeg","gif","svg","webp","ico","bmp"]);function i(a){let b=a.split(".").pop()?.toLowerCase();return h.has(b||"")}function j(a,b,c=!1){let d=new Set;if(!b)return d;let e=b.toLowerCase(),f=a=>{if(d.add(a.path),a.children)for(let b of a.children)f(b)},g=(a,b)=>{let h=a.name.toLowerCase(),i=c?h===e:h.includes(e);if(i&&a.children)return f(a),b.forEach(a=>d.add(a)),!0;let j=!1;if(a.children)for(let c of a.children)g(c,[...b,a.path])&&(j=!0);return(!!i||!!j)&&(d.add(a.path),b.forEach(a=>d.add(a)),!0)};for(let b of a)g(b,[]);return d}function k(a,b,c=!1){let d=new Set;if(!b)return d;let e=b.toLowerCase();for(let b of a){let a=b.split("/");for(let b=0;b<a.length;b++){let f=a[b].toLowerCase();if(c?f===e:f.includes(e)){for(let b=0;b<=a.length-1;b++)d.add(a.slice(0,b+1).join("/"));break}}}return d}function l(a){let b=Math.floor(Math.floor((Date.now()-1e3*a)/1e3)/60),c=Math.floor(b/60),d=Math.floor(c/24),e=Math.floor(d/30),f=Math.floor(d/365);return f>0?`${f}y ago`:e>0?`${e}mo ago`:d>0?`${d}d ago`:c>0?`${c}h ago`:b>0?`${b}m ago`:"just now"}function m(a){let b=new Date(a),c=new Date,d=b.getFullYear()===c.getFullYear(),e=String(b.getMonth()+1).padStart(2,"0"),f=String(b.getDate()).padStart(2,"0"),g=String(b.getHours()).padStart(2,"0"),h=String(b.getMinutes()).padStart(2,"0");return d?`${e}-${f} ${g}:${h}`:`${b.getFullYear()}-${e}-${f} ${g}:${h}`}let n=()=>{},o=50},95133:(a,b,c)=>{c.d(b,{S:()=>l,j:()=>j});var d=c(48249),e=c(67484),f=c(44384),g=c(41564),h=c(74429);function i({blame:a,onClick:b}){let{t:c}=(0,f.Bd)(),i=(0,e.useRef)(null),j=(0,e.useRef)(null),k=(0,e.useRef)(!1),l=(0,e.useRef)(!1),m=(0,e.useRef)(null),n=(0,e.useRef)(null),o=(0,e.useRef)(null),p=(0,e.useRef)(a),q=(0,e.useRef)(b),r=(0,e.useCallback)(()=>{let a,b=j.current,c=i.current;if(!b||!c)return;let d=c.getBoundingClientRect(),e=b.getBoundingClientRect(),f=window.innerWidth,g=window.innerHeight,h=d.left;h+e.width>f-8&&(h=f-e.width-8),h<8&&(h=8),(a=d.top-e.height-4<0?d.bottom+4:d.top-e.height-4)+e.height>g-8&&(a=g-e.height-8),b.style.left=`${h}px`,b.style.top=`${a}px`},[]),s=(0,e.useCallback)(()=>{m.current&&(clearTimeout(m.current),m.current=null),n.current&&(clearTimeout(n.current),n.current=null),k.current=!1,l.current=!1,j.current&&(j.current.style.display="none"),o.current&&(document.removeEventListener("mousedown",o.current.down),document.removeEventListener("mouseup",o.current.up),o.current=null)},[]),t=(0,e.useCallback)(()=>{let a=j.current;if(!a||k.current)return;k.current=!0,a.style.left="-9999px",a.style.top="-9999px",a.style.display="block",requestAnimationFrame(()=>requestAnimationFrame(r));let b=0,c=0,d=a=>{b=a.clientX,c=a.clientY},e=a=>{if(!(Math.abs(a.clientX-b)>5||Math.abs(a.clientY-c)>5)){let b;b=a.target,j.current?.contains(b)||i.current?.contains(b)||s()}};document.addEventListener("mousedown",d),document.addEventListener("mouseup",e),o.current={down:d,up:e}},[r,s]),u=(0,e.useCallback)(()=>{if(m.current&&clearTimeout(m.current),n.current&&(clearTimeout(n.current),n.current=null),k.current)return;let a=window.getSelection();(!a||a.isCollapsed)&&(m.current=setTimeout(t,500))},[t]),v=(0,e.useCallback)(()=>{m.current&&(clearTimeout(m.current),m.current=null),k.current&&(n.current=setTimeout(()=>{l.current||s()},200))},[s]),w=(0,e.useCallback)(()=>{l.current=!0,n.current&&(clearTimeout(n.current),n.current=null)},[]),x=(0,e.useCallback)(()=>{l.current=!1,s()},[s]),y=(0,e.useCallback)(a=>{a.stopPropagation();let b=window.getSelection();b&&b.toString().length>0&&j.current?.contains(b.anchorNode)||(q.current?.(p.current),s())},[s]),z=a.message.split("\n")[0]||"",A=a.message.split("\n").slice(1).join("\n").trim();return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("span",{ref:i,className:"select-none text-xs text-muted-foreground/50 ml-6 cursor-default hover:text-muted-foreground/80",onMouseEnter:u,onMouseLeave:v,children:[a.author.split(" ")[0],", ",function(a){let b=g.A.t,c=Math.floor((Date.now()-1e3*a)/1e3);if(c<60)return b("common.justNow");let d=Math.floor(c/60);if(d<60)return b("common.minutesAgo",{count:d});let e=Math.floor(d/60);if(e<24)return b("common.hoursAgo",{count:e});let f=Math.floor(e/24);if(f<30)return b("common.daysAgo",{count:f});let h=Math.floor(f/30);return h<12?b("common.monthsAgo",{count:h}):b("common.yearsAgo",{count:Math.floor(h/12)})}(a.time)," \xb7 ",z]}),(0,h.createPortal)((0,d.jsxs)("div",{ref:j,className:"fixed z-[9999] bg-card border border-border rounded-lg shadow-xl p-3 text-xs text-foreground whitespace-pre-wrap max-w-md select-text",style:{display:"none",minWidth:280,cursor:"text"},"data-inline-blame-tip":"",onMouseEnter:w,onMouseLeave:x,children:[(0,d.jsxs)("div",{className:"flex items-center gap-2 mb-1.5",children:[(0,d.jsx)("span",{className:"font-mono text-brand",children:a.hash}),(0,d.jsx)("span",{className:"text-muted-foreground",children:a.author}),(0,d.jsx)("span",{className:"text-muted-foreground/60",children:new Date(1e3*a.time).toLocaleString()})]}),(0,d.jsx)("div",{className:"font-medium",children:z}),A&&(0,d.jsx)("div",{className:"mt-1 text-muted-foreground",children:A}),(0,d.jsx)("div",{className:"mt-2 text-[11px] text-brand border-t border-border pt-2 cursor-pointer hover:underline",onClick:y,children:c("codeViewer.clickToViewDetails")})]}),document.body)]})}let j=[{bg:"rgba(59, 130, 246, 0.15)",border:"rgb(59, 130, 246)"},{bg:"rgba(16, 185, 129, 0.15)",border:"rgb(16, 185, 129)"},{bg:"rgba(245, 158, 11, 0.15)",border:"rgb(245, 158, 11)"},{bg:"rgba(239, 68, 68, 0.15)",border:"rgb(239, 68, 68)"},{bg:"rgba(168, 85, 247, 0.15)",border:"rgb(168, 85, 247)"},{bg:"rgba(236, 72, 153, 0.15)",border:"rgb(236, 72, 153)"},{bg:"rgba(20, 184, 166, 0.15)",border:"rgb(20, 184, 166)"},{bg:"rgba(249, 115, 22, 0.15)",border:"rgb(249, 115, 22)"}];function k(a,b){let c,d=document.caretRangeFromPoint(a.clientX,a.clientY);if(!d||!b.contains(d.startContainer))return 1;let e=d.startContainer,f=d.startOffset,g=document.createTreeWalker(b,NodeFilter.SHOW_TEXT),h=1;for(;c=g.nextNode();){if(c===e){h+=f;break}h+=c.textContent?.length||0}return h}let l=(0,e.memo)(function({virtualKey:a,lineNum:b,highlightedHtml:c,hasComments:g,firstComment:h,lineCommentsCount:j,isInRange:l,showLineNumbers:m,lineNumChars:n,commentsEnabled:o,virtualItemSize:p,virtualItemStart:q,onCommentBubbleClick:r,onCmdClick:s,onTokenHover:t,onTokenHoverLeave:u,flashLine:v,blameLine:w,showBlameInfo:x,blameAuthorColor:y,isBlameHovered:z,onBlameClick:A,onBlameMouseEnter:B,onBlameMouseLeave:C,inlineBlameData:D,onInlineBlameClick:E,isCursorLine:F,cursorCol:G}){let{t:H}=(0,f.Bd)(),I=(0,e.useMemo)(()=>F&&null!=G?function(a,b){let c=0,d=0;for(;d<a.length;){if("<"===a[d]){let b=a.indexOf(">",d);if(-1!==b){d=b+1;continue}}if(c===b){let b;if("&"===a[d]){let c=a.indexOf(";",d);b=-1!==c&&c-d<10?c+1:d+1}else b=d+1;let c=a.substring(d,b);return a.substring(0,d)+'<span class="vi-char-cursor">'+c+"</span>"+a.substring(b)}if("&"===a[d]){let b=a.indexOf(";",d);d=-1!==b&&b-d<10?b+1:d+1}else d++;c++}return a+'<span class="vi-char-cursor"> </span>'}(c,G):c,[c,F,G]),J=(0,e.useCallback)(a=>{if(!a.metaKey||!s)return;a.preventDefault(),a.stopPropagation();let c=a.currentTarget,d=k(a,c);window.getSelection()?.removeAllRanges(),s(b,d)},[b,s]),K=(0,e.useCallback)(a=>{if(!t||0!==a.buttons)return;let c=window.getSelection();if(c&&!c.isCollapsed)return;let d=a.target;if("SPAN"!==d.tagName||!d.style.color)return;let e=a.currentTarget,f=k(a,e),g=d.getBoundingClientRect();t(b,f,{x:g.left,y:g.bottom+4})},[b,t]),L=(0,e.useCallback)(()=>{w&&A&&A(w)},[w,A]),M=(0,e.useCallback)(a=>{w&&B&&B(w,a)},[w,B]);return(0,d.jsxs)("div",{"data-line":b,style:{position:"absolute",top:0,left:0,width:"100%",height:`${p}px`,transform:`translateY(${q}px)`,backgroundColor:z&&y?y.bg:void 0},className:`flex ${v===b?"flash-line":""} ${F?"vi-cursor-line":""} ${l?"bg-blue-9/20":g?"bg-amber-9/10":"hover:bg-accent/50"}`,children:[(0,d.jsxs)("div",{className:"flex shrink-0 sticky left-0 z-[2] bg-secondary",style:{backgroundColor:z&&y?y.bg:void 0},children:[w&&y&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("div",{className:"w-1 flex-shrink-0",style:{backgroundColor:y.border}}),(0,d.jsx)("div",{className:"w-48 flex-shrink-0 px-2 flex items-center gap-2 border-r border-border text-muted-foreground cursor-pointer hover:bg-accent/50",onMouseEnter:M,onMouseLeave:C,onClick:L,title:H("codeViewer.clickToViewCommit"),children:x?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("span",{className:"font-medium",style:{color:y.border},children:w.hash}),(0,d.jsx)("span",{className:"truncate flex-1",children:w.author.split(" ")[0]})]}):null})]}),m&&(0,d.jsxs)("span",{className:`flex-shrink-0 flex items-center justify-end gap-0.5 pr-2 select-none border-r border-border font-variant-tabular ${l?"bg-blue-9/30 text-blue-11":"bg-card/50 text-slate-9"}`,children:[o&&g&&h&&(0,d.jsx)("button",{onClick:a=>r(h,a),className:"w-4 h-4 flex items-center justify-center rounded hover:bg-accent text-amber-9",title:H("codeViewer.nComments",{count:j}),children:(0,d.jsx)("svg",{className:"w-3 h-3",fill:"currentColor",viewBox:"0 0 20 20",children:(0,d.jsx)("path",{fillRule:"evenodd",d:"M18 10c0 3.866-3.582 7-8 7a8.841 8.841 0 01-4.083-.98L2 17l1.338-3.123C2.493 12.767 2 11.434 2 10c0-3.866 3.582-7 8-7s8 3.134 8 7zM7 9H5v2h2V9zm8 0h-2v2h2V9zM9 9h2v2H9V9z",clipRule:"evenodd"})})}),o&&!g&&(0,d.jsx)("span",{className:"w-4"}),(0,d.jsx)("span",{className:"text-right",style:{minWidth:`${n}ch`},children:b})]})]}),(0,d.jsxs)("span",{className:"flex-1 px-3 whitespace-pre select-text",onClick:J,onMouseOver:K,onMouseLeave:u,"data-code-content":!0,children:[(0,d.jsx)("span",{dangerouslySetInnerHTML:{__html:I}}),D&&(0,d.jsx)(i,{blame:D,onClick:E})]})]},a)})}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
exports.id=5394,exports.ids=[5394],exports.modules={25813:(a,b,c)=>{"use strict";c.d(b,{$A:()=>
|
|
1
|
+
exports.id=5394,exports.ids=[5394],exports.modules={25813:(a,b,c)=>{"use strict";c.d(b,{$A:()=>J,A0:()=>T,An:()=>W,BF:()=>F,Ct:()=>N,Eu:()=>E,Ex:()=>t,GB:()=>q,JE:()=>V,JY:()=>I,Ki:()=>z,Kk:()=>O,Kv:()=>j,LN:()=>k,Mx:()=>A,O0:()=>y,Sr:()=>G,Tb:()=>r,Ux:()=>Y,Wd:()=>U,aO:()=>m,at:()=>x,ec:()=>n,eg:()=>R,h9:()=>w,i4:()=>D,iK:()=>o,iy:()=>M,lq:()=>C,ls:()=>H,mT:()=>v,oK:()=>L,oZ:()=>P,of:()=>B,po:()=>K,tP:()=>p,th:()=>u,v4:()=>l,vI:()=>S,yw:()=>Q});var d=c(21820),e=c(33873),f=c(79748),g=c(29021),h=c(79646);let i=(0,d.homedir)(),j=(0,e.join)(i,".cockpit"),k=(0,e.join)(j,"projects"),l=(0,e.join)(j,"state.json"),m=(0,e.join)(j,"pinned-sessions.json"),n=(0,e.join)(j,"note.md"),o=(0,e.join)(j,"scheduled-tasks.json"),p=(0,e.join)(j,"settings.json"),q=(0,e.join)(j,"skills.json"),r=(0,e.join)(j,"review"),s=(0,e.join)(r,"_signal");function t(){try{(0,g.existsSync)(r)||(0,g.mkdirSync)(r,{recursive:!0}),(0,g.writeFileSync)(s,Date.now().toString())}catch{}}let u=(0,e.join)(i,".claude"),v=(0,e.join)(u,"projects"),w=(0,e.join)(i,".claude2"),x=(0,e.join)(w,"projects");function y(a){return a.replace(/[/.]/g,"-")}function z(a){return(0,e.join)(k,y(a))}function A(a){return(0,e.join)(z(a),"session.json")}function B(a){return(0,e.join)(z(a),"recent-files.json")}function C(a){return(0,e.join)(z(a),"expanded-paths.json")}function D(a){return(0,e.join)(z(a),"comments.json")}function E(a){return(0,e.join)(z(a),"services.json")}function F(a){return(0,e.join)(z(a),"note.md")}function G(a,b){return(0,e.join)(z(a),`terminal-history-${b}.jsonl`)}function H(a,b){return(0,e.join)(z(a),`terminal-output-${b}.txt`)}function I(a,b){let c=b?`terminal-env-${b}.json`:"terminal-env-global.json";return(0,e.join)(z(a),c)}function J(){return(0,e.join)(j,"terminal-aliases.json")}function K(){return(0,e.join)(j,"services.json")}function L(a){return(0,e.join)(z(a),"project-settings.json")}function M(a,b){return(0,e.join)(z(a),`terminal-bubble-order-${b}.json`)}function N(a){return(0,e.join)(r,`${a}.json`)}function O(a,b){return(0,e.join)((0,e.join)(v,y(a)),`${b}.jsonl`)}function P(a,b){return(0,e.join)((0,e.join)(x,y(a)),`${b}.jsonl`)}function Q(a,b){return(0,e.join)((0,e.join)(j,"ollama-sessions",y(a)),`${b}.jsonl`)}function R(a){let b=(0,e.join)(i,".codex","sessions");if(!(0,g.existsSync)(b))return null;try{let c=(0,h.execSync)(`find ${JSON.stringify(b)} -name "*${a}.jsonl" -type f 2>/dev/null`,{encoding:"utf8",timeout:3e3}).trim();if(c)return c.split("\n")[0]}catch{}return null}function S(a){let b=(0,e.join)(i,".kimi","sessions");if(!(0,g.existsSync)(b))return null;try{for(let c of(0,g.readdirSync)(b)){let d=(0,e.join)(b,c,a,"context.jsonl");if((0,g.existsSync)(d))return d}}catch{}return null}async function T(a){(0,g.existsSync)(a)||await (0,f.mkdir)(a,{recursive:!0})}async function U(a){let b=(0,e.join)(a,"..");await T(b)}async function V(a,b){try{let b=await (0,f.readFile)(a,"utf-8");return JSON.parse(b)}catch{return b}}async function W(a,b){await U(a),await (0,f.writeFile)(a,JSON.stringify(b,null,2),"utf-8")}let X=new Map;function Y(a,b){let c=(X.get(a)??Promise.resolve()).then(b),d=c.then(()=>{},()=>{});return X.set(a,d),d.then(()=>{X.get(a)===d&&X.delete(a)}),c}},78335:()=>{},91878:(a,b,c)=>{"use strict";c.d(b,{CS:()=>h,Pn:()=>i,r8:()=>j});var d=c(25813),e=c(29021),f=c(4984);function g(a){if(!a)return a;let b=[...a];return b.length<=50?a:b.slice(0,50).join("")+"…"}async function h(a,b,c,f,h){if((0,e.existsSync)(a))return(0,d.Ux)(d.v4,async()=>{let e=await (0,d.JE)(d.v4,{sessions:[]});for(let a of e.sessions)a.status||(a.status=a.isLoading?"loading":"normal",delete a.isLoading);let i=e.sessions.findIndex(c=>c.cwd===a&&c.sessionId===b),j=i>=0?e.sessions[i]:void 0,k={cwd:a,sessionId:b,lastActive:Date.now(),status:c,title:g(f||j?.title),lastUserMessage:g(h||j?.lastUserMessage)};i>=0?e.sessions[i]=k:e.sessions.push(k),e.sessions.sort((a,b)=>b.lastActive-a.lastActive),e.sessions=e.sessions.slice(0,15),await (0,d.An)(d.v4,e)})}async function i(a,b){let c=(0,d.Kk)(a,b);if((0,e.existsSync)(c))return m(c);let f=(0,d.oZ)(a,b);if((0,e.existsSync)(f))return m(f);let g=(0,d.yw)(a,b);if((0,e.existsSync)(g))return m(g);let h=(0,d.eg)(b);if(h&&(0,e.existsSync)(h))return await p(h)||"Untitled Session";let i=(0,d.vI)(b);return i&&(0,e.existsSync)(i)&&await r(i)||"Untitled Session"}async function j(a,b){let c=(0,d.Kk)(a,b);if((0,e.existsSync)(c))return await n(c);let f=(0,d.oZ)(a,b);if((0,e.existsSync)(f))return await n(f);let g=(0,d.yw)(a,b);if((0,e.existsSync)(g))return await n(g);let h=(0,d.eg)(b);if(h&&(0,e.existsSync)(h))return await o(h);let i=(0,d.vI)(b);if(i&&(0,e.existsSync)(i))return await q(i)}function k(a){let b=a.replace(/<command-[^>]*>[\s\S]*?<\/command-[^>]*>/g,"");return(b=b.replace(/<local-command-[^>]*>[\s\S]*?<\/local-command-[^>]*>/g,"")).trim()}function l(a){return!(a.startsWith("This session is being continued")||a.startsWith("Caveat: The messages below"))&&!!a.trim()}async function m(a){try{let d=(0,e.createReadStream)(a),g=(0,f.createInterface)({input:d,crlfDelay:1/0}),h="",i=[];for await(let a of g)if(a.trim())try{let b=JSON.parse(a);if("summary"===b.type&&b.summary&&(h=b.summary),"user"===b.type){let a=b.message;if(!a?.content)continue;if("string"==typeof a.content)i.push(a.content);else if(Array.isArray(a.content))for(let b of a.content)"text"===b.type&&b.text&&i.push(b.text)}}catch{}var b=h,c=i;if(b)return b;let j="";for(let a of c){let b=k(a);if(b){if(b.startsWith("/")&&!j){j=b;continue}if(j)return`${j} ${b}`;return b}}return j||"Untitled Session"}catch{return"Untitled Session"}}async function n(a){try{let b,c=(0,e.createReadStream)(a);for await(let a of(0,f.createInterface)({input:c,crlfDelay:1/0}))if(a.trim())try{let c=JSON.parse(a);if("user"!==c.type)continue;let d=c.message;if(!d?.content)continue;let e="";if("string"==typeof d.content)e=d.content;else if(Array.isArray(d.content)){for(let a of d.content)if("text"===a.type&&a.text){e=a.text;break}}if(!e)continue;let f=k(e);f&&l(f)&&(b=f)}catch{}return b}catch{return}}async function o(a){try{let b,c=(0,e.createReadStream)(a);for await(let a of(0,f.createInterface)({input:c,crlfDelay:1/0})){let c;if(!a.trim())continue;try{c=JSON.parse(a)}catch{continue}if("response_item"!==c.type)continue;let d=c.payload;if(!d||"message"!==d.type||"user"!==d.role)continue;let e=d.content?.filter(a=>"input_text"===a.type&&a.text).map(a=>a.text).join("")||"";if(!e||e.startsWith("<")||e.startsWith("#"))continue;let f=k(e);f&&l(f)&&(b=f)}return b}catch{return}}async function p(a){try{let b=(0,e.createReadStream)(a);for await(let a of(0,f.createInterface)({input:b,crlfDelay:1/0})){let b;if(!a.trim())continue;try{b=JSON.parse(a)}catch{continue}if("response_item"!==b.type)continue;let c=b.payload;if(!c||"message"!==c.type||"user"!==c.role)continue;let d=c.content?.filter(a=>"input_text"===a.type&&a.text).map(a=>a.text).join("")||"";if(!(!d||d.startsWith("<")||d.startsWith("#")))return d.slice(0,80)}return}catch{return}}async function q(a){try{let b,c=(0,e.createReadStream)(a);for await(let a of(0,f.createInterface)({input:c,crlfDelay:1/0})){let c;if(!a.trim())continue;try{c=JSON.parse(a)}catch{continue}if("user"!==c.role)continue;let d="string"==typeof c.content?c.content:Array.isArray(c.content)?c.content.filter(a=>("input_text"===a.type||"text"===a.type)&&a.text).map(a=>a.text).join(""):"";if(!d||d.startsWith("<system")||d.startsWith("<environment")||d.startsWith("# AGENTS.md")||d.startsWith("<permissions"))continue;let e=k(d);e&&l(e)&&(b=e)}return b}catch{return}}async function r(a){try{let b=(0,e.createReadStream)(a);for await(let a of(0,f.createInterface)({input:b,crlfDelay:1/0})){let b;if(!a.trim())continue;try{b=JSON.parse(a)}catch{continue}if("user"!==b.role)continue;let c="string"==typeof b.content?b.content:Array.isArray(b.content)?b.content.filter(a=>("input_text"===a.type||"text"===a.type)&&a.text).map(a=>a.text).join(""):"";if(!(!c||c.startsWith("<system")||c.startsWith("<environment")||c.startsWith("# AGENTS.md")||c.startsWith("<permissions")))return c.slice(0,80)}return}catch{return}}},96487:()=>{}};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
"use strict";exports.id=6043,exports.ids=[6043],exports.modules={36043:(a,b,c)=>{c.d(b,{Te:()=>t});var d=c(67484),e=c(74429);function f(a,b,c){let d,e=c.initialDeps??[],f=!0;function g(){var g,h,i;let j,k;c.key&&(null==(g=c.debug)?void 0:g.call(c))&&(j=Date.now());let l=a();if(!(l.length!==e.length||l.some((a,b)=>e[b]!==a)))return d;if(e=l,c.key&&(null==(h=c.debug)?void 0:h.call(c))&&(k=Date.now()),d=b(...l),c.key&&(null==(i=c.debug)?void 0:i.call(c))){let a=Math.round((Date.now()-j)*100)/100,b=Math.round((Date.now()-k)*100)/100,d=b/16,e=(a,b)=>{for(a=String(a);a.length<b;)a=" "+a;return a};console.info(`%c⏱ ${e(b,5)} /${e(a,5)} ms`,`
|
|
2
|
+
font-size: .6rem;
|
|
3
|
+
font-weight: bold;
|
|
4
|
+
color: hsl(${Math.max(0,Math.min(120-120*d,120))}deg 100% 31%);`,null==c?void 0:c.key)}return(null==c?void 0:c.onChange)&&!(f&&c.skipInitialOnChange)&&c.onChange(d),f=!1,d}return g.updateDeps=a=>{e=a},g}function g(a,b){if(void 0!==a)return a;throw Error(`Unexpected undefined${b?`: ${b}`:""}`)}let h=a=>{let{offsetWidth:b,offsetHeight:c}=a;return{width:b,height:c}},i=a=>a,j=a=>{let b=Math.max(a.startIndex-a.overscan,0),c=Math.min(a.endIndex+a.overscan,a.count-1),d=[];for(let a=b;a<=c;a++)d.push(a);return d},k=(a,b)=>{let c=a.scrollElement;if(!c)return;let d=a.targetWindow;if(!d)return;let e=a=>{let{width:c,height:d}=a;b({width:Math.round(c),height:Math.round(d)})};if(e(h(c)),!d.ResizeObserver)return()=>{};let f=new d.ResizeObserver(b=>{let d=()=>{let a=b[0];if(null==a?void 0:a.borderBoxSize){let b=a.borderBoxSize[0];if(b)return void e({width:b.inlineSize,height:b.blockSize})}e(h(c))};a.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(d):d()});return f.observe(c,{box:"border-box"}),()=>{f.unobserve(c)}},l={passive:!0},m="u"<typeof window||"onscrollend"in window,n=(a,b)=>{var c,d;let e,f=a.scrollElement;if(!f)return;let g=a.targetWindow;if(!g)return;let h=0,i=a.options.useScrollendEvent&&m?()=>void 0:(c=()=>{b(h,!1)},d=a.options.isScrollingResetDelay,function(...a){g.clearTimeout(e),e=g.setTimeout(()=>c.apply(this,a),d)}),j=c=>()=>{let{horizontal:d,isRtl:e}=a.options;h=d?f.scrollLeft*(e&&-1||1):f.scrollTop,i(),b(h,c)},k=j(!0),n=j(!1);f.addEventListener("scroll",k,l);let o=a.options.useScrollendEvent&&m;return o&&f.addEventListener("scrollend",n,l),()=>{f.removeEventListener("scroll",k),o&&f.removeEventListener("scrollend",n)}},o=(a,b,c)=>{if(null==b?void 0:b.borderBoxSize){let a=b.borderBoxSize[0];if(a)return Math.round(a[c.options.horizontal?"inlineSize":"blockSize"])}return a[c.options.horizontal?"offsetWidth":"offsetHeight"]},p=(a,{adjustments:b=0,behavior:c},d)=>{var e,f;null==(f=null==(e=d.scrollElement)?void 0:e.scrollTo)||f.call(e,{[d.options.horizontal?"left":"top"]:a+b,behavior:c})};class q{constructor(a){this.unsubs=[],this.scrollElement=null,this.targetWindow=null,this.isScrolling=!1,this.currentScrollToIndex=null,this.measurementsCache=[],this.itemSizeCache=new Map,this.laneAssignments=new Map,this.pendingMeasuredCacheIndexes=[],this.prevLanes=void 0,this.lanesChangedFlag=!1,this.lanesSettling=!1,this.scrollRect=null,this.scrollOffset=null,this.scrollDirection=null,this.scrollAdjustments=0,this.elementsCache=new Map,this.observer=(()=>{let a=null,b=()=>a||(this.targetWindow&&this.targetWindow.ResizeObserver?a=new this.targetWindow.ResizeObserver(a=>{a.forEach(a=>{let b=()=>{this._measureElement(a.target,a)};this.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(b):b()})}):null);return{disconnect:()=>{var c;null==(c=b())||c.disconnect(),a=null},observe:a=>{var c;return null==(c=b())?void 0:c.observe(a,{box:"border-box"})},unobserve:a=>{var c;return null==(c=b())?void 0:c.unobserve(a)}}})(),this.range=null,this.setOptions=a=>{Object.entries(a).forEach(([b,c])=>{void 0===c&&delete a[b]}),this.options={debug:!1,initialOffset:0,overscan:1,paddingStart:0,paddingEnd:0,scrollPaddingStart:0,scrollPaddingEnd:0,horizontal:!1,getItemKey:i,rangeExtractor:j,onChange:()=>{},measureElement:o,initialRect:{width:0,height:0},scrollMargin:0,gap:0,indexAttribute:"data-index",initialMeasurementsCache:[],lanes:1,isScrollingResetDelay:150,enabled:!0,isRtl:!1,useScrollendEvent:!1,useAnimationFrameWithResizeObserver:!1,...a}},this.notify=a=>{var b,c;null==(c=(b=this.options).onChange)||c.call(b,this,a)},this.maybeNotify=f(()=>(this.calculateRange(),[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]),a=>{this.notify(a)},{key:!1,debug:()=>this.options.debug,initialDeps:[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]}),this.cleanup=()=>{this.unsubs.filter(Boolean).forEach(a=>a()),this.unsubs=[],this.observer.disconnect(),this.scrollElement=null,this.targetWindow=null},this._didMount=()=>()=>{this.cleanup()},this._willUpdate=()=>{var a;let b=this.options.enabled?this.options.getScrollElement():null;if(this.scrollElement!==b){if(this.cleanup(),!b)return void this.maybeNotify();this.scrollElement=b,this.scrollElement&&"ownerDocument"in this.scrollElement?this.targetWindow=this.scrollElement.ownerDocument.defaultView:this.targetWindow=(null==(a=this.scrollElement)?void 0:a.window)??null,this.elementsCache.forEach(a=>{this.observer.observe(a)}),this.unsubs.push(this.options.observeElementRect(this,a=>{this.scrollRect=a,this.maybeNotify()})),this.unsubs.push(this.options.observeElementOffset(this,(a,b)=>{this.scrollAdjustments=0,this.scrollDirection=b?this.getScrollOffset()<a?"forward":"backward":null,this.scrollOffset=a,this.isScrolling=b,this.maybeNotify()})),this._scrollToOffset(this.getScrollOffset(),{adjustments:void 0,behavior:void 0})}},this.getSize=()=>this.options.enabled?(this.scrollRect=this.scrollRect??this.options.initialRect,this.scrollRect[this.options.horizontal?"width":"height"]):(this.scrollRect=null,0),this.getScrollOffset=()=>this.options.enabled?(this.scrollOffset=this.scrollOffset??("function"==typeof this.options.initialOffset?this.options.initialOffset():this.options.initialOffset),this.scrollOffset):(this.scrollOffset=null,0),this.getFurthestMeasurement=(a,b)=>{let c=new Map,d=new Map;for(let e=b-1;e>=0;e--){let b=a[e];if(c.has(b.lane))continue;let f=d.get(b.lane);if(null==f||b.end>f.end?d.set(b.lane,b):b.end<f.end&&c.set(b.lane,!0),c.size===this.options.lanes)break}return d.size===this.options.lanes?Array.from(d.values()).sort((a,b)=>a.end===b.end?a.index-b.index:a.end-b.end)[0]:void 0},this.getMeasurementOptions=f(()=>[this.options.count,this.options.paddingStart,this.options.scrollMargin,this.options.getItemKey,this.options.enabled,this.options.lanes],(a,b,c,d,e,f)=>(void 0!==this.prevLanes&&this.prevLanes!==f&&(this.lanesChangedFlag=!0),this.prevLanes=f,this.pendingMeasuredCacheIndexes=[],{count:a,paddingStart:b,scrollMargin:c,getItemKey:d,enabled:e,lanes:f}),{key:!1}),this.getMeasurements=f(()=>[this.getMeasurementOptions(),this.itemSizeCache],({count:a,paddingStart:b,scrollMargin:c,getItemKey:d,enabled:e,lanes:f},g)=>{if(!e)return this.measurementsCache=[],this.itemSizeCache.clear(),this.laneAssignments.clear(),[];if(this.laneAssignments.size>a)for(let b of this.laneAssignments.keys())b>=a&&this.laneAssignments.delete(b);this.lanesChangedFlag&&(this.lanesChangedFlag=!1,this.lanesSettling=!0,this.measurementsCache=[],this.itemSizeCache.clear(),this.laneAssignments.clear(),this.pendingMeasuredCacheIndexes=[]),0!==this.measurementsCache.length||this.lanesSettling||(this.measurementsCache=this.options.initialMeasurementsCache,this.measurementsCache.forEach(a=>{this.itemSizeCache.set(a.key,a.size)}));let h=this.lanesSettling?0:this.pendingMeasuredCacheIndexes.length>0?Math.min(...this.pendingMeasuredCacheIndexes):0;this.pendingMeasuredCacheIndexes=[],this.lanesSettling&&this.measurementsCache.length===a&&(this.lanesSettling=!1);let i=this.measurementsCache.slice(0,h),j=Array(f).fill(void 0);for(let a=0;a<h;a++){let b=i[a];b&&(j[b.lane]=a)}for(let e=h;e<a;e++){let a,f,h=d(e),k=this.laneAssignments.get(e);if(void 0!==k&&this.options.lanes>1){let d=j[a=k],e=void 0!==d?i[d]:void 0;f=e?e.end+this.options.gap:b+c}else{let d=1===this.options.lanes?i[e-1]:this.getFurthestMeasurement(i,e);f=d?d.end+this.options.gap:b+c,a=d?d.lane:e%this.options.lanes,this.options.lanes>1&&this.laneAssignments.set(e,a)}let l=g.get(h),m="number"==typeof l?l:this.options.estimateSize(e),n=f+m;i[e]={index:e,start:f,size:m,end:n,key:h,lane:a},j[a]=e}return this.measurementsCache=i,i},{key:!1,debug:()=>this.options.debug}),this.calculateRange=f(()=>[this.getMeasurements(),this.getSize(),this.getScrollOffset(),this.options.lanes],(a,b,c,d)=>this.range=a.length>0&&b>0?function({measurements:a,outerSize:b,scrollOffset:c,lanes:d}){let e=a.length-1;if(a.length<=d)return{startIndex:0,endIndex:e};let f=r(0,e,b=>a[b].start,c),g=f;if(1===d)for(;g<e&&a[g].end<c+b;)g++;else if(d>1){let h=Array(d).fill(0);for(;g<e&&h.some(a=>a<c+b);){let b=a[g];h[b.lane]=b.end,g++}let i=Array(d).fill(c+b);for(;f>=0&&i.some(a=>a>=c);){let b=a[f];i[b.lane]=b.start,f--}f=Math.max(0,f-f%d),g=Math.min(e,g+(d-1-g%d))}return{startIndex:f,endIndex:g}}({measurements:a,outerSize:b,scrollOffset:c,lanes:d}):null,{key:!1,debug:()=>this.options.debug}),this.getVirtualIndexes=f(()=>{let a=null,b=null,c=this.calculateRange();return c&&(a=c.startIndex,b=c.endIndex),this.maybeNotify.updateDeps([this.isScrolling,a,b]),[this.options.rangeExtractor,this.options.overscan,this.options.count,a,b]},(a,b,c,d,e)=>null===d||null===e?[]:a({startIndex:d,endIndex:e,overscan:b,count:c}),{key:!1,debug:()=>this.options.debug}),this.indexFromElement=a=>{let b=this.options.indexAttribute,c=a.getAttribute(b);return c?parseInt(c,10):(console.warn(`Missing attribute name '${b}={index}' on measured element.`),-1)},this._measureElement=(a,b)=>{let c=this.indexFromElement(a),d=this.measurementsCache[c];if(!d)return;let e=d.key,f=this.elementsCache.get(e);f!==a&&(f&&this.observer.unobserve(f),this.observer.observe(a),this.elementsCache.set(e,a)),a.isConnected&&this.resizeItem(c,this.options.measureElement(a,b,this))},this.resizeItem=(a,b)=>{let c=this.measurementsCache[a];if(!c)return;let d=b-(this.itemSizeCache.get(c.key)??c.size);0!==d&&((void 0!==this.shouldAdjustScrollPositionOnItemSizeChange?this.shouldAdjustScrollPositionOnItemSizeChange(c,d,this):c.start<this.getScrollOffset()+this.scrollAdjustments)&&this._scrollToOffset(this.getScrollOffset(),{adjustments:this.scrollAdjustments+=d,behavior:void 0}),this.pendingMeasuredCacheIndexes.push(c.index),this.itemSizeCache=new Map(this.itemSizeCache.set(c.key,b)),this.notify(!1))},this.measureElement=a=>{a?this._measureElement(a,void 0):this.elementsCache.forEach((a,b)=>{a.isConnected||(this.observer.unobserve(a),this.elementsCache.delete(b))})},this.getVirtualItems=f(()=>[this.getVirtualIndexes(),this.getMeasurements()],(a,b)=>{let c=[];for(let d=0,e=a.length;d<e;d++){let e=b[a[d]];c.push(e)}return c},{key:!1,debug:()=>this.options.debug}),this.getVirtualItemForOffset=a=>{let b=this.getMeasurements();if(0!==b.length)return g(b[r(0,b.length-1,a=>g(b[a]).start,a)])},this.getMaxScrollOffset=()=>{if(!this.scrollElement)return 0;if("scrollHeight"in this.scrollElement)return this.options.horizontal?this.scrollElement.scrollWidth-this.scrollElement.clientWidth:this.scrollElement.scrollHeight-this.scrollElement.clientHeight;{let a=this.scrollElement.document.documentElement;return this.options.horizontal?a.scrollWidth-this.scrollElement.innerWidth:a.scrollHeight-this.scrollElement.innerHeight}},this.getOffsetForAlignment=(a,b,c=0)=>{if(!this.scrollElement)return 0;let d=this.getSize(),e=this.getScrollOffset();return"auto"===b&&(b=a>=e+d?"end":"start"),"center"===b?a+=(c-d)/2:"end"===b&&(a-=d),Math.max(Math.min(this.getMaxScrollOffset(),a),0)},this.getOffsetForIndex=(a,b="auto")=>{a=Math.max(0,Math.min(a,this.options.count-1));let c=this.measurementsCache[a];if(!c)return;let d=this.getSize(),e=this.getScrollOffset();if("auto"===b)if(c.end>=e+d-this.options.scrollPaddingEnd)b="end";else{if(!(c.start<=e+this.options.scrollPaddingStart))return[e,b];b="start"}if("end"===b&&a===this.options.count-1)return[this.getMaxScrollOffset(),b];let f="end"===b?c.end+this.options.scrollPaddingEnd:c.start-this.options.scrollPaddingStart;return[this.getOffsetForAlignment(f,b,c.size),b]},this.isDynamicMode=()=>this.elementsCache.size>0,this.scrollToOffset=(a,{align:b="start",behavior:c}={})=>{"smooth"===c&&this.isDynamicMode()&&console.warn("The `smooth` scroll behavior is not fully supported with dynamic size."),this._scrollToOffset(this.getOffsetForAlignment(a,b),{adjustments:void 0,behavior:c})},this.scrollToIndex=(a,{align:b="auto",behavior:c}={})=>{"smooth"===c&&this.isDynamicMode()&&console.warn("The `smooth` scroll behavior is not fully supported with dynamic size."),a=Math.max(0,Math.min(a,this.options.count-1)),this.currentScrollToIndex=a;let d=0,e=b=>{if(!this.targetWindow)return;let d=this.getOffsetForIndex(a,b);if(!d)return void console.warn("Failed to get offset for index:",a);let[e,g]=d;this._scrollToOffset(e,{adjustments:void 0,behavior:c}),this.targetWindow.requestAnimationFrame(()=>{let b=()=>{if(this.currentScrollToIndex!==a)return;let b=this.getScrollOffset(),c=this.getOffsetForIndex(a,g);c?1.01>Math.abs(c[0]-b)||f(g):console.warn("Failed to get offset for index:",a)};this.isDynamicMode()?this.targetWindow.requestAnimationFrame(b):b()})},f=b=>{this.targetWindow&&this.currentScrollToIndex===a&&(++d<10?this.targetWindow.requestAnimationFrame(()=>e(b)):console.warn(`Failed to scroll to index ${a} after 10 attempts.`))};e(b)},this.scrollBy=(a,{behavior:b}={})=>{"smooth"===b&&this.isDynamicMode()&&console.warn("The `smooth` scroll behavior is not fully supported with dynamic size."),this._scrollToOffset(this.getScrollOffset()+a,{adjustments:void 0,behavior:b})},this.getTotalSize=()=>{var a;let b,c=this.getMeasurements();if(0===c.length)b=this.options.paddingStart;else if(1===this.options.lanes)b=(null==(a=c[c.length-1])?void 0:a.end)??0;else{let a=Array(this.options.lanes).fill(null),d=c.length-1;for(;d>=0&&a.some(a=>null===a);){let b=c[d];null===a[b.lane]&&(a[b.lane]=b.end),d--}b=Math.max(...a.filter(a=>null!==a))}return Math.max(b-this.options.scrollMargin+this.options.paddingEnd,0)},this._scrollToOffset=(a,{adjustments:b,behavior:c})=>{this.options.scrollToFn(a,{behavior:c,adjustments:b},this)},this.measure=()=>{this.itemSizeCache=new Map,this.laneAssignments=new Map,this.notify(!1)},this.setOptions(a)}}let r=(a,b,c,d)=>{for(;a<=b;){let e=(a+b)/2|0,f=c(e);if(f<d)a=e+1;else{if(!(f>d))return e;b=e-1}}return a>0?a-1:0},s="u">typeof document?d.useLayoutEffect:d.useEffect;function t(a){return function({useFlushSync:a=!0,...b}){let c=d.useReducer(()=>({}),{})[1],f={...b,onChange:(d,f)=>{var g;a&&f?(0,e.flushSync)(c):c(),null==(g=b.onChange)||g.call(b,d,f)}},[g]=d.useState(()=>new q(f));return g.setOptions(f),s(()=>g._didMount(),[]),s(()=>g._willUpdate()),g}({observeElementRect:k,observeElementOffset:n,scrollToFn:p,...a})}}};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";exports.id=7122,exports.ids=[7122],exports.modules={44741:(a,b,c)=>{c.d(b,{T:()=>B});var d=c(48249),e=c(98051),f=c(38368),g=c(33972),h=c(10841),i=c(99773),j=c(61003);c(55583),c(87023);var k=c(50757),l=c(27454),m=c(37752),n=c(67484),o=c(3532),p=c(74429),q=c(44384);function r({code:a,isDark:b}){let{t:c}=(0,q.Bd)(),[e,f]=(0,n.useState)("diagram"),[g,h]=(0,n.useState)(null),[i,j]=(0,n.useState)(null),[o,r]=(0,n.useState)(!1);return(0,n.useRef)(0),(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("div",{className:"my-3 rounded-lg border border-border overflow-hidden",children:[(0,d.jsxs)("div",{className:"flex items-center justify-end gap-1 px-3 py-1.5 border-b border-border",children:[(0,d.jsxs)(s,{active:"diagram"===e,onClick:()=>f("diagram"),children:[(0,d.jsx)("span",{className:"text-xs",children:"\uD83D\uDCCA"})," ",c("mermaid.chart")]}),(0,d.jsxs)(s,{active:"code"===e,onClick:()=>f("code"),children:[(0,d.jsx)("span",{className:"text-xs opacity-70",children:"</>"})," ",c("mermaid.code")]})]}),"diagram"===e?(0,d.jsx)("div",{className:"p-4",children:i?(0,d.jsxs)("div",{className:"flex items-start gap-2 p-3 rounded bg-red-500/10 border border-red-500/20 text-red-400 text-sm",children:[(0,d.jsx)("span",{className:"flex-shrink-0 mt-0.5",children:"⚠️"}),(0,d.jsxs)("div",{children:[(0,d.jsx)("div",{className:"font-medium mb-1",children:c("mermaid.renderFailed")}),(0,d.jsx)("pre",{className:"text-xs opacity-80 whitespace-pre-wrap break-all",children:i})]})]}):g?(0,d.jsx)("div",{className:"mermaid-preview cursor-pointer hover:opacity-90 transition-opacity [&>svg]:max-w-full [&>svg]:max-h-[300px] [&>svg]:mx-auto",onClick:()=>r(!0),title:c("mermaid.clickToEnlarge"),dangerouslySetInnerHTML:{__html:g}}):(0,d.jsx)("div",{className:"flex items-center justify-center py-6 text-muted-foreground text-sm",children:c("mermaid.rendering")})}):(0,d.jsx)(k.A,{style:b?l.A:m.A,language:"mermaid",PreTag:"div",customStyle:{margin:0,borderRadius:0,fontSize:"0.875rem"},children:a})]}),o&&g&&(0,p.createPortal)((0,d.jsx)(t,{svgHtml:g,onClose:()=>r(!1)}),document.body)]})}function s({active:a,onClick:b,children:c}){return(0,d.jsx)("button",{onClick:b,className:`flex items-center gap-1.5 px-2.5 py-1 text-xs rounded transition-colors ${a?"bg-accent text-foreground":"text-muted-foreground hover:text-foreground hover:bg-accent"}`,children:c})}function t({svgHtml:a,onClose:b}){let{t:c}=(0,q.Bd)();return(0,d.jsxs)("div",{className:"fixed inset-0 z-50 flex items-center justify-center",children:[(0,d.jsx)("div",{className:"absolute inset-0 bg-black/50",onClick:b}),(0,d.jsxs)("div",{className:"relative bg-card rounded-lg shadow-xl w-[96vw] h-[94vh] flex flex-col overflow-hidden",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between px-4 py-2.5 border-b border-border flex-shrink-0",children:[(0,d.jsx)("h3",{className:"text-sm font-medium text-foreground",children:c("mermaid.mermaidChart")}),(0,d.jsx)("button",{onClick:b,className:"p-1 text-muted-foreground hover:text-foreground hover:bg-accent rounded transition-colors",title:c("mermaid.closeEsc"),children:(0,d.jsx)("svg",{className:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,d.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})})]}),(0,d.jsx)("div",{className:"flex-1 min-h-0 flex items-center justify-center p-6",children:(0,d.jsx)("div",{className:"w-full h-full flex items-center justify-center [&>svg]:max-w-full [&>svg]:max-h-full",dangerouslySetInnerHTML:{__html:a}})})]})]})}let u=[f.A,g.A,h.jb],v=[f.A,h.jb],w=[i.A,j.A],x=[i.A];function y(a){return a.replace(/^(\|.+\|)$/gm,a=>/^\|[\s:|-]+\|$/.test(a)?a:a.replace(/`([^`]*)`/g,(a,b)=>b.includes("|")?"`"+b.replace(/\|/g,"\\|")+"`":a))}function z(a){return a.replace(/\$(\d)/g,"\\$$1")}function A(a,b){return{code({className:c,children:e,node:f,...g}){let h=/language-(\w+)/.exec(c||""),i=String(e);if(!h&&!c&&!i.includes("\n"))return(0,d.jsx)("code",{className:"px-1.5 py-0.5 mx-0.5 rounded bg-accent text-sm font-mono",...g,children:e});let j=String(e).replace(/\n$/,""),n=h?.[1]||"text";if("mermaid"===n&&!b)return(0,d.jsx)(r,{code:j,isDark:a});let o=Number(g["data-source-start"])||0,p=o?o+1:0,q=0;return(0,d.jsx)(k.A,{style:a?l.A:m.A,language:n,PreTag:"div",customStyle:{margin:"0.75rem 0",borderRadius:"0.375rem",fontSize:"0.875rem"},wrapLines:!0,lineProps:()=>{let a=p+q;return q++,{"data-source-start":a,"data-source-end":a,style:{display:"block"}}},children:j})},p:({children:a,node:b,...c})=>(0,d.jsx)("p",{className:"mb-3 last:mb-0",...c,children:a}),h1:({children:a,node:b,...c})=>(0,d.jsx)("h1",{className:"text-xl font-bold mb-3 mt-4 first:mt-0",...c,children:a}),h2:({children:a,node:b,...c})=>(0,d.jsx)("h2",{className:"text-lg font-bold mb-2 mt-3 first:mt-0",...c,children:a}),h3:({children:a,node:b,...c})=>(0,d.jsx)("h3",{className:"text-base font-bold mb-2 mt-3 first:mt-0",...c,children:a}),ul:({children:a,node:b,...c})=>(0,d.jsx)("ul",{className:"list-disc list-inside mb-3 space-y-1",...c,children:a}),ol:({children:a,node:b,...c})=>(0,d.jsx)("ol",{className:"list-decimal list-inside mb-3 space-y-1",...c,children:a}),li:({children:a,node:b,...c})=>(0,d.jsx)("li",{className:"leading-relaxed",...c,children:a}),blockquote:({children:a,node:b,...c})=>(0,d.jsx)("blockquote",{className:"border-l-4 border-border pl-4 my-3 italic text-muted-foreground",...c,children:a}),a:({href:a,children:b,node:c,...e})=>(0,d.jsx)("a",{href:a,target:"_blank",rel:"noopener noreferrer",className:"text-brand hover:underline",...e,children:b}),table:({children:a,node:b,...c})=>(0,d.jsx)("div",{className:"overflow-x-auto my-3",...c,children:(0,d.jsx)("table",{className:"min-w-full border border-border",children:a})}),thead:({children:a,node:b,...c})=>(0,d.jsx)("thead",{className:"bg-accent",...c,children:a}),th:({children:a,node:b,...c})=>(0,d.jsx)("th",{className:"px-4 py-2 text-left font-semibold border-b border-border",...c,children:a}),td:({children:a,node:b,...c})=>(0,d.jsx)("td",{className:"px-4 py-2 border-b border-border",...c,children:a}),hr:({node:a,...b})=>(0,d.jsx)("hr",{className:"my-4 border-border",...b}),img:({src:a,alt:b,node:c,height:e,width:f,style:g,...h})=>{if(!(e||f||g))return(0,d.jsx)("img",{src:a,alt:b||"",className:"max-w-full h-auto rounded-lg my-3",...h});let i=a=>a?/^\d+$/.test(String(a))?`${a}px`:String(a):void 0,j={...g,height:i(e)??g?.height,width:i(f)??g?.width};return(0,d.jsx)("img",{src:a,alt:b||"",style:j,className:"inline-block align-middle",...h})},strong:({children:a,node:b,...c})=>(0,d.jsx)("strong",{className:"font-bold",...c,children:a}),em:({children:a,node:b,...c})=>(0,d.jsx)("em",{className:"italic",...c,children:a}),del:({children:a,node:b,...c})=>(0,d.jsx)("del",{className:"line-through",...c,children:a})}}let B=(0,n.memo)(function({content:a,isUser:b=!1,isStreaming:c=!1,enableMath:f=!0,rehypePlugins:g}){let{resolvedTheme:h}=(0,o.D)(),i="dark"===h,j=(0,n.useMemo)(()=>A(i),[i]),k=(0,n.useMemo)(()=>A(i,!0),[i]),l=f?u:v,m=f?w:x,p=(0,n.useMemo)(()=>{if(b||c)return a;let d=y(!function(a){if(/^\|[\s:|-]+\|$/m.test(a))return!1;if(/[┌┐└┘│─├┤┬┴┼╔╗╚╝║═╭╮╯╰▲▼◀▶△▽◁▷]/.test(a)||/\+[-=]{2,}\+/.test(a))return!0;let b=a.split("\n").filter(a=>/^\s*\||\|\s*$/.test(a));if(b.length>=3){let a=b.map(a=>(a.match(/\|/g)||[]).length);return!a.every(b=>b===a[0])||!(a[0]>=3)}return!1}(a)||/^```[\s\S]*```$/m.test(a.trim())?a:"```text\n"+a.trim()+"\n```");return f?z(d):d},[a,b,c,f]),q=(0,n.useMemo)(()=>g?.length?[...m,...g]:m,[g,m]);if(b)return(0,d.jsx)("div",{className:"whitespace-pre-wrap break-words",children:a});if(c){let b=a.lastIndexOf("\n");if(-1===b)return(0,d.jsx)("div",{className:"whitespace-pre-wrap break-words",children:a});let c=a.slice(0,b+1),g=a.slice(b+1);return(0,d.jsxs)("div",{className:"markdown-body",children:[(0,d.jsx)(e.oz,{remarkPlugins:l,rehypePlugins:m,components:k,children:f?z(y(c)):y(c)}),g&&(0,d.jsx)("span",{className:"whitespace-pre-wrap",children:g})]})}return(0,d.jsx)("div",{className:"markdown-body",children:(0,d.jsx)(e.oz,{remarkPlugins:l,rehypePlugins:q,components:j,children:p})})})}};
|