@surething/cockpit 1.0.269 → 1.0.271
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 -4
- 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 +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 +4 -4
- package/.next-prod/server/chunks/4949.js +1 -1
- package/.next-prod/server/chunks/516.js +1 -1
- package/.next-prod/server/chunks/5750.js +17 -15
- 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-5e8daad0800c3c02.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-b6fb5d3287fc073c.js +17 -0
- package/.next-prod/static/chunks/app/{layout-405b1999670c618c.js → layout-0782cd43a14c7ee2.js} +1 -1
- package/.next-prod/static/chunks/app/m/page-241cf89338a0f255.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/ea27ccfe01ce807c.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 +25 -9
- 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 → BRgWyE48IVXSuUJ4BLHQb}/_buildManifest.js +0 -0
- /package/.next-prod/static/{M0gKsdd9zyHDCJGVxQAMh → BRgWyE48IVXSuUJ4BLHQb}/_ssgManifest.js +0 -0
package/.next-prod/trace-build
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
[{"name":"run-webpack","duration":
|
|
1
|
+
[{"name":"run-webpack","duration":15005902,"timestamp":578684146,"id":14,"parentId":1,"tags":{},"startTime":1788495156847,"traceId":"d890b4c69e09d4b7"},{"name":"run-typescript","duration":4981789,"timestamp":593695697,"id":1471,"parentId":1,"tags":{},"startTime":1788495171858,"traceId":"d890b4c69e09d4b7"},{"name":"static-check","duration":1366631,"timestamp":598718150,"id":1474,"parentId":1,"tags":{},"startTime":1788495176881,"traceId":"d890b4c69e09d4b7"},{"name":"static-generation","duration":5321119,"timestamp":600247809,"id":1784,"parentId":1,"tags":{},"startTime":1788495178410,"traceId":"d890b4c69e09d4b7"},{"name":"collect-build-traces","duration":24985253,"timestamp":600085530,"id":1781,"parentId":1,"tags":{},"startTime":1788495178248,"traceId":"d890b4c69e09d4b7"},{"name":"telemetry-flush","duration":57,"timestamp":625074596,"id":1793,"parentId":1,"tags":{},"startTime":1788495203237,"traceId":"d890b4c69e09d4b7"},{"name":"next-build","duration":46568909,"timestamp":578505755,"id":1,"tags":{"buildMode":"default","version":"16.3.0","bundler":"webpack","has-custom-webpack-config":"true","use-build-worker":"false"},"startTime":1788495156668,"traceId":"d890b4c69e09d4b7"}]
|
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;
|
|
@@ -15447,6 +15451,7 @@ var CODEX_MCP_NAMESPACE_PREFIX = "mcp__";
|
|
|
15447
15451
|
var codexMcpToolName = (server, tool2) => `${CODEX_MCP_NAMESPACE_PREFIX}${server}__${tool2}`;
|
|
15448
15452
|
var CODEX_SPAWN_FN_NAME = "spawn_agent";
|
|
15449
15453
|
var CODEX_SUB_AGENT_ACTIVITY_TYPE = "sub_agent_activity";
|
|
15454
|
+
var CODEX_SUB_AGENT_ACTIVITY_ITEM_TYPE = "SubAgentActivity";
|
|
15450
15455
|
var CODEX_AGENT_MESSAGE_TYPE = "agent_message";
|
|
15451
15456
|
var CODEX_PATCH_FN_NAME = "apply_patch";
|
|
15452
15457
|
var CODEX_EXEC_SCRIPT_FN_NAME = "exec";
|
|
@@ -15683,15 +15688,18 @@ function codexAgentPathName(agentPath) {
|
|
|
15683
15688
|
return segments[segments.length - 1] || agentPath;
|
|
15684
15689
|
}
|
|
15685
15690
|
function parseCodexSubAgentActivity(payload) {
|
|
15686
|
-
if (!payload
|
|
15687
|
-
const
|
|
15691
|
+
if (!payload) return null;
|
|
15692
|
+
const item = payload.item;
|
|
15693
|
+
const src = payload.type === CODEX_SUB_AGENT_ACTIVITY_TYPE ? { ...payload, callId: payload.event_id } : item && item.type === CODEX_SUB_AGENT_ACTIVITY_ITEM_TYPE ? { ...item, callId: item.id } : null;
|
|
15694
|
+
if (!src) return null;
|
|
15695
|
+
const { callId, agent_thread_id: agentThreadId } = src;
|
|
15688
15696
|
if (typeof callId !== "string" || !callId) return null;
|
|
15689
15697
|
if (typeof agentThreadId !== "string" || !agentThreadId) return null;
|
|
15690
15698
|
return {
|
|
15691
15699
|
callId,
|
|
15692
15700
|
agentThreadId,
|
|
15693
|
-
...typeof
|
|
15694
|
-
...typeof
|
|
15701
|
+
...typeof src.agent_path === "string" ? { agentPath: src.agent_path } : {},
|
|
15702
|
+
...typeof src.kind === "string" ? { kind: src.kind } : {}
|
|
15695
15703
|
};
|
|
15696
15704
|
}
|
|
15697
15705
|
function parseCodexAgentMessage(payload) {
|
|
@@ -16766,13 +16774,17 @@ var en_default2 = {
|
|
|
16766
16774
|
toBlock: "Show code map",
|
|
16767
16775
|
toCode: "Back to code view"
|
|
16768
16776
|
},
|
|
16777
|
+
tabs: {
|
|
16778
|
+
toc: "Functions",
|
|
16779
|
+
history: "Trail"
|
|
16780
|
+
},
|
|
16769
16781
|
toc: {
|
|
16770
16782
|
title: "this file",
|
|
16771
16783
|
empty: "No functions detected.",
|
|
16772
16784
|
notIndexed: "File not in project graph (unsupported language / not in git tracked set / file cap reached)."
|
|
16773
16785
|
},
|
|
16774
16786
|
history: {
|
|
16775
|
-
title: "
|
|
16787
|
+
title: "recent",
|
|
16776
16788
|
empty: "Click an input or output pin to begin tracing.",
|
|
16777
16789
|
clear: "Clear history"
|
|
16778
16790
|
},
|
|
@@ -18027,13 +18039,17 @@ var zh_default = {
|
|
|
18027
18039
|
toBlock: "\u663E\u793A\u4EE3\u7801\u5730\u56FE",
|
|
18028
18040
|
toCode: "\u8FD4\u56DE\u4EE3\u7801\u89C6\u56FE"
|
|
18029
18041
|
},
|
|
18042
|
+
tabs: {
|
|
18043
|
+
toc: "\u51FD\u6570\u5217\u8868",
|
|
18044
|
+
history: "\u8DF3\u8F6C\u8BB0\u5F55"
|
|
18045
|
+
},
|
|
18030
18046
|
toc: {
|
|
18031
18047
|
title: "\u672C\u6587\u4EF6",
|
|
18032
18048
|
empty: "\u672A\u68C0\u6D4B\u5230\u51FD\u6570\u3002",
|
|
18033
18049
|
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
18050
|
},
|
|
18035
18051
|
history: {
|
|
18036
|
-
title: "\
|
|
18052
|
+
title: "\u6700\u8FD1",
|
|
18037
18053
|
empty: "\u70B9\u51FB\u5DE6\u53F3\u4E24\u4FA7\u7684 pin \u5F00\u59CB\u8FFD\u8E2A\u8C03\u7528\u94FE\u3002",
|
|
18038
18054
|
clear: "\u6E05\u7A7A\u5386\u53F2"
|
|
18039
18055
|
},
|
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.271",
|
|
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.260",
|
|
108
108
|
"@dagrejs/dagre": "^3.0.0",
|
|
109
|
-
"@openai/codex-sdk": "0.
|
|
109
|
+
"@openai/codex-sdk": "0.153.2",
|
|
110
110
|
"@tanstack/react-virtual": "^3.13.18",
|
|
111
111
|
"@tiptap/extension-link": "^3.19.0",
|
|
112
112
|
"@tiptap/extension-placeholder": "^3.19.0",
|