@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,386 @@
1
+ /**
2
+ * The ONE vocabulary.
3
+ *
4
+ * A capability has exactly one name, and that name renders differently on each surface:
5
+ *
6
+ * capability "agents" → MCP tool `cello_agents` · CLI command `cello agents`
7
+ *
8
+ * The rule: **an MCP tool's name is `cello_` + the CLI command name**, snake_cased, keeping any
9
+ * sub-verb. Humans and agents learn a capability ONCE.
10
+ *
11
+ * Why this table exists rather than three lists of string literals:
12
+ *
13
+ * - the CLI registry names its commands,
14
+ * - the connect shim names its MCP tools,
15
+ * - and the DAEMON names them BACK to you in ~50 error-guidance strings.
16
+ *
17
+ * That third one is the trap. The daemon is where a new user actually MEETS these names — a
18
+ * refused send says "call cello_receive first". Rename the tools without touching the daemon and
19
+ * every one of those strings points at a tool that no longer exists: an error message that hands
20
+ * you a wrong instruction is worse than no error message. So the names live HERE, once, and the
21
+ * daemon RENDERS them for whichever surface is asking (it knows: `clientType` is recorded at
22
+ * `ipc.connect`). A CLI caller is told `cello use-agent`; an MCP caller is told `cello_use_agent`.
23
+ *
24
+ * Enforced by dod-onboard-help-1-vocabulary.test.ts:
25
+ * - every entry obeys the `cello_` + command rule (no hand-typed exceptions),
26
+ * - every `cello_*` token in a daemon guidance string resolves here (a stale/typo'd name FAILS
27
+ * the build rather than shipping a dead instruction),
28
+ * - the CLI registry's command names == the CLI names here,
29
+ * - the connect shim's tool names == the MCP names here.
30
+ */
31
+ import { documentsEnabled } from "./document-flag.js";
32
+ /**
33
+ * Every dual-surface capability that is ALWAYS present. Guidance naming one of these is rendered
34
+ * per caller.
35
+ *
36
+ * The one group that is not here is documents — see `DOCUMENT_VERBS` below, which joins this list
37
+ * only when the 074-DOCSFLAG gate is open. Read `DUAL_SURFACE_VERBS` rather than this constant;
38
+ * this half exists so the gate has something to add to.
39
+ *
40
+ * The `cli` string is what an operator would TYPE, so per-contact ops carry the `<pubkey>`
41
+ * placeholder — the CLI shape is `cello contact <pubkey> set-tier`, not `cello contact-set-tier`.
42
+ */
43
+ const ALWAYS_ON_VERBS = [
44
+ // Agents
45
+ { mcp: "cello_agents", cli: "cello agents" },
46
+ { mcp: "cello_start_agent", cli: "cello start-agent" },
47
+ { mcp: "cello_set_agent_offline", cli: "cello set-agent-offline" },
48
+ { mcp: "cello_use_agent", cli: "cello use-agent" },
49
+ { mcp: "cello_stop_using_agent", cli: "cello stop-using-agent" },
50
+ { mcp: "cello_status", cli: "cello status" },
51
+ // Messaging
52
+ { mcp: "cello_initiate_session", cli: "cello initiate-session" },
53
+ { mcp: "cello_await_session", cli: "cello await-session" },
54
+ { mcp: "cello_close_session", cli: "cello close-session" },
55
+ { mcp: "cello_name_session", cli: "cello name-session" },
56
+ { mcp: "cello_dismiss", cli: "cello dismiss" },
57
+ { mcp: "cello_send", cli: "cello send" },
58
+ { mcp: "cello_receive", cli: "cello receive" },
59
+ { mcp: "cello_inbox", cli: "cello inbox" },
60
+ // Sessions & receipts
61
+ { mcp: "cello_sessions", cli: "cello sessions" },
62
+ { mcp: "cello_transcript", cli: "cello transcript" },
63
+ { mcp: "cello_quarantined", cli: "cello quarantined" },
64
+ { mcp: "cello_sealed_receipt", cli: "cello sealed-receipt" },
65
+ // Contacts
66
+ { mcp: "cello_contacts", cli: "cello contacts" },
67
+ { mcp: "cello_contact_add", cli: "cello contact <pubkey> add" },
68
+ { mcp: "cello_contact_remove", cli: "cello contact <pubkey> remove" },
69
+ { mcp: "cello_contact_set_tier", cli: "cello contact <pubkey> set-tier" },
70
+ { mcp: "cello_contact_set_away", cli: "cello contact <pubkey> set-away" },
71
+ { mcp: "cello_contact_set_moniker", cli: "cello contact <pubkey> set-moniker" },
72
+ { mcp: "cello_contact_set_signal", cli: "cello contact <pubkey> set-signal" },
73
+ // The wallet's own trust signals (M10B / DOD-END-SURFACE-1 — CLI-only until now)
74
+ { mcp: "cello_trust_signals_list", cli: "cello trust-signals list" },
75
+ { mcp: "cello_attestations_issue", cli: "cello attestations issue" },
76
+ { mcp: "cello_attestations_issued", cli: "cello attestations issued" },
77
+ { mcp: "cello_trust_signals_view", cli: "cello trust-signals view" },
78
+ { mcp: "cello_trust_signals_enable", cli: "cello trust-signals enable" },
79
+ { mcp: "cello_trust_signals_disable", cli: "cello trust-signals disable" },
80
+ { mcp: "cello_trust_signals_revoke", cli: "cello trust-signals revoke" },
81
+ // Consent (M10B / DOD-END-SURFACE-1) — deciding on signals others issued ABOUT this agent
82
+ { mcp: "cello_attestation_consent_list", cli: "cello attestation-consent list" },
83
+ { mcp: "cello_attestation_consent_accept", cli: "cello attestation-consent accept" },
84
+ { mcp: "cello_attestation_consent_refuse", cli: "cello attestation-consent refuse" },
85
+ // Other
86
+ { mcp: "cello_moniker", cli: "cello moniker" },
87
+ { mcp: "cello_settings_get", cli: "cello settings get" },
88
+ { mcp: "cello_settings_set", cli: "cello settings set" },
89
+ // DOD-M9B-SURFACE-1. `set` appears on both surfaces but they are NOT equivalent, by decision
90
+ // (M9B-D3/D15): the CLI can confirm a loosening, MCP cannot and is refused with the command to
91
+ // run. Listed as a pair because the verb and its reads are genuinely parallel; the asymmetry is
92
+ // in what the daemon will accept, not in which names exist.
93
+ { mcp: "cello_config_list", cli: "cello config list" },
94
+ { mcp: "cello_config_get", cli: "cello config get" },
95
+ { mcp: "cello_config_set", cli: "cello config set" },
96
+ // DOD-M9B-AUDIT-1 — read-only on both surfaces.
97
+ { mcp: "cello_policy_log", cli: "cello policy log" },
98
+ ];
99
+ /**
100
+ * Federated documents (M14 / DOD-DOC-TOOLS-1), behind the 074-DOCSFLAG gate.
101
+ *
102
+ * A vocabulary entry is a PROMISE TO AN OPERATOR that a command exists — declaring the names ahead
103
+ * of the handlers once failed three guards at once ("every declared tool has a handler behind it",
104
+ * "every dual-surface capability's CLI name is a real command", and the source audit). That is
105
+ * exactly why these move with the flag rather than staying declared: with documents off there is no
106
+ * handler, no CLI command and no MCP tool behind them, so leaving the rows here would make this
107
+ * table promise fourteen things the product does not do.
108
+ *
109
+ * NOTHING IS DELETED. The rows are here, in the shape they have always had, and they rejoin
110
+ * `DUAL_SURFACE_VERBS` the moment the flag is on.
111
+ */
112
+ const DOCUMENT_VERBS = [
113
+ { mcp: "cello_doc_propose", cli: "cello doc propose" },
114
+ { mcp: "cello_doc_invite", cli: "cello doc invite" },
115
+ { mcp: "cello_doc_remove", cli: "cello doc remove" },
116
+ { mcp: "cello_doc_inbox", cli: "cello doc inbox" },
117
+ { mcp: "cello_doc_accept", cli: "cello doc accept" },
118
+ { mcp: "cello_doc_refuse", cli: "cello doc refuse" },
119
+ { mcp: "cello_doc_list", cli: "cello doc list" },
120
+ { mcp: "cello_doc_read", cli: "cello doc read" },
121
+ { mcp: "cello_doc_diff", cli: "cello doc diff" },
122
+ { mcp: "cello_doc_watch", cli: "cello doc watch" },
123
+ { mcp: "cello_doc_write", cli: "cello doc write" },
124
+ { mcp: "cello_doc_publish", cli: "cello doc publish" },
125
+ { mcp: "cello_doc_close", cli: "cello doc close" },
126
+ { mcp: "cello_doc_kill", cli: "cello doc kill" },
127
+ ];
128
+ /**
129
+ * Is this IPC method name one of the document verbs?
130
+ *
131
+ * Lives HERE, in the file that owns every tool name, and not at the call site — `ipc-server.ts` needs
132
+ * the answer to name the right cause when a gated verb arrives, and a `"cello_doc_"` literal there is
133
+ * flagged by the source audit as a dead tool name. Correctly flagged: a bare prefix is not a tool, and
134
+ * the audit cannot tell it from a typo'd one. `vocabulary.ts` is the one file that audit excludes,
135
+ * because defining names is its job.
136
+ *
137
+ * ⚠️ THIS SENTENCE USED TO SAY *"answers by NAME, not by membership of `DOCUMENT_VERBS`"* AND THE BODY
138
+ * BELOW IS EXACTLY MEMBERSHIP OF `DOCUMENT_VERBS`. It meant `DUAL_SURFACE_VERBS`, and it shipped inside
139
+ * the commit whose whole subject was comments asserting what the code does not do. Rewritten rather than
140
+ * deleted, because a wrong comment in that commit is the evidence that the habit survives being named.
141
+ *
142
+ * What it actually does: answers from `DOCUMENT_VERBS` directly, never from `DUAL_SURFACE_VERBS`. The
143
+ * caller asks precisely when the gate is closed, and the document rows are not in that table then.
144
+ */
145
+ export function isDocumentVerbName(method) {
146
+ return DOCUMENT_VERBS.some((v) => v.mcp === method);
147
+ }
148
+ /**
149
+ * Every capability with BOTH an MCP tool and a CLI command, for THIS process.
150
+ *
151
+ * Read at module load, which is where every other consumer of this table already reads it — the CLI
152
+ * renders its help in a fresh process per invocation, and the daemon builds its handler map once at
153
+ * boot. "Read once at startup" and "read at module load" are the same act here.
154
+ */
155
+ export const DUAL_SURFACE_VERBS = documentsEnabled()
156
+ ? [...ALWAYS_ON_VERBS, ...DOCUMENT_VERBS]
157
+ : ALWAYS_ON_VERBS;
158
+ /**
159
+ * Tools that exist ONLY on the MCP surface. Listed so the audit test can tell "known MCP-only" from
160
+ * "stale name".
161
+ *
162
+ * ⚠️ THIS COMMENT USED TO READ *"Their daemon handlers return `not_implemented`, so there is
163
+ * deliberately no CLI command to build a second broken path to."* That was true of all three when it
164
+ * was written and is now true of NONE of them — `cello_backup` and `cello_restore` were implemented
165
+ * by `DOD-M15-BACKUP-1`, and `cello_get_inclusion_proof` by `DOD-M15-INCLUSION-1`, which also added
166
+ * `cello_verify_inclusion_proof`. Rewritten rather than deleted, per the claim-truth lens: the
167
+ * sentence is the evidence that "MCP-only" was once a synonym for "unimplemented", and a reader who
168
+ * still believes that would take a working tool for a stub.
169
+ *
170
+ * What the list means NOW: these are implemented capabilities with no CLI twin. Membership is a
171
+ * statement about SURFACE, not about readiness.
172
+ */
173
+ export const MCP_ONLY_TOOLS = [
174
+ "cello_backup",
175
+ "cello_restore",
176
+ "cello_get_inclusion_proof",
177
+ "cello_verify_inclusion_proof",
178
+ ];
179
+ /**
180
+ * `cello_*` identifiers that are NOT tools and must never be mistaken for one.
181
+ *
182
+ * `cello_message` is the doorbell NOTIFICATION frame type (and the stem of the
183
+ * `notification.cello_message.dispatch.failed` log event). It is wire vocabulary and log taxonomy,
184
+ * never a command an operator could run — so the audit must recognise it rather than demand it be
185
+ * renamed to a tool that would not exist.
186
+ */
187
+ export const NON_TOOL_IDENTIFIERS = ["cello_message"];
188
+ /** Every `cello_*` token the daemon is ALLOWED to name in guidance. Anything else is a bug. */
189
+ export function knownToolNames() {
190
+ return new Set([
191
+ ...DUAL_SURFACE_VERBS.map((v) => v.mcp),
192
+ ...MCP_ONLY_TOOLS,
193
+ ...NON_TOOL_IDENTIFIERS,
194
+ ]);
195
+ }
196
+ /**
197
+ * CLI verbs that DO NOT EXIST. No string anywhere may hand one of these to an operator.
198
+ *
199
+ * This list is needed IN ADDITION to the tool audit: that audit matches `cello_*` tokens, so it is
200
+ * structurally BLIND to a dead *CLI* verb — `cello register` is just prose to it. A user handed a
201
+ * command that does not dispatch is worse off than one handed nothing.
202
+ *
203
+ * Anchoring is by NEGATIVE LOOKAHEAD, not a trailing space — see deadCliVerbPattern().
204
+ */
205
+ export const DEAD_CLI_VERBS = [
206
+ "cello register",
207
+ "cello install",
208
+ "cello receipts",
209
+ "cello close",
210
+ "cello initiate",
211
+ // No replacement to point at: this was an alias of `cello receive` (same daemon handler) whose
212
+ // help claimed an accept/join step CELLO does not have. Listed so no string can offer it again.
213
+ "cello receive-session",
214
+ // Renamed to `cello set-agent-offline` (DOD-RELEASE-1). It was added to the CLI DISPATCH guard
215
+ // in cli-args.test.ts — "can you type it" — but that guard is blind to the thing this list
216
+ // exists for: a daemon STRING offering the verb to an operator. Same gap that leaked
217
+ // `cello register`.
218
+ "cello stop-agent",
219
+ ];
220
+ /**
221
+ * Dead flat contact shape: `cello contact <op> <pubkey>`. The live shape REVERSES the arguments
222
+ * (`cello contact <pubkey> <op>`), so these are not merely renamed — following one silently targets
223
+ * a contact named "add". In the live shape an OP can never follow `contact` directly; a pubkey does.
224
+ */
225
+ const DEAD_CONTACT_OPS = ["list", "add", "remove", "tier", "away", "set-tier", "set-away", "set-moniker"];
226
+ /**
227
+ * Match any dead CLI verb, wherever it is SPOKEN — the one regex both audits share.
228
+ *
229
+ * The negative lookahead `(?![-\w])` is load-bearing; do NOT weaken it to a trailing SPACE. A verb
230
+ * followed by a quote, period, backtick, paren or comma would slip straight through, and dead verbs
231
+ * appear inside quotes and at end of sentence in real guidance strings. An audit defeated by a full
232
+ * stop is not an audit.
233
+ *
234
+ * The lookahead still lets the LIVE commands through, because each dead verb is a strict prefix of
235
+ * its replacement: `cello register-agent`, `cello close-session`, `cello initiate-session` all have
236
+ * a `-` right where the lookahead refuses one.
237
+ */
238
+ export function deadCliVerbPattern() {
239
+ const verbs = DEAD_CLI_VERBS.map((v) => v.replace(/^cello /, "")).join("|");
240
+ const ops = DEAD_CONTACT_OPS.join("|");
241
+ return new RegExp(`cello\\s+(?:${verbs})(?![-\\w])|cello\\s+contact\\s+(?:${ops})(?![-\\w])`, "g");
242
+ }
243
+ /**
244
+ * MCP tool names that DO NOT EXIST. Nothing may hand one of these to an agent.
245
+ *
246
+ * Distinct from `knownToolNames()` (an allowlist: "every cello_* token must be in the table"). That
247
+ * allowlist works inside the daemon, where every `cello_*` token IS a tool name — but it cannot be
248
+ * used across the CLI package, where `cello_*` tokens are also IPC WIRE method names
249
+ * (`client.send("cello_list_agents")`, which deliberately do not move) and, in the scaffolded Hermes
250
+ * assets, plain config identifiers (`cello_socket_path`, `cello_dir`). An allowlist there would
251
+ * either drown in false positives or be so riddled with exceptions it stopped meaning anything.
252
+ *
253
+ * So outside the daemon assert the DENYLIST instead: whatever else a string says, it must not name a
254
+ * deleted tool. The exposure is real — non-code assets ship to the operator's disk and instruct
255
+ * their agent (the Hermes `platform_hint` is a live example).
256
+ */
257
+ export const RENAMED_AWAY_TOOLS = [
258
+ // No replacement to point at: this was an alias of cello_receive — the same daemon handler —
259
+ // whose help claimed an accept/join step that does not exist. The capability was never real.
260
+ "cello_receive_session",
261
+ "cello_list_agents",
262
+ "cello_list_sessions",
263
+ "cello_check_notifications",
264
+ "cello_get_transcript",
265
+ "cello_get_sealed_receipt",
266
+ "cello_set_moniker",
267
+ "cello_contact_list",
268
+ ];
269
+ /** Longest-first, so `cello_contact_set_moniker` is matched before a hypothetical `cello_contact`. */
270
+ const CLI_BY_MCP = [...DUAL_SURFACE_VERBS].sort((a, b) => b.mcp.length - a.mcp.length);
271
+ /**
272
+ * Instructions that carry ARGUMENTS, not just a name — rewritten whole, before the token pass.
273
+ *
274
+ * Renaming the tool is not enough when the instruction is a CALL. `cello inbox`'s rename notice ends
275
+ * with a literal, copy-pasteable invocation:
276
+ *
277
+ * Adopt it: cello_contact_set_moniker { pubkey: "abcd…", moniker: "Zoe" }, or ignore.
278
+ *
279
+ * Rewriting only the token would give a CLI operator the tool's name with the tool's JSON still
280
+ * bolted on, and a literal `<pubkey>` placeholder next to the real key — it looks like a command and
281
+ * is not one; pasting it trips the invalid_pubkey gate. Half a translation is its own kind of wrong
282
+ * answer.
283
+ *
284
+ * So the call form is translated as a unit, arguments and all, and the result is a line the operator
285
+ * can actually paste. MUST run BEFORE the token pass, which would otherwise have eaten the name.
286
+ */
287
+ const CALL_FORMS = [
288
+ {
289
+ re: /cello_contact_set_moniker\s*\{\s*pubkey:\s*"([^"]*)",\s*moniker:\s*"([^"]*)"\s*\}/g,
290
+ cli: (m) => `cello contact ${m[1]} set-moniker "${m[2]}"`,
291
+ },
292
+ {
293
+ // DOD-M15-DIVERGE-1 (review LOW-8) — the object form does not survive translation on its own.
294
+ // `CLI_BY_MCP` rewrites the VERB, so a CLI operator was handed
295
+ // `cello close-session <id> { force: true }`, and the real flag is `--force`. A guidance string
296
+ // that renders to an untypeable command is the failure `toCliGuidance` exists to prevent, and
297
+ // it was already reachable from two other refusals before this one duplicated it — so the fix
298
+ // belongs here, where it corrects all three at once, rather than in any single branch's prose.
299
+ re: /cello_close_session\s+(\S+)\s*\{\s*force:\s*true\s*\}/g,
300
+ cli: (m) => `cello close-session ${m[1]} --force`,
301
+ },
302
+ ];
303
+ /**
304
+ * Rewrite MCP tool names in a guidance string into the CLI verbs an operator would type.
305
+ *
306
+ * Only `cello_*` tokens in DUAL_SURFACE_VERBS are rewritten. An MCP-only tool has no CLI verb to
307
+ * offer, so it is left alone — inventing one would send the operator to a command that does not
308
+ * exist, which is the exact failure this whole mechanism prevents.
309
+ */
310
+ export function toCliGuidance(text) {
311
+ let out = text;
312
+ for (const { re, cli } of CALL_FORMS) {
313
+ out = out.replace(new RegExp(re.source, re.flags), (...args) => cli(args));
314
+ }
315
+ for (const { mcp, cli } of CLI_BY_MCP) {
316
+ // Word-boundary on the tail: `cello_agents` must not match inside `cello_agents_foo`.
317
+ out = out.replace(new RegExp(`${mcp}(?![a-z_])`, "g"), cli);
318
+ }
319
+ return out;
320
+ }
321
+ /**
322
+ * Does this response key carry an INSTRUCTION TO A HUMAN — one that names a command to run?
323
+ *
324
+ * A SUFFIX RULE, not a fixed set, and that is the whole point. It was a set of three literals until
325
+ * `pending_consent_guidance` was added by a handler that had no idea a registry existed; the key was
326
+ * therefore not rewritten, and a CLI operator was told to run `cello_attestation_consent_list` — a thing you
327
+ * cannot type. The class of bug is "someone invents a new *_guidance key", so the fix has to close
328
+ * the class: any key ending in `guidance` is an instruction, whatever its prefix.
329
+ *
330
+ * `reason` is deliberately excluded and must stay excluded: it is a machine-readable code that
331
+ * scripts branch on (`reason === "session_not_current"`). Rewriting it would silently break every
332
+ * caller.
333
+ */
334
+ function isInstructionKey(key) {
335
+ return key === "notice" || key.endsWith("guidance");
336
+ }
337
+ /**
338
+ * Render a handler's response for the surface that asked.
339
+ *
340
+ * Applied ONCE, at the IPC response boundary (daemon.ts wraps every handler), so a new handler
341
+ * cannot forget it and a new guidance string cannot drift. MCP callers get the response verbatim —
342
+ * the source strings already hold the canonical MCP names.
343
+ *
344
+ * MUST RECURSE into nested objects and arrays; rewriting only a TOP-LEVEL `guidance` is not enough.
345
+ * Real instructions live deep — `cello inbox`'s rename notices sit at
346
+ * `agents[i].rename_notices[j].notice`. A choke point that only covers the easy shape is not a choke
347
+ * point; it just moves the leak somewhere less visible.
348
+ */
349
+ export function renderForSurface(result, surface) {
350
+ if (surface === "mcp")
351
+ return result;
352
+ return renderCli(result);
353
+ }
354
+ function renderCli(value) {
355
+ if (Array.isArray(value)) {
356
+ let changed = false;
357
+ const out = value.map((v) => {
358
+ const r = renderCli(v);
359
+ if (r !== v)
360
+ changed = true;
361
+ return r;
362
+ });
363
+ return changed ? out : value;
364
+ }
365
+ if (value === null || typeof value !== "object")
366
+ return value;
367
+ const record = value;
368
+ let changed = false;
369
+ const out = {};
370
+ for (const [key, v] of Object.entries(record)) {
371
+ let next = v;
372
+ if (isInstructionKey(key) && typeof v === "string") {
373
+ next = toCliGuidance(v);
374
+ }
375
+ else if (v !== null && typeof v === "object") {
376
+ next = renderCli(v);
377
+ }
378
+ if (next !== v)
379
+ changed = true;
380
+ out[key] = next;
381
+ }
382
+ // Identity-preserving when nothing changed — the MCP path and untouched CLI payloads keep the
383
+ // exact object the handler returned, so nothing downstream can depend on an incidental copy.
384
+ return changed ? out : value;
385
+ }
386
+ //# sourceMappingURL=vocabulary.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vocabulary.js","sourceRoot":"","sources":["../src/vocabulary.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAQtD;;;;;;;;;;GAUG;AACH,MAAM,eAAe,GAA+B;IAClD,SAAS;IACT,EAAE,GAAG,EAAE,cAAc,EAAE,GAAG,EAAE,cAAc,EAAE;IAC5C,EAAE,GAAG,EAAE,mBAAmB,EAAE,GAAG,EAAE,mBAAmB,EAAE;IACtD,EAAE,GAAG,EAAE,yBAAyB,EAAE,GAAG,EAAE,yBAAyB,EAAE;IAClE,EAAE,GAAG,EAAE,iBAAiB,EAAE,GAAG,EAAE,iBAAiB,EAAE;IAClD,EAAE,GAAG,EAAE,wBAAwB,EAAE,GAAG,EAAE,wBAAwB,EAAE;IAChE,EAAE,GAAG,EAAE,cAAc,EAAE,GAAG,EAAE,cAAc,EAAE;IAC5C,YAAY;IACZ,EAAE,GAAG,EAAE,wBAAwB,EAAE,GAAG,EAAE,wBAAwB,EAAE;IAChE,EAAE,GAAG,EAAE,qBAAqB,EAAE,GAAG,EAAE,qBAAqB,EAAE;IAC1D,EAAE,GAAG,EAAE,qBAAqB,EAAE,GAAG,EAAE,qBAAqB,EAAE;IAC1D,EAAE,GAAG,EAAE,oBAAoB,EAAE,GAAG,EAAE,oBAAoB,EAAE;IACxD,EAAE,GAAG,EAAE,eAAe,EAAE,GAAG,EAAE,eAAe,EAAE;IAC9C,EAAE,GAAG,EAAE,YAAY,EAAE,GAAG,EAAE,YAAY,EAAE;IACxC,EAAE,GAAG,EAAE,eAAe,EAAE,GAAG,EAAE,eAAe,EAAE;IAC9C,EAAE,GAAG,EAAE,aAAa,EAAE,GAAG,EAAE,aAAa,EAAE;IAC1C,sBAAsB;IACtB,EAAE,GAAG,EAAE,gBAAgB,EAAE,GAAG,EAAE,gBAAgB,EAAE;IAChD,EAAE,GAAG,EAAE,kBAAkB,EAAE,GAAG,EAAE,kBAAkB,EAAE;IACpD,EAAE,GAAG,EAAE,mBAAmB,EAAE,GAAG,EAAE,mBAAmB,EAAE;IACtD,EAAE,GAAG,EAAE,sBAAsB,EAAE,GAAG,EAAE,sBAAsB,EAAE;IAC5D,WAAW;IACX,EAAE,GAAG,EAAE,gBAAgB,EAAE,GAAG,EAAE,gBAAgB,EAAE;IAChD,EAAE,GAAG,EAAE,mBAAmB,EAAE,GAAG,EAAE,4BAA4B,EAAE;IAC/D,EAAE,GAAG,EAAE,sBAAsB,EAAE,GAAG,EAAE,+BAA+B,EAAE;IACrE,EAAE,GAAG,EAAE,wBAAwB,EAAE,GAAG,EAAE,iCAAiC,EAAE;IACzE,EAAE,GAAG,EAAE,wBAAwB,EAAE,GAAG,EAAE,iCAAiC,EAAE;IACzE,EAAE,GAAG,EAAE,2BAA2B,EAAE,GAAG,EAAE,oCAAoC,EAAE;IAC/E,EAAE,GAAG,EAAE,0BAA0B,EAAE,GAAG,EAAE,mCAAmC,EAAE;IAC7E,iFAAiF;IACjF,EAAE,GAAG,EAAE,0BAA0B,EAAE,GAAG,EAAE,0BAA0B,EAAE;IACpE,EAAE,GAAG,EAAE,0BAA0B,EAAE,GAAG,EAAE,0BAA0B,EAAE;IACpE,EAAE,GAAG,EAAE,2BAA2B,EAAE,GAAG,EAAE,2BAA2B,EAAE;IACtE,EAAE,GAAG,EAAE,0BAA0B,EAAE,GAAG,EAAE,0BAA0B,EAAE;IACpE,EAAE,GAAG,EAAE,4BAA4B,EAAE,GAAG,EAAE,4BAA4B,EAAE;IACxE,EAAE,GAAG,EAAE,6BAA6B,EAAE,GAAG,EAAE,6BAA6B,EAAE;IAC1E,EAAE,GAAG,EAAE,4BAA4B,EAAE,GAAG,EAAE,4BAA4B,EAAE;IACxE,0FAA0F;IAC1F,EAAE,GAAG,EAAE,gCAAgC,EAAE,GAAG,EAAE,gCAAgC,EAAE;IAChF,EAAE,GAAG,EAAE,kCAAkC,EAAE,GAAG,EAAE,kCAAkC,EAAE;IACpF,EAAE,GAAG,EAAE,kCAAkC,EAAE,GAAG,EAAE,kCAAkC,EAAE;IACpF,QAAQ;IACR,EAAE,GAAG,EAAE,eAAe,EAAE,GAAG,EAAE,eAAe,EAAE;IAC9C,EAAE,GAAG,EAAE,oBAAoB,EAAE,GAAG,EAAE,oBAAoB,EAAE;IACxD,EAAE,GAAG,EAAE,oBAAoB,EAAE,GAAG,EAAE,oBAAoB,EAAE;IACxD,6FAA6F;IAC7F,+FAA+F;IAC/F,gGAAgG;IAChG,4DAA4D;IAC5D,EAAE,GAAG,EAAE,mBAAmB,EAAE,GAAG,EAAE,mBAAmB,EAAE;IACtD,EAAE,GAAG,EAAE,kBAAkB,EAAE,GAAG,EAAE,kBAAkB,EAAE;IACpD,EAAE,GAAG,EAAE,kBAAkB,EAAE,GAAG,EAAE,kBAAkB,EAAE;IACpD,gDAAgD;IAChD,EAAE,GAAG,EAAE,kBAAkB,EAAE,GAAG,EAAE,kBAAkB,EAAE;CACrD,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,MAAM,cAAc,GAA+B;IACjD,EAAE,GAAG,EAAE,mBAAmB,EAAE,GAAG,EAAE,mBAAmB,EAAE;IACtD,EAAE,GAAG,EAAE,kBAAkB,EAAE,GAAG,EAAE,kBAAkB,EAAE;IACpD,EAAE,GAAG,EAAE,kBAAkB,EAAE,GAAG,EAAE,kBAAkB,EAAE;IACpD,EAAE,GAAG,EAAE,iBAAiB,EAAE,GAAG,EAAE,iBAAiB,EAAE;IAClD,EAAE,GAAG,EAAE,kBAAkB,EAAE,GAAG,EAAE,kBAAkB,EAAE;IACpD,EAAE,GAAG,EAAE,kBAAkB,EAAE,GAAG,EAAE,kBAAkB,EAAE;IACpD,EAAE,GAAG,EAAE,gBAAgB,EAAE,GAAG,EAAE,gBAAgB,EAAE;IAChD,EAAE,GAAG,EAAE,gBAAgB,EAAE,GAAG,EAAE,gBAAgB,EAAE;IAChD,EAAE,GAAG,EAAE,gBAAgB,EAAE,GAAG,EAAE,gBAAgB,EAAE;IAChD,EAAE,GAAG,EAAE,iBAAiB,EAAE,GAAG,EAAE,iBAAiB,EAAE;IAClD,EAAE,GAAG,EAAE,iBAAiB,EAAE,GAAG,EAAE,iBAAiB,EAAE;IAClD,EAAE,GAAG,EAAE,mBAAmB,EAAE,GAAG,EAAE,mBAAmB,EAAE;IACtD,EAAE,GAAG,EAAE,iBAAiB,EAAE,GAAG,EAAE,iBAAiB,EAAE;IAClD,EAAE,GAAG,EAAE,gBAAgB,EAAE,GAAG,EAAE,gBAAgB,EAAE;CACjD,CAAC;AAEF;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,kBAAkB,CAAC,MAAc;IAC/C,OAAO,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,MAAM,CAAC,CAAC;AACtD,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAA+B,gBAAgB,EAAE;IAC9E,CAAC,CAAC,CAAC,GAAG,eAAe,EAAE,GAAG,cAAc,CAAC;IACzC,CAAC,CAAC,eAAe,CAAC;AAEpB;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,cAAc,GAAsB;IAC/C,cAAc;IACd,eAAe;IACf,2BAA2B;IAC3B,8BAA8B;CAC/B,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAsB,CAAC,eAAe,CAAC,CAAC;AAEzE,+FAA+F;AAC/F,MAAM,UAAU,cAAc;IAC5B,OAAO,IAAI,GAAG,CAAC;QACb,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;QACvC,GAAG,cAAc;QACjB,GAAG,oBAAoB;KACxB,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,cAAc,GAAsB;IAC/C,gBAAgB;IAChB,eAAe;IACf,gBAAgB;IAChB,aAAa;IACb,gBAAgB;IAChB,+FAA+F;IAC/F,gGAAgG;IAChG,uBAAuB;IACvB,+FAA+F;IAC/F,2FAA2F;IAC3F,qFAAqF;IACrF,oBAAoB;IACpB,kBAAkB;CACnB,CAAC;AAEF;;;;GAIG;AACH,MAAM,gBAAgB,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC;AAE1G;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,kBAAkB;IAChC,MAAM,KAAK,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC5E,MAAM,GAAG,GAAG,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACvC,OAAO,IAAI,MAAM,CAAC,eAAe,KAAK,sCAAsC,GAAG,aAAa,EAAE,GAAG,CAAC,CAAC;AACrG,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAsB;IACnD,6FAA6F;IAC7F,6FAA6F;IAC7F,uBAAuB;IACvB,mBAAmB;IACnB,qBAAqB;IACrB,2BAA2B;IAC3B,sBAAsB;IACtB,0BAA0B;IAC1B,mBAAmB;IACnB,oBAAoB;CACrB,CAAC;AAEF,sGAAsG;AACtG,MAAM,UAAU,GAAmC,CAAC,GAAG,kBAAkB,CAAC,CAAC,IAAI,CAC7E,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CACtC,CAAC;AAEF;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,GAAuE;IACrF;QACE,EAAE,EAAE,oFAAoF;QACxF,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,GAAG;KAC1D;IACD;QACE,8FAA8F;QAC9F,+DAA+D;QAC/D,gGAAgG;QAChG,8FAA8F;QAC9F,8FAA8F;QAC9F,+FAA+F;QAC/F,EAAE,EAAE,wDAAwD;QAC5D,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,UAAU;KAClD;CACF,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,UAAU,aAAa,CAAC,IAAY;IACxC,IAAI,GAAG,GAAG,IAAI,CAAC;IACf,KAAK,MAAM,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,UAAU,EAAE,CAAC;QACrC,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,GAAG,CAAC,IAAkC,CAAC,CAAC,CAAC;IAC3G,CAAC;IACD,KAAK,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,UAAU,EAAE,CAAC;QACtC,sFAAsF;QACtF,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,GAAG,GAAG,YAAY,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;IAC9D,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAKD;;;;;;;;;;;;GAYG;AACH,SAAS,gBAAgB,CAAC,GAAW;IACnC,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;AACtD,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAAe,EAAE,OAAsB;IACtE,IAAI,OAAO,KAAK,KAAK;QAAE,OAAO,MAAM,CAAC;IACrC,OAAO,SAAS,CAAC,MAAM,CAAC,CAAC;AAC3B,CAAC;AAED,SAAS,SAAS,CAAC,KAAc;IAC/B,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YAC1B,MAAM,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;YACvB,IAAI,CAAC,KAAK,CAAC;gBAAE,OAAO,GAAG,IAAI,CAAC;YAC5B,OAAO,CAAC,CAAC;QACX,CAAC,CAAC,CAAC;QACH,OAAO,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC;IAC/B,CAAC;IACD,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAE9D,MAAM,MAAM,GAAG,KAAgC,CAAC;IAChD,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,MAAM,GAAG,GAA4B,EAAE,CAAC;IACxC,KAAK,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC9C,IAAI,IAAI,GAAY,CAAC,CAAC;QACtB,IAAI,gBAAgB,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;YACnD,IAAI,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;QAC1B,CAAC;aAAM,IAAI,CAAC,KAAK,IAAI,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;YAC/C,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;QACtB,CAAC;QACD,IAAI,IAAI,KAAK,CAAC;YAAE,OAAO,GAAG,IAAI,CAAC;QAC/B,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;IAClB,CAAC;IACD,8FAA8F;IAC9F,6FAA6F;IAC7F,OAAO,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC;AAC/B,CAAC"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * MONIKER-4 AC1 — whoLabel: the one display-name resolution (M8C-MONIKER-SPEC §2).
3
+ *
4
+ * who = localMoniker ?? offeredMoniker ?? fingerprint(pubkey)
5
+ *
6
+ * PURE and TOTAL: never throws, never returns an empty label. Both name inputs
7
+ * are re-validated with the shared wire rule — the boundaries (MONIKER-2/3)
8
+ * make invalid values unreachable here, but totality means this function is
9
+ * safe even if misused. `whoKnown` is true ONLY when the label came from the
10
+ * local address book (a deliberate operator act — CC-1); an offered name is an
11
+ * unverified hint and a fingerprint is derived identity, both unknown.
12
+ *
13
+ * The name-vs-fingerprint discriminator is unforgeable by construction:
14
+ * MONIKER_RE excludes spaces, and a fingerprint always contains one.
15
+ */
16
+ export type WhoSource = "local" | "offered" | "fingerprint";
17
+ /** `agent 178d420b…` — first 8 hex chars. Total: garbage still yields a non-empty label. */
18
+ export declare function fingerprint(pubkeyHex: unknown): string;
19
+ export declare function whoLabel(input: {
20
+ localMoniker?: string | null;
21
+ offeredMoniker?: string | null;
22
+ pubkeyHex: string;
23
+ }): {
24
+ who: string;
25
+ whoKnown: boolean;
26
+ source: WhoSource;
27
+ };
28
+ //# sourceMappingURL=who-label.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"who-label.d.ts","sourceRoot":"","sources":["../src/who-label.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,SAAS,GAAG,aAAa,CAAC;AAE5D,4FAA4F;AAC5F,wBAAgB,WAAW,CAAC,SAAS,EAAE,OAAO,GAAG,MAAM,CAGtD;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE;IAC9B,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,SAAS,EAAE,MAAM,CAAC;CACnB,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,SAAS,CAAA;CAAE,CAMxD"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * MONIKER-4 AC1 — whoLabel: the one display-name resolution (M8C-MONIKER-SPEC §2).
3
+ *
4
+ * who = localMoniker ?? offeredMoniker ?? fingerprint(pubkey)
5
+ *
6
+ * PURE and TOTAL: never throws, never returns an empty label. Both name inputs
7
+ * are re-validated with the shared wire rule — the boundaries (MONIKER-2/3)
8
+ * make invalid values unreachable here, but totality means this function is
9
+ * safe even if misused. `whoKnown` is true ONLY when the label came from the
10
+ * local address book (a deliberate operator act — CC-1); an offered name is an
11
+ * unverified hint and a fingerprint is derived identity, both unknown.
12
+ *
13
+ * The name-vs-fingerprint discriminator is unforgeable by construction:
14
+ * MONIKER_RE excludes spaces, and a fingerprint always contains one.
15
+ */
16
+ import { validateMoniker } from "@cello-protocol/protocol-types";
17
+ /** `agent 178d420b…` — first 8 hex chars. Total: garbage still yields a non-empty label. */
18
+ export function fingerprint(pubkeyHex) {
19
+ const hex = typeof pubkeyHex === "string" && pubkeyHex.length >= 8 ? pubkeyHex.slice(0, 8) : null;
20
+ return hex !== null ? `agent ${hex}…` : "agent unknown…";
21
+ }
22
+ export function whoLabel(input) {
23
+ const local = input.localMoniker != null ? validateMoniker(input.localMoniker) : null;
24
+ if (local !== null)
25
+ return { who: local, whoKnown: true, source: "local" };
26
+ const offered = input.offeredMoniker != null ? validateMoniker(input.offeredMoniker) : null;
27
+ if (offered !== null)
28
+ return { who: offered, whoKnown: false, source: "offered" };
29
+ return { who: fingerprint(input.pubkeyHex), whoKnown: false, source: "fingerprint" };
30
+ }
31
+ //# sourceMappingURL=who-label.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"who-label.js","sourceRoot":"","sources":["../src/who-label.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAIjE,4FAA4F;AAC5F,MAAM,UAAU,WAAW,CAAC,SAAkB;IAC5C,MAAM,GAAG,GAAG,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAClG,OAAO,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,GAAG,GAAG,CAAC,CAAC,CAAC,gBAAgB,CAAC;AAC3D,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,KAIxB;IACC,MAAM,KAAK,GAAG,KAAK,CAAC,YAAY,IAAI,IAAI,CAAC,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACtF,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;IAC3E,MAAM,OAAO,GAAG,KAAK,CAAC,cAAc,IAAI,IAAI,CAAC,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC5F,IAAI,OAAO,KAAK,IAAI;QAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;IAClF,OAAO,EAAE,GAAG,EAAE,WAAW,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC;AACvF,CAAC"}
@@ -0,0 +1,15 @@
1
+ import type { SessionNodeManager } from "./session-node-manager.js";
2
+ import type { Logger } from "./types.js";
3
+ export interface WhoLabelDeps {
4
+ logger: Logger;
5
+ sessionNodeManager: SessionNodeManager;
6
+ /** The display name the counterparty offered for this session, if any. */
7
+ getOfferedMoniker: (agentName: string, sessionIdHex: string) => string | null;
8
+ }
9
+ export declare function createWhoResolver(deps: WhoLabelDeps): {
10
+ resolveWho: (agentName: string, pubkeyHex: string, sessionIdHex: string) => {
11
+ who: string;
12
+ whoKnown: boolean;
13
+ };
14
+ };
15
+ //# sourceMappingURL=who-resolver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"who-resolver.d.ts","sourceRoot":"","sources":["../src/who-resolver.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAGzC,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,kBAAkB,EAAE,kBAAkB,CAAC;IACvC,0EAA0E;IAC1E,iBAAiB,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;CAC/E;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,YAAY;4BAOnB,MAAM,aAAa,MAAM,gBAAgB,MAAM,KAAG;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAE;EA6BpH"}
@@ -0,0 +1,47 @@
1
+ /**
2
+ * What to CALL a counterparty in a message an operator reads.
3
+ *
4
+ * Three tiers, and the order matters: the local pet name an operator chose, then the display name
5
+ * the counterparty offered for this session, then the key fingerprint. A label can never block a
6
+ * message and can never stand in for identity — the pubkey is the identity, and this only decides
7
+ * what a human sees beside it.
8
+ */
9
+ import { whoLabel } from "./who-label.js";
10
+ import { extractErrorMessage } from "./error-message.js";
11
+ export function createWhoResolver(deps) {
12
+ const { logger, sessionNodeManager, getOfferedMoniker } = deps;
13
+ // MONIKER-4 AC2: resolve the counterparty's display label — local pet name (MONIKER-3) ??
14
+ // offered name for this session (MONIKER-2) ?? fingerprint. Total: any failure inside
15
+ // resolution degrades to fingerprint via whoLabel's own tiers; a label can never block a
16
+ // doorbell (spec §8).
17
+ function resolveWho(agentName, pubkeyHex, sessionIdHex) {
18
+ let localMoniker = null;
19
+ try {
20
+ localMoniker = sessionNodeManager.getContactMoniker(agentName, pubkeyHex);
21
+ }
22
+ catch (err) {
23
+ logger.warn("moniker.local.read_failed", { agentName, pubkey: pubkeyHex, reason: extractErrorMessage(err) });
24
+ }
25
+ // DOD-MONIKER-6: read only the box written FOR this agent — never a co-resident agent's.
26
+ const resolved = whoLabel({ localMoniker, offeredMoniker: getOfferedMoniker(agentName, sessionIdHex), pubkeyHex });
27
+ // `sessionId` is load-bearing for diagnosis, not decoration. `source:"offered"` is CORRECT for a
28
+ // RECEIVER and wrong only for an INITIATOR (an initiator must never find a box — see DOD-MONIKER-6),
29
+ // so a line cannot be judged without knowing who opened the session. Join on sessionId against
30
+ // `session.inbound.accepted`, which names the receiver; any other agent on that session is the
31
+ // initiator. Without this field the M8C live run produced a wrong verdict twice (journal Entry 76).
32
+ //
33
+ // The resolved LABEL is never logged: for an unverified offer it is an attacker-chosen string, and
34
+ // MONIKER-2 AC2 already forbids echoing the raw value (`moniker.rejected` logs the reason, not the
35
+ // name). `whoKnown` carries the trust bit without the payload.
36
+ logger.debug("moniker.resolved", {
37
+ agentName,
38
+ sessionId: sessionIdHex,
39
+ pubkey: pubkeyHex,
40
+ source: resolved.source,
41
+ whoKnown: resolved.whoKnown,
42
+ });
43
+ return { who: resolved.who, whoKnown: resolved.whoKnown };
44
+ }
45
+ return { resolveWho };
46
+ }
47
+ //# sourceMappingURL=who-resolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"who-resolver.js","sourceRoot":"","sources":["../src/who-resolver.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAG1C,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AASzD,MAAM,UAAU,iBAAiB,CAAC,IAAkB;IAClD,MAAM,EAAE,MAAM,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,GAAG,IAAI,CAAC;IAE/D,0FAA0F;IAC1F,sFAAsF;IACtF,yFAAyF;IACzF,sBAAsB;IACtB,SAAS,UAAU,CAAC,SAAiB,EAAE,SAAiB,EAAE,YAAoB;QAC5E,IAAI,YAAY,GAAkB,IAAI,CAAC;QACvC,IAAI,CAAC;YACH,YAAY,GAAG,kBAAkB,CAAC,iBAAiB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAC5E,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACtB,MAAM,CAAC,IAAI,CAAC,2BAA2B,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,mBAAmB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC/G,CAAC;QACD,yFAAyF;QACzF,MAAM,QAAQ,GAAG,QAAQ,CAAC,EAAE,YAAY,EAAE,cAAc,EAAE,iBAAiB,CAAC,SAAS,EAAE,YAAY,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC;QACnH,iGAAiG;QACjG,qGAAqG;QACrG,+FAA+F;QAC/F,+FAA+F;QAC/F,oGAAoG;QACpG,EAAE;QACF,mGAAmG;QACnG,mGAAmG;QACnG,+DAA+D;QAC/D,MAAM,CAAC,KAAK,CAAC,kBAAkB,EAAE;YAC/B,SAAS;YACT,SAAS,EAAE,YAAY;YACvB,MAAM,EAAE,SAAS;YACjB,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,QAAQ,EAAE,QAAQ,CAAC,QAAQ;SAC5B,CAAC,CAAC;QACH,OAAO,EAAE,GAAG,EAAE,QAAQ,CAAC,GAAG,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;IAC5D,CAAC;IAED,OAAO,EAAE,UAAU,EAAE,CAAC;AACxB,CAAC"}
@@ -0,0 +1,93 @@
1
+ /**
2
+ * THE content hash every session content frame carries on the wire.
3
+ *
4
+ * `sha256(0x00 || content)`. The `0x00` is a domain-separation prefix, and it is NOT the leaf kind:
5
+ * the receiver recomputes with `0x00` for every frame regardless of what the content turns out to
6
+ * be (`session-node-manager.ts` cross-check), and the leaf KIND — `msg`, `doc`, `ctrl` — is decided
7
+ * afterwards, when the leaf is appended. Confusing the two is the mistake this module exists to
8
+ * stop, because it produces a hash that is individually plausible and rejected by every peer.
9
+ *
10
+ * ── WHY IT IS A MODULE ────────────────────────────────────────────────────────────────────────
11
+ *
12
+ * The expression was written out at five call sites. The two DOCUMENT senders — added last — wrote
13
+ * `sha256(content)` without the prefix, and the failure is the least debuggable shape there is:
14
+ * the send succeeds, `parked: false`, the sender's log says the frame left, and the receiver
15
+ * discards it at the authenticity check with `content_hash_mismatch` before the document layer is
16
+ * ever consulted. The receiving side logs nothing about documents at all, so the evidence points at
17
+ * classification, at the router, at the gateway — everywhere except the sender's hash.
18
+ *
19
+ * No unit test could see it: both sides of every in-process test compute the hash with the same
20
+ * function, so they agree with each other whether or not either agrees with the wire. It took two
21
+ * real daemons.
22
+ */
23
+ /**
24
+ * ─── THE ALGORITHM TRAVELS WITH THE HASH — `DOD-M15-SEALWIRE-1` part B1 ───────────────────────
25
+ *
26
+ * A salted content hash and an unsalted one are both 32 bytes in the same wire field. Nothing in
27
+ * the bytes distinguishes them, so a receiver handed one and told nothing has no way to know which
28
+ * it is holding — and gets `content_hash_mismatch` on every frame, which is the exact
29
+ * silent-discard failure this module's header says cost two real daemons.
30
+ *
31
+ * Hence a NAME on the wire, and three cases that must stay apart (Decisions Carried #15):
32
+ *
33
+ * ABSENT → `sha256`. A peer that predates the field. We know what it computed.
34
+ * NAMED and KNOWN → verify under that name.
35
+ * NAMED and UNKNOWN → **refuse.** Not a legacy peer — an unreadable one. There is no correct hash
36
+ * to compare against, and falling back to `sha256` would compare two
37
+ * unrelated values and report a TAMPER for a version skew.
38
+ *
39
+ * ⚠️ RECEIVER FIRST — the ROLLOUT ORDER, which is still the rule. Every peer must be able to
40
+ * understand a salted frame before any peer sends one. Reversed, the first upgraded sender breaks
41
+ * every conversation it has with a peer that has not upgraded.
42
+ *
43
+ * > **⛔ THIS PARAGRAPH USED TO END "`no sender salts yet`", AND THAT IS NO LONGER TRUE.** It was
44
+ * > written during part B1, when the receiver had been taught to read the name and nothing produced
45
+ * > a salted one. **B2b-2 flipped it: a session holding an agreed salt now hashes under
46
+ * > `HMAC_SALT_V1`.** The sentence is rewritten rather than deleted because it is exactly the shape
47
+ * > `DOD-M15-CLAIM-COMMENTS-1` exists to catch — a comment asserting a property the code no longer
48
+ * > has — and deleting it would remove the evidence that someone reasoned from it.
49
+ * >
50
+ * > It was still being read as current on 2026-08-24: a spine test's park deposit declared `sha256`
51
+ * > on this comment's authority, the recipient recomputed under the name it was given, and the
52
+ * > mismatch surfaced as `content_hash_mismatch` — **a tamper verdict on a message nobody touched**,
53
+ * > which is precisely the failure the ALGORITHM-TRAVELS-WITH-THE-HASH rule above exists to prevent.
54
+ */
55
+ export declare const CONTENT_HASH_ALGS: {
56
+ /** `sha256(0x00 ‖ content)` — what every build before the salt computes, and the absent-field default. */
57
+ readonly SHA256: "sha256";
58
+ /** `hmac-sha256(salt, 0x00 ‖ content)` — Decision #9. HMAC, never `sha256(salt ‖ content)`. */
59
+ readonly HMAC_SALT_V1: "hmac-sha256-salt-v1";
60
+ };
61
+ export type ContentHashAlg = (typeof CONTENT_HASH_ALGS)[keyof typeof CONTENT_HASH_ALGS];
62
+ /** Whether this daemon can reproduce a hash under the given name. */
63
+ export declare function isKnownContentHashAlg(alg: string): alg is ContentHashAlg;
64
+ /**
65
+ * What a frame says it used, or a refusal naming the value.
66
+ *
67
+ * ABSENT is deliberately `undefined`/`null` ONLY — not "falsy". An empty string is a peer that sent
68
+ * a name we cannot read, not a peer that sent no name, and folding the two together would verify a
69
+ * malformed frame as legacy instead of telling its sender the frame is unreadable.
70
+ */
71
+ export declare function resolveContentHashAlg(raw: string | null | undefined): {
72
+ ok: true;
73
+ alg: ContentHashAlg;
74
+ } | {
75
+ ok: false;
76
+ value: string;
77
+ };
78
+ /**
79
+ * The content hash under a named algorithm.
80
+ *
81
+ * THROWS rather than substituting, in both failure cases, and that is the point of the function. A
82
+ * 32-byte value returned for an unknown algorithm — or an unsalted one returned because the salt was
83
+ * missing — flows straight into the cross-check and surfaces as `content_hash_mismatch`: a TAMPER
84
+ * REPORT for what is really a version skew or a missing salt. The caller must handle those as what
85
+ * they are.
86
+ */
87
+ export declare function contentHashFor(content: Uint8Array, opts: {
88
+ alg: string;
89
+ salt: Uint8Array | null;
90
+ }): Uint8Array;
91
+ /** The hash a sender puts on the wire and the receiver recomputes to authenticate it. */
92
+ export declare function wireContentHash(content: Uint8Array): Uint8Array;
93
+ //# sourceMappingURL=wire-content-hash.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wire-content-hash.d.ts","sourceRoot":"","sources":["../src/wire-content-hash.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAKH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,eAAO,MAAM,iBAAiB;IAC5B,0GAA0G;;IAE1G,+FAA+F;;CAEvF,CAAC;AAEX,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,OAAO,iBAAiB,CAAC,CAAC;AAIxF,qEAAqE;AACrE,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,IAAI,cAAc,CAExE;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CACnC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAC7B;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,GAAG,EAAE,cAAc,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAMlE;AAED;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAC5B,OAAO,EAAE,UAAU,EACnB,IAAI,EAAE;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,UAAU,GAAG,IAAI,CAAA;CAAE,GAC7C,UAAU,CAiBZ;AAQD,yFAAyF;AACzF,wBAAgB,eAAe,CAAC,OAAO,EAAE,UAAU,GAAG,UAAU,CAE/D"}