@moltzap/client 2026.812.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 (392) 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-server.d.ts → harness-mcp-http.d.ts} +9 -8
  194. package/dist/harness-mcp-http.d.ts.map +1 -0
  195. package/dist/{harness-mcp-server.js → harness-mcp-http.js} +38 -60
  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 +24 -49
  202. package/dist/harness-mcp-wire.d.ts.map +1 -1
  203. package/dist/harness-mcp-wire.js +381 -124
  204. package/dist/harness-mcp-wire.js.map +1 -1
  205. package/dist/index.d.ts +4 -10
  206. package/dist/index.d.ts.map +1 -1
  207. package/dist/index.js +6 -10
  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 +24 -52
  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 -16
  245. package/dist/channel-base/index.js.map +0 -1
  246. package/dist/channel-core-enrichment.d.ts +0 -38
  247. package/dist/channel-core-enrichment.d.ts.map +0 -1
  248. package/dist/channel-core-enrichment.js +0 -217
  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 -306
  255. package/dist/channel-core.d.ts.map +0 -1
  256. package/dist/channel-core.js +0 -365
  257. package/dist/channel-core.js.map +0 -1
  258. package/dist/config.d.ts +0 -33
  259. package/dist/config.d.ts.map +0 -1
  260. package/dist/config.js +0 -51
  261. package/dist/config.js.map +0 -1
  262. package/dist/config.test-utils.d.ts +0 -24
  263. package/dist/config.test-utils.d.ts.map +0 -1
  264. package/dist/config.test-utils.js +0 -57
  265. package/dist/config.test-utils.js.map +0 -1
  266. package/dist/harness/client-runtime.d.ts +0 -31
  267. package/dist/harness/client-runtime.d.ts.map +0 -1
  268. package/dist/harness/client-runtime.js +0 -121
  269. package/dist/harness/client-runtime.js.map +0 -1
  270. package/dist/harness/index.d.ts +0 -5
  271. package/dist/harness/index.d.ts.map +0 -1
  272. package/dist/harness/index.js +0 -5
  273. package/dist/harness/index.js.map +0 -1
  274. package/dist/harness/runtime.d.ts +0 -301
  275. package/dist/harness/runtime.d.ts.map +0 -1
  276. package/dist/harness/runtime.js +0 -165
  277. package/dist/harness/runtime.js.map +0 -1
  278. package/dist/harness-client.d.ts +0 -47
  279. package/dist/harness-client.d.ts.map +0 -1
  280. package/dist/harness-client.js +0 -76
  281. package/dist/harness-client.js.map +0 -1
  282. package/dist/harness-context-projection.d.ts +0 -35
  283. package/dist/harness-context-projection.d.ts.map +0 -1
  284. package/dist/harness-context-projection.js +0 -123
  285. package/dist/harness-context-projection.js.map +0 -1
  286. package/dist/harness-mcp-server.d.ts.map +0 -1
  287. package/dist/harness-mcp-server.js.map +0 -1
  288. package/dist/local-paths.d.ts +0 -11
  289. package/dist/local-paths.d.ts.map +0 -1
  290. package/dist/local-paths.js +0 -21
  291. package/dist/local-paths.js.map +0 -1
  292. package/dist/message-rendering.d.ts +0 -4
  293. package/dist/message-rendering.d.ts.map +0 -1
  294. package/dist/message-rendering.js +0 -8
  295. package/dist/message-rendering.js.map +0 -1
  296. package/dist/moltzapd-catalog.d.ts +0 -35
  297. package/dist/moltzapd-catalog.d.ts.map +0 -1
  298. package/dist/moltzapd-catalog.js +0 -117
  299. package/dist/moltzapd-catalog.js.map +0 -1
  300. package/dist/moltzapd-child-ipc.d.ts +0 -26
  301. package/dist/moltzapd-child-ipc.d.ts.map +0 -1
  302. package/dist/moltzapd-child-ipc.js +0 -31
  303. package/dist/moltzapd-child-ipc.js.map +0 -1
  304. package/dist/moltzapd-child.d.ts +0 -55
  305. package/dist/moltzapd-child.d.ts.map +0 -1
  306. package/dist/moltzapd-child.js +0 -225
  307. package/dist/moltzapd-child.js.map +0 -1
  308. package/dist/moltzapd-main.d.ts +0 -3
  309. package/dist/moltzapd-main.d.ts.map +0 -1
  310. package/dist/moltzapd-main.js +0 -18
  311. package/dist/moltzapd-main.js.map +0 -1
  312. package/dist/moltzapd-registration.d.ts +0 -40
  313. package/dist/moltzapd-registration.d.ts.map +0 -1
  314. package/dist/moltzapd-registration.js +0 -59
  315. package/dist/moltzapd-registration.js.map +0 -1
  316. package/dist/moltzapd.d.ts +0 -85
  317. package/dist/moltzapd.d.ts.map +0 -1
  318. package/dist/moltzapd.js +0 -150
  319. package/dist/moltzapd.js.map +0 -1
  320. package/dist/notification/__tests__/subscribe-signatures.types-check.d.ts +0 -53
  321. package/dist/notification/__tests__/subscribe-signatures.types-check.d.ts.map +0 -1
  322. package/dist/notification/__tests__/subscribe-signatures.types-check.js +0 -29
  323. package/dist/notification/__tests__/subscribe-signatures.types-check.js.map +0 -1
  324. package/dist/notification/errors.d.ts +0 -41
  325. package/dist/notification/errors.d.ts.map +0 -1
  326. package/dist/notification/errors.js +0 -24
  327. package/dist/notification/errors.js.map +0 -1
  328. package/dist/notification/index.d.ts +0 -6
  329. package/dist/notification/index.d.ts.map +0 -1
  330. package/dist/notification/index.js +0 -6
  331. package/dist/notification/index.js.map +0 -1
  332. package/dist/notification/stream.d.ts +0 -75
  333. package/dist/notification/stream.d.ts.map +0 -1
  334. package/dist/notification/stream.js +0 -30
  335. package/dist/notification/stream.js.map +0 -1
  336. package/dist/notification/trace.d.ts +0 -10
  337. package/dist/notification/trace.d.ts.map +0 -1
  338. package/dist/notification/trace.js +0 -34
  339. package/dist/notification/trace.js.map +0 -1
  340. package/dist/pagination.d.ts +0 -52
  341. package/dist/pagination.d.ts.map +0 -1
  342. package/dist/pagination.js +0 -51
  343. package/dist/pagination.js.map +0 -1
  344. package/dist/presentation/index.d.ts +0 -3
  345. package/dist/presentation/index.d.ts.map +0 -1
  346. package/dist/presentation/index.js +0 -3
  347. package/dist/presentation/index.js.map +0 -1
  348. package/dist/presentation/state.d.ts +0 -77
  349. package/dist/presentation/state.d.ts.map +0 -1
  350. package/dist/presentation/state.js +0 -211
  351. package/dist/presentation/state.js.map +0 -1
  352. package/dist/profile.d.ts +0 -106
  353. package/dist/profile.d.ts.map +0 -1
  354. package/dist/profile.js +0 -171
  355. package/dist/profile.js.map +0 -1
  356. package/dist/service-event-trace.d.ts +0 -15
  357. package/dist/service-event-trace.d.ts.map +0 -1
  358. package/dist/service-event-trace.js +0 -35
  359. package/dist/service-event-trace.js.map +0 -1
  360. package/dist/service.d.ts +0 -228
  361. package/dist/service.d.ts.map +0 -1
  362. package/dist/service.js +0 -485
  363. package/dist/service.js.map +0 -1
  364. package/dist/test-utils/channel-service-fixture.d.ts +0 -53
  365. package/dist/test-utils/channel-service-fixture.d.ts.map +0 -1
  366. package/dist/test-utils/channel-service-fixture.js +0 -178
  367. package/dist/test-utils/channel-service-fixture.js.map +0 -1
  368. package/dist/test-utils/fake-service.d.ts +0 -82
  369. package/dist/test-utils/fake-service.d.ts.map +0 -1
  370. package/dist/test-utils/fake-service.js +0 -108
  371. package/dist/test-utils/fake-service.js.map +0 -1
  372. package/dist/test-utils/harness.d.ts +0 -27
  373. package/dist/test-utils/harness.d.ts.map +0 -1
  374. package/dist/test-utils/harness.js +0 -33
  375. package/dist/test-utils/harness.js.map +0 -1
  376. package/dist/test-utils/ids.d.ts +0 -21
  377. package/dist/test-utils/ids.d.ts.map +0 -1
  378. package/dist/test-utils/ids.js +0 -68
  379. package/dist/test-utils/ids.js.map +0 -1
  380. package/dist/test-utils/index.d.ts +0 -56
  381. package/dist/test-utils/index.d.ts.map +0 -1
  382. package/dist/test-utils/index.js +0 -67
  383. package/dist/test-utils/index.js.map +0 -1
  384. package/dist/test-utils/process/reserve-port.d.ts +0 -20
  385. package/dist/test-utils/process/reserve-port.d.ts.map +0 -1
  386. package/dist/test-utils/process/reserve-port.js +0 -41
  387. package/dist/test-utils/process/reserve-port.js.map +0 -1
  388. package/dist/test-utils/standalone-provisioning.d.ts +0 -22
  389. package/dist/test-utils/standalone-provisioning.d.ts.map +0 -1
  390. package/dist/test-utils/standalone-provisioning.js +0 -17
  391. package/dist/test-utils/standalone-provisioning.js.map +0 -1
  392. package/dist/tsconfig.tsbuildinfo +0 -1
@@ -0,0 +1,56 @@
1
+ /** @file Atomic record-core, evidence, certification, and delivery transitions. */
2
+ import type { DatabaseSync } from "node:sqlite";
3
+ import type { CertifiedRecord, InboundDeliveryInput, ProtocolEvidence, StagedRecord, StoreMutation } from "./types.js";
4
+ /**
5
+ * Durably stages an exact verified record core.
6
+ *
7
+ * @param database Exclusively owned endpoint database.
8
+ * @param record Verified record core and private bindings.
9
+ * @returns Whether the same staged record was inserted or already durable.
10
+ */
11
+ export declare function stageRecord(database: DatabaseSync, record: StagedRecord): StoreMutation;
12
+ /**
13
+ * Atomically stages an action-certified record and its send obligation.
14
+ *
15
+ * @param database Exclusively owned endpoint database.
16
+ * @param record Verified record core whose complete action evidence is durable.
17
+ * @returns Whether either exact durable component was inserted.
18
+ */
19
+ export declare function stageRecordForDissemination(database: DatabaseSync, record: StagedRecord): StoreMutation;
20
+ /**
21
+ * Merges one stable evidence item without replacing a conflicting value.
22
+ *
23
+ * @param database Exclusively owned endpoint database.
24
+ * @param evidence Verified evidence with its canonical merge key.
25
+ * @returns Whether the evidence was inserted or already durable.
26
+ */
27
+ export declare function mergeEvidence(database: DatabaseSync, evidence: ProtocolEvidence): StoreMutation;
28
+ /**
29
+ * Atomically promotes a complete record, advances its head, and retains its
30
+ * local post completion or remote host delivery.
31
+ *
32
+ * @param database Exclusively owned endpoint database.
33
+ * @param record Verified complete certified record.
34
+ * @param delivery Canonical remote host message, absent for the local author.
35
+ * @returns Whether any durable state was inserted.
36
+ */
37
+ export declare function promoteRecord(database: DatabaseSync, record: CertifiedRecord, delivery?: InboundDeliveryInput): StoreMutation;
38
+ /**
39
+ * Atomically promotes a certified record and retains its send obligation.
40
+ *
41
+ * @param database Exclusively owned endpoint database.
42
+ * @param record Verified complete certified record.
43
+ * @param delivery Canonical remote host message, absent for the local author.
44
+ * @returns Whether either exact durable component was inserted.
45
+ */
46
+ export declare function promoteRecordForDissemination(database: DatabaseSync, record: CertifiedRecord, delivery?: InboundDeliveryInput): StoreMutation;
47
+ /**
48
+ * Atomically applies one verified catch-up record and its remote delivery.
49
+ *
50
+ * @param database Exclusively owned endpoint database.
51
+ * @param record One verified complete catch-up record.
52
+ * @param delivery Canonical remote host message, absent for the local author.
53
+ * @returns Whether any durable state was inserted.
54
+ */
55
+ export declare function applyCatchUpRecord(database: DatabaseSync, record: CertifiedRecord, delivery?: InboundDeliveryInput): StoreMutation;
56
+ //# sourceMappingURL=records.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"records.d.ts","sourceRoot":"","sources":["../../../src/endpoint/store/records.ts"],"names":[],"mappings":"AAAA,mFAAmF;AAEnF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,KAAK,EACV,eAAe,EAEf,oBAAoB,EACpB,gBAAgB,EAChB,YAAY,EACZ,aAAa,EACd,MAAM,YAAY,CAAC;AA0BpB;;;;;;GAMG;AACH,wBAAgB,WAAW,CACzB,QAAQ,EAAE,YAAY,EACtB,MAAM,EAAE,YAAY,GACnB,aAAa,CAKf;AAED;;;;;;GAMG;AACH,wBAAgB,2BAA2B,CACzC,QAAQ,EAAE,YAAY,EACtB,MAAM,EAAE,YAAY,GACnB,aAAa,CAYf;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,YAAY,EACtB,QAAQ,EAAE,gBAAgB,GACzB,aAAa,CAKf;AAED;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,YAAY,EACtB,MAAM,EAAE,eAAe,EACvB,QAAQ,CAAC,EAAE,oBAAoB,GAC9B,aAAa,CAKf;AAED;;;;;;;GAOG;AACH,wBAAgB,6BAA6B,CAC3C,QAAQ,EAAE,YAAY,EACtB,MAAM,EAAE,eAAe,EACvB,QAAQ,CAAC,EAAE,oBAAoB,GAC9B,aAAa,CAYf;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,YAAY,EACtB,MAAM,EAAE,eAAe,EACvB,QAAQ,CAAC,EAAE,oBAAoB,GAC9B,aAAa,CASf"}
@@ -0,0 +1,352 @@
1
+ /** @file Atomic record-core, evidence, certification, and delivery transitions. */
2
+ import { copyBytes, readBytes, readOptionalText, readText, requireBytes, requireEqual, requireSameBytes, requireText, StoreSignal, transaction, } from "./database/index.js";
3
+ import { retainDeliveryInTransaction } from "./deliveries.js";
4
+ import { retainDisseminationInTransaction } from "./dissemination.js";
5
+ import { findProposalLock, findStagedReanchor, findStagedRecord, readStoredIdentity, readStoredPosition, requireSameRecord, } from "./rows/index.js";
6
+ const GENESIS_PREDECESSOR = "";
7
+ /**
8
+ * Durably stages an exact verified record core.
9
+ *
10
+ * @param database Exclusively owned endpoint database.
11
+ * @param record Verified record core and private bindings.
12
+ * @returns Whether the same staged record was inserted or already durable.
13
+ */
14
+ export function stageRecord(database, record) {
15
+ validateStagedRecord(record);
16
+ return transaction(database, () => stageRecordInTransaction(database, record));
17
+ }
18
+ /**
19
+ * Atomically stages an action-certified record and its send obligation.
20
+ *
21
+ * @param database Exclusively owned endpoint database.
22
+ * @param record Verified record core whose complete action evidence is durable.
23
+ * @returns Whether either exact durable component was inserted.
24
+ */
25
+ export function stageRecordForDissemination(database, record) {
26
+ validateStagedRecord(record);
27
+ return transaction(database, () => {
28
+ const staged = stageRecordInTransaction(database, record);
29
+ const obligation = retainDisseminationInTransaction(database, disseminationObligation("action-certified-record", record));
30
+ return staged === "inserted" || obligation === "inserted"
31
+ ? "inserted"
32
+ : "existing";
33
+ });
34
+ }
35
+ /**
36
+ * Merges one stable evidence item without replacing a conflicting value.
37
+ *
38
+ * @param database Exclusively owned endpoint database.
39
+ * @param evidence Verified evidence with its canonical merge key.
40
+ * @returns Whether the evidence was inserted or already durable.
41
+ */
42
+ export function mergeEvidence(database, evidence) {
43
+ validateEvidence(evidence);
44
+ return transaction(database, () => mergeEvidenceInTransaction(database, evidence));
45
+ }
46
+ /**
47
+ * Atomically promotes a complete record, advances its head, and retains its
48
+ * local post completion or remote host delivery.
49
+ *
50
+ * @param database Exclusively owned endpoint database.
51
+ * @param record Verified complete certified record.
52
+ * @param delivery Canonical remote host message, absent for the local author.
53
+ * @returns Whether any durable state was inserted.
54
+ */
55
+ export function promoteRecord(database, record, delivery) {
56
+ validateCertifiedRecord(record);
57
+ return transaction(database, () => promoteRecordInTransaction(database, record, delivery));
58
+ }
59
+ /**
60
+ * Atomically promotes a certified record and retains its send obligation.
61
+ *
62
+ * @param database Exclusively owned endpoint database.
63
+ * @param record Verified complete certified record.
64
+ * @param delivery Canonical remote host message, absent for the local author.
65
+ * @returns Whether either exact durable component was inserted.
66
+ */
67
+ export function promoteRecordForDissemination(database, record, delivery) {
68
+ validateCertifiedRecord(record);
69
+ return transaction(database, () => {
70
+ const promoted = promoteRecordInTransaction(database, record, delivery);
71
+ const obligation = retainDisseminationInTransaction(database, disseminationObligation("certified-record", record));
72
+ return promoted === "inserted" || obligation === "inserted"
73
+ ? "inserted"
74
+ : "existing";
75
+ });
76
+ }
77
+ /**
78
+ * Atomically applies one verified catch-up record and its remote delivery.
79
+ *
80
+ * @param database Exclusively owned endpoint database.
81
+ * @param record One verified complete catch-up record.
82
+ * @param delivery Canonical remote host message, absent for the local author.
83
+ * @returns Whether any durable state was inserted.
84
+ */
85
+ export function applyCatchUpRecord(database, record, delivery) {
86
+ validateCertifiedRecord(record);
87
+ return transaction(database, () => {
88
+ const staged = stageRecordInTransaction(database, record);
89
+ const promoted = promoteRecordInTransaction(database, record, delivery);
90
+ return staged === "inserted" || promoted === "inserted"
91
+ ? "inserted"
92
+ : "existing";
93
+ });
94
+ }
95
+ function stageRecordInTransaction(database, record) {
96
+ const existing = findStagedRecord(database, record.conversationId, record.recordHash);
97
+ if (existing !== undefined) {
98
+ requireSameRecord(existing, record);
99
+ return "existing";
100
+ }
101
+ requireRecordPosition(database, record);
102
+ database
103
+ .prepare(`INSERT INTO staged_records
104
+ (conversation_id, record_hash, previous_record_hash,
105
+ membership_hash, anchor_hash, action_hash, author_agent_id, post_id,
106
+ canonical_record_core)
107
+ VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`)
108
+ .run(record.conversationId, record.recordHash, record.previousRecordHash ?? null, record.membershipHash, record.anchorHash, record.actionHash, record.authorAgentId, record.postId, copyBytes(record.canonicalRecordCore));
109
+ return "inserted";
110
+ }
111
+ function promoteRecordInTransaction(database, record, delivery) {
112
+ if (delivery === undefined) {
113
+ return promoteResolvedRecordInTransaction(database, record, () => retainDeliveryInTransaction(database, record));
114
+ }
115
+ return promoteResolvedRecordInTransaction(database, record, () => retainDeliveryInTransaction(database, record, delivery));
116
+ }
117
+ function promoteResolvedRecordInTransaction(database, record, retainDelivery) {
118
+ const staged = findStagedRecord(database, record.conversationId, record.recordHash);
119
+ if (staged === undefined) {
120
+ throw new StoreSignal("not-found");
121
+ }
122
+ requireSameRecord(staged, record);
123
+ const evidenceMutation = mergeCertifiedEvidence(database, record);
124
+ if (hasCertifiedRecord(database, record.conversationId, record.recordHash)) {
125
+ const deliveryMutation = retainDelivery();
126
+ return evidenceMutation === "inserted" || deliveryMutation === "inserted"
127
+ ? "inserted"
128
+ : "existing";
129
+ }
130
+ const position = readStoredPosition(database, record.conversationId);
131
+ requireEqual(position.currentAnchorHash, record.anchorHash);
132
+ requireEqual(position.headRecordHash, record.previousRecordHash);
133
+ insertCertifiedRecord(database, record, position.headOrdinal + 1);
134
+ completeLocalPostIntent(database, record);
135
+ retainDelivery();
136
+ return "inserted";
137
+ }
138
+ function mergeCertifiedEvidence(database, record) {
139
+ let mutation = "existing";
140
+ for (const evidence of record.actionEvidence) {
141
+ if (mergeEvidenceInTransaction(database, evidence) === "inserted") {
142
+ mutation = "inserted";
143
+ }
144
+ }
145
+ for (const evidence of record.durabilityEvidence) {
146
+ if (mergeEvidenceInTransaction(database, evidence) === "inserted") {
147
+ mutation = "inserted";
148
+ }
149
+ }
150
+ return mutation;
151
+ }
152
+ function mergeEvidenceInTransaction(database, evidence) {
153
+ requireEvidenceSubject(database, evidence);
154
+ const existing = findEvidence(database, evidence);
155
+ if (existing !== undefined) {
156
+ requireSameBytes(existing, evidence.canonicalEvidence);
157
+ return "existing";
158
+ }
159
+ database
160
+ .prepare(`INSERT INTO protocol_evidence
161
+ (conversation_id, evidence_kind, subject_id,
162
+ evidence_key, canonical_evidence)
163
+ VALUES (?, ?, ?, ?, ?)`)
164
+ .run(evidence.conversationId, evidence.kind, evidence.subjectId, evidence.evidenceKey, copyBytes(evidence.canonicalEvidence));
165
+ return "inserted";
166
+ }
167
+ function requireRecordPosition(database, record) {
168
+ const position = readStoredPosition(database, record.conversationId);
169
+ requireEqual(position.membershipHash, record.membershipHash);
170
+ requireEqual(position.currentAnchorHash, record.anchorHash);
171
+ requireEqual(position.headRecordHash, record.previousRecordHash);
172
+ const proposalLock = findProposalLock(database, record.conversationId, record.previousRecordHash ?? GENESIS_PREDECESSOR);
173
+ if (proposalLock !== undefined) {
174
+ requireEqual(proposalLock.actionHash, record.actionHash);
175
+ }
176
+ }
177
+ function findEvidence(database, evidence) {
178
+ const row = database
179
+ .prepare(`SELECT canonical_evidence FROM protocol_evidence
180
+ WHERE conversation_id = ? AND evidence_kind = ?
181
+ AND subject_id = ? AND evidence_key = ?`)
182
+ .get(evidence.conversationId, evidence.kind, evidence.subjectId, evidence.evidenceKey);
183
+ return row === undefined ? undefined : readBytes(row, "canonical_evidence");
184
+ }
185
+ function requireEvidenceSubject(database, evidence) {
186
+ requireMembership(database, evidence.conversationId);
187
+ requireLocalEvidenceLock(database, evidence);
188
+ if (evidence.kind === "action") {
189
+ if (!hasActionSubject(database, evidence)) {
190
+ throw new StoreSignal("not-found");
191
+ }
192
+ }
193
+ if (evidence.kind === "durability" &&
194
+ findStagedRecord(database, evidence.conversationId, evidence.subjectId) ===
195
+ undefined) {
196
+ throw new StoreSignal("not-found");
197
+ }
198
+ if (evidence.kind === "reanchor" &&
199
+ findStagedReanchor(database, evidence.conversationId, evidence.subjectId) === undefined) {
200
+ throw new StoreSignal("not-found");
201
+ }
202
+ }
203
+ function requireLocalEvidenceLock(database, evidence) {
204
+ const identity = readStoredIdentity(database);
205
+ if (identity === undefined || evidence.evidenceKey !== identity.agentId) {
206
+ return;
207
+ }
208
+ if (evidence.kind === "action") {
209
+ requireLocalActionEvidenceLock(database, evidence);
210
+ return;
211
+ }
212
+ if (evidence.kind === "durability") {
213
+ requireLocalDurabilityEvidenceLock(database, evidence);
214
+ }
215
+ }
216
+ function requireLocalActionEvidenceLock(database, evidence) {
217
+ if (!hasProposalAction(database, evidence)) {
218
+ throw new StoreSignal("not-found");
219
+ }
220
+ }
221
+ function requireLocalDurabilityEvidenceLock(database, evidence) {
222
+ const record = findStagedRecord(database, evidence.conversationId, evidence.subjectId);
223
+ if (record === undefined) {
224
+ throw new StoreSignal("not-found");
225
+ }
226
+ const proposalLock = findProposalLock(database, record.conversationId, record.previousRecordHash ?? GENESIS_PREDECESSOR);
227
+ if (proposalLock === undefined ||
228
+ proposalLock.actionHash !== record.actionHash) {
229
+ throw new StoreSignal("not-found");
230
+ }
231
+ }
232
+ function hasProposalAction(database, evidence) {
233
+ return (database
234
+ .prepare(`SELECT 1 AS retained FROM proposal_locks
235
+ WHERE conversation_id = ? AND action_hash = ? LIMIT 1`)
236
+ .get(evidence.conversationId, evidence.subjectId) !== undefined);
237
+ }
238
+ function hasActionSubject(database, evidence) {
239
+ return (database
240
+ .prepare(`SELECT 1 AS retained FROM proposal_locks
241
+ WHERE conversation_id = ? AND action_hash = ?
242
+ UNION ALL
243
+ SELECT 1 AS retained FROM staged_records
244
+ WHERE conversation_id = ? AND action_hash = ?
245
+ LIMIT 1`)
246
+ .get(evidence.conversationId, evidence.subjectId, evidence.conversationId, evidence.subjectId) !== undefined);
247
+ }
248
+ function insertCertifiedRecord(database, record, ordinal) {
249
+ database
250
+ .prepare(`INSERT INTO certified_records (conversation_id, record_hash, ordinal)
251
+ VALUES (?, ?, ?)`)
252
+ .run(record.conversationId, record.recordHash, ordinal);
253
+ database
254
+ .prepare(`UPDATE conversation_state
255
+ SET head_record_hash = ?, head_ordinal = ? WHERE conversation_id = ?`)
256
+ .run(record.recordHash, ordinal, record.conversationId);
257
+ }
258
+ function completeLocalPostIntent(database, record) {
259
+ const identity = readStoredIdentity(database);
260
+ if (identity === undefined) {
261
+ throw new StoreSignal("not-found");
262
+ }
263
+ if (record.authorAgentId !== identity.agentId) {
264
+ return;
265
+ }
266
+ const row = database
267
+ .prepare(`SELECT conversation_id, membership_hash, completed_record_hash
268
+ FROM post_intents WHERE author_agent_id = ? AND post_id = ?`)
269
+ .get(record.authorAgentId, record.postId);
270
+ if (row === undefined) {
271
+ throw new StoreSignal("not-found");
272
+ }
273
+ requireEqual(readText(row, "conversation_id"), record.conversationId);
274
+ requireEqual(readText(row, "membership_hash"), record.membershipHash);
275
+ const completed = readOptionalText(row, "completed_record_hash");
276
+ if (completed !== undefined && completed !== record.recordHash) {
277
+ throw new StoreSignal("conflict");
278
+ }
279
+ database
280
+ .prepare(`UPDATE post_intents SET completed_record_hash = ?
281
+ WHERE author_agent_id = ? AND post_id = ?`)
282
+ .run(record.recordHash, record.authorAgentId, record.postId);
283
+ }
284
+ function requireMembership(database, conversationId) {
285
+ if (database
286
+ .prepare("SELECT 1 AS retained FROM memberships WHERE conversation_id = ?")
287
+ .get(conversationId) === undefined) {
288
+ throw new StoreSignal("not-found");
289
+ }
290
+ }
291
+ function hasCertifiedRecord(database, conversationId, recordHash) {
292
+ return (database
293
+ .prepare(`SELECT 1 AS retained FROM certified_records
294
+ WHERE conversation_id = ? AND record_hash = ?`)
295
+ .get(conversationId, recordHash) !== undefined);
296
+ }
297
+ function validateCertifiedRecord(record) {
298
+ validateStagedRecord(record);
299
+ validateCertificateEvidence(record.actionEvidence, {
300
+ conversationId: record.conversationId,
301
+ kind: "action",
302
+ subjectId: record.actionHash,
303
+ });
304
+ validateCertificateEvidence(record.durabilityEvidence, {
305
+ conversationId: record.conversationId,
306
+ kind: "durability",
307
+ subjectId: record.recordHash,
308
+ });
309
+ }
310
+ function validateCertificateEvidence(evidenceItems, expected) {
311
+ if (evidenceItems.length === 0) {
312
+ throw new StoreSignal("invalid-input");
313
+ }
314
+ const keys = new Set();
315
+ for (const evidence of evidenceItems) {
316
+ validateEvidence(evidence);
317
+ if (evidence.conversationId !== expected.conversationId ||
318
+ evidence.kind !== expected.kind ||
319
+ evidence.subjectId !== expected.subjectId ||
320
+ keys.has(evidence.evidenceKey)) {
321
+ throw new StoreSignal("invalid-input");
322
+ }
323
+ keys.add(evidence.evidenceKey);
324
+ }
325
+ }
326
+ function validateStagedRecord(record) {
327
+ requireText(record.conversationId);
328
+ requireText(record.recordHash);
329
+ if (record.previousRecordHash !== undefined) {
330
+ requireText(record.previousRecordHash);
331
+ }
332
+ requireText(record.membershipHash);
333
+ requireText(record.anchorHash);
334
+ requireText(record.actionHash);
335
+ requireText(record.authorAgentId);
336
+ requireText(record.postId);
337
+ requireBytes(record.canonicalRecordCore);
338
+ }
339
+ function validateEvidence(evidence) {
340
+ requireText(evidence.conversationId);
341
+ requireText(evidence.subjectId);
342
+ requireText(evidence.evidenceKey);
343
+ requireBytes(evidence.canonicalEvidence);
344
+ }
345
+ function disseminationObligation(kind, record) {
346
+ return Object.freeze({
347
+ conversationId: record.conversationId,
348
+ recordHash: record.recordHash,
349
+ kind,
350
+ });
351
+ }
352
+ //# sourceMappingURL=records.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"records.js","sourceRoot":"","sources":["../../../src/endpoint/store/records.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,138 @@
1
+ /** @file Typed projections and exact-binding checks for endpoint-store rows. */
2
+ import type { DatabaseSync } from "node:sqlite";
3
+ import { type CertifiedRecord, type ConversationPosition, type IdentityBinding, type PendingDelivery, type ProposalLock, type ProtocolEvidence, type RecoveredReanchor, type StagedReanchor, type StagedRecord } from "../types.js";
4
+ /** Durable position plus the local indexing aid that carries no authority. */
5
+ export interface InternalPosition extends ConversationPosition {
6
+ readonly headOrdinal: number;
7
+ }
8
+ /**
9
+ * Projects one complete certified record and its separate evidence maps.
10
+ *
11
+ * @param database Exclusively owned endpoint database.
12
+ * @param row SQLite result row for the certified record core.
13
+ * @returns The detached complete certified record.
14
+ */
15
+ export declare function readCertifiedRecord(database: DatabaseSync, row: Readonly<Record<string, unknown>>): CertifiedRecord;
16
+ /**
17
+ * Projects one staged or completed recoverable re-anchor.
18
+ *
19
+ * @param row SQLite result row.
20
+ * @returns The detached recoverable re-anchor.
21
+ */
22
+ export declare function readRecoveredReanchor(row: Readonly<Record<string, unknown>>): RecoveredReanchor;
23
+ /**
24
+ * Reads the optional singleton identity binding.
25
+ *
26
+ * @param database Exclusively owned endpoint database.
27
+ * @returns The detached identity binding when one is committed.
28
+ */
29
+ export declare function readStoredIdentity(database: DatabaseSync): IdentityBinding | undefined;
30
+ /**
31
+ * Reads a required conversation position.
32
+ *
33
+ * @param database Exclusively owned endpoint database.
34
+ * @param conversationId Opaque conversation identity.
35
+ * @returns Its durable anchor, head, and local ordinal.
36
+ */
37
+ export declare function readStoredPosition(database: DatabaseSync, conversationId: string): InternalPosition;
38
+ /**
39
+ * Projects one durable position row without its local ordinal.
40
+ *
41
+ * @param row SQLite result row.
42
+ * @returns The detached conversation position.
43
+ */
44
+ export declare function readConversationPosition(row: Readonly<Record<string, unknown>>): ConversationPosition;
45
+ /**
46
+ * Reads an optional proposal lock for one predecessor.
47
+ *
48
+ * @param database Exclusively owned endpoint database.
49
+ * @param conversationId Opaque conversation identity.
50
+ * @param predecessorKey Exact predecessor or the genesis sentinel.
51
+ * @returns The detached proposal lock when present.
52
+ */
53
+ export declare function findProposalLock(database: DatabaseSync, conversationId: string, predecessorKey: string): ProposalLock | undefined;
54
+ /**
55
+ * Projects one durable proposal lock.
56
+ *
57
+ * @param row SQLite result row.
58
+ * @returns The detached proposal lock.
59
+ */
60
+ export declare function readProposalLock(row: Readonly<Record<string, unknown>>): ProposalLock;
61
+ /**
62
+ * Reads an optional staged record by stable private hash.
63
+ *
64
+ * @param database Exclusively owned endpoint database.
65
+ * @param conversationId Opaque conversation identity.
66
+ * @param recordHash Stable private record hash.
67
+ * @returns The detached staged record when present.
68
+ */
69
+ export declare function findStagedRecord(database: DatabaseSync, conversationId: string, recordHash: string): StagedRecord | undefined;
70
+ /**
71
+ * Projects one exact staged record core.
72
+ *
73
+ * @param row SQLite result row.
74
+ * @returns The detached staged record.
75
+ */
76
+ export declare function readStagedRecord(row: Readonly<Record<string, unknown>>): StagedRecord;
77
+ /**
78
+ * Projects one stable evidence value.
79
+ *
80
+ * @param row SQLite result row.
81
+ * @returns The detached protocol evidence.
82
+ */
83
+ export declare function readProtocolEvidence(row: Readonly<Record<string, unknown>>): ProtocolEvidence;
84
+ /**
85
+ * Reads one ordered signer evidence map from its separate store rows.
86
+ *
87
+ * @param database Exclusively owned endpoint database.
88
+ * @param conversationId Conversation whose evidence is retained.
89
+ * @param kind Separate evidence domain to read.
90
+ * @param subjectId Action, record, request, or anchor identity.
91
+ * @returns Detached evidence ordered by signer key.
92
+ */
93
+ export declare function readEvidenceForSubject(database: DatabaseSync, conversationId: string, kind: ProtocolEvidence["kind"], subjectId: string): readonly ProtocolEvidence[];
94
+ /**
95
+ * Reads an optional staged re-anchor by stable body hash.
96
+ *
97
+ * @param database Exclusively owned endpoint database.
98
+ * @param conversationId Opaque conversation identity.
99
+ * @param anchorHash Stable private anchor hash.
100
+ * @returns The detached staged re-anchor when present.
101
+ */
102
+ export declare function findStagedReanchor(database: DatabaseSync, conversationId: string, anchorHash: string): StagedReanchor | undefined;
103
+ /**
104
+ * Projects one staged re-anchor body.
105
+ *
106
+ * @param row SQLite result row.
107
+ * @returns The detached staged re-anchor.
108
+ */
109
+ export declare function readStagedReanchor(row: Readonly<Record<string, unknown>>): StagedReanchor;
110
+ /**
111
+ * Projects one retained durable delivery row.
112
+ *
113
+ * @param row SQLite result row.
114
+ * @returns The detached delivery and its acknowledgment state.
115
+ */
116
+ export declare function readPendingDelivery(row: Readonly<Record<string, unknown>>): PendingDelivery;
117
+ /**
118
+ * Requires two records with one stable hash to have identical bindings.
119
+ *
120
+ * @param left Previously retained staged record.
121
+ * @param right Candidate record with the same private hash.
122
+ */
123
+ export declare function requireSameRecord(left: StagedRecord, right: StagedRecord): void;
124
+ /**
125
+ * Requires two proposal locks for one predecessor to be byte-identical.
126
+ *
127
+ * @param left Previously retained proposal lock.
128
+ * @param right Candidate lock for the same predecessor.
129
+ */
130
+ export declare function requireSameProposalLock(left: ProposalLock, right: ProposalLock): void;
131
+ /**
132
+ * Requires two re-anchors with one hash to have identical body bindings.
133
+ *
134
+ * @param left Previously retained re-anchor.
135
+ * @param right Candidate re-anchor with the same private hash.
136
+ */
137
+ export declare function requireSameReanchor(left: StagedReanchor, right: StagedReanchor): void;
138
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/endpoint/store/rows/index.ts"],"names":[],"mappings":"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"}