mirror of
https://github.com/hanzoai/dev.git
synced 2026-10-17 15:34:54 +00:00
Replaces the Rust tree. `code-rs/` was a fork of just-every/code carrying its own copy of everything; `vendor/` held 219 MB of upstream snapshots beside it. Both are gone. In their place: Hanzo writes the command surface, upstream keeps the engines. `crates/hanzo-dev/src/main.rs` is a real file that dispatches into libraries — codex_tui::run_main, codex_exec::run_main, and the rest — rather than an include! of upstream's 5156-line binary main. Owning the front door is what makes a single unified command surface expressible. Upstream arrives as submodules at upstream/codex and upstream/code, both at latest. The gitlink is the pin, so no lockfile of hashes sits beside it and a bump is a two-line diff instead of forty-five thousand. Crates are consumed by ordinary path dependency; nothing is copied. The whole Hanzo delta on upstream is sixteen anchored substitutions in patches/codex.json, applied in place by `make prepare` and visible in one `git -C upstream/codex status`. Each carries an exact match count, so upstream moving the ground under one stops preparation and names the file rather than branding the wrong line. Two are upstreamable: they publish mcp_cmd, plugin_cmd and doctor from upstream's library instead of burying them in its binary. `dev` covers exec, login, logout, serve, resume, fork, review, agents, queue, archive, unarchive, delete, cloud, mcp, plugin, doctor, features, sandbox and completion. Auto Drive and the browser bridge are not ported yet; migration/STATUS.md records that, and the defects the v1 patch was already carrying, so they are fixed as features are ported rather than copied across. Releases build from the root after `make prepare`, with submodules checked out. Scripts that existed only to manage a fork-diff — the upstream-merge set and the codex path-dep check — go with the fork.
478 lines
19 KiB
TOML
478 lines
19 KiB
TOML
[workspace]
|
|
members = ["crates/hanzo-dev", "crates/hanzo-config", "crates/hanzo-tui"]
|
|
exclude = ["upstream", "crates/hanzo-upstream"]
|
|
resolver = "2"
|
|
|
|
[workspace.package]
|
|
version = "0.7.0-dev.1"
|
|
# Track the edition for all workspace crates in one place. Individual
|
|
# crates can still override this value, but keeping it here means new
|
|
# crates created with `cargo new -w ...` automatically inherit the 2024
|
|
# edition.
|
|
edition = "2024"
|
|
license = "Apache-2.0"
|
|
|
|
[workspace.dependencies]
|
|
# Internal
|
|
codex-realtime-webrtc = { path = "upstream/codex/codex-rs/realtime-webrtc" }
|
|
app_test_support = { path = "upstream/codex/codex-rs/app-server/tests/common" }
|
|
codex-analytics = { path = "upstream/codex/codex-rs/analytics" }
|
|
codex-agent-graph-store = { path = "upstream/codex/codex-rs/agent-graph-store" }
|
|
codex-agent-identity = { path = "upstream/codex/codex-rs/agent-identity" }
|
|
codex-agent-roles = { path = "upstream/codex/codex-rs/agent-roles" }
|
|
codex-ansi-escape = { path = "upstream/codex/codex-rs/ansi-escape" }
|
|
codex-api = { path = "upstream/codex/codex-rs/codex-api" }
|
|
codex-attachment-store = { path = "upstream/codex/codex-rs/attachment-store" }
|
|
codex-aws-auth = { path = "upstream/codex/codex-rs/aws-auth" }
|
|
codex-app-server = { path = "upstream/codex/codex-rs/app-server" }
|
|
codex-app-server-transport = { path = "upstream/codex/codex-rs/app-server-transport" }
|
|
codex-app-server-daemon = { path = "upstream/codex/codex-rs/app-server-daemon" }
|
|
codex-app-server-client = { path = "upstream/codex/codex-rs/app-server-client" }
|
|
codex-app-server-protocol = { path = "upstream/codex/codex-rs/app-server-protocol" }
|
|
codex-app-server-protocol-noop-macros = { path = "upstream/codex/codex-rs/app-server-protocol-noop-macros" }
|
|
codex-app-server-test-client = { path = "upstream/codex/codex-rs/app-server-test-client" }
|
|
codex-apply-patch = { path = "upstream/codex/codex-rs/apply-patch" }
|
|
codex-arg0 = { path = "upstream/codex/codex-rs/arg0" }
|
|
codex-async-utils = { path = "upstream/codex/codex-rs/async-utils" }
|
|
codex-backend-client = { path = "upstream/codex/codex-rs/backend-client" }
|
|
codex-build-info = { path = "upstream/codex/codex-rs/build-info" }
|
|
codex-chatgpt = { path = "upstream/codex/codex-rs/chatgpt" }
|
|
codex-client = { path = "upstream/codex/codex-rs/codex-client" }
|
|
codex-collaboration-mode-templates = { path = "upstream/codex/codex-rs/collaboration-mode-templates" }
|
|
codex-cloud-config = { path = "upstream/codex/codex-rs/cloud-config" }
|
|
codex-cloud-tasks-client = { path = "upstream/codex/codex-rs/cloud-tasks-client" }
|
|
codex-cloud-tasks-mock-client = { path = "upstream/codex/codex-rs/cloud-tasks-mock-client" }
|
|
codex-code-mode = { path = "upstream/codex/codex-rs/code-mode" }
|
|
codex-code-mode-protocol = { path = "upstream/codex/codex-rs/code-mode-protocol" }
|
|
codex-code-mode-runtime = { path = "upstream/codex/codex-rs/code-mode-runtime" }
|
|
codex-home = { path = "upstream/codex/codex-rs/codex-home" }
|
|
codex-http-client = { path = "upstream/codex/codex-rs/http-client" }
|
|
codex-websocket-client = { path = "upstream/codex/codex-rs/websocket-client" }
|
|
codex-config = { path = "upstream/codex/codex-rs/config" }
|
|
codex-connectors = { path = "upstream/codex/codex-rs/connectors" }
|
|
codex-agent-extension = { path = "upstream/codex/codex-rs/ext/agent" }
|
|
codex-connectors-extension = { path = "upstream/codex/codex-rs/ext/connectors" }
|
|
codex-context-fragments = { path = "upstream/codex/codex-rs/context-fragments" }
|
|
codex-core = { path = "upstream/codex/codex-rs/core" }
|
|
codex-core-api = { path = "upstream/codex/codex-rs/core-api" }
|
|
codex-core-plugins = { path = "upstream/codex/codex-rs/core-plugins" }
|
|
codex-diagnostics = { path = "upstream/codex/codex-rs/diagnostics" }
|
|
codex-exec = { path = "upstream/codex/codex-rs/exec" }
|
|
codex-file-system = { path = "upstream/codex/codex-rs/file-system" }
|
|
codex-exec-server-protocol = { path = "upstream/codex/codex-rs/exec-server-protocol" }
|
|
codex-exec-server = { path = "upstream/codex/codex-rs/exec-server" }
|
|
codex-exec-server-test-support = { path = "upstream/codex/codex-rs/exec-server/tests/support" }
|
|
codex-execpolicy = { path = "upstream/codex/codex-rs/execpolicy" }
|
|
codex-extension-api = { path = "upstream/codex/codex-rs/ext/extension-api" }
|
|
codex-extension-items = { path = "upstream/codex/codex-rs/ext/items" }
|
|
codex-goal-extension = { path = "upstream/codex/codex-rs/ext/goal" }
|
|
codex-git-attribution = { path = "upstream/codex/codex-rs/ext/git-attribution" }
|
|
codex-guardian-v2 = { path = "upstream/codex/codex-rs/ext/guardian-v2" }
|
|
codex-history-notes-extension = { path = "upstream/codex/codex-rs/ext/history-notes" }
|
|
codex-image-generation-extension = { path = "upstream/codex/codex-rs/ext/image-generation" }
|
|
codex-external-agent-migration = { path = "upstream/codex/codex-rs/external-agent-migration" }
|
|
codex-experimental-api-macros = { path = "upstream/codex/codex-rs/codex-experimental-api-macros" }
|
|
codex-features = { path = "upstream/codex/codex-rs/features" }
|
|
codex-feedback = { path = "upstream/codex/codex-rs/feedback" }
|
|
codex-install-context = { path = "upstream/codex/codex-rs/install-context" }
|
|
codex-file-search = { path = "upstream/codex/codex-rs/file-search" }
|
|
codex-file-watcher = { path = "upstream/codex/codex-rs/file-watcher" }
|
|
codex-git-utils = { path = "upstream/codex/codex-rs/git-utils" }
|
|
codex-guardian-context = { path = "upstream/codex/codex-rs/guardian-context" }
|
|
codex-hooks = { path = "upstream/codex/codex-rs/hooks" }
|
|
codex-history = { path = "upstream/codex/codex-rs/history" }
|
|
codex-keyring-store = { path = "upstream/codex/codex-rs/keyring-store" }
|
|
codex-linux-sandbox = { path = "upstream/codex/codex-rs/linux-sandbox" }
|
|
codex-lmstudio = { path = "upstream/codex/codex-rs/lmstudio" }
|
|
codex-login = { path = "upstream/codex/codex-rs/login" }
|
|
codex-message-history = { path = "upstream/codex/codex-rs/message-history" }
|
|
codex-memories-extension = { path = "upstream/codex/codex-rs/ext/memories" }
|
|
codex-web-search-extension = { path = "upstream/codex/codex-rs/ext/web-search" }
|
|
codex-memories-read = { path = "upstream/codex/codex-rs/memories/read" }
|
|
codex-memories-write = { path = "upstream/codex/codex-rs/memories/write" }
|
|
codex-mcp = { path = "upstream/codex/codex-rs/codex-mcp" }
|
|
codex-mcp-extension = { path = "upstream/codex/codex-rs/ext/mcp" }
|
|
codex-model-provider-info = { path = "upstream/codex/codex-rs/model-provider-info" }
|
|
codex-models-manager = { path = "upstream/codex/codex-rs/models-manager" }
|
|
codex-mxc-sandbox = { path = "upstream/codex/codex-rs/mxc-sandbox" }
|
|
codex-network-proxy = { path = "upstream/codex/codex-rs/network-proxy" }
|
|
codex-ollama = { path = "upstream/codex/codex-rs/ollama" }
|
|
codex-otel = { path = "upstream/codex/codex-rs/otel" }
|
|
codex-otel-trace-websocket = { path = "upstream/codex/codex-rs/otel-trace-websocket" }
|
|
codex-plugin = { path = "upstream/codex/codex-rs/plugin" }
|
|
codex-model-provider = { path = "upstream/codex/codex-rs/model-provider" }
|
|
codex-process-hardening = { path = "upstream/codex/codex-rs/process-hardening" }
|
|
codex-protocol = { path = "upstream/codex/codex-rs/protocol" }
|
|
codex-prompts = { path = "upstream/codex/codex-rs/prompts" }
|
|
codex-queue-extension = { path = "upstream/codex/codex-rs/ext/queue" }
|
|
codex-responses-api-proxy = { path = "upstream/codex/codex-rs/responses-api-proxy" }
|
|
codex-response-debug-context = { path = "upstream/codex/codex-rs/response-debug-context" }
|
|
codex-rmcp-client = { path = "upstream/codex/codex-rs/rmcp-client" }
|
|
codex-rollout = { path = "upstream/codex/codex-rs/rollout" }
|
|
codex-rollout-trace = { path = "upstream/codex/codex-rs/rollout-trace" }
|
|
codex-sandboxing = { path = "upstream/codex/codex-rs/sandboxing" }
|
|
codex-secrets = { path = "upstream/codex/codex-rs/secrets" }
|
|
codex-shell-command = { path = "upstream/codex/codex-rs/shell-command" }
|
|
codex-shell-escalation = { path = "upstream/codex/codex-rs/shell-escalation" }
|
|
codex-skills-extension = { path = "upstream/codex/codex-rs/ext/skills" }
|
|
codex-skills = { path = "upstream/codex/codex-rs/skills" }
|
|
codex-state = { path = "upstream/codex/codex-rs/state" }
|
|
codex-stdio-to-uds = { path = "upstream/codex/codex-rs/stdio-to-uds" }
|
|
codex-terminal-detection = { path = "upstream/codex/codex-rs/terminal-detection" }
|
|
codex-test-binary-support = { path = "upstream/codex/codex-rs/test-binary-support" }
|
|
codex-thread-store = { path = "upstream/codex/codex-rs/thread-store" }
|
|
codex-tools = { path = "upstream/codex/codex-rs/tools" }
|
|
codex-tui = { path = "upstream/codex/codex-rs/tui" }
|
|
codex-uds = { path = "upstream/codex/codex-rs/uds" }
|
|
codex-utils-absolute-path = { path = "upstream/codex/codex-rs/utils/absolute-path" }
|
|
codex-utils-approval-presets = { path = "upstream/codex/codex-rs/utils/approval-presets" }
|
|
codex-utils-audio = { path = "upstream/codex/codex-rs/utils/audio" }
|
|
codex-utils-cache = { path = "upstream/codex/codex-rs/utils/cache" }
|
|
codex-utils-cargo-bin = { path = "upstream/codex/codex-rs/utils/cargo-bin" }
|
|
codex-utils-cli = { path = "upstream/codex/codex-rs/utils/cli" }
|
|
codex-utils-elapsed = { path = "upstream/codex/codex-rs/utils/elapsed" }
|
|
codex-utils-fuzzy-match = { path = "upstream/codex/codex-rs/utils/fuzzy-match" }
|
|
codex-utils-git-discovery = { path = "upstream/codex/codex-rs/utils/git-discovery" }
|
|
codex-utils-home-dir = { path = "upstream/codex/codex-rs/utils/home-dir" }
|
|
codex-utils-image = { path = "upstream/codex/codex-rs/utils/image" }
|
|
codex-utils-json-to-toml = { path = "upstream/codex/codex-rs/utils/json-to-toml" }
|
|
codex-utils-oss = { path = "upstream/codex/codex-rs/utils/oss" }
|
|
codex-utils-output-truncation = { path = "upstream/codex/codex-rs/utils/output-truncation" }
|
|
codex-utils-path = { path = "upstream/codex/codex-rs/utils/path-utils" }
|
|
codex-utils-path-uri = { path = "upstream/codex/codex-rs/utils/path-uri" }
|
|
codex-utils-plugins = { path = "upstream/codex/codex-rs/utils/plugins" }
|
|
codex-utils-pty = { path = "upstream/codex/codex-rs/utils/pty" }
|
|
codex-utils-redacted-string = { path = "upstream/codex/codex-rs/utils/redacted-string" }
|
|
codex-utils-rustls-provider = { path = "upstream/codex/codex-rs/utils/rustls-provider" }
|
|
codex-utils-sandbox-summary = { path = "upstream/codex/codex-rs/utils/sandbox-summary" }
|
|
codex-worktree = { path = "upstream/codex/codex-rs/worktree" }
|
|
codex-utils-sleep-inhibitor = { path = "upstream/codex/codex-rs/utils/sleep-inhibitor" }
|
|
codex-utils-stream-parser = { path = "upstream/codex/codex-rs/utils/stream-parser" }
|
|
codex-utils-string = { path = "upstream/codex/codex-rs/utils/string" }
|
|
codex-utils-template = { path = "upstream/codex/codex-rs/utils/template" }
|
|
codex-user-verification = { path = "upstream/codex/codex-rs/user-verification" }
|
|
codex-v8-poc = { path = "upstream/codex/codex-rs/v8-poc" }
|
|
codex-workload-identity = { path = "upstream/codex/codex-rs/workload-identity" }
|
|
codex-windows-sandbox = { path = "upstream/codex/codex-rs/windows-sandbox-rs" }
|
|
core_test_support = { path = "upstream/codex/codex-rs/core/tests/common" }
|
|
|
|
# External
|
|
learning_mode_windows = { git = "https://github.com/microsoft/mxc", rev = "6cd3d58f05d3447e67109cfb75e042803b843ca4" }
|
|
wxc_common = { git = "https://github.com/microsoft/mxc", rev = "6cd3d58f05d3447e67109cfb75e042803b843ca4" }
|
|
age = "0.11.1"
|
|
ansi-to-tui = "8.0.1"
|
|
anyhow = "1"
|
|
appcontainer_common = { git = "https://github.com/microsoft/mxc", rev = "6cd3d58f05d3447e67109cfb75e042803b843ca4" }
|
|
arboard = { version = "3", features = ["wayland-data-control"] }
|
|
arc-swap = "1.9.0"
|
|
assert_cmd = "2"
|
|
assert_matches = "1.5.0"
|
|
async-channel = "2.3.1"
|
|
async-io = "2.6.0"
|
|
async-stream = "0.3.6"
|
|
aws-config = "1"
|
|
aws-credential-types = "1"
|
|
aws-sigv4 = "1"
|
|
aws-types = "1"
|
|
axum = { version = "0.8", default-features = false }
|
|
base64 = "0.22.1"
|
|
bitflags = "2.13.1"
|
|
blake3 = "1.8.2"
|
|
bm25 = "2.3.2"
|
|
bytes = "1.10.1"
|
|
chardetng = "0.1.17"
|
|
chrono = "0.4.43"
|
|
clap = "4"
|
|
clap_complete = "4"
|
|
clatter = { version = "2.2.0", default-features = false, features = [
|
|
"alloc",
|
|
"getrandom",
|
|
"use-25519",
|
|
"use-aes-gcm",
|
|
"use-rust-crypto-ml-kem",
|
|
"use-sha",
|
|
] }
|
|
color-eyre = "0.6.3"
|
|
constant_time_eq = "0.3.1"
|
|
crossbeam-channel = "0.5.15"
|
|
crypto_box = { version = "0.9.1", features = ["seal"] }
|
|
crossterm = "0.29.0"
|
|
ctor = "0.6.3"
|
|
deno_core_icudata = "0.77.0"
|
|
derive_more = "2"
|
|
diffy = "0.4.2"
|
|
dirs = "6"
|
|
divan = "0.1.21"
|
|
dns-lookup = "3.0.1"
|
|
dotenvy = "0.15.7"
|
|
dunce = "1.0.4"
|
|
ed25519-dalek = { version = "2.2.0", features = ["pkcs8"] }
|
|
encoding_rs = "0.8.35"
|
|
eventsource-stream = "0.2.3"
|
|
flate2 = "1.1.8"
|
|
futures = { version = "0.3", default-features = false }
|
|
gethostname = "1.1.0"
|
|
gix = { version = "0.81.0", default-features = false, features = ["sha1"] }
|
|
gix-url = "0.35.2"
|
|
glob = "0.3"
|
|
globset = "0.4"
|
|
hmac = "0.12.1"
|
|
http = "1.3.1"
|
|
httpdate = "1.0.3"
|
|
iana-time-zone = "0.1.64"
|
|
icu_decimal = "2.1"
|
|
icu_locale_core = "2.1"
|
|
icu_provider = { version = "2.1", features = ["sync"] }
|
|
ignore = "0.4.23"
|
|
image = { version = "^0.25.9", default-features = false }
|
|
include_dir = "0.7.4"
|
|
indexmap = "2.12.0"
|
|
insta = "1.46.3"
|
|
inventory = "0.3.19"
|
|
itertools = "0.14.0"
|
|
jsonptr = { version = "0.7.1", default-features = false }
|
|
jsonwebtoken = "9.3.1"
|
|
keyring = { version = "3.6", default-features = false }
|
|
landlock = "0.4.4"
|
|
lazy_static = "1"
|
|
libc = "0.2.182"
|
|
# Keep SQLx's bundled SQLite on a version containing the WAL-reset corruption fix:
|
|
# https://www.sqlite.org/wal.html#the_wal_reset_bug
|
|
libsqlite3-sys = { version = "0.37", default-features = false }
|
|
log = "0.4"
|
|
lru = "0.18.2"
|
|
maplit = "1.0.2"
|
|
memchr = "2.7.6"
|
|
mime_guess = "2.0.5"
|
|
multimap = "0.10.0"
|
|
notify = "8.2.0"
|
|
nucleo = { git = "https://github.com/helix-editor/nucleo.git", rev = "4253de9faabb4e5c6d81d946a5e35a90f87347ee" }
|
|
once_cell = "1.20.2"
|
|
openssl-sys = "*"
|
|
opentelemetry = "0.31.0"
|
|
opentelemetry-appender-tracing = "0.31.0"
|
|
opentelemetry-otlp = "0.31.0"
|
|
opentelemetry-semantic-conventions = "0.31.0"
|
|
opentelemetry_sdk = "0.31.0"
|
|
os_info = "3.12.0"
|
|
owo-colors = "4.3.0"
|
|
pathdiff = "0.2"
|
|
portable-pty = "0.9.0"
|
|
predicates = "3"
|
|
pretty_assertions = "1.4.1"
|
|
pulldown-cmark = { version = "0.10", default-features = false }
|
|
quick-xml = "0.41.0"
|
|
rand = "0.9"
|
|
ratatui = { version = "0.30.2", default-features = false, features = [
|
|
"crossterm",
|
|
"layout-cache",
|
|
"underline-color",
|
|
] }
|
|
ratatui-macros = "0.7.2"
|
|
rcgen = { version = "0.14.7", default-features = false, features = [
|
|
"aws_lc_rs",
|
|
"pem",
|
|
] }
|
|
regex = "1.12.3"
|
|
regex-lite = "0.1.8"
|
|
reqwest = { version = "0.12", features = ["cookies"] }
|
|
rmcp = { version = "=3.2.0", default-features = false }
|
|
runfiles = { git = "https://github.com/dzbarsky/rules_rust", rev = "b56cbaa8465e74127f1ea216f813cd377295ad81" }
|
|
rustix = { version = "1.1.4", features = ["net"] }
|
|
rustls = { version = "0.23", default-features = false, features = [
|
|
"aws_lc_rs",
|
|
"std",
|
|
] }
|
|
rustls-native-certs = "0.8.3"
|
|
rustls-pki-types = "1.14.0"
|
|
schemars = "0.8.22"
|
|
seccompiler = "0.5.0"
|
|
semver = "1.0"
|
|
sentry = "0.46.0"
|
|
serde = { version = "1", features = ["rc"] }
|
|
serde_ignored = "0.1.14"
|
|
serde_json = "1"
|
|
serde_path_to_error = "0.1.20"
|
|
serde_with = "3.17"
|
|
serde_yaml = "0.9"
|
|
serial_test = "3.2.0"
|
|
sha1 = "0.10.6"
|
|
scopeguard = "1.2.0"
|
|
sha2 = "0.10"
|
|
shlex = "1.3.0"
|
|
similar = "2.7.0"
|
|
symphonia = { version = "0.6.0", default-features = false, features = [
|
|
"isomp4",
|
|
"mkv",
|
|
"mp3",
|
|
"ogg",
|
|
"wav",
|
|
] }
|
|
socket2 = "0.6.1"
|
|
# When bumping sqlx, audit the SQLite constructor deny list in clippy.toml.
|
|
sqlx = { version = "0.9.0", default-features = false, features = [
|
|
"chrono",
|
|
"json",
|
|
"macros",
|
|
"migrate",
|
|
"runtime-tokio",
|
|
"tls-rustls",
|
|
"sqlite-bundled",
|
|
"time",
|
|
"uuid",
|
|
] }
|
|
starlark = { version = "0.14.2", default-features = false }
|
|
strum = "0.27.2"
|
|
strum_macros = "0.28.0"
|
|
supports-color = "3.0.2"
|
|
syntect = "5"
|
|
sys-locale = "0.3.2"
|
|
system-configuration = "0.7"
|
|
tar = { version = "=0.4.45", default-features = false }
|
|
tempfile = "3.23.0"
|
|
test-log = "0.2.19"
|
|
textwrap = "0.16.2"
|
|
thiserror = "2.0.17"
|
|
tikv-jemallocator = "=0.7.0"
|
|
time = "0.3.47"
|
|
tiny_http = "0.12"
|
|
tokio = "1"
|
|
tokio-rustls = "0.26.4"
|
|
tokio-stream = "0.1.18"
|
|
tokio-test = "0.4"
|
|
tokio-tungstenite = { version = "0.28.0", features = [
|
|
"proxy",
|
|
"rustls-tls-native-roots",
|
|
] }
|
|
tokio-util = "0.7.18"
|
|
toml = "0.9.5"
|
|
toml_edit = "0.24.0"
|
|
tracing = "0.1.44"
|
|
tracing-appender = "0.2.3"
|
|
tracing-opentelemetry = "0.32.0"
|
|
tracing-subscriber = "0.3.22"
|
|
tracing-test = "0.2.5"
|
|
tonic = { version = "0.14.3", default-features = false, features = ["channel", "codegen"] }
|
|
tonic-prost = "0.14.3"
|
|
tree-sitter = "0.25.10"
|
|
tree-sitter-bash = "0.25"
|
|
tree-sitter-powershell = "=0.26.4"
|
|
ts-rs = "11"
|
|
tungstenite = { version = "0.27.0", features = ["deflate", "proxy"] }
|
|
uds_windows = "1.1.0"
|
|
unicode-segmentation = "1.12.0"
|
|
unicode-width = "0.2"
|
|
url = "2"
|
|
urlencoding = "2.1"
|
|
uuid = "1"
|
|
v8 = "=150.4.0"
|
|
vt100 = "0.16.2"
|
|
walkdir = "2.5.0"
|
|
webbrowser = "1.2.2"
|
|
which = "8"
|
|
whoami = "1.6.1"
|
|
wildmatch = "2.6.1"
|
|
winapi-util = "0.1.11"
|
|
zip = "2.4.2"
|
|
zstd = "0.13"
|
|
|
|
wiremock = "0.6"
|
|
zeroize = "1.8.2"
|
|
|
|
[workspace.lints]
|
|
rust = {}
|
|
|
|
[workspace.lints.clippy]
|
|
await_holding_invalid_type = "deny"
|
|
await_holding_lock = "deny"
|
|
disallowed_methods = "deny"
|
|
expect_used = "deny"
|
|
identity_op = "deny"
|
|
manual_clamp = "deny"
|
|
manual_filter = "deny"
|
|
manual_find = "deny"
|
|
manual_flatten = "deny"
|
|
manual_map = "deny"
|
|
manual_memcpy = "deny"
|
|
manual_non_exhaustive = "deny"
|
|
manual_ok_or = "deny"
|
|
manual_range_contains = "deny"
|
|
manual_retain = "deny"
|
|
manual_strip = "deny"
|
|
manual_try_fold = "deny"
|
|
manual_unwrap_or = "deny"
|
|
needless_borrow = "deny"
|
|
needless_borrowed_reference = "deny"
|
|
needless_collect = "deny"
|
|
needless_late_init = "deny"
|
|
needless_option_as_deref = "deny"
|
|
needless_question_mark = "deny"
|
|
needless_update = "deny"
|
|
redundant_clone = "deny"
|
|
redundant_closure = "deny"
|
|
redundant_closure_for_method_calls = "deny"
|
|
redundant_static_lifetimes = "deny"
|
|
trivially_copy_pass_by_ref = "deny"
|
|
uninlined_format_args = "deny"
|
|
unnecessary_filter_map = "deny"
|
|
unnecessary_lazy_evaluations = "deny"
|
|
unnecessary_sort_by = "deny"
|
|
unnecessary_to_owned = "deny"
|
|
unwrap_used = "deny"
|
|
|
|
# cargo-shear cannot see the platform-specific openssl-sys usage, so we
|
|
# silence the false positive here instead of deleting a real dependency.
|
|
[workspace.metadata.cargo-shear]
|
|
ignored = [
|
|
"icu_provider",
|
|
"openssl-sys",
|
|
"codex-v8-poc",
|
|
]
|
|
|
|
[profile.dev]
|
|
# Keep line tables/backtraces while avoiding expensive full variable debug info
|
|
# across local dev builds.
|
|
debug = "limited"
|
|
|
|
[profile.dev-small]
|
|
inherits = "dev"
|
|
opt-level = 0
|
|
debug = "none"
|
|
strip = "symbols"
|
|
|
|
[profile.release]
|
|
lto = "thin"
|
|
debug = "line-tables-only"
|
|
split-debuginfo = "off"
|
|
# Keep release binaries symbolicateable until packaging has archived the
|
|
# sidecar symbols and stripped the binaries.
|
|
strip = false
|
|
|
|
# Balance parallel release code generation against binary size.
|
|
codegen-units = 4
|
|
|
|
[profile.profiling]
|
|
inherits = "release"
|
|
debug = "full"
|
|
lto = false
|
|
strip = false
|
|
|
|
[profile.ci-test]
|
|
# Reduce binary size to reduce disk pressure.
|
|
debug = "limited"
|
|
inherits = "test"
|
|
opt-level = 0
|
|
|
|
[patch.crates-io]
|
|
# Uncomment to debug local changes.
|
|
# ratatui = { path = "upstream/codex/codex-rs/../../ratatui" }
|
|
crossterm = { git = "https://github.com/openai-oss-forks/crossterm", rev = "45fecb9508105988f42fe6ff0441783ed3717f92" }
|
|
tokio-tungstenite = { git = "https://github.com/openai-oss-forks/tokio-tungstenite", rev = "0e5b2d73aa18dd9f0a50ee9ff199d5aef7594186" }
|
|
tungstenite = { git = "https://github.com/openai-oss-forks/tungstenite-rs", rev = "4fffad30fe373adbdcffab9545e9e9bf4f2fc19f" }
|
|
|
|
# Uncomment to debug local changes.
|
|
# rmcp = { path = "upstream/codex/codex-rs/../../rust-sdk/crates/rmcp" }
|
|
|
|
[patch."ssh://[email protected]/openai-oss-forks/tungstenite-rs.git"]
|
|
tungstenite = { git = "https://github.com/openai-oss-forks/tungstenite-rs", rev = "4fffad30fe373adbdcffab9545e9e9bf4f2fc19f" }
|