@cello-protocol/daemon 0.0.227 → 0.0.228

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 +429 -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 @@
1
+ {"version":3,"file":"close-session-handler.js","sourceRoot":"","sources":["../src/close-session-handler.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * DOD-COATTEND-VISIBLE-1 (M8D Tier 0) — co-attendance bookkeeping.
3
+ *
4
+ * Several sessions may attend one agent. That is DELIBERATE and permanent (spec §3: co-attendance,
5
+ * not exclusivity — connections die constantly, exclusivity buys no cryptographic property, and it
6
+ * forecloses listener mode). What was missing is not a restriction; it is VISIBILITY.
7
+ *
8
+ * HOW MANY sessions attend an agent. `daemon.ts`'s `isAttended()` answers a boolean on first match
9
+ * and deliberately never counts — M8C-AWAY-1's auto-ack suppression hangs off it, so it is left
10
+ * exactly as it is. `countAttendance` is ADDITIVE and shares its one source of truth: the same
11
+ * `currentAgent` map the doorbell routes on. A private second counter could disagree with who
12
+ * actually gets woken; this cannot.
13
+ *
14
+ * The ledger of WHICH connection consumed a message is gone (2026-09-13). `cello_receive` now reads
15
+ * against one bookmark per agent, so "another window read it" is no longer a different state from
16
+ * "it was read" — the message was read by this agent, and `cello_transcript` shows it.
17
+ */
18
+ /** The slice of per-connection state attendance depends on. Structural, so both call sites fit. */
19
+ export interface AttendanceConnState {
20
+ readonly currentAgent: string | null;
21
+ }
22
+ /**
23
+ * How many live connections currently attend `agentName`.
24
+ *
25
+ * NOT a replacement for `isAttended()`. That function's early return drives the away-response
26
+ * decision; this one only ever reports. Both read the same map, so they cannot disagree.
27
+ */
28
+ export declare function countAttendance(perConnectionState: ReadonlyMap<string, AttendanceConnState>, agentName: string): number;
29
+ //# sourceMappingURL=co-attendance.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"co-attendance.d.ts","sourceRoot":"","sources":["../src/co-attendance.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,mGAAmG;AACnG,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;CACtC;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAC7B,kBAAkB,EAAE,WAAW,CAAC,MAAM,EAAE,mBAAmB,CAAC,EAC5D,SAAS,EAAE,MAAM,GAChB,MAAM,CAMR"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * DOD-COATTEND-VISIBLE-1 (M8D Tier 0) — co-attendance bookkeeping.
3
+ *
4
+ * Several sessions may attend one agent. That is DELIBERATE and permanent (spec §3: co-attendance,
5
+ * not exclusivity — connections die constantly, exclusivity buys no cryptographic property, and it
6
+ * forecloses listener mode). What was missing is not a restriction; it is VISIBILITY.
7
+ *
8
+ * HOW MANY sessions attend an agent. `daemon.ts`'s `isAttended()` answers a boolean on first match
9
+ * and deliberately never counts — M8C-AWAY-1's auto-ack suppression hangs off it, so it is left
10
+ * exactly as it is. `countAttendance` is ADDITIVE and shares its one source of truth: the same
11
+ * `currentAgent` map the doorbell routes on. A private second counter could disagree with who
12
+ * actually gets woken; this cannot.
13
+ *
14
+ * The ledger of WHICH connection consumed a message is gone (2026-09-13). `cello_receive` now reads
15
+ * against one bookmark per agent, so "another window read it" is no longer a different state from
16
+ * "it was read" — the message was read by this agent, and `cello_transcript` shows it.
17
+ */
18
+ /**
19
+ * How many live connections currently attend `agentName`.
20
+ *
21
+ * NOT a replacement for `isAttended()`. That function's early return drives the away-response
22
+ * decision; this one only ever reports. Both read the same map, so they cannot disagree.
23
+ */
24
+ export function countAttendance(perConnectionState, agentName) {
25
+ let attending = 0;
26
+ for (const state of perConnectionState.values()) {
27
+ if (state.currentAgent === agentName)
28
+ attending += 1;
29
+ }
30
+ return attending;
31
+ }
32
+ //# sourceMappingURL=co-attendance.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"co-attendance.js","sourceRoot":"","sources":["../src/co-attendance.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAOH;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAC7B,kBAA4D,EAC5D,SAAiB;IAEjB,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,KAAK,MAAM,KAAK,IAAI,kBAAkB,CAAC,MAAM,EAAE,EAAE,CAAC;QAChD,IAAI,KAAK,CAAC,YAAY,KAAK,SAAS;YAAE,SAAS,IAAI,CAAC,CAAC;IACvD,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC"}
@@ -0,0 +1,40 @@
1
+ /**
2
+ * COLUMN BIRTH — adding a column to a table an operator already holds data in.
3
+ *
4
+ * `ALTER TABLE … ADD COLUMN` throws when the column is already there, and that throw is the guard:
5
+ * it is how a birth-gated migration stays idempotent without a version table nobody maintains. The
6
+ * pattern is right. The way it was written twice in this codebase was not:
7
+ *
8
+ * try { db.exec(sql); } catch { }
9
+ *
10
+ * A bare catch cannot tell "already present" — the expected, benign case, which happens on every
11
+ * start after the first — from a schema that is actually broken. So a real failure produced no log
12
+ * line, no throw, and no symptom at the point of failure. The only evidence would be every later
13
+ * query on that column failing, in a different subsystem, with a message that names neither the
14
+ * migration nor the table.
15
+ *
16
+ * That matters most exactly where it is least observable: the FIRST run on a new machine. A second
17
+ * operator, or a fresh database, is where a migration executes for real — and it was the one place
18
+ * the code was guaranteed to say nothing.
19
+ *
20
+ * So: match the benign case by its message and return; anything else is logged under its own event
21
+ * and rethrown. Rethrowing is the deliberate half. If the column cannot be added, every query that
22
+ * reads it fails anyway — the choice is not between working and failing, it is between failing at
23
+ * startup with the cause named and failing later somewhere else with the cause lost.
24
+ */
25
+ import type { Logger } from "./types.js";
26
+ /**
27
+ * Run one `ADD COLUMN`, treating "already present" as success and everything else as a fault.
28
+ *
29
+ * `table` and `column` are for the log line only — the SQL is the authority. They are separate
30
+ * arguments rather than parsed out of it because a regex over SQL is a second, worse parser, and
31
+ * the caller already knows both.
32
+ */
33
+ export declare function addColumnIfMissing(db: {
34
+ exec(sql: string): void;
35
+ }, logger: Logger, input: {
36
+ table: string;
37
+ column: string;
38
+ sql: string;
39
+ }): void;
40
+ //# sourceMappingURL=column-birth.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"column-birth.d.ts","sourceRoot":"","sources":["../src/column-birth.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAazC;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAChC,EAAE,EAAE;IAAE,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,EAC/B,MAAM,EAAE,MAAM,EACd,KAAK,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GACpD,IAAI,CAgBN"}
@@ -0,0 +1,61 @@
1
+ /**
2
+ * COLUMN BIRTH — adding a column to a table an operator already holds data in.
3
+ *
4
+ * `ALTER TABLE … ADD COLUMN` throws when the column is already there, and that throw is the guard:
5
+ * it is how a birth-gated migration stays idempotent without a version table nobody maintains. The
6
+ * pattern is right. The way it was written twice in this codebase was not:
7
+ *
8
+ * try { db.exec(sql); } catch { }
9
+ *
10
+ * A bare catch cannot tell "already present" — the expected, benign case, which happens on every
11
+ * start after the first — from a schema that is actually broken. So a real failure produced no log
12
+ * line, no throw, and no symptom at the point of failure. The only evidence would be every later
13
+ * query on that column failing, in a different subsystem, with a message that names neither the
14
+ * migration nor the table.
15
+ *
16
+ * That matters most exactly where it is least observable: the FIRST run on a new machine. A second
17
+ * operator, or a fresh database, is where a migration executes for real — and it was the one place
18
+ * the code was guaranteed to say nothing.
19
+ *
20
+ * So: match the benign case by its message and return; anything else is logged under its own event
21
+ * and rethrown. Rethrowing is the deliberate half. If the column cannot be added, every query that
22
+ * reads it fails anyway — the choice is not between working and failing, it is between failing at
23
+ * startup with the cause named and failing later somewhere else with the cause lost.
24
+ */
25
+ import { extractErrorMessage } from "./error-message.js";
26
+ /**
27
+ * SQLite's wording for "this column is already here", which is the whole benign case.
28
+ *
29
+ * Matched on the MESSAGE rather than a code because the driver surfaces a plain `Error`. Anchored
30
+ * to the phrase rather than the column name so one expression covers every call site — and
31
+ * deliberately NOT a loose `/duplicate/`, which would also swallow a duplicate-table or
32
+ * duplicate-index failure that has nothing to do with this column.
33
+ */
34
+ const ALREADY_PRESENT = /duplicate column name/i;
35
+ /**
36
+ * Run one `ADD COLUMN`, treating "already present" as success and everything else as a fault.
37
+ *
38
+ * `table` and `column` are for the log line only — the SQL is the authority. They are separate
39
+ * arguments rather than parsed out of it because a regex over SQL is a second, worse parser, and
40
+ * the caller already knows both.
41
+ */
42
+ export function addColumnIfMissing(db, logger, input) {
43
+ try {
44
+ db.exec(input.sql);
45
+ }
46
+ catch (err) {
47
+ const message = extractErrorMessage(err);
48
+ if (ALREADY_PRESENT.test(message))
49
+ return;
50
+ // NAMED, at error, before the rethrow — so the cause is in the log even if something upstream
51
+ // catches the throw and reports it as a generic startup failure.
52
+ logger.error("db.column_birth.failed", {
53
+ table: input.table,
54
+ column: input.column,
55
+ sql: input.sql,
56
+ error: message,
57
+ });
58
+ throw err;
59
+ }
60
+ }
61
+ //# sourceMappingURL=column-birth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"column-birth.js","sourceRoot":"","sources":["../src/column-birth.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAGH,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAEzD;;;;;;;GAOG;AACH,MAAM,eAAe,GAAG,wBAAwB,CAAC;AAEjD;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB,CAChC,EAA+B,EAC/B,MAAc,EACd,KAAqD;IAErD,IAAI,CAAC;QACH,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACrB,CAAC;IAAC,OAAO,GAAY,EAAE,CAAC;QACtB,MAAM,OAAO,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;QACzC,IAAI,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC;YAAE,OAAO;QAC1C,8FAA8F;QAC9F,iEAAiE;QACjE,MAAM,CAAC,KAAK,CAAC,wBAAwB,EAAE;YACrC,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,GAAG,EAAE,KAAK,CAAC,GAAG;YACd,KAAK,EAAE,OAAO;SACf,CAAC,CAAC;QACH,MAAM,GAAG,CAAC;IACZ,CAAC;AACH,CAAC"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Connect-or-start logic for the CELLO daemon.
3
+ *
4
+ * Pseudocode:
5
+ * 1. connectOrStart(celloDir, logger):
6
+ * a. Try to connect to the daemon socket. If it answers, we are done.
7
+ * b. Otherwise ask the KERNEL whether a daemon holds the singleton lock (DOD-SINGLE-DAEMON-1):
8
+ * - HELD → a daemon is alive but not answering (mid-startup, or its socket was destroyed).
9
+ * Retry the connection, then fail loudly. NEVER spawn a second daemon beside it,
10
+ * and never delete its lock.
11
+ * - FREE → no daemon is running, whatever daemon.lock claims. Clear the stale lock, spawn,
12
+ * and wait for the socket to accept connections.
13
+ *
14
+ * The lock FILE is not consulted to make this decision — only the OS lock is. A pid in a JSON file
15
+ * can be dead, or REUSED by an unrelated process (in which case `isProcessAlive` says "alive"
16
+ * forever, and a daemon that trusted it would never start again).
17
+ */
18
+ import { type IpcClient } from "./ipc-client.js";
19
+ import type { Logger } from "./types.js";
20
+ export interface ConnectResult {
21
+ client: IpcClient;
22
+ alreadyRunning: boolean;
23
+ }
24
+ export declare function connectOrStart(celloDir: string, logger: Logger, daemonBin: string): Promise<ConnectResult>;
25
+ //# sourceMappingURL=connect-or-start.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connect-or-start.d.ts","sourceRoot":"","sources":["../src/connect-or-start.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAQH,OAAO,EAAmB,KAAK,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAClE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAGzC,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,SAAS,CAAC;IAClB,cAAc,EAAE,OAAO,CAAC;CACzB;AAED,wBAAsB,cAAc,CAClC,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,aAAa,CAAC,CAqDxB"}
@@ -0,0 +1,175 @@
1
+ /**
2
+ * Connect-or-start logic for the CELLO daemon.
3
+ *
4
+ * Pseudocode:
5
+ * 1. connectOrStart(celloDir, logger):
6
+ * a. Try to connect to the daemon socket. If it answers, we are done.
7
+ * b. Otherwise ask the KERNEL whether a daemon holds the singleton lock (DOD-SINGLE-DAEMON-1):
8
+ * - HELD → a daemon is alive but not answering (mid-startup, or its socket was destroyed).
9
+ * Retry the connection, then fail loudly. NEVER spawn a second daemon beside it,
10
+ * and never delete its lock.
11
+ * - FREE → no daemon is running, whatever daemon.lock claims. Clear the stale lock, spawn,
12
+ * and wait for the socket to accept connections.
13
+ *
14
+ * The lock FILE is not consulted to make this decision — only the OS lock is. A pid in a JSON file
15
+ * can be dead, or REUSED by an unrelated process (in which case `isProcessAlive` says "alive"
16
+ * forever, and a daemon that trusted it would never start again).
17
+ */
18
+ import { spawn } from "node:child_process";
19
+ import { mkdir, readFile } from "node:fs/promises";
20
+ import { openLogHandle } from "./log-rotate.js";
21
+ import { join } from "node:path";
22
+ import { readLock, removeLock } from "./lock-file.js";
23
+ import { probeSingletonLock, SINGLETON_LOCK_FILENAME, EXIT_ALREADY_RUNNING } from "./singleton-lock.js";
24
+ import { connectToDaemon } from "./ipc-client.js";
25
+ import { extractErrorMessage } from "./error-message.js";
26
+ export async function connectOrStart(celloDir, logger, daemonBin) {
27
+ // A CELLO_DIR that does not exist yet (first ever run) would make the singleton probe below fail to
28
+ // open its lock file, and "I could not ask the kernel" would be reported as "I don't know whether a
29
+ // daemon is running" — a blind spot invented out of an empty directory. Create it first; the daemon
30
+ // does the same on startup, so this changes nothing except the quality of the answer.
31
+ await mkdir(celloDir, { recursive: true });
32
+ const lockFilePath = join(celloDir, "daemon.lock");
33
+ const lock = await readLock(lockFilePath);
34
+ // The socket path is deterministic; the lock's copy is metadata, and it may be stale.
35
+ const socketPath = lock?.socketPath ?? join(celloDir, "daemon.sock");
36
+ // 1. If a daemon is answering, we are done. This is the overwhelmingly common path.
37
+ try {
38
+ return { client: await connectToDaemon(socketPath), alreadyRunning: true };
39
+ }
40
+ catch {
41
+ // Not answering. WHY it is not answering is the whole question — see below.
42
+ }
43
+ // 2. Ask the KERNEL whether a daemon is alive, not `daemon.lock`.
44
+ //
45
+ // DOD-SINGLE-DAEMON-1 (AC3): the old code asked `isProcessAlive(lock.pid)` and, when the socket
46
+ // did not answer, called the lock "stale", deleted it, and spawned a second daemon onto the live
47
+ // one's database. Both of its beliefs were unreliable: a pid can be REUSED (so a dead daemon's lock
48
+ // looks alive forever), and a live daemon can legitimately not answer yet (it is mid-startup, or an
49
+ // exiting orphan deleted its socket). The lock file cannot tell these apart. The OS lock can.
50
+ const probe = probeSingletonLock(celloDir, logger);
51
+ if (probe === "held") {
52
+ // A daemon is holding the lock right now. Spawning beside it is never correct. It may simply be
53
+ // mid-startup, so give it a moment to come up.
54
+ const client = await connectWithRetry(celloDir, socketPath, logger, lock?.pid ?? null);
55
+ return { client, alreadyRunning: true };
56
+ }
57
+ if (probe === "unknown") {
58
+ // We could not ask the kernel. That is NOT permission to spawn: "I don't know whether a daemon is
59
+ // running" must never be resolved by starting a second one. Fail loud with the real reason.
60
+ throw new Error("Could not determine whether a daemon is already running (the singleton lock could not be " +
61
+ `checked at ${celloDir}). Refusing to start a second daemon on a guess. See the ` +
62
+ "daemon.singleton.probe.failed log line for the underlying error.");
63
+ }
64
+ // 3. The lock is genuinely free, so no daemon is running — whatever `daemon.lock` claims. Only now
65
+ // is spawning correct.
66
+ if (lock) {
67
+ logger.info("daemon.lock.stale", { pid: lock.pid, reason: "no_singleton_holder" });
68
+ await removeLock(lockFilePath, logger);
69
+ }
70
+ const client = await spawnDaemon(celloDir, daemonBin, lockFilePath, logger);
71
+ return { client, alreadyRunning: false };
72
+ }
73
+ /**
74
+ * A daemon holds the singleton lock but is not answering. Wait for it, then fail LOUDLY.
75
+ *
76
+ * The loud failure is the point (SI). The alternative — the old behaviour — was to quietly start a
77
+ * second daemon, which is the very thing that gives one machine two writers on one hash chain. An
78
+ * operator who is told "a daemon is running but not answering" can act; an operator silently given a
79
+ * second daemon cannot even see the problem.
80
+ */
81
+ async function connectWithRetry(celloDir, socketPath, logger, holderPid) {
82
+ const deadline = Date.now() + 10_000;
83
+ let lastError;
84
+ while (Date.now() < deadline) {
85
+ try {
86
+ return await connectToDaemon(socketPath);
87
+ }
88
+ catch (err) {
89
+ lastError = err;
90
+ await new Promise((r) => setTimeout(r, 150));
91
+ }
92
+ }
93
+ logger.error("daemon.unreachable", { holderPid, socketPath });
94
+ // The pid comes from daemon.lock — the very file this unit exists because it cannot be trusted. It
95
+ // may be stale, or name a process that merely inherited the number. So it is offered as a hint, and
96
+ // the operator is pointed at the authoritative answer: whoever holds the lock file open IS the
97
+ // daemon. Telling someone to `kill` an unverified pid is how you get them to kill something else.
98
+ const hint = holderPid === null ? "" : ` (daemon.lock names pid ${holderPid}, which may be stale)`;
99
+ throw new Error(`A daemon is already running${hint} and holds the singleton lock, but is not answering on ` +
100
+ `${socketPath} (${extractErrorMessage(lastError)}). ` +
101
+ "Refusing to start a second daemon beside it — two daemons on one database is the failure this " +
102
+ `prevents. To find the real holder: \`lsof ${join(celloDir, SINGLETON_LOCK_FILENAME)}\`, then stop ` +
103
+ "that process and try again.");
104
+ }
105
+ async function spawnDaemon(celloDir, daemonBin, lockFilePath, logger) {
106
+ const socketPath = join(celloDir, "daemon.sock");
107
+ const logPath = join(celloDir, "daemon.log");
108
+ // The daemon's stdout/stderr go to a LOG FILE, never a pipe to this process.
109
+ // A pipe (the previous design) breaks the moment the cli exits after reading the
110
+ // daemon.started line — the daemon's next log write (e.g. directory.signaling.connected)
111
+ // then hits a broken pipe and, with no stdout 'error' handler, EPIPE-crashes it. The
112
+ // daemon would "start" and die a second later → ECONNREFUSED on the socket. Writing to
113
+ // a file also gives operators a durable ~/.cello/daemon.log to debug from.
114
+ //
115
+ // DOD-M15-LOGBOUND-1: and it is rotated HERE, immediately before the handle is taken, because
116
+ // this is the only moment nothing holds it. The daemon writes to the descriptor below, not to
117
+ // the path, so once the child has it a rename moves the name and nothing else. `openLogHandle`
118
+ // keeps the rotate and the open in one call for that reason — splitting them is how the order
119
+ // gets reversed later by someone who cannot see why it mattered.
120
+ const out = openLogHandle(logPath);
121
+ const child = spawn(process.execPath, [daemonBin], {
122
+ detached: true,
123
+ stdio: ["ignore", out, out],
124
+ env: {
125
+ ...process.env,
126
+ CELLO_DIR: celloDir,
127
+ },
128
+ });
129
+ child.unref();
130
+ // Readiness is detected by polling the IPC socket (deterministic path:
131
+ // celloDir/daemon.sock) until the daemon is accepting connections — not by reading
132
+ // stdout, which is now the log file. Track spawn/exit so we fail fast with context.
133
+ let spawnError = null;
134
+ let exitCode;
135
+ child.on("error", (err) => { spawnError = err; });
136
+ child.on("exit", (code) => { exitCode = code; });
137
+ const deadline = Date.now() + 10_000;
138
+ while (Date.now() < deadline) {
139
+ if (spawnError)
140
+ throw spawnError;
141
+ try {
142
+ return await connectToDaemon(socketPath);
143
+ }
144
+ catch {
145
+ // Not accepting yet (ENOENT/ECONNREFUSED). If the child has already exited, it
146
+ // died during startup — surface the log tail rather than spinning to the deadline.
147
+ if (exitCode !== undefined) {
148
+ // ...unless it exited because it LOST THE SINGLETON RACE. Two callers can legitimately probe
149
+ // "free" at the same instant (the probe is not a reservation) and both spawn; the kernel then
150
+ // picks exactly one winner and the other exits EXIT_ALREADY_RUNNING. That is the design
151
+ // working, not a failure: a healthy daemon is coming up right now. Reporting "Daemon exited
152
+ // (code 3) during startup" to an operator whose daemon is fine would be this unit's own lie.
153
+ // The distinct exit code exists precisely so we can tell these apart — so use it.
154
+ if (exitCode === EXIT_ALREADY_RUNNING) {
155
+ const winner = await readLock(lockFilePath);
156
+ logger.info("daemon.spawn.lost_race", { holderPid: winner?.pid ?? null });
157
+ return await connectWithRetry(celloDir, socketPath, logger, winner?.pid ?? null);
158
+ }
159
+ throw new Error(`Daemon exited (code ${exitCode}) during startup.\n${await daemonLogTail(logPath)}`);
160
+ }
161
+ await new Promise((r) => setTimeout(r, 150));
162
+ }
163
+ }
164
+ throw new Error(`Daemon failed to start within 10 seconds.\n${await daemonLogTail(logPath)}`);
165
+ }
166
+ async function daemonLogTail(logPath) {
167
+ try {
168
+ const lines = (await readFile(logPath, "utf-8")).split("\n").filter((l) => l.trim().length > 0);
169
+ return `--- daemon.log (last 15 lines) ---\n${lines.slice(-15).join("\n")}`;
170
+ }
171
+ catch {
172
+ return `(no daemon.log at ${logPath})`;
173
+ }
174
+ }
175
+ //# sourceMappingURL=connect-or-start.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connect-or-start.js","sourceRoot":"","sources":["../src/connect-or-start.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import type { AgentInfo, AgentState } from "./types.js";
2
+ import type { SessionNodeManager } from "./session-node-manager.js";
3
+ export interface ConnectionAgentsDeps {
4
+ /** Live containers — copies would report a stale roster and a stale online set forever. */
5
+ agents: ReadonlyArray<AgentInfo>;
6
+ perConnectionState: ReadonlyMap<string, {
7
+ currentAgent: string | null;
8
+ }>;
9
+ onlineAgents: ReadonlySet<string>;
10
+ sessionNodeManager: SessionNodeManager;
11
+ agentStateFor: (a: AgentInfo) => AgentState;
12
+ }
13
+ export declare function createConnectionAgents(deps: ConnectionAgentsDeps): {
14
+ getAgentsForConnection: (connectionId: string) => AgentInfo[];
15
+ };
16
+ //# sourceMappingURL=connection-agents.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connection-agents.d.ts","sourceRoot":"","sources":["../src/connection-agents.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAEpE,MAAM,WAAW,oBAAoB;IACnC,2FAA2F;IAC3F,MAAM,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC;IACjC,kBAAkB,EAAE,WAAW,CAAC,MAAM,EAAE;QAAE,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC,CAAC;IACzE,YAAY,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAClC,kBAAkB,EAAE,kBAAkB,CAAC;IACvC,aAAa,EAAE,CAAC,CAAC,EAAE,SAAS,KAAK,UAAU,CAAC;CAC7C;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,oBAAoB;2CAIjB,MAAM,KAAG,SAAS,EAAE;EAyDnE"}
@@ -0,0 +1,68 @@
1
+ /**
2
+ * The agent list from ONE connection's point of view.
3
+ *
4
+ * Per-connection on purpose: which agent a connection has selected changes what it is shown, and
5
+ * collapsing that into a daemon-wide list is how an operator ends up reading another connection's
6
+ * state as their own.
7
+ */
8
+ import { countAttendance } from "./co-attendance.js";
9
+ export function createConnectionAgents(deps) {
10
+ const { agents, perConnectionState, onlineAgents, sessionNodeManager, agentStateFor } = deps;
11
+ // Build agent list from this connection's perspective
12
+ function getAgentsForConnection(connectionId) {
13
+ const connState = perConnectionState.get(connectionId);
14
+ const currentAgent = connState?.currentAgent ?? null;
15
+ return agents
16
+ .filter((a) => a.state !== "load_failed")
17
+ .map((a) => {
18
+ // `state` reports READINESS only; selection is a SEPARATE `selected` flag. Never fold
19
+ // selection into `state` — a selected agent is not at a different level of readiness than a
20
+ // second healthy online agent. (This is why `current` was dropped from the enum.)
21
+ const state = agentStateFor(a);
22
+ const selected = onlineAgents.has(a.name) && a.name === currentAgent;
23
+ return {
24
+ name: a.name,
25
+ state,
26
+ /**
27
+ * `selected` IS THIS CONNECTION'S VIEW, NOT THE AGENT'S — `DOD-M15-IPCVISIBLE-1` clause 3.
28
+ *
29
+ * Every `cello` CLI invocation opens a FRESH connection, which starts with no current
30
+ * agent. So a client asking about its own state through the CLI always reads `false`, for
31
+ * an agent it genuinely has selected in another session. Both Andre and a Hermes agent
32
+ * misread it that way during one investigation, in opposite directions.
33
+ *
34
+ * The field name cannot be changed without breaking every reader, so it is ANNOTATED: the
35
+ * sibling below says whose view this is, and `attended_by` says how many connections hold
36
+ * this agent at all — which is the question people were actually asking.
37
+ */
38
+ selected,
39
+ selected_by_this_connection: selected,
40
+ attended_by: countAttendance(perConnectionState, a.name),
41
+ pubkey: a.pubkey,
42
+ // M8B F14 (fix 5): per-agent standing-receiver readiness on the MCP surface
43
+ // (cello_status / cello_list_agents), so a deaf agent is visible to the operator.
44
+ standing_receiver_ready: sessionNodeManager.getStandingReceiverReady(a.name),
45
+ standing_receiver_reachability: sessionNodeManager.getStandingReceiverReachability(a.name),
46
+ /**
47
+ * DOD-M15-RELAYSLOTS-1: WHY it is not reachable, and what to do about it.
48
+ *
49
+ * `standing_receiver_reachability` says `retrying` or `unreachable` and stops there, which
50
+ * for the person reading it is indistinguishable from the product being broken. The relay
51
+ * now refuses for reasons someone can act on — no token from a directory yet, too many
52
+ * sessions still open, this relay is misconfigured — each with a different next step, and
53
+ * every one of them is wasted if it only reaches a log file. Absent when the last attempt
54
+ * succeeded.
55
+ */
56
+ ...(sessionNodeManager.getStandingReceiverRefusal(a.name)
57
+ ? { standing_receiver_refusal: sessionNodeManager.getStandingReceiverRefusal(a.name) }
58
+ : {}),
59
+ // DOD-COATTEND-VISIBLE-1 AC2: how many sessions are driving this agent, including this
60
+ // one. Live, not a high-water mark — it drops when a session disconnects. `selected` says
61
+ // whether YOU hold it; this says whether anyone else does too.
62
+ attendance: countAttendance(perConnectionState, a.name),
63
+ };
64
+ });
65
+ }
66
+ return { getAgentsForConnection };
67
+ }
68
+ //# sourceMappingURL=connection-agents.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connection-agents.js","sourceRoot":"","sources":["../src/connection-agents.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAarD,MAAM,UAAU,sBAAsB,CAAC,IAA0B;IAC/D,MAAM,EAAE,MAAM,EAAE,kBAAkB,EAAE,YAAY,EAAE,kBAAkB,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC;IAE7F,sDAAsD;IACtD,SAAS,sBAAsB,CAAC,YAAoB;QAClD,MAAM,SAAS,GAAG,kBAAkB,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QACvD,MAAM,YAAY,GAAG,SAAS,EAAE,YAAY,IAAI,IAAI,CAAC;QAErD,OAAO,MAAM;aACV,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,aAAa,CAAC;aACxC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACT,sFAAsF;YACtF,4FAA4F;YAC5F,kFAAkF;YAClF,MAAM,KAAK,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;YAC/B,MAAM,QAAQ,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,YAAY,CAAC;YACrE,OAAO;gBACL,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,KAAK;gBACL;;;;;;;;;;;mBAWG;gBACH,QAAQ;gBACR,2BAA2B,EAAE,QAAQ;gBACrC,WAAW,EAAE,eAAe,CAAC,kBAAkB,EAAE,CAAC,CAAC,IAAI,CAAC;gBACxD,MAAM,EAAE,CAAC,CAAC,MAAM;gBAChB,4EAA4E;gBAC5E,kFAAkF;gBAClF,uBAAuB,EAAE,kBAAkB,CAAC,wBAAwB,CAAC,CAAC,CAAC,IAAI,CAAC;gBAC5E,8BAA8B,EAAE,kBAAkB,CAAC,+BAA+B,CAAC,CAAC,CAAC,IAAI,CAAC;gBAC1F;;;;;;;;;mBASG;gBACH,GAAG,CAAC,kBAAkB,CAAC,0BAA0B,CAAC,CAAC,CAAC,IAAI,CAAC;oBACvD,CAAC,CAAC,EAAE,yBAAyB,EAAE,kBAAkB,CAAC,0BAA0B,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE;oBACtF,CAAC,CAAC,EAAE,CAAC;gBACP,uFAAuF;gBACvF,0FAA0F;gBAC1F,+DAA+D;gBAC/D,UAAU,EAAE,eAAe,CAAC,kBAAkB,EAAE,CAAC,CAAC,IAAI,CAAC;aACxD,CAAC;QACJ,CAAC,CAAC,CAAC;IACP,CAAC;IAED,OAAO,EAAE,sBAAsB,EAAE,CAAC;AACpC,CAAC"}
@@ -0,0 +1,49 @@
1
+ /**
2
+ * M10B / DOD-END-ACCEPT-1 — the `consent_state` column on `wallet_trust_signals` (`M10B-D14r2`).
3
+ *
4
+ * WHY THIS IS ITS OWN FILE AND NOT A LINE IN `ensureTrustSignalSchema`. That function runs on EVERY
5
+ * `startDaemon` and ends in a bare `catch {}` ("Column already exists — safe to ignore"). A consent
6
+ * migration written as a sibling `ALTER`/`UPDATE` in there would have its failures swallowed AND its
7
+ * backfill run unconditionally — so an operator who REFUSES an endorsement would have it flipped
8
+ * back to `accepted` on the next restart, silently, and it would become presentable again. The
9
+ * client DB has no migration versioning to catch that.
10
+ *
11
+ * So this follows the pattern the repo already proved for exactly this hazard
12
+ * (`contacts-tier-migration.ts`):
13
+ * - a `PRAGMA table_info` COLUMN-BIRTH gate, so the one-time step is tied to the column being
14
+ * created rather than to a NULL that could reappear later;
15
+ * - NO column DEFAULT, so the backfill has a real discriminator — with a DEFAULT every existing
16
+ * row gets a value the instant the column exists and the backfill matches nothing;
17
+ * - the ALTER and the backfill in ONE transaction, so a crash between them cannot leave the
18
+ * column present and the rows un-backfilled, which would skip the one-time step FOREVER;
19
+ * - a RETHROW, because a migration that fails silently is a schema nobody can trust.
20
+ *
21
+ * DIRECTION OF THE BACKFILL — ENFORCED BY THE SQL, NOT BY AN ARGUMENT ABOUT THE PAST.
22
+ * Portal-issued rows become `accepted`: they were minted about the operator, for the operator, at
23
+ * their own action, so there was never a third party whose decision was pending, and making them
24
+ * `pending` would silently render every phone/email signal already in every wallet unpresentable —
25
+ * a data-loss-shaped bug that raises no error. Agent-issued rows become `pending`, because somebody
26
+ * else authored them.
27
+ *
28
+ * An earlier version backfilled everything to `accepted` on the reasoning that nothing agent-issued
29
+ * could exist yet. That was true only by RELEASE TIMING — the daemon has accepted
30
+ * `issuer_kind: agent` since M10 — so a dev or staging wallet that picked one up during M10B
31
+ * integration testing would have had it backfilled to presentable at boot, which is exactly the
32
+ * D-23 violation this file exists to prevent. Two WHERE clauses make it a property of the code.
33
+ *
34
+ * NEW rows are handled at the write path on the same axis: `putWalletSignal` inserts `pending` for
35
+ * `issuer_kind: agent` and `accepted` otherwise.
36
+ */
37
+ import type { DaemonDatabase } from "./sqlcipher-db.js";
38
+ import type { Logger } from "./types.js";
39
+ /**
40
+ * The consent states. Anything not in this set — including NULL and including a value with stray
41
+ * whitespace or case — is UNPRESENTABLE (§5a: absent is not fine). The presentability predicate
42
+ * tests for exactly `accepted` rather than testing for the absence of a bad state, so an
43
+ * unrecognised value fails closed by construction.
44
+ */
45
+ export type ConsentState = "pending" | "accepted" | "refused";
46
+ /** Present-tense truth for the reader: this is what gates presentation. */
47
+ export declare const CONSENT_ACCEPTED = "accepted";
48
+ export declare function migrateWalletAddConsentState(db: DaemonDatabase, logger: Logger): void;
49
+ //# sourceMappingURL=consent-migration.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"consent-migration.d.ts","sourceRoot":"","sources":["../src/consent-migration.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAGzC;;;;;GAKG;AACH,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,UAAU,GAAG,SAAS,CAAC;AAE9D,2EAA2E;AAC3E,eAAO,MAAM,gBAAgB,aAAa,CAAC;AAE3C,wBAAgB,4BAA4B,CAAC,EAAE,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAqFrF"}