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