@dudousxd/nestjs-durable 0.48.1 → 0.49.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dudousxd/nestjs-durable",
3
- "version": "0.48.1",
3
+ "version": "0.49.0",
4
4
  "description": "Durable workflows for NestJS — module, decorators, discovery and boot recovery",
5
5
  "license": "MIT",
6
6
  "author": "Davide Carvalho",
@@ -68,11 +68,11 @@
68
68
  "@dudousxd/nestjs-diagnostics": "0.5.0",
69
69
  "@tanstack/intent": "0.4.0",
70
70
  "@dudousxd/durable-worker": "0.11.2",
71
- "@dudousxd/nestjs-durable-core": "^0.80.0",
72
- "@dudousxd/nestjs-durable-dashboard": "0.51.0",
73
- "@dudousxd/nestjs-durable-testing": "^0.19.0",
74
- "@dudousxd/nestjs-durable-transport-bullmq": "0.22.3",
75
- "@dudousxd/nestjs-durable-transport-event-emitter": "^0.5.2"
71
+ "@dudousxd/nestjs-durable-core": "^0.81.0",
72
+ "@dudousxd/nestjs-durable-dashboard": "0.51.1",
73
+ "@dudousxd/nestjs-durable-testing": "^0.20.0",
74
+ "@dudousxd/nestjs-durable-transport-bullmq": "0.22.4",
75
+ "@dudousxd/nestjs-durable-transport-event-emitter": "^0.5.3"
76
76
  },
77
77
  "module": "./dist/index.js",
78
78
  "exports": {
@@ -23,8 +23,9 @@ infrastructure (in-process transport, in-memory store) — swap the store/transp
23
23
 
24
24
  ## Setup
25
25
 
26
- Install the module plus its core peer, a transport, and zod (optional `@Step({ input, output })`
27
- runtime schemas use it):
26
+ Install the module plus its core peer, a transport, and a schema library (optional —
27
+ `@Step({ input, output })` / `@Workflow({ input, output })` runtime schemas take a Standard Schema
28
+ such as zod, or a class-validator DTO class):
28
29
 
29
30
  ```bash
30
31
  pnpm add @dudousxd/nestjs-durable @dudousxd/nestjs-durable-core \
@@ -172,8 +173,11 @@ return this.workflows.waitForRun(runId); // resolves once the run settles
172
173
  ```
173
174
 
174
175
  `start` creates the run as `'pending'` (or `'suspended'` when `opts.startAt` is in the future)
175
- and a worker runs the body asynchronously; only `waitForRun`
176
- resolves with the settled outcome. Source: packages/nestjs/src/workflow.service.ts.
176
+ and a worker runs the body asynchronously; only `waitForRun` resolves with the settled outcome.
177
+ By default `waitForRun` settles on the first suspension too, so for a delayed start (or any run
178
+ that sleeps or waits on a signal) await the real result with
179
+ `waitForRun(runId, { until: 'terminal' })`. Source: packages/nestjs/src/workflow.service.ts,
180
+ `WorkflowEngine.waitForRun` in packages/core/src/engine.ts.
177
181
 
178
182
  ### 2. Leaving `autoSchema` on in production
179
183
 
@@ -96,7 +96,8 @@ const out = await ctx.step<ProcResult>('processing:proc', input);
96
96
  `@Step()` (bare) derives the routing name from the method as `` `${ClassName}.${method}` ``;
97
97
  `@Step('custom:name')` overrides it explicitly — needed for a cross-runtime contract where the other
98
98
  side has no `@Step` of its own. `@Step({ name?, input?, output?, retries?, backoff?, backoffMs?,
99
- backoffMaxMs?, jitter?, timeoutMs? })` additionally opts into RUNTIME zod validation (`input`
99
+ backoffMaxMs?, jitter?, timeoutMs? })` additionally opts into RUNTIME validation (a Standard Schema such as zod, or a class-validator DTO
100
+ class) (`input`
100
101
  validates before the method runs, `output` validates its return value) and a def-level durable-retry
101
102
  policy — a bare `@Step()` skips both and dispatches with no retry/timeout.
102
103