@cello-protocol/daemon 0.0.141 → 0.0.143

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.
@@ -42,6 +42,15 @@ import { buildDocumentRejectionTbs, documentRejectionHash, encodeDocumentRejecti
42
42
  * convergence, it is a hot loop neither operator can see. Stalling is the visible failure.
43
43
  */
44
44
  export const MAX_REJECTED_ROUNDS = 3;
45
+ /**
46
+ * The placeholder `state_vector` a rejection row carries.
47
+ *
48
+ * ONE ZERO BYTE, not an empty array. See the call site for why: SQLCipher binds a zero-length blob
49
+ * as NULL and the column is NOT NULL, so an empty vector throws on the driver production uses and
50
+ * on no driver the tests use. The value is meaningless by design — a rejection has no state vector —
51
+ * and it is named rather than inlined so nobody "tidies" it back to `new Uint8Array(0)`.
52
+ */
53
+ export const REJECTION_STATE_VECTOR = new Uint8Array([0]);
45
54
  export class DocumentRejections {
46
55
  #store;
47
56
  #logger;
@@ -135,10 +144,25 @@ export class DocumentRejections {
135
144
  docPrevHash: this.#store.lastEnvelopeHashBySender(agentId, documentId, agentId),
136
145
  epochId: 0,
137
146
  signature: envelope.signature,
138
- // The rejection's own state vector — what THIS agent had seen when it refused. Empty is
139
- // honest here: a rejection asserts nothing about document state, and REJECT-1's requirement
140
- // was that the SIGNATURE be real, not that every field be populated for its own sake.
141
- stateVector: new Uint8Array(0),
147
+ // A ONE-BYTE PLACEHOLDER, and it has to be — an empty blob here THREW on the real driver.
148
+ //
149
+ // A rejection asserts nothing about document state, so the honest value is empty, and that is
150
+ // what this was. `node:sqlite` (every unit test) binds a zero-length blob as an empty blob;
151
+ // `@signalapp/sqlcipher` (production) binds it as NULL, which violates
152
+ // `state_vector BLOB NOT NULL` and throws INSIDE this method — before the quarantine is
153
+ // written, before the refusal is signed, before the peer is answered.
154
+ //
155
+ // The cost of that was the whole stall path: the receiver held nothing from the sender, so
156
+ // `knownEnvelopeHashesBySender` returned an empty set and every later envelope was refused
157
+ // `document_chain_broken` forever. One gate refusal permanently broke the document. Four
158
+ // fixes reasoned about the chain-bridging logic, which was correct throughout; the row simply
159
+ // never existed. Pinned by `document-rejection-sqlcipher.test.ts`, which runs on the real
160
+ // driver precisely because a `node:sqlite` test cannot see this by construction.
161
+ //
162
+ // NOT relaxed to a nullable column, which would be the truer schema: SQLCipher is SQLite
163
+ // 3.50.4 and SQLite has never supported dropping NOT NULL in place, so it means a full table
164
+ // rebuild against operators' live document logs — a heavier risk than a documented byte.
165
+ stateVector: REJECTION_STATE_VECTOR,
142
166
  payload: null, // an audit record carries no content
143
167
  kind: "rejection",
144
168
  referencesEnvelopeHash: input.rejectedEnvelopeHash,
@@ -1 +1 @@
1
- {"version":3,"file":"document-rejection.js","sourceRoot":"","sources":["../src/document-rejection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"document-rejection.js","sourceRoot":"","sources":["../src/document-rejection.ts"],"names":[],"mappings":"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"}
@@ -344,6 +344,27 @@ export declare class DocumentStore {
344
344
  createdAtMs: number;
345
345
  }): boolean;
346
346
  /** How many rejections this document has RECEIVED — the publishing side's retry round. */
347
+ /**
348
+ * How many ROUNDS this document has been through — DISTINCT refused envelopes, not rows.
349
+ *
350
+ * ONE REFUSED ENVELOPE IS ONE ROUND, however many times the refusal is announced. A peer's refusal
351
+ * arrives TWICE by design: once as the signed `document_rejection` frame, and once as the ack that
352
+ * settles the delivery (`admitted: false`). Both are recorded — correctly, they are two real
353
+ * events — but the table is keyed on the ANNOUNCEMENT's hash, so the two land as separate rows.
354
+ *
355
+ * Counting rows therefore advanced the round by two per refusal, and `MAX_REJECTED_ROUNDS` is 3 —
356
+ * so a document stalled after TWO refusals instead of three, cutting the supersede-and-retry
357
+ * budget the protocol grants an operator by a third. Measured: the stall enforcer's sender was
358
+ * refused at attempt 2 with `document_stalled`.
359
+ *
360
+ * Counted rather than deduplicated on write, deliberately. Both announcements genuinely happened
361
+ * and the audit record should say so; what was wrong is the arithmetic built on top of it. And a
362
+ * UNIQUE index on the refused hash would fail to create on any database that already holds the
363
+ * duplicate rows this fix is about.
364
+ *
365
+ * Same principle as `ackRecordHash` one layer down — that one collapsed repeated ACKS of one
366
+ * envelope; this collapses the two KINDS of announcement of one refusal.
367
+ */
347
368
  countRejectionsReceived(ownerAgentId: string, documentId: string): number;
348
369
  /**
349
370
  * Was a rejection received for THIS envelope? Envelope-scoped on purpose: the document-scoped
@@ -1 +1 @@
1
- {"version":3,"file":"document-store.d.ts","sourceRoot":"","sources":["../src/document-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"document-store.d.ts","sourceRoot":"","sources":["../src/document-store.ts"],"names":[],"mappings":"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"}
@@ -811,9 +811,30 @@ export class DocumentStore {
811
811
  return Number(info.changes) > 0;
812
812
  }
813
813
  /** How many rejections this document has RECEIVED — the publishing side's retry round. */
814
+ /**
815
+ * How many ROUNDS this document has been through — DISTINCT refused envelopes, not rows.
816
+ *
817
+ * ONE REFUSED ENVELOPE IS ONE ROUND, however many times the refusal is announced. A peer's refusal
818
+ * arrives TWICE by design: once as the signed `document_rejection` frame, and once as the ack that
819
+ * settles the delivery (`admitted: false`). Both are recorded — correctly, they are two real
820
+ * events — but the table is keyed on the ANNOUNCEMENT's hash, so the two land as separate rows.
821
+ *
822
+ * Counting rows therefore advanced the round by two per refusal, and `MAX_REJECTED_ROUNDS` is 3 —
823
+ * so a document stalled after TWO refusals instead of three, cutting the supersede-and-retry
824
+ * budget the protocol grants an operator by a third. Measured: the stall enforcer's sender was
825
+ * refused at attempt 2 with `document_stalled`.
826
+ *
827
+ * Counted rather than deduplicated on write, deliberately. Both announcements genuinely happened
828
+ * and the audit record should say so; what was wrong is the arithmetic built on top of it. And a
829
+ * UNIQUE index on the refused hash would fail to create on any database that already holds the
830
+ * duplicate rows this fix is about.
831
+ *
832
+ * Same principle as `ackRecordHash` one layer down — that one collapsed repeated ACKS of one
833
+ * envelope; this collapses the two KINDS of announcement of one refusal.
834
+ */
814
835
  countRejectionsReceived(ownerAgentId, documentId) {
815
836
  const r = this.#db
816
- .prepare(`SELECT COUNT(*) AS n FROM document_rejections_received
837
+ .prepare(`SELECT COUNT(DISTINCT rejected_envelope_hash) AS n FROM document_rejections_received
817
838
  WHERE owner_agent_id = ? AND document_id = ?`)
818
839
  .get(ownerAgentId, documentId);
819
840
  return r?.n ?? 0;
@@ -1 +1 @@
1
- {"version":3,"file":"document-store.js","sourceRoot":"","sources":["../src/document-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"document-store.js","sourceRoot":"","sources":["../src/document-store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAIH,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAmGvD,wFAAwF;AACxF,MAAM,OAAO,kBAAmB,SAAQ,KAAK;IAClC,MAAM,CAAoD;IAC1D,MAAM,CAAS;IACxB,YAAY,MAAyD,EAAE,MAAc;QACnF,KAAK,CAAC,GAAG,MAAM,KAAK,MAAM,EAAE,CAAC,CAAC;QAC9B,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAC;QACjC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;CACF;AAoBD,MAAM,oBAAoB,GAAG;;;;;;;;;;;CAW5B,CAAC;AAEF,MAAM,oBAAoB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8D5B,CAAC;AAEF;;;;;;;;;;GAUG;AACH,MAAM,qBAAqB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2B7B,CAAC;AAEF;;;;;;;;;GASG;AACH,MAAM,8BAA8B,GAAG;;;;;;;;;;;;;CAatC,CAAC;AAEF,wFAAwF;AACxF,MAAM,sBAAsB,GAAG;;;;;;;;CAQ9B,CAAC;AAEF,MAAM,oBAAoB,GAAG;;;;;;;;;;CAU5B,CAAC;AAEF,MAAM,OAAO,aAAa;IACf,GAAG,CAAiB;IACpB,OAAO,CAAS;IAEzB;;;;;OAKG;IACH,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,GAAG,CAAC;IAClB,CAAC;IAED,YAAY,EAAkB,EAAE,MAAc;QAC5C,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;QACd,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QACpC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QACpC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QACrC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;QAC9C,+FAA+F;QAC/F,6FAA6F;QAC7F,4FAA4F;QAC5F,4FAA4F;QAC5F,qCAAqC;QACrC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;QACtC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QACpC,yFAAyF;QACzF,6FAA6F;QAC7F,6FAA6F;QAC7F,aAAa;QACb,kBAAkB,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,OAAO,EAAE;YACzC,KAAK,EAAE,oBAAoB;YAC3B,MAAM,EAAE,cAAc;YACtB,GAAG,EAAE,gEAAgE;SACtE,CAAC,CAAC;QACH,4EAA4E;QAC5E,IAAI,CAAC,GAAG,CAAC,IAAI,CACX,wHAAwH,CACzH,CAAC;IACJ,CAAC;IAED,6EAA6E;IAE7E,cAAc,CAAC,GAAgB;QAC7B,IAAI,CAAC,GAAG;aACL,OAAO;QACN,wFAAwF;QACxF,uFAAuF;QACvF,0EAA0E;QAC1E;;;8DAGsD,CACvD;aACA,GAAG,CACF,GAAG,CAAC,YAAY,EAChB,GAAG,CAAC,UAAU,EACd,GAAG,CAAC,WAAW,EACf,GAAG,CAAC,YAAY,EAChB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,EAC9B,GAAG,CAAC,MAAM,EACV,GAAG,CAAC,WAAW,CAChB,CAAC;IACN,CAAC;IAED,WAAW,CAAC,YAAoB,EAAE,UAAkB;QAClD,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG;aACf,OAAO,CAAC,sEAAsE,CAAC;aAC/E,GAAG,CAAC,YAAY,EAAE,UAAU,CAAwC,CAAC;QACxE,OAAO,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACrC,CAAC;IAED;;;;;;OAMG;IACH,iBAAiB;QACf,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,iCAAiC,CAAC,CAAC,GAAG,EAAE,KAAK,SAAS,CAAC;IACjF,CAAC;IAED,aAAa,CAAC,YAAoB;QAChC,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG;aAClB,OAAO,CAAC,0EAA0E,CAAC;aACnF,GAAG,CAAC,YAAY,CAAmC,CAAC;QACvD,OAAO,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IACjC,CAAC;IAED,iBAAiB,CAAC,YAAoB,EAAE,UAAkB,EAAE,MAAsB;QAChF,IAAI,CAAC,GAAG;aACL,OAAO,CAAC,8EAA8E,CAAC;aACvF,GAAG,CAAC,MAAM,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC;IAC3C,CAAC;IAED,6EAA6E;IAE7E;;;;;;;;;;;;;OAaG;IACH,cAAc,CAAC,YAAoB,EAAE,QAA6B;QAChE,+FAA+F;QAC/F,6FAA6F;QAC7F,6FAA6F;QAC7F,oFAAoF;QACpF,4FAA4F;QAC5F,IAAI,IAAI,CAAC;QACT,IAAI,CAAC;YACH,IAAI,GAAG,IAAI,CAAC,GAAG;iBACd,OAAO,CACN;;;;;;;6EAOqE,CACtE;iBACA,GAAG,CACF,YAAY,EACZ,QAAQ,CAAC,UAAU,EACnB,QAAQ,CAAC,YAAY,EACrB,QAAQ,CAAC,aAAa,EACtB,QAAQ,CAAC,WAAW,EACpB,QAAQ,CAAC,OAAO,EAChB,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAC/B,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,EACjC,QAAQ,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAChE,QAAQ,CAAC,IAAI,EACb,QAAQ,CAAC,sBAAsB,IAAI,IAAI,EACvC,QAAQ,CAAC,cAAc,IAAI,IAAI,EAC/B,QAAQ,CAAC,WAAW,EACpB,YAAY,EACZ,QAAQ,CAAC,UAAU,CACpB,CAAC;QACJ,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACtB,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACjE,yFAAyF;YACzF,4FAA4F;YAC5F,wFAAwF;YACxF,IAAI,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;gBACpC,MAAM,IAAI,KAAK,CACb,2CAA2C,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,eAAe;oBACxF,SAAS,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,qDAAqD,CAC1F,CAAC;YACJ,CAAC;YACD,MAAM,GAAG,CAAC;QACZ,CAAC;QACD,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAClC,CAAC;IAED;;;;OAIG;IACH,iBAAiB,CAAC,YAAoB,EAAE,UAAkB,EAAE,SAAiB;QAC3E,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG;aAClB,OAAO,CACN;;iCAEyB,CAC1B;aACA,GAAG,CAAC,YAAY,EAAE,UAAU,EAAE,SAAS,CAAmC,CAAC;QAC9E,OAAO,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IACjC,CAAC;IAED,cAAc,CAAC,YAAoB,EAAE,UAAkB;QACrD,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG;aAClB,OAAO,CACN;8EACsE,CACvE;aACA,GAAG,CAAC,YAAY,EAAE,UAAU,CAAmC,CAAC;QACnE,OAAO,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IACjC,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,kBAAkB,CAAC,YAAoB,EAAE,UAAkB;QACzD,MAAM,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;QAE1D,8FAA8F;QAC9F,8FAA8F;QAC9F,6FAA6F;QAC7F,6FAA6F;QAC7F,6FAA6F;QAC7F,EAAE;QACF,2FAA2F;QAC3F,wFAAwF;QACxF,MAAM,KAAK,GAA0B,IAAI,CAAC,eAAe,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC9F,YAAY,EAAE,CAAC,CAAC,oBAAoB;YACpC,UAAU,EAAE,CAAC,CAAC,UAAU;YACxB,aAAa,EAAE,CAAC,CAAC,qBAAqB;YACtC,WAAW,EAAE,CAAC,CAAC,mBAAmB;YAClC,OAAO,EAAE,CAAC;YACV,SAAS,EAAE,IAAI,UAAU,CAAC,CAAC,CAAC;YAC5B,WAAW,EAAE,IAAI,UAAU,CAAC,CAAC,CAAC;YAC9B,OAAO,EAAE,IAAI;YACb,IAAI,EAAE,WAAW;YACjB,sBAAsB,EAAE,IAAI;YAC5B,WAAW,EAAE,CAAC,CAAC,WAAW;SAC3B,CAAC,CAAC,CAAC;QACJ,8FAA8F;QAC9F,+BAA+B;QAC/B,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;QACnC,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAiC,CAAC;QAC1D,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC;gBAAE,SAAS;YAC9C,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAChC,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAC9C,IAAI,IAAI;gBAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;;gBACrB,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;QAChD,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,GAAG,EAAE,CAAC;YACpB,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;YAC3C,IAAI,IAAI;gBAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;;gBAClB,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1C,CAAC;QAED,KAAK,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,IAAI,QAAQ,EAAE,CAAC;YAC3C,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;YAC9D,MAAM,OAAO,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,KAAK,IAAI,CAAC,CAAC;YAChE,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACzB,OAAO;oBACL,EAAE,EAAE,KAAK;oBACT,MAAM,EAAE,uBAAuB;oBAC/B,MAAM,EACJ,UAAU,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,OAAO,CAAC,MAAM,kCAAkC;wBACtF,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,6BAA6B;iBAC1D,CAAC;YACJ,CAAC;YACD,2FAA2F;YAC3F,kDAAkD;YAClD,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;gBAC1B,IAAI,CAAC,CAAC,WAAW,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC;oBAC1D,OAAO;wBACL,EAAE,EAAE,KAAK;wBACT,MAAM,EAAE,uBAAuB;wBAC/B,MAAM,EACJ,UAAU,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa;4BACnF,GAAG,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,wDAAwD;4BACrF,oFAAoF;4BACpF,WAAW;qBACd,CAAC;gBACJ,CAAC;YACH,CAAC;YAED,yFAAyF;YACzF,wFAAwF;YACxF,4FAA4F;YAC5F,0FAA0F;YAC1F,wFAAwF;YACxF,sFAAsF;YACtF,YAAY;YACZ,MAAM,OAAO,GAAG,IAAI,GAAG,EAAiC,CAAC;YACzD,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;gBAC1B,IAAI,CAAC,CAAC,WAAW,KAAK,IAAI;oBAAE,SAAS;gBACrC,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;gBAC5C,IAAI,QAAQ;oBAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;;oBAC1B,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YACvC,CAAC;YACD,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;YAClC,IAAI,MAAM,GAAoC,OAAO,CAAC,CAAC,CAAE,CAAC;YAC1D,OAAO,MAAM,EAAE,CAAC;gBACd,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC;oBAAE,MAAM,CAAC,4CAA4C;gBACzF,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;gBACjC,MAAM,QAAQ,GAA0B,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;gBAC/E,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACxB,OAAO;wBACL,EAAE,EAAE,KAAK;wBACT,MAAM,EAAE,uBAAuB;wBAC/B,MAAM,EACJ,UAAU,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,QAAQ,CAAC,MAAM,kCAAkC;4BACvF,GAAG,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,8BAA8B;qBACpE,CAAC;gBACJ,CAAC;gBACD,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YACvB,CAAC;YACD,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC,MAAM,EAAE,CAAC;gBACtC,OAAO;oBACL,EAAE,EAAE,KAAK;oBACT,MAAM,EAAE,uBAAuB;oBAC/B,MAAM,EACJ,UAAU,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,SAAS,CAAC,MAAM,GAAG,OAAO,CAAC,IAAI,aAAa;wBAClF,6CAA6C,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,iBAAiB;wBACrF,8BAA8B;iBACjC,CAAC;YACJ,CAAC;QACH,CAAC;QACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;IACtB,CAAC;IAED,6EAA6E;IAE7E;;;;;;;OAOG;IACH,eAAe,CAAC,YAAoB,EAAE,GAAkB;QACtD,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG;aAClB,OAAO,CACN;;;;;uFAK+E,CAChF;aACA,GAAG,CACF,YAAY,EACZ,GAAG,CAAC,UAAU,EACd,GAAG,CAAC,qBAAqB,EACzB,GAAG,CAAC,oBAAoB,EACxB,GAAG,CAAC,qBAAqB,EACzB,GAAG,CAAC,mBAAmB,EACvB,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,EACxB,GAAG,CAAC,MAAM,EACV,GAAG,CAAC,MAAM,IAAI,IAAI,EAClB,GAAG,CAAC,IAAI,IAAI,IAAI,EAChB,GAAG,CAAC,SAAS,IAAI,IAAI,EACrB,GAAG,CAAC,UAAU,IAAI,IAAI,EACtB,GAAG,CAAC,WAAW,IAAI,IAAI,EACvB,GAAG,CAAC,WAAW,CAChB,CAAC;QACJ,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAClC,CAAC;IAED,eAAe,CAAC,YAAoB,EAAE,UAAkB;QACtD,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG;aAClB,OAAO;QACN,yFAAyF;QACzF,0FAA0F;QAC1F,sEAAsE;QACtE;;6CAEqC,CACtC;aACA,GAAG,CAAC,YAAY,EAAE,UAAU,CAAmC,CAAC;QACnE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACtB,UAAU,EAAE,CAAC,CAAC,aAAa,CAAW;YACtC,qBAAqB,EAAE,CAAC,CAAC,yBAAyB,CAAW;YAC7D,oBAAoB,EAAE,CAAC,CAAC,wBAAwB,CAAW;YAC3D,qBAAqB,EAAE,CAAC,CAAC,0BAA0B,CAAW;YAC9D,mBAAmB,EAAG,CAAC,CAAC,wBAAwB,CAAmB,IAAI,IAAI;YAC3E,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAC3B,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAW;YAC7B,MAAM,EAAG,CAAC,CAAC,QAAQ,CAAmB,IAAI,SAAS;YACnD,IAAI,EAAG,CAAC,CAAC,MAAM,CAAmB,IAAI,SAAS;YAC/C,SAAS,EAAG,CAAC,CAAC,YAAY,CAAmB,IAAI,SAAS;YAC1D,UAAU,EAAG,CAAC,CAAC,aAAa,CAAmB,IAAI,SAAS;YAC5D,WAAW,EAAG,CAAC,CAAC,cAAc,CAAmB,IAAI,SAAS;YAC9D,WAAW,EAAE,CAAC,CAAC,YAAY,CAAW;SACvC,CAAC,CAAC,CAAC;IACN,CAAC;IAED;;;;OAIG;IACH,kBAAkB,CAAC,YAAoB,EAAE,UAAkB,EAAE,oBAA4B;QACvF,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG;aAClB,OAAO,CACN;sFAC8E,CAC/E;aACA,GAAG,CAAC,YAAY,EAAE,UAAU,EAAE,oBAAoB,CAAC,CAAC;QACvD,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAClC,CAAC;IAED;;;;OAIG;IACH,2BAA2B,CACzB,YAAoB,EACpB,UAAkB,EAClB,aAAqB;QAErB,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG;aAClB,OAAO;QACN,iDAAiD;QACjD,EAAE;QACF,yFAAyF;QACzF,0FAA0F;QAC1F,qFAAqF;QACrF,4FAA4F;QAC5F,0FAA0F;QAC1F,yCAAyC;QACzC,EAAE;QACF,uFAAuF;QACvF,yFAAyF;QACzF,wFAAwF;QACxF,+DAA+D;QAC/D,EAAE;QACF,uFAAuF;QACvF,uCAAuC;QACvC;;;;wFAIgF,CACjF;aACA,GAAG,CAAC,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,CAEnF,CAAC;QACL,OAAO,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC;IACnD,CAAC;IAED,4FAA4F;IAC5F,kBAAkB,CAAC,YAAoB,EAAE,UAAkB,EAAE,aAAqB;QAChF,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG;aAClB,OAAO,CACN;;6CAEqC,CACtC;aACA,GAAG,CAAC,YAAY,EAAE,UAAU,EAAE,aAAa,CAAwC,CAAC;QACvF,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC;IAC7C,CAAC;IAED;;;;;;;OAOG;IACH,eAAe,CAAC,YAAoB,EAAE,UAAkB,EAAE,WAAmB;QAC3E,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG;aACf,OAAO,CACN;;0CAEkC,CACnC;aACA,GAAG,CAAC,YAAY,EAAE,UAAU,EAAE,WAAW,CAA2C,CAAC;QACxF,OAAO,CAAC,EAAE,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;IACrE,CAAC;IAED;;;;;;;OAOG;IACH,wBAAwB,CACtB,YAAoB,EACpB,UAAkB,EAClB,aAAqB;QAErB,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG;aACf,OAAO,CACN;;0CAEkC,CACnC;aACA,GAAG,CAAC,YAAY,EAAE,UAAU,EAAE,aAAa,CAA2C,CAAC;QAC1F,OAAO,CAAC,EAAE,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;IACrE,CAAC;IAED,uFAAuF;IACvF;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,wBAAwB,CAAC,YAAoB,EAAE,UAAkB,EAAE,aAAqB;QACtF,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG;aACtB,OAAO,CACN;;0CAEkC,CACnC;aACA,GAAG,CAAC,YAAY,EAAE,UAAU,EAAE,aAAa,CAEjC,CAAC;QACd,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG;aACrB,OAAO,CACN;;2CAEmC,CACpC;aACA,GAAG,CAAC,YAAY,EAAE,UAAU,EAAE,aAAa,CAEjC,CAAC;QAEd,IAAI,CAAC,OAAO,EAAE,aAAa;YAAE,OAAO,QAAQ,EAAE,aAAa,IAAI,IAAI,CAAC;QACpE,IAAI,CAAC,QAAQ,EAAE,aAAa;YAAE,OAAO,OAAO,CAAC,aAAa,CAAC;QAC3D,OAAO,CAAC,OAAO,CAAC,UAAU,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,IAAI,CAAC,CAAC;YAC5D,CAAC,CAAC,OAAO,CAAC,aAAa;YACvB,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC;IAC7B,CAAC;IAED,6EAA6E;IAE7E;;;;;;OAMG;IACH,iBAAiB,CACf,YAAoB,EACpB,KAAa;IACb;;;;;;;;;;OAUG;IACH,gBAAwB,YAAY,EACpC,KAAK,GAAG,GAAG;QAEX,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG;aAClB,OAAO,CACN;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6EAyCqE,CACtE;aACA,GAAG,CAAC,YAAY,EAAE,aAAa,EAAE,KAAK,EAAE,KAAK,CAAmC,CAAC;QACpF,OAAO,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IACjC,CAAC;IAED,4FAA4F;IAC5F,qBAAqB,CACnB,YAAoB,EACpB,UAAkB,EAClB,YAAoB,EACpB,eAAuB;QAEvB,IAAI,CAAC,GAAG;aACL,OAAO,CACN;;6EAEqE,CACtE;aACA,GAAG,CAAC,eAAe,EAAE,YAAY,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC;QAChE,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG;aACf,OAAO,CACN;6EACqE,CACtE;aACA,GAAG,CAAC,YAAY,EAAE,UAAU,EAAE,YAAY,CAAsC,CAAC;QACpF,OAAO,CAAC,EAAE,QAAQ,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED,iFAAiF;IACjF,aAAa,CACX,YAAoB,EACpB,UAAkB,EAClB,YAAoB,EACpB,KAAa;QAEb,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG;aAClB,OAAO,CACN;6EACqE,CACtE;aACA,GAAG,CAAC,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC;QACtD,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAClC,CAAC;IAED,iGAAiG;IACjG;;;;;;OAMG;IACH,cAAc,CAAC,YAAoB,EAAE,UAAkB;QACrD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG;aACjB,OAAO,CACN;4GACoG,CACrG;aACA,GAAG,CAAC,YAAY,EAAE,UAAU,EAAE,YAAY,CAA+B,CAAC;QAC7E,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;IACrB,CAAC;IAED;;;;;;;OAOG;IACH,eAAe,CAAC,YAAoB,EAAE,YAAoB;QACxD,OAAO,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE,YAAY,CAAC,KAAK,IAAI,CAAC;IACtE,CAAC;IAED;;;;;;;;OAQG;IACH,kBAAkB,CAAC,YAAoB,EAAE,YAAoB;QAC3D,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG;aACjB,OAAO,CACN;0FACkF,CACnF;aACA,GAAG,CAAC,YAAY,EAAE,YAAY,CAAyC,CAAC;QAC3E,IAAI,GAAG,EAAE,WAAW,KAAK,SAAS;YAAE,OAAO,IAAI,CAAC;QAChD,OAAO,EAAE,QAAQ,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC,YAAY,EAAE,GAAG,CAAC,WAAW,EAAE,YAAY,CAAC,EAAE,CAAC;IAC/F,CAAC;IAED;;;OAGG;IACH,aAAa,CACX,YAAoB,EACpB,UAAkB,EAClB,YAAoB,EACpB,KAAa;QAEb,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG;aAClB,OAAO,CACN;;0DAEkD,CACnD;aACA,GAAG,CAAC,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC;QACtD,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAClC,CAAC;IAED,SAAS,CACP,YAAoB,EACpB,UAAkB,EAClB,YAAoB,EACpB,KAAa;QAEb,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG;aAClB,OAAO,CACN;kGAC0F,CAC3F;aACA,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC;QAC7D,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAClC,CAAC;IAED,mGAAmG;IACnG,uBAAuB,CACrB,YAAoB,EACpB,GAQC;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG;aAClB,OAAO,CACN;;;;uFAI+E,CAChF;aACA,GAAG,CACF,YAAY,EACZ,GAAG,CAAC,UAAU,EACd,GAAG,CAAC,qBAAqB,EACzB,GAAG,CAAC,oBAAoB,EACxB,GAAG,CAAC,WAAW,EACf,GAAG,CAAC,MAAM,EACV,GAAG,CAAC,MAAM,IAAI,IAAI,EAClB,GAAG,CAAC,WAAW,CAChB,CAAC;QACJ,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAClC,CAAC;IAED,0FAA0F;IAC1F;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,uBAAuB,CAAC,YAAoB,EAAE,UAAkB;QAC9D,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG;aACf,OAAO,CACN;uDAC+C,CAChD;aACA,GAAG,CAAC,YAAY,EAAE,UAAU,CAA+B,CAAC;QAC/D,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;IACnB,CAAC;IAED;;;;;OAKG;IACH,oBAAoB,CAAC,YAAoB,EAAE,UAAkB,EAAE,YAAoB;QACjF,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG;aACf,OAAO,CACN;8FACsF,CACvF;aACA,GAAG,CAAC,YAAY,EAAE,UAAU,EAAE,YAAY,CAAqC,CAAC;QACnF,OAAO,CAAC,EAAE,OAAO,KAAK,CAAC,CAAC;IAC1B,CAAC;IAED,4FAA4F;IAC5F,uBAAuB,CACrB,YAAoB,EACpB,UAAkB;QAElB,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG;aACf,OAAO,CACN;oGAC4F,CAC7F;aACA,GAAG,CAAC,YAAY,EAAE,UAAU,CAAwC,CAAC;QACxE,IAAI,CAAC,CAAC;YAAE,OAAO,IAAI,CAAC;QACpB,OAAO;YACL,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAW;YAC7B,MAAM,EAAG,CAAC,CAAC,QAAQ,CAAmB,IAAI,SAAS;YACnD,WAAW,EAAE,CAAC,CAAC,eAAe,CAAW;SAC1C,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACH,eAAe,CAAC,YAAoB,EAAE,UAAkB,EAAE,gBAAwB;QAChF,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG;aACf,OAAO,CACN;;oCAE4B,CAC7B;aACA,GAAG,CAAC,YAAY,EAAE,UAAU,EAAE,gBAAgB,CAA+B,CAAC;QACjF,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;IACnB,CAAC;IAED,6EAA6E;IAE7E,WAAW,CAAC,YAAoB,EAAE,UAAkB;QAClD,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG;aACf,OAAO,CAAC,+EAA+E,CAAC;aACxF,GAAG,CAAC,YAAY,EAAE,UAAU,CAAwC,CAAC;QACxE,IAAI,CAAC,CAAC;YAAE,OAAO,IAAI,CAAC;QACpB,OAAO;YACL,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YACzB,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;YACpC,gBAAgB,EAAE,CAAC,CAAC,oBAAoB,CAAW;SACpD,CAAC;IACJ,CAAC;IAED,qEAAqE;IACrE,WAAW,CAAC,YAAoB,EAAE,UAAkB,EAAE,QAA0B;QAC9E,IAAI,CAAC,GAAG;aACL,OAAO,CACN;;gCAEwB,CACzB;aACA,GAAG,CACF,YAAY,EACZ,UAAU,EACV,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAC5B,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,EACjC,QAAQ,CAAC,gBAAgB,CAC1B,CAAC;IACN,CAAC;IAED,cAAc,CAAC,YAAoB,EAAE,UAAkB;QACrD,IAAI,CAAC,GAAG;aACL,OAAO,CAAC,6EAA6E,CAAC;aACtF,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;IACnC,CAAC;IAED;;;;;;OAMG;IACH,eAAe,CAAC,YAAoB,EAAE,UAAkB,EAAE,MAAgB;QACxE,2FAA2F;QAC3F,2FAA2F;QAC3F,uFAAuF;QACvF,6CAA6C;QAC7C,MAAM,OAAO,GAAG,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;QAClE,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC;YAChB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,uBAAuB,EAAE;gBACzC,UAAU;gBACV,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,MAAM,EAAE,OAAO,CAAC,MAAM;aACvB,CAAC,CAAC;YACH,MAAM,IAAI,kBAAkB,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;QAC/D,CAAC;QAED,MAAM,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;QAC1D,uFAAuF;QACvF,4FAA4F;QAC5F,8FAA8F;QAC9F,2FAA2F;QAC3F,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QAC5C,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,2BAA2B,EAAE;YAC7C,UAAU;YACV,SAAS,EAAE,GAAG,CAAC,MAAM;YACrB,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,MAAM;SAC1D,CAAC,CAAC;QACH,8FAA8F;QAC9F,yEAAyE;QACzE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,gBAAgB,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,IAAI,CAAC,CAAC,EAAE,CAAC;IAC/E,CAAC;CAIF;AAED,SAAS,aAAa,CAAC,CAA0B;IAC/C,OAAO;QACL,UAAU,EAAE,CAAC,CAAC,aAAa,CAAW;QACtC,YAAY,EAAE,CAAC,CAAC,gBAAgB,CAAW;QAC3C,WAAW,EAAE,CAAC,CAAC,eAAe,CAAW;QACzC,YAAY,EAAE,CAAC,CAAC,eAAe,CAAW;QAC1C,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,CAAW,CAAuB;QACvE,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAmB;QACrC,WAAW,EAAE,CAAC,CAAC,YAAY,CAAW;KACvC,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,CAA0B;IAC/C,MAAM,OAAO,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC;IAC7B,OAAO;QACL,YAAY,EAAE,CAAC,CAAC,eAAe,CAAW;QAC1C,UAAU,EAAE,CAAC,CAAC,aAAa,CAAW;QACtC,aAAa,EAAE,CAAC,CAAC,iBAAiB,CAAW;QAC7C,WAAW,EAAG,CAAC,CAAC,eAAe,CAAmB,IAAI,IAAI;QAC1D,OAAO,EAAE,CAAC,CAAC,UAAU,CAAW;QAChC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;QAC/B,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;QACpC,OAAO,EAAE,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC;QACzE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAyB;QACvC,cAAc,EAAG,CAAC,CAAC,kBAAkB,CAAmB,IAAI,IAAI;QAChE,sBAAsB,EAAG,CAAC,CAAC,iBAAiB,CAAmB,IAAI,IAAI;QACvE,WAAW,EAAE,CAAC,CAAC,YAAY,CAAW;QACtC,QAAQ,EAAE,CAAC,CAAC,WAAW,CAAW;QAClC,aAAa,EAAG,CAAC,CAAC,cAAc,CAAmB,IAAI,IAAI;QAC3D,SAAS,EAAG,CAAC,CAAC,UAAU,CAAmB,IAAI,IAAI;QACnD,QAAQ,EAAG,CAAC,CAAC,UAAU,CAAmB,IAAI,CAAC;QAC/C,eAAe,EAAG,CAAC,CAAC,iBAAiB,CAAmB,IAAI,IAAI;KACjE,CAAC;AACJ,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,IAAI,CAAC,CAAU;IACtB,IAAI,CAAC,YAAY,UAAU;QAAE,OAAO,CAAC,CAAC;IACtC,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;QAAE,OAAO,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC;IACjD,IAAI,CAAC,YAAY,WAAW;QAAE,OAAO,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC;IACvD,MAAM,IAAI,KAAK,CACb,2DAA2D,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAC5F,CAAC;AACJ,CAAC"}
@@ -0,0 +1,63 @@
1
+ /**
2
+ * DOD-TERMINAL-STATE-DIVERGENCE-1 — ask the directory for a seal certificate we were never pushed.
3
+ *
4
+ * `session_sealed` is pushed ONCE, over this agent's authenticated directory signaling stream. If
5
+ * that stream is down at the instant the directory pushes, the frame is gone: the directory's
6
+ * re-delivery queue is per-node while clients roam across nodes, so reconnecting elsewhere drains an
7
+ * empty queue. The session IS notarized and the counterparty holds a receipt; this side holds an
8
+ * `interrupted` row and — before this module — could never produce one.
9
+ *
10
+ * The result was a deadlock of two individually-true answers. `cello_close_session` reported
11
+ * `session_already_sealed`; `cello_sealed_receipt` reported `not_sealed_yet`; each pointed at the
12
+ * other, and the only exit an operator found was a force-abandon that PERMANENTLY forfeited this
13
+ * side's half of a receipt that existed on the counterparty's.
14
+ *
15
+ * THE DIRECTORY IS NOT TRUSTED HERE. A pulled certificate is recorded only if
16
+ * `verifyBilateralSealCertificate` accepts it — the same verifier, over the same TBS, that the push
17
+ * path runs. A directory that altered `legibility` or `leaf_count` changes the hash and the FROST
18
+ * signature fails. That is what makes serving this from ANY node safe, and it is why the pull adds
19
+ * no new trust in the directory even though it adds a new thing to ask it.
20
+ */
21
+ import { SignalingManager } from "@cello-protocol/transport";
22
+ import type { DaemonRegistrationPersistence } from "./registration-persistence.js";
23
+ import type { SessionNodeManager } from "./session-node-manager.js";
24
+ import type { Logger } from "./types.js";
25
+ export interface SealCertificatePullDeps {
26
+ logger: Logger;
27
+ sessionNodeManager: SessionNodeManager;
28
+ signalingFor: (agentName: string) => SignalingManager | undefined;
29
+ sendOver: (agentName: string, frame: Record<string, unknown>) => Promise<{
30
+ ok: boolean;
31
+ reason?: string;
32
+ }>;
33
+ getPersistence: (agentName: string) => DaemonRegistrationPersistence;
34
+ getAgentPubkeyHex: (agentName: string) => string | undefined;
35
+ }
36
+ export type SealCertificatePullResult = {
37
+ ok: true;
38
+ rootHex: string;
39
+ }
40
+ /**
41
+ * `reason` is never collapsed. Each of these sends the caller somewhere different, and the whole
42
+ * defect class this unit belongs to is exit-point labels standing in for causes:
43
+ * no_signaling — this daemon has no stream to ask over (not a statement about the seal)
44
+ * send_failed — the request never left
45
+ * timeout — no answer within the bound
46
+ * not_found — the directory has no VERIFIABLE certificate for us on this session
47
+ * verification_failed — a certificate arrived and did NOT verify. Never recorded. This is the
48
+ * one that means something is wrong rather than merely absent.
49
+ */
50
+ | {
51
+ ok: false;
52
+ reason: "no_signaling" | "send_failed" | "timeout" | "not_found" | "verification_failed";
53
+ detail?: string;
54
+ };
55
+ /**
56
+ * Pull, verify and record the certificate for one session. Returns the sealed root on success.
57
+ *
58
+ * Idempotent by construction: recording a certificate we already hold is a no-op at the store, and
59
+ * the caller is expected to check for a local certificate first — this is the path for when there
60
+ * is none.
61
+ */
62
+ export declare function pullSealCertificate(deps: SealCertificatePullDeps, agentName: string, sessionIdHex: string): Promise<SealCertificatePullResult>;
63
+ //# sourceMappingURL=seal-certificate-pull.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"seal-certificate-pull.d.ts","sourceRoot":"","sources":["../src/seal-certificate-pull.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAE7D,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,+BAA+B,CAAC;AACnF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAKzC,MAAM,WAAW,uBAAuB;IACtC,MAAM,EAAE,MAAM,CAAC;IACf,kBAAkB,EAAE,kBAAkB,CAAC;IACvC,YAAY,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,gBAAgB,GAAG,SAAS,CAAC;IAClE,QAAQ,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC;QAAE,EAAE,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC3G,cAAc,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,6BAA6B,CAAC;IACrE,iBAAiB,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;CAC9D;AAED,MAAM,MAAM,yBAAyB,GACjC;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE;AAC/B;;;;;;;;;GASG;GACD;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,cAAc,GAAG,aAAa,GAAG,SAAS,GAAG,WAAW,GAAG,qBAAqB,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAa7H;;;;;;GAMG;AACH,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,uBAAuB,EAC7B,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,yBAAyB,CAAC,CAkIpC"}
@@ -0,0 +1,136 @@
1
+ import { verifyBilateralSealCertificate } from "./session-ceremony.js";
2
+ /** Bounded so a close or a receipt read cannot hang on a directory that never answers. */
3
+ const SEAL_CERTIFICATE_PULL_TIMEOUT_MS = 10_000;
4
+ function toU8(v) {
5
+ if (v instanceof Uint8Array)
6
+ return v;
7
+ if (Buffer.isBuffer(v))
8
+ return new Uint8Array(v);
9
+ return null;
10
+ }
11
+ /**
12
+ * Pull, verify and record the certificate for one session. Returns the sealed root on success.
13
+ *
14
+ * Idempotent by construction: recording a certificate we already hold is a no-op at the store, and
15
+ * the caller is expected to check for a local certificate first — this is the path for when there
16
+ * is none.
17
+ */
18
+ export async function pullSealCertificate(deps, agentName, sessionIdHex) {
19
+ const { logger, sessionNodeManager, signalingFor, sendOver, getPersistence, getAgentPubkeyHex } = deps;
20
+ const mgr = signalingFor(agentName);
21
+ if (!mgr) {
22
+ // NOT a statement about the seal. Saying "not found" here would tell an operator their
23
+ // conversation was never sealed because their own daemon had no stream — a false claim of the
24
+ // exact kind this line exists to remove.
25
+ return { ok: false, reason: "no_signaling" };
26
+ }
27
+ const sessionIdBytes = Uint8Array.from(Buffer.from(sessionIdHex, "hex"));
28
+ const answer = await new Promise((resolve) => {
29
+ const timeoutHandle = setTimeout(() => {
30
+ unregister();
31
+ resolve({ type: "timeout" });
32
+ }, SEAL_CERTIFICATE_PULL_TIMEOUT_MS);
33
+ const unregister = mgr.registerInboundHandler((frame) => {
34
+ if (frame.type !== "seal_certificate" && frame.type !== "seal_certificate_error")
35
+ return;
36
+ // Scope to THIS session — a concurrent pull for another session must not resolve this one.
37
+ const sid = toU8(frame["session_id"]);
38
+ if (!sid || Buffer.from(sid).toString("hex") !== sessionIdHex)
39
+ return;
40
+ clearTimeout(timeoutHandle);
41
+ unregister();
42
+ if (frame.type === "seal_certificate") {
43
+ resolve({ type: "seal_certificate", frame: frame });
44
+ }
45
+ else {
46
+ resolve({ type: "seal_certificate_error", reason: typeof frame["reason"] === "string" ? frame["reason"] : "unknown" });
47
+ }
48
+ });
49
+ void sendOver(agentName, { type: "seal_certificate_request", session_id: sessionIdBytes }).then((r) => {
50
+ if (r.ok)
51
+ return;
52
+ clearTimeout(timeoutHandle);
53
+ unregister();
54
+ resolve({ type: "seal_certificate_error", reason: `send_failed:${r.reason ?? "unknown"}` });
55
+ });
56
+ });
57
+ if (answer.type === "timeout") {
58
+ logger.warn("seal.certificate.pull.timeout", { agentName, sessionId: sessionIdHex });
59
+ return { ok: false, reason: "timeout" };
60
+ }
61
+ if (answer.type === "seal_certificate_error") {
62
+ if (answer.reason.startsWith("send_failed")) {
63
+ logger.warn("seal.certificate.pull.send_failed", { agentName, sessionId: sessionIdHex, reason: answer.reason });
64
+ return { ok: false, reason: "send_failed", detail: answer.reason };
65
+ }
66
+ logger.info("seal.certificate.pull.not_found", { agentName, sessionId: sessionIdHex, reason: answer.reason });
67
+ return { ok: false, reason: "not_found", detail: answer.reason };
68
+ }
69
+ const f = answer.frame;
70
+ const sealedRoot = toU8(f["sealed_root"]);
71
+ const frostSignature = toU8(f["frost_signature"]);
72
+ const signerPubkey = toU8(f["signer_pubkey"]);
73
+ const leafCount = typeof f["leaf_count"] === "number" ? f["leaf_count"] : null;
74
+ const closeTsRaw = f["close_timestamp"];
75
+ const closeTimestamp = typeof closeTsRaw === "number" ? closeTsRaw : typeof closeTsRaw === "bigint" ? Number(closeTsRaw) : null;
76
+ if (!sealedRoot || !frostSignature || !signerPubkey || leafCount === null || closeTimestamp === null) {
77
+ // A certificate missing a TBS field cannot be verified, so it cannot be recorded. Refusing is
78
+ // the only safe answer — recording it unverified is precisely the trust the pull must not add.
79
+ logger.error("seal.certificate.pull.malformed", {
80
+ agentName, sessionId: sessionIdHex,
81
+ reason: "missing_certificate_fields",
82
+ });
83
+ return { ok: false, reason: "verification_failed", detail: "missing_certificate_fields" };
84
+ }
85
+ const agentPubkeyHex = getAgentPubkeyHex(agentName);
86
+ if (!agentPubkeyHex)
87
+ return { ok: false, reason: "verification_failed", detail: "agent_pubkey_unavailable" };
88
+ const record = sessionNodeManager.getSessionRecord(agentName, sessionIdHex);
89
+ const verdict = await verifyBilateralSealCertificate({
90
+ persistence: getPersistence(agentName),
91
+ agentPubkeyHex,
92
+ logger,
93
+ counterpartyPrimaryHex: record?.counterparty_primary_pubkey ?? null,
94
+ }, {
95
+ sessionId: sessionIdBytes,
96
+ sealedRoot,
97
+ leafCount,
98
+ closeTimestamp,
99
+ frostSignature,
100
+ signerPubkey,
101
+ signatureType: "frost",
102
+ legibility: (f["legibility"] ?? null),
103
+ });
104
+ if (!verdict.ok) {
105
+ // Tamper-evidence: do NOT record, do NOT mark the session sealed. Same posture as the push path
106
+ // on a bad signature — a certificate that fails verification is worse than none, because
107
+ // recording it would put a forged root behind the operator's receipt.
108
+ logger.error("seal.certificate.pull.invalid", { agentName, sessionId: sessionIdHex, reason: verdict.reason });
109
+ return { ok: false, reason: "verification_failed", detail: verdict.reason };
110
+ }
111
+ const rootHex = Buffer.from(sealedRoot).toString("hex");
112
+ const legibility = f["legibility"];
113
+ if (legibility !== undefined && legibility !== null) {
114
+ try {
115
+ sessionNodeManager.recordSealCertificate(agentName, sessionIdHex, rootHex, JSON.stringify(legibility));
116
+ }
117
+ catch (error) {
118
+ logger.warn("seal.certificate.persist.failed", {
119
+ sessionId: sessionIdHex,
120
+ reason: error instanceof Error ? error.message : String(error),
121
+ });
122
+ }
123
+ }
124
+ logger.info("seal.certificate.pull.recovered", {
125
+ agentName,
126
+ sessionId: sessionIdHex,
127
+ sealedRoot: rootHex,
128
+ verified: verdict.verified,
129
+ impact: "a seal this side never received the push for is now local and provable",
130
+ });
131
+ // Marks the row sealed and tears the node down — the same terminal transition the push path makes,
132
+ // so a pulled seal and a pushed one leave the daemon in identical states.
133
+ void sessionNodeManager.destroySessionNode(agentName, sessionIdHex, "sealed");
134
+ return { ok: true, rootHex };
135
+ }
136
+ //# sourceMappingURL=seal-certificate-pull.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"seal-certificate-pull.js","sourceRoot":"","sources":["../src/seal-certificate-pull.ts"],"names":[],"mappings":"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"}
@@ -92,7 +92,7 @@ export declare function createSealFlows(deps: SealFlowDeps): {
92
92
  } | {
93
93
  type: "timeout";
94
94
  }>;
95
- handleSealInterruptedFlow: (sessionId: string, record: import("./types.js").SessionRecord, correlationId: string, merkleRootAtInterruption: string) => Promise<SealFlowResult>;
95
+ handleSealInterruptedFlow: (sessionId: string, record: import("./types.js").SessionRecord, correlationId: string, merkleRootAtInterruption: string, via?: SignalingManager) => Promise<SealFlowResult>;
96
96
  handleActiveSealFlow: (sessionId: string, record: import("./types.js").SessionRecord, correlationId: string) => Promise<ActiveSealResult>;
97
97
  };
98
98
  //# sourceMappingURL=seal-flows.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"seal-flows.d.ts","sourceRoot":"","sources":["../src/seal-flows.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAE7D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAEpD;;;;;GAKG;AACH,MAAM,WAAW,iBAAiB;IAChC,kFAAkF;IAClF,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,MAAM,MAAM,cAAc,GACtB;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,0BAA0B,CAAA;CAAE,GACnE,CAAC;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GAAG,iBAAiB,CAAC,CAAC;AAE1E,MAAM,MAAM,gBAAgB,GACxB;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,0BAA0B,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACpF;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC;AAEpD,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,kBAAkB,EAAE,kBAAkB,CAAC;IACvC,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,cAAc,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,WAAW,GAAG,SAAS,CAAC;IAC/D,4EAA4E;IAC5E,YAAY,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,gBAAgB,GAAG,SAAS,CAAC;IAClE,QAAQ,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC;QAAE,EAAE,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC3G;;;;;OAKG;IACH,sBAAsB,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,kBAAkB,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IACxI,6GAA6G;IAC7G,qBAAqB,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;CACvE;AAGD;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,QAAQ,CAAC,EAAE;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GACrE;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,GAAG,iBAAiB,CAoD1C;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,YAAY;8BA6Cf,MAAM,OAAO,gBAAgB,GAAG,SAAS,KAAG,OAAO;cARxE,sBAAsB;6BAAuB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;eAAS,MAAM,GAAG,IAAI;;cAK1F,4BAA4B;gBAAU,MAAM;0BAAoB,MAAM;mBAAa;YAAE,SAAS,EAAE,MAAM,CAAC;YAAC,SAAS,EAAE,MAAM,CAAC;YAAC,SAAS,EAAE,MAAM,CAAA;SAAE;;cAC9I,SAAS;MAE8E;2CAgDtF,MAAM,UACT,OAAO,YAAY,EAAE,aAAa,iBAC3B,MAAM,4BACK,MAAM,KAC/B,OAAO,CAAC,cAAc,CAAC;sCA2Rb,MAAM,UACT,OAAO,YAAY,EAAE,aAAa,iBAC3B,MAAM,KACpB,OAAO,CAAC,gBAAgB,CAAC;EAmL7B"}
1
+ {"version":3,"file":"seal-flows.d.ts","sourceRoot":"","sources":["../src/seal-flows.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAE7D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAEpD;;;;;GAKG;AACH,MAAM,WAAW,iBAAiB;IAChC,kFAAkF;IAClF,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,MAAM,MAAM,cAAc,GACtB;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,0BAA0B,CAAA;CAAE,GACnE,CAAC;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GAAG,iBAAiB,CAAC,CAAC;AAE1E,MAAM,MAAM,gBAAgB,GACxB;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,0BAA0B,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACpF;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC;AAEpD,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,kBAAkB,EAAE,kBAAkB,CAAC;IACvC,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,cAAc,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,WAAW,GAAG,SAAS,CAAC;IAC/D,4EAA4E;IAC5E,YAAY,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,gBAAgB,GAAG,SAAS,CAAC;IAClE,QAAQ,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC;QAAE,EAAE,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC3G;;;;;OAKG;IACH,sBAAsB,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,kBAAkB,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IACxI,6GAA6G;IAC7G,qBAAqB,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;CACvE;AAGD;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,QAAQ,CAAC,EAAE;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GACrE;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,GAAG,iBAAiB,CAoD1C;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,YAAY;8BA6Cf,MAAM,OAAO,gBAAgB,GAAG,SAAS,KAAG,OAAO;cARxE,sBAAsB;6BAAuB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;eAAS,MAAM,GAAG,IAAI;;cAK1F,4BAA4B;gBAAU,MAAM;0BAAoB,MAAM;mBAAa;YAAE,SAAS,EAAE,MAAM,CAAC;YAAC,SAAS,EAAE,MAAM,CAAC;YAAC,SAAS,EAAE,MAAM,CAAA;SAAE;;cAC9I,SAAS;MAE8E;2CAgDtF,MAAM,UACT,OAAO,YAAY,EAAE,aAAa,iBAC3B,MAAM,4BACK,MAAM,QAa1B,gBAAgB,KACrB,OAAO,CAAC,cAAc,CAAC;sCA2Rb,MAAM,UACT,OAAO,YAAY,EAAE,aAAa,iBAC3B,MAAM,KACpB,OAAO,CAAC,gBAAgB,CAAC;EAmL7B"}
@@ -151,7 +151,20 @@ export function createSealFlows(deps) {
151
151
  });
152
152
  });
153
153
  }
154
- async function handleSealInterruptedFlow(sessionId, record, correlationId, merkleRootAtInterruption) {
154
+ async function handleSealInterruptedFlow(sessionId, record, correlationId, merkleRootAtInterruption,
155
+ /**
156
+ * Send and await on THIS stream instead of the agent's home one.
157
+ *
158
+ * A directory routes by looking up a stream IT holds, and each daemon holds its stream to its
159
+ * OWN home node — so a request for a counterparty homed elsewhere must be sent to THEIR node,
160
+ * not ours. Ours logs "target offline" and answers nothing, and the 30s wait below expires.
161
+ *
162
+ * The close handler supplies the visiting connection it opened to the counterparty's node. A
163
+ * visiting connection makes us REACHABLE FROM that node, which is what the active seal needs
164
+ * (the broker pushes to us); this flow needs the other direction, and both use the same
165
+ * connection.
166
+ */
167
+ via) {
155
168
  const nonce = randomUUID();
156
169
  // Retrieve the agent's own pubkey from the agent list
157
170
  // (the agent_name stored in the session record identifies which agent was in session)
@@ -219,7 +232,7 @@ export function createSealFlows(deps) {
219
232
  merkleRootAtInterruption: effectiveRoot,
220
233
  nonce,
221
234
  };
222
- const sendResult = await sendOver(record.agent_name, request);
235
+ const sendResult = via ? await via.sendRaw(request) : await sendOver(record.agent_name, request);
223
236
  if (!sendResult.ok) {
224
237
  logger.error("session.interrupted.seal.failed", {
225
238
  sessionId,
@@ -235,7 +248,7 @@ export function createSealFlows(deps) {
235
248
  };
236
249
  }
237
250
  // Wait for counterparty ack/rejection via the shared signaling await machinery.
238
- const ackResult = await awaitSealAck(sessionId, signalingFor(record.agent_name));
251
+ const ackResult = await awaitSealAck(sessionId, via ?? signalingFor(record.agent_name));
239
252
  if (ackResult.type === "timeout") {
240
253
  logger.error("session.interrupted.seal.failed", {
241
254
  sessionId,