@cello-protocol/daemon 0.0.227 → 0.0.229

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 (895) hide show
  1. package/dist/agent-admin-handlers.d.ts +56 -0
  2. package/dist/agent-admin-handlers.d.ts.map +1 -0
  3. package/dist/agent-admin-handlers.js +73 -0
  4. package/dist/agent-admin-handlers.js.map +1 -0
  5. package/dist/agent-handlers.d.ts +72 -0
  6. package/dist/agent-handlers.d.ts.map +1 -0
  7. package/dist/agent-handlers.js +604 -0
  8. package/dist/agent-handlers.js.map +1 -0
  9. package/dist/agent-id-migration.d.ts +70 -0
  10. package/dist/agent-id-migration.d.ts.map +1 -0
  11. package/dist/agent-id-migration.js +468 -0
  12. package/dist/agent-id-migration.js.map +1 -0
  13. package/dist/agent-loader.d.ts +37 -0
  14. package/dist/agent-loader.d.ts.map +1 -0
  15. package/dist/agent-loader.js +37 -0
  16. package/dist/agent-loader.js.map +1 -0
  17. package/dist/agent-selection-root.d.ts +29 -0
  18. package/dist/agent-selection-root.d.ts.map +1 -0
  19. package/dist/agent-selection-root.js +126 -0
  20. package/dist/agent-selection-root.js.map +1 -0
  21. package/dist/agent-selection.d.ts +73 -0
  22. package/dist/agent-selection.d.ts.map +1 -0
  23. package/dist/agent-selection.js +80 -0
  24. package/dist/agent-selection.js.map +1 -0
  25. package/dist/agent-settings-keys.d.ts +52 -0
  26. package/dist/agent-settings-keys.d.ts.map +1 -0
  27. package/dist/agent-settings-keys.js +114 -0
  28. package/dist/agent-settings-keys.js.map +1 -0
  29. package/dist/agent-state.d.ts +67 -0
  30. package/dist/agent-state.d.ts.map +1 -0
  31. package/dist/agent-state.js +66 -0
  32. package/dist/agent-state.js.map +1 -0
  33. package/dist/assignment-verify.d.ts +90 -0
  34. package/dist/assignment-verify.d.ts.map +1 -0
  35. package/dist/assignment-verify.js +301 -0
  36. package/dist/assignment-verify.js.map +1 -0
  37. package/dist/attendance-wiring.d.ts +23 -0
  38. package/dist/attendance-wiring.d.ts.map +1 -0
  39. package/dist/attendance-wiring.js +248 -0
  40. package/dist/attendance-wiring.js.map +1 -0
  41. package/dist/attestation-body.d.ts +47 -0
  42. package/dist/attestation-body.d.ts.map +1 -0
  43. package/dist/attestation-body.js +71 -0
  44. package/dist/attestation-body.js.map +1 -0
  45. package/dist/authorship-verification.d.ts +91 -0
  46. package/dist/authorship-verification.d.ts.map +1 -0
  47. package/dist/authorship-verification.js +532 -0
  48. package/dist/authorship-verification.js.map +1 -0
  49. package/dist/away-detection.d.ts +139 -0
  50. package/dist/away-detection.d.ts.map +1 -0
  51. package/dist/away-detection.js +186 -0
  52. package/dist/away-detection.js.map +1 -0
  53. package/dist/away-inbox-oneshot.d.ts +40 -0
  54. package/dist/away-inbox-oneshot.d.ts.map +1 -0
  55. package/dist/away-inbox-oneshot.js +311 -0
  56. package/dist/away-inbox-oneshot.js.map +1 -0
  57. package/dist/backup-restore-handlers.d.ts +10 -0
  58. package/dist/backup-restore-handlers.d.ts.map +1 -0
  59. package/dist/backup-restore-handlers.js +82 -0
  60. package/dist/backup-restore-handlers.js.map +1 -0
  61. package/dist/backup-restore.d.ts +102 -0
  62. package/dist/backup-restore.d.ts.map +1 -0
  63. package/dist/backup-restore.js +341 -0
  64. package/dist/backup-restore.js.map +1 -0
  65. package/dist/bin/cello-daemon.d.ts +13 -0
  66. package/dist/bin/cello-daemon.d.ts.map +1 -0
  67. package/dist/bin/cello-daemon.js.map +1 -0
  68. package/dist/boot-agents.d.ts +64 -0
  69. package/dist/boot-agents.d.ts.map +1 -0
  70. package/dist/boot-agents.js +241 -0
  71. package/dist/boot-agents.js.map +1 -0
  72. package/dist/boot-connection-state.d.ts +38 -0
  73. package/dist/boot-connection-state.d.ts.map +1 -0
  74. package/dist/boot-connection-state.js +95 -0
  75. package/dist/boot-connection-state.js.map +1 -0
  76. package/dist/boot-core.d.ts +36 -0
  77. package/dist/boot-core.d.ts.map +1 -0
  78. package/dist/boot-core.js +293 -0
  79. package/dist/boot-core.js.map +1 -0
  80. package/dist/boot-parked-content.d.ts +34 -0
  81. package/dist/boot-parked-content.d.ts.map +1 -0
  82. package/dist/boot-parked-content.js +528 -0
  83. package/dist/boot-parked-content.js.map +1 -0
  84. package/dist/boot-sweeps.d.ts +22 -0
  85. package/dist/boot-sweeps.d.ts.map +1 -0
  86. package/dist/boot-sweeps.js +51 -0
  87. package/dist/boot-sweeps.js.map +1 -0
  88. package/dist/bundled-consortium-manifest.d.ts +47 -0
  89. package/dist/bundled-consortium-manifest.d.ts.map +1 -0
  90. package/dist/bundled-consortium-manifest.js +116 -0
  91. package/dist/bundled-consortium-manifest.js.map +1 -0
  92. package/dist/cbor-blob-migration.d.ts +8 -0
  93. package/dist/cbor-blob-migration.d.ts.map +1 -0
  94. package/dist/cbor-blob-migration.js +116 -0
  95. package/dist/cbor-blob-migration.js.map +1 -0
  96. package/dist/challenge-verifier.d.ts +12 -0
  97. package/dist/challenge-verifier.d.ts.map +1 -0
  98. package/dist/challenge-verifier.js +11 -0
  99. package/dist/challenge-verifier.js.map +1 -0
  100. package/dist/channel-log-store.d.ts +80 -0
  101. package/dist/channel-log-store.d.ts.map +1 -0
  102. package/dist/channel-log-store.js +290 -0
  103. package/dist/channel-log-store.js.map +1 -0
  104. package/dist/close-commitment.d.ts +67 -0
  105. package/dist/close-commitment.d.ts.map +1 -0
  106. package/dist/close-commitment.js +78 -0
  107. package/dist/close-commitment.js.map +1 -0
  108. package/dist/close-session-handler.d.ts +94 -0
  109. package/dist/close-session-handler.d.ts.map +1 -0
  110. package/dist/close-session-handler.js +1418 -0
  111. package/dist/close-session-handler.js.map +1 -0
  112. package/dist/co-attendance.d.ts +29 -0
  113. package/dist/co-attendance.d.ts.map +1 -0
  114. package/dist/co-attendance.js +32 -0
  115. package/dist/co-attendance.js.map +1 -0
  116. package/dist/column-birth.d.ts +40 -0
  117. package/dist/column-birth.d.ts.map +1 -0
  118. package/dist/column-birth.js +61 -0
  119. package/dist/column-birth.js.map +1 -0
  120. package/dist/connect-or-start.d.ts +25 -0
  121. package/dist/connect-or-start.d.ts.map +1 -0
  122. package/dist/connect-or-start.js +175 -0
  123. package/dist/connect-or-start.js.map +1 -0
  124. package/dist/connection-agents.d.ts +16 -0
  125. package/dist/connection-agents.d.ts.map +1 -0
  126. package/dist/connection-agents.js +68 -0
  127. package/dist/connection-agents.js.map +1 -0
  128. package/dist/consent-migration.d.ts +49 -0
  129. package/dist/consent-migration.d.ts.map +1 -0
  130. package/dist/consent-migration.js +128 -0
  131. package/dist/consent-migration.js.map +1 -0
  132. package/dist/consortium-bootstrap.d.ts +138 -0
  133. package/dist/consortium-bootstrap.d.ts.map +1 -0
  134. package/dist/consortium-bootstrap.js +339 -0
  135. package/dist/consortium-bootstrap.js.map +1 -0
  136. package/dist/consortium-fingerprint.d.ts +115 -0
  137. package/dist/consortium-fingerprint.d.ts.map +1 -0
  138. package/dist/consortium-fingerprint.js +175 -0
  139. package/dist/consortium-fingerprint.js.map +1 -0
  140. package/dist/contact-handlers.d.ts +59 -0
  141. package/dist/contact-handlers.d.ts.map +1 -0
  142. package/dist/contact-handlers.js +343 -0
  143. package/dist/contact-handlers.js.map +1 -0
  144. package/dist/contact-pubkey-case.d.ts +65 -0
  145. package/dist/contact-pubkey-case.d.ts.map +1 -0
  146. package/dist/contact-pubkey-case.js +136 -0
  147. package/dist/contact-pubkey-case.js.map +1 -0
  148. package/dist/contacts-tier-migration.d.ts +90 -0
  149. package/dist/contacts-tier-migration.d.ts.map +1 -0
  150. package/dist/contacts-tier-migration.js +150 -0
  151. package/dist/contacts-tier-migration.js.map +1 -0
  152. package/dist/content-encryption-status.d.ts +111 -0
  153. package/dist/content-encryption-status.d.ts.map +1 -0
  154. package/dist/content-encryption-status.js +158 -0
  155. package/dist/content-encryption-status.js.map +1 -0
  156. package/dist/content-park-client.d.ts +90 -0
  157. package/dist/content-park-client.d.ts.map +1 -0
  158. package/dist/content-park-client.js +362 -0
  159. package/dist/content-park-client.js.map +1 -0
  160. package/dist/content-park.d.ts +52 -0
  161. package/dist/content-park.d.ts.map +1 -0
  162. package/dist/content-park.js +1309 -0
  163. package/dist/content-park.js.map +1 -0
  164. package/dist/cross-node-negotiation.d.ts +44 -0
  165. package/dist/cross-node-negotiation.d.ts.map +1 -0
  166. package/dist/cross-node-negotiation.js +34 -0
  167. package/dist/cross-node-negotiation.js.map +1 -0
  168. package/dist/daemon-handle.d.ts +57 -0
  169. package/dist/daemon-handle.d.ts.map +1 -0
  170. package/dist/daemon-handle.js +2 -0
  171. package/dist/daemon-handle.js.map +1 -0
  172. package/dist/daemon-status-report.d.ts +50 -0
  173. package/dist/daemon-status-report.d.ts.map +1 -0
  174. package/dist/daemon-status-report.js +81 -0
  175. package/dist/daemon-status-report.js.map +1 -0
  176. package/dist/daemon.d.ts +45 -0
  177. package/dist/daemon.d.ts.map +1 -0
  178. package/dist/daemon.js +1177 -0
  179. package/dist/daemon.js.map +1 -0
  180. package/dist/db-identity-store.d.ts +159 -0
  181. package/dist/db-identity-store.d.ts.map +1 -0
  182. package/dist/db-identity-store.js +502 -0
  183. package/dist/db-identity-store.js.map +1 -0
  184. package/dist/delivery-open-registry.d.ts +92 -0
  185. package/dist/delivery-open-registry.d.ts.map +1 -0
  186. package/dist/delivery-open-registry.js +121 -0
  187. package/dist/delivery-open-registry.js.map +1 -0
  188. package/dist/delivery-session-suspects.d.ts +56 -0
  189. package/dist/delivery-session-suspects.d.ts.map +1 -0
  190. package/dist/delivery-session-suspects.js +94 -0
  191. package/dist/delivery-session-suspects.js.map +1 -0
  192. package/dist/directory-auth-posture.d.ts +87 -0
  193. package/dist/directory-auth-posture.d.ts.map +1 -0
  194. package/dist/directory-auth-posture.js +134 -0
  195. package/dist/directory-auth-posture.js.map +1 -0
  196. package/dist/directory-bootstrap.d.ts +310 -0
  197. package/dist/directory-bootstrap.d.ts.map +1 -0
  198. package/dist/directory-bootstrap.js +557 -0
  199. package/dist/directory-bootstrap.js.map +1 -0
  200. package/dist/directory-connect.d.ts +27 -0
  201. package/dist/directory-connect.d.ts.map +1 -0
  202. package/dist/directory-connect.js +106 -0
  203. package/dist/directory-connect.js.map +1 -0
  204. package/dist/disconnect-cleanup.d.ts +51 -0
  205. package/dist/disconnect-cleanup.d.ts.map +1 -0
  206. package/dist/disconnect-cleanup.js +72 -0
  207. package/dist/disconnect-cleanup.js.map +1 -0
  208. package/dist/document-amendment-store.d.ts +120 -0
  209. package/dist/document-amendment-store.d.ts.map +1 -0
  210. package/dist/document-amendment-store.js +266 -0
  211. package/dist/document-amendment-store.js.map +1 -0
  212. package/dist/document-delivery-transport.d.ts +168 -0
  213. package/dist/document-delivery-transport.d.ts.map +1 -0
  214. package/dist/document-delivery-transport.js +206 -0
  215. package/dist/document-delivery-transport.js.map +1 -0
  216. package/dist/document-engine.d.ts +134 -0
  217. package/dist/document-engine.d.ts.map +1 -0
  218. package/dist/document-engine.js +282 -0
  219. package/dist/document-engine.js.map +1 -0
  220. package/dist/document-flag.d.ts +58 -0
  221. package/dist/document-flag.d.ts.map +1 -0
  222. package/dist/document-flag.js +70 -0
  223. package/dist/document-flag.js.map +1 -0
  224. package/dist/document-frame-router.d.ts +245 -0
  225. package/dist/document-frame-router.d.ts.map +1 -0
  226. package/dist/document-frame-router.js +397 -0
  227. package/dist/document-frame-router.js.map +1 -0
  228. package/dist/document-gate-wiring.d.ts +61 -0
  229. package/dist/document-gate-wiring.d.ts.map +1 -0
  230. package/dist/document-gate-wiring.js +125 -0
  231. package/dist/document-gate-wiring.js.map +1 -0
  232. package/dist/document-gate.d.ts +149 -0
  233. package/dist/document-gate.d.ts.map +1 -0
  234. package/dist/document-gate.js +509 -0
  235. package/dist/document-gate.js.map +1 -0
  236. package/dist/document-handlers.d.ts +47 -0
  237. package/dist/document-handlers.d.ts.map +1 -0
  238. package/dist/document-handlers.js +2203 -0
  239. package/dist/document-handlers.js.map +1 -0
  240. package/dist/document-handshake.d.ts +176 -0
  241. package/dist/document-handshake.d.ts.map +1 -0
  242. package/dist/document-handshake.js +452 -0
  243. package/dist/document-handshake.js.map +1 -0
  244. package/dist/document-inbound.d.ts +162 -0
  245. package/dist/document-inbound.d.ts.map +1 -0
  246. package/dist/document-inbound.js +530 -0
  247. package/dist/document-inbound.js.map +1 -0
  248. package/dist/document-json.d.ts +120 -0
  249. package/dist/document-json.d.ts.map +1 -0
  250. package/dist/document-json.js +191 -0
  251. package/dist/document-json.js.map +1 -0
  252. package/dist/document-layer.d.ts +215 -0
  253. package/dist/document-layer.d.ts.map +1 -0
  254. package/dist/document-layer.js +1025 -0
  255. package/dist/document-layer.js.map +1 -0
  256. package/dist/document-lifecycle.d.ts +52 -0
  257. package/dist/document-lifecycle.d.ts.map +1 -0
  258. package/dist/document-lifecycle.js +134 -0
  259. package/dist/document-lifecycle.js.map +1 -0
  260. package/dist/document-live-docs.d.ts +58 -0
  261. package/dist/document-live-docs.d.ts.map +1 -0
  262. package/dist/document-live-docs.js +126 -0
  263. package/dist/document-live-docs.js.map +1 -0
  264. package/dist/document-notify.d.ts +228 -0
  265. package/dist/document-notify.d.ts.map +1 -0
  266. package/dist/document-notify.js +580 -0
  267. package/dist/document-notify.js.map +1 -0
  268. package/dist/document-profile.d.ts +61 -0
  269. package/dist/document-profile.d.ts.map +1 -0
  270. package/dist/document-profile.js +112 -0
  271. package/dist/document-profile.js.map +1 -0
  272. package/dist/document-publish.d.ts +87 -0
  273. package/dist/document-publish.d.ts.map +1 -0
  274. package/dist/document-publish.js +173 -0
  275. package/dist/document-publish.js.map +1 -0
  276. package/dist/document-reachability.d.ts +42 -0
  277. package/dist/document-reachability.d.ts.map +1 -0
  278. package/dist/document-reachability.js +80 -0
  279. package/dist/document-reachability.js.map +1 -0
  280. package/dist/document-reconcile-engine.d.ts +66 -0
  281. package/dist/document-reconcile-engine.d.ts.map +1 -0
  282. package/dist/document-reconcile-engine.js +225 -0
  283. package/dist/document-reconcile-engine.js.map +1 -0
  284. package/dist/document-reconcile-scheduler.d.ts +163 -0
  285. package/dist/document-reconcile-scheduler.d.ts.map +1 -0
  286. package/dist/document-reconcile-scheduler.js +303 -0
  287. package/dist/document-reconcile-scheduler.js.map +1 -0
  288. package/dist/document-rejection.d.ts +251 -0
  289. package/dist/document-rejection.d.ts.map +1 -0
  290. package/dist/document-rejection.js +435 -0
  291. package/dist/document-rejection.js.map +1 -0
  292. package/dist/document-screen.d.ts +114 -0
  293. package/dist/document-screen.d.ts.map +1 -0
  294. package/dist/document-screen.js +223 -0
  295. package/dist/document-screen.js.map +1 -0
  296. package/dist/document-store.d.ts +372 -0
  297. package/dist/document-store.d.ts.map +1 -0
  298. package/dist/document-store.js +931 -0
  299. package/dist/document-store.js.map +1 -0
  300. package/dist/document-surface.d.ts +32 -0
  301. package/dist/document-surface.d.ts.map +1 -0
  302. package/dist/document-surface.js +151 -0
  303. package/dist/document-surface.js.map +1 -0
  304. package/dist/document-types.d.ts +94 -0
  305. package/dist/document-types.d.ts.map +1 -0
  306. package/dist/document-types.js +90 -0
  307. package/dist/document-types.js.map +1 -0
  308. package/dist/document-watch.d.ts +69 -0
  309. package/dist/document-watch.d.ts.map +1 -0
  310. package/dist/document-watch.js +108 -0
  311. package/dist/document-watch.js.map +1 -0
  312. package/dist/document-wiring.d.ts +53 -0
  313. package/dist/document-wiring.d.ts.map +1 -0
  314. package/dist/document-wiring.js +323 -0
  315. package/dist/document-wiring.js.map +1 -0
  316. package/dist/document-write-guard.d.ts +66 -0
  317. package/dist/document-write-guard.d.ts.map +1 -0
  318. package/dist/document-write-guard.js +98 -0
  319. package/dist/document-write-guard.js.map +1 -0
  320. package/dist/document-write-path.d.ts +94 -0
  321. package/dist/document-write-path.d.ts.map +1 -0
  322. package/dist/document-write-path.js +530 -0
  323. package/dist/document-write-path.js.map +1 -0
  324. package/dist/error-message.d.ts +7 -0
  325. package/dist/error-message.d.ts.map +1 -0
  326. package/dist/error-message.js +19 -0
  327. package/dist/error-message.js.map +1 -0
  328. package/dist/file-manifest-provider.d.ts +37 -0
  329. package/dist/file-manifest-provider.d.ts.map +1 -0
  330. package/dist/file-manifest-provider.js +105 -0
  331. package/dist/file-manifest-provider.js.map +1 -0
  332. package/dist/frame-values.d.ts +3 -0
  333. package/dist/frame-values.d.ts.map +1 -0
  334. package/dist/frame-values.js +84 -0
  335. package/dist/frame-values.js.map +1 -0
  336. package/dist/frontier-mismatch.d.ts +73 -0
  337. package/dist/frontier-mismatch.d.ts.map +1 -0
  338. package/dist/frontier-mismatch.js +89 -0
  339. package/dist/frontier-mismatch.js.map +1 -0
  340. package/dist/gateway-config-handlers.d.ts +26 -0
  341. package/dist/gateway-config-handlers.d.ts.map +1 -0
  342. package/dist/gateway-config-handlers.js +454 -0
  343. package/dist/gateway-config-handlers.js.map +1 -0
  344. package/dist/held-content.d.ts +145 -0
  345. package/dist/held-content.d.ts.map +1 -0
  346. package/dist/held-content.js +389 -0
  347. package/dist/held-content.js.map +1 -0
  348. package/dist/http-manifest-poll.d.ts +67 -0
  349. package/dist/http-manifest-poll.d.ts.map +1 -0
  350. package/dist/http-manifest-poll.js +150 -0
  351. package/dist/http-manifest-poll.js.map +1 -0
  352. package/dist/identity-migration.d.ts +40 -0
  353. package/dist/identity-migration.d.ts.map +1 -0
  354. package/dist/identity-migration.js +461 -0
  355. package/dist/identity-migration.js.map +1 -0
  356. package/dist/inbound-refusals.d.ts +283 -0
  357. package/dist/inbound-refusals.d.ts.map +1 -0
  358. package/dist/inbound-refusals.js +919 -0
  359. package/dist/inbound-refusals.js.map +1 -0
  360. package/dist/inbound-seal-request.d.ts +32 -0
  361. package/dist/inbound-seal-request.d.ts.map +1 -0
  362. package/dist/inbound-seal-request.js +228 -0
  363. package/dist/inbound-seal-request.js.map +1 -0
  364. package/dist/inbound-sessions.d.ts +291 -0
  365. package/dist/inbound-sessions.d.ts.map +1 -0
  366. package/dist/inbound-sessions.js +1609 -0
  367. package/dist/inbound-sessions.js.map +1 -0
  368. package/dist/inclusion-proof-handlers.d.ts +43 -0
  369. package/dist/inclusion-proof-handlers.d.ts.map +1 -0
  370. package/dist/inclusion-proof-handlers.js +565 -0
  371. package/dist/inclusion-proof-handlers.js.map +1 -0
  372. package/dist/inclusion-proof.d.ts +151 -0
  373. package/dist/inclusion-proof.d.ts.map +1 -0
  374. package/dist/inclusion-proof.js +228 -0
  375. package/dist/inclusion-proof.js.map +1 -0
  376. package/dist/index.d.ts +32 -0
  377. package/dist/index.d.ts.map +1 -0
  378. package/dist/index.js.map +1 -0
  379. package/dist/initiate-session-handler.d.ts +55 -0
  380. package/dist/initiate-session-handler.d.ts.map +1 -0
  381. package/dist/initiate-session-handler.js +310 -0
  382. package/dist/initiate-session-handler.js.map +1 -0
  383. package/dist/ipc-client.d.ts +31 -0
  384. package/dist/ipc-client.d.ts.map +1 -0
  385. package/dist/ipc-client.js +113 -0
  386. package/dist/ipc-client.js.map +1 -0
  387. package/dist/ipc-server.d.ts +63 -0
  388. package/dist/ipc-server.d.ts.map +1 -0
  389. package/dist/ipc-server.js +429 -0
  390. package/dist/ipc-server.js.map +1 -0
  391. package/dist/ipc-surface.d.ts +44 -0
  392. package/dist/ipc-surface.d.ts.map +1 -0
  393. package/dist/ipc-surface.js +107 -0
  394. package/dist/ipc-surface.js.map +1 -0
  395. package/dist/line-lcs.d.ts +51 -0
  396. package/dist/line-lcs.d.ts.map +1 -0
  397. package/dist/line-lcs.js +71 -0
  398. package/dist/line-lcs.js.map +1 -0
  399. package/dist/lock-file.d.ts +39 -0
  400. package/dist/lock-file.d.ts.map +1 -0
  401. package/dist/lock-file.js +120 -0
  402. package/dist/lock-file.js.map +1 -0
  403. package/dist/log-collapse.d.ts +66 -0
  404. package/dist/log-collapse.d.ts.map +1 -0
  405. package/dist/log-collapse.js +244 -0
  406. package/dist/log-collapse.js.map +1 -0
  407. package/dist/log-rotate.d.ts +67 -0
  408. package/dist/log-rotate.d.ts.map +1 -0
  409. package/dist/log-rotate.js +134 -0
  410. package/dist/log-rotate.js.map +1 -0
  411. package/dist/manifest-deps.d.ts +25 -0
  412. package/dist/manifest-deps.d.ts.map +1 -0
  413. package/dist/manifest-deps.js +151 -0
  414. package/dist/manifest-deps.js.map +1 -0
  415. package/dist/manifest-poll-scheduler.d.ts +31 -0
  416. package/dist/manifest-poll-scheduler.d.ts.map +1 -0
  417. package/dist/manifest-poll-scheduler.js +59 -0
  418. package/dist/manifest-poll-scheduler.js.map +1 -0
  419. package/dist/manifest-validity.d.ts +153 -0
  420. package/dist/manifest-validity.d.ts.map +1 -0
  421. package/dist/manifest-validity.js +268 -0
  422. package/dist/manifest-validity.js.map +1 -0
  423. package/dist/manifest-version-store-db.d.ts +24 -0
  424. package/dist/manifest-version-store-db.d.ts.map +1 -0
  425. package/dist/manifest-version-store-db.js +58 -0
  426. package/dist/manifest-version-store-db.js.map +1 -0
  427. package/dist/manifest-version-store.d.ts +16 -0
  428. package/dist/manifest-version-store.d.ts.map +1 -0
  429. package/dist/manifest-version-store.js +15 -0
  430. package/dist/manifest-version-store.js.map +1 -0
  431. package/dist/network-directory-node.d.ts +136 -0
  432. package/dist/network-directory-node.d.ts.map +1 -0
  433. package/dist/network-directory-node.js +810 -0
  434. package/dist/network-directory-node.js.map +1 -0
  435. package/dist/nonce-dedup.d.ts +68 -0
  436. package/dist/nonce-dedup.d.ts.map +1 -0
  437. package/dist/nonce-dedup.js +205 -0
  438. package/dist/nonce-dedup.js.map +1 -0
  439. package/dist/notification-dispatcher.d.ts +92 -0
  440. package/dist/notification-dispatcher.d.ts.map +1 -0
  441. package/dist/notification-dispatcher.js +210 -0
  442. package/dist/notification-dispatcher.js.map +1 -0
  443. package/dist/notification-handlers.d.ts +53 -0
  444. package/dist/notification-handlers.d.ts.map +1 -0
  445. package/dist/notification-handlers.js +461 -0
  446. package/dist/notification-handlers.js.map +1 -0
  447. package/dist/onboarding-guidance.d.ts +79 -0
  448. package/dist/onboarding-guidance.d.ts.map +1 -0
  449. package/dist/onboarding-guidance.js +95 -0
  450. package/dist/onboarding-guidance.js.map +1 -0
  451. package/dist/operator-guidance.d.ts +25 -0
  452. package/dist/operator-guidance.d.ts.map +1 -0
  453. package/dist/operator-guidance.js +50 -0
  454. package/dist/operator-guidance.js.map +1 -0
  455. package/dist/orphan-triage.d.ts +130 -0
  456. package/dist/orphan-triage.d.ts.map +1 -0
  457. package/dist/orphan-triage.js +207 -0
  458. package/dist/orphan-triage.js.map +1 -0
  459. package/dist/outbound-sessions.d.ts +126 -0
  460. package/dist/outbound-sessions.d.ts.map +1 -0
  461. package/dist/outbound-sessions.js +1052 -0
  462. package/dist/outbound-sessions.js.map +1 -0
  463. package/dist/park-envelope.d.ts +329 -0
  464. package/dist/park-envelope.d.ts.map +1 -0
  465. package/dist/park-envelope.js +509 -0
  466. package/dist/park-envelope.js.map +1 -0
  467. package/dist/park-recovery.d.ts +273 -0
  468. package/dist/park-recovery.d.ts.map +1 -0
  469. package/dist/park-recovery.js +717 -0
  470. package/dist/park-recovery.js.map +1 -0
  471. package/dist/park-refusals.d.ts +147 -0
  472. package/dist/park-refusals.d.ts.map +1 -0
  473. package/dist/park-refusals.js +331 -0
  474. package/dist/park-refusals.js.map +1 -0
  475. package/dist/quarantine-framing.d.ts +92 -0
  476. package/dist/quarantine-framing.d.ts.map +1 -0
  477. package/dist/quarantine-framing.js +111 -0
  478. package/dist/quarantine-framing.js.map +1 -0
  479. package/dist/reconnect-drain.d.ts +22 -0
  480. package/dist/reconnect-drain.d.ts.map +1 -0
  481. package/dist/reconnect-drain.js +65 -0
  482. package/dist/reconnect-drain.js.map +1 -0
  483. package/dist/recovered-position.d.ts +14 -0
  484. package/dist/recovered-position.d.ts.map +1 -0
  485. package/dist/recovered-position.js +59 -0
  486. package/dist/recovered-position.js.map +1 -0
  487. package/dist/refusal-notices.d.ts +196 -0
  488. package/dist/refusal-notices.d.ts.map +1 -0
  489. package/dist/refusal-notices.js +516 -0
  490. package/dist/refusal-notices.js.map +1 -0
  491. package/dist/refusal-reasons.d.ts +245 -0
  492. package/dist/refusal-reasons.d.ts.map +1 -0
  493. package/dist/refusal-reasons.js +363 -0
  494. package/dist/refusal-reasons.js.map +1 -0
  495. package/dist/register-handler.d.ts +36 -0
  496. package/dist/register-handler.d.ts.map +1 -0
  497. package/dist/register-handler.js +285 -0
  498. package/dist/register-handler.js.map +1 -0
  499. package/dist/registration-context.d.ts +72 -0
  500. package/dist/registration-context.d.ts.map +1 -0
  501. package/dist/registration-context.js +126 -0
  502. package/dist/registration-context.js.map +1 -0
  503. package/dist/registration-manager.d.ts +94 -0
  504. package/dist/registration-manager.d.ts.map +1 -0
  505. package/dist/registration-manager.js +585 -0
  506. package/dist/registration-manager.js.map +1 -0
  507. package/dist/registration-persistence.d.ts +183 -0
  508. package/dist/registration-persistence.d.ts.map +1 -0
  509. package/dist/registration-persistence.js +263 -0
  510. package/dist/registration-persistence.js.map +1 -0
  511. package/dist/registry-poll.d.ts +52 -0
  512. package/dist/registry-poll.d.ts.map +1 -0
  513. package/dist/registry-poll.js +140 -0
  514. package/dist/registry-poll.js.map +1 -0
  515. package/dist/registry-version-store-db.d.ts +22 -0
  516. package/dist/registry-version-store-db.d.ts.map +1 -0
  517. package/dist/registry-version-store-db.js +50 -0
  518. package/dist/registry-version-store-db.js.map +1 -0
  519. package/dist/relay-endpoints.d.ts +18 -0
  520. package/dist/relay-endpoints.d.ts.map +1 -0
  521. package/dist/relay-endpoints.js +9 -0
  522. package/dist/relay-endpoints.js.map +1 -0
  523. package/dist/relay-only.d.ts +140 -0
  524. package/dist/relay-only.d.ts.map +1 -0
  525. package/dist/relay-only.js +193 -0
  526. package/dist/relay-only.js.map +1 -0
  527. package/dist/relay-receipt-store.d.ts +155 -0
  528. package/dist/relay-receipt-store.d.ts.map +1 -0
  529. package/dist/relay-receipt-store.js +284 -0
  530. package/dist/relay-receipt-store.js.map +1 -0
  531. package/dist/relay-reconnect.d.ts +32 -0
  532. package/dist/relay-reconnect.d.ts.map +1 -0
  533. package/dist/relay-reconnect.js +29 -0
  534. package/dist/relay-reconnect.js.map +1 -0
  535. package/dist/reply-lag.d.ts +11 -0
  536. package/dist/reply-lag.d.ts.map +1 -0
  537. package/dist/reply-lag.js +46 -0
  538. package/dist/reply-lag.js.map +1 -0
  539. package/dist/resolve-named-agent.d.ts +49 -0
  540. package/dist/resolve-named-agent.d.ts.map +1 -0
  541. package/dist/resolve-named-agent.js +77 -0
  542. package/dist/resolve-named-agent.js.map +1 -0
  543. package/dist/restart-seal-resolver.d.ts +110 -0
  544. package/dist/restart-seal-resolver.d.ts.map +1 -0
  545. package/dist/restart-seal-resolver.js +353 -0
  546. package/dist/restart-seal-resolver.js.map +1 -0
  547. package/dist/resume-last-seen.d.ts +15 -0
  548. package/dist/resume-last-seen.d.ts.map +1 -0
  549. package/dist/resume-last-seen.js +44 -0
  550. package/dist/resume-last-seen.js.map +1 -0
  551. package/dist/retry-queue.d.ts +203 -0
  552. package/dist/retry-queue.d.ts.map +1 -0
  553. package/dist/retry-queue.js +701 -0
  554. package/dist/retry-queue.js.map +1 -0
  555. package/dist/roster-freshness.d.ts +160 -0
  556. package/dist/roster-freshness.d.ts.map +1 -0
  557. package/dist/roster-freshness.js +250 -0
  558. package/dist/roster-freshness.js.map +1 -0
  559. package/dist/screening-status.d.ts +15 -0
  560. package/dist/screening-status.d.ts.map +1 -0
  561. package/dist/screening-status.js +65 -0
  562. package/dist/screening-status.js.map +1 -0
  563. package/dist/seal-carried-close.d.ts +37 -0
  564. package/dist/seal-carried-close.d.ts.map +1 -0
  565. package/dist/seal-carried-close.js +179 -0
  566. package/dist/seal-carried-close.js.map +1 -0
  567. package/dist/seal-certificate-pull.d.ts +79 -0
  568. package/dist/seal-certificate-pull.d.ts.map +1 -0
  569. package/dist/seal-certificate-pull.js +186 -0
  570. package/dist/seal-certificate-pull.js.map +1 -0
  571. package/dist/seal-certified-root-check.d.ts +37 -0
  572. package/dist/seal-certified-root-check.d.ts.map +1 -0
  573. package/dist/seal-certified-root-check.js +127 -0
  574. package/dist/seal-certified-root-check.js.map +1 -0
  575. package/dist/seal-coordinator.d.ts +118 -0
  576. package/dist/seal-coordinator.d.ts.map +1 -0
  577. package/dist/seal-coordinator.js +927 -0
  578. package/dist/seal-coordinator.js.map +1 -0
  579. package/dist/seal-escalation.d.ts +80 -0
  580. package/dist/seal-escalation.d.ts.map +1 -0
  581. package/dist/seal-escalation.js +283 -0
  582. package/dist/seal-escalation.js.map +1 -0
  583. package/dist/seal-evidence-root-check.d.ts +70 -0
  584. package/dist/seal-evidence-root-check.d.ts.map +1 -0
  585. package/dist/seal-evidence-root-check.js +199 -0
  586. package/dist/seal-evidence-root-check.js.map +1 -0
  587. package/dist/seal-failure-store.d.ts +139 -0
  588. package/dist/seal-failure-store.d.ts.map +1 -0
  589. package/dist/seal-failure-store.js +207 -0
  590. package/dist/seal-failure-store.js.map +1 -0
  591. package/dist/seal-flows.d.ts +107 -0
  592. package/dist/seal-flows.d.ts.map +1 -0
  593. package/dist/seal-flows.js +638 -0
  594. package/dist/seal-flows.js.map +1 -0
  595. package/dist/seal-frontier-verify.d.ts +103 -0
  596. package/dist/seal-frontier-verify.d.ts.map +1 -0
  597. package/dist/seal-frontier-verify.js +143 -0
  598. package/dist/seal-frontier-verify.js.map +1 -0
  599. package/dist/seal-leaf.d.ts +58 -0
  600. package/dist/seal-leaf.d.ts.map +1 -0
  601. package/dist/seal-leaf.js +112 -0
  602. package/dist/seal-leaf.js.map +1 -0
  603. package/dist/seal-legibility-tbs.d.ts +25 -0
  604. package/dist/seal-legibility-tbs.d.ts.map +1 -0
  605. package/dist/seal-legibility-tbs.js +77 -0
  606. package/dist/seal-legibility-tbs.js.map +1 -0
  607. package/dist/seal-local-terminus.d.ts +41 -0
  608. package/dist/seal-local-terminus.d.ts.map +1 -0
  609. package/dist/seal-local-terminus.js +170 -0
  610. package/dist/seal-local-terminus.js.map +1 -0
  611. package/dist/seal-receipt-upgrade.d.ts +30 -0
  612. package/dist/seal-receipt-upgrade.d.ts.map +1 -0
  613. package/dist/seal-receipt-upgrade.js +49 -0
  614. package/dist/seal-receipt-upgrade.js.map +1 -0
  615. package/dist/seal-relay-silence.d.ts +51 -0
  616. package/dist/seal-relay-silence.d.ts.map +1 -0
  617. package/dist/seal-relay-silence.js +76 -0
  618. package/dist/seal-relay-silence.js.map +1 -0
  619. package/dist/seal-settle.d.ts +38 -0
  620. package/dist/seal-settle.d.ts.map +1 -0
  621. package/dist/seal-settle.js +33 -0
  622. package/dist/seal-settle.js.map +1 -0
  623. package/dist/seal-upgrade.d.ts +107 -0
  624. package/dist/seal-upgrade.d.ts.map +1 -0
  625. package/dist/seal-upgrade.js +200 -0
  626. package/dist/seal-upgrade.js.map +1 -0
  627. package/dist/sealed-conversation.d.ts +36 -0
  628. package/dist/sealed-conversation.d.ts.map +1 -0
  629. package/dist/sealed-conversation.js +171 -0
  630. package/dist/sealed-conversation.js.map +1 -0
  631. package/dist/sealed-leaf-set.d.ts +92 -0
  632. package/dist/sealed-leaf-set.d.ts.map +1 -0
  633. package/dist/sealed-leaf-set.js +122 -0
  634. package/dist/sealed-leaf-set.js.map +1 -0
  635. package/dist/send-claims.d.ts +56 -0
  636. package/dist/send-claims.d.ts.map +1 -0
  637. package/dist/send-claims.js +50 -0
  638. package/dist/send-claims.js.map +1 -0
  639. package/dist/session-assignment-parser.d.ts +104 -0
  640. package/dist/session-assignment-parser.d.ts.map +1 -0
  641. package/dist/session-assignment-parser.js +345 -0
  642. package/dist/session-assignment-parser.js.map +1 -0
  643. package/dist/session-category.d.ts +19 -0
  644. package/dist/session-category.d.ts.map +1 -0
  645. package/dist/session-category.js +14 -0
  646. package/dist/session-category.js.map +1 -0
  647. package/dist/session-ceremony.d.ts +297 -0
  648. package/dist/session-ceremony.d.ts.map +1 -0
  649. package/dist/session-ceremony.js +964 -0
  650. package/dist/session-ceremony.js.map +1 -0
  651. package/dist/session-closed.d.ts +79 -0
  652. package/dist/session-closed.d.ts.map +1 -0
  653. package/dist/session-closed.js +189 -0
  654. package/dist/session-closed.js.map +1 -0
  655. package/dist/session-connection-gater.d.ts +148 -0
  656. package/dist/session-connection-gater.d.ts.map +1 -0
  657. package/dist/session-connection-gater.js +332 -0
  658. package/dist/session-connection-gater.js.map +1 -0
  659. package/dist/session-content-context.d.ts +162 -0
  660. package/dist/session-content-context.d.ts.map +1 -0
  661. package/dist/session-content-context.js +2 -0
  662. package/dist/session-content-context.js.map +1 -0
  663. package/dist/session-content-handlers.d.ts +82 -0
  664. package/dist/session-content-handlers.d.ts.map +1 -0
  665. package/dist/session-content-handlers.js +1382 -0
  666. package/dist/session-content-handlers.js.map +1 -0
  667. package/dist/session-content-ingest.d.ts +206 -0
  668. package/dist/session-content-ingest.d.ts.map +1 -0
  669. package/dist/session-content-ingest.js +2167 -0
  670. package/dist/session-content-ingest.js.map +1 -0
  671. package/dist/session-content-send.d.ts +191 -0
  672. package/dist/session-content-send.d.ts.map +1 -0
  673. package/dist/session-content-send.js +1360 -0
  674. package/dist/session-content-send.js.map +1 -0
  675. package/dist/session-delivery-acks.d.ts +169 -0
  676. package/dist/session-delivery-acks.d.ts.map +1 -0
  677. package/dist/session-delivery-acks.js +569 -0
  678. package/dist/session-delivery-acks.js.map +1 -0
  679. package/dist/session-ephemerals.d.ts +279 -0
  680. package/dist/session-ephemerals.d.ts.map +1 -0
  681. package/dist/session-ephemerals.js +591 -0
  682. package/dist/session-ephemerals.js.map +1 -0
  683. package/dist/session-leaf-records.d.ts +159 -0
  684. package/dist/session-leaf-records.d.ts.map +1 -0
  685. package/dist/session-leaf-records.js +408 -0
  686. package/dist/session-leaf-records.js.map +1 -0
  687. package/dist/session-lifecycle.d.ts +303 -0
  688. package/dist/session-lifecycle.d.ts.map +1 -0
  689. package/dist/session-lifecycle.js +1679 -0
  690. package/dist/session-lifecycle.js.map +1 -0
  691. package/dist/session-liveness.d.ts +135 -0
  692. package/dist/session-liveness.d.ts.map +1 -0
  693. package/dist/session-liveness.js +347 -0
  694. package/dist/session-liveness.js.map +1 -0
  695. package/dist/session-name.d.ts +35 -0
  696. package/dist/session-name.d.ts.map +1 -0
  697. package/dist/session-name.js +60 -0
  698. package/dist/session-name.js.map +1 -0
  699. package/dist/session-node-factory.d.ts +18 -0
  700. package/dist/session-node-factory.d.ts.map +1 -0
  701. package/dist/session-node-factory.js +182 -0
  702. package/dist/session-node-factory.js.map +1 -0
  703. package/dist/session-node-manager.d.ts +877 -0
  704. package/dist/session-node-manager.d.ts.map +1 -0
  705. package/dist/session-node-manager.js +2998 -0
  706. package/dist/session-node-manager.js.map +1 -0
  707. package/dist/session-node-types.d.ts +1057 -0
  708. package/dist/session-node-types.d.ts.map +1 -0
  709. package/dist/session-node-types.js +657 -0
  710. package/dist/session-node-types.js.map +1 -0
  711. package/dist/session-notify.d.ts +46 -0
  712. package/dist/session-notify.d.ts.map +1 -0
  713. package/dist/session-notify.js +116 -0
  714. package/dist/session-notify.js.map +1 -0
  715. package/dist/session-own-chain-store.d.ts +65 -0
  716. package/dist/session-own-chain-store.d.ts.map +1 -0
  717. package/dist/session-own-chain-store.js +75 -0
  718. package/dist/session-own-chain-store.js.map +1 -0
  719. package/dist/session-queries.d.ts +476 -0
  720. package/dist/session-queries.d.ts.map +1 -0
  721. package/dist/session-queries.js +1007 -0
  722. package/dist/session-queries.js.map +1 -0
  723. package/dist/session-read-handlers.d.ts +87 -0
  724. package/dist/session-read-handlers.d.ts.map +1 -0
  725. package/dist/session-read-handlers.js +689 -0
  726. package/dist/session-read-handlers.js.map +1 -0
  727. package/dist/session-records.d.ts +341 -0
  728. package/dist/session-records.d.ts.map +1 -0
  729. package/dist/session-records.js +858 -0
  730. package/dist/session-records.js.map +1 -0
  731. package/dist/session-relay-client.d.ts +659 -0
  732. package/dist/session-relay-client.d.ts.map +1 -0
  733. package/dist/session-relay-client.js +2876 -0
  734. package/dist/session-relay-client.js.map +1 -0
  735. package/dist/session-relay.d.ts +397 -0
  736. package/dist/session-relay.d.ts.map +1 -0
  737. package/dist/session-relay.js +1636 -0
  738. package/dist/session-relay.js.map +1 -0
  739. package/dist/session-salt-agreement.d.ts +331 -0
  740. package/dist/session-salt-agreement.d.ts.map +1 -0
  741. package/dist/session-salt-agreement.js +472 -0
  742. package/dist/session-salt-agreement.js.map +1 -0
  743. package/dist/session-salts.d.ts +432 -0
  744. package/dist/session-salts.d.ts.map +1 -0
  745. package/dist/session-salts.js +1540 -0
  746. package/dist/session-salts.js.map +1 -0
  747. package/dist/session-schema.d.ts +30 -0
  748. package/dist/session-schema.d.ts.map +1 -0
  749. package/dist/session-schema.js +877 -0
  750. package/dist/session-schema.js.map +1 -0
  751. package/dist/session-seal-leaf-store.d.ts +70 -0
  752. package/dist/session-seal-leaf-store.d.ts.map +1 -0
  753. package/dist/session-seal-leaf-store.js +105 -0
  754. package/dist/session-seal-leaf-store.js.map +1 -0
  755. package/dist/session-seal.d.ts +334 -0
  756. package/dist/session-seal.d.ts.map +1 -0
  757. package/dist/session-seal.js +1017 -0
  758. package/dist/session-seal.js.map +1 -0
  759. package/dist/session-terminal-refusal.d.ts +65 -0
  760. package/dist/session-terminal-refusal.d.ts.map +1 -0
  761. package/dist/session-terminal-refusal.js +87 -0
  762. package/dist/session-terminal-refusal.js.map +1 -0
  763. package/dist/session-tree.d.ts +110 -0
  764. package/dist/session-tree.d.ts.map +1 -0
  765. package/dist/session-tree.js +144 -0
  766. package/dist/session-tree.js.map +1 -0
  767. package/dist/session-views.d.ts +47 -0
  768. package/dist/session-views.d.ts.map +1 -0
  769. package/dist/session-views.js +278 -0
  770. package/dist/session-views.js.map +1 -0
  771. package/dist/signal-handlers.d.ts +63 -0
  772. package/dist/signal-handlers.d.ts.map +1 -0
  773. package/dist/signal-handlers.js +980 -0
  774. package/dist/signal-handlers.js.map +1 -0
  775. package/dist/signal-requirement-policy.d.ts +51 -0
  776. package/dist/signal-requirement-policy.d.ts.map +1 -0
  777. package/dist/signal-requirement-policy.js +89 -0
  778. package/dist/signal-requirement-policy.js.map +1 -0
  779. package/dist/signal-revocability.d.ts +49 -0
  780. package/dist/signal-revocability.d.ts.map +1 -0
  781. package/dist/signal-revocability.js +93 -0
  782. package/dist/signal-revocability.js.map +1 -0
  783. package/dist/signal-submission.d.ts +181 -0
  784. package/dist/signal-submission.d.ts.map +1 -0
  785. package/dist/signal-submission.js +368 -0
  786. package/dist/signal-submission.js.map +1 -0
  787. package/dist/signaling-connect.d.ts +118 -0
  788. package/dist/signaling-connect.d.ts.map +1 -0
  789. package/dist/signaling-connect.js +538 -0
  790. package/dist/signaling-connect.js.map +1 -0
  791. package/dist/signaling-wiring.d.ts +105 -0
  792. package/dist/signaling-wiring.d.ts.map +1 -0
  793. package/dist/signaling-wiring.js +393 -0
  794. package/dist/signaling-wiring.js.map +1 -0
  795. package/dist/singleton-lock.d.ts +85 -0
  796. package/dist/singleton-lock.d.ts.map +1 -0
  797. package/dist/singleton-lock.js +219 -0
  798. package/dist/singleton-lock.js.map +1 -0
  799. package/dist/sqlcipher-db.d.ts +139 -0
  800. package/dist/sqlcipher-db.d.ts.map +1 -0
  801. package/dist/sqlcipher-db.js +357 -0
  802. package/dist/sqlcipher-db.js.map +1 -0
  803. package/dist/standing-receivers.d.ts +319 -0
  804. package/dist/standing-receivers.d.ts.map +1 -0
  805. package/dist/standing-receivers.js +1295 -0
  806. package/dist/standing-receivers.js.map +1 -0
  807. package/dist/start-agent.d.ts +64 -0
  808. package/dist/start-agent.d.ts.map +1 -0
  809. package/dist/start-agent.js +136 -0
  810. package/dist/start-agent.js.map +1 -0
  811. package/dist/status-handler.d.ts +54 -0
  812. package/dist/status-handler.d.ts.map +1 -0
  813. package/dist/status-handler.js +61 -0
  814. package/dist/status-handler.js.map +1 -0
  815. package/dist/submission-retry.d.ts +208 -0
  816. package/dist/submission-retry.d.ts.map +1 -0
  817. package/dist/submission-retry.js +506 -0
  818. package/dist/submission-retry.js.map +1 -0
  819. package/dist/telegram-bot-client.d.ts +34 -0
  820. package/dist/telegram-bot-client.d.ts.map +1 -0
  821. package/dist/telegram-bot-client.js +36 -0
  822. package/dist/telegram-bot-client.js.map +1 -0
  823. package/dist/telegram-doorbell.d.ts +38 -0
  824. package/dist/telegram-doorbell.d.ts.map +1 -0
  825. package/dist/telegram-doorbell.js +140 -0
  826. package/dist/telegram-doorbell.js.map +1 -0
  827. package/dist/test-handlers.d.ts +62 -0
  828. package/dist/test-handlers.d.ts.map +1 -0
  829. package/dist/test-handlers.js +240 -0
  830. package/dist/test-handlers.js.map +1 -0
  831. package/dist/testing.d.ts +10 -0
  832. package/dist/testing.d.ts.map +1 -0
  833. package/dist/testing.js +10 -0
  834. package/dist/testing.js.map +1 -0
  835. package/dist/transport-composition.d.ts +31 -0
  836. package/dist/transport-composition.d.ts.map +1 -0
  837. package/dist/transport-composition.js +55 -0
  838. package/dist/transport-composition.js.map +1 -0
  839. package/dist/transport-selector.d.ts +202 -0
  840. package/dist/transport-selector.d.ts.map +1 -0
  841. package/dist/transport-selector.js +196 -0
  842. package/dist/transport-selector.js.map +1 -0
  843. package/dist/trust-signal-pickup-listener.d.ts +43 -0
  844. package/dist/trust-signal-pickup-listener.d.ts.map +1 -0
  845. package/dist/trust-signal-pickup-listener.js +48 -0
  846. package/dist/trust-signal-pickup-listener.js.map +1 -0
  847. package/dist/trust-signal-store.d.ts +406 -0
  848. package/dist/trust-signal-store.d.ts.map +1 -0
  849. package/dist/trust-signal-store.js +939 -0
  850. package/dist/trust-signal-store.js.map +1 -0
  851. package/dist/trust-signal-sweep-tick.d.ts +60 -0
  852. package/dist/trust-signal-sweep-tick.d.ts.map +1 -0
  853. package/dist/trust-signal-sweep-tick.js +101 -0
  854. package/dist/trust-signal-sweep-tick.js.map +1 -0
  855. package/dist/trust-signal-sweep.d.ts +94 -0
  856. package/dist/trust-signal-sweep.d.ts.map +1 -0
  857. package/dist/trust-signal-sweep.js +147 -0
  858. package/dist/trust-signal-sweep.js.map +1 -0
  859. package/dist/type-registry.d.ts +42 -0
  860. package/dist/type-registry.d.ts.map +1 -0
  861. package/dist/type-registry.js +37 -0
  862. package/dist/type-registry.js.map +1 -0
  863. package/dist/types.d.ts +746 -0
  864. package/dist/types.d.ts.map +1 -0
  865. package/dist/types.js +20 -0
  866. package/dist/types.js.map +1 -0
  867. package/dist/unresolved-nodes-report.d.ts +14 -0
  868. package/dist/unresolved-nodes-report.d.ts.map +1 -0
  869. package/dist/unresolved-nodes-report.js +96 -0
  870. package/dist/unresolved-nodes-report.js.map +1 -0
  871. package/dist/vocabulary.d.ts +150 -0
  872. package/dist/vocabulary.d.ts.map +1 -0
  873. package/dist/vocabulary.js +386 -0
  874. package/dist/vocabulary.js.map +1 -0
  875. package/dist/who-label.d.ts +28 -0
  876. package/dist/who-label.d.ts.map +1 -0
  877. package/dist/who-label.js +31 -0
  878. package/dist/who-label.js.map +1 -0
  879. package/dist/who-resolver.d.ts +15 -0
  880. package/dist/who-resolver.d.ts.map +1 -0
  881. package/dist/who-resolver.js +47 -0
  882. package/dist/who-resolver.js.map +1 -0
  883. package/dist/wire-content-hash.d.ts +93 -0
  884. package/dist/wire-content-hash.d.ts.map +1 -0
  885. package/dist/wire-content-hash.js +116 -0
  886. package/dist/wire-content-hash.js.map +1 -0
  887. package/dist/withheld-content.d.ts +13 -0
  888. package/dist/withheld-content.d.ts.map +1 -0
  889. package/dist/withheld-content.js +46 -0
  890. package/dist/withheld-content.js.map +1 -0
  891. package/dist/witness-alerts.d.ts +40 -0
  892. package/dist/witness-alerts.d.ts.map +1 -0
  893. package/dist/witness-alerts.js +102 -0
  894. package/dist/witness-alerts.js.map +1 -0
  895. package/package.json +5 -5
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-schema.js","sourceRoot":"","sources":["../src/session-schema.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,70 @@
1
+ /**
2
+ * SessionSealLeafStore — FED-OPTIONB-SEAL-001.
3
+ *
4
+ * The per-session leaf log a UNILATERAL seal CARRIES to the directory so the directory rebuilds + verifies
5
+ * the Merkle tree OFFLINE (no directory→relay getSealLeaves dial). It holds BOTH parties' leaves, because a
6
+ * unilateral seal's reported_root spans the whole conversation:
7
+ * - PRESENT-party (own) leaves: captured from this agent's own hash_submit_ack — they carry the relay's
8
+ * signed RECEIPT (relay_id + timestamp + signature over buildRelayAckTbs(content_hash, seq, ts)). That
9
+ * signature is the teeth that pins each own leaf to its canonical sequence (Structure1 does NOT bind
10
+ * seq/prev_root, so without it a supplier could reorder its own leaves).
11
+ * - COUNTERPARTY leaves: captured from leaf_deliver — they carry structure1/structure2 but NO relay
12
+ * receipt (the relay does not ack-sign a delivery to the recipient). They are pinned by the absent
13
+ * party's sender_signature (unforgeable) + the prev_root chain + the signed last_seen_seq causal check +
14
+ * sequence contiguity against the receipt-pinned own leaves.
15
+ *
16
+ * Immutable at a position (agent, session, sequence): INSERT OR IGNORE keeps the first record for a seq.
17
+ */
18
+ import type { DaemonDatabase } from "./sqlcipher-db.js";
19
+ import type { Logger } from "./types.js";
20
+ /** A carried leaf for the unilateral-seal offline rebuild. Relay-receipt fields present only for own leaves. */
21
+ export interface SealCarryLeaf {
22
+ sequenceNumber: number;
23
+ /** 0x00 message / 0x02 control (SEAL). */
24
+ leafKind: number;
25
+ /** Hex of the leaf author's 32-byte pubkey (present party for own leaves, counterparty for received). */
26
+ senderPubkeyHex: string;
27
+ /** The relay's committed Structure2 (CBOR) for this leaf. */
28
+ structure2Cbor: Uint8Array;
29
+ /** The sender-signed Structure1 (CBOR) for this leaf. */
30
+ structure1Cbor: Uint8Array;
31
+ /** Relay ack-signing pubkey hex (own leaves only). */
32
+ relayId?: string;
33
+ /** Unix ms embedded in the relay ACK TBS (own leaves only). */
34
+ relayTimestamp?: number;
35
+ /** Hex of the 64-byte relay ACK signature (own leaves only). */
36
+ relaySignatureHex?: string;
37
+ /**
38
+ * 069-ORDERPROOF: hex of the 32-byte running root the relay bound into its attestation for this
39
+ * position (own leaves only). Part of the signed statement, so without it the directory cannot
40
+ * rebuild the bytes and refuses the leaf as unwitnessed.
41
+ */
42
+ relayRunningRootHex?: string;
43
+ }
44
+ export declare class SessionSealLeafStore {
45
+ #private;
46
+ constructor(db: DaemonDatabase, logger: Logger);
47
+ /**
48
+ * Persist a leaf at its canonical position. IMMUTABLE: INSERT OR IGNORE keeps the FIRST record for an
49
+ * (agent, session, sequence) — a later record for the same position (e.g. a re-delivery, or a relay
50
+ * equivocation) cannot overwrite it. Returns true iff a new row was written.
51
+ */
52
+ store(agentPubkeyHex: string, sessionIdHex: string, leaf: SealCarryLeaf, storedAtMs: number): boolean;
53
+ /**
54
+ * The last acknowledgement the live path recorded for this agent and session (`session_last_ack`):
55
+ * a RELAY position and its hash. A message that arrives on the direct path is acknowledged without
56
+ * ever being written to this leaf table, so a resumed session reads this too. Joined through
57
+ * `agents` on the stable agent_id, never the name.
58
+ */
59
+ recordedAcknowledgement(agentPubkeyHex: string, sessionIdHex: string): {
60
+ seq: number;
61
+ hash: Uint8Array;
62
+ } | undefined;
63
+ /**
64
+ * The complete carried leaf chain for a session's UNILATERAL seal, ordered by canonical sequence. The
65
+ * directory rebuilds + verifies this tree OFFLINE. Returns ALL recorded leaves (both parties); the caller
66
+ * carries them verbatim and the directory enforces contiguity + the per-leaf relay-receipt teeth.
67
+ */
68
+ getCarry(agentPubkeyHex: string, sessionIdHex: string): SealCarryLeaf[];
69
+ }
70
+ //# sourceMappingURL=session-seal-leaf-store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-seal-leaf-store.d.ts","sourceRoot":"","sources":["../src/session-seal-leaf-store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAEzC,gHAAgH;AAChH,MAAM,WAAW,aAAa;IAC5B,cAAc,EAAE,MAAM,CAAC;IACvB,0CAA0C;IAC1C,QAAQ,EAAE,MAAM,CAAC;IACjB,yGAAyG;IACzG,eAAe,EAAE,MAAM,CAAC;IACxB,6DAA6D;IAC7D,cAAc,EAAE,UAAU,CAAC;IAC3B,yDAAyD;IACzD,cAAc,EAAE,UAAU,CAAC;IAC3B,sDAAsD;IACtD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,+DAA+D;IAC/D,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gEAAgE;IAChE,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAsBD,qBAAa,oBAAoB;;gBAInB,EAAE,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM;IAsB9C;;;;OAIG;IACH,KAAK,CAAC,cAAc,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO;IAwBrG;;;;;OAKG;IACH,uBAAuB,CAAC,cAAc,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,UAAU,CAAA;KAAE,GAAG,SAAS;IAcpH;;;;OAIG;IACH,QAAQ,CAAC,cAAc,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,aAAa,EAAE;CAmBxE"}
@@ -0,0 +1,105 @@
1
+ const CREATE_SQL = `
2
+ CREATE TABLE IF NOT EXISTS session_seal_leaves (
3
+ agent_pubkey TEXT NOT NULL,
4
+ session_id TEXT NOT NULL,
5
+ sequence_number INTEGER NOT NULL,
6
+ leaf_kind INTEGER NOT NULL,
7
+ sender_pubkey_hex TEXT NOT NULL,
8
+ structure2_cbor BLOB NOT NULL,
9
+ structure1_cbor BLOB NOT NULL,
10
+ relay_id TEXT,
11
+ relay_timestamp INTEGER,
12
+ relay_signature TEXT,
13
+ -- 069-ORDERPROOF. NULLABLE: rows written before this order keep working, and a session created
14
+ -- before it still opens, reads and seals bilaterally exactly as it did.
15
+ relay_running_root TEXT,
16
+ stored_at INTEGER NOT NULL,
17
+ PRIMARY KEY (agent_pubkey, session_id, sequence_number)
18
+ );
19
+ `;
20
+ export class SessionSealLeafStore {
21
+ #db;
22
+ #logger;
23
+ constructor(db, logger) {
24
+ this.#db = db;
25
+ this.#logger = logger;
26
+ this.#db.exec(CREATE_SQL);
27
+ this.#migrateRunningRoot();
28
+ }
29
+ /**
30
+ * 069-ORDERPROOF: add `relay_running_root` to a table created before this order. `CREATE TABLE IF
31
+ * NOT EXISTS` leaves an existing table untouched, so without this an upgraded daemon would write
32
+ * to a column that is not there. Idempotent, additive and nullable — no row is rewritten and no
33
+ * existing evidence is invalidated.
34
+ */
35
+ #migrateRunningRoot() {
36
+ const cols = new Set(this.#db.prepare(`PRAGMA table_info(session_seal_leaves)`).all().map((c) => c.name));
37
+ if (!cols.has("relay_running_root")) {
38
+ this.#db.exec(`ALTER TABLE session_seal_leaves ADD COLUMN relay_running_root TEXT`);
39
+ }
40
+ }
41
+ /**
42
+ * Persist a leaf at its canonical position. IMMUTABLE: INSERT OR IGNORE keeps the FIRST record for an
43
+ * (agent, session, sequence) — a later record for the same position (e.g. a re-delivery, or a relay
44
+ * equivocation) cannot overwrite it. Returns true iff a new row was written.
45
+ */
46
+ store(agentPubkeyHex, sessionIdHex, leaf, storedAtMs) {
47
+ const info = this.#db
48
+ .prepare(`INSERT OR IGNORE INTO session_seal_leaves
49
+ (agent_pubkey, session_id, sequence_number, leaf_kind, sender_pubkey_hex, structure2_cbor, structure1_cbor, relay_id, relay_timestamp, relay_signature, relay_running_root, stored_at)
50
+ VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`)
51
+ .run(agentPubkeyHex, sessionIdHex, leaf.sequenceNumber, leaf.leafKind, leaf.senderPubkeyHex, Buffer.from(leaf.structure2Cbor), Buffer.from(leaf.structure1Cbor), leaf.relayId ?? null, leaf.relayTimestamp ?? null, leaf.relaySignatureHex ?? null, leaf.relayRunningRootHex ?? null, storedAtMs);
52
+ return Number(info.changes) > 0;
53
+ }
54
+ /**
55
+ * The last acknowledgement the live path recorded for this agent and session (`session_last_ack`):
56
+ * a RELAY position and its hash. A message that arrives on the direct path is acknowledged without
57
+ * ever being written to this leaf table, so a resumed session reads this too. Joined through
58
+ * `agents` on the stable agent_id, never the name.
59
+ */
60
+ recordedAcknowledgement(agentPubkeyHex, sessionIdHex) {
61
+ // The session schema creates the table; a database without it (a leaf store used on its own)
62
+ // has recorded no acknowledgement, which is the same fact.
63
+ if (this.#db.prepare("SELECT 1 FROM sqlite_master WHERE type = 'table' AND name = 'session_last_ack'").get() === undefined)
64
+ return undefined;
65
+ const row = this.#db
66
+ .prepare(`SELECT k.relay_seq AS seq, k.hash_hex AS hash FROM session_last_ack k
67
+ JOIN agents a ON a.agent_id = k.agent_id
68
+ WHERE a.k_local_pubkey = ? AND k.session_id = ?`)
69
+ .get(agentPubkeyHex, sessionIdHex);
70
+ return row ? { seq: row.seq, hash: new Uint8Array(Buffer.from(row.hash, "hex")) } : undefined;
71
+ }
72
+ /**
73
+ * The complete carried leaf chain for a session's UNILATERAL seal, ordered by canonical sequence. The
74
+ * directory rebuilds + verifies this tree OFFLINE. Returns ALL recorded leaves (both parties); the caller
75
+ * carries them verbatim and the directory enforces contiguity + the per-leaf relay-receipt teeth.
76
+ */
77
+ getCarry(agentPubkeyHex, sessionIdHex) {
78
+ const rows = this.#db
79
+ .prepare(`SELECT sequence_number, leaf_kind, sender_pubkey_hex, structure2_cbor, structure1_cbor, relay_id, relay_timestamp, relay_signature, relay_running_root
80
+ FROM session_seal_leaves WHERE agent_pubkey = ? AND session_id = ? ORDER BY sequence_number ASC`)
81
+ .all(agentPubkeyHex, sessionIdHex);
82
+ return rows.map((r) => ({
83
+ sequenceNumber: r.sequence_number,
84
+ leafKind: r.leaf_kind,
85
+ senderPubkeyHex: r.sender_pubkey_hex,
86
+ structure2Cbor: toU8(r.structure2_cbor),
87
+ structure1Cbor: toU8(r.structure1_cbor),
88
+ relayId: r.relay_id ?? undefined,
89
+ relayTimestamp: r.relay_timestamp ?? undefined,
90
+ relaySignatureHex: r.relay_signature ?? undefined,
91
+ relayRunningRootHex: r.relay_running_root ?? undefined,
92
+ }));
93
+ }
94
+ }
95
+ /** Normalize a SQLite BLOB (Buffer/Uint8Array/ArrayBuffer) to a Uint8Array. */
96
+ function toU8(v) {
97
+ if (v instanceof Uint8Array)
98
+ return v;
99
+ if (Buffer.isBuffer(v))
100
+ return new Uint8Array(v);
101
+ if (v instanceof ArrayBuffer)
102
+ return new Uint8Array(v);
103
+ return new Uint8Array();
104
+ }
105
+ //# sourceMappingURL=session-seal-leaf-store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-seal-leaf-store.js","sourceRoot":"","sources":["../src/session-seal-leaf-store.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,334 @@
1
+ import type { KeyProvider } from "@cello-protocol/crypto";
2
+ import type { SealUpgradeReadiness } from "./seal-upgrade.js";
3
+ import type { Logger, SealReadinessView } from "./types.js";
4
+ import type { SessionTree } from "./session-tree.js";
5
+ import type { DaemonDatabase } from "./sqlcipher-db.js";
6
+ import { type AgentRelayClient } from "./session-relay-client.js";
7
+ import { RelayReceiptStore } from "./relay-receipt-store.js";
8
+ import { SessionSealLeafStore, type SealCarryLeaf } from "./session-seal-leaf-store.js";
9
+ import type { SessionOwnChainStore } from "./session-own-chain-store.js";
10
+ import type { SessionRecords } from "./session-records.js";
11
+ import type { SessionQueries } from "./session-queries.js";
12
+ import type { ParkRecovery } from "./park-recovery.js";
13
+ import type { HeldContent, HeldEntry } from "./held-content.js";
14
+ import type { SessionLeafRecords } from "./session-leaf-records.js";
15
+ import type { StandingReceivers } from "./standing-receivers.js";
16
+ import type { ActiveSessionEntry } from "./session-node-types.js";
17
+ /** What the seal path needs from the manager. */
18
+ export interface SessionSealContext {
19
+ readonly logger: Logger;
20
+ readonly records: SessionRecords;
21
+ readonly queries: SessionQueries;
22
+ readonly park: ParkRecovery;
23
+ readonly held: HeldContent;
24
+ readonly leafRecords: SessionLeafRecords;
25
+ readonly receivers: StandingReceivers;
26
+ /** A function: the manager opens its database after construction. Re-exposed below as `#db`. */
27
+ db(): DaemonDatabase | null;
28
+ readonly activeNodes: Map<string, ActiveSessionEntry>;
29
+ readonly heldContent: Map<string, Map<number, HeldEntry>>;
30
+ readonly witnessedSeq: Map<string, Map<string, number>>;
31
+ /** DOD-M15-SEALPRECOND-1 — our own leaves the relay has ordered and this tree has not placed. */
32
+ readonly ownLeavesOrdered: Map<string, Map<string, number>>;
33
+ readonly highWaterSeq: Map<string, number>;
34
+ readonly orderingObserved: Set<string>;
35
+ readonly contentDesynced: Map<string, "tampered" | "unverifiable">;
36
+ readonly responderSealSubmitted: Map<string, {
37
+ reportedRootHex: string;
38
+ sequenceNumber: number;
39
+ } | null>;
40
+ readonly relayClients: Map<string, AgentRelayClient>;
41
+ /**
42
+ * ⚠️ READ-WRITE, both of them, and deliberately so — see the file header. They are `null` until
43
+ * something needs them, and whichever side reaches for one first is the side that opens it. A
44
+ * read-only view here would have meant this file opening its own second instance over the same
45
+ * rows the manager writes.
46
+ */
47
+ relayReceiptStore: RelayReceiptStore | null;
48
+ sealLeafStore: SessionSealLeafStore | null;
49
+ /**
50
+ * Assigned by `setEnsureSealBroker`, which lives here; the manager only forwards to it.
51
+ *
52
+ * ⚠️ `undefined`, not `null` — matching the manager's field exactly rather than tidying it. The
53
+ * broker returns a HANDLE with a `stop`, not a boolean: it is the thing keeping a seal ceremony
54
+ * alive, and a caller has to be able to end it. Simplifying that to a success flag here would
55
+ * have compiled against a wrapper and lost the only way to cancel.
56
+ */
57
+ ensureSealBroker: ((agentName: string, sessionId: string) => Promise<{
58
+ stop: (reason: string) => Promise<void>;
59
+ } | null>) | undefined;
60
+ /**
61
+ * ⚠️ FOUR PARAMETERS. The last two — the state name and the counterparty key — are what the
62
+ * notification carries to the operator's channel; a two-parameter version would have type-checked
63
+ * at the call site and delivered a state change with no state in it.
64
+ */
65
+ readonly onSessionStateChanged: ((agentName: string, sessionId: string, state: string, counterpartyPubkey: string | null) => void) | null;
66
+ readonly ownChainStore: SessionOwnChainStore | null;
67
+ /**
68
+ * ⚠️ THE `stores` ARGUMENT IS NOT OPTIONAL DECORATION. A client built without it has no receipt
69
+ * store and no seal-leaf store, so `#captureReceipt` silently returns false: the submit reports
70
+ * ok while the relay's signed receipt — the evidence the seal rests on — is never written.
71
+ */
72
+ readonly detachedRelayClientBuilder: ((agentName: string, relayPeerId: string, relayAddrs: string[], stores: {
73
+ receiptStore?: RelayReceiptStore;
74
+ sealLeafStore?: SessionSealLeafStore;
75
+ ownChainStore?: SessionOwnChainStore;
76
+ onlineToken: () => Uint8Array | undefined;
77
+ }) => AgentRelayClient | undefined) | null;
78
+ /** DOD-LOOP-1: (agentName, sessionId), never sessionId alone — see the manager's own note. */
79
+ sessionKey(agentName: string, sessionId: string): string;
80
+ requireAgentId(agentName: string): string;
81
+ getSessionTree(agentName: string, sessionId: string): SessionTree;
82
+ getSessionTreeRootHex(agentName: string, sessionId: string): string;
83
+ /**
84
+ * 070-CARRIEDSEAL: the agent's own signing key, for the closing leaf this side writes when no
85
+ * relay is left to order one. `undefined` when the agent is not loaded in this daemon — which is
86
+ * a refusal with its own name, never a leaf signed by something else.
87
+ */
88
+ getKeyProvider(agentName: string): KeyProvider | undefined;
89
+ getDirectoryOnlineToken(agentName: string): Uint8Array | undefined;
90
+ destroySessionSeed(agentName: string, sessionId: string): void;
91
+ updateSessionStatus(agentName: string, sessionId: string, status: "active" | "sealed" | "interrupted" | "abandoned", interruptedBy?: "local"): boolean;
92
+ }
93
+ export declare class SessionSeal {
94
+ #private;
95
+ constructor(ctx: SessionSealContext);
96
+ /**
97
+ * Does a certificate describe the leaf set this daemon holds? The judgement lives in
98
+ * `seal-certified-root-check.ts`; this binds it to this instance's carry.
99
+ */
100
+ verifyCertifiedRoot(agentPubkeyHex: string, sessionIdHex: string, certifiedRoot: Uint8Array, certifiedLeafCount: number, evidence: readonly unknown[] | undefined): {
101
+ verdict: "match";
102
+ } | {
103
+ verdict: "mismatch";
104
+ ownRootHex: string | null;
105
+ detail: string;
106
+ } | {
107
+ verdict: "cannot_judge";
108
+ reason: string;
109
+ };
110
+ /**
111
+ * FED-OPTIONB-SEAL-001: the complete ordered leaf chain (both parties) a UNILATERAL seal carries to the
112
+ * directory for the OFFLINE tree rebuild. Empty when no leaves were logged (e.g. a direct-only session
113
+ * with no relay witness) — the caller then has nothing to carry and the seal stays bilateral/pending.
114
+ *
115
+ * ⚠️ Stranded on `verifyCertifiedRoot` before this split — the third block found doing that, and the
116
+ * reason the rule is now written down: a method reduced to a delegator leaves its documentation
117
+ * behind, and the block below it ends up carrying two descriptions of which the first is a stranger.
118
+ */
119
+ getSealCarry(agentPubkeyHex: string, sessionIdHex: string): SealCarryLeaf[];
120
+ /** Fix #1 EXTENSION: inject the broker-connection opener. Setter injection, same construction-order reason. */
121
+ setEnsureSealBroker(cb: (agentName: string, sessionId: string) => Promise<{
122
+ stop: (reason: string) => Promise<void>;
123
+ } | null>): void;
124
+ /**
125
+ * DOD-M12B-INTERRUPTED-ESCALATE-1 — flip a session to `sealed`, synchronously, without needing a
126
+ * live node.
127
+ *
128
+ * **`destroySessionNode(…, "sealed")` cannot be relied on to do this.** It returns early at
129
+ * `if (!entry) return`, and the status write lives 26 lines BELOW that guard — so it flips the
130
+ * status only for a session that still has an `#activeNodes` entry. An interrupted session has
131
+ * none by construction: every producer of that status deletes the entry. Before this method, a
132
+ * unilateral seal on an interrupted session stored the notarized root and the certificate and
133
+ * left the row saying `interrupted` — the receipt landed and nothing that represents it moved.
134
+ * `cello_sessions` still showed it stuck, `cello_close_session` still refused it by name, and the
135
+ * restart-seal resolver re-selected it on the next boot to run the whole ceremony again against a
136
+ * session that already held a receipt.
137
+ *
138
+ * STATUS FIRST AND SYNCHRONOUS, teardown second — the order `abandonSession` uses and the one
139
+ * `retireSession` documents. The flip is the load-bearing half; the teardown makes memory agree
140
+ * with it. `#updateSessionStatus` also runs the terminal disposition hooks (held content is
141
+ * annexed, not stranded), which the early return skipped entirely.
142
+ */
143
+ markSealed(agentName: string, sessionId: string): boolean;
144
+ /**
145
+ * M8B FINDING-6 (cascade-2): persist a seal certificate for a session that may have NO local
146
+ * `sessions` row. recordSealCertificate (a manager delegator onto `session-queries.ts`) is an `UPDATE ... WHERE` — a SILENT no-op when the
147
+ * row is absent (the exact trap the cascade-2 reviewer flagged). The ABSENT party (B), learning of
148
+ * a seal on reconnect via seal_unilateral_notification, may never have persisted a row for this
149
+ * session. This ensures a minimal stub row first (INSERT OR IGNORE — a no-op if a row already
150
+ * exists, e.g. an 'interrupted' row after a restart) so B's receipt is actually durable + retrievable
151
+ * via cello_get_sealed_receipt. The counterparty pubkey is required by the schema (NOT NULL); B
152
+ * derives it from the notification's present_pubkey.
153
+ */
154
+ recordSealCertificateEnsuringRow(agentName: string, sessionId: string, counterpartyPubkeyHex: string, sealedRootHex: string, legibilityJson: string): void;
155
+ /**
156
+ * M7-SESSION-001 (H-1): persist a verified bilateral SEAL-INTERRUPTED
157
+ * commitment and transition the session to 'seal_interrupted_pending'.
158
+ *
159
+ * This is NOT a seal. It records that both parties produced and exchanged
160
+ * K_local-signed SEAL-INTERRUPTED leaves over the same {leafCount, merkleRoot}.
161
+ * The FROST threshold notarization is a separate, currently-unwired step (see
162
+ * daemon.ts handleSealInterruptedFlow H-1 note), which is precisely why the
163
+ * status is 'seal_interrupted_pending' and never 'sealed'.
164
+ *
165
+ * The status update is guarded so it only advances a session out of the
166
+ * 'interrupted' state — it will not overwrite a 'sealed' row.
167
+ *
168
+ * @returns true if the session row was advanced to seal_interrupted_pending.
169
+ */
170
+ persistSealInterruptedCommitment(opts: {
171
+ agentName: string;
172
+ sessionId: string;
173
+ role: "initiator" | "responder";
174
+ ownLeaf: unknown;
175
+ counterpartyLeaf: unknown;
176
+ merkleRoot: string;
177
+ nonce: string;
178
+ }): boolean;
179
+ submitSealLeaf(agentName: string, sessionId: string, correlationId?: string): Promise<{
180
+ ok: true;
181
+ sequenceNumber: number;
182
+ reportedRootHex: string;
183
+ /**
184
+ * 070-CARRIEDSEAL: this leaf was signed HERE because no relay answered, so no relay holds
185
+ * it. The caller must not then wait out the bilateral window: a bilateral seal is a ceremony
186
+ * the RELAY runs from its own leaf log, and there is no relay. Waiting eleven minutes for a
187
+ * ceremony that cannot begin is eleven minutes of an operator watching nothing happen before
188
+ * the solo seal that was always the only outcome.
189
+ */
190
+ viaLocalTerminus?: true;
191
+ } | {
192
+ ok: false;
193
+ reason: string;
194
+ reportedRootHex?: string;
195
+ sequenceNumber?: number;
196
+ viaLocalTerminus?: true;
197
+ }>;
198
+ /**
199
+ * CELLO-M7-UPGRADE-001 (DOD-UP-1): readiness of a session for B to RATIFY a unilateral seal
200
+ * (the returning absent party). This is the SAME verifiability bar as the UP-2 auto-ack gate:
201
+ *
202
+ * - `known`: the session exists locally with its content (B has a transcript to ratify). After a
203
+ * restart B reloads it from SQLite, and autoRecoverForAgent re-pulls any parked content first.
204
+ * - `tampered`: the content cross-check flagged a content_hash mismatch (#contentDesynced) — B
205
+ * must NEVER ratify content it could not integrity-verify (the KERNEL refusal, AC-003).
206
+ *
207
+ * The directory separately verifies B's ack signature is genuine; B separately verifies the
208
+ * unilateral cert signature (R1 is authentic). NOTE: a full "B's frontier covers R1's tail"
209
+ * completeness check (the `desynced` reason) requires the deferred MSG-001-3b canonical-sequence
210
+ * reconciliation — same documented limitation as the UP-2 gate above.
211
+ */
212
+ getSealUpgradeReadiness(agentName: string, sessionId: string): SealUpgradeReadiness;
213
+ /**
214
+ * M7-UPGRADE-002: auto-acknowledge close (POSTMORTEM Workstream E / C-5). When B's daemon
215
+ * ingests the COUNTERPARTY's SEAL control leaf and B has verified the content, B's OWN node
216
+ * auto-co-signs + submits its responder SEAL leaf WITHOUT waiting for B's agent to call
217
+ * cello_close_session — so a bilateral seal completes promptly instead of degrading to
218
+ * unilateral on a slow/busy/crashed agent.
219
+ *
220
+ * SI-001 (non-negotiable): B's signature is ALWAYS produced by B's own node — submitSealLeaf
221
+ * signs the responder SEAL leaf with B's K_local. We remove the agent PROMPT, never the SIGNER;
222
+ * nothing here lets the directory or the peer synthesize B's acknowledgement.
223
+ *
224
+ * SI-002 (verifiability gate): auto-ack ONLY content B has verified. A session whose content
225
+ * cross-check failed (content_hash_mismatch = tamper, recorded in #contentDesynced) is NEVER
226
+ * auto-signed — it surfaces to the agent as a genuine decision point. DISAGREEMENT with the
227
+ * content is NOT a gate failure (C-6): the gate is "can I verify integrity?", never "do I agree?"
228
+ * — a verified-but-disliked tail is auto-sealed and the transcript speaks for B.
229
+ *
230
+ * Idempotent + non-throwing: marks #responderSealSubmitted BEFORE the async submit so a
231
+ * redelivered ctrl leaf cannot double-submit; clears the mark on submit failure so a later
232
+ * agent close / reconnect can still complete the seal (DB-001 — never a silent half-seal).
233
+ */
234
+ maybeAutoAcknowledgeSeal(agentName: string, sessionId: string, correlationId: string): void;
235
+ /**
236
+ * M12-P14: is this side's chain COMPLETE enough to be sealed?
237
+ *
238
+ * A seal is a bilateral signature over the same conversation, so a side that is missing a leaf
239
+ * cannot produce a signable one — the counterparty compares frontiers and refuses with
240
+ * `leaf_count_mismatch`. That refusal is correct and it is also terminal: there is no backfill
241
+ * request in the protocol, so the only exit is a force-abandon, which yields NO notarized receipt.
242
+ * Measured 2026-08-05 on two sessions that died exactly this way (initiator 2 leaves, responder 3).
243
+ *
244
+ * The cheap prevention is to notice BEFORE asking. Two local signals already exist and, until now,
245
+ * nothing read either of them at close time:
246
+ * - `#highWaterSeq` — the largest canonical sequence the RELAY has witnessed for this session.
247
+ * The relay is the ordering authority, so a high-water above our own frontier is proof that a
248
+ * leaf exists which we have not appended. (Its own doc comment called it "reserved … NOT yet
249
+ * consumed by the gate" — this is that consumer.)
250
+ * - `#heldContent` — content we HAVE received and verified but cannot append because it sits
251
+ * behind a gap. Holding content and sealing anyway would seal a chain we know is short.
252
+ *
253
+ * Deliberately NOT a network call: it must work when the counterparty is unreachable, which is
254
+ * the whole situation a seal-interrupted exists for.
255
+ *
256
+ * KNOWN LIMIT, stated rather than hidden: both maps are in-memory and cleared on teardown, so
257
+ * after a daemon restart this returns ready for a session whose gap predates the restart — which
258
+ * is the shape of the 2026-08-05 incident itself. Closing that needs the mailbox drained (or the
259
+ * high-water persisted) before the check; tracked with M12-P14, not claimed here.
260
+ */
261
+ sealReadiness(agentName: string, sessionId: string): {
262
+ ready: boolean;
263
+ treeSize: number;
264
+ highWaterSeq: number;
265
+ heldCount: number;
266
+ missingLeaves: number;
267
+ /** DOD-M12B-INDEX-1: of `heldCount`, how many are THIS side's own sends versus the
268
+ * counterparty's. They block a seal identically and mean completely different things. */
269
+ heldOwn: number;
270
+ heldReceived: number;
271
+ /**
272
+ * DOD-M15-DIVERGE-1 — this tree and the relay's counter have PROVABLY parted.
273
+ *
274
+ * The other two counters both measure the same direction: positions the relay committed that
275
+ * this tree has not appended. This is the OPPOSITE direction — this tree holds a leaf at a
276
+ * position the relay assigned to something else — and it is the direction an injected or forged
277
+ * leaf appears in. Without it `ready` was asymmetric, and a diverged session read as perfectly
278
+ * sealable right up until the counterparty answered `leaf_count_mismatch`, which is terminal.
279
+ */
280
+ diverged: boolean;
281
+ /**
282
+ * DOD-M15-SEALPRECOND-1 — leaves of OUR OWN the relay has ordered and this tree has not placed.
283
+ *
284
+ * The fourth term, and the one the 2026-09-11 lost receipt needed. The other three describe the
285
+ * counterparty's leaves or a permanent parting, and none of them moves when the relay orders a
286
+ * send of ours — `relayLeafHandler` records a witness only for leaves NOT authored by us. So a
287
+ * close landing between the ordering and `placeOwnLeaf` read a clean readiness and signed short.
288
+ * Unlike `diverged`, this RESOLVES in milliseconds, which is why its consumer waits.
289
+ */
290
+ ownLeavesOrdered: number;
291
+ };
292
+ /**
293
+ * DOD-M12B-SEAL-STUCK-1 — the operator-facing answer to "can this session be closed?".
294
+ *
295
+ * THREE STATES, because there are three answers. `sealReadiness` above returns a boolean plus raw
296
+ * counters, and both of its counters are easy to misread on a surface:
297
+ *
298
+ * - `missingLeaves` is `#witnessedSeq.size`, which is every position the relay witnessed that
299
+ * this tree has not appended — and a HELD frame keeps its witness entry. So it INCLUDES the
300
+ * held ones. Reporting it beside `heldCount` counts the same message twice and labels one copy
301
+ * "never received" when it is sitting on our own disk. Split here into what each actually is.
302
+ * - Neither counter survives a restart on its own: `#witnessedSeq` is memory-only. Held content
303
+ * is durable since DOD-M12B-STRAND-1, but a position the relay witnessed for content that
304
+ * never arrived leaves no trace. So for a session carrying leaves this process did not watch
305
+ * arrive, "clean" is unknowable — and saying `ready` there invites a close that gets
306
+ * `leaf_count_mismatch` back, which is terminal and costs the receipt for good.
307
+ */
308
+ sealReadinessView(agentName: string, sessionId: string): SealReadinessView;
309
+ /**
310
+ * WHERE THE MUTUALLY-SIGNED PREFIX ENDS, DERIVED FROM THIS DAEMON'S OWN LEAVES —
311
+ * `DOD-M15-UNILATERAL-1`, review F2.
312
+ *
313
+ * ⚠️ **THE FIRST VERSION COMPUTED THIS FROM THE CERTIFICATE'S OWN PARTICIPANT LIST, AND CALLED
314
+ * THAT "recomputed, cannot be steered".** It could be steered. On the SOLO path the certificate's
315
+ * TBS binds no legibility at all, and the client verifies only the *live* party's frontier — so
316
+ * the absent party's `content_frontier_seq` and every `last_authored_seq` arrived unchecked. One
317
+ * directory node could publish the absent party's frontier as 3 and the receipt would say
318
+ * "mutually signed through 3" over a transcript that party never signed for. That is the precise
319
+ * conflation this field exists to prevent, reintroduced by the field itself.
320
+ *
321
+ * The carry answers it without trusting anybody. This daemon holds the counterparty's own leaves,
322
+ * each carrying, inside the bytes THEY signed, both the sequence they authored and the
323
+ * `last_seen_seq` they acknowledged. So a party's commitment reaches
324
+ * `max(highest sequence they authored, highest sequence they acknowledged)`, and the transcript is
325
+ * mutually signed only as far as the LEAST-committed party reaches.
326
+ *
327
+ * Fewer than two distinct authors ⇒ `0`: nobody countersigned anything, which is the honest floor
328
+ * for a conversation where the other side only ever received. `null` when the carry is empty or
329
+ * unreadable — the caller must then publish NO boundary rather than fall back to a number
330
+ * somebody else supplied.
331
+ */
332
+ countersignedThroughSeqFromCarry(agentPubkeyHex: string, sessionIdHex: string): number | null;
333
+ }
334
+ //# sourceMappingURL=session-seal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-seal.d.ts","sourceRoot":"","sources":["../src/session-seal.ts"],"names":[],"mappings":"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"}