mirror of
https://github.com/fabro-sh/fabro.git
synced 2026-08-28 05:27:41 +00:00
Consolidation pass over the fallback feature, no intended behavior changes beyond noted validation and event-shape cleanups: - Unify the two parallel notice types: FallbackPlanNotice is gone; ModelFallbackNotice now owns the runtime NoNearbyReasoningLevel case and the shared ChainEmpty wording. Notices emit through a new Emitter::notice_scoped with their own level, and each distinct notice is emitted once per run instead of on every LLM call. - Move canonical_model_id onto Catalog so chain keys are written and read through one function; reject provider-qualified fallback keys, which could never match at dispatch and were silently dead config. - Type FallbackTarget as ProviderId/ModelId, removing repeated ProviderId::new re-wrapping at every use site. - Derive FallbackPlan's current route from a position index instead of storing current/requested_controls copies; advance() no longer has unreachable None branches. - Bundle the agent invocation's live state (session, bridge, lease, forwarder, accounting) into LiveAgentInvocation; failover_agent_session drops from 21 parameters to 7 and the six copies of the abort/discard/classify teardown collapse into two methods. - Share one route_request builder between one_shot and its failover loop; complete_one_shot_request takes the request by value instead of deep-cloning the message payload per call. - Event::Failover carries FailoverProps directly; the props' original route and attempt fields are now required, and reasoning efforts are typed ReasoningEffort instead of strings. - Reuse RunModelSettings/RunModelControls in fabro-api via with_replacement, add the missing controls property to the OpenAPI schema, regenerate the TS client, and add the type-identity/JSON parity test. - Smaller cleanups: ReasoningEffort::closest_supported uses enum discriminants; ModelFallbackPolicy gains len(); resolve_model_fallbacks takes a provider slice; duplicate-target filtering lives only in the resolver. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| migrations | ||
| src | ||
| tests | ||
| build.rs | ||
| Cargo.toml | ||