Skip to main content

IBlueprintDependencyResolver

Namespace: Meshmakers.Octo.Runtime.Contracts.Blueprints

Resolves the transitive dependency closure of a blueprint into a topo-sorted install plan, and surfaces dependency-graph conflicts (circular references, missing entries, version mismatches) before any tenant is touched.

public interface IBlueprintDependencyResolver

Methods​

ResolveAsync(BlueprintId, CancellationToken)​

Walks blueprintDependencies from rootBlueprintId outward. Version ranges are resolved to concrete versions via the catalog.

Task<BlueprintResolutionResult> ResolveAsync(BlueprintId rootBlueprintId, CancellationToken cancellationToken)

Parameters​

rootBlueprintId BlueprintId

cancellationToken CancellationToken

Returns​

Task<BlueprintResolutionResult>

Remarks:

The returned BlueprintResolutionResult.InstallOrder is topo-sorted (base dependencies first, root last). When conflicts are detected, BlueprintResolutionResult.Success is false and BlueprintResolutionResult.Conflicts describes them; callers MUST NOT install from a failed result.