systemprompt_loader/extension_loader/
result.rs1use 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}