9ca259dcdc
When runtime fallback switches to a different model, the agent's configured variant and reasoningEffort were lost because buildRetryModelPayload only extracted variant from the fallback model string itself. Now buildRetryModelPayload accepts optional agentSettings and uses the agent's variant as fallback when the model string doesn't include one. reasoningEffort is also passed through. 🤖 Generated with assistance of [OhMyOpenCode](https://github.com/code-yeongyu/oh-my-opencode) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
31 lines
898 B
TypeScript
31 lines
898 B
TypeScript
import { parseModelString } from "../../tools/delegate-task/model-string-parser"
|
|
|
|
export function buildRetryModelPayload(
|
|
model: string,
|
|
agentSettings?: { variant?: string; reasoningEffort?: string },
|
|
): { model: { providerID: string; modelID: string }; variant?: string; reasoningEffort?: string } | undefined {
|
|
const parsedModel = parseModelString(model)
|
|
if (!parsedModel) {
|
|
return undefined
|
|
}
|
|
|
|
const variant = parsedModel.variant ?? agentSettings?.variant
|
|
const reasoningEffort = agentSettings?.reasoningEffort
|
|
|
|
const payload: { model: { providerID: string; modelID: string }; variant?: string; reasoningEffort?: string } = {
|
|
model: {
|
|
providerID: parsedModel.providerID,
|
|
modelID: parsedModel.modelID,
|
|
},
|
|
}
|
|
|
|
if (variant) {
|
|
payload.variant = variant
|
|
}
|
|
if (reasoningEffort) {
|
|
payload.reasoningEffort = reasoningEffort
|
|
}
|
|
|
|
return payload
|
|
}
|