| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- // Package geminicli provides helpers for interacting with Gemini CLI tools.
- package geminicli
- import "time"
- const (
- AIStudioBaseURL = "https://generativelanguage.googleapis.com"
- GeminiCliBaseURL = "https://cloudcode-pa.googleapis.com"
- AuthorizeURL = "https://accounts.google.com/o/oauth2/v2/auth"
- TokenURL = "https://oauth2.googleapis.com/token"
- // AIStudioOAuthRedirectURI is the default redirect URI used for AI Studio OAuth.
- // This matches the "copy/paste callback URL" flow used by OpenAI OAuth in this project.
- // Note: You still need to register this redirect URI in your Google OAuth client
- // unless you use an OAuth client type that permits localhost redirect URIs.
- AIStudioOAuthRedirectURI = "http://localhost:1455/auth/callback"
- // DefaultScopes for Code Assist (includes cloud-platform for API access plus userinfo scopes)
- // Required by Google's Code Assist API.
- DefaultCodeAssistScopes = "https://www.googleapis.com/auth/cloud-platform https://www.googleapis.com/auth/userinfo.email https://www.googleapis.com/auth/userinfo.profile"
- // DefaultScopes for AI Studio (uses generativelanguage API with OAuth)
- // Reference: https://ai.google.dev/gemini-api/docs/oauth
- // For regular Google accounts, supports API calls to generativelanguage.googleapis.com
- // Note: Google Auth platform currently documents the OAuth scope as
- // https://www.googleapis.com/auth/generative-language.retriever (often with cloud-platform).
- DefaultAIStudioScopes = "https://www.googleapis.com/auth/cloud-platform https://www.googleapis.com/auth/generative-language.retriever"
- // DefaultGoogleOneScopes (DEPRECATED, no longer used)
- // Google One now always uses the built-in Gemini CLI client with DefaultCodeAssistScopes.
- // This constant is kept for backward compatibility but is not actively used.
- DefaultGoogleOneScopes = "https://www.googleapis.com/auth/cloud-platform https://www.googleapis.com/auth/generative-language.retriever https://www.googleapis.com/auth/drive.readonly https://www.googleapis.com/auth/userinfo.email https://www.googleapis.com/auth/userinfo.profile"
- // GeminiCLIRedirectURI is the redirect URI used by Gemini CLI for Code Assist OAuth.
- GeminiCLIRedirectURI = "https://codeassist.google.com/authcode"
- // GeminiCLIOAuthClientID/Secret are the public OAuth client credentials used by Google Gemini CLI.
- // They enable the "login without creating your own OAuth client" experience, but Google may
- // restrict which scopes are allowed for this client.
- GeminiCLIOAuthClientID = "681255809395-oo8ft2oprdrnp9e3aqf6av3hmdib135j.apps.googleusercontent.com"
- GeminiCLIOAuthClientSecret = "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"
- // GeminiCLIOAuthClientSecretEnv is the environment variable name for the built-in client secret.
- GeminiCLIOAuthClientSecretEnv = "GEMINI_CLI_OAUTH_CLIENT_SECRET"
- SessionTTL = 30 * time.Minute
- // GeminiCLIUserAgent mimics Gemini CLI to maximize compatibility with internal endpoints.
- GeminiCLIUserAgent = "GeminiCLI/0.1.5 (Windows; AMD64)"
- )
|