@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,10 @@
1
+ /** @file The collective operations the daemon service composes. */
2
+ /** The daemon's stateful gather and all_gather operations. */
3
+ export { type CollectiveOperations, makeCollectiveOperations, } from "./operation.js";
4
+ /** The failure an emit port returns when the service cannot keep an item. */
5
+ export { CollectiveEmitError } from "./forms.js";
6
+ /** The items those operations emit. */
7
+ export type { InboundItem } from "./inbound.js";
8
+ /** The collective part carried in a post's content. */
9
+ export { collectiveIdOf, readCollectiveValue } from "./wire.js";
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/transport/collectives/index.ts"],"names":[],"mappings":"AAAA,mEAAmE;AAEnE,8DAA8D;AAC9D,OAAO,EACL,KAAK,oBAAoB,EACzB,wBAAwB,GACzB,MAAM,gBAAgB,CAAC;AACxB,6EAA6E;AAC7E,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACjD,uCAAuC;AACvC,YAAY,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAChD,uDAAuD;AACvD,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC"}
@@ -0,0 +1,8 @@
1
+ /** @file The collective operations the daemon service composes. */
2
+ /** The daemon's stateful gather and all_gather operations. */
3
+ export { makeCollectiveOperations, } from "./operation.js";
4
+ /** The failure an emit port returns when the service cannot keep an item. */
5
+ export { CollectiveEmitError } from "./forms.js";
6
+ /** The collective part carried in a post's content. */
7
+ export { collectiveIdOf, readCollectiveValue } from "./wire.js";
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/transport/collectives/index.ts"],"names":[],"mappings":"AAAA,mEAAmE;AAEnE,8DAA8D;AAC9D,OAAO,EAEL,wBAAwB,GACzB,MAAM,gBAAgB,CAAC;AACxB,6EAA6E;AAC7E,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAGjD,uDAAuD;AACvD,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC"}
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * @file Reads the operation a message's text states.
3
3
  *
4
- * A model reaches every operation through its host's ordinary message tool,
5
- * as message text, and every adapter reads that text with
4
+ * In native hosts, a model reaches every operation through the ordinary
5
+ * message tool, as message text. The OpenClaw and NanoClaw adapters use
6
6
  * {@link parseMessageText}, so both hosts accept the same text:
7
7
  *
8
8
  * ```
@@ -20,7 +20,8 @@
20
20
  * the operation and the error names the field to fix.
21
21
  */
22
22
  import { Either } from "effect";
23
- import { type MessageAddressInput, SendInput } from "./contract.js";
23
+ import type { MessageAddressInput } from "../messaging/address.js";
24
+ import { SendInput } from "./forms.js";
24
25
  /** Which operation a refused text stated. */
25
26
  type StatedOperation = "message" | "gather" | "all_gather" | "answer";
26
27
  declare const MessageTextError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => import("effect/Cause").YieldableError & {
@@ -0,0 +1 @@
1
+ {"version":3,"file":"message-text.d.ts","sourceRoot":"","sources":["../../../src/transport/collectives/message-text.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EAAQ,MAAM,EAA0C,MAAM,QAAQ,CAAC;AAC9E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAEnE,OAAO,EAKL,SAAS,EACV,MAAM,YAAY,CAAC;AAIpB,6CAA6C;AAC7C,KAAK,eAAe,GAAG,SAAS,GAAG,QAAQ,GAAG,YAAY,GAAG,QAAQ,CAAC;;;;AAEtE;;;;GAIG;AACH,qBAAa,gBAAiB,SAAQ,sBAAqC;IACzE,QAAQ,CAAC,SAAS,EAAE,eAAe,CAAC;IACpC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB,CAAC;IACA,IAAa,OAAO,IAAI,MAAM,CAE7B;CACF;AAoCD;;;;;;;;GAQG;AACH,eAAO,MAAM,gBAAgB,OACvB,mBAAmB,QACjB,MAAM,KACX,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,gBAAgB,CAKxC,CAAC"}
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * @file Reads the operation a message's text states.
3
3
  *
4
- * A model reaches every operation through its host's ordinary message tool,
5
- * as message text, and every adapter reads that text with
4
+ * In native hosts, a model reaches every operation through the ordinary
5
+ * message tool, as message text. The OpenClaw and NanoClaw adapters use
6
6
  * {@link parseMessageText}, so both hosts accept the same text:
7
7
  *
8
8
  * ```
@@ -20,7 +20,8 @@
20
20
  * the operation and the error names the field to fix.
21
21
  */
22
22
  import { Data, Either, Option, ParseResult, Predicate, Schema } from "effect";
23
- import { AnswerContent, DeadlineSeconds, RequestedSchema, SendInput, } from "./contract.js";
23
+ import { exactStruct } from "../wire/values.js";
24
+ import { AnswerContent, DeadlineSeconds, RequestedSchema, SendInput, } from "./forms.js";
24
25
  /**
25
26
  * A message text states an operation it does not validly carry, or is plain
26
27
  * text that is not well-formed Unicode. The message names each failing field
@@ -31,9 +32,6 @@ export class MessageTextError extends Data.TaggedError("MessageTextError") {
31
32
  return `${this.operation} not sent: ${this.detail}`;
32
33
  }
33
34
  }
34
- const exactStruct = (fields) => Schema.Struct(fields).annotations({
35
- parseOptions: { exact: true, onExcessProperty: "error" },
36
- });
37
35
  const GatherText = exactStruct({
38
36
  gather: Schema.String,
39
37
  deadline: DeadlineSeconds,
@@ -0,0 +1 @@
1
+ {"version":3,"file":"message-text.js","sourceRoot":"","sources":["../../../src/transport/collectives/message-text.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAE9E,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EACL,aAAa,EAEb,eAAe,EACf,eAAe,EACf,SAAS,GACV,MAAM,YAAY,CAAC;AAOpB;;;;GAIG;AACH,MAAM,OAAO,gBAAiB,SAAQ,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAGvE;IACA,IAAa,OAAO;QAClB,OAAO,GAAG,IAAI,CAAC,SAAS,cAAc,IAAI,CAAC,MAAM,EAAE,CAAC;IACtD,CAAC;CACF;AAED,MAAM,UAAU,GAAG,WAAW,CAAC;IAC7B,MAAM,EAAE,MAAM,CAAC,MAAM;IACrB,QAAQ,EAAE,eAAe;IACzB,eAAe,EAAE,eAAe;CACjC,CAAC,CAAC;AAEH,MAAM,aAAa,GAAG,WAAW,CAAC;IAChC,UAAU,EAAE,MAAM,CAAC,MAAM;IACzB,QAAQ,EAAE,eAAe;IACzB,eAAe,EAAE,eAAe;CACjC,CAAC,CAAC;AAEH,MAAM,UAAU,GAAG,WAAW,CAAC;IAC7B,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC;IAChC,OAAO,EAAE,aAAa;CACvB,CAAC,CAAC;AAEH,MAAM,WAAW,GAAG,WAAW,CAAC;IAC9B,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC;CAClC,CAAC,CAAC;AAEH,2EAA2E;AAC3E,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC;IACjC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,SAAS,CAAC;CAC5C,CAAC,CAAC;AAEH,MAAM,cAAc,GAAG,MAAM,CAAC,mBAAmB,CAC/C,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CACjC,CAAC;AAEF,qDAAqD;AACrD,MAAM,UAAU,GAAG,CAAC,IAAY,EAAE,EAAE,CAClC,cAAc,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;AAE/D;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC9B,EAAuB,EACvB,IAAY,EACgC,EAAE,CAC9C,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;IAC7B,MAAM,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;IAChD,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,CAChB,eAAe,CAAC,EAAE,EAAE,KAAK,CAAC,IAAI,SAAS,CAAC,SAAS,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;CACnE,CAAC,CAAC;AAEL;;;GAGG;AACH,SAAS,eAAe,CACtB,EAAuB,EACvB,KAAwC;IAExC,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,EAAE,CAAC;QACnC,OAAO,UAAU,CAAC,QAAQ,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC,IAAI,CACjD,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CACxB,SAAS,CAAC,QAAQ,EAAE;YAClB,EAAE;YACF,IAAI,EAAE,MAAM,CAAC,MAAM;YACnB,UAAU,EAAE,EAAE,GAAG,UAAU,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE;SACpD,CAAC,CACH,CACF,CAAC;IACJ,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,YAAY,CAAC,EAAE,CAAC;QACvC,OAAO,UAAU,CAAC,YAAY,EAAE,aAAa,EAAE,KAAK,CAAC,CAAC,IAAI,CACxD,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CACxB,SAAS,CAAC,YAAY,EAAE;YACtB,EAAE;YACF,IAAI,EAAE,MAAM,CAAC,UAAU;YACvB,UAAU,EAAE,EAAE,GAAG,UAAU,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,YAAY,EAAE;SACxD,CAAC,CACH,CACF,CAAC;IACJ,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACxE,CAAC;AAED,SAAS,UAAU,CACjB,MAA0D;IAE1D,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,eAAe,EAAE,MAAM,CAAC,eAAe,EAAE,CAAC;AAChF,CAAC;AAED,kEAAkE;AAClE,SAAS,MAAM,CACb,EAAuB,EACvB,KAAwC;IAExC,OAAO,UAAU,CAAC,QAAQ,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC,IAAI,CACnD,MAAM,CAAC,OAAO,CACZ,CAAC,EAAE,MAAM,EAAE,EAAuD,EAAE,CAClE,MAAM,KAAK,QAAQ;QACjB,CAAC,CAAC,UAAU,CAAC,QAAQ,EAAE,UAAU,EAAE,KAAK,CAAC;QACzC,CAAC,CAAC,UAAU,CAAC,QAAQ,EAAE,WAAW,EAAE,KAAK,CAAC,CAC/C,EACD,MAAM,CAAC,OAAO,CAAC,CAAC,kBAAkB,EAAE,EAAE,CACpC,SAAS,CAAC,QAAQ,EAAE,EAAE,EAAE,EAAE,kBAAkB,EAAE,CAAC,CAChD,CACF,CAAC;AACJ,CAAC;AAED,SAAS,SAAS,CAChB,SAA0B,EAC1B,KAAc;IAEd,OAAO,UAAU,CAAC,SAAS,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;AACjD,CAAC;AAED,SAAS,UAAU,CACjB,SAA0B,EAC1B,MAA2B,EAC3B,KAAc;IAEd,OAAO,MAAM,CAAC,mBAAmB,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CACtE,MAAM,CAAC,OAAO,CACZ,CAAC,KAAK,EAAE,EAAE,CACR,IAAI,gBAAgB,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC,CACrE,CACF,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,SAAS,cAAc,CAAC,KAA6B;IACnD,OAAO,WAAW,CAAC,cAAc,CAAC,eAAe,CAAC,KAAK,CAAC;SACrD,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,CACzB,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,OAAO,EAAE,CAC1E;SACA,IAAI,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC;AAED,oHAAoH"}
@@ -67,9 +67,14 @@
67
67
  * ```
68
68
  */
69
69
  import { Duration, Effect, Option, type Scope } from "effect";
70
- import type { EngineSendInput, EngineSentPost } from "../engine-types.js";
71
- import type { RecordHash } from "../representation.js";
72
- import { AgentAddress, CollectiveError, type FailureDelivery, type InboundItem, type InboundMessage, SendError, type SendInput, type SendResult } from "../../contract.js";
70
+ import type { EngineSendInput, EngineSentPost } from "../messaging/index.js";
71
+ import type { InboundMessage } from "../messaging/message.js";
72
+ import type { RecordHash } from "../wire/index.js";
73
+ import type { InboundItem } from "./inbound.js";
74
+ import { AgentAddress } from "../messaging/address.js";
75
+ import { SendError } from "../messaging/errors.js";
76
+ import { type CollectiveSendOutcome } from "./failures.js";
77
+ import { type CollectiveEmitError, CollectiveError, type FailureDelivery, type SendInput } from "./forms.js";
73
78
  /** What the collective layer needs from the daemon around it. */
74
79
  export interface CollectivePorts {
75
80
  /** The local agent: a group gather or all_gather asks every member but this one. */
@@ -81,8 +86,11 @@ export interface CollectivePorts {
81
86
  readonly lookupMember: (member: AgentAddress) => Effect.Effect<void, SendError>;
82
87
  /** Certify one post and complete once it is stored locally. */
83
88
  readonly sendPost: (input: EngineSendInput) => Effect.Effect<EngineSentPost, SendError>;
84
- /** Queue an item the layer emits itself: a result or a failure. */
85
- readonly emit: (item: InboundItem) => Effect.Effect<void>;
89
+ /**
90
+ * Queue an item the layer emits itself: a result or a failure. It fails
91
+ * when the item cannot be kept, which ends the work that emitted it.
92
+ */
93
+ readonly emit: (item: InboundItem) => Effect.Effect<void, CollectiveEmitError>;
86
94
  /** Owns deadline timers and request sends that outlive their send call. */
87
95
  readonly scope: Scope.Scope;
88
96
  /** Overrides `REQUEST_SEND_WAIT`; tests bound the wait. */
@@ -93,10 +101,6 @@ interface CertifiedPost {
93
101
  readonly message: InboundMessage;
94
102
  readonly recordHash: RecordHash;
95
103
  }
96
- /** One completed send: the posts certified by its return, and a collective id. */
97
- interface CollectiveSendOutcome extends SendResult {
98
- readonly postIds: ReadonlyArray<EngineSentPost["postId"]>;
99
- }
100
104
  /** The daemon's collective layer for one active identity. */
101
105
  export interface CollectiveOperations {
102
106
  /**
@@ -112,9 +116,11 @@ export interface CollectiveOperations {
112
116
  * Classify one certified remote post. Answers are recorded and consumed,
113
117
  * every other protocol post is consumed, and each remaining post becomes
114
118
  * one item. Classifying a post again yields the same result, so the daemon
115
- * may run it on every pass over pending deliveries.
119
+ * may run it on every pass over pending deliveries. It fails with
120
+ * `CollectiveEmitError` when a result or failure the post completes cannot
121
+ * be kept, which ends the pass classifying it.
116
122
  */
117
- readonly classify: (post: CertifiedPost) => Effect.Effect<Option.Option<InboundItem>>;
123
+ readonly classify: (post: CertifiedPost) => Effect.Effect<Option.Option<InboundItem>, CollectiveEmitError>;
118
124
  }
119
125
  /**
120
126
  * Build the collective layer for one active identity.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"operation.d.ts","sourceRoot":"","sources":["../../../src/transport/collectives/operation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmEG;AAEH,OAAO,EAEL,QAAQ,EACR,MAAM,EAGN,MAAM,EAGN,KAAK,KAAK,EACX,MAAM,QAAQ,CAAC;AAChB,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC7E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,KAAK,EAAU,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,KAAK,EAA2B,WAAW,EAAE,MAAM,cAAc,CAAC;AACzE,OAAO,EACL,YAAY,EAGb,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EACL,KAAK,qBAAqB,EAK3B,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,KAAK,mBAAmB,EACxB,eAAe,EAKf,KAAK,eAAe,EAGpB,KAAK,SAAS,EACf,MAAM,YAAY,CAAC;AA0FpB,iEAAiE;AACjE,MAAM,WAAW,eAAe;IAC9B,oFAAoF;IACpF,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAC5B;;;OAGG;IACH,QAAQ,CAAC,YAAY,EAAE,CACrB,MAAM,EAAE,YAAY,KACjB,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IACpC,+DAA+D;IAC/D,QAAQ,CAAC,QAAQ,EAAE,CACjB,KAAK,EAAE,eAAe,KACnB,MAAM,CAAC,MAAM,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;IAC9C;;;OAGG;IACH,QAAQ,CAAC,IAAI,EAAE,CACb,IAAI,EAAE,WAAW,KACd,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAC;IAC9C,2EAA2E;IAC3E,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC;IAC5B,2DAA2D;IAC3D,QAAQ,CAAC,eAAe,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC;CAC9C;AAED,uEAAuE;AACvE,UAAU,aAAa;IACrB,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC;IACjC,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;CACjC;AAED,6DAA6D;AAC7D,MAAM,WAAW,oBAAoB;IACnC;;;;;;;OAOG;IACH,QAAQ,CAAC,IAAI,EAAE,CACb,KAAK,EAAE,SAAS,EAChB,eAAe,EAAE,eAAe,KAC7B,MAAM,CAAC,MAAM,CAAC,qBAAqB,EAAE,SAAS,GAAG,eAAe,CAAC,CAAC;IACvE;;;;;;;OAOG;IACH,QAAQ,CAAC,QAAQ,EAAE,CACjB,IAAI,EAAE,aAAa,KAChB,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,mBAAmB,CAAC,CAAC;CACrE;AA4DD;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,UAC5B,eAAe,KACrB,oBAiBF,CAAC"}
@@ -67,14 +67,15 @@
67
67
  * ```
68
68
  */
69
69
  import { Clock, Duration, Effect, Array as EffectArray, Fiber, Option, ParseResult, Schema, } from "effect";
70
- import { randomBytes } from "node:crypto";
71
- import { AgentAddress, CollectiveError, MAXIMUM_DEADLINE_SECONDS, RequestedSchema, SendError, } from "../../contract.js";
72
- import { canonicalMessageAddress } from "../addressing/index.js";
70
+ import { AgentAddress, canonicalMessageAddress, } from "../messaging/address.js";
71
+ import { SendError } from "../messaging/errors.js";
72
+ import { emitFailureAsSendError, refusedAs, reportFailure, } from "./failures.js";
73
+ import { CollectiveError, MAXIMUM_DEADLINE_SECONDS, RequestedSchema, } from "./forms.js";
73
74
  import { matchOpenRequest, } from "./received-request.js";
74
75
  import { isAddressRefusal, lookupRefusals, requestsSoFar, } from "./request-sends.js";
75
76
  import { keepFirstAnswer, listedAnswers, memberOutcomes, } from "./shared-answers.js";
76
77
  import { outcomeOfResponse, validateAnswer } from "./validation.js";
77
- import { collectiveIdOf, encodeCollectiveContent, FormModeSchema, readCollectiveValue, withoutCollectivePart, } from "./wire.js";
78
+ import { collectiveIdOf, encodeCollectiveContent, FormModeSchema, mintCollectiveId, readCollectiveValue, withoutCollectivePart, } from "./wire.js";
78
79
  /**
79
80
  * How long a collecting operation's send waits for its request posts before
80
81
  * returning. A gather's request still uncertified then is left running: its
@@ -108,11 +109,6 @@ const RECEIVED_DEADLINE_ALLOWANCE = Duration.hours(1);
108
109
  const RECEIVED_DEADLINE_HORIZON = Duration.toMillis(Duration.sum(Duration.seconds(MAXIMUM_DEADLINE_SECONDS), RECEIVED_DEADLINE_ALLOWANCE));
109
110
  const decodeAgentAddress = Schema.decodeUnknownOption(AgentAddress);
110
111
  const decodeRequestedSchema = Schema.decodeUnknownOption(RequestedSchema);
111
- /** A fresh nonce and the id it binds to the requester. */
112
- const mintCollectiveId = (requester) => Effect.sync(() => {
113
- const nonce = randomBytes(32).toString("base64url");
114
- return { id: collectiveIdOf(requester, nonce), nonce };
115
- });
116
112
  const contentInvalid = () => new SendError({ reason: "content-invalid" });
117
113
  const collectiveFailure = (id, failure) => new CollectiveError({ id, failure });
118
114
  /**
@@ -128,7 +124,7 @@ export const makeCollectiveOperations = (ports) => {
128
124
  };
129
125
  return {
130
126
  send: (input, failureDelivery) => "collectiveResponse" in input
131
- ? reportFailure(state, failureDelivery, respond(state, input.to, input.collectiveResponse))
127
+ ? reportFailure(state.ports.emit, failureDelivery, respond(state, input.to, input.collectiveResponse))
132
128
  : sendOperation(state, input, failureDelivery),
133
129
  classify: (message) => classify(state, message),
134
130
  };
@@ -141,7 +137,7 @@ function sendOperation(state, input, failureDelivery) {
141
137
  return multicast(state, input.to, input.text);
142
138
  case "gather":
143
139
  case "all_gather":
144
- return reportFailure(state, failureDelivery, gather(state, input.to, input.text, operation));
140
+ return reportFailure(state.ports.emit, failureDelivery, gather(state, input.to, input.text, operation));
145
141
  default: {
146
142
  const exhaustive = operation;
147
143
  return exhaustive;
@@ -151,35 +147,6 @@ function sendOperation(state, input, failureDelivery) {
151
147
  function multicast(state, to, text) {
152
148
  return encodeCollectiveContent({ kind: "operation", op: "multicast" }, text).pipe(Effect.mapError(contentInvalid), Effect.flatMap((content) => state.ports.sendPost({ to, content })), Effect.map((post) => ({ postIds: [post.postId] })));
153
149
  }
154
- /**
155
- * Deliver a refused collective send's error where the host wants it. With
156
- * `inbound` the send completes, naming the operation, and the error arrives
157
- * as an `operationFailed` item carrying the same text.
158
- */
159
- function reportFailure(state, failureDelivery, send) {
160
- return send.pipe(Effect.catchAll((refused) => {
161
- switch (failureDelivery) {
162
- case "result":
163
- return Effect.fail(refused.error);
164
- case "inbound":
165
- return state.ports
166
- .emit({
167
- kind: "operationFailed",
168
- id: refused.id,
169
- to: refused.to,
170
- error: refused.error.message,
171
- })
172
- .pipe(Effect.as({ operationId: refused.id, postIds: [] }));
173
- default: {
174
- const exhaustive = failureDelivery;
175
- return exhaustive;
176
- }
177
- }
178
- }));
179
- }
180
- function refusedAs(id, to) {
181
- return (error) => ({ id, to, error });
182
- }
183
150
  /**
184
151
  * The canonical address a collecting operation's result and failure name, by
185
152
  * the rule every send shares, and the members it asks: the one agent of an
@@ -189,7 +156,10 @@ function refusedAs(id, to) {
189
156
  */
190
157
  function gatherAddress(to, self, op) {
191
158
  const selfName = self.slice("agent:".length);
192
- const membershipInvalid = new SendError({ reason: "membership-invalid" });
159
+ const membershipInvalid = new SendError({
160
+ reason: "membership-invalid",
161
+ detail: "an all_gather asks a group of two or more other agents",
162
+ });
193
163
  return canonicalMessageAddress(to, selfName).pipe(Effect.flatMap((canonical) => {
194
164
  if (canonical.kind === "direct") {
195
165
  return op === "gather"
@@ -266,7 +236,7 @@ function prepareGather(state, requestedTo, question, operation) {
266
236
  function gather(state, requestedTo, question, operation) {
267
237
  return Effect.gen(function* () {
268
238
  const prepared = yield* prepareGather(state, requestedTo, question, operation);
269
- const timer = yield* sleepUntil(prepared.deadlineAt).pipe(Effect.zipRight(completeGather(state, prepared.id)), Effect.forkIn(state.ports.scope));
239
+ const timer = yield* sleepUntil(prepared.deadlineAt).pipe(Effect.zipRight(Effect.ignore(completeGather(state, prepared.id))), Effect.forkIn(state.ports.scope));
270
240
  yield* Effect.sync(() => {
271
241
  state.gathers.set(prepared.id, {
272
242
  ...prepared.open,
@@ -306,7 +276,9 @@ function sleepUntil(at) {
306
276
  * send keeps running and settles its member when it completes: certified
307
277
  * asks it, refused makes it `no-answer`, as does pending at the deadline.
308
278
  * The send fails only when every post was refused and the gather has not
309
- * completed, so an operation ends in exactly one refusal or one result.
279
+ * completed, so an operation ends in exactly one refusal or one result, or
280
+ * as persistence-failed when the result its settling completes cannot be
281
+ * kept.
310
282
  */
311
283
  function sendRequests(state, prepared) {
312
284
  return Effect.gen(function* () {
@@ -324,19 +296,19 @@ function sendRequests(state, prepared) {
324
296
  members: [refusal, ...refusals],
325
297
  }));
326
298
  }
327
- yield* updateGather(state, id, (settled) => {
299
+ yield* emitFailureAsSendError(updateGather(state, id, (settled) => {
328
300
  settled.requestsSettled = true;
329
- });
301
+ }));
330
302
  return { postIds: posts.map((post) => post.postId) };
331
303
  });
332
304
  }
333
305
  /** Record a member whose request post was refused as `no-answer`. */
334
306
  function recordRefusal(state, id, { member }) {
335
- return updateGather(state, id, ({ outcomes }) => {
307
+ return Effect.ignore(updateGather(state, id, ({ outcomes }) => {
336
308
  if (!outcomes.has(member)) {
337
309
  outcomes.set(member, { kind: "no-answer" });
338
310
  }
339
- });
311
+ }));
340
312
  }
341
313
  /**
342
314
  * Apply a change to an open gather, then complete it once its send has
@@ -470,7 +442,7 @@ function respond(state, to, response) {
470
442
  const post = yield* state.ports.sendPost({ to: request.to, content }).pipe(Effect.tapBoth({
471
443
  onFailure: () => settleAnswer(state, id, request, Option.none()),
472
444
  onSuccess: (sent) => settleAnswer(state, id, request, Option.some({ recordHash: sent.recordHash, response: value })),
473
- }), Effect.onInterrupt(() => settleAnswer(state, id, request, Option.none())), Effect.mapError(refused));
445
+ }), Effect.onInterrupt(() => Effect.ignore(settleAnswer(state, id, request, Option.none()))), emitFailureAsSendError, Effect.mapError(refused));
474
446
  return { operationId: id, postIds: [post.postId] };
475
447
  });
476
448
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"operation.js","sourceRoot":"","sources":["../../../src/transport/collectives/operation.ts"],"names":[],"mappings":"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"}
@@ -8,7 +8,8 @@
8
8
  * supported, so that answer is refused rather than guessed.
9
9
  */
10
10
  import { Either } from "effect";
11
- import type { CollectiveFailure, CollectiveId, MessageAddressInput } from "../../contract.js";
11
+ import type { MessageAddressInput } from "../messaging/address.js";
12
+ import type { CollectiveFailure, CollectiveId } from "./forms.js";
12
13
  /**
13
14
  * What matching reads of a received request: `to` is the conversation it
14
15
  * arrived in. `sending` holds the one answer in flight, so a member answers
@@ -0,0 +1 @@
1
+ {"version":3,"file":"received-request.d.ts","sourceRoot":"","sources":["../../../src/transport/collectives/received-request.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,KAAK,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAElE;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,EAAE,mBAAmB,CAAC;IACjC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,UAAU,GAAG,QAAQ,CAAC;CAC5D;AAED,sDAAsD;AACtD,MAAM,WAAW,WAAW,CAAC,OAAO,SAAS,aAAa;IACxD,QAAQ,CAAC,EAAE,EAAE,YAAY,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;CAC3B;AAED,6CAA6C;AAC7C,KAAK,eAAe,GAAG,OAAO,CAC5B,iBAAiB,CAAC,MAAM,CAAC,EACzB,WAAW,MAAM,GAAG,WAAW,GAAG,UAAU,GAAG,SAAS,EAAE,CAC3D,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,gBAAgB,GAAI,OAAO,SAAS,aAAa,YAClD,WAAW,CAAC,YAAY,EAAE,OAAO,CAAC,gBAC9B,mBAAmB,OAC5B,MAAM,KACV,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,eAAe,CAoBrD,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"received-request.js","sourceRoot":"","sources":["../../../src/transport/collectives/received-request.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AA2BhC;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC9B,QAA4C,EAC5C,YAAiC,EACjC,GAAW,EAC2C,EAAE;IACxD,MAAM,KAAK,GAAG,CAAC,GAAG,QAAQ,CAAC;SACxB,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,KAAK,YAAY,CAAC;SACpD,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;QACvB,EAAE;QACF,OAAO;QACP,WAAW,EAAE,kBAAkB,CAAC,OAAO,EAAE,GAAG,CAAC;KAC9C,CAAC,CAAC,CAAC;IACN,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC;IAC1E,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IACpB,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5C,OAAO,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;IAC9D,CAAC;IACD,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpB,OAAO,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IAC1C,CAAC;IACD,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,WAAW,KAAK,kBAAkB,CAAC,EAAE,CAAC;QACxE,OAAO,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IACzC,CAAC;IACD,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC;AAC9E,CAAC,CAAC;AAEF,SAAS,kBAAkB,CACzB,OAAsB,EACtB,GAAW;IAEX,QAAQ,OAAO,CAAC,KAAK,EAAE,CAAC;QACtB,KAAK,MAAM;YACT,OAAO,GAAG,IAAI,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,SAAS,CAAC;QACnE,KAAK,SAAS,CAAC;QACf,KAAK,UAAU;YACb,OAAO,kBAAkB,CAAC;QAC5B,KAAK,QAAQ;YACX,OAAO,iBAAiB,CAAC;QAC3B,SAAS,CAAC;YACR,MAAM,UAAU,GAAU,OAAO,CAAC,KAAK,CAAC;YACxC,OAAO,UAAU,CAAC;QACpB,CAAC;IACH,CAAC;AACH,CAAC"}
@@ -3,8 +3,9 @@
3
3
  * settled when the requester stops waiting.
4
4
  */
5
5
  import { Effect, Either, Fiber } from "effect";
6
- import type { AgentAddress, SendError } from "../../contract.js";
7
- import type { EngineSentPost } from "../engine-types.js";
6
+ import type { AgentAddress } from "../messaging/address.js";
7
+ import type { SendError } from "../messaging/errors.js";
8
+ import type { EngineSentPost } from "../messaging/index.js";
8
9
  /** A member whose request post was refused, and why. */
9
10
  export type RequestRefusal = Readonly<{
10
11
  member: AgentAddress;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"request-sends.d.ts","sourceRoot":"","sources":["../../../src/transport/collectives/request-sends.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACL,MAAM,EAEN,MAAM,EAEN,KAAK,EAEN,MAAM,QAAQ,CAAC;AAChB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAE5D,wDAAwD;AACxD,MAAM,MAAM,cAAc,GAAG,QAAQ,CAAC;IACpC,MAAM,EAAE,YAAY,CAAC;IACrB,MAAM,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC;CAC7B,CAAC,CAAC;AAEH,2EAA2E;AAC3E,MAAM,MAAM,WAAW,GAAG,KAAK,CAAC,YAAY,CAC1C,MAAM,CAAC,MAAM,CAAC,cAAc,EAAE,cAAc,CAAC,CAC9C,CAAC;AAeF;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,YAAa,cAAc,KAAG,OACrB,CAAC;AAEvC;;;;;GAKG;AACH,eAAO,MAAM,cAAc,YAChB,SAAS,YAAY,EAAE,UACxB,CAAC,MAAM,EAAE,YAAY,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,KAC/D,MAAM,CAAC,MAAM,CAAC,cAAc,EAAE,CAc9B,CAAC;AAEJ;;;;;;;GAOG;AACH,eAAO,MAAM,aAAa,YACf,SAAS,YAAY,EAAE,SACzB,SAAS,WAAW,EAAE,KAC5B,MAAM,CAAC,MAAM,CAAC;IACf,QAAQ,CAAC,KAAK,EAAE,cAAc,EAAE,CAAC;IACjC,QAAQ,CAAC,OAAO,EAAE,cAAc,EAAE,CAAC;CACpC,CAsBE,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"request-sends.js","sourceRoot":"","sources":["../../../src/transport/collectives/request-sends.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACL,MAAM,EACN,KAAK,IAAI,WAAW,EACpB,MAAM,EACN,IAAI,EACJ,KAAK,EACL,MAAM,GACP,MAAM,QAAQ,CAAC;AAgBhB,6EAA6E;AAC7E,MAAM,yBAAyB,GAAG,CAAC,CAAC;AAEpC;;;GAGG;AACH,MAAM,gBAAgB,GAAqC,IAAI,GAAG,CAAC;IACjE,iBAAiB;IACjB,eAAe;IACf,oBAAoB;CACrB,CAAC,CAAC;AAEH;;;;;GAKG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,OAAuB,EAAW,EAAE,CACnE,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;AAEvC;;;;;GAKG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAC5B,OAAgC,EAChC,MAAgE,EAC/B,EAAE,CACnC,MAAM,CAAC,OAAO,CACZ,OAAO,EACP,CAAC,MAAM,EAAE,EAAE,CACT,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CACjB,MAAM,CAAC,IAAI,EACX,MAAM,CAAC,GAAG,CACR,CAAC,KAAK,EAAkB,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAC9D,EACD,MAAM,CAAC,MAAM,CACd,EACH,EAAE,WAAW,EAAE,yBAAyB,EAAE,CAC3C,CAAC,IAAI,CACJ,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAC3E,CAAC;AAEJ;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAC3B,OAAgC,EAChC,KAA6B,EAI5B,EAAE,CACH,MAAM,CAAC,OAAO,CACZ,WAAW,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,EAC/B,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,CACjB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CACnB,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACpB,MAAM;IACN,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CACpC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAC/D;CACF,CAAC,CAAC,CACJ,EACH,EAAE,WAAW,EAAE,CAAC,EAAE,CACnB,CAAC,IAAI,CACJ,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CACnC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CACxD;IACD,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CACrC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CACvD;CACF,CAAC,CAAC,CACJ,CAAC"}
@@ -8,8 +8,9 @@
8
8
  * its result from exactly the answers it holds under the listed hashes. The
9
9
  * requester's result uses the same member ordering.
10
10
  */
11
- import type { AgentAddress, CollectiveMemberOutcome, InboundItem, PostId } from "../../contract.js";
12
- import type { RecordHash } from "../representation.js";
11
+ import type { AgentAddress } from "../messaging/address.js";
12
+ import type { PostId, RecordHash } from "../wire/index.js";
13
+ import type { CollectiveMemberOutcome, InboundItem } from "./inbound.js";
13
14
  import type { CollectiveValue } from "./wire.js";
14
15
  /** The members a collecting operation asks, in member order. */
15
16
  export type Members = readonly [AgentAddress, ...AgentAddress[]];
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shared-answers.d.ts","sourceRoot":"","sources":["../../../src/transport/collectives/shared-answers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,KAAK,EAAE,uBAAuB,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AACzE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAEjD,gEAAgE;AAChE,MAAM,MAAM,OAAO,GAAG,SAAS,CAAC,YAAY,EAAE,GAAG,YAAY,EAAE,CAAC,CAAC;AAEjE,yDAAyD;AACzD,MAAM,MAAM,aAAa,GAAG,OAAO,CACjC,eAAe,EACf;IAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAA;CAAE,CAC9B,CAAC;AAEF,2DAA2D;AAC3D,MAAM,MAAM,oBAAoB,GAAG,OAAO,CACxC,WAAW,EACX;IAAE,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAA;CAAE,CACtC,CAAC;AAEF,kEAAkE;AAClE,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAChC,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC;CAClC;AAED,iFAAiF;AACjF,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,SAAS,UAAU,EAAE,CAAC;CAC1C;AAED;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,YAAY,EAAE,eAAe,CAAC,CAAC;IACrD,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,aAAa,EACrB,MAAM,EAAE,YAAY,EACpB,MAAM,EAAE,eAAe,GACtB,IAAI,CAIN;AAED;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAC3B,MAAM,EAAE,aAAa,EACrB,QAAQ,EAAE,SAAS,UAAU,EAAE;;;;;;;EAkBhC;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAC5B,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,WAAW,CAAC,YAAY,EAAE,uBAAuB,CAAC,GAC3D,oBAAoB,CAAC,UAAU,CAAC,CAOlC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shared-answers.js","sourceRoot":"","sources":["../../../src/transport/collectives/shared-answers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AA8CH;;;;;;;GAOG;AACH,MAAM,UAAU,eAAe,CAC7B,MAAqB,EACrB,MAAoB,EACpB,MAAuB;IAEvB,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;QACnE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,CAAC;AACH,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,aAAa,CAC3B,MAAqB,EACrB,QAA+B;IAE/B,MAAM,MAAM,GAAG,IAAI,GAAG,CACpB,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC;QAC5C,MAAM,CAAC,UAAU;QACjB,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE;KACtC,CAAC,CACH,CAAC;IACF,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QACxC,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAChC,OAAO,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;IACH,OAAO;QACL,OAAO;QACP,OAAO,EAAE,OAAO,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM;QACzC,QAAQ,EACN,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,GAAG,OAAO,CAAC,MAAM;KACxE,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAC5B,OAAgB,EAChB,QAA4D;IAE5D,MAAM,OAAO,GAAG,CAAC,MAAoB,EAAE,EAAE,CAAC,CAAC;QACzC,MAAM;QACN,OAAO,EAAE,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,WAAoB,EAAE;KAChE,CAAC,CAAC;IACH,MAAM,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,GAAG,OAAO,CAAC;IACjC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;AAChD,CAAC"}
@@ -1,17 +1,17 @@
1
1
  /**
2
2
  * @file Answer validation against a collective request's form-mode schema.
3
3
  *
4
- * Validation runs field by field with the MCP SDK's JSON Schema validator so
5
- * a failure names each failing field rather than one combined message. The
6
- * form-mode grammar is flat, so a field's property schema is the whole rule
7
- * for that field.
4
+ * Validation runs field by field so a failure names each failing field rather
5
+ * than one combined message. The form-mode grammar is flat, so a field's
6
+ * property schema is the whole rule for that field.
8
7
  */
9
8
  import { Effect } from "effect";
10
- import type { AnswerContent, CollectiveFailure, CollectiveMemberOutcome } from "../../contract.js";
9
+ import type { AnswerContent, CollectiveFailure } from "./forms.js";
10
+ import type { CollectiveMemberOutcome } from "./inbound.js";
11
11
  import type { CollectiveResponse, FormModeSchema } from "./wire.js";
12
12
  /**
13
- * Why one answer field failed its request's schema; `detail` is the SDK
14
- * validator's message for an `invalid` field.
13
+ * Why one answer field failed its request's schema; `detail` names each
14
+ * keyword an `invalid` field fails.
15
15
  */
16
16
  export type CollectiveFieldFailure = Extract<CollectiveFailure, {
17
17
  readonly kind: "answer-invalid";
@@ -29,9 +29,7 @@ export declare class CollectiveAnswerInvalidError extends CollectiveAnswerInvali
29
29
  get message(): string;
30
30
  }
31
31
  /**
32
- * Check an answer against the schema its request carried. Each call compiles
33
- * with its own validator: the SDK's shared default caches every compiled
34
- * schema for the life of the process, and request schemas are unbounded.
32
+ * Check an answer against the schema its request carried.
35
33
  * @param requestedSchema The request's form-mode schema.
36
34
  * @param content The member's answer.
37
35
  * @returns The answer unchanged, or an error naming every failing field.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../../src/transport/collectives/validation.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAQ,MAAM,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,KAAK,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AACnE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AAC5D,OAAO,KAAK,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAGpE;;;GAGG;AACH,MAAM,MAAM,sBAAsB,GAAG,OAAO,CAC1C,iBAAiB,EACjB;IAAE,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAA;CAAE,CACpC,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC;;;;AAEpB,kEAAkE;AAClE,qBAAa,4BAA6B,SAAQ,kCAEhD;IACA,QAAQ,CAAC,QAAQ,EAAE,SAAS;QAC1B,sBAAsB;QACtB,GAAG,sBAAsB,EAAE;KAC5B,CAAC;CACH,CAAC;IACA,IAAa,OAAO,IAAI,MAAM,CAQ7B;CACF;AAgCD;;;;;GAKG;AACH,eAAO,MAAM,cAAc,oBACR,cAAc,WACtB,aAAa,KACrB,MAAM,CAAC,MAAM,CAAC,aAAa,EAAE,4BAA4B,CAc3D,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,oBACX,cAAc,YACrB,kBAAkB,KAC3B,MAAM,CAAC,MAAM,CAAC,uBAAuB,CAsBvC,CAAC"}
@@ -1,14 +1,12 @@
1
1
  /**
2
2
  * @file Answer validation against a collective request's form-mode schema.
3
3
  *
4
- * Validation runs field by field with the MCP SDK's JSON Schema validator so
5
- * a failure names each failing field rather than one combined message. The
6
- * form-mode grammar is flat, so a field's property schema is the whole rule
7
- * for that field.
4
+ * Validation runs field by field so a failure names each failing field rather
5
+ * than one combined message. The form-mode grammar is flat, so a field's
6
+ * property schema is the whole rule for that field.
8
7
  */
9
- import { fromJsonSchema, } from "@modelcontextprotocol/client";
10
- import { AjvJsonSchemaValidator } from "@modelcontextprotocol/client/validators/ajv";
11
8
  import { Data, Effect } from "effect";
9
+ import { answerIssues } from "./answer-check.js";
12
10
  /** An answer does not satisfy its request's `requestedSchema`. */
13
11
  export class CollectiveAnswerInvalidError extends Data.TaggedError("CollectiveAnswerInvalidError") {
14
12
  get message() {
@@ -24,7 +22,7 @@ export class CollectiveAnswerInvalidError extends Data.TaggedError("CollectiveAn
24
22
  * answer field named `constructor` must not find `Object.prototype.constructor`.
25
23
  */
26
24
  const ownValue = (record, key) => (Object.hasOwn(record, key) ? record[key] : undefined);
27
- function fieldFailure(validator, requestedSchema, content, field) {
25
+ function fieldFailure(requestedSchema, content, field) {
28
26
  const definition = ownValue(requestedSchema.properties, field);
29
27
  if (definition === undefined) {
30
28
  return { field, reason: "unexpected" };
@@ -35,19 +33,13 @@ function fieldFailure(validator, requestedSchema, content, field) {
35
33
  ? { field, reason: "missing" }
36
34
  : undefined;
37
35
  }
38
- const result = fromJsonSchema(definition, validator)["~standard"].validate(value);
39
- if (result instanceof Promise) {
40
- return { field, reason: "invalid", detail: "asynchronous validator" };
41
- }
42
- const detail = result.issues?.map((issue) => issue.message).join(", ");
43
- return detail === undefined
36
+ const issues = answerIssues(definition, value);
37
+ return issues.length === 0
44
38
  ? undefined
45
- : { field, reason: "invalid", detail };
39
+ : { field, reason: "invalid", detail: issues.join(", ") };
46
40
  }
47
41
  /**
48
- * Check an answer against the schema its request carried. Each call compiles
49
- * with its own validator: the SDK's shared default caches every compiled
50
- * schema for the life of the process, and request schemas are unbounded.
42
+ * Check an answer against the schema its request carried.
51
43
  * @param requestedSchema The request's form-mode schema.
52
44
  * @param content The member's answer.
53
45
  * @returns The answer unchanged, or an error naming every failing field.
@@ -57,9 +49,8 @@ export const validateAnswer = (requestedSchema, content) => {
57
49
  ...Object.keys(requestedSchema.properties),
58
50
  ...Object.keys(content),
59
51
  ]);
60
- const validator = new AjvJsonSchemaValidator();
61
52
  const [first, ...rest] = [...fields].flatMap((field) => {
62
- const failure = fieldFailure(validator, requestedSchema, content, field);
53
+ const failure = fieldFailure(requestedSchema, content, field);
63
54
  return failure === undefined ? [] : [failure];
64
55
  });
65
56
  return first === undefined
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../../src/transport/collectives/validation.ts"],"names":[],"mappings":"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"}