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.