@essentialai/cogent-bridge 3.0.4 → 3.0.6

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,22 @@
1
1
  # Changelog
2
2
 
3
+ ## [3.0.6] - 2026-03-21
4
+
5
+ ### Fixed
6
+ - Stale peer recovery: server heartbeat now returns 404 (PEER_NOT_FOUND) when a peer has been evicted by stale cleanup, instead of silently returning 204. This allows clients to detect eviction.
7
+ - Client auto-recovers from stale peer eviction: HeartbeatService detects the 404 response and triggers automatic re-registration + WS reconnection without manual intervention.
8
+ - WebSocket client detects 404 on upgrade rejection (peer evicted) and invokes onPeerEvicted callback instead of entering an infinite reconnect loop.
9
+ - Added debounced `triggerReRegistration()` in startup.ts that coordinates re-registration, WS reconnection, and heartbeat restart.
10
+
11
+ ## [3.0.5] - 2026-03-20
12
+
13
+ ### Fixed
14
+ - Idle relay failure after ~1hr of silence: `autoRelay.localSessionId` was set once at registration and never refreshed. Claude Code rotates its `.jsonl` session file after long idle periods, making the stored session ID stale and causing `claude --resume <stale-id>` to inject messages into a dead session.
15
+ - Added `detectCurrentSession(cwd)` utility that dynamically finds the most recently modified `.jsonl` project file before each relay attempt.
16
+ - `AutoRelayService` now refreshes the session ID before every `execClaude()` call and retries once on stale detection.
17
+ - `HeartbeatService` proactively refreshes the session ID every 60s to avoid staleness accumulating silently.
18
+ - `register-peer.ts` refactored to use shared `detectCurrentSession()` instead of inline synchronous FS logic.
19
+
3
20
  ## [3.0.0] - 2026-03-19
4
21
 
5
22
  ### Added
@@ -44,6 +44,8 @@ export interface CloudWsClientOptions {
44
44
  messageId: string;
45
45
  peerId: string;
46
46
  }) => void;
47
+ /** Optional callback when peer has been evicted by server (stale cleanup). */
48
+ onPeerEvicted?: () => void;
47
49
  /** Poll interval in milliseconds (default: 5000). */
48
50
  pollIntervalMs?: number;
49
51
  }
@@ -65,6 +67,7 @@ export declare class CloudWsClient {
65
67
  private reconnectTimer;
66
68
  private pollTimer;
67
69
  private lastMessageId;
70
+ private lastWsError;
68
71
  private opts;
69
72
  constructor(options: CloudWsClientOptions);
70
73
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"ws-client.d.ts","sourceRoot":"","sources":["../../src/cloud/ws-client.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEjD;;GAEG;AACH,MAAM,MAAM,OAAO,GACf,cAAc,GACd,YAAY,GACZ,WAAW,GACX,SAAS,GACT,cAAc,CAAC;AAEnB;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,6CAA6C;IAC7C,QAAQ,EAAE,MAAM,CAAC;IACjB,wBAAwB;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,oEAAoE;IACpE,MAAM,EAAE,MAAM,CAAC;IACf,yBAAyB;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,6CAA6C;IAC7C,IAAI,EAAE,UAAU,CAAC;IACjB,4DAA4D;IAC5D,SAAS,EAAE,CAAC,GAAG,EAAE,aAAa,KAAK,IAAI,CAAC;IACxC,qEAAqE;IACrE,UAAU,EAAE,CAAC,IAAI,EAAE,aAAa,EAAE,KAAK,IAAI,CAAC;IAC5C,qCAAqC;IACrC,eAAe,EAAE,CAAC,IAAI,EAAE;QACtB,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;KACjB,KAAK,IAAI,CAAC;IACX,wCAAwC;IACxC,kBAAkB,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7C,yCAAyC;IACzC,eAAe,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IAC5C,kCAAkC;IAClC,aAAa,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACxC,0DAA0D;IAC1D,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IAC7D,4EAA4E;IAC5E,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IACzE,qDAAqD;IACrD,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAKD;;;;;;;;;;GAUG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,EAAE,CAA0B;IACpC,OAAO,CAAC,KAAK,CAA2B;IACxC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAqB;IAC7C,OAAO,CAAC,cAAc,CAA8C;IACpE,OAAO,CAAC,SAAS,CAA+C;IAChE,OAAO,CAAC,aAAa,CAAuB;IAC5C,OAAO,CAAC,IAAI,CAAkB;gBAElB,OAAO,EAAE,oBAAoB;IAQzC;;;OAGG;IACH,OAAO,IAAI,IAAI;IA+Df;;OAEG;IACH,UAAU,IAAI,IAAI;IAelB;;;;;;OAMG;IACH,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAa/B;;OAEG;IACH,QAAQ,IAAI,OAAO;IAInB;;OAEG;IACH,mBAAmB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAIrC;;;OAGG;IACH,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAQnC;;;OAGG;IACH,eAAe,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI;IAQ3C;;;OAGG;IACH,UAAU,CAAC,OAAO,EAAE,UAAU,GAAG,IAAI;IAIrC;;;OAGG;IACH,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI;IAe9E,OAAO,CAAC,QAAQ;IAKhB,OAAO,CAAC,aAAa;IAgCrB,OAAO,CAAC,iBAAiB;IAMzB,OAAO,CAAC,YAAY;IAoCpB,OAAO,CAAC,WAAW;IAOnB,OAAO,CAAC,WAAW;CAOpB"}
1
+ {"version":3,"file":"ws-client.d.ts","sourceRoot":"","sources":["../../src/cloud/ws-client.ts"],"names":[],"mappings":"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"}
@@ -19,6 +19,7 @@ export class CloudWsClient {
19
19
  reconnectTimer = null;
20
20
  pollTimer = null;
21
21
  lastMessageId = null;
22
+ lastWsError = null;
22
23
  opts;
23
24
  constructor(options) {
24
25
  this.opts = {
@@ -36,6 +37,7 @@ export class CloudWsClient {
36
37
  console.warn("[CloudWsClient] Cannot connect WebSocket without peerId. Call setPeerId() first.");
37
38
  return;
38
39
  }
40
+ this.lastWsError = null;
39
41
  this.setState("connecting");
40
42
  // Build WS URL: http->ws, https->wss
41
43
  const wsUrl = this.opts.endpoint
@@ -65,6 +67,20 @@ export class CloudWsClient {
65
67
  });
66
68
  ws.on("close", (code, _reason) => {
67
69
  this.ws = null;
70
+ // Check if the close was caused by a peer eviction (server returned 404
71
+ // on WS upgrade because peer was removed by stale cleanup). The ws library
72
+ // fires error with the HTTP status before close with code 1006.
73
+ const evicted = this.lastWsError !== null &&
74
+ (this.lastWsError.includes("404") || this.lastWsError.includes("PEER_NOT_FOUND"));
75
+ this.lastWsError = null;
76
+ if (evicted) {
77
+ // Peer was evicted by server -- don't reconnect (would just 404 again).
78
+ // Invoke callback so heartbeat/startup can trigger re-registration.
79
+ console.warn("[CloudWsClient] Peer evicted by server (stale cleanup). Stopping reconnect.");
80
+ this.setState("disconnected");
81
+ this.opts.onPeerEvicted?.();
82
+ return;
83
+ }
68
84
  // Start polling fallback
69
85
  this.setState("polling");
70
86
  this.startPolling();
@@ -80,6 +96,7 @@ export class CloudWsClient {
80
96
  }
81
97
  });
82
98
  ws.on("error", (err) => {
99
+ this.lastWsError = err.message;
83
100
  console.error("[CloudWsClient] WebSocket error:", err.message);
84
101
  // Don't change state here -- the "close" event follows and handles it
85
102
  });
@@ -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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"}
@@ -14,6 +14,21 @@ export declare class AutoRelayService {
14
14
  * successful registration so we know which session to inject into.
15
15
  */
16
16
  setLocalPeer(peerId: string, sessionId: string, cwd: string): void;
17
+ /**
18
+ * Get the local peer info for re-registration after eviction.
19
+ * Returns null if no peer has been registered yet.
20
+ */
21
+ getLocalPeer(): {
22
+ peerId: string;
23
+ sessionId: string;
24
+ cwd: string;
25
+ } | null;
26
+ /**
27
+ * Re-detect the current CC session from disk. If the session has rotated
28
+ * (CC creates a new .jsonl after ~1hr idle), update localSessionId so the
29
+ * next execClaude call targets the active session.
30
+ */
31
+ refreshSessionId(): Promise<void>;
17
32
  /**
18
33
  * Set the function used to send delivery acknowledgments via WebSocket.
19
34
  * Injected by startup.ts to avoid circular dependency with ws-client.
@@ -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,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;;OAEG;IACH,OAAO,CAAC,aAAa;IAQrB;;;;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;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAQhC;;;;;;;;;;OAUG;IACG,cAAc,CAAC,GAAG,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IA+EvD;;OAEG;YACW,eAAe;IA2D7B;;;OAGG;YACW,WAAW;IAgCzB;;;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;CAsBb;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;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;;OAEG;IACH,OAAO,CAAC,aAAa;IAQrB;;;;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;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAQhC;;;;;;;;;;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;CAsBb;AAED,0DAA0D;AAC1D,eAAO,MAAM,SAAS,kBAAyB,CAAC"}
@@ -1,4 +1,4 @@
1
- import { execClaude } from "../services/cc-cli.js";
1
+ import { execClaude, detectCurrentSession } from "../services/cc-cli.js";
2
2
  import { getBackend } from "../backend/index.js";
3
3
  import { logger } from "../logger.js";
4
4
  /**
@@ -55,6 +55,34 @@ export class AutoRelayService {
55
55
  this.localCwd = cwd;
56
56
  logger.info(`Auto-relay configured for peer ${peerId} (session: ${sessionId})`);
57
57
  }
58
+ /**
59
+ * Get the local peer info for re-registration after eviction.
60
+ * Returns null if no peer has been registered yet.
61
+ */
62
+ getLocalPeer() {
63
+ if (!this.localPeerId || !this.localSessionId || !this.localCwd) {
64
+ return null;
65
+ }
66
+ return {
67
+ peerId: this.localPeerId,
68
+ sessionId: this.localSessionId,
69
+ cwd: this.localCwd,
70
+ };
71
+ }
72
+ /**
73
+ * Re-detect the current CC session from disk. If the session has rotated
74
+ * (CC creates a new .jsonl after ~1hr idle), update localSessionId so the
75
+ * next execClaude call targets the active session.
76
+ */
77
+ async refreshSessionId() {
78
+ if (!this.localCwd)
79
+ return;
80
+ const fresh = await detectCurrentSession(this.localCwd);
81
+ if (fresh && fresh !== this.localSessionId) {
82
+ logger.info(`Auto-relay: session rotated ${this.localSessionId} -> ${fresh}`);
83
+ this.localSessionId = fresh;
84
+ }
85
+ }
58
86
  /**
59
87
  * Set the function used to send delivery acknowledgments via WebSocket.
60
88
  * Injected by startup.ts to avoid circular dependency with ws-client.
@@ -255,6 +283,8 @@ export class AutoRelayService {
255
283
  logger.info(`Auto-relay: processing message from ${fromLabel} (${msg.fromPeerId})`);
256
284
  const startMs = Date.now();
257
285
  try {
286
+ // Re-detect session before each call -- CC rotates .jsonl after ~1hr idle
287
+ await this.refreshSessionId();
258
288
  // Call execClaude LOCALLY -- this spawns `claude --resume <sessionId> -p "message"`
259
289
  // on the recipient's machine. This is NOT HttpBackend.execClaude() (which is a no-op).
260
290
  const result = await execClaude(this.localSessionId, formatted, this.localCwd);
@@ -281,6 +311,34 @@ export class AutoRelayService {
281
311
  }
282
312
  else {
283
313
  logger.warn(`Auto-relay: execClaude failed (exit=${result.exitCode}): ${result.stderr}`);
314
+ // Session may have rotated -- retry once with fresh detection
315
+ const freshId = await detectCurrentSession(this.localCwd);
316
+ if (freshId && freshId !== this.localSessionId) {
317
+ logger.info(`Auto-relay: retry with rotated session ${this.localSessionId} -> ${freshId}`);
318
+ this.localSessionId = freshId;
319
+ const retry = await execClaude(this.localSessionId, formatted, this.localCwd);
320
+ if (retry.exitCode === 0 && retry.stdout) {
321
+ // Send retry response back
322
+ try {
323
+ await backend.recordMessage({
324
+ fromPeerId: this.localPeerId,
325
+ toPeerId: msg.fromPeerId,
326
+ message: retry.stdout,
327
+ response: null,
328
+ durationMs: Date.now() - startMs,
329
+ success: true,
330
+ error: null,
331
+ });
332
+ logger.info(`Auto-relay: retry response sent to ${msg.fromPeerId}`);
333
+ }
334
+ catch (retryRecordErr) {
335
+ logger.error(`Auto-relay: failed to record retry response: ${retryRecordErr}`);
336
+ }
337
+ }
338
+ else {
339
+ logger.warn(`Auto-relay: retry also failed (exit=${retry.exitCode})`);
340
+ }
341
+ }
284
342
  }
285
343
  }
286
344
  catch (err) {
@@ -308,6 +366,8 @@ export class AutoRelayService {
308
366
  }
309
367
  const formatted = formatInjectOnlyMessage(fromLabel, msg.fromPeerId, msg.message);
310
368
  try {
369
+ // Re-detect session before each call -- CC rotates .jsonl after ~1hr idle
370
+ await this.refreshSessionId();
311
371
  const result = await execClaude(this.localSessionId, formatted, this.localCwd);
312
372
  if (result.exitCode === 0) {
313
373
  logger.info(`Auto-relay: inject-only complete from ${msg.fromPeerId} (response discarded)`);
@@ -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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"}
@@ -1,4 +1,11 @@
1
1
  import { CliExecResult } from "../types.js";
2
+ /**
3
+ * Detect the most recently active Claude Code session for a given cwd.
4
+ * Scans ~/.claude/projects/<escapedCwd>/ for .jsonl files and returns
5
+ * the one with the newest mtime (i.e. the current active session).
6
+ * Returns null if no session files are found or the directory doesn't exist.
7
+ */
8
+ export declare function detectCurrentSession(cwd: string): Promise<string | null>;
2
9
  /**
3
10
  * Check whether a Claude Code session file exists on disk.
4
11
  * Returns false if the file is missing (session ended or ID is wrong).
@@ -1 +1 @@
1
- {"version":3,"file":"cc-cli.d.ts","sourceRoot":"","sources":["../../src/services/cc-cli.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAI5C;;;GAGG;AACH,wBAAsB,eAAe,CACnC,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,OAAO,CAAC,CAgBlB;AAED,wBAAgB,UAAU,CACxB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,MAAM,EACX,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,aAAa,CAAC,CAqGxB"}
1
+ {"version":3,"file":"cc-cli.d.ts","sourceRoot":"","sources":["../../src/services/cc-cli.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAI5C;;;;;GAKG;AACH,wBAAsB,oBAAoB,CACxC,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CA4BxB;AAED;;;GAGG;AACH,wBAAsB,eAAe,CACnC,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,OAAO,CAAC,CAgBlB;AAED,wBAAgB,UAAU,CACxB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,MAAM,EACX,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,aAAa,CAAC,CAqGxB"}
@@ -3,6 +3,32 @@ import fs from "node:fs/promises";
3
3
  import os from "node:os";
4
4
  import path from "node:path";
5
5
  import { getConfig } from "../config.js";
6
+ /**
7
+ * Detect the most recently active Claude Code session for a given cwd.
8
+ * Scans ~/.claude/projects/<escapedCwd>/ for .jsonl files and returns
9
+ * the one with the newest mtime (i.e. the current active session).
10
+ * Returns null if no session files are found or the directory doesn't exist.
11
+ */
12
+ export async function detectCurrentSession(cwd) {
13
+ try {
14
+ const escapedCwd = cwd.replace(/[^a-zA-Z0-9-]/g, "-");
15
+ const projectDir = path.join(os.homedir(), ".claude", "projects", escapedCwd);
16
+ const entries = await fs.readdir(projectDir);
17
+ const jsonlFiles = entries.filter((f) => f.endsWith(".jsonl"));
18
+ if (jsonlFiles.length === 0)
19
+ return null;
20
+ // Stat each file to get mtime, then sort by newest first
21
+ const withStats = await Promise.all(jsonlFiles.map(async (f) => {
22
+ const stat = await fs.stat(path.join(projectDir, f));
23
+ return { name: f.replace(".jsonl", ""), mtimeMs: stat.mtimeMs };
24
+ }));
25
+ withStats.sort((a, b) => b.mtimeMs - a.mtimeMs);
26
+ return withStats[0].name;
27
+ }
28
+ catch {
29
+ return null;
30
+ }
31
+ }
6
32
  /**
7
33
  * Check whether a Claude Code session file exists on disk.
8
34
  * Returns false if the file is missing (session ended or ID is wrong).
@@ -1 +1 @@
1
- {"version":3,"file":"cc-cli.js","sourceRoot":"","sources":["../../src/services/cc-cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cc-cli.js","sourceRoot":"","sources":["../../src/services/cc-cli.ts"],"names":[],"mappings":"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"}
@@ -14,18 +14,28 @@ export declare class HeartbeatService {
14
14
  private timer;
15
15
  private peerId;
16
16
  private mcpServer;
17
+ private onPeerEvicted;
17
18
  private consecutiveFailures;
18
19
  private static readonly MAX_FAILURES;
19
20
  /**
20
21
  * Start the heartbeat for a registered peer.
21
22
  * Idempotent — stops any existing heartbeat before starting a new one.
23
+ *
24
+ * @param onPeerEvicted - Optional callback invoked when the server returns
25
+ * PEER_NOT_FOUND (404), indicating the peer was evicted by stale cleanup.
26
+ * The callback should trigger re-registration.
22
27
  */
23
- start(peerId: string, mcpServer: McpServer): void;
28
+ start(peerId: string, mcpServer: McpServer, onPeerEvicted?: () => void): void;
24
29
  /**
25
30
  * Stop the heartbeat timer. Safe to call multiple times.
26
31
  */
27
32
  stop(): void;
28
33
  get isRunning(): boolean;
34
+ /**
35
+ * Restart the heartbeat using stored peerId, mcpServer, and onPeerEvicted.
36
+ * Used after automatic re-registration to resume keepalive ticks.
37
+ */
38
+ restart(): void;
29
39
  /**
30
40
  * Single heartbeat tick.
31
41
  */
@@ -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;AAKzE;;;;;;;;;;GAUG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,KAAK,CAA+C;IAC5D,OAAO,CAAC,MAAM,CAAuB;IACrC,OAAO,CAAC,SAAS,CAA0B;IAC3C,OAAO,CAAC,mBAAmB,CAAK;IAChC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAK;IAEzC;;;OAGG;IACH,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,GAAG,IAAI;IA2BjD;;OAEG;IACH,IAAI,IAAI,IAAI;IAWZ,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED;;OAEG;YACW,IAAI;CAsCnB;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;AAOzE;;;;;;;;;;GAUG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,KAAK,CAA+C;IAC5D,OAAO,CAAC,MAAM,CAAuB;IACrC,OAAO,CAAC,SAAS,CAA0B;IAC3C,OAAO,CAAC,aAAa,CAA6B;IAClD,OAAO,CAAC,mBAAmB,CAAK;IAChC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAK;IAEzC;;;;;;;OAOG;IACH,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,CAAC,EAAE,MAAM,IAAI,GAAG,IAAI;IA4B7E;;OAEG;IACH,IAAI,IAAI,IAAI;IAYZ,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED;;;OAGG;IACH,OAAO,IAAI,IAAI;IAMf;;OAEG;YACW,IAAI;CAyDnB;AAED,eAAO,MAAM,SAAS,kBAAyB,CAAC"}
@@ -1,6 +1,8 @@
1
1
  import { getConfig } from "../config.js";
2
2
  import { getBackend } from "../backend/index.js";
3
+ import { BridgeError, BridgeErrorCode } from "../errors.js";
3
4
  import { logger } from "../logger.js";
5
+ import { autoRelay } from "./auto-relay.js";
4
6
  /**
5
7
  * Background heartbeat service that keeps a registered peer alive.
6
8
  *
@@ -16,13 +18,18 @@ export class HeartbeatService {
16
18
  timer = null;
17
19
  peerId = null;
18
20
  mcpServer = null;
21
+ onPeerEvicted = null;
19
22
  consecutiveFailures = 0;
20
23
  static MAX_FAILURES = 5;
21
24
  /**
22
25
  * Start the heartbeat for a registered peer.
23
26
  * Idempotent — stops any existing heartbeat before starting a new one.
27
+ *
28
+ * @param onPeerEvicted - Optional callback invoked when the server returns
29
+ * PEER_NOT_FOUND (404), indicating the peer was evicted by stale cleanup.
30
+ * The callback should trigger re-registration.
24
31
  */
25
- start(peerId, mcpServer) {
32
+ start(peerId, mcpServer, onPeerEvicted) {
26
33
  this.stop();
27
34
  const config = getConfig();
28
35
  const intervalMs = config.COGENT_HEARTBEAT_INTERVAL_MS;
@@ -32,6 +39,7 @@ export class HeartbeatService {
32
39
  }
33
40
  this.peerId = peerId;
34
41
  this.mcpServer = mcpServer;
42
+ this.onPeerEvicted = onPeerEvicted ?? null;
35
43
  this.consecutiveFailures = 0;
36
44
  this.timer = setInterval(() => {
37
45
  this.tick().catch((err) => {
@@ -53,11 +61,21 @@ export class HeartbeatService {
53
61
  }
54
62
  this.peerId = null;
55
63
  this.mcpServer = null;
64
+ this.onPeerEvicted = null;
56
65
  this.consecutiveFailures = 0;
57
66
  }
58
67
  get isRunning() {
59
68
  return this.timer !== null;
60
69
  }
70
+ /**
71
+ * Restart the heartbeat using stored peerId, mcpServer, and onPeerEvicted.
72
+ * Used after automatic re-registration to resume keepalive ticks.
73
+ */
74
+ restart() {
75
+ if (this.peerId && this.mcpServer) {
76
+ this.start(this.peerId, this.mcpServer, this.onPeerEvicted ?? undefined);
77
+ }
78
+ }
61
79
  /**
62
80
  * Single heartbeat tick.
63
81
  */
@@ -85,9 +103,27 @@ export class HeartbeatService {
85
103
  // 2. Backend keepalive: update lastSeenAt timestamp
86
104
  const backend = getBackend();
87
105
  await backend.updateLastSeen(this.peerId);
106
+ // 3. Proactive session refresh: keep auto-relay session ID fresh
107
+ // so it's warm when messages arrive after idle periods
108
+ try {
109
+ await autoRelay.refreshSessionId();
110
+ }
111
+ catch {
112
+ // Non-fatal: session refresh failure doesn't affect heartbeat
113
+ }
88
114
  this.consecutiveFailures = 0;
89
115
  }
90
116
  catch (err) {
117
+ // Detect peer eviction: server returns 404 PEER_NOT_FOUND when peer
118
+ // was removed by stale cleanup. Trigger immediate re-registration
119
+ // instead of waiting for MAX_FAILURES.
120
+ if (err instanceof BridgeError && err.code === BridgeErrorCode.PEER_NOT_FOUND) {
121
+ logger.warn(`Peer '${this.peerId}' was evicted by server. Triggering re-registration.`);
122
+ const evictedCb = this.onPeerEvicted;
123
+ this.stop();
124
+ evictedCb?.();
125
+ return;
126
+ }
91
127
  this.consecutiveFailures++;
92
128
  logger.warn(`Heartbeat failed (${this.consecutiveFailures}/${HeartbeatService.MAX_FAILURES}): ${err}`);
93
129
  if (this.consecutiveFailures >= HeartbeatService.MAX_FAILURES) {
@@ -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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"}
package/dist/startup.d.ts CHANGED
@@ -4,6 +4,12 @@ export { autoRelay } from "./services/auto-relay.js";
4
4
  export declare let cloudWsClient: CloudWsClient | null;
5
5
  export declare let cloudInbox: MessageInbox | null;
6
6
  export declare let cloudHttpClient: HttpClient | null;
7
+ /**
8
+ * Re-register a peer after it was evicted by the server's stale cleanup.
9
+ * Called by both HeartbeatService (on 404) and CloudWsClient (on WS upgrade 404).
10
+ * Debounced: only one re-registration can run at a time.
11
+ */
12
+ export declare function triggerReRegistration(): Promise<void>;
7
13
  /**
8
14
  * Reinitialize the cloud backend with new credentials at runtime.
9
15
  * Called by create-session, join-session, and register-peer auto-create
@@ -1 +1 @@
1
- {"version":3,"file":"startup.d.ts","sourceRoot":"","sources":["../src/startup.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAIpD,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAarD,eAAO,IAAI,aAAa,EAAE,aAAa,GAAG,IAAW,CAAC;AACtD,eAAO,IAAI,UAAU,EAAE,YAAY,GAAG,IAAW,CAAC;AAClD,eAAO,IAAI,eAAe,EAAE,UAAU,GAAG,IAAW,CAAC;AA2JrD;;;;;;;;;GASG;AACH,wBAAsB,kBAAkB,CACtC,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,IAAI,CAAC,CAmCf;AAMD,wBAAsB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAmKhD"}
1
+ {"version":3,"file":"startup.d.ts","sourceRoot":"","sources":["../src/startup.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAKpD,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAarD,eAAO,IAAI,aAAa,EAAE,aAAa,GAAG,IAAW,CAAC;AACtD,eAAO,IAAI,UAAU,EAAE,YAAY,GAAG,IAAW,CAAC;AAClD,eAAO,IAAI,eAAe,EAAE,UAAU,GAAG,IAAW,CAAC;AA0GrD;;;;GAIG;AACH,wBAAsB,qBAAqB,IAAI,OAAO,CAAC,IAAI,CAAC,CA0B3D;AA8DD;;;;;;;;;GASG;AACH,wBAAsB,kBAAkB,CACtC,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,IAAI,CAAC,CAmCf;AAMD,wBAAsB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAmKhD"}
package/dist/startup.js CHANGED
@@ -5,7 +5,7 @@ import readline from "node:readline";
5
5
  import { execFile } from "node:child_process";
6
6
  import { promisify } from "node:util";
7
7
  import { loadConfig, getConfig } from "./config.js";
8
- import { createBackend, isCloudEndpoint, initBackend, resetBackend } from "./backend/index.js";
8
+ import { createBackend, isCloudEndpoint, getBackend, initBackend, resetBackend } from "./backend/index.js";
9
9
  import { HttpBackend } from "./backend/http-backend.js";
10
10
  import { initLogger, logger } from "./logger.js";
11
11
  import { BridgeError, BridgeErrorCode } from "./errors.js";
@@ -13,6 +13,7 @@ import { loadCredentials } from "./cloud/credential-store.js";
13
13
  import { CloudWsClient, MessageInbox } from "./cloud/index.js";
14
14
  import { HttpClient } from "./cloud/http-client.js";
15
15
  import { autoRelay } from "./services/auto-relay.js";
16
+ import { heartbeat } from "./services/heartbeat.js";
16
17
  // Re-export autoRelay for use in index.ts shutdown
17
18
  export { autoRelay } from "./services/auto-relay.js";
18
19
  /** UUID v4 regex for distinguishing UUIDs from labels in COGENT_SESSION_ID. */
@@ -100,6 +101,43 @@ async function checkClaudeCli(claudePath) {
100
101
  }
101
102
  }
102
103
  // ---------------------------------------------------------------------------
104
+ // Automatic re-registration after server eviction (stale cleanup)
105
+ // ---------------------------------------------------------------------------
106
+ let reRegistrationInProgress = false;
107
+ /**
108
+ * Re-register a peer after it was evicted by the server's stale cleanup.
109
+ * Called by both HeartbeatService (on 404) and CloudWsClient (on WS upgrade 404).
110
+ * Debounced: only one re-registration can run at a time.
111
+ */
112
+ export async function triggerReRegistration() {
113
+ if (reRegistrationInProgress)
114
+ return;
115
+ reRegistrationInProgress = true;
116
+ try {
117
+ const peerState = autoRelay.getLocalPeer();
118
+ if (!peerState) {
119
+ logger.error("Cannot re-register: no local peer info available");
120
+ return;
121
+ }
122
+ logger.warn(`Re-registering peer '${peerState.peerId}' after server eviction...`);
123
+ const backend = getBackend();
124
+ await backend.registerPeer(peerState.peerId, peerState.sessionId, peerState.cwd, peerState.peerId);
125
+ logger.info(`Re-registered peer '${peerState.peerId}' successfully`);
126
+ // Reconnect WS
127
+ if (cloudWsClient) {
128
+ cloudWsClient.setPeerId(peerState.peerId);
129
+ }
130
+ // Restart heartbeat (it stopped itself on eviction detection)
131
+ heartbeat.restart();
132
+ }
133
+ catch (err) {
134
+ logger.error(`Re-registration failed: ${err}`);
135
+ }
136
+ finally {
137
+ reRegistrationInProgress = false;
138
+ }
139
+ }
140
+ // ---------------------------------------------------------------------------
103
141
  // Helper to create a CloudWsClient with standard callbacks
104
142
  // ---------------------------------------------------------------------------
105
143
  function createCloudWsClient(endpoint, sessionId, token, http, inbox, pollIntervalMs) {
@@ -131,6 +169,11 @@ function createCloudWsClient(endpoint, sessionId, token, http, inbox, pollInterv
131
169
  onDeliveryAck: (payload) => {
132
170
  autoRelay.resolveDeliveryAck(payload.peerId);
133
171
  },
172
+ onPeerEvicted: () => {
173
+ triggerReRegistration().catch((err) => {
174
+ logger.error(`Re-registration from WS eviction failed: ${err}`);
175
+ });
176
+ },
134
177
  pollIntervalMs,
135
178
  });
136
179
  // Wire delivery ack sending function on autoRelay
@@ -1 +1 @@
1
- {"version":3,"file":"startup.js","sourceRoot":"","sources":["../src/startup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"startup.js","sourceRoot":"","sources":["../src/startup.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"register-peer.d.ts","sourceRoot":"","sources":["../../src/tools/register-peer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAapE,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAsOhE"}
1
+ {"version":3,"file":"register-peer.d.ts","sourceRoot":"","sources":["../../src/tools/register-peer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAcpE,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CA8NhE"}
@@ -7,6 +7,7 @@ import { saveCredentials, loadCredentials, } from "../cloud/credential-store.js"
7
7
  import { logger } from "../logger.js";
8
8
  import { heartbeat } from "../services/heartbeat.js";
9
9
  import { autoRelay } from "../services/auto-relay.js";
10
+ import { detectCurrentSession } from "../services/cc-cli.js";
10
11
  export function registerRegisterPeerTool(server) {
11
12
  server.registerTool("cogent_register_peer", {
12
13
  title: "Register Peer",
@@ -105,29 +106,12 @@ export function registerRegisterPeerTool(server) {
105
106
  // Auto-detect the real local CC session ID from the filesystem — the user/agent may
106
107
  // pass the cloud session ID by mistake, which won't work with `claude --resume`.
107
108
  let localSessionId = sessionId;
108
- try {
109
- const fs = await import("node:fs");
110
- const path = await import("node:path");
111
- const os = await import("node:os");
112
- // CC stores session files in ~/.claude/projects/<escaped-cwd>/*.jsonl
113
- const escapedCwd = cwd.replace(/[^a-zA-Z0-9-]/g, "-");
114
- const projectDir = path.join(os.homedir(), ".claude", "projects", escapedCwd);
115
- if (fs.existsSync(projectDir)) {
116
- const jsonlFiles = fs.readdirSync(projectDir)
117
- .filter((f) => f.endsWith(".jsonl"))
118
- .map((f) => ({
119
- name: f.replace(".jsonl", ""),
120
- mtime: fs.statSync(path.join(projectDir, f)).mtimeMs,
121
- }))
122
- .sort((a, b) => b.mtime - a.mtime);
123
- if (jsonlFiles.length > 0) {
124
- localSessionId = jsonlFiles[0].name;
125
- logger.info(`Auto-detected local CC session: ${localSessionId}`);
126
- }
127
- }
109
+ const detectedSession = await detectCurrentSession(cwd);
110
+ if (detectedSession) {
111
+ localSessionId = detectedSession;
112
+ logger.info(`Auto-detected local CC session: ${localSessionId}`);
128
113
  }
129
- catch {
130
- // Fall back to the provided sessionId
114
+ else {
131
115
  logger.debug(`Could not auto-detect local session, using provided: ${sessionId}`);
132
116
  }
133
117
  autoRelay.setLocalPeer(peerId, localSessionId, cwd);
@@ -178,8 +162,18 @@ export function registerRegisterPeerTool(server) {
178
162
  logger.warn(`Could not trigger WebSocket connection: ${err}`);
179
163
  }
180
164
  }
181
- // Start background heartbeat to keep this peer alive
182
- heartbeat.start(peerId, server);
165
+ // Start background heartbeat to keep this peer alive.
166
+ // Pass triggerReRegistration callback so heartbeat can auto-recover
167
+ // if the server evicts this peer via stale cleanup (returns 404).
168
+ let reRegFn;
169
+ try {
170
+ const startupMod = await import("../startup.js");
171
+ reRegFn = startupMod.triggerReRegistration;
172
+ }
173
+ catch {
174
+ // Non-fatal: re-registration won't be available
175
+ }
176
+ heartbeat.start(peerId, server, reRegFn);
183
177
  return successResult(result);
184
178
  }
185
179
  catch (err) {
@@ -1 +1 @@
1
- {"version":3,"file":"register-peer.js","sourceRoot":"","sources":["../../src/tools/register-peer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"register-peer.js","sourceRoot":"","sources":["../../src/tools/register-peer.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.0.4",
3
+ "version": "3.0.6",
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": "2.0.3",
6
+ "version": "3.0.6",
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": "2.0.3",
15
+ "version": "3.0.6",
16
16
  "runtimeHint": "npx",
17
17
  "transport": {
18
18
  "type": "stdio"