OutboundWebSocketMessage:
    | { MessageType: "ActivityLogEntry" } & ActivityLogEntryMessage
    | { MessageType: "ForceKeepAlive" } & ForceKeepAliveMessage
    | { MessageType: "GeneralCommand" } & GeneralCommandMessage
    | { MessageType: "KeepAlive" } & OutboundKeepAliveMessage
    | { MessageType: "LibraryChanged" } & LibraryChangedMessage
    | { MessageType: "PackageInstallationCancelled" } & PluginInstallationCancelledMessage
    | { MessageType: "PackageInstallationCompleted" } & PluginInstallationCompletedMessage
    | { MessageType: "PackageInstallationFailed" } & PluginInstallationFailedMessage
    | { MessageType: "PackageInstalling" } & PluginInstallingMessage
    | { MessageType: "PackageUninstalled" } & PluginUninstalledMessage
    | { MessageType: "Play" } & PlayMessage
    | { MessageType: "Playstate" } & PlaystateMessage
    | { MessageType: "RefreshProgress" } & RefreshProgressMessage
    | { MessageType: "RestartRequired" } & RestartRequiredMessage
    | { MessageType: "ScheduledTaskEnded" } & ScheduledTaskEndedMessage
    | { MessageType: "ScheduledTasksInfo" } & ScheduledTasksInfoMessage
    | { MessageType: "SeriesTimerCancelled" } & SeriesTimerCancelledMessage
    | { MessageType: "SeriesTimerCreated" } & SeriesTimerCreatedMessage
    | { MessageType: "ServerRestarting" } & ServerRestartingMessage
    | { MessageType: "ServerShuttingDown" } & ServerShuttingDownMessage
    | { MessageType: "Sessions" } & SessionsMessage
    | { MessageType: "SyncPlayCommand" } & SyncPlayCommandMessage
    | { MessageType: "SyncPlayGroupUpdate" } & SyncPlayGroupUpdateCommandMessage
    | { MessageType: "TimerCancelled" } & TimerCancelledMessage
    | { MessageType: "TimerCreated" } & TimerCreatedMessage
    | { MessageType: "UserDataChanged" } & UserDataChangedMessage
    | { MessageType: "UserDeleted" } & UserDeletedMessage
    | { MessageType: "UserUpdated" } & UserUpdatedMessage