export type TRegistryProtocol = 'oci'; import type { TOciManifestMediaType, TSha256Digest } from './immutableimage.js'; export interface IRegistryTarget { protocol: TRegistryProtocol; registryHost: string; repository: string; tag: string; imageUrl: string; serviceId?: string; imageId?: string; } export interface IRegistryPushEvent { eventId?: string; releaseId?: string; protocol: TRegistryProtocol; registryHost: string; repository: string; tag: string; digest: string; imageUrl: string; pushedAt: number; observedAt?: number; serviceId?: string; imageId?: string; actorUserId?: string; manifestMediaType?: string; } /** Fully verified registry observation used by immutable release processing. */ export interface IImmutableRegistryPushEvent { deploymentPolicy: 'immutable-digest'; eventId: string; releaseId: string; protocol: TRegistryProtocol; registryHost: string; repository: string; tag: string; registryRootDigest: TSha256Digest; digestPinnedImageReference: string; imageUrl: string; observedAt: number; serviceId: string; imageId: string; manifestMediaType: TOciManifestMediaType; actorUserId?: string; }