@surething/cockpit 1.0.240 → 1.0.242
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 +5 -5
- package/.next-prod/build-manifest.json +2 -2
- package/.next-prod/prerender-manifest.json +3 -3
- 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/_global-error.segment.rsc +1 -1
- package/.next-prod/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/.next-prod/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/.next-prod/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next-prod/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/_not-found.html +2 -2
- package/.next-prod/server/app/_not-found.rsc +3 -3
- package/.next-prod/server/app/_not-found.segments/_full.segment.rsc +3 -3
- package/.next-prod/server/app/_not-found.segments/_head.segment.rsc +1 -1
- package/.next-prod/server/app/_not-found.segments/_index.segment.rsc +3 -3
- package/.next-prod/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- package/.next-prod/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
- package/.next-prod/server/app/_not-found.segments/_tree.segment.rsc +2 -2
- package/.next-prod/server/app/api/commands/route.js +1 -1
- package/.next-prod/server/app/m/page_client-reference-manifest.js +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_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/review/[id]/page_client-reference-manifest.js +1 -1
- package/.next-prod/server/app-paths-manifest.json +5 -5
- package/.next-prod/server/chunks/304.js +3 -3
- package/.next-prod/server/chunks/4848.js +33 -3
- package/.next-prod/server/chunks/9658.js +5 -5
- 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/5408-f9fd9ece18d916dc.js +25 -0
- package/.next-prod/static/chunks/{9530-aac4bba2518aa113.js → 9530-44f82b2151a66f3c.js} +2 -2
- package/.next-prod/static/chunks/app/{layout-95cb81ab4128b70e.js → layout-fdd40a9f4769a9d2.js} +1 -1
- package/.next-prod/static/chunks/app/{page-5969e7f2f5788be2.js → page-7e283c0e1ba7bf80.js} +1 -1
- package/.next-prod/static/chunks/app/project/{page-5969e7f2f5788be2.js → page-7e283c0e1ba7bf80.js} +1 -1
- package/.next-prod/static/css/9f26a08be661160a.css +1 -0
- package/.next-prod/trace +13 -13
- package/.next-prod/trace-build +1 -1
- package/dist/{chunk-TRQ4S2LT.mjs → chunk-53DHIXIY.mjs} +1 -1
- package/dist/{chunk-44DBCDDK.mjs → chunk-PTHQK26K.mjs} +46 -14
- package/dist/{chunk-JDX7Z54G.mjs → chunk-RBT65EBM.mjs} +1 -1
- package/dist/httpApi.mjs +2 -2
- package/dist/scheduledTasks.mjs +37 -2
- package/dist/{server-UDKNFSZE.mjs → server-XWLYHEMD.mjs} +2 -2
- package/dist/wsServer.mjs +4 -4
- package/package.json +1 -1
- package/.next-prod/static/chunks/5408-b31a0bb83ee220ad.js +0 -25
- package/.next-prod/static/css/5b0dd8036a3ffc10.css +0 -1
- /package/.next-prod/static/{ArsrRKOrvluh7oFS0G-Fg → YsWseNHOrhvA60UWaNkzK}/_buildManifest.js +0 -0
- /package/.next-prod/static/{ArsrRKOrvluh7oFS0G-Fg → YsWseNHOrhvA60UWaNkzK}/_ssgManifest.js +0 -0
package/.next-prod/trace-build
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
[{"name":"run-webpack","duration":
|
|
1
|
+
[{"name":"run-webpack","duration":17818959,"timestamp":187786547,"id":14,"parentId":1,"tags":{},"startTime":1783948879287,"traceId":"9619af7c73190300"},{"name":"run-typescript","duration":15136342,"timestamp":205614781,"id":1630,"parentId":1,"tags":{},"startTime":1783948897115,"traceId":"9619af7c73190300"},{"name":"static-check","duration":962008,"timestamp":220782608,"id":1633,"parentId":1,"tags":{},"startTime":1783948912283,"traceId":"9619af7c73190300"},{"name":"static-generation","duration":5185281,"timestamp":221846117,"id":1911,"parentId":1,"tags":{},"startTime":1783948913346,"traceId":"9619af7c73190300"},{"name":"collect-build-traces","duration":15774094,"timestamp":221745204,"id":1908,"parentId":1,"tags":{},"startTime":1783948913245,"traceId":"9619af7c73190300"},{"name":"telemetry-flush","duration":48,"timestamp":237522629,"id":1920,"parentId":1,"tags":{},"startTime":1783948929023,"traceId":"9619af7c73190300"},{"name":"next-build","duration":49847788,"timestamp":187674899,"id":1,"tags":{"buildMode":"default","version":"16.2.6","bundler":"webpack","has-custom-webpack-config":"true","use-build-worker":"false"},"startTime":1783948879175,"traceId":"9619af7c73190300"}]
|
|
@@ -30009,6 +30009,27 @@ var runGitOk = (repoDir, workTree, args2, input) => runGit(repoDir, workTree, ar
|
|
|
30009
30009
|
})
|
|
30010
30010
|
)
|
|
30011
30011
|
);
|
|
30012
|
+
var SYMLINK_PATHSPEC_RE = /beyond a symbolic link/;
|
|
30013
|
+
var stageAdds = (repoDir, cwd, paths) => Effect_exports.gen(function* () {
|
|
30014
|
+
const addArgs = ["add", "-A", "--pathspec-from-file=-", "--pathspec-file-nul"];
|
|
30015
|
+
const batch = yield* runGit(repoDir, cwd, addArgs, paths.map((p) => `:(literal)${p}`).join("\0"));
|
|
30016
|
+
if (batch.code === 0) return;
|
|
30017
|
+
if (!SYMLINK_PATHSPEC_RE.test(batch.stderr)) {
|
|
30018
|
+
return yield* Effect_exports.fail(
|
|
30019
|
+
new AppError({ message: `git add exited ${batch.code}: ${batch.stderr.slice(0, 400)}` })
|
|
30020
|
+
);
|
|
30021
|
+
}
|
|
30022
|
+
for (const p of paths) {
|
|
30023
|
+
const one = yield* runGit(repoDir, cwd, addArgs, `:(literal)${p}`);
|
|
30024
|
+
if (one.code === 0) continue;
|
|
30025
|
+
if (!SYMLINK_PATHSPEC_RE.test(one.stderr)) {
|
|
30026
|
+
return yield* Effect_exports.fail(
|
|
30027
|
+
new AppError({ message: `git add ${p} exited ${one.code}: ${one.stderr.slice(0, 400)}` })
|
|
30028
|
+
);
|
|
30029
|
+
}
|
|
30030
|
+
yield* runGitOk(repoDir, cwd, ["rm", "--cached", "--quiet", "--ignore-unmatch", "--", `:(literal)${p}`]);
|
|
30031
|
+
}
|
|
30032
|
+
});
|
|
30012
30033
|
var gSem = globalThis;
|
|
30013
30034
|
var semaphores = gSem.__cockpitSnapshotSemaphores ?? (gSem.__cockpitSnapshotSemaphores = /* @__PURE__ */ new Map());
|
|
30014
30035
|
var withRepoLock = (repoDir, effect4) => {
|
|
@@ -30164,35 +30185,46 @@ var snapshotOnce = (snapshotsRoot, maxFileBytes, trigger, kind) => Effect_export
|
|
|
30164
30185
|
yield* tripGuard(`${entries2.length} changed files exceeds ${MAX_CHANGED_FILES}`);
|
|
30165
30186
|
return { staged: false };
|
|
30166
30187
|
}
|
|
30167
|
-
const
|
|
30188
|
+
const addPaths = [];
|
|
30189
|
+
const rmPaths = [];
|
|
30190
|
+
for (const e of entries2) {
|
|
30191
|
+
const path = e.slice(3);
|
|
30192
|
+
if (!path) continue;
|
|
30193
|
+
if (e[1] === "D") rmPaths.push(path);
|
|
30194
|
+
else addPaths.push(path);
|
|
30195
|
+
}
|
|
30168
30196
|
const sizes = yield* Effect_exports.all(
|
|
30169
|
-
|
|
30197
|
+
addPaths.map(
|
|
30170
30198
|
(p) => fsTry("stat", () => stat(join5(cwd, p)).then((s) => s.isFile() ? s.size : 0)).pipe(
|
|
30171
|
-
//
|
|
30199
|
+
// Untracked path vanishing between status and stat → size 0.
|
|
30172
30200
|
Effect_exports.orElseSucceed(() => 0)
|
|
30173
30201
|
)
|
|
30174
30202
|
),
|
|
30175
30203
|
{ concurrency: 16 }
|
|
30176
30204
|
);
|
|
30177
|
-
const
|
|
30205
|
+
const includedAdds = [];
|
|
30178
30206
|
let totalBytes = 0;
|
|
30179
|
-
for (let i = 0; i <
|
|
30207
|
+
for (let i = 0; i < addPaths.length; i++) {
|
|
30180
30208
|
if (sizes[i] > maxFileBytes) continue;
|
|
30181
|
-
|
|
30209
|
+
includedAdds.push(addPaths[i]);
|
|
30182
30210
|
totalBytes += sizes[i];
|
|
30183
30211
|
}
|
|
30184
30212
|
if (totalBytes > MAX_TOTAL_BYTES) {
|
|
30185
30213
|
yield* tripGuard(`${Math.round(totalBytes / 1048576)}MB of changes exceeds ${Math.round(MAX_TOTAL_BYTES / 1048576)}MB`);
|
|
30186
30214
|
return { staged: false };
|
|
30187
30215
|
}
|
|
30188
|
-
if (
|
|
30189
|
-
|
|
30190
|
-
|
|
30191
|
-
|
|
30192
|
-
|
|
30193
|
-
|
|
30194
|
-
|
|
30195
|
-
|
|
30216
|
+
if (includedAdds.length === 0 && rmPaths.length === 0) return { staged: false };
|
|
30217
|
+
if (rmPaths.length > 0) {
|
|
30218
|
+
yield* runGitOk(
|
|
30219
|
+
repoDir,
|
|
30220
|
+
cwd,
|
|
30221
|
+
["rm", "--cached", "--quiet", "--ignore-unmatch", "--pathspec-from-file=-", "--pathspec-file-nul"],
|
|
30222
|
+
rmPaths.map((p) => `:(literal)${p}`).join("\0")
|
|
30223
|
+
);
|
|
30224
|
+
}
|
|
30225
|
+
if (includedAdds.length > 0) {
|
|
30226
|
+
yield* stageAdds(repoDir, cwd, includedAdds);
|
|
30227
|
+
}
|
|
30196
30228
|
return { staged: true };
|
|
30197
30229
|
});
|
|
30198
30230
|
return yield* withRepoLock(
|
package/dist/httpApi.mjs
CHANGED
|
@@ -22,10 +22,10 @@ import {
|
|
|
22
22
|
unregisterBrowser,
|
|
23
23
|
unregisterTerminal,
|
|
24
24
|
writeStdinToCommand
|
|
25
|
-
} from "./chunk-
|
|
25
|
+
} from "./chunk-53DHIXIY.mjs";
|
|
26
26
|
import {
|
|
27
27
|
getTerminalHistoryPath
|
|
28
|
-
} from "./chunk-
|
|
28
|
+
} from "./chunk-PTHQK26K.mjs";
|
|
29
29
|
import "./chunk-7P6ASYW6.mjs";
|
|
30
30
|
|
|
31
31
|
// src/lib/httpApi.ts
|
package/dist/scheduledTasks.mjs
CHANGED
|
@@ -10,7 +10,7 @@ import {
|
|
|
10
10
|
setRunAbort,
|
|
11
11
|
startRun,
|
|
12
12
|
updateGlobalState
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-RBT65EBM.mjs";
|
|
14
14
|
import {
|
|
15
15
|
AgentError,
|
|
16
16
|
AppRuntime,
|
|
@@ -36,7 +36,7 @@ import {
|
|
|
36
36
|
settlePendingRecord,
|
|
37
37
|
withFileLock,
|
|
38
38
|
writeJsonFile
|
|
39
|
-
} from "./chunk-
|
|
39
|
+
} from "./chunk-PTHQK26K.mjs";
|
|
40
40
|
import {
|
|
41
41
|
__export
|
|
42
42
|
} from "./chunk-7P6ASYW6.mjs";
|
|
@@ -150,6 +150,40 @@ function snapshotOnRunEvent(cwd, sessionKey, provider, event) {
|
|
|
150
150
|
import { mkdirSync, writeFileSync, readFileSync } from "fs";
|
|
151
151
|
import { join } from "path";
|
|
152
152
|
|
|
153
|
+
// packages/feature/agent/src/server/lib/apPrompt.ts
|
|
154
|
+
var AP_PROMPT_ZH = `---
|
|
155
|
+
name: ap
|
|
156
|
+
description: "apply\uFF1A\u5B9E\u73B0 <SPEC>\uFF0C\u5E76\u5728\u5B9E\u73B0\u8FC7\u7A0B\u4E2D\u6301\u7EED\u7EF4\u62A4\u4E00\u4EFD apply-notes HTML \u6587\u4EF6\uFF08\u653E\u5728\u4E34\u65F6\u76EE\u5F55\uFF09\uFF0C\u8BB0\u5F55\u89C4\u683C\u672A\u8986\u76D6\u7684\u51B3\u7B56\u3001\u6539\u52A8\u4E0E\u6743\u8861\u3002"
|
|
157
|
+
argument-hint: "[SPEC \u8DEF\u5F84 / \u7559\u7A7A = \u672C\u6B21\u5BF9\u8BDD\u4E2D\u5DF2\u8FBE\u6210\u4E00\u81F4\u7684 spec]"
|
|
158
|
+
---
|
|
159
|
+
|
|
160
|
+
\u5B9E\u73B0 <SPEC>\uFF1B\u5728\u5B9E\u73B0\u8FC7\u7A0B\u4E2D\uFF0C\u6301\u7EED\u7EF4\u62A4\u4E00\u4E2A apply-notes.html \u6587\u4EF6\uFF0C\u8BB0\u5F55\u90A3\u4E9B
|
|
161
|
+
\u89C4\u683C\u91CC\u6CA1\u6709\u3001\u4F46\u4F60\u4E0D\u5F97\u4E0D\u505A\u7684\u51B3\u7B56\uFF0C\u4E0D\u5F97\u4E0D\u6539\u7684\u4E1C\u897F\uFF0C\u4E0D\u5F97\u4E0D\u505A\u7684\u6743\u8861\uFF0C\u4EE5\u53CA\u4EFB\u4F55
|
|
162
|
+
\u6211\u5E94\u8BE5\u77E5\u9053\u7684\u4E8B\u60C5\u3002\u5B83\u4E0D\u662F\u5DE5\u4F5C\u65E5\u5FD7\u2014\u2014\u6D4B\u8BD5\u901A\u8FC7\u3001\u6784\u5EFA\u53D8\u7EFF\u8FD9\u7C7B\u5E38\u89C4\u8FDB\u5C55\u4E0D\u8BE5\u5199\u8FDB\u53BB\u3002
|
|
163
|
+
|
|
164
|
+
\u6587\u4EF6\u653E\u5728 \`\${TMPDIR%/}/apply-notes-<feature-name>.html\`\uFF0C\u7EDD\u4E0D\u653E\u8FDB\u4ED3\u5E93\u91CC\uFF0C
|
|
165
|
+
\u6BCF\u4E2A\u9700\u6C42\u4E00\u4E2A\u6587\u4EF6\uFF1A\u5F53\u67D0\u4E00\u8F6E\u662F\u5728\u5EF6\u7EED\u540C\u4E00\u4E2A\u4EFB\u52A1\u65F6\uFF0C\u5728\u5DF2\u6709\u6587\u4EF6\u91CC\u65B0\u8D77\u4E00\u4E2A round
|
|
166
|
+
\u5C0F\u8282\u8FFD\u52A0\uFF0C\u800C\u4E0D\u662F\u65B0\u5EFA\u4E00\u4E2A\uFF1B\u53EA\u6709\u65B0\u9700\u6C42\u624D\u65B0\u5EFA\u6587\u4EF6\u3002\u59CB\u7EC8\u7528 Edit \u5DE5\u5177\u66F4\u65B0\u5B83
|
|
167
|
+
\uFF08\u4EC5\u9996\u6B21\u521B\u5EFA\u65F6\u7528 Write\uFF09\uFF0C\u7EDD\u4E0D\u901A\u8FC7 shell \u91CD\u5B9A\u5411\u5199\u5165\u3002`;
|
|
168
|
+
var AP_PROMPT_EN = `---
|
|
169
|
+
name: ap
|
|
170
|
+
description: "apply: implement <SPEC> while keeping a running apply-notes HTML file (in temp dir) of decisions not covered by the spec, changes, and tradeoffs."
|
|
171
|
+
argument-hint: "[SPEC path / empty = spec agreed in this conversation]"
|
|
172
|
+
---
|
|
173
|
+
|
|
174
|
+
Implement <SPEC>; and while you do, keep a running apply-notes.html file
|
|
175
|
+
with decisions you had to make that weren't in the spec, things you had
|
|
176
|
+
to change, tradeoffs you had to make, or anything else I should know.
|
|
177
|
+
It is not a work log \u2014 routine progress like tests passing or builds
|
|
178
|
+
going green doesn't belong in it.
|
|
179
|
+
|
|
180
|
+
Keep the file at \`\${TMPDIR%/}/apply-notes-<feature-name>.html\`, never
|
|
181
|
+
inside the repo, one file per requirement: when a round continues the
|
|
182
|
+
same task, append to the existing file under a new round heading rather
|
|
183
|
+
than starting a fresh one; only a new requirement gets a new file.
|
|
184
|
+
Always update it with the Edit tool (Write only when first creating it),
|
|
185
|
+
never through shell redirection.`;
|
|
186
|
+
|
|
153
187
|
// packages/feature/agent/src/server/lib/ccPrompt.ts
|
|
154
188
|
var CC_LABEL_ZH = "\u4EFB\u52A1\uFF1A";
|
|
155
189
|
var CC_LABEL_EN = "Task: ";
|
|
@@ -1650,6 +1684,7 @@ When done, briefly report: skill slug, source path (\`<skills-dir>/<slug>/SKILL.
|
|
|
1650
1684
|
// packages/feature/agent/src/server/lib/slashCommands.ts
|
|
1651
1685
|
var COMMAND_CONTENT = {
|
|
1652
1686
|
qa: { zh: QA_PROMPT_ZH, en: QA_PROMPT_EN },
|
|
1687
|
+
ap: { zh: AP_PROMPT_ZH, en: AP_PROMPT_EN },
|
|
1653
1688
|
fx: { zh: FX_PROMPT_ZH, en: FX_PROMPT_EN },
|
|
1654
1689
|
ex: { zh: EX_PROMPT_ZH, en: EX_PROMPT_EN },
|
|
1655
1690
|
go: { zh: GO_PROMPT_ZH, en: GO_PROMPT_EN },
|
|
@@ -45,12 +45,12 @@ import {
|
|
|
45
45
|
unregisterTerminal,
|
|
46
46
|
updateBrowserWs,
|
|
47
47
|
writeStdinToCommand
|
|
48
|
-
} from "./chunk-
|
|
48
|
+
} from "./chunk-53DHIXIY.mjs";
|
|
49
49
|
import {
|
|
50
50
|
createNeo4jDriver,
|
|
51
51
|
runCypherWithDriver,
|
|
52
52
|
serializeValue
|
|
53
|
-
} from "./chunk-
|
|
53
|
+
} from "./chunk-PTHQK26K.mjs";
|
|
54
54
|
import "./chunk-7P6ASYW6.mjs";
|
|
55
55
|
export {
|
|
56
56
|
INTERRUPTED_EXIT_CODE,
|
package/dist/wsServer.mjs
CHANGED
|
@@ -2,7 +2,7 @@ import {
|
|
|
2
2
|
addRunListener,
|
|
3
3
|
getGlobalSessionsSnapshot,
|
|
4
4
|
getRunSnapshot
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-RBT65EBM.mjs";
|
|
6
6
|
import {
|
|
7
7
|
addExitListener,
|
|
8
8
|
addOutputListener,
|
|
@@ -18,7 +18,7 @@ import {
|
|
|
18
18
|
resolvePendingRequest,
|
|
19
19
|
unregisterBrowser,
|
|
20
20
|
writeStdinToCommand
|
|
21
|
-
} from "./chunk-
|
|
21
|
+
} from "./chunk-53DHIXIY.mjs";
|
|
22
22
|
import {
|
|
23
23
|
AppError,
|
|
24
24
|
Effect_exports,
|
|
@@ -33,7 +33,7 @@ import {
|
|
|
33
33
|
Stream_exports,
|
|
34
34
|
ValidationError,
|
|
35
35
|
WSError
|
|
36
|
-
} from "./chunk-
|
|
36
|
+
} from "./chunk-PTHQK26K.mjs";
|
|
37
37
|
import "./chunk-7P6ASYW6.mjs";
|
|
38
38
|
|
|
39
39
|
// src/lib/wsServer.ts
|
|
@@ -665,7 +665,7 @@ var handleJupyter = (conn, bubbleId, cwd) => Effect_exports.gen(function* () {
|
|
|
665
665
|
Effect_exports.annotateLogs("cwd", cwd)
|
|
666
666
|
);
|
|
667
667
|
const { kernelManager } = yield* Effect_exports.tryPromise({
|
|
668
|
-
try: () => import("./server-
|
|
668
|
+
try: () => import("./server-XWLYHEMD.mjs"),
|
|
669
669
|
catch: (cause) => new AppError({
|
|
670
670
|
message: "failed to import kernel manager",
|
|
671
671
|
cause
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@surething/cockpit",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.242",
|
|
4
4
|
"description": "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",
|