const SCENARIOS: &[Scenario];Expand description
The first scenario that matches answers, so the default chat answer, which takes any streamed message at all, comes last.
A blocking caller parses the whole body as one JSON object and a streaming one reads it event by event, so no answer suits both, and every scenario says which kind it is. Among the blocking ones the schema alone decides: a learner is free to type anything into the chat, so no part of a message may reach a feature’s answer.