Files
tkmind_go/crates/goose-local-inference/src/provider_utils.rs
T

25 lines
840 B
Rust

pub fn filter_extensions_from_system_prompt(system: &str) -> String {
let Some(extensions_start) = system.find("# Extensions") else {
return system.to_string();
};
let Some(after_extensions) = system.get(extensions_start + 1..) else {
return system.to_string();
};
if let Some(next_section_pos) = after_extensions.find("\n# ") {
let Some(before) = system.get(..extensions_start) else {
return system.to_string();
};
let Some(after) = system.get(extensions_start + next_section_pos + 1..) else {
return system.to_string();
};
format!("{}{}", before.trim_end(), after)
} else {
system
.get(..extensions_start)
.map(|s| s.trim_end().to_string())
.unwrap_or_else(|| system.to_string())
}
}