Member Junction
    Preparing search index...
    TurnModerator: (ctx: TurnModeratorContext) => Promise<string[]>

    The room turn moderator — injected (like the transcript sink / run finalizer) so the engine stays framework-agnostic. Given one turn's context, it returns the ordered AgentSessionIDs that should speak next (empty = nobody; the room goes quiet / hands back to the human). The engine triggers them serially via the floor. The agent-layer implementation is a fast LLM prompt run; see @memberjunction/ai-agents RealtimeTurnModerator. When no moderator is set the engine falls back to the per-agent addressed matchers.

    Type Declaration