- Deleted the `security` module and its associated files, including `daemon.rs` and `install.rs`. - Removed references to security features in various modules, including `mod.rs`, `mode/mod.rs`, and `input.rs`. - Updated the `MiscState` struct to eliminate security-related fields. - Adjusted the `apply_action` function to remove security action handling. - Increased the maximum limits for tool-only turns and agent steps in `actions/mod.rs`. - Modified the review prompt to exclude security checks. - Cleaned up the `git_operator` and `shell` tools to remove catastrophic guard checks. - Removed internet-related tools and their references from the tool module.
70 lines
1.9 KiB
Rust
70 lines
1.9 KiB
Rust
use serde::{Deserialize, Serialize};
|
|
|
|
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
|
|
#[derive(Default)]
|
|
pub enum InternetMode {
|
|
#[default]
|
|
Off,
|
|
ReadOnly,
|
|
Full,
|
|
}
|
|
|
|
|
|
|
|
#[derive(Debug, Clone, Serialize, Deserialize)]
|
|
pub struct Settings {
|
|
pub internet_mode: InternetMode,
|
|
pub provider: String,
|
|
pub model: String,
|
|
pub api_keys: std::collections::HashMap<String, String>,
|
|
pub max_tokens: u32,
|
|
pub temperature: f32,
|
|
pub review_enabled: bool,
|
|
pub review_max_lessons_per_run: usize,
|
|
pub adaptive_review_max_skip: u32,
|
|
pub verify_command: Option<String>,
|
|
pub verify_timeout_ms: u64,
|
|
pub workflow_max_concurrency: usize,
|
|
pub session_archive_enabled: bool,
|
|
}
|
|
|
|
impl Default for Settings {
|
|
fn default() -> Self {
|
|
Settings {
|
|
internet_mode: InternetMode::Off,
|
|
provider: "zen".to_string(),
|
|
model: "deepseek-v4-flash-free".to_string(),
|
|
api_keys: std::collections::HashMap::new(),
|
|
max_tokens: 8192,
|
|
temperature: 0.7,
|
|
review_enabled: true,
|
|
review_max_lessons_per_run: 5,
|
|
adaptive_review_max_skip: 3,
|
|
verify_command: None,
|
|
verify_timeout_ms: 30000,
|
|
workflow_max_concurrency: 5,
|
|
session_archive_enabled: true,
|
|
}
|
|
}
|
|
}
|
|
|
|
impl Settings {
|
|
pub fn load() -> Self {
|
|
let store = super::store::Store::new();
|
|
let path = store.base_dir.join("settings.json");
|
|
std::fs::read_to_string(path)
|
|
.ok()
|
|
.and_then(|s| serde_json::from_str(&s).ok())
|
|
.unwrap_or_default()
|
|
}
|
|
|
|
pub fn save(&self) -> std::io::Result<()> {
|
|
let store = super::store::Store::new();
|
|
std::fs::create_dir_all(&store.base_dir)?;
|
|
let path = store.base_dir.join("settings.json");
|
|
let s = serde_json::to_string_pretty(self)?;
|
|
std::fs::write(path, s)?;
|
|
Ok(())
|
|
}
|
|
}
|