You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: doc/GRAMMAR.md
+9-3Lines changed: 9 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -524,6 +524,7 @@ api_type: chat_completions # default for all models
524
524
models:
525
525
gpt_default: gpt-4.1
526
526
gpt_responses: gpt-5.1
527
+
claude_native: claude-opus-4.7
527
528
model_settings:
528
529
gpt_default:
529
530
temperature: 0.7
@@ -532,16 +533,21 @@ model_settings:
532
533
endpoint: https://api.githubcopilot.com
533
534
token: CAPI_TOKEN # env var name containing the API key
534
535
temperature: 0.5
536
+
claude_native:
537
+
api_type: messages # use the Anthropic Messages API
538
+
backend: anthropic_sdk
539
+
reasoning:
540
+
effort: high
535
541
```
536
542
537
543
The following keys in `model_settings` are handled by the engine and are not
538
544
passed to the underlying model provider:
539
545
540
546
| Key | Description | Default |
541
547
|-----|-------------|---------|
542
-
| `api_type` | `"chat_completions"` or `"responses"` | Inherited from top-level `api_type`, or `"chat_completions"` |
548
+
| `api_type` | `"chat_completions"`, `"responses"`, or `"messages"` | Inherited from top-level `api_type`, or `"chat_completions"` |
549
+
| `backend` | SDK adapter: `"openai_agents"`, `"copilot_sdk"`, or `"anthropic_sdk"` | Inherited from top-level `backend`, or `"openai_agents"` |
543
550
| `endpoint` | API base URL for this model | The global `AI_API_ENDPOINT` env var |
544
551
| `token` | Name of an environment variable containing the API key | Uses `AI_API_TOKEN` / `COPILOT_TOKEN` |
545
552
546
-
All other keys (e.g. `temperature`, `top_p`) are passed through as model
547
-
parameters to the OpenAI SDK.
553
+
All other keys (e.g. `temperature`, `top_p`, `reasoning`) are forwarded to the selected SDK backend. Each backend decides what to do with each key: `openai_agents`accepts the standard OpenAI parameter set; `anthropic_sdk` forwards a curated subset (currently `temperature`, `top_p`, `reasoning`, `max_tokens`, `stream_thinking`, `prompt_caching`) and silently ignores keys outside that set; `copilot_sdk` consumes the keys its SDK exposes (e.g. `reasoning_effort`) and **rejects** unsupported keys at validate time with `BackendCapabilityError` (currently `temperature` and `parallel_tool_calls`) rather than silently dropping them. Consult the backend-specific docs if in doubt.
0 commit comments