vtcode_config/defaults/
mod.rs

1use std::time::Duration;
2
3pub mod provider;
4pub mod syntax_highlighting;
5
6pub use provider::{
7    ConfigDefaultsProvider, WorkspacePathsDefaults, current_config_defaults, get_config_dir,
8    get_data_dir, install_config_defaults_provider, reset_to_default_config_defaults,
9    with_config_defaults,
10};
11pub use syntax_highlighting::SyntaxHighlightingDefaults;
12
13/// Context store defaults
14pub struct ContextStoreDefaults;
15
16impl ContextStoreDefaults {
17    pub fn max_size() -> usize {
18        100000
19    }
20    pub fn compression() -> bool {
21        true
22    }
23
24    // Constants for backward compatibility
25    pub const MAX_CONTEXTS: usize = 1000;
26    pub const AUTO_CLEANUP_DAYS: u32 = 7;
27    pub const ENABLE_PERSISTENCE: bool = true;
28    pub const COMPRESSION_ENABLED: bool = true;
29    pub const STORAGE_DIR: &'static str = ".vtcode/context";
30}
31
32/// Performance defaults
33pub struct PerformanceDefaults;
34
35impl PerformanceDefaults {
36    pub fn max_concurrent_operations() -> usize {
37        10
38    }
39    pub fn timeout_seconds() -> u64 {
40        30
41    }
42}
43
44/// Scenario defaults
45pub struct ScenarioDefaults;
46
47impl ScenarioDefaults {
48    pub fn max_scenarios() -> usize {
49        10
50    }
51    pub fn default_timeout() -> u64 {
52        300
53    }
54
55    // High performance scenario constants
56    pub const HIGH_PERF_MAX_AGENTS: usize = 5;
57    pub const HIGH_PERF_CONTEXT_WINDOW: usize = 200000;
58    pub const HIGH_PERF_MAX_CONTEXTS: usize = 2000;
59
60    // High quality scenario constants
61    pub const HIGH_QUALITY_MAX_AGENTS: usize = 3;
62    pub const HIGH_QUALITY_CONTEXT_WINDOW: usize = 150000;
63    pub const HIGH_QUALITY_MAX_CONTEXTS: usize = 1500;
64
65    // Balanced scenario constants
66    pub const BALANCED_MAX_AGENTS: usize = 4;
67    pub const BALANCED_CONTEXT_WINDOW: usize = 125000;
68    pub const BALANCED_MAX_CONTEXTS: usize = 1250;
69
70    pub fn high_perf_timeout() -> Duration {
71        Duration::from_secs(180)
72    }
73    pub fn high_quality_timeout() -> Duration {
74        Duration::from_secs(600)
75    }
76    pub fn balanced_timeout() -> Duration {
77        Duration::from_secs(300)
78    }
79}