Rotation entries can forward to a rotation/autoselect, with loop protection
A rotation provider entry whose provider_id is "rotations" or "autoselect" is a
meta-provider: each model "name" is the id of a target rotation/autoselect, and
the request is forwarded there (weighted like any other entry, with failover to
the next entry on total failure).
- handlers.py: detect meta-providers in model-building, delegate in the retry
loop, and resolve rotation vs autoselect targets.
- Loop protection: a delegation chain rides on request_data and is registered by
both RotationHandler and AutoselectHandler; re-entering an id already in the
chain (A->B->A) or exceeding depth 8 raises HTTP 508 (caught upstream -> fail
over). Loops are also pre-filtered at model-build time.
- Dashboard: the provider select in rotations.html / user_rotations.html now
offers "rotations"/"autoselect"; the model row becomes a target picker.
Co-Authored-By:
Claude Opus 4.8 <noreply@anthropic.com>
Showing
This diff is collapsed.
Please
register
or
sign in
to comment