@luckydraw/cumulus 0.30.11 → 0.30.12

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.
@@ -0,0 +1,392 @@
1
+ /**
2
+ * Gateway Federation — Hub-and-Spoke cross-gateway agent messaging.
3
+ *
4
+ * Hub (thundercat): accepts spoke WebSocket connections at /federation,
5
+ * maintains a registry of spoke→thread mappings, routes messages.
6
+ *
7
+ * Spoke (any device): connects outbound to hub, syncs thread list,
8
+ * relays inbound messages to local threads.
9
+ */
10
+ import { WebSocket, WebSocketServer } from 'ws';
11
+ export class FederationRouter {
12
+ wss;
13
+ spokes = new Map();
14
+ options;
15
+ constructor(options) {
16
+ this.options = options;
17
+ this.wss = new WebSocketServer({ noServer: true });
18
+ }
19
+ /** Handle HTTP upgrade to WebSocket for /federation path */
20
+ handleUpgrade(req, socket, head) {
21
+ this.wss.handleUpgrade(req, socket, head, ws => {
22
+ this.handleConnection(ws);
23
+ });
24
+ }
25
+ handleConnection(ws) {
26
+ // Auth timeout — spoke must send auth within 10s
27
+ const authTimeout = setTimeout(() => {
28
+ ws.close(1008, 'Authentication timeout');
29
+ }, 10_000);
30
+ let authenticated = false;
31
+ let spokeName = '';
32
+ ws.on('message', (raw) => {
33
+ let msg;
34
+ try {
35
+ msg = JSON.parse(raw.toString());
36
+ }
37
+ catch {
38
+ ws.close(1008, 'Invalid JSON');
39
+ return;
40
+ }
41
+ if (!authenticated) {
42
+ if (msg.type !== 'auth') {
43
+ ws.close(1008, 'Expected auth message');
44
+ return;
45
+ }
46
+ clearTimeout(authTimeout);
47
+ const authMsg = msg;
48
+ // Validate API key
49
+ if (!this.options.apiKeys.includes(authMsg.apiKey)) {
50
+ this.send(ws, { type: 'auth_error', reason: 'Invalid API key' });
51
+ ws.close(1008, 'Invalid API key');
52
+ return;
53
+ }
54
+ // Validate spoke name
55
+ if (this.options.allowedSpokes && !this.options.allowedSpokes.includes(authMsg.name)) {
56
+ this.send(ws, {
57
+ type: 'auth_error',
58
+ reason: `Spoke "${authMsg.name}" not in allowed list`,
59
+ });
60
+ ws.close(1008, 'Spoke not allowed');
61
+ return;
62
+ }
63
+ // Check for duplicate connection
64
+ const existing = this.spokes.get(authMsg.name);
65
+ if (existing) {
66
+ // Replace old connection
67
+ existing.ws.close(1000, 'Replaced by new connection');
68
+ this.cleanupSpoke(authMsg.name);
69
+ }
70
+ authenticated = true;
71
+ spokeName = authMsg.name;
72
+ // Register spoke
73
+ const entry = {
74
+ name: spokeName,
75
+ ws,
76
+ threads: [],
77
+ lastSeen: Date.now(),
78
+ };
79
+ // Start ping/pong heartbeat (30s interval)
80
+ entry.pingTimer = setInterval(() => {
81
+ if (Date.now() - entry.lastSeen > 60_000) {
82
+ console.log(`[Federation] Spoke "${spokeName}" timed out, disconnecting`);
83
+ ws.close(1000, 'Heartbeat timeout');
84
+ this.cleanupSpoke(spokeName);
85
+ return;
86
+ }
87
+ this.send(ws, { type: 'ping' });
88
+ }, 30_000);
89
+ this.spokes.set(spokeName, entry);
90
+ this.send(ws, { type: 'auth_ok', hubName: this.options.hubName });
91
+ console.log(`[Federation] Spoke "${spokeName}" connected`);
92
+ return;
93
+ }
94
+ // Authenticated messages
95
+ const spoke = this.spokes.get(spokeName);
96
+ if (!spoke)
97
+ return;
98
+ spoke.lastSeen = Date.now();
99
+ switch (msg.type) {
100
+ case 'thread_sync':
101
+ spoke.threads = msg.threads;
102
+ console.log(`[Federation] Spoke "${spokeName}" synced ${spoke.threads.length} threads`);
103
+ break;
104
+ case 'route':
105
+ void this.handleRoute(spokeName, msg);
106
+ break;
107
+ case 'pong':
108
+ // lastSeen already updated above
109
+ break;
110
+ default:
111
+ console.log(`[Federation] Unknown message type from "${spokeName}": ${msg.type}`);
112
+ }
113
+ });
114
+ ws.on('close', () => {
115
+ clearTimeout(authTimeout);
116
+ if (spokeName) {
117
+ console.log(`[Federation] Spoke "${spokeName}" disconnected`);
118
+ this.cleanupSpoke(spokeName);
119
+ }
120
+ });
121
+ ws.on('error', err => {
122
+ console.error(`[Federation] WebSocket error from "${spokeName}":`, err.message);
123
+ });
124
+ }
125
+ /** Route a message from a spoke to its destination */
126
+ async handleRoute(fromSpoke, msg) {
127
+ const { to, message, sender, visibility } = msg;
128
+ // Parse target — "gateway:thread" or just "thread" (hub-local)
129
+ const { gateway, thread } = parseAddress(to);
130
+ if (!gateway || gateway === this.options.hubName) {
131
+ // Route to local thread on hub
132
+ try {
133
+ const result = await this.options.injectLocal(thread, message, sender, visibility);
134
+ console.log(`[Federation] Routed ${fromSpoke}:${sender} → local:${thread} (${result.status})`);
135
+ }
136
+ catch (err) {
137
+ console.error(`[Federation] Failed to inject into local thread "${thread}":`, err.message);
138
+ }
139
+ return;
140
+ }
141
+ // Route to another spoke
142
+ const targetSpoke = this.spokes.get(gateway);
143
+ if (!targetSpoke) {
144
+ console.log(`[Federation] Spoke "${gateway}" not connected, message dropped`);
145
+ // TODO Phase 2: queue for offline delivery
146
+ return;
147
+ }
148
+ // Check thread exists on target spoke
149
+ if (!targetSpoke.threads.includes(thread)) {
150
+ console.log(`[Federation] Thread "${thread}" not found on spoke "${gateway}"`);
151
+ return;
152
+ }
153
+ // Forward to spoke
154
+ this.send(targetSpoke.ws, {
155
+ type: 'inject',
156
+ from: `${fromSpoke}:${sender}`,
157
+ to: thread,
158
+ message,
159
+ sender,
160
+ visibility,
161
+ });
162
+ console.log(`[Federation] Routed ${fromSpoke}:${sender} → ${gateway}:${thread}`);
163
+ }
164
+ /** Route a message originating from a local hub thread to a spoke */
165
+ async routeToSpoke(targetGateway, targetThread, message, sender, visibility) {
166
+ const spoke = this.spokes.get(targetGateway);
167
+ if (!spoke) {
168
+ return { status: 'offline' };
169
+ // TODO Phase 2: queue for offline delivery
170
+ }
171
+ if (!spoke.threads.includes(targetThread)) {
172
+ return { status: 'thread_not_found' };
173
+ }
174
+ this.send(spoke.ws, {
175
+ type: 'inject',
176
+ from: `${this.options.hubName}:${sender}`,
177
+ to: targetThread,
178
+ message,
179
+ sender,
180
+ visibility,
181
+ });
182
+ return { status: 'delivered' };
183
+ }
184
+ /** Resolve a thread address — returns the gateway name if it's on a spoke, null if local or unknown */
185
+ resolveThread(threadName) {
186
+ for (const [spokeName, spoke] of this.spokes) {
187
+ if (spoke.threads.includes(threadName)) {
188
+ return spokeName;
189
+ }
190
+ }
191
+ return null;
192
+ }
193
+ /** Get all federated agents (for list_agents aggregation) */
194
+ getFederatedAgents() {
195
+ const agents = [];
196
+ for (const [spokeName, spoke] of this.spokes) {
197
+ for (const thread of spoke.threads) {
198
+ agents.push({ name: thread, gateway: spokeName, status: 'idle' });
199
+ }
200
+ }
201
+ return agents;
202
+ }
203
+ /** Get connected spokes status */
204
+ getStatus() {
205
+ const status = [];
206
+ for (const [, spoke] of this.spokes) {
207
+ status.push({
208
+ name: spoke.name,
209
+ threads: spoke.threads,
210
+ lastSeen: spoke.lastSeen,
211
+ connected: spoke.ws.readyState === WebSocket.OPEN,
212
+ });
213
+ }
214
+ return status;
215
+ }
216
+ cleanupSpoke(name) {
217
+ const spoke = this.spokes.get(name);
218
+ if (spoke?.pingTimer) {
219
+ clearInterval(spoke.pingTimer);
220
+ }
221
+ this.spokes.delete(name);
222
+ }
223
+ send(ws, msg) {
224
+ if (ws.readyState === WebSocket.OPEN) {
225
+ ws.send(JSON.stringify(msg));
226
+ }
227
+ }
228
+ close() {
229
+ for (const [name] of this.spokes) {
230
+ this.cleanupSpoke(name);
231
+ }
232
+ this.wss.close();
233
+ }
234
+ }
235
+ export class FederationClient {
236
+ ws = null;
237
+ options;
238
+ reconnectDelay = 1000;
239
+ maxReconnectDelay = 60_000;
240
+ reconnectTimer = null;
241
+ authenticated = false;
242
+ closed = false;
243
+ hubName = '';
244
+ lastSyncedThreads = [];
245
+ constructor(options) {
246
+ this.options = options;
247
+ }
248
+ /** Connect to the hub */
249
+ connect() {
250
+ if (this.closed)
251
+ return;
252
+ try {
253
+ this.ws = new WebSocket(this.options.hubUrl);
254
+ }
255
+ catch (err) {
256
+ console.error(`[Federation] Failed to create WebSocket:`, err.message);
257
+ this.scheduleReconnect();
258
+ return;
259
+ }
260
+ this.ws.on('open', () => {
261
+ console.log(`[Federation] Connected to hub at ${this.options.hubUrl}`);
262
+ this.reconnectDelay = 1000; // Reset backoff on successful connect
263
+ // Send auth
264
+ this.send({
265
+ type: 'auth',
266
+ name: this.options.spokeName,
267
+ apiKey: this.options.apiKey,
268
+ });
269
+ });
270
+ this.ws.on('message', (raw) => {
271
+ let msg;
272
+ try {
273
+ msg = JSON.parse(raw.toString());
274
+ }
275
+ catch {
276
+ return;
277
+ }
278
+ switch (msg.type) {
279
+ case 'auth_ok':
280
+ this.authenticated = true;
281
+ this.hubName = msg.hubName;
282
+ console.log(`[Federation] Authenticated with hub "${this.hubName}"`);
283
+ // Sync thread list
284
+ this.syncThreads();
285
+ break;
286
+ case 'auth_error':
287
+ console.error(`[Federation] Auth failed: ${msg.reason}`);
288
+ this.ws?.close();
289
+ // Don't reconnect on auth failure — config is wrong
290
+ this.closed = true;
291
+ break;
292
+ case 'inject':
293
+ void this.handleInject(msg);
294
+ break;
295
+ case 'ping':
296
+ this.send({ type: 'pong' });
297
+ break;
298
+ default:
299
+ break;
300
+ }
301
+ });
302
+ this.ws.on('close', () => {
303
+ this.authenticated = false;
304
+ if (!this.closed) {
305
+ console.log(`[Federation] Disconnected from hub, reconnecting in ${this.reconnectDelay}ms`);
306
+ this.scheduleReconnect();
307
+ }
308
+ });
309
+ this.ws.on('error', err => {
310
+ console.error(`[Federation] WebSocket error:`, err.message);
311
+ });
312
+ }
313
+ /** Send a message to a thread on another gateway via the hub */
314
+ sendToRemote(targetGateway, targetThread, message, sender, visibility) {
315
+ if (!this.authenticated || !this.ws)
316
+ return false;
317
+ this.send({
318
+ type: 'route',
319
+ from: `${this.options.spokeName}:${sender}`,
320
+ to: `${targetGateway}:${targetThread}`,
321
+ message,
322
+ sender,
323
+ visibility,
324
+ });
325
+ return true;
326
+ }
327
+ /** Sync current local thread list to hub */
328
+ syncThreads() {
329
+ if (!this.authenticated || !this.ws)
330
+ return;
331
+ const threads = this.options.listLocalThreads();
332
+ // Only send if changed
333
+ if (JSON.stringify(threads) === JSON.stringify(this.lastSyncedThreads))
334
+ return;
335
+ this.lastSyncedThreads = [...threads];
336
+ this.send({
337
+ type: 'thread_sync',
338
+ threads,
339
+ });
340
+ }
341
+ /** Handle a message from the hub destined for a local thread */
342
+ async handleInject(msg) {
343
+ try {
344
+ const result = await this.options.injectLocal(msg.to, msg.message, msg.sender, msg.visibility);
345
+ console.log(`[Federation] Injected ${msg.from} → local:${msg.to} (${result.status})`);
346
+ }
347
+ catch (err) {
348
+ console.error(`[Federation] Failed to inject into local thread "${msg.to}":`, err.message);
349
+ }
350
+ }
351
+ scheduleReconnect() {
352
+ if (this.closed)
353
+ return;
354
+ if (this.reconnectTimer)
355
+ clearTimeout(this.reconnectTimer);
356
+ this.reconnectTimer = setTimeout(() => {
357
+ this.connect();
358
+ }, this.reconnectDelay);
359
+ // Exponential backoff with cap
360
+ this.reconnectDelay = Math.min(this.reconnectDelay * 2, this.maxReconnectDelay);
361
+ }
362
+ send(msg) {
363
+ if (this.ws?.readyState === WebSocket.OPEN) {
364
+ this.ws.send(JSON.stringify(msg));
365
+ }
366
+ }
367
+ get isConnected() {
368
+ return this.authenticated && this.ws?.readyState === WebSocket.OPEN;
369
+ }
370
+ get connectedHubName() {
371
+ return this.hubName;
372
+ }
373
+ close() {
374
+ this.closed = true;
375
+ if (this.reconnectTimer)
376
+ clearTimeout(this.reconnectTimer);
377
+ this.ws?.close();
378
+ }
379
+ }
380
+ // ─── Shared helpers ────────────────────────────────────────────────
381
+ /** Parse "gateway:thread" address. Returns { gateway, thread } */
382
+ export function parseAddress(address) {
383
+ const colonIdx = address.indexOf(':');
384
+ if (colonIdx === -1) {
385
+ return { gateway: null, thread: address };
386
+ }
387
+ return {
388
+ gateway: address.substring(0, colonIdx),
389
+ thread: address.substring(colonIdx + 1),
390
+ };
391
+ }
392
+ //# sourceMappingURL=federation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"federation.js","sourceRoot":"","sources":["../../src/gateway/federation.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAKH,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,IAAI,CAAC;AAyFhD,MAAM,OAAO,gBAAgB;IACnB,GAAG,CAAkB;IACrB,MAAM,GAAG,IAAI,GAAG,EAAsB,CAAC;IACvC,OAAO,CAA0B;IAEzC,YAAY,OAAgC;QAC1C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,GAAG,GAAG,IAAI,eAAe,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IACrD,CAAC;IAED,4DAA4D;IAC5D,aAAa,CAAC,GAAoB,EAAE,MAAc,EAAE,IAAY;QAC9D,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE;YAC7C,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;QAC5B,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,gBAAgB,CAAC,EAAa;QACpC,iDAAiD;QACjD,MAAM,WAAW,GAAG,UAAU,CAAC,GAAG,EAAE;YAClC,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,wBAAwB,CAAC,CAAC;QAC3C,CAAC,EAAE,MAAM,CAAC,CAAC;QAEX,IAAI,aAAa,GAAG,KAAK,CAAC;QAC1B,IAAI,SAAS,GAAG,EAAE,CAAC;QAEnB,EAAE,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,GAAW,EAAE,EAAE;YAC/B,IAAI,GAAsB,CAAC;YAC3B,IAAI,CAAC;gBACH,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;YACnC,CAAC;YAAC,MAAM,CAAC;gBACP,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;gBAC/B,OAAO;YACT,CAAC;YAED,IAAI,CAAC,aAAa,EAAE,CAAC;gBACnB,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;oBACxB,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,uBAAuB,CAAC,CAAC;oBACxC,OAAO;gBACT,CAAC;gBACD,YAAY,CAAC,WAAW,CAAC,CAAC;gBAE1B,MAAM,OAAO,GAAG,GAA4B,CAAC;gBAC7C,mBAAmB;gBACnB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;oBACnD,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,iBAAiB,EAAE,CAAC,CAAC;oBACjE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC;oBAClC,OAAO;gBACT,CAAC;gBACD,sBAAsB;gBACtB,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;oBACrF,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE;wBACZ,IAAI,EAAE,YAAY;wBAClB,MAAM,EAAE,UAAU,OAAO,CAAC,IAAI,uBAAuB;qBACtD,CAAC,CAAC;oBACH,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAC;oBACpC,OAAO;gBACT,CAAC;gBACD,iCAAiC;gBACjC,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBAC/C,IAAI,QAAQ,EAAE,CAAC;oBACb,yBAAyB;oBACzB,QAAQ,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,4BAA4B,CAAC,CAAC;oBACtD,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBAClC,CAAC;gBAED,aAAa,GAAG,IAAI,CAAC;gBACrB,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;gBAEzB,iBAAiB;gBACjB,MAAM,KAAK,GAAe;oBACxB,IAAI,EAAE,SAAS;oBACf,EAAE;oBACF,OAAO,EAAE,EAAE;oBACX,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE;iBACrB,CAAC;gBAEF,2CAA2C;gBAC3C,KAAK,CAAC,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE;oBACjC,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,QAAQ,GAAG,MAAM,EAAE,CAAC;wBACzC,OAAO,CAAC,GAAG,CAAC,uBAAuB,SAAS,4BAA4B,CAAC,CAAC;wBAC1E,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAC;wBACpC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;wBAC7B,OAAO;oBACT,CAAC;oBACD,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;gBAClC,CAAC,EAAE,MAAM,CAAC,CAAC;gBAEX,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;gBAClC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;gBAClE,OAAO,CAAC,GAAG,CAAC,uBAAuB,SAAS,aAAa,CAAC,CAAC;gBAC3D,OAAO;YACT,CAAC;YAED,yBAAyB;YACzB,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACzC,IAAI,CAAC,KAAK;gBAAE,OAAO;YACnB,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAE5B,QAAQ,GAAG,CAAC,IAAI,EAAE,CAAC;gBACjB,KAAK,aAAa;oBAChB,KAAK,CAAC,OAAO,GAAI,GAA4B,CAAC,OAAO,CAAC;oBACtD,OAAO,CAAC,GAAG,CAAC,uBAAuB,SAAS,YAAY,KAAK,CAAC,OAAO,CAAC,MAAM,UAAU,CAAC,CAAC;oBACxF,MAAM;gBAER,KAAK,OAAO;oBACV,KAAK,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,GAA6B,CAAC,CAAC;oBAChE,MAAM;gBAER,KAAK,MAAM;oBACT,iCAAiC;oBACjC,MAAM;gBAER;oBACE,OAAO,CAAC,GAAG,CAAC,2CAA2C,SAAS,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;YACtF,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;YAClB,YAAY,CAAC,WAAW,CAAC,CAAC;YAC1B,IAAI,SAAS,EAAE,CAAC;gBACd,OAAO,CAAC,GAAG,CAAC,uBAAuB,SAAS,gBAAgB,CAAC,CAAC;gBAC9D,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;YAC/B,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE;YACnB,OAAO,CAAC,KAAK,CAAC,sCAAsC,SAAS,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;QAClF,CAAC,CAAC,CAAC;IACL,CAAC;IAED,sDAAsD;IAC9C,KAAK,CAAC,WAAW,CAAC,SAAiB,EAAE,GAA2B;QACtE,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,GAAG,CAAC;QAEhD,+DAA+D;QAC/D,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,YAAY,CAAC,EAAE,CAAC,CAAC;QAE7C,IAAI,CAAC,OAAO,IAAI,OAAO,KAAK,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YACjD,+BAA+B;YAC/B,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;gBACnF,OAAO,CAAC,GAAG,CACT,uBAAuB,SAAS,IAAI,MAAM,YAAY,MAAM,KAAK,MAAM,CAAC,MAAM,GAAG,CAClF,CAAC;YACJ,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,CAAC,KAAK,CACX,oDAAoD,MAAM,IAAI,EAC7D,GAAa,CAAC,OAAO,CACvB,CAAC;YACJ,CAAC;YACD,OAAO;QACT,CAAC;QAED,yBAAyB;QACzB,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC7C,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,OAAO,CAAC,GAAG,CAAC,uBAAuB,OAAO,kCAAkC,CAAC,CAAC;YAC9E,2CAA2C;YAC3C,OAAO;QACT,CAAC;QAED,sCAAsC;QACtC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YAC1C,OAAO,CAAC,GAAG,CAAC,wBAAwB,MAAM,yBAAyB,OAAO,GAAG,CAAC,CAAC;YAC/E,OAAO;QACT,CAAC;QAED,mBAAmB;QACnB,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE;YACxB,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,GAAG,SAAS,IAAI,MAAM,EAAE;YAC9B,EAAE,EAAE,MAAM;YACV,OAAO;YACP,MAAM;YACN,UAAU;SACX,CAAC,CAAC;QACH,OAAO,CAAC,GAAG,CAAC,uBAAuB,SAAS,IAAI,MAAM,MAAM,OAAO,IAAI,MAAM,EAAE,CAAC,CAAC;IACnF,CAAC;IAED,qEAAqE;IACrE,KAAK,CAAC,YAAY,CAChB,aAAqB,EACrB,YAAoB,EACpB,OAAe,EACf,MAAc,EACd,UAA0C;QAE1C,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QAC7C,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;YAC7B,2CAA2C;QAC7C,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;YAC1C,OAAO,EAAE,MAAM,EAAE,kBAAkB,EAAE,CAAC;QACxC,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE;YAClB,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,MAAM,EAAE;YACzC,EAAE,EAAE,YAAY;YAChB,OAAO;YACP,MAAM;YACN,UAAU;SACX,CAAC,CAAC;QAEH,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;IACjC,CAAC;IAED,uGAAuG;IACvG,aAAa,CAAC,UAAkB;QAC9B,KAAK,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAC7C,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;gBACvC,OAAO,SAAS,CAAC;YACnB,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,6DAA6D;IAC7D,kBAAkB;QAChB,MAAM,MAAM,GAA6D,EAAE,CAAC;QAC5E,KAAK,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAC7C,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;gBACnC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;YACpE,CAAC;QACH,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,kCAAkC;IAClC,SAAS;QACP,MAAM,MAAM,GACV,EAAE,CAAC;QACL,KAAK,MAAM,CAAC,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACpC,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,QAAQ,EAAE,KAAK,CAAC,QAAQ;gBACxB,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,UAAU,KAAK,SAAS,CAAC,IAAI;aAClD,CAAC,CAAC;QACL,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,YAAY,CAAC,IAAY;QAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACpC,IAAI,KAAK,EAAE,SAAS,EAAE,CAAC;YACrB,aAAa,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACjC,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC;IAEO,IAAI,CAAC,EAAa,EAAE,GAAsB;QAChD,IAAI,EAAE,CAAC,UAAU,KAAK,SAAS,CAAC,IAAI,EAAE,CAAC;YACrC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;IAED,KAAK;QACH,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACjC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;IACnB,CAAC;CACF;AAmBD,MAAM,OAAO,gBAAgB;IACnB,EAAE,GAAqB,IAAI,CAAC;IAC5B,OAAO,CAA0B;IACjC,cAAc,GAAG,IAAI,CAAC;IACtB,iBAAiB,GAAG,MAAM,CAAC;IAC3B,cAAc,GAAyC,IAAI,CAAC;IAC5D,aAAa,GAAG,KAAK,CAAC;IACtB,MAAM,GAAG,KAAK,CAAC;IACf,OAAO,GAAG,EAAE,CAAC;IACb,iBAAiB,GAAa,EAAE,CAAC;IAEzC,YAAY,OAAgC;QAC1C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED,yBAAyB;IACzB,OAAO;QACL,IAAI,IAAI,CAAC,MAAM;YAAE,OAAO;QAExB,IAAI,CAAC;YACH,IAAI,CAAC,EAAE,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC/C,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,0CAA0C,EAAG,GAAa,CAAC,OAAO,CAAC,CAAC;YAClF,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACzB,OAAO;QACT,CAAC;QAED,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE;YACtB,OAAO,CAAC,GAAG,CAAC,oCAAoC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;YACvE,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC,sCAAsC;YAElE,YAAY;YACZ,IAAI,CAAC,IAAI,CAAC;gBACR,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS;gBAC5B,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM;aAC5B,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,GAAW,EAAE,EAAE;YACpC,IAAI,GAAsB,CAAC;YAC3B,IAAI,CAAC;gBACH,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;YACnC,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO;YACT,CAAC;YAED,QAAQ,GAAG,CAAC,IAAI,EAAE,CAAC;gBACjB,KAAK,SAAS;oBACZ,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;oBAC1B,IAAI,CAAC,OAAO,GAAI,GAAwB,CAAC,OAAO,CAAC;oBACjD,OAAO,CAAC,GAAG,CAAC,wCAAwC,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;oBACrE,mBAAmB;oBACnB,IAAI,CAAC,WAAW,EAAE,CAAC;oBACnB,MAAM;gBAER,KAAK,YAAY;oBACf,OAAO,CAAC,KAAK,CAAC,6BAA8B,GAA2B,CAAC,MAAM,EAAE,CAAC,CAAC;oBAClF,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC;oBACjB,oDAAoD;oBACpD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;oBACnB,MAAM;gBAER,KAAK,QAAQ;oBACX,KAAK,IAAI,CAAC,YAAY,CAAC,GAA8B,CAAC,CAAC;oBACvD,MAAM;gBAER,KAAK,MAAM;oBACT,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;oBAC5B,MAAM;gBAER;oBACE,MAAM;YACV,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;YACvB,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;YAC3B,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACjB,OAAO,CAAC,GAAG,CAAC,uDAAuD,IAAI,CAAC,cAAc,IAAI,CAAC,CAAC;gBAC5F,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC3B,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE;YACxB,OAAO,CAAC,KAAK,CAAC,+BAA+B,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;QAC9D,CAAC,CAAC,CAAC;IACL,CAAC;IAED,gEAAgE;IAChE,YAAY,CACV,aAAqB,EACrB,YAAoB,EACpB,OAAe,EACf,MAAc,EACd,UAA0C;QAE1C,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,EAAE;YAAE,OAAO,KAAK,CAAC;QAElD,IAAI,CAAC,IAAI,CAAC;YACR,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,MAAM,EAAE;YAC3C,EAAE,EAAE,GAAG,aAAa,IAAI,YAAY,EAAE;YACtC,OAAO;YACP,MAAM;YACN,UAAU;SACX,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IAED,4CAA4C;IAC5C,WAAW;QACT,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,EAAE;YAAE,OAAO;QAE5C,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC;QAChD,uBAAuB;QACvB,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,iBAAiB,CAAC;YAAE,OAAO;QAE/E,IAAI,CAAC,iBAAiB,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC;QACtC,IAAI,CAAC,IAAI,CAAC;YACR,IAAI,EAAE,aAAa;YACnB,OAAO;SACR,CAAC,CAAC;IACL,CAAC;IAED,gEAAgE;IACxD,KAAK,CAAC,YAAY,CAAC,GAA4B;QACrD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAC3C,GAAG,CAAC,EAAE,EACN,GAAG,CAAC,OAAO,EACX,GAAG,CAAC,MAAM,EACV,GAAG,CAAC,UAAU,CACf,CAAC;YACF,OAAO,CAAC,GAAG,CAAC,yBAAyB,GAAG,CAAC,IAAI,YAAY,GAAG,CAAC,EAAE,KAAK,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;QACxF,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CACX,oDAAoD,GAAG,CAAC,EAAE,IAAI,EAC7D,GAAa,CAAC,OAAO,CACvB,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,iBAAiB;QACvB,IAAI,IAAI,CAAC,MAAM;YAAE,OAAO;QACxB,IAAI,IAAI,CAAC,cAAc;YAAE,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAE3D,IAAI,CAAC,cAAc,GAAG,UAAU,CAAC,GAAG,EAAE;YACpC,IAAI,CAAC,OAAO,EAAE,CAAC;QACjB,CAAC,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;QAExB,+BAA+B;QAC/B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,GAAG,CAAC,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAClF,CAAC;IAEO,IAAI,CAAC,GAAsB;QACjC,IAAI,IAAI,CAAC,EAAE,EAAE,UAAU,KAAK,SAAS,CAAC,IAAI,EAAE,CAAC;YAC3C,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,EAAE,EAAE,UAAU,KAAK,SAAS,CAAC,IAAI,CAAC;IACtE,CAAC;IAED,IAAI,gBAAgB;QAClB,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,KAAK;QACH,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,IAAI,IAAI,CAAC,cAAc;YAAE,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC3D,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC;IACnB,CAAC;CACF;AAED,sEAAsE;AAEtE,kEAAkE;AAClE,MAAM,UAAU,YAAY,CAAC,OAAe;IAC1C,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACtC,IAAI,QAAQ,KAAK,CAAC,CAAC,EAAE,CAAC;QACpB,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;IAC5C,CAAC;IACD,OAAO;QACL,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,QAAQ,CAAC;QACvC,MAAM,EAAE,OAAO,CAAC,SAAS,CAAC,QAAQ,GAAG,CAAC,CAAC;KACxC,CAAC;AACJ,CAAC"}
@@ -167,7 +167,7 @@ async function main() {
167
167
  tools: [
168
168
  {
169
169
  name: 'list_agents',
170
- description: "List all active threads (agents) on the gateway. Returns each agent's name and status (idle or streaming). Use this to discover which agents are available to communicate with.",
170
+ description: 'List all active threads (agents) on this gateway and any connected federated gateways. Returns each agent\'s name and status. Federated agents appear as "gateway:thread" (e.g., "mac-karl:figma"). Use this to discover which agents are available to communicate with.',
171
171
  inputSchema: {
172
172
  type: 'object',
173
173
  properties: {},
@@ -181,7 +181,7 @@ async function main() {
181
181
  type: 'object',
182
182
  properties: {
183
183
  target: {
184
- description: 'The name of the target agent (its thread name), or an array of agent names for multi-target messaging.',
184
+ description: 'The name of the target agent (its thread name), or an array of agent names for multi-target messaging. For agents on federated gateways, use "gateway:thread" syntax (e.g., "mac-karl:figma").',
185
185
  oneOf: [
186
186
  { type: 'string' },
187
187
  { type: 'array', items: { type: 'string' } },
@@ -1 +1 @@
1
- {"version":3,"file":"gateway-agents-mcp.js","sourceRoot":"","sources":["../../src/gateway/gateway-agents-mcp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gateway-agents-mcp.js","sourceRoot":"","sources":["../../src/gateway/gateway-agents-mcp.ts"],"names":[],"mappings":"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"}
@@ -68,6 +68,8 @@ export interface GatewayServerHandle {
68
68
  restart: () => void;
69
69
  shutdown: () => void;
70
70
  }) => void;
71
+ /** Set federation router — enables cross-gateway agent messaging */
72
+ setFederationRouter: (router: import('./federation.js').FederationRouter) => void;
71
73
  }
72
74
  /**
73
75
  * Mark a thread as busy/idle from external modules (e.g., webchat adapter).
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/gateway/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/gateway/server.ts"],"names":[],"mappings":"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"}