pub fn resolve_frameworks(
names: &[String],
mode: Option<FrameworkResolutionMode>,
) -> Result<Vec<&'static dyn FrameworkAdapter>, FrameworkResolutionError>Expand description
Resolve framework names to adapters with deduplication and validation.
When names is empty, auto-detection is performed based on the mode:
FrameworkResolutionMode::Installed: Returns frameworks installed on the system.FrameworkResolutionMode::Active: Returns frameworks with active mi6 hooks.
When names contains framework names, each is validated and the list is deduplicated.
§Arguments
names- Framework names to resolve (empty for auto-detection).mode- How to auto-detect frameworks whennamesis empty. PassNoneto require explicit framework names and error ifnamesis empty.
§Returns
A deduplicated list of framework adapters, or an error if:
- A framework name is unknown
- Auto-detection found no frameworks
§Example
use mi6_core::framework::{resolve_frameworks, FrameworkResolutionMode};
// Resolve specific frameworks
let adapters = resolve_frameworks(&["claude".to_string()], None).unwrap();
assert_eq!(adapters.len(), 1);
// Auto-detect installed frameworks
let installed = resolve_frameworks(&[], Some(FrameworkResolutionMode::Installed));