@cogitator-ai/workflows 0.10.2 → 0.11.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.
@@ -0,0 +1,151 @@
1
+ import { nanoid } from 'nanoid';
2
+ import { createIfMissing, TABLE_NAME } from '../postgres-schema.js';
3
+ import { BaseDLQ } from './dead-letter.js';
4
+ /**
5
+ * Dead letter queue in Postgres, so failed nodes survive a restart and every process of an app
6
+ * sees the same queue. Entries are stored whole as JSONB, with the fields filters use in their
7
+ * own columns. Expired entries are never returned and `cleanupExpired()` deletes them.
8
+ */
9
+ export class PostgresDLQ extends BaseDLQ {
10
+ client;
11
+ table;
12
+ defaultTTL;
13
+ ready;
14
+ constructor(options) {
15
+ super();
16
+ const table = options.table ?? 'cogitator_workflow_dead_letters';
17
+ if (!TABLE_NAME.test(table))
18
+ throw new Error(`Invalid dead letter table name: ${table}`);
19
+ this.client = options.client;
20
+ this.table = table;
21
+ this.defaultTTL = options.defaultTTL ?? 7 * 24 * 60 * 60 * 1000;
22
+ }
23
+ async add(entry) {
24
+ await this.ensureTable();
25
+ const id = `dlq_${nanoid(12)}`;
26
+ const now = Date.now();
27
+ const stored = {
28
+ ...entry,
29
+ id,
30
+ createdAt: now,
31
+ expiresAt: now + this.defaultTTL,
32
+ };
33
+ await this.client.query(`INSERT INTO ${this.table} (id, workflow_id, workflow_name, node_id, attempts, created_at, expires_at, tags, data)
34
+ VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9::jsonb)`, [
35
+ id,
36
+ stored.workflowId,
37
+ stored.workflowName,
38
+ stored.nodeId,
39
+ stored.attempts,
40
+ stored.createdAt,
41
+ stored.expiresAt,
42
+ stored.tags ?? [],
43
+ JSON.stringify(stored),
44
+ ]);
45
+ return id;
46
+ }
47
+ async get(id) {
48
+ await this.ensureTable();
49
+ const { rows } = await this.client.query(`SELECT data FROM ${this.table} WHERE id = $1 AND (expires_at IS NULL OR expires_at > $2)`, [id, Date.now()]);
50
+ return rows[0] ? rows[0].data : null;
51
+ }
52
+ async list(filters = {}) {
53
+ await this.ensureTable();
54
+ const { where, values } = this.where(filters);
55
+ let sql = `SELECT data FROM ${this.table} ${where} ORDER BY created_at DESC, id`;
56
+ if (filters.limit !== undefined) {
57
+ values.push(filters.limit);
58
+ sql += ` LIMIT $${values.length}`;
59
+ }
60
+ if (filters.offset !== undefined) {
61
+ values.push(filters.offset);
62
+ sql += ` OFFSET $${values.length}`;
63
+ }
64
+ const { rows } = await this.client.query(sql, values);
65
+ return rows.map((row) => row.data);
66
+ }
67
+ /**
68
+ * Records a retry attempt: `attempts` goes up by one and `lastAttempt` is now. Running the node
69
+ * again is `WorkflowManager.retryDeadLetter`'s job, which calls this.
70
+ */
71
+ async retry(id) {
72
+ await this.ensureTable();
73
+ const now = Date.now();
74
+ const { rows } = await this.client.query(`UPDATE ${this.table}
75
+ SET attempts = attempts + 1,
76
+ data = jsonb_set(jsonb_set(data, '{attempts}', to_jsonb(attempts + 1)), '{lastAttempt}', to_jsonb($2::bigint))
77
+ WHERE id = $1 AND (expires_at IS NULL OR expires_at > $2)
78
+ RETURNING id`, [id, now]);
79
+ return rows.length > 0;
80
+ }
81
+ async remove(id) {
82
+ await this.ensureTable();
83
+ const { rows } = await this.client.query(`DELETE FROM ${this.table} WHERE id = $1 RETURNING id`, [id]);
84
+ return rows.length > 0;
85
+ }
86
+ async count(filters = {}) {
87
+ await this.ensureTable();
88
+ const { where, values } = this.where(filters);
89
+ const { rows } = await this.client.query(`SELECT count(*)::int AS n FROM ${this.table} ${where}`, values);
90
+ return Number(rows[0]?.n ?? 0);
91
+ }
92
+ async clear() {
93
+ await this.ensureTable();
94
+ await this.client.query(`DELETE FROM ${this.table}`);
95
+ }
96
+ /** Deletes expired entries and says how many went. */
97
+ async cleanupExpired() {
98
+ await this.ensureTable();
99
+ const { rows } = await this.client.query(`DELETE FROM ${this.table} WHERE expires_at IS NOT NULL AND expires_at <= $1 RETURNING id`, [Date.now()]);
100
+ return rows.length;
101
+ }
102
+ where(filters) {
103
+ const values = [Date.now()];
104
+ const clauses = ['(expires_at IS NULL OR expires_at > $1)'];
105
+ const add = (sql, value) => {
106
+ values.push(value);
107
+ clauses.push(sql(values.length));
108
+ };
109
+ if (filters.workflowId !== undefined)
110
+ add((n) => `workflow_id = $${n}`, filters.workflowId);
111
+ if (filters.workflowName !== undefined)
112
+ add((n) => `workflow_name = $${n}`, filters.workflowName);
113
+ if (filters.nodeId !== undefined)
114
+ add((n) => `node_id = $${n}`, filters.nodeId);
115
+ if (filters.minAttempts !== undefined)
116
+ add((n) => `attempts >= $${n}`, filters.minAttempts);
117
+ if (filters.maxAttempts !== undefined)
118
+ add((n) => `attempts <= $${n}`, filters.maxAttempts);
119
+ if (filters.createdAfter !== undefined)
120
+ add((n) => `created_at >= $${n}`, filters.createdAfter);
121
+ if (filters.createdBefore !== undefined)
122
+ add((n) => `created_at <= $${n}`, filters.createdBefore);
123
+ if (filters.tags !== undefined && filters.tags.length > 0)
124
+ add((n) => `tags @> $${n}::text[]`, filters.tags);
125
+ return { where: `WHERE ${clauses.join(' AND ')}`, values };
126
+ }
127
+ ensureTable() {
128
+ this.ready ??= this.createTable().catch((error) => {
129
+ this.ready = undefined;
130
+ throw error;
131
+ });
132
+ return this.ready;
133
+ }
134
+ async createTable() {
135
+ const base = this.table.replace('.', '_');
136
+ await createIfMissing(this.client, `CREATE TABLE IF NOT EXISTS ${this.table} (
137
+ id TEXT PRIMARY KEY,
138
+ workflow_id TEXT NOT NULL,
139
+ workflow_name TEXT NOT NULL,
140
+ node_id TEXT NOT NULL,
141
+ attempts INTEGER NOT NULL,
142
+ created_at BIGINT NOT NULL,
143
+ expires_at BIGINT,
144
+ tags TEXT[] NOT NULL,
145
+ data JSONB NOT NULL
146
+ )`);
147
+ await createIfMissing(this.client, `CREATE INDEX IF NOT EXISTS ${base}_workflow_idx ON ${this.table} (workflow_id, created_at DESC)`);
148
+ await createIfMissing(this.client, `CREATE INDEX IF NOT EXISTS ${base}_created_idx ON ${this.table} (created_at DESC)`);
149
+ }
150
+ }
151
+ //# sourceMappingURL=postgres-dlq.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"postgres-dlq.js","sourceRoot":"","sources":["../../src/saga/postgres-dlq.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 delay = calculateTimerDelay(config, state);
93
- const firesAt = now + delay;
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 (config.persist && context.timerStore) {
96
- timerId = await context.timerStore.schedule({
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: { nodeType: config.type, delay },
122
+ metadata: {
123
+ nodeType: config.type,
124
+ delay,
125
+ ...(interrupted && { resumedFrom: interrupted.id }),
126
+ },
103
127
  });
104
- const entry = await context.timerStore.get(timerId);
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
- cancelled = true;
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
- if (!cancelled && config.persist && context.timerStore && timerId) {
140
- await context.timerStore.markFired(timerId);
141
- const entry = await context.timerStore.get(timerId);
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
- config.onFired?.(entry);
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":"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"}
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;AAyF7E;;GAEG;AACH,MAAM,UAAU,SAAS,CACvB,IAAY,EACZ,KAAa,EACb,UAA6D,EAAE;IAE/D,OAAO;QACL,IAAI;QACJ,IAAI,EAAE,OAAO;QACb,KAAK;QACL,GAAG,OAAO;KACX,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAC9B,IAAY,EACZ,QAA8B,EAC9B,UAAqE,EAAE;IAEvE,OAAO;QACL,IAAI;QACJ,IAAI,EAAE,SAAS;QACf,QAAQ;QACR,GAAG,OAAO;KACX,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY,CAC1B,IAAY,EACZ,UAAkB,EAClB,UAAgE,EAAE;IAElE,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,EAAE,CAAC;QACvC,MAAM,IAAI,KAAK,CAAC,4BAA4B,UAAU,EAAE,CAAC,CAAC;IAC5D,CAAC;IAED,OAAO;QACL,IAAI;QACJ,IAAI,EAAE,MAAM;QACZ,UAAU;QACV,GAAG,OAAO;KACX,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,SAAS,CACvB,IAAY,EACZ,OAAoC,EACpC,UAAiE,EAAE;IAEnE,OAAO;QACL,IAAI;QACJ,IAAI,EAAE,OAAO;QACb,OAAO;QACP,GAAG,OAAO;KACX,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAI,MAA6B,EAAE,KAAQ;IAC5E,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAEvB,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;QACpB,KAAK,OAAO;YACV,OAAO,MAAM,CAAC,KAAK,CAAC;QAEtB,KAAK,SAAS;YACZ,OAAO,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAEhC,KAAK,MAAM,CAAC,CAAC,CAAC;YACZ,MAAM,IAAI,GAAG,qBAAqB,CAAC,MAAM,CAAC,UAAU,EAAE;gBACpD,WAAW,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC;gBACtE,QAAQ,EAAE,MAAM,CAAC,QAAQ;aAC1B,CAAC,CAAC;YACH,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,GAAG,GAAG,CAAC,CAAC;QAC3C,CAAC;QAED,KAAK,OAAO,CAAC,CAAC,CAAC;YACb,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YACrC,MAAM,UAAU,GAAG,MAAM,YAAY,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;YACtE,MAAM,KAAK,GAAG,UAAU,GAAG,GAAG,CAAC;YAE/B,IAAI,KAAK,GAAG,CAAC,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;gBACnC,OAAO,CAAC,CAAC;YACX,CAAC;YAED,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,WAAW,GAAG,aAAa,CAAC;AAElC;;GAEG;AACH,MAAM,UAAU,GAAG,WAAW,CAAC;AAE/B;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,MAA6B,EAC7B,KAAQ,EACR,OAA8B;IAE9B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACvB,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;IAC9D,MAAM,WAAW,GAAG,KAAK,CAAC,CAAC,CAAC,MAAM,oBAAoB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACnF,MAAM,OAAO,GAAG,WAAW,EAAE,OAAO,IAAI,GAAG,GAAG,mBAAmB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACjF,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,GAAG,GAAG,CAAC,CAAC;IAEzC,IAAI,OAAe,CAAC;IAEpB,IAAI,KAAK,EAAE,CAAC;QACV,OAAO,GAAG,MAAM,KAAK,CAAC,QAAQ,CAAC;YAC7B,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,OAAO;YACP,IAAI,EAAE,MAAM,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI;YACrD,QAAQ,EAAE;gBACR,QAAQ,EAAE,MAAM,CAAC,IAAI;gBACrB,KAAK;gBACL,GAAG,CAAC,WAAW,IAAI,EAAE,WAAW,EAAE,WAAW,CAAC,EAAE,EAAE,CAAC;aACpD;SACF,CAAC,CAAC;QAEH,IAAI,WAAW,EAAE,CAAC;YAChB,MAAM,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,EAAE;gBACjC,QAAQ,EAAE,EAAE,GAAG,WAAW,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,EAAE,OAAO,EAAE;aAC7D,CAAC,CAAC;QACL,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACvC,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC;YAC5B,IAAI,CAAC;gBACH,OAAO,CAAC,gBAAgB,EAAE,CAAC,KAAK,CAAC,CAAC;YACpC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,IAAI,CAAC,kDAAkD,KAAK,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;YACtF,CAAC;QACH,CAAC;IACH,CAAC;SAAM,CAAC;QACN,OAAO,GAAG,SAAS,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IACzE,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAE7B,IAAI,CAAC;QACH,MAAM,aAAa,CAAC,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IAC7C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,UAAU,IAAI,KAAK,EAAE,CAAC;YACzC,MAAM,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QAC/C,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;IACtC,IAAI,SAAS,GAAG,KAAK,CAAC;IAEtB,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAC/B,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACvC,SAAS,GAAG,KAAK,EAAE,SAAS,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;QACtD,IAAI,KAAK,EAAE,CAAC;YACV,IAAI,SAAS;gBAAE,MAAM,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC;;gBACtC,MAAM,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;IAED,OAAO;QACL,OAAO;QACP,WAAW,EAAE,GAAG;QAChB,OAAO;QACP,MAAM;QACN,SAAS;KACV,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,oBAAoB,CACjC,KAAiB,EACjB,OAA8B;IAE9B,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACpD,OAAO,OAAO;SACX,MAAM,CACL,CAAC,KAAK,EAAE,EAAE,CACR,KAAK,CAAC,UAAU,KAAK,OAAO,CAAC,UAAU;QACvC,KAAK,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM;QAC/B,CAAC,KAAK,CAAC,KAAK;QACZ,KAAK,CAAC,QAAQ,EAAE,CAAC,WAAW,CAAC,KAAK,IAAI;QACtC,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,SAAS,CAC3C;SACA,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;AAClD,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,cAAc,CAC3B,KAAiB,EACjB,OAAe,EACf,MAA6B;IAE7B,MAAM,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC5B,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACvC,IAAI,CAAC,KAAK;QAAE,OAAO;IACnB,MAAM,QAAQ,GAAG,EAAE,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,CAAC;IAC5D,MAAM,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC1C,MAAM,CAAC,WAAW,EAAE,CAAC,EAAE,GAAG,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;AAC/C,CAAC;AAED;;GAEG;AACH,MAAM,OAAO,UAAW,SAAQ,KAAK;IACnC,YAAY,OAAO,GAAG,eAAe;QACnC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC;IAC3B,CAAC;CACF;AAED;;GAEG;AACH,SAAS,aAAa,CAAC,KAAa,EAAE,MAAoB;IACxD,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;QACf,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAED,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,IAAI,MAAM,EAAE,OAAO,EAAE,CAAC;YACpB,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC,CAAC;YACzB,OAAO;QACT,CAAC;QAED,MAAM,OAAO,GAAG,GAAG,EAAE;YACnB,YAAY,CAAC,OAAO,CAAC,CAAC;YACtB,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC,CAAC;QAC3B,CAAC,CAAC;QAEF,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;YAC9B,MAAM,EAAE,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAC9C,OAAO,EAAE,CAAC;QACZ,CAAC,EAAE,KAAK,CAAC,CAAC;QACV,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;QAElB,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7D,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,sBAAsB,CAAC,UAAsB;IAC3D,OAAO;QACL,SAAS,EAAE,CACT,IAAY,EACZ,KAAa,EACb,UAA6D,EAAE,EAC/D,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAE1D,gBAAgB,EAAE,CAChB,IAAY,EACZ,QAA8B,EAC9B,UAAqE,EAAE,EACvE,EAAE,CAAC,gBAAgB,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAEpE,YAAY,EAAE,CACZ,IAAY,EACZ,UAAkB,EAClB,UAAgE,EAAE,EAClE,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,UAAU,EAAE,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAElE,SAAS,EAAE,CACT,IAAY,EACZ,OAAoC,EACpC,UAAiE,EAAE,EACnE,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAE5D,gBAAgB,EAAE,CAChB,MAA6B,EAC7B,KAAQ,EACR,OAAkD,EAClD,EAAE,CAAC,gBAAgB,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,GAAG,OAAO,EAAE,UAAU,EAAE,CAAC;KACjE,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,YAAY,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC;IAC9B,OAAO,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,GAAG,IAAI;IAChC,OAAO,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,GAAG,IAAI;IACrC,KAAK,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI;IACxC,IAAI,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI;IAC5C,KAAK,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI;CACzC,CAAC;AAEX;;;GAGG;AACH,MAAM,UAAU,aAAa,CAAC,QAAgB;IAC5C,MAAM,KAAK,GAAG,qCAAqC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACnE,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,4BAA4B,QAAQ,EAAE,CAAC,CAAC;IAC1D,CAAC;IAED,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACnC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IAEpC,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,IAAI;YACP,OAAO,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QACtC,KAAK,GAAG;YACN,OAAO,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACjC,KAAK,GAAG;YACN,OAAO,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACjC,KAAK,GAAG;YACN,OAAO,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC/B,KAAK,GAAG;YACN,OAAO,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC9B,KAAK,GAAG;YACN,OAAO,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC/B;YACE,MAAM,IAAI,KAAK,CAAC,0BAA0B,IAAI,EAAE,CAAC,CAAC;IACtD,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,EAAU;IACvC,IAAI,EAAE,GAAG,IAAI,EAAE,CAAC;QACd,OAAO,GAAG,EAAE,IAAI,CAAC;IACnB,CAAC;IAED,IAAI,EAAE,GAAG,KAAK,EAAE,CAAC;QACf,OAAO,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;IACtC,CAAC;IAED,IAAI,EAAE,GAAG,OAAO,EAAE,CAAC;QACjB,OAAO,GAAG,CAAC,EAAE,GAAG,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;IACvC,CAAC;IAED,IAAI,EAAE,GAAG,QAAQ,EAAE,CAAC;QAClB,OAAO,GAAG,CAAC,EAAE,GAAG,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;IACzC,CAAC;IAED,OAAO,GAAG,CAAC,EAAE,GAAG,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;AAC1C,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cogitator-ai/workflows",
3
- "version": "0.10.2",
3
+ "version": "0.11.0",
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.26.2",
22
- "@cogitator-ai/types": "0.29.0",
21
+ "@cogitator-ai/core": "0.28.0",
22
+ "@cogitator-ai/types": "0.31.0",
23
23
  "cron-parser": "^5.10.1",
24
24
  "nanoid": "^6.0.1"
25
25
  },