Skip to main content

Pipeline JSON Reference

View as Markdown

Pipeline JSON Reference

A .pipe file is JSON conforming to the interfaces below. The schema is the contract the engine loads and the SDKs send over the WebSocket protocol — the same JSON whether you author it visually or by hand. For the concepts behind these fields, see Pipelines and the Execution model.

Top-level shape​

A pipeline is an object with a components array (the nodes of the graph) and, when agents or other invokers are involved, a control array describing the invoke connections. Each component declares its id, provider, config, and the input lanes it consumes.

{
"components": [
{ "id": "in", "provider": "webhook", "config": {} },
{
"id": "out",
"provider": "response",
"config": { "laneName": "text" },
"input": [{ "lane": "text", "from": "in" }]
}
]
}

Interfaces​

The definitions below are generated from the .pipe schema types in packages/client-typescript/src/client/types/pipeline.ts; a .pipe file is JSON conforming to them.

PipelineInputConnection​

Data flow connection between pipeline components.

FieldTypeRequiredDescription
lanestringYesData lane/channel name (e.g., 'text', 'data', 'image')
fromstringYesSource component ID providing the data

PipelineControlConnection​

Invoke (control-flow) connection from one component to another.

FieldTypeRequiredDescription
classTypestringYesClass type of the invoke channel (e.g., 'llm', 'tool', 'memory')
fromstringYesSource component ID providing the invocation

PipelineComponent​

Pipeline component that processes data. Each component has a unique ID, a provider type that determines its behavior, and provider-specific configuration. Components receive data through input connections from other components.

FieldTypeRequiredDescription
idstringYesUnique identifier for this component within the pipeline
providerstringYesComponent type/provider (e.g., 'webhook', 'response', 'ai_chat')
namestringNoHuman-readable component name
descriptionstringNoComponent description for documentation
configRecord<string, unknown>YesComponent-specific configuration parameters
uiRecord<string, unknown>NoUI-specific configuration for visual editors
inputPipelineInputConnection[]NoInput connections from other components
controlPipelineControlConnection[]NoInvoke (control-flow) connections from other components

PipelineConfig​

Pipeline configuration for RocketRide data processing workflows. Defines a complete pipeline with components, data flow connections, and execution parameters. Pipelines process data through a series of connected components that transform, analyze, or route information.

FieldTypeRequiredDescription
namestringNoHuman-readable pipeline name — the registry's pipelineName renders it on every deploy surface, and publish requires it.
descriptionstringNoPipeline description
versionnumberNoPipeline version number
componentsPipelineComponent[]YesArray of pipeline components that process data
sourcestringNoID of the component that serves as the pipeline entry point
project_idstringNoProject identifier for organization and permissions
viewport{ x: number; y: number; zoom: number }NoUI viewport settings for visual editors
docRevisionnumberNoEditor document revision counter for change tracking (undo/redo, echo detection).
isLockedbooleanNoWhether the canvas is locked from editing
snapToGridbooleanNoWhether node snapping to grid is enabled
snapGridSize[number, number]NoGrid size for snapping [x, y]
editorModestringNoActive editor mode (e.g. 'design', 'status', 'flow')