summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authoradamdotdevin <[email protected]>2025-07-18 05:08:35 -0500
committeradamdotdevin <[email protected]>2025-07-18 05:08:35 -0500
commit9964d8e6c0e21b921838b2ee6c681a8933e4b8e6 (patch)
tree7b2f124675b614dff52d6908daf2b7d2f8beb871
parentdf33143396e126ca506822e9d3701fcbaebc8413 (diff)
downloadopencode-9964d8e6c0e21b921838b2ee6c681a8933e4b8e6.tar.gz
opencode-9964d8e6c0e21b921838b2ee6c681a8933e4b8e6.zip
fix: model cost overrides
-rw-r--r--packages/opencode/src/provider/provider.ts22
1 files changed, 14 insertions, 8 deletions
diff --git a/packages/opencode/src/provider/provider.ts b/packages/opencode/src/provider/provider.ts
index 1b9320aeb..7f10b7dbb 100644
--- a/packages/opencode/src/provider/provider.ts
+++ b/packages/opencode/src/provider/provider.ts
@@ -272,14 +272,20 @@ export namespace Provider {
reasoning: model.reasoning ?? existing?.reasoning ?? false,
temperature: model.temperature ?? existing?.temperature ?? false,
tool_call: model.tool_call ?? existing?.tool_call ?? true,
- cost: {
- ...existing?.cost,
- ...model.cost,
- input: 0,
- output: 0,
- cache_read: 0,
- cache_write: 0,
- },
+ cost:
+ !model.cost && !existing?.cost
+ ? {
+ input: 0,
+ output: 0,
+ cache_read: 0,
+ cache_write: 0,
+ }
+ : {
+ cache_read: 0,
+ cache_write: 0,
+ ...existing?.cost,
+ ...model.cost,
+ },
options: {
...existing?.options,
...model.options,