core/session/call_modes library

Classes

CallPlan
Everything the SDK's surfaces need to know about the current call, resolved once so nobody re-derives a piece of it and disagrees.

Enums

AgentTriggerMode
How a call behaves — who owns the UI, and therefore what the SDK is allowed to draw. Host-supplied, latched for the life of one call.
UiComponentOwner
Who draws the UI the user acts on during a call. A pure function of AgentTriggerMode — nothing else feeds it. Carried on CallPlan anyway so every surface reads one value instead of re-deriving the mapping.

Extensions

AgentTriggerModeWire on AgentTriggerMode
The cross-SDK string form of the mode.

Functions

parseAgentTriggerMode(String? raw) → AgentTriggerMode?
Parse a host- or backend-supplied string into a mode. Case- and separator-insensitive — "co-pilot", "CO_PILOT", "coPilot" and "copilot" all mean co-pilot — mirroring Android's parseAgentTriggerMode so the SAME string is accepted everywhere. Returns null when absent or unrecognised (never throws); callers fall back to co-pilot.
resolveCallPlan(AgentTriggerMode agentTriggerMode) → CallPlan
The whole start-call decision, as one pure function (Android's resolveCallPlan, scaled to Flutter's surface set — Flutter has no media-mode / network video machinery, so the plan carries only what its surfaces actually read).