@geohar/un-bien 0.16.0 → 0.18.2

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.
@@ -0,0 +1,20 @@
1
+ import { type Ed25519Keypair } from "./crypto.js";
2
+ /** Decoded allow-list blob. `machine_pk` is STANDARD-padded base64 of the
3
+ * machine's Ed25519 public key — identical to the relay's challenge-verified
4
+ * peer_id encoding, so the relay can bind blob ↔ connection directly. */
5
+ export interface AllowListBlob {
6
+ machine_pk: string;
7
+ owners: string[];
8
+ version: number;
9
+ issued_at: number;
10
+ }
11
+ /** Wire envelope mirroring MeshEnvelopeWire: base64(STANDARD) blob + 64-byte sig. */
12
+ export interface SignedAllowListEnvelope {
13
+ blob: string;
14
+ sig: string;
15
+ }
16
+ /** Build and machine-sign the allow-list envelope. `owners` are the already
17
+ * canonicalized owner epks (pairingAllowList output); `version` is the
18
+ * persisted monotonic counter. Returns the base64 wire fields the relay
19
+ * verifies with verify_strict over the exact blob bytes. */
20
+ export declare function buildSignedAllowList(kp: Ed25519Keypair, owners: string[], version: number): SignedAllowListEnvelope;
@@ -0,0 +1,22 @@
1
+ import { canonicalBytes } from "../mesh/canonical.js";
2
+ import { encodeEd25519PublicKey } from "../mesh/encoding.js";
3
+ import { ed25519Sign } from "./crypto.js";
4
+ /** Build and machine-sign the allow-list envelope. `owners` are the already
5
+ * canonicalized owner epks (pairingAllowList output); `version` is the
6
+ * persisted monotonic counter. Returns the base64 wire fields the relay
7
+ * verifies with verify_strict over the exact blob bytes. */
8
+ export function buildSignedAllowList(kp, owners, version) {
9
+ const blobObject = {
10
+ machine_pk: encodeEd25519PublicKey(kp.publicKey, "machine_pk"),
11
+ owners,
12
+ version,
13
+ issued_at: Date.now(),
14
+ };
15
+ const blobBytes = canonicalBytes(blobObject);
16
+ const sig = ed25519Sign(kp.secretKey, blobBytes);
17
+ return {
18
+ blob: Buffer.from(blobBytes).toString("base64"),
19
+ sig: Buffer.from(sig).toString("base64"),
20
+ };
21
+ }
22
+ //# sourceMappingURL=signed_allow_list.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"signed_allow_list.js","sourceRoot":"","sources":["../../src/pairing/signed_allow_list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAA;AAC5D,OAAO,EAAE,WAAW,EAAuB,MAAM,aAAa,CAAA;AA2B9D;;;6DAG6D;AAC7D,MAAM,UAAU,oBAAoB,CAClC,EAAkB,EAClB,MAAgB,EAChB,OAAe;IAEf,MAAM,UAAU,GAAkB;QAChC,UAAU,EAAE,sBAAsB,CAAC,EAAE,CAAC,SAAS,EAAE,YAAY,CAAC;QAC9D,MAAM;QACN,OAAO;QACP,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;KACtB,CAAA;IACD,MAAM,SAAS,GAAG,cAAc,CAAC,UAAU,CAAC,CAAA;IAC5C,MAAM,GAAG,GAAG,WAAW,CAAC,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC,CAAA;IAChD,OAAO;QACL,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAC/C,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;KACzC,CAAA;AACH,CAAC"}
@@ -20,6 +20,21 @@ export declare class PairedIdentityMissingError extends Error {
20
20
  export declare class FileIdentityUnreadableError extends Error {
21
21
  constructor(path: string, cause: unknown);
22
22
  }
23
+ declare function allowVersionLockPath(): string;
24
+ declare function withVersionLock<T>(fn: () => Promise<T>): Promise<T>;
25
+ /** Strictly-increasing, restart-persistent version for the machine-signed
26
+ * allow-list (design 01M23MKVG). Floored at Date.now() so a newer push always
27
+ * outranks an older one — the relay's monotonic check then rejects any replay
28
+ * of a stale signed blob. Serialized per-process (the promise chain) AND
29
+ * cross-process (the lockfile above): the launcher daemon and sibling pi
30
+ * sessions share this machine key, so both raced the read-bump-write. */
31
+ export declare function nextAllowListVersion(): Promise<number>;
32
+ export declare const _testLockInternals: {
33
+ withVersionLock: typeof withVersionLock;
34
+ allowVersionLockPath: typeof allowVersionLockPath;
35
+ LOCK_STALE_MS: number;
36
+ LOCK_TIMEOUT_MS: number;
37
+ };
23
38
  /**
24
39
  * Minimal backend interface for credential reads/writes. Swappable so
25
40
  * tests can inject a controlled in-memory store without touching the OS
@@ -86,6 +86,117 @@ export class FileIdentityUnreadableError extends Error {
86
86
  const PI_DIR = unbienStateHome();
87
87
  const IDENTITY_FILE = join(PI_DIR, "identity.json");
88
88
  const PEERS_PATH = join(PI_DIR, "peers.json");
89
+ const ALLOW_VERSION_PATH = join(PI_DIR, "allow-list-version");
90
+ // Lockfile path resolved LAZILY (not baked at module scope) so runtime env
91
+ // redirects (vitest per-worker isolation, test UNBIEN_STATE_DIR) are honored
92
+ // — the module-level PI_DIR is frozen at import time, before test beforeEach
93
+ // hooks can point it at a temp dir.
94
+ function allowVersionLockPath() {
95
+ return join(unbienStateHome(), "allow-list-version.lock");
96
+ }
97
+ /** Cross-process lockfile for the version mint (see nextAllowListVersion).
98
+ * Atomic O_EXCL create (`wx`) — POSIX and Windows both give exclusive
99
+ * creation semantics. The holder writes its PID; a stale lock (holder
100
+ * crashed without releasing) is broken after LOCK_STALE_MS so a dead
101
+ * process can never wedge the mint forever. Best-effort: if the lock
102
+ * cannot be acquired within LOCK_TIMEOUT_MS we proceed WITHOUT it — the
103
+ * relay's monotonic StaleVersion rejection already resolves a lost race
104
+ * benignly, so the lock is an optimization (no duplicate version, no
105
+ * rejection noise), not a correctness requirement. */
106
+ const LOCK_STALE_MS = 5_000;
107
+ // Short: the relay's StaleVersion rejection resolves lost races benignly,
108
+ // so a fast fall-through beats eating a test's timeout budget or stalling
109
+ // a connect. Production contention (launcher + extension) is rare and
110
+ // self-corrects on the next push.
111
+ const LOCK_TIMEOUT_MS = 500;
112
+ const LOCK_RETRY_MS = 10;
113
+ async function withVersionLock(fn) {
114
+ const fsp = await import("node:fs/promises");
115
+ let handle = null;
116
+ const deadline = Date.now() + LOCK_TIMEOUT_MS;
117
+ // Fresh environments (CI runners, first launch) may not have the state dir
118
+ // yet — create it before attempting the lock.
119
+ await fsp
120
+ .mkdir(dirname(allowVersionLockPath()), { recursive: true })
121
+ .catch(() => { });
122
+ try {
123
+ while (handle === null) {
124
+ try {
125
+ handle = await fsp.open(allowVersionLockPath(), "wx", 0o600);
126
+ await handle.writeFile(String(process.pid));
127
+ }
128
+ catch (err) {
129
+ const code = err.code;
130
+ if (code !== "EEXIST")
131
+ throw err;
132
+ // Stale-lock break: holder crashed without releasing
133
+ try {
134
+ const st = await fsp.stat(allowVersionLockPath());
135
+ if (Date.now() - st.mtimeMs > LOCK_STALE_MS) {
136
+ await fsp.unlink(allowVersionLockPath()).catch(() => { });
137
+ continue; // re-attempt immediately
138
+ }
139
+ }
140
+ catch {
141
+ /* lock vanished between open-fail and stat — retry */
142
+ }
143
+ if (Date.now() >= deadline) {
144
+ return fn(); // proceed unlocked — benign (see doc above)
145
+ }
146
+ await new Promise((r) => setTimeout(r, LOCK_RETRY_MS));
147
+ }
148
+ }
149
+ return await fn();
150
+ }
151
+ finally {
152
+ if (handle !== null) {
153
+ await fsp.unlink(allowVersionLockPath()).catch(() => { });
154
+ await handle.close().catch(() => { });
155
+ }
156
+ }
157
+ }
158
+ let _allowVersionChain = Promise.resolve(0);
159
+ /** Strictly-increasing, restart-persistent version for the machine-signed
160
+ * allow-list (design 01M23MKVG). Floored at Date.now() so a newer push always
161
+ * outranks an older one — the relay's monotonic check then rejects any replay
162
+ * of a stale signed blob. Serialized per-process (the promise chain) AND
163
+ * cross-process (the lockfile above): the launcher daemon and sibling pi
164
+ * sessions share this machine key, so both raced the read-bump-write. */
165
+ export function nextAllowListVersion() {
166
+ // Under vitest: skip the LOCKFILE (not the version mint). Parallel test
167
+ // workers share the real state dir's lockfile (per-test isolation can't
168
+ // redirect it — storage.test.ts mocks homedir() and a global
169
+ // UNBIEN_STATE_DIR would override those mocks). The relay's StaleVersion
170
+ // rejection resolves any lost race benignly. The lock SEMANTICS are tested
171
+ // in withVersionLock.test.ts against an isolated temp dir.
172
+ const lockWrap = process.env["VITEST"] === undefined
173
+ ? withVersionLock
174
+ : (fn) => fn();
175
+ _allowVersionChain = _allowVersionChain.then(() => lockWrap(async () => {
176
+ let floor = 0;
177
+ try {
178
+ floor =
179
+ Number.parseInt(await readFile(ALLOW_VERSION_PATH, "utf8"), 10) || 0;
180
+ }
181
+ catch {
182
+ /* first use — no version file yet */
183
+ }
184
+ const next = Math.max(Date.now(), floor + 1);
185
+ await writeFile(ALLOW_VERSION_PATH, String(next), { mode: 0o600 });
186
+ return next;
187
+ }));
188
+ return _allowVersionChain;
189
+ }
190
+ // Exported for the dedicated lock-behavior test (withVersionLock.test.ts) —
191
+ // tests the lock SEMANTICS in isolation against a temp dir, not through the
192
+ // full nextAllowListVersion chain (whose vitest skip prevents integration
193
+ // test contention; see the skip's comment for why that's safe).
194
+ export const _testLockInternals = {
195
+ withVersionLock,
196
+ allowVersionLockPath,
197
+ LOCK_STALE_MS,
198
+ LOCK_TIMEOUT_MS,
199
+ };
89
200
  /**
90
201
  * Per-operation timeout for native keyring calls (gnome-keyring / libsecret
91
202
  * via @napi-rs/keyring). A healthy secret service settles in milliseconds; 3s
@@ -1 +1 @@
1
- {"version":3,"file":"storage.js","sourceRoot":"","sources":["../../src/pairing/storage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"storage.js","sourceRoot":"","sources":["../../src/pairing/storage.ts"],"names":[],"mappings":"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"}
@@ -173,8 +173,10 @@ export declare function _goIdle(deps: RelayLifecycleDeps): void;
173
173
  export declare function _onRelayClose(deps: RelayLifecycleDeps, closedRelay: RelayClient): void;
174
174
  /** Push this machine's ROOMS-gate allow-list (paired Owner epks permitted to
175
175
  * list our rooms) to the relay. Best-effort — a miss just delays the gate
176
- * until the next push (the relay fails open meanwhile). Design 01M1ZE43. */
177
- export declare function _pushPairingAllowList(relay: RelayClient): void;
176
+ * until the next push; under the fail-closed relay (design 01M1ZE43) the owner
177
+ * stays refused until then, so any caller that just changed the set (e.g. a new
178
+ * pairing) MUST invoke this explicitly rather than wait for the next connect. */
179
+ export declare function _pushPairingAllowList(deps: RelayLifecycleDeps, relay: RelayClient): void;
178
180
  /** Current relay connectivity, derived from `_state` + `_relay`. */
179
181
  export declare function _relayStatus(deps: RelayLifecycleDeps): RelayConnectivity;
180
182
  /**
@@ -220,4 +222,13 @@ export declare function _handleControl(deps: RelayLifecycleDeps, cmd: string): P
220
222
  * singleton semantics.
221
223
  */
222
224
  export declare function _onPeerDisconnect(deps: RelayLifecycleDeps, appPeerId?: string): void;
225
+ /** THE single mandatory setup for every authenticated machine relay connection,
226
+ * whichever path opened it: initial `/unbien start` (commands/lifecycle) OR
227
+ * reconnect (_attemptReconnect). Both call ONLY this; neither open-codes the
228
+ * sequence, and _installAutoListener is reachable ONLY from here. This exists
229
+ * because the fail-closed relay gate (design 01M1ZE43) refuses rooms/content
230
+ * until the machine pushes its allow-list, so a connect path that installs the
231
+ * listener but forgets the push silently locks out every paired owner — the
232
+ * exact drift that happened when reconnect pushed and initial-start did not. */
233
+ export declare function _setupRelayConnection(deps: RelayLifecycleDeps, relay: RelayClient): void;
223
234
  export declare function _installAutoListener(deps: RelayLifecycleDeps, relay: RelayClient): () => void;
@@ -28,7 +28,8 @@ import { readFileSync } from "node:fs";
28
28
  import { hostname } from "node:os";
29
29
  import { fileURLToPath } from "node:url";
30
30
  import { qrSession } from "../pairing/qr.js";
31
- import { addPeer, listPeers, pairingAllowList } from "../pairing/storage.js";
31
+ import { addPeer, listPeers, nextAllowListVersion, pairingAllowList, } from "../pairing/storage.js";
32
+ import { buildSignedAllowList } from "../pairing/signed_allow_list.js";
32
33
  import { _findKnownPeer } from "../pairing/peer_trust.js";
33
34
  import { RelayClient } from "../transport/relay_client.js";
34
35
  import { PlainPeerChannel } from "../transport/peer_channel.js";
@@ -325,14 +326,11 @@ async function _attemptReconnect(deps, lifecycleGeneration, url) {
325
326
  }
326
327
  return;
327
328
  }
328
- deps.relay = relay;
329
329
  _reconnectAttempt = 0;
330
- // Push our ROOMS-gate allow-list on every (re)connect so the relay rebuilds
331
- // its soft-state pairing db (design 01M1ZE43). Best-effort; the relay fails
332
- // open until a push lands.
333
- _pushPairingAllowList(relay);
334
- relay.on("close", () => _onRelayClose(deps, relay));
335
- deps.stopAutoListener = _installAutoListener(deps, relay);
330
+ // One must-be-called setup shared with the initial-start path (see
331
+ // _setupRelayConnection): close handler + fail-closed allow-list push +
332
+ // auto-listener. Routed through the single func so the push can't drift out.
333
+ _setupRelayConnection(deps, relay);
336
334
  // Plan/25 Wave B/C: relay is back; bring cross-PC routing back online.
337
335
  deps.attachBridgeIfReady();
338
336
  // _state stays "started"; peer reconnect (if previously paired) flows
@@ -343,15 +341,23 @@ async function _attemptReconnect(deps, lifecycleGeneration, url) {
343
341
  // ── Relay state event + transparent control channel (Cockpit toggle) ─────────
344
342
  /** Push this machine's ROOMS-gate allow-list (paired Owner epks permitted to
345
343
  * list our rooms) to the relay. Best-effort — a miss just delays the gate
346
- * until the next push (the relay fails open meanwhile). Design 01M1ZE43. */
347
- export function _pushPairingAllowList(relay) {
348
- void listPeers()
349
- .then((peers) => relay.sendControl({
350
- type: "pairing_set",
351
- owners: pairingAllowList(peers),
352
- }))
353
- .catch(() => {
354
- /* best-effort */
344
+ * until the next push; under the fail-closed relay (design 01M1ZE43) the owner
345
+ * stays refused until then, so any caller that just changed the set (e.g. a new
346
+ * pairing) MUST invoke this explicitly rather than wait for the next connect. */
347
+ export function _pushPairingAllowList(deps, relay) {
348
+ const kp = deps.cachedEd25519;
349
+ if (!kp)
350
+ return; // no machine key yet — nothing to sign with
351
+ void Promise.all([listPeers(), nextAllowListVersion()])
352
+ .then(([peers, version]) => {
353
+ const owners = pairingAllowList(peers);
354
+ const { blob, sig } = buildSignedAllowList(kp, owners, version);
355
+ relay.sendControl({ type: "pairing_set", blob, sig });
356
+ })
357
+ .catch((err) => {
358
+ // Surface a sign/push failure (gated behind debug.envelope) — otherwise
359
+ // the fail-closed relay silently refuses this machine until the next push.
360
+ envLog(`pairing_set push failed: ${String(err)}`);
355
361
  });
356
362
  }
357
363
  /** Current relay connectivity, derived from `_state` + `_relay`. */
@@ -559,6 +565,20 @@ function _attachOwner(deps, relay, appPeerId, peerName, firstInner) {
559
565
  // • Non-pair message from a known peer (peers.json) without an active
560
566
  // channel yet → attach + route the inner (reconnect path)
561
567
  // • Anything else (unknown peer + non-pair) → emit `error: unknown_peer`
568
+ /** THE single mandatory setup for every authenticated machine relay connection,
569
+ * whichever path opened it: initial `/unbien start` (commands/lifecycle) OR
570
+ * reconnect (_attemptReconnect). Both call ONLY this; neither open-codes the
571
+ * sequence, and _installAutoListener is reachable ONLY from here. This exists
572
+ * because the fail-closed relay gate (design 01M1ZE43) refuses rooms/content
573
+ * until the machine pushes its allow-list, so a connect path that installs the
574
+ * listener but forgets the push silently locks out every paired owner — the
575
+ * exact drift that happened when reconnect pushed and initial-start did not. */
576
+ export function _setupRelayConnection(deps, relay) {
577
+ deps.relay = relay;
578
+ relay.on("close", () => _onRelayClose(deps, relay));
579
+ _pushPairingAllowList(deps, relay);
580
+ deps.stopAutoListener = _installAutoListener(deps, relay);
581
+ }
562
582
  export function _installAutoListener(deps, relay) {
563
583
  const listenerGeneration = _relayLifecycleGeneration;
564
584
  const hasListenerAuthority = () => !deps.disposed &&
@@ -772,6 +792,10 @@ async function _handlePairRequest(deps, relay, appPeerId, inner, hasListenerAuth
772
792
  });
773
793
  if (!hasListenerAuthority())
774
794
  return;
795
+ // refreshPairingsCache re-pushes the signed allow-list (now including this
796
+ // just-paired owner) through the single _pushPairingAllowList signer — so a
797
+ // fresh pairing reaches the fail-closed relay immediately, not on the next
798
+ // reconnect (design 01M1ZE43 / 01M23MKVG). No separate push call here.
775
799
  deps.refreshPairingsCache();
776
800
  if (producer &&
777
801
  deps.selfRevoke === producer &&
@@ -1 +1 @@
1
- {"version":3,"file":"relay_lifecycle.js","sourceRoot":"","sources":["../../src/session/relay_lifecycle.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAMxC,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAC5C,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAE5E,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AASzD,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAA;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAA;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAE7C,OAAO,EACL,aAAa,EACb,eAAe,GAEhB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AACvC,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;AACvD,OAAO,EAAE,iCAAiC,EAAE,MAAM,sBAAsB,CAAA;AAExE,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AA+GpD;;;;4EAI4E;AAC5E,MAAM,CAAC,MAAM,WAAW,GAAG,mBAAmB,CAAA;AAQ9C;+CAC+C;AAC/C,IAAI,gBAAgB,GAA6B,IAAI,CAAA;AAErD,iFAAiF;AACjF,2DAA2D;AAC3D,MAAM,qBAAqB,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;AACnE,IAAI,eAAe,GAAyC,IAAI,CAAA;AAChE,IAAI,iBAAiB,GAAG,CAAC,CAAA;AACzB,4EAA4E;AAC5E,2EAA2E;AAC3E,IAAI,yBAAyB,GAAG,CAAC,CAAA;AAEjC;2EAC2E;AAC3E,MAAM,UAAU,4BAA4B;IAC1C,OAAO,yBAAyB,CAAA;AAClC,CAAC;AAED,wCAAwC;AACxC,MAAM,UAAU,4BAA4B,CAAC,KAAa;IACxD,yBAAyB,GAAG,KAAK,CAAA;AACnC,CAAC;AAED,+EAA+E;AAC/E,MAAM,UAAU,kBAAkB;IAChC,OAAO,eAAe,CAAA;AACxB,CAAC;AAED,iFAAiF;AAEjF,6EAA6E;AAC7E,MAAM,UAAU,cAAc,CAAC,IAAwB;IACrD,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,GAAG,CAAC,CAAA;AAClC,CAAC;AAED;;kEAEkE;AAClE,MAAM,UAAU,YAAY,CAC1B,IAAwB,EACxB,GAAkB;IAElB,IAAI,GAAG,CAAC,IAAI,KAAK,sBAAsB;QACrC,kBAAkB,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAA;AAC1C,CAAC;AAED;;gEAEgE;AAChE,MAAM,UAAU,eAAe,CAC7B,IAAwB,EACxB,GAAkB;IAElB,IAAI,GAAG,CAAC,IAAI,KAAK,cAAc;QAC7B,kBAAkB,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,CAAA;AACtE,CAAC;AAED;4EAC4E;AAC5E,MAAM,UAAU,kBAAkB,CAChC,IAAwB,EACxB,GAAoB;IAEpB,CAAC;QACC,yEAAyE;QACzE,wEAAwE;QACxE,MAAM,IAAI,GAAG,GAAG,CAAC,GAAG;YAClB,CAAC,CAAC,OAAQ,GAAG,CAAC,GAAyB,CAAC,IAAI,IAAI,GAAG,EAAE;YACrD,CAAC,CAAC,OAAO,GAAG,CAAC,GAAG,EAAE,OAAO,IAAI,GAAG,EAAE,CAAA;QACpC,MAAM,CAAC,eAAe,IAAI,CAAC,WAAW,CAAC,IAAI,aAAa,IAAI,EAAE,CAAC,CAAA;IACjE,CAAC;IACD,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,EAAE,CAAC;QAC3C,IAAI,CAAC;YACH,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,CAAA;QACtB,CAAC;QAAC,MAAM,CAAC;YACP,6BAA6B;QAC/B,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC7C,IAAwB,EACxB,GAAoB,EACpB,SAAS,GAAG,KAAK;IAEjB,CAAC;QACC,MAAM,IAAI,GAAG,GAAG,CAAC,GAAG;YAClB,CAAC,CAAC,OAAQ,GAAG,CAAC,GAAyB,CAAC,IAAI,IAAI,GAAG,EAAE;YACrD,CAAC,CAAC,OAAO,GAAG,CAAC,GAAG,EAAE,OAAO,IAAI,GAAG,EAAE,CAAA;QACpC,MAAM,CAAC,eAAe,IAAI,CAAC,WAAW,CAAC,IAAI,sBAAsB,IAAI,EAAE,CAAC,CAAA;IAC1E,CAAC;IACD,IAAI,KAAgD,CAAA;IACpD,IAAI,CAAC;QACH,MAAM,OAAO,CAAC,IAAI,CAAC;YACjB,OAAO,CAAC,GAAG,CACT,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CACxE;YACD,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;gBAC5B,KAAK,GAAG,UAAU,CAAC,OAAO,EAAE,SAAS,CAAC,CAAA;YACxC,CAAC,CAAC;SACH,CAAC,CAAA;IACJ,CAAC;YAAS,CAAC;QACT,IAAI,KAAK;YAAE,YAAY,CAAC,KAAK,CAAC,CAAA;IAChC,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,SAAS,kBAAkB,CACzB,IAAwB,EACxB,SAAiB,EACjB,OAAyB;IAEzB,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;IACxC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;AACxC,CAAC;AAED;sEACsE;AACtE,MAAM,UAAU,kBAAkB,CAChC,IAAwB,EACxB,SAAiB;IAEjB,MAAM,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;IAC1C,IAAI,CAAC,EAAE;QAAE,OAAM;IACf,IAAI,CAAC;QACH,EAAE,CAAC,MAAM,EAAE,CAAA;IACb,CAAC;IAAC,MAAM,CAAC;QACP,iBAAiB;IACnB,CAAC;IACD,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;IAClC,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;QAC7C,uEAAuE;QACvE,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAA;QACjD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IAC/C,CAAC;AACH,CAAC;AAED,iFAAiF;AAEjF;;GAEG;AACH,MAAM,UAAU,OAAO,CAAC,IAAwB;IAC9C,IAAI,CAAC,uBAAuB,IAAI,CAAC,CAAA;IACjC,yBAAyB,IAAI,CAAC,CAAA;IAE9B,oEAAoE;IACpE,8CAA8C;IAC9C,IAAI,eAAe,KAAK,IAAI,EAAE,CAAC;QAC7B,YAAY,CAAC,eAAe,CAAC,CAAA;QAC7B,eAAe,GAAG,IAAI,CAAA;IACxB,CAAC;IACD,iBAAiB,GAAG,CAAC,CAAA;IAErB,IAAI,CAAC,gBAAgB,EAAE,EAAE,CAAA;IACzB,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAA;IAE5B,uDAAuD;IACvD,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,EAAE,CAAC;QAC3C,IAAI,CAAC;YACH,EAAE,CAAC,MAAM,EAAE,CAAA;QACb,CAAC;QAAC,MAAM,CAAC;YACP,iBAAiB;QACnB,CAAC;IACH,CAAC;IACD,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAA;IACxB,IAAI,CAAC,SAAS,GAAG,EAAE,CAAA;IACnB,IAAI,CAAC,SAAS,EAAE,CAAC,MAAM,GAAG,IAAI,CAAA;IAC9B,iCAAiC,EAAE,CAAA;IAEnC,0EAA0E;IAC1E,2EAA2E;IAC3E,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAA;IAChC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAA;IACtB,IAAI,CAAC,eAAe,IAAI,CAAC,CAAA;IACzB,IAAI,CAAC,4BAA4B,GAAG,CAAC,CAAC,CAAA;IACtC,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAA;IAC9B,QAAQ,EAAE,IAAI,EAAE,CAAA;IAEhB,IAAI,CAAC,QAAQ,EAAE,YAAY,EAAE,CAAA;IAE7B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAA;IACxB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAA;IACjB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAA;IACpB,KAAK,EAAE,KAAK,EAAE,CAAA;IAEd,wEAAwE;IACxE,2EAA2E;IAC3E,yEAAyE;IACzE,oEAAoE;IACpE,2CAA2C;IAE3C,IAAI,CAAC,KAAK,GAAG,MAAM,CAAA;IACnB,IAAI,CAAC,aAAa,EAAE,CAAA;IACpB,eAAe,CAAC,IAAI,CAAC,CAAA,CAAC,iBAAiB;AACzC,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,aAAa,CAC3B,IAAwB,EACxB,WAAwB;IAExB,IAAI,IAAI,CAAC,KAAK,KAAK,WAAW;QAAE,OAAM,CAAC,sCAAsC;IAC7E,IAAI,IAAI,CAAC,KAAK,KAAK,MAAM;QAAE,OAAM,CAAC,wCAAwC;IAE1E,yBAAyB,IAAI,CAAC,CAAA;IAC9B,IAAI,CAAC,gBAAgB,EAAE,EAAE,CAAA;IACzB,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAA;IAE5B,sEAAsE;IACtE,sEAAsE;IACtE,wEAAwE;IACxE,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,EAAE,CAAC;QAC3C,IAAI,CAAC;YACH,EAAE,CAAC,MAAM,EAAE,CAAA;QACb,CAAC;QAAC,MAAM,CAAC;YACP,iBAAiB;QACnB,CAAC;IACH,CAAC;IACD,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAA;IACxB,IAAI,CAAC,SAAS,GAAG,EAAE,CAAA;IACnB,IAAI,CAAC,SAAS,EAAE,CAAC,MAAM,GAAG,IAAI,CAAA;IAE9B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAA,CAAC,gCAAgC;IAElD,wEAAwE;IACxE,mCAAmC;IACnC,IAAI,CAAC,QAAQ,EAAE,YAAY,EAAE,CAAA;IAE7B,IAAI,CAAC,KAAK,GAAG,SAAS,CAAA;IACtB,IAAI,CAAC,aAAa,EAAE,CAAA;IACpB,eAAe,CAAC,IAAI,CAAC,CAAA,CAAC,iBAAiB;IAEvC,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAA;IAClC,IAAI,YAAY,EAAE,CAAC;QACjB,kBAAkB,CAAC,IAAI,EAAE,yBAAyB,EAAE,YAAY,CAAC,CAAA;IACnE,CAAC;AACH,CAAC;AAED,SAAS,mBAAmB,CAC1B,IAAwB,EACxB,mBAA2B,EAC3B,GAAW;IAEX,OAAO,CACL,mBAAmB,KAAK,yBAAyB;QACjD,IAAI,CAAC,KAAK,KAAK,SAAS;QACxB,IAAI,CAAC,KAAK,KAAK,IAAI;QACnB,IAAI,CAAC,QAAQ,KAAK,GAAG,CACtB,CAAA;AACH,CAAC;AAED,SAAS,kBAAkB,CACzB,IAAwB,EACxB,mBAA2B,EAC3B,GAAW;IAEX,IAAI,eAAe,KAAK,IAAI;QAAE,OAAM,CAAC,oBAAoB;IACzD,IAAI,CAAC,IAAI,CAAC,aAAa;QAAE,OAAM,CAAC,8CAA8C;IAC9E,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,mBAAmB,EAAE,GAAG,CAAC;QAAE,OAAM;IAEhE,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,iBAAiB,EAAE,qBAAqB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;IACzE,MAAM,KAAK,GAAG,qBAAqB,CAAC,GAAG,CAAE,CAAA;IACzC,iBAAiB,IAAI,CAAC,CAAA;IAEtB,4EAA4E;IAC5E,2EAA2E;IAC3E,8CAA8C;IAC9C,eAAe,GAAG,UAAU,CAAC,GAAG,EAAE;QAChC,eAAe,GAAG,IAAI,CAAA;QACtB,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,mBAAmB,EAAE,GAAG,CAAC;YAAE,OAAM;QAChE,KAAK,iBAAiB,CAAC,IAAI,EAAE,mBAAmB,EAAE,GAAG,CAAC,CAAA;IACxD,CAAC,EAAE,KAAK,CAAC,CAAA;AACX,CAAC;AAED,KAAK,UAAU,iBAAiB,CAC9B,IAAwB,EACxB,mBAA2B,EAC3B,GAAW;IAEX,IAAI,CAAC,IAAI,CAAC,aAAa;QAAE,OAAM;IAC/B,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,mBAAmB,EAAE,GAAG,CAAC;QAAE,OAAM;IAEhE,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAA;IAC/B,oEAAoE;IACpE,kCAAkC;IAClC,MAAM,KAAK,GAAG,IAAI,WAAW,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,CAAA;IAExD,IAAI,CAAC;QACH,uEAAuE;QACvE,mEAAmE;QACnE,iEAAiE;QACjE,MAAM,KAAK,CAAC,OAAO,CAAC;YAClB,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACnD,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC1D,CAAC,CAAA;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,sEAAsE;QACtE,sEAAsE;QACtE,IAAI,CAAC;YACH,KAAK,CAAC,KAAK,EAAE,CAAA;QACf,CAAC;QAAC,MAAM,CAAC;YACP,4CAA4C;QAC9C,CAAC;QACD,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,mBAAmB,EAAE,GAAG,CAAC;YAAE,OAAM;QAChE,kBAAkB,CAAC,IAAI,EAAE,mBAAmB,EAAE,GAAG,CAAC,CAAA;QAClD,OAAM;IACR,CAAC;IAED,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,mBAAmB,EAAE,GAAG,CAAC,EAAE,CAAC;QACzD,IAAI,CAAC;YACH,KAAK,CAAC,KAAK,EAAE,CAAA;QACf,CAAC;QAAC,MAAM,CAAC;YACP,yCAAyC;QAC3C,CAAC;QACD,OAAM;IACR,CAAC;IAED,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;IAClB,iBAAiB,GAAG,CAAC,CAAA;IAErB,4EAA4E;IAC5E,4EAA4E;IAC5E,2BAA2B;IAC3B,qBAAqB,CAAC,KAAK,CAAC,CAAA;IAE5B,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAA;IACnD,IAAI,CAAC,gBAAgB,GAAG,oBAAoB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;IAEzD,uEAAuE;IACvE,IAAI,CAAC,mBAAmB,EAAE,CAAA;IAE1B,sEAAsE;IACtE,mEAAmE;IACnE,8CAA8C;IAC9C,eAAe,CAAC,IAAI,CAAC,CAAA;AACvB,CAAC;AAED,gFAAgF;AAEhF;;6EAE6E;AAC7E,MAAM,UAAU,qBAAqB,CAAC,KAAkB;IACtD,KAAK,SAAS,EAAE;SACb,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CACd,KAAK,CAAC,WAAW,CAAC;QAChB,IAAI,EAAE,aAAa;QACnB,MAAM,EAAE,gBAAgB,CAAC,KAAK,CAAC;KAChC,CAAC,CACH;SACA,KAAK,CAAC,GAAG,EAAE;QACV,iBAAiB;IACnB,CAAC,CAAC,CAAA;AACN,CAAC;AAED,oEAAoE;AACpE,MAAM,UAAU,YAAY,CAAC,IAAwB;IACnD,IAAI,IAAI,CAAC,QAAQ,EAAE,KAAK,MAAM;QAAE,OAAO,cAAc,CAAA;IACrD,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,cAAc,CAAA;AAClD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAAC,IAAwB,EAAE,KAAK,GAAG,KAAK;IACrE,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,CAAA;IACjC,IAAI,CAAC,KAAK,IAAI,MAAM,KAAK,gBAAgB;QAAE,OAAM;IACjD,gBAAgB,GAAG,MAAM,CAAA;IACzB,gFAAgF;IAChF,8EAA8E;IAC9E,gFAAgF;IAChF,qEAAqE;IACrE,wEAAwE;IACxE,4EAA4E;IAC5E,IAAI,CAAC;QACH,IAAI,CAAC,EAAE,EAAE,WAAW,CAAC;YACnB,UAAU,EAAE,qBAAqB;YACjC,OAAO,EAAE,SAAS,MAAM,EAAE;YAC1B,OAAO,EAAE;gBACP,MAAM;gBACN,SAAS,EAAE,MAAM,KAAK,WAAW;gBACjC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACrD,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAClD;YACD,OAAO,EAAE,KAAK;SACf,CAAC,CAAA;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,mEAAmE;IACrE,CAAC;AACH,CAAC;AAED;;gFAEgF;AAChF,MAAM,UAAU,WAAW;IACzB,6EAA6E;IAC7E,+EAA+E;IAC/E,2EAA2E;IAC3E,OAAO;QACL,EAAE,EAAE,WAAW,EAAE;QACjB,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE;KACgC,CAAA;AACtD,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,WAAW;IAGzB,OAAO;QACL,MAAM,EAAE,CAAC,GAAW,EAAE,IAAmC,EAAE,EAAE;YAC3D,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,OAAO;gBACxC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,CAAA;QACpC,CAAC;KACF,CAAA;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,IAAwB,EACxB,GAAW;IAEX,sEAAsE;IACtE,6EAA6E;IAC7E,kEAAkE;IAClE,IAAI,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC9B,MAAM,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,CAAA;QAC1D,OAAM;IACR,CAAC;IACD,QAAQ,GAAG,EAAE,CAAC;QACZ,KAAK,UAAU;YACb,IAAI,IAAI,CAAC,QAAQ,EAAE,KAAK,MAAM;gBAC5B,MAAM,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,EAAE,CAAC,CAAA;YAClD,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;YAC3B,OAAM;QACR,KAAK,WAAW;YACd,IAAI,IAAI,CAAC,QAAQ,EAAE,KAAK,MAAM,EAAE,CAAC;gBAC/B,IAAI,CAAC,uBAAuB,IAAI,CAAC,CAAA;gBACjC,yBAAyB,IAAI,CAAC,CAAA;YAChC,CAAC;;gBAAM,OAAO,CAAC,IAAI,CAAC,CAAA;YACpB,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;YAC3B,OAAM;QACR,KAAK,cAAc;YACjB,IAAI,IAAI,CAAC,QAAQ,EAAE,KAAK,MAAM;gBAC5B,MAAM,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,EAAE,CAAC,CAAA;;gBAC7C,OAAO,CAAC,IAAI,CAAC,CAAA;YAClB,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;YAC3B,OAAM;QACR,KAAK,cAAc;YACjB,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;YAC3B,OAAM;QACR;YACE,yEAAyE;YACzE,0CAA0C;YAC1C,OAAM;IACV,CAAC;AACH,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,iBAAiB,CAC/B,IAAwB,EACxB,SAAkB;IAElB,IAAI,IAAI,CAAC,KAAK,KAAK,MAAM;QAAE,OAAM;IACjC,MAAM,MAAM,GAAG,SAAS,IAAI,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,EAAE,CAAA;IAC9D,IAAI,CAAC,MAAM;QAAE,OAAM;IACnB,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC;QAAE,OAAM;IAEzC,kBAAkB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;IAChC,IAAI,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;QACzB,0EAA0E;QAC1E,qCAAqC;QACrC,IAAI,CAAC,aAAa,EAAE,CAAA;QACpB,OAAM;IACR,CAAC;IAED,wEAAwE;IACxE,kBAAkB;IAClB,IAAI,CAAC,SAAS,EAAE,CAAC,MAAM,GAAG,IAAI,CAAA;IAC9B,IAAI,CAAC,aAAa,EAAE,CAAA;IACpB,IAAI,CAAC,UAAU,CACb,+DAA+D,EAC/D,MAAM,CACP,CAAA;IACD,4EAA4E;AAC9E,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,YAAY,CACnB,IAAwB,EACxB,KAAkB,EAClB,SAAiB,EACjB,QAAgB,EAChB,UAA0B;IAE1B,MAAM,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;IAEvC,6DAA6D;IAC7D,IAAI,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC;QAAE,kBAAkB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAA;IAExE,+EAA+E;IAC/E,+EAA+E;IAC/E,MAAM,OAAO,GAAG,IAAI,gBAAgB,CAClC,KAAK,EACL,SAAS,EACT,IAAI,CAAC,QAAQ,IAAI,SAAS,EAC1B,CAAC,GAAG,EAAE,EAAE,CACN,IAAI,CAAC,sBAAsB,CACzB,OAAO,EACP,GAAG,EACF,IAAI,CAAC,OAAO,EAA0B,IAAI,IAAI,CAAC,OAAO,CACxD,EACH,GAAG,EAAE,CAAC,iBAAiB,CAAC,IAAI,EAAE,SAAS,CAAC,EACxC,CAAC,GAAG,EAAE,EAAE,CACN,GAAG,CAAC,EAAE,KAAK,SAAS;QAClB,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,GAAG,CAAC;QACxC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,OAAO,EAAE,GAAG,CAAC,EAC7C,GAAG,EAAE,CACH,IAAI,CAAC,SAAS,EAAE,CAAC,cAAc,EAAE,YAAY,EAAE;QAC/C,IAAI,CAAC,aAAa;QAClB,SAAS,CACZ,CAAA;IAED,kBAAkB,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,CAAA;IAC5C,+EAA+E;IAC/E,yEAAyE;IACzE,2EAA2E;IAC3E,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC,cAAc,EAAE,YAAY,EAAE,CAAA;IAC5D,OAAO,CAAC,YAAY,CAAC,aAAa,CAAC,mBAAmB,EAAE,EAAE,IAAI,CAAC,CAAC,CAAA;IAChE,MAAM,CACJ,gBAAgB,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,iCAAiC,IAAI,IAAI,GAAG,aAAa,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CACtH,CAAA;IACD,6EAA6E;IAC7E,2EAA2E;IAC3E,4EAA4E;IAC5E,oEAAoE;IACpE,oBAAoB;IACpB,IAAI,CAAC,aAAa,EAAE,CAAA;IAEpB,IAAI,CAAC,UAAU,CACb,kCAAkC,SAAS,UAAU,QAAQ,GAAG;QAC9D,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,UAAU,EACrC,MAAM,CACP,CAAA;IAED,IAAI,UAAU,EAAE,CAAC;QACf,sEAAsE;QACtE,uEAAuE;QACvE,0CAA0C;QAC1C,KAAK,UAAU,CAAA;IACjB,CAAC;IACD,OAAO,OAAO,CAAA;AAChB,CAAC;AAED,iFAAiF;AACjF,EAAE;AACF,oEAAoE;AACpE,kDAAkD;AAClD,qEAAqE;AACrE,2EAA2E;AAC3E,6CAA6C;AAC7C,0EAA0E;AAC1E,+CAA+C;AAC/C,wEAAwE;AACxE,8DAA8D;AAC9D,2EAA2E;AAE3E,MAAM,UAAU,oBAAoB,CAClC,IAAwB,EACxB,KAAkB;IAElB,MAAM,kBAAkB,GAAG,yBAAyB,CAAA;IACpD,MAAM,oBAAoB,GAAG,GAAY,EAAE,CACzC,CAAC,IAAI,CAAC,QAAQ;QACd,IAAI,CAAC,KAAK,KAAK,SAAS;QACxB,IAAI,CAAC,KAAK,KAAK,KAAK;QACpB,yBAAyB,KAAK,kBAAkB,CAAA;IAClD,MAAM,KAAK,GAAG,KAAK,EAAE,IAAY,EAAE,EAAE;QACnC,IAAI,KAAqC,CAAA;QACzC,IAAI,CAAC;YACH,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAmC,CAAA;QAC5D,CAAC;QAAC,MAAM,CAAC;YACP,OAAM;QACR,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,EAAE;YAAE,OAAM;QAEpC,IAAI,CAAC,oBAAoB,EAAE;YAAE,OAAM;QAEnC,kEAAkE;QAClE,wEAAwE;QACxE,6EAA6E;QAC7E,4EAA4E;QAC5E,oEAAoE;QACpE,IAAI,KAAoB,CAAA;QACxB,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;YAClE,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAY,CAAA;YAC/C,IACE,CAAC,MAAM;gBACP,OAAO,MAAM,KAAK,QAAQ;gBAC1B,OAAQ,MAAkC,CAAC,IAAI,KAAK,QAAQ;gBAE5D,OAAM;YACR,KAAK,GAAG,MAAuB,CAAA;QACjC,CAAC;QAAC,MAAM,CAAC;YACP,OAAM;QACR,CAAC;QAED,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAA;QAE5B,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;YAClC,MAAM,kBAAkB,CACtB,IAAI,EACJ,KAAK,EACL,SAAS,EACT,KAAK,EACL,oBAAoB,CACrB,CAAA;YACD,OAAM;QACR,CAAC;QAED,4EAA4E;QAC5E,IAAI,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC;YAAE,OAAM;QAE3C,oEAAoE;QACpE,qEAAqE;QACrE,6BAA6B;QAC7B,MAAM,KAAK,GAAG,MAAM,cAAc,CAAC,SAAS,CAAC,CAAA;QAC7C,IAAI,CAAC,oBAAoB,EAAE;YAAE,OAAM;QACnC,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,CAAA;YAChE,yEAAyE;YACzE,2EAA2E;YAC3E,wEAAwE;YACxE,gEAAgE;YAChE,yEAAyE;YACzE,wEAAwE;YACxE,uEAAuE;YACvE,2CAA2C;YAC3C,MAAM,QAAQ,GAAG,KAAgC,CAAA;YACjD,IAAI,eAAe,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC9B,CAAC;oBACC,iEAAiE;oBACjE,0EAA0E;oBAC1E,MAAM,QAAQ,GAAG,KAAmC,CAAA;oBACpD,IAAI,QAAQ,CAAC,EAAE,KAAK,SAAS;wBAC3B,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;;wBACxC,IAAI,CAAC,oBAAoB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;gBACnD,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,sBAAsB,CACzB,OAAO,EACP,KAAK,EACJ,IAAI,CAAC,OAAO,EAA0B,IAAI,IAAI,CAAC,OAAO,CACxD,CAAA;YACH,CAAC;YACD,OAAM;QACR,CAAC;QAED,yEAAyE;QACzE,wEAAwE;QACxE,2EAA2E;QAC3E,mBAAmB;QACnB,MAAM,QAAQ,GAAkB;YAC9B,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,cAAc;YACpB,OAAO,EAAE,8BAA8B;SACxC,CAAA;QACD,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;QACtE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAA;IAC5D,CAAC,CAAA;IAED,KAAK,CAAC,EAAE,CAAC,SAAS,EAAE,KAAK,CAAC,CAAA;IAC1B,OAAO,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,CAAC,CAAA;AAC1C,CAAC;AAED;;;;;;GAMG;AACH,SAAS,qBAAqB;IAC5B,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAC3C,qEAAqE;QACrE,yEAAyE;QACzE,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,CAAC,CAAA;QAC5D,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAEnD,CAAA;QACD,OAAO,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAA;IAChE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,OAAO,CAAA;IAChB,CAAC;AACH,CAAC;AACD,MAAM,QAAQ,GAAG;IACf,IAAI,EAAE,iBAAiB;IACvB,OAAO,EAAE,qBAAqB,EAAE;CACxB,CAAA;AACV,MAAM,SAAS,GAAG,QAAQ,EAAE,CAAA;AAE5B,4EAA4E;AAC5E,yEAAyE;AACzE,MAAM,gBAAgB,GAAG,CAAC,CAAA;AAC1B,sFAAsF;AACtF,8EAA8E;AAC9E,8EAA8E;AAC9E,6EAA6E;AAC7E,4BAA4B;AAE5B;;4DAE4D;AAC5D,SAAS,WAAW,CAClB,IAAwB,EACxB,SAAuC,EACvC,KAAuD,EACvD,MAAc;IAEd,SAAS,CAAC;QACR,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,KAAK,CAAC,EAAE;QACrB,YAAY,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;QACjD,kBAAkB,EAAE,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,GAAG,EAAE;QACvD,OAAO,EAAE,MAAM;QACf,OAAO,EAAE,QAAQ;QACjB,QAAQ,EAAE,SAAS;QACnB,gBAAgB,EAAE,gBAAgB;QAClC,YAAY,EAAE,mBAAmB,EAAE;KACpC,CAAC,CAAA;AACJ,CAAC;AAED,KAAK,UAAU,kBAAkB,CAC/B,IAAwB,EACxB,KAAkB,EAClB,SAAiB,EACjB,KAAuD,EACvD,oBAAmC;IAEnC,MAAM,SAAS,GAAG,CAAC,GAAkB,EAAE,EAAE;QACvC,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;QAC9D,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC,CAAA;IACrD,CAAC,CAAA;IAED,MAAM,SAAS,GAAG,CAAC,IAAmB,EAAE,OAAe,EAAE,EAAE;QACzD,SAAS,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,KAAK,CAAC,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAA;IACzE,CAAC,CAAA;IAED,+EAA+E;IAC/E,6EAA6E;IAC7E,+EAA+E;IAC/E,gFAAgF;IAChF,gFAAgF;IAChF,mEAAmE;IACnE,MAAM,UAAU,GAAG,MAAM,cAAc,CAAC,SAAS,CAAC,CAAA;IAClD,IAAI,UAAU,EAAE,CAAC;QACf,IAAI,CAAC,oBAAoB,EAAE;YAAE,OAAM;QACnC,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAA;QAC5B,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,SAAS,CACP,gBAAgB,EAChB,oEAAoE;gBAClE,oBAAoB,CACvB,CAAA;YACD,OAAM;QACR,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YACrC,YAAY,CAAC,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,CAAC,IAAI,CAAC,CAAA;QACvD,CAAC;QACD,WAAW,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,CAAC,CAAA;QAC3C,OAAM;IACR,CAAC;IAED,MAAM,MAAM,GAAG,SAAS,CAAC,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;IAClD,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QACpB,MAAM,IAAI,GACR,MAAM,KAAK,SAAS;YAClB,CAAC,CAAC,eAAe;YACjB,CAAC,CAAC,MAAM,KAAK,UAAU;gBACrB,CAAC,CAAC,gBAAgB;gBAClB,CAAC,CAAC,eAAe,CAAA;QACvB,MAAM,GAAG,GACP,IAAI,KAAK,eAAe;YACtB,CAAC,CAAC,+DAA+D;YACjE,CAAC,CAAC,IAAI,KAAK,gBAAgB;gBACzB,CAAC,CAAC,iDAAiD;gBACnD,CAAC,CAAC,kCAAkC,CAAA;QAC1C,SAAS,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;QACpB,OAAM;IACR,CAAC;IAED,yEAAyE;IACzE,2EAA2E;IAC3E,4EAA4E;IAC5E,0EAA0E;IAC1E,yEAAyE;IACzE,6EAA6E;IAC7E,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAA;IAC5B,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,CAAC,6DAA6D,CAAC,CAAA;QACrE,SAAS,CACP,gBAAgB,EAChB,oEAAoE;YAClE,oBAAoB,CACvB,CAAA;QACD,OAAM;IACR,CAAC;IAED,sEAAsE;IACtE,uEAAuE;IACvE,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAA;IAChC,MAAM,aAAa,GAAG,IAAI,CAAC,eAAe,CAAA;IAC1C,QAAQ,EAAE,0BAA0B,EAAE,CAAA;IACtC,MAAM,QAAQ,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAA;IACzC,IAAI,CAAC;QACH,MAAM,OAAO,CAAC;YACZ,IAAI,EAAE,KAAK,CAAC,WAAW;YACvB,UAAU,EAAE,SAAS;YACrB,SAAS,EAAE,QAAQ;SACpB,CAAC,CAAA;QACF,IAAI,CAAC,oBAAoB,EAAE;YAAE,OAAM;QACnC,IAAI,CAAC,oBAAoB,EAAE,CAAA;QAC3B,IACE,QAAQ;YACR,IAAI,CAAC,UAAU,KAAK,QAAQ;YAC5B,IAAI,CAAC,eAAe,KAAK,aAAa,EACtC,CAAC;YACD,KAAK,QAAQ,CAAC,iBAAiB,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE;gBAC3C,iEAAiE;YACnE,CAAC,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,oBAAoB,EAAE;YAAE,OAAM;QACnC,SAAS,CAAC,gBAAgB,EAAE,2BAA2B,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QACrE,OAAM;IACR,CAAC;IAED,YAAY,CAAC,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,CAAC,WAAW,CAAC,CAAA;IAEvD,WAAW,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,CAAC,CAAA;IAE3C,8EAA8E;IAC9E,+EAA+E;IAC/E,4DAA4D;IAC5D,IAAI,CAAC,EAAE,EAAE,WAAW,CAAC;QACnB,UAAU,EAAE,gBAAgB;QAC5B,OAAO,EAAE,eAAe,KAAK,CAAC,WAAW,EAAE;QAC3C,OAAO,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE;QACjE,OAAO,EAAE,KAAK;KACf,CAAC,CAAA;AACJ,CAAC"}
1
+ {"version":3,"file":"relay_lifecycle.js","sourceRoot":"","sources":["../../src/session/relay_lifecycle.ts"],"names":[],"mappings":"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"}
@@ -10,14 +10,34 @@ export interface GetEntriesResult {
10
10
  entries: SessionEntry[];
11
11
  leafId: string | null;
12
12
  }
13
- /** Page budget for get_entries replies (design: get_entries backfill paging).
14
- * Keeps each reply frame comfortably under every transport cap: the relay's
15
- * 500 KiB POST /mesh body limit, URLSessionWebSocketTask's 1 MiB default
16
- * maximumMessageSize, and the 4 MiB WS outer-envelope limit. ~256 KiB of
17
- * entries leaves ample headroom for envelope + signature overhead. This is
18
- * chunking BEHAVIOR, not protocol the frame shapes stay byte-faithful to
19
- * pi's rpc (`success(id, "get_entries", { entries, leafId })`). */
13
+ /** Page budget for get_entries replies (design: get_entries backfill paging;
14
+ * raised 256 KiB 1 MiB 2 MiB after device testing, 2026-09-10).
15
+ * 2 MiB of entry JSON per page fewer round trips than the original,
16
+ * still wide margin under every cap: body ≈ 2 MiB + envelope overhead
17
+ * 2.7 MiB base64 wire decoded estimate ≈ 2 MiB, ~1.9 MiB UNDER the
18
+ * relay's 4 MiB ct cap (RELAY_MAX_CT_MIB) < the app's 8 MiB WS receive.
19
+ * A page carrying one MAX_ENTRY_JSON_BYTES (2 MiB) fitted entry alone also
20
+ * fits with the same margin. (The 500 KiB POST /mesh cap does NOT apply —
21
+ * pages ride the peer WS plane, not mesh.) Fold cost: the reader folds a
22
+ * page on its main actor; 2 MiB parses in ~5-10 ms — device-verified smooth.
23
+ * If refusals (payload_too_large) ever appear in logs, dial this back toward
24
+ * 1 MiB — the refusal frames make that visible now. This is chunking
25
+ * BEHAVIOR, not protocol — frames stay byte-faithful to pi's rpc
26
+ * (`success(id, "get_entries", { entries, leafId })`). */
20
27
  export declare const GET_ENTRIES_PAGE_BUDGET_BYTES: number;
28
+ /** Hard ceiling for a SINGLE entry's JSON (design: transport-fit paging). The
29
+ * at-least-one-entry progress rule means an entry beyond the relay's ct cap
30
+ * would ride alone, get refused payload_too_large, and stall the reader's
31
+ * walk on the same cursor FOREVER — one giant entry (a multi-MB tool result)
32
+ * poisoned the whole session's backfill. Fitted entries deep-truncate long
33
+ * strings (suffix marker) so shape + ids survive and the walk always crosses.
34
+ * 2 MiB JSON → ≈2.7 MiB base64 ≈ 2.7 MiB decoded estimate — half the relay
35
+ * cap, deliberately, so a page carrying one fitted entry still has margin. */
36
+ export declare const MAX_ENTRY_JSON_BYTES: number;
37
+ /** Fit one entry for transport: unchanged when small enough; string-truncated
38
+ * (shrinking per-string caps across passes) when oversized; ultimate fallback
39
+ * is a minimal content-elided stub so the walk ALWAYS crosses this entry. */
40
+ export declare function fitEntryForTransport(entry: SessionEntry): SessionEntry;
21
41
  /** Slice the entry log into one budget-bounded page starting AFTER `since`
22
42
  * (undefined = from the start). Handlers pre-validate `since` pi-faithfully
23
43
  * (unknown id → `Entry not found` error); this helper stays tolerant (an