using System.Collections.Generic; using System.Text.Json; namespace StellaOps.Signer.WebService.Contracts; public sealed record SignDsseSubjectDto(string Name, Dictionary Digest); public sealed record SignDssePoeDto(string Format, string Value); public sealed record SignDsseOptionsDto(string? SigningMode, int? ExpirySeconds, string? ReturnBundle); public sealed record SignDsseRequestDto( List Subject, string PredicateType, JsonElement Predicate, string ScannerImageDigest, SignDssePoeDto Poe, SignDsseOptionsDto? Options); public sealed record SignDsseResponseDto(SignDsseBundleDto Bundle, SignDssePolicyDto Policy, string AuditId); public sealed record SignDsseBundleDto(SignDsseEnvelopeDto Dsse, IReadOnlyList CertificateChain, string Mode, SignDsseIdentityDto SigningIdentity); public sealed record SignDsseEnvelopeDto(string PayloadType, string Payload, IReadOnlyList Signatures); public sealed record SignDsseSignatureDto(string Signature, string? KeyId); public sealed record SignDsseIdentityDto(string Issuer, string Subject, string? CertExpiry); public sealed record SignDssePolicyDto(string Plan, int MaxArtifactBytes, int QpsRemaining);