systemprompt_loader/extension_loader/
result.rs1use systemprompt_models::DiscoveredExtension;
7
8#[derive(Debug)]
9pub struct ExtensionValidationResult {
10 pub discovered: Vec<DiscoveredExtension>,
11 pub missing_binaries: Vec<(String, std::path::PathBuf)>,
12 pub missing_manifests: Vec<std::path::PathBuf>,
13}
14
15impl ExtensionValidationResult {
16 #[must_use]
17 pub const fn is_valid(&self) -> bool {
18 self.missing_binaries.is_empty()
19 }
20
21 #[must_use]
22 pub fn format_missing_binaries(&self) -> String {
23 self.missing_binaries
24 .iter()
25 .map(|(binary, path)| format!(" ✗ {} ({})", binary, path.display()))
26 .collect::<Vec<_>>()
27 .join("\n")
28 }
29}