feat(tools): expose recall archive in parent registry

This commit is contained in:
Hunter Bown
2026-05-09 13:33:49 -05:00
parent 3d45476d4f
commit c916960b23
2 changed files with 23 additions and 1 deletions
+21
View File
@@ -460,6 +460,7 @@ fn turn_tool_registry_builder_keeps_plan_mode_read_only_for_files() {
assert!(registry.contains("update_plan"));
assert!(registry.contains("task_list"));
assert!(registry.contains("task_read"));
assert!(registry.contains("recall_archive"));
let plan_state_tools = [
"checklist_add",
@@ -488,6 +489,26 @@ fn turn_tool_registry_builder_keeps_plan_mode_read_only_for_files() {
);
}
#[test]
fn parent_turn_registry_includes_recall_archive_for_investigative_modes() {
let (engine, _handle) = Engine::new(EngineConfig::default(), &Config::default());
for mode in [AppMode::Plan, AppMode::Agent, AppMode::Yolo] {
let registry = engine
.build_turn_tool_registry_builder(
mode,
engine.config.todos.clone(),
engine.config.plan_state.clone(),
)
.build(engine.build_tool_context(mode, false));
assert!(
registry.contains("recall_archive"),
"parent {mode:?} registry should expose recall_archive"
);
}
}
#[test]
fn agent_mode_can_build_auto_approved_tool_context() {
let (engine, _handle) = Engine::new(EngineConfig::default(), &Config::default());
+2 -1
View File
@@ -61,7 +61,8 @@ impl Engine {
builder = builder
.with_review_tool(self.deepseek_client.clone(), self.session.model.clone())
.with_user_input_tool()
.with_parallel_tool();
.with_parallel_tool()
.with_recall_archive_tool();
if mode != AppMode::Plan {
builder = builder