use std::io; use std::sync::Arc; use crate::SkillLoadOutcome; use codex_skills::SkillMetadata; /// Immutable snapshot of host-owned skills and their source filesystems. #[derive(Debug, Clone)] pub struct HostSkillsSnapshot { outcome: Arc, } impl HostSkillsSnapshot { pub fn new(outcome: Arc) -> Self { Self { outcome } } pub fn outcome(&self) -> &SkillLoadOutcome { self.outcome.as_ref() } pub async fn read_skill_text(&self, skill: &SkillMetadata) -> io::Result { self.outcome.read_skill_text(skill).await } }