diff --git a/packages/ai/CHANGELOG.md b/packages/ai/CHANGELOG.md index fe6cf4b3..fe1954ea 100644 --- a/packages/ai/CHANGELOG.md +++ b/packages/ai/CHANGELOG.md @@ -5,6 +5,7 @@ ### Fixed - Stopped sending `tools: []` on OpenAI-compatible, Anthropic, OpenAI Responses, OpenAI Codex Responses, and Azure OpenAI Responses requests when no tools are active (e.g. `pi --no-tools`). DashScope/Aliyun Qwen (OpenAI-compatible) rejects empty tools arrays with `"[] is too short - 'tools'"` (HTTP 400); the field is now omitted unless the conversation has tool history (the existing LiteLLM/Anthropic-proxy workaround). +- Fixed `supportsXhigh()` to recognize DeepSeek V4 Pro, preserving `xhigh` reasoning requests so they map to DeepSeek's `max` effort ([#3662](https://github.com/badlogic/pi-mono/issues/3662)) ## [0.70.2] - 2026-04-24 ### Fixed diff --git a/packages/ai/src/models.ts b/packages/ai/src/models.ts index 61060bea..ee095205 100644 --- a/packages/ai/src/models.ts +++ b/packages/ai/src/models.ts @@ -50,6 +50,7 @@ export function calculateCost(model: Model, usage: Usage * * Supported today: * - GPT-5.2 / GPT-5.3 / GPT-5.4 / GPT-5.5 model families + * - DeepSeek V4 Pro * - Opus 4.6+ models (xhigh maps to adaptive effort "max" on Anthropic-compatible providers) */ export function supportsXhigh(model: Model): boolean { @@ -57,7 +58,8 @@ export function supportsXhigh(model: Model): boolean { model.id.includes("gpt-5.2") || model.id.includes("gpt-5.3") || model.id.includes("gpt-5.4") || - model.id.includes("gpt-5.5") + model.id.includes("gpt-5.5") || + model.id.includes("deepseek-v4-pro") ) { return true; }