{"ok":true,"site":{"host":"watch-with-gpt.vechenkovh.chatgpt.site","url":"https://watch-with-gpt.vechenkovh.chatgpt.site/","type":"live","desc":"Watch the same video together with GPT.","tools":[{"name":"watch_get_session","kind":"answer","impl":"imperative","description":"Read the current shared-video state, session-level media metadata, and viewing protocol. Call this before starting a watch-along. The user’s current request determines the interaction style; do not assume they want constant commentary.","annotations":{"readOnlyHint":true},"inputSchema":{"type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"watch_observe_next_moment","kind":"act","impl":"imperative","description":"Continue an active watch-along on a persistent media-time cursor. Return at the next scheduled checkpoint or immediately for any viewer emoji. After success, capture the rendered .player-frame through browser page observation before model reasoning. At scheduled checkpoints, use the frame and conversation to decide whether to stay quiet, react, or comment. For a viewer emoji, always acknowledge the intentional signal in context, do not pause or end the watch-along solely because of it, and call this tool again in the same turn while playback remains active.","annotations":{"readOnlyHint":true},"inputSchema":{"type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"watch_play","kind":"act","impl":"imperative","description":"Start or resume the shared video when the user asks. This changes visible playback. It fails explicitly when the embedded player does not expose controls.","inputSchema":{"type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"watch_pause","kind":"act","impl":"imperative","description":"Pause the shared video when the user asks or before a longer response would compete with playback. This changes visible playback. It fails explicitly when the embedded player does not expose controls.","inputSchema":{"type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"watch_react","kind":"act","impl":"imperative","description":"Publish between one and five lightweight visual reactions together at the current playback moment. Use a small burst only when it genuinely fits or the user requests it; do not react to every observation. The user’s requested viewing style has priority. This visibly changes the page.","inputSchema":{"type":"object","properties":{"emojis":{"type":"array","items":{"type":"string","enum":["😂","❓","💀","😭","❤️","🤣","😮","😱","😍","🥹","👀","🤔","😡","🤯","👏","🔥","👍","👎","🎉","😬"]},"minItems":1,"maxItems":5,"description":"One to five reactions to show together over the video."}},"required":["emojis"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"}],"category":"Media & Personal","favicon":"/favicons/watch-with-gpt.vechenkovh.chatgpt.site.png","apiSurface":"spec","toolCount":5}}