@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
@@ -2,11 +2,120 @@
2
2
  * Message bus for agent-to-agent communication
3
3
  */
4
4
  import { nanoid } from 'nanoid';
5
+ import { invokeSafely } from '../utils/invoke.js';
6
+ export function isReadTrackingMessageBus(bus) {
7
+ const candidate = bus;
8
+ return (typeof candidate.markAsRead === 'function' &&
9
+ typeof candidate.resetTurnCounts === 'function' &&
10
+ typeof candidate.onMessage === 'function');
11
+ }
12
+ export function isMessageForAgent(message, agentName) {
13
+ return (message.to === agentName || message.to === 'broadcast') && message.from !== agentName;
14
+ }
15
+ /**
16
+ * Shared bookkeeping for message bus implementations: per-turn quotas,
17
+ * per-agent read receipts and bus-wide listeners.
18
+ */
19
+ export class MessageBusState {
20
+ label;
21
+ turnCounts = new Map();
22
+ readReceipts = new Map();
23
+ listeners = new Set();
24
+ constructor(label) {
25
+ this.label = label;
26
+ }
27
+ consumeTurnQuota(config, from) {
28
+ if (!config.maxMessagesPerTurn)
29
+ return;
30
+ const count = this.turnCounts.get(from) ?? 0;
31
+ if (count >= config.maxMessagesPerTurn) {
32
+ throw new Error(`Agent ${from} exceeded max messages per turn (${config.maxMessagesPerTurn})`);
33
+ }
34
+ this.turnCounts.set(from, count + 1);
35
+ }
36
+ resetTurnCounts(agentName) {
37
+ if (agentName === undefined) {
38
+ this.turnCounts.clear();
39
+ }
40
+ else {
41
+ this.turnCounts.delete(agentName);
42
+ }
43
+ }
44
+ markAsRead(agentName, messageIds) {
45
+ let receipts = this.readReceipts.get(agentName);
46
+ if (!receipts) {
47
+ receipts = new Set();
48
+ this.readReceipts.set(agentName, receipts);
49
+ }
50
+ for (const id of messageIds) {
51
+ receipts.add(id);
52
+ }
53
+ }
54
+ isRead(agentName, messageId) {
55
+ return this.readReceipts.get(agentName)?.has(messageId) ?? false;
56
+ }
57
+ forgetMessages(messageIds) {
58
+ if (messageIds.length === 0)
59
+ return;
60
+ for (const receipts of this.readReceipts.values()) {
61
+ for (const id of messageIds) {
62
+ receipts.delete(id);
63
+ }
64
+ }
65
+ }
66
+ onMessage(listener) {
67
+ this.listeners.add(listener);
68
+ return () => {
69
+ this.listeners.delete(listener);
70
+ };
71
+ }
72
+ notifyListeners(message) {
73
+ for (const listener of [...this.listeners]) {
74
+ invokeSafely(listener, [message], `${this.label} Listener error`);
75
+ }
76
+ }
77
+ clear() {
78
+ this.turnCounts.clear();
79
+ this.readReceipts.clear();
80
+ }
81
+ }
82
+ export function notifyMessageSubscribers(subscriptions, message, label) {
83
+ if (message.to !== 'broadcast') {
84
+ for (const handler of [...(subscriptions.get(message.to) ?? [])]) {
85
+ invokeSafely(handler, [message], `${label} Handler error`);
86
+ }
87
+ return;
88
+ }
89
+ for (const [agentName, handlers] of subscriptions) {
90
+ if (agentName === message.from)
91
+ continue;
92
+ for (const handler of [...handlers]) {
93
+ invokeSafely(handler, [message], `${label} Broadcast handler error`);
94
+ }
95
+ }
96
+ }
97
+ export function addSubscription(subscriptions, agentName, handler) {
98
+ let handlers = subscriptions.get(agentName);
99
+ if (!handlers) {
100
+ handlers = new Set();
101
+ subscriptions.set(agentName, handlers);
102
+ }
103
+ handlers.add(handler);
104
+ return () => {
105
+ const current = subscriptions.get(agentName);
106
+ if (!current)
107
+ return;
108
+ current.delete(handler);
109
+ if (current.size === 0) {
110
+ subscriptions.delete(agentName);
111
+ }
112
+ };
113
+ }
5
114
  export class InMemoryMessageBus {
6
115
  messages = [];
7
116
  subscriptions = new Map();
8
117
  config;
9
- agentMessageCounts = new Map();
118
+ state = new MessageBusState('[MessageBus]');
10
119
  constructor(config) {
11
120
  this.config = config;
12
121
  }
@@ -17,23 +126,18 @@ export class InMemoryMessageBus {
17
126
  if (this.config.maxMessageLength && message.content.length > this.config.maxMessageLength) {
18
127
  throw new Error(`Message exceeds max length of ${this.config.maxMessageLength} characters`);
19
128
  }
20
- if (this.config.maxMessagesPerTurn) {
21
- const count = this.agentMessageCounts.get(message.from) ?? 0;
22
- if (count >= this.config.maxMessagesPerTurn) {
23
- throw new Error(`Agent ${message.from} exceeded max messages per turn (${this.config.maxMessagesPerTurn})`);
24
- }
25
- this.agentMessageCounts.set(message.from, count + 1);
26
- }
27
129
  if (this.config.maxTotalMessages && this.messages.length >= this.config.maxTotalMessages) {
28
130
  throw new Error(`Max total messages (${this.config.maxTotalMessages}) reached`);
29
131
  }
132
+ this.state.consumeTurnQuota(this.config, message.from);
30
133
  const fullMessage = {
31
134
  ...message,
32
135
  id: `msg_${nanoid(12)}`,
33
136
  timestamp: Date.now(),
34
137
  };
35
138
  this.messages.push(fullMessage);
36
- this.notifySubscribers(fullMessage);
139
+ notifyMessageSubscribers(this.subscriptions, fullMessage, '[MessageBus]');
140
+ this.state.notifyListeners(fullMessage);
37
141
  return fullMessage;
38
142
  }
39
143
  async broadcast(from, content, channel) {
@@ -47,19 +151,13 @@ export class InMemoryMessageBus {
47
151
  });
48
152
  }
49
153
  subscribe(agentName, handler) {
50
- if (!this.subscriptions.has(agentName)) {
51
- this.subscriptions.set(agentName, new Set());
52
- }
53
- this.subscriptions.get(agentName).add(handler);
54
- return () => {
55
- const handlers = this.subscriptions.get(agentName);
56
- if (handlers) {
57
- handlers.delete(handler);
58
- if (handlers.size === 0) {
59
- this.subscriptions.delete(agentName);
60
- }
61
- }
62
- };
154
+ return addSubscription(this.subscriptions, agentName, handler);
155
+ }
156
+ /**
157
+ * Listen to every message sent through the bus, regardless of recipient.
158
+ */
159
+ onMessage(listener) {
160
+ return this.state.onMessage(listener);
63
161
  }
64
162
  getMessages(agentName, limit) {
65
163
  const relevant = this.messages.filter((m) => m.to === agentName || m.to === 'broadcast' || m.from === agentName);
@@ -74,38 +172,25 @@ export class InMemoryMessageBus {
74
172
  getAllMessages() {
75
173
  return [...this.messages];
76
174
  }
175
+ /**
176
+ * Messages addressed to the agent (directly or via broadcast) that it has not read yet.
177
+ * Use {@link markAsRead} once the messages have been delivered to the agent.
178
+ */
77
179
  getUnreadMessages(agentName) {
78
- return this.messages.filter((m) => (m.to === agentName || m.to === 'broadcast') && m.from !== agentName);
180
+ return this.messages.filter((m) => isMessageForAgent(m, agentName) && !this.state.isRead(agentName, m.id));
181
+ }
182
+ markAsRead(agentName, messageIds) {
183
+ this.state.markAsRead(agentName, messageIds);
79
184
  }
80
185
  clear() {
81
186
  this.messages = [];
82
- this.agentMessageCounts.clear();
83
- }
84
- resetTurnCounts() {
85
- this.agentMessageCounts.clear();
86
- }
87
- notifySubscribers(message) {
88
- if (message.to !== 'broadcast') {
89
- const handlers = this.subscriptions.get(message.to);
90
- if (handlers) {
91
- for (const handler of handlers) {
92
- void Promise.resolve(handler(message)).catch((error) => {
93
- console.warn('[MessageBus] Handler error:', error);
94
- });
95
- }
96
- }
97
- }
98
- else {
99
- for (const [agentName, handlers] of this.subscriptions) {
100
- if (agentName !== message.from) {
101
- for (const handler of handlers) {
102
- void Promise.resolve(handler(message)).catch((error) => {
103
- console.warn('[MessageBus] Broadcast handler error:', error);
104
- });
105
- }
106
- }
107
- }
108
- }
187
+ this.state.clear();
188
+ }
189
+ /**
190
+ * Reset per-turn message quotas for one agent, or for all agents when omitted.
191
+ */
192
+ resetTurnCounts(agentName) {
193
+ this.state.resetTurnCounts(agentName);
109
194
  }
110
195
  }
111
196
  export function createMessageBus(config) {
@@ -1 +1 @@
1
- {"version":3,"file":"message-bus.js","sourceRoot":"","sources":["../../src/communication/message-bus.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"message-bus.js","sourceRoot":"","sources":["../../src/communication/message-bus.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAalD,MAAM,UAAU,wBAAwB,CAAC,GAAe;IACtD,MAAM,SAAS,GAAG,GAAsC,CAAC;IACzD,OAAO,CACL,OAAO,SAAS,CAAC,UAAU,KAAK,UAAU;QAC1C,OAAO,SAAS,CAAC,eAAe,KAAK,UAAU;QAC/C,OAAO,SAAS,CAAC,SAAS,KAAK,UAAU,CAC1C,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,OAAqB,EAAE,SAAiB;IACxE,OAAO,CAAC,OAAO,CAAC,EAAE,KAAK,SAAS,IAAI,OAAO,CAAC,EAAE,KAAK,WAAW,CAAC,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC;AAChG,CAAC;AAED;;;GAGG;AACH,MAAM,OAAO,eAAe;IAKG;IAJrB,UAAU,GAAG,IAAI,GAAG,EAAkB,CAAC;IACvC,YAAY,GAAG,IAAI,GAAG,EAAuB,CAAC;IAC9C,SAAS,GAAG,IAAI,GAAG,EAAmB,CAAC;IAE/C,YAA6B,KAAa;QAAb,UAAK,GAAL,KAAK,CAAQ;IAAG,CAAC;IAE9C,gBAAgB,CAAC,MAAwB,EAAE,IAAY;QACrD,IAAI,CAAC,MAAM,CAAC,kBAAkB;YAAE,OAAO;QAEvC,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7C,IAAI,KAAK,IAAI,MAAM,CAAC,kBAAkB,EAAE,CAAC;YACvC,MAAM,IAAI,KAAK,CACb,SAAS,IAAI,oCAAoC,MAAM,CAAC,kBAAkB,GAAG,CAC9E,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;IACvC,CAAC;IAED,eAAe,CAAC,SAAkB;QAChC,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC5B,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QAC1B,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;IAED,UAAU,CAAC,SAAiB,EAAE,UAA6B;QACzD,IAAI,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAChD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,QAAQ,GAAG,IAAI,GAAG,EAAE,CAAC;YACrB,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QAC7C,CAAC;QACD,KAAK,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC;YAC5B,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACnB,CAAC;IACH,CAAC;IAED,MAAM,CAAC,SAAiB,EAAE,SAAiB;QACzC,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,GAAG,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC;IACnE,CAAC;IAED,cAAc,CAAC,UAA6B;QAC1C,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QACpC,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,EAAE,CAAC;YAClD,KAAK,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC;gBAC5B,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YACtB,CAAC;QACH,CAAC;IACH,CAAC;IAED,SAAS,CAAC,QAAyB;QACjC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC7B,OAAO,GAAG,EAAE;YACV,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAClC,CAAC,CAAC;IACJ,CAAC;IAED,eAAe,CAAC,OAAqB;QACnC,KAAK,MAAM,QAAQ,IAAI,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;YAC3C,YAAY,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,GAAG,IAAI,CAAC,KAAK,iBAAiB,CAAC,CAAC;QACpE,CAAC;IACH,CAAC;IAED,KAAK;QACH,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QACxB,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;IAC5B,CAAC;CACF;AAED,MAAM,UAAU,wBAAwB,CACtC,aAAgD,EAChD,OAAqB,EACrB,KAAa;IAEb,IAAI,OAAO,CAAC,EAAE,KAAK,WAAW,EAAE,CAAC;QAC/B,KAAK,MAAM,OAAO,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;YACjE,YAAY,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,EAAE,GAAG,KAAK,gBAAgB,CAAC,CAAC;QAC7D,CAAC;QACD,OAAO;IACT,CAAC;IAED,KAAK,MAAM,CAAC,SAAS,EAAE,QAAQ,CAAC,IAAI,aAAa,EAAE,CAAC;QAClD,IAAI,SAAS,KAAK,OAAO,CAAC,IAAI;YAAE,SAAS;QACzC,KAAK,MAAM,OAAO,IAAI,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC;YACpC,YAAY,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,EAAE,GAAG,KAAK,0BAA0B,CAAC,CAAC;QACvE,CAAC;IACH,CAAC;AACH,CAAC;AAED,MAAM,UAAU,eAAe,CAC7B,aAAgD,EAChD,SAAiB,EACjB,OAAwB;IAExB,IAAI,QAAQ,GAAG,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC5C,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,QAAQ,GAAG,IAAI,GAAG,EAAE,CAAC;QACrB,aAAa,CAAC,GAAG,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IACzC,CAAC;IACD,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAEtB,OAAO,GAAG,EAAE;QACV,MAAM,OAAO,GAAG,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC7C,IAAI,CAAC,OAAO;YAAE,OAAO;QACrB,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACxB,IAAI,OAAO,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YACvB,aAAa,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAClC,CAAC;IACH,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,OAAO,kBAAkB;IACrB,QAAQ,GAAmB,EAAE,CAAC;IAC9B,aAAa,GAAG,IAAI,GAAG,EAAgC,CAAC;IACxD,MAAM,CAAmB;IACzB,KAAK,GAAG,IAAI,eAAe,CAAC,cAAc,CAAC,CAAC;IAEpD,YAAY,MAAwB;QAClC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,OAA+C;QACxD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAChD,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,CAAC,gBAAgB,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC;YAC1F,MAAM,IAAI,KAAK,CAAC,iCAAiC,IAAI,CAAC,MAAM,CAAC,gBAAgB,aAAa,CAAC,CAAC;QAC9F,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,CAAC,gBAAgB,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC;YACzF,MAAM,IAAI,KAAK,CAAC,uBAAuB,IAAI,CAAC,MAAM,CAAC,gBAAgB,WAAW,CAAC,CAAC;QAClF,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;QAEvD,MAAM,WAAW,GAAiB;YAChC,GAAG,OAAO;YACV,EAAE,EAAE,OAAO,MAAM,CAAC,EAAE,CAAC,EAAE;YACvB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;SACtB,CAAC;QAEF,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAChC,wBAAwB,CAAC,IAAI,CAAC,aAAa,EAAE,WAAW,EAAE,cAAc,CAAC,CAAC;QAC1E,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;QAExC,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,IAAY,EAAE,OAAe,EAAE,OAAgB;QAC7D,MAAM,IAAI,CAAC,IAAI,CAAC;YACd,OAAO,EAAE,EAAE;YACX,IAAI;YACJ,EAAE,EAAE,WAAW;YACf,IAAI,EAAE,cAAc;YACpB,OAAO;YACP,OAAO;SACR,CAAC,CAAC;IACL,CAAC;IAED,SAAS,CAAC,SAAiB,EAAE,OAAwB;QACnD,OAAO,eAAe,CAAC,IAAI,CAAC,aAAa,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;IACjE,CAAC;IAED;;OAEG;IACH,SAAS,CAAC,QAAyB;QACjC,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IACxC,CAAC;IAED,WAAW,CAAC,SAAiB,EAAE,KAAc;QAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CACnC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,SAAS,IAAI,CAAC,CAAC,EAAE,KAAK,WAAW,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,CAC1E,CAAC;QAEF,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC;QAChC,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,eAAe,CAAC,MAAc,EAAE,MAAc;QAC5C,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CACzB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,CACxF,CAAC;IACJ,CAAC;IAED,cAAc;QACZ,OAAO,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC5B,CAAC;IAED;;;OAGG;IACH,iBAAiB,CAAC,SAAiB;QACjC,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CACzB,CAAC,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,CAAC,EAAE,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,CAC9E,CAAC;IACJ,CAAC;IAED,UAAU,CAAC,SAAiB,EAAE,UAA6B;QACzD,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IAC/C,CAAC;IAED,KAAK;QACH,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC;IAED;;OAEG;IACH,eAAe,CAAC,SAAkB;QAChC,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;IACxC,CAAC;CACF;AAED,MAAM,UAAU,gBAAgB,CAAC,MAAkC;IACjE,OAAO,IAAI,kBAAkB,CAAC;QAC5B,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE,QAAQ;QAClB,GAAG,MAAM;KACV,CAAC,CAAC;AACL,CAAC"}
@@ -1,36 +1,43 @@
1
- import type { Blackboard, BlackboardConfig, BlackboardSection, BlackboardHistoryEntry } from '@cogitator-ai/types';
1
+ import type { BlackboardConfig, BlackboardSection, BlackboardHistoryEntry } from '@cogitator-ai/types';
2
2
  import type { Redis } from 'ioredis';
3
+ import { type BlackboardSectionHandler, type BlackboardWriteListener, type ObservableBlackboard } from './blackboard.js';
3
4
  export interface RedisBlackboardOptions {
4
5
  redis: Redis;
5
6
  swarmId: string;
6
7
  keyPrefix?: string;
7
8
  }
8
- export declare class RedisBlackboard implements Blackboard {
9
+ export declare class RedisBlackboard implements ObservableBlackboard {
9
10
  private redis;
10
11
  private subscriber;
11
12
  private swarmId;
12
13
  private keyPrefix;
13
14
  private config;
14
- private subscriptions;
15
+ private listeners;
15
16
  private localCache;
16
17
  private historyCache;
18
+ private readonly instanceId;
19
+ private initialized;
17
20
  constructor(config: BlackboardConfig, options: RedisBlackboardOptions);
18
21
  private sectionKey;
19
22
  private historyKey;
20
23
  private channelKey;
24
+ private readonly handleRemoteChange;
21
25
  initialize(): Promise<void>;
22
26
  read<T = unknown>(section: string): T;
23
27
  write<T>(section: string, data: T, agentName: string): void;
24
28
  append<T>(section: string, item: T, agentName: string): void;
25
29
  has(section: string): boolean;
26
30
  delete(section: string): void;
27
- subscribe(section: string, handler: (data: unknown, agentName: string) => void): () => void;
31
+ subscribe(section: string, handler: BlackboardSectionHandler): () => void;
32
+ onWrite(listener: BlackboardWriteListener): () => void;
28
33
  getSections(): string[];
29
34
  getSection<T = unknown>(section: string): BlackboardSection<T> | undefined;
30
35
  getHistory(section: string): BlackboardHistoryEntry[];
31
36
  clear(): void;
32
37
  close(): Promise<void>;
33
38
  syncFromRedis(): Promise<void>;
34
- private notifySubscribers;
39
+ private pushHistory;
40
+ private removeFromRedis;
41
+ private assertEnabled;
35
42
  }
36
43
  //# sourceMappingURL=redis-blackboard.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"redis-blackboard.d.ts","sourceRoot":"","sources":["../../src/communication/redis-blackboard.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,UAAU,EACV,gBAAgB,EAChB,iBAAiB,EACjB,sBAAsB,EACvB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAErC,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,KAAK,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAUD,qBAAa,eAAgB,YAAW,UAAU;IAChD,OAAO,CAAC,KAAK,CAAQ;IACrB,OAAO,CAAC,UAAU,CAAQ;IAC1B,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,MAAM,CAAmB;IACjC,OAAO,CAAC,aAAa,CAAsE;IAC3F,OAAO,CAAC,UAAU,CAAoC;IACtD,OAAO,CAAC,YAAY,CAA+C;gBAEvD,MAAM,EAAE,gBAAgB,EAAE,OAAO,EAAE,sBAAsB;IAQrE,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,UAAU;IAIZ,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAyDjC,IAAI,CAAC,CAAC,GAAG,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,CAAC;IAQrC,KAAK,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;IA2C3D,MAAM,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;IAgB5D,GAAG,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAI7B,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAQ7B,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,KAAK,IAAI,GAAG,MAAM,IAAI;IAiB3F,WAAW,IAAI,MAAM,EAAE;IAIvB,UAAU,CAAC,CAAC,GAAG,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,iBAAiB,CAAC,CAAC,CAAC,GAAG,SAAS;IAY1E,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,sBAAsB,EAAE;IAIrD,KAAK,IAAI,IAAI;IAWP,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAKtB,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAepC,OAAO,CAAC,iBAAiB;CAU1B"}
1
+ {"version":3,"file":"redis-blackboard.d.ts","sourceRoot":"","sources":["../../src/communication/redis-blackboard.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,gBAAgB,EAChB,iBAAiB,EACjB,sBAAsB,EACvB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAEL,KAAK,wBAAwB,EAC7B,KAAK,uBAAuB,EAC5B,KAAK,oBAAoB,EAC1B,MAAM,iBAAiB,CAAC;AAEzB,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,KAAK,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAmED,qBAAa,eAAgB,YAAW,oBAAoB;IAC1D,OAAO,CAAC,KAAK,CAAQ;IACrB,OAAO,CAAC,UAAU,CAAQ;IAC1B,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,MAAM,CAAmB;IACjC,OAAO,CAAC,SAAS,CAAgD;IACjE,OAAO,CAAC,UAAU,CAAoC;IACtD,OAAO,CAAC,YAAY,CAA+C;IACnE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAc;IACzC,OAAO,CAAC,WAAW,CAAS;gBAEhB,MAAM,EAAE,gBAAgB,EAAE,OAAO,EAAE,sBAAsB;IAQrE,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CA8CjC;IAEI,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IA6CjC,IAAI,CAAC,CAAC,GAAG,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,CAAC;IASrC,KAAK,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;IAkD3D,MAAM,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;IAgB5D,GAAG,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAI7B,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAiB7B,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,wBAAwB,GAAG,MAAM,IAAI;IAIzE,OAAO,CAAC,QAAQ,EAAE,uBAAuB,GAAG,MAAM,IAAI;IAItD,WAAW,IAAI,MAAM,EAAE;IAIvB,UAAU,CAAC,CAAC,GAAG,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,iBAAiB,CAAC,CAAC,CAAC,GAAG,SAAS;IAY1E,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,sBAAsB,EAAE;IAIrD,KAAK,IAAI,IAAI;IAUP,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAYtB,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAoBpC,OAAO,CAAC,WAAW;IAYnB,OAAO,CAAC,eAAe;IAiBvB,OAAO,CAAC,aAAa;CAKtB"}