@cello-protocol/daemon 0.0.211 → 0.0.213

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 (215) hide show
  1. package/dist/agent-admin-handlers.d.ts.map +1 -1
  2. package/dist/agent-admin-handlers.js +3 -0
  3. package/dist/agent-admin-handlers.js.map +1 -1
  4. package/dist/agent-handlers.d.ts.map +1 -1
  5. package/dist/agent-handlers.js +44 -0
  6. package/dist/agent-handlers.js.map +1 -1
  7. package/dist/agent-id-migration.d.ts.map +1 -1
  8. package/dist/agent-id-migration.js +11 -2
  9. package/dist/agent-id-migration.js.map +1 -1
  10. package/dist/assignment-verify.d.ts.map +1 -1
  11. package/dist/assignment-verify.js +2 -2
  12. package/dist/assignment-verify.js.map +1 -1
  13. package/dist/attendance-wiring.d.ts +2 -21
  14. package/dist/attendance-wiring.d.ts.map +1 -1
  15. package/dist/attendance-wiring.js +57 -251
  16. package/dist/attendance-wiring.js.map +1 -1
  17. package/dist/away-detection.d.ts +16 -21
  18. package/dist/away-detection.d.ts.map +1 -1
  19. package/dist/away-detection.js +34 -23
  20. package/dist/away-detection.js.map +1 -1
  21. package/dist/boot-agents.d.ts.map +1 -1
  22. package/dist/close-session-handler.d.ts.map +1 -1
  23. package/dist/close-session-handler.js +79 -6
  24. package/dist/close-session-handler.js.map +1 -1
  25. package/dist/co-attendance.d.ts +1 -1
  26. package/dist/co-attendance.js +1 -1
  27. package/dist/consortium-fingerprint.d.ts +115 -0
  28. package/dist/consortium-fingerprint.d.ts.map +1 -0
  29. package/dist/consortium-fingerprint.js +175 -0
  30. package/dist/consortium-fingerprint.js.map +1 -0
  31. package/dist/content-park.d.ts.map +1 -1
  32. package/dist/content-park.js +80 -0
  33. package/dist/content-park.js.map +1 -1
  34. package/dist/daemon-handle.d.ts +1 -1
  35. package/dist/daemon-handle.d.ts.map +1 -1
  36. package/dist/daemon-status-report.d.ts +10 -2
  37. package/dist/daemon-status-report.d.ts.map +1 -1
  38. package/dist/daemon-status-report.js +6 -3
  39. package/dist/daemon-status-report.js.map +1 -1
  40. package/dist/daemon.d.ts.map +1 -1
  41. package/dist/daemon.js +57 -27
  42. package/dist/daemon.js.map +1 -1
  43. package/dist/directory-bootstrap.d.ts +3 -1
  44. package/dist/directory-bootstrap.d.ts.map +1 -1
  45. package/dist/directory-bootstrap.js +3 -1
  46. package/dist/directory-bootstrap.js.map +1 -1
  47. package/dist/directory-connect.d.ts.map +1 -1
  48. package/dist/directory-connect.js +10 -2
  49. package/dist/directory-connect.js.map +1 -1
  50. package/dist/disconnect-cleanup.d.ts +7 -0
  51. package/dist/disconnect-cleanup.d.ts.map +1 -1
  52. package/dist/disconnect-cleanup.js +16 -1
  53. package/dist/disconnect-cleanup.js.map +1 -1
  54. package/dist/document-flag.d.ts +58 -0
  55. package/dist/document-flag.d.ts.map +1 -0
  56. package/dist/document-flag.js +70 -0
  57. package/dist/document-flag.js.map +1 -0
  58. package/dist/document-gate-wiring.d.ts +61 -0
  59. package/dist/document-gate-wiring.d.ts.map +1 -0
  60. package/dist/document-gate-wiring.js +119 -0
  61. package/dist/document-gate-wiring.js.map +1 -0
  62. package/dist/document-notify.d.ts +0 -1
  63. package/dist/document-notify.d.ts.map +1 -1
  64. package/dist/document-notify.js +0 -1
  65. package/dist/document-notify.js.map +1 -1
  66. package/dist/document-store.d.ts +0 -1
  67. package/dist/document-store.d.ts.map +1 -1
  68. package/dist/document-store.js +0 -1
  69. package/dist/document-store.js.map +1 -1
  70. package/dist/document-write-path.d.ts.map +1 -1
  71. package/dist/document-write-path.js +2 -9
  72. package/dist/document-write-path.js.map +1 -1
  73. package/dist/inbound-sessions.d.ts +3 -1
  74. package/dist/inbound-sessions.d.ts.map +1 -1
  75. package/dist/inbound-sessions.js +12 -4
  76. package/dist/inbound-sessions.js.map +1 -1
  77. package/dist/index.d.ts +5 -1
  78. package/dist/index.d.ts.map +1 -1
  79. package/dist/index.js +13 -1
  80. package/dist/index.js.map +1 -1
  81. package/dist/initiate-session-handler.d.ts.map +1 -1
  82. package/dist/initiate-session-handler.js +5 -1
  83. package/dist/initiate-session-handler.js.map +1 -1
  84. package/dist/ipc-server.d.ts.map +1 -1
  85. package/dist/ipc-server.js +52 -2
  86. package/dist/ipc-server.js.map +1 -1
  87. package/dist/park-envelope.d.ts +68 -0
  88. package/dist/park-envelope.d.ts.map +1 -1
  89. package/dist/park-envelope.js +86 -1
  90. package/dist/park-envelope.js.map +1 -1
  91. package/dist/park-recovery.d.ts +46 -0
  92. package/dist/park-recovery.d.ts.map +1 -1
  93. package/dist/park-recovery.js +100 -1
  94. package/dist/park-recovery.js.map +1 -1
  95. package/dist/relay-only.d.ts.map +1 -1
  96. package/dist/relay-only.js +7 -4
  97. package/dist/relay-only.js.map +1 -1
  98. package/dist/relay-receipt-store.d.ts +75 -17
  99. package/dist/relay-receipt-store.d.ts.map +1 -1
  100. package/dist/relay-receipt-store.js +109 -27
  101. package/dist/relay-receipt-store.js.map +1 -1
  102. package/dist/seal-carried-close.d.ts +37 -0
  103. package/dist/seal-carried-close.d.ts.map +1 -0
  104. package/dist/seal-carried-close.js +179 -0
  105. package/dist/seal-carried-close.js.map +1 -0
  106. package/dist/seal-certified-root-check.d.ts +37 -0
  107. package/dist/seal-certified-root-check.d.ts.map +1 -0
  108. package/dist/seal-certified-root-check.js +127 -0
  109. package/dist/seal-certified-root-check.js.map +1 -0
  110. package/dist/seal-coordinator.d.ts +6 -1
  111. package/dist/seal-coordinator.d.ts.map +1 -1
  112. package/dist/seal-coordinator.js +2 -1
  113. package/dist/seal-coordinator.js.map +1 -1
  114. package/dist/seal-escalation.d.ts.map +1 -1
  115. package/dist/seal-escalation.js +54 -0
  116. package/dist/seal-escalation.js.map +1 -1
  117. package/dist/seal-local-terminus.d.ts +41 -0
  118. package/dist/seal-local-terminus.d.ts.map +1 -0
  119. package/dist/seal-local-terminus.js +170 -0
  120. package/dist/seal-local-terminus.js.map +1 -0
  121. package/dist/seal-relay-silence.d.ts +51 -0
  122. package/dist/seal-relay-silence.d.ts.map +1 -0
  123. package/dist/seal-relay-silence.js +76 -0
  124. package/dist/seal-relay-silence.js.map +1 -0
  125. package/dist/seal-settle.d.ts +38 -0
  126. package/dist/seal-settle.d.ts.map +1 -0
  127. package/dist/seal-settle.js +33 -0
  128. package/dist/seal-settle.js.map +1 -0
  129. package/dist/session-assignment-parser.d.ts.map +1 -1
  130. package/dist/session-assignment-parser.js +5 -0
  131. package/dist/session-assignment-parser.js.map +1 -1
  132. package/dist/session-ceremony.d.ts +21 -14
  133. package/dist/session-ceremony.d.ts.map +1 -1
  134. package/dist/session-ceremony.js +25 -15
  135. package/dist/session-ceremony.js.map +1 -1
  136. package/dist/session-content-context.d.ts +11 -2
  137. package/dist/session-content-context.d.ts.map +1 -1
  138. package/dist/session-content-ingest.d.ts +0 -3
  139. package/dist/session-content-ingest.d.ts.map +1 -1
  140. package/dist/session-content-ingest.js +18 -111
  141. package/dist/session-content-ingest.js.map +1 -1
  142. package/dist/session-content-send.d.ts +5 -0
  143. package/dist/session-content-send.d.ts.map +1 -1
  144. package/dist/session-content-send.js +58 -0
  145. package/dist/session-content-send.js.map +1 -1
  146. package/dist/session-delivery-acks.d.ts +195 -0
  147. package/dist/session-delivery-acks.d.ts.map +1 -0
  148. package/dist/session-delivery-acks.js +674 -0
  149. package/dist/session-delivery-acks.js.map +1 -0
  150. package/dist/session-leaf-records.d.ts +28 -1
  151. package/dist/session-leaf-records.d.ts.map +1 -1
  152. package/dist/session-leaf-records.js +86 -1
  153. package/dist/session-leaf-records.js.map +1 -1
  154. package/dist/session-lifecycle.js +12 -12
  155. package/dist/session-lifecycle.js.map +1 -1
  156. package/dist/session-node-manager.d.ts +49 -22
  157. package/dist/session-node-manager.d.ts.map +1 -1
  158. package/dist/session-node-manager.js +113 -42
  159. package/dist/session-node-manager.js.map +1 -1
  160. package/dist/session-node-types.d.ts +18 -12
  161. package/dist/session-node-types.d.ts.map +1 -1
  162. package/dist/session-node-types.js +1 -9
  163. package/dist/session-node-types.js.map +1 -1
  164. package/dist/session-read-handlers.d.ts.map +1 -1
  165. package/dist/session-read-handlers.js +125 -4
  166. package/dist/session-read-handlers.js.map +1 -1
  167. package/dist/session-records.d.ts +17 -0
  168. package/dist/session-records.d.ts.map +1 -1
  169. package/dist/session-records.js +32 -0
  170. package/dist/session-records.js.map +1 -1
  171. package/dist/session-relay-client.d.ts +103 -6
  172. package/dist/session-relay-client.d.ts.map +1 -1
  173. package/dist/session-relay-client.js +380 -41
  174. package/dist/session-relay-client.js.map +1 -1
  175. package/dist/session-relay.d.ts +24 -2
  176. package/dist/session-relay.d.ts.map +1 -1
  177. package/dist/session-relay.js +23 -8
  178. package/dist/session-relay.js.map +1 -1
  179. package/dist/session-schema.d.ts.map +1 -1
  180. package/dist/session-schema.js +43 -0
  181. package/dist/session-schema.js.map +1 -1
  182. package/dist/session-seal-leaf-store.d.ts +6 -0
  183. package/dist/session-seal-leaf-store.d.ts.map +1 -1
  184. package/dist/session-seal-leaf-store.js +21 -4
  185. package/dist/session-seal-leaf-store.js.map +1 -1
  186. package/dist/session-seal.d.ts +30 -32
  187. package/dist/session-seal.d.ts.map +1 -1
  188. package/dist/session-seal.js +145 -116
  189. package/dist/session-seal.js.map +1 -1
  190. package/dist/session-views.d.ts +1 -0
  191. package/dist/session-views.d.ts.map +1 -1
  192. package/dist/session-views.js +81 -1
  193. package/dist/session-views.js.map +1 -1
  194. package/dist/signaling-connect.d.ts +1 -0
  195. package/dist/signaling-connect.d.ts.map +1 -1
  196. package/dist/signaling-connect.js +0 -1
  197. package/dist/signaling-connect.js.map +1 -1
  198. package/dist/status-handler.d.ts +9 -1
  199. package/dist/status-handler.d.ts.map +1 -1
  200. package/dist/status-handler.js +5 -2
  201. package/dist/status-handler.js.map +1 -1
  202. package/dist/test-handlers.js +4 -3
  203. package/dist/test-handlers.js.map +1 -1
  204. package/dist/trust-signal-store.d.ts +4 -2
  205. package/dist/trust-signal-store.d.ts.map +1 -1
  206. package/dist/trust-signal-store.js +4 -2
  207. package/dist/trust-signal-store.js.map +1 -1
  208. package/dist/types.d.ts +64 -0
  209. package/dist/types.d.ts.map +1 -1
  210. package/dist/types.js.map +1 -1
  211. package/dist/vocabulary.d.ts +22 -4
  212. package/dist/vocabulary.d.ts.map +1 -1
  213. package/dist/vocabulary.js +66 -21
  214. package/dist/vocabulary.js.map +1 -1
  215. package/package.json +5 -5
@@ -4,6 +4,63 @@ import { renderFrontierMismatch } from "./frontier-mismatch.js";
4
4
  import { describeSealFailed } from "./seal-failure-store.js";
5
5
  import { contentEncryptionGuidanceFor } from "./content-encryption-status.js";
6
6
  import { frameQuarantinedPayload } from "./quarantine-framing.js";
7
+ import { readDeliveryFacts } from "./session-delivery-acks.js";
8
+ /**
9
+ * DOD-M15-AWAYSCOPE-1: one budget for ALL the attendance probes a list fires, not one each. Set by
10
+ * what a person will sit through at a terminal, not by what a slow relay might need.
11
+ */
12
+ const ATTENDANCE_PROBE_BUDGET_MS = 1_500;
13
+ /**
14
+ * DOD-M15-DELIVERYACK-1 — THREE FACTS PER SENT MESSAGE, AND NOT ONE WORD OF INFERENCE.
15
+ *
16
+ * A receipt that cannot distinguish *"they did not answer"* from *"it never reached them"* is not
17
+ * evidence, which is why these are three SEPARATE facts rather than a status: **ordered** (the relay
18
+ * assigned it a position), **delivered** (the relay handed the bytes over) and **acknowledged** (the
19
+ * recipient's own signature). Each is present or absent on its own.
20
+ *
21
+ * 🚨 A MISSING FACT IS REPORTED AS MISSING AND NOTHING MORE. There is no combined status here, no
22
+ * derived verdict, no count of absences, and no wording that reads as fault — because there are
23
+ * many blameless reasons a fact is absent: the relay parked the content and never delivered it, the
24
+ * recipient's daemon died between ordering and pull, their per-recipient queue hit its bound and
25
+ * dropped the oldest frame, the screener refused it, or it was quarantined on arrival. `note` says
26
+ * so in the payload rather than in prose a caller may never surface.
27
+ *
28
+ * 🚨 AND THIS IS NOT ASSENT. An acknowledgement says a machine received bytes, signed on ingest,
29
+ * before any human read them. `legibility.implies_assent` stays the literal `false` and this
30
+ * section adds nothing to it.
31
+ *
32
+ * ⚠️ IT IS NOT PART OF THE DIRECTORY-SIGNED `legibility`, DELIBERATELY. The legibility object's
33
+ * canonical bytes are folded into the FROST-signed seal, and the directory never sees an
34
+ * acknowledgement — putting these there would have the directory signing a per-message claim
35
+ * supplied by one of the two parties, which proves nothing about it. `asserted_by` names who stands
36
+ * behind each fact instead, and the acknowledgement carries the signature itself so a reader can
37
+ * check it against the counterparty's key rather than taking this daemon's word.
38
+ */
39
+ function deliverySection(sessionNodeManager, logger, agentName, sessionId) {
40
+ // Read through the manager's own public boundary accessors — the stable agent id and the database
41
+ // handle — rather than a new delegator. The facts are a pure read over three tables; routing them
42
+ // through the manager would add surface to a file whose size ratchet exists to stop exactly that.
43
+ const messages = readDeliveryFacts(sessionNodeManager.getDb(), logger, sessionNodeManager.resolveAgentId(agentName), sessionId);
44
+ return {
45
+ delivery: {
46
+ messages,
47
+ note: "Three independent facts per message you SENT. `ordered` is the relay's countersigned " +
48
+ "position. `delivered` is the relay confirming it handed the bytes over — this side holds " +
49
+ "no such evidence for any message today, because a relay answers the recipient on pickup " +
50
+ "and never tells the depositor, so it reads null throughout. `acknowledged` is the " +
51
+ "recipient's own signature over this session id and this content hash, which you can check " +
52
+ "against their public key. A null is an ABSENCE OF EVIDENCE, never a finding: a message " +
53
+ "with no acknowledgement may well have been delivered and read, and the acknowledgement " +
54
+ "lost with the connection. Nothing here implies agreement to anything.\n\n" +
55
+ "`acknowledged` is NOT `legibility.final_message.answered` and neither can stand in for the " +
56
+ "other. `answered` says the other party AUTHORED something after your last message. " +
57
+ "`acknowledged` says their MACHINE took delivery of it, signed before any human read it. " +
58
+ "The combination that carries the most meaning is the one they cannot express separately: " +
59
+ "answered false AND acknowledged present — it reached them and they did not reply. Neither " +
60
+ "is agreement.",
61
+ },
62
+ };
63
+ }
7
64
  export function registerSessionReadHandlers(deps) {
8
65
  const { handlers, logger, sessionNodeManager, loadedAgents, getConnState, resolveCurrentAgent, NO_CURRENT_AGENT_RESPONSE, resolveWho, safeCursorAdvance, safeWatermarkAdvance, attendanceCount, reapDeadHalfOpenSessions, frontierMismatches, isSealing, getSealFailure, } = deps;
9
66
  // ─── M7-SESSION-004 (AC-005/AC-006): read the sealed certificate's legibility ───
@@ -74,6 +131,7 @@ export function registerSessionReadHandlers(deps) {
74
131
  leaf_count: leaves.length,
75
132
  content_leaf_count: leaves.filter((l) => l.kind === "msg").length,
76
133
  legibility: cert.legibility,
134
+ ...deliverySection(sessionNodeManager, logger, agentName, sessionId),
77
135
  };
78
136
  }
79
137
  // M8C-INBOX-1 (F4): the single `sealed_receipt_not_found` conflated four distinct causes, so a
@@ -117,6 +175,7 @@ export function registerSessionReadHandlers(deps) {
117
175
  leaf_count: recoveredLeaves.length,
118
176
  content_leaf_count: recoveredLeaves.filter((l) => l.kind === "msg").length,
119
177
  legibility: recovered.legibility,
178
+ ...deliverySection(sessionNodeManager, logger, agentName, sessionId),
120
179
  verified: pulled.verified === true,
121
180
  ...(pulled.verified === true
122
181
  ? {}
@@ -465,6 +524,46 @@ export function registerSessionReadHandlers(deps) {
465
524
  }));
466
525
  return { ok: true, filter, limit, totalMatched: matched.length, sessions };
467
526
  }
527
+ /**
528
+ * DOD-M15-AWAYSCOPE-1 — fill `counterpartyAttendance` on the OPEN rows, under one shared budget.
529
+ *
530
+ * One budget for the whole list rather than one per row: an operator with a dozen sessions must
531
+ * not wait a dozen relay timeouts. On expiry the rows are returned UNENRICHED rather than
532
+ * partially enriched — a list where some rows carry the field and others do not, with nothing
533
+ * saying which, cannot be read: a missing field is indistinguishable from a field meaning
534
+ * "unknown", and the reader would draw the wrong conclusion about whichever rows lost the race.
535
+ */
536
+ async function attachAttendance(sessions) {
537
+ const open = sessions.filter((s) => s.category === "open");
538
+ if (open.length === 0)
539
+ return sessions;
540
+ const budget = new Promise((r) => setTimeout(() => r("timeout"), ATTENDANCE_PROBE_BUDGET_MS));
541
+ const answers = await Promise.race([
542
+ Promise.all(open.map(async (s) => {
543
+ try {
544
+ return await sessionNodeManager.queryRelayLiveness(s.agentName, s.sessionId);
545
+ }
546
+ catch {
547
+ return null;
548
+ }
549
+ })),
550
+ budget,
551
+ ]);
552
+ if (answers === "timeout")
553
+ return sessions;
554
+ const byId = new Map(open.map((s, i) => [s.sessionId, answers[i]]));
555
+ return sessions.map((s) => {
556
+ const a = byId.get(s.sessionId);
557
+ if (!a?.attendance)
558
+ return s;
559
+ // The ASSERTION's age, not the relay's connection observation — see ActiveSessionInfo.
560
+ return {
561
+ ...s,
562
+ counterpartyAttendance: a.attendance,
563
+ ...(a.attendanceObservedAt !== undefined ? { attendanceObservedAt: a.attendanceObservedAt } : {}),
564
+ };
565
+ });
566
+ }
468
567
  // cello_list_sessions (MCP, per current agent): the discovery surface for the by-id reads
469
568
  // (cello_get_transcript / cello_get_sealed_receipt). Accepts { filter?: open|closed|failed|all,
470
569
  // limit?: number } — defaults to open + DEFAULT_LIST_LIMIT so failed/dead handshakes don't drown
@@ -477,7 +576,20 @@ export function registerSessionReadHandlers(deps) {
477
576
  return NO_CURRENT_AGENT_RESPONSE;
478
577
  }
479
578
  reapDeadHalfOpenSessions(agentName); // CC-5/F21: drop provably-dead half-open sessions before listing
480
- return selectSessions(sessionNodeManager.getSessionsForAgent(agentName), params);
579
+ const listed = selectSessions(sessionNodeManager.getSessionsForAgent(agentName), params);
580
+ /**
581
+ * DOD-M15-AWAYSCOPE-1 unit 3 — and whether anyone is attending the far side of the OPEN ones.
582
+ *
583
+ * ⚠️ OPEN SESSIONS ONLY, and that is not an optimisation. A closed or failed session has no
584
+ * relay to ask and no counterparty state that means anything any more; probing them would spend
585
+ * a round trip per archived row to fill a field whose only honest value is absent.
586
+ *
587
+ * This is the surface the ORDER names, and it is where the replacement for the away reply
588
+ * actually lands: an agent listing its sessions can see that the far side is online but
589
+ * unattended, and report that to its operator — instead of being told the same thing by a
590
+ * machine-written message that took a leaf and broke the receipt.
591
+ */
592
+ return { ...listed, sessions: await attachAttendance(listed.sessions) };
481
593
  });
482
594
  // ─── DOD-SESSION-NAME-1: cello_name_session — set or clear THIS agent's label for a session ───
483
595
  // Set-or-clear-by-null, mirroring cello_contact_set_moniker. Works in ANY status: naming a
@@ -590,10 +702,19 @@ export function registerSessionReadHandlers(deps) {
590
702
  logger.info("session.dismissed", { agentName, sessionId, status: record?.status ?? "unknown", unreadCount, refusalsDismissed });
591
703
  return { ok: true, session_id: sessionId, ...(refusalsDismissed > 0 ? { refusals_dismissed: refusalsDismissed } : {}) };
592
704
  });
593
- // list_sessions (daemon-wide, for the `cello sessions` CLI which has no current agent): same
594
- // filter/limit semantics, across ALL agents.
705
+ /**
706
+ * list_sessions (daemon-wide, reached as `cello sessions --all-agents`): same filter/limit
707
+ * semantics, across ALL agents.
708
+ *
709
+ * ⚠️ ENRICHED WITH ATTENDANCE TOO (DOD-M15-AWAYSCOPE-1), and that is not tidiness. This and
710
+ * `cello_list_sessions` are two renderings of the same rows, and an operator moves between them.
711
+ * A field present on one and absent on the other teaches exactly the wrong lesson — absent reads
712
+ * as "nobody is attending" rather than "this surface does not ask" — and the whole point of the
713
+ * field is that its absence must mean "the relay did not say".
714
+ */
595
715
  handlers.set("list_sessions", async (params) => {
596
- return selectSessions(sessionNodeManager.getAllSessions(), params);
716
+ const listed = selectSessions(sessionNodeManager.getAllSessions(), params);
717
+ return { ...listed, sessions: await attachAttendance(listed.sessions) };
597
718
  });
598
719
  }
599
720
  //# sourceMappingURL=session-read-handlers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"session-read-handlers.js","sourceRoot":"","sources":["../src/session-read-handlers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session-read-handlers.js","sourceRoot":"","sources":["../src/session-read-handlers.ts"],"names":[],"mappings":"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"}
@@ -242,6 +242,23 @@ export declare class SessionRecords {
242
242
  * away the half of the attribution that survived.
243
243
  */
244
244
  senderPubkeyHexOverride?: string | null): boolean;
245
+ /**
246
+ * DOD-M15-DELIVERYACK-1 — keep the counterparty's signature that their machine received a message.
247
+ *
248
+ * A thin forward, because this class is what holds the database handle and the write itself
249
+ * belongs beside the read and the five rules in `session-delivery-acks.ts`. Called ONLY after
250
+ * `verifyDeliveryAck` succeeded against the session's recorded counterparty key.
251
+ */
252
+ recordDeliveryAck(agentName: string, sessionId: string, contentHashHex: string, signerPubkeyHex: string, signature: Uint8Array, correlationId?: string): boolean;
253
+ /**
254
+ * DOD-M15-DELIVERYACK-1 rule 2 — did this side put these exact bytes on the wire in this session?
255
+ *
256
+ * The DURABLE half of the bind. A sent-direction transcript row joined to its leaf is written by
257
+ * our own send path and survives both the time-to-fallback timer and a daemon restart, which is
258
+ * what lets an acknowledgement for a message that had to be parked and recovered still count.
259
+ * Nothing a counterparty sends can create a row here.
260
+ */
261
+ hasSentContentHash(agentName: string, sessionId: string, contentHashHex: string): boolean;
245
262
  /**
246
263
  * DOD-LOG-1: read a session's durable transcript back (after a restart), decrypted and ordered by
247
264
  * canonical sequence then direction. A blob that fails to decrypt (tamper/wrong key) is skipped
@@ -1 +1 @@
1
- {"version":3,"file":"session-records.d.ts","sourceRoot":"","sources":["../src/session-records.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session-records.d.ts","sourceRoot":"","sources":["../src/session-records.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@ import { MONIKER_RE, validateMoniker } from "@cello-protocol/protocol-types";
5
5
  import { UNREAD_RECEIVED_WHERE, TERMINAL_STATUSES } from "./session-node-types.js";
6
6
  import { quarantineRedaction } from "./quarantine-framing.js";
7
7
  import { extractErrorMessage } from "./error-message.js";
8
+ import { storeDeliveryAck, sentContentHashExists } from "./session-delivery-acks.js";
8
9
  export class SessionRecords {
9
10
  #ctx;
10
11
  constructor(ctx) {
@@ -575,6 +576,37 @@ export class SessionRecords {
575
576
  return false;
576
577
  }
577
578
  }
579
+ /**
580
+ * DOD-M15-DELIVERYACK-1 — keep the counterparty's signature that their machine received a message.
581
+ *
582
+ * A thin forward, because this class is what holds the database handle and the write itself
583
+ * belongs beside the read and the five rules in `session-delivery-acks.ts`. Called ONLY after
584
+ * `verifyDeliveryAck` succeeded against the session's recorded counterparty key.
585
+ */
586
+ recordDeliveryAck(agentName, sessionId, contentHashHex, signerPubkeyHex, signature, correlationId) {
587
+ if (!this.#db)
588
+ return false;
589
+ return storeDeliveryAck(this.#db, this.#ctx.logger, {
590
+ agentId: this.#ctx.requireAgentId(agentName),
591
+ agentName, sessionId, contentHashHex, signerPubkeyHex, signature, correlationId,
592
+ });
593
+ }
594
+ /**
595
+ * DOD-M15-DELIVERYACK-1 rule 2 — did this side put these exact bytes on the wire in this session?
596
+ *
597
+ * The DURABLE half of the bind. A sent-direction transcript row joined to its leaf is written by
598
+ * our own send path and survives both the time-to-fallback timer and a daemon restart, which is
599
+ * what lets an acknowledgement for a message that had to be parked and recovered still count.
600
+ * Nothing a counterparty sends can create a row here.
601
+ */
602
+ hasSentContentHash(agentName, sessionId, contentHashHex) {
603
+ if (!this.#db)
604
+ return false;
605
+ // One implementation, two routes: the direct stream reaches it through here, and the parked
606
+ // route reaches the same function from the mailbox drain, which holds a database handle and no
607
+ // manager. A second copy of a bind check is a second thing to keep in step.
608
+ return sentContentHashExists(this.#db, this.#ctx.requireAgentId(agentName), sessionId, contentHashHex);
609
+ }
578
610
  /**
579
611
  * DOD-LOG-1: read a session's durable transcript back (after a restart), decrypted and ordered by
580
612
  * canonical sequence then direction. A blob that fails to decrypt (tamper/wrong key) is skipped
@@ -1 +1 @@
1
- {"version":3,"file":"session-records.js","sourceRoot":"","sources":["../src/session-records.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session-records.js","sourceRoot":"","sources":["../src/session-records.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,27 @@
1
+ import { type SessionAttendance, type SessionLiveness } from "@cello-protocol/protocol-types";
2
+ import type { Stream } from "@libp2p/interface";
1
3
  import type { CelloNode } from "@cello-protocol/transport";
2
4
  import { type KeyProvider } from "@cello-protocol/crypto";
3
5
  import type { Logger } from "./types.js";
4
6
  import { type RelayReceiptStore } from "./relay-receipt-store.js";
5
7
  import type { SessionSealLeafStore } from "./session-seal-leaf-store.js";
6
8
  import type { SessionOwnChainStore } from "./session-own-chain-store.js";
9
+ export interface LivenessAnswer {
10
+ liveness: SessionLiveness;
11
+ /** Unix ms of the relay's most recent observation. 0 when it has none. */
12
+ observedAt: number;
13
+ /** The far daemon's own assertion. Absent unless `liveness` is 'alive'. */
14
+ attendance?: SessionAttendance;
15
+ /**
16
+ * When the far daemon made that assertion — NOT `observedAt`, which is when the relay last saw
17
+ * its connection change. The two are routinely hours apart: the relay sees you connect at 09:00
18
+ * and you step away at 11:30, and labelling the attendance with 09:00 reports a state as of a
19
+ * time before it was true. Absent whenever `attendance` is.
20
+ */
21
+ attendanceObservedAt?: number;
22
+ /** True when the relay refused to answer rather than answering "I don't know". */
23
+ refused?: true;
24
+ }
7
25
  export declare const RELAY_PROTOCOL_ID = "/cello/relay/1.0.0";
8
26
  /**
9
27
  * How long to wait before re-proving after a transport-class failure.
@@ -16,7 +34,6 @@ export declare const RELAY_PROTOCOL_ID = "/cello/relay/1.0.0";
16
34
  */
17
35
  export declare const PROOF_RETRY_DELAY_MS = 1000;
18
36
  export declare const RELAY_AUTH_DOMAIN = "CELLO-RELAY-AUTH-v1";
19
- /** Structure 1 leaf kind: 0x00 = message, 0x02 = control (matches the relay). */
20
37
  /**
21
38
  * DOD-WITNESS-STALL-1 — relay refusals that can NEVER resolve.
22
39
  *
@@ -67,6 +84,7 @@ export declare function classifyRelayAuthRefusal(reason: string, extra?: {
67
84
  slotCap?: number;
68
85
  retryAfterMs?: number;
69
86
  }): RelayAuthRefusal;
87
+ /** Structure 1 leaf kind — these values match the relay's. Message leaf (the `cello_send` default). */
70
88
  export declare const LEAF_KIND_MSG = 0;
71
89
  /** Control leaf (SEAL etc.) — two distinct-sender ctrl leaves trigger directory notarization. */
72
90
  export declare const LEAF_KIND_CTRL = 2;
@@ -197,8 +215,9 @@ export interface AgentRelayClientOpts {
197
215
  }
198
216
  /**
199
217
  * What ONE relay observed. Deliberately not a verdict, and the field names say so: this establishes
200
- * that this relay saw and refused that submission, and nothing about who sent it. Corroboration
201
- * would need several relays reporting the same hash sequence, which does not exist yet.
218
+ * that this relay saw and refused that submission, and nothing about who sent it. Verification is
219
+ * proactive (`DOD-M15-CORROBORATE-1`); BREADTH is not — several relays on one hash sequence is
220
+ * `DOD-M15-MULTIWITNESS-1`.
202
221
  */
203
222
  export interface RelayWitnessAlert {
204
223
  sessionIdHex: string;
@@ -261,7 +280,26 @@ export interface RelayAssignmentCarry {
261
280
  sessionTimestamp: number;
262
281
  initiatorSessionPeerId?: string;
263
282
  counterpartySessionPeerId?: string;
264
- assignmentSignature: Uint8Array;
283
+ /**
284
+ * 64-byte per-node directory sig over the relay TBS (`relay_directory_signature`), presented to
285
+ * the relay as `client_record_assignment`.
286
+ *
287
+ * ⚠️ OPTIONAL SINCE 069-ORDERPROOF, and the split is real rather than defensive. A session can
288
+ * know WHICH relay may attest to it — `relay_id`, inside the FROST-signed assignment — while the
289
+ * directory issued no per-node relay signature to present. Those are two different facts and they
290
+ * were one field: folding them together would either make a session with nothing to present
291
+ * unable to verify anything, or make one that only knows its relay present an empty frame the
292
+ * relay refuses as forged.
293
+ */
294
+ assignmentSignature?: Uint8Array;
295
+ /**
296
+ * 069-ORDERPROOF — the assigned relay's ACK-SIGNING pubkey, hex, taken from `relay_id` on an
297
+ * assignment whose FROST signature has already been verified. **This is the only key a relay
298
+ * ordering attestation is checked against.** Absent means the directory named no relay for this
299
+ * session, and every attestation that arrives is then refused for want of an anchor — never
300
+ * accepted on the key the frame itself carries.
301
+ */
302
+ relayPubkeyHex?: string;
265
303
  }
266
304
  /**
267
305
  * Per-AGENT relay witness client. Shared across all of an agent's sessions; one
@@ -298,7 +336,17 @@ export declare class AgentRelayClient {
298
336
  * point has nothing for them to anchor to and every submit on it is refused by name. Registering
299
337
  * without a seed is therefore a real fault, not a degraded mode.
300
338
  */
301
- genesisPrevRoot?: Uint8Array): void;
339
+ genesisPrevRoot?: Uint8Array,
340
+ /**
341
+ * 069-ORDERPROOF — the relay key this session's ordering attestations verify under, from
342
+ * `relay_id` on the directory-signed assignment. Supplied by the caller because
343
+ * `session-node-manager` is where the durable copy lives, exactly as with the genesis above.
344
+ *
345
+ * ⚠️ ABSENT IS NOT A DEGRADED MODE. A session with no anchor refuses every attestation that
346
+ * arrives on it, by name, because the only alternative is checking a signature against a key
347
+ * the signer handed us.
348
+ */
349
+ relayAnchorHex?: string): void;
302
350
  /**
303
351
  * DOD-M15-RELAYAUTH-1 review H1 — **present the assignment and WAIT for the relay to say it
304
352
  * recorded it.**
@@ -402,6 +450,56 @@ export declare class AgentRelayClient {
402
450
  * ⚠️ **THE FRAME CARRIES NO PEER ID, deliberately.** The relay frees the peer this connection
403
451
  * authenticated as. A peer id on the wire would let any registered agent free another's.
404
452
  */
453
+ /**
454
+ * DOD-M15-AWAYSCOPE-1 — tell this relay whether anyone is attending this agent, for one session.
455
+ *
456
+ * ── WHY THIS EXISTS AT ALL ──────────────────────────────────────────────────────────────────────
457
+ *
458
+ * An unattended agent used to answer inbound messages with its away greeting. That greeting took a
459
+ * hash-chain leaf inside a live conversation, and on session `e7dd3f43…` it cost two operators a
460
+ * completed conversation's receipt, permanently. The fact itself is worth telling — a counterparty
461
+ * mid-exchange genuinely needs to know whether to wait — but it is a fact ABOUT the session, not a
462
+ * sentence IN it. So it rides here instead, and takes no leaf.
463
+ *
464
+ * ── FIRE AND FORGET, AND THAT IS THE DESIGN ─────────────────────────────────────────────────────
465
+ *
466
+ * Nothing is awaited and the relay sends no ack. The notice may be dropped, duplicated or arrive
467
+ * out of order; `observed_at` settles it, last-write-wins. A failure changes nothing the operator
468
+ * is doing — the counterparty reads "unknown" until the next notice, which is what is true.
469
+ *
470
+ * ⚠️ NO RETRY, NO QUEUE. Anything that made this reliable would want ordering, ordering wants a
471
+ * witness, and a witnessed position is how machine chatter reached the leaf set. A status hint
472
+ * that is allowed to be lost is the safe shape.
473
+ */
474
+ announceAttendance(node: CelloNode, sessionId: Uint8Array, attendance: SessionAttendance): void;
475
+ /**
476
+ * DOD-M15-AWAYSCOPE-1 — ask the relay about the counterparty: reachable, and attended?
477
+ *
478
+ * Two facts with two producers, which is why they are separate fields. `liveness` is the RELAY's
479
+ * observation — it holds that agent's standing connection or it does not. `attendance` is the far
480
+ * DAEMON's assertion about itself, which the relay was told and repeats; absent whenever
481
+ * `liveness` is not 'alive', because a daemon nobody can reach asserts nothing.
482
+ *
483
+ * ⚠️ EVERY FAILURE ANSWERS 'unknown', never 'gone'. A timeout, a dead stream, a refusal and an
484
+ * unparseable frame all mean "this side learned nothing"; reporting any as `gone` invents an
485
+ * observation nobody made, and `gone` is the value that tells an operator their peer has left.
486
+ */
487
+ /**
488
+ * Test-only seams for the liveness query path, which cannot be reached any other way.
489
+ *
490
+ * ⚠️ THEY EXIST BECAUSE A ONE-SESSION FAKE HID A REAL DEFECT. Every other test of this feature
491
+ * stubs `queryLiveness` outright, so the code that matches an ANSWER to its QUESTION never ran —
492
+ * and it was wrong: a single resolver slot handed one session's answer to another session's
493
+ * promise the moment an agent held two conversations through one relay, which is ordinary.
494
+ * Reaching that code needs a live stream and a dispatched frame, and both are private.
495
+ *
496
+ * Named `ForTest` like `__setLastActivityAtForTest` and `patchRelayClientForTest`, and doing
497
+ * nothing production does not: one installs the stream a dial would have produced, the other
498
+ * feeds the reader loop a frame the relay would have sent.
499
+ */
500
+ installStreamForTest(stream: Stream): void;
501
+ dispatchForTest(frame: Record<string, unknown>): void;
502
+ queryLiveness(sessionId: Uint8Array, counterpartyPubkey: Uint8Array): Promise<LivenessAnswer>;
405
503
  releaseReservation(node: CelloNode): Promise<boolean>;
406
504
  /**
407
505
  * Submit a session's CONTENT-leaf hash to the relay. Connects/re-connects from `node` if needed.
@@ -493,7 +591,6 @@ export declare class AgentRelayClient {
493
591
  * `witnessReceivedLeaf`.
494
592
  */
495
593
  carried?: CarriedLeafClaim): Promise<SubmitResult>;
496
- /** The highest relay-assigned sequence observed for a given session (ack or deliver). */
497
594
  /**
498
595
  * Advance this session's acknowledgement from a message that ARRIVED — 033-ACKEMIT review F1.
499
596
  *