Flow
Use this page to reference flow inputs, nodes, edges, and execution budgets.
The Flow manifest: the envelope (apiVersion, kind, metadata; see Manifests) plus spec.
Fields
FlowSpec (spec)
| Field | Type | Default | Meaning |
|---|---|---|---|
input | FlowInput | required | The input the ticket starts from. |
nodes | dict[str, FlowNode] | required | The flow's nodes, by id. |
edges | list[FlowEdge] | required | The flow's edges. |
requiresWorkspace | none or folder or git | none | Where the flow works. |
budget | Budget | Budget() | The flow's budget ceilings. |
alerts | list[float] | [0.75, 0.9] | The budget fractions at which to alert a person. |
humanReminder | duration or null | 12:00:00 | Remind about an unanswered human request after this long; null turns it off. |
FlowInput (spec.input)
| Field | Type | Default | Meaning |
|---|---|---|---|
artifact | str | required | The Schema of the ticket's input. |
FlowNode (spec.nodes)
| Field | Type | Default | Meaning |
|---|---|---|---|
type | str | required | The node's type: agent, script, human, lane, map or a plugin's. |
agent | str or null | null | agent: the Agent manifest the node runs. |
run | str or null | null | script: the command, or a built-in name. |
message | str or null | null | human: what the node asks the person. |
actions | list[str] | [] | human: the answers the node offers. |
requireComment | list[str] | [] | human: the actions that need a comment with their answer. |
attachFiles | bool | False | human: whether the answer may attach files. |
uses | str or null | null | lane: the Lane manifest the node runs. |
with | dict[str, str] | {} | lane: the parameters passed to the lane, by name. |
over | str or null | null | map: the artifact whose items the node repeats over. |
lane | str or null | null | map: the Lane manifest run once per item. |
itemAs | str or null | null | map: the name each item takes inside the lane. |
maxItems | int or null | null | map: the most items to run. |
maxParallel | int or null | null | map: how many items to run at once. |
writes | str or null | null | script/human: the Schema of the artifact the node writes. |
FlowEdge (spec.edges)
| Field | Type | Default | Meaning |
|---|---|---|---|
from | str or list[str] | required | The source node, or several for the same target. |
to | str or null | null | The target node, when the edge goes to one. |
when | str or null | null | A Python expression over artifacts; the edge is taken when it is true. |
choose | list[str] or null | null | The nodes the agent may pick among, when the edge branches. |
join | str or null | null | The node where parallel branches join. |
min | int or null | null | How many of choose the agent must pick. |
feedback | bool | False | Whether the target sees the source's artifact as feedback. |
newRound | bool | False | Whether taking the edge starts a new round. |
maxRounds | int or null | null | The most times the edge may be taken; required for a feedback edge. |
Budget (spec.budget)
| Field | Type | Default | Meaning |
|---|---|---|---|
tokens | int or null | null | The token ceiling. |
toolCalls | int or null | null | The tool-call ceiling. |
costUsd | float or null | null | The cost ceiling in US dollars. |
wallTime | duration or null | null | The wall-clock ceiling. |
maxTurns | int or null | null | The turn ceiling. |