@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.
- package/dist/engine-host.d.ts +4 -0
- package/dist/engine-host.d.ts.map +1 -1
- package/dist/engine-host.js +1 -1
- package/dist/engine-host.js.map +1 -1
- package/dist/index.js +19 -19
- package/dist/index.js.map +1 -1
- package/dist/log-line.d.ts +8 -0
- package/dist/log-line.d.ts.map +1 -0
- package/dist/log-line.js +10 -0
- package/dist/log-line.js.map +1 -0
- package/dist/mesh-handler.d.ts +9 -4
- package/dist/mesh-handler.d.ts.map +1 -1
- package/dist/mesh-handler.js +38 -12
- package/dist/mesh-handler.js.map +1 -1
- package/dist/offline-command.d.ts +6 -1
- package/dist/offline-command.d.ts.map +1 -1
- package/dist/offline-command.js +117 -15
- package/dist/offline-command.js.map +1 -1
- package/dist/resolve-checkpoint.d.ts +17 -8
- package/dist/resolve-checkpoint.d.ts.map +1 -1
- package/dist/resolve-checkpoint.js +51 -11
- package/dist/resolve-checkpoint.js.map +1 -1
- package/dist/run-command.d.ts +13 -1
- package/dist/run-command.d.ts.map +1 -1
- package/dist/run-command.js +354 -78
- package/dist/run-command.js.map +1 -1
- package/dist/run-driver.d.ts +5 -0
- package/dist/run-driver.d.ts.map +1 -1
- package/dist/run-driver.js +8 -5
- package/dist/run-driver.js.map +1 -1
- package/dist/run-host.d.ts +3 -2
- package/dist/run-host.d.ts.map +1 -1
- package/dist/run-host.js +55 -11
- package/dist/run-host.js.map +1 -1
- package/dist/workflow-views.d.ts +18 -2
- package/dist/workflow-views.d.ts.map +1 -1
- package/dist/workflow-views.js +89 -19
- package/dist/workflow-views.js.map +1 -1
- package/package.json +4 -4
package/dist/offline-command.js
CHANGED
|
@@ -1,13 +1,39 @@
|
|
|
1
|
-
import { readFileSync } from "node:fs";
|
|
2
|
-
import {
|
|
3
|
-
import { CommandFailure, presentationOf, writeResult } from "@cotal-ai/workspace";
|
|
4
|
-
|
|
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
|
-
|
|
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", "
|
|
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
|
|
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
|
|
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
|
|
234
|
+
report = await dryRunOutcome(source, script, { file, journal });
|
|
144
235
|
}
|
|
145
236
|
catch (error) {
|
|
146
|
-
|
|
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
|
-
|
|
150
|
-
|
|
151
|
-
|
|
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
|
-
*
|
|
85
|
-
*
|
|
86
|
-
*
|
|
87
|
-
*
|
|
88
|
-
*
|
|
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":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,OAAO,
|
|
1
|
+
{"version":3,"file":"resolve-checkpoint.d.ts","sourceRoot":"","sources":["../src/resolve-checkpoint.ts"],"names":[],"mappings":"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"}
|
|
@@ -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
|
-
*
|
|
46
|
-
*
|
|
47
|
-
*
|
|
48
|
-
*
|
|
49
|
-
*
|
|
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
|
-
|
|
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
|
-
|
|
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":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,OAAO,EACL,gBAAgB,EAChB,aAAa,EACb,sBAAsB,EACtB,kBAAkB,EAClB,cAAc,EACd,oBAAoB,EACpB,kBAAkB,EAClB,oBAAoB,EACpB,gBAAgB,
|
|
1
|
+
{"version":3,"file":"resolve-checkpoint.js","sourceRoot":"","sources":["../src/resolve-checkpoint.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,OAAO,EACL,aAAa,EACb,gBAAgB,EAChB,aAAa,EACb,sBAAsB,EACtB,kBAAkB,EAClB,cAAc,EACd,oBAAoB,EACpB,kBAAkB,EAClB,oBAAoB,EACpB,iBAAiB,EACjB,gBAAgB,EAChB,eAAe,GAGhB,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,cAAc,EAAqB,MAAM,gBAAgB,CAAC;AAC7K,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AA2CnC;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,IAA2B,EAC3B,GAA6B;IAE7B,MAAM,IAAI,GAAG,MAAM,oBAAoB,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,CAAC,UAAU,IAAI,aAAa,EAAE,EAAE,CAAC,CAAC;IACzI,OAAO,MAAM,oBAAoB,CAAC,IAAI,EAAE;QACtC,IAAI;QACJ,EAAE,EAAE,GAAG,CAAC,EAAE;QACV,GAAG,CAAC,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACxD,GAAG,CAAC,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjE,GAAG,EAAE,GAAG,CAAC,GAAG;KACb,CAAC,CAAC;AACL,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,IAA2B,EAC3B,GAAsF;IAEtF,oFAAoF;IACpF,IAAI,MAAM,aAAa,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,KAAK,CAAC,KAAK,SAAS;QAAE,MAAM,IAAI,iBAAiB,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IACxI,MAAM,OAAO,GAAG,MAAM,gBAAgB,CAAC,IAAI,EAAE,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;IACxE,MAAM,KAAK,GAAG,mBAAmB,CAAC,OAAO,EAAE,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;IACnE,MAAM,IAAI,GAAG,MAAM,yBAAyB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC1D,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CACb,eAAe,KAAK,mDAAmD,IAAI,CAAC,QAAQ,GAAG;cACrF,SAAS,oBAAoB,eAAe,CAAC,oBAAoB,GAAG,CAAC,CAAC,GAAG,mBAAmB,MAAM;cAClG,sEAAsE,CACzE,CAAC;IACJ,CAAC;IACD,iGAAiG;IACjG,iGAAiG;IACjG,uDAAuD;IACvD,MAAM,MAAM,GAAG,MAAM,oBAAoB,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;IACvF,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS;QAAE,MAAM,IAAI,iBAAiB,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IAC7H,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;AAC1D,CAAC;AAED;;;;;;;;;;;;;;;;;;uEAkBuE;AACvE,MAAM,oBAAoB,GAAG,EAAE,CAAC;AAChC,MAAM,mBAAmB,GAAG,GAAG,CAAC;AAEhC,KAAK,UAAU,yBAAyB,CACtC,IAA2B,EAC3B,KAAa;IAEb,MAAM,GAAG,GAAG,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,CAAC;IAC/C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,oBAAoB,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QACjD,MAAM,IAAI,GAAG,MAAM,kBAAkB,CAAC,IAAI,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;QACpD,IAAI,IAAI,KAAK,SAAS;YAAE,OAAO,IAAI,CAAC;QACpC,IAAI,CAAC,GAAG,CAAC,GAAG,oBAAoB;YAAE,MAAM,KAAK,CAAC,mBAAmB,CAAC,CAAC;IACrE,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;gDACgD;AAChD,MAAM,OAAO,gBAAiB,SAAQ,eAAe;IACnD,YAAY,OAAe;QACzB,KAAK,CAAC,qBAAqB,EAAE,GAAG,OAAO,uBAAuB,EAAE,SAAS,EAAE,cAAc,CAAC,CAAC;QAC3F,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC;IACjC,CAAC;CACF;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,IAA2B,EAC3B,GAAuI;IAEvI,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC;IAC1C,MAAM,OAAO,GAAG,MAAM,iBAAiB,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAU,EAAE,EAAE;QACvG,MAAM,IAAI,gBAAgB,CAAC,OAAO,KAAK,8CAA8C,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACtI,CAAC,CAAC,CAAC;IACH,IAAI,OAAO,KAAK,SAAS;QAAE,MAAM,IAAI,gBAAgB,CAAC,OAAO,KAAK,mBAAmB,OAAO,CAAC,EAAE,KAAK,OAAO,CAAC,MAAM,wCAAwC,CAAC,CAAC;IAC5J,MAAM,QAAQ,GAAG,kBAAkB,CAAC;QAClC,KAAK;QACL,EAAE,EAAE,GAAG,CAAC,EAAE;QACV,GAAG,CAAC,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACxD,GAAG,CAAC,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAClE,CAAC,CAAC;IACH,MAAM,sBAAsB,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE;QACnD,CAAC,EAAE,CAAC;QACJ,KAAK;QACL,QAAQ;QACR,GAAG,CAAC,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACxD,GAAG,CAAC,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjE,EAAE,EAAE,GAAG,CAAC,EAAE;QACV,EAAE,EAAE,GAAG,CAAC,GAAG;KACZ,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,EAAE;QAC5E,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE;QACvC,SAAS,EAAE,MAAM;QACjB,GAAG,EAAE,GAAG,CAAC,GAAG;QACZ,QAAQ;KACT,CAAC,CAAC;IACH,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;AACrC,CAAC;AAUD;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,IAA2B,EAC3B,GAAsF;IAEtF,IAAI,MAAM,aAAa,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,KAAK,CAAC,KAAK,SAAS;QAAE,MAAM,IAAI,sBAAsB,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC7I,MAAM,OAAO,GAAG,MAAM,gBAAgB,CAAC,IAAI,EAAE,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;IACxE,IAAI,KAAyB,CAAC;IAC9B,IAAI,CAAC;QACH,KAAK,GAAG,iBAAiB,CAAC,OAAO,EAAE,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;IAC7D,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,8FAA8F;QAC9F,6FAA6F;QAC7F,0BAA0B;QAC1B,IAAI,CAAC,CAAC,CAAC,YAAY,sBAAsB,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,MAAM;YAAE,MAAM,CAAC,CAAC;QACxE,MAAM,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,qBAAqB,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;QAChG,MAAM,KAAK,GAAG,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,oBAAoB,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;QACnI,MAAM,KAAK,EAAE,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,sBAAsB,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAChH,CAAC;IACD,IAAI,KAAK,KAAK,SAAS;QAAE,MAAM,IAAI,sBAAsB,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IAChG,MAAM,MAAM,GAAG,MAAM,oBAAoB,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;IACvF,MAAM,QAAQ,GAAG,MAAM,EAAE,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC;IAC9F,IAAI,QAAQ,KAAK,SAAS;QAAE,MAAM,IAAI,sBAAsB,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IACnG,MAAM,QAAQ,GAAG,MAAM,oBAAoB,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;IACrF,IAAI,QAAQ,KAAK,SAAS;QACxB,MAAM,IAAI,KAAK,CAAC,eAAe,KAAK,+BAA+B,QAAQ,+DAA+D,CAAC,CAAC;IAC9I,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,CAAC,EAAE,EAAE,CAAC;AAC9C,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,IAA2B,EAC3B,GAA2I;IAE3I,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,GAAG,CAAC,QAAQ,CAAC;IACrD,MAAM,QAAQ,GAAG,cAAc,EAAE,CAAC;IAClC,MAAM,sBAAsB,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE;QACnD,CAAC,EAAE,CAAC;QACJ,KAAK;QACL,QAAQ;QACR,GAAG,CAAC,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACxD,GAAG,CAAC,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjE,EAAE,EAAE,GAAG,CAAC,EAAE;QACV,EAAE,EAAE,GAAG,CAAC,GAAG;QACX,UAAU;KACX,CAAC,CAAC;IACH,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC;AACzC,CAAC;AAGD;wFACwF;AACxF,KAAK,UAAU,gBAAgB,CAAC,IAA2B,EAAE,KAAa,EAAE,UAAkB;IAC5F,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;IACxF,MAAM,OAAO,GAAmB,EAAE,CAAC;IACnC,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACpC,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,MAAM;YAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAqB,CAAC,CAAC;IACvF,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
package/dist/run-command.d.ts
CHANGED
|
@@ -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,
|
|
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"}
|