@cello-protocol/daemon 0.0.188 → 0.0.190

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 (38) hide show
  1. package/dist/agent-id-migration.d.ts.map +1 -1
  2. package/dist/agent-id-migration.js +8 -0
  3. package/dist/agent-id-migration.js.map +1 -1
  4. package/dist/content-encryption-status.d.ts +14 -0
  5. package/dist/content-encryption-status.d.ts.map +1 -1
  6. package/dist/content-encryption-status.js +36 -0
  7. package/dist/content-encryption-status.js.map +1 -1
  8. package/dist/content-park-client.d.ts +31 -0
  9. package/dist/content-park-client.d.ts.map +1 -1
  10. package/dist/content-park-client.js +89 -4
  11. package/dist/content-park-client.js.map +1 -1
  12. package/dist/content-park.d.ts +1 -0
  13. package/dist/content-park.d.ts.map +1 -1
  14. package/dist/content-park.js +238 -15
  15. package/dist/content-park.js.map +1 -1
  16. package/dist/notification-handlers.d.ts.map +1 -1
  17. package/dist/notification-handlers.js +17 -7
  18. package/dist/notification-handlers.js.map +1 -1
  19. package/dist/refusal-reasons.d.ts +35 -0
  20. package/dist/refusal-reasons.d.ts.map +1 -1
  21. package/dist/refusal-reasons.js +48 -0
  22. package/dist/refusal-reasons.js.map +1 -1
  23. package/dist/session-connection-gater.d.ts +19 -3
  24. package/dist/session-connection-gater.d.ts.map +1 -1
  25. package/dist/session-connection-gater.js +40 -11
  26. package/dist/session-connection-gater.js.map +1 -1
  27. package/dist/session-content-handlers.d.ts.map +1 -1
  28. package/dist/session-content-handlers.js +20 -3
  29. package/dist/session-content-handlers.js.map +1 -1
  30. package/dist/session-node-manager.d.ts +178 -28
  31. package/dist/session-node-manager.d.ts.map +1 -1
  32. package/dist/session-node-manager.js +2289 -286
  33. package/dist/session-node-manager.js.map +1 -1
  34. package/dist/session-relay-client.d.ts +51 -2
  35. package/dist/session-relay-client.d.ts.map +1 -1
  36. package/dist/session-relay-client.js +211 -27
  37. package/dist/session-relay-client.js.map +1 -1
  38. package/package.json +5 -5
@@ -47,6 +47,27 @@ export const REFUSAL_KINDS = {
47
47
  * read then said "call again and keep waiting" — the notice was already gone. Every door returns the
48
48
  * two together for that reason.
49
49
  */
50
+ /**
51
+ * DOD-M15-REFUSALTERMINAL-1 — what the counts on a refusal notice mean, for EVERY door that shows
52
+ * one.
53
+ *
54
+ * ⚠️ **ONE constant because there are TWO doors.** `cello_inbox` and `cello_receive` both surface
55
+ * refusals, and review F4 caught the receive door shipping the new field names with no sentence
56
+ * explaining them — the misreading this line exists to end, moved rather than fixed. A second copy
57
+ * is a second thing to keep true.
58
+ *
59
+ * The defect being described: on 2026-09-04 an operator read `times: 58` for a refusal that had
60
+ * fired tens of thousands of times over two and a half days, and concluded it was minor. The
61
+ * counter was accurate; the word `times` was the lie.
62
+ */
63
+ export const REFUSAL_COUNT_GUIDANCE = "THE TWO COUNTS MEAN DIFFERENT THINGS. `times_since_dismissed` counts only the refusals since " +
64
+ "the operator last ran cello_dismiss on that conversation — dismissing clears the notice, never " +
65
+ "the cause — so it can be small while the real figure is enormous. Judge severity by the " +
66
+ "lifetime one instead, which arrives as ONE of these two: `times_total` is an exact count from " +
67
+ "the first refusal; `times_total_at_least` is a FLOOR, for a conversation whose tally began when " +
68
+ "this daemon was upgraded, and the true figure may be far higher. If NEITHER is present, this " +
69
+ "notice could not be written to disk (see session.refusal.persist.failed) and its scale is " +
70
+ "unknown — in that case do not read the smaller number as the total.";
50
71
  export const REFUSAL_KIND_GUIDANCE = {
51
72
  /**
52
73
  * VERBATIM, and deliberately so: this is the sentence the previous unit wrote for exactly this
@@ -154,4 +175,31 @@ export const REFUSAL_GUIDANCE = {
154
175
  "start a new one. If it repeats for the SAME counterparty, do not accept anything from them " +
155
176
  "until you have confirmed out of band that they still control the identity you know them by.",
156
177
  };
178
+ /**
179
+ * 033-ACKEMIT — what the operator is told when the RELAY refuses to witness a message because the
180
+ * acknowledgement this daemon signed contradicts the relay's own record.
181
+ *
182
+ * ⚠️ **A PURE FUNCTION, AND THAT IS THE POINT.** The two sentences it returns lived inline at the
183
+ * one call site, which sits behind a real relay answering a real `hash_submit_error` — so nothing in
184
+ * the suite could reach them, and the guard's own comment invoked the "a refusal nobody hears"
185
+ * pattern while being, itself, untestable. Review F6 then found the `relay_fault` remedy naming a
186
+ * move that does not exist ("sending again usually picks a healthy one" — a session keeps the relay
187
+ * its assignment names, and there is no handover anywhere). Pulling the text out is what lets a test
188
+ * hold it.
189
+ *
190
+ * `relayFault` is `ack_hash_unverifiable`: the relay's counter reached a position its own leaf log
191
+ * did not, which is a fault on the relay and NOT something either participant did. It is separate
192
+ * from a mismatch for that reason — sending an operator to ask their counterparty about a problem
193
+ * the witness caused spends their attention on the wrong party.
194
+ */
195
+ export function relayAckHashRefusalNotice(relayFault, mailboxRouteAvailable) {
196
+ const impact = relayFault
197
+ ? "the relay could not check what this agent said it had received, so it did not witness this message. The message was still sent; it has no place in the notarized record."
198
+ : "the relay REFUSED to witness this message: what this agent signed as the last thing it received from your counterparty does not match what the relay recorded at that position. The message was still sent, and it has no place in the notarized record. Your copy of this conversation and the witness's copy have stopped agreeing.";
199
+ const guidance = relayFault
200
+ ? "Nothing to change on your machine — the fault is on the relay this session is bound to, and it cannot be moved: a session keeps the relay its assignment names. Your messages still reach your counterparty; what stops is the notarized record growing. Close the session (cello_close_session) while its record is still worth notarizing, and open a new one, which will be assigned a relay afresh."
201
+ : "Do NOT rely on a receipt for this conversation until this stops. Send one more message: if it is witnessed, this was a one-off. If it repeats, the two records genuinely disagree — confirm what your counterparty actually sent you OUT OF BAND, then close this session and open a new one." +
202
+ (mailboxRouteAvailable ? "" : "");
203
+ return { impact, guidance };
204
+ }
157
205
  //# sourceMappingURL=refusal-reasons.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"refusal-reasons.js","sourceRoot":"","sources":["../src/refusal-reasons.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,6FAA6F;IAC7F,OAAO,EAAE,SAAS;IAClB,2FAA2F;IAC3F,OAAO,EAAE,SAAS;IAClB,mGAAmG;IACnG,QAAQ,EAAE,UAAU;IACpB,gGAAgG;IAChG,IAAI,EAAE,MAAM;IACZ,0FAA0F;IAC1F,QAAQ,EAAE,UAAU;CACZ,CAAC;AAIX;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAgC;IAChE;;;;OAIG;IACH,CAAC,aAAa,CAAC,OAAO,CAAC;IACrB;;;;;;;;;OASG;IACH,2FAA2F;QAC3F;;;;;;;;;WASG;QACH,oEAAoE;QACpE,qEAAqE;QACrE,kGAAkG;QAClG,iGAAiG;QACjG,sBAAsB;IACxB,CAAC,aAAa,CAAC,OAAO,CAAC,EACrB,+FAA+F;QAC/F,8FAA8F;QAC9F,iGAAiG;QACjG,6FAA6F;QAC7F,2BAA2B;IAC7B,CAAC,aAAa,CAAC,QAAQ,CAAC,EACtB,4FAA4F;QAC5F,+FAA+F;QAC/F,kGAAkG;QAClG,iGAAiG;QACjG,QAAQ;IACV,CAAC,aAAa,CAAC,IAAI,CAAC,EAClB,gGAAgG;QAChG,2FAA2F;QAC3F,gGAAgG;QAChG,yEAAyE;IAC3E,CAAC,aAAa,CAAC,QAAQ,CAAC,EACtB,kGAAkG;QAClG,8FAA8F;QAC9F,iFAAiF;CACpF,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,4FAA4F;IAC5F,gCAAgC,EAAE,kCAAkC;IACpE,6FAA6F;IAC7F,gCAAgC,EAAE,kCAAkC;IACpE,gFAAgF;IAChF,0BAA0B,EAAE,4BAA4B;CAChD,CAAC;AAIX;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,+BAA+B,EAAE,iCAAiC;IAClE,mCAAmC,EAAE,qCAAqC;CAClE,CAAC;AAuBX;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAkC;IAC7D,CAAC,eAAe,CAAC,gCAAgC,CAAC,EAChD,8FAA8F;QAC9F,+FAA+F;QAC/F,8FAA8F;QAC9F,6FAA6F;QAC7F,mEAAmE;IACrE,CAAC,eAAe,CAAC,gCAAgC,CAAC,EAChD,gGAAgG;QAChG,gGAAgG;QAChG,6FAA6F;QAC7F,+FAA+F;QAC/F,gGAAgG;QAChG,0FAA0F;IAC5F,CAAC,eAAe,CAAC,0BAA0B,CAAC,EAC1C,2FAA2F;QAC3F,+FAA+F;QAC/F,6FAA6F;QAC7F,6FAA6F;QAC7F,6FAA6F;CAChG,CAAC"}
1
+ {"version":3,"file":"refusal-reasons.js","sourceRoot":"","sources":["../src/refusal-reasons.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,6FAA6F;IAC7F,OAAO,EAAE,SAAS;IAClB,2FAA2F;IAC3F,OAAO,EAAE,SAAS;IAClB,mGAAmG;IACnG,QAAQ,EAAE,UAAU;IACpB,gGAAgG;IAChG,IAAI,EAAE,MAAM;IACZ,0FAA0F;IAC1F,QAAQ,EAAE,UAAU;CACZ,CAAC;AAIX;;;;;;;GAOG;AACH;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,sBAAsB,GACjC,+FAA+F;IAC/F,iGAAiG;IACjG,0FAA0F;IAC1F,gGAAgG;IAChG,kGAAkG;IAClG,+FAA+F;IAC/F,4FAA4F;IAC5F,qEAAqE,CAAC;AAExE,MAAM,CAAC,MAAM,qBAAqB,GAAgC;IAChE;;;;OAIG;IACH,CAAC,aAAa,CAAC,OAAO,CAAC;IACrB;;;;;;;;;OASG;IACH,2FAA2F;QAC3F;;;;;;;;;WASG;QACH,oEAAoE;QACpE,qEAAqE;QACrE,kGAAkG;QAClG,iGAAiG;QACjG,sBAAsB;IACxB,CAAC,aAAa,CAAC,OAAO,CAAC,EACrB,+FAA+F;QAC/F,8FAA8F;QAC9F,iGAAiG;QACjG,6FAA6F;QAC7F,2BAA2B;IAC7B,CAAC,aAAa,CAAC,QAAQ,CAAC,EACtB,4FAA4F;QAC5F,+FAA+F;QAC/F,kGAAkG;QAClG,iGAAiG;QACjG,QAAQ;IACV,CAAC,aAAa,CAAC,IAAI,CAAC,EAClB,gGAAgG;QAChG,2FAA2F;QAC3F,gGAAgG;QAChG,yEAAyE;IAC3E,CAAC,aAAa,CAAC,QAAQ,CAAC,EACtB,kGAAkG;QAClG,8FAA8F;QAC9F,iFAAiF;CACpF,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,4FAA4F;IAC5F,gCAAgC,EAAE,kCAAkC;IACpE,6FAA6F;IAC7F,gCAAgC,EAAE,kCAAkC;IACpE,gFAAgF;IAChF,0BAA0B,EAAE,4BAA4B;CAChD,CAAC;AAIX;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,+BAA+B,EAAE,iCAAiC;IAClE,mCAAmC,EAAE,qCAAqC;CAClE,CAAC;AAuBX;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAkC;IAC7D,CAAC,eAAe,CAAC,gCAAgC,CAAC,EAChD,8FAA8F;QAC9F,+FAA+F;QAC/F,8FAA8F;QAC9F,6FAA6F;QAC7F,mEAAmE;IACrE,CAAC,eAAe,CAAC,gCAAgC,CAAC,EAChD,gGAAgG;QAChG,gGAAgG;QAChG,6FAA6F;QAC7F,+FAA+F;QAC/F,gGAAgG;QAChG,0FAA0F;IAC5F,CAAC,eAAe,CAAC,0BAA0B,CAAC,EAC1C,2FAA2F;QAC3F,+FAA+F;QAC/F,6FAA6F;QAC7F,6FAA6F;QAC7F,6FAA6F;CAChG,CAAC;AAEF;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,yBAAyB,CAAC,UAAmB,EAAE,qBAA8B;IAI3F,MAAM,MAAM,GAAG,UAAU;QACvB,CAAC,CAAC,0KAA0K;QAC5K,CAAC,CAAC,uUAAuU,CAAC;IAC5U,MAAM,QAAQ,GAAG,UAAU;QACzB,CAAC,CAAC,yYAAyY;QAC3Y,CAAC,CAAC,+RAA+R;YAC/R,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACtC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;AAC9B,CAAC"}
@@ -80,10 +80,26 @@ export declare class SessionConnectionGater implements ConnectionGater {
80
80
  */
81
81
  closeInbound(): void;
82
82
  /**
83
- * Record that this receiver now holds a LIVE circuit reservation with `peerId`, which is what
84
- * earns that relay the inbound AutoNAT carve-out. Pass null when the reservation is lost.
83
+ * Record the relays this receiver holds LIVE circuit reservations with the only peers that earn
84
+ * the inbound AutoNAT carve-out.
85
+ *
86
+ * REPLACES the set rather than adding to it. A relay absent from `peerIds` loses its carve-out in
87
+ * the same call that notices the reservation is gone, so the bound stays "holds one now" and
88
+ * cannot drift into "granted one once". Pass `[]` when nothing is held.
89
+ */
90
+ /**
91
+ * Does this relay hold the inbound carve-out — i.e. would this gater ADMIT an inbound dial from
92
+ * it on the strength of a live reservation?
93
+ *
94
+ * **This IS the carve-out branch**, not a description of it: `denyInboundEncryptedConnection`
95
+ * calls this method rather than re-testing the set. One definition, so nothing observing the gate
96
+ * can be told something different from what the gate does — which matters because the review
97
+ * found that substituting the CANDIDATE list for the held list at the manager's
98
+ * `setReservedRelayPeers` call left every test in this unit green while opening exactly the hole
99
+ * the bound exists to close. Read-only and silent: an observation must not log a refusal.
85
100
  */
86
- setReservedRelayPeer(peerId: string | null): void;
101
+ holdsInboundCarveOut(peerId: string): boolean;
102
+ setReservedRelayPeers(peerIds: readonly string[]): void;
87
103
  /**
88
104
  * M7 DOD-SPINE-6: permit an OUTBOUND connection to a relay peer (the assigned
89
105
  * witness, a reservation relay, or the relay inside the counterparty's circuit
@@ -1 +1 @@
1
- {"version":3,"file":"session-connection-gater.d.ts","sourceRoot":"","sources":["../src/session-connection-gater.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAC9E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAEzC;;;GAGG;AACH,MAAM,WAAW,uBAAuB;IACtC,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;CAC1C;AAED,gFAAgF;AAChF,qBAAa,iCAAkC,YAAW,uBAAuB;IAC/E,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;CAG1C;AAED,uEAAuE;AACvE,qBAAa,4BAA6B,YAAW,uBAAuB;IAC1E,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;CAG1C;AAED;;;;;;GAMG;AACH,qBAAa,sBAAuB,YAAW,eAAe;;gBAkDhD,IAAI,EAAE;QAChB,SAAS,EAAE,MAAM,CAAC;QAClB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;QAC7B,MAAM,EAAE,MAAM,CAAC;KAChB;IASD;;;;;OAKG;IACH,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAKpC;;;;;;OAMG;IACH,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAItC;;;;;;;OAOG;IACH,YAAY,IAAI,IAAI;IAIpB;;;OAGG;IACH,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAIjD;;;;;OAKG;IACH,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAI5C;;;;;;;;OAQG;IACH,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAI9C,YAAY,IAAI,MAAM;IAItB,gBAAgB,IAAI,MAAM,GAAG,IAAI;IAIjC;;;;OAIG;IACH,8BAA8B,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,mBAAmB,GAAG,OAAO;IAIrF;;;;OAIG;IACH,+BAA+B,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,mBAAmB,GAAG,OAAO;CA4FvF;AAED;;;;;;GAMG;AACH,qBAAa,wBAAyB,YAAW,eAAe;;gBAIlD,QAAQ,EAAE,uBAAuB,EAAE,MAAM,EAAE,MAAM;IAK7D,8BAA8B,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,mBAAmB,GAAG,OAAO;IAIrF,+BAA+B,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,mBAAmB,GAAG,OAAO;CAgBvF"}
1
+ {"version":3,"file":"session-connection-gater.d.ts","sourceRoot":"","sources":["../src/session-connection-gater.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAC9E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAEzC;;;GAGG;AACH,MAAM,WAAW,uBAAuB;IACtC,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;CAC1C;AAED,gFAAgF;AAChF,qBAAa,iCAAkC,YAAW,uBAAuB;IAC/E,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;CAG1C;AAED,uEAAuE;AACvE,qBAAa,4BAA6B,YAAW,uBAAuB;IAC1E,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;CAG1C;AAED;;;;;;GAMG;AACH,qBAAa,sBAAuB,YAAW,eAAe;;gBAyDhD,IAAI,EAAE;QAChB,SAAS,EAAE,MAAM,CAAC;QAClB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;QAC7B,MAAM,EAAE,MAAM,CAAC;KAChB;IASD;;;;;OAKG;IACH,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAKpC;;;;;;OAMG;IACH,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAItC;;;;;;;OAOG;IACH,YAAY,IAAI,IAAI;IAIpB;;;;;;;OAOG;IACH;;;;;;;;;;OAUG;IACH,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAI7C,qBAAqB,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI;IAKvD;;;;;OAKG;IACH,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAI5C;;;;;;;;OAQG;IACH,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAI9C,YAAY,IAAI,MAAM;IAItB,gBAAgB,IAAI,MAAM,GAAG,IAAI;IAIjC;;;;OAIG;IACH,8BAA8B,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,mBAAmB,GAAG,OAAO;IAIrF;;;;OAIG;IACH,+BAA+B,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,mBAAmB,GAAG,OAAO;CA8FvF;AAED;;;;;;GAMG;AACH,qBAAa,wBAAyB,YAAW,eAAe;;gBAIlD,QAAQ,EAAE,uBAAuB,EAAE,MAAM,EAAE,MAAM;IAK7D,8BAA8B,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,mBAAmB,GAAG,OAAO;IAIrF,+BAA+B,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,mBAAmB,GAAG,OAAO;CAgBvF"}
@@ -76,7 +76,7 @@ export class SessionConnectionGater {
76
76
  */
77
77
  #standingReceiverOutbound;
78
78
  /**
79
- * The ONE relay this receiver currently holds a live circuit reservation with, or null.
79
+ * The relays this receiver currently holds a live circuit reservation with. Empty by default.
80
80
  *
81
81
  * Review N3. The inbound AutoNAT carve-out below first keyed on `#allowedOutboundPeerIds`, and
82
82
  * that set is populated from the relay peer ids **the directory hands out at signaling-auth
@@ -84,11 +84,18 @@ export class SessionConnectionGater {
84
84
  * entire threat model is "one compromised directory", that handed the adversary back a narrow
85
85
  * inbound foothold: name a relay, never complete a reservation, and dial in anyway.
86
86
  *
87
- * A single slot, set only when a reservation actually succeeds, is the honest version of the
87
+ * Entries added ONLY when a reservation actually succeeded is the honest version of the
88
88
  * justification the carve-out's comment makes — "a peer this node already dials and holds a
89
89
  * reservation with" — rather than a set that merely tends to contain those.
90
+ *
91
+ * 032-RELAYSPREAD widened this from ONE peer to a set, because the receiver now holds a
92
+ * reservation with every relay that will grant one. **The BOUND did not widen with it, and that
93
+ * is the security-sensitive part**: membership is still "this relay's own reservation is
94
+ * confirmed held", never "this relay is in the pool". Widening it to the candidate list would
95
+ * let a directory that merely NAMES a relay dial in behind the gate — the exact failure the
96
+ * single-relay version was written to prevent, multiplied by the size of the pool.
90
97
  */
91
- #reservedRelayPeerId = null;
98
+ #reservedRelayPeerIds = new Set();
92
99
  constructor(opts) {
93
100
  this.#sessionId = opts.sessionId;
94
101
  this.#allowedPeerId = opts.allowedPeerId;
@@ -129,11 +136,31 @@ export class SessionConnectionGater {
129
136
  this.#allowedPeerId = null;
130
137
  }
131
138
  /**
132
- * Record that this receiver now holds a LIVE circuit reservation with `peerId`, which is what
133
- * earns that relay the inbound AutoNAT carve-out. Pass null when the reservation is lost.
139
+ * Record the relays this receiver holds LIVE circuit reservations with the only peers that earn
140
+ * the inbound AutoNAT carve-out.
141
+ *
142
+ * REPLACES the set rather than adding to it. A relay absent from `peerIds` loses its carve-out in
143
+ * the same call that notices the reservation is gone, so the bound stays "holds one now" and
144
+ * cannot drift into "granted one once". Pass `[]` when nothing is held.
145
+ */
146
+ /**
147
+ * Does this relay hold the inbound carve-out — i.e. would this gater ADMIT an inbound dial from
148
+ * it on the strength of a live reservation?
149
+ *
150
+ * **This IS the carve-out branch**, not a description of it: `denyInboundEncryptedConnection`
151
+ * calls this method rather than re-testing the set. One definition, so nothing observing the gate
152
+ * can be told something different from what the gate does — which matters because the review
153
+ * found that substituting the CANDIDATE list for the held list at the manager's
154
+ * `setReservedRelayPeers` call left every test in this unit green while opening exactly the hole
155
+ * the bound exists to close. Read-only and silent: an observation must not log a refusal.
134
156
  */
135
- setReservedRelayPeer(peerId) {
136
- this.#reservedRelayPeerId = peerId;
157
+ holdsInboundCarveOut(peerId) {
158
+ return this.#standingReceiverOutbound && this.#reservedRelayPeerIds.has(peerId);
159
+ }
160
+ setReservedRelayPeers(peerIds) {
161
+ this.#reservedRelayPeerIds.clear();
162
+ for (const peerId of peerIds)
163
+ this.#reservedRelayPeerIds.add(peerId);
137
164
  }
138
165
  /**
139
166
  * M7 DOD-SPINE-6: permit an OUTBOUND connection to a relay peer (the assigned
@@ -235,14 +262,16 @@ export class SessionConnectionGater {
235
262
  * breaks INV-5 — a SESSION node admits exactly one counterparty, and the existing tests say so
236
263
  * in those words. A promoted node has no AutoNAT probe to answer, so it needs nothing here.
237
264
  *
238
- * To the ONE RELAY HOLDING A LIVE RESERVATION (`#reservedRelayPeerId`), not the outbound
265
+ * To THE RELAYS HOLDING A LIVE RESERVATION (`#reservedRelayPeerIds`), not the outbound
239
266
  * allowlist. That allowlist is built from relay peer ids the DIRECTORY supplies, cumulatively,
240
267
  * including ones whose reservation never completed — so keying on it let a compromised
241
268
  * directory name a relay and dial in without ever holding a reservation. In a unit whose threat
242
- * model is exactly that adversary, the set was the wrong thing to trust.
269
+ * model is exactly that adversary, the outbound allowlist was the wrong thing to trust, and it
270
+ * still is: this set holds only relays whose own reservation was confirmed, however many relays
271
+ * the pool names.
243
272
  */
244
- if (direction === "inbound" && this.#standingReceiverOutbound && peerId.toString() === this.#reservedRelayPeerId) {
245
- return false; // allow — the relay we hold a live reservation with, answering a probe we started
273
+ if (direction === "inbound" && this.holdsInboundCarveOut(peerId.toString())) {
274
+ return false; // allow — a relay we hold a live reservation with, answering a probe we started
246
275
  }
247
276
  if (this.#allowedPeerId === null) {
248
277
  if (direction === "outbound")
@@ -1 +1 @@
1
- {"version":3,"file":"session-connection-gater.js","sourceRoot":"","sources":["../src/session-connection-gater.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session-connection-gater.js","sourceRoot":"","sources":["../src/session-connection-gater.ts"],"names":[],"mappings":"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"}
@@ -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;AAoF5D;;;;;;;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,CAi1C7E"}
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;AA4G5D;;;;;;;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,CAs1C7E"}
@@ -19,7 +19,7 @@ import { MAX_CONTENT_BYTES } from "@cello-protocol/protocol-types";
19
19
  import { TIER } from "./contacts-tier-migration.js";
20
20
  import { GATEWAY_UNAVAILABLE, GOVERNANCE_TIMEOUT } from "@cello-protocol/gateway";
21
21
  import { isAutoReplyMarked } from "./away-detection.js";
22
- import { REFUSAL_KIND_GUIDANCE } from "./refusal-reasons.js";
22
+ import { REFUSAL_COUNT_GUIDANCE, REFUSAL_KIND_GUIDANCE } from "./refusal-reasons.js";
23
23
  /**
24
24
  * DOD-M12B-AWAY-MARK-1 — what a reader needs to know the moment it sees a marked message.
25
25
  *
@@ -79,7 +79,19 @@ consumerId) {
79
79
  // rows they are about.
80
80
  .map((k) => `[kind: ${k}] ${REFUSAL_KIND_GUIDANCE[k]}`)
81
81
  .join("\n\n");
82
- return { refusals, refusal_guidance };
82
+ return {
83
+ refusals: refusals.map((r) => ({
84
+ reason: r.reason, kind: r.kind, impact: r.impact, guidance: r.guidance,
85
+ times_since_dismissed: r.timesSinceDismissed,
86
+ ...(r.timesTotal === undefined ? {} : { times_total: r.timesTotal }),
87
+ ...(r.timesTotalAtLeast === undefined ? {} : { times_total_at_least: r.timesTotalAtLeast }),
88
+ ...(r.repeat === true ? { repeat: true } : {}),
89
+ })),
90
+ // DOD-M15-REFUSALTERMINAL-1 review F4: the counts need their sentence at BOTH doors. Without
91
+ // it this one hands an agent the small number with nothing saying it is not the lifetime one —
92
+ // which is the whole defect, moved rather than fixed.
93
+ refusal_guidance: `${refusal_guidance}\n\n${REFUSAL_COUNT_GUIDANCE}`,
94
+ };
83
95
  }
84
96
  const AUTO_REPLY_GUIDANCE = "At least one message here is an AUTOMATIC reply generated by the counterparty's daemon because " +
85
97
  "nobody was attending that agent — no person and no agent read what you sent. Do not treat it as " +
@@ -1430,7 +1442,12 @@ export function registerSessionContentHandlers(deps) {
1430
1442
  // sent nothing at all and has no last message to reason about.
1431
1443
  const what = impairment?.cause === "delivery_ack"
1432
1444
  ? "Our acknowledgement to the counterparty could not be sent (liveness: impaired) — this is about a receipt we owe them, not about anything you sent."
1433
- : "Your own last send did not reach the counterparty on the direct path (liveness: impaired).";
1445
+ // `029c` review F7: a content-key fault is LOCAL and the connection is fine. Saying "did
1446
+ // not reach the counterparty on the direct path" sends the operator to inspect a network
1447
+ // that is working, and to blame a peer who is not involved.
1448
+ : impairment?.cause === "content_key"
1449
+ ? "Your own last send could not be encrypted for this conversation, so it was never put on the wire (liveness: impaired). THIS IS A FAULT ON THIS MACHINE — the connection is fine and your counterparty is not involved."
1450
+ : "Your own last send did not reach the counterparty on the direct path (liveness: impaired).";
1434
1451
  const whatNext = impairment?.retained === "parked" ? " That message went to the relay to hand over instead — do NOT resend it: it is not lost, and a resend takes a second position in the record."
1435
1452
  : impairment?.retained === "durable" ? " That message is queued locally and will be re-sent automatically — do NOT resend it: an identical resend is not separately queued."
1436
1453
  : impairment?.retained === "lost" ? " That message could NOT be queued and is lost — send it again. (cello_send said the same when it failed.)"
@@ -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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"}