@cello-protocol/daemon 0.0.180 → 0.0.182

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.
Files changed (185) hide show
  1. package/dist/agent-id-migration.d.ts +9 -0
  2. package/dist/agent-id-migration.d.ts.map +1 -1
  3. package/dist/agent-id-migration.js +73 -1
  4. package/dist/agent-id-migration.js.map +1 -1
  5. package/dist/agent-selection.d.ts +73 -0
  6. package/dist/agent-selection.d.ts.map +1 -0
  7. package/dist/agent-selection.js +80 -0
  8. package/dist/agent-selection.js.map +1 -0
  9. package/dist/assignment-verify.d.ts +62 -0
  10. package/dist/assignment-verify.d.ts.map +1 -0
  11. package/dist/assignment-verify.js +185 -0
  12. package/dist/assignment-verify.js.map +1 -0
  13. package/dist/backup-restore.d.ts +102 -0
  14. package/dist/backup-restore.d.ts.map +1 -0
  15. package/dist/backup-restore.js +340 -0
  16. package/dist/backup-restore.js.map +1 -0
  17. package/dist/bin/cello-daemon.js +91 -49
  18. package/dist/bin/cello-daemon.js.map +1 -1
  19. package/dist/close-commitment.d.ts +67 -0
  20. package/dist/close-commitment.d.ts.map +1 -0
  21. package/dist/close-commitment.js +78 -0
  22. package/dist/close-commitment.js.map +1 -0
  23. package/dist/close-session-handler.d.ts +20 -0
  24. package/dist/close-session-handler.d.ts.map +1 -1
  25. package/dist/close-session-handler.js +351 -58
  26. package/dist/close-session-handler.js.map +1 -1
  27. package/dist/consortium-bootstrap.d.ts +2 -0
  28. package/dist/consortium-bootstrap.d.ts.map +1 -1
  29. package/dist/consortium-bootstrap.js +65 -7
  30. package/dist/consortium-bootstrap.js.map +1 -1
  31. package/dist/content-park.d.ts.map +1 -1
  32. package/dist/content-park.js +141 -10
  33. package/dist/content-park.js.map +1 -1
  34. package/dist/daemon.d.ts +13 -1
  35. package/dist/daemon.d.ts.map +1 -1
  36. package/dist/daemon.js +928 -123
  37. package/dist/daemon.js.map +1 -1
  38. package/dist/delivery-session-suspects.d.ts.map +1 -1
  39. package/dist/delivery-session-suspects.js +5 -0
  40. package/dist/delivery-session-suspects.js.map +1 -1
  41. package/dist/directory-auth-posture.d.ts +87 -0
  42. package/dist/directory-auth-posture.d.ts.map +1 -0
  43. package/dist/directory-auth-posture.js +134 -0
  44. package/dist/directory-auth-posture.js.map +1 -0
  45. package/dist/directory-bootstrap.d.ts +66 -3
  46. package/dist/directory-bootstrap.d.ts.map +1 -1
  47. package/dist/directory-bootstrap.js +133 -7
  48. package/dist/directory-bootstrap.js.map +1 -1
  49. package/dist/document-delivery-transport.d.ts +22 -2
  50. package/dist/document-delivery-transport.d.ts.map +1 -1
  51. package/dist/document-delivery-transport.js +11 -3
  52. package/dist/document-delivery-transport.js.map +1 -1
  53. package/dist/document-frame-router.d.ts +14 -0
  54. package/dist/document-frame-router.d.ts.map +1 -1
  55. package/dist/document-frame-router.js +17 -0
  56. package/dist/document-frame-router.js.map +1 -1
  57. package/dist/document-gate.js +51 -8
  58. package/dist/document-gate.js.map +1 -1
  59. package/dist/document-handlers.d.ts.map +1 -1
  60. package/dist/document-handlers.js +50 -6
  61. package/dist/document-handlers.js.map +1 -1
  62. package/dist/document-inbound.d.ts +22 -0
  63. package/dist/document-inbound.d.ts.map +1 -1
  64. package/dist/document-inbound.js +54 -0
  65. package/dist/document-inbound.js.map +1 -1
  66. package/dist/document-layer.d.ts +13 -0
  67. package/dist/document-layer.d.ts.map +1 -1
  68. package/dist/document-layer.js +1 -0
  69. package/dist/document-layer.js.map +1 -1
  70. package/dist/document-screen.d.ts +39 -0
  71. package/dist/document-screen.d.ts.map +1 -1
  72. package/dist/document-screen.js +64 -9
  73. package/dist/document-screen.js.map +1 -1
  74. package/dist/inbound-sessions.d.ts +31 -1
  75. package/dist/inbound-sessions.d.ts.map +1 -1
  76. package/dist/inbound-sessions.js +276 -16
  77. package/dist/inbound-sessions.js.map +1 -1
  78. package/dist/index.d.ts +2 -0
  79. package/dist/index.d.ts.map +1 -1
  80. package/dist/index.js +3 -0
  81. package/dist/index.js.map +1 -1
  82. package/dist/ipc-server.d.ts +5 -1
  83. package/dist/ipc-server.d.ts.map +1 -1
  84. package/dist/ipc-server.js +19 -3
  85. package/dist/ipc-server.js.map +1 -1
  86. package/dist/manifest-validity.d.ts +151 -0
  87. package/dist/manifest-validity.d.ts.map +1 -0
  88. package/dist/manifest-validity.js +268 -0
  89. package/dist/manifest-validity.js.map +1 -0
  90. package/dist/notification-handlers.d.ts.map +1 -1
  91. package/dist/notification-handlers.js +15 -0
  92. package/dist/notification-handlers.js.map +1 -1
  93. package/dist/outbound-sessions.d.ts +31 -0
  94. package/dist/outbound-sessions.d.ts.map +1 -1
  95. package/dist/outbound-sessions.js +198 -17
  96. package/dist/outbound-sessions.js.map +1 -1
  97. package/dist/park-envelope.d.ts +72 -1
  98. package/dist/park-envelope.d.ts.map +1 -1
  99. package/dist/park-envelope.js +119 -4
  100. package/dist/park-envelope.js.map +1 -1
  101. package/dist/refusal-reasons.d.ts +72 -0
  102. package/dist/refusal-reasons.d.ts.map +1 -0
  103. package/dist/refusal-reasons.js +69 -0
  104. package/dist/refusal-reasons.js.map +1 -0
  105. package/dist/registration-manager.d.ts.map +1 -1
  106. package/dist/registration-manager.js +20 -1
  107. package/dist/registration-manager.js.map +1 -1
  108. package/dist/restart-seal-resolver.d.ts.map +1 -1
  109. package/dist/restart-seal-resolver.js +6 -0
  110. package/dist/restart-seal-resolver.js.map +1 -1
  111. package/dist/retry-queue.d.ts +23 -1
  112. package/dist/retry-queue.d.ts.map +1 -1
  113. package/dist/retry-queue.js +37 -9
  114. package/dist/retry-queue.js.map +1 -1
  115. package/dist/roster-freshness.d.ts +169 -0
  116. package/dist/roster-freshness.d.ts.map +1 -0
  117. package/dist/roster-freshness.js +249 -0
  118. package/dist/roster-freshness.js.map +1 -0
  119. package/dist/seal-certificate-pull.d.ts +17 -1
  120. package/dist/seal-certificate-pull.d.ts.map +1 -1
  121. package/dist/seal-certificate-pull.js +37 -3
  122. package/dist/seal-certificate-pull.js.map +1 -1
  123. package/dist/seal-coordinator.d.ts +17 -1
  124. package/dist/seal-coordinator.d.ts.map +1 -1
  125. package/dist/seal-coordinator.js +71 -0
  126. package/dist/seal-coordinator.js.map +1 -1
  127. package/dist/seal-failure-store.d.ts +104 -0
  128. package/dist/seal-failure-store.d.ts.map +1 -0
  129. package/dist/seal-failure-store.js +126 -0
  130. package/dist/seal-failure-store.js.map +1 -0
  131. package/dist/seal-flows.d.ts.map +1 -1
  132. package/dist/seal-flows.js +35 -6
  133. package/dist/seal-flows.js.map +1 -1
  134. package/dist/seal-upgrade.d.ts +20 -5
  135. package/dist/seal-upgrade.d.ts.map +1 -1
  136. package/dist/seal-upgrade.js +28 -5
  137. package/dist/seal-upgrade.js.map +1 -1
  138. package/dist/session-assignment-parser.d.ts +41 -5
  139. package/dist/session-assignment-parser.d.ts.map +1 -1
  140. package/dist/session-assignment-parser.js +77 -14
  141. package/dist/session-assignment-parser.js.map +1 -1
  142. package/dist/session-ceremony.d.ts +29 -0
  143. package/dist/session-ceremony.d.ts.map +1 -1
  144. package/dist/session-ceremony.js +71 -0
  145. package/dist/session-ceremony.js.map +1 -1
  146. package/dist/session-connection-gater.d.ts +46 -7
  147. package/dist/session-connection-gater.d.ts.map +1 -1
  148. package/dist/session-connection-gater.js +163 -12
  149. package/dist/session-connection-gater.js.map +1 -1
  150. package/dist/session-content-handlers.d.ts.map +1 -1
  151. package/dist/session-content-handlers.js +110 -4
  152. package/dist/session-content-handlers.js.map +1 -1
  153. package/dist/session-node-manager.d.ts +407 -37
  154. package/dist/session-node-manager.d.ts.map +1 -1
  155. package/dist/session-node-manager.js +3051 -239
  156. package/dist/session-node-manager.js.map +1 -1
  157. package/dist/session-read-handlers.d.ts +27 -0
  158. package/dist/session-read-handlers.d.ts.map +1 -1
  159. package/dist/session-read-handlers.js +112 -6
  160. package/dist/session-read-handlers.js.map +1 -1
  161. package/dist/session-relay-client.d.ts +61 -2
  162. package/dist/session-relay-client.d.ts.map +1 -1
  163. package/dist/session-relay-client.js +170 -11
  164. package/dist/session-relay-client.js.map +1 -1
  165. package/dist/session-salt-agreement.d.ts +284 -0
  166. package/dist/session-salt-agreement.d.ts.map +1 -0
  167. package/dist/session-salt-agreement.js +371 -0
  168. package/dist/session-salt-agreement.js.map +1 -0
  169. package/dist/signal-submission.d.ts.map +1 -1
  170. package/dist/signal-submission.js +10 -1
  171. package/dist/signal-submission.js.map +1 -1
  172. package/dist/signaling-connect.d.ts.map +1 -1
  173. package/dist/signaling-connect.js +42 -5
  174. package/dist/signaling-connect.js.map +1 -1
  175. package/dist/types.d.ts +54 -0
  176. package/dist/types.d.ts.map +1 -1
  177. package/dist/types.js.map +1 -1
  178. package/dist/vocabulary.d.ts.map +1 -1
  179. package/dist/vocabulary.js +10 -0
  180. package/dist/vocabulary.js.map +1 -1
  181. package/dist/wire-content-hash.d.ts +56 -0
  182. package/dist/wire-content-hash.d.ts.map +1 -1
  183. package/dist/wire-content-hash.js +71 -0
  184. package/dist/wire-content-hash.js.map +1 -1
  185. package/package.json +5 -5
@@ -16,6 +16,9 @@ import { randomUUID } from "node:crypto";
16
16
  import { frameValueToHex } from "./frame-values.js";
17
17
  import { computeGenesisPrevRoot, decodeTrustSignalEnvelope, hashTrustSignalEnvelope, verifyTrustSignalHash, decodeCbor } from "@cello-protocol/protocol-types";
18
18
  import { TrustSignalStore } from "./trust-signal-store.js";
19
+ import { verifyInboundAssignment } from "./assignment-verify.js";
20
+ import { REFUSAL_REASONS } from "./refusal-reasons.js";
21
+ import { parseSessionAssignment } from "./session-assignment-parser.js";
19
22
  import { extractOfferedMoniker } from "./session-assignment-parser.js";
20
23
  import { TIER } from "./contacts-tier-migration.js";
21
24
  /**
@@ -317,6 +320,66 @@ export function createInboundSessions(deps) {
317
320
  // M12-P18: same lasting-log shape and the same cap as expiredSessionRequests.
318
321
  const refusedSessionRequests = new Map();
319
322
  const REFUSED_SESSION_REQUESTS_CAP = 20;
323
+ /**
324
+ * The FULL refusal, for the two security refusals on the assignment path.
325
+ *
326
+ * ─── Why one function and not three calls at each site ────────────────────────────────────────
327
+ *
328
+ * Review found that both new refusals did only the in-memory half. The cap refusal above does
329
+ * four things and its comments say why each one is load-bearing; the security refusals — the more
330
+ * serious event by any reading — did one of the four. That asymmetry is not something anyone
331
+ * decided; it is what happens when the steps are open-coded at each site and a new site copies
332
+ * the shortest one.
333
+ *
334
+ * The four:
335
+ *
336
+ * 1. **In-memory record** — what `cello_inbox` reads, so the operator sees it this session.
337
+ * 2. **Durable record** — the initiator held a valid assignment and will have PARKED CONTENT for
338
+ * this session. Without a refused-session row the drain re-pulls it forever: the
339
+ * 78-times-per-message `counterparty_unknown` loop M12-P18 closed. The in-memory map is also
340
+ * capped at 20 and dies with the process, so without this the operator-visible trace of the
341
+ * most serious thing this path can detect was more perishable than a routine cap refusal.
342
+ * 3. **Re-close the gate** — it was narrowed to the offered peer, and refusing without
343
+ * re-closing leaves the door open to exactly the peer just declared unauthorised.
344
+ * 4. **Tell the counterparty, if they are KNOWN+** — see the tier reasoning below.
345
+ */
346
+ function refuseInboundSession(args) {
347
+ recordRefusal(args.agentName, args.sessionIdHex, args.counterpartyPubkeyHex, args.reason);
348
+ sessionNodeManager.recordRefusedSession(args.agentName, args.sessionIdHex, args.reason);
349
+ sessionNodeManager.revokeOfferedDialer(args.agentName, args.sessionIdHex, args.offeredDialer);
350
+ /**
351
+ * TELL THE COUNTERPARTY — same rule the cap refusal uses, and the oracle argument that
352
+ * justifies silence for strangers does not reach here at all.
353
+ *
354
+ * Without this: they initiate, the directory hands them a valid assignment, they dial, the gate
355
+ * is shut, and all they see is a transport-shaped failure naming nothing that is wrong. They
356
+ * report "CELLO is broken" while this side holds a precise and correct security finding.
357
+ *
358
+ * An identity-change refusal is BY DEFINITION a repeat counterparty, so they are KNOWN+ almost
359
+ * by construction — and a repeat counterparty already knows they have a prior relationship with
360
+ * this agent, which is the only thing the message reveals. UNKNOWN and BLOCKED still get
361
+ * silence, so a stranger learns nothing and a blocked party cannot tell blocking from a refusal.
362
+ */
363
+ const senderTier = sessionNodeManager.getTier(args.agentName, args.counterpartyPubkeyHex);
364
+ if (senderTier >= TIER.KNOWN && senderTier <= TIER.VIP) {
365
+ void deps.sendOver(args.agentName, {
366
+ type: "session_refused",
367
+ sessionId: args.sessionIdHex,
368
+ initiatorPubkey: args.counterpartyPubkeyHex,
369
+ reason: args.reason,
370
+ guidance: args.counterpartyGuidance,
371
+ }).then((sent) => {
372
+ logger.info("session.inbound.refusal.notified", {
373
+ agentName: args.agentName, sessionId: args.sessionIdHex, reason: args.reason,
374
+ delivered: sent.ok, tier: senderTier, correlationId: args.correlationId,
375
+ });
376
+ }).catch(() => { });
377
+ }
378
+ }
379
+ /**
380
+ * `reason` is a CLOSED union, not `string` — see `AnyRefusalReason`. A review proved that a
381
+ * free-form code slipped past every test in the milestone's own guard file.
382
+ */
320
383
  function recordRefusal(agentName, sessionIdHex, counterpartyPubkeyHex, reason) {
321
384
  const list = refusedSessionRequests.get(agentName) ?? [];
322
385
  list.push({ sessionIdHex, counterpartyPubkeyHex, reason, refusedAt: Date.now() });
@@ -443,7 +506,7 @@ export function createInboundSessions(deps) {
443
506
  }
444
507
  return sessionNodeManager.getStandingReceiverReady(agentName);
445
508
  }
446
- async function acceptInboundAssignment(parsed, agentName, correlationId) {
509
+ async function acceptInboundAssignment(parsed, agentName, correlationId, verification) {
447
510
  // M12-P16: refuse BEFORE anything else — in particular before ensureStandingReceiverForAgent,
448
511
  // whose first line would resurrect the receiver this agent was just relieved of.
449
512
  if (deps.isExplicitlyOffline(agentName)) {
@@ -751,6 +814,7 @@ export function createInboundSessions(deps) {
751
814
  genesisPrevRootHex,
752
815
  offeredMoniker: parsed.offeredMoniker,
753
816
  presentedSignalHashes: presentedHashes,
817
+ verification,
754
818
  });
755
819
  dispatchSessionStateChangedWithTelegram(agentName, parsed.sessionIdHex, "created", parsed.participantAPubkeyHex);
756
820
  // DOD-M12B-DELIVERY-QUIET-1: this push is a SIBLING of the dispatch above, not a statement
@@ -796,8 +860,9 @@ export function createInboundSessions(deps) {
796
860
  });
797
861
  return;
798
862
  }
799
- // L1: refuse M1 single-key assignments outright (downgrade guard). Distinct from the
800
- // deferred FROST verification below track it so SESSION-004's re-home keeps it.
863
+ // L1: refuse M1 single-key assignments outright (downgrade guard). Distinct from the FROST
864
+ // signature verification below, and deliberately BEFORE it: this refuses the algorithm, that
865
+ // checks the signature.
801
866
  if (parsed.signatureType === "single") {
802
867
  logger.warn("session.inbound.assignment.refused", {
803
868
  sessionId: parsed.sessionIdHex,
@@ -830,6 +895,62 @@ export function createInboundSessions(deps) {
830
895
  });
831
896
  return;
832
897
  }
898
+ /**
899
+ * DOD-M15-OFFER-SIGNED-1 — THE SIGNED ASSIGNMENT MUST NAME THE PEER THE OFFER DID.
900
+ *
901
+ * Decision 2 rules that the listening socket is "gated on the assignment". The gate is actually
902
+ * narrowed from `session_offer`, which carries NO signature, because that is the only frame that
903
+ * arrives before the initiator can know where to dial. Timing forced the offer; it does not
904
+ * excuse trusting it — on its own it hands whichever directory sent that frame unilateral
905
+ * authority over who may dial this agent's receiver.
906
+ *
907
+ * ⚠️ WHAT THIS DOES **NOT** BUY, stated first because the first draft of this comment claimed it
908
+ * did. It is a CONSISTENCY check between two frames, not an authentication of either. The
909
+ * assignment's signature is verified further down (`verifyInboundAssignment`), but that happens
910
+ * AFTER this, and on first contact it can only prove internal consistency — so a single
911
+ * compromised directory still controls both frames here and simply names the same peer id in
912
+ * each.
913
+ *
914
+ * WHAT IT DOES BUY, which is real but smaller: the two frames must agree, so an attacker who can
915
+ * influence ONE of them and not the other is caught — a stale or replayed offer, a second
916
+ * directory node injecting an offer for a session it is not brokering, and a directory whose
917
+ * own two frames disagree because it is broken rather than hostile. It is a consistency check
918
+ * between two channels, not an authentication of either.
919
+ *
920
+ * It also makes the eventual fix strictly additive: once the responder verifies the assignment,
921
+ * this comparison becomes the counterbalance it was described as, with no further change here.
922
+ *
923
+ * BLOCKS, because it is a security failure and not an anomaly: there is no reading of a
924
+ * mismatch that is safe to continue from.
925
+ */
926
+ const offered = sessionNodeManager.getOfferedDialer(localAgent.name, parsed.sessionIdHex);
927
+ if (offered !== null && offered !== parsed.initiatorPeerId) {
928
+ logger.error("session.inbound.assignment.dialer_mismatch", {
929
+ sessionId: parsed.sessionIdHex,
930
+ agentName: localAgent.name,
931
+ offeredPeerId: offered,
932
+ assignedPeerId: parsed.initiatorPeerId,
933
+ correlationId,
934
+ impact: "the session_offer named one dialer and the assignment names another, so something told this agent to open its receiver to a peer the session's own assignment does not name; the session was refused and the receiver was not handed over",
935
+ guidance: "retry — the offer and the assignment for this session disagreed about who would dial, which a replayed or stale offer also produces, so a single occurrence is not evidence of a hostile directory. If it repeats on the same node, that node is not producing assignments that match its own offers",
936
+ });
937
+ // INVARIANT 2: loud in the log AND on a surface the agent can read. A refusal the operator
938
+ // never sees is indistinguishable from the session simply never arriving — and this one is a
939
+ // security refusal, which is the worst kind to be silent about.
940
+ refuseInboundSession({
941
+ agentName: localAgent.name,
942
+ sessionIdHex: parsed.sessionIdHex,
943
+ counterpartyPubkeyHex: parsed.participantAPubkeyHex,
944
+ reason: REFUSAL_REASONS.OFFER_ASSIGNMENT_DIALER_MISMATCH,
945
+ offeredDialer: offered,
946
+ counterpartyGuidance: "They refused this session: the invitation they received and the assignment you dialled on " +
947
+ "named different peers, so they could not tell which one was you. Nothing is wrong on your " +
948
+ "side — start a new session, which will get a fresh assignment. If it keeps happening, the " +
949
+ "directory node brokering between you is not producing assignments that match its own offers.",
950
+ correlationId,
951
+ });
952
+ return;
953
+ }
833
954
  // DOD-INBOUND-GUARD-1 (D3): the receive-side mirror of the initiator's F13 guard (~3189).
834
955
  // An empty counterparty endpoint means the offer-accept never happened (this agent's standing
835
956
  // receiver was not up when the directory's session_offer arrived) and the directory signed the
@@ -856,28 +977,150 @@ export function createInboundSessions(deps) {
856
977
  });
857
978
  return;
858
979
  }
859
- // SECURITY — DEFERRED (SESSION-004 re-home): the directory's FROST threshold signature
860
- // on the assignment (directory_signature over the TBS, verified against signer_pubkey)
861
- // is NOT yet verified here. The old client's receiveSessionAssignment performed that
862
- // check; it must be re-homed natively before this path faces a real (untrusted)
863
- // directory. Until then we accept directory-pushed assignments on trust the in-process
864
- // seam tests inject trusted frames.
865
- // M8B F15: logged at DEBUG with an "expected" note it fires on EVERY healthy inbound
866
- // session, and at WARN it read as a failure and actively misled live diagnosis. The
867
- // deferred-verification state is a known, tracked gap (SESSION-004), not a per-session
868
- // anomaly.
869
- logger.debug("session.inbound.assignment.unverified", {
980
+ /**
981
+ * DOD-M15-RESPONDER-VERIFY-1 THE RESPONDER NOW VERIFIES, and this is what unblocks
982
+ * `DOD-M15-OFFER-SIGNED-1`.
983
+ *
984
+ * Everything below acts on this assignment: the dialer the receiver opens to, and the
985
+ * `signer_pubkey` persisted as the seal trust anchor. Until now none of it was checked — the
986
+ * responder logged "unverified" and proceeded, so a tampered or fabricated assignment reached
987
+ * the seal path unchallenged and got PINNED, poisoning every later session with that
988
+ * counterparty.
989
+ *
990
+ * The pin is what makes a real check possible. For a repeat counterparty the signature must
991
+ * verify under the key THIS daemon recorded during an earlier session — a value no directory can
992
+ * retroactively change, so it is not the circular "verify the frame against a key the frame
993
+ * names". On first contact there is nothing independent to verify against, so the check falls
994
+ * back to internal consistency, which is weaker and is logged as such rather than reported as
995
+ * the same thing.
996
+ *
997
+ * BLOCKS on failure: this is a security check on the document that decides who may dial this
998
+ * agent, and the DoD's ordering rule is explicit that gating on an unverified document relocates
999
+ * trust rather than closing it.
1000
+ */
1001
+ const pinnedSigner = sessionNodeManager.getPinnedCounterpartyPrimary(localAgent.name, parsed.participantAPubkeyHex);
1002
+ // Re-parse the RAW assignment object: `parsed` is a flattened projection for the accept path
1003
+ // and does not carry the fields the TBS is rebuilt from. A shape that cannot be parsed here
1004
+ // cannot be verified, and is refused rather than waved through.
1005
+ const rawAssignment = parseSessionAssignment((frame["assignment"] ?? {}),
1006
+ /**
1007
+ * A dead field arrived PRESENT-BUT-MALFORMED. It is tolerated — nothing reads it and no
1008
+ * signature covers it, so refusing over it would let any directory deny a session for free —
1009
+ * but this parse is the ONLY place the fact can be observed, so it is not discarded silently
1010
+ * (review F3).
1011
+ *
1012
+ * WARN rather than error, and not a refusal: nothing degrades for this session. It means a
1013
+ * directory is emitting junk in a field it signs nothing over, which is worth knowing before
1014
+ * the bilateral half removes the field and the evidence disappears with it.
1015
+ */
1016
+ (field) => {
1017
+ logger.warn("session.inbound.assignment.dead_field_malformed", {
1018
+ sessionId: parsed.sessionIdHex,
1019
+ agentName: localAgent.name,
1020
+ field,
1021
+ impact: "the session was ACCEPTED — this field is read by nothing and covered by no signature, " +
1022
+ "so refusing over it would hand any directory a free way to deny a session",
1023
+ guidance: "no action for this conversation. If it repeats, the directory node brokering it is " +
1024
+ "emitting malformed values in a field it does not sign.",
1025
+ correlationId,
1026
+ });
1027
+ });
1028
+ const verdict = rawAssignment === null
1029
+ ? { ok: false, reason: "inbound_assignment_unparseable", detail: "the assignment object failed shape validation" }
1030
+ : verifyInboundAssignment(rawAssignment, pinnedSigner);
1031
+ if (!verdict.ok) {
1032
+ const isIdentityChange = verdict.reason === "inbound_assignment_signer_not_pinned" ||
1033
+ (pinnedSigner !== null && verdict.reason === "inbound_assignment_signature_invalid");
1034
+ logger.error(isIdentityChange ? "session.inbound.counterparty_primary_changed" : "session.inbound.assignment.invalid", {
1035
+ sessionId: parsed.sessionIdHex,
1036
+ agentName: localAgent.name,
1037
+ reason: verdict.reason,
1038
+ detail: verdict.detail,
1039
+ verifiedAgainst: pinnedSigner !== null ? "pinned_key" : "frame_key",
1040
+ correlationId,
1041
+ impact: isIdentityChange
1042
+ ? "the assignment for a counterparty this agent has completed sessions with did not verify under the key it recorded for them; the session was refused and no receiver was handed over, because accepting it would mean talking to whoever holds the new key under the old name"
1043
+ : "the session assignment did not verify, so this agent refused it rather than opening its receiver to a peer named by a document it could not check; nothing was accepted and no receiver was handed over",
1044
+ guidance: isIdentityChange
1045
+ ? "this is not transient. Either that counterparty genuinely re-registered — confirm OUT OF BAND (on a channel that is not this one), then run cello_contact_remove for them, which clears the pinned identity so the next session re-pins — or a directory is producing assignments for them that they did not authorise. From here the two look identical and only they can tell you which."
1046
+ : "the assignment is tampered or malformed — its signature does not match its own contents. Retry to reach a different directory node; if it repeats, that node is not producing valid assignments",
1047
+ });
1048
+ refuseInboundSession({
1049
+ agentName: localAgent.name,
1050
+ sessionIdHex: parsed.sessionIdHex,
1051
+ counterpartyPubkeyHex: parsed.participantAPubkeyHex,
1052
+ reason: isIdentityChange
1053
+ ? REFUSAL_REASONS.COUNTERPARTY_PRIMARY_KEY_CHANGED
1054
+ : REFUSAL_REASONS.INBOUND_ASSIGNMENT_INVALID,
1055
+ offeredDialer: offered,
1056
+ counterpartyGuidance: isIdentityChange
1057
+ ? "They refused this session: the signing key on your assignment is not the one they " +
1058
+ "recorded for you in an earlier session. If you re-registered or moved to a new device, " +
1059
+ "that is expected — tell them out of band, on a channel that is not this one, and ask " +
1060
+ "them to run cello_contact_remove for you so the next session re-pins. If you did not " +
1061
+ "re-register, something is issuing assignments in your name and neither of you should " +
1062
+ "proceed until you know what."
1063
+ : "They refused this session: the assignment you dialled on did not verify against its own " +
1064
+ "contents, so it was altered somewhere between the directory signing it and them reading " +
1065
+ "it. Start a new session to get a fresh one. If it repeats, the directory node you are " +
1066
+ "reaching is not producing valid assignments — nothing is wrong with your agent.",
1067
+ correlationId,
1068
+ });
1069
+ return;
1070
+ }
1071
+ /**
1072
+ * ONE event, and `internal` is loud.
1073
+ *
1074
+ * There used to be a second call here firing `session.inbound.assignment.unverified` with a
1075
+ * note saying verification was deferred — on the same successful path, nine lines after the
1076
+ * event saying it happened. Every healthy session emitted both. The next person debugging an
1077
+ * inbound session would have read the "unverified" line, concluded the responder still trusts
1078
+ * the directory blind, and either redone this work or dismissed a real signal.
1079
+ *
1080
+ * `internal` is INFO, not debug, because it is not a routine state: it is the one moment this
1081
+ * daemon chooses a permanent trust anchor for a counterparty and has nothing to check it
1082
+ * against. Pinned stays at debug — that one is the boring, good case.
1083
+ */
1084
+ const firstContact = verdict.mode === "internal";
1085
+ // Carried to the AGENT, not just the log — review F6. `internal` is the wire word for the mode;
1086
+ // `first_contact` is what it means to the person reading it.
1087
+ const verification = firstContact ? "first_contact" : "pinned";
1088
+ (firstContact ? logger.info : logger.debug)("session.inbound.assignment.verified", {
870
1089
  sessionId: parsed.sessionIdHex,
871
1090
  agentName: localAgent.name,
872
- note: "FROST assignment signature verification deferred to SESSION-004 re-home (expected on every inbound session until SESSION-004)",
1091
+ mode: verdict.mode,
1092
+ ...(firstContact
1093
+ ? {
1094
+ impact: "FIRST CONTACT. The signature is internally consistent, which proves the frame was not " +
1095
+ "altered after signing — it does NOT prove which directory signed it, because there is " +
1096
+ "no earlier key recorded for this counterparty to check against. The key in this frame " +
1097
+ "is being pinned now and every later session with them is measured against it.",
1098
+ guidance: "If this counterparty matters, confirm their pubkey out of band before relying on the " +
1099
+ "seal. Once pinned, a substitution IS caught.",
1100
+ }
1101
+ : {}),
873
1102
  correlationId,
874
1103
  });
1104
+ /**
1105
+ * NO SEPARATE PIN CHECK HERE — it moved INTO the verification above, and leaving both would have
1106
+ * been worse than either.
1107
+ *
1108
+ * There was a second block at this point comparing `signer_pubkey` against the pinned key. Once
1109
+ * `verifyInboundAssignment` took the pin as its expected signer, that comparison became dead
1110
+ * code: the verifier reaches the same conclusion first, and reaches it *better* — it does not
1111
+ * merely check that the named key matches, it checks that the SIGNATURE verifies under the
1112
+ * pinned key. A directory that names the right key without holding it passes a comparison and
1113
+ * fails a verification.
1114
+ *
1115
+ * Two checks for one property is how they drift: the survivor gets fixed and the dead one keeps
1116
+ * asserting the old rule to anyone reading.
1117
+ */
875
1118
  inboundInFlight.add(offerKey(localAgent.name, parsed.sessionIdHex));
876
1119
  // Serialize: the next accept does not begin until this one (and any standing-receiver
877
1120
  // rebuild it triggers) settles. A throw inside one accept must not break the chain.
878
1121
  const agentName = localAgent.name;
879
1122
  inboundAcceptChain = inboundAcceptChain
880
- .then(() => acceptInboundAssignment(parsed, agentName, correlationId))
1123
+ .then(() => acceptInboundAssignment(parsed, agentName, correlationId, verification))
881
1124
  .catch((err) => {
882
1125
  inboundInFlight.delete(offerKey(localAgent.name, parsed.sessionIdHex));
883
1126
  logger.error("session.inbound.accept.error", {
@@ -1050,6 +1293,19 @@ export function createInboundSessions(deps) {
1050
1293
  counterparty_pubkey: e.counterpartyPubkeyHex,
1051
1294
  genesis_prev_root: e.genesisPrevRootHex,
1052
1295
  offered_moniker: e.offeredMoniker ?? null,
1296
+ // Only present when this daemon actually established the session (the test seam at
1297
+ // daemon.ts:3707 enqueues without one). Absent means "not recorded", never "pinned".
1298
+ ...(e.verification === undefined ? {} : { verification: e.verification }),
1299
+ ...(e.verification === "first_contact"
1300
+ ? {
1301
+ verification_note: "FIRST CONTACT. This counterparty's signing identity is being recorded now, and " +
1302
+ "there was nothing to check it against — the assignment proves only that it was " +
1303
+ "not altered after signing. From the next session on, a substituted identity IS " +
1304
+ "caught.",
1305
+ guidance: "If this conversation matters, confirm their public key with them out of band — a " +
1306
+ "channel that is not this one — before relying on the seal.",
1307
+ }
1308
+ : {}),
1053
1309
  ...(trustSignalProjection ?? {}),
1054
1310
  };
1055
1311
  };
@@ -1090,6 +1346,10 @@ export function createInboundSessions(deps) {
1090
1346
  handleTrustSignalPickup,
1091
1347
  enqueueInboundSession,
1092
1348
  recordRefusal,
1349
+ // Exposed alongside recordRefusal because it is the SHARED refusal path — the one that reaches
1350
+ // all three audiences. DOD-M15-GUARD-HEARD-1 enumerates over it, so a reason added later is
1351
+ // covered without anyone remembering to write a test for its call site.
1352
+ refuseInboundSession,
1093
1353
  reapExpiredInboundSessions,
1094
1354
  inboundSessionQueues,
1095
1355
  inboundSessionWaiters,
@@ -1 +1 @@
1
- {"version":3,"file":"inbound-sessions.js","sourceRoot":"","sources":["../src/inbound-sessions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"inbound-sessions.js","sourceRoot":"","sources":["../src/inbound-sessions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAOzC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,sBAAsB,EAAE,yBAAyB,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,UAAU,EAA4B,MAAM,gCAAgC,CAAC;AACzL,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,eAAe,EAA6C,MAAM,sBAAsB,CAAC;AAClG,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AACvE,OAAO,EAAE,IAAI,EAAE,MAAM,8BAA8B,CAAC;AAIpD;;;;;;GAMG;AACH,MAAM,qBAAqB,GAAG,EAAE,GAAG,MAAM,CAAC;AAC1C,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAA8C,CAAC;AAEhF,uEAAuE;AACvE,MAAM,CAAC,MAAM,sBAAsB,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AA8G1D;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,mBAAmB,CACjC,QAGE;AACF;;;;;;GAMG;AACH,oBAA0C;IAmD1C,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC;IAC9D,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAC1C,IAAI,cAAc,GAAG,KAAK,CAAC;IAC3B,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QAC/B,IAAI,KAAc,CAAC;QACnB,IAAI,CAAC;YAAC,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC;YAAC,KAAK,GAAG,IAAI,CAAC;QAAC,CAAC;QAC9D,MAAM,WAAW,GAAG,CAAC,CAAC,UAAU,KAAK,QAAQ,CAAC;QAC9C,IAAI,WAAW;YAAE,cAAc,GAAG,IAAI,CAAC;QACvC,OAAO;YACL,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,mBAAmB;YAC1D,WAAW,EAAE,CAAC,CAAC,UAAU;YACzB,4FAA4F;YAC5F,mFAAmF;YACnF,kBAAkB,EAAE,IAAI;YACxB,uBAAuB,EAAE,WAAW;YACpC,GAAG,CAAC,WAAW;gBACb,CAAC,CAAC;oBACE,OAAO,EACL,mFAAmF;wBACnF,uFAAuF;wBACvF,uFAAuF;wBACvF,wFAAwF;wBACxF,oEAAoE;iBACvE;gBACH,CAAC,CAAC,EAAE,CAAC;YACP,4FAA4F;YAC5F,gGAAgG;YAChG,iDAAiD;YACjD,6BAA6B,EAAE,oBAAoB,EAAE,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,KAAK;YAC/E,gGAAgG;YAChG,6EAA6E;YAC7E,GAAG,CAAC,CAAC,CAAC,YAAY,KAAK,IAAI;gBACzB,CAAC,CAAC;oBACE,aAAa,EAAE,IAAI;oBACnB,qBAAqB,EACnB,qFAAqF;wBACrF,sFAAsF;wBACtF,uFAAuF;wBACvF,qFAAqF;wBACrF,6EAA6E;iBAChF;gBACH,CAAC,CAAC,EAAE,CAAC;YACP,KAAK;SACN,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,OAAO;QACL,kGAAkG;QAClG,EAAE;QACF,4EAA4E;QAC5E,EAAE;QACF,6FAA6F;QAC7F,gEAAgE;QAChE,EAAE;QACF,8EAA8E;QAC9E,2FAA2F;QAC3F,kGAAkG;QAClG,iGAAiG;QACjG,sDAAsD;QACtD,EAAE;QACF,4FAA4F;QAC5F,kGAAkG;QAClG,8FAA8F;QAC9F,+FAA+F;QAC/F,YAAY;QACZ,EAAE;QACF,iGAAiG;QACjG,iGAAiG;QACjG,+EAA+E;QAC/E,qBAAqB,EACnB,+FAA+F;YAC/F,6FAA6F;YAC7F,0FAA0F;YAC1F,+FAA+F;YAC/F,iGAAiG;YACjG,gGAAgG;YAChG,0FAA0F;YAC1F,8FAA8F;YAC9F,+FAA+F;YAC/F,2BAA2B;YAC3B,CAAC,cAAc;gBACb,CAAC,CAAC,0FAA0F;oBAC1F,2FAA2F;gBAC7F,CAAC,CAAC,EAAE,CAAC;QACT,mCAAmC,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,6BAA6B,CAAC,CAAC,MAAM;QAClG,aAAa,EAAE,OAAO;KACvB,CAAC;AACJ,CAAC;AAED,wFAAwF;AACxF,uFAAuF;AACvF,sFAAsF;AACtF,mFAAmF;AACnF;;;;GAIG;AACH,SAAS,aAAa,CAAC,CAAU;IAC/B,MAAM,KAAK,GAAG,CAAC,YAAY,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC1F,OAAO,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AAC1D,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC7C,MAAuE,EACvE,EAA2B,EAC3B,MAAc,EACd,SAAiB;IAEjB,IAAI,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IACnF,kGAAkG;IAClG,kGAAkG;IAClG,gGAAgG;IAChG,0FAA0F;IAC1F,yFAAyF;IACzF,0CAA0C;IAC1C,IAAI,CAAC,MAAM,CAAC,uBAAuB,EAAE,CAAC;QACpC,MAAM,CAAC,IAAI,CAAC,4CAA4C,EAAE;YACxD,SAAS;YACT,SAAS,EAAE,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;YAC3C,MAAM,EAAE,MAAM,CAAC,gCAAgC;gBAC7C,CAAC,CAAC,qCAAqC;gBACvC,CAAC,CAAC,mDAAmD;SACxD,CAAC,CAAC;IACL,CAAC;IACD,OAAO;QACL,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,WAAW,EAAE,EAAE;QACf,YAAY,EAAE,MAAM,EAAE,CAAC,YAAY,EAAE;QACrC,cAAc,EAAE,IAAI,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;QACvE,UAAU,EAAE,6BAA6B,CAAC,MAAM,CAAC;KAClD,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,MAO7C;IACC,IAAI,CAAC,MAAM,CAAC,uBAAuB;QAAE,OAAO,SAAS,CAAC;IACtD,OAAO;QACL,YAAY,EAAE,IAAI,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,qBAAqB,EAAE,KAAK,CAAC,CAAC;QAC9E,YAAY,EAAE,IAAI,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,qBAAqB,EAAE,KAAK,CAAC,CAAC;QAC9E,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;QACzC,sBAAsB,EAAE,MAAM,CAAC,eAAe,IAAI,SAAS;QAC3D,yBAAyB,EAAE,MAAM,CAAC,yBAAyB,IAAI,SAAS;QACxE,mBAAmB,EAAE,MAAM,CAAC,uBAAuB;KACpD,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,+BAA+B,CAAC,KAA8B;IAsC5E,MAAM,GAAG,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC;IAChC,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IACjD,MAAM,CAAC,GAAG,GAA8B,CAAC;IACzC,MAAM,EAAE,GAAG,CAAC,CAAC,eAAe,CAAwC,CAAC;IACrE,MAAM,EAAE,GAAG,CAAC,CAAC,eAAe,CAAwC,CAAC;IACrE,MAAM,YAAY,GAAG,eAAe,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;IACtD,MAAM,qBAAqB,GAAG,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACxE,MAAM,qBAAqB,GAAG,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACxE,IAAI,CAAC,YAAY,IAAI,CAAC,qBAAqB,IAAI,CAAC,qBAAqB;QAAE,OAAO,IAAI,CAAC;IACnF,mFAAmF;IACnF,mFAAmF;IACnF,MAAM,aAAa,GAAG,CAAC,CAAC,gBAAgB,CAAwC,CAAC;IACjF,MAAM,WAAW,GACf,aAAa,IAAI,OAAO,aAAa,CAAC,SAAS,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAChG,MAAM,UAAU,GACd,aAAa,IAAI,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;QACzD,CAAC,CAAE,aAAa,CAAC,YAAY,CAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC;QAC9F,CAAC,CAAC,EAAE,CAAC;IACT,wEAAwE;IACxE,MAAM,aAAa,GAAG,qBAAqB,CAAC,CAAC,CAAC,CAAC;IAC/C,iFAAiF;IACjF,IAAI,YAAmE,CAAC;IACxE,MAAM,UAAU,GAAG,CAAC,CAAC,eAAe,CAAC,CAAC;IACtC,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvD,MAAM,MAAM,GAA8C,EAAE,CAAC;QAC7D,KAAK,MAAM,KAAK,IAAI,UAAU,EAAE,CAAC;YAC/B,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBACvC,MAAM,CAAC,GAAG,KAAgC,CAAC;gBAC3C,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBAC9D,MAAM,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC,YAAY,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,MAAM,CAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBACnI,IAAI,IAAI,IAAI,IAAI;oBAAE,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YAChD,CAAC;QACH,CAAC;QACD,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;YAAE,YAAY,GAAG,MAAM,CAAC;IAC/C,CAAC;IACD,OAAO;QACL,YAAY;QACZ,qBAAqB;QACrB,qBAAqB;QACrB,eAAe,EACb,OAAO,CAAC,CAAC,2BAA2B,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,2BAA2B,CAAC,CAAC,CAAC,CAAC,EAAE;QAC1F,yBAAyB,EACvB,OAAO,CAAC,CAAC,8BAA8B,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,8BAA8B,CAAC,CAAC,CAAC,CAAC,IAAI;QAClG,gBAAgB,EAAE,OAAO,CAAC,CAAC,mBAAmB,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC;QACzF,aAAa,EAAE,OAAO,CAAC,CAAC,gBAAgB,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,IAAI;QACnF,uFAAuF;QACvF,uFAAuF;QACvF,0FAA0F;QAC1F,qEAAqE;QACrE,eAAe,EAAE,CAAC,CAAC,eAAe,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI;QAC9F,WAAW;QACX,UAAU;QACV,6FAA6F;QAC7F,6FAA6F;QAC7F,2FAA2F;QAC3F,mFAAmF;QACnF,uBAAuB,EAAE,aAAa,CAAC,CAAC,CAAC,2BAA2B,CAAC,CAAC;QACtE,gCAAgC,EAC9B,CAAC,CAAC,2BAA2B,CAAC,KAAK,SAAS,IAAI,aAAa,CAAC,CAAC,CAAC,2BAA2B,CAAC,CAAC,KAAK,SAAS;QAC7G,cAAc,EAAE,aAAa,CAAC,cAAc;QAC5C,eAAe,EAAE,aAAa,CAAC,QAAQ;QACvC,mBAAmB,EAAE,aAAa,CAAC,MAAM,IAAI,IAAI;QACjD,YAAY;KACb,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,IAAwB;IAC5D,MAAM,EACJ,MAAM,EAAE,kBAAkB,EAAE,MAAM,EAAE,YAAY,EAAE,mBAAmB,EACrE,yBAAyB,EAAE,cAAc,EAAE,eAAe,EAC1D,mCAAmC,EAAE,wBAAwB,EAC7D,gBAAgB,EAAE,uCAAuC,EAAE,oBAAoB,EAC/E,qBAAqB,GACtB,GAAG,IAAI,CAAC;IAET,8EAA8E;IAC9E,EAAE;IACF,kFAAkF;IAClF,8EAA8E;IAC9E,mFAAmF;IACnF,yEAAyE;IACzE,qFAAqF;IACrF,gFAAgF;IAChF,0FAA0F;IAC1F,+FAA+F;IAC/F,kGAAkG;IAClG,4DAA4D;IAC5D,EAAE;IACF,gGAAgG;IAChG,gGAAgG;IAChG,gGAAgG;IAChG,gGAAgG;IAChG,iFAAiF;IACjF,MAAM,eAAe,GAAG,IAAI,GAAG,EAAkB,CAAC;IAClD,MAAM,QAAQ,GAAG,CAAC,SAAiB,EAAE,YAAoB,EAAU,EAAE,CAAC,GAAG,SAAS,IAAI,YAAY,EAAE,CAAC;IACrG,6FAA6F;IAC7F,wFAAwF;IACxF,MAAM,sBAAsB,GAAG,IAAI,GAAG,EAAmC,CAAC;IAC1E,8EAA8E;IAC9E,MAAM,sBAAsB,GAAG,IAAI,GAAG,EAAmC,CAAC;IAC1E,MAAM,4BAA4B,GAAG,EAAE,CAAC;IACxC;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,SAAS,oBAAoB,CAAC,IAS7B;QACC,aAAa,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,qBAAqB,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAC1F,kBAAkB,CAAC,oBAAoB,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACxF,kBAAkB,CAAC,mBAAmB,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QAE9F;;;;;;;;;;;;WAYG;QACH,MAAM,UAAU,GAAG,kBAAkB,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,qBAAqB,CAAC,CAAC;QAC1F,IAAI,UAAU,IAAI,IAAI,CAAC,KAAK,IAAI,UAAU,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;YACvD,KAAK,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE;gBACjC,IAAI,EAAE,iBAAiB;gBACvB,SAAS,EAAE,IAAI,CAAC,YAAY;gBAC5B,eAAe,EAAE,IAAI,CAAC,qBAAqB;gBAC3C,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,QAAQ,EAAE,IAAI,CAAC,oBAAoB;aACpC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;gBACf,MAAM,CAAC,IAAI,CAAC,kCAAkC,EAAE;oBAC9C,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,CAAC,YAAY,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM;oBAC5E,SAAS,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,aAAa,EAAE,IAAI,CAAC,aAAa;iBACxE,CAAC,CAAC;YACL,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAiF,CAAC,CAAC,CAAC;QACpG,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,SAAS,aAAa,CACpB,SAAiB,EACjB,YAAoB,EACpB,qBAA6B,EAC7B,MAAwB;QAExB,MAAM,IAAI,GAAG,sBAAsB,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;QACzD,IAAI,CAAC,IAAI,CAAC,EAAE,YAAY,EAAE,qBAAqB,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QAClF,sBAAsB,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,4BAA4B,CAAC,CAAC,CAAC;IACnF,CAAC;IACD,kFAAkF;IAClF,sFAAsF;IACtF,oFAAoF;IACpF,qFAAqF;IACrF,sFAAsF;IACtF,gEAAgE;IAChE,MAAM,oBAAoB,GAAG,IAAI,GAAG,EAAiC,CAAC;IACtE,MAAM,qBAAqB,GAAG,IAAI,GAAG,EAAkC,CAAC;IACxE,mFAAmF;IACnF,gFAAgF;IAChF,mFAAmF;IACnF,6DAA6D;IAC7D,gGAAgG;IAChG,mGAAmG;IACnG,kFAAkF;IAClF,MAAM,eAAe,GAAG,IAAI,GAAG,EAAU,CAAC;IAC1C,iFAAiF;IACjF,mFAAmF;IACnF,oFAAoF;IACpF,iFAAiF;IACjF,uFAAuF;IACvF,IAAI,kBAAkB,GAAkB,OAAO,CAAC,OAAO,EAAE,CAAC;IAE1D,SAAS,qBAAqB,CAAC,SAAiB,EAAE,KAA0B;QAC1E,MAAM,OAAO,GAAG,qBAAqB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACrD,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClC,+EAA+E;YAC/E,MAAM,CAAC,GAAG,OAAO,CAAC,KAAK,EAAG,CAAC;YAC3B,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YACjB,OAAO;QACT,CAAC;QACD,MAAM,CAAC,GAAG,oBAAoB,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;QACpD,CAAC,CAAC,IAAI,CAAC,EAAE,GAAG,KAAK,EAAE,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,oCAAoC;QAClF,oBAAoB,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;IACzC,CAAC;IAED,+FAA+F;IAC/F,iGAAiG;IACjG,gGAAgG;IAChG,gGAAgG;IAChG,+FAA+F;IAC/F,gFAAgF;IAChF,MAAM,4BAA4B,GAAG,EAAE,CAAC;IACxC,0FAA0F;IAC1F,4FAA4F;IAC5F,8FAA8F;IAC9F,wFAAwF;IACxF,SAAS,0BAA0B,CAAC,SAAiB;QACnD,MAAM,CAAC,GAAG,oBAAoB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC9C,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QACjC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,MAAM,IAAI,GAA0B,EAAE,CAAC;QACvC,IAAI,WAAW,GAAG,sBAAsB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACxD,KAAK,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;YAClB,MAAM,MAAM,GAAG,CAAC,CAAC,UAAU,KAAK,SAAS,IAAI,GAAG,GAAG,CAAC,CAAC,UAAU,GAAG,sBAAsB,CAAC;YACzF,kFAAkF;YAClF,6FAA6F;YAC7F,yDAAyD;YACzD,IAAI,MAAM,GAAyB,IAAI,CAAC;YACxC,IAAI,CAAC;gBACH,MAAM,GAAG,kBAAkB,CAAC,gBAAgB,CAAC,SAAS,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC;YAC1E,CAAC;YAAC,OAAO,GAAY,EAAE,CAAC;gBACtB,MAAM,CAAC,IAAI,CAAC,uCAAuC,EAAE;oBACnD,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC,YAAY;oBACpC,MAAM,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;iBACzD,CAAC,CAAC;YACL,CAAC;YACD,MAAM,QAAQ,GAAG,MAAM,KAAK,IAAI,IAAI,CAClC,MAAM,CAAC,MAAM,KAAK,QAAQ;gBAC1B,MAAM,CAAC,MAAM,KAAK,WAAW;gBAC7B,MAAM,CAAC,MAAM,KAAK,0BAA0B;gBAC5C,MAAM,CAAC,MAAM,KAAK,aAAa,CAChC,CAAC;YACF,IAAI,MAAM,IAAI,QAAQ,EAAE,CAAC;gBACvB,4FAA4F;gBAC5F,2FAA2F;gBAC3F,2FAA2F;gBAC3F,yFAAyF;gBACzF,2FAA2F;gBAC3F,sFAAsF;gBACtF,IAAI,QAAQ,EAAE,CAAC;oBACb,MAAM,CAAC,KAAK,CAAC,iCAAiC,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,CAAC;gBACzI,CAAC;qBAAM,IAAI,MAAM,EAAE,CAAC;oBAClB,IAAI,CAAC,WAAW,EAAE,CAAC;wBAAC,WAAW,GAAG,EAAE,CAAC;wBAAC,sBAAsB,CAAC,GAAG,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;oBAAC,CAAC;oBAC3F,WAAW,CAAC,IAAI,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,YAAY,EAAE,qBAAqB,EAAE,CAAC,CAAC,qBAAqB,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC;oBACnH,IAAI,WAAW,CAAC,MAAM,GAAG,4BAA4B,EAAE,CAAC;wBACtD,WAAW,CAAC,MAAM,CAAC,CAAC,EAAE,WAAW,CAAC,MAAM,GAAG,4BAA4B,CAAC,CAAC,CAAC,gBAAgB;oBAC5F,CAAC;oBACD,MAAM,CAAC,IAAI,CAAC,yBAAyB,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC,YAAY,EAAE,UAAU,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC;gBAC7G,CAAC;gBACD,+EAA+E;gBAC/E,IAAI,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC;oBAChE,MAAM,CAAC,KAAK,CAAC,uBAAuB,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC,YAAY,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC;gBAC1H,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACf,CAAC;QACH,CAAC;QACD,oBAAoB,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IAC5C,CAAC;IAGD,4FAA4F;IAC5F,6FAA6F;IAC7F,6FAA6F;IAC7F,gGAAgG;IAChG,6FAA6F;IAC7F,+FAA+F;IAC/F,4DAA4D;IAC5D,KAAK,UAAU,uBAAuB,CAAC,SAAiB,EAAE,SAAS,GAAG,KAAK,EAAE,MAAM,GAAG,EAAE;QACtF,IAAI,kBAAkB,CAAC,wBAAwB,CAAC,SAAS,CAAC;YAAE,OAAO,IAAI,CAAC;QACxE,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;QACxC,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,EAAE,CAAC;YAC7B,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;YAChD,IAAI,kBAAkB,CAAC,wBAAwB,CAAC,SAAS,CAAC;gBAAE,OAAO,IAAI,CAAC;QAC1E,CAAC;QACD,OAAO,kBAAkB,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC;IAChE,CAAC;IAED,KAAK,UAAU,uBAAuB,CACpC,MAAuE,EACvE,SAAiB,EACjB,aAAqB,EACrB,YAAwC;QAExC,8FAA8F;QAC9F,iFAAiF;QACjF,IAAI,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,EAAE,CAAC;YACxC,MAAM,CAAC,IAAI,CAAC,yBAAyB,EAAE;gBACrC,SAAS,EAAE,SAAS,EAAE,MAAM,CAAC,YAAY,EAAE,MAAM,EAAE,eAAe,EAAE,aAAa;aAClF,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QACD,IAAI,CAAC;YACH,+FAA+F;YAC/F,iGAAiG;YACjG,+FAA+F;YAC/F,8FAA8F;YAC9F,gFAAgF;YAChF,wFAAwF;YACxF,2FAA2F;YAC3F,4FAA4F;YAC5F,qFAAqF;YACrF,wBAAwB,CAAC,SAAS,CAAC,CAAC;YACpC,MAAM,KAAK,GAAG,kBAAkB,CAAC,iCAAiC,CAAC,SAAS,EAAE,MAAM,CAAC,qBAAqB,CAAC,CAAC;YAC5G,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC;gBACd,MAAM,CAAC,IAAI,CAAC,+BAA+B,EAAE;oBAC3C,SAAS,EAAE,MAAM,CAAC,YAAY;oBAC9B,SAAS;oBACT,MAAM,EAAE,KAAK,CAAC,MAAM;oBACpB,aAAa;iBACd,CAAC,CAAC;gBACH,2FAA2F;gBAC3F,yFAAyF;gBACzF,sFAAsF;gBACtF,iFAAiF;gBACjF,EAAE;gBACF,yFAAyF;gBACzF,0FAA0F;gBAC1F,sFAAsF;gBACtF,wFAAwF;gBACxF,EAAE;gBACF,4FAA4F;gBAC5F,2EAA2E;gBAC3E,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,KAAK,iCAAiC;oBAChE,CAAC,CAAC,kBAAkB,CAAC,cAAc,CAAC,SAAS,EAAE,MAAM,CAAC,qBAAqB,CAAC;oBAC5E,CAAC,CAAC,IAAI,CAAC;gBACT,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;oBAChC,MAAM,MAAM,GAAG,GAAG,SAAS,SAAS,MAAM,CAAC,qBAAqB,EAAE,CAAC;oBACnE,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;oBACvB,MAAM,KAAK,GAAG,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;oBAC5C,IAAI,KAAK,KAAK,SAAS,IAAI,GAAG,GAAG,KAAK,CAAC,EAAE,IAAI,qBAAqB,EAAE,CAAC;wBACnE,MAAM,GAAG,GAAG,kBAAkB,CAAC,oBAAoB,CAAC,SAAS,EAAE,MAAM,CAAC,qBAAqB,CAAC,CAAC;wBAC7F,MAAM,CAAC,KAAK,CAAC,6BAA6B,EAAE;4BAC1C,SAAS;4BACT,kBAAkB,EAAE,MAAM,CAAC,qBAAqB;4BAChD,GAAG,EAAE,OAAO,CAAC,GAAG;4BAChB,OAAO,EAAE,OAAO,CAAC,OAAO;4BACxB,IAAI,EAAE,OAAO,CAAC,IAAI;4BAClB,SAAS,EAAE,OAAO,CAAC,SAAS;4BAC5B,wBAAwB,EAAE,KAAK,EAAE,UAAU,IAAI,CAAC;4BAChD,oBAAoB,EAAE,GAAG;4BACzB,aAAa;4BACb,MAAM,EACJ,yFAAyF;gCACzF,GAAG,OAAO,CAAC,OAAO,sCAAsC,OAAO,CAAC,GAAG,uFAAuF;gCAC1J,SAAS,OAAO,CAAC,SAAS,yKAAyK;yBACtM,CAAC,CAAC;wBACH,iBAAiB,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC;oBAC5D,CAAC;yBAAM,CAAC;wBACN,iBAAiB,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,GAAG,CAAC,EAAE,CAAC,CAAC;oBACpF,CAAC;gBACH,CAAC;gBACD,uFAAuF;gBACvF,4FAA4F;gBAC5F,0FAA0F;gBAC1F,+BAA+B;gBAC/B,aAAa,CAAC,SAAS,EAAE,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,qBAAqB,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;gBAC1F,0FAA0F;gBAC1F,uFAAuF;gBACvF,gEAAgE;gBAChE,kBAAkB,CAAC,oBAAoB,CAAC,SAAS,EAAE,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;gBAEtF,gEAAgE;gBAChE,EAAE;gBACF,4FAA4F;gBAC5F,4FAA4F;gBAC5F,yFAAyF;gBACzF,uFAAuF;gBACvF,4FAA4F;gBAC5F,sFAAsF;gBACtF,UAAU;gBACV,EAAE;gBACF,4FAA4F;gBAC5F,6FAA6F;gBAC7F,yFAAyF;gBACzF,wCAAwC;gBACxC,MAAM,UAAU,GAAG,kBAAkB,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,qBAAqB,CAAC,CAAC;gBACvF,IAAI,UAAU,IAAI,IAAI,CAAC,KAAK,IAAI,UAAU,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;oBACvD,0FAA0F;oBAC1F,4FAA4F;oBAC5F,MAAM,YAAY,GAAG,kBAAkB,CAAC,gBAAgB,CAAC,SAAS,EAAE,UAAU,EAAE,cAAc,CAAC,CAAC;oBAChG,KAAK,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE;wBAC5B,IAAI,EAAE,iBAAiB;wBACvB,SAAS,EAAE,MAAM,CAAC,YAAY;wBAC9B,eAAe,EAAE,MAAM,CAAC,qBAAqB;wBAC7C,MAAM,EAAE,KAAK,CAAC,MAAM;wBACpB,uBAAuB,EAAE,YAAY;wBACrC,QAAQ,EACN,+CAA+C,YAAY,uCAAuC;4BAClG,mGAAmG;4BACnG,oEAAoE;qBACvE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;wBACf,MAAM,CAAC,IAAI,CAAC,kCAAkC,EAAE;4BAC9C,SAAS,EAAE,SAAS,EAAE,MAAM,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM;4BAC/D,SAAS,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,aAAa;yBACpD,CAAC,CAAC;oBACL,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAiE,CAAC,CAAC,CAAC;gBACpF,CAAC;qBAAM,CAAC;oBACN,MAAM,CAAC,KAAK,CAAC,gCAAgC,EAAE;wBAC7C,SAAS,EAAE,SAAS,EAAE,MAAM,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM;wBAC/D,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,0CAA0C,EAAE,aAAa;qBACjF,CAAC,CAAC;gBACL,CAAC;gBACD,OAAO;YACT,CAAC;YACD,8FAA8F;YAC9F,0FAA0F;YAC1F,gGAAgG;YAChG,gGAAgG;YAChG,iGAAiG;YACjG,0DAA0D;YAC1D,IAAI,MAAM,CAAC,cAAc,KAAK,IAAI,EAAE,CAAC;gBACnC,kBAAkB,CAAC,oBAAoB,CAAC,SAAS,EAAE,MAAM,CAAC,qBAAqB,EAAE,MAAM,CAAC,cAAc,CAAC,CAAC;YAC1G,CAAC;YACD,qFAAqF;YACrF,oFAAoF;YACpF,iFAAiF;YACjF,sFAAsF;YACtF,KAAK,kBAAkB,CAAC,8BAA8B,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;gBACvF,MAAM,CAAC,IAAI,CAAC,yCAAyC,EAAE;oBACrD,SAAS;oBACT,MAAM,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;oBACxD,aAAa;iBACd,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YACH,gFAAgF;YAChF,MAAM,KAAK,GAAG,MAAM,uBAAuB,CAAC,SAAS,CAAC,CAAC;YACvD,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,MAAM,CAAC,IAAI,CAAC,+BAA+B,EAAE;oBAC3C,SAAS,EAAE,MAAM,CAAC,YAAY;oBAC9B,SAAS;oBACT,MAAM,EAAE,+BAA+B;oBACvC,aAAa;iBACd,CAAC,CAAC;gBACH,OAAO;YACT,CAAC;YACD,8EAA8E;YAC9E,uFAAuF;YACvF,MAAM,WAAW,GAAG,MAAM,yBAAyB,CAAC,MAAM,EAAE,cAAc,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;YAC1G,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,aAAa,CACnD,MAAM,CAAC,YAAY,EACnB,SAAS,EACT,MAAM,CAAC,qBAAqB,EAAE,oCAAoC;YAClE,MAAM,CAAC,eAAe,EACtB,aAAa,EACb,WAAW,CACZ,CAAC;YACF,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;gBACf,MAAM,CAAC,IAAI,CAAC,+BAA+B,EAAE;oBAC3C,SAAS,EAAE,MAAM,CAAC,YAAY;oBAC9B,SAAS;oBACT,MAAM,EAAE,MAAM,CAAC,MAAM;oBACrB,aAAa;iBACd,CAAC,CAAC;gBACH,OAAO;YACT,CAAC;YACD,wFAAwF;YACxF,yFAAyF;YACzF,mEAAmE;YACnE,IAAI,MAAM,CAAC,eAAe,EAAE,CAAC;gBAC3B,kBAAkB,CAAC,yBAAyB,CAAC,SAAS,EAAE,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,eAAe,CAAC,CAAC;YACvG,CAAC;YAED,kFAAkF;YAClF,qFAAqF;YACrF,mFAAmF;YACnF,8DAA8D;YAC9D,MAAM,kBAAkB,GAAG,MAAM,CAAC,IAAI,CACpC,sBAAsB,CACpB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,qBAAqB,EAAE,KAAK,CAAC,EAChD,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,qBAAqB,EAAE,KAAK,CAAC,EAChD,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,EACvC,MAAM,CAAC,gBAAgB,CACxB,CACF,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YAElB,MAAM,CAAC,IAAI,CAAC,0BAA0B,EAAE;gBACtC,SAAS,EAAE,MAAM,CAAC,YAAY;gBAC9B,SAAS;gBACT,aAAa,EAAE,MAAM,CAAC,MAAM;gBAC5B,aAAa;aACd,CAAC,CAAC;YACH,uFAAuF;YACvF,uFAAuF;YACvF,4EAA4E;YAC5E,IAAI,MAAM,CAAC,eAAe,EAAE,CAAC;gBAC3B,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE;oBAC9B,SAAS;oBACT,MAAM,EAAE,MAAM,CAAC,qBAAqB;oBACpC,MAAM,EAAE,MAAM,CAAC,mBAAmB,IAAI,SAAS;oBAC/C,aAAa;iBACd,CAAC,CAAC;YACL,CAAC;YACD,uFAAuF;YACvF,mFAAmF;YACnF,wFAAwF;YACxF,gFAAgF;YAChF,IAAI,MAAM,CAAC,cAAc,KAAK,IAAI,EAAE,CAAC;gBACnC,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC,cAAc,CAAC,CAAC;gBACrF,8FAA8F;gBAC9F,8FAA8F;YAChG,CAAC;YACD,uDAAuD;YACvD,4FAA4F;YAC5F,0EAA0E;YAC1E,MAAM,eAAe,GAAa,EAAE,CAAC;YACrC,IAAI,MAAM,CAAC,YAAY,IAAI,MAAM,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC1D,MAAM,CAAC,IAAI,CAAC,8BAA8B,EAAE;oBAC1C,SAAS;oBACT,SAAS,EAAE,MAAM,CAAC,YAAY;oBAC9B,YAAY,EAAE,MAAM,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;oBACvD,KAAK,EAAE,MAAM,CAAC,YAAY,CAAC,MAAM;oBACjC,aAAa;iBACd,CAAC,CAAC;gBACH,IAAI,CAAC;oBACH,MAAM,KAAK,GAAG,IAAI,gBAAgB,CAAC,kBAAkB,CAAC,KAAK,EAAE,EAAE,MAAM,CAAC,CAAC;oBACvE,MAAM,OAAO,GAAG,kBAAkB,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;oBAC7D,gFAAgF;oBAChF,8EAA8E;oBAC9E,kBAAkB,CAAC,UAAU,CAAC,SAAS,EAAE,MAAM,CAAC,qBAAqB,EAAE,IAAI,EAAE,qBAAqB,CAAC,CAAC;oBACpG,IAAI,QAAQ,GAAG,CAAC,CAAC;oBACjB,IAAI,QAAQ,GAAG,CAAC,CAAC;oBACjB,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;wBACtC,IAAI,CAAC;4BACH,MAAM,QAAQ,GAAG,yBAAyB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;4BACrD,MAAM,SAAS,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;4BAC/D,IAAI,CAAC,qBAAqB,CAAC,QAAQ,EAAE,SAAS,CAAC,EAAE,CAAC;gCAChD,sFAAsF;gCACtF,gFAAgF;gCAChF,mFAAmF;gCACnF,oFAAoF;gCACpF,+EAA+E;gCAC/E,MAAM,CAAC,IAAI,CAAC,6BAA6B,EAAE;oCACzC,SAAS;oCACT,UAAU,EAAE,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;oCACjC,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;oCACvF,IAAI,EAAE,QAAQ,CAAC,IAAI;oCACnB,UAAU,EAAE,QAAQ,CAAC,WAAW;oCAChC,YAAY,EAAE,QAAQ,CAAC,aAAa;oCACpC,aAAa;iCACd,CAAC,CAAC;gCACH,QAAQ,EAAE,CAAC;gCACX,SAAS;4BACX,CAAC;4BACD,MAAM,cAAc,GAAG,QAAQ,CAAC,eAAe,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;4BACxH,KAAK,CAAC,iBAAiB,CAAC;gCACtB,OAAO;gCACP,aAAa,EAAE,MAAM,CAAC,qBAAqB;gCAC3C,UAAU,EAAE,GAAG,CAAC,IAAI;gCACpB,WAAW,EAAE,QAAQ,CAAC,YAAY;gCAClC,OAAO,EAAE,QAAQ,CAAC,OAAO;gCACzB,UAAU,EAAE,QAAQ,CAAC,WAAW;gCAChC,YAAY,EAAE,QAAQ,CAAC,aAAa;gCACpC,IAAI,EAAE,QAAQ,CAAC,IAAI;gCACnB,aAAa,EAAE,QAAQ,CAAC,cAAc;gCACtC,OAAO,EAAE,QAAQ,CAAC,OAAO;gCACzB,QAAQ,EAAE,QAAQ,CAAC,SAAS;gCAC5B,SAAS,EAAE,QAAQ,CAAC,UAAU;gCAC9B,cAAc;gCACd,oFAAoF;gCACpF,oFAAoF;gCACpF,gDAAgD;gCAChD,YAAY,EAAE,QAAQ,CAAC,aAAa;gCACpC,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE;gCACtB,OAAO,EAAE,QAAQ;6BAClB,CAAC,CAAC;4BACH,IAAI,cAAc,EAAE,CAAC;gCACnB,KAAK,CAAC,iBAAiB,CAAC;oCACtB,OAAO;oCACP,aAAa,EAAE,MAAM,CAAC,qBAAqB;oCAC3C,UAAU,EAAE,cAAc;oCAC1B,MAAM,EAAE,YAAY;iCACrB,CAAC,CAAC;4BACL,CAAC;4BACD,QAAQ,EAAE,CAAC;4BACX,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;wBACjC,CAAC;wBAAC,OAAO,GAAY,EAAE,CAAC;4BACtB,MAAM,CAAC,IAAI,CAAC,6BAA6B,EAAE;gCACzC,SAAS,EAAE,UAAU,EAAE,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;gCAC5C,MAAM,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;gCACxD,aAAa;6BACd,CAAC,CAAC;4BACH,QAAQ,EAAE,CAAC;wBACb,CAAC;oBACH,CAAC;oBACD,IAAI,QAAQ,GAAG,CAAC,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;wBACjC,MAAM,CAAC,IAAI,CAAC,wBAAwB,EAAE;4BACpC,SAAS,EAAE,YAAY,EAAE,MAAM,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;4BAClE,QAAQ,EAAE,QAAQ,EAAE,aAAa;yBAClC,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;gBAAC,OAAO,GAAY,EAAE,CAAC;oBACtB,MAAM,CAAC,IAAI,CAAC,4BAA4B,EAAE;wBACxC,SAAS;wBACT,MAAM,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;wBACxD,aAAa;qBACd,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YACD,qBAAqB,CAAC,SAAS,EAAE;gBAC/B,YAAY,EAAE,MAAM,CAAC,YAAY;gBACjC,qBAAqB,EAAE,MAAM,CAAC,qBAAqB;gBACnD,kBAAkB;gBAClB,cAAc,EAAE,MAAM,CAAC,cAAc;gBACrC,qBAAqB,EAAE,eAAe;gBACtC,YAAY;aACb,CAAC,CAAC;YACH,uCAAuC,CACrC,SAAS,EACT,MAAM,CAAC,YAAY,EACnB,SAAS,EACT,MAAM,CAAC,qBAAqB,CAC7B,CAAC;YACF,2FAA2F;YAC3F,6FAA6F;YAC7F,2FAA2F;YAC3F,0FAA0F;YAC1F,2FAA2F;YAC3F,4FAA4F;YAC5F,IAAI,qBAAqB,CAAC,MAAM,CAAC,qBAAqB,EAAE,SAAS,CAAC,EAAE,CAAC;gBACnE,MAAM,CAAC,IAAI,CAAC,sCAAsC,EAAE;oBAClD,SAAS,EAAE,SAAS,EAAE,MAAM,CAAC,YAAY,EAAE,IAAI,EAAE,iBAAiB;oBAClE,MAAM,EAAE,MAAM,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;oBACjD,MAAM,EAAE,uDAAuD;iBAChE,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,KAAK,oBAAoB,CAAC,SAAS,EAAE,MAAM,CAAC,YAAY,EAAE,iBAAiB,EAAE,qBAAqB,CAAC,CAAC;YACtG,CAAC;YACD,6FAA6F;YAC7F,6FAA6F;YAC7F,KAAK,gBAAgB,CAAC,SAAS,EAAE,MAAM,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;YACjE,6FAA6F;YAC7F,6FAA6F;YAC7F,uFAAuF;YACvF,8FAA8F;YAC9F,6GAA6G;YAC7G,gGAAgG;YAChG,kGAAkG;YAClG,8EAA8E;QAChF,CAAC;gBAAS,CAAC;YACT,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC;QACnE,CAAC;IACH,CAAC;IAED,SAAS,8BAA8B,CAAC,KAA8B;QACpE,qFAAqF;QACrF,MAAM,aAAa,GAAG,UAAU,EAAE,CAAC;QACnC,MAAM,MAAM,GAAG,+BAA+B,CAAC,KAAK,CAAC,CAAC;QACtD,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,CAAC,IAAI,CAAC,sCAAsC,EAAE;gBAClD,MAAM,EAAE,2BAA2B;gBACnC,aAAa;aACd,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QAED,2FAA2F;QAC3F,6FAA6F;QAC7F,wBAAwB;QACxB,IAAI,MAAM,CAAC,aAAa,KAAK,QAAQ,EAAE,CAAC;YACtC,MAAM,CAAC,IAAI,CAAC,oCAAoC,EAAE;gBAChD,SAAS,EAAE,MAAM,CAAC,YAAY;gBAC9B,MAAM,EAAE,4BAA4B;gBACpC,aAAa;aACd,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QAED,sFAAsF;QACtF,wFAAwF;QACxF,wFAAwF;QACxF,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC;YAC5B,MAAM,CAAC,IAAI,CAAC,sCAAsC,EAAE;gBAClD,SAAS,EAAE,MAAM,CAAC,YAAY;gBAC9B,MAAM,EAAE,2BAA2B;gBACnC,aAAa;aACd,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QAED,kFAAkF;QAClF,gFAAgF;QAChF,6EAA6E;QAC7E,+CAA+C;QAC/C,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,KAAK,MAAM,CAAC,qBAAqB,CAAC,CAAC;QACnF,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,CAAC,KAAK,CAAC,2BAA2B,EAAE;gBACxC,SAAS,EAAE,MAAM,CAAC,YAAY;gBAC9B,kBAAkB,EAAE,MAAM,CAAC,qBAAqB;gBAChD,aAAa;aACd,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QAED;;;;;;;;;;;;;;;;;;;;;;;;;;;WA2BG;QACH,MAAM,OAAO,GAAG,kBAAkB,CAAC,gBAAgB,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC;QAC1F,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,MAAM,CAAC,eAAe,EAAE,CAAC;YAC3D,MAAM,CAAC,KAAK,CAAC,4CAA4C,EAAE;gBACzD,SAAS,EAAE,MAAM,CAAC,YAAY;gBAC9B,SAAS,EAAE,UAAU,CAAC,IAAI;gBAC1B,aAAa,EAAE,OAAO;gBACtB,cAAc,EAAE,MAAM,CAAC,eAAe;gBACtC,aAAa;gBACb,MAAM,EACJ,2OAA2O;gBAC7O,QAAQ,EACN,sSAAsS;aACzS,CAAC,CAAC;YACH,2FAA2F;YAC3F,6FAA6F;YAC7F,gEAAgE;YAChE,oBAAoB,CAAC;gBACnB,SAAS,EAAE,UAAU,CAAC,IAAI;gBAC1B,YAAY,EAAE,MAAM,CAAC,YAAY;gBACjC,qBAAqB,EAAE,MAAM,CAAC,qBAAqB;gBACnD,MAAM,EAAE,eAAe,CAAC,gCAAgC;gBACxD,aAAa,EAAE,OAAO;gBACtB,oBAAoB,EAClB,4FAA4F;oBAC5F,4FAA4F;oBAC5F,4FAA4F;oBAC5F,8FAA8F;gBAChG,aAAa;aACd,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QAED,0FAA0F;QAC1F,8FAA8F;QAC9F,+FAA+F;QAC/F,8FAA8F;QAC9F,wFAAwF;QACxF,2FAA2F;QAC3F,wFAAwF;QACxF,gEAAgE;QAChE,IAAI,CAAC,MAAM,CAAC,yBAAyB,EAAE,CAAC;YACtC,MAAM,CAAC,IAAI,CAAC,uCAAuC,EAAE;gBACnD,SAAS,EAAE,UAAU,CAAC,IAAI;gBAC1B,SAAS,EAAE,MAAM,CAAC,YAAY;gBAC9B,aAAa;aACd,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QAED,uFAAuF;QACvF,wFAAwF;QACxF,IAAI,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC,IAAI,kBAAkB,CAAC,gBAAgB,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC;YACrJ,MAAM,CAAC,IAAI,CAAC,mCAAmC,EAAE;gBAC/C,SAAS,EAAE,MAAM,CAAC,YAAY;gBAC9B,SAAS,EAAE,UAAU,CAAC,IAAI;gBAC1B,aAAa;aACd,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QAED;;;;;;;;;;;;;;;;;;;;WAoBG;QACH,MAAM,YAAY,GAAG,kBAAkB,CAAC,4BAA4B,CAClE,UAAU,CAAC,IAAI,EACf,MAAM,CAAC,qBAAqB,CAC7B,CAAC;QACF,6FAA6F;QAC7F,4FAA4F;QAC5F,gEAAgE;QAChE,MAAM,aAAa,GAAG,sBAAsB,CAC1C,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,CAA4B;QACtD;;;;;;;;;WASG;QACH,CAAC,KAAK,EAAE,EAAE;YACR,MAAM,CAAC,IAAI,CAAC,iDAAiD,EAAE;gBAC7D,SAAS,EAAE,MAAM,CAAC,YAAY;gBAC9B,SAAS,EAAE,UAAU,CAAC,IAAI;gBAC1B,KAAK;gBACL,MAAM,EACJ,wFAAwF;oBACxF,2EAA2E;gBAC7E,QAAQ,EACN,qFAAqF;oBACrF,wDAAwD;gBAC1D,aAAa;aACd,CAAC,CAAC;QACL,CAAC,CACF,CAAC;QACF,MAAM,OAAO,GAAG,aAAa,KAAK,IAAI;YACpC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAc,EAAE,MAAM,EAAE,gCAAgC,EAAE,MAAM,EAAE,+CAA+C,EAAE;YAC3H,CAAC,CAAC,uBAAuB,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;QACzD,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC;YAChB,MAAM,gBAAgB,GACpB,OAAO,CAAC,MAAM,KAAK,sCAAsC;gBACzD,CAAC,YAAY,KAAK,IAAI,IAAI,OAAO,CAAC,MAAM,KAAK,sCAAsC,CAAC,CAAC;YACvF,MAAM,CAAC,KAAK,CACV,gBAAgB,CAAC,CAAC,CAAC,8CAA8C,CAAC,CAAC,CAAC,oCAAoC,EACxG;gBACA,SAAS,EAAE,MAAM,CAAC,YAAY;gBAC9B,SAAS,EAAE,UAAU,CAAC,IAAI;gBAC1B,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,eAAe,EAAE,YAAY,KAAK,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,WAAW;gBACnE,aAAa;gBACb,MAAM,EAAE,gBAAgB;oBACtB,CAAC,CAAC,8QAA8Q;oBAChR,CAAC,CAAC,yMAAyM;gBAC7M,QAAQ,EAAE,gBAAgB;oBACxB,CAAC,CAAC,4XAA4X;oBAC9X,CAAC,CAAC,iMAAiM;aACpM,CACF,CAAC;YACF,oBAAoB,CAAC;gBACnB,SAAS,EAAE,UAAU,CAAC,IAAI;gBAC1B,YAAY,EAAE,MAAM,CAAC,YAAY;gBACjC,qBAAqB,EAAE,MAAM,CAAC,qBAAqB;gBACnD,MAAM,EAAE,gBAAgB;oBACtB,CAAC,CAAC,eAAe,CAAC,gCAAgC;oBAClD,CAAC,CAAC,eAAe,CAAC,0BAA0B;gBAC9C,aAAa,EAAE,OAAO;gBACtB,oBAAoB,EAAE,gBAAgB;oBACpC,CAAC,CAAC,oFAAoF;wBACpF,yFAAyF;wBACzF,uFAAuF;wBACvF,uFAAuF;wBACvF,uFAAuF;wBACvF,8BAA8B;oBAChC,CAAC,CAAC,0FAA0F;wBAC1F,0FAA0F;wBAC1F,wFAAwF;wBACxF,iFAAiF;gBACrF,aAAa;aACd,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QACD;;;;;;;;;;;;WAYG;QACH,MAAM,YAAY,GAAG,OAAO,CAAC,IAAI,KAAK,UAAU,CAAC;QACjD,gGAAgG;QAChG,6DAA6D;QAC7D,MAAM,YAAY,GAA+B,YAAY,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,QAAQ,CAAC;QAC3F,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,qCAAqC,EAAE;YACjF,SAAS,EAAE,MAAM,CAAC,YAAY;YAC9B,SAAS,EAAE,UAAU,CAAC,IAAI;YAC1B,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,GAAG,CAAC,YAAY;gBACd,CAAC,CAAC;oBACE,MAAM,EACJ,wFAAwF;wBACxF,wFAAwF;wBACxF,wFAAwF;wBACxF,+EAA+E;oBACjF,QAAQ,EACN,uFAAuF;wBACvF,8CAA8C;iBACjD;gBACH,CAAC,CAAC,EAAE,CAAC;YACP,aAAa;SACd,CAAC,CAAC;QAEH;;;;;;;;;;;;;WAaG;QACH,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC;QACpE,sFAAsF;QACtF,oFAAoF;QACpF,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC;QAClC,kBAAkB,GAAG,kBAAkB;aACpC,IAAI,CAAC,GAAG,EAAE,CAAC,uBAAuB,CAAC,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,YAAY,CAAC,CAAC;aACnF,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;YACtB,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC;YACvE,MAAM,CAAC,KAAK,CAAC,8BAA8B,EAAE;gBAC3C,SAAS,EAAE,MAAM,CAAC,YAAY;gBAC9B,SAAS;gBACT,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;gBACvD,aAAa;aACd,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAED,wFAAwF;IACxF,4FAA4F;IAC5F,0FAA0F;IAC1F,0FAA0F;IAC1F,6FAA6F;IAC7F,wFAAwF;IACxF,wDAAwD;IACxD,kGAAkG;IAClG,oGAAoG;IACpG,qGAAqG;IACrG,oGAAoG;IACpG,iFAAiF;IACjF,KAAK,UAAU,uBAAuB,CACpC,KAA8B,EAC9B,WAAyD,EACzD,GAAqB,EACrB,SAAiB;QAEjB,MAAM,EAAE,GAAG,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAChE,MAAM,UAAU,GAAG,OAAO,KAAK,CAAC,aAAa,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC1F,MAAM,UAAU,GAAG,OAAO,KAAK,CAAC,aAAa,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC1F,MAAM,UAAU,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC;QACvC,IAAI,CAAC,EAAE,IAAI,CAAC,UAAU,IAAI,CAAC,UAAU,IAAI,CAAC,CAAC,UAAU,YAAY,UAAU,CAAC,EAAE,CAAC;YAC7E,iGAAiG;YACjG,0GAA0G;YAC1G,MAAM,CAAC,IAAI,CAAC,+BAA+B,EAAE;gBAC3C,SAAS;gBACT,KAAK,EAAE,CAAC,CAAC,EAAE;gBACX,aAAa,EAAE,CAAC,CAAC,UAAU;gBAC3B,aAAa,EAAE,CAAC,CAAC,UAAU;gBAC3B,YAAY,EAAE,UAAU,YAAY,UAAU;aAC/C,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QACD,IAAI,CAAC,WAAW,CAAC,eAAe,EAAE,CAAC;YACjC,kGAAkG;YAClG,gGAAgG;YAChG,MAAM,CAAC,IAAI,CAAC,oCAAoC,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,aAAa,EAAE,EAAE,EAAE,CAAC,CAAC;YAChG,OAAO;QACT,CAAC;QACD,kGAAkG;QAClG,MAAM,aAAa,GAAG,EAAE,CAAC;QAEzB,IAAI,SAA4B,CAAC;QACjC,IAAI,CAAC;YACH,SAAS,GAAG,MAAM,WAAW,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;QAC5D,CAAC;QAAC,MAAM,CAAC;YACP,SAAS,GAAG,IAAI,CAAC;QACnB,CAAC;QACD,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,CAAC,IAAI,CAAC,iCAAiC,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,aAAa,EAAE,CAAC,CAAC;YACzF,OAAO;QACT,CAAC;QACD,gGAAgG;QAChG,yGAAyG;QACzG,kGAAkG;QAClG,oGAAoG;QACpG,wGAAwG;QACxG,iGAAiG;QACjG,IAAI,QAA6B,CAAC;QAClC,IAAI,CAAC;YACH,QAAQ,GAAG,yBAAyB,CAAC,SAAS,CAAC,CAAC;QAClD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,KAAK,CAAC,0CAA0C,EAAE;gBACvD,SAAS,EAAE,UAAU,EAAE,aAAa,EAAE,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;aAC9F,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QACD,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,IAAI,gBAAgB,CAAC,kBAAkB,CAAC,KAAK,EAAE,EAAE,MAAM,CAAC,CAAC;YACvE,KAAK,CAAC,mBAAmB,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QAClD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,qGAAqG;YACrG,qGAAqG;YACrG,MAAM,CAAC,KAAK,CAAC,uCAAuC,EAAE;gBACpD,SAAS;gBACT,UAAU;gBACV,aAAa;gBACb,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;aACxD,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,8BAA8B,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,CAAC;QACtG,6FAA6F;QAC7F,uEAAuE;QACvE,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,EAAE,EAAE,CAAC,CAAC;QACnE,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;YACf,MAAM,CAAC,IAAI,CAAC,qCAAqC,EAAE;gBACjD,SAAS;gBACT,UAAU;gBACV,aAAa;gBACb,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,aAAa;gBACtC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC1D,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,SAAS,0BAA0B,CAAC,GAAqB;QACvD,GAAG,CAAC,sBAAsB,CAAC,CAAC,KAAK,EAAE,EAAE;YACnC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,0BAA0B;gBAAE,OAAO;YACzD,KAAK,mCAAmC,CAAC,KAAgC,CAAC,CAAC;QAC7E,CAAC,CAAC,CAAC;QACH,GAAG,CAAC,sBAAsB,CAAC,CAAC,KAAK,EAAE,EAAE;YACnC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,oBAAoB;gBAAE,OAAO;YACnD,8BAA8B,CAAC,KAAgC,CAAC,CAAC;QACnE,CAAC,CAAC,CAAC;IACL,CAAC;IACD,8FAA8F;IAC9F,qFAAqF;IACrF,IAAI,eAAe;QAAE,0BAA0B,CAAC,eAAe,CAAC,CAAC;IAEjE,sFAAsF;IACtF,4FAA4F;IAC5F,6FAA6F;IAC7F,+FAA+F;IAC/F,0FAA0F;IAE1F;;;;;;;;OAQG;IACH,SAAS,gBAAgB,CAAC,QAAiC;QACzD,uFAAuF;QACvF,uFAAuF;QACvF,kDAAkD;QAClD,QAAQ,CAAC,GAAG,CAAC,qBAAqB,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,EAAE;YACjE,MAAM,SAAS,GAAG,YAAY,CAAC,YAAY,CAAC,CAAC;YAC7C,4FAA4F;YAC5F,gGAAgG;YAChG,iGAAiG;YACjG,MAAM,SAAS,GAAG,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,KAA2B,CAAC,CAAC;YACtF,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,OAAO,yBAAyB,CAAC;YACnC,CAAC;YACD,MAAM,SAAS,GAAG,OAAO,MAAM,EAAE,CAAC,YAAY,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAE,MAAM,CAAC,YAAY,CAAY,CAAC,CAAC,CAAC,MAAM,CAAC;YAEzG,MAAM,UAAU,GAAG,CAAC,CAAsB,EAAE,EAAE;gBAC5C,IAAI,qBAA6D,CAAC;gBAClE,IAAI,CAAC;oBACH,MAAM,IAAI,GAAG,kBAAkB,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;oBAC1D,MAAM,KAAK,GAAG,IAAI,gBAAgB,CAAC,kBAAkB,CAAC,KAAK,EAAE,EAAE,MAAM,CAAC,CAAC;oBACvE,MAAM,QAAQ,GAAG,KAAK,CAAC,YAAY,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,CAAC,qBAAqB,EAAE,CAAC,CAAC;oBAC/F,sFAAsF;oBACtF,2FAA2F;oBAC3F,iEAAiE;oBACjE,qBAAqB,GAAG,mBAAmB,CAAC,QAAQ,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC,qBAAqB,IAAI,EAAE,CAAC,CAAC,CAAC;gBAChG,CAAC;gBAAC,OAAO,GAAY,EAAE,CAAC;oBACtB,MAAM,CAAC,IAAI,CAAC,0BAA0B,EAAE;wBACtC,SAAS;wBACT,YAAY,EAAE,CAAC,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;wBAClD,MAAM,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;qBACzD,CAAC,CAAC;oBACH,qBAAqB,GAAG,SAAS,CAAC;gBACpC,CAAC;gBACD,OAAO;oBACL,IAAI,EAAE,aAAa;oBACnB,UAAU,EAAE,CAAC,CAAC,YAAY;oBAC1B,mBAAmB,EAAE,CAAC,CAAC,qBAAqB;oBAC5C,iBAAiB,EAAE,CAAC,CAAC,kBAAkB;oBACvC,eAAe,EAAE,CAAC,CAAC,cAAc,IAAI,IAAI;oBACzC,mFAAmF;oBACnF,qFAAqF;oBACrF,GAAG,CAAC,CAAC,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,YAAY,EAAE,CAAC;oBACzE,GAAG,CAAC,CAAC,CAAC,YAAY,KAAK,eAAe;wBACpC,CAAC,CAAC;4BACE,iBAAiB,EACf,iFAAiF;gCACjF,iFAAiF;gCACjF,iFAAiF;gCACjF,SAAS;4BACX,QAAQ,EACN,mFAAmF;gCACnF,4DAA4D;yBAC/D;wBACH,CAAC,CAAC,EAAE,CAAC;oBACP,GAAG,CAAC,qBAAqB,IAAI,EAAE,CAAC;iBACjC,CAAC;YACJ,CAAC,CAAC;YAEF,0BAA0B,CAAC,SAAS,CAAC,CAAC,CAAC,mDAAmD;YAC1F,MAAM,MAAM,GAAG,oBAAoB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACnD,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAChC,OAAO,UAAU,CAAC,MAAM,CAAC,KAAK,EAAG,CAAC,CAAC;YACrC,CAAC;YAED,MAAM,KAAK,GAAG,MAAM,IAAI,OAAO,CAA6B,CAAC,OAAO,EAAE,EAAE;gBACtE,MAAM,OAAO,GAAG,qBAAqB,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;gBAC3D,MAAM,MAAM,GAAyB;oBACnC,YAAY;oBACZ,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE;wBACb,YAAY,CAAC,KAAK,CAAC,CAAC;wBACpB,OAAO,CAAC,CAAC,CAAC,CAAC;oBACb,CAAC;iBACF,CAAC;gBACF,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACrB,qBAAqB,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;gBAC9C,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;oBAC5B,MAAM,IAAI,GAAG,qBAAqB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;oBAClD,IAAI,IAAI,EAAE,CAAC;wBACT,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;wBACjC,IAAI,GAAG,KAAK,CAAC,CAAC;4BAAE,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;oBACtC,CAAC;oBACD,OAAO,CAAC,IAAI,CAAC,CAAC;gBAChB,CAAC,EAAE,SAAS,CAAC,CAAC;YAChB,CAAC,CAAC,CAAC;YAEH,IAAI,KAAK,KAAK,IAAI;gBAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;YAC/C,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC,CAAC,CAAC;IACL,CAAC;IAED,OAAO;QACL,gBAAgB;QAChB,0BAA0B;QAC1B,uBAAuB;QACvB,qBAAqB;QACrB,aAAa;QACb,+FAA+F;QAC/F,4FAA4F;QAC5F,wEAAwE;QACxE,oBAAoB;QACpB,0BAA0B;QAC1B,oBAAoB;QACpB,qBAAqB;QACrB,sBAAsB;QACtB,sBAAsB;QACtB,eAAe;QACf,QAAQ;KACT,CAAC;AACJ,CAAC"}
package/dist/index.d.ts CHANGED
@@ -23,4 +23,6 @@ export { NetworkDirectoryNode, bootstrapNetworkKeyShares, runNetworkDkg, runNetw
23
23
  export type { FrostAuthSigner } from "./network-directory-node.js";
24
24
  export { resolveAgentState, isAgentRunning } from "./agent-state.js";
25
25
  export type { AgentStateInputs } from "./agent-state.js";
26
+ export { createBackup, restoreBackup, inspectBackup } from "./backup-restore.js";
27
+ export type { BackupResult, RestoreResult } from "./backup-restore.js";
26
28
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,MAAM,EACN,eAAe,EACf,UAAU,EACV,WAAW,EACX,aAAa,EACb,gBAAgB,EAChB,eAAe,EACf,QAAQ,EACR,UAAU,EACV,SAAS,EACT,gBAAgB,EAChB,cAAc,EACd,uBAAuB,EACvB,oBAAoB,EACpB,YAAY,EACZ,iBAAiB,EACjB,qBAAqB,EACrB,sBAAsB,EACtB,2BAA2B,GAC5B,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAExC,OAAO,EAAE,WAAW,EAAE,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACtG,OAAO,EACL,oBAAoB,EACpB,kBAAkB,EAClB,yBAAyB,EACzB,uBAAuB,EACvB,KAAK,aAAa,GACnB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,UAAU,EAAE,KAAK,WAAW,EAAE,KAAK,WAAW,EAAE,KAAK,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzG,OAAO,EAAE,eAAe,EAAE,KAAK,SAAS,EAAE,KAAK,UAAU,EAAE,KAAK,eAAe,EAAE,KAAK,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACpI,OAAO,EAAE,eAAe,EAAE,KAAK,SAAS,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC5E,OAAO,EAAE,cAAc,EAAE,KAAK,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC3E,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,KAAK,QAAQ,EAAE,KAAK,YAAY,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACvH,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAGpE,OAAO,EACL,iBAAiB,EACjB,0BAA0B,EAC1B,eAAe,EACf,8BAA8B,EAC9B,uBAAuB,GACxB,MAAM,yBAAyB,CAAC;AACjC,YAAY,EACV,kBAAkB,EAClB,eAAe,EACf,eAAe,EACf,oBAAoB,EACpB,iBAAiB,GAClB,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AAC/F,OAAO,EAAE,4BAA4B,EAAE,MAAM,6BAA6B,CAAC;AAC3E,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,EAAE,kCAAkC,EAAE,8BAA8B,EAAE,MAAM,yBAAyB,CAAC;AAG7G,OAAO,EAAE,YAAY,EAAE,KAAK,kBAAkB,EAAE,KAAK,gBAAgB,EAAE,KAAK,gBAAgB,EAAE,KAAK,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAChJ,OAAO,EAAE,sBAAsB,EAAE,KAAK,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AACpG,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,KAAK,mBAAmB,EAAE,KAAK,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAKvI,OAAO,EACL,kBAAkB,EAClB,cAAc,EACd,oBAAoB,EACpB,cAAc,EACd,kBAAkB,EAClB,kBAAkB,EAClB,cAAc,EACd,aAAa,EACb,gBAAgB,EAChB,KAAK,eAAe,EACpB,KAAK,aAAa,GACnB,MAAM,iBAAiB,CAAC;AAKzB,OAAO,EACL,oBAAoB,EACpB,yBAAyB,EACzB,aAAa,EACb,iBAAiB,GAClB,MAAM,6BAA6B,CAAC;AACrC,YAAY,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAMnE,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACrE,YAAY,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -33,4 +33,7 @@ export { NetworkDirectoryNode, bootstrapNetworkKeyShares, runNetworkDkg, runNetw
33
33
  // compiler cannot catch that — the string stays valid. A shared predicate is what stops each caller
34
34
  // re-deciding what "usable" means.
35
35
  export { resolveAgentState, isAgentRunning } from "./agent-state.js";
36
+ // DOD-M15-BACKUP-1: exported so the CLI can restore with the daemon STOPPED — the one moment
37
+ // the daemon itself cannot do it, because it would be holding the database open.
38
+ export { createBackup, restoreBackup, inspectBackup } from "./backup-restore.js";
36
39
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAqBA,8FAA8F;AAC9F,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAExC,OAAO,EAAE,WAAW,EAAqB,MAAM,aAAa,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACtG,OAAO,EACL,oBAAoB,EACpB,kBAAkB,EAClB,yBAAyB,EACzB,uBAAuB,GAExB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,UAAU,EAA4D,MAAM,mBAAmB,CAAC;AACzG,OAAO,EAAE,eAAe,EAAoF,MAAM,iBAAiB,CAAC;AACpI,OAAO,EAAE,eAAe,EAAkB,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC5E,OAAO,EAAE,cAAc,EAAsB,MAAM,uBAAuB,CAAC;AAC3E,OAAO,EAAE,UAAU,EAA0D,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACvH,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEpE,6DAA6D;AAC7D,OAAO,EACL,iBAAiB,EACjB,0BAA0B,EAC1B,eAAe,EACf,8BAA8B,EAC9B,uBAAuB,GACxB,MAAM,yBAAyB,CAAC;AASjC,8CAA8C;AAC9C,OAAO,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AAC/F,OAAO,EAAE,4BAA4B,EAAE,MAAM,6BAA6B,CAAC;AAC3E,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,EAAE,kCAAkC,EAAE,8BAA8B,EAAE,MAAM,yBAAyB,CAAC;AAE7G,oEAAoE;AACpE,OAAO,EAAE,YAAY,EAAgG,MAAM,oBAAoB,CAAC;AAChJ,OAAO,EAAE,sBAAsB,EAA8B,MAAM,gCAAgC,CAAC;AACpG,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAA4D,MAAM,oBAAoB,CAAC;AAEvI,oGAAoG;AACpG,qGAAqG;AACrG,sCAAsC;AACtC,OAAO,EACL,kBAAkB,EAClB,cAAc,EACd,oBAAoB,EACpB,cAAc,EACd,kBAAkB,EAClB,kBAAkB,EAClB,cAAc,EACd,aAAa,EACb,gBAAgB,GAGjB,MAAM,iBAAiB,CAAC;AAEzB,qGAAqG;AACrG,yFAAyF;AACzF,mFAAmF;AACnF,OAAO,EACL,oBAAoB,EACpB,yBAAyB,EACzB,aAAa,EACb,iBAAiB,GAClB,MAAM,6BAA6B,CAAC;AAGrC,qGAAqG;AACrG,qGAAqG;AACrG,oGAAoG;AACpG,mCAAmC;AACnC,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAqBA,8FAA8F;AAC9F,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAExC,OAAO,EAAE,WAAW,EAAqB,MAAM,aAAa,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACtG,OAAO,EACL,oBAAoB,EACpB,kBAAkB,EAClB,yBAAyB,EACzB,uBAAuB,GAExB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,UAAU,EAA4D,MAAM,mBAAmB,CAAC;AACzG,OAAO,EAAE,eAAe,EAAoF,MAAM,iBAAiB,CAAC;AACpI,OAAO,EAAE,eAAe,EAAkB,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC5E,OAAO,EAAE,cAAc,EAAsB,MAAM,uBAAuB,CAAC;AAC3E,OAAO,EAAE,UAAU,EAA0D,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACvH,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEpE,6DAA6D;AAC7D,OAAO,EACL,iBAAiB,EACjB,0BAA0B,EAC1B,eAAe,EACf,8BAA8B,EAC9B,uBAAuB,GACxB,MAAM,yBAAyB,CAAC;AASjC,8CAA8C;AAC9C,OAAO,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AAC/F,OAAO,EAAE,4BAA4B,EAAE,MAAM,6BAA6B,CAAC;AAC3E,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,EAAE,kCAAkC,EAAE,8BAA8B,EAAE,MAAM,yBAAyB,CAAC;AAE7G,oEAAoE;AACpE,OAAO,EAAE,YAAY,EAAgG,MAAM,oBAAoB,CAAC;AAChJ,OAAO,EAAE,sBAAsB,EAA8B,MAAM,gCAAgC,CAAC;AACpG,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAA4D,MAAM,oBAAoB,CAAC;AAEvI,oGAAoG;AACpG,qGAAqG;AACrG,sCAAsC;AACtC,OAAO,EACL,kBAAkB,EAClB,cAAc,EACd,oBAAoB,EACpB,cAAc,EACd,kBAAkB,EAClB,kBAAkB,EAClB,cAAc,EACd,aAAa,EACb,gBAAgB,GAGjB,MAAM,iBAAiB,CAAC;AAEzB,qGAAqG;AACrG,yFAAyF;AACzF,mFAAmF;AACnF,OAAO,EACL,oBAAoB,EACpB,yBAAyB,EACzB,aAAa,EACb,iBAAiB,GAClB,MAAM,6BAA6B,CAAC;AAGrC,qGAAqG;AACrG,qGAAqG;AACrG,oGAAoG;AACpG,mCAAmC;AACnC,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAGrE,6FAA6F;AAC7F,iFAAiF;AACjF,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC"}
@@ -38,7 +38,11 @@ export interface IpcServerConfig {
38
38
  maxConnections: number;
39
39
  logger: Logger;
40
40
  }
41
- export type IpcDisconnectHandler = (connectionId: string) => void;
41
+ /**
42
+ * Returns context to MERGE into the single `daemon.ipc.disconnected` line — see the close handler.
43
+ * Returning nothing is fine; a second log line from the handler is not (review F8).
44
+ */
45
+ export type IpcDisconnectHandler = (connectionId: string) => Record<string, unknown> | void;
42
46
  export interface IpcServer {
43
47
  start(): Promise<void>;
44
48
  stop(): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"ipc-server.d.ts","sourceRoot":"","sources":["../src/ipc-server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAKH,OAAO,KAAK,EAAE,MAAM,EAA2B,eAAe,EAAE,MAAM,YAAY,CAAC;AAEnF,kGAAkG;AAClG,MAAM,WAAW,aAAa;IAC5B,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAAC;CAC7C;AAED,MAAM,MAAM,UAAU,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,EAAE,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;AAEjH,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,MAAM,oBAAoB,GAAG,CAAC,YAAY,EAAE,MAAM,KAAK,IAAI,CAAC;AAElE,MAAM,WAAW,SAAS;IACxB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACtB,kBAAkB,IAAI,MAAM,CAAC;IAC7B,YAAY,CAAC,OAAO,EAAE,oBAAoB,GAAG,IAAI,CAAC;IAClD,qFAAqF;IACrF,gBAAgB,CAAC,YAAY,EAAE,MAAM,EAAE,YAAY,EAAE,eAAe,GAAG,OAAO,CAAC;IAC/E,wCAAwC;IACxC,gBAAgB,IAAI,MAAM,EAAE,CAAC;CAC9B;AASD,wBAAgB,eAAe,CAC7B,MAAM,EAAE,eAAe;AACvB;;;;GAIG;AACH,QAAQ,EAAE,aAAa,GACtB,SAAS,CA6TX"}
1
+ {"version":3,"file":"ipc-server.d.ts","sourceRoot":"","sources":["../src/ipc-server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAKH,OAAO,KAAK,EAAE,MAAM,EAA2B,eAAe,EAAE,MAAM,YAAY,CAAC;AAEnF,kGAAkG;AAClG,MAAM,WAAW,aAAa;IAC5B,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAAC;CAC7C;AAED,MAAM,MAAM,UAAU,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,EAAE,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;AAEjH,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;GAGG;AACH,MAAM,MAAM,oBAAoB,GAAG,CAAC,YAAY,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;AAE5F,MAAM,WAAW,SAAS;IACxB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACtB,kBAAkB,IAAI,MAAM,CAAC;IAC7B,YAAY,CAAC,OAAO,EAAE,oBAAoB,GAAG,IAAI,CAAC;IAClD,qFAAqF;IACrF,gBAAgB,CAAC,YAAY,EAAE,MAAM,EAAE,YAAY,EAAE,eAAe,GAAG,OAAO,CAAC;IAC/E,wCAAwC;IACxC,gBAAgB,IAAI,MAAM,EAAE,CAAC;CAC9B;AASD,wBAAgB,eAAe,CAC7B,MAAM,EAAE,eAAe;AACvB;;;;GAIG;AACH,QAAQ,EAAE,aAAa,GACtB,SAAS,CA8UX"}
@@ -125,9 +125,20 @@ handlers) {
125
125
  socket.on("close", () => {
126
126
  connections.delete(connectionId);
127
127
  const reason = conn.shutdownReason || "client_closed";
128
- logger.info("daemon.ipc.disconnected", { connectionId, reason });
129
- if (disconnectHandler)
130
- disconnectHandler(connectionId);
128
+ /**
129
+ * ONE LINE, and the handler contributes to it — review F8.
130
+ *
131
+ * `DOD-M15-IPCVISIBLE-1` added a SECOND `daemon.ipc.disconnected` from the daemon's own
132
+ * handler, carrying clientType and the attended agent. Two lines under one event name, with
133
+ * disjoint fields and neither carrying the whole picture — and a naive count doubled, so a
134
+ * shutdown with five clients emitted ten. For a unit whose entire subject is that the log is
135
+ * readable, that is the wrong shape.
136
+ *
137
+ * The handler now RETURNS its context and it is merged here. `reason` lives on this side
138
+ * because only the socket knows it.
139
+ */
140
+ const extra = disconnectHandler ? disconnectHandler(connectionId) : undefined;
141
+ logger.info("daemon.ipc.disconnected", { connectionId, reason, ...(extra ?? {}) });
131
142
  });
132
143
  // Set shutdownReason so the 'close' handler (which always fires after 'error') logs it.
133
144
  // Do NOT call disconnectHandler or log here — 'close' fires immediately after 'error'.
@@ -172,6 +183,11 @@ handlers) {
172
183
  Promise.resolve(handler(request.params, conn.id))
173
184
  .then((result) => {
174
185
  try {
186
+ // `DOD-M15-SELECTION-1`'s fallback notice used to be spread in HERE. It moved up into the
187
+ // daemon's `renderedHandlers` wrapper: this point is downstream of `renderForSurface`, so
188
+ // the notice's own guidance never got translated and a CLI operator was told to run
189
+ // `cello_use_agent`, which is not a command. It also sits outside the request's async
190
+ // context, which is what let a notice ride a concurrent call's response.
175
191
  const resp = { id: request.id, result };
176
192
  conn.socket.write(JSON.stringify(resp) + "\n");
177
193
  }