@duraflows/nestjs 5.2.1 → 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.
- package/dist/cjs/index.d.ts +1 -1
- package/dist/cjs/services/workflow-timeout.service.d.ts +5 -1
- package/dist/cjs/services/workflow-timeout.service.js +8 -0
- package/dist/cjs/workflow.module.d.ts +8 -1
- package/dist/cjs/workflow.module.js +1 -0
- package/dist/index.d.ts +1 -1
- package/dist/services/workflow-timeout.service.d.ts +5 -1
- package/dist/services/workflow-timeout.service.js +8 -0
- package/dist/workflow.module.d.ts +8 -1
- package/dist/workflow.module.js +1 -0
- package/package.json +3 -3
package/dist/cjs/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,7 +1,11 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { FindParkedTimeoutsInput, ProcessExpiredWorkflowsResult, WorkflowInstance, WorkflowRuntime } from "@duraflows/core";
|
|
2
2
|
export declare class WorkflowTimeoutService {
|
|
3
3
|
private readonly runtime;
|
|
4
4
|
constructor(runtime: WorkflowRuntime);
|
|
5
5
|
processExpiredWorkflows(limit?: number): Promise<ProcessExpiredWorkflowsResult>;
|
|
6
|
+
/** Instances parked after repeated timeout failures, oldest-parked first. */
|
|
7
|
+
findParkedTimeouts(input?: FindParkedTimeoutsInput): Promise<WorkflowInstance[]>;
|
|
8
|
+
/** Clears an instance's timeout retry state so the next sweep retries it. */
|
|
9
|
+
rearmTimeout(workflowInstanceUuid: string): Promise<WorkflowInstance>;
|
|
6
10
|
}
|
|
7
11
|
//# sourceMappingURL=workflow-timeout.service.d.ts.map
|
|
@@ -23,6 +23,14 @@ let WorkflowTimeoutService = class WorkflowTimeoutService {
|
|
|
23
23
|
async processExpiredWorkflows(limit) {
|
|
24
24
|
return this.runtime.processExpiredWorkflows({ limit });
|
|
25
25
|
}
|
|
26
|
+
/** Instances parked after repeated timeout failures, oldest-parked first. */
|
|
27
|
+
async findParkedTimeouts(input) {
|
|
28
|
+
return this.runtime.findParkedTimeouts(input);
|
|
29
|
+
}
|
|
30
|
+
/** Clears an instance's timeout retry state so the next sweep retries it. */
|
|
31
|
+
async rearmTimeout(workflowInstanceUuid) {
|
|
32
|
+
return this.runtime.rearmTimeout(workflowInstanceUuid);
|
|
33
|
+
}
|
|
26
34
|
};
|
|
27
35
|
exports.WorkflowTimeoutService = WorkflowTimeoutService;
|
|
28
36
|
exports.WorkflowTimeoutService = WorkflowTimeoutService = __decorate([
|
|
@@ -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,7 +1,11 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { FindParkedTimeoutsInput, ProcessExpiredWorkflowsResult, WorkflowInstance, WorkflowRuntime } from "@duraflows/core";
|
|
2
2
|
export declare class WorkflowTimeoutService {
|
|
3
3
|
private readonly runtime;
|
|
4
4
|
constructor(runtime: WorkflowRuntime);
|
|
5
5
|
processExpiredWorkflows(limit?: number): Promise<ProcessExpiredWorkflowsResult>;
|
|
6
|
+
/** Instances parked after repeated timeout failures, oldest-parked first. */
|
|
7
|
+
findParkedTimeouts(input?: FindParkedTimeoutsInput): Promise<WorkflowInstance[]>;
|
|
8
|
+
/** Clears an instance's timeout retry state so the next sweep retries it. */
|
|
9
|
+
rearmTimeout(workflowInstanceUuid: string): Promise<WorkflowInstance>;
|
|
6
10
|
}
|
|
7
11
|
//# sourceMappingURL=workflow-timeout.service.d.ts.map
|
|
@@ -20,6 +20,14 @@ let WorkflowTimeoutService = class WorkflowTimeoutService {
|
|
|
20
20
|
async processExpiredWorkflows(limit) {
|
|
21
21
|
return this.runtime.processExpiredWorkflows({ limit });
|
|
22
22
|
}
|
|
23
|
+
/** Instances parked after repeated timeout failures, oldest-parked first. */
|
|
24
|
+
async findParkedTimeouts(input) {
|
|
25
|
+
return this.runtime.findParkedTimeouts(input);
|
|
26
|
+
}
|
|
27
|
+
/** Clears an instance's timeout retry state so the next sweep retries it. */
|
|
28
|
+
async rearmTimeout(workflowInstanceUuid) {
|
|
29
|
+
return this.runtime.rearmTimeout(workflowInstanceUuid);
|
|
30
|
+
}
|
|
23
31
|
};
|
|
24
32
|
WorkflowTimeoutService = __decorate([
|
|
25
33
|
Injectable(),
|
|
@@ -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>[];
|
package/dist/workflow.module.js
CHANGED
|
@@ -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": "
|
|
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": "^
|
|
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": "
|
|
68
|
+
"@duraflows/core": "6.1.0"
|
|
69
69
|
},
|
|
70
70
|
"scripts": {
|
|
71
71
|
"build": "tsc --build"
|