UNPKG

openclaw

Version:

Multi-channel AI gateway with extensible messaging integrations

32 lines (31 loc) • 994 B
import { normalizeOptionalString, readStringValue } from "openclaw/plugin-sdk/string-coerce-runtime"; //#region extensions/google/oauth-token-shared.ts function parseGoogleOauthApiKey(apiKey) { try { const parsed = JSON.parse(apiKey); return { token: readStringValue(parsed.token), projectId: readStringValue(parsed.projectId) }; } catch { return null; } } //#endregion //#region extensions/google/gemini-auth.ts function parseGeminiAuth(apiKey) { const parsed = apiKey.startsWith("{") ? parseGoogleOauthApiKey(apiKey) : null; if (parsed?.token) return { headers: { Authorization: `Bearer ${parsed.token}`, "Content-Type": "application/json" } }; return { headers: { "x-goog-api-key": apiKey, "Content-Type": "application/json" } }; } function resolveGoogleEnvApiKey() { return normalizeOptionalString(process.env.GEMINI_API_KEY) ?? normalizeOptionalString(process.env.GOOGLE_API_KEY); } //#endregion export { resolveGoogleEnvApiKey as n, parseGeminiAuth as t };