mirror of
https://github.com/openai/codex.git
synced 2026-10-23 18:08:45 +00:00
## What changed - Add `OAuthSessionRequest` to pair access tokens with their authorization identity and retain rejected-token recovery across transient failures and retries. New sign-ins receive an identity that survives token refresh. - Expose explicit login, logout, and authorization identity lookup, plus a per-manager option to disable automatic browser login while allowing credential reuse and refresh. - Move serializable `OAuthSessionConfig` into `codex-model-provider-info`, add an optional `device_authorization_url` field, and share endpoint URL validation through `codex-http-client`. - Distinguish permission failures, transient token endpoint failures, and invalid responses using `io::ErrorKind`. ## Testing Add coverage for sign-in identity preservation through refresh retries, removal of saved and cached credentials on logout, and suppression of automatic browser login. Extend token endpoint error classification coverage. GitOrigin-RevId: ae9f72e787171e179fe139a3b840a9f7e1e46506
60 lines
1.8 KiB
TOML
60 lines
1.8 KiB
TOML
[package]
|
|
edition.workspace = true
|
|
license.workspace = true
|
|
name = "codex-http-client"
|
|
version.workspace = true
|
|
|
|
[dependencies]
|
|
bytes = { workspace = true }
|
|
codex-utils-rustls-provider = { workspace = true }
|
|
futures = { workspace = true }
|
|
http = { workspace = true }
|
|
http-body = "1.0.1"
|
|
httpdate = { workspace = true }
|
|
native-tls = "0.2"
|
|
opentelemetry = { workspace = true }
|
|
reqwest = { workspace = true, features = ["json", "rustls-tls", "rustls-tls-native-roots", "stream"] }
|
|
rustls = { workspace = true }
|
|
rustls-native-certs = { workspace = true }
|
|
rustls-pki-types = { workspace = true }
|
|
serde = { workspace = true, features = ["derive"] }
|
|
serde_json = { workspace = true }
|
|
serde_urlencoded = "0.7"
|
|
sha2 = { workspace = true }
|
|
thiserror = { workspace = true }
|
|
tokio = { workspace = true, features = ["macros", "rt", "time", "sync"] }
|
|
tracing = { workspace = true }
|
|
tracing-opentelemetry = { workspace = true }
|
|
url = { workspace = true }
|
|
zstd = { workspace = true }
|
|
|
|
[target.'cfg(target_os = "macos")'.dependencies]
|
|
system-configuration = { workspace = true }
|
|
|
|
[target.'cfg(target_os = "windows")'.dependencies]
|
|
curl = { version = "0.4.50", features = ["static-curl", "ntlm"] }
|
|
rustls-platform-verifier = "0.7.0"
|
|
socket2 = "0.6"
|
|
tokio = { workspace = true, features = ["io-util", "net"] }
|
|
tokio-rustls = { workspace = true }
|
|
url = { workspace = true }
|
|
windows-sys = { workspace = true, features = [
|
|
"Win32_Foundation",
|
|
"Win32_Networking_WinHttp",
|
|
] }
|
|
|
|
[lints]
|
|
workspace = true
|
|
|
|
[dev-dependencies]
|
|
codex-utils-cargo-bin = { workspace = true }
|
|
opentelemetry_sdk = { workspace = true }
|
|
pretty_assertions = { workspace = true }
|
|
rcgen = { workspace = true }
|
|
tempfile = { workspace = true }
|
|
tokio = { workspace = true, features = ["test-util"] }
|
|
tracing-subscriber = { workspace = true }
|
|
|
|
[lib]
|
|
doctest = false
|