const GUIDE_CLIENT_EVENTS: readonly ['response.item.create', 'response.create', 'session.thinking.append', 'session.instructions.append', 'session.commentary.append', 'session.input_audio.mute', 'session.input_audio.unmute', 'session.close']
Exactly the tool loop, the scene, the greeting, mute, and close.
session.update is absent on purpose: with it the browser could switch the
backend model, rewrite its instructions, or enable web search for the life
of its session. The provider refuses anything not listed here with
event_not_allowed; the browser's own sender refuses first, so a bug shows
up as a thrown error in a test rather than a provider error in a session.