diff --git a/crates/goose-server/src/routes/configs.rs b/crates/goose-server/src/routes/configs.rs index 94b0f47b..858bbf69 100644 --- a/crates/goose-server/src/routes/configs.rs +++ b/crates/goose-server/src/routes/configs.rs @@ -173,10 +173,8 @@ pub async fn get_config( let config = Config::global(); let value = if let Ok(config_value) = config.get_param::(&query.key) { Some(config_value) - } else if let Ok(env_value) = std::env::var(&query.key) { - Some(env_value) } else { - None + std::env::var(&query.key).ok() }; // Return the value diff --git a/crates/goose/src/agents/permission_store.rs b/crates/goose/src/agents/permission_store.rs index d9b1d363..c4eebcf2 100644 --- a/crates/goose/src/agents/permission_store.rs +++ b/crates/goose/src/agents/permission_store.rs @@ -89,7 +89,7 @@ impl ToolPermissionStore { records .iter() .filter(|record| record.expiry.is_none_or(|exp| exp > Utc::now().timestamp())) - .last() + .next_back() .map(|record| record.allowed) }) } diff --git a/crates/mcp-core/src/resource.rs b/crates/mcp-core/src/resource.rs index a81155c8..8228f261 100644 --- a/crates/mcp-core/src/resource.rs +++ b/crates/mcp-core/src/resource.rs @@ -63,7 +63,7 @@ impl Resource { Some(n) => n, None => url .path_segments() - .and_then(|segments| segments.last()) + .and_then(|mut segments| segments.next_back()) .unwrap_or("unnamed") .to_string(), };