Expand description
Dependency resolution and conflict detection for AGPM.
This module implements the core dependency resolution algorithm that transforms manifest dependencies into locked versions. It handles version constraint solving, conflict detection, transitive dependency resolution, parallel source synchronization, and relative path preservation during installation.
§Service-Based Architecture
This resolver has been refactored to use a service-based architecture:
- ResolutionCore: Shared immutable state
- VersionResolutionService: Git operations and version resolution
- PatternExpansionService: Glob pattern expansion
- TransitiveDependencyService: Transitive dependency resolution
- ConflictService: Conflict detection
- ResourceFetchingService: Resource content fetching
Re-exports§
pub use path_resolver::extract_meaningful_path;pub use path_resolver::is_file_relative_path;pub use path_resolver::normalize_bare_filename;pub use conflict_service::ConflictService;pub use pattern_expander::PatternExpansionService;pub use resource_service::ResourceFetchingService;pub use types::ResolutionCore;pub use version_resolver::VersionResolutionService;pub use version_resolver::VersionResolver as VersionResolverExport;pub use version_resolver::find_best_matching_tag;pub use version_resolver::is_version_constraint;pub use dependency_graph::DependencyGraph;pub use dependency_graph::DependencyNode;pub use lockfile_builder::LockfileBuilder;pub use pattern_expander::expand_pattern_to_concrete_deps;pub use pattern_expander::generate_dependency_name;pub use types::ConflictDetectionKey;pub use types::DependencyKey;pub use types::ManifestOverride;pub use types::ManifestOverrideIndex;pub use types::OverrideKey;pub use types::ResolutionContext;pub use types::ResolvedDependenciesMap;pub use types::ResolvedDependencyInfo;pub use types::TransitiveContext;pub use version_resolver::PreparedSourceVersion;pub use version_resolver::VersionResolver;pub use version_resolver::WorktreeManager;
Modules§
- backtracking
- Automatic version backtracking for SHA conflict resolution.
- conflict_
service - Conflict detection service for version and path conflicts.
- dependency_
graph - Dependency graph management for transitive dependency resolution.
- lockfile_
builder - Lockfile building and management functionality.
- path_
resolver - Path computation and resolution for dependency installation.
- pattern_
expander - Pattern expansion for AGPM dependencies.
- resource_
service - Resource fetching service for dependency resolution.
- sha_
conflict_ detector - SHA-based conflict detection for dependency resolution.
- skills
- Skills-specific resolution logic for pattern matching and dependency handling.
- source_
context - Source context for dependency name generation.
- transitive_
extractor - Transitive dependency extraction.
- transitive_
resolver - Transitive dependency resolution for AGPM.
- types
- Core types and utilities for dependency resolution.
- version_
resolver - Centralized version resolution module for AGPM
Structs§
- Dependency
Resolver - Main dependency resolver with service-based architecture.