@relayflows/sdk 2.0.30 → 2.0.32

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 (347) hide show
  1. package/dist/agent-artifacts.d.ts.map +1 -1
  2. package/dist/agent-artifacts.js +2 -9
  3. package/dist/agent-artifacts.js.map +1 -1
  4. package/dist/agent-cwd.d.ts +69 -0
  5. package/dist/agent-cwd.d.ts.map +1 -0
  6. package/dist/agent-cwd.js +140 -0
  7. package/dist/agent-cwd.js.map +1 -0
  8. package/dist/artifact-scan-policy.d.ts +35 -0
  9. package/dist/artifact-scan-policy.d.ts.map +1 -0
  10. package/dist/artifact-scan-policy.js +49 -0
  11. package/dist/artifact-scan-policy.js.map +1 -0
  12. package/dist/authored-completion-record.d.ts +35 -0
  13. package/dist/authored-completion-record.d.ts.map +1 -0
  14. package/dist/authored-completion-record.js +92 -0
  15. package/dist/authored-completion-record.js.map +1 -0
  16. package/dist/authored-completion.d.ts +99 -0
  17. package/dist/authored-completion.d.ts.map +1 -0
  18. package/dist/authored-completion.js +184 -0
  19. package/dist/authored-completion.js.map +1 -0
  20. package/dist/authored-flow-error.d.ts +13 -1
  21. package/dist/authored-flow-error.d.ts.map +1 -1
  22. package/dist/authored-flow-error.js +12 -0
  23. package/dist/authored-flow-error.js.map +1 -1
  24. package/dist/authored-flow-executor.d.ts +7 -30
  25. package/dist/authored-flow-executor.d.ts.map +1 -1
  26. package/dist/authored-flow-executor.js +54 -47
  27. package/dist/authored-flow-executor.js.map +1 -1
  28. package/dist/authored-human.d.ts.map +1 -1
  29. package/dist/authored-human.js +1 -3
  30. package/dist/authored-human.js.map +1 -1
  31. package/dist/authored-node-entry.js +4 -1
  32. package/dist/authored-node-entry.js.map +1 -1
  33. package/dist/authored-node-runner.d.ts +9 -1
  34. package/dist/authored-node-runner.d.ts.map +1 -1
  35. package/dist/authored-node-runner.js +92 -17
  36. package/dist/authored-node-runner.js.map +1 -1
  37. package/dist/authored-preflight.d.ts +4 -0
  38. package/dist/authored-preflight.d.ts.map +1 -0
  39. package/dist/authored-preflight.js +50 -0
  40. package/dist/authored-preflight.js.map +1 -0
  41. package/dist/authored-root.d.ts +5 -0
  42. package/dist/authored-root.d.ts.map +1 -1
  43. package/dist/authored-root.js +20 -2
  44. package/dist/authored-root.js.map +1 -1
  45. package/dist/authored-step-output.d.ts +35 -10
  46. package/dist/authored-step-output.d.ts.map +1 -1
  47. package/dist/authored-step-output.js +108 -40
  48. package/dist/authored-step-output.js.map +1 -1
  49. package/dist/authored-verdict.d.ts +28 -0
  50. package/dist/authored-verdict.d.ts.map +1 -0
  51. package/dist/authored-verdict.js +79 -0
  52. package/dist/authored-verdict.js.map +1 -0
  53. package/dist/authored-worker-step.d.ts +5 -2
  54. package/dist/authored-worker-step.d.ts.map +1 -1
  55. package/dist/authored-worker-step.js +51 -13
  56. package/dist/authored-worker-step.js.map +1 -1
  57. package/dist/cli/check-worker-surface.d.ts +27 -0
  58. package/dist/cli/check-worker-surface.d.ts.map +1 -0
  59. package/dist/cli/check-worker-surface.js +63 -0
  60. package/dist/cli/check-worker-surface.js.map +1 -0
  61. package/dist/cli/check.d.ts +28 -3
  62. package/dist/cli/check.d.ts.map +1 -1
  63. package/dist/cli/check.js +27 -140
  64. package/dist/cli/check.js.map +1 -1
  65. package/dist/cli/cli-probe.d.ts +20 -0
  66. package/dist/cli/cli-probe.d.ts.map +1 -0
  67. package/dist/cli/cli-probe.js +166 -0
  68. package/dist/cli/cli-probe.js.map +1 -0
  69. package/dist/cli/cloud-format.d.ts +9 -0
  70. package/dist/cli/cloud-format.d.ts.map +1 -0
  71. package/dist/cli/cloud-format.js +77 -0
  72. package/dist/cli/cloud-format.js.map +1 -0
  73. package/dist/cli/cloud-live.d.ts +39 -0
  74. package/dist/cli/cloud-live.d.ts.map +1 -0
  75. package/dist/cli/cloud-live.js +325 -0
  76. package/dist/cli/cloud-live.js.map +1 -0
  77. package/dist/cli/cloud-mirror-session.d.ts +97 -0
  78. package/dist/cli/cloud-mirror-session.d.ts.map +1 -0
  79. package/dist/cli/cloud-mirror-session.js +264 -0
  80. package/dist/cli/cloud-mirror-session.js.map +1 -0
  81. package/dist/cli/cloud-read.d.ts +3 -7
  82. package/dist/cli/cloud-read.d.ts.map +1 -1
  83. package/dist/cli/cloud-read.js +14 -266
  84. package/dist/cli/cloud-read.js.map +1 -1
  85. package/dist/cli/cloud-refusal.d.ts +39 -0
  86. package/dist/cli/cloud-refusal.d.ts.map +1 -0
  87. package/dist/cli/cloud-refusal.js +95 -0
  88. package/dist/cli/cloud-refusal.js.map +1 -0
  89. package/dist/cli/cloud-status-view.d.ts +7 -0
  90. package/dist/cli/cloud-status-view.d.ts.map +1 -0
  91. package/dist/cli/cloud-status-view.js +214 -0
  92. package/dist/cli/cloud-status-view.js.map +1 -0
  93. package/dist/cli/direct-run.d.ts.map +1 -1
  94. package/dist/cli/direct-run.js +16 -2
  95. package/dist/cli/direct-run.js.map +1 -1
  96. package/dist/cli/hn-monitor.d.ts +0 -13
  97. package/dist/cli/hn-monitor.d.ts.map +1 -1
  98. package/dist/cli/hn-monitor.js +2 -1
  99. package/dist/cli/hn-monitor.js.map +1 -1
  100. package/dist/cli/local-agent-remedy.d.ts +80 -0
  101. package/dist/cli/local-agent-remedy.d.ts.map +1 -0
  102. package/dist/cli/local-agent-remedy.js +116 -0
  103. package/dist/cli/local-agent-remedy.js.map +1 -0
  104. package/dist/cli/observer-session.d.ts +41 -0
  105. package/dist/cli/observer-session.d.ts.map +1 -0
  106. package/dist/cli/observer-session.js +78 -0
  107. package/dist/cli/observer-session.js.map +1 -0
  108. package/dist/cli/run.d.ts +30 -2
  109. package/dist/cli/run.d.ts.map +1 -1
  110. package/dist/cli/run.js +186 -24
  111. package/dist/cli/run.js.map +1 -1
  112. package/dist/cli/status.d.ts +9 -0
  113. package/dist/cli/status.d.ts.map +1 -1
  114. package/dist/cli/status.js +31 -2
  115. package/dist/cli/status.js.map +1 -1
  116. package/dist/cli/step-evidence.d.ts +90 -0
  117. package/dist/cli/step-evidence.d.ts.map +1 -0
  118. package/dist/cli/step-evidence.js +259 -0
  119. package/dist/cli/step-evidence.js.map +1 -0
  120. package/dist/cli/step-failure.d.ts +14 -4
  121. package/dist/cli/step-failure.d.ts.map +1 -1
  122. package/dist/cli/step-failure.js +41 -76
  123. package/dist/cli/step-failure.js.map +1 -1
  124. package/dist/cli-commands.d.ts +12 -0
  125. package/dist/cli-commands.d.ts.map +1 -1
  126. package/dist/cli-commands.js +3 -0
  127. package/dist/cli-commands.js.map +1 -1
  128. package/dist/cli.d.ts +17 -0
  129. package/dist/cli.d.ts.map +1 -1
  130. package/dist/cli.js +134 -57
  131. package/dist/cli.js.map +1 -1
  132. package/dist/cloud-deploy.d.ts +1 -1
  133. package/dist/cloud-deploy.d.ts.map +1 -1
  134. package/dist/cloud-deploy.js +24 -8
  135. package/dist/cloud-deploy.js.map +1 -1
  136. package/dist/cloud-mirror-ledger.d.ts +40 -0
  137. package/dist/cloud-mirror-ledger.d.ts.map +1 -0
  138. package/dist/cloud-mirror-ledger.js +142 -0
  139. package/dist/cloud-mirror-ledger.js.map +1 -0
  140. package/dist/cloud-mirror-step.d.ts +168 -0
  141. package/dist/cloud-mirror-step.d.ts.map +1 -0
  142. package/dist/cloud-mirror-step.js +504 -0
  143. package/dist/cloud-mirror-step.js.map +1 -0
  144. package/dist/cloud-mirror-transport.d.ts +94 -0
  145. package/dist/cloud-mirror-transport.d.ts.map +1 -0
  146. package/dist/cloud-mirror-transport.js +163 -0
  147. package/dist/cloud-mirror-transport.js.map +1 -0
  148. package/dist/cloud-mirror.d.ts +132 -0
  149. package/dist/cloud-mirror.d.ts.map +1 -0
  150. package/dist/cloud-mirror.js +556 -0
  151. package/dist/cloud-mirror.js.map +1 -0
  152. package/dist/cloud-read.d.ts +15 -0
  153. package/dist/cloud-read.d.ts.map +1 -1
  154. package/dist/cloud-read.js +20 -1
  155. package/dist/cloud-read.js.map +1 -1
  156. package/dist/cloud-run-record.d.ts +27 -0
  157. package/dist/cloud-run-record.d.ts.map +1 -0
  158. package/dist/cloud-run-record.js +56 -0
  159. package/dist/cloud-run-record.js.map +1 -0
  160. package/dist/cloud-run.d.ts +2 -9
  161. package/dist/cloud-run.d.ts.map +1 -1
  162. package/dist/cloud-run.js +3 -20
  163. package/dist/cloud-run.js.map +1 -1
  164. package/dist/communication/local.d.ts.map +1 -1
  165. package/dist/communication/local.js +2 -1
  166. package/dist/communication/local.js.map +1 -1
  167. package/dist/communication/worker.d.ts +1 -1
  168. package/dist/communication/worker.d.ts.map +1 -1
  169. package/dist/communication/worker.js +13 -5
  170. package/dist/communication/worker.js.map +1 -1
  171. package/dist/compile.d.ts.map +1 -1
  172. package/dist/compile.js +28 -6
  173. package/dist/compile.js.map +1 -1
  174. package/dist/direct-input.d.ts.map +1 -1
  175. package/dist/direct-input.js +21 -1
  176. package/dist/direct-input.js.map +1 -1
  177. package/dist/failure-kinds.d.ts +96 -6
  178. package/dist/failure-kinds.d.ts.map +1 -1
  179. package/dist/failure-kinds.js +29 -2
  180. package/dist/failure-kinds.js.map +1 -1
  181. package/dist/flow-requirements.d.ts.map +1 -1
  182. package/dist/flow-requirements.js +24 -9
  183. package/dist/flow-requirements.js.map +1 -1
  184. package/dist/gate-contract.d.ts +7 -0
  185. package/dist/gate-contract.d.ts.map +1 -1
  186. package/dist/gate-contract.js +6 -1
  187. package/dist/gate-contract.js.map +1 -1
  188. package/dist/helper-preflight.d.ts.map +1 -1
  189. package/dist/helper-preflight.js +10 -3
  190. package/dist/helper-preflight.js.map +1 -1
  191. package/dist/helper-reference.d.ts +25 -0
  192. package/dist/helper-reference.d.ts.map +1 -0
  193. package/dist/helper-reference.js +129 -0
  194. package/dist/helper-reference.js.map +1 -0
  195. package/dist/hosted-extension-runtime.js +1 -1
  196. package/dist/index.d.ts +1 -1
  197. package/dist/index.d.ts.map +1 -1
  198. package/dist/index.js.map +1 -1
  199. package/dist/journal-client.d.ts +3 -1
  200. package/dist/journal-client.d.ts.map +1 -1
  201. package/dist/journal-client.js +17 -2
  202. package/dist/journal-client.js.map +1 -1
  203. package/dist/journal-projection.d.ts +16 -0
  204. package/dist/journal-projection.d.ts.map +1 -0
  205. package/dist/journal-projection.js +108 -0
  206. package/dist/journal-projection.js.map +1 -0
  207. package/dist/llm-worker.js +1 -1
  208. package/dist/llm-worker.js.map +1 -1
  209. package/dist/local-agent.d.ts +1 -1
  210. package/dist/local-agent.d.ts.map +1 -1
  211. package/dist/local-agent.js +4 -3
  212. package/dist/local-agent.js.map +1 -1
  213. package/dist/named-gate-lowering.js +35 -5
  214. package/dist/named-gate-lowering.js.map +1 -1
  215. package/dist/named-gate-preflight.d.ts +27 -0
  216. package/dist/named-gate-preflight.d.ts.map +1 -0
  217. package/dist/named-gate-preflight.js +47 -0
  218. package/dist/named-gate-preflight.js.map +1 -0
  219. package/dist/named-gates.d.ts +1 -1
  220. package/dist/named-gates.d.ts.map +1 -1
  221. package/dist/named-gates.js +3 -0
  222. package/dist/named-gates.js.map +1 -1
  223. package/dist/observer-link.d.ts +7 -0
  224. package/dist/observer-link.d.ts.map +1 -1
  225. package/dist/observer-link.js +3 -1
  226. package/dist/observer-link.js.map +1 -1
  227. package/dist/package-version.d.ts +10 -0
  228. package/dist/package-version.d.ts.map +1 -0
  229. package/dist/package-version.js +22 -0
  230. package/dist/package-version.js.map +1 -0
  231. package/dist/preflight.d.ts +14 -0
  232. package/dist/preflight.d.ts.map +1 -1
  233. package/dist/preflight.js +25 -3
  234. package/dist/preflight.js.map +1 -1
  235. package/dist/protocol.d.ts +2 -0
  236. package/dist/protocol.d.ts.map +1 -1
  237. package/dist/redact.d.ts +42 -0
  238. package/dist/redact.d.ts.map +1 -1
  239. package/dist/redact.js +128 -0
  240. package/dist/redact.js.map +1 -1
  241. package/dist/relay-cli.d.ts.map +1 -1
  242. package/dist/relay-cli.js +1 -21
  243. package/dist/relay-cli.js.map +1 -1
  244. package/dist/run-projection.d.ts +83 -0
  245. package/dist/run-projection.d.ts.map +1 -0
  246. package/dist/run-projection.js +199 -0
  247. package/dist/run-projection.js.map +1 -0
  248. package/dist/shell-word.d.ts +19 -0
  249. package/dist/shell-word.d.ts.map +1 -0
  250. package/dist/shell-word.js +23 -0
  251. package/dist/shell-word.js.map +1 -0
  252. package/dist/spec.d.ts +52 -3
  253. package/dist/spec.d.ts.map +1 -1
  254. package/dist/spec.js.map +1 -1
  255. package/dist/step-fields.d.ts +1 -1
  256. package/dist/step-fields.js +1 -1
  257. package/dist/step-fields.js.map +1 -1
  258. package/dist/steps-green.d.ts +27 -0
  259. package/dist/steps-green.d.ts.map +1 -0
  260. package/dist/steps-green.js +164 -0
  261. package/dist/steps-green.js.map +1 -0
  262. package/dist/validate.d.ts.map +1 -1
  263. package/dist/validate.js +39 -8
  264. package/dist/validate.js.map +1 -1
  265. package/dist/worker-lease.d.ts +8 -1
  266. package/dist/worker-lease.d.ts.map +1 -1
  267. package/dist/worker-lease.js +34 -4
  268. package/dist/worker-lease.js.map +1 -1
  269. package/dist/worker.d.ts +8 -0
  270. package/dist/worker.d.ts.map +1 -1
  271. package/dist/worker.js +17 -9
  272. package/dist/worker.js.map +1 -1
  273. package/package.json +3 -7
  274. package/src/agent-artifacts.ts +2 -10
  275. package/src/agent-cwd.ts +139 -0
  276. package/src/artifact-scan-policy.ts +51 -0
  277. package/src/authored-completion-record.ts +119 -0
  278. package/src/authored-completion.ts +203 -0
  279. package/src/authored-flow-error.ts +13 -1
  280. package/src/authored-flow-executor.ts +91 -58
  281. package/src/authored-human.ts +1 -4
  282. package/src/authored-node-entry.ts +4 -1
  283. package/src/authored-node-runner.ts +96 -22
  284. package/src/authored-preflight.ts +46 -0
  285. package/src/authored-root.ts +20 -2
  286. package/src/authored-step-output.ts +139 -42
  287. package/src/authored-verdict.ts +87 -0
  288. package/src/authored-worker-step.ts +63 -14
  289. package/src/cli/check-worker-surface.ts +66 -0
  290. package/src/cli/check.ts +59 -166
  291. package/src/cli/cli-probe.ts +194 -0
  292. package/src/cli/cloud-format.ts +82 -0
  293. package/src/cli/cloud-live.ts +366 -0
  294. package/src/cli/cloud-mirror-session.ts +329 -0
  295. package/src/cli/cloud-read.ts +13 -282
  296. package/src/cli/cloud-refusal.ts +113 -0
  297. package/src/cli/cloud-status-view.ts +213 -0
  298. package/src/cli/direct-run.ts +19 -2
  299. package/src/cli/hn-monitor.ts +2 -1
  300. package/src/cli/local-agent-remedy.ts +160 -0
  301. package/src/cli/observer-session.ts +107 -0
  302. package/src/cli/run.ts +233 -28
  303. package/src/cli/status.ts +59 -3
  304. package/src/cli/step-evidence.ts +310 -0
  305. package/src/cli/step-failure.ts +57 -81
  306. package/src/cli-commands.ts +3 -0
  307. package/src/cli.ts +155 -60
  308. package/src/cloud-deploy.ts +26 -8
  309. package/src/cloud-mirror-ledger.ts +161 -0
  310. package/src/cloud-mirror-step.ts +618 -0
  311. package/src/cloud-mirror-transport.ts +261 -0
  312. package/src/cloud-mirror.ts +633 -0
  313. package/src/cloud-read.ts +25 -1
  314. package/src/cloud-run-record.ts +64 -0
  315. package/src/cloud-run.ts +5 -24
  316. package/src/communication/local.ts +2 -1
  317. package/src/communication/worker.ts +13 -5
  318. package/src/compile.ts +28 -6
  319. package/src/direct-input.ts +22 -1
  320. package/src/failure-kinds.ts +104 -2
  321. package/src/flow-requirements.ts +24 -9
  322. package/src/gate-contract.ts +13 -1
  323. package/src/helper-preflight.ts +10 -3
  324. package/src/helper-reference.ts +130 -0
  325. package/src/hosted-extension-runtime.ts +1 -1
  326. package/src/index.ts +2 -0
  327. package/src/journal-client.ts +19 -2
  328. package/src/journal-projection.ts +106 -0
  329. package/src/llm-worker.ts +1 -1
  330. package/src/local-agent.ts +4 -2
  331. package/src/named-gate-lowering.ts +35 -5
  332. package/src/named-gate-preflight.ts +47 -0
  333. package/src/named-gates.ts +3 -0
  334. package/src/observer-link.ts +10 -1
  335. package/src/package-version.ts +23 -0
  336. package/src/preflight.ts +38 -7
  337. package/src/protocol.ts +2 -0
  338. package/src/redact.ts +111 -0
  339. package/src/relay-cli.ts +1 -24
  340. package/src/run-projection.ts +247 -0
  341. package/src/shell-word.ts +24 -0
  342. package/src/spec.ts +54 -3
  343. package/src/step-fields.ts +1 -1
  344. package/src/steps-green.ts +168 -0
  345. package/src/validate.ts +35 -8
  346. package/src/worker-lease.ts +35 -5
  347. package/src/worker.ts +27 -11
@@ -1 +1 @@
1
- {"version":3,"file":"cli-commands.js","sourceRoot":"","sources":["../src/cli-commands.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli-commands.js","sourceRoot":"","sources":["../src/cli-commands.ts"],"names":[],"mappings":"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"}
package/dist/cli.d.ts CHANGED
@@ -11,6 +11,16 @@ export type { CheckInputDiagnostic, CheckReport } from './cli/check.js';
11
11
  export interface CliIo {
12
12
  stdout(line: string): void;
13
13
  stderr(line: string): void;
14
+ /**
15
+ * True when stdout is an interactive terminal.
16
+ *
17
+ * Only the live views read it, and only to decide whether a redraw may use
18
+ * ANSI control sequences: `flows status --cloud --watch` clears the screen
19
+ * for a terminal and appends whole pages when its output is redirected or
20
+ * mounted in a host that renders text. Absent means "not a terminal", so an
21
+ * embedder that says nothing gets the safe form.
22
+ */
23
+ tty?: boolean;
14
24
  }
15
25
  type CliExitCode = 0 | 1 | 2 | 3;
16
26
  /**
@@ -69,6 +79,7 @@ export type ParsedArgs = {
69
79
  json: boolean;
70
80
  spawn: boolean;
71
81
  noObserverLink: boolean;
82
+ cloudMirror: boolean;
72
83
  allowHumanInfluenced: boolean;
73
84
  value: string;
74
85
  } | {
@@ -79,6 +90,7 @@ export type ParsedArgs = {
79
90
  json: boolean;
80
91
  spawn: boolean;
81
92
  noObserverLink: boolean;
93
+ cloudMirror: boolean;
82
94
  allowHumanInfluenced: boolean;
83
95
  value: string;
84
96
  } | {
@@ -113,6 +125,11 @@ export type ParsedArgs = {
113
125
  };
114
126
  /** Optional knobs for an embedded caller. `bin/flows.js` passes none. */
115
127
  export interface RunCliOptions {
128
+ /**
129
+ * Version to print for a self-contained executable that cannot read the
130
+ * installed package manifest. Normal package entrypoints leave this unset.
131
+ */
132
+ version?: string;
116
133
  /**
117
134
  * Cancellation for the long-running verbs (`run --cloud`, `check --watch`,
118
135
  * `serve-webhook`, `hn-monitor start`, `tick start`).
package/dist/cli.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
package/dist/cli.js CHANGED
@@ -5,6 +5,8 @@ import { watchCheck } from './cli-watch.js';
5
5
  import { checkHelperBody } from './cli/check-helper-body.js';
6
6
  import { describeFlowRequirements } from './flow-requirements.js';
7
7
  import { renderProgress } from './progress.js';
8
+ import { createObserverSession } from './cli/observer-session.js';
9
+ import { cloudMirrorRequested, createCloudMirrorSession, mirrorSourceFromJournal, mirrorSourceFromPath, } from './cli/cloud-mirror-session.js';
8
10
  import { realpathSync } from 'node:fs';
9
11
  import { pathToFileURL } from 'node:url';
10
12
  import { checkFlow, inputFailureReport, } from './cli/check.js';
@@ -16,6 +18,7 @@ import { runDirectFlow } from './cli/direct-run.js';
16
18
  import { parseReplayArgs, replayJournal } from './cli/replay.js';
17
19
  import { parseStatusArgs, runStatus } from './cli/status.js';
18
20
  import { parseLogsArgs, parseRunsArgs, runCloudLogsCli, runCloudRunsCli, runCloudStatusCli, } from './cli/cloud-read.js';
21
+ import { runCloudLogsFollow, runCloudStatusWatch } from './cli/cloud-live.js';
19
22
  import { transcriptTailSource } from './transcript-tail.js';
20
23
  import { checkTypeScriptFlow } from './cli/check-typescript.js';
21
24
  import { runCloudCli } from './cli/cloud-run.js';
@@ -32,6 +35,7 @@ import { DEFAULT_DATA_DIR } from './daemon-connection.js';
32
35
  import { CLI_VERB_NAMES } from './cli-commands.js';
33
36
  import { isAgentCapacity } from './worker-slots.js';
34
37
  import { mintObserverUrl, resolveObserverLinkEnv, } from './observer-link.js';
38
+ import { packageVersion } from './package-version.js';
35
39
  const USAGE = [
36
40
  'Usage:',
37
41
  'flows add <helper-name|@flows/helper-name>',
@@ -52,19 +56,19 @@ const USAGE = [
52
56
  'flows run <flow>@sha256:<digest> [--bucket <file-bucket-uri>] [--data-dir <dir>] [--json]',
53
57
  'flows check [--watch] [--json] <flow.ts|flow.yaml|spec.json>',
54
58
  'flows serve-webhook --data-dir <dir> --port <p> [--allow <name>[,<name>]]',
55
- 'flows run [--json] [--no-spawn] [--no-observer-link] [--data-dir <dir>] [--local-agent [--agent-capacity <n>]] [--reuse-from <run-id>] <flow.yaml|spec.json>',
59
+ 'flows run [--json] [--no-spawn] [--no-observer-link] [--cloud-mirror] [--data-dir <dir>] [--local-agent [--agent-capacity <n>]] [--reuse-from <run-id>] <flow.yaml|spec.json>',
56
60
  'flows run --cloud [--json] [--wait] [--sync-code] [--no-connect] <flow.yaml|spec.json>',
57
61
  'flows run --cloud [--json] [--wait] [--sync-code] [--no-connect] <flow.ts> --input <inline-json-or-file>',
58
62
  'flows sync [--json] [--dry-run] [--dir <path>] <run-id>',
59
- 'flows run [--json] [--no-spawn] [--no-observer-link] [--data-dir <dir>] [--local-agent [--agent-capacity <n>]] <flow.ts> --input <inline-json-or-file>',
63
+ 'flows run [--json] [--no-spawn] [--no-observer-link] [--cloud-mirror] [--data-dir <dir>] [--local-agent [--agent-capacity <n>]] <flow.ts> --input <inline-json-or-file>',
60
64
  '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>',
61
- 'flows resume [--allow-human-influenced] [--json] [--no-spawn] [--no-observer-link] [--data-dir <dir>] [--local-agent [--agent-capacity <n>]] <run-id>',
65
+ 'flows resume [--allow-human-influenced] [--json] [--no-spawn] [--no-observer-link] [--cloud-mirror] [--data-dir <dir>] [--local-agent [--agent-capacity <n>]] <run-id>',
62
66
  'flows answer [--json] [--no-spawn] [--data-dir <dir>] [--note <text>] [--by <identity>] <run-id> <wait-id> <yes|no>',
63
67
  'flows replay [--allow-human-influenced] [--json] [--data-dir <dir>] <run-id> [--at <step-id>]',
64
68
  'flows status [--json] [--data-dir <dir>] [--tail <n>] [<run-id>]',
65
- 'flows status --cloud [--json] <run-id>',
69
+ 'flows status --cloud [--json] [--watch] <run-id>',
66
70
  'flows runs [--limit <n>] [--json]',
67
- 'flows logs [--step <name>] [--raw] [--json] <run-id>',
71
+ 'flows logs [--step <name>] [--raw] [--json] [--follow] <run-id>',
68
72
  'flows observer [--data-dir <dir>]',
69
73
  'flows hn-monitor start [--data-dir <dir>] [--poll-interval-ms <n>] <spec.json>',
70
74
  ].join('\n');
@@ -80,6 +84,7 @@ function spawnAllowedByEnv(env = process.env) {
80
84
  const PROCESS_IO = {
81
85
  stdout: (line) => process.stdout.write(`${line}\n`),
82
86
  stderr: (line) => process.stderr.write(`${line}\n`),
87
+ tty: process.stdout.isTTY === true,
83
88
  };
84
89
  /**
85
90
  * Run one long-running verb under a cancellation signal.
@@ -104,6 +109,10 @@ async function withInterrupt(provided, body) {
104
109
  }
105
110
  }
106
111
  export async function runCli(args, io = PROCESS_IO, options = {}) {
112
+ if (args.length === 1 && (args[0] === '--version' || args[0] === '-V')) {
113
+ io.stdout(options.version ?? packageVersion());
114
+ return 0;
115
+ }
107
116
  if (args.length === 1 && (args[0] === '--help' || args[0] === '-h')) {
108
117
  io.stdout(USAGE);
109
118
  return 0;
@@ -144,15 +153,23 @@ export async function runCli(args, io = PROCESS_IO, options = {}) {
144
153
  // works inside a step of a run whose daemon is gone (kernel/DAEMON-LIFECYCLE.md §4).
145
154
  if (parsed.command === 'status') {
146
155
  // One verb, two sources. `--cloud` never reaches `runStatus`, so the
147
- // offline reader stays offline (cli/status.ts).
148
- return parsed.cloud === true
149
- ? runCloudStatusCli(parsed, io)
150
- : runStatus(parsed, io, { tails: transcriptTailSource() });
156
+ // offline reader stays offline (cli/status.ts). Only `--watch` blocks, so
157
+ // only `--watch` takes a signal: a one-shot read keeps installing none.
158
+ if (parsed.cloud !== true)
159
+ return runStatus(parsed, io, { tails: transcriptTailSource() });
160
+ const cloudStatus = parsed;
161
+ return cloudStatus.watch === true
162
+ ? withInterrupt(options.signal, (signal) => runCloudStatusWatch(cloudStatus, io, { signal }))
163
+ : runCloudStatusCli(cloudStatus, io);
151
164
  }
152
165
  if (parsed.command === 'runs')
153
166
  return runCloudRunsCli(parsed, io);
154
- if (parsed.command === 'logs')
155
- return runCloudLogsCli(parsed, io);
167
+ if (parsed.command === 'logs') {
168
+ const logs = parsed;
169
+ return logs.follow
170
+ ? withInterrupt(options.signal, (signal) => runCloudLogsFollow(logs, io, { signal }))
171
+ : runCloudLogsCli(logs, io);
172
+ }
156
173
  if (parsed.command === 'answer') {
157
174
  const execution = await answerFlow(parsed.runId, parsed.waitId, parsed.answer, parsed.dataDir, {
158
175
  ...(parsed.note === undefined ? {} : { note: parsed.note }),
@@ -175,8 +192,13 @@ export async function runCli(args, io = PROCESS_IO, options = {}) {
175
192
  // refuses `--data-dir` on `check`, so there is no data dir to attach to.
176
193
  // `flows check` keeps working with no daemon, no relayflowd binary and no
177
194
  // data directory at all -- a property worth keeping, not an omission.
195
+ // Only this invocation opts into `agent_worker_unresolved`: `flows check`
196
+ // attaches no worker and, being daemon-free, cannot see one attached
197
+ // elsewhere. The authored `.flow.ts` path checks header declarations
198
+ // without compiling steps, so it has no agent steps to count.
178
199
  const checked = /\.(?:[cm]?[jt]s)$/.test(parsed.value)
179
- ? await checkAuthoredFlowComposed(parsed.value) : checkFlow(parsed.value);
200
+ ? await checkAuthoredFlowComposed(parsed.value)
201
+ : checkFlow(parsed.value, { warnUnresolvedAgentWorker: true });
180
202
  emitCheckReport(checked.report, parsed.json, io);
181
203
  return checked.report.ok ? 0 : 2;
182
204
  }
@@ -209,23 +231,63 @@ export async function runCli(args, io = PROCESS_IO, options = {}) {
209
231
  // not here. Hoisting it above the dispatch would start a daemon as a side
210
232
  // effect of an invocation that is about to be refused for bad input.
211
233
  const startedSteps = new Map();
234
+ const observer = parsed.noObserverLink ? undefined : createObserverSession(parsed.command, io);
235
+ const runnerLog = [];
236
+ // Opt-in, unlike the observer link beside it. The observer is the default
237
+ // way to watch a local run: it is free, it needs only a workspace key, and
238
+ // it carries a step projection. The dashboard is the richer, hosted view —
239
+ // it stores the flow source, every step's transcript and this invocation's
240
+ // own output — so a local run joins it because someone asked, never because
241
+ // a login happened to be lying around.
242
+ const mirror = !(parsed.cloudMirror || cloudMirrorRequested(process.env))
243
+ ? undefined
244
+ : createCloudMirrorSession({
245
+ source: parsed.command === 'run'
246
+ ? mirrorSourceFromPath(parsed.value, parsed.input, parsed.dataDir)
247
+ : mirrorSourceFromJournal(parsed.dataDir),
248
+ dataDir: parsed.dataDir,
249
+ log: () => runnerLog,
250
+ requested: parsed.cloudMirror ? 'flag' : 'env',
251
+ }, io);
252
+ // Everything this invocation prints, kept in order, so the mirror can upload
253
+ // it as the run's `runner.log` — the object the dashboard's log pane reads,
254
+ // and the sandbox's own equivalent. A declarative run emits no progress
255
+ // events at all, so building the log out of those would have left the pane
256
+ // empty for exactly the runs that are easiest to follow.
257
+ const logged = mirror === undefined ? io : {
258
+ ...io,
259
+ stdout: line => { runnerLog.push(line); io.stdout(line); },
260
+ stderr: line => { runnerLog.push(line); io.stderr(line); },
261
+ };
212
262
  const showProgress = (event) => {
213
263
  if (event.type === 'step.started')
214
264
  startedSteps.set(event.stepId, performance.now());
215
265
  if (!parsed.json)
216
266
  for (const line of renderProgress([event]))
217
- io.stderr(line);
267
+ logged.stderr(line);
268
+ observer?.onProgress(event);
269
+ mirror?.onProgress(event);
218
270
  };
219
271
  const lifecycle = {
220
272
  ...(parsed.command === 'run' ? { bucket: parsed.bucket } : {}),
221
273
  allowHumanInfluenced: parsed.allowHumanInfluenced,
222
- onPtyReady: (path) => io.stderr(`PTY ${path}`),
274
+ onPtyReady: (path) => logged.stderr(`PTY ${path}`),
223
275
  ...(parsed.command === 'run' && parsed.reuseFromRunId !== undefined ? { reuseFromRunId: parsed.reuseFromRunId } : {}),
224
276
  localAgent: parsed.localAgent,
225
277
  ...(parsed.agentCapacity === undefined ? {} : { agentCapacity: parsed.agentCapacity }),
226
278
  onProgress: showProgress,
279
+ ...(observer === undefined && mirror === undefined ? {} : {
280
+ onJournalEntry: (entry) => {
281
+ observer?.onJournalEntry(entry);
282
+ mirror?.onJournalEntry(entry);
283
+ },
284
+ onRunStarted: (run) => {
285
+ observer?.onRunStarted(run);
286
+ mirror?.onRunStarted(run);
287
+ },
288
+ }),
227
289
  onWait: (progress) => {
228
- emitWait(progress, io);
290
+ emitWait(progress, logged);
229
291
  const now = performance.now();
230
292
  if (!startedSteps.has(progress.stepId))
231
293
  startedSteps.set(progress.stepId, now);
@@ -234,16 +296,15 @@ export async function runCli(args, io = PROCESS_IO, options = {}) {
234
296
  },
235
297
  daemon: { spawn: parsed.spawn && spawnAllowedByEnv() },
236
298
  };
237
- // Mint the observer token in parallel with the run so the mint round-trip
238
- // never adds to the RUN summary latency. The outcome is only consulted at
239
- // emit time; a rejected promise here can never fail the run (see
240
- // `observerUrlFrom`, which swallows every failure into `warning`).
241
- const observerMint = startObserverMint(parsed);
242
299
  const execution = parsed.command === 'run'
243
300
  ? isAuthoredFlowPath(parsed.value)
244
301
  ? await runDirectFlow(parsed.value, parsed.input, parsed.dataDir, lifecycle)
245
302
  : await runFlow(parsed.value, parsed.dataDir, lifecycle)
246
303
  : await resumeFlow(parsed.value, parsed.dataDir, lifecycle);
304
+ // The link is scoped to the run's channel, so it exists only once the run
305
+ // does. `finish` drains the projection and settles the mint, both bounded;
306
+ // it never rejects (see `createObserverSession`).
307
+ const observerMint = observer?.finish(execution.report);
247
308
  // In `--json` mode the report is a single machine-readable object that
248
309
  // MUST carry `observerUrl` when one is available, so a consumer sees one
249
310
  // authoritative signal. That justifies blocking up to `MINT_TIMEOUT_MS`
@@ -255,12 +316,17 @@ export async function runCli(args, io = PROCESS_IO, options = {}) {
255
316
  // preflight) is worse than printing `Observer:` on a later line, so we
256
317
  // emit the run report immediately and finalize the observer link after.
257
318
  if (parsed.json) {
258
- const observerUrl = await observerUrlFrom(observerMint, io);
259
- emitRunReport(execution, parsed.json, io, observerUrl);
319
+ const observerUrl = await observerUrlFrom(observerMint, logged);
320
+ emitRunReport(execution, parsed.json, logged, observerUrl, await mirror?.receipt());
321
+ // Last, and after the report: the run's own output is what the mirror
322
+ // uploads, and a run's exit code has never waited on Cloud. The mirror
323
+ // bounds itself and never rejects.
324
+ await mirror?.finish(execution.report);
260
325
  return execution.exitCode;
261
326
  }
262
- emitRunReport(execution, parsed.json, io);
263
- await finalizeObserverLine(observerMint, io);
327
+ emitRunReport(execution, parsed.json, logged);
328
+ await finalizeObserverLine(observerMint, logged);
329
+ await mirror?.finish(execution.report);
264
330
  return execution.exitCode;
265
331
  }
266
332
  /**
@@ -294,32 +360,6 @@ async function checkAuthoredFlowComposed(path) {
294
360
  },
295
361
  };
296
362
  }
297
- /**
298
- * Start the observer-token mint if the environment says one should happen.
299
- * Returns `undefined` when no attempt should be made — no workspace key
300
- * configured, or `FLOWS_NO_OBSERVER=1` / `--no-observer-link` — which is the
301
- * silent-skip branch. The returned promise always resolves; a rejection here
302
- * would slip past `observerUrlFrom` and could fail the run, which the feature
303
- * expressly forbids.
304
- */
305
- function startObserverMint(parsed, env = process.env, mint = mintObserverUrl) {
306
- if (parsed.noObserverLink)
307
- return undefined;
308
- // `resolveObserverLinkEnv` (not `readObserverLinkEnv`) falls back to the
309
- // `agent-relay cloud login` workspace store (~/.agentworkforce/relay/
310
- // workspaces.json) when RELAYCAST_WORKSPACE_KEY is unset. Env wins if set;
311
- // FLOWS_NO_OBSERVER=1 still suppresses regardless of source.
312
- const link = resolveObserverLinkEnv(env);
313
- if (link.suppressed || link.workspaceKey === undefined)
314
- return undefined;
315
- return mint({
316
- workspaceKey: link.workspaceKey,
317
- ...(link.baseUrl !== undefined ? { baseUrl: link.baseUrl } : {}),
318
- ...(link.dashboardUrl !== undefined ? { dashboardUrl: link.dashboardUrl } : {}),
319
- }).catch((error) => ({
320
- warning: error instanceof Error ? error.message : 'unknown mint error',
321
- }));
322
- }
323
363
  /**
324
364
  * Resolve the pending observer-mint into a URL (or nothing), and route any
325
365
  * mint warning to stderr under a `[observer]` label. Silent-skip (`undefined`
@@ -512,6 +552,7 @@ function parseArgs(args) {
512
552
  let sawDataDir = false;
513
553
  let spawn = true;
514
554
  let noObserverLink = false;
555
+ let cloudMirror = false;
515
556
  let input;
516
557
  let sawInput = false;
517
558
  let reuseFromRunId;
@@ -584,6 +625,15 @@ function parseArgs(args) {
584
625
  noObserverLink = true;
585
626
  continue;
586
627
  }
628
+ if (argument === '--cloud-mirror') {
629
+ // Only meaningful where a local run exists to mirror. Refused on `check`
630
+ // (which starts nothing) and, below, on `--cloud` (which IS the hosted
631
+ // run), so the flag never silently no-ops.
632
+ if (command === 'check' || cloudMirror)
633
+ return undefined;
634
+ cloudMirror = true;
635
+ continue;
636
+ }
587
637
  if (argument === '--data-dir') {
588
638
  const value = args[index + 1];
589
639
  if (command === 'check' || sawDataDir || value === undefined || value.startsWith('-'))
@@ -634,7 +684,8 @@ function parseArgs(args) {
634
684
  // observer-link opt-out -- describes nothing there and is refused rather
635
685
  // than ignored. `--input` is the authored body's argument and travels with
636
686
  // the source, so it is accepted exactly where a local run accepts it.
637
- if (allowHumanInfluenced || sawDataDir || !spawn || localAgent || noObserverLink || reuseFromRunId !== undefined)
687
+ if (allowHumanInfluenced || sawDataDir || !spawn || localAgent || noObserverLink || cloudMirror
688
+ || reuseFromRunId !== undefined)
638
689
  return undefined;
639
690
  if (sawInput && !isAuthoredFlowPath(positionals[0]))
640
691
  return undefined;
@@ -649,8 +700,8 @@ function parseArgs(args) {
649
700
  return command === 'check'
650
701
  ? { command, json, watch, value: positionals[0] }
651
702
  : command === 'run'
652
- ? { command, bucket, reuseFromRunId, localAgent, agentCapacity, dataDir, input, json, spawn, noObserverLink, allowHumanInfluenced, value: positionals[0] }
653
- : { command, localAgent, agentCapacity, dataDir, json, spawn, noObserverLink, allowHumanInfluenced, value: positionals[0] };
703
+ ? { command, bucket, reuseFromRunId, localAgent, agentCapacity, dataDir, input, json, spawn, noObserverLink, cloudMirror, allowHumanInfluenced, value: positionals[0] }
704
+ : { command, localAgent, agentCapacity, dataDir, json, spawn, noObserverLink, cloudMirror, allowHumanInfluenced, value: positionals[0] };
654
705
  }
655
706
  /**
656
707
  * `flows answer [--json] [--no-spawn] [--data-dir <dir>] [--note <text>] [--by <identity>] <run-id> <wait-id> <yes|no>`.
@@ -926,6 +977,17 @@ function parseTickArgs(rest) {
926
977
  scheduleId, intervalMs, epochMs, maxCatchUp, pollIntervalMs,
927
978
  };
928
979
  }
980
+ /**
981
+ * `agent_worker_unresolved` reads as a footnote to `REQUIRES codex (step
982
+ * "implement"), …`: that line already names the steps that need an agent
983
+ * worker, and this says what has to be true for one to be attached. So the
984
+ * plain-text pass holds it back and emits it in that position, exactly once —
985
+ * the leading batch below skips it rather than printing it twice. JSON mode
986
+ * returns before any of this and keeps the single ordered diagnostics array.
987
+ */
988
+ function isWorkerSurfaceWarning(diagnostic) {
989
+ return diagnostic.kind === 'agent_worker_unresolved';
990
+ }
929
991
  const MODEL_PROVENANCE = {
930
992
  step: 'step',
931
993
  named: 'named agent',
@@ -936,16 +998,20 @@ function modelProvenance(source) {
936
998
  return source === undefined ? '' : ` from ${MODEL_PROVENANCE[source]}`;
937
999
  }
938
1000
  function emitCheckReport(report, json, io) {
939
- emitDiagnostics(report.diagnostics, io);
940
1001
  if (json) {
1002
+ emitDiagnostics(report.diagnostics, io);
941
1003
  io.stdout(JSON.stringify(report));
942
1004
  return;
943
1005
  }
1006
+ const deferred = report.diagnostics.filter(isWorkerSurfaceWarning);
1007
+ emitDiagnostics(report.diagnostics.filter((diagnostic) => !isWorkerSurfaceWarning(diagnostic)), io);
944
1008
  for (const gate of report.gates) {
945
1009
  // A gate that accepts every output is legal, but it must not read like a
946
1010
  // gate that judges something.
947
1011
  const vacuous = gate.acceptsAnyOutput === true ? ' [json_schema accepts any output]' : '';
948
- io.stdout(`GATE step "${gate.stepId}" ${gate.checks.join('+')} from data (kernel, journal-replayable)${vacuous}`);
1012
+ // Red-but-complete is a declared shape, so it is a visible one.
1013
+ const recorded = gate.recordsNonZeroExit === true ? ' [onNonZero: record]' : '';
1014
+ io.stdout(`GATE step "${gate.stepId}" ${gate.checks.join('+')} from data (kernel, journal-replayable)${vacuous}${recorded}`);
949
1015
  }
950
1016
  for (const schedule of report.schedules ?? []) {
951
1017
  const declared = schedule.cron !== undefined
@@ -987,17 +1053,28 @@ function emitCheckReport(report, json, io) {
987
1053
  const requires = report.requirements === undefined ? '' : describeFlowRequirements(report.requirements);
988
1054
  if (requires)
989
1055
  io.stdout(`REQUIRES ${requires}`);
1056
+ emitDiagnostics(deferred, io);
990
1057
  if (report.ok)
991
1058
  io.stdout(`CHECK PASSED ${report.path ?? ''}`.trimEnd());
992
1059
  }
993
- function emitRunReport(execution, json, io, observerUrl) {
1060
+ function emitRunReport(execution, json, io, observerUrl, mirror) {
994
1061
  const { report } = execution;
995
1062
  emitDiagnostics(report.diagnostics, io);
996
1063
  if (json) {
997
1064
  // Fold `observerUrl` into the JSON report as a sibling of `runId`, so
998
1065
  // downstream tooling that consumes `--json` gets the same signal a
999
1066
  // human reader gets from the plain-text `Observer:` line.
1000
- const payload = observerUrl === undefined ? report : { ...report, observerUrl };
1067
+ //
1068
+ // `cloudRunId` and `dashboardUrl` ride beside it for the same reason, and
1069
+ // they close a sharper gap: the report's own `runId` is the *journal's*,
1070
+ // and every hosted read verb (`flows status --cloud`, `flows logs`,
1071
+ // `flows runs`) takes Cloud's. Without these a script that mirrored a run
1072
+ // had no handle on it at all, and a human had to read one out of a URL.
1073
+ const payload = {
1074
+ ...report,
1075
+ ...(observerUrl === undefined ? {} : { observerUrl }),
1076
+ ...(mirror === undefined ? {} : mirror),
1077
+ };
1001
1078
  io.stdout(JSON.stringify(payload));
1002
1079
  return;
1003
1080
  }