Allow selecting a configured provider in model/list (#59776)

## Why

Clients need to list models for a configured provider other than the app-server's startup default.

## What changed

Add an optional `modelProvider` parameter to `model/list` and expose it in the generated schemas and client types. Explicit selections use provider definitions loaded at startup and respect current managed provider requirements. Unknown providers return a structured `modelProviderNotConfigured` error.

Use a temporary catalog when selecting another provider, preserving the default catalog and its disk cache while retaining runtime authentication. Requests without a selector keep the existing provider and caching behavior.

## Testing

Add coverage for provider selection, preservation of the default catalog and disk cache, unknown-provider errors, managed requirement enforcement, and runtime authentication for temporary catalogs.

GitOrigin-RevId: 6092df9f6141810c6ac215a8e1fb601f77e54747
This commit is contained in:
Abhinav
2026-11-06 01:10:49 +00:00
committed by copyberry
parent 73b1a3bc85
commit daa69c411c
24 changed files with 276 additions and 31 deletions
@@ -2825,6 +2825,13 @@ class ModelListParams(BaseModel):
int | None,
Field(description="Optional page size; defaults to a reasonable server-side value.", ge=0),
] = None
model_provider: Annotated[
str | None,
Field(
alias="modelProvider",
description="List models for this configured provider instead of the app-server default.",
),
] = None
class ModelProviderCapabilitiesReadParams(BaseModel):