@moltzap/client 2026.811.0 → 2026.902.0

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 (429) hide show
  1. package/LICENSE +202 -21
  2. package/NOTICE +19 -0
  3. package/README.md +50 -0
  4. package/bin/moltzapd +9 -0
  5. package/dist/client-runtime.d.ts +10 -0
  6. package/dist/client-runtime.d.ts.map +1 -0
  7. package/dist/client-runtime.js +218 -0
  8. package/dist/client-runtime.js.map +1 -0
  9. package/dist/contract.d.ts +338 -0
  10. package/dist/contract.d.ts.map +1 -0
  11. package/dist/contract.js +213 -0
  12. package/dist/contract.js.map +1 -0
  13. package/dist/contract.types-check.d.ts +99 -0
  14. package/dist/contract.types-check.d.ts.map +1 -0
  15. package/dist/contract.types-check.js +7 -0
  16. package/dist/contract.types-check.js.map +1 -0
  17. package/dist/daemon/configuration.d.ts +46 -0
  18. package/dist/daemon/configuration.d.ts.map +1 -0
  19. package/dist/daemon/configuration.js +69 -0
  20. package/dist/daemon/configuration.js.map +1 -0
  21. package/dist/daemon/management.d.ts +23 -0
  22. package/dist/daemon/management.d.ts.map +1 -0
  23. package/dist/daemon/management.js +489 -0
  24. package/dist/daemon/management.js.map +1 -0
  25. package/dist/daemon/registration.d.ts +72 -0
  26. package/dist/daemon/registration.d.ts.map +1 -0
  27. package/dist/daemon/registration.js +109 -0
  28. package/dist/daemon/registration.js.map +1 -0
  29. package/dist/daemon/runtime/activation.d.ts +95 -0
  30. package/dist/daemon/runtime/activation.d.ts.map +1 -0
  31. package/dist/daemon/runtime/activation.js +99 -0
  32. package/dist/daemon/runtime/activation.js.map +1 -0
  33. package/dist/daemon/runtime/controller.d.ts +34 -0
  34. package/dist/daemon/runtime/controller.d.ts.map +1 -0
  35. package/dist/daemon/runtime/controller.js +106 -0
  36. package/dist/daemon/runtime/controller.js.map +1 -0
  37. package/dist/daemon/runtime/history-export.d.ts +23 -0
  38. package/dist/daemon/runtime/history-export.d.ts.map +1 -0
  39. package/dist/daemon/runtime/history-export.js +47 -0
  40. package/dist/daemon/runtime/history-export.js.map +1 -0
  41. package/dist/daemon/runtime/index.d.ts +24 -0
  42. package/dist/daemon/runtime/index.d.ts.map +1 -0
  43. package/dist/daemon/runtime/index.js +65 -0
  44. package/dist/daemon/runtime/index.js.map +1 -0
  45. package/dist/daemon/runtime/protocol.d.ts +63 -0
  46. package/dist/daemon/runtime/protocol.d.ts.map +1 -0
  47. package/dist/daemon/runtime/protocol.js +133 -0
  48. package/dist/daemon/runtime/protocol.js.map +1 -0
  49. package/dist/endpoint/addressing/index.d.ts +39 -0
  50. package/dist/endpoint/addressing/index.d.ts.map +1 -0
  51. package/dist/endpoint/addressing/index.js +114 -0
  52. package/dist/endpoint/addressing/index.js.map +1 -0
  53. package/dist/endpoint/engine-dissemination.d.ts +11 -0
  54. package/dist/endpoint/engine-dissemination.d.ts.map +1 -0
  55. package/dist/endpoint/engine-dissemination.js +71 -0
  56. package/dist/endpoint/engine-dissemination.js.map +1 -0
  57. package/dist/endpoint/engine-durability.d.ts +69 -0
  58. package/dist/endpoint/engine-durability.d.ts.map +1 -0
  59. package/dist/endpoint/engine-durability.js +210 -0
  60. package/dist/endpoint/engine-durability.js.map +1 -0
  61. package/dist/endpoint/engine-send.d.ts +50 -0
  62. package/dist/endpoint/engine-send.d.ts.map +1 -0
  63. package/dist/endpoint/engine-send.js +422 -0
  64. package/dist/endpoint/engine-send.js.map +1 -0
  65. package/dist/endpoint/engine-types.d.ts +132 -0
  66. package/dist/endpoint/engine-types.d.ts.map +1 -0
  67. package/dist/endpoint/engine-types.js +13 -0
  68. package/dist/endpoint/engine-types.js.map +1 -0
  69. package/dist/endpoint/engine.d.ts +14 -0
  70. package/dist/endpoint/engine.d.ts.map +1 -0
  71. package/dist/endpoint/engine.js +280 -0
  72. package/dist/endpoint/engine.js.map +1 -0
  73. package/dist/endpoint/protocol/evidence.d.ts +37 -0
  74. package/dist/endpoint/protocol/evidence.d.ts.map +1 -0
  75. package/dist/endpoint/protocol/evidence.js +80 -0
  76. package/dist/endpoint/protocol/evidence.js.map +1 -0
  77. package/dist/endpoint/protocol/index.d.ts +26 -0
  78. package/dist/endpoint/protocol/index.d.ts.map +1 -0
  79. package/dist/endpoint/protocol/index.js +543 -0
  80. package/dist/endpoint/protocol/index.js.map +1 -0
  81. package/dist/endpoint/recovery/barrier.d.ts +23 -0
  82. package/dist/endpoint/recovery/barrier.d.ts.map +1 -0
  83. package/dist/endpoint/recovery/barrier.js +47 -0
  84. package/dist/endpoint/recovery/barrier.js.map +1 -0
  85. package/dist/endpoint/recovery/index.d.ts +29 -0
  86. package/dist/endpoint/recovery/index.d.ts.map +1 -0
  87. package/dist/endpoint/recovery/index.js +489 -0
  88. package/dist/endpoint/recovery/index.js.map +1 -0
  89. package/dist/endpoint/recovery/reanchor/empty.d.ts +22 -0
  90. package/dist/endpoint/recovery/reanchor/empty.d.ts.map +1 -0
  91. package/dist/endpoint/recovery/reanchor/empty.js +163 -0
  92. package/dist/endpoint/recovery/reanchor/empty.js.map +1 -0
  93. package/dist/endpoint/recovery/reanchor/index.d.ts +30 -0
  94. package/dist/endpoint/recovery/reanchor/index.d.ts.map +1 -0
  95. package/dist/endpoint/recovery/reanchor/index.js +479 -0
  96. package/dist/endpoint/recovery/reanchor/index.js.map +1 -0
  97. package/dist/endpoint/recovery/state.d.ts +130 -0
  98. package/dist/endpoint/recovery/state.d.ts.map +1 -0
  99. package/dist/endpoint/recovery/state.js +296 -0
  100. package/dist/endpoint/recovery/state.js.map +1 -0
  101. package/dist/endpoint/recovery/store-evidence.d.ts +17 -0
  102. package/dist/endpoint/recovery/store-evidence.d.ts.map +1 -0
  103. package/dist/endpoint/recovery/store-evidence.js +79 -0
  104. package/dist/endpoint/recovery/store-evidence.js.map +1 -0
  105. package/dist/endpoint/recovery/store.d.ts +56 -0
  106. package/dist/endpoint/recovery/store.d.ts.map +1 -0
  107. package/dist/endpoint/recovery/store.js +499 -0
  108. package/dist/endpoint/recovery/store.js.map +1 -0
  109. package/dist/endpoint/representation-canonical.d.ts +17 -0
  110. package/dist/endpoint/representation-canonical.d.ts.map +1 -0
  111. package/dist/endpoint/representation-canonical.js +48 -0
  112. package/dist/endpoint/representation-canonical.js.map +1 -0
  113. package/dist/endpoint/representation-codec.d.ts +51 -0
  114. package/dist/endpoint/representation-codec.d.ts.map +1 -0
  115. package/dist/endpoint/representation-codec.js +159 -0
  116. package/dist/endpoint/representation-codec.js.map +1 -0
  117. package/dist/endpoint/representation-schemas.d.ts +1831 -0
  118. package/dist/endpoint/representation-schemas.d.ts.map +1 -0
  119. package/dist/endpoint/representation-schemas.js +195 -0
  120. package/dist/endpoint/representation-schemas.js.map +1 -0
  121. package/dist/endpoint/representation-verification.d.ts +79 -0
  122. package/dist/endpoint/representation-verification.d.ts.map +1 -0
  123. package/dist/endpoint/representation-verification.js +420 -0
  124. package/dist/endpoint/representation-verification.js.map +1 -0
  125. package/dist/endpoint/representation.d.ts +6 -0
  126. package/dist/endpoint/representation.d.ts.map +1 -0
  127. package/dist/endpoint/representation.js +8 -0
  128. package/dist/endpoint/representation.js.map +1 -0
  129. package/dist/endpoint/router-worker/index.d.ts +16 -0
  130. package/dist/endpoint/router-worker/index.d.ts.map +1 -0
  131. package/dist/endpoint/router-worker/index.js +547 -0
  132. package/dist/endpoint/router-worker/index.js.map +1 -0
  133. package/dist/endpoint/router-worker/types.d.ts +183 -0
  134. package/dist/endpoint/router-worker/types.d.ts.map +1 -0
  135. package/dist/endpoint/router-worker/types.js +31 -0
  136. package/dist/endpoint/router-worker/types.js.map +1 -0
  137. package/dist/endpoint/store/anchors.d.ts +83 -0
  138. package/dist/endpoint/store/anchors.d.ts.map +1 -0
  139. package/dist/endpoint/store/anchors.js +471 -0
  140. package/dist/endpoint/store/anchors.js.map +1 -0
  141. package/dist/endpoint/store/database/index.d.ts +6 -0
  142. package/dist/endpoint/store/database/index.d.ts.map +1 -0
  143. package/dist/endpoint/store/database/index.js +6 -0
  144. package/dist/endpoint/store/database/index.js.map +1 -0
  145. package/dist/endpoint/store/database/schema.d.ts +44 -0
  146. package/dist/endpoint/store/database/schema.d.ts.map +1 -0
  147. package/dist/endpoint/store/database/schema.js +345 -0
  148. package/dist/endpoint/store/database/schema.js.map +1 -0
  149. package/dist/endpoint/store/database/values.d.ts +119 -0
  150. package/dist/endpoint/store/database/values.d.ts.map +1 -0
  151. package/dist/endpoint/store/database/values.js +194 -0
  152. package/dist/endpoint/store/database/values.js.map +1 -0
  153. package/dist/endpoint/store/deliveries.d.ts +38 -0
  154. package/dist/endpoint/store/deliveries.d.ts.map +1 -0
  155. package/dist/endpoint/store/deliveries.js +124 -0
  156. package/dist/endpoint/store/deliveries.js.map +1 -0
  157. package/dist/endpoint/store/dissemination.d.ts +27 -0
  158. package/dist/endpoint/store/dissemination.d.ts.map +1 -0
  159. package/dist/endpoint/store/dissemination.js +139 -0
  160. package/dist/endpoint/store/dissemination.js.map +1 -0
  161. package/dist/endpoint/store/index.d.ts +15 -0
  162. package/dist/endpoint/store/index.d.ts.map +1 -0
  163. package/dist/endpoint/store/index.js +76 -0
  164. package/dist/endpoint/store/index.js.map +1 -0
  165. package/dist/endpoint/store/management.d.ts +42 -0
  166. package/dist/endpoint/store/management.d.ts.map +1 -0
  167. package/dist/endpoint/store/management.js +259 -0
  168. package/dist/endpoint/store/management.js.map +1 -0
  169. package/dist/endpoint/store/outbound.d.ts +62 -0
  170. package/dist/endpoint/store/outbound.d.ts.map +1 -0
  171. package/dist/endpoint/store/outbound.js +278 -0
  172. package/dist/endpoint/store/outbound.js.map +1 -0
  173. package/dist/endpoint/store/records.d.ts +56 -0
  174. package/dist/endpoint/store/records.d.ts.map +1 -0
  175. package/dist/endpoint/store/records.js +352 -0
  176. package/dist/endpoint/store/records.js.map +1 -0
  177. package/dist/endpoint/store/rows/index.d.ts +138 -0
  178. package/dist/endpoint/store/rows/index.d.ts.map +1 -0
  179. package/dist/endpoint/store/rows/index.js +307 -0
  180. package/dist/endpoint/store/rows/index.js.map +1 -0
  181. package/dist/endpoint/store/types.d.ts +223 -0
  182. package/dist/endpoint/store/types.d.ts.map +1 -0
  183. package/dist/endpoint/store/types.js +15 -0
  184. package/dist/endpoint/store/types.js.map +1 -0
  185. package/dist/endpoint/store.d.ts +10 -0
  186. package/dist/endpoint/store.d.ts.map +1 -0
  187. package/dist/endpoint/store.js +6 -0
  188. package/dist/endpoint/store.js.map +1 -0
  189. package/dist/harness-mcp-contract.d.ts +101 -0
  190. package/dist/harness-mcp-contract.d.ts.map +1 -0
  191. package/dist/harness-mcp-contract.js +61 -0
  192. package/dist/harness-mcp-contract.js.map +1 -0
  193. package/dist/harness-mcp-http.d.ts +19 -0
  194. package/dist/harness-mcp-http.d.ts.map +1 -0
  195. package/dist/{harness-mcp-server.js → harness-mcp-http.js} +43 -71
  196. package/dist/harness-mcp-http.js.map +1 -0
  197. package/dist/harness-mcp-subscription.d.ts +12 -7
  198. package/dist/harness-mcp-subscription.d.ts.map +1 -1
  199. package/dist/harness-mcp-subscription.js +113 -100
  200. package/dist/harness-mcp-subscription.js.map +1 -1
  201. package/dist/harness-mcp-wire.d.ts +26 -19
  202. package/dist/harness-mcp-wire.d.ts.map +1 -1
  203. package/dist/harness-mcp-wire.js +380 -67
  204. package/dist/harness-mcp-wire.js.map +1 -1
  205. package/dist/index.d.ts +4 -8
  206. package/dist/index.d.ts.map +1 -1
  207. package/dist/index.js +6 -8
  208. package/dist/index.js.map +1 -1
  209. package/dist/management-runtime.d.ts +217 -0
  210. package/dist/management-runtime.d.ts.map +1 -0
  211. package/dist/management-runtime.js +127 -0
  212. package/dist/management-runtime.js.map +1 -0
  213. package/dist/server.d.ts +16 -0
  214. package/dist/server.d.ts.map +1 -0
  215. package/dist/server.js +46 -0
  216. package/dist/server.js.map +1 -0
  217. package/dist/server.types-check.d.ts +23 -0
  218. package/dist/server.types-check.d.ts.map +1 -0
  219. package/dist/server.types-check.js +7 -0
  220. package/dist/server.types-check.js.map +1 -0
  221. package/package.json +45 -47
  222. package/dist/agent-client.d.ts +0 -5
  223. package/dist/agent-client.d.ts.map +0 -1
  224. package/dist/agent-client.js +0 -3
  225. package/dist/agent-client.js.map +0 -1
  226. package/dist/auth.d.ts +0 -37
  227. package/dist/auth.d.ts.map +0 -1
  228. package/dist/auth.js +0 -79
  229. package/dist/auth.js.map +0 -1
  230. package/dist/bounded-map.d.ts +0 -32
  231. package/dist/bounded-map.d.ts.map +0 -1
  232. package/dist/bounded-map.js +0 -79
  233. package/dist/bounded-map.js.map +0 -1
  234. package/dist/channel-base/format-cross-conv.d.ts +0 -43
  235. package/dist/channel-base/format-cross-conv.d.ts.map +0 -1
  236. package/dist/channel-base/format-cross-conv.js +0 -65
  237. package/dist/channel-base/format-cross-conv.js.map +0 -1
  238. package/dist/channel-base/format-group-block.d.ts +0 -48
  239. package/dist/channel-base/format-group-block.d.ts.map +0 -1
  240. package/dist/channel-base/format-group-block.js +0 -62
  241. package/dist/channel-base/format-group-block.js.map +0 -1
  242. package/dist/channel-base/index.d.ts +0 -12
  243. package/dist/channel-base/index.d.ts.map +0 -1
  244. package/dist/channel-base/index.js +0 -13
  245. package/dist/channel-base/index.js.map +0 -1
  246. package/dist/channel-core-enrichment.d.ts +0 -14
  247. package/dist/channel-core-enrichment.d.ts.map +0 -1
  248. package/dist/channel-core-enrichment.js +0 -143
  249. package/dist/channel-core-enrichment.js.map +0 -1
  250. package/dist/channel-core-test-support.d.ts +0 -75
  251. package/dist/channel-core-test-support.d.ts.map +0 -1
  252. package/dist/channel-core-test-support.js +0 -74
  253. package/dist/channel-core-test-support.js.map +0 -1
  254. package/dist/channel-core.d.ts +0 -304
  255. package/dist/channel-core.d.ts.map +0 -1
  256. package/dist/channel-core.js +0 -363
  257. package/dist/channel-core.js.map +0 -1
  258. package/dist/cli/adapters.d.ts +0 -21
  259. package/dist/cli/adapters.d.ts.map +0 -1
  260. package/dist/cli/adapters.js +0 -111
  261. package/dist/cli/adapters.js.map +0 -1
  262. package/dist/cli/commands/agents.d.ts +0 -11
  263. package/dist/cli/commands/agents.d.ts.map +0 -1
  264. package/dist/cli/commands/agents.js +0 -27
  265. package/dist/cli/commands/agents.js.map +0 -1
  266. package/dist/cli/commands/conversations.d.ts +0 -18
  267. package/dist/cli/commands/conversations.d.ts.map +0 -1
  268. package/dist/cli/commands/conversations.js +0 -33
  269. package/dist/cli/commands/conversations.js.map +0 -1
  270. package/dist/cli/commands/messages.d.ts +0 -41
  271. package/dist/cli/commands/messages.d.ts.map +0 -1
  272. package/dist/cli/commands/messages.js +0 -39
  273. package/dist/cli/commands/messages.js.map +0 -1
  274. package/dist/cli/commands/register.d.ts +0 -46
  275. package/dist/cli/commands/register.d.ts.map +0 -1
  276. package/dist/cli/commands/register.js +0 -103
  277. package/dist/cli/commands/register.js.map +0 -1
  278. package/dist/cli/commands/send.d.ts +0 -53
  279. package/dist/cli/commands/send.d.ts.map +0 -1
  280. package/dist/cli/commands/send.js +0 -57
  281. package/dist/cli/commands/send.js.map +0 -1
  282. package/dist/cli/commands/start.d.ts +0 -34
  283. package/dist/cli/commands/start.d.ts.map +0 -1
  284. package/dist/cli/commands/start.js +0 -59
  285. package/dist/cli/commands/start.js.map +0 -1
  286. package/dist/cli/commands/status.d.ts +0 -7
  287. package/dist/cli/commands/status.d.ts.map +0 -1
  288. package/dist/cli/commands/status.js +0 -16
  289. package/dist/cli/commands/status.js.map +0 -1
  290. package/dist/cli/commands/test-transport.d.ts +0 -28
  291. package/dist/cli/commands/test-transport.d.ts.map +0 -1
  292. package/dist/cli/commands/test-transport.js +0 -40
  293. package/dist/cli/commands/test-transport.js.map +0 -1
  294. package/dist/cli/index.d.ts +0 -3
  295. package/dist/cli/index.d.ts.map +0 -1
  296. package/dist/cli/index.js +0 -105
  297. package/dist/cli/index.js.map +0 -1
  298. package/dist/cli/output.d.ts +0 -14
  299. package/dist/cli/output.d.ts.map +0 -1
  300. package/dist/cli/output.js +0 -19
  301. package/dist/cli/output.js.map +0 -1
  302. package/dist/cli/socket-client.d.ts +0 -28
  303. package/dist/cli/socket-client.d.ts.map +0 -1
  304. package/dist/cli/socket-client.js +0 -63
  305. package/dist/cli/socket-client.js.map +0 -1
  306. package/dist/cli/transport.d.ts +0 -132
  307. package/dist/cli/transport.d.ts.map +0 -1
  308. package/dist/cli/transport.js +0 -127
  309. package/dist/cli/transport.js.map +0 -1
  310. package/dist/config.d.ts +0 -33
  311. package/dist/config.d.ts.map +0 -1
  312. package/dist/config.js +0 -45
  313. package/dist/config.js.map +0 -1
  314. package/dist/config.test-utils.d.ts +0 -18
  315. package/dist/config.test-utils.d.ts.map +0 -1
  316. package/dist/config.test-utils.js +0 -53
  317. package/dist/config.test-utils.js.map +0 -1
  318. package/dist/harness/client-runtime.d.ts +0 -24
  319. package/dist/harness/client-runtime.d.ts.map +0 -1
  320. package/dist/harness/client-runtime.js +0 -107
  321. package/dist/harness/client-runtime.js.map +0 -1
  322. package/dist/harness/index.d.ts +0 -5
  323. package/dist/harness/index.d.ts.map +0 -1
  324. package/dist/harness/index.js +0 -5
  325. package/dist/harness/index.js.map +0 -1
  326. package/dist/harness/runtime.d.ts +0 -149
  327. package/dist/harness/runtime.d.ts.map +0 -1
  328. package/dist/harness/runtime.js +0 -68
  329. package/dist/harness/runtime.js.map +0 -1
  330. package/dist/harness-client.d.ts +0 -43
  331. package/dist/harness-client.d.ts.map +0 -1
  332. package/dist/harness-client.js +0 -21
  333. package/dist/harness-client.js.map +0 -1
  334. package/dist/harness-mcp-server.d.ts +0 -19
  335. package/dist/harness-mcp-server.d.ts.map +0 -1
  336. package/dist/harness-mcp-server.js.map +0 -1
  337. package/dist/local-daemon-rpc.d.ts +0 -1170
  338. package/dist/local-daemon-rpc.d.ts.map +0 -1
  339. package/dist/local-daemon-rpc.js +0 -178
  340. package/dist/local-daemon-rpc.js.map +0 -1
  341. package/dist/local-history.d.ts +0 -75
  342. package/dist/local-history.d.ts.map +0 -1
  343. package/dist/local-history.js +0 -82
  344. package/dist/local-history.js.map +0 -1
  345. package/dist/local-paths.d.ts +0 -22
  346. package/dist/local-paths.d.ts.map +0 -1
  347. package/dist/local-paths.js +0 -33
  348. package/dist/local-paths.js.map +0 -1
  349. package/dist/local-socket-server.d.ts +0 -33
  350. package/dist/local-socket-server.d.ts.map +0 -1
  351. package/dist/local-socket-server.js +0 -100
  352. package/dist/local-socket-server.js.map +0 -1
  353. package/dist/message-rendering.d.ts +0 -4
  354. package/dist/message-rendering.d.ts.map +0 -1
  355. package/dist/message-rendering.js +0 -8
  356. package/dist/message-rendering.js.map +0 -1
  357. package/dist/moltzapd.d.ts +0 -38
  358. package/dist/moltzapd.d.ts.map +0 -1
  359. package/dist/moltzapd.js +0 -78
  360. package/dist/moltzapd.js.map +0 -1
  361. package/dist/notification/__tests__/subscribe-signatures.types-check.d.ts +0 -53
  362. package/dist/notification/__tests__/subscribe-signatures.types-check.d.ts.map +0 -1
  363. package/dist/notification/__tests__/subscribe-signatures.types-check.js +0 -29
  364. package/dist/notification/__tests__/subscribe-signatures.types-check.js.map +0 -1
  365. package/dist/notification/errors.d.ts +0 -41
  366. package/dist/notification/errors.d.ts.map +0 -1
  367. package/dist/notification/errors.js +0 -24
  368. package/dist/notification/errors.js.map +0 -1
  369. package/dist/notification/index.d.ts +0 -6
  370. package/dist/notification/index.d.ts.map +0 -1
  371. package/dist/notification/index.js +0 -6
  372. package/dist/notification/index.js.map +0 -1
  373. package/dist/notification/stream.d.ts +0 -75
  374. package/dist/notification/stream.d.ts.map +0 -1
  375. package/dist/notification/stream.js +0 -30
  376. package/dist/notification/stream.js.map +0 -1
  377. package/dist/pagination.d.ts +0 -52
  378. package/dist/pagination.d.ts.map +0 -1
  379. package/dist/pagination.js +0 -51
  380. package/dist/pagination.js.map +0 -1
  381. package/dist/profile.d.ts +0 -104
  382. package/dist/profile.d.ts.map +0 -1
  383. package/dist/profile.js +0 -163
  384. package/dist/profile.js.map +0 -1
  385. package/dist/refs.d.ts +0 -18
  386. package/dist/refs.d.ts.map +0 -1
  387. package/dist/refs.js +0 -18
  388. package/dist/refs.js.map +0 -1
  389. package/dist/service-event-trace.d.ts +0 -15
  390. package/dist/service-event-trace.d.ts.map +0 -1
  391. package/dist/service-event-trace.js +0 -35
  392. package/dist/service-event-trace.js.map +0 -1
  393. package/dist/service-helpers.d.ts +0 -55
  394. package/dist/service-helpers.d.ts.map +0 -1
  395. package/dist/service-helpers.js +0 -108
  396. package/dist/service-helpers.js.map +0 -1
  397. package/dist/service-local-daemon.d.ts +0 -32
  398. package/dist/service-local-daemon.d.ts.map +0 -1
  399. package/dist/service-local-daemon.js +0 -153
  400. package/dist/service-local-daemon.js.map +0 -1
  401. package/dist/service.d.ts +0 -299
  402. package/dist/service.d.ts.map +0 -1
  403. package/dist/service.js +0 -789
  404. package/dist/service.js.map +0 -1
  405. package/dist/test-utils/channel-service-fixture.d.ts +0 -53
  406. package/dist/test-utils/channel-service-fixture.d.ts.map +0 -1
  407. package/dist/test-utils/channel-service-fixture.js +0 -178
  408. package/dist/test-utils/channel-service-fixture.js.map +0 -1
  409. package/dist/test-utils/fake-service.d.ts +0 -84
  410. package/dist/test-utils/fake-service.d.ts.map +0 -1
  411. package/dist/test-utils/fake-service.js +0 -108
  412. package/dist/test-utils/fake-service.js.map +0 -1
  413. package/dist/test-utils/harness.d.ts +0 -27
  414. package/dist/test-utils/harness.d.ts.map +0 -1
  415. package/dist/test-utils/harness.js +0 -33
  416. package/dist/test-utils/harness.js.map +0 -1
  417. package/dist/test-utils/ids.d.ts +0 -21
  418. package/dist/test-utils/ids.d.ts.map +0 -1
  419. package/dist/test-utils/ids.js +0 -68
  420. package/dist/test-utils/ids.js.map +0 -1
  421. package/dist/test-utils/index.d.ts +0 -54
  422. package/dist/test-utils/index.d.ts.map +0 -1
  423. package/dist/test-utils/index.js +0 -65
  424. package/dist/test-utils/index.js.map +0 -1
  425. package/dist/test-utils/standalone-provisioning.d.ts +0 -22
  426. package/dist/test-utils/standalone-provisioning.d.ts.map +0 -1
  427. package/dist/test-utils/standalone-provisioning.js +0 -17
  428. package/dist/test-utils/standalone-provisioning.js.map +0 -1
  429. package/dist/tsconfig.tsbuildinfo +0 -1
@@ -0,0 +1,307 @@
1
+ /** @file Typed projections and exact-binding checks for endpoint-store rows. */
2
+ import { Either, Schema } from "effect";
3
+ import { readBytes, readInteger, readOptionalBytes, readOptionalText, readText, requireEqual, requireSameBytes, StoreSignal, } from "../database/index.js";
4
+ import { DeliveryToken, } from "../types.js";
5
+ /**
6
+ * Projects one complete certified record and its separate evidence maps.
7
+ *
8
+ * @param database Exclusively owned endpoint database.
9
+ * @param row SQLite result row for the certified record core.
10
+ * @returns The detached complete certified record.
11
+ */
12
+ export function readCertifiedRecord(database, row) {
13
+ const staged = readStagedRecord(row);
14
+ const actionEvidence = readEvidenceForSubject(database, staged.conversationId, "action", staged.actionHash);
15
+ const durabilityEvidence = readEvidenceForSubject(database, staged.conversationId, "durability", staged.recordHash);
16
+ if (actionEvidence.length === 0 || durabilityEvidence.length === 0) {
17
+ throw new StoreSignal("corrupt");
18
+ }
19
+ return Object.freeze({
20
+ ...staged,
21
+ actionEvidence,
22
+ durabilityEvidence,
23
+ });
24
+ }
25
+ /**
26
+ * Projects one staged or completed recoverable re-anchor.
27
+ *
28
+ * @param row SQLite result row.
29
+ * @returns The detached recoverable re-anchor.
30
+ */
31
+ export function readRecoveredReanchor(row) {
32
+ const canonicalCompletedReanchor = readOptionalBytes(row, "canonical_completed_reanchor");
33
+ return Object.freeze({
34
+ ...readStagedReanchor(row),
35
+ ...(canonicalCompletedReanchor === undefined
36
+ ? {}
37
+ : { canonicalCompletedReanchor }),
38
+ });
39
+ }
40
+ /**
41
+ * Reads the optional singleton identity binding.
42
+ *
43
+ * @param database Exclusively owned endpoint database.
44
+ * @returns The detached identity binding when one is committed.
45
+ */
46
+ export function readStoredIdentity(database) {
47
+ const row = database
48
+ .prepare("SELECT agent_id, canonical_agent_card FROM identity_binding WHERE singleton = 1")
49
+ .get();
50
+ return row === undefined
51
+ ? undefined
52
+ : Object.freeze({
53
+ agentId: readText(row, "agent_id"),
54
+ canonicalAgentCard: readBytes(row, "canonical_agent_card"),
55
+ });
56
+ }
57
+ /**
58
+ * Reads a required conversation position.
59
+ *
60
+ * @param database Exclusively owned endpoint database.
61
+ * @param conversationId Opaque conversation identity.
62
+ * @returns Its durable anchor, head, and local ordinal.
63
+ */
64
+ export function readStoredPosition(database, conversationId) {
65
+ const row = database
66
+ .prepare(`SELECT conversation_id, membership_hash, current_anchor_hash,
67
+ head_record_hash, head_ordinal
68
+ FROM conversation_state WHERE conversation_id = ?`)
69
+ .get(conversationId);
70
+ if (row === undefined) {
71
+ throw new StoreSignal("not-found");
72
+ }
73
+ return Object.freeze({
74
+ ...readConversationPosition(row),
75
+ headOrdinal: readInteger(row, "head_ordinal"),
76
+ });
77
+ }
78
+ /**
79
+ * Projects one durable position row without its local ordinal.
80
+ *
81
+ * @param row SQLite result row.
82
+ * @returns The detached conversation position.
83
+ */
84
+ export function readConversationPosition(row) {
85
+ const headRecordHash = readOptionalText(row, "head_record_hash");
86
+ return Object.freeze({
87
+ conversationId: readText(row, "conversation_id"),
88
+ membershipHash: readText(row, "membership_hash"),
89
+ currentAnchorHash: readText(row, "current_anchor_hash"),
90
+ ...(headRecordHash === undefined ? {} : { headRecordHash }),
91
+ });
92
+ }
93
+ /**
94
+ * Reads an optional proposal lock for one predecessor.
95
+ *
96
+ * @param database Exclusively owned endpoint database.
97
+ * @param conversationId Opaque conversation identity.
98
+ * @param predecessorKey Exact predecessor or the genesis sentinel.
99
+ * @returns The detached proposal lock when present.
100
+ */
101
+ export function findProposalLock(database, conversationId, predecessorKey) {
102
+ const row = database
103
+ .prepare(`SELECT conversation_id, previous_record_hash, action_hash,
104
+ canonical_action_core
105
+ FROM proposal_locks
106
+ WHERE conversation_id = ? AND predecessor_key = ?`)
107
+ .get(conversationId, predecessorKey);
108
+ return row === undefined ? undefined : readProposalLock(row);
109
+ }
110
+ /**
111
+ * Projects one durable proposal lock.
112
+ *
113
+ * @param row SQLite result row.
114
+ * @returns The detached proposal lock.
115
+ */
116
+ export function readProposalLock(row) {
117
+ const previousRecordHash = readOptionalText(row, "previous_record_hash");
118
+ return Object.freeze({
119
+ conversationId: readText(row, "conversation_id"),
120
+ ...(previousRecordHash === undefined ? {} : { previousRecordHash }),
121
+ actionHash: readText(row, "action_hash"),
122
+ canonicalActionCore: readBytes(row, "canonical_action_core"),
123
+ });
124
+ }
125
+ /**
126
+ * Reads an optional staged record by stable private hash.
127
+ *
128
+ * @param database Exclusively owned endpoint database.
129
+ * @param conversationId Opaque conversation identity.
130
+ * @param recordHash Stable private record hash.
131
+ * @returns The detached staged record when present.
132
+ */
133
+ export function findStagedRecord(database, conversationId, recordHash) {
134
+ const row = database
135
+ .prepare(`SELECT conversation_id, record_hash, previous_record_hash,
136
+ membership_hash, anchor_hash, action_hash, author_agent_id,
137
+ post_id, canonical_record_core
138
+ FROM staged_records WHERE conversation_id = ? AND record_hash = ?`)
139
+ .get(conversationId, recordHash);
140
+ return row === undefined ? undefined : readStagedRecord(row);
141
+ }
142
+ /**
143
+ * Projects one exact staged record core.
144
+ *
145
+ * @param row SQLite result row.
146
+ * @returns The detached staged record.
147
+ */
148
+ export function readStagedRecord(row) {
149
+ const previousRecordHash = readOptionalText(row, "previous_record_hash");
150
+ return Object.freeze({
151
+ conversationId: readText(row, "conversation_id"),
152
+ recordHash: readText(row, "record_hash"),
153
+ ...(previousRecordHash === undefined ? {} : { previousRecordHash }),
154
+ membershipHash: readText(row, "membership_hash"),
155
+ anchorHash: readText(row, "anchor_hash"),
156
+ actionHash: readText(row, "action_hash"),
157
+ authorAgentId: readText(row, "author_agent_id"),
158
+ postId: readText(row, "post_id"),
159
+ canonicalRecordCore: readBytes(row, "canonical_record_core"),
160
+ });
161
+ }
162
+ /**
163
+ * Projects one stable evidence value.
164
+ *
165
+ * @param row SQLite result row.
166
+ * @returns The detached protocol evidence.
167
+ */
168
+ export function readProtocolEvidence(row) {
169
+ return Object.freeze({
170
+ conversationId: readText(row, "conversation_id"),
171
+ kind: readEvidenceKind(row),
172
+ subjectId: readText(row, "subject_id"),
173
+ evidenceKey: readText(row, "evidence_key"),
174
+ canonicalEvidence: readBytes(row, "canonical_evidence"),
175
+ });
176
+ }
177
+ /**
178
+ * Reads one ordered signer evidence map from its separate store rows.
179
+ *
180
+ * @param database Exclusively owned endpoint database.
181
+ * @param conversationId Conversation whose evidence is retained.
182
+ * @param kind Separate evidence domain to read.
183
+ * @param subjectId Action, record, request, or anchor identity.
184
+ * @returns Detached evidence ordered by signer key.
185
+ */
186
+ export function readEvidenceForSubject(database, conversationId, kind, subjectId) {
187
+ return Object.freeze(database
188
+ .prepare(`SELECT conversation_id, evidence_kind, subject_id,
189
+ evidence_key, canonical_evidence
190
+ FROM protocol_evidence
191
+ WHERE conversation_id = ? AND evidence_kind = ? AND subject_id = ?
192
+ ORDER BY evidence_key COLLATE BINARY`)
193
+ .all(conversationId, kind, subjectId)
194
+ .map(readProtocolEvidence));
195
+ }
196
+ /**
197
+ * Reads an optional staged re-anchor by stable body hash.
198
+ *
199
+ * @param database Exclusively owned endpoint database.
200
+ * @param conversationId Opaque conversation identity.
201
+ * @param anchorHash Stable private anchor hash.
202
+ * @returns The detached staged re-anchor when present.
203
+ */
204
+ export function findStagedReanchor(database, conversationId, anchorHash) {
205
+ const row = database
206
+ .prepare(`SELECT conversation_id, anchor_hash, previous_anchor_hash,
207
+ router_instance_id, selected_record_hash, canonical_body
208
+ FROM reanchors WHERE conversation_id = ? AND anchor_hash = ?`)
209
+ .get(conversationId, anchorHash);
210
+ return row === undefined ? undefined : readStagedReanchor(row);
211
+ }
212
+ /**
213
+ * Projects one staged re-anchor body.
214
+ *
215
+ * @param row SQLite result row.
216
+ * @returns The detached staged re-anchor.
217
+ */
218
+ export function readStagedReanchor(row) {
219
+ return Object.freeze({
220
+ conversationId: readText(row, "conversation_id"),
221
+ anchorHash: readText(row, "anchor_hash"),
222
+ previousAnchorHash: readText(row, "previous_anchor_hash"),
223
+ routerInstanceId: readText(row, "router_instance_id"),
224
+ selectedRecordHash: readText(row, "selected_record_hash"),
225
+ canonicalBody: readBytes(row, "canonical_body"),
226
+ });
227
+ }
228
+ /**
229
+ * Projects one retained durable delivery row.
230
+ *
231
+ * @param row SQLite result row.
232
+ * @returns The detached delivery and its acknowledgment state.
233
+ */
234
+ export function readPendingDelivery(row) {
235
+ const acknowledged = readInteger(row, "acknowledged");
236
+ if (acknowledged !== 0 && acknowledged !== 1) {
237
+ throw new StoreSignal("corrupt");
238
+ }
239
+ const deliveryToken = Either.match(Schema.decodeUnknownEither(DeliveryToken)(readText(row, "delivery_token")), {
240
+ onLeft: () => {
241
+ throw new StoreSignal("corrupt");
242
+ },
243
+ onRight: (token) => token,
244
+ });
245
+ return Object.freeze({
246
+ deliveryToken,
247
+ conversationId: readText(row, "conversation_id"),
248
+ recordHash: readText(row, "record_hash"),
249
+ recipientAgentId: readText(row, "recipient_agent_id"),
250
+ canonicalMessage: readBytes(row, "canonical_message"),
251
+ acknowledged: acknowledged === 1,
252
+ });
253
+ }
254
+ /**
255
+ * Requires two records with one stable hash to have identical bindings.
256
+ *
257
+ * @param left Previously retained staged record.
258
+ * @param right Candidate record with the same private hash.
259
+ */
260
+ export function requireSameRecord(left, right) {
261
+ requireEqual(left.conversationId, right.conversationId);
262
+ requireEqual(left.recordHash, right.recordHash);
263
+ requireEqual(left.previousRecordHash, right.previousRecordHash);
264
+ requireEqual(left.membershipHash, right.membershipHash);
265
+ requireEqual(left.anchorHash, right.anchorHash);
266
+ requireEqual(left.actionHash, right.actionHash);
267
+ requireEqual(left.authorAgentId, right.authorAgentId);
268
+ requireEqual(left.postId, right.postId);
269
+ requireSameBytes(left.canonicalRecordCore, right.canonicalRecordCore);
270
+ }
271
+ /**
272
+ * Requires two proposal locks for one predecessor to be byte-identical.
273
+ *
274
+ * @param left Previously retained proposal lock.
275
+ * @param right Candidate lock for the same predecessor.
276
+ */
277
+ export function requireSameProposalLock(left, right) {
278
+ requireEqual(left.conversationId, right.conversationId);
279
+ requireEqual(left.previousRecordHash, right.previousRecordHash);
280
+ requireEqual(left.actionHash, right.actionHash);
281
+ requireSameBytes(left.canonicalActionCore, right.canonicalActionCore);
282
+ }
283
+ /**
284
+ * Requires two re-anchors with one hash to have identical body bindings.
285
+ *
286
+ * @param left Previously retained re-anchor.
287
+ * @param right Candidate re-anchor with the same private hash.
288
+ */
289
+ export function requireSameReanchor(left, right) {
290
+ requireEqual(left.conversationId, right.conversationId);
291
+ requireEqual(left.anchorHash, right.anchorHash);
292
+ requireEqual(left.previousAnchorHash, right.previousAnchorHash);
293
+ requireEqual(left.routerInstanceId, right.routerInstanceId);
294
+ requireEqual(left.selectedRecordHash, right.selectedRecordHash);
295
+ requireSameBytes(left.canonicalBody, right.canonicalBody);
296
+ }
297
+ function readEvidenceKind(row) {
298
+ const kind = readText(row, "evidence_kind");
299
+ if (kind !== "action" &&
300
+ kind !== "durability" &&
301
+ kind !== "catch-up" &&
302
+ kind !== "reanchor") {
303
+ throw new StoreSignal("corrupt");
304
+ }
305
+ return kind;
306
+ }
307
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/endpoint/store/rows/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,223 @@
1
+ /** @file Private typed contract for endpoint persistence operations. */
2
+ import { type Effect, Schema } from "effect";
3
+ import type { EndpointStoreError } from "./database/values.js";
4
+ /** Stable opaque identity for one durable inbound delivery. */
5
+ export declare const DeliveryToken: Schema.brand<Schema.filter<typeof Schema.String>, "DeliveryToken">;
6
+ /** Strictly decoded private durable delivery identity. */
7
+ export type DeliveryToken = typeof DeliveryToken.Type;
8
+ /** Whether an idempotent mutation inserted state or observed the same state. */
9
+ export type StoreMutation = "inserted" | "existing";
10
+ /** Canonical bytes bound to the one local identity. */
11
+ export interface IdentityBinding {
12
+ readonly agentId: string;
13
+ readonly canonicalAgentCard: Uint8Array;
14
+ }
15
+ /** One locally authored immutable post intent and its completion. */
16
+ export interface PostIntent {
17
+ readonly conversationId: string;
18
+ readonly membershipHash: string;
19
+ readonly authorAgentId: string;
20
+ readonly postId: string;
21
+ readonly canonicalIntent: Uint8Array;
22
+ readonly completedRecordHash?: string;
23
+ }
24
+ /** Atomic binding for a post in either retained or newly founded history. */
25
+ export type PostIntentBinding = Readonly<{
26
+ kind: "existing-conversation";
27
+ intent: PostIntent;
28
+ }> | Readonly<{
29
+ kind: "new-conversation";
30
+ foundation: ConversationFoundation;
31
+ intent: PostIntent;
32
+ }>;
33
+ /** Immutable membership and genesis Router anchor for one conversation. */
34
+ export interface ConversationFoundation {
35
+ readonly conversationId: string;
36
+ readonly membershipHash: string;
37
+ readonly canonicalMembership: Uint8Array;
38
+ readonly anchorHash: string;
39
+ readonly canonicalAnchor: Uint8Array;
40
+ }
41
+ /** One immutable membership descriptor recovered independently of anchors. */
42
+ export interface StoredMembership {
43
+ readonly conversationId: string;
44
+ readonly membershipHash: string;
45
+ readonly canonicalMembership: Uint8Array;
46
+ }
47
+ /** One genesis or completed Router-epoch anchor in the retained chain. */
48
+ export interface StoredAnchor {
49
+ readonly conversationId: string;
50
+ readonly anchorHash: string;
51
+ readonly previousAnchorHash?: string;
52
+ readonly selectedRecordHash?: string;
53
+ readonly canonicalAnchor: Uint8Array;
54
+ }
55
+ /** The first Router-ordered action selected for one predecessor. */
56
+ export interface ProposalLock {
57
+ readonly conversationId: string;
58
+ readonly previousRecordHash?: string;
59
+ readonly actionHash: string;
60
+ readonly canonicalActionCore: Uint8Array;
61
+ }
62
+ /** One exact record core staged before a durability vote. */
63
+ export interface StagedRecord {
64
+ readonly conversationId: string;
65
+ readonly recordHash: string;
66
+ readonly previousRecordHash?: string;
67
+ readonly membershipHash: string;
68
+ readonly anchorHash: string;
69
+ readonly actionHash: string;
70
+ readonly authorAgentId: string;
71
+ readonly postId: string;
72
+ readonly canonicalRecordCore: Uint8Array;
73
+ }
74
+ /** Mergeable protocol evidence addressed by its stable private identity. */
75
+ export interface ProtocolEvidence {
76
+ readonly conversationId: string;
77
+ readonly kind: "action" | "durability" | "catch-up" | "reanchor";
78
+ readonly subjectId: string;
79
+ readonly evidenceKey: string;
80
+ readonly canonicalEvidence: Uint8Array;
81
+ }
82
+ /** One certified record with action and durability evidence kept separate. */
83
+ export interface CertifiedRecord extends StagedRecord {
84
+ readonly actionEvidence: readonly ProtocolEvidence[];
85
+ readonly durabilityEvidence: readonly ProtocolEvidence[];
86
+ }
87
+ /** Canonical host message inserted when a remote record becomes certified. */
88
+ export interface InboundDeliveryInput {
89
+ readonly recipientAgentId: string;
90
+ readonly canonicalMessage: Uint8Array;
91
+ }
92
+ /** One stable pending runtime delivery, including its retained tombstone. */
93
+ export interface PendingDelivery extends InboundDeliveryInput {
94
+ readonly deliveryToken: DeliveryToken;
95
+ readonly conversationId: string;
96
+ readonly recordHash: string;
97
+ readonly acknowledged: boolean;
98
+ }
99
+ /** Canonical complete outer message before it receives a stable outbox key. */
100
+ export interface OutboundMessageInput {
101
+ readonly conversationId: string;
102
+ readonly messageId: string;
103
+ readonly canonicalSignedMessage: Uint8Array;
104
+ }
105
+ /** Current complete outer envelope retained under its initial message identity. */
106
+ export interface StoredOutboundMessage extends OutboundMessageInput {
107
+ readonly outboundId: string;
108
+ }
109
+ /** Closed packet family whose durable state requires later dissemination. */
110
+ export type DisseminationKind = "action-certified-record" | "certified-record";
111
+ /** Durable logical packet that has not yet been attached to an outbox row. */
112
+ export interface DisseminationObligation {
113
+ readonly conversationId: string;
114
+ readonly recordHash: string;
115
+ readonly kind: DisseminationKind;
116
+ }
117
+ /** Durable disposition chosen immediately before one Router attempt. */
118
+ export type OutboundAttempt = Readonly<{
119
+ kind: "inactive";
120
+ }> | Readonly<{
121
+ kind: "pending";
122
+ mode: "initial" | "retry";
123
+ outbound: StoredOutboundMessage;
124
+ }>;
125
+ /** Exact empty-history Router-anchor replacement guarded by the old foundation. */
126
+ export interface EmptyConversationRestart {
127
+ readonly expectedFoundation: ConversationFoundation;
128
+ readonly replacementFoundation: ConversationFoundation;
129
+ }
130
+ /** Durable state retained after an empty conversation changes Router instance. */
131
+ export interface RestartedEmptyConversation {
132
+ readonly foundation: ConversationFoundation;
133
+ readonly postIntents: readonly PostIntent[];
134
+ }
135
+ /** One staged Router-epoch proposal. */
136
+ export interface StagedReanchor {
137
+ readonly conversationId: string;
138
+ readonly anchorHash: string;
139
+ readonly previousAnchorHash: string;
140
+ readonly routerInstanceId: string;
141
+ readonly selectedRecordHash: string;
142
+ readonly canonicalBody: Uint8Array;
143
+ }
144
+ /** One completed Router-epoch proposal and its threshold evidence. */
145
+ export interface CompletedReanchor extends StagedReanchor {
146
+ readonly canonicalCompletedReanchor: Uint8Array;
147
+ }
148
+ /** One recoverable re-anchor candidate, complete only when evidence is present. */
149
+ export interface RecoveredReanchor extends StagedReanchor {
150
+ readonly canonicalCompletedReanchor?: Uint8Array;
151
+ }
152
+ /** One durable current position for a conversation. */
153
+ export interface ConversationPosition {
154
+ readonly conversationId: string;
155
+ readonly membershipHash: string;
156
+ readonly currentAnchorHash: string;
157
+ readonly headRecordHash?: string;
158
+ }
159
+ /** Complete private state recovered after opening the endpoint database. */
160
+ export interface EndpointRecovery {
161
+ readonly identity?: IdentityBinding;
162
+ readonly postIntents: readonly PostIntent[];
163
+ readonly memberships: readonly StoredMembership[];
164
+ readonly anchors: readonly StoredAnchor[];
165
+ readonly positions: readonly ConversationPosition[];
166
+ readonly proposalLocks: readonly ProposalLock[];
167
+ readonly stagedRecords: readonly StagedRecord[];
168
+ readonly evidence: readonly ProtocolEvidence[];
169
+ readonly certifiedRecords: readonly CertifiedRecord[];
170
+ readonly stagedReanchors: readonly RecoveredReanchor[];
171
+ readonly pendingDeliveries: readonly PendingDelivery[];
172
+ readonly disseminationObligations: readonly DisseminationObligation[];
173
+ readonly outboundMessages: readonly StoredOutboundMessage[];
174
+ }
175
+ /** One management page over local conversation identifiers. */
176
+ export interface ConversationPage {
177
+ readonly conversationIds: readonly string[];
178
+ readonly hasMore: boolean;
179
+ }
180
+ /** One frozen management page of complete certified records. */
181
+ export interface HistoryPage {
182
+ readonly records: readonly CertifiedRecord[];
183
+ readonly continuation: string | null;
184
+ }
185
+ /** Private durable operations owned by one daemon process. */
186
+ export interface EndpointStore {
187
+ readonly readIdentity: () => Effect.Effect<IdentityBinding | undefined, EndpointStoreError>;
188
+ readonly bindIdentity: (binding: IdentityBinding) => Effect.Effect<StoreMutation, EndpointStoreError>;
189
+ readonly bindPostIntent: (binding: PostIntentBinding) => Effect.Effect<StoreMutation, EndpointStoreError>;
190
+ readonly putConversationFoundation: (foundation: ConversationFoundation) => Effect.Effect<StoreMutation, EndpointStoreError>;
191
+ readonly lockProposal: (proposal: ProposalLock) => Effect.Effect<StoreMutation, EndpointStoreError>;
192
+ readonly lockGenesisProposal: (foundation: ConversationFoundation, proposal: ProposalLock) => Effect.Effect<StoreMutation, EndpointStoreError>;
193
+ readonly stageRecord: (record: StagedRecord) => Effect.Effect<StoreMutation, EndpointStoreError>;
194
+ readonly stageRecordForDissemination: (record: StagedRecord) => Effect.Effect<StoreMutation, EndpointStoreError>;
195
+ readonly mergeEvidence: (evidence: ProtocolEvidence) => Effect.Effect<StoreMutation, EndpointStoreError>;
196
+ readonly promoteRecord: (record: CertifiedRecord, delivery?: InboundDeliveryInput) => Effect.Effect<StoreMutation, EndpointStoreError>;
197
+ readonly promoteRecordForDissemination: (record: CertifiedRecord, delivery?: InboundDeliveryInput) => Effect.Effect<StoreMutation, EndpointStoreError>;
198
+ readonly applyCatchUpRecord: (record: CertifiedRecord, delivery?: InboundDeliveryInput) => Effect.Effect<StoreMutation, EndpointStoreError>;
199
+ readonly stageReanchor: (reanchor: StagedReanchor) => Effect.Effect<StoreMutation, EndpointStoreError>;
200
+ readonly completeReanchor: (reanchor: CompletedReanchor) => Effect.Effect<StoreMutation, EndpointStoreError>;
201
+ readonly applyCatchUpReanchor: (reanchor: CompletedReanchor) => Effect.Effect<StoreMutation, EndpointStoreError>;
202
+ readonly readPendingDeliveries: () => Effect.Effect<readonly PendingDelivery[], EndpointStoreError>;
203
+ readonly acknowledgeDelivery: (deliveryToken: DeliveryToken) => Effect.Effect<StoreMutation, EndpointStoreError>;
204
+ readonly enqueueOutbound: (message: OutboundMessageInput) => Effect.Effect<StoredOutboundMessage, EndpointStoreError>;
205
+ readonly enqueueDisseminationOutbound: (obligation: DisseminationObligation, message: OutboundMessageInput) => Effect.Effect<StoredOutboundMessage, EndpointStoreError>;
206
+ readonly beginOutbound: (outboundId: string) => Effect.Effect<OutboundAttempt, EndpointStoreError>;
207
+ readonly replaceOutbound: (current: StoredOutboundMessage, replacement: OutboundMessageInput) => Effect.Effect<StoredOutboundMessage, EndpointStoreError>;
208
+ readonly completeOutbound: (outbound: StoredOutboundMessage) => Effect.Effect<StoreMutation, EndpointStoreError>;
209
+ readonly discardOutbound: (outbounds: readonly StoredOutboundMessage[]) => Effect.Effect<StoreMutation, EndpointStoreError>;
210
+ readonly restartEmptyConversation: (restart: EmptyConversationRestart) => Effect.Effect<RestartedEmptyConversation, EndpointStoreError>;
211
+ readonly searchConversations: (input?: {
212
+ readonly afterConversationId?: string;
213
+ }) => Effect.Effect<ConversationPage, EndpointStoreError>;
214
+ readonly readConversation: (request: Readonly<{
215
+ conversationId: string;
216
+ afterRecordHash?: string;
217
+ }> | Readonly<{
218
+ continuation: string;
219
+ }>) => Effect.Effect<HistoryPage, EndpointStoreError>;
220
+ readonly releaseContinuation: (continuation: string) => Effect.Effect<void, EndpointStoreError>;
221
+ readonly recover: () => Effect.Effect<EndpointRecovery, EndpointStoreError>;
222
+ }
223
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/endpoint/store/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ /** @file Private typed contract for endpoint persistence operations. */
2
+ import { Either, Encoding, Schema } from "effect";
3
+ /* eslint-disable @typescript-eslint/naming-convention, @typescript-eslint/no-redeclare -- The private Effect Schema and decoded nominal value intentionally share one domain name. */
4
+ /** Stable opaque identity for one durable inbound delivery. */
5
+ export const DeliveryToken = Schema.String.pipe(Schema.filter((value) => {
6
+ if (!value.startsWith("dlv_")) {
7
+ return false;
8
+ }
9
+ const suffix = value.slice(4);
10
+ return Either.match(Encoding.decodeBase64Url(suffix), {
11
+ onLeft: () => false,
12
+ onRight: (bytes) => bytes.length === 32 && Encoding.encodeBase64Url(bytes) === suffix,
13
+ });
14
+ }), Schema.brand("DeliveryToken"));
15
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/endpoint/store/types.ts"],"names":[],"mappings":"AAAA,wEAAwE;AAExE,OAAO,EAAe,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAG/D,sLAAsL;AAEtL,+DAA+D;AAC/D,MAAM,CAAC,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAC7C,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;IACtB,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC9B,OAAO,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE;QACpD,MAAM,EAAE,GAAG,EAAE,CAAC,KAAK;QACnB,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CACjB,KAAK,CAAC,MAAM,KAAK,EAAE,IAAI,QAAQ,CAAC,eAAe,CAAC,KAAK,CAAC,KAAK,MAAM;KACpE,CAAC,CAAC;AACL,CAAC,CAAC,EACF,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,CAC9B,CAAC"}
@@ -0,0 +1,10 @@
1
+ /** @file Private typed facade for one daemon-owned endpoint store. */
2
+ /** Closed error value and scoped store acquisition. */
3
+ export { EndpointStoreError, openEndpointStore } from "./store/index.js";
4
+ /** Closed non-diagnostic persistence failure categories. */
5
+ export type { EndpointStoreFailure } from "./store/database/index.js";
6
+ /** Canonical private DTOs and the EndpointStore capability. */
7
+ export type { CertifiedRecord, CompletedReanchor, ConversationFoundation, ConversationPage, ConversationPosition, DisseminationKind, DisseminationObligation, EmptyConversationRestart, EndpointRecovery, EndpointStore, HistoryPage, IdentityBinding, InboundDeliveryInput, OutboundAttempt, OutboundMessageInput, PendingDelivery, PostIntent, PostIntentBinding, ProposalLock, ProtocolEvidence, RecoveredReanchor, RestartedEmptyConversation, StagedReanchor, StagedRecord, StoredAnchor, StoredMembership, StoredOutboundMessage, StoreMutation, } from "./store/types.js";
8
+ /** Stable opaque durable-delivery identity. */
9
+ export { DeliveryToken } from "./store/types.js";
10
+ //# sourceMappingURL=store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/endpoint/store.ts"],"names":[],"mappings":"AAAA,sEAAsE;AAEtE,uDAAuD;AACvD,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACzE,4DAA4D;AAC5D,YAAY,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACtE,+DAA+D;AAC/D,YAAY,EACV,eAAe,EACf,iBAAiB,EACjB,sBAAsB,EACtB,gBAAgB,EAChB,oBAAoB,EACpB,iBAAiB,EACjB,uBAAuB,EACvB,wBAAwB,EACxB,gBAAgB,EAChB,aAAa,EACb,WAAW,EACX,eAAe,EACf,oBAAoB,EACpB,eAAe,EACf,oBAAoB,EACpB,eAAe,EACf,UAAU,EACV,iBAAiB,EACjB,YAAY,EACZ,gBAAgB,EAChB,iBAAiB,EACjB,0BAA0B,EAC1B,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,gBAAgB,EAChB,qBAAqB,EACrB,aAAa,GACd,MAAM,kBAAkB,CAAC;AAC1B,+CAA+C;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC"}
@@ -0,0 +1,6 @@
1
+ /** @file Private typed facade for one daemon-owned endpoint store. */
2
+ /** Closed error value and scoped store acquisition. */
3
+ export { EndpointStoreError, openEndpointStore } from "./store/index.js";
4
+ /** Stable opaque durable-delivery identity. */
5
+ export { DeliveryToken } from "./store/types.js";
6
+ //# sourceMappingURL=store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/endpoint/store.ts"],"names":[],"mappings":"AAAA,sEAAsE;AAEtE,uDAAuD;AACvD,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAkCzE,+CAA+C;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC"}