Skip to main content

cc_switch_lib/
lib.rs

1// Core modules
2mod app_config;
3mod claude_mcp;
4mod claude_plugin;
5mod codex_config;
6pub mod commands;
7mod config;
8mod database;
9mod deeplink;
10mod error;
11mod gemini_config;
12mod gemini_mcp;
13mod hermes_config;
14mod import_export;
15mod init_status;
16mod mcp;
17mod openclaw_config;
18mod opencode_config;
19mod prompt;
20mod prompt_files;
21mod provider;
22mod provider_defaults;
23mod proxy;
24mod services;
25mod settings;
26mod store;
27mod sync_policy;
28mod usage_script;
29
30#[cfg(test)]
31pub(crate) mod test_support;
32
33// CLI module
34pub mod cli;
35
36// Public exports
37pub use app_config::{AppType, McpApps, McpServer, MultiAppConfig};
38pub use claude_plugin::{
39    sync_claude_plugin_on_provider_switch, sync_claude_plugin_on_settings_toggle,
40};
41pub use codex_config::{get_codex_auth_path, get_codex_config_path, write_codex_live_atomic};
42pub use config::{
43    check_legacy_config_dir_migration_needed, get_app_config_dir, get_claude_mcp_path,
44    get_claude_settings_path, migrate_legacy_config_dir_if_needed, read_json_file,
45    skip_legacy_config_dir_migration,
46};
47pub use database::{Database, FailoverQueueItem};
48pub use deeplink::{import_provider_from_deeplink, parse_deeplink_url, DeepLinkImportRequest};
49pub use error::AppError;
50pub use import_export::export_config_to_file;
51pub use mcp::{
52    import_from_claude, import_from_codex, import_from_gemini, remove_server_from_claude,
53    remove_server_from_codex, remove_server_from_gemini, sync_enabled_to_claude,
54    sync_enabled_to_codex, sync_enabled_to_gemini, sync_single_server_to_claude,
55    sync_single_server_to_codex, sync_single_server_to_gemini,
56};
57pub use provider::{Provider, ProviderMeta};
58pub use proxy::{ProxyConfig, ProxyServerInfo, ProxyStatus};
59pub use services::{
60    AuthService, ConfigService, CredentialStatus, EndpointLatency, ExtraUsage, HealthStatus,
61    ManagedAuthAccount, ManagedAuthDeviceCodeResponse, ManagedAuthStatus, McpService,
62    PromptService, ProviderService, ProxyService, QuotaTier, SkillService, SpeedtestService,
63    StreamCheckConfig, StreamCheckResult, StreamCheckService, SubscriptionQuota, SyncDecision,
64    WebDavSyncService, WebDavSyncSummary,
65};
66pub use settings::{
67    get_enable_claude_plugin_integration, get_skip_claude_onboarding, get_webdav_sync_settings,
68    set_enable_claude_plugin_integration, set_skip_claude_onboarding, set_webdav_sync_settings,
69    update_settings, update_webdav_sync_status, webdav_jianguoyun_preset, AppSettings,
70    WebDavSyncSettings, WebDavSyncStatus,
71};
72pub use store::AppState;