58 lines
1.4 KiB
Rust
58 lines
1.4 KiB
Rust
//! `subagent` in the M5c registry, not core. Do not edit.
|
|
|
|
mod support;
|
|
|
|
use loopd::baseline::Baseline;
|
|
use loopd::subagent::{self, SUBAGENT};
|
|
use loopd::tools::Registry;
|
|
use std::path::Path;
|
|
use support::Home;
|
|
|
|
fn core_names(registry: &Registry) -> Vec<String> {
|
|
registry
|
|
.core_schemas()
|
|
.into_iter()
|
|
.map(|s| s.name)
|
|
.collect()
|
|
}
|
|
|
|
#[test]
|
|
fn subagent_is_in_m5c_and_is_not_core() {
|
|
let r = Registry::m5c();
|
|
let entry = r.get(SUBAGENT).expect("subagent");
|
|
assert!(!entry.core);
|
|
assert_eq!(entry.schema, subagent::schema());
|
|
assert_eq!(
|
|
core_names(&r),
|
|
[
|
|
"clock",
|
|
"recall",
|
|
"memory",
|
|
"ask_memory",
|
|
"find_tool",
|
|
"call_tool"
|
|
]
|
|
);
|
|
assert!(r.find("subagent").iter().any(|s| s.name == SUBAGENT));
|
|
assert!(r.find("isolated").iter().any(|s| s.name == SUBAGENT));
|
|
}
|
|
|
|
#[test]
|
|
fn a_baseline_from_m5c_does_not_put_subagent_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"
|
|
]
|
|
);
|
|
}
|