diff options
| author | Dax Raad <[email protected]> | 2025-06-30 19:07:51 -0400 |
|---|---|---|
| committer | Dax Raad <[email protected]> | 2025-06-30 19:07:51 -0400 |
| commit | fea56d8de6385d707c688c432d64f107a6d3e4ac (patch) | |
| tree | 5968c2fc33cc41f0c14c346652eca88feb487fd5 /packages | |
| parent | 3d71be2b4503c1b5cab445504e5fae9c56e1b1a1 (diff) | |
| download | opencode-fea56d8de6385d707c688c432d64f107a6d3e4ac.tar.gz opencode-fea56d8de6385d707c688c432d64f107a6d3e4ac.zip | |
fix loading api key from env for openai compatible providers
Diffstat (limited to 'packages')
| -rw-r--r-- | packages/opencode/src/cli/cmd/debug.ts | 3 | ||||
| -rw-r--r-- | packages/opencode/src/provider/provider.ts | 12 |
2 files changed, 11 insertions, 4 deletions
diff --git a/packages/opencode/src/cli/cmd/debug.ts b/packages/opencode/src/cli/cmd/debug.ts index 0924467e4..23d080e18 100644 --- a/packages/opencode/src/cli/cmd/debug.ts +++ b/packages/opencode/src/cli/cmd/debug.ts @@ -1,6 +1,7 @@ import { App } from "../../app/app" import { Ripgrep } from "../../file/ripgrep" import { LSP } from "../../lsp" +import { Log } from "../../util/log" import { bootstrap } from "../bootstrap" import { cmd } from "./cmd" @@ -49,7 +50,7 @@ const SymbolsCommand = cmd({ async handler(args) { await bootstrap({ cwd: process.cwd() }, async () => { await LSP.touchFile("./src/index.ts", true) - await new Promise((resolve) => setTimeout(resolve, 3000)) + using _ = Log.Default.time("symbols") const results = await LSP.workspaceSymbol(args.query) console.log(JSON.stringify(results, null, 2)) }) diff --git a/packages/opencode/src/provider/provider.ts b/packages/opencode/src/provider/provider.ts index c034a9ce3..3374e3b2b 100644 --- a/packages/opencode/src/provider/provider.ts +++ b/packages/opencode/src/provider/provider.ts @@ -246,6 +246,7 @@ export namespace Provider { npm: provider.npm ?? existing?.npm, name: provider.name ?? existing?.name ?? providerID, env: provider.env ?? existing?.env ?? [], + api: provider.api ?? existing?.api, models: existing?.models ?? {}, } @@ -288,9 +289,14 @@ export namespace Provider { // load env for (const [providerID, provider] of Object.entries(database)) { if (disabled.has(providerID)) continue - if (provider.env.some((item) => process.env[item])) { - mergeProvider(providerID, {}, "env") - } + const apiKey = provider.env.map((item) => process.env[item]).at(0) + if (!apiKey) continue + mergeProvider( + providerID, + // only include apiKey if there's only one potential option + provider.env.length === 1 ? { apiKey } : {}, + "env", + ) } // load apikeys |
