Node リファレンス
Node は config_json に種別ごとの設定を持ちます。エディタの JSON 欄で編集します。
capability Node
既存 Capability を呼び出します。
{
"capability_key": "vault_write_file",
"inputs": {
"relative_path": {"$ref": "run.inputs.output_path"},
"content": {"$ref": "nodes.<agent_node_id>.output.note_body"}
},
"retry": {"max_attempts": 1, "backoff_seconds": 0}
}
capability_keyはtask_agent_capabilitiesに存在しenabled=1である必要があります。inputsは Capability の入力 schema に対応する値、または 型付き参照 です。retryは任意。max_attemptsは非負整数です。
ワークフロー専用 Capability
hitl_wait はワークフロー専用の疑似 Capability で、常に有効・承認ポリシー auto です。
HITL へ質問を登録し、人間が回答するまで Node を waiting_hitl で待機させます。
回答後は自動的に再開します(Run・承認・復旧 を参照)。
agent Node
既存の Agent を呼び出し、出力を JSON Schema で検証します。
{
"agent_id": "agent_abc123",
"inputs": {
"task": {"$ref": "run.inputs.task"},
"context": {"$ref": "nodes.<capability_node_id>.output.results"}
},
"output_schema": {
"type": "object",
"properties": {
"plan": {"type": "string"},
"risks": {"type": "array", "items": {"type": "string"}}
},
"required": ["plan"]
}
}
agent_idは既存 Agent の ID。Node ごとの prompt / model / tool 上書きはできません。output_schemaは必須で、JSON Schema サブセット(object/properties/required、primitive、enum、配列)のみ許可されます。- 実行時は Agent の最新設定が使われ、開始時点の設定指紋が監査用に記録されます。
- Agent の最終出力が
output_schemaに合わない場合、Node は失敗します。
loop Node
非循環の子グラフを反復実行します。
{
"state_schema": {
"type": "object",
"properties": {
"draft": {"type": "string"},
"review_comment": {"type": "string"},
"iteration": {"type": "integer"}
},
"required": ["draft"]
},
"input_mapping": {
"draft": {"$ref": "nodes.<plan_node_id>.output.plan"},
"iteration": 0
},
"continuation_condition": {
"from_path": "loop.state.review_comment",
"operator": "equals",
"value": ""
},
"max_iterations": 5,
"entry_node_id": "<child_node_id>"
}
state_schema— 反復状態の型。必須。input_mapping— 初回のloop.state初期値。親スコープの参照を使えます。continuation_condition— 真の間、反復を続けます。必須(未指定は検証エラー)。max_iterations— 1〜50。上限到達時はexit_reason=max_iterations_reachedで終了し、Run はincompleteになります。entry_node_id— 子グラフの開始 Node。子グラフ内の Node を指す必要があります。- Loop 終了時、親グラフへ
final_state/iterations/exit_reasonを出力します。
loop_result Node
Loop 子グラフの終端です。次の loop.state を返します。
{
"output_mapping": {
"draft": {"$ref": "nodes.<draft_node_id>.output.draft"},
"review_comment": {"$ref": "nodes.<review_node_id>.output.comment"},
"iteration": {"$ref": "loop.iteration"}
}
}
子グラフには loop_result がちょうど 1 つ必要です。
terminal Node
グラフの終端です。
{
"outcome": "success"
}
outcome は success または failure。failure Terminal に到達すると Run は failed になります。
outgoing Edge は持てません。
子グラフ内で使える参照
Loop の子グラフ内では、親と同じ型付き参照に加えて次が使えます。
loop.state.<field>— 現在の反復状態。loop.input.<field>—input_mappingで与えた初期入力。loop.iteration— 現在の反復番号(integer)。
loop.* は Loop 子グラフの外では使えません。