@moltzap/client 2026.1002.0 → 2026.1004.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (492) hide show
  1. package/README.md +2 -2
  2. package/bin/moltzapd +2 -2
  3. package/dist/{harness-mcp-contract.d.ts → delivery/history-export.d.ts} +94 -133
  4. package/dist/delivery/history-export.d.ts.map +1 -0
  5. package/dist/{daemon/runtime → delivery}/history-export.js +36 -3
  6. package/dist/delivery/history-export.js.map +1 -0
  7. package/dist/delivery/host-delivery.d.ts +51 -0
  8. package/dist/delivery/host-delivery.d.ts.map +1 -0
  9. package/dist/delivery/host-delivery.js +109 -0
  10. package/dist/delivery/host-delivery.js.map +1 -0
  11. package/dist/delivery/inbox.d.ts +141 -0
  12. package/dist/delivery/inbox.d.ts.map +1 -0
  13. package/dist/delivery/inbox.js +129 -0
  14. package/dist/delivery/inbox.js.map +1 -0
  15. package/dist/delivery/index.d.ts +4 -0
  16. package/dist/delivery/index.d.ts.map +1 -0
  17. package/dist/delivery/index.js +4 -0
  18. package/dist/delivery/index.js.map +1 -0
  19. package/dist/delivery/operations.d.ts +789 -0
  20. package/dist/delivery/operations.d.ts.map +1 -0
  21. package/dist/delivery/operations.js +162 -0
  22. package/dist/delivery/operations.js.map +1 -0
  23. package/dist/delivery/pass.d.ts +91 -0
  24. package/dist/delivery/pass.d.ts.map +1 -0
  25. package/dist/{daemon/runtime/pending-delivery.js → delivery/pass.js} +61 -34
  26. package/dist/delivery/pass.js.map +1 -0
  27. package/dist/delivery/send-invocations.d.ts +106 -0
  28. package/dist/delivery/send-invocations.d.ts.map +1 -0
  29. package/dist/delivery/send-invocations.js +109 -0
  30. package/dist/delivery/send-invocations.js.map +1 -0
  31. package/dist/endpoint/harness-endpoint/capability.d.ts +39 -0
  32. package/dist/endpoint/harness-endpoint/capability.d.ts.map +1 -0
  33. package/dist/endpoint/harness-endpoint/capability.js +9 -0
  34. package/dist/endpoint/harness-endpoint/capability.js.map +1 -0
  35. package/dist/endpoint/harness-endpoint/events.d.ts +12 -0
  36. package/dist/endpoint/harness-endpoint/events.d.ts.map +1 -0
  37. package/dist/endpoint/harness-endpoint/events.js +199 -0
  38. package/dist/endpoint/harness-endpoint/events.js.map +1 -0
  39. package/dist/{client-runtime.d.ts → endpoint/harness-endpoint/index.d.ts} +4 -2
  40. package/dist/endpoint/harness-endpoint/index.d.ts.map +1 -0
  41. package/dist/{client-runtime.js → endpoint/harness-endpoint/index.js} +115 -115
  42. package/dist/endpoint/harness-endpoint/index.js.map +1 -0
  43. package/dist/endpoint/implementation.d.ts +4 -0
  44. package/dist/endpoint/implementation.d.ts.map +1 -0
  45. package/dist/endpoint/implementation.js +5 -0
  46. package/dist/endpoint/implementation.js.map +1 -0
  47. package/dist/endpoint/mcp/auth.d.ts +31 -0
  48. package/dist/endpoint/mcp/auth.d.ts.map +1 -0
  49. package/dist/endpoint/mcp/auth.js +42 -0
  50. package/dist/endpoint/mcp/auth.js.map +1 -0
  51. package/dist/endpoint/mcp/event-schemas.d.ts +151 -0
  52. package/dist/endpoint/mcp/event-schemas.d.ts.map +1 -0
  53. package/dist/endpoint/mcp/event-schemas.js +72 -0
  54. package/dist/endpoint/mcp/event-schemas.js.map +1 -0
  55. package/dist/endpoint/mcp/event-signing.d.ts +62 -0
  56. package/dist/endpoint/mcp/event-signing.d.ts.map +1 -0
  57. package/dist/endpoint/mcp/event-signing.js +185 -0
  58. package/dist/endpoint/mcp/event-signing.js.map +1 -0
  59. package/dist/endpoint/mcp/events.d.ts +45 -0
  60. package/dist/endpoint/mcp/events.d.ts.map +1 -0
  61. package/dist/endpoint/mcp/events.js +296 -0
  62. package/dist/endpoint/mcp/events.js.map +1 -0
  63. package/dist/{harness-mcp-http.d.ts → endpoint/mcp/http.d.ts} +1 -1
  64. package/dist/endpoint/mcp/http.d.ts.map +1 -0
  65. package/dist/{harness-mcp-http.js → endpoint/mcp/http.js} +1 -1
  66. package/dist/endpoint/mcp/http.js.map +1 -0
  67. package/dist/endpoint/mcp/index.d.ts +10 -0
  68. package/dist/endpoint/mcp/index.d.ts.map +1 -0
  69. package/dist/endpoint/mcp/index.js +8 -0
  70. package/dist/endpoint/mcp/index.js.map +1 -0
  71. package/dist/{management-runtime.d.ts → endpoint/mcp/owner-tools.d.ts} +7 -7
  72. package/dist/endpoint/mcp/owner-tools.d.ts.map +1 -0
  73. package/dist/{management-runtime.js → endpoint/mcp/owner-tools.js} +3 -4
  74. package/dist/endpoint/mcp/owner-tools.js.map +1 -0
  75. package/dist/endpoint/mcp/schemas.d.ts +60 -0
  76. package/dist/endpoint/mcp/schemas.d.ts.map +1 -0
  77. package/dist/endpoint/mcp/schemas.js +116 -0
  78. package/dist/endpoint/mcp/schemas.js.map +1 -0
  79. package/dist/{harness-mcp-wire.d.ts → endpoint/mcp/tools.d.ts} +17 -14
  80. package/dist/endpoint/mcp/tools.d.ts.map +1 -0
  81. package/dist/{harness-mcp-wire.js → endpoint/mcp/tools.js} +229 -110
  82. package/dist/endpoint/mcp/tools.js.map +1 -0
  83. package/dist/endpoint/mcp/webhook.d.ts +15 -0
  84. package/dist/endpoint/mcp/webhook.d.ts.map +1 -0
  85. package/dist/endpoint/mcp/webhook.js +359 -0
  86. package/dist/endpoint/mcp/webhook.js.map +1 -0
  87. package/dist/identity/credentials.d.ts +46 -0
  88. package/dist/identity/credentials.d.ts.map +1 -0
  89. package/dist/identity/credentials.js +55 -0
  90. package/dist/identity/credentials.js.map +1 -0
  91. package/dist/identity/index.d.ts +4 -0
  92. package/dist/identity/index.d.ts.map +1 -0
  93. package/dist/identity/index.js +4 -0
  94. package/dist/identity/index.js.map +1 -0
  95. package/dist/index.d.ts +19 -4
  96. package/dist/index.d.ts.map +1 -1
  97. package/dist/index.js +21 -5
  98. package/dist/index.js.map +1 -1
  99. package/dist/{contract.types-check.d.ts → index.types-check.d.ts} +8 -4
  100. package/dist/index.types-check.d.ts.map +1 -0
  101. package/dist/{contract.types-check.js → index.types-check.js} +4 -3
  102. package/dist/index.types-check.js.map +1 -0
  103. package/dist/{daemon/runtime → service}/activation.d.ts +9 -12
  104. package/dist/service/activation.d.ts.map +1 -0
  105. package/dist/{daemon/runtime → service}/activation.js +3 -3
  106. package/dist/service/activation.js.map +1 -0
  107. package/dist/{daemon → service}/configuration.d.ts +8 -7
  108. package/dist/service/configuration.d.ts.map +1 -0
  109. package/dist/{daemon → service}/configuration.js +30 -28
  110. package/dist/service/configuration.js.map +1 -0
  111. package/dist/{daemon/runtime → service}/controller.d.ts +8 -6
  112. package/dist/service/controller.d.ts.map +1 -0
  113. package/dist/service/controller.js +106 -0
  114. package/dist/service/controller.js.map +1 -0
  115. package/dist/{server.d.ts → service/index.d.ts} +7 -4
  116. package/dist/service/index.d.ts.map +1 -0
  117. package/dist/{server.js → service/index.js} +17 -15
  118. package/dist/service/index.js.map +1 -0
  119. package/dist/{server.types-check.d.ts → service/index.types-check.d.ts} +7 -7
  120. package/dist/service/index.types-check.d.ts.map +1 -0
  121. package/dist/{server.types-check.js → service/index.types-check.js} +1 -1
  122. package/dist/service/index.types-check.js.map +1 -0
  123. package/dist/{daemon/runtime/index.d.ts → service/lifecycle.d.ts} +3 -3
  124. package/dist/service/lifecycle.d.ts.map +1 -0
  125. package/dist/{daemon/runtime/index.js → service/lifecycle.js} +28 -25
  126. package/dist/service/lifecycle.js.map +1 -0
  127. package/dist/{daemon → service}/management.d.ts +2 -2
  128. package/dist/service/management.d.ts.map +1 -0
  129. package/dist/{daemon → service}/management.js +2 -13
  130. package/dist/service/management.js.map +1 -0
  131. package/dist/{daemon → service}/registration.d.ts +1 -1
  132. package/dist/service/registration.d.ts.map +1 -0
  133. package/dist/{daemon → service}/registration.js +1 -2
  134. package/dist/service/registration.js.map +1 -0
  135. package/dist/{daemon/runtime/protocol.d.ts → service/supervision.d.ts} +16 -24
  136. package/dist/service/supervision.d.ts.map +1 -0
  137. package/dist/{daemon/runtime/protocol.js → service/supervision.js} +33 -36
  138. package/dist/service/supervision.js.map +1 -0
  139. package/dist/store/anchors.d.ts.map +1 -0
  140. package/dist/store/anchors.js.map +1 -0
  141. package/dist/store/database/index.d.ts.map +1 -0
  142. package/dist/store/database/index.js.map +1 -0
  143. package/dist/store/database/schema.d.ts.map +1 -0
  144. package/dist/{endpoint/store → store}/database/schema.js +42 -6
  145. package/dist/store/database/schema.js.map +1 -0
  146. package/dist/store/database/values.d.ts.map +1 -0
  147. package/dist/store/database/values.js.map +1 -0
  148. package/dist/{endpoint/store → store}/deliveries.d.ts +8 -0
  149. package/dist/store/deliveries.d.ts.map +1 -0
  150. package/dist/{endpoint/store → store}/deliveries.js +16 -0
  151. package/dist/store/deliveries.js.map +1 -0
  152. package/dist/store/dissemination.d.ts.map +1 -0
  153. package/dist/store/dissemination.js.map +1 -0
  154. package/dist/store/inbox.d.ts +86 -0
  155. package/dist/store/inbox.d.ts.map +1 -0
  156. package/dist/store/inbox.js +269 -0
  157. package/dist/store/inbox.js.map +1 -0
  158. package/dist/store/index.d.ts +12 -0
  159. package/dist/store/index.d.ts.map +1 -0
  160. package/dist/store/index.js +8 -0
  161. package/dist/store/index.js.map +1 -0
  162. package/dist/store/outbound.d.ts.map +1 -0
  163. package/dist/store/outbound.js.map +1 -0
  164. package/dist/{endpoint/store/management.d.ts → store/reads.d.ts} +1 -1
  165. package/dist/store/reads.d.ts.map +1 -0
  166. package/dist/{endpoint/store/management.js → store/reads.js} +1 -1
  167. package/dist/store/reads.js.map +1 -0
  168. package/dist/store/records.d.ts.map +1 -0
  169. package/dist/store/records.js.map +1 -0
  170. package/dist/store/rows/index.d.ts.map +1 -0
  171. package/dist/store/rows/index.js.map +1 -0
  172. package/dist/store/runtime-codec.d.ts +17 -0
  173. package/dist/store/runtime-codec.d.ts.map +1 -0
  174. package/dist/store/runtime-codec.js +32 -0
  175. package/dist/store/runtime-codec.js.map +1 -0
  176. package/dist/{endpoint/store/index.d.ts → store/store.d.ts} +2 -2
  177. package/dist/store/store.d.ts.map +1 -0
  178. package/dist/{endpoint/store/index.js → store/store.js} +33 -4
  179. package/dist/store/store.js.map +1 -0
  180. package/dist/{endpoint/store → store}/types.d.ts +41 -0
  181. package/dist/store/types.d.ts.map +1 -0
  182. package/dist/store/types.js.map +1 -0
  183. package/dist/transport/collectives/answer-check.d.ts +22 -0
  184. package/dist/transport/collectives/answer-check.d.ts.map +1 -0
  185. package/dist/transport/collectives/answer-check.js +166 -0
  186. package/dist/transport/collectives/answer-check.js.map +1 -0
  187. package/dist/transport/collectives/answer-formats.d.ts +21 -0
  188. package/dist/transport/collectives/answer-formats.d.ts.map +1 -0
  189. package/dist/transport/collectives/answer-formats.js +127 -0
  190. package/dist/transport/collectives/answer-formats.js.map +1 -0
  191. package/dist/transport/collectives/failures.d.ts +34 -0
  192. package/dist/transport/collectives/failures.d.ts.map +1 -0
  193. package/dist/transport/collectives/failures.js +40 -0
  194. package/dist/transport/collectives/failures.js.map +1 -0
  195. package/dist/transport/collectives/form-grammar.d.ts +175 -0
  196. package/dist/transport/collectives/form-grammar.d.ts.map +1 -0
  197. package/dist/transport/collectives/form-grammar.js +226 -0
  198. package/dist/transport/collectives/form-grammar.js.map +1 -0
  199. package/dist/transport/collectives/forms.d.ts +224 -0
  200. package/dist/transport/collectives/forms.d.ts.map +1 -0
  201. package/dist/transport/collectives/forms.js +183 -0
  202. package/dist/transport/collectives/forms.js.map +1 -0
  203. package/dist/transport/collectives/inbound.d.ts +130 -0
  204. package/dist/transport/collectives/inbound.d.ts.map +1 -0
  205. package/dist/transport/collectives/inbound.js +80 -0
  206. package/dist/transport/collectives/inbound.js.map +1 -0
  207. package/dist/transport/collectives/index.d.ts +10 -0
  208. package/dist/transport/collectives/index.d.ts.map +1 -0
  209. package/dist/transport/collectives/index.js +8 -0
  210. package/dist/transport/collectives/index.js.map +1 -0
  211. package/dist/{message-text.d.ts → transport/collectives/message-text.d.ts} +4 -3
  212. package/dist/transport/collectives/message-text.d.ts.map +1 -0
  213. package/dist/{message-text.js → transport/collectives/message-text.js} +4 -6
  214. package/dist/transport/collectives/message-text.js.map +1 -0
  215. package/dist/{endpoint/collective → transport/collectives}/operation.d.ts +17 -11
  216. package/dist/transport/collectives/operation.d.ts.map +1 -0
  217. package/dist/{endpoint/collective → transport/collectives}/operation.js +20 -48
  218. package/dist/transport/collectives/operation.js.map +1 -0
  219. package/dist/{endpoint/collective → transport/collectives}/received-request.d.ts +2 -1
  220. package/dist/transport/collectives/received-request.d.ts.map +1 -0
  221. package/dist/transport/collectives/received-request.js.map +1 -0
  222. package/dist/{endpoint/collective → transport/collectives}/request-sends.d.ts +3 -2
  223. package/dist/transport/collectives/request-sends.d.ts.map +1 -0
  224. package/dist/transport/collectives/request-sends.js.map +1 -0
  225. package/dist/{endpoint/collective → transport/collectives}/shared-answers.d.ts +3 -2
  226. package/dist/transport/collectives/shared-answers.d.ts.map +1 -0
  227. package/dist/transport/collectives/shared-answers.js.map +1 -0
  228. package/dist/{endpoint/collective → transport/collectives}/validation.d.ts +8 -10
  229. package/dist/transport/collectives/validation.d.ts.map +1 -0
  230. package/dist/{endpoint/collective → transport/collectives}/validation.js +10 -19
  231. package/dist/transport/collectives/validation.js.map +1 -0
  232. package/dist/{endpoint/collective → transport/collectives}/wire.d.ts +14 -9
  233. package/dist/transport/collectives/wire.d.ts.map +1 -0
  234. package/dist/{endpoint/collective → transport/collectives}/wire.js +11 -99
  235. package/dist/transport/collectives/wire.js.map +1 -0
  236. package/dist/{endpoint/addressing/index.d.ts → transport/messaging/address.d.ts} +38 -5
  237. package/dist/transport/messaging/address.d.ts.map +1 -0
  238. package/dist/{endpoint/addressing/index.js → transport/messaging/address.js} +100 -21
  239. package/dist/transport/messaging/address.js.map +1 -0
  240. package/dist/{endpoint/protocol/index.d.ts → transport/messaging/certification.d.ts} +4 -4
  241. package/dist/transport/messaging/certification.d.ts.map +1 -0
  242. package/dist/{endpoint/protocol/index.js → transport/messaging/certification.js} +7 -5
  243. package/dist/transport/messaging/certification.js.map +1 -0
  244. package/dist/{endpoint/engine-dissemination.d.ts → transport/messaging/dissemination.d.ts} +3 -3
  245. package/dist/transport/messaging/dissemination.d.ts.map +1 -0
  246. package/dist/{endpoint/engine-dissemination.js → transport/messaging/dissemination.js} +5 -5
  247. package/dist/transport/messaging/dissemination.js.map +1 -0
  248. package/dist/{endpoint/engine-durability.d.ts → transport/messaging/durability.d.ts} +4 -4
  249. package/dist/{endpoint/engine-durability.d.ts.map → transport/messaging/durability.d.ts.map} +1 -1
  250. package/dist/{endpoint/engine-durability.js → transport/messaging/durability.js} +4 -13
  251. package/dist/transport/messaging/durability.js.map +1 -0
  252. package/dist/transport/messaging/errors.d.ts +50 -0
  253. package/dist/transport/messaging/errors.d.ts.map +1 -0
  254. package/dist/transport/messaging/errors.js +64 -0
  255. package/dist/transport/messaging/errors.js.map +1 -0
  256. package/dist/{endpoint/protocol → transport/messaging}/evidence.d.ts +3 -3
  257. package/dist/{endpoint/protocol → transport/messaging}/evidence.d.ts.map +1 -1
  258. package/dist/{endpoint/protocol → transport/messaging}/evidence.js +1 -1
  259. package/dist/transport/messaging/evidence.js.map +1 -0
  260. package/dist/{endpoint/engine.d.ts → transport/messaging/index.d.ts} +4 -4
  261. package/dist/transport/messaging/index.d.ts.map +1 -0
  262. package/dist/{endpoint/engine.js → transport/messaging/index.js} +14 -9
  263. package/dist/transport/messaging/index.js.map +1 -0
  264. package/dist/transport/messaging/message.d.ts +112 -0
  265. package/dist/transport/messaging/message.d.ts.map +1 -0
  266. package/dist/transport/messaging/message.js +39 -0
  267. package/dist/transport/messaging/message.js.map +1 -0
  268. package/dist/{endpoint → transport/messaging}/recovery/barrier.d.ts +1 -1
  269. package/dist/transport/messaging/recovery/barrier.d.ts.map +1 -0
  270. package/dist/transport/messaging/recovery/barrier.js.map +1 -0
  271. package/dist/{endpoint/recovery/store-evidence.d.ts → transport/messaging/recovery/evidence.d.ts} +5 -5
  272. package/dist/transport/messaging/recovery/evidence.d.ts.map +1 -0
  273. package/dist/{endpoint/recovery/store-evidence.js → transport/messaging/recovery/evidence.js} +3 -3
  274. package/dist/transport/messaging/recovery/evidence.js.map +1 -0
  275. package/dist/{endpoint → transport/messaging}/recovery/index.d.ts +4 -4
  276. package/dist/transport/messaging/recovery/index.d.ts.map +1 -0
  277. package/dist/{endpoint → transport/messaging}/recovery/index.js +29 -25
  278. package/dist/transport/messaging/recovery/index.js.map +1 -0
  279. package/dist/{endpoint/recovery/store.d.ts → transport/messaging/recovery/persistence.d.ts} +5 -5
  280. package/dist/transport/messaging/recovery/persistence.d.ts.map +1 -0
  281. package/dist/{endpoint/recovery/store.js → transport/messaging/recovery/persistence.js} +4 -4
  282. package/dist/transport/messaging/recovery/persistence.js.map +1 -0
  283. package/dist/{endpoint/recovery/reanchor/empty.d.ts → transport/messaging/recovery/reanchor-empty.d.ts} +6 -6
  284. package/dist/transport/messaging/recovery/reanchor-empty.d.ts.map +1 -0
  285. package/dist/{endpoint/recovery/reanchor/empty.js → transport/messaging/recovery/reanchor-empty.js} +4 -4
  286. package/dist/transport/messaging/recovery/reanchor-empty.js.map +1 -0
  287. package/dist/{endpoint/recovery/reanchor/index.d.ts → transport/messaging/recovery/reanchor.d.ts} +4 -4
  288. package/dist/transport/messaging/recovery/reanchor.d.ts.map +1 -0
  289. package/dist/{endpoint/recovery/reanchor/index.js → transport/messaging/recovery/reanchor.js} +29 -14
  290. package/dist/transport/messaging/recovery/reanchor.js.map +1 -0
  291. package/dist/{endpoint → transport/messaging}/recovery/state.d.ts +5 -5
  292. package/dist/transport/messaging/recovery/state.d.ts.map +1 -0
  293. package/dist/{endpoint → transport/messaging}/recovery/state.js +2 -2
  294. package/dist/transport/messaging/recovery/state.js.map +1 -0
  295. package/dist/{endpoint/engine-send.d.ts → transport/messaging/send.d.ts} +5 -4
  296. package/dist/transport/messaging/send.d.ts.map +1 -0
  297. package/dist/{endpoint/engine-send.js → transport/messaging/send.js} +4 -4
  298. package/dist/transport/messaging/send.js.map +1 -0
  299. package/dist/{endpoint/engine-types.d.ts → transport/messaging/types.d.ts} +7 -5
  300. package/dist/transport/messaging/types.d.ts.map +1 -0
  301. package/dist/{endpoint/engine-types.js → transport/messaging/types.js} +1 -1
  302. package/dist/{endpoint/engine-types.js.map → transport/messaging/types.js.map} +1 -1
  303. package/dist/transport/router/index.d.ts.map +1 -0
  304. package/dist/{endpoint/router-worker → transport/router}/index.js +1 -1
  305. package/dist/transport/router/index.js.map +1 -0
  306. package/dist/transport/router/outage.d.ts.map +1 -0
  307. package/dist/transport/router/outage.js.map +1 -0
  308. package/dist/{endpoint/router-worker → transport/router}/types.d.ts +2 -2
  309. package/dist/transport/router/types.d.ts.map +1 -0
  310. package/dist/transport/router/types.js.map +1 -0
  311. package/dist/{endpoint/representation-canonical.d.ts → transport/wire/canonical.d.ts} +1 -1
  312. package/dist/transport/wire/canonical.d.ts.map +1 -0
  313. package/dist/{endpoint/representation-canonical.js → transport/wire/canonical.js} +1 -1
  314. package/dist/transport/wire/canonical.js.map +1 -0
  315. package/dist/{endpoint/representation-codec.d.ts → transport/wire/codec.d.ts} +5 -6
  316. package/dist/transport/wire/codec.d.ts.map +1 -0
  317. package/dist/{endpoint/representation-codec.js → transport/wire/codec.js} +5 -24
  318. package/dist/transport/wire/codec.js.map +1 -0
  319. package/dist/transport/wire/index.d.ts +7 -0
  320. package/dist/transport/wire/index.d.ts.map +1 -0
  321. package/dist/transport/wire/index.js +10 -0
  322. package/dist/transport/wire/index.js.map +1 -0
  323. package/dist/{endpoint/representation-schemas.d.ts → transport/wire/schemas.d.ts} +76 -98
  324. package/dist/transport/wire/schemas.d.ts.map +1 -0
  325. package/dist/{endpoint/representation-schemas.js → transport/wire/schemas.js} +7 -19
  326. package/dist/transport/wire/schemas.js.map +1 -0
  327. package/dist/transport/wire/values.d.ts +79 -0
  328. package/dist/transport/wire/values.d.ts.map +1 -0
  329. package/dist/transport/wire/values.js +115 -0
  330. package/dist/transport/wire/values.js.map +1 -0
  331. package/dist/{endpoint/representation-verification.d.ts → transport/wire/verification.d.ts} +4 -4
  332. package/dist/transport/wire/verification.d.ts.map +1 -0
  333. package/dist/{endpoint/representation-verification.js → transport/wire/verification.js} +5 -4
  334. package/dist/transport/wire/verification.js.map +1 -0
  335. package/package.json +6 -6
  336. package/dist/client-runtime.d.ts.map +0 -1
  337. package/dist/client-runtime.js.map +0 -1
  338. package/dist/contract.d.ts +0 -721
  339. package/dist/contract.d.ts.map +0 -1
  340. package/dist/contract.js +0 -441
  341. package/dist/contract.js.map +0 -1
  342. package/dist/contract.types-check.d.ts.map +0 -1
  343. package/dist/contract.types-check.js.map +0 -1
  344. package/dist/daemon/configuration.d.ts.map +0 -1
  345. package/dist/daemon/configuration.js.map +0 -1
  346. package/dist/daemon/management.d.ts.map +0 -1
  347. package/dist/daemon/management.js.map +0 -1
  348. package/dist/daemon/registration.d.ts.map +0 -1
  349. package/dist/daemon/registration.js.map +0 -1
  350. package/dist/daemon/runtime/activation.d.ts.map +0 -1
  351. package/dist/daemon/runtime/activation.js.map +0 -1
  352. package/dist/daemon/runtime/controller.d.ts.map +0 -1
  353. package/dist/daemon/runtime/controller.js +0 -138
  354. package/dist/daemon/runtime/controller.js.map +0 -1
  355. package/dist/daemon/runtime/history-export.d.ts +0 -33
  356. package/dist/daemon/runtime/history-export.d.ts.map +0 -1
  357. package/dist/daemon/runtime/history-export.js.map +0 -1
  358. package/dist/daemon/runtime/index.d.ts.map +0 -1
  359. package/dist/daemon/runtime/index.js.map +0 -1
  360. package/dist/daemon/runtime/pending-delivery.d.ts +0 -49
  361. package/dist/daemon/runtime/pending-delivery.d.ts.map +0 -1
  362. package/dist/daemon/runtime/pending-delivery.js.map +0 -1
  363. package/dist/daemon/runtime/protocol.d.ts.map +0 -1
  364. package/dist/daemon/runtime/protocol.js.map +0 -1
  365. package/dist/endpoint/addressing/index.d.ts.map +0 -1
  366. package/dist/endpoint/addressing/index.js.map +0 -1
  367. package/dist/endpoint/collective/operation.d.ts.map +0 -1
  368. package/dist/endpoint/collective/operation.js.map +0 -1
  369. package/dist/endpoint/collective/received-request.d.ts.map +0 -1
  370. package/dist/endpoint/collective/received-request.js.map +0 -1
  371. package/dist/endpoint/collective/request-sends.d.ts.map +0 -1
  372. package/dist/endpoint/collective/request-sends.js.map +0 -1
  373. package/dist/endpoint/collective/shared-answers.d.ts.map +0 -1
  374. package/dist/endpoint/collective/shared-answers.js.map +0 -1
  375. package/dist/endpoint/collective/validation.d.ts.map +0 -1
  376. package/dist/endpoint/collective/validation.js.map +0 -1
  377. package/dist/endpoint/collective/wire.d.ts.map +0 -1
  378. package/dist/endpoint/collective/wire.js.map +0 -1
  379. package/dist/endpoint/engine-dissemination.d.ts.map +0 -1
  380. package/dist/endpoint/engine-dissemination.js.map +0 -1
  381. package/dist/endpoint/engine-durability.js.map +0 -1
  382. package/dist/endpoint/engine-send.d.ts.map +0 -1
  383. package/dist/endpoint/engine-send.js.map +0 -1
  384. package/dist/endpoint/engine-types.d.ts.map +0 -1
  385. package/dist/endpoint/engine.d.ts.map +0 -1
  386. package/dist/endpoint/engine.js.map +0 -1
  387. package/dist/endpoint/protocol/evidence.js.map +0 -1
  388. package/dist/endpoint/protocol/index.d.ts.map +0 -1
  389. package/dist/endpoint/protocol/index.js.map +0 -1
  390. package/dist/endpoint/recovery/barrier.d.ts.map +0 -1
  391. package/dist/endpoint/recovery/barrier.js.map +0 -1
  392. package/dist/endpoint/recovery/index.d.ts.map +0 -1
  393. package/dist/endpoint/recovery/index.js.map +0 -1
  394. package/dist/endpoint/recovery/reanchor/empty.d.ts.map +0 -1
  395. package/dist/endpoint/recovery/reanchor/empty.js.map +0 -1
  396. package/dist/endpoint/recovery/reanchor/index.d.ts.map +0 -1
  397. package/dist/endpoint/recovery/reanchor/index.js.map +0 -1
  398. package/dist/endpoint/recovery/state.d.ts.map +0 -1
  399. package/dist/endpoint/recovery/state.js.map +0 -1
  400. package/dist/endpoint/recovery/store-evidence.d.ts.map +0 -1
  401. package/dist/endpoint/recovery/store-evidence.js.map +0 -1
  402. package/dist/endpoint/recovery/store.d.ts.map +0 -1
  403. package/dist/endpoint/recovery/store.js.map +0 -1
  404. package/dist/endpoint/representation-canonical.d.ts.map +0 -1
  405. package/dist/endpoint/representation-canonical.js.map +0 -1
  406. package/dist/endpoint/representation-codec.d.ts.map +0 -1
  407. package/dist/endpoint/representation-codec.js.map +0 -1
  408. package/dist/endpoint/representation-schemas.d.ts.map +0 -1
  409. package/dist/endpoint/representation-schemas.js.map +0 -1
  410. package/dist/endpoint/representation-verification.d.ts.map +0 -1
  411. package/dist/endpoint/representation-verification.js.map +0 -1
  412. package/dist/endpoint/representation.d.ts +0 -6
  413. package/dist/endpoint/representation.d.ts.map +0 -1
  414. package/dist/endpoint/representation.js +0 -8
  415. package/dist/endpoint/representation.js.map +0 -1
  416. package/dist/endpoint/router-worker/index.d.ts.map +0 -1
  417. package/dist/endpoint/router-worker/index.js.map +0 -1
  418. package/dist/endpoint/router-worker/outage.d.ts.map +0 -1
  419. package/dist/endpoint/router-worker/outage.js.map +0 -1
  420. package/dist/endpoint/router-worker/types.d.ts.map +0 -1
  421. package/dist/endpoint/router-worker/types.js.map +0 -1
  422. package/dist/endpoint/store/anchors.d.ts.map +0 -1
  423. package/dist/endpoint/store/anchors.js.map +0 -1
  424. package/dist/endpoint/store/database/index.d.ts.map +0 -1
  425. package/dist/endpoint/store/database/index.js.map +0 -1
  426. package/dist/endpoint/store/database/schema.d.ts.map +0 -1
  427. package/dist/endpoint/store/database/schema.js.map +0 -1
  428. package/dist/endpoint/store/database/values.d.ts.map +0 -1
  429. package/dist/endpoint/store/database/values.js.map +0 -1
  430. package/dist/endpoint/store/deliveries.d.ts.map +0 -1
  431. package/dist/endpoint/store/deliveries.js.map +0 -1
  432. package/dist/endpoint/store/dissemination.d.ts.map +0 -1
  433. package/dist/endpoint/store/dissemination.js.map +0 -1
  434. package/dist/endpoint/store/index.d.ts.map +0 -1
  435. package/dist/endpoint/store/index.js.map +0 -1
  436. package/dist/endpoint/store/management.d.ts.map +0 -1
  437. package/dist/endpoint/store/management.js.map +0 -1
  438. package/dist/endpoint/store/outbound.d.ts.map +0 -1
  439. package/dist/endpoint/store/outbound.js.map +0 -1
  440. package/dist/endpoint/store/records.d.ts.map +0 -1
  441. package/dist/endpoint/store/records.js.map +0 -1
  442. package/dist/endpoint/store/rows/index.d.ts.map +0 -1
  443. package/dist/endpoint/store/rows/index.js.map +0 -1
  444. package/dist/endpoint/store/types.d.ts.map +0 -1
  445. package/dist/endpoint/store/types.js.map +0 -1
  446. package/dist/endpoint/store.d.ts +0 -10
  447. package/dist/endpoint/store.d.ts.map +0 -1
  448. package/dist/endpoint/store.js +0 -6
  449. package/dist/endpoint/store.js.map +0 -1
  450. package/dist/harness-mcp-contract.d.ts.map +0 -1
  451. package/dist/harness-mcp-contract.js +0 -113
  452. package/dist/harness-mcp-contract.js.map +0 -1
  453. package/dist/harness-mcp-http.d.ts.map +0 -1
  454. package/dist/harness-mcp-http.js.map +0 -1
  455. package/dist/harness-mcp-subscription.d.ts +0 -30
  456. package/dist/harness-mcp-subscription.d.ts.map +0 -1
  457. package/dist/harness-mcp-subscription.js +0 -361
  458. package/dist/harness-mcp-subscription.js.map +0 -1
  459. package/dist/harness-mcp-wire.d.ts.map +0 -1
  460. package/dist/harness-mcp-wire.js.map +0 -1
  461. package/dist/management-runtime.d.ts.map +0 -1
  462. package/dist/management-runtime.js.map +0 -1
  463. package/dist/message-text.d.ts.map +0 -1
  464. package/dist/message-text.js.map +0 -1
  465. package/dist/server.d.ts.map +0 -1
  466. package/dist/server.js.map +0 -1
  467. package/dist/server.types-check.d.ts.map +0 -1
  468. package/dist/server.types-check.js.map +0 -1
  469. /package/dist/{endpoint/store → store}/anchors.d.ts +0 -0
  470. /package/dist/{endpoint/store → store}/anchors.js +0 -0
  471. /package/dist/{endpoint/store → store}/database/index.d.ts +0 -0
  472. /package/dist/{endpoint/store → store}/database/index.js +0 -0
  473. /package/dist/{endpoint/store → store}/database/schema.d.ts +0 -0
  474. /package/dist/{endpoint/store → store}/database/values.d.ts +0 -0
  475. /package/dist/{endpoint/store → store}/database/values.js +0 -0
  476. /package/dist/{endpoint/store → store}/dissemination.d.ts +0 -0
  477. /package/dist/{endpoint/store → store}/dissemination.js +0 -0
  478. /package/dist/{endpoint/store → store}/outbound.d.ts +0 -0
  479. /package/dist/{endpoint/store → store}/outbound.js +0 -0
  480. /package/dist/{endpoint/store → store}/records.d.ts +0 -0
  481. /package/dist/{endpoint/store → store}/records.js +0 -0
  482. /package/dist/{endpoint/store → store}/rows/index.d.ts +0 -0
  483. /package/dist/{endpoint/store → store}/rows/index.js +0 -0
  484. /package/dist/{endpoint/store → store}/types.js +0 -0
  485. /package/dist/{endpoint/collective → transport/collectives}/received-request.js +0 -0
  486. /package/dist/{endpoint/collective → transport/collectives}/request-sends.js +0 -0
  487. /package/dist/{endpoint/collective → transport/collectives}/shared-answers.js +0 -0
  488. /package/dist/{endpoint → transport/messaging}/recovery/barrier.js +0 -0
  489. /package/dist/{endpoint/router-worker → transport/router}/index.d.ts +0 -0
  490. /package/dist/{endpoint/router-worker → transport/router}/outage.d.ts +0 -0
  491. /package/dist/{endpoint/router-worker → transport/router}/outage.js +0 -0
  492. /package/dist/{endpoint/router-worker → transport/router}/types.js +0 -0
package/dist/index.js CHANGED
@@ -1,10 +1,26 @@
1
1
  /** @file Public barrel for the final endpoint runtime capability. */
2
+ // safer-arch-ignore no-folder-cycle: Importing package.json for the MCP implementation version places the package root in the endpoint's dependencies, while this facade re-exports from endpoint/harness-endpoint.
3
+ // safer-arch-ignore require-curated-public-facade: Each re-export names one domain's adapter-facing values; the root re-exports them from their owners instead of from a shared contract module.
2
4
  // safer-arch-ignore no-large-public-surface: The root is the one adapter-facing boundary, and each operation and inbound item is a closed schema its adapters decode; splitting them behind narrower entrypoints would give adapters a second import path for one contract.
3
- // safer-arch-ignore no-folder-cycle: The root owns the public and loopback contracts consumed by endpoint internals while its server subpath composes daemon and endpoint capabilities into the one Client process boundary.
4
- export { AgentAddress, CollectiveError, ConnectError, Content, ContentPart, DeliveryAcknowledgeError, GroupAddress, HistoryExportRecord, InboundItem, InboundMessage, JsonValue, ListenError, MessageAddressInput, PostId, SendError, SendInput, } from "./contract.js";
5
- /** Read the operation a model's message text states; every adapter uses it. */
6
- export { MessageTextError, parseMessageText } from "./message-text.js";
5
+ /** The endpoint capability a host acquires, and its connect and delivery types. */
6
+ export { ConnectError, } from "./endpoint/harness-endpoint/index.js";
7
7
  /** Acquire the structural endpoint for one loopback daemon endpoint. */
8
8
  // safer-arch-ignore no-public-vendor-type-leak: URL is the platform-standard endpoint locator required by the public acquisition contract.
9
- export { acquireHarnessEndpoint } from "./client-runtime.js";
9
+ export { acquireHarnessEndpoint } from "./endpoint/harness-endpoint/index.js";
10
+ /** One line of the daemon's optional history export. */
11
+ export { HistoryExportRecord } from "./delivery/history-export.js";
12
+ /** Send input and the closed error of a refused collective send. */
13
+ export { CollectiveError, SendInput, } from "./transport/collectives/forms.js";
14
+ /** The items an endpoint delivers to its host. */
15
+ export { InboundItem } from "./transport/collectives/inbound.js";
16
+ /** The operation a native host's message text states. */
17
+ export { MessageTextError, parseMessageText, } from "./transport/collectives/message-text.js";
18
+ /** Explicit direct and group addresses. */
19
+ export { AgentAddress, GroupAddress, MessageAddressInput, } from "./transport/messaging/address.js";
20
+ /** The closed errors of sending, listening, and acknowledging delivery. */
21
+ export { DeliveryAcknowledgeError, ListenError, SendError, } from "./transport/messaging/errors.js";
22
+ /** Certified inbound messages, direct or to a fixed group. */
23
+ export { InboundMessage, } from "./transport/messaging/message.js";
24
+ /** Post ids and the closed semantic content of a message. */
25
+ export { Content, ContentPart, JsonValue, PostId, } from "./transport/wire/values.js";
10
26
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,4QAA4Q;AAC5Q,6NAA6N;AAC7N,OAAO,EACL,YAAY,EACZ,eAAe,EACf,YAAY,EACZ,OAAO,EACP,WAAW,EACX,wBAAwB,EAExB,YAAY,EAGZ,mBAAmB,EAEnB,WAAW,EACX,cAAc,EACd,SAAS,EACT,WAAW,EACX,mBAAmB,EACnB,MAAM,EACN,SAAS,EACT,SAAS,GAEV,MAAM,eAAe,CAAC;AACvB,+EAA+E;AAC/E,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACvE,wEAAwE;AACxE,2IAA2I;AAC3I,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,oNAAoN;AACpN,iMAAiM;AACjM,4QAA4Q;AAE5Q,mFAAmF;AACnF,OAAO,EACL,YAAY,GAGb,MAAM,sCAAsC,CAAC;AAC9C,wEAAwE;AACxE,2IAA2I;AAC3I,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAC9E,wDAAwD;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,oEAAoE;AACpE,OAAO,EACL,eAAe,EACf,SAAS,GAEV,MAAM,kCAAkC,CAAC;AAC1C,kDAAkD;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,oCAAoC,CAAC;AACjE,yDAAyD;AACzD,OAAO,EACL,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,yCAAyC,CAAC;AACjD,2CAA2C;AAC3C,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,mBAAmB,GACpB,MAAM,kCAAkC,CAAC;AAC1C,2EAA2E;AAC3E,OAAO,EACL,wBAAwB,EACxB,WAAW,EACX,SAAS,GACV,MAAM,iCAAiC,CAAC;AACzC,8DAA8D;AAC9D,OAAO,EAGL,cAAc,GACf,MAAM,kCAAkC,CAAC;AAC1C,6DAA6D;AAC7D,OAAO,EACL,OAAO,EACP,WAAW,EACX,SAAS,EACT,MAAM,GACP,MAAM,4BAA4B,CAAC"}
@@ -5,13 +5,14 @@
5
5
  * operation, multicast by default or a gather or all_gather with its deadline
6
6
  * and schema; a response names the conversation whose open request it
7
7
  * answers and no request id. One parser reads either from a message's text,
8
- * so every adapter accepts the same text. Each inbound
8
+ * so the native channel adapters accept the same text. Each inbound
9
9
  * delivery carries one item plus transport-only acknowledgment: a multicast
10
10
  * with the certified direct or complete-group message, a collective request
11
11
  * naming the conversation it arrived in, a collective result that names an
12
12
  * all_gather's close post, or an operation failure. A send returns a
13
13
  * collecting operation's id and fails with a closed send reason or a
14
- * collective failure.
14
+ * collective failure. Optional invocation identity preserves a retried send without
15
+ * executing a new collective operation.
15
16
  */
16
17
  import type { DateTime, Effect, Either, Scope, Stream } from "effect";
17
18
  import type { acquireHarnessEndpoint, AgentAddress, CollectiveError, ConnectError, Content, ContentPart, DeliveryAcknowledgeError, DirectMessage, GroupAddress, GroupMessage, HarnessEndpoint, HistoryExportRecord, InboundDelivery, InboundItem, InboundMessage, JsonValue, ListenError, MessageAddressInput, MessageTextError, parseMessageText, PostId, SendError, SendInput, SendResult } from "./index.js";
@@ -121,6 +122,7 @@ type ExpectedDelivery = Readonly<{
121
122
  type ExpectedEndpoint = Readonly<{
122
123
  send: (input: SendInput, options?: Readonly<{
123
124
  failureDelivery?: "result" | "inbound";
125
+ idempotencyKey?: string;
124
126
  }>) => Effect.Effect<SendResult, SendError | CollectiveError>;
125
127
  messages: Stream.Stream<InboundDelivery, ListenError>;
126
128
  }>;
@@ -133,6 +135,7 @@ type DirectMessageIsExact = Expect<Equal<DirectMessage, ExpectedDirectMessage>>;
133
135
  type GroupMessageIsExact = Expect<Equal<GroupMessage, ExpectedGroupMessage>>;
134
136
  type InboundMessageIsExact = Expect<Equal<InboundMessage, DirectMessage | GroupMessage>>;
135
137
  type DeliveryIsExact = Expect<Equal<InboundDelivery, ExpectedDelivery>>;
138
+ type SendOptionsAreExact = Expect<Equal<NonNullable<Parameters<HarnessEndpoint["send"]>[1]>, NonNullable<Parameters<ExpectedEndpoint["send"]>[1]>>>;
136
139
  type EndpointIsExact = Expect<Equal<HarnessEndpoint, ExpectedEndpoint>>;
137
140
  type ExpectedHistoryExportRecord = Readonly<{
138
141
  kind: "inbound";
@@ -159,7 +162,7 @@ type HistoryExportRecordIsExact = Expect<Equal<HistoryExportRecord, ExpectedHist
159
162
  type ContentIsNonempty = Expect<Content extends readonly [ContentPart, ...ContentPart[]] ? true : false>;
160
163
  type AgentAddressIsInput = Expect<AgentAddress extends MessageAddressInput ? true : false>;
161
164
  type GroupAddressIsInput = Expect<GroupAddress extends MessageAddressInput ? true : false>;
162
- type SendReasonsAreExact = Expect<Equal<SendError["reason"], "invalid-address" | "unknown-agent" | "membership-invalid" | "content-invalid" | "not-registered" | "version-mismatch" | "certification-unavailable" | "persistence-failed" | "network-unavailable">>;
165
+ type SendReasonsAreExact = Expect<Equal<SendError["reason"], "invalid-address" | "unknown-agent" | "membership-invalid" | "content-invalid" | "not-registered" | "version-mismatch" | "certification-unavailable" | "persistence-failed" | "network-unavailable" | "idempotency-conflict" | "outcome-unknown">>;
163
166
  type CollectiveFailureKindsAreExact = Expect<Equal<CollectiveError["failure"]["kind"], "members-unreachable" | "schema-invalid" | "answer-invalid" | "request-none" | "request-ambiguous" | "request-answered" | "request-expired">>;
164
167
  type ListenReasonsAreExact = Expect<Equal<ListenError["reason"], "already-listening" | "incompatible-daemon" | "transport-failed" | "decode-failed">>;
165
168
  type AcknowledgeReasonsAreExact = Expect<Equal<DeliveryAcknowledgeError["reason"], "unknown-delivery" | "delivery-conflict" | "persistence-failed" | "transport-failed">>;
@@ -178,6 +181,7 @@ export type HarnessEndpointCanaries = [
178
181
  InboundMessageIsExact,
179
182
  DeliveryIsExact,
180
183
  EndpointIsExact,
184
+ SendOptionsAreExact,
181
185
  ContentIsNonempty,
182
186
  AgentAddressIsInput,
183
187
  GroupAddressIsInput,
@@ -191,4 +195,4 @@ export type HarnessEndpointCanaries = [
191
195
  AcquisitionResultIsExact
192
196
  ];
193
197
  export {};
194
- //# sourceMappingURL=contract.types-check.d.ts.map
198
+ //# sourceMappingURL=index.types-check.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.types-check.d.ts","sourceRoot":"","sources":["../src/index.types-check.ts"],"names":[],"mappings":"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"}
@@ -5,13 +5,14 @@
5
5
  * operation, multicast by default or a gather or all_gather with its deadline
6
6
  * and schema; a response names the conversation whose open request it
7
7
  * answers and no request id. One parser reads either from a message's text,
8
- * so every adapter accepts the same text. Each inbound
8
+ * so the native channel adapters accept the same text. Each inbound
9
9
  * delivery carries one item plus transport-only acknowledgment: a multicast
10
10
  * with the certified direct or complete-group message, a collective request
11
11
  * naming the conversation it arrived in, a collective result that names an
12
12
  * all_gather's close post, or an operation failure. A send returns a
13
13
  * collecting operation's id and fails with a closed send reason or a
14
- * collective failure.
14
+ * collective failure. Optional invocation identity preserves a retried send without
15
+ * executing a new collective operation.
15
16
  */
16
17
  export {};
17
- //# sourceMappingURL=contract.types-check.js.map
18
+ //# sourceMappingURL=index.types-check.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.types-check.js","sourceRoot":"","sources":["../src/index.types-check.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG"}
@@ -3,17 +3,14 @@ import type { Registry } from "@moltzap/identity/registry";
3
3
  import type { Router } from "@moltzap/router";
4
4
  import { type VerifiedAgentCard } from "@moltzap/identity";
5
5
  import { Deferred, Effect, type Scope } from "effect";
6
- import type { EndpointEngine, EndpointEngineInput, EngineInitializationError } from "../../endpoint/engine.js";
7
- import type { RouterWorker, RouterWorkerInput, RouterWorkerProtocolError, RouterWorkerTransportError } from "../../endpoint/router-worker/index.js";
8
- import type { EndpointStore } from "../../endpoint/store.js";
9
- import type { HarnessMessageReadyEvent } from "../../harness-mcp-contract.js";
10
- import type { HarnessMcpSubscriptionHandler } from "../../harness-mcp-subscription.js";
11
- import type { makeHarnessMcpHttpHandler } from "../../harness-mcp-wire.js";
12
- import type { DaemonBootstrap } from "../configuration.js";
13
- import type { HistoryExportPort } from "./history-export.js";
14
- import { type DaemonManagementOperations } from "../management.js";
15
- import { type DaemonRegistrationState } from "../registration.js";
16
- type SubscriptionHandler = HarnessMcpSubscriptionHandler<HarnessMessageReadyEvent>;
6
+ import type { HistoryExportPort } from "../delivery/history-export.js";
7
+ import type { HarnessMcpEventHandler, makeHarnessMcpHttpHandler } from "../endpoint/mcp/index.js";
8
+ import type { EndpointStore } from "../store/index.js";
9
+ import type { EndpointEngine, EndpointEngineInput, EngineInitializationError } from "../transport/messaging/index.js";
10
+ import type { RouterWorker, RouterWorkerInput, RouterWorkerProtocolError, RouterWorkerTransportError } from "../transport/router/index.js";
11
+ import type { DaemonBootstrap } from "./configuration.js";
12
+ import { type DaemonManagementOperations } from "./management.js";
13
+ import { type DaemonRegistrationState } from "./registration.js";
17
14
  declare const DaemonRuntimeError_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 & {
18
15
  readonly _tag: "DaemonRuntimeError";
19
16
  } & Readonly<A>;
@@ -37,7 +34,7 @@ export interface DaemonRuntimeDependencies {
37
34
  readonly makeHandler: typeof makeHarnessMcpHttpHandler;
38
35
  readonly acquireListener: (input: {
39
36
  readonly port: number;
40
- readonly handler: SubscriptionHandler;
37
+ readonly handler: HarnessMcpEventHandler;
41
38
  }) => Effect.Effect<void, Error, Scope.Scope>;
42
39
  /** Opens the operator-configured history export against one file. */
43
40
  readonly makeHistoryExport: (path: string) => Effect.Effect<HistoryExportPort>;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"activation.d.ts","sourceRoot":"","sources":["../../src/service/activation.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAE/E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAGL,KAAK,iBAAiB,EACvB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAQ,QAAQ,EAAE,MAAM,EAAE,KAAK,KAAK,EAAE,MAAM,QAAQ,CAAC;AAC5D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,KAAK,EACV,sBAAsB,EACtB,yBAAyB,EAC1B,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,aAAa,EAAoB,MAAM,mBAAmB,CAAC;AACzE,OAAO,KAAK,EACV,cAAc,EACd,mBAAmB,EACnB,yBAAyB,EAC1B,MAAM,iCAAiC,CAAC;AACzC,OAAO,KAAK,EACV,YAAY,EACZ,iBAAiB,EACjB,yBAAyB,EACzB,0BAA0B,EAC3B,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAO1D,OAAO,EACL,KAAK,0BAA0B,EAEhC,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,KAAK,uBAAuB,EAE7B,MAAM,mBAAmB,CAAC;;;;AAE3B,8EAA8E;AAC9E,qBAAa,kBAAmB,SAAQ,wBAAuC;IAC7E,QAAQ,CAAC,KAAK,EAAE,SAAS,GAAG,UAAU,CAAC;CACxC,CAAC;CAAG;;;;AAEL,6EAA6E;AAC7E,qBAAa,qBAAsB,SAAQ,2BAEzC;IACA,QAAQ,CAAC,MAAM,EAAE,UAAU,GAAG,aAAa,GAAG,gBAAgB,CAAC;CAChE,CAAC;CAAG;AAEL,sEAAsE;AACtE,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,UAAU,EAAE,CACnB,KAAK,EAAE,iBAAiB,KACrB,MAAM,CAAC,MAAM,CAChB,YAAY,EACZ,0BAA0B,GAAG,yBAAyB,EACtD,QAAQ,GAAG,MAAM,CAClB,CAAC;IACF,QAAQ,CAAC,UAAU,EAAE,CACnB,KAAK,EAAE,mBAAmB,KACvB,MAAM,CAAC,MAAM,CAAC,cAAc,EAAE,yBAAyB,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;IAC3E,QAAQ,CAAC,WAAW,EAAE,OAAO,yBAAyB,CAAC;IACvD,QAAQ,CAAC,eAAe,EAAE,CAAC,KAAK,EAAE;QAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,OAAO,EAAE,sBAAsB,CAAC;KAC1C,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;IAC9C,qEAAqE;IACrE,QAAQ,CAAC,iBAAiB,EAAE,CAC1B,IAAI,EAAE,MAAM,KACT,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;CACvC;AAED,8EAA8E;AAC9E,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,UAAU,EAAE,0BAA0B,CAAC;IAChD,QAAQ,CAAC,YAAY,EAAE,uBAAuB,CAAC;CAChD;AAED,gEAAgE;AAChE,MAAM,MAAM,kBAAkB,GAAG,CAC/B,SAAS,EAAE,iBAAiB,KACzB,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,qBAAqB,CAAC,CAAC;AAEhD,gFAAgF;AAChF,MAAM,MAAM,kBAAkB,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CACpD,UAAU,CAAC,0BAA0B,CAAC,UAAU,CAAC,CAAC,CACnD,CAAC;AAoFF;;;;;;;GAOG;AACH,eAAO,MAAM,wBAAwB,UAAW;IAC9C,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC;IAC9B,QAAQ,CAAC,cAAc,EAAE,iBAAiB,CAAC;IAC3C,QAAQ,CAAC,SAAS,EAAE,eAAe,CAAC;CACrC,KAAG,MAAM,CAAC,MAAM,CAAC,SAAS,iBAAiB,EAAE,EAAE,qBAAqB,CAiBf,CAAC;AAYvD;;;;;;;;;GASG;AACH,eAAO,MAAM,kBAAkB,UACtB;IACL,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC;IAC9B,QAAQ,CAAC,SAAS,EAAE,eAAe,CAAC;IACpC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,QAAQ,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAAC;IAC7D,QAAQ,CAAC,UAAU,EAAE,kBAAkB,CAAC;CACzC,UACO,kBAAkB,KACzB,MAAM,CAAC,MAAM,CAAC,kBAAkB,EAAE,qBAAqB,CAoBzD,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,uBAAuB,UAAW;IAC7C,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC;IAC9B,QAAQ,CAAC,SAAS,EAAE,eAAe,CAAC;CACrC,KAAG,MAAM,CAAC,MAAM,CAAC,2BAA2B,EAAE,kBAAkB,EAAE,QAAQ,CAOtB,CAAC"}
@@ -1,9 +1,9 @@
1
1
  /** @file Private daemon activation, recovery, and registration preparation. */
2
2
  import { AgentCard, } from "@moltzap/identity";
3
3
  import { Data, Deferred, Effect } from "effect";
4
- import { decodeCanonical, encodeCanonical, MembershipDescriptor, verifyMembershipDescriptor, } from "../../endpoint/representation.js";
5
- import { makeDaemonManagementOperations, } from "../management.js";
6
- import { readDaemonRegistrationState, } from "../registration.js";
4
+ import { decodeCanonical, encodeCanonical, MembershipDescriptor, verifyMembershipDescriptor, } from "../transport/wire/index.js";
5
+ import { makeDaemonManagementOperations, } from "./management.js";
6
+ import { readDaemonRegistrationState, } from "./registration.js";
7
7
  /** Closed private daemon failure projected onto the public startup phases. */
8
8
  export class DaemonRuntimeError extends Data.TaggedError("DaemonRuntimeError") {
9
9
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"activation.js","sourceRoot":"","sources":["../../src/service/activation.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,9 @@
1
1
  /** @file Exact daemon process configuration and redacted bootstrap material. */
2
2
  import { AgentSigningAuthority, type Ed25519PublicKey as Ed25519PublicKeyValue } from "@moltzap/identity";
3
3
  import { Effect, Redacted } from "effect";
4
+ import { type HarnessMcpCredentials } from "../endpoint/mcp/index.js";
4
5
  /** Closed reason that daemon configuration cannot become startup authority. */
5
- export type DaemonConfigurationFailure = "environment" | "agent-private-key-file" | "agent-private-key" | "admission-credential-file" | "admission-credential";
6
+ export type DaemonConfigurationFailure = "environment" | "agent-private-key-file" | "agent-private-key" | "admission-credential-file" | "admission-credential" | "mcp-runtime-credential-file" | "mcp-owner-credential-file" | "mcp-credential";
6
7
  declare const DaemonConfigurationError_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 & {
7
8
  readonly _tag: "DaemonConfigurationError";
8
9
  } & Readonly<A>;
@@ -30,6 +31,8 @@ export interface DaemonProcessConfiguration {
30
31
  * line each, when the operator asks for that record.
31
32
  */
32
33
  readonly historyExport?: string;
34
+ readonly mcpRuntimeCredentialFile?: Redacted.Redacted;
35
+ readonly mcpOwnerCredentialFile?: Redacted.Redacted;
33
36
  }
34
37
  /** Loaded private authority required by daemon registration and network calls. */
35
38
  export interface DaemonBootstrap {
@@ -41,17 +44,15 @@ export interface DaemonBootstrap {
41
44
  * replays that outcome. Loading the bootstrap never reads the file.
42
45
  */
43
46
  readonly admissionCredential: Effect.Effect<Redacted.Redacted, DaemonConfigurationError>;
47
+ readonly mcpCredentials?: HarnessMcpCredentials;
44
48
  }
45
- /**
46
- * Loads exactly the six required daemon process inputs, the optional
47
- * admission credential file, and the optional export.
48
- */
49
+ /** Loads explicit daemon inputs with optional export and MCP authority separation. */
49
50
  export declare const loadDaemonProcessConfiguration: Effect.Effect<DaemonProcessConfiguration, DaemonConfigurationError>;
50
51
  /**
51
52
  * Reads the agent private key and constructs the configured Ed25519 authority.
52
53
  *
53
- * @param configuration Validated process configuration.
54
- * @returns Opaque agent signing authority and a deferred admission credential.
54
+ * @param configuration Validated process configuration and optional authority paths.
55
+ * @returns Opaque signing authority, MCP credentials, and deferred admission credential.
55
56
  */
56
57
  export declare const loadDaemonBootstrap: (configuration: DaemonProcessConfiguration) => Effect.Effect<DaemonBootstrap, DaemonConfigurationError>;
57
58
  export {};
@@ -0,0 +1 @@
1
+ {"version":3,"file":"configuration.d.ts","sourceRoot":"","sources":["../../src/service/configuration.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAEhF,OAAO,EACL,qBAAqB,EAErB,KAAK,gBAAgB,IAAI,qBAAqB,EAC/C,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAgB,MAAM,EAAE,QAAQ,EAAU,MAAM,QAAQ,CAAC;AAChE,OAAO,EAEL,KAAK,qBAAqB,EAC3B,MAAM,0BAA0B,CAAC;AAyElC,+EAA+E;AAC/E,MAAM,MAAM,0BAA0B,GAClC,aAAa,GACb,wBAAwB,GACxB,mBAAmB,GACnB,2BAA2B,GAC3B,sBAAsB,GACtB,6BAA6B,GAC7B,2BAA2B,GAC3B,gBAAgB,CAAC;;;;AAErB,uDAAuD;AACvD,qBAAa,wBAAyB,SAAQ,8BAE5C;IACA,QAAQ,CAAC,MAAM,EAAE,0BAA0B,CAAC;CAC7C,CAAC;CAAG;AAEL,iFAAiF;AACjF,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,cAAc,EAAE,GAAG,CAAC;IAC7B,QAAQ,CAAC,uBAAuB,EAAE,qBAAqB,CAAC;IACxD,QAAQ,CAAC,YAAY,EAAE,GAAG,CAAC;IAC3B,QAAQ,CAAC,mBAAmB,EAAE,QAAQ,CAAC,QAAQ,CAAC;IAChD;;;;OAIG;IACH,QAAQ,CAAC,uBAAuB,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC;IACrD;;;OAGG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,wBAAwB,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC;IACtD,QAAQ,CAAC,sBAAsB,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC;CACrD;AAED,kFAAkF;AAClF,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,aAAa,EAAE,0BAA0B,CAAC;IACnD,QAAQ,CAAC,gBAAgB,EAAE,qBAAqB,CAAC;IACjD,QAAQ,CAAC,cAAc,EAAE,qBAAqB,CAAC;IAC/C;;;OAGG;IACH,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC,MAAM,CACzC,QAAQ,CAAC,QAAQ,EACjB,wBAAwB,CACzB,CAAC;IACF,QAAQ,CAAC,cAAc,CAAC,EAAE,qBAAqB,CAAC;CACjD;AAMD,sFAAsF;AACtF,eAAO,MAAM,8BAA8B,EAAE,MAAM,CAAC,MAAM,CACxD,0BAA0B,EAC1B,wBAAwB,CAKzB,CAAC;AAsDF;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,kBACf,0BAA0B,KACxC,MAAM,CAAC,MAAM,CAAC,eAAe,EAAE,wBAAwB,CAoBT,CAAC"}
@@ -1,8 +1,8 @@
1
1
  /** @file Exact daemon process configuration and redacted bootstrap material. */
2
2
  import { AgentSigningAuthority, Ed25519PublicKey, } from "@moltzap/identity";
3
3
  import { Config, Data, Effect, Redacted, Schema } from "effect";
4
- // eslint-disable-next-line agent-code-guard/prefer-effect-platform -- Bootstrap reads the two configured Node secret files outside the daemon's platform services.
5
- import { readFile } from "node:fs/promises";
4
+ import { credentialMatches, } from "../endpoint/mcp/index.js";
5
+ import { credentialText, loadAdmissionCredential, loadSigningAuthority, readCredential, } from "../identity/index.js";
6
6
  const canonicalUnsignedDecimal = Schema.String.pipe(Schema.pattern(/^(?:0|[1-9]\d*)$/u));
7
7
  const port = canonicalUnsignedDecimal.pipe(Schema.compose(Schema.NumberFromString), Schema.int(), Schema.between(1, 65_535));
8
8
  const configuredPath = Schema.String.pipe(Schema.minLength(1), Schema.filter((value) => !value.includes("\u0000")));
@@ -17,7 +17,6 @@ const isSerializedOrigin = (value) => {
17
17
  };
18
18
  const origin = Schema.String.pipe(Schema.filter(isSerializedOrigin), Schema.compose(Schema.URL));
19
19
  const compactPublicKeyJson = Schema.String.pipe(Schema.pattern(/^\{"crv":"Ed25519","kty":"OKP","x":"[A-Za-z0-9_-]{43}"\}$/u), Schema.compose(Schema.parseJson(Ed25519PublicKey)));
20
- const admissionCredential = Schema.String.pipe(Schema.minLength(8), Schema.maxLength(512), Schema.pattern(/^[A-Za-z0-9\-._~+/]+=*$/u));
21
20
  const configuredValues = Config.all({
22
21
  stateDirectory: Schema.Config("MOLTZAPD_STATE_DIRECTORY", configuredPath),
23
22
  mcpPort: Schema.Config("MOLTZAPD_MCP_PORT", port),
@@ -27,49 +26,52 @@ const configuredValues = Config.all({
27
26
  agentPrivateKeyFile: Config.redacted(Schema.Config("MOLTZAPD_AGENT_PRIVATE_KEY_FILE", configuredPath)),
28
27
  admissionCredentialFile: Schema.Config("MOLTZAPD_ADMISSION_CREDENTIAL_FILE", optionalConfiguredPath).pipe(Config.withDefault(""), Config.map((path) => (path === "" ? undefined : Redacted.make(path)))),
29
28
  historyExport: Schema.Config("MOLTZAPD_HISTORY_EXPORT", configuredPath).pipe(Config.withDefault(undefined)),
29
+ mcpRuntimeCredentialFile: Config.redacted(Schema.Config("MOLTZAPD_MCP_RUNTIME_CREDENTIAL_FILE", configuredPath)).pipe(Config.withDefault(undefined)),
30
+ mcpOwnerCredentialFile: Config.redacted(Schema.Config("MOLTZAPD_MCP_OWNER_CREDENTIAL_FILE", configuredPath)).pipe(Config.withDefault(undefined)),
30
31
  });
31
32
  /** One non-diagnostic daemon configuration failure. */
32
33
  export class DaemonConfigurationError extends Data.TaggedError("DaemonConfigurationError") {
33
34
  }
34
35
  const configurationError = (reason) => new DaemonConfigurationError({ reason });
35
- /**
36
- * Loads exactly the six required daemon process inputs, the optional
37
- * admission credential file, and the optional export.
38
- */
36
+ /** Loads explicit daemon inputs with optional export and MCP authority separation. */
39
37
  export const loadDaemonProcessConfiguration = configuredValues.pipe(Effect.map((configuration) => configuration), Effect.mapError(() => configurationError("environment")), Effect.withSpan("loadDaemonProcessConfiguration"));
40
- const utf8Decoder = new TextDecoder("utf-8", {
41
- fatal: true,
42
- ignoreBOM: true,
38
+ const credentialFailure = (fileReason, valueReason) => (error) => configurationError(error.stage === "file" ? fileReason : valueReason);
39
+ const mcpCredential = credentialText.pipe(Schema.minLength(32));
40
+ const loadMcpCredentials = (configuration) => Effect.gen(function* () {
41
+ const runtimePath = configuration.mcpRuntimeCredentialFile;
42
+ const ownerPath = configuration.mcpOwnerCredentialFile;
43
+ if (runtimePath === undefined && ownerPath === undefined) {
44
+ return undefined;
45
+ }
46
+ if (runtimePath === undefined || ownerPath === undefined) {
47
+ return yield* Effect.fail(configurationError("mcp-credential"));
48
+ }
49
+ const runtime = yield* readCredential(runtimePath, mcpCredential).pipe(Effect.mapError(credentialFailure("mcp-runtime-credential-file", "mcp-credential")));
50
+ const owner = yield* readCredential(ownerPath, mcpCredential).pipe(Effect.mapError(credentialFailure("mcp-owner-credential-file", "mcp-credential")));
51
+ if (credentialMatches(Redacted.value(runtime), owner)) {
52
+ return yield* Effect.fail(configurationError("mcp-credential"));
53
+ }
54
+ return { runtime, owner };
43
55
  });
44
- const readExactUtf8 = (path, reason) => Effect.tryPromise({
45
- try: () => readFile(Redacted.value(path)),
46
- catch: () => configurationError(reason),
47
- }).pipe(Effect.flatMap((bytes) => Effect.try({
48
- try: () => utf8Decoder.decode(bytes),
49
- catch: () => configurationError(reason),
50
- })));
51
- const loadSigningAuthority = (configuration) => readExactUtf8(configuration.agentPrivateKeyFile, "agent-private-key-file").pipe(Effect.flatMap((privateKey) => AgentSigningAuthority.fromPkcs8(Redacted.make(privateKey))), Effect.mapError((error) => error._tag === "DaemonConfigurationError"
52
- ? error
53
- : configurationError("agent-private-key")));
54
- const loadAdmissionCredential = (configuration) => (configuration.admissionCredentialFile === undefined
56
+ const loadConfiguredAdmissionCredential = (configuration) => configuration.admissionCredentialFile === undefined
55
57
  ? Effect.fail(configurationError("admission-credential-file"))
56
- : readExactUtf8(configuration.admissionCredentialFile, "admission-credential-file")).pipe(Effect.flatMap(Schema.decodeUnknown(admissionCredential)), Effect.map(Redacted.make), Effect.mapError((error) => error._tag === "DaemonConfigurationError"
57
- ? error
58
- : configurationError("admission-credential")));
58
+ : loadAdmissionCredential(configuration.admissionCredentialFile).pipe(Effect.mapError(credentialFailure("admission-credential-file", "admission-credential")));
59
59
  /**
60
60
  * Reads the agent private key and constructs the configured Ed25519 authority.
61
61
  *
62
- * @param configuration Validated process configuration.
63
- * @returns Opaque agent signing authority and a deferred admission credential.
62
+ * @param configuration Validated process configuration and optional authority paths.
63
+ * @returns Opaque signing authority, MCP credentials, and deferred admission credential.
64
64
  */
65
65
  export const loadDaemonBootstrap = (configuration) => Effect.gen(function* () {
66
- const signingAuthority = yield* loadSigningAuthority(configuration);
67
- const admissionCredential = yield* Effect.cached(loadAdmissionCredential(configuration));
66
+ const signingAuthority = yield* loadSigningAuthority(configuration.agentPrivateKeyFile).pipe(Effect.mapError(credentialFailure("agent-private-key-file", "agent-private-key")));
67
+ const admissionCredential = yield* Effect.cached(loadConfiguredAdmissionCredential(configuration));
68
+ const mcpCredentials = yield* loadMcpCredentials(configuration);
68
69
  return Object.freeze({
69
70
  configuration,
70
71
  signingAuthority,
71
72
  agentPublicKey: AgentSigningAuthority.publicKey(signingAuthority),
72
73
  admissionCredential,
74
+ ...(mcpCredentials === undefined ? {} : { mcpCredentials }),
73
75
  });
74
76
  }).pipe(Effect.withSpan("loadDaemonBootstrap"));
75
77
  //# sourceMappingURL=configuration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"configuration.js","sourceRoot":"","sources":["../../src/service/configuration.ts"],"names":[],"mappings":"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"}
@@ -2,12 +2,13 @@
2
2
  import { Registry } from "@moltzap/identity/registry";
3
3
  import { Router } from "@moltzap/router";
4
4
  import { Effect, Scope } from "effect";
5
- import type { EndpointStore } from "../../endpoint/store.js";
6
- import type { HarnessMcpOperations } from "../../harness-mcp-wire.js";
7
- import type { DaemonBootstrap } from "../configuration.js";
8
- import type { HistoryExportPort } from "./history-export.js";
5
+ import type { HistoryExportPort } from "../delivery/history-export.js";
6
+ import type { EventStore } from "../delivery/operations.js";
7
+ import type { HarnessMcpOperations } from "../endpoint/mcp/index.js";
8
+ import type { EndpointStore } from "../store/index.js";
9
+ import type { DaemonBootstrap } from "./configuration.js";
9
10
  import { type DaemonActivationPreparation, type DaemonRuntimeDependencies, DaemonRuntimeError } from "./activation.js";
10
- import { type RuntimeSubscriptionHandler } from "./protocol.js";
11
+ import { type RuntimeSubscriptionHandler } from "./supervision.js";
11
12
  interface DaemonControllerInput {
12
13
  readonly store: EndpointStore;
13
14
  readonly bootstrap: DaemonBootstrap;
@@ -18,6 +19,7 @@ interface DaemonControllerInput {
18
19
  /** Controller operations consumed by the daemon composition root. */
19
20
  export interface DaemonController {
20
21
  readonly operations: HarnessMcpOperations;
22
+ readonly eventStore: EventStore;
21
23
  readonly subscriptionChanged: (active: boolean) => void;
22
24
  readonly installHandler: (handler: RuntimeSubscriptionHandler) => Effect.Effect<void>;
23
25
  readonly runSubscriptions: Effect.Effect<never, DaemonRuntimeError>;
@@ -29,6 +31,6 @@ export interface DaemonController {
29
31
  * @param input Durable store, bootstrap configuration, and process dependencies.
30
32
  * @returns Controller operations and supervised lifecycle effects.
31
33
  */
32
- export declare const makeDaemonController: (input: DaemonControllerInput) => Effect.Effect<DaemonController, never, Registry | Router | Scope.Scope>;
34
+ export declare const makeDaemonController: (input: DaemonControllerInput) => Effect.Effect<DaemonController, DaemonRuntimeError, Registry | Router | Scope.Scope>;
33
35
  export {};
34
36
  //# sourceMappingURL=controller.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"controller.d.ts","sourceRoot":"","sources":["../../src/service/controller.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAG7E,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AACtD,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAY,MAAM,EAAS,KAAK,EAAE,MAAM,QAAQ,CAAC;AACxD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AACrE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAE1D,OAAO,EAEL,KAAK,2BAA2B,EAChC,KAAK,yBAAyB,EAC9B,kBAAkB,EAGnB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAML,KAAK,0BAA0B,EAChC,MAAM,kBAAkB,CAAC;AAE1B,UAAU,qBAAqB;IAC7B,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC;IAC9B,QAAQ,CAAC,SAAS,EAAE,eAAe,CAAC;IACpC,QAAQ,CAAC,aAAa,EAAE,iBAAiB,CAAC;IAC1C,QAAQ,CAAC,UAAU,EAAE,2BAA2B,CAAC,YAAY,CAAC,CAAC;IAC/D,QAAQ,CAAC,YAAY,EAAE,yBAAyB,CAAC;CAClD;AAED,qEAAqE;AACrE,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,UAAU,EAAE,oBAAoB,CAAC;IAC1C,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAChC,QAAQ,CAAC,mBAAmB,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;IACxD,QAAQ,CAAC,cAAc,EAAE,CACvB,OAAO,EAAE,0BAA0B,KAChC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACzB,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAAC;IACpE,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAAC;IAChE,QAAQ,CAAC,iBAAiB,EAAE,CAC1B,KAAK,EAAE,2BAA2B,CAAC,cAAc,CAAC,KAC/C,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAC;CAC9C;AAuID;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,UACxB,qBAAqB,KAC3B,MAAM,CAAC,MAAM,CACd,gBAAgB,EAChB,kBAAkB,EAClB,QAAQ,GAAG,MAAM,GAAG,KAAK,CAAC,KAAK,CAsCiB,CAAC"}
@@ -0,0 +1,106 @@
1
+ /** @file MCP operations and subscription state for one daemon controller. */
2
+ import { Registry } from "@moltzap/identity/registry";
3
+ import { Router } from "@moltzap/router";
4
+ import { Deferred, Effect, Queue, Scope } from "effect";
5
+ import { makeHostDelivery } from "../delivery/index.js";
6
+ import { DaemonRuntimeError, finishRegistration, } from "./activation.js";
7
+ import { failFromBackgroundCause, initializeProtocol, publishPendingMessages, } from "./supervision.js";
8
+ const runtimeFailure = (phase) => new DaemonRuntimeError({ phase });
9
+ const activationRuntimeFailure = (error) => runtimeFailure(error.reason === "upstream" ? "listener" : "storage");
10
+ /**
11
+ * The register tool's closed reason for an activation failure: a local
12
+ * storage fault is persistence-failed; an upstream or representation fault
13
+ * is dependency-unavailable.
14
+ */
15
+ const registerFailureReason = (reason) => {
16
+ switch (reason) {
17
+ case "persistence":
18
+ return "persistence-failed";
19
+ case "upstream":
20
+ case "representation":
21
+ return "dependency-unavailable";
22
+ default: {
23
+ const exhaustive = reason;
24
+ return exhaustive;
25
+ }
26
+ }
27
+ };
28
+ const makeRegisterOperation = (environment, management, initialize) => (request) => Effect.uninterruptible(management.register(request).pipe(Effect.flatMap((result) => finishRegistration({
29
+ store: environment.store,
30
+ bootstrap: environment.bootstrap,
31
+ fatal: environment.fatal,
32
+ initialize,
33
+ }, result)), Effect.catchTag("DaemonActivationError", (error) => Effect.fail({ reason: registerFailureReason(error.reason) }))));
34
+ const runSubscriptionChanges = (environment, changes, reconciler) => Queue.take(changes).pipe(Effect.flatMap((active) => Effect.sync(() => {
35
+ environment.state.subscriptionActive = active;
36
+ }).pipe(Effect.zipRight(active ? Effect.void : environment.delivery.detach), Effect.zipRight(Effect.ignore(reconciler)))), Effect.forever, Effect.catchAllCause((cause) => failFromBackgroundCause(environment.fatal, cause)));
37
+ const initializeAtStart = (initialize, state) => {
38
+ if (state.kind === "unregistered") {
39
+ return Effect.void;
40
+ }
41
+ return initialize(state.agentCard).pipe(Effect.mapError(activationRuntimeFailure));
42
+ };
43
+ const controllerOperations = (input) => {
44
+ const register = makeRegisterOperation(input.environment, input.management, input.initialize);
45
+ return Object.freeze({
46
+ ...input.management,
47
+ register,
48
+ ...input.environment.delivery.operations,
49
+ });
50
+ };
51
+ const assembleDaemonController = (input) => ({
52
+ operations: controllerOperations(input),
53
+ eventStore: input.environment.delivery.eventStore,
54
+ subscriptionChanged: (active) => {
55
+ input.changes.unsafeOffer(active);
56
+ },
57
+ installHandler: (handler) => Effect.sync(() => {
58
+ input.environment.state.handler = handler;
59
+ input.changes.unsafeOffer(handler.hasActiveSubscription());
60
+ }),
61
+ runSubscriptions: runSubscriptionChanges(input.environment, input.changes, input.reconciler),
62
+ awaitFailure: Deferred.await(input.environment.fatal),
63
+ initializeAtStart: (state) => initializeAtStart(input.initialize, state),
64
+ });
65
+ /**
66
+ * Acquire the daemon's protocol controller without starting the MCP listener.
67
+ * @param input Durable store, bootstrap configuration, and process dependencies.
68
+ * @returns Controller operations and supervised lifecycle effects.
69
+ */
70
+ export const makeDaemonController = (input) => Effect.gen(function* () {
71
+ const registry = yield* Registry;
72
+ const router = yield* Router;
73
+ const daemonScope = yield* Scope.Scope;
74
+ const activationGate = yield* Effect.makeSemaphore(1);
75
+ const changes = yield* Queue.unbounded();
76
+ const fatal = yield* Deferred.make();
77
+ const state = { subscriptionActive: false };
78
+ const delivery = yield* makeHostDelivery({
79
+ store: input.store,
80
+ historyExport: input.historyExport,
81
+ collectives: () => state.activeProtocol?.collectives,
82
+ scope: daemonScope,
83
+ }).pipe(Effect.mapError(() => runtimeFailure("storage")));
84
+ const environment = {
85
+ store: input.store,
86
+ bootstrap: input.bootstrap,
87
+ historyExport: input.historyExport,
88
+ dependencies: input.dependencies,
89
+ registry,
90
+ router,
91
+ daemonScope,
92
+ fatal,
93
+ state,
94
+ delivery,
95
+ };
96
+ const reconciler = publishPendingMessages(environment);
97
+ const initialize = (agentCard) => initializeProtocol(environment, activationGate, reconciler, agentCard);
98
+ return assembleDaemonController({
99
+ environment,
100
+ management: input.management,
101
+ changes,
102
+ reconciler,
103
+ initialize,
104
+ });
105
+ }).pipe(Effect.withSpan("makeDaemonController"));
106
+ //# sourceMappingURL=controller.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"controller.js","sourceRoot":"","sources":["../../src/service/controller.ts"],"names":[],"mappings":"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"}
@@ -1,18 +1,21 @@
1
1
  /** @file Production composition for one explicitly configured endpoint daemon. */
2
2
  import { Layer } from "effect";
3
- export declare namespace MoltZapDaemon {
3
+ export declare namespace MoltZapService {
4
4
  const StartupError_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 & {
5
- readonly _tag: "MoltZapDaemonStartupError";
5
+ readonly _tag: "MoltZapServiceStartupError";
6
6
  } & Readonly<A>;
7
7
  /** Closed daemon startup phase without configuration or platform detail. */
8
8
  export class StartupError extends StartupError_base<{
9
9
  readonly phase: "configuration" | "storage" | "listener";
10
10
  }> {
11
- /** Names only the failed phase, so the process log says why startup stopped. */
11
+ /**
12
+ * Names only the failed phase, so the process log says why startup stopped.
13
+ * @returns The startup failure message.
14
+ */
12
15
  get message(): string;
13
16
  }
14
17
  /** Complete production process composition for `moltzapd`. */
15
18
  export const layer: Layer.Layer<never, StartupError>;
16
19
  export {};
17
20
  }
18
- //# sourceMappingURL=server.d.ts.map
21
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/service/index.ts"],"names":[],"mappings":"AAAA,kFAAkF;AAKlF,OAAO,EAA0B,KAAK,EAAE,MAAM,QAAQ,CAAC;AAkBvD,yBAAiB,cAAc,CAAC;;;;IAC9B,4EAA4E;IAC5E,MAAM,OAAO,YAAa,SAAQ,kBAEhC;QACA,QAAQ,CAAC,KAAK,EAAE,eAAe,GAAG,SAAS,GAAG,UAAU,CAAC;KAC1D,CAAC;QACA;;;WAGG;QACH,IAAa,OAAO,IAAI,MAAM,CAE7B;KACF;IAoCD,8DAA8D;IAC9D,MAAM,CAAC,MAAM,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,YAAY,CACnB,CAAC;;CAwBlC"}