@essentialai/cogent-bridge 3.1.2 → 3.1.4

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/CHANGELOG.md CHANGED
@@ -1,5 +1,18 @@
1
1
  # Changelog
2
2
 
3
+ ## [3.1.4] - 2026-05-04
4
+
5
+ ### Fixed
6
+ - **False-offline reports during active dialogue (root cause).** `AutoRelayService.handleIncoming()` returned without emitting a `delivery_ack` whenever an inbound message resolved a pending `responseWaiters` entry. When two peers were mutually awaiting responses (the normal pattern in active conversation), their cross-delivered messages each consumed the recipient's waiter and skipped the ack. The sender's 15-second ack-wait then timed out, and `cogent_send_message` reported the recipient as offline — even though both peers were connected and the message had been delivered. The ack call is now hoisted to the top of `handleIncoming()` so every accepted frame produces an ack regardless of subsequent routing.
7
+ - **Send-message supersession returning a placeholder string.** Calling `waitForResponse()` for the same peer twice (two in-flight `cogent_send_message` calls) used to resolve the first waiter with the literal string `"Superseded by newer send_message call"`, which was then surfaced to the LLM as the peer's response. Replaced single-slot waiter Map with a FIFO queue per peer: each in-flight send gets its own waiter, inbound messages from that peer resolve waiters in send order, and `_cancelWaiter()` now rejects with a clear error instead of fabricating a fake response.
8
+ - **Misleading timeout copy in `cogent_send_message`.** The 15-second ack-timeout error said `"appears offline. Check cogent_get_history for their reply"` and the 5-minute response timeout said `"Processing timed out -- check cogent_get_history"`. Both prompted the LLM to rationalise the timeout as the peer being offline. The error text now reports the relay's actual `lastSeenAt` for the peer and explicitly mentions that a reply may have arrived as a fresh `cogent_send_message` rather than the synchronous response pattern.
9
+
10
+ ### Added
11
+ - New regression tests in `src/services/auto-relay.test.ts`:
12
+ - FIFO waiter queue: two send-messages to the same peer each get their own response in send order.
13
+ - Supersession placeholder: `"Superseded by newer send_message call"` no longer leaks to callers.
14
+ - Delivery-ack-on-waiter-resolution: messages that resolve an active waiter still produce an ack frame.
15
+
3
16
  ## [3.0.6] - 2026-03-21
4
17
 
5
18
  ### Fixed
@@ -69,6 +69,7 @@ export declare class CloudWsClient {
69
69
  private pingTimer;
70
70
  private lastMessageId;
71
71
  private lastWsError;
72
+ private connectionGeneration;
72
73
  private opts;
73
74
  constructor(options: CloudWsClientOptions);
74
75
  /**
@@ -122,5 +123,7 @@ export declare class CloudWsClient {
122
123
  private startPolling;
123
124
  private stopPolling;
124
125
  private clearTimers;
126
+ private clearReconnectTimer;
127
+ private clearPingTimer;
125
128
  }
126
129
  //# sourceMappingURL=ws-client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ws-client.d.ts","sourceRoot":"","sources":["../../src/cloud/ws-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ws-client.d.ts","sourceRoot":"","sources":["../../src/cloud/ws-client.ts"],"names":[],"mappings":"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"}
@@ -22,6 +22,7 @@ export class CloudWsClient {
22
22
  pingTimer = null;
23
23
  lastMessageId = null;
24
24
  lastWsError = null;
25
+ connectionGeneration = 0;
25
26
  opts;
26
27
  constructor(options) {
27
28
  this.opts = {
@@ -40,6 +41,9 @@ export class CloudWsClient {
40
41
  return;
41
42
  }
42
43
  this.lastWsError = null;
44
+ this.clearReconnectTimer();
45
+ this.clearPingTimer();
46
+ const generation = ++this.connectionGeneration;
43
47
  this.setState("connecting");
44
48
  // Build WS URL: http->ws, https->wss
45
49
  const wsUrl = this.opts.endpoint
@@ -57,18 +61,24 @@ export class CloudWsClient {
57
61
  });
58
62
  this.ws = ws;
59
63
  ws.on("open", () => {
64
+ if (generation !== this.connectionGeneration || this.ws !== ws)
65
+ return;
60
66
  this.setState("connected");
61
67
  this.backoff.reset();
62
68
  this.stopPolling();
63
69
  // Send WS ping frames every 30s to keep the connection alive
64
70
  // through nginx proxy_read_timeout (prevents idle disconnect)
71
+ this.clearPingTimer();
65
72
  this.pingTimer = setInterval(() => {
66
73
  if (this.ws?.readyState === WebSocket.OPEN) {
67
74
  this.ws.ping();
68
75
  }
69
76
  }, 30_000);
77
+ this.pingTimer.unref?.();
70
78
  });
71
79
  ws.on("message", (data) => {
80
+ if (generation !== this.connectionGeneration || this.ws !== ws)
81
+ return;
72
82
  try {
73
83
  const frame = JSON.parse(data.toString());
74
84
  this.dispatchFrame(frame);
@@ -78,7 +88,10 @@ export class CloudWsClient {
78
88
  }
79
89
  });
80
90
  ws.on("close", (code, _reason) => {
91
+ if (generation !== this.connectionGeneration || this.ws !== ws)
92
+ return;
81
93
  this.ws = null;
94
+ this.clearPingTimer();
82
95
  // Check if the close was caused by a peer eviction (server returned 404
83
96
  // on WS upgrade because peer was removed by stale cleanup). The ws library
84
97
  // fires error with the HTTP status before close with code 1006.
@@ -101,13 +114,17 @@ export class CloudWsClient {
101
114
  // Create a fresh backoff with 5s base for graceful restarts
102
115
  const restartBackoff = new ExponentialBackoff(5000);
103
116
  const delay = restartBackoff.next();
117
+ this.clearReconnectTimer();
104
118
  this.reconnectTimer = setTimeout(() => this.connect(), delay);
119
+ this.reconnectTimer.unref?.();
105
120
  }
106
121
  else {
107
122
  this.scheduleReconnect();
108
123
  }
109
124
  });
110
125
  ws.on("error", (err) => {
126
+ if (generation !== this.connectionGeneration || this.ws !== ws)
127
+ return;
111
128
  this.lastWsError = err.message;
112
129
  logger.error(`CloudWsClient: WebSocket error: ${err.message}`);
113
130
  // Don't change state here -- the "close" event follows and handles it
@@ -117,13 +134,15 @@ export class CloudWsClient {
117
134
  * Disconnect from the WebSocket and stop all timers.
118
135
  */
119
136
  disconnect() {
137
+ this.connectionGeneration++;
120
138
  this.clearTimers();
121
- if (this.ws &&
122
- (this.ws.readyState === WebSocket.OPEN ||
123
- this.ws.readyState === WebSocket.CONNECTING)) {
124
- this.ws.close(WsCloseCode.NORMAL_CLOSURE);
125
- }
139
+ const ws = this.ws;
126
140
  this.ws = null;
141
+ if (ws &&
142
+ (ws.readyState === WebSocket.OPEN ||
143
+ ws.readyState === WebSocket.CONNECTING)) {
144
+ ws.close(WsCloseCode.NORMAL_CLOSURE);
145
+ }
127
146
  this.setState("disconnected");
128
147
  }
129
148
  /**
@@ -239,9 +258,11 @@ export class CloudWsClient {
239
258
  }
240
259
  }
241
260
  scheduleReconnect() {
261
+ this.clearReconnectTimer();
242
262
  this.setState("reconnecting");
243
263
  const delay = this.backoff.next();
244
264
  this.reconnectTimer = setTimeout(() => this.connect(), delay);
265
+ this.reconnectTimer.unref?.();
245
266
  }
246
267
  startPolling() {
247
268
  if (this.pollTimer)
@@ -269,6 +290,7 @@ export class CloudWsClient {
269
290
  // Poll immediately, then at interval
270
291
  void poll();
271
292
  this.pollTimer = setInterval(() => void poll(), this.opts.pollIntervalMs);
293
+ this.pollTimer.unref?.();
272
294
  }
273
295
  stopPolling() {
274
296
  if (this.pollTimer) {
@@ -277,15 +299,21 @@ export class CloudWsClient {
277
299
  }
278
300
  }
279
301
  clearTimers() {
302
+ this.clearReconnectTimer();
303
+ this.clearPingTimer();
304
+ this.stopPolling();
305
+ }
306
+ clearReconnectTimer() {
280
307
  if (this.reconnectTimer) {
281
308
  clearTimeout(this.reconnectTimer);
282
309
  this.reconnectTimer = null;
283
310
  }
311
+ }
312
+ clearPingTimer() {
284
313
  if (this.pingTimer) {
285
314
  clearInterval(this.pingTimer);
286
315
  this.pingTimer = null;
287
316
  }
288
- this.stopPolling();
289
317
  }
290
318
  }
291
319
  //# sourceMappingURL=ws-client.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ws-client.js","sourceRoot":"","sources":["../../src/cloud/ws-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ws-client.js","sourceRoot":"","sources":["../../src/cloud/ws-client.ts"],"names":[],"mappings":"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"}
@@ -55,13 +55,32 @@ export declare class AutoRelayService {
55
55
  * (preventing infinite auto-relay loops).
56
56
  */
57
57
  waitForResponse(fromPeerId: string, timeoutMs: number): Promise<string>;
58
+ /**
59
+ * Resolve the oldest pending waiter for `fromPeerId` with the given message.
60
+ * Returns true if a waiter was found and resolved, false otherwise.
61
+ */
62
+ private _popAndResolveWaiter;
58
63
  /**
59
64
  * Clear the expectation for a peer and cancel any pending waiter.
60
65
  */
61
66
  clearExpectation(fromPeerId: string): void;
62
67
  /**
63
- * Cancel a pending response waiter for a peer.
64
- * Rejects the old promise so callers awaiting it don't hang forever.
68
+ * Cancel only the active response waiter for a peer while keeping the
69
+ * expectation marker. Used when send-message returns early but a late
70
+ * response should still be treated as inject-only.
71
+ */
72
+ cancelResponseWaiter(fromPeerId: string): void;
73
+ /**
74
+ * Cancel only the active delivery ack waiter for a peer.
75
+ */
76
+ cancelDeliveryAckWaiter(fromPeerId: string): void;
77
+ /**
78
+ * Cancel ALL pending response waiters for a peer by rejecting them with
79
+ * a clear error. Used by clearExpectation()/cancelResponseWaiter() to
80
+ * unblock callers without lying to them. The previous behaviour resolved
81
+ * waiters with the literal string "Superseded by newer send_message call",
82
+ * which was then returned as the peer's "response" -- a confusing and
83
+ * easily misinterpreted artifact.
65
84
  */
66
85
  private _cancelWaiter;
67
86
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"auto-relay.d.ts","sourceRoot":"","sources":["../../src/services/auto-relay.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAqD5C,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,WAAW,CAAuB;IAC1C,OAAO,CAAC,cAAc,CAAuB;IAC7C,OAAO,CAAC,QAAQ,CAAuB;IACvC,OAAO,CAAC,UAAU,CAAkB;IACpC,OAAO,CAAC,KAAK,CAAuB;IACpC,OAAO,CAAC,qBAAqB,CAA0B;IACvD,OAAO,CAAC,eAAe,CAGR;IACf,OAAO,CAAC,kBAAkB,CAGX;IACf,OAAO,CAAC,iBAAiB,CAAoF;IAE7G;;;OAGG;IACH,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI;IAOlE;;;OAGG;IACH,YAAY,IAAI;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAWzE;;;;OAIG;IACG,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;IASvC;;;OAGG;IACH,kBAAkB,CAAC,EAAE,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI;IAI/F;;;;;OAKG;IACH,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAKxC;;;;;;;;;;;;OAYG;IACH,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAiBvE;;OAEG;IACH,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAK1C;;;OAGG;IACH,OAAO,CAAC,aAAa;IASrB;;;;OAIG;IACH,kBAAkB,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAaxE;;;OAGG;IACH,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAU5C;;;OAGG;IACH,OAAO,CAAC,wBAAwB;IAShC;;;;;;;;;;OAUG;IACG,cAAc,CAAC,GAAG,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IA+EvD;;OAEG;YACW,eAAe;IAyF7B;;;OAGG;YACW,WAAW;IAmCzB;;;OAGG;IACH,cAAc,IAAI;QAChB,UAAU,EAAE,OAAO,CAAC;QACpB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;QAC3B,UAAU,EAAE,OAAO,CAAC;QACpB,WAAW,EAAE,MAAM,CAAC;QACpB,qBAAqB,EAAE,MAAM,EAAE,CAAC;QAChC,aAAa,EAAE,MAAM,EAAE,CAAC;QACxB,wBAAwB,EAAE,MAAM,EAAE,CAAC;KACpC;IAYD;;OAEG;IACH,IAAI,IAAI,IAAI;CAwBb;AAED,0DAA0D;AAC1D,eAAO,MAAM,SAAS,kBAAyB,CAAC"}
1
+ {"version":3,"file":"auto-relay.d.ts","sourceRoot":"","sources":["../../src/services/auto-relay.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAqD5C,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,WAAW,CAAuB;IAC1C,OAAO,CAAC,cAAc,CAAuB;IAC7C,OAAO,CAAC,QAAQ,CAAuB;IACvC,OAAO,CAAC,UAAU,CAAkB;IACpC,OAAO,CAAC,KAAK,CAAuB;IACpC,OAAO,CAAC,qBAAqB,CAA0B;IAOvD,OAAO,CAAC,eAAe,CAIP;IAChB,OAAO,CAAC,kBAAkB,CAGX;IACf,OAAO,CAAC,iBAAiB,CAAoF;IAE7G;;;OAGG;IACH,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI;IAOlE;;;OAGG;IACH,YAAY,IAAI;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAWzE;;;;OAIG;IACG,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;IASvC;;;OAGG;IACH,kBAAkB,CAAC,EAAE,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI;IAI/F;;;;;OAKG;IACH,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAKxC;;;;;;;;;;;;OAYG;IACH,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAkCvE;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IAU5B;;OAEG;IACH,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAM1C;;;;OAIG;IACH,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAI9C;;OAEG;IACH,uBAAuB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAIjD;;;;;;;OAOG;IACH,OAAO,CAAC,aAAa;IAUrB;;;;OAIG;IACH,kBAAkB,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAaxE;;;OAGG;IACH,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAU5C;;;OAGG;IACH,OAAO,CAAC,wBAAwB;IAShC;;;;;;;;;;OAUG;IACG,cAAc,CAAC,GAAG,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAqFvD;;OAEG;YACW,eAAe;IAyF7B;;;OAGG;YACW,WAAW;IAmCzB;;;OAGG;IACH,cAAc,IAAI;QAChB,UAAU,EAAE,OAAO,CAAC;QACpB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;QAC3B,UAAU,EAAE,OAAO,CAAC;QACpB,WAAW,EAAE,MAAM,CAAC;QACpB,qBAAqB,EAAE,MAAM,EAAE,CAAC;QAChC,aAAa,EAAE,MAAM,EAAE,CAAC;QACxB,wBAAwB,EAAE,MAAM,EAAE,CAAC;KACpC;IAYD;;OAEG;IACH,IAAI,IAAI,IAAI;CA4Bb;AAED,0DAA0D;AAC1D,eAAO,MAAM,SAAS,kBAAyB,CAAC"}
@@ -42,6 +42,12 @@ export class AutoRelayService {
42
42
  processing = false;
43
43
  queue = [];
44
44
  expectingResponseFrom = new Set();
45
+ // FIFO queue of waiters per peer. Multiple in-flight send-messages to the
46
+ // same peer each get their own waiter; inbound messages from that peer
47
+ // resolve waiters in send order. The previous single-waiter design caused
48
+ // the second send to overwrite the first waiter with a placeholder string,
49
+ // so the first send-message tool call returned literal "Superseded by
50
+ // newer send_message call" instead of the actual peer response.
45
51
  responseWaiters = new Map();
46
52
  deliveryAckWaiters = new Map();
47
53
  sendDeliveryAckFn = null;
@@ -115,35 +121,84 @@ export class AutoRelayService {
115
121
  */
116
122
  waitForResponse(fromPeerId, timeoutMs) {
117
123
  return new Promise((resolve, reject) => {
118
- // Clean up any existing waiter for this peer
119
- this._cancelWaiter(fromPeerId);
120
- const timer = setTimeout(() => {
121
- this.responseWaiters.delete(fromPeerId);
122
- // Keep expectingResponseFrom so late responses get inject-only treatment
124
+ const waiter = { resolve, reject, timer: undefined };
125
+ waiter.timer = setTimeout(() => {
126
+ // Remove this specific waiter from the FIFO queue (it may not be the
127
+ // head if other waiters were enqueued after it). Keep
128
+ // expectingResponseFrom set if other waiters remain.
129
+ const queue = this.responseWaiters.get(fromPeerId);
130
+ if (queue) {
131
+ const idx = queue.indexOf(waiter);
132
+ if (idx >= 0)
133
+ queue.splice(idx, 1);
134
+ if (queue.length === 0)
135
+ this.responseWaiters.delete(fromPeerId);
136
+ }
137
+ // Keep expectingResponseFrom so late responses still get inject-only
138
+ // treatment (preventing infinite auto-relay loops).
123
139
  reject(new Error(`Response timeout from ${fromPeerId} after ${timeoutMs}ms`));
124
140
  }, timeoutMs);
125
- this.responseWaiters.set(fromPeerId, { resolve, timer });
141
+ // Append to FIFO queue (do NOT cancel previous waiters)
142
+ const queue = this.responseWaiters.get(fromPeerId) ?? [];
143
+ queue.push(waiter);
144
+ this.responseWaiters.set(fromPeerId, queue);
126
145
  this.expectingResponseFrom.add(fromPeerId);
127
- logger.debug(`Auto-relay: waiting for response from ${fromPeerId} (timeout: ${timeoutMs}ms)`);
146
+ logger.debug(`Auto-relay: waiting for response from ${fromPeerId} (timeout: ${timeoutMs}ms, queue depth: ${queue.length})`);
128
147
  });
129
148
  }
149
+ /**
150
+ * Resolve the oldest pending waiter for `fromPeerId` with the given message.
151
+ * Returns true if a waiter was found and resolved, false otherwise.
152
+ */
153
+ _popAndResolveWaiter(fromPeerId, message) {
154
+ const queue = this.responseWaiters.get(fromPeerId);
155
+ if (!queue || queue.length === 0)
156
+ return false;
157
+ const waiter = queue.shift();
158
+ clearTimeout(waiter.timer);
159
+ if (queue.length === 0)
160
+ this.responseWaiters.delete(fromPeerId);
161
+ waiter.resolve(message);
162
+ return true;
163
+ }
130
164
  /**
131
165
  * Clear the expectation for a peer and cancel any pending waiter.
132
166
  */
133
167
  clearExpectation(fromPeerId) {
134
168
  this.expectingResponseFrom.delete(fromPeerId);
135
169
  this._cancelWaiter(fromPeerId);
170
+ this._cancelDeliveryAckWaiter(fromPeerId);
171
+ }
172
+ /**
173
+ * Cancel only the active response waiter for a peer while keeping the
174
+ * expectation marker. Used when send-message returns early but a late
175
+ * response should still be treated as inject-only.
176
+ */
177
+ cancelResponseWaiter(fromPeerId) {
178
+ this._cancelWaiter(fromPeerId);
179
+ }
180
+ /**
181
+ * Cancel only the active delivery ack waiter for a peer.
182
+ */
183
+ cancelDeliveryAckWaiter(fromPeerId) {
184
+ this._cancelDeliveryAckWaiter(fromPeerId);
136
185
  }
137
186
  /**
138
- * Cancel a pending response waiter for a peer.
139
- * Rejects the old promise so callers awaiting it don't hang forever.
187
+ * Cancel ALL pending response waiters for a peer by rejecting them with
188
+ * a clear error. Used by clearExpectation()/cancelResponseWaiter() to
189
+ * unblock callers without lying to them. The previous behaviour resolved
190
+ * waiters with the literal string "Superseded by newer send_message call",
191
+ * which was then returned as the peer's "response" -- a confusing and
192
+ * easily misinterpreted artifact.
140
193
  */
141
194
  _cancelWaiter(fromPeerId) {
142
- const existing = this.responseWaiters.get(fromPeerId);
143
- if (existing) {
144
- clearTimeout(existing.timer);
145
- this.responseWaiters.delete(fromPeerId);
146
- existing.resolve("Superseded by newer send_message call");
195
+ const queue = this.responseWaiters.get(fromPeerId);
196
+ if (!queue || queue.length === 0)
197
+ return;
198
+ this.responseWaiters.delete(fromPeerId);
199
+ for (const w of queue) {
200
+ clearTimeout(w.timer);
201
+ w.reject(new Error(`Response wait cancelled for ${fromPeerId}`));
147
202
  }
148
203
  }
149
204
  /**
@@ -215,33 +270,40 @@ export class AutoRelayService {
215
270
  if (msg.response !== null) {
216
271
  return;
217
272
  }
273
+ // Send delivery acknowledgment IMMEDIATELY -- before any branching.
274
+ // This is the single source of truth for ack emission. Returning the ack
275
+ // promptly is what tells the SENDER we are alive, regardless of whether
276
+ // we then route this message to a pending waiter, inject-only handler,
277
+ // or full auto-relay execClaude. The previous design omitted the ack on
278
+ // the waiter-resolution path, causing senders that were themselves
279
+ // awaiting a response to time out their 15s ack-wait and report the
280
+ // recipient as offline -- even though both peers were online and the
281
+ // message had in fact been delivered.
282
+ if (this.sendDeliveryAckFn) {
283
+ this.sendDeliveryAckFn(msg.id, this.localPeerId, msg.fromPeerId);
284
+ }
218
285
  // Guard: we sent this peer an explicit message and are expecting their response.
219
286
  // If there's an active waiter (send-message is blocking), resolve it with
220
287
  // the response content. Otherwise fall back to inject-only mode.
221
288
  if (this.expectingResponseFrom.has(msg.fromPeerId)) {
222
- this.expectingResponseFrom.delete(msg.fromPeerId);
223
- // Check if send-message is actively waiting for this response
224
- const waiter = this.responseWaiters.get(msg.fromPeerId);
225
- if (waiter) {
226
- clearTimeout(waiter.timer);
227
- this.responseWaiters.delete(msg.fromPeerId);
228
- waiter.resolve(msg.message);
289
+ // Check if send-message is actively waiting (FIFO queue per peer)
290
+ const resolved = this._popAndResolveWaiter(msg.fromPeerId, msg.message);
291
+ if (resolved) {
292
+ // Only clear the expectation marker once the waiter queue is empty;
293
+ // additional in-flight sends from this peer should still resolve
294
+ // their own waiters in order.
295
+ if ((this.responseWaiters.get(msg.fromPeerId)?.length ?? 0) === 0) {
296
+ this.expectingResponseFrom.delete(msg.fromPeerId);
297
+ }
229
298
  logger.info(`Auto-relay: response from ${msg.fromPeerId} delivered to waiting send-message`);
230
299
  return;
231
300
  }
232
301
  // No active waiter (timed out or used expectResponse directly)
302
+ this.expectingResponseFrom.delete(msg.fromPeerId);
233
303
  logger.info(`Auto-relay: inject-only response from ${msg.fromPeerId} (no active waiter)`);
234
- // Send delivery acknowledgment immediately -- before processing
235
- if (this.sendDeliveryAckFn) {
236
- this.sendDeliveryAckFn(msg.id, this.localPeerId, msg.fromPeerId);
237
- }
238
304
  await this._injectOnly(msg);
239
305
  return;
240
306
  }
241
- // Send delivery acknowledgment immediately -- before queuing or processing
242
- if (this.sendDeliveryAckFn) {
243
- this.sendDeliveryAckFn(msg.id, this.localPeerId, msg.fromPeerId);
244
- }
245
307
  // Serialize processing: queue if already busy
246
308
  if (this.processing) {
247
309
  logger.debug(`Auto-relay: queuing message from ${msg.fromPeerId} (busy processing)`);
@@ -403,10 +465,14 @@ export class AutoRelayService {
403
465
  * Stop the auto-relay service: clear queue and reset state.
404
466
  */
405
467
  stop() {
406
- // Settle all pending response waiters (resolve, not reject matches _cancelWaiter precedent)
407
- for (const [, waiter] of this.responseWaiters) {
408
- clearTimeout(waiter.timer);
409
- waiter.resolve("");
468
+ // Settle every queued waiter so callers don't hang on shutdown.
469
+ // Resolves with empty string (matches the previous single-waiter precedent
470
+ // of treating shutdown as a benign no-op rather than a hard failure).
471
+ for (const [, queue] of this.responseWaiters) {
472
+ for (const waiter of queue) {
473
+ clearTimeout(waiter.timer);
474
+ waiter.resolve("");
475
+ }
410
476
  }
411
477
  this.responseWaiters.clear();
412
478
  // Settle all pending delivery ack waiters
@@ -1 +1 @@
1
- {"version":3,"file":"auto-relay.js","sourceRoot":"","sources":["../../src/services/auto-relay.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auto-relay.js","sourceRoot":"","sources":["../../src/services/auto-relay.ts"],"names":[],"mappings":"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"}
@@ -51,7 +51,9 @@ export declare class HeartbeatService {
51
51
  /**
52
52
  * Stop the heartbeat timer. Safe to call multiple times.
53
53
  */
54
- stop(): void;
54
+ stop(options?: {
55
+ preservePeerInfo?: boolean;
56
+ }): void;
55
57
  get isRunning(): boolean;
56
58
  /**
57
59
  * Restart the heartbeat using stored peerId, mcpServer, and onPeerEvicted.
@@ -1 +1 @@
1
- {"version":3,"file":"heartbeat.d.ts","sourceRoot":"","sources":["../../src/services/heartbeat.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAQzE;;;;;;;;;;;;;;GAcG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,KAAK,CAA8C;IAC3D,OAAO,CAAC,MAAM,CAAuB;IACrC,OAAO,CAAC,SAAS,CAA0B;IAC3C,OAAO,CAAC,aAAa,CAA6B;IAClD,OAAO,CAAC,mBAAmB,CAAK;IAChC,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,OAAO,CAAgE;IAC/E,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAK;IAEzC;;;;;;;;;OASG;IACH,OAAO,CAAC,eAAe;IAYvB;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IASxB;;;;;;;OAOG;IACH,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,CAAC,EAAE,MAAM,IAAI,GAAG,IAAI;IAsB7E;;OAEG;IACH,IAAI,IAAI,IAAI;IAaZ,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED;;;OAGG;IACH,OAAO,IAAI,IAAI;IAMf;;;;;OAKG;YACW,IAAI;CA6EnB;AAED,eAAO,MAAM,SAAS,kBAAyB,CAAC"}
1
+ {"version":3,"file":"heartbeat.d.ts","sourceRoot":"","sources":["../../src/services/heartbeat.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAQzE;;;;;;;;;;;;;;GAcG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,KAAK,CAA8C;IAC3D,OAAO,CAAC,MAAM,CAAuB;IACrC,OAAO,CAAC,SAAS,CAA0B;IAC3C,OAAO,CAAC,aAAa,CAA6B;IAClD,OAAO,CAAC,mBAAmB,CAAK;IAChC,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,OAAO,CAAgE;IAC/E,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAK;IAEzC;;;;;;;;;OASG;IACH,OAAO,CAAC,eAAe;IAYvB;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IASxB;;;;;;;OAOG;IACH,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,CAAC,EAAE,MAAM,IAAI,GAAG,IAAI;IAsB7E;;OAEG;IACH,IAAI,CAAC,OAAO,GAAE;QAAE,gBAAgB,CAAC,EAAE,OAAO,CAAA;KAAO,GAAG,IAAI;IAexD,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED;;;OAGG;IACH,OAAO,IAAI,IAAI;IAMf;;;;;OAKG;YACW,IAAI;CA2EnB;AAED,eAAO,MAAM,SAAS,kBAAyB,CAAC"}
@@ -88,15 +88,17 @@ export class HeartbeatService {
88
88
  /**
89
89
  * Stop the heartbeat timer. Safe to call multiple times.
90
90
  */
91
- stop() {
91
+ stop(options = {}) {
92
92
  if (this.timer) {
93
93
  clearTimeout(this.timer);
94
94
  this.timer = null;
95
95
  logger.debug("Heartbeat stopped");
96
96
  }
97
- this.peerId = null;
98
- this.mcpServer = null;
99
- this.onPeerEvicted = null;
97
+ if (!options.preservePeerInfo) {
98
+ this.peerId = null;
99
+ this.mcpServer = null;
100
+ this.onPeerEvicted = null;
101
+ }
100
102
  this.consecutiveFailures = 0;
101
103
  this.backoff.reset();
102
104
  }
@@ -164,7 +166,7 @@ export class HeartbeatService {
164
166
  if (err instanceof BridgeError && err.code === BridgeErrorCode.PEER_NOT_FOUND) {
165
167
  logger.warn(`Peer '${this.peerId}' was evicted by server. Triggering re-registration.`);
166
168
  const evictedCb = this.onPeerEvicted;
167
- this.stop();
169
+ this.stop({ preservePeerInfo: true });
168
170
  evictedCb?.();
169
171
  return;
170
172
  }
@@ -179,9 +181,7 @@ export class HeartbeatService {
179
181
  const delay = this.backoff.next();
180
182
  logger.warn(`Heartbeat failed (${this.consecutiveFailures}/${HeartbeatService.MAX_FAILURES}): ${err}. Retry in ${Math.round(delay)}ms`);
181
183
  if (this.consecutiveFailures >= HeartbeatService.MAX_FAILURES) {
182
- logger.error("Heartbeat stopped after too many consecutive failures");
183
- this.stop();
184
- return;
184
+ logger.error("Heartbeat has too many consecutive failures; continuing with capped backoff");
185
185
  }
186
186
  // Schedule retry with backoff delay
187
187
  if (this.timer !== null) {
@@ -1 +1 @@
1
- {"version":3,"file":"heartbeat.js","sourceRoot":"","sources":["../../src/services/heartbeat.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"heartbeat.js","sourceRoot":"","sources":["../../src/services/heartbeat.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"send-message.d.ts","sourceRoot":"","sources":["../../src/tools/send-message.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAqBpE,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAoS/D"}
1
+ {"version":3,"file":"send-message.d.ts","sourceRoot":"","sources":["../../src/tools/send-message.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AA8CpE,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAqT/D"}
@@ -13,6 +13,31 @@ function formatBridgeMessage(fromLabel, fromPeerId, message) {
13
13
  `Respond directly to the message above. Your entire response will be relayed back to ${fromLabel}. ` +
14
14
  `Do NOT use cogent_send_message or any bridge tools — just answer normally.`);
15
15
  }
16
+ /**
17
+ * Best-effort live status string for a peer, using whatever the relay
18
+ * currently knows. Returns a short suffix the caller appends to a timeout
19
+ * message so the LLM does not hallucinate "offline" when the peer is in
20
+ * fact connected. Never throws: on any backend error, returns a neutral
21
+ * fallback.
22
+ */
23
+ async function describePeerLiveness(peerId) {
24
+ try {
25
+ const peer = await getBackend().getPeer(peerId);
26
+ if (!peer || !peer.lastSeenAt) {
27
+ return `Live status of ${peerId} is unknown (relay returned no record).`;
28
+ }
29
+ const lastSeenMs = Date.parse(peer.lastSeenAt);
30
+ if (Number.isNaN(lastSeenMs)) {
31
+ return `Live status of ${peerId} is unknown.`;
32
+ }
33
+ const ageSec = Math.max(0, Math.round((Date.now() - lastSeenMs) / 1000));
34
+ return `${peerId} was last seen by the relay ${ageSec}s ago.`;
35
+ }
36
+ catch (err) {
37
+ logger.debug(`describePeerLiveness: getPeer failed for ${peerId}: ${err}`);
38
+ return `Live status of ${peerId} is unknown.`;
39
+ }
40
+ }
16
41
  export function registerSendMessageTool(server) {
17
42
  server.registerTool("cogent_send_message", {
18
43
  title: "Send Message to Peer",
@@ -151,9 +176,18 @@ export function registerSendMessageTool(server) {
151
176
  `waiting for response via poll fallback`);
152
177
  }
153
178
  if (!ackReceived) {
154
- // No delivery ack within 15s -- recipient likely offline
155
- const offlineResponse = `Message accepted by relay but ${to.label} (${normalizedToPeerId}) appears offline. ` +
156
- `Check cogent_get_history for their reply.`;
179
+ autoRelay.cancelResponseWaiter(toPeerId);
180
+ // No delivery ack within 15s. Do NOT assert "appears offline" --
181
+ // the recipient may be connected but momentarily not draining
182
+ // its WS read loop (e.g. during a synchronous execClaude). Tell
183
+ // the LLM what we actually know: the message is queued at the
184
+ // relay, the peer's last-seen-by-relay timestamp, and where to
185
+ // look for a reply.
186
+ const liveness = await describePeerLiveness(normalizedToPeerId);
187
+ const offlineResponse = `Message accepted by relay; no delivery acknowledgment from ${to.label} ` +
188
+ `(${normalizedToPeerId}) within ${effectiveAckTimeout}ms. ${liveness} ` +
189
+ `The recipient may have replied with cogent_send_message instead of the ` +
190
+ `synchronous response pattern. Use cogent_get_history to check for a reply.`;
157
191
  // Update the original message record with the offline response
158
192
  if (backend.updateMessageResponse) {
159
193
  try {
@@ -191,10 +225,17 @@ export function registerSendMessageTool(server) {
191
225
  });
192
226
  }
193
227
  catch {
194
- // Ack received but response timed out
195
- const timeoutResponse = `Delivered to ${to.label}'s Cogent MCP. ` +
196
- `Processing timed out after ${Math.round(config.COGENT_TIMEOUT_MS / 1000)}s -- ` +
197
- `check cogent_get_history for their reply.`;
228
+ // Ack received but response timed out. The peer's MCP confirmed
229
+ // delivery, so we know they were online. Don't speculate about
230
+ // their state -- just report what happened and direct the LLM
231
+ // to history. The peer may have replied via cogent_send_message
232
+ // (a fresh send) instead of the synchronous response pattern;
233
+ // such replies arrive but don't satisfy this waiter.
234
+ const liveness = await describePeerLiveness(normalizedToPeerId);
235
+ const timeoutResponse = `Delivered to ${to.label}'s Cogent MCP, but no synchronous response within ` +
236
+ `${Math.round(config.COGENT_TIMEOUT_MS / 1000)}s. ${liveness} ` +
237
+ `If the recipient replied via cogent_send_message rather than the ` +
238
+ `synchronous response pattern, the reply is in cogent_get_history.`;
198
239
  // Update the original message record with the timeout response
199
240
  if (backend.updateMessageResponse) {
200
241
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"send-message.js","sourceRoot":"","sources":["../../src/tools/send-message.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"send-message.js","sourceRoot":"","sources":["../../src/tools/send-message.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@essentialai/cogent-bridge",
3
- "version": "3.1.2",
3
+ "version": "3.1.4",
4
4
  "description": "MCP server for inter-Claude-Code session communication bridge",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
package/server.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "name": "io.github.eaisdevelopment/cogent",
4
4
  "title": "Cogent Bridge from Essential AI Solutions (essentialai.uk)",
5
5
  "description": "MCP bridge for inter-session communication between Claude Code instances",
6
- "version": "3.1.1",
6
+ "version": "3.1.4",
7
7
  "repository": {
8
8
  "url": "https://github.com/eaisdevelopment/cogent",
9
9
  "source": "github"
@@ -12,7 +12,7 @@
12
12
  {
13
13
  "registryType": "npm",
14
14
  "identifier": "@essentialai/cogent-bridge",
15
- "version": "3.1.1",
15
+ "version": "3.1.4",
16
16
  "runtimeHint": "npx",
17
17
  "transport": {
18
18
  "type": "stdio"
@@ -57,4 +57,4 @@
57
57
  ]
58
58
  }
59
59
  ]
60
- }
60
+ }