From 65d92ed22e26e4caf5ebf546013439855f1ac20c Mon Sep 17 00:00:00 2001 From: Alex Emmet <111742636+Alex-Emmet@users.noreply.github.com> Date: Sat, 11 Jul 2026 17:06:21 +0200 Subject: [PATCH] API --- Cargo.lock | 20 ++++++++++---------- src/tools.rs | 6 ++++-- 2 files changed, 14 insertions(+), 12 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 6c1052e..3ad4b62 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -135,9 +135,9 @@ checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" [[package]] name = "bytes" -version = "1.12.0" +version = "1.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ae3f5d315924270530207e2a68396c3cc547f6dca3fbdca317cfb1a51edb593" +checksum = "fc652a48c352aef3ea3aed32080501cf3ef6ed5da78602a020c991775b0aff04" [[package]] name = "cc" @@ -617,9 +617,9 @@ checksum = "112b39cec0b298b6c1999fee3e31427f74f676e4cb9879ed1a121b43661a4154" [[package]] name = "memchr" -version = "2.8.2" +version = "2.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88904434abc2901f197fe8cc55f0445e7ded921dba5911dad2e2b39b48e663c4" +checksum = "cf8baf1c55e62ffcace7a9f06f4bd9cd3f0c4beb022d3b367256b91b87513d98" [[package]] name = "minimal-lexical" @@ -1079,9 +1079,9 @@ dependencies = [ [[package]] name = "rustversion" -version = "1.0.22" +version = "1.0.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d" +checksum = "cf54715a573b99ac80df0bc206da022bcd442c974952c7b9720069370852e21f" [[package]] name = "ryu" @@ -1785,18 +1785,18 @@ dependencies = [ [[package]] name = "zerocopy" -version = "0.8.53" +version = "0.8.54" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75726053136156d419e285b9b7eddaaea9e3fea6ce32eed44a89901f0bd98de1" +checksum = "b7cbbc0a705a0fd05cc3676525980d2bf5a9bc4adac6d6475209a7887cf59d19" dependencies = [ "zerocopy-derive", ] [[package]] name = "zerocopy-derive" -version = "0.8.53" +version = "0.8.54" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4714fd92cf900833d49538023a9b3915155210801d1c1169eba513b2addefd71" +checksum = "e2e817b7b52d0c7358d3246da9d69935ebb18116b2b102b4230dac079b4862f5" dependencies = [ "proc-macro2", "quote", diff --git a/src/tools.rs b/src/tools.rs index 631e13c..5eb59d9 100644 --- a/src/tools.rs +++ b/src/tools.rs @@ -634,6 +634,7 @@ macro_rules! tool { deprecation_message: String::new(), execution_context: ExecutionContext::default(), context_visibility: ContextVisibility::default(), + required_depth: 0, } }; ($name:expr, $desc:expr, $cat:expr, $dangerous:expr, $approval:expr, $scoped:expr, $params:expr, $timeout:expr) => { @@ -651,6 +652,7 @@ macro_rules! tool { deprecation_message: String::new(), execution_context: ExecutionContext::default(), context_visibility: ContextVisibility::default(), + required_depth: 0, } }; } @@ -1834,7 +1836,7 @@ pub fn tool_ids_for_agent_type(agent_type: &crate::agents::AgentType) -> Option< .collect::>() }; - let ids = Some(match agent_type { + let mut ids = match agent_type { crate::agents::AgentType::BuildAgent => curated(&[ "read_file", "write_file", @@ -1890,7 +1892,7 @@ pub fn tool_ids_for_agent_type(agent_type: &crate::agents::AgentType) -> Option< "web_search", "web_fetch", ]), - }); + }; // Filter by depth: remove tools whose required_depth exceeds the agent's max_depth let policy = crate::agents::AgentPolicy::defaults_for(agent_type);