@cogitator-ai/swarms 0.4.19 → 0.5.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.
Files changed (154) hide show
  1. package/README.md +245 -897
  2. package/dist/agents.d.ts +13 -0
  3. package/dist/agents.d.ts.map +1 -0
  4. package/dist/agents.js +70 -0
  5. package/dist/agents.js.map +1 -0
  6. package/dist/assessor/assessor.d.ts +9 -2
  7. package/dist/assessor/assessor.d.ts.map +1 -1
  8. package/dist/assessor/assessor.js +89 -61
  9. package/dist/assessor/assessor.js.map +1 -1
  10. package/dist/assessor/role-matcher.d.ts +6 -24
  11. package/dist/assessor/role-matcher.d.ts.map +1 -1
  12. package/dist/assessor/role-matcher.js +9 -37
  13. package/dist/assessor/role-matcher.js.map +1 -1
  14. package/dist/assessor/scoring.js +1 -1
  15. package/dist/assessor/scoring.js.map +1 -1
  16. package/dist/assessor/task-analyzer.d.ts.map +1 -1
  17. package/dist/assessor/task-analyzer.js +4 -19
  18. package/dist/assessor/task-analyzer.js.map +1 -1
  19. package/dist/base-coordinator.d.ts +117 -0
  20. package/dist/base-coordinator.d.ts.map +1 -0
  21. package/dist/base-coordinator.js +455 -0
  22. package/dist/base-coordinator.js.map +1 -0
  23. package/dist/communication/blackboard.d.ts +34 -4
  24. package/dist/communication/blackboard.d.ts.map +1 -1
  25. package/dist/communication/blackboard.js +80 -41
  26. package/dist/communication/blackboard.js.map +1 -1
  27. package/dist/communication/event-emitter.d.ts +1 -1
  28. package/dist/communication/event-emitter.d.ts.map +1 -1
  29. package/dist/communication/event-emitter.js +6 -17
  30. package/dist/communication/event-emitter.js.map +1 -1
  31. package/dist/communication/index.d.ts +2 -2
  32. package/dist/communication/index.d.ts.map +1 -1
  33. package/dist/communication/index.js +2 -2
  34. package/dist/communication/index.js.map +1 -1
  35. package/dist/communication/message-bus.d.ts +48 -5
  36. package/dist/communication/message-bus.d.ts.map +1 -1
  37. package/dist/communication/message-bus.js +135 -50
  38. package/dist/communication/message-bus.js.map +1 -1
  39. package/dist/communication/redis-blackboard.d.ts +12 -5
  40. package/dist/communication/redis-blackboard.d.ts.map +1 -1
  41. package/dist/communication/redis-blackboard.js +214 -94
  42. package/dist/communication/redis-blackboard.js.map +1 -1
  43. package/dist/communication/redis-event-emitter.d.ts +14 -1
  44. package/dist/communication/redis-event-emitter.d.ts.map +1 -1
  45. package/dist/communication/redis-event-emitter.js +107 -47
  46. package/dist/communication/redis-event-emitter.js.map +1 -1
  47. package/dist/communication/redis-message-bus.d.ts +13 -6
  48. package/dist/communication/redis-message-bus.d.ts.map +1 -1
  49. package/dist/communication/redis-message-bus.js +93 -66
  50. package/dist/communication/redis-message-bus.js.map +1 -1
  51. package/dist/coordinator.d.ts +7 -41
  52. package/dist/coordinator.d.ts.map +1 -1
  53. package/dist/coordinator.js +17 -336
  54. package/dist/coordinator.js.map +1 -1
  55. package/dist/distributed/distributed-coordinator.d.ts +55 -49
  56. package/dist/distributed/distributed-coordinator.d.ts.map +1 -1
  57. package/dist/distributed/distributed-coordinator.js +166 -253
  58. package/dist/distributed/distributed-coordinator.js.map +1 -1
  59. package/dist/distributed/index.d.ts +1 -1
  60. package/dist/distributed/index.d.ts.map +1 -1
  61. package/dist/distributed/index.js +1 -1
  62. package/dist/distributed/index.js.map +1 -1
  63. package/dist/index.d.ts +4 -3
  64. package/dist/index.d.ts.map +1 -1
  65. package/dist/index.js +4 -3
  66. package/dist/index.js.map +1 -1
  67. package/dist/resources/circuit-breaker.d.ts +1 -6
  68. package/dist/resources/circuit-breaker.d.ts.map +1 -1
  69. package/dist/resources/circuit-breaker.js +14 -17
  70. package/dist/resources/circuit-breaker.js.map +1 -1
  71. package/dist/resources/index.d.ts.map +1 -1
  72. package/dist/resources/index.js.map +1 -1
  73. package/dist/resources/tracker.d.ts.map +1 -1
  74. package/dist/resources/tracker.js +8 -5
  75. package/dist/resources/tracker.js.map +1 -1
  76. package/dist/shared/hierarchy.d.ts +21 -0
  77. package/dist/shared/hierarchy.d.ts.map +1 -0
  78. package/dist/shared/hierarchy.js +27 -0
  79. package/dist/shared/hierarchy.js.map +1 -0
  80. package/dist/shared/negotiation.d.ts +27 -0
  81. package/dist/shared/negotiation.d.ts.map +1 -0
  82. package/dist/shared/negotiation.js +55 -0
  83. package/dist/shared/negotiation.js.map +1 -0
  84. package/dist/shared/voting.d.ts +6 -0
  85. package/dist/shared/voting.d.ts.map +1 -0
  86. package/dist/shared/voting.js +13 -0
  87. package/dist/shared/voting.js.map +1 -0
  88. package/dist/strategies/auction.js +2 -3
  89. package/dist/strategies/auction.js.map +1 -1
  90. package/dist/strategies/consensus.d.ts +12 -0
  91. package/dist/strategies/consensus.d.ts.map +1 -1
  92. package/dist/strategies/consensus.js +81 -40
  93. package/dist/strategies/consensus.js.map +1 -1
  94. package/dist/strategies/debate.d.ts.map +1 -1
  95. package/dist/strategies/debate.js +19 -9
  96. package/dist/strategies/debate.js.map +1 -1
  97. package/dist/strategies/hierarchical.d.ts.map +1 -1
  98. package/dist/strategies/hierarchical.js +29 -12
  99. package/dist/strategies/hierarchical.js.map +1 -1
  100. package/dist/strategies/index.d.ts +8 -7
  101. package/dist/strategies/index.d.ts.map +1 -1
  102. package/dist/strategies/index.js +1 -7
  103. package/dist/strategies/index.js.map +1 -1
  104. package/dist/strategies/negotiation/approval.d.ts.map +1 -1
  105. package/dist/strategies/negotiation/approval.js +47 -21
  106. package/dist/strategies/negotiation/approval.js.map +1 -1
  107. package/dist/strategies/negotiation/convergence.js +1 -1
  108. package/dist/strategies/negotiation-strategy.d.ts +24 -2
  109. package/dist/strategies/negotiation-strategy.d.ts.map +1 -1
  110. package/dist/strategies/negotiation-strategy.js +281 -158
  111. package/dist/strategies/negotiation-strategy.js.map +1 -1
  112. package/dist/strategies/pipeline.d.ts.map +1 -1
  113. package/dist/strategies/pipeline.js +19 -11
  114. package/dist/strategies/pipeline.js.map +1 -1
  115. package/dist/swarm.d.ts +24 -15
  116. package/dist/swarm.d.ts.map +1 -1
  117. package/dist/swarm.js +193 -116
  118. package/dist/swarm.js.map +1 -1
  119. package/dist/tools/blackboard.d.ts +1 -1
  120. package/dist/tools/blackboard.d.ts.map +1 -1
  121. package/dist/tools/blackboard.js +26 -6
  122. package/dist/tools/blackboard.js.map +1 -1
  123. package/dist/tools/delegation.d.ts +23 -4
  124. package/dist/tools/delegation.d.ts.map +1 -1
  125. package/dist/tools/delegation.js +116 -85
  126. package/dist/tools/delegation.js.map +1 -1
  127. package/dist/tools/index.d.ts +3 -1
  128. package/dist/tools/index.d.ts.map +1 -1
  129. package/dist/tools/index.js +19 -4
  130. package/dist/tools/index.js.map +1 -1
  131. package/dist/tools/messaging.d.ts +36 -7
  132. package/dist/tools/messaging.d.ts.map +1 -1
  133. package/dist/tools/messaging.js +122 -46
  134. package/dist/tools/messaging.js.map +1 -1
  135. package/dist/tools/negotiation.d.ts +8 -4
  136. package/dist/tools/negotiation.d.ts.map +1 -1
  137. package/dist/tools/negotiation.js +135 -85
  138. package/dist/tools/negotiation.js.map +1 -1
  139. package/dist/tools/voting.d.ts +3 -0
  140. package/dist/tools/voting.d.ts.map +1 -1
  141. package/dist/tools/voting.js +13 -12
  142. package/dist/tools/voting.js.map +1 -1
  143. package/dist/utils/concurrency.d.ts +10 -0
  144. package/dist/utils/concurrency.d.ts.map +1 -0
  145. package/dist/utils/concurrency.js +28 -0
  146. package/dist/utils/concurrency.js.map +1 -0
  147. package/dist/utils/invoke.d.ts +2 -0
  148. package/dist/utils/invoke.d.ts.map +1 -0
  149. package/dist/utils/invoke.js +19 -0
  150. package/dist/utils/invoke.js.map +1 -0
  151. package/dist/workflow/swarm-node.d.ts.map +1 -1
  152. package/dist/workflow/swarm-node.js +56 -71
  153. package/dist/workflow/swarm-node.js.map +1 -1
  154. package/package.json +6 -6
@@ -0,0 +1,13 @@
1
+ import type { Agent, SwarmAgent, SwarmAgentMetadata, SwarmConfig } from '@cogitator-ai/types';
2
+ interface AgentEntry {
3
+ agent: Agent;
4
+ metadata: SwarmAgentMetadata;
5
+ }
6
+ /**
7
+ * Collect every agent referenced by a swarm config together with the metadata implied by
8
+ * the slot it was configured in. Explicit `agentMetadata` entries override slot defaults.
9
+ */
10
+ export declare function collectSwarmAgentEntries(config: SwarmConfig): AgentEntry[];
11
+ export declare function buildSwarmAgents(config: SwarmConfig): Map<string, SwarmAgent>;
12
+ export {};
13
+ //# sourceMappingURL=agents.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agents.d.ts","sourceRoot":"","sources":["../src/agents.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAE9F,UAAU,UAAU;IAClB,KAAK,EAAE,KAAK,CAAC;IACb,QAAQ,EAAE,kBAAkB,CAAC;CAC9B;AAMD;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,WAAW,GAAG,UAAU,EAAE,CA2D1E;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,WAAW,GAAG,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAY7E"}
package/dist/agents.js ADDED
@@ -0,0 +1,70 @@
1
+ function stageMetadata(stage) {
2
+ return { custom: { stageName: stage.name, isGate: stage.gate } };
3
+ }
4
+ /**
5
+ * Collect every agent referenced by a swarm config together with the metadata implied by
6
+ * the slot it was configured in. Explicit `agentMetadata` entries override slot defaults.
7
+ */
8
+ export function collectSwarmAgentEntries(config) {
9
+ const entries = [];
10
+ if (config.supervisor) {
11
+ entries.push({ agent: config.supervisor, metadata: { role: 'supervisor', priority: 100 } });
12
+ }
13
+ for (const worker of config.workers ?? []) {
14
+ entries.push({ agent: worker, metadata: { role: 'worker', priority: 50 } });
15
+ }
16
+ for (const agent of config.agents ?? []) {
17
+ entries.push({ agent, metadata: {} });
18
+ }
19
+ if (config.moderator) {
20
+ entries.push({ agent: config.moderator, metadata: { role: 'moderator', priority: 90 } });
21
+ }
22
+ if (config.router) {
23
+ entries.push({ agent: config.router, metadata: { role: 'router', priority: 95 } });
24
+ }
25
+ for (const stage of config.stages ?? []) {
26
+ entries.push({ agent: stage.agent, metadata: stageMetadata(stage) });
27
+ }
28
+ for (const stage of config.pipeline?.stages ?? []) {
29
+ entries.push({ agent: stage.agent, metadata: stageMetadata(stage) });
30
+ }
31
+ const byName = new Map();
32
+ for (const entry of entries) {
33
+ const existing = byName.get(entry.agent.name);
34
+ if (existing && existing.agent !== entry.agent) {
35
+ throw new Error(`Duplicate agent name '${entry.agent.name}' in swarm '${config.name}': agent names must be unique`);
36
+ }
37
+ if (!existing) {
38
+ byName.set(entry.agent.name, entry);
39
+ }
40
+ }
41
+ return Array.from(byName.values()).map(({ agent, metadata }) => {
42
+ const explicit = config.agentMetadata?.[agent.name];
43
+ if (!explicit)
44
+ return { agent, metadata };
45
+ return {
46
+ agent,
47
+ metadata: {
48
+ ...metadata,
49
+ ...explicit,
50
+ custom: metadata.custom || explicit.custom
51
+ ? { ...metadata.custom, ...explicit.custom }
52
+ : undefined,
53
+ },
54
+ };
55
+ });
56
+ }
57
+ export function buildSwarmAgents(config) {
58
+ const agents = new Map();
59
+ for (const { agent, metadata } of collectSwarmAgentEntries(config)) {
60
+ agents.set(agent.name, {
61
+ agent,
62
+ metadata,
63
+ state: 'idle',
64
+ messageCount: 0,
65
+ tokenCount: 0,
66
+ });
67
+ }
68
+ return agents;
69
+ }
70
+ //# sourceMappingURL=agents.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agents.js","sourceRoot":"","sources":["../src/agents.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,8 @@
1
- import type { SwarmConfig, AssessorConfig, AssessmentResult, TaskRequirements, ModelCandidate, Assessor } from '@cogitator-ai/types';
1
+ import type { SwarmConfig, AssessorConfig, AssessmentResult, TaskRequirements, ModelCandidate, DiscoveredModel, Assessor } from '@cogitator-ai/types';
2
+ /**
3
+ * Model string an agent can run with: `${provider}/${id}`.
4
+ */
5
+ export declare function qualifiedModelId(model: Pick<DiscoveredModel, 'id' | 'provider'>): string;
2
6
  export declare class SwarmAssessor implements Assessor {
3
7
  private config;
4
8
  private taskAnalyzer;
@@ -8,11 +12,14 @@ export declare class SwarmAssessor implements Assessor {
8
12
  private assessmentCache;
9
13
  constructor(config?: AssessorConfig);
10
14
  analyze(task: string, swarmConfig: SwarmConfig): Promise<AssessmentResult>;
15
+ /**
16
+ * Apply assessment results: every unlocked agent is replaced by a clone running the
17
+ * assigned model. Agents keep their name, instructions and tools.
18
+ */
11
19
  assignModels(config: SwarmConfig, result: AssessmentResult): SwarmConfig;
12
20
  suggestModels(requirements: TaskRequirements): Promise<ModelCandidate[]>;
13
21
  private getCacheKey;
14
22
  private hashString;
15
- private getAgentNames;
16
23
  private detectProvider;
17
24
  private estimateTotalCost;
18
25
  private estimateModelCost;
@@ -1 +1 @@
1
- {"version":3,"file":"assessor.d.ts","sourceRoot":"","sources":["../../src/assessor/assessor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EACX,cAAc,EACd,gBAAgB,EAEhB,gBAAgB,EAChB,cAAc,EAGd,QAAQ,EAGT,MAAM,qBAAqB,CAAC;AA2B7B,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;IAQjC,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,gBAAgB,CAAC;IA4GhF,YAAY,CAAC,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,gBAAgB,GAAG,WAAW;IA0ClE,aAAa,CAAC,YAAY,EAAE,gBAAgB,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAqB9E,OAAO,CAAC,WAAW;IAYnB,OAAO,CAAC,UAAU;IAUlB,OAAO,CAAC,aAAa;IAUrB,OAAO,CAAC,cAAc;IAStB,OAAO,CAAC,iBAAiB;IAkBzB,OAAO,CAAC,iBAAiB;IAWzB,OAAO,CAAC,iBAAiB;CAwC1B;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,EAEV,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;IAQjC,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAgHhF;;;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,3 +1,4 @@
1
+ import { parseModel } from '@cogitator-ai/core';
1
2
  import { TaskAnalyzer } from './task-analyzer.js';
2
3
  import { ModelDiscovery } from './model-discovery.js';
3
4
  import { ModelScorer } from './scoring.js';
@@ -17,6 +18,15 @@ const TOKEN_ESTIMATES = {
17
18
  moderate: 1500,
18
19
  complex: 4000,
19
20
  };
21
+ /**
22
+ * Model string an agent can run with: `${provider}/${id}`.
23
+ */
24
+ export function qualifiedModelId(model) {
25
+ return model.id.startsWith(`${model.provider}/`) ? model.id : `${model.provider}/${model.id}`;
26
+ }
27
+ function findDiscoveredModel(models, modelString) {
28
+ return models.find((m) => m.id === modelString || qualifiedModelId(m) === modelString);
29
+ }
20
30
  export class SwarmAssessor {
21
31
  config;
22
32
  taskAnalyzer;
@@ -89,16 +99,19 @@ export class SwarmAssessor {
89
99
  assignments.push({
90
100
  agentName: agent.agent.name,
91
101
  originalModel: agent.agent.model,
92
- assignedModel: selectedModel.model.id,
102
+ assignedModel: qualifiedModelId(selectedModel.model),
93
103
  provider: selectedModel.model.provider,
94
104
  score: selectedModel.score,
95
105
  reasons: selectedModel.reasons,
96
- fallbackModels: validModels.slice(1, 4).map((s) => s.model.id),
106
+ fallbackModels: validModels
107
+ .filter((s) => s !== selectedModel)
108
+ .slice(0, 3)
109
+ .map((s) => qualifiedModelId(s.model)),
97
110
  locked: false,
98
111
  });
99
112
  }
100
113
  if (this.config.maxCostPerRun) {
101
- this.optimizeForBudget(assignments, discoveredModels, this.config.maxCostPerRun, taskAnalysis.complexity);
114
+ this.optimizeForBudget(assignments, discoveredModels, this.config.maxCostPerRun, taskAnalysis.complexity, roleAnalyses);
102
115
  }
103
116
  const result = {
104
117
  taskAnalysis,
@@ -113,39 +126,40 @@ export class SwarmAssessor {
113
126
  }
114
127
  return result;
115
128
  }
129
+ /**
130
+ * Apply assessment results: every unlocked agent is replaced by a clone running the
131
+ * assigned model. Agents keep their name, instructions and tools.
132
+ */
116
133
  assignModels(config, result) {
117
- const updatedConfig = { ...config };
118
- for (const assignment of result.assignments) {
119
- if (assignment.locked)
120
- continue;
121
- const updateAgent = (agent) => {
122
- if (agent.name !== assignment.agentName)
123
- return agent;
124
- return { ...agent, model: assignment.assignedModel };
125
- };
126
- if (updatedConfig.supervisor) {
127
- updatedConfig.supervisor = updateAgent(updatedConfig.supervisor);
128
- }
129
- if (updatedConfig.moderator) {
130
- updatedConfig.moderator = updateAgent(updatedConfig.moderator);
131
- }
132
- if (updatedConfig.router) {
133
- updatedConfig.router = updateAgent(updatedConfig.router);
134
- }
135
- if (updatedConfig.workers) {
136
- updatedConfig.workers = updatedConfig.workers.map((w) => updateAgent(w));
137
- }
138
- if (updatedConfig.agents) {
139
- updatedConfig.agents = updatedConfig.agents.map((a) => updateAgent(a));
134
+ const assignments = new Map(result.assignments.filter((a) => !a.locked).map((a) => [a.agentName, a.assignedModel]));
135
+ const clones = new Map();
136
+ const updateAgent = (agent) => {
137
+ const assignedModel = assignments.get(agent.name);
138
+ if (!assignedModel || assignedModel === agent.model)
139
+ return agent;
140
+ let clone = clones.get(agent);
141
+ if (!clone) {
142
+ clone = agent.clone({ model: assignedModel, provider: undefined });
143
+ clones.set(agent, clone);
140
144
  }
141
- if (updatedConfig.stages) {
142
- updatedConfig.stages = updatedConfig.stages.map((stage) => ({
145
+ return clone;
146
+ };
147
+ return {
148
+ ...config,
149
+ supervisor: config.supervisor && updateAgent(config.supervisor),
150
+ workers: config.workers?.map(updateAgent),
151
+ agents: config.agents?.map(updateAgent),
152
+ moderator: config.moderator && updateAgent(config.moderator),
153
+ router: config.router && updateAgent(config.router),
154
+ stages: config.stages?.map((stage) => ({ ...stage, agent: updateAgent(stage.agent) })),
155
+ pipeline: config.pipeline && {
156
+ ...config.pipeline,
157
+ stages: config.pipeline.stages.map((stage) => ({
143
158
  ...stage,
144
159
  agent: updateAgent(stage.agent),
145
- }));
146
- }
147
- }
148
- return updatedConfig;
160
+ })),
161
+ },
162
+ };
149
163
  }
150
164
  async suggestModels(requirements) {
151
165
  const discoveredModels = await this.modelDiscovery.discoverAll();
@@ -170,7 +184,9 @@ export class SwarmAssessor {
170
184
  const configHash = this.hashString(JSON.stringify({
171
185
  name: config.name,
172
186
  strategy: config.strategy,
173
- agents: this.getAgentNames(config),
187
+ agents: this.roleMatcher
188
+ .extractAgentsFromConfig(config)
189
+ .map((a) => [a.agent.name, a.agent.model, a.metadata.role, a.metadata.locked ?? false]),
174
190
  }));
175
191
  return `${taskHash}-${configHash}`;
176
192
  }
@@ -179,27 +195,16 @@ export class SwarmAssessor {
179
195
  for (let i = 0; i < str.length; i++) {
180
196
  const char = str.charCodeAt(i);
181
197
  hash = (hash << 5) - hash + char;
182
- hash = hash & hash;
198
+ hash = hash | 0;
183
199
  }
184
200
  return Math.abs(hash).toString(36);
185
201
  }
186
- getAgentNames(config) {
187
- const names = [];
188
- if (config.supervisor)
189
- names.push(config.supervisor.name);
190
- if (config.workers)
191
- names.push(...config.workers.map((w) => w.name));
192
- if (config.agents)
193
- names.push(...config.agents.map((a) => a.name));
194
- if (config.moderator)
195
- names.push(config.moderator.name);
196
- if (config.router)
197
- names.push(config.router.name);
198
- return names;
199
- }
200
202
  detectProvider(modelId) {
203
+ const prefixed = parseModel(modelId).provider;
204
+ if (prefixed && isModelProvider(prefixed))
205
+ return prefixed;
201
206
  const lower = modelId.toLowerCase();
202
- if (lower.includes('gpt') || lower.includes('o1') || lower.includes('o3'))
207
+ if (lower.startsWith('gpt') || /^o\d/.test(lower))
203
208
  return 'openai';
204
209
  if (lower.includes('claude'))
205
210
  return 'anthropic';
@@ -213,7 +218,7 @@ export class SwarmAssessor {
213
218
  const estimatedTokens = TOKEN_ESTIMATES[complexity];
214
219
  let total = 0;
215
220
  for (const assignment of assignments) {
216
- const model = discoveredModels.find((m) => m.id === assignment.assignedModel);
221
+ const model = findDiscoveredModel(discoveredModels, assignment.assignedModel);
217
222
  if (model && !model.isLocal) {
218
223
  total +=
219
224
  (model.pricing.input * estimatedTokens + model.pricing.output * estimatedTokens) /
@@ -228,14 +233,14 @@ export class SwarmAssessor {
228
233
  const estimatedTokens = TOKEN_ESTIMATES[complexity];
229
234
  return ((model.pricing.input * estimatedTokens + model.pricing.output * estimatedTokens) / 1_000_000);
230
235
  }
231
- optimizeForBudget(assignments, discoveredModels, budget, complexity = 'moderate') {
236
+ optimizeForBudget(assignments, discoveredModels, budget, complexity = 'moderate', roleAnalyses) {
232
237
  let currentCost = this.estimateTotalCost(assignments, discoveredModels, complexity);
233
238
  if (currentCost <= budget)
234
239
  return;
235
240
  const byExpense = [...assignments]
236
241
  .filter((a) => !a.locked)
237
242
  .map((a) => {
238
- const model = discoveredModels.find((m) => m.id === a.assignedModel);
243
+ const model = findDiscoveredModel(discoveredModels, a.assignedModel);
239
244
  return {
240
245
  assignment: a,
241
246
  model,
@@ -247,20 +252,43 @@ export class SwarmAssessor {
247
252
  if (currentCost <= budget)
248
253
  break;
249
254
  for (const fallbackId of item.assignment.fallbackModels) {
250
- const fallbackModel = discoveredModels.find((m) => m.id === fallbackId);
251
- if (fallbackModel?.isLocal) {
252
- const oldCost = item.model ? this.estimateModelCost(item.model, complexity) : 0;
253
- const newCost = this.estimateModelCost(fallbackModel, complexity);
254
- item.assignment.assignedModel = fallbackId;
255
- item.assignment.provider = fallbackModel.provider;
256
- item.assignment.reasons.push('Downgraded for cost optimization');
257
- currentCost -= oldCost - newCost;
258
- break;
255
+ const fallbackModel = findDiscoveredModel(discoveredModels, fallbackId);
256
+ if (!fallbackModel)
257
+ continue;
258
+ const oldCost = item.model ? this.estimateModelCost(item.model, complexity) : 0;
259
+ const newCost = this.estimateModelCost(fallbackModel, complexity);
260
+ if (newCost >= oldCost)
261
+ continue;
262
+ item.assignment.fallbackModels = item.assignment.fallbackModels.filter((id) => id !== fallbackId);
263
+ if (item.model) {
264
+ item.assignment.fallbackModels.unshift(qualifiedModelId(item.model));
265
+ }
266
+ item.assignment.assignedModel = fallbackId;
267
+ item.assignment.provider = fallbackModel.provider;
268
+ item.assignment.reasons.push('Downgraded for cost optimization');
269
+ item.model = fallbackModel;
270
+ const reqs = roleAnalyses?.get(item.assignment.agentName);
271
+ if (reqs) {
272
+ const rescored = this.modelScorer.score(fallbackModel, reqs);
273
+ item.assignment.score = rescored.score;
259
274
  }
275
+ currentCost -= oldCost - newCost;
276
+ break;
260
277
  }
261
278
  }
262
279
  }
263
280
  }
281
+ const MODEL_PROVIDERS = [
282
+ 'ollama',
283
+ 'openai',
284
+ 'anthropic',
285
+ 'google',
286
+ 'azure',
287
+ 'mistral',
288
+ ];
289
+ function isModelProvider(value) {
290
+ return MODEL_PROVIDERS.includes(value);
291
+ }
264
292
  export function createAssessor(config) {
265
293
  return new SwarmAssessor(config);
266
294
  }
@@ -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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"}
@@ -1,31 +1,13 @@
1
- import type { TaskRequirements, RoleRequirements, SwarmAgent } from '@cogitator-ai/types';
1
+ import type { TaskRequirements, RoleRequirements, SwarmAgent, SwarmConfig } from '@cogitator-ai/types';
2
2
  export declare class RoleMatcher {
3
3
  analyzeRole(agent: SwarmAgent, taskReqs: TaskRequirements): RoleRequirements;
4
4
  private applyExpertiseRequirements;
5
5
  private upgradeReasoning;
6
6
  private adjustCostSensitivity;
7
- extractAgentsFromConfig(config: {
8
- supervisor?: {
9
- name: string;
10
- };
11
- workers?: Array<{
12
- name: string;
13
- }>;
14
- agents?: Array<{
15
- name: string;
16
- }>;
17
- moderator?: {
18
- name: string;
19
- };
20
- router?: {
21
- name: string;
22
- };
23
- stages?: Array<{
24
- agent: {
25
- name: string;
26
- };
27
- }>;
28
- }): SwarmAgent[];
29
- private createSwarmAgent;
7
+ /**
8
+ * All agents of a swarm config with their swarm metadata. Agents without an explicit role
9
+ * are assessed as workers.
10
+ */
11
+ extractAgentsFromConfig(config: SwarmConfig): SwarmAgent[];
30
12
  }
31
13
  //# sourceMappingURL=role-matcher.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"role-matcher.d.ts","sourceRoot":"","sources":["../../src/assessor/role-matcher.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,gBAAgB,EAChB,UAAU,EAEX,MAAM,qBAAqB,CAAC;AAE7B,qBAAa,WAAW;IACtB,WAAW,CAAC,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,gBAAgB,GAAG,gBAAgB;IA+C5E,OAAO,CAAC,0BAA0B;IAiClC,OAAO,CAAC,gBAAgB;IAQxB,OAAO,CAAC,qBAAqB;IAU7B,uBAAuB,CAAC,MAAM,EAAE;QAC9B,UAAU,CAAC,EAAE;YAAE,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC;QAC9B,OAAO,CAAC,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QAClC,MAAM,CAAC,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QACjC,SAAS,CAAC,EAAE;YAAE,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC;QAC7B,MAAM,CAAC,EAAE;YAAE,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC;QAC1B,MAAM,CAAC,EAAE,KAAK,CAAC;YAAE,KAAK,EAAE;gBAAE,IAAI,EAAE,MAAM,CAAA;aAAE,CAAA;SAAE,CAAC,CAAC;KAC7C,GAAG,UAAU,EAAE;IAoChB,OAAO,CAAC,gBAAgB;CAiBzB"}
1
+ {"version":3,"file":"role-matcher.d.ts","sourceRoot":"","sources":["../../src/assessor/role-matcher.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,gBAAgB,EAChB,UAAU,EACV,WAAW,EACZ,MAAM,qBAAqB,CAAC;AAG7B,qBAAa,WAAW;IACtB,WAAW,CAAC,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,gBAAgB,GAAG,gBAAgB;IA+C5E,OAAO,CAAC,0BAA0B;IAiClC,OAAO,CAAC,gBAAgB;IAQxB,OAAO,CAAC,qBAAqB;IAU7B;;;OAGG;IACH,uBAAuB,CAAC,MAAM,EAAE,WAAW,GAAG,UAAU,EAAE;CAS3D"}
@@ -1,3 +1,4 @@
1
+ import { collectSwarmAgentEntries } from '../agents.js';
1
2
  export class RoleMatcher {
2
3
  analyzeRole(agent, taskReqs) {
3
4
  const role = agent.metadata.role;
@@ -76,47 +77,18 @@ export class RoleMatcher {
76
77
  const newIndex = Math.max(0, Math.min(2, currentIndex + direction));
77
78
  return levels[newIndex];
78
79
  }
80
+ /**
81
+ * All agents of a swarm config with their swarm metadata. Agents without an explicit role
82
+ * are assessed as workers.
83
+ */
79
84
  extractAgentsFromConfig(config) {
80
- const agents = [];
81
- if (config.supervisor) {
82
- agents.push(this.createSwarmAgent(config.supervisor, 'supervisor'));
83
- }
84
- if (config.workers) {
85
- for (const worker of config.workers) {
86
- agents.push(this.createSwarmAgent(worker, 'worker'));
87
- }
88
- }
89
- if (config.agents) {
90
- for (const agent of config.agents) {
91
- agents.push(this.createSwarmAgent(agent, 'worker'));
92
- }
93
- }
94
- if (config.moderator) {
95
- agents.push(this.createSwarmAgent(config.moderator, 'moderator'));
96
- }
97
- if (config.router) {
98
- agents.push(this.createSwarmAgent(config.router, 'router'));
99
- }
100
- if (config.stages) {
101
- for (const stage of config.stages) {
102
- agents.push(this.createSwarmAgent(stage.agent, 'worker'));
103
- }
104
- }
105
- return agents;
106
- }
107
- createSwarmAgent(agent, defaultRole) {
108
- return {
109
- agent: agent,
110
- metadata: {
111
- role: agent.metadata?.role ?? defaultRole,
112
- expertise: agent.metadata?.expertise,
113
- locked: agent.metadata?.locked,
114
- ...agent.metadata,
115
- },
85
+ return collectSwarmAgentEntries(config).map(({ agent, metadata }) => ({
86
+ agent,
87
+ metadata: { ...metadata, role: metadata.role ?? 'worker' },
116
88
  state: 'idle',
117
89
  messageCount: 0,
118
90
  tokenCount: 0,
119
- };
91
+ }));
120
92
  }
121
93
  }
122
94
  //# sourceMappingURL=role-matcher.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"role-matcher.js","sourceRoot":"","sources":["../../src/assessor/role-matcher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"role-matcher.js","sourceRoot":"","sources":["../../src/assessor/role-matcher.ts"],"names":[],"mappings":"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"}
@@ -125,7 +125,7 @@ export class ModelScorer {
125
125
  }
126
126
  return {
127
127
  model,
128
- score: Math.max(0, score),
128
+ score: Math.min(100, Math.max(0, score)),
129
129
  reasons,
130
130
  };
131
131
  }
@@ -1 +1 @@
1
- {"version":3,"file":"scoring.js","sourceRoot":"","sources":["../../src/assessor/scoring.ts"],"names":[],"mappings":"AAQA,MAAM,eAAe,GAAG;IACtB,QAAQ;IACR,SAAS;IACT,iBAAiB;IACjB,iBAAiB;IACjB,mBAAmB;IACnB,gBAAgB;IAChB,cAAc;IACd,cAAc;IACd,aAAa;IACb,SAAS;IACT,aAAa;CACd,CAAC;AAEF,MAAM,WAAW,GAAG;IAClB,aAAa;IACb,kBAAkB;IAClB,kBAAkB;IAClB,kBAAkB;IAClB,aAAa;IACb,iBAAiB;IACjB,MAAM;IACN,MAAM;IACN,cAAc;IACd,YAAY;CACb,CAAC;AAEF,MAAM,WAAW,GAAG;IAClB,mBAAmB;IACnB,iBAAiB;IACjB,QAAQ;IACR,WAAW;IACX,WAAW;IACX,gBAAgB;IAChB,eAAe;CAChB,CAAC;AAEF,MAAM,OAAO,WAAW;IACtB,KAAK,CAAC,KAAsB,EAAE,YAA8B;QAC1D,IAAI,KAAK,GAAG,GAAG,CAAC;QAChB,MAAM,OAAO,GAAa,EAAE,CAAC;QAE7B,IAAI,YAAY,CAAC,WAAW,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,cAAc,EAAE,CAAC;YACnE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,oCAAoC,CAAC,EAAE,CAAC;QAC9E,CAAC;QAED,IAAI,YAAY,CAAC,gBAAgB,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,aAAa,EAAE,CAAC;YACvE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,0CAA0C,CAAC,EAAE,CAAC;QACpF,CAAC;QAED,IAAI,YAAY,CAAC,gBAAgB,IAAI,KAAK,CAAC,aAAa,GAAG,KAAK,EAAE,CAAC;YACjE,KAAK,IAAI,EAAE,CAAC;YACZ,OAAO,CAAC,IAAI,CAAC,2BAA2B,KAAK,CAAC,aAAa,UAAU,CAAC,CAAC;QACzE,CAAC;aAAM,IAAI,KAAK,CAAC,aAAa,IAAI,MAAM,EAAE,CAAC;YACzC,KAAK,IAAI,CAAC,CAAC;YACX,OAAO,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;QACvC,CAAC;QAED,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YAClB,KAAK,IAAI,EAAE,CAAC;YACZ,OAAO,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;QAC5C,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;YACnB,MAAM,OAAO,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACjE,IAAI,YAAY,CAAC,eAAe,KAAK,MAAM,EAAE,CAAC;gBAC5C,IAAI,OAAO,GAAG,EAAE,EAAE,CAAC;oBACjB,KAAK,IAAI,EAAE,CAAC;oBACZ,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;gBAClC,CAAC;qBAAM,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;oBACvB,KAAK,IAAI,EAAE,CAAC;oBACZ,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACjC,CAAC;YACH,CAAC;iBAAM,IAAI,YAAY,CAAC,eAAe,KAAK,KAAK,IAAI,OAAO,GAAG,EAAE,EAAE,CAAC;gBAClE,KAAK,IAAI,CAAC,CAAC;gBACX,OAAO,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;YACtD,CAAC;QACH,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QAC/C,IAAI,YAAY,CAAC,cAAc,KAAK,UAAU,EAAE,CAAC;YAC/C,IAAI,UAAU,EAAE,CAAC;gBACf,KAAK,IAAI,EAAE,CAAC;gBACZ,OAAO,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;YAC9C,CAAC;iBAAM,CAAC;gBACN,KAAK,IAAI,EAAE,CAAC;gBACZ,OAAO,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;YAC9C,CAAC;QACH,CAAC;aAAM,IAAI,YAAY,CAAC,cAAc,KAAK,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC;YAClE,KAAK,IAAI,CAAC,CAAC;YACX,OAAO,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;QAC9C,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QACvC,IAAI,YAAY,CAAC,UAAU,KAAK,MAAM,EAAE,CAAC;YACvC,IAAI,MAAM,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;gBAC5B,KAAK,IAAI,EAAE,CAAC;gBACZ,OAAO,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;YACrC,CAAC;iBAAM,CAAC;gBACN,KAAK,IAAI,EAAE,CAAC;gBACZ,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YAChC,CAAC;QACH,CAAC;aAAM,IAAI,YAAY,CAAC,UAAU,KAAK,SAAS,IAAI,UAAU,EAAE,CAAC;YAC/D,KAAK,IAAI,CAAC,CAAC;YACX,OAAO,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QACrC,CAAC;QAED,IAAI,YAAY,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YAC3C,IAAI,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC5B,KAAK,IAAI,EAAE,CAAC;gBACZ,OAAO,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;YAC3C,CAAC;QACH,CAAC;QAED,IAAI,YAAY,CAAC,UAAU,KAAK,SAAS,IAAI,UAAU,EAAE,CAAC;YACxD,KAAK,IAAI,EAAE,CAAC;YACZ,OAAO,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;QAC7C,CAAC;aAAM,IAAI,YAAY,CAAC,UAAU,KAAK,QAAQ,IAAI,MAAM,EAAE,CAAC;YAC1D,KAAK,IAAI,CAAC,CAAC;YACX,OAAO,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;QAC7C,CAAC;QAED,IAAI,YAAY,CAAC,IAAI,KAAK,YAAY,IAAI,UAAU,EAAE,CAAC;YACrD,KAAK,IAAI,EAAE,CAAC;YACZ,OAAO,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;QAC5C,CAAC;aAAM,IAAI,YAAY,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YAC3D,KAAK,IAAI,CAAC,CAAC;YACX,OAAO,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;QACjD,CAAC;QAED,OAAO;YACL,KAAK;YACL,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC;YACzB,OAAO;SACR,CAAC;IACJ,CAAC;IAED,QAAQ,CAAC,MAAyB,EAAE,YAA8B;QAChE,OAAO,MAAM;aACV,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;aAC/C,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC;aAC1B,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;IACvC,CAAC;IAEO,eAAe,CAAC,KAAsB;QAC5C,MAAM,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC;QAClC,OAAO,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IACnE,CAAC;IAEO,WAAW,CAAC,KAAsB;QACxC,MAAM,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC;QAClC,OAAO,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IAC/D,CAAC;IAEO,WAAW,CAAC,KAAsB;QACxC,MAAM,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC;QAClC,OAAO,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IAC/D,CAAC;CACF"}
1
+ {"version":3,"file":"scoring.js","sourceRoot":"","sources":["../../src/assessor/scoring.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"task-analyzer.d.ts","sourceRoot":"","sources":["../../src/assessor/task-analyzer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAKjB,MAAM,qBAAqB,CAAC;AA4F7B,qBAAa,YAAY;IACvB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,gBAAgB;IAevC,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,iBAAiB;IAsBzB,OAAO,CAAC,oBAAoB;IAU5B,OAAO,CAAC,gBAAgB;IAUxB,OAAO,CAAC,qBAAqB;IAW7B,OAAO,CAAC,gBAAgB;IAkBxB,OAAO,CAAC,aAAa;CAStB"}
1
+ {"version":3,"file":"task-analyzer.d.ts","sourceRoot":"","sources":["../../src/assessor/task-analyzer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAKjB,MAAM,qBAAqB,CAAC;AAmF7B,qBAAa,YAAY;IACvB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,gBAAgB;IAevC,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,iBAAiB;IAiBzB,OAAO,CAAC,oBAAoB;IAU5B,OAAO,CAAC,gBAAgB;IAUxB,OAAO,CAAC,qBAAqB;IAU7B,OAAO,CAAC,gBAAgB;IAkBxB,OAAO,CAAC,aAAa;CAStB"}