@clawswarm/bridge 0.1.0-alpha → 0.2.0-alpha

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/dist/bridge.d.ts CHANGED
@@ -31,16 +31,26 @@ declare const BridgeServer_base: new () => EventEmitter<BridgeServerEvents>;
31
31
  export declare class BridgeServer extends BridgeServer_base {
32
32
  private readonly config;
33
33
  private wss;
34
+ private httpServer;
34
35
  private clients;
35
36
  private pingTimer;
37
+ private _shuttingDown;
38
+ private _signalHandlers;
36
39
  constructor(config?: BridgeServerConfig);
37
40
  /**
38
- * Start the WebSocket server.
41
+ * Start the WebSocket server and HTTP health endpoint.
42
+ * Also registers SIGTERM/SIGINT handlers for graceful shutdown.
39
43
  * Returns a promise that resolves once the server is listening.
40
44
  */
41
45
  start(): Promise<void>;
42
46
  /**
43
- * Stop the WebSocket server and disconnect all clients.
47
+ * Gracefully stop the WebSocket server.
48
+ *
49
+ * 1. Stops accepting new connections.
50
+ * 2. Sends close frames to every connected client and waits for them
51
+ * to drain (up to GRACEFUL_SHUTDOWN_TIMEOUT_MS).
52
+ * 3. Forcefully terminates any remaining sockets.
53
+ * 4. Cleans up timers and the health HTTP server.
44
54
  */
45
55
  stop(): Promise<void>;
46
56
  /**
@@ -100,6 +110,20 @@ export declare class BridgeServer extends BridgeServer_base {
100
110
  * @internal
101
111
  */
102
112
  private _startPingTimer;
113
+ /**
114
+ * Register SIGTERM/SIGINT handlers for graceful shutdown.
115
+ * @internal
116
+ */
117
+ private _registerSignalHandlers;
118
+ /**
119
+ * Start a lightweight HTTP server for /health checks.
120
+ *
121
+ * By default it uses the WS port + 1, but can be overridden via
122
+ * `healthPort` config or `BRIDGE_HEALTH_PORT` env var.
123
+ *
124
+ * @internal
125
+ */
126
+ private _startHealthServer;
103
127
  }
104
128
  export {};
105
129
  //# sourceMappingURL=bridge.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"bridge.d.ts","sourceRoot":"","sources":["../src/bridge.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,OAAO,YAAY,MAAM,eAAe,CAAC;AACzC,OAAO,EACL,YAAY,EACZ,aAAa,EACb,kBAAkB,EAClB,kBAAkB,EAEnB,MAAM,YAAY,CAAC;iCA6B+B,UAAU,YAAY,CAAC,kBAAkB,CAAC;AAlB7F;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,YAAa,SAAQ,iBAA4D;IAC5F,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA+B;IACtD,OAAO,CAAC,GAAG,CAAgC;IAC3C,OAAO,CAAC,OAAO,CAAuE;IACtF,OAAO,CAAC,SAAS,CAA+C;gBAEpD,MAAM,GAAE,kBAAuB;IAc3C;;;OAGG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAwB5B;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAsB3B;;;OAGG;IACH,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO;IAavD;;;;;;;;OAQG;IACH,SAAS,CACP,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,aAAa,EACtB,KAAK,CAAC,EAAE,YAAY,CAAC,MAAM,CAAC,EAAE,GAC7B,MAAM;IAcT;;OAEG;IACH,UAAU,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,YAAY,EAAE;IAK1C;;OAEG;IACH,KAAK,IAAI;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,OAAO,CAAA;KAAE;IAW/D;;;OAGG;IACH,OAAO,CAAC,aAAa;IA4BrB;;;OAGG;IACH,OAAO,CAAC,UAAU;IAiClB;;;OAGG;IACH,OAAO,CAAC,WAAW;IA8BnB;;;OAGG;IACH,OAAO,CAAC,QAAQ;IAKhB;;;OAGG;IACH,OAAO,CAAC,aAAa;IAQrB;;;OAGG;IACH,OAAO,CAAC,eAAe;CAcxB"}
1
+ {"version":3,"file":"bridge.d.ts","sourceRoot":"","sources":["../src/bridge.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAKH,OAAO,YAAY,MAAM,eAAe,CAAC;AACzC,OAAO,EACL,YAAY,EACZ,aAAa,EACb,kBAAkB,EAClB,kBAAkB,EAEnB,MAAM,YAAY,CAAC;iCA6D+B,UAAU,YAAY,CAAC,kBAAkB,CAAC;AAlB7F;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,YAAa,SAAQ,iBAA4D;IAC5F,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA+B;IACtD,OAAO,CAAC,GAAG,CAAgC;IAC3C,OAAO,CAAC,UAAU,CAA4B;IAC9C,OAAO,CAAC,OAAO,CAAuE;IACtF,OAAO,CAAC,SAAS,CAA+C;IAChE,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,eAAe,CAAyD;gBAEpE,MAAM,GAAE,kBAAuB;IAO3C;;;;OAIG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IA0B5B;;;;;;;;OAQG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAgE3B;;;OAGG;IACH,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO;IAavD;;;;;;;;OAQG;IACH,SAAS,CACP,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,aAAa,EACtB,KAAK,CAAC,EAAE,YAAY,CAAC,MAAM,CAAC,EAAE,GAC7B,MAAM;IAkBT;;OAEG;IACH,UAAU,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,YAAY,EAAE;IAK1C;;OAEG;IACH,KAAK,IAAI;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,OAAO,CAAA;KAAE;IAW/D;;;OAGG;IACH,OAAO,CAAC,aAAa;IA4DrB;;;OAGG;IACH,OAAO,CAAC,UAAU;IA8ClB;;;OAGG;IACH,OAAO,CAAC,WAAW;IA6CnB;;;OAGG;IACH,OAAO,CAAC,QAAQ;IAKhB;;;OAGG;IACH,OAAO,CAAC,aAAa;IAQrB;;;OAGG;IACH,OAAO,CAAC,eAAe;IAqBvB;;;OAGG;IACH,OAAO,CAAC,uBAAuB;IAc/B;;;;;;;OAOG;IACH,OAAO,CAAC,kBAAkB;CAyB3B"}
package/dist/bridge.js CHANGED
@@ -13,6 +13,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
13
13
  };
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
15
  exports.BridgeServer = void 0;
16
+ const node_http_1 = __importDefault(require("node:http"));
16
17
  const ws_1 = require("ws");
17
18
  const uuid_1 = require("uuid");
18
19
  const eventemitter3_1 = __importDefault(require("eventemitter3"));
@@ -21,6 +22,32 @@ const DEFAULT_PORT = 8787;
21
22
  const DEFAULT_HOST = '0.0.0.0';
22
23
  const DEFAULT_MAX_CONNECTIONS = 1000;
23
24
  const DEFAULT_PING_INTERVAL_MS = 30_000;
25
+ const GRACEFUL_SHUTDOWN_TIMEOUT_MS = 10_000;
26
+ // ─── Environment-driven config helpers ────────────────────────────────────────
27
+ /**
28
+ * Build a BridgeServerConfig by merging explicit values with environment
29
+ * variables. Env vars use the `BRIDGE_` prefix:
30
+ *
31
+ * BRIDGE_PORT, BRIDGE_HOST, BRIDGE_MAX_CONNECTIONS, BRIDGE_PING_INTERVAL_MS,
32
+ * BRIDGE_AUTH_TOKENS (comma-separated), BRIDGE_PATH,
33
+ * BRIDGE_HEALTH_PORT (separate HTTP port for /health, defaults to BRIDGE_PORT + 1)
34
+ */
35
+ function resolveConfig(explicit = {}) {
36
+ const env = process.env;
37
+ return {
38
+ port: explicit.port ?? (env.BRIDGE_PORT ? Number(env.BRIDGE_PORT) : DEFAULT_PORT),
39
+ host: explicit.host ?? env.BRIDGE_HOST ?? DEFAULT_HOST,
40
+ maxConnections: explicit.maxConnections ??
41
+ (env.BRIDGE_MAX_CONNECTIONS ? Number(env.BRIDGE_MAX_CONNECTIONS) : DEFAULT_MAX_CONNECTIONS),
42
+ pingIntervalMs: explicit.pingIntervalMs ??
43
+ (env.BRIDGE_PING_INTERVAL_MS ? Number(env.BRIDGE_PING_INTERVAL_MS) : DEFAULT_PING_INTERVAL_MS),
44
+ authTokens: explicit.authTokens ??
45
+ (env.BRIDGE_AUTH_TOKENS ? env.BRIDGE_AUTH_TOKENS.split(',').map(t => t.trim()).filter(Boolean) : []),
46
+ path: explicit.path ?? env.BRIDGE_PATH ?? '/',
47
+ healthPort: explicit.healthPort ??
48
+ (env.BRIDGE_HEALTH_PORT ? Number(env.BRIDGE_HEALTH_PORT) : (explicit.port ?? (env.BRIDGE_PORT ? Number(env.BRIDGE_PORT) : DEFAULT_PORT)) + 1),
49
+ };
50
+ }
24
51
  // ─── BridgeServer ─────────────────────────────────────────────────────────────
25
52
  /**
26
53
  * The ClawSwarm bridge server.
@@ -43,22 +70,19 @@ const DEFAULT_PING_INTERVAL_MS = 30_000;
43
70
  class BridgeServer extends eventemitter3_1.default {
44
71
  config;
45
72
  wss = null;
73
+ httpServer = null;
46
74
  clients = new Map();
47
75
  pingTimer = null;
76
+ _shuttingDown = false;
77
+ _signalHandlers = [];
48
78
  constructor(config = {}) {
49
79
  super();
50
- this.config = {
51
- port: config.port ?? DEFAULT_PORT,
52
- host: config.host ?? DEFAULT_HOST,
53
- maxConnections: config.maxConnections ?? DEFAULT_MAX_CONNECTIONS,
54
- pingIntervalMs: config.pingIntervalMs ?? DEFAULT_PING_INTERVAL_MS,
55
- authTokens: config.authTokens ?? [],
56
- path: config.path ?? '/',
57
- };
80
+ this.config = resolveConfig(config);
58
81
  }
59
82
  // ─── Public API ───────────────────────────────────────────────────────────
60
83
  /**
61
- * Start the WebSocket server.
84
+ * Start the WebSocket server and HTTP health endpoint.
85
+ * Also registers SIGTERM/SIGINT handlers for graceful shutdown.
62
86
  * Returns a promise that resolves once the server is listening.
63
87
  */
64
88
  async start() {
@@ -77,29 +101,75 @@ class BridgeServer extends eventemitter3_1.default {
77
101
  });
78
102
  this.wss.on('listening', () => {
79
103
  this._startPingTimer();
104
+ this._registerSignalHandlers();
105
+ this._startHealthServer();
80
106
  this.emit('listening', this.config.port, this.config.host);
81
107
  resolve();
82
108
  });
83
109
  });
84
110
  }
85
111
  /**
86
- * Stop the WebSocket server and disconnect all clients.
112
+ * Gracefully stop the WebSocket server.
113
+ *
114
+ * 1. Stops accepting new connections.
115
+ * 2. Sends close frames to every connected client and waits for them
116
+ * to drain (up to GRACEFUL_SHUTDOWN_TIMEOUT_MS).
117
+ * 3. Forcefully terminates any remaining sockets.
118
+ * 4. Cleans up timers and the health HTTP server.
87
119
  */
88
120
  async stop() {
89
- if (!this.wss)
121
+ if (!this.wss || this._shuttingDown)
90
122
  return;
123
+ this._shuttingDown = true;
124
+ // Stop ping timer
91
125
  if (this.pingTimer) {
92
126
  clearInterval(this.pingTimer);
93
127
  this.pingTimer = null;
94
128
  }
95
- // Close all client connections
96
- for (const [id, { socket }] of this.clients) {
97
- socket.close(1001, 'Server shutting down');
98
- this.clients.delete(id);
129
+ // Unregister signal handlers so we don't double-fire
130
+ for (const { signal, handler } of this._signalHandlers) {
131
+ process.removeListener(signal, handler);
132
+ }
133
+ this._signalHandlers = [];
134
+ // Send close frames to all clients
135
+ const closePromises = [];
136
+ for (const [_id, { socket }] of this.clients) {
137
+ closePromises.push(new Promise((res) => {
138
+ const onClose = () => res();
139
+ socket.once('close', onClose);
140
+ try {
141
+ socket.close(1001, 'Server shutting down');
142
+ }
143
+ catch {
144
+ res();
145
+ }
146
+ }));
147
+ }
148
+ // Wait for clients to close or timeout
149
+ await Promise.race([
150
+ Promise.allSettled(closePromises),
151
+ new Promise((r) => setTimeout(r, GRACEFUL_SHUTDOWN_TIMEOUT_MS)),
152
+ ]);
153
+ // Force-terminate any lingering sockets
154
+ for (const [_id, { socket }] of this.clients) {
155
+ try {
156
+ socket.terminate();
157
+ }
158
+ catch {
159
+ // already gone
160
+ }
99
161
  }
100
- return new Promise((resolve) => {
162
+ this.clients.clear();
163
+ // Close health HTTP server
164
+ if (this.httpServer) {
165
+ await new Promise((res) => this.httpServer.close(() => res()));
166
+ this.httpServer = null;
167
+ }
168
+ // Close WSS
169
+ await new Promise((resolve) => {
101
170
  this.wss.close(() => {
102
171
  this.wss = null;
172
+ this._shuttingDown = false;
103
173
  resolve();
104
174
  });
105
175
  });
@@ -141,8 +211,13 @@ class BridgeServer extends eventemitter3_1.default {
141
211
  continue;
142
212
  if (!client.authenticated)
143
213
  continue;
144
- socket.send(JSON.stringify(message));
145
- count++;
214
+ try {
215
+ socket.send(JSON.stringify(message));
216
+ count++;
217
+ }
218
+ catch {
219
+ // Skip failed sends silently — the client will be cleaned up on close/error
220
+ }
146
221
  }
147
222
  return count;
148
223
  }
@@ -170,6 +245,11 @@ class BridgeServer extends eventemitter3_1.default {
170
245
  * @internal
171
246
  */
172
247
  _onConnection(socket, _req) {
248
+ // Reject new connections during shutdown
249
+ if (this._shuttingDown) {
250
+ socket.close(1001, 'Server shutting down');
251
+ return;
252
+ }
173
253
  if (this.clients.size >= this.config.maxConnections) {
174
254
  socket.close(1013, 'Server at capacity');
175
255
  return;
@@ -185,9 +265,35 @@ class BridgeServer extends eventemitter3_1.default {
185
265
  };
186
266
  this.clients.set(clientId, { client, socket });
187
267
  this.emit('client:connected', client);
188
- socket.on('message', (data) => this._onMessage(clientId, data));
189
- socket.on('close', (code, reason) => this._onClose(clientId, code, reason.toString()));
190
- socket.on('error', (err) => this.emit('error', err));
268
+ socket.on('message', (data) => {
269
+ try {
270
+ this._onMessage(clientId, data);
271
+ }
272
+ catch (err) {
273
+ this.emit('error', err instanceof Error ? err : new Error(String(err)));
274
+ this.send(clientId, this._errorMessage('INTERNAL_ERROR', 'Unexpected error processing message'));
275
+ }
276
+ });
277
+ socket.on('close', (code, reason) => {
278
+ try {
279
+ this._onClose(clientId, code, reason.toString());
280
+ }
281
+ catch {
282
+ // Ensure close never throws
283
+ this.clients.delete(clientId);
284
+ }
285
+ });
286
+ socket.on('error', (err) => {
287
+ this.emit('error', err);
288
+ // Clean up on socket error to prevent leaks
289
+ try {
290
+ socket.terminate();
291
+ }
292
+ catch {
293
+ // ignore
294
+ }
295
+ this.clients.delete(clientId);
296
+ });
191
297
  socket.on('pong', () => {
192
298
  const entry = this.clients.get(clientId);
193
299
  if (entry)
@@ -202,14 +308,25 @@ class BridgeServer extends eventemitter3_1.default {
202
308
  const entry = this.clients.get(clientId);
203
309
  if (!entry)
204
310
  return;
311
+ // Guard against oversized messages (1 MB limit)
312
+ const raw = data.toString();
313
+ if (raw.length > 1_048_576) {
314
+ this.send(clientId, this._errorMessage('MESSAGE_TOO_LARGE', 'Message exceeds 1 MB limit'));
315
+ return;
316
+ }
205
317
  let message;
206
318
  try {
207
- message = JSON.parse(data.toString());
319
+ message = JSON.parse(raw);
208
320
  }
209
321
  catch {
210
322
  this.send(clientId, this._errorMessage('PARSE_ERROR', 'Invalid JSON'));
211
323
  return;
212
324
  }
325
+ // Validate message shape
326
+ if (!message || typeof message.type !== 'string') {
327
+ this.send(clientId, this._errorMessage('INVALID_MESSAGE', 'Missing or invalid "type" field'));
328
+ return;
329
+ }
213
330
  // Handle auth message
214
331
  if (message.type === 'auth') {
215
332
  this._handleAuth(clientId, message.payload);
@@ -235,7 +352,20 @@ class BridgeServer extends eventemitter3_1.default {
235
352
  const entry = this.clients.get(clientId);
236
353
  if (!entry)
237
354
  return;
355
+ // Validate auth payload shape
356
+ if (!payload || typeof payload.token !== 'string' || typeof payload.orgId !== 'string' || typeof payload.role !== 'string') {
357
+ this.send(clientId, this._errorMessage('INVALID_AUTH', 'Auth payload must include token, orgId, and role'));
358
+ entry.socket.close(1008, 'Invalid auth payload');
359
+ return;
360
+ }
238
361
  const { token, orgId, role, metadata } = payload;
362
+ // Validate role
363
+ const validRoles = ['agent', 'dashboard', 'external'];
364
+ if (!validRoles.includes(role)) {
365
+ this.send(clientId, this._errorMessage('INVALID_ROLE', `Role must be one of: ${validRoles.join(', ')}`));
366
+ entry.socket.close(1008, 'Invalid role');
367
+ return;
368
+ }
239
369
  // Validate token if auth is configured
240
370
  if (this.config.authTokens.length > 0 &&
241
371
  !this.config.authTokens.includes(token)) {
@@ -282,7 +412,17 @@ class BridgeServer extends eventemitter3_1.default {
282
412
  const now = new Date().toISOString();
283
413
  for (const [id, { socket, client }] of this.clients) {
284
414
  if (socket.readyState === ws_1.WebSocket.OPEN) {
285
- socket.ping();
415
+ try {
416
+ socket.ping();
417
+ }
418
+ catch {
419
+ // Ping failed — clean up
420
+ this.clients.delete(id);
421
+ try {
422
+ socket.terminate();
423
+ }
424
+ catch { /* noop */ }
425
+ }
286
426
  client.lastPingAt = now;
287
427
  }
288
428
  else {
@@ -292,6 +432,55 @@ class BridgeServer extends eventemitter3_1.default {
292
432
  }
293
433
  }, this.config.pingIntervalMs);
294
434
  }
435
+ /**
436
+ * Register SIGTERM/SIGINT handlers for graceful shutdown.
437
+ * @internal
438
+ */
439
+ _registerSignalHandlers() {
440
+ const handle = (signal) => {
441
+ const handler = () => {
442
+ this.stop().catch((err) => {
443
+ this.emit('error', err instanceof Error ? err : new Error(String(err)));
444
+ });
445
+ };
446
+ process.on(signal, handler);
447
+ this._signalHandlers.push({ signal, handler });
448
+ };
449
+ handle('SIGTERM');
450
+ handle('SIGINT');
451
+ }
452
+ /**
453
+ * Start a lightweight HTTP server for /health checks.
454
+ *
455
+ * By default it uses the WS port + 1, but can be overridden via
456
+ * `healthPort` config or `BRIDGE_HEALTH_PORT` env var.
457
+ *
458
+ * @internal
459
+ */
460
+ _startHealthServer() {
461
+ const port = this.config.healthPort ?? this.config.port + 1;
462
+ this.httpServer = node_http_1.default.createServer((req, res) => {
463
+ if (req.method === 'GET' && (req.url === '/health' || req.url === '/healthz')) {
464
+ const s = this.stats();
465
+ res.writeHead(200, { 'Content-Type': 'application/json' });
466
+ res.end(JSON.stringify({
467
+ status: 'ok',
468
+ connections: s.connections,
469
+ orgs: s.orgs,
470
+ uptime: s.uptime,
471
+ }));
472
+ }
473
+ else {
474
+ res.writeHead(404);
475
+ res.end('Not found');
476
+ }
477
+ });
478
+ this.httpServer.on('error', (err) => {
479
+ // Non-fatal: log but don't crash
480
+ this.emit('error', err);
481
+ });
482
+ this.httpServer.listen(port, this.config.host);
483
+ }
295
484
  }
296
485
  exports.BridgeServer = BridgeServer;
297
486
  //# sourceMappingURL=bridge.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"bridge.js","sourceRoot":"","sources":["../src/bridge.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bridge.js","sourceRoot":"","sources":["../src/bridge.ts"],"names":[],"mappings":"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"}
package/dist/router.d.ts CHANGED
@@ -77,6 +77,12 @@ export declare class TaskRouter {
77
77
  * Build a typed bridge message.
78
78
  * @internal
79
79
  */
80
+ /**
81
+ * Safely route — wraps broadcast so a single send failure doesn't
82
+ * propagate up to the caller.
83
+ * @internal
84
+ */
85
+ private _safeBroadcast;
80
86
  private _buildMessage;
81
87
  }
82
88
  interface RouteRule {
@@ -1 +1 @@
1
- {"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../src/router.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAI1E;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBAAa,UAAU;IACrB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAe;IACtC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAqC;gBAE/C,MAAM,EAAE,YAAY;IAMhC;;;;;;;OAOG;IACH,cAAc,CACZ,IAAI,EAAE,iBAAiB,EACvB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,MAAM,GACZ,MAAM;IAQT;;;;;;OAMG;IACH,cAAc,CACZ,IAAI,EAAE,iBAAiB,EACvB,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,MAAM,GACZ,MAAM;IAQT;;OAEG;IACH,gBAAgB,CACd,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,EAC7C,KAAK,EAAE,MAAM,EACb,aAAa,CAAC,EAAE,MAAM,GACrB,MAAM;IAQT;;OAEG;IACH,SAAS,CACP,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,aAAa,EACtB,KAAK,CAAC,EAAE,UAAU,EAAE,GACnB,MAAM;IAIT;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,GAAG,IAAI;IAI1C;;OAEG;IACH,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAI/B;;;OAGG;IACH,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,GAAG,MAAM;IAoBpD;;;OAGG;IACH,OAAO,CAAC,aAAa;CAYtB;AAID,UAAU,SAAS;IACjB,WAAW,EAAE,iBAAiB,GAAG,GAAG,CAAC;IACrC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,KAAK,CAAC,EAAE,UAAU,EAAE,CAAC;CACtB"}
1
+ {"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../src/router.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAI1E;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBAAa,UAAU;IACrB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAe;IACtC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAqC;gBAE/C,MAAM,EAAE,YAAY;IAMhC;;;;;;;OAOG;IACH,cAAc,CACZ,IAAI,EAAE,iBAAiB,EACvB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,MAAM,GACZ,MAAM;IAQT;;;;;;OAMG;IACH,cAAc,CACZ,IAAI,EAAE,iBAAiB,EACvB,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,MAAM,GACZ,MAAM;IAQT;;OAEG;IACH,gBAAgB,CACd,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,EAC7C,KAAK,EAAE,MAAM,EACb,aAAa,CAAC,EAAE,MAAM,GACrB,MAAM;IAQT;;OAEG;IACH,SAAS,CACP,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,aAAa,EACtB,KAAK,CAAC,EAAE,UAAU,EAAE,GACnB,MAAM;IAIT;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,GAAG,IAAI;IAI1C;;OAEG;IACH,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAI/B;;;OAGG;IACH,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,GAAG,MAAM;IAoBpD;;;OAGG;IACH;;;;OAIG;IACH,OAAO,CAAC,cAAc;IAYtB,OAAO,CAAC,aAAa;CAYtB;AAID,UAAU,SAAS;IACjB,WAAW,EAAE,iBAAiB,GAAG,GAAG,CAAC;IACrC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,KAAK,CAAC,EAAE,UAAU,EAAE,CAAC;CACtB"}
package/dist/router.js CHANGED
@@ -109,6 +109,19 @@ class TaskRouter {
109
109
  * Build a typed bridge message.
110
110
  * @internal
111
111
  */
112
+ /**
113
+ * Safely route — wraps broadcast so a single send failure doesn't
114
+ * propagate up to the caller.
115
+ * @internal
116
+ */
117
+ _safeBroadcast(orgId, message, roles) {
118
+ try {
119
+ return this.bridge.broadcast(orgId, message, roles);
120
+ }
121
+ catch {
122
+ return 0;
123
+ }
124
+ }
112
125
  _buildMessage(type, orgId, payload) {
113
126
  return {
114
127
  type,
@@ -1 +1 @@
1
- {"version":3,"file":"router.js","sourceRoot":"","sources":["../src/router.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"router.js","sourceRoot":"","sources":["../src/router.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -79,6 +79,8 @@ export interface BridgeServerConfig {
79
79
  authTokens?: string[];
80
80
  /** Path prefix for WebSocket endpoint (default: '/') */
81
81
  path?: string;
82
+ /** Port for the HTTP health endpoint (default: port + 1, or BRIDGE_HEALTH_PORT env) */
83
+ healthPort?: number;
82
84
  }
83
85
  /** Events emitted by BridgeServer */
84
86
  export interface BridgeServerEvents {
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@clawswarm/bridge",
3
- "version": "0.1.0-alpha",
3
+ "version": "0.2.0-alpha",
4
4
  "description": "WebSocket bridge server for ClawSwarm — real-time agent communication and org-scoped task routing",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -35,7 +35,7 @@
35
35
  "test:watch": "vitest"
36
36
  },
37
37
  "dependencies": {
38
- "@clawswarm/core": "0.1.0-alpha",
38
+ "@clawswarm/core": "0.2.0-alpha",
39
39
  "eventemitter3": "^5.0.0",
40
40
  "ws": "^8.16.0",
41
41
  "uuid": "^9.0.0"
@@ -60,5 +60,18 @@
60
60
  "type": "git",
61
61
  "url": "git+https://github.com/trietphan/clawswarm.git",
62
62
  "directory": "packages/bridge"
63
+ },
64
+ "author": "Triet Phan <hello@agentawake.com>",
65
+ "homepage": "https://github.com/trietphan/clawswarm/tree/main/packages/bridge#readme",
66
+ "engines": {
67
+ "node": ">=18.0.0"
68
+ },
69
+ "files": [
70
+ "dist/",
71
+ "README.md",
72
+ "LICENSE"
73
+ ],
74
+ "publishConfig": {
75
+ "access": "public"
63
76
  }
64
77
  }