@essentialai/cogent-bridge 3.23.3 → 3.23.5
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 +72 -4
- 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 +94 -0
- 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-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/dist/tools/join-session.d.ts.map +1 -1
- package/dist/tools/join-session.js +30 -2
- package/dist/tools/join-session.js.map +1 -1
- package/package.json +1 -1
- package/server.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,9 +1,74 @@
|
|
|
1
|
+
## 3.23.5 — 2026-09-06
|
|
2
|
+
|
|
3
|
+
### Fixed — a re-join destroyed the agent's own identity, permanently (AUD-003)
|
|
4
|
+
|
|
5
|
+
`cogent_join_session` persisted a FRESH credential object, and `saveCredentials` is a whole-file
|
|
6
|
+
replace with no merge — so **every re-join silently dropped `peerSecret` and `peerId`**.
|
|
7
|
+
|
|
8
|
+
`credential-store.ts:30-34` states the consequence: a peer is owned by the token that created it,
|
|
9
|
+
and re-joining issues a NEW token, so without the secret the agent can never re-register its own
|
|
10
|
+
peerId. The relay mints a peer secret **only when the stored peer has none**
|
|
11
|
+
(`server/src/routes/peers.ts:313-317`) — it is never reissued, so the lockout is **permanent**.
|
|
12
|
+
`register-peer.ts:325-345` already had the correct shape.
|
|
13
|
+
|
|
14
|
+
Scoped deliberately: `peerId`/`peerSecret` identify a peer on ONE channel of ONE relay, so they are
|
|
15
|
+
carried forward only when the join lands on the **same endpoint AND sessionId**. Re-attaching them
|
|
16
|
+
to another channel would claim an identity we do not own — guarded by three sibling tests that must
|
|
17
|
+
stay green under the mutation.
|
|
18
|
+
|
|
19
|
+
TDD: the PRESERVES test was written first and watched fail (1 failed / 9 passed), and only that one
|
|
20
|
+
moved. Catalogued in `scripts/audit-fix-mutations.json` and mutation-proven RED.
|
|
21
|
+
|
|
22
|
+
## 3.23.4 — 2026-09-06
|
|
23
|
+
|
|
24
|
+
### Duplicate agent work: two bridge processes in one checkout
|
|
25
|
+
|
|
26
|
+
Two bridges serving one checkout could run `claude --resume` **concurrently**, corrupting the
|
|
27
|
+
worktree and repeating each other's work. Measured on a real user (peer `marvin-coder`): the same
|
|
28
|
+
peerId live on the FREE relay at plugin v3.20.0 and on the TEAM relay at v3.23.1 — same cwd, same
|
|
29
|
+
thread. Reachable because credentials are keyed on the cwd ALONE, so a second join overwrites the
|
|
30
|
+
file while the first process keeps running from its in-memory token and live WebSocket.
|
|
31
|
+
|
|
32
|
+
The 3.23.3 per-message claim cannot cover this: two relays mint two different message ids, so both
|
|
33
|
+
claims succeed.
|
|
34
|
+
|
|
35
|
+
**`wake-lock.ts` — cross-process serialisation, keyed on the CHECKOUT.** Not on the session: two
|
|
36
|
+
processes can hold different session pins, and the corruption belongs to the worktree either way.
|
|
37
|
+
It WAITS rather than drops, so two genuinely distinct questions still both get answered — only the
|
|
38
|
+
concurrency is removed. Re-entrant, because `_injectOnly` runs outside the in-process lock. Fails
|
|
39
|
+
open on every uncertain path.
|
|
40
|
+
|
|
41
|
+
**`wake-ownership.ts` — self-healing.** Users do not run `pkill`. Measured on a dev machine: 37
|
|
42
|
+
live bridges and NOT ONE an orphan — one `codex app-server` daemon had spawned 7 over 3.5 days, and
|
|
43
|
+
a single interactive session had cogent registered twice. They are not orphaned, they are
|
|
44
|
+
REDUNDANT, so "exit on stdin EOF" would have healed nothing. Instead each bridge announces itself
|
|
45
|
+
for `(cwd, peerId)`; the owner is the newest live process by START TIME, and a superseded bridge
|
|
46
|
+
stops waking and tells the sender (`BRIDGE_SUPERSEDED`) rather than going silent. The key includes
|
|
47
|
+
the peerId so two real agents sharing a checkout both keep working; ownership by process start
|
|
48
|
+
means a stood-down bridge can never win the title back and ping-pong.
|
|
49
|
+
|
|
50
|
+
**Forward-looking, and this matters:** a pre-3.23.4 leftover neither announces nor locks, so
|
|
51
|
+
existing ghosts still need one manual clear (`ps -eo pid,etime,args | grep "[c]ogent-bridge"`).
|
|
52
|
+
From this release on, a leftover created by the next update heals itself.
|
|
53
|
+
|
|
54
|
+
### Gates
|
|
55
|
+
- `scripts/wake-dedup-matrix-test.mjs` — three topologies, fully offline against two local relays.
|
|
56
|
+
- Two safety mechanisms were found MASKING each other: the lock's gate went RED, then STAYED_GREEN
|
|
57
|
+
once supersession landed, because ownership stood the leftover down before the lock was reached.
|
|
58
|
+
Each now has a topology the other cannot short-circuit. Only the FULL mutation catalogue caught
|
|
59
|
+
it; `--only` could not.
|
|
60
|
+
|
|
1
61
|
## 3.23.3 — 2026-09-05
|
|
2
62
|
|
|
3
63
|
### Fixed — the same message woke N agent copies, which then did the same work N times
|
|
4
64
|
|
|
5
|
-
|
|
6
|
-
|
|
65
|
+
Found and measured by an unnamed session working on the `marvin` checkout — including the commit
|
|
66
|
+
titled *"the duplicate-work prediction came true — five identical commits on main"*. `marvin-coder`
|
|
67
|
+
surfaced it to me from the git log and stopped short of committing until it had checked its own work
|
|
68
|
+
was not a duplicate; it did **not** claim the finding, and corrected me when I credited it.
|
|
69
|
+
|
|
70
|
+
**Attribution correction (2026-09-05):** the 3.23.3 release commit and my channel broadcast both said
|
|
71
|
+
"marvin-coder reported" this. That was wrong, and the record is corrected here rather than quietly.
|
|
7
72
|
|
|
8
73
|
Mechanism, read out of the relay source rather than inferred: `ConnectionManager` stores
|
|
9
74
|
`sessionId -> peerId -> PeerConnection[]` — an **array** — and `sendToPeer` iterates it, writing to
|
|
@@ -36,8 +101,11 @@ defect — so the passing case cannot pass vacuously.
|
|
|
36
101
|
### Fixed — mail was broken for EVERY plugin user (P0)
|
|
37
102
|
|
|
38
103
|
`cogent_send_mail` and `cogent_fetch_mail` failed on every plugin install with
|
|
39
|
-
`Cannot find package 'nodemailer'`.
|
|
40
|
-
|
|
104
|
+
`Cannot find package 'nodemailer'`. Both halves were reported, by different agents: `marvin-mobile`
|
|
105
|
+
found the **nodemailer** failure, and `marvin-coder` had separately reported the **imapflow** half
|
|
106
|
+
breaking `cogent_fetch_mail` on 3.20.0. I first said I could not reproduce it — because I tested from
|
|
107
|
+
the repo, which has `node_modules`, and the plugin does not. (Earlier text credited this solely to
|
|
108
|
+
MARA; corrected 2026-09-05.)
|
|
41
109
|
|
|
42
110
|
`mail-sender.ts` loaded nodemailer through a **variable** specifier
|
|
43
111
|
(`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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"}
|
|
@@ -7,6 +7,9 @@ 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
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";
|
|
10
13
|
import { logger } from "../logger.js";
|
|
11
14
|
import { consumeNudgeOnce } from "../backend/npm-update-check.js";
|
|
12
15
|
/**
|
|
@@ -295,6 +298,8 @@ export class AutoRelayService {
|
|
|
295
298
|
*/
|
|
296
299
|
localLabel = null;
|
|
297
300
|
processing = false;
|
|
301
|
+
/** Senders already told this bridge is superseded — one notice each, not one per message. */
|
|
302
|
+
supersededNotified = new Set();
|
|
298
303
|
queue = [];
|
|
299
304
|
// Message ids to be handled inject-only (full-group-chat awareness) rather than
|
|
300
305
|
// full-wake+reply. Shares the `processing` lock + `queue` so an awareness inject
|
|
@@ -339,6 +344,12 @@ export class AutoRelayService {
|
|
|
339
344
|
this.localMode = mode ?? "agent";
|
|
340
345
|
this.localLabel = label ?? peerId;
|
|
341
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();
|
|
342
353
|
}
|
|
343
354
|
/**
|
|
344
355
|
* Emit one content-free wake-trace line (ids/decisions/timings only — NEVER
|
|
@@ -782,6 +793,18 @@ export class AutoRelayService {
|
|
|
782
793
|
// Claimed BEFORE the queue, because losing the claim means another process owns the whole
|
|
783
794
|
// message and we must not hold it, notify about it, or answer it. Released in _dispatch's
|
|
784
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
|
+
}
|
|
785
808
|
if (this.localPeerId && !this.awarenessOnly.has(msg.id)) {
|
|
786
809
|
if (!claimWake(this.localPeerId, msg.id, this.localCwd ?? process.cwd())) {
|
|
787
810
|
return; // another live process in this cwd owns this message
|
|
@@ -821,6 +844,44 @@ export class AutoRelayService {
|
|
|
821
844
|
}
|
|
822
845
|
}
|
|
823
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
|
+
}
|
|
824
885
|
/**
|
|
825
886
|
* Dispatch a message under the `processing` lock: an awareness-marked broadcast is
|
|
826
887
|
* inject-only (see, no reply); everything else is a full wake+reply. Routing both
|
|
@@ -968,6 +1029,9 @@ export class AutoRelayService {
|
|
|
968
1029
|
let wakeExitCode = null;
|
|
969
1030
|
let refused = false;
|
|
970
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;
|
|
971
1035
|
try {
|
|
972
1036
|
// Confidence-aware resolve (prefer-exact / refuse-if-close) instead of a
|
|
973
1037
|
// silent newest-mtime guess.
|
|
@@ -1014,11 +1078,21 @@ export class AutoRelayService {
|
|
|
1014
1078
|
decision: res.decision,
|
|
1015
1079
|
confidence: res.confidence,
|
|
1016
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);
|
|
1017
1089
|
// Calls the local agent CLI via execRemote (platform-polymorphic dispatch).
|
|
1018
1090
|
// Routes to `claude --resume` on CC or `codex exec resume` on Codex.
|
|
1019
1091
|
// This is NOT the HttpBackend stub (which is a no-op).
|
|
1020
1092
|
// Snapshot BEFORE the wake so the log can name what changed while it ran.
|
|
1021
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.
|
|
1022
1096
|
treeBefore = captureTreeState(this.localCwd);
|
|
1023
1097
|
const result = await execRemote(getConfig().COGENT_PLATFORM, this.localSessionId, formatted, this.localCwd, undefined,
|
|
1024
1098
|
// Idempotency: the codex app-server rail runs turns on the daemon
|
|
@@ -1126,6 +1200,9 @@ export class AutoRelayService {
|
|
|
1126
1200
|
}
|
|
1127
1201
|
}
|
|
1128
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();
|
|
1129
1206
|
// ALWAYS, on every path including the early `return` of a refused wake. The one
|
|
1130
1207
|
// outcome a forensic log must never have is a gap where something clearly happened.
|
|
1131
1208
|
this._recordWake(msg, traceId, {
|
|
@@ -1234,6 +1311,10 @@ export class AutoRelayService {
|
|
|
1234
1311
|
// Fall back to peerId as label
|
|
1235
1312
|
}
|
|
1236
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);
|
|
1237
1318
|
try {
|
|
1238
1319
|
// Re-detect session before each call -- CC rotates .jsonl after ~1hr idle
|
|
1239
1320
|
await this.refreshSessionId();
|
|
@@ -1248,6 +1329,9 @@ export class AutoRelayService {
|
|
|
1248
1329
|
catch (err) {
|
|
1249
1330
|
logger.error(`Auto-relay: inject-only execRemote threw: ${err}`);
|
|
1250
1331
|
}
|
|
1332
|
+
finally {
|
|
1333
|
+
lease.release();
|
|
1334
|
+
}
|
|
1251
1335
|
}
|
|
1252
1336
|
/**
|
|
1253
1337
|
* Full-group-chat awareness (COGENT_BROADCAST_AWARENESS): inject a PEER's broadcast
|
|
@@ -1270,6 +1354,8 @@ export class AutoRelayService {
|
|
|
1270
1354
|
// Fall back to peerId as label
|
|
1271
1355
|
}
|
|
1272
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);
|
|
1273
1359
|
try {
|
|
1274
1360
|
// Re-detect session before each call -- CC rotates .jsonl after ~1hr idle
|
|
1275
1361
|
await this.refreshSessionId();
|
|
@@ -1284,6 +1370,9 @@ export class AutoRelayService {
|
|
|
1284
1370
|
catch (err) {
|
|
1285
1371
|
logger.error(`Auto-relay: peer-broadcast awareness inject execRemote threw: ${err}`);
|
|
1286
1372
|
}
|
|
1373
|
+
finally {
|
|
1374
|
+
lease.release();
|
|
1375
|
+
}
|
|
1287
1376
|
}
|
|
1288
1377
|
/**
|
|
1289
1378
|
* Get diagnostic info about the auto-relay state.
|
|
@@ -1325,8 +1414,13 @@ export class AutoRelayService {
|
|
|
1325
1414
|
}
|
|
1326
1415
|
this.deliveryAckWaiters.clear();
|
|
1327
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);
|
|
1328
1421
|
this.queue = [];
|
|
1329
1422
|
this.awarenessOnly.clear();
|
|
1423
|
+
this.supersededNotified.clear();
|
|
1330
1424
|
this.localPeerId = null;
|
|
1331
1425
|
this.localSessionId = null;
|
|
1332
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"}
|