converse-mcp-server 3.6.1 → 3.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.env.example +3 -3
- package/README.md +26 -21
- package/docs/API.md +25 -20
- package/docs/PROVIDERS.md +25 -20
- package/package.json +11 -11
- package/src/config.js +3 -3
- package/src/providers/anthropic.js +33 -4
- package/src/providers/claude.js +43 -23
- package/src/providers/codex.js +25 -11
- package/src/providers/copilot.js +47 -7
- package/src/providers/openai.js +92 -23
- package/src/utils/modelRouting.js +3 -3
package/.env.example
CHANGED
|
@@ -80,9 +80,9 @@ OPENROUTER_API_KEY=your_openrouter_api_key_here
|
|
|
80
80
|
# WARNING: Interactive policies may cause hangs in server/headless mode
|
|
81
81
|
# CODEX_APPROVAL_POLICY=never
|
|
82
82
|
|
|
83
|
-
# Default Codex backend model (default: gpt-6-
|
|
84
|
-
# Options: gpt-6-astra, gpt-5.6-sol, gpt-5.6-terra, gpt-5.6-luna, gpt-5.5, gpt-5.3-codex-spark
|
|
85
|
-
# CODEX_MODEL=gpt-6-
|
|
83
|
+
# Default Codex backend model (default: gpt-6-sol). Per-request override: models: ["codex:<model>"]
|
|
84
|
+
# Options: gpt-6-sol, gpt-6-luna, gpt-6-astra, gpt-5.6-sol, gpt-5.6-terra, gpt-5.6-luna, gpt-5.5, gpt-5.3-codex-spark
|
|
85
|
+
# CODEX_MODEL=gpt-6-sol
|
|
86
86
|
|
|
87
87
|
# ============================================
|
|
88
88
|
# Server Configuration
|
package/README.md
CHANGED
|
@@ -211,9 +211,12 @@ SUMMARIZATION_MODEL=gpt-5-nano # Default: gpt-5-nano
|
|
|
211
211
|
|
|
212
212
|
### OpenAI Models
|
|
213
213
|
|
|
214
|
-
- **gpt-
|
|
215
|
-
- **gpt-
|
|
216
|
-
- **gpt-
|
|
214
|
+
- **gpt-6-sol** (default; aliases: `gpt-6`, `gpt-5`, `sol`): Default GPT-6 (1M context, 128K output) - Complex coding and agentic workflows; effort `none`–`max`
|
|
215
|
+
- **gpt-6-luna** (alias: `luna`): Most efficient GPT-6 (1M context, 128K output) - Focused, high-volume tasks; effort `none`–`max`
|
|
216
|
+
- **gpt-6-astra** (alias: `astra`): Frontier GPT-6 flagship (1M context, 128K output) - Hardest end-to-end work; effort `low`–`max` (EXPENSIVE: 5x Sol)
|
|
217
|
+
- **gpt-5.6-sol** (alias: `gpt-5.6`): Previous flagship GPT-5.6 (1M context, 128K output)
|
|
218
|
+
- **gpt-5.6-terra** (alias: `terra`): Lower-cost GPT-5.6 (400K context, 128K output) - Performance competitive with GPT-5.5 at half the price
|
|
219
|
+
- **gpt-5.6-luna**: Fastest, most affordable GPT-5.6 (400K context, 128K output)
|
|
217
220
|
- **gpt-5.4**: Flagship-class reasoning (1M context, 128K output)
|
|
218
221
|
- **gpt-5.4-pro** (alias: `gpt-5-pro`): Maximum-performance reasoning (1M context, 272K output) - Hardest problems, extended compute time (EXPENSIVE)
|
|
219
222
|
- **gpt-5-mini**, **gpt-5-nano**: Faster, cost-efficient GPT-5 tiers (400K context, 128K output)
|
|
@@ -247,9 +250,10 @@ SUMMARIZATION_MODEL=gpt-5-nano # Default: gpt-5-nano
|
|
|
247
250
|
|
|
248
251
|
### Anthropic Models
|
|
249
252
|
|
|
253
|
+
- **claude-opus-5-5** (default; aliases: `opus`, `opus-5.5`, `claude-opus`): Flagship Opus for complex agentic coding and deep reasoning; thinking always on, effort `low`–`max` (1M context, 128K output)
|
|
250
254
|
- **claude-fable-5** (alias: `fable`): Most capable model for demanding reasoning and long-horizon agentic work (1M context, 128K output)
|
|
251
|
-
- **claude-opus-
|
|
252
|
-
- **claude-opus-4-7** / **claude-opus-4-6**:
|
|
255
|
+
- **claude-opus-5** (alias: `opus-5`): Previous Opus generation (1M context, 128K output)
|
|
256
|
+
- **claude-opus-4-8** / **claude-opus-4-7** / **claude-opus-4-6**: Earlier Opus generations with adaptive thinking (200K context, 1M via beta, 128K output)
|
|
253
257
|
- **claude-opus-4-5** / **claude-opus-4-1**: Legacy Opus models with extended thinking (64K / 32K output)
|
|
254
258
|
- **claude-sonnet-4-6** (alias: `sonnet`): Best combination of speed and intelligence with adaptive thinking (64K output)
|
|
255
259
|
- **claude-haiku-4-5** (alias: `haiku`): Fast and intelligent for simple queries (64K output)
|
|
@@ -281,9 +285,9 @@ Any other model works via its full `provider/model` slug or the `openrouter:` na
|
|
|
281
285
|
|
|
282
286
|
### Codex Models
|
|
283
287
|
|
|
284
|
-
- **codex**: OpenAI Codex agentic coding assistant (GPT-6
|
|
285
|
-
- Pick another backend per request with `codex:<model>` (e.g. `codex:
|
|
286
|
-
- `reasoning_effort` maps onto the tiers the chosen backend accepts (GPT-6 Astra: `low` through `max`, no `none`)
|
|
288
|
+
- **codex**: OpenAI Codex agentic coding assistant (GPT-6 Sol by default)
|
|
289
|
+
- Pick another backend per request with `codex:<model>` (e.g. `codex:luna`, `codex:astra`, `codex:gpt-5.6-terra`) or globally with `CODEX_MODEL`; backends: `gpt-6-sol` (aliases `sol`, `gpt-6`), `gpt-6-luna` (`luna`), `gpt-6-astra` (`astra`), `gpt-5.6-sol`, `gpt-5.6-terra` (`terra`), `gpt-5.6-luna`, `gpt-5.5`, `gpt-5.3-codex-spark` (`spark`)
|
|
290
|
+
- `reasoning_effort` maps onto the tiers the chosen backend accepts (Sol/Luna: `none` through `max`; GPT-6 Astra: `low` through `max`, no `none`)
|
|
287
291
|
- Thread-based sessions with persistent context
|
|
288
292
|
- Direct filesystem access from working directory
|
|
289
293
|
- Typical response time: 6-20 seconds (longer for complex tasks)
|
|
@@ -293,17 +297,17 @@ Any other model works via its full `provider/model` slug or the `openrouter:` na
|
|
|
293
297
|
### Claude Agent SDK Models
|
|
294
298
|
|
|
295
299
|
- **claude** (aliases: `claude-sdk`, `claude-code`): Claude via the Claude Agent SDK
|
|
296
|
-
- Defaults to Claude
|
|
300
|
+
- Defaults to Claude Opus 5.5 (`claude-opus-5-5`); `claude:opus` selects Opus 5.5, `claude:opus-5` selects Opus 5, `claude:fable` / `claude:fable-5.1` select Fable 5.1, and `claude:fable-5` selects Fable 5.0
|
|
297
301
|
- Uses Claude Code CLI authentication (`claude login`) - no API key needed
|
|
298
302
|
- Direct filesystem access from working directory
|
|
299
303
|
- Unknown `claude:`-prefixed names pass through to the SDK (e.g. `claude:claude-sonnet-4-6`)
|
|
300
304
|
|
|
301
305
|
### GitHub Copilot SDK Models
|
|
302
306
|
|
|
303
|
-
Reach these with the `copilot:` namespace (e.g. `copilot:gpt-
|
|
307
|
+
Reach these with the `copilot:` namespace (e.g. `copilot:gpt-6-sol`); uses your GitHub Copilot subscription (`gh auth login`) - no API key needed:
|
|
304
308
|
|
|
305
|
-
- **OpenAI**: `gpt-
|
|
306
|
-
- **Anthropic**: `claude-
|
|
309
|
+
- **OpenAI**: `gpt-6-sol` (aliases: `gpt-6`, `gpt-5`, `sol`), `gpt-6-luna` (alias: `luna`), `gpt-5.6-sol` (alias: `gpt-5.6`), `gpt-5.6-terra`, `gpt-5.6-luna` (all support `reasoning_effort`)
|
|
310
|
+
- **Anthropic**: `claude-opus-5.5` (aliases: `opus`, `claude`), `claude-fable-5` (alias: `fable`), `claude-sonnet-5` (alias: `sonnet`), `claude-opus-5`, `claude-opus-4.8`
|
|
307
311
|
- **Google**: `gemini-3.1-pro-preview` (aliases: `gemini`, `gemini-3.1-pro`), `gemini-3.8-flash` (aliases: `gemini-3.8`, `flash-3.8`), `gemini-3.5-flash` (alias: `gemini-flash`)
|
|
308
312
|
- Any other `copilot:<id>` is forwarded to the Copilot backend verbatim
|
|
309
313
|
|
|
@@ -359,7 +363,7 @@ CODEX_API_KEY=your_codex_api_key_here # Optional if ChatGPT login availabl
|
|
|
359
363
|
CODEX_SANDBOX_MODE=read-only # read-only (default), workspace-write, danger-full-access
|
|
360
364
|
CODEX_SKIP_GIT_CHECK=true # true (default), false
|
|
361
365
|
CODEX_APPROVAL_POLICY=never # never (default), untrusted, on-failure, on-request
|
|
362
|
-
CODEX_MODEL=gpt-6-
|
|
366
|
+
CODEX_MODEL=gpt-6-sol # gpt-6-sol (default), gpt-6-luna, gpt-6-astra, gpt-5.6-sol, gpt-5.6-terra, gpt-5.6-luna, gpt-5.5
|
|
363
367
|
```
|
|
364
368
|
|
|
365
369
|
### Configuration Options
|
|
@@ -433,12 +437,13 @@ Use `"auto"` for automatic model selection, or specify exact models:
|
|
|
433
437
|
"deepseek"; // -> deepseek-v4-pro
|
|
434
438
|
"mistral"; // -> mistral-medium-3-5
|
|
435
439
|
"fable"; // -> claude-fable-5 (Anthropic API)
|
|
436
|
-
"opus"; // -> claude-opus-
|
|
440
|
+
"opus"; // -> claude-opus-5-5 (Anthropic API)
|
|
437
441
|
|
|
438
442
|
// SDK providers (subscription-based, no API key)
|
|
439
|
-
"claude"; // -> Claude Agent SDK (Claude
|
|
440
|
-
"claude:
|
|
441
|
-
"
|
|
443
|
+
"claude"; // -> Claude Agent SDK (Claude Opus 5.5)
|
|
444
|
+
"claude:fable"; // -> Claude Agent SDK (Claude Fable 5.1)
|
|
445
|
+
"codex:luna"; // -> Codex (GPT-6 Luna)
|
|
446
|
+
"copilot:gpt-6-sol"; // -> GitHub Copilot SDK
|
|
442
447
|
```
|
|
443
448
|
|
|
444
449
|
**Auto Model Behavior:**
|
|
@@ -448,14 +453,14 @@ Use `"auto"` for automatic model selection, or specify exact models:
|
|
|
448
453
|
|
|
449
454
|
Provider priority order (subscription-based SDK providers first, then API-key providers):
|
|
450
455
|
|
|
451
|
-
1. Codex (`codex`)
|
|
456
|
+
1. Codex (`codex` → GPT-6 Sol)
|
|
452
457
|
2. Gemini via Antigravity CLI (`gemini` → Gemini 3.8 Flash, `gemini:pro`)
|
|
453
|
-
3. Claude Agent SDK (`claude` → Claude
|
|
458
|
+
3. Claude Agent SDK (`claude` → Claude Opus 5.5)
|
|
454
459
|
4. Copilot (`copilot`)
|
|
455
|
-
5. OpenAI (`gpt-
|
|
460
|
+
5. OpenAI (`gpt-6` → GPT-6 Sol)
|
|
456
461
|
6. Google (`gemini-pro`)
|
|
457
462
|
7. XAI (`grok-4.5`)
|
|
458
|
-
8. Anthropic (`claude-
|
|
463
|
+
8. Anthropic (`claude-opus-5-5`)
|
|
459
464
|
9. Mistral (`mistral-medium-3-5`)
|
|
460
465
|
10. DeepSeek (`deepseek-v4-pro`)
|
|
461
466
|
11. OpenRouter (`z-ai/glm-5.2`)
|
package/docs/API.md
CHANGED
|
@@ -374,9 +374,12 @@ Provide models as plain name strings in the `models` array. Bare names and alias
|
|
|
374
374
|
|
|
375
375
|
| Model | Aliases | Context | Output | Notes |
|
|
376
376
|
|-------|---------|---------|--------|-------|
|
|
377
|
-
| `gpt-
|
|
378
|
-
| `gpt-
|
|
379
|
-
| `gpt-
|
|
377
|
+
| `gpt-6-sol` | `gpt-6`, `gpt-5`, `sol` | 1M | 128K | Default OpenAI model; effort `none`–`max` |
|
|
378
|
+
| `gpt-6-luna` | `luna` | 1M | 128K | Most efficient GPT-6; effort `none`–`max` |
|
|
379
|
+
| `gpt-6-astra` | `astra` | 1M | 128K | Frontier flagship (expensive); effort `low`–`max`, no `none` |
|
|
380
|
+
| `gpt-5.6-sol` | `gpt-5.6` | 1M | 128K | Previous flagship |
|
|
381
|
+
| `gpt-5.6-terra` | `terra` | 400K | 128K | Lower-cost GPT-5.6 tier |
|
|
382
|
+
| `gpt-5.6-luna` | — | 400K | 128K | Fastest GPT-5.6 tier |
|
|
380
383
|
| `gpt-5.4` | — | 1M | 128K | Flagship-class reasoning |
|
|
381
384
|
| `gpt-5.4-pro` | `gpt-5-pro` | 1M | 272K | Maximum performance (expensive) |
|
|
382
385
|
| `gpt-5-mini`, `gpt-5-nano` | — | 400K | 128K | Fast, cost-efficient tiers |
|
|
@@ -410,14 +413,15 @@ Provide models as plain name strings in the `models` array. Bare names and alias
|
|
|
410
413
|
|
|
411
414
|
| Model | Aliases | Context | Output | Notes |
|
|
412
415
|
|-------|---------|---------|--------|-------|
|
|
416
|
+
| `claude-opus-5-5` | `opus`, `opus-5.5`, `claude-opus` | 1M | 128K | Default. Flagship Opus, always-on adaptive thinking + effort (no compaction yet) |
|
|
413
417
|
| `claude-fable-5` | `fable`, `fable-5` | 1M | 128K | Most capable, adaptive thinking + effort, images, caching, compaction |
|
|
414
|
-
| `claude-opus-5` | `opus
|
|
418
|
+
| `claude-opus-5` | `opus-5` | 1M | 128K | Previous Opus, adaptive thinking + effort, compaction |
|
|
415
419
|
| `claude-opus-4-8`, `claude-opus-4-7`, `claude-opus-4-6` | `opus-4.8`, `opus-4.7`, `opus-4.6` | 200K (1M beta) | 128K | Previous Opus generations |
|
|
416
420
|
| `claude-opus-4-5-20251101`, `claude-opus-4-1-20250805` | `opus-4.5`, `opus-4.1` | 200K | 64K / 32K | Earlier Opus tiers |
|
|
417
421
|
| `claude-sonnet-4-6` | `sonnet`, `sonnet-4.6` | 200K (1M beta) | 64K | Best speed/intelligence balance, adaptive thinking |
|
|
418
422
|
| `claude-haiku-4-5-20251001` | `haiku`, `haiku-4.5` | 200K | 64K | Fast and intelligent |
|
|
419
423
|
|
|
420
|
-
Models with adaptive thinking control depth via `reasoning_effort`, which is passed by name to Anthropic's `effort` parameter and clamped to what each model accepts: Fable 5, Opus 5, Opus 4.8, and Opus 4.7 take `low`–`max`; Opus 4.6 and Sonnet 4.6 lack `xhigh` (it becomes `max`); Opus 4.5 tops out at `high`. `none` and `minimal` become `low` everywhere. System prompts are automatically cached for 1 hour; cache stats appear in response metadata as `cache_creation_input_tokens` / `cache_read_input_tokens`.
|
|
424
|
+
Models with adaptive thinking control depth via `reasoning_effort`, which is passed by name to Anthropic's `effort` parameter and clamped to what each model accepts: Opus 5.5, Fable 5, Opus 5, Opus 4.8, and Opus 4.7 take `low`–`max`; Opus 4.6 and Sonnet 4.6 lack `xhigh` (it becomes `max`); Opus 4.5 tops out at `high`. `none` and `minimal` become `low` everywhere. System prompts are automatically cached for 1 hour; cache stats appear in response metadata as `cache_creation_input_tokens` / `cache_read_input_tokens`.
|
|
421
425
|
|
|
422
426
|
### Mistral Models
|
|
423
427
|
|
|
@@ -456,20 +460,20 @@ Any other model works via its full `provider/model` slug (e.g. `anthropic/claude
|
|
|
456
460
|
|
|
457
461
|
**Codex** is an agentic coding assistant with direct filesystem access:
|
|
458
462
|
|
|
459
|
-
- **Model**: `codex` (underlying model: GPT-6
|
|
460
|
-
- **Backend selection**: `codex:<model>` per request (e.g. `codex:
|
|
463
|
+
- **Model**: `codex` (underlying model: GPT-6 Sol by default)
|
|
464
|
+
- **Backend selection**: `codex:<model>` per request (e.g. `codex:luna`, `codex:astra`, `codex:gpt-5.6-terra`), or `CODEX_MODEL` globally; `sol`/`luna`/`gpt-6` name the GPT-6 tiers, the GPT-5.6 tiers are reached by full slug; unknown names pass through to the CLI verbatim
|
|
461
465
|
- **Thread-based sessions**: persistent conversation history via `continuation_id` in `chat` mode
|
|
462
466
|
- **Direct file access**: reads files from the working directory (paths relative to `CLIENT_CWD`)
|
|
463
467
|
- **Response times**: 6-20 seconds typical (complex tasks may take minutes)
|
|
464
468
|
- **Authentication**: ChatGPT login OR `CODEX_API_KEY` (NOT `OPENAI_API_KEY`)
|
|
465
|
-
- `reasoning_effort` is clamped onto the tiers the chosen backend accepts (GPT-6
|
|
469
|
+
- `reasoning_effort` is clamped onto the tiers the chosen backend accepts (GPT-6 Sol/Luna and GPT-5.6: `none`–`max`; GPT-6 Astra: `low`–`max`, no `none`); web search is not applicable — Codex manages its own execution
|
|
466
470
|
|
|
467
471
|
### Claude Agent SDK (subscription)
|
|
468
472
|
|
|
469
473
|
**Claude** is available through the Claude Agent SDK, using Claude Code CLI authentication instead of an API key:
|
|
470
474
|
|
|
471
|
-
- **Model**: `claude` (aliases: `claude-sdk`, `claude-code`) — defaults to Claude
|
|
472
|
-
- **Model selection**: `claude:
|
|
475
|
+
- **Model**: `claude` (aliases: `claude-sdk`, `claude-code`) — defaults to Claude Opus 5.5 (`claude-opus-5-5`)
|
|
476
|
+
- **Model selection**: `claude:opus` or `claude:opus-5.5` (Claude Opus 5.5), `claude:opus-5` (Claude Opus 5), `claude:fable` or `claude:fable-5.1` (Claude Fable 5.1), `claude:fable-5` (Claude Fable 5.0); unknown `claude:`-prefixed names pass through to the SDK (e.g. `claude:claude-sonnet-4-6`)
|
|
473
477
|
- **Authentication**: `claude login` — no `ANTHROPIC_API_KEY` needed
|
|
474
478
|
- **Direct file access**: reads files from the working directory
|
|
475
479
|
- **Reasoning effort**: `reasoning_effort` maps to the SDK's `effort` option: `low`, `medium`, `high`, `xhigh`, or `max`; `none` and `minimal` become `low`. Omitting it retains the SDK default.
|
|
@@ -502,10 +506,10 @@ agy
|
|
|
502
506
|
|
|
503
507
|
### GitHub Copilot SDK (subscription)
|
|
504
508
|
|
|
505
|
-
Reach these with the `copilot:` namespace (e.g. `copilot:gpt-
|
|
509
|
+
Reach these with the `copilot:` namespace (e.g. `copilot:gpt-6-sol`); uses your GitHub Copilot subscription (`gh auth login`) — no API key needed:
|
|
506
510
|
|
|
507
|
-
- **OpenAI**: `gpt-
|
|
508
|
-
- **Anthropic**: `claude-
|
|
511
|
+
- **OpenAI**: `gpt-6-sol` (aliases: `gpt-6`, `gpt-5`, `sol`), `gpt-6-luna` (alias: `luna`), `gpt-5.6-sol` (alias: `gpt-5.6`), `gpt-5.6-terra`, `gpt-5.6-luna` (all accept `reasoning_effort`)
|
|
512
|
+
- **Anthropic**: `claude-opus-5.5` (aliases: `opus`, `claude`), `claude-fable-5` (alias: `fable`), `claude-sonnet-5` (alias: `sonnet`), `claude-opus-5`, `claude-opus-4.8`
|
|
509
513
|
- **Google**: `gemini-3.1-pro-preview` (aliases: `gemini`, `gemini-3.1-pro`), `gemini-3.8-flash` (aliases: `gemini-3.8`, `flash-3.8`), `gemini-3.5-flash` (alias: `gemini-flash`)
|
|
510
514
|
- Any other `copilot:<id>` is forwarded to the Copilot backend verbatim
|
|
511
515
|
|
|
@@ -515,7 +519,7 @@ Use `"auto"` for automatic selection, or specify exact models:
|
|
|
515
519
|
|
|
516
520
|
```text
|
|
517
521
|
"auto" // First available provider (chat); first 3 (consensus)
|
|
518
|
-
"gpt-
|
|
522
|
+
"gpt-6" // OpenAI flagship (-> gpt-6-sol)
|
|
519
523
|
"gemini-2.5-flash" // Google API
|
|
520
524
|
"grok-4.5" // X.AI
|
|
521
525
|
"deepseek" // DeepSeek (-> deepseek-v4-pro)
|
|
@@ -523,11 +527,12 @@ Use `"auto"` for automatic selection, or specify exact models:
|
|
|
523
527
|
"z-ai/glm-5.2" // OpenRouter (full slug)
|
|
524
528
|
"z-ai/glm-5.2:online" // OpenRouter with web search opt-in
|
|
525
529
|
"fable" // Anthropic API (-> claude-fable-5)
|
|
526
|
-
"opus" // Anthropic API (-> claude-opus-5)
|
|
527
|
-
"claude" // Claude Agent SDK (-> Claude
|
|
528
|
-
"claude:
|
|
530
|
+
"opus" // Anthropic API (-> claude-opus-5-5)
|
|
531
|
+
"claude" // Claude Agent SDK (-> Claude Opus 5.5)
|
|
532
|
+
"claude:fable" // Claude Agent SDK (Claude Fable 5.1)
|
|
533
|
+
"codex:luna" // Codex (GPT-6 Luna)
|
|
529
534
|
"gemini" // Antigravity CLI (Gemini 3.8 Flash)
|
|
530
|
-
"copilot:gpt-
|
|
535
|
+
"copilot:gpt-6-sol" // GitHub Copilot SDK
|
|
531
536
|
```
|
|
532
537
|
|
|
533
538
|
**Auto behavior:**
|
|
@@ -554,7 +559,7 @@ Control Codex behavior through environment variables:
|
|
|
554
559
|
- **`CODEX_SANDBOX_MODE`** — filesystem access: `read-only` (default), `workspace-write`, `danger-full-access` (containers only)
|
|
555
560
|
- **`CODEX_SKIP_GIT_CHECK`** — `true` (default) works in any directory; `false` requires a Git repository
|
|
556
561
|
- **`CODEX_APPROVAL_POLICY`** — `never` (default, recommended for servers), `untrusted`, `on-failure`, `on-request`
|
|
557
|
-
- **`CODEX_MODEL`** — underlying model for Codex sessions (default: `gpt-
|
|
562
|
+
- **`CODEX_MODEL`** — underlying model for Codex sessions (default: `gpt-6-sol`)
|
|
558
563
|
- **`CODEX_API_KEY`** — optional API key for headless deployments (alternative to ChatGPT login)
|
|
559
564
|
|
|
560
565
|
**Example (.env):**
|
|
@@ -563,7 +568,7 @@ CODEX_API_KEY=your_codex_api_key_here
|
|
|
563
568
|
CODEX_SANDBOX_MODE=read-only
|
|
564
569
|
CODEX_SKIP_GIT_CHECK=true
|
|
565
570
|
CODEX_APPROVAL_POLICY=never
|
|
566
|
-
CODEX_MODEL=gpt-
|
|
571
|
+
CODEX_MODEL=gpt-6-sol
|
|
567
572
|
```
|
|
568
573
|
|
|
569
574
|
## Context Processing
|
package/docs/PROVIDERS.md
CHANGED
|
@@ -9,9 +9,12 @@ This guide documents all supported AI providers in the Converse MCP Server and t
|
|
|
9
9
|
- **Get Key**: [platform.openai.com/api-keys](https://platform.openai.com/api-keys)
|
|
10
10
|
- **Environment Variable**: `OPENAI_API_KEY`
|
|
11
11
|
- **Supported Models**:
|
|
12
|
-
- `gpt-
|
|
12
|
+
- `gpt-6-sol` (aliases: `gpt-6`, `gpt-5`, `sol`) - Default GPT-6 and the default OpenAI model (1M context, 128K output; effort `none`–`max`)
|
|
13
|
+
- `gpt-6-luna` (alias: `luna`) - Most efficient GPT-6 for focused, high-volume tasks (1M context, 128K output; effort `none`–`max`)
|
|
14
|
+
- `gpt-6-astra` (alias: `astra`) - Frontier GPT-6 flagship, 5x the Sol price (1M context, 128K output; effort `low`–`max`)
|
|
15
|
+
- `gpt-5.6-sol` (alias: `gpt-5.6`) - Previous flagship GPT-5.6
|
|
13
16
|
- `gpt-5.6-terra` (alias: `terra`) - Lower-cost GPT-5.6, competitive with GPT-5.5
|
|
14
|
-
- `gpt-5.6-luna`
|
|
17
|
+
- `gpt-5.6-luna` - Fastest, most affordable GPT-5.6
|
|
15
18
|
- `gpt-5.4`, `gpt-5.4-mini`, `gpt-5.4-nano`, `gpt-5.4-pro`, `gpt-5-mini`, `gpt-5-nano` - GPT-5.4/GPT-5 family
|
|
16
19
|
- `o3`, `o3-pro`, `o4-mini` - Advanced reasoning models
|
|
17
20
|
- `gpt-4.1` - Large context (1M tokens)
|
|
@@ -45,9 +48,10 @@ This guide documents all supported AI providers in the Converse MCP Server and t
|
|
|
45
48
|
- **Get Key**: [console.anthropic.com](https://console.anthropic.com/)
|
|
46
49
|
- **Environment Variable**: `ANTHROPIC_API_KEY`
|
|
47
50
|
- **Supported Models**:
|
|
51
|
+
- `claude-opus-5-5` (aliases `opus`, `opus-5.5`, `claude-opus`) - Default. Flagship Opus for complex agentic coding and deep reasoning; thinking is always on, effort `low`–`max` (1M context, 128K output)
|
|
48
52
|
- `claude-fable-5` (alias `fable`) - Most capable model for demanding reasoning and long-horizon agentic work (1M context, 128K output)
|
|
49
|
-
- `claude-opus-5` (alias `opus`) -
|
|
50
|
-
- `claude-opus-4-8`, `claude-opus-4-7`, `claude-opus-4-6` -
|
|
53
|
+
- `claude-opus-5` (alias `opus-5`) - Previous Opus generation (1M context, 128K output)
|
|
54
|
+
- `claude-opus-4-8`, `claude-opus-4-7`, `claude-opus-4-6` - Earlier Opus generations with adaptive thinking (128K output)
|
|
51
55
|
- `claude-opus-4-5-20251101`, `claude-opus-4-1-20250805` - Legacy Opus models (64K / 32K output)
|
|
52
56
|
- `claude-sonnet-4-6` (alias `sonnet`) - Best combination of speed and intelligence with adaptive thinking (64K output)
|
|
53
57
|
- `claude-sonnet-4-5-20250929` - Legacy Sonnet (64K output)
|
|
@@ -101,11 +105,11 @@ This guide documents all supported AI providers in the Converse MCP Server and t
|
|
|
101
105
|
- `CODEX_SANDBOX_MODE` - Filesystem access control (default: read-only)
|
|
102
106
|
- `CODEX_SKIP_GIT_CHECK` - Skip Git repository validation (default: true)
|
|
103
107
|
- `CODEX_APPROVAL_POLICY` - Command approval behavior (default: never)
|
|
104
|
-
- `CODEX_MODEL` - Underlying model for Codex sessions (default: gpt-6-
|
|
108
|
+
- `CODEX_MODEL` - Underlying model for Codex sessions (default: gpt-6-sol; e.g. gpt-6-luna, gpt-6-astra, gpt-5.6-sol, gpt-5.6-terra, gpt-5.6-luna, gpt-5.5)
|
|
105
109
|
- **Supported Models**:
|
|
106
|
-
- `codex` - OpenAI Codex agentic coding assistant (GPT-6
|
|
107
|
-
- `codex:<model>` - Same, with an explicit backend: `codex:
|
|
108
|
-
- `reasoning_effort` is clamped onto what the backend accepts (GPT-6 Astra: `low`–`max`, no `none`)
|
|
110
|
+
- `codex` - OpenAI Codex agentic coding assistant (GPT-6 Sol by default)
|
|
111
|
+
- `codex:<model>` - Same, with an explicit backend: `codex:sol`, `codex:luna`, `codex:astra` (GPT-6), `codex:gpt-5.6-sol`, `codex:terra`, `codex:gpt-5.6-luna`, `codex:gpt-5.5`, `codex:spark`, or any slug the Codex CLI knows
|
|
112
|
+
- `reasoning_effort` is clamped onto what the backend accepts (Sol/Luna: `none`–`max`; GPT-6 Astra: `low`–`max`, no `none`)
|
|
109
113
|
- Thread-based sessions with persistent context
|
|
110
114
|
- Direct filesystem access from working directory
|
|
111
115
|
- Typical response time: 6-20 seconds (longer for complex tasks)
|
|
@@ -195,10 +199,11 @@ agy
|
|
|
195
199
|
- **Setup Required**: Authenticate once with `claude login` (Claude Code CLI)
|
|
196
200
|
- **Environment Variables**: None (uses Claude Code credentials)
|
|
197
201
|
- **Supported Models**:
|
|
198
|
-
- `claude` (aliases: `claude-sdk`, `claude-code`) - Defaults to Claude
|
|
199
|
-
- `claude:
|
|
202
|
+
- `claude` (aliases: `claude-sdk`, `claude-code`) - Defaults to Claude Opus 5.5 (`claude-opus-5-5`)
|
|
203
|
+
- `claude:opus` or `claude:opus-5.5` - Claude Opus 5.5 explicitly
|
|
204
|
+
- `claude:opus-5` - Claude Opus 5 (`claude-opus-5`)
|
|
205
|
+
- `claude:fable` or `claude:fable-5.1` - Claude Fable 5.1 (`claude-fable-5-1`)
|
|
200
206
|
- `claude:fable-5` - Claude Fable 5.0 (`claude-fable-5`)
|
|
201
|
-
- `claude:opus` - Claude Opus 5
|
|
202
207
|
- Other `claude:`-prefixed names pass through to the SDK (e.g. `claude:claude-sonnet-4-6`)
|
|
203
208
|
|
|
204
209
|
**Key Features:**
|
|
@@ -218,12 +223,12 @@ agy
|
|
|
218
223
|
- **Authentication**: GitHub Copilot subscription via the Copilot CLI (`gh auth login` with an active Copilot subscription) — no API key needed
|
|
219
224
|
- **Setup Required**: Authenticate the GitHub CLI and ensure your account has an active Copilot subscription
|
|
220
225
|
- **Environment Variables**: None
|
|
221
|
-
- **Supported Models** (reach them with the `copilot:` namespace, e.g. `copilot:gpt-
|
|
226
|
+
- **Supported Models** (reach them with the `copilot:` namespace, e.g. `copilot:gpt-6-sol`):
|
|
222
227
|
- `copilot` - Uses Copilot's default or env-configured model
|
|
223
|
-
- OpenAI: `gpt-
|
|
224
|
-
- Anthropic: `claude-
|
|
228
|
+
- OpenAI: `gpt-6-sol` (aliases: bare `gpt-6`, `gpt-5`, `sol`), `gpt-6-luna` (alias: `luna`), `gpt-5.6-sol` (alias: `gpt-5.6`), `gpt-5.6-terra`, `gpt-5.6-luna`
|
|
229
|
+
- Anthropic: `claude-opus-5.5` (aliases: `opus`, `claude`; Copilot Pro+/Max/Business/Enterprise), `claude-fable-5` (alias: `fable`), `claude-sonnet-5` (alias: `sonnet`), `claude-opus-5`, `claude-opus-4.8`
|
|
225
230
|
- Google: `gemini-3.1-pro-preview` (aliases: `gemini`, `gemini-3.1-pro`), `gemini-3.8-flash` (aliases: `gemini-3.8`, `flash-3.8`), `gemini-3.5-flash` (alias: `gemini-flash`)
|
|
226
|
-
- **Reasoning**: The
|
|
231
|
+
- **Reasoning**: The GPT-6 and GPT-5.6 tiers accept `reasoning_effort` (clamped onto Copilot's `low`–`xhigh`).
|
|
227
232
|
- **Explicit pass-through**: Any other `copilot:<id>` model string is forwarded to the Copilot backend verbatim, so IDs outside the curated list still work while the backend accepts them.
|
|
228
233
|
|
|
229
234
|
**Key Features:**
|
|
@@ -340,12 +345,12 @@ When using the chat tool in any mode, specify models using their identifiers:
|
|
|
340
345
|
The `models` array always holds plain model-name strings. Each string routes as follows:
|
|
341
346
|
|
|
342
347
|
```text
|
|
343
|
-
"gpt-
|
|
348
|
+
"gpt-6" // OpenAI (keyword match -> gpt-6-sol)
|
|
344
349
|
"fable" // Anthropic (keyword match -> claude-fable-5)
|
|
345
|
-
"opus" // Anthropic (keyword match -> claude-opus-5)
|
|
350
|
+
"opus" // Anthropic (keyword match -> claude-opus-5-5)
|
|
346
351
|
"sonnet" // Anthropic (keyword match -> claude-sonnet-4-6)
|
|
347
|
-
"claude" // Claude Agent SDK (defaults to Claude
|
|
348
|
-
"claude:
|
|
352
|
+
"claude" // Claude Agent SDK (defaults to Claude Opus 5.5)
|
|
353
|
+
"claude:fable" // Claude Agent SDK (Claude Fable 5.1)
|
|
349
354
|
"gemini-2.5-pro" // Google (keyword match)
|
|
350
355
|
"grok-4.5" // X.AI (keyword match)
|
|
351
356
|
"mistral-large" // Mistral (alias -> mistral-large-2512)
|
|
@@ -377,7 +382,7 @@ The `models` array always holds plain model-name strings. Each string routes as
|
|
|
377
382
|
|
|
378
383
|
### Model Not Found
|
|
379
384
|
- Use exact model identifiers as listed above
|
|
380
|
-
- Some providers support aliases (e.g., "fable" → "claude-fable-5", "opus" → "claude-opus-5")
|
|
385
|
+
- Some providers support aliases (e.g., "fable" → "claude-fable-5", "opus" → "claude-opus-5-5")
|
|
381
386
|
- Note: bare "claude" routes to the Claude Agent SDK provider, not the Anthropic API
|
|
382
387
|
- Check provider documentation for model availability in your region
|
|
383
388
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "converse-mcp-server",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.7.0",
|
|
4
4
|
"description": "Converse MCP Server - Converse with other LLMs with chat and consensus tools",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "src/index.js",
|
|
@@ -93,28 +93,28 @@
|
|
|
93
93
|
".env.example"
|
|
94
94
|
],
|
|
95
95
|
"dependencies": {
|
|
96
|
-
"@anthropic-ai/claude-agent-sdk": "^0.3.
|
|
97
|
-
"@anthropic-ai/sdk": "^0.
|
|
98
|
-
"@github/copilot-sdk": "^1.0.
|
|
99
|
-
"@google/genai": "^2.
|
|
96
|
+
"@anthropic-ai/claude-agent-sdk": "^0.3.276",
|
|
97
|
+
"@anthropic-ai/sdk": "^0.126.0",
|
|
98
|
+
"@github/copilot-sdk": "^1.0.14",
|
|
99
|
+
"@google/genai": "^2.23.0",
|
|
100
100
|
"@lydell/node-pty": "1.2.0-beta.15",
|
|
101
|
-
"@mistralai/mistralai": "^2.
|
|
101
|
+
"@mistralai/mistralai": "^2.7.0",
|
|
102
102
|
"@modelcontextprotocol/sdk": "^1.30.0",
|
|
103
|
-
"@openai/codex-sdk": "^0.
|
|
103
|
+
"@openai/codex-sdk": "^0.155.0",
|
|
104
104
|
"cors": "^2.8.6",
|
|
105
105
|
"dotenv": "^17.4.2",
|
|
106
106
|
"express": "^5.2.1",
|
|
107
107
|
"lru-cache": "^11.5.2",
|
|
108
108
|
"nanoid": "^6.0.1",
|
|
109
|
-
"openai": "^7.
|
|
109
|
+
"openai": "^7.18.0",
|
|
110
110
|
"p-limit": "^7.3.2",
|
|
111
|
-
"vite": "^8.
|
|
111
|
+
"vite": "^8.3.0"
|
|
112
112
|
},
|
|
113
113
|
"devDependencies": {
|
|
114
|
-
"@vitest/coverage-v8": "^5.0.
|
|
114
|
+
"@vitest/coverage-v8": "^5.0.1",
|
|
115
115
|
"cross-env": "^10.1.0",
|
|
116
116
|
"eslint": "^10.10.0",
|
|
117
117
|
"rimraf": "^6.1.3",
|
|
118
|
-
"vitest": "^5.0.
|
|
118
|
+
"vitest": "^5.0.1"
|
|
119
119
|
}
|
|
120
120
|
}
|
package/src/config.js
CHANGED
|
@@ -280,9 +280,9 @@ const CONFIG_SCHEMA = {
|
|
|
280
280
|
},
|
|
281
281
|
CODEX_MODEL: {
|
|
282
282
|
type: 'string',
|
|
283
|
-
default: 'gpt-6-
|
|
283
|
+
default: 'gpt-6-sol',
|
|
284
284
|
description:
|
|
285
|
-
'Default Codex backend model (e.g., gpt-6-astra, gpt-5.6-sol, gpt-5.6-terra, gpt-5.6-luna, gpt-5.5)',
|
|
285
|
+
'Default Codex backend model (e.g., gpt-6-sol, gpt-6-luna, gpt-6-astra, gpt-5.6-sol, gpt-5.6-terra, gpt-5.6-luna, gpt-5.5)',
|
|
286
286
|
},
|
|
287
287
|
|
|
288
288
|
// Copilot configuration
|
|
@@ -295,7 +295,7 @@ const CONFIG_SCHEMA = {
|
|
|
295
295
|
type: 'string',
|
|
296
296
|
required: false,
|
|
297
297
|
description:
|
|
298
|
-
'Default model for Copilot SDK sessions (e.g., gpt-
|
|
298
|
+
'Default model for Copilot SDK sessions (e.g., gpt-6-sol, claude-opus-5.5, claude-sonnet-5)',
|
|
299
299
|
},
|
|
300
300
|
COPILOT_CLI_PATH: {
|
|
301
301
|
type: 'string',
|
|
@@ -21,6 +21,37 @@ const EFFORT_TIERS_LEGACY = ['low', 'medium', 'high'];
|
|
|
21
21
|
|
|
22
22
|
// Define supported Claude models with their capabilities
|
|
23
23
|
const SUPPORTED_MODELS = {
|
|
24
|
+
'claude-opus-5-5': {
|
|
25
|
+
modelName: 'claude-opus-5-5',
|
|
26
|
+
friendlyName: 'Claude Opus 5.5',
|
|
27
|
+
contextWindow: 1000000, // 1M context by default - no beta header required
|
|
28
|
+
maxOutputTokens: 128000,
|
|
29
|
+
supportsStreaming: true,
|
|
30
|
+
supportsImages: true,
|
|
31
|
+
supportsWebSearch: false,
|
|
32
|
+
supportsThinking: true,
|
|
33
|
+
supportsAdaptiveThinking: true, // Thinking is always on and cannot be disabled
|
|
34
|
+
timeout: 1800000,
|
|
35
|
+
supportsEffort: true,
|
|
36
|
+
effortGA: true,
|
|
37
|
+
effortTiers: EFFORT_TIERS_FULL,
|
|
38
|
+
// Absent from Anthropic's compaction compatibility list, unlike Opus 5
|
|
39
|
+
supportsCompaction: false,
|
|
40
|
+
description:
|
|
41
|
+
'Claude Opus 5.5 - Flagship Opus for complex agentic coding and deep reasoning; matches Fable 5.1 on most work at Opus pricing',
|
|
42
|
+
aliases: [
|
|
43
|
+
'claude-opus-5-5',
|
|
44
|
+
'claude-opus-5.5',
|
|
45
|
+
'claude-5.5-opus',
|
|
46
|
+
'claude-5-5-opus',
|
|
47
|
+
'opus-5.5',
|
|
48
|
+
'opus-5-5',
|
|
49
|
+
'opus5.5',
|
|
50
|
+
'opus5-5',
|
|
51
|
+
'opus',
|
|
52
|
+
'claude-opus',
|
|
53
|
+
],
|
|
54
|
+
},
|
|
24
55
|
'claude-fable-5': {
|
|
25
56
|
modelName: 'claude-fable-5',
|
|
26
57
|
friendlyName: 'Claude Fable 5',
|
|
@@ -63,15 +94,13 @@ const SUPPORTED_MODELS = {
|
|
|
63
94
|
effortTiers: EFFORT_TIERS_FULL,
|
|
64
95
|
supportsCompaction: true,
|
|
65
96
|
description:
|
|
66
|
-
'Claude Opus 5 -
|
|
97
|
+
'Claude Opus 5 - Previous Opus generation for complex agentic coding and deep reasoning',
|
|
67
98
|
aliases: [
|
|
68
99
|
'claude-opus-5',
|
|
69
100
|
'claude-5-opus',
|
|
70
101
|
'opus-5',
|
|
71
102
|
'opus5',
|
|
72
103
|
'claude-opus-5.0',
|
|
73
|
-
'opus',
|
|
74
|
-
'claude-opus',
|
|
75
104
|
],
|
|
76
105
|
},
|
|
77
106
|
'claude-opus-4-8': {
|
|
@@ -567,7 +596,7 @@ export const anthropicProvider = {
|
|
|
567
596
|
*/
|
|
568
597
|
async invoke(messages, options = {}) {
|
|
569
598
|
const {
|
|
570
|
-
model = 'claude-
|
|
599
|
+
model = 'claude-opus-5-5',
|
|
571
600
|
maxTokens = null,
|
|
572
601
|
stream = false,
|
|
573
602
|
reasoning_effort = 'medium',
|
package/src/providers/claude.js
CHANGED
|
@@ -17,15 +17,15 @@ import { debugLog, debugError } from '../utils/console.js';
|
|
|
17
17
|
import { ProviderError, ErrorCodes, StopReasons } from './interface.js';
|
|
18
18
|
import { clampReasoningEffort } from '../utils/reasoningEffort.js';
|
|
19
19
|
|
|
20
|
-
// Default underlying model when the request is just "claude" (or "claude:
|
|
21
|
-
const DEFAULT_SDK_MODEL = 'claude-
|
|
20
|
+
// Default underlying model when the request is just "claude" (or "claude:opus")
|
|
21
|
+
const DEFAULT_SDK_MODEL = 'claude-opus-5-5';
|
|
22
22
|
const SDK_EFFORT_TIERS = ['low', 'medium', 'high', 'xhigh', 'max'];
|
|
23
23
|
|
|
24
24
|
// Supported Claude SDK models with their configurations
|
|
25
25
|
const SUPPORTED_MODELS = {
|
|
26
|
-
|
|
27
|
-
modelName: 'claude-
|
|
28
|
-
friendlyName: 'Claude
|
|
26
|
+
opus: {
|
|
27
|
+
modelName: 'claude-opus-5-5',
|
|
28
|
+
friendlyName: 'Claude Opus 5.5 (via Agent SDK)',
|
|
29
29
|
contextWindow: 1000000,
|
|
30
30
|
maxOutputTokens: 128000,
|
|
31
31
|
supportsStreaming: true,
|
|
@@ -33,8 +33,31 @@ const SUPPORTED_MODELS = {
|
|
|
33
33
|
supportsWebSearch: false, // SDK accesses files directly, not web
|
|
34
34
|
timeout: 1800000, // 30 minutes
|
|
35
35
|
description:
|
|
36
|
-
'Claude
|
|
37
|
-
aliases: [
|
|
36
|
+
'Claude Opus 5.5 via Agent SDK (default) - requires claude login authentication',
|
|
37
|
+
aliases: [
|
|
38
|
+
'claude',
|
|
39
|
+
'claude-sdk',
|
|
40
|
+
'claude-code',
|
|
41
|
+
'claude:opus',
|
|
42
|
+
'claude-opus',
|
|
43
|
+
'claude-opus-5-5',
|
|
44
|
+
'claude-opus-5.5',
|
|
45
|
+
'opus-5-5',
|
|
46
|
+
'opus-5.5',
|
|
47
|
+
],
|
|
48
|
+
},
|
|
49
|
+
'opus-5': {
|
|
50
|
+
modelName: 'claude-opus-5',
|
|
51
|
+
friendlyName: 'Claude Opus 5 (via Agent SDK)',
|
|
52
|
+
contextWindow: 1000000,
|
|
53
|
+
maxOutputTokens: 128000,
|
|
54
|
+
supportsStreaming: true,
|
|
55
|
+
supportsImages: true,
|
|
56
|
+
supportsWebSearch: false,
|
|
57
|
+
timeout: 1800000,
|
|
58
|
+
description:
|
|
59
|
+
'Claude Opus 5 via Agent SDK - requires claude login authentication',
|
|
60
|
+
aliases: ['claude-opus-5'],
|
|
38
61
|
},
|
|
39
62
|
fable: {
|
|
40
63
|
modelName: 'claude-fable-5-1',
|
|
@@ -46,11 +69,8 @@ const SUPPORTED_MODELS = {
|
|
|
46
69
|
supportsWebSearch: false,
|
|
47
70
|
timeout: 1800000,
|
|
48
71
|
description:
|
|
49
|
-
'Claude Fable 5.1 via Agent SDK
|
|
72
|
+
'Claude Fable 5.1 via Agent SDK - requires claude login authentication',
|
|
50
73
|
aliases: [
|
|
51
|
-
'claude',
|
|
52
|
-
'claude-sdk',
|
|
53
|
-
'claude-code',
|
|
54
74
|
'claude:fable',
|
|
55
75
|
'claude-fable',
|
|
56
76
|
'claude-fable-5-1',
|
|
@@ -59,18 +79,18 @@ const SUPPORTED_MODELS = {
|
|
|
59
79
|
'fable-5.1',
|
|
60
80
|
],
|
|
61
81
|
},
|
|
62
|
-
|
|
63
|
-
modelName: 'claude-
|
|
64
|
-
friendlyName: 'Claude
|
|
82
|
+
'fable-5': {
|
|
83
|
+
modelName: 'claude-fable-5',
|
|
84
|
+
friendlyName: 'Claude Fable 5 (via Agent SDK)',
|
|
65
85
|
contextWindow: 1000000,
|
|
66
86
|
maxOutputTokens: 128000,
|
|
67
87
|
supportsStreaming: true,
|
|
68
|
-
supportsImages: true,
|
|
69
|
-
supportsWebSearch: false,
|
|
70
|
-
timeout: 1800000,
|
|
88
|
+
supportsImages: true,
|
|
89
|
+
supportsWebSearch: false,
|
|
90
|
+
timeout: 1800000,
|
|
71
91
|
description:
|
|
72
|
-
'Claude
|
|
73
|
-
aliases: ['claude
|
|
92
|
+
'Claude Fable 5 via Agent SDK - requires claude login authentication',
|
|
93
|
+
aliases: ['claude-fable-5'],
|
|
74
94
|
},
|
|
75
95
|
};
|
|
76
96
|
|
|
@@ -133,7 +153,7 @@ function findModelConfig(modelName) {
|
|
|
133
153
|
if (name.toLowerCase().startsWith('claude:')) {
|
|
134
154
|
name = name.slice('claude:'.length).trim();
|
|
135
155
|
}
|
|
136
|
-
if (!name) return SUPPORTED_MODELS.
|
|
156
|
+
if (!name) return SUPPORTED_MODELS.opus;
|
|
137
157
|
|
|
138
158
|
const nameLower = name.toLowerCase();
|
|
139
159
|
|
|
@@ -155,8 +175,8 @@ function findModelConfig(modelName) {
|
|
|
155
175
|
|
|
156
176
|
/**
|
|
157
177
|
* Resolve the requested model to the underlying SDK model ID.
|
|
158
|
-
* - "claude" (and bare "claude:") defaults to Claude
|
|
159
|
-
* - "claude:
|
|
178
|
+
* - "claude" (and bare "claude:") defaults to Claude Opus 5.5
|
|
179
|
+
* - "claude:opus" / "claude:opus-5" / "claude:fable" / "claude:fable-5" select the specific model
|
|
160
180
|
* - Unknown names are passed through (after prefix stripping) so users can
|
|
161
181
|
* target any model ID the Agent SDK accepts (e.g. "claude:claude-sonnet-4-6")
|
|
162
182
|
*/
|
|
@@ -624,7 +644,7 @@ export const claudeProvider = {
|
|
|
624
644
|
|
|
625
645
|
/**
|
|
626
646
|
* Get model configuration for specific model
|
|
627
|
-
* Handles claude: prefixed names (e.g. "claude:opus", "claude:fable")
|
|
647
|
+
* Handles claude: prefixed names (e.g. "claude:opus", "claude:fable", "claude:opus-5")
|
|
628
648
|
*/
|
|
629
649
|
getModelConfig(modelName) {
|
|
630
650
|
return findModelConfig(modelName);
|
package/src/providers/codex.js
CHANGED
|
@@ -25,9 +25,13 @@ import {
|
|
|
25
25
|
* Backend models Codex can run, keyed by the slug passed to the CLI as
|
|
26
26
|
* --model. The reasoning tiers are the ones each model's API accepts, verified
|
|
27
27
|
* against the API's own rejection messages (gpt-6-astra: "Supported values
|
|
28
|
-
* are: 'low', 'medium', 'high', 'xhigh', and 'max'"
|
|
29
|
-
*
|
|
30
|
-
*
|
|
28
|
+
* are: 'low', 'medium', 'high', 'xhigh', and 'max'"; the Sol/Luna tiers of
|
|
29
|
+
* both generations accept 'none' as well). The SDK's ModelReasoningEffort
|
|
30
|
+
* type is the union across models, so the backend is the authority and
|
|
31
|
+
* requests are clamped per model.
|
|
32
|
+
*
|
|
33
|
+
* Bare tier names (sol, luna) and the bare generation (gpt-6) point at the
|
|
34
|
+
* current generation; the GPT-5.6 tiers stay reachable by full slug.
|
|
31
35
|
*
|
|
32
36
|
* Codex also exposes 'ultra' above 'max', but that tier turns on automatic
|
|
33
37
|
* sub-agent delegation — a change in how the run executes, not just how deep
|
|
@@ -35,23 +39,33 @@ import {
|
|
|
35
39
|
* and nothing at the tool level can select it.
|
|
36
40
|
*/
|
|
37
41
|
const CODEX_BACKEND_MODELS = {
|
|
42
|
+
'gpt-6-sol': {
|
|
43
|
+
aliases: ['sol', 'gpt-6', 'gpt6', 'gpt6-sol', 'gpt-6-codex'],
|
|
44
|
+
contextWindow: 272000,
|
|
45
|
+
supportedEfforts: ['none', 'low', 'medium', 'high', 'xhigh', 'max'],
|
|
46
|
+
},
|
|
47
|
+
'gpt-6-luna': {
|
|
48
|
+
aliases: ['luna', 'gpt6-luna'],
|
|
49
|
+
contextWindow: 272000,
|
|
50
|
+
supportedEfforts: ['none', 'low', 'medium', 'high', 'xhigh', 'max'],
|
|
51
|
+
},
|
|
38
52
|
'gpt-6-astra': {
|
|
39
|
-
aliases: ['astra', '
|
|
53
|
+
aliases: ['astra', 'gpt6-astra'],
|
|
40
54
|
contextWindow: 272000,
|
|
41
55
|
supportedEfforts: ['low', 'medium', 'high', 'xhigh', 'max'],
|
|
42
56
|
},
|
|
43
57
|
'gpt-5.6-sol': {
|
|
44
|
-
aliases: ['
|
|
58
|
+
aliases: ['gpt-5.6', 'gpt5.6', 'gpt5.6-sol', 'gpt-5.6-codex'],
|
|
45
59
|
contextWindow: 272000,
|
|
46
60
|
supportedEfforts: ['none', 'low', 'medium', 'high', 'xhigh', 'max'],
|
|
47
61
|
},
|
|
48
62
|
'gpt-5.6-terra': {
|
|
49
|
-
aliases: ['terra'],
|
|
63
|
+
aliases: ['terra', 'gpt5.6-terra'],
|
|
50
64
|
contextWindow: 272000,
|
|
51
65
|
supportedEfforts: ['none', 'low', 'medium', 'high', 'xhigh', 'max'],
|
|
52
66
|
},
|
|
53
67
|
'gpt-5.6-luna': {
|
|
54
|
-
aliases: ['luna'],
|
|
68
|
+
aliases: ['gpt5.6-luna'],
|
|
55
69
|
contextWindow: 272000,
|
|
56
70
|
supportedEfforts: ['none', 'low', 'medium', 'high', 'xhigh', 'max'],
|
|
57
71
|
},
|
|
@@ -67,14 +81,14 @@ const CODEX_BACKEND_MODELS = {
|
|
|
67
81
|
},
|
|
68
82
|
};
|
|
69
83
|
|
|
70
|
-
const DEFAULT_BACKEND_MODEL = 'gpt-6-
|
|
84
|
+
const DEFAULT_BACKEND_MODEL = 'gpt-6-sol';
|
|
71
85
|
|
|
72
86
|
// The single user-facing model the router exposes. The backend model behind it
|
|
73
87
|
// comes from CODEX_MODEL, or from a `codex:<model>` spec.
|
|
74
88
|
const SUPPORTED_MODELS = {
|
|
75
89
|
codex: {
|
|
76
90
|
modelName: 'codex',
|
|
77
|
-
friendlyName: 'OpenAI Codex (GPT-6
|
|
91
|
+
friendlyName: 'OpenAI Codex (GPT-6 Sol)',
|
|
78
92
|
contextWindow: CODEX_BACKEND_MODELS[DEFAULT_BACKEND_MODEL].contextWindow,
|
|
79
93
|
maxOutputTokens: 128000,
|
|
80
94
|
supportsStreaming: true,
|
|
@@ -82,7 +96,7 @@ const SUPPORTED_MODELS = {
|
|
|
82
96
|
supportsWebSearch: false, // Codex accesses files directly, not web
|
|
83
97
|
timeout: 1800000, // 30 minutes
|
|
84
98
|
description:
|
|
85
|
-
'OpenAI Codex agentic coding assistant with local file access and tool execution (GPT-6
|
|
99
|
+
'OpenAI Codex agentic coding assistant with local file access and tool execution (GPT-6 Sol by default; pick another backend with codex:<model> or CODEX_MODEL)',
|
|
86
100
|
aliases: [],
|
|
87
101
|
},
|
|
88
102
|
};
|
|
@@ -266,7 +280,7 @@ export function getBackendModelConfig(name) {
|
|
|
266
280
|
/**
|
|
267
281
|
* Resolve the requested model spec to the backend slug passed to the CLI.
|
|
268
282
|
*
|
|
269
|
-
* `codex` uses CODEX_MODEL (default gpt-6-
|
|
283
|
+
* `codex` uses CODEX_MODEL (default gpt-6-sol); `codex:<model>` names a
|
|
270
284
|
* backend directly, by slug or alias. Unknown names pass through verbatim so a
|
|
271
285
|
* newly released model works before it is catalogued here — the CLI rejects
|
|
272
286
|
* anything the backend does not know.
|
package/src/providers/copilot.js
CHANGED
|
@@ -35,11 +35,38 @@ const SUPPORTED_MODELS = {
|
|
|
35
35
|
},
|
|
36
36
|
|
|
37
37
|
// OpenAI models
|
|
38
|
-
// Bare `gpt-
|
|
39
|
-
// Copilot's own bare-alias behavior
|
|
40
|
-
// `codex` and `gpt` point at the
|
|
41
|
-
//
|
|
42
|
-
// `
|
|
38
|
+
// Bare `gpt-6` / `gpt-5.6` route to that generation's Sol, matching
|
|
39
|
+
// Copilot's own bare-alias behavior; `sol`/`luna` and the legacy `gpt-5`
|
|
40
|
+
// shortcut follow the current generation. `codex` and `gpt` point at the
|
|
41
|
+
// latest GPT tier (reachable only via the `copilot:` namespace — bare
|
|
42
|
+
// `codex` routes to the Codex provider and bare `gpt*` keyword-routes to
|
|
43
|
+
// OpenAI before Copilot's catalog is consulted).
|
|
44
|
+
'gpt-6-sol': {
|
|
45
|
+
modelName: 'gpt-6-sol',
|
|
46
|
+
friendlyName: 'GPT-6 Sol (via Copilot)',
|
|
47
|
+
contextWindow: 1050000,
|
|
48
|
+
maxOutputTokens: 32768,
|
|
49
|
+
supportsStreaming: true,
|
|
50
|
+
supportsImages: false,
|
|
51
|
+
supportsWebSearch: false,
|
|
52
|
+
supportsReasoningEffort: true,
|
|
53
|
+
timeout: 1800000,
|
|
54
|
+
description: 'OpenAI GPT-6 Sol via Copilot subscription',
|
|
55
|
+
aliases: ['gpt-6', 'gpt-5', 'gpt', 'codex', 'sol'],
|
|
56
|
+
},
|
|
57
|
+
'gpt-6-luna': {
|
|
58
|
+
modelName: 'gpt-6-luna',
|
|
59
|
+
friendlyName: 'GPT-6 Luna (via Copilot)',
|
|
60
|
+
contextWindow: 1050000,
|
|
61
|
+
maxOutputTokens: 32768,
|
|
62
|
+
supportsStreaming: true,
|
|
63
|
+
supportsImages: false,
|
|
64
|
+
supportsWebSearch: false,
|
|
65
|
+
supportsReasoningEffort: true,
|
|
66
|
+
timeout: 1800000,
|
|
67
|
+
description: 'OpenAI GPT-6 Luna via Copilot subscription',
|
|
68
|
+
aliases: ['luna'],
|
|
69
|
+
},
|
|
43
70
|
'gpt-5.6-sol': {
|
|
44
71
|
modelName: 'gpt-5.6-sol',
|
|
45
72
|
friendlyName: 'GPT-5.6 Sol (via Copilot)',
|
|
@@ -51,7 +78,7 @@ const SUPPORTED_MODELS = {
|
|
|
51
78
|
supportsReasoningEffort: true,
|
|
52
79
|
timeout: 1800000,
|
|
53
80
|
description: 'OpenAI GPT-5.6 Sol via Copilot subscription',
|
|
54
|
-
aliases: ['gpt-5.6'
|
|
81
|
+
aliases: ['gpt-5.6'],
|
|
55
82
|
},
|
|
56
83
|
'gpt-5.6-terra': {
|
|
57
84
|
modelName: 'gpt-5.6-terra',
|
|
@@ -81,6 +108,19 @@ const SUPPORTED_MODELS = {
|
|
|
81
108
|
},
|
|
82
109
|
|
|
83
110
|
// Anthropic models
|
|
111
|
+
// Bare `opus` and `claude` follow the current Opus generation.
|
|
112
|
+
'claude-opus-5.5': {
|
|
113
|
+
modelName: 'claude-opus-5.5',
|
|
114
|
+
friendlyName: 'Claude Opus 5.5 (via Copilot)',
|
|
115
|
+
contextWindow: 200000,
|
|
116
|
+
maxOutputTokens: 32768,
|
|
117
|
+
supportsStreaming: true,
|
|
118
|
+
supportsImages: false,
|
|
119
|
+
supportsWebSearch: false,
|
|
120
|
+
timeout: 1800000,
|
|
121
|
+
description: 'Anthropic Claude Opus 5.5 via Copilot subscription',
|
|
122
|
+
aliases: ['opus', 'claude', 'claude-opus-5-5'],
|
|
123
|
+
},
|
|
84
124
|
'claude-fable-5': {
|
|
85
125
|
modelName: 'claude-fable-5',
|
|
86
126
|
friendlyName: 'Claude Fable 5 (via Copilot)',
|
|
@@ -115,7 +155,7 @@ const SUPPORTED_MODELS = {
|
|
|
115
155
|
supportsWebSearch: false,
|
|
116
156
|
timeout: 1800000,
|
|
117
157
|
description: 'Anthropic Claude Opus 5 via Copilot subscription',
|
|
118
|
-
aliases: [
|
|
158
|
+
aliases: [],
|
|
119
159
|
},
|
|
120
160
|
'claude-opus-4.8': {
|
|
121
161
|
modelName: 'claude-opus-4.8',
|
package/src/providers/openai.js
CHANGED
|
@@ -10,21 +10,82 @@ import { debugLog, debugError } from '../utils/console.js';
|
|
|
10
10
|
import { clampReasoningEffort } from '../utils/reasoningEffort.js';
|
|
11
11
|
|
|
12
12
|
// Values each family accepts for reasoning effort, per the model pages at
|
|
13
|
-
// developers.openai.com/api/docs/models. GPT-
|
|
14
|
-
//
|
|
15
|
-
//
|
|
16
|
-
//
|
|
17
|
-
//
|
|
18
|
-
//
|
|
19
|
-
|
|
13
|
+
// developers.openai.com/api/docs/models. The GPT-6 Sol/Luna tiers and the
|
|
14
|
+
// GPT-5.6 family take the whole ladder; GPT-6 Astra has no 'none'; the
|
|
15
|
+
// GPT-5.4 tier stops at 'xhigh'; the original GPT-5 minis kept 'minimal' but
|
|
16
|
+
// never gained 'xhigh'; the o-series predates both ends of the ladder;
|
|
17
|
+
// GPT-5.4 Pro starts at 'medium'. Models without a list are passed the
|
|
18
|
+
// requested value unchanged, except uncatalogued GPT-5 Pro snapshots, which
|
|
19
|
+
// are only known to accept 'high'.
|
|
20
|
+
const FULL_EFFORT_TIERS = ['none', 'low', 'medium', 'high', 'xhigh', 'max'];
|
|
21
|
+
const GPT_6_ASTRA_EFFORT_TIERS = ['low', 'medium', 'high', 'xhigh', 'max'];
|
|
20
22
|
const GPT_54_EFFORT_TIERS = ['none', 'low', 'medium', 'high', 'xhigh'];
|
|
21
23
|
const GPT_54_PRO_EFFORT_TIERS = ['medium', 'high', 'xhigh'];
|
|
22
24
|
const GPT_5_EFFORT_TIERS = ['minimal', 'low', 'medium', 'high'];
|
|
23
25
|
const O_SERIES_EFFORT_TIERS = ['low', 'medium', 'high'];
|
|
24
26
|
const PRO_PASSTHROUGH_EFFORT_TIERS = ['high'];
|
|
25
27
|
|
|
26
|
-
// Define supported models with their capabilities
|
|
28
|
+
// Define supported models with their capabilities.
|
|
29
|
+
// Bare tier names (sol, luna) and the bare generation (gpt-6, and the legacy
|
|
30
|
+
// gpt-5 shortcut) follow the current generation; older tiers stay reachable by
|
|
31
|
+
// their versioned names.
|
|
27
32
|
const SUPPORTED_MODELS = {
|
|
33
|
+
'gpt-6-sol': {
|
|
34
|
+
modelName: 'gpt-6-sol',
|
|
35
|
+
friendlyName: 'OpenAI (GPT-6 Sol)',
|
|
36
|
+
contextWindow: 1050000,
|
|
37
|
+
maxOutputTokens: 128000,
|
|
38
|
+
supportsStreaming: true,
|
|
39
|
+
supportsImages: true,
|
|
40
|
+
supportsWebSearch: true,
|
|
41
|
+
supportsResponsesAPI: true,
|
|
42
|
+
supportedEfforts: FULL_EFFORT_TIERS,
|
|
43
|
+
timeout: 10800000, // 3 hours
|
|
44
|
+
description:
|
|
45
|
+
'Default GPT-6 model (1M context, 128K output) - Complex coding and agentic workflows at a fifth of the Astra price',
|
|
46
|
+
aliases: [
|
|
47
|
+
'gpt-6',
|
|
48
|
+
'gpt6',
|
|
49
|
+
'gpt 6',
|
|
50
|
+
'gpt-5',
|
|
51
|
+
'gpt5',
|
|
52
|
+
'gpt 5',
|
|
53
|
+
'sol',
|
|
54
|
+
'gpt6-sol',
|
|
55
|
+
'gpt-6sol',
|
|
56
|
+
'gpt 6 sol',
|
|
57
|
+
],
|
|
58
|
+
},
|
|
59
|
+
'gpt-6-luna': {
|
|
60
|
+
modelName: 'gpt-6-luna',
|
|
61
|
+
friendlyName: 'OpenAI (GPT-6 Luna)',
|
|
62
|
+
contextWindow: 1050000,
|
|
63
|
+
maxOutputTokens: 128000,
|
|
64
|
+
supportsStreaming: true,
|
|
65
|
+
supportsImages: true,
|
|
66
|
+
supportsWebSearch: true,
|
|
67
|
+
supportsResponsesAPI: true,
|
|
68
|
+
supportedEfforts: FULL_EFFORT_TIERS,
|
|
69
|
+
timeout: 1800000, // 30 minutes
|
|
70
|
+
description:
|
|
71
|
+
'Most efficient GPT-6 (1M context, 128K output) - Focused, high-volume tasks',
|
|
72
|
+
aliases: ['luna', 'gpt6-luna', 'gpt-6luna', 'gpt 6 luna'],
|
|
73
|
+
},
|
|
74
|
+
'gpt-6-astra': {
|
|
75
|
+
modelName: 'gpt-6-astra',
|
|
76
|
+
friendlyName: 'OpenAI (GPT-6 Astra)',
|
|
77
|
+
contextWindow: 1050000,
|
|
78
|
+
maxOutputTokens: 128000,
|
|
79
|
+
supportsStreaming: true,
|
|
80
|
+
supportsImages: true,
|
|
81
|
+
supportsWebSearch: true,
|
|
82
|
+
supportsResponsesAPI: true,
|
|
83
|
+
supportedEfforts: GPT_6_ASTRA_EFFORT_TIERS,
|
|
84
|
+
timeout: 10800000, // 3 hours
|
|
85
|
+
description:
|
|
86
|
+
'Frontier GPT-6 flagship (1M context, 128K output) - Maximum intelligence for the hardest end-to-end work (EXPENSIVE: 5x Sol)',
|
|
87
|
+
aliases: ['astra', 'gpt6-astra', 'gpt-6astra', 'gpt 6 astra'],
|
|
88
|
+
},
|
|
28
89
|
'gpt-5.6-sol': {
|
|
29
90
|
modelName: 'gpt-5.6-sol',
|
|
30
91
|
friendlyName: 'OpenAI (GPT-5.6 Sol)',
|
|
@@ -34,18 +95,15 @@ const SUPPORTED_MODELS = {
|
|
|
34
95
|
supportsImages: true,
|
|
35
96
|
supportsWebSearch: true,
|
|
36
97
|
supportsResponsesAPI: true,
|
|
37
|
-
supportedEfforts:
|
|
98
|
+
supportedEfforts: FULL_EFFORT_TIERS,
|
|
38
99
|
timeout: 10800000, // 3 hours
|
|
39
100
|
description:
|
|
40
|
-
'
|
|
101
|
+
'Previous flagship GPT-5.6 (1M context, 128K output) - Frontier reasoning, coding, agentic workflows',
|
|
41
102
|
aliases: [
|
|
42
103
|
'gpt-5.6',
|
|
43
104
|
'gpt5.6',
|
|
44
105
|
'gpt 5.6',
|
|
45
|
-
'
|
|
46
|
-
'gpt5',
|
|
47
|
-
'gpt 5',
|
|
48
|
-
'sol',
|
|
106
|
+
'gpt5.6-sol',
|
|
49
107
|
'gpt-5.6sol',
|
|
50
108
|
'gpt 5.6 sol',
|
|
51
109
|
],
|
|
@@ -59,7 +117,7 @@ const SUPPORTED_MODELS = {
|
|
|
59
117
|
supportsImages: true,
|
|
60
118
|
supportsWebSearch: true,
|
|
61
119
|
supportsResponsesAPI: true,
|
|
62
|
-
supportedEfforts:
|
|
120
|
+
supportedEfforts: FULL_EFFORT_TIERS,
|
|
63
121
|
timeout: 5400000, // 90 minutes
|
|
64
122
|
description:
|
|
65
123
|
'Lower-cost GPT-5.6 (400K context, 128K output) - Performance competitive with GPT-5.5 at half the flagship price',
|
|
@@ -74,11 +132,11 @@ const SUPPORTED_MODELS = {
|
|
|
74
132
|
supportsImages: true,
|
|
75
133
|
supportsWebSearch: true,
|
|
76
134
|
supportsResponsesAPI: true,
|
|
77
|
-
supportedEfforts:
|
|
135
|
+
supportedEfforts: FULL_EFFORT_TIERS,
|
|
78
136
|
timeout: 1800000, // 30 minutes
|
|
79
137
|
description:
|
|
80
138
|
'Fastest, most affordable GPT-5.6 (400K context, 128K output) - High-volume, latency-sensitive workloads',
|
|
81
|
-
aliases: ['gpt5.6-luna', 'gpt-5.6luna', 'gpt 5.6 luna'
|
|
139
|
+
aliases: ['gpt5.6-luna', 'gpt-5.6luna', 'gpt 5.6 luna'],
|
|
82
140
|
},
|
|
83
141
|
'gpt-5.4': {
|
|
84
142
|
modelName: 'gpt-5.4',
|
|
@@ -342,14 +400,18 @@ function acceptsReasoningEffort(resolvedModel, modelConfig) {
|
|
|
342
400
|
if (modelConfig.supportedEfforts) {
|
|
343
401
|
return true;
|
|
344
402
|
}
|
|
345
|
-
return
|
|
403
|
+
return (
|
|
404
|
+
resolvedModel.startsWith('o3') ||
|
|
405
|
+
resolvedModel.startsWith('gpt-5') ||
|
|
406
|
+
resolvedModel.startsWith('gpt-6')
|
|
407
|
+
);
|
|
346
408
|
}
|
|
347
409
|
|
|
348
410
|
/**
|
|
349
411
|
* Resolve the reasoning effort actually sent to the API. Catalogued models
|
|
350
412
|
* clamp onto their declared tiers. Pass-through IDs are matched by family
|
|
351
|
-
* where the tiers are known (GPT-5 Pro snapshots, GPT-
|
|
352
|
-
* otherwise keep the requested value.
|
|
413
|
+
* where the tiers are known (GPT-5 Pro snapshots, GPT-6 Sol/Luna and GPT-5.6
|
|
414
|
+
* snapshots) and otherwise keep the requested value.
|
|
353
415
|
*/
|
|
354
416
|
function resolveReasoningEffort(resolvedModel, modelConfig, reasoningEffort) {
|
|
355
417
|
if (modelConfig.supportedEfforts) {
|
|
@@ -358,8 +420,15 @@ function resolveReasoningEffort(resolvedModel, modelConfig, reasoningEffort) {
|
|
|
358
420
|
if (resolvedModel.endsWith('-pro') && resolvedModel.startsWith('gpt-5')) {
|
|
359
421
|
return clampReasoningEffort(reasoningEffort, PRO_PASSTHROUGH_EFFORT_TIERS);
|
|
360
422
|
}
|
|
361
|
-
if (resolvedModel.startsWith('gpt-
|
|
362
|
-
return clampReasoningEffort(reasoningEffort,
|
|
423
|
+
if (resolvedModel.startsWith('gpt-6-astra')) {
|
|
424
|
+
return clampReasoningEffort(reasoningEffort, GPT_6_ASTRA_EFFORT_TIERS);
|
|
425
|
+
}
|
|
426
|
+
if (
|
|
427
|
+
resolvedModel.startsWith('gpt-6-sol') ||
|
|
428
|
+
resolvedModel.startsWith('gpt-6-luna') ||
|
|
429
|
+
resolvedModel.startsWith('gpt-5.6')
|
|
430
|
+
) {
|
|
431
|
+
return clampReasoningEffort(reasoningEffort, FULL_EFFORT_TIERS);
|
|
363
432
|
}
|
|
364
433
|
return reasoningEffort;
|
|
365
434
|
}
|
|
@@ -487,7 +556,7 @@ export const openaiProvider = {
|
|
|
487
556
|
*/
|
|
488
557
|
async invoke(messages, options = {}) {
|
|
489
558
|
const {
|
|
490
|
-
model = 'gpt-
|
|
559
|
+
model = 'gpt-6',
|
|
491
560
|
maxTokens = null,
|
|
492
561
|
stream = false,
|
|
493
562
|
reasoning_effort = 'medium',
|
|
@@ -38,16 +38,16 @@ export function getDefaultModelForProvider(providerName) {
|
|
|
38
38
|
'gemini-cli': 'gemini',
|
|
39
39
|
claude: 'claude',
|
|
40
40
|
copilot: 'copilot',
|
|
41
|
-
openai: 'gpt-
|
|
41
|
+
openai: 'gpt-6',
|
|
42
42
|
xai: 'grok-4.5',
|
|
43
43
|
google: 'gemini-pro',
|
|
44
|
-
anthropic: 'claude-
|
|
44
|
+
anthropic: 'claude-opus-5-5',
|
|
45
45
|
mistral: 'mistral-medium-3-5',
|
|
46
46
|
deepseek: 'deepseek-v4-pro',
|
|
47
47
|
openrouter: 'z-ai/glm-5.2',
|
|
48
48
|
};
|
|
49
49
|
|
|
50
|
-
return defaults[providerName] || 'gpt-
|
|
50
|
+
return defaults[providerName] || 'gpt-6';
|
|
51
51
|
}
|
|
52
52
|
|
|
53
53
|
/**
|