UNPKG

openclaw

Version:

Multi-channel AI gateway with extensible messaging integrations

70 lines (69 loc) 1.75 kB
//#region extensions/google/provider-contract-api.ts const noopAuth = async () => ({ profiles: [] }); function createGoogleProvider() { return { id: "google", label: "Google AI Studio", docsPath: "/providers/models", hookAliases: ["google-antigravity", "google-vertex"], envVars: ["GEMINI_API_KEY", "GOOGLE_API_KEY"], auth: [{ id: "api-key", kind: "api_key", label: "Google Gemini API key", hint: "AI Studio / Gemini API key", run: noopAuth, wizard: { choiceId: "gemini-api-key", choiceLabel: "Google Gemini API key", groupId: "google", groupLabel: "Google", groupHint: "Gemini API key + OAuth" } }] }; } function createGoogleVertexProvider() { return { id: "google-vertex", label: "Google Vertex AI", docsPath: "/providers/models", envVars: [ "GOOGLE_CLOUD_API_KEY", "GOOGLE_CLOUD_PROJECT", "GCLOUD_PROJECT", "GOOGLE_CLOUD_LOCATION", "GOOGLE_APPLICATION_CREDENTIALS" ], auth: [] }; } function createGoogleGeminiCliProvider() { return { id: "google-gemini-cli", label: "Gemini CLI OAuth", docsPath: "/providers/models", aliases: ["gemini-cli"], envVars: [ "OPENCLAW_GEMINI_OAUTH_CLIENT_ID", "OPENCLAW_GEMINI_OAUTH_CLIENT_SECRET", "GEMINI_CLI_OAUTH_CLIENT_ID", "GEMINI_CLI_OAUTH_CLIENT_SECRET" ], auth: [{ id: "oauth", kind: "oauth", label: "Google OAuth", hint: "PKCE + localhost callback", run: noopAuth }], wizard: { setup: { choiceId: "google-gemini-cli", choiceLabel: "Gemini CLI OAuth", choiceHint: "Google OAuth with project-aware token payload", methodId: "oauth" } } }; } //#endregion export { createGoogleProvider as n, createGoogleVertexProvider as r, createGoogleGeminiCliProvider as t };