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