From bb9b00295f1d32f28367d3f53b0c91b9d98ab095 Mon Sep 17 00:00:00 2001 From: ReaperOfVeriod Date: Sun, 25 Oct 2026 05:52:19 +0100 Subject: [PATCH] Add Guest Star settings contract --- README.md | 5 ++++ .../guest-star-channel-settings-response.json | 24 +++++++++++++++++++ .../guest-star-channel-settings-response.json | 7 ++++++ 3 files changed, 36 insertions(+) create mode 100644 contracts/v1/guest-star-channel-settings-response.json create mode 100644 fixtures/v1/guest-star-channel-settings-response.json diff --git a/README.md b/README.md index 4fb61cf..7209e0d 100644 --- a/README.md +++ b/README.md @@ -18,3 +18,8 @@ The shared boundary vocabulary includes the ordered permission levels in the authenticated `realtime-event.json` envelope; clients must ignore event types they do not understand. +Guest Star channel settings are described by +`contracts/v1/guest-star-channel-settings-response.json`. The browser-source +token is a server-to-authenticated-client value and fixtures use a synthetic +placeholder only. + diff --git a/contracts/v1/guest-star-channel-settings-response.json b/contracts/v1/guest-star-channel-settings-response.json new file mode 100644 index 0000000..115ad6f --- /dev/null +++ b/contracts/v1/guest-star-channel-settings-response.json @@ -0,0 +1,24 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://trixie.local/contracts/v1/guest-star-channel-settings-response.json", + "title": "Guest Star channel settings response", + "type": "object", + "required": [ + "is_moderator_send_live_enabled", + "slot_count", + "is_browser_source_audio_enabled", + "group_layout", + "browser_source_token" + ], + "properties": { + "is_moderator_send_live_enabled": { "type": "boolean" }, + "slot_count": { "type": "integer", "minimum": 1, "maximum": 6 }, + "is_browser_source_audio_enabled": { "type": "boolean" }, + "group_layout": { + "type": "string", + "enum": ["TILED_LAYOUT", "SCREENSHARE_LAYOUT", "HORIZONTAL_LAYOUT", "VERTICAL_LAYOUT"] + }, + "browser_source_token": { "type": "string", "minLength": 1 } + }, + "additionalProperties": false +} diff --git a/fixtures/v1/guest-star-channel-settings-response.json b/fixtures/v1/guest-star-channel-settings-response.json new file mode 100644 index 0000000..8947b5e --- /dev/null +++ b/fixtures/v1/guest-star-channel-settings-response.json @@ -0,0 +1,7 @@ +{ + "is_moderator_send_live_enabled": true, + "slot_count": 4, + "is_browser_source_audio_enabled": false, + "group_layout": "TILED_LAYOUT", + "browser_source_token": "fixture-token-never-use" +}