use std::collections::HashMap;
use zeph_skills::loader::Skill;
use zeph_skills::trust::SkillTrustLevel;
use crate::skill_invoker::SkillTrustSnapshot;
use super::SkillState;
impl SkillState {
pub(crate) fn rebuild_prompt(
all_skills: &[Skill],
trust_map: &HashMap<String, SkillTrustSnapshot>,
health_map: &HashMap<String, (f64, u32)>,
) -> String {
let trust_levels: HashMap<String, SkillTrustLevel> = trust_map
.iter()
.map(|(k, v)| (k.clone(), v.trust_level))
.collect();
zeph_skills::prompt::format_skills_prompt(all_skills, &trust_levels, health_map)
}
pub(crate) fn rebuild_bm25(&mut self, descs: &[&str]) {
if self.hybrid_search {
self.bm25_index = Some(zeph_skills::bm25::Bm25Index::build(descs));
}
}
pub(crate) fn fingerprint(&self) -> u64 {
self.registry.read().fingerprint()
}
}