@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,701 +0,0 @@
1
- /**
2
- * CELLO Daemon — RetryQueue
3
- *
4
- * Per-session FIFO queue of messages awaiting delivery. When a send over a
5
- * session node stream fails, the message envelope is added to the queue. When
6
- * the peer reconnects, the daemon drains the queue in FIFO order.
7
- *
8
- * Persistence: SQLCipher table `retry_queue`.
9
- * Cap: 1,000 messages per session. On overflow the OLDEST is evicted.
10
- *
11
- * FIFO invariant: a drain HALTS on the first failure. M3 must never arrive before M2.
12
- */
13
- import { extractErrorMessage } from "./error-message.js";
14
- /** Per-session cap. On overflow the OLDEST entry is evicted. */
15
- export const RETRY_QUEUE_CAP = 1000;
16
- /**
17
- * Park failures from which the entry can NEVER recover, so keeping it only re-attempts it at every
18
- * boot forever. An ALLOWLIST, and deliberately a short one: everything not named here is kept,
19
- * because the cost of keeping a deliverable row is one WARN per boot while the cost of dropping one
20
- * is a message the sender believes was delivered.
21
- *
22
- * `owning_agent_not_found` qualifies on evidence, not judgement: it means `agentNameForId` found no
23
- * `agents` row for the entry's agent_id, and `remove-agent` is permanent and frees the name. The
24
- * owner cannot come back, so no future boot can park this.
25
- *
26
- * The other four are all recoverable on a later boot and MUST NOT be added:
27
- * no_persisted_relay_endpoint — the endpoint is learned when the session next reconnects
28
- * no_counterparty — the sessions row can still gain one
29
- * standing_receiver_unavailable— the receiver is rebuilt on the next agent start
30
- * signing_key_unavailable — the key provider may simply not be loaded yet
31
- */
32
- const PERMANENT_PARK_FAILURES = new Set(["owning_agent_not_found"]);
33
- export class RetryQueue {
34
- #db;
35
- #logger;
36
- /** Per-session FIFO arrays of DIRECT-resend entries, ordered by position ascending. */
37
- #queues = new Map();
38
- /** Per-session position counter for monotonic increment. */
39
- #positionCounters = new Map();
40
- /** Per-(agent,session) FIFO arrays of awaiting-ACK content (park target). */
41
- #awaiting = new Map();
42
- constructor(db, logger) {
43
- this.#db = db;
44
- this.#logger = logger;
45
- // Create table + index if not exists (inline migration — not Flyway).
46
- // ORDERING CONSTRAINT: migrateSessionTablesToAgentId (run by SessionNodeManager.initialize) MUST
47
- // execute BEFORE this constructor, so the table here either does not exist (fresh DB, created
48
- // below) or already carries agent_id. Do not reorder.
49
- this.#db.exec(`
50
- CREATE TABLE IF NOT EXISTS retry_queue (
51
- id INTEGER PRIMARY KEY AUTOINCREMENT,
52
- session_id TEXT NOT NULL,
53
- agent_id TEXT,
54
- nonce_hex TEXT NOT NULL,
55
- content_blob BLOB NOT NULL,
56
- queued_at INTEGER NOT NULL,
57
- attempts INTEGER NOT NULL DEFAULT 1,
58
- position INTEGER NOT NULL,
59
- awaiting_ack INTEGER NOT NULL DEFAULT 0,
60
- content_hash_hex TEXT,
61
- structure1_cbor BLOB,
62
- structure2_cbor BLOB,
63
- -- 034-CARRYLEAF: the AUTHOR's signature over structure1_cbor, and the leaf DOMAIN. Without
64
- -- both, a message re-parked after a restart cannot be witnessed by its recipient, and the
65
- -- withholding attack stays open on exactly the path a crash creates.
66
- structure1_sig BLOB,
67
- leaf_kind INTEGER,
68
- content_hash_alg TEXT
69
- )
70
- `);
71
- // Idempotent add for databases created before M12-P12. SQLite has no ADD COLUMN IF NOT EXISTS,
72
- // so the duplicate-column error is the expected no-op on an already-migrated DB; any OTHER
73
- // error is a real failure and must not be swallowed.
74
- /**
75
- * 🚨 A COLUMN ADDED HERE NEEDS A SECOND ENTRY, in `agent-id-migration.ts`'s `retry_queue`
76
- * `createSql`. That rebuild copies the INTERSECTION of the old and new column lists, so a column
77
- * this loop adds and that DDL omits is DROPPED on the one boot where a legacy database migrates
78
- * — and then re-added EMPTY by this very loop, which is what makes it silent.
79
- *
80
- * It has happened: `structure1_cbor` and `structure2_cbor` were missing from that DDL from the
81
- * day they were added until `DOD-M15-SEALWIRE-1` part B2b found it.
82
- */
83
- for (const col of [
84
- { name: "structure1_cbor", type: "BLOB" },
85
- { name: "structure2_cbor", type: "BLOB" },
86
- { name: "structure1_sig", type: "BLOB" },
87
- { name: "leaf_kind", type: "INTEGER" },
88
- // DOD-M15-SEALWIRE-1 part B2b: which content-hash algorithm this queued message was hashed
89
- // under. The crash-backstop park producer has no other source for it — the frame is gone by
90
- // the time it runs — and re-parking under the wrong one gets the message refused.
91
- { name: "content_hash_alg", type: "TEXT" },
92
- ]) {
93
- try {
94
- this.#db.exec(`ALTER TABLE retry_queue ADD COLUMN ${col.name} ${col.type}`);
95
- }
96
- catch (err) {
97
- const msg = extractErrorMessage(err);
98
- if (!/duplicate column name/i.test(msg))
99
- throw err;
100
- }
101
- }
102
- this.#db.exec(`
103
- CREATE INDEX IF NOT EXISTS retry_queue_by_session_position
104
- ON retry_queue(session_id, position ASC)
105
- `);
106
- // Uniqueness MUST include the agent. For an awaiting row nonce_hex IS the content hash, so
107
- // without the agent in the key two local agents parking identical content in one session collide.
108
- //
109
- // It is expressed over COALESCE(agent_id, '') rather than as a bare UNIQUE(agent_id, ...) because
110
- // SQLite treats NULLs as DISTINCT in a UNIQUE constraint, which would silently REMOVE the
111
- // (session_id, nonce_hex) dedup that agent-less direct-retry rows (agent_id NULL) rely on.
112
- // COALESCE folds every agent-less row into one bucket while giving each agent its own.
113
- this.#db.exec(`
114
- CREATE UNIQUE INDEX IF NOT EXISTS retry_queue_agent_session_nonce
115
- ON retry_queue(COALESCE(agent_id, ''), session_id, nonce_hex)
116
- `);
117
- }
118
- /** Composite key for the awaiting-ACK map — (agentId, sessionId). */
119
- #ak(agentId, sessionId) {
120
- return `${agentId}\x1f${sessionId}`;
121
- }
122
- /**
123
- * Load all retry queue entries from SQLCipher into memory.
124
- * Must complete BEFORE the IPC socket opens.
125
- */
126
- loadFromDb() {
127
- const rows = this.#db
128
- .prepare("SELECT session_id, agent_id, nonce_hex, content_blob, queued_at, attempts, position, awaiting_ack, content_hash_hex, structure1_cbor, structure2_cbor, structure1_sig, leaf_kind, content_hash_alg FROM retry_queue ORDER BY session_id, position ASC")
129
- .all();
130
- this.#queues.clear();
131
- this.#positionCounters.clear();
132
- this.#awaiting.clear();
133
- for (const row of rows) {
134
- if (row.awaiting_ack === 1) {
135
- // Un-acked content to re-park at startup, keyed by the OWNING agent. An awaiting row ALWAYS
136
- // carries an agent_id (enqueueAwaitingContent requires one); an agent-less row here is a
137
- // corrupt row, not a single-agent default, so it is reported and skipped rather than silently
138
- // re-parked under an empty-string agent — which would merge two agents' content into one queue.
139
- if (row.agent_id === null) {
140
- this.#logger.error("message.retry.awaiting.orphaned", {
141
- sessionId: row.session_id,
142
- nonce: row.content_hash_hex ?? row.nonce_hex,
143
- impact: "awaiting-ACK row has no owning agent_id; not re-parked",
144
- });
145
- continue;
146
- }
147
- const entry = {
148
- agentId: row.agent_id,
149
- sessionId: row.session_id,
150
- contentHashHex: row.content_hash_hex ?? row.nonce_hex,
151
- contentBlob: this.#openBlob(Uint8Array.from(row.content_blob)),
152
- // M12-P12 (F2): the ordering record is NOT sealed — it is the relay's own signed record,
153
- // already public to the relay, and it must be readable to re-seal the park envelope.
154
- contentHashAlg: row.content_hash_alg ?? undefined,
155
- structure1Cbor: row.structure1_cbor ? Uint8Array.from(row.structure1_cbor) : undefined,
156
- structure2Cbor: row.structure2_cbor ? Uint8Array.from(row.structure2_cbor) : undefined,
157
- structure1Signature: row.structure1_sig ? Uint8Array.from(row.structure1_sig) : undefined,
158
- leafKind: row.leaf_kind ?? undefined,
159
- queuedAt: row.queued_at,
160
- position: row.position,
161
- };
162
- const ak = this.#ak(row.agent_id, entry.sessionId);
163
- // The awaiting position counter MUST be keyed by (agentId, sessionId) — the same key
164
- // enqueueAwaitingContent uses. Bumping it under the bare session_id here restarts every
165
- // awaiting position at 1 after a reload, colliding with the rows just loaded.
166
- const awaitingMax = this.#positionCounters.get(ak) ?? 0;
167
- if (row.position > awaitingMax)
168
- this.#positionCounters.set(ak, row.position);
169
- let q = this.#awaiting.get(ak);
170
- if (!q) {
171
- q = [];
172
- this.#awaiting.set(ak, q);
173
- }
174
- q.push(entry);
175
- continue;
176
- }
177
- // Direct-retry entries are session-scoped (no owning agent), so their counter is too.
178
- const currentMax = this.#positionCounters.get(row.session_id) ?? 0;
179
- if (row.position > currentMax)
180
- this.#positionCounters.set(row.session_id, row.position);
181
- const entry = {
182
- sessionId: row.session_id,
183
- nonceHex: row.nonce_hex,
184
- contentBlob: this.#openBlob(Uint8Array.from(row.content_blob)),
185
- queuedAt: row.queued_at,
186
- attempts: row.attempts,
187
- position: row.position,
188
- };
189
- let sessionQueue = this.#queues.get(entry.sessionId);
190
- if (!sessionQueue) {
191
- sessionQueue = [];
192
- this.#queues.set(entry.sessionId, sessionQueue);
193
- }
194
- sessionQueue.push(entry);
195
- }
196
- }
197
- /**
198
- * Enqueue a failed message for later retry.
199
- * Evicts the oldest entry if cap is reached.
200
- */
201
- /**
202
- * The content blob is stored as plaintext bytes — the whole DB is SQLCipher-encrypted at rest, so
203
- * there is no per-column cipher. These pass-throughs keep the call sites stable.
204
- */
205
- #sealBlob(b) {
206
- return b;
207
- }
208
- #openBlob(b) {
209
- return b;
210
- }
211
- enqueue(sessionId, nonce, contentBlob) {
212
- const nonceHex = Buffer.from(nonce).toString("hex");
213
- let sessionQueue = this.#queues.get(sessionId);
214
- if (!sessionQueue) {
215
- sessionQueue = [];
216
- this.#queues.set(sessionId, sessionQueue);
217
- }
218
- // Cap enforcement: evict oldest if at limit
219
- if (sessionQueue.length >= RETRY_QUEUE_CAP) {
220
- const oldest = sessionQueue[0];
221
- // Delete from DB
222
- try {
223
- this.#db
224
- .prepare("DELETE FROM retry_queue WHERE session_id = ? AND position = ?")
225
- .run(sessionId, oldest.position);
226
- }
227
- catch (err) {
228
- this.#logger.error("message.retry.persist.failed", {
229
- sessionId,
230
- nonce: oldest.nonceHex,
231
- error: extractErrorMessage(err),
232
- });
233
- }
234
- // Log eviction BEFORE the new entry is logged.
235
- this.#logger.warn("message.retry.evicted", {
236
- sessionId,
237
- nonce: oldest.nonceHex,
238
- queueDepth: RETRY_QUEUE_CAP,
239
- });
240
- // Remove from in-memory
241
- sessionQueue.shift();
242
- }
243
- // Compute next position
244
- const currentMax = this.#positionCounters.get(sessionId) ?? 0;
245
- const nextPosition = currentMax + 1;
246
- this.#positionCounters.set(sessionId, nextPosition);
247
- const queuedAt = Date.now();
248
- const entry = {
249
- sessionId,
250
- nonceHex,
251
- contentBlob,
252
- queuedAt,
253
- attempts: 1,
254
- position: nextPosition,
255
- };
256
- // Persist to SQLCipher
257
- try {
258
- this.#db
259
- .prepare(`INSERT INTO retry_queue (session_id, nonce_hex, content_blob, queued_at, attempts, position)
260
- VALUES (?, ?, ?, ?, ?, ?)`)
261
- .run(sessionId, nonceHex, Buffer.from(this.#sealBlob(contentBlob)), queuedAt, 1, nextPosition);
262
- }
263
- catch (err) {
264
- this.#logger.error("message.retry.persist.failed", {
265
- sessionId,
266
- nonce: nonceHex,
267
- error: extractErrorMessage(err),
268
- });
269
- // Message stays in memory only — it is not durable across a restart.
270
- }
271
- sessionQueue.push(entry);
272
- this.#logger.info("message.retry.queued", {
273
- sessionId,
274
- nonce: nonceHex,
275
- queueDepth: sessionQueue.length,
276
- });
277
- }
278
- /**
279
- * Drain the session's retry queue in FIFO order.
280
- * Halts immediately on first failure (FIFO invariant: no out-of-order delivery).
281
- * Returns the number of successfully delivered messages.
282
- */
283
- async drainSession(sessionId, sendFn) {
284
- const sessionQueue = this.#queues.get(sessionId);
285
- if (!sessionQueue || sessionQueue.length === 0) {
286
- return 0;
287
- }
288
- let delivered = 0;
289
- // Drain in FIFO order (array is already sorted by position ascending)
290
- while (sessionQueue.length > 0) {
291
- const entry = sessionQueue[0];
292
- const result = await sendFn(entry.contentBlob);
293
- if (!result.delivered) {
294
- // Increment attempts on failure so attemptsTotal reflects actual tries
295
- entry.attempts++;
296
- try {
297
- this.#db
298
- .prepare("UPDATE retry_queue SET attempts = ? WHERE session_id = ? AND nonce_hex = ?")
299
- .run(entry.attempts, sessionId, entry.nonceHex);
300
- }
301
- catch (err) {
302
- this.#logger.error("message.retry.persist.failed", {
303
- sessionId,
304
- nonce: entry.nonceHex,
305
- error: extractErrorMessage(err),
306
- });
307
- }
308
- // Halt immediately — FIFO invariant: no out-of-order delivery.
309
- break;
310
- }
311
- // Success: delete from DB
312
- try {
313
- this.#db
314
- .prepare("DELETE FROM retry_queue WHERE session_id = ? AND nonce_hex = ?")
315
- .run(sessionId, entry.nonceHex);
316
- }
317
- catch (err) {
318
- this.#logger.error("message.retry.persist.failed", {
319
- sessionId,
320
- nonce: entry.nonceHex,
321
- error: extractErrorMessage(err),
322
- });
323
- }
324
- // Remove from memory
325
- sessionQueue.shift();
326
- // Increment attempts for logging
327
- const attemptsTotal = entry.attempts + 1;
328
- this.#logger.info("message.retry.delivered", {
329
- sessionId,
330
- nonce: entry.nonceHex,
331
- attemptsTotal,
332
- });
333
- delivered++;
334
- }
335
- // Clean up empty queue entry
336
- if (sessionQueue.length === 0) {
337
- this.#queues.delete(sessionId);
338
- }
339
- return delivered;
340
- }
341
- /**
342
- * Remove the DIRECT-resend entries (awaiting_ack = 0) of a session that can never drain again.
343
- *
344
- * Removal is authorised by ONE thing: the session reached a status from which no resend can
345
- * succeed. Never by age — "old" is not "undeliverable", and an age sweep discards live content
346
- * on a slow link (the DOD-SESSION-REAP-1 rule).
347
- *
348
- * Awaiting-ACK rows are deliberately left alone. They drain through `drainAwaitingToPark`, which
349
- * the startup flush really calls, so they are not stranded; their terminal disposition is a
350
- * separate concern. Deleting them here would discard content that path still owes delivery on.
351
- *
352
- * @returns how many entries were removed — 0 is the normal case and is silent.
353
- */
354
- reapTerminalSession(sessionId, terminalStatus) {
355
- // The in-memory queue is NOT the authority, and must not be the source for either half of this.
356
- // A row written by an earlier daemon exists only in the DB until loadFromDb runs — the live
357
- // strand was exactly that shape — so the rows to announce are read from the DB, and the same
358
- // set is then deleted. Announcing from memory while deleting from disk would silently discard
359
- // any row the map does not happen to hold, which is the precise failure AC3 names as the worse
360
- // one.
361
- let doomed;
362
- try {
363
- doomed = this.#db
364
- .prepare("SELECT nonce_hex FROM retry_queue WHERE session_id = ? AND awaiting_ack = 0")
365
- .all(sessionId);
366
- }
367
- catch (err) {
368
- this.#logger.error("message.retry.persist.failed", {
369
- sessionId,
370
- operation: "terminal_reap_select",
371
- error: extractErrorMessage(err),
372
- impact: "could not read the rows to reap; nothing was deleted and retryQueueDepth stays pinned",
373
- });
374
- return 0;
375
- }
376
- if (doomed.length === 0) {
377
- // Still drop any memory-only residue so depth cannot disagree with the DB, then stay silent:
378
- // the overwhelming majority of terminal sessions have nothing queued, and an event on every
379
- // one of them buries the occurrence that means content was actually lost.
380
- this.#queues.delete(sessionId);
381
- this.#positionCounters.delete(sessionId);
382
- return 0;
383
- }
384
- let removed;
385
- try {
386
- const result = this.#db
387
- .prepare("DELETE FROM retry_queue WHERE session_id = ? AND awaiting_ack = 0")
388
- .run(sessionId);
389
- // Both drivers in use (node:sqlite in tests, SQLCipher in production) report `changes`. Its
390
- // absence is a driver contract violation, not a case to paper over with a memory count — the
391
- // whole point of this method is that memory is not authoritative.
392
- if (result?.changes === undefined) {
393
- this.#logger.error("message.retry.persist.failed", {
394
- sessionId,
395
- operation: "terminal_reap_delete",
396
- error: "driver returned no `changes` from DELETE",
397
- impact: "rows may or may not have been removed; the reported count cannot be trusted",
398
- });
399
- }
400
- removed = Number(result?.changes ?? doomed.length);
401
- }
402
- catch (err) {
403
- // A failed DELETE must not leave memory claiming the rows are gone — the next loadFromDb
404
- // would resurrect them and the depth would silently disagree with the DB.
405
- this.#logger.error("message.retry.persist.failed", {
406
- sessionId,
407
- operation: "terminal_reap_delete",
408
- error: extractErrorMessage(err),
409
- impact: "terminal-session reap did not remove the rows; retryQueueDepth stays pinned",
410
- });
411
- return 0;
412
- }
413
- // Each dropped entry is content the sender believes it sent. Say so per entry, with the nonce,
414
- // so the loss is nameable rather than a bare count.
415
- for (const row of doomed) {
416
- this.#logger.warn("session.retryqueue.content.dropped", {
417
- sessionId,
418
- nonce: row.nonce_hex,
419
- reason: terminalStatus,
420
- impact: "queued content was never delivered and is now discarded — the session can no longer drain",
421
- });
422
- }
423
- this.#queues.delete(sessionId);
424
- this.#positionCounters.delete(sessionId);
425
- this.#logger.info("session.retryqueue.reaped", {
426
- sessionId,
427
- entryCount: removed,
428
- reason: terminalStatus,
429
- });
430
- return removed;
431
- }
432
- /**
433
- * DOD-RETRYQ-STRAND-1: reconcile at startup. The terminal-transition hook only covers sessions
434
- * that go terminal while THIS daemon is running. A session that was already sealed/abandoned
435
- * before boot never transitions again — `cello_close_session` returns `already_abandoned`
436
- * without reaching `abandonSession` — so its rows would strand forever with no path that could
437
- * ever clear them. That is the shape of the row found on the live daemon.
438
- *
439
- * Still evidence-gated: the session's terminal status is the evidence, read from the DB. Nothing
440
- * here consults age.
441
- *
442
- * @returns total entries reaped across all already-terminal sessions.
443
- */
444
- reapAlreadyTerminalSessions() {
445
- let rows;
446
- try {
447
- rows = this.#db
448
- .prepare(`SELECT DISTINCT rq.session_id AS session_id, s.status AS status
449
- FROM retry_queue rq
450
- JOIN sessions s ON s.session_id = rq.session_id
451
- WHERE rq.awaiting_ack = 0
452
- AND s.status IN ('sealed', 'abandoned')`)
453
- .all();
454
- }
455
- catch (err) {
456
- this.#logger.error("message.retry.persist.failed", {
457
- operation: "startup_terminal_reconcile",
458
- error: extractErrorMessage(err),
459
- impact: "already-terminal sessions were not reconciled; retryQueueDepth may stay pinned",
460
- });
461
- return 0;
462
- }
463
- let total = 0;
464
- for (const row of rows) {
465
- total += this.reapTerminalSession(row.session_id, row.status === "sealed" ? "sealed" : "abandoned");
466
- }
467
- if (total > 0) {
468
- this.#logger.info("session.retryqueue.startup.reconciled", {
469
- sessionCount: rows.length,
470
- entryCount: total,
471
- });
472
- }
473
- return total;
474
- }
475
- /** Total retry queue depth across all sessions. */
476
- getTotalDepth() {
477
- let total = 0;
478
- for (const queue of this.#queues.values()) {
479
- total += queue.length;
480
- }
481
- return total;
482
- }
483
- /** Retry queue depth for a specific session. */
484
- getSessionDepth(sessionId) {
485
- return this.#queues.get(sessionId)?.length ?? 0;
486
- }
487
- /** Get all entries for a session (FIFO ordered, defensive copy). Used by drain_session IPC. */
488
- getSessionEntries(sessionId) {
489
- const queue = this.#queues.get(sessionId);
490
- return queue ? [...queue] : [];
491
- }
492
- // ─── Awaiting-ACK content (park target) ──
493
- /**
494
- * Record un-acked content awaiting a `persisted` delivery ACK. Persisted to the SAME
495
- * retry_queue table (awaiting_ack = 1) so a crash before the relay park confirms is
496
- * recoverable at startup. Idempotent on (agentId, sessionId, contentHash).
497
- */
498
- /**
499
- * Returns TRUE only when this copy is actually queued. M12-P13 (review HIGH-1): the dedupe branch
500
- * below DROPS the content, and the caller now commits a hash-chain leaf on the strength of this
501
- * answer — so "I dropped it" must be reportable, not merely logged. A void return made the drop
502
- * indistinguishable from a successful enqueue at the call site, which is how a leaf could be
503
- * committed for content that no longer existed anywhere.
504
- */
505
- /**
506
- * `contentHashAlg` — `DOD-M15-SEALWIRE-1` part B2b. WHICH algorithm `contentHash` was produced
507
- * under, carried because the crash-backstop park producer has NO OTHER SOURCE for it: it runs at
508
- * the next boot, long after the frame is gone, and re-parking under the wrong algorithm gets the
509
- * message refused by the recipient and re-pulled forever.
510
- *
511
- * Optional and stored as NULL when absent, never defaulted to the literal `"sha256"` — absent is
512
- * what `resolveContentHashAlg` reads as "predates the field", and that distinction is the one B1
513
- * and B2a each had to restore after it was collapsed.
514
- */
515
- enqueueAwaitingContent(agentId, sessionId, contentHash, contentBlob, structure1Cbor, structure2Cbor, contentHashAlg, structure1Signature, leafKind) {
516
- if (!agentId)
517
- throw new Error("enqueueAwaitingContent: an owning agentId is required");
518
- const contentHashHex = Buffer.from(contentHash).toString("hex");
519
- const ak = this.#ak(agentId, sessionId);
520
- let q = this.#awaiting.get(ak);
521
- if (!q) {
522
- q = [];
523
- this.#awaiting.set(ak, q);
524
- }
525
- if (q.some((e) => e.contentHashHex === contentHashHex)) {
526
- // M12-P12 (review F7): the key is SHA-256(0x00 ‖ content) — content-derived, with no sequence
527
- // and no nonce. Two identical messages in one session ("ok" at seq 3 and seq 7) collide, and
528
- // the second is DROPPED here. Silently, until now: the drop looked like a successful enqueue
529
- // and reproduced the very symptom this class of fix exists to remove. Logged so it is at
530
- // least visible; keying on (sessionId, canonicalSeq, contentHash) is the real fix.
531
- this.#logger.warn("message.retry.enqueue.deduped", {
532
- agentId, sessionId, contentHash: contentHashHex,
533
- impact: "identical content already queued for this session — this copy is NOT separately queued",
534
- });
535
- return false;
536
- }
537
- const currentMax = this.#positionCounters.get(ak) ?? 0;
538
- const position = currentMax + 1;
539
- const queuedAt = Date.now();
540
- // FAILS LOUD: a failed persist of awaiting content is DATA LOSS and MUST throw. Do not "recover"
541
- // by pushing to memory anyway — the content would vanish at the next restart while the caller was
542
- // told it was parked. Nothing is added to memory, the position counter is not advanced, and the
543
- // caller learns its content is not durable. Reaching this branch means a real DB failure (disk
544
- // full, corruption, SQLITE_LOCKED); the agent-scoped unique index rules out a benign collision.
545
- try {
546
- this.#db
547
- .prepare(`INSERT INTO retry_queue (session_id, agent_id, nonce_hex, content_blob, queued_at, attempts, position, awaiting_ack, content_hash_hex, structure1_cbor, structure2_cbor, structure1_sig, leaf_kind, content_hash_alg)
548
- VALUES (?, ?, ?, ?, ?, ?, ?, 1, ?, ?, ?, ?, ?, ?)`)
549
- .run(sessionId, agentId, contentHashHex, Buffer.from(this.#sealBlob(contentBlob)), queuedAt, 1, position, contentHashHex, structure1Cbor ? Buffer.from(structure1Cbor) : null, structure2Cbor ? Buffer.from(structure2Cbor) : null, structure1Signature ? Buffer.from(structure1Signature) : null, leafKind ?? null, contentHashAlg ?? null);
550
- }
551
- catch (err) {
552
- const reason = extractErrorMessage(err);
553
- this.#logger.error("message.retry.persist.failed", {
554
- agentId,
555
- sessionId,
556
- nonce: contentHashHex,
557
- error: reason,
558
- impact: "awaiting-ACK content NOT durable — it will be lost if the daemon restarts",
559
- });
560
- throw new Error(`awaiting_content_persist_failed: ${reason}`);
561
- }
562
- this.#positionCounters.set(ak, position);
563
- q.push({ agentId, sessionId, contentHashHex, contentBlob, structure1Cbor, structure2Cbor, contentHashAlg, queuedAt, position });
564
- return true;
565
- }
566
- /** Remove an awaiting-ACK entry once its `persisted` ACK arrives. */
567
- markContentAcked(agentId, sessionId, contentHash) {
568
- const contentHashHex = Buffer.from(contentHash).toString("hex");
569
- const ak = this.#ak(agentId, sessionId);
570
- const q = this.#awaiting.get(ak);
571
- if (q) {
572
- const idx = q.findIndex((e) => e.contentHashHex === contentHashHex);
573
- if (idx !== -1)
574
- q.splice(idx, 1);
575
- if (q.length === 0)
576
- this.#awaiting.delete(ak);
577
- }
578
- try {
579
- this.#db
580
- .prepare("DELETE FROM retry_queue WHERE agent_id = ? AND session_id = ? AND content_hash_hex = ? AND awaiting_ack = 1")
581
- .run(agentId, sessionId, contentHashHex);
582
- }
583
- catch (err) {
584
- this.#logger.error("message.retry.persist.failed", {
585
- sessionId, nonce: contentHashHex, error: extractErrorMessage(err),
586
- });
587
- }
588
- }
589
- /** Awaiting-ACK depth for a session (un-acked content count). */
590
- getAwaitingDepth(agentId, sessionId) {
591
- return this.#awaiting.get(this.#ak(agentId, sessionId))?.length ?? 0;
592
- }
593
- /** All (agent, session) pairs that currently hold awaiting-ACK content (for the startup flush). */
594
- getAwaitingSessions() {
595
- const out = [];
596
- for (const q of this.#awaiting.values()) {
597
- if (q.length > 0)
598
- out.push({ agentId: q[0].agentId, sessionId: q[0].sessionId });
599
- }
600
- return out;
601
- }
602
- /**
603
- * Drain a session's awaiting-ACK content to the relay park target. Each item is
604
- * independent — unlike the direct FIFO resend, a park failure does NOT halt the rest;
605
- * the failed item stays queued for the next reconnect / startup flush. Returns the
606
- * number of entries successfully parked.
607
- */
608
- async drainAwaitingToPark(agentId, sessionId, parkFn,
609
- /**
610
- * DOD-M15-RELAYABUSE-1 review HIGH-2: called ONCE per pass with the largest retry delay any
611
- * refusal in that pass reported, or never if none did.
612
- *
613
- * ⚠️ Per PASS, not per item, and that is the whole point. A backlog larger than one rate-limit
614
- * window produces a refusal per remaining item, each carrying its own delay; scheduling on each
615
- * would be one timer per message — the flood the limiter exists to prevent, generated by the
616
- * code that respects it. The largest delay is the one that is actually true for the window.
617
- */
618
- onRetryAfter) {
619
- const ak = this.#ak(agentId, sessionId);
620
- const q = this.#awaiting.get(ak);
621
- if (!q || q.length === 0)
622
- return 0;
623
- let parked = 0;
624
- let maxRetryAfterMs = 0;
625
- for (const entry of [...q]) {
626
- let result;
627
- try {
628
- result = await parkFn(entry);
629
- }
630
- catch (err) {
631
- result = { parked: false, error: extractErrorMessage(err) };
632
- }
633
- if (!result.parked) {
634
- if (result.retryAfterMs !== undefined && result.retryAfterMs > 0) {
635
- maxRetryAfterMs = Math.max(maxRetryAfterMs, result.retryAfterMs);
636
- }
637
- // `result.error` MUST be logged. Every failure branch of the park target
638
- // (owning_agent_not_found, no_persisted_relay_endpoint, no_counterparty,
639
- // standing_receiver_unavailable, signing_key_unavailable) is otherwise invisible — the only
640
- // trace would be `parkedCount: 0`, a number with no reason. The entry is still KEPT for the
641
- // next flush.
642
- if (PERMANENT_PARK_FAILURES.has(result.error)) {
643
- // Nothing a later boot can change, so keeping it just re-attempts it forever. ERROR, not
644
- // WARN: this is the terminal loss of content the sender believes it delivered, and it is
645
- // the one occurrence in this path that an operator must actually see.
646
- this.#logger.error("content.park.abandoned", {
647
- agentId,
648
- sessionId,
649
- contentHash: entry.contentHashHex,
650
- error: result.error,
651
- impact: "the owning agent no longer exists, so this content can never be parked or delivered; it is discarded rather than retried at every boot",
652
- });
653
- const gone = q.indexOf(entry);
654
- if (gone !== -1)
655
- q.splice(gone, 1);
656
- try {
657
- this.#db
658
- .prepare("DELETE FROM retry_queue WHERE agent_id = ? AND session_id = ? AND content_hash_hex = ? AND awaiting_ack = 1")
659
- .run(agentId, sessionId, entry.contentHashHex);
660
- }
661
- catch (err) {
662
- this.#logger.error("message.retry.persist.failed", {
663
- agentId, sessionId, nonce: entry.contentHashHex, operation: "park_abandon_delete",
664
- error: extractErrorMessage(err),
665
- impact: "the unparkable row was not removed and will be re-attempted at every boot",
666
- });
667
- }
668
- continue;
669
- }
670
- this.#logger.warn("content.park.failed", {
671
- agentId,
672
- sessionId,
673
- contentHash: entry.contentHashHex,
674
- error: result.error,
675
- });
676
- continue; // keep for next reconnect / startup flush
677
- }
678
- const idx = q.indexOf(entry);
679
- if (idx !== -1)
680
- q.splice(idx, 1);
681
- try {
682
- this.#db
683
- .prepare("DELETE FROM retry_queue WHERE agent_id = ? AND session_id = ? AND content_hash_hex = ? AND awaiting_ack = 1")
684
- .run(agentId, sessionId, entry.contentHashHex);
685
- }
686
- catch (err) {
687
- this.#logger.error("message.retry.persist.failed", {
688
- sessionId, nonce: entry.contentHashHex, error: extractErrorMessage(err),
689
- });
690
- }
691
- parked += 1;
692
- }
693
- if (q.length === 0)
694
- this.#awaiting.delete(ak);
695
- // ONCE per pass — see the parameter's note on why this is not per item.
696
- if (maxRetryAfterMs > 0)
697
- onRetryAfter?.(maxRetryAfterMs);
698
- return parked;
699
- }
700
- }
701
- //# sourceMappingURL=retry-queue.js.map