@cello-protocol/daemon 0.0.120 → 0.0.122
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/content-park.d.ts +1 -1
- package/dist/content-park.d.ts.map +1 -1
- package/dist/content-park.js +64 -12
- package/dist/content-park.js.map +1 -1
- package/dist/daemon.d.ts.map +1 -1
- package/dist/daemon.js +46 -32
- package/dist/daemon.js.map +1 -1
- package/dist/document-delivery-transport.d.ts +78 -0
- package/dist/document-delivery-transport.d.ts.map +1 -0
- package/dist/document-delivery-transport.js +109 -0
- package/dist/document-delivery-transport.js.map +1 -0
- package/dist/document-delivery.d.ts +130 -0
- package/dist/document-delivery.d.ts.map +1 -0
- package/dist/document-delivery.js +246 -0
- package/dist/document-delivery.js.map +1 -0
- package/dist/document-engine.d.ts +134 -0
- package/dist/document-engine.d.ts.map +1 -0
- package/dist/document-engine.js +281 -0
- package/dist/document-engine.js.map +1 -0
- package/dist/document-gate.d.ts +139 -0
- package/dist/document-gate.d.ts.map +1 -0
- package/dist/document-gate.js +465 -0
- package/dist/document-gate.js.map +1 -0
- package/dist/document-handshake.d.ts +88 -0
- package/dist/document-handshake.d.ts.map +1 -0
- package/dist/document-handshake.js +239 -0
- package/dist/document-handshake.js.map +1 -0
- package/dist/document-lifecycle.d.ts +104 -0
- package/dist/document-lifecycle.d.ts.map +1 -0
- package/dist/document-lifecycle.js +363 -0
- package/dist/document-lifecycle.js.map +1 -0
- package/dist/document-notify.d.ts +130 -0
- package/dist/document-notify.d.ts.map +1 -0
- package/dist/document-notify.js +313 -0
- package/dist/document-notify.js.map +1 -0
- package/dist/document-reachability.d.ts +42 -0
- package/dist/document-reachability.d.ts.map +1 -0
- package/dist/document-reachability.js +72 -0
- package/dist/document-reachability.js.map +1 -0
- package/dist/document-rejection.d.ts +224 -0
- package/dist/document-rejection.d.ts.map +1 -0
- package/dist/document-rejection.js +374 -0
- package/dist/document-rejection.js.map +1 -0
- package/dist/document-store.d.ts +269 -0
- package/dist/document-store.d.ts.map +1 -0
- package/dist/document-store.js +752 -0
- package/dist/document-store.js.map +1 -0
- package/dist/document-write-path.d.ts +84 -0
- package/dist/document-write-path.d.ts.map +1 -0
- package/dist/document-write-path.js +412 -0
- package/dist/document-write-path.js.map +1 -0
- package/dist/line-lcs.d.ts +51 -0
- package/dist/line-lcs.d.ts.map +1 -0
- package/dist/line-lcs.js +71 -0
- package/dist/line-lcs.js.map +1 -0
- package/dist/reconnect-drain.d.ts +15 -0
- package/dist/reconnect-drain.d.ts.map +1 -0
- package/dist/reconnect-drain.js +51 -0
- package/dist/reconnect-drain.js.map +1 -0
- package/dist/session-node-manager.d.ts +39 -0
- package/dist/session-node-manager.d.ts.map +1 -1
- package/dist/session-node-manager.js +152 -12
- package/dist/session-node-manager.js.map +1 -1
- package/dist/session-relay-client.d.ts +2 -0
- package/dist/session-relay-client.d.ts.map +1 -1
- package/dist/session-relay-client.js +16 -1
- package/dist/session-relay-client.js.map +1 -1
- package/package.json +6 -5
package/dist/line-lcs.js
ADDED
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The line LCS, shared by the write path (DOD-DOC-WRITE-1) and the diff surfaces
|
|
3
|
+
* (DOD-DOC-NOTIFY-1).
|
|
4
|
+
*
|
|
5
|
+
* One implementation, deliberately. These two need to agree about what changed — the write path
|
|
6
|
+
* publishes hunks and the diff surfaces describe them to an operator — and two hand-rolled diffs
|
|
7
|
+
* that must agree are two things to keep in step, which is how they stop agreeing.
|
|
8
|
+
*
|
|
9
|
+
* ── WHY A REAL LCS AND NOT A PREFIX/SUFFIX TRIM ───────────────────────────────────────────────
|
|
10
|
+
*
|
|
11
|
+
* Measured twice, in two units, with the same result. A prefix/suffix trim is correct only when
|
|
12
|
+
* exactly one contiguous region changed; the moment a line is INSERTED or DELETED, everything after
|
|
13
|
+
* it shifts and a naive positional walk reports the whole remainder as rewritten:
|
|
14
|
+
*
|
|
15
|
+
* inserting one line at the top of a 3-line file -> +4 -3, one range covering the file
|
|
16
|
+
*
|
|
17
|
+
* In the write path (WRITE-1) that published text the file did not contain — four of six ordinary
|
|
18
|
+
* markdown edits. In the diff surfaces (NOTIFY-1) it made the overlap flag permanently true, which
|
|
19
|
+
* is worse than useless: the flag exists so an agent can tell whether the peer touched what it
|
|
20
|
+
* touched, and one that always says yes trains the agent to ignore it.
|
|
21
|
+
*
|
|
22
|
+
* A real LCS is also what emits SEPARATE runs for separated edits. One span from the first change
|
|
23
|
+
* to the last would delete and re-insert everything between them as new operations, resurrecting
|
|
24
|
+
* text a peer concurrently deleted — and under publish-on-intent, multi-edit publishes are the
|
|
25
|
+
* modal case.
|
|
26
|
+
*/
|
|
27
|
+
/** Above this many lines the table is not worth building — the caller falls back and says so. */
|
|
28
|
+
export const LCS_LINE_LIMIT = 4000;
|
|
29
|
+
/** Lines carrying their own trailing newline; the last line carries none. */
|
|
30
|
+
export function toChunks(text) {
|
|
31
|
+
const lines = text.split("\n");
|
|
32
|
+
return lines.map((line, index) => (index < lines.length - 1 ? `${line}\n` : line));
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* The runs of changed lines between two chunk arrays.
|
|
36
|
+
*
|
|
37
|
+
* Returns `null` when either side exceeds `LCS_LINE_LIMIT` — the quadratic table on a document
|
|
38
|
+
* that large is the wrong kind of thorough, and a caller that silently degraded instead of being
|
|
39
|
+
* told would report a whole-file rewrite as if it were a measurement.
|
|
40
|
+
*/
|
|
41
|
+
export function lineRuns(a, b) {
|
|
42
|
+
if (a.length > LCS_LINE_LIMIT || b.length > LCS_LINE_LIMIT)
|
|
43
|
+
return null;
|
|
44
|
+
const lcs = Array.from({ length: a.length + 1 }, () => new Array(b.length + 1).fill(0));
|
|
45
|
+
for (let i = a.length - 1; i >= 0; i--) {
|
|
46
|
+
for (let j = b.length - 1; j >= 0; j--) {
|
|
47
|
+
lcs[i][j] = a[i] === b[j] ? lcs[i + 1][j + 1] + 1 : Math.max(lcs[i + 1][j], lcs[i][j + 1]);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
const runs = [];
|
|
51
|
+
let i = 0;
|
|
52
|
+
let j = 0;
|
|
53
|
+
while (i < a.length || j < b.length) {
|
|
54
|
+
if (i < a.length && j < b.length && a[i] === b[j]) {
|
|
55
|
+
i++;
|
|
56
|
+
j++;
|
|
57
|
+
continue;
|
|
58
|
+
}
|
|
59
|
+
const aStart = i;
|
|
60
|
+
const bStart = j;
|
|
61
|
+
while ((i < a.length || j < b.length) && !(i < a.length && j < b.length && a[i] === b[j])) {
|
|
62
|
+
if (j < b.length && (i === a.length || lcs[i][j + 1] >= lcs[i + 1][j]))
|
|
63
|
+
j++;
|
|
64
|
+
else
|
|
65
|
+
i++;
|
|
66
|
+
}
|
|
67
|
+
runs.push({ aStart, aEnd: i, bStart, bEnd: j });
|
|
68
|
+
}
|
|
69
|
+
return runs;
|
|
70
|
+
}
|
|
71
|
+
//# sourceMappingURL=line-lcs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"line-lcs.js","sourceRoot":"","sources":["../src/line-lcs.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { Logger } from "./types.js";
|
|
2
|
+
export interface ReconnectDrainDeps {
|
|
3
|
+
logger: Logger;
|
|
4
|
+
/** Only an ONLINE agent may acquire a receiver — a started-then-stopped agent must stay dark. */
|
|
5
|
+
isAgentOnline: (agentName: string) => boolean;
|
|
6
|
+
ensureStandingReceiver: (agentName: string) => Promise<void>;
|
|
7
|
+
drainParked: (agentName: string) => Promise<void>;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Build the `onConnected` callback for an agent's SignalingManager. Fire-and-forget by contract —
|
|
11
|
+
* the signaling manager gets no promise to await — so every failure is logged here, under the name
|
|
12
|
+
* of the stage that produced it.
|
|
13
|
+
*/
|
|
14
|
+
export declare function createReconnectDrain(deps: ReconnectDrainDeps): (agentName: string) => void;
|
|
15
|
+
//# sourceMappingURL=reconnect-drain.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reconnect-drain.d.ts","sourceRoot":"","sources":["../src/reconnect-drain.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAEzC,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,iGAAiG;IACjG,aAAa,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC;IAC9C,sBAAsB,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7D,WAAW,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACnD;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,kBAAkB,GAAG,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CA4B1F"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DOD-PARK-DRAIN-1 — what an agent does when its directory signaling reconnects.
|
|
3
|
+
*
|
|
4
|
+
* Two things, and the ORDER is the contract: re-register the standing receiver on the fresh
|
|
5
|
+
* stream, then drain the agent's parked mailbox. They used to be two concurrent `void`s, and the
|
|
6
|
+
* drain needs the node the ensure builds (`content-park.ts` → `getStandingReceiverNode`). When the
|
|
7
|
+
* drain won that race it failed `standing_receiver_unavailable` — 102 times in the 2026-08-04
|
|
8
|
+
* incident log, against 84 relay failures and drains reporting `recovered: 0, failedRelays: 1`.
|
|
9
|
+
* The agent-start path already chained ensure→drain correctly; this is the reconnect path
|
|
10
|
+
* catching up.
|
|
11
|
+
*
|
|
12
|
+
* THE DRAIN IS UNCONDITIONAL; only the ENSURE is gated on the agent being online. That asymmetry
|
|
13
|
+
* is deliberate: production opens a directory connection for every LOADED agent at startup,
|
|
14
|
+
* started or not, and each of those connects drained that agent's mailbox before this module
|
|
15
|
+
* existed. The pull is keyed by the agent's pubkey and dials from ANY ready standing receiver, so
|
|
16
|
+
* it works for an agent that has none of its own — whereas giving a receiver to an agent nobody
|
|
17
|
+
* started would accept inbound sessions on its behalf.
|
|
18
|
+
*
|
|
19
|
+
* Lives in its own module because the ordering IS the contract, and a contract that only exists
|
|
20
|
+
* inside a 3,000-line composition root is one refactor away from being two `void`s again.
|
|
21
|
+
*/
|
|
22
|
+
import { extractErrorMessage } from "./session-relay-client.js";
|
|
23
|
+
/**
|
|
24
|
+
* Build the `onConnected` callback for an agent's SignalingManager. Fire-and-forget by contract —
|
|
25
|
+
* the signaling manager gets no promise to await — so every failure is logged here, under the name
|
|
26
|
+
* of the stage that produced it.
|
|
27
|
+
*/
|
|
28
|
+
export function createReconnectDrain(deps) {
|
|
29
|
+
const { logger, isAgentOnline, ensureStandingReceiver, drainParked } = deps;
|
|
30
|
+
const drain = (agentName) => drainParked(agentName).catch((err) => {
|
|
31
|
+
logger.warn("content.recover.auto.failed", { agentName, stage: "reconnect", error: extractErrorMessage(err) });
|
|
32
|
+
});
|
|
33
|
+
return (agentName) => {
|
|
34
|
+
// The ensure fires on the FIRST connect too, and an agent that was never started must not
|
|
35
|
+
// acquire a receiver here. Re-entry at start is harmless — the ensure returns immediately when
|
|
36
|
+
// a receiver exists or is being created.
|
|
37
|
+
if (!isAgentOnline(agentName)) {
|
|
38
|
+
void drain(agentName);
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
41
|
+
void ensureStandingReceiver(agentName).then(() => drain(agentName), (err) => {
|
|
42
|
+
logger.warn("session.standing_receiver.reregister.failed", { agentName, error: extractErrorMessage(err) });
|
|
43
|
+
// Drain anyway. A failed ensure does not mean the pull has nowhere to run from: the
|
|
44
|
+
// content park dials from ANY ready standing receiver — two agents on one daemon is a
|
|
45
|
+
// supported configuration (DOD-LOOP-1) — and the mailbox is keyed by this agent's pubkey.
|
|
46
|
+
// Skipping here would strand content for a reason that only holds on a single-agent daemon.
|
|
47
|
+
return drain(agentName);
|
|
48
|
+
});
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=reconnect-drain.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reconnect-drain.js","sourceRoot":"","sources":["../src/reconnect-drain.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAWhE;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAAC,IAAwB;IAC3D,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,sBAAsB,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC;IAE5E,MAAM,KAAK,GAAG,CAAC,SAAiB,EAAiB,EAAE,CACjD,WAAW,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;QAC5C,MAAM,CAAC,IAAI,CAAC,6BAA6B,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,mBAAmB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACjH,CAAC,CAAC,CAAC;IAEL,OAAO,CAAC,SAAiB,EAAQ,EAAE;QACjC,0FAA0F;QAC1F,+FAA+F;QAC/F,yCAAyC;QACzC,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,EAAE,CAAC;YAC9B,KAAK,KAAK,CAAC,SAAS,CAAC,CAAC;YACtB,OAAO;QACT,CAAC;QACD,KAAK,sBAAsB,CAAC,SAAS,CAAC,CAAC,IAAI,CACzC,GAAG,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,EACtB,CAAC,GAAY,EAAE,EAAE;YACf,MAAM,CAAC,IAAI,CAAC,6CAA6C,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,mBAAmB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC3G,oFAAoF;YACpF,sFAAsF;YACtF,0FAA0F;YAC1F,4FAA4F;YAC5F,OAAO,KAAK,CAAC,SAAS,CAAC,CAAC;QAC1B,CAAC,CACF,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -56,6 +56,17 @@ export interface RelayConnectParams {
|
|
|
56
56
|
*/
|
|
57
57
|
assignment?: RelayAssignmentCarry;
|
|
58
58
|
}
|
|
59
|
+
/**
|
|
60
|
+
* DOD-PARK-DRAIN-1: why the parked-mailbox drain is being asked to run.
|
|
61
|
+
*
|
|
62
|
+
* `standing_receiver_ready` — a receiver was just installed, first time or rebuilt. The rebuild is
|
|
63
|
+
* the case that matters: content parks precisely because the relay link died, and the watchdog
|
|
64
|
+
* rebuild is that same event seen from the client side.
|
|
65
|
+
* `periodic_backstop` — nothing happened; this is the slow sweep that keeps a missed trigger from
|
|
66
|
+
* stranding content until someone restarts the daemon. Drains are deduped and delete-on-confirm,
|
|
67
|
+
* so an extra one costs a pull.
|
|
68
|
+
*/
|
|
69
|
+
export type ParkedDrainReason = "standing_receiver_ready" | "periodic_backstop";
|
|
59
70
|
/**
|
|
60
71
|
* Adapter interface for session node creation. Allows test injection of a
|
|
61
72
|
* failing factory (AC-007) without touching the real libp2p stack.
|
|
@@ -137,6 +148,14 @@ export declare class SessionNodeManager {
|
|
|
137
148
|
* vanish silently — the agent looks healthy and is unreachable to every NAT'd peer.
|
|
138
149
|
*/
|
|
139
150
|
standingReceiverWatchdogIntervalMs?: number;
|
|
151
|
+
/**
|
|
152
|
+
* DOD-PARK-DRAIN-1: how often the parked-mailbox BACKSTOP drain runs for an agent with a
|
|
153
|
+
* healthy standing receiver. Rides the reservation watchdog's grid, so the effective period is
|
|
154
|
+
* this value rounded up to a watchdog interval. Default 5 minutes: the trigger-driven drains do
|
|
155
|
+
* the real work, and this only exists so a future missed trigger degrades to "late", never to
|
|
156
|
+
* "stranded until a human restarts the daemon".
|
|
157
|
+
*/
|
|
158
|
+
parkedDrainBackstopMs?: number;
|
|
140
159
|
/**
|
|
141
160
|
* M9-CORE-001: the inbound security-screening seam. When absent, a
|
|
142
161
|
* REQUIRED — there is no always-allow default (INV-9). A caller that does not screen must
|
|
@@ -183,6 +202,26 @@ export declare class SessionNodeManager {
|
|
|
183
202
|
ok: false;
|
|
184
203
|
reason: string;
|
|
185
204
|
}>): void;
|
|
205
|
+
/**
|
|
206
|
+
* DOD-PARK-DRAIN-1: inject the parked-mailbox drain (daemon.ts → contentPark.autoRecoverForAgent).
|
|
207
|
+
*
|
|
208
|
+
* The manager owns the two events that mean "content may be waiting for this agent on a relay":
|
|
209
|
+
* a standing receiver was (re)built, and the slow backstop sweep. It does not own the drain
|
|
210
|
+
* itself — that needs the agent's key provider and the inbound ingest funnel. So it calls out.
|
|
211
|
+
*
|
|
212
|
+
* Injected by the composition root, not passed to the constructor: the manager is built long
|
|
213
|
+
* before the content park exists (content-park.ts documents why that ordering is load-bearing).
|
|
214
|
+
*/
|
|
215
|
+
setParkedDrainHook(fn: (agentName: string, reason: ParkedDrainReason) => void): void;
|
|
216
|
+
/**
|
|
217
|
+
* DOD-PARK-DRAIN-1 (review F6): why there is no standing-receiver node to dial from — named
|
|
218
|
+
* precisely, because `standing_receiver_unavailable` is the exit-point label that stood in for
|
|
219
|
+
* four different causes and misnamed this very incident 102 times.
|
|
220
|
+
*
|
|
221
|
+
* Only meaningful once `getStandingReceiverNode()` has returned null, which means NO agent on
|
|
222
|
+
* this daemon has a ready receiver — the dial node is not agent-scoped.
|
|
223
|
+
*/
|
|
224
|
+
standingReceiverAbsenceReason(agentName: string): "daemon_shutting_down" | "standing_receiver_creating" | "agent_offline" | "no_standing_receiver";
|
|
186
225
|
initialize(): Promise<void>;
|
|
187
226
|
/**
|
|
188
227
|
* Get the underlying DatabaseSync handle.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-node-manager.d.ts","sourceRoot":"","sources":["../src/session-node-manager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAKH,OAAO,EACL,KAAK,cAAc,EAIpB,MAAM,mBAAmB,CAAC;AAY3B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAExD,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,EAAE,WAAW,EAA6B,KAAK,2BAA2B,EAAE,MAAM,mBAAmB,CAAC;AAC7G,OAAO,EAAiD,KAAK,SAAS,EAAE,KAAK,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAChI,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAG1D,OAAO,EAAiE,KAAK,YAAY,EAAwB,MAAM,oBAAoB,CAAC;AAE5I,OAAO,EAAE,gBAAgB,EAAuC,KAAK,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAC7H,OAAO,EAAqB,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAGhF,OAAO,EAAwB,KAAK,aAAa,EAAE,MAAM,8BAA8B,CAAC;AACxF,OAAO,EAGL,KAAK,qBAAqB,EAC3B,MAAM,yBAAyB,CAAC;AAiBjC;qGACqG;AACrG,eAAO,MAAM,gCAAgC,QAAuD,CAAC;AACrG;6CAC6C;AAC7C,eAAO,MAAM,qCAAqC,QAAyD,CAAC;AAC5G;4FAC4F;AAC5F,eAAO,MAAM,iCAAiC,KAAK,CAAC;AAEpD;;;;;;GAMG;AACH,MAAM,WAAW,kBAAkB;IACjC,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,WAAW,EAAE,WAAW,CAAC;IACzB,YAAY,EAAE,UAAU,CAAC;IACzB,cAAc,EAAE,UAAU,CAAC;IAC3B;;;;;OAKG;IACH,UAAU,CAAC,EAAE,oBAAoB,CAAC;CACnC;AAID;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAClC,UAAU,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;CAC3D;AAED,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,sBAAsB,CAAC;IACzC;;;;OAIG;IACH,QAAQ,CAAC,EAAE,SAAS,GAAG,mBAAmB,CAAC;IAC3C;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B;;;;;;;OAOG;IACH,uBAAuB,CAAC,EAAE,MAAM,EAAE,CAAC;CACpC;AA8CD,oFAAoF;AACpF,UAAU,oBAAoB;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;CACxB;AAID,KAAK,mBAAmB,GACpB;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,EAAE,CAAA;CAAE,GAC7C;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC;AAYpD,qBAAa,kBAAkB;;gBAwLjB,IAAI,EAAE;QAChB,OAAO,EAAE,mBAAmB,CAAC;QAC7B,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;QACf,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB;;;;WAIG;QACH,cAAc,CAAC,EAAE,MAAM,MAAM,EAAE,CAAC;QAChC;;;;;WAKG;QACH,6BAA6B,CAAC,EAAE,MAAM,EAAE,CAAC;QACzC;;;;;WAKG;QACH,oCAAoC,CAAC,EAAE,MAAM,CAAC;QAC9C;;;;WAIG;QACH,kCAAkC,CAAC,EAAE,MAAM,CAAC;QAC5C;;;;WAIG;QACH,eAAe,EAAE,qBAAqB,CAAC;KACxC;IA4BD;;;;;OAKG;IACH,mBAAmB,CAAC,KAAK,EAAE;QACzB,WAAW,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,KAAK,IAAI,CAAC;QACrF,KAAK,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,KAAK,IAAI,CAAC;KACrG,GAAG,IAAI;IAKR;;;;;;;;;;;;OAYG;IACH,kBAAkB,CAChB,EAAE,EAAE,CAAC,IAAI,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,kBAAkB,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;QAAC,cAAc,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,UAAU,CAAC;QAAC,cAAc,CAAC,EAAE,UAAU,CAAC;QAAC,cAAc,CAAC,EAAE,UAAU,CAAA;KAAE,KAAK,OAAO,CAAC;QAAE,EAAE,EAAE,IAAI,CAAA;KAAE,GAAG;QAAE,EAAE,EAAE,KAAK,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,GACnS,IAAI;IA0DD,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAgUjC;;;;OAIG;IACH;;;;OAIG;IACH,KAAK,IAAI,cAAc;IAOvB;;;OAGG;IACH,gBAAgB,CAAC,cAAc,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,YAAY,EAAE;IAO/E;;;;OAIG;IACH,YAAY,CAAC,cAAc,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,aAAa,EAAE;IAO3E;;;;;;;;;;OAUG;IACH,uBAAuB,CACrB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,GAAG,UAAU,EAC9B,SAAS,EAAE,UAAU,EACrB,aAAa,CAAC,EAAE,MAAM,GACrB,OAAO;IAoCV;;;;OAIG;IACH,cAAc,CACZ,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,GAChB;QAAE,QAAQ,EAAE,KAAK,CAAC;YAAE,QAAQ,EAAE,MAAM,CAAC;YAAC,SAAS,EAAE,MAAM,GAAG,UAAU,CAAC;YAAC,IAAI,EAAE,MAAM,CAAC;YAAC,SAAS,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QAAC,aAAa,EAAE,MAAM,CAAA;KAAE;IAwBpI;;;;;;;;;;;;;OAaG;IACH,qBAAqB,CACnB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,GACf;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAgB5C;uFACmF;IACnF,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM;IAQjE;2EACuE;IACvE,uBAAuB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI;IA0BhF;;;;qGAIiG;IACjG,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,KAAK,CAAC;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;IAuB1G;;;kEAG8D;IAC9D,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,KAAK,CAAC;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;IAwBzG;qGACiG;IACjG,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG;QAAE,EAAE,EAAE,IAAI,CAAA;KAAE,GAAG;QAAE,EAAE,EAAE,KAAK,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE;IAelG;;;;;;;;;;;OAWG;IACH,sBAAsB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM;IAoBpE,mEAAmE;IACnE,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO;IAMrD;;;;;;wGAMoG;IACpG,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM;IAelD;;+FAE2F;IAC3F,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO;IAInD;;;4GAGwG;IACxG,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO;IAIxD;;;;;iEAK6D;IAC7D,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,GAAG,WAAW,GAAG,MAAM;IAmB9F;;;;;;;;;;;;qGAYiG;IACjG,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,EAAE,IAAI,GAAE,MAAqB,GAAG,IAAI;IA0BrI;;iDAE6C;IAC7C,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO;IAgBrF;;;;;;;;;;;OAWG;IACH,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,GAAG,IAAI;IAsB1G;;;;;;;;;OASG;IACH,qBAAqB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC;IAQ9E;8GAC0G;IAC1G,qBAAqB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO;IAQzF;;;;6EAIyE;IACzE,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAwBpE;;;iFAG6E;IAC7E,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO;IAQxE;;;;;;;;sFAQkF;IAClF,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAuB9E;8EAC0E;IAC1E,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;IAchI;wGACoG;IACpG,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAO1D,iEAAiE;IACjE,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO;IAQzD;sGACkG;IAClG,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAanE;;;;2GAIuG;IACvG,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,KAAK,CAAC;QACrC,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;QACzD,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;KACjG,CAAC;IAwCF;;;;;;sDAMkD;IAClD,kCAAkC,CAAC,SAAS,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,GAAG,MAAM;IAQzF;;;;;;gFAM4E;IAC5E,qCAAqC,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;IAgBhE;;;;;;;+EAO2E;IAC3E,iCAAiC,CAAC,SAAS,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,GAAG;QAAE,EAAE,EAAE,IAAI,CAAA;KAAE,GAAG;QAAE,EAAE,EAAE,KAAK,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE;IAkB9H,wFAAwF;IACxF,mBAAmB,IAAI;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,iBAAiB,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAQ7E,8EAA8E;IAC9E,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,GAAG,IAAI;IAUtE;;6FAEyF;IACzF,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAQzD;;;;;;;;;;;;;;OAcG;IACH,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO;IAWtD;;mGAE+F;IAC/F,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAc/D;wFACoF;IACpF,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,KAAK,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAOxE,gGAAgG;IAChG,wBAAwB,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO;IAWrD;;;;;;;OAOG;IACH,uBAAuB,CAAC,SAAS,EAAE,MAAM,GAAG;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,EAAE,CAAA;KAAE,GAAG,IAAI;IAQtF;;;;;OAKG;IACH,uBAAuB,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IAS7D;;;;;OAKG;IACH,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAIzE;;;;;;OAMG;IACH,0BAA0B,IAAI,eAAe,GAAG,IAAI;IAOpD;;;;OAIG;IACH,+GAA+G;IAC/G,mBAAmB,CACjB,EAAE,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC;QAAE,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;KAAE,GAAG,IAAI,CAAC,GACxG,IAAI;IAIP,wBAAwB,CACtB,EAAE,EAAE,CACF,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,EACb,kBAAkB,EAAE,MAAM,GAAG,IAAI,KAC9B,IAAI,GACR,IAAI;IAIP;;;OAGG;IACH,mBAAmB,CACjB,EAAE,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,KAAK,IAAI,GACvE,IAAI;IAqDP;;;;;OAKG;IACH,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;IAIzC;;;;;;;;OAQG;IACH,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAQ9C;;;;;;;;;OASG;IACG,iBAAiB,CACrB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,kBAAkB,EAAE,MAAM,EAC1B,kBAAkB,EAAE,MAAM,EAC1B,aAAa,EAAE,MAAM,EACrB,qBAAqB,UAAQ,EAC7B,KAAK,CAAC,EAAE,kBAAkB,GACzB,OAAO,CAAC,mBAAmB,CAAC;IAmW/B;;;OAGG;IACH,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,SAAS;IAItF;;;4CAGwC;IACxC,0BAA0B,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI;IAI/F;;;;;;;OAOG;IACG,aAAa,CACjB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,kBAAkB,EAAE,MAAM,EAC1B,eAAe,EAAE,MAAM,EACvB,aAAa,EAAE,MAAM,EACrB,KAAK,CAAC,EAAE,kBAAkB,GACzB,OAAO,CAAC,mBAAmB,CAAC;IAwG/B;;;OAGG;IACG,kBAAkB,CACtB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,QAAQ,GAAG,aAAa,GAAG,OAAO,GACzC,OAAO,CAAC,IAAI,CAAC;IA6EhB;;;;;;;;OAQG;IACG,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAwD5E;;;;OAIG;IACG,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;IAmGvC;;;OAGG;IACH,mBAAmB,CAAC,MAAM,EAAE,QAAQ,GAAG,QAAQ,GAAG,aAAa,GAAG,aAAa,EAAE;IAuBjF;;;;;;;OAOG;IACH,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,aAAa,EAAE;IAWvD;;;;OAIG;IACH,cAAc,IAAI,aAAa,EAAE;IAcjC;;;;;;;;OAQG;IACH,qBAAqB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,IAAI;IAOhH;;;;;;;;;OASG;IACH,gCAAgC,CAC9B,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,qBAAqB,EAAE,MAAM,EAC7B,aAAa,EAAE,MAAM,EACrB,cAAc,EAAE,MAAM,GACrB,IAAI;IAaP;;;;;OAKG;IACH,yBAAyB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,GAAG,IAAI;IAO/F;;;;;;;OAOG;IACH,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI;IAe7G;;;;;;;;OAQG;IACG,0BAA0B,CAC9B,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,aAAa,GAAG,cAAc,GACrC,OAAO,CAAC,IAAI,CAAC;IA0GhB;;;;;;;;;;;;;;OAcG;IACH,gCAAgC,CAAC,IAAI,EAAE;QACrC,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;QAClB,IAAI,EAAE,WAAW,GAAG,WAAW,CAAC;QAChC,OAAO,EAAE,OAAO,CAAC;QACjB,gBAAgB,EAAE,OAAO,CAAC;QAC1B,UAAU,EAAE,MAAM,CAAC;QACnB,KAAK,EAAE,MAAM,CAAC;KACf,GAAG,OAAO;IAwCX;;;OAGG;IACH,2BAA2B,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG;QACjE,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,OAAO,CAAC;QACjB,gBAAgB,EAAE,OAAO,CAAC;QAC1B,UAAU,EAAE,MAAM,CAAC;QACnB,KAAK,EAAE,MAAM,CAAC;KACf,GAAG,IAAI;IAuBR;;;OAGG;IACH,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI;IAU5E;;;;;;;;;;;;OAYG;IACH,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO;IAQzF;;;;OAIG;IACH,yBAAyB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,EAAE,CAAA;KAAE,GAAG,IAAI;IAerH;;;;;OAKG;IACH,sBAAsB,CAAC,SAAS,EAAE,MAAM,GAAG,KAAK,CAAC;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IAqB/F;;;;OAIG;IACH,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,WAAW;IASjE,4DAA4D;IAC5D,qBAAqB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM;IAInE;;;;;OAKG;IACH,iBAAiB,CACf,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,2BAA2B,EACjC,WAAW,EAAE,MAAM,EACnB,aAAa,CAAC,EAAE,MAAM,GACrB;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE;IA4C5C;;;;;;;;OAQG;IACG,qBAAqB,CACzB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,EAAE,GACd,OAAO,CAAC;QAAE,EAAE,EAAE,IAAI,CAAA;KAAE,GAAG;QAAE,EAAE,EAAE,KAAK,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IA2CvE;;;;;;;;;;;;;;;;;OAiBG;IACG,WAAW,CACf,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,UAAU,EACnB,WAAW,EAAE,UAAU,EACvB,aAAa,CAAC,EAAE,MAAM,GACrB,OAAO,CAAC;QAAE,EAAE,EAAE,IAAI,CAAC;QAAC,SAAS,EAAE,IAAI,CAAA;KAAE,GAAG;QAAE,EAAE,EAAE,IAAI,CAAC;QAAC,SAAS,EAAE,KAAK,CAAC;QAAC,MAAM,EAAE,IAAI,CAAA;KAAE,GAAG;QAAE,EAAE,EAAE,KAAK,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IA+GvI;;;;;;;;OAQG;IACG,cAAc,CAClB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,aAAa,CAAC,EAAE,MAAM,GACrB,OAAO,CACN;QAAE,EAAE,EAAE,IAAI,CAAC;QAAC,cAAc,EAAE,MAAM,CAAC;QAAC,eAAe,EAAE,MAAM,CAAA;KAAE,GAC7D;QAAE,EAAE,EAAE,KAAK,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,eAAe,CAAC,EAAE,MAAM,CAAC;QAAC,cAAc,CAAC,EAAE,MAAM,CAAA;KAAE,CACnF;IAyED;;;;;;;;;;;;;OAaG;IACH,uBAAuB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG;QAAE,KAAK,EAAE,OAAO,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAE;IA2IpG;;;;;;;;;;;;;;;;OAgBG;IACG,qBAAqB,CACzB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,UAAU,EACnB,WAAW,EAAE,UAAU,EACvB,aAAa,CAAC,EAAE,MAAM;IACtB;;;;;;OAMG;IACH,cAAc,CAAC,EAAE,MAAM,GACtB,OAAO,CAAC;QAAE,EAAE,EAAE,IAAI,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,OAAO,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG;QAAE,EAAE,EAAE,KAAK,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAoblK;;;;;;OAMG;IACH,uBAAuB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,IAAI;IAUnH;;;;;OAKG;IACH;;;OAGG;IACH,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE;IAI7E,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM;IA8F7D,8EAA8E;IAC9E,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,oBAAoB,GAAG,IAAI;IAMtF;;;+FAG2F;IAC3F,4BAA4B,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAMjF;;;;;OAKG;IACH;2GACuG;IACvG,uBAAuB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,UAAU,GAAG,IAAI;IAOnI,0BAA0B,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,IAAI;IAQ1H;;;OAGG;IACH,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG;QAAE,IAAI,EAAE,QAAQ,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAIxG;;;;OAIG;IACH,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IA4MrE;;;;;;;;;;OAUG;IACH;;;;;OAKG;IACH,kBAAkB,CAAC,SAAS,EAAE,UAAU,GAAG,YAAY;IAIvD;;;;;;;;;;;;;OAaG;IACG,kBAAkB,CACtB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,eAAe,EAAE,UAAU,EAC3B,QAAQ,EAAE,UAAU,EACpB,WAAW,EAAE,UAAU,EACvB,aAAa,CAAC,EAAE,MAAM,GACrB,OAAO,CACN;QAAE,EAAE,EAAE,IAAI,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,OAAO,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,OAAO,CAAA;KAAE,GACtH;QAAE,EAAE,EAAE,KAAK,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAChC;IAmFD;;;OAGG;IACH,oBAAoB,CAClB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,cAAc,EAAE,UAAU,EAC1B,cAAc,EAAE,UAAU,EAC1B,WAAW,EAAE,UAAU,EACvB,aAAa,CAAC,EAAE,MAAM,GAIrB,MAAM,GAAG,IAAI;IAwIhB;;;;;;;;;;;;;;OAcG;IACH,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,GAAE,MAAU,GAAG,IAAI;IAgJzG;;;;;;;OAOG;IACH,0BAA0B,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,GAAG,IAAI;IAuWpH;;;;;OAKG;IACG,8BAA8B,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAMhE,8BAA8B,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA8DtE;;4FAEwF;IACxF,qBAAqB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM;IAQnE;;;;6FAIyF;IACnF,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAkC7E"}
|
|
1
|
+
{"version":3,"file":"session-node-manager.d.ts","sourceRoot":"","sources":["../src/session-node-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -118,6 +118,12 @@ export class SessionNodeManager {
|
|
|
118
118
|
/** DOD-NAT-REACHABILITY-1: watchdog for a SILENTLY lost reservation. */
|
|
119
119
|
#srWatchdogIntervalMs;
|
|
120
120
|
#reservationWatchdog = null;
|
|
121
|
+
/** DOD-PARK-DRAIN-1: how often the backstop drain rides the watchdog grid — see #parkedDrainBackstopTick. */
|
|
122
|
+
#parkedDrainBackstopMs;
|
|
123
|
+
#parkedDrainLastBackstopAt = 0;
|
|
124
|
+
/** DOD-PARK-DRAIN-1: the composition root's parked-mailbox drain — see setParkedDrainHook. */
|
|
125
|
+
#parkedDrainHook = null;
|
|
126
|
+
#parkedDrainHookAbsenceLogged = false;
|
|
121
127
|
// Agents whose removeStandingReceiverForAgent ran while an #ensureStandingReceiver for them was
|
|
122
128
|
// in flight (parked on createNode/start, so the map had no entry to delete yet). The in-flight
|
|
123
129
|
// ensure checks this after start() and tears the fresh node down instead of installing an SR for
|
|
@@ -247,6 +253,7 @@ export class SessionNodeManager {
|
|
|
247
253
|
this.#srRetryDelaysMs = opts.standingReceiverRetryDelaysMs ?? [1_000, 5_000, 15_000];
|
|
248
254
|
this.#srReservationTimeoutMs = opts.standingReceiverReservationTimeoutMs ?? 15_000;
|
|
249
255
|
this.#srWatchdogIntervalMs = opts.standingReceiverWatchdogIntervalMs ?? 30_000;
|
|
256
|
+
this.#parkedDrainBackstopMs = opts.parkedDrainBackstopMs ?? 300_000;
|
|
250
257
|
// REQUIRED, no fallback (INV-9, audit finding). This line used to read
|
|
251
258
|
// `opts.securityGateway ?? new PassthroughGatewayClient()` — the identical shape as the defect
|
|
252
259
|
// that reopened this milestone, one layer down and still shipping in the binary. `daemon.ts`
|
|
@@ -287,6 +294,66 @@ export class SessionNodeManager {
|
|
|
287
294
|
setContentParkHook(fn) {
|
|
288
295
|
this.#contentParkHook = fn;
|
|
289
296
|
}
|
|
297
|
+
/**
|
|
298
|
+
* DOD-PARK-DRAIN-1: inject the parked-mailbox drain (daemon.ts → contentPark.autoRecoverForAgent).
|
|
299
|
+
*
|
|
300
|
+
* The manager owns the two events that mean "content may be waiting for this agent on a relay":
|
|
301
|
+
* a standing receiver was (re)built, and the slow backstop sweep. It does not own the drain
|
|
302
|
+
* itself — that needs the agent's key provider and the inbound ingest funnel. So it calls out.
|
|
303
|
+
*
|
|
304
|
+
* Injected by the composition root, not passed to the constructor: the manager is built long
|
|
305
|
+
* before the content park exists (content-park.ts documents why that ordering is load-bearing).
|
|
306
|
+
*/
|
|
307
|
+
setParkedDrainHook(fn) {
|
|
308
|
+
this.#parkedDrainHook = fn;
|
|
309
|
+
}
|
|
310
|
+
/**
|
|
311
|
+
* DOD-PARK-DRAIN-1 (review F6): why there is no standing-receiver node to dial from — named
|
|
312
|
+
* precisely, because `standing_receiver_unavailable` is the exit-point label that stood in for
|
|
313
|
+
* four different causes and misnamed this very incident 102 times.
|
|
314
|
+
*
|
|
315
|
+
* Only meaningful once `getStandingReceiverNode()` has returned null, which means NO agent on
|
|
316
|
+
* this daemon has a ready receiver — the dial node is not agent-scoped.
|
|
317
|
+
*/
|
|
318
|
+
standingReceiverAbsenceReason(agentName) {
|
|
319
|
+
if (this.#shuttingDown)
|
|
320
|
+
return "daemon_shutting_down";
|
|
321
|
+
if (this.#standingReceiverCreating.has(agentName))
|
|
322
|
+
return "standing_receiver_creating";
|
|
323
|
+
if (!this.#agentsWantingReceiver.has(agentName))
|
|
324
|
+
return "agent_offline";
|
|
325
|
+
return "no_standing_receiver";
|
|
326
|
+
}
|
|
327
|
+
/** Ask for a drain. Never throws — a broken drain must never cost the caller its receiver. */
|
|
328
|
+
#fireParkedDrain(agentName, reason) {
|
|
329
|
+
const hook = this.#parkedDrainHook;
|
|
330
|
+
if (this.#shuttingDown)
|
|
331
|
+
return;
|
|
332
|
+
if (!hook) {
|
|
333
|
+
// DOD-PARK-DRAIN-1 (review F4): an unwired hook silently reverts this entire unit, and the
|
|
334
|
+
// defect it fixes was itself a trigger that silently was not there. Say so — once, because
|
|
335
|
+
// the fire points are on a timer grid. Not an error: a SessionNodeManager built by a test
|
|
336
|
+
// that does not exercise the drain is legitimate.
|
|
337
|
+
if (!this.#parkedDrainHookAbsenceLogged) {
|
|
338
|
+
this.#parkedDrainHookAbsenceLogged = true;
|
|
339
|
+
this.#logger.warn("content.recover.drain.hook.absent", { agentName, reason });
|
|
340
|
+
}
|
|
341
|
+
return;
|
|
342
|
+
}
|
|
343
|
+
// The success-side trail. Without it, a live run cannot say WHICH trigger delivered the
|
|
344
|
+
// content — which is exactly the claim the outstanding acceptance clause has to evidence.
|
|
345
|
+
this.#logger.info("content.recover.drain.triggered", { agentName, reason });
|
|
346
|
+
try {
|
|
347
|
+
hook(agentName, reason);
|
|
348
|
+
}
|
|
349
|
+
catch (err) {
|
|
350
|
+
this.#logger.warn("content.recover.drain.hook.failed", {
|
|
351
|
+
agentName,
|
|
352
|
+
reason,
|
|
353
|
+
error: extractErrorMessage(err),
|
|
354
|
+
});
|
|
355
|
+
}
|
|
356
|
+
}
|
|
290
357
|
/**
|
|
291
358
|
* MSG-001-3b (2b): deposit un-confirmed content to the relay store-and-forward backstop — keyed
|
|
292
359
|
* to the recipient, on the SAME relay this session is witnessed by — so an offline recipient
|
|
@@ -1706,7 +1773,7 @@ export class SessionNodeManager {
|
|
|
1706
1773
|
await this.#registerContentHandler(agentName, sessionId, node, counterpartyPubkey);
|
|
1707
1774
|
// M7-SESSION-003 AC-004: act on the session node's peer events for direct-path
|
|
1708
1775
|
// liveness. The session connection IS the authority for a direct session.
|
|
1709
|
-
this.#wireSessionLiveness(agentName, sessionId, node, counterpartyPubkey, correlationId);
|
|
1776
|
+
this.#wireSessionLiveness(agentName, sessionId, node, counterpartyPubkey, correlationId, counterpartyPeerId);
|
|
1710
1777
|
// M7 DOD-SPINE-6 / MSG-001-3b: connect this session node to the relay as the
|
|
1711
1778
|
// Structure-2 witness (non-fatal — direct content still works without it).
|
|
1712
1779
|
if (relay) {
|
|
@@ -1863,17 +1930,39 @@ export class SessionNodeManager {
|
|
|
1863
1930
|
}
|
|
1864
1931
|
/**
|
|
1865
1932
|
* M7-SESSION-003 AC-004: wire a session node's peer-connect / peer-disconnect
|
|
1866
|
-
* events to per-session direct-path liveness. onPeerConnect → 'alive'
|
|
1867
|
-
*
|
|
1868
|
-
*
|
|
1869
|
-
*
|
|
1870
|
-
*
|
|
1871
|
-
*
|
|
1872
|
-
*
|
|
1933
|
+
* events to per-session direct-path liveness. onPeerConnect → 'alive',
|
|
1934
|
+
* onPeerDisconnect → 'gone', emitting session.liveness.changed at WARN. Combined
|
|
1935
|
+
* with the transport keepalive (AC-005), a peer that vanished without a clean
|
|
1936
|
+
* close still surfaces a disconnect and drives 'gone'.
|
|
1937
|
+
*
|
|
1938
|
+
* THE EVENT MUST BE FILTERED BY PEER (DOD-RELAY-KEEPALIVE-1 review, F2). The
|
|
1939
|
+
* original wiring acted on EVERY peer event this node saw, justified by "the
|
|
1940
|
+
* session node's gater restricts connections to the designated counterparty".
|
|
1941
|
+
* That stopped being true: the session node also dials the RELAY as its
|
|
1942
|
+
* Structure-2 witness (#connectSessionRelay), and the gater allows those peers
|
|
1943
|
+
* outbound. So a relay link dropping declared the counterparty dead — at WARN,
|
|
1944
|
+
* feeding the unilateral-seal gate — while the counterparty was sitting there
|
|
1945
|
+
* perfectly alive. During the 2026-08-04 incident, when the relay link churned
|
|
1946
|
+
* every 60-90 seconds, that fired continuously.
|
|
1947
|
+
*
|
|
1948
|
+
* `counterpartySessionPeerId` is the authority when known. When it is not (the
|
|
1949
|
+
* peer id can be absent on a session whose assignment has not landed yet),
|
|
1950
|
+
* every peer is honoured EXCEPT ones known to be relays for this session —
|
|
1951
|
+
* degrading to the old over-eager behaviour minus its one known false positive,
|
|
1952
|
+
* rather than to silence, because a liveness detector that never fires is worse
|
|
1953
|
+
* than one that fires too often.
|
|
1873
1954
|
*/
|
|
1874
|
-
#wireSessionLiveness(agentName, sessionId, node, counterpartyPubkey, correlationId) {
|
|
1955
|
+
#wireSessionLiveness(agentName, sessionId, node, counterpartyPubkey, correlationId, counterpartySessionPeerId) {
|
|
1875
1956
|
const key = this.#k(agentName, sessionId);
|
|
1876
|
-
|
|
1957
|
+
const isCounterparty = (peerId) => {
|
|
1958
|
+
if (counterpartySessionPeerId)
|
|
1959
|
+
return peerId === counterpartySessionPeerId;
|
|
1960
|
+
const entry = this.#activeNodes.get(key);
|
|
1961
|
+
return entry?.relayPeerId !== peerId;
|
|
1962
|
+
};
|
|
1963
|
+
node.onPeerConnect((peerId) => {
|
|
1964
|
+
if (!isCounterparty(peerId))
|
|
1965
|
+
return;
|
|
1877
1966
|
const prior = this.#sessionLiveness.get(key);
|
|
1878
1967
|
this.#sessionLiveness.set(key, "alive");
|
|
1879
1968
|
if (prior !== "alive") {
|
|
@@ -1887,7 +1976,18 @@ export class SessionNodeManager {
|
|
|
1887
1976
|
});
|
|
1888
1977
|
}
|
|
1889
1978
|
});
|
|
1890
|
-
node.onPeerDisconnect(() => {
|
|
1979
|
+
node.onPeerDisconnect((peerId) => {
|
|
1980
|
+
if (!isCounterparty(peerId)) {
|
|
1981
|
+
// Not silence: a relay link dropping is a real event, it is simply not a
|
|
1982
|
+
// statement about the counterparty. It has its own signal
|
|
1983
|
+
// (session.standing_receiver.reservation.lost / session.relay.reader.ended).
|
|
1984
|
+
this.#logger.debug("session.liveness.unrelated_peer_disconnect", {
|
|
1985
|
+
sessionId,
|
|
1986
|
+
peerId,
|
|
1987
|
+
correlationId,
|
|
1988
|
+
});
|
|
1989
|
+
return;
|
|
1990
|
+
}
|
|
1891
1991
|
const prior = this.#sessionLiveness.get(key);
|
|
1892
1992
|
this.#sessionLiveness.set(key, "gone");
|
|
1893
1993
|
if (prior !== "gone") {
|
|
@@ -2004,7 +2104,7 @@ export class SessionNodeManager {
|
|
|
2004
2104
|
// DAEMON-004: register the content stream handler for the inbound session.
|
|
2005
2105
|
await this.#registerContentHandler(agentName, sessionId, node, counterpartyPubkey);
|
|
2006
2106
|
// M7-SESSION-003 AC-004: act on the inbound session node's peer events too.
|
|
2007
|
-
this.#wireSessionLiveness(agentName, sessionId, node, counterpartyPubkey, correlationId);
|
|
2107
|
+
this.#wireSessionLiveness(agentName, sessionId, node, counterpartyPubkey, correlationId, initiatorPeerId);
|
|
2008
2108
|
// M7 DOD-SPINE-6 / MSG-001-3b: the receiver also connects to the relay witness so
|
|
2009
2109
|
// the relay can deliver the initiator's witnessed leaves (leaf_deliver) to it.
|
|
2010
2110
|
if (relay) {
|
|
@@ -4543,21 +4643,55 @@ export class SessionNodeManager {
|
|
|
4543
4643
|
const stillAdvertising = sr.node.listenAddresses().some((a) => a.includes("/p2p-circuit"));
|
|
4544
4644
|
if (stillConnected && stillAdvertising)
|
|
4545
4645
|
continue;
|
|
4646
|
+
// DOD-RELAY-KEEPALIVE-1 (review F4): carry the CAUSE, not just the exit point.
|
|
4647
|
+
// `relay_connection_gone` says where this was noticed — a poll of getConnections() — by which
|
|
4648
|
+
// time the abort reason that actually killed the link is long discarded. The relay client for
|
|
4649
|
+
// this (agent, relay) pair kept the error that ended its reader; that is the nearest thing to
|
|
4650
|
+
// an upstream cause available here, and its absence is how 2,061 of these went untraced.
|
|
4651
|
+
const upstreamReason = this.#relayClients.get(`${agentName}::${sr.relayPeerId}`)?.getLastReaderError();
|
|
4546
4652
|
this.#logger.warn("session.standing_receiver.reservation.lost", {
|
|
4547
4653
|
agentName,
|
|
4548
4654
|
relayPeerId: sr.relayPeerId,
|
|
4549
4655
|
reason: stillConnected ? "circuit_address_vanished" : "relay_connection_gone",
|
|
4656
|
+
...(upstreamReason ? { upstreamReason } : {}),
|
|
4550
4657
|
});
|
|
4551
4658
|
void this.#rebuildStandingReceiver(agentName);
|
|
4552
4659
|
}
|
|
4553
4660
|
}
|
|
4661
|
+
/**
|
|
4662
|
+
* DOD-PARK-DRAIN-1: the backstop sweep — every agent holding a standing receiver gets a drain
|
|
4663
|
+
* every #parkedDrainBackstopMs, whether or not anything happened.
|
|
4664
|
+
*
|
|
4665
|
+
* The trigger-driven drains (agent start, receiver rebuild, signaling reconnect) are what
|
|
4666
|
+
* actually deliver. This exists because the incident was a MISSING trigger, and a missing
|
|
4667
|
+
* trigger is invisible: the daemon looked healthy, the content was intact on the relay, and the
|
|
4668
|
+
* only thing that ever moved it was a human restarting the daemon. With the sweep, the worst a
|
|
4669
|
+
* future gap in trigger coverage can cost is one interval of latency. Safe by construction —
|
|
4670
|
+
* ingest is deduped and the relay is delete-on-confirm, so a redundant drain pulls nothing.
|
|
4671
|
+
*/
|
|
4672
|
+
#parkedDrainBackstopTick(now) {
|
|
4673
|
+
if (this.#parkedDrainHook === null)
|
|
4674
|
+
return;
|
|
4675
|
+
if (now - this.#parkedDrainLastBackstopAt < this.#parkedDrainBackstopMs)
|
|
4676
|
+
return;
|
|
4677
|
+
this.#parkedDrainLastBackstopAt = now;
|
|
4678
|
+
for (const agentName of this.#standingReceivers.keys()) {
|
|
4679
|
+
if (!this.#agentsWantingReceiver.has(agentName))
|
|
4680
|
+
continue; // agent went offline
|
|
4681
|
+
this.#fireParkedDrain(agentName, "periodic_backstop");
|
|
4682
|
+
}
|
|
4683
|
+
}
|
|
4554
4684
|
/** Start the reservation watchdog (idempotent). Stopped by gracefulShutdown. */
|
|
4555
4685
|
#startReservationWatchdog() {
|
|
4556
4686
|
if (this.#reservationWatchdog !== null)
|
|
4557
4687
|
return;
|
|
4688
|
+
// Arm the backstop clock from the START of watching, not from the epoch — otherwise the first
|
|
4689
|
+
// tick always fires a sweep on top of the install drain that just ran.
|
|
4690
|
+
this.#parkedDrainLastBackstopAt = Date.now();
|
|
4558
4691
|
this.#reservationWatchdog = setInterval(() => {
|
|
4559
4692
|
try {
|
|
4560
4693
|
this.#reservationWatchdogTick();
|
|
4694
|
+
this.#parkedDrainBackstopTick(Date.now());
|
|
4561
4695
|
}
|
|
4562
4696
|
catch (err) {
|
|
4563
4697
|
this.#logger.warn("session.standing_receiver.watchdog.failed", { error: extractErrorMessage(err) });
|
|
@@ -4748,6 +4882,12 @@ export class SessionNodeManager {
|
|
|
4748
4882
|
correlationId,
|
|
4749
4883
|
});
|
|
4750
4884
|
}
|
|
4885
|
+
// DOD-PARK-DRAIN-1: this agent has a receiver again — drain whatever parked while it did not.
|
|
4886
|
+
// Fired from the ONE place every path converges on (first ensure, the watchdog rebuild after a
|
|
4887
|
+
// lost reservation, and the auth_ok rebuild), because the defect this closes was a trigger
|
|
4888
|
+
// hooked to the wrong connection: content parks when the RELAY link dies, and the drain was
|
|
4889
|
+
// waiting on DIRECTORY SIGNALING to reconnect — which it never had to, having never dropped.
|
|
4890
|
+
this.#fireParkedDrain(agentName, "standing_receiver_ready");
|
|
4751
4891
|
return { outcome: "installed" };
|
|
4752
4892
|
}
|
|
4753
4893
|
/**
|