Pipeline Customization & Step Management
Overview
The Ever Works pipeline system is a plugin-driven execution engine for work generation. Pipelines are compiled from step definitions contributed by a primary pipeline plugin and zero or more modifier plugins. The PipelineBuilderService compiles these contributions into an ExecutablePipeline by applying replacements, injections, disabling, topological sorting, and parallel group identification. The PipelineOrchestratorService then routes execution to either the step-based executor (engine-orchestrated) or the full executor (self-managed), depending on the pipeline plugin type.
Architecture
Source Files
| File | Purpose |
|---|---|
packages/agent/src/pipeline/pipeline-builder.service.ts | Compiles step definitions into an executable pipeline with sorting and grouping |
packages/agent/src/pipeline/pipeline-orchestrator.service.ts | Routes execution to step-based or full executor based on plugin type |
packages/agent/src/pipeline/step-pipeline-executor.service.ts | Engine-orchestrated execution with checkpointing, events, and concurrency |
packages/agent/src/pipeline/full-pipeline-executor.service.ts | Delegates execution entirely to a self-managed pipeline plugin |
packages/agent/src/pipeline/executable-pipeline.class.ts | Runtime state wrapper with step status tracking and event emission |
packages/agent/src/pipeline/pipeline-facade.service.ts | Creates step execution contexts for facade access |
packages/agent/src/pipeline/pipeline.module.ts | NestJS module registering all pipeline services |