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
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')