Skip to main content

vtcode_auth/
lib.rs

1//! Shared authentication and OAuth flows for VT Code.
2
3mod config;
4pub mod credentials;
5pub mod oauth_server;
6pub mod openai_chatgpt_oauth;
7pub mod openrouter_oauth;
8pub mod pkce;
9mod storage_paths;
10
11pub use config::{AuthConfig, CopilotAuthConfig, OpenAIAuthConfig, OpenAIPreferredMethod};
12pub use credentials::{
13    AuthCredentialsStoreMode, CredentialStorage, CustomApiKeyStorage, clear_custom_api_keys,
14    load_custom_api_keys, migrate_custom_api_keys_to_keyring,
15};
16pub use oauth_server::{
17    AuthCallbackOutcome, OAuthCallbackPage, OAuthProvider, run_auth_code_callback_server,
18};
19pub use openai_chatgpt_oauth::{
20    OpenAIChatGptAuthHandle, OpenAIChatGptAuthStatus, OpenAIChatGptSession,
21    OpenAICredentialOverview, OpenAIResolvedAuth, OpenAIResolvedAuthSource,
22    clear_openai_chatgpt_session, clear_openai_chatgpt_session_with_mode,
23    exchange_openai_chatgpt_code_for_tokens, generate_openai_oauth_state,
24    get_openai_chatgpt_auth_status, get_openai_chatgpt_auth_status_with_mode,
25    get_openai_chatgpt_auth_url, load_openai_chatgpt_session,
26    load_openai_chatgpt_session_with_mode, parse_openai_chatgpt_manual_callback_input,
27    refresh_openai_chatgpt_session_with_mode, resolve_openai_auth, save_openai_chatgpt_session,
28    save_openai_chatgpt_session_with_mode, summarize_openai_credentials,
29};
30pub use openrouter_oauth::{
31    AuthStatus, OpenRouterOAuthConfig, OpenRouterToken, clear_oauth_token,
32    clear_oauth_token_with_mode, exchange_code_for_token, get_auth_status,
33    get_auth_status_with_mode, get_auth_url, load_oauth_token, load_oauth_token_with_mode,
34    save_oauth_token, save_oauth_token_with_mode,
35};
36pub use pkce::{PkceChallenge, generate_pkce_challenge};