Syntax
Agents are written in JSONC: JSON with comments. Every value keeps its JSON meaning, with one extension: a string enclosed in braces is a Python expression.
Comments
Line comments (//) and block comments (/* */) are allowed anywhere. Validation strips them, so a published agent is plain JSON.
Keys and values
A key is always a plain name: a function name, a command name or a field name. The structure of the definition, the functions and the commands each have their own page.
A value is a JSON string, number, boolean, list or object. Each field of a command expects one of those types, and the command reference shows the type of every field.
Dynamic strings
A string wrapped in { ... } is a Python expression, evaluated when the agent runs. Any other string is plain text. A field that may hold either is called a dynamic string in the command reference.
"var": {
"label": "Order total",
"total": "{ price * quantity }"
}What an expression may contain, what it can see, how it is checked and how it runs are on Python expressions.

