[PR #10323] fix(provider): deep merge providerOptions in applyCaching #13402

Closed
opened 2026-02-16 18:18:15 -05:00 by yindo · 0 comments
Owner

Original Pull Request: https://github.com/anomalyco/opencode/pull/10323

State: closed
Merged: Yes


Summary

Fixes #10241

Previously, applyCaching used shallow spreading ({...a, ...b}) to merge providerOptions, which would completely overwrite nested keys like openaiCompatible. This caused options set by normalizeMessages (e.g., reasoning_content for interleaved models) to be lost when applyCaching ran.

Changes

  • Import mergeDeep from remeda
  • Replace shallow spread with mergeDeep() for both message-level and content-level providerOptions

Now using remeda's mergeDeep to properly preserve existing nested properties while adding cache control options.

Test Plan

  • Existing provider transform tests pass (75 tests)
  • TypeScript type checking passes

🤖 Generated with Claude Code

**Original Pull Request:** https://github.com/anomalyco/opencode/pull/10323 **State:** closed **Merged:** Yes --- ## Summary Fixes #10241 Previously, `applyCaching` used shallow spreading (`{...a, ...b}`) to merge `providerOptions`, which would completely overwrite nested keys like `openaiCompatible`. This caused options set by `normalizeMessages` (e.g., `reasoning_content` for interleaved models) to be lost when `applyCaching` ran. ## Changes - Import `mergeDeep` from remeda - Replace shallow spread with `mergeDeep()` for both message-level and content-level providerOptions Now using remeda's `mergeDeep` to properly preserve existing nested properties while adding cache control options. ## Test Plan - [x] Existing provider transform tests pass (75 tests) - [x] TypeScript type checking passes --- 🤖 Generated with [Claude Code](https://claude.com/claude-code)
yindo added the pull-request label 2026-02-16 18:18:15 -05:00
yindo closed this issue 2026-02-16 18:18:15 -05:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: anomalyco/opencode#13402