The host's room service on its LiveKit server SDK.
The name prefix, the timeouts, the tokens' lifetime and the two identities; each has a default.
Makes the run's room, the prefix then the run id, for two participants (the bot and the agent), and mints the bot's publish-only token and the agent's subscribe-only token for it. Call it at dispatch, never at scheduling.
Mints the listening agent's subscribe-only token for a run's room, when the agent is about to connect. The manager keeps no token, and one minted at dispatch may have expired by the time the agent joins, since a run can wait in the waiting room longer than a token lives.
The run's room, as its dispatch record names it (run.dispatch.roomName).
One room per run, made at dispatch: a publish-only token for the bot, a subscribe-only token for the agent.