@cogitator-ai/workflows 0.5.17 → 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.
Files changed (51) hide show
  1. package/README.md +339 -772
  2. package/dist/builder.d.ts +5 -4
  3. package/dist/builder.d.ts.map +1 -1
  4. package/dist/builder.js +59 -76
  5. package/dist/builder.js.map +1 -1
  6. package/dist/checkpoint.d.ts.map +1 -1
  7. package/dist/checkpoint.js +7 -3
  8. package/dist/checkpoint.js.map +1 -1
  9. package/dist/executor.d.ts +31 -2
  10. package/dist/executor.d.ts.map +1 -1
  11. package/dist/executor.js +217 -36
  12. package/dist/executor.js.map +1 -1
  13. package/dist/index.d.ts +2 -2
  14. package/dist/index.d.ts.map +1 -1
  15. package/dist/index.js +2 -2
  16. package/dist/index.js.map +1 -1
  17. package/dist/manager/workflow-manager.d.ts +10 -0
  18. package/dist/manager/workflow-manager.d.ts.map +1 -1
  19. package/dist/manager/workflow-manager.js +32 -1
  20. package/dist/manager/workflow-manager.js.map +1 -1
  21. package/dist/nodes/adapters.d.ts +60 -0
  22. package/dist/nodes/adapters.d.ts.map +1 -0
  23. package/dist/nodes/adapters.js +138 -0
  24. package/dist/nodes/adapters.js.map +1 -0
  25. package/dist/nodes/agent.d.ts.map +1 -1
  26. package/dist/nodes/agent.js +2 -1
  27. package/dist/nodes/agent.js.map +1 -1
  28. package/dist/nodes/base.d.ts +9 -1
  29. package/dist/nodes/base.d.ts.map +1 -1
  30. package/dist/nodes/index.d.ts +1 -0
  31. package/dist/nodes/index.d.ts.map +1 -1
  32. package/dist/nodes/index.js +1 -0
  33. package/dist/nodes/index.js.map +1 -1
  34. package/dist/nodes/tool.d.ts.map +1 -1
  35. package/dist/nodes/tool.js +3 -1
  36. package/dist/nodes/tool.js.map +1 -1
  37. package/dist/saga/retry.d.ts +5 -0
  38. package/dist/saga/retry.d.ts.map +1 -1
  39. package/dist/saga/retry.js +13 -0
  40. package/dist/saga/retry.js.map +1 -1
  41. package/dist/scheduler.d.ts +16 -1
  42. package/dist/scheduler.d.ts.map +1 -1
  43. package/dist/scheduler.js +82 -6
  44. package/dist/scheduler.js.map +1 -1
  45. package/dist/subworkflows/subworkflow-node.d.ts.map +1 -1
  46. package/dist/subworkflows/subworkflow-node.js +26 -9
  47. package/dist/subworkflows/subworkflow-node.js.map +1 -1
  48. package/dist/triggers/trigger-manager.d.ts.map +1 -1
  49. package/dist/triggers/trigger-manager.js +15 -5
  50. package/dist/triggers/trigger-manager.js.map +1 -1
  51. package/package.json +4 -4
package/dist/executor.js CHANGED
@@ -4,6 +4,9 @@
4
4
  import { nanoid } from 'nanoid';
5
5
  import { WorkflowScheduler } from './scheduler.js';
6
6
  import { InMemoryCheckpointStore, createCheckpointId } from './checkpoint.js';
7
+ import { computeRetryDelay } from './saga/retry.js';
8
+ import { CircuitBreaker } from './saga/circuit-breaker.js';
9
+ import { createDLQEntry } from './saga/dead-letter.js';
7
10
  const DEFAULT_MAX_CONCURRENCY = 4;
8
11
  const DEFAULT_MAX_ITERATIONS = 100;
9
12
  export class NodeExecutionError extends Error {
@@ -15,10 +18,113 @@ export class NodeExecutionError extends Error {
15
18
  this.cause = cause;
16
19
  }
17
20
  }
21
+ export class NodeTimeoutError extends Error {
22
+ nodeName;
23
+ timeoutMs;
24
+ constructor(nodeName, timeoutMs) {
25
+ super(`Node '${nodeName}' timed out after ${timeoutMs}ms`);
26
+ this.name = 'NodeTimeoutError';
27
+ this.nodeName = nodeName;
28
+ this.timeoutMs = timeoutMs;
29
+ }
30
+ }
31
+ function sleep(ms, signal) {
32
+ if (ms <= 0)
33
+ return Promise.resolve();
34
+ return new Promise((resolve) => {
35
+ const timer = setTimeout(done, ms);
36
+ function done() {
37
+ clearTimeout(timer);
38
+ signal?.removeEventListener('abort', done);
39
+ resolve();
40
+ }
41
+ signal?.addEventListener('abort', done, { once: true });
42
+ });
43
+ }
44
+ /**
45
+ * Run a node function once, enforcing `config.timeout` when set. A timed-out attempt
46
+ * aborts `ctx.signal` so in-flight work (LLM requests, tool calls) is cancelled
47
+ * instead of running on in the background.
48
+ */
49
+ async function runNodeAttempt(node, ctx, timeout) {
50
+ if (timeout === undefined || timeout <= 0) {
51
+ return node.fn(ctx);
52
+ }
53
+ const runSignal = ctx.signal;
54
+ const attempt = new AbortController();
55
+ const forwardRunAbort = () => attempt.abort(runSignal?.reason);
56
+ if (runSignal?.aborted) {
57
+ forwardRunAbort();
58
+ }
59
+ else {
60
+ runSignal?.addEventListener('abort', forwardRunAbort, { once: true });
61
+ }
62
+ const attemptCtx = { ...ctx, signal: attempt.signal };
63
+ let timer;
64
+ try {
65
+ return await Promise.race([
66
+ node.fn(attemptCtx),
67
+ new Promise((_resolve, reject) => {
68
+ timer = setTimeout(() => {
69
+ const error = new NodeTimeoutError(node.name, timeout);
70
+ attempt.abort(error);
71
+ reject(error);
72
+ }, timeout);
73
+ }),
74
+ ]);
75
+ }
76
+ finally {
77
+ if (timer)
78
+ clearTimeout(timer);
79
+ runSignal?.removeEventListener('abort', forwardRunAbort);
80
+ }
81
+ }
82
+ function retryDelay(policy, attempt) {
83
+ if (policy.config?.retries !== undefined) {
84
+ return policy.config.retryDelay ?? 0;
85
+ }
86
+ return policy.defaultRetry ? computeRetryDelay(attempt, policy.defaultRetry) : 0;
87
+ }
88
+ /**
89
+ * Run a node honouring its `NodeConfig` (timeout per attempt, `retries` extra attempts
90
+ * separated by `retryDelay` ms), falling back to the run's default retry policy and
91
+ * circuit breaker. Returns the result and the number of retries used.
92
+ */
93
+ async function runNodeWithPolicy(node, nodeName, makeContext, policy) {
94
+ const maxRetries = Math.max(0, policy.config?.retries ?? policy.defaultRetry?.maxRetries ?? 0);
95
+ const isRetryable = policy.config?.retries === undefined ? policy.defaultRetry?.isRetryable : undefined;
96
+ let lastError;
97
+ for (let attempt = 0; attempt <= maxRetries; attempt++) {
98
+ if (attempt > 0) {
99
+ await sleep(retryDelay(policy, attempt), policy.signal);
100
+ }
101
+ if (policy.signal?.aborted)
102
+ break;
103
+ try {
104
+ const runAttempt = () => runNodeAttempt(node, makeContext(), policy.config?.timeout);
105
+ const result = policy.breaker
106
+ ? await policy.breaker.execute(nodeName, runAttempt)
107
+ : await runAttempt();
108
+ return { result, retries: attempt };
109
+ }
110
+ catch (error) {
111
+ lastError = error;
112
+ const err = error instanceof Error ? error : new Error(String(error));
113
+ if (err.name === 'CircuitBreakerOpenError')
114
+ break;
115
+ if (isRetryable && !isRetryable(err))
116
+ break;
117
+ }
118
+ }
119
+ throw lastError instanceof Error
120
+ ? lastError
121
+ : new Error(lastError === undefined ? 'Workflow execution aborted' : String(lastError));
122
+ }
18
123
  export class WorkflowExecutor {
19
124
  cogitator;
20
125
  checkpointStore;
21
126
  scheduler;
127
+ breakers = new WeakMap();
22
128
  constructor(cogitator, checkpointStore) {
23
129
  this.cogitator = cogitator;
24
130
  this.checkpointStore = checkpointStore ?? new InMemoryCheckpointStore();
@@ -42,6 +148,14 @@ export class WorkflowExecutor {
42
148
  let checkpointId;
43
149
  let error;
44
150
  const graph = this.scheduler.buildDependencyGraph(workflow);
151
+ const reachability = this.scheduler.buildReachability(workflow);
152
+ const tracer = options?.tracer;
153
+ const metrics = options?.metricsCollector;
154
+ const breaker = options?.defaultCircuitBreaker
155
+ ? this.getBreaker(options.defaultCircuitBreaker)
156
+ : undefined;
157
+ const workflowSpan = tracer?.startWorkflowSpan(workflow.name, workflowId, workflowId);
158
+ metrics?.recordWorkflowStart(workflow.name);
45
159
  let currentNodes = [workflow.entryPoint];
46
160
  const saveCheckpoint = async () => {
47
161
  checkpointId = createCheckpointId();
@@ -60,40 +174,86 @@ export class WorkflowExecutor {
60
174
  if (!node) {
61
175
  throw new NodeExecutionError(nodeName, new Error(`Node '${nodeName}' not found`));
62
176
  }
63
- options?.onNodeStart?.(nodeName);
64
- const nodeStart = Date.now();
65
- const ctx = {
66
- state: { ...state },
67
- nodeId: nodeName,
68
- workflowId,
69
- step: currentIteration,
70
- reportProgress: (progress) => {
71
- const clamped = Math.max(0, Math.min(100, progress));
72
- options?.onNodeProgress?.(nodeName, clamped);
73
- },
74
- };
75
- const deps = graph.dependencies.get(nodeName);
76
- if (deps && deps.size > 0) {
77
- const inputs = [];
78
- for (const dep of deps) {
79
- const depResult = nodeResults.get(dep);
80
- if (depResult) {
81
- inputs.push(depResult.output);
177
+ const runNode = async () => {
178
+ options?.onNodeStart?.(nodeName);
179
+ const nodeSpan = tracer?.startNodeSpan(nodeName, 'node', { 'node.step': currentIteration });
180
+ const nodeStart = Date.now();
181
+ const deps = graph.dependencies.get(nodeName);
182
+ let input;
183
+ if (deps && deps.size > 0) {
184
+ const inputs = [];
185
+ for (const dep of deps) {
186
+ const depResult = nodeResults.get(dep);
187
+ if (depResult) {
188
+ inputs.push(depResult.output);
189
+ }
82
190
  }
191
+ input = inputs.length === 1 ? inputs[0] : inputs;
83
192
  }
84
- ctx.input = inputs.length === 1 ? inputs[0] : inputs;
85
- }
86
- ctx.cogitator = this.cogitator;
87
- try {
88
- const result = await node.fn(ctx);
89
- const duration = Date.now() - nodeStart;
90
- options?.onNodeComplete?.(nodeName, result.output, duration);
91
- return { nodeName, result, duration };
92
- }
93
- catch (e) {
94
- const err = e instanceof Error ? e : new Error(String(e));
95
- throw new NodeExecutionError(nodeName, err);
96
- }
193
+ const makeContext = () => {
194
+ const ctx = {
195
+ state: { ...state },
196
+ nodeId: nodeName,
197
+ workflowId,
198
+ step: currentIteration,
199
+ cogitator: this.cogitator,
200
+ signal: options?.signal,
201
+ depth: options?.depth ?? 0,
202
+ approvalStore: options?.approvalStore,
203
+ approvalNotifier: options?.approvalNotifier,
204
+ timerStore: options?.timerStore,
205
+ reportProgress: (progress) => {
206
+ const clamped = Math.max(0, Math.min(100, progress));
207
+ options?.onNodeProgress?.(nodeName, clamped);
208
+ },
209
+ };
210
+ if (input !== undefined)
211
+ ctx.input = input;
212
+ return ctx;
213
+ };
214
+ const idempotencyKey = `workflow:${workflowId}:node:${nodeName}:step:${currentIteration}`;
215
+ const idempotencyStore = options?.idempotencyStore;
216
+ try {
217
+ const cached = idempotencyStore
218
+ ? await idempotencyStore.check(idempotencyKey)
219
+ : undefined;
220
+ const { result, retries } = cached?.isDuplicate && cached.record?.status === 'completed'
221
+ ? { result: cached.record.result, retries: 0 }
222
+ : await runNodeWithPolicy(node, nodeName, makeContext, {
223
+ config: node.config,
224
+ defaultRetry: options?.defaultRetry,
225
+ breaker,
226
+ signal: options?.signal,
227
+ });
228
+ if (idempotencyStore && !cached?.isDuplicate) {
229
+ await idempotencyStore.store(idempotencyKey, result);
230
+ }
231
+ const duration = Date.now() - nodeStart;
232
+ nodeSpan?.setAttribute('node.retries', retries);
233
+ nodeSpan?.end('ok');
234
+ metrics?.recordNodeExecution(workflow.name, nodeName, 'node', duration, true, retries);
235
+ options?.onNodeComplete?.(nodeName, result.output, duration);
236
+ return { nodeName, result, duration };
237
+ }
238
+ catch (e) {
239
+ const err = e instanceof Error ? e : new Error(String(e));
240
+ nodeSpan?.recordException(err);
241
+ nodeSpan?.end('error', err.message);
242
+ metrics?.recordNodeExecution(workflow.name, nodeName, 'node', Date.now() - nodeStart, false, node.config?.retries ?? options?.defaultRetry?.maxRetries ?? 0);
243
+ if (options?.deadLetterQueue) {
244
+ await options.deadLetterQueue
245
+ .add(createDLQEntry(nodeName, workflowId, workflow.name, state, err, {
246
+ input,
247
+ attempts: 1 + (node.config?.retries ?? options.defaultRetry?.maxRetries ?? 0),
248
+ }))
249
+ .catch((dlqError) => {
250
+ console.warn('[WorkflowExecutor] Failed to write dead letter entry:', dlqError);
251
+ });
252
+ }
253
+ throw new NodeExecutionError(nodeName, err);
254
+ }
255
+ };
256
+ return tracer ? tracer.runInContext(runNode) : runNode();
97
257
  };
98
258
  const processNodeResult = (nodeName, result, duration, nextNodes) => {
99
259
  if (result.state) {
@@ -135,8 +295,9 @@ export class WorkflowExecutor {
135
295
  }
136
296
  if (nodesToRun.length === 0)
137
297
  break;
138
- const tasks = nodesToRun.map((nodeName) => createTask(nodeName, iterations));
139
- const nextNodes = [];
298
+ const { runnable, deferred } = this.scheduler.splitFrontier([...new Set(nodesToRun)], reachability);
299
+ const tasks = runnable.map((nodeName) => createTask(nodeName, iterations));
300
+ const nextNodes = [...deferred];
140
301
  if (shouldCheckpoint && checkpointStrategy === 'per-node') {
141
302
  await this.scheduler.runParallelWithCallback(tasks, maxConcurrency, async ({ nodeName, result, duration }) => {
142
303
  processNodeResult(nodeName, result, duration, nextNodes);
@@ -154,7 +315,7 @@ export class WorkflowExecutor {
154
315
  }
155
316
  currentNodes = [...new Set(nextNodes)];
156
317
  }
157
- if (iterations >= maxIterations && currentNodes.length > 0) {
318
+ if (!error && iterations >= maxIterations && currentNodes.length > 0) {
158
319
  error = new Error(`Workflow exceeded max iterations (${maxIterations.toString()})`);
159
320
  }
160
321
  }
@@ -168,16 +329,36 @@ export class WorkflowExecutor {
168
329
  options?.onNodeError?.(currentNodes[0] ?? 'unknown', error);
169
330
  }
170
331
  }
332
+ const duration = Date.now() - startTime;
333
+ const aborted = options?.signal?.aborted === true;
334
+ if (workflowSpan) {
335
+ if (error) {
336
+ workflowSpan.recordException(error);
337
+ workflowSpan.end('error', error.message);
338
+ }
339
+ else {
340
+ workflowSpan.end('ok');
341
+ }
342
+ }
343
+ metrics?.recordWorkflowComplete(workflow.name, duration, error ? (aborted ? 'cancelled' : 'failure') : 'success');
171
344
  return {
172
345
  workflowId,
173
346
  workflowName: workflow.name,
174
347
  state,
175
348
  nodeResults,
176
- duration: Date.now() - startTime,
349
+ duration,
177
350
  checkpointId,
178
351
  error,
179
352
  };
180
353
  }
354
+ getBreaker(config) {
355
+ let breaker = this.breakers.get(config);
356
+ if (!breaker) {
357
+ breaker = new CircuitBreaker(config);
358
+ this.breakers.set(config, breaker);
359
+ }
360
+ return breaker;
361
+ }
181
362
  /**
182
363
  * Resume a workflow from a checkpoint
183
364
  */
@@ -1 +1 @@
1
- {"version":3,"file":"executor.js","sourceRoot":"","sources":["../src/executor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"executor.js","sourceRoot":"","sources":["../src/executor.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -4,11 +4,11 @@
4
4
  * DAG-based workflow engine for Cogitator agents
5
5
  */
6
6
  export { WorkflowBuilder } from './builder.js';
7
- export { WorkflowExecutor, NodeExecutionError } from './executor.js';
7
+ export { WorkflowExecutor, NodeExecutionError, NodeTimeoutError } from './executor.js';
8
8
  export type { ExecutorExecuteOptions } from './executor.js';
9
9
  export { WorkflowScheduler } from './scheduler.js';
10
10
  export { InMemoryCheckpointStore, FileCheckpointStore, createCheckpointId } from './checkpoint.js';
11
- export { agentNode, toolNode, functionNode, customNode } from './nodes/index.js';
11
+ export { agentNode, toolNode, functionNode, customNode, timerWorkflowNode, humanWorkflowNode, mapWorkflowNode, mapReduceWorkflowNode, subworkflowWorkflowNode, parallelSubworkflowsNode, type TimerWorkflowNodeOptions, type HumanWorkflowNodeOptions, type SubworkflowNodeOptions, } from './nodes/index.js';
12
12
  export type { AgentNodeOptions } from './nodes/agent.js';
13
13
  export type { ToolNodeOptions } from './nodes/tool.js';
14
14
  export type { SimpleNodeFn, FullNodeFn, FunctionNodeOptions } from './nodes/function.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAE5C,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEpF,YAAY,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAEzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEhD,OAAO,EAAE,uBAAuB,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAEhG,OAAO,EACL,SAAS,EACT,QAAQ,EACR,YAAY,EACZ,UAAU,EACV,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EACf,qBAAqB,EACrB,uBAAuB,EACvB,wBAAwB,EACxB,KAAK,wBAAwB,EAC7B,KAAK,wBAAwB,EAC7B,KAAK,sBAAsB,GAC5B,MAAM,eAAe,CAAC;AAEvB,YAAY,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEtD,YAAY,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAEpD,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAEtF,YAAY,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAExD,OAAO,EACL,cAAc,EACd,YAAY,EACZ,eAAe,EACf,eAAe,EACf,wBAAwB,EACxB,sBAAsB,EACtB,gBAAgB,EAChB,gBAAgB,EAChB,mBAAmB,EACnB,gBAAgB,EAChB,kBAAkB,EAClB,qBAAqB,EACrB,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,uBAAuB,CAAC;AAE/B,YAAY,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAElF,OAAO,EACL,gBAAgB,EAChB,SAAS,EACT,SAAS,EACT,qBAAqB,EACrB,cAAc,EACd,oBAAoB,EACpB,uBAAuB,EACvB,kBAAkB,EAClB,mBAAmB,EACnB,yBAAyB,EACzB,mBAAmB,EACnB,mBAAmB,EACnB,OAAO,EACP,WAAW,EACX,OAAO,EACP,iBAAiB,EACjB,aAAa,EACb,cAAc,EACd,oBAAoB,EACpB,wBAAwB,EACxB,oBAAoB,EACpB,8BAA8B,EAC9B,0BAA0B,EAC1B,sBAAsB,EACtB,iBAAiB,EACjB,UAAU,EACV,UAAU,GACX,MAAM,cAAc,CAAC;AAEtB,YAAY,EACV,WAAW,EACX,WAAW,EACX,YAAY,EACZ,mBAAmB,EACnB,0BAA0B,EAC1B,mBAAmB,EACnB,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,EAClB,0BAA0B,EAC1B,uBAAuB,EACvB,UAAU,EACV,sBAAsB,GACvB,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,kBAAkB,EAClB,cAAc,EACd,wBAAwB,EACxB,oBAAoB,EACpB,YAAY,EACZ,WAAW,EACX,sBAAsB,EACtB,mBAAmB,EACnB,qBAAqB,EACrB,yBAAyB,EACzB,sBAAsB,EACtB,eAAe,EACf,yBAAyB,EACzB,sBAAsB,EACtB,kBAAkB,EAClB,qBAAqB,EACrB,qBAAqB,EACrB,eAAe,EACf,SAAS,EACT,gBAAgB,EAChB,YAAY,EACZ,SAAS,EACT,mBAAmB,EACnB,gBAAgB,EAChB,sBAAsB,EACtB,UAAU,EACV,QAAQ,EACR,aAAa,EACb,cAAc,EACd,YAAY,EACZ,kBAAkB,EAClB,uBAAuB,EACvB,wBAAwB,GACzB,MAAM,gBAAgB,CAAC;AAExB,YAAY,EACV,iBAAiB,EACjB,UAAU,EACV,mBAAmB,EACnB,aAAa,EACb,eAAe,EACf,gBAAgB,EAChB,kBAAkB,EAClB,cAAc,EACd,eAAe,EACf,kBAAkB,EAClB,eAAe,EACf,qBAAqB,EACrB,YAAY,EACZ,kBAAkB,EAClB,iBAAiB,GAClB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,UAAU,EACV,aAAa,EACb,gBAAgB,EAChB,OAAO,EACP,UAAU,EACV,aAAa,EACb,WAAW,EACX,aAAa,EACb,UAAU,EACV,OAAO,EACP,GAAG,EACH,KAAK,EACL,KAAK,EACL,IAAI,EACJ,OAAO,EACP,SAAS,EACT,OAAO,EACP,KAAK,GACN,MAAM,kBAAkB,CAAC;AAE1B,YAAY,EACV,aAAa,EACb,gBAAgB,EAChB,aAAa,EACb,gBAAgB,EAChB,eAAe,EACf,mBAAmB,GACpB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,kBAAkB,EAClB,eAAe,EACf,iBAAiB,EACjB,iBAAiB,EACjB,sBAAsB,EACtB,qBAAqB,EACrB,2BAA2B,EAC3B,oBAAoB,EACpB,WAAW,EACX,aAAa,EACb,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,sBAAsB,CAAC;AAE9B,YAAY,EACV,wBAAwB,EACxB,sBAAsB,EACtB,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,sBAAsB,EACtB,0BAA0B,EAC1B,gBAAgB,EAChB,0BAA0B,GAC3B,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,qBAAqB,EACrB,iBAAiB,EACjB,cAAc,EACd,eAAe,EACf,eAAe,EACf,iBAAiB,EACjB,aAAa,EACb,gBAAgB,EAChB,cAAc,EACd,YAAY,EACZ,gBAAgB,EAChB,SAAS,EACT,YAAY,EACZ,UAAU,EACV,SAAS,EACT,UAAU,EACV,SAAS,EACT,eAAe,GAChB,MAAM,eAAe,CAAC;AAEvB,YAAY,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAEvE,OAAO,EACL,gBAAgB,EAChB,YAAY,EACZ,sBAAsB,EACtB,kBAAkB,EAClB,aAAa,EACb,YAAY,EACZ,kBAAkB,EAClB,sBAAsB,EACtB,qBAAqB,GACtB,MAAM,iBAAiB,CAAC;AAEzB,YAAY,EAAE,SAAS,EAAE,eAAe,EAAE,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAElG,OAAO,EACL,WAAW,EACX,WAAW,EACX,wBAAwB,EACxB,iBAAiB,EACjB,0BAA0B,EAC1B,mBAAmB,EACnB,iBAAiB,EACjB,yBAAyB,EACzB,sBAAsB,EACtB,gBAAgB,EAChB,qBAAqB,EACrB,oBAAoB,EACpB,4BAA4B,EAC5B,oBAAoB,EACpB,yBAAyB,EACzB,qBAAqB,EACrB,oBAAoB,EACpB,WAAW,EACX,cAAc,EACd,YAAY,GACb,MAAM,kBAAkB,CAAC;AAE1B,YAAY,EACV,iBAAiB,EACjB,eAAe,EACf,gBAAgB,EAChB,iBAAiB,EACjB,cAAc,EACd,eAAe,EACf,mBAAmB,EACnB,oBAAoB,EACpB,YAAY,EACZ,mBAAmB,EACnB,oBAAoB,GACrB,MAAM,kBAAkB,CAAC;AAE1B,YAAY,EACV,QAAQ,EACR,aAAa,EACb,YAAY,EACZ,cAAc,EACd,aAAa,EACb,sBAAsB,EACtB,sBAAsB,EACtB,kBAAkB,EAClB,eAAe,EACf,WAAW,EACX,UAAU,EACV,UAAU,EACV,MAAM,EACN,IAAI,EACJ,cAAc,EACd,eAAe,EACf,YAAY,EACZ,QAAQ,EACR,cAAc,EACd,qBAAqB,EACrB,cAAc,EACd,kBAAkB,EAClB,aAAa,EACb,aAAa,EACb,YAAY,EACZ,QAAQ,EACR,UAAU,EACV,SAAS,EACT,QAAQ,EACR,YAAY,EACZ,WAAW,EACX,eAAe,EACf,YAAY,EACZ,OAAO,EACP,WAAW,EACX,eAAe,EACf,oBAAoB,EACpB,mBAAmB,EACnB,kBAAkB,EAClB,iBAAiB,EACjB,eAAe,EACf,eAAe,EACf,iBAAiB,EACjB,gBAAgB,EAChB,UAAU,EACV,UAAU,EACV,YAAY,EACZ,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,iBAAiB,EACjB,eAAe,EACf,aAAa,EACb,gBAAgB,EAChB,eAAe,EACf,iBAAiB,EACjB,WAAW,EACX,kBAAkB,EAClB,gBAAgB,EAChB,eAAe,EACf,QAAQ,EACR,iBAAiB,EACjB,iBAAiB,EACjB,sBAAsB,EACtB,oBAAoB,EACpB,kBAAkB,EAClB,cAAc,EACd,eAAe,EACf,cAAc,GACf,MAAM,qBAAqB,CAAC"}
package/dist/index.js CHANGED
@@ -4,10 +4,10 @@
4
4
  * DAG-based workflow engine for Cogitator agents
5
5
  */
6
6
  export { WorkflowBuilder } from './builder.js';
7
- export { WorkflowExecutor, NodeExecutionError } from './executor.js';
7
+ export { WorkflowExecutor, NodeExecutionError, NodeTimeoutError } from './executor.js';
8
8
  export { WorkflowScheduler } from './scheduler.js';
9
9
  export { InMemoryCheckpointStore, FileCheckpointStore, createCheckpointId } from './checkpoint.js';
10
- export { agentNode, toolNode, functionNode, customNode } from './nodes/index.js';
10
+ export { agentNode, toolNode, functionNode, customNode, timerWorkflowNode, humanWorkflowNode, mapWorkflowNode, mapReduceWorkflowNode, subworkflowWorkflowNode, parallelSubworkflowsNode, } from './nodes/index.js';
11
11
  export { WorkflowTracer, createTracer, getGlobalTracer, setGlobalTracer, WorkflowMetricsCollector, createMetricsCollector, getGlobalMetrics, setGlobalMetrics, ConsoleSpanExporter, OTLPSpanExporter, ZipkinSpanExporter, CompositeSpanExporter, NoopSpanExporter, createSpanExporter, } from './observability/index.js';
12
12
  export { executeWithRetry, withRetry, Retryable, estimateRetryDuration, CircuitBreaker, createCircuitBreaker, CircuitBreakerOpenError, WithCircuitBreaker, CompensationManager, createCompensationManager, CompensationBuilder, compensationBuilder, BaseDLQ, InMemoryDLQ, FileDLQ, createInMemoryDLQ, createFileDLQ, createDLQEntry, BaseIdempotencyStore, InMemoryIdempotencyStore, FileIdempotencyStore, createInMemoryIdempotencyStore, createFileIdempotencyStore, generateIdempotencyKey, generateCustomKey, idempotent, Idempotent, } from './saga/index.js';
13
13
  export { InMemoryTimerStore, FileTimerStore, createInMemoryTimerStore, createFileTimerStore, CRON_PRESETS, CRON_FIELDS, validateCronExpression, parseCronExpression, getNextCronOccurrence, getPreviousCronOccurrence, getNextCronOccurrences, cronMatchesDate, msUntilNextCronOccurrence, describeCronExpression, createCronIterator, isValidCronExpression, getSupportedTimezones, isValidTimezone, delayNode, dynamicDelayNode, cronWaitNode, untilNode, calculateTimerDelay, executeTimerNode, createTimerNodeHelpers, AbortError, Duration, parseDuration, formatDuration, TimerManager, createTimerManager, RecurringTimerScheduler, createRecurringScheduler, } from './timers/index.js';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,8 @@
11
11
  */
12
12
  import type { Workflow, WorkflowState, WorkflowResult, WorkflowRun, WorkflowRunFilters, WorkflowRunStats, WorkflowManager as IWorkflowManager, ScheduleOptions, WorkflowExecuteOptionsV2, RunStore, CheckpointStore } from '@cogitator-ai/types';
13
13
  import type { Cogitator } from '@cogitator-ai/core';
14
+ import { type WorkflowTracer } from '../observability/tracer.js';
15
+ import type { WorkflowMetricsCollector } from '../observability/metrics.js';
14
16
  /**
15
17
  * Workflow manager configuration
16
18
  */
@@ -19,7 +21,12 @@ export interface WorkflowManagerConfig {
19
21
  runStore?: RunStore;
20
22
  checkpointStore?: CheckpointStore;
21
23
  maxConcurrency?: number;
24
+ /** Cancel runs that take longer than this many ms (marked failed with a timeout error) */
22
25
  defaultTimeout?: number;
26
+ /** Tracer used for every run (overridden per run by `options.tracing`) */
27
+ tracer?: WorkflowTracer;
28
+ /** Metrics collector used for every run (`options.metrics.enabled: false` opts a run out) */
29
+ metrics?: WorkflowMetricsCollector;
23
30
  onRunStateChange?: (run: WorkflowRun) => void;
24
31
  }
25
32
  /**
@@ -35,6 +42,9 @@ export declare class DefaultWorkflowManager implements IWorkflowManager {
35
42
  private activeRuns;
36
43
  private stateChangeCallbacks;
37
44
  private runLocks;
45
+ private defaultTimeout?;
46
+ private tracer?;
47
+ private metrics?;
38
48
  constructor(config: WorkflowManagerConfig);
39
49
  /**
40
50
  * Start the manager (begins processing scheduled runs)
@@ -1 +1 @@
1
- {"version":3,"file":"workflow-manager.d.ts","sourceRoot":"","sources":["../../src/manager/workflow-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workflow-manager.d.ts","sourceRoot":"","sources":["../../src/manager/workflow-manager.ts"],"names":[],"mappings":"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"}
@@ -13,6 +13,7 @@ import { nanoid } from 'nanoid';
13
13
  import { WorkflowExecutor } from '../executor.js';
14
14
  import { createJobScheduler } from './scheduler.js';
15
15
  import { InMemoryRunStore } from './run-store.js';
16
+ import { createTracer } from '../observability/tracer.js';
16
17
  /**
17
18
  * Workflow manager implementation
18
19
  */
@@ -26,8 +27,14 @@ export class DefaultWorkflowManager {
26
27
  activeRuns = new Map();
27
28
  stateChangeCallbacks = new Set();
28
29
  runLocks = new Map();
30
+ defaultTimeout;
31
+ tracer;
32
+ metrics;
29
33
  constructor(config) {
30
34
  this.cogitator = config.cogitator;
35
+ this.defaultTimeout = config.defaultTimeout;
36
+ this.tracer = config.tracer;
37
+ this.metrics = config.metrics;
31
38
  this.runStore = config.runStore ?? new InMemoryRunStore();
32
39
  this.checkpointStore = config.checkpointStore;
33
40
  this.executor = new WorkflowExecutor(this.cogitator, this.checkpointStore);
@@ -94,10 +101,21 @@ export class DefaultWorkflowManager {
94
101
  const abortController = new AbortController();
95
102
  this.activeRuns.set(runId, { abort: () => abortController.abort() });
96
103
  this.scheduler.runStarted(runId);
104
+ let timedOut = false;
105
+ const timeoutHandle = this.defaultTimeout !== undefined && this.defaultTimeout > 0
106
+ ? setTimeout(() => {
107
+ timedOut = true;
108
+ abortController.abort();
109
+ }, this.defaultTimeout)
110
+ : undefined;
111
+ const runTracer = options?.tracing ? createTracer(options.tracing) : this.tracer;
112
+ const runMetrics = options?.metrics?.enabled === false ? undefined : this.metrics;
97
113
  try {
98
- const result = await this.executor.execute(workflow, input, {
114
+ const executed = await this.executor.execute(workflow, input, {
99
115
  ...options,
100
116
  signal: abortController.signal,
117
+ tracer: runTracer,
118
+ metricsCollector: runMetrics,
101
119
  onNodeStart: (node) => {
102
120
  void this.updateRunNodes(runId, node, 'start');
103
121
  options?.onNodeStart?.(node);
@@ -111,6 +129,12 @@ export class DefaultWorkflowManager {
111
129
  options?.onNodeError?.(node, error);
112
130
  },
113
131
  });
132
+ const result = timedOut
133
+ ? {
134
+ ...executed,
135
+ error: new Error(`Workflow run '${runId}' timed out after ${String(this.defaultTimeout)}ms`),
136
+ }
137
+ : executed;
114
138
  if (result.error) {
115
139
  await this.runStore.update(runId, {
116
140
  status: 'failed',
@@ -157,6 +181,13 @@ export class DefaultWorkflowManager {
157
181
  throw error;
158
182
  }
159
183
  finally {
184
+ if (timeoutHandle)
185
+ clearTimeout(timeoutHandle);
186
+ if (runTracer && runTracer !== this.tracer) {
187
+ await runTracer.flush().catch((error) => {
188
+ console.warn('[WorkflowManager] Failed to flush run traces:', error);
189
+ });
190
+ }
160
191
  this.activeRuns.delete(runId);
161
192
  this.runLocks.delete(runId);
162
193
  this.scheduler.runCompleted(runId);