Files
warp/Cargo.toml
Zach Lloyd 4be9ec100d Update mermaid_to_svg dependency (#10199)
## Description
Updates the workspace `mermaid_to_svg` git dependency to the latest
upstream commit.

- Old rev: `f7233f69965c59760fad98d684c786569814d821`
- New rev: `4761588218f747c07d72fd324efcd2032d873aaf`

This also refreshes the corresponding `Cargo.lock` entries for
`mermaid_to_svg` and its in-repo `dagre_rust` dependency.

## Linked Issue
N/A

## Screenshots / Videos
N/A — dependency bump only.

## Testing
- `cargo fmt`
- `cargo clippy --workspace --all-targets --all-features --tests -- -D
warnings`

Note: clippy completed successfully. During the run,
`command-signatures-v2` logged a non-fatal build-script warning that it
proceeded with stale generated command signatures JS.

## Agent Mode
- [x] Warp Agent Mode - This PR was created via Warp's AI Agent Mode

Agent artifacts:
- Conversation:
https://staging.warp.dev/conversation/7967da60-8ae2-4747-9db4-3bb49f727a32

Co-Authored-By: Oz <oz-agent@warp.dev>

Co-authored-by: Oz <oz-agent@warp.dev>
2026-05-05 16:45:48 -07:00

518 lines
18 KiB
TOML

[workspace]
members = [
"crates/*",
"app",
]
resolver = "2"
# Include all members except serve-wasm (since it's a helper helper for serving
# wasm binaries and not something we want to regularly compile or run
# tests against) and integration (since it is only used for testing).
default-members = [
"app",
"crates/channel_versions",
"crates/command",
"crates/editor",
"crates/graphql",
"crates/markdown_parser",
"crates/sum_tree",
"crates/warpui",
"crates/warp_completer",
"crates/warp_terminal",
"crates/warp_util",
]
[workspace.package]
authors = ["Warp Team <dev@warp.dev>"]
license = "AGPL-3.0-only"
publish = false
[workspace.dependencies]
# Local workspace crates. This lets us reference them in other crates without specifying a path.
ai = { path = "crates/ai" }
app-installation-detection = { path = "crates/app-installation-detection" }
asset_cache = { path = "crates/asset_cache" }
asset_macro = { path = "crates/asset_macro" }
channel_versions = { path = "crates/channel_versions", default-features = false }
command = { path = "crates/command" }
command-signatures-v2 = { path = "crates/command-signatures-v2" }
computer_use = { path = "crates/computer_use" }
field_mask = { path = "crates/field_mask" }
firebase = { path = "crates/firebase" }
fuzzy_match = { path = "crates/fuzzy_match" }
handlebars = { path = "crates/handlebars" }
http_client = { path = "crates/http_client" }
http_server = { path = "crates/http_server" }
input_classifier = { path = "crates/input_classifier" }
integration = { path = "crates/integration" }
ipc = { path = "crates/ipc" }
jsonrpc = { path = "crates/jsonrpc" }
languages = { path = "crates/languages" }
lsp = { path = "crates/lsp" }
markdown_parser = { path = "crates/markdown_parser" }
natural_language_detection = { path = "crates/natural_language_detection" }
node_runtime = { path = "crates/node_runtime" }
onboarding = { path = "crates/onboarding" }
persistence = { path = "crates/persistence" }
prevent_sleep = { path = "crates/prevent_sleep" }
repo_metadata = { path = "crates/repo_metadata" }
settings = { path = "crates/settings" }
settings_value = { path = "crates/settings_value", default-features = false }
settings_value_derive = { path = "crates/settings_value_derive" }
simple_logger = { path = "crates/simple_logger" }
string-offset = { path = "crates/string-offset" }
sum_tree = { path = "crates/sum_tree" }
syntax_tree = { path = "crates/syntax_tree" }
ui_components = { path = "crates/ui_components" }
vim = { path = "crates/vim" }
virtual-fs = { path = "crates/virtual_fs" }
voice_input = { path = "crates/voice_input" }
warp = { path = "app" }
warp_cli = { path = "crates/warp_cli" }
warp_completer = { path = "crates/warp_completer" }
warp_core = { path = "crates/warp_core" }
warp_editor = { path = "crates/editor" }
warp_features = { path = "crates/warp_features" }
remote_server = { path = "crates/remote_server" }
warp_files = { path = "crates/warp_files" }
warp_graphql = { path = "crates/graphql" }
warp_graphql_schema = { path = "crates/warp_graphql_schema" }
warp_isolation_platform = { path = "crates/isolation_platform" }
warp_js = { path = "crates/warp_js" }
warp_logging = { path = "crates/warp_logging" }
warp_managed_secrets = { path = "crates/managed_secrets" }
warp_ripgrep = { path = "crates/warp_ripgrep" }
warp_server_client = { path = "crates/warp_server_client" }
warp_terminal = { path = "crates/warp_terminal" }
warp_util = { path = "crates/warp_util" }
warp_web_event_bus = { path = "crates/warp_web_event_bus" }
warpui = { path = "crates/warpui" }
warpui_core = { path = "crates/warpui_core" }
warpui_extras = { path = "crates/warpui_extras", default-features = false }
watcher = { path = "crates/watcher" }
websocket = { path = "crates/websocket" }
# Workspace-level dependencies used by multiple crates. Prefer adding dependencies
# here to copying-and-pasting versions.
axum = "0.8.4"
anyhow = "1.0"
arboard = { version = "3.6.1", default-features = false }
arrayvec = "0.7.4"
async-broadcast = "0.7.2"
ashpd = { version = "0.11", default-features = false, features = ["async-std"] }
async-channel = "2.3.1"
async-compat = "0.2.5"
async-io = "2.4.0"
async-process = "2.3.0"
async-stream = "0.3.5"
async-task = "4.2.0"
async-trait = "0.1.89"
async-fs = "2.1.2"
backtrace = "0.3.76"
base64 = "0.22"
bincode = "1.3.3"
bitflags = { version = "2.4.0", features = ["serde"] }
bitflags-serde-legacy = "0.1.1"
block = "0.1.6"
blocking = "1.6.2"
bytemuck = { version = "1.13.1" }
bytes = { version = "1.11.1", features = ["serde"] }
command-corrections = { git = "https://github.com/warpdotdev/command-corrections.git", rev = "eae08c8c51d9bc9741fcb17eef2c21f696aebbeb" }
core-foundation = "0.10.1"
concat-idents = "1.1.4"
cfg_aliases = "0.2.1"
cfg-if = "1.0.0"
chrono = { version = "0.4.38", features = ["serde"] }
clap = { version = "4.5", features = ["derive"] }
cocoa = "=0.26.0"
ctrlc = "3.4.7"
crc = "3.4.0"
cynic = { version = "3" }
cynic-codegen = { version = "3", features = ["rkyv"] }
dashmap = "6.1.0"
derive_more = "0.99.17"
diesel = { version = "2.3.4", default-features = false }
directories = "6.0"
dunce = "1.0.1"
enum-iterator = "1.1.3"
env_logger = "0.10.0"
float-cmp = "0.9.0"
font-kit = { git = "https://github.com/warpdotdev/font-kit", rev = "a04b225ecb639bb850f21d05212cfdc7465000f3", default-features = false, features = [
"source",
] }
futures = { version = "0.3", features = ["executor", "thread-pool"] }
futures-lite = "1.13.0"
futures-util = { version = "0.3", default-features = false }
get-size = { version = "0.1.4", features = ["derive"] }
globset = "0.4.18"
gloo = { version = "0.11.0", default-features = false, features = [
"events",
"futures",
"utils",
] }
graphql-ws-client = { version = "0.11.1", default-features = false }
hex = "0.4.3"
# This matches the version of hyper used by reqwest.
hyper = "1.6.0"
html5ever = "0.35.0"
http = "1.1.0"
humantime = "2.1.0"
image = { version = "0.25.9", default-features = false, features = [
"rayon",
"jpeg",
"png",
"gif",
"webp",
] }
instant = { version = "0.1.12", features = ["wasm-bindgen"] }
itertools = "0.14.0"
jaq-json = { version = "2.0", features = ["serde"] }
# Disabling the default `formats` feature is intended to avoid pulling in
# CBOR/TOML/XML/YAML support, but `jaq-all` currently depends on `jaq-fmts`
# with its default features enabled, which re-enables all those parsers transitively.
# The long-term fix is https://github.com/01mf02/jaq/issues/431.
jaq-all = { version = "0.1", default-features = false }
jsonschema = { version = "0.45", default-features = false }
lasso = { version = "0.7.3", features = ["multi-threaded"] }
lazy_static = "1.4.0"
libc = "0.2.81"
line-ending = "1.4.0"
log = { version = "0.4", features = ["serde", "std"] }
mermaid_to_svg = { git = "https://github.com/warpdotdev/mermaid-to-svg.git", rev = "4761588218f747c07d72fd324efcd2032d873aaf" }
mime_guess = "2.0"
minimp4 = "0.1.2"
nix = { version = "0.26.4", default-features = false, features = ["signal"] }
notify-debouncer-full = { git = "https://github.com/warpdotdev/notify", rev = "f3afcda3058941e17e09689afea40e2a2db057e0" }
nom = "7.1.1"
num-traits = "0.2"
# We disable default features as the "rustls-tls" feature enables the reqwest
# feature of the same name, which itself enables the "rustls-tls-webpki-roots"
# feature, whereas we want to use native roots instead.
oauth2 = { version = "5.0.0", default-features = false, features = ["reqwest"] }
openh264 = "0.8"
static_assertions = "1.1.0"
url = "2.5.4"
urlocator = "0.1.4"
objc = "0.2"
objc2 = "0.6.3"
objc2-app-kit = { version = "0.3.2", default-features = false, features = ["NSScreen", "objc2-core-foundation"] }
objc2-core-foundation = "0.3.2"
objc2-core-graphics = "0.3.2"
objc2-foundation = { version = "0.3", default-features = false, features = ["std"] }
once_cell = "1.20.2"
ordered-float = { version = "3.0.0", features = ["serde"] }
parking_lot = "0.12.1"
pathfinder_color = "0.5"
pathfinder_geometry = "0.5.1"
pin-project = "1.0.10"
pprof = "0.15.0"
prost = "0.14.3"
prost-build = "0.14.3"
prost-reflect = "0.16.3"
prost-types = "0.14.3"
rand = "0.8.6"
rangemap = "1.3.0"
reqwest = { version = "0.12.28", default-features = false, features = [
"blocking",
"brotli",
"charset",
"gzip",
"http2",
"json",
"macos-system-configuration",
"rustls-tls-native-roots-no-provider",
"stream",
"system-proxy",
] }
reqwest-eventsource = "0.6.0"
resvg = "0.47.0"
rust-embed = { version = "8.7.0", features = ["include-exclude"] }
rustc-hash = "2.1.1"
rustls = "0.23.39"
schemars = { version = "1", features = ["chrono04"] }
sentry = { version = "0.41.0", default-features = false, features = [
"anyhow",
"backtrace",
"contexts",
"debug-images",
"panic",
"release-health",
"reqwest",
"rustls",
] }
sentry-log = "0.41.0"
serde = { version = "1.0", features = ["derive", "rc"] }
serde_bytes = "0.11"
serde-bytes-repr = "0.3"
serde_json = { version = "1.0", features = ["raw_value"] }
serde_urlencoded = "0.7"
serde_with = "2.0.1"
serde_yaml = "0.8"
session-sharing-protocol = { git = "https://github.com/warpdotdev/session-sharing-protocol.git", rev = "3a12b871dfd1019a66057e4d9b7d5c812b73ee8c" }
similar = { version = "2.7", features = ["inline"] }
simplelog = "0.12.2"
smallvec = "1.6.1"
smol_str = "0.2.2"
strsim = "0.11"
strum = "0.27"
strum_macros = "0.27"
tempfile = "3.8.0"
thiserror = "2.0.17"
tokio = "1.47.1"
tokio-util = { version = "0.7", features = ["io"] }
toml_edit = "0.25.5"
tower = "0.5.2"
tower-http = "0.6.6"
tracing = "0.1.40"
arborium = { version = "2", default-features = false, features = [
"lang-rust",
"lang-go",
"lang-yaml",
"lang-python",
"lang-javascript",
"lang-typescript",
"lang-tsx",
"lang-java",
"lang-cpp",
"lang-bash",
"lang-c-sharp",
"lang-html",
"lang-css",
"lang-c",
"lang-json",
"lang-hcl",
"lang-lua",
"lang-ruby",
"lang-php",
"lang-toml",
"lang-swift",
"lang-kotlin",
"lang-scala",
"lang-powershell",
"lang-elixir",
"lang-sql",
"lang-starlark",
"lang-objc",
"lang-xml",
"lang-vue",
"lang-dockerfile",
] }
unicode-width = "0.1.12"
uuid = { version = "1.1.2", features = ["v4", "serde", "js"] }
vec1 = { version = "1.8.0", features = ["serde"] }
version-compare = "0.1"
vte = { git = "https://github.com/warpdotdev/vte.git", rev = "4b399c87b63ba88f45709edaa6383fc519f6c900", default-features = false }
walkdir = "2"
warp-workflows = { git = "https://github.com/warpdotdev/workflows", rev = "793a98ddda6ef19682aed66364faebd2829f0e01" }
warp_multi_agent_api = { git = "https://github.com/warpdotdev/warp-proto-apis.git", rev = "02997b8fc6a468783642d93bf1bfa89fb7f42502" }
wasm-bindgen = "0.2.89"
wasm-bindgen-futures = "0.4.42"
web-sys = { version = "0.3.69", features = [
"Blob",
"Clipboard",
"ClipboardEvent",
"ClipboardItem",
"CompositionEvent",
"Document",
"DataTransfer",
"Event",
"HtmlCanvasElement",
"HtmlInputElement",
"InputEvent",
"Navigator",
"MediaQueryList",
"Window",
"Notification",
"NotificationPermission",
] }
# Disable default features to disable support for WebGPU, which does not yet
# have wide browser support. We enable all other default feature of wgpu,
# though.
wgpu = { version = "29.0.1", default-features = false, features = [
"dx12",
"gles",
"metal",
"parking_lot",
"std",
"vulkan",
"wgsl",
] }
zbus = "5.9.0"
memchr = "2"
memo-map = "0.3.1"
async-recursion = "1.0.0"
getset = "0.1.1"
regex = "1.11.1"
rquickjs = { version = "0.3.1" }
dirs = "6.0.0"
rayon = "1.10.0"
sha2 = "0.10"
shellexpand = "3.1.1"
warp-command-signatures = { git = "https://github.com/warpdotdev/command-signatures.git", rev = "00a032b8ea0ee5711e2077e39a92dc9ca2051cd3", default-features = false }
winit = { git = "https://github.com/warpdotdev/winit.git", rev = "7ef01853ae3fe952e6014080a88dc4352662dfb1" }
x11rb = "0.13.0"
mockito = "1.7.0"
sysinfo = { version = "0.37.0", default-features = false, features = [
"system",
"multithread",
] }
windows = { version = "0.62.2", features = [
"Win32",
"Win32_System",
"Win32_System_Kernel",
"Win32_System_Threading",
"Wdk_System",
"Wdk_System_SystemServices",
"Win32_System_Com",
"Win32_System_SecurityCenter",
"Win32_System_SystemInformation",
"Win32_System_Console",
] }
windows-core = { version = "0.62.2" }
windows-registry = { version = "0.2.0" }
windows-result = { version = "0.2.0" }
winreg = "0.55.0"
typed-path = "0.10.0"
streaming-iterator = "0.1.0"
derivative = "2.2.0"
parquet = { version = "55.0.0", features = ["arrow"] }
rmcp = { git = "https://github.com/warpdotdev/rmcp.git", rev = "c0f65dc441af7d714b9c453ac5e7ef641451abe3" }
[profile.release]
# Use line-tables-only (debug = 1) rather than full debuginfo (debug = 2 /
# `true`). Line tables are enough to symbolicate panics and Sentry stack
# traces with file/line info, but they omit the per-variable/type DWARF that
# dominates DWARF size. Dropping the type info significantly reduces rustc's
# peak memory during ThinLTO + codegen (which was OOM-killing release builds
# on CI), at the cost of not being able to inspect locals/types when
# attaching a debugger to a release binary.
debug = 1
# Force the rust compiler to create a dSYM. Starting in 1.53 the default on MacOS is "unpacked".
split-debuginfo = "packed"
[profile.dev]
# Use line-tables-only to speed up dev builds. Change to `debug = true` if you
# need full debuginfo for step-through debugging (gdb/lldb).
debug = "line-tables-only"
# loads debuginfo without needing to run dsymutil, leave the .o object files
# in the build output directory instead of deleting them, and skips the step of running dsymutil.
# Rust's backtrace support is smart enough to know how to find these .o files.
# This should work as long as you don't need to move the binary to a different
# location while retaining the debug information.
split-debuginfo = "unpacked"
[profile.dev.package]
# Minimize the runtime overhead of CPU profiling at the cost of a small
# increase in compile time for this crate.
backtrace.opt-level = 3
# Minimize the runtime overhead of CPU profiling at the cost of a small
# increase in compile time for this crate.
pprof.opt-level = 3
# Ensure jemalloc is optimized for performance.
tikv-jemallocator.opt-level = 3
tikv-jemalloc-sys.opt-level = 3
jemalloc_pprof.opt-level = 3
pprof_util.opt-level = 3
# Vastly improve runtime performance of some font and text layout logic
# at the cost of a small increase in compile time for this crate.
ttf-parser.opt-level = 3
# Improve the performance of Agent Mode diff application, particularly in tests.
strsim.opt-level = 3
# Improve performance of SSE stream parsing.
eventsource-stream.opt-level = 3
memchr.opt-level = 3
nom.opt-level = 3
# Improve performance of core runtime components slightly.
tokio.opt-level = 1
rayon-core.opt-level = 1
# Improve performance of image processing for debug builds.
fdeflate.opt-level = 3
image.opt-level = 3
png.opt-level = 3
miniz_oxide.opt-level = 3
# A profile that behaves like release but enables ThinLTO, which should produce
# binaries with better runtime performance with little build-time overhead.
[profile.release-lto]
inherits = "release"
lto = "thin"
# A shorthand profile for `release-lto`.
# Windows enforces that any path is a maximum of 255 characters and
# the length of this profile is sufficiently long that it can cause
# compiler errors. We use a shorthand to get around these issues.
[profile.rlto]
inherits = "release-lto"
# A custom release-like profile that forces debug assertions on.
[profile.release-lto-debug_assertions]
inherits = "release-lto"
debug-assertions = true
# A shorthand profile for `release-lto-debug_assertions`.
# Windows enforces that any path is a maximum of 255 characters and
# the length of this profile is sufficiently long that it can cause
# compiler errors. We use a shorthand to get around these issues.
[profile.rltoda]
inherits = "release-lto-debug_assertions"
# A profile tuned for the `oz` CLI tarball. The CLI is shipped over the network
# and run headlessly, so we trade some compile time and a small amount of
# runtime perf for a smaller binary by mirroring the size-leaning settings used
# by `release-wasm`.
[profile.release-cli]
inherits = "release-lto"
opt-level = "s"
codegen-units = 1
# A custom CLI release-like profile that forces debug assertions on, used for
# dev/local channel CLI bundles.
[profile.release-cli-debug_assertions]
inherits = "release-cli"
debug-assertions = true
[profile.release-wasm]
inherits = "release"
opt-level = "s"
lto = true
codegen-units = 1
[profile.release-wasm-debug_assertions]
inherits = "release-wasm"
debug-assertions = true
# A dev profile optimized for remote server deployment. Strips symbols to
# reduce binary size and improve rsync delta transfer efficiency.
[profile.dev-remote]
inherits = "dev"
strip = "symbols"
[profile.dev-wasm]
inherits = "dev"
opt-level = "s"
[patch.crates-io]
# Pinned to the merge commit of servo/core-foundation-rs#746, which fixes a
# double-retain bug in `CTFontCollection::get_descriptors` that leaks the
# CoreText font-descriptor NSArray on every call. The fix is not yet in any
# crates.io release; the latest published `core-text` (21.1.0) was cut from
# a commit that predates the merge.
core-foundation = { git = "https://github.com/servo/core-foundation-rs", rev = "6f844cf1a1a18e25b70fcdf1bcdc458555bd2eff" }
core-foundation-sys = { git = "https://github.com/servo/core-foundation-rs", rev = "6f844cf1a1a18e25b70fcdf1bcdc458555bd2eff" }
core-graphics = { git = "https://github.com/servo/core-foundation-rs", rev = "6f844cf1a1a18e25b70fcdf1bcdc458555bd2eff" }
core-text = { git = "https://github.com/servo/core-foundation-rs", rev = "6f844cf1a1a18e25b70fcdf1bcdc458555bd2eff" }
objc = { git = "https://github.com/warpdotdev/rust-objc.git", rev = "5b656827fa9f863ef0eb22e444a3fedac009e78a" }
pathfinder_simd = { git = "https://github.com/warpdotdev/pathfinder.git", rev = "34128a129ca6aee168fbc5060a4f21b4f7e486a9" }
yaml-rust = { git = "https://github.com/warpdotdev/yaml-rust.git", rev = "51684719d0102ca85ff4b21cec39877a0c669e19" }
tink-core = { git = "https://github.com/warpdotdev/tink-rust", branch = "warpdotdev/main" }
tink-proto = { git = "https://github.com/warpdotdev/tink-rust", branch = "warpdotdev/main" }
tink-hybrid = { git = "https://github.com/warpdotdev/tink-rust", branch = "warpdotdev/main" }
tikv-jemallocator = { git = "https://github.com/warpdotdev/jemallocator.git", rev = "2ee30bfdf7059223b54810e4ea6c666f0a379e0b" }
tikv-jemalloc-sys = { git = "https://github.com/warpdotdev/jemallocator.git", rev = "2ee30bfdf7059223b54810e4ea6c666f0a379e0b" }
[patch."https://github.com/warpdotdev/warp-proto-apis.git"]
# Uncomment for local development of warp-proto-apis
# warp_multi_agent_api = { path = "../warp-proto-apis/apis/multi_agent/v1/gen/rust" }