summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--packages/opencode/src/cli/cmd/debug.ts3
-rw-r--r--packages/opencode/src/provider/provider.ts12
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