Configuration
A prompt version carries three things alongside its messages — model config, tools, and an output format — each edited as raw JSON in the dashboard and passed through unchanged by compile.
A version stores more than text. Alongside its messages, it carries three pieces of configuration that travel with the content and version atomically:
- Model config — provider, model, and sampling parameters.
- Tools — function tools and attached MCP servers.
- Output format — text, JSON object, or a named JSON schema.
In the dashboard, all three are edited as raw JSON (variables have their own panel). compile() passes each through unchanged — it renders only the messages — so what you save is exactly what you hand to your provider.