diff --git a/packages/opencode/src/global/index.ts b/packages/opencode/src/global/index.ts index 4cfaf03a..b5379347 100644 --- a/packages/opencode/src/global/index.ts +++ b/packages/opencode/src/global/index.ts @@ -28,7 +28,7 @@ await Promise.all([ fs.mkdir(Global.Path.bin, { recursive: true }), ]) -const CACHE_VERSION = "7" +const CACHE_VERSION = "8" const version = await Bun.file(path.join(Global.Path.cache, "version")) .text() diff --git a/packages/opencode/src/provider/transform.ts b/packages/opencode/src/provider/transform.ts index c0591a69..8428c247 100644 --- a/packages/opencode/src/provider/transform.ts +++ b/packages/opencode/src/provider/transform.ts @@ -83,32 +83,19 @@ export namespace ProviderTransform { return undefined } - export function options(providerID: string, modelID: string): Record | undefined { + export function options(providerID: string, modelID: string, sessionID: string): Record | undefined { + const result: Record = {} + + if (providerID === "openai") { + result["promptCacheKey"] = sessionID + } + if (modelID.includes("gpt-5")) { - if (providerID === "azure") { - return { - reasoningEffort: "minimal", - } - } - return { - reasoningEffort: "minimal", - textVerbosity: "low", - // reasoningSummary: "auto", - // include: ["reasoning.encrypted_content"], + result["reasoningEffort"] = "minimal" + if (providerID !== "azure") { + result["textVerbosity"] = "low" } } - // if (modelID.includes("claude")) { - // return { - // thinking: { - // type: "enabled", - // budgetTokens: 32000, - // }, - // } - // } - // if (_providerID === "bedrock") { - // return { - // reasoningConfig: { type: "enabled", budgetTokens: 32000 }, - // } - // } + return result } } diff --git a/packages/opencode/src/session/index.ts b/packages/opencode/src/session/index.ts index 182e1617..85b067ef 100644 --- a/packages/opencode/src/session/index.ts +++ b/packages/opencode/src/session/index.ts @@ -674,7 +674,7 @@ export namespace Session { providerOptions: { [input.providerID]: { ...small.info.options, - ...ProviderTransform.options(input.providerID, small.info.id), + ...ProviderTransform.options(input.providerID, small.info.id, input.sessionID), }, }, messages: [ @@ -868,7 +868,7 @@ export namespace Session { : undefined, topP: agent.topP ?? ProviderTransform.topP(input.providerID, input.modelID), options: { - ...ProviderTransform.options(input.providerID, input.modelID), + ...ProviderTransform.options(input.providerID, input.modelID, input.sessionID), ...model.info.options, ...agent.options, },