The conversation's rows the turn may read, oldest first.
The conversation manager's ID, when it is loaded.
The host's allowed list. Null allows every agent.
Looks an agent up among those the person may run. The chat passes the '@' list's
permission-filtered set (MentionAutocomplete.GetAvailableAgents()), so an agent that answered
in the conversation but that this person can't run is never offered.
The agents that have taken part in the conversation and may answer now, newest first, each once with its newest reply. The conversation manager is left out (it is the "someone else" option), and so is any agent
findAgentdoesn't return, the host doesn't allow, or that can no longer answer: one that isn't active, or is restricted (see IsRoutableAgent).