@claudexor/control-api 3.0.4 → 3.1.1

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.
Files changed (56) hide show
  1. package/dist/artifact-serve-routes.d.ts +46 -1
  2. package/dist/artifact-serve-routes.d.ts.map +1 -1
  3. package/dist/artifact-serve-routes.js +172 -8
  4. package/dist/artifact-serve-routes.js.map +1 -1
  5. package/dist/candidates.d.ts.map +1 -1
  6. package/dist/candidates.js +14 -1
  7. package/dist/candidates.js.map +1 -1
  8. package/dist/daemon-server.d.ts +67 -3
  9. package/dist/daemon-server.d.ts.map +1 -1
  10. package/dist/daemon-server.js +349 -50
  11. package/dist/daemon-server.js.map +1 -1
  12. package/dist/operation-catalog.d.ts +10 -1
  13. package/dist/operation-catalog.d.ts.map +1 -1
  14. package/dist/operation-catalog.js +150 -18
  15. package/dist/operation-catalog.js.map +1 -1
  16. package/dist/operation-parameters.d.ts +34 -0
  17. package/dist/operation-parameters.d.ts.map +1 -0
  18. package/dist/operation-parameters.js +52 -0
  19. package/dist/operation-parameters.js.map +1 -0
  20. package/dist/problem-response.d.ts +43 -0
  21. package/dist/problem-response.d.ts.map +1 -1
  22. package/dist/problem-response.js +192 -0
  23. package/dist/problem-response.js.map +1 -1
  24. package/dist/project-routes.d.ts +1 -0
  25. package/dist/project-routes.d.ts.map +1 -1
  26. package/dist/project-routes.js +18 -1
  27. package/dist/project-routes.js.map +1 -1
  28. package/dist/run-apply-routes.d.ts +6 -1
  29. package/dist/run-apply-routes.d.ts.map +1 -1
  30. package/dist/run-apply-routes.js +32 -2
  31. package/dist/run-apply-routes.js.map +1 -1
  32. package/dist/run-events-stream.d.ts.map +1 -1
  33. package/dist/run-events-stream.js +99 -64
  34. package/dist/run-events-stream.js.map +1 -1
  35. package/dist/run-list.d.ts +74 -0
  36. package/dist/run-list.d.ts.map +1 -0
  37. package/dist/run-list.js +156 -0
  38. package/dist/run-list.js.map +1 -0
  39. package/dist/run-retry-routes.d.ts.map +1 -1
  40. package/dist/run-retry-routes.js +78 -2
  41. package/dist/run-retry-routes.js.map +1 -1
  42. package/dist/run-start.d.ts +14 -1
  43. package/dist/run-start.d.ts.map +1 -1
  44. package/dist/run-start.js +60 -1
  45. package/dist/run-start.js.map +1 -1
  46. package/dist/run-timeline.d.ts +44 -3
  47. package/dist/run-timeline.d.ts.map +1 -1
  48. package/dist/run-timeline.js +143 -24
  49. package/dist/run-timeline.js.map +1 -1
  50. package/dist/thread-projection.d.ts.map +1 -1
  51. package/dist/thread-projection.js +6 -0
  52. package/dist/thread-projection.js.map +1 -1
  53. package/dist/thread-turn-routes.d.ts.map +1 -1
  54. package/dist/thread-turn-routes.js +20 -23
  55. package/dist/thread-turn-routes.js.map +1 -1
  56. package/package.json +6 -6
@@ -1 +1 @@
1
- {"version":3,"file":"run-events-stream.js","sourceRoot":"","sources":["../src/run-events-stream.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run-events-stream.js","sourceRoot":"","sources":["../src/run-events-stream.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,74 @@
1
+ /**
2
+ * GET /v2/runs pagination + cache-bounding helpers (QA-052).
3
+ *
4
+ * The route used to map EVERY retained daemon record on every call, silently
5
+ * ignore `limit`/`state`/`cursor`, and clear its whole summary cache past a
6
+ * guard. This module owns the honest, bounded server half:
7
+ * - a strict typed query (limit / state / opaque keyset cursor);
8
+ * - deterministic newest-first `(createdAt desc, id desc)` ordering;
9
+ * - keyset paging that survives concurrent inserts/prunes (walks the set once,
10
+ * no duplicates or omissions), so projection work is bounded by page size
11
+ * rather than total retained records;
12
+ * - an LRU-bounded map primitive so the summary cache evicts its oldest entry
13
+ * instead of a wholesale clear-and-rehydrate thrash.
14
+ */
15
+ import { ControlRunState } from "@claudexor/schema";
16
+ /** Only the record fields keyset ordering + cursors depend on (structural). */
17
+ export interface RunListRecord {
18
+ id: string;
19
+ state: string;
20
+ createdAt?: string;
21
+ }
22
+ export interface RunListCursor {
23
+ createdAt: string;
24
+ id: string;
25
+ }
26
+ export interface RunListQuery {
27
+ limit: number;
28
+ state: ControlRunState | null;
29
+ cursor: RunListCursor | null;
30
+ }
31
+ /**
32
+ * Parse + validate the GET /v2/runs query. Unknown params are refused (strict
33
+ * doctrine, matching sibling routes that call `assertOnlyQueryParams`); a typoed
34
+ * `limit`, a foreign `state`, or a malformed `cursor` fails loudly with a typed
35
+ * 400 instead of being silently ignored.
36
+ */
37
+ export declare function parseRunListQuery(url: URL): RunListQuery;
38
+ /** Newest-first deterministic order: `(createdAt desc, id desc)`. Records with
39
+ * no `createdAt` sort last (empty string) with `id` as the stable tiebreak, so
40
+ * the traversal is total and duplicate-free even across foreign record shapes. */
41
+ export declare function orderRunRecords<T extends RunListRecord>(records: readonly T[]): T[];
42
+ /**
43
+ * Index of the first record strictly after `cursor` within an already-ordered
44
+ * list. Comparison-based (not id-equality) so a cursor whose record was pruned
45
+ * between pages still resumes at the correct neighbor — no duplicate, no gap.
46
+ */
47
+ export declare function indexAfterCursor(ordered: readonly RunListRecord[], cursor: RunListCursor): number;
48
+ export declare function encodeRunCursor(rec: RunListRecord): string;
49
+ /** Strict opaque-cursor decode: base64url alphabet only, exactly one separator,
50
+ * non-empty id. Anything else is a typed 400 (never a silent full-list fall
51
+ * back), mirroring the QA-061 run-event cursor contract. */
52
+ export declare function decodeRunCursor(raw: string): RunListCursor;
53
+ /**
54
+ * Select one bounded page from the raw daemon records: order newest-first,
55
+ * apply the optional `state` filter, then keyset-slice by cursor + limit. All of
56
+ * it happens on the raw records BEFORE any summary is materialized, so the
57
+ * caller only fingerprints/projects the returned page — work bounded by page
58
+ * size, not total retained records (QA-052).
59
+ */
60
+ export declare function selectRunListPage<T extends RunListRecord>(records: readonly T[], query: RunListQuery): {
61
+ page: T[];
62
+ hasMore: boolean;
63
+ nextCursor: string | null;
64
+ };
65
+ /** Move an existing key to the most-recently-used position and read it. */
66
+ export declare function lruGet<K, V>(map: Map<K, V>, key: K): V | undefined;
67
+ /**
68
+ * Insert/refresh `key` at the MRU position, then evict least-recently-used keys
69
+ * until the map is within `cap`. Replaces the old wholesale `.clear()` guard:
70
+ * one stale entry drops at a time, so a large retained set never triggers a
71
+ * full-cache rehydration wave.
72
+ */
73
+ export declare function lruSet<K, V>(map: Map<K, V>, key: K, value: V, cap: number): void;
74
+ //# sourceMappingURL=run-list.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run-list.d.ts","sourceRoot":"","sources":["../src/run-list.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAGpD,+EAA+E;AAC/E,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAUD,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,eAAe,GAAG,IAAI,CAAC;IAC9B,MAAM,EAAE,aAAa,GAAG,IAAI,CAAC;CAC9B;AAcD;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,GAAG,GAAG,YAAY,CAoCxD;AAED;;kFAEkF;AAClF,wBAAgB,eAAe,CAAC,CAAC,SAAS,aAAa,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE,GAAG,CAAC,EAAE,CAQnF;AAUD;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,SAAS,aAAa,EAAE,EAAE,MAAM,EAAE,aAAa,GAAG,MAAM,CAIjG;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,aAAa,GAAG,MAAM,CAE1D;AAED;;4DAE4D;AAC5D,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa,CAiB1D;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,aAAa,EACvD,OAAO,EAAE,SAAS,CAAC,EAAE,EACrB,KAAK,EAAE,YAAY,GAClB;IAAE,IAAI,EAAE,CAAC,EAAE,CAAC;IAAC,OAAO,EAAE,OAAO,CAAC;IAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAQ5D;AAED,2EAA2E;AAC3E,wBAAgB,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,SAAS,CAOlE;AAED;;;;;GAKG;AACH,wBAAgB,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAQhF"}
@@ -0,0 +1,156 @@
1
+ /**
2
+ * GET /v2/runs pagination + cache-bounding helpers (QA-052).
3
+ *
4
+ * The route used to map EVERY retained daemon record on every call, silently
5
+ * ignore `limit`/`state`/`cursor`, and clear its whole summary cache past a
6
+ * guard. This module owns the honest, bounded server half:
7
+ * - a strict typed query (limit / state / opaque keyset cursor);
8
+ * - deterministic newest-first `(createdAt desc, id desc)` ordering;
9
+ * - keyset paging that survives concurrent inserts/prunes (walks the set once,
10
+ * no duplicates or omissions), so projection work is bounded by page size
11
+ * rather than total retained records;
12
+ * - an LRU-bounded map primitive so the summary cache evicts its oldest entry
13
+ * instead of a wholesale clear-and-rehydrate thrash.
14
+ */
15
+ import { ControlRunState } from "@claudexor/schema";
16
+ import { assertOnlyQueryParams, singleQuery } from "./query.js";
17
+ /** Default page size when the caller sends no `limit` — newest-first, so the
18
+ * default page always contains every active (queued/running) run a thread-first
19
+ * client needs to discover without downloading all terminal history. */
20
+ const RUN_LIST_DEFAULT_LIMIT = 200;
21
+ /** Hard cap on an explicit `limit`; a larger request is a typed 400, never a
22
+ * silently honored unbounded read. */
23
+ const RUN_LIST_MAX_LIMIT = 1_000;
24
+ function invalidRunListQuery(message, code) {
25
+ return Object.assign(new Error(message), {
26
+ status: 400,
27
+ code,
28
+ requiredActions: code === "invalid_run_list_cursor" ? ["resnapshot"] : ["retry_with_valid_query"],
29
+ });
30
+ }
31
+ /**
32
+ * Parse + validate the GET /v2/runs query. Unknown params are refused (strict
33
+ * doctrine, matching sibling routes that call `assertOnlyQueryParams`); a typoed
34
+ * `limit`, a foreign `state`, or a malformed `cursor` fails loudly with a typed
35
+ * 400 instead of being silently ignored.
36
+ */
37
+ export function parseRunListQuery(url) {
38
+ assertOnlyQueryParams(url, ["limit", "state", "cursor"]);
39
+ let limit = RUN_LIST_DEFAULT_LIMIT;
40
+ const limitRaw = singleQuery(url, "limit");
41
+ if (limitRaw !== undefined) {
42
+ if (!/^[1-9][0-9]*$/.test(limitRaw)) {
43
+ throw invalidRunListQuery("limit must be a positive integer", "invalid_run_list_query");
44
+ }
45
+ const value = Number(limitRaw);
46
+ if (!Number.isSafeInteger(value) || value > RUN_LIST_MAX_LIMIT) {
47
+ throw invalidRunListQuery(`limit must be between 1 and ${RUN_LIST_MAX_LIMIT}`, "invalid_run_list_query");
48
+ }
49
+ limit = value;
50
+ }
51
+ let state = null;
52
+ const stateRaw = singleQuery(url, "state");
53
+ if (stateRaw !== undefined) {
54
+ const parsed = ControlRunState.safeParse(stateRaw);
55
+ if (!parsed.success) {
56
+ throw invalidRunListQuery(`state must be one of: ${ControlRunState.options.join(", ")}`, "invalid_run_list_query");
57
+ }
58
+ state = parsed.data;
59
+ }
60
+ const cursorRaw = singleQuery(url, "cursor");
61
+ const cursor = cursorRaw === undefined ? null : decodeRunCursor(cursorRaw);
62
+ return { limit, state, cursor };
63
+ }
64
+ /** Newest-first deterministic order: `(createdAt desc, id desc)`. Records with
65
+ * no `createdAt` sort last (empty string) with `id` as the stable tiebreak, so
66
+ * the traversal is total and duplicate-free even across foreign record shapes. */
67
+ export function orderRunRecords(records) {
68
+ return [...records].sort((a, b) => {
69
+ const ac = a.createdAt ?? "";
70
+ const bc = b.createdAt ?? "";
71
+ if (ac !== bc)
72
+ return ac < bc ? 1 : -1;
73
+ if (a.id !== b.id)
74
+ return a.id < b.id ? 1 : -1;
75
+ return 0;
76
+ });
77
+ }
78
+ /** True when `rec` sorts strictly AFTER the cursor key in newest-first order
79
+ * (i.e. is older, or same instant with a smaller id). */
80
+ function recordSortsAfterCursor(rec, cursor) {
81
+ const rc = rec.createdAt ?? "";
82
+ if (rc !== cursor.createdAt)
83
+ return rc < cursor.createdAt;
84
+ return rec.id < cursor.id;
85
+ }
86
+ /**
87
+ * Index of the first record strictly after `cursor` within an already-ordered
88
+ * list. Comparison-based (not id-equality) so a cursor whose record was pruned
89
+ * between pages still resumes at the correct neighbor — no duplicate, no gap.
90
+ */
91
+ export function indexAfterCursor(ordered, cursor) {
92
+ let i = 0;
93
+ while (i < ordered.length && !recordSortsAfterCursor(ordered[i], cursor))
94
+ i++;
95
+ return i;
96
+ }
97
+ export function encodeRunCursor(rec) {
98
+ return Buffer.from(`${rec.createdAt ?? ""}\0${rec.id}`, "utf8").toString("base64url");
99
+ }
100
+ /** Strict opaque-cursor decode: base64url alphabet only, exactly one separator,
101
+ * non-empty id. Anything else is a typed 400 (never a silent full-list fall
102
+ * back), mirroring the QA-061 run-event cursor contract. */
103
+ export function decodeRunCursor(raw) {
104
+ if (!/^[A-Za-z0-9_-]+$/.test(raw)) {
105
+ throw invalidRunListQuery("cursor is malformed; refetch the run list and resume from its nextCursor", "invalid_run_list_cursor");
106
+ }
107
+ const decoded = Buffer.from(raw, "base64url").toString("utf8");
108
+ const sep = decoded.indexOf("\0");
109
+ const id = sep < 0 ? "" : decoded.slice(sep + 1);
110
+ if (sep < 0 || id.length === 0 || id.includes("\0")) {
111
+ throw invalidRunListQuery("cursor is malformed; refetch the run list and resume from its nextCursor", "invalid_run_list_cursor");
112
+ }
113
+ return { createdAt: decoded.slice(0, sep), id };
114
+ }
115
+ /**
116
+ * Select one bounded page from the raw daemon records: order newest-first,
117
+ * apply the optional `state` filter, then keyset-slice by cursor + limit. All of
118
+ * it happens on the raw records BEFORE any summary is materialized, so the
119
+ * caller only fingerprints/projects the returned page — work bounded by page
120
+ * size, not total retained records (QA-052).
121
+ */
122
+ export function selectRunListPage(records, query) {
123
+ const ordered = orderRunRecords(records);
124
+ const filtered = query.state ? ordered.filter((r) => r.state === query.state) : ordered;
125
+ const start = query.cursor ? indexAfterCursor(filtered, query.cursor) : 0;
126
+ const page = filtered.slice(start, start + query.limit);
127
+ const hasMore = start + page.length < filtered.length;
128
+ const tail = page[page.length - 1];
129
+ return { page, hasMore, nextCursor: hasMore && tail ? encodeRunCursor(tail) : null };
130
+ }
131
+ /** Move an existing key to the most-recently-used position and read it. */
132
+ export function lruGet(map, key) {
133
+ const value = map.get(key);
134
+ if (value !== undefined) {
135
+ map.delete(key);
136
+ map.set(key, value);
137
+ }
138
+ return value;
139
+ }
140
+ /**
141
+ * Insert/refresh `key` at the MRU position, then evict least-recently-used keys
142
+ * until the map is within `cap`. Replaces the old wholesale `.clear()` guard:
143
+ * one stale entry drops at a time, so a large retained set never triggers a
144
+ * full-cache rehydration wave.
145
+ */
146
+ export function lruSet(map, key, value, cap) {
147
+ map.delete(key);
148
+ map.set(key, value);
149
+ while (map.size > cap) {
150
+ const oldest = map.keys().next().value;
151
+ if (oldest === undefined)
152
+ break;
153
+ map.delete(oldest);
154
+ }
155
+ }
156
+ //# sourceMappingURL=run-list.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run-list.js","sourceRoot":"","sources":["../src/run-list.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"run-retry-routes.d.ts","sourceRoot":"","sources":["../src/run-retry-routes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAMjE,OAAO,KAAK,EACV,uBAAuB,EACvB,kBAAkB,EAClB,eAAe,EAChB,MAAM,oBAAoB,CAAC;AAI5B,KAAK,aAAa,GAAG,IAAI,CACvB,WAAW,CAAC,uBAAuB,CAAC,UAAU,CAAC,CAAC,EAC9C,kBAAkB,GAClB,qBAAqB,GACrB,cAAc,GACd,mBAAmB,GACnB,0BAA0B,CAC7B,CAAC;AAEF,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,kBAAkB,CAAC;IAC3B,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAAC;IACrD,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;IACzD,IAAI,CAAC,QAAQ,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,IAAI,CAAC;IACpE,YAAY,CAAC,QAAQ,EAAE,cAAc,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,CAAC;CAC9D;AAED,wBAAsB,mBAAmB,CACvC,GAAG,EAAE,oBAAoB,EACzB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,eAAe,EACpB,GAAG,EAAE,cAAc,GAClB,OAAO,CAAC,OAAO,CAAC,CAYlB"}
1
+ {"version":3,"file":"run-retry-routes.d.ts","sourceRoot":"","sources":["../src/run-retry-routes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAWjE,OAAO,KAAK,EACV,uBAAuB,EACvB,kBAAkB,EAClB,eAAe,EAChB,MAAM,oBAAoB,CAAC;AAK5B,KAAK,aAAa,GAAG,IAAI,CACvB,WAAW,CAAC,uBAAuB,CAAC,UAAU,CAAC,CAAC,EAC9C,kBAAkB,GAClB,qBAAqB,GACrB,cAAc,GACd,mBAAmB,GACnB,0BAA0B,CAC7B,CAAC;AAEF,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,kBAAkB,CAAC;IAC3B,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAAC;IACrD,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;IACzD,IAAI,CAAC,QAAQ,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,IAAI,CAAC;IACpE,YAAY,CAAC,QAAQ,EAAE,cAAc,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,CAAC;CAC9D;AAED,wBAAsB,mBAAmB,CACvC,GAAG,EAAE,oBAAoB,EACzB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,eAAe,EACpB,GAAG,EAAE,cAAc,GAClB,OAAO,CAAC,OAAO,CAAC,CAYlB"}
@@ -1,5 +1,9 @@
1
- import { ControlRunAgainDraft, ControlRunRetryResponse, ControlRunStartRequest, } from "@claudexor/schema";
1
+ import { readFileSync } from "node:fs";
2
+ import { join } from "node:path";
3
+ import { parse as parseYaml } from "yaml";
4
+ import { ControlRunAgainDraft, ControlRunRetryResponse, ControlRunStartRequest, TaskContract, } from "@claudexor/schema";
2
5
  import { recordTurnEnqueueFailure } from "./thread-turn-routes.js";
6
+ import { TERMINAL_STATES } from "./sse-shared.js";
3
7
  import * as runStart from "./run-start.js";
4
8
  export async function handleRunRetryRoute(ctx, method, path, req, res) {
5
9
  const retryMatch = /^\/runs\/([^/]+)\/retry$/.exec(path);
@@ -27,8 +31,20 @@ async function exactRetry(ctx, id, req, res) {
27
31
  idempotencyKey = runStart.requiredIdempotencyKey(req);
28
32
  const parsed = ControlRunStartRequest.parse(await sourceParamsWithThreadAttachments(ctx, source));
29
33
  const { turnId: _turnId, retryOf: _retryOf, ...original } = parsed;
34
+ // QA-035: Exact Retry replays the IMMUTABLE original request. The stored
35
+ // params omit any model/effort the caller left to settings, so re-reading
36
+ // current settings would silently change the route after a settings edit.
37
+ // Replay the values the engine FROZE into the source run's TaskContract
38
+ // (routing_models / routing_efforts) — a value the caller stated explicitly
39
+ // still wins.
40
+ const frozen = readFrozenRouting(source);
30
41
  params = runStart.normalizeRunStart({
31
42
  ...original,
43
+ ...(frozen.models ? { models: { ...frozen.models, ...(original.models ?? {}) } } : {}),
44
+ // QA-035 completeness: replay the FROZEN per-lane efforts map so a
45
+ // non-primary lane keeps its own effort (the old scalar collapse dropped
46
+ // it). Frozen entries merge UNDER anything the caller stated explicitly.
47
+ ...(frozen.efforts ? { efforts: { ...frozen.efforts, ...(original.efforts ?? {}) } } : {}),
32
48
  parentRunId: source.runId ?? source.id,
33
49
  retryOf: source.runId ?? source.id,
34
50
  });
@@ -70,6 +86,27 @@ async function exactRetry(ctx, id, req, res) {
70
86
  return ctx.requestError(res, error);
71
87
  }
72
88
  const accepted = await ctx.waitForRunStart(job.id);
89
+ if (!accepted.runId && TERMINAL_STATES.has(accepted.state)) {
90
+ // The replayed job died BEFORE it bound a run (e.g. the trust gate's typed
91
+ // 403). A 202 here would hand the caller a durable handle for a run that
92
+ // will never exist, and `claudexor retry` would exit 0 on a refusal. POST
93
+ // /runs and POST /threads/:id/turns already project a pre-start terminal
94
+ // as its typed failure; Exact Retry was the one surface that did not.
95
+ //
96
+ // The status mapping deliberately follows POST /runs
97
+ // (`runStart.unboundRunStartResponse`): the persisted `errorStatus`
98
+ // verbatim, otherwise 500. The sibling turn surface
99
+ // (`preStartRefusalStatus` in thread-turn-routes.ts) additionally maps a
100
+ // status-less `trust_full_access_required` to 403, so a trust refusal
101
+ // recorded WITHOUT an errorStatus is mapped differently by the two
102
+ // surfaces. Unifying them is out of scope here.
103
+ const { status, body } = runStart.unboundRunStartResponse(accepted, true);
104
+ return ctx.json(res, status, {
105
+ ...body,
106
+ retryOf: sourceRunId,
107
+ ...(retryTurnId ? { turnId: retryTurnId } : {}),
108
+ });
109
+ }
73
110
  ctx.json(res, accepted.runId ? 200 : 202, ControlRunRetryResponse.parse({
74
111
  retryOf: sourceRunId,
75
112
  jobId: accepted.id,
@@ -84,7 +121,12 @@ async function runAgain(ctx, id, res) {
84
121
  return ctx.json(res, 404, { error: "no such run" });
85
122
  try {
86
123
  const parsed = ControlRunStartRequest.parse(await sourceParamsWithThreadAttachments(ctx, source));
87
- const { turnId, retryOf, planRunId, ...request } = parsed;
124
+ // Strip EVERY server-owned binding, with disclosure: the draft is an
125
+ // editable POST /runs request, and POST /runs 400s threadId/planRef (they
126
+ // belong to the turn pipeline) — surviving here would make the draft
127
+ // unpostable, and a replayed planRef would smuggle the frozen-plan
128
+ // reference past the boundary (INV-081). Same set as decision-rerun.
129
+ const { turnId, retryOf, planRunId, planRef, threadId, ...request } = parsed;
88
130
  const differences = [
89
131
  ...(turnId
90
132
  ? [{ field: "turnId", change: "omitted", reason: "server-owned turn binding" }]
@@ -95,6 +137,18 @@ async function runAgain(ctx, id, res) {
95
137
  ...(planRunId
96
138
  ? [{ field: "planRunId", change: "omitted", reason: "server-owned plan binding" }]
97
139
  : []),
140
+ ...(planRef
141
+ ? [
142
+ {
143
+ field: "planRef",
144
+ change: "omitted",
145
+ reason: "server-owned frozen-plan reference",
146
+ },
147
+ ]
148
+ : []),
149
+ ...(threadId
150
+ ? [{ field: "threadId", change: "omitted", reason: "server-owned thread binding" }]
151
+ : []),
98
152
  ];
99
153
  ctx.json(res, 200, ControlRunAgainDraft.parse({ sourceRunId: source.runId ?? source.id, request, differences }));
100
154
  }
@@ -102,6 +156,28 @@ async function runAgain(ctx, id, res) {
102
156
  ctx.requestError(res, error);
103
157
  }
104
158
  }
159
+ /** QA-035: read the model/effort the engine froze into the source run's
160
+ * TaskContract. Exact Retry injects these as the immutable route so a settings
161
+ * change between runs cannot silently re-resolve the model or drop the effort.
162
+ * The efforts are replayed as the WHOLE per-lane map (not a single primary-lane
163
+ * scalar) so a non-primary lane keeps its own frozen effort. A missing/old/
164
+ * unreadable contract yields nothing — retry then behaves exactly as before. */
165
+ function readFrozenRouting(source) {
166
+ if (!source.runDir)
167
+ return {};
168
+ let contract;
169
+ try {
170
+ contract = TaskContract.parse(parseYaml(readFileSync(join(source.runDir, "context", "task.yaml"), "utf8")));
171
+ }
172
+ catch {
173
+ return {};
174
+ }
175
+ const models = Object.keys(contract.routing_models).length > 0 ? contract.routing_models : undefined;
176
+ const efforts = Object.keys(contract.routing_efforts).length > 0
177
+ ? contract.routing_efforts
178
+ : undefined;
179
+ return { ...(models ? { models } : {}), ...(efforts ? { efforts } : {}) };
180
+ }
105
181
  async function sourceParamsWithThreadAttachments(ctx, source) {
106
182
  const params = source.params && typeof source.params === "object" && !Array.isArray(source.params)
107
183
  ? { ...source.params }
@@ -1 +1 @@
1
- {"version":3,"file":"run-retry-routes.js","sourceRoot":"","sources":["../src/run-retry-routes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run-retry-routes.js","sourceRoot":"","sources":["../src/run-retry-routes.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import type { IncomingMessage, ServerResponse } from "node:http";
2
2
  import { ControlRunStartRequest } from "@claudexor/schema";
3
- import type { DaemonFacadeClient } from "./daemon-server.js";
3
+ import type { DaemonFacadeClient, DaemonRunRecord } from "./daemon-server.js";
4
4
  export declare function validateAbsoluteRepoRoot(repoRoot: string): string | null;
5
5
  export declare function normalizeRunStart(parsed: ControlRunStartRequest): ControlRunStartRequest;
6
6
  /**
@@ -18,6 +18,10 @@ export interface RunCreateRouteContext {
18
18
  validateResources?: (refs: NonNullable<ControlRunStartRequest["attachments"]>) => Promise<void>;
19
19
  preflightRunRequirements?: (request: ControlRunStartRequest) => Promise<void>;
20
20
  }
21
+ export declare function unboundRunStartResponse(rec: DaemonRunRecord, terminal: boolean): {
22
+ status: number;
23
+ body: Record<string, unknown>;
24
+ };
21
25
  /** POST /v2/runs: validates, deduplicates, durably enqueues, then returns its handle.
22
26
  *
23
27
  * D10: POST /runs is the ONE-SHOT, THREAD-LESS run surface. A thread turn is
@@ -27,4 +31,13 @@ export interface RunCreateRouteContext {
27
31
  * turn past the turn pipeline would skip continuity entirely. */
28
32
  export declare function handleRunCreate(ctx: RunCreateRouteContext, req: IncomingMessage, res: ServerResponse): Promise<void>;
29
33
  export declare function requiredIdempotencyKey(req: IncomingMessage): string;
34
+ /**
35
+ * An OPTIONAL Idempotency-Key: `undefined` when the client sent none, the
36
+ * validated value when present. Unlike `requiredIdempotencyKey` an absent header
37
+ * is NOT a 400 — it selects legacy non-idempotent behavior for operations whose
38
+ * key is optional (the current installed macOS app sends no key). A present but
39
+ * malformed key still fails loudly (a key the client believed it sent must not
40
+ * silently degrade to non-idempotent).
41
+ */
42
+ export declare function optionalIdempotencyKey(req: IncomingMessage): string | undefined;
30
43
  //# sourceMappingURL=run-start.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"run-start.d.ts","sourceRoot":"","sources":["../src/run-start.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAEjE,OAAO,EAAE,sBAAsB,EAA8B,MAAM,mBAAmB,CAAC;AAEvF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAI7D,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAExE;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,sBAAsB,GAAG,sBAAsB,CA2DxF;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,OAAO,GAAG,sBAAsB,CAG7E;AAED,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,kBAAkB,CAAC;IAC3B,QAAQ,CAAC,GAAG,EAAE,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACjD,YAAY,CAAC,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,CAAC;IACxD,IAAI,CAAC,GAAG,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,IAAI,CAAC;IAC/D,oBAAoB,CAAC,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACxE,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,WAAW,CAAC,sBAAsB,CAAC,aAAa,CAAC,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAChG,wBAAwB,CAAC,EAAE,CAAC,OAAO,EAAE,sBAAsB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/E;AAED;;;;;;iEAMiE;AACjE,wBAAsB,eAAe,CACnC,GAAG,EAAE,qBAAqB,EAC1B,GAAG,EAAE,eAAe,EACpB,GAAG,EAAE,cAAc,GAClB,OAAO,CAAC,IAAI,CAAC,CAoEf;AAED,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,eAAe,GAAG,MAAM,CAiBnE"}
1
+ {"version":3,"file":"run-start.d.ts","sourceRoot":"","sources":["../src/run-start.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAEjE,OAAO,EAEL,sBAAsB,EAEvB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,KAAK,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAI9E,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAExE;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,sBAAsB,GAAG,sBAAsB,CA2DxF;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,OAAO,GAAG,sBAAsB,CAG7E;AAED,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,kBAAkB,CAAC;IAC3B,QAAQ,CAAC,GAAG,EAAE,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACjD,YAAY,CAAC,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,CAAC;IACxD,IAAI,CAAC,GAAG,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,IAAI,CAAC;IAC/D,oBAAoB,CAAC,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACxE,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,WAAW,CAAC,sBAAsB,CAAC,aAAa,CAAC,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAChG,wBAAwB,CAAC,EAAE,CAAC,OAAO,EAAE,sBAAsB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/E;AAED,wBAAgB,uBAAuB,CACrC,GAAG,EAAE,eAAe,EACpB,QAAQ,EAAE,OAAO,GAChB;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,CAsBnD;AAED;;;;;;iEAMiE;AACjE,wBAAsB,eAAe,CACnC,GAAG,EAAE,qBAAqB,EAC1B,GAAG,EAAE,eAAe,EACpB,GAAG,EAAE,cAAc,GAClB,OAAO,CAAC,IAAI,CAAC,CA+Ef;AAED,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,eAAe,GAAG,MAAM,CAiBnE;AAED;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,eAAe,GAAG,MAAM,GAAG,SAAS,CAiB/E"}
package/dist/run-start.js CHANGED
@@ -6,7 +6,7 @@
6
6
  */
7
7
  import { existsSync, lstatSync, mkdirSync } from "node:fs";
8
8
  import { isAbsolute } from "node:path";
9
- import { ControlRunStartRequest, runStartStrategyViolations } from "@claudexor/schema";
9
+ import { ControlQueuedRunInfo, ControlRunStartRequest, runStartStrategyViolations, } from "@claudexor/schema";
10
10
  import { assertNoInlineSecretValues, noProjectRepoRoot } from "@claudexor/util";
11
11
  const NO_PROJECT_ROOT = noProjectRepoRoot();
12
12
  export function validateAbsoluteRepoRoot(repoRoot) {
@@ -71,6 +71,28 @@ export function normalizeRunStartRequest(raw) {
71
71
  assertNoInlineSecretValues(raw);
72
72
  return normalizeRunStart(ControlRunStartRequest.parse(raw ?? {}));
73
73
  }
74
+ export function unboundRunStartResponse(rec, terminal) {
75
+ // errorStatus is served verbatim only inside the failure range; anything
76
+ // else (absent, or a non-4xx/5xx value from a defective writer) must not
77
+ // turn a terminal failure body into a 2xx/3xx response.
78
+ const errorStatus = typeof rec.errorStatus === "number" &&
79
+ Number.isInteger(rec.errorStatus) &&
80
+ rec.errorStatus >= 400 &&
81
+ rec.errorStatus <= 599
82
+ ? rec.errorStatus
83
+ : 500;
84
+ return {
85
+ status: terminal ? errorStatus : 202,
86
+ body: {
87
+ ...ControlQueuedRunInfo.parse({ jobId: rec.id, state: rec.state, error: rec.error }),
88
+ ...(rec.errorCode ? { code: rec.errorCode } : {}),
89
+ // Only a TYPED refusal proves non-retryability; an untyped terminal
90
+ // (e.g. cancelled or interrupted before a run dir bound) makes no
91
+ // retryability claim, matching the pre-change body.
92
+ ...(terminal && rec.errorCode ? { retryable: false } : {}),
93
+ },
94
+ };
95
+ }
74
96
  /** POST /v2/runs: validates, deduplicates, durably enqueues, then returns its handle.
75
97
  *
76
98
  * D10: POST /runs is the ONE-SHOT, THREAD-LESS run surface. A thread turn is
@@ -118,6 +140,16 @@ export async function handleRunCreate(ctx, req, res) {
118
140
  error: "planRunId is not accepted on POST /runs; use POST /threads/:id/turns (the turn pipeline implements the plan)",
119
141
  });
120
142
  }
143
+ if (params.planRef) {
144
+ // The frozen-plan reference is the tamper fence's INPUT: the orchestrator
145
+ // trusts its sha256 by construction (INV-081), so a client-supplied
146
+ // planRef would let a loopback caller point the plan brief at an
147
+ // arbitrary file with a self-consistent hash. Only the daemon-internal
148
+ // turn pipeline may mint one.
149
+ return ctx.json(res, 400, {
150
+ error: "planRef is not accepted on POST /runs; the frozen-plan reference is server-owned and minted by POST /threads/:id/turns at implement time",
151
+ });
152
+ }
121
153
  if (params.retryOf) {
122
154
  return ctx.json(res, 400, {
123
155
  error: "retryOf is server-owned; use POST /runs/:id/retry for Exact Retry",
@@ -167,4 +199,31 @@ export function requiredIdempotencyKey(req) {
167
199
  }
168
200
  return value;
169
201
  }
202
+ /**
203
+ * An OPTIONAL Idempotency-Key: `undefined` when the client sent none, the
204
+ * validated value when present. Unlike `requiredIdempotencyKey` an absent header
205
+ * is NOT a 400 — it selects legacy non-idempotent behavior for operations whose
206
+ * key is optional (the current installed macOS app sends no key). A present but
207
+ * malformed key still fails loudly (a key the client believed it sent must not
208
+ * silently degrade to non-idempotent).
209
+ */
210
+ export function optionalIdempotencyKey(req) {
211
+ const header = req.headers["idempotency-key"];
212
+ if (header === undefined)
213
+ return undefined;
214
+ if (Array.isArray(header) || typeof header !== "string" || !header.trim()) {
215
+ throw Object.assign(new Error("Idempotency-Key, when present, must be a non-empty value"), {
216
+ code: "invalid_idempotency_key",
217
+ status: 400,
218
+ });
219
+ }
220
+ const value = header.trim();
221
+ if (value.length > 256) {
222
+ throw Object.assign(new Error("Idempotency-Key must contain 1-256 characters"), {
223
+ code: "invalid_idempotency_key",
224
+ status: 400,
225
+ });
226
+ }
227
+ return value;
228
+ }
170
229
  //# sourceMappingURL=run-start.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"run-start.js","sourceRoot":"","sources":["../src/run-start.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run-start.js","sourceRoot":"","sources":["../src/run-start.ts"],"names":[],"mappings":"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"}