@cogitator-ai/workflows 0.10.2 → 0.10.3
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 +1 -1
- package/dist/nodes/adapters.d.ts +3 -1
- package/dist/nodes/adapters.d.ts.map +1 -1
- package/dist/nodes/adapters.js +3 -1
- package/dist/nodes/adapters.js.map +1 -1
- package/dist/timers/timer-node.d.ts +14 -0
- package/dist/timers/timer-node.d.ts.map +1 -1
- package/dist/timers/timer-node.js +73 -23
- package/dist/timers/timer-node.js.map +1 -1
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -329,7 +329,7 @@ builder
|
|
|
329
329
|
formatDuration(90_000); // '1.5m'
|
|
330
330
|
```
|
|
331
331
|
|
|
332
|
-
|
|
332
|
+
Aborting the run (`signal`, a manager's `pause()` or `cancel()`) stops the wait and fails the node with an `AbortError`, so the node is not checkpointed as completed and a resumed run waits again. Pass `{ timerStore }` to `timerWorkflowNode` together with `persist: true` configs (or use `createTimerNodeHelpers(store)`) to persist timers: an interrupted persisted timer is cancelled in its store, and on resume the node waits only until the original `firesAt`, so a pause never shortens or extends the wait. A persisted timer cancelled through its store while the node waits (`TimerManager.cancel`) is not marked fired: the node reports `cancelled: true` and `onCancelled` when the wait ends. `createTimerManager(store)` and `createRecurringScheduler(manager)` process persisted and recurring timers. Cron helpers: `validateCronExpression`, `getNextCronOccurrence(s)`, `describeCronExpression`, `CRON_PRESETS`.
|
|
333
333
|
|
|
334
334
|
---
|
|
335
335
|
|
package/dist/nodes/adapters.d.ts
CHANGED
|
@@ -15,7 +15,9 @@ export interface TimerWorkflowNodeOptions<S> {
|
|
|
15
15
|
}
|
|
16
16
|
/**
|
|
17
17
|
* Wait according to a timer config (`delayNode`, `dynamicDelayNode`, `cronWaitNode`,
|
|
18
|
-
* `untilNode`).
|
|
18
|
+
* `untilNode`). Aborting the run (a pause or cancel) stops the wait and fails the node, so
|
|
19
|
+
* it is not checkpointed as completed. A resumed run waits again, a persisted timer only
|
|
20
|
+
* until its original `firesAt`.
|
|
19
21
|
*/
|
|
20
22
|
export declare function timerWorkflowNode<S extends WorkflowState>(config: AnyTimerNodeConfig<S>, options?: TimerWorkflowNodeOptions<S>): WorkflowNode<S>;
|
|
21
23
|
export interface HumanWorkflowNodeOptions<S extends WorkflowState> {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapters.d.ts","sourceRoot":"","sources":["../../src/nodes/adapters.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EACV,gBAAgB,EAChB,aAAa,EACb,eAAe,EACf,eAAe,EAGf,UAAU,EACV,YAAY,EACZ,aAAa,EACd,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAEL,KAAK,kBAAkB,EACvB,KAAK,eAAe,EACrB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAoB,KAAK,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC7E,OAAO,EAGL,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,mBAAmB,EACxB,KAAK,eAAe,EACrB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAEL,KAAK,iBAAiB,EAGvB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAEL,KAAK,0BAA0B,EAEhC,MAAM,uCAAuC,CAAC;AAM/C,MAAM,WAAW,wBAAwB,CAAC,CAAC;IACzC,kFAAkF;IAClF,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,eAAe,EAAE,KAAK,EAAE,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;CACjE;AAED
|
|
1
|
+
{"version":3,"file":"adapters.d.ts","sourceRoot":"","sources":["../../src/nodes/adapters.ts"],"names":[],"mappings":"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"}
|
package/dist/nodes/adapters.js
CHANGED
|
@@ -12,7 +12,9 @@ function extended(ctx) {
|
|
|
12
12
|
}
|
|
13
13
|
/**
|
|
14
14
|
* Wait according to a timer config (`delayNode`, `dynamicDelayNode`, `cronWaitNode`,
|
|
15
|
-
* `untilNode`).
|
|
15
|
+
* `untilNode`). Aborting the run (a pause or cancel) stops the wait and fails the node, so
|
|
16
|
+
* it is not checkpointed as completed. A resumed run waits again, a persisted timer only
|
|
17
|
+
* until its original `firesAt`.
|
|
16
18
|
*/
|
|
17
19
|
export function timerWorkflowNode(config, options = {}) {
|
|
18
20
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapters.js","sourceRoot":"","sources":["../../src/nodes/adapters.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAcH,OAAO,EACL,gBAAgB,GAGjB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,gBAAgB,EAAwB,MAAM,qBAAqB,CAAC;AAC7E,OAAO,EACL,UAAU,EACV,gBAAgB,GAKjB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,kBAAkB,GAInB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EACL,2BAA2B,GAG5B,MAAM,uCAAuC,CAAC;AAE/C,SAAS,QAAQ,CAAI,GAAmB;IACtC,OAAO,GAAsC,CAAC;AAChD,CAAC;AAQD
|
|
1
|
+
{"version":3,"file":"adapters.js","sourceRoot":"","sources":["../../src/nodes/adapters.ts"],"names":[],"mappings":"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"}
|
|
@@ -67,6 +67,10 @@ export interface TimerNodeResult {
|
|
|
67
67
|
scheduledAt: number;
|
|
68
68
|
firesAt: number;
|
|
69
69
|
waited: number;
|
|
70
|
+
/**
|
|
71
|
+
* The persisted timer was cancelled through its store (for example `TimerManager.cancel`)
|
|
72
|
+
* before the wait ended. An abort of the run does not resolve, it rejects with `AbortError`
|
|
73
|
+
*/
|
|
70
74
|
cancelled: boolean;
|
|
71
75
|
}
|
|
72
76
|
/**
|
|
@@ -77,6 +81,7 @@ export interface TimerExecutionContext {
|
|
|
77
81
|
runId: string;
|
|
78
82
|
nodeId: string;
|
|
79
83
|
timerStore?: TimerStore;
|
|
84
|
+
/** Abort signal of the run; aborting it stops the wait and rejects with `AbortError` */
|
|
80
85
|
signal?: AbortSignal;
|
|
81
86
|
/** Called with the stored entry once a persisted timer is scheduled */
|
|
82
87
|
onTimerScheduled?: (entry: TimerEntry) => void;
|
|
@@ -103,6 +108,15 @@ export declare function untilNode<S>(name: string, getDate: (state: S) => Date |
|
|
|
103
108
|
export declare function calculateTimerDelay<S>(config: AnyTimerNodeConfig<S>, state: S): number;
|
|
104
109
|
/**
|
|
105
110
|
* Execute a timer node
|
|
111
|
+
*
|
|
112
|
+
* Aborting `context.signal` stops the wait and rejects with {@link AbortError}, so a run
|
|
113
|
+
* paused or cancelled mid-wait does not record the node as completed. A persisted timer is
|
|
114
|
+
* cancelled in its store and marked as interrupted, and the next execution of the node in
|
|
115
|
+
* the same run (a resumed run) waits only until the interrupted timer's `firesAt`.
|
|
116
|
+
*
|
|
117
|
+
* A persisted timer cancelled through its store while the node waits (for example with
|
|
118
|
+
* `TimerManager.cancel`) resolves with `cancelled: true` once the wait ends, and reports
|
|
119
|
+
* `onCancelled` instead of `onFired`.
|
|
106
120
|
*/
|
|
107
121
|
export declare function executeTimerNode<S>(config: AnyTimerNodeConfig<S>, state: S, context: TimerExecutionContext): Promise<TimerNodeResult>;
|
|
108
122
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"timer-node.d.ts","sourceRoot":"","sources":["../../src/timers/timer-node.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"timer-node.d.ts","sourceRoot":"","sources":["../../src/timers/timer-node.ts"],"names":[],"mappings":"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"}
|
|
@@ -84,24 +84,53 @@ export function calculateTimerDelay(config, state) {
|
|
|
84
84
|
}
|
|
85
85
|
}
|
|
86
86
|
}
|
|
87
|
+
/**
|
|
88
|
+
* Metadata key set on a persisted timer whose wait was interrupted by an abort of the run.
|
|
89
|
+
* The next execution of the same node in the same run waits until its `firesAt`.
|
|
90
|
+
*/
|
|
91
|
+
const INTERRUPTED = 'interrupted';
|
|
92
|
+
/**
|
|
93
|
+
* Metadata key pointing from an interrupted timer to the timer that took over its wait.
|
|
94
|
+
*/
|
|
95
|
+
const RESUMED_BY = 'resumedBy';
|
|
87
96
|
/**
|
|
88
97
|
* Execute a timer node
|
|
98
|
+
*
|
|
99
|
+
* Aborting `context.signal` stops the wait and rejects with {@link AbortError}, so a run
|
|
100
|
+
* paused or cancelled mid-wait does not record the node as completed. A persisted timer is
|
|
101
|
+
* cancelled in its store and marked as interrupted, and the next execution of the node in
|
|
102
|
+
* the same run (a resumed run) waits only until the interrupted timer's `firesAt`.
|
|
103
|
+
*
|
|
104
|
+
* A persisted timer cancelled through its store while the node waits (for example with
|
|
105
|
+
* `TimerManager.cancel`) resolves with `cancelled: true` once the wait ends, and reports
|
|
106
|
+
* `onCancelled` instead of `onFired`.
|
|
89
107
|
*/
|
|
90
108
|
export async function executeTimerNode(config, state, context) {
|
|
91
109
|
const now = Date.now();
|
|
92
|
-
const
|
|
93
|
-
const
|
|
110
|
+
const store = config.persist ? context.timerStore : undefined;
|
|
111
|
+
const interrupted = store ? await findInterruptedTimer(store, context) : undefined;
|
|
112
|
+
const firesAt = interrupted?.firesAt ?? now + calculateTimerDelay(config, state);
|
|
113
|
+
const delay = Math.max(0, firesAt - now);
|
|
94
114
|
let timerId;
|
|
95
|
-
if (
|
|
96
|
-
timerId = await
|
|
115
|
+
if (store) {
|
|
116
|
+
timerId = await store.schedule({
|
|
97
117
|
workflowId: context.workflowId,
|
|
98
118
|
runId: context.runId,
|
|
99
119
|
nodeId: context.nodeId,
|
|
100
120
|
firesAt,
|
|
101
121
|
type: config.type === 'until' ? 'fixed' : config.type,
|
|
102
|
-
metadata: {
|
|
122
|
+
metadata: {
|
|
123
|
+
nodeType: config.type,
|
|
124
|
+
delay,
|
|
125
|
+
...(interrupted && { resumedFrom: interrupted.id }),
|
|
126
|
+
},
|
|
103
127
|
});
|
|
104
|
-
|
|
128
|
+
if (interrupted) {
|
|
129
|
+
await store.update(interrupted.id, {
|
|
130
|
+
metadata: { ...interrupted.metadata, [RESUMED_BY]: timerId },
|
|
131
|
+
});
|
|
132
|
+
}
|
|
133
|
+
const entry = await store.get(timerId);
|
|
105
134
|
if (entry) {
|
|
106
135
|
config.onScheduled?.(entry);
|
|
107
136
|
try {
|
|
@@ -116,31 +145,26 @@ export async function executeTimerNode(config, state, context) {
|
|
|
116
145
|
timerId = `timer_${Date.now()}_${Math.random().toString(36).slice(2)}`;
|
|
117
146
|
}
|
|
118
147
|
const startWait = Date.now();
|
|
119
|
-
let cancelled = false;
|
|
120
148
|
try {
|
|
121
149
|
await waitWithAbort(delay, context.signal);
|
|
122
150
|
}
|
|
123
151
|
catch (error) {
|
|
124
|
-
if (error instanceof AbortError) {
|
|
125
|
-
|
|
126
|
-
if (config.persist && context.timerStore && timerId) {
|
|
127
|
-
await context.timerStore.cancel(timerId);
|
|
128
|
-
const entry = await context.timerStore.get(timerId);
|
|
129
|
-
if (entry) {
|
|
130
|
-
config.onCancelled?.(entry);
|
|
131
|
-
}
|
|
132
|
-
}
|
|
133
|
-
}
|
|
134
|
-
else {
|
|
135
|
-
throw error;
|
|
152
|
+
if (error instanceof AbortError && store) {
|
|
153
|
+
await interruptTimer(store, timerId, config);
|
|
136
154
|
}
|
|
155
|
+
throw error;
|
|
137
156
|
}
|
|
138
157
|
const waited = Date.now() - startWait;
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
158
|
+
let cancelled = false;
|
|
159
|
+
if (store) {
|
|
160
|
+
await store.markFired(timerId);
|
|
161
|
+
const entry = await store.get(timerId);
|
|
162
|
+
cancelled = entry?.cancelled === true && !entry.fired;
|
|
142
163
|
if (entry) {
|
|
143
|
-
|
|
164
|
+
if (cancelled)
|
|
165
|
+
config.onCancelled?.(entry);
|
|
166
|
+
else
|
|
167
|
+
config.onFired?.(entry);
|
|
144
168
|
}
|
|
145
169
|
}
|
|
146
170
|
return {
|
|
@@ -151,6 +175,32 @@ export async function executeTimerNode(config, state, context) {
|
|
|
151
175
|
cancelled,
|
|
152
176
|
};
|
|
153
177
|
}
|
|
178
|
+
/**
|
|
179
|
+
* The latest persisted timer of this node and run whose wait an abort interrupted and no
|
|
180
|
+
* later execution has taken over yet
|
|
181
|
+
*/
|
|
182
|
+
async function findInterruptedTimer(store, context) {
|
|
183
|
+
const entries = await store.getByRun(context.runId);
|
|
184
|
+
return entries
|
|
185
|
+
.filter((entry) => entry.workflowId === context.workflowId &&
|
|
186
|
+
entry.nodeId === context.nodeId &&
|
|
187
|
+
!entry.fired &&
|
|
188
|
+
entry.metadata?.[INTERRUPTED] === true &&
|
|
189
|
+
entry.metadata[RESUMED_BY] === undefined)
|
|
190
|
+
.sort((a, b) => b.createdAt - a.createdAt)[0];
|
|
191
|
+
}
|
|
192
|
+
/**
|
|
193
|
+
* Cancel a persisted timer whose wait was aborted and mark it as interrupted
|
|
194
|
+
*/
|
|
195
|
+
async function interruptTimer(store, timerId, config) {
|
|
196
|
+
await store.cancel(timerId);
|
|
197
|
+
const entry = await store.get(timerId);
|
|
198
|
+
if (!entry)
|
|
199
|
+
return;
|
|
200
|
+
const metadata = { ...entry.metadata, [INTERRUPTED]: true };
|
|
201
|
+
await store.update(timerId, { metadata });
|
|
202
|
+
config.onCancelled?.({ ...entry, metadata });
|
|
203
|
+
}
|
|
154
204
|
/**
|
|
155
205
|
* Abort error for timer cancellation
|
|
156
206
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"timer-node.js","sourceRoot":"","sources":["../../src/timers/timer-node.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"timer-node.js","sourceRoot":"","sources":["../../src/timers/timer-node.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cogitator-ai/workflows",
|
|
3
|
-
"version": "0.10.
|
|
3
|
+
"version": "0.10.3",
|
|
4
4
|
"description": "DAG-based workflow engine for Cogitator agents",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -18,8 +18,8 @@
|
|
|
18
18
|
"node": ">=22.12.0"
|
|
19
19
|
},
|
|
20
20
|
"dependencies": {
|
|
21
|
-
"@cogitator-ai/core": "0.
|
|
22
|
-
"@cogitator-ai/types": "0.
|
|
21
|
+
"@cogitator-ai/core": "0.27.0",
|
|
22
|
+
"@cogitator-ai/types": "0.30.0",
|
|
23
23
|
"cron-parser": "^5.10.1",
|
|
24
24
|
"nanoid": "^6.0.1"
|
|
25
25
|
},
|