@cogitator-ai/worker 0.9.24 → 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.
- package/README.md +76 -22
- package/dist/connection.d.ts +1 -17
- package/dist/connection.d.ts.map +1 -1
- package/dist/connection.js +2 -47
- package/dist/connection.js.map +1 -1
- package/dist/distributed-swarm-worker.d.ts +73 -14
- package/dist/distributed-swarm-worker.d.ts.map +1 -1
- package/dist/distributed-swarm-worker.js +181 -31
- package/dist/distributed-swarm-worker.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/metrics.d.ts +14 -0
- package/dist/metrics.d.ts.map +1 -1
- package/dist/metrics.js +18 -1
- package/dist/metrics.js.map +1 -1
- package/dist/processors/swarm-agent.d.ts +6 -5
- package/dist/processors/swarm-agent.d.ts.map +1 -1
- package/dist/processors/swarm-agent.js +6 -2
- package/dist/processors/swarm-agent.js.map +1 -1
- package/dist/processors/swarm.d.ts.map +1 -1
- package/dist/processors/swarm.js +10 -0
- package/dist/processors/swarm.js.map +1 -1
- package/dist/processors/workflow.d.ts +20 -7
- package/dist/processors/workflow.d.ts.map +1 -1
- package/dist/processors/workflow.js +238 -119
- package/dist/processors/workflow.js.map +1 -1
- package/dist/queue.d.ts +30 -2
- package/dist/queue.d.ts.map +1 -1
- package/dist/queue.js +94 -33
- package/dist/queue.js.map +1 -1
- package/dist/types.d.ts +44 -18
- package/dist/types.d.ts.map +1 -1
- package/dist/worker.d.ts +12 -0
- package/dist/worker.d.ts.map +1 -1
- package/dist/worker.js +59 -3
- package/dist/worker.js.map +1 -1
- package/package.json +6 -5
package/dist/queue.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queue.d.ts","sourceRoot":"","sources":["../src/queue.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,KAAK,EAAE,KAAK,GAAG,EAAE,MAAM,QAAQ,CAAC;AAEzC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,KAAK,EACV,QAAQ,EACR,WAAW,EACX,YAAY,EACZ,UAAU,EACV,eAAe,EACf,cAAc,EACd,kBAAkB,EAClB,eAAe,EACf,oBAAoB,EACpB,eAAe,EACf,kBAAkB,EAClB,eAAe,EAChB,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"queue.d.ts","sourceRoot":"","sources":["../src/queue.ts"],"names":[],"mappings":"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"}
|
package/dist/queue.js
CHANGED
|
@@ -10,6 +10,55 @@
|
|
|
10
10
|
import { Queue } from 'bullmq';
|
|
11
11
|
import { nanoid } from 'nanoid';
|
|
12
12
|
import { DEFAULT_QUEUE_NAME, createBullConnection, queuePrefix, } from './connection.js';
|
|
13
|
+
/**
|
|
14
|
+
* Names BullMQ keeps next to the jobs of a queue, under the same prefix: a job under one of them
|
|
15
|
+
* would overwrite a key of the queue itself
|
|
16
|
+
*/
|
|
17
|
+
const QUEUE_KEYS = new Set([
|
|
18
|
+
'active',
|
|
19
|
+
'wait',
|
|
20
|
+
'waiting-children',
|
|
21
|
+
'paused',
|
|
22
|
+
'id',
|
|
23
|
+
'delayed',
|
|
24
|
+
'prioritized',
|
|
25
|
+
'stalled-check',
|
|
26
|
+
'completed',
|
|
27
|
+
'failed',
|
|
28
|
+
'stalled',
|
|
29
|
+
'repeat',
|
|
30
|
+
'limiter',
|
|
31
|
+
'meta',
|
|
32
|
+
'events',
|
|
33
|
+
'pc',
|
|
34
|
+
'marker',
|
|
35
|
+
'de',
|
|
36
|
+
]);
|
|
37
|
+
/**
|
|
38
|
+
* The id a producer gave a job, once checked: BullMQ builds Redis keys from it, so it must be a
|
|
39
|
+
* non-empty string without ':', not an integer and not a name of the queue's own keys
|
|
40
|
+
*/
|
|
41
|
+
function checkJobId(jobId) {
|
|
42
|
+
if (jobId === '' || jobId.includes(':')) {
|
|
43
|
+
throw new Error(`A job id must be a non-empty string without ':', got '${jobId}'`);
|
|
44
|
+
}
|
|
45
|
+
if (`${Number.parseInt(jobId, 10)}` === jobId) {
|
|
46
|
+
throw new Error(`A job id must not be an integer, got '${jobId}'`);
|
|
47
|
+
}
|
|
48
|
+
if (QUEUE_KEYS.has(jobId)) {
|
|
49
|
+
throw new Error(`A job id must not be '${jobId}', a key the queue keeps for itself`);
|
|
50
|
+
}
|
|
51
|
+
return jobId;
|
|
52
|
+
}
|
|
53
|
+
const isResume = (payload) => payload.type === 'agent' && payload.resume !== undefined;
|
|
54
|
+
const describe = (payload) => isResume(payload)
|
|
55
|
+
? 'a resumed agent job'
|
|
56
|
+
: `${payload.type === 'agent' ? 'an' : 'a'} ${payload.type} job`;
|
|
57
|
+
/**
|
|
58
|
+
* A queue of agent, workflow and swarm jobs. Each `add*Job` takes a `jobId`: the job is added
|
|
59
|
+
* under it, and adding a job whose id the queue holds already gives the job it holds back instead
|
|
60
|
+
* of adding a second one, so producers can retry an add without running the work twice.
|
|
61
|
+
*/
|
|
13
62
|
export class JobQueue {
|
|
14
63
|
queue;
|
|
15
64
|
connection;
|
|
@@ -33,7 +82,7 @@ export class JobQueue {
|
|
|
33
82
|
* Add an agent execution job to the queue
|
|
34
83
|
*/
|
|
35
84
|
async addAgentJob(agentConfig, input, options) {
|
|
36
|
-
const jobId = nanoid();
|
|
85
|
+
const jobId = options?.jobId === undefined ? nanoid() : checkJobId(options.jobId);
|
|
37
86
|
const threadId = options?.threadId ?? nanoid();
|
|
38
87
|
const payload = {
|
|
39
88
|
type: 'agent',
|
|
@@ -44,11 +93,7 @@ export class JobQueue {
|
|
|
44
93
|
...(options?.userId !== undefined && { userId: options.userId }),
|
|
45
94
|
metadata: options?.metadata,
|
|
46
95
|
};
|
|
47
|
-
return this.
|
|
48
|
-
jobId,
|
|
49
|
-
priority: options?.priority,
|
|
50
|
-
delay: options?.delay,
|
|
51
|
-
});
|
|
96
|
+
return this.add(payload, options);
|
|
52
97
|
}
|
|
53
98
|
/**
|
|
54
99
|
* Continue an agent job whose run paused for tool approvals (its result has
|
|
@@ -77,7 +122,7 @@ export class JobQueue {
|
|
|
77
122
|
if (!threadId) {
|
|
78
123
|
throw new Error('Cannot resume an agent job without the checkpoint or thread of its run');
|
|
79
124
|
}
|
|
80
|
-
const jobId = nanoid();
|
|
125
|
+
const jobId = options?.jobId === undefined ? nanoid() : checkJobId(options.jobId);
|
|
81
126
|
const payload = {
|
|
82
127
|
type: 'agent',
|
|
83
128
|
jobId,
|
|
@@ -92,17 +137,13 @@ export class JobQueue {
|
|
|
92
137
|
},
|
|
93
138
|
metadata: options?.metadata,
|
|
94
139
|
};
|
|
95
|
-
return this.
|
|
96
|
-
jobId,
|
|
97
|
-
priority: options?.priority,
|
|
98
|
-
delay: options?.delay,
|
|
99
|
-
});
|
|
140
|
+
return this.add(payload, options);
|
|
100
141
|
}
|
|
101
142
|
/**
|
|
102
143
|
* Add a workflow execution job to the queue
|
|
103
144
|
*/
|
|
104
145
|
async addWorkflowJob(workflowConfig, input, options) {
|
|
105
|
-
const jobId = nanoid();
|
|
146
|
+
const jobId = options?.jobId === undefined ? nanoid() : checkJobId(options.jobId);
|
|
106
147
|
const runId = options?.runId ?? nanoid();
|
|
107
148
|
const payload = {
|
|
108
149
|
type: 'workflow',
|
|
@@ -112,17 +153,13 @@ export class JobQueue {
|
|
|
112
153
|
runId,
|
|
113
154
|
metadata: options?.metadata,
|
|
114
155
|
};
|
|
115
|
-
return this.
|
|
116
|
-
jobId,
|
|
117
|
-
priority: options?.priority,
|
|
118
|
-
delay: options?.delay,
|
|
119
|
-
});
|
|
156
|
+
return this.add(payload, options);
|
|
120
157
|
}
|
|
121
158
|
/**
|
|
122
159
|
* Add a swarm execution job to the queue
|
|
123
160
|
*/
|
|
124
161
|
async addSwarmJob(swarmConfig, input, options) {
|
|
125
|
-
const jobId = nanoid();
|
|
162
|
+
const jobId = options?.jobId === undefined ? nanoid() : checkJobId(options.jobId);
|
|
126
163
|
const payload = {
|
|
127
164
|
type: 'swarm',
|
|
128
165
|
jobId,
|
|
@@ -130,21 +167,22 @@ export class JobQueue {
|
|
|
130
167
|
input,
|
|
131
168
|
metadata: options?.metadata,
|
|
132
169
|
};
|
|
133
|
-
return this.
|
|
134
|
-
jobId,
|
|
135
|
-
priority: options?.priority,
|
|
136
|
-
delay: options?.delay,
|
|
137
|
-
});
|
|
170
|
+
return this.add(payload, options);
|
|
138
171
|
}
|
|
139
172
|
/**
|
|
140
|
-
* Queue one agent turn of a swarm as a BullMQ job. A `WorkerPool` runs it
|
|
141
|
-
* result to `stateKeys.results` (by default
|
|
173
|
+
* Queue one agent turn of a swarm as a BullMQ job. A `WorkerPool` runs it, keeps the result
|
|
174
|
+
* under `stateKeys.result` and publishes it to `stateKeys.results` (by default
|
|
175
|
+
* `${keyPrefix}:{${swarmId}}:result:<jobId>` and `${keyPrefix}:{${swarmId}}:results`). Swarms with
|
|
142
176
|
* `distributed.enabled` do not use this queue: `DistributedSwarmCoordinator` pushes its turns
|
|
143
177
|
* to a Redis list that `DistributedSwarmWorker` consumes, so run that worker for them.
|
|
144
178
|
*/
|
|
145
179
|
async addSwarmAgentJob(swarmId, agentName, agentConfig, input, options) {
|
|
146
|
-
const jobId = nanoid();
|
|
180
|
+
const jobId = options?.jobId === undefined ? nanoid() : checkJobId(options.jobId);
|
|
147
181
|
const keyPrefix = options?.keyPrefix ?? 'swarm';
|
|
182
|
+
if (options?.resultTtl !== undefined &&
|
|
183
|
+
!(Number.isFinite(options.resultTtl) && options.resultTtl > 0)) {
|
|
184
|
+
throw new Error(`resultTtl must be a positive number of ms, got ${options.resultTtl}`);
|
|
185
|
+
}
|
|
148
186
|
const payload = {
|
|
149
187
|
type: 'swarm-agent',
|
|
150
188
|
jobId,
|
|
@@ -157,16 +195,39 @@ export class JobQueue {
|
|
|
157
195
|
? { ...options.runOptions, timeout: options.timeout }
|
|
158
196
|
: options?.runOptions,
|
|
159
197
|
stateKeys: options?.stateKeys ?? {
|
|
160
|
-
blackboard: `${keyPrefix}
|
|
161
|
-
messages: `${keyPrefix}
|
|
162
|
-
results: `${keyPrefix}
|
|
198
|
+
blackboard: `${keyPrefix}:{${swarmId}}:blackboard`,
|
|
199
|
+
messages: `${keyPrefix}:{${swarmId}}:messages`,
|
|
200
|
+
results: `${keyPrefix}:{${swarmId}}:results`,
|
|
201
|
+
result: `${keyPrefix}:{${swarmId}}:result:${jobId}`,
|
|
163
202
|
},
|
|
203
|
+
...(options?.resultTtl !== undefined && { resultTtl: Math.ceil(options.resultTtl) }),
|
|
164
204
|
};
|
|
165
|
-
return this.
|
|
166
|
-
|
|
205
|
+
return this.add(payload, options);
|
|
206
|
+
}
|
|
207
|
+
/**
|
|
208
|
+
* Add the job, and when the producer gave its id, hand back the job the queue holds under it:
|
|
209
|
+
* adding a job whose id the queue holds already adds nothing and gives that job back, so a
|
|
210
|
+
* producer that retries an add, such as after a timeout, does not run the work twice, even when
|
|
211
|
+
* the two adds race. A job the queue removed (after it completed or failed, past
|
|
212
|
+
* `removeOnComplete` or `removeOnFail`) is gone, and its id adds a new job.
|
|
213
|
+
*
|
|
214
|
+
* @throws Error when the queue holds the id as another kind of job
|
|
215
|
+
*/
|
|
216
|
+
async add(payload, options) {
|
|
217
|
+
const added = (await this.queue.add(payload.type, payload, {
|
|
218
|
+
jobId: payload.jobId,
|
|
167
219
|
priority: options?.priority,
|
|
168
220
|
delay: options?.delay,
|
|
169
|
-
});
|
|
221
|
+
}));
|
|
222
|
+
if (options?.jobId === undefined)
|
|
223
|
+
return added;
|
|
224
|
+
const held = (await this.queue.getJob(payload.jobId));
|
|
225
|
+
if (!held)
|
|
226
|
+
return added;
|
|
227
|
+
if (held.data.type !== payload.type || isResume(held.data) !== isResume(payload)) {
|
|
228
|
+
throw new Error(`The queue holds job '${payload.jobId}' as ${describe(held.data)}, not as ${describe(payload)}`);
|
|
229
|
+
}
|
|
230
|
+
return held;
|
|
170
231
|
}
|
|
171
232
|
/**
|
|
172
233
|
* Get job by ID
|
package/dist/queue.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queue.js","sourceRoot":"","sources":["../src/queue.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,KAAK,EAAY,MAAM,QAAQ,CAAC;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAgBhC,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,WAAW,GAEZ,MAAM,iBAAiB,CAAC;AAEzB,MAAM,OAAO,QAAQ;IACX,KAAK,CAAoB;IACzB,UAAU,CAAiB;IAEnC,YAAY,MAAmB;QAC7B,IAAI,CAAC,UAAU,GAAG,oBAAoB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACrD,IAAI,CAAC,KAAK,GAAG,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,IAAI,kBAAkB,EAAE;YACxD,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,UAAU;YACtC,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC;YACjC,iBAAiB,EAAE;gBACjB,QAAQ,EAAE,MAAM,CAAC,iBAAiB,EAAE,QAAQ,IAAI,CAAC;gBACjD,OAAO,EAAE,MAAM,CAAC,iBAAiB,EAAE,OAAO,IAAI;oBAC5C,IAAI,EAAE,aAAa;oBACnB,KAAK,EAAE,IAAI;iBACZ;gBACD,gBAAgB,EAAE,MAAM,CAAC,iBAAiB,EAAE,gBAAgB,IAAI,GAAG;gBACnE,YAAY,EAAE,MAAM,CAAC,iBAAiB,EAAE,YAAY,IAAI,GAAG;aAC5D;SACF,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,CACf,WAA4B,EAC5B,KAAa,EACb,
|
|
1
|
+
{"version":3,"file":"queue.js","sourceRoot":"","sources":["../src/queue.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,KAAK,EAAY,MAAM,QAAQ,CAAC;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAgBhC,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,WAAW,GAEZ,MAAM,iBAAiB,CAAC;AAEzB;;;GAGG;AACH,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC;IACzB,QAAQ;IACR,MAAM;IACN,kBAAkB;IAClB,QAAQ;IACR,IAAI;IACJ,SAAS;IACT,aAAa;IACb,eAAe;IACf,WAAW;IACX,QAAQ;IACR,SAAS;IACT,QAAQ;IACR,SAAS;IACT,MAAM;IACN,QAAQ;IACR,IAAI;IACJ,QAAQ;IACR,IAAI;CACL,CAAC,CAAC;AAEH;;;GAGG;AACH,SAAS,UAAU,CAAC,KAAa;IAC/B,IAAI,KAAK,KAAK,EAAE,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACxC,MAAM,IAAI,KAAK,CAAC,yDAAyD,KAAK,GAAG,CAAC,CAAC;IACrF,CAAC;IACD,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE,KAAK,KAAK,EAAE,CAAC;QAC9C,MAAM,IAAI,KAAK,CAAC,yCAAyC,KAAK,GAAG,CAAC,CAAC;IACrE,CAAC;IACD,IAAI,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,yBAAyB,KAAK,qCAAqC,CAAC,CAAC;IACvF,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,QAAQ,GAAG,CAAC,OAAmB,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC;AACnG,MAAM,QAAQ,GAAG,CAAC,OAAmB,EAAE,EAAE,CACvC,QAAQ,CAAC,OAAO,CAAC;IACf,CAAC,CAAC,qBAAqB;IACvB,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,OAAO,CAAC,IAAI,MAAM,CAAC;AAErE;;;;GAIG;AACH,MAAM,OAAO,QAAQ;IACX,KAAK,CAAoB;IACzB,UAAU,CAAiB;IAEnC,YAAY,MAAmB;QAC7B,IAAI,CAAC,UAAU,GAAG,oBAAoB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACrD,IAAI,CAAC,KAAK,GAAG,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,IAAI,kBAAkB,EAAE;YACxD,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,UAAU;YACtC,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC;YACjC,iBAAiB,EAAE;gBACjB,QAAQ,EAAE,MAAM,CAAC,iBAAiB,EAAE,QAAQ,IAAI,CAAC;gBACjD,OAAO,EAAE,MAAM,CAAC,iBAAiB,EAAE,OAAO,IAAI;oBAC5C,IAAI,EAAE,aAAa;oBACnB,KAAK,EAAE,IAAI;iBACZ;gBACD,gBAAgB,EAAE,MAAM,CAAC,iBAAiB,EAAE,gBAAgB,IAAI,GAAG;gBACnE,YAAY,EAAE,MAAM,CAAC,iBAAiB,EAAE,YAAY,IAAI,GAAG;aAC5D;SACF,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,CACf,WAA4B,EAC5B,KAAa,EACb,OAQC;QAED,MAAM,KAAK,GAAG,OAAO,EAAE,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAClF,MAAM,QAAQ,GAAG,OAAO,EAAE,QAAQ,IAAI,MAAM,EAAE,CAAC;QAE/C,MAAM,OAAO,GAAoB;YAC/B,IAAI,EAAE,OAAO;YACb,KAAK;YACL,WAAW;YACX,KAAK;YACL,QAAQ;YACR,GAAG,CAAC,OAAO,EAAE,MAAM,KAAK,SAAS,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;YAChE,QAAQ,EAAE,OAAO,EAAE,QAAQ;SAC5B,CAAC;QAEF,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACpC,CAAC;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACH,KAAK,CAAC,cAAc,CAClB,WAA4B,EAC5B,MAAkE,EAClE,OAYC;QAED,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC9D,MAAM,IAAI,KAAK,CAAC,2CAA2C,MAAM,CAAC,MAAM,cAAc,CAAC,CAAC;QAC1F,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,CAAC,UAAU,EAAE,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC;QAChE,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,wEAAwE,CAAC,CAAC;QAC5F,CAAC;QACD,MAAM,KAAK,GAAG,OAAO,EAAE,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAElF,MAAM,OAAO,GAAoB;YAC/B,IAAI,EAAE,OAAO;YACb,KAAK;YACL,WAAW;YACX,KAAK,EAAE,EAAE;YACT,QAAQ;YACR,GAAG,CAAC,OAAO,EAAE,MAAM,KAAK,SAAS,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;YAChE,MAAM,EAAE;gBACN,GAAG,CAAC,MAAM,CAAC,UAAU,IAAI,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC;gBAC3D,GAAG,CAAC,OAAO,EAAE,SAAS,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC;gBAC3D,GAAG,CAAC,OAAO,EAAE,eAAe,IAAI,EAAE,eAAe,EAAE,OAAO,CAAC,eAAe,EAAE,CAAC;aAC9E;YACD,QAAQ,EAAE,OAAO,EAAE,QAAQ;SAC5B,CAAC;QAEF,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACpC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,cAAc,CAClB,cAAkC,EAClC,KAA8B,EAC9B,OAOC;QAED,MAAM,KAAK,GAAG,OAAO,EAAE,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAClF,MAAM,KAAK,GAAG,OAAO,EAAE,KAAK,IAAI,MAAM,EAAE,CAAC;QAEzC,MAAM,OAAO,GAAuB;YAClC,IAAI,EAAE,UAAU;YAChB,KAAK;YACL,cAAc;YACd,KAAK;YACL,KAAK;YACL,QAAQ,EAAE,OAAO,EAAE,QAAQ;SAC5B,CAAC;QAEF,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACpC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,CACf,WAA4B,EAC5B,KAAa,EACb,OAMC;QAED,MAAM,KAAK,GAAG,OAAO,EAAE,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAElF,MAAM,OAAO,GAAoB;YAC/B,IAAI,EAAE,OAAO;YACb,KAAK;YACL,WAAW;YACX,KAAK;YACL,QAAQ,EAAE,OAAO,EAAE,QAAQ;SAC5B,CAAC;QAEF,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACpC,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,gBAAgB,CACpB,OAAe,EACf,SAAiB,EACjB,WAA4B,EAC5B,KAAa,EACb,OAcC;QAED,MAAM,KAAK,GAAG,OAAO,EAAE,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAClF,MAAM,SAAS,GAAG,OAAO,EAAE,SAAS,IAAI,OAAO,CAAC;QAChD,IACE,OAAO,EAAE,SAAS,KAAK,SAAS;YAChC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,OAAO,CAAC,SAAS,GAAG,CAAC,CAAC,EAC9D,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,kDAAkD,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;QACzF,CAAC;QAED,MAAM,OAAO,GAAyB;YACpC,IAAI,EAAE,aAAa;YACnB,KAAK;YACL,OAAO;YACP,SAAS;YACT,WAAW;YACX,KAAK;YACL,OAAO,EAAE,OAAO,EAAE,OAAO;YACzB,UAAU,EACR,OAAO,EAAE,OAAO,KAAK,SAAS;gBAC5B,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE;gBACrD,CAAC,CAAC,OAAO,EAAE,UAAU;YACzB,SAAS,EAAE,OAAO,EAAE,SAAS,IAAI;gBAC/B,UAAU,EAAE,GAAG,SAAS,KAAK,OAAO,cAAc;gBAClD,QAAQ,EAAE,GAAG,SAAS,KAAK,OAAO,YAAY;gBAC9C,OAAO,EAAE,GAAG,SAAS,KAAK,OAAO,WAAW;gBAC5C,MAAM,EAAE,GAAG,SAAS,KAAK,OAAO,YAAY,KAAK,EAAE;aACpD;YACD,GAAG,CAAC,OAAO,EAAE,SAAS,KAAK,SAAS,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;SACrF,CAAC;QAEF,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACpC,CAAC;IAED;;;;;;;;OAQG;IACK,KAAK,CAAC,GAAG,CACf,OAAU,EACV,OAA0E;QAE1E,MAAM,KAAK,GAAG,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE;YACzD,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,QAAQ,EAAE,OAAO,EAAE,QAAQ;YAC3B,KAAK,EAAE,OAAO,EAAE,KAAK;SACtB,CAAC,CAAW,CAAC;QACd,IAAI,OAAO,EAAE,KAAK,KAAK,SAAS;YAAE,OAAO,KAAK,CAAC;QAC/C,MAAM,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAuB,CAAC;QAC5E,IAAI,CAAC,IAAI;YAAE,OAAO,KAAK,CAAC;QACxB,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YACjF,MAAM,IAAI,KAAK,CACb,wBAAwB,OAAO,CAAC,KAAK,QAAQ,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,QAAQ,CAAC,OAAO,CAAC,EAAE,CAChG,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CAAC,KAAa;QACxB,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,WAAW,CAAC,KAAa;QAC7B,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3C,IAAI,CAAC,GAAG;YAAE,OAAO,SAAS,CAAC;QAC3B,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAC;IACxB,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,UAAU;QACd,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YAC9C,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,CAAC;YAC7F,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE;SAC7B,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,IAAI,CAAC,CAAC,CAAC;QAClE,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,CAAC,CAAC;QAEpC,OAAO;YACL,OAAO;YACP,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,CAAC;YAC1B,SAAS,EAAE,MAAM,CAAC,SAAS,IAAI,CAAC;YAChC,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,CAAC;YAC1B,OAAO;YACP,KAAK,EAAE,OAAO,GAAG,OAAO;YACxB,WAAW;SACZ,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAAK;QACT,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;IAC3B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM;QACV,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAAK,CACT,KAAa,EACb,KAAa,EACb,IAA4D;QAE5D,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;IAC9C,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAAK;QACT,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACzB,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;IAClC,CAAC;CACF"}
|
package/dist/types.d.ts
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Worker types for distributed job processing
|
|
3
3
|
*/
|
|
4
4
|
import type { Cogitator } from '@cogitator-ai/core';
|
|
5
|
-
import type { AgentWireConfig, AgentWireResponseFormat, AgentWireRunResult, AgentWireUsage, RunCheckpoint, Tool, ToolApprovalDecision } from '@cogitator-ai/types';
|
|
5
|
+
import type { AgentWireConfig, AgentWireResponseFormat, AgentWireRunResult, AgentWireUsage, CheckpointStore, RedisConnectionConfig, RunCheckpoint, Tool, ToolApprovalDecision } from '@cogitator-ai/types';
|
|
6
6
|
import type { SwarmAgentJobPayload as SwarmAgentJobContract, SwarmAgentJobResult as SwarmAgentJobResultContract } from '@cogitator-ai/swarms';
|
|
7
7
|
/**
|
|
8
8
|
* An agent's response format in a form that travels through the queue: a Zod schema becomes
|
|
@@ -161,16 +161,39 @@ export interface AgentJobResult extends AgentWireRunResult {
|
|
|
161
161
|
total: number;
|
|
162
162
|
};
|
|
163
163
|
}
|
|
164
|
+
/**
|
|
165
|
+
* What a job used and cost, summed over its agent runs. `inputTokens` and `outputTokens` are
|
|
166
|
+
* absent where the runs reported only their totals.
|
|
167
|
+
*/
|
|
168
|
+
export interface JobUsage {
|
|
169
|
+
inputTokens?: number;
|
|
170
|
+
outputTokens?: number;
|
|
171
|
+
totalTokens: number;
|
|
172
|
+
/** USD */
|
|
173
|
+
cost: number;
|
|
174
|
+
/** Agent runs counted */
|
|
175
|
+
runs: number;
|
|
176
|
+
}
|
|
164
177
|
export interface WorkflowJobResult {
|
|
165
178
|
type: 'workflow';
|
|
166
179
|
output: Record<string, unknown>;
|
|
167
180
|
nodeResults: Record<string, unknown>;
|
|
181
|
+
/** What the agent nodes used and cost */
|
|
182
|
+
usage: JobUsage;
|
|
168
183
|
duration: number;
|
|
169
184
|
}
|
|
170
185
|
export interface SwarmJobResult {
|
|
171
186
|
type: 'swarm';
|
|
172
187
|
output: string;
|
|
173
188
|
rounds: number;
|
|
189
|
+
/** What the swarm's agent runs used and cost, in all and by agent */
|
|
190
|
+
usage: JobUsage & {
|
|
191
|
+
byAgent: Record<string, {
|
|
192
|
+
tokens: number;
|
|
193
|
+
cost: number;
|
|
194
|
+
runs: number;
|
|
195
|
+
}>;
|
|
196
|
+
};
|
|
174
197
|
agentOutputs: {
|
|
175
198
|
agent: string;
|
|
176
199
|
output: string;
|
|
@@ -187,23 +210,7 @@ export interface QueueConfig {
|
|
|
187
210
|
* Redis connection config. `url` (`redis://user:password@host:port/db`, or `rediss://` for
|
|
188
211
|
* TLS) is read first, and the explicit fields override what it says
|
|
189
212
|
*/
|
|
190
|
-
redis:
|
|
191
|
-
url?: string;
|
|
192
|
-
host?: string;
|
|
193
|
-
port?: number;
|
|
194
|
-
username?: string;
|
|
195
|
-
password?: string;
|
|
196
|
-
db?: number;
|
|
197
|
-
/** Connect over TLS; implied by a `rediss://` url */
|
|
198
|
-
tls?: boolean;
|
|
199
|
-
/** For cluster mode */
|
|
200
|
-
cluster?: {
|
|
201
|
-
nodes: {
|
|
202
|
-
host: string;
|
|
203
|
-
port: number;
|
|
204
|
-
}[];
|
|
205
|
-
};
|
|
206
|
-
};
|
|
213
|
+
redis: RedisConnectionConfig;
|
|
207
214
|
/** Default job options */
|
|
208
215
|
defaultJobOptions?: {
|
|
209
216
|
/** Max attempts before failing */
|
|
@@ -229,6 +236,13 @@ export interface JobExecutionOptions {
|
|
|
229
236
|
* `WorkerPool.cancelJob()` and a shutdown that runs out of time stop the work
|
|
230
237
|
*/
|
|
231
238
|
signal?: AbortSignal;
|
|
239
|
+
/**
|
|
240
|
+
* Whether the queue runs the job again after it failed with `error`: a workflow job keeps its
|
|
241
|
+
* checkpoint for that attempt, and lets it go when none follows. `WorkerPool` answers no for
|
|
242
|
+
* the last attempt, a cancelled job and a paused agent run, and yes for a job a shutdown
|
|
243
|
+
* stopped, which another worker takes up. Default: no attempt follows
|
|
244
|
+
*/
|
|
245
|
+
willRetry?: (error: unknown) => boolean;
|
|
232
246
|
}
|
|
233
247
|
/**
|
|
234
248
|
* Runtime dependencies used to execute jobs on a worker
|
|
@@ -241,6 +255,12 @@ export interface WorkerRuntime {
|
|
|
241
255
|
* name; a job that needs a tool missing from this list fails.
|
|
242
256
|
*/
|
|
243
257
|
tools?: Tool[];
|
|
258
|
+
/**
|
|
259
|
+
* Where workflow jobs keep their checkpoint, saved after every node, so a retried job goes on
|
|
260
|
+
* from it. `WorkerPool` keeps them in its Redis by default, a processor called on its own runs
|
|
261
|
+
* without them.
|
|
262
|
+
*/
|
|
263
|
+
checkpoints?: CheckpointStore;
|
|
244
264
|
}
|
|
245
265
|
export interface WorkerConfig extends QueueConfig, WorkerRuntime {
|
|
246
266
|
/** Number of worker instances */
|
|
@@ -251,6 +271,12 @@ export interface WorkerConfig extends QueueConfig, WorkerRuntime {
|
|
|
251
271
|
lockDuration?: number;
|
|
252
272
|
/** Stalled job check interval */
|
|
253
273
|
stalledInterval?: number;
|
|
274
|
+
/**
|
|
275
|
+
* Seconds the default Redis store keeps a workflow checkpoint after its last save, for a run
|
|
276
|
+
* that is never resumed or let go, such as one whose worker crashed on its last attempt.
|
|
277
|
+
* Ignored with `checkpoints`. Default: 7 days
|
|
278
|
+
*/
|
|
279
|
+
checkpointTtl?: number;
|
|
254
280
|
}
|
|
255
281
|
/**
|
|
256
282
|
* State of a queued job, as `JobQueue.getJobState()` reports it:
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/worker.d.ts
CHANGED
|
@@ -19,6 +19,7 @@ export declare class WorkerPool {
|
|
|
19
19
|
private readonly events;
|
|
20
20
|
private readonly runtime;
|
|
21
21
|
private publisher?;
|
|
22
|
+
private checkpointStore?;
|
|
22
23
|
private isRunning;
|
|
23
24
|
/** Job duration and per-type counters, ready for Prometheus exposition */
|
|
24
25
|
readonly metrics: MetricsCollector;
|
|
@@ -37,6 +38,12 @@ export declare class WorkerPool {
|
|
|
37
38
|
*/
|
|
38
39
|
private processJob;
|
|
39
40
|
private runJob;
|
|
41
|
+
/**
|
|
42
|
+
* Whether the queue runs a job again after it failed with `error`, as `processJob` hands the
|
|
43
|
+
* failure on: a job a shutdown stopped is taken up by another worker, one cancelled or whose
|
|
44
|
+
* agent run paused fails for good, any other gets the attempts it has left
|
|
45
|
+
*/
|
|
46
|
+
private willRetry;
|
|
40
47
|
/**
|
|
41
48
|
* Cancel a job this pool is running: its agent runs, workflow nodes and swarm turns are
|
|
42
49
|
* aborted and the job fails without retries.
|
|
@@ -45,6 +52,11 @@ export declare class WorkerPool {
|
|
|
45
52
|
*/
|
|
46
53
|
cancelJob(jobId: string, reason?: string): boolean;
|
|
47
54
|
private getPublisher;
|
|
55
|
+
/**
|
|
56
|
+
* Where workflow jobs keep their checkpoints: `checkpoints` of the config, else this pool's
|
|
57
|
+
* Redis, under the queue's prefix and name, so queues sharing a Redis keep theirs apart
|
|
58
|
+
*/
|
|
59
|
+
private workflowCheckpoints;
|
|
48
60
|
/**
|
|
49
61
|
* Get current worker count
|
|
50
62
|
*/
|
package/dist/worker.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker.d.ts","sourceRoot":"","sources":["../src/worker.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"worker.d.ts","sourceRoot":"","sources":["../src/worker.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAiB,MAAM,SAAS,CAAC;AAKhG,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAUhD,MAAM,WAAW,gBAAgB;IAC/B,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC;IACjE,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,KAAK,IAAI,CAAC;IAC5D,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACpD,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CACxC;AAaD,qBAAa,UAAU;IACrB,OAAO,CAAC,OAAO,CAAuC;IACtD,OAAO,CAAC,WAAW,CAAwB;IAC3C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAe;IACtC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAmB;IAC1C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAuE;IAC/F,OAAO,CAAC,SAAS,CAAC,CAAc;IAChC,OAAO,CAAC,eAAe,CAAC,CAAkB;IAC1C,OAAO,CAAC,SAAS,CAAS;IAE1B,0EAA0E;IAC1E,QAAQ,CAAC,OAAO,mBAA0B;gBAE9B,MAAM,EAAE,YAAY,EAAE,MAAM,GAAE,gBAAqB;IAS/D;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IA0D5B;;;;;;;OAOG;YACW,UAAU;IAexB,OAAO,CAAC,MAAM;IA2Bd;;;;OAIG;IACH,OAAO,CAAC,SAAS;IAMjB;;;;;OAKG;IACH,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,SAAc,GAAG,OAAO;IAQvD,OAAO,CAAC,YAAY;IAKpB;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IAoB3B;;OAEG;IACH,cAAc,IAAI,MAAM;IAIxB;;OAEG;IACH,aAAa,IAAI,OAAO;IAIxB;;OAEG;IACG,UAAU,CAAC,WAAW,EAAE,IAAI,CAAC,YAAY,EAAE,aAAa,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC;IAOvF;;;;;OAKG;IACG,IAAI,CAAC,OAAO,SAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAwB1C;;OAEG;IACG,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;YASlB,kBAAkB;YAOlB,cAAc;CAQ7B"}
|
package/dist/worker.js
CHANGED
|
@@ -6,12 +6,21 @@
|
|
|
6
6
|
*/
|
|
7
7
|
import { UnrecoverableError, Worker } from 'bullmq';
|
|
8
8
|
import { Cogitator, findAgentRunPausedError } from '@cogitator-ai/core';
|
|
9
|
+
import { RedisCheckpointStore } from '@cogitator-ai/workflows';
|
|
9
10
|
import { processAgentJob } from './processors/agent.js';
|
|
10
|
-
import { processWorkflowJob } from './processors/workflow.js';
|
|
11
|
+
import { forgetWorkflowRun, processWorkflowJob } from './processors/workflow.js';
|
|
11
12
|
import { processSwarmJob } from './processors/swarm.js';
|
|
12
13
|
import { processSwarmAgentJob } from './processors/swarm-agent.js';
|
|
13
14
|
import { MetricsCollector } from './metrics.js';
|
|
14
15
|
import { DEFAULT_QUEUE_NAME, createBullConnection, createRedisClient, queuePrefix, } from './connection.js';
|
|
16
|
+
/** Seconds the default store keeps a workflow checkpoint nobody resumes or lets go */
|
|
17
|
+
const DEFAULT_CHECKPOINT_TTL = 7 * 24 * 60 * 60;
|
|
18
|
+
/** What a job result reports it used, in the shape the metrics count */
|
|
19
|
+
function usageOf(result) {
|
|
20
|
+
if (!('usage' in result) || !result.usage)
|
|
21
|
+
return undefined;
|
|
22
|
+
return result.usage;
|
|
23
|
+
}
|
|
15
24
|
export class WorkerPool {
|
|
16
25
|
workers = [];
|
|
17
26
|
connections = [];
|
|
@@ -19,6 +28,7 @@ export class WorkerPool {
|
|
|
19
28
|
events;
|
|
20
29
|
runtime;
|
|
21
30
|
publisher;
|
|
31
|
+
checkpointStore;
|
|
22
32
|
isRunning = false;
|
|
23
33
|
/** Job duration and per-type counters, ready for Prometheus exposition */
|
|
24
34
|
metrics = new MetricsCollector();
|
|
@@ -52,12 +62,21 @@ export class WorkerPool {
|
|
|
52
62
|
if (job.processedOn !== undefined && job.finishedOn !== undefined) {
|
|
53
63
|
this.metrics.recordJob(job.data.type, job.finishedOn - job.processedOn);
|
|
54
64
|
}
|
|
65
|
+
const usage = usageOf(result);
|
|
66
|
+
if (usage)
|
|
67
|
+
this.metrics.recordUsage(job.data.type, usage);
|
|
55
68
|
this.events.onJobCompleted?.(job.id ?? job.data.jobId, result);
|
|
56
69
|
});
|
|
57
70
|
worker.on('failed', (job, error) => {
|
|
58
71
|
if (job) {
|
|
59
|
-
if (job.finishedOn !== undefined)
|
|
72
|
+
if (job.finishedOn !== undefined) {
|
|
60
73
|
this.metrics.recordFailure(job.data.type);
|
|
74
|
+
if (job.data.type === 'workflow' && this.isRunning) {
|
|
75
|
+
forgetWorkflowRun(job.data, this.workflowCheckpoints()).catch((cause) => this.events.onWorkerError?.(new Error(`Could not delete the checkpoint of workflow job ${job.data.jobId}`, {
|
|
76
|
+
cause,
|
|
77
|
+
})));
|
|
78
|
+
}
|
|
79
|
+
}
|
|
61
80
|
this.events.onJobFailed?.(job.id ?? job.data.jobId, error);
|
|
62
81
|
}
|
|
63
82
|
});
|
|
@@ -97,7 +116,7 @@ export class WorkerPool {
|
|
|
97
116
|
case 'agent':
|
|
98
117
|
return processAgentJob(job.data, this.runtime, execution);
|
|
99
118
|
case 'workflow':
|
|
100
|
-
return processWorkflowJob(job.data, this.runtime, execution);
|
|
119
|
+
return processWorkflowJob(job.data, { ...this.runtime, checkpoints: this.workflowCheckpoints() }, { ...execution, willRetry: (error) => this.willRetry(job, error, signal) });
|
|
101
120
|
case 'swarm':
|
|
102
121
|
return processSwarmJob(job.data, this.runtime, execution);
|
|
103
122
|
case 'swarm-agent':
|
|
@@ -113,6 +132,18 @@ export class WorkerPool {
|
|
|
113
132
|
}
|
|
114
133
|
}
|
|
115
134
|
}
|
|
135
|
+
/**
|
|
136
|
+
* Whether the queue runs a job again after it failed with `error`, as `processJob` hands the
|
|
137
|
+
* failure on: a job a shutdown stopped is taken up by another worker, one cancelled or whose
|
|
138
|
+
* agent run paused fails for good, any other gets the attempts it has left
|
|
139
|
+
*/
|
|
140
|
+
willRetry(job, error, signal) {
|
|
141
|
+
if (error instanceof UnrecoverableError || findAgentRunPausedError(error))
|
|
142
|
+
return false;
|
|
143
|
+
if (signal?.aborted)
|
|
144
|
+
return !this.isRunning;
|
|
145
|
+
return job.attemptsMade + 1 < (job.opts.attempts ?? 1);
|
|
146
|
+
}
|
|
116
147
|
/**
|
|
117
148
|
* Cancel a job this pool is running: its agent runs, workflow nodes and swarm turns are
|
|
118
149
|
* aborted and the job fails without retries.
|
|
@@ -131,6 +162,30 @@ export class WorkerPool {
|
|
|
131
162
|
this.publisher ??= createRedisClient(this.config.redis);
|
|
132
163
|
return this.publisher;
|
|
133
164
|
}
|
|
165
|
+
/**
|
|
166
|
+
* Where workflow jobs keep their checkpoints: `checkpoints` of the config, else this pool's
|
|
167
|
+
* Redis, under the queue's prefix and name, so queues sharing a Redis keep theirs apart
|
|
168
|
+
*/
|
|
169
|
+
workflowCheckpoints() {
|
|
170
|
+
if (this.config.checkpoints)
|
|
171
|
+
return this.config.checkpoints;
|
|
172
|
+
const redis = this.getPublisher();
|
|
173
|
+
this.checkpointStore ??= new RedisCheckpointStore({
|
|
174
|
+
client: {
|
|
175
|
+
get: (key) => redis.get(key),
|
|
176
|
+
set: (key, value) => redis.set(key, value),
|
|
177
|
+
del: (...keys) => redis.del(...keys),
|
|
178
|
+
zadd: (key, score, member) => redis.zadd(key, score, member),
|
|
179
|
+
zrange: (key, start, stop) => redis.zrange(key, String(start), String(stop)),
|
|
180
|
+
zrem: (key, ...members) => redis.zrem(key, ...members),
|
|
181
|
+
expire: (key, seconds) => redis.expire(key, seconds),
|
|
182
|
+
zrangebyscore: (key, min, max) => redis.zrangebyscore(key, min, max),
|
|
183
|
+
},
|
|
184
|
+
keyPrefix: `${queuePrefix(this.config.redis)}:${this.config.name ?? DEFAULT_QUEUE_NAME}:workflow-checkpoints`,
|
|
185
|
+
ttl: this.config.checkpointTtl ?? DEFAULT_CHECKPOINT_TTL,
|
|
186
|
+
});
|
|
187
|
+
return this.checkpointStore;
|
|
188
|
+
}
|
|
134
189
|
/**
|
|
135
190
|
* Get current worker count
|
|
136
191
|
*/
|
|
@@ -201,6 +256,7 @@ export class WorkerPool {
|
|
|
201
256
|
async closePublisher() {
|
|
202
257
|
const publisher = this.publisher;
|
|
203
258
|
this.publisher = undefined;
|
|
259
|
+
this.checkpointStore = undefined;
|
|
204
260
|
if (publisher) {
|
|
205
261
|
await publisher.quit();
|
|
206
262
|
}
|
package/dist/worker.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker.js","sourceRoot":"","sources":["../src/worker.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,EAAY,MAAM,QAAQ,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"worker.js","sourceRoot":"","sources":["../src/worker.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cogitator-ai/worker",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.11.0",
|
|
4
4
|
"description": "Distributed job queue for Cogitator agent execution",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"cogitator",
|
|
@@ -29,15 +29,16 @@
|
|
|
29
29
|
"node": ">=22.12.0"
|
|
30
30
|
},
|
|
31
31
|
"dependencies": {
|
|
32
|
-
"@cogitator-ai/core": "0.56.
|
|
33
|
-
"@cogitator-ai/swarms": "0.
|
|
34
|
-
"@cogitator-ai/types": "0.
|
|
32
|
+
"@cogitator-ai/core": "0.56.3",
|
|
33
|
+
"@cogitator-ai/swarms": "0.14.0",
|
|
34
|
+
"@cogitator-ai/types": "0.61.0",
|
|
35
|
+
"@cogitator-ai/workflows": "0.14.1",
|
|
35
36
|
"bullmq": "^6.3.11",
|
|
36
37
|
"nanoid": "^6.0.1",
|
|
37
38
|
"zod": "^4.6.5"
|
|
38
39
|
},
|
|
39
40
|
"devDependencies": {
|
|
40
|
-
"@cogitator-ai/test-utils": "0.11.
|
|
41
|
+
"@cogitator-ai/test-utils": "0.11.2",
|
|
41
42
|
"ioredis": "^6.0.0",
|
|
42
43
|
"typescript": "^6.0.3",
|
|
43
44
|
"vitest": "^5.0.3"
|