@adonis-agora/durable 0.9.1 → 0.11.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/CHANGELOG.md +12 -0
- package/dist/assets/dashboard.html +116 -3
- package/dist/commands/durable_worker.d.ts +25 -0
- package/dist/commands/durable_worker.d.ts.map +1 -0
- package/dist/commands/durable_worker.js +113 -0
- package/dist/commands/durable_worker.js.map +1 -0
- package/dist/commands/main.d.ts +6 -5
- package/dist/commands/main.d.ts.map +1 -1
- package/dist/commands/main.js +11 -4
- package/dist/commands/main.js.map +1 -1
- package/dist/providers/dashboard_provider.d.ts +38 -0
- package/dist/providers/dashboard_provider.d.ts.map +1 -1
- package/dist/providers/dashboard_provider.js +103 -10
- package/dist/providers/dashboard_provider.js.map +1 -1
- package/dist/providers/durable_provider.d.ts +24 -16
- package/dist/providers/durable_provider.d.ts.map +1 -1
- package/dist/providers/durable_provider.js +195 -20
- package/dist/providers/durable_provider.js.map +1 -1
- package/dist/src/config_types.d.ts +92 -0
- package/dist/src/config_types.d.ts.map +1 -0
- package/dist/src/config_types.js +2 -0
- package/dist/src/config_types.js.map +1 -0
- package/dist/src/dashboard/compat-view.d.ts +13 -0
- package/dist/src/dashboard/compat-view.d.ts.map +1 -0
- package/dist/src/dashboard/compat-view.js +32 -0
- package/dist/src/dashboard/compat-view.js.map +1 -0
- package/dist/src/dashboard/compat.d.ts +76 -0
- package/dist/src/dashboard/compat.d.ts.map +1 -0
- package/dist/src/dashboard/compat.js +130 -0
- package/dist/src/dashboard/compat.js.map +1 -0
- package/dist/src/dashboard/diagnostics-recorder.d.ts +59 -0
- package/dist/src/dashboard/diagnostics-recorder.d.ts.map +1 -0
- package/dist/src/dashboard/diagnostics-recorder.js +75 -0
- package/dist/src/dashboard/diagnostics-recorder.js.map +1 -0
- package/dist/src/dashboard/gateway-adapter.d.ts +37 -0
- package/dist/src/dashboard/gateway-adapter.d.ts.map +1 -0
- package/dist/src/dashboard/gateway-adapter.js +49 -0
- package/dist/src/dashboard/gateway-adapter.js.map +1 -0
- package/dist/src/dashboard/handlers.d.ts +38 -8
- package/dist/src/dashboard/handlers.d.ts.map +1 -1
- package/dist/src/dashboard/handlers.js +17 -1
- package/dist/src/dashboard/handlers.js.map +1 -1
- package/dist/src/dashboard/index.d.ts +10 -3
- package/dist/src/dashboard/index.d.ts.map +1 -1
- package/dist/src/dashboard/index.js +8 -2
- package/dist/src/dashboard/index.js.map +1 -1
- package/dist/src/define_config.d.ts +31 -5
- package/dist/src/define_config.d.ts.map +1 -1
- package/dist/src/define_config.js +4 -3
- package/dist/src/define_config.js.map +1 -1
- package/dist/src/dispatch-routing.d.ts +105 -0
- package/dist/src/dispatch-routing.d.ts.map +1 -0
- package/dist/src/dispatch-routing.js +114 -0
- package/dist/src/dispatch-routing.js.map +1 -0
- package/dist/src/engine.d.ts +129 -3
- package/dist/src/engine.d.ts.map +1 -1
- package/dist/src/engine.js +354 -12
- package/dist/src/engine.js.map +1 -1
- package/dist/src/handshake/descriptor.d.ts +128 -0
- package/dist/src/handshake/descriptor.d.ts.map +1 -0
- package/dist/src/handshake/descriptor.js +133 -0
- package/dist/src/handshake/descriptor.js.map +1 -0
- package/dist/src/handshake/negotiate.d.ts +83 -0
- package/dist/src/handshake/negotiate.d.ts.map +1 -0
- package/dist/src/handshake/negotiate.js +108 -0
- package/dist/src/handshake/negotiate.js.map +1 -0
- package/dist/src/handshake/routing.d.ts +51 -0
- package/dist/src/handshake/routing.d.ts.map +1 -0
- package/dist/src/handshake/routing.js +57 -0
- package/dist/src/handshake/routing.js.map +1 -0
- package/dist/src/index.d.ts +14 -2
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +12 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/interfaces.d.ts +184 -7
- package/dist/src/interfaces.d.ts.map +1 -1
- package/dist/src/remote-workflow-executor.d.ts +25 -1
- package/dist/src/remote-workflow-executor.d.ts.map +1 -1
- package/dist/src/remote-workflow-executor.js +41 -0
- package/dist/src/remote-workflow-executor.js.map +1 -1
- package/dist/src/role_bindings.d.ts +85 -0
- package/dist/src/role_bindings.d.ts.map +1 -0
- package/dist/src/role_bindings.js +73 -0
- package/dist/src/role_bindings.js.map +1 -0
- package/dist/src/run-gateway/interface.d.ts +89 -0
- package/dist/src/run-gateway/interface.d.ts.map +1 -0
- package/dist/src/run-gateway/interface.js +2 -0
- package/dist/src/run-gateway/interface.js.map +1 -0
- package/dist/src/run-gateway/proxy-run-gateway.d.ts +84 -0
- package/dist/src/run-gateway/proxy-run-gateway.d.ts.map +1 -0
- package/dist/src/run-gateway/proxy-run-gateway.js +142 -0
- package/dist/src/run-gateway/proxy-run-gateway.js.map +1 -0
- package/dist/src/run-gateway/run-request-responder.d.ts +67 -0
- package/dist/src/run-gateway/run-request-responder.d.ts.map +1 -0
- package/dist/src/run-gateway/run-request-responder.js +228 -0
- package/dist/src/run-gateway/run-request-responder.js.map +1 -0
- package/dist/src/run-gateway/store-run-gateway.d.ts +90 -0
- package/dist/src/run-gateway/store-run-gateway.d.ts.map +1 -0
- package/dist/src/run-gateway/store-run-gateway.js +80 -0
- package/dist/src/run-gateway/store-run-gateway.js.map +1 -0
- package/dist/src/run-gateway/tenant-auth.d.ts +19 -0
- package/dist/src/run-gateway/tenant-auth.d.ts.map +1 -0
- package/dist/src/run-gateway/tenant-auth.js +71 -0
- package/dist/src/run-gateway/tenant-auth.js.map +1 -0
- package/dist/src/services/main.d.ts +16 -3
- package/dist/src/services/main.d.ts.map +1 -1
- package/dist/src/services/main.js +23 -4
- package/dist/src/services/main.js.map +1 -1
- package/dist/src/step-name-symbol.d.ts +3 -0
- package/dist/src/step-name-symbol.d.ts.map +1 -1
- package/dist/src/step-name-symbol.js.map +1 -1
- package/dist/src/step-ref.d.ts +4 -0
- package/dist/src/step-ref.d.ts.map +1 -1
- package/dist/src/step-ref.js +2 -0
- package/dist/src/step-ref.js.map +1 -1
- package/dist/src/transports/bullmq/bullmq-transport.d.ts +130 -0
- package/dist/src/transports/bullmq/bullmq-transport.d.ts.map +1 -0
- package/dist/src/transports/bullmq/bullmq-transport.js +562 -0
- package/dist/src/transports/bullmq/bullmq-transport.js.map +1 -0
- package/dist/src/transports/bullmq/deps.d.ts +59 -0
- package/dist/src/transports/bullmq/deps.d.ts.map +1 -0
- package/dist/src/transports/bullmq/deps.js +41 -0
- package/dist/src/transports/bullmq/deps.js.map +1 -0
- package/dist/src/transports/bullmq/index.d.ts +5 -0
- package/dist/src/transports/bullmq/index.d.ts.map +1 -0
- package/dist/src/transports/bullmq/index.js +5 -0
- package/dist/src/transports/bullmq/index.js.map +1 -0
- package/dist/src/transports/bullmq/naming.d.ts +71 -0
- package/dist/src/transports/bullmq/naming.d.ts.map +1 -0
- package/dist/src/transports/bullmq/naming.js +101 -0
- package/dist/src/transports/bullmq/naming.js.map +1 -0
- package/dist/src/transports/bullmq/serialization.d.ts +56 -0
- package/dist/src/transports/bullmq/serialization.d.ts.map +1 -0
- package/dist/src/transports/bullmq/serialization.js +101 -0
- package/dist/src/transports/bullmq/serialization.js.map +1 -0
- package/dist/src/transports/factory.d.ts +31 -0
- package/dist/src/transports/factory.d.ts.map +1 -1
- package/dist/src/transports/factory.js +21 -0
- package/dist/src/transports/factory.js.map +1 -1
- package/dist/src/worker-runtime/index.d.ts +22 -0
- package/dist/src/worker-runtime/index.d.ts.map +1 -0
- package/dist/src/worker-runtime/index.js +27 -0
- package/dist/src/worker-runtime/index.js.map +1 -0
- package/dist/src/worker-runtime/naming.d.ts +24 -0
- package/dist/src/worker-runtime/naming.d.ts.map +1 -0
- package/dist/src/worker-runtime/naming.js +28 -0
- package/dist/src/worker-runtime/naming.js.map +1 -0
- package/dist/src/worker-runtime/registry.d.ts +81 -0
- package/dist/src/worker-runtime/registry.d.ts.map +1 -0
- package/dist/src/worker-runtime/registry.js +44 -0
- package/dist/src/worker-runtime/registry.js.map +1 -0
- package/dist/src/worker-runtime/worker-runtime.d.ts +155 -0
- package/dist/src/worker-runtime/worker-runtime.d.ts.map +1 -0
- package/dist/src/worker-runtime/worker-runtime.js +265 -0
- package/dist/src/worker-runtime/worker-runtime.js.map +1 -0
- package/dist/src/workflow-ctx.d.ts +9 -0
- package/dist/src/workflow-ctx.d.ts.map +1 -1
- package/dist/src/workflow-ctx.js +78 -27
- package/dist/src/workflow-ctx.js.map +1 -1
- package/dist/src/workflow-turn.d.ts +167 -0
- package/dist/src/workflow-turn.d.ts.map +1 -0
- package/dist/src/workflow-turn.js +372 -0
- package/dist/src/workflow-turn.js.map +1 -0
- package/package.json +7 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workflow-ctx.d.ts","sourceRoot":"","sources":["../../src/workflow-ctx.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAGV,gBAAgB,EAChB,UAAU,EACV,cAAc,EACd,OAAO,EAEP,SAAS,EACT,SAAS,EACT,cAAc,EACd,QAAQ,EAGR,QAAQ,EACR,WAAW,EACZ,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"workflow-ctx.d.ts","sourceRoot":"","sources":["../../src/workflow-ctx.ts"],"names":[],"mappings":"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"}
|
package/dist/src/workflow-ctx.js
CHANGED
|
@@ -34,6 +34,9 @@ function resolveStepPolicy(config, opts) {
|
|
|
34
34
|
const timeoutMs = opts?.timeoutMs ?? config?.timeoutMs;
|
|
35
35
|
if (timeoutMs !== undefined)
|
|
36
36
|
policy.timeoutMs = timeoutMs;
|
|
37
|
+
const requires = opts?.requires ?? config?.requires;
|
|
38
|
+
if (requires !== undefined)
|
|
39
|
+
policy.requires = requires;
|
|
37
40
|
return policy;
|
|
38
41
|
}
|
|
39
42
|
/** Normalize the `ctx.child`/`ctx.startChild` 3rd arg: a bare string is shorthand for `{ childId }`. */
|
|
@@ -260,6 +263,26 @@ export function createWorkflowCtx(host, runId, compensations, workflow = '') {
|
|
|
260
263
|
}
|
|
261
264
|
return null;
|
|
262
265
|
};
|
|
266
|
+
// Durably stamp the deadline for a BOUNDED wait, ONCE: the first run computes `clock() + timeoutMs`
|
|
267
|
+
// and records it as a timer checkpoint at `deadlineSeq`; every later replay reads the SAME recorded
|
|
268
|
+
// `wakeAt` back instead of recomputing it — so a slow replay (or a clock that moved between the
|
|
269
|
+
// original run and the replay) can never shift an already-scheduled deadline. `label` only affects
|
|
270
|
+
// the checkpoint's `name` (cosmetic, for the dashboard timeline) — the shared mechanic behind every
|
|
271
|
+
// bounded-wait primitive (`waitForSignal`, `waitForEvent`, `DurableWebhook.wait`).
|
|
272
|
+
const stampDeadline = async (deadlineSeq, label, timeoutMs) => {
|
|
273
|
+
const recorded = await readCheckpoint(deadlineSeq);
|
|
274
|
+
const deadline = recorded?.wakeAt ?? host.clock() + timeoutMs;
|
|
275
|
+
if (!recorded) {
|
|
276
|
+
await writeCheckpoint(instantCheckpoint({
|
|
277
|
+
runId,
|
|
278
|
+
seq: deadlineSeq,
|
|
279
|
+
name: `timeout:${label}`,
|
|
280
|
+
kind: 'sleep',
|
|
281
|
+
wakeAt: deadline,
|
|
282
|
+
}));
|
|
283
|
+
}
|
|
284
|
+
return deadline;
|
|
285
|
+
};
|
|
263
286
|
const waitForSignal = async (token, opts) => {
|
|
264
287
|
if (opts?.timeoutMs == null) {
|
|
265
288
|
const current = pos.next();
|
|
@@ -294,19 +317,9 @@ export function createWorkflowCtx(host, runId, compensations, workflow = '') {
|
|
|
294
317
|
const timeoutMs = opts.timeoutMs;
|
|
295
318
|
const deadlineSeq = pos.next();
|
|
296
319
|
const waitSeq = pos.next();
|
|
297
|
-
// The
|
|
298
|
-
//
|
|
299
|
-
const
|
|
300
|
-
const deadline = recorded?.wakeAt ?? host.clock() + timeoutMs;
|
|
301
|
-
if (!recorded) {
|
|
302
|
-
await writeCheckpoint(instantCheckpoint({
|
|
303
|
-
runId,
|
|
304
|
-
seq: deadlineSeq,
|
|
305
|
-
name: `timeout:${token}`,
|
|
306
|
-
kind: 'sleep',
|
|
307
|
-
wakeAt: deadline,
|
|
308
|
-
}));
|
|
309
|
-
}
|
|
320
|
+
// The run also gets a run-level wakeAt (via WorkflowSuspended) so the timer poller resumes it at
|
|
321
|
+
// the deadline.
|
|
322
|
+
const deadline = await stampDeadline(deadlineSeq, token, timeoutMs);
|
|
310
323
|
const waited = await readCheckpoint(waitSeq);
|
|
311
324
|
if (waited && waited.status === 'completed')
|
|
312
325
|
return waited.output;
|
|
@@ -361,17 +374,7 @@ export function createWorkflowCtx(host, runId, compensations, workflow = '') {
|
|
|
361
374
|
const deadlineSeq = pos.next();
|
|
362
375
|
const waitSeq = pos.next();
|
|
363
376
|
const token = eventToken(name, opts.match, runId, waitSeq);
|
|
364
|
-
const
|
|
365
|
-
const deadline = recorded?.wakeAt ?? host.clock() + timeoutMs;
|
|
366
|
-
if (!recorded) {
|
|
367
|
-
await writeCheckpoint(instantCheckpoint({
|
|
368
|
-
runId,
|
|
369
|
-
seq: deadlineSeq,
|
|
370
|
-
name: `timeout:event:${name}`,
|
|
371
|
-
kind: 'sleep',
|
|
372
|
-
wakeAt: deadline,
|
|
373
|
-
}));
|
|
374
|
-
}
|
|
377
|
+
const deadline = await stampDeadline(deadlineSeq, `event:${name}`, timeoutMs);
|
|
375
378
|
const waited = await readCheckpoint(waitSeq);
|
|
376
379
|
if (waited && waited.status === 'completed')
|
|
377
380
|
return waited.output;
|
|
@@ -405,6 +408,24 @@ export function createWorkflowCtx(host, runId, compensations, workflow = '') {
|
|
|
405
408
|
return unwrapCompletion(existing.output, `child "${id}"`);
|
|
406
409
|
}
|
|
407
410
|
await store.putSignalWaiter({ token: `child:${id}`, runId, seq: current });
|
|
411
|
+
// Lost-wake guard (mirrors the engine's remote `startChild` command path): the child may have
|
|
412
|
+
// ALREADY completed while no waiter was registered — e.g. this run failed on the child's
|
|
413
|
+
// failure, the child was retried to completion, and this run is now being retried — leaving its
|
|
414
|
+
// completion BUFFERED. Consume it here or the re-registered waiter waits forever for a signal
|
|
415
|
+
// that already fired. Resolve exactly as engine.signal would: overwrite the placeholder with
|
|
416
|
+
// the completed signal checkpoint, then unwrap.
|
|
417
|
+
const buffered = await store.takeBufferedSignal(`child:${id}`);
|
|
418
|
+
if (buffered) {
|
|
419
|
+
await store.removeSignalWaiter({ token: `child:${id}`, runId, seq: current });
|
|
420
|
+
await writeCheckpoint(instantCheckpoint({
|
|
421
|
+
runId,
|
|
422
|
+
seq: current,
|
|
423
|
+
name: `signal:child:${id}`,
|
|
424
|
+
kind: 'signal',
|
|
425
|
+
output: buffered.payload,
|
|
426
|
+
}));
|
|
427
|
+
return unwrapCompletion(buffered.payload, `child "${id}"`);
|
|
428
|
+
}
|
|
408
429
|
if (!(await store.getRun(id)))
|
|
409
430
|
host.startChild(workflowName(workflow), input, id, priority);
|
|
410
431
|
// Make the awaited child visible in the parent's timeline WHILE it runs: a `running` placeholder
|
|
@@ -446,6 +467,16 @@ export function createWorkflowCtx(host, runId, compensations, workflow = '') {
|
|
|
446
467
|
const cp = existing[i];
|
|
447
468
|
const c = cp?.status === 'completed' ? cp.output : null;
|
|
448
469
|
if (c && c.ok === false) {
|
|
470
|
+
// Cancel every sibling that hasn't completed yet — plain cancel, no saga undo. Best-effort:
|
|
471
|
+
// a sibling mid-step only observes the cancellation at its NEXT checkpoint (it isn't
|
|
472
|
+
// force-killed mid-synchronous-execution), so a fast-enough sibling can still slip through
|
|
473
|
+
// and complete before it notices. `cancelChild` is deferred (like `startChild`), and
|
|
474
|
+
// cancelling an already-terminal/cancelled run is a no-op, so replaying this branch after a
|
|
475
|
+
// resume (which re-executes this loop and re-issues the same cancels) is safe.
|
|
476
|
+
for (let j = 0; j < inputs.length; j += 1) {
|
|
477
|
+
if (j !== i && existing[j]?.status !== 'completed')
|
|
478
|
+
host.cancelChild?.(id(j));
|
|
479
|
+
}
|
|
449
480
|
throw new GatherError([{ index: i, id: id(i), error: c.error ?? 'unknown' }], inputs.length);
|
|
450
481
|
}
|
|
451
482
|
}
|
|
@@ -593,16 +624,36 @@ export function createWorkflowCtx(host, runId, compensations, workflow = '') {
|
|
|
593
624
|
};
|
|
594
625
|
// A durable webhook reserves a logical position NOW to mint a stable token, so the url can be
|
|
595
626
|
// handed to a third party before `wait()` suspends. `wait()` then parks on that same position
|
|
596
|
-
// until the callback lands as engine.signal(token, body) — single position, replay-safe.
|
|
627
|
+
// until the callback lands as engine.signal(token, body) — single position, replay-safe. The
|
|
628
|
+
// deadline (when `wait({ timeoutMs })` is used) is a SEPARATE, later position — reserved lazily by
|
|
629
|
+
// `wait()` itself, not at mint time, since the mint site has no `opts` to know a timeout was
|
|
630
|
+
// requested. That's fine: `wait()` runs in the same deterministic order on every replay, so the
|
|
631
|
+
// deadline seq it claims is stable too.
|
|
597
632
|
const webhook = () => {
|
|
598
633
|
const current = pos.next();
|
|
599
634
|
const token = `wh:${runId}:${current}`;
|
|
600
|
-
const wait = async () => {
|
|
635
|
+
const wait = async (opts) => {
|
|
636
|
+
// A bounded wait claims its deadline position UNCONDITIONALLY, before the completed-replay
|
|
637
|
+
// early return: the same `wait({ timeoutMs })` call re-runs on every replay, so the position
|
|
638
|
+
// walk must be identical whether the callback has landed yet or not. (Claiming it lazily after
|
|
639
|
+
// the early return would shift every later primitive by one on the post-callback replay and
|
|
640
|
+
// trip the NonDeterminism guard on the stamped `timeout:*` checkpoint.)
|
|
641
|
+
const timeoutMs = opts?.timeoutMs;
|
|
642
|
+
const deadlineSeq = timeoutMs == null ? -1 : pos.next();
|
|
601
643
|
const existing = await readCheckpoint(current);
|
|
602
644
|
if (existing && existing.status === 'completed')
|
|
603
645
|
return existing.output;
|
|
646
|
+
if (timeoutMs == null) {
|
|
647
|
+
await store.putSignalWaiter({ token, runId, seq: current });
|
|
648
|
+
throw new WorkflowSuspended();
|
|
649
|
+
}
|
|
650
|
+
const deadline = await stampDeadline(deadlineSeq, token, timeoutMs);
|
|
651
|
+
if (host.clock() >= deadline) {
|
|
652
|
+
await store.takeSignalWaiter(token).catch(() => undefined);
|
|
653
|
+
throw new SignalTimeoutError(token, timeoutMs);
|
|
654
|
+
}
|
|
604
655
|
await store.putSignalWaiter({ token, runId, seq: current });
|
|
605
|
-
throw new WorkflowSuspended();
|
|
656
|
+
throw new WorkflowSuspended(deadline);
|
|
606
657
|
};
|
|
607
658
|
return { token, url: host.webhookUrl?.(token), wait };
|
|
608
659
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workflow-ctx.js","sourceRoot":"","sources":["../../src/workflow-ctx.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"workflow-ctx.js","sourceRoot":"","sources":["../../src/workflow-ctx.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
import type { StepError, WorkflowDecision, WorkflowStepEvent, WorkflowTask } from './interfaces.js';
|
|
2
|
+
/**
|
|
3
|
+
* The shared, PURE "run one workflow turn" body — the TypeScript twin of the Python
|
|
4
|
+
* `durable_worker/workflow.py` (`WorkflowContext` + `process_workflow_task`). Given a {@link WorkflowTask}
|
|
5
|
+
* (a workflow name + input + the run's resolved `history`) it REPLAYS the registered body
|
|
6
|
+
* deterministically and produces a {@link WorkflowDecision} (dispatch steps / sleep / wait-signal /
|
|
7
|
+
* start-child / complete / fail / suspend). It owns NO store and does NO I/O beyond the body itself, so
|
|
8
|
+
* BOTH a store-less worker (the {@link import('./worker-runtime/worker-runtime.js').WorkerRuntime}
|
|
9
|
+
* consuming `workflow` jobs off `${P}-tasks-<token>`) AND the engine (via
|
|
10
|
+
* {@link import('./remote-workflow-executor.js').LocalWorkflowTurnExecutor}) drive a TS workflow turn
|
|
11
|
+
* through the exact same code — the same way the engine's `RemoteWorkflowExecutor` drives a Python
|
|
12
|
+
* worker's turn. It is Lucid-free (imports only interface TYPES), so it rides the lean `/worker` subpath.
|
|
13
|
+
*
|
|
14
|
+
* The wire it emits is byte-compatible with aviary: every `ctx.*` op is keyed by a deterministic `seq`;
|
|
15
|
+
* an op already resolved in `history` returns its recorded value (never re-run), and the FIRST
|
|
16
|
+
* unresolved blocking op (step/sleep/waitSignal/startChild) suspends the turn, emitting its command.
|
|
17
|
+
* `ctx.now()`/`ctx.sideEffect()` run inline and record their result once (a `recordStep` local step) so
|
|
18
|
+
* a non-deterministic capture happens exactly once and replays the same value.
|
|
19
|
+
*/
|
|
20
|
+
/** A step/call/child the workflow awaited resolved to a FAILURE. Thrown by the replaying op so a
|
|
21
|
+
* workflow body can `try/catch` it (compensate, or let it propagate to fail the run) — the TS twin of
|
|
22
|
+
* the Python `StepFailed`. Carries the structured {@link StepError} the engine recorded. */
|
|
23
|
+
export declare class WorkflowStepFailedError extends Error {
|
|
24
|
+
readonly error: StepError;
|
|
25
|
+
constructor(error: StepError | undefined);
|
|
26
|
+
}
|
|
27
|
+
/** One failed member of a `ctx.gatherCalls` / `ctx.gatherChildren` fan — its label (the step/child
|
|
28
|
+
* `name`) and the structured {@link StepError} the engine recorded. Mirrors the per-item dicts the
|
|
29
|
+
* Python `GatherFailed` carries. */
|
|
30
|
+
export interface GatherItemError {
|
|
31
|
+
name: string;
|
|
32
|
+
error: StepError;
|
|
33
|
+
}
|
|
34
|
+
/** One or more members of a parallel fan-out ({@link WorkflowTurnCtx.gatherCalls} /
|
|
35
|
+
* {@link WorkflowTurnCtx.gatherChildren}) resolved to a failure. Subclasses {@link WorkflowStepFailedError}
|
|
36
|
+
* so it is catchable in a workflow body exactly like any awaited failure AND settles the turn as a
|
|
37
|
+
* `failed` decision via {@link runWorkflowTurn}'s existing catch — the TS twin of the Python `GatherFailed`.
|
|
38
|
+
* Its wire {@link StepError} carries the aggregate `message` (count + failing names), a `gather_failed`
|
|
39
|
+
* `code`, and the per-item `errors` list (byte-parity with what Python emits). */
|
|
40
|
+
export declare class WorkflowGatherFailedError extends WorkflowStepFailedError {
|
|
41
|
+
readonly failures: GatherItemError[];
|
|
42
|
+
constructor(failures: GatherItemError[]);
|
|
43
|
+
}
|
|
44
|
+
/** The history at `seq` did not match what the replay produced there — the workflow code changed under
|
|
45
|
+
* an in-flight run. The run fails loudly rather than silently diverging (Python `NondeterminismError`). */
|
|
46
|
+
export declare class WorkflowNondeterminismError extends Error {
|
|
47
|
+
constructor(message: string);
|
|
48
|
+
}
|
|
49
|
+
/** A cooperative cancellation raised at an op boundary when the run was cancelled mid-turn — the turn
|
|
50
|
+
* bails with a `cancelled` decision (Python `Cancelled`). */
|
|
51
|
+
export declare class WorkflowTurnCancelled extends Error {
|
|
52
|
+
readonly runId: string;
|
|
53
|
+
constructor(runId: string);
|
|
54
|
+
}
|
|
55
|
+
/** How a parallel fan-out settles a member failure. `waitAll` (default) waits for EVERY member to
|
|
56
|
+
* resolve, records all, then throws an aggregate {@link WorkflowGatherFailedError} if any failed;
|
|
57
|
+
* `failFast` throws the moment a resolved member is a failure (siblings already in flight are NOT
|
|
58
|
+
* force-cancelled — their eventual results are ignored). Mirrors the engine-side `ctx.all`
|
|
59
|
+
* `{ mode: 'waitAll' | 'failFast' }` and the Python worker's `wait_all` / `fail_fast`. */
|
|
60
|
+
export type GatherMode = 'waitAll' | 'failFast';
|
|
61
|
+
/** One member of a {@link WorkflowTurnCtx.gatherCalls} fan — a step to dispatch (routed by handler
|
|
62
|
+
* `name`), its `input`, and an optional isolation `group` (defaults to the workflow's own partition,
|
|
63
|
+
* exactly like {@link WorkflowTurnCtx.step}). The object form of the Python `gather_calls` entry. */
|
|
64
|
+
export interface GatherCall {
|
|
65
|
+
name: string;
|
|
66
|
+
input?: unknown;
|
|
67
|
+
group?: string;
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* The replay context handed to a worker-side workflow body. Deterministic: same code + same history ⇒
|
|
71
|
+
* same seqs ⇒ same decisions. Every method is SYNCHRONOUS — an op either returns its replayed value or
|
|
72
|
+
* throws {@link TurnSuspend} to end the turn — so a body reads as ordinary straight-line code (mirrors
|
|
73
|
+
* the Python `WorkflowContext`; the worker-side twin of the store-backed {@link import('./interfaces.js').WorkflowCtx}).
|
|
74
|
+
*/
|
|
75
|
+
export interface WorkflowTurnCtx {
|
|
76
|
+
/** The run being advanced (the id the engine minted), or `undefined` for a bare test context. */
|
|
77
|
+
readonly runId: string | undefined;
|
|
78
|
+
/**
|
|
79
|
+
* Dispatch a step (routed by handler `name`) and await its result — ALWAYS durable, engine-scheduled.
|
|
80
|
+
* On replay returns the recorded output; the first turn that reaches it emits a `call` command and
|
|
81
|
+
* suspends. `group` is the isolation PARTITION suffix (defaults to the workflow's own partition), NOT
|
|
82
|
+
* a base queue — the engine composes the dispatch queue as `tenantGroup(sanitize(name), group)`.
|
|
83
|
+
*/
|
|
84
|
+
step(name: string, input?: unknown, opts?: {
|
|
85
|
+
group?: string;
|
|
86
|
+
}): unknown;
|
|
87
|
+
/** Durably sleep `ms`; the run suspends and the engine resumes it when the timer fires. */
|
|
88
|
+
sleep(ms: number): void;
|
|
89
|
+
/** Block until a signal `name` is delivered to this run; returns its payload. */
|
|
90
|
+
waitSignal(name: string): unknown;
|
|
91
|
+
/** Start a child run and await its output (its own durable lifecycle). */
|
|
92
|
+
startChild(workflow: string, input?: unknown): unknown;
|
|
93
|
+
/**
|
|
94
|
+
* PARALLEL FAN-OUT of remote steps: dispatch N steps AT ONCE and await ALL their results. Reserves a
|
|
95
|
+
* contiguous seq block in list order (the determinism anchor), then on the first turn emits ONE
|
|
96
|
+
* `call` command per member — every one stamped with the SAME `parallelGroup` (`gather:<firstSeq>`) —
|
|
97
|
+
* and suspends. Each result checkpoints independently and resumes the run; a member ALREADY in history
|
|
98
|
+
* is not re-dispatched (a re-emit of a still-pending call is idempotent on the engine), so the turn
|
|
99
|
+
* re-suspends until EVERY member has resolved. When all are in, outputs return in INPUT order
|
|
100
|
+
* (`waitAll`), else a {@link WorkflowGatherFailedError} is thrown (`failFast` short-circuits on the
|
|
101
|
+
* first resolved failure). The worker-side twin of the Python `ctx.gather_calls`; the wire it emits is
|
|
102
|
+
* byte-compatible with the engine's remote fan-out (`call` + `parallelGroup`). */
|
|
103
|
+
gatherCalls(calls: GatherCall[], opts?: {
|
|
104
|
+
mode?: GatherMode;
|
|
105
|
+
}): unknown[];
|
|
106
|
+
/**
|
|
107
|
+
* PARALLEL FAN-OUT of child workflows: start N children AT ONCE and await ALL their outputs. Same
|
|
108
|
+
* determinism/`parallelGroup`/re-dispatch-avoidance/`mode` contract as {@link gatherCalls}, over
|
|
109
|
+
* `startChild` commands instead of `call`. The worker-side twin of the Python `ctx.gather_children`
|
|
110
|
+
* and the counterpart of the engine-side `ctx.all`. */
|
|
111
|
+
gatherChildren(workflow: string, inputs: unknown[], opts?: {
|
|
112
|
+
mode?: GatherMode;
|
|
113
|
+
}): unknown[];
|
|
114
|
+
/** A replay-stable wall-clock timestamp in epoch ms — captured once, replayed thereafter. */
|
|
115
|
+
now(): number;
|
|
116
|
+
/** Run `fn` ONCE, record its result, and on replay return the same value WITHOUT re-running `fn` —
|
|
117
|
+
* the general deterministic-capture primitive (Temporal's `sideEffect`). `fn` MUST be synchronous. */
|
|
118
|
+
sideEffect<T>(fn: () => T): T;
|
|
119
|
+
}
|
|
120
|
+
/** A worker-side workflow body: `(ctx, input) => output`. Written as straight-line code against the
|
|
121
|
+
* {@link WorkflowTurnCtx}; the engine replays it one turn at a time. May be sync or return a promise. */
|
|
122
|
+
export type WorkflowBody = (ctx: WorkflowTurnCtx, input: unknown) => unknown | Promise<unknown>;
|
|
123
|
+
/** How registered workflow bodies are looked up by name — a `Map` or a bare resolver function. */
|
|
124
|
+
export type WorkflowBodyResolver = ReadonlyMap<string, WorkflowBody> | ((name: string) => WorkflowBody | undefined);
|
|
125
|
+
/** The worker-side workflow consumer a transport drives: given a {@link WorkflowTask} off
|
|
126
|
+
* `${P}-tasks-<token>`, produce the {@link WorkflowDecision} to publish on `${P}-decisions`. The
|
|
127
|
+
* {@link import('./worker-runtime/worker-runtime.js').WorkerRuntime} hands one to the transport per
|
|
128
|
+
* registered workflow name; it runs the turn through {@link runWorkflowTurn}. */
|
|
129
|
+
export type WorkflowTurnHandler = (task: WorkflowTask) => Promise<WorkflowDecision>;
|
|
130
|
+
/** Optional hooks for {@link runWorkflowTurn}. */
|
|
131
|
+
export interface RunWorkflowTurnOptions {
|
|
132
|
+
/** Streams each local step's lifecycle (running → completed/failed) AS IT HAPPENS, so a long inline
|
|
133
|
+
* turn's steps show up live instead of only in the final decision. Best-effort — a throwing sink
|
|
134
|
+
* never fails the turn (mirrors the Python `on_step`). */
|
|
135
|
+
onStep?: (event: WorkflowStepEvent) => void;
|
|
136
|
+
/** Lets the replay bail at an op boundary when the run was cancelled mid-turn (→ `cancelled`
|
|
137
|
+
* decision). Called with the run id at every durable op (Python `is_cancelled`). */
|
|
138
|
+
isCancelled?: (runId: string) => boolean;
|
|
139
|
+
/** The worker's own partition — a `ctx.step` with no explicit `group` inherits it, so a workflow and
|
|
140
|
+
* its steps share the same isolation suffix (Python threads this in as the worker's `group`). */
|
|
141
|
+
partition?: string | undefined;
|
|
142
|
+
/** Clock for `ctx.now()`/`ctx.sideEffect` timing (injectable for a deterministic test). Default `Date.now`. */
|
|
143
|
+
now?: () => number;
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* Replay one turn of `task`'s workflow against the registered `bodies` and return the wire
|
|
147
|
+
* {@link WorkflowDecision}. The shared core behind the store-less worker's workflow path AND the
|
|
148
|
+
* engine's in-process {@link import('./remote-workflow-executor.js').LocalWorkflowTurnExecutor} —
|
|
149
|
+
* transport-free and store-free, so it is testable with a plain task object.
|
|
150
|
+
*
|
|
151
|
+
* Outcomes (byte-compatible with aviary / the Python `process_workflow_task`):
|
|
152
|
+
* - body returns → `completed` (with `output` + any `recordStep` commands run this turn);
|
|
153
|
+
* - {@link TurnSuspend} (first unresolved blocking op) → `continue` (with the blocking `commands`);
|
|
154
|
+
* - {@link WorkflowTurnCancelled} → `cancelled` (partial `commands` that DID run this turn);
|
|
155
|
+
* - {@link WorkflowStepFailedError} → `failed` with that step's error;
|
|
156
|
+
* - any other throw → `failed` with the converted error;
|
|
157
|
+
* - no registered body → `failed` `{ code: 'no_workflow' }`.
|
|
158
|
+
*/
|
|
159
|
+
export declare function runWorkflowTurn(bodies: WorkflowBodyResolver, task: WorkflowTask, opts?: RunWorkflowTurnOptions): Promise<WorkflowDecision>;
|
|
160
|
+
/**
|
|
161
|
+
* True when `task` is a WORKFLOW turn (vs a step task) — discriminated BY SHAPE (spec §6.3), byte-for-
|
|
162
|
+
* byte with the Python `is_workflow_task` (`runner-core.ts`): a workflow task carries a string
|
|
163
|
+
* `workflow` name AND a `history` array. Both ride the SAME `${P}-tasks-<token>` queue, so a unified
|
|
164
|
+
* consumer routes turns through the replay body and steps through `runStepHandler` on this predicate.
|
|
165
|
+
*/
|
|
166
|
+
export declare function isWorkflowTask(data: unknown): data is WorkflowTask;
|
|
167
|
+
//# sourceMappingURL=workflow-turn.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workflow-turn.d.ts","sourceRoot":"","sources":["../../src/workflow-turn.ts"],"names":[],"mappings":"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"}
|