using AIStudio.Tools.AssistantSessions; namespace AIStudio.Tools.Media; /// Identifies the chat or assistant that owns a media import. public readonly record struct MediaImportOwner(MediaImportOwnerKind Kind, string Id) { public static MediaImportOwner ForChat(Guid chatId) => new(MediaImportOwnerKind.CHAT, chatId.ToString("N")); public static MediaImportOwner ForAssistant(AssistantSessionKey key) => new(MediaImportOwnerKind.ASSISTANT, key.ToString()); /// /// Creates a persistent media-import owner for a visual briefing. /// /// The stable briefing identifier. /// The media-import owner. public static MediaImportOwner ForVisualBriefing(Guid briefingId) => new(MediaImportOwnerKind.VISUAL_BRIEFING, briefingId.ToString("D")); }