mirror of
https://github.com/openai/codex.git
synced 2026-11-06 20:20:34 +00:00
## What changed Add `modelProvider/config/write` to create custom gateways and patch existing custom gateway, Bedrock, and GCP settings. Return the saved provider using the same safe summary as `modelProvider/list`. Omitted fields retain their values; explicit `null` clears nullable user overrides. Apply patches through the shared configuration queue with last-write-wins semantics, enforce field editability and validation, and preserve unexposed authentication settings. Saving leaves provider selection and authentication unchanged. Saving the provider used by `model/list` invalidates its catalog for the next access. Include documentation and generated JSON, TypeScript, and Python protocol types. ## Testing Add coverage for gateway creation and ID allocation, patch and null semantics, configuration policy enforcement, authentication preservation, and catalog refresh after active-provider edits. Extend Python protocol tests to verify wire round trips and reject mismatched provider IDs or fields. GitOrigin-RevId: 850fe2c48ef5274944400efb5a859d720179c923
147 lines
3.6 KiB
JSON
Generated
147 lines
3.6 KiB
JSON
Generated
{
|
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
"additionalProperties": false,
|
|
"definitions": {
|
|
"BedrockProviderId": {
|
|
"enum": [
|
|
"amazon-bedrock",
|
|
"amazon-bedrock-runtime"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"GcpProviderId": {
|
|
"enum": [
|
|
"gcp"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"ProviderSettingsPatch": {
|
|
"description": "Omitted patch fields preserve their values. Explicit null clears a nullable field.",
|
|
"oneOf": [
|
|
{
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"baseUrl": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"envKey": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"providerId": {
|
|
"description": "Omit or pass null to allocate a new custom provider ID.",
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"type": {
|
|
"enum": [
|
|
"customGateway"
|
|
],
|
|
"title": "CustomGatewayProviderSettingsPatchType",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"type"
|
|
],
|
|
"title": "CustomGatewayProviderSettingsPatch",
|
|
"type": "object"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"description": "AWS configuration fields for built-in Bedrock providers.",
|
|
"properties": {
|
|
"profile": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"providerId": {
|
|
"$ref": "#/definitions/BedrockProviderId"
|
|
},
|
|
"region": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"type": {
|
|
"enum": [
|
|
"bedrock"
|
|
],
|
|
"title": "BedrockProviderSettingsPatchType",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"providerId",
|
|
"type"
|
|
],
|
|
"title": "BedrockProviderSettingsPatch",
|
|
"type": "object"
|
|
},
|
|
{
|
|
"additionalProperties": false,
|
|
"description": "GCP configuration fields. Credential-file paths refer to the app-server host.",
|
|
"properties": {
|
|
"credentialFile": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"location": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"projectId": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"providerId": {
|
|
"$ref": "#/definitions/GcpProviderId"
|
|
},
|
|
"type": {
|
|
"enum": [
|
|
"gcp"
|
|
],
|
|
"title": "GcpProviderSettingsPatchType",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"providerId",
|
|
"type"
|
|
],
|
|
"title": "GcpProviderSettingsPatch",
|
|
"type": "object"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"properties": {
|
|
"settings": {
|
|
"$ref": "#/definitions/ProviderSettingsPatch"
|
|
}
|
|
},
|
|
"required": [
|
|
"settings"
|
|
],
|
|
"title": "ModelProviderConfigWriteParams",
|
|
"type": "object"
|
|
} |