summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorAiden Cline <[email protected]>2026-02-09 11:00:06 -0600
committerGitHub <[email protected]>2026-02-09 11:00:06 -0600
commit8ad4768ecdeb715188136727074ba190075aeff8 (patch)
treeccd63d26a150702e7d6e3e5007283c0048baa18e
parent24fd8c166d2dfc6505a61541dae31d206b200680 (diff)
downloadopencode-8ad4768ecdeb715188136727074ba190075aeff8.tar.gz
opencode-8ad4768ecdeb715188136727074ba190075aeff8.zip
tweak: adjust agent variant logic to not require exact match on model, and instead check if the variant is available for model (#12838)
-rw-r--r--packages/opencode/src/session/prompt.ts13
1 files changed, 5 insertions, 8 deletions
diff --git a/packages/opencode/src/session/prompt.ts b/packages/opencode/src/session/prompt.ts
index ad7b6f1a9..561e7feed 100644
--- a/packages/opencode/src/session/prompt.ts
+++ b/packages/opencode/src/session/prompt.ts
@@ -843,14 +843,11 @@ export namespace SessionPrompt {
const agent = await Agent.get(input.agent ?? (await Agent.defaultAgent()))
const model = input.model ?? agent.model ?? (await lastModel(input.sessionID))
- const variant =
- input.variant ??
- (agent.variant &&
- agent.model &&
- model.providerID === agent.model.providerID &&
- model.modelID === agent.model.modelID
- ? agent.variant
- : undefined)
+ const full =
+ !input.variant && agent.variant
+ ? await Provider.getModel(model.providerID, model.modelID).catch(() => undefined)
+ : undefined
+ const variant = input.variant ?? (agent.variant && full?.variants?.[agent.variant] ? agent.variant : undefined)
const info: MessageV2.Info = {
id: input.messageID ?? Identifier.ascending("message"),