Skip to main content

systemprompt_loader/extension_loader/
result.rs

1use systemprompt_models::DiscoveredExtension;
2
3#[derive(Debug)]
4pub struct ExtensionValidationResult {
5    pub discovered: Vec<DiscoveredExtension>,
6    pub missing_binaries: Vec<(String, std::path::PathBuf)>,
7    pub missing_manifests: Vec<std::path::PathBuf>,
8}
9
10impl ExtensionValidationResult {
11    #[must_use]
12    pub fn is_valid(&self) -> bool {
13        self.missing_binaries.is_empty()
14    }
15
16    #[must_use]
17    pub fn format_missing_binaries(&self) -> String {
18        self.missing_binaries
19            .iter()
20            .map(|(binary, path)| format!("  ✗ {} ({})", binary, path.display()))
21            .collect::<Vec<_>>()
22            .join("\n")
23    }
24}