Skip to main content

lean_ctx/core/context_package/
auto_load.rs

1use super::registry::LocalRegistry;
2
3pub fn auto_load_packages(project_root: &str) -> Vec<String> {
4    let Ok(registry) = LocalRegistry::open() else {
5        return Vec::new();
6    };
7
8    let Ok(packages) = registry.auto_load_packages() else {
9        return Vec::new();
10    };
11
12    let mut loaded = Vec::new();
13
14    for entry in &packages {
15        let Ok((manifest, content)) = registry.load_package(&entry.name, &entry.version) else {
16            continue;
17        };
18
19        if super::loader::load_package(&manifest, &content, project_root).is_ok() {
20            loaded.push(format!("{} v{}", entry.name, entry.version));
21        }
22    }
23
24    loaded
25}