| |
| |
| |
| import { platform, arch } from "os"; |
|
|
| |
| |
| |
| |
| function getOAuthPlatformEnum() { |
| const os = platform(); |
| const architecture = arch(); |
| if (os === "darwin") return architecture === "arm64" ? 2 : 1; |
| if (os === "linux") return architecture === "arm64" ? 4 : 3; |
| if (os === "win32") return 5; |
| return 0; |
| } |
|
|
| |
| export const CLAUDE_CONFIG = { |
| clientId: "9d1c250a-e61b-44d9-88ed-5944d1962f5e", |
| authorizeUrl: "https://claude.ai/oauth/authorize", |
| tokenUrl: "https://api.anthropic.com/v1/oauth/token", |
| scopes: ["org:create_api_key", "user:profile", "user:inference"], |
| codeChallengeMethod: "S256", |
| }; |
|
|
| |
| export const CODEX_CONFIG = { |
| clientId: "app_EMoamEEZ73f0CkXaXp7hrann", |
| authorizeUrl: "https://auth.openai.com/oauth/authorize", |
| tokenUrl: "https://auth.openai.com/oauth/token", |
| scope: "openid profile email offline_access", |
| codeChallengeMethod: "S256", |
| |
| extraParams: { |
| id_token_add_organizations: "true", |
| codex_cli_simplified_flow: "true", |
| originator: "codex_cli_rs", |
| }, |
| }; |
|
|
| |
| export const GEMINI_CONFIG = { |
| clientId: "681255809395-oo8ft2oprdrnp9e3aqf6av3hmdib135j.apps.googleusercontent.com", |
| clientSecret: "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", |
| authorizeUrl: "https://accounts.google.com/o/oauth2/v2/auth", |
| tokenUrl: "https://oauth2.googleapis.com/token", |
| userInfoUrl: "https://www.googleapis.com/oauth2/v1/userinfo", |
| scopes: [ |
| "https://www.googleapis.com/auth/cloud-platform", |
| "https://www.googleapis.com/auth/userinfo.email", |
| "https://www.googleapis.com/auth/userinfo.profile", |
| ], |
| }; |
|
|
| |
| export const QWEN_CONFIG = { |
| clientId: "f0304373b74a44d2b584a3fb70ca9e56", |
| deviceCodeUrl: "https://chat.qwen.ai/api/v1/oauth2/device/code", |
| tokenUrl: "https://chat.qwen.ai/api/v1/oauth2/token", |
| scope: "openid profile email model.completion", |
| codeChallengeMethod: "S256", |
| }; |
|
|
| |
| |
| |
| |
| |
| export const QODER_CONFIG = { |
| openApiBaseUrl: "https://openapi.qoder.sh", |
| centerBaseUrl: "https://center.qoder.sh", |
| chatBaseUrl: "https://api3.qoder.sh", |
| deviceTokenUrl: "https://openapi.qoder.sh/api/v1/deviceToken/poll", |
| refreshUrl: "https://center.qoder.sh/algo/api/v3/user/refresh_token", |
| userInfoUrl: "https://openapi.qoder.sh/api/v1/userinfo", |
| quotaUsageUrl: "https://openapi.qoder.sh/api/v2/quota/usage", |
| loginUrl: "https://qoder.com/device/selectAccounts", |
| }; |
|
|
| |
| export const IFLOW_CONFIG = { |
| clientId: "10009311001", |
| clientSecret: "4Z3YjXycVsQvyGF1etiNlIBB4RsqSDtW", |
| authorizeUrl: "https://iflow.cn/oauth", |
| tokenUrl: "https://iflow.cn/oauth/token", |
| userInfoUrl: "https://iflow.cn/api/oauth/getUserInfo", |
| extraParams: { |
| loginMethod: "phone", |
| type: "phone", |
| }, |
| }; |
|
|
| |
| export const ANTIGRAVITY_CONFIG = { |
| clientId: "1071006060591-tmhssin2h21lcre235vtolojh4g403ep.apps.googleusercontent.com", |
| clientSecret: "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", |
| authorizeUrl: "https://accounts.google.com/o/oauth2/v2/auth", |
| tokenUrl: "https://oauth2.googleapis.com/token", |
| userInfoUrl: "https://www.googleapis.com/oauth2/v1/userinfo", |
| scopes: [ |
| "https://www.googleapis.com/auth/cloud-platform", |
| "https://www.googleapis.com/auth/userinfo.email", |
| "https://www.googleapis.com/auth/userinfo.profile", |
| "https://www.googleapis.com/auth/cclog", |
| "https://www.googleapis.com/auth/experimentsandconfigs", |
| ], |
| |
| apiEndpoint: "https://cloudcode-pa.googleapis.com", |
| apiVersion: "v1internal", |
| loadCodeAssistEndpoint: "https://cloudcode-pa.googleapis.com/v1internal:loadCodeAssist", |
| onboardUserEndpoint: "https://cloudcode-pa.googleapis.com/v1internal:onboardUser", |
| loadCodeAssistUserAgent: "google-api-nodejs-client/9.15.1", |
| loadCodeAssistApiClient: "google-cloud-sdk vscode_cloudshelleditor/0.1", |
| |
| loadCodeAssistClientMetadata: JSON.stringify({ ideType: 9, platform: getOAuthPlatformEnum(), pluginType: 2 }), |
| }; |
|
|
| |
| |
| |
| |
| export function getOAuthClientMetadata() { |
| return { ideType: 9, platform: getOAuthPlatformEnum(), pluginType: 2 }; |
| } |
|
|
| |
| export const OPENAI_CONFIG = { |
| clientId: "app_EMoamEEZ73f0CkXaXp7hrann", |
| authorizeUrl: "https://auth.openai.com/oauth/authorize", |
| tokenUrl: "https://auth.openai.com/oauth/token", |
| scope: "openid profile email offline_access", |
| codeChallengeMethod: "S256", |
| extraParams: { |
| id_token_add_organizations: "true", |
| originator: "openai_native", |
| }, |
| }; |
|
|
| |
| export const GITHUB_CONFIG = { |
| clientId: "Iv1.b507a08c87ecfe98", |
| deviceCodeUrl: "https://github.com/login/device/code", |
| tokenUrl: "https://github.com/login/oauth/access_token", |
| userInfoUrl: "https://api.github.com/user", |
| scopes: "read:user", |
| apiVersion: "2022-11-28", |
| copilotTokenUrl: "https://api.github.com/copilot_internal/v2/token", |
| userAgent: "GitHubCopilotChat/0.26.7", |
| editorVersion: "vscode/1.85.0", |
| editorPluginVersion: "copilot-chat/0.26.7", |
| }; |
|
|
| |
| |
| |
| |
| |
| |
| export const KIRO_CONFIG = { |
| |
| ssoOidcEndpoint: "https://oidc.us-east-1.amazonaws.com", |
| registerClientUrl: "https://oidc.us-east-1.amazonaws.com/client/register", |
| deviceAuthUrl: "https://oidc.us-east-1.amazonaws.com/device_authorization", |
| tokenUrl: "https://oidc.us-east-1.amazonaws.com/token", |
| |
| startUrl: "https://view.awsapps.com/start", |
| |
| clientName: "kiro-oauth-client", |
| clientType: "public", |
| scopes: ["codewhisperer:completions", "codewhisperer:analysis", "codewhisperer:conversations"], |
| grantTypes: ["urn:ietf:params:oauth:grant-type:device_code", "refresh_token"], |
| issuerUrl: "https://identitycenter.amazonaws.com/ssoins-722374e8c3c8e6c6", |
| |
| socialAuthEndpoint: "https://prod.us-east-1.auth.desktop.kiro.dev", |
| socialLoginUrl: "https://prod.us-east-1.auth.desktop.kiro.dev/login", |
| socialTokenUrl: "https://prod.us-east-1.auth.desktop.kiro.dev/oauth/token", |
| socialRefreshUrl: "https://prod.us-east-1.auth.desktop.kiro.dev/refreshToken", |
| |
| authMethods: ["builder-id", "idc", "google", "github", "import"], |
| }; |
|
|
| |
| |
| |
| export const CURSOR_CONFIG = { |
| |
| apiEndpoint: "https://api2.cursor.sh", |
| chatEndpoint: "/aiserver.v1.ChatService/StreamUnifiedChatWithTools", |
| modelsEndpoint: "/aiserver.v1.AiService/GetDefaultModelNudgeData", |
| |
| api3Endpoint: "https://api3.cursor.sh", |
| agentEndpoint: "https://agent.api5.cursor.sh", |
| agentNonPrivacyEndpoint: "https://agentn.api5.cursor.sh", |
| |
| clientVersion: "3.1.0", |
| clientType: "ide", |
| |
| tokenStoragePaths: { |
| linux: "~/.config/Cursor/User/globalStorage/state.vscdb", |
| macos: "/Users/<user>/Library/Application Support/Cursor/User/globalStorage/state.vscdb", |
| windows: "%APPDATA%\\Cursor\\User\\globalStorage\\state.vscdb", |
| }, |
| |
| dbKeys: { |
| accessToken: "cursorAuth/accessToken", |
| machineId: "storage.serviceMachineId", |
| }, |
| }; |
|
|
| |
| export const KIMI_CODING_CONFIG = { |
| clientId: process.env.KIMI_CODING_OAUTH_CLIENT_ID || "17e5f671-d194-4dfb-9706-5516cb48c098", |
| deviceCodeUrl: "https://auth.kimi.com/api/oauth/device_authorization", |
| tokenUrl: "https://auth.kimi.com/api/oauth/token", |
| }; |
|
|
| |
| export const KILOCODE_CONFIG = { |
| apiBaseUrl: "https://api.kilo.ai", |
| initiateUrl: "https://api.kilo.ai/api/device-auth/codes", |
| pollUrlBase: "https://api.kilo.ai/api/device-auth/codes", |
| }; |
|
|
| |
| export const CLINE_CONFIG = { |
| appBaseUrl: "https://app.cline.bot", |
| apiBaseUrl: "https://api.cline.bot", |
| authorizeUrl: "https://api.cline.bot/api/v1/auth/authorize", |
| tokenExchangeUrl: "https://api.cline.bot/api/v1/auth/token", |
| refreshUrl: "https://api.cline.bot/api/v1/auth/refresh", |
| }; |
|
|
| |
| |
| export const GITLAB_CONFIG = { |
| defaultBaseUrl: "https://gitlab.com", |
| authorizeUrlPath: "/oauth/authorize", |
| tokenUrlPath: "/oauth/token", |
| userInfoUrlPath: "/api/v4/user", |
| scope: "api read_user", |
| codeChallengeMethod: "S256", |
| }; |
|
|
| |
| |
| |
| |
| export const CODEBUDDY_CONFIG = { |
| baseUrl: "https://copilot.tencent.com", |
| stateUrl: "https://copilot.tencent.com/v2/plugin/auth/state", |
| tokenUrl: "https://copilot.tencent.com/v2/plugin/auth/token", |
| refreshUrl: "https://copilot.tencent.com/v2/plugin/auth/token/refresh", |
| userAgent: "CLI/2.63.2 CodeBuddy/2.63.2", |
| platform: "CLI", |
| pollInterval: 5000, |
| }; |
|
|
| |
| export const OAUTH_TIMEOUT = 300000; |
|
|
| |
| export const PROVIDERS = { |
| CLAUDE: "claude", |
| CODEX: "codex", |
| GEMINI: "gemini-cli", |
| QWEN: "qwen", |
| QODER: "qoder", |
| IFLOW: "iflow", |
| ANTIGRAVITY: "antigravity", |
| OPENAI: "openai", |
| GITHUB: "github", |
| KIRO: "kiro", |
| CURSOR: "cursor", |
| KIMI_CODING: "kimi-coding", |
| KILOCODE: "kilocode", |
| CLINE: "cline", |
| GITLAB: "gitlab", |
| CODEBUDDY: "codebuddy", |
| }; |
|
|