Skip to main content

Node Types

The Pattern Builder provides several node types for constructing orchestration patterns.

Core Nodes

Input Node

Defines the pattern's input schema.

Configuration:

PropertyTypeDescription
FieldsArrayInput field definitions

Field Options:

PropertyDescription
NameField name (alphanumeric, underscores)
Typestring, number, boolean, array, object
RequiredWhether field is required
DefaultDefault value if not provided

Example Configuration:

Fields:
- name: document
type: string
required: true

- name: language
type: string
required: false
default: "en"

Generated YAML:

input:
document:
type: string
required: true
language:
type: string
required: false
default: "en"

Output Node

Maps results to the pattern's output.

Configuration:

PropertyTypeDescription
MappingsArrayOutput variable mappings

Mapping Options:

PropertyDescription
NameOutput field name
ValueVariable reference (e.g., $vote.result)

Example Configuration:

Mappings:
- name: result
value: $consensus.result

- name: confidence
value: $consensus.confidence

Generated YAML:

output:
result: $consensus.result
confidence: $consensus.confidence

Agent Node

Configures agent selection and execution.

Configuration:

PropertyTypeDescription
CapabilitiesArrayRequired agent capabilities
MinNumberMinimum number of agents
MaxNumberMaximum number of agents (optional)
TimeoutNumberPer-agent timeout in ms

Example Configuration:

Capabilities: [analysis, english]
Min: 3
Max: 5
Timeout: 30000

Generated YAML:

agents:
capabilities: [analysis, english]
min: 3
max: 5
taskTimeout: 30000

Aggregation Nodes

Vote Node

Aggregates results using voting.

Configuration:

PropertyTypeDescription
MethodEnummajority, unanimous, weighted, plurality
Min VotesNumberMinimum votes required
Tie BreakerEnumfirst, random, highest-confidence

Output Variables:

  • $vote.result - Winning option
  • $vote.confidence - Vote confidence
  • $vote.distribution - Vote distribution

Example Configuration:

Method: majority
Min Votes: 2
Tie Breaker: highest-confidence

Generated YAML:

aggregation:
strategy: voting
method: majority
minVotes: 2
tieBreaker: highest-confidence

Consensus Node

Builds agreement from multiple responses.

Configuration:

PropertyTypeDescription
ThresholdNumberAgreement threshold (0.0 - 1.0)
Min VotesNumberMinimum responses required
Conflict ResolutionEnumweighted, first, highest-confidence

Output Variables:

  • $consensus.result - Consensus result
  • $consensus.confidence - Consensus confidence
  • $consensus.agreement - Agreement score

Example Configuration:

Threshold: 0.8
Min Votes: 3
Conflict Resolution: weighted

Generated YAML:

aggregation:
strategy: consensus
threshold: 0.8
minVotes: 3
conflictResolution: weighted

Merge Node

Combines results from multiple agents.

Configuration:

PropertyTypeDescription
MethodEnumdeep, shallow, union, concat
FieldsArraySpecific fields to merge (optional)
DeduplicateBooleanRemove duplicates

Output Variables:

  • $merged - Merged result object
  • $merged.{field} - Specific merged field

Example Configuration:

Method: union
Fields: [entities, keywords]
Deduplicate: true

Generated YAML:

aggregation:
strategy: merge
method: union
fields: [entities, keywords]
deduplication: true

First Node

Returns the first valid result.

Configuration:

PropertyTypeDescription
Min ConfidenceNumberMinimum confidence to accept

Output Variables:

  • $first.result - First valid result
  • $first.confidence - Result confidence

Generated YAML:

aggregation:
strategy: first
minConfidence: 0.7

Execution Nodes

Parallel Node

Executes agents simultaneously.

Configuration:

PropertyTypeDescription
TimeoutNumberOverall timeout in ms
Wait for AllBooleanWait for all agents
Min ResultsNumberMinimum results (if not waiting for all)

Generated YAML:

execution:
strategy: parallel
timeout: 30000
waitForAll: true

Sequential Node

Executes steps in order.

Configuration:

PropertyTypeDescription
StepsArrayOrdered step definitions
Stop on ErrorBooleanHalt on first error

Generated YAML:

execution:
strategy: sequential
stopOnError: true
steps:
- capability: research
- capability: analysis

Race Node

First valid result wins.

Configuration:

PropertyTypeDescription
TimeoutNumberMaximum wait time
Min ConfidenceNumberMinimum acceptable confidence

Generated YAML:

execution:
strategy: race
timeout: 10000
minConfidence: 0.7

Validation Nodes

Quality Gate Node

Validates results against thresholds.

Configuration:

PropertyTypeDescription
Min ConfidenceNumberMinimum confidence
On FailureEnumfail, retry, fallback
Max RetriesNumberRetry attempts (if retry)
Fallback ValueObjectFallback result (if fallback)

Generated YAML:

validation:
minConfidence: 0.7
onFailure: retry
maxRetries: 3

Schema Validator Node

Validates output structure.

Configuration:

PropertyTypeDescription
SchemaObjectJSON Schema definition
On InvalidEnumfail, retry

Generated YAML:

validation:
schema:
type: object
required: [result]

Flow Control Nodes

Switch Node

Routes based on conditions.

Configuration:

PropertyTypeDescription
ValueStringVariable to switch on
CasesObjectCase → next node mapping
DefaultStringDefault case

Generated YAML:

type: switch
value: $input.type
cases:
document: process-document
image: process-image
default: generic-processor

Gate Node

Blocks until condition is met.

Configuration:

PropertyTypeDescription
ConditionStringCondition expression
TimeoutNumberMaximum wait time
On TimeoutEnumproceed, fail

Generated YAML:

type: gate
condition: $results.length >= 3
timeout: 30000
onTimeout: proceed

Loop Node

Repeats until condition.

Configuration:

PropertyTypeDescription
Max IterationsNumberMaximum loop count
ConditionStringContinue condition

Generated YAML:

type: loop
maxIterations: 5
condition: $confidence < 0.9

Utility Nodes

Comment Node

Adds documentation to the canvas (not exported).

Configuration:

PropertyTypeDescription
TextStringComment text
ColorStringBackground color

Group Node

Groups related nodes visually.

Configuration:

PropertyTypeDescription
LabelStringGroup label
ColorStringBorder color

Node Handles

Input Handles (Left)

Where connections enter the node:

  • Data Input: Receives data from previous nodes
  • Trigger Input: Receives execution trigger

Output Handles (Right)

Where connections exit the node:

  • Data Output: Sends data to next nodes
  • Trigger Output: Triggers next node execution
  • Error Output: Sends errors to error handlers

Node States

StateIndicatorMeaning
DefaultGray borderNormal state
SelectedBlue borderCurrently selected
ErrorRed borderValidation error
WarningYellow borderPotential issue

Next Steps