From af89ce21c663ab987739a2c4cce2f0b3c79dfa4a Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 31 Mar 2026 21:22:38 +0000 Subject: [PATCH 1/2] Initial plan From 09789f8bf85927ae6d5e856b18820d48510473a2 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 31 Mar 2026 21:31:59 +0000 Subject: [PATCH 2/2] Fix all Clippy linting errors in vida-core Agent-Logs-Url: https://github.com/papajade55-debug/vida-ai/sessions/91b20081-06a3-437d-9c63-8214262e4e40 Co-authored-by: papajade55-debug <239186300+papajade55-debug@users.noreply.github.com> --- crates/vida-core/src/agent_loop.rs | 1 + crates/vida-core/src/engine.rs | 10 ++++------ crates/vida-core/src/permissions.rs | 9 ++------- crates/vida-core/src/remote.rs | 5 ++--- crates/vida-core/src/tool_validator.rs | 2 +- 5 files changed, 10 insertions(+), 17 deletions(-) diff --git a/crates/vida-core/src/agent_loop.rs b/crates/vida-core/src/agent_loop.rs index 912b0a6..0b0c545 100644 --- a/crates/vida-core/src/agent_loop.rs +++ b/crates/vida-core/src/agent_loop.rs @@ -12,6 +12,7 @@ use crate::mcp::{McpManager, McpTool, McpToolResult, McpToolResultContent}; use crate::tool_validator::validate_tool_call; const MAX_TOOL_ITERATIONS: usize = 8; +#[allow(dead_code)] const TOOL_CALL_TIMEOUT_SECS: u64 = 30; const TOOL_CALL_START: &str = ""; const TOOL_CALL_END: &str = ""; diff --git a/crates/vida-core/src/engine.rs b/crates/vida-core/src/engine.rs index 75e4b69..cfe960c 100644 --- a/crates/vida-core/src/engine.rs +++ b/crates/vida-core/src/engine.rs @@ -1,7 +1,6 @@ use std::path::{Path, PathBuf}; use std::sync::atomic::{AtomicUsize, Ordering}; use std::sync::Arc; -use std::time::Instant; use tokio::sync::mpsc; use uuid::Uuid; @@ -643,13 +642,13 @@ impl VidaEngine { "Too many login attempts. Try again later.".to_string(), )); } else { - self.login_blocked_until.remove(&username.to_string()); + self.login_blocked_until.remove(username); } } match self.authenticate_user(username, password).await { Ok(session) => { - self.login_attempts.remove(&username.to_string()); + self.login_attempts.remove(username); self.current_actor = Some(session.clone()); Ok(session) } @@ -665,7 +664,7 @@ impl VidaEngine { username.to_string(), now + std::time::Duration::from_secs(LOGIN_BLOCK_SECS), ); - self.login_attempts.remove(&username.to_string()); + self.login_attempts.remove(username); } } Err(err) @@ -1249,8 +1248,7 @@ impl VidaEngine { name: &str, ) -> Result { let workspace_path = std::path::Path::new(path); - let mut config = WorkspaceConfig::default(); - config.name = name.to_string(); + let config = WorkspaceConfig { name: name.to_string(), ..Default::default() }; save_workspace_config(workspace_path, &config)?; diff --git a/crates/vida-core/src/permissions.rs b/crates/vida-core/src/permissions.rs index 3f25a6d..1f19564 100644 --- a/crates/vida-core/src/permissions.rs +++ b/crates/vida-core/src/permissions.rs @@ -1,19 +1,14 @@ use serde::{Deserialize, Serialize}; -#[derive(Debug, Clone, Serialize, Deserialize, PartialEq)] +#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Default)] #[serde(rename_all = "lowercase")] pub enum PermissionMode { Yolo, + #[default] Ask, Sandbox, } -impl Default for PermissionMode { - fn default() -> Self { - Self::Ask - } -} - #[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq, Hash)] #[serde(rename_all = "snake_case")] pub enum PermissionType { diff --git a/crates/vida-core/src/remote.rs b/crates/vida-core/src/remote.rs index 941b29f..aa172a6 100644 --- a/crates/vida-core/src/remote.rs +++ b/crates/vida-core/src/remote.rs @@ -971,8 +971,7 @@ mod server { let _ = socket .send(ws::Message::Text( serde_json::json!({"error": e.to_string()}) - .to_string() - .into(), + .to_string(), )) .await; return; @@ -1007,7 +1006,7 @@ mod server { }; let is_done = matches!(event, StreamEvent::Done); if socket - .send(ws::Message::Text(json.to_string().into())) + .send(ws::Message::Text(json.to_string())) .await .is_err() { diff --git a/crates/vida-core/src/tool_validator.rs b/crates/vida-core/src/tool_validator.rs index a00dcd7..378d629 100644 --- a/crates/vida-core/src/tool_validator.rs +++ b/crates/vida-core/src/tool_validator.rs @@ -35,7 +35,7 @@ fn validate_against_schema(value: &Value, schema: &Value) -> Result<(), String> "array" => validate_array(value, schema)?, "string" if !value.is_string() => return Err("expected string".to_string()), "number" if !value.is_number() => return Err("expected number".to_string()), - "integer" if !value.as_i64().is_some() && !value.as_u64().is_some() => { + "integer" if value.as_i64().is_none() && value.as_u64().is_none() => { return Err("expected integer".to_string()) } "boolean" if !value.is_boolean() => return Err("expected boolean".to_string()),