pub async fn chat_stream_signalled(
target: &TargetEndpoint,
body: &Value,
timeout: Duration,
first_token: Option<Sender<Instant>>,
) -> Result<ChatOutcome>Expand description
2026-10-04: chat_stream, plus a signal: first_token, when given, receives the
instant the first token-carrying chunk arrived (the instant ttft_ms is measured to)
while the stream is still running. A request that ends before any token drops the
sender, so the receiver sees an error instead of waiting.