• Stefy Lanza (nextime / spora )'s avatar
    Notify client on rotation failover (banner/metadata/headers); bump to 0.99.71 · 0a3a1df7
    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: 's avatarClaude Opus 4.8 <noreply@anthropic.com>
    0a3a1df7
pyproject.toml 2.12 KB