summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorDax Raad <[email protected]>2025-06-13 00:53:46 -0400
committerDax Raad <[email protected]>2025-06-13 00:53:46 -0400
commit9abc2a0cf8590b0ff75a441d36bb70351a1f3c92 (patch)
tree69bfa4262bd7037f7c7c94e525dc88fb17613749
parent9fb47bc855c5c30ab7602a34f9c6de0f9a8f091c (diff)
downloadopencode-9abc2a0cf8590b0ff75a441d36bb70351a1f3c92.tar.gz
opencode-9abc2a0cf8590b0ff75a441d36bb70351a1f3c92.zip
load API keys
-rw-r--r--packages/opencode/src/provider/provider.ts13
1 files changed, 9 insertions, 4 deletions
diff --git a/packages/opencode/src/provider/provider.ts b/packages/opencode/src/provider/provider.ts
index bd1d9d99a..da6fd8566 100644
--- a/packages/opencode/src/provider/provider.ts
+++ b/packages/opencode/src/provider/provider.ts
@@ -1,11 +1,9 @@
import z from "zod"
import { App } from "../app/app"
import { Config } from "../config/config"
-import { mergeDeep, pipe, sortBy } from "remeda"
+import { mergeDeep, sortBy } from "remeda"
import { NoSuchModelError, type LanguageModel, type Provider as SDK } from "ai"
import { Log } from "../util/log"
-import path from "path"
-import { Global } from "../global"
import { BunProc } from "../bun"
import { BashTool } from "../tool/bash"
import { EditTool } from "../tool/edit"
@@ -33,7 +31,7 @@ export namespace Provider {
provider: ModelsDev.Provider,
) => Promise<Record<string, any> | false>
- type Source = "env" | "config" | "custom"
+ type Source = "env" | "config" | "custom" | "api"
const CUSTOM_LOADERS: Record<string, CustomLoader> = {
async anthropic(provider) {
@@ -148,6 +146,13 @@ export namespace Provider {
}
}
+ // load apikeys
+ for (const [providerID, provider] of Object.entries(await Auth.all())) {
+ if (provider.type === "api") {
+ mergeProvider(providerID, { apiKey: provider.key }, "api")
+ }
+ }
+
// load custom
for (const [providerID, fn] of Object.entries(CUSTOM_LOADERS)) {
const result = await fn(database[providerID])