@cogitator-ai/workflows 0.5.16 → 0.6.1
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/README.md +339 -772
- package/dist/builder.d.ts +5 -4
- package/dist/builder.d.ts.map +1 -1
- package/dist/builder.js +61 -77
- package/dist/builder.js.map +1 -1
- package/dist/checkpoint.d.ts.map +1 -1
- package/dist/checkpoint.js +23 -16
- package/dist/checkpoint.js.map +1 -1
- package/dist/executor.d.ts +34 -2
- package/dist/executor.d.ts.map +1 -1
- package/dist/executor.js +222 -37
- package/dist/executor.js.map +1 -1
- package/dist/human/approval-store.d.ts +0 -4
- package/dist/human/approval-store.d.ts.map +1 -1
- package/dist/human/approval-store.js +50 -38
- package/dist/human/approval-store.js.map +1 -1
- package/dist/human/human-node.d.ts.map +1 -1
- package/dist/human/human-node.js +6 -2
- package/dist/human/human-node.js.map +1 -1
- package/dist/human/notifiers.d.ts +0 -3
- package/dist/human/notifiers.d.ts.map +1 -1
- package/dist/human/notifiers.js +67 -25
- package/dist/human/notifiers.js.map +1 -1
- package/dist/index.d.ts +3 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/manager/scheduler.d.ts.map +1 -1
- package/dist/manager/scheduler.js +6 -2
- package/dist/manager/scheduler.js.map +1 -1
- package/dist/manager/workflow-manager.d.ts +11 -1
- package/dist/manager/workflow-manager.d.ts.map +1 -1
- package/dist/manager/workflow-manager.js +53 -8
- package/dist/manager/workflow-manager.js.map +1 -1
- package/dist/nodes/adapters.d.ts +60 -0
- package/dist/nodes/adapters.d.ts.map +1 -0
- package/dist/nodes/adapters.js +138 -0
- package/dist/nodes/adapters.js.map +1 -0
- package/dist/nodes/agent.d.ts +0 -15
- package/dist/nodes/agent.d.ts.map +1 -1
- package/dist/nodes/agent.js +17 -16
- package/dist/nodes/agent.js.map +1 -1
- package/dist/nodes/base.d.ts +11 -8
- package/dist/nodes/base.d.ts.map +1 -1
- package/dist/nodes/base.js +0 -3
- package/dist/nodes/base.js.map +1 -1
- package/dist/nodes/function.d.ts +0 -18
- package/dist/nodes/function.d.ts.map +1 -1
- package/dist/nodes/function.js +0 -9
- package/dist/nodes/function.js.map +1 -1
- package/dist/nodes/index.d.ts +1 -3
- package/dist/nodes/index.d.ts.map +1 -1
- package/dist/nodes/index.js +1 -3
- package/dist/nodes/index.js.map +1 -1
- package/dist/nodes/tool.d.ts +1 -12
- package/dist/nodes/tool.d.ts.map +1 -1
- package/dist/nodes/tool.js +4 -9
- package/dist/nodes/tool.js.map +1 -1
- package/dist/observability/exporters.d.ts +4 -4
- package/dist/observability/exporters.d.ts.map +1 -1
- package/dist/observability/exporters.js +25 -9
- package/dist/observability/exporters.js.map +1 -1
- package/dist/observability/index.d.ts +1 -1
- package/dist/observability/index.d.ts.map +1 -1
- package/dist/observability/index.js +1 -1
- package/dist/observability/index.js.map +1 -1
- package/dist/observability/metrics.d.ts +0 -21
- package/dist/observability/metrics.d.ts.map +1 -1
- package/dist/observability/metrics.js +22 -26
- package/dist/observability/metrics.js.map +1 -1
- package/dist/observability/tracer.d.ts +9 -69
- package/dist/observability/tracer.d.ts.map +1 -1
- package/dist/observability/tracer.js +82 -125
- package/dist/observability/tracer.js.map +1 -1
- package/dist/patterns/index.d.ts +0 -13
- package/dist/patterns/index.d.ts.map +1 -1
- package/dist/patterns/index.js +0 -13
- package/dist/patterns/index.js.map +1 -1
- package/dist/patterns/map-reduce.d.ts +0 -129
- package/dist/patterns/map-reduce.d.ts.map +1 -1
- package/dist/patterns/map-reduce.js +63 -92
- package/dist/patterns/map-reduce.js.map +1 -1
- package/dist/saga/circuit-breaker.d.ts.map +1 -1
- package/dist/saga/circuit-breaker.js +5 -2
- package/dist/saga/circuit-breaker.js.map +1 -1
- package/dist/saga/compensation.d.ts +5 -2
- package/dist/saga/compensation.d.ts.map +1 -1
- package/dist/saga/compensation.js +49 -44
- package/dist/saga/compensation.js.map +1 -1
- package/dist/saga/dead-letter.d.ts +3 -0
- package/dist/saga/dead-letter.d.ts.map +1 -1
- package/dist/saga/dead-letter.js +11 -5
- package/dist/saga/dead-letter.js.map +1 -1
- package/dist/saga/idempotency.d.ts +1 -1
- package/dist/saga/idempotency.d.ts.map +1 -1
- package/dist/saga/idempotency.js +46 -13
- package/dist/saga/idempotency.js.map +1 -1
- package/dist/saga/retry.d.ts +5 -0
- package/dist/saga/retry.d.ts.map +1 -1
- package/dist/saga/retry.js +48 -29
- package/dist/saga/retry.js.map +1 -1
- package/dist/scheduler.d.ts +16 -1
- package/dist/scheduler.d.ts.map +1 -1
- package/dist/scheduler.js +100 -9
- package/dist/scheduler.js.map +1 -1
- package/dist/subworkflows/index.d.ts +0 -13
- package/dist/subworkflows/index.d.ts.map +1 -1
- package/dist/subworkflows/index.js +0 -13
- package/dist/subworkflows/index.js.map +1 -1
- package/dist/subworkflows/parallel-subworkflows.d.ts +1 -77
- package/dist/subworkflows/parallel-subworkflows.d.ts.map +1 -1
- package/dist/subworkflows/parallel-subworkflows.js +12 -40
- package/dist/subworkflows/parallel-subworkflows.js.map +1 -1
- package/dist/subworkflows/subworkflow-node.d.ts +1 -82
- package/dist/subworkflows/subworkflow-node.d.ts.map +1 -1
- package/dist/subworkflows/subworkflow-node.js +42 -41
- package/dist/subworkflows/subworkflow-node.js.map +1 -1
- package/dist/timers/cron-parser.d.ts.map +1 -1
- package/dist/timers/cron-parser.js +32 -10
- package/dist/timers/cron-parser.js.map +1 -1
- package/dist/timers/timer-manager.d.ts +10 -0
- package/dist/timers/timer-manager.d.ts.map +1 -1
- package/dist/timers/timer-manager.js +13 -0
- package/dist/timers/timer-manager.js.map +1 -1
- package/dist/timers/timer-node.d.ts.map +1 -1
- package/dist/timers/timer-node.js +1 -0
- package/dist/timers/timer-node.js.map +1 -1
- package/dist/timers/timer-store.d.ts.map +1 -1
- package/dist/timers/timer-store.js +16 -10
- package/dist/timers/timer-store.js.map +1 -1
- package/dist/triggers/cron-trigger.d.ts +6 -5
- package/dist/triggers/cron-trigger.d.ts.map +1 -1
- package/dist/triggers/cron-trigger.js +52 -18
- package/dist/triggers/cron-trigger.js.map +1 -1
- package/dist/triggers/rate-limiter.d.ts +4 -0
- package/dist/triggers/rate-limiter.d.ts.map +1 -1
- package/dist/triggers/rate-limiter.js +10 -1
- package/dist/triggers/rate-limiter.js.map +1 -1
- package/dist/triggers/trigger-manager.d.ts.map +1 -1
- package/dist/triggers/trigger-manager.js +67 -40
- package/dist/triggers/trigger-manager.js.map +1 -1
- package/dist/triggers/webhook-trigger.d.ts +1 -0
- package/dist/triggers/webhook-trigger.d.ts.map +1 -1
- package/dist/triggers/webhook-trigger.js +8 -8
- package/dist/triggers/webhook-trigger.js.map +1 -1
- package/package.json +4 -4
|
@@ -1,21 +1,10 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Parallel subworkflow execution
|
|
3
|
-
*
|
|
4
|
-
* Features:
|
|
5
|
-
* - Execute multiple subworkflows in parallel
|
|
6
|
-
* - Configurable concurrency
|
|
7
|
-
* - Aggregate results
|
|
8
|
-
* - Partial failure handling
|
|
9
|
-
*/
|
|
10
1
|
import { executeSubworkflow, } from './subworkflow-node.js';
|
|
11
|
-
/**
|
|
12
|
-
* Execute subworkflows with concurrency limit
|
|
13
|
-
*/
|
|
14
2
|
async function executeWithConcurrency(items, concurrency, continueOnError, onComplete) {
|
|
15
3
|
const results = new Map();
|
|
16
4
|
const pending = [];
|
|
17
5
|
let nextIndex = 0;
|
|
18
6
|
let stopExecution = false;
|
|
7
|
+
let firstError;
|
|
19
8
|
const executeNext = async () => {
|
|
20
9
|
if (stopExecution)
|
|
21
10
|
return;
|
|
@@ -33,7 +22,11 @@ async function executeWithConcurrency(items, concurrency, continueOnError, onCom
|
|
|
33
22
|
results.set(item.id, { error: err });
|
|
34
23
|
if (!continueOnError) {
|
|
35
24
|
stopExecution = true;
|
|
36
|
-
|
|
25
|
+
if (!firstError) {
|
|
26
|
+
firstError = err;
|
|
27
|
+
}
|
|
28
|
+
onComplete?.(item.id, undefined, err);
|
|
29
|
+
return;
|
|
37
30
|
}
|
|
38
31
|
onComplete?.(item.id, undefined, err);
|
|
39
32
|
}
|
|
@@ -43,15 +36,12 @@ async function executeWithConcurrency(items, concurrency, continueOnError, onCom
|
|
|
43
36
|
for (let i = 0; i < initialBatch; i++) {
|
|
44
37
|
pending.push(executeNext());
|
|
45
38
|
}
|
|
46
|
-
|
|
47
|
-
|
|
39
|
+
await Promise.all(pending);
|
|
40
|
+
if (firstError) {
|
|
41
|
+
throw firstError;
|
|
48
42
|
}
|
|
49
|
-
catch { }
|
|
50
43
|
return results;
|
|
51
44
|
}
|
|
52
|
-
/**
|
|
53
|
-
* Execute multiple subworkflows in parallel
|
|
54
|
-
*/
|
|
55
45
|
export async function executeParallelSubworkflows(parentState, config, context) {
|
|
56
46
|
const startTime = Date.now();
|
|
57
47
|
const definitions = typeof config.subworkflows === 'function'
|
|
@@ -123,7 +113,7 @@ export async function executeParallelSubworkflows(parentState, config, context)
|
|
|
123
113
|
}
|
|
124
114
|
}
|
|
125
115
|
}
|
|
126
|
-
const overallSuccess = failed === 0 || continueOnError;
|
|
116
|
+
const overallSuccess = failed === 0 || (continueOnError && successful > 0);
|
|
127
117
|
const newParentState = overallSuccess ? config.aggregator(results, parentState) : parentState;
|
|
128
118
|
return {
|
|
129
119
|
success: overallSuccess,
|
|
@@ -139,16 +129,9 @@ export async function executeParallelSubworkflows(parentState, config, context)
|
|
|
139
129
|
},
|
|
140
130
|
};
|
|
141
131
|
}
|
|
142
|
-
/**
|
|
143
|
-
* Create a parallel subworkflows node factory
|
|
144
|
-
*/
|
|
145
132
|
export function parallelSubworkflows(name, config) {
|
|
146
133
|
return { name, ...config };
|
|
147
134
|
}
|
|
148
|
-
/**
|
|
149
|
-
* Create a fan-out/fan-in pattern
|
|
150
|
-
* Fans out to multiple identical subworkflows with different inputs
|
|
151
|
-
*/
|
|
152
135
|
export function fanOutFanIn(name, config) {
|
|
153
136
|
return {
|
|
154
137
|
name,
|
|
@@ -174,10 +157,6 @@ export function fanOutFanIn(name, config) {
|
|
|
174
157
|
},
|
|
175
158
|
};
|
|
176
159
|
}
|
|
177
|
-
/**
|
|
178
|
-
* Create a scatter-gather pattern
|
|
179
|
-
* Scatters work across multiple workflows and gathers results
|
|
180
|
-
*/
|
|
181
160
|
export function scatterGather(name, config) {
|
|
182
161
|
const subworkflows = [];
|
|
183
162
|
for (const [id, workflow] of config.workflows) {
|
|
@@ -196,7 +175,7 @@ export function scatterGather(name, config) {
|
|
|
196
175
|
name,
|
|
197
176
|
subworkflows,
|
|
198
177
|
concurrency: config.concurrency,
|
|
199
|
-
continueOnError: true,
|
|
178
|
+
continueOnError: config.continueOnError ?? true,
|
|
200
179
|
aggregator: (results, state) => {
|
|
201
180
|
const workflowResults = new Map();
|
|
202
181
|
for (const [id, result] of results) {
|
|
@@ -208,10 +187,6 @@ export function scatterGather(name, config) {
|
|
|
208
187
|
},
|
|
209
188
|
};
|
|
210
189
|
}
|
|
211
|
-
/**
|
|
212
|
-
* Create a race pattern
|
|
213
|
-
* Executes multiple subworkflows and returns the first successful result
|
|
214
|
-
*/
|
|
215
190
|
export async function raceSubworkflows(parentState, subworkflows, context) {
|
|
216
191
|
const controller = new AbortController();
|
|
217
192
|
const { signal } = controller;
|
|
@@ -222,6 +197,7 @@ export async function raceSubworkflows(parentState, subworkflows, context) {
|
|
|
222
197
|
const result = await executeSubworkflow(parentState, config, {
|
|
223
198
|
...context,
|
|
224
199
|
depth: context.depth + 1,
|
|
200
|
+
signal,
|
|
225
201
|
});
|
|
226
202
|
if (signal.aborted) {
|
|
227
203
|
throw new Error('Race cancelled');
|
|
@@ -240,10 +216,6 @@ export async function raceSubworkflows(parentState, subworkflows, context) {
|
|
|
240
216
|
return null;
|
|
241
217
|
}
|
|
242
218
|
}
|
|
243
|
-
/**
|
|
244
|
-
* Create a fallback pattern
|
|
245
|
-
* Tries subworkflows in order until one succeeds
|
|
246
|
-
*/
|
|
247
219
|
export async function fallbackSubworkflows(parentState, subworkflows, context) {
|
|
248
220
|
let lastResult;
|
|
249
221
|
let lastError;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parallel-subworkflows.js","sourceRoot":"","sources":["../../src/subworkflows/parallel-subworkflows.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"parallel-subworkflows.js","sourceRoot":"","sources":["../../src/subworkflows/parallel-subworkflows.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,87 +1,26 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Subworkflow node implementation
|
|
3
|
-
*
|
|
4
|
-
* Features:
|
|
5
|
-
* - State mapping parent ↔ child
|
|
6
|
-
* - Error propagation strategies
|
|
7
|
-
* - Recursive workflows with depth limits
|
|
8
|
-
* - Shared checkpoints
|
|
9
|
-
* - Timeout support
|
|
10
|
-
*/
|
|
11
1
|
import type { Workflow, WorkflowState, WorkflowResult, CheckpointStore } from '@cogitator-ai/types';
|
|
12
2
|
import type { Cogitator } from '@cogitator-ai/core';
|
|
13
|
-
/**
|
|
14
|
-
* Error handling strategy for subworkflows
|
|
15
|
-
*/
|
|
16
3
|
export type SubworkflowErrorStrategy = 'propagate' | 'catch' | 'retry' | 'ignore';
|
|
17
|
-
/**
|
|
18
|
-
* Subworkflow retry configuration
|
|
19
|
-
*/
|
|
20
4
|
export interface SubworkflowRetryConfig {
|
|
21
5
|
maxAttempts: number;
|
|
22
6
|
delay?: number;
|
|
23
7
|
backoff?: 'linear' | 'exponential';
|
|
24
8
|
}
|
|
25
|
-
/**
|
|
26
|
-
* Subworkflow configuration
|
|
27
|
-
*/
|
|
28
9
|
export interface SubworkflowConfig<PS extends WorkflowState, CS extends WorkflowState> {
|
|
29
10
|
name: string;
|
|
30
|
-
/**
|
|
31
|
-
* The child workflow to execute
|
|
32
|
-
*/
|
|
33
11
|
workflow: Workflow<CS>;
|
|
34
|
-
/**
|
|
35
|
-
* Map parent state to child initial state
|
|
36
|
-
*/
|
|
37
12
|
inputMapper: (parentState: PS, context: SubworkflowContext) => Partial<CS>;
|
|
38
|
-
/**
|
|
39
|
-
* Map child result back to parent state
|
|
40
|
-
*/
|
|
41
13
|
outputMapper: (childResult: WorkflowResult<CS>, parentState: PS, context: SubworkflowContext) => PS;
|
|
42
|
-
/**
|
|
43
|
-
* Error handling strategy
|
|
44
|
-
* @default 'propagate'
|
|
45
|
-
*/
|
|
46
14
|
onError?: SubworkflowErrorStrategy;
|
|
47
|
-
/**
|
|
48
|
-
* Retry config when onError is 'retry'
|
|
49
|
-
*/
|
|
50
15
|
retryConfig?: SubworkflowRetryConfig;
|
|
51
|
-
/**
|
|
52
|
-
* Maximum nesting depth
|
|
53
|
-
* @default 10
|
|
54
|
-
*/
|
|
55
16
|
maxDepth?: number;
|
|
56
|
-
/**
|
|
57
|
-
* Timeout for subworkflow execution (ms)
|
|
58
|
-
*/
|
|
59
17
|
timeout?: number;
|
|
60
|
-
/**
|
|
61
|
-
* Share checkpoint store with parent
|
|
62
|
-
* @default true
|
|
63
|
-
*/
|
|
64
18
|
shareCheckpoints?: boolean;
|
|
65
|
-
/**
|
|
66
|
-
* Called before subworkflow starts
|
|
67
|
-
*/
|
|
68
19
|
onStart?: (childState: Partial<CS>, context: SubworkflowContext) => void;
|
|
69
|
-
/**
|
|
70
|
-
* Called after subworkflow completes
|
|
71
|
-
*/
|
|
72
20
|
onComplete?: (result: WorkflowResult<CS>, context: SubworkflowContext) => void;
|
|
73
|
-
/**
|
|
74
|
-
* Called on subworkflow error
|
|
75
|
-
*/
|
|
76
21
|
onChildError?: (error: Error, context: SubworkflowContext) => void;
|
|
77
|
-
/**
|
|
78
|
-
* Condition to run subworkflow
|
|
79
|
-
*/
|
|
80
22
|
condition?: (parentState: PS, context: SubworkflowContext) => boolean;
|
|
81
23
|
}
|
|
82
|
-
/**
|
|
83
|
-
* Subworkflow execution context
|
|
84
|
-
*/
|
|
85
24
|
export interface SubworkflowContext {
|
|
86
25
|
cogitator: Cogitator;
|
|
87
26
|
parentWorkflowId: string;
|
|
@@ -90,10 +29,8 @@ export interface SubworkflowContext {
|
|
|
90
29
|
depth: number;
|
|
91
30
|
checkpointStore?: CheckpointStore;
|
|
92
31
|
metadata?: Record<string, unknown>;
|
|
32
|
+
signal?: AbortSignal;
|
|
93
33
|
}
|
|
94
|
-
/**
|
|
95
|
-
* Subworkflow result
|
|
96
|
-
*/
|
|
97
34
|
export interface SubworkflowResult<PS extends WorkflowState, CS extends WorkflowState> {
|
|
98
35
|
success: boolean;
|
|
99
36
|
parentState: PS;
|
|
@@ -103,33 +40,15 @@ export interface SubworkflowResult<PS extends WorkflowState, CS extends Workflow
|
|
|
103
40
|
duration: number;
|
|
104
41
|
depth: number;
|
|
105
42
|
}
|
|
106
|
-
/**
|
|
107
|
-
* Error thrown when max depth is exceeded
|
|
108
|
-
*/
|
|
109
43
|
export declare class MaxDepthExceededError extends Error {
|
|
110
44
|
readonly depth: number;
|
|
111
45
|
readonly maxDepth: number;
|
|
112
46
|
constructor(depth: number, maxDepth: number);
|
|
113
47
|
}
|
|
114
|
-
/**
|
|
115
|
-
* Execute a subworkflow
|
|
116
|
-
*/
|
|
117
48
|
export declare function executeSubworkflow<PS extends WorkflowState, CS extends WorkflowState>(parentState: PS, config: SubworkflowConfig<PS, CS>, context: SubworkflowContext): Promise<SubworkflowResult<PS, CS>>;
|
|
118
|
-
/**
|
|
119
|
-
* Create a subworkflow node factory
|
|
120
|
-
*/
|
|
121
49
|
export declare function subworkflowNode<PS extends WorkflowState, CS extends WorkflowState>(name: string, config: Omit<SubworkflowConfig<PS, CS>, 'name'>): SubworkflowConfig<PS, CS>;
|
|
122
|
-
/**
|
|
123
|
-
* Create a simple subworkflow that just passes state through
|
|
124
|
-
*/
|
|
125
50
|
export declare function simpleSubworkflow<S extends WorkflowState>(name: string, workflow: Workflow<S>, options?: Partial<Omit<SubworkflowConfig<S, S>, 'name' | 'workflow' | 'inputMapper' | 'outputMapper'>>): SubworkflowConfig<S, S>;
|
|
126
|
-
/**
|
|
127
|
-
* Create a subworkflow that extracts a subset of parent state
|
|
128
|
-
*/
|
|
129
51
|
export declare function nestedSubworkflow<PS extends WorkflowState, K extends keyof PS, CS extends WorkflowState = PS[K] extends WorkflowState ? PS[K] : never>(name: string, workflow: Workflow<CS>, stateKey: K, options?: Partial<Omit<SubworkflowConfig<PS, CS>, 'name' | 'workflow' | 'inputMapper' | 'outputMapper'>>): SubworkflowConfig<PS, CS>;
|
|
130
|
-
/**
|
|
131
|
-
* Create a conditional subworkflow
|
|
132
|
-
*/
|
|
133
52
|
export declare function conditionalSubworkflow<PS extends WorkflowState, CS extends WorkflowState>(name: string, config: Omit<SubworkflowConfig<PS, CS>, 'name'> & {
|
|
134
53
|
condition: (state: PS) => boolean;
|
|
135
54
|
}): SubworkflowConfig<PS, CS>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subworkflow-node.d.ts","sourceRoot":"","sources":["../../src/subworkflows/subworkflow-node.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"subworkflow-node.d.ts","sourceRoot":"","sources":["../../src/subworkflows/subworkflow-node.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,17 +1,4 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Subworkflow node implementation
|
|
3
|
-
*
|
|
4
|
-
* Features:
|
|
5
|
-
* - State mapping parent ↔ child
|
|
6
|
-
* - Error propagation strategies
|
|
7
|
-
* - Recursive workflows with depth limits
|
|
8
|
-
* - Shared checkpoints
|
|
9
|
-
* - Timeout support
|
|
10
|
-
*/
|
|
11
1
|
import { WorkflowExecutor } from '../executor.js';
|
|
12
|
-
/**
|
|
13
|
-
* Error thrown when max depth is exceeded
|
|
14
|
-
*/
|
|
15
2
|
export class MaxDepthExceededError extends Error {
|
|
16
3
|
depth;
|
|
17
4
|
maxDepth;
|
|
@@ -22,9 +9,7 @@ export class MaxDepthExceededError extends Error {
|
|
|
22
9
|
this.maxDepth = maxDepth;
|
|
23
10
|
}
|
|
24
11
|
}
|
|
25
|
-
|
|
26
|
-
* Execute a subworkflow
|
|
27
|
-
*/
|
|
12
|
+
const DEFAULT_RETRY_CONFIG = { maxAttempts: 3, delay: 1000 };
|
|
28
13
|
export async function executeSubworkflow(parentState, config, context) {
|
|
29
14
|
const startTime = Date.now();
|
|
30
15
|
const maxDepth = config.maxDepth ?? 10;
|
|
@@ -45,6 +30,8 @@ export async function executeSubworkflow(parentState, config, context) {
|
|
|
45
30
|
const executor = new WorkflowExecutor(context.cogitator, config.shareCheckpoints !== false ? context.checkpointStore : undefined);
|
|
46
31
|
const executeOptions = {
|
|
47
32
|
checkpoint: config.shareCheckpoints !== false && !!context.checkpointStore,
|
|
33
|
+
depth: context.depth,
|
|
34
|
+
signal: context.signal,
|
|
48
35
|
metadata: {
|
|
49
36
|
...context.metadata,
|
|
50
37
|
parentWorkflowId: context.parentWorkflowId,
|
|
@@ -55,19 +42,42 @@ export async function executeSubworkflow(parentState, config, context) {
|
|
|
55
42
|
};
|
|
56
43
|
let lastError;
|
|
57
44
|
let childResult;
|
|
58
|
-
const
|
|
45
|
+
const retryConfig = config.onError === 'retry' ? (config.retryConfig ?? DEFAULT_RETRY_CONFIG) : config.retryConfig;
|
|
46
|
+
const maxAttempts = retryConfig?.maxAttempts ?? 1;
|
|
59
47
|
for (let attempt = 0; attempt < maxAttempts; attempt++) {
|
|
48
|
+
if (context.signal?.aborted) {
|
|
49
|
+
lastError = new Error('Subworkflow aborted');
|
|
50
|
+
break;
|
|
51
|
+
}
|
|
52
|
+
const attemptController = new AbortController();
|
|
53
|
+
const abortAttempt = () => attemptController.abort();
|
|
54
|
+
context.signal?.addEventListener('abort', abortAttempt, { once: true });
|
|
60
55
|
try {
|
|
61
|
-
const executePromise = executor.execute(config.workflow, childInput,
|
|
56
|
+
const executePromise = executor.execute(config.workflow, childInput, {
|
|
57
|
+
...executeOptions,
|
|
58
|
+
signal: attemptController.signal,
|
|
59
|
+
});
|
|
62
60
|
if (config.timeout) {
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
61
|
+
let timer;
|
|
62
|
+
const timeoutPromise = new Promise((_, reject) => {
|
|
63
|
+
timer = setTimeout(() => {
|
|
64
|
+
attemptController.abort();
|
|
65
|
+
reject(new Error('Subworkflow timeout exceeded'));
|
|
66
|
+
}, config.timeout);
|
|
67
|
+
});
|
|
68
|
+
try {
|
|
69
|
+
childResult = await Promise.race([executePromise, timeoutPromise]);
|
|
70
|
+
}
|
|
71
|
+
finally {
|
|
72
|
+
clearTimeout(timer);
|
|
73
|
+
}
|
|
67
74
|
}
|
|
68
75
|
else {
|
|
69
76
|
childResult = await executePromise;
|
|
70
77
|
}
|
|
78
|
+
if (childResult.error) {
|
|
79
|
+
throw childResult.error;
|
|
80
|
+
}
|
|
71
81
|
config.onComplete?.(childResult, context);
|
|
72
82
|
const newParentState = config.outputMapper(childResult, parentState, context);
|
|
73
83
|
return {
|
|
@@ -82,13 +92,16 @@ export async function executeSubworkflow(parentState, config, context) {
|
|
|
82
92
|
catch (error) {
|
|
83
93
|
lastError = error instanceof Error ? error : new Error(String(error));
|
|
84
94
|
config.onChildError?.(lastError, context);
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
95
|
+
}
|
|
96
|
+
finally {
|
|
97
|
+
context.signal?.removeEventListener('abort', abortAttempt);
|
|
98
|
+
}
|
|
99
|
+
if (attempt < maxAttempts - 1 && retryConfig) {
|
|
100
|
+
const delay = retryConfig.delay ?? 1000;
|
|
101
|
+
const actualDelay = retryConfig.backoff === 'exponential'
|
|
102
|
+
? delay * Math.pow(2, attempt)
|
|
103
|
+
: delay * (attempt + 1);
|
|
104
|
+
await new Promise((resolve) => setTimeout(resolve, actualDelay));
|
|
92
105
|
}
|
|
93
106
|
}
|
|
94
107
|
switch (config.onError) {
|
|
@@ -116,15 +129,9 @@ export async function executeSubworkflow(parentState, config, context) {
|
|
|
116
129
|
throw lastError;
|
|
117
130
|
}
|
|
118
131
|
}
|
|
119
|
-
/**
|
|
120
|
-
* Create a subworkflow node factory
|
|
121
|
-
*/
|
|
122
132
|
export function subworkflowNode(name, config) {
|
|
123
133
|
return { name, ...config };
|
|
124
134
|
}
|
|
125
|
-
/**
|
|
126
|
-
* Create a simple subworkflow that just passes state through
|
|
127
|
-
*/
|
|
128
135
|
export function simpleSubworkflow(name, workflow, options = {}) {
|
|
129
136
|
return {
|
|
130
137
|
name,
|
|
@@ -134,9 +141,6 @@ export function simpleSubworkflow(name, workflow, options = {}) {
|
|
|
134
141
|
...options,
|
|
135
142
|
};
|
|
136
143
|
}
|
|
137
|
-
/**
|
|
138
|
-
* Create a subworkflow that extracts a subset of parent state
|
|
139
|
-
*/
|
|
140
144
|
export function nestedSubworkflow(name, workflow, stateKey, options = {}) {
|
|
141
145
|
return {
|
|
142
146
|
name,
|
|
@@ -149,9 +153,6 @@ export function nestedSubworkflow(name, workflow, stateKey, options = {}) {
|
|
|
149
153
|
...options,
|
|
150
154
|
};
|
|
151
155
|
}
|
|
152
|
-
/**
|
|
153
|
-
* Create a conditional subworkflow
|
|
154
|
-
*/
|
|
155
156
|
export function conditionalSubworkflow(name, config) {
|
|
156
157
|
return {
|
|
157
158
|
...config,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subworkflow-node.js","sourceRoot":"","sources":["../../src/subworkflows/subworkflow-node.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"subworkflow-node.js","sourceRoot":"","sources":["../../src/subworkflows/subworkflow-node.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cron-parser.d.ts","sourceRoot":"","sources":["../../src/timers/cron-parser.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH;;GAEG;AACH,UAAU,SAAS;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC;AAED,QAAA,MAAM,WAAW,EAAE,SAAS,EAsC3B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAc/C,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE;QACN,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;QAClB,MAAM,EAAE,MAAM,EAAE,CAAC;QACjB,IAAI,EAAE,MAAM,EAAE,CAAC;QACf,UAAU,EAAE,MAAM,EAAE,CAAC;QACrB,KAAK,EAAE,MAAM,EAAE,CAAC;QAChB,SAAS,EAAE,MAAM,EAAE,CAAC;KACrB,CAAC;IACF,UAAU,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,WAAW,CAAC,EAAE,IAAI,CAAC;IACnB,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,OAAO,CAAC,EAAE,IAAI,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,MAAM,GAAG;IAC1D,KAAK,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAYA;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,UAAU,CA2BrF;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,GAAE,mBAAwB,GAAG,IAAI,CAWjG;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CACvC,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE,mBAAwB,GAChC,IAAI,CAWN;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,MAAM,EACb,OAAO,GAAE,mBAAwB,GAChC,IAAI,EAAE,CAoBR;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,
|
|
1
|
+
{"version":3,"file":"cron-parser.d.ts","sourceRoot":"","sources":["../../src/timers/cron-parser.ts"],"names":[],"mappings":"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"}
|
|
@@ -162,7 +162,13 @@ export function getNextCronOccurrences(expression, count, options = {}) {
|
|
|
162
162
|
*/
|
|
163
163
|
export function cronMatchesDate(expression, date, timezone) {
|
|
164
164
|
const normalized = CRON_PRESETS[expression.toLowerCase()] ?? expression;
|
|
165
|
-
|
|
165
|
+
const parsed = parseCronExpression(normalized);
|
|
166
|
+
let minute;
|
|
167
|
+
let hour;
|
|
168
|
+
let dayOfMonth;
|
|
169
|
+
let month;
|
|
170
|
+
let dayOfWeek;
|
|
171
|
+
let second;
|
|
166
172
|
if (timezone) {
|
|
167
173
|
const formatter = new Intl.DateTimeFormat('en-US', {
|
|
168
174
|
timeZone: timezone,
|
|
@@ -176,14 +182,24 @@ export function cronMatchesDate(expression, date, timezone) {
|
|
|
176
182
|
});
|
|
177
183
|
const parts = formatter.formatToParts(date);
|
|
178
184
|
const get = (type) => parseInt(parts.find((p) => p.type === type)?.value ?? '0');
|
|
179
|
-
|
|
185
|
+
minute = get('minute');
|
|
186
|
+
hour = get('hour') % 24;
|
|
187
|
+
dayOfMonth = get('day');
|
|
188
|
+
month = get('month');
|
|
189
|
+
second = get('second');
|
|
190
|
+
const utcDate = new Date(date.toLocaleString('en-US', { timeZone: 'UTC' }));
|
|
191
|
+
const tzDate = new Date(date.toLocaleString('en-US', { timeZone: timezone }));
|
|
192
|
+
const dayDiff = Math.round((tzDate.getTime() - utcDate.getTime()) / 86400000);
|
|
193
|
+
dayOfWeek = (date.getUTCDay() + dayDiff + 7) % 7;
|
|
194
|
+
}
|
|
195
|
+
else {
|
|
196
|
+
minute = date.getMinutes();
|
|
197
|
+
hour = date.getHours();
|
|
198
|
+
dayOfMonth = date.getDate();
|
|
199
|
+
month = date.getMonth() + 1;
|
|
200
|
+
dayOfWeek = date.getDay();
|
|
201
|
+
second = date.getSeconds();
|
|
180
202
|
}
|
|
181
|
-
const parsed = parseCronExpression(normalized);
|
|
182
|
-
const minute = checkDate.getMinutes();
|
|
183
|
-
const hour = checkDate.getHours();
|
|
184
|
-
const dayOfMonth = checkDate.getDate();
|
|
185
|
-
const month = checkDate.getMonth() + 1;
|
|
186
|
-
const dayOfWeek = checkDate.getDay();
|
|
187
203
|
if (!parsed.fields.minute.includes(minute))
|
|
188
204
|
return false;
|
|
189
205
|
if (!parsed.fields.hour.includes(hour))
|
|
@@ -207,7 +223,6 @@ export function cronMatchesDate(expression, date, timezone) {
|
|
|
207
223
|
return false;
|
|
208
224
|
}
|
|
209
225
|
if (parsed.hasSeconds && parsed.fields.second) {
|
|
210
|
-
const second = checkDate.getSeconds();
|
|
211
226
|
if (!parsed.fields.second.includes(second))
|
|
212
227
|
return false;
|
|
213
228
|
}
|
|
@@ -254,10 +269,17 @@ export function describeCronExpression(expression) {
|
|
|
254
269
|
if (minute === '*' && hour === '*') {
|
|
255
270
|
descriptions.push('Every minute');
|
|
256
271
|
}
|
|
257
|
-
else if (minute.startsWith('*/')) {
|
|
272
|
+
else if (minute.startsWith('*/') && hour === '*') {
|
|
258
273
|
const interval = minute.slice(2);
|
|
259
274
|
descriptions.push(`Every ${interval} minutes`);
|
|
260
275
|
}
|
|
276
|
+
else if (hour.startsWith('*/')) {
|
|
277
|
+
const interval = hour.slice(2);
|
|
278
|
+
descriptions.push(`Every ${interval} hours`);
|
|
279
|
+
if (minute !== '0' && minute !== '*') {
|
|
280
|
+
descriptions.push(`at minute ${minute}`);
|
|
281
|
+
}
|
|
282
|
+
}
|
|
261
283
|
else if (hour === '*') {
|
|
262
284
|
descriptions.push(`At minute ${minute} of every hour`);
|
|
263
285
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cron-parser.js","sourceRoot":"","sources":["../../src/timers/cron-parser.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cron-parser.js","sourceRoot":"","sources":["../../src/timers/cron-parser.ts"],"names":[],"mappings":"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"}
|