summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorAiden Cline <[email protected]>2025-11-19 14:22:51 -0600
committerAiden Cline <[email protected]>2025-11-19 14:22:51 -0600
commit9d068c20bb1325056f435a753273acf8cda04b8f (patch)
treebd4706d56e4eb2834ba478bf3c3a32961095b25f
parent48e4f2f45d54364a8123d603dbbca7bfe8fcc763 (diff)
downloadopencode-9d068c20bb1325056f435a753273acf8cda04b8f.tar.gz
opencode-9d068c20bb1325056f435a753273acf8cda04b8f.zip
fix: openrouter ai sdk package support
-rw-r--r--packages/opencode/src/provider/provider.ts1
-rw-r--r--packages/opencode/src/provider/transform.ts11
2 files changed, 12 insertions, 0 deletions
diff --git a/packages/opencode/src/provider/provider.ts b/packages/opencode/src/provider/provider.ts
index 774860ffb..2ffe9357c 100644
--- a/packages/opencode/src/provider/provider.ts
+++ b/packages/opencode/src/provider/provider.ts
@@ -494,6 +494,7 @@ export namespace Provider {
if (pkg.includes("@ai-sdk/openai-compatible") && options["includeUsage"] === undefined) {
options["includeUsage"] = true
}
+
const key = Bun.hash.xxHash32(JSON.stringify({ pkg, options }))
const existing = s.sdk.get(key)
if (existing) return existing
diff --git a/packages/opencode/src/provider/transform.ts b/packages/opencode/src/provider/transform.ts
index 5989fa2a1..66a9ebfd9 100644
--- a/packages/opencode/src/provider/transform.ts
+++ b/packages/opencode/src/provider/transform.ts
@@ -137,6 +137,13 @@ export namespace ProviderTransform {
): Record<string, any> | undefined {
const result: Record<string, any> = {}
+ // switch to providerID later, for now use this
+ if (npm === "@openrouter/ai-sdk-provider") {
+ result["usage"] = {
+ include: true,
+ }
+ }
+
if (providerID === "openai") {
result["promptCacheKey"] = sessionID
}
@@ -192,6 +199,10 @@ export namespace ProviderTransform {
return {
["gateway" as string]: options,
}
+ case "@openrouter/ai-sdk-provider":
+ return {
+ ["openrouter" as string]: options,
+ }
default:
return {
[providerID]: options,