diff --git a/packages/opencode/src/provider/transform.ts b/packages/opencode/src/provider/transform.ts index 36535e11..3264dd05 100644 --- a/packages/opencode/src/provider/transform.ts +++ b/packages/opencode/src/provider/transform.ts @@ -1,7 +1,6 @@ import type { ModelMessage } from "ai" import { unique } from "remeda" - export namespace ProviderTransform { function normalizeToolCallIds(msgs: ModelMessage[]): ModelMessage[] { return msgs.map((msg) => { @@ -10,7 +9,7 @@ export namespace ProviderTransform { if ((part.type === "tool-call" || part.type === "tool-result") && "toolCallId" in part) { return { ...part, - toolCallId: part.toolCallId.replace(/[^a-zA-Z0-9_-]/g, '_') + toolCallId: part.toolCallId.replace(/[^a-zA-Z0-9_-]/g, "_"), } } return part @@ -40,8 +39,7 @@ export namespace ProviderTransform { } for (const msg of unique([...system, ...final])) { - const shouldUseContentOptions = - providerID !== "anthropic" && Array.isArray(msg.content) && msg.content.length > 0 + const shouldUseContentOptions = providerID !== "anthropic" && Array.isArray(msg.content) && msg.content.length > 0 if (shouldUseContentOptions) { const lastContent = msg.content[msg.content.length - 1] @@ -70,7 +68,7 @@ export namespace ProviderTransform { if (providerID === "anthropic" || modelID.includes("anthropic") || modelID.includes("claude")) { msgs = applyCaching(msgs, providerID) } - + return msgs } @@ -78,4 +76,9 @@ export namespace ProviderTransform { if (modelID.toLowerCase().includes("qwen")) return 0.55 return 0 } + + export function topP(_providerID: string, modelID: string) { + if (modelID.toLowerCase().includes("qwen")) return 1 + return undefined + } }