1#![cfg_attr(test, allow(clippy::unreachable))]
2#![cfg_attr(not(test), allow(clippy::map_err_ignore))]
3pub mod acp;
29pub mod api_keys;
30pub mod auth;
31pub mod codex;
32pub mod constants;
33pub mod context;
34pub mod core;
35pub mod debug;
36pub mod defaults;
37pub mod env_helpers;
38pub mod hooks;
39pub mod ide_context;
40pub mod loader;
41pub mod mcp;
42pub mod models;
43pub mod optimization;
44pub mod output_styles;
45pub mod root;
46#[cfg(feature = "schema")]
47pub mod schema;
48pub mod status_line;
49pub mod subagents;
50pub mod telemetry;
51pub mod terminal_title;
52pub mod timeouts;
53pub mod types;
54pub mod update;
55pub mod workspace_env;
56
57pub use acp::{
58 AgentClientProtocolConfig, AgentClientProtocolTransport, AgentClientProtocolZedConfig,
59 AgentClientProtocolZedToolsConfig, AgentClientProtocolZedWorkspaceTrustMode,
60 WorkspaceTrustLevel,
61};
62pub use api_keys::ApiKeySources;
63pub use context::{ContextFeaturesConfig, DynamicContextConfig, LedgerConfig};
64pub use core::{
65 AgentCodexAppServerConfig, AgentConfig, AgentOnboardingConfig, AgentPromptSuggestionsConfig,
66 AuthConfig, AutoModeConfig, AutoModeEnvironmentConfig, AutomationConfig, BundledSkillsConfig,
67 CommandsConfig, CopilotAuthConfig, CustomProviderCommandAuthConfig, DockerSandboxConfig,
68 EditorToolConfig, ExternalSandboxConfig, ExternalSandboxType, FullAutoConfig, GatekeeperConfig,
69 MemoriesConfig, MicroVMSandboxConfig, ModelConfig, NetworkAllowlistEntryConfig, NetworkConfig,
70 OpenAIAuthConfig, OpenAIConfig, OpenAIHostedShellConfig, OpenAIHostedShellDomainSecret,
71 OpenAIHostedShellEnvironment, OpenAIHostedShellNetworkPolicy,
72 OpenAIHostedShellNetworkPolicyType, OpenAIHostedSkill, OpenAIManualCompactionConfig,
73 OpenAIPreferredMethod, OpenAIServiceTier, OpenResponsesConfig, OpenRouterAuthConfig,
74 PermissionMode, PluginRuntimeConfig, PluginTrustLevel, PromptCachingConfig,
75 ProviderPromptCachingConfig, ResourceLimitsConfig, ResourceLimitsPreset, SandboxConfig,
76 SandboxMode, SeccompConfig, SeccompProfilePreset, SecurityConfig, SensitivePathsConfig,
77 SkillsConfig, SkillsRenderMode, ToolPolicy, ToolsConfig, WebFetchConfig,
78};
79pub use debug::{DebugConfig, TraceLevel};
80pub use defaults::{
81 ConfigDefaultsProvider, ContextStoreDefaults, PerformanceDefaults, ScenarioDefaults,
82 SyntaxHighlightingDefaults, WorkspacePathsDefaults, current_config_defaults, get_config_dir,
83 get_data_dir, install_config_defaults_provider, reset_to_default_config_defaults,
84 with_config_defaults,
85};
86pub use hooks::{
87 HookCommandConfig, HookCommandKind, HookGroupConfig, HooksConfig, LifecycleHooksConfig,
88};
89pub use ide_context::{
90 IdeContextConfig, IdeContextProviderConfig, IdeContextProviderFamily, IdeContextProviderMode,
91 IdeContextProvidersConfig,
92};
93pub use loader::layers::{
94 ConfigLayerEntry, ConfigLayerLoadError, ConfigLayerMetadata, ConfigLayerSource,
95 ConfigLayerStack, LayerDisabledReason,
96};
97pub use loader::{
98 ConfigBuilder, ConfigManager, ConfigWatcher, FeaturesConfig, SimpleConfigWatcher,
99 SyntaxHighlightingConfig, VTCodeConfig, fingerprint_str, fingerprint_toml_value,
100 merge_toml_values, merge_toml_values_with_origins,
101};
102pub use mcp::{
103 McpAllowListConfig, McpAllowListRules, McpClientConfig, McpHttpServerConfig,
104 McpLifecycleConfig, McpProviderConfig, McpStdioServerConfig, McpTransportConfig, McpUiConfig,
105 McpUiMode,
106};
107pub use models::{ModelId, OpenRouterMetadata};
108pub use optimization::{
109 AgentExecutionConfig, AsyncPipelineConfig, CommandCacheConfig, FileReadCacheConfig,
110 LLMClientConfig, MemoryPoolConfig, OptimizationConfig, ProfilingConfig, ToolRegistryConfig,
111};
112pub use output_styles::{OutputStyle, OutputStyleConfig, OutputStyleManager};
113pub use root::{
114 AskQuestionsConfig, ChatConfig, LayoutModeOverride, NotificationBackend,
115 NotificationDeliveryMode, PtyConfig, PtyEmulationBackend, ReasoningDisplayMode, ToolOutputMode,
116 UiConfig, UiDisplayMode, UiFullscreenConfig, UiNotificationsConfig,
117};
118#[cfg(feature = "schema")]
119pub use schema::{vtcode_config_schema, vtcode_config_schema_json, vtcode_config_schema_pretty};
120pub use status_line::{StatusLineConfig, StatusLineMode};
121pub use subagents::{
122 DiscoveredSubagents, SubagentDiscoveryInput, SubagentMcpServer, SubagentMemoryScope,
123 SubagentRuntimeLimits, SubagentSource, SubagentSpec, builtin_subagents, discover_subagents,
124 load_subagent_from_file,
125};
126pub use telemetry::TelemetryConfig;
127pub use terminal_title::{DEFAULT_TERMINAL_TITLE_ITEMS, TerminalTitleConfig};
128pub use timeouts::{TimeoutsConfig, resolve_timeout};
129pub use types::{
130 EditingMode, ReasoningEffortLevel, SystemPromptMode, ToolDocumentationMode,
131 UiSurfacePreference, VerbosityLevel,
132};
133pub use workspace_env::{read_workspace_env_value, write_workspace_env_value};
134
135pub use auth::{
137 AuthStatus, CopilotAuthConfig as AuthCopilotConfig, McpOAuthConfig, McpOAuthService,
138 McpOAuthStatus, McpOAuthToken, OpenAIAccountAuthService, OpenAIChatGptAuthHandle,
139 OpenAIChatGptAuthStatus, OpenAIChatGptSession, OpenRouterOAuthConfig, OpenRouterToken,
140 PkceChallenge, clear_oauth_token, clear_openai_chatgpt_session, generate_pkce_challenge,
141 get_auth_status, get_auth_url, get_openai_chatgpt_auth_status, get_openai_chatgpt_auth_url,
142 load_oauth_token, load_openai_chatgpt_session, resolve_openai_auth, save_oauth_token,
143 save_openai_chatgpt_session,
144};
145pub use codex::{
146 FileOpener, HistoryConfig, HistoryPersistence, NotificationCondition,
147 TerminalNotificationMethod, TuiAlternateScreen, TuiConfig, TuiNotificationEvent,
148 TuiNotificationsConfig,
149};