@moltzap/client 2026.1002.0 → 2026.1005.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 (515) hide show
  1. package/NOTICE +1 -6
  2. package/README.md +2 -2
  3. package/bin/moltzapd +2 -2
  4. package/dist/{harness-mcp-contract.d.ts → delivery/history-export.d.ts} +96 -136
  5. package/dist/delivery/history-export.d.ts.map +1 -0
  6. package/dist/{daemon/runtime → delivery}/history-export.js +36 -3
  7. package/dist/delivery/history-export.js.map +1 -0
  8. package/dist/delivery/host-delivery.d.ts +51 -0
  9. package/dist/delivery/host-delivery.d.ts.map +1 -0
  10. package/dist/delivery/host-delivery.js +109 -0
  11. package/dist/delivery/host-delivery.js.map +1 -0
  12. package/dist/delivery/inbox.d.ts +142 -0
  13. package/dist/delivery/inbox.d.ts.map +1 -0
  14. package/dist/delivery/inbox.js +130 -0
  15. package/dist/delivery/inbox.js.map +1 -0
  16. package/dist/delivery/index.d.ts +4 -0
  17. package/dist/delivery/index.d.ts.map +1 -0
  18. package/dist/delivery/index.js +4 -0
  19. package/dist/delivery/index.js.map +1 -0
  20. package/dist/delivery/operations.d.ts +787 -0
  21. package/dist/delivery/operations.d.ts.map +1 -0
  22. package/dist/delivery/operations.js +162 -0
  23. package/dist/delivery/operations.js.map +1 -0
  24. package/dist/delivery/pass.d.ts +91 -0
  25. package/dist/delivery/pass.d.ts.map +1 -0
  26. package/dist/{daemon/runtime/pending-delivery.js → delivery/pass.js} +61 -34
  27. package/dist/delivery/pass.js.map +1 -0
  28. package/dist/delivery/send-invocations.d.ts +106 -0
  29. package/dist/delivery/send-invocations.d.ts.map +1 -0
  30. package/dist/delivery/send-invocations.js +109 -0
  31. package/dist/delivery/send-invocations.js.map +1 -0
  32. package/dist/endpoint/harness-endpoint/capability.d.ts +39 -0
  33. package/dist/endpoint/harness-endpoint/capability.d.ts.map +1 -0
  34. package/dist/endpoint/harness-endpoint/capability.js +9 -0
  35. package/dist/endpoint/harness-endpoint/capability.js.map +1 -0
  36. package/dist/endpoint/harness-endpoint/events.d.ts +12 -0
  37. package/dist/endpoint/harness-endpoint/events.d.ts.map +1 -0
  38. package/dist/endpoint/harness-endpoint/events.js +199 -0
  39. package/dist/endpoint/harness-endpoint/events.js.map +1 -0
  40. package/dist/{client-runtime.d.ts → endpoint/harness-endpoint/index.d.ts} +4 -2
  41. package/dist/endpoint/harness-endpoint/index.d.ts.map +1 -0
  42. package/dist/{client-runtime.js → endpoint/harness-endpoint/index.js} +115 -115
  43. package/dist/endpoint/harness-endpoint/index.js.map +1 -0
  44. package/dist/endpoint/implementation.d.ts +4 -0
  45. package/dist/endpoint/implementation.d.ts.map +1 -0
  46. package/dist/endpoint/implementation.js +5 -0
  47. package/dist/endpoint/implementation.js.map +1 -0
  48. package/dist/endpoint/mcp/auth.d.ts +31 -0
  49. package/dist/endpoint/mcp/auth.d.ts.map +1 -0
  50. package/dist/endpoint/mcp/auth.js +42 -0
  51. package/dist/endpoint/mcp/auth.js.map +1 -0
  52. package/dist/endpoint/mcp/event-schemas.d.ts +151 -0
  53. package/dist/endpoint/mcp/event-schemas.d.ts.map +1 -0
  54. package/dist/endpoint/mcp/event-schemas.js +72 -0
  55. package/dist/endpoint/mcp/event-schemas.js.map +1 -0
  56. package/dist/endpoint/mcp/event-signing.d.ts +62 -0
  57. package/dist/endpoint/mcp/event-signing.d.ts.map +1 -0
  58. package/dist/endpoint/mcp/event-signing.js +185 -0
  59. package/dist/endpoint/mcp/event-signing.js.map +1 -0
  60. package/dist/endpoint/mcp/events.d.ts +45 -0
  61. package/dist/endpoint/mcp/events.d.ts.map +1 -0
  62. package/dist/endpoint/mcp/events.js +308 -0
  63. package/dist/endpoint/mcp/events.js.map +1 -0
  64. package/dist/{harness-mcp-http.d.ts → endpoint/mcp/http.d.ts} +1 -1
  65. package/dist/endpoint/mcp/http.d.ts.map +1 -0
  66. package/dist/{harness-mcp-http.js → endpoint/mcp/http.js} +1 -1
  67. package/dist/endpoint/mcp/http.js.map +1 -0
  68. package/dist/endpoint/mcp/index.d.ts +10 -0
  69. package/dist/endpoint/mcp/index.d.ts.map +1 -0
  70. package/dist/endpoint/mcp/index.js +8 -0
  71. package/dist/endpoint/mcp/index.js.map +1 -0
  72. package/dist/endpoint/mcp/names.d.ts +18 -0
  73. package/dist/endpoint/mcp/names.d.ts.map +1 -0
  74. package/dist/endpoint/mcp/names.js +18 -0
  75. package/dist/endpoint/mcp/names.js.map +1 -0
  76. package/dist/{management-runtime.d.ts → endpoint/mcp/owner-tools.d.ts} +7 -7
  77. package/dist/endpoint/mcp/owner-tools.d.ts.map +1 -0
  78. package/dist/{management-runtime.js → endpoint/mcp/owner-tools.js} +2 -4
  79. package/dist/endpoint/mcp/owner-tools.js.map +1 -0
  80. package/dist/endpoint/mcp/schemas.d.ts +42 -0
  81. package/dist/endpoint/mcp/schemas.d.ts.map +1 -0
  82. package/dist/endpoint/mcp/schemas.js +89 -0
  83. package/dist/endpoint/mcp/schemas.js.map +1 -0
  84. package/dist/{harness-mcp-wire.d.ts → endpoint/mcp/tools.d.ts} +17 -14
  85. package/dist/endpoint/mcp/tools.d.ts.map +1 -0
  86. package/dist/{harness-mcp-wire.js → endpoint/mcp/tools.js} +230 -110
  87. package/dist/endpoint/mcp/tools.js.map +1 -0
  88. package/dist/endpoint/mcp/webhook.d.ts +15 -0
  89. package/dist/endpoint/mcp/webhook.d.ts.map +1 -0
  90. package/dist/endpoint/mcp/webhook.js +359 -0
  91. package/dist/endpoint/mcp/webhook.js.map +1 -0
  92. package/dist/identity/credentials.d.ts +46 -0
  93. package/dist/identity/credentials.d.ts.map +1 -0
  94. package/dist/identity/credentials.js +55 -0
  95. package/dist/identity/credentials.js.map +1 -0
  96. package/dist/identity/index.d.ts +4 -0
  97. package/dist/identity/index.d.ts.map +1 -0
  98. package/dist/identity/index.js +4 -0
  99. package/dist/identity/index.js.map +1 -0
  100. package/dist/index.d.ts +21 -4
  101. package/dist/index.d.ts.map +1 -1
  102. package/dist/index.js +23 -5
  103. package/dist/index.js.map +1 -1
  104. package/dist/{contract.types-check.d.ts → index.types-check.d.ts} +12 -7
  105. package/dist/index.types-check.d.ts.map +1 -0
  106. package/dist/{contract.types-check.js → index.types-check.js} +6 -5
  107. package/dist/index.types-check.js.map +1 -0
  108. package/dist/{daemon/runtime/activation.d.ts → service/activation/index.d.ts} +11 -13
  109. package/dist/service/activation/index.d.ts.map +1 -0
  110. package/dist/{daemon/runtime/activation.js → service/activation/index.js} +3 -3
  111. package/dist/service/activation/index.js.map +1 -0
  112. package/dist/{daemon/configuration.d.ts → service/bootstrap.d.ts} +9 -17
  113. package/dist/service/bootstrap.d.ts.map +1 -0
  114. package/dist/service/bootstrap.js +6 -0
  115. package/dist/service/bootstrap.js.map +1 -0
  116. package/dist/service/configuration.d.ts +13 -0
  117. package/dist/service/configuration.d.ts.map +1 -0
  118. package/dist/service/configuration.js +75 -0
  119. package/dist/service/configuration.js.map +1 -0
  120. package/dist/{daemon/runtime → service}/controller.d.ts +9 -7
  121. package/dist/service/controller.d.ts.map +1 -0
  122. package/dist/service/controller.js +106 -0
  123. package/dist/service/controller.js.map +1 -0
  124. package/dist/{server.d.ts → service/index.d.ts} +7 -4
  125. package/dist/service/index.d.ts.map +1 -0
  126. package/dist/{server.js → service/index.js} +17 -15
  127. package/dist/service/index.js.map +1 -0
  128. package/dist/{server.types-check.d.ts → service/index.types-check.d.ts} +7 -7
  129. package/dist/service/index.types-check.d.ts.map +1 -0
  130. package/dist/{server.types-check.js → service/index.types-check.js} +1 -1
  131. package/dist/service/index.types-check.js.map +1 -0
  132. package/dist/{daemon/runtime/index.d.ts → service/lifecycle.d.ts} +4 -4
  133. package/dist/service/lifecycle.d.ts.map +1 -0
  134. package/dist/{daemon/runtime/index.js → service/lifecycle.js} +29 -26
  135. package/dist/service/lifecycle.js.map +1 -0
  136. package/dist/{daemon → service}/management.d.ts +3 -3
  137. package/dist/service/management.d.ts.map +1 -0
  138. package/dist/{daemon → service}/management.js +4 -14
  139. package/dist/service/management.js.map +1 -0
  140. package/dist/{daemon/registration.d.ts → service/registration/index.d.ts} +3 -3
  141. package/dist/service/registration/index.d.ts.map +1 -0
  142. package/dist/{daemon/registration.js → service/registration/index.js} +2 -3
  143. package/dist/service/registration/index.js.map +1 -0
  144. package/dist/{daemon/runtime/protocol.d.ts → service/supervision.d.ts} +17 -25
  145. package/dist/service/supervision.d.ts.map +1 -0
  146. package/dist/{daemon/runtime/protocol.js → service/supervision.js} +34 -37
  147. package/dist/service/supervision.js.map +1 -0
  148. package/dist/store/anchors.d.ts.map +1 -0
  149. package/dist/store/anchors.js.map +1 -0
  150. package/dist/store/database/index.d.ts.map +1 -0
  151. package/dist/store/database/index.js.map +1 -0
  152. package/dist/store/database/schema.d.ts.map +1 -0
  153. package/dist/{endpoint/store → store}/database/schema.js +42 -6
  154. package/dist/store/database/schema.js.map +1 -0
  155. package/dist/store/database/values.d.ts.map +1 -0
  156. package/dist/store/database/values.js.map +1 -0
  157. package/dist/store/inbox.d.ts +86 -0
  158. package/dist/store/inbox.d.ts.map +1 -0
  159. package/dist/store/inbox.js +269 -0
  160. package/dist/store/inbox.js.map +1 -0
  161. package/dist/store/index.d.ts +12 -0
  162. package/dist/store/index.d.ts.map +1 -0
  163. package/dist/store/index.js +8 -0
  164. package/dist/store/index.js.map +1 -0
  165. package/dist/{endpoint/store → store/queues}/deliveries.d.ts +9 -1
  166. package/dist/store/queues/deliveries.d.ts.map +1 -0
  167. package/dist/{endpoint/store → store/queues}/deliveries.js +19 -3
  168. package/dist/store/queues/deliveries.js.map +1 -0
  169. package/dist/{endpoint/store → store/queues}/dissemination.d.ts +4 -2
  170. package/dist/store/queues/dissemination.d.ts.map +1 -0
  171. package/dist/{endpoint/store → store/queues}/dissemination.js +5 -4
  172. package/dist/store/queues/dissemination.js.map +1 -0
  173. package/dist/store/queues/index.d.ts +5 -0
  174. package/dist/store/queues/index.d.ts.map +1 -0
  175. package/dist/store/queues/index.js +7 -0
  176. package/dist/store/queues/index.js.map +1 -0
  177. package/dist/{endpoint/store → store/queues}/outbound.d.ts +1 -1
  178. package/dist/store/queues/outbound.d.ts.map +1 -0
  179. package/dist/{endpoint/store → store/queues}/outbound.js +1 -1
  180. package/dist/store/queues/outbound.js.map +1 -0
  181. package/dist/{endpoint/store/management.d.ts → store/reads.d.ts} +1 -1
  182. package/dist/store/reads.d.ts.map +1 -0
  183. package/dist/{endpoint/store/management.js → store/reads.js} +2 -4
  184. package/dist/store/reads.js.map +1 -0
  185. package/dist/store/records.d.ts.map +1 -0
  186. package/dist/{endpoint/store → store}/records.js +1 -2
  187. package/dist/store/records.js.map +1 -0
  188. package/dist/store/rows/index.d.ts.map +1 -0
  189. package/dist/store/rows/index.js.map +1 -0
  190. package/dist/store/runtime-codec.d.ts +17 -0
  191. package/dist/store/runtime-codec.d.ts.map +1 -0
  192. package/dist/store/runtime-codec.js +32 -0
  193. package/dist/store/runtime-codec.js.map +1 -0
  194. package/dist/{endpoint/store/index.d.ts → store/store.d.ts} +2 -2
  195. package/dist/store/store.d.ts.map +1 -0
  196. package/dist/{endpoint/store/index.js → store/store.js} +34 -7
  197. package/dist/store/store.js.map +1 -0
  198. package/dist/{endpoint/store → store}/types.d.ts +41 -0
  199. package/dist/store/types.d.ts.map +1 -0
  200. package/dist/store/types.js.map +1 -0
  201. package/dist/transport/collectives/answer-formats.d.ts +21 -0
  202. package/dist/transport/collectives/answer-formats.d.ts.map +1 -0
  203. package/dist/transport/collectives/answer-formats.js +127 -0
  204. package/dist/transport/collectives/answer-formats.js.map +1 -0
  205. package/dist/transport/collectives/failures.d.ts +34 -0
  206. package/dist/transport/collectives/failures.d.ts.map +1 -0
  207. package/dist/transport/collectives/failures.js +40 -0
  208. package/dist/transport/collectives/failures.js.map +1 -0
  209. package/dist/transport/collectives/forms.d.ts +260 -0
  210. package/dist/transport/collectives/forms.d.ts.map +1 -0
  211. package/dist/transport/collectives/forms.js +214 -0
  212. package/dist/transport/collectives/forms.js.map +1 -0
  213. package/dist/transport/collectives/inbound.d.ts +129 -0
  214. package/dist/transport/collectives/inbound.d.ts.map +1 -0
  215. package/dist/transport/collectives/inbound.js +81 -0
  216. package/dist/transport/collectives/inbound.js.map +1 -0
  217. package/dist/transport/collectives/index.d.ts +10 -0
  218. package/dist/transport/collectives/index.d.ts.map +1 -0
  219. package/dist/transport/collectives/index.js +8 -0
  220. package/dist/transport/collectives/index.js.map +1 -0
  221. package/dist/{message-text.d.ts → transport/collectives/message-text.d.ts} +8 -4
  222. package/dist/transport/collectives/message-text.d.ts.map +1 -0
  223. package/dist/{message-text.js → transport/collectives/message-text.js} +23 -47
  224. package/dist/transport/collectives/message-text.js.map +1 -0
  225. package/dist/{endpoint/collective → transport/collectives}/operation.d.ts +35 -24
  226. package/dist/transport/collectives/operation.d.ts.map +1 -0
  227. package/dist/{endpoint/collective → transport/collectives}/operation.js +70 -105
  228. package/dist/transport/collectives/operation.js.map +1 -0
  229. package/dist/transport/collectives/part/grammar.d.ts +175 -0
  230. package/dist/transport/collectives/part/grammar.d.ts.map +1 -0
  231. package/dist/transport/collectives/part/grammar.js +222 -0
  232. package/dist/transport/collectives/part/grammar.js.map +1 -0
  233. package/dist/{endpoint/collective/wire.d.ts → transport/collectives/part/index.d.ts} +38 -51
  234. package/dist/transport/collectives/part/index.d.ts.map +1 -0
  235. package/dist/{endpoint/collective/wire.js → transport/collectives/part/index.js} +20 -122
  236. package/dist/transport/collectives/part/index.js.map +1 -0
  237. package/dist/{endpoint/collective → transport/collectives}/received-request.d.ts +2 -1
  238. package/dist/transport/collectives/received-request.d.ts.map +1 -0
  239. package/dist/transport/collectives/received-request.js.map +1 -0
  240. package/dist/transport/collectives/render.d.ts +40 -0
  241. package/dist/transport/collectives/render.d.ts.map +1 -0
  242. package/dist/transport/collectives/render.js +74 -0
  243. package/dist/transport/collectives/render.js.map +1 -0
  244. package/dist/{endpoint/collective → transport/collectives}/request-sends.d.ts +3 -2
  245. package/dist/transport/collectives/request-sends.d.ts.map +1 -0
  246. package/dist/transport/collectives/request-sends.js.map +1 -0
  247. package/dist/{endpoint/collective → transport/collectives}/shared-answers.d.ts +4 -3
  248. package/dist/transport/collectives/shared-answers.d.ts.map +1 -0
  249. package/dist/transport/collectives/shared-answers.js.map +1 -0
  250. package/dist/transport/collectives/validation.d.ts +31 -0
  251. package/dist/transport/collectives/validation.d.ts.map +1 -0
  252. package/dist/transport/collectives/validation.js +239 -0
  253. package/dist/transport/collectives/validation.js.map +1 -0
  254. package/dist/{endpoint/addressing/index.d.ts → transport/messaging/address.d.ts} +7 -4
  255. package/dist/transport/messaging/address.d.ts.map +1 -0
  256. package/dist/{endpoint/addressing/index.js → transport/messaging/address.js} +30 -26
  257. package/dist/transport/messaging/address.js.map +1 -0
  258. package/dist/{endpoint/protocol/index.d.ts → transport/messaging/certification.d.ts} +4 -4
  259. package/dist/transport/messaging/certification.d.ts.map +1 -0
  260. package/dist/{endpoint/protocol/index.js → transport/messaging/certification.js} +15 -10
  261. package/dist/transport/messaging/certification.js.map +1 -0
  262. package/dist/{endpoint/engine-dissemination.d.ts → transport/messaging/dissemination.d.ts} +3 -3
  263. package/dist/transport/messaging/dissemination.d.ts.map +1 -0
  264. package/dist/{endpoint/engine-dissemination.js → transport/messaging/dissemination.js} +7 -6
  265. package/dist/transport/messaging/dissemination.js.map +1 -0
  266. package/dist/transport/messaging/errors.d.ts +50 -0
  267. package/dist/transport/messaging/errors.d.ts.map +1 -0
  268. package/dist/transport/messaging/errors.js +64 -0
  269. package/dist/transport/messaging/errors.js.map +1 -0
  270. package/dist/{endpoint/protocol → transport/messaging}/evidence.d.ts +3 -3
  271. package/dist/transport/messaging/evidence.d.ts.map +1 -0
  272. package/dist/{endpoint/protocol → transport/messaging}/evidence.js +1 -1
  273. package/dist/transport/messaging/evidence.js.map +1 -0
  274. package/dist/{endpoint/engine.d.ts → transport/messaging/index.d.ts} +4 -4
  275. package/dist/transport/messaging/index.d.ts.map +1 -0
  276. package/dist/{endpoint/engine.js → transport/messaging/index.js} +25 -9
  277. package/dist/transport/messaging/index.js.map +1 -0
  278. package/dist/transport/messaging/message.d.ts +112 -0
  279. package/dist/transport/messaging/message.d.ts.map +1 -0
  280. package/dist/transport/messaging/message.js +38 -0
  281. package/dist/transport/messaging/message.js.map +1 -0
  282. package/dist/{endpoint/recovery → transport/messaging}/reanchor/empty.d.ts +5 -5
  283. package/dist/transport/messaging/reanchor/empty.d.ts.map +1 -0
  284. package/dist/{endpoint/recovery → transport/messaging}/reanchor/empty.js +3 -3
  285. package/dist/transport/messaging/reanchor/empty.js.map +1 -0
  286. package/dist/{endpoint/recovery → transport/messaging}/reanchor/index.d.ts +3 -3
  287. package/dist/transport/messaging/reanchor/index.d.ts.map +1 -0
  288. package/dist/{endpoint/recovery → transport/messaging}/reanchor/index.js +27 -12
  289. package/dist/transport/messaging/reanchor/index.js.map +1 -0
  290. package/dist/{endpoint/engine-durability.d.ts → transport/messaging/records/index.d.ts} +9 -6
  291. package/dist/transport/messaging/records/index.d.ts.map +1 -0
  292. package/dist/{endpoint/engine-durability.js → transport/messaging/records/index.js} +9 -15
  293. package/dist/transport/messaging/records/index.js.map +1 -0
  294. package/dist/{endpoint → transport/messaging}/recovery/barrier.d.ts +1 -1
  295. package/dist/transport/messaging/recovery/barrier.d.ts.map +1 -0
  296. package/dist/transport/messaging/recovery/barrier.js.map +1 -0
  297. package/dist/{endpoint/recovery/store-evidence.d.ts → transport/messaging/recovery/evidence.d.ts} +5 -5
  298. package/dist/transport/messaging/recovery/evidence.d.ts.map +1 -0
  299. package/dist/{endpoint/recovery/store-evidence.js → transport/messaging/recovery/evidence.js} +3 -3
  300. package/dist/transport/messaging/recovery/evidence.js.map +1 -0
  301. package/dist/{endpoint → transport/messaging}/recovery/index.d.ts +4 -4
  302. package/dist/transport/messaging/recovery/index.d.ts.map +1 -0
  303. package/dist/{endpoint → transport/messaging}/recovery/index.js +41 -32
  304. package/dist/transport/messaging/recovery/index.js.map +1 -0
  305. package/dist/{endpoint/recovery/store.d.ts → transport/messaging/recovery/persistence.d.ts} +5 -5
  306. package/dist/transport/messaging/recovery/persistence.d.ts.map +1 -0
  307. package/dist/{endpoint/recovery/store.js → transport/messaging/recovery/persistence.js} +4 -4
  308. package/dist/transport/messaging/recovery/persistence.js.map +1 -0
  309. package/dist/{endpoint/recovery/state.d.ts → transport/messaging/recovery-session/index.d.ts} +6 -6
  310. package/dist/transport/messaging/recovery-session/index.d.ts.map +1 -0
  311. package/dist/{endpoint/recovery/state.js → transport/messaging/recovery-session/index.js} +3 -3
  312. package/dist/transport/messaging/recovery-session/index.js.map +1 -0
  313. package/dist/{endpoint/engine-types.d.ts → transport/messaging/runtime/index.d.ts} +22 -5
  314. package/dist/transport/messaging/runtime/index.d.ts.map +1 -0
  315. package/dist/{endpoint/engine-types.js → transport/messaging/runtime/index.js} +1 -1
  316. package/dist/transport/messaging/runtime/index.js.map +1 -0
  317. package/dist/{endpoint/engine-send.d.ts → transport/messaging/send.d.ts} +5 -4
  318. package/dist/transport/messaging/send.d.ts.map +1 -0
  319. package/dist/{endpoint/engine-send.js → transport/messaging/send.js} +4 -4
  320. package/dist/transport/messaging/send.js.map +1 -0
  321. package/dist/transport/router/index.d.ts.map +1 -0
  322. package/dist/{endpoint/router-worker → transport/router}/index.js +1 -1
  323. package/dist/transport/router/index.js.map +1 -0
  324. package/dist/transport/router/outage.d.ts.map +1 -0
  325. package/dist/transport/router/outage.js.map +1 -0
  326. package/dist/{endpoint/router-worker → transport/router}/types.d.ts +3 -4
  327. package/dist/transport/router/types.d.ts.map +1 -0
  328. package/dist/transport/router/types.js.map +1 -0
  329. package/dist/{endpoint/representation-canonical.d.ts → transport/wire/encoding/canonical.d.ts} +1 -2
  330. package/dist/transport/wire/encoding/canonical.d.ts.map +1 -0
  331. package/dist/{endpoint/representation-canonical.js → transport/wire/encoding/canonical.js} +2 -2
  332. package/dist/transport/wire/encoding/canonical.js.map +1 -0
  333. package/dist/{endpoint/representation-codec.d.ts → transport/wire/encoding/codec.d.ts} +5 -9
  334. package/dist/transport/wire/encoding/codec.d.ts.map +1 -0
  335. package/dist/{endpoint/representation-codec.js → transport/wire/encoding/codec.js} +7 -27
  336. package/dist/transport/wire/encoding/codec.js.map +1 -0
  337. package/dist/transport/wire/encoding/index.d.ts +4 -0
  338. package/dist/transport/wire/encoding/index.d.ts.map +1 -0
  339. package/dist/transport/wire/encoding/index.js +6 -0
  340. package/dist/transport/wire/encoding/index.js.map +1 -0
  341. package/dist/transport/wire/index.d.ts +6 -0
  342. package/dist/transport/wire/index.d.ts.map +1 -0
  343. package/dist/transport/wire/index.js +9 -0
  344. package/dist/transport/wire/index.js.map +1 -0
  345. package/dist/{endpoint/representation-schemas.d.ts → transport/wire/schemas.d.ts} +76 -98
  346. package/dist/transport/wire/schemas.d.ts.map +1 -0
  347. package/dist/{endpoint/representation-schemas.js → transport/wire/schemas.js} +7 -19
  348. package/dist/transport/wire/schemas.js.map +1 -0
  349. package/dist/transport/wire/values.d.ts +114 -0
  350. package/dist/transport/wire/values.d.ts.map +1 -0
  351. package/dist/transport/wire/values.js +192 -0
  352. package/dist/transport/wire/values.js.map +1 -0
  353. package/dist/{endpoint/representation-verification.d.ts → transport/wire/verification.d.ts} +3 -4
  354. package/dist/transport/wire/verification.d.ts.map +1 -0
  355. package/dist/{endpoint/representation-verification.js → transport/wire/verification.js} +4 -4
  356. package/dist/transport/wire/verification.js.map +1 -0
  357. package/package.json +6 -6
  358. package/dist/client-runtime.d.ts.map +0 -1
  359. package/dist/client-runtime.js.map +0 -1
  360. package/dist/contract.d.ts +0 -721
  361. package/dist/contract.d.ts.map +0 -1
  362. package/dist/contract.js +0 -441
  363. package/dist/contract.js.map +0 -1
  364. package/dist/contract.types-check.d.ts.map +0 -1
  365. package/dist/contract.types-check.js.map +0 -1
  366. package/dist/daemon/configuration.d.ts.map +0 -1
  367. package/dist/daemon/configuration.js +0 -75
  368. package/dist/daemon/configuration.js.map +0 -1
  369. package/dist/daemon/management.d.ts.map +0 -1
  370. package/dist/daemon/management.js.map +0 -1
  371. package/dist/daemon/registration.d.ts.map +0 -1
  372. package/dist/daemon/registration.js.map +0 -1
  373. package/dist/daemon/runtime/activation.d.ts.map +0 -1
  374. package/dist/daemon/runtime/activation.js.map +0 -1
  375. package/dist/daemon/runtime/controller.d.ts.map +0 -1
  376. package/dist/daemon/runtime/controller.js +0 -138
  377. package/dist/daemon/runtime/controller.js.map +0 -1
  378. package/dist/daemon/runtime/history-export.d.ts +0 -33
  379. package/dist/daemon/runtime/history-export.d.ts.map +0 -1
  380. package/dist/daemon/runtime/history-export.js.map +0 -1
  381. package/dist/daemon/runtime/index.d.ts.map +0 -1
  382. package/dist/daemon/runtime/index.js.map +0 -1
  383. package/dist/daemon/runtime/pending-delivery.d.ts +0 -49
  384. package/dist/daemon/runtime/pending-delivery.d.ts.map +0 -1
  385. package/dist/daemon/runtime/pending-delivery.js.map +0 -1
  386. package/dist/daemon/runtime/protocol.d.ts.map +0 -1
  387. package/dist/daemon/runtime/protocol.js.map +0 -1
  388. package/dist/endpoint/addressing/index.d.ts.map +0 -1
  389. package/dist/endpoint/addressing/index.js.map +0 -1
  390. package/dist/endpoint/collective/operation.d.ts.map +0 -1
  391. package/dist/endpoint/collective/operation.js.map +0 -1
  392. package/dist/endpoint/collective/received-request.d.ts.map +0 -1
  393. package/dist/endpoint/collective/received-request.js.map +0 -1
  394. package/dist/endpoint/collective/request-sends.d.ts.map +0 -1
  395. package/dist/endpoint/collective/request-sends.js.map +0 -1
  396. package/dist/endpoint/collective/shared-answers.d.ts.map +0 -1
  397. package/dist/endpoint/collective/shared-answers.js.map +0 -1
  398. package/dist/endpoint/collective/validation.d.ts +0 -49
  399. package/dist/endpoint/collective/validation.d.ts.map +0 -1
  400. package/dist/endpoint/collective/validation.js +0 -97
  401. package/dist/endpoint/collective/validation.js.map +0 -1
  402. package/dist/endpoint/collective/wire.d.ts.map +0 -1
  403. package/dist/endpoint/collective/wire.js.map +0 -1
  404. package/dist/endpoint/engine-dissemination.d.ts.map +0 -1
  405. package/dist/endpoint/engine-dissemination.js.map +0 -1
  406. package/dist/endpoint/engine-durability.d.ts.map +0 -1
  407. package/dist/endpoint/engine-durability.js.map +0 -1
  408. package/dist/endpoint/engine-send.d.ts.map +0 -1
  409. package/dist/endpoint/engine-send.js.map +0 -1
  410. package/dist/endpoint/engine-types.d.ts.map +0 -1
  411. package/dist/endpoint/engine-types.js.map +0 -1
  412. package/dist/endpoint/engine.d.ts.map +0 -1
  413. package/dist/endpoint/engine.js.map +0 -1
  414. package/dist/endpoint/protocol/evidence.d.ts.map +0 -1
  415. package/dist/endpoint/protocol/evidence.js.map +0 -1
  416. package/dist/endpoint/protocol/index.d.ts.map +0 -1
  417. package/dist/endpoint/protocol/index.js.map +0 -1
  418. package/dist/endpoint/recovery/barrier.d.ts.map +0 -1
  419. package/dist/endpoint/recovery/barrier.js.map +0 -1
  420. package/dist/endpoint/recovery/index.d.ts.map +0 -1
  421. package/dist/endpoint/recovery/index.js.map +0 -1
  422. package/dist/endpoint/recovery/reanchor/empty.d.ts.map +0 -1
  423. package/dist/endpoint/recovery/reanchor/empty.js.map +0 -1
  424. package/dist/endpoint/recovery/reanchor/index.d.ts.map +0 -1
  425. package/dist/endpoint/recovery/reanchor/index.js.map +0 -1
  426. package/dist/endpoint/recovery/state.d.ts.map +0 -1
  427. package/dist/endpoint/recovery/state.js.map +0 -1
  428. package/dist/endpoint/recovery/store-evidence.d.ts.map +0 -1
  429. package/dist/endpoint/recovery/store-evidence.js.map +0 -1
  430. package/dist/endpoint/recovery/store.d.ts.map +0 -1
  431. package/dist/endpoint/recovery/store.js.map +0 -1
  432. package/dist/endpoint/representation-canonical.d.ts.map +0 -1
  433. package/dist/endpoint/representation-canonical.js.map +0 -1
  434. package/dist/endpoint/representation-codec.d.ts.map +0 -1
  435. package/dist/endpoint/representation-codec.js.map +0 -1
  436. package/dist/endpoint/representation-schemas.d.ts.map +0 -1
  437. package/dist/endpoint/representation-schemas.js.map +0 -1
  438. package/dist/endpoint/representation-verification.d.ts.map +0 -1
  439. package/dist/endpoint/representation-verification.js.map +0 -1
  440. package/dist/endpoint/representation.d.ts +0 -6
  441. package/dist/endpoint/representation.d.ts.map +0 -1
  442. package/dist/endpoint/representation.js +0 -8
  443. package/dist/endpoint/representation.js.map +0 -1
  444. package/dist/endpoint/router-worker/index.d.ts.map +0 -1
  445. package/dist/endpoint/router-worker/index.js.map +0 -1
  446. package/dist/endpoint/router-worker/outage.d.ts.map +0 -1
  447. package/dist/endpoint/router-worker/outage.js.map +0 -1
  448. package/dist/endpoint/router-worker/types.d.ts.map +0 -1
  449. package/dist/endpoint/router-worker/types.js.map +0 -1
  450. package/dist/endpoint/store/anchors.d.ts.map +0 -1
  451. package/dist/endpoint/store/anchors.js.map +0 -1
  452. package/dist/endpoint/store/database/index.d.ts.map +0 -1
  453. package/dist/endpoint/store/database/index.js.map +0 -1
  454. package/dist/endpoint/store/database/schema.d.ts.map +0 -1
  455. package/dist/endpoint/store/database/schema.js.map +0 -1
  456. package/dist/endpoint/store/database/values.d.ts.map +0 -1
  457. package/dist/endpoint/store/database/values.js.map +0 -1
  458. package/dist/endpoint/store/deliveries.d.ts.map +0 -1
  459. package/dist/endpoint/store/deliveries.js.map +0 -1
  460. package/dist/endpoint/store/dissemination.d.ts.map +0 -1
  461. package/dist/endpoint/store/dissemination.js.map +0 -1
  462. package/dist/endpoint/store/index.d.ts.map +0 -1
  463. package/dist/endpoint/store/index.js.map +0 -1
  464. package/dist/endpoint/store/management.d.ts.map +0 -1
  465. package/dist/endpoint/store/management.js.map +0 -1
  466. package/dist/endpoint/store/outbound.d.ts.map +0 -1
  467. package/dist/endpoint/store/outbound.js.map +0 -1
  468. package/dist/endpoint/store/records.d.ts.map +0 -1
  469. package/dist/endpoint/store/records.js.map +0 -1
  470. package/dist/endpoint/store/rows/index.d.ts.map +0 -1
  471. package/dist/endpoint/store/rows/index.js.map +0 -1
  472. package/dist/endpoint/store/types.d.ts.map +0 -1
  473. package/dist/endpoint/store/types.js.map +0 -1
  474. package/dist/endpoint/store.d.ts +0 -10
  475. package/dist/endpoint/store.d.ts.map +0 -1
  476. package/dist/endpoint/store.js +0 -6
  477. package/dist/endpoint/store.js.map +0 -1
  478. package/dist/harness-mcp-contract.d.ts.map +0 -1
  479. package/dist/harness-mcp-contract.js +0 -113
  480. package/dist/harness-mcp-contract.js.map +0 -1
  481. package/dist/harness-mcp-http.d.ts.map +0 -1
  482. package/dist/harness-mcp-http.js.map +0 -1
  483. package/dist/harness-mcp-subscription.d.ts +0 -30
  484. package/dist/harness-mcp-subscription.d.ts.map +0 -1
  485. package/dist/harness-mcp-subscription.js +0 -361
  486. package/dist/harness-mcp-subscription.js.map +0 -1
  487. package/dist/harness-mcp-wire.d.ts.map +0 -1
  488. package/dist/harness-mcp-wire.js.map +0 -1
  489. package/dist/management-runtime.d.ts.map +0 -1
  490. package/dist/management-runtime.js.map +0 -1
  491. package/dist/message-text.d.ts.map +0 -1
  492. package/dist/message-text.js.map +0 -1
  493. package/dist/server.d.ts.map +0 -1
  494. package/dist/server.js.map +0 -1
  495. package/dist/server.types-check.d.ts.map +0 -1
  496. package/dist/server.types-check.js.map +0 -1
  497. /package/dist/{endpoint/store → store}/anchors.d.ts +0 -0
  498. /package/dist/{endpoint/store → store}/anchors.js +0 -0
  499. /package/dist/{endpoint/store → store}/database/index.d.ts +0 -0
  500. /package/dist/{endpoint/store → store}/database/index.js +0 -0
  501. /package/dist/{endpoint/store → store}/database/schema.d.ts +0 -0
  502. /package/dist/{endpoint/store → store}/database/values.d.ts +0 -0
  503. /package/dist/{endpoint/store → store}/database/values.js +0 -0
  504. /package/dist/{endpoint/store → store}/records.d.ts +0 -0
  505. /package/dist/{endpoint/store → store}/rows/index.d.ts +0 -0
  506. /package/dist/{endpoint/store → store}/rows/index.js +0 -0
  507. /package/dist/{endpoint/store → store}/types.js +0 -0
  508. /package/dist/{endpoint/collective → transport/collectives}/received-request.js +0 -0
  509. /package/dist/{endpoint/collective → transport/collectives}/request-sends.js +0 -0
  510. /package/dist/{endpoint/collective → transport/collectives}/shared-answers.js +0 -0
  511. /package/dist/{endpoint → transport/messaging}/recovery/barrier.js +0 -0
  512. /package/dist/{endpoint/router-worker → transport/router}/index.d.ts +0 -0
  513. /package/dist/{endpoint/router-worker → transport/router}/outage.d.ts +0 -0
  514. /package/dist/{endpoint/router-worker → transport/router}/outage.js +0 -0
  515. /package/dist/{endpoint/router-worker → transport/router}/types.js +0 -0
@@ -0,0 +1,175 @@
1
+ /**
2
+ * @file The MCP form-mode grammar for one property of a `requestedSchema`.
3
+ *
4
+ * Each shape is the MCP specification's primitive schema definition for one
5
+ * kind of form field. Decoding tries the shapes in the specification's union
6
+ * order and keeps the first that admits the property, without the keywords
7
+ * that shape does not declare, so keywords outside the grammar never travel
8
+ * or reach answer validation. A property no shape admits fails with the
9
+ * failing keywords of the shape it most plausibly meant, so a requester can
10
+ * repair the property it meant to write.
11
+ */
12
+ import { Schema } from "effect";
13
+ /** A single-select whose options carry display names in `enumNames`. */
14
+ declare const LegacyTitledEnumSchema: Schema.Struct<{
15
+ title: Schema.optionalWith<Schema.Schema<string, string, never>, {
16
+ exact: true;
17
+ }>;
18
+ description: Schema.optionalWith<Schema.Schema<string, string, never>, {
19
+ exact: true;
20
+ }>;
21
+ type: Schema.propertySignature<Schema.Schema<"string", "string", never>>;
22
+ enum: Schema.propertySignature<Schema.Schema<readonly string[], readonly string[], never>>;
23
+ enumNames: Schema.optionalWith<Schema.Schema<readonly string[], readonly string[], never>, {
24
+ exact: true;
25
+ }>;
26
+ default: Schema.optionalWith<Schema.Schema<string, string, never>, {
27
+ exact: true;
28
+ }>;
29
+ }>;
30
+ declare const UntitledSingleSelectEnumSchema: Schema.Struct<{
31
+ title: Schema.optionalWith<Schema.Schema<string, string, never>, {
32
+ exact: true;
33
+ }>;
34
+ description: Schema.optionalWith<Schema.Schema<string, string, never>, {
35
+ exact: true;
36
+ }>;
37
+ type: Schema.propertySignature<Schema.Schema<"string", "string", never>>;
38
+ enum: Schema.propertySignature<Schema.Schema<readonly string[], readonly string[], never>>;
39
+ default: Schema.optionalWith<Schema.Schema<string, string, never>, {
40
+ exact: true;
41
+ }>;
42
+ }>;
43
+ declare const TitledSingleSelectEnumSchema: Schema.Struct<{
44
+ title: Schema.optionalWith<Schema.Schema<string, string, never>, {
45
+ exact: true;
46
+ }>;
47
+ description: Schema.optionalWith<Schema.Schema<string, string, never>, {
48
+ exact: true;
49
+ }>;
50
+ type: Schema.propertySignature<Schema.Schema<"string", "string", never>>;
51
+ oneOf: Schema.propertySignature<Schema.Schema<readonly {
52
+ readonly const: string;
53
+ readonly title: string;
54
+ }[], readonly {
55
+ readonly const: string;
56
+ readonly title: string;
57
+ }[], never>>;
58
+ default: Schema.optionalWith<Schema.Schema<string, string, never>, {
59
+ exact: true;
60
+ }>;
61
+ }>;
62
+ declare const UntitledMultiSelectEnumSchema: Schema.Struct<{
63
+ title: Schema.optionalWith<Schema.Schema<string, string, never>, {
64
+ exact: true;
65
+ }>;
66
+ description: Schema.optionalWith<Schema.Schema<string, string, never>, {
67
+ exact: true;
68
+ }>;
69
+ type: Schema.propertySignature<Schema.Schema<"array", "array", never>>;
70
+ minItems: Schema.optionalWith<Schema.Schema<number, number, never>, {
71
+ exact: true;
72
+ }>;
73
+ maxItems: Schema.optionalWith<Schema.Schema<number, number, never>, {
74
+ exact: true;
75
+ }>;
76
+ default: Schema.optionalWith<Schema.Schema<readonly string[], readonly string[], never>, {
77
+ exact: true;
78
+ }>;
79
+ items: Schema.propertySignature<Schema.Schema<{
80
+ readonly type: "string";
81
+ readonly enum: readonly string[];
82
+ }, {
83
+ readonly enum: readonly string[];
84
+ readonly type: "string";
85
+ }, never>>;
86
+ }>;
87
+ declare const TitledMultiSelectEnumSchema: Schema.Struct<{
88
+ title: Schema.optionalWith<Schema.Schema<string, string, never>, {
89
+ exact: true;
90
+ }>;
91
+ description: Schema.optionalWith<Schema.Schema<string, string, never>, {
92
+ exact: true;
93
+ }>;
94
+ type: Schema.propertySignature<Schema.Schema<"array", "array", never>>;
95
+ minItems: Schema.optionalWith<Schema.Schema<number, number, never>, {
96
+ exact: true;
97
+ }>;
98
+ maxItems: Schema.optionalWith<Schema.Schema<number, number, never>, {
99
+ exact: true;
100
+ }>;
101
+ default: Schema.optionalWith<Schema.Schema<readonly string[], readonly string[], never>, {
102
+ exact: true;
103
+ }>;
104
+ items: Schema.propertySignature<Schema.Schema<{
105
+ readonly anyOf: readonly {
106
+ readonly const: string;
107
+ readonly title: string;
108
+ }[];
109
+ }, {
110
+ readonly anyOf: readonly {
111
+ readonly const: string;
112
+ readonly title: string;
113
+ }[];
114
+ }, never>>;
115
+ }>;
116
+ declare const BooleanSchema: Schema.Struct<{
117
+ title: Schema.optionalWith<Schema.Schema<string, string, never>, {
118
+ exact: true;
119
+ }>;
120
+ description: Schema.optionalWith<Schema.Schema<string, string, never>, {
121
+ exact: true;
122
+ }>;
123
+ type: Schema.propertySignature<Schema.Schema<"boolean", "boolean", never>>;
124
+ default: Schema.optionalWith<Schema.Schema<boolean, boolean, never>, {
125
+ exact: true;
126
+ }>;
127
+ }>;
128
+ declare const StringSchema: Schema.Struct<{
129
+ title: Schema.optionalWith<Schema.Schema<string, string, never>, {
130
+ exact: true;
131
+ }>;
132
+ description: Schema.optionalWith<Schema.Schema<string, string, never>, {
133
+ exact: true;
134
+ }>;
135
+ type: Schema.propertySignature<Schema.Schema<"string", "string", never>>;
136
+ minLength: Schema.optionalWith<Schema.Schema<number, number, never>, {
137
+ exact: true;
138
+ }>;
139
+ maxLength: Schema.optionalWith<Schema.Schema<number, number, never>, {
140
+ exact: true;
141
+ }>;
142
+ format: Schema.optionalWith<Schema.Schema<"date" | "date-time" | "email" | "uri", "date" | "date-time" | "email" | "uri", never>, {
143
+ exact: true;
144
+ }>;
145
+ default: Schema.optionalWith<Schema.Schema<string, string, never>, {
146
+ exact: true;
147
+ }>;
148
+ }>;
149
+ declare const NumberSchema: Schema.Struct<{
150
+ title: Schema.optionalWith<Schema.Schema<string, string, never>, {
151
+ exact: true;
152
+ }>;
153
+ description: Schema.optionalWith<Schema.Schema<string, string, never>, {
154
+ exact: true;
155
+ }>;
156
+ type: Schema.propertySignature<Schema.Schema<"integer" | "number", "integer" | "number", never>>;
157
+ minimum: Schema.optionalWith<Schema.Schema<number, number, never>, {
158
+ exact: true;
159
+ }>;
160
+ maximum: Schema.optionalWith<Schema.Schema<number, number, never>, {
161
+ exact: true;
162
+ }>;
163
+ default: Schema.optionalWith<Schema.Schema<number, number, never>, {
164
+ exact: true;
165
+ }>;
166
+ }>;
167
+ /** One admitted form field: a primitive property of a form-mode schema. */
168
+ export type FormField = typeof LegacyTitledEnumSchema.Type | typeof UntitledSingleSelectEnumSchema.Type | typeof TitledSingleSelectEnumSchema.Type | typeof UntitledMultiSelectEnumSchema.Type | typeof TitledMultiSelectEnumSchema.Type | typeof BooleanSchema.Type | typeof StringSchema.Type | typeof NumberSchema.Type;
169
+ /**
170
+ * One property of an MCP form-mode `requestedSchema`. Decoding keeps only the
171
+ * keywords of the shape that admitted the property.
172
+ */
173
+ export declare const FormFieldSchema: Schema.transformOrFail<typeof Schema.Unknown, Schema.declare<FormField, FormField, readonly [], never>, never>;
174
+ export {};
175
+ //# sourceMappingURL=grammar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"grammar.d.ts","sourceRoot":"","sources":["../../../../src/transport/collectives/part/grammar.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,EAML,MAAM,EACP,MAAM,QAAQ,CAAC;AAyDhB,wEAAwE;AACxE,QAAA,MAAM,sBAAsB;;;;;;;;;;;;;;;EAM1B,CAAC;AAEH,QAAA,MAAM,8BAA8B;;;;;;;;;;;;EAKlC,CAAC;AAEH,QAAA,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;EAKhC,CAAC;AAUH,QAAA,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;EAUjC,CAAC;AAEH,QAAA,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAG/B,CAAC;AAEH,QAAA,MAAM,aAAa;;;;;;;;;;;EAIjB,CAAC;AAEH,QAAA,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;EAUhB,CAAC;AAEH,QAAA,MAAM,YAAY;;;;;;;;;;;;;;;;;EAMhB,CAAC;AAEH,2EAA2E;AAC3E,MAAM,MAAM,SAAS,GACjB,OAAO,sBAAsB,CAAC,IAAI,GAClC,OAAO,8BAA8B,CAAC,IAAI,GAC1C,OAAO,4BAA4B,CAAC,IAAI,GACxC,OAAO,6BAA6B,CAAC,IAAI,GACzC,OAAO,2BAA2B,CAAC,IAAI,GACvC,OAAO,aAAa,CAAC,IAAI,GACzB,OAAO,YAAY,CAAC,IAAI,GACxB,OAAO,YAAY,CAAC,IAAI,CAAC;AAqG7B;;;GAGG;AACH,eAAO,MAAM,eAAe,gHAe3B,CAAC"}
@@ -0,0 +1,222 @@
1
+ /**
2
+ * @file The MCP form-mode grammar for one property of a `requestedSchema`.
3
+ *
4
+ * Each shape is the MCP specification's primitive schema definition for one
5
+ * kind of form field. Decoding tries the shapes in the specification's union
6
+ * order and keeps the first that admits the property, without the keywords
7
+ * that shape does not declare, so keywords outside the grammar never travel
8
+ * or reach answer validation. A property no shape admits fails with the
9
+ * failing keywords of the shape it most plausibly meant, so a requester can
10
+ * repair the property it meant to write.
11
+ */
12
+ import { Array as Arr, Either, Option, ParseResult, Predicate, Schema, } from "effect";
13
+ import { describeIssues } from "../forms.js";
14
+ /* eslint-disable @typescript-eslint/naming-convention -- Effect Schemas take the names of the MCP specification shapes they mirror. */
15
+ const expectedText = (expected) => `Invalid input: expected ${expected}`;
16
+ /**
17
+ * A keyword whose failure, ill-typed or missing, names what it expects.
18
+ * `whole` reports a failure inside the keyword's value as one failure of the
19
+ * keyword; a nested object keeps its own keywords' paths instead.
20
+ */
21
+ const expecting = (schema, expected, whole = true) => schema.annotations({
22
+ message: () => ({ message: expectedText(expected), override: whole }),
23
+ });
24
+ function keyword(schema, expected, whole = true) {
25
+ return Schema.propertySignature(expecting(schema, expected, whole)).annotations({ missingMessage: () => expectedText(expected) });
26
+ }
27
+ function optionalKeyword(schema, expected) {
28
+ return Schema.optionalWith(expecting(schema, expected), { exact: true });
29
+ }
30
+ const FiniteNumber = Schema.Number.pipe(Schema.finite());
31
+ const StringList = Schema.Array(Schema.String);
32
+ const STRING_LIST = "an array of strings";
33
+ /** Labels every field shape may carry; neither constrains an answer. */
34
+ const labels = {
35
+ title: optionalKeyword(Schema.String, "string"),
36
+ description: optionalKeyword(Schema.String, "string"),
37
+ };
38
+ const stringType = keyword(Schema.Literal("string"), '"string"');
39
+ const arrayType = keyword(Schema.Literal("array"), '"array"');
40
+ const optionalString = optionalKeyword(Schema.String, "string");
41
+ const optionalNumber = optionalKeyword(FiniteNumber, "number");
42
+ /** One titled option of a titled select: the value and its display title. */
43
+ const titledOptions = keyword(Schema.Array(Schema.Struct({ const: Schema.String, title: Schema.String })), 'an array of {"const": string, "title": string}');
44
+ /** A single-select whose options carry display names in `enumNames`. */
45
+ const LegacyTitledEnumSchema = Schema.Struct({
46
+ type: stringType,
47
+ ...labels,
48
+ enum: keyword(StringList, STRING_LIST),
49
+ enumNames: optionalKeyword(StringList, STRING_LIST),
50
+ default: optionalString,
51
+ });
52
+ const UntitledSingleSelectEnumSchema = Schema.Struct({
53
+ type: stringType,
54
+ ...labels,
55
+ enum: keyword(StringList, STRING_LIST),
56
+ default: optionalString,
57
+ });
58
+ const TitledSingleSelectEnumSchema = Schema.Struct({
59
+ type: stringType,
60
+ ...labels,
61
+ oneOf: titledOptions,
62
+ default: optionalString,
63
+ });
64
+ const multiSelect = {
65
+ type: arrayType,
66
+ ...labels,
67
+ minItems: optionalNumber,
68
+ maxItems: optionalNumber,
69
+ default: optionalKeyword(StringList, STRING_LIST),
70
+ };
71
+ const UntitledMultiSelectEnumSchema = Schema.Struct({
72
+ ...multiSelect,
73
+ items: keyword(Schema.Struct({
74
+ type: stringType,
75
+ enum: keyword(StringList, STRING_LIST),
76
+ }), "an object", false),
77
+ });
78
+ const TitledMultiSelectEnumSchema = Schema.Struct({
79
+ ...multiSelect,
80
+ items: keyword(Schema.Struct({ anyOf: titledOptions }), "an object", false),
81
+ });
82
+ const BooleanSchema = Schema.Struct({
83
+ type: keyword(Schema.Literal("boolean"), '"boolean"'),
84
+ ...labels,
85
+ default: optionalKeyword(Schema.Boolean, "boolean"),
86
+ });
87
+ const StringSchema = Schema.Struct({
88
+ type: stringType,
89
+ ...labels,
90
+ minLength: optionalNumber,
91
+ maxLength: optionalNumber,
92
+ format: optionalKeyword(Schema.Literal("email", "uri", "date", "date-time"), 'one of "email", "uri", "date" or "date-time"'),
93
+ default: optionalString,
94
+ });
95
+ const NumberSchema = Schema.Struct({
96
+ type: keyword(Schema.Literal("number", "integer"), '"number" or "integer"'),
97
+ ...labels,
98
+ minimum: optionalNumber,
99
+ maximum: optionalNumber,
100
+ default: optionalNumber,
101
+ });
102
+ /** Shape outputs keep only declared keywords; failures report every keyword. */
103
+ const shapeOptions = {
104
+ onExcessProperty: "ignore",
105
+ errors: "all",
106
+ };
107
+ const decoderOf = (schema) => (property) => Schema.decodeUnknownEither(schema)(property, shapeOptions);
108
+ /** The shapes in the specification's union order; the first match wins. */
109
+ const fieldShapes = [
110
+ decoderOf(LegacyTitledEnumSchema),
111
+ decoderOf(UntitledSingleSelectEnumSchema),
112
+ decoderOf(TitledSingleSelectEnumSchema),
113
+ decoderOf(UntitledMultiSelectEnumSchema),
114
+ decoderOf(TitledMultiSelectEnumSchema),
115
+ decoderOf(BooleanSchema),
116
+ decoderOf(StringSchema),
117
+ decoderOf(NumberSchema),
118
+ ];
119
+ const declares = (property, ...types) => Predicate.hasProperty(property, "type") &&
120
+ types.some((type) => type === property.type);
121
+ /** Shapes by intent, each listed before any shape it refines. */
122
+ const intendedShapes = [
123
+ {
124
+ expected: 'a titled single-select is {"type":"string","oneOf":[{"const":"a","title":"A"}]}',
125
+ decode: decoderOf(TitledSingleSelectEnumSchema),
126
+ intends: (property) => declares(property, "string") && Predicate.hasProperty(property, "oneOf"),
127
+ },
128
+ {
129
+ expected: 'a single-select is {"type":"string","enum":["a","b"]}',
130
+ decode: decoderOf(UntitledSingleSelectEnumSchema),
131
+ intends: (property) => declares(property, "string") && Predicate.hasProperty(property, "enum"),
132
+ },
133
+ {
134
+ expected: 'a string is {"type":"string"} with optional minLength, maxLength or format',
135
+ decode: decoderOf(StringSchema),
136
+ intends: (property) => declares(property, "string"),
137
+ },
138
+ {
139
+ expected: 'a number is {"type":"number"} or {"type":"integer"} with optional minimum and maximum',
140
+ decode: decoderOf(NumberSchema),
141
+ intends: (property) => declares(property, "number", "integer"),
142
+ },
143
+ {
144
+ expected: 'a boolean is {"type":"boolean"}',
145
+ decode: decoderOf(BooleanSchema),
146
+ intends: (property) => declares(property, "boolean"),
147
+ },
148
+ {
149
+ expected: 'a titled multi-select is {"type":"array","items":{"anyOf":[{"const":"a","title":"A"}]}}',
150
+ decode: decoderOf(TitledMultiSelectEnumSchema),
151
+ intends: (property) => declares(property, "array") &&
152
+ Predicate.hasProperty(property, "items") &&
153
+ Predicate.hasProperty(property.items, "anyOf"),
154
+ },
155
+ {
156
+ expected: 'a multi-select is {"type":"array","items":{"type":"string","enum":["a","b"]}}',
157
+ decode: decoderOf(UntitledMultiSelectEnumSchema),
158
+ intends: (property) => declares(property, "array"),
159
+ },
160
+ ];
161
+ const FormFieldValue = Schema.declare((value) => Either.match(admitFormField(value), {
162
+ onLeft: () => false,
163
+ onRight: () => true,
164
+ }), { identifier: "PrimitiveSchemaDefinition" });
165
+ /**
166
+ * One property of an MCP form-mode `requestedSchema`. Decoding keeps only the
167
+ * keywords of the shape that admitted the property.
168
+ */
169
+ export const FormFieldSchema = Schema.transformOrFail(Schema.Unknown, FormFieldValue, {
170
+ strict: true,
171
+ decode: (value) => Either.match(admitFormField(value), {
172
+ onLeft: (message) => ParseResult.fail(new ParseResult.Type(FormFieldValue.ast, value, message)),
173
+ onRight: (field) => ParseResult.succeed(field),
174
+ }),
175
+ encode: (field) => ParseResult.succeed(field),
176
+ });
177
+ /**
178
+ * Admit one property under the first shape that matches it.
179
+ * @param property An untrusted property of a requested schema.
180
+ * @returns The admitted field, or the text naming each failing keyword.
181
+ */
182
+ function admitFormField(property) {
183
+ return Option.match(Arr.findFirst(fieldShapes, (decode) => Either.getRight(decode(property))), {
184
+ onNone: () => Either.left(formFieldViolation(property)),
185
+ onSome: offersOptions,
186
+ });
187
+ }
188
+ /**
189
+ * Say why no shape admits a property: each keyword its intended shape
190
+ * rejects, by path within the property, then that shape.
191
+ * @param property A property every shape rejected.
192
+ * @returns For example `items.type: Invalid input: expected "string"; a
193
+ * multi-select is {"type":"array","items":{"type":"string","enum":["a","b"]}}`.
194
+ */
195
+ function formFieldViolation(property) {
196
+ const shape = intendedShapes.find(({ intends }) => intends(property));
197
+ if (shape === undefined) {
198
+ return '"type" must be "string", "number", "integer", "boolean" or "array"';
199
+ }
200
+ return Either.match(shape.decode(property), {
201
+ onLeft: (error) => `${describeIssues(error)}; ${shape.expected}`,
202
+ onRight: () => shape.expected,
203
+ });
204
+ }
205
+ /**
206
+ * Refuse an admitted select that lists no option to choose. JSON Schema
207
+ * requires a non-empty `enum`, so such a field could accept no answer.
208
+ */
209
+ function offersOptions(field) {
210
+ const noOptions = (path) => Either.left(`${path.join(".")}: ${expectedText("at least one option")}`);
211
+ if ("enum" in field && field.enum.length === 0) {
212
+ return noOptions(["enum"]);
213
+ }
214
+ if ("items" in field && "enum" in field.items) {
215
+ return field.items.enum.length === 0
216
+ ? noOptions(["items", "enum"])
217
+ : Either.right(field);
218
+ }
219
+ return Either.right(field);
220
+ }
221
+ /* eslint-enable @typescript-eslint/naming-convention -- Restore the package naming rules after the shapes. */
222
+ //# sourceMappingURL=grammar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"grammar.js","sourceRoot":"","sources":["../../../../src/transport/collectives/part/grammar.ts"],"names":[],"mappings":"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"}
@@ -7,10 +7,11 @@
7
7
  * carries a `kind` discriminant so an endpoint classifies a part without trying
8
8
  * each shape in turn.
9
9
  */
10
- import { type PrimitiveSchemaDefinition as McpPrimitiveSchemaDefinition } from "@modelcontextprotocol/client";
11
- import { Effect, Option, ParseResult, Schema } from "effect";
12
- import { type AgentAddress, CollectiveId } from "../../contract.js";
13
- import { Content } from "../representation.js";
10
+ import { Effect, Option, Schema } from "effect";
11
+ import { type AgentAddress, Content } from "../../wire/index.js";
12
+ import { CollectiveId } from "../forms.js";
13
+ /** One admitted form field, the shape answer checks read. */
14
+ export type { FormField } from "./grammar.js";
14
15
  type PostContent = typeof Content.Type;
15
16
  /** The `data` part key under which the collective layer carries its value. */
16
17
  export declare const COLLECTIVE_DATA_KEY = "xyz.moltzap/collective";
@@ -20,10 +21,14 @@ export declare const COLLECTIVE_DATA_KEY = "xyz.moltzap/collective";
20
21
  * no other field.
21
22
  */
22
23
  export declare const FormModeSchema: Schema.filter<Schema.Struct<{
23
- $schema: Schema.optional<typeof Schema.String>;
24
+ $schema: Schema.optionalWith<typeof Schema.String, {
25
+ exact: true;
26
+ }>;
24
27
  type: Schema.Literal<["object"]>;
25
- properties: Schema.Record$<typeof Schema.String, Schema.transformOrFail<typeof Schema.Unknown, Schema.declare<McpPrimitiveSchemaDefinition, McpPrimitiveSchemaDefinition, readonly [], never>, never>>;
26
- required: Schema.optional<Schema.Array$<typeof Schema.String>>;
28
+ required: Schema.optionalWith<Schema.Array$<typeof Schema.String>, {
29
+ exact: true;
30
+ }>;
31
+ properties: Schema.Record$<typeof Schema.String, Schema.transformOrFail<typeof Schema.Unknown, Schema.declare<import("./grammar.js").FormField, import("./grammar.js").FormField, readonly [], never>, never>>;
27
32
  }>>;
28
33
  /** A validated form-mode schema for one collective question. */
29
34
  export type FormModeSchema = typeof FormModeSchema.Type;
@@ -37,19 +42,15 @@ export type FormModeSchema = typeof FormModeSchema.Type;
37
42
  * @returns The id the pair names.
38
43
  */
39
44
  export declare const collectiveIdOf: (requester: AgentAddress, nonce: string) => CollectiveId;
40
- /** A member's reply to one request; only `accept` carries content. */
41
- declare const CollectiveResponse: Schema.Union<[Schema.Struct<{
42
- kind: Schema.Literal<["response"]>;
43
- id: Schema.brand<Schema.filter<typeof Schema.String>, "CollectiveId">;
44
- action: Schema.Literal<["accept"]>;
45
- content: Schema.Record$<typeof Schema.String, Schema.Union<[typeof Schema.String, Schema.filter<typeof Schema.Number>, typeof Schema.Boolean, Schema.Array$<typeof Schema.String>]>>;
46
- }>, Schema.Struct<{
47
- kind: Schema.Literal<["response"]>;
48
- id: Schema.brand<Schema.filter<typeof Schema.String>, "CollectiveId">;
49
- action: Schema.Literal<["decline"]>;
50
- }>]>;
51
- /** A validated collective response. */
52
- export type CollectiveResponse = typeof CollectiveResponse.Type;
45
+ /**
46
+ * A fresh nonce and the id it binds to the requester.
47
+ * @param requester The address the id names as the operation's requester.
48
+ * @returns The nonce and the collective id derived from it.
49
+ */
50
+ export declare const mintCollectiveId: (requester: AgentAddress) => Effect.Effect<{
51
+ id: string & import("effect/Brand").Brand<"CollectiveId">;
52
+ nonce: string;
53
+ }, never, never>;
53
54
  /** Every value the collective layer carries, discriminated by `kind`. */
54
55
  declare const CollectiveValue: Schema.Union<[Schema.Struct<{
55
56
  kind: Schema.Literal<["operation"]>;
@@ -61,20 +62,24 @@ declare const CollectiveValue: Schema.Union<[Schema.Struct<{
61
62
  nonce: Schema.filter<typeof Schema.String>;
62
63
  deadlineAt: Schema.filter<typeof Schema.Int>;
63
64
  requestedSchema: Schema.filter<Schema.Struct<{
64
- $schema: Schema.optional<typeof Schema.String>;
65
+ $schema: Schema.optionalWith<typeof Schema.String, {
66
+ exact: true;
67
+ }>;
65
68
  type: Schema.Literal<["object"]>;
66
- properties: Schema.Record$<typeof Schema.String, Schema.transformOrFail<typeof Schema.Unknown, Schema.declare<McpPrimitiveSchemaDefinition, McpPrimitiveSchemaDefinition, readonly [], never>, never>>;
67
- required: Schema.optional<Schema.Array$<typeof Schema.String>>;
69
+ required: Schema.optionalWith<Schema.Array$<typeof Schema.String>, {
70
+ exact: true;
71
+ }>;
72
+ properties: Schema.Record$<typeof Schema.String, Schema.transformOrFail<typeof Schema.Unknown, Schema.declare<import("./grammar.js").FormField, import("./grammar.js").FormField, readonly [], never>, never>>;
68
73
  }>>;
69
74
  }>, Schema.Union<[Schema.Struct<{
70
- kind: Schema.Literal<["response"]>;
71
- id: Schema.brand<Schema.filter<typeof Schema.String>, "CollectiveId">;
72
75
  action: Schema.Literal<["accept"]>;
73
76
  content: Schema.Record$<typeof Schema.String, Schema.Union<[typeof Schema.String, Schema.filter<typeof Schema.Number>, typeof Schema.Boolean, Schema.Array$<typeof Schema.String>]>>;
74
- }>, Schema.Struct<{
75
77
  kind: Schema.Literal<["response"]>;
76
78
  id: Schema.brand<Schema.filter<typeof Schema.String>, "CollectiveId">;
79
+ }>, Schema.Struct<{
77
80
  action: Schema.Literal<["decline"]>;
81
+ kind: Schema.Literal<["response"]>;
82
+ id: Schema.brand<Schema.filter<typeof Schema.String>, "CollectiveId">;
78
83
  }>]>, Schema.Struct<{
79
84
  kind: Schema.Literal<["close"]>;
80
85
  id: Schema.brand<Schema.filter<typeof Schema.String>, "CollectiveId">;
@@ -109,16 +114,16 @@ export declare const withoutCollectivePart: (content: PostContent) => ReadonlyAr
109
114
  * @returns The validated value.
110
115
  */
111
116
  export declare const decodeCollectiveValue: (u: unknown, overrideOptions?: import("effect/SchemaAST").ParseOptions) => Effect.Effect<{
112
- readonly kind: "response";
113
- readonly id: string & import("effect/Brand").Brand<"CollectiveId">;
114
117
  readonly action: "accept";
115
118
  readonly content: {
116
119
  readonly [x: string]: string | number | boolean | readonly string[];
117
120
  };
118
- } | {
119
121
  readonly kind: "response";
120
122
  readonly id: string & import("effect/Brand").Brand<"CollectiveId">;
123
+ } | {
121
124
  readonly action: "decline";
125
+ readonly kind: "response";
126
+ readonly id: string & import("effect/Brand").Brand<"CollectiveId">;
122
127
  } | {
123
128
  readonly kind: "operation";
124
129
  readonly op: "multicast";
@@ -131,33 +136,16 @@ export declare const decodeCollectiveValue: (u: unknown, overrideOptions?: impor
131
136
  readonly requestedSchema: {
132
137
  readonly $schema?: string | undefined;
133
138
  readonly type: "object";
139
+ readonly required?: readonly string[] | undefined;
134
140
  readonly properties: {
135
- readonly [x: string]: McpPrimitiveSchemaDefinition;
141
+ readonly [x: string]: import("./grammar.js").FormField;
136
142
  };
137
- readonly required?: readonly string[] | undefined;
138
143
  };
139
144
  } | {
140
145
  readonly kind: "close";
141
146
  readonly id: string & import("effect/Brand").Brand<"CollectiveId">;
142
147
  readonly included: readonly (string & import("effect/Brand").Brand<"RecordHash">)[];
143
- }, ParseResult.ParseError, never>;
144
- /**
145
- * Decode one untrusted collective response.
146
- * @param value A member's response as it arrives.
147
- * @returns The validated response.
148
- */
149
- export declare const decodeCollectiveResponse: (u: unknown, overrideOptions?: import("effect/SchemaAST").ParseOptions) => Effect.Effect<{
150
- readonly kind: "response";
151
- readonly id: string & import("effect/Brand").Brand<"CollectiveId">;
152
- readonly action: "accept";
153
- readonly content: {
154
- readonly [x: string]: string | number | boolean | readonly string[];
155
- };
156
- } | {
157
- readonly kind: "response";
158
- readonly id: string & import("effect/Brand").Brand<"CollectiveId">;
159
- readonly action: "decline";
160
- }, ParseResult.ParseError, never>;
148
+ }, import("effect/ParseResult").ParseError, never>;
161
149
  /**
162
150
  * Find and decode the collective value in one post's content.
163
151
  * @param content Certified post content.
@@ -172,5 +160,4 @@ export declare const readCollectiveValue: (content: PostContent) => Effect.Effec
172
160
  * @returns Content with the text first and the collective part last.
173
161
  */
174
162
  export declare const encodeCollectiveContent: (value: CollectiveValue, text?: string) => Effect.Effect<PostContent, CollectiveContentError>;
175
- export {};
176
- //# sourceMappingURL=wire.d.ts.map
163
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/transport/collectives/part/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAQ,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEtD,OAAO,EACL,KAAK,YAAY,EACjB,OAAO,EAGR,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAEL,YAAY,EAGb,MAAM,aAAa,CAAC;AAGrB,6DAA6D;AAC7D,YAAY,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAI9C,KAAK,WAAW,GAAG,OAAO,OAAO,CAAC,IAAI,CAAC;AAEvC,8EAA8E;AAC9E,eAAO,MAAM,mBAAmB,2BAA2B,CAAC;AAE5D;;;;GAIG;AACH,eAAO,MAAM,cAAc;;;;;;;;;GAqB1B,CAAC;AACF,gEAAgE;AAChE,MAAM,MAAM,cAAc,GAAG,OAAO,cAAc,CAAC,IAAI,CAAC;AASxD;;;;;;;;GAQG;AACH,eAAO,MAAM,cAAc,cACd,YAAY,SAChB,MAAM,KACZ,YAKA,CAAC;AAEJ;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,cAAe,YAAY;;;gBAIpD,CAAC;AAuCL,yEAAyE;AACzE,QAAA,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAKpB,CAAC;AACF,oCAAoC;AACpC,MAAM,MAAM,eAAe,GAAG,OAAO,eAAe,CAAC,IAAI,CAAC;;;;AAE1D,+EAA+E;AAC/E,qBAAa,0BAA2B,SAAQ,gCAE9C;IACA,QAAQ,CAAC,MAAM,EAAE,WAAW,GAAG,WAAW,CAAC;CAC5C,CAAC;CAAG;;;;AAEL,kGAAkG;AAClG,qBAAa,sBAAuB,SAAQ,2BAE3C;CAAG;AAoBJ;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,YACvB,WAAW,KACnB,aAAa,CAAC,WAAW,CAAC,MAAM,CAAC,CACgC,CAAC;AAErE;;;;GAIG;AACH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kDAAwC,CAAC;AAE3E;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,YACrB,WAAW,KACnB,MAAM,CAAC,MAAM,CACd,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,EAC9B,0BAA0B,CAiB3B,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,uBAAuB,UAC3B,eAAe,SACf,MAAM,KACZ,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,sBAAsB,CAWjD,CAAC"}