@duraflows/nestjs 6.0.0 → 6.1.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.
@@ -12,7 +12,7 @@ export { WorkflowQueryController } from "./controllers/workflow-query.controller
12
12
  export { WorkflowTimeoutController } from "./controllers/workflow-timeout.controller.js";
13
13
  export { WorkflowExceptionFilter } from "./filters/workflow-exception.filter.js";
14
14
  export { TriggerEventDto, TriggerEventParamsDto, HistoryQueryDto, HistoryParamsDto, AvailableEventsParamsDto, TimeoutProcessQueryDto, CreateInstanceDto, } from "./controllers/dto/index.js";
15
- export type { WorkflowDefinition, WorkflowStateDefinition, WorkflowEventDefinition, WorkflowOnEnterDefinition, WorkflowCommandRef, WorkflowTimeoutDefinition, CommandResult, WorkflowExecutionContext, WorkflowInstance, WorkflowExecutionResult, AvailableWorkflowEvent, CreateWorkflowInstanceInput, TriggerWorkflowEventInput, ProcessExpiredWorkflowsInput, ProcessExpiredWorkflowsResult, GetAvailableEventsInput, WorkflowInstanceStore, WorkflowHistoryStore, WorkflowHistoryRecord, WorkflowTransactionRunner, WorkflowClock, WorkflowPersistenceProvider, WorkflowDefinitionRegistry, WorkflowCommandRegistry, ValidationResult, ValidationError, CompiledWorkflow, OnEnterChainResult, OnEnterHopResult, WorkflowRuntimeClient, } from "@duraflows/core";
15
+ export type { WorkflowDefinition, WorkflowStateDefinition, WorkflowEventDefinition, WorkflowOnEnterDefinition, WorkflowCommandRef, WorkflowTimeoutDefinition, CommandResult, WorkflowExecutionContext, WorkflowInstance, WorkflowExecutionResult, AvailableWorkflowEvent, CreateWorkflowInstanceInput, TriggerWorkflowEventInput, ProcessExpiredWorkflowsInput, ProcessExpiredWorkflowsResult, FindParkedTimeoutsInput, WorkflowTimeoutRetry, WorkflowTimeoutRetryOptions, GetAvailableEventsInput, WorkflowInstanceStore, WorkflowHistoryStore, WorkflowHistoryRecord, WorkflowTransactionRunner, WorkflowClock, WorkflowPersistenceProvider, WorkflowDefinitionRegistry, WorkflowCommandRegistry, ValidationResult, ValidationError, CompiledWorkflow, OnEnterChainResult, OnEnterHopResult, WorkflowRuntimeClient, } from "@duraflows/core";
16
16
  export { WorkflowError, WorkflowDefinitionError, WorkflowInstanceNotFoundError, InvalidEventError, CommandFailureError, OnEnterDepthExceededError, WorkflowValidator, WorkflowCompiler, CommandExecutor, EventExecutor, OnEnterExecutor, TimeoutResolver, WorkflowRuntime, WorkflowHandle, InMemoryDefinitionRegistry, InMemoryCommandRegistry, InMemoryGuardRegistry, } from "@duraflows/core";
17
17
  export type { WorkflowObserver, StateEnterEvent, ObserverErrorHandler } from "@duraflows/core";
18
18
  export type { WorkflowGuard, WorkflowGuardRef, WorkflowGuardRegistry } from "@duraflows/core";
@@ -1,5 +1,5 @@
1
1
  import { type DynamicModule, type Type, type InjectionToken, type OptionalFactoryDependency } from "@nestjs/common";
2
- import type { WorkflowDefinition, WorkflowClock, WorkflowPersistenceProvider, WorkflowObserver, ObserverErrorHandler, WorkflowGuard, WorkflowGuardRegistry } from "@duraflows/core";
2
+ import type { WorkflowDefinition, WorkflowClock, WorkflowPersistenceProvider, WorkflowObserver, ObserverErrorHandler, WorkflowGuard, WorkflowGuardRegistry, WorkflowTimeoutRetryOptions } from "@duraflows/core";
3
3
  import { type WorkflowCommandRegistration } from "./providers/nest-command-registry.js";
4
4
  export interface WorkflowModuleOptions {
5
5
  workflows: WorkflowDefinition[];
@@ -10,6 +10,11 @@ export interface WorkflowModuleOptions {
10
10
  onObserverError?: ObserverErrorHandler;
11
11
  persistence: WorkflowPersistenceProvider;
12
12
  clock?: WorkflowClock;
13
+ /**
14
+ * How `processExpiredWorkflows` retries an instance whose timeout processing
15
+ * fails: exponential backoff, then parking. Defaults apply when omitted.
16
+ */
17
+ timeoutRetry?: WorkflowTimeoutRetryOptions;
13
18
  enableControllers?: boolean;
14
19
  }
15
20
  export interface WorkflowModuleFactoryConfig {
@@ -20,6 +25,8 @@ export interface WorkflowModuleFactoryConfig {
20
25
  guardRegistry?: WorkflowGuardRegistry;
21
26
  observers?: WorkflowObserver[];
22
27
  onObserverError?: ObserverErrorHandler;
28
+ /** See {@link WorkflowModuleOptions.timeoutRetry}. */
29
+ timeoutRetry?: WorkflowTimeoutRetryOptions;
23
30
  }
24
31
  export interface WorkflowModuleAsyncOptions<TArgs extends unknown[] = unknown[]> {
25
32
  imports?: Type<unknown>[];
@@ -153,6 +153,7 @@ function buildWorkflowProviders(explicitCommands) {
153
153
  definitionStore: definitionStore ?? undefined,
154
154
  observers: config.observers,
155
155
  onObserverError: config.onObserverError,
156
+ timeoutRetry: config.timeoutRetry,
156
157
  }),
157
158
  inject: [
158
159
  injection_tokens_js_1.WORKFLOW_MODULE_OPTIONS,
package/dist/index.d.ts CHANGED
@@ -12,7 +12,7 @@ export { WorkflowQueryController } from "./controllers/workflow-query.controller
12
12
  export { WorkflowTimeoutController } from "./controllers/workflow-timeout.controller.js";
13
13
  export { WorkflowExceptionFilter } from "./filters/workflow-exception.filter.js";
14
14
  export { TriggerEventDto, TriggerEventParamsDto, HistoryQueryDto, HistoryParamsDto, AvailableEventsParamsDto, TimeoutProcessQueryDto, CreateInstanceDto, } from "./controllers/dto/index.js";
15
- export type { WorkflowDefinition, WorkflowStateDefinition, WorkflowEventDefinition, WorkflowOnEnterDefinition, WorkflowCommandRef, WorkflowTimeoutDefinition, CommandResult, WorkflowExecutionContext, WorkflowInstance, WorkflowExecutionResult, AvailableWorkflowEvent, CreateWorkflowInstanceInput, TriggerWorkflowEventInput, ProcessExpiredWorkflowsInput, ProcessExpiredWorkflowsResult, GetAvailableEventsInput, WorkflowInstanceStore, WorkflowHistoryStore, WorkflowHistoryRecord, WorkflowTransactionRunner, WorkflowClock, WorkflowPersistenceProvider, WorkflowDefinitionRegistry, WorkflowCommandRegistry, ValidationResult, ValidationError, CompiledWorkflow, OnEnterChainResult, OnEnterHopResult, WorkflowRuntimeClient, } from "@duraflows/core";
15
+ export type { WorkflowDefinition, WorkflowStateDefinition, WorkflowEventDefinition, WorkflowOnEnterDefinition, WorkflowCommandRef, WorkflowTimeoutDefinition, CommandResult, WorkflowExecutionContext, WorkflowInstance, WorkflowExecutionResult, AvailableWorkflowEvent, CreateWorkflowInstanceInput, TriggerWorkflowEventInput, ProcessExpiredWorkflowsInput, ProcessExpiredWorkflowsResult, FindParkedTimeoutsInput, WorkflowTimeoutRetry, WorkflowTimeoutRetryOptions, GetAvailableEventsInput, WorkflowInstanceStore, WorkflowHistoryStore, WorkflowHistoryRecord, WorkflowTransactionRunner, WorkflowClock, WorkflowPersistenceProvider, WorkflowDefinitionRegistry, WorkflowCommandRegistry, ValidationResult, ValidationError, CompiledWorkflow, OnEnterChainResult, OnEnterHopResult, WorkflowRuntimeClient, } from "@duraflows/core";
16
16
  export { WorkflowError, WorkflowDefinitionError, WorkflowInstanceNotFoundError, InvalidEventError, CommandFailureError, OnEnterDepthExceededError, WorkflowValidator, WorkflowCompiler, CommandExecutor, EventExecutor, OnEnterExecutor, TimeoutResolver, WorkflowRuntime, WorkflowHandle, InMemoryDefinitionRegistry, InMemoryCommandRegistry, InMemoryGuardRegistry, } from "@duraflows/core";
17
17
  export type { WorkflowObserver, StateEnterEvent, ObserverErrorHandler } from "@duraflows/core";
18
18
  export type { WorkflowGuard, WorkflowGuardRef, WorkflowGuardRegistry } from "@duraflows/core";
@@ -1,5 +1,5 @@
1
1
  import { type DynamicModule, type Type, type InjectionToken, type OptionalFactoryDependency } from "@nestjs/common";
2
- import type { WorkflowDefinition, WorkflowClock, WorkflowPersistenceProvider, WorkflowObserver, ObserverErrorHandler, WorkflowGuard, WorkflowGuardRegistry } from "@duraflows/core";
2
+ import type { WorkflowDefinition, WorkflowClock, WorkflowPersistenceProvider, WorkflowObserver, ObserverErrorHandler, WorkflowGuard, WorkflowGuardRegistry, WorkflowTimeoutRetryOptions } from "@duraflows/core";
3
3
  import { type WorkflowCommandRegistration } from "./providers/nest-command-registry.js";
4
4
  export interface WorkflowModuleOptions {
5
5
  workflows: WorkflowDefinition[];
@@ -10,6 +10,11 @@ export interface WorkflowModuleOptions {
10
10
  onObserverError?: ObserverErrorHandler;
11
11
  persistence: WorkflowPersistenceProvider;
12
12
  clock?: WorkflowClock;
13
+ /**
14
+ * How `processExpiredWorkflows` retries an instance whose timeout processing
15
+ * fails: exponential backoff, then parking. Defaults apply when omitted.
16
+ */
17
+ timeoutRetry?: WorkflowTimeoutRetryOptions;
13
18
  enableControllers?: boolean;
14
19
  }
15
20
  export interface WorkflowModuleFactoryConfig {
@@ -20,6 +25,8 @@ export interface WorkflowModuleFactoryConfig {
20
25
  guardRegistry?: WorkflowGuardRegistry;
21
26
  observers?: WorkflowObserver[];
22
27
  onObserverError?: ObserverErrorHandler;
28
+ /** See {@link WorkflowModuleOptions.timeoutRetry}. */
29
+ timeoutRetry?: WorkflowTimeoutRetryOptions;
23
30
  }
24
31
  export interface WorkflowModuleAsyncOptions<TArgs extends unknown[] = unknown[]> {
25
32
  imports?: Type<unknown>[];
@@ -150,6 +150,7 @@ function buildWorkflowProviders(explicitCommands) {
150
150
  definitionStore: definitionStore ?? undefined,
151
151
  observers: config.observers,
152
152
  onObserverError: config.onObserverError,
153
+ timeoutRetry: config.timeoutRetry,
153
154
  }),
154
155
  inject: [
155
156
  WORKFLOW_MODULE_OPTIONS,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@duraflows/nestjs",
3
- "version": "6.0.0",
3
+ "version": "6.1.0",
4
4
  "description": "NestJS integration for duraflows: dependency injection, services, optional REST controllers, and @WorkflowCommand decorator for DI-backed command handlers.",
5
5
  "keywords": [
6
6
  "duraflows",
@@ -54,7 +54,7 @@
54
54
  "class-validator": "^0.15.1"
55
55
  },
56
56
  "peerDependencies": {
57
- "@duraflows/core": "^6.0.0",
57
+ "@duraflows/core": "^6.1.0",
58
58
  "@nestjs/common": "^11.0.0 || ^12.0.0",
59
59
  "@nestjs/core": "^11.0.0 || ^12.0.0",
60
60
  "reflect-metadata": "^0.2.0"
@@ -65,7 +65,7 @@
65
65
  "@nestjs/platform-express": "^12.1.0",
66
66
  "@nestjs/testing": "^12.1.0",
67
67
  "reflect-metadata": "^0.2.2",
68
- "@duraflows/core": "6.0.0"
68
+ "@duraflows/core": "6.1.0"
69
69
  },
70
70
  "scripts": {
71
71
  "build": "tsc --build"