using System.Threading; using System.Threading.Tasks; using StellaOps.Cli.Services.Models; namespace StellaOps.Cli.Services; /// /// Client for Sbomer API operations (layer fragments and composition). /// Per CLI-SBOM-60-001. /// internal interface ISbomerClient { /// /// Lists layer fragments for a scan. /// Task ListLayersAsync( SbomerLayerListRequest request, CancellationToken cancellationToken); /// /// Gets layer fragment details. /// Task GetLayerAsync( SbomerLayerShowRequest request, CancellationToken cancellationToken); /// /// Verifies a layer fragment DSSE signature. /// Task VerifyLayerAsync( SbomerLayerVerifyRequest request, CancellationToken cancellationToken); /// /// Gets the composition manifest for a scan. /// Task GetCompositionManifestAsync( SbomerCompositionShowRequest request, CancellationToken cancellationToken); /// /// Composes SBOM from layer fragments. /// Task ComposeAsync( SbomerComposeRequest request, CancellationToken cancellationToken); /// /// Verifies composition against manifest and fragments. /// Task VerifyCompositionAsync( SbomerCompositionVerifyRequest request, CancellationToken cancellationToken); /// /// Gets Merkle diagnostics for a composition. /// Task GetMerkleDiagnosticsAsync( string scanId, string? tenant, CancellationToken cancellationToken); // CLI-SBOM-60-002: Drift detection methods /// /// Analyzes drift between current SBOM and baseline. /// Task AnalyzeDriftAsync( SbomerDriftRequest request, CancellationToken cancellationToken); /// /// Verifies SBOM with local recomposition and drift detection. /// Task VerifyDriftAsync( SbomerDriftVerifyRequest request, CancellationToken cancellationToken); }