Appearance
Built-in nodes
All nodes support id, evaluated input, optional input/output schemas, timeoutMs, and retry policy. The table summarizes the node-specific contract; use the generated TypeScript API for exact types.
AI-oriented nodes (llm-prompt, ai-router, agent-request) reference semantic model roles only. They do not embed provider model IDs; deployment configuration maps each role to a concrete provider/model.
| Type | Purpose | Required node configuration or input |
|---|---|---|
script | Run an exported main function from inline or external JS/TS source | script.source; permissions are parsed but not enforced in v1 |
llm-prompt | Invoke the model selected by a semantic role | optional model.role, prompt, output format, and toolset names |
ai-router | Ask the router model to select a declared route | non-empty routes; optional fixed model.role: router |
condition | Select the first truthy expression route | non-empty conditions; optional defaultRoute |
map | Build or merge a JSON-like template containing $expr entries | mapping.template; mode replace or merge |
http-request | Make a policy-controlled HTTP request | http.method; evaluated url, query, headers, and body inputs |
join | Forward combined inputs after active branches meet | at least two incoming connections |
store-save | Save a value for the current run | evaluated key and value |
store-read | Read current-run state | evaluated key; optional default |
memory-file-write | Replace a configured UTF-8 file memory | memory, content; optional scope |
memory-file-read | Read a configured UTF-8 file memory | memory; optional scope and missingMessage |
memory-value-save | Save JSON state through a configured key/value memory | memory, key, value; optional scope |
memory-value-read | Read JSON state through a configured key/value memory | memory, key; optional scope, default, missingMessage |
agent-request | Perform one agent model turn and route to tool, interaction, or final | maxSteps; optional model.role |
tool-call | Invoke an allowed tool, optionally after approval | evaluated tool, arguments, optional callId |
interaction-input | Ask one or more questions and suspend if unanswered | evaluated question fields; checkpoint store for deferral |
workflow | Invoke a composable child workflow | workflow tool name |
Script contract
External script modules export main, which receives resolved fields as arguments. File access is bounded during workflow loading, but execution itself is trusted. Declare an output schema when downstream nodes depend on a stable shape.
HTTP safety
The host supplies allowed schemes, hosts, and ports plus a secret resolver. Authentication refers to secret names rather than embedding values in YAML. Redirect targets are rechecked against policy. Non-idempotent retries require explicit opt-in.
Branching
condition, ai-router, and agent-request emit routes consumed by matching connections. Unknown AI routes fail rather than silently choosing a branch. Provide a condition default when “no match” is valid behavior.