-
Stefy Lanza (nextime / spora ) authored
When a rotation fails over to a different provider/model than the preferred (highest-weight) pick, optionally notify the client so the provider/model change isn't silent. Opt-in via a new notify_on_failover flag, settable globally (rotations.json top-level) or per-rotation, mirroring notifyerrors. On a real switch (served provider/model differs from preferred), three mechanisms carry the notice: - Visible banner: prepended to message content (non-streaming) or a leading delta chunk (streaming). - JSON metadata: an aisbf_failover object on the body / leading stream chunk. - HTTP headers: X-AISBF-Failover/Provider/Model/Preferred-* on the StreamingResponse and (for non-streaming) at the rotation route. Applied to both the normal and chunked rotation paths. The banner is injected after caching so cache hits don't replay a stale notice; no switch means zero overhead and nothing emitted; default off preserves existing behavior. Co-Authored-By:Claude Opus 4.8 <noreply@anthropic.com>
0a3a1df7