Files
oh-my-opencode/src/shared/model-format-normalizer.ts
T
Firstbober 13716f78aa fix: model format normalization and explicit config cache bypass
- Add normalizeModelFormat() utility for string/object model handling
- Update subagent-resolver to handle both model formats
- Add explicitUserConfig flag to ModelResolutionResult
- Set explicitUserConfig: true when user model is found in pipeline

This fixes the issue where plugin-provided models fail cache validation
and fall through to random fallback models.
2026-02-23 17:42:53 +01:00

21 lines
554 B
TypeScript

export function normalizeModelFormat(
model: string | { providerID: string; modelID: string }
): { providerID: string; modelID: string } | undefined {
if (!model) {
return undefined
}
if (typeof model === "object" && "providerID" in model && "modelID" in model) {
return { providerID: model.providerID, modelID: model.modelID }
}
if (typeof model === "string") {
const parts = model.split("/")
if (parts.length >= 2) {
return { providerID: parts[0], modelID: parts.slice(1).join("/") }
}
}
return undefined
}