summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--packages/opencode/src/provider/transform.ts9
-rw-r--r--packages/opencode/src/session/prompt.ts4
2 files changed, 9 insertions, 4 deletions
diff --git a/packages/opencode/src/provider/transform.ts b/packages/opencode/src/provider/transform.ts
index 668f30412..ccc36ba2e 100644
--- a/packages/opencode/src/provider/transform.ts
+++ b/packages/opencode/src/provider/transform.ts
@@ -128,10 +128,15 @@ export namespace ProviderTransform {
return undefined
}
- export function options(providerID: string, modelID: string, sessionID: string): Record<string, any> | undefined {
+ export function options(
+ providerID: string,
+ modelID: string,
+ npm: string,
+ sessionID: string,
+ ): Record<string, any> | undefined {
const result: Record<string, any> = {}
- if (providerID === "openai") {
+ if (providerID === "openai" || npm.includes("openai")) {
result["promptCacheKey"] = sessionID
}
diff --git a/packages/opencode/src/session/prompt.ts b/packages/opencode/src/session/prompt.ts
index ae6aff220..0fb7ad226 100644
--- a/packages/opencode/src/session/prompt.ts
+++ b/packages/opencode/src/session/prompt.ts
@@ -266,7 +266,7 @@ export namespace SessionPrompt {
: undefined,
topP: agent.topP ?? ProviderTransform.topP(model.providerID, model.modelID),
options: {
- ...ProviderTransform.options(model.providerID, model.modelID, input.sessionID),
+ ...ProviderTransform.options(model.providerID, model.modelID, model.npm ?? "", input.sessionID),
...model.info.options,
...agent.options,
},
@@ -1819,7 +1819,7 @@ export namespace SessionPrompt {
const small =
(await Provider.getSmallModel(input.providerID)) ?? (await Provider.getModel(input.providerID, input.modelID))
const options = {
- ...ProviderTransform.options(small.providerID, small.modelID, input.session.id),
+ ...ProviderTransform.options(small.providerID, small.modelID, small.npm ?? "", input.session.id),
...small.info.options,
}
if (small.providerID === "openai" || small.modelID.includes("gpt-5")) {