@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.
Files changed (63) hide show
  1. package/dist/providers/durable_provider.d.ts.map +1 -1
  2. package/dist/providers/durable_provider.js +41 -4
  3. package/dist/providers/durable_provider.js.map +1 -1
  4. package/dist/src/dashboard/index.d.ts +1 -1
  5. package/dist/src/dashboard/index.js +1 -1
  6. package/dist/src/define_config.d.ts +8 -0
  7. package/dist/src/define_config.d.ts.map +1 -1
  8. package/dist/src/define_config.js.map +1 -1
  9. package/dist/src/engine.d.ts +40 -2
  10. package/dist/src/engine.d.ts.map +1 -1
  11. package/dist/src/engine.js +129 -28
  12. package/dist/src/engine.js.map +1 -1
  13. package/dist/src/entities.js +2 -2
  14. package/dist/src/entities.js.map +1 -1
  15. package/dist/src/hooks/steps.d.ts +43 -0
  16. package/dist/src/hooks/steps.d.ts.map +1 -0
  17. package/dist/src/hooks/steps.js +46 -0
  18. package/dist/src/hooks/steps.js.map +1 -0
  19. package/dist/src/index.d.ts +5 -2
  20. package/dist/src/index.d.ts.map +1 -1
  21. package/dist/src/index.js +5 -2
  22. package/dist/src/index.js.map +1 -1
  23. package/dist/src/interfaces.d.ts +116 -42
  24. package/dist/src/interfaces.d.ts.map +1 -1
  25. package/dist/src/step-discovery.d.ts +42 -0
  26. package/dist/src/step-discovery.d.ts.map +1 -0
  27. package/dist/src/step-discovery.js +127 -0
  28. package/dist/src/step-discovery.js.map +1 -0
  29. package/dist/src/step-name-symbol.d.ts +63 -0
  30. package/dist/src/step-name-symbol.d.ts.map +1 -0
  31. package/dist/src/step-name-symbol.js +42 -0
  32. package/dist/src/step-name-symbol.js.map +1 -0
  33. package/dist/src/step-ref.d.ts +70 -0
  34. package/dist/src/step-ref.d.ts.map +1 -0
  35. package/dist/src/step-ref.js +93 -0
  36. package/dist/src/step-ref.js.map +1 -0
  37. package/dist/src/tenant-group.d.ts +18 -0
  38. package/dist/src/tenant-group.d.ts.map +1 -0
  39. package/dist/src/tenant-group.js +24 -0
  40. package/dist/src/tenant-group.js.map +1 -0
  41. package/dist/src/testing-kit/state-store-conformance.js +2 -2
  42. package/dist/src/testing-kit/state-store-conformance.js.map +1 -1
  43. package/dist/src/testing-kit/transport-conformance.d.ts.map +1 -1
  44. package/dist/src/testing-kit/transport-conformance.js +7 -12
  45. package/dist/src/testing-kit/transport-conformance.js.map +1 -1
  46. package/dist/src/transports/db.d.ts +14 -5
  47. package/dist/src/transports/db.d.ts.map +1 -1
  48. package/dist/src/transports/db.js +20 -15
  49. package/dist/src/transports/db.js.map +1 -1
  50. package/dist/src/transports/queue.d.ts +15 -5
  51. package/dist/src/transports/queue.d.ts.map +1 -1
  52. package/dist/src/transports/queue.js +19 -17
  53. package/dist/src/transports/queue.js.map +1 -1
  54. package/dist/src/workflow-ctx.d.ts +27 -8
  55. package/dist/src/workflow-ctx.d.ts.map +1 -1
  56. package/dist/src/workflow-ctx.js +101 -16
  57. package/dist/src/workflow-ctx.js.map +1 -1
  58. package/dist/stubs/make/workflow/main.stub +1 -1
  59. package/package.json +6 -1
  60. package/dist/src/remote-step-factory.d.ts +0 -15
  61. package/dist/src/remote-step-factory.d.ts.map +0 -1
  62. package/dist/src/remote-step-factory.js +0 -12
  63. package/dist/src/remote-step-factory.js.map +0 -1
@@ -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.call` args for a remote step (a local step has none). */
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.call(..., { priority })`. Higher
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.call(remoteStep, input)` — dispatch a remote step and await it. A worker's
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.call`. */
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.call(…, { transport })`.
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 **remote** step (`ctx.call`): if the worker produces no result and no
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
- * A typed handle to a step that runs on a remote worker. The `name` string is the contract:
705
- * the worker registers a handler under the same name. `input`/`output` validate at the boundary.
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 RemoteStepDef<TInput = unknown, TOutput = unknown> extends StepOptions {
715
+ export interface StepDef<TInput = unknown, TOutput = unknown> extends StepOptions {
708
716
  name: string;
709
- /** Worker group expected to handle this step. */
710
- group: string;
711
- input: z.ZodType<TInput>;
712
- output: z.ZodType<TOutput>;
713
- /** Branding so `ctx.call` can infer types. */
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 local durable step: executed once, then its result is checkpointed and replayed. The
741
- * body receives a {@link StepLogger} to record debug/error lines and sub-process outcomes — these
742
- * are checkpointed with the step and shown under it in the dashboard.
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
- step<TOutput>(name: string, fn: (log: StepLogger) => Promise<TOutput>, options?: StepOptions): Promise<TOutput>;
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 random in `[0, 1)`: recorded once, then replayed. Use instead of `Math.random()`
914
- * (same replay-safety reason as {@link now}).
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
- random(): Promise<number>;
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.step(name, ...)` (also `'now'`/`'random'`/`'uuid'` internals). */
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