@cogitator-ai/swarms 0.4.20 → 0.6.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 +245 -897
- package/dist/agents.d.ts +13 -0
- package/dist/agents.d.ts.map +1 -0
- package/dist/agents.js +70 -0
- package/dist/agents.js.map +1 -0
- package/dist/assessor/assessor.d.ts +9 -2
- package/dist/assessor/assessor.d.ts.map +1 -1
- package/dist/assessor/assessor.js +72 -53
- package/dist/assessor/assessor.js.map +1 -1
- package/dist/assessor/model-discovery.d.ts.map +1 -1
- package/dist/assessor/model-discovery.js +40 -46
- package/dist/assessor/model-discovery.js.map +1 -1
- package/dist/assessor/role-matcher.d.ts +6 -24
- package/dist/assessor/role-matcher.d.ts.map +1 -1
- package/dist/assessor/role-matcher.js +9 -37
- package/dist/assessor/role-matcher.js.map +1 -1
- package/dist/assessor/scoring.d.ts.map +1 -1
- package/dist/assessor/scoring.js +23 -1
- package/dist/assessor/scoring.js.map +1 -1
- package/dist/base-coordinator.d.ts +117 -0
- package/dist/base-coordinator.d.ts.map +1 -0
- package/dist/base-coordinator.js +455 -0
- package/dist/base-coordinator.js.map +1 -0
- package/dist/communication/blackboard.d.ts +34 -4
- package/dist/communication/blackboard.d.ts.map +1 -1
- package/dist/communication/blackboard.js +81 -46
- package/dist/communication/blackboard.js.map +1 -1
- package/dist/communication/event-emitter.d.ts.map +1 -1
- package/dist/communication/event-emitter.js +6 -17
- package/dist/communication/event-emitter.js.map +1 -1
- package/dist/communication/index.d.ts +2 -2
- package/dist/communication/index.d.ts.map +1 -1
- package/dist/communication/index.js +2 -2
- package/dist/communication/index.js.map +1 -1
- package/dist/communication/message-bus.d.ts +48 -5
- package/dist/communication/message-bus.d.ts.map +1 -1
- package/dist/communication/message-bus.js +135 -50
- package/dist/communication/message-bus.js.map +1 -1
- package/dist/communication/redis-blackboard.d.ts +11 -5
- package/dist/communication/redis-blackboard.d.ts.map +1 -1
- package/dist/communication/redis-blackboard.js +159 -116
- package/dist/communication/redis-blackboard.js.map +1 -1
- package/dist/communication/redis-event-emitter.d.ts +12 -0
- package/dist/communication/redis-event-emitter.d.ts.map +1 -1
- package/dist/communication/redis-event-emitter.js +96 -54
- package/dist/communication/redis-event-emitter.js.map +1 -1
- package/dist/communication/redis-message-bus.d.ts +11 -6
- package/dist/communication/redis-message-bus.d.ts.map +1 -1
- package/dist/communication/redis-message-bus.js +88 -77
- package/dist/communication/redis-message-bus.js.map +1 -1
- package/dist/coordinator.d.ts +7 -41
- package/dist/coordinator.d.ts.map +1 -1
- package/dist/coordinator.js +17 -340
- package/dist/coordinator.js.map +1 -1
- package/dist/distributed/distributed-coordinator.d.ts +54 -51
- package/dist/distributed/distributed-coordinator.d.ts.map +1 -1
- package/dist/distributed/distributed-coordinator.js +166 -284
- package/dist/distributed/distributed-coordinator.js.map +1 -1
- package/dist/distributed/index.d.ts +1 -1
- package/dist/distributed/index.d.ts.map +1 -1
- package/dist/distributed/index.js +1 -1
- package/dist/distributed/index.js.map +1 -1
- package/dist/index.d.ts +4 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -3
- package/dist/index.js.map +1 -1
- package/dist/resources/circuit-breaker.d.ts.map +1 -1
- package/dist/resources/circuit-breaker.js +3 -4
- package/dist/resources/circuit-breaker.js.map +1 -1
- package/dist/shared/hierarchy.d.ts +21 -0
- package/dist/shared/hierarchy.d.ts.map +1 -0
- package/dist/shared/hierarchy.js +27 -0
- package/dist/shared/hierarchy.js.map +1 -0
- package/dist/shared/negotiation.d.ts +27 -0
- package/dist/shared/negotiation.d.ts.map +1 -0
- package/dist/shared/negotiation.js +55 -0
- package/dist/shared/negotiation.js.map +1 -0
- package/dist/shared/voting.d.ts +6 -0
- package/dist/shared/voting.d.ts.map +1 -0
- package/dist/shared/voting.js +13 -0
- package/dist/shared/voting.js.map +1 -0
- package/dist/strategies/consensus.d.ts +12 -0
- package/dist/strategies/consensus.d.ts.map +1 -1
- package/dist/strategies/consensus.js +75 -47
- package/dist/strategies/consensus.js.map +1 -1
- package/dist/strategies/debate.d.ts.map +1 -1
- package/dist/strategies/debate.js +18 -8
- package/dist/strategies/debate.js.map +1 -1
- package/dist/strategies/hierarchical.d.ts.map +1 -1
- package/dist/strategies/hierarchical.js +29 -14
- package/dist/strategies/hierarchical.js.map +1 -1
- package/dist/strategies/negotiation/approval.d.ts.map +1 -1
- package/dist/strategies/negotiation/approval.js +22 -19
- package/dist/strategies/negotiation/approval.js.map +1 -1
- package/dist/strategies/negotiation-strategy.d.ts +24 -2
- package/dist/strategies/negotiation-strategy.d.ts.map +1 -1
- package/dist/strategies/negotiation-strategy.js +276 -141
- package/dist/strategies/negotiation-strategy.js.map +1 -1
- package/dist/strategies/pipeline.js +6 -6
- package/dist/strategies/pipeline.js.map +1 -1
- package/dist/swarm.d.ts +25 -11
- package/dist/swarm.d.ts.map +1 -1
- package/dist/swarm.js +195 -121
- package/dist/swarm.js.map +1 -1
- package/dist/tools/blackboard.d.ts +1 -1
- package/dist/tools/blackboard.d.ts.map +1 -1
- package/dist/tools/blackboard.js +26 -12
- package/dist/tools/blackboard.js.map +1 -1
- package/dist/tools/delegation.d.ts +17 -4
- package/dist/tools/delegation.d.ts.map +1 -1
- package/dist/tools/delegation.js +95 -88
- package/dist/tools/delegation.js.map +1 -1
- package/dist/tools/index.d.ts +3 -1
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +9 -4
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/messaging.d.ts +38 -6
- package/dist/tools/messaging.d.ts.map +1 -1
- package/dist/tools/messaging.js +118 -41
- package/dist/tools/messaging.js.map +1 -1
- package/dist/tools/negotiation.d.ts +8 -4
- package/dist/tools/negotiation.d.ts.map +1 -1
- package/dist/tools/negotiation.js +138 -115
- package/dist/tools/negotiation.js.map +1 -1
- package/dist/tools/voting.d.ts +3 -0
- package/dist/tools/voting.d.ts.map +1 -1
- package/dist/tools/voting.js +13 -12
- package/dist/tools/voting.js.map +1 -1
- package/dist/utils/concurrency.d.ts +10 -0
- package/dist/utils/concurrency.d.ts.map +1 -0
- package/dist/utils/concurrency.js +28 -0
- package/dist/utils/concurrency.js.map +1 -0
- package/dist/utils/invoke.d.ts +2 -0
- package/dist/utils/invoke.d.ts.map +1 -0
- package/dist/utils/invoke.js +19 -0
- package/dist/utils/invoke.js.map +1 -0
- package/dist/workflow/swarm-node.d.ts.map +1 -1
- package/dist/workflow/swarm-node.js +55 -98
- package/dist/workflow/swarm-node.js.map +1 -1
- package/package.json +16 -14
|
@@ -2,28 +2,26 @@
|
|
|
2
2
|
* Hierarchical strategy - Supervisor delegates to workers
|
|
3
3
|
*/
|
|
4
4
|
import { BaseStrategy } from './base.js';
|
|
5
|
+
import { HIERARCHY_SECTION } from '../shared/hierarchy.js';
|
|
5
6
|
export class HierarchicalStrategy extends BaseStrategy {
|
|
6
7
|
config;
|
|
7
8
|
constructor(coordinator, config) {
|
|
8
9
|
super(coordinator);
|
|
9
10
|
this.config = {
|
|
10
|
-
maxDelegationDepth: 3,
|
|
11
|
-
workerCommunication: false,
|
|
12
|
-
routeThrough: 'supervisor',
|
|
13
|
-
visibility: 'full',
|
|
14
|
-
...config,
|
|
11
|
+
maxDelegationDepth: config?.maxDelegationDepth ?? 3,
|
|
12
|
+
workerCommunication: config?.workerCommunication ?? false,
|
|
13
|
+
routeThrough: config?.routeThrough ?? 'supervisor',
|
|
14
|
+
visibility: config?.visibility ?? 'full',
|
|
15
15
|
};
|
|
16
16
|
}
|
|
17
17
|
async execute(options) {
|
|
18
18
|
const agentResults = new Map();
|
|
19
|
-
const supervisors = this.coordinator
|
|
20
|
-
.getAgents()
|
|
21
|
-
.filter((a) => a.metadata.role === 'supervisor');
|
|
19
|
+
const supervisors = this.coordinator.getAgentsByRole('supervisor');
|
|
22
20
|
if (supervisors.length === 0) {
|
|
23
21
|
throw new Error('Hierarchical strategy requires a supervisor agent');
|
|
24
22
|
}
|
|
25
23
|
const supervisor = supervisors[0];
|
|
26
|
-
const workers = this.coordinator.
|
|
24
|
+
const workers = this.coordinator.getAgentsByRole('worker');
|
|
27
25
|
const workerInfo = workers.map((w) => ({
|
|
28
26
|
name: w.agent.name,
|
|
29
27
|
description: w.agent.config.description ?? w.agent.config.instructions.slice(0, 200),
|
|
@@ -35,18 +33,29 @@ export class HierarchicalStrategy extends BaseStrategy {
|
|
|
35
33
|
hierarchyConfig: {
|
|
36
34
|
maxDelegationDepth: this.config.maxDelegationDepth,
|
|
37
35
|
workerCommunication: this.config.workerCommunication,
|
|
36
|
+
routeThrough: this.config.routeThrough,
|
|
37
|
+
visibility: this.config.visibility,
|
|
38
38
|
},
|
|
39
39
|
delegationInstructions: this.buildDelegationInstructions(workerInfo),
|
|
40
40
|
};
|
|
41
|
+
const policy = {
|
|
42
|
+
supervisor: supervisor.agent.name,
|
|
43
|
+
maxDelegationDepth: this.config.maxDelegationDepth,
|
|
44
|
+
workerCommunication: this.config.workerCommunication,
|
|
45
|
+
routeThrough: this.config.routeThrough,
|
|
46
|
+
visibility: this.config.visibility,
|
|
47
|
+
depths: { [supervisor.agent.name]: 0 },
|
|
48
|
+
};
|
|
49
|
+
this.coordinator.blackboard.write(HIERARCHY_SECTION, policy, 'system');
|
|
41
50
|
this.coordinator.blackboard.write('tasks', [], 'system');
|
|
42
51
|
this.coordinator.blackboard.write('workerResults', {}, 'system');
|
|
52
|
+
const resultsBefore = new Map(workers.map((w) => [w.agent.name, w.lastResult]));
|
|
43
53
|
const supervisorResult = await this.coordinator.runAgent(supervisor.agent.name, options.input, supervisorContext);
|
|
44
54
|
agentResults.set(supervisor.agent.name, supervisorResult);
|
|
45
|
-
const workerResults = this.coordinator.blackboard.read('workerResults') ?? {};
|
|
46
55
|
for (const worker of workers) {
|
|
47
|
-
const
|
|
48
|
-
if (
|
|
49
|
-
agentResults.set(worker.agent.name,
|
|
56
|
+
const latest = worker.lastResult;
|
|
57
|
+
if (latest && latest !== resultsBefore.get(worker.agent.name)) {
|
|
58
|
+
agentResults.set(worker.agent.name, latest);
|
|
50
59
|
}
|
|
51
60
|
}
|
|
52
61
|
return {
|
|
@@ -62,6 +71,11 @@ export class HierarchicalStrategy extends BaseStrategy {
|
|
|
62
71
|
return `- ${w.name}: ${w.description}${expertise}`;
|
|
63
72
|
})
|
|
64
73
|
.join('\n');
|
|
74
|
+
const communication = this.config.workerCommunication
|
|
75
|
+
? this.config.routeThrough === 'direct'
|
|
76
|
+
? 'Workers may message each other directly.'
|
|
77
|
+
: 'Workers may only message you; relay information between them yourself.'
|
|
78
|
+
: "Workers cannot see each other's outputs unless you share them via your coordination.";
|
|
65
79
|
return `
|
|
66
80
|
You are a supervisor managing a team of workers. You can delegate tasks to workers and coordinate their work.
|
|
67
81
|
|
|
@@ -81,7 +95,8 @@ Your job is to:
|
|
|
81
95
|
5. Provide a final response
|
|
82
96
|
|
|
83
97
|
Important:
|
|
84
|
-
-
|
|
98
|
+
- ${communication}
|
|
99
|
+
- Delegation chains are limited to ${this.config.maxDelegationDepth} level(s)
|
|
85
100
|
- You are responsible for quality control and final output
|
|
86
101
|
- If a worker's output is insufficient, request a revision
|
|
87
102
|
`.trim();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hierarchical.js","sourceRoot":"","sources":["../../src/strategies/hierarchical.ts"],"names":[],"mappings":"AAAA;;GAEG;AASH,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"hierarchical.js","sourceRoot":"","sources":["../../src/strategies/hierarchical.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"approval.d.ts","sourceRoot":"","sources":["../../../src/strategies/negotiation/approval.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,aAAa,EAEb,uBAAuB,EAEvB,2BAA2B,EAC3B,gBAAgB,EAChB,gBAAgB,EAChB,oBAAoB,EACpB,eAAe,EACf,iBAAiB,EAClB,MAAM,qBAAqB,CAAC;AAE7B,MAAM,WAAW,yBAAyB;IACxC,KAAK,EAAE,uBAAuB,EAAE,CAAC;IACjC,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,KAAK,CAA4B;IACzC,OAAO,CAAC,KAAK,CAAC,CAAgB;IAC9B,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,gBAAgB,CAGpB;gBAEQ,MAAM,EAAE,yBAAyB;IAM7C,qBAAqB,CACnB,OAAO,EAAE,eAAe,EACxB,KAAK,EAAE,gBAAgB,EACvB,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,gBAAgB,CAAC;QAAC,SAAS,CAAC,EAAE,oBAAoB,CAAA;KAAE,GACvE,uBAAuB,GAAG,IAAI;IAajC,OAAO,CAAC,iBAAiB;
|
|
1
|
+
{"version":3,"file":"approval.d.ts","sourceRoot":"","sources":["../../../src/strategies/negotiation/approval.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,aAAa,EAEb,uBAAuB,EAEvB,2BAA2B,EAC3B,gBAAgB,EAChB,gBAAgB,EAChB,oBAAoB,EACpB,eAAe,EACf,iBAAiB,EAClB,MAAM,qBAAqB,CAAC;AAE7B,MAAM,WAAW,yBAAyB;IACxC,KAAK,EAAE,uBAAuB,EAAE,CAAC;IACjC,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,KAAK,CAA4B;IACzC,OAAO,CAAC,KAAK,CAAC,CAAgB;IAC9B,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,gBAAgB,CAGpB;gBAEQ,MAAM,EAAE,yBAAyB;IAM7C,qBAAqB,CACnB,OAAO,EAAE,eAAe,EACxB,KAAK,EAAE,gBAAgB,EACvB,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,gBAAgB,CAAC;QAAC,SAAS,CAAC,EAAE,oBAAoB,CAAA;KAAE,GACvE,uBAAuB,GAAG,IAAI;IAajC,OAAO,CAAC,iBAAiB;IA0DnB,eAAe,CACnB,IAAI,EAAE,uBAAuB,EAC7B,KAAK,EAAE,gBAAgB,EACvB,MAAM,EAAE,iBAAiB,EACzB,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,gBAAgB,CAAC;QAAC,SAAS,CAAC,EAAE,oBAAoB,CAAA;KAAE,GACvE,OAAO,CAAC,2BAA2B,CAAC;IAwHvC,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,2BAA2B,GAAG,IAAI;IAa9E,OAAO,CAAC,gBAAgB;IAiCxB,OAAO,CAAC,kBAAkB;IAY1B,eAAe,IAAI,MAAM;IAIzB,SAAS,IAAI,IAAI;CAclB"}
|
|
@@ -44,25 +44,28 @@ export class ApprovalIntegration {
|
|
|
44
44
|
return parties.size > threshold;
|
|
45
45
|
}
|
|
46
46
|
if (condition.startsWith('term:')) {
|
|
47
|
-
const termMatch =
|
|
48
|
-
if (termMatch)
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
47
|
+
const termMatch = /^term:([\w-]+)(>=|<=|==|>|<)(-?\d+(?:\.\d+)?)$/.exec(condition);
|
|
48
|
+
if (!termMatch)
|
|
49
|
+
return false;
|
|
50
|
+
const [, termId, op, valueStr] = termMatch;
|
|
51
|
+
const threshold = parseFloat(valueStr);
|
|
52
|
+
const terms = details?.offer?.terms ?? details?.agreement?.terms ?? [];
|
|
53
|
+
const term = terms.find((t) => t.termId === termId);
|
|
54
|
+
if (!term || typeof term.value !== 'number')
|
|
55
|
+
return false;
|
|
56
|
+
switch (op) {
|
|
57
|
+
case '>':
|
|
58
|
+
return term.value > threshold;
|
|
59
|
+
case '<':
|
|
60
|
+
return term.value < threshold;
|
|
61
|
+
case '>=':
|
|
62
|
+
return term.value >= threshold;
|
|
63
|
+
case '<=':
|
|
64
|
+
return term.value <= threshold;
|
|
65
|
+
case '==':
|
|
66
|
+
return term.value === threshold;
|
|
67
|
+
default:
|
|
68
|
+
return false;
|
|
66
69
|
}
|
|
67
70
|
}
|
|
68
71
|
return true;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"approval.js","sourceRoot":"","sources":["../../../src/strategies/negotiation/approval.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAoBhC,MAAM,OAAO,mBAAmB;IACtB,KAAK,CAA4B;IACjC,KAAK,CAAiB;IACtB,aAAa,CAAS;IACtB,gBAAgB,GAAG,IAAI,GAAG,EAG/B,CAAC;IAEJ,YAAY,MAAiC;QAC3C,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QAC1B,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QAC1B,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;IAC5C,CAAC;IAED,qBAAqB,CACnB,OAAwB,EACxB,KAAuB,EACvB,OAAwE;QAExE,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC9B,IAAI,IAAI,CAAC,OAAO,KAAK,OAAO;gBAAE,SAAS;YAEvC,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gBACnB,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,OAAO,CAAC;oBAAE,SAAS;YACxE,CAAC;YAED,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,iBAAiB,CACvB,SAAiB,EACjB,KAAuB,EACvB,OAAwE;QAExE,IAAI,SAAS,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC;QAExC,IAAI,SAAS,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;YACzC,MAAM,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC,CAAC;YACpE,MAAM,MAAM,GAAG,KAAK,CAAC,kBAAkB,CAAC,KAAK,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAC7E,OAAO,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,kBAAkB,GAAG,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC;QAChE,CAAC;QAED,IAAI,SAAS,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YACnC,MAAM,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;YAChE,OAAO,KAAK,CAAC,KAAK,GAAG,SAAS,CAAC;QACjC,CAAC;QAED,IAAI,SAAS,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YACrC,MAAM,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;YAClE,MAAM,OAAO,GAAG,OAAO,EAAE,KAAK;gBAC5B,CAAC,CAAC,IAAI,GAAG,CAAC;oBACN,OAAO,CAAC,KAAK,CAAC,IAAI;oBAClB,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;iBAC7E,CAAC;gBACJ,CAAC,CAAC,IAAI,GAAG,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC;YAC/C,OAAO,OAAO,CAAC,IAAI,GAAG,SAAS,CAAC;QAClC,CAAC;QAED,IAAI,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YAClC,MAAM,SAAS,GAAG
|
|
1
|
+
{"version":3,"file":"approval.js","sourceRoot":"","sources":["../../../src/strategies/negotiation/approval.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,21 +1,43 @@
|
|
|
1
|
-
import type { SwarmRunOptions, StrategyResult, NegotiationConfig, SwarmCoordinatorInterface } from '@cogitator-ai/types';
|
|
1
|
+
import type { SwarmRunOptions, StrategyResult, NegotiationConfig, NegotiationApprovalResponse, SwarmCoordinatorInterface } from '@cogitator-ai/types';
|
|
2
2
|
import { BaseStrategy } from './base.js';
|
|
3
3
|
export declare class NegotiationStrategy extends BaseStrategy {
|
|
4
4
|
private config;
|
|
5
5
|
private state;
|
|
6
|
+
private agentNames;
|
|
6
7
|
private turnManager;
|
|
7
8
|
private convergenceCalculator;
|
|
8
9
|
private approvalIntegration?;
|
|
10
|
+
private reviewedOfferIds;
|
|
11
|
+
private reviewedCoalitionIds;
|
|
12
|
+
private lastMediationRound?;
|
|
9
13
|
constructor(coordinator: SwarmCoordinatorInterface, config?: Partial<NegotiationConfig>);
|
|
10
14
|
execute(options: SwarmRunOptions): Promise<StrategyResult>;
|
|
15
|
+
/**
|
|
16
|
+
* Answer a pending approval request (see the `negotiation:approval-required` event).
|
|
17
|
+
*/
|
|
18
|
+
respondToApproval(requestId: string, response: NegotiationApprovalResponse): void;
|
|
11
19
|
private initializeState;
|
|
12
20
|
private initializeHelpers;
|
|
21
|
+
/**
|
|
22
|
+
* Run one agent turn. A turn that exceeds `turnTimeout` is skipped instead of failing
|
|
23
|
+
* the negotiation; any other error propagates.
|
|
24
|
+
*/
|
|
25
|
+
private runTurn;
|
|
13
26
|
private runInitializationPhase;
|
|
14
27
|
private runProposalPhase;
|
|
15
28
|
private runCounterPhase;
|
|
16
29
|
private runRefinementPhase;
|
|
30
|
+
/**
|
|
31
|
+
* Pick up changes made by negotiation tools during the last turn and expire stale offers.
|
|
32
|
+
*/
|
|
33
|
+
private syncState;
|
|
34
|
+
/**
|
|
35
|
+
* Route new offers and newly formed coalitions through the configured approval gates.
|
|
36
|
+
*/
|
|
37
|
+
private reviewNewActivity;
|
|
38
|
+
private isRecipient;
|
|
39
|
+
private meetsQuorum;
|
|
17
40
|
private checkForAgreement;
|
|
18
|
-
private checkAllPartiesAccepted;
|
|
19
41
|
private buildAgreement;
|
|
20
42
|
private isDeadlocked;
|
|
21
43
|
private handleDeadlock;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"negotiation-strategy.d.ts","sourceRoot":"","sources":["../../src/strategies/negotiation-strategy.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,eAAe,EACf,cAAc,EACd,iBAAiB,
|
|
1
|
+
{"version":3,"file":"negotiation-strategy.d.ts","sourceRoot":"","sources":["../../src/strategies/negotiation-strategy.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,eAAe,EACf,cAAc,EACd,iBAAiB,EAIjB,2BAA2B,EAO3B,yBAAyB,EAC1B,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAiBzC,qBAAa,mBAAoB,SAAQ,YAAY;IACnD,OAAO,CAAC,MAAM,CAAoB;IAClC,OAAO,CAAC,KAAK,CAAoB;IACjC,OAAO,CAAC,UAAU,CAAgB;IAClC,OAAO,CAAC,WAAW,CAAe;IAClC,OAAO,CAAC,qBAAqB,CAAyB;IACtD,OAAO,CAAC,mBAAmB,CAAC,CAAsB;IAClD,OAAO,CAAC,gBAAgB,CAAqB;IAC7C,OAAO,CAAC,oBAAoB,CAAqB;IACjD,OAAO,CAAC,kBAAkB,CAAC,CAAS;gBAExB,WAAW,EAAE,yBAAyB,EAAE,MAAM,GAAE,OAAO,CAAC,iBAAiB,CAAM;IAKrF,OAAO,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC;IAgHhE;;OAEG;IACH,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,2BAA2B,GAAG,IAAI;IAOjF,OAAO,CAAC,eAAe;IA4BvB,OAAO,CAAC,iBAAiB;IAmBzB;;;OAGG;YACW,OAAO;YAmDP,sBAAsB;YAyBtB,gBAAgB;YAwChB,eAAe;YAqDf,kBAAkB;IA0DhC;;OAEG;IACH,OAAO,CAAC,SAAS;IAyBjB;;OAEG;YACW,iBAAiB;IAwD/B,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,WAAW;YAQL,iBAAiB;IAqD/B,OAAO,CAAC,cAAc;IAuBtB,OAAO,CAAC,YAAY;YAgBN,cAAc;YAqCd,QAAQ;YAqCR,iBAAiB;IAgB/B,OAAO,CAAC,aAAa;IA2DrB,OAAO,CAAC,SAAS;IA6BjB,OAAO,CAAC,kBAAkB;IA8D1B,OAAO,CAAC,cAAc;IAiCtB,OAAO,CAAC,iBAAiB;IAYzB,OAAO,CAAC,gBAAgB;IAsCxB,OAAO,CAAC,gBAAgB;IAIxB,OAAO,CAAC,iBAAiB;IAazB,OAAO,CAAC,yBAAyB;IAejC,OAAO,CAAC,mBAAmB;IAgB3B,OAAO,CAAC,kBAAkB;IAkB1B,OAAO,CAAC,qBAAqB;IAoC7B,OAAO,CAAC,6BAA6B;CAoBtC"}
|