From bab7bad80c0f6e7af6354b2a0dcbc31ea18d8aa3 Mon Sep 17 00:00:00 2001 From: gitmurf <64155612+GitMurf@users.noreply.github.com> Date: Mon, 23 Jun 2025 00:06:00 -0700 Subject: [PATCH] feat(gemini): use env variable instead of hardcoded api key --- packages/opencode/src/auth/index.ts | 7 ++++++- packages/opencode/src/provider/provider.ts | 6 ++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/packages/opencode/src/auth/index.ts b/packages/opencode/src/auth/index.ts index 76afa038..3ae95a50 100644 --- a/packages/opencode/src/auth/index.ts +++ b/packages/opencode/src/auth/index.ts @@ -16,7 +16,12 @@ export namespace Auth { key: z.string(), }) - export const Info = z.discriminatedUnion("type", [Oauth, Api]) + export const Env = z.object({ + type: z.literal("env"), + env: z.string(), + }) + + export const Info = z.discriminatedUnion("type", [Oauth, Api, Env]) export type Info = z.infer const filepath = path.join(Global.Path.data, "auth.json") diff --git a/packages/opencode/src/provider/provider.ts b/packages/opencode/src/provider/provider.ts index 93acb80d..0435803f 100644 --- a/packages/opencode/src/provider/provider.ts +++ b/packages/opencode/src/provider/provider.ts @@ -241,6 +241,12 @@ export namespace Provider { if (provider.type === "api") { mergeProvider(providerID, { apiKey: provider.key }, "api") } + if (provider.type === "env") { + const envValue = process.env[provider.env] + if (envValue) { + mergeProvider(providerID, { apiKey: envValue }, "env") + } + } } // load custom