cueline 0.1.6 → 0.2.0

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 (188) hide show
  1. package/.claude-plugin/plugin.json +1 -1
  2. package/.codex-plugin/plugin.json +1 -1
  3. package/CHANGELOG.md +50 -0
  4. package/README.ja.md +77 -30
  5. package/README.ko.md +77 -30
  6. package/README.md +71 -29
  7. package/README.zh-CN.md +77 -30
  8. package/README.zh-TW.md +74 -29
  9. package/config/routing.schema.json +3 -0
  10. package/dist/src/api-caller-work.js +58 -14
  11. package/dist/src/api-caller-work.js.map +1 -1
  12. package/dist/src/api-contracts.d.ts +56 -0
  13. package/dist/src/api-controller-handoff.d.ts +5 -1
  14. package/dist/src/api-controller-handoff.js +178 -38
  15. package/dist/src/api-controller-handoff.js.map +1 -1
  16. package/dist/src/api-run-verification.d.ts +3 -0
  17. package/dist/src/api-run-verification.js +174 -0
  18. package/dist/src/api-run-verification.js.map +1 -0
  19. package/dist/src/api-runtime-lifecycle.d.ts +6 -1
  20. package/dist/src/api-runtime-lifecycle.js +97 -8
  21. package/dist/src/api-runtime-lifecycle.js.map +1 -1
  22. package/dist/src/api.d.ts +26 -4
  23. package/dist/src/api.js +111 -40
  24. package/dist/src/api.js.map +1 -1
  25. package/dist/src/browser/browser-adapter.d.ts +41 -0
  26. package/dist/src/browser/codex-iab/bootstrap.d.ts +21 -0
  27. package/dist/src/browser/codex-iab/bootstrap.js +174 -9
  28. package/dist/src/browser/codex-iab/bootstrap.js.map +1 -1
  29. package/dist/src/browser/codex-iab/chatgpt-client.d.ts +3 -0
  30. package/dist/src/browser/codex-iab/chatgpt-client.js +216 -70
  31. package/dist/src/browser/codex-iab/chatgpt-client.js.map +1 -1
  32. package/dist/src/browser/codex-iab/probe.d.ts +36 -0
  33. package/dist/src/browser/codex-iab/probe.js +217 -0
  34. package/dist/src/browser/codex-iab/probe.js.map +1 -0
  35. package/dist/src/browser/codex-iab/recovery-evidence.d.ts +1 -1
  36. package/dist/src/browser/codex-iab/recovery-evidence.js +7 -10
  37. package/dist/src/browser/codex-iab/recovery-evidence.js.map +1 -1
  38. package/dist/src/browser/codex-iab/selectors.d.ts +1 -0
  39. package/dist/src/browser/codex-iab/selectors.js +1 -0
  40. package/dist/src/browser/codex-iab/selectors.js.map +1 -1
  41. package/dist/src/browser/codex-iab/send-button.d.ts +5 -0
  42. package/dist/src/browser/codex-iab/send-button.js +62 -0
  43. package/dist/src/browser/codex-iab/send-button.js.map +1 -0
  44. package/dist/src/browser/codex-iab/submission-url.js +6 -15
  45. package/dist/src/browser/codex-iab/submission-url.js.map +1 -1
  46. package/dist/src/browser/codex-iab/tab-discovery.js +45 -12
  47. package/dist/src/browser/codex-iab/tab-discovery.js.map +1 -1
  48. package/dist/src/browser/codex-iab/timing-options.d.ts +1 -0
  49. package/dist/src/browser/codex-iab/timing-options.js +5 -0
  50. package/dist/src/browser/codex-iab/timing-options.js.map +1 -0
  51. package/dist/src/cli/health-commands.d.ts +2 -0
  52. package/dist/src/cli/health-commands.js +265 -0
  53. package/dist/src/cli/health-commands.js.map +1 -0
  54. package/dist/src/cli/io.d.ts +4 -0
  55. package/dist/src/cli/io.js +2 -0
  56. package/dist/src/cli/io.js.map +1 -0
  57. package/dist/src/cli/main.d.ts +1 -5
  58. package/dist/src/cli/main.js +187 -84
  59. package/dist/src/cli/main.js.map +1 -1
  60. package/dist/src/cli/observation-commands.d.ts +2 -0
  61. package/dist/src/cli/observation-commands.js +350 -0
  62. package/dist/src/cli/observation-commands.js.map +1 -0
  63. package/dist/src/cli/run-status-view.d.ts +87 -0
  64. package/dist/src/cli/run-status-view.js +121 -0
  65. package/dist/src/cli/run-status-view.js.map +1 -0
  66. package/dist/src/core/controller-command-execution.d.ts +2 -2
  67. package/dist/src/core/controller-command-execution.js +82 -16
  68. package/dist/src/core/controller-command-execution.js.map +1 -1
  69. package/dist/src/core/controller-conversation-archive.d.ts +11 -0
  70. package/dist/src/core/controller-conversation-archive.js +109 -0
  71. package/dist/src/core/controller-conversation-archive.js.map +1 -0
  72. package/dist/src/core/controller-loop.d.ts +7 -1
  73. package/dist/src/core/controller-loop.js +136 -23
  74. package/dist/src/core/controller-loop.js.map +1 -1
  75. package/dist/src/core/controller-turn.d.ts +21 -3
  76. package/dist/src/core/controller-turn.js +182 -41
  77. package/dist/src/core/controller-turn.js.map +1 -1
  78. package/dist/src/core/controller-types.d.ts +2 -0
  79. package/dist/src/core/conversation-url.d.ts +3 -0
  80. package/dist/src/core/conversation-url.js +34 -0
  81. package/dist/src/core/conversation-url.js.map +1 -0
  82. package/dist/src/core/run-status.d.ts +17 -2
  83. package/dist/src/core/run-status.js +64 -25
  84. package/dist/src/core/run-status.js.map +1 -1
  85. package/dist/src/core/state-machine.d.ts +36 -1
  86. package/dist/src/core/state-machine.js +242 -13
  87. package/dist/src/core/state-machine.js.map +1 -1
  88. package/dist/src/core/timing.d.ts +9 -0
  89. package/dist/src/core/timing.js +22 -0
  90. package/dist/src/core/timing.js.map +1 -0
  91. package/dist/src/diagnostics/run-doctor.d.ts +22 -0
  92. package/dist/src/diagnostics/run-doctor.js +197 -0
  93. package/dist/src/diagnostics/run-doctor.js.map +1 -0
  94. package/dist/src/jobs/status.d.ts +5 -2
  95. package/dist/src/jobs/status.js +172 -12
  96. package/dist/src/jobs/status.js.map +1 -1
  97. package/dist/src/jobs/supervisor.js +57 -8
  98. package/dist/src/jobs/supervisor.js.map +1 -1
  99. package/dist/src/observation/run-diff.d.ts +39 -0
  100. package/dist/src/observation/run-diff.js +67 -0
  101. package/dist/src/observation/run-diff.js.map +1 -0
  102. package/dist/src/observation/run-graph.d.ts +17 -0
  103. package/dist/src/observation/run-graph.js +77 -0
  104. package/dist/src/observation/run-graph.js.map +1 -0
  105. package/dist/src/observation/run-handoff.d.ts +86 -0
  106. package/dist/src/observation/run-handoff.js +309 -0
  107. package/dist/src/observation/run-handoff.js.map +1 -0
  108. package/dist/src/observation/run-status-at.d.ts +41 -0
  109. package/dist/src/observation/run-status-at.js +65 -0
  110. package/dist/src/observation/run-status-at.js.map +1 -0
  111. package/dist/src/observation/run-timeline.d.ts +32 -0
  112. package/dist/src/observation/run-timeline.js +279 -0
  113. package/dist/src/observation/run-timeline.js.map +1 -0
  114. package/dist/src/observation/run-watch.d.ts +15 -0
  115. package/dist/src/observation/run-watch.js +82 -0
  116. package/dist/src/observation/run-watch.js.map +1 -0
  117. package/dist/src/protocol/limits.d.ts +3 -0
  118. package/dist/src/protocol/limits.js +4 -0
  119. package/dist/src/protocol/limits.js.map +1 -0
  120. package/dist/src/protocol/lint-command.d.ts +24 -0
  121. package/dist/src/protocol/lint-command.js +210 -0
  122. package/dist/src/protocol/lint-command.js.map +1 -0
  123. package/dist/src/protocol/parse-command.js +4 -0
  124. package/dist/src/protocol/parse-command.js.map +1 -1
  125. package/dist/src/protocol/types.d.ts +12 -0
  126. package/dist/src/protocol/validate-command.js +76 -3
  127. package/dist/src/protocol/validate-command.js.map +1 -1
  128. package/dist/src/router/config-loader.js +23 -2
  129. package/dist/src/router/config-loader.js.map +1 -1
  130. package/dist/src/router/explain.d.ts +28 -0
  131. package/dist/src/router/explain.js +86 -0
  132. package/dist/src/router/explain.js.map +1 -0
  133. package/dist/src/router/resolver.d.ts +2 -1
  134. package/dist/src/router/resolver.js +11 -6
  135. package/dist/src/router/resolver.js.map +1 -1
  136. package/dist/src/runners/process-runner.js +55 -12
  137. package/dist/src/runners/process-runner.js.map +1 -1
  138. package/dist/src/runners/runner-adapter.d.ts +2 -0
  139. package/dist/src/runners/runner-adapter.js.map +1 -1
  140. package/dist/src/state/atomic-write.d.ts +6 -0
  141. package/dist/src/state/atomic-write.js +43 -2
  142. package/dist/src/state/atomic-write.js.map +1 -1
  143. package/dist/src/state/cancellation.js +38 -4
  144. package/dist/src/state/cancellation.js.map +1 -1
  145. package/dist/src/state/event-log.js +5 -4
  146. package/dist/src/state/event-log.js.map +1 -1
  147. package/dist/src/state/private-directory.d.ts +5 -0
  148. package/dist/src/state/private-directory.js +37 -0
  149. package/dist/src/state/private-directory.js.map +1 -0
  150. package/dist/src/state/runtime-lease.js +19 -39
  151. package/dist/src/state/runtime-lease.js.map +1 -1
  152. package/dist/src/state/runtime-record-validation.d.ts +6 -0
  153. package/dist/src/state/runtime-record-validation.js +44 -0
  154. package/dist/src/state/runtime-record-validation.js.map +1 -0
  155. package/dist/src/state/runtime-retirement.js +58 -18
  156. package/dist/src/state/runtime-retirement.js.map +1 -1
  157. package/dist/src/state/runtime-takeover-intent.js +2 -2
  158. package/dist/src/state/runtime-takeover-intent.js.map +1 -1
  159. package/dist/src/state/store.d.ts +1 -0
  160. package/dist/src/state/store.js +12 -6
  161. package/dist/src/state/store.js.map +1 -1
  162. package/dist/src/version.d.ts +1 -1
  163. package/dist/src/version.js +1 -1
  164. package/docs/architecture.md +4 -4
  165. package/docs/assets/README.md +3 -1
  166. package/docs/assets/cueline-architecture-en.svg +63 -0
  167. package/docs/assets/cueline-architecture-ja.svg +63 -0
  168. package/docs/assets/cueline-architecture-ko.svg +63 -0
  169. package/docs/assets/cueline-architecture-zh-CN.svg +63 -0
  170. package/docs/assets/cueline-architecture-zh-TW.svg +63 -0
  171. package/docs/assets/cueline-states-en.svg +50 -0
  172. package/docs/assets/cueline-states-ja.svg +48 -0
  173. package/docs/assets/cueline-states-ko.svg +48 -0
  174. package/docs/assets/cueline-states-zh-CN.svg +48 -0
  175. package/docs/assets/cueline-states-zh-TW.svg +48 -0
  176. package/docs/compatibility.md +1 -1
  177. package/docs/controller-protocol.md +44 -7
  178. package/docs/experiments/protocol-lint.md +40 -0
  179. package/docs/experiments/run-doctor.md +39 -0
  180. package/docs/experiments/run-handoff.md +39 -0
  181. package/docs/experiments/run-timeline.md +35 -0
  182. package/docs/experiments/run-watch.md +31 -0
  183. package/docs/multi-model-routing.md +256 -0
  184. package/docs/runner-contract.md +4 -3
  185. package/docs/state-and-recovery.md +45 -5
  186. package/package.json +1 -1
  187. package/schemas/controller-command.schema.json +89 -4
  188. package/skills/cueline/SKILL.md +13 -7
@@ -0,0 +1 @@
1
+ {"version":3,"file":"explain.js","sourceRoot":"","sources":["../../../src/router/explain.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
- import type { LaneConfig, ResolvedRoute, RouteAvailability, RoutingConfig } from "./types.js";
1
+ import type { LaneConfig, ResolvedRoute, RouteAvailability, RouteCandidate, RoutingConfig } from "./types.js";
2
2
  export declare function validateRouteReference(lane: string, config: RoutingConfig, requestedCandidateId?: string): LaneConfig;
3
+ export declare function routeCandidateIsAvailable(availability: RouteAvailability, candidate: RouteCandidate, lane: string): boolean;
3
4
  /**
4
5
  * Chooses a candidate before any runner is invoked. This function never spawns
5
6
  * a process and therefore cannot perform post-spawn fallback.
@@ -1,6 +1,8 @@
1
1
  import { CueLineError } from "../core/errors.js";
2
2
  export function validateRouteReference(lane, config, requestedCandidateId) {
3
- const laneConfig = config.lanes[lane];
3
+ const laneConfig = Object.hasOwn(config.lanes, lane)
4
+ ? config.lanes[lane]
5
+ : undefined;
4
6
  if (laneConfig === undefined) {
5
7
  const runnerLanes = Object.entries(config.lanes)
6
8
  .filter(([, candidateLane]) => candidateLane.candidates.some((candidate) => candidate.id === lane))
@@ -27,16 +29,19 @@ export function validateRouteReference(lane, config, requestedCandidateId) {
27
29
  return laneConfig;
28
30
  }
29
31
  function isAvailabilityChecker(value) {
30
- return typeof value === "object" && value !== null && "isAvailable" in value;
32
+ return (typeof value === "object" &&
33
+ value !== null &&
34
+ Object.hasOwn(value, "isAvailable") &&
35
+ typeof value.isAvailable === "function");
31
36
  }
32
- function isAvailable(availability, candidate, lane) {
37
+ export function routeCandidateIsAvailable(availability, candidate, lane) {
33
38
  if (typeof availability === "function") {
34
39
  return availability(candidate, lane);
35
40
  }
36
41
  if (isAvailabilityChecker(availability)) {
37
42
  return availability.isAvailable(candidate, lane);
38
43
  }
39
- return availability[candidate.id] === true;
44
+ return Object.hasOwn(availability, candidate.id) && availability[candidate.id] === true;
40
45
  }
41
46
  /**
42
47
  * Chooses a candidate before any runner is invoked. This function never spawns
@@ -52,7 +57,7 @@ export function resolveRoute(lane, config, availability, requestedCandidateId) {
52
57
  if (candidate === undefined || candidate.enabled === false) {
53
58
  throw new Error("ROUTE_REFERENCE_VALIDATION_INCONSISTENT");
54
59
  }
55
- if (!isAvailable(availability, candidate, lane)) {
60
+ if (!routeCandidateIsAvailable(availability, candidate, lane)) {
56
61
  throw new CueLineError("ROUTE_RUNNER_UNAVAILABLE", `runner '${requestedCandidateId}' is unavailable for lane: ${lane}`, { details: { lane, runner: requestedCandidateId } });
57
62
  }
58
63
  return { lane, candidate, candidateIndex };
@@ -62,7 +67,7 @@ export function resolveRoute(lane, config, availability, requestedCandidateId) {
62
67
  if (candidate === undefined || candidate.enabled === false) {
63
68
  continue;
64
69
  }
65
- if (isAvailable(availability, candidate, lane)) {
70
+ if (routeCandidateIsAvailable(availability, candidate, lane)) {
66
71
  return { lane, candidate, candidateIndex };
67
72
  }
68
73
  }
@@ -1 +1 @@
1
- {"version":3,"file":"resolver.js","sourceRoot":"","sources":["../../../src/router/resolver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resolver.js","sourceRoot":"","sources":["../../../src/router/resolver.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,43 @@
1
1
  import { spawn } from "node:child_process";
2
2
  import { CueLineError } from "../core/errors.js";
3
3
  import { runtimeEnvironment, runtimePlatform } from "../core/runtime.js";
4
+ import { validatedTimerDelay } from "../core/timing.js";
4
5
  import { RunnerRegistry } from "./registry.js";
6
+ const MAX_CAPTURED_STREAM_CHARS = 512_000;
7
+ const PROCESS_METADATA_CHARS = 16_384;
8
+ class BoundedTextCapture {
9
+ #headLimit;
10
+ #tailLimit;
11
+ #head = "";
12
+ #tail = "";
13
+ #totalChars = 0;
14
+ constructor(limit) {
15
+ this.#headLimit = Math.ceil(limit / 2);
16
+ this.#tailLimit = Math.floor(limit / 2);
17
+ }
18
+ append(value) {
19
+ this.#totalChars += value.length;
20
+ const headSpace = this.#headLimit - this.#head.length;
21
+ const headAddition = headSpace > 0 ? value.slice(0, headSpace) : "";
22
+ this.#head += headAddition;
23
+ const remainder = value.slice(headAddition.length);
24
+ if (remainder !== "") {
25
+ this.#tail = `${this.#tail}${remainder}`.slice(-this.#tailLimit);
26
+ }
27
+ }
28
+ get truncatedChars() {
29
+ return Math.max(0, this.#totalChars - this.#head.length - this.#tail.length);
30
+ }
31
+ get prefix() {
32
+ return this.#head;
33
+ }
34
+ value() {
35
+ const truncated = this.truncatedChars;
36
+ if (truncated === 0)
37
+ return `${this.#head}${this.#tail}`;
38
+ return `${this.#head}\n...[truncated ${truncated} chars]...\n${this.#tail}`;
39
+ }
40
+ }
5
41
  function combineOutput(stdout, stderr) {
6
42
  if (stdout.length === 0) {
7
43
  return stderr;
@@ -88,11 +124,10 @@ export class ProcessRunner {
88
124
  if (this.#environment.CUELINE_DEPTH !== undefined || spec.env?.CUELINE_DEPTH !== undefined) {
89
125
  throw new CueLineError("NESTED_ROUTING_REJECTED", "nested CueLine routing is not allowed");
90
126
  }
91
- if (!Number.isFinite(spec.timeoutMs) || spec.timeoutMs <= 0) {
92
- throw new CueLineError("PROCESS_TIMEOUT_INVALID", "process timeout must be a positive finite number", {
93
- details: { timeoutMs: spec.timeoutMs },
94
- });
95
- }
127
+ validatedTimerDelay(spec.timeoutMs, {
128
+ code: "PROCESS_TIMEOUT_INVALID",
129
+ name: "process timeout",
130
+ });
96
131
  const registered = this.registry.requireArgv(spec.argv);
97
132
  const executable = spec.argv[0];
98
133
  if (executable === undefined) {
@@ -142,8 +177,8 @@ export class ProcessRunner {
142
177
  ...spec.env,
143
178
  CUELINE_DEPTH: "1",
144
179
  };
145
- let stdout = "";
146
- let stderr = "";
180
+ const stdoutCapture = new BoundedTextCapture(MAX_CAPTURED_STREAM_CHARS);
181
+ const stderrCapture = new BoundedTextCapture(MAX_CAPTURED_STREAM_CHARS);
147
182
  let timedOut = false;
148
183
  let cancelled = false;
149
184
  let settled = false;
@@ -169,12 +204,20 @@ export class ProcessRunner {
169
204
  terminateProcessTree(child, "SIGKILL");
170
205
  }
171
206
  spec.signal?.removeEventListener("abort", cancel);
207
+ const stdout = stdoutCapture.value();
208
+ const stderr = stderrCapture.value();
172
209
  const output = combineOutput(stdout, stderr);
173
210
  resolve({
174
211
  status,
175
212
  exitCode,
176
213
  stdout,
177
214
  stderr,
215
+ ...(stdoutCapture.truncatedChars === 0
216
+ ? {}
217
+ : { stdoutTruncatedChars: stdoutCapture.truncatedChars }),
218
+ ...(stderrCapture.truncatedChars === 0
219
+ ? {}
220
+ : { stderrTruncatedChars: stderrCapture.truncatedChars }),
178
221
  output,
179
222
  emptyOutput: output.length === 0,
180
223
  timedOut,
@@ -212,7 +255,7 @@ export class ProcessRunner {
212
255
  });
213
256
  }
214
257
  catch (error) {
215
- stderr = errorText(error);
258
+ stderrCapture.append(errorText(error));
216
259
  finish("failed", null);
217
260
  return;
218
261
  }
@@ -226,7 +269,7 @@ export class ProcessRunner {
226
269
  cancel();
227
270
  child.stdout?.setEncoding("utf8");
228
271
  child.stdout?.on("data", (chunk) => {
229
- stdout += chunk.toString();
272
+ stdoutCapture.append(chunk.toString());
230
273
  emitProgress("producing_output", {
231
274
  ...(observedModel === undefined ? {} : { model: observedModel }),
232
275
  ...(observedProvider === undefined ? {} : { provider: observedProvider }),
@@ -234,8 +277,8 @@ export class ProcessRunner {
234
277
  });
235
278
  child.stderr?.setEncoding("utf8");
236
279
  child.stderr?.on("data", (chunk) => {
237
- stderr += chunk.toString();
238
- const metadata = processMetadata(stderr.slice(0, 16_384));
280
+ stderrCapture.append(chunk.toString());
281
+ const metadata = processMetadata(stderrCapture.prefix.slice(0, PROCESS_METADATA_CHARS));
239
282
  const changed = (metadata.model !== undefined && metadata.model !== observedModel) ||
240
283
  (metadata.provider !== undefined && metadata.provider !== observedProvider);
241
284
  observedModel = metadata.model ?? observedModel;
@@ -251,7 +294,7 @@ export class ProcessRunner {
251
294
  child.stdin?.end(spec.stdin, "utf8");
252
295
  }
253
296
  child.once("error", (error) => {
254
- stderr += errorText(error);
297
+ stderrCapture.append(errorText(error));
255
298
  finish(cancelled ? (spec.mode === "work" ? "ambiguous" : "cancelled") : "failed", null);
256
299
  });
257
300
  child.once("close", (exitCode) => {
@@ -1 +1 @@
1
- {"version":3,"file":"process-runner.js","sourceRoot":"","sources":["../../../src/runners/process-runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"process-runner.js","sourceRoot":"","sources":["../../../src/runners/process-runner.ts"],"names":[],"mappings":"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"}
@@ -23,6 +23,8 @@ export interface JobResult {
23
23
  exitCode: number | null;
24
24
  stdout: string;
25
25
  stderr: string;
26
+ stdoutTruncatedChars?: number;
27
+ stderrTruncatedChars?: number;
26
28
  output: string;
27
29
  emptyOutput: boolean;
28
30
  timedOut: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"runner-adapter.js","sourceRoot":"","sources":["../../../src/runners/runner-adapter.ts"],"names":[],"mappings":"AA2DA,MAAM,UAAU,YAAY,CAAC,IAAoC;IAC/D,OAAO,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC;AAChE,CAAC"}
1
+ {"version":3,"file":"runner-adapter.js","sourceRoot":"","sources":["../../../src/runners/runner-adapter.ts"],"names":[],"mappings":"AA6DA,MAAM,UAAU,YAAY,CAAC,IAAoC;IAC/D,OAAO,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC;AAChE,CAAC"}
@@ -1 +1,7 @@
1
1
  export declare function atomicWriteJson(target: string, value: unknown): Promise<void>;
2
+ /**
3
+ * Durably creates an immutable JSON file without replacing an existing value.
4
+ * A fully synced temporary is hard-linked into place so readers can never see
5
+ * a partially written winner when multiple processes race to create it.
6
+ */
7
+ export declare function atomicCreateJson(target: string, value: unknown): Promise<boolean>;
@@ -1,8 +1,9 @@
1
1
  import { randomUUID } from "node:crypto";
2
- import { mkdir, open, rename, unlink } from "node:fs/promises";
2
+ import { link, open, rename, unlink } from "node:fs/promises";
3
3
  import path from "node:path";
4
4
  import { canonicalJson } from "../core/ids.js";
5
5
  import { runtimePidTag, runtimePlatform } from "../core/runtime.js";
6
+ import { ensurePrivateDirectory } from "./private-directory.js";
6
7
  async function syncDirectory(directory) {
7
8
  if (runtimePlatform() === "win32")
8
9
  return;
@@ -16,7 +17,7 @@ async function syncDirectory(directory) {
16
17
  }
17
18
  export async function atomicWriteJson(target, value) {
18
19
  const directory = path.dirname(target);
19
- const created = await mkdir(directory, { recursive: true });
20
+ const created = await ensurePrivateDirectory(directory);
20
21
  if (created !== undefined) {
21
22
  await syncDirectory(path.dirname(created));
22
23
  }
@@ -39,4 +40,44 @@ export async function atomicWriteJson(target, value) {
39
40
  throw error;
40
41
  }
41
42
  }
43
+ /**
44
+ * Durably creates an immutable JSON file without replacing an existing value.
45
+ * A fully synced temporary is hard-linked into place so readers can never see
46
+ * a partially written winner when multiple processes race to create it.
47
+ */
48
+ export async function atomicCreateJson(target, value) {
49
+ const directory = path.dirname(target);
50
+ const created = await ensurePrivateDirectory(directory);
51
+ if (created !== undefined) {
52
+ await syncDirectory(path.dirname(created));
53
+ }
54
+ const temporary = path.join(directory, `.${path.basename(target)}.${runtimePidTag()}.${randomUUID()}.tmp`);
55
+ let handle;
56
+ try {
57
+ handle = await open(temporary, "wx", 0o600);
58
+ await handle.writeFile(`${canonicalJson(value)}\n`, "utf8");
59
+ await handle.sync();
60
+ await handle.close();
61
+ handle = undefined;
62
+ try {
63
+ await link(temporary, target);
64
+ }
65
+ catch (error) {
66
+ if (isAlreadyExists(error))
67
+ return false;
68
+ throw error;
69
+ }
70
+ await syncDirectory(directory);
71
+ return true;
72
+ }
73
+ finally {
74
+ if (handle !== undefined) {
75
+ await handle.close().catch(() => undefined);
76
+ }
77
+ await unlink(temporary).catch(() => undefined);
78
+ }
79
+ }
80
+ function isAlreadyExists(error) {
81
+ return typeof error === "object" && error !== null && "code" in error && error.code === "EEXIST";
82
+ }
42
83
  //# sourceMappingURL=atomic-write.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"atomic-write.js","sourceRoot":"","sources":["../../../src/state/atomic-write.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAEpE,KAAK,UAAU,aAAa,CAAC,SAAiB;IAC5C,IAAI,eAAe,EAAE,KAAK,OAAO;QAAE,OAAO;IAC1C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;IAC1C,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;IACtB,CAAC;YAAS,CAAC;QACT,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;IACvB,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,MAAc,EAAE,KAAc;IAClE,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACvC,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5D,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,MAAM,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;IAC7C,CAAC;IACD,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CACzB,SAAS,EACT,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,aAAa,EAAE,IAAI,UAAU,EAAE,MAAM,CACnE,CAAC;IACF,IAAI,MAAM,CAAC;IACX,IAAI,CAAC;QACH,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;QAC5C,MAAM,MAAM,CAAC,SAAS,CAAC,GAAG,aAAa,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC5D,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;QACpB,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;QACrB,MAAM,GAAG,SAAS,CAAC;QACnB,MAAM,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QAChC,MAAM,aAAa,CAAC,SAAS,CAAC,CAAC;IACjC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QAC9C,CAAC;QACD,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QAC/C,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"atomic-write.js","sourceRoot":"","sources":["../../../src/state/atomic-write.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,19 @@
1
1
  import { readdir, readFile } from "node:fs/promises";
2
2
  import path from "node:path";
3
3
  import { CueLineError } from "../core/errors.js";
4
+ import { validatedTimerDelay } from "../core/timing.js";
4
5
  import { atomicWriteJson } from "./atomic-write.js";
5
6
  import { runPaths } from "./paths.js";
6
7
  const CANCELLATION_PROTOCOL = "cueline/cancellation/0.1";
7
8
  const JOB_ID_PATTERN = /^[A-Za-z0-9][A-Za-z0-9_-]*$/;
9
+ const RUN_REQUEST_FIELDS = new Set([
10
+ "protocol",
11
+ "run_id",
12
+ "target",
13
+ "reason",
14
+ "requested_at",
15
+ ]);
16
+ const JOB_REQUEST_FIELDS = new Set([...RUN_REQUEST_FIELDS, "job_id"]);
8
17
  function assertJobId(jobId) {
9
18
  if (!JOB_ID_PATTERN.test(jobId)) {
10
19
  throw new CueLineError("JOB_ID_INVALID", "job id contains unsupported path characters", {
@@ -21,13 +30,30 @@ function isNotFound(error) {
21
30
  return typeof error === "object" && error !== null && "code" in error && error.code === "ENOENT";
22
31
  }
23
32
  function parseRequest(source, runId) {
24
- const value = JSON.parse(source);
25
- if (value.protocol !== CANCELLATION_PROTOCOL ||
33
+ let parsed;
34
+ try {
35
+ parsed = JSON.parse(source);
36
+ }
37
+ catch (error) {
38
+ throw new CueLineError("CANCELLATION_REQUEST_INVALID", `CueLine run '${runId}' has a cancellation request that is not valid JSON.`, { cause: error });
39
+ }
40
+ const value = typeof parsed === "object" && parsed !== null && !Array.isArray(parsed)
41
+ ? parsed
42
+ : {};
43
+ const expectedFields = value.target === "job" ? JOB_REQUEST_FIELDS : RUN_REQUEST_FIELDS;
44
+ const hasUnknownField = Object.keys(value).some((field) => !expectedFields.has(field));
45
+ const requestedAt = value.requested_at;
46
+ const requestedAtDate = typeof requestedAt === "string" ? new Date(requestedAt) : undefined;
47
+ const hasCanonicalTimestamp = requestedAtDate !== undefined &&
48
+ Number.isFinite(requestedAtDate.getTime()) &&
49
+ requestedAtDate.toISOString() === requestedAt;
50
+ if (hasUnknownField ||
51
+ value.protocol !== CANCELLATION_PROTOCOL ||
26
52
  value.run_id !== runId ||
27
53
  (value.target !== "run" && value.target !== "job") ||
28
54
  typeof value.reason !== "string" ||
29
55
  value.reason.trim() === "" ||
30
- typeof value.requested_at !== "string" ||
56
+ !hasCanonicalTimestamp ||
31
57
  (value.target === "job" &&
32
58
  (typeof value.job_id !== "string" || !JOB_ID_PATTERN.test(value.job_id)))) {
33
59
  throw new CueLineError("CANCELLATION_REQUEST_INVALID", `CueLine run '${runId}' has an invalid cancellation request.`);
@@ -107,6 +133,9 @@ export async function readJobCancellations(home, runId) {
107
133
  if (request.target !== "job") {
108
134
  throw new CueLineError("CANCELLATION_REQUEST_INVALID", `CueLine run '${runId}' has a run request in its job cancellation directory.`);
109
135
  }
136
+ if (name !== `${request.job_id}.json`) {
137
+ throw new CueLineError("CANCELLATION_REQUEST_INVALID", `CueLine run '${runId}' has a job cancellation filename that does not match its job identity.`);
138
+ }
110
139
  requests.push(request);
111
140
  }
112
141
  return requests;
@@ -127,8 +156,13 @@ export class CancellationWatcher {
127
156
  #sawRun = false;
128
157
  #timer;
129
158
  #pollChain = Promise.resolve();
159
+ #intervalMs;
130
160
  constructor(options) {
131
161
  this.options = options;
162
+ this.#intervalMs = validatedTimerDelay(options.intervalMs ?? 250, {
163
+ code: "CANCELLATION_POLL_INTERVAL_INVALID",
164
+ name: "cancellation poll interval",
165
+ });
132
166
  }
133
167
  start() {
134
168
  if (this.#timer !== undefined)
@@ -139,7 +173,7 @@ export class CancellationWatcher {
139
173
  });
140
174
  };
141
175
  schedule();
142
- this.#timer = setInterval(schedule, this.options.intervalMs ?? 250);
176
+ this.#timer = setInterval(schedule, this.#intervalMs);
143
177
  this.#timer.unref();
144
178
  }
145
179
  async stop() {
@@ -1 +1 @@
1
- {"version":3,"file":"cancellation.js","sourceRoot":"","sources":["../../../src/state/cancellation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,MAAM,qBAAqB,GAAG,0BAA0B,CAAC;AACzD,MAAM,cAAc,GAAG,6BAA6B,CAAC;AAiCrD,SAAS,WAAW,CAAC,KAAa;IAChC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QAChC,MAAM,IAAI,YAAY,CAAC,gBAAgB,EAAE,6CAA6C,EAAE;YACtF,OAAO,EAAE,EAAE,KAAK,EAAE;SACnB,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED,SAAS,YAAY,CAAC,MAAc;IAClC,IAAI,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QACzB,MAAM,IAAI,YAAY,CACpB,6BAA6B,EAC7B,wEAAwE,CACzE,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAS,UAAU,CAAC,KAAc;IAChC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,MAAM,IAAI,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC;AACnG,CAAC;AAED,SAAS,YAAY,CACnB,MAAc,EACd,KAAa;IAEb,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAA4B,CAAC;IAC5D,IACE,KAAK,CAAC,QAAQ,KAAK,qBAAqB;QACxC,KAAK,CAAC,MAAM,KAAK,KAAK;QACtB,CAAC,KAAK,CAAC,MAAM,KAAK,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC;QAClD,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ;QAChC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE;QAC1B,OAAO,KAAK,CAAC,YAAY,KAAK,QAAQ;QACtC,CAAC,KAAK,CAAC,MAAM,KAAK,KAAK;YACrB,CAAC,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAC3E,CAAC;QACD,MAAM,IAAI,YAAY,CACpB,8BAA8B,EAC9B,gBAAgB,KAAK,wCAAwC,CAC9D,CAAC;IACJ,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;QAC3B,OAAO;YACL,QAAQ,EAAE,qBAAqB;YAC/B,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,KAAK,CAAC,MAAgB;YAC9B,YAAY,EAAE,KAAK,CAAC,YAAsB;SAC3C,CAAC;IACJ,CAAC;IACD,OAAO;QACL,QAAQ,EAAE,qBAAqB;QAC/B,MAAM,EAAE,KAAK;QACb,MAAM,EAAE,KAAK;QACb,MAAM,EAAE,KAAK,CAAC,MAAgB;QAC9B,MAAM,EAAE,KAAK,CAAC,MAAgB;QAC9B,YAAY,EAAE,KAAK,CAAC,YAAsB;KAC3C,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,IAAY,EACZ,KAAa,EACb,MAAc,EACd,GAAG,GAAe,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE;IAElC,YAAY,CAAC,MAAM,CAAC,CAAC;IACrB,MAAM,OAAO,GAA2B;QACtC,QAAQ,EAAE,qBAAqB;QAC/B,MAAM,EAAE,KAAK;QACb,MAAM,EAAE,KAAK;QACb,MAAM;QACN,YAAY,EAAE,GAAG,EAAE,CAAC,WAAW,EAAE;KAClC,CAAC;IACF,MAAM,eAAe,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;IACtE,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,IAAY,EACZ,KAAa,EACb,KAAa,EACb,MAAc,EACd,GAAG,GAAe,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE;IAElC,WAAW,CAAC,KAAK,CAAC,CAAC;IACnB,YAAY,CAAC,MAAM,CAAC,CAAC;IACrB,MAAM,OAAO,GAA2B;QACtC,QAAQ,EAAE,qBAAqB;QAC/B,MAAM,EAAE,KAAK;QACb,MAAM,EAAE,KAAK;QACb,MAAM,EAAE,KAAK;QACb,MAAM;QACN,YAAY,EAAE,GAAG,EAAE,CAAC,WAAW,EAAE;KAClC,CAAC;IACF,MAAM,eAAe,CACnB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,mBAAmB,EAAE,GAAG,KAAK,OAAO,CAAC,EACrE,OAAO,CACR,CAAC;IACF,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,IAAY,EACZ,KAAa;IAEb,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,YAAY,CAC1B,MAAM,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,eAAe,EAAE,MAAM,CAAC,EAC7D,KAAK,CACN,CAAC;QACF,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;YAC7B,MAAM,IAAI,YAAY,CACpB,8BAA8B,EAC9B,gBAAgB,KAAK,mDAAmD,CACzE,CAAC;QACJ,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,UAAU,CAAC,KAAK,CAAC;YAAE,OAAO,SAAS,CAAC;QACxC,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,IAAY,EACZ,KAAa;IAEb,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,mBAAmB,CAAC;IAC5D,IAAI,KAAe,CAAC;IACpB,IAAI,CAAC;QACH,KAAK,GAAG,MAAM,OAAO,CAAC,SAAS,CAAC,CAAC;IACnC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,UAAU,CAAC,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QACjC,MAAM,KAAK,CAAC;IACd,CAAC;IACD,MAAM,QAAQ,GAA6B,EAAE,CAAC;IAC9C,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;QACnF,MAAM,OAAO,GAAG,YAAY,CAAC,MAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,EAAE,KAAK,CAAC,CAAC;QACxF,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;YAC7B,MAAM,IAAI,YAAY,CACpB,8BAA8B,EAC9B,gBAAgB,KAAK,wDAAwD,CAC9E,CAAC;QACJ,CAAC;QACD,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACzB,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAC/C,IAAY,EACZ,KAAa;IAEb,MAAM,CAAC,UAAU,EAAE,WAAW,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAClD,mBAAmB,CAAC,IAAI,EAAE,KAAK,CAAC;QAChC,oBAAoB,CAAC,IAAI,EAAE,KAAK,CAAC;KAClC,CAAC,CAAC;IACH,OAAO;QACL,YAAY,EAAE,UAAU,KAAK,SAAS;QACtC,WAAW,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC;KAC1D,CAAC;AACJ,CAAC;AAED,MAAM,OAAO,mBAAmB;IAMD,OAAO;IAL3B,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;IACvC,OAAO,GAAG,KAAK,CAAC;IAChB,MAAM,CAA6B;IACnC,UAAU,GAAkB,OAAO,CAAC,OAAO,EAAE,CAAC;IAE9C,YAA6B,OAAmC;uBAAnC,OAAO;IAA+B,CAAC;IAEpE,KAAK;QACH,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS;YAAE,OAAO;QACtC,MAAM,QAAQ,GAAG,GAAS,EAAE;YAC1B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;gBACxE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAC9B,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;QACF,QAAQ,EAAE,CAAC;QACX,IAAI,CAAC,MAAM,GAAG,WAAW,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,GAAG,CAAC,CAAC;QACpE,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;IACtB,CAAC;IAED,KAAK,CAAC,IAAI;QACR,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS;YAAE,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC1D,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;QACxB,MAAM,IAAI,CAAC,UAAU,CAAC;IACxB,CAAC;IAEO,KAAK,CAAC,IAAI;QAChB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,OAAO,GAAG,MAAM,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YACjF,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;gBAC1B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;gBACpB,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACpC,CAAC;QACH,CAAC;QACD,KAAK,MAAM,OAAO,IAAI,MAAM,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACxF,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC;gBAAE,SAAS;YACjD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAClD,IAAI,OAAO,KAAK,KAAK;gBAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"cancellation.js","sourceRoot":"","sources":["../../../src/state/cancellation.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,9 @@
1
1
  import { createHash, randomUUID } from "node:crypto";
2
- import { link, mkdir, open, readFile, readdir, stat, unlink } from "node:fs/promises";
2
+ import { link, open, readFile, readdir, stat, unlink } from "node:fs/promises";
3
3
  import path from "node:path";
4
4
  import { CueLineError } from "../core/errors.js";
5
5
  import { canonicalJson } from "../core/ids.js";
6
+ import { ensurePrivateDirectory } from "./private-directory.js";
6
7
  const EVENT_SEGMENT_WIDTH = 16;
7
8
  const EVENT_SEGMENT_PATTERN = new RegExp(`^\\d{${EVENT_SEGMENT_WIDTH}}\\.json$`);
8
9
  const EVENT_SEGMENT_FENCE_NAME = "legacy-fence.json";
@@ -34,12 +35,12 @@ async function syncDirectory(directory) {
34
35
  async function ensureSegmentDirectory(file) {
35
36
  const directory = eventSegmentDirectory(file);
36
37
  const parent = path.dirname(directory);
37
- const createdParent = await mkdir(parent, { recursive: true });
38
+ const createdParent = await ensurePrivateDirectory(parent);
38
39
  if (createdParent !== undefined) {
39
40
  await syncDirectory(path.dirname(createdParent));
40
41
  }
41
42
  try {
42
- await mkdir(directory, { mode: 0o700 });
43
+ await ensurePrivateDirectory(directory);
43
44
  }
44
45
  catch (error) {
45
46
  if (!isAlreadyExists(error))
@@ -306,7 +307,7 @@ export async function appendEvent(file, event) {
306
307
  export async function createEventLog(file, event) {
307
308
  validateEvent(event, event.sequence);
308
309
  const directory = path.dirname(file);
309
- const created = await mkdir(directory, { recursive: true });
310
+ const created = await ensurePrivateDirectory(directory);
310
311
  if (created !== undefined) {
311
312
  await syncDirectory(path.dirname(created));
312
313
  }
@@ -1 +1 @@
1
- {"version":3,"file":"event-log.js","sourceRoot":"","sources":["../../../src/state/event-log.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"event-log.js","sourceRoot":"","sources":["../../../src/state/event-log.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Creates or tightens one CueLine-owned state directory. Existing symlinks are
3
+ * rejected so permission repair cannot be redirected outside the state tree.
4
+ */
5
+ export declare function ensurePrivateDirectory(directory: string): Promise<string | undefined>;