diff --git a/packages/ai/src/providers/azure-openai-responses.ts b/packages/ai/src/providers/azure-openai-responses.ts index 0e793a737..486a49cb5 100644 --- a/packages/ai/src/providers/azure-openai-responses.ts +++ b/packages/ai/src/providers/azure-openai-responses.ts @@ -460,12 +460,17 @@ function buildParams( } if (model.reasoning) { + // Always request encrypted reasoning content so reasoning items can be + // replayed in multi-turn conversations when store is false (items aren't + // persisted server-side, so we must include the full content). + // See: https://github.com/can1357/oh-my-pi/issues/41 + params.include = ["reasoning.encrypted_content"]; + if (options?.reasoningEffort || options?.reasoningSummary) { params.reasoning = { effort: options?.reasoningEffort || "medium", summary: options?.reasoningSummary || "auto", }; - params.include = ["reasoning.encrypted_content"]; } else { if (model.name.toLowerCase().startsWith("gpt-5")) { // Jesus Christ, see https://community.openai.com/t/need-reasoning-false-option-for-gpt-5/1351588/7 diff --git a/packages/ai/src/providers/openai-responses.ts b/packages/ai/src/providers/openai-responses.ts index 9c33b0e24..052ad8e55 100644 --- a/packages/ai/src/providers/openai-responses.ts +++ b/packages/ai/src/providers/openai-responses.ts @@ -454,12 +454,17 @@ function buildParams(model: Model<"openai-responses">, context: Context, options } if (model.reasoning) { + // Always request encrypted reasoning content so reasoning items can be + // replayed in multi-turn conversations when store is false (items aren't + // persisted server-side, so we must include the full content). + // See: https://github.com/can1357/oh-my-pi/issues/41 + params.include = ["reasoning.encrypted_content"]; + if (options?.reasoningEffort || options?.reasoningSummary) { params.reasoning = { effort: options?.reasoningEffort || "medium", summary: options?.reasoningSummary || "auto", }; - params.include = ["reasoning.encrypted_content"]; } else { if (model.name.startsWith("gpt-5")) { // Jesus Christ, see https://community.openai.com/t/need-reasoning-false-option-for-gpt-5/1351588/7 diff --git a/packages/coding-agent/src/config/model-resolver.ts b/packages/coding-agent/src/config/model-resolver.ts index ab5b294e8..847fb19ed 100644 --- a/packages/coding-agent/src/config/model-resolver.ts +++ b/packages/coding-agent/src/config/model-resolver.ts @@ -28,9 +28,9 @@ export const defaultModelPerProvider: Record = { cerebras: "zai-glm-4.6", zai: "glm-4.6", mistral: "devstral-medium-latest", - minimax: "MiniMax-M2.1", - "minimax-code": "MiniMax-M2.1", - "minimax-code-cn": "MiniMax-M2.1", + minimax: "MiniMax-M2.5", + "minimax-code": "MiniMax-M2.5", + "minimax-code-cn": "MiniMax-M2.5", opencode: "claude-opus-4-6", "kimi-code": "kimi-k2.5", };