@relayflows/sdk 2.0.8 → 2.0.10

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 (474) hide show
  1. package/dist/adapters/base.d.ts +46 -0
  2. package/dist/adapters/base.d.ts.map +1 -0
  3. package/dist/adapters/base.js +15 -0
  4. package/dist/adapters/base.js.map +1 -0
  5. package/dist/adapters/claude.d.ts +5 -0
  6. package/dist/adapters/claude.d.ts.map +1 -0
  7. package/dist/adapters/claude.js +44 -0
  8. package/dist/adapters/claude.js.map +1 -0
  9. package/dist/adapters/codex.d.ts +5 -0
  10. package/dist/adapters/codex.d.ts.map +1 -0
  11. package/dist/adapters/codex.js +45 -0
  12. package/dist/adapters/codex.js.map +1 -0
  13. package/dist/adapters/index.d.ts +14 -0
  14. package/dist/adapters/index.d.ts.map +1 -0
  15. package/dist/adapters/index.js +29 -0
  16. package/dist/adapters/index.js.map +1 -0
  17. package/dist/adapters/wrapper.d.ts +12 -0
  18. package/dist/adapters/wrapper.d.ts.map +1 -0
  19. package/dist/adapters/wrapper.js +31 -0
  20. package/dist/adapters/wrapper.js.map +1 -0
  21. package/dist/agent-relay-transport.d.ts +84 -0
  22. package/dist/agent-relay-transport.d.ts.map +1 -0
  23. package/dist/agent-relay-transport.js +134 -0
  24. package/dist/agent-relay-transport.js.map +1 -0
  25. package/dist/authored-budget.d.ts +13 -0
  26. package/dist/authored-budget.d.ts.map +1 -0
  27. package/dist/authored-budget.js +78 -0
  28. package/dist/authored-budget.js.map +1 -0
  29. package/dist/authored-flow-error.d.ts +1 -1
  30. package/dist/authored-flow-error.d.ts.map +1 -1
  31. package/dist/authored-flow-error.js.map +1 -1
  32. package/dist/authored-flow-executor.d.ts +13 -7
  33. package/dist/authored-flow-executor.d.ts.map +1 -1
  34. package/dist/authored-flow-executor.js +115 -194
  35. package/dist/authored-flow-executor.js.map +1 -1
  36. package/dist/authored-flow-loader.d.ts +10 -1
  37. package/dist/authored-flow-loader.d.ts.map +1 -1
  38. package/dist/authored-flow-loader.js +56 -3
  39. package/dist/authored-flow-loader.js.map +1 -1
  40. package/dist/authored-flow-operation.d.ts +9 -1
  41. package/dist/authored-flow-operation.d.ts.map +1 -1
  42. package/dist/authored-flow-operation.js +35 -4
  43. package/dist/authored-flow-operation.js.map +1 -1
  44. package/dist/authored-helper-effect.d.ts +12 -0
  45. package/dist/authored-helper-effect.d.ts.map +1 -0
  46. package/dist/authored-helper-effect.js +144 -0
  47. package/dist/authored-helper-effect.js.map +1 -0
  48. package/dist/authored-mcp.d.ts +17 -0
  49. package/dist/authored-mcp.d.ts.map +1 -0
  50. package/dist/authored-mcp.js +171 -0
  51. package/dist/authored-mcp.js.map +1 -0
  52. package/dist/authored-memory.d.ts +7 -0
  53. package/dist/authored-memory.d.ts.map +1 -0
  54. package/dist/authored-memory.js +60 -0
  55. package/dist/authored-memory.js.map +1 -0
  56. package/dist/authored-plugin-effect.d.ts +16 -0
  57. package/dist/authored-plugin-effect.d.ts.map +1 -0
  58. package/dist/authored-plugin-effect.js +163 -0
  59. package/dist/authored-plugin-effect.js.map +1 -0
  60. package/dist/authored-step-output.d.ts +23 -0
  61. package/dist/authored-step-output.d.ts.map +1 -0
  62. package/dist/authored-step-output.js +67 -0
  63. package/dist/authored-step-output.js.map +1 -0
  64. package/dist/authored-worker-step.d.ts +15 -0
  65. package/dist/authored-worker-step.d.ts.map +1 -0
  66. package/dist/authored-worker-step.js +136 -0
  67. package/dist/authored-worker-step.js.map +1 -0
  68. package/dist/budget-preflight.d.ts +5 -0
  69. package/dist/budget-preflight.d.ts.map +1 -0
  70. package/dist/budget-preflight.js +33 -0
  71. package/dist/budget-preflight.js.map +1 -0
  72. package/dist/budget.d.ts +14 -0
  73. package/dist/budget.d.ts.map +1 -0
  74. package/dist/budget.js +52 -0
  75. package/dist/budget.js.map +1 -0
  76. package/dist/bundle-transport.d.ts +18 -0
  77. package/dist/bundle-transport.d.ts.map +1 -0
  78. package/dist/bundle-transport.js +111 -0
  79. package/dist/bundle-transport.js.map +1 -0
  80. package/dist/bundle-typescript.d.ts +8 -0
  81. package/dist/bundle-typescript.d.ts.map +1 -0
  82. package/dist/bundle-typescript.js +108 -0
  83. package/dist/bundle-typescript.js.map +1 -0
  84. package/dist/bundle.d.ts +25 -0
  85. package/dist/bundle.d.ts.map +1 -0
  86. package/dist/bundle.js +199 -0
  87. package/dist/bundle.js.map +1 -0
  88. package/dist/child-stop.d.ts +59 -0
  89. package/dist/child-stop.d.ts.map +1 -0
  90. package/dist/child-stop.js +94 -0
  91. package/dist/child-stop.js.map +1 -0
  92. package/dist/cli/add.d.ts +6 -0
  93. package/dist/cli/add.d.ts.map +1 -0
  94. package/dist/cli/add.js +47 -0
  95. package/dist/cli/add.js.map +1 -0
  96. package/dist/cli/build.d.ts +13 -0
  97. package/dist/cli/build.d.ts.map +1 -0
  98. package/dist/cli/build.js +224 -0
  99. package/dist/cli/build.js.map +1 -0
  100. package/dist/cli/bundle-preflight.d.ts +5 -0
  101. package/dist/cli/bundle-preflight.d.ts.map +1 -0
  102. package/dist/cli/bundle-preflight.js +28 -0
  103. package/dist/cli/bundle-preflight.js.map +1 -0
  104. package/dist/cli/check-helper-body.d.ts +4 -0
  105. package/dist/cli/check-helper-body.d.ts.map +1 -0
  106. package/dist/cli/check-helper-body.js +15 -0
  107. package/dist/cli/check-helper-body.js.map +1 -0
  108. package/dist/cli/check-triggers.d.ts +14 -0
  109. package/dist/cli/check-triggers.d.ts.map +1 -0
  110. package/dist/cli/check-triggers.js +37 -0
  111. package/dist/cli/check-triggers.js.map +1 -0
  112. package/dist/cli/check-typescript.d.ts +20 -0
  113. package/dist/cli/check-typescript.d.ts.map +1 -0
  114. package/dist/cli/check-typescript.js +54 -0
  115. package/dist/cli/check-typescript.js.map +1 -0
  116. package/dist/cli/check.d.ts +36 -3
  117. package/dist/cli/check.d.ts.map +1 -1
  118. package/dist/cli/check.js +122 -11
  119. package/dist/cli/check.js.map +1 -1
  120. package/dist/cli/cloud-run.d.ts +8 -0
  121. package/dist/cli/cloud-run.d.ts.map +1 -0
  122. package/dist/cli/cloud-run.js +50 -0
  123. package/dist/cli/cloud-run.js.map +1 -0
  124. package/dist/cli/deploy.d.ts +9 -0
  125. package/dist/cli/deploy.d.ts.map +1 -0
  126. package/dist/cli/deploy.js +58 -0
  127. package/dist/cli/deploy.js.map +1 -0
  128. package/dist/cli/deterministic-failure.d.ts +5 -0
  129. package/dist/cli/deterministic-failure.d.ts.map +1 -0
  130. package/dist/cli/deterministic-failure.js +66 -0
  131. package/dist/cli/deterministic-failure.js.map +1 -0
  132. package/dist/cli/direct-run.d.ts.map +1 -1
  133. package/dist/cli/direct-run.js +83 -7
  134. package/dist/cli/direct-run.js.map +1 -1
  135. package/dist/cli/hn-monitor.d.ts.map +1 -1
  136. package/dist/cli/hn-monitor.js +2 -1
  137. package/dist/cli/hn-monitor.js.map +1 -1
  138. package/dist/cli/replay.d.ts +12 -0
  139. package/dist/cli/replay.d.ts.map +1 -0
  140. package/dist/cli/replay.js +82 -0
  141. package/dist/cli/replay.js.map +1 -0
  142. package/dist/cli/reuse.d.ts +8 -0
  143. package/dist/cli/reuse.d.ts.map +1 -0
  144. package/dist/cli/reuse.js +25 -0
  145. package/dist/cli/reuse.js.map +1 -0
  146. package/dist/cli/run-digest.d.ts +4 -0
  147. package/dist/cli/run-digest.d.ts.map +1 -0
  148. package/dist/cli/run-digest.js +24 -0
  149. package/dist/cli/run-digest.js.map +1 -0
  150. package/dist/cli/run.d.ts +16 -5
  151. package/dist/cli/run.d.ts.map +1 -1
  152. package/dist/cli/run.js +99 -17
  153. package/dist/cli/run.js.map +1 -1
  154. package/dist/cli/serve-webhook.d.ts +40 -0
  155. package/dist/cli/serve-webhook.d.ts.map +1 -0
  156. package/dist/cli/serve-webhook.js +233 -0
  157. package/dist/cli/serve-webhook.js.map +1 -0
  158. package/dist/cli/tick-runner.d.ts.map +1 -1
  159. package/dist/cli/tick-runner.js +2 -1
  160. package/dist/cli/tick-runner.js.map +1 -1
  161. package/dist/cli-adapter.d.ts +8 -14
  162. package/dist/cli-adapter.d.ts.map +1 -1
  163. package/dist/cli-adapter.js +19 -64
  164. package/dist/cli-adapter.js.map +1 -1
  165. package/dist/cli-watch.d.ts +13 -0
  166. package/dist/cli-watch.d.ts.map +1 -0
  167. package/dist/cli-watch.js +185 -0
  168. package/dist/cli-watch.js.map +1 -0
  169. package/dist/cli.d.ts +4 -0
  170. package/dist/cli.d.ts.map +1 -1
  171. package/dist/cli.js +387 -14
  172. package/dist/cli.js.map +1 -1
  173. package/dist/cloud-http.d.ts +22 -0
  174. package/dist/cloud-http.d.ts.map +1 -0
  175. package/dist/cloud-http.js +84 -0
  176. package/dist/cloud-http.js.map +1 -0
  177. package/dist/cloud-run.d.ts +38 -0
  178. package/dist/cloud-run.d.ts.map +1 -0
  179. package/dist/cloud-run.js +112 -0
  180. package/dist/cloud-run.js.map +1 -0
  181. package/dist/compile.d.ts +21 -3
  182. package/dist/compile.d.ts.map +1 -1
  183. package/dist/compile.js +97 -23
  184. package/dist/compile.js.map +1 -1
  185. package/dist/create-flow.d.ts +17 -0
  186. package/dist/create-flow.d.ts.map +1 -0
  187. package/dist/create-flow.js +72 -0
  188. package/dist/create-flow.js.map +1 -0
  189. package/dist/daemon-connection.d.ts +14 -0
  190. package/dist/daemon-connection.d.ts.map +1 -1
  191. package/dist/daemon-connection.js +33 -1
  192. package/dist/daemon-connection.js.map +1 -1
  193. package/dist/demo-hn-monitor.js +2 -1
  194. package/dist/demo-hn-monitor.js.map +1 -1
  195. package/dist/effect-channel.d.ts +30 -0
  196. package/dist/effect-channel.d.ts.map +1 -0
  197. package/dist/effect-channel.js +71 -0
  198. package/dist/effect-channel.js.map +1 -0
  199. package/dist/failure-kinds.d.ts +14 -3
  200. package/dist/failure-kinds.d.ts.map +1 -1
  201. package/dist/failure-kinds.js +27 -0
  202. package/dist/failure-kinds.js.map +1 -1
  203. package/dist/gate-contract.d.ts.map +1 -1
  204. package/dist/gate-contract.js +9 -0
  205. package/dist/gate-contract.js.map +1 -1
  206. package/dist/helper-preflight.d.ts +18 -0
  207. package/dist/helper-preflight.d.ts.map +1 -0
  208. package/dist/helper-preflight.js +32 -0
  209. package/dist/helper-preflight.js.map +1 -0
  210. package/dist/helper-storage.d.ts +5 -0
  211. package/dist/helper-storage.d.ts.map +1 -0
  212. package/dist/helper-storage.js +31 -0
  213. package/dist/helper-storage.js.map +1 -0
  214. package/dist/helper-writeback.d.ts +12 -0
  215. package/dist/helper-writeback.d.ts.map +1 -0
  216. package/dist/helper-writeback.js +95 -0
  217. package/dist/helper-writeback.js.map +1 -0
  218. package/dist/index.d.ts +10 -2
  219. package/dist/index.d.ts.map +1 -1
  220. package/dist/index.js +7 -1
  221. package/dist/index.js.map +1 -1
  222. package/dist/input-binding.d.ts +4 -0
  223. package/dist/input-binding.d.ts.map +1 -0
  224. package/dist/input-binding.js +78 -0
  225. package/dist/input-binding.js.map +1 -0
  226. package/dist/journal-client.d.ts +12 -4
  227. package/dist/journal-client.d.ts.map +1 -1
  228. package/dist/journal-client.js +17 -6
  229. package/dist/journal-client.js.map +1 -1
  230. package/dist/journal-offset.d.ts +3 -0
  231. package/dist/journal-offset.d.ts.map +1 -0
  232. package/dist/journal-offset.js +69 -0
  233. package/dist/journal-offset.js.map +1 -0
  234. package/dist/journal-reader.d.ts +30 -0
  235. package/dist/journal-reader.d.ts.map +1 -0
  236. package/dist/journal-reader.js +156 -0
  237. package/dist/journal-reader.js.map +1 -0
  238. package/dist/json-schema.d.ts +2 -0
  239. package/dist/json-schema.d.ts.map +1 -1
  240. package/dist/json-schema.js +38 -22
  241. package/dist/json-schema.js.map +1 -1
  242. package/dist/llm-worker.d.ts +16 -0
  243. package/dist/llm-worker.d.ts.map +1 -0
  244. package/dist/llm-worker.js +79 -0
  245. package/dist/llm-worker.js.map +1 -0
  246. package/dist/local-agent.d.ts +8 -0
  247. package/dist/local-agent.d.ts.map +1 -0
  248. package/dist/local-agent.js +25 -0
  249. package/dist/local-agent.js.map +1 -0
  250. package/dist/mcp-client.d.ts +15 -0
  251. package/dist/mcp-client.d.ts.map +1 -0
  252. package/dist/mcp-client.js +104 -0
  253. package/dist/mcp-client.js.map +1 -0
  254. package/dist/mcp-config.d.ts +4 -0
  255. package/dist/mcp-config.d.ts.map +1 -0
  256. package/dist/mcp-config.js +61 -0
  257. package/dist/mcp-config.js.map +1 -0
  258. package/dist/mcp-stdio.d.ts +24 -0
  259. package/dist/mcp-stdio.d.ts.map +1 -0
  260. package/dist/mcp-stdio.js +89 -0
  261. package/dist/mcp-stdio.js.map +1 -0
  262. package/dist/model-pricing.d.ts +22 -0
  263. package/dist/model-pricing.d.ts.map +1 -0
  264. package/dist/model-pricing.js +30 -0
  265. package/dist/model-pricing.js.map +1 -0
  266. package/dist/mount-registry.d.ts +9 -0
  267. package/dist/mount-registry.d.ts.map +1 -0
  268. package/dist/mount-registry.js +47 -0
  269. package/dist/mount-registry.js.map +1 -0
  270. package/dist/named-gate-lowering.d.ts +9 -0
  271. package/dist/named-gate-lowering.d.ts.map +1 -0
  272. package/dist/named-gate-lowering.js +152 -0
  273. package/dist/named-gate-lowering.js.map +1 -0
  274. package/dist/named-gates.d.ts +10 -0
  275. package/dist/named-gates.d.ts.map +1 -0
  276. package/dist/named-gates.js +69 -0
  277. package/dist/named-gates.js.map +1 -0
  278. package/dist/observer-link.d.ts +129 -0
  279. package/dist/observer-link.d.ts.map +1 -0
  280. package/dist/observer-link.js +274 -0
  281. package/dist/observer-link.js.map +1 -0
  282. package/dist/plugin-loader.d.ts +13 -0
  283. package/dist/plugin-loader.d.ts.map +1 -0
  284. package/dist/plugin-loader.js +110 -0
  285. package/dist/plugin-loader.js.map +1 -0
  286. package/dist/plugin-manifest.d.ts +27 -0
  287. package/dist/plugin-manifest.d.ts.map +1 -0
  288. package/dist/plugin-manifest.js +89 -0
  289. package/dist/plugin-manifest.js.map +1 -0
  290. package/dist/preflight.d.ts +26 -2
  291. package/dist/preflight.d.ts.map +1 -1
  292. package/dist/preflight.js +175 -1
  293. package/dist/preflight.js.map +1 -1
  294. package/dist/progress.d.ts +14 -0
  295. package/dist/progress.d.ts.map +1 -0
  296. package/dist/progress.js +39 -0
  297. package/dist/progress.js.map +1 -0
  298. package/dist/protocol.d.ts +11 -0
  299. package/dist/protocol.d.ts.map +1 -1
  300. package/dist/pty-sidechannel.d.ts +14 -0
  301. package/dist/pty-sidechannel.d.ts.map +1 -0
  302. package/dist/pty-sidechannel.js +103 -0
  303. package/dist/pty-sidechannel.js.map +1 -0
  304. package/dist/scope-compiler.d.ts +52 -0
  305. package/dist/scope-compiler.d.ts.map +1 -0
  306. package/dist/scope-compiler.js +62 -0
  307. package/dist/scope-compiler.js.map +1 -0
  308. package/dist/slack-preflight.d.ts +6 -0
  309. package/dist/slack-preflight.d.ts.map +1 -0
  310. package/dist/slack-preflight.js +28 -0
  311. package/dist/slack-preflight.js.map +1 -0
  312. package/dist/slack-writeback.d.ts +40 -0
  313. package/dist/slack-writeback.d.ts.map +1 -0
  314. package/dist/slack-writeback.js +60 -0
  315. package/dist/slack-writeback.js.map +1 -0
  316. package/dist/spec.d.ts +134 -4
  317. package/dist/spec.d.ts.map +1 -1
  318. package/dist/spec.js.map +1 -1
  319. package/dist/step-dependencies.d.ts.map +1 -1
  320. package/dist/step-dependencies.js +2 -1
  321. package/dist/step-dependencies.js.map +1 -1
  322. package/dist/step-fields.d.ts +4 -4
  323. package/dist/step-fields.d.ts.map +1 -1
  324. package/dist/step-fields.js +5 -2
  325. package/dist/step-fields.js.map +1 -1
  326. package/dist/trigger-executor.d.ts +7 -0
  327. package/dist/trigger-executor.d.ts.map +1 -0
  328. package/dist/trigger-executor.js +35 -0
  329. package/dist/trigger-executor.js.map +1 -0
  330. package/dist/validate.d.ts.map +1 -1
  331. package/dist/validate.js +53 -6
  332. package/dist/validate.js.map +1 -1
  333. package/dist/webhook-rate-limit.d.ts +29 -0
  334. package/dist/webhook-rate-limit.d.ts.map +1 -0
  335. package/dist/webhook-rate-limit.js +38 -0
  336. package/dist/webhook-rate-limit.js.map +1 -0
  337. package/dist/webhook-signature.d.ts +22 -0
  338. package/dist/webhook-signature.d.ts.map +1 -0
  339. package/dist/webhook-signature.js +53 -0
  340. package/dist/webhook-signature.js.map +1 -0
  341. package/dist/worker-cli.d.ts +13 -1
  342. package/dist/worker-cli.d.ts.map +1 -1
  343. package/dist/worker-cli.js +133 -12
  344. package/dist/worker-cli.js.map +1 -1
  345. package/dist/worker-input.d.ts +4 -0
  346. package/dist/worker-input.d.ts.map +1 -0
  347. package/dist/worker-input.js +14 -0
  348. package/dist/worker-input.js.map +1 -0
  349. package/dist/worker-lease.d.ts +5 -0
  350. package/dist/worker-lease.d.ts.map +1 -0
  351. package/dist/worker-lease.js +80 -0
  352. package/dist/worker-lease.js.map +1 -0
  353. package/dist/worker-spend.d.ts +19 -0
  354. package/dist/worker-spend.d.ts.map +1 -0
  355. package/dist/worker-spend.js +22 -0
  356. package/dist/worker-spend.js.map +1 -0
  357. package/dist/worker-usage.d.ts +7 -0
  358. package/dist/worker-usage.d.ts.map +1 -0
  359. package/dist/worker-usage.js +54 -0
  360. package/dist/worker-usage.js.map +1 -0
  361. package/dist/worker.d.ts +2 -0
  362. package/dist/worker.d.ts.map +1 -1
  363. package/dist/worker.js +22 -8
  364. package/dist/worker.js.map +1 -1
  365. package/dist/wrapper-session.d.ts +1 -1
  366. package/dist/wrapper-session.d.ts.map +1 -1
  367. package/dist/wrapper-session.js +56 -19
  368. package/dist/wrapper-session.js.map +1 -1
  369. package/dist/yaml-helper-effect.d.ts +8 -0
  370. package/dist/yaml-helper-effect.d.ts.map +1 -0
  371. package/dist/yaml-helper-effect.js +79 -0
  372. package/dist/yaml-helper-effect.js.map +1 -0
  373. package/dist/yaml-helpers.d.ts +18 -0
  374. package/dist/yaml-helpers.d.ts.map +1 -0
  375. package/dist/yaml-helpers.js +116 -0
  376. package/dist/yaml-helpers.js.map +1 -0
  377. package/package.json +19 -2
  378. package/src/adapters/base.ts +53 -0
  379. package/src/adapters/claude.ts +55 -0
  380. package/src/adapters/codex.ts +56 -0
  381. package/src/adapters/index.ts +36 -0
  382. package/src/adapters/wrapper.ts +42 -0
  383. package/src/agent-relay-transport.ts +187 -0
  384. package/src/authored-budget.ts +69 -0
  385. package/src/authored-flow-error.ts +10 -0
  386. package/src/authored-flow-executor.ts +170 -293
  387. package/src/authored-flow-loader.ts +60 -3
  388. package/src/authored-flow-operation.ts +38 -5
  389. package/src/authored-helper-effect.ts +143 -0
  390. package/src/authored-mcp.ts +166 -0
  391. package/src/authored-memory.ts +55 -0
  392. package/src/authored-plugin-effect.ts +152 -0
  393. package/src/authored-step-output.ts +107 -0
  394. package/src/authored-worker-step.ts +181 -0
  395. package/src/budget-preflight.ts +31 -0
  396. package/src/budget.ts +49 -0
  397. package/src/bundle-transport.ts +79 -0
  398. package/src/bundle-typescript.ts +98 -0
  399. package/src/bundle.ts +182 -0
  400. package/src/child-stop.ts +138 -0
  401. package/src/cli/add.ts +45 -0
  402. package/src/cli/build.ts +214 -0
  403. package/src/cli/bundle-preflight.ts +28 -0
  404. package/src/cli/check-helper-body.ts +14 -0
  405. package/src/cli/check-triggers.ts +41 -0
  406. package/src/cli/check-typescript.ts +63 -0
  407. package/src/cli/check.ts +132 -14
  408. package/src/cli/cloud-run.ts +47 -0
  409. package/src/cli/deploy.ts +52 -0
  410. package/src/cli/deterministic-failure.ts +69 -0
  411. package/src/cli/direct-run.ts +79 -7
  412. package/src/cli/hn-monitor.ts +2 -1
  413. package/src/cli/replay.ts +81 -0
  414. package/src/cli/reuse.ts +23 -0
  415. package/src/cli/run-digest.ts +24 -0
  416. package/src/cli/run.ts +104 -21
  417. package/src/cli/serve-webhook.ts +246 -0
  418. package/src/cli/tick-runner.ts +2 -1
  419. package/src/cli-adapter.ts +31 -74
  420. package/src/cli-watch.ts +174 -0
  421. package/src/cli.ts +396 -17
  422. package/src/cloud-http.ts +100 -0
  423. package/src/cloud-run.ts +137 -0
  424. package/src/compile.ts +102 -23
  425. package/src/create-flow.ts +82 -0
  426. package/src/daemon-connection.ts +32 -1
  427. package/src/demo-hn-monitor.ts +2 -1
  428. package/src/effect-channel.ts +97 -0
  429. package/src/failure-kinds.ts +38 -0
  430. package/src/gate-contract.ts +7 -0
  431. package/src/helper-preflight.ts +34 -0
  432. package/src/helper-storage.ts +23 -0
  433. package/src/helper-writeback.ts +83 -0
  434. package/src/index.ts +26 -0
  435. package/src/input-binding.ts +76 -0
  436. package/src/journal-client.ts +20 -7
  437. package/src/journal-offset.ts +60 -0
  438. package/src/journal-reader.ts +165 -0
  439. package/src/json-schema.ts +34 -18
  440. package/src/llm-worker.ts +82 -0
  441. package/src/local-agent.ts +30 -0
  442. package/src/mcp-client.ts +97 -0
  443. package/src/mcp-config.ts +42 -0
  444. package/src/mcp-stdio.ts +84 -0
  445. package/src/model-pricing.ts +32 -0
  446. package/src/mount-registry.ts +44 -0
  447. package/src/named-gate-lowering.ts +147 -0
  448. package/src/named-gates.ts +76 -0
  449. package/src/observer-link.ts +368 -0
  450. package/src/plugin-loader.ts +88 -0
  451. package/src/plugin-manifest.ts +76 -0
  452. package/src/preflight.ts +178 -4
  453. package/src/progress.ts +51 -0
  454. package/src/protocol.ts +12 -0
  455. package/src/pty-sidechannel.ts +92 -0
  456. package/src/scope-compiler.ts +105 -0
  457. package/src/slack-preflight.ts +25 -0
  458. package/src/slack-writeback.ts +63 -0
  459. package/src/spec.ts +112 -4
  460. package/src/step-dependencies.ts +3 -1
  461. package/src/step-fields.ts +5 -2
  462. package/src/trigger-executor.ts +34 -0
  463. package/src/validate.ts +47 -6
  464. package/src/webhook-rate-limit.ts +69 -0
  465. package/src/webhook-signature.ts +74 -0
  466. package/src/worker-cli.ts +156 -11
  467. package/src/worker-input.ts +15 -0
  468. package/src/worker-lease.ts +85 -0
  469. package/src/worker-spend.ts +23 -0
  470. package/src/worker-usage.ts +48 -0
  471. package/src/worker.ts +27 -9
  472. package/src/wrapper-session.ts +50 -15
  473. package/src/yaml-helper-effect.ts +78 -0
  474. package/src/yaml-helpers.ts +131 -0
package/dist/cli.js CHANGED
@@ -1,22 +1,44 @@
1
1
  #!/usr/bin/env node
2
+ import { addPlugin } from './cli/add.js';
3
+ import { watchCheck } from './cli-watch.js';
4
+ import { checkHelperBody } from './cli/check-helper-body.js';
5
+ import { renderProgress } from './progress.js';
2
6
  import { realpathSync } from 'node:fs';
3
7
  import { pathToFileURL } from 'node:url';
4
8
  import { checkFlow, inputFailureReport, } from './cli/check.js';
5
9
  import { resumeFlow, runFlow, } from './cli/run.js';
10
+ import { checkAuthoredTriggers } from './cli/check-triggers.js';
11
+ import { parseWebhookArgs, runServeWebhook } from './cli/serve-webhook.js';
6
12
  import { runDirectFlow } from './cli/direct-run.js';
13
+ import { parseReplayArgs, replayJournal } from './cli/replay.js';
14
+ import { checkTypeScriptFlow } from './cli/check-typescript.js';
15
+ import { runCloudCli } from './cli/cloud-run.js';
7
16
  import { isAuthoredFlowPath } from './direct-input.js';
17
+ import { parseDeployArgs, runDeploy } from './cli/deploy.js';
18
+ import { parseDigestReference } from './bundle-transport.js';
19
+ import { parseBuildArgs, runBuild } from './cli/build.js';
8
20
  import { runHnMonitor } from './cli/hn-monitor.js';
9
21
  import { runTickRunner } from './cli/tick-runner.js';
22
+ import { mintObserverUrl, resolveObserverLinkEnv, } from './observer-link.js';
10
23
  const DEFAULT_DATA_DIR = '.relayflowd';
11
24
  const USAGE = [
12
25
  'Usage:',
13
- 'flows check [--json] <flow.yaml|spec.json>',
14
- 'flows run [--json] [--no-spawn] [--data-dir <dir>] <flow.yaml|spec.json>',
15
- 'flows run [--json] [--no-spawn] [--data-dir <dir>] <flow.ts> --input <inline-json-or-file>',
26
+ 'flows add <helper-name|@flows/helper-name>',
27
+ 'flows build [--out <dir>] <flow.yaml|flow.ts>',
28
+ 'flows build --verify <bundle-dir>',
29
+ 'flows deploy <flow>@sha256:<digest> --to <file-bucket-uri>',
30
+ 'flows run <flow>@sha256:<digest> [--bucket <file-bucket-uri>] [--data-dir <dir>] [--json]',
31
+ 'flows check [--watch] [--json] <flow.ts|flow.yaml|spec.json>',
32
+ 'flows serve-webhook --data-dir <dir> --port <p> [--allow <name>[,<name>]]',
33
+ 'flows run [--json] [--no-spawn] [--no-observer-link] [--data-dir <dir>] [--local-agent] [--reuse-from <run-id>] <flow.yaml|spec.json>',
34
+ 'flows run --cloud [--json] [--wait] <flow.yaml|spec.json>',
35
+ 'flows run [--json] [--no-spawn] [--no-observer-link] [--data-dir <dir>] [--local-agent] <flow.ts> --input <inline-json-or-file>',
16
36
  'flows tick start --schedule-id <id> --interval-ms <ms> [--epoch-ms <ms>] [--max-catch-up <n>] [--poll-interval-ms <ms>] [--data-dir <dir>] <spec.json>',
17
- 'flows resume [--json] [--no-spawn] [--data-dir <dir>] <run-id>',
37
+ 'flows resume [--allow-human-influenced] [--json] [--no-spawn] [--no-observer-link] [--data-dir <dir>] <run-id>',
38
+ 'flows replay [--allow-human-influenced] [--json] [--data-dir <dir>] <run-id> [--at <step-id>]',
39
+ 'flows observer [--data-dir <dir>]',
18
40
  'flows hn-monitor start [--data-dir <dir>] [--poll-interval-ms <n>] <spec.json>',
19
- ].join(' ');
41
+ ].join('\n');
20
42
  /**
21
43
  * `FLOWS_NO_SPAWN=1` is `--no-spawn` for a whole environment: the lever for CI
22
44
  * that means to assert a daemon is already present rather than conjure one
@@ -31,22 +53,43 @@ const PROCESS_IO = {
31
53
  stderr: (line) => process.stderr.write(`${line}\n`),
32
54
  };
33
55
  export async function runCli(args, io = PROCESS_IO) {
56
+ if (args.length === 1 && (args[0] === '--help' || args[0] === '-h')) {
57
+ io.stdout(USAGE);
58
+ return 0;
59
+ }
34
60
  const parsed = parseArgs(args);
35
61
  if (parsed === undefined) {
36
62
  const report = inputFailureReport({ kind: 'invalid_invocation', message: USAGE });
37
63
  emitCheckReport(report, args.includes('--json'), io);
38
64
  return 2;
39
65
  }
66
+ if (parsed.command === 'add')
67
+ return addPlugin(parsed.value, io);
68
+ if (parsed.command === 'serve-webhook')
69
+ return runServeWebhook(parsed, io);
70
+ if (parsed.command === 'cloud-run')
71
+ return runCloudCli(parsed, io);
72
+ if (parsed.command === 'replay')
73
+ return replayJournal(parsed, io);
74
+ if (parsed.command === 'build')
75
+ return runBuild(parsed, io);
76
+ if (parsed.command === 'deploy')
77
+ return runDeploy(parsed, io);
40
78
  if (parsed.command === 'check') {
79
+ if (parsed.watch)
80
+ return watchCheck(parsed.value, parsed.json, io);
41
81
  // Deliberately daemon-free (kernel/DAEMON-LIFECYCLE.md §4). `checkFlow` is
42
- // a pure compile-and-preflight that opens no socket, and the parser
82
+ // a compile-and-preflight that opens no daemon socket, and the parser
43
83
  // refuses `--data-dir` on `check`, so there is no data dir to attach to.
44
84
  // `flows check` keeps working with no daemon, no relayflowd binary and no
45
85
  // data directory at all -- a property worth keeping, not an omission.
46
- const checked = checkFlow(parsed.value);
86
+ const checked = /\.(?:[cm]?[jt]s)$/.test(parsed.value)
87
+ ? await checkAuthoredFlowComposed(parsed.value) : checkFlow(parsed.value);
47
88
  emitCheckReport(checked.report, parsed.json, io);
48
89
  return checked.report.ok ? 0 : 2;
49
90
  }
91
+ if (parsed.command === 'observer')
92
+ return runObserverCommand(io);
50
93
  if (parsed.command === 'hn-monitor') {
51
94
  const controller = new AbortController();
52
95
  const onSignal = () => controller.abort();
@@ -93,39 +136,284 @@ export async function runCli(args, io = PROCESS_IO) {
93
136
  // single `connect()` seam immediately before journal-client.ts is used --
94
137
  // not here. Hoisting it above the dispatch would start a daemon as a side
95
138
  // effect of an invocation that is about to be refused for bad input.
139
+ const startedSteps = new Map();
140
+ const showProgress = (event) => {
141
+ if (event.type === 'step.started')
142
+ startedSteps.set(event.stepId, performance.now());
143
+ if (!parsed.json)
144
+ for (const line of renderProgress([event]))
145
+ io.stderr(line);
146
+ };
96
147
  const lifecycle = {
97
- onWait: (progress) => emitWait(progress, io),
148
+ ...(parsed.command === 'run' ? { bucket: parsed.bucket } : {}),
149
+ allowHumanInfluenced: parsed.allowHumanInfluenced,
150
+ onPtyReady: (path) => io.stderr(`PTY ${path}`),
151
+ ...(parsed.command === 'run' && parsed.reuseFromRunId !== undefined ? { reuseFromRunId: parsed.reuseFromRunId } : {}),
152
+ localAgent: parsed.command === 'run' && parsed.localAgent,
153
+ onProgress: showProgress,
154
+ onWait: (progress) => {
155
+ emitWait(progress, io);
156
+ const now = performance.now();
157
+ if (!startedSteps.has(progress.stepId))
158
+ startedSteps.set(progress.stepId, now);
159
+ showProgress({ type: 'step.running', stepId: progress.stepId, stepType: progress.stepType,
160
+ elapsedMs: now - startedSteps.get(progress.stepId) });
161
+ },
98
162
  daemon: { spawn: parsed.spawn && spawnAllowedByEnv() },
99
163
  };
164
+ // Mint the observer token in parallel with the run so the mint round-trip
165
+ // never adds to the RUN summary latency. The outcome is only consulted at
166
+ // emit time; a rejected promise here can never fail the run (see
167
+ // `observerUrlFrom`, which swallows every failure into `warning`).
168
+ const observerMint = startObserverMint(parsed);
100
169
  const execution = parsed.command === 'run'
101
170
  ? isAuthoredFlowPath(parsed.value)
102
171
  ? await runDirectFlow(parsed.value, parsed.input, parsed.dataDir, lifecycle)
103
172
  : await runFlow(parsed.value, parsed.dataDir, lifecycle)
104
173
  : await resumeFlow(parsed.value, parsed.dataDir, lifecycle);
174
+ // In `--json` mode the report is a single machine-readable object that
175
+ // MUST carry `observerUrl` when one is available, so a consumer sees one
176
+ // authoritative signal. That justifies blocking up to `MINT_TIMEOUT_MS`
177
+ // on the mint before emit -- consumers can wait for a bounded time.
178
+ //
179
+ // In plain-text mode the `RUN` line and any check diagnostics carry the
180
+ // primary signal; the observer URL is a nice-to-have follow-up. Blocking
181
+ // the RUN summary on a stalled Relaycast call (up to 5s per failed
182
+ // preflight) is worse than printing `Observer:` on a later line, so we
183
+ // emit the run report immediately and finalize the observer link after.
184
+ if (parsed.json) {
185
+ const observerUrl = await observerUrlFrom(observerMint, io);
186
+ emitRunReport(execution, parsed.json, io, observerUrl);
187
+ return execution.exitCode;
188
+ }
105
189
  emitRunReport(execution, parsed.json, io);
190
+ await finalizeObserverLine(observerMint, io);
106
191
  return execution.exitCode;
107
192
  }
193
+ /**
194
+ * Compose helper-body checks (from f.slack aspect) with TS-flow MCP checks
195
+ * so an authored .flow.ts surfaces diagnostics from both. Both check
196
+ * functions load the authored flow independently — this can be flattened
197
+ * later, but composing them keeps the rebase minimal and preserves both
198
+ * aspects' coverage.
199
+ */
200
+ async function checkAuthoredFlowComposed(path) {
201
+ const helper = await checkHelperBody(path);
202
+ if (!helper.report.ok)
203
+ return helper;
204
+ const mcp = await checkTypeScriptFlow(path);
205
+ const triggers = isAuthoredFlowPath(path)
206
+ ? await checkAuthoredTriggers(path)
207
+ : undefined;
208
+ const triggerDiagnostics = triggers?.report.diagnostics ?? [];
209
+ const triggerOk = triggers?.report.ok ?? true;
210
+ return {
211
+ report: {
212
+ ...mcp.report,
213
+ diagnostics: [...helper.report.diagnostics, ...mcp.report.diagnostics, ...triggerDiagnostics],
214
+ ok: helper.report.ok && mcp.report.ok && triggerOk,
215
+ },
216
+ };
217
+ }
218
+ /**
219
+ * Start the observer-token mint if the environment says one should happen.
220
+ * Returns `undefined` when no attempt should be made — no workspace key
221
+ * configured, or `FLOWS_NO_OBSERVER=1` / `--no-observer-link` — which is the
222
+ * silent-skip branch. The returned promise always resolves; a rejection here
223
+ * would slip past `observerUrlFrom` and could fail the run, which the feature
224
+ * expressly forbids.
225
+ */
226
+ function startObserverMint(parsed, env = process.env, mint = mintObserverUrl) {
227
+ if (parsed.noObserverLink)
228
+ return undefined;
229
+ // `resolveObserverLinkEnv` (not `readObserverLinkEnv`) falls back to the
230
+ // `agent-relay cloud login` workspace store (~/.agentworkforce/relay/
231
+ // workspaces.json) when RELAYCAST_WORKSPACE_KEY is unset. Env wins if set;
232
+ // FLOWS_NO_OBSERVER=1 still suppresses regardless of source.
233
+ const link = resolveObserverLinkEnv(env);
234
+ if (link.suppressed || link.workspaceKey === undefined)
235
+ return undefined;
236
+ return mint({
237
+ workspaceKey: link.workspaceKey,
238
+ ...(link.baseUrl !== undefined ? { baseUrl: link.baseUrl } : {}),
239
+ ...(link.dashboardUrl !== undefined ? { dashboardUrl: link.dashboardUrl } : {}),
240
+ }).catch((error) => ({
241
+ warning: error instanceof Error ? error.message : 'unknown mint error',
242
+ }));
243
+ }
244
+ /**
245
+ * Resolve the pending observer-mint into a URL (or nothing), and route any
246
+ * mint warning to stderr under a `[observer]` label. Silent-skip (`undefined`
247
+ * input) prints nothing at all, so a workspace with no observer configured
248
+ * produces no observer output on stderr or stdout.
249
+ */
250
+ async function observerUrlFrom(mint, io) {
251
+ if (mint === undefined)
252
+ return undefined;
253
+ const outcome = await mint;
254
+ if (outcome.warning !== undefined) {
255
+ io.stderr(`[observer] token mint failed: ${outcome.warning}; skipping observer link`);
256
+ }
257
+ return outcome.observerUrl;
258
+ }
259
+ /**
260
+ * Grace budget the plain-text emit path waits for a still-pending mint after
261
+ * the RUN summary is out. `mintObserverUrl` already caps its own network
262
+ * round-trip at `MINT_TIMEOUT_MS` (5s). The grace matches that ceiling so a
263
+ * slow-but-legitimate mint (empirically ~1.6s cold against
264
+ * `cast.agentrelay.com`) is not clipped by a shorter grace. A mint that has
265
+ * not resolved by 5s is genuinely stuck.
266
+ */
267
+ const OBSERVER_FINALIZE_GRACE_MS = 5_000;
268
+ /**
269
+ * Finalize the plain-text observer line after the RUN summary is already on
270
+ * stdout. If the mint resolves in time, print `Observer: <url>` on its own
271
+ * stdout line (matching v1 relayflows' convention). If it fails, print the
272
+ * standard `[observer]` diagnostic on stderr. If it is still pending after
273
+ * `OBSERVER_FINALIZE_GRACE_MS`, print a distinct stderr line so the operator
274
+ * knows the mint did not complete rather than seeing silence -- and stop
275
+ * waiting so the CLI can exit.
276
+ */
277
+ /**
278
+ * `flows observer`: mint and print a single observer URL. Reuses the same
279
+ * env parsing (`readObserverLinkEnv`) and mint (`mintObserverUrl`) as the
280
+ * run/resume verbs, so an operator who already has an observer URL working
281
+ * via `flows run` will get the identical URL shape here. Every failure
282
+ * path -- unset key, suppressed via `FLOWS_NO_OBSERVER`, mint HTTP error,
283
+ * network error, malformed response -- is refused with `REFUSED
284
+ * [observer_link_unavailable] <reason>` on stderr and exit 2, matching the
285
+ * flows CLI refusal shape (see `parseArgs` -> `invalid_invocation`).
286
+ */
287
+ async function runObserverCommand(io, env = process.env, mint = mintObserverUrl) {
288
+ // Same resolution as `flows run`: env wins, then the `agent-relay cloud
289
+ // login` workspace store. The refusal message names the env var because
290
+ // that is the primary path an operator is expected to configure; the
291
+ // cloud-login fallback is convenience, not the documented contract.
292
+ const link = resolveObserverLinkEnv(env);
293
+ if (link.suppressed) {
294
+ io.stderr('REFUSED [observer_link_unavailable] mint suppressed by FLOWS_NO_OBSERVER=1');
295
+ return 2;
296
+ }
297
+ if (link.workspaceKey === undefined) {
298
+ io.stderr('REFUSED [observer_link_unavailable] no workspace key configured; '
299
+ + 'set RELAYCAST_WORKSPACE_KEY or run `agent-relay workspace set_key`');
300
+ return 2;
301
+ }
302
+ const outcome = await mint({
303
+ workspaceKey: link.workspaceKey,
304
+ ...(link.baseUrl !== undefined ? { baseUrl: link.baseUrl } : {}),
305
+ }).catch((error) => ({
306
+ warning: error instanceof Error ? error.message : 'unknown mint error',
307
+ }));
308
+ if (outcome.observerUrl === undefined) {
309
+ // Fold the mint's own warning into the refusal so an operator sees the
310
+ // same phrasing they would have gotten under `flows run` -- no extra
311
+ // interpretation, no lossy summary.
312
+ const reason = outcome.warning ?? 'mint returned no URL';
313
+ io.stderr(`REFUSED [observer_link_unavailable] ${reason}`);
314
+ return 2;
315
+ }
316
+ io.stdout(outcome.observerUrl);
317
+ return 0;
318
+ }
319
+ export async function finalizeObserverLine(mint, io, graceMs = OBSERVER_FINALIZE_GRACE_MS) {
320
+ if (mint === undefined)
321
+ return;
322
+ // A race between the mint promise and a bounded timer. Using a sentinel
323
+ // symbol (not `undefined`) so we can tell "grace expired" from "mint
324
+ // resolved to no URL and no warning" -- which should never happen, but
325
+ // must not silently claim a timeout if it does.
326
+ const TIMED_OUT = Symbol('observer-finalize-timeout');
327
+ let timer;
328
+ const timeout = new Promise((resolve) => {
329
+ timer = setTimeout(() => resolve(TIMED_OUT), graceMs);
330
+ // Do not let this timer prolong the event loop past a clean exit; if the
331
+ // mint promise resolves first we clear it below, if the process is
332
+ // otherwise idle Node should not wait for us to give up.
333
+ timer.unref?.();
334
+ });
335
+ const outcome = await Promise.race([mint, timeout]);
336
+ if (timer !== undefined)
337
+ clearTimeout(timer);
338
+ if (outcome === TIMED_OUT) {
339
+ io.stderr('[observer] mint did not complete in time; skipping observer link');
340
+ return;
341
+ }
342
+ if (outcome.warning !== undefined) {
343
+ io.stderr(`[observer] token mint failed: ${outcome.warning}; skipping observer link`);
344
+ return;
345
+ }
346
+ if (outcome.observerUrl !== undefined)
347
+ io.stdout(`Observer: ${outcome.observerUrl}`);
348
+ }
108
349
  function emitWait(progress, io) {
109
350
  io.stderr(`WAITING [worker_lease] Run "${progress.runId}" step "${progress.stepId}" (${progress.stepType}) `
110
351
  + `is running under a worker lease until ${progress.leaseDeadlineMs}.`);
111
352
  }
112
353
  function parseArgs(args) {
113
354
  const command = args[0];
355
+ if (command === 'add')
356
+ return args.length === 2 ? { command: 'add', value: args[1] } : undefined;
357
+ if (command === 'replay')
358
+ return parseReplayArgs(args.slice(1));
359
+ if (command === 'build')
360
+ return parseBuildArgs(args.slice(1));
361
+ if (command === 'deploy')
362
+ return parseDeployArgs(args.slice(1));
363
+ if (command === 'serve-webhook')
364
+ return parseWebhookArgs(args.slice(1));
114
365
  if (command === 'hn-monitor')
115
366
  return parseHnMonitorArgs(args.slice(1));
116
367
  if (command === 'tick')
117
368
  return parseTickArgs(args.slice(1));
369
+ if (command === 'observer')
370
+ return parseObserverArgs(args.slice(1));
118
371
  if (command !== 'check' && command !== 'run' && command !== 'resume')
119
372
  return undefined;
120
373
  let json = false;
374
+ let watch = false;
375
+ let cloud = false;
376
+ let wait = false;
377
+ let localAgent = false;
378
+ let allowHumanInfluenced = false;
121
379
  let dataDir = DEFAULT_DATA_DIR;
122
380
  let sawDataDir = false;
123
381
  let spawn = true;
382
+ let noObserverLink = false;
124
383
  let input;
125
384
  let sawInput = false;
385
+ let reuseFromRunId;
386
+ let bucket;
126
387
  const positionals = [];
127
388
  for (let index = 1; index < args.length; index += 1) {
128
389
  const argument = args[index];
390
+ if (argument === '--cloud' || argument === '--wait') {
391
+ if (command !== 'run' || (argument === '--cloud' ? cloud : wait))
392
+ return undefined;
393
+ if (argument === '--cloud')
394
+ cloud = true;
395
+ else
396
+ wait = true;
397
+ continue;
398
+ }
399
+ if (argument === '--allow-human-influenced') {
400
+ if (command === 'check' || allowHumanInfluenced)
401
+ return undefined;
402
+ allowHumanInfluenced = true;
403
+ continue;
404
+ }
405
+ if (argument === '--local-agent') {
406
+ if (command !== 'run' || localAgent)
407
+ return undefined;
408
+ localAgent = true;
409
+ continue;
410
+ }
411
+ if (argument === '--watch') {
412
+ if (command !== 'check' || watch)
413
+ return undefined;
414
+ watch = true;
415
+ continue;
416
+ }
129
417
  if (argument === '--json') {
130
418
  if (json)
131
419
  return undefined;
@@ -140,6 +428,14 @@ function parseArgs(args) {
140
428
  spawn = false;
141
429
  continue;
142
430
  }
431
+ if (argument === '--no-observer-link') {
432
+ // Only meaningful on verbs that actually emit the observer line — `run`
433
+ // and `resume`. Refused elsewhere so the flag never silently no-ops.
434
+ if (command === 'check' || noObserverLink)
435
+ return undefined;
436
+ noObserverLink = true;
437
+ continue;
438
+ }
143
439
  if (argument === '--data-dir') {
144
440
  const value = args[index + 1];
145
441
  if (command === 'check' || sawDataDir || value === undefined || value.startsWith('-'))
@@ -149,6 +445,21 @@ function parseArgs(args) {
149
445
  index += 1;
150
446
  continue;
151
447
  }
448
+ if (argument === '--reuse-from') {
449
+ const value = args[index + 1];
450
+ if (command !== 'run' || reuseFromRunId !== undefined || !value || value.startsWith('-'))
451
+ return undefined;
452
+ reuseFromRunId = value;
453
+ index += 1;
454
+ continue;
455
+ }
456
+ if (argument === '--bucket') {
457
+ const value = args[++index];
458
+ if (command !== 'run' || bucket !== undefined || !value || value.startsWith('-'))
459
+ return undefined;
460
+ bucket = value;
461
+ continue;
462
+ }
152
463
  if (argument === '--input') {
153
464
  const value = args[index + 1];
154
465
  if (command !== 'run' || sawInput || value === undefined || value.startsWith('--'))
@@ -164,13 +475,28 @@ function parseArgs(args) {
164
475
  }
165
476
  if (positionals.length !== 1)
166
477
  return undefined;
478
+ if (bucket !== undefined && (cloud || !parseDigestReference(positionals[0])))
479
+ return undefined;
480
+ if (cloud) {
481
+ // `--cloud` submits the spec to Cloud, so every flag that only describes a
482
+ // local run -- an inline input, a data dir, a suppressed daemon, a local
483
+ // agent, a local observer-link opt-out -- describes nothing there and is
484
+ // refused rather than ignored.
485
+ if (allowHumanInfluenced || sawInput || sawDataDir || !spawn || localAgent || noObserverLink || reuseFromRunId !== undefined)
486
+ return undefined;
487
+ return { command: 'cloud-run', value: positionals[0], json, wait };
488
+ }
489
+ if (wait)
490
+ return undefined;
491
+ if (reuseFromRunId !== undefined && isAuthoredFlowPath(positionals[0]))
492
+ return undefined;
167
493
  if (command === 'run' && input !== undefined && !isAuthoredFlowPath(positionals[0]))
168
494
  return undefined;
169
495
  return command === 'check'
170
- ? { command, json, value: positionals[0] }
496
+ ? { command, json, watch, value: positionals[0] }
171
497
  : command === 'run'
172
- ? { command, dataDir, input, json, spawn, value: positionals[0] }
173
- : { command, dataDir, json, spawn, value: positionals[0] };
498
+ ? { command, bucket, reuseFromRunId, localAgent, dataDir, input, json, spawn, noObserverLink, allowHumanInfluenced, value: positionals[0] }
499
+ : { command, dataDir, json, spawn, noObserverLink, allowHumanInfluenced, value: positionals[0] };
174
500
  }
175
501
  function parseHnMonitorArgs(rest) {
176
502
  const sub = rest[0];
@@ -210,6 +536,35 @@ function parseHnMonitorArgs(rest) {
210
536
  return undefined;
211
537
  return { command: 'hn-monitor', sub: 'start', dataDir, specPath: positionals[0], pollIntervalMs };
212
538
  }
539
+ /**
540
+ * `flows observer`. On-demand mint verb: prints an observer URL without
541
+ * running a flow. Takes an optional `--data-dir` (accepted for parity with
542
+ * other verbs, so operators can share one invocation shape across the
543
+ * surface) but does not open a socket, spawn a daemon, or touch the data
544
+ * directory at all -- the mint is a pure Relaycast API round-trip. No
545
+ * positional argument, no other flags.
546
+ */
547
+ function parseObserverArgs(rest) {
548
+ let dataDir = DEFAULT_DATA_DIR;
549
+ let sawDataDir = false;
550
+ for (let index = 0; index < rest.length; index += 1) {
551
+ const argument = rest[index];
552
+ if (argument === '--data-dir') {
553
+ const value = rest[index + 1];
554
+ if (sawDataDir || value === undefined || value.startsWith('-'))
555
+ return undefined;
556
+ dataDir = value;
557
+ sawDataDir = true;
558
+ index += 1;
559
+ continue;
560
+ }
561
+ // Any positional or unknown flag is a shape error: this verb has no
562
+ // spec-path or run-id argument, so silently ignoring extras would be
563
+ // worse than refusing them.
564
+ return undefined;
565
+ }
566
+ return { command: 'observer', dataDir };
567
+ }
213
568
  /**
214
569
  * `flows tick start`. Numeric flags are parsed here but their BOUNDS are not
215
570
  * re-derived: `runTickRunner` calls `assertTickScheduleValid`, the same
@@ -333,20 +688,38 @@ function emitCheckReport(report, json, io) {
333
688
  if (report.ok)
334
689
  io.stdout(`CHECK PASSED ${report.path ?? ''}`.trimEnd());
335
690
  }
336
- function emitRunReport(execution, json, io) {
691
+ function emitRunReport(execution, json, io, observerUrl) {
337
692
  const { report } = execution;
338
693
  emitDiagnostics(report.diagnostics, io);
339
694
  if (json) {
340
- io.stdout(JSON.stringify(report));
695
+ // Fold `observerUrl` into the JSON report as a sibling of `runId`, so
696
+ // downstream tooling that consumes `--json` gets the same signal a
697
+ // human reader gets from the plain-text `Observer:` line.
698
+ const payload = observerUrl === undefined ? report : { ...report, observerUrl };
699
+ io.stdout(JSON.stringify(payload));
341
700
  return;
342
701
  }
343
702
  if (report.runId === undefined)
344
703
  return;
345
- const completed = report.completedSteps === undefined ? '' : ` (${report.completedSteps} steps)`;
704
+ const completed = report.completedSteps === undefined ? '' : ` (${report.completedSteps} ${report.completedSteps === 1 ? 'step' : 'steps'})`;
346
705
  const reason = report.completionReason === undefined
347
706
  ? ''
348
707
  : ` completionReason: ${report.completionReason}`;
349
708
  io.stdout(`RUN ${report.runId} ${report.status ?? 'unknown'}${completed}${reason}`);
709
+ if (report.reuse !== undefined) {
710
+ io.stdout(`REUSE from ${report.reuse.fromRunId}: ${report.reuse.reusedSteps} reused, ${report.reuse.executedSteps} executed`);
711
+ }
712
+ // The observer line no longer rides inline with the RUN summary in
713
+ // plain-text mode: a slow mint used to hold back this whole line and any
714
+ // check diagnostics for up to `MINT_TIMEOUT_MS`. `finalizeObserverLine`
715
+ // now emits `Observer: <url>` as its own follow-up line after this one,
716
+ // matching v1 relayflows' output shape (which also printed the observer
717
+ // URL on its own line). The `observerUrl` parameter is kept for callers
718
+ // that already have a URL ready and want it inline; today only the
719
+ // `--json` path takes that branch (where the URL folds into the JSON
720
+ // payload above), so the plain-text pass through here never uses it.
721
+ if (observerUrl !== undefined)
722
+ io.stdout(`Observer: ${observerUrl}`);
350
723
  }
351
724
  function emitDiagnostics(diagnostics, io) {
352
725
  for (const diagnostic of diagnostics) {
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ export interface CloudConnectionOptions {
2
+ /** Cloud application base URL; defaults to https://agentrelay.com/cloud. */
3
+ apiUrl?: string;
4
+ /** Scoped Cloud API token; never a Relay workspace key. */
5
+ token?: string;
6
+ signal?: AbortSignal;
7
+ /** Bounds each HTTP request, never the hosted run. Defaults to 30 seconds. */
8
+ requestTimeoutMs?: number;
9
+ }
10
+ export declare class CloudFlowError extends Error {
11
+ readonly code: 'configuration' | 'unsupported_source' | 'invalid_input' | 'invalid_response' | 'http_error' | 'transport_error' | 'transient_error';
12
+ readonly status?: number | undefined;
13
+ constructor(code: 'configuration' | 'unsupported_source' | 'invalid_input' | 'invalid_response' | 'http_error' | 'transport_error' | 'transient_error', message: string, status?: number | undefined);
14
+ }
15
+ export declare function cloudConnection(options: CloudConnectionOptions): {
16
+ baseUrl: string;
17
+ token: string;
18
+ };
19
+ export declare function cloudRequest(path: string, options: CloudConnectionOptions, body?: unknown): Promise<unknown>;
20
+ export declare function cloudRunId(value: unknown): string;
21
+ export declare function isCloudRecord(value: unknown): value is Record<string, unknown>;
22
+ //# sourceMappingURL=cloud-http.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cloud-http.d.ts","sourceRoot":"","sources":["../src/cloud-http.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,sBAAsB;IACrC,4EAA4E;IAC5E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,2DAA2D;IAC3D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,8EAA8E;IAC9E,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,qBAAa,cAAe,SAAQ,KAAK;IAErC,QAAQ,CAAC,IAAI,EAAE,eAAe,GAAG,oBAAoB,GAAG,eAAe,GAAG,kBAAkB,GAAG,YAAY,GAAG,iBAAiB,GAAG,iBAAiB;IAEnJ,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM;gBAFf,IAAI,EAAE,eAAe,GAAG,oBAAoB,GAAG,eAAe,GAAG,kBAAkB,GAAG,YAAY,GAAG,iBAAiB,GAAG,iBAAiB,EACnJ,OAAO,EAAE,MAAM,EACN,MAAM,CAAC,EAAE,MAAM,YAAA;CAK3B;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,sBAAsB,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAkBnG;AAED,wBAAsB,YAAY,CAChC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,sBAAsB,EAC/B,IAAI,CAAC,EAAE,OAAO,GACb,OAAO,CAAC,OAAO,CAAC,CAgClB;AAGD,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAKjD;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAE9E"}