Complete Example
This example shows a fully formedaion.yaml with multiple agents, capabilities, skills,
typed agent configuration, and optional HTTP app mounts.
Root Structure
aion.yaml must include the top-level aion key and an agents map.
Configuration Settings
| Setting | Required | Description |
|---|---|---|
aion.agents | yes | Map of agent IDs to agent configuration blocks. |
aion.agents.<agent_id>.path | yes | Import target (module_or_file[:symbol]) for agent discovery. |
aion.agents.<agent_id>.framework | no | Framework adapter selection (langgraph or adk). |
aion.agents.<agent_id>.capabilities | no | Declares runtime capabilities such as streaming and push notifications. |
aion.agents.<agent_id>.skills | no | Skill metadata surfaced in agent card output. |
aion.agents.<agent_id>.configuration | no | Typed configuration schema exposed via configuration metadata. |
aion.http.<mount_path> | no | Optional dynamic ASGI/FastAPI app mounts on the agent server. |
Required Field
| Field | Type | Description |
|---|---|---|
path | string | Import path to the agent object or factory function. |
Common Optional Fields
| Field | Type | Default | Notes |
|---|---|---|---|
framework | langgraph or adk | langgraph | Runtime adapter target. |
name | string | Agent | Agent display name in card metadata. |
description | string | empty | Human-readable summary. |
version | semver string | 1.0.0 | Format X.Y.Z. |
input_modes | string[] | ["text"] | Allowed: text, audio, image, video, json. |
output_modes | string[] | ["text"] | Allowed: text, audio, image, video, json. |
Path Patterns
path accepts module_or_file[:symbol].
| Pattern | Example | Behavior |
|---|---|---|
| File path + symbol | ./agent.py:build_graph | Loads a file module, then resolves the named symbol. |
| File path auto-discovery | ./agent.py | Loads a file module, then auto-discovers a supported object. |
| Dotted module + symbol | my_project.agent:create_agent | Imports module from PYTHONPATH, then resolves symbol. |
| Dotted module auto-discovery | my_project.agent | Imports module, then auto-discovers a supported object. |
:symbol because callables are not
selected by auto-discovery.
Capabilities
Skills
Agent Configuration
Useconfiguration to define the schema by which an agent can be configured.
This schema is represented in the Aion control plane so a deployer can set values for each
deployment context. The configured values are provided to the agent on each request.
This allows the same agent implementation to run in multiple environments with different
configuration variables.
stringintegerfloatbooleanarrayobject
Common Field Properties
These properties are available on all agent-configuration field types.| Property | Type | Required | Description |
|---|---|---|---|
type | string | yes | Field type (string, integer, float, boolean, array, object). |
description | string | no | Human-readable field description. |
default | any | no | Default value when not provided. |
required | boolean | no | Whether the field must be provided. |
nullable | boolean | no | Whether null is allowed. |
enum | array | no | Restricts values to a fixed set. |
String Fields
| Property | Type | Description |
|---|---|---|
min_length | integer | Minimum character length. |
max_length | integer | Maximum character length. |
enum | string[] | Allowed values list. |
Integer Fields
| Property | Type | Description |
|---|---|---|
min | integer | Inclusive minimum value. |
max | integer | Inclusive maximum value. |
enum | integer[] | Allowed integer values list. |
Float Fields
| Property | Type | Description |
|---|---|---|
min | number | Inclusive minimum value. |
max | number | Inclusive maximum value. |
enum | number[] | Allowed floating-point values list. |
Boolean Fields
Boolean fields use common properties only. Example:Array Fields
| Property | Type | Description |
|---|---|---|
min_length | integer | Minimum array item count. |
max_length | integer | Maximum array item count. |
items | object | Schema describing each array item. |
Object Fields
| Property | Type | Description |
|---|---|---|
items | object | Map of property names to nested field schemas. |
Framework Notes
- LangGraph paths should resolve to a graph instance or graph factory function.
- ADK paths should resolve to a
BaseAgentinstance or factory function.