pub mod api;
pub mod lockfile;
pub mod operations;
pub mod resolver;
pub mod types;
pub use types::{InstalledPackage, Manifest, RegistryIndex, SkillEntry};
pub use operations::{
ensure_nika_home, installed_version, is_installed, is_version_installed, list_installed,
load_manifest, load_registry, manifest_path, package_dir, packages_dir, registry_index_path,
resolve_skill_path, save_registry,
};
pub use resolver::{
cache_stats, clear_cache, invalidate_package, parse_package_ref, resolve_package_path,
PackageRef, ResolvedPackage,
};
pub use lockfile::{LockEntry, Lockfile, LockfileError};
pub use api::{
PackageInfo, RegistryApiError, RegistryClient, SearchResponse, SearchResult, SkillInfo,
VersionInfo,
};
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn test_module_exports_types() {
let _manifest = Manifest::new("@test/pkg", "1.0.0");
let _skill = SkillEntry::new("skills/test.md");
let _index = RegistryIndex::default();
let _pkg = InstalledPackage::now("1.0.0".to_string(), "/path".to_string());
}
#[test]
fn test_module_exports_operations() {
let _ = crate::core::paths::nika_home();
let _ = packages_dir();
let _ = registry_index_path();
}
}