mirror of
https://github.com/openai/codex.git
synced 2026-11-14 21:40:39 +00:00
Add default model provider selection to the app server (#61397)
## What changed Add `modelProvider/default/set` with a `providerId` parameter to persist the default provider for new threads and model lists. Return `ConfigWriteResponse`, reject unconfigured providers, and respect managed requirements, read-only configuration, and CLI overrides. Reload the model catalog on its next read when the default changes effectively. Resolve explicit `model/list` provider selections against the current catalog configuration so clients can continue listing models for a retained provider after switching defaults. Update the protocol schemas, generated TypeScript and Python types, and app-server documentation. ## Testing Add coverage for switching defaults and switching back, rejecting unknown providers without changing the catalog, retaining explicit provider selections, reporting CLI overrides, and rejecting writes blocked by configuration restrictions. GitOrigin-RevId: 3615835f58045d33a21b3c57d47932d6d1e3fb12
This commit is contained in:
@@ -2977,6 +2977,19 @@ class ModelProviderCapabilitiesReadResponse(BaseModel):
|
||||
web_search: Annotated[bool, Field(alias="webSearch")]
|
||||
|
||||
|
||||
class ModelProviderDefaultSetParams(BaseModel):
|
||||
model_config = ConfigDict(
|
||||
populate_by_name=True,
|
||||
)
|
||||
provider_id: Annotated[
|
||||
str,
|
||||
Field(
|
||||
alias="providerId",
|
||||
description="Configured provider to use by default for new threads and unscoped model lists.",
|
||||
),
|
||||
]
|
||||
|
||||
|
||||
class ModelProviderMismatchModelProviderError(BaseModel):
|
||||
model_config = ConfigDict(
|
||||
populate_by_name=True,
|
||||
@@ -8171,6 +8184,17 @@ class ModelProviderListRequest(BaseModel):
|
||||
params: ModelProviderListParams
|
||||
|
||||
|
||||
class ModelProviderDefaultSetRequest(BaseModel):
|
||||
model_config = ConfigDict(
|
||||
populate_by_name=True,
|
||||
)
|
||||
id: RequestId
|
||||
method: Annotated[
|
||||
Literal["modelProvider/default/set"], Field(title="ModelProvider/default/setRequestMethod")
|
||||
]
|
||||
params: ModelProviderDefaultSetParams
|
||||
|
||||
|
||||
class ModelProviderCapabilitiesReadRequest(BaseModel):
|
||||
model_config = ConfigDict(
|
||||
populate_by_name=True,
|
||||
@@ -13922,6 +13946,7 @@ class ClientRequest(
|
||||
| AccountGatewayOAuthCancelRequest
|
||||
| ModelProviderListRequest
|
||||
| ModelProviderConfigWriteRequest
|
||||
| ModelProviderDefaultSetRequest
|
||||
| ModelProviderCapabilitiesReadRequest
|
||||
| ExperimentalFeatureListRequest
|
||||
| PermissionProfileListRequest
|
||||
@@ -14034,6 +14059,7 @@ class ClientRequest(
|
||||
| AccountGatewayOAuthCancelRequest
|
||||
| ModelProviderListRequest
|
||||
| ModelProviderConfigWriteRequest
|
||||
| ModelProviderDefaultSetRequest
|
||||
| ModelProviderCapabilitiesReadRequest
|
||||
| ExperimentalFeatureListRequest
|
||||
| PermissionProfileListRequest
|
||||
|
||||
Reference in New Issue
Block a user