mirror of
https://github.com/openai/codex.git
synced 2026-10-31 19:28:49 +00:00
## What changed Negotiate the `codex/connection-lease` extension for pooled stdio connections. For servers that advertise it, open a unique lease per chat and attach its host-owned ID to tool calls and resource reads via `codex/connectionLease`, overriding caller-supplied lease metadata. When a chat releases its lease, write cancellations for pending requests before sending `codex/connection/release`. Preserve open-before-release ordering across startup timeouts, bound unload waits, and remove connections from the pool when lease cleanup fails or times out. Servers without the extension retain existing behavior. ## Testing Add coverage for cancellation-before-release ordering, late open acknowledgements, and lease drops outside the runtime. Extend app-server sharing tests to verify distinct chat leases, metadata replacement, release on unload, and continued use by another chat. GitOrigin-RevId: f4c8b606cb98b5697acab1c515e992ff80ec8425
58 lines
1.9 KiB
TOML
58 lines
1.9 KiB
TOML
[package]
|
|
edition.workspace = true
|
|
license.workspace = true
|
|
name = "codex-mcp"
|
|
version.workspace = true
|
|
|
|
[lib]
|
|
name = "codex_mcp"
|
|
path = "src/lib.rs"
|
|
doctest = false
|
|
|
|
[lints]
|
|
workspace = true
|
|
|
|
[dependencies]
|
|
anyhow = { workspace = true }
|
|
arc-swap = { workspace = true }
|
|
async-channel = { workspace = true }
|
|
codex-async-utils = { workspace = true }
|
|
codex-api = { workspace = true }
|
|
codex-config = { workspace = true }
|
|
codex-connectors = { workspace = true }
|
|
codex-diagnostics = { workspace = true }
|
|
codex-exec-server = { workspace = true }
|
|
codex-login = { workspace = true }
|
|
codex-model-provider = { workspace = true }
|
|
codex-network-proxy = { workspace = true }
|
|
codex-otel = { workspace = true }
|
|
codex-protocol = { workspace = true }
|
|
codex-rmcp-client = { workspace = true }
|
|
codex-utils-absolute-path = { workspace = true }
|
|
codex-utils-path-uri = { workspace = true }
|
|
codex-utils-plugins = { workspace = true }
|
|
codex-utils-process = { workspace = true }
|
|
futures = { workspace = true }
|
|
lru = { workspace = true }
|
|
regex-lite = { workspace = true }
|
|
rmcp = { workspace = true, default-features = false, features = ["base64", "macros", "schemars", "server"] }
|
|
serde = { workspace = true, features = ["derive"] }
|
|
serde_json = { workspace = true }
|
|
sha1 = { workspace = true }
|
|
thiserror = { workspace = true }
|
|
tokio = { workspace = true, features = ["io-util", "macros", "rt-multi-thread"] }
|
|
tokio-util = { workspace = true, features = ["rt"] }
|
|
tracing = { workspace = true }
|
|
url = { workspace = true }
|
|
uuid = { workspace = true, features = ["v4"] }
|
|
|
|
[dev-dependencies]
|
|
assert_matches = { workspace = true }
|
|
codex-exec-server-test-support = { workspace = true }
|
|
codex-plugin = { workspace = true }
|
|
codex-utils-cargo-bin = { workspace = true }
|
|
insta = { workspace = true }
|
|
pretty_assertions = { workspace = true }
|
|
rmcp = { workspace = true, default-features = false, features = ["base64", "macros", "schemars", "server"] }
|
|
tempfile = { workspace = true }
|