wicked-crew 0.8.7 → 0.8.8
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/dist/api/chat-transcripts.d.ts +14 -6
- package/dist/api/chat-transcripts.d.ts.map +1 -1
- package/dist/api/chat-transcripts.js +66 -10
- package/dist/api/chat-transcripts.js.map +1 -1
- package/dist/api/routes.d.ts +34 -1
- package/dist/api/routes.d.ts.map +1 -1
- package/dist/api/routes.js +108 -12
- package/dist/api/routes.js.map +1 -1
- package/dist/api/server.d.ts.map +1 -1
- package/dist/api/server.js +4 -0
- package/dist/api/server.js.map +1 -1
- package/dist/api/unit-output.d.ts +17 -0
- package/dist/api/unit-output.d.ts.map +1 -1
- package/dist/api/unit-output.js +47 -0
- package/dist/api/unit-output.js.map +1 -1
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +7 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/core/bridge-path.d.ts +24 -3
- package/dist/core/bridge-path.d.ts.map +1 -1
- package/dist/core/bridge-path.js +96 -6
- package/dist/core/bridge-path.js.map +1 -1
- package/dist/core/linked-issues.d.ts +20 -2
- package/dist/core/linked-issues.d.ts.map +1 -1
- package/dist/core/linked-issues.js +41 -6
- package/dist/core/linked-issues.js.map +1 -1
- package/dist/core/worker-env.d.ts +31 -0
- package/dist/core/worker-env.d.ts.map +1 -0
- package/dist/core/worker-env.js +34 -0
- package/dist/core/worker-env.js.map +1 -0
- package/dist/interactive/bridge-pool.d.ts +20 -0
- package/dist/interactive/bridge-pool.d.ts.map +1 -1
- package/dist/interactive/bridge-pool.js +34 -2
- package/dist/interactive/bridge-pool.js.map +1 -1
- package/dist/skills/runtime.d.ts +56 -1
- package/dist/skills/runtime.d.ts.map +1 -1
- package/dist/skills/runtime.js +135 -2
- package/dist/skills/runtime.js.map +1 -1
- package/dist/skills/store.d.ts +27 -0
- package/dist/skills/store.d.ts.map +1 -1
- package/dist/skills/store.js +63 -0
- package/dist/skills/store.js.map +1 -1
- package/dist/studio/assets/index-BPYzJzBk.css +32 -0
- package/dist/studio/assets/index-DtVsHuuC.js +584 -0
- package/dist/studio/editors/wicked-page/editor.json +1 -1
- package/dist/studio/editors/wicked-page/index.html +1 -1
- package/dist/studio/index.html +2 -2
- package/dist/studio/testid-inventory.json +269 -1713
- package/endpoint-manifest.json +11 -1
- package/package.json +2 -2
- package/dist/studio/assets/index-CUNMURZ4.js +0 -581
- package/dist/studio/assets/index-DPqNRzrT.css +0 -32
|
@@ -40,11 +40,21 @@ export interface ChatRepoRoot {
|
|
|
40
40
|
* Rewrite absolute host paths in seat reply text to repo-relative form (crew#618).
|
|
41
41
|
*
|
|
42
42
|
* `/srv/repos/alpha/src/foo.ts` → `alpha/src/foo.ts` when `alpha`'s root is `/srv/repos/alpha`.
|
|
43
|
-
* Longest roots are matched first so a path under a more-specific root
|
|
44
|
-
*
|
|
45
|
-
*
|
|
43
|
+
* Longest roots are matched first so a path under a more-specific root (a NESTED root,
|
|
44
|
+
* `/r/alpha/sub` under `/r/alpha`) is never truncated by a parent root. crew#634 R5: a BARE root
|
|
45
|
+
* reference — the root itself, with no trailing separator, ending the text or followed by
|
|
46
|
+
* whitespace / closing punctuation — becomes the repo name too (`/srv/repos/alpha.` → `alpha.`);
|
|
47
|
+
* a longer sibling (`/srv/repos/alpha-extra`) is never touched. Pure string work.
|
|
46
48
|
*/
|
|
47
49
|
export declare function rewriteHostPaths(text: string, roots: ReadonlyArray<ChatRepoRoot>): string;
|
|
50
|
+
/**
|
|
51
|
+
* crew#634 R5: every spelling a seat may cite a root by — the resolved path, its `realpath` (a
|
|
52
|
+
* symlinked checkout), and the macOS `/private` twin of `/var`, `/tmp`, `/etc` either way round.
|
|
53
|
+
* A twin is registered only when it RESOLVES to the same real directory (so a Linux `/private/tmp`
|
|
54
|
+
* that is some other path is never rewritten — codex on this PR). Each alias maps to the same repo
|
|
55
|
+
* name; an unreadable root keeps the one spelling it was given.
|
|
56
|
+
*/
|
|
57
|
+
export declare function withRootAliases(roots: ReadonlyArray<ChatRepoRoot>): ChatRepoRoot[];
|
|
48
58
|
/** Where the transcripts live: under the daemon's state home, like every other crew store. */
|
|
49
59
|
export declare function defaultChatTranscriptsDir(): string;
|
|
50
60
|
export declare class ChatTranscriptStore {
|
|
@@ -135,10 +145,8 @@ export declare class ChatTranscriptStore {
|
|
|
135
145
|
/**
|
|
136
146
|
* Daemon boot: remove every transcript NOT in `retainedChatIds` (crew#619 — promoted-run
|
|
137
147
|
* transcripts must survive a restart so Continue-in-Build prefill is reproducible). Pass an
|
|
138
|
-
* empty set to clear everything
|
|
148
|
+
* empty set to clear everything.
|
|
139
149
|
*/
|
|
140
150
|
clearOrphaned(retainedChatIds: ReadonlySet<string>): void;
|
|
141
|
-
/** Daemon boot: no chat survives a restart, so every file here is an orphan — remove them all. */
|
|
142
|
-
clearAll(): void;
|
|
143
151
|
}
|
|
144
152
|
//# sourceMappingURL=chat-transcripts.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat-transcripts.d.ts","sourceRoot":"","sources":["../../src/api/chat-transcripts.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAKH,OAAO,KAAK,EAAE,gBAAgB,EAAE,oBAAoB,EAAa,SAAS,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAKnH,qFAAqF;AACrF,eAAO,MAAM,wBAAwB,UAAU,CAAC;AAEhD,6EAA6E;AAC7E,MAAM,WAAW,YAAY;IAC3B,kFAAkF;IAClF,OAAO,EAAE,MAAM,CAAC;IAChB,+EAA+E;IAC/E,IAAI,EAAE,MAAM,CAAC;CACd;AAED
|
|
1
|
+
{"version":3,"file":"chat-transcripts.d.ts","sourceRoot":"","sources":["../../src/api/chat-transcripts.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAKH,OAAO,KAAK,EAAE,gBAAgB,EAAE,oBAAoB,EAAa,SAAS,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAKnH,qFAAqF;AACrF,eAAO,MAAM,wBAAwB,UAAU,CAAC;AAEhD,6EAA6E;AAC7E,MAAM,WAAW,YAAY;IAC3B,kFAAkF;IAClF,OAAO,EAAE,MAAM,CAAC;IAChB,+EAA+E;IAC/E,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,CAAC,YAAY,CAAC,GAAG,MAAM,CAiBzF;AAcD;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,aAAa,CAAC,YAAY,CAAC,GAAG,YAAY,EAAE,CA8BlF;AAED,8FAA8F;AAC9F,wBAAgB,yBAAyB,IAAI,MAAM,CAElD;AAgBD,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAS;IAC7B,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAe;IACnC,8FAA8F;IAC9F,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAkD;IAC5E,yGAAyG;IACzG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA6B;IACnD,gGAAgG;IAChG,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA6B;gBAExC,IAAI,GAAE;QAAE,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,MAAM,CAAA;KAAO;IAK3D;;;;;OAKG;IACH,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,CAAC,YAAY,CAAC,GAAG,IAAI;IAKvE,mEAAmE;IACnE,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED,6FAA6F;IAC7F,OAAO,CAAC,MAAM;IAId,OAAO,CAAC,MAAM;IAcd,sGAAsG;IACtG,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI;IAIxF,wGAAwG;IACxG,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;IAIhE;;;;;;;OAOG;IACH,OAAO,CAAC,OAAO,EAAE,SAAS,GAAG,IAAI;IAqBjC;;;;;;;;OAQG;IACH,eAAe,CAAC,KAAK,EAAE;QACrB,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;QACjB,YAAY,EAAE,MAAM,CAAC;QACrB,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;QAClB,KAAK,EAAE,gBAAgB,EAAE,CAAC;KAC3B,GAAG,IAAI;IAmBR,gGAAgG;IAChG,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,oBAAoB,EAAE;IAe5C;;;;;;OAMG;IACH,YAAY,CAAC,KAAK,EAAE,SAAS,GAAG,SAAS;IA+BzC;;;OAGG;IACH,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAOjE;;;;;OAKG;IACH,eAAe,CAAC,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,YAAY,EAAE,CAAA;KAAE,GAAG,IAAI;IAMrF,gFAAgF;IAChF,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAO1B;;;;OAIG;IACH,aAAa,CAAC,eAAe,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,IAAI;CAU1D"}
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
* Registered in `tests/fixtures/state-home-subtrees.json` as `chats` (crew half; the core half —
|
|
27
27
|
* the worker Read fence — landed with core-ts 0.7.26), and named in `state-home-registry.ts`.
|
|
28
28
|
*/
|
|
29
|
-
import { appendFileSync, chmodSync, existsSync, mkdirSync, readFileSync, readdirSync, rmSync } from 'node:fs';
|
|
29
|
+
import { appendFileSync, chmodSync, existsSync, mkdirSync, readFileSync, readdirSync, realpathSync, rmSync } from 'node:fs';
|
|
30
30
|
import { join, sep } from 'node:path';
|
|
31
31
|
import { DecisionFenceFilter, splitDecisionsBlock } from '../decisions/chat-recorder.js';
|
|
32
32
|
import { crewStateHome } from '../projects/state-home.js';
|
|
@@ -37,9 +37,11 @@ export const CHAT_TRANSCRIPTS_DIRNAME = 'chats';
|
|
|
37
37
|
* Rewrite absolute host paths in seat reply text to repo-relative form (crew#618).
|
|
38
38
|
*
|
|
39
39
|
* `/srv/repos/alpha/src/foo.ts` → `alpha/src/foo.ts` when `alpha`'s root is `/srv/repos/alpha`.
|
|
40
|
-
* Longest roots are matched first so a path under a more-specific root
|
|
41
|
-
*
|
|
42
|
-
*
|
|
40
|
+
* Longest roots are matched first so a path under a more-specific root (a NESTED root,
|
|
41
|
+
* `/r/alpha/sub` under `/r/alpha`) is never truncated by a parent root. crew#634 R5: a BARE root
|
|
42
|
+
* reference — the root itself, with no trailing separator, ending the text or followed by
|
|
43
|
+
* whitespace / closing punctuation — becomes the repo name too (`/srv/repos/alpha.` → `alpha.`);
|
|
44
|
+
* a longer sibling (`/srv/repos/alpha-extra`) is never touched. Pure string work.
|
|
43
45
|
*/
|
|
44
46
|
export function rewriteHostPaths(text, roots) {
|
|
45
47
|
if (roots.length === 0)
|
|
@@ -55,9 +57,66 @@ export function rewriteHostPaths(text, roots) {
|
|
|
55
57
|
const fwdPrefix = prefix.replace(/\\/g, '/');
|
|
56
58
|
result = result.split(fwdPrefix).join(`${name}/`);
|
|
57
59
|
}
|
|
60
|
+
result = rewriteBareRoot(result, prefix.slice(0, -1), name);
|
|
61
|
+
if (sep === '\\')
|
|
62
|
+
result = rewriteBareRoot(result, prefix.slice(0, -1).replace(/\\/g, '/'), name);
|
|
58
63
|
}
|
|
59
64
|
return result;
|
|
60
65
|
}
|
|
66
|
+
/** crew#634 R5: `root` alone (no separator after it) at a boundary → `name`. */
|
|
67
|
+
function rewriteBareRoot(text, root, name) {
|
|
68
|
+
if (root === '' || !text.includes(root))
|
|
69
|
+
return text;
|
|
70
|
+
const escaped = root.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
|
|
71
|
+
// Not preceded by a path character (so `/x/srv/repos/alpha` is not a match for `/srv/repos/alpha`);
|
|
72
|
+
// followed by the end or whitespace, optionally after a run of closing punctuation. Punctuation is
|
|
73
|
+
// legal in a path, so it only ends the root when the path ends right after it — `alpha:beta/x`
|
|
74
|
+
// and `alpha,backup` are other paths and stay untouched (codex on this PR).
|
|
75
|
+
const bare = new RegExp(`(?<![\\w./\\\\-])${escaped}(?=[)\\]}>'"\`,;:!?.]*(?:$|\\s))`, 'g');
|
|
76
|
+
return text.replace(bare, name);
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* crew#634 R5: every spelling a seat may cite a root by — the resolved path, its `realpath` (a
|
|
80
|
+
* symlinked checkout), and the macOS `/private` twin of `/var`, `/tmp`, `/etc` either way round.
|
|
81
|
+
* A twin is registered only when it RESOLVES to the same real directory (so a Linux `/private/tmp`
|
|
82
|
+
* that is some other path is never rewritten — codex on this PR). Each alias maps to the same repo
|
|
83
|
+
* name; an unreadable root keeps the one spelling it was given.
|
|
84
|
+
*/
|
|
85
|
+
export function withRootAliases(roots) {
|
|
86
|
+
const out = [];
|
|
87
|
+
const seen = new Set();
|
|
88
|
+
const add = (absRoot, name) => {
|
|
89
|
+
if (absRoot === '' || seen.has(absRoot))
|
|
90
|
+
return;
|
|
91
|
+
seen.add(absRoot);
|
|
92
|
+
out.push({ absRoot, name });
|
|
93
|
+
};
|
|
94
|
+
const realOf = (p) => {
|
|
95
|
+
try {
|
|
96
|
+
return realpathSync(p);
|
|
97
|
+
}
|
|
98
|
+
catch {
|
|
99
|
+
return null;
|
|
100
|
+
}
|
|
101
|
+
};
|
|
102
|
+
for (const { absRoot, name } of roots) {
|
|
103
|
+
add(absRoot, name);
|
|
104
|
+
const real = realOf(absRoot);
|
|
105
|
+
if (real === null)
|
|
106
|
+
continue;
|
|
107
|
+
add(real, name);
|
|
108
|
+
for (const p of [absRoot, real]) {
|
|
109
|
+
const twin = /^\/private\/(?:var|tmp|etc)(?:\/|$)/.test(p)
|
|
110
|
+
? p.slice('/private'.length)
|
|
111
|
+
: /^\/(?:var|tmp|etc)(?:\/|$)/.test(p)
|
|
112
|
+
? `/private${p}`
|
|
113
|
+
: null;
|
|
114
|
+
if (twin !== null && realOf(twin) === real)
|
|
115
|
+
add(twin, name);
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
return out;
|
|
119
|
+
}
|
|
61
120
|
/** Where the transcripts live: under the daemon's state home, like every other crew store. */
|
|
62
121
|
export function defaultChatTranscriptsDir() {
|
|
63
122
|
return join(crewStateHome(), 'chats');
|
|
@@ -96,7 +155,8 @@ export class ChatTranscriptStore {
|
|
|
96
155
|
* `chatId` replaces the previous roots.
|
|
97
156
|
*/
|
|
98
157
|
registerRoots(chatId, repos) {
|
|
99
|
-
|
|
158
|
+
// crew#634 R5: a seat citing the realpath / `/private` spelling of a root is rewritten too.
|
|
159
|
+
this.chatRoots.set(chatId, withRootAliases(repos));
|
|
100
160
|
}
|
|
101
161
|
/** The directory this store writes under (diagnostics / tests). */
|
|
102
162
|
get directory() {
|
|
@@ -285,7 +345,7 @@ export class ChatTranscriptStore {
|
|
|
285
345
|
/**
|
|
286
346
|
* Daemon boot: remove every transcript NOT in `retainedChatIds` (crew#619 — promoted-run
|
|
287
347
|
* transcripts must survive a restart so Continue-in-Build prefill is reproducible). Pass an
|
|
288
|
-
* empty set to clear everything
|
|
348
|
+
* empty set to clear everything.
|
|
289
349
|
*/
|
|
290
350
|
clearOrphaned(retainedChatIds) {
|
|
291
351
|
if (!existsSync(this.dir))
|
|
@@ -299,9 +359,5 @@ export class ChatTranscriptStore {
|
|
|
299
359
|
}
|
|
300
360
|
}
|
|
301
361
|
}
|
|
302
|
-
/** Daemon boot: no chat survives a restart, so every file here is an orphan — remove them all. */
|
|
303
|
-
clearAll() {
|
|
304
|
-
rmSync(this.dir, { recursive: true, force: true });
|
|
305
|
-
}
|
|
306
362
|
}
|
|
307
363
|
//# sourceMappingURL=chat-transcripts.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat-transcripts.js","sourceRoot":"","sources":["../../src/api/chat-transcripts.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"chat-transcripts.js","sourceRoot":"","sources":["../../src/api/chat-transcripts.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAC5H,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAGtC,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACzF,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAE1C,qFAAqF;AACrF,MAAM,CAAC,MAAM,wBAAwB,GAAG,OAAO,CAAC;AAUhD;;;;;;;;;GASG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAAY,EAAE,KAAkC;IAC/E,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACpC,MAAM,MAAM,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAC9E,IAAI,MAAM,GAAG,IAAI,CAAC;IAClB,KAAK,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,MAAM,EAAE,CAAC;QACvC,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,GAAG,CAAC;QACxF,4EAA4E;QAC5E,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC;QAC/C,wFAAwF;QACxF,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YACjB,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YAC7C,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC;QACpD,CAAC;QACD,MAAM,GAAG,eAAe,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QAC5D,IAAI,GAAG,KAAK,IAAI;YAAE,MAAM,GAAG,eAAe,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC;IACpG,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,gFAAgF;AAChF,SAAS,eAAe,CAAC,IAAY,EAAE,IAAY,EAAE,IAAY;IAC/D,IAAI,IAAI,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACrD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;IAC5D,oGAAoG;IACpG,mGAAmG;IACnG,+FAA+F;IAC/F,4EAA4E;IAC5E,MAAM,IAAI,GAAG,IAAI,MAAM,CAAC,oBAAoB,OAAO,kCAAkC,EAAE,GAAG,CAAC,CAAC;IAC5F,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AAClC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,eAAe,CAAC,KAAkC;IAChE,MAAM,GAAG,GAAmB,EAAE,CAAC;IAC/B,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,MAAM,GAAG,GAAG,CAAC,OAAe,EAAE,IAAY,EAAQ,EAAE;QAClD,IAAI,OAAO,KAAK,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC;YAAE,OAAO;QAChD,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAClB,GAAG,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9B,CAAC,CAAC;IACF,MAAM,MAAM,GAAG,CAAC,CAAS,EAAiB,EAAE;QAC1C,IAAI,CAAC;YACH,OAAO,YAAY,CAAC,CAAC,CAAC,CAAC;QACzB,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC,CAAC;IACF,KAAK,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,KAAK,EAAE,CAAC;QACtC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACnB,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;QAC7B,IAAI,IAAI,KAAK,IAAI;YAAE,SAAS;QAC5B,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAChB,KAAK,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC;YAChC,MAAM,IAAI,GAAG,qCAAqC,CAAC,IAAI,CAAC,CAAC,CAAC;gBACxD,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC;gBAC5B,CAAC,CAAC,4BAA4B,CAAC,IAAI,CAAC,CAAC,CAAC;oBACpC,CAAC,CAAC,WAAW,CAAC,EAAE;oBAChB,CAAC,CAAC,IAAI,CAAC;YACX,IAAI,IAAI,KAAK,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,IAAI;gBAAE,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,8FAA8F;AAC9F,MAAM,UAAU,yBAAyB;IACvC,OAAO,IAAI,CAAC,aAAa,EAAE,EAAE,OAAO,CAAC,CAAC;AACxC,CAAC;AAED,+FAA+F;AAC/F,SAAS,OAAO,CAAC,KAAc;IAC7B,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC7D,MAAM,CAAC,GAAG,KAAgC,CAAC;IAC3C,MAAM,GAAG,GAAG,CAAC,CAAS,EAAU,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,CAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9G,OAAO;QACL,WAAW,EAAE,GAAG,CAAC,aAAa,CAAC;QAC/B,YAAY,EAAE,GAAG,CAAC,cAAc,CAAC;QACjC,eAAe,EAAE,GAAG,CAAC,iBAAiB,CAAC;QACvC,mBAAmB,EAAE,GAAG,CAAC,qBAAqB,CAAC;QAC/C,OAAO,EAAE,OAAO,CAAC,CAAC,SAAS,CAAC,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC,CAAC,SAAS,CAAY,CAAC,CAAC,CAAC,IAAI;KAC7G,CAAC;AACJ,CAAC;AAED,MAAM,OAAO,mBAAmB;IACb,GAAG,CAAS;IACZ,GAAG,CAAe;IACnC,8FAA8F;IAC7E,SAAS,GAAG,IAAI,GAAG,EAAuC,CAAC;IAC5E,yGAAyG;IACxF,KAAK,GAAG,IAAI,mBAAmB,EAAE,CAAC;IACnD,gGAAgG;IAC/E,MAAM,GAAG,IAAI,GAAG,EAAkB,CAAC;IAEpD,YAAY,OAA6C,EAAE;QACzD,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,yBAAyB,EAAE,CAAC;QACnD,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC;IAClC,CAAC;IAED;;;;;OAKG;IACH,aAAa,CAAC,MAAc,EAAE,KAAkC;QAC9D,4FAA4F;QAC5F,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC;IACrD,CAAC;IAED,mEAAmE;IACnE,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,GAAG,CAAC;IAClB,CAAC;IAED,6FAA6F;IACrF,MAAM,CAAC,MAAc;QAC3B,OAAO,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACzE,CAAC;IAEO,MAAM,CAAC,MAAc,EAAE,MAA4B;QACzD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACjC,IAAI,IAAI,KAAK,IAAI;YAAE,OAAO;QAC1B,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QACtD,MAAM,KAAK,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAChC,cAAc,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QACrE,4FAA4F;QAC5F,kFAAkF;QAClF,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;YACjC,IAAI,KAAK;gBAAE,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAClC,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC;IAED,sGAAsG;IACtG,UAAU,CAAC,MAAc,EAAE,MAAc,EAAE,IAAY,EAAE,KAAwB;QAC/E,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC;IACzF,CAAC;IAED,wGAAwG;IACxG,YAAY,CAAC,MAAc,EAAE,MAAc,EAAE,IAAY;QACvD,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IACxE,CAAC;IAED;;;;;;;OAOG;IACH,OAAO,CAAC,OAAkB;QACxB,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW;YAAE,OAAO;QACzC,MAAM,KAAK,GAAG,OAA8C,CAAC;QAC7D,MAAM,MAAM,GAAG,OAAO,KAAK,CAAC,MAAM,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC7E,MAAM,MAAM,GAAG,OAAO,KAAK,CAAC,QAAQ,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACjF,MAAM,MAAM,GAAG,OAAO,KAAK,CAAC,SAAS,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACnF,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO;QACjF,MAAM,OAAO,GAAG,OAAO,KAAK,CAAC,MAAM,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACvE,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACzC,MAAM,IAAI,GAAG,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;QAClG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;YAClB,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE;YACd,MAAM;YACN,IAAI,EAAE,MAAM;YACZ,MAAM;YACN,IAAI;YACJ,EAAE,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI;YACxB,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;SAC/B,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;OAQG;IACH,eAAe,CAAC,KASf;QACC,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS;YAAE,OAAO;QACxC,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACrC,4FAA4F;QAC5F,oFAAoF;QACpF,IAAI,IAAI,KAAK,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;YAAE,OAAO;QAC/C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE;YACtB,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE;YACd,MAAM,EAAE,KAAK,CAAC,OAAO;YACrB,IAAI,EAAE,WAAW;YACjB,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,YAAY,EAAE,KAAK,CAAC,YAAY;YAChC,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,KAAK,EAAE,KAAK,CAAC,KAAK;SACnB,CAAC,CAAC;IACL,CAAC;IAED,gGAAgG;IAChG,IAAI,CAAC,MAAc;QACjB,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACjC,IAAI,IAAI,KAAK,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;YAAE,OAAO,EAAE,CAAC;QAClD,MAAM,GAAG,GAA2B,EAAE,CAAC;QACvC,KAAK,MAAM,IAAI,IAAI,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1D,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE;gBAAE,SAAS;YACjC,IAAI,CAAC;gBACH,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAyB,CAAC,CAAC;YACrD,CAAC;YAAC,MAAM,CAAC;gBACP,wFAAwF;YAC1F,CAAC;QACH,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAED;;;;;;OAMG;IACH,YAAY,CAAC,KAAgB;QAC3B,MAAM,KAAK,GAAG,KAA4C,CAAC;QAC3D,MAAM,MAAM,GAAG,OAAO,KAAK,CAAC,MAAM,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC7E,MAAM,MAAM,GAAG,OAAO,KAAK,CAAC,QAAQ,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACjF,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YAC/B,8FAA8F;YAC9F,wFAAwF;YACxF,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,SAAS;gBAAE,OAAO,KAAK,CAAC;YAC/D,MAAM,OAAO,GAAG,OAAO,KAAK,CAAC,MAAM,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACvE,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;YACvD,OAAO,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAE,EAAE,GAAI,KAA8B,EAAE,IAAI,EAAgB,CAAC;QAChG,CAAC;QACD,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW;YAAE,OAAO,KAAK,CAAC;QAC7C,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO,KAAK,CAAC;QACvC,MAAM,OAAO,GAAG,OAAO,KAAK,CAAC,MAAM,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACvE,IAAI,IAAI,GAAG,OAAO,CAAC;QACnB,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,2FAA2F;YAC3F,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YACjC,MAAM,KAAK,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;YACxC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;YAClB,MAAM,GAAG,GAAG,GAAG,MAAM,SAAS,MAAM,EAAE,CAAC;YACvC,IAAI,KAAK,CAAC,KAAK,KAAK,IAAI;gBAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;;gBACvD,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC/B,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACzC,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;YAAE,IAAI,GAAG,gBAAgB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAClF,IAAI,IAAI,KAAK,OAAO;YAAE,OAAO,KAAK,CAAC;QACnC,OAAO,EAAE,GAAI,KAA8B,EAAE,IAAI,EAAe,CAAC;IACnE,CAAC;IAED;;;OAGG;IACH,kBAAkB,CAAC,MAAc,EAAE,MAAc;QAC/C,MAAM,GAAG,GAAG,GAAG,MAAM,SAAS,MAAM,EAAE,CAAC;QACvC,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC;QAC3C,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACxB,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;;OAKG;IACH,eAAe,CAAC,KAA8D;QAC5E,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACrC,IAAI,IAAI,KAAK,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;YAAE,OAAO;QAC/C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;IAC3G,CAAC;IAED,gFAAgF;IAChF,IAAI,CAAC,MAAc;QACjB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC9B,KAAK,MAAM,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YAAE,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,MAAM,QAAQ,CAAC;gBAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC1G,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACjC,IAAI,IAAI,KAAK,IAAI;YAAE,MAAM,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACnD,CAAC;IAED;;;;OAIG;IACH,aAAa,CAAC,eAAoC;QAChD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC;YAAE,OAAO;QAClC,KAAK,MAAM,IAAI,IAAI,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YACzC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;gBAAE,SAAS;YACvC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YACjC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;gBACjC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YAChD,CAAC;QACH,CAAC;IACH,CAAC;CACF"}
|
package/dist/api/routes.d.ts
CHANGED
|
@@ -72,6 +72,20 @@ export interface RepoGraphReply {
|
|
|
72
72
|
finding?: RepoFinding;
|
|
73
73
|
}
|
|
74
74
|
export { parseEstateTotals };
|
|
75
|
+
/**
|
|
76
|
+
* Turns a failed parse into a 400 body, naming any field the schema does not know.
|
|
77
|
+
*
|
|
78
|
+
* Every schema here is `.strict()`, because zod's default is to STRIP unknown keys — which made a
|
|
79
|
+
* misspelled optional field a silent behaviour change (FINDING-031). `POST /runs {"clis":[...],
|
|
80
|
+
* "workflowId":"feature"}` — core's field names, not the HTTP layer's — answered `201` and ran the
|
|
81
|
+
* full roster with no workflow. Rejecting is only half the fix: a bare "Invalid request body" leaves
|
|
82
|
+
* the caller comparing their JSON against the source, so the unknown keys are named in `error`
|
|
83
|
+
* itself, where a human and a `curl | jq .error` both see it without reading `details`.
|
|
84
|
+
*/
|
|
85
|
+
export declare function invalidBody(err: z.ZodError, what: string): {
|
|
86
|
+
error: string;
|
|
87
|
+
details: z.ZodIssue[];
|
|
88
|
+
};
|
|
75
89
|
export { policyProposalToRule } from './policy-landing.js';
|
|
76
90
|
/**
|
|
77
91
|
* The launch body. Every field but `problem` is optional, which is what made stripping dangerous:
|
|
@@ -204,6 +218,11 @@ export declare const LaunchSchema: z.ZodEffects<z.ZodEffects<z.ZodEffects<z.ZodE
|
|
|
204
218
|
* launch (e.g. a CI job name or a studio tab id). Persisted on the `run.launched` audit entry
|
|
205
219
|
* (`detail.actor`) and served on the run DTO; absent = caller omitted it. */
|
|
206
220
|
actor: z.ZodOptional<z.ZodString>;
|
|
221
|
+
/** crew#825 (api-types additive) — issue refs the intent names that the daemon must NOT read and
|
|
222
|
+
* append (`541`, `#541`, `repo#541`, `owner/repo#541`): a reference in passing is not a request to inline
|
|
223
|
+
* the issue. They are answered as `linkedIssues[].excluded`. Send only when
|
|
224
|
+
* `GET /health.capabilities.linkedIssuesExclude === true`. */
|
|
225
|
+
excludeLinkedIssues: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
207
226
|
}, "strict", z.ZodTypeAny, {
|
|
208
227
|
problem: string;
|
|
209
228
|
workflow?: string | undefined;
|
|
@@ -236,6 +255,7 @@ export declare const LaunchSchema: z.ZodEffects<z.ZodEffects<z.ZodEffects<z.ZodE
|
|
|
236
255
|
retryOf?: string | undefined;
|
|
237
256
|
entityMode?: "shared" | "isolated" | undefined;
|
|
238
257
|
deliverGate?: "auto" | "human" | undefined;
|
|
258
|
+
excludeLinkedIssues?: string[] | undefined;
|
|
239
259
|
}, {
|
|
240
260
|
problem: string;
|
|
241
261
|
workflow?: string | undefined;
|
|
@@ -268,6 +288,7 @@ export declare const LaunchSchema: z.ZodEffects<z.ZodEffects<z.ZodEffects<z.ZodE
|
|
|
268
288
|
retryOf?: string | undefined;
|
|
269
289
|
entityMode?: "shared" | "isolated" | undefined;
|
|
270
290
|
deliverGate?: "auto" | "human" | undefined;
|
|
291
|
+
excludeLinkedIssues?: string[] | undefined;
|
|
271
292
|
}>, {
|
|
272
293
|
problem: string;
|
|
273
294
|
workflow?: string | undefined;
|
|
@@ -300,6 +321,7 @@ export declare const LaunchSchema: z.ZodEffects<z.ZodEffects<z.ZodEffects<z.ZodE
|
|
|
300
321
|
retryOf?: string | undefined;
|
|
301
322
|
entityMode?: "shared" | "isolated" | undefined;
|
|
302
323
|
deliverGate?: "auto" | "human" | undefined;
|
|
324
|
+
excludeLinkedIssues?: string[] | undefined;
|
|
303
325
|
}, {
|
|
304
326
|
problem: string;
|
|
305
327
|
workflow?: string | undefined;
|
|
@@ -332,6 +354,7 @@ export declare const LaunchSchema: z.ZodEffects<z.ZodEffects<z.ZodEffects<z.ZodE
|
|
|
332
354
|
retryOf?: string | undefined;
|
|
333
355
|
entityMode?: "shared" | "isolated" | undefined;
|
|
334
356
|
deliverGate?: "auto" | "human" | undefined;
|
|
357
|
+
excludeLinkedIssues?: string[] | undefined;
|
|
335
358
|
}>, {
|
|
336
359
|
problem: string;
|
|
337
360
|
workflow?: string | undefined;
|
|
@@ -364,6 +387,7 @@ export declare const LaunchSchema: z.ZodEffects<z.ZodEffects<z.ZodEffects<z.ZodE
|
|
|
364
387
|
retryOf?: string | undefined;
|
|
365
388
|
entityMode?: "shared" | "isolated" | undefined;
|
|
366
389
|
deliverGate?: "auto" | "human" | undefined;
|
|
390
|
+
excludeLinkedIssues?: string[] | undefined;
|
|
367
391
|
}, {
|
|
368
392
|
problem: string;
|
|
369
393
|
workflow?: string | undefined;
|
|
@@ -396,6 +420,7 @@ export declare const LaunchSchema: z.ZodEffects<z.ZodEffects<z.ZodEffects<z.ZodE
|
|
|
396
420
|
retryOf?: string | undefined;
|
|
397
421
|
entityMode?: "shared" | "isolated" | undefined;
|
|
398
422
|
deliverGate?: "auto" | "human" | undefined;
|
|
423
|
+
excludeLinkedIssues?: string[] | undefined;
|
|
399
424
|
}>, {
|
|
400
425
|
problem: string;
|
|
401
426
|
workflow?: string | undefined;
|
|
@@ -428,6 +453,7 @@ export declare const LaunchSchema: z.ZodEffects<z.ZodEffects<z.ZodEffects<z.ZodE
|
|
|
428
453
|
retryOf?: string | undefined;
|
|
429
454
|
entityMode?: "shared" | "isolated" | undefined;
|
|
430
455
|
deliverGate?: "auto" | "human" | undefined;
|
|
456
|
+
excludeLinkedIssues?: string[] | undefined;
|
|
431
457
|
}, {
|
|
432
458
|
problem: string;
|
|
433
459
|
workflow?: string | undefined;
|
|
@@ -460,6 +486,7 @@ export declare const LaunchSchema: z.ZodEffects<z.ZodEffects<z.ZodEffects<z.ZodE
|
|
|
460
486
|
retryOf?: string | undefined;
|
|
461
487
|
entityMode?: "shared" | "isolated" | undefined;
|
|
462
488
|
deliverGate?: "auto" | "human" | undefined;
|
|
489
|
+
excludeLinkedIssues?: string[] | undefined;
|
|
463
490
|
}>, {
|
|
464
491
|
problem: string;
|
|
465
492
|
workflow?: string | undefined;
|
|
@@ -492,6 +519,7 @@ export declare const LaunchSchema: z.ZodEffects<z.ZodEffects<z.ZodEffects<z.ZodE
|
|
|
492
519
|
retryOf?: string | undefined;
|
|
493
520
|
entityMode?: "shared" | "isolated" | undefined;
|
|
494
521
|
deliverGate?: "auto" | "human" | undefined;
|
|
522
|
+
excludeLinkedIssues?: string[] | undefined;
|
|
495
523
|
}, {
|
|
496
524
|
problem: string;
|
|
497
525
|
workflow?: string | undefined;
|
|
@@ -524,6 +552,7 @@ export declare const LaunchSchema: z.ZodEffects<z.ZodEffects<z.ZodEffects<z.ZodE
|
|
|
524
552
|
retryOf?: string | undefined;
|
|
525
553
|
entityMode?: "shared" | "isolated" | undefined;
|
|
526
554
|
deliverGate?: "auto" | "human" | undefined;
|
|
555
|
+
excludeLinkedIssues?: string[] | undefined;
|
|
527
556
|
}>, {
|
|
528
557
|
problem: string;
|
|
529
558
|
workflow?: string | undefined;
|
|
@@ -556,6 +585,7 @@ export declare const LaunchSchema: z.ZodEffects<z.ZodEffects<z.ZodEffects<z.ZodE
|
|
|
556
585
|
retryOf?: string | undefined;
|
|
557
586
|
entityMode?: "shared" | "isolated" | undefined;
|
|
558
587
|
deliverGate?: "auto" | "human" | undefined;
|
|
588
|
+
excludeLinkedIssues?: string[] | undefined;
|
|
559
589
|
}, {
|
|
560
590
|
problem: string;
|
|
561
591
|
workflow?: string | undefined;
|
|
@@ -588,6 +618,7 @@ export declare const LaunchSchema: z.ZodEffects<z.ZodEffects<z.ZodEffects<z.ZodE
|
|
|
588
618
|
retryOf?: string | undefined;
|
|
589
619
|
entityMode?: "shared" | "isolated" | undefined;
|
|
590
620
|
deliverGate?: "auto" | "human" | undefined;
|
|
621
|
+
excludeLinkedIssues?: string[] | undefined;
|
|
591
622
|
}>, {
|
|
592
623
|
problem: string;
|
|
593
624
|
workflow?: string | undefined;
|
|
@@ -620,6 +651,7 @@ export declare const LaunchSchema: z.ZodEffects<z.ZodEffects<z.ZodEffects<z.ZodE
|
|
|
620
651
|
retryOf?: string | undefined;
|
|
621
652
|
entityMode?: "shared" | "isolated" | undefined;
|
|
622
653
|
deliverGate?: "auto" | "human" | undefined;
|
|
654
|
+
excludeLinkedIssues?: string[] | undefined;
|
|
623
655
|
}, {
|
|
624
656
|
problem: string;
|
|
625
657
|
workflow?: string | undefined;
|
|
@@ -652,6 +684,7 @@ export declare const LaunchSchema: z.ZodEffects<z.ZodEffects<z.ZodEffects<z.ZodE
|
|
|
652
684
|
retryOf?: string | undefined;
|
|
653
685
|
entityMode?: "shared" | "isolated" | undefined;
|
|
654
686
|
deliverGate?: "auto" | "human" | undefined;
|
|
687
|
+
excludeLinkedIssues?: string[] | undefined;
|
|
655
688
|
}>;
|
|
656
689
|
/** The escalation arms (wicked-core#469 / #467): approve-shaped, no `amend` / `amendScope`.
|
|
657
690
|
* `extend` | `targeted` | `accept_partial` answer the gate of a repo-checks floor that did not
|
|
@@ -1155,7 +1188,7 @@ export interface RuntimeDeps {
|
|
|
1155
1188
|
resolvePullRequest?: (repoRoot: string, number: number) => Promise<PullRequestResolution>;
|
|
1156
1189
|
/** crew#627: how the issues a launch's intent links are read (`gh issue view`, 5 s each).
|
|
1157
1190
|
* Injectable so route tests answer without gh; production uses `core/linked-issues.ts`. */
|
|
1158
|
-
resolveLinkedIssues?: (problem: string, repoRoot: string | undefined, repoRef: string | undefined) => Promise<LinkedIssuesResult>;
|
|
1191
|
+
resolveLinkedIssues?: (problem: string, repoRoot: string | undefined, repoRef: string | undefined, exclude?: readonly string[]) => Promise<LinkedIssuesResult>;
|
|
1159
1192
|
seatHealth?: SeatHealthTracker;
|
|
1160
1193
|
/** wicked-studio#284: the stall watchdog's remembered frames for a run — merged into
|
|
1161
1194
|
* `GET /runs/:id/events` at serve time so a reloaded page sees the `workerStalled` /
|
package/dist/api/routes.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../../src/api/routes.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../../src/api/routes.ts"],"names":[],"mappings":"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"}
|
package/dist/api/routes.js
CHANGED
|
@@ -14,7 +14,7 @@ import { detectRefusal } from './gate-cache.js';
|
|
|
14
14
|
import { acceptanceRequirementOf, buildAcceptanceView } from '../qe/acceptance.js';
|
|
15
15
|
import { runIdentityOf, wireIdentity } from '../core/run-identity.js';
|
|
16
16
|
import { buildEvidenceBundle, coreUnitId, evidenceFilename } from './evidence.js';
|
|
17
|
-
import { outputUnavailableReason, resolveUnit, unitKeysFor } from './unit-output.js';
|
|
17
|
+
import { attemptUnavailableReason, capturedAttempts, outputUnavailableReason, resolveUnit, storedAttempt, unitKeysFor } from './unit-output.js';
|
|
18
18
|
import { execCapped, ExecOutputTooLarge } from '../core/exec.js';
|
|
19
19
|
import { callEstateTool, EstateMcpError, memoryStoreInfo } from '../core/estate-mcp-client.js';
|
|
20
20
|
import { SeatHealthTracker } from './seat-health.js';
|
|
@@ -148,15 +148,28 @@ function message(err) {
|
|
|
148
148
|
* the caller comparing their JSON against the source, so the unknown keys are named in `error`
|
|
149
149
|
* itself, where a human and a `curl | jq .error` both see it without reading `details`.
|
|
150
150
|
*/
|
|
151
|
-
function invalidBody(err, what) {
|
|
151
|
+
export function invalidBody(err, what) {
|
|
152
152
|
const unknown = err.issues.flatMap((i) => (i.code === 'unrecognized_keys' ? i.keys : []));
|
|
153
153
|
const error = unknown.length > 0
|
|
154
154
|
? `${what}: unknown field${unknown.length > 1 ? 's' : ''} ${unknown
|
|
155
155
|
.map((k) => `\`${k}\``)
|
|
156
156
|
.join(', ')} — this endpoint does not accept ${unknown.length > 1 ? 'them' : 'it'}, and ignoring ${unknown.length > 1 ? 'them' : 'it'} would run a different request than you sent`
|
|
157
|
-
: what;
|
|
157
|
+
: namedIssues(what, err.issues);
|
|
158
158
|
return { error, details: err.issues };
|
|
159
159
|
}
|
|
160
|
+
/**
|
|
161
|
+
* crew#662: a schema rejection that is NOT an unknown key names the field and what was expected —
|
|
162
|
+
* `Invalid request body: \`revisesPr\` — Expected number, received boolean`. The bare
|
|
163
|
+
* "Invalid request body" sent a caller off to misdiagnose the contract. Up to three issues are
|
|
164
|
+
* spelled out; the rest are counted (all of them stay in `details`).
|
|
165
|
+
*/
|
|
166
|
+
function namedIssues(what, issues) {
|
|
167
|
+
if (issues.length === 0)
|
|
168
|
+
return what;
|
|
169
|
+
const shown = issues.slice(0, 3).map((i) => (i.path.length > 0 ? `\`${i.path.join('.')}\` — ${i.message}` : i.message));
|
|
170
|
+
const more = issues.length > 3 ? `; and ${issues.length - 3} more (see details)` : '';
|
|
171
|
+
return `${what}: ${shown.join('; ')}${more}`;
|
|
172
|
+
}
|
|
160
173
|
/** First value of a possibly-repeated query param, WITHOUT trimming — `''` is PRESERVED because a
|
|
161
174
|
* blank `scope`/`scope_prefix` is meaningful to estate (root / whole-subtree), unlike an omitted
|
|
162
175
|
* one. Returns undefined only when the param is absent. */
|
|
@@ -313,6 +326,11 @@ const OnboardBodySchema = z
|
|
|
313
326
|
// compile time, that every body the published contract (`wicked-crew-api-types`) lets a client
|
|
314
327
|
// send is a body these schemas accept — the request-direction half of the drift guard (task #84).
|
|
315
328
|
export { PlanSchema };
|
|
329
|
+
/** crew#825: the issue refs a launch leaves out of the linked-issue expansion. */
|
|
330
|
+
const ExcludeLinkedIssuesSchema = z
|
|
331
|
+
.array(z.string().regex(/^\s*(?:\d+|(?:(?:[\w.-]+\/)?[\w.-]+)?#\d+)\s*$/, 'an issue ref: 541, #541, repo#541 or owner/repo#541'))
|
|
332
|
+
.max(50)
|
|
333
|
+
.optional();
|
|
316
334
|
export const LaunchSchema = z.object({
|
|
317
335
|
problem: z.string().min(1),
|
|
318
336
|
sessionId: z.string().min(1).optional(),
|
|
@@ -375,6 +393,11 @@ export const LaunchSchema = z.object({
|
|
|
375
393
|
* launch (e.g. a CI job name or a studio tab id). Persisted on the `run.launched` audit entry
|
|
376
394
|
* (`detail.actor`) and served on the run DTO; absent = caller omitted it. */
|
|
377
395
|
actor: z.string().min(1).max(256).optional(),
|
|
396
|
+
/** crew#825 (api-types additive) — issue refs the intent names that the daemon must NOT read and
|
|
397
|
+
* append (`541`, `#541`, `repo#541`, `owner/repo#541`): a reference in passing is not a request to inline
|
|
398
|
+
* the issue. They are answered as `linkedIssues[].excluded`. Send only when
|
|
399
|
+
* `GET /health.capabilities.linkedIssuesExclude === true`. */
|
|
400
|
+
excludeLinkedIssues: ExcludeLinkedIssuesSchema,
|
|
378
401
|
}).strict().refine((b) => b.plan === undefined || b.workflow === undefined, {
|
|
379
402
|
message: 'plan and workflow are mutually exclusive — a launch carries a plan or names a preset, not both',
|
|
380
403
|
path: ['plan'],
|
|
@@ -764,7 +787,8 @@ runtime = {}) {
|
|
|
764
787
|
/** DES-L9: PR number → head branch, through `gh pr view` unless the runtime injected an answerer. */
|
|
765
788
|
const resolvePullRequest = runtime.resolvePullRequest ?? resolvePullRequestViaGh;
|
|
766
789
|
/** crew#627: the intent's linked issues, read under the daemon's identity at launch. */
|
|
767
|
-
const readLinkedIssues = runtime.resolveLinkedIssues ??
|
|
790
|
+
const readLinkedIssues = runtime.resolveLinkedIssues ??
|
|
791
|
+
((p, root, ref, exclude) => resolveLinkedIssues(p, root, ref, undefined, exclude));
|
|
768
792
|
/** crew#550 P-7: the follow-ups the run's evaluator units flagged, read from their captured output.
|
|
769
793
|
* A unit whose output cannot be read contributes nothing (the section then says what WAS read);
|
|
770
794
|
* an adapter without transcripts (a directly-driven route set) reads as "not read" — absent. */
|
|
@@ -1000,6 +1024,8 @@ runtime = {}) {
|
|
|
1000
1024
|
: { deliverGate: false, revisesPr: false, chatIdOnLaunch: false, seatChipOnCreate: false }),
|
|
1001
1025
|
// C1: `AgentSession.chat_id` is served from the daemon's own launch index, whatever the engine.
|
|
1002
1026
|
runChatId: true,
|
|
1027
|
+
// crew#825: `LaunchRunBody.excludeLinkedIssues` + `POST /linked-issues/preview` are served.
|
|
1028
|
+
linkedIssuesExclude: true,
|
|
1003
1029
|
// ASK-C1 (DES-ASK-TEAM-CHAT-001 §5.1): an ask starts a path — the whole contract is the
|
|
1004
1030
|
// pinned core-ts floor the adapter reports; an older studio reads ABSENT as "every helper
|
|
1005
1031
|
// answers", a newer one renders the one PA voice.
|
|
@@ -1586,6 +1612,33 @@ runtime = {}) {
|
|
|
1586
1612
|
const projectAttachError = await recordOnboardingLaunch(req, runId, repo.id, body.data);
|
|
1587
1613
|
return reply.code(201).send({ runId, ...(projectAttachError !== undefined ? { projectAttachError } : {}) });
|
|
1588
1614
|
});
|
|
1615
|
+
// crew#825: what a workflow launch WOULD append — the same reading `POST /runs` does, before Send,
|
|
1616
|
+
// so the composer shows "N linked issues will be appended (≈K chars)" with a way to leave one out
|
|
1617
|
+
// (`excludeLinkedIssues`). Read-only: nothing launches, nothing is stored.
|
|
1618
|
+
const LinkedIssuesPreviewSchema = z
|
|
1619
|
+
.object({
|
|
1620
|
+
problem: z.string().min(1),
|
|
1621
|
+
repoRef: z.string().min(1).optional(),
|
|
1622
|
+
excludeLinkedIssues: ExcludeLinkedIssuesSchema,
|
|
1623
|
+
})
|
|
1624
|
+
.strict();
|
|
1625
|
+
app.post(`${V}/linked-issues/preview`, { config: { manifest: { requestType: 'LinkedIssuesPreviewBody', responseType: 'LinkedIssuesPreviewResponse', statusCodes: [200, 400] } } }, async (req, reply) => {
|
|
1626
|
+
const parsed = LinkedIssuesPreviewSchema.safeParse(req.body);
|
|
1627
|
+
if (!parsed.success)
|
|
1628
|
+
return reply.code(400).send(invalidBody(parsed.error, 'Invalid request body'));
|
|
1629
|
+
const b = parsed.data;
|
|
1630
|
+
// The launch's own best-effort contract (codex on this PR): a resolver fault launches on the
|
|
1631
|
+
// intent alone, so the preview answers "nothing appended" and says why — never a 500.
|
|
1632
|
+
try {
|
|
1633
|
+
const root = b.repoRef !== undefined ? await repoRootOf(b.repoRef) : undefined;
|
|
1634
|
+
const linked = await readLinkedIssues(b.problem, root, b.repoRef, b.excludeLinkedIssues ?? []);
|
|
1635
|
+
return { issues: linked.issues, appendedChars: linked.block === null ? 0 : linked.block.length + 2 };
|
|
1636
|
+
}
|
|
1637
|
+
catch (err) {
|
|
1638
|
+
req.log.warn(`linked-issue preview failed; a launch would run on the intent alone: ${message(err)}`);
|
|
1639
|
+
return { issues: [], appendedChars: 0, error: `linked issues could not be read: ${message(err)} — a launch now runs on the intent alone` };
|
|
1640
|
+
}
|
|
1641
|
+
});
|
|
1589
1642
|
// Launch a run (replaces POST /sessions). `clisJson` defaults to the roster;
|
|
1590
1643
|
// `sessionId` is minted if the client omits it.
|
|
1591
1644
|
app.post(`${V}/runs`, {
|
|
@@ -1798,11 +1851,12 @@ runtime = {}) {
|
|
|
1798
1851
|
// fault (the repo list unreadable, say) launches the run on its intent alone and is logged.
|
|
1799
1852
|
try {
|
|
1800
1853
|
const root = b.repoRef !== undefined ? await repoRootOf(b.repoRef) : undefined;
|
|
1801
|
-
const linked = await readLinkedIssues(b.problem, root, b.repoRef);
|
|
1802
|
-
if (linked.block !== null)
|
|
1854
|
+
const linked = await readLinkedIssues(b.problem, root, b.repoRef, b.excludeLinkedIssues ?? []);
|
|
1855
|
+
if (linked.block !== null)
|
|
1803
1856
|
input.problem = `${b.problem.trimEnd()}\n\n${linked.block}`;
|
|
1857
|
+
// crew#825: an all-excluded intent appends nothing but still answers what it left out.
|
|
1858
|
+
if (linked.issues.length > 0)
|
|
1804
1859
|
linkedIssues = linked.issues;
|
|
1805
|
-
}
|
|
1806
1860
|
}
|
|
1807
1861
|
catch (err) {
|
|
1808
1862
|
req.log.warn(`linked-issue resolution failed; launching on the intent alone: ${message(err)}`);
|
|
@@ -1899,7 +1953,11 @@ runtime = {}) {
|
|
|
1899
1953
|
// planner (one unit, the brief verbatim). Say so in the answer, with how to get work done,
|
|
1900
1954
|
// instead of letting it pass for a launch of real work.
|
|
1901
1955
|
const freeText = input.workflow === undefined && input.plan === undefined ? { freeText: { notice: FREE_TEXT_NOTICE } } : {};
|
|
1902
|
-
|
|
1956
|
+
// crew#874: the run uses the PUBLISHED generation; when the installed garden is not the one it
|
|
1957
|
+
// was built from, the launch answer says so (a recorded proof can disclose which garden ran).
|
|
1958
|
+
const skillsAhead = runtime.skills?.installedAheadFinding({ fresh: true }) ?? null; // fresh: an upgrade just before Send counts (codex r1)
|
|
1959
|
+
const skillsWarning = skillsAhead === null ? {} : { skillsWarning: { kind: skillsAhead.kind, severity: skillsAhead.severity, message: skillsAhead.message } };
|
|
1960
|
+
return reply.code(201).send({ runId, ...(linkedIssues !== undefined ? { linkedIssues } : {}), ...freeText, ...skillsWarning });
|
|
1903
1961
|
}
|
|
1904
1962
|
catch (err) {
|
|
1905
1963
|
const msg = message(err);
|
|
@@ -3009,7 +3067,9 @@ runtime = {}) {
|
|
|
3009
3067
|
refused: chatScopes.refusedOf(id) ?? null,
|
|
3010
3068
|
...(askPaths.view(id) !== undefined ? { path: askPaths.view(id) } : {}),
|
|
3011
3069
|
// DES-L5 (D-13): the transcript so far, append order — `[]` before the first persisted
|
|
3012
|
-
// turn
|
|
3070
|
+
// turn. The file goes with the chat on `chatClosed` UNLESS a run promoted from it is still
|
|
3071
|
+
// live (crew#619 retention — dropped when that run terminals), so a reclaimed id answers
|
|
3072
|
+
// `[]` only once no promoted run holds the old file.
|
|
3013
3073
|
...(chatTranscripts !== undefined ? { messages: chatTranscripts.read(id) } : {}),
|
|
3014
3074
|
};
|
|
3015
3075
|
}
|
|
@@ -3085,12 +3145,48 @@ runtime = {}) {
|
|
|
3085
3145
|
units: unitKeysFor(run),
|
|
3086
3146
|
});
|
|
3087
3147
|
}
|
|
3148
|
+
const rawAttempt = req.query.attempt;
|
|
3149
|
+
const attemptArg = Array.isArray(rawAttempt) ? rawAttempt[0] : rawAttempt;
|
|
3150
|
+
const wanted = attemptArg === undefined || attemptArg === '' ? undefined : /^\d{1,9}$/.test(attemptArg) ? Number(attemptArg) : NaN;
|
|
3151
|
+
if (wanted !== undefined && !Number.isSafeInteger(wanted)) {
|
|
3152
|
+
return reply.code(400).send({ error: '`attempt` must be a non-negative integer' });
|
|
3153
|
+
}
|
|
3088
3154
|
// Keyed off the unit RECORD (the same derivation the evidence bundle uses), not off the
|
|
3089
3155
|
// caller's path segment — the two disagreeing is what made a resolvable unit unreadable.
|
|
3090
3156
|
const output = await adapter.workOutput(coreUnitId(id, unit));
|
|
3091
|
-
|
|
3092
|
-
|
|
3093
|
-
|
|
3157
|
+
// crew#848: which attempt those bytes are. The engine keeps one transcript per unit (the last
|
|
3158
|
+
// attempt that folded ok); the durable log has one `unitOutputCaptured` per attempt.
|
|
3159
|
+
const events = typeof adapter.runEvents === 'function' ? await adapter.runEvents(id).catch(() => null) : null;
|
|
3160
|
+
const attempts = capturedAttempts((events ?? []), unit.ord);
|
|
3161
|
+
const served = output !== null ? storedAttempt(attempts, output) : null;
|
|
3162
|
+
const latest = attempts[attempts.length - 1];
|
|
3163
|
+
const meta = {
|
|
3164
|
+
...(served !== null ? { attempt: served } : {}),
|
|
3165
|
+
...(latest !== undefined ? { latestAttempt: latest.attempt } : {}),
|
|
3166
|
+
...(events !== null ? { attempts } : {}),
|
|
3167
|
+
};
|
|
3168
|
+
if (served !== null)
|
|
3169
|
+
void reply.header('x-wicked-unit-attempt', String(served));
|
|
3170
|
+
if (wanted !== undefined) {
|
|
3171
|
+
const rec = attempts.find((a) => a.attempt === wanted);
|
|
3172
|
+
if (rec === undefined) {
|
|
3173
|
+
return reply.code(404).send({
|
|
3174
|
+
error: `Unit ${unit.ord} of run ${id} has no attempt ${wanted} on record`,
|
|
3175
|
+
attempts: attempts.map((a) => a.attempt),
|
|
3176
|
+
});
|
|
3177
|
+
}
|
|
3178
|
+
if (output !== null && served === wanted)
|
|
3179
|
+
return reply.send({ output, ...meta });
|
|
3180
|
+
return reply.send({ output: null, ...meta, attempt: wanted, outputUnavailable: attemptUnavailableReason(unit, rec, served) });
|
|
3181
|
+
}
|
|
3182
|
+
if (output !== null) {
|
|
3183
|
+
// A later attempt that left no transcript: the stored bytes are SUPERSEDED — say so, and why.
|
|
3184
|
+
if (served !== null && latest !== undefined && latest.attempt > served) {
|
|
3185
|
+
return reply.send({ output, ...meta, superseded: true, latestUnavailable: attemptUnavailableReason(unit, latest, served) });
|
|
3186
|
+
}
|
|
3187
|
+
return reply.send({ output, ...meta });
|
|
3188
|
+
}
|
|
3189
|
+
return reply.send({ output: null, ...meta, outputUnavailable: outputUnavailableReason(unit) });
|
|
3094
3190
|
});
|
|
3095
3191
|
// DC-S7 (§4.6): what the seats considered, set aside and cited for one chat turn or one unit
|
|
3096
3192
|
// attempt. Operator+ (the rules are the project's doctrine). A cited rule is "unchecked", never
|