@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
@@ -0,0 +1,195 @@
1
+ /**
2
+ * DOD-M15-DELIVERYACK-1 — the delivery acknowledgement, both directions.
3
+ *
4
+ * Split out of `session-content-ingest.ts` rather than added to it. The acknowledgement is now a
5
+ * signed artifact with its own five rules and its own evidence store, which is a subject of its
6
+ * own — and the ingest file sits on a `max-lines` ratchet whose whole purpose is that a feature
7
+ * lands as a module instead of as growth in a file nobody can read.
8
+ *
9
+ * ⚠️ NOTHING HERE TOUCHES THE TAMPER-EVIDENT RECORD. An acknowledgement takes no chain leaf, is
10
+ * never itself acknowledged, and its absence proves nothing. The evidence it produces is read by
11
+ * the sealed-receipt surface and by nothing else.
12
+ */
13
+ import type { SessionContentPipelineContext } from "./session-content-context.js";
14
+ import { type ParkedDeliveryAck } from "./park-envelope.js";
15
+ import type { DaemonDatabase } from "./sqlcipher-db.js";
16
+ import type { Logger } from "./types.js";
17
+ /**
18
+ * Send a SIGNED `persisted` delivery ACK back to the sender over the same
19
+ * /cello/content/1.0.0 protocol (AC-001).
20
+ *
21
+ * ⚠️ IT USED TO BE UNSIGNED, and the comment here used to justify that: "authentication is the
22
+ * Noise session channel, so the ACK carries no signature". That is true of the HOP and it dies
23
+ * with the connection — it left the sender holding nothing it could show a third party, which is
24
+ * what `DOD-M15-DELIVERYACK-1` exists to fix. Rewritten rather than deleted, because the old
25
+ * sentence is exactly why an auditor would conclude the frame is unsigned by design.
26
+ *
27
+ * What is signed says only *this machine received these bytes in this session*. Signed on INGEST,
28
+ * so it asserts nothing about attention and nothing about agreement.
29
+ *
30
+ * Still best-effort in the SEND: a failed ACK send is logged and the sender recovers via its
31
+ * TTF/recovery path rather than a thrown error here.
32
+ */
33
+ export declare function sendDeliveryAck(ctx: SessionContentPipelineContext, agentName: string, sessionId: string, contentHash: Uint8Array, correlationId?: string): Promise<void>;
34
+ /**
35
+ * DOD-M15-DELIVERYACK-1 — AN INBOUND ACKNOWLEDGEMENT IS ATTACKER-CONTROLLED INPUT.
36
+ *
37
+ * The client is open source and runs on the counterparty's machine, so they can send whatever
38
+ * they like here. Five properties, and all five are load-bearing:
39
+ *
40
+ * 1. **Verified against the session's RECORDED counterparty key**, never a key in the frame. The
41
+ * recorded key comes from what the operator asked for (initiator) or the directory-attested
42
+ * offer (responder) — `entry.counterpartyPubkey`. Checking a signature against a key carried
43
+ * inside its own frame proves only that somebody owns a keypair.
44
+ * ⚠️ Deliberately NARROWER than "either participant". The clause says an ack verifying under
45
+ * neither participant key is discarded; ours additionally discards one signed by US, which is
46
+ * the self-referential case — our own signature on our own message, stored in our own
47
+ * database, constrains nobody.
48
+ * 2. **Bound** — it must name a hash this side actually sent in this session and is still
49
+ * awaiting. The session is already pinned by the shared frame gate above.
50
+ * 3. **Inert** — it records evidence and resolves the sender's own fallback timer. It advances no
51
+ * sequence, touches no tree, takes no leaf, closes nothing, seals nothing.
52
+ * 4. **Idempotent and bounded** — the awaiting entry is consumed on the first accepted ack, so a
53
+ * duplicate finds nothing and does nothing, and the number of acks that can ever be recorded
54
+ * for a session is the number of messages this side sent in it. There is no counter an
55
+ * attacker can inflate because there is no per-ack allocation at all.
56
+ * 5. **Malformed fails exactly as missing does.** Both take this one discard path: the timer stays
57
+ * armed, no `content.delivery.acked` fires, nothing is recorded, and the message parks on TTF
58
+ * expiry exactly as it would have with no acknowledgement at all.
59
+ *
60
+ * 🚨 AND A DISCARD IS NOT A SECURITY EVENT. It does not freeze the session and must never feed a
61
+ * trust signal. A missing acknowledgement is usually innocent — the relay parked the content, the
62
+ * far daemon died between ordering and pull, a bounded queue dropped its oldest frame, a screener
63
+ * refused it. Reading absence as evasion is the defect, not the fix.
64
+ */
65
+ export declare function onDeliveryAck(ctx: SessionContentPipelineContext, resolveAwaitingAck: (agentName: string, sessionId: string, contentHash: Uint8Array) => void, agentName: string, sessionId: string, contentHash: Uint8Array, rawSig: unknown, correlationId?: string): void;
66
+ /**
67
+ * DOD-M15-DELIVERYACK-1 — keep the counterparty's signature that their machine received a message.
68
+ *
69
+ * Called ONLY after `verifyDeliveryAck` succeeded against the session's recorded counterparty key.
70
+ * `INSERT OR IGNORE` is the idempotence: the first acknowledgement recorded for a (session, hash)
71
+ * stands and a replay changes nothing.
72
+ *
73
+ * A write failure is LOUD and it is not fatal. The message was delivered; what is lost is this
74
+ * side's ability to prove it later, and the operator is the only one who can act on that.
75
+ */
76
+ export declare function storeDeliveryAck(db: DaemonDatabase, logger: Logger, a: {
77
+ agentId: string;
78
+ agentName: string;
79
+ sessionId: string;
80
+ contentHashHex: string;
81
+ signerPubkeyHex: string;
82
+ signature: Uint8Array;
83
+ correlationId?: string;
84
+ }): boolean;
85
+ /**
86
+ * DOD-M15-DELIVERYACK-1 rule 2, at the database — did this side put these exact bytes on the wire in
87
+ * this session?
88
+ *
89
+ * The durable bind, reachable from both routes: the live inbound handler asks through
90
+ * `SessionRecords`, and the mailbox drain asks here directly because it holds a database handle and
91
+ * no manager. A sent-direction transcript row joined to its leaf is written by our own send path and
92
+ * survives the fallback timer and a restart, which is what lets an acknowledgement for a message
93
+ * that had to be parked and recovered still count. Nothing a counterparty sends creates a row here.
94
+ */
95
+ export declare function sentContentHashExists(db: DaemonDatabase, agentId: string, sessionId: string, contentHashHex: string): boolean;
96
+ /**
97
+ * DOD-M15-DELIVERYACK-1 unit 1 — ACCEPT AN ACKNOWLEDGEMENT THAT CAME BACK THROUGH THE RELAY'S
98
+ * MAILBOX.
99
+ *
100
+ * This is the offline route: the counterparty read the message while this daemon was down, could not
101
+ * reach it directly, and parked the acknowledgement. It is held to the SAME five rules the live
102
+ * route is, because it is the same attacker-controlled input arriving by a different road — and to
103
+ * one more check the live route does not need, which has already run before this is called: the park
104
+ * envelope's own SEC-1 gate proved the DEPOSITOR is this session's counterparty.
105
+ *
106
+ * ⚠️ THE TWO CHECKS ARE INDEPENDENT AND BOTH ARE REQUIRED. The envelope gate says who put it in the
107
+ * mailbox; the signature below says who acknowledged the message. A relay holding the recipient's
108
+ * public key can deposit anything, and the envelope gate is what stops that — but a counterparty who
109
+ * rewrote their own daemon passes the envelope gate by construction, and only the signature check
110
+ * catches an acknowledgement they did not actually sign for this message.
111
+ *
112
+ * 🚨 INERT, exactly as the live route is. It records evidence. It appends no leaf, advances no
113
+ * sequence, touches no tree, and nothing about a refusal here says anything about the counterparty.
114
+ *
115
+ * ─── RULE 4's "rate-limited", on THIS route, and why there is no memo here ─────────────────────
116
+ *
117
+ * A refused entry is deliberately NOT confirm-deleted — a forgery must never be able to evict
118
+ * itself — so a bad acknowledgement is re-pulled on every drain, forever. The content path answers
119
+ * that with a bounded in-memory memo of what it already refused. This route does not need one, and
120
+ * the reason is three enforced bounds rather than an argument:
121
+ *
122
+ * 1. Only the COUNTERPARTY can put an entry here at all. The park envelope's SEC-1 gate runs
123
+ * first and refuses anyone else, the relay included.
124
+ * 2. The relay caps each recipient's mailbox — `#maxRecipientEntries` / `#maxRecipientBytes` in
125
+ * `file-content-store.ts`, with FIFO eviction inside the quota. So the number of entries that
126
+ * can be waiting is bounded by the operator's own mailbox size, not by the counterparty's
127
+ * patience.
128
+ * 3. The slot check above runs BEFORE any cryptography, so the cheap forgery — an entry filed
129
+ * anywhere but the derived slot — costs one SHA-256 and no signature verification.
130
+ *
131
+ * What is left is one Ed25519 verify per correctly-slotted, wrongly-signed entry per drain,
132
+ * multiplied by a mailbox the relay already bounds. That is a cost, and it is a bounded one; a memo
133
+ * would shave it at the price of a second piece of state whose key a counterparty influences.
134
+ */
135
+ export declare function acceptParkedDeliveryAck(a: {
136
+ db: DaemonDatabase;
137
+ logger: Logger;
138
+ agentId: string;
139
+ agentName: string;
140
+ /** The session the RELAY filed this entry under. */
141
+ sessionId: string;
142
+ /** The mailbox slot the entry was pulled from — what the relay files it by. */
143
+ mailboxSlotHex: string;
144
+ /** The session's RECORDED counterparty key. Never a key carried in the payload. */
145
+ counterpartyPubkeyHex: string | undefined;
146
+ ack: ParkedDeliveryAck;
147
+ correlationId?: string;
148
+ }): {
149
+ ok: true;
150
+ } | {
151
+ ok: false;
152
+ reason: string;
153
+ };
154
+ /**
155
+ * DOD-M15-DELIVERYACK-1 — the three facts, per message this side SENT, each standing alone.
156
+ *
157
+ * ⚠️ READ THE ASYMMETRY BEFORE USING THIS. Each fact is present or absent on its own and a
158
+ * missing one is reported as missing and NOTHING MORE. There is deliberately no combined status,
159
+ * no derived verdict, and no count — a message can be delivered, read and acted on with no
160
+ * acknowledgement recorded here, because the acknowledgement can be lost exactly as the message
161
+ * can. Anything that renders absence as fault is a defect, not a display choice.
162
+ *
163
+ * ordered — the RELAY assigned it a position. Read from `relay_ack_receipts`, which holds
164
+ * the relay's own countersignature, scoped to THIS agent's pubkey so a loopback
165
+ * session's two ends never read each other's.
166
+ * delivered — the RELAY handed the bytes over. **This side holds no such evidence for any
167
+ * message today, on either path**: the relay answers the RECIPIENT on pickup and
168
+ * never tells the depositor. It is reported absent with that reason named rather
169
+ * than fabricated from "our own send succeeded", which would be this machine
170
+ * asserting a relay fact about itself. `069-ORDERPROOF` plus a pickup notice to
171
+ * the depositor is what fills it.
172
+ * acknowledged — the RECIPIENT's own signature, from `delivery_acks`.
173
+ */
174
+ export declare function readDeliveryFacts(db: DaemonDatabase, logger: Logger, agentId: string, sessionId: string): Array<{
175
+ seq: number | null;
176
+ content_hash: string;
177
+ ordered: {
178
+ asserted_by: "relay";
179
+ relay_id: string;
180
+ relay_timestamp: number;
181
+ signature: string;
182
+ } | null;
183
+ delivered: {
184
+ asserted_by: "relay";
185
+ held: false;
186
+ why_absent: string;
187
+ };
188
+ acknowledged: {
189
+ asserted_by: "recipient";
190
+ signer_pubkey: string;
191
+ signature: string;
192
+ recorded_at: number;
193
+ } | null;
194
+ }>;
195
+ //# sourceMappingURL=session-delivery-acks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-delivery-acks.d.ts","sourceRoot":"","sources":["../src/session-delivery-acks.ts"],"names":[],"mappings":"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"}