mirror of
https://github.com/openai/codex.git
synced 2026-10-29 19:08:43 +00:00
## Why Handshake probes can lose upgrade evidence when a subsequent read fails, and diagnostic output can expose URLs, server error messages, and close reasons containing sensitive values. ## What changed - Retain successful upgrade status and allowlisted tracking headers, including on post-upgrade read failures. - Return structured probe errors that distinguish typed TLS failures from failures with an unknown stage while preserving the underlying API error. - Recognize empty close frames as immediate closes with code `1005`. - Redact wire values from probe debug output and doctor error details, and remove URLs and raw errors from connection logs. ## Testing Add local TLS and WebSocket fixtures covering certificate rejection, ordinary I/O failures, successful and rejected upgrades, immediate closes, malformed frames, header retention, and redaction. Add doctor output snapshots and error-detail redaction assertions. GitOrigin-RevId: 1ee53720a7a752043943170d8e4da205ec4e55f3
49 lines
1.4 KiB
TOML
49 lines
1.4 KiB
TOML
[package]
|
|
name = "codex-api"
|
|
version.workspace = true
|
|
edition.workspace = true
|
|
license.workspace = true
|
|
|
|
[dependencies]
|
|
async-channel = { workspace = true }
|
|
base64 = { workspace = true }
|
|
bytes = { workspace = true }
|
|
chrono = { workspace = true }
|
|
codex-client = { workspace = true }
|
|
codex-http-client = { workspace = true }
|
|
codex-protocol = { workspace = true }
|
|
codex-utils-rustls-provider = { workspace = true }
|
|
codex-websocket-client = { workspace = true }
|
|
futures = { workspace = true }
|
|
http = { workspace = true }
|
|
rustls = { workspace = true }
|
|
schemars = { workspace = true }
|
|
serde = { workspace = true, features = ["derive"] }
|
|
serde_json = { workspace = true, features = ["raw_value"] }
|
|
thiserror = { workspace = true }
|
|
tokio = { workspace = true, features = ["fs", "macros", "net", "rt", "sync", "time"] }
|
|
tokio-tungstenite = { workspace = true }
|
|
tungstenite = { workspace = true }
|
|
tracing = { workspace = true }
|
|
eventsource-stream = { workspace = true }
|
|
regex-lite = { workspace = true }
|
|
tokio-util = { workspace = true, features = ["codec", "io"] }
|
|
url = { workspace = true }
|
|
uuid = { workspace = true }
|
|
|
|
[dev-dependencies]
|
|
anyhow = { workspace = true }
|
|
assert_matches = { workspace = true }
|
|
pretty_assertions = { workspace = true }
|
|
rcgen = { workspace = true }
|
|
tempfile = { workspace = true }
|
|
tokio = { workspace = true, features = ["test-util"] }
|
|
tokio-test = { workspace = true }
|
|
wiremock = { workspace = true }
|
|
|
|
[lints]
|
|
workspace = true
|
|
|
|
[lib]
|
|
doctest = false
|