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 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.