@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,280 @@
1
+ /** @file Private addressed-message engine acquisition and daemon seams. */
2
+ import { AgentCard, AgentSigningAuthority } from "@moltzap/identity";
3
+ import { Deferred, Effect, Queue, SubscriptionRef } from "effect";
4
+ import { DeliveryAcknowledgeError, InboundMessage, ListenError, SendError, } from "../contract.js";
5
+ import { resumeDisseminationObligations } from "./engine-dissemination.js";
6
+ import { exportSend, prepareSend, proposeIntent } from "./engine-send.js";
7
+ import { EngineInitializationError, EngineOutboundError, } from "./engine-types.js";
8
+ import { resumeEngineFolds } from "./protocol/index.js";
9
+ import { installRecoveryBarrier } from "./recovery/barrier.js";
10
+ import { acceptEngineIngressWithRecovery, acceptEngineRecoveryIngressWithRecovery, recoverCertifiedHistory, recoverEngineState, } from "./recovery/index.js";
11
+ import { decodeCanonical, encodeCanonical, PostIntent, } from "./representation.js";
12
+ /** Closed engine errors used by daemon composition. */
13
+ export { EngineInitializationError, EngineOutboundError, } from "./engine-types.js";
14
+ const initializationReasonByStoreReason = {
15
+ closed: "persistence",
16
+ conflict: "identity",
17
+ corrupt: "persistence",
18
+ incompatible: "persistence",
19
+ "invalid-continuation": "persistence",
20
+ "invalid-input": "persistence",
21
+ "not-found": "persistence",
22
+ persistence: "persistence",
23
+ };
24
+ const listenReasonByStoreReason = {
25
+ closed: "transport-failed",
26
+ conflict: "decode-failed",
27
+ corrupt: "decode-failed",
28
+ incompatible: "incompatible-daemon",
29
+ "invalid-continuation": "decode-failed",
30
+ "invalid-input": "decode-failed",
31
+ "not-found": "decode-failed",
32
+ persistence: "transport-failed",
33
+ };
34
+ const acknowledgeReasonByStoreReason = {
35
+ closed: "persistence-failed",
36
+ conflict: "delivery-conflict",
37
+ corrupt: "persistence-failed",
38
+ incompatible: "persistence-failed",
39
+ "invalid-continuation": "persistence-failed",
40
+ "invalid-input": "persistence-failed",
41
+ "not-found": "unknown-delivery",
42
+ persistence: "persistence-failed",
43
+ };
44
+ const resumeDispositionBySendReason = {
45
+ "certification-unavailable": "ignore",
46
+ "content-invalid": "fail-representation",
47
+ "invalid-address": "fail-representation",
48
+ "membership-invalid": "fail-representation",
49
+ "network-unavailable": "ignore",
50
+ "not-registered": "fail-representation",
51
+ "persistence-failed": "fail-persistence",
52
+ "unknown-agent": "fail-representation",
53
+ "version-mismatch": "fail-representation",
54
+ };
55
+ const outboundFailure = (error) => {
56
+ switch (error._tag) {
57
+ case "RouterWorkerPersistenceError":
58
+ return new EngineOutboundError({ reason: "persistence" });
59
+ case "RouterWorkerAuthenticationError":
60
+ case "RouterWorkerProtocolError":
61
+ return new EngineOutboundError({ reason: "representation" });
62
+ case "RouterWorkerDiscontinuityError":
63
+ case "RouterWorkerRecoveryError":
64
+ case "RouterWorkerTransportError":
65
+ case "RouterWorkerUnavailableError":
66
+ return new EngineOutboundError({ reason: "network" });
67
+ default: {
68
+ const exhaustive = error;
69
+ return exhaustive;
70
+ }
71
+ }
72
+ };
73
+ function outboundSendFailure(error) {
74
+ switch (error.reason) {
75
+ case "persistence":
76
+ return new SendError({ reason: "persistence-failed" });
77
+ case "network":
78
+ return new SendError({ reason: "network-unavailable" });
79
+ case "representation":
80
+ return new SendError({ reason: "certification-unavailable" });
81
+ default: {
82
+ const exhaustive = error.reason;
83
+ return exhaustive;
84
+ }
85
+ }
86
+ }
87
+ function listenStoreFailure(error) {
88
+ return new ListenError({ reason: listenReasonByStoreReason[error.reason] });
89
+ }
90
+ function listenRepresentationFailure() {
91
+ return new ListenError({ reason: "decode-failed" });
92
+ }
93
+ function acknowledgeStoreFailure(error) {
94
+ return new DeliveryAcknowledgeError({
95
+ reason: acknowledgeReasonByStoreReason[error.reason],
96
+ });
97
+ }
98
+ function bindIdentityFailure(error) {
99
+ switch (error._tag) {
100
+ case "ClientRepresentationError":
101
+ return representationInitializationFailure();
102
+ case "EndpointStoreError":
103
+ return initializationStoreFailure(error);
104
+ default: {
105
+ const exhaustive = error;
106
+ return exhaustive;
107
+ }
108
+ }
109
+ }
110
+ function recoveryInitializationFailure(error) {
111
+ switch (error._tag) {
112
+ case "ClientRepresentationError":
113
+ case "ParseError":
114
+ return representationInitializationFailure();
115
+ case "RouterWorkerPersistenceError":
116
+ return new EngineInitializationError({ reason: "persistence" });
117
+ default: {
118
+ const exhaustive = error;
119
+ return exhaustive;
120
+ }
121
+ }
122
+ }
123
+ function resumeIntentFailure(error) {
124
+ const disposition = resumeDispositionBySendReason[error.reason];
125
+ switch (disposition) {
126
+ case "fail-persistence":
127
+ return Effect.fail(new EngineInitializationError({ reason: "persistence" }));
128
+ case "fail-representation":
129
+ return Effect.fail(representationInitializationFailure());
130
+ case "ignore":
131
+ return Effect.void;
132
+ default: {
133
+ const exhaustive = disposition;
134
+ return exhaustive;
135
+ }
136
+ }
137
+ }
138
+ function initializationStoreFailure(error) {
139
+ return new EngineInitializationError({
140
+ reason: initializationReasonByStoreReason[error.reason],
141
+ });
142
+ }
143
+ function representationInitializationFailure() {
144
+ return new EngineInitializationError({ reason: "representation" });
145
+ }
146
+ function resumeFoldFailure() {
147
+ return new EngineInitializationError({ reason: "persistence" });
148
+ }
149
+ const drainOutbound = (runtime) => runtime.outboundGate.withPermits(1)(Effect.gen(function* () {
150
+ while (runtime.outbound.length > 0) {
151
+ const message = runtime.outbound[0];
152
+ if (message === undefined) {
153
+ return;
154
+ }
155
+ yield* runtime.input.routerWorker
156
+ .send(message)
157
+ .pipe(Effect.mapError(outboundFailure));
158
+ yield* Effect.sync(() => {
159
+ if (runtime.outbound[0] === message) {
160
+ runtime.outbound.shift();
161
+ }
162
+ });
163
+ }
164
+ }));
165
+ const send = (runtime, input) => Effect.gen(function* () {
166
+ const prepared = yield* prepareSend(runtime, input);
167
+ yield* drainOutbound(runtime).pipe(Effect.mapError(outboundSendFailure));
168
+ yield* Deferred.await(prepared.completion);
169
+ yield* Effect.uninterruptible(exportSend(runtime, input, {
170
+ kind: "certified",
171
+ postId: prepared.postId,
172
+ }));
173
+ }).pipe(Effect.tapError((error) => exportSend(runtime, input, { kind: "failed", reason: error.reason })), Effect.withSpan("EndpointEngine.send"));
174
+ const runOutbound = (runtime) => Queue.take(runtime.outboundSignal).pipe(Effect.zipRight(drainOutbound(runtime)), Effect.forever);
175
+ const readPendingMessages = (runtime) => runtime.input.store.readPendingDeliveries().pipe(Effect.mapError(listenStoreFailure), Effect.flatMap((deliveries) => Effect.forEach(deliveries, (delivery) => decodeCanonical(InboundMessage, delivery.canonicalMessage).pipe(Effect.mapError(listenRepresentationFailure), Effect.map((message) => ({
176
+ deliveryToken: delivery.deliveryToken,
177
+ message,
178
+ }))), { concurrency: 1 })));
179
+ const acknowledgeMessage = (runtime, deliveryToken) => runtime.input.store
180
+ .acknowledgeDelivery(deliveryToken)
181
+ .pipe(Effect.mapError(acknowledgeStoreFailure), Effect.asVoid);
182
+ const validateLocalIdentity = (input) => AgentSigningAuthority.publicKey(input.signingAuthority).x ===
183
+ input.localAgentCard.publicKey.x
184
+ ? Effect.void
185
+ : Effect.fail(new EngineInitializationError({ reason: "identity" }));
186
+ const bindLocalIdentity = (input) => encodeCanonical(AgentCard, input.localAgentCard).pipe(Effect.flatMap((canonicalAgentCard) => input.store.bindIdentity({
187
+ agentId: input.localAgentCard.agentId,
188
+ canonicalAgentCard,
189
+ })), Effect.mapError(bindIdentityFailure));
190
+ const makeRuntime = (input, recovered) => Effect.gen(function* () {
191
+ const outbound = recovered.outboundMessages.map((message) => message.outboundId);
192
+ const outboundSignal = yield* Queue.unbounded();
193
+ if (outbound.length > 0) {
194
+ yield* Queue.offer(outboundSignal, undefined);
195
+ }
196
+ return {
197
+ input,
198
+ conversations: recovered.conversations,
199
+ intents: new Map(),
200
+ completedPostIds: recovered.completedPostIds,
201
+ actionFolds: recovered.actionFolds,
202
+ recordFolds: recovered.recordFolds,
203
+ outbound,
204
+ outboundSignal,
205
+ gate: yield* Effect.makeSemaphore(1),
206
+ outboundGate: yield* Effect.makeSemaphore(1),
207
+ revision: yield* SubscriptionRef.make(0),
208
+ };
209
+ });
210
+ const hydratePostIntents = (runtime, postIntents) => Effect.forEach(postIntents, (stored) => Effect.gen(function* () {
211
+ const intent = yield* decodeCanonical(PostIntent, stored.canonicalIntent).pipe(Effect.mapError(representationInitializationFailure));
212
+ const completion = yield* Deferred.make();
213
+ yield* Effect.sync(() => {
214
+ runtime.intents.set(intent.postId, {
215
+ intent,
216
+ canonicalIntent: stored.canonicalIntent,
217
+ completion,
218
+ });
219
+ });
220
+ if (stored.completedRecordHash !== undefined) {
221
+ yield* Deferred.succeed(completion, undefined);
222
+ }
223
+ }), { concurrency: 1, discard: true });
224
+ const initializeRuntime = (input) => Effect.gen(function* () {
225
+ yield* validateLocalIdentity(input);
226
+ yield* bindLocalIdentity(input);
227
+ const recovery = yield* input.store
228
+ .recover()
229
+ .pipe(Effect.mapError(initializationStoreFailure));
230
+ const recovered = yield* recoverEngineState(input, recovery).pipe(Effect.mapError(recoveryInitializationFailure));
231
+ const runtime = yield* makeRuntime(input, recovered);
232
+ yield* hydratePostIntents(runtime, recovered.postIntents);
233
+ return runtime;
234
+ });
235
+ const resumeRuntime = (runtime) => Effect.gen(function* () {
236
+ yield* resumeDisseminationObligations(runtime).pipe(Effect.mapError(resumeFoldFailure));
237
+ yield* resumeEngineFolds(runtime).pipe(Effect.mapError(resumeFoldFailure));
238
+ yield* Effect.forEach(runtime.intents.values(), (intent) => runtime.completedPostIds.has(intent.intent.postId)
239
+ ? Effect.void
240
+ : proposeIntent(runtime, intent).pipe(Effect.asVoid, Effect.catchTag("SendError", resumeIntentFailure)), { concurrency: 1, discard: true });
241
+ });
242
+ const abandonVolatileFolds = (runtime, reason) => runtime.gate
243
+ .withPermits(1)(Effect.gen(function* () {
244
+ yield* installRecoveryBarrier(runtime);
245
+ yield* Effect.sync(() => {
246
+ runtime.outbound.length = 0;
247
+ if (reason !== "router_restarted") {
248
+ return;
249
+ }
250
+ for (const fold of runtime.actionFolds.values()) {
251
+ fold.localActionEvidenceQueued = false;
252
+ fold.actionCertifiedRecordQueued = false;
253
+ fold.localDurabilityEvidenceQueued = false;
254
+ fold.certifiedRecordQueued = false;
255
+ }
256
+ });
257
+ }))
258
+ .pipe(Effect.withSpan("abandonVolatileFolds", { attributes: { reason } }));
259
+ const endpointEngine = (runtime) => Object.freeze({
260
+ send: (sendInput) => send(runtime, sendInput),
261
+ readPendingMessages: () => readPendingMessages(runtime),
262
+ acknowledgeMessage: (deliveryToken) => acknowledgeMessage(runtime, deliveryToken),
263
+ acceptRouterIngress: (ingress) => acceptEngineIngressWithRecovery(runtime, ingress),
264
+ acceptRecoveryIngress: (ingress) => acceptEngineRecoveryIngressWithRecovery(runtime, ingress),
265
+ recoverCertifiedHistory: (recovery) => recoverCertifiedHistory(runtime, recovery),
266
+ drainOutbound: drainOutbound(runtime),
267
+ runOutbound: runOutbound(runtime),
268
+ abandonVolatileFolds: (reason) => abandonVolatileFolds(runtime, reason),
269
+ });
270
+ /**
271
+ * Build one coherent private engine over registered identity and durable state.
272
+ * @param input Verified identity, storage, Registry, and Router dependencies.
273
+ * @returns A scoped engine whose recovered state is ready for protocol work.
274
+ */
275
+ export const makeEndpointEngine = (input) => Effect.gen(function* () {
276
+ const runtime = yield* initializeRuntime(input);
277
+ yield* resumeRuntime(runtime);
278
+ return endpointEngine(runtime);
279
+ }).pipe(Effect.withSpan("makeEndpointEngine"));
280
+ //# sourceMappingURL=engine.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"engine.js","sourceRoot":"","sources":["../../src/endpoint/engine.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,37 @@
1
+ /** @file Stable evidence routing and verification for active protocol folds. */
2
+ import { SignedMessage } from "@moltzap/identity";
3
+ import { Effect } from "effect";
4
+ import type { EngineActionFold, EngineRuntime } from "../engine-types.js";
5
+ import type { RouterWorkerIngress } from "../router-worker/index.js";
6
+ import { ClientRepresentationError, type DecodedOuterBody, type VerifiedEvidence } from "../representation.js";
7
+ /** One active fold selected by the target of a stable evidence statement. */
8
+ export type EvidenceRoute = Readonly<{
9
+ fold: EngineActionFold;
10
+ kind: "action";
11
+ }> | Readonly<{
12
+ fold: EngineActionFold;
13
+ kind: "durability";
14
+ }>;
15
+ /**
16
+ * Locate the active fold named by a stable evidence message.
17
+ * @param runtime Engine whose active folds may receive the evidence.
18
+ * @param message Decoded stable inner evidence message.
19
+ * @returns The matching fold and evidence kind, when still active.
20
+ */
21
+ export declare const evidenceRoute: (runtime: EngineRuntime, message: SignedMessage) => Effect.Effect<EvidenceRoute | undefined, ClientRepresentationError>;
22
+ /**
23
+ * Check that verified evidence targets the fold selected by its decoded body.
24
+ * @param route Active fold and evidence role selected from the statement.
25
+ * @param statement Cryptographically verified evidence statement.
26
+ * @returns Whether every fold-specific binding matches.
27
+ */
28
+ export declare function evidenceMatchesFold(route: EvidenceRoute, statement: VerifiedEvidence["statement"]): boolean;
29
+ /**
30
+ * Verify one evidence message against its outer sender and fixed membership.
31
+ * @param ingress Authenticated Router ingress carrying the outer message.
32
+ * @param message Stable self-addressed inner evidence message.
33
+ * @param route Active fold selected from the evidence statement.
34
+ * @returns Cryptographically verified evidence and decoded statement.
35
+ */
36
+ export declare function verifiedEvidenceForRoute(ingress: RouterWorkerIngress<DecodedOuterBody>, message: SignedMessage, route: EvidenceRoute): Effect.Effect<VerifiedEvidence, ClientRepresentationError>;
37
+ //# sourceMappingURL=evidence.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"evidence.d.ts","sourceRoot":"","sources":["../../../src/endpoint/protocol/evidence.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAEhF,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,MAAM,EAAU,MAAM,QAAQ,CAAC;AACxC,OAAO,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAC1E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,EACL,yBAAyB,EAEzB,KAAK,gBAAgB,EAErB,KAAK,gBAAgB,EAGtB,MAAM,sBAAsB,CAAC;AAE9B,6EAA6E;AAC7E,MAAM,MAAM,aAAa,GACrB,QAAQ,CAAC;IAAE,IAAI,EAAE,gBAAgB,CAAC;IAAC,IAAI,EAAE,QAAQ,CAAA;CAAE,CAAC,GACpD,QAAQ,CAAC;IAAE,IAAI,EAAE,gBAAgB,CAAC;IAAC,IAAI,EAAE,YAAY,CAAA;CAAE,CAAC,CAAC;AAE7D;;;;;GAKG;AACH,eAAO,MAAM,aAAa,YACf,aAAa,WACb,aAAa,KACrB,MAAM,CAAC,MAAM,CAAC,aAAa,GAAG,SAAS,EAAE,yBAAyB,CAqBlE,CAAC;AAEJ;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,aAAa,EACpB,SAAS,EAAE,gBAAgB,CAAC,WAAW,CAAC,GACvC,OAAO,CAWT;AAED;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,mBAAmB,CAAC,gBAAgB,CAAC,EAC9C,OAAO,EAAE,aAAa,EACtB,KAAK,EAAE,aAAa,GACnB,MAAM,CAAC,MAAM,CAAC,gBAAgB,EAAE,yBAAyB,CAAC,CAgB5D"}
@@ -0,0 +1,80 @@
1
+ /** @file Stable evidence routing and verification for active protocol folds. */
2
+ import { SignedMessage } from "@moltzap/identity";
3
+ import { Effect, Schema } from "effect";
4
+ import { ClientRepresentationError, decodeCanonical, EvidenceStatement, verifyOuterMessage, verifyStableEvidence, } from "../representation.js";
5
+ /**
6
+ * Locate the active fold named by a stable evidence message.
7
+ * @param runtime Engine whose active folds may receive the evidence.
8
+ * @param message Decoded stable inner evidence message.
9
+ * @returns The matching fold and evidence kind, when still active.
10
+ */
11
+ export const evidenceRoute = (runtime, message) => decodeCanonical(EvidenceStatement, message.body).pipe(Effect.map((statement) => {
12
+ switch (statement.kind) {
13
+ case "action_signature": {
14
+ const fold = runtime.actionFolds.get(statement.actionHash);
15
+ return fold === undefined ? undefined : { fold, kind: "action" };
16
+ }
17
+ case "durability_vote": {
18
+ const fold = runtime.recordFolds.get(statement.recordHash);
19
+ return fold === undefined ? undefined : { fold, kind: "durability" };
20
+ }
21
+ case "catch_up_attestation":
22
+ case "reanchor_vote":
23
+ return undefined;
24
+ default: {
25
+ const exhaustive = statement;
26
+ return exhaustive;
27
+ }
28
+ }
29
+ }));
30
+ /**
31
+ * Check that verified evidence targets the fold selected by its decoded body.
32
+ * @param route Active fold and evidence role selected from the statement.
33
+ * @param statement Cryptographically verified evidence statement.
34
+ * @returns Whether every fold-specific binding matches.
35
+ */
36
+ export function evidenceMatchesFold(route, statement) {
37
+ switch (route.kind) {
38
+ case "action":
39
+ return actionEvidenceMatchesFold(route.fold, statement);
40
+ case "durability":
41
+ return durabilityEvidenceMatchesFold(route.fold, statement);
42
+ default: {
43
+ const exhaustive = route;
44
+ return exhaustive;
45
+ }
46
+ }
47
+ }
48
+ /**
49
+ * Verify one evidence message against its outer sender and fixed membership.
50
+ * @param ingress Authenticated Router ingress carrying the outer message.
51
+ * @param message Stable self-addressed inner evidence message.
52
+ * @param route Active fold selected from the evidence statement.
53
+ * @returns Cryptographically verified evidence and decoded statement.
54
+ */
55
+ export function verifiedEvidenceForRoute(ingress, message, route) {
56
+ return Effect.gen(function* () {
57
+ yield* verifyOuterMessage({
58
+ message: ingress.message,
59
+ membership: route.fold.conversation.membership,
60
+ });
61
+ const representation = yield* Schema.encode(SignedMessage)(message).pipe(Effect.catchTag("ParseError", () => Effect.fail(new ClientRepresentationError())));
62
+ return yield* verifyStableEvidence({
63
+ representation,
64
+ membership: route.fold.conversation.membership,
65
+ });
66
+ }).pipe(Effect.withSpan("verifiedEvidenceForRoute"));
67
+ }
68
+ function actionEvidenceMatchesFold(fold, statement) {
69
+ return (statement.kind === "action_signature" &&
70
+ statement.actionHash === fold.actionHash);
71
+ }
72
+ function durabilityEvidenceMatchesFold(fold, statement) {
73
+ if (statement.kind !== "durability_vote" || fold.recordHash === undefined) {
74
+ return false;
75
+ }
76
+ return (statement.recordHash === fold.recordHash &&
77
+ statement.conversationId === fold.conversation.conversationId &&
78
+ statement.membershipHash === fold.conversation.membership.hash);
79
+ }
80
+ //# sourceMappingURL=evidence.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"evidence.js","sourceRoot":"","sources":["../../../src/endpoint/protocol/evidence.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ /** @file Router-ordered proposal selection and addressed record certification. */
2
+ import { Effect } from "effect";
3
+ import type { EngineRuntime } from "../engine-types.js";
4
+ import { type DecodedOuterBody } from "../representation.js";
5
+ import { type RouterIngressDisposition, type RouterWorkerIngress, RouterWorkerPersistenceError } from "../router-worker/index.js";
6
+ /**
7
+ * Apply one semantically verified Router-ordered protocol value.
8
+ * @param runtime Current engine state and durable protocol dependencies.
9
+ * @param ingress Authenticated Router-ordered protocol input.
10
+ * @returns Whether the input changed durable state or was irrelevant.
11
+ */
12
+ export declare const acceptEngineIngress: (runtime: EngineRuntime, ingress: RouterWorkerIngress<DecodedOuterBody>) => Effect.Effect<RouterIngressDisposition, RouterWorkerPersistenceError>;
13
+ /**
14
+ * Recovery accepts complete certified records through the same durable path.
15
+ * @param runtime Current engine state and durable protocol dependencies.
16
+ * @param ingress Authenticated recovery input from one fixed member.
17
+ * @returns Whether recovery advanced durable state or ignored the input.
18
+ */
19
+ export declare const acceptEngineRecoveryIngress: (runtime: EngineRuntime, ingress: RouterWorkerIngress<DecodedOuterBody>) => Effect.Effect<RouterIngressDisposition, RouterWorkerPersistenceError>;
20
+ /**
21
+ * Resume only the evidence obligations already selected in durable state.
22
+ * @param runtime Recovered engine state and durable protocol dependencies.
23
+ * @returns Completion after all resumable evidence work has been queued.
24
+ */
25
+ export declare const resumeEngineFolds: (runtime: EngineRuntime) => Effect.Effect<void, RouterWorkerPersistenceError>;
26
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/endpoint/protocol/index.ts"],"names":[],"mappings":"AAAA,kFAAkF;AAGlF,OAAO,EAAY,MAAM,EAAgC,MAAM,QAAQ,CAAC;AAExE,OAAO,KAAK,EAIV,aAAa,EACd,MAAM,oBAAoB,CAAC;AAqB5B,OAAO,EASL,KAAK,gBAAgB,EAetB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,KAAK,wBAAwB,EAC7B,KAAK,mBAAmB,EACxB,4BAA4B,EAC7B,MAAM,2BAA2B,CAAC;AA44BnC;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,YACrB,aAAa,WACb,mBAAmB,CAAC,gBAAgB,CAAC,KAC7C,MAAM,CAAC,MAAM,CAAC,wBAAwB,EAAE,4BAA4B,CAalE,CAAC;AAEN;;;;;GAKG;AACH,eAAO,MAAM,2BAA2B,YAC7B,aAAa,WACb,mBAAmB,CAAC,gBAAgB,CAAC,KAC7C,MAAM,CAAC,MAAM,CAAC,wBAAwB,EAAE,4BAA4B,CAkBlE,CAAC;AAEN;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,YACnB,aAAa,KACrB,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,4BAA4B,CA0B9C,CAAC"}