@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,350 @@
|
|
|
1
|
+
// File: /home/runner/work/cockpit/cockpit/src/app/api/skills/route.ts
|
|
2
|
+
import * as entry from '../../../../../src/app/api/skills/route.js'
|
|
3
|
+
import type { NextRequest } from 'next/server.js'
|
|
4
|
+
|
|
5
|
+
import type { PrefetchForTypeCheckInternal } from 'next/dist/build/segment-config/app/app-segment-config.js'
|
|
6
|
+
|
|
7
|
+
type TEntry = typeof import('../../../../../src/app/api/skills/route.js')
|
|
8
|
+
|
|
9
|
+
type SegmentParams<T extends Object = any> = T extends Record<string, any>
|
|
10
|
+
? { [K in keyof T]: T[K] extends string ? string | string[] | undefined : never }
|
|
11
|
+
: T
|
|
12
|
+
|
|
13
|
+
// Check that the entry is a valid entry
|
|
14
|
+
checkFields<Diff<{
|
|
15
|
+
GET?: Function
|
|
16
|
+
HEAD?: Function
|
|
17
|
+
OPTIONS?: Function
|
|
18
|
+
POST?: Function
|
|
19
|
+
PUT?: Function
|
|
20
|
+
DELETE?: Function
|
|
21
|
+
PATCH?: Function
|
|
22
|
+
config?: {}
|
|
23
|
+
generateStaticParams?: Function
|
|
24
|
+
unstable_prefetch?: PrefetchForTypeCheckInternal
|
|
25
|
+
revalidate?: RevalidateRange<TEntry> | false
|
|
26
|
+
dynamic?: 'auto' | 'force-dynamic' | 'error' | 'force-static'
|
|
27
|
+
dynamicParams?: boolean
|
|
28
|
+
fetchCache?: 'auto' | 'force-no-store' | 'only-no-store' | 'default-no-store' | 'default-cache' | 'only-cache' | 'force-cache'
|
|
29
|
+
preferredRegion?: 'auto' | 'global' | 'home' | string | string[]
|
|
30
|
+
runtime?: 'nodejs' | 'experimental-edge' | 'edge'
|
|
31
|
+
maxDuration?: number
|
|
32
|
+
|
|
33
|
+
}, TEntry, ''>>()
|
|
34
|
+
|
|
35
|
+
type RouteContext = { params: Promise<SegmentParams> }
|
|
36
|
+
// Check the prop type of the entry function
|
|
37
|
+
if ('GET' in entry) {
|
|
38
|
+
checkFields<
|
|
39
|
+
Diff<
|
|
40
|
+
ParamCheck<Request | NextRequest>,
|
|
41
|
+
{
|
|
42
|
+
__tag__: 'GET'
|
|
43
|
+
__param_position__: 'first'
|
|
44
|
+
__param_type__: FirstArg<MaybeField<TEntry, 'GET'>>
|
|
45
|
+
},
|
|
46
|
+
'GET'
|
|
47
|
+
>
|
|
48
|
+
>()
|
|
49
|
+
checkFields<
|
|
50
|
+
Diff<
|
|
51
|
+
ParamCheck<RouteContext>,
|
|
52
|
+
{
|
|
53
|
+
__tag__: 'GET'
|
|
54
|
+
__param_position__: 'second'
|
|
55
|
+
__param_type__: SecondArg<MaybeField<TEntry, 'GET'>>
|
|
56
|
+
},
|
|
57
|
+
'GET'
|
|
58
|
+
>
|
|
59
|
+
>()
|
|
60
|
+
|
|
61
|
+
checkFields<
|
|
62
|
+
Diff<
|
|
63
|
+
{
|
|
64
|
+
__tag__: 'GET',
|
|
65
|
+
__return_type__: Response | void | never | Promise<Response | void | never>
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
__tag__: 'GET',
|
|
69
|
+
__return_type__: ReturnType<MaybeField<TEntry, 'GET'>>
|
|
70
|
+
},
|
|
71
|
+
'GET'
|
|
72
|
+
>
|
|
73
|
+
>()
|
|
74
|
+
}
|
|
75
|
+
// Check the prop type of the entry function
|
|
76
|
+
if ('HEAD' in entry) {
|
|
77
|
+
checkFields<
|
|
78
|
+
Diff<
|
|
79
|
+
ParamCheck<Request | NextRequest>,
|
|
80
|
+
{
|
|
81
|
+
__tag__: 'HEAD'
|
|
82
|
+
__param_position__: 'first'
|
|
83
|
+
__param_type__: FirstArg<MaybeField<TEntry, 'HEAD'>>
|
|
84
|
+
},
|
|
85
|
+
'HEAD'
|
|
86
|
+
>
|
|
87
|
+
>()
|
|
88
|
+
checkFields<
|
|
89
|
+
Diff<
|
|
90
|
+
ParamCheck<RouteContext>,
|
|
91
|
+
{
|
|
92
|
+
__tag__: 'HEAD'
|
|
93
|
+
__param_position__: 'second'
|
|
94
|
+
__param_type__: SecondArg<MaybeField<TEntry, 'HEAD'>>
|
|
95
|
+
},
|
|
96
|
+
'HEAD'
|
|
97
|
+
>
|
|
98
|
+
>()
|
|
99
|
+
|
|
100
|
+
checkFields<
|
|
101
|
+
Diff<
|
|
102
|
+
{
|
|
103
|
+
__tag__: 'HEAD',
|
|
104
|
+
__return_type__: Response | void | never | Promise<Response | void | never>
|
|
105
|
+
},
|
|
106
|
+
{
|
|
107
|
+
__tag__: 'HEAD',
|
|
108
|
+
__return_type__: ReturnType<MaybeField<TEntry, 'HEAD'>>
|
|
109
|
+
},
|
|
110
|
+
'HEAD'
|
|
111
|
+
>
|
|
112
|
+
>()
|
|
113
|
+
}
|
|
114
|
+
// Check the prop type of the entry function
|
|
115
|
+
if ('OPTIONS' in entry) {
|
|
116
|
+
checkFields<
|
|
117
|
+
Diff<
|
|
118
|
+
ParamCheck<Request | NextRequest>,
|
|
119
|
+
{
|
|
120
|
+
__tag__: 'OPTIONS'
|
|
121
|
+
__param_position__: 'first'
|
|
122
|
+
__param_type__: FirstArg<MaybeField<TEntry, 'OPTIONS'>>
|
|
123
|
+
},
|
|
124
|
+
'OPTIONS'
|
|
125
|
+
>
|
|
126
|
+
>()
|
|
127
|
+
checkFields<
|
|
128
|
+
Diff<
|
|
129
|
+
ParamCheck<RouteContext>,
|
|
130
|
+
{
|
|
131
|
+
__tag__: 'OPTIONS'
|
|
132
|
+
__param_position__: 'second'
|
|
133
|
+
__param_type__: SecondArg<MaybeField<TEntry, 'OPTIONS'>>
|
|
134
|
+
},
|
|
135
|
+
'OPTIONS'
|
|
136
|
+
>
|
|
137
|
+
>()
|
|
138
|
+
|
|
139
|
+
checkFields<
|
|
140
|
+
Diff<
|
|
141
|
+
{
|
|
142
|
+
__tag__: 'OPTIONS',
|
|
143
|
+
__return_type__: Response | void | never | Promise<Response | void | never>
|
|
144
|
+
},
|
|
145
|
+
{
|
|
146
|
+
__tag__: 'OPTIONS',
|
|
147
|
+
__return_type__: ReturnType<MaybeField<TEntry, 'OPTIONS'>>
|
|
148
|
+
},
|
|
149
|
+
'OPTIONS'
|
|
150
|
+
>
|
|
151
|
+
>()
|
|
152
|
+
}
|
|
153
|
+
// Check the prop type of the entry function
|
|
154
|
+
if ('POST' in entry) {
|
|
155
|
+
checkFields<
|
|
156
|
+
Diff<
|
|
157
|
+
ParamCheck<Request | NextRequest>,
|
|
158
|
+
{
|
|
159
|
+
__tag__: 'POST'
|
|
160
|
+
__param_position__: 'first'
|
|
161
|
+
__param_type__: FirstArg<MaybeField<TEntry, 'POST'>>
|
|
162
|
+
},
|
|
163
|
+
'POST'
|
|
164
|
+
>
|
|
165
|
+
>()
|
|
166
|
+
checkFields<
|
|
167
|
+
Diff<
|
|
168
|
+
ParamCheck<RouteContext>,
|
|
169
|
+
{
|
|
170
|
+
__tag__: 'POST'
|
|
171
|
+
__param_position__: 'second'
|
|
172
|
+
__param_type__: SecondArg<MaybeField<TEntry, 'POST'>>
|
|
173
|
+
},
|
|
174
|
+
'POST'
|
|
175
|
+
>
|
|
176
|
+
>()
|
|
177
|
+
|
|
178
|
+
checkFields<
|
|
179
|
+
Diff<
|
|
180
|
+
{
|
|
181
|
+
__tag__: 'POST',
|
|
182
|
+
__return_type__: Response | void | never | Promise<Response | void | never>
|
|
183
|
+
},
|
|
184
|
+
{
|
|
185
|
+
__tag__: 'POST',
|
|
186
|
+
__return_type__: ReturnType<MaybeField<TEntry, 'POST'>>
|
|
187
|
+
},
|
|
188
|
+
'POST'
|
|
189
|
+
>
|
|
190
|
+
>()
|
|
191
|
+
}
|
|
192
|
+
// Check the prop type of the entry function
|
|
193
|
+
if ('PUT' in entry) {
|
|
194
|
+
checkFields<
|
|
195
|
+
Diff<
|
|
196
|
+
ParamCheck<Request | NextRequest>,
|
|
197
|
+
{
|
|
198
|
+
__tag__: 'PUT'
|
|
199
|
+
__param_position__: 'first'
|
|
200
|
+
__param_type__: FirstArg<MaybeField<TEntry, 'PUT'>>
|
|
201
|
+
},
|
|
202
|
+
'PUT'
|
|
203
|
+
>
|
|
204
|
+
>()
|
|
205
|
+
checkFields<
|
|
206
|
+
Diff<
|
|
207
|
+
ParamCheck<RouteContext>,
|
|
208
|
+
{
|
|
209
|
+
__tag__: 'PUT'
|
|
210
|
+
__param_position__: 'second'
|
|
211
|
+
__param_type__: SecondArg<MaybeField<TEntry, 'PUT'>>
|
|
212
|
+
},
|
|
213
|
+
'PUT'
|
|
214
|
+
>
|
|
215
|
+
>()
|
|
216
|
+
|
|
217
|
+
checkFields<
|
|
218
|
+
Diff<
|
|
219
|
+
{
|
|
220
|
+
__tag__: 'PUT',
|
|
221
|
+
__return_type__: Response | void | never | Promise<Response | void | never>
|
|
222
|
+
},
|
|
223
|
+
{
|
|
224
|
+
__tag__: 'PUT',
|
|
225
|
+
__return_type__: ReturnType<MaybeField<TEntry, 'PUT'>>
|
|
226
|
+
},
|
|
227
|
+
'PUT'
|
|
228
|
+
>
|
|
229
|
+
>()
|
|
230
|
+
}
|
|
231
|
+
// Check the prop type of the entry function
|
|
232
|
+
if ('DELETE' in entry) {
|
|
233
|
+
checkFields<
|
|
234
|
+
Diff<
|
|
235
|
+
ParamCheck<Request | NextRequest>,
|
|
236
|
+
{
|
|
237
|
+
__tag__: 'DELETE'
|
|
238
|
+
__param_position__: 'first'
|
|
239
|
+
__param_type__: FirstArg<MaybeField<TEntry, 'DELETE'>>
|
|
240
|
+
},
|
|
241
|
+
'DELETE'
|
|
242
|
+
>
|
|
243
|
+
>()
|
|
244
|
+
checkFields<
|
|
245
|
+
Diff<
|
|
246
|
+
ParamCheck<RouteContext>,
|
|
247
|
+
{
|
|
248
|
+
__tag__: 'DELETE'
|
|
249
|
+
__param_position__: 'second'
|
|
250
|
+
__param_type__: SecondArg<MaybeField<TEntry, 'DELETE'>>
|
|
251
|
+
},
|
|
252
|
+
'DELETE'
|
|
253
|
+
>
|
|
254
|
+
>()
|
|
255
|
+
|
|
256
|
+
checkFields<
|
|
257
|
+
Diff<
|
|
258
|
+
{
|
|
259
|
+
__tag__: 'DELETE',
|
|
260
|
+
__return_type__: Response | void | never | Promise<Response | void | never>
|
|
261
|
+
},
|
|
262
|
+
{
|
|
263
|
+
__tag__: 'DELETE',
|
|
264
|
+
__return_type__: ReturnType<MaybeField<TEntry, 'DELETE'>>
|
|
265
|
+
},
|
|
266
|
+
'DELETE'
|
|
267
|
+
>
|
|
268
|
+
>()
|
|
269
|
+
}
|
|
270
|
+
// Check the prop type of the entry function
|
|
271
|
+
if ('PATCH' in entry) {
|
|
272
|
+
checkFields<
|
|
273
|
+
Diff<
|
|
274
|
+
ParamCheck<Request | NextRequest>,
|
|
275
|
+
{
|
|
276
|
+
__tag__: 'PATCH'
|
|
277
|
+
__param_position__: 'first'
|
|
278
|
+
__param_type__: FirstArg<MaybeField<TEntry, 'PATCH'>>
|
|
279
|
+
},
|
|
280
|
+
'PATCH'
|
|
281
|
+
>
|
|
282
|
+
>()
|
|
283
|
+
checkFields<
|
|
284
|
+
Diff<
|
|
285
|
+
ParamCheck<RouteContext>,
|
|
286
|
+
{
|
|
287
|
+
__tag__: 'PATCH'
|
|
288
|
+
__param_position__: 'second'
|
|
289
|
+
__param_type__: SecondArg<MaybeField<TEntry, 'PATCH'>>
|
|
290
|
+
},
|
|
291
|
+
'PATCH'
|
|
292
|
+
>
|
|
293
|
+
>()
|
|
294
|
+
|
|
295
|
+
checkFields<
|
|
296
|
+
Diff<
|
|
297
|
+
{
|
|
298
|
+
__tag__: 'PATCH',
|
|
299
|
+
__return_type__: Response | void | never | Promise<Response | void | never>
|
|
300
|
+
},
|
|
301
|
+
{
|
|
302
|
+
__tag__: 'PATCH',
|
|
303
|
+
__return_type__: ReturnType<MaybeField<TEntry, 'PATCH'>>
|
|
304
|
+
},
|
|
305
|
+
'PATCH'
|
|
306
|
+
>
|
|
307
|
+
>()
|
|
308
|
+
}
|
|
309
|
+
|
|
310
|
+
// Check the arguments and return type of the generateStaticParams function
|
|
311
|
+
if ('generateStaticParams' in entry) {
|
|
312
|
+
checkFields<Diff<{ params: SegmentParams }, FirstArg<MaybeField<TEntry, 'generateStaticParams'>>, 'generateStaticParams'>>()
|
|
313
|
+
checkFields<Diff<{ __tag__: 'generateStaticParams', __return_type__: any[] | Promise<any[]> }, { __tag__: 'generateStaticParams', __return_type__: ReturnType<MaybeField<TEntry, 'generateStaticParams'>> }>>()
|
|
314
|
+
}
|
|
315
|
+
|
|
316
|
+
export interface PageProps {
|
|
317
|
+
params?: Promise<SegmentParams>
|
|
318
|
+
searchParams?: Promise<any>
|
|
319
|
+
}
|
|
320
|
+
export interface LayoutProps {
|
|
321
|
+
children?: React.ReactNode
|
|
322
|
+
|
|
323
|
+
params?: Promise<SegmentParams>
|
|
324
|
+
}
|
|
325
|
+
|
|
326
|
+
// =============
|
|
327
|
+
// Utility types
|
|
328
|
+
type RevalidateRange<T> = T extends { revalidate: any } ? NonNegative<T['revalidate']> : never
|
|
329
|
+
|
|
330
|
+
// If T is unknown or any, it will be an empty {} type. Otherwise, it will be the same as Omit<T, keyof Base>.
|
|
331
|
+
type OmitWithTag<T, K extends keyof any, _M> = Omit<T, K>
|
|
332
|
+
type Diff<Base, T extends Base, Message extends string = ''> = 0 extends (1 & T) ? {} : OmitWithTag<T, keyof Base, Message>
|
|
333
|
+
|
|
334
|
+
type FirstArg<T extends Function> = T extends (...args: [infer T, any]) => any ? unknown extends T ? any : T : never
|
|
335
|
+
type SecondArg<T extends Function> = T extends (...args: [any, infer T]) => any ? unknown extends T ? any : T : never
|
|
336
|
+
type MaybeField<T, K extends string> = T extends { [k in K]: infer G } ? G extends Function ? G : never : never
|
|
337
|
+
|
|
338
|
+
type ParamCheck<T> = {
|
|
339
|
+
__tag__: string
|
|
340
|
+
__param_position__: string
|
|
341
|
+
__param_type__: T
|
|
342
|
+
}
|
|
343
|
+
|
|
344
|
+
function checkFields<_ extends { [k in keyof any]: never }>() {}
|
|
345
|
+
|
|
346
|
+
// https://github.com/sindresorhus/type-fest
|
|
347
|
+
type Numeric = number | bigint
|
|
348
|
+
type Zero = 0 | 0n
|
|
349
|
+
type Negative<T extends Numeric> = T extends Zero ? never : `${T}` extends `-${string}` ? T : never
|
|
350
|
+
type NonNegative<T extends Numeric> = T extends Zero ? T : Negative<T> extends never ? T : '__invalid_negative_number__'
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
// Do not edit this file manually
|
|
3
3
|
|
|
4
4
|
type AppRoutes = "/" | "/project" | "/review/[id]"
|
|
5
|
-
type AppRouteHandlerRoutes = "/api/bash" | "/api/chat" | "/api/chat/codex" | "/api/chat/kimi" | "/api/chat/ollama" | "/api/claude-stats" | "/api/commands" | "/api/comments" | "/api/db/columns" | "/api/db/connect" | "/api/db/disconnect" | "/api/db/export" | "/api/db/query" | "/api/db/schemas" | "/api/extension/version" | "/api/file" | "/api/files/blame" | "/api/files/clipboard" | "/api/files/copy" | "/api/files/delete" | "/api/files/expanded" | "/api/files/index" | "/api/files/init" | "/api/files/paste" | "/api/files/read" | "/api/files/readdir" | "/api/files/recent" | "/api/files/save" | "/api/files/search" | "/api/git/branch-diff" | "/api/git/branches" | "/api/git/commit-diff" | "/api/git/commits" | "/api/git/diff" | "/api/git/discard" | "/api/git/stage" | "/api/git/status" | "/api/git/unstage" | "/api/git/worktree" | "/api/global-state" | "/api/jupyter/load" | "/api/jupyter/save" | "/api/jupyter/shutdown" | "/api/lsp/definition" | "/api/lsp/hover" | "/api/lsp/references" | "/api/lsp/status" | "/api/lsp/warmup" | "/api/mysql/columns" | "/api/mysql/connect" | "/api/mysql/disconnect" | "/api/mysql/export" | "/api/mysql/query" | "/api/mysql/schemas" | "/api/neo4j/connect" | "/api/neo4j/disconnect" | "/api/neo4j/query" | "/api/neo4j/schema" | "/api/note" | "/api/ollama/models" | "/api/ollama/start" | "/api/open-cursor" | "/api/open-vscode" | "/api/pick-folder" | "/api/pinned-sessions" | "/api/project-settings" | "/api/project-state" | "/api/projects" | "/api/redis/command" | "/api/redis/connect" | "/api/redis/delete" | "/api/redis/disconnect" | "/api/redis/get" | "/api/redis/keys" | "/api/redis/set" | "/api/review" | "/api/review/[id]" | "/api/review/[id]/comments" | "/api/review/[id]/replies" | "/api/review/identify" | "/api/review/order" | "/api/review/share-info" | "/api/review/users" | "/api/scheduled-tasks" | "/api/services/config" | "/api/services/scripts" | "/api/session-by-path" | "/api/session/[sessionId]/fork" | "/api/session/[sessionId]/history" | "/api/sessions" | "/api/sessions/projects" | "/api/sessions/projects/[encodedPath]" | "/api/settings" | "/api/terminal/aliases" | "/api/terminal/autocomplete" | "/api/terminal/bubble-order" | "/api/terminal/env" | "/api/terminal/history" | "/api/version"
|
|
5
|
+
type AppRouteHandlerRoutes = "/api/bash" | "/api/chat" | "/api/chat/codex" | "/api/chat/kimi" | "/api/chat/ollama" | "/api/claude-stats" | "/api/commands" | "/api/comments" | "/api/db/columns" | "/api/db/connect" | "/api/db/disconnect" | "/api/db/export" | "/api/db/query" | "/api/db/schemas" | "/api/extension/version" | "/api/file" | "/api/files/blame" | "/api/files/clipboard" | "/api/files/copy" | "/api/files/delete" | "/api/files/expanded" | "/api/files/index" | "/api/files/init" | "/api/files/paste" | "/api/files/read" | "/api/files/readdir" | "/api/files/recent" | "/api/files/save" | "/api/files/search" | "/api/git/branch-diff" | "/api/git/branches" | "/api/git/commit-diff" | "/api/git/commits" | "/api/git/diff" | "/api/git/discard" | "/api/git/stage" | "/api/git/status" | "/api/git/unstage" | "/api/git/worktree" | "/api/global-state" | "/api/jupyter/load" | "/api/jupyter/save" | "/api/jupyter/shutdown" | "/api/lsp/definition" | "/api/lsp/hover" | "/api/lsp/references" | "/api/lsp/status" | "/api/lsp/warmup" | "/api/mysql/columns" | "/api/mysql/connect" | "/api/mysql/disconnect" | "/api/mysql/export" | "/api/mysql/query" | "/api/mysql/schemas" | "/api/neo4j/connect" | "/api/neo4j/disconnect" | "/api/neo4j/query" | "/api/neo4j/schema" | "/api/note" | "/api/ollama/models" | "/api/ollama/start" | "/api/open-cursor" | "/api/open-vscode" | "/api/pick-folder" | "/api/pinned-sessions" | "/api/project-settings" | "/api/project-state" | "/api/projects" | "/api/redis/command" | "/api/redis/connect" | "/api/redis/delete" | "/api/redis/disconnect" | "/api/redis/get" | "/api/redis/keys" | "/api/redis/set" | "/api/review" | "/api/review/[id]" | "/api/review/[id]/comments" | "/api/review/[id]/replies" | "/api/review/identify" | "/api/review/order" | "/api/review/share-info" | "/api/review/users" | "/api/scheduled-tasks" | "/api/services/config" | "/api/services/scripts" | "/api/session-by-path" | "/api/session/[sessionId]/fork" | "/api/session/[sessionId]/history" | "/api/sessions" | "/api/sessions/projects" | "/api/sessions/projects/[encodedPath]" | "/api/settings" | "/api/skills" | "/api/skills/[id]" | "/api/skills/content" | "/api/terminal/aliases" | "/api/terminal/autocomplete" | "/api/terminal/bubble-order" | "/api/terminal/env" | "/api/terminal/history" | "/api/version"
|
|
6
6
|
type PageRoutes = never
|
|
7
7
|
type LayoutRoutes = "/"
|
|
8
8
|
type RedirectRoutes = never
|
|
@@ -105,6 +105,9 @@ interface ParamMap {
|
|
|
105
105
|
"/api/sessions/projects": {}
|
|
106
106
|
"/api/sessions/projects/[encodedPath]": { "encodedPath": string; }
|
|
107
107
|
"/api/settings": {}
|
|
108
|
+
"/api/skills": {}
|
|
109
|
+
"/api/skills/[id]": { "id": string; }
|
|
110
|
+
"/api/skills/content": {}
|
|
108
111
|
"/api/terminal/aliases": {}
|
|
109
112
|
"/api/terminal/autocomplete": {}
|
|
110
113
|
"/api/terminal/bubble-order": {}
|
|
@@ -911,6 +911,33 @@ type RouteHandlerConfig<Route extends AppRouteHandlerRoutes = AppRouteHandlerRou
|
|
|
911
911
|
type __Unused = __Check
|
|
912
912
|
}
|
|
913
913
|
|
|
914
|
+
// Validate ../../src/app/api/skills/[id]/route.ts
|
|
915
|
+
{
|
|
916
|
+
type __IsExpected<Specific extends RouteHandlerConfig<"/api/skills/[id]">> = Specific
|
|
917
|
+
const handler = {} as typeof import("../../src/app/api/skills/[id]/route.js")
|
|
918
|
+
type __Check = __IsExpected<typeof handler>
|
|
919
|
+
// @ts-ignore
|
|
920
|
+
type __Unused = __Check
|
|
921
|
+
}
|
|
922
|
+
|
|
923
|
+
// Validate ../../src/app/api/skills/content/route.ts
|
|
924
|
+
{
|
|
925
|
+
type __IsExpected<Specific extends RouteHandlerConfig<"/api/skills/content">> = Specific
|
|
926
|
+
const handler = {} as typeof import("../../src/app/api/skills/content/route.js")
|
|
927
|
+
type __Check = __IsExpected<typeof handler>
|
|
928
|
+
// @ts-ignore
|
|
929
|
+
type __Unused = __Check
|
|
930
|
+
}
|
|
931
|
+
|
|
932
|
+
// Validate ../../src/app/api/skills/route.ts
|
|
933
|
+
{
|
|
934
|
+
type __IsExpected<Specific extends RouteHandlerConfig<"/api/skills">> = Specific
|
|
935
|
+
const handler = {} as typeof import("../../src/app/api/skills/route.js")
|
|
936
|
+
type __Check = __IsExpected<typeof handler>
|
|
937
|
+
// @ts-ignore
|
|
938
|
+
type __Unused = __Check
|
|
939
|
+
}
|
|
940
|
+
|
|
914
941
|
// Validate ../../src/app/api/terminal/aliases/route.ts
|
|
915
942
|
{
|
|
916
943
|
type __IsExpected<Specific extends RouteHandlerConfig<"/api/terminal/aliases">> = Specific
|
package/bin/cock-browser.mjs
CHANGED
|
@@ -225,6 +225,66 @@ async function fetchBrowserInfo(shortId) {
|
|
|
225
225
|
}
|
|
226
226
|
}
|
|
227
227
|
|
|
228
|
+
// Chunked evaluate result resolver
|
|
229
|
+
//
|
|
230
|
+
// Chrome extension 的 runtime messaging 在 sendResponse 边界有一个 ~8 KiB 的
|
|
231
|
+
// 隐性 structured-clone 截断点;为了避免 evaluate 大结果被默默截掉,
|
|
232
|
+
// extension 侧会把 >6 KiB 的结果暂存到 page window 上的一个 Map,
|
|
233
|
+
// 返回一个 { __cockpit_chunked: true, token, totalBytes, isString } 的
|
|
234
|
+
// descriptor。这里遇到 descriptor 就自动走 evaluate_chunk action 把完整
|
|
235
|
+
// payload 拉回来,对上层 formatOutput 完全透明。
|
|
236
|
+
async function fetchOneChunk(baseUrl, id, token, offset, cmdTimeout) {
|
|
237
|
+
const resp = await fetch(`${baseUrl}/api/browser/evaluate_chunk`, {
|
|
238
|
+
method: 'POST',
|
|
239
|
+
headers: { 'Content-Type': 'application/json' },
|
|
240
|
+
body: JSON.stringify({
|
|
241
|
+
id,
|
|
242
|
+
params: { token, offset, size: 5000 },
|
|
243
|
+
timeout: Math.max(5000, Math.min(cmdTimeout, 15000)),
|
|
244
|
+
}),
|
|
245
|
+
signal: AbortSignal.timeout(20000),
|
|
246
|
+
});
|
|
247
|
+
const j = await resp.json();
|
|
248
|
+
if (!j.ok) throw new Error(`evaluate_chunk HTTP failed: ${j.error || 'unknown'}`);
|
|
249
|
+
const r = j.data;
|
|
250
|
+
if (!r || r.error) throw new Error(`evaluate_chunk error: ${r?.error || 'empty response'}`);
|
|
251
|
+
return r; // { chunk, done, nextOffset, totalBytes, isString }
|
|
252
|
+
}
|
|
253
|
+
|
|
254
|
+
async function resolveChunkedDescriptor(baseUrl, id, descriptor, cmdTimeout) {
|
|
255
|
+
const { token, totalBytes, isString } = descriptor;
|
|
256
|
+
const parts = [];
|
|
257
|
+
let offset = 0;
|
|
258
|
+
let iterations = 0;
|
|
259
|
+
while (offset < totalBytes) {
|
|
260
|
+
if (++iterations > 2000) throw new Error('evaluate chunking: too many iterations (>2000)');
|
|
261
|
+
const r = await fetchOneChunk(baseUrl, id, token, offset, cmdTimeout);
|
|
262
|
+
parts.push(r.chunk);
|
|
263
|
+
offset = r.nextOffset;
|
|
264
|
+
if (r.done) break;
|
|
265
|
+
}
|
|
266
|
+
const full = parts.join('');
|
|
267
|
+
if (isString) return full;
|
|
268
|
+
try {
|
|
269
|
+
return JSON.parse(full);
|
|
270
|
+
} catch (err) {
|
|
271
|
+
throw new Error(`evaluate chunking: concatenated payload is not valid JSON (${err.message}); raw length=${full.length}`);
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
|
|
275
|
+
async function autoResolveChunked(baseUrl, id, data, cmdTimeout) {
|
|
276
|
+
if (data && typeof data === 'object') {
|
|
277
|
+
if (data.__cockpit_chunked === true && typeof data.token === 'string') {
|
|
278
|
+
return await resolveChunkedDescriptor(baseUrl, id, data, cmdTimeout);
|
|
279
|
+
}
|
|
280
|
+
// allFrames=true 聚合时可能得到数组,每一项都可能是独立 chunked
|
|
281
|
+
if (Array.isArray(data)) {
|
|
282
|
+
return Promise.all(data.map(item => autoResolveChunked(baseUrl, id, item, cmdTimeout)));
|
|
283
|
+
}
|
|
284
|
+
}
|
|
285
|
+
return data;
|
|
286
|
+
}
|
|
287
|
+
|
|
228
288
|
// Send request
|
|
229
289
|
async function run() {
|
|
230
290
|
// Only id provided without action → show help + status
|
|
@@ -273,8 +333,12 @@ async function run() {
|
|
|
273
333
|
process.exit(1);
|
|
274
334
|
}
|
|
275
335
|
|
|
336
|
+
// 大结果由 extension 端自动 stash 并返回 chunked descriptor;
|
|
337
|
+
// 这里透明地把完整内容拉回来,调用方看不到 chunking 细节。
|
|
338
|
+
const resolved = await autoResolveChunked(baseUrl, id, data.data, timeout);
|
|
339
|
+
|
|
276
340
|
// Format output
|
|
277
|
-
await formatOutput(action,
|
|
341
|
+
await formatOutput(action, resolved);
|
|
278
342
|
} catch (err) {
|
|
279
343
|
if (err.name === 'TimeoutError' || err.code === 'ABORT_ERR') {
|
|
280
344
|
console.error(`Timeout: No response within ${timeout}ms. Is the browser bubble connected?`);
|
|
@@ -446,6 +446,8 @@ const handlers = {
|
|
|
446
446
|
// 通过 background.js 的 chrome.scripting.executeScript 在 main world 执行
|
|
447
447
|
// 不受页面 CSP 限制,可访问页面 JS 变量(React state 等)
|
|
448
448
|
// allFrames: true → 在所有 frame 中执行(解决跨域 iframe 访问问题)
|
|
449
|
+
// 大结果 (>6 KiB) 会在 MAIN world 被 auto-stash 并以 descriptor 形式返回;
|
|
450
|
+
// cock-browser CLI 识别 descriptor 后会通过 evaluate_chunk 回填内容。
|
|
449
451
|
return new Promise((resolve) => {
|
|
450
452
|
_chrome.runtime.sendMessage({ type: 'cockpit:evaluate', js, allFrames: !!allFrames }, (response) => {
|
|
451
453
|
if (_chrome.runtime.lastError) {
|
|
@@ -458,6 +460,40 @@ const handlers = {
|
|
|
458
460
|
});
|
|
459
461
|
},
|
|
460
462
|
|
|
463
|
+
evaluate_chunk: async ({ token, offset = 0, size = 5000 }) => {
|
|
464
|
+
// 读取 MAIN-world stash 里某个 token 的一段内容。token 由上一次 evaluate
|
|
465
|
+
// 返回的 descriptor 提供。注意 stash 在 page window 上,页面导航/刷新会丢;
|
|
466
|
+
// 必须同一个浏览器 session、同一个页面上下文。
|
|
467
|
+
//
|
|
468
|
+
// 返回 { chunk, done, nextOffset, totalBytes, isString };
|
|
469
|
+
// size 默认 5000 以确保每次返回对象 JSON 序列化 < 6000,远低于 Chrome
|
|
470
|
+
// 在 chrome.runtime 消息边界的 ~8192 字节隐性截断阈值。
|
|
471
|
+
const offNum = Number(offset) || 0;
|
|
472
|
+
const szNum = Math.min(Math.max(1, Number(size) || 5000), 7000);
|
|
473
|
+
const tokStr = String(token);
|
|
474
|
+
const js =
|
|
475
|
+
'(()=>{' +
|
|
476
|
+
'const M=window.__cockpit_eval_stash_v1__;' +
|
|
477
|
+
"if(!M)return{error:'stash not initialised — nothing has been chunked, or page was reloaded after evaluate'};" +
|
|
478
|
+
'const e=M.get(' + JSON.stringify(tokStr) + ');' +
|
|
479
|
+
"if(!e)return{error:'token not found or expired (stash TTL is 10 min, and page navigation clears it)'};" +
|
|
480
|
+
'const off=' + offNum + ';' +
|
|
481
|
+
'const sz=' + szNum + ';' +
|
|
482
|
+
'const chunk=e.payload.slice(off,off+sz);' +
|
|
483
|
+
'const nextOffset=off+chunk.length;' +
|
|
484
|
+
'const done=nextOffset>=e.payload.length;' +
|
|
485
|
+
'if(done)M.delete(' + JSON.stringify(tokStr) + ');' +
|
|
486
|
+
'return{chunk,done,nextOffset,totalBytes:e.payload.length,isString:e.isString};' +
|
|
487
|
+
'})()';
|
|
488
|
+
return new Promise((resolve) => {
|
|
489
|
+
_chrome.runtime.sendMessage({ type: 'cockpit:evaluate', js, allFrames: false }, (response) => {
|
|
490
|
+
if (_chrome.runtime.lastError) { resolve({ error: _chrome.runtime.lastError.message }); return; }
|
|
491
|
+
if (response?.ok) resolve(response.data);
|
|
492
|
+
else resolve({ error: response?.error || 'evaluate_chunk failed' });
|
|
493
|
+
});
|
|
494
|
+
});
|
|
495
|
+
},
|
|
496
|
+
|
|
461
497
|
console: async ({ level, clear: doClear }) => {
|
|
462
498
|
if (doClear) { consoleBuffer.length = 0; return { cleared: true }; }
|
|
463
499
|
return level ? consoleBuffer.filter(m => m.level === level) : [...consoleBuffer];
|
|
@@ -250,18 +250,65 @@ chrome.runtime.onMessage.addListener((message, sender, sendResponse) => {
|
|
|
250
250
|
target,
|
|
251
251
|
world: 'MAIN',
|
|
252
252
|
func: async (code) => {
|
|
253
|
+
// Chrome extension messaging 在 sendResponse 的 structured clone 边界
|
|
254
|
+
// 存在一个隐性约 8 KiB 的截断点(复现于 session 6910d071 的 evaluate
|
|
255
|
+
// 输出精确停在 8192 字节)。为避免大结果被默默截掉,我们在 MAIN
|
|
256
|
+
// world 里先评估结果;如果序列化后 > CHUNK_THRESHOLD,把完整负载
|
|
257
|
+
// 暂存到页面 window 上的一个 Map,只把一个 descriptor 返回给上层。
|
|
258
|
+
// cock-browser CLI 会识别这个 descriptor 并通过 evaluate_chunk
|
|
259
|
+
// action 分块读取、拼回完整内容,对调用方透明。
|
|
260
|
+
const CHUNK_THRESHOLD = 6000;
|
|
261
|
+
|
|
262
|
+
const maybeChunk = (data) => {
|
|
263
|
+
let serialized;
|
|
264
|
+
const isString = typeof data === 'string';
|
|
265
|
+
try {
|
|
266
|
+
serialized = isString
|
|
267
|
+
? data
|
|
268
|
+
: (data === null || data === undefined)
|
|
269
|
+
? ''
|
|
270
|
+
: JSON.stringify(data);
|
|
271
|
+
} catch {
|
|
272
|
+
// 不可序列化(循环引用等)— 原样返回,让上层照原路径处理
|
|
273
|
+
return { ok: true, data };
|
|
274
|
+
}
|
|
275
|
+
if (!serialized || serialized.length <= CHUNK_THRESHOLD) {
|
|
276
|
+
return { ok: true, data };
|
|
277
|
+
}
|
|
278
|
+
const W = window;
|
|
279
|
+
if (!W.__cockpit_eval_stash_v1__) W.__cockpit_eval_stash_v1__ = new Map();
|
|
280
|
+
const stash = W.__cockpit_eval_stash_v1__;
|
|
281
|
+
// 10 min GC:避免长会话页面堆积大 payload
|
|
282
|
+
const cutoff = Date.now() - 10 * 60 * 1000;
|
|
283
|
+
for (const [k, v] of stash) {
|
|
284
|
+
if (v.created < cutoff) stash.delete(k);
|
|
285
|
+
}
|
|
286
|
+
const token =
|
|
287
|
+
'ck-' + Date.now().toString(36) + '-' + Math.random().toString(36).slice(2, 8);
|
|
288
|
+
stash.set(token, { payload: serialized, isString, created: Date.now() });
|
|
289
|
+
return {
|
|
290
|
+
ok: true,
|
|
291
|
+
data: {
|
|
292
|
+
__cockpit_chunked: true,
|
|
293
|
+
token,
|
|
294
|
+
totalBytes: serialized.length,
|
|
295
|
+
isString,
|
|
296
|
+
},
|
|
297
|
+
};
|
|
298
|
+
};
|
|
299
|
+
|
|
253
300
|
// 层 1: 直接 eval — 覆盖表达式、多语句、IIFE、模板字面量等
|
|
254
301
|
// eval 自动返回最后一个表达式的值(类似 CDP replMode)
|
|
255
302
|
try {
|
|
256
303
|
const result = (0, eval)(code);
|
|
257
304
|
const data = result instanceof Promise ? await result : result;
|
|
258
|
-
return
|
|
305
|
+
return maybeChunk(data);
|
|
259
306
|
} catch (e1) {
|
|
260
307
|
// 层 2: AsyncFunction fallback — 覆盖含顶层 await 的代码
|
|
261
308
|
try {
|
|
262
309
|
const AF = Object.getPrototypeOf(async function(){}).constructor;
|
|
263
310
|
const data = await new AF(code)();
|
|
264
|
-
return
|
|
311
|
+
return maybeChunk(data);
|
|
265
312
|
} catch {
|
|
266
313
|
return { ok: false, error: e1.message };
|
|
267
314
|
}
|
|
@@ -12,6 +12,7 @@ var PINNED_SESSIONS_FILE = join(COCKPIT_DIR, "pinned-sessions.json");
|
|
|
12
12
|
var NOTE_FILE = join(COCKPIT_DIR, "note.md");
|
|
13
13
|
var SCHEDULED_TASKS_FILE = join(COCKPIT_DIR, "scheduled-tasks.json");
|
|
14
14
|
var SETTINGS_FILE = join(COCKPIT_DIR, "settings.json");
|
|
15
|
+
var SKILLS_FILE = join(COCKPIT_DIR, "skills.json");
|
|
15
16
|
var REVIEW_DIR = join(COCKPIT_DIR, "review");
|
|
16
17
|
var REVIEW_SIGNAL_FILE = join(REVIEW_DIR, "_signal");
|
|
17
18
|
var CLAUDE_DIR = join(HOME_DIR, ".claude");
|
package/dist/scheduledTasks.mjs
CHANGED
package/dist/wsServer.mjs
CHANGED
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";exports.id=4042,exports.ids=[4042],exports.modules={24042:(a,b,c)=>{c.d(b,{createRadarServices:()=>d.f});var d=c(16277);c(66034)}};
|