@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,532 +0,0 @@
1
- import { decodeStructure1 } from "@cello-protocol/protocol-types";
2
- import { verify } from "@cello-protocol/crypto";
3
- import { pubkeyMatchesHex } from "./park-envelope.js";
4
- import { AUTHORSHIP_CONTENT_HASH_MISMATCH, AUTHORSHIP_SESSION_MISMATCH, AUTHORSHIP_SELF_CHAIN_MISMATCH, AUTHORSHIP_ACK_HASH_MISMATCH, AUTHORSHIP_ACK_HASH_UNKNOWN, SELF_CHAIN_MEMORY, SELF_CHAIN_GAP_GRACE_MS, bytesEqual, } from "./session-node-types.js";
5
- export class AuthorshipVerifier {
6
- #ctx;
7
- constructor(ctx) {
8
- this.#ctx = ctx;
9
- }
10
- /**
11
- * Every content hash accepted from the counterparty on a session, so a link to one of THEIR
12
- * earlier messages can be told apart from a link to something they never sent.
13
- *
14
- * ⚠️ BOUNDED, because it is fed by a peer. A conversation must not cost unbounded memory because
15
- * the other side kept talking: the oldest entries are dropped past the cap, and a link older than
16
- * that is refused. That is the right way round — the cap makes the check STRICTER as it bites,
17
- * never looser.
18
- */
19
- #receivedFromCounterparty = new Map();
20
- /** The MOST RECENT of those, which is what an honest next message links to. */
21
- #lastFromCounterparty = new Map();
22
- /**
23
- * DOD-M15-SELFCHAIN-GAP-1 — when this session first saw a predecessor it does not hold.
24
- *
25
- * ⚠️ NOT DURABLE, AND THAT IS THE SAFE DIRECTION. A restart forgets the clock, so the next
26
- * mismatch starts a fresh grace rather than freezing immediately on a session that has been
27
- * quiet for hours. The failure mode of losing it is one more grace period of refusals; the
28
- * failure mode of persisting it wrongly is freezing a healthy conversation on boot.
29
- */
30
- #selfChainGap = new Map();
31
- /**
32
- * `DOD-M15-AUTHORSHIP-ABSENT-1` — DID THIS SENDER PROVE THEY WROTE THIS MESSAGE?
33
- *
34
- * The one place that answers it, for both callers, so "checked" cannot mean two different things
35
- * in two places. It takes the signature as an ARGUMENT rather than digging it out of a structure,
36
- * which is the whole of the fix: the signature used to be read only from `structure2_cbor` — the
37
- * RELAY's record — so a receiver could not check authorship without a relay record, and refusing
38
- * on its absence would have made the relay a precondition for reading mail. The content frame now
39
- * carries the signature beside the bytes it signs, exactly as `hash_submit` always has, and this
40
- * method does not care which of the two handed it over.
41
- *
42
- * It VERIFIES and it does not LOG. The severity of each verdict differs by caller — the content
43
- * frame refuses an `unusable`, the park path shrugs at one — and a method that logged its own
44
- * conclusion would either report a refusal that did not happen or stay silent on one that did.
45
- */
46
- verifyAuthorshipClaim(agentName, sessionId, structure1Cbor, senderSignature, contentHash) {
47
- // Structure 1 content_hash is index 1 and sender_pubkey index 2 in BOTH layouts — 020-ACKHASH
48
- // appended last_seen_hash at 6 rather than inserting it, so neither read moved. A v2 claim
49
- // decodes here exactly as a v1 one does; its hash is not consulted, because this unit ships
50
- // reading and not enforcing.
51
- const s1 = decodeStructure1(structure1Cbor);
52
- // A layout this build cannot name yields no pubkey and no hash, so there is nothing to check the
53
- // signature against. Its reason is carried out so an unreadable CLAIM and a wrong SIGNATURE stay
54
- // distinguishable — they take the same outcome by different routes.
55
- if (!s1.ok)
56
- return { verdict: "unusable", reason: s1.reason };
57
- const s1Hash = s1.fields.contentHash;
58
- const s1Pubkey = s1.fields.senderPubkey;
59
- // The SENDER's Ed25519 signature over the exact signed bytes — the same check the relay
60
- // performs. `verify` never throws, so a wrong-width or garbage signature lands here as `false`:
61
- // supplied and refuted, which is a different fact from not supplied at all.
62
- if (!verify(s1Pubkey, structure1Cbor, senderSignature)) {
63
- return { verdict: "refuted", reason: "bad_signature" };
64
- }
65
- // Sovereign-node cross-check: the signer MUST be THIS session's counterparty, not an unrelated
66
- // key. Review M1: compare BYTES, not hex strings — `counterparty_pubkey` is stored verbatim from
67
- // the IPC param and is never case-normalized, so a string compare would fail for a mixed-case
68
- // pubkey and silently strip the canonical ordering from every message in that session.
69
- const counterparty = this.#ctx.getSessionRecord(agentName, sessionId)?.counterparty_pubkey;
70
- if (!pubkeyMatchesHex(s1Pubkey, counterparty)) {
71
- /**
72
- * REFUTED when the counterparty is KNOWN and the signer is someone else.
73
- *
74
- * This is the session-open MITM detection from the 2026-08-21 T-of-N investigation, which
75
- * found this check *"fires correctly, and its answer is thrown away."* A rogue quorum of the
76
- * directories holding shares for agent B can sign a false SessionAssignment naming M's key as
77
- * B's, and everything downstream is genuinely real — M signs with M's own valid key. Nothing
78
- * is missing for A to notice. This comparison is where the substitution shows, because
79
- * `counterparty_pubkey` comes from A's own request and is untouched by anything the directory
80
- * returns.
81
- *
82
- * ⚠️ AN EARLIER VERSION OF THIS COMMENT ADDED "it shows only when the record is present" —
83
- * true when the proof was optional, and no longer the shape of the code: a content frame with
84
- * no checkable proof is refused before it reaches ingest, so M cannot decline to supply one
85
- * and be admitted anyway. Rewritten rather than deleted, because that sentence is the evidence
86
- * of what the gap was. The park envelope is the remaining path where the ordering record is
87
- * genuinely optional, and there the sender's authorship is proven by the envelope's own
88
- * signature instead.
89
- *
90
- * `verified_unmatched` stays soft deliberately: with no counterparty on record we cannot prove
91
- * the signer either way, and refusing there would strand a session whose row we failed to read
92
- * rather than one that is under attack. It is also the only signal the orphan branch has.
93
- */
94
- return counterparty
95
- ? { verdict: "refuted", reason: "signer_not_counterparty" }
96
- : { verdict: "verified_unmatched", senderPubkey: s1Pubkey };
97
- }
98
- /**
99
- * ─── THE BINDING CHECKS RUN LAST, AND THE ORDER IS A SECURITY PROPERTY ───────────────────────
100
- *
101
- * ⚠️ **THEY USED TO RUN FIRST, AND THAT HANDED THE ATTACKER A FREEZE-SUPPRESSION SWITCH** —
102
- * review of `029b`, and it is the finding that mattered most.
103
- *
104
- * Everything below this line is `unusable`: the message is REFUSED and the session lives.
105
- * Everything above it is `refuted`: the session FREEZES. So a check that can answer `unusable`
106
- * before the signature has been verified lets a peer choose the softer outcome — flip one
107
- * unauthenticated byte of `session_id` inside your own claim and a garbage signature, or a
108
- * signature by a MITM's own key, stops being an identity incident and becomes a quiet refusal.
109
- * The session-open MITM detection this function exists to serve was bypassable by exactly the
110
- * party it detects.
111
- *
112
- * So the order is: decode → SIGNATURE → SIGNER → then what the proof is about. By the time
113
- * either check below runs, the claim provably came from this session's counterparty, and the
114
- * only question left is which message and which conversation they made it for.
115
- *
116
- * `seal-frontier-verify` already does it in this order (verify at :55, session id at :77). This
117
- * code had it inverted.
118
- */
119
- // The claim must bind to THIS content. A signature over somebody else's bytes verifies perfectly
120
- // and proves nothing about this message — without this, one signed claim could be replayed onto
121
- // every frame that follows it.
122
- if (!bytesEqual(s1Hash, contentHash)) {
123
- return { verdict: "unusable", reason: AUTHORSHIP_CONTENT_HASH_MISMATCH };
124
- }
125
- /**
126
- * ⚠️ **AND IT MUST BIND TO THIS CONVERSATION** — review M4, ruled in by Andre 2026-09-04.
127
- *
128
- * Binding the content and the signer is not enough on its own: a claim the counterparty
129
- * genuinely signed in another session verifies unchanged here for the same bytes. Not a
130
- * stranger and not forged content — a real line of theirs, landing in a transcript it was never
131
- * written for, with a signature that checks out. That is worse than an unsigned message,
132
- * because the receipt then PROVES something that did not happen.
133
- *
134
- * `session_id` has been in Structure 1 since v1 and this path never read it.
135
- * `seal-frontier-verify` already compares it; the live receive path simply did not.
136
- *
137
- * **THE TWO VALUES CANNOT DIVERGE, and that is what makes this safe to enforce.** Both are
138
- * derived from ONE session id on each side, by construction:
139
- * initiator — `sessionId = hex(assignment.session_id)` (`initiate-session-handler`) and
140
- * `relayParams.sessionIdBytes = assignment.session_id` (`daemon.ts`);
141
- * responder — `acceptSession(parsed.sessionIdHex)` and
142
- * `sessionIdBytes = Buffer.from(parsed.sessionIdHex, "hex")` (`inbound-sessions`);
143
- * direct/persisted — `relaySessionIdBytes = Buffer.from(sessionId, "hex")`.
144
- * The two names exist because one keys the in-memory maps and one goes on the wire, not because
145
- * they can hold different values. Getting this wrong would refuse EVERY message on EVERY live
146
- * session, so it is stated rather than assumed.
147
- *
148
- * REFUSED, not frozen — and the sentence is TRUE where it now stands. The signature has
149
- * verified and the signer has been matched to this session's counterparty three lines above;
150
- * what is wrong is only the conversation the claim was made for, which is a replay rather than
151
- * an identity fault. Said because an earlier version of this comment made the same claim from
152
- * ABOVE the verification, where none of it had happened yet.
153
- */
154
- const expectedSessionId = this.#ctx.relaySessionIdBytes(agentName, sessionId)
155
- ?? Uint8Array.from(Buffer.from(sessionId, "hex"));
156
- if (!bytesEqual(s1.fields.sessionId, expectedSessionId)) {
157
- return { verdict: "unusable", reason: AUTHORSHIP_SESSION_MISMATCH };
158
- }
159
- /**
160
- * ─── AND IT MUST ACKNOWLEDGE SOMETHING THAT WAS ACTUALLY SAID — 033-ACKEMIT ──────────────────
161
- *
162
- * **THIS IS THE HALF THAT NEEDS NO RELAY, and it is the reason the unit exists.** Everything the
163
- * check consumes is on this machine: the counterparty's own signed bytes, and our own tree. We
164
- * do not ask the relay what position 7 held — we already know, because we placed the leaf there.
165
- *
166
- * Until now a signed acknowledgement was a NUMBER. "I saw position 7" attests to a position and
167
- * never to content, so the only thing binding the acknowledgement to a message was the relay's
168
- * separate receipt over `content_hash ‖ seq ‖ timestamp`. Withhold the relay's half and the
169
- * signed claim is an unbacked number — which is how a counterparty seals one message short.
170
- * With the hash signed, the claim stands on its own and the relay is no longer load-bearing for
171
- * it.
172
- *
173
- * It runs LAST for the reason the two checks above run last: everything from here down answers
174
- * `unusable`, which refuses the message and leaves the session alive, while a `refuted` FREEZES
175
- * it. A check that could answer before the signature and the signer were established would hand
176
- * a peer a switch for choosing the softer outcome. By this line the claim provably came from
177
- * this session's counterparty, about this content, in this conversation — the only question
178
- * left is whether what they say they saw is what we sent.
179
- */
180
- const ackVerdict = this.#verifyAcknowledgedContent(agentName, sessionId, s1.fields);
181
- if (ackVerdict)
182
- return ackVerdict;
183
- /**
184
- * ─── AND IT MUST LINK TO THEIR OWN PREVIOUS MESSAGE — `DOD-M15-SELFCHAIN-1` ──────────────────
185
- *
186
- * The check above asks whether they are right about what WE said. This one asks whether they
187
- * are right about what THEY said, and it is the check that makes the ORDER of the conversation
188
- * provable rather than merely its contents.
189
- *
190
- * **THIS IS THE HALF THAT NEEDS NO RELAY**, in the strongest sense: the expected value is the
191
- * last message we received from them, which is a fact about our own inbox. A relay that is
192
- * absent, slow, colluding or lying cannot change it, and cannot wave a broken chain past us.
193
- */
194
- const chainVerdict = this.#verifySenderSelfChain(agentName, sessionId, s1.fields);
195
- if (chainVerdict)
196
- return chainVerdict;
197
- return { verdict: "verified", senderPubkey: s1Pubkey, senderSig: senderSignature };
198
- }
199
- /**
200
- * Does this claim's `last_seen_hash` name content this side actually put at that position?
201
- *
202
- * Returns `undefined` when the acknowledgement holds, or the `unusable` verdict to refuse with.
203
- * Split out of `#verifyAuthorshipClaim` so the three refusal causes can be named separately —
204
- * a claim that carries NO hash, one that names a position we never reached, and one that names
205
- * the wrong content — rather than collapsing into a single "the proof was bad".
206
- *
207
- * ⚠️ MISSING, MALFORMED AND MISMATCHED TAKE ONE PATH (§5). Treating an unverifiable claim as
208
- * "fine, skip the check" would recreate the fail-open this unit closes one layer down: an
209
- * attacker who wants to evade a mismatch check simply never supplies a checkable proof.
210
- * `decodeStructure1` refuses any claim whose hash is absent or the wrong width, so every claim
211
- * reaching this method carries one and the only questions left are position and content.
212
- */
213
- /**
214
- * Does this claim link to the last message we actually received from this sender?
215
- *
216
- * ─── Why the expected value is our INBOX and not our tree ──────────────────────────────────────
217
- *
218
- * The tree holds every leaf in canonical order and records no authorship, so it cannot say which
219
- * of them this sender wrote. What can is the acknowledgement state this daemon already keeps: the
220
- * last content hash received from the counterparty, updated on every message as it is ingested.
221
- * That IS their previous message, by definition.
222
- *
223
- * It is seeded at session registration with the session GENESIS, so a sender's first message has
224
- * a real expected value rather than a special case — "they have not spoken here yet" is a value,
225
- * derived per session, and not an absence.
226
- *
227
- * ⚠️ RUNS BEFORE THIS MESSAGE IS INGESTED, which is what makes the comparison meaningful: the
228
- * state still holds their PREVIOUS message. Moving this after ingest would compare a message to
229
- * itself and pass every time.
230
- */
231
- #verifySenderSelfChain(agentName, sessionId, fields) {
232
- const key = this.#ctx.sessionKey(agentName, sessionId);
233
- const genesis = this.#ctx.sessionGenesisPrevRoot(agentName, sessionId);
234
- /**
235
- * ⚠️ THE EXPECTED VALUE IS OUR INBOX — `#lastAck` — AND NOT THE SESSION GENESIS.
236
- *
237
- * `#lastFromCounterparty` is the last content hash we accepted FROM THIS COUNTERPARTY, written
238
- * on every successful ingest. That IS their previous message, by definition. The genesis is only
239
- * the answer before they have said anything.
240
- *
241
- * It used to read the relay client's acknowledgement with the genesis as a fallback, which is
242
- * the same conflation the emitter had: on a session with no relay client the fallback never
243
- * moved, so the counterparty's SECOND message was refused as a broken chain for the rest of the
244
- * conversation. Four live-transport fixtures caught it the moment the emitter started producing
245
- * a real chain.
246
- */
247
- const expected = this.#lastFromCounterparty.get(key) ?? genesis;
248
- /**
249
- * ⚠️ NO EXPECTED VALUE MEANS NO COMPARISON, AND THIS IS THE ONE PLACE THAT IS NOT A FAIL-OPEN —
250
- * because of WHO CONTROLS THE ABSENCE. Whether this side holds a starting point for the session
251
- * depends on our own assignment and our own database. Nothing the sender puts on the wire can
252
- * cause it, so it is not a switch they can reach for. A session restored from a row written
253
- * before this existed is the real case, and refusing there would refuse every message on it for
254
- * something the counterparty did not do.
255
- */
256
- if (!expected) {
257
- this.#ctx.logger.info("session.content.self_chain.unverifiable", {
258
- agentName, sessionId,
259
- impact: "this side holds no record of this sender's previous message in this session, so the " +
260
- "link inside their signed bytes was not compared. The message is accepted; it is already " +
261
- "bound to this conversation and to its author by the checks above.",
262
- });
263
- return undefined;
264
- }
265
- // A satisfied chain closes any gap this session was carrying — see `#selfChainGap`. It is
266
- // cleared HERE and not on receipt of the specific missing hash, because the question the gap
267
- // asks is "is this sender's chain still broken from our side?", and a passing check answers no
268
- // however the gap closed: the predecessor arrived, or they resumed from something we hold.
269
- if (bytesEqual(fields.prevOwnHash, expected)) {
270
- this.#selfChainGap.delete(key);
271
- return undefined;
272
- }
273
- /**
274
- * ─── OUR OWN GAP IS NOT THEIR TAMPERING, AND THE DIFFERENCE IS DECIDABLE ─────────────────────
275
- *
276
- * `expected` is the last message from them we ACCEPTED. Our record can legitimately be behind
277
- * theirs: a message of theirs can arrive out of order and be HELD, be refused by the inbound
278
- * screen, or be lost in flight. In every one of those cases their next message links to
279
- * something real that we simply do not have at the front of our record — and refusing it would
280
- * be a fabricated tamper report caused by our own gap, against a party that did nothing.
281
- *
282
- * So a link naming ANY message we have accepted from them is accepted, and the gap is reported
283
- * as OUR problem. A link naming something we have never held from them is the actual accusation:
284
- * it is either invented or it belongs to a conversation this is not.
285
- *
286
- * ⚠️ THIS IS DELIBERATELY WEAKER THAN THE RELAY'S CHECK, AND SAYING SO IS THE POINT. The relay
287
- * holds the whole ordered log and refuses anything but the immediate predecessor; the directory
288
- * does the same at seal time. This side holds only what reached it, so the strongest honest
289
- * question it can ask is "did you name something you actually said to me?". Two strict checkers
290
- * plus one honest one beats three checkers where the weakest one fabricates accusations.
291
- */
292
- const seen = this.#receivedFromCounterparty.get(key);
293
- if (seen?.has(Buffer.from(fields.prevOwnHash).toString("hex"))) {
294
- this.#selfChainGap.delete(key);
295
- this.#ctx.logger.info("session.content.self_chain.behind", {
296
- agentName, sessionId,
297
- impact: "this message links to an earlier message from your counterparty than the last one this " +
298
- "side accepted, so this side's copy of the conversation has a gap in it. The message is " +
299
- "accepted — the link names something they really did send you. The gap is on this side.",
300
- });
301
- return undefined;
302
- }
303
- /**
304
- * ⚠️ THE CLOCK IS NOT STARTED HERE, and review F1 is why. This method has TWO callers: the live
305
- * ingest path, which refuses on this verdict, and PARK RECOVERY (`inbound-refusals.ts` →
306
- * `park-recovery.ts`), where `unusable` is SOFT and the message is ingested anyway on the park
307
- * envelope's own signature. Starting the clock here therefore armed a freeze from a message
308
- * that was accepted — the chain then went healthy, the clock stayed open with a stale
309
- * `firstSeenAt`, and an ordinary out-of-order frame hours later froze on its FIRST occurrence.
310
- * That is the exact defect this unit exists to remove, re-entering through the park door.
311
- *
312
- * It is started in `noteSelfChainGapAndShouldFreeze` instead, which only the refusing caller
313
- * reaches — so the age is measured from the first REFUSED LIVE frame, which is what the DoD
314
- * line describes. This method stays a pure verifier.
315
- */
316
- return { verdict: "unusable", reason: AUTHORSHIP_SELF_CHAIN_MISMATCH };
317
- }
318
- /**
319
- * DOD-M15-SELFCHAIN-GAP-1 — has this session's self-chain gap been open longer than the grace?
320
- *
321
- * `false` also when there is no gap at all, which is the ordinary answer. The caller freezes on
322
- * `true` and defers on `false`; the frame is refused either way.
323
- */
324
- selfChainGapExpired(agentName, sessionId, graceMs, now = Date.now()) {
325
- const gap = this.#selfChainGap.get(this.#ctx.sessionKey(agentName, sessionId));
326
- return gap !== undefined && now - gap.firstSeenAt >= graceMs;
327
- }
328
- /** Age of this session's open self-chain gap, for the log line. `null` when there is no gap. */
329
- selfChainGapAgeMs(agentName, sessionId, now = Date.now()) {
330
- const gap = this.#selfChainGap.get(this.#ctx.sessionKey(agentName, sessionId));
331
- return gap === undefined ? null : now - gap.firstSeenAt;
332
- }
333
- /**
334
- * DOD-M15-SELFCHAIN-GAP-1 — **THE ESCALATION DECISION, kept beside the state it reads.**
335
- *
336
- * `true` freezes the session, `false` defers. Called only after a `self_chain_mismatch`, so the
337
- * gap this reads was opened by the verify call that produced that verdict.
338
- *
339
- * ⚠️ THE DEFERRAL IS LOGGED, and that is not decoration. A silent wait is indistinguishable from
340
- * the self-chain check not running at all, which is exactly the state this milestone spent a day
341
- * failing to tell apart. The frame is REFUSED either way — the caller has already done that — so
342
- * nothing enters the transcript on evidence this side cannot check.
343
- */
344
- noteSelfChainGapAndShouldFreeze(agentName, sessionId, correlationId) {
345
- const key = this.#ctx.sessionKey(agentName, sessionId);
346
- /**
347
- * ⚠️ FIRST-WINS. Re-stamping on every mismatch would let a peer naming a fresh invented
348
- * predecessor each time hold the escalation off for as long as it kept talking — the grace
349
- * would never expire and the freeze would be unreachable.
350
- *
351
- * ⚠️ AND THE BOUND ON THAT, STATED BECAUSE IT IS NOT CLOSED (review F3): first-wins shuts the
352
- * re-stamp lever, not the CLEAR lever. A peer that interleaves one correctly-chained message
353
- * per grace window resets the clock and can emit mismatched frames indefinitely without ever
354
- * freezing. That costs it one honest message every six minutes and buys it nothing but a
355
- * longer sequence of refusals — every mismatched frame is still refused and nothing is
356
- * ingested — so the bound is documented rather than closed. Closing it would mean counting
357
- * consecutive mismatches beside the clock.
358
- */
359
- if (!this.#selfChainGap.has(key))
360
- this.#selfChainGap.set(key, { firstSeenAt: Date.now() });
361
- if (this.selfChainGapExpired(agentName, sessionId, SELF_CHAIN_GAP_GRACE_MS))
362
- return true;
363
- const ageMs = this.selfChainGapAgeMs(agentName, sessionId) ?? 0;
364
- // Review F6: out-of-order relay delivery is the PREMISE of this change, so the ordinary case
365
- // must not warn — a signal that fires on the normal case is not a signal. It escalates to warn
366
- // once the gap has been open for half the grace, which is the point it stops being ordinary.
367
- const say = ageMs * 2 >= SELF_CHAIN_GAP_GRACE_MS ? this.#ctx.logger.warn : this.#ctx.logger.info;
368
- say.call(this.#ctx.logger, "session.content.self_chain.gap_open", {
369
- agentName, sessionId, correlationId,
370
- gapAgeMs: this.selfChainGapAgeMs(agentName, sessionId),
371
- graceMs: SELF_CHAIN_GAP_GRACE_MS,
372
- impact: "this message names a predecessor of the counterparty's that this side does not hold. It " +
373
- "is REFUSED and nothing was ingested — but the session is NOT frozen, because the " +
374
- "predecessor is most often still in the relay mailbox. A refused message is re-delivered " +
375
- "by the sender, so this usually resolves itself; if the gap is still open after the grace, " +
376
- "the next such message freezes the session.",
377
- });
378
- return false;
379
- }
380
- noteReceivedFromCounterparty(agentName, sessionId, contentHash) {
381
- const key = this.#ctx.sessionKey(agentName, sessionId);
382
- this.#lastFromCounterparty.set(key, Uint8Array.from(contentHash));
383
- let seen = this.#receivedFromCounterparty.get(key);
384
- if (!seen) {
385
- seen = new Set();
386
- this.#receivedFromCounterparty.set(key, seen);
387
- }
388
- seen.add(Buffer.from(contentHash).toString("hex"));
389
- while (seen.size > SELF_CHAIN_MEMORY) {
390
- // Sets iterate in insertion order, so the first entry is the oldest.
391
- const oldest = seen.values().next().value;
392
- if (oldest === undefined)
393
- break;
394
- seen.delete(oldest);
395
- }
396
- }
397
- #verifyAcknowledgedContent(agentName, sessionId, fields) {
398
- /**
399
- * ⚠️ **A v1 CLAIM IS REFUSED THE MOMENT IT NAMES A POSITION — and accepted when it names none.
400
- * The split is the whole rule, so it is stated rather than left to the reader.**
401
- *
402
- * `last_seen_seq >= 1` with no hash IS the defect: "I saw position 7" attests to a position and
403
- * never to content, which is the unbacked number this unit exists to stop accepting. Treating
404
- * that as "fine, skip the check" would recreate `DOD-M15-AUTHORSHIP-ABSENT-1` one layer down —
405
- * an attacker evading a mismatch check simply never supplies a checkable proof.
406
- *
407
- * `last_seen_seq === 0` with no hash claims nothing about our messages, so there is no check to
408
- * skip and nothing to bind. A sender genuinely in that state — a session brokered without a
409
- * relay assignment, which the directory does not always return — has nothing to acknowledge,
410
- * and refusing them would stop the product's own advertised journey to close a hole they are
411
- * not in.
412
- *
413
- * **THE BOUND, SAID PLAINLY:** a peer can decline to bind by never acknowledging anything.
414
- * That costs them their own ratification of our history rather than falsifying it, and it is
415
- * the same under-claiming the relay has always allowed (it refuses a `last_seen_seq` that runs
416
- * AHEAD of its counter, never one that lags). This unit does not change that either way, and
417
- * the follow-on that does is the receiver submitting a hash for what it received.
418
- */
419
- /**
420
- * ⚠️ THERE IS NO "NO ACKNOWLEDGEMENT AT ALL" BRANCH, and its absence is the point.
421
- *
422
- * A claim carrying no `last_seen_hash` cannot exist: there is one Structure 1 layout and both
423
- * chain links are required, so such a claim does not decode and never reaches this method.
424
- * Nothing here may treat a missing acknowledgement as "fine, skip the check" — that is the
425
- * fail-open where an attacker evades a mismatch check by supplying nothing checkable.
426
- */
427
- /**
428
- * THE GENESIS IS A VALUE, NEVER AN ABSENCE. The first message of a session has seen nothing, and
429
- * that case is a defined 32 bytes — the agreed starting point of this two-party chain, derived
430
- * from both keys, the session id and the session timestamp. Not 32 zero bytes: a constant
431
- * identical across every session is one an attacker can present for any session, so the one
432
- * position most exposed to a forged acknowledgement would be the only one nobody could check.
433
- */
434
- if (fields.lastSeenSeq <= 0) {
435
- const genesis = this.#ctx.sessionGenesisPrevRoot(agentName, sessionId);
436
- /**
437
- * ⚠️ **SOFT HERE, AND THIS IS THE ONE BRANCH WHERE THAT IS NOT A FAIL-OPEN — the reasoning is
438
- * the load-bearing part, so it is written down rather than assumed.**
439
- *
440
- * `last_seen_seq` 0 means "I have received nothing from you", and the hash that goes with it
441
- * is the session's agreed starting point. It is a genuine value and this daemon always emits
442
- * it — but as a CHECK it is close to redundant, because the thing it establishes (that this
443
- * claim was made for THIS session) has already been established three lines above by the
444
- * session-id binding, against a value derived from the same session id.
445
- *
446
- * **What an attacker gains by reaching this branch: nothing.** They cannot skip the real
447
- * comparison by claiming 0, because claiming 0 is claiming to have acknowledged NOTHING of
448
- * ours — it removes their own ratification of our history rather than falsifying it, and the
449
- * positional check below is what a claim about our messages has to survive. And they cannot
450
- * cause the absence either: whether we hold a genesis depends on our own assignment and our
451
- * own database, never on anything they send.
452
- *
453
- * The alternative was refusing, and it would have been the wrong kind of strict: a session
454
- * restored from a row written before this column existed holds no genesis, and every first
455
- * message on it would be refused for something the counterparty did not do.
456
- */
457
- if (!genesis) {
458
- this.#ctx.logger.info("session.content.ack_hash.genesis_unavailable", {
459
- agentName, sessionId,
460
- impact: "this message acknowledges nothing yet, and this side holds no recorded starting point " +
461
- "for the session, so the acknowledgement was not compared. The message is accepted: it " +
462
- "is already bound to this conversation by the session id inside the signed bytes.",
463
- });
464
- return undefined;
465
- }
466
- return bytesEqual(fields.lastSeenHash, genesis)
467
- ? undefined
468
- : { verdict: "unusable", reason: AUTHORSHIP_ACK_HASH_MISMATCH };
469
- }
470
- /**
471
- * ─── THE ACKNOWLEDGED CONTENT MUST BE SOMETHING THIS SIDE ACTUALLY HOLDS ─────────────────────
472
- *
473
- * ⚠️ **AN EARLIER VERSION OF THIS CHECK WAS POSITION-ONLY AND HAD A HOLE THE ATTACKER COULD
474
- * OPEN THEMSELVES. It is kept described, not deleted, because the false reasoning is the part
475
- * worth not repeating.**
476
- *
477
- * It compared `hashAt(last_seen_seq - 1)` and WAIVED the whole comparison on a session marked
478
- * diverged, on this stated ground: *"Who controls this absence? Not the peer: divergence is
479
- * caused by OUR submit failing, and nothing the counterparty sends can produce it."*
480
- *
481
- * **That was false, and the party who could falsify it is the exact attacker this line names.**
482
- * Send a message direct-only and never submit its hash: we have no ordering record, so it is
483
- * appended at the tail and our tree runs one ahead of the relay's counter. Our very next send
484
- * then gets an assigned position BEHIND our frontier, `placeOwnLeaf` takes its
485
- * `position_behind_frontier` branch and calls `markSessionDiverged` — and from that moment every
486
- * inbound acknowledgement skipped the check entirely. **One withheld message plus one reply from
487
- * us disabled the guard, using the behaviour the guard exists to catch.**
488
- *
489
- * A second defect sat beside it: a claim naming a position our tree has not reached was refused
490
- * outright, and a HELD own leaf is exactly that — `placeOwnLeaf` returns `{placed: false}` when
491
- * the relay hands us a position ahead of our tail, so the leaf is not in the tree while the
492
- * counterparty has already received it and is acknowledging it. We refused their reply for a
493
- * transient gap on our own machine.
494
- *
495
- * **So the question asked is now about CONTENT, not about an index.** Is the hash they name
496
- * something this side has — placed in the tree, or held pending a gap? That cannot be switched
497
- * off by divergence (it consults no positions), it cannot false-refuse a held leaf, and it still
498
- * refuses a hash we have never held, which is the falsehood the check exists to catch.
499
- *
500
- * The POSITION is then used only to make the check STRONGER where it is safe to: on a session
501
- * whose indices still mean relay positions, the hash must sit exactly where they say it does.
502
- * Divergence loses that strengthening and keeps the membership test, rather than losing both.
503
- */
504
- const tree = this.#ctx.getSessionTree(agentName, sessionId);
505
- const ackHex = Buffer.from(fields.lastSeenHash).toString("hex");
506
- const heldHere = this.#ctx.heldContentFor(agentName, sessionId);
507
- const held = heldHere ? [...heldHere.values()].some((e) => e.contentHashHex === ackHex) : false;
508
- if (tree.indexOfHash(ackHex) === -1 && !held) {
509
- return { verdict: "unusable", reason: AUTHORSHIP_ACK_HASH_UNKNOWN };
510
- }
511
- /**
512
- * THE POSITIONAL STRENGTHENING. Skipped — with a WARN, never silently — when this side's indices
513
- * no longer mean relay positions, or when the leaf at that position is still held. Neither is
514
- * a pass: the membership test above has already run and refused anything we do not hold.
515
- */
516
- const atPosition = tree.hashAt(fields.lastSeenSeq - 1);
517
- if (this.#ctx.isSessionDiverged(agentName, sessionId) || atPosition === null) {
518
- this.#ctx.logger.warn("session.content.ack_hash.position_unverifiable", {
519
- agentName, sessionId, lastSeenSeq: fields.lastSeenSeq,
520
- diverged: this.#ctx.isSessionDiverged(agentName, sessionId),
521
- impact: "the acknowledged content IS in this side's record, so the claim was accepted — but its " +
522
- "POSITION was not checked, because this session's local positions no longer line up with " +
523
- "the relay's, or the leaf at that position has not been placed yet.",
524
- });
525
- return undefined;
526
- }
527
- return ackHex === atPosition
528
- ? undefined
529
- : { verdict: "unusable", reason: AUTHORSHIP_ACK_HASH_MISMATCH };
530
- }
531
- }
532
- //# sourceMappingURL=authorship-verification.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"authorship-verification.js","sourceRoot":"","sources":["../src/authorship-verification.ts"],"names":[],"mappings":"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"}