@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.
- package/dist/dryrun.d.ts +30 -1
- package/dist/dryrun.d.ts.map +1 -1
- package/dist/dryrun.js +29 -0
- package/dist/dryrun.js.map +1 -1
- package/dist/effects.d.ts +58 -0
- package/dist/effects.d.ts.map +1 -1
- package/dist/effects.js.map +1 -1
- package/dist/engine/ctx.d.ts.map +1 -1
- package/dist/engine/ctx.js +19 -0
- package/dist/engine/ctx.js.map +1 -1
- package/dist/engine/frame.d.ts +2 -2
- package/dist/engine/frame.d.ts.map +1 -1
- package/dist/engine/frame.js.map +1 -1
- package/dist/errors.d.ts +6 -0
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +22 -0
- package/dist/errors.js.map +1 -1
- package/dist/grammar.d.ts.map +1 -1
- package/dist/grammar.js +50 -0
- package/dist/grammar.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/interpret.js.map +1 -1
- package/dist/journal.d.ts +36 -0
- package/dist/journal.d.ts.map +1 -1
- package/dist/journal.js +50 -0
- package/dist/journal.js.map +1 -1
- package/dist/keys.d.ts +23 -3
- package/dist/keys.d.ts.map +1 -1
- package/dist/keys.js.map +1 -1
- package/dist/perform.d.ts +7 -3
- package/dist/perform.d.ts.map +1 -1
- package/dist/perform.js +266 -0
- package/dist/perform.js.map +1 -1
- package/dist/primitives.d.ts +20 -1
- package/dist/primitives.d.ts.map +1 -1
- package/dist/primitives.js +28 -0
- package/dist/primitives.js.map +1 -1
- package/dist/sim.d.ts +16 -1
- package/dist/sim.d.ts.map +1 -1
- package/dist/sim.js +25 -0
- package/dist/sim.js.map +1 -1
- package/dist/transform/emit.d.ts.map +1 -1
- package/dist/transform/emit.js +7 -0
- package/dist/transform/emit.js.map +1 -1
- 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]);
|
package/dist/perform.js.map
CHANGED
|
@@ -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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"}
|
package/dist/primitives.d.ts
CHANGED
|
@@ -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. */
|
package/dist/primitives.d.ts.map
CHANGED
|
@@ -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,
|
|
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"}
|
package/dist/primitives.js
CHANGED
|
@@ -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,
|