@moltzap/client 2026.1002.0 → 2026.1004.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 (492) hide show
  1. package/README.md +2 -2
  2. package/bin/moltzapd +2 -2
  3. package/dist/{harness-mcp-contract.d.ts → delivery/history-export.d.ts} +94 -133
  4. package/dist/delivery/history-export.d.ts.map +1 -0
  5. package/dist/{daemon/runtime → delivery}/history-export.js +36 -3
  6. package/dist/delivery/history-export.js.map +1 -0
  7. package/dist/delivery/host-delivery.d.ts +51 -0
  8. package/dist/delivery/host-delivery.d.ts.map +1 -0
  9. package/dist/delivery/host-delivery.js +109 -0
  10. package/dist/delivery/host-delivery.js.map +1 -0
  11. package/dist/delivery/inbox.d.ts +141 -0
  12. package/dist/delivery/inbox.d.ts.map +1 -0
  13. package/dist/delivery/inbox.js +129 -0
  14. package/dist/delivery/inbox.js.map +1 -0
  15. package/dist/delivery/index.d.ts +4 -0
  16. package/dist/delivery/index.d.ts.map +1 -0
  17. package/dist/delivery/index.js +4 -0
  18. package/dist/delivery/index.js.map +1 -0
  19. package/dist/delivery/operations.d.ts +789 -0
  20. package/dist/delivery/operations.d.ts.map +1 -0
  21. package/dist/delivery/operations.js +162 -0
  22. package/dist/delivery/operations.js.map +1 -0
  23. package/dist/delivery/pass.d.ts +91 -0
  24. package/dist/delivery/pass.d.ts.map +1 -0
  25. package/dist/{daemon/runtime/pending-delivery.js → delivery/pass.js} +61 -34
  26. package/dist/delivery/pass.js.map +1 -0
  27. package/dist/delivery/send-invocations.d.ts +106 -0
  28. package/dist/delivery/send-invocations.d.ts.map +1 -0
  29. package/dist/delivery/send-invocations.js +109 -0
  30. package/dist/delivery/send-invocations.js.map +1 -0
  31. package/dist/endpoint/harness-endpoint/capability.d.ts +39 -0
  32. package/dist/endpoint/harness-endpoint/capability.d.ts.map +1 -0
  33. package/dist/endpoint/harness-endpoint/capability.js +9 -0
  34. package/dist/endpoint/harness-endpoint/capability.js.map +1 -0
  35. package/dist/endpoint/harness-endpoint/events.d.ts +12 -0
  36. package/dist/endpoint/harness-endpoint/events.d.ts.map +1 -0
  37. package/dist/endpoint/harness-endpoint/events.js +199 -0
  38. package/dist/endpoint/harness-endpoint/events.js.map +1 -0
  39. package/dist/{client-runtime.d.ts → endpoint/harness-endpoint/index.d.ts} +4 -2
  40. package/dist/endpoint/harness-endpoint/index.d.ts.map +1 -0
  41. package/dist/{client-runtime.js → endpoint/harness-endpoint/index.js} +115 -115
  42. package/dist/endpoint/harness-endpoint/index.js.map +1 -0
  43. package/dist/endpoint/implementation.d.ts +4 -0
  44. package/dist/endpoint/implementation.d.ts.map +1 -0
  45. package/dist/endpoint/implementation.js +5 -0
  46. package/dist/endpoint/implementation.js.map +1 -0
  47. package/dist/endpoint/mcp/auth.d.ts +31 -0
  48. package/dist/endpoint/mcp/auth.d.ts.map +1 -0
  49. package/dist/endpoint/mcp/auth.js +42 -0
  50. package/dist/endpoint/mcp/auth.js.map +1 -0
  51. package/dist/endpoint/mcp/event-schemas.d.ts +151 -0
  52. package/dist/endpoint/mcp/event-schemas.d.ts.map +1 -0
  53. package/dist/endpoint/mcp/event-schemas.js +72 -0
  54. package/dist/endpoint/mcp/event-schemas.js.map +1 -0
  55. package/dist/endpoint/mcp/event-signing.d.ts +62 -0
  56. package/dist/endpoint/mcp/event-signing.d.ts.map +1 -0
  57. package/dist/endpoint/mcp/event-signing.js +185 -0
  58. package/dist/endpoint/mcp/event-signing.js.map +1 -0
  59. package/dist/endpoint/mcp/events.d.ts +45 -0
  60. package/dist/endpoint/mcp/events.d.ts.map +1 -0
  61. package/dist/endpoint/mcp/events.js +296 -0
  62. package/dist/endpoint/mcp/events.js.map +1 -0
  63. package/dist/{harness-mcp-http.d.ts → endpoint/mcp/http.d.ts} +1 -1
  64. package/dist/endpoint/mcp/http.d.ts.map +1 -0
  65. package/dist/{harness-mcp-http.js → endpoint/mcp/http.js} +1 -1
  66. package/dist/endpoint/mcp/http.js.map +1 -0
  67. package/dist/endpoint/mcp/index.d.ts +10 -0
  68. package/dist/endpoint/mcp/index.d.ts.map +1 -0
  69. package/dist/endpoint/mcp/index.js +8 -0
  70. package/dist/endpoint/mcp/index.js.map +1 -0
  71. package/dist/{management-runtime.d.ts → endpoint/mcp/owner-tools.d.ts} +7 -7
  72. package/dist/endpoint/mcp/owner-tools.d.ts.map +1 -0
  73. package/dist/{management-runtime.js → endpoint/mcp/owner-tools.js} +3 -4
  74. package/dist/endpoint/mcp/owner-tools.js.map +1 -0
  75. package/dist/endpoint/mcp/schemas.d.ts +60 -0
  76. package/dist/endpoint/mcp/schemas.d.ts.map +1 -0
  77. package/dist/endpoint/mcp/schemas.js +116 -0
  78. package/dist/endpoint/mcp/schemas.js.map +1 -0
  79. package/dist/{harness-mcp-wire.d.ts → endpoint/mcp/tools.d.ts} +17 -14
  80. package/dist/endpoint/mcp/tools.d.ts.map +1 -0
  81. package/dist/{harness-mcp-wire.js → endpoint/mcp/tools.js} +229 -110
  82. package/dist/endpoint/mcp/tools.js.map +1 -0
  83. package/dist/endpoint/mcp/webhook.d.ts +15 -0
  84. package/dist/endpoint/mcp/webhook.d.ts.map +1 -0
  85. package/dist/endpoint/mcp/webhook.js +359 -0
  86. package/dist/endpoint/mcp/webhook.js.map +1 -0
  87. package/dist/identity/credentials.d.ts +46 -0
  88. package/dist/identity/credentials.d.ts.map +1 -0
  89. package/dist/identity/credentials.js +55 -0
  90. package/dist/identity/credentials.js.map +1 -0
  91. package/dist/identity/index.d.ts +4 -0
  92. package/dist/identity/index.d.ts.map +1 -0
  93. package/dist/identity/index.js +4 -0
  94. package/dist/identity/index.js.map +1 -0
  95. package/dist/index.d.ts +19 -4
  96. package/dist/index.d.ts.map +1 -1
  97. package/dist/index.js +21 -5
  98. package/dist/index.js.map +1 -1
  99. package/dist/{contract.types-check.d.ts → index.types-check.d.ts} +8 -4
  100. package/dist/index.types-check.d.ts.map +1 -0
  101. package/dist/{contract.types-check.js → index.types-check.js} +4 -3
  102. package/dist/index.types-check.js.map +1 -0
  103. package/dist/{daemon/runtime → service}/activation.d.ts +9 -12
  104. package/dist/service/activation.d.ts.map +1 -0
  105. package/dist/{daemon/runtime → service}/activation.js +3 -3
  106. package/dist/service/activation.js.map +1 -0
  107. package/dist/{daemon → service}/configuration.d.ts +8 -7
  108. package/dist/service/configuration.d.ts.map +1 -0
  109. package/dist/{daemon → service}/configuration.js +30 -28
  110. package/dist/service/configuration.js.map +1 -0
  111. package/dist/{daemon/runtime → service}/controller.d.ts +8 -6
  112. package/dist/service/controller.d.ts.map +1 -0
  113. package/dist/service/controller.js +106 -0
  114. package/dist/service/controller.js.map +1 -0
  115. package/dist/{server.d.ts → service/index.d.ts} +7 -4
  116. package/dist/service/index.d.ts.map +1 -0
  117. package/dist/{server.js → service/index.js} +17 -15
  118. package/dist/service/index.js.map +1 -0
  119. package/dist/{server.types-check.d.ts → service/index.types-check.d.ts} +7 -7
  120. package/dist/service/index.types-check.d.ts.map +1 -0
  121. package/dist/{server.types-check.js → service/index.types-check.js} +1 -1
  122. package/dist/service/index.types-check.js.map +1 -0
  123. package/dist/{daemon/runtime/index.d.ts → service/lifecycle.d.ts} +3 -3
  124. package/dist/service/lifecycle.d.ts.map +1 -0
  125. package/dist/{daemon/runtime/index.js → service/lifecycle.js} +28 -25
  126. package/dist/service/lifecycle.js.map +1 -0
  127. package/dist/{daemon → service}/management.d.ts +2 -2
  128. package/dist/service/management.d.ts.map +1 -0
  129. package/dist/{daemon → service}/management.js +2 -13
  130. package/dist/service/management.js.map +1 -0
  131. package/dist/{daemon → service}/registration.d.ts +1 -1
  132. package/dist/service/registration.d.ts.map +1 -0
  133. package/dist/{daemon → service}/registration.js +1 -2
  134. package/dist/service/registration.js.map +1 -0
  135. package/dist/{daemon/runtime/protocol.d.ts → service/supervision.d.ts} +16 -24
  136. package/dist/service/supervision.d.ts.map +1 -0
  137. package/dist/{daemon/runtime/protocol.js → service/supervision.js} +33 -36
  138. package/dist/service/supervision.js.map +1 -0
  139. package/dist/store/anchors.d.ts.map +1 -0
  140. package/dist/store/anchors.js.map +1 -0
  141. package/dist/store/database/index.d.ts.map +1 -0
  142. package/dist/store/database/index.js.map +1 -0
  143. package/dist/store/database/schema.d.ts.map +1 -0
  144. package/dist/{endpoint/store → store}/database/schema.js +42 -6
  145. package/dist/store/database/schema.js.map +1 -0
  146. package/dist/store/database/values.d.ts.map +1 -0
  147. package/dist/store/database/values.js.map +1 -0
  148. package/dist/{endpoint/store → store}/deliveries.d.ts +8 -0
  149. package/dist/store/deliveries.d.ts.map +1 -0
  150. package/dist/{endpoint/store → store}/deliveries.js +16 -0
  151. package/dist/store/deliveries.js.map +1 -0
  152. package/dist/store/dissemination.d.ts.map +1 -0
  153. package/dist/store/dissemination.js.map +1 -0
  154. package/dist/store/inbox.d.ts +86 -0
  155. package/dist/store/inbox.d.ts.map +1 -0
  156. package/dist/store/inbox.js +269 -0
  157. package/dist/store/inbox.js.map +1 -0
  158. package/dist/store/index.d.ts +12 -0
  159. package/dist/store/index.d.ts.map +1 -0
  160. package/dist/store/index.js +8 -0
  161. package/dist/store/index.js.map +1 -0
  162. package/dist/store/outbound.d.ts.map +1 -0
  163. package/dist/store/outbound.js.map +1 -0
  164. package/dist/{endpoint/store/management.d.ts → store/reads.d.ts} +1 -1
  165. package/dist/store/reads.d.ts.map +1 -0
  166. package/dist/{endpoint/store/management.js → store/reads.js} +1 -1
  167. package/dist/store/reads.js.map +1 -0
  168. package/dist/store/records.d.ts.map +1 -0
  169. package/dist/store/records.js.map +1 -0
  170. package/dist/store/rows/index.d.ts.map +1 -0
  171. package/dist/store/rows/index.js.map +1 -0
  172. package/dist/store/runtime-codec.d.ts +17 -0
  173. package/dist/store/runtime-codec.d.ts.map +1 -0
  174. package/dist/store/runtime-codec.js +32 -0
  175. package/dist/store/runtime-codec.js.map +1 -0
  176. package/dist/{endpoint/store/index.d.ts → store/store.d.ts} +2 -2
  177. package/dist/store/store.d.ts.map +1 -0
  178. package/dist/{endpoint/store/index.js → store/store.js} +33 -4
  179. package/dist/store/store.js.map +1 -0
  180. package/dist/{endpoint/store → store}/types.d.ts +41 -0
  181. package/dist/store/types.d.ts.map +1 -0
  182. package/dist/store/types.js.map +1 -0
  183. package/dist/transport/collectives/answer-check.d.ts +22 -0
  184. package/dist/transport/collectives/answer-check.d.ts.map +1 -0
  185. package/dist/transport/collectives/answer-check.js +166 -0
  186. package/dist/transport/collectives/answer-check.js.map +1 -0
  187. package/dist/transport/collectives/answer-formats.d.ts +21 -0
  188. package/dist/transport/collectives/answer-formats.d.ts.map +1 -0
  189. package/dist/transport/collectives/answer-formats.js +127 -0
  190. package/dist/transport/collectives/answer-formats.js.map +1 -0
  191. package/dist/transport/collectives/failures.d.ts +34 -0
  192. package/dist/transport/collectives/failures.d.ts.map +1 -0
  193. package/dist/transport/collectives/failures.js +40 -0
  194. package/dist/transport/collectives/failures.js.map +1 -0
  195. package/dist/transport/collectives/form-grammar.d.ts +175 -0
  196. package/dist/transport/collectives/form-grammar.d.ts.map +1 -0
  197. package/dist/transport/collectives/form-grammar.js +226 -0
  198. package/dist/transport/collectives/form-grammar.js.map +1 -0
  199. package/dist/transport/collectives/forms.d.ts +224 -0
  200. package/dist/transport/collectives/forms.d.ts.map +1 -0
  201. package/dist/transport/collectives/forms.js +183 -0
  202. package/dist/transport/collectives/forms.js.map +1 -0
  203. package/dist/transport/collectives/inbound.d.ts +130 -0
  204. package/dist/transport/collectives/inbound.d.ts.map +1 -0
  205. package/dist/transport/collectives/inbound.js +80 -0
  206. package/dist/transport/collectives/inbound.js.map +1 -0
  207. package/dist/transport/collectives/index.d.ts +10 -0
  208. package/dist/transport/collectives/index.d.ts.map +1 -0
  209. package/dist/transport/collectives/index.js +8 -0
  210. package/dist/transport/collectives/index.js.map +1 -0
  211. package/dist/{message-text.d.ts → transport/collectives/message-text.d.ts} +4 -3
  212. package/dist/transport/collectives/message-text.d.ts.map +1 -0
  213. package/dist/{message-text.js → transport/collectives/message-text.js} +4 -6
  214. package/dist/transport/collectives/message-text.js.map +1 -0
  215. package/dist/{endpoint/collective → transport/collectives}/operation.d.ts +17 -11
  216. package/dist/transport/collectives/operation.d.ts.map +1 -0
  217. package/dist/{endpoint/collective → transport/collectives}/operation.js +20 -48
  218. package/dist/transport/collectives/operation.js.map +1 -0
  219. package/dist/{endpoint/collective → transport/collectives}/received-request.d.ts +2 -1
  220. package/dist/transport/collectives/received-request.d.ts.map +1 -0
  221. package/dist/transport/collectives/received-request.js.map +1 -0
  222. package/dist/{endpoint/collective → transport/collectives}/request-sends.d.ts +3 -2
  223. package/dist/transport/collectives/request-sends.d.ts.map +1 -0
  224. package/dist/transport/collectives/request-sends.js.map +1 -0
  225. package/dist/{endpoint/collective → transport/collectives}/shared-answers.d.ts +3 -2
  226. package/dist/transport/collectives/shared-answers.d.ts.map +1 -0
  227. package/dist/transport/collectives/shared-answers.js.map +1 -0
  228. package/dist/{endpoint/collective → transport/collectives}/validation.d.ts +8 -10
  229. package/dist/transport/collectives/validation.d.ts.map +1 -0
  230. package/dist/{endpoint/collective → transport/collectives}/validation.js +10 -19
  231. package/dist/transport/collectives/validation.js.map +1 -0
  232. package/dist/{endpoint/collective → transport/collectives}/wire.d.ts +14 -9
  233. package/dist/transport/collectives/wire.d.ts.map +1 -0
  234. package/dist/{endpoint/collective → transport/collectives}/wire.js +11 -99
  235. package/dist/transport/collectives/wire.js.map +1 -0
  236. package/dist/{endpoint/addressing/index.d.ts → transport/messaging/address.d.ts} +38 -5
  237. package/dist/transport/messaging/address.d.ts.map +1 -0
  238. package/dist/{endpoint/addressing/index.js → transport/messaging/address.js} +100 -21
  239. package/dist/transport/messaging/address.js.map +1 -0
  240. package/dist/{endpoint/protocol/index.d.ts → transport/messaging/certification.d.ts} +4 -4
  241. package/dist/transport/messaging/certification.d.ts.map +1 -0
  242. package/dist/{endpoint/protocol/index.js → transport/messaging/certification.js} +7 -5
  243. package/dist/transport/messaging/certification.js.map +1 -0
  244. package/dist/{endpoint/engine-dissemination.d.ts → transport/messaging/dissemination.d.ts} +3 -3
  245. package/dist/transport/messaging/dissemination.d.ts.map +1 -0
  246. package/dist/{endpoint/engine-dissemination.js → transport/messaging/dissemination.js} +5 -5
  247. package/dist/transport/messaging/dissemination.js.map +1 -0
  248. package/dist/{endpoint/engine-durability.d.ts → transport/messaging/durability.d.ts} +4 -4
  249. package/dist/{endpoint/engine-durability.d.ts.map → transport/messaging/durability.d.ts.map} +1 -1
  250. package/dist/{endpoint/engine-durability.js → transport/messaging/durability.js} +4 -13
  251. package/dist/transport/messaging/durability.js.map +1 -0
  252. package/dist/transport/messaging/errors.d.ts +50 -0
  253. package/dist/transport/messaging/errors.d.ts.map +1 -0
  254. package/dist/transport/messaging/errors.js +64 -0
  255. package/dist/transport/messaging/errors.js.map +1 -0
  256. package/dist/{endpoint/protocol → transport/messaging}/evidence.d.ts +3 -3
  257. package/dist/{endpoint/protocol → transport/messaging}/evidence.d.ts.map +1 -1
  258. package/dist/{endpoint/protocol → transport/messaging}/evidence.js +1 -1
  259. package/dist/transport/messaging/evidence.js.map +1 -0
  260. package/dist/{endpoint/engine.d.ts → transport/messaging/index.d.ts} +4 -4
  261. package/dist/transport/messaging/index.d.ts.map +1 -0
  262. package/dist/{endpoint/engine.js → transport/messaging/index.js} +14 -9
  263. package/dist/transport/messaging/index.js.map +1 -0
  264. package/dist/transport/messaging/message.d.ts +112 -0
  265. package/dist/transport/messaging/message.d.ts.map +1 -0
  266. package/dist/transport/messaging/message.js +39 -0
  267. package/dist/transport/messaging/message.js.map +1 -0
  268. package/dist/{endpoint → transport/messaging}/recovery/barrier.d.ts +1 -1
  269. package/dist/transport/messaging/recovery/barrier.d.ts.map +1 -0
  270. package/dist/transport/messaging/recovery/barrier.js.map +1 -0
  271. package/dist/{endpoint/recovery/store-evidence.d.ts → transport/messaging/recovery/evidence.d.ts} +5 -5
  272. package/dist/transport/messaging/recovery/evidence.d.ts.map +1 -0
  273. package/dist/{endpoint/recovery/store-evidence.js → transport/messaging/recovery/evidence.js} +3 -3
  274. package/dist/transport/messaging/recovery/evidence.js.map +1 -0
  275. package/dist/{endpoint → transport/messaging}/recovery/index.d.ts +4 -4
  276. package/dist/transport/messaging/recovery/index.d.ts.map +1 -0
  277. package/dist/{endpoint → transport/messaging}/recovery/index.js +29 -25
  278. package/dist/transport/messaging/recovery/index.js.map +1 -0
  279. package/dist/{endpoint/recovery/store.d.ts → transport/messaging/recovery/persistence.d.ts} +5 -5
  280. package/dist/transport/messaging/recovery/persistence.d.ts.map +1 -0
  281. package/dist/{endpoint/recovery/store.js → transport/messaging/recovery/persistence.js} +4 -4
  282. package/dist/transport/messaging/recovery/persistence.js.map +1 -0
  283. package/dist/{endpoint/recovery/reanchor/empty.d.ts → transport/messaging/recovery/reanchor-empty.d.ts} +6 -6
  284. package/dist/transport/messaging/recovery/reanchor-empty.d.ts.map +1 -0
  285. package/dist/{endpoint/recovery/reanchor/empty.js → transport/messaging/recovery/reanchor-empty.js} +4 -4
  286. package/dist/transport/messaging/recovery/reanchor-empty.js.map +1 -0
  287. package/dist/{endpoint/recovery/reanchor/index.d.ts → transport/messaging/recovery/reanchor.d.ts} +4 -4
  288. package/dist/transport/messaging/recovery/reanchor.d.ts.map +1 -0
  289. package/dist/{endpoint/recovery/reanchor/index.js → transport/messaging/recovery/reanchor.js} +29 -14
  290. package/dist/transport/messaging/recovery/reanchor.js.map +1 -0
  291. package/dist/{endpoint → transport/messaging}/recovery/state.d.ts +5 -5
  292. package/dist/transport/messaging/recovery/state.d.ts.map +1 -0
  293. package/dist/{endpoint → transport/messaging}/recovery/state.js +2 -2
  294. package/dist/transport/messaging/recovery/state.js.map +1 -0
  295. package/dist/{endpoint/engine-send.d.ts → transport/messaging/send.d.ts} +5 -4
  296. package/dist/transport/messaging/send.d.ts.map +1 -0
  297. package/dist/{endpoint/engine-send.js → transport/messaging/send.js} +4 -4
  298. package/dist/transport/messaging/send.js.map +1 -0
  299. package/dist/{endpoint/engine-types.d.ts → transport/messaging/types.d.ts} +7 -5
  300. package/dist/transport/messaging/types.d.ts.map +1 -0
  301. package/dist/{endpoint/engine-types.js → transport/messaging/types.js} +1 -1
  302. package/dist/{endpoint/engine-types.js.map → transport/messaging/types.js.map} +1 -1
  303. package/dist/transport/router/index.d.ts.map +1 -0
  304. package/dist/{endpoint/router-worker → transport/router}/index.js +1 -1
  305. package/dist/transport/router/index.js.map +1 -0
  306. package/dist/transport/router/outage.d.ts.map +1 -0
  307. package/dist/transport/router/outage.js.map +1 -0
  308. package/dist/{endpoint/router-worker → transport/router}/types.d.ts +2 -2
  309. package/dist/transport/router/types.d.ts.map +1 -0
  310. package/dist/transport/router/types.js.map +1 -0
  311. package/dist/{endpoint/representation-canonical.d.ts → transport/wire/canonical.d.ts} +1 -1
  312. package/dist/transport/wire/canonical.d.ts.map +1 -0
  313. package/dist/{endpoint/representation-canonical.js → transport/wire/canonical.js} +1 -1
  314. package/dist/transport/wire/canonical.js.map +1 -0
  315. package/dist/{endpoint/representation-codec.d.ts → transport/wire/codec.d.ts} +5 -6
  316. package/dist/transport/wire/codec.d.ts.map +1 -0
  317. package/dist/{endpoint/representation-codec.js → transport/wire/codec.js} +5 -24
  318. package/dist/transport/wire/codec.js.map +1 -0
  319. package/dist/transport/wire/index.d.ts +7 -0
  320. package/dist/transport/wire/index.d.ts.map +1 -0
  321. package/dist/transport/wire/index.js +10 -0
  322. package/dist/transport/wire/index.js.map +1 -0
  323. package/dist/{endpoint/representation-schemas.d.ts → transport/wire/schemas.d.ts} +76 -98
  324. package/dist/transport/wire/schemas.d.ts.map +1 -0
  325. package/dist/{endpoint/representation-schemas.js → transport/wire/schemas.js} +7 -19
  326. package/dist/transport/wire/schemas.js.map +1 -0
  327. package/dist/transport/wire/values.d.ts +79 -0
  328. package/dist/transport/wire/values.d.ts.map +1 -0
  329. package/dist/transport/wire/values.js +115 -0
  330. package/dist/transport/wire/values.js.map +1 -0
  331. package/dist/{endpoint/representation-verification.d.ts → transport/wire/verification.d.ts} +4 -4
  332. package/dist/transport/wire/verification.d.ts.map +1 -0
  333. package/dist/{endpoint/representation-verification.js → transport/wire/verification.js} +5 -4
  334. package/dist/transport/wire/verification.js.map +1 -0
  335. package/package.json +6 -6
  336. package/dist/client-runtime.d.ts.map +0 -1
  337. package/dist/client-runtime.js.map +0 -1
  338. package/dist/contract.d.ts +0 -721
  339. package/dist/contract.d.ts.map +0 -1
  340. package/dist/contract.js +0 -441
  341. package/dist/contract.js.map +0 -1
  342. package/dist/contract.types-check.d.ts.map +0 -1
  343. package/dist/contract.types-check.js.map +0 -1
  344. package/dist/daemon/configuration.d.ts.map +0 -1
  345. package/dist/daemon/configuration.js.map +0 -1
  346. package/dist/daemon/management.d.ts.map +0 -1
  347. package/dist/daemon/management.js.map +0 -1
  348. package/dist/daemon/registration.d.ts.map +0 -1
  349. package/dist/daemon/registration.js.map +0 -1
  350. package/dist/daemon/runtime/activation.d.ts.map +0 -1
  351. package/dist/daemon/runtime/activation.js.map +0 -1
  352. package/dist/daemon/runtime/controller.d.ts.map +0 -1
  353. package/dist/daemon/runtime/controller.js +0 -138
  354. package/dist/daemon/runtime/controller.js.map +0 -1
  355. package/dist/daemon/runtime/history-export.d.ts +0 -33
  356. package/dist/daemon/runtime/history-export.d.ts.map +0 -1
  357. package/dist/daemon/runtime/history-export.js.map +0 -1
  358. package/dist/daemon/runtime/index.d.ts.map +0 -1
  359. package/dist/daemon/runtime/index.js.map +0 -1
  360. package/dist/daemon/runtime/pending-delivery.d.ts +0 -49
  361. package/dist/daemon/runtime/pending-delivery.d.ts.map +0 -1
  362. package/dist/daemon/runtime/pending-delivery.js.map +0 -1
  363. package/dist/daemon/runtime/protocol.d.ts.map +0 -1
  364. package/dist/daemon/runtime/protocol.js.map +0 -1
  365. package/dist/endpoint/addressing/index.d.ts.map +0 -1
  366. package/dist/endpoint/addressing/index.js.map +0 -1
  367. package/dist/endpoint/collective/operation.d.ts.map +0 -1
  368. package/dist/endpoint/collective/operation.js.map +0 -1
  369. package/dist/endpoint/collective/received-request.d.ts.map +0 -1
  370. package/dist/endpoint/collective/received-request.js.map +0 -1
  371. package/dist/endpoint/collective/request-sends.d.ts.map +0 -1
  372. package/dist/endpoint/collective/request-sends.js.map +0 -1
  373. package/dist/endpoint/collective/shared-answers.d.ts.map +0 -1
  374. package/dist/endpoint/collective/shared-answers.js.map +0 -1
  375. package/dist/endpoint/collective/validation.d.ts.map +0 -1
  376. package/dist/endpoint/collective/validation.js.map +0 -1
  377. package/dist/endpoint/collective/wire.d.ts.map +0 -1
  378. package/dist/endpoint/collective/wire.js.map +0 -1
  379. package/dist/endpoint/engine-dissemination.d.ts.map +0 -1
  380. package/dist/endpoint/engine-dissemination.js.map +0 -1
  381. package/dist/endpoint/engine-durability.js.map +0 -1
  382. package/dist/endpoint/engine-send.d.ts.map +0 -1
  383. package/dist/endpoint/engine-send.js.map +0 -1
  384. package/dist/endpoint/engine-types.d.ts.map +0 -1
  385. package/dist/endpoint/engine.d.ts.map +0 -1
  386. package/dist/endpoint/engine.js.map +0 -1
  387. package/dist/endpoint/protocol/evidence.js.map +0 -1
  388. package/dist/endpoint/protocol/index.d.ts.map +0 -1
  389. package/dist/endpoint/protocol/index.js.map +0 -1
  390. package/dist/endpoint/recovery/barrier.d.ts.map +0 -1
  391. package/dist/endpoint/recovery/barrier.js.map +0 -1
  392. package/dist/endpoint/recovery/index.d.ts.map +0 -1
  393. package/dist/endpoint/recovery/index.js.map +0 -1
  394. package/dist/endpoint/recovery/reanchor/empty.d.ts.map +0 -1
  395. package/dist/endpoint/recovery/reanchor/empty.js.map +0 -1
  396. package/dist/endpoint/recovery/reanchor/index.d.ts.map +0 -1
  397. package/dist/endpoint/recovery/reanchor/index.js.map +0 -1
  398. package/dist/endpoint/recovery/state.d.ts.map +0 -1
  399. package/dist/endpoint/recovery/state.js.map +0 -1
  400. package/dist/endpoint/recovery/store-evidence.d.ts.map +0 -1
  401. package/dist/endpoint/recovery/store-evidence.js.map +0 -1
  402. package/dist/endpoint/recovery/store.d.ts.map +0 -1
  403. package/dist/endpoint/recovery/store.js.map +0 -1
  404. package/dist/endpoint/representation-canonical.d.ts.map +0 -1
  405. package/dist/endpoint/representation-canonical.js.map +0 -1
  406. package/dist/endpoint/representation-codec.d.ts.map +0 -1
  407. package/dist/endpoint/representation-codec.js.map +0 -1
  408. package/dist/endpoint/representation-schemas.d.ts.map +0 -1
  409. package/dist/endpoint/representation-schemas.js.map +0 -1
  410. package/dist/endpoint/representation-verification.d.ts.map +0 -1
  411. package/dist/endpoint/representation-verification.js.map +0 -1
  412. package/dist/endpoint/representation.d.ts +0 -6
  413. package/dist/endpoint/representation.d.ts.map +0 -1
  414. package/dist/endpoint/representation.js +0 -8
  415. package/dist/endpoint/representation.js.map +0 -1
  416. package/dist/endpoint/router-worker/index.d.ts.map +0 -1
  417. package/dist/endpoint/router-worker/index.js.map +0 -1
  418. package/dist/endpoint/router-worker/outage.d.ts.map +0 -1
  419. package/dist/endpoint/router-worker/outage.js.map +0 -1
  420. package/dist/endpoint/router-worker/types.d.ts.map +0 -1
  421. package/dist/endpoint/router-worker/types.js.map +0 -1
  422. package/dist/endpoint/store/anchors.d.ts.map +0 -1
  423. package/dist/endpoint/store/anchors.js.map +0 -1
  424. package/dist/endpoint/store/database/index.d.ts.map +0 -1
  425. package/dist/endpoint/store/database/index.js.map +0 -1
  426. package/dist/endpoint/store/database/schema.d.ts.map +0 -1
  427. package/dist/endpoint/store/database/schema.js.map +0 -1
  428. package/dist/endpoint/store/database/values.d.ts.map +0 -1
  429. package/dist/endpoint/store/database/values.js.map +0 -1
  430. package/dist/endpoint/store/deliveries.d.ts.map +0 -1
  431. package/dist/endpoint/store/deliveries.js.map +0 -1
  432. package/dist/endpoint/store/dissemination.d.ts.map +0 -1
  433. package/dist/endpoint/store/dissemination.js.map +0 -1
  434. package/dist/endpoint/store/index.d.ts.map +0 -1
  435. package/dist/endpoint/store/index.js.map +0 -1
  436. package/dist/endpoint/store/management.d.ts.map +0 -1
  437. package/dist/endpoint/store/management.js.map +0 -1
  438. package/dist/endpoint/store/outbound.d.ts.map +0 -1
  439. package/dist/endpoint/store/outbound.js.map +0 -1
  440. package/dist/endpoint/store/records.d.ts.map +0 -1
  441. package/dist/endpoint/store/records.js.map +0 -1
  442. package/dist/endpoint/store/rows/index.d.ts.map +0 -1
  443. package/dist/endpoint/store/rows/index.js.map +0 -1
  444. package/dist/endpoint/store/types.d.ts.map +0 -1
  445. package/dist/endpoint/store/types.js.map +0 -1
  446. package/dist/endpoint/store.d.ts +0 -10
  447. package/dist/endpoint/store.d.ts.map +0 -1
  448. package/dist/endpoint/store.js +0 -6
  449. package/dist/endpoint/store.js.map +0 -1
  450. package/dist/harness-mcp-contract.d.ts.map +0 -1
  451. package/dist/harness-mcp-contract.js +0 -113
  452. package/dist/harness-mcp-contract.js.map +0 -1
  453. package/dist/harness-mcp-http.d.ts.map +0 -1
  454. package/dist/harness-mcp-http.js.map +0 -1
  455. package/dist/harness-mcp-subscription.d.ts +0 -30
  456. package/dist/harness-mcp-subscription.d.ts.map +0 -1
  457. package/dist/harness-mcp-subscription.js +0 -361
  458. package/dist/harness-mcp-subscription.js.map +0 -1
  459. package/dist/harness-mcp-wire.d.ts.map +0 -1
  460. package/dist/harness-mcp-wire.js.map +0 -1
  461. package/dist/management-runtime.d.ts.map +0 -1
  462. package/dist/management-runtime.js.map +0 -1
  463. package/dist/message-text.d.ts.map +0 -1
  464. package/dist/message-text.js.map +0 -1
  465. package/dist/server.d.ts.map +0 -1
  466. package/dist/server.js.map +0 -1
  467. package/dist/server.types-check.d.ts.map +0 -1
  468. package/dist/server.types-check.js.map +0 -1
  469. /package/dist/{endpoint/store → store}/anchors.d.ts +0 -0
  470. /package/dist/{endpoint/store → store}/anchors.js +0 -0
  471. /package/dist/{endpoint/store → store}/database/index.d.ts +0 -0
  472. /package/dist/{endpoint/store → store}/database/index.js +0 -0
  473. /package/dist/{endpoint/store → store}/database/schema.d.ts +0 -0
  474. /package/dist/{endpoint/store → store}/database/values.d.ts +0 -0
  475. /package/dist/{endpoint/store → store}/database/values.js +0 -0
  476. /package/dist/{endpoint/store → store}/dissemination.d.ts +0 -0
  477. /package/dist/{endpoint/store → store}/dissemination.js +0 -0
  478. /package/dist/{endpoint/store → store}/outbound.d.ts +0 -0
  479. /package/dist/{endpoint/store → store}/outbound.js +0 -0
  480. /package/dist/{endpoint/store → store}/records.d.ts +0 -0
  481. /package/dist/{endpoint/store → store}/records.js +0 -0
  482. /package/dist/{endpoint/store → store}/rows/index.d.ts +0 -0
  483. /package/dist/{endpoint/store → store}/rows/index.js +0 -0
  484. /package/dist/{endpoint/store → store}/types.js +0 -0
  485. /package/dist/{endpoint/collective → transport/collectives}/received-request.js +0 -0
  486. /package/dist/{endpoint/collective → transport/collectives}/request-sends.js +0 -0
  487. /package/dist/{endpoint/collective → transport/collectives}/shared-answers.js +0 -0
  488. /package/dist/{endpoint → transport/messaging}/recovery/barrier.js +0 -0
  489. /package/dist/{endpoint/router-worker → transport/router}/index.d.ts +0 -0
  490. /package/dist/{endpoint/router-worker → transport/router}/outage.d.ts +0 -0
  491. /package/dist/{endpoint/router-worker → transport/router}/outage.js +0 -0
  492. /package/dist/{endpoint/router-worker → transport/router}/types.js +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"operations.d.ts","sourceRoot":"","sources":["../../src/delivery/operations.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,162 @@
1
+ /** @file The values harness operations take, return and persist: sends, inbox pages, events and acknowledgments. */
2
+ import { Effect, Schema } from "effect";
3
+ import { DeliveryToken, } from "../store/types.js";
4
+ import { CollectiveId, decodeCollectiveFailure, SendInput, } from "../transport/collectives/forms.js";
5
+ import { InboundItem } from "../transport/collectives/inbound.js";
6
+ import { exactStruct } from "../transport/wire/values.js";
7
+ const exact = {
8
+ exact: true,
9
+ onExcessProperty: "error",
10
+ };
11
+ /** Canonical event identities reuse the immutable inbox binding's random bytes. */
12
+ export const eventIdSchema = Schema.String.pipe(Schema.pattern(/^evt_[A-Za-z0-9_-]{42}[AEIMQUYcgkosw048]$/u));
13
+ /** Read-only content lookup never acknowledges or retries delivery. */
14
+ export const readEventRequestSchema = exactStruct({ eventId: eventIdSchema });
15
+ /** The original classified payload, including after its handoff. */
16
+ export const readEventResultSchema = exactStruct({ item: InboundItem });
17
+ /** A delivery acknowledgment names the delivery it retires. */
18
+ export const harnessAcknowledgeDeliveryRequestSchema = exactStruct({
19
+ deliveryToken: DeliveryToken,
20
+ });
21
+ const utf8 = new TextEncoder();
22
+ const invocationKey = Schema.String.pipe(Schema.minLength(1), Schema.maxLength(128), Schema.filter((value) => !value.includes("\u0000") && utf8.encode(value).byteLength <= 128));
23
+ /**
24
+ * Runtime identity and routing of a refused gather or response.
25
+ * `inbound` is for a host whose tool returns before the
26
+ * send: the call completes and the error arrives as an `operationFailed`
27
+ * item. The default returns it as the tool error.
28
+ */
29
+ export const harnessSendOptionsSchema = exactStruct({
30
+ idempotencyKey: Schema.optionalWith(invocationKey, { exact: true }),
31
+ failureDelivery: Schema.optionalWith(Schema.Literal("result", "inbound"), {
32
+ exact: true,
33
+ }),
34
+ });
35
+ /** The model-visible arguments of one send. */
36
+ export const harnessSendArgumentsSchema = exactStruct({ input: SendInput });
37
+ const harnessSendRequestSchema = exactStruct({
38
+ ...harnessSendArgumentsSchema.fields,
39
+ ...harnessSendOptionsSchema.fields,
40
+ });
41
+ /**
42
+ * A completed operation. A collecting operation names the id its answers and
43
+ * result carry; a multicast has none, so its result is empty.
44
+ */
45
+ export const harnessSendResultSchema = exactStruct({
46
+ operationId: Schema.optionalWith(CollectiveId, { exact: true }),
47
+ });
48
+ const harnessMessageReadyEventSchema = exactStruct({
49
+ deliveryToken: DeliveryToken,
50
+ item: InboundItem,
51
+ });
52
+ /** One page request over the classified inbox. */
53
+ export const inboxRequestSchema = exactStruct({
54
+ cursor: Schema.optionalWith(Schema.String, { exact: true }),
55
+ });
56
+ /** One page of classified deliveries and the cursor after it. */
57
+ export const inboxResultSchema = exactStruct({
58
+ items: Schema.Array(harnessMessageReadyEventSchema),
59
+ nextCursor: Schema.optionalWith(Schema.String, { exact: true }),
60
+ });
61
+ /** Caller-selected identity of one previously attempted send. */
62
+ export const readSendRequestSchema = exactStruct({
63
+ idempotencyKey: invocationKey,
64
+ });
65
+ /**
66
+ * The JSON-RPC error data of a refused `send_message`: a `SendError` reason
67
+ * with the detail naming its specific cause, or a refused collective send with its id and the failure naming each
68
+ * unreachable member or failing field, which `decodeCollectiveFailure`
69
+ * validates.
70
+ */
71
+ const harnessSendErrorDataSchema = Schema.Union(exactStruct({
72
+ reason: Schema.Literal("collective-failed"),
73
+ id: CollectiveId,
74
+ failure: Schema.Unknown,
75
+ }), exactStruct({
76
+ reason: Schema.String,
77
+ detail: Schema.optionalWith(Schema.String, { exact: true }),
78
+ }));
79
+ /** Exact retained result of one invocation; failure is not proof of no post. */
80
+ const harnessSendOutcomeSchema = Schema.Union(exactStruct({
81
+ kind: Schema.Literal("success"),
82
+ result: harnessSendResultSchema,
83
+ }), exactStruct({
84
+ kind: Schema.Literal("failure"),
85
+ error: harnessSendErrorDataSchema,
86
+ }));
87
+ /** Observed invocation evidence without a collective completion claim. */
88
+ // eslint-disable-next-line agent-code-guard/no-exported-brand-constructor -- The MCP catalog projects the closed send-state union to JSON Schema.
89
+ export const readSendResultSchema = Schema.Union(exactStruct({ state: Schema.Literal("absent") }), exactStruct({
90
+ state: Schema.Literal("pending", "indeterminate"),
91
+ input: SendInput,
92
+ }), exactStruct({
93
+ state: Schema.Literal("returned"),
94
+ input: SendInput,
95
+ outcome: harnessSendOutcomeSchema,
96
+ }));
97
+ /** Validate the persisted wire outcome before reconstructing a typed send result. */
98
+ export const decodeHarnessSendOutcome = Schema.decodeUnknown(harnessSendOutcomeSchema);
99
+ /** Decode a bounded inbox page received through the MCP transport. */
100
+ export const decodeHarnessReadInboxResult = Schema.decodeUnknown(inboxResultSchema);
101
+ /** Validate the keyed lookup at the tool boundary, including its UTF-8 bound. */
102
+ export const decodeHarnessReadSendRequest = Schema.decodeUnknown(readSendRequestSchema);
103
+ /** Validate a daemon invocation before binding its input in the durable store. */
104
+ export const decodeHarnessSendRequest = Schema.decodeUnknown(harnessSendRequestSchema);
105
+ /**
106
+ * The error data a refused send carries across the daemon boundary and into
107
+ * its durable invocation record: a collective failure keeps its id and the
108
+ * members or fields it names, and a send failure keeps the detail naming its
109
+ * cause, so the receiving side rebuilds the same typed error and message.
110
+ * @param error The refused send's typed error.
111
+ * @returns The JSON error data.
112
+ */
113
+ export function sendErrorData(error) {
114
+ if (error._tag === "CollectiveError") {
115
+ return {
116
+ reason: "collective-failed",
117
+ id: error.id,
118
+ failure: error.failure,
119
+ };
120
+ }
121
+ if (error.detail === undefined) {
122
+ return { reason: error.reason };
123
+ }
124
+ return { reason: error.reason, detail: error.detail };
125
+ }
126
+ /**
127
+ * Decode one exact delivery acknowledgment request.
128
+ * @param value Untrusted tool arguments.
129
+ * @returns The validated request.
130
+ */
131
+ export function decodeHarnessAcknowledgeDeliveryRequest(value) {
132
+ return Schema.decodeUnknown(harnessAcknowledgeDeliveryRequestSchema)(value, exact);
133
+ }
134
+ /**
135
+ * Decode one exact pending-delivery notification payload.
136
+ * @param value Untrusted notification parameters.
137
+ * @returns The validated pending delivery.
138
+ */
139
+ export function decodeHarnessMessageReadyEvent(value) {
140
+ return Schema.decodeUnknown(harnessMessageReadyEventSchema)(value, exact);
141
+ }
142
+ /**
143
+ * Decode the error data of one refused `send_message` call.
144
+ * @param value Untrusted JSON-RPC error data.
145
+ * @returns The collective failure or send reason it carries.
146
+ */
147
+ export function decodeHarnessSendErrorData(value) {
148
+ return Schema.decodeUnknown(harnessSendErrorDataSchema)(value, exact).pipe(Effect.flatMap((data) => "failure" in data
149
+ ? decodeCollectiveFailure(data.failure).pipe(Effect.map((failure) => ({ ...data, failure })))
150
+ : Effect.succeed(data)));
151
+ }
152
+ /**
153
+ * Decode one `send_message` result.
154
+ * @param value Untrusted structured tool content.
155
+ * @returns The operation id a gather names, if any.
156
+ */
157
+ export function decodeHarnessSendResult(value) {
158
+ return Schema.decodeUnknown(harnessSendResultSchema)(value, exact);
159
+ }
160
+ /** Reversible naming keeps lookup independent of subscription and retry state. */
161
+ export const eventIdOf = (token) => `evt_${token.slice(4)}`;
162
+ //# sourceMappingURL=operations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"operations.js","sourceRoot":"","sources":["../../src/delivery/operations.ts"],"names":[],"mappings":"AAAA,oHAAoH;AAEpH,OAAO,EAAE,MAAM,EAAoB,MAAM,EAAkB,MAAM,QAAQ,CAAC;AAE1E,OAAO,EACL,aAAa,GAGd,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAEL,YAAY,EACZ,uBAAuB,EACvB,SAAS,GACV,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAE1D,MAAM,KAAK,GAA2B;IACpC,KAAK,EAAE,IAAI;IACX,gBAAgB,EAAE,OAAO;CAC1B,CAAC;AAEF,mFAAmF;AACnF,MAAM,CAAC,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAC7C,MAAM,CAAC,OAAO,CAAC,4CAA4C,CAAC,CAC7D,CAAC;AACF,uEAAuE;AACvE,MAAM,CAAC,MAAM,sBAAsB,GAAG,WAAW,CAAC,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,CAAC;AAC9E,oEAAoE;AACpE,MAAM,CAAC,MAAM,qBAAqB,GAAG,WAAW,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;AAExE,+DAA+D;AAC/D,MAAM,CAAC,MAAM,uCAAuC,GAAG,WAAW,CAAC;IACjE,aAAa,EAAE,aAAa;CAC7B,CAAC,CAAC;AAEH,MAAM,IAAI,GAAG,IAAI,WAAW,EAAE,CAAC;AAC/B,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CACtC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EACnB,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,EACrB,MAAM,CAAC,MAAM,CACX,CAAC,KAAK,EAAE,EAAE,CACR,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,UAAU,IAAI,GAAG,CACpE,CACF,CAAC;AACF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,WAAW,CAAC;IAClD,cAAc,EAAE,MAAM,CAAC,YAAY,CAAC,aAAa,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IACnE,eAAe,EAAE,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,SAAS,CAAC,EAAE;QACxE,KAAK,EAAE,IAAI;KACZ,CAAC;CACH,CAAC,CAAC;AACH,+CAA+C;AAC/C,MAAM,CAAC,MAAM,0BAA0B,GAAG,WAAW,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;AAC5E,MAAM,wBAAwB,GAAG,WAAW,CAAC;IAC3C,GAAG,0BAA0B,CAAC,MAAM;IACpC,GAAG,wBAAwB,CAAC,MAAM;CACnC,CAAC,CAAC;AACH;;;GAGG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,WAAW,CAAC;IACjD,WAAW,EAAE,MAAM,CAAC,YAAY,CAAC,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;CAChE,CAAC,CAAC;AACH,MAAM,8BAA8B,GAAG,WAAW,CAAC;IACjD,aAAa,EAAE,aAAa;IAC5B,IAAI,EAAE,WAAW;CAClB,CAAC,CAAC;AAEH,kDAAkD;AAClD,MAAM,CAAC,MAAM,kBAAkB,GAAG,WAAW,CAAC;IAC5C,MAAM,EAAE,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;CAC5D,CAAC,CAAC;AACH,iEAAiE;AACjE,MAAM,CAAC,MAAM,iBAAiB,GAAG,WAAW,CAAC;IAC3C,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,8BAA8B,CAAC;IACnD,UAAU,EAAE,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;CAChE,CAAC,CAAC;AACH,iEAAiE;AACjE,MAAM,CAAC,MAAM,qBAAqB,GAAG,WAAW,CAAC;IAC/C,cAAc,EAAE,aAAa;CAC9B,CAAC,CAAC;AAEH;;;;;GAKG;AACH,MAAM,0BAA0B,GAAG,MAAM,CAAC,KAAK,CAC7C,WAAW,CAAC;IACV,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,mBAAmB,CAAC;IAC3C,EAAE,EAAE,YAAY;IAChB,OAAO,EAAE,MAAM,CAAC,OAAO;CACxB,CAAC,EACF,WAAW,CAAC;IACV,MAAM,EAAE,MAAM,CAAC,MAAM;IACrB,MAAM,EAAE,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;CAC5D,CAAC,CACH,CAAC;AAEF,gFAAgF;AAChF,MAAM,wBAAwB,GAAG,MAAM,CAAC,KAAK,CAC3C,WAAW,CAAC;IACV,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC;IAC/B,MAAM,EAAE,uBAAuB;CAChC,CAAC,EACF,WAAW,CAAC;IACV,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC;IAC/B,KAAK,EAAE,0BAA0B;CAClC,CAAC,CACH,CAAC;AAEF,0EAA0E;AAC1E,kJAAkJ;AAClJ,MAAM,CAAC,MAAM,oBAAoB,GAAG,MAAM,CAAC,KAAK,CAC9C,WAAW,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,EAChD,WAAW,CAAC;IACV,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE,eAAe,CAAC;IACjD,KAAK,EAAE,SAAS;CACjB,CAAC,EACF,WAAW,CAAC;IACV,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC;IACjC,KAAK,EAAE,SAAS;IAChB,OAAO,EAAE,wBAAwB;CAClC,CAAC,CACH,CAAC;AAEF,qFAAqF;AACrF,MAAM,CAAC,MAAM,wBAAwB,GAAG,MAAM,CAAC,aAAa,CAC1D,wBAAwB,CACzB,CAAC;AAaF,sEAAsE;AACtE,MAAM,CAAC,MAAM,4BAA4B,GACvC,MAAM,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC;AAC1C,iFAAiF;AACjF,MAAM,CAAC,MAAM,4BAA4B,GAAG,MAAM,CAAC,aAAa,CAC9D,qBAAqB,CACtB,CAAC;AACF,kFAAkF;AAClF,MAAM,CAAC,MAAM,wBAAwB,GAAG,MAAM,CAAC,aAAa,CAC1D,wBAAwB,CACzB,CAAC;AAuBF;;;;;;;GAOG;AACH,MAAM,UAAU,aAAa,CAC3B,KAAkC;IAElC,IAAI,KAAK,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;QACrC,OAAO;YACL,MAAM,EAAE,mBAAmB;YAC3B,EAAE,EAAE,KAAK,CAAC,EAAE;YACZ,OAAO,EAAE,KAAK,CAAC,OAAO;SACvB,CAAC;IACJ,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAC/B,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC;IAClC,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC;AACxD,CAAC;AASD;;;;GAIG;AACH,MAAM,UAAU,uCAAuC,CACrD,KAAc;IAEd,OAAO,MAAM,CAAC,aAAa,CAAC,uCAAuC,CAAC,CAClE,KAAK,EACL,KAAK,CACN,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,8BAA8B,CAC5C,KAAc;IAEd,OAAO,MAAM,CAAC,aAAa,CAAC,8BAA8B,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AAC5E,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,0BAA0B,CACxC,KAAc;IAEd,OAAO,MAAM,CAAC,aAAa,CAAC,0BAA0B,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,IAAI,CACxE,MAAM,CAAC,OAAO,CACZ,CAAC,IAAI,EAA+D,EAAE,CACpE,SAAS,IAAI,IAAI;QACf,CAAC,CAAC,uBAAuB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CACxC,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,CAChD;QACH,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAC3B,CACF,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,uBAAuB,CACrC,KAAc;IAEd,OAAO,MAAM,CAAC,aAAa,CAAC,uBAAuB,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AACrE,CAAC;AAaD,kFAAkF;AAClF,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,KAAoB,EAAU,EAAE,CACxD,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC"}
@@ -0,0 +1,91 @@
1
+ /**
2
+ * @file The delivery state one service keeps, and one pass over pending
3
+ * deliveries: the collective layer classifies each durable delivery, consumed
4
+ * ones are acknowledged, and the remaining items and the layer's own are
5
+ * published in order while a subscriber takes them.
6
+ */
7
+ import { Effect } from "effect";
8
+ import type { EndpointStoreError } from "../store/index.js";
9
+ import type { DeliveryToken } from "../store/types.js";
10
+ import type { CollectiveEmitError } from "../transport/collectives/forms.js";
11
+ import type { InboundItem } from "../transport/collectives/inbound.js";
12
+ import type { CollectiveOperations } from "../transport/collectives/index.js";
13
+ import type { EndpointEngine, EnginePendingMessage } from "../transport/messaging/index.js";
14
+ import type { HistoryExportPort } from "./history-export.js";
15
+ import type { HarnessMessageReadyEvent } from "./operations.js";
16
+ /**
17
+ * One instance per service, shared by the delivery pass, host reads,
18
+ * acknowledgments and webhook receipts. `gate` serializes those so an item is
19
+ * exported once and retired once. Emitting a local item never waits on it:
20
+ * the collective layer can emit from inside a pass that already holds it.
21
+ */
22
+ export interface DeliveryState {
23
+ readonly gate: Effect.Semaphore;
24
+ /** Deliveries the attached subscriber already took. */
25
+ readonly publishedDeliveries: Set<string>;
26
+ /** Deliveries whose item the history export already recorded. */
27
+ readonly exportedDeliveries: Set<string>;
28
+ /** The item each unacknowledged durable delivery classified into. */
29
+ readonly classifiedItems: Map<string, InboundItem>;
30
+ /**
31
+ * Items the collective layer emitted, in emission order, each under a
32
+ * service-minted delivery token until the host acknowledges it. They are
33
+ * durable before insertion; this map caches the current process values.
34
+ */
35
+ readonly localItems: Map<DeliveryToken, InboundItem>;
36
+ }
37
+ /** Empty delivery state with its own gate. */
38
+ export declare const makeDeliveryState: Effect.Effect<DeliveryState>;
39
+ /**
40
+ * Drop a retired delivery from every process-local cache.
41
+ * @param state The shared delivery state.
42
+ * @param deliveryToken The retired delivery.
43
+ * @returns Completion once the caches no longer hold it.
44
+ */
45
+ export declare const forgetDelivery: (state: DeliveryState, deliveryToken: DeliveryToken) => Effect.Effect<void>;
46
+ /**
47
+ * Record a delivery's item in the history export the first time any path
48
+ * offers or reads it. The item is read only on that first time, so a caller
49
+ * holding stored bytes decodes them only when the line is written.
50
+ * @param state The shared delivery state.
51
+ * @param historyExport The export the line goes to.
52
+ * @param deliveryToken The delivery the item belongs to.
53
+ * @param item The item, read only when the delivery is not yet exported.
54
+ * @returns Completion once the line is recorded or was already recorded.
55
+ */
56
+ export declare const exportOnce: <E>(state: DeliveryState, historyExport: HistoryExportPort, deliveryToken: DeliveryToken, item: Effect.Effect<InboundItem, E>) => Effect.Effect<void, E>;
57
+ /** The subscriber's publish edge; false means it refused the event. */
58
+ interface Subscriber {
59
+ readonly publish: (event: HarnessMessageReadyEvent) => boolean;
60
+ }
61
+ /** What one pass over pending deliveries reads and changes. */
62
+ export interface PendingOffer {
63
+ readonly engine: Pick<EndpointEngine, "acknowledgeMessage">;
64
+ readonly classify: CollectiveOperations["classify"];
65
+ /** Classified items are durable even while no host is attached. */
66
+ readonly persist: (event: HarnessMessageReadyEvent) => Effect.Effect<void, EndpointStoreError>;
67
+ /** The attached subscriber, absent while none is attached. */
68
+ readonly handler?: Subscriber;
69
+ readonly historyExport: HistoryExportPort;
70
+ /**
71
+ * The service's delivery state. Its classified items let a delivery be
72
+ * decoded and classified once rather than on every pass.
73
+ */
74
+ readonly state: DeliveryState;
75
+ }
76
+ /**
77
+ * Offer pending deliveries in order, then the collective layer's own items.
78
+ * Every durable delivery is classified: the layer consumes protocol posts,
79
+ * which are acknowledged here whether or not a subscriber is attached, so
80
+ * answers are recorded and deadlines complete with nobody listening. Items
81
+ * are published while a subscriber accepts them; after the first refusal,
82
+ * or with no subscriber, they stay pending for a later pass.
83
+ * @param offer The engine, classifier and subscriber, and the delivery state
84
+ * whose local items follow the durable deliveries.
85
+ * @param messages Pending durable deliveries in order.
86
+ * @returns Completion after every delivery is consumed or offered, or the
87
+ * store's failure to keep a classified or emitted item, which ends the pass.
88
+ */
89
+ export declare const offerPendingMessages: (offer: PendingOffer, messages: readonly EnginePendingMessage[]) => Effect.Effect<void, EndpointStoreError | CollectiveEmitError>;
90
+ export {};
91
+ //# sourceMappingURL=pass.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pass.d.ts","sourceRoot":"","sources":["../../src/delivery/pass.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAY,MAAM,EAAU,MAAM,QAAQ,CAAC;AAClD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAC7E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAC;AACvE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AAC9E,OAAO,KAAK,EACV,cAAc,EACd,oBAAoB,EACrB,MAAM,iCAAiC,CAAC;AACzC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;AAEhE;;;;;GAKG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,SAAS,CAAC;IAChC,uDAAuD;IACvD,QAAQ,CAAC,mBAAmB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC1C,iEAAiE;IACjE,QAAQ,CAAC,kBAAkB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACzC,qEAAqE;IACrE,QAAQ,CAAC,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACnD;;;;OAIG;IACH,QAAQ,CAAC,UAAU,EAAE,GAAG,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;CACtD;AAED,8CAA8C;AAC9C,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,CAAC,aAAa,CAS1D,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,cAAc,UAClB,aAAa,iBACL,aAAa,KAC3B,MAAM,CAAC,MAAM,CAAC,IAAI,CAMjB,CAAC;AAEL;;;;;;;;;GASG;AACH,eAAO,MAAM,UAAU,GAAI,CAAC,SACnB,aAAa,iBACL,iBAAiB,iBACjB,aAAa,QACtB,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,KAClC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAQoB,CAAC;AAE7C,uEAAuE;AACvE,UAAU,UAAU;IAClB,QAAQ,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,wBAAwB,KAAK,OAAO,CAAC;CAChE;AAED,+DAA+D;AAC/D,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,cAAc,EAAE,oBAAoB,CAAC,CAAC;IAC5D,QAAQ,CAAC,QAAQ,EAAE,oBAAoB,CAAC,UAAU,CAAC,CAAC;IACpD,mEAAmE;IACnE,QAAQ,CAAC,OAAO,EAAE,CAChB,KAAK,EAAE,wBAAwB,KAC5B,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAC;IAC7C,8DAA8D;IAC9D,QAAQ,CAAC,OAAO,CAAC,EAAE,UAAU,CAAC;IAC9B,QAAQ,CAAC,aAAa,EAAE,iBAAiB,CAAC;IAC1C;;;OAGG;IACH,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC;CAC/B;AA0HD;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,oBAAoB,UACxB,YAAY,YACT,SAAS,oBAAoB,EAAE,KACxC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,kBAAkB,GAAG,mBAAmB,CAkBb,CAAC"}
@@ -1,20 +1,56 @@
1
1
  /**
2
- * @file One pass over pending deliveries: the collective layer classifies
3
- * each durable delivery, consumed ones are acknowledged, and the remaining
4
- * items and the layer's own are published in order while a subscriber takes
5
- * them.
2
+ * @file The delivery state one service keeps, and one pass over pending
3
+ * deliveries: the collective layer classifies each durable delivery, consumed
4
+ * ones are acknowledged, and the remaining items and the layer's own are
5
+ * published in order while a subscriber takes them.
6
6
  */
7
- import { DateTime, Effect, Option, Schema } from "effect";
8
- import { randomBytes } from "node:crypto";
9
- import { DeliveryToken } from "../../endpoint/store.js";
7
+ import { DateTime, Effect, Option } from "effect";
8
+ /** Empty delivery state with its own gate. */
9
+ export const makeDeliveryState = Effect.map(Effect.makeSemaphore(1), (gate) => ({
10
+ gate,
11
+ publishedDeliveries: new Set(),
12
+ exportedDeliveries: new Set(),
13
+ classifiedItems: new Map(),
14
+ localItems: new Map(),
15
+ }));
16
+ /**
17
+ * Drop a retired delivery from every process-local cache.
18
+ * @param state The shared delivery state.
19
+ * @param deliveryToken The retired delivery.
20
+ * @returns Completion once the caches no longer hold it.
21
+ */
22
+ export const forgetDelivery = (state, deliveryToken) => Effect.sync(() => {
23
+ state.publishedDeliveries.delete(deliveryToken);
24
+ state.exportedDeliveries.delete(deliveryToken);
25
+ state.classifiedItems.delete(deliveryToken);
26
+ state.localItems.delete(deliveryToken);
27
+ });
28
+ /**
29
+ * Record a delivery's item in the history export the first time any path
30
+ * offers or reads it. The item is read only on that first time, so a caller
31
+ * holding stored bytes decodes them only when the line is written.
32
+ * @param state The shared delivery state.
33
+ * @param historyExport The export the line goes to.
34
+ * @param deliveryToken The delivery the item belongs to.
35
+ * @param item The item, read only when the delivery is not yet exported.
36
+ * @returns Completion once the line is recorded or was already recorded.
37
+ */
38
+ export const exportOnce = (state, historyExport, deliveryToken, item) => state.exportedDeliveries.has(deliveryToken)
39
+ ? Effect.void
40
+ : Effect.gen(function* () {
41
+ const inbound = yield* item;
42
+ const at = yield* DateTime.now;
43
+ yield* historyExport.record({ kind: "inbound", item: inbound, at });
44
+ state.exportedDeliveries.add(deliveryToken);
45
+ }).pipe(Effect.withSpan("exportOnce"));
10
46
  /**
11
47
  * Acknowledge a delivery the collective layer consumed. A failed
12
48
  * acknowledgment is logged and the delivery stays pending: the next pass
13
49
  * classifies it again, which records nothing twice because the requester
14
50
  * and every all_gather member keep only a member's first answer and a member
15
- * applies a close once, and acknowledges it again. It does
16
- * not end the daemon, whose store failures surface through the pending read
17
- * that starts every pass.
51
+ * applies a close once, and acknowledges it again. It does not end the
52
+ * pass: store failures end it through the pending read that starts it or
53
+ * the persistence of a classified item.
18
54
  */
19
55
  const acknowledgeConsumed = (offer, pending) => offer.engine
20
56
  .acknowledgeMessage(pending.deliveryToken)
@@ -33,30 +69,22 @@ const acknowledgeConsumed = (offer, pending) => offer.engine
33
69
  * the gate.
34
70
  */
35
71
  const publishItem = (offer, handler, event) => Effect.gen(function* () {
36
- if (!offer.exportedDeliveries.has(event.deliveryToken)) {
37
- const at = yield* DateTime.now;
38
- yield* offer.historyExport.record({
39
- kind: "inbound",
40
- item: event.item,
41
- at,
42
- });
43
- offer.exportedDeliveries.add(event.deliveryToken);
44
- }
72
+ yield* exportOnce(offer.state, offer.historyExport, event.deliveryToken, Effect.succeed(event.item));
45
73
  if (!handler.publish(event)) {
46
74
  return false;
47
75
  }
48
- offer.publishedDeliveries.add(event.deliveryToken);
76
+ offer.state.publishedDeliveries.add(event.deliveryToken);
49
77
  return true;
50
78
  });
51
79
  const classifyOnce = (offer, pending) => offer.classify(pending).pipe(Effect.flatMap(Option.match({
52
80
  onNone: () => acknowledgeConsumed(offer, pending).pipe(Effect.as(Option.none())),
53
- onSome: (item) => Effect.sync(() => {
54
- offer.classifiedItems.set(pending.deliveryToken, item);
81
+ onSome: (item) => offer.persist({ deliveryToken: pending.deliveryToken, item }).pipe(Effect.zipRight(Effect.sync(() => {
82
+ offer.state.classifiedItems.set(pending.deliveryToken, item);
55
83
  return Option.some({
56
84
  deliveryToken: pending.deliveryToken,
57
85
  item,
58
86
  });
59
- }),
87
+ }))),
60
88
  })));
61
89
  /**
62
90
  * Classify one durable delivery not yet published: acknowledge it when the
@@ -65,10 +93,10 @@ const classifyOnce = (offer, pending) => offer.classify(pending).pipe(Effect.fla
65
93
  */
66
94
  const classifyPending = (offer, pending) => {
67
95
  const { deliveryToken } = pending;
68
- if (offer.publishedDeliveries.has(deliveryToken)) {
96
+ if (offer.state.publishedDeliveries.has(deliveryToken)) {
69
97
  return Effect.succeed(Option.none());
70
98
  }
71
- const classified = offer.classifiedItems.get(deliveryToken);
99
+ const classified = offer.state.classifiedItems.get(deliveryToken);
72
100
  return classified === undefined
73
101
  ? classifyOnce(offer, pending)
74
102
  : Effect.succeed(Option.some({ deliveryToken, item: classified }));
@@ -76,7 +104,7 @@ const classifyPending = (offer, pending) => {
76
104
  /** Publish events in order, skipping published ones, until one is refused. */
77
105
  const publishInOrder = (offer, handler, events) => Effect.gen(function* () {
78
106
  for (const event of events) {
79
- if (offer.publishedDeliveries.has(event.deliveryToken)) {
107
+ if (offer.state.publishedDeliveries.has(event.deliveryToken)) {
80
108
  continue;
81
109
  }
82
110
  if (!(yield* publishItem(offer, handler, event))) {
@@ -91,12 +119,13 @@ const publishInOrder = (offer, handler, events) => Effect.gen(function* () {
91
119
  * answers are recorded and deadlines complete with nobody listening. Items
92
120
  * are published while a subscriber accepts them; after the first refusal,
93
121
  * or with no subscriber, they stay pending for a later pass.
94
- * @param offer The engine, classifier, subscriber and delivery bookkeeping.
122
+ * @param offer The engine, classifier and subscriber, and the delivery state
123
+ * whose local items follow the durable deliveries.
95
124
  * @param messages Pending durable deliveries in order.
96
- * @param localItems Items the collective layer emitted, in order.
97
- * @returns Completion after every delivery is consumed or offered.
125
+ * @returns Completion after every delivery is consumed or offered, or the
126
+ * store's failure to keep a classified or emitted item, which ends the pass.
98
127
  */
99
- export const offerPendingMessages = (offer, messages, localItems) => Effect.gen(function* () {
128
+ export const offerPendingMessages = (offer, messages) => Effect.gen(function* () {
100
129
  const classified = yield* Effect.forEach(messages, (pending) => classifyPending(offer, pending), { concurrency: 1 });
101
130
  const handler = offer.handler;
102
131
  if (handler === undefined) {
@@ -104,12 +133,10 @@ export const offerPendingMessages = (offer, messages, localItems) => Effect.gen(
104
133
  }
105
134
  yield* publishInOrder(offer, handler, [
106
135
  ...classified.flatMap((event) => Option.toArray(event)),
107
- ...[...localItems].map(([deliveryToken, item]) => ({
136
+ ...[...offer.state.localItems].map(([deliveryToken, item]) => ({
108
137
  deliveryToken,
109
138
  item,
110
139
  })),
111
140
  ]);
112
141
  }).pipe(Effect.withSpan("offerPendingMessages"));
113
- /** A delivery token for an item the collective layer emitted, held in memory. */
114
- export const mintLocalDeliveryToken = Effect.sync(() => Schema.decodeUnknownSync(DeliveryToken)(`dlv_${randomBytes(32).toString("base64url")}`));
115
- //# sourceMappingURL=pending-delivery.js.map
142
+ //# sourceMappingURL=pass.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pass.js","sourceRoot":"","sources":["../../src/delivery/pass.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,106 @@
1
+ /** @file Durable reservation of whole send invocations without protocol replay. */
2
+ import { Effect, type Scope } from "effect";
3
+ import { type EndpointStore } from "../store/index.js";
4
+ import { CollectiveError, type SendResult } from "../transport/collectives/forms.js";
5
+ import { SendError } from "../transport/messaging/errors.js";
6
+ import { type DeliveryOperations, type HarnessReadSendRequest, type HarnessSendRequest } from "./operations.js";
7
+ type SendFailure = SendError | CollectiveError;
8
+ /**
9
+ * Bind invocation keys before execution and retain observed outcomes, including
10
+ * failures. Restarted reservations remain indeterminate because this boundary
11
+ * does not replay the collective state machine, nonce or deadline.
12
+ * @param store Daemon-owned endpoint persistence.
13
+ * @param execute The underlying send operation, without retry behavior.
14
+ * @param scope Daemon lifetime, independent of the HTTP request.
15
+ * @returns Send and lookup operations sharing live invocation reservations.
16
+ */
17
+ export declare const makeSendInvocations: (store: EndpointStore, execute: DeliveryOperations["send"], scope: Scope.Scope) => Effect.Effect<{
18
+ send: (request: HarnessSendRequest) => Effect.Effect<SendResult, SendFailure, never>;
19
+ readSend: (request: HarnessReadSendRequest) => Effect.Effect<{
20
+ readonly state: "absent";
21
+ } | {
22
+ readonly state: "indeterminate" | "pending";
23
+ readonly input: {
24
+ readonly to: string & import("effect/Brand").Brand<"MessageAddressInput">;
25
+ readonly text: string;
26
+ readonly collective?: {
27
+ readonly op?: "multicast" | undefined;
28
+ } | {
29
+ readonly op: "all_gather" | "gather";
30
+ readonly deadline: number;
31
+ readonly requestedSchema: {
32
+ readonly $schema?: string | undefined;
33
+ readonly type: "object";
34
+ readonly properties: {
35
+ readonly [x: string]: {
36
+ readonly [x: string]: import("../index.js").JsonValue;
37
+ };
38
+ };
39
+ readonly required?: readonly string[] | undefined;
40
+ };
41
+ } | undefined;
42
+ } | {
43
+ readonly to: string & import("effect/Brand").Brand<"MessageAddressInput">;
44
+ readonly collectiveResponse: {
45
+ readonly action: "accept";
46
+ readonly content: {
47
+ readonly [x: string]: string | number | boolean | readonly string[];
48
+ };
49
+ } | {
50
+ readonly action: "decline";
51
+ };
52
+ };
53
+ } | {
54
+ readonly state: "returned";
55
+ readonly input: {
56
+ readonly to: string & import("effect/Brand").Brand<"MessageAddressInput">;
57
+ readonly text: string;
58
+ readonly collective?: {
59
+ readonly op?: "multicast" | undefined;
60
+ } | {
61
+ readonly op: "all_gather" | "gather";
62
+ readonly deadline: number;
63
+ readonly requestedSchema: {
64
+ readonly $schema?: string | undefined;
65
+ readonly type: "object";
66
+ readonly properties: {
67
+ readonly [x: string]: {
68
+ readonly [x: string]: import("../index.js").JsonValue;
69
+ };
70
+ };
71
+ readonly required?: readonly string[] | undefined;
72
+ };
73
+ } | undefined;
74
+ } | {
75
+ readonly to: string & import("effect/Brand").Brand<"MessageAddressInput">;
76
+ readonly collectiveResponse: {
77
+ readonly action: "accept";
78
+ readonly content: {
79
+ readonly [x: string]: string | number | boolean | readonly string[];
80
+ };
81
+ } | {
82
+ readonly action: "decline";
83
+ };
84
+ };
85
+ readonly outcome: {
86
+ readonly kind: "success";
87
+ readonly result: {
88
+ readonly operationId?: (string & import("effect/Brand").Brand<"CollectiveId">) | undefined;
89
+ };
90
+ } | {
91
+ readonly kind: "failure";
92
+ readonly error: {
93
+ readonly reason: "collective-failed";
94
+ readonly id: string & import("effect/Brand").Brand<"CollectiveId">;
95
+ readonly failure: unknown;
96
+ } | {
97
+ readonly reason: string;
98
+ readonly detail?: string | undefined;
99
+ };
100
+ };
101
+ }, {
102
+ readonly reason: string;
103
+ }, never>;
104
+ }, never, never>;
105
+ export {};
106
+ //# sourceMappingURL=send-invocations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"send-invocations.d.ts","sourceRoot":"","sources":["../../src/delivery/send-invocations.ts"],"names":[],"mappings":"AAAA,mFAAmF;AAEnF,OAAO,EAAY,MAAM,EAAU,KAAK,KAAK,EAAE,MAAM,QAAQ,CAAC;AAC9D,OAAO,EAGL,KAAK,aAAa,EAEnB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,eAAe,EAEf,KAAK,UAAU,EAChB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EACL,SAAS,EAEV,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAIL,KAAK,kBAAkB,EACvB,KAAK,sBAAsB,EAG3B,KAAK,kBAAkB,EAExB,MAAM,iBAAiB,CAAC;AAEzB,KAAK,WAAW,GAAG,SAAS,GAAG,eAAe,CAAC;AAoL/C;;;;;;;;GAQG;AACH,eAAO,MAAM,mBAAmB,UACvB,aAAa,WACX,kBAAkB,CAAC,MAAM,CAAC,SAC5B,KAAK,CAAC,KAAK;oBAYE,kBAAkB;wBACd,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yBA5DW,MAAM;;gBA8DhB,CAAC"}