@relayflows/sdk 2.0.21 → 2.0.23

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 (247) hide show
  1. package/dist/agent-artifacts.d.ts +18 -9
  2. package/dist/agent-artifacts.d.ts.map +1 -1
  3. package/dist/agent-artifacts.js +27 -11
  4. package/dist/agent-artifacts.js.map +1 -1
  5. package/dist/agent-transcript.d.ts +186 -0
  6. package/dist/agent-transcript.d.ts.map +1 -0
  7. package/dist/agent-transcript.js +585 -0
  8. package/dist/agent-transcript.js.map +1 -0
  9. package/dist/authored-flow-error.d.ts +33 -1
  10. package/dist/authored-flow-error.d.ts.map +1 -1
  11. package/dist/authored-flow-error.js +20 -1
  12. package/dist/authored-flow-error.js.map +1 -1
  13. package/dist/authored-flow-executor.d.ts.map +1 -1
  14. package/dist/authored-flow-executor.js +4 -1
  15. package/dist/authored-flow-executor.js.map +1 -1
  16. package/dist/authored-node-entry.js +5 -1
  17. package/dist/authored-node-entry.js.map +1 -1
  18. package/dist/authored-node-runner.d.ts +11 -0
  19. package/dist/authored-node-runner.d.ts.map +1 -1
  20. package/dist/authored-node-runner.js +30 -1
  21. package/dist/authored-node-runner.js.map +1 -1
  22. package/dist/authored-root.js +3 -1
  23. package/dist/authored-root.js.map +1 -1
  24. package/dist/authored-source-authority.js +13 -0
  25. package/dist/authored-source-authority.js.map +1 -1
  26. package/dist/authored-step-index.d.ts +82 -0
  27. package/dist/authored-step-index.d.ts.map +1 -0
  28. package/dist/authored-step-index.js +120 -0
  29. package/dist/authored-step-index.js.map +1 -0
  30. package/dist/authored-step-output.d.ts +23 -2
  31. package/dist/authored-step-output.d.ts.map +1 -1
  32. package/dist/authored-step-output.js +47 -5
  33. package/dist/authored-step-output.js.map +1 -1
  34. package/dist/authored-worker-step.d.ts +10 -2
  35. package/dist/authored-worker-step.d.ts.map +1 -1
  36. package/dist/authored-worker-step.js +81 -7
  37. package/dist/authored-worker-step.js.map +1 -1
  38. package/dist/cli/check.d.ts.map +1 -1
  39. package/dist/cli/check.js +67 -12
  40. package/dist/cli/check.js.map +1 -1
  41. package/dist/cli/cloud-read.d.ts +31 -0
  42. package/dist/cli/cloud-read.d.ts.map +1 -0
  43. package/dist/cli/cloud-read.js +482 -0
  44. package/dist/cli/cloud-read.js.map +1 -0
  45. package/dist/cli/run.d.ts +2 -0
  46. package/dist/cli/run.d.ts.map +1 -1
  47. package/dist/cli/run.js +53 -24
  48. package/dist/cli/run.js.map +1 -1
  49. package/dist/cli/status.d.ts +43 -0
  50. package/dist/cli/status.d.ts.map +1 -0
  51. package/dist/cli/status.js +321 -0
  52. package/dist/cli/status.js.map +1 -0
  53. package/dist/cli/step-failure.d.ts +26 -0
  54. package/dist/cli/step-failure.d.ts.map +1 -1
  55. package/dist/cli/step-failure.js +99 -10
  56. package/dist/cli/step-failure.js.map +1 -1
  57. package/dist/cli-commands.d.ts +41 -0
  58. package/dist/cli-commands.d.ts.map +1 -1
  59. package/dist/cli-commands.js +33 -0
  60. package/dist/cli-commands.js.map +1 -1
  61. package/dist/cli.d.ts +4 -2
  62. package/dist/cli.d.ts.map +1 -1
  63. package/dist/cli.js +26 -0
  64. package/dist/cli.js.map +1 -1
  65. package/dist/cloud-http.d.ts +12 -0
  66. package/dist/cloud-http.d.ts.map +1 -1
  67. package/dist/cloud-http.js +14 -6
  68. package/dist/cloud-http.js.map +1 -1
  69. package/dist/cloud-read.d.ts +154 -0
  70. package/dist/cloud-read.d.ts.map +1 -0
  71. package/dist/cloud-read.js +373 -0
  72. package/dist/cloud-read.js.map +1 -0
  73. package/dist/cloud-transcript.d.ts +94 -0
  74. package/dist/cloud-transcript.d.ts.map +1 -0
  75. package/dist/cloud-transcript.js +342 -0
  76. package/dist/cloud-transcript.js.map +1 -0
  77. package/dist/communication/environment.d.ts +3 -0
  78. package/dist/communication/environment.d.ts.map +1 -0
  79. package/dist/communication/environment.js +34 -0
  80. package/dist/communication/environment.js.map +1 -0
  81. package/dist/communication/history.d.ts +6 -0
  82. package/dist/communication/history.d.ts.map +1 -0
  83. package/dist/communication/history.js +38 -0
  84. package/dist/communication/history.js.map +1 -0
  85. package/dist/communication/local.d.ts +6 -0
  86. package/dist/communication/local.d.ts.map +1 -0
  87. package/dist/communication/local.js +56 -0
  88. package/dist/communication/local.js.map +1 -0
  89. package/dist/communication/preflight.d.ts +6 -0
  90. package/dist/communication/preflight.d.ts.map +1 -0
  91. package/dist/communication/preflight.js +37 -0
  92. package/dist/communication/preflight.js.map +1 -0
  93. package/dist/communication/projection.d.ts +8 -0
  94. package/dist/communication/projection.d.ts.map +1 -0
  95. package/dist/communication/projection.js +23 -0
  96. package/dist/communication/projection.js.map +1 -0
  97. package/dist/communication/relay.d.ts +78 -0
  98. package/dist/communication/relay.d.ts.map +1 -0
  99. package/dist/communication/relay.js +89 -0
  100. package/dist/communication/relay.js.map +1 -0
  101. package/dist/communication/session.d.ts +24 -0
  102. package/dist/communication/session.d.ts.map +1 -0
  103. package/dist/communication/session.js +100 -0
  104. package/dist/communication/session.js.map +1 -0
  105. package/dist/communication/spec.d.ts +20 -0
  106. package/dist/communication/spec.d.ts.map +1 -0
  107. package/dist/communication/spec.js +113 -0
  108. package/dist/communication/spec.js.map +1 -0
  109. package/dist/communication/tool.d.ts +3 -0
  110. package/dist/communication/tool.d.ts.map +1 -0
  111. package/dist/communication/tool.js +23 -0
  112. package/dist/communication/tool.js.map +1 -0
  113. package/dist/communication/tools.d.ts +11 -0
  114. package/dist/communication/tools.d.ts.map +1 -0
  115. package/dist/communication/tools.js +65 -0
  116. package/dist/communication/tools.js.map +1 -0
  117. package/dist/communication/worker.d.ts +6 -0
  118. package/dist/communication/worker.d.ts.map +1 -0
  119. package/dist/communication/worker.js +120 -0
  120. package/dist/communication/worker.js.map +1 -0
  121. package/dist/compile.d.ts.map +1 -1
  122. package/dist/compile.js +8 -1
  123. package/dist/compile.js.map +1 -1
  124. package/dist/failure-kinds.d.ts +30 -2
  125. package/dist/failure-kinds.d.ts.map +1 -1
  126. package/dist/failure-kinds.js +9 -0
  127. package/dist/failure-kinds.js.map +1 -1
  128. package/dist/index.d.ts +3 -1
  129. package/dist/index.d.ts.map +1 -1
  130. package/dist/index.js +2 -0
  131. package/dist/index.js.map +1 -1
  132. package/dist/journal-client.d.ts +4 -1
  133. package/dist/journal-client.d.ts.map +1 -1
  134. package/dist/journal-client.js +11 -2
  135. package/dist/journal-client.js.map +1 -1
  136. package/dist/journal-reader.d.ts +1 -1
  137. package/dist/journal-reader.d.ts.map +1 -1
  138. package/dist/journal-reader.js +3 -1
  139. package/dist/journal-reader.js.map +1 -1
  140. package/dist/llm-worker.d.ts.map +1 -1
  141. package/dist/llm-worker.js +12 -1
  142. package/dist/llm-worker.js.map +1 -1
  143. package/dist/permissions-preflight.d.ts +22 -0
  144. package/dist/permissions-preflight.d.ts.map +1 -0
  145. package/dist/permissions-preflight.js +49 -0
  146. package/dist/permissions-preflight.js.map +1 -0
  147. package/dist/preflight.d.ts +13 -2
  148. package/dist/preflight.d.ts.map +1 -1
  149. package/dist/preflight.js +29 -6
  150. package/dist/preflight.js.map +1 -1
  151. package/dist/protocol.d.ts +39 -1
  152. package/dist/protocol.d.ts.map +1 -1
  153. package/dist/pty-sidechannel.d.ts +7 -0
  154. package/dist/pty-sidechannel.d.ts.map +1 -1
  155. package/dist/pty-sidechannel.js.map +1 -1
  156. package/dist/redact.d.ts +16 -0
  157. package/dist/redact.d.ts.map +1 -0
  158. package/dist/redact.js +104 -0
  159. package/dist/redact.js.map +1 -0
  160. package/dist/run-state.d.ts +124 -0
  161. package/dist/run-state.d.ts.map +1 -0
  162. package/dist/run-state.js +368 -0
  163. package/dist/run-state.js.map +1 -0
  164. package/dist/spec.d.ts +24 -1
  165. package/dist/spec.d.ts.map +1 -1
  166. package/dist/spec.js.map +1 -1
  167. package/dist/step-env.d.ts +25 -0
  168. package/dist/step-env.d.ts.map +1 -0
  169. package/dist/step-env.js +34 -0
  170. package/dist/step-env.js.map +1 -0
  171. package/dist/transcript-tail.d.ts +54 -0
  172. package/dist/transcript-tail.d.ts.map +1 -0
  173. package/dist/transcript-tail.js +176 -0
  174. package/dist/transcript-tail.js.map +1 -0
  175. package/dist/worker-cli.d.ts +10 -0
  176. package/dist/worker-cli.d.ts.map +1 -1
  177. package/dist/worker-cli.js +138 -17
  178. package/dist/worker-cli.js.map +1 -1
  179. package/dist/worker-usage.d.ts +7 -2
  180. package/dist/worker-usage.d.ts.map +1 -1
  181. package/dist/worker-usage.js +21 -3
  182. package/dist/worker-usage.js.map +1 -1
  183. package/dist/worker.d.ts +1 -0
  184. package/dist/worker.d.ts.map +1 -1
  185. package/dist/worker.js +41 -7
  186. package/dist/worker.js.map +1 -1
  187. package/dist/wrapper-runtime.d.ts +7 -1
  188. package/dist/wrapper-runtime.d.ts.map +1 -1
  189. package/dist/wrapper-runtime.js +7 -1
  190. package/dist/wrapper-runtime.js.map +1 -1
  191. package/dist/wrapper-session.d.ts +8 -0
  192. package/dist/wrapper-session.d.ts.map +1 -1
  193. package/dist/wrapper-session.js +156 -23
  194. package/dist/wrapper-session.js.map +1 -1
  195. package/package.json +14 -2
  196. package/src/agent-artifacts.ts +27 -11
  197. package/src/agent-transcript.ts +651 -0
  198. package/src/authored-flow-error.ts +17 -0
  199. package/src/authored-flow-executor.ts +4 -1
  200. package/src/authored-node-entry.ts +5 -1
  201. package/src/authored-node-runner.ts +33 -1
  202. package/src/authored-root.ts +2 -1
  203. package/src/authored-source-authority.ts +13 -0
  204. package/src/authored-step-index.ts +157 -0
  205. package/src/authored-step-output.ts +66 -14
  206. package/src/authored-worker-step.ts +88 -15
  207. package/src/cli/check.ts +69 -11
  208. package/src/cli/cloud-read.ts +518 -0
  209. package/src/cli/run.ts +43 -24
  210. package/src/cli/status.ts +349 -0
  211. package/src/cli/step-failure.ts +100 -10
  212. package/src/cli-commands.ts +33 -0
  213. package/src/cli.ts +27 -0
  214. package/src/cloud-http.ts +32 -6
  215. package/src/cloud-read.ts +515 -0
  216. package/src/cloud-transcript.ts +422 -0
  217. package/src/communication/environment.ts +33 -0
  218. package/src/communication/history.ts +38 -0
  219. package/src/communication/local.ts +41 -0
  220. package/src/communication/preflight.ts +34 -0
  221. package/src/communication/projection.ts +23 -0
  222. package/src/communication/relay.ts +102 -0
  223. package/src/communication/session.ts +84 -0
  224. package/src/communication/spec.ts +106 -0
  225. package/src/communication/tool.ts +22 -0
  226. package/src/communication/tools.ts +50 -0
  227. package/src/communication/worker.ts +95 -0
  228. package/src/compile.ts +4 -1
  229. package/src/failure-kinds.ts +31 -1
  230. package/src/index.ts +10 -1
  231. package/src/journal-client.ts +12 -2
  232. package/src/journal-reader.ts +4 -2
  233. package/src/llm-worker.ts +12 -1
  234. package/src/permissions-preflight.ts +53 -0
  235. package/src/preflight.ts +42 -7
  236. package/src/protocol.ts +15 -0
  237. package/src/pty-sidechannel.ts +7 -0
  238. package/src/redact.ts +106 -0
  239. package/src/run-state.ts +468 -0
  240. package/src/spec.ts +18 -1
  241. package/src/step-env.ts +47 -0
  242. package/src/transcript-tail.ts +193 -0
  243. package/src/worker-cli.ts +139 -18
  244. package/src/worker-usage.ts +26 -3
  245. package/src/worker.ts +42 -6
  246. package/src/wrapper-runtime.ts +7 -1
  247. package/src/wrapper-session.ts +159 -24
@@ -0,0 +1,82 @@
1
+ import type { JournalClient } from './journal-client.js';
2
+ /**
3
+ * The root run's durable index of the child runs an authored body opened.
4
+ *
5
+ * An authored flow is not one kernel run: every `f.run`, `f.agent`, `f.llm`
6
+ * and lowered gate is its own single-step child run with its own
7
+ * `<dataDir>/runs/<runId>.sqlite3`. The only thing that ties a child back to
8
+ * the root id a caller (or Cloud) knows is an index — and until now that index
9
+ * existed only in the root's SUCCESS completion output
10
+ * (`authored-root.ts` `driveRoot`). A failed body took
11
+ * `terminalizeRootFailure`, which journals `{ error }` and nothing else, so a
12
+ * failed run named no child at all. A failed run is exactly when its children
13
+ * are worth reading.
14
+ *
15
+ * The completion output could not be made to carry it either: the root is
16
+ * lowered as `type: 'agent'`, and the kernel nulls a failed agent's `output`
17
+ * (`preserve_failure_output`, relayflowd-core/src/machine.rs), preserving only
18
+ * a 2,000-character render in `verification.detail`. So the index is written
19
+ * where a failure cannot erase it — appended to a stream on the ROOT run as
20
+ * each child is opened, using the same `journal.streamAppend` durability the
21
+ * executor already relies on for predicate verdicts.
22
+ *
23
+ * Each record is bounded on its own rather than the index being truncated as
24
+ * one blob: a hundredth child must not push the first one out of the record.
25
+ */
26
+ export declare const AUTHORED_STEP_STREAM = "authored-steps";
27
+ /** Versioned so a reader can tell this record from a future one. */
28
+ declare const RECORD_KIND = "relayflows.authored-step.v1";
29
+ /**
30
+ * `admitted` and `completed` are kept distinct on purpose. `admitted` says
31
+ * only "this child run exists and here is where to read it" — it never
32
+ * carries a `completionReason`, because manufacturing one for an attempt
33
+ * that has not completed would turn an unfinished child into a false fact.
34
+ * `completed` is written only from a terminal `step.completed` the journal
35
+ * actually holds.
36
+ */
37
+ export interface AuthoredStepRecord {
38
+ readonly index: typeof RECORD_KIND;
39
+ readonly step: string;
40
+ readonly runId: string;
41
+ readonly state: 'admitted' | 'completed';
42
+ /** Present only on `completed`. */
43
+ readonly completionReason?: string;
44
+ /**
45
+ * The kernel step the completion came from, when it is not the authored
46
+ * operation's own id. A child spec has two steps once a named gate is
47
+ * lowered, so the terminal failure can be `<step>.verify` rather than
48
+ * `<step>` — saying which is the difference between an index and a guess.
49
+ */
50
+ readonly kernelStep?: string;
51
+ }
52
+ /**
53
+ * Append one record, or do nothing when there is no root to append to.
54
+ *
55
+ * The undefined-root case is the non-durable executor seam (`executeAuthoredFlow`
56
+ * called without `rootRunId`), which has no root run and therefore nothing to
57
+ * index. It is not a silent fallback: there is no durable place for the record
58
+ * to go, and the caller already knows it opted out of one.
59
+ *
60
+ * Append failures propagate (AGENTS.md rule 4). Callers on a path that is
61
+ * already failing must surface the persistence error ALONGSIDE the original
62
+ * failure rather than letting it replace it — see `alsoRecord`.
63
+ */
64
+ export declare function recordAuthoredChild(journal: JournalClient, rootRunId: string | undefined, record: Omit<AuthoredStepRecord, 'index'>): Promise<void>;
65
+ /**
66
+ * Record a child on a path that is already throwing, keeping both facts.
67
+ *
68
+ * A failed append must not be relabelled as successful collection, and it must
69
+ * not replace the failure the caller is about to report. It returns the note
70
+ * to append to that failure's message instead.
71
+ */
72
+ export declare function alsoRecord(journal: JournalClient, rootRunId: string | undefined, record: Omit<AuthoredStepRecord, 'index'>): Promise<string>;
73
+ /**
74
+ * Fold the root's stream back into one record per authored step.
75
+ *
76
+ * A `completed` record supersedes the `admitted` one for the same step; first
77
+ * admission order is preserved so the index reads in the order the body ran.
78
+ * Records this version does not recognise are skipped rather than trusted.
79
+ */
80
+ export declare function readAuthoredStepIndex(journal: JournalClient, rootRunId: string): Promise<AuthoredStepRecord[]>;
81
+ export {};
82
+ //# sourceMappingURL=authored-step-index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"authored-step-index.d.ts","sourceRoot":"","sources":["../src/authored-step-index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEzD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,eAAO,MAAM,oBAAoB,mBAAmB,CAAC;AAErD,oEAAoE;AACpE,QAAA,MAAM,WAAW,gCAAgC,CAAC;AAQlD;;;;;;;GAOG;AACH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,KAAK,EAAE,OAAO,WAAW,CAAC;IACnC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,UAAU,GAAG,WAAW,CAAC;IACzC,mCAAmC;IACnC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC;;;;;OAKG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,aAAa,EACtB,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,MAAM,EAAE,IAAI,CAAC,kBAAkB,EAAE,OAAO,CAAC,GACxC,OAAO,CAAC,IAAI,CAAC,CAWf;AAED;;;;;;GAMG;AACH,wBAAsB,UAAU,CAC9B,OAAO,EAAE,aAAa,EACtB,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,MAAM,EAAE,IAAI,CAAC,kBAAkB,EAAE,OAAO,CAAC,GACxC,OAAO,CAAC,MAAM,CAAC,CAOjB;AAED;;;;;;GAMG;AACH,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,aAAa,EACtB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAqB/B"}
@@ -0,0 +1,120 @@
1
+ /**
2
+ * The root run's durable index of the child runs an authored body opened.
3
+ *
4
+ * An authored flow is not one kernel run: every `f.run`, `f.agent`, `f.llm`
5
+ * and lowered gate is its own single-step child run with its own
6
+ * `<dataDir>/runs/<runId>.sqlite3`. The only thing that ties a child back to
7
+ * the root id a caller (or Cloud) knows is an index — and until now that index
8
+ * existed only in the root's SUCCESS completion output
9
+ * (`authored-root.ts` `driveRoot`). A failed body took
10
+ * `terminalizeRootFailure`, which journals `{ error }` and nothing else, so a
11
+ * failed run named no child at all. A failed run is exactly when its children
12
+ * are worth reading.
13
+ *
14
+ * The completion output could not be made to carry it either: the root is
15
+ * lowered as `type: 'agent'`, and the kernel nulls a failed agent's `output`
16
+ * (`preserve_failure_output`, relayflowd-core/src/machine.rs), preserving only
17
+ * a 2,000-character render in `verification.detail`. So the index is written
18
+ * where a failure cannot erase it — appended to a stream on the ROOT run as
19
+ * each child is opened, using the same `journal.streamAppend` durability the
20
+ * executor already relies on for predicate verdicts.
21
+ *
22
+ * Each record is bounded on its own rather than the index being truncated as
23
+ * one blob: a hundredth child must not push the first one out of the record.
24
+ */
25
+ export const AUTHORED_STEP_STREAM = 'authored-steps';
26
+ /** Versioned so a reader can tell this record from a future one. */
27
+ const RECORD_KIND = 'relayflows.authored-step.v1';
28
+ /**
29
+ * Per-field cap. Step ids and run ids are short by construction; the cap
30
+ * exists so a hostile or buggy id cannot make one record unbounded.
31
+ */
32
+ const FIELD_CHARS = 256;
33
+ /**
34
+ * Append one record, or do nothing when there is no root to append to.
35
+ *
36
+ * The undefined-root case is the non-durable executor seam (`executeAuthoredFlow`
37
+ * called without `rootRunId`), which has no root run and therefore nothing to
38
+ * index. It is not a silent fallback: there is no durable place for the record
39
+ * to go, and the caller already knows it opted out of one.
40
+ *
41
+ * Append failures propagate (AGENTS.md rule 4). Callers on a path that is
42
+ * already failing must surface the persistence error ALONGSIDE the original
43
+ * failure rather than letting it replace it — see `alsoRecord`.
44
+ */
45
+ export async function recordAuthoredChild(journal, rootRunId, record) {
46
+ if (rootRunId === undefined)
47
+ return;
48
+ await journal.streamAppend(rootRunId, AUTHORED_STEP_STREAM, {
49
+ index: RECORD_KIND,
50
+ step: bound(record.step),
51
+ runId: bound(record.runId),
52
+ state: record.state,
53
+ ...(record.completionReason === undefined ? {} : { completionReason: bound(record.completionReason) }),
54
+ ...(record.kernelStep === undefined || record.kernelStep === record.step
55
+ ? {} : { kernelStep: bound(record.kernelStep) }),
56
+ });
57
+ }
58
+ /**
59
+ * Record a child on a path that is already throwing, keeping both facts.
60
+ *
61
+ * A failed append must not be relabelled as successful collection, and it must
62
+ * not replace the failure the caller is about to report. It returns the note
63
+ * to append to that failure's message instead.
64
+ */
65
+ export async function alsoRecord(journal, rootRunId, record) {
66
+ try {
67
+ await recordAuthoredChild(journal, rootRunId, record);
68
+ return '';
69
+ }
70
+ catch (error) {
71
+ return `\nCould not persist the step index: ${error instanceof Error ? error.message : String(error)}`;
72
+ }
73
+ }
74
+ /**
75
+ * Fold the root's stream back into one record per authored step.
76
+ *
77
+ * A `completed` record supersedes the `admitted` one for the same step; first
78
+ * admission order is preserved so the index reads in the order the body ran.
79
+ * Records this version does not recognise are skipped rather than trusted.
80
+ */
81
+ export async function readAuthoredStepIndex(journal, rootRunId) {
82
+ const index = new Map();
83
+ let offset = 0;
84
+ for (;;) {
85
+ const page = await journal.streamRead(rootRunId, AUTHORED_STEP_STREAM, offset, 1000);
86
+ for (const message of page.messages) {
87
+ // `stream.read` returns either the envelope or the bare message,
88
+ // matching how the executor reads predicate verdicts.
89
+ const raw = message.message ?? message;
90
+ if (!isAuthoredStepRecord(raw))
91
+ continue;
92
+ const previous = index.get(raw.step);
93
+ // An `admitted` record arriving after a `completed` one (a resumed body
94
+ // re-admitting the same child under its stable admission key) must not
95
+ // un-complete it.
96
+ if (previous?.state === 'completed' && raw.state === 'admitted')
97
+ continue;
98
+ index.set(raw.step, raw);
99
+ }
100
+ if (page.messages.length === 0 || page.next_offset <= offset)
101
+ break;
102
+ offset = page.next_offset;
103
+ }
104
+ return [...index.values()];
105
+ }
106
+ function isAuthoredStepRecord(value) {
107
+ if (typeof value !== 'object' || value === null || Array.isArray(value))
108
+ return false;
109
+ const record = value;
110
+ return record.index === RECORD_KIND
111
+ && typeof record.step === 'string' && record.step.length > 0
112
+ && typeof record.runId === 'string' && record.runId.length > 0
113
+ && (record.state === 'admitted' || record.state === 'completed')
114
+ && (record.completionReason === undefined || typeof record.completionReason === 'string')
115
+ && (record.kernelStep === undefined || typeof record.kernelStep === 'string');
116
+ }
117
+ function bound(value) {
118
+ return value.length <= FIELD_CHARS ? value : `${value.slice(0, FIELD_CHARS)}…`;
119
+ }
120
+ //# sourceMappingURL=authored-step-index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"authored-step-index.js","sourceRoot":"","sources":["../src/authored-step-index.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,17 @@ import { type FlowCompletionReason } from '@relayflows/surface';
2
2
  import type { JournalClient } from './journal-client.js';
3
3
  import type { CompletionReason as ProtocolCompletionReason, RunCompletionReason as ProtocolRunCompletionReason, RunOutcome } from './protocol.js';
4
4
  import type { AuthoredFlowJournalStep } from './authored-flow-executor.js';
5
+ /**
6
+ * What an authored operation needs in order to leave readable evidence:
7
+ * the root run its child index belongs to, and the data dir whose journals
8
+ * a reader would open. Both optional — the non-durable executor seam has no
9
+ * root, and a caller that did not name a data dir still gets the `flows
10
+ * replay <run-id>` hint, just without the on-disk path.
11
+ */
12
+ export interface AuthoredStepContext {
13
+ readonly rootRunId?: string;
14
+ readonly dataDir?: string;
15
+ }
5
16
  /**
6
17
  * Shared by every `f.*` verb that lowers to one kernel step run in isolation:
7
18
  * find its `step.completed` entry, record it, and refuse anything but a
@@ -16,9 +27,19 @@ import type { AuthoredFlowJournalStep } from './authored-flow-executor.js';
16
27
  * terminal state. Given that, a single read from the start of this run's
17
28
  * (small, single-step) journal is enough — no polling here, and no run
18
29
  * outcome ever needs re-checking.
30
+ *
31
+ * A non-success completion used to throw `journal step "run-1" completed with
32
+ * retries_exhausted` and stop there, discarding the evidence it was holding:
33
+ * the kernel PRESERVES a failed deterministic step's `output`
34
+ * (`preserve_failure_output`, relayflowd-core/src/machine.rs), so
35
+ * `{exit_code, stdout_tail, stderr_tail}` — the answer to "which command
36
+ * failed and what did it print" — was in hand and dropped. Four different
37
+ * causes produced that one identical line. It now reads the same extractor
38
+ * `f.agent`/`f.llm` already reach through `classifyOutcome`, so both step
39
+ * families report one grammar instead of two divergent ones.
19
40
  */
20
- export declare function readCompletedStepOutput(journal: JournalClient, runId: string, stepId: string, journalSteps: AuthoredFlowJournalStep[]): Promise<unknown>;
21
- export declare function readSuccessfulOutput(journal: JournalClient, outcome: RunOutcome, stepId: string, journalSteps: AuthoredFlowJournalStep[]): Promise<string>;
41
+ export declare function readCompletedStepOutput(journal: JournalClient, runId: string, stepId: string, journalSteps: AuthoredFlowJournalStep[], context?: AuthoredStepContext): Promise<unknown>;
42
+ export declare function readSuccessfulOutput(journal: JournalClient, outcome: RunOutcome, stepId: string, journalSteps: AuthoredFlowJournalStep[], context?: AuthoredStepContext): Promise<string>;
22
43
  export declare function isSurfaceCompletionReason(value: unknown): value is ProtocolCompletionReason;
23
44
  export declare function isSurfaceRunCompletionReason(value: unknown): value is ProtocolRunCompletionReason;
24
45
  export declare function isSurfaceFlowCompletionReason(value: unknown): value is FlowCompletionReason;
@@ -1 +1 @@
1
- {"version":3,"file":"authored-step-output.d.ts","sourceRoot":"","sources":["../src/authored-step-output.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuE,KAAK,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAErI,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,KAAK,EAAE,gBAAgB,IAAI,wBAAwB,EAAE,mBAAmB,IAAI,2BAA2B,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAClJ,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAE3E;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,uBAAuB,CAC3C,OAAO,EAAE,aAAa,EACtB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,uBAAuB,EAAE,GACtC,OAAO,CAAC,OAAO,CAAC,CAkBlB;AAED,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,aAAa,EACtB,OAAO,EAAE,UAAU,EACnB,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,uBAAuB,EAAE,GACtC,OAAO,CAAC,MAAM,CAAC,CAajB;AAqBD,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,wBAAwB,CAG3F;AAED,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,2BAA2B,CAGjG;AAED,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,oBAAoB,CAG3F"}
1
+ {"version":3,"file":"authored-step-output.d.ts","sourceRoot":"","sources":["../src/authored-step-output.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuE,KAAK,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAErI,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,KAAK,EAAE,gBAAgB,IAAI,wBAAwB,EAAE,mBAAmB,IAAI,2BAA2B,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAClJ,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAK3E;;;;;;GAMG;AACH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAsB,uBAAuB,CAC3C,OAAO,EAAE,aAAa,EACtB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,uBAAuB,EAAE,EACvC,OAAO,GAAE,mBAAwB,GAChC,OAAO,CAAC,OAAO,CAAC,CAkClB;AAED,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,aAAa,EACtB,OAAO,EAAE,UAAU,EACnB,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,uBAAuB,EAAE,EACvC,OAAO,GAAE,mBAAwB,GAChC,OAAO,CAAC,MAAM,CAAC,CAkBjB;AAqBD,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,wBAAwB,CAG3F;AAED,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,2BAA2B,CAGjG;AAED,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,oBAAoB,CAG3F"}
@@ -1,5 +1,7 @@
1
1
  import { COMPLETION_REASONS, RUN_COMPLETION_REASONS, FLOW_COMPLETION_REASONS } from '@relayflows/surface';
2
2
  import { AuthoredFlowExecutionError } from './authored-flow-error.js';
3
+ import { inspectionHint, renderInspection, renderStepEvidence, stepFailureDetails } from './cli/step-failure.js';
4
+ import { alsoRecord, recordAuthoredChild } from './authored-step-index.js';
3
5
  /**
4
6
  * Shared by every `f.*` verb that lowers to one kernel step run in isolation:
5
7
  * find its `step.completed` entry, record it, and refuse anything but a
@@ -14,8 +16,18 @@ import { AuthoredFlowExecutionError } from './authored-flow-error.js';
14
16
  * terminal state. Given that, a single read from the start of this run's
15
17
  * (small, single-step) journal is enough — no polling here, and no run
16
18
  * outcome ever needs re-checking.
19
+ *
20
+ * A non-success completion used to throw `journal step "run-1" completed with
21
+ * retries_exhausted` and stop there, discarding the evidence it was holding:
22
+ * the kernel PRESERVES a failed deterministic step's `output`
23
+ * (`preserve_failure_output`, relayflowd-core/src/machine.rs), so
24
+ * `{exit_code, stdout_tail, stderr_tail}` — the answer to "which command
25
+ * failed and what did it print" — was in hand and dropped. Four different
26
+ * causes produced that one identical line. It now reads the same extractor
27
+ * `f.agent`/`f.llm` already reach through `classifyOutcome`, so both step
28
+ * families report one grammar instead of two divergent ones.
17
29
  */
18
- export async function readCompletedStepOutput(journal, runId, stepId, journalSteps) {
30
+ export async function readCompletedStepOutput(journal, runId, stepId, journalSteps, context = {}) {
19
31
  const entries = (await journal.journalRead(runId, 1)).entries;
20
32
  const completed = entries.find((entry) => isStepCompleted(entry, stepId));
21
33
  if (!isStepCompleted(completed, stepId)) {
@@ -24,15 +36,42 @@ export async function readCompletedStepOutput(journal, runId, stepId, journalSte
24
36
  const reason = completed.payload.completionReason;
25
37
  journalSteps.push(Object.freeze({ id: stepId, runId, completionReason: reason }));
26
38
  if (reason !== 'success') {
27
- throw new AuthoredFlowExecutionError('step_failed', `journal step "${stepId}" completed with ${reason}`, reason, runId);
39
+ let message = `journal step "${stepId}" completed with ${reason}`;
40
+ let details;
41
+ try {
42
+ details = await stepFailureDetails(journal, runId);
43
+ }
44
+ catch (error) {
45
+ // Inspection must not erase the already known step failure; the two
46
+ // failures stay separately visible, as in classifyOutcome.
47
+ message += ` Could not inspect the failed step: ${errorMessage(error)}`;
48
+ }
49
+ if (details !== undefined)
50
+ message += renderStepEvidence(details);
51
+ // Appended whatever inspection found — including nothing. A failure shape
52
+ // this reader does not recognise must still end with somewhere to go.
53
+ const where = inspectionHint(runId, details?.stepId ?? stepId, context.dataDir);
54
+ message += renderInspection(where);
55
+ message += await alsoRecord(journal, context.rootRunId, {
56
+ step: stepId, runId, state: 'completed', completionReason: reason,
57
+ ...(details?.stepId === undefined ? {} : { kernelStep: details.stepId }),
58
+ });
59
+ throw new AuthoredFlowExecutionError('step_failed', message, reason, runId, { ...details, ...where });
28
60
  }
61
+ await recordAuthoredChild(journal, context.rootRunId, {
62
+ step: stepId, runId, state: 'completed', completionReason: reason,
63
+ });
29
64
  return completed.payload.output;
30
65
  }
31
- export async function readSuccessfulOutput(journal, outcome, stepId, journalSteps) {
32
- const output = await readCompletedStepOutput(journal, outcome.run_id, stepId, journalSteps).catch(error => {
66
+ export async function readSuccessfulOutput(journal, outcome, stepId, journalSteps, context = {}) {
67
+ const output = await readCompletedStepOutput(journal, outcome.run_id, stepId, journalSteps, context)
68
+ .catch(error => {
33
69
  if (error instanceof AuthoredFlowExecutionError
34
70
  && (error.completionReason === 'timeout' || error.completionReason === 'lease_expired')) {
35
- throw new AuthoredFlowExecutionError('lease_exceeded', `f.run step "${stepId}" exceeded its command timeout.`, error.completionReason, error.runId);
71
+ // A timeout is still a failed command, and the evidence extracted for
72
+ // it is the same evidence. Re-labelling the error must not delete it.
73
+ throw new AuthoredFlowExecutionError('lease_exceeded', `f.run step "${stepId}" exceeded its command timeout.`
74
+ + ` ${error.message.slice(`${error.code}: `.length)}`, error.completionReason, error.runId, error.details);
36
75
  }
37
76
  throw error;
38
77
  });
@@ -65,6 +104,9 @@ export function isSurfaceFlowCompletionReason(value) {
65
104
  function isRecord(value) {
66
105
  return typeof value === 'object' && value !== null && !Array.isArray(value);
67
106
  }
107
+ function errorMessage(error) {
108
+ return error instanceof Error ? error.message : String(error);
109
+ }
68
110
  function protocolViolation(runId, detail) {
69
111
  return new AuthoredFlowExecutionError('journal_protocol_violation', detail, undefined, runId);
70
112
  }
@@ -1 +1 @@
1
- {"version":3,"file":"authored-step-output.js","sourceRoot":"","sources":["../src/authored-step-output.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"authored-step-output.js","sourceRoot":"","sources":["../src/authored-step-output.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ import type { AuthoredBudget } from './authored-budget.js';
2
2
  import type { AgentOptions, AgentResult, LlmOptions, NamedGate } from '@relayflows/surface';
3
3
  import { type RunLifecycleOptions } from './cli/run.js';
4
4
  import type { JournalClient } from './journal-client.js';
5
+ import { type AuthoredStepContext } from './authored-step-output.js';
5
6
  import type { AuthoredFlowJournalStep } from './authored-flow-executor.js';
6
7
  /** Agent and LLM calls share the exact declarative preflight and lease wait. */
7
8
  export declare function authoredWorkerRunner(definition: {
@@ -10,6 +11,13 @@ export declare function authoredWorkerRunner(definition: {
10
11
  agent(id: string, options: AgentOptions, verification?: NamedGate): Promise<AgentResult>;
11
12
  llm(id: string, prompt: string, options?: LlmOptions, verification?: NamedGate): Promise<unknown>;
12
13
  };
13
- /** Deterministic commands execute inline under their per-invocation lease. */
14
- export declare function authoredDeterministicRunner(name: string, journal: JournalClient, journalSteps: AuthoredFlowJournalStep[], budget: AuthoredBudget, rootRunId?: string): (id: string, command: string, terminal?: boolean, leaseMs?: number, verification?: NamedGate) => Promise<string>;
14
+ /**
15
+ * Deterministic commands execute inline under their per-invocation lease.
16
+ *
17
+ * `context` carries the root run (so each child is indexed on it) and the
18
+ * data dir (so a failure can name the journal on disk). It is the same object
19
+ * the worker runner builds; a failed `f.run` and a failed `f.agent` now report
20
+ * through one grammar.
21
+ */
22
+ export declare function authoredDeterministicRunner(name: string, journal: JournalClient, journalSteps: AuthoredFlowJournalStep[], budget: AuthoredBudget, context?: AuthoredStepContext): (id: string, command: string, terminal?: boolean, leaseMs?: number, verification?: NamedGate) => Promise<string>;
15
23
  //# sourceMappingURL=authored-worker-step.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"authored-worker-step.d.ts","sourceRoot":"","sources":["../src/authored-worker-step.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE3D,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAG5F,OAAO,EAAmB,KAAK,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAGzE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAGzD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAM3E,gFAAgF;AAChF,wBAAgB,oBAAoB,CAClC,UAAU,EAAE;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,EAAE,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,EACtE,YAAY,EAAE,uBAAuB,EAAE,EAAE,WAAW,EAAE,mBAAmB,EACzE,gBAAgB,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,cAAc,EAAE,YAAY,CAAC,EAAE,OAAO,EAC1E,SAAS,CAAC,EAAE,MAAM;cAoEA,MAAM,WAAW,YAAY,iBAAiB,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC;YAgEhF,MAAM,UAAU,MAAM,YAAY,UAAU,iBAAiB,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC;EAmB1G;AAED,8EAA8E;AAC9E,wBAAgB,2BAA2B,CACzC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,uBAAuB,EAAE,EAAE,MAAM,EAAE,cAAc,EACrG,SAAS,CAAC,EAAE,MAAM,IAEJ,IAAI,MAAM,EAAE,SAAS,MAAM,EAAE,kBAAgB,EAAE,UAAU,MAAM,EAAE,eAAe,SAAS,KAAG,OAAO,CAAC,MAAM,CAAC,CAkB1H"}
1
+ {"version":3,"file":"authored-worker-step.d.ts","sourceRoot":"","sources":["../src/authored-worker-step.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE3D,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAG5F,OAAO,EAAmB,KAAK,mBAAmB,EAAkB,MAAM,cAAc,CAAC;AAGzF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEzD,OAAO,EAA4E,KAAK,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAC/I,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAQ3E,gFAAgF;AAChF,wBAAgB,oBAAoB,CAClC,UAAU,EAAE;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,EAAE,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,EACtE,YAAY,EAAE,uBAAuB,EAAE,EAAE,WAAW,EAAE,mBAAmB,EACzE,gBAAgB,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,cAAc,EAAE,YAAY,CAAC,EAAE,OAAO,EAC1E,SAAS,CAAC,EAAE,MAAM;cAiGA,MAAM,WAAW,YAAY,iBAAiB,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC;YAgEhF,MAAM,UAAU,MAAM,YAAY,UAAU,iBAAiB,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC;EAmB1G;AAED;;;;;;;GAOG;AACH,wBAAgB,2BAA2B,CACzC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,uBAAuB,EAAE,EAAE,MAAM,EAAE,cAAc,EACrG,OAAO,GAAE,mBAAwB,IAGnB,IAAI,MAAM,EAAE,SAAS,MAAM,EAAE,kBAAgB,EAAE,UAAU,MAAM,EAAE,eAAe,SAAS,KAAG,OAAO,CAAC,MAAM,CAAC,CAkB1H"}
@@ -7,9 +7,14 @@ import { SPEC_SCHEMA_VERSION } from './spec.js';
7
7
  import { isSurfaceCompletionReason, readCompletedStepOutput, readSuccessfulOutput } from './authored-step-output.js';
8
8
  import { snapshotJsonValue } from './json-value.js';
9
9
  import { authoredChildAdmissionKey } from './authored-admission.js';
10
+ import { alsoRecord, recordAuthoredChild } from './authored-step-index.js';
10
11
  const WORKSPACE_PERMISSION_ANNOTATION = /:\s*(readonly|readwrite)\s*$/i;
11
12
  /** Agent and LLM calls share the exact declarative preflight and lease wait. */
12
13
  export function authoredWorkerRunner(definition, journal, flowPath, journalSteps, waitOptions, localAgentStream, budget, headerBudget, rootRunId) {
14
+ const context = {
15
+ ...(rootRunId === undefined ? {} : { rootRunId }),
16
+ ...(waitOptions.dataDir === undefined ? {} : { dataDir: waitOptions.dataDir }),
17
+ };
13
18
  async function run(step) {
14
19
  const id = step.id;
15
20
  const authoring = { version: SPEC_SCHEMA_VERSION, name: `${definition.name}/${id}`, steps: [step], ...(headerBudget === undefined ? {} : { budget: parseBudget(headerBudget) }) };
@@ -28,6 +33,10 @@ export function authoredWorkerRunner(definition, journal, flowPath, journalSteps
28
33
  }
29
34
  const spec = toKernelSpec(resolved);
30
35
  const consume = async (outcome) => {
36
+ // Written BEFORE the wait, not after it. An agent runs for as long as its
37
+ // lease allows; if this process dies mid-step, this record is the only
38
+ // thing that still names the child run holding the evidence.
39
+ await recordAuthoredChild(journal, rootRunId, { step: id, runId: outcome.run_id, state: 'admitted' });
31
40
  // Reuse the declarative CLI's own wait/classification (cli/run.ts) rather
32
41
  // than a hand-rolled poll: `step.completed` and the run's own terminal
33
42
  // state are appended as two SEPARATE actions (kernel/relayflowd-core/src/machine.rs
@@ -46,12 +55,33 @@ export function authoredWorkerRunner(definition, journal, flowPath, journalSteps
46
55
  + ': no worker is attached to run it.', undefined, outcome.run_id);
47
56
  }
48
57
  if (execution.exitCode !== 0) {
58
+ // `execution.report.completionReason` is the RUN's reason (normally
59
+ // `step_failed`), not the step's. The step's terminal facts are the
60
+ // ones `classifyOutcome` already extracted with `stepFailureDetails`
61
+ // and assigned onto this diagnostic — read them from there rather than
62
+ // re-walking the journal or mislabelling the run reason as a step one.
63
+ const diagnostic = execution.report.diagnostics.at(-1);
64
+ const details = stepDetails(diagnostic);
49
65
  const reason = execution.report.completionReason;
50
- throw new AuthoredFlowExecutionError('step_failed', execution.report.diagnostics.at(-1)?.message
66
+ let message = diagnostic?.message
51
67
  ?? `flow "${definition.name}" step "${id}" did not complete successfully `
52
- + `(status: ${execution.report.status ?? 'unknown'})`, isSurfaceCompletionReason(reason) ? reason : undefined, outcome.run_id);
68
+ + `(status: ${execution.report.status ?? 'unknown'})`;
69
+ // Only a reason the journal actually recorded for a step is indexed;
70
+ // an unfinished or unreadable child is left as `admitted`, never given
71
+ // a manufactured completion.
72
+ if (isSurfaceCompletionReason(details?.completionReason)) {
73
+ journalSteps.push(Object.freeze({
74
+ id, runId: outcome.run_id, completionReason: details.completionReason,
75
+ }));
76
+ message += await alsoRecord(journal, rootRunId, {
77
+ step: id, runId: outcome.run_id, state: 'completed',
78
+ completionReason: details.completionReason,
79
+ ...(details.stepId === undefined ? {} : { kernelStep: details.stepId }),
80
+ });
81
+ }
82
+ throw new AuthoredFlowExecutionError('step_failed', message, isSurfaceCompletionReason(reason) ? reason : undefined, outcome.run_id, details);
53
83
  }
54
- return readCompletedStepOutput(journal, outcome.run_id, id, journalSteps);
84
+ return readCompletedStepOutput(journal, outcome.run_id, id, journalSteps, context);
55
85
  };
56
86
  const admissionKey = authoredChildAdmissionKey(rootRunId, id);
57
87
  return budget === undefined
@@ -127,8 +157,16 @@ export function authoredWorkerRunner(definition, journal, flowPath, journalSteps
127
157
  },
128
158
  };
129
159
  }
130
- /** Deterministic commands execute inline under their per-invocation lease. */
131
- export function authoredDeterministicRunner(name, journal, journalSteps, budget, rootRunId) {
160
+ /**
161
+ * Deterministic commands execute inline under their per-invocation lease.
162
+ *
163
+ * `context` carries the root run (so each child is indexed on it) and the
164
+ * data dir (so a failure can name the journal on disk). It is the same object
165
+ * the worker runner builds; a failed `f.run` and a failed `f.agent` now report
166
+ * through one grammar.
167
+ */
168
+ export function authoredDeterministicRunner(name, journal, journalSteps, budget, context = {}) {
169
+ const rootRunId = context.rootRunId;
132
170
  return async (id, command, terminal = false, leaseMs, verification) => {
133
171
  const spec = toKernelSpec(compileSpec({
134
172
  version: SPEC_SCHEMA_VERSION,
@@ -140,9 +178,45 @@ export function authoredDeterministicRunner(name, journal, journalSteps, budget,
140
178
  }],
141
179
  }));
142
180
  const admissionKey = authoredChildAdmissionKey(rootRunId, id);
181
+ const consume = async (outcome) => {
182
+ await recordAuthoredChild(journal, rootRunId, { step: id, runId: outcome.run_id, state: 'admitted' });
183
+ return readSuccessfulOutput(journal, outcome, id, journalSteps, context);
184
+ };
143
185
  if (terminal)
144
- return readSuccessfulOutput(journal, await journal.runStart(spec, undefined, admissionKey), id, journalSteps);
145
- return budget.execute(journal, spec, outcome => readSuccessfulOutput(journal, outcome, id, journalSteps), admissionKey);
186
+ return consume(await journal.runStart(spec, undefined, admissionKey));
187
+ return budget.execute(journal, spec, consume, admissionKey);
188
+ };
189
+ }
190
+ /**
191
+ * Lift the step-shaped fields off a run diagnostic.
192
+ *
193
+ * `RunDiagnostic extends StepFailedDetails`, so `classifyOutcome`'s
194
+ * `Object.assign(diagnostic, details)` leaves the extraction right there. The
195
+ * fields are picked explicitly rather than spread, so `severity`, `kind` and
196
+ * `message` — which describe the RUN, not the step — cannot leak into
197
+ * something typed as the step's evidence.
198
+ */
199
+ function stepDetails(diagnostic) {
200
+ if (diagnostic === undefined)
201
+ return undefined;
202
+ // `RunDiagnostic` is the only member of this union that extends
203
+ // `StepFailedDetails`; the check-report shapes carry none of these fields,
204
+ // so reading them as optionals yields `undefined` and contributes nothing.
205
+ const found = diagnostic;
206
+ const details = {
207
+ ...(found.stepId === undefined ? {} : { stepId: found.stepId }),
208
+ ...(found.stepType === undefined ? {} : { stepType: found.stepType }),
209
+ ...(found.completionReason === undefined ? {} : { completionReason: found.completionReason }),
210
+ ...(found.attempt === undefined ? {} : { attempt: found.attempt }),
211
+ ...(found.maxIterations === undefined ? {} : { maxIterations: found.maxIterations }),
212
+ ...(found.exitCode === undefined ? {} : { exitCode: found.exitCode }),
213
+ ...(found.stdoutTail === undefined ? {} : { stdoutTail: found.stdoutTail }),
214
+ ...(found.stderrTail === undefined ? {} : { stderrTail: found.stderrTail }),
215
+ ...(found.detail === undefined ? {} : { detail: found.detail }),
216
+ ...(found.transcriptPath === undefined ? {} : { transcriptPath: found.transcriptPath }),
217
+ ...(found.hint === undefined ? {} : { hint: found.hint }),
218
+ ...(found.journalPath === undefined ? {} : { journalPath: found.journalPath }),
146
219
  };
220
+ return Object.keys(details).length === 0 ? undefined : details;
147
221
  }
148
222
  //# sourceMappingURL=authored-worker-step.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"authored-worker-step.js","sourceRoot":"","sources":["../src/authored-worker-step.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,eAAe,EAA4B,MAAM,cAAc,CAAC;AAEzE,OAAO,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AAEtE,OAAO,EAAE,mBAAmB,EAAsD,MAAM,WAAW,CAAC;AACpG,OAAO,EAAE,yBAAyB,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAErH,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AAEpE,MAAM,+BAA+B,GAAG,+BAA+B,CAAC;AAExE,gFAAgF;AAChF,MAAM,UAAU,oBAAoB,CAClC,UAA4B,EAAE,OAAsB,EAAE,QAAgB,EACtE,YAAuC,EAAE,WAAgC,EACzE,gBAAyB,EAAE,MAAuB,EAAE,YAAsB,EAC1E,SAAkB;IAElB,KAAK,UAAU,GAAG,CAAC,IAAc;QAC/B,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;QACnB,MAAM,SAAS,GAAa,EAAE,OAAO,EAAE,mBAAmB,EAAE,IAAI,EAAE,GAAG,UAAU,CAAC,IAAI,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,YAAY,CAAC,EAAE,CAAC,EAAE,CAAC;QAC5L,mEAAmE;QACnE,mEAAmE;QACnE,uEAAuE;QACvE,qEAAqE;QACrE,uEAAuE;QACvE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,iBAAiB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QAC1E,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YACzC,MAAM,OAAO,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,CACrC,CAAC,UAAU,EAA+D,EAAE,CAC1E,UAAU,CAAC,QAAQ,KAAK,SAAS,CACpC,CAAC;YACF,MAAM,IAAI,0BAA0B,CAClC,OAAO,EAAE,IAAI,KAAK,uBAAuB,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI;gBACtD,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,sBAAsB,EACvE,OAAO,EAAE,OAAO;mBACX,SAAS,UAAU,CAAC,IAAI,WAAW,EAAE,qCAAqC,IAAI,CAAC,IAAI,GAAG;sBACrF,kCAAkC,QAAQ,IAAI,CACrD,CAAC;QACJ,CAAC;QACD,MAAM,IAAI,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;QACpC,MAAM,OAAO,GAAG,KAAK,EAAE,OAA2C,EAAE,EAAE;YACtE,0EAA0E;YAC1E,uEAAuE;YACvE,oFAAoF;YACpF,qEAAqE;YACrE,qEAAqE;YACrE,wEAAwE;YACxE,gEAAgE;YAChE,kEAAkE;YAClE,+DAA+D;YAC/D,MAAM,SAAS,GAAG,MAAM,eAAe,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,WAAW,CAAC,CAAC;YAC1F,IAAI,SAAS,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;gBAC7B,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC;gBAC3C,MAAM,IAAI,0BAA0B,CAClC,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,cAAc,EACnD,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO;uBACvC,SAAS,UAAU,CAAC,IAAI,WAAW,EAAE,UAAU;0BAC9C,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;0BACjD,oCAAoC,EAC1C,SAAS,EACT,OAAO,CAAC,MAAM,CACf,CAAC;YACJ,CAAC;YACD,IAAI,SAAS,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;gBAC7B,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,gBAAgB,CAAC;gBACjD,MAAM,IAAI,0BAA0B,CAClC,aAAa,EACb,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO;uBACvC,SAAS,UAAU,CAAC,IAAI,WAAW,EAAE,kCAAkC;0BACtE,YAAY,SAAS,CAAC,MAAM,CAAC,MAAM,IAAI,SAAS,GAAG,EACzD,yBAAyB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,EACtD,OAAO,CAAC,MAAM,CACf,CAAC;YACJ,CAAC;YACD,OAAO,uBAAuB,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,EAAE,EAAE,EAAE,YAAY,CAAC,CAAC;QAC1E,CAAC,CAAC;QACF,MAAM,YAAY,GAAG,yBAAyB,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QAC9D,OAAO,MAAM,KAAK,SAAS;YACzB,CAAC,CAAC,OAAO,CAAC,MAAM,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC;YAChE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;IAC3D,CAAC;IAED,OAAO;QACL,KAAK,CAAC,KAAK,CAAC,EAAU,EAAE,OAAqB,EAAE,YAAwB;YACrE,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS,IAAI,gBAAgB,KAAK,SAAS,EAAE,CAAC;gBACtE,MAAM,IAAI,0BAA0B,CAAC,kCAAkC,EACrE,qHAAqH,CAAC,CAAC;YAC3H,CAAC;YACD,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS,IAAI,+BAA+B,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC/F,MAAM,IAAI,0BAA0B,CAClC,kCAAkC,EAClC,SAAS,UAAU,CAAC,IAAI,WAAW,EAAE,iBAAiB,OAAO,CAAC,SAAS,KAAK;sBACxE,yFAAyF;sBACzF,oGAAoG;sBACpG,8GAA8G,CACnH,CAAC;YACJ,CAAC;YACD,IAAI,OAAO,CAAC,GAAG,KAAK,SAAS,IAAI,OAAO,OAAO,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;gBACjE,MAAM,IAAI,0BAA0B,CAClC,sBAAsB,EACtB,sDAAsD,OAAO,OAAO,CAAC,GAAG,IAAI,CAC7E,CAAC;YACJ,CAAC;YACD,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,IAAI,OAAO,OAAO,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;gBACrE,MAAM,IAAI,0BAA0B,CAClC,sBAAsB,EACtB,wDAAwD,OAAO,OAAO,CAAC,KAAK,IAAI,CACjF,CAAC;YACJ,CAAC;YACD,IAAI,OAAO,CAAC,GAAG,KAAK,SAAS,IAAI,OAAO,OAAO,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;gBACjE,MAAM,IAAI,0BAA0B,CAClC,sBAAsB,EACtB,sDAAsD,OAAO,OAAO,CAAC,GAAG,IAAI,CAC7E,CAAC;YACJ,CAAC;YACD,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS,IAAI,OAAO,CAAC,SAAS,KAAK,QAAQ,IAAI,OAAO,CAAC,SAAS,KAAK,OAAO,EAAE,CAAC;gBACvG,MAAM,IAAI,0BAA0B,CAClC,sBAAsB,EACtB,8DAA8D,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CACpG,CAAC;YACJ,CAAC;YACD,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;YACxC,MAAM,mBAAmB,GAAG,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS;gBAC/D,CAAC,CAAC,iBAAiB,CAAC,WAAW,EAAE,6BAA6B,CAA+B,CAAC;YAChG,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC;gBACvB,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,CAAC,IAAI;gBAC5C,GAAG,CAAC,mBAAmB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,mBAAmB,EAAE,CAAC;gBAClF,GAAG,CAAC,gBAAgB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC,EAAE,EAAE,CAAC;gBACpG,GAAG,CAAC,OAAO,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC;gBACzG,GAAG,CAAC,OAAO,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC;gBAC1D,GAAG,CAAC,OAAO,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC;gBAChE,GAAG,CAAC,OAAO,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC;gBAC1D,GAAG,CAAC,OAAO,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC;gBAC5E,GAAG,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC;aACxD,CAAC,CAAC;YACH,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC3E,MAAM,IAAI,0BAA0B,CAAC,4BAA4B,EAAE,SAAS,EAAE,gCAAgC,CAAC,CAAC;YAClH,CAAC;YACD,MAAM,MAAM,GAAG,aAAa,IAAI,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;YACxE,wEAAwE;YACxE,sEAAsE;YACtE,4DAA4D;YAC5D,MAAM,SAAS,GAAG,WAAW,IAAI,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;YACvE,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC;gBAC/F,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACxB,OAAO,EAAE,OAAO,EAAE,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC;QAC9F,CAAC;QACD,KAAK,CAAC,GAAG,CAAC,EAAU,EAAE,MAAc,EAAE,OAAoB,EAAE,YAAwB;YAClF,IAAI,OAAO,KAAK,SAAS,IAAI,CAAC,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,EAAE,CAAC;gBAC/G,MAAM,IAAI,0BAA0B,CAAC,oBAAoB,EAAE,wDAAwD,CAAC,CAAC;YACvH,CAAC;YACD,MAAM,QAAQ,GAAG,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,iBAAiB,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;YACjG,IAAI,QAAQ,KAAK,SAAS,IAAI,CAAC,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;mBACtG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBACnF,MAAM,IAAI,0BAA0B,CAAC,oBAAoB,EAAE,oDAAoD,CAAC,CAAC;YACnH,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC;gBACvB,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,QAAiC;gBAC7D,GAAG,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC;aACxD,CAAC,CAAC;YACH,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;gBACxD,MAAM,IAAI,0BAA0B,CAAC,4BAA4B,EAAE,cAAc,EAAE,gCAAgC,CAAC,CAAC;YACvH,CAAC;YACD,OAAO,MAAM,CAAC;QAChB,CAAC;KACF,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,MAAM,UAAU,2BAA2B,CACzC,IAAY,EAAE,OAAsB,EAAE,YAAuC,EAAE,MAAsB,EACrG,SAAkB;IAElB,OAAO,KAAK,EAAE,EAAU,EAAE,OAAe,EAAE,QAAQ,GAAG,KAAK,EAAE,OAAgB,EAAE,YAAwB,EAAmB,EAAE;QAC1H,MAAM,IAAI,GAAG,YAAY,CAAC,WAAW,CAAC;YACpC,OAAO,EAAE,mBAAmB;YAC5B,IAAI,EAAE,GAAG,IAAI,IAAI,EAAE,EAAE;YACrB,KAAK,EAAE,CAAC;oBACN,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO;oBAClC,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;oBACvD,GAAG,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC;iBACxD,CAAC;SACH,CAAC,CAAC,CAAC;QACJ,MAAM,YAAY,GAAG,yBAAyB,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QAC9D,IAAI,QAAQ;YAAE,OAAO,oBAAoB,CACvC,OAAO,EAAE,MAAM,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,EAAE,YAAY,CAAC,EAAE,EAAE,EAAE,YAAY,CACjF,CAAC;QACF,OAAO,MAAM,CAAC,OAAO,CACnB,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC,oBAAoB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,YAAY,CAAC,EAAE,YAAY,CACjG,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"authored-worker-step.js","sourceRoot":"","sources":["../src/authored-worker-step.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"check.d.ts","sourceRoot":"","sources":["../../src/cli/check.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"check.d.ts","sourceRoot":"","sources":["../../src/cli/check.ts"],"names":[],"mappings":"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"}