@cotal-ai/runtime 0.100.2 → 0.101.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 (39) hide show
  1. package/dist/engine-host.d.ts +4 -0
  2. package/dist/engine-host.d.ts.map +1 -1
  3. package/dist/engine-host.js +1 -1
  4. package/dist/engine-host.js.map +1 -1
  5. package/dist/index.js +19 -19
  6. package/dist/index.js.map +1 -1
  7. package/dist/log-line.d.ts +8 -0
  8. package/dist/log-line.d.ts.map +1 -0
  9. package/dist/log-line.js +10 -0
  10. package/dist/log-line.js.map +1 -0
  11. package/dist/mesh-handler.d.ts +9 -4
  12. package/dist/mesh-handler.d.ts.map +1 -1
  13. package/dist/mesh-handler.js +38 -12
  14. package/dist/mesh-handler.js.map +1 -1
  15. package/dist/offline-command.d.ts +6 -1
  16. package/dist/offline-command.d.ts.map +1 -1
  17. package/dist/offline-command.js +117 -15
  18. package/dist/offline-command.js.map +1 -1
  19. package/dist/resolve-checkpoint.d.ts +17 -8
  20. package/dist/resolve-checkpoint.d.ts.map +1 -1
  21. package/dist/resolve-checkpoint.js +51 -11
  22. package/dist/resolve-checkpoint.js.map +1 -1
  23. package/dist/run-command.d.ts +13 -1
  24. package/dist/run-command.d.ts.map +1 -1
  25. package/dist/run-command.js +354 -78
  26. package/dist/run-command.js.map +1 -1
  27. package/dist/run-driver.d.ts +5 -0
  28. package/dist/run-driver.d.ts.map +1 -1
  29. package/dist/run-driver.js +8 -5
  30. package/dist/run-driver.js.map +1 -1
  31. package/dist/run-host.d.ts +3 -2
  32. package/dist/run-host.d.ts.map +1 -1
  33. package/dist/run-host.js +55 -11
  34. package/dist/run-host.js.map +1 -1
  35. package/dist/workflow-views.d.ts +18 -2
  36. package/dist/workflow-views.d.ts.map +1 -1
  37. package/dist/workflow-views.js +89 -19
  38. package/dist/workflow-views.js.map +1 -1
  39. package/package.json +4 -4
@@ -1,13 +1,39 @@
1
- import { readFileSync } from "node:fs";
2
- import { dryRun, LangErrors, validate } from "@cotal-ai/lang";
3
- import { CommandFailure, presentationOf, writeResult } from "@cotal-ai/workspace";
4
- /** A workflow program's source, or the TARGET_NOT_FOUND refusal every run verb gives a file it cannot read. */
1
+ import { lstatSync, readFileSync } from "node:fs";
2
+ import { dryRunOutcome, Journal, journalEntryKeyString, LangErrors, validate } from "@cotal-ai/lang";
3
+ import { CommandFailure, oneLine, presentationOf, writeResult } from "@cotal-ai/workspace";
4
+ import { logLineText } from "./log-line.js";
5
+ /** A workflow program's source, or the refusal every run verb gives a file it cannot read, that is
6
+ * empty or that is not UTF-8. A file it cannot read refuses naming the path and the cause: it is
7
+ * missing or a dangling link, a directory, or not readable. `-` is a path here, not standard input.
8
+ * A run's source must not be empty (the manager's `run-start` schema), so validate refuses that
9
+ * file as start does. Bytes that are not UTF-8 are refused rather than replaced, so the program a
10
+ * run records is the file's own text. */
5
11
  export function sourceOf(file) {
12
+ let bytes;
6
13
  try {
7
- return readFileSync(file, "utf8");
14
+ bytes = readFileSync(file);
15
+ }
16
+ catch (error) {
17
+ const code = error.code;
18
+ let link = false;
19
+ try {
20
+ link = lstatSync(file).isSymbolicLink();
21
+ }
22
+ catch { /* the path itself is absent */ }
23
+ const [refusal, cause] = code === "ENOENT"
24
+ ? ["TARGET_NOT_FOUND", link ? "is a link whose target does not exist" : file === "-" ? "does not exist; run reads its program from a file, and - does not mean standard input" : "does not exist"]
25
+ : code === "EISDIR" ? ["USAGE_INVALID", "is a directory, not a workflow source file"]
26
+ : code === "EACCES" || code === "EPERM" ? ["PERMISSION_DENIED", "is not readable with this user's permissions"]
27
+ : ["TARGET_NOT_FOUND", `could not be read (${code ?? "unknown error"})`];
28
+ throw new CommandFailure("refused", refusal, `the workflow source ${file} ${cause}`, { target: { file }, remedy: `check that ${file} exists and this account can read it` });
29
+ }
30
+ if (bytes.length === 0)
31
+ throw new CommandFailure("refused", "SCHEMA_INVALID", "the workflow source file is empty, and a run's source must not be empty", { target: { file }, remedy: `write the program into ${file}` });
32
+ try {
33
+ return new TextDecoder("utf-8", { fatal: true, ignoreBOM: true }).decode(bytes);
8
34
  }
9
35
  catch {
10
- throw new CommandFailure("refused", "TARGET_NOT_FOUND", "the workflow source file could not be read", { target: { file } });
36
+ throw new CommandFailure("refused", "SCHEMA_INVALID", "the workflow source file is not valid UTF-8, so it was not read as a program", { target: { file }, remedy: `save ${file} as UTF-8 text` });
11
37
  }
12
38
  }
13
39
  function scriptOf(file) {
@@ -37,6 +63,13 @@ function scriptOf(file) {
37
63
  throw new CommandFailure("refused", "SCHEMA_INVALID", `invalid scripted checkpoint '${name}': ${problem}`, { target: { file } });
38
64
  }
39
65
  }
66
+ for (const [name, entry] of Object.entries((script.turns ?? {}))) {
67
+ for (const result of Array.isArray(entry) ? entry : [entry]) {
68
+ const problem = turnResultProblem(result);
69
+ if (problem)
70
+ throw new CommandFailure("refused", "SCHEMA_INVALID", `invalid scripted turn '${name}': ${problem}`, { target: { file } });
71
+ }
72
+ }
40
73
  return script;
41
74
  }
42
75
  /** Why a scripted checkpoint result is not one `checkpoint()` can return, or undefined. The
@@ -60,6 +93,25 @@ function checkpointResultProblem(result) {
60
93
  return "artifact must be a string";
61
94
  return undefined;
62
95
  }
96
+ /** Why a scripted turn result is not one `turn()` can return, or undefined. The simulator hands the
97
+ * entry to the program as it is, so a status a live turn never yields is refused here rather than
98
+ * branched on. */
99
+ function turnResultProblem(result) {
100
+ if (!result || typeof result !== "object" || Array.isArray(result))
101
+ return "a result must be an object";
102
+ const fields = result;
103
+ if (fields.status !== "done" && fields.status !== "blocked" && fields.status !== "handoff")
104
+ return "status must be \"done\", \"blocked\" or \"handoff\"";
105
+ if ("at" in fields)
106
+ return "at is stamped from virtual time and cannot be scripted";
107
+ const known = new Set(["status", "to", "note"]);
108
+ const unknown = Object.keys(fields).find((key) => !known.has(key));
109
+ if (unknown !== undefined)
110
+ return `unknown field '${unknown}'`;
111
+ if (fields.note !== undefined && typeof fields.note !== "string")
112
+ return "note must be a string";
113
+ return undefined;
114
+ }
63
115
  /** A static call-site inventory. It makes no claim about branch choices, effect order or loop counts. */
64
116
  function callSites(ast, source) {
65
117
  const pending = [ast];
@@ -95,6 +147,44 @@ function callSites(ast, source) {
95
147
  return { call: site.call, line };
96
148
  });
97
149
  }
150
+ /** A language error's message as its paragraphs: the first is its code and title, the second its
151
+ * cause, and a later one may start with "Fix: ". */
152
+ function faultParts(error) {
153
+ const [title = "", cause, ...rest] = String(error?.message ?? error).split(/\n\s*\n/).map((p) => oneLine(p.trim().replace(/\s*\n\s*/g, " ")));
154
+ const fix = rest.find((p) => p.startsWith("Fix: "))?.slice(5).split(/\. /)[0];
155
+ return { title, ...(cause !== undefined ? { cause } : {}), ...(fix !== undefined ? { fix } : {}) };
156
+ }
157
+ /** Why a simulation did not complete. An L6xxx code is the simulator's: the script does not cover
158
+ * the program, and `target.step` names the step it stopped at. */
159
+ function simulationFailure(error, file, journal) {
160
+ const code = error.code;
161
+ const native = typeof code === "string" && /^L[0-9]+$/.test(code) ? code : undefined;
162
+ const failed = journal.entries().findLast((e) => e.state === "settled" && e.status === "failed" && e.error?.code === native);
163
+ const step = failed === undefined ? undefined : journalEntryKeyString(failed);
164
+ const { title, cause, fix } = faultParts(error);
165
+ const why = (cause ?? title).replace(/\.$/, "");
166
+ const remedy = fix ?? (native?.startsWith("L6") ? "script a result for that step; unscripted effects are not invented" : undefined);
167
+ return new CommandFailure("failed", "OPERATION_FAILED", `the offline simulation did not complete: ${why.charAt(0).toLowerCase()}${why.slice(1)}`, {
168
+ target: { file, ...(step !== undefined ? { step } : {}) }, ...(native !== undefined ? { native: { code: native } } : {}), ...(remedy !== undefined ? { remedy } : {}),
169
+ });
170
+ }
171
+ /** Where and how a simulated program failed under its script. `step` is the step the journal
172
+ * records failing with the fault's code, or for L4007 the checkpoint whose expiry raised it, with
173
+ * that step's outcome. A fault from the program's own code has no step; `after` names the last
174
+ * step it settled. */
175
+ function programFailure(fault, journal) {
176
+ const settled = journal.entries().filter((e) => e.state === "settled");
177
+ const failed = settled.findLast((e) => e.status === "failed" && e.error?.code === fault.code);
178
+ const last = settled.at(-1);
179
+ const expired = fault.code === "L4007" && last?.kind === "checkpoint" && last.result?.outcome === "expired" ? last : undefined;
180
+ const at = failed ?? expired;
181
+ const { title, cause, fix } = faultParts(fault);
182
+ return {
183
+ code: fault.code, title: title.replace(/^L[0-9]+\s+/, ""), cause: cause ?? null, fix: fix ?? null,
184
+ step: at === undefined ? null : journalEntryKeyString(at), stepOutcome: failed ? "failed" : expired ? "expired" : null,
185
+ after: at === undefined && last !== undefined ? journalEntryKeyString(last) : null,
186
+ };
187
+ }
98
188
  /** Offline commands never resolve a mesh or execute a supplied JavaScript handler. */
99
189
  export async function offlineWorkflow(mode, file, values) {
100
190
  const presentation = presentationOf(values);
@@ -115,7 +205,7 @@ export async function offlineWorkflow(mode, file, values) {
115
205
  { title: "Workflow not valid", blocks: [
116
206
  { kind: "fields", rows: [["File", file], ["Problems", String(result.problems.length)]] },
117
207
  ...result.problems.map((problem) => ({ kind: "lines", lines: [{ text: `${problem.code} ${problem.title} (${problem.span.file}:${problem.span.line}:${problem.span.column})`, tone: "failed" }, ` ${problem.cause}`, ` fix: ${problem.fix}`] })),
118
- { kind: "lines", lines: [{ text: "Language validation only. No mesh, authority, runtime or application was checked.", tone: "hint" }] },
208
+ { kind: "lines", lines: [{ text: "Language validation only. No mesh, authority, runtime, application or broker message limit was checked.", tone: "hint" }] },
119
209
  ] },
120
210
  ] }));
121
211
  return;
@@ -125,7 +215,7 @@ export async function offlineWorkflow(mode, file, values) {
125
215
  const warnings = checked.warnings.map((warning) => ({ code: warning.code, target: { file, span: warning.span }, message: `${warning.code} ${warning.title} (${warning.span.file}:${warning.span.line}:${warning.span.column}): ${warning.cause} Fix: ${warning.fix}` }));
126
216
  if (mode === "validate") {
127
217
  writeResult(presentation, { command: "run", target: { file }, result: { kind: "workflow-validation", valid: true, warnings: checked.warnings.map((item) => ({ code: item.code, title: item.title, span: item.span, cause: item.cause, fix: item.fix })) }, warnings }, () => ({ sections: [
128
- { title: "Workflow valid", blocks: [{ kind: "fields", rows: [["File", file], ["Warnings", String(warnings.length)]] }, { kind: "lines", lines: [{ text: "Language validation only. No mesh, authority, runtime or application was checked.", tone: "hint" }] }] },
218
+ { title: "Workflow valid", blocks: [{ kind: "fields", rows: [["File", file], ["Warnings", String(warnings.length)]] }, { kind: "lines", lines: [{ text: "Language validation only. No mesh, authority, runtime, application or broker message limit was checked.", tone: "hint" }] }] },
129
219
  { title: "Next", blocks: [{ kind: "commands", items: [{ command: "cotal r plan <file>", description: "See validated static call sites" }, { command: "cotal r simulate <file> --handler <results.json>", description: "Exercise the program with explicit scripted results, offline" }] }] },
130
220
  ] }));
131
221
  return;
@@ -138,17 +228,29 @@ export async function offlineWorkflow(mode, file, values) {
138
228
  return;
139
229
  }
140
230
  const script = scriptOf(values.handler);
231
+ const journal = new Journal({ run: "dry-run" });
141
232
  let report;
142
233
  try {
143
- report = await dryRun(source, script, { file });
234
+ report = await dryRunOutcome(source, script, { file, journal });
144
235
  }
145
236
  catch (error) {
146
- const code = error.code;
147
- throw new CommandFailure("failed", "OPERATION_FAILED", "the offline simulation did not complete; unscripted effects are not invented", { target: { file }, ...(typeof code === "string" && /^L[0-9]+$/.test(code) ? { native: { code } } : {}) });
237
+ throw simulationFailure(error, file, journal);
148
238
  }
149
- const result = { kind: "workflow-simulation", steps: report.steps, elapsedMs: report.elapsedMs, effects: report.effects, agents: report.agents, waits: report.waits, checkpoints: report.checkpoints, unusedScript: report.unusedScript };
150
- writeResult(presentation, { command: "run", target: { file }, result, warnings }, (r) => ({ sections: [
151
- { title: "Workflow simulated", blocks: [{ kind: "fields", rows: [["File", file], ["Steps", String(r.steps)], ["Virtual time", `${r.elapsedMs} ms`], ["Unused script entries", String(r.unusedScript.length)]] }, r.effects.length ? { kind: "table", columns: [{ key: "step", label: "Step" }, { key: "kind", label: "Effect" }, { key: "status", label: "Simulated result" }], rows: r.effects.map((effect) => ({ step: effect.step, kind: effect.kind, status: effect.status })) } : { kind: "lines", lines: ["No simulated effects."] }, { kind: "lines", lines: [{ text: "Scripted results only. No agents were launched and no broker was contacted. This does not establish live readiness.", tone: "hint" }] }] },
152
- ] }));
239
+ // A program that fails under its script is a completed simulation, and the failure is its outcome.
240
+ const failure = "fault" in report ? programFailure(report.fault, journal) : null;
241
+ const result = { kind: "workflow-simulation", outcome: failure ? "failed" : "completed", failure, steps: "fault" in report ? null : report.steps, elapsedMs: report.elapsedMs, effects: report.effects, agents: report.agents, waits: report.waits, checkpoints: report.checkpoints, unusedScript: report.unusedScript, log: report.log };
242
+ writeResult(presentation, { command: "run", target: { file }, result, warnings }, (r) => {
243
+ const failed = r.failure;
244
+ const outcome = !failed ? "completed" : failed.step !== null ? `failed at ${failed.step} (${failed.stepOutcome})` : failed.after !== null ? `failed after ${failed.after}` : "failed";
245
+ return { sections: [
246
+ { title: "Workflow simulated", blocks: [
247
+ { kind: "fields", rows: [["File", file], ["Program outcome", outcome], ...(r.steps !== null ? [["Steps", String(r.steps)]] : []), ["Virtual time", `${r.elapsedMs} ms`], ["Unused script entries", String(r.unusedScript.length)]] },
248
+ r.effects.length ? { kind: "table", columns: [{ key: "step", label: "Step" }, { key: "kind", label: "Effect" }, { key: "status", label: "Simulated result" }], rows: r.effects.map((effect) => ({ step: effect.step, kind: effect.kind, status: failed?.step === effect.step ? { text: `${failed.stepOutcome}, ${failed.code}`, tone: "failed" } : effect.status })) } : { kind: "lines", lines: ["No simulated effects."] },
249
+ ...(failed ? [{ kind: "lines", lines: [{ text: `${failed.code} ${failed.title}`, tone: "failed" }, ...(failed.cause !== null ? [` ${failed.cause}`] : []), ...(failed.fix !== null ? [` fix: ${failed.fix}`] : []), { text: "This failure is the program's own outcome under the script. Change the program, or script other results to simulate a different path.", tone: "hint" }] }] : []),
250
+ { kind: "lines", lines: [{ text: "Scripted results only. No agents were launched and no broker was contacted. This does not establish live readiness.", tone: "hint" }] },
251
+ ] },
252
+ ...(r.log.length ? [{ title: "Log", blocks: [{ kind: "lines", lines: r.log.map(logLineText) }] }] : []),
253
+ ] };
254
+ });
153
255
  }
154
256
  //# sourceMappingURL=offline-command.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"offline-command.js","sourceRoot":"","sources":["../src/offline-command.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"offline-command.js","sourceRoot":"","sources":["../src/offline-command.ts"],"names":[],"mappings":"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"}
@@ -33,7 +33,7 @@
33
33
  * answer, naming it, so a participant who changes their mind records it on the step that holds the
34
34
  * original rather than somewhere else.
35
35
  */
36
- import { type CheckpointSettleFact } from "@cotal-ai/core";
36
+ import { EpEnvelopeError, type CheckpointSettleFact } from "@cotal-ai/core";
37
37
  import type { JetStreamClient, JetStreamManager } from "@nats-io/jetstream";
38
38
  import type { KV } from "@nats-io/kv";
39
39
  export interface ResolveCheckpointRequest {
@@ -67,8 +67,9 @@ export interface ResolveCheckpointDeps {
67
67
  * read off the checkpoint's own record. */
68
68
  readonly endpoint: string;
69
69
  }
70
- /** The open pause at a step, located: its token and the holder that armed it. */
70
+ /** The open pause at a step, located: its run, its token and the holder that armed it. */
71
71
  export interface OpenCheckpoint {
72
+ readonly runId: string;
72
73
  readonly token: string;
73
74
  readonly holder: {
74
75
  readonly id: string;
@@ -81,11 +82,12 @@ export interface OpenCheckpoint {
81
82
  * write (the hosting manager, `cotal run --local`) performs the two halves on two credentials; a
82
83
  * caller on a standing credential composes them here.
83
84
  *
84
- * Refusals are the plane's own and are not softened here: a checkpoint already resumed is a
85
- * `conflict` (resume authorization is one-use) and one already expired is a `failed-precondition`
86
- * (expiry fails closed). Both mean the answer arrived too late, and both leave this resolver's
87
- * record filed and unaccepted — which is what the caller needs to be told rather than a success
88
- * that names a settlement somebody else won.
85
+ * A pause whose status already settled is refused by the locate half as settled. One that settles
86
+ * between the two halves gets the plane's own refusals, not softened here: a checkpoint already
87
+ * resumed is a `conflict` (resume authorization is one-use) and one already expired is a
88
+ * `failed-precondition` (expiry fails closed). Both mean the answer arrived too late, and both leave
89
+ * this resolver's record filed and unaccepted — which is what the caller needs to be told rather
90
+ * than a success that names a settlement somebody else won.
89
91
  */
90
92
  export declare function resolveCheckpoint(deps: ResolveCheckpointDeps, req: ResolveCheckpointRequest): Promise<ResolveCheckpointResult>;
91
93
  /**
@@ -98,10 +100,17 @@ export declare function locateOpenCheckpoint(deps: ResolveCheckpointDeps, req: {
98
100
  readonly stepKey: string;
99
101
  readonly takeoverId: string;
100
102
  }): Promise<OpenCheckpoint>;
103
+ /** An answer the run's revocation marker refuses before anything is filed (SPEC 14.8): the run was
104
+ * revoked, or its marker could not be read. */
105
+ export declare class RunAnswerBlocked extends EpEnvelopeError {
106
+ constructor(message: string);
107
+ }
101
108
  /**
102
109
  * The WRITE half of an answer: file the answer record for the located pause, then present its
103
110
  * token as the arming holder. Every write is keyed by `open.token`, so a credential minted for this
104
- * half is pinned to the one pause being answered (SPEC 14.3).
111
+ * half is pinned to the one pause being answered (SPEC 14.3). A revoked run's pause takes no
112
+ * answer: the marker is read leader-served before the record is filed, and that read orders the
113
+ * answer against the revocation. A marker that cannot be read refuses the answer too.
105
114
  */
106
115
  export declare function answerOpenCheckpoint(deps: ResolveCheckpointDeps, req: {
107
116
  readonly open: OpenCheckpoint;
@@ -1 +1 @@
1
- {"version":3,"file":"resolve-checkpoint.d.ts","sourceRoot":"","sources":["../src/resolve-checkpoint.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resolve-checkpoint.d.ts","sourceRoot":"","sources":["../src/resolve-checkpoint.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,OAAO,EAYL,eAAe,EACf,KAAK,oBAAoB,EAE1B,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC5E,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AAItC,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,uFAAuF;IACvF,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,2FAA2F;IAC3F,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IACzB,8FAA8F;IAC9F,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,oBAAoB,CAAC;CACvC;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC;IAChB,QAAQ,CAAC,EAAE,EAAE,eAAe,CAAC;IAC7B,QAAQ,CAAC,GAAG,EAAE,gBAAgB,CAAC;IAC/B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB;gDAC4C;IAC5C,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED,0FAA0F;AAC1F,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE;QAAE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;KAAE,CAAC;CACzE;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,qBAAqB,EAC3B,GAAG,EAAE,wBAAwB,GAC5B,OAAO,CAAC,uBAAuB,CAAC,CASlC;AAED;;;;GAIG;AACH,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,qBAAqB,EAC3B,GAAG,EAAE;IAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GACrF,OAAO,CAAC,cAAc,CAAC,CAmBzB;AAqCD;gDACgD;AAChD,qBAAa,gBAAiB,SAAQ,eAAe;gBACvC,OAAO,EAAE,MAAM;CAI5B;AAED;;;;;;GAMG;AACH,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,qBAAqB,EAC3B,GAAG,EAAE;IAAE,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GACtI,OAAO,CAAC,uBAAuB,CAAC,CA6BlC;AAED;gBACgB;AAChB,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;CACrB;AAED;;;;;GAKG;AACH,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,qBAAqB,EAC3B,GAAG,EAAE;IAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GACrF,OAAO,CAAC,cAAc,CAAC,CAuBzB;AAED;;;;;GAKG;AACH,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,qBAAqB,EAC3B,GAAG,EAAE;IAAE,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;IAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GAC1I,OAAO,CAAC;IAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAAC,CAc7F"}
@@ -33,8 +33,8 @@
33
33
  * answer, naming it, so a participant who changes their mind records it on the step that holds the
34
34
  * original rather than somewhere else.
35
35
  */
36
- import { replayRunJournal, newTakeoverId, recordCheckpointAnswer, checkpointAnswerId, newAmendmentId, readCheckpointAnswer, readCheckpointSpec, readCheckpointStatus, resumeCheckpoint, } from "@cotal-ai/core";
37
- import { CheckpointNotAmendable, openCheckpointToken, settledPauseToken } from "@cotal-ai/lang";
36
+ import { readRunRecord, replayRunJournal, newTakeoverId, recordCheckpointAnswer, checkpointAnswerId, newAmendmentId, readCheckpointAnswer, readCheckpointSpec, readCheckpointStatus, readRunRevocation, resumeCheckpoint, EpEnvelopeError, } from "@cotal-ai/core";
37
+ import { CheckpointNotAmendable, CheckpointNotOpen, journalEntryKeyString, openCheckpointToken, settledPauseToken, stepPauseToken } from "@cotal-ai/lang";
38
38
  import { delay } from "./delay.js";
39
39
  /**
40
40
  * Answer a run's open checkpoint over ONE set of planes: {@link locateOpenCheckpoint} then
@@ -42,11 +42,12 @@ import { delay } from "./delay.js";
42
42
  * write (the hosting manager, `cotal run --local`) performs the two halves on two credentials; a
43
43
  * caller on a standing credential composes them here.
44
44
  *
45
- * Refusals are the plane's own and are not softened here: a checkpoint already resumed is a
46
- * `conflict` (resume authorization is one-use) and one already expired is a `failed-precondition`
47
- * (expiry fails closed). Both mean the answer arrived too late, and both leave this resolver's
48
- * record filed and unaccepted — which is what the caller needs to be told rather than a success
49
- * that names a settlement somebody else won.
45
+ * A pause whose status already settled is refused by the locate half as settled. One that settles
46
+ * between the two halves gets the plane's own refusals, not softened here: a checkpoint already
47
+ * resumed is a `conflict` (resume authorization is one-use) and one already expired is a
48
+ * `failed-precondition` (expiry fails closed). Both mean the answer arrived too late, and both leave
49
+ * this resolver's record filed and unaccepted — which is what the caller needs to be told rather
50
+ * than a success that names a settlement somebody else won.
50
51
  */
51
52
  export async function resolveCheckpoint(deps, req) {
52
53
  const open = await locateOpenCheckpoint(deps, { runId: req.runId, stepKey: req.stepKey, takeoverId: req.takeoverId ?? newTakeoverId() });
@@ -64,6 +65,9 @@ export async function resolveCheckpoint(deps, req) {
64
65
  * the caller's credential row pins.
65
66
  */
66
67
  export async function locateOpenCheckpoint(deps, req) {
68
+ // A run nothing records has no steps either, so the run is what to name as missing.
69
+ if (await readRunRecord(deps.kv, deps.endpoint, req.runId) === undefined)
70
+ throw new CheckpointNotOpen(req.runId, req.stepKey, "no-run");
67
71
  const entries = await replayRunEntries(deps, req.runId, req.takeoverId);
68
72
  const token = openCheckpointToken(entries, req.runId, req.stepKey);
69
73
  const spec = await readSpecPastTheMintWindow(deps, token);
@@ -72,7 +76,13 @@ export async function locateOpenCheckpoint(deps, req) {
72
76
  + `after ${MINT_WINDOW_ATTEMPTS} reads over ${(MINT_WINDOW_ATTEMPTS - 1) * MINT_WINDOW_STEP_MS}ms; `
73
77
  + `refusing to guess a presenter — reconcile the store before answering`);
74
78
  }
75
- return { token, holder: spec.holder };
79
+ // A pause settles before the driver records the step, so for that moment the journal still reads
80
+ // open. Its own status says it already took an answer or expired, which is the settled refusal a
81
+ // later answer gets, not the plane's one-use conflict.
82
+ const status = await readCheckpointStatus(deps.kv, { endpoint: deps.endpoint, token });
83
+ if (status !== undefined && status.value.state !== "waiting")
84
+ throw new CheckpointNotOpen(req.runId, req.stepKey, "settled");
85
+ return { runId: req.runId, token, holder: spec.holder };
76
86
  }
77
87
  /** Reads long enough to tell a mint in flight from a torn store, and no longer.
78
88
  *
@@ -106,13 +116,28 @@ async function readSpecPastTheMintWindow(deps, token) {
106
116
  }
107
117
  return undefined;
108
118
  }
119
+ /** An answer the run's revocation marker refuses before anything is filed (SPEC 14.8): the run was
120
+ * revoked, or its marker could not be read. */
121
+ export class RunAnswerBlocked extends EpEnvelopeError {
122
+ constructor(message) {
123
+ super("failed-precondition", `${message}; no answer was filed`, undefined, "not-executed");
124
+ this.name = "RunAnswerBlocked";
125
+ }
126
+ }
109
127
  /**
110
128
  * The WRITE half of an answer: file the answer record for the located pause, then present its
111
129
  * token as the arming holder. Every write is keyed by `open.token`, so a credential minted for this
112
- * half is pinned to the one pause being answered (SPEC 14.3).
130
+ * half is pinned to the one pause being answered (SPEC 14.3). A revoked run's pause takes no
131
+ * answer: the marker is read leader-served before the record is filed, and that read orders the
132
+ * answer against the revocation. A marker that cannot be read refuses the answer too.
113
133
  */
114
134
  export async function answerOpenCheckpoint(deps, req) {
115
- const { token, holder } = req.open;
135
+ const { runId, token, holder } = req.open;
136
+ const revoked = await readRunRevocation(deps.jsm, deps.space, deps.endpoint, runId).catch((e) => {
137
+ throw new RunAnswerBlocked(`run ${runId}: its revocation marker could not be read (${e instanceof Error ? e.message : String(e)})`);
138
+ });
139
+ if (revoked !== undefined)
140
+ throw new RunAnswerBlocked(`run ${runId} was revoked by ${revoked.by} (${revoked.reason}), so its open requests take no answer`);
116
141
  const answerId = checkpointAnswerId({
117
142
  token,
118
143
  by: req.by,
@@ -143,8 +168,23 @@ export async function answerOpenCheckpoint(deps, req) {
143
168
  * names it for a checkpoint only.
144
169
  */
145
170
  export async function locateAcceptedAnswer(deps, req) {
171
+ if (await readRunRecord(deps.kv, deps.endpoint, req.runId) === undefined)
172
+ throw new CheckpointNotAmendable(req.runId, req.stepKey, "no-run");
146
173
  const entries = await replayRunEntries(deps, req.runId, req.takeoverId);
147
- const token = settledPauseToken(entries, req.runId, req.stepKey);
174
+ let token;
175
+ try {
176
+ token = settledPauseToken(entries, req.runId, req.stepKey);
177
+ }
178
+ catch (e) {
179
+ // An accepted answer settles the pause before the driver records the step, so for that moment
180
+ // the journal still reads open. Telling the caller to answer would send them to a pause that
181
+ // already took an answer.
182
+ if (!(e instanceof CheckpointNotAmendable) || e.why !== "open")
183
+ throw e;
184
+ const pending = stepPauseToken(entries.filter((x) => journalEntryKeyString(x) === req.stepKey));
185
+ const pause = pending === undefined ? undefined : await readCheckpointStatus(deps.kv, { endpoint: deps.endpoint, token: pending });
186
+ throw pause?.value.state === "resumed" ? new CheckpointNotAmendable(req.runId, req.stepKey, "unrecorded") : e;
187
+ }
148
188
  if (token === undefined)
149
189
  throw new CheckpointNotAmendable(req.runId, req.stepKey, "unanswered");
150
190
  const status = await readCheckpointStatus(deps.kv, { endpoint: deps.endpoint, token });
@@ -1 +1 @@
1
- {"version":3,"file":"resolve-checkpoint.js","sourceRoot":"","sources":["../src/resolve-checkpoint.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resolve-checkpoint.js","sourceRoot":"","sources":["../src/resolve-checkpoint.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
- import { EpEnvelopeError, type ParsedArgs } from "@cotal-ai/core";
1
+ import { EpEnvelopeError, type EpError, type EpErrorDetail, type ParsedArgs, type RunStatusView } from "@cotal-ai/core";
2
+ import { CommandFailure } from "@cotal-ai/workspace";
2
3
  interface RunValues {
3
4
  space?: string;
4
5
  server?: string;
@@ -27,6 +28,7 @@ interface RunValues {
27
28
  /** `ps` and `journal` only: one JSON object per row per line on stdout. */
28
29
  json?: boolean;
29
30
  page?: boolean;
31
+ /** `run --page`: the page's row limit. `show`: how many of the last journal rows the text view prints. */
30
32
  limit?: string;
31
33
  cursor?: string;
32
34
  plain?: boolean;
@@ -56,6 +58,16 @@ interface RunValues {
56
58
  * fixture with no manager at all, and an operator there would have been sent to check a version.
57
59
  */
58
60
  export declare function unansweredManagerRefusal(e: EpEnvelopeError): string;
61
+ /** A manager refusal under the CLI's outcome table, with the manager's own sentence. Any other code
62
+ * leaves a read failed and a start, resume or answer unconfirmed, because the manager may have
63
+ * recorded it. `on` is the caller's explicit manager pin, which a suggested command keeps. */
64
+ export declare function managerRefusal(command: string, space: string, args: Record<string, unknown> | undefined, err: EpError | undefined, on?: string): CommandFailure;
65
+ /** A validation problem the manager returned, as `run validate` prints one. Each value can quote the
66
+ * program, such as a step name, so its control characters are escaped before the terminal sees them. */
67
+ export declare function renderLangProblem(d: EpErrorDetail): string;
68
+ /** A step key the run has no open request at, answered with the open keys whose step name it matches,
69
+ * as `frage` matches `/checkpoint:frage#0`. A run that cannot be read leaves the refusal as it was. */
70
+ export declare function withMatchingKeys(error: unknown, runId: string, stepKey: string, values: RunValues, read: () => Promise<RunStatusView>): Promise<unknown>;
59
71
  /** `cotal run <start|resume|ps|journal|answer|amend>` — dispatch. The manager hosts by default;
60
72
  * `--local` drives in this process over one connection per invocation. */
61
73
  export declare function runWorkflow(args: ParsedArgs): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"run-command.d.ts","sourceRoot":"","sources":["../src/run-command.ts"],"names":[],"mappings":"AAsBA,OAAO,EAEL,eAAe,EAiCf,KAAK,UAAU,EAOhB,MAAM,gBAAgB,CAAC;AAiBxB,UAAU,SAAS;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;8DAE0D;IAC1D,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,+FAA+F;IAC/F,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;2DAEuD;IACvD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,2EAA2E;IAC3E,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAqdD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,wBAAwB,CAAC,CAAC,EAAE,eAAe,GAAG,MAAM,CAMnE;AAyMD;2EAC2E;AAC3E,wBAAsB,WAAW,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAoCjE;AAED,8EAA8E;AAC9E,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,UAAU,GAAG;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,CAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CAgE/G"}
1
+ {"version":3,"file":"run-command.d.ts","sourceRoot":"","sources":["../src/run-command.ts"],"names":[],"mappings":"AAsBA,OAAO,EAIL,eAAe,EAoCf,KAAK,OAAO,EACZ,KAAK,aAAa,EAClB,KAAK,UAAU,EAIf,KAAK,aAAa,EAGnB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAEL,cAAc,EAwBf,MAAM,qBAAqB,CAAC;AAgB7B,UAAU,SAAS;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;8DAE0D;IAC1D,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,+FAA+F;IAC/F,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;2DAEuD;IACvD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,2EAA2E;IAC3E,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,0GAA0G;IAC1G,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAkgBD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,wBAAwB,CAAC,CAAC,EAAE,eAAe,GAAG,MAAM,CAMnE;AAWD;;+FAE+F;AAC/F,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,EAAE,GAAG,EAAE,OAAO,GAAG,SAAS,EAAE,EAAE,CAAC,EAAE,MAAM,GAAG,cAAc,CAmB/J;AAqKD;yGACyG;AACzG,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,aAAa,GAAG,MAAM,CAK1D;AAoGD;wGACwG;AACxG,wBAAsB,gBAAgB,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC,aAAa,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAc9J;AAED;2EAC2E;AAC3E,wBAAsB,WAAW,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAQjE;AAgED,8EAA8E;AAC9E,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,UAAU,GAAG;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,CAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CAuG/G"}