//! `consult` in the M5c registry, not core. Do not edit. mod support; use loopd::baseline::Baseline; use loopd::consult::{self, CONSULT}; use loopd::tools::Registry; use std::path::Path; use support::Home; fn core_names(registry: &Registry) -> Vec { registry .core_schemas() .into_iter() .map(|s| s.name) .collect() } #[test] fn consult_is_in_m5c_and_is_not_core() { let r = Registry::m5c(); let entry = r.get(CONSULT).expect("consult"); assert!(!entry.core); assert_eq!(entry.schema, consult::schema()); assert_eq!( core_names(&r), [ "clock", "recall", "memory", "ask_memory", "find_tool", "call_tool" ] ); assert!(r.find("consult").iter().any(|s| s.name == CONSULT)); assert!(r.find("remote").iter().any(|s| s.name == CONSULT)); assert!(r.get("subagent").is_some()); } #[test] fn a_baseline_from_m5c_does_not_put_consult_in_the_tools_array() { let home = Home::new(); let cfg = home.config(Path::new("/tmp/unused.sock")); let baseline = Baseline::assemble(&cfg, &Registry::m5c()).unwrap(); let names: Vec<&str> = baseline.tools.iter().map(|t| t.name.as_str()).collect(); assert_eq!( names, [ "clock", "recall", "memory", "ask_memory", "find_tool", "call_tool" ] ); }