tubeless 0.1.2 → 0.1.3

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 (146) hide show
  1. package/README.md +21 -17
  2. package/dist/batch.d.ts +12 -0
  3. package/dist/batch.d.ts.map +1 -1
  4. package/dist/batch.js +20 -5
  5. package/dist/batch.js.map +1 -1
  6. package/dist/child-execution.d.ts +1 -1
  7. package/dist/child-execution.d.ts.map +1 -1
  8. package/dist/child-execution.js +154 -50
  9. package/dist/child-execution.js.map +1 -1
  10. package/dist/cli-command.d.ts +0 -23
  11. package/dist/cli-command.d.ts.map +1 -1
  12. package/dist/cli-command.js +3 -3
  13. package/dist/cli-command.js.map +1 -1
  14. package/dist/cli-pipeline-command.d.ts +2 -2
  15. package/dist/cli-pipeline-command.d.ts.map +1 -1
  16. package/dist/cli-pipeline-command.js +2 -5
  17. package/dist/cli-pipeline-command.js.map +1 -1
  18. package/dist/interactive-reporter.d.ts.map +1 -1
  19. package/dist/interactive-reporter.js +15 -0
  20. package/dist/interactive-reporter.js.map +1 -1
  21. package/dist/lifecycle.d.ts +4 -2
  22. package/dist/lifecycle.d.ts.map +1 -1
  23. package/dist/lifecycle.js +13 -0
  24. package/dist/lifecycle.js.map +1 -1
  25. package/dist/live-ticker-supervisor.d.ts +2 -0
  26. package/dist/live-ticker-supervisor.d.ts.map +1 -0
  27. package/dist/live-ticker-supervisor.js +44 -0
  28. package/dist/live-ticker-supervisor.js.map +1 -0
  29. package/dist/live-ticker-worker.d.ts +2 -0
  30. package/dist/live-ticker-worker.d.ts.map +1 -0
  31. package/dist/live-ticker-worker.js +107 -0
  32. package/dist/live-ticker-worker.js.map +1 -0
  33. package/dist/live-ticker.d.ts +3 -0
  34. package/dist/live-ticker.d.ts.map +1 -1
  35. package/dist/live-ticker.js +203 -199
  36. package/dist/live-ticker.js.map +1 -1
  37. package/dist/mapped-child-progress.d.ts +1 -1
  38. package/dist/mapped-child-progress.d.ts.map +1 -1
  39. package/dist/pipeline-diagnostics.d.ts +1 -1
  40. package/dist/pipeline-diagnostics.d.ts.map +1 -1
  41. package/dist/pipeline-execute.d.ts +6 -4
  42. package/dist/pipeline-execute.d.ts.map +1 -1
  43. package/dist/pipeline-execute.js +52 -29
  44. package/dist/pipeline-execute.js.map +1 -1
  45. package/dist/pipeline-module.d.ts +0 -7
  46. package/dist/pipeline-module.d.ts.map +1 -1
  47. package/dist/pipeline-module.js +1 -5
  48. package/dist/pipeline-module.js.map +1 -1
  49. package/dist/pipeline-plan.d.ts +59 -4
  50. package/dist/pipeline-plan.d.ts.map +1 -1
  51. package/dist/pipeline-plan.js +156 -45
  52. package/dist/pipeline-plan.js.map +1 -1
  53. package/dist/pipeline-steps.d.ts +200 -0
  54. package/dist/pipeline-steps.d.ts.map +1 -0
  55. package/dist/pipeline-steps.js +120 -0
  56. package/dist/pipeline-steps.js.map +1 -0
  57. package/dist/pipeline-types.d.ts +393 -0
  58. package/dist/pipeline-types.d.ts.map +1 -0
  59. package/dist/pipeline-types.js +2 -0
  60. package/dist/pipeline-types.js.map +1 -0
  61. package/dist/pipeline.d.ts +11 -580
  62. package/dist/pipeline.d.ts.map +1 -1
  63. package/dist/pipeline.js +46 -234
  64. package/dist/pipeline.js.map +1 -1
  65. package/dist/progress.d.ts +1 -1
  66. package/dist/progress.d.ts.map +1 -1
  67. package/dist/render.d.ts.map +1 -1
  68. package/dist/render.js +10 -1
  69. package/dist/render.js.map +1 -1
  70. package/dist/reporter.d.ts +0 -1
  71. package/dist/reporter.d.ts.map +1 -1
  72. package/dist/reporter.js +1 -1
  73. package/dist/reporter.js.map +1 -1
  74. package/dist/run-store-sqlite.d.ts +26 -3
  75. package/dist/run-store-sqlite.d.ts.map +1 -1
  76. package/dist/run-store-sqlite.js +208 -11
  77. package/dist/run-store-sqlite.js.map +1 -1
  78. package/dist/run-store-ui-http.d.ts +9 -0
  79. package/dist/run-store-ui-http.d.ts.map +1 -1
  80. package/dist/run-store-ui-http.js +27 -0
  81. package/dist/run-store-ui-http.js.map +1 -1
  82. package/dist/run-store-ui-page.d.ts +2 -0
  83. package/dist/run-store-ui-page.d.ts.map +1 -1
  84. package/dist/run-store-ui-page.js +120 -95
  85. package/dist/run-store-ui-page.js.map +1 -1
  86. package/dist/run-store-ui.d.ts.map +1 -1
  87. package/dist/run-store-ui.js +49 -28
  88. package/dist/run-store-ui.js.map +1 -1
  89. package/dist/run-store.d.ts +11 -1
  90. package/dist/run-store.d.ts.map +1 -1
  91. package/dist/run-store.js +50 -2
  92. package/dist/run-store.js.map +1 -1
  93. package/dist/testing.d.ts +3 -3
  94. package/dist/testing.d.ts.map +1 -1
  95. package/dist/testing.js +2 -2
  96. package/dist/testing.js.map +1 -1
  97. package/dist/tracing-internal.d.ts.map +1 -1
  98. package/dist/tracing-internal.js +38 -5
  99. package/dist/tracing-internal.js.map +1 -1
  100. package/dist/tracing.d.ts +5 -0
  101. package/dist/tracing.d.ts.map +1 -1
  102. package/dist/workbench-history.d.ts +3 -0
  103. package/dist/workbench-history.d.ts.map +1 -0
  104. package/dist/workbench-history.js +162 -0
  105. package/dist/workbench-history.js.map +1 -0
  106. package/dist/workbench-run.d.ts +0 -1
  107. package/dist/workbench-run.d.ts.map +1 -1
  108. package/dist/workbench-run.js +313 -11
  109. package/dist/workbench-run.js.map +1 -1
  110. package/dist/workbench-shared.d.ts +8 -5
  111. package/dist/workbench-shared.d.ts.map +1 -1
  112. package/dist/workbench-shared.js +75 -3
  113. package/dist/workbench-shared.js.map +1 -1
  114. package/dist/workbench-ui.d.ts.map +1 -1
  115. package/dist/workbench-ui.js +2 -2
  116. package/dist/workbench-ui.js.map +1 -1
  117. package/dist/workbench.d.ts.map +1 -1
  118. package/dist/workbench.js +4 -0
  119. package/dist/workbench.js.map +1 -1
  120. package/docs/README.md +6 -4
  121. package/docs/agent-guide.md +37 -9
  122. package/docs/api-reference.md +21 -16
  123. package/docs/api-report.json +27 -19
  124. package/docs/cli.md +33 -1
  125. package/docs/comparison.md +5 -0
  126. package/docs/concepts.md +24 -7
  127. package/docs/getting-started.md +4 -3
  128. package/docs/llms.txt +9 -1
  129. package/docs/recipes.md +32 -21
  130. package/docs/remote-step-composition.md +90 -0
  131. package/docs/studio.md +20 -6
  132. package/examples/best-effort.ts +8 -4
  133. package/examples/catalog/pipelines/enrich.ts +104 -0
  134. package/examples/catalog/scripts/enrich.ts +22 -0
  135. package/examples/catalog/tubeless.studio.ts +3 -1
  136. package/examples/child-pipeline.ts +1 -0
  137. package/examples/cli-job.ts +1 -0
  138. package/examples/local-observability.ts +7 -7
  139. package/examples/peloton.ts +365 -0
  140. package/examples/publish-with-gates.ts +1 -1
  141. package/examples/remote-steps.ts +105 -0
  142. package/examples/rows.txt +3 -0
  143. package/examples/tracing.ts +9 -7
  144. package/examples/typed-import.ts +1 -0
  145. package/examples/validated-boundaries.ts +1 -0
  146. package/package.json +7 -7
package/README.md CHANGED
@@ -66,32 +66,36 @@ bunx tubeless run ./pipelines/my-command.ts -- --source input.json --target publ
66
66
 
67
67
  The CLI loads TypeScript modules with Bun. `inspect`, `plan`, and `graph`
68
68
  accept a pipeline or a `definePipelineCommand` export. `run` executes only a
69
- command export; application flags go after `--`. See
69
+ command export; application flags go after `--`. `history` lists recorded
70
+ `--store` runs without opening the studio. See
70
71
  [the CLI](./docs/cli.md) and [the local studio](./docs/studio.md).
71
72
 
72
73
  ## Choose the right pattern
73
74
 
74
- | You need to… | Start with |
75
- | ----------------------------------------- | ------------------------------------------------------------------------- |
76
- | Run typed steps in dependency order | [Sequential pipeline](./examples/typed-import.ts) |
77
- | Validate external boundary values | [Validated boundaries](./examples/validated-boundaries.ts) |
78
- | Preview writes safely | [Dry runs and write gates](./examples/publish-with-gates.ts) |
79
- | Skip work intentionally at runtime | [Conditional step](./examples/conditional-step.ts) |
80
- | Continue independent work after a failure | [Best-effort execution](./examples/best-effort.ts) |
81
- | Reuse a pipeline inside another | [Child pipeline](./examples/child-pipeline.ts) |
82
- | Run one child pipeline for many items | [Fan-out and progress](./examples/fan-out-progress.ts) |
83
- | Resume long API work safely | [Retry, rate limit, and checkpoint](./examples/resumable-enrichment.ts) |
84
- | Watch the live TTY reporter | [Live TUI](./examples/live-tui.ts) |
85
- | Turn a pipeline into a typed script | [Pipeline CLI](./examples/cli-job.ts) |
86
- | Render plans and errors consistently | [Human and JSON rendering](./examples/rendering.ts) |
87
- | Test deterministic execution | [Cancellation and test injection](./examples/cancellation-and-testing.ts) |
88
- | Export lifecycle telemetry | [Structured tracing](./examples/tracing.ts) |
89
- | Persist and inspect local runs | [Local observability](./examples/local-observability.ts) |
75
+ | You need to… | Start with |
76
+ | -------------------------------------------- | ------------------------------------------------------------------------- |
77
+ | Run typed steps in dependency order | [Sequential pipeline](./examples/typed-import.ts) |
78
+ | Validate external boundary values | [Validated boundaries](./examples/validated-boundaries.ts) |
79
+ | Preview writes safely | [Dry runs and write gates](./examples/publish-with-gates.ts) |
80
+ | Skip work intentionally at runtime | [Conditional step](./examples/conditional-step.ts) |
81
+ | Continue independent work after a failure | [Best-effort execution](./examples/best-effort.ts) |
82
+ | Reuse a pipeline inside another | [Child pipeline](./examples/child-pipeline.ts) |
83
+ | Run a step on another engine | [Remote steps](./examples/remote-steps.ts) |
84
+ | Run one child pipeline for many items | [Fan-out and progress](./examples/fan-out-progress.ts) |
85
+ | Resume long API work safely | [Retry, rate limit, and checkpoint](./examples/resumable-enrichment.ts) |
86
+ | Watch the live TTY reporter | [Live TUI](./examples/live-tui.ts) |
87
+ | Watch many primitives on a road-race weekend | [Peloton pipeline](./examples/peloton.ts) |
88
+ | Turn a pipeline into a typed script | [Pipeline CLI](./examples/cli-job.ts) |
89
+ | Render plans and errors consistently | [Human and JSON rendering](./examples/rendering.ts) |
90
+ | Test deterministic execution | [Cancellation and test injection](./examples/cancellation-and-testing.ts) |
91
+ | Export lifecycle telemetry | [Structured tracing](./examples/tracing.ts) |
92
+ | Persist and inspect local runs | [Local observability](./examples/local-observability.ts) |
90
93
 
91
94
  The [recipe index](./docs/recipes.md) explains when to use each pattern.
92
95
 
93
96
  ## Next
94
97
 
98
+ - [Website](https://chetmancini.github.io/tubeless/)
95
99
  - [Getting started](./docs/getting-started.md)
96
100
  - [CLI](./docs/cli.md)
97
101
  - [Local studio](./docs/studio.md)
package/dist/batch.d.ts CHANGED
@@ -6,6 +6,13 @@ export interface RunConcurrentOptions {
6
6
  }
7
7
  export type ConcurrentWorker<T, R> = (item: T, index: number, signal?: AbortSignal) => Promise<R>;
8
8
  export declare function chunk<T>(items: readonly T[], size: number): T[][];
9
+ export interface ConcurrentSettleResult<R> {
10
+ /** Sparse: holes are items never started or failed. */
11
+ readonly results: ReadonlyArray<R | undefined>;
12
+ readonly completedIndexes: ReadonlySet<number>;
13
+ /** First worker rejection or the abort error; undefined when all completed. */
14
+ readonly failure: unknown;
15
+ }
9
16
  /**
10
17
  * Run individual items with bounded, lazy scheduling and input-order results.
11
18
  *
@@ -14,6 +21,11 @@ export declare function chunk<T>(items: readonly T[], size: number): T[][];
14
21
  * orphaned work while keeping active work bounded by `concurrency`.
15
22
  */
16
23
  export declare function runConcurrent<T, R>(items: readonly T[], options: RunConcurrentOptions, worker: ConcurrentWorker<T, R>): Promise<R[]>;
24
+ /**
25
+ * Like `runConcurrent`, but returns completed results and the first failure
26
+ * instead of throwing. Callers that need partials should use this API.
27
+ */
28
+ export declare function runConcurrentSettled<T, R>(items: readonly T[], options: RunConcurrentOptions, worker: ConcurrentWorker<T, R>): Promise<ConcurrentSettleResult<R>>;
17
29
  export declare function runBatched<T, R>(items: readonly T[], options: {
18
30
  size: number;
19
31
  concurrency?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"batch.d.ts","sourceRoot":"","sources":["../src/batch.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,oBAAoB;IACnC,oFAAoF;IACpF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,wFAAwF;IACxF,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED,MAAM,MAAM,gBAAgB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;AAElG,wBAAgB,KAAK,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC,EAAE,EAAE,CASjE;AASD;;;;;;GAMG;AACH,wBAAsB,aAAa,CAAC,CAAC,EAAE,CAAC,EACtC,KAAK,EAAE,SAAS,CAAC,EAAE,EACnB,OAAO,EAAE,oBAAoB,EAC7B,MAAM,EAAE,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,GAC7B,OAAO,CAAC,CAAC,EAAE,CAAC,CAEd;AAoDD,wBAAsB,UAAU,CAAC,CAAC,EAAE,CAAC,EACnC,KAAK,EAAE,SAAS,CAAC,EAAE,EACnB,OAAO,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,WAAW,CAAA;CAAE,EACrE,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,GACrD,OAAO,CAAC,CAAC,EAAE,CAAC,CAQd"}
1
+ {"version":3,"file":"batch.d.ts","sourceRoot":"","sources":["../src/batch.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,oBAAoB;IACnC,oFAAoF;IACpF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,wFAAwF;IACxF,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED,MAAM,MAAM,gBAAgB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;AAElG,wBAAgB,KAAK,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC,EAAE,EAAE,CASjE;AASD,MAAM,WAAW,sBAAsB,CAAC,CAAC;IACvC,uDAAuD;IACvD,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;IAC/C,QAAQ,CAAC,gBAAgB,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC/C,+EAA+E;IAC/E,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;CAC3B;AAED;;;;;;GAMG;AACH,wBAAsB,aAAa,CAAC,CAAC,EAAE,CAAC,EACtC,KAAK,EAAE,SAAS,CAAC,EAAE,EACnB,OAAO,EAAE,oBAAoB,EAC7B,MAAM,EAAE,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,GAC7B,OAAO,CAAC,CAAC,EAAE,CAAC,CAEd;AAED;;;GAGG;AACH,wBAAsB,oBAAoB,CAAC,CAAC,EAAE,CAAC,EAC7C,KAAK,EAAE,SAAS,CAAC,EAAE,EACnB,OAAO,EAAE,oBAAoB,EAC7B,MAAM,EAAE,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,GAC7B,OAAO,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAEpC;AAkED,wBAAsB,UAAU,CAAC,CAAC,EAAE,CAAC,EACnC,KAAK,EAAE,SAAS,CAAC,EAAE,EACnB,OAAO,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,WAAW,CAAA;CAAE,EACrE,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,GACrD,OAAO,CAAC,CAAC,EAAE,CAAC,CAQd"}
package/dist/batch.js CHANGED
@@ -25,12 +25,29 @@ function resolveConcurrency(concurrency) {
25
25
  export async function runConcurrent(items, options, worker) {
26
26
  return runConcurrentWithLabel(items, options, worker, "Concurrent run");
27
27
  }
28
+ /**
29
+ * Like `runConcurrent`, but returns completed results and the first failure
30
+ * instead of throwing. Callers that need partials should use this API.
31
+ */
32
+ export async function runConcurrentSettled(items, options, worker) {
33
+ return runConcurrentSettledWithLabel(items, options, worker, "Concurrent run");
34
+ }
28
35
  async function runConcurrentWithLabel(items, options, worker, label) {
36
+ const settled = await runConcurrentSettledWithLabel(items, options, worker, label);
37
+ if (settled.failure !== undefined || settled.completedIndexes.size !== items.length) {
38
+ throw settled.failure;
39
+ }
40
+ // SAFETY: every index is in completedIndexes, so each slot was assigned by a
41
+ // successful worker and is `R` rather than the sparse `R | undefined`.
42
+ return settled.results;
43
+ }
44
+ async function runConcurrentSettledWithLabel(items, options, worker, label) {
29
45
  const concurrency = resolveConcurrency(options.concurrency);
30
46
  if (items.length === 0) {
31
- return [];
47
+ return { completedIndexes: new Set(), failure: undefined, results: [] };
32
48
  }
33
49
  const results = new Array(items.length);
50
+ const completedIndexes = new Set();
34
51
  let failed = false;
35
52
  let failure;
36
53
  let nextIndex = 0;
@@ -50,6 +67,7 @@ async function runConcurrentWithLabel(items, options, worker, label) {
50
67
  }
51
68
  try {
52
69
  results[index] = await worker(items[index], index, options.signal);
70
+ completedIndexes.add(index);
53
71
  }
54
72
  catch (error) {
55
73
  if (!failed) {
@@ -61,10 +79,7 @@ async function runConcurrentWithLabel(items, options, worker, label) {
61
79
  }
62
80
  }
63
81
  await Promise.all(Array.from({ length: Math.min(concurrency, items.length) }, () => runNext()));
64
- if (failed) {
65
- throw failure;
66
- }
67
- return results;
82
+ return { completedIndexes, failure, results };
68
83
  }
69
84
  export async function runBatched(items, options, worker) {
70
85
  const batches = chunk(items, options.size);
package/dist/batch.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"batch.js","sourceRoot":"","sources":["../src/batch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"batch.js","sourceRoot":"","sources":["../src/batch.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { type ToMappedChildStepProgressOptions } from "./mapped-child-progress.js";
2
- import type { Pipeline, PipelineExecutionContext, PipelineRun, PipelineRunOptions, PipelineStepContext } from "./pipeline.js";
2
+ import type { Pipeline, PipelineExecutionContext, PipelineRun, PipelineRunOptions, PipelineStepContext } from "./pipeline-types.js";
3
3
  export declare class PipelineChildError extends Error {
4
4
  readonly cancelled: boolean;
5
5
  constructor(message: string, cancelled?: boolean, cause?: unknown);
@@ -1 +1 @@
1
- {"version":3,"file":"child-execution.d.ts","sourceRoot":"","sources":["../src/child-execution.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"child-execution.d.ts","sourceRoot":"","sources":["../src/child-execution.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,9 @@
1
1
  import { throwIfAborted } from "./abort.js";
2
- import { runConcurrent } from "./batch.js";
2
+ import { emitRejectedPlanLifecycle } from "./lifecycle.js";
3
+ import { runConcurrentSettled } from "./batch.js";
3
4
  import { toMappedChildStepProgress, } from "./mapped-child-progress.js";
4
5
  import { createRunId, RUN_MODEL_VERSION } from "./pipeline-ids.js";
6
+ import { duplicateValues, EXECUTE_COMPILED_RUN, isCompiledPipeline } from "./pipeline-plan.js";
5
7
  import { hasVisibleStepProgress } from "./progress.js";
6
8
  export class PipelineChildError extends Error {
7
9
  cancelled;
@@ -11,42 +13,49 @@ export class PipelineChildError extends Error {
11
13
  this.name = "PipelineChildError";
12
14
  }
13
15
  }
14
- function childTracingOptions(context, itemKey = context.trace?.itemKey) {
15
- return context.tracing ? { ...context.tracing, itemKey } : undefined;
16
+ function compiledChildExecute(pipeline) {
17
+ if (!isCompiledPipeline(pipeline))
18
+ return undefined;
19
+ // SAFETY: branded pipelines are the `definePipeline` object, which always
20
+ // stamps `EXECUTE_COMPILED_RUN`. Wrappers that inherit the symbol are rejected
21
+ // by the identity check above.
22
+ return pipeline[EXECUTE_COMPILED_RUN];
16
23
  }
17
- function duplicateValues(values) {
18
- const seen = new Set();
19
- const duplicates = new Set();
20
- for (const value of values) {
21
- if (seen.has(value))
22
- duplicates.add(value);
23
- seen.add(value);
24
+ function executeCompiledChild(pipeline, plan, domainOptions, controls, context) {
25
+ const execute = compiledChildExecute(pipeline);
26
+ if (execute === undefined) {
27
+ return pipeline.run(domainOptions, controls, context);
24
28
  }
25
- return [...duplicates];
26
- }
27
- function childRunOptions(options, dryRun) {
28
- return { ...options, dryRun };
29
+ return execute(plan, domainOptions, controls, context);
29
30
  }
30
- function childRunControls(options) {
31
- return {
32
- continueOnError: options.continueOnError,
33
- dryRun: options.dryRun,
34
- stepIds: options.stepIds,
35
- targets: options.targets,
31
+ function publicChildRuntime(context) {
32
+ const runtime = {
33
+ cwd: context.cwd,
34
+ log: context.log,
35
+ now: context.now ?? Date.now,
36
+ sleep: context.sleep ?? (async () => undefined),
36
37
  };
38
+ if (context.hooks)
39
+ runtime.hooks = context.hooks;
40
+ if (context.parentRunId)
41
+ runtime.parentRunId = context.parentRunId;
42
+ if (context.runId)
43
+ runtime.runId = context.runId;
44
+ if (context.signal)
45
+ runtime.signal = context.signal;
46
+ if (context.tracing)
47
+ runtime.tracing = context.tracing;
48
+ return runtime;
37
49
  }
38
- function isConcurrencyFunction(concurrency) {
39
- return typeof concurrency === "function";
40
- }
41
- function failedPlanRun(pipeline, options, context, errors) {
42
- const now = context.now ?? Date.now;
43
- const startedAtMs = now();
50
+ async function failedPublicChildPlanRun(pipeline, plan, controls, context) {
51
+ const runtime = publicChildRuntime(context);
52
+ const startedAtMs = runtime.now();
44
53
  const result = {
45
54
  pipelineId: pipeline.id,
46
- dryRun: options.dryRun === true,
47
- errors: [...errors],
55
+ dryRun: controls.dryRun === true,
56
+ errors: [...plan.errors],
48
57
  finalized: false,
49
- finishedAtMs: now(),
58
+ finishedAtMs: runtime.now(),
50
59
  runId: context.runId ?? createRunId(pipeline.id),
51
60
  startedAtMs,
52
61
  status: "failed",
@@ -55,8 +64,87 @@ function failedPlanRun(pipeline, options, context, errors) {
55
64
  };
56
65
  if (context.parentRunId)
57
66
  result.parentRunId = context.parentRunId;
67
+ await emitRejectedPlanLifecycle(pipeline.id, pipeline.targetIds, plan, runtime, result);
58
68
  return result;
59
69
  }
70
+ async function rejectedChildPlanResult(pipeline, plan, domainOptions, controls, context) {
71
+ const execute = compiledChildExecute(pipeline);
72
+ if (execute === undefined) {
73
+ return failedPublicChildPlanRun(pipeline, plan, controls, context);
74
+ }
75
+ return execute(plan, domainOptions, controls, context);
76
+ }
77
+ function childTracingOptions(context, itemKey = context.trace?.itemKey) {
78
+ return context.tracing ? { ...context.tracing, itemKey } : undefined;
79
+ }
80
+ const CHILD_RUN_CONTROL_KEYS = ["continueOnError", "dryRun", "stepIds", "targets"];
81
+ function isChildRunControlKey(property) {
82
+ return (typeof property === "string" &&
83
+ // SAFETY: `includes` membership over the literal tuple guarantees the cast
84
+ // target is exactly one of the declared run-control keys.
85
+ CHILD_RUN_CONTROL_KEYS.includes(property));
86
+ }
87
+ function splitChildRunOptions(options) {
88
+ const controls = {};
89
+ let hasControls = false;
90
+ for (const key of CHILD_RUN_CONTROL_KEYS) {
91
+ if (!Object.prototype.hasOwnProperty.call(options, key))
92
+ continue;
93
+ hasControls = true;
94
+ Object.assign(controls, { [key]: options[key] });
95
+ }
96
+ if (!hasControls) {
97
+ return { controls, domainOptions: options };
98
+ }
99
+ return { controls, domainOptions: createChildDomainOptionsView(options) };
100
+ }
101
+ function createChildDomainOptionsView(options) {
102
+ // SAFETY: proxy an empty facade so hiding non-configurable control keys on a
103
+ // frozen mapOptions bag does not violate proxy invariants. Reads still use
104
+ // `options` as the receiver so accessors and methods keep their original `this`.
105
+ return new Proxy({}, {
106
+ get(_target, property) {
107
+ if (isChildRunControlKey(property))
108
+ return undefined;
109
+ const value = readChildOptionProperty(options, property);
110
+ return value instanceof Function ? value.bind(options) : value;
111
+ },
112
+ has(_target, property) {
113
+ return !isChildRunControlKey(property) && property in options;
114
+ },
115
+ ownKeys() {
116
+ return Reflect.ownKeys(options).filter((property) => !isChildRunControlKey(property));
117
+ },
118
+ getOwnPropertyDescriptor(_target, property) {
119
+ if (isChildRunControlKey(property))
120
+ return undefined;
121
+ const descriptor = Reflect.getOwnPropertyDescriptor(options, property);
122
+ if (descriptor === undefined)
123
+ return undefined;
124
+ return { ...descriptor, configurable: true };
125
+ },
126
+ getPrototypeOf() {
127
+ return Object.getPrototypeOf(options);
128
+ },
129
+ set(_target, property, value) {
130
+ if (isChildRunControlKey(property))
131
+ return true;
132
+ return Reflect.set(options, property, value, options);
133
+ },
134
+ });
135
+ }
136
+ function readChildOptionProperty(options, property) {
137
+ // SAFETY: child mapOptions is an untyped bag; this index reads the requested
138
+ // key on that original object so accessors keep it as `this`.
139
+ return options[property];
140
+ }
141
+ function childRunBags(options, dryRun) {
142
+ const { controls, domainOptions } = splitChildRunOptions(options);
143
+ return { controls: { ...controls, dryRun }, domainOptions };
144
+ }
145
+ function isConcurrencyFunction(concurrency) {
146
+ return typeof concurrency === "function";
147
+ }
60
148
  function firstChildFailure(result) {
61
149
  const firstFailedStep = result.steps.find(({ status }) => status === "failed" || status === "cancelled");
62
150
  const firstError = firstFailedStep && "error" in firstFailedStep ? firstFailedStep.error : result.errors[0];
@@ -65,14 +153,19 @@ function firstChildFailure(result) {
65
153
  message: firstError?.message ?? "unknown error",
66
154
  };
67
155
  }
68
- async function runChildPipeline(pipeline, options, context, hooks, dependencies, messagePrefix = "") {
69
- const plan = pipeline.plan(childRunControls(options));
156
+ async function runChildPipeline(pipeline, domainOptions, controls, context, hooks, dependencies, messagePrefix = "", plan) {
70
157
  if (!plan.ok) {
71
158
  const firstError = plan.errors[0];
72
- const result = failedPlanRun(pipeline, options, context, plan.errors);
159
+ const result = await rejectedChildPlanResult(pipeline, plan, domainOptions, controls, {
160
+ ...context,
161
+ hooks,
162
+ });
73
163
  throw dependencies.createExecutionError(result, `${messagePrefix}could not start: ${firstError?.message ?? "invalid plan"}`);
74
164
  }
75
- const result = await pipeline.run(options, { ...context, hooks });
165
+ const result = await executeCompiledChild(pipeline, plan, domainOptions, controls, {
166
+ ...context,
167
+ hooks,
168
+ });
76
169
  if (result.status !== "completed") {
77
170
  const { failureLocation, message } = firstChildFailure(result);
78
171
  throw dependencies.createExecutionError(result, `${messagePrefix}failed at ${failureLocation}: ${message}`);
@@ -81,7 +174,7 @@ async function runChildPipeline(pipeline, options, context, hooks, dependencies,
81
174
  }
82
175
  export function createSingleChildRunner(config, dependencies) {
83
176
  return async (inputs, context) => {
84
- const childOptions = childRunOptions(config.mapOptions(inputs, context), context.dryRun);
177
+ const { controls, domainOptions } = childRunBags(config.mapOptions(inputs, context), context.dryRun);
85
178
  const baseChildContext = {
86
179
  cwd: context.cwd,
87
180
  log: context.log,
@@ -91,8 +184,8 @@ export function createSingleChildRunner(config, dependencies) {
91
184
  sleep: context.sleep,
92
185
  tracing: childTracingOptions(context),
93
186
  };
94
- // Preview plan only for progress totals; invalid plans throw from runChildPipeline.
95
- const childPlan = config.pipeline.plan(childRunControls(childOptions));
187
+ // Plan once for progress totals and execution. Invalid plans fail before child.run.
188
+ const childPlan = config.pipeline.plan(controls);
96
189
  const selectedStepCount = childPlan.ok
97
190
  ? childPlan.steps.filter((step) => step.selected).length
98
191
  : 0;
@@ -118,7 +211,7 @@ export function createSingleChildRunner(config, dependencies) {
118
211
  onStepCancel: ({ error, step }) => report(step, `cancelled: ${error.message}`, true),
119
212
  onStepFail: ({ error, step }) => report(step, `failed: ${error.message}`, true),
120
213
  };
121
- const childResult = await runChildPipeline(config.pipeline, childOptions, baseChildContext, childHooks, dependencies, `Child pipeline ${config.pipeline.id} `);
214
+ const childResult = await runChildPipeline(config.pipeline, domainOptions, controls, baseChildContext, childHooks, dependencies, `Child pipeline ${config.pipeline.id} `, childPlan);
122
215
  return config.mapResult
123
216
  ? config.mapResult(childResult.value, childResult, context)
124
217
  : childResult.value;
@@ -176,15 +269,15 @@ export function createMappedChildRunner(config, dependencies) {
176
269
  return [];
177
270
  }
178
271
  publishProgress();
179
- const outcomes = await runConcurrent(items, { concurrency, signal: context.signal }, async (item, itemIndex) => {
272
+ const settled = await runConcurrentSettled(items, { concurrency, signal: context.signal }, async (item, itemIndex) => {
180
273
  const key = keys[itemIndex];
181
274
  active.set(key, "starting");
182
275
  publishProgress();
183
276
  try {
184
277
  throwIfAborted(context.signal, `Mapped child pipeline ${config.pipeline.id}`);
185
- const childOptions = childRunOptions(config.mapOptions(item, itemIndex, inputs, context), context.dryRun);
186
- // Preview plan for live fan-out progress; invalid plans throw from runChildPipeline.
187
- const childPlan = config.pipeline.plan(childRunControls(childOptions));
278
+ const { controls, domainOptions } = childRunBags(config.mapOptions(item, itemIndex, inputs, context), context.dryRun);
279
+ // Plan once per mapped-options bag for progress and execution.
280
+ const childPlan = config.pipeline.plan(controls);
188
281
  if (childPlan.ok) {
189
282
  const plannedSteps = childPlan.steps.filter((step) => step.selected).length;
190
283
  plannedChildSteps += plannedSteps;
@@ -216,7 +309,7 @@ export function createMappedChildRunner(config, dependencies) {
216
309
  onStepCancel: ({ step }) => markChildTerminal(key, step.id, `${step.name ?? step.id}:cancelled`),
217
310
  onStepFail: ({ step }) => markChildTerminal(key, step.id, `${step.name ?? step.id}:failed`),
218
311
  };
219
- const childResult = await runChildPipeline(config.pipeline, childOptions, {
312
+ const childResult = await runChildPipeline(config.pipeline, domainOptions, controls, {
220
313
  cwd: context.cwd,
221
314
  log: context.log,
222
315
  now: context.now,
@@ -224,7 +317,7 @@ export function createMappedChildRunner(config, dependencies) {
224
317
  signal: context.signal,
225
318
  sleep: context.sleep,
226
319
  tracing: childTracingOptions(context, key),
227
- }, childHooks, dependencies);
320
+ }, childHooks, dependencies, "", childPlan);
228
321
  const seen = childTerminalSteps.get(key) ?? new Set();
229
322
  if (childPlan.ok) {
230
323
  for (const planStep of childPlan.steps) {
@@ -251,15 +344,26 @@ export function createMappedChildRunner(config, dependencies) {
251
344
  return { error: cause, key, ok: false };
252
345
  }
253
346
  });
347
+ const outcomes = settled.results.filter((outcome) => outcome !== undefined);
348
+ const schedulerFailure = settled.failure === undefined
349
+ ? undefined
350
+ : settled.failure instanceof Error
351
+ ? settled.failure
352
+ : new Error(String(settled.failure));
254
353
  const failures = outcomes.filter((outcome) => !outcome.ok);
255
- if (failures.length > 0) {
354
+ if (failures.length > 0 || schedulerFailure !== undefined) {
256
355
  const details = failures.map(({ error, key }) => `${key}: ${error.message}`).join("; ");
257
- const cancelled = failures.every(({ error }) => dependencies.isCancellation(error, context));
258
- const primaryFailure = cancelled
259
- ? failures[0]
260
- : (failures.find(({ error }) => !dependencies.isCancellation(error, context)) ??
261
- failures[0]);
262
- throw new PipelineChildError(`Mapped child pipeline ${config.pipeline.id} failed for ${failures.length} item(s): ${details}`, cancelled, primaryFailure?.error);
356
+ const cancelled = failures.every(({ error }) => dependencies.isCancellation(error, context)) &&
357
+ (schedulerFailure === undefined || dependencies.isCancellation(schedulerFailure, context));
358
+ const primaryError = cancelled
359
+ ? (failures[0]?.error ?? schedulerFailure)
360
+ : (failures.find(({ error }) => !dependencies.isCancellation(error, context))?.error ??
361
+ failures[0]?.error ??
362
+ schedulerFailure);
363
+ const message = failures.length > 0
364
+ ? `Mapped child pipeline ${config.pipeline.id} failed for ${failures.length} item(s): ${details}`
365
+ : `Mapped child pipeline ${config.pipeline.id} failed: ${primaryError?.message ?? "aborted"}`;
366
+ throw new PipelineChildError(message, cancelled, primaryError);
263
367
  }
264
368
  // SAFETY: when failures.length === 0 every outcome was produced by the
265
369
  // success branch (return { key, ok: true, value }), so each outcome is
@@ -1 +1 @@
1
- {"version":3,"file":"child-execution.js","sourceRoot":"","sources":["../src/child-execution.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"child-execution.js","sourceRoot":"","sources":["../src/child-execution.ts"],"names":[],"mappings":"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"}
@@ -1,29 +1,6 @@
1
- import { type CheckpointStore } from "./checkpoint.js";
2
1
  import { type CliCommand, type CliCommandConfig, type CliContext, type CliParams, type CliParamsSchema } from "./cli-types.js";
3
- export declare function resolveContext(overrides?: Partial<CliContext>): CliContext;
4
- interface ManagedMainSignal {
5
- context: CliContext;
6
- wasInterrupted(): boolean;
7
- cleanup(): void;
8
- }
9
- /**
10
- * Give real CLI entrypoints graceful cancellation without making `run()` or
11
- * `parse()` mutate process-global signal handlers. Embedded callers can pass
12
- * their own signal through the context instead.
13
- */
14
- export declare function manageMainSignal(context: CliContext): ManagedMainSignal;
15
- /**
16
- * An in-memory-only `CheckpointStore` seeded from `seed`: reads and `record()` behave
17
- * exactly like a real store for the rest of this run, but `flush()`/`clear()` never touch
18
- * disk. Every dry-run path hands `run` one of these instead of the real store — the
19
- * managed-checkpoint contract is that a dry run never writes to the checkpoint file, no
20
- * matter what `run` does with `context.checkpoint` (`record`/`flush`/`clear`, directly or
21
- * via `withCheckpointedBatch`).
22
- */
23
- export declare function inMemoryCheckpointView(seed: ReadonlyMap<string, unknown>): CheckpointStore;
24
2
  export declare function createCommand<const TSchema extends CliParamsSchema, TResult = void>(config: CliCommandConfig<TSchema, TResult>, prepareContext?: (values: CliParams<TSchema>, context: CliContext) => CliContext, mainExits?: {
25
3
  validation?: number;
26
4
  }): CliCommand<TSchema, TResult>;
27
5
  export declare function defineCommand<const TSchema extends CliParamsSchema, TResult = void>(config: CliCommandConfig<TSchema, TResult>): CliCommand<TSchema, TResult>;
28
- export {};
29
6
  //# sourceMappingURL=cli-command.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"cli-command.d.ts","sourceRoot":"","sources":["../src/cli-command.ts"],"names":[],"mappings":"AACA,OAAO,EAAkB,KAAK,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAavE,OAAO,EAGL,KAAK,UAAU,EACf,KAAK,gBAAgB,EACrB,KAAK,UAAU,EACf,KAAK,SAAS,EACd,KAAK,eAAe,EAErB,MAAM,gBAAgB,CAAC;AAGxB,wBAAgB,cAAc,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,UAAU,CAS1E;AAED,UAAU,iBAAiB;IACzB,OAAO,EAAE,UAAU,CAAC;IACpB,cAAc,IAAI,OAAO,CAAC;IAC1B,OAAO,IAAI,IAAI,CAAC;CACjB;AAID;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,UAAU,GAAG,iBAAiB,CAmBvE;AAED;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,eAAe,CAa1F;AAED,wBAAgB,aAAa,CAAC,KAAK,CAAC,OAAO,SAAS,eAAe,EAAE,OAAO,GAAG,IAAI,EACjF,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,EAC1C,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,SAAS,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,UAAU,KAAK,UAAU,EAChF,SAAS,CAAC,EAAE;IAAE,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,GAClC,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CA2Q9B;AA+CD,wBAAgB,aAAa,CAAC,KAAK,CAAC,OAAO,SAAS,eAAe,EAAE,OAAO,GAAG,IAAI,EACjF,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,GACzC,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CAE9B"}
1
+ {"version":3,"file":"cli-command.d.ts","sourceRoot":"","sources":["../src/cli-command.ts"],"names":[],"mappings":"AAcA,OAAO,EAGL,KAAK,UAAU,EACf,KAAK,gBAAgB,EACrB,KAAK,UAAU,EACf,KAAK,SAAS,EACd,KAAK,eAAe,EAErB,MAAM,gBAAgB,CAAC;AAuExB,wBAAgB,aAAa,CAAC,KAAK,CAAC,OAAO,SAAS,eAAe,EAAE,OAAO,GAAG,IAAI,EACjF,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,EAC1C,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,SAAS,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,UAAU,KAAK,UAAU,EAChF,SAAS,CAAC,EAAE;IAAE,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,GAClC,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CA2Q9B;AA+CD,wBAAgB,aAAa,CAAC,KAAK,CAAC,OAAO,SAAS,eAAe,EAAE,OAAO,GAAG,IAAI,EACjF,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,GACzC,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CAE9B"}
@@ -3,7 +3,7 @@ import { openCheckpoint } from "./checkpoint.js";
3
3
  import { assertNoDuplicateFlags, assertValidEnvironmentFallbacks, assertValidMultipleParams, assertValidPositionals, buildEffectiveSchema, commandDescriptor, renderHelp, resolveParam, tokenize, } from "./cli-parser.js";
4
4
  import { CliHelpRequested, CliValidationError, } from "./cli-types.js";
5
5
  import { isCliValidationError, isPipelineExecutionError, toExitCode } from "./workbench-shared.js";
6
- export function resolveContext(overrides) {
6
+ function resolveContext(overrides) {
7
7
  return {
8
8
  cwd: overrides?.cwd ?? process.cwd(),
9
9
  env: overrides?.env ?? process.env,
@@ -19,7 +19,7 @@ const SIGINT_EXIT_CODE = 130;
19
19
  * `parse()` mutate process-global signal handlers. Embedded callers can pass
20
20
  * their own signal through the context instead.
21
21
  */
22
- export function manageMainSignal(context) {
22
+ function manageMainSignal(context) {
23
23
  if (context.signal) {
24
24
  return { context, wasInterrupted: () => false, cleanup: () => { } };
25
25
  }
@@ -45,7 +45,7 @@ export function manageMainSignal(context) {
45
45
  * matter what `run` does with `context.checkpoint` (`record`/`flush`/`clear`, directly or
46
46
  * via `withCheckpointedBatch`).
47
47
  */
48
- export function inMemoryCheckpointView(seed) {
48
+ function inMemoryCheckpointView(seed) {
49
49
  const entries = new Map(seed);
50
50
  return {
51
51
  has: (key) => entries.has(key),