@cello-protocol/daemon 0.0.227 → 0.0.229

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (895) hide show
  1. package/dist/agent-admin-handlers.d.ts +56 -0
  2. package/dist/agent-admin-handlers.d.ts.map +1 -0
  3. package/dist/agent-admin-handlers.js +73 -0
  4. package/dist/agent-admin-handlers.js.map +1 -0
  5. package/dist/agent-handlers.d.ts +72 -0
  6. package/dist/agent-handlers.d.ts.map +1 -0
  7. package/dist/agent-handlers.js +604 -0
  8. package/dist/agent-handlers.js.map +1 -0
  9. package/dist/agent-id-migration.d.ts +70 -0
  10. package/dist/agent-id-migration.d.ts.map +1 -0
  11. package/dist/agent-id-migration.js +468 -0
  12. package/dist/agent-id-migration.js.map +1 -0
  13. package/dist/agent-loader.d.ts +37 -0
  14. package/dist/agent-loader.d.ts.map +1 -0
  15. package/dist/agent-loader.js +37 -0
  16. package/dist/agent-loader.js.map +1 -0
  17. package/dist/agent-selection-root.d.ts +29 -0
  18. package/dist/agent-selection-root.d.ts.map +1 -0
  19. package/dist/agent-selection-root.js +126 -0
  20. package/dist/agent-selection-root.js.map +1 -0
  21. package/dist/agent-selection.d.ts +73 -0
  22. package/dist/agent-selection.d.ts.map +1 -0
  23. package/dist/agent-selection.js +80 -0
  24. package/dist/agent-selection.js.map +1 -0
  25. package/dist/agent-settings-keys.d.ts +52 -0
  26. package/dist/agent-settings-keys.d.ts.map +1 -0
  27. package/dist/agent-settings-keys.js +114 -0
  28. package/dist/agent-settings-keys.js.map +1 -0
  29. package/dist/agent-state.d.ts +67 -0
  30. package/dist/agent-state.d.ts.map +1 -0
  31. package/dist/agent-state.js +66 -0
  32. package/dist/agent-state.js.map +1 -0
  33. package/dist/assignment-verify.d.ts +90 -0
  34. package/dist/assignment-verify.d.ts.map +1 -0
  35. package/dist/assignment-verify.js +301 -0
  36. package/dist/assignment-verify.js.map +1 -0
  37. package/dist/attendance-wiring.d.ts +23 -0
  38. package/dist/attendance-wiring.d.ts.map +1 -0
  39. package/dist/attendance-wiring.js +248 -0
  40. package/dist/attendance-wiring.js.map +1 -0
  41. package/dist/attestation-body.d.ts +47 -0
  42. package/dist/attestation-body.d.ts.map +1 -0
  43. package/dist/attestation-body.js +71 -0
  44. package/dist/attestation-body.js.map +1 -0
  45. package/dist/authorship-verification.d.ts +91 -0
  46. package/dist/authorship-verification.d.ts.map +1 -0
  47. package/dist/authorship-verification.js +532 -0
  48. package/dist/authorship-verification.js.map +1 -0
  49. package/dist/away-detection.d.ts +139 -0
  50. package/dist/away-detection.d.ts.map +1 -0
  51. package/dist/away-detection.js +186 -0
  52. package/dist/away-detection.js.map +1 -0
  53. package/dist/away-inbox-oneshot.d.ts +40 -0
  54. package/dist/away-inbox-oneshot.d.ts.map +1 -0
  55. package/dist/away-inbox-oneshot.js +311 -0
  56. package/dist/away-inbox-oneshot.js.map +1 -0
  57. package/dist/backup-restore-handlers.d.ts +10 -0
  58. package/dist/backup-restore-handlers.d.ts.map +1 -0
  59. package/dist/backup-restore-handlers.js +82 -0
  60. package/dist/backup-restore-handlers.js.map +1 -0
  61. package/dist/backup-restore.d.ts +102 -0
  62. package/dist/backup-restore.d.ts.map +1 -0
  63. package/dist/backup-restore.js +341 -0
  64. package/dist/backup-restore.js.map +1 -0
  65. package/dist/bin/cello-daemon.d.ts +13 -0
  66. package/dist/bin/cello-daemon.d.ts.map +1 -0
  67. package/dist/bin/cello-daemon.js.map +1 -0
  68. package/dist/boot-agents.d.ts +64 -0
  69. package/dist/boot-agents.d.ts.map +1 -0
  70. package/dist/boot-agents.js +241 -0
  71. package/dist/boot-agents.js.map +1 -0
  72. package/dist/boot-connection-state.d.ts +38 -0
  73. package/dist/boot-connection-state.d.ts.map +1 -0
  74. package/dist/boot-connection-state.js +95 -0
  75. package/dist/boot-connection-state.js.map +1 -0
  76. package/dist/boot-core.d.ts +36 -0
  77. package/dist/boot-core.d.ts.map +1 -0
  78. package/dist/boot-core.js +293 -0
  79. package/dist/boot-core.js.map +1 -0
  80. package/dist/boot-parked-content.d.ts +34 -0
  81. package/dist/boot-parked-content.d.ts.map +1 -0
  82. package/dist/boot-parked-content.js +528 -0
  83. package/dist/boot-parked-content.js.map +1 -0
  84. package/dist/boot-sweeps.d.ts +22 -0
  85. package/dist/boot-sweeps.d.ts.map +1 -0
  86. package/dist/boot-sweeps.js +51 -0
  87. package/dist/boot-sweeps.js.map +1 -0
  88. package/dist/bundled-consortium-manifest.d.ts +47 -0
  89. package/dist/bundled-consortium-manifest.d.ts.map +1 -0
  90. package/dist/bundled-consortium-manifest.js +116 -0
  91. package/dist/bundled-consortium-manifest.js.map +1 -0
  92. package/dist/cbor-blob-migration.d.ts +8 -0
  93. package/dist/cbor-blob-migration.d.ts.map +1 -0
  94. package/dist/cbor-blob-migration.js +116 -0
  95. package/dist/cbor-blob-migration.js.map +1 -0
  96. package/dist/challenge-verifier.d.ts +12 -0
  97. package/dist/challenge-verifier.d.ts.map +1 -0
  98. package/dist/challenge-verifier.js +11 -0
  99. package/dist/challenge-verifier.js.map +1 -0
  100. package/dist/channel-log-store.d.ts +80 -0
  101. package/dist/channel-log-store.d.ts.map +1 -0
  102. package/dist/channel-log-store.js +290 -0
  103. package/dist/channel-log-store.js.map +1 -0
  104. package/dist/close-commitment.d.ts +67 -0
  105. package/dist/close-commitment.d.ts.map +1 -0
  106. package/dist/close-commitment.js +78 -0
  107. package/dist/close-commitment.js.map +1 -0
  108. package/dist/close-session-handler.d.ts +94 -0
  109. package/dist/close-session-handler.d.ts.map +1 -0
  110. package/dist/close-session-handler.js +1418 -0
  111. package/dist/close-session-handler.js.map +1 -0
  112. package/dist/co-attendance.d.ts +29 -0
  113. package/dist/co-attendance.d.ts.map +1 -0
  114. package/dist/co-attendance.js +32 -0
  115. package/dist/co-attendance.js.map +1 -0
  116. package/dist/column-birth.d.ts +40 -0
  117. package/dist/column-birth.d.ts.map +1 -0
  118. package/dist/column-birth.js +61 -0
  119. package/dist/column-birth.js.map +1 -0
  120. package/dist/connect-or-start.d.ts +25 -0
  121. package/dist/connect-or-start.d.ts.map +1 -0
  122. package/dist/connect-or-start.js +175 -0
  123. package/dist/connect-or-start.js.map +1 -0
  124. package/dist/connection-agents.d.ts +16 -0
  125. package/dist/connection-agents.d.ts.map +1 -0
  126. package/dist/connection-agents.js +68 -0
  127. package/dist/connection-agents.js.map +1 -0
  128. package/dist/consent-migration.d.ts +49 -0
  129. package/dist/consent-migration.d.ts.map +1 -0
  130. package/dist/consent-migration.js +128 -0
  131. package/dist/consent-migration.js.map +1 -0
  132. package/dist/consortium-bootstrap.d.ts +138 -0
  133. package/dist/consortium-bootstrap.d.ts.map +1 -0
  134. package/dist/consortium-bootstrap.js +339 -0
  135. package/dist/consortium-bootstrap.js.map +1 -0
  136. package/dist/consortium-fingerprint.d.ts +115 -0
  137. package/dist/consortium-fingerprint.d.ts.map +1 -0
  138. package/dist/consortium-fingerprint.js +175 -0
  139. package/dist/consortium-fingerprint.js.map +1 -0
  140. package/dist/contact-handlers.d.ts +59 -0
  141. package/dist/contact-handlers.d.ts.map +1 -0
  142. package/dist/contact-handlers.js +343 -0
  143. package/dist/contact-handlers.js.map +1 -0
  144. package/dist/contact-pubkey-case.d.ts +65 -0
  145. package/dist/contact-pubkey-case.d.ts.map +1 -0
  146. package/dist/contact-pubkey-case.js +136 -0
  147. package/dist/contact-pubkey-case.js.map +1 -0
  148. package/dist/contacts-tier-migration.d.ts +90 -0
  149. package/dist/contacts-tier-migration.d.ts.map +1 -0
  150. package/dist/contacts-tier-migration.js +150 -0
  151. package/dist/contacts-tier-migration.js.map +1 -0
  152. package/dist/content-encryption-status.d.ts +111 -0
  153. package/dist/content-encryption-status.d.ts.map +1 -0
  154. package/dist/content-encryption-status.js +158 -0
  155. package/dist/content-encryption-status.js.map +1 -0
  156. package/dist/content-park-client.d.ts +90 -0
  157. package/dist/content-park-client.d.ts.map +1 -0
  158. package/dist/content-park-client.js +362 -0
  159. package/dist/content-park-client.js.map +1 -0
  160. package/dist/content-park.d.ts +52 -0
  161. package/dist/content-park.d.ts.map +1 -0
  162. package/dist/content-park.js +1309 -0
  163. package/dist/content-park.js.map +1 -0
  164. package/dist/cross-node-negotiation.d.ts +44 -0
  165. package/dist/cross-node-negotiation.d.ts.map +1 -0
  166. package/dist/cross-node-negotiation.js +34 -0
  167. package/dist/cross-node-negotiation.js.map +1 -0
  168. package/dist/daemon-handle.d.ts +57 -0
  169. package/dist/daemon-handle.d.ts.map +1 -0
  170. package/dist/daemon-handle.js +2 -0
  171. package/dist/daemon-handle.js.map +1 -0
  172. package/dist/daemon-status-report.d.ts +50 -0
  173. package/dist/daemon-status-report.d.ts.map +1 -0
  174. package/dist/daemon-status-report.js +81 -0
  175. package/dist/daemon-status-report.js.map +1 -0
  176. package/dist/daemon.d.ts +45 -0
  177. package/dist/daemon.d.ts.map +1 -0
  178. package/dist/daemon.js +1177 -0
  179. package/dist/daemon.js.map +1 -0
  180. package/dist/db-identity-store.d.ts +159 -0
  181. package/dist/db-identity-store.d.ts.map +1 -0
  182. package/dist/db-identity-store.js +502 -0
  183. package/dist/db-identity-store.js.map +1 -0
  184. package/dist/delivery-open-registry.d.ts +92 -0
  185. package/dist/delivery-open-registry.d.ts.map +1 -0
  186. package/dist/delivery-open-registry.js +121 -0
  187. package/dist/delivery-open-registry.js.map +1 -0
  188. package/dist/delivery-session-suspects.d.ts +56 -0
  189. package/dist/delivery-session-suspects.d.ts.map +1 -0
  190. package/dist/delivery-session-suspects.js +94 -0
  191. package/dist/delivery-session-suspects.js.map +1 -0
  192. package/dist/directory-auth-posture.d.ts +87 -0
  193. package/dist/directory-auth-posture.d.ts.map +1 -0
  194. package/dist/directory-auth-posture.js +134 -0
  195. package/dist/directory-auth-posture.js.map +1 -0
  196. package/dist/directory-bootstrap.d.ts +310 -0
  197. package/dist/directory-bootstrap.d.ts.map +1 -0
  198. package/dist/directory-bootstrap.js +557 -0
  199. package/dist/directory-bootstrap.js.map +1 -0
  200. package/dist/directory-connect.d.ts +27 -0
  201. package/dist/directory-connect.d.ts.map +1 -0
  202. package/dist/directory-connect.js +106 -0
  203. package/dist/directory-connect.js.map +1 -0
  204. package/dist/disconnect-cleanup.d.ts +51 -0
  205. package/dist/disconnect-cleanup.d.ts.map +1 -0
  206. package/dist/disconnect-cleanup.js +72 -0
  207. package/dist/disconnect-cleanup.js.map +1 -0
  208. package/dist/document-amendment-store.d.ts +120 -0
  209. package/dist/document-amendment-store.d.ts.map +1 -0
  210. package/dist/document-amendment-store.js +266 -0
  211. package/dist/document-amendment-store.js.map +1 -0
  212. package/dist/document-delivery-transport.d.ts +168 -0
  213. package/dist/document-delivery-transport.d.ts.map +1 -0
  214. package/dist/document-delivery-transport.js +206 -0
  215. package/dist/document-delivery-transport.js.map +1 -0
  216. package/dist/document-engine.d.ts +134 -0
  217. package/dist/document-engine.d.ts.map +1 -0
  218. package/dist/document-engine.js +282 -0
  219. package/dist/document-engine.js.map +1 -0
  220. package/dist/document-flag.d.ts +58 -0
  221. package/dist/document-flag.d.ts.map +1 -0
  222. package/dist/document-flag.js +70 -0
  223. package/dist/document-flag.js.map +1 -0
  224. package/dist/document-frame-router.d.ts +245 -0
  225. package/dist/document-frame-router.d.ts.map +1 -0
  226. package/dist/document-frame-router.js +397 -0
  227. package/dist/document-frame-router.js.map +1 -0
  228. package/dist/document-gate-wiring.d.ts +61 -0
  229. package/dist/document-gate-wiring.d.ts.map +1 -0
  230. package/dist/document-gate-wiring.js +125 -0
  231. package/dist/document-gate-wiring.js.map +1 -0
  232. package/dist/document-gate.d.ts +149 -0
  233. package/dist/document-gate.d.ts.map +1 -0
  234. package/dist/document-gate.js +509 -0
  235. package/dist/document-gate.js.map +1 -0
  236. package/dist/document-handlers.d.ts +47 -0
  237. package/dist/document-handlers.d.ts.map +1 -0
  238. package/dist/document-handlers.js +2203 -0
  239. package/dist/document-handlers.js.map +1 -0
  240. package/dist/document-handshake.d.ts +176 -0
  241. package/dist/document-handshake.d.ts.map +1 -0
  242. package/dist/document-handshake.js +452 -0
  243. package/dist/document-handshake.js.map +1 -0
  244. package/dist/document-inbound.d.ts +162 -0
  245. package/dist/document-inbound.d.ts.map +1 -0
  246. package/dist/document-inbound.js +530 -0
  247. package/dist/document-inbound.js.map +1 -0
  248. package/dist/document-json.d.ts +120 -0
  249. package/dist/document-json.d.ts.map +1 -0
  250. package/dist/document-json.js +191 -0
  251. package/dist/document-json.js.map +1 -0
  252. package/dist/document-layer.d.ts +215 -0
  253. package/dist/document-layer.d.ts.map +1 -0
  254. package/dist/document-layer.js +1025 -0
  255. package/dist/document-layer.js.map +1 -0
  256. package/dist/document-lifecycle.d.ts +52 -0
  257. package/dist/document-lifecycle.d.ts.map +1 -0
  258. package/dist/document-lifecycle.js +134 -0
  259. package/dist/document-lifecycle.js.map +1 -0
  260. package/dist/document-live-docs.d.ts +58 -0
  261. package/dist/document-live-docs.d.ts.map +1 -0
  262. package/dist/document-live-docs.js +126 -0
  263. package/dist/document-live-docs.js.map +1 -0
  264. package/dist/document-notify.d.ts +228 -0
  265. package/dist/document-notify.d.ts.map +1 -0
  266. package/dist/document-notify.js +580 -0
  267. package/dist/document-notify.js.map +1 -0
  268. package/dist/document-profile.d.ts +61 -0
  269. package/dist/document-profile.d.ts.map +1 -0
  270. package/dist/document-profile.js +112 -0
  271. package/dist/document-profile.js.map +1 -0
  272. package/dist/document-publish.d.ts +87 -0
  273. package/dist/document-publish.d.ts.map +1 -0
  274. package/dist/document-publish.js +173 -0
  275. package/dist/document-publish.js.map +1 -0
  276. package/dist/document-reachability.d.ts +42 -0
  277. package/dist/document-reachability.d.ts.map +1 -0
  278. package/dist/document-reachability.js +80 -0
  279. package/dist/document-reachability.js.map +1 -0
  280. package/dist/document-reconcile-engine.d.ts +66 -0
  281. package/dist/document-reconcile-engine.d.ts.map +1 -0
  282. package/dist/document-reconcile-engine.js +225 -0
  283. package/dist/document-reconcile-engine.js.map +1 -0
  284. package/dist/document-reconcile-scheduler.d.ts +163 -0
  285. package/dist/document-reconcile-scheduler.d.ts.map +1 -0
  286. package/dist/document-reconcile-scheduler.js +303 -0
  287. package/dist/document-reconcile-scheduler.js.map +1 -0
  288. package/dist/document-rejection.d.ts +251 -0
  289. package/dist/document-rejection.d.ts.map +1 -0
  290. package/dist/document-rejection.js +435 -0
  291. package/dist/document-rejection.js.map +1 -0
  292. package/dist/document-screen.d.ts +114 -0
  293. package/dist/document-screen.d.ts.map +1 -0
  294. package/dist/document-screen.js +223 -0
  295. package/dist/document-screen.js.map +1 -0
  296. package/dist/document-store.d.ts +372 -0
  297. package/dist/document-store.d.ts.map +1 -0
  298. package/dist/document-store.js +931 -0
  299. package/dist/document-store.js.map +1 -0
  300. package/dist/document-surface.d.ts +32 -0
  301. package/dist/document-surface.d.ts.map +1 -0
  302. package/dist/document-surface.js +151 -0
  303. package/dist/document-surface.js.map +1 -0
  304. package/dist/document-types.d.ts +94 -0
  305. package/dist/document-types.d.ts.map +1 -0
  306. package/dist/document-types.js +90 -0
  307. package/dist/document-types.js.map +1 -0
  308. package/dist/document-watch.d.ts +69 -0
  309. package/dist/document-watch.d.ts.map +1 -0
  310. package/dist/document-watch.js +108 -0
  311. package/dist/document-watch.js.map +1 -0
  312. package/dist/document-wiring.d.ts +53 -0
  313. package/dist/document-wiring.d.ts.map +1 -0
  314. package/dist/document-wiring.js +323 -0
  315. package/dist/document-wiring.js.map +1 -0
  316. package/dist/document-write-guard.d.ts +66 -0
  317. package/dist/document-write-guard.d.ts.map +1 -0
  318. package/dist/document-write-guard.js +98 -0
  319. package/dist/document-write-guard.js.map +1 -0
  320. package/dist/document-write-path.d.ts +94 -0
  321. package/dist/document-write-path.d.ts.map +1 -0
  322. package/dist/document-write-path.js +530 -0
  323. package/dist/document-write-path.js.map +1 -0
  324. package/dist/error-message.d.ts +7 -0
  325. package/dist/error-message.d.ts.map +1 -0
  326. package/dist/error-message.js +19 -0
  327. package/dist/error-message.js.map +1 -0
  328. package/dist/file-manifest-provider.d.ts +37 -0
  329. package/dist/file-manifest-provider.d.ts.map +1 -0
  330. package/dist/file-manifest-provider.js +105 -0
  331. package/dist/file-manifest-provider.js.map +1 -0
  332. package/dist/frame-values.d.ts +3 -0
  333. package/dist/frame-values.d.ts.map +1 -0
  334. package/dist/frame-values.js +84 -0
  335. package/dist/frame-values.js.map +1 -0
  336. package/dist/frontier-mismatch.d.ts +73 -0
  337. package/dist/frontier-mismatch.d.ts.map +1 -0
  338. package/dist/frontier-mismatch.js +89 -0
  339. package/dist/frontier-mismatch.js.map +1 -0
  340. package/dist/gateway-config-handlers.d.ts +26 -0
  341. package/dist/gateway-config-handlers.d.ts.map +1 -0
  342. package/dist/gateway-config-handlers.js +454 -0
  343. package/dist/gateway-config-handlers.js.map +1 -0
  344. package/dist/held-content.d.ts +145 -0
  345. package/dist/held-content.d.ts.map +1 -0
  346. package/dist/held-content.js +389 -0
  347. package/dist/held-content.js.map +1 -0
  348. package/dist/http-manifest-poll.d.ts +67 -0
  349. package/dist/http-manifest-poll.d.ts.map +1 -0
  350. package/dist/http-manifest-poll.js +150 -0
  351. package/dist/http-manifest-poll.js.map +1 -0
  352. package/dist/identity-migration.d.ts +40 -0
  353. package/dist/identity-migration.d.ts.map +1 -0
  354. package/dist/identity-migration.js +461 -0
  355. package/dist/identity-migration.js.map +1 -0
  356. package/dist/inbound-refusals.d.ts +283 -0
  357. package/dist/inbound-refusals.d.ts.map +1 -0
  358. package/dist/inbound-refusals.js +919 -0
  359. package/dist/inbound-refusals.js.map +1 -0
  360. package/dist/inbound-seal-request.d.ts +32 -0
  361. package/dist/inbound-seal-request.d.ts.map +1 -0
  362. package/dist/inbound-seal-request.js +228 -0
  363. package/dist/inbound-seal-request.js.map +1 -0
  364. package/dist/inbound-sessions.d.ts +291 -0
  365. package/dist/inbound-sessions.d.ts.map +1 -0
  366. package/dist/inbound-sessions.js +1609 -0
  367. package/dist/inbound-sessions.js.map +1 -0
  368. package/dist/inclusion-proof-handlers.d.ts +43 -0
  369. package/dist/inclusion-proof-handlers.d.ts.map +1 -0
  370. package/dist/inclusion-proof-handlers.js +565 -0
  371. package/dist/inclusion-proof-handlers.js.map +1 -0
  372. package/dist/inclusion-proof.d.ts +151 -0
  373. package/dist/inclusion-proof.d.ts.map +1 -0
  374. package/dist/inclusion-proof.js +228 -0
  375. package/dist/inclusion-proof.js.map +1 -0
  376. package/dist/index.d.ts +32 -0
  377. package/dist/index.d.ts.map +1 -0
  378. package/dist/index.js.map +1 -0
  379. package/dist/initiate-session-handler.d.ts +55 -0
  380. package/dist/initiate-session-handler.d.ts.map +1 -0
  381. package/dist/initiate-session-handler.js +310 -0
  382. package/dist/initiate-session-handler.js.map +1 -0
  383. package/dist/ipc-client.d.ts +31 -0
  384. package/dist/ipc-client.d.ts.map +1 -0
  385. package/dist/ipc-client.js +113 -0
  386. package/dist/ipc-client.js.map +1 -0
  387. package/dist/ipc-server.d.ts +63 -0
  388. package/dist/ipc-server.d.ts.map +1 -0
  389. package/dist/ipc-server.js +429 -0
  390. package/dist/ipc-server.js.map +1 -0
  391. package/dist/ipc-surface.d.ts +44 -0
  392. package/dist/ipc-surface.d.ts.map +1 -0
  393. package/dist/ipc-surface.js +107 -0
  394. package/dist/ipc-surface.js.map +1 -0
  395. package/dist/line-lcs.d.ts +51 -0
  396. package/dist/line-lcs.d.ts.map +1 -0
  397. package/dist/line-lcs.js +71 -0
  398. package/dist/line-lcs.js.map +1 -0
  399. package/dist/lock-file.d.ts +39 -0
  400. package/dist/lock-file.d.ts.map +1 -0
  401. package/dist/lock-file.js +120 -0
  402. package/dist/lock-file.js.map +1 -0
  403. package/dist/log-collapse.d.ts +66 -0
  404. package/dist/log-collapse.d.ts.map +1 -0
  405. package/dist/log-collapse.js +244 -0
  406. package/dist/log-collapse.js.map +1 -0
  407. package/dist/log-rotate.d.ts +67 -0
  408. package/dist/log-rotate.d.ts.map +1 -0
  409. package/dist/log-rotate.js +134 -0
  410. package/dist/log-rotate.js.map +1 -0
  411. package/dist/manifest-deps.d.ts +25 -0
  412. package/dist/manifest-deps.d.ts.map +1 -0
  413. package/dist/manifest-deps.js +151 -0
  414. package/dist/manifest-deps.js.map +1 -0
  415. package/dist/manifest-poll-scheduler.d.ts +31 -0
  416. package/dist/manifest-poll-scheduler.d.ts.map +1 -0
  417. package/dist/manifest-poll-scheduler.js +59 -0
  418. package/dist/manifest-poll-scheduler.js.map +1 -0
  419. package/dist/manifest-validity.d.ts +153 -0
  420. package/dist/manifest-validity.d.ts.map +1 -0
  421. package/dist/manifest-validity.js +268 -0
  422. package/dist/manifest-validity.js.map +1 -0
  423. package/dist/manifest-version-store-db.d.ts +24 -0
  424. package/dist/manifest-version-store-db.d.ts.map +1 -0
  425. package/dist/manifest-version-store-db.js +58 -0
  426. package/dist/manifest-version-store-db.js.map +1 -0
  427. package/dist/manifest-version-store.d.ts +16 -0
  428. package/dist/manifest-version-store.d.ts.map +1 -0
  429. package/dist/manifest-version-store.js +15 -0
  430. package/dist/manifest-version-store.js.map +1 -0
  431. package/dist/network-directory-node.d.ts +136 -0
  432. package/dist/network-directory-node.d.ts.map +1 -0
  433. package/dist/network-directory-node.js +810 -0
  434. package/dist/network-directory-node.js.map +1 -0
  435. package/dist/nonce-dedup.d.ts +68 -0
  436. package/dist/nonce-dedup.d.ts.map +1 -0
  437. package/dist/nonce-dedup.js +205 -0
  438. package/dist/nonce-dedup.js.map +1 -0
  439. package/dist/notification-dispatcher.d.ts +92 -0
  440. package/dist/notification-dispatcher.d.ts.map +1 -0
  441. package/dist/notification-dispatcher.js +210 -0
  442. package/dist/notification-dispatcher.js.map +1 -0
  443. package/dist/notification-handlers.d.ts +53 -0
  444. package/dist/notification-handlers.d.ts.map +1 -0
  445. package/dist/notification-handlers.js +461 -0
  446. package/dist/notification-handlers.js.map +1 -0
  447. package/dist/onboarding-guidance.d.ts +79 -0
  448. package/dist/onboarding-guidance.d.ts.map +1 -0
  449. package/dist/onboarding-guidance.js +95 -0
  450. package/dist/onboarding-guidance.js.map +1 -0
  451. package/dist/operator-guidance.d.ts +25 -0
  452. package/dist/operator-guidance.d.ts.map +1 -0
  453. package/dist/operator-guidance.js +50 -0
  454. package/dist/operator-guidance.js.map +1 -0
  455. package/dist/orphan-triage.d.ts +130 -0
  456. package/dist/orphan-triage.d.ts.map +1 -0
  457. package/dist/orphan-triage.js +207 -0
  458. package/dist/orphan-triage.js.map +1 -0
  459. package/dist/outbound-sessions.d.ts +126 -0
  460. package/dist/outbound-sessions.d.ts.map +1 -0
  461. package/dist/outbound-sessions.js +1052 -0
  462. package/dist/outbound-sessions.js.map +1 -0
  463. package/dist/park-envelope.d.ts +329 -0
  464. package/dist/park-envelope.d.ts.map +1 -0
  465. package/dist/park-envelope.js +509 -0
  466. package/dist/park-envelope.js.map +1 -0
  467. package/dist/park-recovery.d.ts +273 -0
  468. package/dist/park-recovery.d.ts.map +1 -0
  469. package/dist/park-recovery.js +717 -0
  470. package/dist/park-recovery.js.map +1 -0
  471. package/dist/park-refusals.d.ts +147 -0
  472. package/dist/park-refusals.d.ts.map +1 -0
  473. package/dist/park-refusals.js +331 -0
  474. package/dist/park-refusals.js.map +1 -0
  475. package/dist/quarantine-framing.d.ts +92 -0
  476. package/dist/quarantine-framing.d.ts.map +1 -0
  477. package/dist/quarantine-framing.js +111 -0
  478. package/dist/quarantine-framing.js.map +1 -0
  479. package/dist/reconnect-drain.d.ts +22 -0
  480. package/dist/reconnect-drain.d.ts.map +1 -0
  481. package/dist/reconnect-drain.js +65 -0
  482. package/dist/reconnect-drain.js.map +1 -0
  483. package/dist/recovered-position.d.ts +14 -0
  484. package/dist/recovered-position.d.ts.map +1 -0
  485. package/dist/recovered-position.js +59 -0
  486. package/dist/recovered-position.js.map +1 -0
  487. package/dist/refusal-notices.d.ts +196 -0
  488. package/dist/refusal-notices.d.ts.map +1 -0
  489. package/dist/refusal-notices.js +516 -0
  490. package/dist/refusal-notices.js.map +1 -0
  491. package/dist/refusal-reasons.d.ts +245 -0
  492. package/dist/refusal-reasons.d.ts.map +1 -0
  493. package/dist/refusal-reasons.js +363 -0
  494. package/dist/refusal-reasons.js.map +1 -0
  495. package/dist/register-handler.d.ts +36 -0
  496. package/dist/register-handler.d.ts.map +1 -0
  497. package/dist/register-handler.js +285 -0
  498. package/dist/register-handler.js.map +1 -0
  499. package/dist/registration-context.d.ts +72 -0
  500. package/dist/registration-context.d.ts.map +1 -0
  501. package/dist/registration-context.js +126 -0
  502. package/dist/registration-context.js.map +1 -0
  503. package/dist/registration-manager.d.ts +94 -0
  504. package/dist/registration-manager.d.ts.map +1 -0
  505. package/dist/registration-manager.js +585 -0
  506. package/dist/registration-manager.js.map +1 -0
  507. package/dist/registration-persistence.d.ts +183 -0
  508. package/dist/registration-persistence.d.ts.map +1 -0
  509. package/dist/registration-persistence.js +263 -0
  510. package/dist/registration-persistence.js.map +1 -0
  511. package/dist/registry-poll.d.ts +52 -0
  512. package/dist/registry-poll.d.ts.map +1 -0
  513. package/dist/registry-poll.js +140 -0
  514. package/dist/registry-poll.js.map +1 -0
  515. package/dist/registry-version-store-db.d.ts +22 -0
  516. package/dist/registry-version-store-db.d.ts.map +1 -0
  517. package/dist/registry-version-store-db.js +50 -0
  518. package/dist/registry-version-store-db.js.map +1 -0
  519. package/dist/relay-endpoints.d.ts +18 -0
  520. package/dist/relay-endpoints.d.ts.map +1 -0
  521. package/dist/relay-endpoints.js +9 -0
  522. package/dist/relay-endpoints.js.map +1 -0
  523. package/dist/relay-only.d.ts +140 -0
  524. package/dist/relay-only.d.ts.map +1 -0
  525. package/dist/relay-only.js +193 -0
  526. package/dist/relay-only.js.map +1 -0
  527. package/dist/relay-receipt-store.d.ts +155 -0
  528. package/dist/relay-receipt-store.d.ts.map +1 -0
  529. package/dist/relay-receipt-store.js +284 -0
  530. package/dist/relay-receipt-store.js.map +1 -0
  531. package/dist/relay-reconnect.d.ts +32 -0
  532. package/dist/relay-reconnect.d.ts.map +1 -0
  533. package/dist/relay-reconnect.js +29 -0
  534. package/dist/relay-reconnect.js.map +1 -0
  535. package/dist/reply-lag.d.ts +11 -0
  536. package/dist/reply-lag.d.ts.map +1 -0
  537. package/dist/reply-lag.js +46 -0
  538. package/dist/reply-lag.js.map +1 -0
  539. package/dist/resolve-named-agent.d.ts +49 -0
  540. package/dist/resolve-named-agent.d.ts.map +1 -0
  541. package/dist/resolve-named-agent.js +77 -0
  542. package/dist/resolve-named-agent.js.map +1 -0
  543. package/dist/restart-seal-resolver.d.ts +110 -0
  544. package/dist/restart-seal-resolver.d.ts.map +1 -0
  545. package/dist/restart-seal-resolver.js +353 -0
  546. package/dist/restart-seal-resolver.js.map +1 -0
  547. package/dist/resume-last-seen.d.ts +15 -0
  548. package/dist/resume-last-seen.d.ts.map +1 -0
  549. package/dist/resume-last-seen.js +44 -0
  550. package/dist/resume-last-seen.js.map +1 -0
  551. package/dist/retry-queue.d.ts +203 -0
  552. package/dist/retry-queue.d.ts.map +1 -0
  553. package/dist/retry-queue.js +701 -0
  554. package/dist/retry-queue.js.map +1 -0
  555. package/dist/roster-freshness.d.ts +160 -0
  556. package/dist/roster-freshness.d.ts.map +1 -0
  557. package/dist/roster-freshness.js +250 -0
  558. package/dist/roster-freshness.js.map +1 -0
  559. package/dist/screening-status.d.ts +15 -0
  560. package/dist/screening-status.d.ts.map +1 -0
  561. package/dist/screening-status.js +65 -0
  562. package/dist/screening-status.js.map +1 -0
  563. package/dist/seal-carried-close.d.ts +37 -0
  564. package/dist/seal-carried-close.d.ts.map +1 -0
  565. package/dist/seal-carried-close.js +179 -0
  566. package/dist/seal-carried-close.js.map +1 -0
  567. package/dist/seal-certificate-pull.d.ts +79 -0
  568. package/dist/seal-certificate-pull.d.ts.map +1 -0
  569. package/dist/seal-certificate-pull.js +186 -0
  570. package/dist/seal-certificate-pull.js.map +1 -0
  571. package/dist/seal-certified-root-check.d.ts +37 -0
  572. package/dist/seal-certified-root-check.d.ts.map +1 -0
  573. package/dist/seal-certified-root-check.js +127 -0
  574. package/dist/seal-certified-root-check.js.map +1 -0
  575. package/dist/seal-coordinator.d.ts +118 -0
  576. package/dist/seal-coordinator.d.ts.map +1 -0
  577. package/dist/seal-coordinator.js +927 -0
  578. package/dist/seal-coordinator.js.map +1 -0
  579. package/dist/seal-escalation.d.ts +80 -0
  580. package/dist/seal-escalation.d.ts.map +1 -0
  581. package/dist/seal-escalation.js +283 -0
  582. package/dist/seal-escalation.js.map +1 -0
  583. package/dist/seal-evidence-root-check.d.ts +70 -0
  584. package/dist/seal-evidence-root-check.d.ts.map +1 -0
  585. package/dist/seal-evidence-root-check.js +199 -0
  586. package/dist/seal-evidence-root-check.js.map +1 -0
  587. package/dist/seal-failure-store.d.ts +139 -0
  588. package/dist/seal-failure-store.d.ts.map +1 -0
  589. package/dist/seal-failure-store.js +207 -0
  590. package/dist/seal-failure-store.js.map +1 -0
  591. package/dist/seal-flows.d.ts +107 -0
  592. package/dist/seal-flows.d.ts.map +1 -0
  593. package/dist/seal-flows.js +638 -0
  594. package/dist/seal-flows.js.map +1 -0
  595. package/dist/seal-frontier-verify.d.ts +103 -0
  596. package/dist/seal-frontier-verify.d.ts.map +1 -0
  597. package/dist/seal-frontier-verify.js +143 -0
  598. package/dist/seal-frontier-verify.js.map +1 -0
  599. package/dist/seal-leaf.d.ts +58 -0
  600. package/dist/seal-leaf.d.ts.map +1 -0
  601. package/dist/seal-leaf.js +112 -0
  602. package/dist/seal-leaf.js.map +1 -0
  603. package/dist/seal-legibility-tbs.d.ts +25 -0
  604. package/dist/seal-legibility-tbs.d.ts.map +1 -0
  605. package/dist/seal-legibility-tbs.js +77 -0
  606. package/dist/seal-legibility-tbs.js.map +1 -0
  607. package/dist/seal-local-terminus.d.ts +41 -0
  608. package/dist/seal-local-terminus.d.ts.map +1 -0
  609. package/dist/seal-local-terminus.js +170 -0
  610. package/dist/seal-local-terminus.js.map +1 -0
  611. package/dist/seal-receipt-upgrade.d.ts +30 -0
  612. package/dist/seal-receipt-upgrade.d.ts.map +1 -0
  613. package/dist/seal-receipt-upgrade.js +49 -0
  614. package/dist/seal-receipt-upgrade.js.map +1 -0
  615. package/dist/seal-relay-silence.d.ts +51 -0
  616. package/dist/seal-relay-silence.d.ts.map +1 -0
  617. package/dist/seal-relay-silence.js +76 -0
  618. package/dist/seal-relay-silence.js.map +1 -0
  619. package/dist/seal-settle.d.ts +38 -0
  620. package/dist/seal-settle.d.ts.map +1 -0
  621. package/dist/seal-settle.js +33 -0
  622. package/dist/seal-settle.js.map +1 -0
  623. package/dist/seal-upgrade.d.ts +107 -0
  624. package/dist/seal-upgrade.d.ts.map +1 -0
  625. package/dist/seal-upgrade.js +200 -0
  626. package/dist/seal-upgrade.js.map +1 -0
  627. package/dist/sealed-conversation.d.ts +36 -0
  628. package/dist/sealed-conversation.d.ts.map +1 -0
  629. package/dist/sealed-conversation.js +171 -0
  630. package/dist/sealed-conversation.js.map +1 -0
  631. package/dist/sealed-leaf-set.d.ts +92 -0
  632. package/dist/sealed-leaf-set.d.ts.map +1 -0
  633. package/dist/sealed-leaf-set.js +122 -0
  634. package/dist/sealed-leaf-set.js.map +1 -0
  635. package/dist/send-claims.d.ts +56 -0
  636. package/dist/send-claims.d.ts.map +1 -0
  637. package/dist/send-claims.js +50 -0
  638. package/dist/send-claims.js.map +1 -0
  639. package/dist/session-assignment-parser.d.ts +104 -0
  640. package/dist/session-assignment-parser.d.ts.map +1 -0
  641. package/dist/session-assignment-parser.js +345 -0
  642. package/dist/session-assignment-parser.js.map +1 -0
  643. package/dist/session-category.d.ts +19 -0
  644. package/dist/session-category.d.ts.map +1 -0
  645. package/dist/session-category.js +14 -0
  646. package/dist/session-category.js.map +1 -0
  647. package/dist/session-ceremony.d.ts +297 -0
  648. package/dist/session-ceremony.d.ts.map +1 -0
  649. package/dist/session-ceremony.js +964 -0
  650. package/dist/session-ceremony.js.map +1 -0
  651. package/dist/session-closed.d.ts +79 -0
  652. package/dist/session-closed.d.ts.map +1 -0
  653. package/dist/session-closed.js +189 -0
  654. package/dist/session-closed.js.map +1 -0
  655. package/dist/session-connection-gater.d.ts +148 -0
  656. package/dist/session-connection-gater.d.ts.map +1 -0
  657. package/dist/session-connection-gater.js +332 -0
  658. package/dist/session-connection-gater.js.map +1 -0
  659. package/dist/session-content-context.d.ts +162 -0
  660. package/dist/session-content-context.d.ts.map +1 -0
  661. package/dist/session-content-context.js +2 -0
  662. package/dist/session-content-context.js.map +1 -0
  663. package/dist/session-content-handlers.d.ts +82 -0
  664. package/dist/session-content-handlers.d.ts.map +1 -0
  665. package/dist/session-content-handlers.js +1382 -0
  666. package/dist/session-content-handlers.js.map +1 -0
  667. package/dist/session-content-ingest.d.ts +206 -0
  668. package/dist/session-content-ingest.d.ts.map +1 -0
  669. package/dist/session-content-ingest.js +2167 -0
  670. package/dist/session-content-ingest.js.map +1 -0
  671. package/dist/session-content-send.d.ts +191 -0
  672. package/dist/session-content-send.d.ts.map +1 -0
  673. package/dist/session-content-send.js +1360 -0
  674. package/dist/session-content-send.js.map +1 -0
  675. package/dist/session-delivery-acks.d.ts +169 -0
  676. package/dist/session-delivery-acks.d.ts.map +1 -0
  677. package/dist/session-delivery-acks.js +569 -0
  678. package/dist/session-delivery-acks.js.map +1 -0
  679. package/dist/session-ephemerals.d.ts +279 -0
  680. package/dist/session-ephemerals.d.ts.map +1 -0
  681. package/dist/session-ephemerals.js +591 -0
  682. package/dist/session-ephemerals.js.map +1 -0
  683. package/dist/session-leaf-records.d.ts +159 -0
  684. package/dist/session-leaf-records.d.ts.map +1 -0
  685. package/dist/session-leaf-records.js +408 -0
  686. package/dist/session-leaf-records.js.map +1 -0
  687. package/dist/session-lifecycle.d.ts +303 -0
  688. package/dist/session-lifecycle.d.ts.map +1 -0
  689. package/dist/session-lifecycle.js +1679 -0
  690. package/dist/session-lifecycle.js.map +1 -0
  691. package/dist/session-liveness.d.ts +135 -0
  692. package/dist/session-liveness.d.ts.map +1 -0
  693. package/dist/session-liveness.js +347 -0
  694. package/dist/session-liveness.js.map +1 -0
  695. package/dist/session-name.d.ts +35 -0
  696. package/dist/session-name.d.ts.map +1 -0
  697. package/dist/session-name.js +60 -0
  698. package/dist/session-name.js.map +1 -0
  699. package/dist/session-node-factory.d.ts +18 -0
  700. package/dist/session-node-factory.d.ts.map +1 -0
  701. package/dist/session-node-factory.js +182 -0
  702. package/dist/session-node-factory.js.map +1 -0
  703. package/dist/session-node-manager.d.ts +877 -0
  704. package/dist/session-node-manager.d.ts.map +1 -0
  705. package/dist/session-node-manager.js +2998 -0
  706. package/dist/session-node-manager.js.map +1 -0
  707. package/dist/session-node-types.d.ts +1057 -0
  708. package/dist/session-node-types.d.ts.map +1 -0
  709. package/dist/session-node-types.js +657 -0
  710. package/dist/session-node-types.js.map +1 -0
  711. package/dist/session-notify.d.ts +46 -0
  712. package/dist/session-notify.d.ts.map +1 -0
  713. package/dist/session-notify.js +116 -0
  714. package/dist/session-notify.js.map +1 -0
  715. package/dist/session-own-chain-store.d.ts +65 -0
  716. package/dist/session-own-chain-store.d.ts.map +1 -0
  717. package/dist/session-own-chain-store.js +75 -0
  718. package/dist/session-own-chain-store.js.map +1 -0
  719. package/dist/session-queries.d.ts +476 -0
  720. package/dist/session-queries.d.ts.map +1 -0
  721. package/dist/session-queries.js +1007 -0
  722. package/dist/session-queries.js.map +1 -0
  723. package/dist/session-read-handlers.d.ts +87 -0
  724. package/dist/session-read-handlers.d.ts.map +1 -0
  725. package/dist/session-read-handlers.js +689 -0
  726. package/dist/session-read-handlers.js.map +1 -0
  727. package/dist/session-records.d.ts +341 -0
  728. package/dist/session-records.d.ts.map +1 -0
  729. package/dist/session-records.js +858 -0
  730. package/dist/session-records.js.map +1 -0
  731. package/dist/session-relay-client.d.ts +659 -0
  732. package/dist/session-relay-client.d.ts.map +1 -0
  733. package/dist/session-relay-client.js +2876 -0
  734. package/dist/session-relay-client.js.map +1 -0
  735. package/dist/session-relay.d.ts +397 -0
  736. package/dist/session-relay.d.ts.map +1 -0
  737. package/dist/session-relay.js +1636 -0
  738. package/dist/session-relay.js.map +1 -0
  739. package/dist/session-salt-agreement.d.ts +331 -0
  740. package/dist/session-salt-agreement.d.ts.map +1 -0
  741. package/dist/session-salt-agreement.js +472 -0
  742. package/dist/session-salt-agreement.js.map +1 -0
  743. package/dist/session-salts.d.ts +432 -0
  744. package/dist/session-salts.d.ts.map +1 -0
  745. package/dist/session-salts.js +1540 -0
  746. package/dist/session-salts.js.map +1 -0
  747. package/dist/session-schema.d.ts +30 -0
  748. package/dist/session-schema.d.ts.map +1 -0
  749. package/dist/session-schema.js +877 -0
  750. package/dist/session-schema.js.map +1 -0
  751. package/dist/session-seal-leaf-store.d.ts +70 -0
  752. package/dist/session-seal-leaf-store.d.ts.map +1 -0
  753. package/dist/session-seal-leaf-store.js +105 -0
  754. package/dist/session-seal-leaf-store.js.map +1 -0
  755. package/dist/session-seal.d.ts +334 -0
  756. package/dist/session-seal.d.ts.map +1 -0
  757. package/dist/session-seal.js +1017 -0
  758. package/dist/session-seal.js.map +1 -0
  759. package/dist/session-terminal-refusal.d.ts +65 -0
  760. package/dist/session-terminal-refusal.d.ts.map +1 -0
  761. package/dist/session-terminal-refusal.js +87 -0
  762. package/dist/session-terminal-refusal.js.map +1 -0
  763. package/dist/session-tree.d.ts +110 -0
  764. package/dist/session-tree.d.ts.map +1 -0
  765. package/dist/session-tree.js +144 -0
  766. package/dist/session-tree.js.map +1 -0
  767. package/dist/session-views.d.ts +47 -0
  768. package/dist/session-views.d.ts.map +1 -0
  769. package/dist/session-views.js +278 -0
  770. package/dist/session-views.js.map +1 -0
  771. package/dist/signal-handlers.d.ts +63 -0
  772. package/dist/signal-handlers.d.ts.map +1 -0
  773. package/dist/signal-handlers.js +980 -0
  774. package/dist/signal-handlers.js.map +1 -0
  775. package/dist/signal-requirement-policy.d.ts +51 -0
  776. package/dist/signal-requirement-policy.d.ts.map +1 -0
  777. package/dist/signal-requirement-policy.js +89 -0
  778. package/dist/signal-requirement-policy.js.map +1 -0
  779. package/dist/signal-revocability.d.ts +49 -0
  780. package/dist/signal-revocability.d.ts.map +1 -0
  781. package/dist/signal-revocability.js +93 -0
  782. package/dist/signal-revocability.js.map +1 -0
  783. package/dist/signal-submission.d.ts +181 -0
  784. package/dist/signal-submission.d.ts.map +1 -0
  785. package/dist/signal-submission.js +368 -0
  786. package/dist/signal-submission.js.map +1 -0
  787. package/dist/signaling-connect.d.ts +118 -0
  788. package/dist/signaling-connect.d.ts.map +1 -0
  789. package/dist/signaling-connect.js +538 -0
  790. package/dist/signaling-connect.js.map +1 -0
  791. package/dist/signaling-wiring.d.ts +105 -0
  792. package/dist/signaling-wiring.d.ts.map +1 -0
  793. package/dist/signaling-wiring.js +393 -0
  794. package/dist/signaling-wiring.js.map +1 -0
  795. package/dist/singleton-lock.d.ts +85 -0
  796. package/dist/singleton-lock.d.ts.map +1 -0
  797. package/dist/singleton-lock.js +219 -0
  798. package/dist/singleton-lock.js.map +1 -0
  799. package/dist/sqlcipher-db.d.ts +139 -0
  800. package/dist/sqlcipher-db.d.ts.map +1 -0
  801. package/dist/sqlcipher-db.js +357 -0
  802. package/dist/sqlcipher-db.js.map +1 -0
  803. package/dist/standing-receivers.d.ts +319 -0
  804. package/dist/standing-receivers.d.ts.map +1 -0
  805. package/dist/standing-receivers.js +1295 -0
  806. package/dist/standing-receivers.js.map +1 -0
  807. package/dist/start-agent.d.ts +64 -0
  808. package/dist/start-agent.d.ts.map +1 -0
  809. package/dist/start-agent.js +136 -0
  810. package/dist/start-agent.js.map +1 -0
  811. package/dist/status-handler.d.ts +54 -0
  812. package/dist/status-handler.d.ts.map +1 -0
  813. package/dist/status-handler.js +61 -0
  814. package/dist/status-handler.js.map +1 -0
  815. package/dist/submission-retry.d.ts +208 -0
  816. package/dist/submission-retry.d.ts.map +1 -0
  817. package/dist/submission-retry.js +506 -0
  818. package/dist/submission-retry.js.map +1 -0
  819. package/dist/telegram-bot-client.d.ts +34 -0
  820. package/dist/telegram-bot-client.d.ts.map +1 -0
  821. package/dist/telegram-bot-client.js +36 -0
  822. package/dist/telegram-bot-client.js.map +1 -0
  823. package/dist/telegram-doorbell.d.ts +38 -0
  824. package/dist/telegram-doorbell.d.ts.map +1 -0
  825. package/dist/telegram-doorbell.js +140 -0
  826. package/dist/telegram-doorbell.js.map +1 -0
  827. package/dist/test-handlers.d.ts +62 -0
  828. package/dist/test-handlers.d.ts.map +1 -0
  829. package/dist/test-handlers.js +240 -0
  830. package/dist/test-handlers.js.map +1 -0
  831. package/dist/testing.d.ts +10 -0
  832. package/dist/testing.d.ts.map +1 -0
  833. package/dist/testing.js +10 -0
  834. package/dist/testing.js.map +1 -0
  835. package/dist/transport-composition.d.ts +31 -0
  836. package/dist/transport-composition.d.ts.map +1 -0
  837. package/dist/transport-composition.js +55 -0
  838. package/dist/transport-composition.js.map +1 -0
  839. package/dist/transport-selector.d.ts +202 -0
  840. package/dist/transport-selector.d.ts.map +1 -0
  841. package/dist/transport-selector.js +196 -0
  842. package/dist/transport-selector.js.map +1 -0
  843. package/dist/trust-signal-pickup-listener.d.ts +43 -0
  844. package/dist/trust-signal-pickup-listener.d.ts.map +1 -0
  845. package/dist/trust-signal-pickup-listener.js +48 -0
  846. package/dist/trust-signal-pickup-listener.js.map +1 -0
  847. package/dist/trust-signal-store.d.ts +406 -0
  848. package/dist/trust-signal-store.d.ts.map +1 -0
  849. package/dist/trust-signal-store.js +939 -0
  850. package/dist/trust-signal-store.js.map +1 -0
  851. package/dist/trust-signal-sweep-tick.d.ts +60 -0
  852. package/dist/trust-signal-sweep-tick.d.ts.map +1 -0
  853. package/dist/trust-signal-sweep-tick.js +101 -0
  854. package/dist/trust-signal-sweep-tick.js.map +1 -0
  855. package/dist/trust-signal-sweep.d.ts +94 -0
  856. package/dist/trust-signal-sweep.d.ts.map +1 -0
  857. package/dist/trust-signal-sweep.js +147 -0
  858. package/dist/trust-signal-sweep.js.map +1 -0
  859. package/dist/type-registry.d.ts +42 -0
  860. package/dist/type-registry.d.ts.map +1 -0
  861. package/dist/type-registry.js +37 -0
  862. package/dist/type-registry.js.map +1 -0
  863. package/dist/types.d.ts +746 -0
  864. package/dist/types.d.ts.map +1 -0
  865. package/dist/types.js +20 -0
  866. package/dist/types.js.map +1 -0
  867. package/dist/unresolved-nodes-report.d.ts +14 -0
  868. package/dist/unresolved-nodes-report.d.ts.map +1 -0
  869. package/dist/unresolved-nodes-report.js +96 -0
  870. package/dist/unresolved-nodes-report.js.map +1 -0
  871. package/dist/vocabulary.d.ts +150 -0
  872. package/dist/vocabulary.d.ts.map +1 -0
  873. package/dist/vocabulary.js +386 -0
  874. package/dist/vocabulary.js.map +1 -0
  875. package/dist/who-label.d.ts +28 -0
  876. package/dist/who-label.d.ts.map +1 -0
  877. package/dist/who-label.js +31 -0
  878. package/dist/who-label.js.map +1 -0
  879. package/dist/who-resolver.d.ts +15 -0
  880. package/dist/who-resolver.d.ts.map +1 -0
  881. package/dist/who-resolver.js +47 -0
  882. package/dist/who-resolver.js.map +1 -0
  883. package/dist/wire-content-hash.d.ts +93 -0
  884. package/dist/wire-content-hash.d.ts.map +1 -0
  885. package/dist/wire-content-hash.js +116 -0
  886. package/dist/wire-content-hash.js.map +1 -0
  887. package/dist/withheld-content.d.ts +13 -0
  888. package/dist/withheld-content.d.ts.map +1 -0
  889. package/dist/withheld-content.js +46 -0
  890. package/dist/withheld-content.js.map +1 -0
  891. package/dist/witness-alerts.d.ts +40 -0
  892. package/dist/witness-alerts.d.ts.map +1 -0
  893. package/dist/witness-alerts.js +102 -0
  894. package/dist/witness-alerts.js.map +1 -0
  895. package/package.json +5 -5
@@ -0,0 +1,516 @@
1
+ import { REFUSAL_KINDS } from "./refusal-reasons.js";
2
+ import { refusalRecurrence } from "./park-refusals.js";
3
+ import { extractErrorMessage } from "./error-message.js";
4
+ import { TIER } from "./contacts-tier-migration.js";
5
+ import { MAX_REFUSALS_PER_READ, MAX_REFUSAL_READERS, } from "./session-node-types.js";
6
+ export class RefusalNotices {
7
+ #ctx;
8
+ constructor(ctx) {
9
+ this.#ctx = ctx;
10
+ }
11
+ /** A getter so the moved queries still read `this.#db` and narrow exactly as they did. */
12
+ get #db() {
13
+ return this.#ctx.db();
14
+ }
15
+ /**
16
+ * DOD-M15-NO-SILENT-REFUSAL-1 review F6 — refusal notices that could NOT be persisted.
17
+ *
18
+ * Empty in every healthy daemon. It exists so that a database failure costs the restart property
19
+ * and nothing else: without it, the operator-facing surface for a refusal disappears entirely the
20
+ * moment the write fails, which is strictly worse than the in-memory Map this store replaced.
21
+ * `session.refusal.persist.failed` fires at ERROR on every entry that lands here.
22
+ */
23
+ #refusalFallback = new Map();
24
+ /**
25
+ * The one read path behind both doors. `sessionId` narrows it; omitted, it spans the agent.
26
+ *
27
+ * A single implementation on purpose: the per-consumer rule and the order-of-magnitude rule are
28
+ * the two properties this unit must not lose, and two copies of them is two things to keep true.
29
+ */
30
+ drainRefusals(agentName, consumerId, sessionId) {
31
+ const out = [];
32
+ let truncated = false;
33
+ const now = Date.now();
34
+ let agentId = null;
35
+ if (this.#db) {
36
+ try {
37
+ agentId = this.#ctx.requireAgentId(agentName);
38
+ }
39
+ catch {
40
+ // A name that resolves to no active agent has no notices by construction. Already logged by
41
+ // #requireAgentId; re-throwing would fail a read that has nothing to report.
42
+ agentId = null;
43
+ }
44
+ }
45
+ if (agentId !== null && this.#db) {
46
+ /**
47
+ * ⚠️ NEWEST FIRST, AND CAPPED — review F3, and the ordering is the load-bearing half.
48
+ *
49
+ * Read state is keyed on IPC connection id, so every new window and every restart is a
50
+ * consumer that has been told nothing, and the drain returns every notice ever recorded for
51
+ * that agent. Oldest-first and uncapped, the first thing an operator saw after a restart was a
52
+ * chronological archive whose top entry was the oldest refusal on record and whose newest —
53
+ * the one explaining the conversation that just went quiet — was at the bottom. That is a
54
+ * section people learn to scroll past, which is the failure this whole line exists to end.
55
+ *
56
+ * `LIMIT` is `+ 1` so the cap can be DETECTED rather than assumed; the extra row is dropped
57
+ * and `truncated` is reported to the caller, which says so on the list itself.
58
+ *
59
+ * ⚠️ `rowid DESC` is the TIEBREAK and it is load-bearing, not tidiness. `last_at` is
60
+ * `Date.now()`, so notices recorded in the same millisecond have no defined order and "newest
61
+ * first" was true only on average — measured by a test that recorded 30 notices in one tick
62
+ * and got them back in an order SQLite was free to choose. rowid is monotonic per insert, so
63
+ * the tiebreak is insertion order, which for a same-millisecond batch is exactly recency.
64
+ */
65
+ const rows = (sessionId === undefined
66
+ ? this.#db
67
+ .prepare(`SELECT n.session_id, n.reason, n.kind, n.impact, n.guidance, n.count, r.seen_count,
68
+ t.total AS lifetime_total, t.seeded AS lifetime_seeded,
69
+ t.first_at AS lifetime_first_at, t.last_at AS lifetime_last_at
70
+ FROM content_refusal_notices n
71
+ LEFT JOIN content_refusal_reads r
72
+ ON r.agent_id = n.agent_id AND r.session_id = n.session_id
73
+ AND r.reason = n.reason AND r.consumer_id = ?
74
+ LEFT JOIN content_refusal_totals t
75
+ ON t.agent_id = n.agent_id AND t.session_id = n.session_id
76
+ AND t.reason = n.reason
77
+ WHERE n.agent_id = ?
78
+ AND (r.seen_count IS NULL OR n.count >= r.seen_count * 10)
79
+ ORDER BY n.last_at DESC, n.rowid DESC LIMIT ?`)
80
+ .all(consumerId, agentId, MAX_REFUSALS_PER_READ + 1)
81
+ : this.#db
82
+ .prepare(`SELECT n.session_id, n.reason, n.kind, n.impact, n.guidance, n.count, r.seen_count,
83
+ t.total AS lifetime_total, t.seeded AS lifetime_seeded,
84
+ t.first_at AS lifetime_first_at, t.last_at AS lifetime_last_at
85
+ FROM content_refusal_notices n
86
+ LEFT JOIN content_refusal_reads r
87
+ ON r.agent_id = n.agent_id AND r.session_id = n.session_id
88
+ AND r.reason = n.reason AND r.consumer_id = ?
89
+ LEFT JOIN content_refusal_totals t
90
+ ON t.agent_id = n.agent_id AND t.session_id = n.session_id
91
+ AND t.reason = n.reason
92
+ WHERE n.agent_id = ? AND n.session_id = ?
93
+ AND (r.seen_count IS NULL OR n.count >= r.seen_count * 10)
94
+ ORDER BY n.last_at DESC, n.rowid DESC LIMIT ?`)
95
+ .all(consumerId, agentId, sessionId, MAX_REFUSALS_PER_READ + 1));
96
+ if (rows.length > MAX_REFUSALS_PER_READ) {
97
+ truncated = true;
98
+ rows.length = MAX_REFUSALS_PER_READ;
99
+ }
100
+ for (const row of rows) {
101
+ const firstTime = row.seen_count === null;
102
+ /**
103
+ * ⚠️ The unseen test is IN THE QUERY (review N4), and this line is a belt, not the gate.
104
+ *
105
+ * Applied only here, the `LIMIT` cut the newest 25 notices and THEN discarded the ones this
106
+ * consumer had already seen — so a consumer holding read rows for the newest 25 got an empty
107
+ * answer forever and a genuinely unseen notice at position 26 could never be reached. The
108
+ * cap has to cut UNSHOWN notices, which means the filter has to run before it.
109
+ *
110
+ * `seen_count` is at least 1 whenever it is set, so this cannot loop on zero.
111
+ */
112
+ if (!firstTime && row.count < row.seen_count * 10)
113
+ continue;
114
+ this.#db
115
+ .prepare(`INSERT INTO content_refusal_reads
116
+ (agent_id, session_id, reason, consumer_id, seen_count, seen_at)
117
+ VALUES (?, ?, ?, ?, ?, ?)
118
+ ON CONFLICT(agent_id, session_id, reason, consumer_id) DO UPDATE SET
119
+ seen_count = excluded.seen_count, seen_at = excluded.seen_at`)
120
+ .run(agentId, row.session_id, row.reason, consumerId, row.count, now);
121
+ this.#ctx.queries.evictOldestReads(agentId, row.session_id, row.reason);
122
+ out.push({
123
+ sessionId: row.session_id,
124
+ reason: row.reason,
125
+ kind: row.kind,
126
+ impact: row.impact,
127
+ guidance: row.guidance,
128
+ timesSinceDismissed: row.count,
129
+ /**
130
+ * DOD-M15-REFUSALTERMINAL-1 — three states, and they are three different claims.
131
+ *
132
+ * A counted total is a FIGURE. A seeded row is a FLOOR, and says so by using a different
133
+ * field name (review F1c). `null` means no totals row at all, which after the upgrade
134
+ * backfill can only happen when the notice write itself failed — reported as ABSENT
135
+ * rather than as the smaller number, because substituting it is the defect this unit
136
+ * exists to remove.
137
+ */
138
+ ...(row.lifetime_total === null
139
+ ? {}
140
+ : row.lifetime_seeded === 1
141
+ ? { timesTotalAtLeast: row.lifetime_total }
142
+ : { timesTotal: row.lifetime_total }),
143
+ /**
144
+ * `041-PARKSTUCK` Unit 2, property 2 — A LOOP SAYS THAT IT IS ONE.
145
+ *
146
+ * `times_total_at_least: 731` with nothing beside it reads as 731 things going wrong.
147
+ * The row knows better: it holds the first and last time this reason fired, so the
148
+ * cadence is a division rather than a guess. Absent when the row cannot support the
149
+ * claim — see `refusalRecurrence`.
150
+ */
151
+ ...(() => {
152
+ const r = row.lifetime_total === null || row.lifetime_first_at === null || row.lifetime_last_at === null
153
+ ? null
154
+ : refusalRecurrence(row.lifetime_total, row.lifetime_first_at, row.lifetime_last_at,
155
+ // Review M5: the SAME flag the two fields above branch on. Reading it here is
156
+ // what stops the sentence asserting a figure the row records as a floor.
157
+ row.lifetime_seeded === 1);
158
+ return r === null ? {} : { recurrence: r };
159
+ })(),
160
+ ...(firstTime ? {} : { repeat: true }),
161
+ });
162
+ }
163
+ }
164
+ /**
165
+ * The unpersisted notices (review F6), under the SAME per-consumer and order-of-magnitude rules.
166
+ * Reading them differently would make a database failure change WHAT the operator is told rather
167
+ * than only how long it survives — and that difference is the thing hardest to notice.
168
+ *
169
+ * Collected separately and REVERSED before joining, not appended in place — review N2. A Map
170
+ * yields insertion order, which is oldest-first, so appending them straight after the DB half
171
+ * (which is newest-first) put the newest notices at the bottom on exactly the daemon where the
172
+ * fallback is the only half there is.
173
+ */
174
+ const fromFallback = [];
175
+ for (const [key, perSession] of this.#refusalFallback) {
176
+ const sid = this.#ctx.unkey(key, agentName);
177
+ if (sid === null)
178
+ continue;
179
+ if (sessionId !== undefined && sid !== sessionId)
180
+ continue;
181
+ for (const [reason, notice] of perSession) {
182
+ const shownAt = notice.surfacedTo.get(consumerId);
183
+ const firstTime = shownAt === undefined;
184
+ if (!firstTime && notice.count < shownAt * 10)
185
+ continue;
186
+ notice.surfacedTo.set(consumerId, notice.count);
187
+ // Bounded like the table's read rows are (review N2): a consumer id is an IPC connection id,
188
+ // so without this a long-running daemon grows one entry per reconnect, in memory, on the
189
+ // very path that exists because the disk is already failing.
190
+ if (notice.surfacedTo.size > MAX_REFUSAL_READERS) {
191
+ const oldest = notice.surfacedTo.keys().next();
192
+ if (!oldest.done)
193
+ notice.surfacedTo.delete(oldest.value);
194
+ }
195
+ // `timesTotal` is deliberately absent: this notice exists because the durable write failed,
196
+ // so there is no lifetime record to report and inventing one from `notice.count` would
197
+ // restore the exact misreading this unit removes.
198
+ fromFallback.push({
199
+ sessionId: sid, reason, kind: notice.kind, impact: notice.impact,
200
+ guidance: notice.guidance, timesSinceDismissed: notice.count,
201
+ ...(firstTime ? {} : { repeat: true }),
202
+ });
203
+ }
204
+ }
205
+ out.push(...fromFallback.reverse());
206
+ /**
207
+ * ONE cap over BOTH halves — review N2.
208
+ *
209
+ * `LIMIT` governs the table only. A persistent database fault (a full disk, which is also the
210
+ * likeliest cause of `transcript_write_failed`) routes EVERY refusal to the fallback, so the cap
211
+ * this unit added was undone for exactly the daemon already in trouble.
212
+ *
213
+ * The truncation keeps the DB half preferentially, and that is the right bias: those rows are
214
+ * the ones that survive a restart, and they are already ordered newest-first.
215
+ */
216
+ if (out.length > MAX_REFUSALS_PER_READ) {
217
+ truncated = true;
218
+ out.length = MAX_REFUSALS_PER_READ;
219
+ }
220
+ return { notices: out, truncated };
221
+ }
222
+ /**
223
+ * ─── DOD-M15-NO-SILENT-REFUSAL-1: refusals the RECEIVING operator can actually see ────────────
224
+ *
225
+ * Every inbound refusal already logs a `reason`, an `impact` and a `guidance` — and they are
226
+ * good. They had no reader. From the receiving operator's chair a refused message simply never
227
+ * arrives: the conversation goes quiet with a full explanation sitting in a file they have no
228
+ * reason to open, and they conclude the other person stopped replying.
229
+ *
230
+ * **DURABLE, and that is the half that makes this useful.** The predecessor kept notices in a
231
+ * `Map` on this instance and drained them on the receive path for one session. So a restart lost
232
+ * them, and an agent NOBODY IS ATTENDING lost them too — the connection is live, the daemon is
233
+ * up, and the notice only ever reaches whoever happens to call `cello_receive` on that exact
234
+ * session. `cello_check_notifications` now reads them as its own inbox category.
235
+ *
236
+ * **DEDUPLICATED PER SESSION PER REASON, and that is the design, not an optimisation.** A skewed
237
+ * peer turns one problem into a flood: the first refusal of a kind is the signal, the ninetieth is
238
+ * noise that trains the operator to ignore the surface. `count` keeps the scale visible without
239
+ * repeating the alert.
240
+ *
241
+ * **NEVER carries the content.** It failed verification; surfacing it is the injection path the
242
+ * cross-check exists to close. The operator learns that a message was refused and why — never
243
+ * what it said.
244
+ */
245
+ /**
246
+ * Record an inbound refusal for the operator. First of its kind per session is the signal.
247
+ *
248
+ * ⚠️ **DOES NOT THROW, and that is a decision with a cost — stated so it is not mistaken for an
249
+ * oversight.** Every call site here has already decided to refuse and is about to return a reason
250
+ * to its caller; a throw would replace that clean refusal with an exception on the ingest path,
251
+ * changing what the SENDER observes because this daemon could not file a note. So a persistence
252
+ * failure is logged at ERROR under `session.refusal.persist.failed`, carrying the reason, the
253
+ * impact and the guidance verbatim — the forensic record survives even when the operator-facing
254
+ * one does not. It is not silent; it is one surface short, and the log says which notice was lost.
255
+ */
256
+ noteContentRefusal(agentName, sessionId, reason,
257
+ /**
258
+ * ALL THREE REQUIRED, and that is the enforcement rather than the convention.
259
+ *
260
+ * The DoD clause is "every reason calls this with an impact and a guidance", and an optional
261
+ * field makes that a thing a reviewer checks by reading thirteen call sites. `kind` is required
262
+ * for the same reason one level up: the header over a list of refusals is composed from it, and
263
+ * a notice that could omit it would silently inherit whichever header happened to be first.
264
+ */
265
+ detail) {
266
+ try {
267
+ if (!this.#db)
268
+ throw new Error("database is not open");
269
+ const agentId = this.#ctx.requireAgentId(agentName);
270
+ const now = Date.now();
271
+ /**
272
+ * ⚠️ **BOTH WRITES OR NEITHER — review F6, and the comment this replaces was wrong.**
273
+ *
274
+ * It argued that putting the totals insert in the same `try` made the two "fail together".
275
+ * It does not: each `.run()` autocommits, so the notice could persist and the total throw —
276
+ * and the `catch` then ALSO writes an in-memory fallback entry for a notice that is already
277
+ * in the table. The drain unions the two halves without deduplicating on (session, reason),
278
+ * so the operator would see the same refusal TWICE, once with a lifetime figure and once
279
+ * without, one of them blaming a disk fault. Before this unit a single statement made that
280
+ * state impossible; the second statement is what created it.
281
+ *
282
+ * `ROLLBACK` is best-effort because SQLite may have aborted the transaction already — the
283
+ * same shape `agent-id-migration.ts` uses — and it must never mask the original error.
284
+ */
285
+ this.#db.exec("BEGIN");
286
+ try {
287
+ // `count` grows on conflict; impact and guidance are refreshed, because a later refusal of the
288
+ // same reason may know more than the first (the salt branch has four causes and names them).
289
+ this.#db
290
+ .prepare(`INSERT INTO content_refusal_notices
291
+ (agent_id, session_id, reason, kind, impact, guidance, count, first_at, last_at)
292
+ VALUES (?, ?, ?, ?, ?, ?, 1, ?, ?)
293
+ ON CONFLICT(agent_id, session_id, reason) DO UPDATE SET
294
+ count = count + 1, kind = excluded.kind, impact = excluded.impact,
295
+ guidance = excluded.guidance, last_at = excluded.last_at`)
296
+ .run(agentId, sessionId, reason, detail.kind, detail.impact, detail.guidance, now, now);
297
+ /**
298
+ * DOD-M15-REFUSALTERMINAL-1 — the lifetime tally, in the SAME `try` on purpose.
299
+ *
300
+ * If the notice write failed there is no notice to hang a total off, and the fallback below
301
+ * has no durable counterpart to read — so the two must fail together. A total that survived a
302
+ * failed notice would be a number nobody could see, and one that was written twice for a
303
+ * retried notice would be worse than absent.
304
+ */
305
+ this.#db
306
+ .prepare(
307
+ // `seeded` stays whatever the row already has. A row seeded at upgrade remains a LOWER
308
+ // BOUND for the life of that (session, reason) — counting forward from an incomplete
309
+ // figure does not recover the refusals dismissal already erased, and clearing the flag
310
+ // would turn "at least 58" into a claimed total of 59.
311
+ `INSERT INTO content_refusal_totals
312
+ (agent_id, session_id, reason, total, first_at, last_at, seeded)
313
+ VALUES (?, ?, ?, 1, ?, ?, 0)
314
+ ON CONFLICT(agent_id, session_id, reason) DO UPDATE SET
315
+ total = total + 1, last_at = excluded.last_at`)
316
+ .run(agentId, sessionId, reason, now, now);
317
+ this.#db.exec("COMMIT");
318
+ }
319
+ catch (inner) {
320
+ try {
321
+ this.#db.exec("ROLLBACK");
322
+ }
323
+ catch { /* already aborted by SQLite */ }
324
+ throw inner;
325
+ }
326
+ }
327
+ catch (err) {
328
+ this.#ctx.logger.error("session.refusal.persist.failed", {
329
+ agentName, sessionId, reason,
330
+ impact: detail.impact,
331
+ guidance: detail.guidance,
332
+ error: extractErrorMessage(err),
333
+ consequence: "this refusal could not be written to the notice store, so it will not survive a restart. It is held in memory for this process instead, so the operator is still told while this daemon runs. The reason, impact and guidance above are the whole notice.",
334
+ });
335
+ /**
336
+ * DOD-M15-NO-SILENT-REFUSAL-1 review F6 — the fallback, and why it is not the silent kind.
337
+ *
338
+ * The store this replaced was an in-memory Map, which could not fail: recording a refusal was
339
+ * a `set`, so the receive door always had the notice for the life of the process. Making the
340
+ * store durable made it, in the failure case, LESS available than before — a DB write failure
341
+ * left no operator-facing surface at all, only a log line.
342
+ *
343
+ * So a failed write falls back to exactly what the Map did. This is not a fallback that hides
344
+ * a fault: the ERROR above fires every time, naming the notice and the cause, and what is lost
345
+ * is only the restart property — which is the property the database was unavailable for
346
+ * anyway. A silent fallback is one that makes a broken system look healthy; this one is
347
+ * announced, and it preserves the surface rather than substituting for it.
348
+ */
349
+ const key = this.#ctx.sessionKey(agentName, sessionId);
350
+ let perSession = this.#refusalFallback.get(key);
351
+ if (!perSession) {
352
+ perSession = new Map();
353
+ this.#refusalFallback.set(key, perSession);
354
+ }
355
+ const existing = perSession.get(reason);
356
+ if (existing) {
357
+ existing.count += 1;
358
+ existing.kind = detail.kind;
359
+ existing.impact = detail.impact;
360
+ existing.guidance = detail.guidance;
361
+ return;
362
+ }
363
+ perSession.set(reason, { ...detail, count: 1, surfacedTo: new Map() });
364
+ }
365
+ }
366
+ /**
367
+ * DOD-M15-NO-SILENT-REFUSAL-1 — the per-session byte cap, from the operator's chair.
368
+ *
369
+ * This is the harshest refusal on the inbound path and the one that reads least like a fault:
370
+ * once the cap is crossed, EVERY later message from that sender on that session is refused, for
371
+ * the life of the session. The counterparty is told nothing either, so from both chairs the other
372
+ * person simply stopped replying.
373
+ *
374
+ * One method rather than two copies because the cap is checked twice — once before the screening
375
+ * await and once after, against freshly-read totals — and a notice that differs between the two
376
+ * would describe a different refusal depending on timing.
377
+ */
378
+ /**
379
+ * DOD-M15-REFUSEDEVIDENCE-1 — **THE BYTE CAP RETAINS NOTHING, and that is a ruling, not an
380
+ * oversight.**
381
+ *
382
+ * Retention is universal everywhere else in this method. Here it is not, because retaining would
383
+ * defeat the very bound it enforces: a session already over its storage budget cannot be given
384
+ * more storage as a reward for exceeding it, and `#getReceivedBytesTotal` counts quarantined bytes
385
+ * precisely so that budget is honest.
386
+ *
387
+ * Andre, 2026-09-03: *"The message limit is the message limit, already handled by the cap. If
388
+ * you're unknown and you have 25 MB and you just tried to send me one gig, well that's it."*
389
+ *
390
+ * The ABUSE is still evidenced — this notice records the reason, the cap and the tier, and every
391
+ * message the session did retain is still there. What is not kept is the oversized payload.
392
+ */
393
+ noteSizeCapRefusal(agentName, sessionId, cap, tier) {
394
+ /**
395
+ * ⚠️ **IN MEGABYTES, WITH THE BYTES BESIDE THEM.** "26214400 bytes" is not a number anyone reads
396
+ * as 25 MB, and the operator being told a conversation just ended deserves to understand the
397
+ * limit that ended it at a glance. The raw figure stays because it is the exact bound.
398
+ */
399
+ const mb = Math.round((cap / 1_048_576) * 10) / 10;
400
+ /**
401
+ * The access level as a QUOTED LOWERCASE LABEL, never a bare word.
402
+ *
403
+ * `their tier is UNKNOWN` reads as "we could not determine their tier" — the opposite of what it
404
+ * says. UNKNOWN is the NAME of the level a sender has before the operator adds them as a
405
+ * contact. Quoting it and lowercasing it makes it a label rather than a failure.
406
+ */
407
+ const level = (Object.entries(TIER).find(([, v]) => v === tier)?.[0] ?? String(tier)).toLowerCase();
408
+ this.noteContentRefusal(agentName, sessionId, "session_size_limit_exceeded", {
409
+ kind: REFUSAL_KINDS.REFUSED,
410
+ impact: `This conversation has hit its size limit for this sender: ${mb} MB (${cap} bytes), which is the limit at their access level ("${level}"). The message was not delivered, and neither will anything else they send in this conversation. They were not told — from their side it sent normally.`,
411
+ guidance: `The limit is per conversation and does not reset, so waiting will not clear it. Start a NEW conversation with them to keep talking. If you trust them, raising their access level with cello_contact_set_tier gives them a larger limit next time — it does not revive this one. Tell them what happened: they have no way to know.`,
412
+ });
413
+ }
414
+ /**
415
+ * Drain the refusals a GIVEN CONSUMER has not been shown yet, and remember what it was shown.
416
+ *
417
+ * ─── Why this is keyed by consumer, and not by a single flag ──────────────────────────────────
418
+ *
419
+ * It used to set one `surfaced: boolean` on the notice. Two MCP windows attending the same agent
420
+ * is the ordinary case, and under that flag whoever read FIRST consumed the notice — the second
421
+ * window was told nothing, permanently. **That is the same defect `takeReceivedContent` had**, and
422
+ * the comment above the delivery loop in `session-content-handlers.ts` spells out why it was
423
+ * removed: *"reading is non-destructive by construction. Nothing one consumer does mutates state
424
+ * another consumer reads."*
425
+ *
426
+ * ─── Why the count has a reader ───────────────────────────────────────────────────────────────
427
+ *
428
+ * A reason RE-ANNOUNCES to a consumer when its count has grown by an order of magnitude since that
429
+ * consumer last saw it (1 → 10 → 100 → …), marked `repeat: true`. That keeps the first refusal the
430
+ * signal and the ninetieth silent, which is the dedup's point, while still making a skew that has
431
+ * swallowed hundreds of messages visible — at a handful of announcements per session, not one per
432
+ * message.
433
+ *
434
+ * ─── What a restart does, deliberately ────────────────────────────────────────────────────────
435
+ *
436
+ * The notices survive; the read state is keyed by IPC connection id, which does not. So after a
437
+ * restart every notice is unseen again and the next reader is told. That is the correct direction:
438
+ * a fresh window has not been told anything, and re-announcing costs one line where staying silent
439
+ * costs the whole point of storing it.
440
+ */
441
+ takeContentRefusals(agentName, sessionId,
442
+ /**
443
+ * REQUIRED, deliberately — no default.
444
+ *
445
+ * It had one (`"default"`), and a default is the defect this method was rewritten to remove,
446
+ * lying in wait: any future call site that omits the argument silently shares ONE bucket across
447
+ * every window, the first reader consumes the notice for all the others, and nothing fails to
448
+ * compile and no test goes red. The parameter existing is not the protection; being unable to
449
+ * forget it is.
450
+ */
451
+ consumerId) {
452
+ // `sessionId` is dropped from each entry: the caller passed it in and every entry carries the
453
+ // same one, so repeating it back would be a field that can never say anything. The agent-wide
454
+ // door below keeps it, because there it is the only thing that says WHICH conversation.
455
+ //
456
+ // `truncated` is dropped too, and only here: one session's notices cannot reach the cap (the
457
+ // reasons are a bounded set), so a flag that can never be true is a field readers learn to skip.
458
+ return this.drainRefusals(agentName, consumerId, sessionId).notices.map(({ sessionId: _drop, ...rest }) => rest);
459
+ }
460
+ /**
461
+ * DOD-M15-NO-SILENT-REFUSAL-1: the operator has seen these and does not want to see them again.
462
+ *
463
+ * ⚠️ **WITHOUT THIS THE NOTICES ARE PERMANENT, and that is what makes people stop reading the
464
+ * inbox.** "Already shown you" is tracked per WINDOW — a new MCP connection has been told nothing,
465
+ * so it is told everything. Someone on an older build messages you, you sort it out with them,
466
+ * they upgrade, and every new session you ever open still opens with that refusal.
467
+ *
468
+ * Dismissing does NOT turn anything off. If the cause fires again the notice comes back, because
469
+ * a fresh refusal writes a fresh row. The operator is saying "I know", not "stop telling me".
470
+ *
471
+ * Returns how many were cleared, so the caller can say so rather than claiming a silent success.
472
+ */
473
+ dismissContentRefusals(agentName, sessionId) {
474
+ if (!this.#db)
475
+ return 0;
476
+ let agentId;
477
+ try {
478
+ agentId = this.#ctx.requireAgentId(agentName);
479
+ }
480
+ catch {
481
+ return 0;
482
+ }
483
+ this.#refusalFallback.delete(this.#ctx.sessionKey(agentName, sessionId));
484
+ const res = this.#db
485
+ .prepare("DELETE FROM content_refusal_notices WHERE agent_id = ? AND session_id = ?")
486
+ .run(agentId, sessionId);
487
+ this.#db
488
+ .prepare("DELETE FROM content_refusal_reads WHERE agent_id = ? AND session_id = ?")
489
+ .run(agentId, sessionId);
490
+ return Number(res.changes);
491
+ }
492
+ /**
493
+ * DOD-M15-NO-SILENT-REFUSAL-1: every unshown refusal for an agent, ACROSS its sessions.
494
+ *
495
+ * The inbox's door. `takeContentRefusals` answers for one session because its caller already holds
496
+ * one; `cello_check_notifications` holds an agent and nothing else, and the case this whole line
497
+ * exists for is that nobody is attending any of that agent's sessions — so a per-session read
498
+ * cannot reach it. Same store, same per-consumer rule, same re-announce.
499
+ */
500
+ takeAgentContentRefusals(agentName, consumerId) {
501
+ return this.drainRefusals(agentName, consumerId);
502
+ }
503
+ /**
504
+ * Drop the IN-MEMORY fallback notices for one session.
505
+ *
506
+ * ⚠️ THE DURABLE ROWS ARE NOT TOUCHED, and the omission is deliberate rather than forgotten. They
507
+ * live in `content_refusal_notices` keyed on agent_id + session_id, and the question they answer —
508
+ * "why did my counterparty go quiet?" — outlives the session that produced it. Only the in-memory
509
+ * fallback, which exists for the case where the write to disk failed, is dropped here; leaving it
510
+ * would let a store that is already in trouble grow without bound in memory as well.
511
+ */
512
+ evictSession(agentName, sessionId) {
513
+ this.#refusalFallback.delete(this.#ctx.sessionKey(agentName, sessionId));
514
+ }
515
+ }
516
+ //# sourceMappingURL=refusal-notices.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"refusal-notices.js","sourceRoot":"","sources":["../src/refusal-notices.ts"],"names":[],"mappings":"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"}