mirror of
https://github.com/openai/codex.git
synced 2026-10-29 19:08:43 +00:00
## Why Model catalog refreshes need to use the same registered actor and credential owner as model requests when runtime authentication is enabled. ## What changed - Add `ProviderAuthContext` to carry credentials and optional runtime authentication into model providers and catalog clients. - Select runtime authentication independently for inference and catalog destinations. Reject unsupported OpenAI origins while preserving provider authentication for other destinations. - Include API organization and project selectors in runtime registration. Reuse registered runtimes across projects within an organization and replace them when the organization changes. - Preserve transport restrictions and account bindings, and strip sensitive headers on cross-origin redirects. - Apply the catalog timeout to authentication and fetching while allowing credential refresh and registration to finish safely. ## Testing Add coverage for runtime-authenticated catalogs, provider isolation, resource selection, gateway authentication, cross-origin redirects, and timeout recovery that preserves registration and refreshed tokens. GitOrigin-RevId: c14f1a02159031ea0af1f9b26ea890f8dca7d6ad
52 lines
1.6 KiB
TOML
52 lines
1.6 KiB
TOML
[package]
|
|
edition.workspace = true
|
|
license.workspace = true
|
|
name = "codex-model-provider"
|
|
version.workspace = true
|
|
|
|
[lib]
|
|
doctest = false
|
|
name = "codex_model_provider"
|
|
path = "src/lib.rs"
|
|
|
|
[lints]
|
|
workspace = true
|
|
|
|
[dependencies]
|
|
codex-utils-process = { workspace = true }
|
|
chrono = { workspace = true }
|
|
codex-api = { workspace = true }
|
|
codex-agent-identity = { workspace = true }
|
|
codex-aws-auth = { workspace = true }
|
|
codex-http-client = { workspace = true }
|
|
codex-feedback = { workspace = true }
|
|
codex-features = { workspace = true }
|
|
codex-login = { workspace = true }
|
|
codex-runtime-agent-instance = { workspace = true }
|
|
codex-keyring-store = { workspace = true }
|
|
codex-model-provider-info = { workspace = true }
|
|
codex-models-manager = { workspace = true }
|
|
codex-otel = { workspace = true }
|
|
codex-protocol = { workspace = true }
|
|
codex-response-debug-context = { workspace = true }
|
|
codex-secrets = { workspace = true }
|
|
http = { workspace = true }
|
|
serde = { workspace = true, features = ["derive"] }
|
|
serde_json = { workspace = true }
|
|
sha2 = { workspace = true }
|
|
tokio = { workspace = true, features = ["io-util", "process", "sync", "time"] }
|
|
tracing = { workspace = true, features = ["log"] }
|
|
url = { workspace = true }
|
|
|
|
[dev-dependencies]
|
|
base64 = { workspace = true }
|
|
codex-utils-cargo-bin = { workspace = true }
|
|
codex-utils-redacted-string = { workspace = true }
|
|
codex-utils-rustls-provider = { workspace = true }
|
|
pretty_assertions = { workspace = true }
|
|
rcgen = { workspace = true }
|
|
rustls = { workspace = true }
|
|
tempfile = { workspace = true }
|
|
tokio = { workspace = true, features = ["macros", "rt"] }
|
|
wiremock = { workspace = true }
|