@cogitator-ai/worker 0.10.0 → 0.11.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +17 -2
- 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/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/queue.d.ts +5 -2
- package/dist/queue.d.ts.map +1 -1
- package/dist/queue.js +12 -5
- package/dist/queue.js.map +1 -1
- package/dist/types.d.ts +2 -18
- package/dist/types.d.ts.map +1 -1
- package/package.json +6 -6
package/README.md
CHANGED
|
@@ -131,6 +131,8 @@ interface QueueConfig {
|
|
|
131
131
|
}
|
|
132
132
|
```
|
|
133
133
|
|
|
134
|
+
`redis` is the `RedisConnectionConfig` of `@cogitator-ai/types`, the same config `DistributedSwarmWorker` and distributed swarms take. `resolveRedisOptions(redis)` gives the settings it resolves to for one server.
|
|
135
|
+
|
|
134
136
|
### Adding Jobs
|
|
135
137
|
|
|
136
138
|
**Agent Jobs:**
|
|
@@ -434,7 +436,7 @@ const swarmResult = await processSwarmJob(
|
|
|
434
436
|
|
|
435
437
|
`processWorkflowJob` called on its own runs without checkpoints unless the runtime has `checkpoints` (a `CheckpointStore`). With them, pass `{ willRetry }` as the third argument: a run whose failure another attempt follows (`willRetry(error)` returns `true`) keeps its checkpoint for it, any other failure deletes it.
|
|
436
438
|
|
|
437
|
-
`processSwarmAgentJob(payload, { publisher, isFinalAttempt, ...runtime })` executes one distributed swarm turn and
|
|
439
|
+
`processSwarmAgentJob(payload, { publisher, isFinalAttempt, ...runtime })` executes one distributed swarm turn and hands the result (tagged with the job id) to the coordinator with `deliverSwarmJobResult` of `@cogitator-ai/swarms`: when the job names `stateKeys.result` and the publisher has `set`, the result is kept there for `payload.resultTtl` ms (one hour by default), then it is published to `payload.stateKeys.results`. `publisher` is a `SwarmResultPublisher`, now an alias of `SwarmResultClient` (`publish`, optional `set`). `executeSwarmAgentJob` returns the result without publishing.
|
|
438
440
|
|
|
439
441
|
---
|
|
440
442
|
|
|
@@ -448,7 +450,7 @@ import { DistributedSwarmWorker } from '@cogitator-ai/worker';
|
|
|
448
450
|
|
|
449
451
|
const worker = new DistributedSwarmWorker(
|
|
450
452
|
{
|
|
451
|
-
redis: {
|
|
453
|
+
redis: { url: 'redis://localhost:6379' }, // the same Redis as the swarm's distributed.redis
|
|
452
454
|
keyPrefix: 'swarm', // must match the swarm's distributed.redis.keyPrefix
|
|
453
455
|
queue: 'swarm-agent-jobs', // must match distributed.queue
|
|
454
456
|
concurrency: 4,
|
|
@@ -459,6 +461,7 @@ const worker = new DistributedSwarmWorker(
|
|
|
459
461
|
onJobCompleted: (job) => console.log('done', job.agentName),
|
|
460
462
|
onJobFailed: (job, error) => console.error(job.agentName, error.message),
|
|
461
463
|
onJobCancelled: (job) => console.log('the swarm gave up on', job.jobId),
|
|
464
|
+
onJobsRecovered: (workerId, count) => console.warn(`${count} turns of ${workerId} requeued`),
|
|
462
465
|
onError: (error) => console.error(error),
|
|
463
466
|
}
|
|
464
467
|
);
|
|
@@ -469,6 +472,18 @@ process.on('SIGTERM', () => void worker.stop()); // waits for in-flight turns
|
|
|
469
472
|
|
|
470
473
|
Failed turns are reported back to the swarm as errors, so the swarm's own `errorHandling` (retry, failover, skip) applies. A turn the swarm gave up on (its run aborted or timed out, the swarm closed, another attempt answered) is skipped, or aborted while it runs (checked every `cancelCheckInterval` ms, default 1000), and reported to `onJobCancelled` instead of being published. Each turn runs on the model its agent would use in-process, routed by the worker's `cogitator`, so give the worker the same `llm.backends`, plugins and provider keys as the process that runs the swarm.
|
|
471
474
|
|
|
475
|
+
`redis` takes a `url` (`rediss://` for TLS), `host`, `port`, `username`, `password`, `db`, `tls` or `cluster.nodes`, like the queue. The turns sit in the list `<keyPrefix>:jobs:{<queue>}`, whose braces are a Redis Cluster hash tag that keeps the queue and its worker keys in one slot. Earlier versions used `<keyPrefix>:jobs:<queue>`, so upgrade the processes that run swarms and the workers together.
|
|
476
|
+
|
|
477
|
+
The queue is reliable:
|
|
478
|
+
|
|
479
|
+
- A worker moves each turn with `BLMOVE` (Redis 6.2 or newer) from the queue to its own list `<queue key>:processing:<workerId>`, and takes it off once the turn is done.
|
|
480
|
+
- Every `heartbeatInterval` ms (default 5000) it sets its heartbeat key `<queue key>:heartbeat:<workerId>`, which expires after three intervals, and stays in the set `<queue key>:workers`.
|
|
481
|
+
- On `start()` and on every beat, a worker moves the turns of workers whose heartbeat is gone back to the head of the queue, drops those workers from the set and reports `onJobsRecovered(workerId, count)`.
|
|
482
|
+
- A worker also checks its own list on every beat: a turn on it that the worker does not run at two beats in a row, such as one a `BLMOVE` moved while a dropped connection lost its reply, goes back to the head of the queue and is reported with the worker's own id.
|
|
483
|
+
- A worker silent for three intervals counts as gone, so a turn on a stalled worker can run twice.
|
|
484
|
+
- The result is kept under the job's `stateKeys.result` for `resultTtl` ms before it is published, so the coordinator finds it after a missed message, and a worker skips a job whose result is there (such as one a dead worker answered before it took the turn off its list). A result the worker cannot keep under its key is still published.
|
|
485
|
+
- `stop()` waits for in-flight turns, hands back what is left on its list, leaves the set and deletes its heartbeat. `getWorkerId()` gives the worker's id, new on every `start()`.
|
|
486
|
+
|
|
472
487
|
---
|
|
473
488
|
|
|
474
489
|
## Job Results
|
package/dist/connection.d.ts
CHANGED
|
@@ -1,23 +1,8 @@
|
|
|
1
1
|
import { Cluster, Redis } from 'ioredis';
|
|
2
2
|
import type { ConnectionOptions } from 'bullmq';
|
|
3
3
|
import type { QueueConfig } from './types.js';
|
|
4
|
+
export { resolveRedisOptions, type RedisConnectionOptions } from '@cogitator-ai/swarms';
|
|
4
5
|
export declare const DEFAULT_QUEUE_NAME = "cogitator-jobs";
|
|
5
|
-
/** A single Redis server's connection settings, the url read and the explicit fields applied. */
|
|
6
|
-
export interface RedisConnectionOptions {
|
|
7
|
-
host: string;
|
|
8
|
-
port: number;
|
|
9
|
-
username?: string;
|
|
10
|
-
password?: string;
|
|
11
|
-
db?: number;
|
|
12
|
-
tls?: Record<string, never>;
|
|
13
|
-
}
|
|
14
|
-
/**
|
|
15
|
-
* Connection settings from the queue's redis config: `url` first (`redis://` or `rediss://` for
|
|
16
|
-
* TLS, `user:password@`, a `/db` path), then the explicit fields, which win.
|
|
17
|
-
*
|
|
18
|
-
* @throws Error for a url that is not redis:// or rediss://, or a db path that is not a number
|
|
19
|
-
*/
|
|
20
|
-
export declare function resolveRedisOptions(redis: RedisConnectionConfig): RedisConnectionOptions;
|
|
21
6
|
export type RedisClient = Redis | Cluster;
|
|
22
7
|
type RedisConnectionConfig = QueueConfig['redis'];
|
|
23
8
|
/**
|
|
@@ -41,5 +26,4 @@ export declare function createBullConnection(redis: RedisConnectionConfig, optio
|
|
|
41
26
|
* Plain client (e.g. for publishing swarm results) using the same Redis configuration.
|
|
42
27
|
*/
|
|
43
28
|
export declare function createRedisClient(redis: RedisConnectionConfig): RedisClient;
|
|
44
|
-
export {};
|
|
45
29
|
//# sourceMappingURL=connection.d.ts.map
|
package/dist/connection.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../src/connection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../src/connection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AAEhD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE3C,OAAO,EAAE,mBAAmB,EAAE,KAAK,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAExF,eAAO,MAAM,kBAAkB,mBAAmB,CAAC;AAEnD,MAAM,MAAM,WAAW,GAAG,KAAK,GAAG,OAAO,CAAC;AAE1C,KAAK,qBAAqB,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;AAElD;;GAEG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,qBAAqB,GAAG,MAAM,CAEhE;AAED,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,iBAAiB,CAAC;IAC9B,yEAAyE;IACzE,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1B;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,qBAAqB,EAC5B,OAAO,GAAE;IAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAO,GACnC,cAAc,CA4BhB;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,qBAAqB,GAAG,WAAW,CAS3E"}
|
package/dist/connection.js
CHANGED
|
@@ -1,58 +1,13 @@
|
|
|
1
1
|
import { Cluster, Redis } from 'ioredis';
|
|
2
|
+
import { clusterNodeOptions, resolveRedisOptions } from '@cogitator-ai/swarms';
|
|
3
|
+
export { resolveRedisOptions } from '@cogitator-ai/swarms';
|
|
2
4
|
export const DEFAULT_QUEUE_NAME = 'cogitator-jobs';
|
|
3
|
-
/**
|
|
4
|
-
* Connection settings from the queue's redis config: `url` first (`redis://` or `rediss://` for
|
|
5
|
-
* TLS, `user:password@`, a `/db` path), then the explicit fields, which win.
|
|
6
|
-
*
|
|
7
|
-
* @throws Error for a url that is not redis:// or rediss://, or a db path that is not a number
|
|
8
|
-
*/
|
|
9
|
-
export function resolveRedisOptions(redis) {
|
|
10
|
-
let fromUrl = {};
|
|
11
|
-
if (redis.url) {
|
|
12
|
-
const url = new URL(redis.url);
|
|
13
|
-
if (url.protocol !== 'redis:' && url.protocol !== 'rediss:') {
|
|
14
|
-
throw new Error(`Redis url must start with redis:// or rediss://, got ${url.protocol}//`);
|
|
15
|
-
}
|
|
16
|
-
const dbPath = url.pathname.replace(/^\//, '');
|
|
17
|
-
if (dbPath !== '' && !/^\d+$/.test(dbPath)) {
|
|
18
|
-
throw new Error(`Redis url database must be a number, got "${dbPath}"`);
|
|
19
|
-
}
|
|
20
|
-
fromUrl = {
|
|
21
|
-
...(url.hostname && { host: url.hostname }),
|
|
22
|
-
...(url.port && { port: Number(url.port) }),
|
|
23
|
-
...(url.username && { username: decodeURIComponent(url.username) }),
|
|
24
|
-
...(url.password && { password: decodeURIComponent(url.password) }),
|
|
25
|
-
...(dbPath !== '' && { db: Number(dbPath) }),
|
|
26
|
-
tlsFromUrl: url.protocol === 'rediss:',
|
|
27
|
-
};
|
|
28
|
-
}
|
|
29
|
-
const tls = redis.tls ?? fromUrl.tlsFromUrl ?? false;
|
|
30
|
-
const username = redis.username ?? fromUrl.username;
|
|
31
|
-
const password = redis.password ?? fromUrl.password;
|
|
32
|
-
const db = redis.db ?? fromUrl.db;
|
|
33
|
-
return {
|
|
34
|
-
host: redis.host ?? fromUrl.host ?? 'localhost',
|
|
35
|
-
port: redis.port ?? fromUrl.port ?? 6379,
|
|
36
|
-
...(username !== undefined && { username }),
|
|
37
|
-
...(password !== undefined && { password }),
|
|
38
|
-
...(db !== undefined && { db }),
|
|
39
|
-
...(tls && { tls: {} }),
|
|
40
|
-
};
|
|
41
|
-
}
|
|
42
5
|
/**
|
|
43
6
|
* BullMQ key prefix; cluster mode needs a hash tag so all queue keys share a slot.
|
|
44
7
|
*/
|
|
45
8
|
export function queuePrefix(redis) {
|
|
46
9
|
return redis.cluster ? '{cogitator}' : 'cogitator';
|
|
47
10
|
}
|
|
48
|
-
/**
|
|
49
|
-
* What every cluster node connection needs from the config: the credentials and TLS of the url
|
|
50
|
-
* and the explicit fields, without a host, port or database (a cluster has no database).
|
|
51
|
-
*/
|
|
52
|
-
function clusterNodeOptions(redis) {
|
|
53
|
-
const { host: _host, port: _port, db: _db, ...rest } = resolveRedisOptions(redis);
|
|
54
|
-
return rest;
|
|
55
|
-
}
|
|
56
11
|
/**
|
|
57
12
|
* Connection for BullMQ queues and workers. Blocking (worker) connections must not limit
|
|
58
13
|
* retries per request, as BullMQ requires. Cluster instances are shared with BullMQ, which
|
package/dist/connection.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connection.js","sourceRoot":"","sources":["../src/connection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"connection.js","sourceRoot":"","sources":["../src/connection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEzC,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAG/E,OAAO,EAAE,mBAAmB,EAA+B,MAAM,sBAAsB,CAAC;AAExF,MAAM,CAAC,MAAM,kBAAkB,GAAG,gBAAgB,CAAC;AAMnD;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,KAA4B;IACtD,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,WAAW,CAAC;AACrD,CAAC;AAQD;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAClC,KAA4B,EAC5B,UAAkC,EAAE;IAEpC,MAAM,oBAAoB,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;IAEjE,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;QAClB,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACrC,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;QAC5E,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE;YAC/C,WAAW,EAAE,IAAI;YACjB,YAAY,EAAE,EAAE,GAAG,kBAAkB,CAAC,KAAK,CAAC,EAAE,oBAAoB,EAAE;SACrE,CAAC,CAAC;QACH,OAAO;YACL,UAAU,EAAE,OAAO;YACnB,OAAO,EAAE,KAAK,IAAI,EAAE;gBAClB,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK;oBAAE,OAAO;gBACrC,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;oBAC9B,OAAO,CAAC,UAAU,EAAE,CAAC;oBACrB,OAAO;gBACT,CAAC;gBACD,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;YACvB,CAAC;SACF,CAAC;IACJ,CAAC;IAED,OAAO;QACL,UAAU,EAAE,EAAE,GAAG,mBAAmB,CAAC,KAAK,CAAC,EAAE,oBAAoB,EAAE;QACnE,OAAO,EAAE,KAAK,IAAI,EAAE,GAAE,CAAC;KACxB,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAA4B;IAC5D,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;QAClB,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACrC,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;QAC5E,CAAC;QACD,OAAO,IAAI,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,YAAY,EAAE,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACvF,CAAC;IAED,OAAO,IAAI,KAAK,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC;AAC/C,CAAC"}
|
|
@@ -2,18 +2,18 @@
|
|
|
2
2
|
* Worker node for distributed swarms.
|
|
3
3
|
*
|
|
4
4
|
* Consumes agent turns dispatched by `DistributedSwarmCoordinator` (from
|
|
5
|
-
* `@cogitator-ai/swarms`), runs them with the worker's Cogitator and tools, and
|
|
6
|
-
*
|
|
5
|
+
* `@cogitator-ai/swarms`), runs them with the worker's Cogitator and tools, and hands each
|
|
6
|
+
* result back to the coordinator. A turn moves from the queue to this worker's own list while
|
|
7
|
+
* it runs, so a turn of a worker that died goes back to the queue for another one.
|
|
7
8
|
*/
|
|
9
|
+
import type { RedisConnectionConfig } from '@cogitator-ai/types';
|
|
8
10
|
import type { SwarmAgentJobPayload, SwarmAgentJobResult, WorkerRuntime } from './types.js';
|
|
9
11
|
export interface DistributedSwarmWorkerConfig extends WorkerRuntime {
|
|
10
|
-
/**
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
db?: number;
|
|
16
|
-
};
|
|
12
|
+
/**
|
|
13
|
+
* Redis holding the swarm job queue (must match the swarm's `distributed.redis`): a url, host
|
|
14
|
+
* and port, TLS, or a cluster. Default: localhost:6379
|
|
15
|
+
*/
|
|
16
|
+
redis?: RedisConnectionConfig;
|
|
17
17
|
/** Swarm key prefix (must match `distributed.redis.keyPrefix`, default: 'swarm') */
|
|
18
18
|
keyPrefix?: string;
|
|
19
19
|
/** Job queue name (must match `distributed.queue`, default: 'swarm-agent-jobs') */
|
|
@@ -28,39 +28,98 @@ export interface DistributedSwarmWorkerConfig extends WorkerRuntime {
|
|
|
28
28
|
* cancelled turn is aborted and its result is not published
|
|
29
29
|
*/
|
|
30
30
|
cancelCheckInterval?: number;
|
|
31
|
+
/**
|
|
32
|
+
* How often, in ms, the worker tells the queue it is alive and returns the turns of workers
|
|
33
|
+
* that stopped doing so to the queue (default: 5000). A worker silent for three intervals
|
|
34
|
+
* counts as gone, so a turn that runs past that on a stalled worker can run twice
|
|
35
|
+
*/
|
|
36
|
+
heartbeatInterval?: number;
|
|
31
37
|
}
|
|
32
38
|
export interface DistributedSwarmWorkerEvents {
|
|
33
39
|
onJobStarted?: (job: SwarmAgentJobPayload) => void;
|
|
34
40
|
onJobCompleted?: (job: SwarmAgentJobPayload, result: SwarmAgentJobResult) => void;
|
|
35
41
|
onJobFailed?: (job: SwarmAgentJobPayload, error: Error) => void;
|
|
36
|
-
/**
|
|
42
|
+
/**
|
|
43
|
+
* The coordinator gave up on the turn or already has its result: it was skipped, or aborted
|
|
44
|
+
* while it ran
|
|
45
|
+
*/
|
|
37
46
|
onJobCancelled?: (job: SwarmAgentJobPayload) => void;
|
|
47
|
+
/**
|
|
48
|
+
* Turns went back to the queue: those of a worker that stopped beating, or ones on this
|
|
49
|
+
* worker's own list it never got (`workerId` is then its own)
|
|
50
|
+
*/
|
|
51
|
+
onJobsRecovered?: (workerId: string, count: number) => void;
|
|
38
52
|
onError?: (error: Error) => void;
|
|
39
53
|
}
|
|
40
54
|
export declare class DistributedSwarmWorker {
|
|
41
55
|
private readonly config;
|
|
42
56
|
private readonly events;
|
|
43
57
|
private readonly runtime;
|
|
44
|
-
private readonly
|
|
58
|
+
private readonly keys;
|
|
59
|
+
/** This worker's id in the queue's worker set, new for every start */
|
|
60
|
+
private workerId;
|
|
45
61
|
private consumer?;
|
|
46
62
|
private publisher?;
|
|
47
63
|
private loop?;
|
|
64
|
+
/** The next beat, scheduled once the one before it finished */
|
|
65
|
+
private beat?;
|
|
66
|
+
/** The beat running now, which `stop()` waits for */
|
|
67
|
+
private beating?;
|
|
68
|
+
/** Whether the worker beats: from `start()` until `stop()` saw its last turn finish */
|
|
69
|
+
private alive;
|
|
48
70
|
private running;
|
|
49
71
|
private readonly active;
|
|
72
|
+
/** The turns this worker took and runs, as moved: one entry per copy */
|
|
73
|
+
private readonly holding;
|
|
74
|
+
/** Turns on this worker's list it did not run at the last beat, with how many copies */
|
|
75
|
+
private strays;
|
|
50
76
|
constructor(config?: DistributedSwarmWorkerConfig, events?: DistributedSwarmWorkerEvents);
|
|
51
77
|
/**
|
|
52
|
-
* Start consuming jobs. Resolves once the worker is connected
|
|
78
|
+
* Start consuming jobs. Resolves once the worker is connected, has joined the queue's workers
|
|
79
|
+
* and has returned the turns of workers that are gone to the queue.
|
|
53
80
|
*/
|
|
54
81
|
start(): Promise<void>;
|
|
55
82
|
/**
|
|
56
|
-
* Stop taking new jobs, wait for in-flight jobs to finish
|
|
83
|
+
* Stop taking new jobs, wait for in-flight jobs to finish, hand back to the queue whatever is
|
|
84
|
+
* still on this worker's list, leave the queue's workers and close connections.
|
|
57
85
|
*/
|
|
58
86
|
stop(): Promise<void>;
|
|
87
|
+
/** This worker's id in the queue's worker set while it runs */
|
|
88
|
+
getWorkerId(): string;
|
|
59
89
|
isRunning(): boolean;
|
|
60
90
|
getActiveJobCount(): number;
|
|
61
91
|
private consume;
|
|
92
|
+
/**
|
|
93
|
+
* Beat once `heartbeatInterval` ms from now, and again that long after it finished: one beat at
|
|
94
|
+
* a time, so a slow Redis never runs two `reclaim()` at once or shortens the grace between two
|
|
95
|
+
*/
|
|
96
|
+
private scheduleBeat;
|
|
97
|
+
private heartbeatInterval;
|
|
98
|
+
/** Tell the queue this worker is alive: its heartbeat first, so no one takes it for gone */
|
|
99
|
+
private heartbeat;
|
|
100
|
+
/**
|
|
101
|
+
* Hand back to the queue the turns on this worker's own list it does not run, at the second
|
|
102
|
+
* beat in a row that finds them there: a BLMOVE whose reply a dropped connection lost (and
|
|
103
|
+
* ioredis sent again) moved a turn this worker never got. One beat of grace lets a reply that
|
|
104
|
+
* is still on its way arrive first
|
|
105
|
+
*/
|
|
106
|
+
private reclaim;
|
|
107
|
+
/** Return the turns of every worker whose heartbeat is gone to the queue */
|
|
108
|
+
private recover;
|
|
109
|
+
/**
|
|
110
|
+
* Move the turns on a worker's list back to the head of the queue, one at a time so two
|
|
111
|
+
* workers recovering it at once never move a turn twice
|
|
112
|
+
*
|
|
113
|
+
* @returns how many turns this call moved
|
|
114
|
+
*/
|
|
115
|
+
private requeue;
|
|
116
|
+
private reportError;
|
|
62
117
|
private handle;
|
|
63
|
-
/**
|
|
118
|
+
/**
|
|
119
|
+
* Whether the coordinator gave up on the job (only coordinators that name a cancel set), or a
|
|
120
|
+
* worker answered it already, such as one that died after answering and before taking the job
|
|
121
|
+
* off its list
|
|
122
|
+
*/
|
|
64
123
|
private isCancelled;
|
|
65
124
|
/** Abort `controller` once the coordinator cancels the job while it runs. */
|
|
66
125
|
private watchCancellation;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"distributed-swarm-worker.d.ts","sourceRoot":"","sources":["../src/distributed-swarm-worker.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"distributed-swarm-worker.d.ts","sourceRoot":"","sources":["../src/distributed-swarm-worker.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,14 +2,29 @@
|
|
|
2
2
|
* Worker node for distributed swarms.
|
|
3
3
|
*
|
|
4
4
|
* Consumes agent turns dispatched by `DistributedSwarmCoordinator` (from
|
|
5
|
-
* `@cogitator-ai/swarms`), runs them with the worker's Cogitator and tools, and
|
|
6
|
-
*
|
|
5
|
+
* `@cogitator-ai/swarms`), runs them with the worker's Cogitator and tools, and hands each
|
|
6
|
+
* result back to the coordinator. A turn moves from the queue to this worker's own list while
|
|
7
|
+
* it runs, so a turn of a worker that died goes back to the queue for another one.
|
|
7
8
|
*/
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
9
|
+
import { nanoid } from 'nanoid';
|
|
10
|
+
import { closeSwarmRedis, createSwarmRedis, deliverSwarmJobResult, swarmQueueKeys, } from '@cogitator-ai/swarms';
|
|
10
11
|
import { executeSwarmAgentJob } from './processors/swarm-agent.js';
|
|
11
12
|
import { toErrorMessage } from './processors/shared.js';
|
|
12
13
|
import { Cogitator } from '@cogitator-ai/core';
|
|
14
|
+
/** Take one copy of a turn off a worker's list and put it at the head of the queue, at once */
|
|
15
|
+
const HAND_BACK = `if redis.call('LREM', KEYS[1], 1, ARGV[1]) == 1 then
|
|
16
|
+
redis.call('LPUSH', KEYS[2], ARGV[1])
|
|
17
|
+
return 1
|
|
18
|
+
end
|
|
19
|
+
return 0`;
|
|
20
|
+
/**
|
|
21
|
+
* Drop a worker from the queue's workers only while its heartbeat is still gone, at once: a
|
|
22
|
+
* worker that came back and beat meanwhile keeps its place, so its list stays found
|
|
23
|
+
*/
|
|
24
|
+
const FORGET_WORKER = `if redis.call('EXISTS', KEYS[1]) == 0 then
|
|
25
|
+
return redis.call('SREM', KEYS[2], ARGV[1])
|
|
26
|
+
end
|
|
27
|
+
return 0`;
|
|
13
28
|
function isSwarmAgentJob(value) {
|
|
14
29
|
if (typeof value !== 'object' || value === null)
|
|
15
30
|
return false;
|
|
@@ -26,12 +41,24 @@ export class DistributedSwarmWorker {
|
|
|
26
41
|
config;
|
|
27
42
|
events;
|
|
28
43
|
runtime;
|
|
29
|
-
|
|
44
|
+
keys;
|
|
45
|
+
/** This worker's id in the queue's worker set, new for every start */
|
|
46
|
+
workerId = '';
|
|
30
47
|
consumer;
|
|
31
48
|
publisher;
|
|
32
49
|
loop;
|
|
50
|
+
/** The next beat, scheduled once the one before it finished */
|
|
51
|
+
beat;
|
|
52
|
+
/** The beat running now, which `stop()` waits for */
|
|
53
|
+
beating;
|
|
54
|
+
/** Whether the worker beats: from `start()` until `stop()` saw its last turn finish */
|
|
55
|
+
alive = false;
|
|
33
56
|
running = false;
|
|
34
57
|
active = new Set();
|
|
58
|
+
/** The turns this worker took and runs, as moved: one entry per copy */
|
|
59
|
+
holding = [];
|
|
60
|
+
/** Turns on this worker's list it did not run at the last beat, with how many copies */
|
|
61
|
+
strays = new Map();
|
|
35
62
|
constructor(config = {}, events = {}) {
|
|
36
63
|
this.config = config;
|
|
37
64
|
this.events = events;
|
|
@@ -39,38 +66,39 @@ export class DistributedSwarmWorker {
|
|
|
39
66
|
cogitator: config.cogitator ?? new Cogitator(),
|
|
40
67
|
tools: config.tools ?? [],
|
|
41
68
|
};
|
|
42
|
-
this.
|
|
69
|
+
this.keys = swarmQueueKeys(config.keyPrefix, config.queue);
|
|
43
70
|
}
|
|
44
71
|
/**
|
|
45
|
-
* Start consuming jobs. Resolves once the worker is connected
|
|
72
|
+
* Start consuming jobs. Resolves once the worker is connected, has joined the queue's workers
|
|
73
|
+
* and has returned the turns of workers that are gone to the queue.
|
|
46
74
|
*/
|
|
47
75
|
async start() {
|
|
48
76
|
if (this.running)
|
|
49
77
|
return;
|
|
50
|
-
const
|
|
51
|
-
|
|
52
|
-
port: this.config.redis?.port ?? 6379,
|
|
53
|
-
password: this.config.redis?.password,
|
|
54
|
-
db: this.config.redis?.db ?? 0,
|
|
55
|
-
lazyConnect: true,
|
|
56
|
-
};
|
|
57
|
-
const consumer = new Redis({ ...options, maxRetriesPerRequest: null });
|
|
58
|
-
const publisher = new Redis(options);
|
|
78
|
+
const consumer = createSwarmRedis(this.config.redis, { blocking: true });
|
|
79
|
+
const publisher = createSwarmRedis(this.config.redis);
|
|
59
80
|
try {
|
|
60
81
|
await Promise.all([consumer.connect(), publisher.connect()]);
|
|
82
|
+
this.workerId = `worker_${nanoid(12)}`;
|
|
83
|
+
this.publisher = publisher;
|
|
84
|
+
await this.heartbeat();
|
|
85
|
+
await this.recover();
|
|
61
86
|
}
|
|
62
87
|
catch (error) {
|
|
88
|
+
this.publisher = undefined;
|
|
63
89
|
consumer.disconnect();
|
|
64
90
|
publisher.disconnect();
|
|
65
91
|
throw error;
|
|
66
92
|
}
|
|
67
93
|
this.consumer = consumer;
|
|
68
|
-
this.publisher = publisher;
|
|
69
94
|
this.running = true;
|
|
95
|
+
this.alive = true;
|
|
96
|
+
this.scheduleBeat();
|
|
70
97
|
this.loop = this.consume();
|
|
71
98
|
}
|
|
72
99
|
/**
|
|
73
|
-
* Stop taking new jobs, wait for in-flight jobs to finish
|
|
100
|
+
* Stop taking new jobs, wait for in-flight jobs to finish, hand back to the queue whatever is
|
|
101
|
+
* still on this worker's list, leave the queue's workers and close connections.
|
|
74
102
|
*/
|
|
75
103
|
async stop() {
|
|
76
104
|
if (!this.running)
|
|
@@ -79,10 +107,28 @@ export class DistributedSwarmWorker {
|
|
|
79
107
|
this.consumer?.disconnect();
|
|
80
108
|
await this.loop;
|
|
81
109
|
await Promise.allSettled([...this.active]);
|
|
82
|
-
|
|
110
|
+
this.alive = false;
|
|
111
|
+
clearTimeout(this.beat);
|
|
112
|
+
await this.beating;
|
|
113
|
+
if (this.publisher) {
|
|
114
|
+
try {
|
|
115
|
+
await this.requeue(this.workerId);
|
|
116
|
+
await this.publisher.del(this.keys.heartbeat(this.workerId));
|
|
117
|
+
await this.publisher.srem(this.keys.workers, this.workerId);
|
|
118
|
+
}
|
|
119
|
+
catch (error) {
|
|
120
|
+
this.reportError(error);
|
|
121
|
+
}
|
|
122
|
+
await closeSwarmRedis(this.publisher);
|
|
123
|
+
}
|
|
83
124
|
this.consumer = undefined;
|
|
84
125
|
this.publisher = undefined;
|
|
85
126
|
this.loop = undefined;
|
|
127
|
+
this.beat = undefined;
|
|
128
|
+
}
|
|
129
|
+
/** This worker's id in the queue's worker set while it runs */
|
|
130
|
+
getWorkerId() {
|
|
131
|
+
return this.workerId;
|
|
86
132
|
}
|
|
87
133
|
isRunning() {
|
|
88
134
|
return this.running;
|
|
@@ -98,25 +144,123 @@ export class DistributedSwarmWorker {
|
|
|
98
144
|
await Promise.race(this.active);
|
|
99
145
|
continue;
|
|
100
146
|
}
|
|
101
|
-
let
|
|
147
|
+
let raw;
|
|
102
148
|
try {
|
|
103
|
-
|
|
149
|
+
raw = await this.consumer.blmove(this.keys.queue, this.keys.processing(this.workerId), 'LEFT', 'RIGHT', pollTimeout);
|
|
104
150
|
}
|
|
105
151
|
catch (error) {
|
|
106
152
|
if (!this.running)
|
|
107
153
|
return;
|
|
108
|
-
this.
|
|
154
|
+
this.reportError(error);
|
|
109
155
|
await new Promise((resolve) => setTimeout(resolve, 1000));
|
|
110
156
|
continue;
|
|
111
157
|
}
|
|
112
|
-
if (
|
|
158
|
+
if (raw === null)
|
|
113
159
|
continue;
|
|
114
|
-
const
|
|
160
|
+
const taken = raw;
|
|
161
|
+
this.holding.push(taken);
|
|
162
|
+
const task = this.handle(taken)
|
|
163
|
+
.catch((error) => this.reportError(error))
|
|
164
|
+
.finally(() => {
|
|
115
165
|
this.active.delete(task);
|
|
166
|
+
this.holding.splice(this.holding.indexOf(taken), 1);
|
|
167
|
+
void this.publisher
|
|
168
|
+
?.lrem(this.keys.processing(this.workerId), 1, taken)
|
|
169
|
+
.catch((error) => this.reportError(error));
|
|
116
170
|
});
|
|
117
171
|
this.active.add(task);
|
|
118
172
|
}
|
|
119
173
|
}
|
|
174
|
+
/**
|
|
175
|
+
* Beat once `heartbeatInterval` ms from now, and again that long after it finished: one beat at
|
|
176
|
+
* a time, so a slow Redis never runs two `reclaim()` at once or shortens the grace between two
|
|
177
|
+
*/
|
|
178
|
+
scheduleBeat() {
|
|
179
|
+
this.beat = setTimeout(() => {
|
|
180
|
+
this.beating = this.heartbeat()
|
|
181
|
+
.then(() => this.reclaim())
|
|
182
|
+
.then(() => this.recover())
|
|
183
|
+
.catch((error) => this.reportError(error))
|
|
184
|
+
.finally(() => {
|
|
185
|
+
this.beating = undefined;
|
|
186
|
+
if (this.alive)
|
|
187
|
+
this.scheduleBeat();
|
|
188
|
+
});
|
|
189
|
+
}, this.heartbeatInterval());
|
|
190
|
+
}
|
|
191
|
+
heartbeatInterval() {
|
|
192
|
+
return Math.max(100, this.config.heartbeatInterval ?? 5000);
|
|
193
|
+
}
|
|
194
|
+
/** Tell the queue this worker is alive: its heartbeat first, so no one takes it for gone */
|
|
195
|
+
async heartbeat() {
|
|
196
|
+
const publisher = this.publisher;
|
|
197
|
+
await publisher.set(this.keys.heartbeat(this.workerId), String(Date.now()), 'PX', this.heartbeatInterval() * 3);
|
|
198
|
+
await publisher.sadd(this.keys.workers, this.workerId);
|
|
199
|
+
}
|
|
200
|
+
/**
|
|
201
|
+
* Hand back to the queue the turns on this worker's own list it does not run, at the second
|
|
202
|
+
* beat in a row that finds them there: a BLMOVE whose reply a dropped connection lost (and
|
|
203
|
+
* ioredis sent again) moved a turn this worker never got. One beat of grace lets a reply that
|
|
204
|
+
* is still on its way arrive first
|
|
205
|
+
*/
|
|
206
|
+
async reclaim() {
|
|
207
|
+
const publisher = this.publisher;
|
|
208
|
+
const listed = await publisher.lrange(this.keys.processing(this.workerId), 0, -1);
|
|
209
|
+
const strays = new Map();
|
|
210
|
+
for (const raw of listed)
|
|
211
|
+
strays.set(raw, (strays.get(raw) ?? 0) + 1);
|
|
212
|
+
for (const raw of this.holding) {
|
|
213
|
+
const left = (strays.get(raw) ?? 0) - 1;
|
|
214
|
+
if (left > 0)
|
|
215
|
+
strays.set(raw, left);
|
|
216
|
+
else
|
|
217
|
+
strays.delete(raw);
|
|
218
|
+
}
|
|
219
|
+
let count = 0;
|
|
220
|
+
for (const [raw, copies] of strays) {
|
|
221
|
+
const confirmed = Math.min(copies, this.strays.get(raw) ?? 0);
|
|
222
|
+
for (let at = 0; at < confirmed; at++) {
|
|
223
|
+
const moved = await publisher.eval(HAND_BACK, 2, this.keys.processing(this.workerId), this.keys.queue, raw);
|
|
224
|
+
if (moved === 1)
|
|
225
|
+
count++;
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
this.strays = strays;
|
|
229
|
+
if (count > 0)
|
|
230
|
+
this.events.onJobsRecovered?.(this.workerId, count);
|
|
231
|
+
}
|
|
232
|
+
/** Return the turns of every worker whose heartbeat is gone to the queue */
|
|
233
|
+
async recover() {
|
|
234
|
+
const publisher = this.publisher;
|
|
235
|
+
for (const workerId of await publisher.smembers(this.keys.workers)) {
|
|
236
|
+
if (workerId === this.workerId)
|
|
237
|
+
continue;
|
|
238
|
+
if ((await publisher.exists(this.keys.heartbeat(workerId))) === 1)
|
|
239
|
+
continue;
|
|
240
|
+
const count = await this.requeue(workerId);
|
|
241
|
+
await publisher.eval(FORGET_WORKER, 2, this.keys.heartbeat(workerId), this.keys.workers, workerId);
|
|
242
|
+
if (count > 0)
|
|
243
|
+
this.events.onJobsRecovered?.(workerId, count);
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
/**
|
|
247
|
+
* Move the turns on a worker's list back to the head of the queue, one at a time so two
|
|
248
|
+
* workers recovering it at once never move a turn twice
|
|
249
|
+
*
|
|
250
|
+
* @returns how many turns this call moved
|
|
251
|
+
*/
|
|
252
|
+
async requeue(workerId) {
|
|
253
|
+
const publisher = this.publisher;
|
|
254
|
+
let count = 0;
|
|
255
|
+
while ((await publisher.lmove(this.keys.processing(workerId), this.keys.queue, 'RIGHT', 'LEFT')) !==
|
|
256
|
+
null) {
|
|
257
|
+
count++;
|
|
258
|
+
}
|
|
259
|
+
return count;
|
|
260
|
+
}
|
|
261
|
+
reportError(error) {
|
|
262
|
+
this.events.onError?.(error instanceof Error ? error : new Error(toErrorMessage(error)));
|
|
263
|
+
}
|
|
120
264
|
async handle(raw) {
|
|
121
265
|
let parsed;
|
|
122
266
|
try {
|
|
@@ -150,10 +294,10 @@ export class DistributedSwarmWorker {
|
|
|
150
294
|
return;
|
|
151
295
|
}
|
|
152
296
|
try {
|
|
153
|
-
await this.publisher
|
|
297
|
+
await deliverSwarmJobResult(this.publisher, job, result, (error) => this.reportError(error));
|
|
154
298
|
}
|
|
155
299
|
catch (error) {
|
|
156
|
-
this.
|
|
300
|
+
this.reportError(error);
|
|
157
301
|
return;
|
|
158
302
|
}
|
|
159
303
|
if (result.error !== undefined) {
|
|
@@ -163,16 +307,22 @@ export class DistributedSwarmWorker {
|
|
|
163
307
|
this.events.onJobCompleted?.(job, result);
|
|
164
308
|
}
|
|
165
309
|
}
|
|
166
|
-
/**
|
|
310
|
+
/**
|
|
311
|
+
* Whether the coordinator gave up on the job (only coordinators that name a cancel set), or a
|
|
312
|
+
* worker answered it already, such as one that died after answering and before taking the job
|
|
313
|
+
* off its list
|
|
314
|
+
*/
|
|
167
315
|
async isCancelled(job) {
|
|
168
|
-
const
|
|
169
|
-
if (!
|
|
316
|
+
const { cancelled, result } = job.stateKeys;
|
|
317
|
+
if (!this.publisher)
|
|
170
318
|
return false;
|
|
171
319
|
try {
|
|
172
|
-
|
|
320
|
+
if (cancelled && (await this.publisher.sismember(cancelled, job.jobId)) === 1)
|
|
321
|
+
return true;
|
|
322
|
+
return result !== undefined && (await this.publisher.exists(result)) === 1;
|
|
173
323
|
}
|
|
174
324
|
catch (error) {
|
|
175
|
-
this.
|
|
325
|
+
this.reportError(error);
|
|
176
326
|
return false;
|
|
177
327
|
}
|
|
178
328
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"distributed-swarm-worker.js","sourceRoot":"","sources":["../src/distributed-swarm-worker.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"distributed-swarm-worker.js","sourceRoot":"","sources":["../src/distributed-swarm-worker.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,14 +5,14 @@
|
|
|
5
5
|
* the job id so the swarm coordinator can match it; failures are reported as results with
|
|
6
6
|
* an `error` field instead of being thrown.
|
|
7
7
|
*/
|
|
8
|
+
import { type SwarmResultClient } from '@cogitator-ai/swarms';
|
|
8
9
|
import type { JobExecutionOptions, SwarmAgentJobPayload, SwarmAgentJobResult, WorkerRuntime } from '../types.js';
|
|
9
10
|
export declare function executeSwarmAgentJob(payload: SwarmAgentJobPayload, runtime?: WorkerRuntime, execution?: JobExecutionOptions): Promise<SwarmAgentJobResult>;
|
|
10
11
|
/**
|
|
11
|
-
*
|
|
12
|
+
* Hands a job result to the swarm coordinator: publishes it on the channel the coordinator
|
|
13
|
+
* listens to, and keeps it under the job's result key first when it can set keys.
|
|
12
14
|
*/
|
|
13
|
-
export
|
|
14
|
-
publish(channel: string, message: string): Promise<unknown>;
|
|
15
|
-
}
|
|
15
|
+
export type SwarmResultPublisher = SwarmResultClient;
|
|
16
16
|
export interface SwarmAgentJobOptions extends WorkerRuntime, JobExecutionOptions {
|
|
17
17
|
/** Connection used to publish the result back to the coordinator */
|
|
18
18
|
publisher: SwarmResultPublisher;
|
|
@@ -23,7 +23,8 @@ export interface SwarmAgentJobOptions extends WorkerRuntime, JobExecutionOptions
|
|
|
23
23
|
isFinalAttempt?: boolean;
|
|
24
24
|
}
|
|
25
25
|
/**
|
|
26
|
-
* Execute a swarm agent job and
|
|
26
|
+
* Execute a swarm agent job and hand its result to the coordinator: kept under
|
|
27
|
+
* `payload.stateKeys.result` when the job names one, and published to `payload.stateKeys.results`.
|
|
27
28
|
* Throws after publishing when the agent failed, so queues mark the job as failed.
|
|
28
29
|
*/
|
|
29
30
|
export declare function processSwarmAgentJob(payload: SwarmAgentJobPayload, options: SwarmAgentJobOptions): Promise<SwarmAgentJobResult>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"swarm-agent.d.ts","sourceRoot":"","sources":["../../src/processors/swarm-agent.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EACV,mBAAmB,EACnB,oBAAoB,EACpB,mBAAmB,EACnB,aAAa,EACd,MAAM,UAAU,CAAC;AAGlB,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,oBAAoB,EAC7B,OAAO,GAAE,aAAkB,EAC3B,SAAS,GAAE,mBAAwB,GAClC,OAAO,CAAC,mBAAmB,CAAC,CAyC9B;AAED
|
|
1
|
+
{"version":3,"file":"swarm-agent.d.ts","sourceRoot":"","sources":["../../src/processors/swarm-agent.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAAyB,KAAK,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACrF,OAAO,KAAK,EACV,mBAAmB,EACnB,oBAAoB,EACpB,mBAAmB,EACnB,aAAa,EACd,MAAM,UAAU,CAAC;AAGlB,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,oBAAoB,EAC7B,OAAO,GAAE,aAAkB,EAC3B,SAAS,GAAE,mBAAwB,GAClC,OAAO,CAAC,mBAAmB,CAAC,CAyC9B;AAED;;;GAGG;AACH,MAAM,MAAM,oBAAoB,GAAG,iBAAiB,CAAC;AAErD,MAAM,WAAW,oBAAqB,SAAQ,aAAa,EAAE,mBAAmB;IAC9E,oEAAoE;IACpE,SAAS,EAAE,oBAAoB,CAAC;IAChC;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED;;;;GAIG;AACH,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,oBAAoB,EAC7B,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,mBAAmB,CAAC,CAe9B"}
|
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
* an `error` field instead of being thrown.
|
|
7
7
|
*/
|
|
8
8
|
import { toAgentWireRunResult } from '@cogitator-ai/core';
|
|
9
|
+
import { deliverSwarmJobResult } from '@cogitator-ai/swarms';
|
|
9
10
|
import { createAgentFromConfig, resolveRuntime, toErrorMessage } from './shared.js';
|
|
10
11
|
export async function executeSwarmAgentJob(payload, runtime = {}, execution = {}) {
|
|
11
12
|
const { jobId, swarmId, agentName, agentConfig, input, context, runOptions } = payload;
|
|
@@ -49,14 +50,17 @@ export async function executeSwarmAgentJob(payload, runtime = {}, execution = {}
|
|
|
49
50
|
}
|
|
50
51
|
}
|
|
51
52
|
/**
|
|
52
|
-
* Execute a swarm agent job and
|
|
53
|
+
* Execute a swarm agent job and hand its result to the coordinator: kept under
|
|
54
|
+
* `payload.stateKeys.result` when the job names one, and published to `payload.stateKeys.results`.
|
|
53
55
|
* Throws after publishing when the agent failed, so queues mark the job as failed.
|
|
54
56
|
*/
|
|
55
57
|
export async function processSwarmAgentJob(payload, options) {
|
|
56
58
|
const result = await executeSwarmAgentJob(payload, options, { signal: options.signal });
|
|
57
59
|
const isFinal = options.isFinalAttempt ?? true;
|
|
58
60
|
if (result.error === undefined || isFinal) {
|
|
59
|
-
await options.publisher
|
|
61
|
+
await deliverSwarmJobResult(options.publisher, payload, result, (error) => {
|
|
62
|
+
console.warn('[processSwarmAgentJob] Could not keep the result under its key:', error);
|
|
63
|
+
});
|
|
60
64
|
}
|
|
61
65
|
if (result.error !== undefined) {
|
|
62
66
|
throw new Error(result.error);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"swarm-agent.js","sourceRoot":"","sources":["../../src/processors/swarm-agent.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"swarm-agent.js","sourceRoot":"","sources":["../../src/processors/swarm-agent.ts"],"names":[],"mappings":"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"}
|
package/dist/queue.d.ts
CHANGED
|
@@ -85,8 +85,9 @@ export declare class JobQueue {
|
|
|
85
85
|
jobId?: string;
|
|
86
86
|
}): Promise<Job<SwarmJobPayload>>;
|
|
87
87
|
/**
|
|
88
|
-
* Queue one agent turn of a swarm as a BullMQ job. A `WorkerPool` runs it
|
|
89
|
-
* result to `stateKeys.results` (by default
|
|
88
|
+
* Queue one agent turn of a swarm as a BullMQ job. A `WorkerPool` runs it, keeps the result
|
|
89
|
+
* under `stateKeys.result` and publishes it to `stateKeys.results` (by default
|
|
90
|
+
* `${keyPrefix}:{${swarmId}}:result:<jobId>` and `${keyPrefix}:{${swarmId}}:results`). Swarms with
|
|
90
91
|
* `distributed.enabled` do not use this queue: `DistributedSwarmCoordinator` pushes its turns
|
|
91
92
|
* to a Redis list that `DistributedSwarmWorker` consumes, so run that worker for them.
|
|
92
93
|
*/
|
|
@@ -100,6 +101,8 @@ export declare class JobQueue {
|
|
|
100
101
|
delay?: number;
|
|
101
102
|
/** Agent run timeout in ms (shorthand for `runOptions.timeout`) */
|
|
102
103
|
timeout?: number;
|
|
104
|
+
/** How long the worker keeps the result under `stateKeys.result`, in ms (default: 1 hour) */
|
|
105
|
+
resultTtl?: number;
|
|
103
106
|
/** Id of the job, see {@link JobQueue} for adding one twice */
|
|
104
107
|
jobId?: string;
|
|
105
108
|
}): Promise<Job<SwarmAgentJobPayload>>;
|
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;AAwDjB;;;;GAIG;AACH,qBAAa,QAAQ;IACnB,OAAO,CAAC,KAAK,CAAoB;IACjC,OAAO,CAAC,UAAU,CAAiB;gBAEvB,MAAM,EAAE,WAAW;IAiB/B;;OAEG;IACG,WAAW,CACf,WAAW,EAAE,eAAe,EAC5B,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE;QACR,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACnC,+DAA+D;QAC/D,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,GACA,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IAiBhC;;;;;;;;;;;;;;;;;;OAkBG;IACG,cAAc,CAClB,WAAW,EAAE,eAAe,EAC5B,MAAM,EAAE,IAAI,CAAC,cAAc,EAAE,QAAQ,GAAG,UAAU,GAAG,YAAY,CAAC,EAClE,OAAO,CAAC,EAAE;QACR,uDAAuD;QACvD,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;QACjD,6DAA6D;QAC7D,eAAe,CAAC,EAAE,oBAAoB,CAAC;QACvC,2EAA2E;QAC3E,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACnC,+DAA+D;QAC/D,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,GACA,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IA4BhC;;OAEG;IACG,cAAc,CAClB,cAAc,EAAE,kBAAkB,EAClC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,OAAO,CAAC,EAAE;QACR,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACnC,+DAA+D;QAC/D,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,GACA,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;IAgBnC;;OAEG;IACG,WAAW,CACf,WAAW,EAAE,eAAe,EAC5B,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE;QACR,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACnC,+DAA+D;QAC/D,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,GACA,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IAchC
|
|
1
|
+
{"version":3,"file":"queue.d.ts","sourceRoot":"","sources":["../src/queue.ts"],"names":[],"mappings":"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"}
|
package/dist/queue.js
CHANGED
|
@@ -170,14 +170,19 @@ export class JobQueue {
|
|
|
170
170
|
return this.add(payload, options);
|
|
171
171
|
}
|
|
172
172
|
/**
|
|
173
|
-
* Queue one agent turn of a swarm as a BullMQ job. A `WorkerPool` runs it
|
|
174
|
-
* 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
|
|
175
176
|
* `distributed.enabled` do not use this queue: `DistributedSwarmCoordinator` pushes its turns
|
|
176
177
|
* to a Redis list that `DistributedSwarmWorker` consumes, so run that worker for them.
|
|
177
178
|
*/
|
|
178
179
|
async addSwarmAgentJob(swarmId, agentName, agentConfig, input, options) {
|
|
179
180
|
const jobId = options?.jobId === undefined ? nanoid() : checkJobId(options.jobId);
|
|
180
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
|
+
}
|
|
181
186
|
const payload = {
|
|
182
187
|
type: 'swarm-agent',
|
|
183
188
|
jobId,
|
|
@@ -190,10 +195,12 @@ export class JobQueue {
|
|
|
190
195
|
? { ...options.runOptions, timeout: options.timeout }
|
|
191
196
|
: options?.runOptions,
|
|
192
197
|
stateKeys: options?.stateKeys ?? {
|
|
193
|
-
blackboard: `${keyPrefix}
|
|
194
|
-
messages: `${keyPrefix}
|
|
195
|
-
results: `${keyPrefix}
|
|
198
|
+
blackboard: `${keyPrefix}:{${swarmId}}:blackboard`,
|
|
199
|
+
messages: `${keyPrefix}:{${swarmId}}:messages`,
|
|
200
|
+
results: `${keyPrefix}:{${swarmId}}:results`,
|
|
201
|
+
result: `${keyPrefix}:{${swarmId}}:result:${jobId}`,
|
|
196
202
|
},
|
|
203
|
+
...(options?.resultTtl !== undefined && { resultTtl: Math.ceil(options.resultTtl) }),
|
|
197
204
|
};
|
|
198
205
|
return this.add(payload, options);
|
|
199
206
|
}
|
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;;;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
|
|
1
|
+
{"version":3,"file":"queue.js","sourceRoot":"","sources":["../src/queue.ts"],"names":[],"mappings":"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"}
|
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, CheckpointStore, 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
|
|
@@ -210,23 +210,7 @@ export interface QueueConfig {
|
|
|
210
210
|
* Redis connection config. `url` (`redis://user:password@host:port/db`, or `rediss://` for
|
|
211
211
|
* TLS) is read first, and the explicit fields override what it says
|
|
212
212
|
*/
|
|
213
|
-
redis:
|
|
214
|
-
url?: string;
|
|
215
|
-
host?: string;
|
|
216
|
-
port?: number;
|
|
217
|
-
username?: string;
|
|
218
|
-
password?: string;
|
|
219
|
-
db?: number;
|
|
220
|
-
/** Connect over TLS; implied by a `rediss://` url */
|
|
221
|
-
tls?: boolean;
|
|
222
|
-
/** For cluster mode */
|
|
223
|
-
cluster?: {
|
|
224
|
-
nodes: {
|
|
225
|
-
host: string;
|
|
226
|
-
port: number;
|
|
227
|
-
}[];
|
|
228
|
-
};
|
|
229
|
-
};
|
|
213
|
+
redis: RedisConnectionConfig;
|
|
230
214
|
/** Default job options */
|
|
231
215
|
defaultJobOptions?: {
|
|
232
216
|
/** Max attempts before failing */
|
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/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cogitator-ai/worker",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.11.1",
|
|
4
4
|
"description": "Distributed job queue for Cogitator agent execution",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"cogitator",
|
|
@@ -29,16 +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.
|
|
35
|
-
"@cogitator-ai/workflows": "0.14.
|
|
32
|
+
"@cogitator-ai/core": "0.56.4",
|
|
33
|
+
"@cogitator-ai/swarms": "0.14.1",
|
|
34
|
+
"@cogitator-ai/types": "0.61.0",
|
|
35
|
+
"@cogitator-ai/workflows": "0.14.2",
|
|
36
36
|
"bullmq": "^6.3.11",
|
|
37
37
|
"nanoid": "^6.0.1",
|
|
38
38
|
"zod": "^4.6.5"
|
|
39
39
|
},
|
|
40
40
|
"devDependencies": {
|
|
41
|
-
"@cogitator-ai/test-utils": "0.
|
|
41
|
+
"@cogitator-ai/test-utils": "0.12.0",
|
|
42
42
|
"ioredis": "^6.0.0",
|
|
43
43
|
"typescript": "^6.0.3",
|
|
44
44
|
"vitest": "^5.0.3"
|