@adonis-agora/durable 0.6.1 → 0.7.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/providers/durable_provider.d.ts.map +1 -1
- package/dist/providers/durable_provider.js +41 -4
- package/dist/providers/durable_provider.js.map +1 -1
- package/dist/src/dashboard/index.d.ts +1 -1
- package/dist/src/dashboard/index.js +1 -1
- package/dist/src/define_config.d.ts +8 -0
- package/dist/src/define_config.d.ts.map +1 -1
- package/dist/src/define_config.js.map +1 -1
- package/dist/src/engine.d.ts +40 -2
- package/dist/src/engine.d.ts.map +1 -1
- package/dist/src/engine.js +129 -28
- package/dist/src/engine.js.map +1 -1
- package/dist/src/entities.js +2 -2
- package/dist/src/entities.js.map +1 -1
- package/dist/src/hooks/steps.d.ts +43 -0
- package/dist/src/hooks/steps.d.ts.map +1 -0
- package/dist/src/hooks/steps.js +46 -0
- package/dist/src/hooks/steps.js.map +1 -0
- package/dist/src/index.d.ts +5 -2
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +5 -2
- package/dist/src/index.js.map +1 -1
- package/dist/src/interfaces.d.ts +116 -42
- package/dist/src/interfaces.d.ts.map +1 -1
- package/dist/src/step-discovery.d.ts +42 -0
- package/dist/src/step-discovery.d.ts.map +1 -0
- package/dist/src/step-discovery.js +127 -0
- package/dist/src/step-discovery.js.map +1 -0
- package/dist/src/step-name-symbol.d.ts +63 -0
- package/dist/src/step-name-symbol.d.ts.map +1 -0
- package/dist/src/step-name-symbol.js +42 -0
- package/dist/src/step-name-symbol.js.map +1 -0
- package/dist/src/step-ref.d.ts +70 -0
- package/dist/src/step-ref.d.ts.map +1 -0
- package/dist/src/step-ref.js +93 -0
- package/dist/src/step-ref.js.map +1 -0
- package/dist/src/tenant-group.d.ts +18 -0
- package/dist/src/tenant-group.d.ts.map +1 -0
- package/dist/src/tenant-group.js +24 -0
- package/dist/src/tenant-group.js.map +1 -0
- package/dist/src/testing-kit/state-store-conformance.js +2 -2
- package/dist/src/testing-kit/state-store-conformance.js.map +1 -1
- package/dist/src/testing-kit/transport-conformance.d.ts.map +1 -1
- package/dist/src/testing-kit/transport-conformance.js +7 -12
- package/dist/src/testing-kit/transport-conformance.js.map +1 -1
- package/dist/src/transports/db.d.ts +14 -5
- package/dist/src/transports/db.d.ts.map +1 -1
- package/dist/src/transports/db.js +20 -15
- package/dist/src/transports/db.js.map +1 -1
- package/dist/src/transports/queue.d.ts +15 -5
- package/dist/src/transports/queue.d.ts.map +1 -1
- package/dist/src/transports/queue.js +19 -17
- package/dist/src/transports/queue.js.map +1 -1
- package/dist/src/workflow-ctx.d.ts +27 -8
- package/dist/src/workflow-ctx.d.ts.map +1 -1
- package/dist/src/workflow-ctx.js +101 -16
- package/dist/src/workflow-ctx.js.map +1 -1
- package/dist/stubs/make/workflow/main.stub +1 -1
- package/package.json +6 -1
- package/dist/src/remote-step-factory.d.ts +0 -15
- package/dist/src/remote-step-factory.d.ts.map +0 -1
- package/dist/src/remote-step-factory.js +0 -12
- package/dist/src/remote-step-factory.js.map +0 -1
package/dist/src/interfaces.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { z } from 'zod';
|
|
2
|
+
import type { StepRef } from './step-name-symbol.js';
|
|
2
3
|
import type { WorkflowClass, WorkflowInputOf, WorkflowOutputOf } from './workflow-ref.js';
|
|
3
4
|
/**
|
|
4
5
|
* Core type contracts for nestjs-durable.
|
|
@@ -80,7 +81,7 @@ export interface StepCheckpoint {
|
|
|
80
81
|
* simply re-runs on replay (only `completed` short-circuits).
|
|
81
82
|
*/
|
|
82
83
|
status: 'pending' | 'running' | 'completed' | 'failed';
|
|
83
|
-
/** What the step was called with — the `ctx.
|
|
84
|
+
/** What the step was called with — the `ctx.step` (dispatched) args for a remote step (a local step has none). */
|
|
84
85
|
input?: unknown;
|
|
85
86
|
output?: unknown;
|
|
86
87
|
error?: StepError | undefined;
|
|
@@ -387,7 +388,7 @@ export interface RemoteTask {
|
|
|
387
388
|
/**
|
|
388
389
|
* Admission priority carried through to the broker (the queue job `priority`) so a transport that
|
|
389
390
|
* supports priority ordering lets an urgent task jump ahead of already-enqueued lower-priority
|
|
390
|
-
* ones at the worker. Mirrors the per-call `priority` from `ctx.
|
|
391
|
+
* ones at the worker. Mirrors the per-call `priority` from `ctx.step(..., { priority })`. Higher
|
|
391
392
|
* wins; absent means default/unprioritised. Transports without priority support ignore it.
|
|
392
393
|
*/
|
|
393
394
|
priority?: number | undefined;
|
|
@@ -452,10 +453,10 @@ export interface HistoryEvent {
|
|
|
452
453
|
}
|
|
453
454
|
/** A decision the workflow function produced at a `seq` that was not yet in history. */
|
|
454
455
|
export type WorkflowCommand =
|
|
455
|
-
/** `ctx.
|
|
456
|
+
/** `ctx.step(handlerOrName, input)` — dispatch a step (by ref or name) and await it. A worker's
|
|
456
457
|
* `ctx.gather_calls([...])` fan-out tags every dispatched call with the same `parallelGroup` so the
|
|
457
458
|
* dashboard renders the remote steps as one parallel fan (parity with the gathered `recordStep` /
|
|
458
|
-
* `startChild` tags). Undefined for a lone sequential `ctx.
|
|
459
|
+
* `startChild` tags). Undefined for a lone sequential `ctx.step`. */
|
|
459
460
|
{
|
|
460
461
|
kind: 'call';
|
|
461
462
|
seq: number;
|
|
@@ -552,7 +553,7 @@ export interface WorkflowExecutor {
|
|
|
552
553
|
}
|
|
553
554
|
/**
|
|
554
555
|
* A transport in an ordered pool, identified by `id`. The engine dispatches on the first by default
|
|
555
|
-
* and fails over to the next on a dispatch error; a step can pin one via `ctx.
|
|
556
|
+
* and fails over to the next on a dispatch error; a step can pin one via `ctx.step(…, { transport })`.
|
|
556
557
|
* The chosen `id` is stamped on the {@link RemoteTask} so a worker replies through the matching one.
|
|
557
558
|
*/
|
|
558
559
|
export interface NamedTransport {
|
|
@@ -686,7 +687,7 @@ export interface StepOptions {
|
|
|
686
687
|
/** Add random jitter (50–100% of the computed delay) to avoid thundering-herd retries. */
|
|
687
688
|
jitter?: boolean;
|
|
688
689
|
/**
|
|
689
|
-
* Liveness window for a
|
|
690
|
+
* Liveness window for a dispatched step (`ctx.step`): if the worker produces no result and no
|
|
690
691
|
* heartbeat within this many ms, the engine presumes it dead and fails the dispatch with a
|
|
691
692
|
* `RemoteStepTimeout` (retryable — it re-dispatches per `retries`). Each heartbeat resets the
|
|
692
693
|
* window. Ignored for local steps. Omit to wait indefinitely.
|
|
@@ -701,18 +702,73 @@ export interface StepOptions {
|
|
|
701
702
|
compensate?: () => Promise<void>;
|
|
702
703
|
}
|
|
703
704
|
/**
|
|
704
|
-
*
|
|
705
|
-
* the worker registers a handler under the same name
|
|
705
|
+
* The structural carrier a dispatched `ctx.step` call resolves to and hands the engine. `name` is
|
|
706
|
+
* the routing contract: the worker registers a handler under the same name, and routing is BY that
|
|
707
|
+
* name (a worker subscribes per registered handler name, not a hand-declared group). There is no
|
|
708
|
+
* public factory for this anymore — `ctx.step(ref, input)` builds one internally from the
|
|
709
|
+
* `@Step`-stamped name (see {@link StepRef}/`stepNameOf`) and a `ctx.step(name, input)` from the
|
|
710
|
+
* literal string. `input`/`output` are OPTIONAL runtime zod schemas an authoring layer MAY attach
|
|
711
|
+
* (e.g. `@Step({ input, output })`) for validation at the dispatch boundary — a bare `@Step()`
|
|
712
|
+
* carries neither, and the engine skips validation when they're absent. The `StepOptions` fields
|
|
713
|
+
* (retries/backoff/timeoutMs …) carry the merged per-call/def dispatch policy.
|
|
706
714
|
*/
|
|
707
|
-
export interface
|
|
715
|
+
export interface StepDef<TInput = unknown, TOutput = unknown> extends StepOptions {
|
|
708
716
|
name: string;
|
|
709
|
-
/**
|
|
710
|
-
|
|
711
|
-
|
|
712
|
-
|
|
713
|
-
|
|
714
|
-
readonly __remote: true;
|
|
717
|
+
/** Optional isolation partition; routing is by `name`. Suffixes the routing token as
|
|
718
|
+
* `<name>@<partition>` (via `tenantGroup`) — omit to route by the bare (sanitized) `name`. */
|
|
719
|
+
partition?: string | undefined;
|
|
720
|
+
input?: z.ZodType<TInput> | undefined;
|
|
721
|
+
output?: z.ZodType<TOutput> | undefined;
|
|
715
722
|
}
|
|
723
|
+
/**
|
|
724
|
+
* Options for a dispatched {@link WorkflowCtx.step} call. `retries`/`backoff`/`backoffMs`/
|
|
725
|
+
* `backoffMaxMs`/`jitter`/`timeoutMs` are a PER-CALL override of the `@Step`-declared policy — the
|
|
726
|
+
* effective policy `ctx.step` builds into the dispatched {@link StepDef} is
|
|
727
|
+
* `{ ...stepConfigOf(ref), ...opts }`, so a call-site value wins field-by-field. The string
|
|
728
|
+
* (cross-runtime) form of `ctx.step` has no stamped `@Step` to read, so it uses these fields as-is.
|
|
729
|
+
*/
|
|
730
|
+
export interface StepDispatchOpts {
|
|
731
|
+
/** Subject the dispatch to a registered flow-control queue (concurrency / rate limit). */
|
|
732
|
+
queue?: string;
|
|
733
|
+
/** Admission priority within `queue`; higher is admitted first when a slot is contended
|
|
734
|
+
* (default 0). No effect without a `queue`. */
|
|
735
|
+
priority?: number;
|
|
736
|
+
/** The fairness bucket for a queue with `fairness: 'key'` (e.g. a tenant id) — the queue
|
|
737
|
+
* round-robins across distinct keys so one key can't monopolize the budget. Defaults to the run
|
|
738
|
+
* id when omitted. No effect without a `queue`. */
|
|
739
|
+
fairnessKey?: string;
|
|
740
|
+
/** Pin the dispatch to a named transport in the pool (else the pool's first, with failover to the
|
|
741
|
+
* rest). */
|
|
742
|
+
transport?: string;
|
|
743
|
+
/** Max attempts before the step (and run) fails. Overrides the `@Step`-declared value. */
|
|
744
|
+
retries?: number;
|
|
745
|
+
/** How the delay between retries grows: `fixed` (constant) or `exp` (doubles each attempt). */
|
|
746
|
+
backoff?: BackoffStrategy;
|
|
747
|
+
/** Base delay in ms between retries. Omit (or 0) to retry with no delay. */
|
|
748
|
+
backoffMs?: number;
|
|
749
|
+
/** Upper bound on the (exponential) backoff delay. */
|
|
750
|
+
backoffMaxMs?: number;
|
|
751
|
+
/** Add random jitter (50–100% of the computed delay) to avoid thundering-herd retries. */
|
|
752
|
+
jitter?: boolean;
|
|
753
|
+
/** Liveness window for this dispatched step (ms): presume the worker dead and re-dispatch on
|
|
754
|
+
* timeout (retryable per `retries`). Omit to wait indefinitely. Overrides the `@Step` value. */
|
|
755
|
+
timeoutMs?: number;
|
|
756
|
+
}
|
|
757
|
+
/** What a saga undo handler receives: the compensated step's original input and its result — the
|
|
758
|
+
* dispatched envelope handed to a `ctx.step(..., { compensate })` undo at unwind time. */
|
|
759
|
+
export interface StepUndo<TInput, TOutput> {
|
|
760
|
+
input: TInput;
|
|
761
|
+
output: TOutput;
|
|
762
|
+
}
|
|
763
|
+
/**
|
|
764
|
+
* The {@link StepUndo} envelope for a step handler `H`, derived from its signature so the ref form of
|
|
765
|
+
* `ctx.step(..., { compensate })` is compile-checked against the step it undoes:
|
|
766
|
+
*
|
|
767
|
+
* ```ts
|
|
768
|
+
* async cancelBooking(undo: UndoOf<FlightService['book']>) { ... }
|
|
769
|
+
* ```
|
|
770
|
+
*/
|
|
771
|
+
export type UndoOf<H> = H extends (input: infer I, ...rest: never[]) => infer R ? StepUndo<I, Awaited<R>> : StepUndo<unknown, unknown>;
|
|
716
772
|
/**
|
|
717
773
|
* A durable webhook handle minted by {@link WorkflowCtx.webhook}. Hand `url` to a third party,
|
|
718
774
|
* then `await wait()` — the run suspends with zero compute until the external system POSTs the
|
|
@@ -737,11 +793,40 @@ export interface DurableWebhook<TPayload = unknown> {
|
|
|
737
793
|
export interface WorkflowCtx {
|
|
738
794
|
readonly runId: string;
|
|
739
795
|
/**
|
|
740
|
-
* Run a
|
|
741
|
-
*
|
|
742
|
-
*
|
|
796
|
+
* Run a durable step — always dispatched, always engine-scheduled: the ONE step primitive (no
|
|
797
|
+
* local/remote placement choice). Pass the step's method **reference** (a `@Step`-decorated method
|
|
798
|
+
* or a {@link import('./step-ref.js').defineStep} handle, typed by its own signature —
|
|
799
|
+
* refactor-safe, autocompleted):
|
|
800
|
+
*
|
|
801
|
+
* ```ts
|
|
802
|
+
* const r = await ctx.step(this.extraction.runExtractionPage, { page, key })
|
|
803
|
+
* ```
|
|
804
|
+
*
|
|
805
|
+
* or its **name** for a cross-runtime handler (no JS reference to import, e.g. a Python worker):
|
|
806
|
+
*
|
|
807
|
+
* ```ts
|
|
808
|
+
* const out = await ctx.step<ProcResult>('processing:proc', input)
|
|
809
|
+
* ```
|
|
810
|
+
*
|
|
811
|
+
* Both forms dispatch identically — a step runs on whatever worker serves that name and the run
|
|
812
|
+
* suspends (zero compute) until the result lands, then resumes with it (durable, replay-safe).
|
|
813
|
+
* `opts.compensate` registers a saga undo (a `@Step` ref/name) run in reverse if the run later
|
|
814
|
+
* fails or is cancelled `{ compensate: true }`; it receives this call's {@link StepUndo} envelope.
|
|
815
|
+
*/
|
|
816
|
+
step<TInput, TOutput>(handler: StepRef<TInput, TOutput>, input: TInput, opts?: StepDispatchOpts & {
|
|
817
|
+
compensate?: StepRef<StepUndo<TInput, TOutput>, unknown> | string;
|
|
818
|
+
}): Promise<TOutput>;
|
|
819
|
+
step<TOutput = unknown>(name: string, input: unknown, opts?: StepDispatchOpts & {
|
|
820
|
+
compensate?: StepRef<StepUndo<unknown, TOutput>, unknown> | string;
|
|
821
|
+
}): Promise<TOutput>;
|
|
822
|
+
/**
|
|
823
|
+
* Run an **in-process** local durable step: executed once IN THE ENGINE, then its result is
|
|
824
|
+
* checkpointed and replayed (never dispatched to a worker). Unlike {@link step} (always
|
|
825
|
+
* dispatched), this runs the body right here — for cheap in-process work, or the deterministic
|
|
826
|
+
* capture helpers. The body receives a {@link StepLogger} to record debug/error lines and
|
|
827
|
+
* sub-process outcomes, checkpointed with the step. Supports `compensate` for in-process sagas.
|
|
743
828
|
*/
|
|
744
|
-
|
|
829
|
+
localStep<TOutput>(name: string, fn: (log: StepLogger) => Promise<TOutput>, options?: StepOptions): Promise<TOutput>;
|
|
745
830
|
/**
|
|
746
831
|
* **Exactly-once** durable step for DB work: runs `fn` and writes the step's checkpoint in ONE
|
|
747
832
|
* store transaction, so the business write and the "done" marker commit atomically — a crash can
|
|
@@ -758,23 +843,6 @@ export interface WorkflowCtx {
|
|
|
758
843
|
callEntity<TResult = unknown>(name: string, key: string, op: string, arg?: unknown): Promise<TResult>;
|
|
759
844
|
/** Send a durable entity op without awaiting a result (fire-and-forget, dispatched once). */
|
|
760
845
|
signalEntity(name: string, key: string, op: string, arg?: unknown): Promise<void>;
|
|
761
|
-
/**
|
|
762
|
-
* Dispatch a typed remote step and await its checkpointed result. Options:
|
|
763
|
-
* - `queue` — subject the dispatch to a registered flow-control queue (concurrency / rate limit).
|
|
764
|
-
* - `priority` — admission priority within that queue; higher is admitted first when a slot is
|
|
765
|
-
* contended (default 0). No effect without a `queue`.
|
|
766
|
-
* - `fairnessKey` — the fairness bucket for a queue with `fairness: 'key'` (e.g. a tenant id);
|
|
767
|
-
* the queue round-robins across distinct keys so one key can't monopolize the budget. Defaults
|
|
768
|
-
* to the run id when omitted. No effect without a `queue`.
|
|
769
|
-
* - `transport` — pin the dispatch to a named transport in the pool (else the pool's first, with
|
|
770
|
-
* failover to the rest). See `engine.registerQueue` / the engine's `transports` option.
|
|
771
|
-
*/
|
|
772
|
-
call<TInput, TOutput>(step: RemoteStepDef<TInput, TOutput>, input: TInput, opts?: {
|
|
773
|
-
queue?: string;
|
|
774
|
-
priority?: number;
|
|
775
|
-
fairnessKey?: string;
|
|
776
|
-
transport?: string;
|
|
777
|
-
}): Promise<TOutput>;
|
|
778
846
|
/**
|
|
779
847
|
* Durable sleep: suspends the run for `duration` (e.g. `'30s'`, `'2h'`, `'7 days'`, or ms as a
|
|
780
848
|
* number) without consuming resources, resuming automatically once the timer is due — even
|
|
@@ -910,12 +978,15 @@ export interface WorkflowCtx {
|
|
|
910
978
|
*/
|
|
911
979
|
now(): Promise<number>;
|
|
912
980
|
/**
|
|
913
|
-
* Deterministic
|
|
914
|
-
*
|
|
981
|
+
* **Deterministic capture.** Run `fn` once, checkpoint its result, and on replay return the SAME
|
|
982
|
+
* value WITHOUT re-running `fn` — the durable way to bring a non-deterministic value into a
|
|
983
|
+
* workflow where you control the generator: `ctx.sideEffect(() => uuidv7())`, `() => ulid()`,
|
|
984
|
+
* `() => Math.random()`, a config/env read. Prefer a {@link step} for real work with side effects
|
|
985
|
+
* (a DB write, an API call): `fn` here runs only once and MUST be effectively pure (it produces a
|
|
986
|
+
* value; it is not re-executed on replay), like Temporal's `sideEffect`. For a plain timestamp use
|
|
987
|
+
* {@link now}. Replaces the removed `ctx.random()`/`ctx.uuid()` — pass your own generator.
|
|
915
988
|
*/
|
|
916
|
-
|
|
917
|
-
/** Deterministic UUID v4: recorded once, then replayed. Use instead of `crypto.randomUUID()`. */
|
|
918
|
-
uuid(): Promise<string>;
|
|
989
|
+
sideEffect<TValue>(fn: () => TValue | Promise<TValue>): Promise<TValue>;
|
|
919
990
|
/**
|
|
920
991
|
* Merge `attrs` into THIS run's {@link WorkflowRun.searchAttributes} — the indexed metadata the
|
|
921
992
|
* dashboard and {@link RunQuery} filter on. Shallow merge: keys you don't pass are kept. Durable +
|
|
@@ -955,6 +1026,9 @@ export interface EngineEvent {
|
|
|
955
1026
|
type: EngineEventType;
|
|
956
1027
|
runId: string;
|
|
957
1028
|
workflow?: string | undefined;
|
|
1029
|
+
/** The worker-pool partition the run belongs to (stamped on `run.*` lifecycle events), so an
|
|
1030
|
+
* operator control plane can attribute each event to its tenant/pool. Absent on step events. */
|
|
1031
|
+
namespace?: string | undefined;
|
|
958
1032
|
seq?: number | undefined;
|
|
959
1033
|
name?: string | undefined;
|
|
960
1034
|
kind?: StepKind | undefined;
|
|
@@ -974,7 +1048,7 @@ export type EngineListener = (event: EngineEvent) => void;
|
|
|
974
1048
|
export interface StepInvocation {
|
|
975
1049
|
readonly runId: string;
|
|
976
1050
|
readonly workflow: string;
|
|
977
|
-
/** The step name passed to `ctx.
|
|
1051
|
+
/** The step name passed to `ctx.localStep(name, ...)` (also `'now'`/`'sideEffect'` internals). */
|
|
978
1052
|
readonly stepName: string;
|
|
979
1053
|
/** The step's logical position within the run. */
|
|
980
1054
|
readonly seq: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../src/interfaces.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../src/interfaces.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import type { StepLogger } from './interfaces.js';
|
|
2
|
+
import type { StepHandler } from './protocol.js';
|
|
3
|
+
import { type DurableStepMeta } from './step-ref.js';
|
|
4
|
+
/** The narrow serve surface step discovery registers handlers on — satisfied by every transport
|
|
5
|
+
* (`InMemoryTransport`, `EventEmitterTransport`, `QueueTransport`, `DbTransport`). */
|
|
6
|
+
export interface StepServer {
|
|
7
|
+
handle(name: string, fn: StepHandler): void;
|
|
8
|
+
}
|
|
9
|
+
/** A discovered step handler: its routing metadata + the (already-bound) function to serve. */
|
|
10
|
+
export interface DiscoveredStep {
|
|
11
|
+
meta: DurableStepMeta;
|
|
12
|
+
handler: (input: unknown, log: StepLogger) => unknown | Promise<unknown>;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Register a single discovered step on `server` under its stamped name, wrapping it with any
|
|
16
|
+
* declared zod validation. The low-level `transport.handle(name, fn)` stays the escape hatch — this
|
|
17
|
+
* is the convention the `app/steps` discovery builds on.
|
|
18
|
+
*/
|
|
19
|
+
export declare function registerStep(server: StepServer, step: DiscoveredStep): void;
|
|
20
|
+
/**
|
|
21
|
+
* Collect every `@Step`/`defineStep` handler reachable from an exported value:
|
|
22
|
+
* - a `defineStep(...)` function (stamped directly) → one handler, bound as-is.
|
|
23
|
+
* - a class with `@Step`-decorated methods → instantiate once and bind each stamped method.
|
|
24
|
+
* Anything else is ignored. So a module can `export` either style (or both) and be discovered.
|
|
25
|
+
*/
|
|
26
|
+
export declare function collectSteps(exported: unknown): DiscoveredStep[];
|
|
27
|
+
/** Discover + register every `@Step`/`defineStep` reachable from `exports` (e.g. a module's exports)
|
|
28
|
+
* onto `server`. De-duplicated by routing name (last wins). Returns the registered metadata. */
|
|
29
|
+
export declare function registerSteps(server: StepServer, exports: Iterable<unknown>): DurableStepMeta[];
|
|
30
|
+
/**
|
|
31
|
+
* Scan `dir` RECURSIVELY for modules and register every exported `@Step` class / `defineStep`
|
|
32
|
+
* handler on `server` — the `app/steps` convention, mirroring `app/workflows` discovery. Missing
|
|
33
|
+
* directory → no-op (the convention is opt-in). Returns the registered metadata.
|
|
34
|
+
*/
|
|
35
|
+
export declare function registerStepsFromDir(server: StepServer, dir: string): Promise<DurableStepMeta[]>;
|
|
36
|
+
/** The build-time barrel shape the Assembler `init` hook generates for `app/steps` (key → lazy
|
|
37
|
+
* module import), mirroring {@link import('./workflow-discovery.js').WorkflowsBarrel}. */
|
|
38
|
+
export type StepsBarrel = Record<string, () => Promise<Record<string, unknown>>>;
|
|
39
|
+
/** Register every `@Step`/`defineStep` reachable from a generated {@link StepsBarrel} onto `server`
|
|
40
|
+
* — the build-time equivalent of {@link registerStepsFromDir} with no runtime `readdir`. */
|
|
41
|
+
export declare function registerStepsFromBarrel(server: StepServer, barrel: StepsBarrel): Promise<DurableStepMeta[]>;
|
|
42
|
+
//# sourceMappingURL=step-discovery.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"step-discovery.d.ts","sourceRoot":"","sources":["../../src/step-discovery.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAEjD,OAAO,EAAE,KAAK,eAAe,EAAc,MAAM,eAAe,CAAC;AAEjE;uFACuF;AACvF,MAAM,WAAW,UAAU;IACzB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,WAAW,GAAG,IAAI,CAAC;CAC7C;AAED,+FAA+F;AAC/F,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,eAAe,CAAC;IACtB,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,UAAU,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CAC1E;AAeD;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,cAAc,GAAG,IAAI,CAE3E;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,OAAO,GAAG,cAAc,EAAE,CA8BhE;AAED;iGACiG;AACjG,wBAAgB,aAAa,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,eAAe,EAAE,CAY/F;AAKD;;;;GAIG;AACH,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,UAAU,EAClB,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,eAAe,EAAE,CAAC,CAoB5B;AAED;2FAC2F;AAC3F,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;AAEjF;6FAC6F;AAC7F,wBAAsB,uBAAuB,CAC3C,MAAM,EAAE,UAAU,EAClB,MAAM,EAAE,WAAW,GAClB,OAAO,CAAC,eAAe,EAAE,CAAC,CAY5B"}
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
import { readdir } from 'node:fs/promises';
|
|
2
|
+
import { extname, join } from 'node:path';
|
|
3
|
+
import { pathToFileURL } from 'node:url';
|
|
4
|
+
import { DURABLE_STEP_NAME } from './step-name-symbol.js';
|
|
5
|
+
import { stepMetaOf } from './step-ref.js';
|
|
6
|
+
/** Wrap a handler with the opt-in zod validation its `@Step`/`defineStep` metadata declared: `input`
|
|
7
|
+
* is parsed before the body runs, `output` before the result is handed back. A handler with neither
|
|
8
|
+
* schema is served as-is (compile-time types only). */
|
|
9
|
+
function validating(step) {
|
|
10
|
+
const { meta, handler } = step;
|
|
11
|
+
if (!meta.input && !meta.output)
|
|
12
|
+
return handler;
|
|
13
|
+
return async (input, log) => {
|
|
14
|
+
const parsed = meta.input ? meta.input.parse(input) : input;
|
|
15
|
+
const output = await handler(parsed, log);
|
|
16
|
+
return meta.output ? meta.output.parse(output) : output;
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Register a single discovered step on `server` under its stamped name, wrapping it with any
|
|
21
|
+
* declared zod validation. The low-level `transport.handle(name, fn)` stays the escape hatch — this
|
|
22
|
+
* is the convention the `app/steps` discovery builds on.
|
|
23
|
+
*/
|
|
24
|
+
export function registerStep(server, step) {
|
|
25
|
+
server.handle(step.meta.name, validating(step));
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Collect every `@Step`/`defineStep` handler reachable from an exported value:
|
|
29
|
+
* - a `defineStep(...)` function (stamped directly) → one handler, bound as-is.
|
|
30
|
+
* - a class with `@Step`-decorated methods → instantiate once and bind each stamped method.
|
|
31
|
+
* Anything else is ignored. So a module can `export` either style (or both) and be discovered.
|
|
32
|
+
*/
|
|
33
|
+
export function collectSteps(exported) {
|
|
34
|
+
const found = [];
|
|
35
|
+
// A `defineStep(...)` handler: the function itself carries the stamp.
|
|
36
|
+
const directMeta = stepMetaOf(exported);
|
|
37
|
+
if (directMeta) {
|
|
38
|
+
found.push({ meta: directMeta, handler: exported });
|
|
39
|
+
return found;
|
|
40
|
+
}
|
|
41
|
+
// A class with `@Step` methods: scan its prototype for stamped methods and bind them to an instance.
|
|
42
|
+
if (typeof exported === 'function' && exported.prototype) {
|
|
43
|
+
const proto = exported.prototype;
|
|
44
|
+
const stamped = Object.getOwnPropertyNames(proto).filter((key) => {
|
|
45
|
+
const value = proto[key];
|
|
46
|
+
return (typeof value === 'function' &&
|
|
47
|
+
typeof value[DURABLE_STEP_NAME] === 'string');
|
|
48
|
+
});
|
|
49
|
+
if (stamped.length > 0) {
|
|
50
|
+
const Ctor = exported;
|
|
51
|
+
const instance = new Ctor();
|
|
52
|
+
for (const key of stamped) {
|
|
53
|
+
const method = proto[key];
|
|
54
|
+
const meta = stepMetaOf(method);
|
|
55
|
+
if (!meta)
|
|
56
|
+
continue;
|
|
57
|
+
found.push({ meta, handler: instance[key].bind(instance) });
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
return found;
|
|
62
|
+
}
|
|
63
|
+
/** Discover + register every `@Step`/`defineStep` reachable from `exports` (e.g. a module's exports)
|
|
64
|
+
* onto `server`. De-duplicated by routing name (last wins). Returns the registered metadata. */
|
|
65
|
+
export function registerSteps(server, exports) {
|
|
66
|
+
const registered = [];
|
|
67
|
+
const seen = new Set();
|
|
68
|
+
for (const exported of exports) {
|
|
69
|
+
for (const step of collectSteps(exported)) {
|
|
70
|
+
if (seen.has(step.meta.name))
|
|
71
|
+
continue;
|
|
72
|
+
seen.add(step.meta.name);
|
|
73
|
+
registerStep(server, step);
|
|
74
|
+
registered.push(step.meta);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
return registered;
|
|
78
|
+
}
|
|
79
|
+
/** Same module-extension gate the workflow scanner uses (`.ts` from source, `.js` from `dist`). */
|
|
80
|
+
const MODULE_EXT = extname(import.meta.url || '') === '.ts' ? '.ts' : '.js';
|
|
81
|
+
/**
|
|
82
|
+
* Scan `dir` RECURSIVELY for modules and register every exported `@Step` class / `defineStep`
|
|
83
|
+
* handler on `server` — the `app/steps` convention, mirroring `app/workflows` discovery. Missing
|
|
84
|
+
* directory → no-op (the convention is opt-in). Returns the registered metadata.
|
|
85
|
+
*/
|
|
86
|
+
export async function registerStepsFromDir(server, dir) {
|
|
87
|
+
let entries;
|
|
88
|
+
try {
|
|
89
|
+
entries = await readdir(dir, { recursive: true });
|
|
90
|
+
}
|
|
91
|
+
catch (err) {
|
|
92
|
+
if (err.code === 'ENOENT')
|
|
93
|
+
return [];
|
|
94
|
+
throw err;
|
|
95
|
+
}
|
|
96
|
+
const registered = [];
|
|
97
|
+
const seen = new Set();
|
|
98
|
+
for (const entry of entries.sort()) {
|
|
99
|
+
if (extname(entry) !== MODULE_EXT || entry.endsWith(`.d${MODULE_EXT}`))
|
|
100
|
+
continue;
|
|
101
|
+
const mod = (await import(pathToFileURL(join(dir, entry)).href));
|
|
102
|
+
for (const meta of registerSteps(server, Object.values(mod))) {
|
|
103
|
+
if (seen.has(meta.name))
|
|
104
|
+
continue;
|
|
105
|
+
seen.add(meta.name);
|
|
106
|
+
registered.push(meta);
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
return registered;
|
|
110
|
+
}
|
|
111
|
+
/** Register every `@Step`/`defineStep` reachable from a generated {@link StepsBarrel} onto `server`
|
|
112
|
+
* — the build-time equivalent of {@link registerStepsFromDir} with no runtime `readdir`. */
|
|
113
|
+
export async function registerStepsFromBarrel(server, barrel) {
|
|
114
|
+
const registered = [];
|
|
115
|
+
const seen = new Set();
|
|
116
|
+
for (const load of Object.values(barrel)) {
|
|
117
|
+
const mod = await load();
|
|
118
|
+
for (const meta of registerSteps(server, Object.values(mod))) {
|
|
119
|
+
if (seen.has(meta.name))
|
|
120
|
+
continue;
|
|
121
|
+
seen.add(meta.name);
|
|
122
|
+
registered.push(meta);
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
return registered;
|
|
126
|
+
}
|
|
127
|
+
//# sourceMappingURL=step-discovery.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"step-discovery.js","sourceRoot":"","sources":["../../src/step-discovery.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import type { BackoffStrategy } from './interfaces.js';
|
|
2
|
+
/**
|
|
3
|
+
* Cross-package step-name stamp. The `@Step` decorator (and `defineStep`) writes a method's derived
|
|
4
|
+
* routing name under this key; `ctx.step` reads it (via {@link stepNameOf}) to route a
|
|
5
|
+
* method-reference call to the same handler a worker registers by name.
|
|
6
|
+
*
|
|
7
|
+
* `Symbol.for` (the GLOBAL registry), NOT a plain `Symbol()` — so a duplicate copy of this module
|
|
8
|
+
* (pnpm peer-dependency multiplexing, or a dual ESM/CJS load) still reads the SAME key. A plain
|
|
9
|
+
* `Symbol()` would mint a distinct token per copy, so a decorator running against one copy could
|
|
10
|
+
* stamp a name a different copy's `ctx.step` can never read back. Uses the `@agora/` wire namespace
|
|
11
|
+
* to match {@link import('./workflow-ref.js').WORKFLOW_META_KEY}.
|
|
12
|
+
*/
|
|
13
|
+
export declare const DURABLE_STEP_NAME: unique symbol;
|
|
14
|
+
/**
|
|
15
|
+
* Cross-package step-DISPATCH-POLICY stamp. `@Step({ retries, backoff, backoffMs, backoffMaxMs,
|
|
16
|
+
* jitter, timeoutMs })` writes the def-level durable-retry/liveness policy under this key; `ctx.step`
|
|
17
|
+
* reads it (via {@link stepConfigOf}) and merges it with any per-call {@link import('./interfaces.js').StepDispatchOpts}
|
|
18
|
+
* override to build the dispatched {@link import('./interfaces.js').StepDef}. Same `Symbol.for`
|
|
19
|
+
* rationale as {@link DURABLE_STEP_NAME}.
|
|
20
|
+
*/
|
|
21
|
+
export declare const DURABLE_STEP_CONFIG: unique symbol;
|
|
22
|
+
/**
|
|
23
|
+
* The def-level durable-dispatch policy a `@Step(...)` can stamp on a method: retry/backoff and the
|
|
24
|
+
* remote-liveness `timeoutMs` — the dispatch-relevant subset of the engine's `StepOptions`. Read off
|
|
25
|
+
* a handler reference via {@link stepConfigOf}; a per-call {@link import('./interfaces.js').StepDispatchOpts}
|
|
26
|
+
* passed to `ctx.step(ref, input, opts)` overrides these field-by-field.
|
|
27
|
+
*/
|
|
28
|
+
export interface StepConfig {
|
|
29
|
+
/** Max attempts before the step (and run) fails. */
|
|
30
|
+
retries?: number | undefined;
|
|
31
|
+
/** How the delay between retries grows: `fixed` (constant) or `exp` (doubles each attempt). */
|
|
32
|
+
backoff?: BackoffStrategy | undefined;
|
|
33
|
+
/** Base delay in ms between retries. Omit (or 0) to retry with no delay. */
|
|
34
|
+
backoffMs?: number | undefined;
|
|
35
|
+
/** Upper bound on the (exponential) backoff delay. */
|
|
36
|
+
backoffMaxMs?: number | undefined;
|
|
37
|
+
/** Add random jitter (50–100% of the computed delay) to avoid thundering-herd retries. */
|
|
38
|
+
jitter?: boolean | undefined;
|
|
39
|
+
/** Liveness window for the dispatched step: no result/heartbeat within this many ms presumes the
|
|
40
|
+
* worker dead and fails the dispatch with a `RemoteStepTimeout` (retryable — re-dispatches per
|
|
41
|
+
* `retries`). Omit to wait indefinitely. */
|
|
42
|
+
timeoutMs?: number | undefined;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* A method carrying its `@Step`-stamped routing name (and, optionally, its dispatch policy).
|
|
46
|
+
* `ctx.step(ref, input)` reads the name via {@link stepNameOf} — the reference itself is never
|
|
47
|
+
* invoked directly by the caller's process (the worker serving that name re-resolves the real
|
|
48
|
+
* handler), so an unbound `this` on `ref` is irrelevant; `ref` is purely a typed, refactor-safe
|
|
49
|
+
* handle onto the stamped name (and policy).
|
|
50
|
+
*/
|
|
51
|
+
export type StepRef<TInput = unknown, TOutput = unknown> = ((input: TInput) => Promise<TOutput> | TOutput) & {
|
|
52
|
+
[DURABLE_STEP_NAME]?: string | undefined;
|
|
53
|
+
[DURABLE_STEP_CONFIG]?: StepConfig | undefined;
|
|
54
|
+
};
|
|
55
|
+
/** Read the `@Step`-stamped routing name off a function ref. `undefined` for anything unstamped
|
|
56
|
+
* (including a plain string — {@link stepNameOf} only reads function refs; a caller passing a
|
|
57
|
+
* string already has the routing name and dispatches it directly). */
|
|
58
|
+
export declare function stepNameOf(ref: unknown): string | undefined;
|
|
59
|
+
/** Read the `@Step`-stamped dispatch policy off a function ref. `undefined` for anything unstamped
|
|
60
|
+
* (including a plain string — a cross-runtime string-name call has no def-level policy to read; pass
|
|
61
|
+
* it via {@link import('./interfaces.js').StepDispatchOpts} instead). */
|
|
62
|
+
export declare function stepConfigOf(ref: unknown): StepConfig | undefined;
|
|
63
|
+
//# sourceMappingURL=step-name-symbol.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"step-name-symbol.d.ts","sourceRoot":"","sources":["../../src/step-name-symbol.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAEvD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,iBAAiB,EAAE,OAAO,MAA+C,CAAC;AAEvF;;;;;;GAMG;AACH,eAAO,MAAM,mBAAmB,EAAE,OAAO,MAAiD,CAAC;AAE3F;;;;;GAKG;AACH,MAAM,WAAW,UAAU;IACzB,oDAAoD;IACpD,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,+FAA+F;IAC/F,OAAO,CAAC,EAAE,eAAe,GAAG,SAAS,CAAC;IACtC,4EAA4E;IAC5E,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,sDAAsD;IACtD,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,0FAA0F;IAC1F,MAAM,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC7B;;iDAE6C;IAC7C,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAChC;AAMD;;;;;;GAMG;AACH,MAAM,MAAM,OAAO,CAAC,MAAM,GAAG,OAAO,EAAE,OAAO,GAAG,OAAO,IAAI,CAAC,CAC1D,KAAK,EAAE,MAAM,KACV,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,GAAG;IACjC,CAAC,iBAAiB,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACzC,CAAC,mBAAmB,CAAC,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;CAChD,CAAC;AAEF;;uEAEuE;AACvE,wBAAgB,UAAU,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAI3D;AAED;;0EAE0E;AAC1E,wBAAgB,YAAY,CAAC,GAAG,EAAE,OAAO,GAAG,UAAU,GAAG,SAAS,CAIjE"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cross-package step-name stamp. The `@Step` decorator (and `defineStep`) writes a method's derived
|
|
3
|
+
* routing name under this key; `ctx.step` reads it (via {@link stepNameOf}) to route a
|
|
4
|
+
* method-reference call to the same handler a worker registers by name.
|
|
5
|
+
*
|
|
6
|
+
* `Symbol.for` (the GLOBAL registry), NOT a plain `Symbol()` — so a duplicate copy of this module
|
|
7
|
+
* (pnpm peer-dependency multiplexing, or a dual ESM/CJS load) still reads the SAME key. A plain
|
|
8
|
+
* `Symbol()` would mint a distinct token per copy, so a decorator running against one copy could
|
|
9
|
+
* stamp a name a different copy's `ctx.step` can never read back. Uses the `@agora/` wire namespace
|
|
10
|
+
* to match {@link import('./workflow-ref.js').WORKFLOW_META_KEY}.
|
|
11
|
+
*/
|
|
12
|
+
export const DURABLE_STEP_NAME = Symbol.for('@agora/durable:step-name');
|
|
13
|
+
/**
|
|
14
|
+
* Cross-package step-DISPATCH-POLICY stamp. `@Step({ retries, backoff, backoffMs, backoffMaxMs,
|
|
15
|
+
* jitter, timeoutMs })` writes the def-level durable-retry/liveness policy under this key; `ctx.step`
|
|
16
|
+
* reads it (via {@link stepConfigOf}) and merges it with any per-call {@link import('./interfaces.js').StepDispatchOpts}
|
|
17
|
+
* override to build the dispatched {@link import('./interfaces.js').StepDef}. Same `Symbol.for`
|
|
18
|
+
* rationale as {@link DURABLE_STEP_NAME}.
|
|
19
|
+
*/
|
|
20
|
+
export const DURABLE_STEP_CONFIG = Symbol.for('@agora/durable:step-config');
|
|
21
|
+
function isStepConfig(value) {
|
|
22
|
+
return typeof value === 'object' && value !== null;
|
|
23
|
+
}
|
|
24
|
+
/** Read the `@Step`-stamped routing name off a function ref. `undefined` for anything unstamped
|
|
25
|
+
* (including a plain string — {@link stepNameOf} only reads function refs; a caller passing a
|
|
26
|
+
* string already has the routing name and dispatches it directly). */
|
|
27
|
+
export function stepNameOf(ref) {
|
|
28
|
+
if (typeof ref !== 'function')
|
|
29
|
+
return undefined;
|
|
30
|
+
const stamped = ref[DURABLE_STEP_NAME];
|
|
31
|
+
return typeof stamped === 'string' ? stamped : undefined;
|
|
32
|
+
}
|
|
33
|
+
/** Read the `@Step`-stamped dispatch policy off a function ref. `undefined` for anything unstamped
|
|
34
|
+
* (including a plain string — a cross-runtime string-name call has no def-level policy to read; pass
|
|
35
|
+
* it via {@link import('./interfaces.js').StepDispatchOpts} instead). */
|
|
36
|
+
export function stepConfigOf(ref) {
|
|
37
|
+
if (typeof ref !== 'function')
|
|
38
|
+
return undefined;
|
|
39
|
+
const stamped = ref[DURABLE_STEP_CONFIG];
|
|
40
|
+
return isStepConfig(stamped) ? stamped : undefined;
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=step-name-symbol.js.map
|