@cogitator-ai/swarms 0.8.1 → 0.9.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.
Files changed (67) hide show
  1. package/README.md +47 -5
  2. package/dist/assessor/ai-task-analyzer.d.ts +26 -0
  3. package/dist/assessor/ai-task-analyzer.d.ts.map +1 -0
  4. package/dist/assessor/ai-task-analyzer.js +67 -0
  5. package/dist/assessor/ai-task-analyzer.js.map +1 -0
  6. package/dist/assessor/assessor.d.ts +13 -2
  7. package/dist/assessor/assessor.d.ts.map +1 -1
  8. package/dist/assessor/assessor.js +47 -7
  9. package/dist/assessor/assessor.js.map +1 -1
  10. package/dist/assessor/index.d.ts +1 -0
  11. package/dist/assessor/index.d.ts.map +1 -1
  12. package/dist/assessor/index.js +1 -0
  13. package/dist/assessor/index.js.map +1 -1
  14. package/dist/assessor/model-discovery.d.ts +6 -1
  15. package/dist/assessor/model-discovery.d.ts.map +1 -1
  16. package/dist/assessor/model-discovery.js +8 -2
  17. package/dist/assessor/model-discovery.js.map +1 -1
  18. package/dist/base-coordinator.d.ts +17 -4
  19. package/dist/base-coordinator.d.ts.map +1 -1
  20. package/dist/base-coordinator.js +67 -8
  21. package/dist/base-coordinator.js.map +1 -1
  22. package/dist/communication/event-emitter.d.ts +9 -1
  23. package/dist/communication/event-emitter.d.ts.map +1 -1
  24. package/dist/communication/event-emitter.js.map +1 -1
  25. package/dist/communication/index.d.ts +1 -1
  26. package/dist/communication/index.d.ts.map +1 -1
  27. package/dist/communication/index.js.map +1 -1
  28. package/dist/communication/message-bus.d.ts.map +1 -1
  29. package/dist/communication/message-bus.js +0 -1
  30. package/dist/communication/message-bus.js.map +1 -1
  31. package/dist/communication/redis-event-emitter.d.ts +3 -2
  32. package/dist/communication/redis-event-emitter.d.ts.map +1 -1
  33. package/dist/communication/redis-event-emitter.js.map +1 -1
  34. package/dist/coordinator.js +1 -1
  35. package/dist/coordinator.js.map +1 -1
  36. package/dist/distributed/distributed-coordinator.d.ts +10 -0
  37. package/dist/distributed/distributed-coordinator.d.ts.map +1 -1
  38. package/dist/distributed/distributed-coordinator.js +70 -4
  39. package/dist/distributed/distributed-coordinator.js.map +1 -1
  40. package/dist/index.d.ts +3 -3
  41. package/dist/index.d.ts.map +1 -1
  42. package/dist/index.js +1 -1
  43. package/dist/index.js.map +1 -1
  44. package/dist/strategies/index.d.ts.map +1 -1
  45. package/dist/strategies/index.js +2 -5
  46. package/dist/strategies/index.js.map +1 -1
  47. package/dist/strategies/negotiation/approval.d.ts +10 -0
  48. package/dist/strategies/negotiation/approval.d.ts.map +1 -1
  49. package/dist/strategies/negotiation/approval.js +60 -53
  50. package/dist/strategies/negotiation/approval.js.map +1 -1
  51. package/dist/strategies/negotiation-strategy.d.ts +5 -0
  52. package/dist/strategies/negotiation-strategy.d.ts.map +1 -1
  53. package/dist/strategies/negotiation-strategy.js +9 -2
  54. package/dist/strategies/negotiation-strategy.js.map +1 -1
  55. package/dist/strategies/pipeline.d.ts +6 -1
  56. package/dist/strategies/pipeline.d.ts.map +1 -1
  57. package/dist/strategies/pipeline.js +15 -0
  58. package/dist/strategies/pipeline.js.map +1 -1
  59. package/dist/strategies/round-robin.d.ts +4 -0
  60. package/dist/strategies/round-robin.d.ts.map +1 -1
  61. package/dist/strategies/round-robin.js +18 -13
  62. package/dist/strategies/round-robin.js.map +1 -1
  63. package/dist/swarm.d.ts +20 -5
  64. package/dist/swarm.d.ts.map +1 -1
  65. package/dist/swarm.js +56 -13
  66. package/dist/swarm.js.map +1 -1
  67. package/package.json +5 -5
package/README.md CHANGED
@@ -8,6 +8,8 @@ Multi-agent swarm coordination for Cogitator. Orchestrate teams of AI agents wit
8
8
  pnpm add @cogitator-ai/swarms @cogitator-ai/core
9
9
  ```
10
10
 
11
+ Website docs: [Swarms](https://cogitator.app/docs/swarms), [Strategies](https://cogitator.app/docs/swarms/strategies), [Builder](https://cogitator.app/docs/swarms/builder), [Communication](https://cogitator.app/docs/swarms/communication), [Assessment](https://cogitator.app/docs/swarms/assessment), [Distributed](https://cogitator.app/docs/swarms/distributed).
12
+
11
13
  ## Quick Start
12
14
 
13
15
  ```typescript
@@ -30,7 +32,7 @@ const result = await swarm.run({ input: 'Build a REST API for user management' }
30
32
  console.log(result.output);
31
33
  ```
32
34
 
33
- Strategies equip agents with the tools they need: the hierarchical supervisor receives `delegate_task`, `check_progress`, `request_revision` and `list_workers`; negotiating agents receive the negotiation tools. Tools an agent already defines with the same name are kept.
35
+ Strategies equip agents with the tools they need: the hierarchical supervisor receives `delegate_task`, `check_progress`, `request_revision` and `list_workers`; consensus voters receive the voting tools; negotiating agents receive the negotiation tools. `agentTools` adds the messaging and blackboard tools to every agent (see [Built-in Swarm Tools](#built-in-swarm-tools)). Tools an agent already defines with the same name are kept.
34
36
 
35
37
  ## Features
36
38
 
@@ -102,9 +104,11 @@ const swarm = new SwarmBuilder('support-team')
102
104
  .build(cogitator);
103
105
  ```
104
106
 
107
+ With `sticky: true` a known `stickyKey` stays with the agent that handled it first; new keys keep rotating. Without `stickyKey` every run rotates.
108
+
105
109
  ### Consensus
106
110
 
107
- Agents vote (`VOTE: <decision>` in their answer or the `cast_vote` tool). A decision wins when its share of **all eligible voters** reaches the threshold and it is not tied; abstentions count against it.
111
+ Agents vote with `VOTE: <decision>` in their answer or with the `cast_vote` tool, which voters get automatically together with `get_votes`, `change_vote` and `get_consensus_status`. A decision wins when its share of **all eligible voters** reaches the threshold and it is not tied; abstentions count against it.
108
112
 
109
113
  ```typescript
110
114
  const swarm = new SwarmBuilder('review-board')
@@ -148,6 +152,8 @@ const result = await swarm.run({ input: 'Write about vector databases' });
148
152
  console.log(result.pipelineOutputs);
149
153
  ```
150
154
 
155
+ With `new Swarm(cogitator, config)` the stages can also be given as the top-level `stages` field; `gates` and `stageInput` still come from `pipeline`, and different stages in both places are rejected.
156
+
151
157
  ### Debate
152
158
 
153
159
  ```typescript
@@ -199,6 +205,24 @@ console.log(result.negotiationResult?.agreement);
199
205
 
200
206
  When stagnation is detected, the strategy proposes a mediated compromise as an offer from `mediator`; agents accept it with `accept_offer`.
201
207
 
208
+ Approval gates (`approvalGates`) announce each request with the `negotiation:approval-required` event. A gate with `timeout` resolves by its `timeoutAction`; a gate without one waits for your answer. A run `timeout` or `swarm.abort()` stops the wait.
209
+
210
+ ```typescript
211
+ import type { NegotiationApprovalRequest } from '@cogitator-ai/types';
212
+
213
+ swarm.on('negotiation:approval-required', (event) => {
214
+ const { request } = event.data as { request: NegotiationApprovalRequest };
215
+ swarm.respondToApproval(request.id, {
216
+ requestId: request.id,
217
+ decision: 'approved',
218
+ approved: true,
219
+ continueNegotiation: false,
220
+ respondedBy: 'legal-team',
221
+ respondedAt: Date.now(),
222
+ });
223
+ });
224
+ ```
225
+
202
226
  ---
203
227
 
204
228
  ## Running Swarms
@@ -207,7 +231,7 @@ When stagnation is detected, the strategy proposes a mediated compromise as an o
207
231
  const result = await swarm.run({
208
232
  input: 'Plan the release',
209
233
  threadId: 'release-42', // each agent uses thread `release-42:<agent>`
210
- timeout: 120_000, // rejects with SwarmTimeoutError and cancels in-flight calls
234
+ timeout: 120_000, // rejects with SwarmTimeoutError and cancels the run
211
235
  saveHistory: false,
212
236
  context: { project: 'cogitator' },
213
237
  onAgentStart: (agent) => console.log('start', agent),
@@ -220,6 +244,8 @@ const result = await swarm.run({
220
244
 
221
245
  A `Swarm` instance runs one task at a time; create separate instances for concurrent runs.
222
246
 
247
+ A run that times out or fails is cancelled as a whole: in-flight LLM calls are aborted, and work its strategy still has in flight starts no further agents or retries, even after `run()` has rejected or the next run of the same swarm has begun. Coordinators bind strategy work to its run with `runInScope(scope, work)` (`BaseSwarmCoordinator`), so every agent run takes the thread, user and abort signal of the run that started it.
248
+
223
249
  ### Pause, Resume, Abort, Reset
224
250
 
225
251
  ```typescript
@@ -287,7 +313,7 @@ const swarm = new SwarmBuilder('research-team')
287
313
  .strategy('hierarchical')
288
314
  .supervisor(lead)
289
315
  .workers([researcher])
290
- .messaging({ enabled: true, protocol: 'direct', maxMessagesPerTurn: 5 })
316
+ .messaging({ enabled: true, maxMessagesPerTurn: 5 })
291
317
  .blackboardConfig({ enabled: true, sections: { findings: [] }, trackHistory: true })
292
318
  .observability({ messageLogging: true, blackboardLogging: true })
293
319
  .build(cogitator);
@@ -299,6 +325,18 @@ swarm.blackboard.subscribe('findings', (data, writer) => console.log(writer, dat
299
325
 
300
326
  ## Built-in Swarm Tools
301
327
 
328
+ Enable `agentTools` to give every agent the messaging and blackboard tools, bound to the swarm's own bus and blackboard (local swarms only; rejected when distributed or when the bus / blackboard is disabled):
329
+
330
+ ```typescript
331
+ const swarm = new SwarmBuilder('research-team')
332
+ .strategy('round-robin')
333
+ .agents([researcher, writer])
334
+ .agentTools({ messaging: true, blackboard: true })
335
+ .build(cogitator);
336
+ ```
337
+
338
+ Consensus voters get the voting tools automatically. For custom strategies and coordinators, the factories build any tool set:
339
+
302
340
  ```typescript
303
341
  import { createSwarmTools, createStrategyTools, type SwarmToolContext } from '@cogitator-ai/swarms';
304
342
 
@@ -355,6 +393,8 @@ console.log(swarm.getLastAssessment()?.assignments);
355
393
 
356
394
  Assigned models are provider-qualified (e.g. `ollama/llama3.2:3b`). Unlocked agents are replaced by clones running the assigned model; locked agents keep theirs.
357
395
 
396
+ `mode: 'rules'` (default) analyzes the task with keyword rules. `'ai'` lets the `assessorModel` (default: the Cogitator's default model) analyze it; `'hybrid'` adds every hard requirement the rules detect. Both fall back to the rules with a warning when the model cannot run. Inside a Swarm only cloud models whose provider the Cogitator can route (API key configured) are offered; standalone, pass the Cogitator to `createAssessor(config, cogitator)` for the same behaviour.
397
+
358
398
  ---
359
399
 
360
400
  ## Workflow Integration
@@ -424,6 +464,8 @@ const swarm = new SwarmBuilder('distributed-team')
424
464
  queue: 'swarm-agent-jobs',
425
465
  timeout: 300_000,
426
466
  redis: { host: 'localhost', port: 6379, keyPrefix: 'swarm' },
467
+ retry: { maxRetries: 2, backoff: 'exponential', initialDelay: 1000 },
468
+ cleanupAfter: 3_600_000,
427
469
  })
428
470
  .build(cogitator);
429
471
 
@@ -450,7 +492,7 @@ await worker.start();
450
492
  process.on('SIGTERM', () => void worker.stop());
451
493
  ```
452
494
 
453
- Retry, failover, budgets and circuit breaking work the same as for local swarms. `RedisMessageBus`, `RedisBlackboard` and `RedisSwarmEventEmitter` are exported for direct use.
495
+ `retry` re-dispatches jobs that fail on a worker or time out (defaults: 3 retries, exponential backoff from 1000 ms up to 30000 ms; without it nothing is re-dispatched); a timed-out job may still be running, so its turn can run twice. `cleanupAfter` expires the swarm's Redis state after `close()` (default one hour, `0` deletes it at once). `workerConcurrency` is deprecated — set `concurrency` on the worker. The swarm's `errorHandling` (retry, failover), budgets and circuit breaking work the same as for local swarms. `RedisMessageBus`, `RedisBlackboard` and `RedisSwarmEventEmitter` are exported for direct use.
454
496
 
455
497
  ---
456
498
 
@@ -0,0 +1,26 @@
1
+ import type { Cogitator } from '@cogitator-ai/core';
2
+ import type { TaskRequirements } from '@cogitator-ai/types';
3
+ /**
4
+ * What the assessor needs from a Cogitator: running its own analysis agent and checking
5
+ * which models it can route.
6
+ */
7
+ export type AssessorRuntime = Pick<Cogitator, 'run' | 'route'>;
8
+ /**
9
+ * Task analysis by a language model, for the assessor's 'ai' and 'hybrid' modes.
10
+ */
11
+ export declare class AiTaskAnalyzer {
12
+ private readonly runtime;
13
+ private readonly agent;
14
+ /**
15
+ * @param model - model that analyzes tasks; the Cogitator's default model when omitted
16
+ */
17
+ constructor(runtime: Pick<Cogitator, 'run'>, model?: string);
18
+ analyze(task: string): Promise<TaskRequirements>;
19
+ }
20
+ /**
21
+ * Hybrid analysis: the model's judgement, plus every hard requirement the rules detected.
22
+ * Keyword rules rarely miss an explicit need for vision, tools or long context, while the
23
+ * model judges reasoning depth, speed, cost and complexity better.
24
+ */
25
+ export declare function mergeTaskRequirements(ai: TaskRequirements, rules: TaskRequirements): TaskRequirements;
26
+ //# sourceMappingURL=ai-task-analyzer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ai-task-analyzer.d.ts","sourceRoot":"","sources":["../../src/assessor/ai-task-analyzer.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAyB5D;;;GAGG;AACH,MAAM,MAAM,eAAe,GAAG,IAAI,CAAC,SAAS,EAAE,KAAK,GAAG,OAAO,CAAC,CAAC;AAE/D;;GAEG;AACH,qBAAa,cAAc;IAOvB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAN1B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAQ;IAE9B;;OAEG;gBAEgB,OAAO,EAAE,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,EAChD,KAAK,CAAC,EAAE,MAAM;IAUV,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;CAavD;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CACnC,EAAE,EAAE,gBAAgB,EACpB,KAAK,EAAE,gBAAgB,GACtB,gBAAgB,CAQlB"}
@@ -0,0 +1,67 @@
1
+ import { z } from 'zod';
2
+ import { Agent } from '@cogitator-ai/core';
3
+ const taskRequirementsSchema = z.object({
4
+ needsVision: z.boolean().describe('The task involves images, screenshots or other visuals'),
5
+ needsToolCalling: z
6
+ .boolean()
7
+ .describe('The task needs external actions: search, APIs, code execution, files'),
8
+ needsLongContext: z
9
+ .boolean()
10
+ .describe('The task works over long inputs such as whole documents or codebases'),
11
+ needsReasoning: z.enum(['basic', 'moderate', 'advanced']),
12
+ needsSpeed: z.enum(['fast', 'balanced', 'slow-ok']),
13
+ costSensitivity: z.enum(['low', 'medium', 'high']),
14
+ complexity: z.enum(['simple', 'moderate', 'complex']),
15
+ domains: z
16
+ .array(z.string())
17
+ .describe('Subject areas, using these names where they fit: code, math, creative, analysis, legal, medical, finance'),
18
+ });
19
+ const INSTRUCTIONS = `You assess tasks for a multi-agent system that picks a language model for each agent.
20
+ Read the task and describe what a model needs to handle it well. Judge the task itself; do not solve it.
21
+ Answer with JSON only.`;
22
+ /**
23
+ * Task analysis by a language model, for the assessor's 'ai' and 'hybrid' modes.
24
+ */
25
+ export class AiTaskAnalyzer {
26
+ runtime;
27
+ agent;
28
+ /**
29
+ * @param model - model that analyzes tasks; the Cogitator's default model when omitted
30
+ */
31
+ constructor(runtime, model) {
32
+ this.runtime = runtime;
33
+ this.agent = new Agent({
34
+ name: 'swarm-assessor',
35
+ instructions: INSTRUCTIONS,
36
+ ...(model && { model }),
37
+ responseFormat: { type: 'json_schema', schema: taskRequirementsSchema },
38
+ });
39
+ }
40
+ async analyze(task) {
41
+ const result = await this.runtime.run(this.agent, {
42
+ input: task,
43
+ useMemory: false,
44
+ saveHistory: false,
45
+ });
46
+ const parsed = taskRequirementsSchema.safeParse(result.structured);
47
+ if (!parsed.success) {
48
+ throw new Error('the assessor model did not return a valid task analysis');
49
+ }
50
+ return parsed.data;
51
+ }
52
+ }
53
+ /**
54
+ * Hybrid analysis: the model's judgement, plus every hard requirement the rules detected.
55
+ * Keyword rules rarely miss an explicit need for vision, tools or long context, while the
56
+ * model judges reasoning depth, speed, cost and complexity better.
57
+ */
58
+ export function mergeTaskRequirements(ai, rules) {
59
+ return {
60
+ ...ai,
61
+ needsVision: ai.needsVision || rules.needsVision,
62
+ needsToolCalling: ai.needsToolCalling || rules.needsToolCalling,
63
+ needsLongContext: ai.needsLongContext || rules.needsLongContext,
64
+ domains: Array.from(new Set([...(ai.domains ?? []), ...(rules.domains ?? [])])),
65
+ };
66
+ }
67
+ //# sourceMappingURL=ai-task-analyzer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ai-task-analyzer.js","sourceRoot":"","sources":["../../src/assessor/ai-task-analyzer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAI3C,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IACtC,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,wDAAwD,CAAC;IAC3F,gBAAgB,EAAE,CAAC;SAChB,OAAO,EAAE;SACT,QAAQ,CAAC,sEAAsE,CAAC;IACnF,gBAAgB,EAAE,CAAC;SAChB,OAAO,EAAE;SACT,QAAQ,CAAC,sEAAsE,CAAC;IACnF,cAAc,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;IACzD,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;IACnD,eAAe,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;IAClD,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;IACrD,OAAO,EAAE,CAAC;SACP,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;SACjB,QAAQ,CACP,0GAA0G,CAC3G;CACJ,CAAC,CAAC;AAEH,MAAM,YAAY,GAAG;;uBAEE,CAAC;AAQxB;;GAEG;AACH,MAAM,OAAO,cAAc;IAON;IANF,KAAK,CAAQ;IAE9B;;OAEG;IACH,YACmB,OAA+B,EAChD,KAAc;QADG,YAAO,GAAP,OAAO,CAAwB;QAGhD,IAAI,CAAC,KAAK,GAAG,IAAI,KAAK,CAAC;YACrB,IAAI,EAAE,gBAAgB;YACtB,YAAY,EAAE,YAAY;YAC1B,GAAG,CAAC,KAAK,IAAI,EAAE,KAAK,EAAE,CAAC;YACvB,cAAc,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,sBAAsB,EAAE;SACxE,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,IAAY;QACxB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE;YAChD,KAAK,EAAE,IAAI;YACX,SAAS,EAAE,KAAK;YAChB,WAAW,EAAE,KAAK;SACnB,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,sBAAsB,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACnE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;QAC7E,CAAC;QACD,OAAO,MAAM,CAAC,IAAI,CAAC;IACrB,CAAC;CACF;AAED;;;;GAIG;AACH,MAAM,UAAU,qBAAqB,CACnC,EAAoB,EACpB,KAAuB;IAEvB,OAAO;QACL,GAAG,EAAE;QACL,WAAW,EAAE,EAAE,CAAC,WAAW,IAAI,KAAK,CAAC,WAAW;QAChD,gBAAgB,EAAE,EAAE,CAAC,gBAAgB,IAAI,KAAK,CAAC,gBAAgB;QAC/D,gBAAgB,EAAE,EAAE,CAAC,gBAAgB,IAAI,KAAK,CAAC,gBAAgB;QAC/D,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;KAChF,CAAC;AACJ,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import type { Agent, SwarmConfig, AssessorConfig, AssessmentResult, TaskRequirements, ModelCandidate, DiscoveredModel, Assessor } from '@cogitator-ai/types';
2
+ import { type AssessorRuntime } from './ai-task-analyzer.js';
2
3
  /**
3
4
  * Model string an agent can run with: `${provider}/${id}`.
4
5
  */
@@ -9,13 +10,20 @@ export declare class SwarmAssessor implements Assessor {
9
10
  private modelDiscovery;
10
11
  private modelScorer;
11
12
  private roleMatcher;
13
+ private aiTaskAnalyzer?;
12
14
  private assessmentCache;
13
- constructor(config?: AssessorConfig);
15
+ /**
16
+ * @param runtime - the Cogitator the swarm runs on. It runs the assessor model in 'ai' and
17
+ * 'hybrid' modes, and only cloud models it can route (their provider is configured) are
18
+ * offered. Without it every enabled provider is offered and analysis uses the rules.
19
+ */
20
+ constructor(config?: AssessorConfig, runtime?: AssessorRuntime);
14
21
  /**
15
22
  * @param resolveModel - the model an agent runs on when it sets none, e.g.
16
23
  * `(agent) => cogitator.resolveModel(agent)`
17
24
  */
18
25
  analyze(task: string, swarmConfig: SwarmConfig, resolveModel?: (agent: Agent) => string): Promise<AssessmentResult>;
26
+ private analyzeTask;
19
27
  /**
20
28
  * Apply assessment results: every unlocked agent is replaced by a clone running the
21
29
  * assigned model. Agents keep their name, instructions and tools.
@@ -29,5 +37,8 @@ export declare class SwarmAssessor implements Assessor {
29
37
  private estimateModelCost;
30
38
  private optimizeForBudget;
31
39
  }
32
- export declare function createAssessor(config?: AssessorConfig): SwarmAssessor;
40
+ /**
41
+ * @param runtime - the Cogitator the swarm runs on (see {@link SwarmAssessor})
42
+ */
43
+ export declare function createAssessor(config?: AssessorConfig, runtime?: AssessorRuntime): SwarmAssessor;
33
44
  //# sourceMappingURL=assessor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"assessor.d.ts","sourceRoot":"","sources":["../../src/assessor/assessor.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,KAAK,EACL,WAAW,EACX,cAAc,EACd,gBAAgB,EAEhB,gBAAgB,EAChB,cAAc,EAEd,eAAe,EACf,QAAQ,EAGT,MAAM,qBAAqB,CAAC;AA2B7B;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,IAAI,CAAC,eAAe,EAAE,IAAI,GAAG,UAAU,CAAC,GAAG,MAAM,CAExF;AASD,qBAAa,aAAc,YAAW,QAAQ;IAC5C,OAAO,CAAC,MAAM,CAAyB;IACvC,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,eAAe,CAAsE;gBAEjF,MAAM,GAAE,cAAmB;IAQvC;;;OAGG;IACG,OAAO,CACX,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,WAAW,EACxB,YAAY,GAAE,CAAC,KAAK,EAAE,KAAK,KAAK,MAAwB,GACvD,OAAO,CAAC,gBAAgB,CAAC;IAiH5B;;;OAGG;IACH,YAAY,CAAC,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,gBAAgB,GAAG,WAAW;IAoClE,aAAa,CAAC,YAAY,EAAE,gBAAgB,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAqB9E,OAAO,CAAC,WAAW;IAcnB,OAAO,CAAC,UAAU;IAUlB,OAAO,CAAC,cAAc;IAYtB,OAAO,CAAC,iBAAiB;IAkBzB,OAAO,CAAC,iBAAiB;IAWzB,OAAO,CAAC,iBAAiB;CAwD1B;AAeD,wBAAgB,cAAc,CAAC,MAAM,CAAC,EAAE,cAAc,GAAG,aAAa,CAErE"}
1
+ {"version":3,"file":"assessor.d.ts","sourceRoot":"","sources":["../../src/assessor/assessor.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,KAAK,EACL,WAAW,EACX,cAAc,EACd,gBAAgB,EAEhB,gBAAgB,EAChB,cAAc,EAEd,eAAe,EACf,QAAQ,EAGT,MAAM,qBAAqB,CAAC;AAK7B,OAAO,EAAyC,KAAK,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAuBjG;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,IAAI,CAAC,eAAe,EAAE,IAAI,GAAG,UAAU,CAAC,GAAG,MAAM,CAExF;AASD,qBAAa,aAAc,YAAW,QAAQ;IAC5C,OAAO,CAAC,MAAM,CAAyB;IACvC,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,cAAc,CAAC,CAAiB;IACxC,OAAO,CAAC,eAAe,CAAsE;IAE7F;;;;OAIG;gBACS,MAAM,GAAE,cAAmB,EAAE,OAAO,CAAC,EAAE,eAAe;IAclE;;;OAGG;IACG,OAAO,CACX,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,WAAW,EACxB,YAAY,GAAE,CAAC,KAAK,EAAE,KAAK,KAAK,MAAwB,GACvD,OAAO,CAAC,gBAAgB,CAAC;YAiHd,WAAW;IAsBzB;;;OAGG;IACH,YAAY,CAAC,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,gBAAgB,GAAG,WAAW;IAoClE,aAAa,CAAC,YAAY,EAAE,gBAAgB,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAqB9E,OAAO,CAAC,WAAW;IAcnB,OAAO,CAAC,UAAU;IAUlB,OAAO,CAAC,cAAc;IAYtB,OAAO,CAAC,iBAAiB;IAkBzB,OAAO,CAAC,iBAAiB;IAWzB,OAAO,CAAC,iBAAiB;CAwD1B;AAeD;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,CAAC,EAAE,cAAc,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,aAAa,CAEhG"}
@@ -3,9 +3,9 @@ import { TaskAnalyzer } from './task-analyzer.js';
3
3
  import { ModelDiscovery } from './model-discovery.js';
4
4
  import { ModelScorer } from './scoring.js';
5
5
  import { RoleMatcher } from './role-matcher.js';
6
+ import { AiTaskAnalyzer, mergeTaskRequirements } from './ai-task-analyzer.js';
6
7
  const DEFAULT_CONFIG = {
7
8
  mode: 'rules',
8
- assessorModel: 'gpt-6-luna',
9
9
  preferLocal: true,
10
10
  minCapabilityMatch: 0.3,
11
11
  ollamaUrl: 'http://localhost:11434',
@@ -33,13 +33,22 @@ export class SwarmAssessor {
33
33
  modelDiscovery;
34
34
  modelScorer;
35
35
  roleMatcher;
36
+ aiTaskAnalyzer;
36
37
  assessmentCache = new Map();
37
- constructor(config = {}) {
38
+ /**
39
+ * @param runtime - the Cogitator the swarm runs on. It runs the assessor model in 'ai' and
40
+ * 'hybrid' modes, and only cloud models it can route (their provider is configured) are
41
+ * offered. Without it every enabled provider is offered and analysis uses the rules.
42
+ */
43
+ constructor(config = {}, runtime) {
38
44
  this.config = { ...DEFAULT_CONFIG, ...config };
39
45
  this.taskAnalyzer = new TaskAnalyzer();
40
- this.modelDiscovery = new ModelDiscovery(this.config);
46
+ this.modelDiscovery = new ModelDiscovery(this.config, runtime && ((model) => canRoute(runtime, qualifiedModelId(model))));
41
47
  this.modelScorer = new ModelScorer();
42
48
  this.roleMatcher = new RoleMatcher();
49
+ if (runtime && this.config.mode !== 'rules') {
50
+ this.aiTaskAnalyzer = new AiTaskAnalyzer(runtime, this.config.assessorModel);
51
+ }
43
52
  }
44
53
  /**
45
54
  * @param resolveModel - the model an agent runs on when it sets none, e.g.
@@ -53,12 +62,12 @@ export class SwarmAssessor {
53
62
  return cached.result;
54
63
  }
55
64
  }
56
- const taskAnalysis = this.taskAnalyzer.analyze(task);
65
+ const warnings = [];
66
+ const taskAnalysis = await this.analyzeTask(task, warnings);
57
67
  const discoveredModels = await this.modelDiscovery.discoverAll();
58
68
  const agents = this.roleMatcher.extractAgentsFromConfig(swarmConfig);
59
69
  const roleAnalyses = new Map();
60
70
  const assignments = [];
61
- const warnings = [];
62
71
  for (const agent of agents) {
63
72
  const currentModel = resolveModel(agent.agent);
64
73
  if (agent.metadata.locked) {
@@ -131,6 +140,25 @@ export class SwarmAssessor {
131
140
  }
132
141
  return result;
133
142
  }
143
+ async analyzeTask(task, warnings) {
144
+ const rules = this.taskAnalyzer.analyze(task);
145
+ const mode = this.config.mode;
146
+ if (mode === 'rules')
147
+ return rules;
148
+ if (!this.aiTaskAnalyzer) {
149
+ warnings.push(`Assessor mode '${mode}' needs a Cogitator to run the assessor model; used rule-based task analysis`);
150
+ return rules;
151
+ }
152
+ try {
153
+ const ai = await this.aiTaskAnalyzer.analyze(task);
154
+ return mode === 'hybrid' ? mergeTaskRequirements(ai, rules) : ai;
155
+ }
156
+ catch (error) {
157
+ const reason = error instanceof Error ? error.message : String(error);
158
+ warnings.push(`AI task analysis failed (${reason}); used rule-based task analysis`);
159
+ return rules;
160
+ }
161
+ }
134
162
  /**
135
163
  * Apply assessment results: every unlocked agent is replaced by a clone running the
136
164
  * assigned model. Agents keep their name, instructions and tools.
@@ -294,8 +322,20 @@ const MODEL_PROVIDERS = [
294
322
  function isModelProvider(value) {
295
323
  return MODEL_PROVIDERS.includes(value);
296
324
  }
297
- export function createAssessor(config) {
298
- return new SwarmAssessor(config);
325
+ /**
326
+ * @param runtime - the Cogitator the swarm runs on (see {@link SwarmAssessor})
327
+ */
328
+ export function createAssessor(config, runtime) {
329
+ return new SwarmAssessor(config, runtime);
330
+ }
331
+ function canRoute(runtime, model) {
332
+ try {
333
+ runtime.route(model);
334
+ return true;
335
+ }
336
+ catch {
337
+ return false;
338
+ }
299
339
  }
300
340
  function requireOwnModel(agent) {
301
341
  if (!agent.model) {
@@ -1 +1 @@
1
- {"version":3,"file":"assessor.js","sourceRoot":"","sources":["../../src/assessor/assessor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"assessor.js","sourceRoot":"","sources":["../../src/assessor/assessor.ts"],"names":[],"mappings":"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"}
@@ -3,4 +3,5 @@ export { TaskAnalyzer } from './task-analyzer.js';
3
3
  export { ModelDiscovery } from './model-discovery.js';
4
4
  export { ModelScorer, type ScoredModel } from './scoring.js';
5
5
  export { RoleMatcher } from './role-matcher.js';
6
+ export { AiTaskAnalyzer, type AssessorRuntime } from './ai-task-analyzer.js';
6
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/assessor/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,KAAK,WAAW,EAAE,MAAM,WAAW,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/assessor/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,KAAK,WAAW,EAAE,MAAM,WAAW,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,KAAK,eAAe,EAAE,MAAM,oBAAoB,CAAC"}
@@ -3,4 +3,5 @@ export { TaskAnalyzer } from './task-analyzer.js';
3
3
  export { ModelDiscovery } from './model-discovery.js';
4
4
  export { ModelScorer } from './scoring.js';
5
5
  export { RoleMatcher } from './role-matcher.js';
6
+ export { AiTaskAnalyzer } from './ai-task-analyzer.js';
6
7
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/assessor/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAoB,MAAM,WAAW,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/assessor/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAoB,MAAM,WAAW,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAwB,MAAM,oBAAoB,CAAC"}
@@ -4,7 +4,12 @@ export declare class ModelDiscovery {
4
4
  private enabledProviders;
5
5
  private cache;
6
6
  private cacheTTL;
7
- constructor(config: AssessorConfig);
7
+ private canRunModel?;
8
+ /**
9
+ * @param canRunModel - whether a cloud model can actually run (e.g. its provider's API key
10
+ * is configured); cloud models it rejects are not offered
11
+ */
12
+ constructor(config: AssessorConfig, canRunModel?: (model: DiscoveredModel) => boolean);
8
13
  discoverAll(): Promise<DiscoveredModel[]>;
9
14
  discoverOllama(): Promise<DiscoveredModel[]>;
10
15
  private transformOllamaModel;
@@ -1 +1 @@
1
- {"version":3,"file":"model-discovery.d.ts","sourceRoot":"","sources":["../../src/assessor/model-discovery.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,aAAa,EAEb,cAAc,EACf,MAAM,qBAAqB,CAAC;AAwM7B,qBAAa,cAAc;IACzB,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,gBAAgB,CAAqB;IAC7C,OAAO,CAAC,KAAK,CAAuE;IACpF,OAAO,CAAC,QAAQ,CAAS;gBAEb,MAAM,EAAE,cAAc;IAQ5B,WAAW,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;IAqBzC,cAAc,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;IAkBlD,OAAO,CAAC,oBAAoB;IAoB5B,OAAO,CAAC,uBAAuB;IAe/B,OAAO,CAAC,kBAAkB;IAe1B,OAAO,CAAC,eAAe;IASvB,cAAc,CAAC,eAAe,CAAC,EAAE,aAAa,EAAE,GAAG,eAAe,EAAE;IAO9D,uBAAuB,IAAI,OAAO,CAAC,OAAO,CAAC;CAUlD"}
1
+ {"version":3,"file":"model-discovery.d.ts","sourceRoot":"","sources":["../../src/assessor/model-discovery.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,aAAa,EAEb,cAAc,EACf,MAAM,qBAAqB,CAAC;AAwM7B,qBAAa,cAAc;IACzB,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,gBAAgB,CAAqB;IAC7C,OAAO,CAAC,KAAK,CAAuE;IACpF,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,WAAW,CAAC,CAAsC;IAE1D;;;OAGG;gBACS,MAAM,EAAE,cAAc,EAAE,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,OAAO;IAS/E,WAAW,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;IAqBzC,cAAc,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;IAkBlD,OAAO,CAAC,oBAAoB;IAoB5B,OAAO,CAAC,uBAAuB;IAe/B,OAAO,CAAC,kBAAkB;IAe1B,OAAO,CAAC,eAAe;IASvB,cAAc,CAAC,eAAe,CAAC,EAAE,aAAa,EAAE,GAAG,eAAe,EAAE;IAS9D,uBAAuB,IAAI,OAAO,CAAC,OAAO,CAAC;CAUlD"}
@@ -181,7 +181,13 @@ export class ModelDiscovery {
181
181
  enabledProviders;
182
182
  cache = new Map();
183
183
  cacheTTL;
184
- constructor(config) {
184
+ canRunModel;
185
+ /**
186
+ * @param canRunModel - whether a cloud model can actually run (e.g. its provider's API key
187
+ * is configured); cloud models it rejects are not offered
188
+ */
189
+ constructor(config, canRunModel) {
190
+ this.canRunModel = canRunModel;
185
191
  this.ollamaUrl = config.ollamaUrl ?? 'http://localhost:11434';
186
192
  this.enabledProviders = new Set(config.enabledProviders ?? ['ollama', 'openai', 'anthropic', 'google']);
187
193
  this.cacheTTL = config.cacheTTL ?? 5 * 60 * 1000;
@@ -271,7 +277,7 @@ export class ModelDiscovery {
271
277
  const providers = filterProviders
272
278
  ? new Set(filterProviders.filter((p) => this.enabledProviders.has(p)))
273
279
  : this.enabledProviders;
274
- return CLOUD_MODELS.filter((model) => providers.has(model.provider));
280
+ return CLOUD_MODELS.filter((model) => providers.has(model.provider) && (this.canRunModel?.(model) ?? true));
275
281
  }
276
282
  async checkOllamaAvailability() {
277
283
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"model-discovery.js","sourceRoot":"","sources":["../../src/assessor/model-discovery.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"model-discovery.js","sourceRoot":"","sources":["../../src/assessor/model-discovery.ts"],"names":[],"mappings":"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"}
@@ -49,6 +49,7 @@ export declare abstract class BaseSwarmCoordinator<Bus extends ReadTrackingMessa
49
49
  private injectedTools;
50
50
  private abortController;
51
51
  private runScope;
52
+ private readonly boundRunScope;
52
53
  private paused;
53
54
  protected constructor(config: SwarmConfig, swarmId: string, communication: SwarmCommunication<Bus, Board, Events>);
54
55
  /**
@@ -73,6 +74,14 @@ export declare abstract class BaseSwarmCoordinator<Bus extends ReadTrackingMessa
73
74
  */
74
75
  beginRun(scope?: SwarmRunScope): void;
75
76
  endRun(): void;
77
+ /**
78
+ * Execute `work` (a strategy run) bound to `scope`: every agent run it starts, however
79
+ * late, takes this scope instead of whichever run is current. So once the scope's signal
80
+ * aborts (timeout, failure), work still in flight cannot start agents or retries, not
81
+ * even after the run has ended or a new one has begun.
82
+ */
83
+ runInScope<T>(scope: SwarmRunScope, work: () => Promise<T>): Promise<T>;
84
+ private get activeScope();
76
85
  pause(): void;
77
86
  resume(): void;
78
87
  /**
@@ -95,12 +104,15 @@ export declare abstract class BaseSwarmCoordinator<Bus extends ReadTrackingMessa
95
104
  private currentSignal;
96
105
  private executeAgent;
97
106
  /**
98
- * Tools a strategy needs an agent to have: the supervisor of a hierarchical swarm gets the
99
- * delegation tools, negotiating agents get the negotiation tools. Tools the agent already
100
- * defines (by name) are left untouched. Engines that cannot ship tool implementations
101
- * (e.g. remote workers) override this.
107
+ * Tools the swarm adds to an agent: the supervisor of a hierarchical swarm gets the
108
+ * delegation tools, consensus voters the voting tools, negotiating agents the negotiation
109
+ * tools, and every agent the built-in tools enabled with `agentTools`. Tools the agent
110
+ * already defines (by name) are left untouched. Engines that cannot ship tool
111
+ * implementations (e.g. remote workers) override this.
102
112
  */
103
113
  protected strategyTools(swarmAgent: SwarmAgent): Tool[];
114
+ private roleTools;
115
+ private configuredAgentTools;
104
116
  private missingStrategyTools;
105
117
  /**
106
118
  * The agent actually executed for a turn: a cached clone when strategy tools,
@@ -110,6 +122,7 @@ export declare abstract class BaseSwarmCoordinator<Bus extends ReadTrackingMessa
110
122
  private handleAgentError;
111
123
  private retryAgentRun;
112
124
  private setAgentState;
125
+ private logTrace;
113
126
  private wireObservability;
114
127
  private collectIncomingMessages;
115
128
  private buildNegotiationContext;
@@ -1 +1 @@
1
- {"version":3,"file":"base-coordinator.d.ts","sourceRoot":"","sources":["../src/base-coordinator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base-coordinator.d.ts","sourceRoot":"","sources":["../src/base-coordinator.ts"],"names":[],"mappings":"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"}