summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorAiden Cline <[email protected]>2026-02-04 12:07:33 -0600
committerGitHub <[email protected]>2026-02-04 18:07:33 +0000
commit305007aa0c97a3515fb679537686dbde52bb4614 (patch)
tree94d6d27cb772a3b2521ccfa398e30f067928831e
parenta2c28fc8d733915af24f0d1945cef9c90c6d3e5f (diff)
downloadopencode-305007aa0c97a3515fb679537686dbde52bb4614.tar.gz
opencode-305007aa0c97a3515fb679537686dbde52bb4614.zip
fix: cloudflare workers ai provider (#12157)
-rw-r--r--packages/opencode/src/provider/provider.ts23
1 files changed, 23 insertions, 0 deletions
diff --git a/packages/opencode/src/provider/provider.ts b/packages/opencode/src/provider/provider.ts
index 2a01bbc44..614d4ec14 100644
--- a/packages/opencode/src/provider/provider.ts
+++ b/packages/opencode/src/provider/provider.ts
@@ -457,6 +457,29 @@ export namespace Provider {
},
}
},
+ "cloudflare-workers-ai": async (input) => {
+ const accountId = Env.get("CLOUDFLARE_ACCOUNT_ID")
+ if (!accountId) return { autoload: false }
+
+ const apiKey = await iife(async () => {
+ const envToken = Env.get("CLOUDFLARE_API_KEY")
+ if (envToken) return envToken
+ const auth = await Auth.get(input.id)
+ if (auth?.type === "api") return auth.key
+ return undefined
+ })
+
+ return {
+ autoload: !!apiKey,
+ options: {
+ apiKey,
+ baseURL: `https://api.cloudflare.com/client/v4/accounts/${accountId}/ai/v1`,
+ },
+ async getModel(sdk: any, modelID: string) {
+ return sdk.languageModel(modelID)
+ },
+ }
+ },
"cloudflare-ai-gateway": async (input) => {
const accountId = Env.get("CLOUDFLARE_ACCOUNT_ID")
const gateway = Env.get("CLOUDFLARE_GATEWAY_ID")