NAT + DRAgent (YAML workflows)
What you edit: a single workflow.yaml (plus optional small Python modules that register extra tools). DRAgent is the runner and HTTP front end: it loads that file and exposes AG-UI over SSE.
The canonical example is e2e-tests/dragent/nat/workflow.yaml. The sections below match what you see there.
Installation
Guides (interfaces in the example)
| Topic | What it explains |
|---|---|
| agent.md | Top-level workflow.yaml: functions, workflow, llms, how they connect |
| llm.md | The llms: block and _type values (e.g. datarobot-llm-component) |
| mcp.md | function_groups, authentication, MCP tools in tool_names |
| a2a-client.md | A2A client: calling remote agents, agent card resolution (url / registry) |
| a2a-auth.md | A2A authentication: DataRobot API key and Okta XAA |
| caveats.md | Interface caveats |
Shared env vars: LLM configuration (shared). Streaming behavior (NAT ≥ 1.6): NAT 1.6 streaming in DRAgent.
Run the example
From e2e-tests/ (with credentials in the environment):
uv sync --group dragent-nat
uv run --group dragent-nat nat dragent run \
--config_file dragent/nat/workflow.yaml \
--input "Your prompt."
Serve HTTP: e2e-tests/dragent/Taskfile.yaml (run-nat).
Note: Older samples sometimes loaded the same YAML through a small Python wrapper. DRAgent is the path forward; treat workflow.yaml + nat dragent as the supported interface.