@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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"step-name-symbol.js","sourceRoot":"","sources":["../../src/step-name-symbol.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAkB,MAAM,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;AAEvF;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAkB,MAAM,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;AAyB3F,SAAS,YAAY,CAAC,KAAc;IAClC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,CAAC;AACrD,CAAC;AAgBD;;uEAEuE;AACvE,MAAM,UAAU,UAAU,CAAC,GAAY;IACrC,IAAI,OAAO,GAAG,KAAK,UAAU;QAAE,OAAO,SAAS,CAAC;IAChD,MAAM,OAAO,GAAI,GAAyC,CAAC,iBAAiB,CAAC,CAAC;IAC9E,OAAO,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;AAC3D,CAAC;AAED;;0EAE0E;AAC1E,MAAM,UAAU,YAAY,CAAC,GAAY;IACvC,IAAI,OAAO,GAAG,KAAK,UAAU;QAAE,OAAO,SAAS,CAAC;IAChD,MAAM,OAAO,GAAI,GAA2C,CAAC,mBAAmB,CAAC,CAAC;IAClF,OAAO,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;AACrD,CAAC"}
@@ -0,0 +1,70 @@
1
+ import type { z } from 'zod';
2
+ import type { BackoffStrategy } from './interfaces.js';
3
+ import { type StepRef } from './step-name-symbol.js';
4
+ /**
5
+ * The full metadata a `@Step` / {@link defineStep} stamps on a step handler for discovery: its
6
+ * resolved routing `name` plus the opt-in runtime zod schemas an authoring layer attached. Stamped
7
+ * under {@link DURABLE_STEP_META} on the handler function so step discovery can wrap it with
8
+ * validation at the serve boundary. A global-registry symbol so it survives duplicate copies.
9
+ */
10
+ export declare const DURABLE_STEP_META: unique symbol;
11
+ /** Discovery metadata a decorated/`defineStep` handler carries: routing name + optional zod schemas. */
12
+ export interface DurableStepMeta {
13
+ /** The resolved routing name — derived (`Class.method`) or explicit, always present. */
14
+ name: string;
15
+ /** Opt-in runtime input schema, validated when the handler is served. Absent on a bare `@Step()`. */
16
+ input?: z.ZodType | undefined;
17
+ /** Opt-in runtime output schema, validated before the handler's result is handed back. */
18
+ output?: z.ZodType | undefined;
19
+ }
20
+ /** Options for the object call form of {@link Step} / {@link defineStep}. */
21
+ export interface StepDecoratorOptions {
22
+ /** Explicit routing name, overriding the derived `Class.method`. */
23
+ name?: string;
24
+ /** Runtime input schema, validated at the serve boundary (opt-in — a bare `@Step()` skips it). */
25
+ input?: z.ZodType;
26
+ /** Runtime output schema, validated before the result is returned (opt-in). */
27
+ output?: z.ZodType;
28
+ /** Def-level policy: max attempts before the step (and run) fails. Read by `ctx.step` via `stepConfigOf`. */
29
+ retries?: number;
30
+ /** How the delay between retries grows: `fixed` (constant) or `exp` (doubles each attempt). */
31
+ backoff?: BackoffStrategy;
32
+ /** Base delay in ms between retries. Omit (or 0) to retry with no delay. */
33
+ backoffMs?: number;
34
+ /** Upper bound on the (exponential) backoff delay. */
35
+ backoffMaxMs?: number;
36
+ /** Add random jitter (50–100% of the computed delay) to avoid thundering-herd retries. */
37
+ jitter?: boolean;
38
+ /** Liveness window for the dispatched step (ms): presume the worker dead and re-dispatch on timeout. */
39
+ timeoutMs?: number;
40
+ }
41
+ /**
42
+ * Marks a class method as a durable **step handler**. A dispatched task is routed to it BY NAME —
43
+ * `ctx.step(this.svc.method, input)` reads that same name off the method reference (the shared
44
+ * `DURABLE_STEP_NAME` stamp), so there is no separately-declared def linking a call site to a
45
+ * handler. The method's single argument is the step input (plus an optional `StepLogger` 2nd arg);
46
+ * its return is the step output.
47
+ *
48
+ * Three call forms:
49
+ * - `@Step()` — bare: the routing name is DERIVED as `` `${ClassName}.${method}` `` — refactor-safe.
50
+ * - `@Step('custom:name')` — explicit name override (a stable cross-runtime contract).
51
+ * - `@Step({ name?, input?, output?, retries?, backoff?, backoffMs?, backoffMaxMs?, jitter?,
52
+ * timeoutMs? })` — optional name override, opt-in RUNTIME zod schemas (validated at the serve
53
+ * boundary by step discovery), and a def-level durable-retry/liveness policy `ctx.step` reads via
54
+ * `stepConfigOf` (a per-call `opts` overrides it field-by-field).
55
+ */
56
+ export declare function Step(nameOrOptions?: string | StepDecoratorOptions): MethodDecorator;
57
+ /**
58
+ * Build a durable step handler WITHOUT a class/decorator: stamps `fn` with the routing `name` (and
59
+ * optional zod schemas + dispatch policy) so it works as a typed {@link StepRef} for
60
+ * `ctx.step(fn, input)` AND is discoverable/registerable by name. The cross-runtime baseline — pass
61
+ * the returned ref to `ctx.step`, or register it on a transport via `registerStep`.
62
+ *
63
+ * ```ts
64
+ * export const charge = defineStep('billing:charge', async (input: ChargeInput) => { ... })
65
+ * ```
66
+ */
67
+ export declare function defineStep<TInput, TOutput>(name: string, fn: (input: TInput) => TOutput | Promise<TOutput>, config?: Omit<StepDecoratorOptions, 'name'>): StepRef<TInput, TOutput>;
68
+ /** Read the {@link DurableStepMeta} a `@Step`/`defineStep` stamped on a handler, or `undefined`. */
69
+ export declare function stepMetaOf(ref: unknown): DurableStepMeta | undefined;
70
+ //# sourceMappingURL=step-ref.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"step-ref.d.ts","sourceRoot":"","sources":["../../src/step-ref.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAIL,KAAK,OAAO,EACb,MAAM,uBAAuB,CAAC;AAE/B;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,EAAE,OAAO,MAA+C,CAAC;AAEvF,wGAAwG;AACxG,MAAM,WAAW,eAAe;IAC9B,wFAAwF;IACxF,IAAI,EAAE,MAAM,CAAC;IACb,qGAAqG;IACrG,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,GAAG,SAAS,CAAC;IAC9B,0FAA0F;IAC1F,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,GAAG,SAAS,CAAC;CAChC;AAED,6EAA6E;AAC7E,MAAM,WAAW,oBAAoB;IACnC,oEAAoE;IACpE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,kGAAkG;IAClG,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC;IAClB,+EAA+E;IAC/E,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC;IACnB,6GAA6G;IAC7G,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,+FAA+F;IAC/F,OAAO,CAAC,EAAE,eAAe,CAAC;IAC1B,4EAA4E;IAC5E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,sDAAsD;IACtD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,0FAA0F;IAC1F,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,wGAAwG;IACxG,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAyBD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,IAAI,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,oBAAoB,GAAG,eAAe,CAiBnF;AAED;;;;;;;;;GASG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,OAAO,EACxC,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,EACjD,MAAM,CAAC,EAAE,IAAI,CAAC,oBAAoB,EAAE,MAAM,CAAC,GAC1C,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAQ1B;AAED,oGAAoG;AACpG,wBAAgB,UAAU,CAAC,GAAG,EAAE,OAAO,GAAG,eAAe,GAAG,SAAS,CAGpE"}
@@ -0,0 +1,93 @@
1
+ import { DURABLE_STEP_CONFIG, DURABLE_STEP_NAME, } from './step-name-symbol.js';
2
+ /**
3
+ * The full metadata a `@Step` / {@link defineStep} stamps on a step handler for discovery: its
4
+ * resolved routing `name` plus the opt-in runtime zod schemas an authoring layer attached. Stamped
5
+ * under {@link DURABLE_STEP_META} on the handler function so step discovery can wrap it with
6
+ * validation at the serve boundary. A global-registry symbol so it survives duplicate copies.
7
+ */
8
+ export const DURABLE_STEP_META = Symbol.for('@agora/durable:step-meta');
9
+ /** Build the {@link StepConfig} to stamp from options — omitting every unset field, so a bare
10
+ * `@Step()` (or one with only `name`/`input`/`output`) stamps nothing and leaves `ctx.step` reading
11
+ * only a per-call `opts` override. */
12
+ function stepConfigFrom(options) {
13
+ const config = {};
14
+ if (options.retries !== undefined)
15
+ config.retries = options.retries;
16
+ if (options.backoff !== undefined)
17
+ config.backoff = options.backoff;
18
+ if (options.backoffMs !== undefined)
19
+ config.backoffMs = options.backoffMs;
20
+ if (options.backoffMaxMs !== undefined)
21
+ config.backoffMaxMs = options.backoffMaxMs;
22
+ if (options.jitter !== undefined)
23
+ config.jitter = options.jitter;
24
+ if (options.timeoutMs !== undefined)
25
+ config.timeoutMs = options.timeoutMs;
26
+ return Object.keys(config).length > 0 ? config : undefined;
27
+ }
28
+ /** Stamp the shared cross-package name/config/meta keys onto a step handler function. */
29
+ function stamp(fn, meta, config) {
30
+ fn[DURABLE_STEP_NAME] = meta.name;
31
+ fn[DURABLE_STEP_META] = meta;
32
+ if (config !== undefined) {
33
+ fn[DURABLE_STEP_CONFIG] = config;
34
+ }
35
+ }
36
+ /**
37
+ * Marks a class method as a durable **step handler**. A dispatched task is routed to it BY NAME —
38
+ * `ctx.step(this.svc.method, input)` reads that same name off the method reference (the shared
39
+ * `DURABLE_STEP_NAME` stamp), so there is no separately-declared def linking a call site to a
40
+ * handler. The method's single argument is the step input (plus an optional `StepLogger` 2nd arg);
41
+ * its return is the step output.
42
+ *
43
+ * Three call forms:
44
+ * - `@Step()` — bare: the routing name is DERIVED as `` `${ClassName}.${method}` `` — refactor-safe.
45
+ * - `@Step('custom:name')` — explicit name override (a stable cross-runtime contract).
46
+ * - `@Step({ name?, input?, output?, retries?, backoff?, backoffMs?, backoffMaxMs?, jitter?,
47
+ * timeoutMs? })` — optional name override, opt-in RUNTIME zod schemas (validated at the serve
48
+ * boundary by step discovery), and a def-level durable-retry/liveness policy `ctx.step` reads via
49
+ * `stepConfigOf` (a per-call `opts` overrides it field-by-field).
50
+ */
51
+ export function Step(nameOrOptions) {
52
+ return ((target, propertyKey, descriptor) => {
53
+ const options = typeof nameOrOptions === 'string' ? { name: nameOrOptions } : (nameOrOptions ?? {});
54
+ const ctorName = target?.constructor?.name ?? 'Step';
55
+ const name = options.name ?? `${ctorName}.${String(propertyKey)}`;
56
+ const value = descriptor.value;
57
+ if (typeof value !== 'function') {
58
+ throw new Error(`@Step can only decorate a method (${ctorName}.${String(propertyKey)})`);
59
+ }
60
+ const meta = {
61
+ name,
62
+ ...(options.input ? { input: options.input } : {}),
63
+ ...(options.output ? { output: options.output } : {}),
64
+ };
65
+ stamp(value, meta, stepConfigFrom(options));
66
+ });
67
+ }
68
+ /**
69
+ * Build a durable step handler WITHOUT a class/decorator: stamps `fn` with the routing `name` (and
70
+ * optional zod schemas + dispatch policy) so it works as a typed {@link StepRef} for
71
+ * `ctx.step(fn, input)` AND is discoverable/registerable by name. The cross-runtime baseline — pass
72
+ * the returned ref to `ctx.step`, or register it on a transport via `registerStep`.
73
+ *
74
+ * ```ts
75
+ * export const charge = defineStep('billing:charge', async (input: ChargeInput) => { ... })
76
+ * ```
77
+ */
78
+ export function defineStep(name, fn, config) {
79
+ const meta = {
80
+ name,
81
+ ...(config?.input ? { input: config.input } : {}),
82
+ ...(config?.output ? { output: config.output } : {}),
83
+ };
84
+ stamp(fn, meta, stepConfigFrom({ ...config, name }));
85
+ return fn;
86
+ }
87
+ /** Read the {@link DurableStepMeta} a `@Step`/`defineStep` stamped on a handler, or `undefined`. */
88
+ export function stepMetaOf(ref) {
89
+ if (typeof ref !== 'function' && typeof ref !== 'object')
90
+ return undefined;
91
+ return ref?.[DURABLE_STEP_META];
92
+ }
93
+ //# sourceMappingURL=step-ref.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"step-ref.js","sourceRoot":"","sources":["../../src/step-ref.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,mBAAmB,EACnB,iBAAiB,GAGlB,MAAM,uBAAuB,CAAC;AAE/B;;;;;GAKG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAkB,MAAM,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;AAkCvF;;uCAEuC;AACvC,SAAS,cAAc,CAAC,OAA6B;IACnD,MAAM,MAAM,GAAe,EAAE,CAAC;IAC9B,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS;QAAE,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IACpE,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS;QAAE,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IACpE,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS;QAAE,MAAM,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;IAC1E,IAAI,OAAO,CAAC,YAAY,KAAK,SAAS;QAAE,MAAM,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;IACnF,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS;QAAE,MAAM,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IACjE,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS;QAAE,MAAM,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;IAC1E,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;AAC7D,CAAC;AAED,yFAAyF;AACzF,SAAS,KAAK,CAAC,EAAU,EAAE,IAAqB,EAAE,MAA8B;IAC7E,EAAuC,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;IACvE,EAAgD,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC;IAC5E,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACxB,EAA6C,CAAC,mBAAmB,CAAC,GAAG,MAAM,CAAC;IAC/E,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,IAAI,CAAC,aAA6C;IAChE,OAAO,CAAC,CAAC,MAAc,EAAE,WAA4B,EAAE,UAA8B,EAAE,EAAE;QACvF,MAAM,OAAO,GACX,OAAO,aAAa,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC;QACtF,MAAM,QAAQ,GAAI,MAA8C,EAAE,WAAW,EAAE,IAAI,IAAI,MAAM,CAAC;QAC9F,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,GAAG,QAAQ,IAAI,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC;QAClE,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC;QAC/B,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE,CAAC;YAChC,MAAM,IAAI,KAAK,CAAC,qCAAqC,QAAQ,IAAI,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QAC3F,CAAC;QACD,MAAM,IAAI,GAAoB;YAC5B,IAAI;YACJ,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAClD,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACtD,CAAC;QACF,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;IAC9C,CAAC,CAAoB,CAAC;AACxB,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,UAAU,CACxB,IAAY,EACZ,EAAiD,EACjD,MAA2C;IAE3C,MAAM,IAAI,GAAoB;QAC5B,IAAI;QACJ,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjD,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACrD,CAAC;IACF,KAAK,CAAC,EAAE,EAAE,IAAI,EAAE,cAAc,CAAC,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IACrD,OAAO,EAA8B,CAAC;AACxC,CAAC;AAED,oGAAoG;AACpG,MAAM,UAAU,UAAU,CAAC,GAAY;IACrC,IAAI,OAAO,GAAG,KAAK,UAAU,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC;IAC3E,OAAQ,GAAwD,EAAE,CAAC,iBAAiB,CAAC,CAAC;AACxF,CAAC"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Compute the worker group a partitioned step dispatches to. Mirrors the transport's
3
+ * default-is-bare rule: a `partition` of `undefined`, `''`, or `'default'` is the bare `baseGroup`,
4
+ * so a single-pool deployment (or the `'default'` partition of a multi-pool one) stays
5
+ * byte-identical to today. Any other partition suffixes the group as `<baseGroup>@<partition>`, so a
6
+ * step can be isolated onto its own worker pool without changing its routing identity (the `name`).
7
+ */
8
+ export declare function tenantGroup(baseGroup: string, partition: string | undefined): string;
9
+ /**
10
+ * Sanitize a handler/workflow name for use as a broker queue token: some brokers (BullMQ) forbid `:`
11
+ * in queue names (it is used internally as a key separator), so every `:` is replaced with `-`. `.`
12
+ * is legal in a queue name and is left as-is — step/workflow names commonly use it as a namespacing
13
+ * separator (e.g. `payments.charge-card`). Apply this IDENTICALLY at every dispatch site AND every
14
+ * subscribe/queue site, or a step whose name contains a `:` would be dispatched to one token and
15
+ * served from another — and silently never run.
16
+ */
17
+ export declare function sanitizeQueueToken(name: string): string;
18
+ //# sourceMappingURL=tenant-group.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tenant-group.d.ts","sourceRoot":"","sources":["../../src/tenant-group.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAIpF;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEvD"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Compute the worker group a partitioned step dispatches to. Mirrors the transport's
3
+ * default-is-bare rule: a `partition` of `undefined`, `''`, or `'default'` is the bare `baseGroup`,
4
+ * so a single-pool deployment (or the `'default'` partition of a multi-pool one) stays
5
+ * byte-identical to today. Any other partition suffixes the group as `<baseGroup>@<partition>`, so a
6
+ * step can be isolated onto its own worker pool without changing its routing identity (the `name`).
7
+ */
8
+ export function tenantGroup(baseGroup, partition) {
9
+ return partition !== undefined && partition !== '' && partition !== 'default'
10
+ ? `${baseGroup}@${partition}`
11
+ : baseGroup;
12
+ }
13
+ /**
14
+ * Sanitize a handler/workflow name for use as a broker queue token: some brokers (BullMQ) forbid `:`
15
+ * in queue names (it is used internally as a key separator), so every `:` is replaced with `-`. `.`
16
+ * is legal in a queue name and is left as-is — step/workflow names commonly use it as a namespacing
17
+ * separator (e.g. `payments.charge-card`). Apply this IDENTICALLY at every dispatch site AND every
18
+ * subscribe/queue site, or a step whose name contains a `:` would be dispatched to one token and
19
+ * served from another — and silently never run.
20
+ */
21
+ export function sanitizeQueueToken(name) {
22
+ return name.replace(/:/g, '-');
23
+ }
24
+ //# sourceMappingURL=tenant-group.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tenant-group.js","sourceRoot":"","sources":["../../src/tenant-group.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,UAAU,WAAW,CAAC,SAAiB,EAAE,SAA6B;IAC1E,OAAO,SAAS,KAAK,SAAS,IAAI,SAAS,KAAK,EAAE,IAAI,SAAS,KAAK,SAAS;QAC3E,CAAC,CAAC,GAAG,SAAS,IAAI,SAAS,EAAE;QAC7B,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAAY;IAC7C,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;AACjC,CAAC"}
@@ -450,11 +450,11 @@ export function runStateStoreContract(name, makeStore) {
450
450
  let aRuns = 0;
451
451
  let failOnce = true;
452
452
  engine.register('wf', '1', async (ctx) => {
453
- const a = await ctx.step('a', async () => {
453
+ const a = await ctx.localStep('a', async () => {
454
454
  aRuns += 1;
455
455
  return 10;
456
456
  });
457
- const b = await ctx.step('b', async () => {
457
+ const b = await ctx.localStep('b', async () => {
458
458
  if (failOnce) {
459
459
  failOnce = false;
460
460
  throw new Error('boom');
@@ -1 +1 @@
1
- {"version":3,"file":"state-store-conformance.js","sourceRoot":"","sources":["../../../src/testing-kit/state-store-conformance.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"state-store-conformance.js","sourceRoot":"","sources":["../../../src/testing-kit/state-store-conformance.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"transport-conformance.d.ts","sourceRoot":"","sources":["../../../src/testing-kit/transport-conformance.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,KAAK,SAAS,EAEf,MAAM,aAAa,CAAC;AAErB,oFAAoF;AACpF,MAAM,MAAM,mBAAmB,GAAG,SAAS,GAAG;IAC5C,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC;IACrE,KAAK,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACzB,CAAC;AA0BF;;;;;;;GAOG;AACH,wBAAsB,0BAA0B,CAC9C,SAAS,EAAE,mBAAmB,EAC9B,QAAQ,SAAS,GAChB,OAAO,CAAC,IAAI,CAAC,CA+Bf"}
1
+ {"version":3,"file":"transport-conformance.d.ts","sourceRoot":"","sources":["../../../src/testing-kit/transport-conformance.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,KAAK,SAAS,EAAkB,MAAM,aAAa,CAAC;AAEjF,oFAAoF;AACpF,MAAM,MAAM,mBAAmB,GAAG,SAAS,GAAG;IAC5C,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC;IACrE,KAAK,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACzB,CAAC;AAsBF;;;;;;;GAOG;AACH,wBAAsB,0BAA0B,CAC9C,SAAS,EAAE,mBAAmB,EAC9B,QAAQ,SAAS,GAChB,OAAO,CAAC,IAAI,CAAC,CAmCf"}
@@ -1,14 +1,9 @@
1
- import { z } from 'zod';
2
- import { InMemoryStateStore, WorkflowEngine, } from '../index.js';
3
- const echo = {
4
- name: 'conformance.echo',
5
- group: 'conformance',
6
- input: z.object({ n: z.number() }),
7
- output: z.object({ doubled: z.number() }),
8
- __remote: true,
9
- };
1
+ import { InMemoryStateStore, WorkflowEngine } from '../index.js';
2
+ /** The cross-runtime routing name the conformance worker serves — a plain string `ctx.step` call
3
+ * (no def factory needed). */
4
+ const ECHO = 'conformance.echo';
10
5
  /**
11
- * A durable `ctx.call` suspends the run; the worker result resumes it asynchronously (on whatever
6
+ * A durable `ctx.step` suspends the run; the worker result resumes it asynchronously (on whatever
12
7
  * tick/poll the transport delivers on). Poll the store until the run reaches a terminal state —
13
8
  * with a generous budget so a poll-based transport (DB/SQS) has time to round-trip.
14
9
  */
@@ -36,8 +31,8 @@ export async function assertTransportConformance(transport, idPrefix = 'conf') {
36
31
  // which resumes the run. (Two engines on one transport would fight over the result stream.)
37
32
  const store = new InMemoryStateStore();
38
33
  const engine = new WorkflowEngine({ store, transport });
39
- engine.register('conf-ok', '1', async (ctx) => (await ctx.call(echo, { n: 21 })).doubled);
40
- engine.register('conf-fail', '1', async (ctx) => ctx.call(echo, { n: 1 }));
34
+ engine.register('conf-ok', '1', async (ctx) => (await ctx.step(ECHO, { n: 21 })).doubled);
35
+ engine.register('conf-fail', '1', async (ctx) => ctx.step(ECHO, { n: 1 }));
41
36
  // success: the worker doubles the input
42
37
  transport.handle('conformance.echo', async (input) => ({
43
38
  doubled: input.n * 2,
@@ -1 +1 @@
1
- {"version":3,"file":"transport-conformance.js","sourceRoot":"","sources":["../../../src/testing-kit/transport-conformance.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transport-conformance.js","sourceRoot":"","sources":["../../../src/testing-kit/transport-conformance.ts"],"names":[],"mappings":"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"}
@@ -8,11 +8,18 @@ export interface DbTransportOptions {
8
8
  */
9
9
  db: Database;
10
10
  /**
11
- * The worker group this instance serves. Required to register {@link DbTransport.handle} consumers
12
- * — the task poll loop claims rows for this group. Omit on an engine-only instance that just
13
- * dispatches + consumes results/heartbeats.
11
+ * @deprecated Steps are now routed BY HANDLER NAME, so this instance serves whatever names it
12
+ * `handle()`s no group to declare. Accepted for back-compat / parity and otherwise ignored (the
13
+ * task poll loop claims rows for every registered handler name's routing token). Use
14
+ * {@link partition} for isolation.
14
15
  */
15
16
  group?: string;
17
+ /**
18
+ * Optional isolation partition suffixing every per-handler routing token this worker claims
19
+ * (`<name>@<partition>`), matching the `partition` a dispatch carries. Unset (or `'default'`)
20
+ * claims the bare (sanitized) handler-name tokens.
21
+ */
22
+ partition?: string;
16
23
  /**
17
24
  * Logical deployment namespace, stamped on every row this instance writes and required on every row
18
25
  * it claims, so the same backend tables can host several worker-pool partitions without their
@@ -77,8 +84,10 @@ export declare class DbTransport implements Transport, ControlPlane {
77
84
  useNamespace(namespace: string): void;
78
85
  dispatch(task: RemoteTask): Promise<void>;
79
86
  /**
80
- * Register a step handler (worker side). Starts this group's task poll loop on the first call —
81
- * each claimed task runs through {@link runStepHandler} and its result is written for the engine.
87
+ * Register a step handler (worker side). Records this name's routing token
88
+ * (`tenantGroup(sanitizeQueueToken(name), partition)`) as served and starts the shared task poll
89
+ * loop on the first call — it claims task rows for EVERY served token (matching the token the
90
+ * engine dispatches by), runs each through {@link runStepHandler}, and writes the result.
82
91
  */
83
92
  handle(name: string, fn: StepHandler): void;
84
93
  /** Worker side: publish a liveness heartbeat for an in-flight long step. */
@@ -1 +1 @@
1
- {"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../../../src/transports/db.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAKzD,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,SAAS,EACd,KAAK,UAAU,EACf,KAAK,UAAU,EACf,KAAK,SAAS,EACf,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,KAAK,WAAW,EAAkB,MAAM,gBAAgB,CAAC;AAqElE,MAAM,WAAW,kBAAkB;IACjC;;;OAGG;IACH,EAAE,EAAE,QAAQ,CAAC;IACb;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;;;;OAOG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mFAAmF;IACnF,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,qFAAqF;IACrF,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,4GAA4G;IAC5G,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,6CAA6C;IAC7C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yEAAyE;IACzE,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,0GAA0G;IAC1G,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,qBAAa,WAAY,YAAW,SAAS,EAAE,YAAY;;gBAoB7C,OAAO,EAAE,kBAAkB;IAcvC,yEAAyE;IACzE,IAAI,UAAU,IAAI,MAAM,CAEvB;IAED;;;;OAIG;IACH,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IA6B/B,QAAQ,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAgC/C;;;OAGG;IACH,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,WAAW,GAAG,IAAI;IAW3C,4EAA4E;IACtE,SAAS,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IA8D/C,QAAQ,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;IAI9D,WAAW,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;IAyCxD,cAAc,CAAC,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAcxD,SAAS,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,cAAc,KAAK,IAAI,GAAG,IAAI;IAwFvD;;;;OAIG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAK5B,kEAAkE;IAC5D,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAK3B,mFAAmF;IAC7E,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAG7B"}
1
+ {"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../../../src/transports/db.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAKzD,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,SAAS,EACd,KAAK,UAAU,EACf,KAAK,UAAU,EACf,KAAK,SAAS,EACf,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,KAAK,WAAW,EAAkB,MAAM,gBAAgB,CAAC;AAsElE,MAAM,WAAW,kBAAkB;IACjC;;;OAGG;IACH,EAAE,EAAE,QAAQ,CAAC;IACb;;;;;OAKG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;;;OAOG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mFAAmF;IACnF,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,qFAAqF;IACrF,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,4GAA4G;IAC5G,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,6CAA6C;IAC7C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yEAAyE;IACzE,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,0GAA0G;IAC1G,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,qBAAa,WAAY,YAAW,SAAS,EAAE,YAAY;;gBAuB7C,OAAO,EAAE,kBAAkB;IAcvC,yEAAyE;IACzE,IAAI,UAAU,IAAI,MAAM,CAEvB;IAED;;;;OAIG;IACH,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IA6B/B,QAAQ,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAgC/C;;;;;OAKG;IACH,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,WAAW,GAAG,IAAI;IAQ3C,4EAA4E;IACtE,SAAS,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IA+D/C,QAAQ,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;IAI9D,WAAW,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;IAyCxD,cAAc,CAAC,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAcxD,SAAS,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,cAAc,KAAK,IAAI,GAAG,IAAI;IAwFvD;;;;OAIG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAK5B,kEAAkE;IAC5D,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAK3B,mFAAmF;IAC7E,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAG7B"}
@@ -1,6 +1,7 @@
1
1
  import { randomUUID } from 'node:crypto';
2
2
  import { Pollers } from '../pollers.js';
3
3
  import { runStepHandler } from '../protocol.js';
4
+ import { sanitizeQueueToken, tenantGroup } from '../tenant-group.js';
4
5
  import { TRANSPORT_TABLES, createDurableTransportTables } from './db-schema.js';
5
6
  /**
6
7
  * The wire payloads carried in the DB transport's table rows. Everything crossing the DB is plain
@@ -56,7 +57,10 @@ const DEFAULT_LOG = (err) => console.error('[DbTransport] poll failed', err);
56
57
  */
57
58
  export class DbTransport {
58
59
  #db;
59
- #group;
60
+ #partition;
61
+ /** Routing tokens this worker serves — `tenantGroup(sanitizeQueueToken(name), partition)` for each
62
+ * registered handler name; the task loop claims rows whose `grp` is in this set. */
63
+ #servedTokens = new Set();
60
64
  // Logical deployment namespace stamped on every write and required on every claim. Mutable so an
61
65
  // engine can push its namespace via `useNamespace()` — but only when one wasn't passed explicitly to
62
66
  // the constructor (`#explicitNamespace`), which always wins. Resolved to a concrete column value
@@ -75,7 +79,7 @@ export class DbTransport {
75
79
  #taskLoop;
76
80
  constructor(options) {
77
81
  this.#db = options.db;
78
- this.#group = options.group;
82
+ this.#partition = options.partition;
79
83
  this.#namespace = options.namespace;
80
84
  this.#explicitNamespace = options.namespace !== undefined;
81
85
  this.#connectionName = options.connectionName;
@@ -152,17 +156,16 @@ export class DbTransport {
152
156
  // worker side — register a handler, claim + run tasks, write results
153
157
  // ───────────────────────────────────────────────────────────────────────────
154
158
  /**
155
- * Register a step handler (worker side). Starts this group's task poll loop on the first call —
156
- * each claimed task runs through {@link runStepHandler} and its result is written for the engine.
159
+ * Register a step handler (worker side). Records this name's routing token
160
+ * (`tenantGroup(sanitizeQueueToken(name), partition)`) as served and starts the shared task poll
161
+ * loop on the first call — it claims task rows for EVERY served token (matching the token the
162
+ * engine dispatches by), runs each through {@link runStepHandler}, and writes the result.
157
163
  */
158
164
  handle(name, fn) {
159
- if (!this.#group) {
160
- throw new Error('DbTransport needs a `group` option to register handlers');
161
- }
162
165
  this.#handlers.set(name, fn);
166
+ this.#servedTokens.add(tenantGroup(sanitizeQueueToken(name), this.#partition));
163
167
  if (!this.#taskLoop) {
164
- const group = this.#group;
165
- this.#taskLoop = this.#pollers.start(async () => (await this.#drainTasks(group)) > 0);
168
+ this.#taskLoop = this.#pollers.start(async () => (await this.#drainTasks()) > 0);
166
169
  }
167
170
  }
168
171
  /** Worker side: publish a liveness heartbeat for an in-flight long step. */
@@ -179,15 +182,17 @@ export class DbTransport {
179
182
  created_at: this.#now(),
180
183
  });
181
184
  }
182
- async #drainTasks(group) {
183
- const rows = await this.#claim(TRANSPORT_TABLES.tasks, group);
185
+ async #drainTasks() {
186
+ if (this.#servedTokens.size === 0)
187
+ return 0;
188
+ const rows = await this.#claim(TRANSPORT_TABLES.tasks, [...this.#servedTokens]);
184
189
  for (const row of rows) {
185
190
  const task = {
186
191
  runId: row.run_id,
187
192
  seq: Number(row.seq),
188
193
  stepId: row.step_id,
189
194
  name: row.name,
190
- group,
195
+ group: row.grp,
191
196
  input: fromJson(row.input),
192
197
  attempt: Number(row.attempt),
193
198
  ...(row.traceparent != null ? { traceparent: row.traceparent } : {}),
@@ -304,7 +309,7 @@ export class DbTransport {
304
309
  * `claimed_at` is set to a unique, strictly-increasing-per-round value so the SELECT-back is exact
305
310
  * even when the same instance claims several rounds in quick succession.
306
311
  */
307
- async #claim(table, group, idCol = 'step_id') {
312
+ async #claim(table, groups, idCol = 'step_id') {
308
313
  await this.#ensureSchema();
309
314
  // The raw Knex builder — `onConflict`, the `where(cb)` grouping and `whereIn` are cleaner there
310
315
  // than through Lucid's stricter query-builder typings, and we only need plain SQL here.
@@ -325,8 +330,8 @@ export class DbTransport {
325
330
  .select(idCol)
326
331
  .where('namespace', namespace)
327
332
  .modify((q) => {
328
- if (group !== undefined)
329
- q.where('grp', group);
333
+ if (groups !== undefined)
334
+ q.whereIn('grp', groups);
330
335
  })
331
336
  .where((q) => q.whereNull('claimed_at').orWhere('claimed_at', '<', stale))
332
337
  .orderBy(idCol === 'id' ? 'id' : 'created_at', 'asc')