@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,127 @@
1
+ /**
2
+ * @file The string formats a form-mode string field may require of an answer.
3
+ *
4
+ * Every endpoint must judge one answer the same way, since an all_gather's
5
+ * members agree on its result, so each format is the JSON Schema 2020-12
6
+ * format exactly as the full-mode `ajv-formats` validator judges it: `date`
7
+ * and `date-time` per RFC 3339 with a time zone required and a leap second
8
+ * only at 23:59 UTC, `email` as an RFC 5322 dot-atom at a dotted host name,
9
+ * and `uri` as an RFC 3986 absolute URI. The URI grammar also admits a single
10
+ * slash before an authority, which that validator admits.
11
+ */
12
+ const DAYS_IN_MONTH = [0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
13
+ const DATE = /^(\d{4})-(\d{2})-(\d{2})$/;
14
+ const TIME = /^(\d{2}):(\d{2}):(\d{2}(?:\.\d+)?)(z|([+-])(\d{2})(?::?(\d{2}))?)$/i;
15
+ const DATE_TIME_SEPARATOR = /t|\s/i;
16
+ const atom = "[a-z0-9!#$%&'*+/=?^_`{|}~-]+";
17
+ const hostLabel = "[a-z0-9](?:[a-z0-9-]*[a-z0-9])?";
18
+ const EMAIL = new RegExp(`^${atom}(?:\\.${atom})*@(?:${hostLabel}\\.)+${hostLabel}$`, "i");
19
+ const hex = "[0-9a-f]";
20
+ const pctEncoded = `%${hex}{2}`;
21
+ const unreserved = "a-z0-9\\-._~";
22
+ const subDelims = "!$&'()*+,;=";
23
+ const decOctet = "(?:25[0-5]|2[0-4]\\d|[01]?\\d\\d?)";
24
+ const ipv4 = `(?:${decOctet}\\.){3}${decOctet}`;
25
+ const h16 = `${hex}{1,4}`;
26
+ const ls32 = `(?:${h16}:${h16}|${ipv4})`;
27
+ const ipv6 = [
28
+ `(?:${h16}:){6}${ls32}`,
29
+ `::(?:${h16}:){5}${ls32}`,
30
+ `(?:${h16})?::(?:${h16}:){4}${ls32}`,
31
+ `(?:(?:${h16}:){0,1}${h16})?::(?:${h16}:){3}${ls32}`,
32
+ `(?:(?:${h16}:){0,2}${h16})?::(?:${h16}:){2}${ls32}`,
33
+ `(?:(?:${h16}:){0,3}${h16})?::${h16}:${ls32}`,
34
+ `(?:(?:${h16}:){0,4}${h16})?::${ls32}`,
35
+ `(?:(?:${h16}:){0,5}${h16})?::${h16}`,
36
+ `(?:(?:${h16}:){0,6}${h16})?::`,
37
+ ].join("|");
38
+ const ipFuture = `v${hex}+\\.[${unreserved}${subDelims}:]+`;
39
+ const host = `(?:\\[(?:${ipv6}|${ipFuture})\\]|${ipv4}|(?:[${unreserved}${subDelims}]|${pctEncoded})*)`;
40
+ const userinfo = `(?:[${unreserved}${subDelims}:]|${pctEncoded})*`;
41
+ const pchar = `(?:[${unreserved}${subDelims}:@]|${pctEncoded})`;
42
+ const segments = `(?:\\/${pchar}*)*`;
43
+ const hierPart = [
44
+ `\\/?\\/(?:${userinfo}@)?${host}(?::\\d*)?${segments}`,
45
+ `\\/(?:${pchar}+${segments})?`,
46
+ `${pchar}+${segments}`,
47
+ ].join("|");
48
+ const queryOrFragment = `(?:[${unreserved}${subDelims}:@/?]|${pctEncoded})*`;
49
+ const URI = new RegExp(`^[a-z][a-z0-9+\\-.]*:(?:${hierPart})(?:\\?${queryOrFragment})?(?:#${queryOrFragment})?$`, "i");
50
+ /**
51
+ * Whether a string satisfies a format.
52
+ * @param format The format a string field names.
53
+ * @param text The answer's string.
54
+ * @returns True when the string is in the format.
55
+ */
56
+ export function matchesFormat(format, text) {
57
+ switch (format) {
58
+ case "email":
59
+ return EMAIL.test(text);
60
+ case "uri":
61
+ return URI.test(text);
62
+ case "date":
63
+ return isDate(text);
64
+ case "date-time":
65
+ return isDateTime(text);
66
+ default: {
67
+ const exhaustive = format;
68
+ return exhaustive;
69
+ }
70
+ }
71
+ }
72
+ /** An RFC 3339 date and time, split at `T` or whitespace. */
73
+ function isDateTime(text) {
74
+ const parts = text.split(DATE_TIME_SEPARATOR);
75
+ if (parts.length !== 2) {
76
+ return false;
77
+ }
78
+ const [date = "", time = ""] = parts;
79
+ return isDate(date) && isTime(time);
80
+ }
81
+ function isDate(text) {
82
+ const match = DATE.exec(text);
83
+ return (match !== null &&
84
+ isCalendarDay(Number(match[1]), Number(match[2]), Number(match[3])));
85
+ }
86
+ function isCalendarDay(year, month, day) {
87
+ return month >= 1 && month <= 12 && day >= 1 && day <= daysIn(year, month);
88
+ }
89
+ function daysIn(year, month) {
90
+ return month === 2 && isLeapYear(year) ? 29 : (DAYS_IN_MONTH[month] ?? 0);
91
+ }
92
+ function isLeapYear(year) {
93
+ return year % 4 === 0 && (year % 100 !== 0 || year % 400 === 0);
94
+ }
95
+ /** An RFC 3339 full-time, offset included. */
96
+ function isTime(text) {
97
+ const match = TIME.exec(text);
98
+ if (match === null) {
99
+ return false;
100
+ }
101
+ const time = {
102
+ hour: Number(match[1]),
103
+ minute: Number(match[2]),
104
+ second: Number(match[3]),
105
+ offsetSign: match[5] === "-" ? -1 : 1,
106
+ offsetHour: Number(match[6] ?? 0),
107
+ offsetMinute: Number(match[7] ?? 0),
108
+ };
109
+ return (time.offsetHour <= 23 &&
110
+ time.offsetMinute <= 59 &&
111
+ (isOrdinaryTime(time) || isLeapSecond(time)));
112
+ }
113
+ function isOrdinaryTime({ hour, minute, second }) {
114
+ return hour <= 23 && minute <= 59 && second < 60;
115
+ }
116
+ /**
117
+ * A second numbered 60 is a leap second only when the reading, shifted to
118
+ * UTC, is 23:59; -1 is that instant reached by borrowing across midnight.
119
+ */
120
+ function isLeapSecond(time) {
121
+ const utcMinute = time.minute - time.offsetMinute * time.offsetSign;
122
+ const utcHour = time.hour - time.offsetHour * time.offsetSign - (utcMinute < 0 ? 1 : 0);
123
+ const lastHour = utcHour === 23 || utcHour === -1;
124
+ const lastMinute = utcMinute === 59 || utcMinute === -1;
125
+ return lastHour && lastMinute && time.second < 61;
126
+ }
127
+ //# sourceMappingURL=answer-formats.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"answer-formats.js","sourceRoot":"","sources":["../../../src/transport/collectives/answer-formats.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ /** @file How a collective send reports failure: a refused send, routed to its result or inbound, and an emitted item the service cannot keep. */
2
+ import { Effect } from "effect";
3
+ import type { EngineSentPost } from "../messaging/index.js";
4
+ import type { MessageAddressInput } from "../wire/values.js";
5
+ import type { InboundItem } from "./inbound.js";
6
+ import { SendError } from "../messaging/errors.js";
7
+ import { CollectiveEmitError, type CollectiveError, type CollectiveId, type FailureDelivery, type SendResult } from "./forms.js";
8
+ /** Fail a send whose emitted item could not be kept as persistence-failed. */
9
+ export declare function emitFailureAsSendError<A, E, R>(effect: Effect.Effect<A, E | CollectiveEmitError, R>): Effect.Effect<A, Exclude<E, CollectiveEmitError> | SendError, R>;
10
+ /** One completed send: the posts certified by its return, and a collective id. */
11
+ export interface CollectiveSendOutcome extends SendResult {
12
+ readonly postIds: ReadonlyArray<EngineSentPost["postId"]>;
13
+ }
14
+ /**
15
+ * A refused collective send, with the address its failure item routes to.
16
+ * The address is the operation's own, or the requester's for a response.
17
+ */
18
+ export interface RefusedSend<E> {
19
+ readonly id: CollectiveId;
20
+ readonly to: MessageAddressInput;
21
+ readonly error: E;
22
+ }
23
+ /**
24
+ * Deliver a refused collective send's error where the host wants it. With
25
+ * `inbound` the send completes, naming the operation, and the error arrives
26
+ * as an `operationFailed` item carrying the same text.
27
+ */
28
+ export declare function reportFailure(emit: (item: InboundItem) => Effect.Effect<void, CollectiveEmitError>, failureDelivery: FailureDelivery, send: Effect.Effect<CollectiveSendOutcome, RefusedSend<SendError | CollectiveError>>): Effect.Effect<CollectiveSendOutcome, SendError | CollectiveError>;
29
+ /**
30
+ * Tag a send's error with the operation id and the address its failure item
31
+ * routes to.
32
+ */
33
+ export declare function refusedAs<E>(id: CollectiveId, to: MessageAddressInput): (error: E) => RefusedSend<E>;
34
+ //# sourceMappingURL=failures.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"failures.d.ts","sourceRoot":"","sources":["../../../src/transport/collectives/failures.ts"],"names":[],"mappings":"AAAA,iJAAiJ;AAEjJ,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EACL,mBAAmB,EACnB,KAAK,eAAe,EACpB,KAAK,YAAY,EACjB,KAAK,eAAe,EACpB,KAAK,UAAU,EAChB,MAAM,YAAY,CAAC;AAEpB,8EAA8E;AAC9E,wBAAgB,sBAAsB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAC5C,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,GAAG,mBAAmB,EAAE,CAAC,CAAC,GACnD,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,EAAE,mBAAmB,CAAC,GAAG,SAAS,EAAE,CAAC,CAAC,CAOlE;AAED,kFAAkF;AAClF,MAAM,WAAW,qBAAsB,SAAQ,UAAU;IACvD,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC;CAC3D;AAED;;;GAGG;AACH,MAAM,WAAW,WAAW,CAAC,CAAC;IAC5B,QAAQ,CAAC,EAAE,EAAE,YAAY,CAAC;IAC1B,QAAQ,CAAC,EAAE,EAAE,mBAAmB,CAAC;IACjC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;CACnB;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAC3B,IAAI,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,mBAAmB,CAAC,EACrE,eAAe,EAAE,eAAe,EAChC,IAAI,EAAE,MAAM,CAAC,MAAM,CACjB,qBAAqB,EACrB,WAAW,CAAC,SAAS,GAAG,eAAe,CAAC,CACzC,GACA,MAAM,CAAC,MAAM,CAAC,qBAAqB,EAAE,SAAS,GAAG,eAAe,CAAC,CAuBnE;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,mBAAmB,WACrD,CAAC,KAAG,WAAW,CAAC,CAAC,CAAC,CAClC"}
@@ -0,0 +1,40 @@
1
+ /** @file How a collective send reports failure: a refused send, routed to its result or inbound, and an emitted item the service cannot keep. */
2
+ import { Effect } from "effect";
3
+ import { SendError } from "../messaging/errors.js";
4
+ import { CollectiveEmitError, } from "./forms.js";
5
+ /** Fail a send whose emitted item could not be kept as persistence-failed. */
6
+ export function emitFailureAsSendError(effect) {
7
+ return Effect.catchIf(effect, (error) => error instanceof CollectiveEmitError, () => Effect.fail(new SendError({ reason: "persistence-failed" })));
8
+ }
9
+ /**
10
+ * Deliver a refused collective send's error where the host wants it. With
11
+ * `inbound` the send completes, naming the operation, and the error arrives
12
+ * as an `operationFailed` item carrying the same text.
13
+ */
14
+ export function reportFailure(emit, failureDelivery, send) {
15
+ return send.pipe(Effect.catchAll((refused) => {
16
+ switch (failureDelivery) {
17
+ case "result":
18
+ return Effect.fail(refused.error);
19
+ case "inbound":
20
+ return emit({
21
+ kind: "operationFailed",
22
+ id: refused.id,
23
+ to: refused.to,
24
+ error: refused.error.message,
25
+ }).pipe(emitFailureAsSendError, Effect.as({ operationId: refused.id, postIds: [] }));
26
+ default: {
27
+ const exhaustive = failureDelivery;
28
+ return exhaustive;
29
+ }
30
+ }
31
+ }));
32
+ }
33
+ /**
34
+ * Tag a send's error with the operation id and the address its failure item
35
+ * routes to.
36
+ */
37
+ export function refusedAs(id, to) {
38
+ return (error) => ({ id, to, error });
39
+ }
40
+ //# sourceMappingURL=failures.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"failures.js","sourceRoot":"","sources":["../../../src/transport/collectives/failures.ts"],"names":[],"mappings":"AAAA,iJAAiJ;AAEjJ,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAIhC,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EACL,mBAAmB,GAKpB,MAAM,YAAY,CAAC;AAEpB,8EAA8E;AAC9E,MAAM,UAAU,sBAAsB,CACpC,MAAoD;IAEpD,OAAO,MAAM,CAAC,OAAO,CACnB,MAAM,EACN,CAAC,KAAK,EAAgC,EAAE,CACtC,KAAK,YAAY,mBAAmB,EACtC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC,EAAE,MAAM,EAAE,oBAAoB,EAAE,CAAC,CAAC,CACnE,CAAC;AACJ,CAAC;AAiBD;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAC3B,IAAqE,EACrE,eAAgC,EAChC,IAGC;IAED,OAAO,IAAI,CAAC,IAAI,CACd,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE,EAAE;QAC1B,QAAQ,eAAe,EAAE,CAAC;YACxB,KAAK,QAAQ;gBACX,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YACpC,KAAK,SAAS;gBACZ,OAAO,IAAI,CAAC;oBACV,IAAI,EAAE,iBAAiB;oBACvB,EAAE,EAAE,OAAO,CAAC,EAAE;oBACd,EAAE,EAAE,OAAO,CAAC,EAAE;oBACd,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,OAAO;iBAC7B,CAAC,CAAC,IAAI,CACL,sBAAsB,EACtB,MAAM,CAAC,EAAE,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CACpD,CAAC;YACJ,SAAS,CAAC;gBACR,MAAM,UAAU,GAAU,eAAe,CAAC;gBAC1C,OAAO,UAAU,CAAC;YACpB,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CACH,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,SAAS,CAAI,EAAgB,EAAE,EAAuB;IACpE,OAAO,CAAC,KAAQ,EAAkB,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;AAC3D,CAAC"}
@@ -0,0 +1,260 @@
1
+ /** @file Collective operations, answers and the closed errors of a refused collective send. */
2
+ import { ParseResult, Schema } from "effect";
3
+ import { type SendFailure } from "../messaging/errors.js";
4
+ import { JsonValue } from "../wire/values.js";
5
+ /**
6
+ * Identity of one gather or all_gather, minted by the requesting endpoint.
7
+ * The request, each member's answer post, an all_gather's close, the result
8
+ * and any failure carry it. An answer that matches no single open request is
9
+ * refused under an id minted for the refusal, so its failure is named too.
10
+ */
11
+ export declare const CollectiveId: Schema.brand<Schema.filter<typeof Schema.String>, "CollectiveId">;
12
+ /** A validated collective operation id. */
13
+ export type CollectiveId = typeof CollectiveId.Type;
14
+ /**
15
+ * The MCP form-mode `requestedSchema` of a collecting operation: a flat object
16
+ * of primitive properties. This schema fixes its outline; the sending endpoint
17
+ * checks each property against the MCP form-mode grammar before any post.
18
+ */
19
+ export declare const RequestedSchema: Schema.Struct<{
20
+ $schema: Schema.optionalWith<typeof Schema.String, {
21
+ exact: true;
22
+ }>;
23
+ type: Schema.Literal<["object"]>;
24
+ properties: Schema.Record$<typeof Schema.String, Schema.Record$<typeof Schema.String, Schema.Schema<JsonValue, JsonValue, never>>>;
25
+ required: Schema.optionalWith<Schema.Array$<typeof Schema.String>, {
26
+ exact: true;
27
+ }>;
28
+ }>;
29
+ /** A form-mode schema as stated by its requester. */
30
+ export type RequestedSchema = typeof RequestedSchema.Type;
31
+ /**
32
+ * One answer to a collecting operation, field by field. Its value space is MCP
33
+ * `ElicitResult` content's; the request's schema decides which fields apply.
34
+ */
35
+ export declare const AnswerContent: Schema.Record$<typeof Schema.String, Schema.Union<[typeof Schema.String, Schema.filter<typeof Schema.Number>, typeof Schema.Boolean, Schema.Array$<typeof Schema.String>]>>;
36
+ /** A structurally valid answer. */
37
+ export type AnswerContent = typeof AnswerContent.Type;
38
+ /** The longest deadline a collecting operation may state: 30 days, in seconds. */
39
+ export declare const MAXIMUM_DEADLINE_SECONDS = 2592000;
40
+ /** A collecting operation's relative deadline: whole seconds, up to 30 days. */
41
+ export declare const DeadlineSeconds: Schema.filter<Schema.filter<typeof Schema.Number>>;
42
+ /** The collective operation one send performs, discriminated by `op`. */
43
+ declare const CollectiveOperation: Schema.Union<[Schema.Struct<{
44
+ op: Schema.optionalWith<Schema.Literal<["multicast"]>, {
45
+ exact: true;
46
+ }>;
47
+ }>, Schema.Struct<{
48
+ op: Schema.Literal<["gather", "all_gather"]>;
49
+ deadline: Schema.filter<Schema.filter<typeof Schema.Number>>;
50
+ requestedSchema: Schema.Struct<{
51
+ $schema: Schema.optionalWith<typeof Schema.String, {
52
+ exact: true;
53
+ }>;
54
+ type: Schema.Literal<["object"]>;
55
+ properties: Schema.Record$<typeof Schema.String, Schema.Record$<typeof Schema.String, Schema.Schema<JsonValue, JsonValue, never>>>;
56
+ required: Schema.optionalWith<Schema.Array$<typeof Schema.String>, {
57
+ exact: true;
58
+ }>;
59
+ }>;
60
+ }>]>;
61
+ /** A validated collective operation. */
62
+ export type CollectiveOperation = typeof CollectiveOperation.Type;
63
+ /** An `accept` answer, the only one that carries content. */
64
+ export declare const AcceptResponse: Schema.Struct<{
65
+ action: Schema.Literal<["accept"]>;
66
+ content: Schema.Record$<typeof Schema.String, Schema.Union<[typeof Schema.String, Schema.filter<typeof Schema.Number>, typeof Schema.Boolean, Schema.Array$<typeof Schema.String>]>>;
67
+ }>;
68
+ /** A `decline` answer. */
69
+ export declare const DeclineResponse: Schema.Struct<{
70
+ action: Schema.Literal<["decline"]>;
71
+ }>;
72
+ /**
73
+ * A member's answer to the one request open in the conversation it is sent
74
+ * to: the requester's direct conversation for a gather, the group for an
75
+ * all_gather. It is MCP's `ElicitResult`; only `accept` carries content,
76
+ * valid against the request's schema.
77
+ */
78
+ declare const CollectiveResponse: Schema.Union<[Schema.Struct<{
79
+ action: Schema.Literal<["accept"]>;
80
+ content: Schema.Record$<typeof Schema.String, Schema.Union<[typeof Schema.String, Schema.filter<typeof Schema.Number>, typeof Schema.Boolean, Schema.Array$<typeof Schema.String>]>>;
81
+ }>, Schema.Struct<{
82
+ action: Schema.Literal<["decline"]>;
83
+ }>]>;
84
+ /** A validated collective response. */
85
+ export type CollectiveResponse = typeof CollectiveResponse.Type;
86
+ /**
87
+ * One send to one address: text with its collective operation, multicast
88
+ * when `collective` is omitted, or an answer to the request open in that
89
+ * address's conversation. `parseMessageText` reads both from a message's
90
+ * text.
91
+ */
92
+ export declare const SendInput: Schema.Union<[Schema.Struct<{
93
+ to: Schema.brand<Schema.filter<typeof Schema.String>, "MessageAddressInput">;
94
+ text: Schema.filter<typeof Schema.String>;
95
+ collective: Schema.optionalWith<Schema.Union<[Schema.Struct<{
96
+ op: Schema.optionalWith<Schema.Literal<["multicast"]>, {
97
+ exact: true;
98
+ }>;
99
+ }>, Schema.Struct<{
100
+ op: Schema.Literal<["gather", "all_gather"]>;
101
+ deadline: Schema.filter<Schema.filter<typeof Schema.Number>>;
102
+ requestedSchema: Schema.Struct<{
103
+ $schema: Schema.optionalWith<typeof Schema.String, {
104
+ exact: true;
105
+ }>;
106
+ type: Schema.Literal<["object"]>;
107
+ properties: Schema.Record$<typeof Schema.String, Schema.Record$<typeof Schema.String, Schema.Schema<JsonValue, JsonValue, never>>>;
108
+ required: Schema.optionalWith<Schema.Array$<typeof Schema.String>, {
109
+ exact: true;
110
+ }>;
111
+ }>;
112
+ }>]>, {
113
+ exact: true;
114
+ }>;
115
+ }>, Schema.Struct<{
116
+ to: Schema.brand<Schema.filter<typeof Schema.String>, "MessageAddressInput">;
117
+ collectiveResponse: Schema.Union<[Schema.Struct<{
118
+ action: Schema.Literal<["accept"]>;
119
+ content: Schema.Record$<typeof Schema.String, Schema.Union<[typeof Schema.String, Schema.filter<typeof Schema.Number>, typeof Schema.Boolean, Schema.Array$<typeof Schema.String>]>>;
120
+ }>, Schema.Struct<{
121
+ action: Schema.Literal<["decline"]>;
122
+ }>]>;
123
+ }>]>;
124
+ /** Validated input for one send. */
125
+ export type SendInput = typeof SendInput.Type;
126
+ /**
127
+ * Where a refused collecting operation or response reports its error:
128
+ * returned to the caller, or emitted as an `operationFailed` item while the
129
+ * send completes.
130
+ */
131
+ export type FailureDelivery = "result" | "inbound";
132
+ /** What a completed send returns: a collecting operation names its id. */
133
+ export interface SendResult {
134
+ readonly operationId?: CollectiveId;
135
+ }
136
+ /**
137
+ * Why a collective send was refused, discriminated by `kind`: a gather or
138
+ * all_gather whose schema is outside the form-mode grammar or whose request
139
+ * post some member could not receive, or a response the member's endpoint
140
+ * cannot send.
141
+ */
142
+ declare const collectiveFailure: Schema.Union<[Schema.Struct<{
143
+ kind: Schema.Literal<["members-unreachable"]>;
144
+ members: Schema.NonEmptyArray<Schema.Struct<{
145
+ member: Schema.brand<Schema.filter<Schema.brand<Schema.filter<typeof Schema.String>, "MessageAddressInput">>, "AgentAddress">;
146
+ reason: Schema.Literal<["invalid-address", "unknown-agent", "membership-invalid", "content-invalid", "not-registered", "version-mismatch", "certification-unavailable", "persistence-failed", "network-unavailable", "idempotency-conflict", "outcome-unknown"]>;
147
+ }>>;
148
+ }>, Schema.Struct<{
149
+ kind: Schema.Literal<["schema-invalid"]>;
150
+ detail: typeof Schema.String;
151
+ }>, Schema.Struct<{
152
+ kind: Schema.Literal<["answer-invalid"]>;
153
+ fields: Schema.NonEmptyArray<Schema.Struct<{
154
+ field: typeof Schema.String;
155
+ reason: Schema.Literal<["missing", "unexpected", "invalid"]>;
156
+ detail: Schema.optionalWith<typeof Schema.String, {
157
+ exact: true;
158
+ }>;
159
+ }>>;
160
+ }>, Schema.Struct<{
161
+ kind: Schema.Literal<["request-none"]>;
162
+ }>, Schema.Struct<{
163
+ kind: Schema.Literal<["request-ambiguous"]>;
164
+ }>, Schema.Struct<{
165
+ kind: Schema.Literal<["request-answered"]>;
166
+ }>, Schema.Struct<{
167
+ kind: Schema.Literal<["request-expired"]>;
168
+ }>]>;
169
+ /** A validated collective failure. */
170
+ export type CollectiveFailure = typeof collectiveFailure.Type;
171
+ /**
172
+ * Decode a collective failure carried across the loopback MCP boundary.
173
+ * @param value Untrusted failure detail from a refused send's error data.
174
+ * @returns The validated failure.
175
+ */
176
+ export declare const decodeCollectiveFailure: (u: unknown, overrideOptions?: import("effect/SchemaAST").ParseOptions) => import("effect/Effect").Effect<{
177
+ readonly kind: "members-unreachable";
178
+ readonly members: readonly [{
179
+ readonly member: string & import("effect/Brand").Brand<"MessageAddressInput"> & import("effect/Brand").Brand<"AgentAddress">;
180
+ readonly reason: "certification-unavailable" | "content-invalid" | "idempotency-conflict" | "invalid-address" | "membership-invalid" | "network-unavailable" | "not-registered" | "outcome-unknown" | "persistence-failed" | "unknown-agent" | "version-mismatch";
181
+ }, ...{
182
+ readonly member: string & import("effect/Brand").Brand<"MessageAddressInput"> & import("effect/Brand").Brand<"AgentAddress">;
183
+ readonly reason: "certification-unavailable" | "content-invalid" | "idempotency-conflict" | "invalid-address" | "membership-invalid" | "network-unavailable" | "not-registered" | "outcome-unknown" | "persistence-failed" | "unknown-agent" | "version-mismatch";
184
+ }[]];
185
+ } | {
186
+ readonly kind: "schema-invalid";
187
+ readonly detail: string;
188
+ } | {
189
+ readonly kind: "answer-invalid";
190
+ readonly fields: readonly [{
191
+ readonly field: string;
192
+ readonly reason: "invalid" | "missing" | "unexpected";
193
+ readonly detail?: string | undefined;
194
+ }, ...{
195
+ readonly field: string;
196
+ readonly reason: "invalid" | "missing" | "unexpected";
197
+ readonly detail?: string | undefined;
198
+ }[]];
199
+ } | {
200
+ readonly kind: "request-none";
201
+ } | {
202
+ readonly kind: "request-ambiguous";
203
+ } | {
204
+ readonly kind: "request-answered";
205
+ } | {
206
+ readonly kind: "request-expired";
207
+ }, ParseResult.ParseError, never>;
208
+ /**
209
+ * The text of an all_gather whose close could not be certified: no member
210
+ * received a result, so the question ended without one.
211
+ * @param reason Why the close post failed.
212
+ * @returns The `operationFailed` text the asker's model reads.
213
+ */
214
+ export declare function closeFailureText(reason: SendFailure): string;
215
+ /**
216
+ * One line per issue of a decode failure, each led by its path, such as
217
+ * `requestedSchema.type: Expected "object", actual "obj"`, joined by `; `.
218
+ * A model repairs its input from this text alone.
219
+ * @param error The failed decode.
220
+ * @returns The issues as text.
221
+ */
222
+ export declare const describeIssues: (error: ParseResult.ParseError) => string;
223
+ /** Every field of an answer that fails its request's schema. */
224
+ export type AnswerFieldFailures = Extract<CollectiveFailure, {
225
+ readonly kind: "answer-invalid";
226
+ }>["fields"];
227
+ /**
228
+ * Name each failing answer field, such as `field "slot" is invalid (enum)`.
229
+ * A refused reply and a member's `invalid` outcome read the same.
230
+ * @param fields The failing fields, in validation order.
231
+ * @returns One clause per field, joined by `; `.
232
+ */
233
+ export declare function answerFieldsText(fields: AnswerFieldFailures): string;
234
+ declare const CollectiveEmitError_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 & {
235
+ readonly _tag: "CollectiveEmitError";
236
+ } & Readonly<A>;
237
+ /**
238
+ * The service could not keep an item the layer emitted. The service has
239
+ * already reported its own failure, so the layer only stops the work that
240
+ * emitted the item.
241
+ */
242
+ export declare class CollectiveEmitError extends CollectiveEmitError_base {
243
+ }
244
+ declare const CollectiveError_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 & {
245
+ readonly _tag: "CollectiveError";
246
+ } & Readonly<A>;
247
+ /**
248
+ * A gather, all_gather or answer was refused. The message is what a host
249
+ * hands its model as the tool error: the failed action and its cause, naming
250
+ * each unreachable member or failing field. The operation id stays in the
251
+ * error's data, not its message.
252
+ */
253
+ export declare class CollectiveError extends CollectiveError_base<{
254
+ readonly id: CollectiveId;
255
+ readonly failure: CollectiveFailure;
256
+ }> {
257
+ get message(): string;
258
+ }
259
+ export {};
260
+ //# sourceMappingURL=forms.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"forms.d.ts","sourceRoot":"","sources":["../../../src/transport/collectives/forms.ts"],"names":[],"mappings":"AAAA,+FAA+F;AAE/F,OAAO,EAAQ,WAAW,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AACnD,OAAO,EACL,KAAK,WAAW,EAGjB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAIL,SAAS,EAGV,MAAM,mBAAmB,CAAC;AAI3B;;;;;GAKG;AACH,eAAO,MAAM,YAAY,mEAMxB,CAAC;AACF,2CAA2C;AAC3C,MAAM,MAAM,YAAY,GAAG,OAAO,YAAY,CAAC,IAAI,CAAC;AAKpD;;;;GAIG;AACH,eAAO,MAAM,eAAe;;;;;;;;;EAK1B,CAAC;AACH,qDAAqD;AACrD,MAAM,MAAM,eAAe,GAAG,OAAO,eAAe,CAAC,IAAI,CAAC;AAE1D;;;GAGG;AACH,eAAO,MAAM,aAAa,6KAUxB,CAAC;AACH,mCAAmC;AACnC,MAAM,MAAM,aAAa,GAAG,OAAO,aAAa,CAAC,IAAI,CAAC;AAEtD,kFAAkF;AAClF,eAAO,MAAM,wBAAwB,UAAY,CAAC;AAElD,gFAAgF;AAChF,eAAO,MAAM,eAAe,oDAG3B,CAAC;AA2BF,yEAAyE;AACzE,QAAA,MAAM,mBAAmB;;;;;;;;;;;;;;;;;IAGxB,CAAC;AACF,wCAAwC;AACxC,MAAM,MAAM,mBAAmB,GAAG,OAAO,mBAAmB,CAAC,IAAI,CAAC;AAElE,6DAA6D;AAC7D,eAAO,MAAM,cAAc;;;EAGzB,CAAC;AAEH,0BAA0B;AAC1B,eAAO,MAAM,eAAe;;EAE1B,CAAC;AAEH;;;;;GAKG;AACH,QAAA,MAAM,kBAAkB;;;;;IAAgD,CAAC;AACzE,uCAAuC;AACvC,MAAM,MAAM,kBAAkB,GAAG,OAAO,kBAAkB,CAAC,IAAI,CAAC;AAEhE;;;;;GAKG;AACH,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAUoB,CAAC;AAC3C,oCAAoC;AACpC,MAAM,MAAM,SAAS,GAAG,OAAO,SAAS,CAAC,IAAI,CAAC;AAE9C;;;;GAIG;AACH,MAAM,MAAM,eAAe,GAAG,QAAQ,GAAG,SAAS,CAAC;AAUnD,0EAA0E;AAC1E,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,WAAW,CAAC,EAAE,YAAY,CAAC;CACrC;AAED;;;;;GAKG;AACH,QAAA,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;IAuBtB,CAAC;AACF,sCAAsC;AACtC,MAAM,MAAM,iBAAiB,GAAG,OAAO,iBAAiB,CAAC,IAAI,CAAC;AAE9D;;;;GAIG;AACH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iCAA0C,CAAC;AAE/E;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,CAE5D;AAED;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,UAAW,WAAW,CAAC,UAAU,KAAG,MAKhD,CAAC;AAShB,gEAAgE;AAChE,MAAM,MAAM,mBAAmB,GAAG,OAAO,CACvC,iBAAiB,EACjB;IAAE,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAA;CAAE,CACpC,CAAC,QAAQ,CAAC,CAAC;AAEZ;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,mBAAmB,GAAG,MAAM,CASpE;;;;AA+BD;;;;GAIG;AACH,qBAAa,mBAAoB,SAAQ,wBAExC;CAAG;;;;AAEJ;;;;;GAKG;AACH,qBAAa,eAAgB,SAAQ,qBAAoC;IACvE,QAAQ,CAAC,EAAE,EAAE,YAAY,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,iBAAiB,CAAC;CACrC,CAAC;IACA,IAAa,OAAO,IAAI,MAAM,CAE7B;CACF"}