docs(graph): clarify runtime guard wording and nested paths for agent inputs
1 file changed
+8
-2
+8
-2
@@ -309,7 +309,9 @@ resolved strictly (a missing key fails the node before the child starts, with
|
|||||||
- A value that is exactly one reference (`"{{inner_width}}"`) hands the
|
- A value that is exactly one reference (`"{{inner_width}}"`) hands the
|
||||||
parent's JSON value through unchanged: numbers stay numbers, lists stay
|
parent's JSON value through unchanged: numbers stay numbers, lists stay
|
||||||
lists, objects stay objects. Scripts in the child see the real type;
|
lists, objects stay objects. Scripts in the child see the real type;
|
||||||
the child's own templates stringify it the usual way.
|
the child's own templates stringify it the usual way. Nested paths work
|
||||||
|
the same way (`"{{limits.width}}"` hands through `limits.width` with its
|
||||||
|
type intact).
|
||||||
- Anything else (`"Repo: {{repo}}"`, `"{{a}}-{{b}}"`) renders to a string.
|
- Anything else (`"Repo: {{repo}}"`, `"{{a}}-{{b}}"`) renders to a string.
|
||||||
- **`null` is a value, not an absence.** A lone `"{{k}}"` whose parent value
|
- **`null` is a value, not an absence.** A lone `"{{k}}"` whose parent value
|
||||||
is `null` overlays the child's default with `null`. Because `state_updates`
|
is `null` overlays the child's default with `null`. Because `state_updates`
|
||||||
@@ -318,7 +320,11 @@ resolved strictly (a missing key fails the node before the child starts, with
|
|||||||
`x: null`, not its own default.
|
`x: null`, not its own default.
|
||||||
|
|
||||||
**Two things are rejected**, both at load time by the validator and again at
|
**Two things are rejected**, both at load time by the validator and again at
|
||||||
runtime for graphs running with `validate_before_run: false`:
|
runtime for graphs running with `validate_before_run: false`. The validator
|
||||||
|
messages below name the node; the runtime guards name the agent instead
|
||||||
|
(`agent '<name>' has no graph.yaml; …` / `agent '<name>': `inputs.initial_prompt`
|
||||||
|
is reserved …`) and arrive wrapped in the usual `at node '<id>': Agent '<name>'
|
||||||
|
failed:` context, so the node is still recoverable from the error chain.
|
||||||
|
|
||||||
- `inputs:` on a node whose `agent` has a `config.yaml` but no `graph.yaml`
|
- `inputs:` on a node whose `agent` has a `config.yaml` but no `graph.yaml`
|
||||||
(`agent node '<id>': `inputs:` requires agent '<name>' to be a graph agent
|
(`agent node '<id>': `inputs:` requires agent '<name>' to be a graph agent
|
||||||
|
|||||||
Reference in new issue
Block a user