@moltzap/client 2026.811.0 → 2026.902.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 (429) hide show
  1. package/LICENSE +202 -21
  2. package/NOTICE +19 -0
  3. package/README.md +50 -0
  4. package/bin/moltzapd +9 -0
  5. package/dist/client-runtime.d.ts +10 -0
  6. package/dist/client-runtime.d.ts.map +1 -0
  7. package/dist/client-runtime.js +218 -0
  8. package/dist/client-runtime.js.map +1 -0
  9. package/dist/contract.d.ts +338 -0
  10. package/dist/contract.d.ts.map +1 -0
  11. package/dist/contract.js +213 -0
  12. package/dist/contract.js.map +1 -0
  13. package/dist/contract.types-check.d.ts +99 -0
  14. package/dist/contract.types-check.d.ts.map +1 -0
  15. package/dist/contract.types-check.js +7 -0
  16. package/dist/contract.types-check.js.map +1 -0
  17. package/dist/daemon/configuration.d.ts +46 -0
  18. package/dist/daemon/configuration.d.ts.map +1 -0
  19. package/dist/daemon/configuration.js +69 -0
  20. package/dist/daemon/configuration.js.map +1 -0
  21. package/dist/daemon/management.d.ts +23 -0
  22. package/dist/daemon/management.d.ts.map +1 -0
  23. package/dist/daemon/management.js +489 -0
  24. package/dist/daemon/management.js.map +1 -0
  25. package/dist/daemon/registration.d.ts +72 -0
  26. package/dist/daemon/registration.d.ts.map +1 -0
  27. package/dist/daemon/registration.js +109 -0
  28. package/dist/daemon/registration.js.map +1 -0
  29. package/dist/daemon/runtime/activation.d.ts +95 -0
  30. package/dist/daemon/runtime/activation.d.ts.map +1 -0
  31. package/dist/daemon/runtime/activation.js +99 -0
  32. package/dist/daemon/runtime/activation.js.map +1 -0
  33. package/dist/daemon/runtime/controller.d.ts +34 -0
  34. package/dist/daemon/runtime/controller.d.ts.map +1 -0
  35. package/dist/daemon/runtime/controller.js +106 -0
  36. package/dist/daemon/runtime/controller.js.map +1 -0
  37. package/dist/daemon/runtime/history-export.d.ts +23 -0
  38. package/dist/daemon/runtime/history-export.d.ts.map +1 -0
  39. package/dist/daemon/runtime/history-export.js +47 -0
  40. package/dist/daemon/runtime/history-export.js.map +1 -0
  41. package/dist/daemon/runtime/index.d.ts +24 -0
  42. package/dist/daemon/runtime/index.d.ts.map +1 -0
  43. package/dist/daemon/runtime/index.js +65 -0
  44. package/dist/daemon/runtime/index.js.map +1 -0
  45. package/dist/daemon/runtime/protocol.d.ts +63 -0
  46. package/dist/daemon/runtime/protocol.d.ts.map +1 -0
  47. package/dist/daemon/runtime/protocol.js +133 -0
  48. package/dist/daemon/runtime/protocol.js.map +1 -0
  49. package/dist/endpoint/addressing/index.d.ts +39 -0
  50. package/dist/endpoint/addressing/index.d.ts.map +1 -0
  51. package/dist/endpoint/addressing/index.js +114 -0
  52. package/dist/endpoint/addressing/index.js.map +1 -0
  53. package/dist/endpoint/engine-dissemination.d.ts +11 -0
  54. package/dist/endpoint/engine-dissemination.d.ts.map +1 -0
  55. package/dist/endpoint/engine-dissemination.js +71 -0
  56. package/dist/endpoint/engine-dissemination.js.map +1 -0
  57. package/dist/endpoint/engine-durability.d.ts +69 -0
  58. package/dist/endpoint/engine-durability.d.ts.map +1 -0
  59. package/dist/endpoint/engine-durability.js +210 -0
  60. package/dist/endpoint/engine-durability.js.map +1 -0
  61. package/dist/endpoint/engine-send.d.ts +50 -0
  62. package/dist/endpoint/engine-send.d.ts.map +1 -0
  63. package/dist/endpoint/engine-send.js +422 -0
  64. package/dist/endpoint/engine-send.js.map +1 -0
  65. package/dist/endpoint/engine-types.d.ts +132 -0
  66. package/dist/endpoint/engine-types.d.ts.map +1 -0
  67. package/dist/endpoint/engine-types.js +13 -0
  68. package/dist/endpoint/engine-types.js.map +1 -0
  69. package/dist/endpoint/engine.d.ts +14 -0
  70. package/dist/endpoint/engine.d.ts.map +1 -0
  71. package/dist/endpoint/engine.js +280 -0
  72. package/dist/endpoint/engine.js.map +1 -0
  73. package/dist/endpoint/protocol/evidence.d.ts +37 -0
  74. package/dist/endpoint/protocol/evidence.d.ts.map +1 -0
  75. package/dist/endpoint/protocol/evidence.js +80 -0
  76. package/dist/endpoint/protocol/evidence.js.map +1 -0
  77. package/dist/endpoint/protocol/index.d.ts +26 -0
  78. package/dist/endpoint/protocol/index.d.ts.map +1 -0
  79. package/dist/endpoint/protocol/index.js +543 -0
  80. package/dist/endpoint/protocol/index.js.map +1 -0
  81. package/dist/endpoint/recovery/barrier.d.ts +23 -0
  82. package/dist/endpoint/recovery/barrier.d.ts.map +1 -0
  83. package/dist/endpoint/recovery/barrier.js +47 -0
  84. package/dist/endpoint/recovery/barrier.js.map +1 -0
  85. package/dist/endpoint/recovery/index.d.ts +29 -0
  86. package/dist/endpoint/recovery/index.d.ts.map +1 -0
  87. package/dist/endpoint/recovery/index.js +489 -0
  88. package/dist/endpoint/recovery/index.js.map +1 -0
  89. package/dist/endpoint/recovery/reanchor/empty.d.ts +22 -0
  90. package/dist/endpoint/recovery/reanchor/empty.d.ts.map +1 -0
  91. package/dist/endpoint/recovery/reanchor/empty.js +163 -0
  92. package/dist/endpoint/recovery/reanchor/empty.js.map +1 -0
  93. package/dist/endpoint/recovery/reanchor/index.d.ts +30 -0
  94. package/dist/endpoint/recovery/reanchor/index.d.ts.map +1 -0
  95. package/dist/endpoint/recovery/reanchor/index.js +479 -0
  96. package/dist/endpoint/recovery/reanchor/index.js.map +1 -0
  97. package/dist/endpoint/recovery/state.d.ts +130 -0
  98. package/dist/endpoint/recovery/state.d.ts.map +1 -0
  99. package/dist/endpoint/recovery/state.js +296 -0
  100. package/dist/endpoint/recovery/state.js.map +1 -0
  101. package/dist/endpoint/recovery/store-evidence.d.ts +17 -0
  102. package/dist/endpoint/recovery/store-evidence.d.ts.map +1 -0
  103. package/dist/endpoint/recovery/store-evidence.js +79 -0
  104. package/dist/endpoint/recovery/store-evidence.js.map +1 -0
  105. package/dist/endpoint/recovery/store.d.ts +56 -0
  106. package/dist/endpoint/recovery/store.d.ts.map +1 -0
  107. package/dist/endpoint/recovery/store.js +499 -0
  108. package/dist/endpoint/recovery/store.js.map +1 -0
  109. package/dist/endpoint/representation-canonical.d.ts +17 -0
  110. package/dist/endpoint/representation-canonical.d.ts.map +1 -0
  111. package/dist/endpoint/representation-canonical.js +48 -0
  112. package/dist/endpoint/representation-canonical.js.map +1 -0
  113. package/dist/endpoint/representation-codec.d.ts +51 -0
  114. package/dist/endpoint/representation-codec.d.ts.map +1 -0
  115. package/dist/endpoint/representation-codec.js +159 -0
  116. package/dist/endpoint/representation-codec.js.map +1 -0
  117. package/dist/endpoint/representation-schemas.d.ts +1831 -0
  118. package/dist/endpoint/representation-schemas.d.ts.map +1 -0
  119. package/dist/endpoint/representation-schemas.js +195 -0
  120. package/dist/endpoint/representation-schemas.js.map +1 -0
  121. package/dist/endpoint/representation-verification.d.ts +79 -0
  122. package/dist/endpoint/representation-verification.d.ts.map +1 -0
  123. package/dist/endpoint/representation-verification.js +420 -0
  124. package/dist/endpoint/representation-verification.js.map +1 -0
  125. package/dist/endpoint/representation.d.ts +6 -0
  126. package/dist/endpoint/representation.d.ts.map +1 -0
  127. package/dist/endpoint/representation.js +8 -0
  128. package/dist/endpoint/representation.js.map +1 -0
  129. package/dist/endpoint/router-worker/index.d.ts +16 -0
  130. package/dist/endpoint/router-worker/index.d.ts.map +1 -0
  131. package/dist/endpoint/router-worker/index.js +547 -0
  132. package/dist/endpoint/router-worker/index.js.map +1 -0
  133. package/dist/endpoint/router-worker/types.d.ts +183 -0
  134. package/dist/endpoint/router-worker/types.d.ts.map +1 -0
  135. package/dist/endpoint/router-worker/types.js +31 -0
  136. package/dist/endpoint/router-worker/types.js.map +1 -0
  137. package/dist/endpoint/store/anchors.d.ts +83 -0
  138. package/dist/endpoint/store/anchors.d.ts.map +1 -0
  139. package/dist/endpoint/store/anchors.js +471 -0
  140. package/dist/endpoint/store/anchors.js.map +1 -0
  141. package/dist/endpoint/store/database/index.d.ts +6 -0
  142. package/dist/endpoint/store/database/index.d.ts.map +1 -0
  143. package/dist/endpoint/store/database/index.js +6 -0
  144. package/dist/endpoint/store/database/index.js.map +1 -0
  145. package/dist/endpoint/store/database/schema.d.ts +44 -0
  146. package/dist/endpoint/store/database/schema.d.ts.map +1 -0
  147. package/dist/endpoint/store/database/schema.js +345 -0
  148. package/dist/endpoint/store/database/schema.js.map +1 -0
  149. package/dist/endpoint/store/database/values.d.ts +119 -0
  150. package/dist/endpoint/store/database/values.d.ts.map +1 -0
  151. package/dist/endpoint/store/database/values.js +194 -0
  152. package/dist/endpoint/store/database/values.js.map +1 -0
  153. package/dist/endpoint/store/deliveries.d.ts +38 -0
  154. package/dist/endpoint/store/deliveries.d.ts.map +1 -0
  155. package/dist/endpoint/store/deliveries.js +124 -0
  156. package/dist/endpoint/store/deliveries.js.map +1 -0
  157. package/dist/endpoint/store/dissemination.d.ts +27 -0
  158. package/dist/endpoint/store/dissemination.d.ts.map +1 -0
  159. package/dist/endpoint/store/dissemination.js +139 -0
  160. package/dist/endpoint/store/dissemination.js.map +1 -0
  161. package/dist/endpoint/store/index.d.ts +15 -0
  162. package/dist/endpoint/store/index.d.ts.map +1 -0
  163. package/dist/endpoint/store/index.js +76 -0
  164. package/dist/endpoint/store/index.js.map +1 -0
  165. package/dist/endpoint/store/management.d.ts +42 -0
  166. package/dist/endpoint/store/management.d.ts.map +1 -0
  167. package/dist/endpoint/store/management.js +259 -0
  168. package/dist/endpoint/store/management.js.map +1 -0
  169. package/dist/endpoint/store/outbound.d.ts +62 -0
  170. package/dist/endpoint/store/outbound.d.ts.map +1 -0
  171. package/dist/endpoint/store/outbound.js +278 -0
  172. package/dist/endpoint/store/outbound.js.map +1 -0
  173. package/dist/endpoint/store/records.d.ts +56 -0
  174. package/dist/endpoint/store/records.d.ts.map +1 -0
  175. package/dist/endpoint/store/records.js +352 -0
  176. package/dist/endpoint/store/records.js.map +1 -0
  177. package/dist/endpoint/store/rows/index.d.ts +138 -0
  178. package/dist/endpoint/store/rows/index.d.ts.map +1 -0
  179. package/dist/endpoint/store/rows/index.js +307 -0
  180. package/dist/endpoint/store/rows/index.js.map +1 -0
  181. package/dist/endpoint/store/types.d.ts +223 -0
  182. package/dist/endpoint/store/types.d.ts.map +1 -0
  183. package/dist/endpoint/store/types.js +15 -0
  184. package/dist/endpoint/store/types.js.map +1 -0
  185. package/dist/endpoint/store.d.ts +10 -0
  186. package/dist/endpoint/store.d.ts.map +1 -0
  187. package/dist/endpoint/store.js +6 -0
  188. package/dist/endpoint/store.js.map +1 -0
  189. package/dist/harness-mcp-contract.d.ts +101 -0
  190. package/dist/harness-mcp-contract.d.ts.map +1 -0
  191. package/dist/harness-mcp-contract.js +61 -0
  192. package/dist/harness-mcp-contract.js.map +1 -0
  193. package/dist/harness-mcp-http.d.ts +19 -0
  194. package/dist/harness-mcp-http.d.ts.map +1 -0
  195. package/dist/{harness-mcp-server.js → harness-mcp-http.js} +43 -71
  196. package/dist/harness-mcp-http.js.map +1 -0
  197. package/dist/harness-mcp-subscription.d.ts +12 -7
  198. package/dist/harness-mcp-subscription.d.ts.map +1 -1
  199. package/dist/harness-mcp-subscription.js +113 -100
  200. package/dist/harness-mcp-subscription.js.map +1 -1
  201. package/dist/harness-mcp-wire.d.ts +26 -19
  202. package/dist/harness-mcp-wire.d.ts.map +1 -1
  203. package/dist/harness-mcp-wire.js +380 -67
  204. package/dist/harness-mcp-wire.js.map +1 -1
  205. package/dist/index.d.ts +4 -8
  206. package/dist/index.d.ts.map +1 -1
  207. package/dist/index.js +6 -8
  208. package/dist/index.js.map +1 -1
  209. package/dist/management-runtime.d.ts +217 -0
  210. package/dist/management-runtime.d.ts.map +1 -0
  211. package/dist/management-runtime.js +127 -0
  212. package/dist/management-runtime.js.map +1 -0
  213. package/dist/server.d.ts +16 -0
  214. package/dist/server.d.ts.map +1 -0
  215. package/dist/server.js +46 -0
  216. package/dist/server.js.map +1 -0
  217. package/dist/server.types-check.d.ts +23 -0
  218. package/dist/server.types-check.d.ts.map +1 -0
  219. package/dist/server.types-check.js +7 -0
  220. package/dist/server.types-check.js.map +1 -0
  221. package/package.json +45 -47
  222. package/dist/agent-client.d.ts +0 -5
  223. package/dist/agent-client.d.ts.map +0 -1
  224. package/dist/agent-client.js +0 -3
  225. package/dist/agent-client.js.map +0 -1
  226. package/dist/auth.d.ts +0 -37
  227. package/dist/auth.d.ts.map +0 -1
  228. package/dist/auth.js +0 -79
  229. package/dist/auth.js.map +0 -1
  230. package/dist/bounded-map.d.ts +0 -32
  231. package/dist/bounded-map.d.ts.map +0 -1
  232. package/dist/bounded-map.js +0 -79
  233. package/dist/bounded-map.js.map +0 -1
  234. package/dist/channel-base/format-cross-conv.d.ts +0 -43
  235. package/dist/channel-base/format-cross-conv.d.ts.map +0 -1
  236. package/dist/channel-base/format-cross-conv.js +0 -65
  237. package/dist/channel-base/format-cross-conv.js.map +0 -1
  238. package/dist/channel-base/format-group-block.d.ts +0 -48
  239. package/dist/channel-base/format-group-block.d.ts.map +0 -1
  240. package/dist/channel-base/format-group-block.js +0 -62
  241. package/dist/channel-base/format-group-block.js.map +0 -1
  242. package/dist/channel-base/index.d.ts +0 -12
  243. package/dist/channel-base/index.d.ts.map +0 -1
  244. package/dist/channel-base/index.js +0 -13
  245. package/dist/channel-base/index.js.map +0 -1
  246. package/dist/channel-core-enrichment.d.ts +0 -14
  247. package/dist/channel-core-enrichment.d.ts.map +0 -1
  248. package/dist/channel-core-enrichment.js +0 -143
  249. package/dist/channel-core-enrichment.js.map +0 -1
  250. package/dist/channel-core-test-support.d.ts +0 -75
  251. package/dist/channel-core-test-support.d.ts.map +0 -1
  252. package/dist/channel-core-test-support.js +0 -74
  253. package/dist/channel-core-test-support.js.map +0 -1
  254. package/dist/channel-core.d.ts +0 -304
  255. package/dist/channel-core.d.ts.map +0 -1
  256. package/dist/channel-core.js +0 -363
  257. package/dist/channel-core.js.map +0 -1
  258. package/dist/cli/adapters.d.ts +0 -21
  259. package/dist/cli/adapters.d.ts.map +0 -1
  260. package/dist/cli/adapters.js +0 -111
  261. package/dist/cli/adapters.js.map +0 -1
  262. package/dist/cli/commands/agents.d.ts +0 -11
  263. package/dist/cli/commands/agents.d.ts.map +0 -1
  264. package/dist/cli/commands/agents.js +0 -27
  265. package/dist/cli/commands/agents.js.map +0 -1
  266. package/dist/cli/commands/conversations.d.ts +0 -18
  267. package/dist/cli/commands/conversations.d.ts.map +0 -1
  268. package/dist/cli/commands/conversations.js +0 -33
  269. package/dist/cli/commands/conversations.js.map +0 -1
  270. package/dist/cli/commands/messages.d.ts +0 -41
  271. package/dist/cli/commands/messages.d.ts.map +0 -1
  272. package/dist/cli/commands/messages.js +0 -39
  273. package/dist/cli/commands/messages.js.map +0 -1
  274. package/dist/cli/commands/register.d.ts +0 -46
  275. package/dist/cli/commands/register.d.ts.map +0 -1
  276. package/dist/cli/commands/register.js +0 -103
  277. package/dist/cli/commands/register.js.map +0 -1
  278. package/dist/cli/commands/send.d.ts +0 -53
  279. package/dist/cli/commands/send.d.ts.map +0 -1
  280. package/dist/cli/commands/send.js +0 -57
  281. package/dist/cli/commands/send.js.map +0 -1
  282. package/dist/cli/commands/start.d.ts +0 -34
  283. package/dist/cli/commands/start.d.ts.map +0 -1
  284. package/dist/cli/commands/start.js +0 -59
  285. package/dist/cli/commands/start.js.map +0 -1
  286. package/dist/cli/commands/status.d.ts +0 -7
  287. package/dist/cli/commands/status.d.ts.map +0 -1
  288. package/dist/cli/commands/status.js +0 -16
  289. package/dist/cli/commands/status.js.map +0 -1
  290. package/dist/cli/commands/test-transport.d.ts +0 -28
  291. package/dist/cli/commands/test-transport.d.ts.map +0 -1
  292. package/dist/cli/commands/test-transport.js +0 -40
  293. package/dist/cli/commands/test-transport.js.map +0 -1
  294. package/dist/cli/index.d.ts +0 -3
  295. package/dist/cli/index.d.ts.map +0 -1
  296. package/dist/cli/index.js +0 -105
  297. package/dist/cli/index.js.map +0 -1
  298. package/dist/cli/output.d.ts +0 -14
  299. package/dist/cli/output.d.ts.map +0 -1
  300. package/dist/cli/output.js +0 -19
  301. package/dist/cli/output.js.map +0 -1
  302. package/dist/cli/socket-client.d.ts +0 -28
  303. package/dist/cli/socket-client.d.ts.map +0 -1
  304. package/dist/cli/socket-client.js +0 -63
  305. package/dist/cli/socket-client.js.map +0 -1
  306. package/dist/cli/transport.d.ts +0 -132
  307. package/dist/cli/transport.d.ts.map +0 -1
  308. package/dist/cli/transport.js +0 -127
  309. package/dist/cli/transport.js.map +0 -1
  310. package/dist/config.d.ts +0 -33
  311. package/dist/config.d.ts.map +0 -1
  312. package/dist/config.js +0 -45
  313. package/dist/config.js.map +0 -1
  314. package/dist/config.test-utils.d.ts +0 -18
  315. package/dist/config.test-utils.d.ts.map +0 -1
  316. package/dist/config.test-utils.js +0 -53
  317. package/dist/config.test-utils.js.map +0 -1
  318. package/dist/harness/client-runtime.d.ts +0 -24
  319. package/dist/harness/client-runtime.d.ts.map +0 -1
  320. package/dist/harness/client-runtime.js +0 -107
  321. package/dist/harness/client-runtime.js.map +0 -1
  322. package/dist/harness/index.d.ts +0 -5
  323. package/dist/harness/index.d.ts.map +0 -1
  324. package/dist/harness/index.js +0 -5
  325. package/dist/harness/index.js.map +0 -1
  326. package/dist/harness/runtime.d.ts +0 -149
  327. package/dist/harness/runtime.d.ts.map +0 -1
  328. package/dist/harness/runtime.js +0 -68
  329. package/dist/harness/runtime.js.map +0 -1
  330. package/dist/harness-client.d.ts +0 -43
  331. package/dist/harness-client.d.ts.map +0 -1
  332. package/dist/harness-client.js +0 -21
  333. package/dist/harness-client.js.map +0 -1
  334. package/dist/harness-mcp-server.d.ts +0 -19
  335. package/dist/harness-mcp-server.d.ts.map +0 -1
  336. package/dist/harness-mcp-server.js.map +0 -1
  337. package/dist/local-daemon-rpc.d.ts +0 -1170
  338. package/dist/local-daemon-rpc.d.ts.map +0 -1
  339. package/dist/local-daemon-rpc.js +0 -178
  340. package/dist/local-daemon-rpc.js.map +0 -1
  341. package/dist/local-history.d.ts +0 -75
  342. package/dist/local-history.d.ts.map +0 -1
  343. package/dist/local-history.js +0 -82
  344. package/dist/local-history.js.map +0 -1
  345. package/dist/local-paths.d.ts +0 -22
  346. package/dist/local-paths.d.ts.map +0 -1
  347. package/dist/local-paths.js +0 -33
  348. package/dist/local-paths.js.map +0 -1
  349. package/dist/local-socket-server.d.ts +0 -33
  350. package/dist/local-socket-server.d.ts.map +0 -1
  351. package/dist/local-socket-server.js +0 -100
  352. package/dist/local-socket-server.js.map +0 -1
  353. package/dist/message-rendering.d.ts +0 -4
  354. package/dist/message-rendering.d.ts.map +0 -1
  355. package/dist/message-rendering.js +0 -8
  356. package/dist/message-rendering.js.map +0 -1
  357. package/dist/moltzapd.d.ts +0 -38
  358. package/dist/moltzapd.d.ts.map +0 -1
  359. package/dist/moltzapd.js +0 -78
  360. package/dist/moltzapd.js.map +0 -1
  361. package/dist/notification/__tests__/subscribe-signatures.types-check.d.ts +0 -53
  362. package/dist/notification/__tests__/subscribe-signatures.types-check.d.ts.map +0 -1
  363. package/dist/notification/__tests__/subscribe-signatures.types-check.js +0 -29
  364. package/dist/notification/__tests__/subscribe-signatures.types-check.js.map +0 -1
  365. package/dist/notification/errors.d.ts +0 -41
  366. package/dist/notification/errors.d.ts.map +0 -1
  367. package/dist/notification/errors.js +0 -24
  368. package/dist/notification/errors.js.map +0 -1
  369. package/dist/notification/index.d.ts +0 -6
  370. package/dist/notification/index.d.ts.map +0 -1
  371. package/dist/notification/index.js +0 -6
  372. package/dist/notification/index.js.map +0 -1
  373. package/dist/notification/stream.d.ts +0 -75
  374. package/dist/notification/stream.d.ts.map +0 -1
  375. package/dist/notification/stream.js +0 -30
  376. package/dist/notification/stream.js.map +0 -1
  377. package/dist/pagination.d.ts +0 -52
  378. package/dist/pagination.d.ts.map +0 -1
  379. package/dist/pagination.js +0 -51
  380. package/dist/pagination.js.map +0 -1
  381. package/dist/profile.d.ts +0 -104
  382. package/dist/profile.d.ts.map +0 -1
  383. package/dist/profile.js +0 -163
  384. package/dist/profile.js.map +0 -1
  385. package/dist/refs.d.ts +0 -18
  386. package/dist/refs.d.ts.map +0 -1
  387. package/dist/refs.js +0 -18
  388. package/dist/refs.js.map +0 -1
  389. package/dist/service-event-trace.d.ts +0 -15
  390. package/dist/service-event-trace.d.ts.map +0 -1
  391. package/dist/service-event-trace.js +0 -35
  392. package/dist/service-event-trace.js.map +0 -1
  393. package/dist/service-helpers.d.ts +0 -55
  394. package/dist/service-helpers.d.ts.map +0 -1
  395. package/dist/service-helpers.js +0 -108
  396. package/dist/service-helpers.js.map +0 -1
  397. package/dist/service-local-daemon.d.ts +0 -32
  398. package/dist/service-local-daemon.d.ts.map +0 -1
  399. package/dist/service-local-daemon.js +0 -153
  400. package/dist/service-local-daemon.js.map +0 -1
  401. package/dist/service.d.ts +0 -299
  402. package/dist/service.d.ts.map +0 -1
  403. package/dist/service.js +0 -789
  404. package/dist/service.js.map +0 -1
  405. package/dist/test-utils/channel-service-fixture.d.ts +0 -53
  406. package/dist/test-utils/channel-service-fixture.d.ts.map +0 -1
  407. package/dist/test-utils/channel-service-fixture.js +0 -178
  408. package/dist/test-utils/channel-service-fixture.js.map +0 -1
  409. package/dist/test-utils/fake-service.d.ts +0 -84
  410. package/dist/test-utils/fake-service.d.ts.map +0 -1
  411. package/dist/test-utils/fake-service.js +0 -108
  412. package/dist/test-utils/fake-service.js.map +0 -1
  413. package/dist/test-utils/harness.d.ts +0 -27
  414. package/dist/test-utils/harness.d.ts.map +0 -1
  415. package/dist/test-utils/harness.js +0 -33
  416. package/dist/test-utils/harness.js.map +0 -1
  417. package/dist/test-utils/ids.d.ts +0 -21
  418. package/dist/test-utils/ids.d.ts.map +0 -1
  419. package/dist/test-utils/ids.js +0 -68
  420. package/dist/test-utils/ids.js.map +0 -1
  421. package/dist/test-utils/index.d.ts +0 -54
  422. package/dist/test-utils/index.d.ts.map +0 -1
  423. package/dist/test-utils/index.js +0 -65
  424. package/dist/test-utils/index.js.map +0 -1
  425. package/dist/test-utils/standalone-provisioning.d.ts +0 -22
  426. package/dist/test-utils/standalone-provisioning.d.ts.map +0 -1
  427. package/dist/test-utils/standalone-provisioning.js +0 -17
  428. package/dist/test-utils/standalone-provisioning.js.map +0 -1
  429. package/dist/tsconfig.tsbuildinfo +0 -1
@@ -1,363 +0,0 @@
1
- /**
2
- * Channel core: serialized inbound turn delivery over a MoltZapService.
3
- * Owns the inbound queue, same-conversation coalescing, the interceptor
4
- * gate, the per-turn timeout, and channel teardown. Enriched adapter delivery
5
- * uses channel-core-enrichment.ts; raw daemon delivery receives the coalesced
6
- * Message batch without reading or committing presentation context.
7
- */
8
- import { Cause, Chunk, Duration, Effect, Fiber, Option, Queue } from "effect";
9
- import { enrichChannelMessage } from "./channel-core-enrichment.js";
10
- function errorSummary(err) {
11
- if (err instanceof Error) {
12
- return {
13
- errorName: err.name,
14
- errorMessage: err.message,
15
- errorStack: err.stack,
16
- };
17
- }
18
- return {
19
- errorValue: String(err),
20
- };
21
- }
22
- function effectLogDebug(message, annotations) {
23
- return Effect.logDebug(message).pipe(Effect.annotateLogs(annotations));
24
- }
25
- function effectLogWarning(message, annotations) {
26
- return Effect.logWarning(message).pipe(Effect.annotateLogs(annotations));
27
- }
28
- function effectLogError(message, annotations) {
29
- return Effect.logError(message).pipe(Effect.annotateLogs(annotations));
30
- }
31
- function runBackgroundLog(effect) {
32
- Effect.runFork(effect);
33
- }
34
- /**
35
- * Wraps a `MoltZapService` with one-turn-at-a-time inbound delivery and a send
36
- * helper. Adapter handlers receive enriched messages. A daemon handler may
37
- * instead receive the admitted coalesced raw Message batch. One core per
38
- * service — `getContextEntries()` is side-effectful (advances
39
- * per-conversation markers), so a second core would consume entries the first
40
- * expected.
41
- *
42
- * Turn-taking is entirely endpoint-local: the server delivers every message
43
- * it accepts, and this core decides when the runtime sees them.
44
- *
45
- * Inbound path from wire bytes to user handler:.
46
- *
47
- * ```mermaid
48
- * sequenceDiagram
49
- * participant server
50
- * participant ws as MoltZapAgentClient
51
- * participant svc as MoltZapService
52
- * participant core as MoltZapChannelCore
53
- * participant raw as RawInboundHandler
54
- * participant enriched as InboundHandler
55
- *
56
- * server->>ws: agent/message/received notification
57
- * ws->>svc: subscribers.dispatch — fanout(message)
58
- * svc->>core: message listener
59
- * Note over core: dedup via recordMessageIdIfNew, drop when stopped or no handler is installed, then Queue.unsafeOffer(inboundQueue, message)
60
- * Note over core: consumer fiber — Queue.take
61
- * Note over core: takeCoalescedConversationMessages drains same-conv backlog into one turn
62
- * alt raw daemon handler
63
- * Note over core: inboundInterceptor — deliver or drop this batch
64
- * core->>raw: rawInboundHandler(messages)
65
- * raw-->>core: Effect.void
66
- * else enriched adapter handler
67
- * Note over core: enrichMessage — sender name, conversation, context entries
68
- * Note over core: inboundInterceptor — deliver or drop this turn
69
- * core->>enriched: inboundHandler(enriched)
70
- * enriched-->>core: Effect.void
71
- * Note over core: completed handler commits presentation context
72
- * end
73
- * Note over core: handler exceeds turnTimeoutMs — turn abandoned, drain continues
74
- * ```
75
- *
76
- * The single consumer fiber awaits the handler inline, so at most one turn
77
- * runs at a time and messages that arrive mid-turn wait in the queue.
78
- */
79
- export class MoltZapChannelCore {
80
- service;
81
- turnTimeoutMs;
82
- inboundInterceptor;
83
- connected = false;
84
- // Terminal stop: disconnect() interrupts the sole consumer fiber and it is
85
- // never restarted, while the service deliberately keeps message listeners
86
- // registered across close()/connect() cycles. Without this flag a
87
- // reconnected service would keep offering inbound messages into a queue
88
- // nothing drains — unbounded growth and silent non-delivery. Stopped means
89
- // stopped: inbound observed after disconnect() is dropped at the listener.
90
- stopped = false;
91
- inboundHandler = null;
92
- /**
93
- * Inbound messages with an installed handler enqueue synchronously; a single
94
- * forked consumer fiber serialises delivery so handlers execute
95
- * one-at-a-time in arrival order.
96
- */
97
- inboundQueue = Effect.runSync(Queue.unbounded());
98
- consumerFiber;
99
- disconnectHandlers = [];
100
- constructor(opts) {
101
- this.service = opts.service;
102
- if (opts.turnTimeoutMs !== undefined) {
103
- this.turnTimeoutMs = opts.turnTimeoutMs;
104
- }
105
- if (opts.inboundInterceptor !== undefined) {
106
- this.inboundInterceptor = opts.inboundInterceptor;
107
- }
108
- this.registerMessageListener();
109
- this.consumerFiber = this.startConsumerFiber();
110
- this.registerConnectionListeners();
111
- }
112
- registerMessageListener() {
113
- this.service.on("message", ({ message }) => {
114
- // A core with no handler — a daemon that owns the connection without
115
- // running a turn loop — observes messages it will never deliver.
116
- // Dropping here keeps the queue from holding work nothing consumes, and
117
- // makes the pre-registration window a definite drop rather than a race
118
- // between the consumer fiber and the embedder's onInbound call.
119
- if (this.stopped || this.inboundHandler === null) {
120
- return;
121
- }
122
- Queue.unsafeOffer(this.inboundQueue, message);
123
- });
124
- }
125
- startConsumerFiber() {
126
- const consumer = Effect.forever(Queue.take(this.inboundQueue).pipe(Effect.flatMap((message) => this.runInboundTurn(message).pipe(Effect.catchAllCause((cause) => this.logInboundFailure(message, cause))))));
127
- return Effect.runFork(consumer);
128
- }
129
- logInboundFailure(message, cause) {
130
- return effectLogError("MoltZapChannelCore: inbound handler failed", {
131
- messageId: message.id,
132
- conversationId: message.conversationId,
133
- causePretty: Cause.pretty(cause),
134
- ...errorSummary(Cause.squash(cause)),
135
- });
136
- }
137
- registerConnectionListeners() {
138
- this.service.on("disconnect", () => {
139
- this.connected = false;
140
- this.fanout(this.disconnectHandlers, "disconnect");
141
- });
142
- }
143
- /**
144
- * Replaces any previous handler.
145
- * @param handler Handler invoked for matching requests.
146
- */
147
- onInbound(handler) {
148
- this.inboundHandler = { _tag: "enriched", handler };
149
- }
150
- /**
151
- * Replaces any previous handler with a raw coalesced-turn handler. The
152
- * admitted batch passes the interceptor and reaches the handler without
153
- * enrichment or presentation-context commits.
154
- * @param handler Handler invoked for each admitted raw batch.
155
- */
156
- onRawInbound(handler) {
157
- this.inboundHandler = { _tag: "raw", handler };
158
- }
159
- onDisconnect(handler) {
160
- this.disconnectHandlers.push(handler);
161
- }
162
- fanout(handlers, label) {
163
- for (const h of handlers) {
164
- try {
165
- h();
166
- }
167
- catch (err) {
168
- runBackgroundLog(effectLogError(`MoltZapChannelCore: ${label} handler threw`, {
169
- err,
170
- label,
171
- }));
172
- }
173
- }
174
- }
175
- connect() {
176
- // A stopped core has no consumer fiber and its listener drops every
177
- // inbound message; reporting a successful connect here would hand the
178
- // embedder a healthy-looking channel that is permanently deaf. Stopped
179
- // is terminal — reconnecting means constructing a new core.
180
- if (this.stopped) {
181
- return Effect.dieMessage("MoltZapChannelCore.connect called after disconnect; a stopped core cannot be reconnected — construct a new core");
182
- }
183
- return this.service.connect().pipe(Effect.tap(() => Effect.sync(() => {
184
- this.connected = true;
185
- })), Effect.asVoid);
186
- }
187
- /**
188
- * Tear the channel down, resolving only once the service's own transports
189
- * are closed. A scoped owner releases this before its process exits, so
190
- * fire-and-forget teardown would leave sockets open past the scope.
191
- *
192
- * Service shutdown runs concurrently with interrupting the consumer fiber
193
- * because an in-flight turn's finalizer can take arbitrarily long. Awaiting
194
- * the interrupt first would hold the transports open for exactly as long as
195
- * that finalizer runs.
196
- * @returns Completion of the channel-owned teardown.
197
- */
198
- disconnect() {
199
- return Effect.gen(function* () {
200
- this.connected = false;
201
- this.stopped = true;
202
- // Interrupt the consumer fiber so any queued inbound messages are
203
- // dropped rather than delivered after the channel is torn down.
204
- const stopConsumer = Fiber.interrupt(this.consumerFiber);
205
- const shutdown = this.service.shutdown?.();
206
- if (shutdown === undefined) {
207
- this.service.close();
208
- yield* stopConsumer;
209
- return;
210
- }
211
- yield* Effect.all([stopConsumer, shutdown], {
212
- concurrency: 2,
213
- discard: true,
214
- });
215
- }.bind(this));
216
- }
217
- isConnected() {
218
- return this.connected;
219
- }
220
- /**
221
- * Reply into a conversation.
222
- * @param conversationId Value supplied to the operation.
223
- * @param text Text to process.
224
- * @returns The send result.
225
- */
226
- sendReply(conversationId, text) {
227
- return this.service.send(conversationId, text);
228
- }
229
- runInboundTurn(primary) {
230
- return Effect.gen(function* () {
231
- const messages = yield* this.takeCoalescedConversationMessages(primary);
232
- const registered = this.inboundHandler;
233
- if (registered === null) {
234
- return;
235
- }
236
- if (registered._tag === "raw") {
237
- if (!(yield* this.interceptTurn(messages))) {
238
- return;
239
- }
240
- yield* this.awaitHandlerTurn(registered.handler, messages, primary);
241
- return;
242
- }
243
- const { enriched, commitContext } = yield* MoltZapChannelCore.enrichMessage(this.service, messages);
244
- if (!(yield* this.interceptTurn(messages))) {
245
- return;
246
- }
247
- const completed = yield* this.awaitHandlerTurn(registered.handler, enriched, primary);
248
- // Context markers advance only for a turn the handler finished. A
249
- // dropped or abandoned one leaves its entries for the next turn.
250
- if (completed && commitContext) {
251
- commitContext();
252
- }
253
- }.bind(this));
254
- }
255
- /**
256
- * Consult the interceptor for this turn, if one is installed.
257
- * @param messages The coalesced batch, primary first.
258
- * @returns Whether the handler runs for this batch.
259
- */
260
- interceptTurn(messages) {
261
- const interceptor = this.inboundInterceptor;
262
- if (interceptor === undefined) {
263
- return Effect.succeed(true);
264
- }
265
- const newest =
266
- /* Safe because a coalesced batch always holds at least its primary. */ messages[messages.length - 1];
267
- // Suspended so an interceptor that throws before returning its Effect
268
- // becomes a defect this pipeline can fail open on, not one the consumer
269
- // fiber catches after the turn is already lost.
270
- return Effect.suspend(() => interceptor(newest)).pipe(Effect.flatMap((decision) => this.applyInterceptDecision(newest, decision)), Effect.catchAllCause((cause) =>
271
- // Interruption is teardown, not an interceptor bug: re-raise it so a
272
- // disconnected channel stops draining instead of delivering the turn.
273
- Cause.isInterruptedOnly(cause)
274
- ? Effect.failCause(cause)
275
- : this.logInterceptorFailure(newest, cause).pipe(Effect.as(true))));
276
- }
277
- /**
278
- * Apply a verdict, logging the drops at debug so a quiet channel can be
279
- * traced back to its gate.
280
- * @param newest Message the interceptor judged.
281
- * @param decision Verdict for the whole coalesced batch.
282
- * @returns Whether the handler runs.
283
- */
284
- applyInterceptDecision(newest, decision) {
285
- if (decision._tag === "deliver") {
286
- return Effect.succeed(true);
287
- }
288
- return effectLogDebug("MoltZapChannelCore: inbound turn dropped by interceptor", {
289
- messageId: newest.id,
290
- conversationId: newest.conversationId,
291
- ...(decision.reason !== undefined ? { reason: decision.reason } : {}),
292
- }).pipe(Effect.as(false));
293
- }
294
- logInterceptorFailure(newest, cause) {
295
- return effectLogWarning("MoltZapChannelCore: inbound interceptor failed, delivering anyway", {
296
- messageId: newest.id,
297
- conversationId: newest.conversationId,
298
- causePretty: Cause.pretty(cause),
299
- ...errorSummary(Cause.squash(cause)),
300
- });
301
- }
302
- /**
303
- * Await the user handler, bounded by `turnTimeoutMs` when it is set.
304
- * @param handler Installed inbound handler.
305
- * @param input Value delivered to the selected handler.
306
- * @param primary Message that opened this turn.
307
- * @returns Whether the handler ran to completion.
308
- */
309
- awaitHandlerTurn(handler, input, primary) {
310
- // The handler is user code returning an Effect — yield it directly so its
311
- // typed error channel propagates to the consumer fiber, which logs and
312
- // continues. Awaiting it inline preserves arrival-order delivery.
313
- const turn = handler(input);
314
- const timeoutMs = this.turnTimeoutMs;
315
- if (timeoutMs === undefined) {
316
- return turn.pipe(Effect.as(true));
317
- }
318
- return turn.pipe(Effect.timeoutOption(Duration.millis(timeoutMs)), Effect.tap((finished) => Option.isNone(finished)
319
- ? effectLogWarning("MoltZapChannelCore: inbound turn abandoned after timeout", {
320
- messageId: primary.id,
321
- conversationId: primary.conversationId,
322
- timeoutMs,
323
- })
324
- : Effect.void), Effect.map(Option.isSome));
325
- }
326
- /**
327
- * Drain every queued message for the primary's conversation into one turn,
328
- * leaving other conversations queued in arrival order. Coalescing keeps a
329
- * burst in one conversation from costing one turn per message.
330
- * @param primary Message that opened this turn.
331
- * @returns The messages belonging to this turn, primary first.
332
- */
333
- takeCoalescedConversationMessages(primary) {
334
- return Effect.sync(() => {
335
- const queued = Chunk.toReadonlyArray(Effect.runSync(Queue.takeAll(this.inboundQueue)));
336
- const sameConversation = [primary];
337
- const remaining = [];
338
- for (const queuedMessage of queued) {
339
- if (queuedMessage.conversationId === primary.conversationId) {
340
- sameConversation.push(queuedMessage);
341
- }
342
- else {
343
- remaining.push(queuedMessage);
344
- }
345
- }
346
- for (const remainingMessage of remaining) {
347
- Queue.unsafeOffer(this.inboundQueue, remainingMessage);
348
- }
349
- return sameConversation;
350
- });
351
- }
352
- /**
353
- * Stateless enrichment helper. Falls back to `sender.id` if
354
- * `resolveAgentName` throws (e.g. Service not yet connected).
355
- * @param service Value supplied to the operation.
356
- * @param messageOrMessages Value supplied to the operation.
357
- * @returns The enriched message and its context-commit callback.
358
- */
359
- static enrichMessage(service, messageOrMessages) {
360
- return enrichChannelMessage(service, messageOrMessages);
361
- }
362
- }
363
- //# sourceMappingURL=channel-core.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"channel-core.js","sourceRoot":"","sources":["../src/channel-core.ts"],"names":[],"mappings":"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"}
@@ -1,21 +0,0 @@
1
- /**
2
- * Shared adapters between Effect schemas and the command-line interface.
3
- */
4
- import { Options } from "@effect/cli";
5
- import { Schema } from "effect";
6
- interface SchemaOptionPresentation {
7
- readonly name?: string;
8
- readonly description?: string;
9
- }
10
- type SchemaOptionPresentations<I> = Partial<Record<Extract<keyof I, string>, SchemaOptionPresentation>>;
11
- /**
12
- * Generates scalar named CLI options from a closed Effect Struct schema.
13
- * The assembled encoded object is decoded once through the complete schema,
14
- * keeping brands, transformations, refinements, and defaults authoritative.
15
- * @param schema Value supplied to the operation.
16
- * @param presentations Value supplied to the operation.
17
- * @returns The options from schema result.
18
- */
19
- export declare const optionsFromSchema: <A extends Readonly<Record<string, unknown>>, I extends Readonly<Record<string, unknown>>>(schema: Schema.Schema<A, I>, presentations?: SchemaOptionPresentations<I>) => Options.Options<A>;
20
- export {};
21
- //# sourceMappingURL=adapters.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"adapters.d.ts","sourceRoot":"","sources":["../../src/cli/adapters.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACtC,OAAO,EAAU,MAAM,EAAa,MAAM,QAAQ,CAAC;AAEnD,UAAU,wBAAwB;IAChC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,KAAK,yBAAyB,CAAC,CAAC,IAAI,OAAO,CACzC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,EAAE,wBAAwB,CAAC,CAC3D,CAAC;AAqIF;;;;;;;GAOG;AACH,eAAO,MAAM,iBAAiB,GAC5B,CAAC,SAAS,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAC3C,CAAC,SAAS,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,UAEnC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,kBACZ,yBAAyB,CAAC,CAAC,CAAC,KAC1C,OAAO,CAAC,OAAO,CAAC,CAAC,CA2CnB,CAAC"}
@@ -1,111 +0,0 @@
1
- /**
2
- * Shared adapters between Effect schemas and the command-line interface.
3
- */
4
- import { Options } from "@effect/cli";
5
- import { Option, Schema, SchemaAST } from "effect";
6
- class UnsupportedCliSchemaError extends Error {
7
- constructor(field, astTag, reason) {
8
- super(`Cannot generate CLI option for "${field}" (${astTag}): ${reason}`);
9
- this.name = "UnsupportedCliSchemaError";
10
- }
11
- }
12
- const unsupported = (field, astTag, reason) => {
13
- throw new UnsupportedCliSchemaError(field, astTag, reason);
14
- };
15
- const kebabCase = (value) => value
16
- .replace(/[A-Z]/g, (letter) => `-${letter.toLowerCase()}`)
17
- .replace(/^-/, "");
18
- const withoutUndefined = (ast) => {
19
- if (!SchemaAST.isUnion(ast)) {
20
- return ast;
21
- }
22
- const members = ast.types.filter((member) => !SchemaAST.isUndefinedKeyword(member));
23
- return SchemaAST.Union.make(members, ast.annotations);
24
- };
25
- const hasIntegerRefinement = (ast) => {
26
- if (SchemaAST.isRefinement(ast)) {
27
- return (Option.contains(SchemaAST.getSchemaIdAnnotation(ast), Schema.IntSchemaId) || hasIntegerRefinement(ast.from));
28
- }
29
- if (SchemaAST.isUnion(ast)) {
30
- return ast.types.some(hasIntegerRefinement);
31
- }
32
- if (SchemaAST.isTransformation(ast)) {
33
- return hasIntegerRefinement(ast.to);
34
- }
35
- return false;
36
- };
37
- const propertyName = (property) => typeof property.name === "string"
38
- ? property.name
39
- : unsupported(String(property.name), property.type._tag, "symbol property keys are not supported");
40
- const closedProperties = (ast, side) => {
41
- if (!SchemaAST.isTypeLiteral(ast) || ast.indexSignatures.length > 0) {
42
- return unsupported("<root>", ast._tag, `the top-level ${side} schema must be a closed Struct`);
43
- }
44
- return ast.propertySignatures;
45
- };
46
- const scalarOption = (field, name, encodedAst, validationAst) => {
47
- if (SchemaAST.isStringKeyword(encodedAst)) {
48
- return Options.text(name);
49
- }
50
- if (SchemaAST.isNumberKeyword(encodedAst)) {
51
- return hasIntegerRefinement(validationAst)
52
- ? Options.integer(name)
53
- : Options.float(name);
54
- }
55
- return unsupported(field, encodedAst._tag, "only encoded string and number scalar fields are supported");
56
- };
57
- const fragmentForProperty = (property, validationProperty, presentation, claimedNames) => {
58
- const field = propertyName(property);
59
- const name = presentation.name ?? kebabCase(field);
60
- if (claimedNames.has(name)) {
61
- return unsupported(field, "OptionNameCollision", `the option name "${name}" is already in use`);
62
- }
63
- claimedNames.add(name);
64
- const encodedAst = property.isOptional
65
- ? withoutUndefined(property.type)
66
- : property.type;
67
- const validationAst = validationProperty.isOptional
68
- ? withoutUndefined(validationProperty.type)
69
- : validationProperty.type;
70
- const primitive = scalarOption(field, name, encodedAst, validationAst);
71
- const presented = presentation.description === undefined
72
- ? primitive
73
- : primitive.pipe(Options.withDescription(presentation.description));
74
- if (!property.isOptional) {
75
- return presented.pipe(Options.map((value) => ({ [field]: value })));
76
- }
77
- return presented.pipe(Options.optional, Options.map(Option.match({
78
- onNone: () => ({}),
79
- onSome: (value) => ({ [field]: value }),
80
- })));
81
- };
82
- /**
83
- * Generates scalar named CLI options from a closed Effect Struct schema.
84
- * The assembled encoded object is decoded once through the complete schema,
85
- * keeping brands, transformations, refinements, and defaults authoritative.
86
- * @param schema Value supplied to the operation.
87
- * @param presentations Value supplied to the operation.
88
- * @returns The options from schema result.
89
- */
90
- export const optionsFromSchema = (schema, presentations = {}) => {
91
- const properties = closedProperties(Schema.encodedSchema(schema).ast, "encoded");
92
- if (properties.length === 0) {
93
- return unsupported("<root>", "TypeLiteral", "empty Structs do not define any CLI options");
94
- }
95
- const validationProperties = new Map(closedProperties(Schema.typeSchema(schema).ast, "type").map((property) => [
96
- propertyName(property),
97
- property,
98
- ]));
99
- const presentationByField = new Map(Object.entries(presentations));
100
- const claimedNames = new Set();
101
- const fragments = properties.map((property) => {
102
- const field = propertyName(property);
103
- const validationProperty = validationProperties.get(field);
104
- if (validationProperty === undefined) {
105
- return unsupported(field, "RenamedProperty", "encoded and type-side property names must match");
106
- }
107
- return fragmentForProperty(property, validationProperty, presentationByField.get(field) ?? {}, claimedNames);
108
- });
109
- return Options.all(fragments).pipe(Options.map((parts) => Object.assign({}, ...parts)), Options.withSchema(schema));
110
- };
111
- //# sourceMappingURL=adapters.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"adapters.js","sourceRoot":"","sources":["../../src/cli/adapters.ts"],"names":[],"mappings":"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"}
@@ -1,11 +0,0 @@
1
- import { Command } from "@effect/cli";
2
- /**
3
- * `moltzap agents [list|lookup]` — default (no subcommand) lists all agents,
4
- * `lookup` resolves one or more names.
5
- */
6
- export declare const agentsCommand: Command.Command<"agents", import("../transport.js").Transport, never, {
7
- readonly subcommand: import("effect/Option").Option<{} | {
8
- readonly names: string[];
9
- }>;
10
- }>;
11
- //# sourceMappingURL=agents.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"agents.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/agents.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,OAAO,EAAE,MAAM,aAAa,CAAC;AA4C5C;;;GAGG;AACH,eAAO,MAAM,aAAa;;;;EAKzB,CAAC"}
@@ -1,27 +0,0 @@
1
- import { Args, Command } from "@effect/cli";
2
- import { Effect } from "effect";
3
- import { localDaemonCommands } from "../../local-daemon-rpc.js";
4
- import { command, runHandler } from "../transport.js";
5
- import { logJson, logLines } from "../output.js";
6
- // safer-arch-ignore folder-explicit-api-required: the CLI entrypoint deliberately composes private one-command-per-file leaves; this folder is not a reusable API.
7
- // safer-arch-ignore no-trivial-sink-file: this command is a private one-command-per-file leaf consistent with the CLI commands folder convention.
8
- const listAgents = Command.make("list", {}, () => runHandler(command(localDaemonCommands.agentsList, {}).pipe(Effect.flatMap(logJson), Effect.asVoid))).pipe(Command.withDescription("List agents (default)"));
9
- const namesArg = Args.text({ name: "name" }).pipe(Args.withDescription("Agent names to look up"), Args.repeated);
10
- const lookupAgents = Command.make("lookup", { names: namesArg }, ({ names }) => runHandler(command(localDaemonCommands.agentsSearch, { names }).pipe(Effect.flatMap((result) => {
11
- if (result.agents.length === 0) {
12
- return Effect.log("No agents found.");
13
- }
14
- return logLines(result.agents.map((agent) => {
15
- let line = `Agent: ${agent.name}\n ID: ${agent.id}\n Status: ${agent.status}`;
16
- if (agent.description) {
17
- line += `\n Description: ${agent.description}`;
18
- }
19
- return `${line}\n`;
20
- }));
21
- }), Effect.asVoid))).pipe(Command.withDescription("Look up agents by name"));
22
- /**
23
- * `moltzap agents [list|lookup]` — default (no subcommand) lists all agents,
24
- * `lookup` resolves one or more names.
25
- */
26
- export const agentsCommand = Command.make("agents", {}, () => listAgents.handler({})).pipe(Command.withDescription("List and look up agents on MoltZap"), Command.withSubcommands([listAgents, lookupAgents]));
27
- //# sourceMappingURL=agents.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"agents.js","sourceRoot":"","sources":["../../../src/cli/commands/agents.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAEjD,mKAAmK;AACnK,kJAAkJ;AAClJ,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,EAAE,GAAG,EAAE,CAC/C,UAAU,CACR,OAAO,CAAC,mBAAmB,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,IAAI,CAC9C,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EACvB,MAAM,CAAC,MAAM,CACd,CACF,CACF,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,uBAAuB,CAAC,CAAC,CAAC;AAEzD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,CAC/C,IAAI,CAAC,eAAe,CAAC,wBAAwB,CAAC,EAC9C,IAAI,CAAC,QAAQ,CACd,CAAC;AAEF,MAAM,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAC7E,UAAU,CACR,OAAO,CAAC,mBAAmB,CAAC,YAAY,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,CACvD,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;IACxB,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/B,OAAO,MAAM,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;IACxC,CAAC;IACD,OAAO,QAAQ,CACb,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QAC1B,IAAI,IAAI,GAAG,UAAU,KAAK,CAAC,IAAI,WAAW,KAAK,CAAC,EAAE,eAAe,KAAK,CAAC,MAAM,EAAE,CAAC;QAChF,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;YACtB,IAAI,IAAI,oBAAoB,KAAK,CAAC,WAAW,EAAE,CAAC;QAClD,CAAC;QACD,OAAO,GAAG,IAAI,IAAI,CAAC;IACrB,CAAC,CAAC,CACH,CAAC;AACJ,CAAC,CAAC,EACF,MAAM,CAAC,MAAM,CACd,CACF,CACF,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,wBAAwB,CAAC,CAAC,CAAC;AAE1D;;;GAGG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,EAAE,GAAG,EAAE,CAC3D,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC,CACvB,CAAC,IAAI,CACJ,OAAO,CAAC,eAAe,CAAC,oCAAoC,CAAC,EAC7D,OAAO,CAAC,eAAe,CAAC,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC,CACpD,CAAC"}
@@ -1,18 +0,0 @@
1
- import { Command } from "@effect/cli";
2
- import { Option } from "effect";
3
- import { type ConversationId } from "@moltzap/protocol/conversation";
4
- /** Provides the conversations command runtime value. */
5
- export declare const conversationsCommand: Command.Command<"conversations", import("../transport.js").Transport, never, {
6
- readonly subcommand: Option.Option<{
7
- readonly conversationId: ConversationId;
8
- readonly limit: number;
9
- readonly sessionKey: Option.Option<string>;
10
- }>;
11
- }>;
12
- /** Top-level `moltzap history &lt;conversationId>` — identical to `conversations history`. */
13
- export declare const historyCommand: Command.Command<"history", import("../transport.js").Transport, never, {
14
- readonly conversationId: ConversationId;
15
- readonly limit: number;
16
- readonly sessionKey: Option.Option<string>;
17
- }>;
18
- //# sourceMappingURL=conversations.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"conversations.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/conversations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,OAAO,EAAW,MAAM,aAAa,CAAC;AACrD,OAAO,EAAU,MAAM,EAAE,MAAM,QAAQ,CAAC;AACxC,OAAO,EACL,KAAK,cAAc,EAEpB,MAAM,gCAAgC,CAAC;AAqDxC,wDAAwD;AACxD,eAAO,MAAM,oBAAoB;;;;;;EAQhC,CAAC;AAEF,8FAA8F;AAC9F,eAAO,MAAM,cAAc;;;;EAQ+C,CAAC"}
@@ -1,33 +0,0 @@
1
- import { Args, Command, Options } from "@effect/cli";
2
- import { Effect, Option } from "effect";
3
- import { conversationId, } from "@moltzap/protocol/conversation";
4
- import { localDaemonCommands } from "../../local-daemon-rpc.js";
5
- import { command, runHandler } from "../transport.js";
6
- import { logJson, logLines } from "../output.js";
7
- const DEFAULT_HISTORY_LIMIT = 50;
8
- const historyLimitOption = Options.integer("limit").pipe(Options.withDefault(DEFAULT_HISTORY_LIMIT), Options.withDescription("Max messages to show"));
9
- const sessionKeyOption = Options.text("session-key").pipe(Options.withDescription("Session key for cross-conversation context"), Options.optional);
10
- const conversationIdArg = Args.text({ name: "conversationId" }).pipe(Args.withSchema(conversationId), Args.withDescription("Conversation ID"));
11
- const historyHandler = ({ conversationId, limit, sessionKey, }) => {
12
- const params = Option.isSome(sessionKey)
13
- ? { conversationId, limit, sessionKey: sessionKey.value }
14
- : { conversationId, limit };
15
- return runHandler(command(localDaemonCommands.history, params).pipe(Effect.flatMap(logJson), Effect.asVoid));
16
- };
17
- const historySubcommand = Command.make("history", {
18
- conversationId: conversationIdArg,
19
- limit: historyLimitOption,
20
- sessionKey: sessionKeyOption,
21
- }, historyHandler).pipe(Command.withDescription("Show message history for a conversation"));
22
- /** Provides the conversations command runtime value. */
23
- export const conversationsCommand = Command.make("conversations", {}, () => logLines([
24
- "moltzap conversations: only `history` is supported in this release.",
25
- "See `moltzap conversations history --help`.",
26
- ])).pipe(Command.withDescription("Show conversation history"), Command.withSubcommands([historySubcommand]));
27
- /** Top-level `moltzap history &lt;conversationId>` — identical to `conversations history`. */
28
- export const historyCommand = Command.make("history", {
29
- conversationId: conversationIdArg,
30
- limit: historyLimitOption,
31
- sessionKey: sessionKeyOption,
32
- }, historyHandler).pipe(Command.withDescription("Show message history for a conversation"));
33
- //# sourceMappingURL=conversations.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"conversations.js","sourceRoot":"","sources":["../../../src/cli/commands/conversations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AACxC,OAAO,EAEL,cAAc,GACf,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAGjD,MAAM,qBAAqB,GAAG,EAAE,CAAC;AAEjC,MAAM,kBAAkB,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,CACtD,OAAO,CAAC,WAAW,CAAC,qBAAqB,CAAC,EAC1C,OAAO,CAAC,eAAe,CAAC,sBAAsB,CAAC,CAChD,CAAC;AAEF,MAAM,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,IAAI,CACvD,OAAO,CAAC,eAAe,CAAC,4CAA4C,CAAC,EACrE,OAAO,CAAC,QAAQ,CACjB,CAAC;AAEF,MAAM,iBAAiB,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC,CAAC,IAAI,CAClE,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,EAC/B,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,CACxC,CAAC;AAEF,MAAM,cAAc,GAAG,CAAC,EACtB,cAAc,EACd,KAAK,EACL,UAAU,GAKX,EAAE,EAAE;IACH,MAAM,MAAM,GAAmB,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC;QACtD,CAAC,CAAC,EAAE,cAAc,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,CAAC,KAAK,EAAE;QACzD,CAAC,CAAC,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC;IAC9B,OAAO,UAAU,CACf,OAAO,CAAC,mBAAmB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,IAAI,CAC/C,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EACvB,MAAM,CAAC,MAAM,CACd,CACF,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,iBAAiB,GAAG,OAAO,CAAC,IAAI,CACpC,SAAS,EACT;IACE,cAAc,EAAE,iBAAiB;IACjC,KAAK,EAAE,kBAAkB;IACzB,UAAU,EAAE,gBAAgB;CAC7B,EACD,cAAc,CACf,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,yCAAyC,CAAC,CAAC,CAAC;AAE3E,wDAAwD;AACxD,MAAM,CAAC,MAAM,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,EAAE,GAAG,EAAE,CACzE,QAAQ,CAAC;IACP,qEAAqE;IACrE,6CAA6C;CAC9C,CAAC,CACH,CAAC,IAAI,CACJ,OAAO,CAAC,eAAe,CAAC,2BAA2B,CAAC,EACpD,OAAO,CAAC,eAAe,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAC7C,CAAC;AAEF,8FAA8F;AAC9F,MAAM,CAAC,MAAM,cAAc,GAAG,OAAO,CAAC,IAAI,CACxC,SAAS,EACT;IACE,cAAc,EAAE,iBAAiB;IACjC,KAAK,EAAE,kBAAkB;IACzB,UAAU,EAAE,gBAAgB;CAC7B,EACD,cAAc,CACf,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,yCAAyC,CAAC,CAAC,CAAC"}