diff options
| author | Dax Raad <[email protected]> | 2025-06-10 16:18:54 -0400 |
|---|---|---|
| committer | Dax Raad <[email protected]> | 2025-06-10 16:19:02 -0400 |
| commit | 6248c1e7201240d2ec0a7929cb22e46cb34106eb (patch) | |
| tree | 3080204bd171d5fa7e4c9cd6db89de742a9e442c | |
| parent | 772e1851c049f4f861632dacdee9cb1b3e0bda17 (diff) | |
| download | opencode-6248c1e7201240d2ec0a7929cb22e46cb34106eb.tar.gz opencode-6248c1e7201240d2ec0a7929cb22e46cb34106eb.zip | |
merge deep config
| -rw-r--r-- | packages/opencode/src/auth/anthropic.ts | 2 | ||||
| -rw-r--r-- | packages/opencode/src/provider/provider.ts | 18 |
2 files changed, 6 insertions, 14 deletions
diff --git a/packages/opencode/src/auth/anthropic.ts b/packages/opencode/src/auth/anthropic.ts index 6d8913c80..43cbc249a 100644 --- a/packages/opencode/src/auth/anthropic.ts +++ b/packages/opencode/src/auth/anthropic.ts @@ -52,6 +52,8 @@ export namespace AuthAnthropic { await fs.chmod(file.name!, 0o600) } + export const exists = file.exists + export async function access() { if (!(await file.exists())) return const result = await file.json() diff --git a/packages/opencode/src/provider/provider.ts b/packages/opencode/src/provider/provider.ts index 3857404b6..e894d7acf 100644 --- a/packages/opencode/src/provider/provider.ts +++ b/packages/opencode/src/provider/provider.ts @@ -1,7 +1,7 @@ import z from "zod" import { App } from "../app/app" import { Config } from "../config/config" -import { mapValues, 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" @@ -150,10 +150,7 @@ export namespace Provider { } return } - provider.options = { - ...provider.options, - ...options, - } + provider.options = mergeDeep(provider.options, options) provider.source = source } @@ -165,15 +162,8 @@ export namespace Provider { mergeProvider(providerID, result.options, result.source) } - const keys = await AuthKeys.get() - for (const [providerID, key] of Object.entries(keys)) { - mergeProvider( - providerID, - { - apiKey: key, - }, - "global", - ) + for (const [providerID, key] of Object.entries(await AuthKeys.get())) { + mergeProvider(providerID, { apiKey: key }, "global") } for (const [providerID, options] of Object.entries(config.provider ?? {})) { |
