Skip to content

PlanPipeline

Defined in: pipeline/pipeline.ts:98

Chain multiple plans into a sequential pipeline with cross-plan lineage.

Static plans run directly. Factory steps receive the previous step’s output to dynamically build a plan. Execution is fail-fast: the first step failure aborts the pipeline.

const result = await new PlanPipeline()
.step('extract', extractPlan)
.step('transform', (input) => buildTransformPlan(input))
.run()
if (result.ok) {
console.log(result.value)
}

new PlanPipeline(): PlanPipeline

PlanPipeline

run<Out>(ctx?): Promise<PipelineResult<Out>>

Defined in: pipeline/pipeline.ts:141

Execute all steps sequentially.

Out = unknown

RunContext

Optional run context (readFile, glob, registry)

Promise<PipelineResult<Out>>

Pipeline result with cross-plan lineage

const result = await pipeline.run()
if (result.ok) {
console.log('Final output:', result.value)
// Inspect per-step lineage
for (const [name, step] of result.pipelineLineage.steps) {
console.log(`${name}: ${step.ok ? 'ok' : 'failed'}`)
}
}

step(name, planOrFactory): this

Defined in: pipeline/pipeline.ts:115

Add a step to the pipeline.

string

Unique name for this step (used in lineage)

A compiled Plan or a factory function (previousOutput) => Plan

Plan<unknown> | (input) => Plan<unknown>

this

this (for chaining)

pipeline
.step('load', loadPlan)
.step('process', (data) => buildProcessPlan(data))