namespace QMax.Api.Infrastructure.Max; public sealed record MaxBridgeStatus( string Mode, bool IsAuthorized, string? LoginStage, string Status, string? Url, string? Title, string? LastError, DateTimeOffset UpdatedAt); public sealed record MaxBrowserSnapshot( string? Url, string? Title, string BodyText, string ScreenshotPngBase64, DateTimeOffset CapturedAt); public sealed record MaxChatUpdate( string ExternalId, string Title, string? AvatarUrl, DateTimeOffset UpdatedAt, IReadOnlyList Messages, string? LastMessagePreview = null, bool? LastMessageIsOutgoing = null, DateTimeOffset? LastMessageAt = null, string? LastMessageTimeText = null, string? ChatUrl = null, string? Kind = null); public sealed record MaxMessageUpdate( string ExternalId, string? SenderExternalId, string? SenderName, bool IsOutgoing, string? Text, DateTimeOffset SentAt, IReadOnlyList? Attachments = null, string? DeliveryState = null); public sealed record MaxAttachmentUpdate( string ExternalId, string FileName, string? ContentType, long? FileSizeBytes, string? RemoteUrl, string? Kind, int SortOrder, string? TextContent = null); public sealed record MaxSendResult(bool Success, string? ExternalMessageId, string? Error, string? ChatUrl = null); public sealed record MaxActionResult(bool Success, string? Error); public sealed record MaxChatUrlResult(bool Success, string? ChatUrl, string? Error); public sealed record MaxMediaDownload( Stream Stream, string ContentType, long? ContentLength); public sealed record MaxChatPresence( bool IsTyping, string? StatusText, DateTimeOffset UpdatedAt); public sealed record MaxChannelSearchResult( string ExternalId, string Title, string? AvatarUrl, string? ChatUrl, bool IsSubscribed, string? Description = null);