diff --git a/.env.example b/.env.example index 121ccba19c..8e4c3e0730 100644 --- a/.env.example +++ b/.env.example @@ -72,6 +72,7 @@ OPENROUTER_MODELS= GROK_API_KEY= GROK_BASE_URL= +# Example: grok-4.6,grok-4.5 GROK_MODELS= TENCENT_API_KEY= diff --git a/lib/ai/model-metadata.ts b/lib/ai/model-metadata.ts index 44557631f7..04b567c40f 100644 --- a/lib/ai/model-metadata.ts +++ b/lib/ai/model-metadata.ts @@ -160,6 +160,7 @@ const anthropicFable5Effort: ThinkingCapability = { }; const kimiK3Effort = effortCapability('openai', ['low', 'high', 'max'], 'max'); +const grok46Effort = effortCapability('openai', ['low', 'medium', 'high', 'xhigh'], 'high'); const grok45Effort = effortCapability('openai', ['low', 'medium', 'high'], 'high'); const grok43Effort = effortCapability('openai', ['none', 'low', 'medium', 'high'], 'none'); @@ -426,6 +427,7 @@ const THINKING_CAPABILITIES: Record = { 'medium', ), + [getModelMetadataKey('grok', 'grok-4.6')]: grok46Effort, [getModelMetadataKey('grok', 'grok-4.5')]: grok45Effort, [getModelMetadataKey('grok', 'grok-4.3')]: grok43Effort, [getModelMetadataKey('grok', 'grok-build-0.1')]: fixedThinkingCapability, diff --git a/lib/ai/providers.ts b/lib/ai/providers.ts index 33b4a62740..aa480f024a 100644 --- a/lib/ai/providers.ts +++ b/lib/ai/providers.ts @@ -1233,6 +1233,22 @@ export const PROVIDERS: Record = { requiresApiKey: true, icon: '/logos/grok.svg', models: [ + { + id: 'grok-4.6', + name: 'Grok 4.6', + contextWindow: 500000, + outputWindow: 500000, + capabilities: { + streaming: true, + tools: true, + vision: true, + thinking: { + toggleable: false, + budgetAdjustable: true, + defaultEnabled: true, + }, + }, + }, { id: 'grok-4.5', name: 'Grok 4.5', diff --git a/packages/docs/content/docs/supported-models.ar.mdx b/packages/docs/content/docs/supported-models.ar.mdx index 158a4f74c7..2e08c9b6b1 100644 --- a/packages/docs/content/docs/supported-models.ar.mdx +++ b/packages/docs/content/docs/supported-models.ar.mdx @@ -23,7 +23,7 @@ description: قائمة النماذج المدمجة ومزودي الخدمة | SiliconFlow | `siliconflow` | DeepSeek-V3.2 (`deepseek-ai/DeepSeek-V3.2`)
DeepSeek-R1 (`deepseek-ai/DeepSeek-R1`)
DeepSeek-R1-Distill-Qwen-7B (`deepseek-ai/DeepSeek-R1-Distill-Qwen-7B`)
Qwen3-VL-32B-Instruct (`Qwen/Qwen3-VL-32B-Instruct`)
Kimi-K2.5 (`Pro/moonshotai/Kimi-K2.5`)
GLM-4.1V-9B-Thinking (`THUDM/GLM-4.1V-9B-Thinking`)
GLM-Z1-Rumination-32B (`THUDM/GLM-Z1-Rumination-32B-0414`) | | Doubao | `doubao` | Doubao Seed 2.1 Pro (`doubao-seed-2-1-pro-260628`)
Doubao Seed 2.1 Turbo (`doubao-seed-2-1-turbo-260628`)
Doubao Seed Evolving (`doubao-seed-evolving`)
Doubao Seed Character (`doubao-seed-character-260628`)
Doubao Seed 2.0 Pro (`doubao-seed-2-0-pro-260215`)
Doubao Seed 2.0 Lite (`doubao-seed-2-0-lite-260215`)
Doubao Seed 2.0 Mini (`doubao-seed-2-0-mini-260215`)
Doubao Seed 1.8 (`doubao-seed-1-8-251228`) | | OpenRouter | `openrouter` | DeepSeek V4 Pro (`deepseek/deepseek-v4-pro`)
DeepSeek V4 Flash (`deepseek/deepseek-v4-flash`) | -| Grok | `grok` | Grok 4.20 Reasoning (`grok-4.20-reasoning`)
Grok 4.20 (`grok-4.20`)
Grok 4.20 Multi-Agent (`grok-4.20-multi-agent`)
Grok 4.1 Fast Reasoning (`grok-4-1-fast-reasoning`)
Grok 4.1 Fast (`grok-4-1-fast-non-reasoning`)
Grok Code Fast (`grok-code-fast-1`) | +| Grok | `grok` | Grok 4.6 (`grok-4.6`)
Grok 4.5 (`grok-4.5`)
Grok 4.3 (`grok-4.3`)
Grok Build 0.1 (`grok-build-0.1`)
Grok 4.20 Reasoning (`grok-4.20-reasoning`)
Grok 4.20 (`grok-4.20`)
Grok 4.20 Multi-Agent (`grok-4.20-multi-agent`)
Grok 4.1 Fast Reasoning (`grok-4-1-fast-reasoning`)
Grok 4.1 Fast (`grok-4-1-fast-non-reasoning`)
Grok Code Fast (`grok-code-fast-1`) | | Tencent Hunyuan | `tencent-hunyuan` | Tencent Hy3 Preview (`hy3-preview`) | | Xiaomi MiMo | `xiaomi` | MiMo V2.5 Pro (`mimo-v2.5-pro`)
MiMo V2 Pro (`mimo-v2-pro`)
MiMo V2.5 (`mimo-v2.5`)
MiMo V2 Omni (`mimo-v2-omni`)
MiMo V2 Flash (`mimo-v2-flash`) | | Ollama | `ollama` | Llama 3.3 70B (`llama3.3`)
Gemma 3 12B (`gemma3`)
DeepSeek R1 (`deepseek-r1`) | diff --git a/packages/docs/content/docs/supported-models.ja.mdx b/packages/docs/content/docs/supported-models.ja.mdx index 34680bd77b..47c3310ca3 100644 --- a/packages/docs/content/docs/supported-models.ja.mdx +++ b/packages/docs/content/docs/supported-models.ja.mdx @@ -23,7 +23,7 @@ description: オープンソース版 OpenMAIC の組み込みモデルと provi | SiliconFlow | `siliconflow` | DeepSeek-V3.2 (`deepseek-ai/DeepSeek-V3.2`)
DeepSeek-R1 (`deepseek-ai/DeepSeek-R1`)
DeepSeek-R1-Distill-Qwen-7B (`deepseek-ai/DeepSeek-R1-Distill-Qwen-7B`)
Qwen3-VL-32B-Instruct (`Qwen/Qwen3-VL-32B-Instruct`)
Kimi-K2.5 (`Pro/moonshotai/Kimi-K2.5`)
GLM-4.1V-9B-Thinking (`THUDM/GLM-4.1V-9B-Thinking`)
GLM-Z1-Rumination-32B (`THUDM/GLM-Z1-Rumination-32B-0414`) | | Doubao | `doubao` | Doubao Seed 2.1 Pro (`doubao-seed-2-1-pro-260628`)
Doubao Seed 2.1 Turbo (`doubao-seed-2-1-turbo-260628`)
Doubao Seed Evolving (`doubao-seed-evolving`)
Doubao Seed Character (`doubao-seed-character-260628`)
Doubao Seed 2.0 Pro (`doubao-seed-2-0-pro-260215`)
Doubao Seed 2.0 Lite (`doubao-seed-2-0-lite-260215`)
Doubao Seed 2.0 Mini (`doubao-seed-2-0-mini-260215`)
Doubao Seed 1.8 (`doubao-seed-1-8-251228`) | | OpenRouter | `openrouter` | DeepSeek V4 Pro (`deepseek/deepseek-v4-pro`)
DeepSeek V4 Flash (`deepseek/deepseek-v4-flash`) | -| Grok | `grok` | Grok 4.20 Reasoning (`grok-4.20-reasoning`)
Grok 4.20 (`grok-4.20`)
Grok 4.20 Multi-Agent (`grok-4.20-multi-agent`)
Grok 4.1 Fast Reasoning (`grok-4-1-fast-reasoning`)
Grok 4.1 Fast (`grok-4-1-fast-non-reasoning`)
Grok Code Fast (`grok-code-fast-1`) | +| Grok | `grok` | Grok 4.6 (`grok-4.6`)
Grok 4.5 (`grok-4.5`)
Grok 4.3 (`grok-4.3`)
Grok Build 0.1 (`grok-build-0.1`)
Grok 4.20 Reasoning (`grok-4.20-reasoning`)
Grok 4.20 (`grok-4.20`)
Grok 4.20 Multi-Agent (`grok-4.20-multi-agent`)
Grok 4.1 Fast Reasoning (`grok-4-1-fast-reasoning`)
Grok 4.1 Fast (`grok-4-1-fast-non-reasoning`)
Grok Code Fast (`grok-code-fast-1`) | | Tencent Hunyuan | `tencent-hunyuan` | Tencent Hy3 Preview (`hy3-preview`) | | Xiaomi MiMo | `xiaomi` | MiMo V2.5 Pro (`mimo-v2.5-pro`)
MiMo V2 Pro (`mimo-v2-pro`)
MiMo V2.5 (`mimo-v2.5`)
MiMo V2 Omni (`mimo-v2-omni`)
MiMo V2 Flash (`mimo-v2-flash`) | | Ollama | `ollama` | Llama 3.3 70B (`llama3.3`)
Gemma 3 12B (`gemma3`)
DeepSeek R1 (`deepseek-r1`) | diff --git a/packages/docs/content/docs/supported-models.mdx b/packages/docs/content/docs/supported-models.mdx index 552631178a..87e707a03b 100644 --- a/packages/docs/content/docs/supported-models.mdx +++ b/packages/docs/content/docs/supported-models.mdx @@ -23,7 +23,7 @@ Use `provider:model-id` for models in `DEFAULT_MODEL` or YAML, for example `open | SiliconFlow | `siliconflow` | DeepSeek-V3.2 (`deepseek-ai/DeepSeek-V3.2`)
DeepSeek-R1 (`deepseek-ai/DeepSeek-R1`)
DeepSeek-R1-Distill-Qwen-7B (`deepseek-ai/DeepSeek-R1-Distill-Qwen-7B`)
Qwen3-VL-32B-Instruct (`Qwen/Qwen3-VL-32B-Instruct`)
Kimi-K2.5 (`Pro/moonshotai/Kimi-K2.5`)
GLM-4.1V-9B-Thinking (`THUDM/GLM-4.1V-9B-Thinking`)
GLM-Z1-Rumination-32B (`THUDM/GLM-Z1-Rumination-32B-0414`) | | Doubao | `doubao` | Doubao Seed 2.1 Pro (`doubao-seed-2-1-pro-260628`)
Doubao Seed 2.1 Turbo (`doubao-seed-2-1-turbo-260628`)
Doubao Seed Evolving (`doubao-seed-evolving`)
Doubao Seed Character (`doubao-seed-character-260628`)
Doubao Seed 2.0 Pro (`doubao-seed-2-0-pro-260215`)
Doubao Seed 2.0 Lite (`doubao-seed-2-0-lite-260215`)
Doubao Seed 2.0 Mini (`doubao-seed-2-0-mini-260215`)
Doubao Seed 1.8 (`doubao-seed-1-8-251228`) | | OpenRouter | `openrouter` | DeepSeek V4 Pro (`deepseek/deepseek-v4-pro`)
DeepSeek V4 Flash (`deepseek/deepseek-v4-flash`) | -| Grok | `grok` | Grok 4.20 Reasoning (`grok-4.20-reasoning`)
Grok 4.20 (`grok-4.20`)
Grok 4.20 Multi-Agent (`grok-4.20-multi-agent`)
Grok 4.1 Fast Reasoning (`grok-4-1-fast-reasoning`)
Grok 4.1 Fast (`grok-4-1-fast-non-reasoning`)
Grok Code Fast (`grok-code-fast-1`) | +| Grok | `grok` | Grok 4.6 (`grok-4.6`)
Grok 4.5 (`grok-4.5`)
Grok 4.3 (`grok-4.3`)
Grok Build 0.1 (`grok-build-0.1`)
Grok 4.20 Reasoning (`grok-4.20-reasoning`)
Grok 4.20 (`grok-4.20`)
Grok 4.20 Multi-Agent (`grok-4.20-multi-agent`)
Grok 4.1 Fast Reasoning (`grok-4-1-fast-reasoning`)
Grok 4.1 Fast (`grok-4-1-fast-non-reasoning`)
Grok Code Fast (`grok-code-fast-1`) | | Tencent Hunyuan | `tencent-hunyuan` | Tencent Hy3 Preview (`hy3-preview`) | | Xiaomi MiMo | `xiaomi` | MiMo V2.5 Pro (`mimo-v2.5-pro`)
MiMo V2 Pro (`mimo-v2-pro`)
MiMo V2.5 (`mimo-v2.5`)
MiMo V2 Omni (`mimo-v2-omni`)
MiMo V2 Flash (`mimo-v2-flash`) | | Ollama | `ollama` | Llama 3.3 70B (`llama3.3`)
Gemma 3 12B (`gemma3`)
DeepSeek R1 (`deepseek-r1`) | diff --git a/packages/docs/content/docs/supported-models.ru.mdx b/packages/docs/content/docs/supported-models.ru.mdx index fcbc6cd47f..dee1095d1e 100644 --- a/packages/docs/content/docs/supported-models.ru.mdx +++ b/packages/docs/content/docs/supported-models.ru.mdx @@ -23,7 +23,7 @@ description: Встроенные модели и список провайде | SiliconFlow | `siliconflow` | DeepSeek-V3.2 (`deepseek-ai/DeepSeek-V3.2`)
DeepSeek-R1 (`deepseek-ai/DeepSeek-R1`)
DeepSeek-R1-Distill-Qwen-7B (`deepseek-ai/DeepSeek-R1-Distill-Qwen-7B`)
Qwen3-VL-32B-Instruct (`Qwen/Qwen3-VL-32B-Instruct`)
Kimi-K2.5 (`Pro/moonshotai/Kimi-K2.5`)
GLM-4.1V-9B-Thinking (`THUDM/GLM-4.1V-9B-Thinking`)
GLM-Z1-Rumination-32B (`THUDM/GLM-Z1-Rumination-32B-0414`) | | Doubao | `doubao` | Doubao Seed 2.1 Pro (`doubao-seed-2-1-pro-260628`)
Doubao Seed 2.1 Turbo (`doubao-seed-2-1-turbo-260628`)
Doubao Seed Evolving (`doubao-seed-evolving`)
Doubao Seed Character (`doubao-seed-character-260628`)
Doubao Seed 2.0 Pro (`doubao-seed-2-0-pro-260215`)
Doubao Seed 2.0 Lite (`doubao-seed-2-0-lite-260215`)
Doubao Seed 2.0 Mini (`doubao-seed-2-0-mini-260215`)
Doubao Seed 1.8 (`doubao-seed-1-8-251228`) | | OpenRouter | `openrouter` | DeepSeek V4 Pro (`deepseek/deepseek-v4-pro`)
DeepSeek V4 Flash (`deepseek/deepseek-v4-flash`) | -| Grok | `grok` | Grok 4.20 Reasoning (`grok-4.20-reasoning`)
Grok 4.20 (`grok-4.20`)
Grok 4.20 Multi-Agent (`grok-4.20-multi-agent`)
Grok 4.1 Fast Reasoning (`grok-4-1-fast-reasoning`)
Grok 4.1 Fast (`grok-4-1-fast-non-reasoning`)
Grok Code Fast (`grok-code-fast-1`) | +| Grok | `grok` | Grok 4.6 (`grok-4.6`)
Grok 4.5 (`grok-4.5`)
Grok 4.3 (`grok-4.3`)
Grok Build 0.1 (`grok-build-0.1`)
Grok 4.20 Reasoning (`grok-4.20-reasoning`)
Grok 4.20 (`grok-4.20`)
Grok 4.20 Multi-Agent (`grok-4.20-multi-agent`)
Grok 4.1 Fast Reasoning (`grok-4-1-fast-reasoning`)
Grok 4.1 Fast (`grok-4-1-fast-non-reasoning`)
Grok Code Fast (`grok-code-fast-1`) | | Tencent Hunyuan | `tencent-hunyuan` | Tencent Hy3 Preview (`hy3-preview`) | | Xiaomi MiMo | `xiaomi` | MiMo V2.5 Pro (`mimo-v2.5-pro`)
MiMo V2 Pro (`mimo-v2-pro`)
MiMo V2.5 (`mimo-v2.5`)
MiMo V2 Omni (`mimo-v2-omni`)
MiMo V2 Flash (`mimo-v2-flash`) | | Ollama | `ollama` | Llama 3.3 70B (`llama3.3`)
Gemma 3 12B (`gemma3`)
DeepSeek R1 (`deepseek-r1`) | diff --git a/packages/docs/content/docs/supported-models.zh-cn.mdx b/packages/docs/content/docs/supported-models.zh-cn.mdx index 69b2fdfe72..c98ca37454 100644 --- a/packages/docs/content/docs/supported-models.zh-cn.mdx +++ b/packages/docs/content/docs/supported-models.zh-cn.mdx @@ -23,7 +23,7 @@ description: 开源版 OpenMAIC 的内置模型与 provider 列表。 | SiliconFlow | `siliconflow` | DeepSeek-V3.2 (`deepseek-ai/DeepSeek-V3.2`)
DeepSeek-R1 (`deepseek-ai/DeepSeek-R1`)
DeepSeek-R1-Distill-Qwen-7B (`deepseek-ai/DeepSeek-R1-Distill-Qwen-7B`)
Qwen3-VL-32B-Instruct (`Qwen/Qwen3-VL-32B-Instruct`)
Kimi-K2.5 (`Pro/moonshotai/Kimi-K2.5`)
GLM-4.1V-9B-Thinking (`THUDM/GLM-4.1V-9B-Thinking`)
GLM-Z1-Rumination-32B (`THUDM/GLM-Z1-Rumination-32B-0414`) | | Doubao | `doubao` | Doubao Seed 2.1 Pro (`doubao-seed-2-1-pro-260628`)
Doubao Seed 2.1 Turbo (`doubao-seed-2-1-turbo-260628`)
Doubao Seed Evolving (`doubao-seed-evolving`)
Doubao Seed Character (`doubao-seed-character-260628`)
Doubao Seed 2.0 Pro (`doubao-seed-2-0-pro-260215`)
Doubao Seed 2.0 Lite (`doubao-seed-2-0-lite-260215`)
Doubao Seed 2.0 Mini (`doubao-seed-2-0-mini-260215`)
Doubao Seed 1.8 (`doubao-seed-1-8-251228`) | | OpenRouter | `openrouter` | DeepSeek V4 Pro (`deepseek/deepseek-v4-pro`)
DeepSeek V4 Flash (`deepseek/deepseek-v4-flash`) | -| Grok | `grok` | Grok 4.20 Reasoning (`grok-4.20-reasoning`)
Grok 4.20 (`grok-4.20`)
Grok 4.20 Multi-Agent (`grok-4.20-multi-agent`)
Grok 4.1 Fast Reasoning (`grok-4-1-fast-reasoning`)
Grok 4.1 Fast (`grok-4-1-fast-non-reasoning`)
Grok Code Fast (`grok-code-fast-1`) | +| Grok | `grok` | Grok 4.6 (`grok-4.6`)
Grok 4.5 (`grok-4.5`)
Grok 4.3 (`grok-4.3`)
Grok Build 0.1 (`grok-build-0.1`)
Grok 4.20 Reasoning (`grok-4.20-reasoning`)
Grok 4.20 (`grok-4.20`)
Grok 4.20 Multi-Agent (`grok-4.20-multi-agent`)
Grok 4.1 Fast Reasoning (`grok-4-1-fast-reasoning`)
Grok 4.1 Fast (`grok-4-1-fast-non-reasoning`)
Grok Code Fast (`grok-code-fast-1`) | | Tencent Hunyuan | `tencent-hunyuan` | Tencent Hy3 Preview (`hy3-preview`) | | Xiaomi MiMo | `xiaomi` | MiMo V2.5 Pro (`mimo-v2.5-pro`)
MiMo V2 Pro (`mimo-v2-pro`)
MiMo V2.5 (`mimo-v2.5`)
MiMo V2 Omni (`mimo-v2-omni`)
MiMo V2 Flash (`mimo-v2-flash`) | | Ollama | `ollama` | Llama 3.3 70B (`llama3.3`)
Gemma 3 12B (`gemma3`)
DeepSeek R1 (`deepseek-r1`) | diff --git a/packages/docs/content/docs/supported-models.zh-tw.mdx b/packages/docs/content/docs/supported-models.zh-tw.mdx index 5ea774c168..d92214cc26 100644 --- a/packages/docs/content/docs/supported-models.zh-tw.mdx +++ b/packages/docs/content/docs/supported-models.zh-tw.mdx @@ -23,7 +23,7 @@ description: 開源版 OpenMAIC 的內建模型與 provider 清單。 | SiliconFlow | `siliconflow` | DeepSeek-V3.2 (`deepseek-ai/DeepSeek-V3.2`)
DeepSeek-R1 (`deepseek-ai/DeepSeek-R1`)
DeepSeek-R1-Distill-Qwen-7B (`deepseek-ai/DeepSeek-R1-Distill-Qwen-7B`)
Qwen3-VL-32B-Instruct (`Qwen/Qwen3-VL-32B-Instruct`)
Kimi-K2.5 (`Pro/moonshotai/Kimi-K2.5`)
GLM-4.1V-9B-Thinking (`THUDM/GLM-4.1V-9B-Thinking`)
GLM-Z1-Rumination-32B (`THUDM/GLM-Z1-Rumination-32B-0414`) | | Doubao | `doubao` | Doubao Seed 2.1 Pro (`doubao-seed-2-1-pro-260628`)
Doubao Seed 2.1 Turbo (`doubao-seed-2-1-turbo-260628`)
Doubao Seed Evolving (`doubao-seed-evolving`)
Doubao Seed Character (`doubao-seed-character-260628`)
Doubao Seed 2.0 Pro (`doubao-seed-2-0-pro-260215`)
Doubao Seed 2.0 Lite (`doubao-seed-2-0-lite-260215`)
Doubao Seed 2.0 Mini (`doubao-seed-2-0-mini-260215`)
Doubao Seed 1.8 (`doubao-seed-1-8-251228`) | | OpenRouter | `openrouter` | DeepSeek V4 Pro (`deepseek/deepseek-v4-pro`)
DeepSeek V4 Flash (`deepseek/deepseek-v4-flash`) | -| Grok | `grok` | Grok 4.20 Reasoning (`grok-4.20-reasoning`)
Grok 4.20 (`grok-4.20`)
Grok 4.20 Multi-Agent (`grok-4.20-multi-agent`)
Grok 4.1 Fast Reasoning (`grok-4-1-fast-reasoning`)
Grok 4.1 Fast (`grok-4-1-fast-non-reasoning`)
Grok Code Fast (`grok-code-fast-1`) | +| Grok | `grok` | Grok 4.6 (`grok-4.6`)
Grok 4.5 (`grok-4.5`)
Grok 4.3 (`grok-4.3`)
Grok Build 0.1 (`grok-build-0.1`)
Grok 4.20 Reasoning (`grok-4.20-reasoning`)
Grok 4.20 (`grok-4.20`)
Grok 4.20 Multi-Agent (`grok-4.20-multi-agent`)
Grok 4.1 Fast Reasoning (`grok-4-1-fast-reasoning`)
Grok 4.1 Fast (`grok-4-1-fast-non-reasoning`)
Grok Code Fast (`grok-code-fast-1`) | | Tencent Hunyuan | `tencent-hunyuan` | Tencent Hy3 Preview (`hy3-preview`) | | Xiaomi MiMo | `xiaomi` | MiMo V2.5 Pro (`mimo-v2.5-pro`)
MiMo V2 Pro (`mimo-v2-pro`)
MiMo V2.5 (`mimo-v2.5`)
MiMo V2 Omni (`mimo-v2-omni`)
MiMo V2 Flash (`mimo-v2-flash`) | | Ollama | `ollama` | Llama 3.3 70B (`llama3.3`)
Gemma 3 12B (`gemma3`)
DeepSeek R1 (`deepseek-r1`) | diff --git a/packages/docs/instrumentation.ts b/packages/docs/instrumentation.ts new file mode 100644 index 0000000000..f11b3cc76c --- /dev/null +++ b/packages/docs/instrumentation.ts @@ -0,0 +1,7 @@ +/** + * The docs site is a standalone Next app (`output: 'export'`). Next 16 still + * discovers the repo-root `instrumentation.ts` unless this package provides + * its own, and that file imports app persistence modules that do not exist + * here. + */ +export async function register(): Promise {} diff --git a/tests/ai/openai-provider.test.ts b/tests/ai/openai-provider.test.ts index 89d318eed3..47c30faa3f 100644 --- a/tests/ai/openai-provider.test.ts +++ b/tests/ai/openai-provider.test.ts @@ -532,6 +532,18 @@ describe('OpenAI provider defaults', () => { }); it('includes latest official Grok models with explicit output limits', () => { + expect(getProvider('grok')?.models[0]?.id).toBe('grok-4.6'); + expect(getModelInfo('grok', 'grok-4.6')).toMatchObject({ + id: 'grok-4.6', + name: 'Grok 4.6', + contextWindow: 500000, + outputWindow: 500000, + capabilities: { + streaming: true, + tools: true, + vision: true, + }, + }); expect(getModelInfo('grok', 'grok-4.5')).toMatchObject({ id: 'grok-4.5', contextWindow: 500000, @@ -551,6 +563,7 @@ describe('OpenAI provider defaults', () => { it.each([ ['kimi', 'kimi-k3', { mode: 'enabled', effort: 'high' }, { reasoning_effort: 'high' }], + ['grok', 'grok-4.6', { mode: 'enabled', effort: 'xhigh' }, { reasoning_effort: 'xhigh' }], ['grok', 'grok-4.5', { mode: 'enabled', effort: 'medium' }, { reasoning_effort: 'medium' }], ['grok', 'grok-4.3', { mode: 'disabled', effort: 'none' }, { reasoning_effort: 'none' }], ['kimi', 'kimi-k2.6', { mode: 'disabled' }, { thinking: { type: 'disabled' } }], diff --git a/tests/ai/thinking-config.test.ts b/tests/ai/thinking-config.test.ts index 34cf5ce1c5..a31ee7970c 100644 --- a/tests/ai/thinking-config.test.ts +++ b/tests/ai/thinking-config.test.ts @@ -229,6 +229,28 @@ describe('thinking config normalization', () => { }); }); + it('models Grok 4.6 thinking as non-toggleable effort including xhigh', () => { + const thinking = getThinking('grok', 'grok-4.6'); + + expect(supportsConfigurableThinking(thinking)).toBe(true); + expect(thinking?.control).toBe('effort'); + expect(thinking?.requestAdapter).toBe('openai'); + expect(thinking?.toggleable).toBe(false); + expect(thinking?.effortValues).toEqual(['low', 'medium', 'high', 'xhigh']); + expect(getDefaultThinkingConfig(thinking)).toEqual({ + mode: 'enabled', + effort: 'high', + }); + expect(normalizeThinkingConfig(thinking, { mode: 'disabled' })).toEqual({ + mode: 'enabled', + effort: 'low', + }); + expect(normalizeThinkingConfig(thinking, { effort: 'xhigh' })).toEqual({ + mode: 'enabled', + effort: 'xhigh', + }); + }); + it('normalizes DeepSeek V4 thinking as high/max effort levels', () => { const thinking = getThinking('deepseek', 'deepseek-v4-pro');