@cello-protocol/daemon 0.0.225 → 0.0.227

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 (891) hide show
  1. package/package.json +5 -5
  2. package/dist/agent-admin-handlers.d.ts +0 -56
  3. package/dist/agent-admin-handlers.d.ts.map +0 -1
  4. package/dist/agent-admin-handlers.js +0 -73
  5. package/dist/agent-admin-handlers.js.map +0 -1
  6. package/dist/agent-handlers.d.ts +0 -72
  7. package/dist/agent-handlers.d.ts.map +0 -1
  8. package/dist/agent-handlers.js +0 -604
  9. package/dist/agent-handlers.js.map +0 -1
  10. package/dist/agent-id-migration.d.ts +0 -70
  11. package/dist/agent-id-migration.d.ts.map +0 -1
  12. package/dist/agent-id-migration.js +0 -468
  13. package/dist/agent-id-migration.js.map +0 -1
  14. package/dist/agent-loader.d.ts +0 -37
  15. package/dist/agent-loader.d.ts.map +0 -1
  16. package/dist/agent-loader.js +0 -37
  17. package/dist/agent-loader.js.map +0 -1
  18. package/dist/agent-selection-root.d.ts +0 -29
  19. package/dist/agent-selection-root.d.ts.map +0 -1
  20. package/dist/agent-selection-root.js +0 -126
  21. package/dist/agent-selection-root.js.map +0 -1
  22. package/dist/agent-selection.d.ts +0 -73
  23. package/dist/agent-selection.d.ts.map +0 -1
  24. package/dist/agent-selection.js +0 -80
  25. package/dist/agent-selection.js.map +0 -1
  26. package/dist/agent-settings-keys.d.ts +0 -52
  27. package/dist/agent-settings-keys.d.ts.map +0 -1
  28. package/dist/agent-settings-keys.js +0 -114
  29. package/dist/agent-settings-keys.js.map +0 -1
  30. package/dist/agent-state.d.ts +0 -67
  31. package/dist/agent-state.d.ts.map +0 -1
  32. package/dist/agent-state.js +0 -66
  33. package/dist/agent-state.js.map +0 -1
  34. package/dist/assignment-verify.d.ts +0 -90
  35. package/dist/assignment-verify.d.ts.map +0 -1
  36. package/dist/assignment-verify.js +0 -301
  37. package/dist/assignment-verify.js.map +0 -1
  38. package/dist/attendance-wiring.d.ts +0 -23
  39. package/dist/attendance-wiring.d.ts.map +0 -1
  40. package/dist/attendance-wiring.js +0 -248
  41. package/dist/attendance-wiring.js.map +0 -1
  42. package/dist/attestation-body.d.ts +0 -47
  43. package/dist/attestation-body.d.ts.map +0 -1
  44. package/dist/attestation-body.js +0 -71
  45. package/dist/attestation-body.js.map +0 -1
  46. package/dist/authorship-verification.d.ts +0 -91
  47. package/dist/authorship-verification.d.ts.map +0 -1
  48. package/dist/authorship-verification.js +0 -532
  49. package/dist/authorship-verification.js.map +0 -1
  50. package/dist/away-detection.d.ts +0 -139
  51. package/dist/away-detection.d.ts.map +0 -1
  52. package/dist/away-detection.js +0 -186
  53. package/dist/away-detection.js.map +0 -1
  54. package/dist/away-inbox-oneshot.d.ts +0 -40
  55. package/dist/away-inbox-oneshot.d.ts.map +0 -1
  56. package/dist/away-inbox-oneshot.js +0 -311
  57. package/dist/away-inbox-oneshot.js.map +0 -1
  58. package/dist/backup-restore-handlers.d.ts +0 -10
  59. package/dist/backup-restore-handlers.d.ts.map +0 -1
  60. package/dist/backup-restore-handlers.js +0 -82
  61. package/dist/backup-restore-handlers.js.map +0 -1
  62. package/dist/backup-restore.d.ts +0 -102
  63. package/dist/backup-restore.d.ts.map +0 -1
  64. package/dist/backup-restore.js +0 -341
  65. package/dist/backup-restore.js.map +0 -1
  66. package/dist/bin/cello-daemon.d.ts +0 -13
  67. package/dist/bin/cello-daemon.d.ts.map +0 -1
  68. package/dist/bin/cello-daemon.js.map +0 -1
  69. package/dist/boot-agents.d.ts +0 -64
  70. package/dist/boot-agents.d.ts.map +0 -1
  71. package/dist/boot-agents.js +0 -241
  72. package/dist/boot-agents.js.map +0 -1
  73. package/dist/boot-connection-state.d.ts +0 -38
  74. package/dist/boot-connection-state.d.ts.map +0 -1
  75. package/dist/boot-connection-state.js +0 -95
  76. package/dist/boot-connection-state.js.map +0 -1
  77. package/dist/boot-core.d.ts +0 -36
  78. package/dist/boot-core.d.ts.map +0 -1
  79. package/dist/boot-core.js +0 -293
  80. package/dist/boot-core.js.map +0 -1
  81. package/dist/boot-parked-content.d.ts +0 -34
  82. package/dist/boot-parked-content.d.ts.map +0 -1
  83. package/dist/boot-parked-content.js +0 -528
  84. package/dist/boot-parked-content.js.map +0 -1
  85. package/dist/boot-sweeps.d.ts +0 -22
  86. package/dist/boot-sweeps.d.ts.map +0 -1
  87. package/dist/boot-sweeps.js +0 -51
  88. package/dist/boot-sweeps.js.map +0 -1
  89. package/dist/bundled-consortium-manifest.d.ts +0 -47
  90. package/dist/bundled-consortium-manifest.d.ts.map +0 -1
  91. package/dist/bundled-consortium-manifest.js +0 -116
  92. package/dist/bundled-consortium-manifest.js.map +0 -1
  93. package/dist/cbor-blob-migration.d.ts +0 -8
  94. package/dist/cbor-blob-migration.d.ts.map +0 -1
  95. package/dist/cbor-blob-migration.js +0 -116
  96. package/dist/cbor-blob-migration.js.map +0 -1
  97. package/dist/challenge-verifier.d.ts +0 -12
  98. package/dist/challenge-verifier.d.ts.map +0 -1
  99. package/dist/challenge-verifier.js +0 -11
  100. package/dist/challenge-verifier.js.map +0 -1
  101. package/dist/close-commitment.d.ts +0 -67
  102. package/dist/close-commitment.d.ts.map +0 -1
  103. package/dist/close-commitment.js +0 -78
  104. package/dist/close-commitment.js.map +0 -1
  105. package/dist/close-session-handler.d.ts +0 -94
  106. package/dist/close-session-handler.d.ts.map +0 -1
  107. package/dist/close-session-handler.js +0 -1418
  108. package/dist/close-session-handler.js.map +0 -1
  109. package/dist/co-attendance.d.ts +0 -29
  110. package/dist/co-attendance.d.ts.map +0 -1
  111. package/dist/co-attendance.js +0 -32
  112. package/dist/co-attendance.js.map +0 -1
  113. package/dist/column-birth.d.ts +0 -40
  114. package/dist/column-birth.d.ts.map +0 -1
  115. package/dist/column-birth.js +0 -61
  116. package/dist/column-birth.js.map +0 -1
  117. package/dist/connect-or-start.d.ts +0 -25
  118. package/dist/connect-or-start.d.ts.map +0 -1
  119. package/dist/connect-or-start.js +0 -175
  120. package/dist/connect-or-start.js.map +0 -1
  121. package/dist/connection-agents.d.ts +0 -16
  122. package/dist/connection-agents.d.ts.map +0 -1
  123. package/dist/connection-agents.js +0 -68
  124. package/dist/connection-agents.js.map +0 -1
  125. package/dist/consent-migration.d.ts +0 -49
  126. package/dist/consent-migration.d.ts.map +0 -1
  127. package/dist/consent-migration.js +0 -128
  128. package/dist/consent-migration.js.map +0 -1
  129. package/dist/consortium-bootstrap.d.ts +0 -138
  130. package/dist/consortium-bootstrap.d.ts.map +0 -1
  131. package/dist/consortium-bootstrap.js +0 -339
  132. package/dist/consortium-bootstrap.js.map +0 -1
  133. package/dist/consortium-fingerprint.d.ts +0 -115
  134. package/dist/consortium-fingerprint.d.ts.map +0 -1
  135. package/dist/consortium-fingerprint.js +0 -175
  136. package/dist/consortium-fingerprint.js.map +0 -1
  137. package/dist/contact-handlers.d.ts +0 -59
  138. package/dist/contact-handlers.d.ts.map +0 -1
  139. package/dist/contact-handlers.js +0 -343
  140. package/dist/contact-handlers.js.map +0 -1
  141. package/dist/contact-pubkey-case.d.ts +0 -65
  142. package/dist/contact-pubkey-case.d.ts.map +0 -1
  143. package/dist/contact-pubkey-case.js +0 -136
  144. package/dist/contact-pubkey-case.js.map +0 -1
  145. package/dist/contacts-tier-migration.d.ts +0 -90
  146. package/dist/contacts-tier-migration.d.ts.map +0 -1
  147. package/dist/contacts-tier-migration.js +0 -150
  148. package/dist/contacts-tier-migration.js.map +0 -1
  149. package/dist/content-encryption-status.d.ts +0 -111
  150. package/dist/content-encryption-status.d.ts.map +0 -1
  151. package/dist/content-encryption-status.js +0 -158
  152. package/dist/content-encryption-status.js.map +0 -1
  153. package/dist/content-park-client.d.ts +0 -90
  154. package/dist/content-park-client.d.ts.map +0 -1
  155. package/dist/content-park-client.js +0 -362
  156. package/dist/content-park-client.js.map +0 -1
  157. package/dist/content-park.d.ts +0 -52
  158. package/dist/content-park.d.ts.map +0 -1
  159. package/dist/content-park.js +0 -1309
  160. package/dist/content-park.js.map +0 -1
  161. package/dist/cross-node-negotiation.d.ts +0 -44
  162. package/dist/cross-node-negotiation.d.ts.map +0 -1
  163. package/dist/cross-node-negotiation.js +0 -34
  164. package/dist/cross-node-negotiation.js.map +0 -1
  165. package/dist/daemon-handle.d.ts +0 -57
  166. package/dist/daemon-handle.d.ts.map +0 -1
  167. package/dist/daemon-handle.js +0 -2
  168. package/dist/daemon-handle.js.map +0 -1
  169. package/dist/daemon-status-report.d.ts +0 -50
  170. package/dist/daemon-status-report.d.ts.map +0 -1
  171. package/dist/daemon-status-report.js +0 -81
  172. package/dist/daemon-status-report.js.map +0 -1
  173. package/dist/daemon.d.ts +0 -45
  174. package/dist/daemon.d.ts.map +0 -1
  175. package/dist/daemon.js +0 -1177
  176. package/dist/daemon.js.map +0 -1
  177. package/dist/db-identity-store.d.ts +0 -159
  178. package/dist/db-identity-store.d.ts.map +0 -1
  179. package/dist/db-identity-store.js +0 -502
  180. package/dist/db-identity-store.js.map +0 -1
  181. package/dist/delivery-open-registry.d.ts +0 -92
  182. package/dist/delivery-open-registry.d.ts.map +0 -1
  183. package/dist/delivery-open-registry.js +0 -121
  184. package/dist/delivery-open-registry.js.map +0 -1
  185. package/dist/delivery-session-suspects.d.ts +0 -56
  186. package/dist/delivery-session-suspects.d.ts.map +0 -1
  187. package/dist/delivery-session-suspects.js +0 -94
  188. package/dist/delivery-session-suspects.js.map +0 -1
  189. package/dist/directory-auth-posture.d.ts +0 -87
  190. package/dist/directory-auth-posture.d.ts.map +0 -1
  191. package/dist/directory-auth-posture.js +0 -134
  192. package/dist/directory-auth-posture.js.map +0 -1
  193. package/dist/directory-bootstrap.d.ts +0 -310
  194. package/dist/directory-bootstrap.d.ts.map +0 -1
  195. package/dist/directory-bootstrap.js +0 -557
  196. package/dist/directory-bootstrap.js.map +0 -1
  197. package/dist/directory-connect.d.ts +0 -27
  198. package/dist/directory-connect.d.ts.map +0 -1
  199. package/dist/directory-connect.js +0 -106
  200. package/dist/directory-connect.js.map +0 -1
  201. package/dist/disconnect-cleanup.d.ts +0 -51
  202. package/dist/disconnect-cleanup.d.ts.map +0 -1
  203. package/dist/disconnect-cleanup.js +0 -72
  204. package/dist/disconnect-cleanup.js.map +0 -1
  205. package/dist/document-amendment-store.d.ts +0 -120
  206. package/dist/document-amendment-store.d.ts.map +0 -1
  207. package/dist/document-amendment-store.js +0 -266
  208. package/dist/document-amendment-store.js.map +0 -1
  209. package/dist/document-delivery-transport.d.ts +0 -168
  210. package/dist/document-delivery-transport.d.ts.map +0 -1
  211. package/dist/document-delivery-transport.js +0 -206
  212. package/dist/document-delivery-transport.js.map +0 -1
  213. package/dist/document-engine.d.ts +0 -134
  214. package/dist/document-engine.d.ts.map +0 -1
  215. package/dist/document-engine.js +0 -282
  216. package/dist/document-engine.js.map +0 -1
  217. package/dist/document-flag.d.ts +0 -58
  218. package/dist/document-flag.d.ts.map +0 -1
  219. package/dist/document-flag.js +0 -70
  220. package/dist/document-flag.js.map +0 -1
  221. package/dist/document-frame-router.d.ts +0 -245
  222. package/dist/document-frame-router.d.ts.map +0 -1
  223. package/dist/document-frame-router.js +0 -397
  224. package/dist/document-frame-router.js.map +0 -1
  225. package/dist/document-gate-wiring.d.ts +0 -61
  226. package/dist/document-gate-wiring.d.ts.map +0 -1
  227. package/dist/document-gate-wiring.js +0 -125
  228. package/dist/document-gate-wiring.js.map +0 -1
  229. package/dist/document-gate.d.ts +0 -149
  230. package/dist/document-gate.d.ts.map +0 -1
  231. package/dist/document-gate.js +0 -509
  232. package/dist/document-gate.js.map +0 -1
  233. package/dist/document-handlers.d.ts +0 -47
  234. package/dist/document-handlers.d.ts.map +0 -1
  235. package/dist/document-handlers.js +0 -2203
  236. package/dist/document-handlers.js.map +0 -1
  237. package/dist/document-handshake.d.ts +0 -176
  238. package/dist/document-handshake.d.ts.map +0 -1
  239. package/dist/document-handshake.js +0 -452
  240. package/dist/document-handshake.js.map +0 -1
  241. package/dist/document-inbound.d.ts +0 -162
  242. package/dist/document-inbound.d.ts.map +0 -1
  243. package/dist/document-inbound.js +0 -530
  244. package/dist/document-inbound.js.map +0 -1
  245. package/dist/document-json.d.ts +0 -120
  246. package/dist/document-json.d.ts.map +0 -1
  247. package/dist/document-json.js +0 -191
  248. package/dist/document-json.js.map +0 -1
  249. package/dist/document-layer.d.ts +0 -215
  250. package/dist/document-layer.d.ts.map +0 -1
  251. package/dist/document-layer.js +0 -1025
  252. package/dist/document-layer.js.map +0 -1
  253. package/dist/document-lifecycle.d.ts +0 -52
  254. package/dist/document-lifecycle.d.ts.map +0 -1
  255. package/dist/document-lifecycle.js +0 -134
  256. package/dist/document-lifecycle.js.map +0 -1
  257. package/dist/document-live-docs.d.ts +0 -58
  258. package/dist/document-live-docs.d.ts.map +0 -1
  259. package/dist/document-live-docs.js +0 -126
  260. package/dist/document-live-docs.js.map +0 -1
  261. package/dist/document-notify.d.ts +0 -228
  262. package/dist/document-notify.d.ts.map +0 -1
  263. package/dist/document-notify.js +0 -580
  264. package/dist/document-notify.js.map +0 -1
  265. package/dist/document-profile.d.ts +0 -61
  266. package/dist/document-profile.d.ts.map +0 -1
  267. package/dist/document-profile.js +0 -112
  268. package/dist/document-profile.js.map +0 -1
  269. package/dist/document-publish.d.ts +0 -87
  270. package/dist/document-publish.d.ts.map +0 -1
  271. package/dist/document-publish.js +0 -173
  272. package/dist/document-publish.js.map +0 -1
  273. package/dist/document-reachability.d.ts +0 -42
  274. package/dist/document-reachability.d.ts.map +0 -1
  275. package/dist/document-reachability.js +0 -80
  276. package/dist/document-reachability.js.map +0 -1
  277. package/dist/document-reconcile-engine.d.ts +0 -66
  278. package/dist/document-reconcile-engine.d.ts.map +0 -1
  279. package/dist/document-reconcile-engine.js +0 -225
  280. package/dist/document-reconcile-engine.js.map +0 -1
  281. package/dist/document-reconcile-scheduler.d.ts +0 -163
  282. package/dist/document-reconcile-scheduler.d.ts.map +0 -1
  283. package/dist/document-reconcile-scheduler.js +0 -303
  284. package/dist/document-reconcile-scheduler.js.map +0 -1
  285. package/dist/document-rejection.d.ts +0 -251
  286. package/dist/document-rejection.d.ts.map +0 -1
  287. package/dist/document-rejection.js +0 -435
  288. package/dist/document-rejection.js.map +0 -1
  289. package/dist/document-screen.d.ts +0 -114
  290. package/dist/document-screen.d.ts.map +0 -1
  291. package/dist/document-screen.js +0 -223
  292. package/dist/document-screen.js.map +0 -1
  293. package/dist/document-store.d.ts +0 -372
  294. package/dist/document-store.d.ts.map +0 -1
  295. package/dist/document-store.js +0 -931
  296. package/dist/document-store.js.map +0 -1
  297. package/dist/document-surface.d.ts +0 -32
  298. package/dist/document-surface.d.ts.map +0 -1
  299. package/dist/document-surface.js +0 -151
  300. package/dist/document-surface.js.map +0 -1
  301. package/dist/document-types.d.ts +0 -94
  302. package/dist/document-types.d.ts.map +0 -1
  303. package/dist/document-types.js +0 -90
  304. package/dist/document-types.js.map +0 -1
  305. package/dist/document-watch.d.ts +0 -69
  306. package/dist/document-watch.d.ts.map +0 -1
  307. package/dist/document-watch.js +0 -108
  308. package/dist/document-watch.js.map +0 -1
  309. package/dist/document-wiring.d.ts +0 -53
  310. package/dist/document-wiring.d.ts.map +0 -1
  311. package/dist/document-wiring.js +0 -323
  312. package/dist/document-wiring.js.map +0 -1
  313. package/dist/document-write-guard.d.ts +0 -66
  314. package/dist/document-write-guard.d.ts.map +0 -1
  315. package/dist/document-write-guard.js +0 -98
  316. package/dist/document-write-guard.js.map +0 -1
  317. package/dist/document-write-path.d.ts +0 -94
  318. package/dist/document-write-path.d.ts.map +0 -1
  319. package/dist/document-write-path.js +0 -530
  320. package/dist/document-write-path.js.map +0 -1
  321. package/dist/error-message.d.ts +0 -7
  322. package/dist/error-message.d.ts.map +0 -1
  323. package/dist/error-message.js +0 -19
  324. package/dist/error-message.js.map +0 -1
  325. package/dist/file-manifest-provider.d.ts +0 -37
  326. package/dist/file-manifest-provider.d.ts.map +0 -1
  327. package/dist/file-manifest-provider.js +0 -105
  328. package/dist/file-manifest-provider.js.map +0 -1
  329. package/dist/frame-values.d.ts +0 -3
  330. package/dist/frame-values.d.ts.map +0 -1
  331. package/dist/frame-values.js +0 -84
  332. package/dist/frame-values.js.map +0 -1
  333. package/dist/frontier-mismatch.d.ts +0 -73
  334. package/dist/frontier-mismatch.d.ts.map +0 -1
  335. package/dist/frontier-mismatch.js +0 -89
  336. package/dist/frontier-mismatch.js.map +0 -1
  337. package/dist/gateway-config-handlers.d.ts +0 -26
  338. package/dist/gateway-config-handlers.d.ts.map +0 -1
  339. package/dist/gateway-config-handlers.js +0 -429
  340. package/dist/gateway-config-handlers.js.map +0 -1
  341. package/dist/held-content.d.ts +0 -145
  342. package/dist/held-content.d.ts.map +0 -1
  343. package/dist/held-content.js +0 -389
  344. package/dist/held-content.js.map +0 -1
  345. package/dist/http-manifest-poll.d.ts +0 -67
  346. package/dist/http-manifest-poll.d.ts.map +0 -1
  347. package/dist/http-manifest-poll.js +0 -150
  348. package/dist/http-manifest-poll.js.map +0 -1
  349. package/dist/identity-migration.d.ts +0 -40
  350. package/dist/identity-migration.d.ts.map +0 -1
  351. package/dist/identity-migration.js +0 -461
  352. package/dist/identity-migration.js.map +0 -1
  353. package/dist/inbound-refusals.d.ts +0 -283
  354. package/dist/inbound-refusals.d.ts.map +0 -1
  355. package/dist/inbound-refusals.js +0 -919
  356. package/dist/inbound-refusals.js.map +0 -1
  357. package/dist/inbound-seal-request.d.ts +0 -32
  358. package/dist/inbound-seal-request.d.ts.map +0 -1
  359. package/dist/inbound-seal-request.js +0 -228
  360. package/dist/inbound-seal-request.js.map +0 -1
  361. package/dist/inbound-sessions.d.ts +0 -291
  362. package/dist/inbound-sessions.d.ts.map +0 -1
  363. package/dist/inbound-sessions.js +0 -1609
  364. package/dist/inbound-sessions.js.map +0 -1
  365. package/dist/inclusion-proof-handlers.d.ts +0 -43
  366. package/dist/inclusion-proof-handlers.d.ts.map +0 -1
  367. package/dist/inclusion-proof-handlers.js +0 -565
  368. package/dist/inclusion-proof-handlers.js.map +0 -1
  369. package/dist/inclusion-proof.d.ts +0 -151
  370. package/dist/inclusion-proof.d.ts.map +0 -1
  371. package/dist/inclusion-proof.js +0 -228
  372. package/dist/inclusion-proof.js.map +0 -1
  373. package/dist/index.d.ts +0 -32
  374. package/dist/index.d.ts.map +0 -1
  375. package/dist/index.js.map +0 -1
  376. package/dist/initiate-session-handler.d.ts +0 -55
  377. package/dist/initiate-session-handler.d.ts.map +0 -1
  378. package/dist/initiate-session-handler.js +0 -310
  379. package/dist/initiate-session-handler.js.map +0 -1
  380. package/dist/ipc-client.d.ts +0 -31
  381. package/dist/ipc-client.d.ts.map +0 -1
  382. package/dist/ipc-client.js +0 -113
  383. package/dist/ipc-client.js.map +0 -1
  384. package/dist/ipc-server.d.ts +0 -63
  385. package/dist/ipc-server.d.ts.map +0 -1
  386. package/dist/ipc-server.js +0 -429
  387. package/dist/ipc-server.js.map +0 -1
  388. package/dist/ipc-surface.d.ts +0 -44
  389. package/dist/ipc-surface.d.ts.map +0 -1
  390. package/dist/ipc-surface.js +0 -107
  391. package/dist/ipc-surface.js.map +0 -1
  392. package/dist/line-lcs.d.ts +0 -51
  393. package/dist/line-lcs.d.ts.map +0 -1
  394. package/dist/line-lcs.js +0 -71
  395. package/dist/line-lcs.js.map +0 -1
  396. package/dist/lock-file.d.ts +0 -39
  397. package/dist/lock-file.d.ts.map +0 -1
  398. package/dist/lock-file.js +0 -120
  399. package/dist/lock-file.js.map +0 -1
  400. package/dist/log-collapse.d.ts +0 -66
  401. package/dist/log-collapse.d.ts.map +0 -1
  402. package/dist/log-collapse.js +0 -244
  403. package/dist/log-collapse.js.map +0 -1
  404. package/dist/log-rotate.d.ts +0 -67
  405. package/dist/log-rotate.d.ts.map +0 -1
  406. package/dist/log-rotate.js +0 -134
  407. package/dist/log-rotate.js.map +0 -1
  408. package/dist/manifest-deps.d.ts +0 -25
  409. package/dist/manifest-deps.d.ts.map +0 -1
  410. package/dist/manifest-deps.js +0 -151
  411. package/dist/manifest-deps.js.map +0 -1
  412. package/dist/manifest-poll-scheduler.d.ts +0 -31
  413. package/dist/manifest-poll-scheduler.d.ts.map +0 -1
  414. package/dist/manifest-poll-scheduler.js +0 -59
  415. package/dist/manifest-poll-scheduler.js.map +0 -1
  416. package/dist/manifest-validity.d.ts +0 -153
  417. package/dist/manifest-validity.d.ts.map +0 -1
  418. package/dist/manifest-validity.js +0 -268
  419. package/dist/manifest-validity.js.map +0 -1
  420. package/dist/manifest-version-store-db.d.ts +0 -24
  421. package/dist/manifest-version-store-db.d.ts.map +0 -1
  422. package/dist/manifest-version-store-db.js +0 -58
  423. package/dist/manifest-version-store-db.js.map +0 -1
  424. package/dist/manifest-version-store.d.ts +0 -16
  425. package/dist/manifest-version-store.d.ts.map +0 -1
  426. package/dist/manifest-version-store.js +0 -15
  427. package/dist/manifest-version-store.js.map +0 -1
  428. package/dist/network-directory-node.d.ts +0 -136
  429. package/dist/network-directory-node.d.ts.map +0 -1
  430. package/dist/network-directory-node.js +0 -810
  431. package/dist/network-directory-node.js.map +0 -1
  432. package/dist/nonce-dedup.d.ts +0 -68
  433. package/dist/nonce-dedup.d.ts.map +0 -1
  434. package/dist/nonce-dedup.js +0 -205
  435. package/dist/nonce-dedup.js.map +0 -1
  436. package/dist/notification-dispatcher.d.ts +0 -92
  437. package/dist/notification-dispatcher.d.ts.map +0 -1
  438. package/dist/notification-dispatcher.js +0 -210
  439. package/dist/notification-dispatcher.js.map +0 -1
  440. package/dist/notification-handlers.d.ts +0 -53
  441. package/dist/notification-handlers.d.ts.map +0 -1
  442. package/dist/notification-handlers.js +0 -461
  443. package/dist/notification-handlers.js.map +0 -1
  444. package/dist/onboarding-guidance.d.ts +0 -79
  445. package/dist/onboarding-guidance.d.ts.map +0 -1
  446. package/dist/onboarding-guidance.js +0 -95
  447. package/dist/onboarding-guidance.js.map +0 -1
  448. package/dist/operator-guidance.d.ts +0 -25
  449. package/dist/operator-guidance.d.ts.map +0 -1
  450. package/dist/operator-guidance.js +0 -50
  451. package/dist/operator-guidance.js.map +0 -1
  452. package/dist/orphan-triage.d.ts +0 -130
  453. package/dist/orphan-triage.d.ts.map +0 -1
  454. package/dist/orphan-triage.js +0 -207
  455. package/dist/orphan-triage.js.map +0 -1
  456. package/dist/outbound-sessions.d.ts +0 -126
  457. package/dist/outbound-sessions.d.ts.map +0 -1
  458. package/dist/outbound-sessions.js +0 -1052
  459. package/dist/outbound-sessions.js.map +0 -1
  460. package/dist/park-envelope.d.ts +0 -329
  461. package/dist/park-envelope.d.ts.map +0 -1
  462. package/dist/park-envelope.js +0 -509
  463. package/dist/park-envelope.js.map +0 -1
  464. package/dist/park-recovery.d.ts +0 -273
  465. package/dist/park-recovery.d.ts.map +0 -1
  466. package/dist/park-recovery.js +0 -717
  467. package/dist/park-recovery.js.map +0 -1
  468. package/dist/park-refusals.d.ts +0 -147
  469. package/dist/park-refusals.d.ts.map +0 -1
  470. package/dist/park-refusals.js +0 -331
  471. package/dist/park-refusals.js.map +0 -1
  472. package/dist/quarantine-framing.d.ts +0 -92
  473. package/dist/quarantine-framing.d.ts.map +0 -1
  474. package/dist/quarantine-framing.js +0 -111
  475. package/dist/quarantine-framing.js.map +0 -1
  476. package/dist/reconnect-drain.d.ts +0 -22
  477. package/dist/reconnect-drain.d.ts.map +0 -1
  478. package/dist/reconnect-drain.js +0 -65
  479. package/dist/reconnect-drain.js.map +0 -1
  480. package/dist/recovered-position.d.ts +0 -14
  481. package/dist/recovered-position.d.ts.map +0 -1
  482. package/dist/recovered-position.js +0 -59
  483. package/dist/recovered-position.js.map +0 -1
  484. package/dist/refusal-notices.d.ts +0 -196
  485. package/dist/refusal-notices.d.ts.map +0 -1
  486. package/dist/refusal-notices.js +0 -516
  487. package/dist/refusal-notices.js.map +0 -1
  488. package/dist/refusal-reasons.d.ts +0 -245
  489. package/dist/refusal-reasons.d.ts.map +0 -1
  490. package/dist/refusal-reasons.js +0 -363
  491. package/dist/refusal-reasons.js.map +0 -1
  492. package/dist/register-handler.d.ts +0 -36
  493. package/dist/register-handler.d.ts.map +0 -1
  494. package/dist/register-handler.js +0 -285
  495. package/dist/register-handler.js.map +0 -1
  496. package/dist/registration-context.d.ts +0 -72
  497. package/dist/registration-context.d.ts.map +0 -1
  498. package/dist/registration-context.js +0 -126
  499. package/dist/registration-context.js.map +0 -1
  500. package/dist/registration-manager.d.ts +0 -94
  501. package/dist/registration-manager.d.ts.map +0 -1
  502. package/dist/registration-manager.js +0 -585
  503. package/dist/registration-manager.js.map +0 -1
  504. package/dist/registration-persistence.d.ts +0 -183
  505. package/dist/registration-persistence.d.ts.map +0 -1
  506. package/dist/registration-persistence.js +0 -263
  507. package/dist/registration-persistence.js.map +0 -1
  508. package/dist/registry-poll.d.ts +0 -52
  509. package/dist/registry-poll.d.ts.map +0 -1
  510. package/dist/registry-poll.js +0 -140
  511. package/dist/registry-poll.js.map +0 -1
  512. package/dist/registry-version-store-db.d.ts +0 -22
  513. package/dist/registry-version-store-db.d.ts.map +0 -1
  514. package/dist/registry-version-store-db.js +0 -50
  515. package/dist/registry-version-store-db.js.map +0 -1
  516. package/dist/relay-endpoints.d.ts +0 -18
  517. package/dist/relay-endpoints.d.ts.map +0 -1
  518. package/dist/relay-endpoints.js +0 -9
  519. package/dist/relay-endpoints.js.map +0 -1
  520. package/dist/relay-only.d.ts +0 -140
  521. package/dist/relay-only.d.ts.map +0 -1
  522. package/dist/relay-only.js +0 -193
  523. package/dist/relay-only.js.map +0 -1
  524. package/dist/relay-receipt-store.d.ts +0 -155
  525. package/dist/relay-receipt-store.d.ts.map +0 -1
  526. package/dist/relay-receipt-store.js +0 -284
  527. package/dist/relay-receipt-store.js.map +0 -1
  528. package/dist/relay-reconnect.d.ts +0 -32
  529. package/dist/relay-reconnect.d.ts.map +0 -1
  530. package/dist/relay-reconnect.js +0 -29
  531. package/dist/relay-reconnect.js.map +0 -1
  532. package/dist/reply-lag.d.ts +0 -11
  533. package/dist/reply-lag.d.ts.map +0 -1
  534. package/dist/reply-lag.js +0 -46
  535. package/dist/reply-lag.js.map +0 -1
  536. package/dist/resolve-named-agent.d.ts +0 -49
  537. package/dist/resolve-named-agent.d.ts.map +0 -1
  538. package/dist/resolve-named-agent.js +0 -77
  539. package/dist/resolve-named-agent.js.map +0 -1
  540. package/dist/restart-seal-resolver.d.ts +0 -110
  541. package/dist/restart-seal-resolver.d.ts.map +0 -1
  542. package/dist/restart-seal-resolver.js +0 -353
  543. package/dist/restart-seal-resolver.js.map +0 -1
  544. package/dist/resume-last-seen.d.ts +0 -15
  545. package/dist/resume-last-seen.d.ts.map +0 -1
  546. package/dist/resume-last-seen.js +0 -44
  547. package/dist/resume-last-seen.js.map +0 -1
  548. package/dist/retry-queue.d.ts +0 -203
  549. package/dist/retry-queue.d.ts.map +0 -1
  550. package/dist/retry-queue.js +0 -701
  551. package/dist/retry-queue.js.map +0 -1
  552. package/dist/roster-freshness.d.ts +0 -160
  553. package/dist/roster-freshness.d.ts.map +0 -1
  554. package/dist/roster-freshness.js +0 -250
  555. package/dist/roster-freshness.js.map +0 -1
  556. package/dist/screening-status.d.ts +0 -15
  557. package/dist/screening-status.d.ts.map +0 -1
  558. package/dist/screening-status.js +0 -65
  559. package/dist/screening-status.js.map +0 -1
  560. package/dist/seal-carried-close.d.ts +0 -37
  561. package/dist/seal-carried-close.d.ts.map +0 -1
  562. package/dist/seal-carried-close.js +0 -179
  563. package/dist/seal-carried-close.js.map +0 -1
  564. package/dist/seal-certificate-pull.d.ts +0 -79
  565. package/dist/seal-certificate-pull.d.ts.map +0 -1
  566. package/dist/seal-certificate-pull.js +0 -186
  567. package/dist/seal-certificate-pull.js.map +0 -1
  568. package/dist/seal-certified-root-check.d.ts +0 -37
  569. package/dist/seal-certified-root-check.d.ts.map +0 -1
  570. package/dist/seal-certified-root-check.js +0 -127
  571. package/dist/seal-certified-root-check.js.map +0 -1
  572. package/dist/seal-coordinator.d.ts +0 -118
  573. package/dist/seal-coordinator.d.ts.map +0 -1
  574. package/dist/seal-coordinator.js +0 -927
  575. package/dist/seal-coordinator.js.map +0 -1
  576. package/dist/seal-escalation.d.ts +0 -80
  577. package/dist/seal-escalation.d.ts.map +0 -1
  578. package/dist/seal-escalation.js +0 -283
  579. package/dist/seal-escalation.js.map +0 -1
  580. package/dist/seal-evidence-root-check.d.ts +0 -70
  581. package/dist/seal-evidence-root-check.d.ts.map +0 -1
  582. package/dist/seal-evidence-root-check.js +0 -199
  583. package/dist/seal-evidence-root-check.js.map +0 -1
  584. package/dist/seal-failure-store.d.ts +0 -129
  585. package/dist/seal-failure-store.d.ts.map +0 -1
  586. package/dist/seal-failure-store.js +0 -173
  587. package/dist/seal-failure-store.js.map +0 -1
  588. package/dist/seal-flows.d.ts +0 -107
  589. package/dist/seal-flows.d.ts.map +0 -1
  590. package/dist/seal-flows.js +0 -638
  591. package/dist/seal-flows.js.map +0 -1
  592. package/dist/seal-frontier-verify.d.ts +0 -103
  593. package/dist/seal-frontier-verify.d.ts.map +0 -1
  594. package/dist/seal-frontier-verify.js +0 -143
  595. package/dist/seal-frontier-verify.js.map +0 -1
  596. package/dist/seal-leaf.d.ts +0 -58
  597. package/dist/seal-leaf.d.ts.map +0 -1
  598. package/dist/seal-leaf.js +0 -112
  599. package/dist/seal-leaf.js.map +0 -1
  600. package/dist/seal-legibility-tbs.d.ts +0 -25
  601. package/dist/seal-legibility-tbs.d.ts.map +0 -1
  602. package/dist/seal-legibility-tbs.js +0 -77
  603. package/dist/seal-legibility-tbs.js.map +0 -1
  604. package/dist/seal-local-terminus.d.ts +0 -41
  605. package/dist/seal-local-terminus.d.ts.map +0 -1
  606. package/dist/seal-local-terminus.js +0 -170
  607. package/dist/seal-local-terminus.js.map +0 -1
  608. package/dist/seal-receipt-upgrade.d.ts +0 -30
  609. package/dist/seal-receipt-upgrade.d.ts.map +0 -1
  610. package/dist/seal-receipt-upgrade.js +0 -49
  611. package/dist/seal-receipt-upgrade.js.map +0 -1
  612. package/dist/seal-relay-silence.d.ts +0 -51
  613. package/dist/seal-relay-silence.d.ts.map +0 -1
  614. package/dist/seal-relay-silence.js +0 -76
  615. package/dist/seal-relay-silence.js.map +0 -1
  616. package/dist/seal-settle.d.ts +0 -38
  617. package/dist/seal-settle.d.ts.map +0 -1
  618. package/dist/seal-settle.js +0 -33
  619. package/dist/seal-settle.js.map +0 -1
  620. package/dist/seal-upgrade.d.ts +0 -107
  621. package/dist/seal-upgrade.d.ts.map +0 -1
  622. package/dist/seal-upgrade.js +0 -200
  623. package/dist/seal-upgrade.js.map +0 -1
  624. package/dist/sealed-conversation.d.ts +0 -36
  625. package/dist/sealed-conversation.d.ts.map +0 -1
  626. package/dist/sealed-conversation.js +0 -171
  627. package/dist/sealed-conversation.js.map +0 -1
  628. package/dist/sealed-leaf-set.d.ts +0 -92
  629. package/dist/sealed-leaf-set.d.ts.map +0 -1
  630. package/dist/sealed-leaf-set.js +0 -122
  631. package/dist/sealed-leaf-set.js.map +0 -1
  632. package/dist/send-claims.d.ts +0 -56
  633. package/dist/send-claims.d.ts.map +0 -1
  634. package/dist/send-claims.js +0 -50
  635. package/dist/send-claims.js.map +0 -1
  636. package/dist/session-assignment-parser.d.ts +0 -98
  637. package/dist/session-assignment-parser.d.ts.map +0 -1
  638. package/dist/session-assignment-parser.js +0 -325
  639. package/dist/session-assignment-parser.js.map +0 -1
  640. package/dist/session-category.d.ts +0 -19
  641. package/dist/session-category.d.ts.map +0 -1
  642. package/dist/session-category.js +0 -14
  643. package/dist/session-category.js.map +0 -1
  644. package/dist/session-ceremony.d.ts +0 -297
  645. package/dist/session-ceremony.d.ts.map +0 -1
  646. package/dist/session-ceremony.js +0 -964
  647. package/dist/session-ceremony.js.map +0 -1
  648. package/dist/session-closed.d.ts +0 -79
  649. package/dist/session-closed.d.ts.map +0 -1
  650. package/dist/session-closed.js +0 -189
  651. package/dist/session-closed.js.map +0 -1
  652. package/dist/session-connection-gater.d.ts +0 -148
  653. package/dist/session-connection-gater.d.ts.map +0 -1
  654. package/dist/session-connection-gater.js +0 -332
  655. package/dist/session-connection-gater.js.map +0 -1
  656. package/dist/session-content-context.d.ts +0 -162
  657. package/dist/session-content-context.d.ts.map +0 -1
  658. package/dist/session-content-context.js +0 -2
  659. package/dist/session-content-context.js.map +0 -1
  660. package/dist/session-content-handlers.d.ts +0 -82
  661. package/dist/session-content-handlers.d.ts.map +0 -1
  662. package/dist/session-content-handlers.js +0 -1382
  663. package/dist/session-content-handlers.js.map +0 -1
  664. package/dist/session-content-ingest.d.ts +0 -206
  665. package/dist/session-content-ingest.d.ts.map +0 -1
  666. package/dist/session-content-ingest.js +0 -2167
  667. package/dist/session-content-ingest.js.map +0 -1
  668. package/dist/session-content-send.d.ts +0 -191
  669. package/dist/session-content-send.d.ts.map +0 -1
  670. package/dist/session-content-send.js +0 -1360
  671. package/dist/session-content-send.js.map +0 -1
  672. package/dist/session-delivery-acks.d.ts +0 -169
  673. package/dist/session-delivery-acks.d.ts.map +0 -1
  674. package/dist/session-delivery-acks.js +0 -569
  675. package/dist/session-delivery-acks.js.map +0 -1
  676. package/dist/session-ephemerals.d.ts +0 -279
  677. package/dist/session-ephemerals.d.ts.map +0 -1
  678. package/dist/session-ephemerals.js +0 -591
  679. package/dist/session-ephemerals.js.map +0 -1
  680. package/dist/session-leaf-records.d.ts +0 -159
  681. package/dist/session-leaf-records.d.ts.map +0 -1
  682. package/dist/session-leaf-records.js +0 -408
  683. package/dist/session-leaf-records.js.map +0 -1
  684. package/dist/session-lifecycle.d.ts +0 -303
  685. package/dist/session-lifecycle.d.ts.map +0 -1
  686. package/dist/session-lifecycle.js +0 -1679
  687. package/dist/session-lifecycle.js.map +0 -1
  688. package/dist/session-liveness.d.ts +0 -135
  689. package/dist/session-liveness.d.ts.map +0 -1
  690. package/dist/session-liveness.js +0 -347
  691. package/dist/session-liveness.js.map +0 -1
  692. package/dist/session-name.d.ts +0 -35
  693. package/dist/session-name.d.ts.map +0 -1
  694. package/dist/session-name.js +0 -60
  695. package/dist/session-name.js.map +0 -1
  696. package/dist/session-node-factory.d.ts +0 -18
  697. package/dist/session-node-factory.d.ts.map +0 -1
  698. package/dist/session-node-factory.js +0 -182
  699. package/dist/session-node-factory.js.map +0 -1
  700. package/dist/session-node-manager.d.ts +0 -875
  701. package/dist/session-node-manager.d.ts.map +0 -1
  702. package/dist/session-node-manager.js +0 -2995
  703. package/dist/session-node-manager.js.map +0 -1
  704. package/dist/session-node-types.d.ts +0 -1057
  705. package/dist/session-node-types.d.ts.map +0 -1
  706. package/dist/session-node-types.js +0 -657
  707. package/dist/session-node-types.js.map +0 -1
  708. package/dist/session-notify.d.ts +0 -46
  709. package/dist/session-notify.d.ts.map +0 -1
  710. package/dist/session-notify.js +0 -116
  711. package/dist/session-notify.js.map +0 -1
  712. package/dist/session-own-chain-store.d.ts +0 -65
  713. package/dist/session-own-chain-store.d.ts.map +0 -1
  714. package/dist/session-own-chain-store.js +0 -75
  715. package/dist/session-own-chain-store.js.map +0 -1
  716. package/dist/session-queries.d.ts +0 -476
  717. package/dist/session-queries.d.ts.map +0 -1
  718. package/dist/session-queries.js +0 -1007
  719. package/dist/session-queries.js.map +0 -1
  720. package/dist/session-read-handlers.d.ts +0 -87
  721. package/dist/session-read-handlers.d.ts.map +0 -1
  722. package/dist/session-read-handlers.js +0 -682
  723. package/dist/session-read-handlers.js.map +0 -1
  724. package/dist/session-records.d.ts +0 -341
  725. package/dist/session-records.d.ts.map +0 -1
  726. package/dist/session-records.js +0 -858
  727. package/dist/session-records.js.map +0 -1
  728. package/dist/session-relay-client.d.ts +0 -659
  729. package/dist/session-relay-client.d.ts.map +0 -1
  730. package/dist/session-relay-client.js +0 -2876
  731. package/dist/session-relay-client.js.map +0 -1
  732. package/dist/session-relay.d.ts +0 -397
  733. package/dist/session-relay.d.ts.map +0 -1
  734. package/dist/session-relay.js +0 -1636
  735. package/dist/session-relay.js.map +0 -1
  736. package/dist/session-salt-agreement.d.ts +0 -331
  737. package/dist/session-salt-agreement.d.ts.map +0 -1
  738. package/dist/session-salt-agreement.js +0 -472
  739. package/dist/session-salt-agreement.js.map +0 -1
  740. package/dist/session-salts.d.ts +0 -432
  741. package/dist/session-salts.d.ts.map +0 -1
  742. package/dist/session-salts.js +0 -1540
  743. package/dist/session-salts.js.map +0 -1
  744. package/dist/session-schema.d.ts +0 -30
  745. package/dist/session-schema.d.ts.map +0 -1
  746. package/dist/session-schema.js +0 -877
  747. package/dist/session-schema.js.map +0 -1
  748. package/dist/session-seal-leaf-store.d.ts +0 -70
  749. package/dist/session-seal-leaf-store.d.ts.map +0 -1
  750. package/dist/session-seal-leaf-store.js +0 -105
  751. package/dist/session-seal-leaf-store.js.map +0 -1
  752. package/dist/session-seal.d.ts +0 -334
  753. package/dist/session-seal.d.ts.map +0 -1
  754. package/dist/session-seal.js +0 -1017
  755. package/dist/session-seal.js.map +0 -1
  756. package/dist/session-terminal-refusal.d.ts +0 -65
  757. package/dist/session-terminal-refusal.d.ts.map +0 -1
  758. package/dist/session-terminal-refusal.js +0 -87
  759. package/dist/session-terminal-refusal.js.map +0 -1
  760. package/dist/session-tree.d.ts +0 -110
  761. package/dist/session-tree.d.ts.map +0 -1
  762. package/dist/session-tree.js +0 -144
  763. package/dist/session-tree.js.map +0 -1
  764. package/dist/session-views.d.ts +0 -47
  765. package/dist/session-views.d.ts.map +0 -1
  766. package/dist/session-views.js +0 -278
  767. package/dist/session-views.js.map +0 -1
  768. package/dist/signal-handlers.d.ts +0 -63
  769. package/dist/signal-handlers.d.ts.map +0 -1
  770. package/dist/signal-handlers.js +0 -980
  771. package/dist/signal-handlers.js.map +0 -1
  772. package/dist/signal-requirement-policy.d.ts +0 -51
  773. package/dist/signal-requirement-policy.d.ts.map +0 -1
  774. package/dist/signal-requirement-policy.js +0 -89
  775. package/dist/signal-requirement-policy.js.map +0 -1
  776. package/dist/signal-revocability.d.ts +0 -49
  777. package/dist/signal-revocability.d.ts.map +0 -1
  778. package/dist/signal-revocability.js +0 -93
  779. package/dist/signal-revocability.js.map +0 -1
  780. package/dist/signal-submission.d.ts +0 -181
  781. package/dist/signal-submission.d.ts.map +0 -1
  782. package/dist/signal-submission.js +0 -368
  783. package/dist/signal-submission.js.map +0 -1
  784. package/dist/signaling-connect.d.ts +0 -118
  785. package/dist/signaling-connect.d.ts.map +0 -1
  786. package/dist/signaling-connect.js +0 -538
  787. package/dist/signaling-connect.js.map +0 -1
  788. package/dist/signaling-wiring.d.ts +0 -105
  789. package/dist/signaling-wiring.d.ts.map +0 -1
  790. package/dist/signaling-wiring.js +0 -393
  791. package/dist/signaling-wiring.js.map +0 -1
  792. package/dist/singleton-lock.d.ts +0 -85
  793. package/dist/singleton-lock.d.ts.map +0 -1
  794. package/dist/singleton-lock.js +0 -219
  795. package/dist/singleton-lock.js.map +0 -1
  796. package/dist/sqlcipher-db.d.ts +0 -139
  797. package/dist/sqlcipher-db.d.ts.map +0 -1
  798. package/dist/sqlcipher-db.js +0 -357
  799. package/dist/sqlcipher-db.js.map +0 -1
  800. package/dist/standing-receivers.d.ts +0 -319
  801. package/dist/standing-receivers.d.ts.map +0 -1
  802. package/dist/standing-receivers.js +0 -1295
  803. package/dist/standing-receivers.js.map +0 -1
  804. package/dist/start-agent.d.ts +0 -64
  805. package/dist/start-agent.d.ts.map +0 -1
  806. package/dist/start-agent.js +0 -136
  807. package/dist/start-agent.js.map +0 -1
  808. package/dist/status-handler.d.ts +0 -54
  809. package/dist/status-handler.d.ts.map +0 -1
  810. package/dist/status-handler.js +0 -61
  811. package/dist/status-handler.js.map +0 -1
  812. package/dist/submission-retry.d.ts +0 -208
  813. package/dist/submission-retry.d.ts.map +0 -1
  814. package/dist/submission-retry.js +0 -506
  815. package/dist/submission-retry.js.map +0 -1
  816. package/dist/telegram-bot-client.d.ts +0 -34
  817. package/dist/telegram-bot-client.d.ts.map +0 -1
  818. package/dist/telegram-bot-client.js +0 -36
  819. package/dist/telegram-bot-client.js.map +0 -1
  820. package/dist/telegram-doorbell.d.ts +0 -38
  821. package/dist/telegram-doorbell.d.ts.map +0 -1
  822. package/dist/telegram-doorbell.js +0 -140
  823. package/dist/telegram-doorbell.js.map +0 -1
  824. package/dist/test-handlers.d.ts +0 -62
  825. package/dist/test-handlers.d.ts.map +0 -1
  826. package/dist/test-handlers.js +0 -240
  827. package/dist/test-handlers.js.map +0 -1
  828. package/dist/testing.d.ts +0 -10
  829. package/dist/testing.d.ts.map +0 -1
  830. package/dist/testing.js +0 -10
  831. package/dist/testing.js.map +0 -1
  832. package/dist/transport-composition.d.ts +0 -31
  833. package/dist/transport-composition.d.ts.map +0 -1
  834. package/dist/transport-composition.js +0 -55
  835. package/dist/transport-composition.js.map +0 -1
  836. package/dist/transport-selector.d.ts +0 -202
  837. package/dist/transport-selector.d.ts.map +0 -1
  838. package/dist/transport-selector.js +0 -196
  839. package/dist/transport-selector.js.map +0 -1
  840. package/dist/trust-signal-pickup-listener.d.ts +0 -43
  841. package/dist/trust-signal-pickup-listener.d.ts.map +0 -1
  842. package/dist/trust-signal-pickup-listener.js +0 -48
  843. package/dist/trust-signal-pickup-listener.js.map +0 -1
  844. package/dist/trust-signal-store.d.ts +0 -406
  845. package/dist/trust-signal-store.d.ts.map +0 -1
  846. package/dist/trust-signal-store.js +0 -939
  847. package/dist/trust-signal-store.js.map +0 -1
  848. package/dist/trust-signal-sweep-tick.d.ts +0 -60
  849. package/dist/trust-signal-sweep-tick.d.ts.map +0 -1
  850. package/dist/trust-signal-sweep-tick.js +0 -101
  851. package/dist/trust-signal-sweep-tick.js.map +0 -1
  852. package/dist/trust-signal-sweep.d.ts +0 -94
  853. package/dist/trust-signal-sweep.d.ts.map +0 -1
  854. package/dist/trust-signal-sweep.js +0 -147
  855. package/dist/trust-signal-sweep.js.map +0 -1
  856. package/dist/type-registry.d.ts +0 -42
  857. package/dist/type-registry.d.ts.map +0 -1
  858. package/dist/type-registry.js +0 -37
  859. package/dist/type-registry.js.map +0 -1
  860. package/dist/types.d.ts +0 -746
  861. package/dist/types.d.ts.map +0 -1
  862. package/dist/types.js +0 -20
  863. package/dist/types.js.map +0 -1
  864. package/dist/unresolved-nodes-report.d.ts +0 -14
  865. package/dist/unresolved-nodes-report.d.ts.map +0 -1
  866. package/dist/unresolved-nodes-report.js +0 -96
  867. package/dist/unresolved-nodes-report.js.map +0 -1
  868. package/dist/vocabulary.d.ts +0 -150
  869. package/dist/vocabulary.d.ts.map +0 -1
  870. package/dist/vocabulary.js +0 -386
  871. package/dist/vocabulary.js.map +0 -1
  872. package/dist/who-label.d.ts +0 -28
  873. package/dist/who-label.d.ts.map +0 -1
  874. package/dist/who-label.js +0 -31
  875. package/dist/who-label.js.map +0 -1
  876. package/dist/who-resolver.d.ts +0 -15
  877. package/dist/who-resolver.d.ts.map +0 -1
  878. package/dist/who-resolver.js +0 -47
  879. package/dist/who-resolver.js.map +0 -1
  880. package/dist/wire-content-hash.d.ts +0 -93
  881. package/dist/wire-content-hash.d.ts.map +0 -1
  882. package/dist/wire-content-hash.js +0 -116
  883. package/dist/wire-content-hash.js.map +0 -1
  884. package/dist/withheld-content.d.ts +0 -13
  885. package/dist/withheld-content.d.ts.map +0 -1
  886. package/dist/withheld-content.js +0 -46
  887. package/dist/withheld-content.js.map +0 -1
  888. package/dist/witness-alerts.d.ts +0 -40
  889. package/dist/witness-alerts.d.ts.map +0 -1
  890. package/dist/witness-alerts.js +0 -102
  891. package/dist/witness-alerts.js.map +0 -1
@@ -1,638 +0,0 @@
1
- /**
2
- * The two seal-initiation flows that cello_close_session dispatches into.
3
- *
4
- * handleSealInterruptedFlow — the counterparty is GONE. Exchange seal-interrupted leaves over the
5
- * directory pass-through, then freeze the session at seal_interrupted_pending.
6
- * handleActiveSealFlow — the counterparty is LIVE. Run the bilateral close.
7
- *
8
- * The daemon holds no FrostThresholdSigner and no directory FROST ceremony client, so it CANNOT
9
- * produce a threshold signature by itself. That is the sovereign-node invariant, and it is why these
10
- * functions only ever assemble and exchange leaves — the notarization happens at the directory.
11
- */
12
- import { randomUUID } from "node:crypto";
13
- import { buildSignedSealInterruptedLeaf, verifyCounterpartySealLeaf } from "./seal-leaf.js";
14
- import { extractErrorMessage } from "./error-message.js";
15
- /**
16
- * The operator-visible text for a counterparty's seal-interrupted rejection.
17
- *
18
- * Extracted from the flow so it can be TESTED. AC2 is worded about the message the INITIATOR shows
19
- * — "reports the ACTUAL mismatch … instead of directing the operator to ask the counterparty" — and
20
- * that message was previously built inline inside `handleSealInterruptedFlow`, reachable only by
21
- * standing up two daemons and driving a real seal exchange. So the clause the AC is actually about
22
- * had no test at all (review). A pure function is the honest seam.
23
- */
24
- export function renderSealRejection(reason, sessionId, frontier) {
25
- // Gated on the REASON as well as the presence of numbers (review L3). Only a
26
- // leaf_count_mismatch means what this narrative says; if any other reason ever arrives carrying a
27
- // frontier, rendering it here would explain the wrong thing confidently.
28
- if (frontier && reason === "leaf_count_mismatch") {
29
- const { responder, initiator, diverging } = frontier;
30
- return {
31
- rejection_reason: reason,
32
- your_leaf_count: initiator,
33
- their_leaf_count: responder,
34
- diverging_leaf_index: diverging,
35
- guidance: `The two sides disagree on how many messages this session contains: you hold ${initiator}, ` +
36
- `they hold ${responder}. They diverge at leaf ${diverging} — compare that message on both ` +
37
- `transcripts with cello_transcript ${sessionId}. A leaf that only one side recorded cannot ` +
38
- `be co-signed, so the session cannot seal until the records agree. If BOTH agents run on ` +
39
- `this machine, read both sides here; there is no other end to check.`,
40
- };
41
- }
42
- // M12-P14: the terminal-status refusals are the counterparty telling us the session is already
43
- // FINISHED on its side. Verbatim relay is right for a condition we cannot interpret; these three
44
- // we can, and the generic wording ("check the counterparty's daemon for that condition") sends an
45
- // operator hunting a fault where there is none. A sealed session in particular is a SUCCESS —
46
- // the receipt exists — and reporting it as a rejection to go investigate is actively wrong.
47
- const terminal = {
48
- session_abandoned: `The counterparty has already ABANDONED this session, so there is nothing left to co-sign — an abandon is terminal and yields no notarized receipt on either side. This is the state someone put it in deliberately (a force-close), not a fault to chase. Close it on this side too: cello_close_session ${sessionId} { force: true }. ` +
49
- `One check before you do: this reason is chosen by the COUNTERPARTY and is not verified here, so a bug or a version skew on their side could send it for a session that actually sealed. If you have any independent reason to think it did seal — you saw a seal complete, or an earlier close reported session_already_sealed — do not force; run cello_sealed_receipt ${sessionId} first. Force is only safe when nothing was notarized.`,
50
- session_already_sealed: `The counterparty REPORTS this session as already SEALED — it says a receipt exists on its side. That is its claim, relayed over the wire; this side has not seen or verified any such receipt, so do not repeat it to the operator as established fact. Try cello_sealed_receipt ${sessionId} rather than re-requesting a seal. ` +
51
- `IF THAT RETURNS not_sealed_yet, stop and read this: the seal completion never reached this side, so no local certificate was ever written and none can be produced here. Both answers are true and they point at each other — closing again will just report session_already_sealed a second time. ` +
52
- `Do NOT reach for cello_close_session { force: true } to escape the loop. Force PERMANENTLY forfeits this side's half, and the asymmetry is the whole point: a receipt you cannot yet verify is still recoverable, a forfeited one never is. Ask the counterparty for their sealed_root — this side holds none to compare against, which IS the divergence. Leave the session as it is and tell the operator the session id and the counterparty's pubkey: this is a known daemon defect (the seal completion is pushed with no pull twin), not an error they caused.`,
53
- session_seal_already_pending: `The counterparty has already recorded its half of this seal and is waiting on ours, so a second request cannot be answered. Do not re-send it; check cello_sessions ${sessionId} for the seal's completion.`,
54
- };
55
- // Review MEDIUM-5: `reason` comes off the wire — the counterparty's rejection, relayed verbatim
56
- // by the directory without validation. A plain object-literal lookup is prototype-reachable, so
57
- // `reason: "toString"` passes an `!== undefined` guard and returns a FUNCTION as `guidance`,
58
- // which serialises away and leaves the operator a rejection with no guidance at all. Own-property
59
- // check: a hostile or merely buggy counterparty must not be able to choose that.
60
- if (Object.hasOwn(terminal, reason)) {
61
- return { rejection_reason: reason, guidance: terminal[reason] };
62
- }
63
- // Only a leaf_count_mismatch is EXPECTED to carry the numbers, so only there is their absence
64
- // evidence of an older daemon. The responder rejects for five other reasons, and rendering those
65
- // as a version problem asserts a cause the code never observed.
66
- return {
67
- rejection_reason: reason,
68
- guidance: reason === "leaf_count_mismatch"
69
- ? `The counterparty rejected the seal-interrupted request because the two sides disagree on how many messages this session holds, but it did not report its own count — it is running an older daemon. Compare the two transcripts with cello_transcript ${sessionId}; a session strands when one side holds a leaf the other never recorded.`
70
- : `The counterparty rejected the seal-interrupted request: ${reason}. That is its own reason, reported verbatim — nothing here diagnoses it further. Check the counterparty's daemon for that condition; cello_transcript ${sessionId} shows this side's record if you need it.`,
71
- };
72
- }
73
- export function createSealFlows(deps) {
74
- const { logger, sessionNodeManager, agents, getKeyProvider, signalingFor, sendOver, recordFrontierMismatch, clearFrontierMismatch } = deps;
75
- const keyProviders = { get: getKeyProvider };
76
- // Seal-interrupted bilateral INITIATOR flow.
77
- //
78
- // ⚠️ SCOPE — this flow does NOT complete a FROST-notarized seal, and must not pretend to.
79
- //
80
- // What it DOES: both parties produce and exchange real K_local Ed25519-signed SEAL-INTERRUPTED
81
- // leaves over an agreed {leafCount, merkleRoot}; the initiator verifies the signature, the
82
- // echoed nonce, and the cross-checks; the verified bilateral commitment is persisted; the
83
- // session advances to the NON-TERMINAL 'seal_interrupted_pending' state.
84
- //
85
- // What it does NOT do: the FROST threshold notarization. The daemon holds no
86
- // FrostThresholdSigner and no directory FROST ceremony client, so it CANNOT produce a threshold
87
- // seal here. The session therefore STOPS at the persisted bilateral commitment rather than
88
- // claim a completed seal. Wiring the real seal means injecting a SealManager adapter.
89
- //
90
- // Merkle-ROOT agreement is deliberately NOT compared at this layer, and the reason is still
91
- // sound: under concurrent bidirectional traffic the two sides' local append orders — and
92
- // therefore their roots — can legitimately diverge until the relay-assigned canonical sequence
93
- // exists, so comparing roots here would reject honest sessions. leafCount agreement (each side
94
- // against its own tree size, or message_count when no tree exists) is the bilateral check
95
- // available at this layer.
96
- //
97
- // ⚠️ DOD-M15-CLAIM-COMMENTS-1 — WHAT THIS COMMENT USED TO IMPLY IS NOT TRUE. It ended "true root
98
- // agreement belongs to the FROST seal against the directory-held tree", which reads as *someone
99
- // else checks it*. NOBODY DOES. The directory's own SEAL-leaf handler defers the same check back
100
- // to the client ("deferred to a follow-on story since clients perform this verification
101
- // locally"), and the client check it names does not exist — so the certified root is never
102
- // compared against either party's transcript, on any path except the unilateral one.
103
- //
104
- // Two comments deferring to each other is how the gap survived review: each half reads as a
105
- // considered decision to check elsewhere, and there is no elsewhere.
106
- //
107
- // ⚠️ UPDATE — "until it lands" HAS LANDED, and leaving that clause would now under-claim a
108
- // protection that exists. `DOD-M15-SEALWIRE-1` bullets 1 and 2 shipped: the bilateral certified
109
- // root moved into the content-hash domain, and `verifyCertifiedRoot` rebuilds this
110
- // side's OWN root from its carried leaves and compares it to the certificate, returning
111
- // match / mismatch / cannot_judge rather than accepting on trust.
112
- //
113
- // A stale comment that under-claims is less dangerous than one that over-claims — nobody is
114
- // left trusting a check that is not there — but it is not harmless: a reader takes it as a live
115
- // gap and either re-implements the comparison or writes it up as outstanding. This milestone has
116
- // a whole line (`DOD-M15-CLAIM-COMMENTS-1`) about comments whose claims stopped being true, and
117
- // the comment that line produced is the one that went stale.
118
- //
119
- // What remains true HERE, at the seal-INTERRUPTED layer: root agreement is still deliberately
120
- // not compared, for the reason given above — concurrent bidirectional traffic legitimately
121
- // diverges the two local orders until the relay's canonical sequence exists, so comparing roots
122
- // at this point would reject honest sessions. leafCount is still the bilateral check available
123
- // at THIS layer. The root comparison lives where the certificate does, which is the right place
124
- // for it and is no longer nowhere.
125
- //
126
- // Both sides bind over their OWN tree root + size (SI-001) whenever a non-empty tree exists —
127
- // e.g. reloaded from session_tree_leaves after a restart. Only sessions with no persisted tree
128
- // fall back to message_count plus the caller-supplied root.
129
- // M7-SESSION-001 / DAEMON-004: shared bilateral ack-await machinery. The
130
- // interrupted-seal flow AND the active-session seal flow both send a
131
- // `seal_interrupted_request` and wait on the directory signaling stream for the
132
- // counterparty's `seal_interrupted_ack` / `seal_interrupted_rejection` (or time
133
- // out). Extracted so the two flows wait identically — the directory pass-through
134
- // routing (directory-node.ts) is the only wired transport for this exchange.
135
- const SEAL_INTERRUPTED_TIMEOUT_MS = 30_000;
136
- function awaitSealAck(sessionId, mgr) {
137
- return new Promise((resolve) => {
138
- // CONN-001: await the ack on the OWNING agent's own stream (per-agent in prod, shared in test).
139
- if (!mgr) {
140
- resolve({ type: "timeout" });
141
- return;
142
- }
143
- const timeoutHandle = setTimeout(() => {
144
- unregister();
145
- resolve({ type: "timeout" });
146
- }, SEAL_INTERRUPTED_TIMEOUT_MS);
147
- const unregister = mgr.registerInboundHandler((frame) => {
148
- if (frame.type !== "seal_interrupted_ack" && frame.type !== "seal_interrupted_rejection") {
149
- return;
150
- }
151
- if (typeof frame.sessionId !== "string" || frame.sessionId !== sessionId)
152
- return;
153
- clearTimeout(timeoutHandle);
154
- unregister();
155
- if (frame.type === "seal_interrupted_ack") {
156
- resolve({
157
- type: "seal_interrupted_ack",
158
- sealInterruptedLeaf: frame.sealInterruptedLeaf ?? {},
159
- nonce: typeof frame.nonce === "string" ? frame.nonce : null,
160
- });
161
- }
162
- else {
163
- // Only treat the frontier detail as present when BOTH numbers are real. A half-populated
164
- // frame must render as "no detail", never as a mismatch with one side invented.
165
- // M12-P15: which ceremony the peer is actually on. ONE status covers two that need
166
- // opposite actions, so the initiator must never infer it — absent means do not act.
167
- const ceremony = typeof frame["pending_ceremony"] === "string" ? frame["pending_ceremony"] : undefined;
168
- const responder = frame["responder_leaf_count"];
169
- const initiator = frame["initiator_leaf_count"];
170
- const diverging = frame["diverging_leaf_index"];
171
- const hasFrontier = typeof responder === "number" && typeof initiator === "number";
172
- resolve({
173
- type: "seal_interrupted_rejection",
174
- reason: typeof frame.reason === "string" ? frame.reason : "unknown",
175
- ...(ceremony !== undefined ? { pendingCeremony: ceremony } : {}),
176
- ...(hasFrontier
177
- ? { frontier: { responder, initiator, diverging: typeof diverging === "number" ? diverging : Math.min(responder, initiator) } }
178
- : {}),
179
- });
180
- }
181
- });
182
- });
183
- }
184
- async function handleSealInterruptedFlow(sessionId, record, correlationId, merkleRootAtInterruption,
185
- /**
186
- * Send and await on THIS stream instead of the agent's home one.
187
- *
188
- * A directory routes by looking up a stream IT holds, and each daemon holds its stream to its
189
- * OWN home node — so a request for a counterparty homed elsewhere must be sent to THEIR node,
190
- * not ours. Ours logs "target offline" and answers nothing, and the 30s wait below expires.
191
- *
192
- * The close handler supplies the visiting connection it opened to the counterparty's node. A
193
- * visiting connection makes us REACHABLE FROM that node, which is what the active seal needs
194
- * (the broker pushes to us); this flow needs the other direction, and both use the same
195
- * connection.
196
- */
197
- via) {
198
- const nonce = randomUUID();
199
- // Retrieve the agent's own pubkey from the agent list
200
- // (the agent_name stored in the session record identifies which agent was in session)
201
- const agent = agents.find((a) => a.name === record.agent_name);
202
- const myPubkeyHex = agent?.pubkey ?? "";
203
- const counterpartyPubkey = record.counterparty_pubkey;
204
- // DAEMON-004 (AC-007 / SI-001 / finding #2): prefer the daemon-owned tree.
205
- // After a SIGKILL+restart the active session is forced to 'interrupted' and
206
- // its Merkle tree is reloaded from session_tree_leaves. When that reloaded
207
- // tree is non-empty it is the authoritative transcript: the seal binds over
208
- // the daemon's OWN reloaded root + size, and any caller-supplied
209
- // merkleRootAtInterruption is IGNORED (SI-001). Only when no tree was ever
210
- // persisted (legacy / pre-DAEMON-004 sessions) do we fall back to the
211
- // caller-supplied root and the message_count column (SESSION-001 behavior).
212
- const reloadedTree = sessionNodeManager.getSessionTree(record.agent_name, sessionId);
213
- const hasOwnTree = reloadedTree.size() > 0;
214
- const ownLeafCount = hasOwnTree ? reloadedTree.size() : (record.message_count ?? 0);
215
- const effectiveRoot = hasOwnTree
216
- ? sessionNodeManager.getSessionTreeRootHex(record.agent_name, sessionId)
217
- : merkleRootAtInterruption;
218
- // DB-001: check signaling status before attempting to send
219
- if (signalingFor(record.agent_name)?.status === "reconnecting") {
220
- logger.error("session.interrupted.seal.failed", {
221
- sessionId,
222
- agentName: record.agent_name,
223
- reason: "signaling_reconnecting",
224
- error: "directory_signaling_reconnecting",
225
- correlationId,
226
- });
227
- return {
228
- ok: false,
229
- reason: "signaling_reconnecting",
230
- guidance: "The directory signaling stream is reconnecting. Wait for directory_signaling to show connected in cello status before initiating seal-interrupted. The daemon reconnects automatically — no manual intervention required.",
231
- };
232
- }
233
- // H-1: construct and K_local-sign our OWN SEAL-INTERRUPTED leaf before sending.
234
- const myKeyProvider = keyProviders.get(record.agent_name);
235
- if (!myKeyProvider) {
236
- logger.error("session.interrupted.seal.failed", {
237
- sessionId,
238
- agentName: record.agent_name,
239
- reason: "signing_key_unavailable",
240
- error: "no_key_provider_for_agent",
241
- correlationId,
242
- });
243
- return {
244
- ok: false,
245
- reason: "signing_key_unavailable",
246
- guidance: "The signing key for the agent that owned this session could not be loaded. Confirm the agent's key file exists under ~/.cello/agents and restart the daemon.",
247
- };
248
- }
249
- const ownLeaf = await buildSignedSealInterruptedLeaf(myKeyProvider, {
250
- sessionId,
251
- leafCount: ownLeafCount,
252
- merkleRootAtInterruption: effectiveRoot,
253
- signerPubkeyHex: myPubkeyHex,
254
- });
255
- // Send SealInterruptedRequest via directory signaling
256
- const request = {
257
- type: "seal_interrupted_request",
258
- sessionId,
259
- initiatorPubkey: myPubkeyHex,
260
- counterpartyPubkey,
261
- leafCountAtInterruption: ownLeafCount,
262
- merkleRootAtInterruption: effectiveRoot,
263
- nonce,
264
- };
265
- const sendResult = via ? await via.sendRaw(request) : await sendOver(record.agent_name, request);
266
- if (!sendResult.ok) {
267
- logger.error("session.interrupted.seal.failed", {
268
- sessionId,
269
- agentName: record.agent_name,
270
- reason: "seal_interrupted_counterparty_unavailable",
271
- error: sendResult.reason,
272
- correlationId,
273
- });
274
- return {
275
- ok: false,
276
- reason: "seal_interrupted_counterparty_unavailable",
277
- guidance: "The counterparty is not currently reachable to complete the seal-interrupted flow. Retry when the counterparty is online — check their connection status via cello_status.",
278
- };
279
- }
280
- // Wait for counterparty ack/rejection via the shared signaling await machinery.
281
- const ackResult = await awaitSealAck(sessionId, via ?? signalingFor(record.agent_name));
282
- if (ackResult.type === "timeout") {
283
- logger.error("session.interrupted.seal.failed", {
284
- sessionId,
285
- agentName: record.agent_name,
286
- reason: "seal_interrupted_counterparty_unavailable",
287
- error: "seal_interrupted_response_timeout",
288
- correlationId,
289
- });
290
- return {
291
- ok: false,
292
- reason: "seal_interrupted_counterparty_unavailable",
293
- guidance: "The counterparty is not currently reachable to complete the seal-interrupted flow. Retry when the counterparty is online — check their connection status via cello_status.",
294
- };
295
- }
296
- if (ackResult.type === "seal_interrupted_rejection") {
297
- logger.error("session.interrupted.seal.failed", {
298
- sessionId,
299
- agentName: record.agent_name,
300
- reason: "seal_interrupted_rejected_by_counterparty",
301
- error: ackResult.reason,
302
- ...(ackResult.frontier
303
- ? {
304
- responderLeafCount: ackResult.frontier.responder,
305
- initiatorLeafCount: ackResult.frontier.initiator,
306
- divergingLeafIndex: ackResult.frontier.diverging,
307
- }
308
- : {}),
309
- correlationId,
310
- });
311
- // DOD-FRONTIER-STRAND-1 AC2: name the mismatch. The old text said "ask the counterparty to
312
- // check their interrupted sessions on their end" — which, when both agents run on ONE daemon
313
- // (the case that stranded session dbb93dfc… for a week), points at a machine that does not
314
- // exist while withholding the two numbers that identify the problem.
315
- if (ackResult.frontier) {
316
- const { responder, initiator, diverging } = ackResult.frontier;
317
- // AC3: the INITIATOR learns the two numbers here and must keep them too — otherwise only the
318
- // responder's session list shows the strand and the side that attempted the close sees
319
- // nothing afterwards.
320
- recordFrontierMismatch(record.agent_name, sessionId, {
321
- ours: initiator, theirs: responder, divergingLeafIndex: diverging,
322
- });
323
- // AC3 asks for a LOG EVENT, and only the responder emitted one (review M6). On a
324
- // two-machine strand an operator grepping the INITIATING daemon — the side that ran the
325
- // close and saw the failure — found nothing at all.
326
- logger.warn("session.frontier.mismatch", {
327
- sessionId,
328
- agentName: record.agent_name,
329
- role: "initiator",
330
- ourLeafCount: initiator,
331
- theirLeafCount: responder,
332
- divergingLeafIndex: diverging,
333
- correlationId,
334
- });
335
- }
336
- // M12-P15: the counterparty just told us which ceremony IT is on. Act on that rather than
337
- // dead-ending — the dead end is what left force:true (no receipt) as the only exit.
338
- //
339
- // ONLY `relay_bilateral`. A peer on the seal-interrupted ceremony has no relay SEAL ctrl leaf
340
- // and never will, so our leaf would be one leaf into a log that can never hold a second
341
- // distinct sender: the seal never completes and we would have reported ok. An ABSENT field
342
- // (older peer) is not a hint — it is unknown, and unknown means do not sign.
343
- if (ackResult.reason === "session_seal_already_pending" && ackResult.pendingCeremony === "relay_bilateral") {
344
- logger.info("session.seal.ceremony.realigned", {
345
- sessionId, agentName: record.agent_name,
346
- from: "seal_interrupted", to: "bilateral_cosign", because: ackResult.reason, correlationId,
347
- });
348
- const submitted = await sessionNodeManager.submitSealLeaf(record.agent_name, sessionId, correlationId);
349
- // `responder_seal_already_submitted` means our half is ALREADY in the relay log. The active
350
- // seal path treats it as success for exactly that reason; treating it as failure here told
351
- // the operator to retry forever (every retry re-hits the synchronous idempotency mark) while
352
- // forbidding the only real exit.
353
- if (submitted.ok || submitted.reason === "responder_seal_already_submitted") {
354
- // CARRY THE CEREMONY. Without it the caller cannot tell this apart from an ordinary
355
- // interrupted commitment and escalates milliseconds later — asking for an ABSENT-party
356
- // seal against a counterparty that is demonstrably present and co-operating.
357
- return { ok: true, sessionId, status: "seal_interrupted_pending", ceremony: "relay_bilateral" };
358
- }
359
- return {
360
- ok: false,
361
- reason: "seal_cosign_failed",
362
- rejection_reason: ackResult.reason,
363
- guidance: `The counterparty is running the relay bilateral seal and was waiting for our half, so we submitted it instead of re-requesting an interrupted seal — but the submit failed (${submitted.reason}). The session is NOT terminal: retry cello_close_session ${sessionId} once that cause is cleared.`,
364
- };
365
- }
366
- return {
367
- ok: false,
368
- reason: "seal_interrupted_rejected_by_counterparty",
369
- ...renderSealRejection(ackResult.reason, sessionId, ackResult.frontier),
370
- };
371
- }
372
- // ackResult.type === "seal_interrupted_ack"
373
- {
374
- const leaf = ackResult.sealInterruptedLeaf;
375
- // C-1 / SI-002 / SI-003: nonce (L-2), leafCount agreement, and the
376
- // counterparty's own Ed25519 signature are verified by the shared helper.
377
- // We compare against our OWN ownLeafCount (an independent value) so a real
378
- // divergence in transcript length is caught. Merkle-root agreement is NOT
379
- // verified at this leaf-exchange layer (it is the FROST-seal step's job
380
- // against the directory-held tree); see the H-1 SCOPE note above.
381
- const verified = verifyCounterpartySealLeaf({
382
- leaf,
383
- sentNonce: nonce,
384
- ackNonce: ackResult.nonce,
385
- ownLeafCount,
386
- expectedCounterpartyPubkey: record.counterparty_pubkey,
387
- });
388
- if (!verified.ok) {
389
- const reasonMap = {
390
- nonce_mismatch: "seal_interrupted_nonce_mismatch",
391
- leaf_count_mismatch: "seal_interrupted_leaf_count_mismatch",
392
- leaf_signature_invalid: "seal_interrupted_leaf_signature_invalid",
393
- };
394
- const guidanceMap = {
395
- nonce_mismatch: "The counterparty's acknowledgement did not echo the expected nonce. This indicates a stale or replayed response. The session remains interrupted — retry cello_close_session.",
396
- leaf_count_mismatch: "The counterparty's recorded message count at interruption does not match ours. The two sides have divergent session histories and cannot form a bilateral commitment. Compare cello status on both ends before retrying.",
397
- leaf_signature_invalid: "The counterparty's SEAL-INTERRUPTED leaf signature did not verify. The seal flow has been aborted. The session remains interrupted — retry cello_close_session after confirming the counterparty is using a compatible version.",
398
- };
399
- logger.error("session.interrupted.seal.failed", {
400
- sessionId,
401
- agentName: record.agent_name,
402
- reason: reasonMap[verified.reason],
403
- error: verified.error,
404
- correlationId,
405
- });
406
- return { ok: false, reason: reasonMap[verified.reason], guidance: guidanceMap[verified.reason] };
407
- }
408
- // H-1: signature + nonce + cross-checks all passed. We have a VERIFIED
409
- // bilateral commitment (both K_local-signed leaves over the same
410
- // {leafCount, merkleRoot}). Persist BOTH leaves and advance the session to
411
- // the NON-TERMINAL 'seal_interrupted_pending' state. We do NOT write
412
- // 'sealed' — the FROST threshold notarization has not run (see the H-1
413
- // SCOPE note above for exactly what blocks it).
414
- const advanced = sessionNodeManager.persistSealInterruptedCommitment({
415
- agentName: record.agent_name,
416
- sessionId,
417
- role: "initiator",
418
- ownLeaf,
419
- counterpartyLeaf: leaf,
420
- merkleRoot: effectiveRoot,
421
- nonce,
422
- });
423
- if (!advanced) {
424
- logger.error("session.interrupted.seal.failed", {
425
- sessionId,
426
- agentName: record.agent_name,
427
- reason: "seal_interrupted_persist_failed",
428
- error: "session row was not in 'interrupted' state at commit time",
429
- correlationId,
430
- });
431
- return {
432
- ok: false,
433
- reason: "seal_interrupted_persist_failed",
434
- guidance: "The bilateral commitment could not be persisted because the session was no longer in the interrupted state. Re-check cello status — it may already be pending or sealed.",
435
- };
436
- }
437
- logger.info("session.interrupted.pending", {
438
- sessionId,
439
- agentName: record.agent_name,
440
- leafCount: ownLeafCount,
441
- correlationId,
442
- });
443
- // AC3: the frontiers evidently agree now — drop any recorded mismatch. A flag that outlives
444
- // the condition is the same defect inverted: an operator told a healthy session is stranded
445
- // stops believing the flag, and the next real strand reads as noise.
446
- clearFrontierMismatch(record.agent_name, sessionId);
447
- return { ok: true, sessionId, status: "seal_interrupted_pending" };
448
- }
449
- }
450
- // ─── CELLO-M7-DAEMON-004: active-session seal initiation ─────────────────────
451
- //
452
- // Pseudocode (SPARC Phase P):
453
- // 1. DB-002: if signaling reconnecting → return signaling_reconnecting and do
454
- // NOT initiate a partial seal that cannot be notarized.
455
- // 2. SI-001: read the merkle root from the daemon's OWN tree (never a caller param).
456
- // 3. K_local-sign a SEAL ctrl leaf over that root (SI-003: signed by our own node).
457
- // 4. Fire session.seal.initiated with rootHex == our own tree root, role:'initiator'.
458
- // 5. Submit the SEAL to the relay/counterparty + coordinate FROST via signaling,
459
- // reusing the same signaling stream the interrupted-seal flow (SESSION-001) uses.
460
- // The bilateral counterparty ack + FROST threshold notarization complete the
461
- // seal end-to-end (AC-004, exercised under CELLO_E2E_LIVE) — the daemon never
462
- // synthesizes the counterparty's signature.
463
- // round-2 [medium]: the IPC return status MUST match the persisted row. The
464
- // active-seal flow advances the session to 'seal_interrupted_pending' (the same
465
- // non-terminal bilateral-commitment state the interrupted flow uses); returning
466
- // a distinct 'seal_initiated' here meant the close response and a subsequent
467
- // cello_status / cello_list_sessions showed two names for one state. One name.
468
- async function handleActiveSealFlow(sessionId, record, correlationId) {
469
- const agent = agents.find((a) => a.name === record.agent_name);
470
- const myPubkeyHex = agent?.pubkey ?? "";
471
- const kp = keyProviders.get(record.agent_name);
472
- // DB-002: never initiate a partial seal while signaling is reconnecting.
473
- if (signalingFor(record.agent_name)?.status === "reconnecting") {
474
- return {
475
- ok: false,
476
- reason: "signaling_reconnecting",
477
- guidance: "The directory signaling stream is reconnecting. Wait for directory_signaling to show connected in cello status before retrying the close. The daemon reconnects automatically.",
478
- };
479
- }
480
- if (!kp || !myPubkeyHex) {
481
- logger.error("session.seal.initiate.failed", {
482
- sessionId,
483
- reason: "signing_key_unavailable",
484
- errorMessage: "no key provider or pubkey for the agent that owns this session",
485
- correlationId,
486
- });
487
- return {
488
- ok: false,
489
- reason: "signing_key_unavailable",
490
- guidance: "The signing key for the agent that owns this session could not be loaded. Confirm the agent's key file exists under ~/.cello/agents and restart the daemon.",
491
- };
492
- }
493
- // SI-001: the root is the daemon's OWN tree root — computed from the leaves it
494
- // appended itself. Any caller-supplied merkleRoot is never read here.
495
- const ownRootHex = sessionNodeManager.getSessionTreeRootHex(record.agent_name, sessionId);
496
- const leafCount = sessionNodeManager.getSessionTree(record.agent_name, sessionId).size();
497
- const nonce = randomUUID();
498
- // SI-003: K_local-sign our OWN SEAL leaf over our own root. We reuse the
499
- // wired SEAL-INTERRUPTED leaf shape so the counterparty co-signs an identical
500
- // canonical form (the active and interrupted bilateral exchanges share the
501
- // directory pass-through routing — there is no separate `seal_request`
502
- // transport, and inventing one silently drops the frame at the directory).
503
- let ownLeaf;
504
- try {
505
- ownLeaf = await buildSignedSealInterruptedLeaf(kp, {
506
- sessionId,
507
- leafCount,
508
- merkleRootAtInterruption: ownRootHex,
509
- signerPubkeyHex: myPubkeyHex,
510
- });
511
- }
512
- catch (err) {
513
- logger.error("session.seal.initiate.failed", {
514
- sessionId,
515
- reason: "seal_leaf_signing_failed",
516
- errorMessage: extractErrorMessage(err),
517
- correlationId,
518
- });
519
- return {
520
- ok: false,
521
- reason: "seal_leaf_signing_failed",
522
- guidance: "The SEAL leaf could not be signed. Check the daemon logs for the signing error and confirm the agent key is intact.",
523
- };
524
- }
525
- // AC-003: session.seal.initiated — rootHex MUST equal the daemon's own root.
526
- logger.info("session.seal.initiated", {
527
- sessionId,
528
- rootHex: ownRootHex,
529
- role: "initiator",
530
- correlationId,
531
- });
532
- // Submit the SEAL request over the directory signaling stream (the SAME wired
533
- // pass-through the interrupted-seal flow uses) and AWAIT the counterparty's
534
- // bilateral ack. We never report success on a fire-and-forget send.
535
- const sendResult = await sendOver(record.agent_name, {
536
- type: "seal_interrupted_request",
537
- sessionId,
538
- initiatorPubkey: myPubkeyHex,
539
- counterpartyPubkey: record.counterparty_pubkey,
540
- leafCountAtInterruption: leafCount,
541
- merkleRootAtInterruption: ownRootHex,
542
- nonce,
543
- });
544
- if (!sendResult.ok) {
545
- logger.error("session.seal.initiate.failed", {
546
- sessionId,
547
- reason: sendResult.reason,
548
- errorMessage: sendResult.reason,
549
- correlationId,
550
- });
551
- return {
552
- ok: false,
553
- reason: sendResult.reason ?? "directory_unreachable",
554
- guidance: "guidance" in sendResult && typeof sendResult.guidance === "string"
555
- ? sendResult.guidance
556
- : "The seal could not be submitted to the directory. Retry once cello status shows directory_signaling connected.",
557
- };
558
- }
559
- // Wait for the counterparty's bilateral ack (or rejection / timeout).
560
- const ackResult = await awaitSealAck(sessionId, signalingFor(record.agent_name));
561
- if (ackResult.type === "timeout" || ackResult.type === "seal_interrupted_rejection") {
562
- const reason = ackResult.type === "timeout" ? "seal_counterparty_unavailable" : "seal_rejected_by_counterparty";
563
- logger.error("session.seal.initiate.failed", {
564
- sessionId,
565
- reason,
566
- errorMessage: ackResult.type === "timeout" ? "seal_response_timeout" : ackResult.reason,
567
- correlationId,
568
- });
569
- return {
570
- ok: false,
571
- reason,
572
- guidance: ackResult.type === "timeout"
573
- ? "The counterparty did not acknowledge the seal in time. Retry when they are online — check cello_status. The session remains active and usable."
574
- : "The counterparty rejected the seal request. Their session state may be inconsistent. Ask them to check cello status before retrying.",
575
- };
576
- }
577
- // SI-002 / SI-003: verify the counterparty's own-signed ack leaf over our root.
578
- const verified = verifyCounterpartySealLeaf({
579
- leaf: ackResult.sealInterruptedLeaf,
580
- sentNonce: nonce,
581
- ackNonce: ackResult.nonce,
582
- ownLeafCount: leafCount,
583
- expectedCounterpartyPubkey: record.counterparty_pubkey,
584
- });
585
- if (!verified.ok) {
586
- logger.error("session.seal.initiate.failed", {
587
- sessionId,
588
- reason: `seal_${verified.reason}`,
589
- errorMessage: verified.error,
590
- correlationId,
591
- });
592
- return {
593
- ok: false,
594
- reason: `seal_${verified.reason}`,
595
- guidance: "The counterparty's seal acknowledgement failed verification (nonce, leaf count, or signature). The session remains active — retry cello_close_session once both sides agree on the transcript.",
596
- };
597
- }
598
- // Verified bilateral commitment over the daemon's OWN root. Persist both
599
- // signed leaves and advance the session out of 'active'. As in the
600
- // interrupted flow, we stop at the bilateral commitment ('seal_interrupted_pending');
601
- // the FROST threshold notarization that finalizes 'sealed' is the deferred
602
- // directory step (AC-004, exercised under CELLO_E2E_LIVE).
603
- const advanced = sessionNodeManager.persistSealInterruptedCommitment({
604
- agentName: record.agent_name,
605
- sessionId,
606
- role: "initiator",
607
- ownLeaf,
608
- counterpartyLeaf: ackResult.sealInterruptedLeaf,
609
- merkleRoot: ownRootHex,
610
- nonce,
611
- });
612
- if (!advanced) {
613
- logger.error("session.seal.initiate.failed", {
614
- sessionId,
615
- reason: "seal_persist_failed",
616
- errorMessage: "session row was not in an active/interrupted state at commit time",
617
- correlationId,
618
- });
619
- return {
620
- ok: false,
621
- reason: "seal_persist_failed",
622
- guidance: "The bilateral seal commitment could not be persisted because the session changed state. Re-check cello status — it may already be pending or sealed.",
623
- };
624
- }
625
- // round-2 finding #5: the session is now frozen at 'seal_interrupted_pending'.
626
- // Retire its live libp2p node so no further inbound content can arrive (which
627
- // ingestReceivedContent now also rejects) and so the node is not leaked per
628
- // active close. retireSessionNode stops the node WITHOUT changing the DB status.
629
- await sessionNodeManager.retireSessionNode(record.agent_name, sessionId);
630
- // AC3: the frontiers evidently agree now — drop any recorded mismatch. A flag that outlives
631
- // the condition is the same defect inverted: an operator told a healthy session is stranded
632
- // stops believing the flag, and the next real strand reads as noise.
633
- clearFrontierMismatch(record.agent_name, sessionId);
634
- return { ok: true, sessionId, status: "seal_interrupted_pending", rootHex: ownRootHex };
635
- }
636
- return { awaitSealAck, handleSealInterruptedFlow, handleActiveSealFlow };
637
- }
638
- //# sourceMappingURL=seal-flows.js.map