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