Skip to main content

vtcode_config/constants/
defaults.rs

1use super::{models, ui};
2
3pub const DEFAULT_MODEL: &str = models::openrouter::DEFAULT_MODEL;
4pub const DEFAULT_CLI_MODEL: &str = models::openrouter::DEFAULT_MODEL;
5pub const DEFAULT_PROVIDER: &str = "openrouter";
6pub const DEFAULT_API_KEY_ENV: &str = "OPENROUTER_API_KEY";
7pub const DEFAULT_THEME: &str = "ciapre";
8pub(crate) use super::tool_limits::DEFAULT_FULL_AUTO_MAX_TURNS;
9pub use super::tool_limits::DEFAULT_MAX_TOOL_LOOPS;
10pub const DEFAULT_MAX_REPEATED_TOOL_CALLS: usize = 2;
11pub const DEFAULT_MAX_SEQUENTIAL_SPOOL_CHUNK_READS_PER_TURN: usize = 6;
12pub const DEFAULT_MAX_CONSECUTIVE_BLOCKED_TOOL_CALLS_PER_TURN: usize = 8;
13pub const DEFAULT_PTY_STDOUT_TAIL_LINES: usize = 20;
14pub const DEFAULT_PTY_SCROLLBACK_LINES: usize = 400;
15pub const DEFAULT_TOOL_OUTPUT_MODE: &str = ui::TOOL_OUTPUT_MODE_COMPACT;
16pub use super::tool_limits::DEFAULT_MAX_CONVERSATION_TURNS;
17pub const DEFAULT_PRIMARY_AGENT_NAME: &str = "build";
18
19pub const DEFAULT_PTY_OUTPUT_MAX_TOKENS: usize = 8_000;
20
21/// Byte fuse for PTY output - secondary safeguard after token truncation.
22/// Protects against edge cases where token estimation underestimates size.
23pub const DEFAULT_PTY_OUTPUT_BYTE_FUSE: usize = 40 * 1024; // 40 KiB
24
25/// Default per-turn tool-call budget for the built-in harness configuration.
26pub(crate) use super::tool_limits::DEFAULT_MAX_TOOL_CALLS_PER_TURN;
27pub(crate) const DEFAULT_MAX_TOOL_WALL_CLOCK_SECS: u64 = 600;
28pub const DEFAULT_MAX_TOOL_RETRIES: u32 = 2;
29
30/// Minimum interval between session progress snapshots (milliseconds)
31pub const DEFAULT_SESSION_PROGRESS_MIN_INTERVAL_MS: u64 = 1000;
32
33/// Minimum turns between session progress snapshots
34pub const DEFAULT_SESSION_PROGRESS_MIN_TURN_DELTA: usize = 1;
35
36/// Async trajectory log channel capacity (lines)
37pub const DEFAULT_TRAJECTORY_LOG_CHANNEL_CAPACITY: usize = 1024;
38
39/// Maximum payload bytes retained by the async trajectory log actor.
40pub const DEFAULT_TRAJECTORY_LOG_BUFFER_BYTES: usize = 4 * 1024 * 1024;
41
42/// Interval between best-effort trajectory log flushes.
43pub const DEFAULT_TRAJECTORY_LOG_FLUSH_INTERVAL_MS: u64 = 250;
44
45/// Maximum number of rotated trajectory log files to keep
46pub const DEFAULT_TRAJECTORY_MAX_FILES: usize = 50;
47
48/// Maximum age in days for rotated trajectory log files
49pub const DEFAULT_TRAJECTORY_MAX_AGE_DAYS: u64 = 14;
50
51/// Maximum total size in MB for all trajectory log files in a workspace
52pub const DEFAULT_TRAJECTORY_MAX_SIZE_MB: u64 = 50;