@cogitator-ai/worker 0.7.3 → 0.8.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 +39 -0
- package/dist/connection.d.ts +16 -0
- package/dist/connection.d.ts.map +1 -1
- package/dist/connection.js +51 -13
- package/dist/connection.js.map +1 -1
- package/dist/index.d.ts +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/processors/agent.d.ts.map +1 -1
- package/dist/processors/agent.js +14 -0
- package/dist/processors/agent.js.map +1 -1
- package/dist/processors/shared.d.ts +10 -2
- package/dist/processors/shared.d.ts.map +1 -1
- package/dist/processors/shared.js +15 -0
- package/dist/processors/shared.js.map +1 -1
- package/dist/serialize.d.ts +16 -0
- package/dist/serialize.d.ts.map +1 -0
- package/dist/serialize.js +40 -0
- package/dist/serialize.js.map +1 -0
- package/dist/types.d.ts +44 -2
- package/dist/types.d.ts.map +1 -1
- package/package.json +5 -4
package/README.md
CHANGED
|
@@ -106,9 +106,13 @@ const queue = new JobQueue({
|
|
|
106
106
|
interface QueueConfig {
|
|
107
107
|
name?: string; // Default: 'cogitator-jobs'
|
|
108
108
|
redis: {
|
|
109
|
+
url?: string; // 'redis://user:password@host:port/db', 'rediss://' for TLS
|
|
109
110
|
host?: string; // Default: 'localhost'
|
|
110
111
|
port?: number; // Default: 6379
|
|
112
|
+
username?: string;
|
|
111
113
|
password?: string;
|
|
114
|
+
db?: number;
|
|
115
|
+
tls?: boolean; // implied by a rediss:// url
|
|
112
116
|
cluster?: {
|
|
113
117
|
nodes: { host: string; port: number }[];
|
|
114
118
|
};
|
|
@@ -129,6 +133,28 @@ interface QueueConfig {
|
|
|
129
133
|
|
|
130
134
|
**Agent Jobs:**
|
|
131
135
|
|
|
136
|
+
The simplest way is to serialize an agent you already have. `serializeAgent` keeps its model, instructions, sampling, reasoning effort, response format and tool schemas, and turns a Zod response schema into JSON Schema, so the worker validates the structured answer the same way an in-process run does:
|
|
137
|
+
|
|
138
|
+
```typescript
|
|
139
|
+
import { Agent } from '@cogitator-ai/core';
|
|
140
|
+
import { serializeAgent } from '@cogitator-ai/worker';
|
|
141
|
+
import { z } from 'zod';
|
|
142
|
+
|
|
143
|
+
const Verdict = z.object({ verdict: z.enum(['run', 'hold']), reason: z.string() });
|
|
144
|
+
const chief = new Agent({
|
|
145
|
+
name: 'chief',
|
|
146
|
+
model: 'openrouter/openai/gpt-6-luna',
|
|
147
|
+
instructions: 'Decide whether the pitch runs.',
|
|
148
|
+
reasoning: { effort: 'medium' },
|
|
149
|
+
responseFormat: { type: 'json_schema', schema: Verdict },
|
|
150
|
+
});
|
|
151
|
+
|
|
152
|
+
const job = await queue.addAgentJob(serializeAgent(chief), 'A pitch about ...');
|
|
153
|
+
// later: (await queue.getJob(job.id))?.returnvalue.structured -> { verdict, reason }
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
Or write the serialized form by hand:
|
|
157
|
+
|
|
132
158
|
```typescript
|
|
133
159
|
const agentConfig: SerializedAgent = {
|
|
134
160
|
name: 'Researcher',
|
|
@@ -138,6 +164,8 @@ const agentConfig: SerializedAgent = {
|
|
|
138
164
|
temperature: 0.7,
|
|
139
165
|
maxTokens: 2048,
|
|
140
166
|
maxIterations: 5,
|
|
167
|
+
reasoning: { effort: 'low' }, // optional
|
|
168
|
+
responseFormat: { type: 'json_schema', schema: { type: 'object', properties: {} } }, // optional, JSON Schema
|
|
141
169
|
tools: [
|
|
142
170
|
{
|
|
143
171
|
name: 'search',
|
|
@@ -424,11 +452,22 @@ Each job type returns a specific result structure.
|
|
|
424
452
|
interface AgentJobResult {
|
|
425
453
|
type: 'agent';
|
|
426
454
|
output: string;
|
|
455
|
+
structured?: unknown; // the validated answer of a json_schema agent, when it fits
|
|
456
|
+
reasoning?: string; // the reasoning summary, when the agent asked for one
|
|
457
|
+
usage: {
|
|
458
|
+
inputTokens: number;
|
|
459
|
+
outputTokens: number;
|
|
460
|
+
totalTokens: number;
|
|
461
|
+
cost: number; // USD, as the run reported it
|
|
462
|
+
reasoningTokens?: number;
|
|
463
|
+
cachedInputTokens?: number;
|
|
464
|
+
};
|
|
427
465
|
toolCalls: {
|
|
428
466
|
name: string;
|
|
429
467
|
input: unknown;
|
|
430
468
|
output: unknown;
|
|
431
469
|
}[];
|
|
470
|
+
/** @deprecated use usage */
|
|
432
471
|
tokenUsage?: {
|
|
433
472
|
prompt: number;
|
|
434
473
|
completion: number;
|
package/dist/connection.d.ts
CHANGED
|
@@ -2,6 +2,22 @@ import { Cluster, Redis } from 'ioredis';
|
|
|
2
2
|
import type { ConnectionOptions } from 'bullmq';
|
|
3
3
|
import type { QueueConfig } from './types.js';
|
|
4
4
|
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;
|
|
5
21
|
export type RedisClient = Redis | Cluster;
|
|
6
22
|
type RedisConnectionConfig = QueueConfig['redis'];
|
|
7
23
|
/**
|
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;AAChD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE3C,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;
|
|
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;AAChD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE3C,eAAO,MAAM,kBAAkB,mBAAmB,CAAC;AAEnD,iGAAiG;AACjG,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;CAC7B;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,qBAAqB,GAAG,sBAAsB,CAgCxF;AAED,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;AAaD;;;;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,11 +1,58 @@
|
|
|
1
1
|
import { Cluster, Redis } from 'ioredis';
|
|
2
2
|
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
|
+
}
|
|
3
42
|
/**
|
|
4
43
|
* BullMQ key prefix; cluster mode needs a hash tag so all queue keys share a slot.
|
|
5
44
|
*/
|
|
6
45
|
export function queuePrefix(redis) {
|
|
7
46
|
return redis.cluster ? '{cogitator}' : 'cogitator';
|
|
8
47
|
}
|
|
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
|
+
}
|
|
9
56
|
/**
|
|
10
57
|
* Connection for BullMQ queues and workers. Blocking (worker) connections must not limit
|
|
11
58
|
* retries per request, as BullMQ requires. Cluster instances are shared with BullMQ, which
|
|
@@ -19,7 +66,7 @@ export function createBullConnection(redis, options = {}) {
|
|
|
19
66
|
}
|
|
20
67
|
const cluster = new Cluster(redis.cluster.nodes, {
|
|
21
68
|
lazyConnect: true,
|
|
22
|
-
redisOptions: {
|
|
69
|
+
redisOptions: { ...clusterNodeOptions(redis), maxRetriesPerRequest },
|
|
23
70
|
});
|
|
24
71
|
return {
|
|
25
72
|
connection: cluster,
|
|
@@ -35,12 +82,7 @@ export function createBullConnection(redis, options = {}) {
|
|
|
35
82
|
};
|
|
36
83
|
}
|
|
37
84
|
return {
|
|
38
|
-
connection: {
|
|
39
|
-
host: redis.host ?? 'localhost',
|
|
40
|
-
port: redis.port ?? 6379,
|
|
41
|
-
password: redis.password,
|
|
42
|
-
maxRetriesPerRequest,
|
|
43
|
-
},
|
|
85
|
+
connection: { ...resolveRedisOptions(redis), maxRetriesPerRequest },
|
|
44
86
|
dispose: async () => { },
|
|
45
87
|
};
|
|
46
88
|
}
|
|
@@ -52,12 +94,8 @@ export function createRedisClient(redis) {
|
|
|
52
94
|
if (redis.cluster.nodes.length === 0) {
|
|
53
95
|
throw new Error('Redis cluster configuration requires at least one node');
|
|
54
96
|
}
|
|
55
|
-
return new Cluster(redis.cluster.nodes, { redisOptions:
|
|
97
|
+
return new Cluster(redis.cluster.nodes, { redisOptions: clusterNodeOptions(redis) });
|
|
56
98
|
}
|
|
57
|
-
return new Redis(
|
|
58
|
-
host: redis.host ?? 'localhost',
|
|
59
|
-
port: redis.port ?? 6379,
|
|
60
|
-
password: redis.password,
|
|
61
|
-
});
|
|
99
|
+
return new Redis(resolveRedisOptions(redis));
|
|
62
100
|
}
|
|
63
101
|
//# sourceMappingURL=connection.js.map
|
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;AAIzC,MAAM,CAAC,MAAM,kBAAkB,GAAG,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"connection.js","sourceRoot":"","sources":["../src/connection.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -12,6 +12,8 @@ export { JobQueue } from './queue.js';
|
|
|
12
12
|
export { WorkerPool, type WorkerPoolEvents } from './worker.js';
|
|
13
13
|
export { DistributedSwarmWorker, type DistributedSwarmWorkerConfig, type DistributedSwarmWorkerEvents, } from './distributed-swarm-worker.js';
|
|
14
14
|
export { formatPrometheusMetrics, DurationHistogram, MetricsCollector } from './metrics.js';
|
|
15
|
+
export { serializeAgent, serializeResponseFormat } from './serialize.js';
|
|
16
|
+
export { resolveRedisOptions, type RedisConnectionOptions } from './connection.js';
|
|
15
17
|
export { processAgentJob, processWorkflowJob, processSwarmJob, processSwarmAgentJob, executeSwarmAgentJob, buildSwarmConfig, validateWorkflow, type SwarmAgentJobOptions, type SwarmResultPublisher, } from './processors/index.js';
|
|
16
|
-
export type { SerializedAgent, SerializedWorkflow, SerializedWorkflowNode, SerializedWorkflowEdge, AgentNodeConfig, TransformNodeConfig, TransformOperation, ConditionNodeConfig, ConditionOperator, SerializedSwarm, JobPayload, AgentJobPayload, WorkflowJobPayload, SwarmJobPayload, SwarmAgentJobPayload, JobResult, AgentJobResult, WorkflowJobResult, SwarmJobResult, SwarmAgentJobResult, QueueConfig, WorkerConfig, WorkerRuntime, QueueMetrics, JobState, } from './types.js';
|
|
18
|
+
export type { SerializedAgent, SerializedResponseFormat, AgentJobUsage, SerializedWorkflow, SerializedWorkflowNode, SerializedWorkflowEdge, AgentNodeConfig, TransformNodeConfig, TransformOperation, ConditionNodeConfig, ConditionOperator, SerializedSwarm, JobPayload, AgentJobPayload, WorkflowJobPayload, SwarmJobPayload, SwarmAgentJobPayload, JobResult, AgentJobResult, WorkflowJobResult, SwarmJobResult, SwarmAgentJobResult, QueueConfig, WorkerConfig, WorkerRuntime, QueueMetrics, JobState, } from './types.js';
|
|
17
19
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,EAAE,UAAU,EAAE,KAAK,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC7D,OAAO,EACL,sBAAsB,EACtB,KAAK,4BAA4B,EACjC,KAAK,4BAA4B,GAClC,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,EAAE,UAAU,EAAE,KAAK,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC7D,OAAO,EACL,sBAAsB,EACtB,KAAK,4BAA4B,EACjC,KAAK,4BAA4B,GAClC,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AACzF,OAAO,EAAE,cAAc,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AACtE,OAAO,EAAE,mBAAmB,EAAE,KAAK,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAEhF,OAAO,EACL,eAAe,EACf,kBAAkB,EAClB,eAAe,EACf,oBAAoB,EACpB,oBAAoB,EACpB,gBAAgB,EAChB,gBAAgB,EAChB,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,GAC1B,MAAM,oBAAoB,CAAC;AAE5B,YAAY,EACV,eAAe,EACf,wBAAwB,EACxB,aAAa,EACb,kBAAkB,EAClB,sBAAsB,EACtB,sBAAsB,EACtB,eAAe,EACf,mBAAmB,EACnB,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,EACjB,eAAe,EACf,UAAU,EACV,eAAe,EACf,kBAAkB,EAClB,eAAe,EACf,oBAAoB,EACpB,SAAS,EACT,cAAc,EACd,iBAAiB,EACjB,cAAc,EACd,mBAAmB,EACnB,WAAW,EACX,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,QAAQ,GACT,MAAM,SAAS,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -12,5 +12,7 @@ export { JobQueue } from './queue.js';
|
|
|
12
12
|
export { WorkerPool } from './worker.js';
|
|
13
13
|
export { DistributedSwarmWorker, } from './distributed-swarm-worker.js';
|
|
14
14
|
export { formatPrometheusMetrics, DurationHistogram, MetricsCollector } from './metrics.js';
|
|
15
|
+
export { serializeAgent, serializeResponseFormat } from './serialize.js';
|
|
16
|
+
export { resolveRedisOptions } from './connection.js';
|
|
15
17
|
export { processAgentJob, processWorkflowJob, processSwarmJob, processSwarmAgentJob, executeSwarmAgentJob, buildSwarmConfig, validateWorkflow, } from './processors/index.js';
|
|
16
18
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,EAAE,UAAU,EAAyB,MAAM,UAAU,CAAC;AAC7D,OAAO,EACL,sBAAsB,GAGvB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,EAAE,UAAU,EAAyB,MAAM,UAAU,CAAC;AAC7D,OAAO,EACL,sBAAsB,GAGvB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AACzF,OAAO,EAAE,cAAc,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AACtE,OAAO,EAAE,mBAAmB,EAA+B,MAAM,cAAc,CAAC;AAEhF,OAAO,EACL,eAAe,EACf,kBAAkB,EAClB,eAAe,EACf,oBAAoB,EACpB,oBAAoB,EACpB,gBAAgB,EAChB,gBAAgB,GAGjB,MAAM,oBAAoB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/processors/agent.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAG/E,wBAAsB,eAAe,CACnC,OAAO,EAAE,eAAe,EACxB,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC,cAAc,CAAC,
|
|
1
|
+
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/processors/agent.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAG/E,wBAAsB,eAAe,CACnC,OAAO,EAAE,eAAe,EACxB,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC,cAAc,CAAC,CAuCzB;AAED,UAAU,eAAe;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,SAAS,eAAe,EAAE,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAShG"}
|
package/dist/processors/agent.js
CHANGED
|
@@ -16,6 +16,20 @@ export async function processAgentJob(payload, runtime = {}) {
|
|
|
16
16
|
return {
|
|
17
17
|
type: 'agent',
|
|
18
18
|
output: result.output,
|
|
19
|
+
...(result.structured !== undefined && { structured: result.structured }),
|
|
20
|
+
...(result.reasoning && { reasoning: result.reasoning }),
|
|
21
|
+
usage: {
|
|
22
|
+
inputTokens: result.usage.inputTokens,
|
|
23
|
+
outputTokens: result.usage.outputTokens,
|
|
24
|
+
totalTokens: result.usage.totalTokens,
|
|
25
|
+
cost: result.usage.cost,
|
|
26
|
+
...(result.usage.reasoningTokens !== undefined && {
|
|
27
|
+
reasoningTokens: result.usage.reasoningTokens,
|
|
28
|
+
}),
|
|
29
|
+
...(result.usage.cachedInputTokens !== undefined && {
|
|
30
|
+
cachedInputTokens: result.usage.cachedInputTokens,
|
|
31
|
+
}),
|
|
32
|
+
},
|
|
19
33
|
toolCalls: result.toolCalls.map((tc) => ({
|
|
20
34
|
name: tc.name,
|
|
21
35
|
input: tc.arguments,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/processors/agent.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,qBAAqB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAEpE,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,OAAwB,EACxB,UAAyB,EAAE;IAE3B,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IAEzD,MAAM,QAAQ,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;IACzC,MAAM,KAAK,GAAG,qBAAqB,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;IAC3D,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE;QACjD,KAAK;QACL,QAAQ;QACR,GAAG,CAAC,MAAM,KAAK,SAAS,IAAI,EAAE,MAAM,EAAE,CAAC;KACxC,CAAC,CAAC;IAEH,OAAO;QACL,IAAI,EAAE,OAAO;QACb,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;YACvC,IAAI,EAAE,EAAE,CAAC,IAAI;YACb,KAAK,EAAE,EAAE,CAAC,SAAS;YACnB,MAAM,EAAE,cAAc,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC;SAC/C,CAAC,CAAC;QACH,UAAU,EAAE;YACV,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,WAAW;YAChC,UAAU,EAAE,MAAM,CAAC,KAAK,CAAC,YAAY;YACrC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,WAAW;SAChC;KACF,CAAC;AACJ,CAAC;AAQD;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,QAAoC,EAAE,UAAkB;IACrF,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,CAAC,UAAU,KAAK,UAAU,CAAC,CAAC;IACvF,IAAI,CAAC,OAAO;QAAE,OAAO,SAAS,CAAC;IAC/B,IAAI,OAAO,OAAO,CAAC,OAAO,KAAK,QAAQ;QAAE,OAAO,OAAO,CAAC,OAAO,CAAC;IAChE,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAY,CAAC;IAChD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,OAAO,CAAC,OAAO,CAAC;IACzB,CAAC;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/processors/agent.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,qBAAqB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAEpE,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,OAAwB,EACxB,UAAyB,EAAE;IAE3B,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IAEzD,MAAM,QAAQ,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;IACzC,MAAM,KAAK,GAAG,qBAAqB,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;IAC3D,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE;QACjD,KAAK;QACL,QAAQ;QACR,GAAG,CAAC,MAAM,KAAK,SAAS,IAAI,EAAE,MAAM,EAAE,CAAC;KACxC,CAAC,CAAC;IAEH,OAAO;QACL,IAAI,EAAE,OAAO;QACb,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,GAAG,CAAC,MAAM,CAAC,UAAU,KAAK,SAAS,IAAI,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC;QACzE,GAAG,CAAC,MAAM,CAAC,SAAS,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC;QACxD,KAAK,EAAE;YACL,WAAW,EAAE,MAAM,CAAC,KAAK,CAAC,WAAW;YACrC,YAAY,EAAE,MAAM,CAAC,KAAK,CAAC,YAAY;YACvC,WAAW,EAAE,MAAM,CAAC,KAAK,CAAC,WAAW;YACrC,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI;YACvB,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,KAAK,SAAS,IAAI;gBAChD,eAAe,EAAE,MAAM,CAAC,KAAK,CAAC,eAAe;aAC9C,CAAC;YACF,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,iBAAiB,KAAK,SAAS,IAAI;gBAClD,iBAAiB,EAAE,MAAM,CAAC,KAAK,CAAC,iBAAiB;aAClD,CAAC;SACH;QACD,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;YACvC,IAAI,EAAE,EAAE,CAAC,IAAI;YACb,KAAK,EAAE,EAAE,CAAC,SAAS;YACnB,MAAM,EAAE,cAAc,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC;SAC/C,CAAC,CAAC;QACH,UAAU,EAAE;YACV,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,WAAW;YAChC,UAAU,EAAE,MAAM,CAAC,KAAK,CAAC,YAAY;YACrC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,WAAW;SAChC;KACF,CAAC;AACJ,CAAC;AAQD;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,QAAoC,EAAE,UAAkB;IACrF,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,CAAC,UAAU,KAAK,UAAU,CAAC,CAAC;IACvF,IAAI,CAAC,OAAO;QAAE,OAAO,SAAS,CAAC;IAC/B,IAAI,OAAO,OAAO,CAAC,OAAO,KAAK,QAAQ;QAAE,OAAO,OAAO,CAAC,OAAO,CAAC;IAChE,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAY,CAAC;IAChD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,OAAO,CAAC,OAAO,CAAC;IACzB,CAAC;AACH,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Agent, Cogitator } from '@cogitator-ai/core';
|
|
2
|
-
import type { Tool, ToolSchema } from '@cogitator-ai/types';
|
|
3
|
-
import type { WorkerRuntime } from '../types.js';
|
|
2
|
+
import type { ReasoningConfig, ResponseFormat, Tool, ToolSchema } from '@cogitator-ai/types';
|
|
3
|
+
import type { SerializedResponseFormat, WorkerRuntime } from '../types.js';
|
|
4
4
|
/**
|
|
5
5
|
* Model string to run on `cogitator`, so a serialized agent routes like the same agent
|
|
6
6
|
* would in-process. A model whose prefix names a provider, backend or plugin the Cogitator
|
|
@@ -22,10 +22,18 @@ export interface SerializedAgentLike {
|
|
|
22
22
|
model: string;
|
|
23
23
|
provider?: string;
|
|
24
24
|
temperature?: number;
|
|
25
|
+
topP?: number;
|
|
25
26
|
maxTokens?: number;
|
|
26
27
|
maxIterations?: number;
|
|
28
|
+
responseFormat?: SerializedResponseFormat;
|
|
29
|
+
reasoning?: ReasoningConfig;
|
|
27
30
|
tools: readonly ToolSchema[];
|
|
28
31
|
}
|
|
32
|
+
/**
|
|
33
|
+
* The agent's response format back from its queue form: JSON Schema becomes a Zod schema, so the
|
|
34
|
+
* runtime validates the structured output and asks for a repair as it does in-process.
|
|
35
|
+
*/
|
|
36
|
+
export declare function toResponseFormat(format: SerializedResponseFormat | undefined): ResponseFormat | undefined;
|
|
29
37
|
/**
|
|
30
38
|
* Worker runtime with the Cogitator settled, so the agents of a job are routed by the
|
|
31
39
|
* same Cogitator that runs them.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../src/processors/shared.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../src/processors/shared.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAE7F,OAAO,KAAK,EAAE,wBAAwB,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAExE;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,SAAS,EAAE,SAAS,GACnB,MAAM,CAWR;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,SAAS,UAAU,EAAE,EAAE,SAAS,EAAE,SAAS,IAAI,EAAE,GAAG,IAAI,EAAE,CAc/F;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,wBAAwB,CAAC;IAC1C,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,KAAK,EAAE,SAAS,UAAU,EAAE,CAAC;CAC9B;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,wBAAwB,GAAG,SAAS,GAC3C,cAAc,GAAG,SAAS,CAI5B;AAED;;;GAGG;AACH,MAAM,WAAW,eAAgB,SAAQ,aAAa;IACpD,SAAS,EAAE,SAAS,CAAC;CACtB;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,aAAa,GAAG,eAAe,CAEtE;AAED,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,mBAAmB,EAC3B,OAAO,EAAE,eAAe,GACvB,KAAK,CAaP;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAErD"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Agent, Cogitator } from '@cogitator-ai/core';
|
|
2
|
+
import { z } from 'zod';
|
|
2
3
|
/**
|
|
3
4
|
* Model string to run on `cogitator`, so a serialized agent routes like the same agent
|
|
4
5
|
* would in-process. A model whose prefix names a provider, backend or plugin the Cogitator
|
|
@@ -35,6 +36,17 @@ export function resolveTools(schemas, available) {
|
|
|
35
36
|
}
|
|
36
37
|
return schemas.map((schema) => registry.get(schema.name));
|
|
37
38
|
}
|
|
39
|
+
/**
|
|
40
|
+
* The agent's response format back from its queue form: JSON Schema becomes a Zod schema, so the
|
|
41
|
+
* runtime validates the structured output and asks for a repair as it does in-process.
|
|
42
|
+
*/
|
|
43
|
+
export function toResponseFormat(format) {
|
|
44
|
+
if (!format)
|
|
45
|
+
return undefined;
|
|
46
|
+
if (format.type !== 'json_schema')
|
|
47
|
+
return format;
|
|
48
|
+
return { type: 'json_schema', schema: z.fromJSONSchema(format.schema) };
|
|
49
|
+
}
|
|
38
50
|
export function resolveRuntime(runtime) {
|
|
39
51
|
return { ...runtime, cogitator: runtime.cogitator ?? new Cogitator() };
|
|
40
52
|
}
|
|
@@ -44,8 +56,11 @@ export function createAgentFromConfig(config, runtime) {
|
|
|
44
56
|
model: resolveModelString(config.model, config.provider, runtime.cogitator),
|
|
45
57
|
instructions: config.instructions,
|
|
46
58
|
temperature: config.temperature,
|
|
59
|
+
topP: config.topP,
|
|
47
60
|
maxTokens: config.maxTokens,
|
|
48
61
|
maxIterations: config.maxIterations,
|
|
62
|
+
responseFormat: toResponseFormat(config.responseFormat),
|
|
63
|
+
reasoning: config.reasoning,
|
|
49
64
|
tools: resolveTools(config.tools, runtime.tools ?? []),
|
|
50
65
|
});
|
|
51
66
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared.js","sourceRoot":"","sources":["../../src/processors/shared.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"shared.js","sourceRoot":"","sources":["../../src/processors/shared.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { Agent, ResponseFormat } from '@cogitator-ai/types';
|
|
2
|
+
import type { SerializedAgent, SerializedResponseFormat } from './types.js';
|
|
3
|
+
/**
|
|
4
|
+
* An agent's response format in its queue form: a Zod schema becomes JSON Schema, which the
|
|
5
|
+
* worker turns back into a schema to validate the run's structured output.
|
|
6
|
+
*/
|
|
7
|
+
export declare function serializeResponseFormat(format: ResponseFormat | undefined): SerializedResponseFormat | undefined;
|
|
8
|
+
/**
|
|
9
|
+
* An agent as a queue job carries it: its model, instructions, sampling, reasoning, response
|
|
10
|
+
* format and the schemas of its tools (the worker resolves tools by name from its own registry).
|
|
11
|
+
*
|
|
12
|
+
* @throws Error when the agent has no model: a queued job cannot fall back to the
|
|
13
|
+
* submitting process's default model
|
|
14
|
+
*/
|
|
15
|
+
export declare function serializeAgent(agent: Agent): SerializedAgent;
|
|
16
|
+
//# sourceMappingURL=serialize.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"serialize.d.ts","sourceRoot":"","sources":["../src/serialize.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAEjE,OAAO,KAAK,EAAE,eAAe,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAC;AAEzE;;;GAGG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,cAAc,GAAG,SAAS,GACjC,wBAAwB,GAAG,SAAS,CAQtC;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,KAAK,GAAG,eAAe,CAmB5D"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
/**
|
|
3
|
+
* An agent's response format in its queue form: a Zod schema becomes JSON Schema, which the
|
|
4
|
+
* worker turns back into a schema to validate the run's structured output.
|
|
5
|
+
*/
|
|
6
|
+
export function serializeResponseFormat(format) {
|
|
7
|
+
if (format?.type !== 'json_schema')
|
|
8
|
+
return format;
|
|
9
|
+
const schema = z.toJSONSchema(format.schema, { unrepresentable: 'any' });
|
|
10
|
+
delete schema.$schema;
|
|
11
|
+
return { type: 'json_schema', schema };
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* An agent as a queue job carries it: its model, instructions, sampling, reasoning, response
|
|
15
|
+
* format and the schemas of its tools (the worker resolves tools by name from its own registry).
|
|
16
|
+
*
|
|
17
|
+
* @throws Error when the agent has no model: a queued job cannot fall back to the
|
|
18
|
+
* submitting process's default model
|
|
19
|
+
*/
|
|
20
|
+
export function serializeAgent(agent) {
|
|
21
|
+
const { config } = agent;
|
|
22
|
+
if (!config.model) {
|
|
23
|
+
throw new Error(`Agent "${agent.name}" has no model; set one before queueing it`);
|
|
24
|
+
}
|
|
25
|
+
const responseFormat = serializeResponseFormat(config.responseFormat);
|
|
26
|
+
return {
|
|
27
|
+
name: agent.name,
|
|
28
|
+
instructions: config.instructions,
|
|
29
|
+
model: config.model,
|
|
30
|
+
...(config.provider !== undefined && { provider: config.provider }),
|
|
31
|
+
...(config.temperature !== undefined && { temperature: config.temperature }),
|
|
32
|
+
...(config.topP !== undefined && { topP: config.topP }),
|
|
33
|
+
...(config.maxTokens !== undefined && { maxTokens: config.maxTokens }),
|
|
34
|
+
...(config.maxIterations !== undefined && { maxIterations: config.maxIterations }),
|
|
35
|
+
...(config.reasoning !== undefined && { reasoning: config.reasoning }),
|
|
36
|
+
...(responseFormat && { responseFormat }),
|
|
37
|
+
tools: agent.tools.map((tool) => tool.toJSON()),
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=serialize.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"serialize.js","sourceRoot":"","sources":["../src/serialize.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB;;;GAGG;AACH,MAAM,UAAU,uBAAuB,CACrC,MAAkC;IAElC,IAAI,MAAM,EAAE,IAAI,KAAK,aAAa;QAAE,OAAO,MAAM,CAAC;IAClD,MAAM,MAAM,GAAG,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,eAAe,EAAE,KAAK,EAAE,CAGtE,CAAC;IACF,OAAO,MAAM,CAAC,OAAO,CAAC;IACtB,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,CAAC;AACzC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,cAAc,CAAC,KAAY;IACzC,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;IACzB,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,UAAU,KAAK,CAAC,IAAI,4CAA4C,CAAC,CAAC;IACpF,CAAC;IACD,MAAM,cAAc,GAAG,uBAAuB,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;IACtE,OAAO;QACL,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,GAAG,CAAC,MAAM,CAAC,QAAQ,KAAK,SAAS,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC;QACnE,GAAG,CAAC,MAAM,CAAC,WAAW,KAAK,SAAS,IAAI,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC;QAC5E,GAAG,CAAC,MAAM,CAAC,IAAI,KAAK,SAAS,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;QACvD,GAAG,CAAC,MAAM,CAAC,SAAS,KAAK,SAAS,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC;QACtE,GAAG,CAAC,MAAM,CAAC,aAAa,KAAK,SAAS,IAAI,EAAE,aAAa,EAAE,MAAM,CAAC,aAAa,EAAE,CAAC;QAClF,GAAG,CAAC,MAAM,CAAC,SAAS,KAAK,SAAS,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC;QACtE,GAAG,CAAC,cAAc,IAAI,EAAE,cAAc,EAAE,CAAC;QACzC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;KAChD,CAAC;AACJ,CAAC"}
|
package/dist/types.d.ts
CHANGED
|
@@ -2,8 +2,21 @@
|
|
|
2
2
|
* Worker types for distributed job processing
|
|
3
3
|
*/
|
|
4
4
|
import type { Cogitator } from '@cogitator-ai/core';
|
|
5
|
-
import type { LLMBackendProvider, Tool, ToolSchema } from '@cogitator-ai/types';
|
|
5
|
+
import type { LLMBackendProvider, ReasoningConfig, Tool, ToolSchema } from '@cogitator-ai/types';
|
|
6
6
|
import type { SwarmAgentJobPayload as SwarmAgentJobContract, SwarmAgentJobResult as SwarmAgentJobResultContract } from '@cogitator-ai/swarms';
|
|
7
|
+
/**
|
|
8
|
+
* An agent's response format in a form that travels through the queue: a Zod schema becomes
|
|
9
|
+
* JSON Schema (see `serializeAgent`), and the worker turns it back into a schema to validate the
|
|
10
|
+
* run's structured output.
|
|
11
|
+
*/
|
|
12
|
+
export type SerializedResponseFormat = {
|
|
13
|
+
type: 'text';
|
|
14
|
+
} | {
|
|
15
|
+
type: 'json';
|
|
16
|
+
} | {
|
|
17
|
+
type: 'json_schema';
|
|
18
|
+
schema: Record<string, unknown>;
|
|
19
|
+
};
|
|
7
20
|
/**
|
|
8
21
|
* Serialized agent configuration for queue transport
|
|
9
22
|
* Tools are stored as schemas, recreated on worker side
|
|
@@ -25,8 +38,13 @@ export interface SerializedAgent {
|
|
|
25
38
|
*/
|
|
26
39
|
provider?: LLMBackendProvider;
|
|
27
40
|
temperature?: number;
|
|
41
|
+
topP?: number;
|
|
28
42
|
maxTokens?: number;
|
|
29
43
|
maxIterations?: number;
|
|
44
|
+
/** Structured output: the job result carries `structured` when the run's answer fits */
|
|
45
|
+
responseFormat?: SerializedResponseFormat;
|
|
46
|
+
/** Reasoning effort and summaries, as in `AgentConfig.reasoning` */
|
|
47
|
+
reasoning?: ReasoningConfig;
|
|
30
48
|
/** Tool schemas; tools are resolved by name from the worker's tool registry */
|
|
31
49
|
tools: ToolSchema[];
|
|
32
50
|
}
|
|
@@ -121,14 +139,30 @@ export interface SwarmJobPayload {
|
|
|
121
139
|
*/
|
|
122
140
|
export type SwarmAgentJobPayload = SwarmAgentJobContract;
|
|
123
141
|
export type JobPayload = AgentJobPayload | WorkflowJobPayload | SwarmJobPayload | SwarmAgentJobPayload;
|
|
142
|
+
/** What an agent run used and cost, as `RunResult.usage` reports it. */
|
|
143
|
+
export interface AgentJobUsage {
|
|
144
|
+
inputTokens: number;
|
|
145
|
+
outputTokens: number;
|
|
146
|
+
totalTokens: number;
|
|
147
|
+
/** USD: what the provider reported, else the model registry's price, else 0 */
|
|
148
|
+
cost: number;
|
|
149
|
+
reasoningTokens?: number;
|
|
150
|
+
cachedInputTokens?: number;
|
|
151
|
+
}
|
|
124
152
|
export interface AgentJobResult {
|
|
125
153
|
type: 'agent';
|
|
126
154
|
output: string;
|
|
155
|
+
/** The validated answer of an agent with a JSON schema response format, when it fits */
|
|
156
|
+
structured?: unknown;
|
|
157
|
+
/** The model's reasoning summary, when the agent asked for one */
|
|
158
|
+
reasoning?: string;
|
|
159
|
+
usage: AgentJobUsage;
|
|
127
160
|
toolCalls: {
|
|
128
161
|
name: string;
|
|
129
162
|
input: unknown;
|
|
130
163
|
output: unknown;
|
|
131
164
|
}[];
|
|
165
|
+
/** @deprecated Use `usage`, which also carries the cost */
|
|
132
166
|
tokenUsage?: {
|
|
133
167
|
prompt: number;
|
|
134
168
|
completion: number;
|
|
@@ -157,11 +191,19 @@ export type JobResult = AgentJobResult | WorkflowJobResult | SwarmJobResult | Sw
|
|
|
157
191
|
export interface QueueConfig {
|
|
158
192
|
/** Queue name (default: 'cogitator-jobs') */
|
|
159
193
|
name?: string;
|
|
160
|
-
/**
|
|
194
|
+
/**
|
|
195
|
+
* Redis connection config. `url` (`redis://user:password@host:port/db`, or `rediss://` for
|
|
196
|
+
* TLS) is read first, and the explicit fields override what it says
|
|
197
|
+
*/
|
|
161
198
|
redis: {
|
|
199
|
+
url?: string;
|
|
162
200
|
host?: string;
|
|
163
201
|
port?: number;
|
|
202
|
+
username?: string;
|
|
164
203
|
password?: string;
|
|
204
|
+
db?: number;
|
|
205
|
+
/** Connect over TLS; implied by a `rediss://` url */
|
|
206
|
+
tls?: boolean;
|
|
165
207
|
/** For cluster mode */
|
|
166
208
|
cluster?: {
|
|
167
209
|
nodes: {
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,KAAK,EAAE,kBAAkB,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;
|
|
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.8.0",
|
|
4
4
|
"description": "Distributed job queue for Cogitator agent execution",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -18,14 +18,15 @@
|
|
|
18
18
|
"node": ">=22.12.0"
|
|
19
19
|
},
|
|
20
20
|
"dependencies": {
|
|
21
|
-
"@cogitator-ai/core": "0.
|
|
22
|
-
"@cogitator-ai/swarms": "0.
|
|
23
|
-
"@cogitator-ai/types": "0.
|
|
21
|
+
"@cogitator-ai/core": "0.28.0",
|
|
22
|
+
"@cogitator-ai/swarms": "0.10.0",
|
|
23
|
+
"@cogitator-ai/types": "0.31.0",
|
|
24
24
|
"bullmq": "^6.3.11",
|
|
25
25
|
"nanoid": "^6.0.1",
|
|
26
26
|
"zod": "^4.6.5"
|
|
27
27
|
},
|
|
28
28
|
"devDependencies": {
|
|
29
|
+
"@cogitator-ai/test-utils": "0.2.7",
|
|
29
30
|
"ioredis": "^6.0.0",
|
|
30
31
|
"typescript": "^6.0.3",
|
|
31
32
|
"vitest": "^5.0.3"
|