@cogitator-ai/worker 0.9.24 → 0.10.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 +59 -20
- package/dist/distributed-swarm-worker.d.ts.map +1 -1
- 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.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 +25 -0
- package/dist/queue.d.ts.map +1 -1
- package/dist/queue.js +82 -28
- package/dist/queue.js.map +1 -1
- package/dist/types.d.ts +43 -1
- 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
|
@@ -1,13 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Workflow job processor
|
|
3
|
-
*
|
|
4
|
-
* Executes a serialized workflow graph as a DAG over a shared state object. Nodes run as
|
|
5
|
-
* soon as all of their predecessors have settled; independent branches run concurrently.
|
|
6
|
-
* Condition nodes activate their `'true'` or `'false'` outgoing edges; nodes reachable only
|
|
7
|
-
* through inactive edges are skipped.
|
|
2
|
+
* Workflow job processor: a serialized workflow graph run on the workflow executor of
|
|
3
|
+
* `@cogitator-ai/workflows`, over a shared state object, checkpointed for retries
|
|
8
4
|
*/
|
|
9
5
|
import { z } from 'zod';
|
|
10
6
|
import { AgentRunPausedError, agentWireSchema, isPausedRun, parseAgentWire, } from '@cogitator-ai/core';
|
|
7
|
+
import { WorkflowExecutor } from '@cogitator-ai/workflows';
|
|
11
8
|
import { createAgentFromConfig, resolveRuntime } from './shared.js';
|
|
12
9
|
const agentNodeSchema = z.object({
|
|
13
10
|
agentConfig: agentWireSchema,
|
|
@@ -48,6 +45,13 @@ function stringifyValue(value) {
|
|
|
48
45
|
export function renderTemplate(template, state) {
|
|
49
46
|
return template.replace(/\{\{\s*([\w.-]+)\s*\}\}/g, (_match, path) => stringifyValue(readStatePath(state, path)));
|
|
50
47
|
}
|
|
48
|
+
/** Prefix of the state keys a run keeps its own bookkeeping under, left out of the output */
|
|
49
|
+
const RUN_KEY = '__cogitator:';
|
|
50
|
+
const doneKey = (id) => `${RUN_KEY}done:${id}`;
|
|
51
|
+
const branchKey = (id) => `${RUN_KEY}branch:${id}`;
|
|
52
|
+
const usageKey = (id) => `${RUN_KEY}usage:${id}`;
|
|
53
|
+
/** The node a graph with many roots starts from, never one of its own */
|
|
54
|
+
const START = `${RUN_KEY}start`;
|
|
51
55
|
function parseNodeConfig(node, schema) {
|
|
52
56
|
const parsed = schema.safeParse(node.config);
|
|
53
57
|
if (!parsed.success) {
|
|
@@ -59,7 +63,8 @@ function parseNodeConfig(node, schema) {
|
|
|
59
63
|
}
|
|
60
64
|
/**
|
|
61
65
|
* Check the graph before running anything: unique ids, known edge endpoints, branch labels
|
|
62
|
-
* only on condition nodes, valid node configs and no cycles.
|
|
66
|
+
* only on condition nodes, valid node configs and no cycles. Node ids and output keys must not
|
|
67
|
+
* start with `__cogitator:`, the prefix of the run's own state keys.
|
|
63
68
|
*/
|
|
64
69
|
export function validateWorkflow(workflow) {
|
|
65
70
|
const nodes = new Map();
|
|
@@ -67,6 +72,9 @@ export function validateWorkflow(workflow) {
|
|
|
67
72
|
if (nodes.has(node.id)) {
|
|
68
73
|
throw new Error(`Duplicate workflow node id '${node.id}'`);
|
|
69
74
|
}
|
|
75
|
+
if (node.id.startsWith(RUN_KEY)) {
|
|
76
|
+
throw new Error(`Workflow node id '${node.id}' starts with '${RUN_KEY}', kept for the run`);
|
|
77
|
+
}
|
|
70
78
|
nodes.set(node.id, node);
|
|
71
79
|
}
|
|
72
80
|
for (const edge of workflow.edges) {
|
|
@@ -88,6 +96,7 @@ export function validateWorkflow(workflow) {
|
|
|
88
96
|
switch (node.type) {
|
|
89
97
|
case 'agent': {
|
|
90
98
|
const config = parseNodeConfig(node, agentNodeSchema);
|
|
99
|
+
refuseRunKey(node, config.outputKey);
|
|
91
100
|
try {
|
|
92
101
|
parseAgentWire(config.agentConfig);
|
|
93
102
|
}
|
|
@@ -98,6 +107,7 @@ export function validateWorkflow(workflow) {
|
|
|
98
107
|
}
|
|
99
108
|
case 'transform': {
|
|
100
109
|
const config = parseNodeConfig(node, transformNodeSchema);
|
|
110
|
+
refuseRunKey(node, config.outputKey);
|
|
101
111
|
if (config.transform === 'template' && config.template === undefined) {
|
|
102
112
|
throw new Error(`Transform node '${node.id}' uses 'template' but has no template`);
|
|
103
113
|
}
|
|
@@ -130,6 +140,11 @@ export function validateWorkflow(workflow) {
|
|
|
130
140
|
throw new Error(`Workflow '${workflow.name}' contains a cycle`);
|
|
131
141
|
}
|
|
132
142
|
}
|
|
143
|
+
function refuseRunKey(node, outputKey) {
|
|
144
|
+
if (outputKey?.startsWith(RUN_KEY)) {
|
|
145
|
+
throw new Error(`Output key '${outputKey}' of node '${node.id}' starts with '${RUN_KEY}', kept for the run`);
|
|
146
|
+
}
|
|
147
|
+
}
|
|
133
148
|
function evaluateCondition(config, state) {
|
|
134
149
|
const actual = readStatePath(state, config.key);
|
|
135
150
|
switch (config.operator) {
|
|
@@ -174,149 +189,253 @@ function applyTransform(config, input, state) {
|
|
|
174
189
|
return renderTemplate(config.template ?? '', state);
|
|
175
190
|
}
|
|
176
191
|
}
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
outcomes = new Map();
|
|
183
|
-
outputKeys = new Map();
|
|
184
|
-
state;
|
|
185
|
-
controller = new AbortController();
|
|
186
|
-
constructor(workflow, input, runtime, signal) {
|
|
187
|
-
this.workflow = workflow;
|
|
188
|
-
this.runtime = runtime;
|
|
189
|
-
this.signal = signal;
|
|
190
|
-
this.nodes = new Map(workflow.nodes.map((n) => [n.id, n]));
|
|
191
|
-
this.state = { ...input };
|
|
192
|
-
}
|
|
193
|
-
/**
|
|
194
|
-
* Run the graph. Cancelling the job (`signal`) or a failing node aborts the agent runs still
|
|
195
|
-
* in flight, and the run rejects once they have settled.
|
|
196
|
-
*/
|
|
197
|
-
async execute() {
|
|
198
|
-
const forwardAbort = () => this.controller.abort(this.signal?.reason);
|
|
199
|
-
if (this.signal?.aborted)
|
|
200
|
-
forwardAbort();
|
|
201
|
-
this.signal?.addEventListener('abort', forwardAbort, { once: true });
|
|
202
|
-
try {
|
|
203
|
-
return await this.runGraph();
|
|
204
|
-
}
|
|
205
|
-
finally {
|
|
206
|
-
this.signal?.removeEventListener('abort', forwardAbort);
|
|
207
|
-
}
|
|
208
|
-
}
|
|
209
|
-
async runGraph() {
|
|
210
|
-
const pending = new Set(this.nodes.keys());
|
|
211
|
-
const running = new Map();
|
|
212
|
-
while (pending.size > 0 || running.size > 0) {
|
|
213
|
-
this.controller.signal.throwIfAborted();
|
|
214
|
-
for (const id of [...pending]) {
|
|
215
|
-
const incoming = this.workflow.edges.filter((e) => e.to === id);
|
|
216
|
-
if (!incoming.every((e) => this.outcomes.has(e.from)))
|
|
217
|
-
continue;
|
|
218
|
-
pending.delete(id);
|
|
219
|
-
const active = incoming.length === 0 || incoming.some((e) => this.isEdgeActive(e));
|
|
220
|
-
if (!active) {
|
|
221
|
-
this.outcomes.set(id, { status: 'skipped' });
|
|
222
|
-
continue;
|
|
223
|
-
}
|
|
224
|
-
running.set(id, this.runNode(this.nodes.get(id), incoming).then((outcome) => {
|
|
225
|
-
this.outcomes.set(id, outcome);
|
|
226
|
-
running.delete(id);
|
|
227
|
-
}));
|
|
228
|
-
}
|
|
229
|
-
if (running.size > 0) {
|
|
230
|
-
try {
|
|
231
|
-
await Promise.race(running.values());
|
|
232
|
-
}
|
|
233
|
-
catch (error) {
|
|
234
|
-
this.controller.abort(error);
|
|
235
|
-
await Promise.allSettled(running.values());
|
|
236
|
-
throw error;
|
|
237
|
-
}
|
|
238
|
-
}
|
|
239
|
-
else if (pending.size > 0 && ![...pending].some((id) => this.isReady(id))) {
|
|
240
|
-
throw new Error(`Workflow '${this.workflow.name}' cannot make progress`);
|
|
241
|
-
}
|
|
242
|
-
}
|
|
243
|
-
const nodeResults = {};
|
|
244
|
-
for (const [id, outcome] of this.outcomes) {
|
|
245
|
-
nodeResults[id] = outcome.status === 'completed' ? outcome.output : { skipped: true };
|
|
246
|
-
}
|
|
247
|
-
return { state: this.state, nodeResults };
|
|
192
|
+
function outputKeyOf(node) {
|
|
193
|
+
if (node.type === 'agent')
|
|
194
|
+
return parseNodeConfig(node, agentNodeSchema).outputKey ?? node.id;
|
|
195
|
+
if (node.type === 'transform') {
|
|
196
|
+
return parseNodeConfig(node, transformNodeSchema).outputKey ?? node.id;
|
|
248
197
|
}
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
198
|
+
return undefined;
|
|
199
|
+
}
|
|
200
|
+
/**
|
|
201
|
+
* The serialized graph as a workflow of `@cogitator-ai/workflows`. Each node keeps in the state
|
|
202
|
+
* that it ran (`__cogitator:done:<id>`), the branch a condition took (`__cogitator:branch:<id>`)
|
|
203
|
+
* and the usage of an agent run (`__cogitator:usage:<id>`), so a run resumed from a checkpoint
|
|
204
|
+
* knows them too. Agent runs stop on `ctx.signal` and on `siblings`, which a failing node aborts
|
|
205
|
+
* so the runs still in flight next to it stop too.
|
|
206
|
+
*/
|
|
207
|
+
function workflowOf(serialized, runtime, siblings) {
|
|
208
|
+
const byId = new Map(serialized.nodes.map((node) => [node.id, node]));
|
|
209
|
+
const incomingOf = (id) => serialized.edges.filter((edge) => edge.to === id);
|
|
210
|
+
const active = (edge, state) => state[doneKey(edge.from)] === true &&
|
|
211
|
+
(byId.get(edge.from)?.type !== 'condition' || state[branchKey(edge.from)] === edge.condition);
|
|
212
|
+
const previousOutput = (id, state) => {
|
|
213
|
+
for (const edge of incomingOf(id)) {
|
|
214
|
+
if (!active(edge, state))
|
|
261
215
|
continue;
|
|
262
|
-
const
|
|
216
|
+
const from = byId.get(edge.from);
|
|
217
|
+
const key = from ? outputKeyOf(from) : undefined;
|
|
263
218
|
if (key !== undefined)
|
|
264
|
-
return
|
|
219
|
+
return state[key];
|
|
265
220
|
}
|
|
266
221
|
return undefined;
|
|
267
|
-
}
|
|
268
|
-
async
|
|
222
|
+
};
|
|
223
|
+
const run = async (node, ctx) => {
|
|
224
|
+
const state = ctx.state;
|
|
225
|
+
const done = { [doneKey(node.id)]: true };
|
|
269
226
|
switch (node.type) {
|
|
270
227
|
case 'agent': {
|
|
271
228
|
const config = parseNodeConfig(node, agentNodeSchema);
|
|
272
|
-
const agent = createAgentFromConfig(config.agentConfig,
|
|
229
|
+
const agent = createAgentFromConfig(config.agentConfig, runtime);
|
|
273
230
|
const prompt = config.prompt
|
|
274
|
-
? renderTemplate(config.prompt,
|
|
275
|
-
: JSON.stringify(
|
|
276
|
-
const result = await
|
|
231
|
+
? renderTemplate(config.prompt, state)
|
|
232
|
+
: JSON.stringify(withoutRunKeys(state));
|
|
233
|
+
const result = await runtime.cogitator.run(agent, {
|
|
277
234
|
input: prompt,
|
|
278
|
-
signal:
|
|
235
|
+
signal: ctx.signal ? AbortSignal.any([ctx.signal, siblings.signal]) : siblings.signal,
|
|
279
236
|
});
|
|
280
237
|
if (isPausedRun(result)) {
|
|
281
|
-
throw new AgentRunPausedError(result, agent.name, `workflow "${
|
|
238
|
+
throw new AgentRunPausedError(result, agent.name, `workflow "${serialized.name}", node "${node.id}"`);
|
|
282
239
|
}
|
|
283
240
|
const answer = agent.config.responseFormat?.type === 'json_schema' && result.structured !== undefined
|
|
284
241
|
? result.structured
|
|
285
242
|
: result.output;
|
|
286
|
-
|
|
243
|
+
const usage = {
|
|
244
|
+
inputTokens: result.usage.inputTokens,
|
|
245
|
+
outputTokens: result.usage.outputTokens,
|
|
246
|
+
totalTokens: result.usage.totalTokens,
|
|
247
|
+
cost: result.usage.cost,
|
|
248
|
+
runs: 1,
|
|
249
|
+
};
|
|
250
|
+
return {
|
|
251
|
+
state: { ...done, [config.outputKey ?? node.id]: answer, [usageKey(node.id)]: usage },
|
|
252
|
+
output: answer,
|
|
253
|
+
};
|
|
287
254
|
}
|
|
288
255
|
case 'transform': {
|
|
289
256
|
const config = parseNodeConfig(node, transformNodeSchema);
|
|
290
257
|
const input = config.inputKey !== undefined
|
|
291
|
-
? readStatePath(
|
|
292
|
-
:
|
|
293
|
-
|
|
258
|
+
? readStatePath(state, config.inputKey)
|
|
259
|
+
: previousOutput(node.id, state);
|
|
260
|
+
const value = applyTransform(config, input, state);
|
|
261
|
+
return { state: { ...done, [config.outputKey ?? node.id]: value }, output: value };
|
|
294
262
|
}
|
|
295
263
|
case 'condition': {
|
|
296
|
-
const
|
|
297
|
-
|
|
298
|
-
|
|
264
|
+
const passed = evaluateCondition(parseNodeConfig(node, conditionNodeSchema), state);
|
|
265
|
+
return {
|
|
266
|
+
state: { ...done, [branchKey(node.id)]: passed ? 'true' : 'false' },
|
|
267
|
+
output: passed,
|
|
268
|
+
};
|
|
299
269
|
}
|
|
300
270
|
case 'parallel':
|
|
301
|
-
return {
|
|
271
|
+
return { state: done, output: null };
|
|
272
|
+
}
|
|
273
|
+
};
|
|
274
|
+
const nodes = new Map();
|
|
275
|
+
for (const node of serialized.nodes) {
|
|
276
|
+
nodes.set(node.id, {
|
|
277
|
+
name: node.id,
|
|
278
|
+
fn: async (ctx) => {
|
|
279
|
+
try {
|
|
280
|
+
return await run(node, ctx);
|
|
281
|
+
}
|
|
282
|
+
catch (error) {
|
|
283
|
+
if (!siblings.signal.aborted)
|
|
284
|
+
siblings.abort(error);
|
|
285
|
+
throw error;
|
|
286
|
+
}
|
|
287
|
+
},
|
|
288
|
+
});
|
|
289
|
+
}
|
|
290
|
+
const edges = [];
|
|
291
|
+
for (const node of serialized.nodes) {
|
|
292
|
+
const out = serialized.edges.filter((edge) => edge.from === node.id);
|
|
293
|
+
if (out.length === 0)
|
|
294
|
+
continue;
|
|
295
|
+
if (node.type === 'condition') {
|
|
296
|
+
edges.push({
|
|
297
|
+
type: 'conditional',
|
|
298
|
+
from: node.id,
|
|
299
|
+
targets: [...new Set(out.map((edge) => edge.to))],
|
|
300
|
+
condition: (state) => out
|
|
301
|
+
.filter((edge) => edge.condition === state[branchKey(node.id)])
|
|
302
|
+
.map((edge) => edge.to),
|
|
303
|
+
});
|
|
304
|
+
}
|
|
305
|
+
else if (out.length === 1) {
|
|
306
|
+
edges.push({ type: 'sequential', from: node.id, to: out[0].to });
|
|
307
|
+
}
|
|
308
|
+
else {
|
|
309
|
+
edges.push({ type: 'parallel', from: node.id, to: out.map((edge) => edge.to) });
|
|
302
310
|
}
|
|
303
311
|
}
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
312
|
+
const roots = serialized.nodes.filter((node) => incomingOf(node.id).length === 0);
|
|
313
|
+
let entryPoint = roots[0]?.id ?? START;
|
|
314
|
+
if (roots.length !== 1) {
|
|
315
|
+
nodes.set(START, { name: START, fn: async () => ({ output: null }) });
|
|
316
|
+
if (roots.length > 0)
|
|
317
|
+
edges.push({ type: 'parallel', from: START, to: roots.map((r) => r.id) });
|
|
318
|
+
entryPoint = START;
|
|
309
319
|
}
|
|
320
|
+
return { name: serialized.name, initialState: {}, nodes, edges, entryPoint };
|
|
321
|
+
}
|
|
322
|
+
function withoutRunKeys(state) {
|
|
323
|
+
return Object.fromEntries(Object.entries(state).filter(([key]) => !key.startsWith(RUN_KEY)));
|
|
324
|
+
}
|
|
325
|
+
/** The usage of the agent runs a finished state recorded */
|
|
326
|
+
function usageOf(state) {
|
|
327
|
+
const usage = {
|
|
328
|
+
inputTokens: 0,
|
|
329
|
+
outputTokens: 0,
|
|
330
|
+
totalTokens: 0,
|
|
331
|
+
cost: 0,
|
|
332
|
+
runs: 0,
|
|
333
|
+
};
|
|
334
|
+
const count = (value) => typeof value === 'number' && Number.isFinite(value) ? value : 0;
|
|
335
|
+
for (const [key, value] of Object.entries(state)) {
|
|
336
|
+
if (!key.startsWith(`${RUN_KEY}usage:`) || typeof value !== 'object' || value === null)
|
|
337
|
+
continue;
|
|
338
|
+
const one = value;
|
|
339
|
+
usage.inputTokens += count(one.inputTokens);
|
|
340
|
+
usage.outputTokens += count(one.outputTokens);
|
|
341
|
+
usage.totalTokens += count(one.totalTokens);
|
|
342
|
+
usage.cost += count(one.cost);
|
|
343
|
+
usage.runs += count(one.runs);
|
|
344
|
+
}
|
|
345
|
+
return usage;
|
|
346
|
+
}
|
|
347
|
+
/**
|
|
348
|
+
* Id of the one checkpoint a workflow job keeps, saved over after every node: the job's id and
|
|
349
|
+
* its `runId`, so jobs sharing a `runId` never resume from each other
|
|
350
|
+
*/
|
|
351
|
+
export function workflowCheckpointId(payload) {
|
|
352
|
+
return `workflow-job:${payload.jobId}:run:${payload.runId}`;
|
|
310
353
|
}
|
|
354
|
+
/** Delete the checkpoint of a workflow job, for a run no attempt goes on from */
|
|
355
|
+
export async function forgetWorkflowRun(payload, store) {
|
|
356
|
+
await store.delete(workflowCheckpointId(payload));
|
|
357
|
+
}
|
|
358
|
+
/**
|
|
359
|
+
* The store as the executor of one job sees it: every checkpoint saved under the job's id, one
|
|
360
|
+
* after the other so the last one saved is the newest, and a failed save aborts the agent runs
|
|
361
|
+
* in flight before it fails the job
|
|
362
|
+
*/
|
|
363
|
+
function storeOfJob(store, id, siblings) {
|
|
364
|
+
let saving = Promise.resolve();
|
|
365
|
+
return {
|
|
366
|
+
save(checkpoint) {
|
|
367
|
+
const saved = saving.then(() => store.save({ ...checkpoint, id }));
|
|
368
|
+
saving = saved.catch(() => undefined);
|
|
369
|
+
return saved.catch((error) => {
|
|
370
|
+
if (!siblings.signal.aborted)
|
|
371
|
+
siblings.abort(error);
|
|
372
|
+
throw error;
|
|
373
|
+
});
|
|
374
|
+
},
|
|
375
|
+
load: (checkpointId) => store.load(checkpointId),
|
|
376
|
+
list: (name) => store.list(name),
|
|
377
|
+
delete: (checkpointId) => store.delete(checkpointId),
|
|
378
|
+
};
|
|
379
|
+
}
|
|
380
|
+
/**
|
|
381
|
+
* Runs a workflow job on the workflow executor of `@cogitator-ai/workflows`, over a shared state:
|
|
382
|
+
* in rounds, each running at once the nodes whose nodes before them all settled, a condition
|
|
383
|
+
* taking its `'true'` or `'false'` edges. Input keys starting with `__cogitator:` are refused,
|
|
384
|
+
* the run keeps its own bookkeeping under them. With `checkpoints` the job keeps one checkpoint,
|
|
385
|
+
* saved after every node, so an attempt that comes after a failure (`willRetry`) goes on from it
|
|
386
|
+
* instead of running its agents again, and the checkpoint goes once no attempt follows.
|
|
387
|
+
*/
|
|
311
388
|
export async function processWorkflowJob(payload, runtime = {}, execution = {}) {
|
|
312
389
|
const started = Date.now();
|
|
313
390
|
validateWorkflow(payload.workflowConfig);
|
|
314
|
-
const
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
391
|
+
const reserved = Object.keys(payload.input).find((key) => key.startsWith(RUN_KEY));
|
|
392
|
+
if (reserved !== undefined) {
|
|
393
|
+
throw new Error(`Workflow input key '${reserved}' starts with '${RUN_KEY}', kept for the run`);
|
|
394
|
+
}
|
|
395
|
+
const resolved = resolveRuntime(runtime);
|
|
396
|
+
const siblings = new AbortController();
|
|
397
|
+
const workflow = workflowOf(payload.workflowConfig, resolved, siblings);
|
|
398
|
+
const id = workflowCheckpointId(payload);
|
|
399
|
+
const store = runtime.checkpoints && storeOfJob(runtime.checkpoints, id, siblings);
|
|
400
|
+
const executor = new WorkflowExecutor(resolved.cogitator, store);
|
|
401
|
+
const options = {
|
|
402
|
+
workflowId: payload.runId,
|
|
403
|
+
maxConcurrency: workflow.nodes.size,
|
|
404
|
+
maxIterations: 2 * workflow.nodes.size + 2,
|
|
405
|
+
...(execution.signal && { signal: execution.signal }),
|
|
406
|
+
...(store && { checkpoint: true, checkpointStrategy: 'per-node' }),
|
|
320
407
|
};
|
|
408
|
+
try {
|
|
409
|
+
const latest = store ? await store.load(id) : null;
|
|
410
|
+
const result = latest
|
|
411
|
+
? await executor.resume(workflow, id, options)
|
|
412
|
+
: await executor.execute(workflow, payload.input, options);
|
|
413
|
+
if (result.error)
|
|
414
|
+
throw result.error;
|
|
415
|
+
execution.signal?.throwIfAborted();
|
|
416
|
+
const nodeResults = {};
|
|
417
|
+
for (const node of payload.workflowConfig.nodes) {
|
|
418
|
+
nodeResults[node.id] =
|
|
419
|
+
result.state[doneKey(node.id)] === true
|
|
420
|
+
? result.nodeResults.get(node.id)?.output
|
|
421
|
+
: { skipped: true };
|
|
422
|
+
}
|
|
423
|
+
const done = {
|
|
424
|
+
type: 'workflow',
|
|
425
|
+
output: withoutRunKeys(result.state),
|
|
426
|
+
nodeResults,
|
|
427
|
+
usage: usageOf(result.state),
|
|
428
|
+
duration: Date.now() - started,
|
|
429
|
+
};
|
|
430
|
+
await store?.delete(id).catch(() => undefined);
|
|
431
|
+
return done;
|
|
432
|
+
}
|
|
433
|
+
catch (error) {
|
|
434
|
+
if (!siblings.signal.aborted)
|
|
435
|
+
siblings.abort(error);
|
|
436
|
+
if (store && !execution.willRetry?.(error))
|
|
437
|
+
await store.delete(id).catch(() => undefined);
|
|
438
|
+
throw error;
|
|
439
|
+
}
|
|
321
440
|
}
|
|
322
441
|
//# sourceMappingURL=workflow.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workflow.js","sourceRoot":"","sources":["../../src/processors/workflow.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"workflow.js","sourceRoot":"","sources":["../../src/processors/workflow.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EACL,mBAAmB,EACnB,eAAe,EACf,WAAW,EACX,cAAc,GACf,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAsB3D,OAAO,EAAE,qBAAqB,EAAE,cAAc,EAAwB,MAAM,aAAa,CAAC;AAI1F,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/B,WAAW,EAAE,eAAe;IAC5B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC7B,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;CACxC,CAAC,CAAC;AAEH,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IACnC,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,gBAAgB,EAAE,UAAU,CAAC,CAAC;IACjG,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IACtC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IACvC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAChC,CAAC,CAAC;AAEH,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IACnC,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACtB,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,YAAY,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IAC5E,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE;CAC3E,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,KAAoB,EAAE,IAAY;IAC9D,IAAI,OAAO,GAAY,KAAK,CAAC;IAC7B,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;QACtC,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,IAAI;YAAE,OAAO,SAAS,CAAC;QACtE,OAAO,GAAI,OAAmC,CAAC,OAAO,CAAC,CAAC;IAC1D,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,cAAc,CAAC,KAAc;IACpC,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,EAAE,CAAC;IACrD,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AACnE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,QAAgB,EAAE,KAAoB;IACnE,OAAO,QAAQ,CAAC,OAAO,CAAC,0BAA0B,EAAE,CAAC,MAAM,EAAE,IAAY,EAAE,EAAE,CAC3E,cAAc,CAAC,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAC3C,CAAC;AACJ,CAAC;AAED,6FAA6F;AAC7F,MAAM,OAAO,GAAG,cAAc,CAAC;AAC/B,MAAM,OAAO,GAAG,CAAC,EAAU,EAAE,EAAE,CAAC,GAAG,OAAO,QAAQ,EAAE,EAAE,CAAC;AACvD,MAAM,SAAS,GAAG,CAAC,EAAU,EAAE,EAAE,CAAC,GAAG,OAAO,UAAU,EAAE,EAAE,CAAC;AAC3D,MAAM,QAAQ,GAAG,CAAC,EAAU,EAAE,EAAE,CAAC,GAAG,OAAO,SAAS,EAAE,EAAE,CAAC;AACzD,yEAAyE;AACzE,MAAM,KAAK,GAAG,GAAG,OAAO,OAAO,CAAC;AAEhC,SAAS,eAAe,CAAI,IAA4B,EAAE,MAAoB;IAC5E,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC7C,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CACb,sBAAsB,IAAI,CAAC,IAAI,UAAU,IAAI,CAAC,EAAE,MAAM,MAAM,CAAC,KAAK,CAAC,MAAM;aACtE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,QAAQ,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC;aAC3D,IAAI,CAAC,IAAI,CAAC,EAAE,CAChB,CAAC;IACJ,CAAC;IACD,OAAO,MAAM,CAAC,IAAI,CAAC;AACrB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,QAA4B;IAC3D,MAAM,KAAK,GAAG,IAAI,GAAG,EAAkC,CAAC;IACxD,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;QAClC,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CAAC,+BAA+B,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;QAC7D,CAAC;QACD,IAAI,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YAChC,MAAM,IAAI,KAAK,CAAC,qBAAqB,IAAI,CAAC,EAAE,kBAAkB,OAAO,qBAAqB,CAAC,CAAC;QAC9F,CAAC;QACD,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IAC3B,CAAC;IAED,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;QAClC,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClC,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,iCAAiC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;QAC1E,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,iCAAiC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;QAEtF,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YAC9B,IAAI,IAAI,CAAC,SAAS,KAAK,MAAM,IAAI,IAAI,CAAC,SAAS,KAAK,OAAO,EAAE,CAAC;gBAC5D,MAAM,IAAI,KAAK,CACb,iCAAiC,IAAI,CAAC,IAAI,2CAA2C,CACtF,CAAC;YACJ,CAAC;QACH,CAAC;aAAM,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YACxC,MAAM,IAAI,KAAK,CACb,QAAQ,IAAI,CAAC,IAAI,OAAO,IAAI,CAAC,EAAE,yBAAyB,IAAI,CAAC,IAAI,2BAA2B,CAC7F,CAAC;QACJ,CAAC;IACH,CAAC;IAED,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;QAClC,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;YAClB,KAAK,OAAO,CAAC,CAAC,CAAC;gBACb,MAAM,MAAM,GAAG,eAAe,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;gBACtD,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;gBACrC,IAAI,CAAC;oBACH,cAAc,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;gBACrC,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,MAAM,IAAI,KAAK,CACb,kCAAkC,IAAI,CAAC,EAAE,MAAM,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EACvG,EAAE,KAAK,EAAE,KAAK,EAAE,CACjB,CAAC;gBACJ,CAAC;gBACD,MAAM;YACR,CAAC;YACD,KAAK,WAAW,CAAC,CAAC,CAAC;gBACjB,MAAM,MAAM,GAAG,eAAe,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAC;gBAC1D,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;gBACrC,IAAI,MAAM,CAAC,SAAS,KAAK,UAAU,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;oBACrE,MAAM,IAAI,KAAK,CAAC,mBAAmB,IAAI,CAAC,EAAE,uCAAuC,CAAC,CAAC;gBACrF,CAAC;gBACD,MAAM;YACR,CAAC;YACD,KAAK,WAAW;gBACd,eAAe,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAC;gBAC3C,MAAM;YACR,KAAK,UAAU;gBACb,MAAM;QACV,CAAC;IACH,CAAC;IAED,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/D,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;QAClC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1D,CAAC;IACD,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACtF,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,MAAM,EAAE,GAAG,KAAK,CAAC,KAAK,EAAG,CAAC;QAC1B,OAAO,EAAE,CAAC;QACV,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC,EAAE,CAAC;YAC/D,MAAM,SAAS,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;YACnD,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;YACjC,IAAI,SAAS,KAAK,CAAC;gBAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC;IACD,IAAI,OAAO,KAAK,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;QACtC,MAAM,IAAI,KAAK,CAAC,aAAa,QAAQ,CAAC,IAAI,oBAAoB,CAAC,CAAC;IAClE,CAAC;AACH,CAAC;AAED,SAAS,YAAY,CAAC,IAA4B,EAAE,SAA6B;IAC/E,IAAI,SAAS,EAAE,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACnC,MAAM,IAAI,KAAK,CACb,eAAe,SAAS,cAAc,IAAI,CAAC,EAAE,kBAAkB,OAAO,qBAAqB,CAC5F,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAS,iBAAiB,CAAC,MAA2B,EAAE,KAAoB;IAC1E,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;IAEhD,QAAQ,MAAM,CAAC,QAAQ,EAAE,CAAC;QACxB,KAAK,QAAQ;YACX,OAAO,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,IAAI,CAAC;QACjD,KAAK,QAAQ;YACX,OAAO,MAAM,KAAK,MAAM,CAAC,KAAK,CAAC;QACjC,KAAK,YAAY;YACf,OAAO,MAAM,KAAK,MAAM,CAAC,KAAK,CAAC;QACjC,KAAK,UAAU;YACb,IAAI,OAAO,MAAM,KAAK,QAAQ;gBAAE,OAAO,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YACrF,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;gBAAE,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAChE,OAAO,KAAK,CAAC;QACf,KAAK,IAAI;YACP,OAAO,CACL,OAAO,MAAM,KAAK,QAAQ,IAAI,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,IAAI,MAAM,GAAG,MAAM,CAAC,KAAK,CACxF,CAAC;QACJ,KAAK,IAAI;YACP,OAAO,CACL,OAAO,MAAM,KAAK,QAAQ,IAAI,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,IAAI,MAAM,GAAG,MAAM,CAAC,KAAK,CACxF,CAAC;IACN,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CACrB,MAA2B,EAC3B,KAAc,EACd,KAAoB;IAEpB,QAAQ,MAAM,CAAC,SAAS,EAAE,CAAC;QACzB,KAAK,WAAW;YACd,OAAO,cAAc,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;QAC7C,KAAK,WAAW;YACd,OAAO,cAAc,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;QAC7C,KAAK,MAAM;YACT,OAAO,cAAc,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;QACtC,KAAK,YAAY;YACf,IAAI,OAAO,KAAK,KAAK,QAAQ;gBAAE,OAAO,KAAK,CAAC;YAC5C,IAAI,CAAC;gBACH,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAY,CAAC;YACtC,CAAC;YAAC,MAAM,CAAC;gBACP,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;YAChE,CAAC;QACH,KAAK,gBAAgB;YACnB,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAC/B,KAAK,UAAU;YACb,OAAO,cAAc,CAAC,MAAM,CAAC,QAAQ,IAAI,EAAE,EAAE,KAAK,CAAC,CAAC;IACxD,CAAC;AACH,CAAC;AAED,SAAS,WAAW,CAAC,IAA4B;IAC/C,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO;QAAE,OAAO,eAAe,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC,SAAS,IAAI,IAAI,CAAC,EAAE,CAAC;IAC9F,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;QAC9B,OAAO,eAAe,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAC,SAAS,IAAI,IAAI,CAAC,EAAE,CAAC;IACzE,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;;GAMG;AACH,SAAS,UAAU,CACjB,UAA8B,EAC9B,OAAwB,EACxB,QAAyB;IAEzB,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IACtE,MAAM,UAAU,GAAG,CAAC,EAAU,EAAE,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IACrF,MAAM,MAAM,GAAG,CAAC,IAA4B,EAAE,KAAoB,EAAE,EAAE,CACpE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI;QAClC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,KAAK,WAAW,IAAI,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,CAAC;IAChG,MAAM,cAAc,GAAG,CAAC,EAAU,EAAE,KAAoB,EAAW,EAAE;QACnE,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,EAAE,CAAC,EAAE,CAAC;YAClC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC;gBAAE,SAAS;YACnC,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACjC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YACjD,IAAI,GAAG,KAAK,SAAS;gBAAE,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC;QAC3C,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC,CAAC;IAEF,MAAM,GAAG,GAAG,KAAK,EACf,IAA4B,EAC5B,GAA0D,EACtB,EAAE;QACtC,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC;QACxB,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;QAC1C,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;YAClB,KAAK,OAAO,CAAC,CAAC,CAAC;gBACb,MAAM,MAAM,GAAG,eAAe,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;gBACtD,MAAM,KAAK,GAAG,qBAAqB,CAAC,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;gBACjE,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM;oBAC1B,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC;oBACtC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC;gBAC1C,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE;oBAChD,KAAK,EAAE,MAAM;oBACb,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM;iBACtF,CAAC,CAAC;gBACH,IAAI,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;oBACxB,MAAM,IAAI,mBAAmB,CAC3B,MAAM,EACN,KAAK,CAAC,IAAI,EACV,aAAa,UAAU,CAAC,IAAI,YAAY,IAAI,CAAC,EAAE,GAAG,CACnD,CAAC;gBACJ,CAAC;gBACD,MAAM,MAAM,GACV,KAAK,CAAC,MAAM,CAAC,cAAc,EAAE,IAAI,KAAK,aAAa,IAAI,MAAM,CAAC,UAAU,KAAK,SAAS;oBACpF,CAAC,CAAC,MAAM,CAAC,UAAU;oBACnB,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;gBACpB,MAAM,KAAK,GAAa;oBACtB,WAAW,EAAE,MAAM,CAAC,KAAK,CAAC,WAAW;oBACrC,YAAY,EAAE,MAAM,CAAC,KAAK,CAAC,YAAY;oBACvC,WAAW,EAAE,MAAM,CAAC,KAAK,CAAC,WAAW;oBACrC,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI;oBACvB,IAAI,EAAE,CAAC;iBACR,CAAC;gBACF,OAAO;oBACL,KAAK,EAAE,EAAE,GAAG,IAAI,EAAE,CAAC,MAAM,CAAC,SAAS,IAAI,IAAI,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE;oBACrF,MAAM,EAAE,MAAM;iBACf,CAAC;YACJ,CAAC;YACD,KAAK,WAAW,CAAC,CAAC,CAAC;gBACjB,MAAM,MAAM,GAAwB,eAAe,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAC;gBAC/E,MAAM,KAAK,GACT,MAAM,CAAC,QAAQ,KAAK,SAAS;oBAC3B,CAAC,CAAC,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC;oBACvC,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;gBACrC,MAAM,KAAK,GAAG,cAAc,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;gBACnD,OAAO,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,EAAE,CAAC,MAAM,CAAC,SAAS,IAAI,IAAI,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;YACrF,CAAC;YACD,KAAK,WAAW,CAAC,CAAC,CAAC;gBACjB,MAAM,MAAM,GAAG,iBAAiB,CAAC,eAAe,CAAC,IAAI,EAAE,mBAAmB,CAAC,EAAE,KAAK,CAAC,CAAC;gBACpF,OAAO;oBACL,KAAK,EAAE,EAAE,GAAG,IAAI,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE;oBACnE,MAAM,EAAE,MAAM;iBACf,CAAC;YACJ,CAAC;YACD,KAAK,UAAU;gBACb,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;QACzC,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,KAAK,GAAG,IAAI,GAAG,EAAuC,CAAC;IAC7D,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,KAAK,EAAE,CAAC;QACpC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE;YACjB,IAAI,EAAE,IAAI,CAAC,EAAE;YACb,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;gBAChB,IAAI,CAAC;oBACH,OAAO,MAAM,GAAG,CAAC,IAAI,EAAE,GAA4D,CAAC,CAAC;gBACvF,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO;wBAAE,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;oBACpD,MAAM,KAAK,CAAC;gBACd,CAAC;YACH,CAAC;SACF,CAAC,CAAC;IACL,CAAC;IAED,MAAM,KAAK,GAAW,EAAE,CAAC;IACzB,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,KAAK,EAAE,CAAC;QACpC,MAAM,GAAG,GAAG,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC;QACrE,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;YAAE,SAAS;QAC/B,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YAC9B,KAAK,CAAC,IAAI,CAAC;gBACT,IAAI,EAAE,aAAa;gBACnB,IAAI,EAAE,IAAI,CAAC,EAAE;gBACb,OAAO,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;gBACjD,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE,CACnB,GAAG;qBACA,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,KAAM,KAAuB,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;qBACjF,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;aAC5B,CAAC,CAAC;QACL,CAAC;aAAM,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5B,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,CAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QACpE,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QAClF,CAAC;IACH,CAAC;IAED,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC;IAClF,IAAI,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,KAAK,CAAC;IACvC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;QACtE,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QAChG,UAAU,GAAG,KAAK,CAAC;IACrB,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;AAC/E,CAAC;AAED,SAAS,cAAc,CAAC,KAAoB;IAC1C,OAAO,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAC/F,CAAC;AAED,4DAA4D;AAC5D,SAAS,OAAO,CAAC,KAAoB;IACnC,MAAM,KAAK,GAAuB;QAChC,WAAW,EAAE,CAAC;QACd,YAAY,EAAE,CAAC;QACf,WAAW,EAAE,CAAC;QACd,IAAI,EAAE,CAAC;QACP,IAAI,EAAE,CAAC;KACR,CAAC;IACF,MAAM,KAAK,GAAG,CAAC,KAAc,EAAE,EAAE,CAC/B,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAClE,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACjD,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,OAAO,QAAQ,CAAC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;YACpF,SAAS;QACX,MAAM,GAAG,GAAG,KAAiD,CAAC;QAC9D,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAC5C,KAAK,CAAC,YAAY,IAAI,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAC9C,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAC5C,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC9B,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAAC,OAAoD;IACvF,OAAO,gBAAgB,OAAO,CAAC,KAAK,QAAQ,OAAO,CAAC,KAAK,EAAE,CAAC;AAC9D,CAAC;AAED,iFAAiF;AACjF,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,OAAoD,EACpD,KAAsB;IAEtB,MAAM,KAAK,CAAC,MAAM,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC;AACpD,CAAC;AAED;;;;GAIG;AACH,SAAS,UAAU,CACjB,KAAsB,EACtB,EAAU,EACV,QAAyB;IAEzB,IAAI,MAAM,GAAkB,OAAO,CAAC,OAAO,EAAE,CAAC;IAC9C,OAAO;QACL,IAAI,CAAC,UAA8B;YACjC,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,UAAU,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;YACnE,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;YACtC,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;gBACpC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO;oBAAE,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBACpD,MAAM,KAAK,CAAC;YACd,CAAC,CAAC,CAAC;QACL,CAAC;QACD,IAAI,EAAE,CAAC,YAAY,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC;QAChD,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;QAChC,MAAM,EAAE,CAAC,YAAY,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC;KACrD,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,OAA2B,EAC3B,UAAyB,EAAE,EAC3B,YAAiC,EAAE;IAEnC,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC3B,gBAAgB,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IACzC,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;IACnF,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,uBAAuB,QAAQ,kBAAkB,OAAO,qBAAqB,CAAC,CAAC;IACjG,CAAC;IACD,MAAM,QAAQ,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;IACzC,MAAM,QAAQ,GAAG,IAAI,eAAe,EAAE,CAAC;IACvC,MAAM,QAAQ,GAAG,UAAU,CAAC,OAAO,CAAC,cAAc,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;IACxE,MAAM,EAAE,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;IACzC,MAAM,KAAK,GAAG,OAAO,CAAC,WAAW,IAAI,UAAU,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAC;IACnF,MAAM,QAAQ,GAAG,IAAI,gBAAgB,CAAC,QAAQ,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IACjE,MAAM,OAAO,GAAG;QACd,UAAU,EAAE,OAAO,CAAC,KAAK;QACzB,cAAc,EAAE,QAAQ,CAAC,KAAK,CAAC,IAAI;QACnC,aAAa,EAAE,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC;QAC1C,GAAG,CAAC,SAAS,CAAC,MAAM,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,MAAM,EAAE,CAAC;QACrD,GAAG,CAAC,KAAK,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,kBAAkB,EAAE,UAAmB,EAAE,CAAC;KAC5E,CAAC;IAEF,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACnD,MAAM,MAAM,GAAG,MAAM;YACnB,CAAC,CAAC,MAAM,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,EAAE,OAAO,CAAC;YAC9C,CAAC,CAAC,MAAM,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAC7D,IAAI,MAAM,CAAC,KAAK;YAAE,MAAM,MAAM,CAAC,KAAK,CAAC;QACrC,SAAS,CAAC,MAAM,EAAE,cAAc,EAAE,CAAC;QACnC,MAAM,WAAW,GAA4B,EAAE,CAAC;QAChD,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;YAChD,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;gBAClB,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI;oBACrC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,MAAM;oBACzC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAC1B,CAAC;QACD,MAAM,IAAI,GAAsB;YAC9B,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC;YACpC,WAAW;YACX,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;YAC5B,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO;SAC/B,CAAC;QACF,MAAM,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QAC/C,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO;YAAE,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACpD,IAAI,KAAK,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC;YAAE,MAAM,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QAC1F,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC"}
|
package/dist/queue.d.ts
CHANGED
|
@@ -10,6 +10,11 @@
|
|
|
10
10
|
import { Queue, type Job } from 'bullmq';
|
|
11
11
|
import type { ToolApprovalDecision } from '@cogitator-ai/types';
|
|
12
12
|
import type { JobState, QueueConfig, QueueMetrics, JobPayload, AgentJobPayload, AgentJobResult, WorkflowJobPayload, SwarmJobPayload, SwarmAgentJobPayload, SerializedAgent, SerializedWorkflow, SerializedSwarm } from './types.js';
|
|
13
|
+
/**
|
|
14
|
+
* A queue of agent, workflow and swarm jobs. Each `add*Job` takes a `jobId`: the job is added
|
|
15
|
+
* under it, and adding a job whose id the queue holds already gives the job it holds back instead
|
|
16
|
+
* of adding a second one, so producers can retry an add without running the work twice.
|
|
17
|
+
*/
|
|
13
18
|
export declare class JobQueue {
|
|
14
19
|
private queue;
|
|
15
20
|
private connection;
|
|
@@ -23,6 +28,8 @@ export declare class JobQueue {
|
|
|
23
28
|
priority?: number;
|
|
24
29
|
delay?: number;
|
|
25
30
|
metadata?: Record<string, unknown>;
|
|
31
|
+
/** Id of the job, see {@link JobQueue} for adding one twice */
|
|
32
|
+
jobId?: string;
|
|
26
33
|
}): Promise<Job<AgentJobPayload>>;
|
|
27
34
|
/**
|
|
28
35
|
* Continue an agent job whose run paused for tool approvals (its result has
|
|
@@ -53,6 +60,8 @@ export declare class JobQueue {
|
|
|
53
60
|
priority?: number;
|
|
54
61
|
delay?: number;
|
|
55
62
|
metadata?: Record<string, unknown>;
|
|
63
|
+
/** Id of the job, see {@link JobQueue} for adding one twice */
|
|
64
|
+
jobId?: string;
|
|
56
65
|
}): Promise<Job<AgentJobPayload>>;
|
|
57
66
|
/**
|
|
58
67
|
* Add a workflow execution job to the queue
|
|
@@ -62,6 +71,8 @@ export declare class JobQueue {
|
|
|
62
71
|
priority?: number;
|
|
63
72
|
delay?: number;
|
|
64
73
|
metadata?: Record<string, unknown>;
|
|
74
|
+
/** Id of the job, see {@link JobQueue} for adding one twice */
|
|
75
|
+
jobId?: string;
|
|
65
76
|
}): Promise<Job<WorkflowJobPayload>>;
|
|
66
77
|
/**
|
|
67
78
|
* Add a swarm execution job to the queue
|
|
@@ -70,6 +81,8 @@ export declare class JobQueue {
|
|
|
70
81
|
priority?: number;
|
|
71
82
|
delay?: number;
|
|
72
83
|
metadata?: Record<string, unknown>;
|
|
84
|
+
/** Id of the job, see {@link JobQueue} for adding one twice */
|
|
85
|
+
jobId?: string;
|
|
73
86
|
}): Promise<Job<SwarmJobPayload>>;
|
|
74
87
|
/**
|
|
75
88
|
* Queue one agent turn of a swarm as a BullMQ job. A `WorkerPool` runs it and publishes the
|
|
@@ -87,7 +100,19 @@ export declare class JobQueue {
|
|
|
87
100
|
delay?: number;
|
|
88
101
|
/** Agent run timeout in ms (shorthand for `runOptions.timeout`) */
|
|
89
102
|
timeout?: number;
|
|
103
|
+
/** Id of the job, see {@link JobQueue} for adding one twice */
|
|
104
|
+
jobId?: string;
|
|
90
105
|
}): Promise<Job<SwarmAgentJobPayload>>;
|
|
106
|
+
/**
|
|
107
|
+
* Add the job, and when the producer gave its id, hand back the job the queue holds under it:
|
|
108
|
+
* adding a job whose id the queue holds already adds nothing and gives that job back, so a
|
|
109
|
+
* producer that retries an add, such as after a timeout, does not run the work twice, even when
|
|
110
|
+
* the two adds race. A job the queue removed (after it completed or failed, past
|
|
111
|
+
* `removeOnComplete` or `removeOnFail`) is gone, and its id adds a new job.
|
|
112
|
+
*
|
|
113
|
+
* @throws Error when the queue holds the id as another kind of job
|
|
114
|
+
*/
|
|
115
|
+
private add;
|
|
91
116
|
/**
|
|
92
117
|
* Get job by ID
|
|
93
118
|
*/
|
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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"}
|