@cotal-ai/runtime 0.45.0 → 0.46.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.
@@ -1,32 +1,38 @@
1
1
  /**
2
2
  * `cotal run` — the workflow-run operator surface.
3
3
  *
4
- * Five verbs over the exports this package already ships: `start` drives a new run on the mesh
5
- * handler, `resume` takes an existing run over and drives it to quiescence, `ps` lists the run
4
+ * Five verbs: `start` drives a new run, `resume` takes an existing run over, `ps` lists the run
6
5
  * records of an endpoint, `journal` prints a run's durable step journal, and `answer` resolves an
7
6
  * open checkpoint, or an open `ask` attempt, through the run driver, which is the only door an
8
7
  * answer has (§14).
9
8
  *
10
- * The composition is the run-driver suite's, against a resolved mesh instead of a scratch broker:
11
- * one raw NATS connection, JetStream + the records bucket over it, the mesh handler bound to this
12
- * process as holder. Checkpoint EXPIRY rides the mediated timer writer, which the delivery daemon
13
- * pumps on a live mesh; `start` on a bare broker still runs and still resolves, it just cannot
14
- * expire a pause.
9
+ * By default every verb is a CLIENT of the mesh's manager (SPEC 14.3): the manager hosts the
10
+ * driver on its own per-run credential, so `start` and `resume` return the run id at once and the
11
+ * run keeps going after this terminal closes, survives a manager restart, and is answered from
12
+ * anywhere. `--local` keeps the older composition, in this process: one raw connection, the mesh
13
+ * handler bound to this process as holder, the drive held until it settles. It is for a bare broker
14
+ * with no manager, for a program a manager cannot host (one recorded before programs were recorded),
15
+ * and for the driver's own tests. Checkpoint EXPIRY rides the mediated timer writer, which the
16
+ * delivery daemon pumps on a live mesh; a local `start` on a bare broker still runs and still
17
+ * resolves, it just cannot expire a pause.
15
18
  */
16
- import { createHash, randomBytes, randomUUID } from "node:crypto";
19
+ import { randomBytes, randomUUID } from "node:crypto";
17
20
  import { readFileSync } from "node:fs";
18
21
  import { connect } from "@nats-io/transport-node";
19
22
  import { jetstream, jetstreamManager } from "@nats-io/jetstream";
20
- import { DEV_OWNER, newTakeoverId, openRecordsBucket, readRunRecord, replayRunJournal, standaloneConnectOpts, } from "@cotal-ai/core";
23
+ import { BASELINE_LIFECYCLE_ENDPOINT, EpEnvelopeError, LANG_PROBLEM_DETAIL_KIND, dialerFor, invokeCommand, newTakeoverId, openRecordsBucket, readRunProgram, readRunRecord, renderLifecycleBlocked, replayRunJournal, resolveService, runDriverCaller, RUN_LAUNCH_DEADLINE_MS, standaloneConnectOpts, unansweredRequest, walkKvEntries, } from "@cotal-ai/core";
21
24
  import { journalEntryKeyString } from "@cotal-ai/lang";
22
- import { connectOrExit, endpointAuth } from "@cotal-ai/workspace";
25
+ import { connectOrExit, controlCaller, endpointAuth, resolveControlTarget } from "@cotal-ai/workspace";
23
26
  import { startRun, driveRun } from "./run-driver.js";
24
27
  import { MeshHandler, EpfSettleWatcher } from "./mesh-handler.js";
25
- import { resolveCheckpoint } from "./resolve-checkpoint.js";
26
- const USAGE = 'usage: cotal run <start --file <program> [--timeout <dur>] | resume <runId> --file <program> | ps | journal <runId> | answer <runId> <stepKey> --by <who> [--value <json>] [--artifact <ref>]> [--endpoint <ep>] [--space <s>] [--server <url>] [--creds <path>]';
27
- /** One raw connection to the resolved mesh, with the planes a driver needs over it. */
28
- async function openPlanes(values) {
29
- const conn = await connectOrExit(values, "admin");
28
+ import { locateOpenCheckpoint, answerOpenCheckpoint } from "./resolve-checkpoint.js";
29
+ const USAGE = 'usage: cotal run <start --file <program> [--timeout <dur>] | resume <runId> [--local --file <program>] | ps [--endpoint <ep>] | journal <runId> [--endpoint <ep>] | answer <runId> <stepKey> [--value <json>] [--artifact <ref>] [--endpoint <ep>] [--local --by <who>]> [--local] [--space <s>] [--server <url>] [--creds <path>]';
30
+ /** One raw connection to the resolved mesh under the verb's OWN profile, with the planes over it.
31
+ * A drive rides the run's `run-driver` credential (SPEC 14.6), minted for the one run and attempt
32
+ * it drives; a read or an answer rides a one-shot `run-operator` credential for that call. An
33
+ * open mesh connects bare either way. */
34
+ async function openPlanes(values, role, mint) {
35
+ const conn = await connectOrExit(values, role, { mint });
30
36
  const nc = await connect({
31
37
  servers: conn.server,
32
38
  ...standaloneConnectOpts({ ...endpointAuth(conn), tls: conn.tls }),
@@ -61,25 +67,37 @@ function cliHolder() {
61
67
  const uid = randomUUID().replaceAll("-", "");
62
68
  return { id: `cli-run-${uid.slice(0, 8)}`, lifecycleUid: `u_${uid.slice(0, 20)}`, instanceId: uid.slice(0, 26) };
63
69
  }
64
- /**
65
- * The RUN-STABLE caller triple the run's durable actions ride, derived from the run id and nothing
66
- * else: goal facts key on the submitting triple, so a resume — any host, any invocation — must
67
- * re-derive the same one or it polls terminals its own submissions never wrote. The holder above is
68
- * deliberately fresh per invocation (the activation barrier needs that); this is deliberately not.
69
- * Grammar: actor is `[A-Za-z0-9_]+` and uid `[a-z0-9]{26,32}`, both satisfied by hex slices.
70
- */
71
- function runCaller(runId) {
72
- const h = createHash("sha256").update(runId, "utf8").digest("hex");
73
- return { owner: DEV_OWNER, actor: `wf_${h.slice(0, 12)}`, uid: h.slice(12, 38) };
74
- }
75
70
  function readProgram(values) {
76
71
  if (values.file === undefined) {
77
72
  console.error(USAGE);
78
- console.error("run: --file <program> is required; the record stores no source, so the caller supplies it");
73
+ console.error("run start: --file <program> is required");
79
74
  process.exit(1);
80
75
  }
81
76
  return readFileSync(values.file, "utf8");
82
77
  }
78
+ /**
79
+ * The source a resume runs: the recorded program, or the file when one is given.
80
+ *
81
+ * A file that disagrees with the record is refused: a resume onto different source is a fork or a
82
+ * migration, each of which files its own record, and driving the edited source under the old run id
83
+ * would replay steps whose input hashes the new program does not produce (L5002).
84
+ */
85
+ async function resumeSource(values, planes, endpoint, runId) {
86
+ const recorded = await readRunProgram(planes.kv, endpoint, runId);
87
+ if (values.file === undefined) {
88
+ if (recorded === undefined) {
89
+ console.error(`run ${runId}: no program is recorded for it (it was started before programs were recorded); pass --file <program> with the source it was started from`);
90
+ process.exit(1);
91
+ }
92
+ return recorded.source;
93
+ }
94
+ const source = readFileSync(values.file, "utf8");
95
+ if (recorded !== undefined && recorded.source !== source) {
96
+ console.error(`run ${runId}: ${values.file} is not the program this run was started from; a resume takes the recorded source (omit --file), and an edited program is a migration or a fork`);
97
+ process.exit(1);
98
+ }
99
+ return source;
100
+ }
83
101
  function reportOutcome(runId, out) {
84
102
  if (out.status === "completed") {
85
103
  const r = out.result;
@@ -95,7 +113,7 @@ function reportOutcome(runId, out) {
95
113
  }
96
114
  process.exitCode = 2;
97
115
  }
98
- async function start(values, planes) {
116
+ async function start(values) {
99
117
  const source = readProgram(values);
100
118
  const endpoint = values.endpoint ?? "manager";
101
119
  // Minted here, never caller-supplied: the records table binds run-id minting to the driver.
@@ -103,81 +121,87 @@ async function start(values, planes) {
103
121
  // outside any realistic horizon rather than a rare one-shot refusal.
104
122
  const runId = `run-${randomBytes(16).toString("hex")}`;
105
123
  const who = cliHolder();
106
- const handler = new MeshHandler(planes.nc, planes.kv, planes.js, planes.jsm, {
107
- space: planes.space,
108
- endpoint,
109
- runId,
110
- caller: runCaller(runId),
111
- instanceId: who.instanceId,
112
- epoch: 1,
113
- holder: { id: who.id, lifecycleUid: who.lifecycleUid },
114
- defaultCheckpointTimeout: values.timeout ?? "1h",
115
- }, new EpfSettleWatcher(planes.js, planes.jsm, planes.space), () => Date.now());
116
- console.log(`starting run ${runId} on endpoint ${endpoint} in space ${planes.space}`);
117
- const out = await startRun(planes.js, planes.jsm, {
118
- space: planes.space,
119
- endpoint,
120
- runId,
121
- source,
122
- kv: planes.kv,
123
- lease: { holder: who.id, epoch: 1, fencingToken: 1, takeoverId: newTakeoverId() },
124
- handler,
125
- ...(values.file !== undefined ? { file: values.file } : {}),
126
- ...(planes.resultBytes !== undefined ? { resultBytes: planes.resultBytes } : {}),
127
- });
128
- reportOutcome(runId, out);
124
+ const takeoverId = newTakeoverId();
125
+ const planes = await openPlanes(values, "run-driver", { runDriver: { endpoint, runId, takeoverId, instanceId: who.instanceId, epoch: 1 } });
126
+ try {
127
+ await drive(values, planes, { endpoint, runId, source, who, epoch: 1, fencingToken: 1, takeoverId, mode: "new" });
128
+ }
129
+ finally {
130
+ await planes.close();
131
+ }
129
132
  }
130
- async function resume(values, planes, runId) {
133
+ async function resume(values, runId) {
131
134
  if (runId === undefined) {
132
135
  console.error(USAGE);
133
136
  process.exit(1);
134
137
  }
135
- const source = readProgram(values);
136
138
  const endpoint = values.endpoint ?? "manager";
137
- const record = await readRunRecord(planes.kv, endpoint, runId);
138
- if (record === undefined) {
139
- console.error(`run ${runId}: no record on endpoint ${endpoint}; a run that was never started cannot be resumed`);
140
- process.exit(1);
139
+ // The record and the recorded program are READ under a one-shot operator credential, since the
140
+ // driver's own credential is minted for an epoch the record decides.
141
+ const reader = await openPlanes(values, "run-operator", { runOperator: { endpoint, runId, takeoverId: newTakeoverId() } });
142
+ let source;
143
+ let status;
144
+ try {
145
+ const record = await readRunRecord(reader.kv, endpoint, runId);
146
+ if (record === undefined) {
147
+ console.error(`run ${runId}: no record on endpoint ${endpoint}; a run that was never started cannot be resumed`);
148
+ process.exit(1);
149
+ }
150
+ source = await resumeSource(values, reader, endpoint, runId);
151
+ status = record.status?.value;
152
+ }
153
+ finally {
154
+ await reader.close();
141
155
  }
142
- const status = record.status?.value;
143
156
  const who = cliHolder();
144
157
  const epoch = (status?.epoch ?? 0) + 1;
158
+ const takeoverId = newTakeoverId();
159
+ const planes = await openPlanes(values, "run-driver", { runDriver: { endpoint, runId, takeoverId, instanceId: who.instanceId, epoch } });
160
+ try {
161
+ await drive(values, planes, { endpoint, runId, source, who, epoch, fencingToken: (status?.fencingToken ?? 0) + 1, takeoverId, mode: "existing" });
162
+ }
163
+ finally {
164
+ await planes.close();
165
+ }
166
+ }
167
+ /** One drive attempt in this process: the handler bound to this invocation as holder, the run
168
+ * held until it settles. */
169
+ async function drive(values, planes, a) {
170
+ const { endpoint, runId, source, who, epoch, fencingToken, takeoverId } = a;
145
171
  const handler = new MeshHandler(planes.nc, planes.kv, planes.js, planes.jsm, {
146
172
  space: planes.space,
147
173
  endpoint,
148
174
  runId,
149
- caller: runCaller(runId),
175
+ caller: runDriverCaller(runId),
150
176
  instanceId: who.instanceId,
151
177
  epoch,
152
178
  holder: { id: who.id, lifecycleUid: who.lifecycleUid },
153
179
  defaultCheckpointTimeout: values.timeout ?? "1h",
154
- }, new EpfSettleWatcher(planes.js, planes.jsm, planes.space), () => Date.now());
155
- const out = await driveRun(planes.js, planes.jsm, {
180
+ }, new EpfSettleWatcher(planes.jsm, planes.space), () => Date.now());
181
+ const req = {
156
182
  space: planes.space,
157
183
  endpoint,
158
184
  runId,
159
185
  source,
160
186
  kv: planes.kv,
161
- lease: {
162
- holder: who.id,
163
- epoch,
164
- fencingToken: (status?.fencingToken ?? 0) + 1,
165
- takeoverId: newTakeoverId(),
166
- },
187
+ lease: { holder: who.id, epoch, fencingToken, takeoverId },
167
188
  handler,
168
189
  ...(values.file !== undefined ? { file: values.file } : {}),
169
190
  ...(planes.resultBytes !== undefined ? { resultBytes: planes.resultBytes } : {}),
170
- });
191
+ };
192
+ if (a.mode === "new")
193
+ console.log(`starting run ${runId} on endpoint ${endpoint} in space ${planes.space}`);
194
+ const out = a.mode === "new" ? await startRun(planes.js, planes.jsm, req) : await driveRun(planes.js, planes.jsm, req);
171
195
  reportOutcome(runId, out);
172
196
  }
173
197
  async function ps(values, planes) {
174
198
  // Run record keys are `run.<endpoint>.<runId>.<spec|status>` in the records bucket; the scan is
175
- // over the spec half, which every run has exactly once.
199
+ // over the spec half, which every run has exactly once. A consumer-free walk: the records bucket
200
+ // is an authority stream whose consumer surface is an exact audited list (SPEC 13.9).
176
201
  const seen = new Set();
177
202
  const rows = [];
178
- const iter = await planes.kv.keys("run.>");
179
- for await (const key of iter) {
180
- const parts = key.split(".");
203
+ for (const e of await walkKvEntries(planes.kv, "run.*.*.spec")) {
204
+ const parts = e.key.split(".");
181
205
  if (parts.length !== 4 || parts[3] !== "spec")
182
206
  continue;
183
207
  const endpoint = parts[1];
@@ -213,12 +237,13 @@ async function ps(values, planes) {
213
237
  for (const r of rows)
214
238
  console.log(line(r));
215
239
  }
216
- async function journal(planes, runId) {
240
+ async function journal(planes, runId, takeoverId) {
217
241
  if (runId === undefined) {
218
242
  console.error(USAGE);
219
243
  process.exit(1);
220
244
  }
221
- const replay = await replayRunJournal(planes.js, planes.jsm, planes.space, runId, newTakeoverId());
245
+ // The replay durable is named by the takeover id this call's credential was minted for.
246
+ const replay = await replayRunJournal(planes.js, planes.jsm, planes.space, runId, takeoverId);
222
247
  if (replay.records.length === 0) {
223
248
  console.log(`run ${runId}: no journal records (never started, or retired)`);
224
249
  return;
@@ -246,38 +271,207 @@ async function journal(planes, runId) {
246
271
  }
247
272
  }
248
273
  }
249
- async function answer(values, planes, runId, stepKey) {
274
+ /** `answer --local`: the pause is found under the READ credential this call was opened on, then
275
+ * the answer rides a second, one-shot credential pinned to that pause's token. */
276
+ async function answer(values, reader, runId, stepKey, takeoverId) {
250
277
  if (runId === undefined || stepKey === undefined || values.by === undefined) {
251
278
  console.error(USAGE);
252
279
  console.error("run answer: <runId> <stepKey> and --by <who> are required");
253
280
  process.exit(1);
254
281
  }
255
282
  const endpoint = values.endpoint ?? "manager";
256
- let parsedValue;
257
- if (values.value !== undefined) {
258
- try {
259
- parsedValue = JSON.parse(values.value);
283
+ const parsedValue = parseAnswerValue(values);
284
+ const open = await locateOpenCheckpoint({ kv: reader.kv, js: reader.js, jsm: reader.jsm, space: reader.space, endpoint }, { runId, stepKey, takeoverId });
285
+ // Resume is holder-bound (SPEC 13.10) and the CLI is not the driver: the resolver presents as
286
+ // the ARMING holder it read off the checkpoint's own record, so a fresh invocation answers
287
+ // exactly as the minter would have. The answerer's name rides `by`, never the presenter.
288
+ const writer = await openPlanes(values, "run-operator", { runOperator: { endpoint, takeoverId: newTakeoverId(), answers: { token: open.token } } });
289
+ try {
290
+ const result = await answerOpenCheckpoint({ kv: writer.kv, js: writer.js, jsm: writer.jsm, space: writer.space, endpoint }, {
291
+ open,
292
+ by: values.by,
293
+ ...(values.value !== undefined ? { value: parsedValue } : {}),
294
+ ...(values.artifact !== undefined ? { artifact: values.artifact } : {}),
295
+ now: Date.now(),
296
+ });
297
+ console.log(JSON.stringify(result, null, 2));
298
+ }
299
+ finally {
300
+ await writer.close();
301
+ }
302
+ }
303
+ /** Parse `--value` as JSON, with the one hint every first-time user needs. */
304
+ function parseAnswerValue(values) {
305
+ if (values.value === undefined)
306
+ return undefined;
307
+ try {
308
+ return JSON.parse(values.value);
309
+ }
310
+ catch {
311
+ console.error(`run answer: --value is not valid JSON: ${values.value}`);
312
+ console.error('a bare string needs its own quotes, e.g. --value \'"yes"\'');
313
+ process.exit(1);
314
+ }
315
+ }
316
+ // ── the manager-hosted path (SPEC 14.3) ─────────────────────────────────────────────────────
317
+ /** One command to the mesh's manager over the endpoint rails: a fresh resolve (describe, store
318
+ * fetch, digest-verified recompile), then the invoke. The reply's data on success; on a refusal
319
+ * the manager's own sentence, printed, and a non-zero exit. */
320
+ async function askHost(values, command, args) {
321
+ const t = await resolveControlTarget(values, "control-caller-privileged");
322
+ const who = controlCaller(t.auth);
323
+ if ("refusal" in who) {
324
+ console.error(who.refusal);
325
+ process.exit(1);
326
+ }
327
+ const auth = t.auth;
328
+ const nc = await dialerFor(t.server)({
329
+ servers: t.server,
330
+ ...standaloneConnectOpts(auth.creds ? { creds: auth.creds, tls: auth.tls === true } : auth.bearer ? { bearer: auth.bearer, sentinelCreds: auth.sentinelCreds, tls: auth.tls === true } : { tls: auth.tls === true }),
331
+ maxReconnectAttempts: 0,
332
+ });
333
+ try {
334
+ const service = await resolveService(nc, t.space, BASELINE_LIFECYCLE_ENDPOINT, who.caller, { deadlineMs: 10_000 });
335
+ // A start or resume is answered only once the drive has activated, which the manager waits on
336
+ // for a bounded time; the deadline here outlives that wait, so the manager's own "still
337
+ // launching" refusal is what a slow activation reads as, never a manager that did not answer.
338
+ const r = await invokeCommand(nc, t.space, service, command, args, { deadlineMs: RUN_LAUNCH_DEADLINE_MS });
339
+ if (r.reply.ok !== true) {
340
+ const err = r.reply.error;
341
+ console.error(`run ${command.slice(4)}: ${renderLifecycleBlocked(err?.message ?? err?.code ?? "the manager refused", err)}`);
342
+ // A validation refusal carries every problem as the language's own records; print them the
343
+ // way the validator would, so the fix is the same edit either way.
344
+ for (const d of err?.details ?? [])
345
+ if (d.kind === LANG_PROBLEM_DETAIL_KIND)
346
+ console.error(renderLangProblem(d));
347
+ process.exit(1);
260
348
  }
261
- catch {
262
- console.error(`run answer: --value is not valid JSON: ${values.value}`);
263
- console.error('a bare string needs its own quotes, e.g. --value \'"yes"\'');
349
+ return r.reply.data;
350
+ }
351
+ catch (e) {
352
+ if (e instanceof EpEnvelopeError) {
353
+ console.error(unansweredRequest(e)
354
+ ? `no manager answered on the endpoint rails (${e.code}: ${e.message}); is a manager running for this mesh? A run can still be driven from this terminal with --local`
355
+ : `${e.code}: ${e.message}`);
264
356
  process.exit(1);
265
357
  }
358
+ throw e;
266
359
  }
267
- // Resume is holder-bound (SPEC 13.10) and the CLI is not the driver: the resolver presents as
268
- // the ARMING holder it reads off the checkpoint's own record, so a fresh invocation answers
269
- // exactly as the minter would have. The answerer's name rides `by`, never the presenter.
270
- const result = await resolveCheckpoint({ kv: planes.kv, js: planes.js, jsm: planes.jsm, space: planes.space, endpoint }, {
271
- runId,
272
- stepKey,
273
- by: values.by,
274
- ...(values.value !== undefined ? { value: parsedValue } : {}),
360
+ finally {
361
+ await nc.drain().catch(() => nc.close());
362
+ }
363
+ }
364
+ function renderLangProblem(d) {
365
+ const where = d.where;
366
+ const at = where ? `${where.file ?? "<program>"}:${where.line ?? "?"}:${where.column ?? "?"}` : "<program>";
367
+ return ` ${String(d.code ?? "L????")} ${String(d.title ?? "")} (${at})\n ${String(d.cause ?? "")}\n fix: ${String(d.fix ?? "")}`;
368
+ }
369
+ function printJournal(runId, rows) {
370
+ if (rows.length === 0) {
371
+ console.log(`run ${runId}: no journal records (never started, or retired)`);
372
+ return;
373
+ }
374
+ for (const r of rows) {
375
+ if (r.kind === "activation") {
376
+ console.log(`#${r.n} activation holder=${r.holder} epoch=${r.epoch} replayedTo=${r.replayedTo}`);
377
+ continue;
378
+ }
379
+ console.log(`#${r.n} step ${r.step} ${r.outcome}`);
380
+ if (r.asks !== undefined)
381
+ console.log(` asks ${r.asks}${r.addressee !== undefined ? ` (escalates to ${r.addressee})` : ""}`);
382
+ }
383
+ }
384
+ function printRuns(space, rows) {
385
+ if (rows.length === 0) {
386
+ console.log(`no workflow runs recorded in space ${space}`);
387
+ return;
388
+ }
389
+ const table = rows.map((r) => [
390
+ r.runId,
391
+ r.endpoint,
392
+ r.state ?? "(no status)",
393
+ r.holder ?? "-",
394
+ r.journalHigh === undefined ? "-" : String(r.journalHigh),
395
+ r.forkedFrom === undefined ? "-" : `${r.forkedFrom.run}@${r.forkedFrom.step}`,
396
+ ]);
397
+ const header = ["RUN", "ENDPOINT", "STATE", "HOLDER", "JOURNAL", "FORKED-FROM"];
398
+ const widths = header.map((h, i) => Math.max(h.length, ...table.map((r) => r[i].length)));
399
+ const line = (r) => r.map((cell, i) => cell.padEnd(widths[i])).join(" ");
400
+ console.log(line(header));
401
+ for (const r of table)
402
+ console.log(line(r));
403
+ }
404
+ async function hosted(values, verb, a, b) {
405
+ const endpoint = values.endpoint !== undefined ? { endpoint: values.endpoint } : {};
406
+ // A hosted drive is recorded under the manager's own endpoint; a caller cannot choose another,
407
+ // so an `--endpoint` here is refused rather than dropped.
408
+ if ((verb === "start" || verb === "resume") && values.endpoint !== undefined) {
409
+ console.error(`run ${verb}: --endpoint is not taken on the hosted path; the manager records the run under its own endpoint. \`--local\` drives under a chosen endpoint from this process`);
410
+ process.exit(1);
411
+ }
412
+ if (verb === "answer" && values.by !== undefined) {
413
+ console.error("run answer: --by is not taken on the hosted path; the manager records you as the answerer from your credential. `--local --by <who>` names the answerer when driving from this process");
414
+ process.exit(1);
415
+ }
416
+ if (verb === "start") {
417
+ const source = readProgram(values);
418
+ const started = await askHost(values, "run-start", {
419
+ source,
420
+ file: values.file,
421
+ ...(values.timeout !== undefined ? { timeout: values.timeout } : {}),
422
+ });
423
+ console.log(`started run ${started.runId} on the manager; it runs there until it completes or is held`);
424
+ console.log(` cotal run journal ${started.runId} # follow its steps`);
425
+ return;
426
+ }
427
+ if (verb === "resume") {
428
+ if (a === undefined) {
429
+ console.error(USAGE);
430
+ process.exit(1);
431
+ }
432
+ if (values.file !== undefined) {
433
+ console.error(`run resume: the manager resumes a run from its recorded program, so --file is not taken; a run with no recorded program is resumed with \`cotal run resume ${a} --local --file <program>\``);
434
+ process.exit(1);
435
+ }
436
+ const resumed = await askHost(values, "run-resume", { runId: a, ...(values.timeout !== undefined ? { timeout: values.timeout } : {}) });
437
+ console.log(`resumed run ${resumed.runId} on the manager`);
438
+ return;
439
+ }
440
+ if (verb === "ps") {
441
+ const rows = await askHost(values, "run-ps", Object.keys(endpoint).length ? endpoint : undefined);
442
+ const t = values.space ?? "(the resolved mesh)";
443
+ printRuns(t, rows);
444
+ return;
445
+ }
446
+ if (verb === "journal") {
447
+ if (a === undefined) {
448
+ console.error(USAGE);
449
+ process.exit(1);
450
+ }
451
+ const view = await askHost(values, "run-status", { runId: a, ...endpoint });
452
+ const st = view.status;
453
+ console.log(`run ${view.runId} on ${view.endpoint}: ${st === undefined ? "(no status)" : `${st.state}, holder ${st.holder}, epoch ${st.epoch}`}`);
454
+ printJournal(view.runId, view.journal);
455
+ return;
456
+ }
457
+ // answer: the manager records the caller as the answerer (SPEC 14.5), so no `--by` rides.
458
+ if (a === undefined || b === undefined) {
459
+ console.error(USAGE);
460
+ console.error("run answer: <runId> <stepKey> are required");
461
+ process.exit(1);
462
+ }
463
+ const value = parseAnswerValue(values);
464
+ const result = await askHost(values, "run-answer", {
465
+ runId: a,
466
+ stepKey: b,
467
+ ...endpoint,
468
+ ...(values.value !== undefined ? { value } : {}),
275
469
  ...(values.artifact !== undefined ? { artifact: values.artifact } : {}),
276
- now: Date.now(),
277
470
  });
278
471
  console.log(JSON.stringify(result, null, 2));
279
472
  }
280
- /** `cotal run <start|resume|ps|journal|answer>` — dispatch, one connection per invocation. */
473
+ /** `cotal run <start|resume|ps|journal|answer>` — dispatch. The manager hosts by default;
474
+ * `--local` drives in this process over one connection per invocation. */
281
475
  export async function runWorkflow(args) {
282
476
  const values = args.values;
283
477
  const [verb, a, b] = args.positionals;
@@ -285,18 +479,29 @@ export async function runWorkflow(args) {
285
479
  console.error(USAGE);
286
480
  process.exit(1);
287
481
  }
288
- const planes = await openPlanes(values);
482
+ if (values.local !== true) {
483
+ await hosted(values, verb, a, b);
484
+ return;
485
+ }
486
+ if (verb === "start")
487
+ return start(values);
488
+ if (verb === "resume")
489
+ return resume(values, a);
490
+ // The reads ride a one-shot operator READ credential for that call; a journal or an answer names
491
+ // the run its replay durable is pinned to. An answer finds its pause on this credential and then
492
+ // writes on a second one, minted for that pause alone (see `answer`).
493
+ const endpoint = values.endpoint ?? "manager";
494
+ const takeoverId = newTakeoverId();
495
+ const planes = await openPlanes(values, "run-operator", {
496
+ runOperator: { endpoint, takeoverId, ...(verb !== "ps" && a !== undefined ? { runId: a } : {}) },
497
+ });
289
498
  try {
290
- if (verb === "start")
291
- await start(values, planes);
292
- else if (verb === "resume")
293
- await resume(values, planes, a);
294
- else if (verb === "ps")
499
+ if (verb === "ps")
295
500
  await ps(values, planes);
296
501
  else if (verb === "journal")
297
- await journal(planes, a);
502
+ await journal(planes, a, takeoverId);
298
503
  else
299
- await answer(values, planes, a, b);
504
+ await answer(values, planes, a, b, takeoverId);
300
505
  }
301
506
  finally {
302
507
  await planes.close();
@@ -1 +1 @@
1
- {"version":3,"file":"run-command.js","sourceRoot":"","sources":["../src/run-command.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run-command.js","sourceRoot":"","sources":["../src/run-command.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"run-driver.d.ts","sourceRoot":"","sources":["../src/run-driver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run-driver.d.ts","sourceRoot":"","sources":["../src/run-driver.ts"],"names":[],"mappings":"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"}