summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-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])