{
  "client_to_server": {
    "$defs": {
      "AdminsCommandPacket": {
        "additionalProperties": false,
        "properties": {
          "type": {
            "const": "admins_cmd",
            "default": "admins_cmd",
            "title": "Type",
            "type": "string"
          }
        },
        "title": "AdminsCommandPacket",
        "type": "object"
      },
      "AuthorizePacket": {
        "additionalProperties": false,
        "properties": {
          "client_type": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Client Type"
          },
          "locale": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Locale"
          },
          "major": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Major"
          },
          "minor": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Minor"
          },
          "password": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Password"
          },
          "patch": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Patch"
          },
          "platform": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Platform"
          },
          "session_token": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Session Token"
          },
          "type": {
            "const": "authorize",
            "default": "authorize",
            "title": "Type",
            "type": "string"
          },
          "username": {
            "title": "Username",
            "type": "string"
          }
        },
        "required": [
          "username"
        ],
        "title": "AuthorizePacket",
        "type": "object"
      },
      "BroadcastCommandPacket": {
        "additionalProperties": false,
        "properties": {
          "message": {
            "title": "Message",
            "type": "string"
          },
          "type": {
            "const": "broadcast_cmd",
            "default": "broadcast_cmd",
            "title": "Type",
            "type": "string"
          }
        },
        "required": [
          "message"
        ],
        "title": "BroadcastCommandPacket",
        "type": "object"
      },
      "ChatPacket": {
        "additionalProperties": false,
        "properties": {
          "convo": {
            "default": "local",
            "enum": [
              "local",
              "global"
            ],
            "title": "Convo",
            "type": "string"
          },
          "language": {
            "default": "Other",
            "title": "Language",
            "type": "string"
          },
          "message": {
            "title": "Message",
            "type": "string"
          },
          "type": {
            "const": "chat",
            "default": "chat",
            "title": "Type",
            "type": "string"
          }
        },
        "required": [
          "message"
        ],
        "title": "ChatPacket",
        "type": "object"
      },
      "CheckTablePasswordCommandPacket": {
        "additionalProperties": false,
        "properties": {
          "type": {
            "const": "check_table_pw_cmd",
            "default": "check_table_pw_cmd",
            "title": "Type",
            "type": "string"
          }
        },
        "title": "CheckTablePasswordCommandPacket",
        "type": "object"
      },
      "CheckTableVisibilityCommandPacket": {
        "additionalProperties": false,
        "properties": {
          "type": {
            "const": "check_table_visibility_cmd",
            "default": "check_table_visibility_cmd",
            "title": "Type",
            "type": "string"
          }
        },
        "title": "CheckTableVisibilityCommandPacket",
        "type": "object"
      },
      "ClientOptionsPacket": {
        "additionalProperties": false,
        "properties": {
          "options": {
            "additionalProperties": true,
            "title": "Options",
            "type": "object"
          },
          "type": {
            "const": "client_options",
            "default": "client_options",
            "title": "Type",
            "type": "string"
          }
        },
        "required": [
          "options"
        ],
        "title": "ClientOptionsPacket",
        "type": "object"
      },
      "DocumentEditorResponsePacket": {
        "additionalProperties": false,
        "properties": {
          "action": {
            "enum": [
              "save",
              "cancel"
            ],
            "title": "Action",
            "type": "string"
          },
          "content": {
            "default": "",
            "title": "Content",
            "type": "string"
          },
          "dialog_id": {
            "title": "Dialog Id",
            "type": "string"
          },
          "type": {
            "const": "document_editor",
            "default": "document_editor",
            "title": "Type",
            "type": "string"
          }
        },
        "required": [
          "dialog_id",
          "action"
        ],
        "title": "DocumentEditorResponsePacket",
        "type": "object"
      },
      "EditboxPacket": {
        "additionalProperties": false,
        "properties": {
          "input_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Input Id"
          },
          "text": {
            "title": "Text",
            "type": "string"
          },
          "type": {
            "const": "editbox",
            "default": "editbox",
            "title": "Type",
            "type": "string"
          }
        },
        "required": [
          "text"
        ],
        "title": "EditboxPacket",
        "type": "object"
      },
      "EscapePacket": {
        "additionalProperties": false,
        "properties": {
          "menu_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Menu Id"
          },
          "type": {
            "const": "escape",
            "default": "escape",
            "title": "Type",
            "type": "string"
          }
        },
        "title": "EscapePacket",
        "type": "object"
      },
      "KeybindPacket": {
        "additionalProperties": false,
        "properties": {
          "alt": {
            "default": false,
            "title": "Alt",
            "type": "boolean"
          },
          "control": {
            "default": false,
            "title": "Control",
            "type": "boolean"
          },
          "key": {
            "title": "Key",
            "type": "string"
          },
          "menu_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Menu Id"
          },
          "menu_index": {
            "anyOf": [
              {
                "minimum": 1,
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Menu Index"
          },
          "menu_item_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Menu Item Id"
          },
          "shift": {
            "default": false,
            "title": "Shift",
            "type": "boolean"
          },
          "type": {
            "const": "keybind",
            "default": "keybind",
            "title": "Type",
            "type": "string"
          }
        },
        "required": [
          "key"
        ],
        "title": "KeybindPacket",
        "type": "object"
      },
      "ListOnlinePacket": {
        "additionalProperties": false,
        "properties": {
          "type": {
            "const": "list_online",
            "default": "list_online",
            "title": "Type",
            "type": "string"
          }
        },
        "title": "ListOnlinePacket",
        "type": "object"
      },
      "ListOnlineWithGamesPacket": {
        "additionalProperties": false,
        "properties": {
          "type": {
            "const": "list_online_with_games",
            "default": "list_online_with_games",
            "title": "Type",
            "type": "string"
          }
        },
        "title": "ListOnlineWithGamesPacket",
        "type": "object"
      },
      "MenuSelectionPacket": {
        "additionalProperties": false,
        "properties": {
          "menu_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Menu Id"
          },
          "selection": {
            "anyOf": [
              {
                "minimum": 1,
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Selection"
          },
          "selection_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Selection Id"
          },
          "type": {
            "const": "menu",
            "default": "menu",
            "title": "Type",
            "type": "string"
          }
        },
        "title": "MenuSelectionPacket",
        "type": "object"
      },
      "PingPacket": {
        "additionalProperties": false,
        "properties": {
          "type": {
            "const": "ping",
            "default": "ping",
            "title": "Type",
            "type": "string"
          }
        },
        "title": "PingPacket",
        "type": "object"
      },
      "PlaylistDurationResponsePacket": {
        "additionalProperties": false,
        "properties": {
          "duration": {
            "minimum": 0,
            "title": "Duration",
            "type": "integer"
          },
          "duration_type": {
            "enum": [
              "total",
              "elapsed",
              "remaining"
            ],
            "title": "Duration Type",
            "type": "string"
          },
          "playlist_id": {
            "title": "Playlist Id",
            "type": "string"
          },
          "request_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "integer"
              }
            ],
            "title": "Request Id"
          },
          "type": {
            "const": "playlist_duration_response",
            "default": "playlist_duration_response",
            "title": "Type",
            "type": "string"
          }
        },
        "required": [
          "request_id",
          "playlist_id",
          "duration_type",
          "duration"
        ],
        "title": "PlaylistDurationResponsePacket",
        "type": "object"
      },
      "RefreshSessionPacket": {
        "additionalProperties": false,
        "properties": {
          "client_type": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Client Type"
          },
          "platform": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Platform"
          },
          "refresh_token": {
            "title": "Refresh Token",
            "type": "string"
          },
          "type": {
            "const": "refresh_session",
            "default": "refresh_session",
            "title": "Type",
            "type": "string"
          },
          "username": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Username"
          }
        },
        "required": [
          "refresh_token"
        ],
        "title": "RefreshSessionPacket",
        "type": "object"
      },
      "RegisterPacket": {
        "additionalProperties": false,
        "properties": {
          "bio": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Bio"
          },
          "email": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Email"
          },
          "locale": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Locale"
          },
          "password": {
            "title": "Password",
            "type": "string"
          },
          "type": {
            "const": "register",
            "default": "register",
            "title": "Type",
            "type": "string"
          },
          "username": {
            "title": "Username",
            "type": "string"
          }
        },
        "required": [
          "username",
          "password"
        ],
        "title": "RegisterPacket",
        "type": "object"
      },
      "RemoveTablePasswordCommandPacket": {
        "additionalProperties": false,
        "properties": {
          "type": {
            "const": "remove_table_pw_cmd",
            "default": "remove_table_pw_cmd",
            "title": "Type",
            "type": "string"
          }
        },
        "title": "RemoveTablePasswordCommandPacket",
        "type": "object"
      },
      "SetTablePasswordCommandPacket": {
        "additionalProperties": false,
        "properties": {
          "password": {
            "title": "Password",
            "type": "string"
          },
          "type": {
            "const": "set_table_pw_cmd",
            "default": "set_table_pw_cmd",
            "title": "Type",
            "type": "string"
          }
        },
        "required": [
          "password"
        ],
        "title": "SetTablePasswordCommandPacket",
        "type": "object"
      },
      "SetTableVisibilityCommandPacket": {
        "additionalProperties": false,
        "properties": {
          "state": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "State"
          },
          "type": {
            "const": "set_table_visibility_cmd",
            "default": "set_table_visibility_cmd",
            "title": "Type",
            "type": "string"
          }
        },
        "title": "SetTableVisibilityCommandPacket",
        "type": "object"
      },
      "SlashCommandPacket": {
        "additionalProperties": false,
        "properties": {
          "args": {
            "default": "",
            "title": "Args",
            "type": "string"
          },
          "command": {
            "title": "Command",
            "type": "string"
          },
          "type": {
            "const": "slash_command",
            "default": "slash_command",
            "title": "Type",
            "type": "string"
          }
        },
        "required": [
          "command"
        ],
        "title": "SlashCommandPacket",
        "type": "object"
      }
    },
    "discriminator": {
      "mapping": {
        "admins_cmd": "#/$defs/AdminsCommandPacket",
        "authorize": "#/$defs/AuthorizePacket",
        "broadcast_cmd": "#/$defs/BroadcastCommandPacket",
        "chat": "#/$defs/ChatPacket",
        "check_table_pw_cmd": "#/$defs/CheckTablePasswordCommandPacket",
        "check_table_visibility_cmd": "#/$defs/CheckTableVisibilityCommandPacket",
        "client_options": "#/$defs/ClientOptionsPacket",
        "document_editor": "#/$defs/DocumentEditorResponsePacket",
        "editbox": "#/$defs/EditboxPacket",
        "escape": "#/$defs/EscapePacket",
        "keybind": "#/$defs/KeybindPacket",
        "list_online": "#/$defs/ListOnlinePacket",
        "list_online_with_games": "#/$defs/ListOnlineWithGamesPacket",
        "menu": "#/$defs/MenuSelectionPacket",
        "ping": "#/$defs/PingPacket",
        "playlist_duration_response": "#/$defs/PlaylistDurationResponsePacket",
        "refresh_session": "#/$defs/RefreshSessionPacket",
        "register": "#/$defs/RegisterPacket",
        "remove_table_pw_cmd": "#/$defs/RemoveTablePasswordCommandPacket",
        "set_table_pw_cmd": "#/$defs/SetTablePasswordCommandPacket",
        "set_table_visibility_cmd": "#/$defs/SetTableVisibilityCommandPacket",
        "slash_command": "#/$defs/SlashCommandPacket"
      },
      "propertyName": "type"
    },
    "oneOf": [
      {
        "$ref": "#/$defs/AuthorizePacket"
      },
      {
        "$ref": "#/$defs/RegisterPacket"
      },
      {
        "$ref": "#/$defs/RefreshSessionPacket"
      },
      {
        "$ref": "#/$defs/MenuSelectionPacket"
      },
      {
        "$ref": "#/$defs/KeybindPacket"
      },
      {
        "$ref": "#/$defs/EscapePacket"
      },
      {
        "$ref": "#/$defs/EditboxPacket"
      },
      {
        "$ref": "#/$defs/DocumentEditorResponsePacket"
      },
      {
        "$ref": "#/$defs/ChatPacket"
      },
      {
        "$ref": "#/$defs/PingPacket"
      },
      {
        "$ref": "#/$defs/ListOnlinePacket"
      },
      {
        "$ref": "#/$defs/ListOnlineWithGamesPacket"
      },
      {
        "$ref": "#/$defs/PlaylistDurationResponsePacket"
      },
      {
        "$ref": "#/$defs/ClientOptionsPacket"
      },
      {
        "$ref": "#/$defs/SlashCommandPacket"
      },
      {
        "$ref": "#/$defs/AdminsCommandPacket"
      },
      {
        "$ref": "#/$defs/BroadcastCommandPacket"
      },
      {
        "$ref": "#/$defs/SetTableVisibilityCommandPacket"
      },
      {
        "$ref": "#/$defs/CheckTableVisibilityCommandPacket"
      },
      {
        "$ref": "#/$defs/SetTablePasswordCommandPacket"
      },
      {
        "$ref": "#/$defs/RemoveTablePasswordCommandPacket"
      },
      {
        "$ref": "#/$defs/CheckTablePasswordCommandPacket"
      }
    ]
  },
  "server_to_client": {
    "$defs": {
      "AddPlaylistPacket": {
        "additionalProperties": false,
        "properties": {
          "audio_type": {
            "default": "music",
            "enum": [
              "music",
              "sound"
            ],
            "title": "Audio Type",
            "type": "string"
          },
          "auto_remove": {
            "default": true,
            "title": "Auto Remove",
            "type": "boolean"
          },
          "auto_start": {
            "default": true,
            "title": "Auto Start",
            "type": "boolean"
          },
          "playlist_id": {
            "title": "Playlist Id",
            "type": "string"
          },
          "repeats": {
            "default": 1,
            "title": "Repeats",
            "type": "integer"
          },
          "shuffle_tracks": {
            "default": false,
            "title": "Shuffle Tracks",
            "type": "boolean"
          },
          "tracks": {
            "items": {
              "type": "string"
            },
            "title": "Tracks",
            "type": "array"
          },
          "type": {
            "const": "add_playlist",
            "default": "add_playlist",
            "title": "Type",
            "type": "string"
          }
        },
        "required": [
          "playlist_id",
          "tracks"
        ],
        "title": "AddPlaylistPacket",
        "type": "object"
      },
      "AuthorizeSuccessPacket": {
        "additionalProperties": false,
        "properties": {
          "refresh_expires_at": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Refresh Expires At"
          },
          "refresh_token": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Refresh Token"
          },
          "session_expires_at": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Session Expires At"
          },
          "session_token": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Session Token"
          },
          "type": {
            "const": "authorize_success",
            "default": "authorize_success",
            "title": "Type",
            "type": "string"
          },
          "username": {
            "title": "Username",
            "type": "string"
          },
          "version": {
            "title": "Version",
            "type": "string"
          }
        },
        "required": [
          "username",
          "version"
        ],
        "title": "AuthorizeSuccessPacket",
        "type": "object"
      },
      "ChatBroadcastPacket": {
        "additionalProperties": false,
        "properties": {
          "convo": {
            "enum": [
              "local",
              "global"
            ],
            "title": "Convo",
            "type": "string"
          },
          "language": {
            "title": "Language",
            "type": "string"
          },
          "message": {
            "title": "Message",
            "type": "string"
          },
          "sender": {
            "title": "Sender",
            "type": "string"
          },
          "type": {
            "const": "chat",
            "default": "chat",
            "title": "Type",
            "type": "string"
          }
        },
        "required": [
          "convo",
          "sender",
          "message",
          "language"
        ],
        "title": "ChatBroadcastPacket",
        "type": "object"
      },
      "ClearUIPacket": {
        "additionalProperties": false,
        "properties": {
          "type": {
            "const": "clear_ui",
            "default": "clear_ui",
            "title": "Type",
            "type": "string"
          }
        },
        "title": "ClearUIPacket",
        "type": "object"
      },
      "DisconnectPacket": {
        "additionalProperties": false,
        "properties": {
          "message": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Message"
          },
          "reconnect": {
            "default": false,
            "title": "Reconnect",
            "type": "boolean"
          },
          "retry_after": {
            "anyOf": [
              {
                "minimum": 1,
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Retry After"
          },
          "return_to_login": {
            "default": false,
            "title": "Return To Login",
            "type": "boolean"
          },
          "show_message": {
            "default": false,
            "title": "Show Message",
            "type": "boolean"
          },
          "status_mode": {
            "anyOf": [
              {
                "enum": [
                  "initializing",
                  "maintenance",
                  "running"
                ],
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Status Mode"
          },
          "type": {
            "const": "disconnect",
            "default": "disconnect",
            "title": "Type",
            "type": "string"
          }
        },
        "title": "DisconnectPacket",
        "type": "object"
      },
      "DocumentEditorPacket": {
        "additionalProperties": false,
        "properties": {
          "content": {
            "default": "",
            "title": "Content",
            "type": "string"
          },
          "content_label": {
            "default": "",
            "title": "Content Label",
            "type": "string"
          },
          "dialog_id": {
            "title": "Dialog Id",
            "type": "string"
          },
          "prompt": {
            "default": "",
            "title": "Prompt",
            "type": "string"
          },
          "source_content": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Source Content"
          },
          "source_label": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Source Label"
          },
          "type": {
            "const": "document_editor",
            "default": "document_editor",
            "title": "Type",
            "type": "string"
          }
        },
        "required": [
          "dialog_id"
        ],
        "title": "DocumentEditorPacket",
        "type": "object"
      },
      "GameInfo": {
        "properties": {
          "name": {
            "title": "Name",
            "type": "string"
          },
          "type": {
            "title": "Type",
            "type": "string"
          }
        },
        "required": [
          "type",
          "name"
        ],
        "title": "GameInfo",
        "type": "object"
      },
      "GameListEntry": {
        "properties": {
          "id": {
            "title": "Id",
            "type": "string"
          },
          "max_players": {
            "default": 0,
            "minimum": 0,
            "title": "Max Players",
            "type": "integer"
          },
          "name": {
            "title": "Name",
            "type": "string"
          },
          "players": {
            "default": 0,
            "minimum": 0,
            "title": "Players",
            "type": "integer"
          },
          "type": {
            "title": "Type",
            "type": "string"
          }
        },
        "required": [
          "id",
          "name",
          "type"
        ],
        "title": "GameListEntry",
        "type": "object"
      },
      "GameListPacket": {
        "additionalProperties": false,
        "properties": {
          "games": {
            "items": {
              "$ref": "#/$defs/GameListEntry"
            },
            "title": "Games",
            "type": "array"
          },
          "type": {
            "const": "game_list",
            "default": "game_list",
            "title": "Type",
            "type": "string"
          }
        },
        "required": [
          "games"
        ],
        "title": "GameListPacket",
        "type": "object"
      },
      "GetPlaylistDurationPacket": {
        "additionalProperties": false,
        "properties": {
          "duration_type": {
            "default": "total",
            "enum": [
              "total",
              "elapsed",
              "remaining"
            ],
            "title": "Duration Type",
            "type": "string"
          },
          "playlist_id": {
            "title": "Playlist Id",
            "type": "string"
          },
          "request_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Request Id"
          },
          "type": {
            "const": "get_playlist_duration",
            "default": "get_playlist_duration",
            "title": "Type",
            "type": "string"
          }
        },
        "required": [
          "playlist_id"
        ],
        "title": "GetPlaylistDurationPacket",
        "type": "object"
      },
      "MenuItemPayload": {
        "description": "Structured representation of a menu item.",
        "properties": {
          "id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Id"
          },
          "sound": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Sound"
          },
          "text": {
            "title": "Text",
            "type": "string"
          }
        },
        "required": [
          "text"
        ],
        "title": "MenuItemPayload",
        "type": "object"
      },
      "MenuPacket": {
        "additionalProperties": false,
        "properties": {
          "escape_behavior": {
            "anyOf": [
              {
                "enum": [
                  "keybind",
                  "select_last_option",
                  "escape_event"
                ],
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Escape Behavior"
          },
          "grid_enabled": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Grid Enabled"
          },
          "grid_width": {
            "anyOf": [
              {
                "minimum": 1,
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Grid Width"
          },
          "items": {
            "items": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "$ref": "#/$defs/MenuItemPayload"
                }
              ]
            },
            "title": "Items",
            "type": "array"
          },
          "menu_id": {
            "title": "Menu Id",
            "type": "string"
          },
          "multiletter_enabled": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Multiletter Enabled"
          },
          "play_selection_sound": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Play Selection Sound"
          },
          "position": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Position"
          },
          "selection_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Selection Id"
          },
          "type": {
            "const": "menu",
            "default": "menu",
            "title": "Type",
            "type": "string"
          }
        },
        "required": [
          "menu_id",
          "items"
        ],
        "title": "MenuPacket",
        "type": "object"
      },
      "OpenClientOptionsPacket": {
        "additionalProperties": false,
        "properties": {
          "options": {
            "additionalProperties": true,
            "title": "Options",
            "type": "object"
          },
          "type": {
            "const": "open_client_options",
            "default": "open_client_options",
            "title": "Type",
            "type": "string"
          }
        },
        "title": "OpenClientOptionsPacket",
        "type": "object"
      },
      "OpenServerOptionsPacket": {
        "additionalProperties": false,
        "properties": {
          "options": {
            "additionalProperties": true,
            "title": "Options",
            "type": "object"
          },
          "type": {
            "const": "open_server_options",
            "default": "open_server_options",
            "title": "Type",
            "type": "string"
          }
        },
        "title": "OpenServerOptionsPacket",
        "type": "object"
      },
      "PlayAmbiencePacket": {
        "additionalProperties": false,
        "properties": {
          "intro": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Intro"
          },
          "loop": {
            "title": "Loop",
            "type": "string"
          },
          "outro": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Outro"
          },
          "type": {
            "const": "play_ambience",
            "default": "play_ambience",
            "title": "Type",
            "type": "string"
          }
        },
        "required": [
          "loop"
        ],
        "title": "PlayAmbiencePacket",
        "type": "object"
      },
      "PlayMusicPacket": {
        "additionalProperties": false,
        "properties": {
          "looping": {
            "default": true,
            "title": "Looping",
            "type": "boolean"
          },
          "name": {
            "title": "Name",
            "type": "string"
          },
          "type": {
            "const": "play_music",
            "default": "play_music",
            "title": "Type",
            "type": "string"
          }
        },
        "required": [
          "name"
        ],
        "title": "PlayMusicPacket",
        "type": "object"
      },
      "PlaySoundPacket": {
        "additionalProperties": false,
        "properties": {
          "name": {
            "title": "Name",
            "type": "string"
          },
          "pan": {
            "default": 0,
            "maximum": 100,
            "minimum": -100,
            "title": "Pan",
            "type": "integer"
          },
          "pitch": {
            "default": 100,
            "maximum": 200,
            "minimum": 0,
            "title": "Pitch",
            "type": "integer"
          },
          "type": {
            "const": "play_sound",
            "default": "play_sound",
            "title": "Type",
            "type": "string"
          },
          "volume": {
            "default": 100,
            "maximum": 100,
            "minimum": 0,
            "title": "Volume",
            "type": "integer"
          }
        },
        "required": [
          "name"
        ],
        "title": "PlaySoundPacket",
        "type": "object"
      },
      "PongPacket": {
        "additionalProperties": false,
        "properties": {
          "type": {
            "const": "pong",
            "default": "pong",
            "title": "Type",
            "type": "string"
          }
        },
        "title": "PongPacket",
        "type": "object"
      },
      "RefreshSessionFailurePacket": {
        "additionalProperties": false,
        "properties": {
          "message": {
            "title": "Message",
            "type": "string"
          },
          "type": {
            "const": "refresh_session_failure",
            "default": "refresh_session_failure",
            "title": "Type",
            "type": "string"
          }
        },
        "required": [
          "message"
        ],
        "title": "RefreshSessionFailurePacket",
        "type": "object"
      },
      "RefreshSessionSuccessPacket": {
        "additionalProperties": false,
        "properties": {
          "refresh_expires_at": {
            "title": "Refresh Expires At",
            "type": "integer"
          },
          "refresh_token": {
            "title": "Refresh Token",
            "type": "string"
          },
          "session_expires_at": {
            "title": "Session Expires At",
            "type": "integer"
          },
          "session_token": {
            "title": "Session Token",
            "type": "string"
          },
          "type": {
            "const": "refresh_session_success",
            "default": "refresh_session_success",
            "title": "Type",
            "type": "string"
          },
          "username": {
            "title": "Username",
            "type": "string"
          },
          "version": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Version"
          }
        },
        "required": [
          "username",
          "session_token",
          "session_expires_at",
          "refresh_token",
          "refresh_expires_at"
        ],
        "title": "RefreshSessionSuccessPacket",
        "type": "object"
      },
      "RemovePlaylistPacket": {
        "additionalProperties": false,
        "properties": {
          "playlist_id": {
            "title": "Playlist Id",
            "type": "string"
          },
          "type": {
            "const": "remove_playlist",
            "default": "remove_playlist",
            "title": "Type",
            "type": "string"
          }
        },
        "required": [
          "playlist_id"
        ],
        "title": "RemovePlaylistPacket",
        "type": "object"
      },
      "RequestInputPacket": {
        "additionalProperties": false,
        "properties": {
          "default_value": {
            "default": "",
            "title": "Default Value",
            "type": "string"
          },
          "input_id": {
            "title": "Input Id",
            "type": "string"
          },
          "multiline": {
            "default": false,
            "title": "Multiline",
            "type": "boolean"
          },
          "prompt": {
            "title": "Prompt",
            "type": "string"
          },
          "read_only": {
            "default": false,
            "title": "Read Only",
            "type": "boolean"
          },
          "type": {
            "const": "request_input",
            "default": "request_input",
            "title": "Type",
            "type": "string"
          }
        },
        "required": [
          "input_id",
          "prompt"
        ],
        "title": "RequestInputPacket",
        "type": "object"
      },
      "ServerStatusPacket": {
        "additionalProperties": false,
        "properties": {
          "message": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Message"
          },
          "mode": {
            "enum": [
              "initializing",
              "maintenance",
              "running"
            ],
            "title": "Mode",
            "type": "string"
          },
          "resume_at": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Resume At"
          },
          "retry_after": {
            "minimum": 1,
            "title": "Retry After",
            "type": "integer"
          },
          "type": {
            "const": "server_status",
            "default": "server_status",
            "title": "Type",
            "type": "string"
          }
        },
        "required": [
          "mode",
          "retry_after"
        ],
        "title": "ServerStatusPacket",
        "type": "object"
      },
      "SpeakPacket": {
        "additionalProperties": false,
        "properties": {
          "buffer": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Buffer"
          },
          "muted": {
            "default": false,
            "title": "Muted",
            "type": "boolean"
          },
          "text": {
            "title": "Text",
            "type": "string"
          },
          "type": {
            "const": "speak",
            "default": "speak",
            "title": "Type",
            "type": "string"
          }
        },
        "required": [
          "text"
        ],
        "title": "SpeakPacket",
        "type": "object"
      },
      "StartPlaylistPacket": {
        "additionalProperties": false,
        "properties": {
          "playlist_id": {
            "title": "Playlist Id",
            "type": "string"
          },
          "type": {
            "const": "start_playlist",
            "default": "start_playlist",
            "title": "Type",
            "type": "string"
          }
        },
        "required": [
          "playlist_id"
        ],
        "title": "StartPlaylistPacket",
        "type": "object"
      },
      "StopAmbiencePacket": {
        "additionalProperties": false,
        "properties": {
          "type": {
            "const": "stop_ambience",
            "default": "stop_ambience",
            "title": "Type",
            "type": "string"
          }
        },
        "title": "StopAmbiencePacket",
        "type": "object"
      },
      "StopMusicPacket": {
        "additionalProperties": false,
        "properties": {
          "type": {
            "const": "stop_music",
            "default": "stop_music",
            "title": "Type",
            "type": "string"
          }
        },
        "title": "StopMusicPacket",
        "type": "object"
      },
      "TableCreatePacket": {
        "additionalProperties": false,
        "properties": {
          "game": {
            "title": "Game",
            "type": "string"
          },
          "host": {
            "title": "Host",
            "type": "string"
          },
          "type": {
            "const": "table_create",
            "default": "table_create",
            "title": "Type",
            "type": "string"
          }
        },
        "required": [
          "host",
          "game"
        ],
        "title": "TableCreatePacket",
        "type": "object"
      },
      "UpdateOptionsListsPacket": {
        "additionalProperties": false,
        "properties": {
          "games": {
            "items": {
              "$ref": "#/$defs/GameInfo"
            },
            "title": "Games",
            "type": "array"
          },
          "languages": {
            "anyOf": [
              {
                "additionalProperties": {
                  "type": "string"
                },
                "type": "object"
              },
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Languages"
          },
          "type": {
            "const": "update_options_lists",
            "default": "update_options_lists",
            "title": "Type",
            "type": "string"
          }
        },
        "required": [
          "games"
        ],
        "title": "UpdateOptionsListsPacket",
        "type": "object"
      }
    },
    "discriminator": {
      "mapping": {
        "add_playlist": "#/$defs/AddPlaylistPacket",
        "authorize_success": "#/$defs/AuthorizeSuccessPacket",
        "chat": "#/$defs/ChatBroadcastPacket",
        "clear_ui": "#/$defs/ClearUIPacket",
        "disconnect": "#/$defs/DisconnectPacket",
        "document_editor": "#/$defs/DocumentEditorPacket",
        "game_list": "#/$defs/GameListPacket",
        "get_playlist_duration": "#/$defs/GetPlaylistDurationPacket",
        "menu": "#/$defs/MenuPacket",
        "open_client_options": "#/$defs/OpenClientOptionsPacket",
        "open_server_options": "#/$defs/OpenServerOptionsPacket",
        "play_ambience": "#/$defs/PlayAmbiencePacket",
        "play_music": "#/$defs/PlayMusicPacket",
        "play_sound": "#/$defs/PlaySoundPacket",
        "pong": "#/$defs/PongPacket",
        "refresh_session_failure": "#/$defs/RefreshSessionFailurePacket",
        "refresh_session_success": "#/$defs/RefreshSessionSuccessPacket",
        "remove_playlist": "#/$defs/RemovePlaylistPacket",
        "request_input": "#/$defs/RequestInputPacket",
        "server_status": "#/$defs/ServerStatusPacket",
        "speak": "#/$defs/SpeakPacket",
        "start_playlist": "#/$defs/StartPlaylistPacket",
        "stop_ambience": "#/$defs/StopAmbiencePacket",
        "stop_music": "#/$defs/StopMusicPacket",
        "table_create": "#/$defs/TableCreatePacket",
        "update_options_lists": "#/$defs/UpdateOptionsListsPacket"
      },
      "propertyName": "type"
    },
    "oneOf": [
      {
        "$ref": "#/$defs/AuthorizeSuccessPacket"
      },
      {
        "$ref": "#/$defs/RefreshSessionSuccessPacket"
      },
      {
        "$ref": "#/$defs/RefreshSessionFailurePacket"
      },
      {
        "$ref": "#/$defs/SpeakPacket"
      },
      {
        "$ref": "#/$defs/PlaySoundPacket"
      },
      {
        "$ref": "#/$defs/PlayMusicPacket"
      },
      {
        "$ref": "#/$defs/StopMusicPacket"
      },
      {
        "$ref": "#/$defs/PlayAmbiencePacket"
      },
      {
        "$ref": "#/$defs/StopAmbiencePacket"
      },
      {
        "$ref": "#/$defs/MenuPacket"
      },
      {
        "$ref": "#/$defs/RequestInputPacket"
      },
      {
        "$ref": "#/$defs/DocumentEditorPacket"
      },
      {
        "$ref": "#/$defs/ClearUIPacket"
      },
      {
        "$ref": "#/$defs/DisconnectPacket"
      },
      {
        "$ref": "#/$defs/ServerStatusPacket"
      },
      {
        "$ref": "#/$defs/TableCreatePacket"
      },
      {
        "$ref": "#/$defs/UpdateOptionsListsPacket"
      },
      {
        "$ref": "#/$defs/PongPacket"
      },
      {
        "$ref": "#/$defs/ChatBroadcastPacket"
      },
      {
        "$ref": "#/$defs/GameListPacket"
      },
      {
        "$ref": "#/$defs/AddPlaylistPacket"
      },
      {
        "$ref": "#/$defs/StartPlaylistPacket"
      },
      {
        "$ref": "#/$defs/RemovePlaylistPacket"
      },
      {
        "$ref": "#/$defs/GetPlaylistDurationPacket"
      },
      {
        "$ref": "#/$defs/OpenClientOptionsPacket"
      },
      {
        "$ref": "#/$defs/OpenServerOptionsPacket"
      }
    ]
  }
}
