mirror of
https://github.com/fabro-sh/fabro.git
synced 2026-11-01 07:02:30 +00:00
Fabro's shared resolver passed any unknown bare selector through verbatim to the highest-priority ready provider. A provider name in the model field, such as `gemini`, is not a catalog model, so it took that path and reached Anthropic with wire model `gemini`. The same path turned any typo into a request on whichever provider happened to win priority. An unqualified unknown selector is now an error. Passthrough of an uncatalogued model id still works, but only with a provider pin, which is also how the operator docs already described it. A bare provider name gets a dedicated error that names the provider and says to pin it and omit the model to use its default. The completions endpoint returns that error as a 400 before any provider call; the models lookup returns it as a 404. Session creation keeps its own provider-name message and no longer passes unknown unpinned names through either. The OpenAPI description of `CreateCompletionRequest.model` no longer advertises a provider id as a selector, and the TypeScript client is regenerated from it. Closes #950 by rejecting the input rather than resolving it: a provider name in the model position is ambiguous with model aliases, and no comparable library resolves it to a provider default. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| scripts | ||
| src | ||
| tests | ||
| openapitools.json | ||
| package.json | ||
| tsconfig.json | ||