@essentialai/cogent-bridge 3.23.2 → 3.23.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 +82 -2
- package/dist/services/auto-relay.d.ts +14 -0
- package/dist/services/auto-relay.d.ts.map +1 -1
- package/dist/services/auto-relay.js +113 -1
- package/dist/services/auto-relay.js.map +1 -1
- package/dist/services/session-wake-lock.d.ts +26 -0
- package/dist/services/session-wake-lock.d.ts.map +1 -0
- package/dist/services/session-wake-lock.js +198 -0
- package/dist/services/session-wake-lock.js.map +1 -0
- package/dist/services/wake-claim.d.ts +14 -0
- package/dist/services/wake-claim.d.ts.map +1 -0
- package/dist/services/wake-claim.js +139 -0
- package/dist/services/wake-claim.js.map +1 -0
- package/dist/services/wake-lock.d.ts +30 -0
- package/dist/services/wake-lock.d.ts.map +1 -0
- package/dist/services/wake-lock.js +257 -0
- package/dist/services/wake-lock.js.map +1 -0
- package/dist/services/wake-ownership.d.ts +48 -0
- package/dist/services/wake-ownership.d.ts.map +1 -0
- package/dist/services/wake-ownership.js +193 -0
- package/dist/services/wake-ownership.js.map +1 -0
- package/package.json +1 -1
- package/server.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,10 +1,90 @@
|
|
|
1
|
+
## 3.23.4 — 2026-09-06
|
|
2
|
+
|
|
3
|
+
### Duplicate agent work: two bridge processes in one checkout
|
|
4
|
+
|
|
5
|
+
Two bridges serving one checkout could run `claude --resume` **concurrently**, corrupting the
|
|
6
|
+
worktree and repeating each other's work. Measured on a real user (peer `marvin-coder`): the same
|
|
7
|
+
peerId live on the FREE relay at plugin v3.20.0 and on the TEAM relay at v3.23.1 — same cwd, same
|
|
8
|
+
thread. Reachable because credentials are keyed on the cwd ALONE, so a second join overwrites the
|
|
9
|
+
file while the first process keeps running from its in-memory token and live WebSocket.
|
|
10
|
+
|
|
11
|
+
The 3.23.3 per-message claim cannot cover this: two relays mint two different message ids, so both
|
|
12
|
+
claims succeed.
|
|
13
|
+
|
|
14
|
+
**`wake-lock.ts` — cross-process serialisation, keyed on the CHECKOUT.** Not on the session: two
|
|
15
|
+
processes can hold different session pins, and the corruption belongs to the worktree either way.
|
|
16
|
+
It WAITS rather than drops, so two genuinely distinct questions still both get answered — only the
|
|
17
|
+
concurrency is removed. Re-entrant, because `_injectOnly` runs outside the in-process lock. Fails
|
|
18
|
+
open on every uncertain path.
|
|
19
|
+
|
|
20
|
+
**`wake-ownership.ts` — self-healing.** Users do not run `pkill`. Measured on a dev machine: 37
|
|
21
|
+
live bridges and NOT ONE an orphan — one `codex app-server` daemon had spawned 7 over 3.5 days, and
|
|
22
|
+
a single interactive session had cogent registered twice. They are not orphaned, they are
|
|
23
|
+
REDUNDANT, so "exit on stdin EOF" would have healed nothing. Instead each bridge announces itself
|
|
24
|
+
for `(cwd, peerId)`; the owner is the newest live process by START TIME, and a superseded bridge
|
|
25
|
+
stops waking and tells the sender (`BRIDGE_SUPERSEDED`) rather than going silent. The key includes
|
|
26
|
+
the peerId so two real agents sharing a checkout both keep working; ownership by process start
|
|
27
|
+
means a stood-down bridge can never win the title back and ping-pong.
|
|
28
|
+
|
|
29
|
+
**Forward-looking, and this matters:** a pre-3.23.4 leftover neither announces nor locks, so
|
|
30
|
+
existing ghosts still need one manual clear (`ps -eo pid,etime,args | grep "[c]ogent-bridge"`).
|
|
31
|
+
From this release on, a leftover created by the next update heals itself.
|
|
32
|
+
|
|
33
|
+
### Gates
|
|
34
|
+
- `scripts/wake-dedup-matrix-test.mjs` — three topologies, fully offline against two local relays.
|
|
35
|
+
- Two safety mechanisms were found MASKING each other: the lock's gate went RED, then STAYED_GREEN
|
|
36
|
+
once supersession landed, because ownership stood the leftover down before the lock was reached.
|
|
37
|
+
Each now has a topology the other cannot short-circuit. Only the FULL mutation catalogue caught
|
|
38
|
+
it; `--only` could not.
|
|
39
|
+
|
|
40
|
+
## 3.23.3 — 2026-09-05
|
|
41
|
+
|
|
42
|
+
### Fixed — the same message woke N agent copies, which then did the same work N times
|
|
43
|
+
|
|
44
|
+
Found and measured by an unnamed session working on the `marvin` checkout — including the commit
|
|
45
|
+
titled *"the duplicate-work prediction came true — five identical commits on main"*. `marvin-coder`
|
|
46
|
+
surfaced it to me from the git log and stopped short of committing until it had checked its own work
|
|
47
|
+
was not a duplicate; it did **not** claim the finding, and corrected me when I credited it.
|
|
48
|
+
|
|
49
|
+
**Attribution correction (2026-09-05):** the 3.23.3 release commit and my channel broadcast both said
|
|
50
|
+
"marvin-coder reported" this. That was wrong, and the record is corrected here rather than quietly.
|
|
51
|
+
|
|
52
|
+
Mechanism, read out of the relay source rather than inferred: `ConnectionManager` stores
|
|
53
|
+
`sessionId -> peerId -> PeerConnection[]` — an **array** — and `sendToPeer` iterates it, writing to
|
|
54
|
+
**every** connection. That array is deliberate (a reconnect keeps the old socket briefly), but it
|
|
55
|
+
means N bridge processes registered as the same peer each receive the same message. Each then
|
|
56
|
+
consults its own in-memory queue — empty in each, because the queue is per-process — and each runs
|
|
57
|
+
`claude --resume <the same threadId>` in the same working directory.
|
|
58
|
+
|
|
59
|
+
The existing wake-inflight marker could not prevent it: rail B only *writes* it, as a signal to
|
|
60
|
+
rail C, and never reads it back to decide whether to wake.
|
|
61
|
+
|
|
62
|
+
- **`wake-claim.ts`** — an atomic, cross-process claim per (cwd, peer, message), using
|
|
63
|
+
`writeFileSync(..., { flag: "wx" })`, the same exclusive-create + stale-holder-detection
|
|
64
|
+
primitive `peer-registry` already uses. Homedir-keyed, because the competing processes may be
|
|
65
|
+
launched with different env and an exclusion the other process cannot see is not an exclusion.
|
|
66
|
+
- **Per message, not per cwd.** A cwd-wide lock would prevent more collisions and would also *lose*
|
|
67
|
+
messages: both processes receive every message, so the loser would silently drop one it was the
|
|
68
|
+
only one free to handle.
|
|
69
|
+
- **Fails open.** If a claim cannot be written or read, the wake proceeds. Duplicated work is
|
|
70
|
+
visible and recoverable; a silently dropped message is neither.
|
|
71
|
+
- A claim held by a dead process, an expired claim, or a corrupt claim file is taken over — a lock
|
|
72
|
+
that outlives its holder would mute a peer permanently, which is worse than the duplication.
|
|
73
|
+
|
|
74
|
+
Proven with two `AutoRelayService` instances sharing a peer, cwd and HOME: one wake, one reply. The
|
|
75
|
+
suite also asserts the **setup** — given separate HOMEs the two processes both wake, reproducing the
|
|
76
|
+
defect — so the passing case cannot pass vacuously.
|
|
77
|
+
|
|
1
78
|
## 3.23.2 — 2026-09-05
|
|
2
79
|
|
|
3
80
|
### Fixed — mail was broken for EVERY plugin user (P0)
|
|
4
81
|
|
|
5
82
|
`cogent_send_mail` and `cogent_fetch_mail` failed on every plugin install with
|
|
6
|
-
`Cannot find package 'nodemailer'`.
|
|
7
|
-
|
|
83
|
+
`Cannot find package 'nodemailer'`. Both halves were reported, by different agents: `marvin-mobile`
|
|
84
|
+
found the **nodemailer** failure, and `marvin-coder` had separately reported the **imapflow** half
|
|
85
|
+
breaking `cogent_fetch_mail` on 3.20.0. I first said I could not reproduce it — because I tested from
|
|
86
|
+
the repo, which has `node_modules`, and the plugin does not. (Earlier text credited this solely to
|
|
87
|
+
MARA; corrected 2026-09-05.)
|
|
8
88
|
|
|
9
89
|
`mail-sender.ts` loaded nodemailer through a **variable** specifier
|
|
10
90
|
(`const specifier = "nodemailer"; await import(specifier)`) deliberately, to keep it off the
|
|
@@ -79,6 +79,8 @@ export declare class AutoRelayService {
|
|
|
79
79
|
*/
|
|
80
80
|
private localLabel;
|
|
81
81
|
private processing;
|
|
82
|
+
/** Senders already told this bridge is superseded — one notice each, not one per message. */
|
|
83
|
+
private supersededNotified;
|
|
82
84
|
private queue;
|
|
83
85
|
private awarenessOnly;
|
|
84
86
|
private expectingResponseFrom;
|
|
@@ -224,6 +226,18 @@ export declare class AutoRelayService {
|
|
|
224
226
|
* - Serialized processing with queue to prevent concurrent execRemote calls
|
|
225
227
|
*/
|
|
226
228
|
handleIncoming(msg: MessageRecord): Promise<void>;
|
|
229
|
+
/**
|
|
230
|
+
* Tell the sender we are a LEFTOVER bridge and are not answering — instead of going silent.
|
|
231
|
+
*
|
|
232
|
+
* Silence is the failure mode this codebase treats as worst: it is indistinguishable from
|
|
233
|
+
* "nothing to do". A superseded bridge is usually reachable on a channel the newer bridge is NOT
|
|
234
|
+
* on (the measured case had the ghost on the FREE relay and the live one on TEAM), so without
|
|
235
|
+
* this the sender would wait forever with no explanation.
|
|
236
|
+
*
|
|
237
|
+
* Once per sender per process — a leftover that is being messaged steadily must not turn into a
|
|
238
|
+
* notice generator.
|
|
239
|
+
*/
|
|
240
|
+
private _reportSuperseded;
|
|
227
241
|
/**
|
|
228
242
|
* Dispatch a message under the `processing` lock: an awareness-marked broadcast is
|
|
229
243
|
* inject-only (see, no reply); everything else is a full wake+reply. Routing both
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auto-relay.d.ts","sourceRoot":"","sources":["../../src/services/auto-relay.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAiB,UAAU,EAAE,MAAM,aAAa,CAAC;AAGvE,OAAO,EAAkB,KAAK,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"auto-relay.d.ts","sourceRoot":"","sources":["../../src/services/auto-relay.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,6 +6,10 @@ import { getConfig } from "../config.js";
|
|
|
6
6
|
import { getBackend } from "../backend/index.js";
|
|
7
7
|
import { setSandboxOverride, effectiveSandbox } from "./codex-cli.js";
|
|
8
8
|
import { markWakeInFlight, clearWakeInFlight } from "./wake-inflight.js";
|
|
9
|
+
import { claimWake, releaseWake } from "./wake-claim.js";
|
|
10
|
+
import { acquireWakeLock } from "./wake-lock.js";
|
|
11
|
+
import { announceBridge, checkWakeOwnership, withdrawBridge } from "./wake-ownership.js";
|
|
12
|
+
import { CLIENT_VERSION } from "../constants.js";
|
|
9
13
|
import { logger } from "../logger.js";
|
|
10
14
|
import { consumeNudgeOnce } from "../backend/npm-update-check.js";
|
|
11
15
|
/**
|
|
@@ -294,6 +298,8 @@ export class AutoRelayService {
|
|
|
294
298
|
*/
|
|
295
299
|
localLabel = null;
|
|
296
300
|
processing = false;
|
|
301
|
+
/** Senders already told this bridge is superseded — one notice each, not one per message. */
|
|
302
|
+
supersededNotified = new Set();
|
|
297
303
|
queue = [];
|
|
298
304
|
// Message ids to be handled inject-only (full-group-chat awareness) rather than
|
|
299
305
|
// full-wake+reply. Shares the `processing` lock + `queue` so an awareness inject
|
|
@@ -338,6 +344,12 @@ export class AutoRelayService {
|
|
|
338
344
|
this.localMode = mode ?? "agent";
|
|
339
345
|
this.localLabel = label ?? peerId;
|
|
340
346
|
logger.info(`Auto-relay configured for peer ${peerId} (session: ${sessionId}, pinned: ${this.pinnedSessionId}, mode: ${this.localMode}, label: ${this.localLabel})`);
|
|
347
|
+
// SELF-HEALING (2026-09-05). Announce this process as a bridge serving this identity, so a
|
|
348
|
+
// LEFTOVER bridge for the same (cwd, peerId) — one a plugin update did not stop — can see it
|
|
349
|
+
// has been superseded and stand down on its own. Nobody has to run pkill. See
|
|
350
|
+
// services/wake-ownership.ts for why the key is (cwd, peerId) and not cwd alone.
|
|
351
|
+
announceBridge(cwd, peerId, CLIENT_VERSION, getConfig().COGENT_ENDPOINT ?? "local");
|
|
352
|
+
this.supersededNotified.clear();
|
|
341
353
|
}
|
|
342
354
|
/**
|
|
343
355
|
* Emit one content-free wake-trace line (ids/decisions/timings only — NEVER
|
|
@@ -772,7 +784,31 @@ export class AutoRelayService {
|
|
|
772
784
|
// constantly. Awareness-only injects are excluded: they are never answered, and rail C's
|
|
773
785
|
// scope (directed + human-broadcast) does not cover agent broadcasts anyway.
|
|
774
786
|
// Retracted in _dispatch's finally. See services/wake-inflight.ts.
|
|
787
|
+
// 🔴 CROSS-PROCESS DEDUP (marvin-coder, 2026-09-05). The relay keeps an ARRAY of connections
|
|
788
|
+
// per peer and `sendToPeer` writes to every one, so N bridge processes registered as this peer
|
|
789
|
+
// each receive THIS SAME message. The queue below serializes within ONE process only, so
|
|
790
|
+
// without this every one of them resumes the same session and repeats the same work — four
|
|
791
|
+
// identically-titled commits on a real user's main branch.
|
|
792
|
+
//
|
|
793
|
+
// Claimed BEFORE the queue, because losing the claim means another process owns the whole
|
|
794
|
+
// message and we must not hold it, notify about it, or answer it. Released in _dispatch's
|
|
795
|
+
// finally. Fails OPEN: an unclaimable message is still woken (see wake-claim.ts).
|
|
796
|
+
// 🔴 SELF-HEALING: STAND DOWN IF SUPERSEDED — and do it BEFORE claiming.
|
|
797
|
+
// Order matters absolutely here. If a leftover bridge claimed the message first and only then
|
|
798
|
+
// discovered it was superseded, the real owner would find the claim taken and skip the
|
|
799
|
+
// message: duplicate work would become TOTAL SILENCE, which is far worse. So ownership is
|
|
800
|
+
// decided before anything is held. Fails open (see wake-ownership.ts).
|
|
801
|
+
if (this.localPeerId && this.localCwd) {
|
|
802
|
+
const own = checkWakeOwnership(this.localCwd, this.localPeerId);
|
|
803
|
+
if (!own.isOwner) {
|
|
804
|
+
await this._reportSuperseded(msg, own.owner);
|
|
805
|
+
return;
|
|
806
|
+
}
|
|
807
|
+
}
|
|
775
808
|
if (this.localPeerId && !this.awarenessOnly.has(msg.id)) {
|
|
809
|
+
if (!claimWake(this.localPeerId, msg.id, this.localCwd ?? process.cwd())) {
|
|
810
|
+
return; // another live process in this cwd owns this message
|
|
811
|
+
}
|
|
776
812
|
markWakeInFlight(this.localPeerId, msg.id, msg.traceId);
|
|
777
813
|
}
|
|
778
814
|
// Serialize processing: queue if already busy
|
|
@@ -808,6 +844,44 @@ export class AutoRelayService {
|
|
|
808
844
|
}
|
|
809
845
|
}
|
|
810
846
|
}
|
|
847
|
+
/**
|
|
848
|
+
* Tell the sender we are a LEFTOVER bridge and are not answering — instead of going silent.
|
|
849
|
+
*
|
|
850
|
+
* Silence is the failure mode this codebase treats as worst: it is indistinguishable from
|
|
851
|
+
* "nothing to do". A superseded bridge is usually reachable on a channel the newer bridge is NOT
|
|
852
|
+
* on (the measured case had the ghost on the FREE relay and the live one on TEAM), so without
|
|
853
|
+
* this the sender would wait forever with no explanation.
|
|
854
|
+
*
|
|
855
|
+
* Once per sender per process — a leftover that is being messaged steadily must not turn into a
|
|
856
|
+
* notice generator.
|
|
857
|
+
*/
|
|
858
|
+
async _reportSuperseded(msg, owner) {
|
|
859
|
+
const who = owner ? `pid ${owner.pid} (v${owner.version}, ${owner.endpoint})` : "a newer bridge";
|
|
860
|
+
logger.warn(`Auto-relay: NOT waking for ${msg.fromPeerId} — this bridge (pid ${process.pid}, ` +
|
|
861
|
+
`v${CLIENT_VERSION}) has been superseded for peer "${this.localPeerId}" in this checkout by ` +
|
|
862
|
+
`${who}. It is a leftover process; the newer bridge is answering. Standing down.`);
|
|
863
|
+
if (this.supersededNotified.has(msg.fromPeerId))
|
|
864
|
+
return;
|
|
865
|
+
this.supersededNotified.add(msg.fromPeerId);
|
|
866
|
+
try {
|
|
867
|
+
await getBackend().recordMessage({
|
|
868
|
+
fromPeerId: this.localPeerId,
|
|
869
|
+
toPeerId: msg.fromPeerId,
|
|
870
|
+
message: `⚠️ "${this.localPeerId}" is not answering on this channel: this bridge process is a ` +
|
|
871
|
+
`leftover (v${CLIENT_VERSION}) that a newer one has replaced in the same checkout. ` +
|
|
872
|
+
`Send to the agent on its current channel instead.`,
|
|
873
|
+
response: null,
|
|
874
|
+
durationMs: 0,
|
|
875
|
+
success: false,
|
|
876
|
+
error: "BRIDGE_SUPERSEDED",
|
|
877
|
+
isRelayEcho: true,
|
|
878
|
+
traceId: msg.traceId,
|
|
879
|
+
});
|
|
880
|
+
}
|
|
881
|
+
catch (err) {
|
|
882
|
+
logger.error(`Auto-relay: failed to record superseded notice: ${err}`);
|
|
883
|
+
}
|
|
884
|
+
}
|
|
811
885
|
/**
|
|
812
886
|
* Dispatch a message under the `processing` lock: an awareness-marked broadcast is
|
|
813
887
|
* inject-only (see, no reply); everything else is a full wake+reply. Routing both
|
|
@@ -823,12 +897,17 @@ export class AutoRelayService {
|
|
|
823
897
|
// whatever happened — because a leaked marker is the one failure mode that would mute
|
|
824
898
|
// rail C for this peer until the writer-stamped expiry.
|
|
825
899
|
const inflightPeer = this.localPeerId;
|
|
900
|
+
const claimCwd = this.localCwd ?? process.cwd();
|
|
826
901
|
try {
|
|
827
902
|
await this._processMessage(msg);
|
|
828
903
|
}
|
|
829
904
|
finally {
|
|
830
|
-
if (inflightPeer)
|
|
905
|
+
if (inflightPeer) {
|
|
831
906
|
clearWakeInFlight(inflightPeer, msg.id);
|
|
907
|
+
// Release the cross-process claim too, or a crash-free but slow peer would keep other
|
|
908
|
+
// processes out until the writer-stamped expiry.
|
|
909
|
+
releaseWake(inflightPeer, msg.id, claimCwd);
|
|
910
|
+
}
|
|
832
911
|
}
|
|
833
912
|
}
|
|
834
913
|
/**
|
|
@@ -950,6 +1029,9 @@ export class AutoRelayService {
|
|
|
950
1029
|
let wakeExitCode = null;
|
|
951
1030
|
let refused = false;
|
|
952
1031
|
let threw = false;
|
|
1032
|
+
// Held only across the resume itself; released in the finally below so a thrown wake can
|
|
1033
|
+
// never leave the next turn (or another process) blocked behind a dead lease.
|
|
1034
|
+
let wakeLease = null;
|
|
953
1035
|
try {
|
|
954
1036
|
// Confidence-aware resolve (prefer-exact / refuse-if-close) instead of a
|
|
955
1037
|
// silent newest-mtime guess.
|
|
@@ -996,11 +1078,21 @@ export class AutoRelayService {
|
|
|
996
1078
|
decision: res.decision,
|
|
997
1079
|
confidence: res.confidence,
|
|
998
1080
|
});
|
|
1081
|
+
// 🔴 CROSS-PROCESS SERIALISATION PER CHECKOUT (marvin-coder, 2026-09-05).
|
|
1082
|
+
// The per-message claim above cannot cover this: a second bridge reached through a
|
|
1083
|
+
// DIFFERENT relay carries a different message id, so both claims succeed and both
|
|
1084
|
+
// processes run a resume over the same worktree at once. Keyed on the CWD, not the
|
|
1085
|
+
// session — two processes can hold different session pins for one checkout, and the
|
|
1086
|
+
// corruption is a property of the worktree either way. Waits rather than drops; fails
|
|
1087
|
+
// open. See services/wake-lock.ts and wake-dedup-matrix-test.mjs --topology two-relay.
|
|
1088
|
+
wakeLease = await acquireWakeLock(this.localCwd, this.localSessionId);
|
|
999
1089
|
// Calls the local agent CLI via execRemote (platform-polymorphic dispatch).
|
|
1000
1090
|
// Routes to `claude --resume` on CC or `codex exec resume` on Codex.
|
|
1001
1091
|
// This is NOT the HttpBackend stub (which is a no-op).
|
|
1002
1092
|
// Snapshot BEFORE the wake so the log can name what changed while it ran.
|
|
1003
1093
|
// Read-only, failure-tolerant (null when not a git repo) — never blocks the wake.
|
|
1094
|
+
// Snapshotted AFTER the lease, so it describes the tree we are about to act on rather
|
|
1095
|
+
// than one another process was still mutating.
|
|
1004
1096
|
treeBefore = captureTreeState(this.localCwd);
|
|
1005
1097
|
const result = await execRemote(getConfig().COGENT_PLATFORM, this.localSessionId, formatted, this.localCwd, undefined,
|
|
1006
1098
|
// Idempotency: the codex app-server rail runs turns on the daemon
|
|
@@ -1108,6 +1200,9 @@ export class AutoRelayService {
|
|
|
1108
1200
|
}
|
|
1109
1201
|
}
|
|
1110
1202
|
finally {
|
|
1203
|
+
// Release BEFORE recording: _recordWake does file I/O and a git snapshot, and holding a
|
|
1204
|
+
// cross-process lease across bookkeeping would stall the other bridge for no reason.
|
|
1205
|
+
wakeLease?.release();
|
|
1111
1206
|
// ALWAYS, on every path including the early `return` of a refused wake. The one
|
|
1112
1207
|
// outcome a forensic log must never have is a gap where something clearly happened.
|
|
1113
1208
|
this._recordWake(msg, traceId, {
|
|
@@ -1216,6 +1311,10 @@ export class AutoRelayService {
|
|
|
1216
1311
|
// Fall back to peerId as label
|
|
1217
1312
|
}
|
|
1218
1313
|
const formatted = formatInjectOnlyMessage(fromLabel, msg.fromPeerId, msg.message, msg.attachments);
|
|
1314
|
+
// An inject runs a real resume too, so it must serialise with every other turn in this
|
|
1315
|
+
// checkout — including one started by a different bridge process. The per-message claim
|
|
1316
|
+
// does NOT cover this path (it is skipped for awareness-only injects).
|
|
1317
|
+
const lease = await acquireWakeLock(this.localCwd, this.localSessionId);
|
|
1219
1318
|
try {
|
|
1220
1319
|
// Re-detect session before each call -- CC rotates .jsonl after ~1hr idle
|
|
1221
1320
|
await this.refreshSessionId();
|
|
@@ -1230,6 +1329,9 @@ export class AutoRelayService {
|
|
|
1230
1329
|
catch (err) {
|
|
1231
1330
|
logger.error(`Auto-relay: inject-only execRemote threw: ${err}`);
|
|
1232
1331
|
}
|
|
1332
|
+
finally {
|
|
1333
|
+
lease.release();
|
|
1334
|
+
}
|
|
1233
1335
|
}
|
|
1234
1336
|
/**
|
|
1235
1337
|
* Full-group-chat awareness (COGENT_BROADCAST_AWARENESS): inject a PEER's broadcast
|
|
@@ -1252,6 +1354,8 @@ export class AutoRelayService {
|
|
|
1252
1354
|
// Fall back to peerId as label
|
|
1253
1355
|
}
|
|
1254
1356
|
const formatted = formatPeerBroadcastNotice(fromLabel, msg.fromPeerId, msg.message, msg.attachments);
|
|
1357
|
+
// Same reasoning as _injectOnly: an awareness inject is a real resume over this checkout.
|
|
1358
|
+
const lease = await acquireWakeLock(this.localCwd, this.localSessionId);
|
|
1255
1359
|
try {
|
|
1256
1360
|
// Re-detect session before each call -- CC rotates .jsonl after ~1hr idle
|
|
1257
1361
|
await this.refreshSessionId();
|
|
@@ -1266,6 +1370,9 @@ export class AutoRelayService {
|
|
|
1266
1370
|
catch (err) {
|
|
1267
1371
|
logger.error(`Auto-relay: peer-broadcast awareness inject execRemote threw: ${err}`);
|
|
1268
1372
|
}
|
|
1373
|
+
finally {
|
|
1374
|
+
lease.release();
|
|
1375
|
+
}
|
|
1269
1376
|
}
|
|
1270
1377
|
/**
|
|
1271
1378
|
* Get diagnostic info about the auto-relay state.
|
|
@@ -1307,8 +1414,13 @@ export class AutoRelayService {
|
|
|
1307
1414
|
}
|
|
1308
1415
|
this.deliveryAckWaiters.clear();
|
|
1309
1416
|
this.recentAcks.clear();
|
|
1417
|
+
// Withdraw this bridge's ownership announcement BEFORE clearing the identity it is keyed on,
|
|
1418
|
+
// so a graceful shutdown does not leave a record another process has to prune by pid liveness.
|
|
1419
|
+
if (this.localCwd && this.localPeerId)
|
|
1420
|
+
withdrawBridge(this.localCwd, this.localPeerId);
|
|
1310
1421
|
this.queue = [];
|
|
1311
1422
|
this.awarenessOnly.clear();
|
|
1423
|
+
this.supersededNotified.clear();
|
|
1312
1424
|
this.localPeerId = null;
|
|
1313
1425
|
this.localSessionId = null;
|
|
1314
1426
|
this.localCwd = null;
|
|
@@ -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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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/** Hard ceiling on how long one lease may exclude others. Mirrors wake-claim's CLAIM_MAX_MS. */
|
|
2
|
+
export declare const SESSION_WAKE_MAX_MS = 1800000;
|
|
3
|
+
/** `~/.cogent/wake-sessions/<sha256(cwd)[..16]>.<sessionId>.json` */
|
|
4
|
+
export declare function sessionWakeLockPath(sessionId: string, cwd?: string): string;
|
|
5
|
+
export interface SessionWakeLease {
|
|
6
|
+
/** True whenever the caller may wake — including every fail-open path. */
|
|
7
|
+
acquired: boolean;
|
|
8
|
+
/** Milliseconds spent waiting for another process. 0 when uncontended. */
|
|
9
|
+
waitedMs: number;
|
|
10
|
+
/** True when another live process held the lease and we had to wait for it. */
|
|
11
|
+
contended: boolean;
|
|
12
|
+
/** Idempotent. Safe to call even when the lease was never really taken. */
|
|
13
|
+
release: () => void;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Become the single process resuming `sessionId` in `cwd`, waiting out any other holder.
|
|
17
|
+
*
|
|
18
|
+
* Never returns `acquired: false` today — every path either takes the lease or fails open — but the
|
|
19
|
+
* field is explicit so a caller reads the intent rather than assuming it.
|
|
20
|
+
*/
|
|
21
|
+
export declare function acquireSessionWake(sessionId: string, cwd?: string, opts?: {
|
|
22
|
+
maxWaitMs?: number;
|
|
23
|
+
}): Promise<SessionWakeLease>;
|
|
24
|
+
/** Release the lease. Best-effort; an orphan expires or is stolen when its holder dies. */
|
|
25
|
+
export declare function releaseSessionWake(sessionId: string, cwd?: string): void;
|
|
26
|
+
//# sourceMappingURL=session-wake-lock.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session-wake-lock.d.ts","sourceRoot":"","sources":["../../src/services/session-wake-lock.ts"],"names":[],"mappings":"AAwCA,gGAAgG;AAChG,eAAO,MAAM,mBAAmB,UAAY,CAAC;AAqB7C,qEAAqE;AACrE,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,GAAE,MAAsB,GAAG,MAAM,CAE1F;AAsDD,MAAM,WAAW,gBAAgB;IAC/B,0EAA0E;IAC1E,QAAQ,EAAE,OAAO,CAAC;IAClB,0EAA0E;IAC1E,QAAQ,EAAE,MAAM,CAAC;IACjB,+EAA+E;IAC/E,SAAS,EAAE,OAAO,CAAC;IACnB,2EAA2E;IAC3E,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAID;;;;;GAKG;AACH,wBAAsB,kBAAkB,CACtC,SAAS,EAAE,MAAM,EACjB,GAAG,GAAE,MAAsB,EAC3B,IAAI,GAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAO,GAChC,OAAO,CAAC,gBAAgB,CAAC,CA8E3B;AAED,2FAA2F;AAC3F,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,GAAE,MAAsB,GAAG,IAAI,CAMvF"}
|