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

PropertyTypeRequiredDefaultDescription
fromstringtop-level onlySource node id (inferred when inline)
tostringyesTarget node id
typestringnorequestEdge type (see below)
labelstringnoEdge label
animatedbooleannofalseShow animated flow on connection
pathstringnobezierPath rendering style
source_handlestringnoSide of source: top, right, bottom, left
target_handlestringnoSide of target: top, right, bottom, left

Edge types

TypeMeaning
requestSynchronous request (default)
responseResponse to a request
asyncAsynchronous message
streamingStreaming data flow
eventEvent-driven trigger
errorError / exception path
defaultGeneric untyped connection

Path types

ValueDescription
bezierCurved line (default)
straightStraight line
stepRight-angle steps
smooth_stepSmooth right-angle steps
simple_bezierSimple bezier curve