@cello-protocol/daemon 0.0.183 → 0.0.185

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 (73) hide show
  1. package/dist/close-session-handler.d.ts.map +1 -1
  2. package/dist/close-session-handler.js +90 -16
  3. package/dist/close-session-handler.js.map +1 -1
  4. package/dist/daemon.d.ts.map +1 -1
  5. package/dist/daemon.js +365 -44
  6. package/dist/daemon.js.map +1 -1
  7. package/dist/frame-values.d.ts.map +1 -1
  8. package/dist/frame-values.js +14 -0
  9. package/dist/frame-values.js.map +1 -1
  10. package/dist/inclusion-proof-handlers.d.ts +43 -0
  11. package/dist/inclusion-proof-handlers.d.ts.map +1 -0
  12. package/dist/inclusion-proof-handlers.js +565 -0
  13. package/dist/inclusion-proof-handlers.js.map +1 -0
  14. package/dist/inclusion-proof.d.ts +151 -0
  15. package/dist/inclusion-proof.d.ts.map +1 -0
  16. package/dist/inclusion-proof.js +228 -0
  17. package/dist/inclusion-proof.js.map +1 -0
  18. package/dist/network-directory-node.d.ts +16 -0
  19. package/dist/network-directory-node.d.ts.map +1 -1
  20. package/dist/network-directory-node.js +40 -0
  21. package/dist/network-directory-node.js.map +1 -1
  22. package/dist/notification-handlers.d.ts.map +1 -1
  23. package/dist/notification-handlers.js +71 -2
  24. package/dist/notification-handlers.js.map +1 -1
  25. package/dist/outbound-sessions.d.ts +6 -0
  26. package/dist/outbound-sessions.d.ts.map +1 -1
  27. package/dist/outbound-sessions.js +31 -7
  28. package/dist/outbound-sessions.js.map +1 -1
  29. package/dist/seal-coordinator.d.ts +51 -1
  30. package/dist/seal-coordinator.d.ts.map +1 -1
  31. package/dist/seal-coordinator.js +248 -1
  32. package/dist/seal-coordinator.js.map +1 -1
  33. package/dist/seal-escalation.d.ts.map +1 -1
  34. package/dist/seal-escalation.js +28 -0
  35. package/dist/seal-escalation.js.map +1 -1
  36. package/dist/seal-failure-store.d.ts.map +1 -1
  37. package/dist/seal-failure-store.js +5 -1
  38. package/dist/seal-failure-store.js.map +1 -1
  39. package/dist/sealed-leaf-set.d.ts +92 -0
  40. package/dist/sealed-leaf-set.d.ts.map +1 -0
  41. package/dist/sealed-leaf-set.js +129 -0
  42. package/dist/sealed-leaf-set.js.map +1 -0
  43. package/dist/session-ceremony.d.ts +21 -1
  44. package/dist/session-ceremony.d.ts.map +1 -1
  45. package/dist/session-ceremony.js +83 -7
  46. package/dist/session-ceremony.js.map +1 -1
  47. package/dist/session-content-handlers.d.ts +42 -0
  48. package/dist/session-content-handlers.d.ts.map +1 -1
  49. package/dist/session-content-handlers.js +193 -4
  50. package/dist/session-content-handlers.js.map +1 -1
  51. package/dist/session-node-manager.d.ts +142 -1
  52. package/dist/session-node-manager.d.ts.map +1 -1
  53. package/dist/session-node-manager.js +496 -15
  54. package/dist/session-node-manager.js.map +1 -1
  55. package/dist/session-relay-client.d.ts +47 -1
  56. package/dist/session-relay-client.d.ts.map +1 -1
  57. package/dist/session-relay-client.js +145 -0
  58. package/dist/session-relay-client.js.map +1 -1
  59. package/dist/signal-submission.d.ts +11 -1
  60. package/dist/signal-submission.d.ts.map +1 -1
  61. package/dist/signal-submission.js.map +1 -1
  62. package/dist/submission-retry.d.ts +208 -0
  63. package/dist/submission-retry.d.ts.map +1 -0
  64. package/dist/submission-retry.js +505 -0
  65. package/dist/submission-retry.js.map +1 -0
  66. package/dist/types.d.ts +12 -0
  67. package/dist/types.d.ts.map +1 -1
  68. package/dist/types.js.map +1 -1
  69. package/dist/vocabulary.d.ts +13 -3
  70. package/dist/vocabulary.d.ts.map +1 -1
  71. package/dist/vocabulary.js +14 -3
  72. package/dist/vocabulary.js.map +1 -1
  73. package/package.json +5 -5
@@ -1 +1 @@
1
- {"version":3,"file":"session-content-handlers.d.ts","sourceRoot":"","sources":["../src/session-content-handlers.ts"],"names":[],"mappings":"AAmBA,OAAO,EAA2C,KAAK,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAC9G,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAwE5D;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAC5B,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,kBAAkB,CAAC,aAAa,CAAC,CAAC,CAAC,GACxD;IAAE,YAAY,EAAE,UAAU,CAAC;IAAC,SAAS,EAAE,UAAU,CAAA;CAAE,GAAG,SAAS,CAUjE;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,kBAAkB,EAAE,kBAAkB,CAAC;IACvC,eAAe,EAAE,qBAAqB,CAAC;IACvC,UAAU,EAAE,UAAU,CAAC;IACvB,YAAY,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,SAAS,GAAG,SAAS,CAAC;IAC9D,mBAAmB,EAAE,CAAC,SAAS,EAAE,SAAS,GAAG,SAAS,EAAE,aAAa,CAAC,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;IACjG,yBAAyB,EAAE,OAAO,CAAC;IACnC,+EAA+E;IAC/E,mBAAmB,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,MAAM,CAAC;IACzE,uBAAuB,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACxF,qEAAqE;IACrE,iBAAiB,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,aAAa,EAAE,WAAW,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC;IACzG;;;;;OAKG;IACH,mBAAmB,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,MAAM,CAAC;IACzE,uBAAuB,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACxF,uEAAuE;IACvE,iBAAiB,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAClE,iGAAiG;IACjG,eAAe,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,MAAM,CAAC;IAC/C;;;;OAIG;IACH,YAAY,EAAE,iBAAiB,CAAC;CACjC;AAED,wBAAgB,8BAA8B,CAAC,IAAI,EAAE,kBAAkB,GAAG,IAAI,CA8pC7E"}
1
+ {"version":3,"file":"session-content-handlers.d.ts","sourceRoot":"","sources":["../src/session-content-handlers.ts"],"names":[],"mappings":"AAmBA,OAAO,EAA2C,KAAK,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAC9G,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAwE5D;;;;;;;GAOG;AACH;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE;IAAE,MAAM,EAAE,IAAI,CAAC;IAAC,WAAW,CAAC,EAAE,IAAI,CAAA;CAAE,GAAG;IAAE,MAAM,EAAE,KAAK,CAAA;CAAE,GAAG,OAAO,CAEjG;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,EAAE,SAAS,EAAE,OAAO,GAAG,MAAM,CAY3F;AAED,wBAAgB,cAAc,CAC5B,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,kBAAkB,CAAC,aAAa,CAAC,CAAC,CAAC,GACxD;IAAE,YAAY,EAAE,UAAU,CAAC;IAAC,SAAS,EAAE,UAAU,CAAA;CAAE,GAAG,SAAS,CAUjE;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,kBAAkB,EAAE,kBAAkB,CAAC;IACvC,eAAe,EAAE,qBAAqB,CAAC;IACvC,UAAU,EAAE,UAAU,CAAC;IACvB,YAAY,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,SAAS,GAAG,SAAS,CAAC;IAC9D,mBAAmB,EAAE,CAAC,SAAS,EAAE,SAAS,GAAG,SAAS,EAAE,aAAa,CAAC,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;IACjG,yBAAyB,EAAE,OAAO,CAAC;IACnC,+EAA+E;IAC/E,mBAAmB,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,MAAM,CAAC;IACzE,uBAAuB,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACxF,qEAAqE;IACrE,iBAAiB,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,aAAa,EAAE,WAAW,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC;IACzG;;;;;OAKG;IACH,mBAAmB,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,MAAM,CAAC;IACzE,uBAAuB,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACxF,uEAAuE;IACvE,iBAAiB,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAClE,iGAAiG;IACjG,eAAe,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,MAAM,CAAC;IAC/C;;;;OAIG;IACH,YAAY,EAAE,iBAAiB,CAAC;CACjC;AAED,wBAAgB,8BAA8B,CAAC,IAAI,EAAE,kBAAkB,GAAG,IAAI,CAuyC7E"}
@@ -83,6 +83,58 @@ const AUTO_REPLY_GUIDANCE = "At least one message here is an AUTOMATIC reply gen
83
83
  * rather than imply one. `sendContent` returns it per-send rather than stashing it by session,
84
84
  * because a side map hands a caller the wrong send's signature the moment two are in flight.
85
85
  */
86
+ /**
87
+ * Did the RELAY witness this leaf — the single fact every `witnessed` in this file is read from.
88
+ *
89
+ * `016-RELAYLOSS` review HIGH-2. The first version of the fix put `witnessed` on two of `cello_send`'s
90
+ * FIVE return paths, which defeats the reason it was added at all: a field that is present on some
91
+ * outcomes and absent on others cannot be branched on, and its absence reads as an older daemon
92
+ * rather than as an answer. Worse, the two it missed are the two that matter most — the diverged
93
+ * path is reachable ONLY after an unwitnessed leaf, and the durably-queued path is the one
94
+ * production takes when the relay is also the transport (behind NAT, content and witness die
95
+ * together), where it was telling operators "No action needed."
96
+ *
97
+ * Read off the PLACEMENT, not re-derived from the sequence number, so this and the
98
+ * `session.tree.own_leaf_unwitnessed` ERROR beside it can never disagree about the same send.
99
+ *
100
+ * ⚠️ A HELD leaf (`placed: false`) is WITNESSED, and that is not a special case being papered over.
101
+ * A leaf is held precisely BECAUSE the relay assigned it a position beyond this side's tail — being
102
+ * held is itself proof of an assignment. Reporting `witnessed: false` there would tell an operator
103
+ * their record had lost a message when the opposite is true.
104
+ */
105
+ export function wasWitnessed(p) {
106
+ return p.placed ? p.unwitnessed !== true : true;
107
+ }
108
+ /**
109
+ * The durably-queued path's guidance: the relay's OWN words, plus what a missing witness costs.
110
+ *
111
+ * **Exported so the test can call THIS rather than re-implement it.** The first version of the
112
+ * composition test rebuilt the string inline and asserted on its own copy — which stays green if
113
+ * production stops composing entirely, and is therefore the hollow shape this milestone keeps
114
+ * finding. A rule worth pinning has to be pinned on the code that runs.
115
+ *
116
+ * The rule, and why it is a composition rather than a choice: `upstream` is where the relay's own
117
+ * retry window reaches the operator ("try again in about 45 seconds"), and a rate-limited park is
118
+ * unwitnessed BY CONSTRUCTION — so choosing between the two messages silently drops the more
119
+ * specific one exactly when it is most useful. Both are true at once and the operator needs both.
120
+ *
121
+ * The default splits on `witnessed` for one reason only: "No action needed" is false for a leaf the
122
+ * relay never recorded.
123
+ */
124
+ export function queuedSendGuidance(upstream, witnessed) {
125
+ const base = upstream
126
+ ?? (witnessed
127
+ ? "The message is queued and will be re-sent automatically when the relay link is back. No action needed."
128
+ : "The message is queued and will be re-sent automatically when the relay link is back.");
129
+ if (witnessed)
130
+ return base;
131
+ return base
132
+ + " The relay did NOT witness this leaf, so your record is now one leaf ahead of it. "
133
+ + "Ordering does not repair itself: the next message the relay does witness will report this "
134
+ + "session as diverged, and a diverged session can never be sealed with the counterparty. The "
135
+ + "re-send is automatic — do not send it again yourself. If the receipt matters, close rather "
136
+ + "than continuing.";
137
+ }
86
138
  export function sentAuthorship(r) {
87
139
  /**
88
140
  * ⚠️ NOT `r.ok ? …` — that made two of the five call sites DEAD BY CONSTRUCTION.
@@ -534,7 +586,34 @@ export function registerSessionContentHandlers(deps) {
534
586
  // "queued and not in the record yet".
535
587
  ...(placed.placed ? {} : { held: true }),
536
588
  sequence_number: queuedLeaf,
537
- guidance: sendResult.guidance ?? "The message is queued and will be re-sent automatically when the relay link is back. No action needed.",
589
+ /**
590
+ * ⚠️ THE BRANCH PRODUCTION ACTUALLY TAKES — review HIGH-2, and the reason the loopback
591
+ * journey could not find it. Behind NAT the direct path runs over the relay's circuit, so
592
+ * a relay outage kills the transport and the witness TOGETHER and the send lands here
593
+ * rather than on the delivered path. On the harness the two are independent, the direct
594
+ * send succeeds, and this branch is never reached.
595
+ *
596
+ * It was answering "No action needed" for a leaf the relay never witnessed.
597
+ */
598
+ witnessed: wasWitnessed(placed),
599
+ /**
600
+ * ⚠️ COMPOSED, NEVER CHOSEN — the first version of this fix CHOSE, and that discarded a
601
+ * shipped guarantee. Caught deterministically by the `013-ABSENCE` lane in
602
+ * `dod-m15-park-envelope-coded-error.test.ts`.
603
+ *
604
+ * A RATE-LIMITED park is unwitnessed BY CONSTRUCTION, so making the whole string
605
+ * conditional on witnessing threw away `sendResult.guidance` — which is where the relay's
606
+ * own retry window lives ("about 45 seconds"). That is Invariant 3 aimed back at this
607
+ * unit: a downstream handler replacing an upstream descriptive value with a generic one.
608
+ * The upstream sentence is more specific than anything this layer can produce, and a
609
+ * missing witness does not make it less true.
610
+ *
611
+ * Both facts hold at once and the operator needs both — what the relay said to do, and
612
+ * what the missing witness will cost. So upstream is kept VERBATIM and the unwitnessed
613
+ * note is APPENDED to it, by `queuedSendGuidance`, which the test calls directly rather
614
+ * than re-implementing.
615
+ */
616
+ guidance: queuedSendGuidance(sendResult.guidance, wasWitnessed(placed)),
538
617
  };
539
618
  }
540
619
  return {
@@ -572,6 +651,13 @@ export function registerSessionContentHandlers(deps) {
572
651
  sequence_number: -1,
573
652
  held: true,
574
653
  held_at: placement.heldAt,
654
+ /**
655
+ * TRUE, and it is not a courtesy default — review HIGH-2. A leaf is HELD precisely because
656
+ * the relay assigned it a position beyond this side's tail, so being held is itself proof
657
+ * that the relay witnessed it. Omitting the field here would leave an agent branching on
658
+ * `witnessed !== true` reading a perfectly healthy message as a lost one.
659
+ */
660
+ witnessed: wasWitnessed(placement),
575
661
  // The screening verdict must survive this return, or an agent whose message was ALTERED is
576
662
  // never told — the one thing a redact verdict exists to surface.
577
663
  ...(modified ? { modified: true, transformations: (outboundVerdict.events ?? []).filter((e) => e.disposition === "redact") } : {}),
@@ -592,6 +678,22 @@ export function registerSessionContentHandlers(deps) {
592
678
  ok: true,
593
679
  sequence_number: placement.leafIndex,
594
680
  diverged: true,
681
+ /**
682
+ * ⚠️ THIS IS `true`, AND THE FIRST VERSION OF THIS COMMENT SAID OTHERWISE — review HIGH-B.
683
+ *
684
+ * The divergence branch is reached only when the relay DID assign a sequence, one behind
685
+ * this side's frontier (`assignedSeq < nextExpected`). So the relay witnessed this leaf; it
686
+ * witnessed it at a position our tree has already passed. `witnessed: true` is the honest
687
+ * answer and `diverged: true` is the field that carries the bad news here.
688
+ *
689
+ * I had written that this return was "reachable only after an unwitnessed leaf" and would
690
+ * otherwise report `witnessed: undefined`, so the operator could never see the `false` the
691
+ * guidance told them to watch for. The first half is true — divergence is caused by an
692
+ * earlier unwitnessed append — and the conclusion drawn from it was not: THIS send was
693
+ * witnessed. Recorded rather than silently corrected, because a comment asserting the wrong
694
+ * value of the field beside it is how the next reader learns the wrong model.
695
+ */
696
+ witnessed: wasWitnessed(placement),
595
697
  ...(modified ? { modified: true, transformations: (outboundVerdict.events ?? []).filter((e) => e.disposition === "redact") } : {}),
596
698
  guidance: `The message was delivered and is in your transcript. But this session's record has drifted out of step with the relay's ordering, so it can no longer be sealed with the counterparty — there will be no notarized receipt for it. Keep talking if you want to; when you are finished, cello_close_session ${sessionId} { force: true } is the only way it can end. cello_transcript ${sessionId} is the record you keep.`,
597
699
  };
@@ -638,6 +740,8 @@ export function registerSessionContentHandlers(deps) {
638
740
  delivered: false,
639
741
  reason: "dispatched_to_relay",
640
742
  modified,
743
+ // Same fact, same shape, both branches — see the note on the delivered path below.
744
+ witnessed: wasWitnessed(placement),
641
745
  /**
642
746
  * WHAT IS ACTUALLY TRUE, and the previous wording was neither.
643
747
  *
@@ -655,10 +759,38 @@ export function registerSessionContentHandlers(deps) {
655
759
  *
656
760
  * So: say what happened, say what to expect, and claim nothing about their daemon.
657
761
  */
658
- guidance: "Sent. This message went via the relay rather than a direct connection, so it is sealed, "
659
- + "witnessed and on its way the counterparty normally has it within seconds. "
762
+ /**
763
+ * `016-RELAYLOSS`: **"witnessed" IS NOT SOMETHING THIS STRING GETS TO ASSERT.**
764
+ *
765
+ * It said so unconditionally, and it is false on exactly the path this order measured: a
766
+ * relay that stops answering fails the hash submit and the leaf is appended unwitnessed,
767
+ * while the content can still reach the counterparty. The reassurance was then strictly
768
+ * worse than silence — it named the property that had just been lost as the reason not to
769
+ * worry. Claimed only when true; the rest of the sentence is unchanged and still right.
770
+ */
771
+ /**
772
+ * ⚠️ "NO ACTION IS NEEDED" IS CONDITIONAL TOO — review HIGH-C, and the same mistake the
773
+ * queued path had already fixed one branch away.
774
+ *
775
+ * The first version left that reassurance unconditional and then contradicted it three
776
+ * words later: no action is needed… BUT this session is on its way to being unsealable.
777
+ * Telling the operator to relax and then telling them the conversation is dying is worse
778
+ * than either sentence alone, because the one they act on is the first.
779
+ *
780
+ * This branch also named no remedy at all, while its two siblings both say to close. Same
781
+ * situation, same advice.
782
+ */
783
+ guidance: "Sent. This message went via the relay rather than a direct connection, so it is sealed"
784
+ + (wasWitnessed(placement) ? ", witnessed" : "") + " and on its way — the counterparty "
785
+ + "normally has it within seconds. "
660
786
  + "`delivered: false` means it did not go over a direct link, NOT that it failed. "
661
- + "No action is needed, and re-sending would duplicate it.",
787
+ + (wasWitnessed(placement)
788
+ ? "No action is needed, and re-sending would duplicate it."
789
+ : "Do not re-send — that would duplicate it. BUT the relay did NOT witness this leaf, so "
790
+ + "the ordering authority has no copy of it and your record is a leaf ahead of the "
791
+ + "relay's. Ordering does not repair itself: the next message the relay does witness "
792
+ + "will report this session as diverged, and a diverged session can never be sealed "
793
+ + "with the counterparty. If the receipt matters, close rather than continuing."),
662
794
  ...(modified ? { transformations: (outboundVerdict.events ?? []).filter((e) => e.disposition === "redact") } : {}),
663
795
  };
664
796
  }
@@ -674,6 +806,63 @@ export function registerSessionContentHandlers(deps) {
674
806
  sequence_number: leafIndex,
675
807
  delivered: true,
676
808
  modified,
809
+ /**
810
+ * ─── `016-RELAYLOSS`: THE ONE FACT THIS RESPONSE WAS MISSING ─────────────────────────────
811
+ *
812
+ * Measured, not supposed: with the relay black-holed mid-conversation, this send stalled ten
813
+ * seconds and returned exactly the object above — the same `ok`, the same `delivered`, and a
814
+ * `sequence_number` that is a LOCAL leaf index and therefore looks just as healthy. The
815
+ * daemon logged `session.tree.own_leaf_unwitnessed` at ERROR, correctly and in detail, into a
816
+ * file the agent cannot read. The operator's message arrived, they were told it succeeded,
817
+ * and the ordering authority has no copy of it.
818
+ *
819
+ * `witnessed` is stated on BOTH outcomes rather than only the bad one. A field that appears
820
+ * only when something is wrong cannot be relied on by a reader who has never seen it — its
821
+ * absence is indistinguishable from an older daemon, and "absence is not a pass" is the rule
822
+ * this milestone keeps re-learning. Present always, it is a fact the caller can branch on.
823
+ */
824
+ witnessed: wasWitnessed(placement),
825
+ /**
826
+ * ⚠️ THIS ONCE SAID *"send the next message normally — ordering re-establishes itself."* It
827
+ * was false, and it was the most damaging sentence in the unit that added it — review HIGH-1.
828
+ *
829
+ * `placeOwnLeaf` states the opposite sixty lines away: an unwitnessed append leaves this
830
+ * side's tree one leaf AHEAD of the relay's counter, so "from then on every ack comes back
831
+ * behind our frontier and the two can never agree again — the seal was already lost at the
832
+ * unwitnessed append, not here." The next WITNESSED send therefore takes the divergence
833
+ * branch and marks the session permanently unsealable. Telling the operator to keep talking
834
+ * was telling them to perform the act that makes the loss permanent.
835
+ *
836
+ * Which is this unit's own subject — a reassuring sentence asserting a property already lost
837
+ * — reproduced one clause later in its replacement. Kept as a comment, not quietly deleted,
838
+ * because the reasoning is the part that stops it coming back.
839
+ *
840
+ * `cello status` came out of the advice for the same reason: measured in this unit's own
841
+ * runs, its relay fields read identically during the outage and before it.
842
+ */
843
+ ...(wasWitnessed(placement)
844
+ ? {}
845
+ : {
846
+ guidance:
847
+ /**
848
+ * ⚠️ NOT "the counterparty's record cannot gain it" — review MED-D. On THIS branch the
849
+ * direct send succeeded, and the receiving side appends unwitnessed content in arrival
850
+ * order rather than refusing it (refusing would make the relay a precondition for
851
+ * reading your mail). So they do get the message. What nobody gets is an independent
852
+ * record that you sent it — which is the thing actually lost, and the thing the remedy
853
+ * below is for. The old sentence would have had an operator conclude the conversation
854
+ * was already broken bilaterally when the two trees may still agree.
855
+ */
856
+ "Delivered and in your transcript — but the relay did not witness it, so the ordering "
857
+ + "authority has no copy of it: the counterparty has your message, and neither of you "
858
+ + "has independent proof you sent it. Do NOT resend: "
859
+ + "that adds a second copy to your record and does not witness the first. "
860
+ + "ORDERING DOES NOT REPAIR ITSELF — your record is now one leaf ahead of the relay's, "
861
+ + "so the next message the relay DOES witness will report this session as diverged, "
862
+ + "and a diverged session can never be sealed with the counterparty. If the receipt "
863
+ + "matters, stop sending and close now; if you keep talking, do it knowing this "
864
+ + "conversation is unlikely to produce one.",
865
+ }),
677
866
  // On a redact, tell the agent exactly what was transformed (the §6 sender-side surface).
678
867
  ...(modified ? { transformations: (outboundVerdict.events ?? []).filter((e) => e.disposition === "redact") } : {}),
679
868
  };
@@ -1 +1 @@
1
- {"version":3,"file":"session-content-handlers.js","sourceRoot":"","sources":["../src/session-content-handlers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session-content-handlers.js","sourceRoot":"","sources":["../src/session-content-handlers.ts"],"names":[],"mappings":"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"}
@@ -26,10 +26,30 @@ import { type CelloNode, type IAutoNatService } from "@cello-protocol/transport"
26
26
  import type { KeyProvider } from "@cello-protocol/crypto";
27
27
  import { type SessionEphemeral } from "@cello-protocol/crypto";
28
28
  import { type ParkEnvelope } from "./park-envelope.js";
29
- import { AgentRelayClient, type RelayAssignmentCarry, type RelayAuthRefusal } from "./session-relay-client.js";
29
+ import { AgentRelayClient, type RelayAssignmentCarry, type RelayAuthRefusal, type RelayWitnessAlert } from "./session-relay-client.js";
30
+ /**
31
+ * One row in an agent's witness-alert list — DOD-M15-CORROBORATE-1 review F1. Deduped on
32
+ * `(witness relay, session)`, so a repeated observation raises `occurrences` rather than taking
33
+ * another slot in a bounded list.
34
+ */
35
+ export interface WitnessAlertNotice {
36
+ /** `${relayId}::${sessionIdHex}` — the dedupe key, not shown to anyone. */
37
+ key: string;
38
+ alert: RelayWitnessAlert;
39
+ occurrences: number;
40
+ /**
41
+ * When this witness first said it. Held SEPARATELY from `alert.observedAt`, because a later
42
+ * repeat can replace `alert` (a provable one supersedes an unprovable one) and that must not
43
+ * silently move the first sighting forward — an operator reading "first observed" wants to know
44
+ * when this started, not when the strongest version of it arrived.
45
+ */
46
+ firstObservedAt: number;
47
+ lastObservedAt: number;
48
+ }
30
49
  import { RelayReceiptStore, type RelayReceipt } from "./relay-receipt-store.js";
31
50
  import { SessionSealLeafStore, type SealCarryLeaf } from "./session-seal-leaf-store.js";
32
51
  import type { SealUpgradeReadiness } from "./seal-upgrade.js";
52
+ import type { SealFrontierLeaf } from "./seal-frontier-verify.js";
33
53
  import { type SecurityGatewayClient } from "@cello-protocol/gateway";
34
54
  /**
35
55
  * DOD-CAP-SELF-HEAL-1 — how long an interrupted session keeps consuming a cap slot.
@@ -299,6 +319,34 @@ export declare class SessionNodeManager {
299
319
  sealLeafStore?: SessionSealLeafStore;
300
320
  onlineToken: () => Uint8Array | undefined;
301
321
  }) => AgentRelayClient | undefined): void;
322
+ /**
323
+ * Record what one relay says it saw on one of this agent's sessions, for the operator to read.
324
+ *
325
+ * ⚠️ **IT DOES NOT FREEZE THE SESSION, AND THAT IS THE DESIGN.** A client freezing on its OWN
326
+ * verification is safe: it limits only what that client trusts. Freezing on a REMOTE party's
327
+ * say-so hands any single relay the power to end any conversation it carries, and to write an
328
+ * accusatory record about a counterparty who did nothing. The identity freeze stays where it is —
329
+ * on this daemon's own check of an inbound frame — and this surfaces a second, independent
330
+ * observation next to it. One witness reports; it does not rule.
331
+ */
332
+ recordRelayWitnessAlert(agentName: string, alert: RelayWitnessAlert): void;
333
+ /** The witness alerts an agent has been told about, oldest first, one row per witness+session. */
334
+ getWitnessAlerts(agentName: string): ReadonlyArray<WitnessAlertNotice>;
335
+ /** Whether this agent's alert list hit its cap, so the inbox can say the list is incomplete. */
336
+ witnessAlertsTruncated(agentName: string): boolean;
337
+ /**
338
+ * Review F7: a relay sent a witness alert this build could not read or could not verify.
339
+ *
340
+ * Recorded so a version skew that silently kills the witness layer is visible to the operator
341
+ * instead of living only in a log file. Carries no session and no party by construction.
342
+ */
343
+ recordRelayWitnessUnreadable(agentName: string, relayPeerId: string, why: string): void;
344
+ /** Relays whose witness alerts this build could not read, for the agent's inbox. */
345
+ getWitnessUnreadable(agentName: string): ReadonlyArray<{
346
+ relayPeerId: string;
347
+ why: string;
348
+ count: number;
349
+ }>;
302
350
  /**
303
351
  * Why this agent's standing receiver could not hold a reservation, in words the person running it
304
352
  * can act on — or null when the last attempt succeeded or none has been made.
@@ -522,6 +570,30 @@ export declare class SessionNodeManager {
522
570
  verdict: "cannot_judge";
523
571
  reason: string;
524
572
  };
573
+ /**
574
+ * WHERE THE MUTUALLY-SIGNED PREFIX ENDS, DERIVED FROM THIS DAEMON'S OWN LEAVES —
575
+ * `DOD-M15-UNILATERAL-1`, review F2.
576
+ *
577
+ * ⚠️ **THE FIRST VERSION COMPUTED THIS FROM THE CERTIFICATE'S OWN PARTICIPANT LIST, AND CALLED
578
+ * THAT "recomputed, cannot be steered".** It could be steered. On the SOLO path the certificate's
579
+ * TBS binds no legibility at all, and the client verifies only the *live* party's frontier — so
580
+ * the absent party's `content_frontier_seq` and every `last_authored_seq` arrived unchecked. One
581
+ * directory node could publish the absent party's frontier as 3 and the receipt would say
582
+ * "mutually signed through 3" over a transcript that party never signed for. That is the precise
583
+ * conflation this field exists to prevent, reintroduced by the field itself.
584
+ *
585
+ * The carry answers it without trusting anybody. This daemon holds the counterparty's own leaves,
586
+ * each carrying, inside the bytes THEY signed, both the sequence they authored and the
587
+ * `last_seen_seq` they acknowledged. So a party's commitment reaches
588
+ * `max(highest sequence they authored, highest sequence they acknowledged)`, and the transcript is
589
+ * mutually signed only as far as the LEAST-committed party reaches.
590
+ *
591
+ * Fewer than two distinct authors ⇒ `0`: nobody countersigned anything, which is the honest floor
592
+ * for a conversation where the other side only ever received. `null` when the carry is empty or
593
+ * unreadable — the caller must then publish NO boundary rather than fall back to a number
594
+ * somebody else supplied.
595
+ */
596
+ countersignedThroughSeqFromCarry(agentPubkeyHex: string, sessionIdHex: string): number | null;
525
597
  getSealCarry(agentPubkeyHex: string, sessionIdHex: string): SealCarryLeaf[];
526
598
  /**
527
599
  * DOD-LOG-1 / PERSIST-002 (AC-010): append one readable message to the durable transcript, keyed
@@ -1337,6 +1409,46 @@ export declare class SessionNodeManager {
1337
1409
  sealed_root: string;
1338
1410
  legibility: unknown;
1339
1411
  } | null;
1412
+ /**
1413
+ * DOD-M15-INCLUSION-1: keep the leaf set the certificate is signed over, so one message can later
1414
+ * be proved to sit under it.
1415
+ *
1416
+ * REFUSES unless the hashes reproduce `sealedRootHex` — `certifiedLeafSetFrom` does that check and
1417
+ * this method never bypasses it. That is what separates "the leaves the directory sent" from "the
1418
+ * leaves the consortium signed", and only the second is worth storing: a proof built on the first
1419
+ * would inherit whatever the directory chose to say.
1420
+ *
1421
+ * Idempotent (INSERT OR REPLACE keyed on leaf_index) so a re-delivered seal frame, or a unilateral
1422
+ * seal later upgraded to bilateral, rewrites the same rows instead of failing or doubling them.
1423
+ *
1424
+ * @returns whether the set was accepted and stored.
1425
+ */
1426
+ recordCertifiedLeafSet(agentName: string, sessionId: string, signedLeaves: readonly SealFrontierLeaf[], sealedRootHex: string, correlationId?: string): boolean;
1427
+ /**
1428
+ * Record WHY this session does or does not have a certified leaf set.
1429
+ *
1430
+ * Public for the one case the manager cannot see: a seal frame that carried no signed leaves at
1431
+ * all never reaches `recordCertifiedLeafSet`, and that absence is a permanent fact about the
1432
+ * session for the party that observed it.
1433
+ */
1434
+ noteCertifiedLeafSetUnavailable(agentName: string, sessionId: string, state: "not_carried_absent_party" | "not_carried_present_party", detail: string): void;
1435
+ /**
1436
+ * The last thing that happened to this session's certified leaf set, or null if nothing has.
1437
+ *
1438
+ * Null here and a null from `getCertifiedLeafSet` together mean "no seal has been processed on
1439
+ * this side yet" — which is a different sentence again from any of the recorded states.
1440
+ */
1441
+ getCertifiedLeafSetState(agentName: string, sessionId: string): {
1442
+ state: string;
1443
+ detail: string | null;
1444
+ } | null;
1445
+ /**
1446
+ * The certified leaf set, in order, or null when none was stored for this session.
1447
+ *
1448
+ * Null is a REFUSAL upstream, never a fallback to the local tree: the two cover different leaves
1449
+ * and substituting one for the other is how a proof comes to land on a root nobody signed.
1450
+ */
1451
+ getCertifiedLeafSet(agentName: string, sessionId: string): string[] | null;
1340
1452
  /**
1341
1453
  * M7-SESSION-001: Mark a session as interrupted with message count and timestamp.
1342
1454
  * Called when a relay session_interrupted frame arrives or a relay stream closes.
@@ -1900,6 +2012,7 @@ export declare class SessionNodeManager {
1900
2012
  placed: true;
1901
2013
  leafIndex: number;
1902
2014
  diverged?: true;
2015
+ unwitnessed?: true;
1903
2016
  } | {
1904
2017
  placed: false;
1905
2018
  heldAt: number;
@@ -2221,6 +2334,34 @@ export declare class SessionNodeManager {
2221
2334
  */
2222
2335
  isContentSaltActive(agentName: string, sessionId: string): boolean;
2223
2336
  getSessionContentSalt(agentName: string, sessionId: string): Uint8Array | null;
2337
+ /**
2338
+ * THE SALT, OR WHY THERE ISN'T ONE — `DOD-M15-INCLUSION-1`, fallback-finder finding 2.
2339
+ *
2340
+ * `getSessionContentSalt` above answers `null` for THREE different situations, and a caller that
2341
+ * turns that null into a sentence for an operator gets two of them wrong:
2342
+ *
2343
+ * `none` — no salt was ever agreed. The session really is unsalted.
2344
+ * `unreadable` — a salt row EXISTS and could not be used: the wrong width (corruption on this
2345
+ * operator's own disk), or the read threw.
2346
+ *
2347
+ * The distinction is not cosmetic. `unreadable` means the session's leaves WERE hashed under a
2348
+ * salt, so telling its operator *"this session's content hashes are UNSALTED … start a session
2349
+ * while you are both connected"* is an affirmatively false statement about a security property
2350
+ * their session has, and it points them at their counterparty over damage to their own database.
2351
+ * That is the same defect `#getSessionSalt`'s own F8 note was written to end, re-committed one
2352
+ * surface out.
2353
+ *
2354
+ * ⚠️ IT DELEGATES — there is no second read here. Calling `#getSessionSalt` first means the salt
2355
+ * this reports is the salt the hashing path uses, including its cache and its wrong-width refusal.
2356
+ * A parallel query would be free to disagree with it, which is the whole failure this returns a
2357
+ * reason to prevent.
2358
+ */
2359
+ getSessionContentSaltState(agentName: string, sessionId: string): {
2360
+ salt: Uint8Array;
2361
+ } | {
2362
+ salt: null;
2363
+ reason: "none" | "unreadable";
2364
+ };
2224
2365
  /**
2225
2366
  * M7-SESSION-001 AC-004/AC-005: Register a relay stream for an active session.
2226
2367
  * Starts a background reader that watches for session_interrupted frames and