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"));
}