@geohar/un-bien 0.14.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.
- package/README.md +9 -9
- package/dist/bin/launcher.js +22 -0
- package/dist/bin/launcher.js.map +1 -1
- package/dist/client.d.ts +15 -0
- package/dist/client.js +15 -0
- package/dist/client.js.map +1 -0
- package/dist/commands/deps.d.ts +6 -2
- package/dist/commands/lifecycle.js +5 -2
- package/dist/commands/lifecycle.js.map +1 -1
- package/dist/config.d.ts +9 -0
- package/dist/config.js.map +1 -1
- package/dist/daemon/install.d.ts +2 -2
- package/dist/daemon/install.js +8 -4
- package/dist/daemon/install.js.map +1 -1
- package/dist/index.js +37 -8
- package/dist/index.js.map +1 -1
- package/dist/launch.d.ts +5 -0
- package/dist/launch.js +16 -1
- package/dist/launch.js.map +1 -1
- package/dist/launcher/launcher.js +48 -5
- package/dist/launcher/launcher.js.map +1 -1
- package/dist/pairing/signed_allow_list.d.ts +20 -0
- package/dist/pairing/signed_allow_list.js +22 -0
- package/dist/pairing/signed_allow_list.js.map +1 -0
- package/dist/pairing/storage.d.ts +22 -0
- package/dist/pairing/storage.js +129 -0
- package/dist/pairing/storage.js.map +1 -1
- package/dist/session/relay_lifecycle.d.ts +15 -0
- package/dist/session/relay_lifecycle.js +94 -32
- package/dist/session/relay_lifecycle.js.map +1 -1
- package/dist/session/rpc_inbound.d.ts +27 -7
- package/dist/session/rpc_inbound.js +82 -10
- package/dist/session/rpc_inbound.js.map +1 -1
- package/dist/transport/relay_client.d.ts +10 -1
- package/dist/transport/relay_client.js +16 -3
- package/dist/transport/relay_client.js.map +1 -1
- package/docs/daemon.md +12 -12
- package/package.json +6 -2
package/dist/pairing/storage.js
CHANGED
|
@@ -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
|
|
@@ -605,6 +716,24 @@ export async function listPeers() {
|
|
|
605
716
|
return [];
|
|
606
717
|
}
|
|
607
718
|
}
|
|
719
|
+
/**
|
|
720
|
+
* The relay ROOMS-gate allow-list (design 01M1ZE43): each paired Owner's epk
|
|
721
|
+
* canonicalized to the relay's `peer_id` encoding (standard padded base64 of
|
|
722
|
+
* the 32 raw bytes), so it matches the challenge-verified peer_id the relay
|
|
723
|
+
* routes on. Undecodable handles are skipped rather than poisoning the set.
|
|
724
|
+
*/
|
|
725
|
+
export function pairingAllowList(peers) {
|
|
726
|
+
const owners = [];
|
|
727
|
+
for (const p of peers) {
|
|
728
|
+
try {
|
|
729
|
+
owners.push(canonicalizeEd25519PublicKey(p.remote_epk, "peer allow-list"));
|
|
730
|
+
}
|
|
731
|
+
catch {
|
|
732
|
+
/* skip an undecodable handle */
|
|
733
|
+
}
|
|
734
|
+
}
|
|
735
|
+
return owners;
|
|
736
|
+
}
|
|
608
737
|
/**
|
|
609
738
|
* Authoritative container read for SelfRevoke's token path. Public readers
|
|
610
739
|
* intentionally remain best-effort; only a missing file is proof of emptiness
|
|
@@ -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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"}
|
|
@@ -171,6 +171,12 @@ export declare function _goIdle(deps: RelayLifecycleDeps): void;
|
|
|
171
171
|
* the prior peer here; we just go back to `started` and wait.
|
|
172
172
|
*/
|
|
173
173
|
export declare function _onRelayClose(deps: RelayLifecycleDeps, closedRelay: RelayClient): void;
|
|
174
|
+
/** Push this machine's ROOMS-gate allow-list (paired Owner epks permitted to
|
|
175
|
+
* list our rooms) to the relay. Best-effort — a miss just delays the gate
|
|
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;
|
|
174
180
|
/** Current relay connectivity, derived from `_state` + `_relay`. */
|
|
175
181
|
export declare function _relayStatus(deps: RelayLifecycleDeps): RelayConnectivity;
|
|
176
182
|
/**
|
|
@@ -216,4 +222,13 @@ export declare function _handleControl(deps: RelayLifecycleDeps, cmd: string): P
|
|
|
216
222
|
* singleton semantics.
|
|
217
223
|
*/
|
|
218
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;
|
|
219
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 } 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,10 +326,11 @@ async function _attemptReconnect(deps, lifecycleGeneration, url) {
|
|
|
325
326
|
}
|
|
326
327
|
return;
|
|
327
328
|
}
|
|
328
|
-
deps.relay = relay;
|
|
329
329
|
_reconnectAttempt = 0;
|
|
330
|
-
|
|
331
|
-
|
|
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);
|
|
332
334
|
// Plan/25 Wave B/C: relay is back; bring cross-PC routing back online.
|
|
333
335
|
deps.attachBridgeIfReady();
|
|
334
336
|
// _state stays "started"; peer reconnect (if previously paired) flows
|
|
@@ -337,6 +339,27 @@ async function _attemptReconnect(deps, lifecycleGeneration, url) {
|
|
|
337
339
|
_emitRelayState(deps);
|
|
338
340
|
}
|
|
339
341
|
// ── Relay state event + transparent control channel (Cockpit toggle) ─────────
|
|
342
|
+
/** Push this machine's ROOMS-gate allow-list (paired Owner epks permitted to
|
|
343
|
+
* list our rooms) to the relay. Best-effort — a miss just delays the gate
|
|
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)}`);
|
|
361
|
+
});
|
|
362
|
+
}
|
|
340
363
|
/** Current relay connectivity, derived from `_state` + `_relay`. */
|
|
341
364
|
export function _relayStatus(deps) {
|
|
342
365
|
if (deps.getState() === "idle")
|
|
@@ -542,6 +565,20 @@ function _attachOwner(deps, relay, appPeerId, peerName, firstInner) {
|
|
|
542
565
|
// • Non-pair message from a known peer (peers.json) without an active
|
|
543
566
|
// channel yet → attach + route the inner (reconnect path)
|
|
544
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
|
+
}
|
|
545
582
|
export function _installAutoListener(deps, relay) {
|
|
546
583
|
const listenerGeneration = _relayLifecycleGeneration;
|
|
547
584
|
const hasListenerAuthority = () => !deps.disposed &&
|
|
@@ -560,10 +597,11 @@ export function _installAutoListener(deps, relay) {
|
|
|
560
597
|
return;
|
|
561
598
|
if (!hasListenerAuthority())
|
|
562
599
|
return;
|
|
563
|
-
//
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
//
|
|
600
|
+
// Decode inner envelope (base64 JSON) BEFORE the already-attached
|
|
601
|
+
// short-circuit, so a pair_request from an ATTACHED owner still reaches
|
|
602
|
+
// _handlePairRequest (an idempotent re-confirm, design 01M20G8SE) instead of
|
|
603
|
+
// being dropped. Inbound app->pi frames are low-volume, so the extra decode
|
|
604
|
+
// is cheap — streaming OUTPUT is outbound and never hits this path.
|
|
567
605
|
let inner;
|
|
568
606
|
try {
|
|
569
607
|
const plaintext = Buffer.from(outer.ct, "base64").toString("utf8");
|
|
@@ -582,6 +620,9 @@ export function _installAutoListener(deps, relay) {
|
|
|
582
620
|
await _handlePairRequest(deps, relay, appPeerId, inner, hasListenerAuthority);
|
|
583
621
|
return;
|
|
584
622
|
}
|
|
623
|
+
// Already-attached owners: their PlainPeerChannel handles non-pair routing.
|
|
624
|
+
if (deps.activePeers.has(appPeerId))
|
|
625
|
+
return;
|
|
585
626
|
// Reconnect path: known peer (peers.json) without an active channel
|
|
586
627
|
// sends a non-pair message → attach + route through the new channel.
|
|
587
628
|
// See pairing.md §Reconexão.
|
|
@@ -663,6 +704,22 @@ const PROTOCOL_VERSION = 1;
|
|
|
663
704
|
// Capability set moved to ./capabilities.ts (sessionCapabilities) so both the
|
|
664
705
|
// ub hello (here) and room_meta.caps (commands/lifecycle) advertise the SAME
|
|
665
706
|
// set from one choke point.
|
|
707
|
+
/** Send pair_ok to `inner`'s sender — the shared success + re-confirm payload
|
|
708
|
+
* (design 01M20G8SE). The caller has already attached the owner and (for a NEW
|
|
709
|
+
* peer) persisted it; this only emits the confirmation. */
|
|
710
|
+
function _emitPairOk(deps, sendInner, inner, roomId) {
|
|
711
|
+
sendInner({
|
|
712
|
+
type: "pair_ok",
|
|
713
|
+
in_reply_to: inner.id,
|
|
714
|
+
session_name: deps.displayName(deps.sessionCwd()),
|
|
715
|
+
session_started_at: deps.sessionStartedAt ?? Date.now(),
|
|
716
|
+
room_id: roomId,
|
|
717
|
+
harness: _HARNESS,
|
|
718
|
+
hostname: _HOSTNAME,
|
|
719
|
+
protocol_version: PROTOCOL_VERSION,
|
|
720
|
+
capabilities: sessionCapabilities(),
|
|
721
|
+
});
|
|
722
|
+
}
|
|
666
723
|
async function _handlePairRequest(deps, relay, appPeerId, inner, hasListenerAuthority) {
|
|
667
724
|
const sendInner = (msg) => {
|
|
668
725
|
const ct = Buffer.from(JSON.stringify(msg)).toString("base64");
|
|
@@ -671,6 +728,28 @@ async function _handlePairRequest(deps, relay, appPeerId, inner, hasListenerAuth
|
|
|
671
728
|
const sendError = (code, message) => {
|
|
672
729
|
sendInner({ type: "pair_error", in_reply_to: inner.id, code, message });
|
|
673
730
|
};
|
|
731
|
+
// IDEMPOTENT RE-CONFIRM for an owner already in peers.json (design 01M20G8SE):
|
|
732
|
+
// the relay rewrites outer.peer to the challenge-verified sender, so a known
|
|
733
|
+
// epk here is an already-authenticated, already-trusted owner. Re-send pair_ok
|
|
734
|
+
// WITHOUT consuming a token (the token only bootstraps trust for a NEW epk), so
|
|
735
|
+
// a re-pair from a trusted device — re-scanned a fresh QR while still attached,
|
|
736
|
+
// or a stale-token re-scan — is ACKed instead of silently dropped.
|
|
737
|
+
const knownOwner = await _findKnownPeer(appPeerId);
|
|
738
|
+
if (knownOwner) {
|
|
739
|
+
if (!hasListenerAuthority())
|
|
740
|
+
return;
|
|
741
|
+
const roomId = deps.myRoomId;
|
|
742
|
+
if (!roomId) {
|
|
743
|
+
sendError("internal_error", "No session room yet — retry pairing once this session has started " +
|
|
744
|
+
"(design 01M1CAW0).");
|
|
745
|
+
return;
|
|
746
|
+
}
|
|
747
|
+
if (!deps.activePeers.has(appPeerId)) {
|
|
748
|
+
_attachOwner(deps, relay, appPeerId, knownOwner.name);
|
|
749
|
+
}
|
|
750
|
+
_emitPairOk(deps, sendInner, inner, roomId);
|
|
751
|
+
return;
|
|
752
|
+
}
|
|
674
753
|
const status = qrSession.consumeToken(inner.token);
|
|
675
754
|
if (status !== "ok") {
|
|
676
755
|
const code = status === "expired"
|
|
@@ -692,7 +771,8 @@ async function _handlePairRequest(deps, relay, appPeerId, inner, hasListenerAuth
|
|
|
692
771
|
// refuse the pair instead of falling back to the retired cwd-derived room
|
|
693
772
|
// (which the app would then address while the Pi announces another). The
|
|
694
773
|
// app surfaces pair_error and the user rescans once the session has started.
|
|
695
|
-
|
|
774
|
+
const roomId = deps.myRoomId;
|
|
775
|
+
if (!roomId) {
|
|
696
776
|
envLog("pair_request refused: no session room yet (design 01M1CAW0)");
|
|
697
777
|
sendError("internal_error", "No session room yet — retry pairing once this session has started " +
|
|
698
778
|
"(design 01M1CAW0).");
|
|
@@ -712,6 +792,10 @@ async function _handlePairRequest(deps, relay, appPeerId, inner, hasListenerAuth
|
|
|
712
792
|
});
|
|
713
793
|
if (!hasListenerAuthority())
|
|
714
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.
|
|
715
799
|
deps.refreshPairingsCache();
|
|
716
800
|
if (producer &&
|
|
717
801
|
deps.selfRevoke === producer &&
|
|
@@ -727,30 +811,8 @@ async function _handlePairRequest(deps, relay, appPeerId, inner, hasListenerAuth
|
|
|
727
811
|
sendError("internal_error", `Failed to persist peer: ${String(err)}`);
|
|
728
812
|
return;
|
|
729
813
|
}
|
|
730
|
-
const cwd = deps.sessionCwd();
|
|
731
|
-
// Prefer the user-configured agent_name (with broker suffix when on the
|
|
732
|
-
// mesh) over the legacy parent/folder path — matches what the user sees
|
|
733
|
-
// in the terminal title and in /unbien status.
|
|
734
|
-
const sessionName = deps.displayName(cwd);
|
|
735
814
|
_attachOwner(deps, relay, appPeerId, inner.device_name);
|
|
736
|
-
sendInner
|
|
737
|
-
type: "pair_ok",
|
|
738
|
-
in_reply_to: inner.id,
|
|
739
|
-
session_name: sessionName,
|
|
740
|
-
session_started_at: deps.sessionStartedAt ?? Date.now(),
|
|
741
|
-
// App uses this to address subsequent inner messages to the right room
|
|
742
|
-
// when this Pi runs alongside others with the same epk. Always the
|
|
743
|
-
// session-id-derived room the Pi announced (guarded above; design
|
|
744
|
-
// 01M1CAW0 — never a cwd-derived guess).
|
|
745
|
-
room_id: deps.myRoomId,
|
|
746
|
-
// Plan/27 Wave A — surface the host coding-agent identity + machine
|
|
747
|
-
// hostname so the app can render a meaningful device row (and tell
|
|
748
|
-
// two PCs apart even when nicknames collide).
|
|
749
|
-
harness: _HARNESS,
|
|
750
|
-
hostname: _HOSTNAME,
|
|
751
|
-
protocol_version: PROTOCOL_VERSION,
|
|
752
|
-
capabilities: sessionCapabilities(),
|
|
753
|
-
});
|
|
815
|
+
_emitPairOk(deps, sendInner, inner, roomId);
|
|
754
816
|
// Notify local RPC clients (e.g. Cockpit) that pairing completed, so they can
|
|
755
817
|
// close the QR screen and show the new device. Pure data event (display:false)
|
|
756
818
|
// — still emitted to the RPC stdout via the session stream.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"relay_lifecycle.js","sourceRoot":"","sources":["../../src/session/relay_lifecycle.ts"],"names":[],"mappings":"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"}
|
|
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,EACL,OAAO,EACP,SAAS,EACT,oBAAoB,EACpB,gBAAgB,GACjB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAA;AAEtE,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,iBAAiB,GAAG,CAAC,CAAA;IAErB,mEAAmE;IACnE,wEAAwE;IACxE,6EAA6E;IAC7E,qBAAqB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;IAElC,uEAAuE;IACvE,IAAI,CAAC,mBAAmB,EAAE,CAAA;IAE1B,sEAAsE;IACtE,mEAAmE;IACnE,8CAA8C;IAC9C,eAAe,CAAC,IAAI,CAAC,CAAA;AACvB,CAAC;AAED,gFAAgF;AAEhF;;;;kFAIkF;AAClF,MAAM,UAAU,qBAAqB,CACnC,IAAwB,EACxB,KAAkB;IAElB,MAAM,EAAE,GAAG,IAAI,CAAC,aAAa,CAAA;IAC7B,IAAI,CAAC,EAAE;QAAE,OAAM,CAAC,4CAA4C;IAC5D,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,oBAAoB,EAAE,CAAC,CAAC;SACpD,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,EAAE;QACzB,MAAM,MAAM,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAA;QACtC,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,oBAAoB,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,CAAA;QAC/D,KAAK,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAA;IACvD,CAAC,CAAC;SACD,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;QACb,wEAAwE;QACxE,2EAA2E;QAC3E,MAAM,CAAC,4BAA4B,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IACnD,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;;;;;;;iFAOiF;AACjF,MAAM,UAAU,qBAAqB,CACnC,IAAwB,EACxB,KAAkB;IAElB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;IAClB,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAA;IACnD,qBAAqB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;IAClC,IAAI,CAAC,gBAAgB,GAAG,oBAAoB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;AAC3D,CAAC;AAED,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,2EAA2E;QAC3E,4EAA4E;QAC5E,2EAA2E;QAC3E,uEAAuE;QACvE,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"}
|
|
@@ -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
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
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 — 8× 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
|