@surething/cockpit 1.0.271 → 1.0.273
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 +4 -3
- package/.next-prod/build-manifest.json +2 -2
- package/.next-prod/cockpit-build.json +1 -1
- package/.next-prod/prerender-manifest.json +3 -3
- package/.next-prod/routes-manifest.json +6 -0
- package/.next-prod/server/app/_global-error/page.js +2 -2
- 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 +1 -1
- 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/_tree.segment.rsc +1 -1
- package/.next-prod/server/app/_not-found/page.js +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/_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/_tree.segment.rsc +2 -2
- package/.next-prod/server/app/api/agent/test/route.js +1 -1
- package/.next-prod/server/app/api/agent/test/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/bash/route.js +1 -1
- package/.next-prod/server/app/api/bash/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/chat/codex/route.js +1 -1
- package/.next-prod/server/app/api/chat/codex/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/chat/deepseek/route.js +1 -1
- package/.next-prod/server/app/api/chat/deepseek/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/chat/glm/route.js +1 -1
- package/.next-prod/server/app/api/chat/glm/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/chat/kimi/route.js +1 -1
- package/.next-prod/server/app/api/chat/kimi/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/chat/ollama/route.js +1 -1
- package/.next-prod/server/app/api/chat/ollama/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/chat/route.js +1 -1
- package/.next-prod/server/app/api/chat/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/chat/stop/route.js +1 -1
- package/.next-prod/server/app/api/chat/stop/route.js.nft.json +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/commands/route.js +1 -1
- package/.next-prod/server/app/api/commands/route.js.nft.json +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/db/columns/route.js +1 -1
- package/.next-prod/server/app/api/db/columns/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/db/connect/route.js +2 -2
- package/.next-prod/server/app/api/db/connect/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/db/disconnect/route.js +1 -1
- package/.next-prod/server/app/api/db/disconnect/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/db/export/route.js +1 -1
- package/.next-prod/server/app/api/db/export/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/db/query/route.js +1 -1
- package/.next-prod/server/app/api/db/query/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/db/schemas/route.js +2 -2
- package/.next-prod/server/app/api/db/schemas/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/deepseek/balance/route.js +1 -1
- package/.next-prod/server/app/api/deepseek/balance/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/deepseek/credentials/route.js +1 -1
- package/.next-prod/server/app/api/deepseek/credentials/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/deepseek/models/route.js +1 -1
- package/.next-prod/server/app/api/deepseek/models/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/dev/spans/route.js +1 -1
- package/.next-prod/server/app/api/dev/spans/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/extension/version/route.js +1 -1
- package/.next-prod/server/app/api/extension/version/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/file/route.js +1 -1
- package/.next-prod/server/app/api/file/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/files/blame/route.js +1 -1
- package/.next-prod/server/app/api/files/blame/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/files/clipboard/route.js +1 -1
- package/.next-prod/server/app/api/files/clipboard/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/files/copy/route.js +1 -1
- package/.next-prod/server/app/api/files/copy/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/files/delete/route.js +1 -1
- package/.next-prod/server/app/api/files/delete/route.js.nft.json +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/index/route.js +1 -1
- package/.next-prod/server/app/api/files/index/route.js.nft.json +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/paste/route.js +1 -1
- package/.next-prod/server/app/api/files/paste/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/files/read/route.js +1 -1
- package/.next-prod/server/app/api/files/read/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/files/readdir/route.js +1 -1
- package/.next-prod/server/app/api/files/readdir/route.js.nft.json +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/save/route.js +1 -1
- package/.next-prod/server/app/api/files/save/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/files/search/route.js +1 -1
- package/.next-prod/server/app/api/files/search/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/files/stat/route.js +1 -1
- package/.next-prod/server/app/api/files/stat/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/files/text/route.js +1 -1
- package/.next-prod/server/app/api/files/text/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/git/blob/route.js +1 -1
- package/.next-prod/server/app/api/git/blob/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/git/branch-diff/route.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/branches/route.js +1 -1
- package/.next-prod/server/app/api/git/branches/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/git/commit-diff/route.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/commits/route.js +1 -1
- package/.next-prod/server/app/api/git/commits/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/git/current-branch/route.js +1 -1
- package/.next-prod/server/app/api/git/current-branch/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/git/diff/route.js +1 -1
- package/.next-prod/server/app/api/git/diff/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/git/discard/route.js +1 -1
- package/.next-prod/server/app/api/git/discard/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/git/stage/route.js +1 -1
- package/.next-prod/server/app/api/git/stage/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/git/status/route.js +1 -1
- package/.next-prod/server/app/api/git/status/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/git/unstage/route.js +1 -1
- package/.next-prod/server/app/api/git/unstage/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/git/worktree/route.js +1 -1
- package/.next-prod/server/app/api/git/worktree/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/glm/credentials/route.js +1 -1
- package/.next-prod/server/app/api/glm/credentials/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/glm/models/route.js +1 -1
- package/.next-prod/server/app/api/glm/models/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/glm/usage/route.js +1 -1
- package/.next-prod/server/app/api/glm/usage/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/global-state/route.js +1 -1
- package/.next-prod/server/app/api/global-state/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/health/route.js +1 -1
- package/.next-prod/server/app/api/health/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/html-apps/[id]/route.js +1 -1
- package/.next-prod/server/app/api/html-apps/[id]/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/html-apps/route.js +1 -1
- package/.next-prod/server/app/api/html-apps/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/kimi/credentials/route.js +1 -1
- package/.next-prod/server/app/api/kimi/credentials/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/kimi/models/route.js +1 -1
- package/.next-prod/server/app/api/kimi/models/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/kimi/usage/route.js +1 -1
- package/.next-prod/server/app/api/kimi/usage/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/lsp/definition/route.js +1 -1
- package/.next-prod/server/app/api/lsp/definition/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/lsp/hover/route.js +1 -1
- package/.next-prod/server/app/api/lsp/hover/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/lsp/references/route.js +1 -1
- package/.next-prod/server/app/api/lsp/references/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/lsp/status/route.js +1 -1
- package/.next-prod/server/app/api/lsp/status/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/lsp/warmup/route.js +1 -1
- package/.next-prod/server/app/api/lsp/warmup/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/mysql/columns/route.js +2 -2
- package/.next-prod/server/app/api/mysql/columns/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/mysql/connect/route.js +1 -1
- package/.next-prod/server/app/api/mysql/connect/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/mysql/disconnect/route.js +1 -1
- package/.next-prod/server/app/api/mysql/disconnect/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/mysql/export/route.js +1 -1
- package/.next-prod/server/app/api/mysql/export/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/mysql/query/route.js +1 -1
- package/.next-prod/server/app/api/mysql/query/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/mysql/schemas/route.js +2 -2
- package/.next-prod/server/app/api/mysql/schemas/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/neo4j/connect/route.js +1 -1
- package/.next-prod/server/app/api/neo4j/connect/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/neo4j/disconnect/route.js +1 -1
- package/.next-prod/server/app/api/neo4j/disconnect/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/neo4j/query/route.js +1 -1
- package/.next-prod/server/app/api/neo4j/query/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/neo4j/schema/route.js +1 -1
- package/.next-prod/server/app/api/neo4j/schema/route.js.nft.json +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/ollama/config/route.js +1 -1
- package/.next-prod/server/app/api/ollama/config/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/ollama/models/route.js +1 -1
- package/.next-prod/server/app/api/ollama/models/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/ollama/start/route.js +1 -1
- package/.next-prod/server/app/api/ollama/start/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/open-cursor/route.js +1 -1
- package/.next-prod/server/app/api/open-cursor/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/open-vscode/route.js +1 -1
- package/.next-prod/server/app/api/open-vscode/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/pick-folder/route.js +1 -1
- package/.next-prod/server/app/api/pick-folder/route.js.nft.json +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/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-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/projectGraph/affected/route.js +1 -1
- package/.next-prod/server/app/api/projectGraph/affected/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/projectGraph/callees/route.js +1 -1
- package/.next-prod/server/app/api/projectGraph/callees/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/projectGraph/callers/route.js +1 -1
- package/.next-prod/server/app/api/projectGraph/callers/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/projectGraph/coedit/route.js +1 -1
- package/.next-prod/server/app/api/projectGraph/coedit/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/projectGraph/context/route.js +1 -1
- package/.next-prod/server/app/api/projectGraph/context/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/projectGraph/file/route.js +1 -1
- package/.next-prod/server/app/api/projectGraph/file/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/projectGraph/file-functions/route.js +1 -1
- package/.next-prod/server/app/api/projectGraph/file-functions/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/projectGraph/impact/route.js +1 -1
- package/.next-prod/server/app/api/projectGraph/impact/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/projectGraph/related/route.js +1 -1
- package/.next-prod/server/app/api/projectGraph/related/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/projectGraph/risk/route.js +1 -1
- package/.next-prod/server/app/api/projectGraph/risk/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/projectGraph/search/route.js +1 -1
- package/.next-prod/server/app/api/projectGraph/search/route.js.nft.json +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/prompts/config/route.js +1 -1
- package/.next-prod/server/app/api/prompts/config/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/push/public-key/route.js +1 -1
- package/.next-prod/server/app/api/push/public-key/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/push/subscribe/route.js +1 -1
- package/.next-prod/server/app/api/push/subscribe/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/push/unsubscribe/route.js +1 -1
- package/.next-prod/server/app/api/push/unsubscribe/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/redis/command/route.js +1 -1
- package/.next-prod/server/app/api/redis/command/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/redis/connect/route.js +1 -1
- package/.next-prod/server/app/api/redis/connect/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/redis/delete/route.js +1 -1
- package/.next-prod/server/app/api/redis/delete/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/redis/disconnect/route.js +1 -1
- package/.next-prod/server/app/api/redis/disconnect/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/redis/get/route.js +1 -1
- package/.next-prod/server/app/api/redis/get/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/redis/keys/route.js +1 -1
- package/.next-prod/server/app/api/redis/keys/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/redis/set/route.js +1 -1
- package/.next-prod/server/app/api/redis/set/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/restart/route.js +1 -1
- package/.next-prod/server/app/api/restart/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/review/[id]/comments/route.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]/replies/route.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]/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/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/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/route.js +1 -1
- package/.next-prod/server/app/api/review/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/review/share-info/route.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/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/scheduled-tasks/route.js +2 -2
- package/.next-prod/server/app/api/scheduled-tasks/route.js.nft.json +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/scripts/route.js +1 -1
- package/.next-prod/server/app/api/services/scripts/route.js.nft.json +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]/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/user-messages/route.js +1 -0
- package/.next-prod/server/app/api/session/user-messages/route.js.nft.json +1 -0
- package/.next-prod/server/app/api/session/user-messages/route_client-reference-manifest.js +1 -0
- package/.next-prod/server/app/api/session-by-path/route.js +1 -3
- package/.next-prod/server/app/api/session-by-path/route.js.nft.json +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/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/route.js +1 -1
- package/.next-prod/server/app/api/sessions/route.js.nft.json +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/shutdown/route.js +1 -1
- package/.next-prod/server/app/api/shutdown/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/skills/[id]/route.js +1 -1
- package/.next-prod/server/app/api/skills/[id]/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/skills/content/route.js +1 -1
- package/.next-prod/server/app/api/skills/content/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/skills/route.js +1 -1
- package/.next-prod/server/app/api/skills/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/snapshots/blob/route.js +1 -1
- package/.next-prod/server/app/api/snapshots/blob/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/snapshots/diff/route.js +1 -1
- package/.next-prod/server/app/api/snapshots/diff/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/snapshots/route.js +1 -1
- package/.next-prod/server/app/api/snapshots/route.js.nft.json +1 -1
- 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/autocomplete/route.js +1 -1
- package/.next-prod/server/app/api/terminal/autocomplete/route.js.nft.json +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/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/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/update/route.js +1 -1
- package/.next-prod/server/app/api/update/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/update-state/route.js +1 -1
- package/.next-prod/server/app/api/update-state/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/version/route.js +1 -1
- package/.next-prod/server/app/api/version/route.js.nft.json +1 -1
- package/.next-prod/server/app/apps/[...path]/route.js +1 -1
- package/.next-prod/server/app/apps/[...path]/route.js.nft.json +1 -1
- package/.next-prod/server/app/favicon.ico/route.js +1 -1
- package/.next-prod/server/app/favicon.ico/route.js.nft.json +1 -1
- package/.next-prod/server/app/m/page.js +1 -1
- package/.next-prod/server/app/m/page.js.nft.json +1 -1
- package/.next-prod/server/app/m/page_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/manifest.webmanifest/route.js +2 -2
- package/.next-prod/server/app/manifest.webmanifest/route.js.nft.json +1 -1
- package/.next-prod/server/app/page.js +1 -1
- 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 +1 -1
- 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 +4 -3
- package/.next-prod/server/chunks/1237.js +1 -0
- package/.next-prod/server/chunks/4949.js +1 -1
- package/.next-prod/server/chunks/{5766.js → 5433.js} +4 -4
- package/.next-prod/server/chunks/5750.js +18 -18
- package/.next-prod/server/chunks/6548.js +1 -1
- package/.next-prod/server/chunks/8616.js +3 -0
- package/.next-prod/server/middleware-build-manifest.js +1 -1
- package/.next-prod/server/pages/404.html +2 -2
- package/.next-prod/server/pages/500.html +1 -1
- package/.next-prod/server/server-reference-manifest.json +1 -1
- package/.next-prod/static/chunks/5390-e2c2386e8288a254.js +32 -0
- package/.next-prod/static/chunks/7184-8b7ad4ccea8b15a3.js +17 -0
- package/.next-prod/static/chunks/{9200-2d063007a9a86cd2.js → 7570-ebe01cce6f28a79f.js} +2 -2
- package/.next-prod/static/chunks/9092-a942df8114966b59.js +716 -0
- package/.next-prod/static/chunks/app/_global-error/page-0bc5d188dc4650ab.js +1 -0
- package/.next-prod/static/chunks/app/api/agent/test/route-0bc5d188dc4650ab.js +1 -0
- package/.next-prod/static/chunks/app/api/bash/route-0bc5d188dc4650ab.js +1 -0
- package/.next-prod/static/chunks/app/api/chat/codex/route-0bc5d188dc4650ab.js +1 -0
- package/.next-prod/static/chunks/app/api/chat/deepseek/route-0bc5d188dc4650ab.js +1 -0
- package/.next-prod/static/chunks/app/api/chat/glm/route-0bc5d188dc4650ab.js +1 -0
- package/.next-prod/static/chunks/app/api/chat/kimi/route-0bc5d188dc4650ab.js +1 -0
- package/.next-prod/static/chunks/app/api/chat/ollama/route-0bc5d188dc4650ab.js +1 -0
- package/.next-prod/static/chunks/app/api/chat/route-0bc5d188dc4650ab.js +1 -0
- package/.next-prod/static/chunks/app/api/chat/stop/route-0bc5d188dc4650ab.js +1 -0
- package/.next-prod/static/chunks/app/api/claude-stats/route-0bc5d188dc4650ab.js +1 -0
- package/.next-prod/static/chunks/app/api/commands/route-0bc5d188dc4650ab.js +1 -0
- package/.next-prod/static/chunks/app/api/comments/route-0bc5d188dc4650ab.js +1 -0
- package/.next-prod/static/chunks/app/api/db/columns/route-0bc5d188dc4650ab.js +1 -0
- package/.next-prod/static/chunks/app/api/db/connect/route-0bc5d188dc4650ab.js +1 -0
- package/.next-prod/static/chunks/app/api/db/disconnect/route-0bc5d188dc4650ab.js +1 -0
- package/.next-prod/static/chunks/app/api/db/export/route-0bc5d188dc4650ab.js +1 -0
- package/.next-prod/static/chunks/app/api/db/query/route-0bc5d188dc4650ab.js +1 -0
- package/.next-prod/static/chunks/app/api/db/schemas/route-0bc5d188dc4650ab.js +1 -0
- package/.next-prod/static/chunks/app/api/deepseek/balance/route-0bc5d188dc4650ab.js +1 -0
- package/.next-prod/static/chunks/app/api/deepseek/credentials/route-0bc5d188dc4650ab.js +1 -0
- package/.next-prod/static/chunks/app/api/deepseek/models/route-0bc5d188dc4650ab.js +1 -0
- package/.next-prod/static/chunks/app/api/dev/spans/route-0bc5d188dc4650ab.js +1 -0
- package/.next-prod/static/chunks/app/api/extension/version/route-0bc5d188dc4650ab.js +1 -0
- package/.next-prod/static/chunks/app/api/file/route-0bc5d188dc4650ab.js +1 -0
- package/.next-prod/static/chunks/app/api/files/blame/route-0bc5d188dc4650ab.js +1 -0
- package/.next-prod/static/chunks/app/api/files/clipboard/route-0bc5d188dc4650ab.js +1 -0
- package/.next-prod/static/chunks/app/api/files/copy/route-0bc5d188dc4650ab.js +1 -0
- package/.next-prod/static/chunks/app/api/files/delete/route-0bc5d188dc4650ab.js +1 -0
- package/.next-prod/static/chunks/app/api/files/expanded/route-0bc5d188dc4650ab.js +1 -0
- package/.next-prod/static/chunks/app/api/files/index/route-0bc5d188dc4650ab.js +1 -0
- package/.next-prod/static/chunks/app/api/files/init/route-0bc5d188dc4650ab.js +1 -0
- package/.next-prod/static/chunks/app/api/files/paste/route-0bc5d188dc4650ab.js +1 -0
- package/.next-prod/static/chunks/app/api/files/read/route-0bc5d188dc4650ab.js +1 -0
- package/.next-prod/static/chunks/app/api/files/readdir/route-0bc5d188dc4650ab.js +1 -0
- package/.next-prod/static/chunks/app/api/files/recent/route-0bc5d188dc4650ab.js +1 -0
- package/.next-prod/static/chunks/app/api/files/save/route-0bc5d188dc4650ab.js +1 -0
- package/.next-prod/static/chunks/app/api/files/search/route-0bc5d188dc4650ab.js +1 -0
- package/.next-prod/static/chunks/app/api/files/stat/route-0bc5d188dc4650ab.js +1 -0
- package/.next-prod/static/chunks/app/api/files/text/route-0bc5d188dc4650ab.js +1 -0
- package/.next-prod/static/chunks/app/api/git/blob/route-0bc5d188dc4650ab.js +1 -0
- package/.next-prod/static/chunks/app/api/git/branch-diff/route-0bc5d188dc4650ab.js +1 -0
- package/.next-prod/static/chunks/app/api/git/branches/route-0bc5d188dc4650ab.js +1 -0
- package/.next-prod/static/chunks/app/api/git/commit-diff/route-0bc5d188dc4650ab.js +1 -0
- package/.next-prod/static/chunks/app/api/git/commits/route-0bc5d188dc4650ab.js +1 -0
- package/.next-prod/static/chunks/app/api/git/current-branch/route-0bc5d188dc4650ab.js +1 -0
- package/.next-prod/static/chunks/app/api/git/diff/route-0bc5d188dc4650ab.js +1 -0
- package/.next-prod/static/chunks/app/api/git/discard/route-0bc5d188dc4650ab.js +1 -0
- package/.next-prod/static/chunks/app/api/git/stage/route-0bc5d188dc4650ab.js +1 -0
- package/.next-prod/static/chunks/app/api/git/status/route-0bc5d188dc4650ab.js +1 -0
- package/.next-prod/static/chunks/app/api/git/unstage/route-0bc5d188dc4650ab.js +1 -0
- package/.next-prod/static/chunks/app/api/git/worktree/route-0bc5d188dc4650ab.js +1 -0
- package/.next-prod/static/chunks/app/api/glm/credentials/route-0bc5d188dc4650ab.js +1 -0
- package/.next-prod/static/chunks/app/api/glm/models/route-0bc5d188dc4650ab.js +1 -0
- package/.next-prod/static/chunks/app/api/glm/usage/route-0bc5d188dc4650ab.js +1 -0
- package/.next-prod/static/chunks/app/api/global-state/route-0bc5d188dc4650ab.js +1 -0
- package/.next-prod/static/chunks/app/api/health/route-0bc5d188dc4650ab.js +1 -0
- package/.next-prod/static/chunks/app/api/html-apps/[id]/route-0bc5d188dc4650ab.js +1 -0
- package/.next-prod/static/chunks/app/api/html-apps/route-0bc5d188dc4650ab.js +1 -0
- package/.next-prod/static/chunks/app/api/kimi/credentials/route-0bc5d188dc4650ab.js +1 -0
- package/.next-prod/static/chunks/app/api/kimi/models/route-0bc5d188dc4650ab.js +1 -0
- package/.next-prod/static/chunks/app/api/kimi/usage/route-0bc5d188dc4650ab.js +1 -0
- package/.next-prod/static/chunks/app/api/lsp/definition/route-0bc5d188dc4650ab.js +1 -0
- package/.next-prod/static/chunks/app/api/lsp/hover/route-0bc5d188dc4650ab.js +1 -0
- package/.next-prod/static/chunks/app/api/lsp/references/route-0bc5d188dc4650ab.js +1 -0
- package/.next-prod/static/chunks/app/api/lsp/status/route-0bc5d188dc4650ab.js +1 -0
- package/.next-prod/static/chunks/app/api/lsp/warmup/route-0bc5d188dc4650ab.js +1 -0
- package/.next-prod/static/chunks/app/api/mysql/columns/route-0bc5d188dc4650ab.js +1 -0
- package/.next-prod/static/chunks/app/api/mysql/connect/route-0bc5d188dc4650ab.js +1 -0
- package/.next-prod/static/chunks/app/api/mysql/disconnect/route-0bc5d188dc4650ab.js +1 -0
- package/.next-prod/static/chunks/app/api/mysql/export/route-0bc5d188dc4650ab.js +1 -0
- package/.next-prod/static/chunks/app/api/mysql/query/route-0bc5d188dc4650ab.js +1 -0
- package/.next-prod/static/chunks/app/api/mysql/schemas/route-0bc5d188dc4650ab.js +1 -0
- package/.next-prod/static/chunks/app/api/neo4j/connect/route-0bc5d188dc4650ab.js +1 -0
- package/.next-prod/static/chunks/app/api/neo4j/disconnect/route-0bc5d188dc4650ab.js +1 -0
- package/.next-prod/static/chunks/app/api/neo4j/query/route-0bc5d188dc4650ab.js +1 -0
- package/.next-prod/static/chunks/app/api/neo4j/schema/route-0bc5d188dc4650ab.js +1 -0
- package/.next-prod/static/chunks/app/api/note/route-0bc5d188dc4650ab.js +1 -0
- package/.next-prod/static/chunks/app/api/ollama/config/route-0bc5d188dc4650ab.js +1 -0
- package/.next-prod/static/chunks/app/api/ollama/models/route-0bc5d188dc4650ab.js +1 -0
- package/.next-prod/static/chunks/app/api/ollama/start/route-0bc5d188dc4650ab.js +1 -0
- package/.next-prod/static/chunks/app/api/open-cursor/route-0bc5d188dc4650ab.js +1 -0
- package/.next-prod/static/chunks/app/api/open-vscode/route-0bc5d188dc4650ab.js +1 -0
- package/.next-prod/static/chunks/app/api/pick-folder/route-0bc5d188dc4650ab.js +1 -0
- package/.next-prod/static/chunks/app/api/pinned-sessions/route-0bc5d188dc4650ab.js +1 -0
- package/.next-prod/static/chunks/app/api/project-settings/route-0bc5d188dc4650ab.js +1 -0
- package/.next-prod/static/chunks/app/api/project-state/route-0bc5d188dc4650ab.js +1 -0
- package/.next-prod/static/chunks/app/api/projectGraph/affected/route-0bc5d188dc4650ab.js +1 -0
- package/.next-prod/static/chunks/app/api/projectGraph/callees/route-0bc5d188dc4650ab.js +1 -0
- package/.next-prod/static/chunks/app/api/projectGraph/callers/route-0bc5d188dc4650ab.js +1 -0
- package/.next-prod/static/chunks/app/api/projectGraph/coedit/route-0bc5d188dc4650ab.js +1 -0
- package/.next-prod/static/chunks/app/api/projectGraph/context/route-0bc5d188dc4650ab.js +1 -0
- package/.next-prod/static/chunks/app/api/projectGraph/file/route-0bc5d188dc4650ab.js +1 -0
- package/.next-prod/static/chunks/app/api/projectGraph/file-functions/route-0bc5d188dc4650ab.js +1 -0
- package/.next-prod/static/chunks/app/api/projectGraph/impact/route-0bc5d188dc4650ab.js +1 -0
- package/.next-prod/static/chunks/app/api/projectGraph/related/route-0bc5d188dc4650ab.js +1 -0
- package/.next-prod/static/chunks/app/api/projectGraph/risk/route-0bc5d188dc4650ab.js +1 -0
- package/.next-prod/static/chunks/app/api/projectGraph/search/route-0bc5d188dc4650ab.js +1 -0
- package/.next-prod/static/chunks/app/api/projects/route-0bc5d188dc4650ab.js +1 -0
- package/.next-prod/static/chunks/app/api/prompts/config/route-0bc5d188dc4650ab.js +1 -0
- package/.next-prod/static/chunks/app/api/push/public-key/route-0bc5d188dc4650ab.js +1 -0
- package/.next-prod/static/chunks/app/api/push/subscribe/route-0bc5d188dc4650ab.js +1 -0
- package/.next-prod/static/chunks/app/api/push/unsubscribe/route-0bc5d188dc4650ab.js +1 -0
- package/.next-prod/static/chunks/app/api/redis/command/route-0bc5d188dc4650ab.js +1 -0
- package/.next-prod/static/chunks/app/api/redis/connect/route-0bc5d188dc4650ab.js +1 -0
- package/.next-prod/static/chunks/app/api/redis/delete/route-0bc5d188dc4650ab.js +1 -0
- package/.next-prod/static/chunks/app/api/redis/disconnect/route-0bc5d188dc4650ab.js +1 -0
- package/.next-prod/static/chunks/app/api/redis/get/route-0bc5d188dc4650ab.js +1 -0
- package/.next-prod/static/chunks/app/api/redis/keys/route-0bc5d188dc4650ab.js +1 -0
- package/.next-prod/static/chunks/app/api/redis/set/route-0bc5d188dc4650ab.js +1 -0
- package/.next-prod/static/chunks/app/api/restart/route-0bc5d188dc4650ab.js +1 -0
- package/.next-prod/static/chunks/app/api/review/[id]/comments/route-0bc5d188dc4650ab.js +1 -0
- package/.next-prod/static/chunks/app/api/review/[id]/replies/route-0bc5d188dc4650ab.js +1 -0
- package/.next-prod/static/chunks/app/api/review/[id]/route-0bc5d188dc4650ab.js +1 -0
- package/.next-prod/static/chunks/app/api/review/identify/route-0bc5d188dc4650ab.js +1 -0
- package/.next-prod/static/chunks/app/api/review/order/route-0bc5d188dc4650ab.js +1 -0
- package/.next-prod/static/chunks/app/api/review/route-0bc5d188dc4650ab.js +1 -0
- package/.next-prod/static/chunks/app/api/review/share-info/route-0bc5d188dc4650ab.js +1 -0
- package/.next-prod/static/chunks/app/api/review/users/route-0bc5d188dc4650ab.js +1 -0
- package/.next-prod/static/chunks/app/api/scheduled-tasks/route-0bc5d188dc4650ab.js +1 -0
- package/.next-prod/static/chunks/app/api/services/config/route-0bc5d188dc4650ab.js +1 -0
- package/.next-prod/static/chunks/app/api/services/scripts/route-0bc5d188dc4650ab.js +1 -0
- package/.next-prod/static/chunks/app/api/session/[sessionId]/fork/route-0bc5d188dc4650ab.js +1 -0
- package/.next-prod/static/chunks/app/api/session/[sessionId]/history/route-0bc5d188dc4650ab.js +1 -0
- package/.next-prod/static/chunks/app/api/session/user-messages/route-0bc5d188dc4650ab.js +1 -0
- package/.next-prod/static/chunks/app/api/session-by-path/route-0bc5d188dc4650ab.js +1 -0
- package/.next-prod/static/chunks/app/api/sessions/projects/[encodedPath]/route-0bc5d188dc4650ab.js +1 -0
- package/.next-prod/static/chunks/app/api/sessions/projects/route-0bc5d188dc4650ab.js +1 -0
- package/.next-prod/static/chunks/app/api/sessions/route-0bc5d188dc4650ab.js +1 -0
- package/.next-prod/static/chunks/app/api/settings/route-0bc5d188dc4650ab.js +1 -0
- package/.next-prod/static/chunks/app/api/shutdown/route-0bc5d188dc4650ab.js +1 -0
- package/.next-prod/static/chunks/app/api/skills/[id]/route-0bc5d188dc4650ab.js +1 -0
- package/.next-prod/static/chunks/app/api/skills/content/route-0bc5d188dc4650ab.js +1 -0
- package/.next-prod/static/chunks/app/api/skills/route-0bc5d188dc4650ab.js +1 -0
- package/.next-prod/static/chunks/app/api/snapshots/blob/route-0bc5d188dc4650ab.js +1 -0
- package/.next-prod/static/chunks/app/api/snapshots/diff/route-0bc5d188dc4650ab.js +1 -0
- package/.next-prod/static/chunks/app/api/snapshots/route-0bc5d188dc4650ab.js +1 -0
- package/.next-prod/static/chunks/app/api/terminal/aliases/route-0bc5d188dc4650ab.js +1 -0
- package/.next-prod/static/chunks/app/api/terminal/autocomplete/route-0bc5d188dc4650ab.js +1 -0
- package/.next-prod/static/chunks/app/api/terminal/bubble-order/route-0bc5d188dc4650ab.js +1 -0
- package/.next-prod/static/chunks/app/api/terminal/env/route-0bc5d188dc4650ab.js +1 -0
- package/.next-prod/static/chunks/app/api/terminal/history/route-0bc5d188dc4650ab.js +1 -0
- package/.next-prod/static/chunks/app/api/update/route-0bc5d188dc4650ab.js +1 -0
- package/.next-prod/static/chunks/app/api/update-state/route-0bc5d188dc4650ab.js +1 -0
- package/.next-prod/static/chunks/app/api/version/route-0bc5d188dc4650ab.js +1 -0
- package/.next-prod/static/chunks/app/apps/[...path]/route-0bc5d188dc4650ab.js +1 -0
- package/.next-prod/static/chunks/app/{layout-0782cd43a14c7ee2.js → layout-915635f208cba4b3.js} +1 -1
- package/.next-prod/static/chunks/app/m/{page-241cf89338a0f255.js → page-8442a2605d0feb3f.js} +1 -1
- package/.next-prod/static/chunks/app/manifest.webmanifest/route-0bc5d188dc4650ab.js +1 -0
- package/.next-prod/static/chunks/app/{page-ca2a81ab87931cdb.js → page-48dc2d6146301fd7.js} +1 -1
- package/.next-prod/static/chunks/app/project/{page-ca2a81ab87931cdb.js → page-48dc2d6146301fd7.js} +1 -1
- package/.next-prod/static/chunks/app/review/[id]/{page-556db82704d074ab.js → page-1fe42d46b22c6482.js} +1 -1
- package/.next-prod/static/chunks/next/dist/client/components/builtin/app-error-0bc5d188dc4650ab.js +1 -0
- package/.next-prod/static/chunks/next/dist/client/components/builtin/forbidden-0bc5d188dc4650ab.js +1 -0
- package/.next-prod/static/chunks/next/dist/client/components/builtin/not-found-0bc5d188dc4650ab.js +1 -0
- package/.next-prod/static/chunks/next/dist/client/components/builtin/unauthorized-0bc5d188dc4650ab.js +1 -0
- package/.next-prod/static/css/ec2765469545dfce.css +1 -0
- package/.next-prod/static/qoIca6xp2OKAJtDEvMaXC/_buildManifest.js +1 -0
- package/.next-prod/trace +14 -14
- package/.next-prod/trace-build +1 -1
- package/.next-prod/types/app/api/session/user-messages/route.ts +353 -0
- package/.next-prod/types/routes.d.ts +2 -1
- package/.next-prod/types/validator.ts +9 -0
- package/bin/cock-browser.mjs +65 -2
- package/dist/{cache-GIQJA4HL.mjs → cache-VBRI47HG.mjs} +28 -0
- package/dist/{chunk-RZY32R7X.mjs → chunk-4EU4KZIO.mjs} +1 -0
- package/dist/{chunk-WLCT5LHX.mjs → chunk-PB4GBZQO.mjs} +191 -39
- package/dist/{chunk-VAOGZ6SO.mjs → chunk-TOA52B2X.mjs} +1 -1
- package/dist/chunk-UG6WUXIQ.mjs +2907 -0
- package/dist/httpApi.mjs +58 -2
- package/dist/scheduledTasks.mjs +36 -8
- package/dist/wsServer.mjs +23 -2810
- package/package.json +1 -1
- package/public/html-lib/markdown.css +114 -70
- package/public/html-lib/markdown.js +56 -56
- package/public/tree-sitter/tree-sitter-lean.wasm +0 -0
- package/scripts/copy-tree-sitter-wasms.mjs +33 -3
- package/skills/cc/SKILL.md +26 -1
- package/skills/cg/SKILL.md +140 -14
- package/.next-prod/server/chunks/2540.js +0 -1
- package/.next-prod/static/BRgWyE48IVXSuUJ4BLHQb/_buildManifest.js +0 -1
- package/.next-prod/static/chunks/2302-5e8daad0800c3c02.js +0 -32
- package/.next-prod/static/chunks/6784-8e0e9ea22ff4a60f.js +0 -716
- package/.next-prod/static/chunks/7184-b6fb5d3287fc073c.js +0 -17
- package/.next-prod/static/chunks/app/_global-error/page-891e1a9c2b8144f7.js +0 -1
- package/.next-prod/static/chunks/app/api/agent/test/route-891e1a9c2b8144f7.js +0 -1
- package/.next-prod/static/chunks/app/api/bash/route-891e1a9c2b8144f7.js +0 -1
- package/.next-prod/static/chunks/app/api/chat/codex/route-891e1a9c2b8144f7.js +0 -1
- package/.next-prod/static/chunks/app/api/chat/deepseek/route-891e1a9c2b8144f7.js +0 -1
- package/.next-prod/static/chunks/app/api/chat/glm/route-891e1a9c2b8144f7.js +0 -1
- package/.next-prod/static/chunks/app/api/chat/kimi/route-891e1a9c2b8144f7.js +0 -1
- package/.next-prod/static/chunks/app/api/chat/ollama/route-891e1a9c2b8144f7.js +0 -1
- package/.next-prod/static/chunks/app/api/chat/route-891e1a9c2b8144f7.js +0 -1
- package/.next-prod/static/chunks/app/api/chat/stop/route-891e1a9c2b8144f7.js +0 -1
- package/.next-prod/static/chunks/app/api/claude-stats/route-891e1a9c2b8144f7.js +0 -1
- package/.next-prod/static/chunks/app/api/commands/route-891e1a9c2b8144f7.js +0 -1
- package/.next-prod/static/chunks/app/api/comments/route-891e1a9c2b8144f7.js +0 -1
- package/.next-prod/static/chunks/app/api/db/columns/route-891e1a9c2b8144f7.js +0 -1
- package/.next-prod/static/chunks/app/api/db/connect/route-891e1a9c2b8144f7.js +0 -1
- package/.next-prod/static/chunks/app/api/db/disconnect/route-891e1a9c2b8144f7.js +0 -1
- package/.next-prod/static/chunks/app/api/db/export/route-891e1a9c2b8144f7.js +0 -1
- package/.next-prod/static/chunks/app/api/db/query/route-891e1a9c2b8144f7.js +0 -1
- package/.next-prod/static/chunks/app/api/db/schemas/route-891e1a9c2b8144f7.js +0 -1
- package/.next-prod/static/chunks/app/api/deepseek/balance/route-891e1a9c2b8144f7.js +0 -1
- package/.next-prod/static/chunks/app/api/deepseek/credentials/route-891e1a9c2b8144f7.js +0 -1
- package/.next-prod/static/chunks/app/api/deepseek/models/route-891e1a9c2b8144f7.js +0 -1
- package/.next-prod/static/chunks/app/api/dev/spans/route-891e1a9c2b8144f7.js +0 -1
- package/.next-prod/static/chunks/app/api/extension/version/route-891e1a9c2b8144f7.js +0 -1
- package/.next-prod/static/chunks/app/api/file/route-891e1a9c2b8144f7.js +0 -1
- package/.next-prod/static/chunks/app/api/files/blame/route-891e1a9c2b8144f7.js +0 -1
- package/.next-prod/static/chunks/app/api/files/clipboard/route-891e1a9c2b8144f7.js +0 -1
- package/.next-prod/static/chunks/app/api/files/copy/route-891e1a9c2b8144f7.js +0 -1
- package/.next-prod/static/chunks/app/api/files/delete/route-891e1a9c2b8144f7.js +0 -1
- package/.next-prod/static/chunks/app/api/files/expanded/route-891e1a9c2b8144f7.js +0 -1
- package/.next-prod/static/chunks/app/api/files/index/route-891e1a9c2b8144f7.js +0 -1
- package/.next-prod/static/chunks/app/api/files/init/route-891e1a9c2b8144f7.js +0 -1
- package/.next-prod/static/chunks/app/api/files/paste/route-891e1a9c2b8144f7.js +0 -1
- package/.next-prod/static/chunks/app/api/files/read/route-891e1a9c2b8144f7.js +0 -1
- package/.next-prod/static/chunks/app/api/files/readdir/route-891e1a9c2b8144f7.js +0 -1
- package/.next-prod/static/chunks/app/api/files/recent/route-891e1a9c2b8144f7.js +0 -1
- package/.next-prod/static/chunks/app/api/files/save/route-891e1a9c2b8144f7.js +0 -1
- package/.next-prod/static/chunks/app/api/files/search/route-891e1a9c2b8144f7.js +0 -1
- package/.next-prod/static/chunks/app/api/files/stat/route-891e1a9c2b8144f7.js +0 -1
- package/.next-prod/static/chunks/app/api/files/text/route-891e1a9c2b8144f7.js +0 -1
- package/.next-prod/static/chunks/app/api/git/blob/route-891e1a9c2b8144f7.js +0 -1
- package/.next-prod/static/chunks/app/api/git/branch-diff/route-891e1a9c2b8144f7.js +0 -1
- package/.next-prod/static/chunks/app/api/git/branches/route-891e1a9c2b8144f7.js +0 -1
- package/.next-prod/static/chunks/app/api/git/commit-diff/route-891e1a9c2b8144f7.js +0 -1
- package/.next-prod/static/chunks/app/api/git/commits/route-891e1a9c2b8144f7.js +0 -1
- package/.next-prod/static/chunks/app/api/git/current-branch/route-891e1a9c2b8144f7.js +0 -1
- package/.next-prod/static/chunks/app/api/git/diff/route-891e1a9c2b8144f7.js +0 -1
- package/.next-prod/static/chunks/app/api/git/discard/route-891e1a9c2b8144f7.js +0 -1
- package/.next-prod/static/chunks/app/api/git/stage/route-891e1a9c2b8144f7.js +0 -1
- package/.next-prod/static/chunks/app/api/git/status/route-891e1a9c2b8144f7.js +0 -1
- package/.next-prod/static/chunks/app/api/git/unstage/route-891e1a9c2b8144f7.js +0 -1
- package/.next-prod/static/chunks/app/api/git/worktree/route-891e1a9c2b8144f7.js +0 -1
- package/.next-prod/static/chunks/app/api/glm/credentials/route-891e1a9c2b8144f7.js +0 -1
- package/.next-prod/static/chunks/app/api/glm/models/route-891e1a9c2b8144f7.js +0 -1
- package/.next-prod/static/chunks/app/api/glm/usage/route-891e1a9c2b8144f7.js +0 -1
- package/.next-prod/static/chunks/app/api/global-state/route-891e1a9c2b8144f7.js +0 -1
- package/.next-prod/static/chunks/app/api/health/route-891e1a9c2b8144f7.js +0 -1
- package/.next-prod/static/chunks/app/api/html-apps/[id]/route-891e1a9c2b8144f7.js +0 -1
- package/.next-prod/static/chunks/app/api/html-apps/route-891e1a9c2b8144f7.js +0 -1
- package/.next-prod/static/chunks/app/api/kimi/credentials/route-891e1a9c2b8144f7.js +0 -1
- package/.next-prod/static/chunks/app/api/kimi/models/route-891e1a9c2b8144f7.js +0 -1
- package/.next-prod/static/chunks/app/api/kimi/usage/route-891e1a9c2b8144f7.js +0 -1
- package/.next-prod/static/chunks/app/api/lsp/definition/route-891e1a9c2b8144f7.js +0 -1
- package/.next-prod/static/chunks/app/api/lsp/hover/route-891e1a9c2b8144f7.js +0 -1
- package/.next-prod/static/chunks/app/api/lsp/references/route-891e1a9c2b8144f7.js +0 -1
- package/.next-prod/static/chunks/app/api/lsp/status/route-891e1a9c2b8144f7.js +0 -1
- package/.next-prod/static/chunks/app/api/lsp/warmup/route-891e1a9c2b8144f7.js +0 -1
- package/.next-prod/static/chunks/app/api/mysql/columns/route-891e1a9c2b8144f7.js +0 -1
- package/.next-prod/static/chunks/app/api/mysql/connect/route-891e1a9c2b8144f7.js +0 -1
- package/.next-prod/static/chunks/app/api/mysql/disconnect/route-891e1a9c2b8144f7.js +0 -1
- package/.next-prod/static/chunks/app/api/mysql/export/route-891e1a9c2b8144f7.js +0 -1
- package/.next-prod/static/chunks/app/api/mysql/query/route-891e1a9c2b8144f7.js +0 -1
- package/.next-prod/static/chunks/app/api/mysql/schemas/route-891e1a9c2b8144f7.js +0 -1
- package/.next-prod/static/chunks/app/api/neo4j/connect/route-891e1a9c2b8144f7.js +0 -1
- package/.next-prod/static/chunks/app/api/neo4j/disconnect/route-891e1a9c2b8144f7.js +0 -1
- package/.next-prod/static/chunks/app/api/neo4j/query/route-891e1a9c2b8144f7.js +0 -1
- package/.next-prod/static/chunks/app/api/neo4j/schema/route-891e1a9c2b8144f7.js +0 -1
- package/.next-prod/static/chunks/app/api/note/route-891e1a9c2b8144f7.js +0 -1
- package/.next-prod/static/chunks/app/api/ollama/config/route-891e1a9c2b8144f7.js +0 -1
- package/.next-prod/static/chunks/app/api/ollama/models/route-891e1a9c2b8144f7.js +0 -1
- package/.next-prod/static/chunks/app/api/ollama/start/route-891e1a9c2b8144f7.js +0 -1
- package/.next-prod/static/chunks/app/api/open-cursor/route-891e1a9c2b8144f7.js +0 -1
- package/.next-prod/static/chunks/app/api/open-vscode/route-891e1a9c2b8144f7.js +0 -1
- package/.next-prod/static/chunks/app/api/pick-folder/route-891e1a9c2b8144f7.js +0 -1
- package/.next-prod/static/chunks/app/api/pinned-sessions/route-891e1a9c2b8144f7.js +0 -1
- package/.next-prod/static/chunks/app/api/project-settings/route-891e1a9c2b8144f7.js +0 -1
- package/.next-prod/static/chunks/app/api/project-state/route-891e1a9c2b8144f7.js +0 -1
- package/.next-prod/static/chunks/app/api/projectGraph/affected/route-891e1a9c2b8144f7.js +0 -1
- package/.next-prod/static/chunks/app/api/projectGraph/callees/route-891e1a9c2b8144f7.js +0 -1
- package/.next-prod/static/chunks/app/api/projectGraph/callers/route-891e1a9c2b8144f7.js +0 -1
- package/.next-prod/static/chunks/app/api/projectGraph/coedit/route-891e1a9c2b8144f7.js +0 -1
- package/.next-prod/static/chunks/app/api/projectGraph/context/route-891e1a9c2b8144f7.js +0 -1
- package/.next-prod/static/chunks/app/api/projectGraph/file/route-891e1a9c2b8144f7.js +0 -1
- package/.next-prod/static/chunks/app/api/projectGraph/file-functions/route-891e1a9c2b8144f7.js +0 -1
- package/.next-prod/static/chunks/app/api/projectGraph/impact/route-891e1a9c2b8144f7.js +0 -1
- package/.next-prod/static/chunks/app/api/projectGraph/related/route-891e1a9c2b8144f7.js +0 -1
- package/.next-prod/static/chunks/app/api/projectGraph/risk/route-891e1a9c2b8144f7.js +0 -1
- package/.next-prod/static/chunks/app/api/projectGraph/search/route-891e1a9c2b8144f7.js +0 -1
- package/.next-prod/static/chunks/app/api/projects/route-891e1a9c2b8144f7.js +0 -1
- package/.next-prod/static/chunks/app/api/prompts/config/route-891e1a9c2b8144f7.js +0 -1
- package/.next-prod/static/chunks/app/api/push/public-key/route-891e1a9c2b8144f7.js +0 -1
- package/.next-prod/static/chunks/app/api/push/subscribe/route-891e1a9c2b8144f7.js +0 -1
- package/.next-prod/static/chunks/app/api/push/unsubscribe/route-891e1a9c2b8144f7.js +0 -1
- package/.next-prod/static/chunks/app/api/redis/command/route-891e1a9c2b8144f7.js +0 -1
- package/.next-prod/static/chunks/app/api/redis/connect/route-891e1a9c2b8144f7.js +0 -1
- package/.next-prod/static/chunks/app/api/redis/delete/route-891e1a9c2b8144f7.js +0 -1
- package/.next-prod/static/chunks/app/api/redis/disconnect/route-891e1a9c2b8144f7.js +0 -1
- package/.next-prod/static/chunks/app/api/redis/get/route-891e1a9c2b8144f7.js +0 -1
- package/.next-prod/static/chunks/app/api/redis/keys/route-891e1a9c2b8144f7.js +0 -1
- package/.next-prod/static/chunks/app/api/redis/set/route-891e1a9c2b8144f7.js +0 -1
- package/.next-prod/static/chunks/app/api/restart/route-891e1a9c2b8144f7.js +0 -1
- package/.next-prod/static/chunks/app/api/review/[id]/comments/route-891e1a9c2b8144f7.js +0 -1
- package/.next-prod/static/chunks/app/api/review/[id]/replies/route-891e1a9c2b8144f7.js +0 -1
- package/.next-prod/static/chunks/app/api/review/[id]/route-891e1a9c2b8144f7.js +0 -1
- package/.next-prod/static/chunks/app/api/review/identify/route-891e1a9c2b8144f7.js +0 -1
- package/.next-prod/static/chunks/app/api/review/order/route-891e1a9c2b8144f7.js +0 -1
- package/.next-prod/static/chunks/app/api/review/route-891e1a9c2b8144f7.js +0 -1
- package/.next-prod/static/chunks/app/api/review/share-info/route-891e1a9c2b8144f7.js +0 -1
- package/.next-prod/static/chunks/app/api/review/users/route-891e1a9c2b8144f7.js +0 -1
- package/.next-prod/static/chunks/app/api/scheduled-tasks/route-891e1a9c2b8144f7.js +0 -1
- package/.next-prod/static/chunks/app/api/services/config/route-891e1a9c2b8144f7.js +0 -1
- package/.next-prod/static/chunks/app/api/services/scripts/route-891e1a9c2b8144f7.js +0 -1
- package/.next-prod/static/chunks/app/api/session/[sessionId]/fork/route-891e1a9c2b8144f7.js +0 -1
- package/.next-prod/static/chunks/app/api/session/[sessionId]/history/route-891e1a9c2b8144f7.js +0 -1
- package/.next-prod/static/chunks/app/api/session-by-path/route-891e1a9c2b8144f7.js +0 -1
- package/.next-prod/static/chunks/app/api/sessions/projects/[encodedPath]/route-891e1a9c2b8144f7.js +0 -1
- package/.next-prod/static/chunks/app/api/sessions/projects/route-891e1a9c2b8144f7.js +0 -1
- package/.next-prod/static/chunks/app/api/sessions/route-891e1a9c2b8144f7.js +0 -1
- package/.next-prod/static/chunks/app/api/settings/route-891e1a9c2b8144f7.js +0 -1
- package/.next-prod/static/chunks/app/api/shutdown/route-891e1a9c2b8144f7.js +0 -1
- package/.next-prod/static/chunks/app/api/skills/[id]/route-891e1a9c2b8144f7.js +0 -1
- package/.next-prod/static/chunks/app/api/skills/content/route-891e1a9c2b8144f7.js +0 -1
- package/.next-prod/static/chunks/app/api/skills/route-891e1a9c2b8144f7.js +0 -1
- package/.next-prod/static/chunks/app/api/snapshots/blob/route-891e1a9c2b8144f7.js +0 -1
- package/.next-prod/static/chunks/app/api/snapshots/diff/route-891e1a9c2b8144f7.js +0 -1
- package/.next-prod/static/chunks/app/api/snapshots/route-891e1a9c2b8144f7.js +0 -1
- package/.next-prod/static/chunks/app/api/terminal/aliases/route-891e1a9c2b8144f7.js +0 -1
- package/.next-prod/static/chunks/app/api/terminal/autocomplete/route-891e1a9c2b8144f7.js +0 -1
- package/.next-prod/static/chunks/app/api/terminal/bubble-order/route-891e1a9c2b8144f7.js +0 -1
- package/.next-prod/static/chunks/app/api/terminal/env/route-891e1a9c2b8144f7.js +0 -1
- package/.next-prod/static/chunks/app/api/terminal/history/route-891e1a9c2b8144f7.js +0 -1
- package/.next-prod/static/chunks/app/api/update/route-891e1a9c2b8144f7.js +0 -1
- package/.next-prod/static/chunks/app/api/update-state/route-891e1a9c2b8144f7.js +0 -1
- package/.next-prod/static/chunks/app/api/version/route-891e1a9c2b8144f7.js +0 -1
- package/.next-prod/static/chunks/app/apps/[...path]/route-891e1a9c2b8144f7.js +0 -1
- package/.next-prod/static/chunks/app/manifest.webmanifest/route-891e1a9c2b8144f7.js +0 -1
- package/.next-prod/static/chunks/next/dist/client/components/builtin/app-error-891e1a9c2b8144f7.js +0 -1
- package/.next-prod/static/chunks/next/dist/client/components/builtin/forbidden-891e1a9c2b8144f7.js +0 -1
- package/.next-prod/static/chunks/next/dist/client/components/builtin/not-found-891e1a9c2b8144f7.js +0 -1
- package/.next-prod/static/chunks/next/dist/client/components/builtin/unauthorized-891e1a9c2b8144f7.js +0 -1
- package/.next-prod/static/css/ea27ccfe01ce807c.css +0 -1
- /package/.next-prod/static/{BRgWyE48IVXSuUJ4BLHQb → qoIca6xp2OKAJtDEvMaXC}/_ssgManifest.js +0 -0
|
@@ -9,11 +9,12 @@ import {
|
|
|
9
9
|
ensureParentDir,
|
|
10
10
|
errorToStatus,
|
|
11
11
|
getBubbleOrderPath,
|
|
12
|
+
getCockpitProjectDir,
|
|
12
13
|
getTerminalHistoryPath,
|
|
13
14
|
getTerminalOutputPath,
|
|
14
15
|
readJsonFile,
|
|
15
16
|
writeJsonFile
|
|
16
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-4EU4KZIO.mjs";
|
|
17
18
|
|
|
18
19
|
// packages/feature/console/src/server/plugins/browser/BrowserBridge.ts
|
|
19
20
|
import { WebSocket } from "ws";
|
|
@@ -75,13 +76,13 @@ function listBrowsers() {
|
|
|
75
76
|
}
|
|
76
77
|
var pendingRequests = g_browser.__cockpitBrowserPending ?? (g_browser.__cockpitBrowserPending = /* @__PURE__ */ new Map());
|
|
77
78
|
function createPendingRequest(reqId, timeout) {
|
|
78
|
-
return new Promise((
|
|
79
|
+
return new Promise((resolve2, reject) => {
|
|
79
80
|
const timer = setTimeout(() => {
|
|
80
81
|
pendingRequests.delete(reqId);
|
|
81
82
|
recordCommandResolved(reqId, false);
|
|
82
83
|
reject(new Error(`Timeout after ${timeout}ms`));
|
|
83
84
|
}, timeout);
|
|
84
|
-
pendingRequests.set(reqId, { resolve, reject, timer });
|
|
85
|
+
pendingRequests.set(reqId, { resolve: resolve2, reject, timer });
|
|
85
86
|
});
|
|
86
87
|
}
|
|
87
88
|
function resolvePendingRequest(reqId, ok2, data, error) {
|
|
@@ -154,6 +155,177 @@ function getBrowserHealth(shortId) {
|
|
|
154
155
|
};
|
|
155
156
|
}
|
|
156
157
|
|
|
158
|
+
// packages/feature/console/src/server/plugins/browser/browserBubbleControl.ts
|
|
159
|
+
import { existsSync } from "fs";
|
|
160
|
+
import { dirname, resolve } from "path";
|
|
161
|
+
|
|
162
|
+
// packages/feature/console/src/server/terminal/historyStore.ts
|
|
163
|
+
import fs from "fs/promises";
|
|
164
|
+
var OUTPUT_FILE_THRESHOLD = 4096;
|
|
165
|
+
var MAX_ENTRIES = 100;
|
|
166
|
+
async function appendHistoryEntry(cwd, tabId, entry) {
|
|
167
|
+
const historyPath = getTerminalHistoryPath(cwd, tabId);
|
|
168
|
+
await ensureParentDir(historyPath);
|
|
169
|
+
const entryToSave = { ...entry };
|
|
170
|
+
if (entry.output && entry.output.length > OUTPUT_FILE_THRESHOLD) {
|
|
171
|
+
const outputPath = getTerminalOutputPath(cwd, entry.id);
|
|
172
|
+
await fs.writeFile(outputPath, entry.output, "utf-8");
|
|
173
|
+
entryToSave.output = "";
|
|
174
|
+
entryToSave.outputFile = outputPath;
|
|
175
|
+
}
|
|
176
|
+
let existingLines = [];
|
|
177
|
+
try {
|
|
178
|
+
const content = await fs.readFile(historyPath, "utf-8");
|
|
179
|
+
existingLines = content.trim().split("\n").filter(Boolean);
|
|
180
|
+
} catch {
|
|
181
|
+
}
|
|
182
|
+
if (entry.id) {
|
|
183
|
+
const alreadyExists = existingLines.some((line) => {
|
|
184
|
+
try {
|
|
185
|
+
return JSON.parse(line).id === entry.id;
|
|
186
|
+
} catch {
|
|
187
|
+
return false;
|
|
188
|
+
}
|
|
189
|
+
});
|
|
190
|
+
if (alreadyExists) return { success: true, skipped: true };
|
|
191
|
+
}
|
|
192
|
+
if (existingLines.length >= MAX_ENTRIES) {
|
|
193
|
+
const removedLines = existingLines.slice(
|
|
194
|
+
0,
|
|
195
|
+
existingLines.length - (MAX_ENTRIES - 1)
|
|
196
|
+
);
|
|
197
|
+
for (const line of removedLines) {
|
|
198
|
+
try {
|
|
199
|
+
const old = JSON.parse(line);
|
|
200
|
+
if (old.outputFile) await fs.unlink(old.outputFile).catch(() => {
|
|
201
|
+
});
|
|
202
|
+
} catch {
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
existingLines = existingLines.slice(-(MAX_ENTRIES - 1));
|
|
206
|
+
}
|
|
207
|
+
existingLines.push(JSON.stringify(entryToSave));
|
|
208
|
+
await fs.writeFile(historyPath, existingLines.join("\n") + "\n", "utf-8");
|
|
209
|
+
return { success: true };
|
|
210
|
+
}
|
|
211
|
+
async function removeHistoryEntry(cwd, tabId, id, onMatch) {
|
|
212
|
+
const historyPath = getTerminalHistoryPath(cwd, tabId);
|
|
213
|
+
let removed = null;
|
|
214
|
+
try {
|
|
215
|
+
const content = await fs.readFile(historyPath, "utf-8");
|
|
216
|
+
const lines = content.trim().split("\n").filter(Boolean);
|
|
217
|
+
const remaining = [];
|
|
218
|
+
for (const line of lines) {
|
|
219
|
+
try {
|
|
220
|
+
const entry = JSON.parse(line);
|
|
221
|
+
if (entry.id === id) {
|
|
222
|
+
removed = entry;
|
|
223
|
+
if (onMatch) await onMatch(entry);
|
|
224
|
+
continue;
|
|
225
|
+
}
|
|
226
|
+
} catch {
|
|
227
|
+
}
|
|
228
|
+
remaining.push(line);
|
|
229
|
+
}
|
|
230
|
+
if (remaining.length > 0) {
|
|
231
|
+
await fs.writeFile(historyPath, remaining.join("\n") + "\n", "utf-8");
|
|
232
|
+
} else {
|
|
233
|
+
await fs.unlink(historyPath).catch(() => {
|
|
234
|
+
});
|
|
235
|
+
}
|
|
236
|
+
} catch (e) {
|
|
237
|
+
if (e.code !== "ENOENT") throw e;
|
|
238
|
+
}
|
|
239
|
+
return removed;
|
|
240
|
+
}
|
|
241
|
+
async function readHistoryEntries(cwd, tabId) {
|
|
242
|
+
const historyPath = getTerminalHistoryPath(cwd, tabId);
|
|
243
|
+
try {
|
|
244
|
+
const content = await fs.readFile(historyPath, "utf-8");
|
|
245
|
+
return content.trim().split("\n").filter(Boolean).flatMap((line) => {
|
|
246
|
+
try {
|
|
247
|
+
return [JSON.parse(line)];
|
|
248
|
+
} catch {
|
|
249
|
+
return [];
|
|
250
|
+
}
|
|
251
|
+
});
|
|
252
|
+
} catch {
|
|
253
|
+
return [];
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
|
|
257
|
+
// packages/feature/console/src/server/terminal/consoleBroadcast.ts
|
|
258
|
+
var WS_OPEN = 1;
|
|
259
|
+
var g = globalThis;
|
|
260
|
+
function broadcastConsoleDelta(cwd, tabId, delta, sourceId) {
|
|
261
|
+
const set = g.__cockpitGlobalStateClients;
|
|
262
|
+
if (!set || set.size === 0) return;
|
|
263
|
+
const data = JSON.stringify({
|
|
264
|
+
type: "console-delta",
|
|
265
|
+
cwd,
|
|
266
|
+
tabId,
|
|
267
|
+
sourceId,
|
|
268
|
+
...delta
|
|
269
|
+
});
|
|
270
|
+
for (const ws of set) {
|
|
271
|
+
if (ws.readyState === WS_OPEN) {
|
|
272
|
+
try {
|
|
273
|
+
ws.send(data);
|
|
274
|
+
} catch {
|
|
275
|
+
}
|
|
276
|
+
}
|
|
277
|
+
}
|
|
278
|
+
}
|
|
279
|
+
|
|
280
|
+
// packages/feature/console/src/server/plugins/browser/browserBubbleControl.ts
|
|
281
|
+
var CONSOLE_TAB_ID = "default";
|
|
282
|
+
function resolveProjectCwd(cwd) {
|
|
283
|
+
const start = resolve(cwd);
|
|
284
|
+
let dir = start;
|
|
285
|
+
for (; ; ) {
|
|
286
|
+
if (existsSync(getCockpitProjectDir(dir))) return dir;
|
|
287
|
+
const parent = dirname(dir);
|
|
288
|
+
if (parent === dir) return start;
|
|
289
|
+
dir = parent;
|
|
290
|
+
}
|
|
291
|
+
}
|
|
292
|
+
async function openBrowserBubble(opts) {
|
|
293
|
+
const projectCwd = resolveProjectCwd(opts.cwd);
|
|
294
|
+
const tabId = opts.tabId ?? CONSOLE_TAB_ID;
|
|
295
|
+
const fullId = `browser-${Date.now()}-${Math.random().toString(36).slice(2, 8)}`;
|
|
296
|
+
const entry = {
|
|
297
|
+
type: "browser",
|
|
298
|
+
id: fullId,
|
|
299
|
+
timestamp: (/* @__PURE__ */ new Date()).toISOString(),
|
|
300
|
+
url: opts.url,
|
|
301
|
+
// Base for a RELATIVE url. Deliberately the caller's raw cwd, not
|
|
302
|
+
// projectCwd: `cockpit browser open ./report.html` should resolve against
|
|
303
|
+
// the directory the user is standing in, mirroring what typing the same
|
|
304
|
+
// path into the console after a `cd` does.
|
|
305
|
+
cwd: resolve(opts.cwd),
|
|
306
|
+
autoConnect: true
|
|
307
|
+
};
|
|
308
|
+
await appendHistoryEntry(projectCwd, tabId, entry);
|
|
309
|
+
broadcastConsoleDelta(projectCwd, tabId, { op: "add", entry });
|
|
310
|
+
return { fullId, shortId: toShortId(fullId), projectCwd, tabId };
|
|
311
|
+
}
|
|
312
|
+
async function closeBrowserBubble(opts) {
|
|
313
|
+
const tabId = opts.tabId ?? CONSOLE_TAB_ID;
|
|
314
|
+
const removed = await removeHistoryEntry(opts.projectCwd, tabId, opts.fullId);
|
|
315
|
+
broadcastConsoleDelta(opts.projectCwd, tabId, {
|
|
316
|
+
op: "delete",
|
|
317
|
+
id: opts.fullId
|
|
318
|
+
});
|
|
319
|
+
return !!removed;
|
|
320
|
+
}
|
|
321
|
+
async function findBrowserBubbleByShortId(projectCwd, shortId, tabId = CONSOLE_TAB_ID) {
|
|
322
|
+
const entries = await readHistoryEntries(projectCwd, tabId);
|
|
323
|
+
for (const e of entries) {
|
|
324
|
+
if (e.type === "browser" && e.id && toShortId(e.id) === shortId) return e.id;
|
|
325
|
+
}
|
|
326
|
+
return null;
|
|
327
|
+
}
|
|
328
|
+
|
|
157
329
|
// packages/feature/console/src/server/terminal/TerminalBridge.ts
|
|
158
330
|
var REGISTRY_KEY = /* @__PURE__ */ Symbol.for("terminal_bridge_registry");
|
|
159
331
|
var REVERSE_KEY = /* @__PURE__ */ Symbol.for("terminal_bridge_reverse");
|
|
@@ -257,36 +429,11 @@ function notifyExitListeners(commandId, exitCode) {
|
|
|
257
429
|
}
|
|
258
430
|
|
|
259
431
|
// packages/feature/console/src/server/terminal/RunningCommandRegistry.ts
|
|
260
|
-
import
|
|
432
|
+
import fs2 from "fs/promises";
|
|
261
433
|
import { writeFileSync, mkdirSync } from "fs";
|
|
262
|
-
import { dirname } from "path";
|
|
263
|
-
|
|
264
|
-
// packages/feature/console/src/server/terminal/consoleBroadcast.ts
|
|
265
|
-
var WS_OPEN = 1;
|
|
266
|
-
var g = globalThis;
|
|
267
|
-
function broadcastConsoleDelta(cwd, tabId, delta, sourceId) {
|
|
268
|
-
const set = g.__cockpitGlobalStateClients;
|
|
269
|
-
if (!set || set.size === 0) return;
|
|
270
|
-
const data = JSON.stringify({
|
|
271
|
-
type: "console-delta",
|
|
272
|
-
cwd,
|
|
273
|
-
tabId,
|
|
274
|
-
sourceId,
|
|
275
|
-
...delta
|
|
276
|
-
});
|
|
277
|
-
for (const ws of set) {
|
|
278
|
-
if (ws.readyState === WS_OPEN) {
|
|
279
|
-
try {
|
|
280
|
-
ws.send(data);
|
|
281
|
-
} catch {
|
|
282
|
-
}
|
|
283
|
-
}
|
|
284
|
-
}
|
|
285
|
-
}
|
|
286
|
-
|
|
287
|
-
// packages/feature/console/src/server/terminal/RunningCommandRegistry.ts
|
|
434
|
+
import { dirname as dirname2 } from "path";
|
|
288
435
|
var MAX_OUTPUT_LINES = 5e3;
|
|
289
|
-
var
|
|
436
|
+
var OUTPUT_FILE_THRESHOLD2 = 4096;
|
|
290
437
|
var PTY_RING_BUFFER_MAX = 2 * 1024 * 1024;
|
|
291
438
|
function countNewlines(s) {
|
|
292
439
|
let n = 0;
|
|
@@ -497,7 +644,7 @@ async function writeHistoryPlaceholder(commandId, command, timestamp, cwd, proje
|
|
|
497
644
|
};
|
|
498
645
|
let existingLines = [];
|
|
499
646
|
try {
|
|
500
|
-
const content = await
|
|
647
|
+
const content = await fs2.readFile(historyPath, "utf-8");
|
|
501
648
|
existingLines = content.trim().split("\n").filter(Boolean);
|
|
502
649
|
} catch {
|
|
503
650
|
}
|
|
@@ -518,7 +665,7 @@ async function writeHistoryPlaceholder(commandId, command, timestamp, cwd, proje
|
|
|
518
665
|
for (const line of removedLines) {
|
|
519
666
|
try {
|
|
520
667
|
const old = JSON.parse(line);
|
|
521
|
-
if (old.outputFile) await
|
|
668
|
+
if (old.outputFile) await fs2.unlink(old.outputFile).catch(() => {
|
|
522
669
|
});
|
|
523
670
|
} catch {
|
|
524
671
|
}
|
|
@@ -527,7 +674,7 @@ async function writeHistoryPlaceholder(commandId, command, timestamp, cwd, proje
|
|
|
527
674
|
}
|
|
528
675
|
existingLines.push(JSON.stringify(entry));
|
|
529
676
|
}
|
|
530
|
-
await
|
|
677
|
+
await fs2.writeFile(historyPath, existingLines.join("\n") + "\n", "utf-8");
|
|
531
678
|
broadcastConsoleDelta(
|
|
532
679
|
projectCwd,
|
|
533
680
|
tabId,
|
|
@@ -562,16 +709,16 @@ async function finalizeCommand(commandId, exitCode, pid) {
|
|
|
562
709
|
};
|
|
563
710
|
const historyPath = getTerminalHistoryPath(cmd.projectCwd, cmd.tabId);
|
|
564
711
|
await ensureParentDir(historyPath);
|
|
565
|
-
if (output.length >
|
|
712
|
+
if (output.length > OUTPUT_FILE_THRESHOLD2) {
|
|
566
713
|
const outputPath = getTerminalOutputPath(cmd.projectCwd, cmd.commandId);
|
|
567
|
-
await
|
|
714
|
+
await fs2.writeFile(outputPath, output, "utf-8");
|
|
568
715
|
entry.outputFile = outputPath;
|
|
569
716
|
} else {
|
|
570
717
|
entry.output = output;
|
|
571
718
|
}
|
|
572
719
|
let existingLines = [];
|
|
573
720
|
try {
|
|
574
|
-
const content = await
|
|
721
|
+
const content = await fs2.readFile(historyPath, "utf-8");
|
|
575
722
|
existingLines = content.trim().split("\n").filter(Boolean);
|
|
576
723
|
} catch {
|
|
577
724
|
}
|
|
@@ -589,7 +736,7 @@ async function finalizeCommand(commandId, exitCode, pid) {
|
|
|
589
736
|
if (!replaced) {
|
|
590
737
|
existingLines.push(JSON.stringify(entry));
|
|
591
738
|
}
|
|
592
|
-
await
|
|
739
|
+
await fs2.writeFile(historyPath, existingLines.join("\n") + "\n", "utf-8");
|
|
593
740
|
broadcastConsoleDelta(cmd.projectCwd, cmd.tabId, {
|
|
594
741
|
op: "update",
|
|
595
742
|
id: cmd.commandId,
|
|
@@ -603,7 +750,7 @@ function flushAllRunningSync() {
|
|
|
603
750
|
if (!buf || buf.length === 0) continue;
|
|
604
751
|
try {
|
|
605
752
|
const outputPath = getTerminalOutputPath(cmd.projectCwd, cmd.commandId);
|
|
606
|
-
mkdirSync(
|
|
753
|
+
mkdirSync(dirname2(outputPath), { recursive: true });
|
|
607
754
|
writeFileSync(outputPath, buf.snapshot(), "utf-8");
|
|
608
755
|
} catch {
|
|
609
756
|
}
|
|
@@ -973,6 +1120,11 @@ export {
|
|
|
973
1120
|
resolvePendingRequest,
|
|
974
1121
|
sendCommandToBrowser,
|
|
975
1122
|
getBrowserHealth,
|
|
1123
|
+
CONSOLE_TAB_ID,
|
|
1124
|
+
resolveProjectCwd,
|
|
1125
|
+
openBrowserBubble,
|
|
1126
|
+
closeBrowserBubble,
|
|
1127
|
+
findBrowserBubbleByShortId,
|
|
976
1128
|
registerTerminal,
|
|
977
1129
|
unregisterTerminal,
|
|
978
1130
|
getTerminalByShortId,
|