@surething/cockpit 1.0.269 → 1.0.270
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 +6 -6
- 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/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.nft.json +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.nft.json +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.nft.json +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.nft.json +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.nft.json +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.nft.json +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.nft.json +1 -1
- package/.next-prod/server/app/api/db/connect/route.js.nft.json +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.nft.json +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.nft.json +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.nft.json +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.nft.json +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.nft.json +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.nft.json +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.nft.json +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.nft.json +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.nft.json +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.nft.json +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.nft.json +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.nft.json +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.nft.json +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.nft.json +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.nft.json +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.nft.json +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.nft.json +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.nft.json +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.nft.json +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.nft.json +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.nft.json +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.nft.json +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.nft.json +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.nft.json +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.nft.json +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.nft.json +1 -1
- package/.next-prod/server/app/api/mysql/columns/route.js.nft.json +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.nft.json +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.nft.json +1 -1
- package/.next-prod/server/app/api/mysql/schemas/route.js.nft.json +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.nft.json +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.nft.json +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.nft.json +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.nft.json +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.nft.json +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.nft.json +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.nft.json +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.nft.json +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.nft.json +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.nft.json +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.nft.json +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.nft.json +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.nft.json +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.nft.json +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.nft.json +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.nft.json +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.nft.json +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.nft.json +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.nft.json +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.nft.json +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.nft.json +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.nft.json +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.nft.json +1 -1
- package/.next-prod/server/app/api/scheduled-tasks/route.js.nft.json +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.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.nft.json +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/sessions/projects/[encodedPath]/route.js.nft.json +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.nft.json +1 -1
- package/.next-prod/server/app/api/settings/route.js.nft.json +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.nft.json +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.nft.json +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.nft.json +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.nft.json +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.nft.json +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.nft.json +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.nft.json +1 -1
- package/.next-prod/server/app/api/version/route.js.nft.json +1 -1
- package/.next-prod/server/app/apps/[...path]/route.js.nft.json +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.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 +6 -6
- package/.next-prod/server/chunks/4949.js +1 -1
- package/.next-prod/server/chunks/5750.js +14 -14
- package/.next-prod/server/chunks/{3583.js → 5766.js} +2 -2
- package/.next-prod/server/chunks/6548.js +1 -1
- package/.next-prod/server/chunks/816.js +2 -2
- 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/2302-ebf06ca1396efcce.js +32 -0
- package/.next-prod/static/chunks/{7834-2de27facb9789b70.js → 4137-7d6f2498d03b184d.js} +7 -7
- package/.next-prod/static/chunks/6784-8e0e9ea22ff4a60f.js +716 -0
- package/.next-prod/static/chunks/7184-efdf8613e83ae823.js +15 -0
- package/.next-prod/static/chunks/app/{layout-405b1999670c618c.js → layout-0782cd43a14c7ee2.js} +1 -1
- package/.next-prod/static/chunks/app/m/page-0304eea2c0cf03f6.js +1 -0
- package/.next-prod/static/chunks/app/{page-50311a78a8a904dc.js → page-ca2a81ab87931cdb.js} +1 -1
- package/.next-prod/static/chunks/app/project/{page-50311a78a8a904dc.js → page-ca2a81ab87931cdb.js} +1 -1
- package/.next-prod/static/css/4e29dd2bca2bb1ac.css +1 -0
- package/.next-prod/trace +14 -14
- package/.next-prod/trace-build +1 -1
- package/README.md +2 -0
- package/README.zh.md +2 -0
- package/dist/scheduledTasks.mjs +17 -5
- package/dist/wsServer.mjs +50 -0
- package/package.json +4 -4
- package/.next-prod/static/chunks/1321-4ace49c5b06495b2.js +0 -32
- package/.next-prod/static/chunks/6784-edb535569846ca9f.js +0 -716
- package/.next-prod/static/chunks/6911-6f8ae826c2f21414.js +0 -15
- package/.next-prod/static/chunks/app/m/page-2ee6f57860c23456.js +0 -1
- package/.next-prod/static/css/6c25a67e895380d0.css +0 -1
- /package/.next-prod/static/{M0gKsdd9zyHDCJGVxQAMh → cqNAEj5KI8Y8li81B5f7n}/_buildManifest.js +0 -0
- /package/.next-prod/static/{M0gKsdd9zyHDCJGVxQAMh → cqNAEj5KI8Y8li81B5f7n}/_ssgManifest.js +0 -0
package/.next-prod/trace-build
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
[{"name":"run-webpack","duration":
|
|
1
|
+
[{"name":"run-webpack","duration":9860825,"timestamp":110957788,"id":14,"parentId":1,"tags":{},"startTime":1788407386128,"traceId":"ac195e55564dfaec"},{"name":"run-typescript","duration":2970411,"timestamp":120821256,"id":1471,"parentId":1,"tags":{},"startTime":1788407395992,"traceId":"ac195e55564dfaec"},{"name":"static-check","duration":771496,"timestamp":123820166,"id":1474,"parentId":1,"tags":{},"startTime":1788407398991,"traceId":"ac195e55564dfaec"},{"name":"static-generation","duration":3190428,"timestamp":124650080,"id":1784,"parentId":1,"tags":{},"startTime":1788407399821,"traceId":"ac195e55564dfaec"},{"name":"collect-build-traces","duration":13041330,"timestamp":124592156,"id":1781,"parentId":1,"tags":{},"startTime":1788407399763,"traceId":"ac195e55564dfaec"},{"name":"telemetry-flush","duration":35,"timestamp":137635780,"id":1793,"parentId":1,"tags":{},"startTime":1788407412806,"traceId":"ac195e55564dfaec"},{"name":"next-build","duration":26782282,"timestamp":110853541,"id":1,"tags":{"buildMode":"default","version":"16.3.0","bundler":"webpack","has-custom-webpack-config":"true","use-build-worker":"false"},"startTime":1788407386024,"traceId":"ac195e55564dfaec"}]
|
package/README.md
CHANGED
|
@@ -315,6 +315,8 @@ Next.js 16 · React 19 · TypeScript · TailwindCSS · xterm.js · node-pty · S
|
|
|
315
315
|
|
|
316
316
|
Issues and PRs welcome. See [CONTRIBUTING.md](CONTRIBUTING.md) and the [OpenCockpit docs](https://opencockpit.dev/en/docs/).
|
|
317
317
|
|
|
318
|
+
Questions, ideas, or show-and-tell: join the community at [r/opencockpit](https://www.reddit.com/r/opencockpit/).
|
|
319
|
+
|
|
318
320
|
## License
|
|
319
321
|
|
|
320
322
|
[MIT](LICENSE) © Surething
|
package/README.zh.md
CHANGED
|
@@ -304,6 +304,8 @@ Next.js 16 · React 19 · TypeScript · TailwindCSS · xterm.js · node-pty · S
|
|
|
304
304
|
|
|
305
305
|
欢迎 Issue 和 PR。详见 [CONTRIBUTING.md](CONTRIBUTING.md) 和 [OpenCockpit 文档](https://opencockpit.dev/zh/docs/)。
|
|
306
306
|
|
|
307
|
+
提问、想法或作品分享,欢迎加入社区 [r/opencockpit](https://www.reddit.com/r/opencockpit/)。
|
|
308
|
+
|
|
307
309
|
## 许可证
|
|
308
310
|
|
|
309
311
|
[MIT](LICENSE) © Surething
|
package/dist/scheduledTasks.mjs
CHANGED
|
@@ -543,7 +543,11 @@ async function runSdkLoop(ctx, buildOptions) {
|
|
|
543
543
|
if (msg.type === "system" && msg.subtype === "init" && msg.session_id) {
|
|
544
544
|
ctx.rekey(msg.session_id);
|
|
545
545
|
}
|
|
546
|
-
if (msg.type === "system" && msg.subtype === "
|
|
546
|
+
if (msg.type === "system" && msg.subtype === "background_tasks_changed") {
|
|
547
|
+
pendingTasks.clear();
|
|
548
|
+
for (const t of msg.tasks ?? []) if (!t.ambient) pendingTasks.add(t.task_id);
|
|
549
|
+
}
|
|
550
|
+
if (msg.type === "system" && msg.subtype === "task_started" && msg.task_id && !msg.ambient) {
|
|
547
551
|
pendingTasks.add(msg.task_id);
|
|
548
552
|
}
|
|
549
553
|
if (msg.type === "system" && msg.subtype === "task_notification" && msg.task_id) {
|
|
@@ -562,8 +566,8 @@ async function runSdkLoop(ctx, buildOptions) {
|
|
|
562
566
|
var PLAN_EDIT_TOOLS = /* @__PURE__ */ new Set(["Write", "Edit", "MultiEdit", "NotebookEdit"]);
|
|
563
567
|
var isPlanFilePath = (p) => /(^|\/)\.claude\/plans\//.test(p);
|
|
564
568
|
var CLAUDE_SDK_EFFORTS = /* @__PURE__ */ new Set(["low", "medium", "high", "xhigh", "max"]);
|
|
565
|
-
var CLAUDE_ULTRACODE_MODELS = /* @__PURE__ */ new Set(["claude-fable-5", "claude-opus-5", "claude-opus-4-8"]);
|
|
566
|
-
var CLAUDE_XHIGH_MODELS = /* @__PURE__ */ new Set(["claude-fable-5", "claude-opus-5", "claude-opus-4-8", "claude-sonnet-5"]);
|
|
569
|
+
var CLAUDE_ULTRACODE_MODELS = /* @__PURE__ */ new Set(["claude-fable-5-1", "claude-fable-5", "claude-opus-5", "claude-opus-4-8"]);
|
|
570
|
+
var CLAUDE_XHIGH_MODELS = /* @__PURE__ */ new Set(["claude-fable-5-1", "claude-fable-5", "claude-opus-5", "claude-opus-4-8", "claude-sonnet-5"]);
|
|
567
571
|
function resolveClaudeModel(ctx) {
|
|
568
572
|
const model = typeof ctx.params.model === "string" && ctx.params.model.trim() ? ctx.params.model.trim() : void 0;
|
|
569
573
|
if (!model) return void 0;
|
|
@@ -16766,13 +16770,17 @@ var en_default2 = {
|
|
|
16766
16770
|
toBlock: "Show code map",
|
|
16767
16771
|
toCode: "Back to code view"
|
|
16768
16772
|
},
|
|
16773
|
+
tabs: {
|
|
16774
|
+
toc: "Functions",
|
|
16775
|
+
history: "Trail"
|
|
16776
|
+
},
|
|
16769
16777
|
toc: {
|
|
16770
16778
|
title: "this file",
|
|
16771
16779
|
empty: "No functions detected.",
|
|
16772
16780
|
notIndexed: "File not in project graph (unsupported language / not in git tracked set / file cap reached)."
|
|
16773
16781
|
},
|
|
16774
16782
|
history: {
|
|
16775
|
-
title: "
|
|
16783
|
+
title: "recent",
|
|
16776
16784
|
empty: "Click an input or output pin to begin tracing.",
|
|
16777
16785
|
clear: "Clear history"
|
|
16778
16786
|
},
|
|
@@ -18027,13 +18035,17 @@ var zh_default = {
|
|
|
18027
18035
|
toBlock: "\u663E\u793A\u4EE3\u7801\u5730\u56FE",
|
|
18028
18036
|
toCode: "\u8FD4\u56DE\u4EE3\u7801\u89C6\u56FE"
|
|
18029
18037
|
},
|
|
18038
|
+
tabs: {
|
|
18039
|
+
toc: "\u51FD\u6570\u5217\u8868",
|
|
18040
|
+
history: "\u8DF3\u8F6C\u8BB0\u5F55"
|
|
18041
|
+
},
|
|
18030
18042
|
toc: {
|
|
18031
18043
|
title: "\u672C\u6587\u4EF6",
|
|
18032
18044
|
empty: "\u672A\u68C0\u6D4B\u5230\u51FD\u6570\u3002",
|
|
18033
18045
|
notIndexed: "\u8BE5\u6587\u4EF6\u672A\u88AB\u9879\u76EE\u56FE\u6536\u5F55\uFF08\u6269\u5C55\u672A\u652F\u6301 / \u4E0D\u5728 git \u8DDF\u8E2A\u96C6 / \u8D85\u51FA\u6587\u4EF6\u4E0A\u9650\uFF09\u3002"
|
|
18034
18046
|
},
|
|
18035
18047
|
history: {
|
|
18036
|
-
title: "\
|
|
18048
|
+
title: "\u6700\u8FD1",
|
|
18037
18049
|
empty: "\u70B9\u51FB\u5DE6\u53F3\u4E24\u4FA7\u7684 pin \u5F00\u59CB\u8FFD\u8E2A\u8C03\u7528\u94FE\u3002",
|
|
18038
18050
|
clear: "\u6E05\u7A7A\u5386\u53F2"
|
|
18039
18051
|
},
|
package/dist/wsServer.mjs
CHANGED
|
@@ -2041,6 +2041,40 @@ function extractImportHeader(rootNode) {
|
|
|
2041
2041
|
children: []
|
|
2042
2042
|
};
|
|
2043
2043
|
}
|
|
2044
|
+
function absorbLeadingComments(rootNode, symbols) {
|
|
2045
|
+
const commentByEndLine = /* @__PURE__ */ new Map();
|
|
2046
|
+
for (let i = 0; i < rootNode.namedChildCount; i++) {
|
|
2047
|
+
const c = rootNode.namedChild(i);
|
|
2048
|
+
if (!c || !c.type.endsWith("comment")) continue;
|
|
2049
|
+
commentByEndLine.set(c.endPosition.row + 1, c);
|
|
2050
|
+
}
|
|
2051
|
+
if (commentByEndLine.size === 0) return;
|
|
2052
|
+
const covered = /* @__PURE__ */ new Set();
|
|
2053
|
+
for (const s of symbols) {
|
|
2054
|
+
for (let i = s.startLine; i <= s.endLine; i++) covered.add(i);
|
|
2055
|
+
}
|
|
2056
|
+
for (const s of symbols) {
|
|
2057
|
+
if (s.kind === "unknown") continue;
|
|
2058
|
+
let start = s.startLine;
|
|
2059
|
+
for (; ; ) {
|
|
2060
|
+
const c = commentByEndLine.get(start - 1);
|
|
2061
|
+
if (!c) break;
|
|
2062
|
+
const cStart = c.startPosition.row + 1;
|
|
2063
|
+
let blocked = false;
|
|
2064
|
+
for (let i = cStart; i <= start - 1; i++) {
|
|
2065
|
+
if (covered.has(i)) {
|
|
2066
|
+
blocked = true;
|
|
2067
|
+
break;
|
|
2068
|
+
}
|
|
2069
|
+
}
|
|
2070
|
+
if (blocked) break;
|
|
2071
|
+
start = cStart;
|
|
2072
|
+
}
|
|
2073
|
+
if (start === s.startLine) continue;
|
|
2074
|
+
for (let i = start; i < s.startLine; i++) covered.add(i);
|
|
2075
|
+
s.startLine = start;
|
|
2076
|
+
}
|
|
2077
|
+
}
|
|
2044
2078
|
function computeFillerBlocks(rootNode, existing) {
|
|
2045
2079
|
const source = rootNode.text;
|
|
2046
2080
|
const lines = source.split("\n");
|
|
@@ -2094,9 +2128,23 @@ function extractSymbolsFromTree(rootNode) {
|
|
|
2094
2128
|
const child = rootNode.namedChild(i);
|
|
2095
2129
|
if (child) out.push(...extractFromNode(child, void 0, false));
|
|
2096
2130
|
}
|
|
2131
|
+
absorbLeadingComments(rootNode, out);
|
|
2097
2132
|
out.push(...computeFillerBlocks(rootNode, out));
|
|
2133
|
+
dedupeQualifiedNames(out);
|
|
2098
2134
|
return out;
|
|
2099
2135
|
}
|
|
2136
|
+
function dedupeQualifiedNames(syms) {
|
|
2137
|
+
const seen = /* @__PURE__ */ new Map();
|
|
2138
|
+
const walk = (arr) => {
|
|
2139
|
+
for (const s of arr) {
|
|
2140
|
+
const n = (seen.get(s.qualifiedName) ?? 0) + 1;
|
|
2141
|
+
seen.set(s.qualifiedName, n);
|
|
2142
|
+
if (n > 1) s.qualifiedName = `${s.qualifiedName}#${n}`;
|
|
2143
|
+
walk(s.children);
|
|
2144
|
+
}
|
|
2145
|
+
};
|
|
2146
|
+
walk(syms);
|
|
2147
|
+
}
|
|
2100
2148
|
|
|
2101
2149
|
// packages/feature/explorer/src/server/codeMap/extractCalls.ts
|
|
2102
2150
|
function extractRawCalls(root) {
|
|
@@ -3234,6 +3282,7 @@ var goHandler = {
|
|
|
3234
3282
|
if (header) out.push(header);
|
|
3235
3283
|
const { symbols, pendingMethods } = extractTopLevel(rootNode);
|
|
3236
3284
|
out.push(...attachMethods(symbols, pendingMethods));
|
|
3285
|
+
absorbLeadingComments(rootNode, out);
|
|
3237
3286
|
out.push(...computeFillerBlocks(rootNode, out));
|
|
3238
3287
|
return out;
|
|
3239
3288
|
},
|
|
@@ -3932,6 +3981,7 @@ var rustHandler = {
|
|
|
3932
3981
|
if (header) out.push(header);
|
|
3933
3982
|
const { symbols, pendingImpls } = extractTopLevel2(rootNode);
|
|
3934
3983
|
out.push(...attachImplMethods(symbols, pendingImpls));
|
|
3984
|
+
absorbLeadingComments(rootNode, out);
|
|
3935
3985
|
out.push(...computeFillerBlocks(rootNode, out));
|
|
3936
3986
|
return out;
|
|
3937
3987
|
},
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@surething/cockpit",
|
|
3
|
-
"version": "1.0.
|
|
4
|
-
"description": "
|
|
3
|
+
"version": "1.0.270",
|
|
4
|
+
"description": "OpenCockpit is the open-source Claude Code GUI — an IDE-like workbench for parallel AI coding. Drive Claude (default), Codex, DeepSeek, Kimi, or local Ollama in tabs. Terminal, browser & DB bubbles, code review. Self-host on a shared dev box — a seat for every teammate. Local-first, MIT.",
|
|
5
5
|
"author": "Robert",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"repository": {
|
|
@@ -104,9 +104,9 @@
|
|
|
104
104
|
},
|
|
105
105
|
"dependencies": {
|
|
106
106
|
"@ai-sdk/openai": "^3.0.52",
|
|
107
|
-
"@anthropic-ai/claude-agent-sdk": "0.3.
|
|
107
|
+
"@anthropic-ai/claude-agent-sdk": "0.3.259",
|
|
108
108
|
"@dagrejs/dagre": "^3.0.0",
|
|
109
|
-
"@openai/codex-sdk": "0.
|
|
109
|
+
"@openai/codex-sdk": "0.153.0",
|
|
110
110
|
"@tanstack/react-virtual": "^3.13.18",
|
|
111
111
|
"@tiptap/extension-link": "^3.19.0",
|
|
112
112
|
"@tiptap/extension-placeholder": "^3.19.0",
|