@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,528 +0,0 @@
1
- /**
2
- * Phase 4 of boot: parked content, and every path that gets it moving again.
3
- *
4
- * The retry queue and its durable rows, the park retry timers, the startup park sweep, and the flush
5
- * that drains what was waiting once an agent's link comes back. One topic: content that could not be
6
- * delivered when it was written, and the several distinct ways it stops being stuck.
7
- *
8
- * Nine dependencies, under the order's bound — counted after the extraction, not before: an earlier
9
- * draft carried a seal-failure store and a `stop` getter the moved code never calls.
10
- *
11
- * ⚠️ AN EARLIER VERSION OF THIS HEADER CLAIMED TWO OF THEM HAD TO BE GETTERS "because the
12
- * outbound-session module is constructed BELOW this phase". It is constructed 27 lines ABOVE it.
13
- * Both are plain values now. The wrong version is recorded rather than deleted because of what it
14
- * would have taught the next phase: "getter by default", when the rule that catches the real defect
15
- * is narrower — check whether the value is ASSIGNED BELOW the call site, and a `let` that is, is the
16
- * only shape that fails silently.
17
- */
18
- import { randomUUID } from "node:crypto";
19
- import { RetryQueue } from "./retry-queue.js";
20
- import { ContentParkClient } from "./content-park-client.js";
21
- import { AgentRelayClient } from "./session-relay-client.js";
22
- import { sealParkEnvelope } from "./park-envelope.js";
23
- import { extractErrorMessage } from "./error-message.js";
24
- export function startBootParkedContent(deps) {
25
- const { config, logger, sessionNodeManager, agents, keyProviders, resolveConsortiumRoster, waitForSignalingConnected, openVisitingConnection, crossNodeBrokerBySession, } = deps;
26
- // Both use the same SQLite DB as the SessionNodeManager (daemon.db equivalent).
27
- // loadFromDb() must complete BEFORE IPC socket opens (AC-007).
28
- const retryQueue = new RetryQueue(sessionNodeManager.getDb(), logger);
29
- retryQueue.loadFromDb();
30
- // DOD-RETRYQ-STRAND-1: the terminal-transition hook below only fires for sessions that go
31
- // terminal while this daemon runs. A session already sealed/abandoned before boot never
32
- // transitions again — close-session returns `already_abandoned` without reaching abandonSession —
33
- // so without this its rows are unreachable by every removal path and retryQueueDepth stays pinned
34
- // forever. That is exactly the row found on the live daemon, 25.6h old. Runs after loadFromDb so
35
- // the in-memory queues are dropped in step with the rows, and before the IPC socket opens so no
36
- // client ever observes the stale depth.
37
- retryQueue.reapAlreadyTerminalSessions();
38
- // CELLO-M7-MSG-001 (AC-001/AC-003/AC-019): wire the awaiting-ACK lifecycle's durable
39
- // side effects to the retry_queue. A `persisted` delivery ACK clears the durable
40
- // entry; a TTF expiry records the un-acked content for the crash backstop (the relay
41
- // park deposit itself is added in 3b). Both side effects are best-effort and never
42
- // throw into the content stream handler.
43
- // DOD-AGENT-ID-JOINKEY-1: RetryQueue owns an agent-scoped table, so it is handed the STABLE
44
- // agent_id. The daemon resolves the operator-facing name ONCE, here at its own boundary.
45
- // M12-P15: let a session with NO in-memory node still reach its relay to seal. The manager
46
- // deliberately holds no K_local, so the client is built here where the keys live. This is what
47
- // makes the detached path work after a RESTART — the exact situation that marked the session
48
- // interrupted and then left it unsealable, with force-abandon (no receipt) as the only exit.
49
- sessionNodeManager.setDetachedRelayClientBuilder((agentName, relayPeerId, relayAddrs, stores) => {
50
- const kp = keyProviders.get(agentName);
51
- const agent = agents.find((a) => a.name === agentName);
52
- if (!kp || !agent?.pubkey)
53
- return undefined;
54
- return new AgentRelayClient({
55
- relayPeerId,
56
- relayAddrs,
57
- keyProvider: kp,
58
- senderPubkey: Buffer.from(agent.pubkey, "hex"),
59
- logger,
60
- // Review HIGH-1: a client that can submit but cannot RECORD drops the durable evidence the
61
- // seal depends on — silently, while reporting success.
62
- receiptStore: stores.receiptStore,
63
- sealLeafStore: stores.sealLeafStore,
64
- // `DOD-M15-SELFCHAIN-1` — without this the client cannot chain a message to this agent's own
65
- // previous one, and says so rather than signing an unlinked claim.
66
- ownChainStore: stores.ownChainStore,
67
- // DOD-M15-RELAYSLOTS-1: the manager owns the current token and hands the accessor down, so
68
- // this client reads a fresh one at every auth instead of a snapshot taken here at build time.
69
- onlineToken: stores.onlineToken,
70
- // DOD-M15-CORROBORATE-1: the DETACHED client needs this as much as the live one — a session
71
- // being sealed after a restart is exactly when its operator is not watching.
72
- onWitnessAlert: (alert) => { sessionNodeManager.recordRelayWitnessAlert(agentName, alert); },
73
- onWitnessUnreadable: (peerId, why) => { sessionNodeManager.recordRelayWitnessUnreadable(agentName, peerId, why); },
74
- });
75
- });
76
- // DOD-RETRYQ-STRAND-1: a direct-resend row is reachable only by drainSession, which has no
77
- // production caller — so once its session can never drain again the row is unreachable by every
78
- // removal path that exists, and pins retryQueueDepth forever. Found live: one row stranded 25.6h,
79
- // after which the metric could no longer tell a real delivery backlog from a corpse.
80
- sessionNodeManager.setSessionTerminalHook((sessionId, terminalStatus) => {
81
- retryQueue.reapTerminalSession(sessionId, terminalStatus);
82
- });
83
- /**
84
- * DOD-M12B-SESSION-SEED-1 — the retry drain is DELIBERATELY NOT WIRED. Review HIGH-1.
85
- *
86
- * It was wired, and it was worse than the problem it solved. `retryQueue.enqueue` runs only on the
87
- * `!sendResult.durable` branch — content that got NO local leaf and NO transcript row, because as
88
- * that branch's own comment says, *"A LOST message gets no leaf — that would commit a sequence no
89
- * content will ever fill."*
90
- *
91
- * The hook re-sent those rows with `sendContent`, which is wire-and-witness only: it consumes a
92
- * canonical relay sequence and returns one, and the hook discarded it without calling
93
- * `placeOwnLeaf` or writing the transcript. So the counterparty would silently receive the message
94
- * while OUR tree kept a permanent hole at that sequence. Every later message would be held behind
95
- * the gap with guidance blaming the counterparty for a message they already sent, the two roots
96
- * would have parted, and the session could never seal.
97
- *
98
- * A stranded queue row is recoverable. A parted hash chain is not. So this stays unwired until the
99
- * drain routes through the same commit path `cello_send` uses (place the leaf at the returned
100
- * sequence, write the transcript, keep the row on failure) rather than calling `sendContent` raw.
101
- *
102
- * The operator-facing consequence of leaving it unwired is unchanged from before this milestone:
103
- * a message that fails this way is reported lost and must be re-sent by hand. That is honest, and
104
- * it is what the guidance already says.
105
- */
106
- sessionNodeManager.setAwaitingAckHooks({
107
- onPersisted: (agentName, sessionId, contentHashHex) => {
108
- retryQueue.markContentAcked(sessionNodeManager.resolveAgentId(agentName), sessionId, Buffer.from(contentHashHex, "hex"));
109
- },
110
- // `DOD-M15-SEALWIRE-1` B2b-1 review F1 — `contentHashAlg` is the DURABLE WRITER for the column
111
- // this unit added. Without it every queued row carries NULL, the crash backstop re-parks a salted
112
- // message as sha256, and the recipient refuses it and re-pulls it forever. The commit that added
113
- // the column said the producer "passes it"; the producer was passing a value nothing supplied,
114
- // because these two hooks were never widened.
115
- onTtf: (agentName, sessionId, contentHashHex, content, structure1Cbor, structure2Cbor, contentHashAlg, structure1Signature, leafKind) => {
116
- retryQueue.enqueueAwaitingContent(sessionNodeManager.resolveAgentId(agentName), sessionId, Buffer.from(contentHashHex, "hex"), content, structure1Cbor, structure2Cbor, contentHashAlg, structure1Signature, leafKind);
117
- },
118
- // M12-P12: same durable destination, different cause — a park deposit the relay refused. The
119
- // TTF timer is already cancelled on this path, so this is the only thing holding the content.
120
- // M12-P13 (review HIGH-1): the enqueue's own answer is returned, never a bare `true`. A dropped
121
- // copy that reports success now buys a committed hash-chain leaf for content that is gone.
122
- onParkFailed: (agentName, sessionId, contentHashHex, content, structure1Cbor, structure2Cbor, contentHashAlg, structure1Signature, leafKind) => {
123
- return retryQueue.enqueueAwaitingContent(sessionNodeManager.resolveAgentId(agentName), sessionId, Buffer.from(contentHashHex, "hex"), content, structure1Cbor, structure2Cbor, contentHashAlg, structure1Signature, leafKind);
124
- },
125
- });
126
- // MSG-001-3b (2b): the LIVE content-park deposit. On a not-confirmed send (direct delivery
127
- // failed, or TTF with no `persisted` ACK) the session manager calls this with the recipient +
128
- // the session's relay endpoint; we seal the content to the recipient (E2E — the relay never sees
129
- // plaintext, INV-3) and deposit it to that relay's store-and-forward mailbox via the standing
130
- // receiver node. The recipient pulls + recovers it at the witnessed sequence (R1) on next online.
131
- // Fix #1 EXTENSION (cross-node seal-liveness) — the AUTO-ACKNOWLEDGE half.
132
- //
133
- // close-session-handler already re-opens a transient visiting connection to the broker for its
134
- // own path. The auto-ack path had no such guard, and it is the one that fires FIRST whenever the
135
- // counterparty closes first: it submits a seal leaf, the directory answers within ~60ms by pushing
136
- // `seal_verified` to the INITIATOR, finds no stream (the initiator released its visiting
137
- // connection after setup), ENQUEUES the frame, and then blocks waiting for a co-signature it never
138
- // asked for. Proven on GCP — leaf 18:41:56.555, directory `seal.certificate.deferred`
139
- // (initiator_stream_absent) 18:41:56.615, broker reconnect 18:42:01.529: five seconds too late.
140
- //
141
- // Returns null for same-node sessions (no broker entry) — those reach the initiator on its home
142
- // stream and need no visiting connection.
143
- sessionNodeManager.setEnsureSealBroker(async (agentName, sessionId) => {
144
- const brokerNode = crossNodeBrokerBySession.get(`${agentName}:${sessionId}`);
145
- if (!brokerNode)
146
- return null;
147
- const kp = keyProviders.get(agentName);
148
- if (!kp) {
149
- logger.warn("session.seal.autoack.broker.no_keyprovider", { agentName, brokerNode });
150
- return null;
151
- }
152
- const pubHex = Buffer.from(await kp.getPublicKey()).toString("hex");
153
- const roster = await resolveConsortiumRoster();
154
- const target = roster?.find((e) => e.nodeId === brokerNode) ?? null;
155
- if (!target) {
156
- logger.warn("session.seal.autoack.broker.unresolved", { agentName, brokerNode });
157
- return null;
158
- }
159
- const correlationId = randomUUID();
160
- const conn = openVisitingConnection(agentName, kp, pubHex, { peerId: target.peerId, multiaddr: target.multiaddr }, correlationId, brokerNode);
161
- if (await waitForSignalingConnected(conn.mgr, 10_000)) {
162
- logger.info("session.seal.autoack.broker.reconnected", { agentName, brokerNode, correlationId });
163
- return conn;
164
- }
165
- await conn.stop("autoack-seal-broker-unreachable");
166
- logger.warn("session.seal.autoack.broker.unreachable", { agentName, brokerNode, correlationId });
167
- return null;
168
- });
169
- /**
170
- * DOD-M15-RELAYABUSE-1: scheduled park-retry timers, tracked so shutdown can clear them.
171
- *
172
- * ⚠️ Every other daemon timer is cleared in `stop()`; an untracked one lets an in-process restart
173
- * leave a stale timer that drains into a torn-down manager. Unref'd already, so it cannot hold the
174
- * process open — this is about a clean teardown, not about exiting.
175
- */
176
- const parkRetryTimers = new Set();
177
- /**
178
- * DOD-M15-RELAYABUSE-1: schedule ONE drain at the delay the relay asked for.
179
- *
180
- * ⚠️ ONE implementation, used by both park paths. The live-send path and the drain path both need
181
- * this and a second copy is how the clamp ends up on only one of them — which is exactly the shape
182
- * review found here (the number had a consumer on one path and was dropped on the other).
183
- *
184
- * CLAMPED, because the value comes from another party's software and an unclamped one inverts the
185
- * fix: Node's `setTimeout` holds an int32, so a relay reporting `3_000_000_000` overflows it and
186
- * fires in about ONE MILLISECOND — re-parking instantly into the limit that just refused, and
187
- * printing a `TimeoutOverflowWarning` from a daemon whose convention forbids console output.
188
- */
189
- function scheduleParkRetry(retryAfterMs, filterAgentName, source) {
190
- const MIN_RETRY_MS = 1_000;
191
- const MAX_RETRY_MS = 5 * 60_000;
192
- const delay = Math.min(Math.max(retryAfterMs, MIN_RETRY_MS), MAX_RETRY_MS);
193
- if (delay !== retryAfterMs) {
194
- logger.warn("content.park.retry.clamped", {
195
- source,
196
- requestedMs: retryAfterMs,
197
- usedMs: delay,
198
- impact: "the relay asked for a retry delay outside the range this daemon will schedule, so it was " +
199
- "clamped — an unclamped value can overflow the timer and fire immediately, which would " +
200
- "re-park straight into the limit that just refused",
201
- });
202
- }
203
- logger.info("content.park.retry.scheduled", { source, delayMs: delay, ...(filterAgentName !== undefined ? { agentName: filterAgentName } : {}) });
204
- const timer = setTimeout(() => {
205
- parkRetryTimers.delete(timer);
206
- void flushAwaitingContent(filterAgentName).catch((err) => {
207
- logger.warn("content.park.retry.timer.failed", {
208
- source,
209
- reason: extractErrorMessage(err),
210
- impact: "the scheduled drain threw; the ordinary event triggers (boot, agent start, reconnect) still apply",
211
- });
212
- });
213
- }, delay);
214
- timer.unref?.();
215
- parkRetryTimers.add(timer);
216
- }
217
- sessionNodeManager.setContentParkHook(async ({ agentName, sessionId, recipientPubkeyHex, relayPeerId, relayAddrs, contentHashHex, content, structure1Cbor, structure2Cbor, structure1Signature, leafKind, contentHashAlg }) => {
218
- const node = sessionNodeManager.getStandingReceiverNode();
219
- if (!node) {
220
- const reason = "standing_receiver_unavailable";
221
- // M12-P12 (review F4): `standing_receiver_unavailable` is the exit-point label that already
222
- // misnamed this incident 102 times; standingReceiverAbsenceReason() names WHICH of the four
223
- // causes it is. That distinction is what separates "mid-rebuild, a retry in seconds works"
224
- // from "agent offline, this will never work" — the difference between a backstop that helps
225
- // and one that spins. The wire reason stays put; the cause rides alongside.
226
- const cause = sessionNodeManager.standingReceiverAbsenceReason(agentName);
227
- logger.warn("content.park.deposit.failed", { sessionId, contentHash: contentHashHex, reason, cause });
228
- // DOD-LEAVEMSG-1 (reviewer HIGH fix): return the typed failure, never resolve as if this
229
- // were a success — #parkContent's caller (sendContent) shapes a live "dispatched to relay"
230
- // response from this, and a silently-resolved void here would report a message as safely
231
- // parked when nothing was ever deposited.
232
- return { ok: false, reason, cause };
233
- }
234
- // SEC-1: sign the entry as the SENDING agent. Without a key we cannot produce an envelope the
235
- // recipient will accept, so fail LOUD rather than depositing something that will be refused on
236
- // recovery (a deposit the recipient must reject is worse than no deposit — it looks delivered).
237
- const senderKp = keyProviders.get(agentName);
238
- if (!senderKp) {
239
- const reason = "signing_key_unavailable";
240
- logger.warn("content.park.deposit.failed", { agentName, sessionId, contentHash: contentHashHex, reason });
241
- return { ok: false, reason };
242
- }
243
- const recipientPubkey = Buffer.from(recipientPubkeyHex, "hex");
244
- const contentHashBytes = Buffer.from(contentHashHex, "hex");
245
- logger.info("content.park.signed", { agentName, sessionId, contentHash: contentHashHex });
246
- // DOD-MSG-4 (2b): seal the ORDERING ENVELOPE (content + the relay's signed Structure2), not bare
247
- // content, so the parked entry is self-ordering on recover. The relay still holds only ciphertext.
248
- // SEC-1: sealParkEnvelope is the SOLE producer — it signs (sender's K_local, over the
249
- // session/recipient/content binding) and seals in one place, so the two park sites cannot drift
250
- // apart on what gets signed.
251
- //
252
- // `DOD-M15-SEALWIRE-1` PART B2b — the algorithm is threaded through, and it is the value THIS
253
- // MESSAGE was hashed under, never one re-derived from the session's current row. Whether a hash
254
- // is salted is a fact about the message that was sent; what this side holds now says nothing
255
- // about it.
256
- //
257
- // ⛔ THIS COMMENT USED TO SAY "Still `sha256` everywhere, because no send path salts yet — the
258
- // plumbing is proven carrying the value that cannot break anything, and only then does the value
259
- // change." That described B2b, and B2b-2 then CHANGED THE VALUE: a session holding an agreed
260
- // salt hashes under `hmac-sha256-salt-v1`, so this path really does carry a salted algorithm
261
- // now. Rewritten rather than deleted — a stale reassurance is what `CLAIM-COMMENTS-1` is for,
262
- // and on 2026-08-24 a test declared `sha256` on the strength of this sentence and got a tamper
263
- // verdict on an honest message.
264
- const ciphertext = await sealParkEnvelope({
265
- signer: senderKp,
266
- sessionIdHex: sessionId,
267
- recipientPubkey,
268
- contentHash: contentHashBytes,
269
- content,
270
- // The algorithm the DIRECT frame named for this same message. The park copy must claim what
271
- // the message actually is, not what this side would choose for it now.
272
- contentHashAlg,
273
- structure1Cbor,
274
- structure2Cbor,
275
- // 034-CARRYLEAF: promotes the envelope to v4 when present, which is what lets the recipient
276
- // witness this leaf if its author never does.
277
- structure1Signature,
278
- leafKind,
279
- });
280
- const client = new ContentParkClient({ relayPeerId, relayAddrs: [...relayAddrs], logger });
281
- const res = await client.deposit(node, {
282
- recipientPubkey,
283
- contentHash: Buffer.from(contentHashHex, "hex"),
284
- sessionId: Buffer.from(sessionId, "hex"),
285
- ciphertext,
286
- });
287
- if (res.ok) {
288
- logger.info("content.park.deposited", { sessionId, contentHash: contentHashHex, recipientPubkey: recipientPubkeyHex.slice(0, 16) });
289
- return { ok: true };
290
- }
291
- logger.warn("content.park.deposit.failed", {
292
- sessionId,
293
- contentHash: contentHashHex,
294
- reason: res.reason,
295
- ...(res.retryAfterMs !== undefined ? { retryAfterMs: res.retryAfterMs } : {}),
296
- });
297
- /**
298
- * DOD-M15-RELAYABUSE-1 — **GIVE THE RELAY'S "WHEN" A CONSUMER.**
299
- *
300
- * A deferred park is otherwise retried only on EVENTS — boot, agent start, the drain hook, a
301
- * signaling reconnect. None of those is coming for a throttle: the relay is healthy, the link
302
- * never dropped, and the condition clears on a timer nobody is watching. So the one refusal that
303
- * self-heals in about a minute was the one that waited longest, purely because the number the
304
- * relay had already computed had no reader.
305
- *
306
- * Scheduled ONCE per refusal, unref'd so it can never hold the process open, and best-effort:
307
- * the existing event triggers remain the guarantee, and this is a shortcut on top of them. It
308
- * deliberately does not retry-on-retry — a timer that reschedules itself on failure is a
309
- * self-inflicted flood, which is what the limiter exists to stop.
310
- */
311
- if (res.retryAfterMs !== undefined && res.retryAfterMs > 0) {
312
- /**
313
- * ⚠️ CLAMPED, because the number comes from ANOTHER PARTY'S SOFTWARE and an unclamped one is
314
- * not merely wrong — it inverts the fix. Node's `setTimeout` holds an int32: a relay reporting
315
- * `3_000_000_000` overflows it and the timer fires in about **one millisecond**, re-parking
316
- * instantly into the limit that just refused, and printing a `TimeoutOverflowWarning` on
317
- * stderr from a daemon whose convention forbids console output. A reported `1` does the same
318
- * thing 250 ms later.
319
- *
320
- * The floor is a second and the ceiling five minutes: long enough that a shortcut is a
321
- * shortcut, short enough that it stays one. A clamp is announced rather than silent — a relay
322
- * asking us to wait 35 days is a fact an operator wants.
323
- */
324
- scheduleParkRetry(res.retryAfterMs, agentName, "send");
325
- }
326
- return {
327
- ok: false,
328
- reason: res.reason ?? "relay_deposit_failed",
329
- // DOD-M15-RELAYABUSE-1 review MEDIUM-6: the guidance quotes the relay's OWN window instead of
330
- // guessing "about a minute", which is a hardcoded assumption about a configurable value.
331
- ...(res.retryAfterMs !== undefined ? { retryAfterMs: res.retryAfterMs } : {}),
332
- };
333
- });
334
- // CELLO-M7-MSG-001 (AC-004/AC-005, D-d): startup flush of locally-persisted un-acked
335
- // content (the crash backstop). Runs HERE — before the IPC socket opens, consistent
336
- // with DAEMON-003 startup loading (AC-007) — so a sender that crashed before its TTF
337
- // park confirmed re-parks its un-acked content to the relay store-and-forward queue on
338
- // restart. Best-effort: a failed park stays queued (drainAwaitingToPark does not evict
339
- // on failure), to be retried at the next startup flush or reconnect.
340
- //
341
- // Re-home note (Option A): the park target (config.contentParkFn) is supplied natively
342
- // by the daemon's own send path — NOT by a hosted CelloClient. When it is absent (e.g.
343
- // a daemon started without the content send path wired, or unit tests), the flush is a
344
- // documented no-op (content.park.flush.deferred at WARN) and the durable awaiting
345
- // entries simply remain queued for the next startup that has a park target.
346
- // MSG-2 startup-flush park target: seal + deposit an un-acked awaiting entry sourced from
347
- // PERSISTED session state (the in-memory entry is gone after a restart). Same seal + deposit
348
- // as the live hook above; the endpoint + recipient come from the sessions row.
349
- const startupParkFn = async (entry) => {
350
- // The durable row carries the OWNING agent's stable id. Resolve it back to a name for the
351
- // name-addressed session/standing-receiver lookups. A retired owner resolves fine and then has no
352
- // standing receiver, so the park fails loudly below rather than silently re-parking as someone else.
353
- const ownerName = sessionNodeManager.agentNameForId(entry.agentId);
354
- if (ownerName === null)
355
- return { parked: false, error: "owning_agent_not_found" };
356
- const ep = sessionNodeManager.getPersistedRelayEndpoint(ownerName, entry.sessionId);
357
- const record = sessionNodeManager.getSessionRecord(ownerName, entry.sessionId);
358
- if (!ep)
359
- return { parked: false, error: "no_persisted_relay_endpoint" };
360
- if (!record?.counterparty_pubkey)
361
- return { parked: false, error: "no_counterparty" };
362
- // DOD-LOOP-1: the re-park must originate from the session's OWNING agent (the original
363
- // sender), so use THAT agent's standing-receiver node — not "any" agent's. Post-DOD-LOOP-1 the
364
- // owning agent's SR exists only once it is online, which is why the native flush is
365
- // (re-)triggered per-agent on agent-online (see flushAwaitingContent / cello_start_agent), not
366
- // only at pre-IPC startup when no agent is online yet.
367
- const node = sessionNodeManager.getStandingReceiverNode(record.agent_name);
368
- if (!node)
369
- return { parked: false, error: "standing_receiver_unavailable" };
370
- // SEC-1: the crash backstop must sign too — an unsigned re-park would be REFUSED on recovery,
371
- // which would turn the message-loss backstop into a message-loss cause. The SEC-1 signature
372
- // binds to the sender's own K_local, which the owning agent still holds after a crash.
373
- // M12-P12 (review F2): the ordering record IS now persisted (retry_queue.structure{1,2}_cbor),
374
- // so a re-park is self-ordering whenever the row carries one. Rows written before that column
375
- // existed carry none and still recover in arrival order — the pre-existing behaviour, now the
376
- // exception rather than the rule.
377
- const senderKp = keyProviders.get(ownerName);
378
- if (!senderKp)
379
- return { parked: false, error: "signing_key_unavailable" };
380
- const recipientPubkey = Buffer.from(record.counterparty_pubkey, "hex");
381
- const contentHashBytes = Buffer.from(entry.contentHashHex, "hex");
382
- logger.info("content.park.signed", { agentName: ownerName, sessionId: entry.sessionId, contentHash: entry.contentHashHex, source: "startup_flush" });
383
- // DOD-MSG-4 (2b): ONE envelope format on the recover side. M12-P12 (F2): carry the persisted
384
- // ordering record when the row has one, so the recipient places the content at its WITNESSED
385
- // sequence rather than its arrival index — the receiver's #witnessedSeq map is in-memory and
386
- // empty after a restart, so arrival order there means a wrong leaf index and a divergent tree.
387
- // SEC-1: same sole producer as the live hook — the backstop signs from the persisted
388
- // (sessionId, recipient, contentHash).
389
- //
390
- // `DOD-M15-SEALWIRE-1` PART B2b — the algorithm is threaded through, and it is the value THIS
391
- // MESSAGE was hashed under, never one re-derived from the session's current row. Whether a hash
392
- // is salted is a fact about the message that was sent; what this side holds now says nothing
393
- // about it.
394
- //
395
- // ⛔ THIS COMMENT USED TO SAY "Still `sha256` everywhere, because no send path salts yet — the
396
- // plumbing is proven carrying the value that cannot break anything, and only then does the value
397
- // change." That described B2b, and B2b-2 then CHANGED THE VALUE: a session holding an agreed
398
- // salt hashes under `hmac-sha256-salt-v1`, so this path really does carry a salted algorithm
399
- // now. Rewritten rather than deleted — a stale reassurance is what `CLAIM-COMMENTS-1` is for,
400
- // and on 2026-08-24 a test declared `sha256` on the strength of this sentence and got a tamper
401
- // verdict on an honest message.
402
- const ciphertext = await sealParkEnvelope({
403
- signer: senderKp,
404
- sessionIdHex: entry.sessionId,
405
- recipientPubkey,
406
- contentHash: contentHashBytes,
407
- content: entry.contentBlob,
408
- // The queued row's own record of how it was hashed. `undefined` for a row written before the
409
- // column existed, which resolves to `sha256` — exactly what such a row actually used.
410
- contentHashAlg: entry.contentHashAlg,
411
- structure1Cbor: entry.structure1Cbor,
412
- structure2Cbor: entry.structure2Cbor,
413
- // 034-CARRYLEAF: a re-parked message must reach its recipient in a shape they can WITNESS on
414
- // the sender's behalf, or a crash re-opens the withholding hole on the mailbox route.
415
- structure1Signature: entry.structure1Signature,
416
- leafKind: entry.leafKind,
417
- });
418
- const client = new ContentParkClient({ relayPeerId: ep.relayPeerId, relayAddrs: [...ep.relayAddrs], logger });
419
- const res = await client.deposit(node, {
420
- recipientPubkey,
421
- contentHash: Buffer.from(entry.contentHashHex, "hex"),
422
- sessionId: Buffer.from(entry.sessionId, "hex"),
423
- ciphertext,
424
- });
425
- if (res.ok) {
426
- logger.info("content.park.deposited", { sessionId: entry.sessionId, contentHash: entry.contentHashHex, source: "startup_flush" });
427
- return { parked: true };
428
- }
429
- return {
430
- parked: false,
431
- error: res.reason ?? "deposit_failed",
432
- // DOD-M15-RELAYABUSE-1 review HIGH-2: carry the relay's own "when" out of the DRAIN path too.
433
- ...(res.retryAfterMs !== undefined ? { retryAfterMs: res.retryAfterMs } : {}),
434
- };
435
- };
436
- // Re-park un-acked awaiting content to the relay store-and-forward queue. Runs once pre-IPC
437
- // (the crash backstop) and again per-agent when an agent comes online — because post-DOD-LOOP-1
438
- // the native `startupParkFn` needs the OWNING agent's standing receiver, which exists only once
439
- // that agent is online. `filterAgentName` scopes the drain to one agent's sessions on the agent-
440
- // online re-run; with no filter it attempts all (the pre-IPC pass / injected-target test path).
441
- // M12-P12 (review pass 2): the sender flush now has FOUR triggers (boot, agent start, the parked-
442
- // drain hook, signaling reconnect), and two of them fire deterministically together on agent start
443
- // — the drain hook runs inside ensureStandingReceiver, whose own .then() then calls this again
444
- // while the first pass is still dialling the relay. The receiver twin (contentPark) already
445
- // coalesces for exactly this reason; adding triggers to the sender half without the same guard was
446
- // an asymmetry, not a decision. Re-run once at the end if a trigger arrived mid-flight, so a
447
- // coalesced call never DROPS work — it defers it.
448
- const flushInFlight = new Set();
449
- const flushRerunRequested = new Set();
450
- async function flushAwaitingContent(filterAgentName) {
451
- const flushKey = filterAgentName ?? "*";
452
- if (flushInFlight.has(flushKey)) {
453
- flushRerunRequested.add(flushKey);
454
- return;
455
- }
456
- flushInFlight.add(flushKey);
457
- try {
458
- await flushAwaitingContentInner(filterAgentName);
459
- }
460
- finally {
461
- flushInFlight.delete(flushKey);
462
- }
463
- if (flushRerunRequested.delete(flushKey)) {
464
- await flushAwaitingContent(filterAgentName);
465
- }
466
- }
467
- async function flushAwaitingContentInner(filterAgentName) {
468
- // DOD-AGENT-ID-JOINKEY-1: the queue is keyed by the STABLE agent_id, but the caller (and the
469
- // human-readable log) speak the NAME. Resolve once here; log the name, filter by the id.
470
- const filterAgentId = filterAgentName !== undefined
471
- ? sessionNodeManager.resolveAgentId(filterAgentName)
472
- : undefined;
473
- const all = retryQueue.getAwaitingSessions();
474
- const sessions = filterAgentId === undefined
475
- ? all
476
- : all.filter((s) => s.agentId === filterAgentId);
477
- if (sessions.length === 0)
478
- return;
479
- const parkFn = config.contentParkFn ?? startupParkFn;
480
- if (!parkFn) {
481
- const pendingCount = sessions.reduce((n, s) => n + retryQueue.getAwaitingDepth(s.agentId, s.sessionId), 0);
482
- logger.warn("content.park.flush.deferred", {
483
- sessionCount: sessions.length,
484
- pendingCount,
485
- reason: "no_content_park_target",
486
- });
487
- return;
488
- }
489
- let parkedTotal = 0;
490
- for (const s of sessions) {
491
- try {
492
- parkedTotal += await retryQueue.drainAwaitingToPark(s.agentId, s.sessionId, parkFn, (retryAfterMs) => {
493
- /**
494
- * DOD-M15-RELAYABUSE-1 review HIGH-2 — **the drain path can now schedule its own
495
- * follow-up, which is what makes the retry work for a BACKLOG rather than one message.**
496
- *
497
- * Before this, only the live send path heard the relay's delay. With a backlog larger than
498
- * one rate-limit window, the drain deposited what the window allowed, every remaining item
499
- * was refused, and all of them fell back to waiting for an unrelated reconnect — the exact
500
- * condition the retry timer was added to remove.
501
- *
502
- * ONE timer per pass (the drain reports the largest delay it saw, not one per item), and
503
- * it deliberately does not chain beyond that: the next pass schedules the next one only if
504
- * it is refused again, so a permanently-full relay costs one timer per window rather than
505
- * an accelerating stream of them.
506
- */
507
- scheduleParkRetry(retryAfterMs, filterAgentName, "drain");
508
- });
509
- }
510
- catch (err) {
511
- logger.error("content.park.flush.failed", {
512
- sessionId: s.sessionId,
513
- error: extractErrorMessage(err),
514
- });
515
- }
516
- }
517
- logger.info("content.park.flush.completed", {
518
- sessionCount: sessions.length,
519
- parkedCount: parkedTotal,
520
- ...(filterAgentName !== undefined ? { agentName: filterAgentName } : {}),
521
- });
522
- }
523
- // `scheduleParkRetry` and `startupParkFn` are NOT returned: their only callers moved with them.
524
- // A returned name implies a consumer, and widening the surface for none is the same claim about
525
- // coupling that an unused dependency makes.
526
- return { retryQueue, parkRetryTimers, flushAwaitingContent };
527
- }
528
- //# sourceMappingURL=boot-parked-content.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"boot-parked-content.js","sourceRoot":"","sources":["../src/boot-parked-content.ts"],"names":[],"mappings":"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"}
@@ -1,22 +0,0 @@
1
- /**
2
- * ONE of the daemon's two background sweeps — the revival-bound sweep — and the timer that re-arms
3
- * it. The other, the document reconcile sweep, is still in the composition root beside the document
4
- * wiring it drives.
5
- *
6
- * A sweep is not a one-off: a session interrupted at 09:00 on a daemon that stays up all week would
7
- * otherwise be swept only at the next boot, and a long-lived daemon is the normal case. The timer
8
- * `unref`s so a pending tick never holds the process open.
9
- *
10
- * The timer is returned rather than started-and-forgotten because shutdown has to clear it, and a
11
- * timer nobody holds a handle to is a process that will not exit.
12
- */
13
- import type { Logger } from "./types.js";
14
- import { type SessionNodeManager } from "./session-node-manager.js";
15
- export interface BootSweepsDeps {
16
- logger: Logger;
17
- sessionNodeManager: SessionNodeManager;
18
- }
19
- export declare function startBootSweeps(deps: BootSweepsDeps): {
20
- revivalBoundSweepTimer: NodeJS.Timeout;
21
- };
22
- //# sourceMappingURL=boot-sweeps.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"boot-sweeps.d.ts","sourceRoot":"","sources":["../src/boot-sweeps.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAA6C,KAAK,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAG/G,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,kBAAkB,EAAE,kBAAkB,CAAC;CACxC;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,cAAc;;EAkDnD"}
@@ -1,51 +0,0 @@
1
- import { REVIVAL_WINDOW_MS, REVIVAL_BOUND_SWEEP_MS } from "./session-node-manager.js";
2
- import { extractErrorMessage } from "./error-message.js";
3
- export function startBootSweeps(deps) {
4
- const { logger, sessionNodeManager } = deps;
5
- /**
6
- * DOD-M12B-REVIVAL-BOUND-1 — close the interrupted sessions the revival window has expired.
7
- *
8
- * Runs at boot beside the restart-seal resolver, and is its complement: the resolver takes the
9
- * sessions we can describe truthfully (`interrupted_by = 'local'`) and gets them a receipt; this
10
- * takes everything else and shuts the door without asserting a cause.
11
- *
12
- * It must run even though nothing has revived a session yet — the reason is Andre's 2026-08-18
13
- * tenet, *"leave nothing open that is no longer needed."* `ingestReceivedContent` accepts content
14
- * into an `interrupted` session by design, so a session that can never be revived is a write
15
- * surface a reprogrammed peer can use for as long as the row exists. Boot is where the store is
16
- * swept for exactly that.
17
- *
18
- * NOT AWAITED, and caught: this is a best-effort sweep over rows that have already waited a day.
19
- * Blocking the daemon's startup on a directory-free DB walk buys nothing, and a throw here would
20
- * take down a daemon that is otherwise healthy.
21
- */
22
- const runRevivalBoundSweep = () => {
23
- void sessionNodeManager
24
- .closeExpiredUnrevivableSessions(Date.now(), REVIVAL_WINDOW_MS)
25
- .catch((err) => {
26
- logger.warn("session.revival_bound.sweep.failed", {
27
- error: extractErrorMessage(err),
28
- impact: "expired sessions were not closed this pass and still accept content",
29
- });
30
- });
31
- };
32
- runRevivalBoundSweep();
33
- /**
34
- * RE-ARMED, because boot alone is not a bound.
35
- *
36
- * A session interrupted at 09:00 on a daemon that stays up all week would otherwise be writable
37
- * for the whole week — and a long-lived daemon is the normal case, not the exception. Boot-only
38
- * would have made the control fire exactly when it is least needed (a machine that restarts often
39
- * is a machine whose sessions get swept often) and never when it is most needed.
40
- *
41
- * Hourly against a 24-hour window: the overshoot is at most an hour on a bound measured in days,
42
- * and the pass is a single indexed DB walk with no network in it. `unref` so a pending timer
43
- * never holds the process open, matching `reconcileSweepTimer` beside it.
44
- */
45
- const revivalBoundSweepTimer = setInterval(runRevivalBoundSweep, REVIVAL_BOUND_SWEEP_MS);
46
- revivalBoundSweepTimer.unref?.();
47
- // The sweep function itself is not returned — its only callers are here (once at construction,
48
- // then on the timer). Only the timer escapes, because shutdown has to clear it.
49
- return { revivalBoundSweepTimer };
50
- }
51
- //# sourceMappingURL=boot-sweeps.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"boot-sweeps.js","sourceRoot":"","sources":["../src/boot-sweeps.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,iBAAiB,EAAE,sBAAsB,EAA2B,MAAM,2BAA2B,CAAC;AAC/G,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAOzD,MAAM,UAAU,eAAe,CAAC,IAAoB;IAClD,MAAM,EAAE,MAAM,EAAE,kBAAkB,EAAE,GAAG,IAAI,CAAC;IAE5C;;;;;;;;;;;;;;;;OAgBG;IACH,MAAM,oBAAoB,GAAG,GAAS,EAAE;QACtC,KAAK,kBAAkB;aACpB,+BAA+B,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,iBAAiB,CAAC;aAC9D,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;YACtB,MAAM,CAAC,IAAI,CAAC,oCAAoC,EAAE;gBAChD,KAAK,EAAE,mBAAmB,CAAC,GAAG,CAAC;gBAC/B,MAAM,EAAE,qEAAqE;aAC9E,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC,CAAC;IACF,oBAAoB,EAAE,CAAC;IAEvB;;;;;;;;;;;OAWG;IACH,MAAM,sBAAsB,GAAG,WAAW,CAAC,oBAAoB,EAAE,sBAAsB,CAAC,CAAC;IACzF,sBAAsB,CAAC,KAAK,EAAE,EAAE,CAAC;IAEjC,+FAA+F;IAC/F,gFAAgF;IAChF,OAAO,EAAE,sBAAsB,EAAE,CAAC;AACpC,CAAC"}