@cotal-ai/lang 0.48.2 → 0.49.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. package/dist/dryrun.d.ts +30 -1
  2. package/dist/dryrun.d.ts.map +1 -1
  3. package/dist/dryrun.js +29 -0
  4. package/dist/dryrun.js.map +1 -1
  5. package/dist/effects.d.ts +58 -0
  6. package/dist/effects.d.ts.map +1 -1
  7. package/dist/effects.js.map +1 -1
  8. package/dist/engine/ctx.d.ts.map +1 -1
  9. package/dist/engine/ctx.js +19 -0
  10. package/dist/engine/ctx.js.map +1 -1
  11. package/dist/engine/frame.d.ts +2 -2
  12. package/dist/engine/frame.d.ts.map +1 -1
  13. package/dist/engine/frame.js.map +1 -1
  14. package/dist/errors.d.ts +6 -0
  15. package/dist/errors.d.ts.map +1 -1
  16. package/dist/errors.js +22 -0
  17. package/dist/errors.js.map +1 -1
  18. package/dist/grammar.d.ts.map +1 -1
  19. package/dist/grammar.js +50 -0
  20. package/dist/grammar.js.map +1 -1
  21. package/dist/index.d.ts +2 -2
  22. package/dist/index.d.ts.map +1 -1
  23. package/dist/index.js.map +1 -1
  24. package/dist/interpret.js.map +1 -1
  25. package/dist/journal.d.ts +36 -0
  26. package/dist/journal.d.ts.map +1 -1
  27. package/dist/journal.js +50 -0
  28. package/dist/journal.js.map +1 -1
  29. package/dist/keys.d.ts +23 -3
  30. package/dist/keys.d.ts.map +1 -1
  31. package/dist/keys.js.map +1 -1
  32. package/dist/perform.d.ts +7 -3
  33. package/dist/perform.d.ts.map +1 -1
  34. package/dist/perform.js +266 -0
  35. package/dist/perform.js.map +1 -1
  36. package/dist/primitives.d.ts +20 -1
  37. package/dist/primitives.d.ts.map +1 -1
  38. package/dist/primitives.js +28 -0
  39. package/dist/primitives.js.map +1 -1
  40. package/dist/sim.d.ts +16 -1
  41. package/dist/sim.d.ts.map +1 -1
  42. package/dist/sim.js +25 -0
  43. package/dist/sim.js.map +1 -1
  44. package/dist/transform/emit.d.ts.map +1 -1
  45. package/dist/transform/emit.js +7 -0
  46. package/dist/transform/emit.js.map +1 -1
  47. package/package.json +1 -1
package/dist/perform.js CHANGED
@@ -246,10 +246,208 @@ export async function performEffect(host, kind, name, hashedInput, perform, fram
246
246
  frame.clock.advance(endedAt);
247
247
  return result;
248
248
  }
249
+ /**
250
+ * `waitUntil`: the durable wait on something that is not a mesh event.
251
+ *
252
+ * IT DOES NOT GO THROUGH {@link performEffect}, and that is the whole point rather than an
253
+ * exemption. `performEffect` is built around a single dispatch whose outcome SETTLES the entry, and
254
+ * `lookup` serves a settled entry by handing `result` back with no handler call at all. Run a
255
+ * poll through that and the first observation becomes the step's answer forever: measured on this
256
+ * exact shape before this function existed, a run that observed `"pending"` once replayed
257
+ * `"pending"` on every later activation, for a resource that had since completed, and the handler
258
+ * was never called again. That is #1459's sharp half, and no amount of care inside a handler can
259
+ * reach it, because the handler is not invited.
260
+ *
261
+ * So the durable shape is different in one specific way: a NON-TERMINAL observation is appended to
262
+ * the entry with {@link Journal.observe} and the entry STAYS PENDING. `lookup` answers `pending`
263
+ * for it, which routes to the live path, so a resumed run OBSERVES AGAIN. Only the terminal
264
+ * observation settles, because only that one is an answer. Everything else about the entry is the
265
+ * ordinary contract: it begins before the first observation, it carries the request id a handler
266
+ * waits under, and the two failure domains stay separate.
267
+ *
268
+ * WHO OWNS WHAT. The program owns the probe and the predicate; the runtime owns the cadence and
269
+ * the deadline. A program that hand-rolled this with `sleep` in a loop owns all four, which is the
270
+ * duplication §6 complains about, and it still could not re-observe: its `sleep` and its poll are
271
+ * two settled steps, so the poll's recorded answer is replayed exactly as before.
272
+ */
273
+ async function performWaitUntil(host, name, hashedInput, probe, terminal, every, deadline, frame) {
274
+ const key = frame.keys.nextEffect("waitUntil", name);
275
+ const inputHash = digest(hashedInput ?? null);
276
+ const verdict = host.journal.lookup(key, inputHash);
277
+ switch (verdict.verdict) {
278
+ // A SETTLED `waitUntil` replays like any other step, and it must: what settled it was the
279
+ // TERMINAL observation, which IS an answer, and re-observing a wait that already finished
280
+ // would re-ask a question the run has answered. Only the unfinished ones re-observe.
281
+ case "replay":
282
+ if (verdict.entry.endedAt !== undefined)
283
+ frame.clock.advance(verdict.entry.endedAt);
284
+ return verdict.entry.result;
285
+ case "replay-failed": {
286
+ if (verdict.entry.endedAt !== undefined)
287
+ frame.clock.advance(verdict.entry.endedAt);
288
+ const e = verdict.entry.error;
289
+ throw new EffectError(e.code, e.kind, e.message, e.detail);
290
+ }
291
+ case "replay-cancelled":
292
+ throw new Cancelled("this branch was cancelled on the recorded run");
293
+ case "diverged":
294
+ throw new RunDivergence(stepKeyString(key), verdict.recordedHash, verdict.programHash);
295
+ case "refused":
296
+ case "pending":
297
+ case "miss":
298
+ break;
299
+ }
300
+ if (frame.signal.cancelled)
301
+ throw new Cancelled(frame.signal.reason ?? "cancelled");
302
+ const stop = host.options.shouldStop?.();
303
+ if (stop !== undefined)
304
+ throw new RunReleased(stop);
305
+ host.effectCount += 1;
306
+ if (host.effectCount > host.ceiling) {
307
+ throw new RuntimeFault("L4009", `this run has performed more than ${host.ceiling} effects, which means a loop is not terminating. Add an exit condition or a permit.`);
308
+ }
309
+ const recorded = verdict.verdict === "pending" ? verdict.entry : undefined;
310
+ const reqId = recorded?.requestId ?? requestId(host.options.runId, key, inputHash);
311
+ if (verdict.verdict === "miss" || verdict.verdict === "refused") {
312
+ await host.journal.begin(key, inputHash, host.options.handler.now(), reqId);
313
+ if (frame.signal.cancelled) {
314
+ await host.journal.settle(key, { status: "cancelled" }, host.options.handler.now());
315
+ throw new Cancelled(frame.signal.reason ?? "cancelled");
316
+ }
317
+ }
318
+ // THE DEADLINE IS ABSOLUTE AND IT IS READ BACK, never recomputed from a clock that has moved.
319
+ // Recomputing `now + deadline` on every activation is how an hour-long wait becomes immortal:
320
+ // each crash would hand it a fresh hour, and a run that should have given up at 11:00 goes on
321
+ // waiting forever, which is the same class of defect as the one this primitive fixes. The
322
+ // entry's own `startedAt` is the epoch, and it survives because the entry does.
323
+ const startedAt = host.journal.get(key)?.startedAt ?? host.options.handler.now();
324
+ const deadlineAt = startedAt + parseDuration(deadline);
325
+ let attempt = (recorded?.observations ?? []).length;
326
+ for (;;) {
327
+ const ctx = {
328
+ key,
329
+ signal: frame.signal,
330
+ requestId: reqId,
331
+ attempt,
332
+ ...(recorded?.external !== undefined ? { resume: recorded.external } : {}),
333
+ bind: async (external) => {
334
+ assertCrossable(external, `the binding of ${stepKeyString(key)}`);
335
+ await host.journal.bind(key, external);
336
+ },
337
+ };
338
+ // EACH OBSERVATION GETS ITS OWN KEY NAMESPACE, and this is the half of the fix that is easy
339
+ // to miss. The probe reaches the world by performing effects, and those effects allocate keys
340
+ // in the frame it runs in. Share one namespace across observations and observation 2's probe
341
+ // allocates the key observation 1's probe already settled: the journal answers `replay`, the
342
+ // probe is handed back the FIRST look's result, and the wait re-observes while its probe does
343
+ // not. The re-observation would be a ritual. A per-observation branch makes each look a
344
+ // namespace nothing has written to, so a resumed wait's next look runs live.
345
+ const observing = frame.branch("waitUntil", name, key.occurrence, String(attempt));
346
+ // THE CADENCE IS THE HANDLER'S, and the first observation skips it: a wait that sleeps before
347
+ // it has ever looked is a wait that cannot notice a predicate which already holds, and the
348
+ // canonical use ("are the checks done") is very often already true by the time the run asks.
349
+ // The request carries the cadence either way and `attempt` is what says to skip it, so the
350
+ // fact never has to go missing to be communicated.
351
+ let inTime;
352
+ try {
353
+ inTime = await host.options.handler.observe({ name, every, deadlineAt, deadline, attempt }, ctx);
354
+ }
355
+ catch (e) {
356
+ const endedAt = host.options.handler.now();
357
+ if (e instanceof JournalAppendRejected)
358
+ throw e;
359
+ // A refusal is not a failure here either: nothing was observed, so the entry settles
360
+ // `refused` and a capable host picks the wait up exactly where it stands, with the
361
+ // observations it has already made intact.
362
+ if (e instanceof EffectRefused) {
363
+ await host.journal.settle(key, { status: "refused", error: { code: e.code, kind: "refused", message: e.message } }, endedAt);
364
+ throw new RunHeld(stepKeyString(key), e.message);
365
+ }
366
+ if (e instanceof Cancelled) {
367
+ await host.journal.settle(key, { status: "cancelled" }, endedAt);
368
+ throw e;
369
+ }
370
+ const raised = e?.code;
371
+ const carried = typeof raised === "string" && /^L\d{4}$/.test(raised) ? raised : null;
372
+ const rec = e instanceof EffectError ? recordableError(e, "handler-fault") : undefined;
373
+ const error = rec !== undefined ? rec.error : { code: carried ?? "L4000", kind: "handler-fault", message: messageOf(e) };
374
+ await host.journal.settle(key, { status: "failed", error }, endedAt);
375
+ frame.clock.advance(endedAt);
376
+ throw rec?.faithful === true ? e : new EffectError(error.code, error.kind, error.message);
377
+ }
378
+ if (!inTime) {
379
+ // THE DEADLINE, and it is CATCHABLE with its own code, exactly as `turn`'s L4003 is. A wait
380
+ // that gave up is a fact about the world the program asked about, so the program decides
381
+ // what to do next; it is not a fault of the run's. The failure settles the entry, carrying
382
+ // how many times it looked, because "I observed 60 times over an hour and it never held" is
383
+ // the sentence whoever reads this needs.
384
+ const endedAt = host.options.handler.now();
385
+ const looked = (host.journal.get(key)?.observations ?? []).length;
386
+ const error = {
387
+ code: "L4023",
388
+ kind: "wait-until-deadline",
389
+ message: `L4023 \`waitUntil\` deadline elapsed\n\n step ${stepKeyString(key)} ${looked} observation${looked === 1 ? "" : "s"} over ${deadline}\n\n`
390
+ + `The predicate never held: every observation this wait made was non-terminal, and the deadline passed.\n\n`
391
+ + `Options\n catch it: \`e.code === "L4023"\` and chase, escalate, or proceed degraded\n raise \`deadline\`, or widen \`terminal\` if a state you meant to accept is being read as still-pending`,
392
+ detail: { observations: looked, deadline, every },
393
+ };
394
+ await host.journal.settle(key, { status: "failed", error }, endedAt);
395
+ frame.clock.advance(endedAt);
396
+ throw new EffectError(error.code, error.kind, error.message, error.detail);
397
+ }
398
+ // THE PROBE IS THE PROGRAM'S OWN CODE, called by the runtime. Its answer is refused here if it
399
+ // has no canonical form, with its own code: it is about to be journalled AND handed back to
400
+ // the program, so the two things a recorded value must be able to do are exactly what it
401
+ // cannot do. Blamed as L4024 rather than L3041 because nothing crossed a boundary at a CALL —
402
+ // a function the runtime invoked answered the wrong shape, and the repair differs.
403
+ const observation = await probe(observing);
404
+ try {
405
+ assertCrossable(observation, `the observation of ${stepKeyString(key)}`);
406
+ }
407
+ catch (e) {
408
+ if (!(e instanceof NotCrossable))
409
+ throw e;
410
+ throw new RuntimeFault("L4024", `this \`waitUntil\`'s probe answered with a value that cannot be recorded: ${e.message}. Every observation is journalled as history and handed to \`terminal\`, so it has to be data. Return what you read (a status string, a record of counts), not the object you read it from.`);
411
+ }
412
+ // THE PREDICATE IS THE PROGRAM'S TOO, and it decides the ONE thing the runtime cannot: whether
413
+ // this observation is an answer. Absent, any observation that is not `null` is terminal, which
414
+ // makes the no-predicate form mean "wait until there is something", and a probe that answers
415
+ // null while it waits is the idiom that shape serves.
416
+ const decided = terminal === undefined ? observation !== null : await terminal(observing, observation);
417
+ if (typeof decided !== "boolean") {
418
+ throw new RuntimeFault("L4024", `this \`waitUntil\`'s \`terminal\` answered ${JSON.stringify(decided) ?? "undefined"} rather than true or false. It decides whether an observation ENDS the wait, so a value that is merely truthy is not enough: a predicate that accidentally returns a record would end every wait on its first look. Return a comparison.`);
419
+ }
420
+ const at = host.options.handler.now();
421
+ // The wait's own clock carries what its observations awaited: an observation is an effect this
422
+ // step performed, so the time it consumed is time this step consumed.
423
+ frame.clock.join([observing.clock]);
424
+ if (decided) {
425
+ // THE TERMINAL OBSERVATION IS THE ANSWER, so it settles, and it is recorded in BOTH places
426
+ // on purpose. `result` is what a later activation replays, which is correct now that the
427
+ // wait is over; `observations` keeps the whole history, so the record says how long the
428
+ // world took to get there rather than only where it ended up.
429
+ await host.journal.observe(key, observation, at);
430
+ await host.journal.settle(key, { status: "ok", result: deepFreeze(observation) }, at);
431
+ frame.clock.advance(at);
432
+ return observation;
433
+ }
434
+ // NOT AN ANSWER: recorded as HISTORY, and the entry stays PENDING. This single line is what
435
+ // #1459 asks for. A resume finds a pending entry, `lookup` answers `pending`, the live path
436
+ // runs, and the world is observed again — instead of the recorded "pending" being handed back
437
+ // as though it were still true.
438
+ await host.journal.observe(key, observation, at);
439
+ frame.clock.advance(at);
440
+ attempt += 1;
441
+ }
442
+ }
249
443
  /**
250
444
  * Dispatch one non-scope primitive from evaluated argument VALUES: the crossability refusals, the
251
445
  * freeze on share, and the per-primitive hashed projection, ending in {@link performEffect}. The
252
446
  * scope-openers never come here: their branches must stay unevaluated.
447
+ *
448
+ * It takes a full {@link Frame} rather than an {@link EffectFrame} because `waitUntil` gives each
449
+ * observation its own key namespace, which needs `branch`. Both engines already pass a real frame;
450
+ * declaring what is actually required is what keeps that a checked fact rather than a cast.
253
451
  */
254
452
  export async function dispatchPrimitive(host, name, args, frame) {
255
453
  const spec = PRIMITIVES[name];
@@ -260,8 +458,29 @@ export async function dispatchPrimitive(host, name, args, frame) {
260
458
  // written, with the argument named: `undefined`, a non-finite number and an opaque object are
261
459
  // L3041, a function is L3042. The result of the effect is held to the same rule in
262
460
  // {@link Interpreter.performEffect}.
461
+ //
462
+ // THE PROBE IS THE ONE EXEMPTION, and it is an exemption from the RULE'S PREMISE rather than a
463
+ // hole in the rule. The premise is "this value crosses to a handler or a journal", and a probe
464
+ // does neither: it is program code the INTERPRETER calls, in the program's own compartment, and
465
+ // what crosses is the observation it returns, which is held to the full rule at every
466
+ // observation. A `fanOut`'s branch function is the same shape and avoids this loop only because
467
+ // a scope-opener never reaches it. Driven by `probeAt` from the table, so a second primitive
468
+ // taking a probe cannot arrive with the exemption silently missing or silently wrong.
263
469
  args.forEach((arg, i) => {
470
+ if (spec.probeAt === i)
471
+ return;
264
472
  try {
473
+ // A bag holding a declared function option is checked KEY BY KEY, so every other key in it
474
+ // still answers to the rule whole: exempting the bag wholesale would let a stray function
475
+ // anywhere inside it through, which is the loophole rather than the exemption.
476
+ if (i === spec.optionsAt && spec.functionOptions !== undefined && arg !== null && typeof arg === "object") {
477
+ for (const [k, v] of Object.entries(arg)) {
478
+ if (spec.functionOptions.includes(k))
479
+ continue;
480
+ assertCrossable(v, `\`${k}\` of \`${name}\``);
481
+ }
482
+ return;
483
+ }
265
484
  assertCrossable(arg, `argument ${i + 1} of \`${name}\``);
266
485
  }
267
486
  catch (e) {
@@ -471,6 +690,53 @@ export async function dispatchPrimitive(host, name, args, frame) {
471
690
  // stale cutoff.
472
691
  return await performEffect(host, "wait", stepName ?? "", { event, timeout: timeout ?? null }, (ctx) => handler.wait({ event, ...(timeout !== undefined ? { timeout } : {}) }, ctx), frame);
473
692
  }
693
+ case "waitUntil": {
694
+ // THE PROBE IS A FUNCTION, so it is the one primitive argument that does NOT cross the
695
+ // effect boundary as data: it is program code the runtime calls, repeatedly, and the
696
+ // crossability loop above has already refused every other argument. It is validated
697
+ // statically (L3045) and again here, because a computed callee is only knowable now.
698
+ const probeArg = args[0];
699
+ if (typeof probeArg !== "function") {
700
+ throw new RuntimeFault("L3045", `\`waitUntil\` takes a PROBE as its first argument: a function the runtime calls on its own cadence to observe something outside the run. It was given ${JSON.stringify(probeArg) ?? "undefined"}. Pass a function: waitUntil(() => checks(sha), { name: "checks", every: "1m", deadline: "1h" }).`);
701
+ }
702
+ const every = option(bag, "every");
703
+ const deadline = option(bag, "deadline");
704
+ // BOTH ARE REQUIRED, and neither gets a default. A default cadence is a guess about how
705
+ // expensive someone else's resource is to poll, and a default deadline is a wait that hangs
706
+ // a run forever on a resource that never arrives. The validator refuses this statically too;
707
+ // this is the computed-bag case it cannot see.
708
+ if (every === undefined || deadline === undefined) {
709
+ throw new RuntimeFault("L3046", `\`waitUntil\` needs both \`every\` (how often to observe) and \`deadline\` (when to give up)${every === undefined ? ", and \`every\` is missing" : ""}${deadline === undefined ? ", and \`deadline\` is missing" : ""}. Neither has a default: a default cadence guesses how expensive someone else's resource is to poll, and a default deadline is a run that waits forever.`);
710
+ }
711
+ // Fail at the CALL rather than inside the wait, exactly as `sleep` does with its duration:
712
+ // a malformed cadence discovered an hour in is a wait that was never going to work.
713
+ const everyMs = parseDuration(every);
714
+ const deadlineMs = parseDuration(deadline);
715
+ // ZERO IS REFUSED BEFORE THE COMPARISON, because `0 > deadline` is false and a bare ordering
716
+ // test therefore ACCEPTS the one cadence that is not a cadence at all. A wait that pauses for
717
+ // nothing between looks is a busy loop against a resource the run does not own, and every
718
+ // turn of it appends to a journal that is rewritten whole. This is the computed-bag case the
719
+ // validator cannot see.
720
+ if (everyMs <= 0) {
721
+ throw new RuntimeFault("L3047", `this \`waitUntil\` observes every ${every}, which is no pause at all: it would poll the resource as fast as the run can turn and journal an observation each time. Give \`every\` a real interval, the slowest one that still notices in time.`);
722
+ }
723
+ if (everyMs > deadlineMs) {
724
+ throw new RuntimeFault("L3047", `this \`waitUntil\` observes every ${every} but gives up after ${deadline}, so it would make its first observation and then fail without ever looking again. Either shorten \`every\` below \`deadline\`, or use \`sleep\` then a single check if one look is what you meant.`);
725
+ }
726
+ const terminalArg = option(bag, "terminal");
727
+ if (terminalArg !== undefined && typeof terminalArg !== "function") {
728
+ throw new RuntimeFault("L3045", `\`waitUntil\`'s \`terminal\` decides whether an observation ENDS the wait, so it must be a function; it was given ${JSON.stringify(terminalArg)}. Pass a predicate: terminal: (o) => o.state !== "pending".`);
729
+ }
730
+ // BOTH are called in the WALKER's convention, `(frame, args)`, which is what the engine
731
+ // adapts its own closures into as well. Calling them any other way would hand a program
732
+ // function the frame as its first real argument. The frame handed over is the OBSERVATION's,
733
+ // not this call's: the probe's own effects belong to the look that made them.
734
+ const call = (fn, f, xs) => fn(f, xs);
735
+ return await performWaitUntil(host, stepName,
736
+ // The probe is a function and cannot be hashed, so what identifies this step is its name
737
+ // and the two durations that STOP OBSERVATION. See the table's note.
738
+ { every, deadline }, async (f) => await call(probeArg, f, []), terminalArg === undefined ? undefined : async (f, o) => await call(terminalArg, f, [o]), every, deadline, frame);
739
+ }
474
740
  case "notify": {
475
741
  const agents = deepFreeze(args[0]);
476
742
  const fact = deepFreeze(args[1]);
@@ -1 +1 @@
1
- {"version":3,"file":"perform.js","sourceRoot":"","sources":["../src/perform.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"perform.js","sourceRoot":"","sources":["../src/perform.ts"],"names":[],"mappings":"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"}
@@ -8,7 +8,7 @@
8
8
  */
9
9
  import type { CalleeDoc } from "./errors.js";
10
10
  /** The journalled effect kinds. `channel` is pure and deliberately absent. */
11
- export declare const EFFECT_KINDS: readonly ["spawn", "turn", "ask", "checkpoint", "sleep", "wait", "notify", "monitor", "conclave"];
11
+ export declare const EFFECT_KINDS: readonly ["spawn", "turn", "ask", "checkpoint", "sleep", "wait", "waitUntil", "notify", "monitor", "conclave"];
12
12
  export type EffectKind = (typeof EFFECT_KINDS)[number];
13
13
  /** Which of a call's inputs decide whether a recorded result is still valid (design doc 5.12). */
14
14
  export interface PrimitiveSpec extends CalleeDoc {
@@ -48,6 +48,25 @@ export interface PrimitiveSpec extends CalleeDoc {
48
48
  readonly hashesSubject: boolean;
49
49
  /** This primitive opens a concurrency scope, so it pushes a scope frame. */
50
50
  readonly opensScope: boolean;
51
+ /**
52
+ * This primitive takes a PROBE: a program function the runtime calls, repeatedly, to observe
53
+ * something outside the run.
54
+ *
55
+ * It is in the table rather than spelled as a name at each site for the reason `opensScope` is:
56
+ * the emitter has to hand that argument over unevaluated, the validator has to know the
57
+ * position is a function rather than data, and a second primitive that takes one must not be
58
+ * able to arrive with any of those silently wrong. The value is the argument INDEX, so nothing
59
+ * downstream has to re-derive which position it is.
60
+ */
61
+ readonly probeAt?: number;
62
+ /**
63
+ * Option keys whose value is a program FUNCTION rather than data, for the same reason
64
+ * {@link PrimitiveSpec.probeAt} exists: the options bag is held to the crossing rule as a whole,
65
+ * and a predicate sitting in it is code the interpreter calls, not a value that crosses to a
66
+ * handler or a journal. Named here so the exemption is a property of the primitive rather than a
67
+ * key spelled at the check.
68
+ */
69
+ readonly functionOptions?: readonly string[];
51
70
  }
52
71
  export declare const PRIMITIVES: Readonly<Record<string, PrimitiveSpec>>;
53
72
  /** Event constructors. Pure: they build a descriptor and perform no effect. */
@@ -1 +1 @@
1
- {"version":3,"file":"primitives.d.ts","sourceRoot":"","sources":["../src/primitives.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C,8EAA8E;AAC9E,eAAO,MAAM,YAAY,mGAUf,CAAC;AACX,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC;AAEvD,kGAAkG;AAClG,MAAM,WAAW,aAAc,SAAQ,SAAS;IAC9C,qFAAqF;IACrF,QAAQ,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI,CAAC;IACjC,mDAAmD;IACnD,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAC/B,0EAA0E;IAC1E,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC;;2FAEuF;IACvF,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B;;;;;;;;OAQG;IACH,QAAQ,CAAC,aAAa,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1C;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,OAAO,EAAE,CAAC,CAAC,CAAC;IACrE,kEAAkE;IAClE,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;IAChC,4EAA4E;IAC5E,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;CAC9B;AAED,eAAO,MAAM,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAmK7D,CAAC;AAEH,+EAA+E;AAC/E,eAAO,MAAM,kBAAkB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAqBjE,CAAC;AAEH,mDAAmD;AACnD,eAAO,MAAM,eAAe,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAW9D,CAAC;AAEH,4DAA4D;AAC5D,eAAO,MAAM,QAAQ,EAAE,SAAS,MAAM,EAcpC,CAAC;AAEH;;;;;;GAMG;AACH,eAAO,MAAM,WAAW,EAAE,SAAS,MAAM,EAAiC,CAAC;AAE3E,sFAAsF;AACtF,eAAO,MAAM,cAAc,EAAE,WAAW,CAAC,MAAM,CAM7C,CAAC;AAEH;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAqB7D,CAAC;AAEH,0FAA0F;AAC1F,eAAO,MAAM,iBAAiB,EAAE,WAAW,CAAC,MAAM,CAWhD,CAAC;AAEH,oGAAoG;AACpG,eAAO,MAAM,aAAa,EAAE,WAAW,CAAC,MAAM,CAAwB,CAAC;AAEvE,kDAAkD;AAClD,eAAO,MAAM,YAAY,QAAyC,CAAC;AAEnE;;;;;;;;GAQG;AACH,eAAO,MAAM,YAAY;IACvB,sDAAsD;;;;;EAKtD,CAAC;AAEH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAEhE"}
1
+ {"version":3,"file":"primitives.d.ts","sourceRoot":"","sources":["../src/primitives.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C,8EAA8E;AAC9E,eAAO,MAAM,YAAY,gHAWf,CAAC;AACX,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC;AAEvD,kGAAkG;AAClG,MAAM,WAAW,aAAc,SAAQ,SAAS;IAC9C,qFAAqF;IACrF,QAAQ,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI,CAAC;IACjC,mDAAmD;IACnD,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAC/B,0EAA0E;IAC1E,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC;;2FAEuF;IACvF,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B;;;;;;;;OAQG;IACH,QAAQ,CAAC,aAAa,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1C;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,OAAO,EAAE,CAAC,CAAC,CAAC;IACrE,kEAAkE;IAClE,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;IAChC,4EAA4E;IAC5E,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B;;;;;;;;;OASG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B;;;;;;OAMG;IACH,QAAQ,CAAC,eAAe,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC9C;AAED,eAAO,MAAM,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAgM7D,CAAC;AAEH,+EAA+E;AAC/E,eAAO,MAAM,kBAAkB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAqBjE,CAAC;AAEH,mDAAmD;AACnD,eAAO,MAAM,eAAe,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAW9D,CAAC;AAEH,4DAA4D;AAC5D,eAAO,MAAM,QAAQ,EAAE,SAAS,MAAM,EAcpC,CAAC;AAEH;;;;;;GAMG;AACH,eAAO,MAAM,WAAW,EAAE,SAAS,MAAM,EAAiC,CAAC;AAE3E,sFAAsF;AACtF,eAAO,MAAM,cAAc,EAAE,WAAW,CAAC,MAAM,CAM7C,CAAC;AAEH;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAqB7D,CAAC;AAEH,0FAA0F;AAC1F,eAAO,MAAM,iBAAiB,EAAE,WAAW,CAAC,MAAM,CAWhD,CAAC;AAEH,oGAAoG;AACpG,eAAO,MAAM,aAAa,EAAE,WAAW,CAAC,MAAM,CAAwB,CAAC;AAEvE,kDAAkD;AAClD,eAAO,MAAM,YAAY,QAAyC,CAAC;AAEnE;;;;;;;;GAQG;AACH,eAAO,MAAM,YAAY;IACvB,sDAAsD;;;;;EAKtD,CAAC;AAEH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAEhE"}
@@ -14,6 +14,7 @@ export const EFFECT_KINDS = [
14
14
  "checkpoint",
15
15
  "sleep",
16
16
  "wait",
17
+ "waitUntil",
17
18
  "notify",
18
19
  "monitor",
19
20
  "conclave",
@@ -98,6 +99,33 @@ export const PRIMITIVES = Object.freeze({
98
99
  doc: "Await one event. Resolves null on timeout rather than throwing, which is what makes ?? the recovery operator.",
99
100
  example: 'const m = await wait(message(team, { from: builder }), { name: "await-build", timeout: "20m" })\n ?? await turn(planner, { name: "chase" })',
100
101
  },
102
+ waitUntil: {
103
+ kind: "waitUntil",
104
+ nameRequired: true,
105
+ options: ["name", "every", "deadline", "terminal"],
106
+ optionsAt: 1,
107
+ // `every` AND `deadline` both STOP OBSERVATION, so both are hashed, for the reason `wait`'s
108
+ // timeout is: a wait that gave up recorded "the predicate did not hold within THIS deadline",
109
+ // never "never", and a wait that polled hourly did not ask the question a minutely one asks.
110
+ // `terminal` is deliberately NOT hashed: it READS an observation rather than making one, which
111
+ // is exactly the `onExpiry: fail|proceed` reapply case — editing the predicate over a history
112
+ // of observations must be a reapply, or no program could ever fix its own predicate on a run
113
+ // that is already waiting, which is the case this primitive exists for.
114
+ hashedOptions: ["every", "deadline"],
115
+ // The probe is a FUNCTION, and a function has no canonical form (L3042), so it cannot be in
116
+ // the hash. What identifies this step is its name and its cadence; what the probe DOES is
117
+ // re-observed on every resume by construction, so a probe whose body changed is answered by
118
+ // observing again rather than by a divergence over something unhashable.
119
+ hashesSubject: false,
120
+ opensScope: false,
121
+ probeAt: 0,
122
+ functionOptions: ["terminal"],
123
+ signature: "waitUntil(probe, { name, every, deadline, terminal? }) -> observation",
124
+ doc: "Block until a predicate over something OUTSIDE the mesh holds. The runtime owns the cadence and the deadline; the program owns the probe and the predicate. Each observation is journalled AS AN OBSERVATION, not as the step's result, so a resumed run OBSERVES AGAIN rather than replaying what the world looked like before the crash. An elapsed deadline is a catchable L4023.",
125
+ example: 'const checks = await waitUntil(async () => await ask(builder, { name: "checks", schema: { state: "string" } }),\n'
126
+ + ' { name: "checks-green", every: "1m", deadline: "1h",\n'
127
+ + ' terminal: (o) => o.state !== "pending" })',
128
+ },
101
129
  notify: {
102
130
  kind: "notify",
103
131
  nameRequired: false,