The app being installed and its direct dependency declarations
Map of apps already installed in the MJ instance
Fetches a dependency manifest from its repository URL
OptionalresolveVersion: DependencyVersionResolverResolves a declared range to a concrete version for an uninstalled dependency. When omitted, uninstalled dependencies use their default-branch manifest and later edges are checked against its version.
Ordered install plan (leaf-first, root excluded) or error details
Resolves the complete transitive dependency graph for an app.
Fetches every reachable dependency's manifest (via the injected fetcher), validates version compatibility for already-installed dependencies, resolves each not-yet-installed dependency to a concrete version (via the injected resolver) and fetches its manifest at that version, fails when two parents require ranges the resolved version can't both satisfy, detects circular dependency chains across the full graph, and returns the leaf-first install order.