Edges
Edges define connections between nodes. They can be declared inline on a node or at the top level.
Inline edges
Edges defined directly on a node infer from as that node:
nodes:
orchestrator:
type: agent
edges:
- to: inventory-agent
label: Check stock
- to: recipe-agent
- to: streaming-service
type: streaming
animated: true
Top-level edges
Edges in the top-level edges array specify both from and to explicitly:
edges:
- from: inventory-agent
to: orchestrator
type: response
Both forms produce identical results and can be mixed freely.
Properties
| Property | Type | Required | Default | Description |
|---|---|---|---|---|
from | string | top-level only | — | Source node id (inferred when inline) |
to | string | yes | — | Target node id |
type | string | no | request | Edge type (see below) |
label | string | no | — | Edge label |
animated | boolean | no | false | Show animated flow on connection |
path | string | no | bezier | Path rendering style |
source_handle | string | no | — | Side of source: top, right, bottom, left |
target_handle | string | no | — | Side of target: top, right, bottom, left |
Edge types
| Type | Meaning |
|---|---|
request | Synchronous request (default) |
response | Response to a request |
async | Asynchronous message |
streaming | Streaming data flow |
event | Event-driven trigger |
error | Error / exception path |
default | Generic untyped connection |
Path types
| Value | Description |
|---|---|
bezier | Curved line (default) |
straight | Straight line |
step | Right-angle steps |
smooth_step | Smooth right-angle steps |
simple_bezier | Simple bezier curve |