Files
git.stella-ops.org/src/Cli/StellaOps.Cli/Services/ISbomerClient.cs
master d1cbb905f8
Some checks failed
Docs CI / lint-and-preview (push) Has been cancelled
AOC Guard CI / aoc-guard (push) Has been cancelled
AOC Guard CI / aoc-verify (push) Has been cancelled
Concelier Attestation Tests / attestation-tests (push) Has been cancelled
Policy Lint & Smoke / policy-lint (push) Has been cancelled
up
2025-11-28 18:21:46 +02:00

79 lines
2.3 KiB
C#

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