GUIDE_CLIENT_EVENTS

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.

guideTools.ts:767