Files
cursor-api/Cargo.toml
wisdgod 65a390d4f2 0.4.0-pre.14
This is a special version (since the repository hasn't been updated for a while). It includes partial updates from 0.3 to 0.4, along with several fixes for 0.4.0-pre.13.

这是一个特殊版本(因为一段时间没有更新存储库),它包含0.3至0.4的部分更新以及对0.4.0-pre.13的几处修复。
2025-12-23 11:18:28 +08:00

244 lines
6.6 KiB
TOML

[workspace]
resolver = "2"
members = [
".",
"crates/manually_init",
"crates/rep_move",
"crates/grpc-stream",
"crates/interned",
]
default-members = ["."]
[workspace.package]
version = "0.4.0-pre.14"
edition = "2024"
authors = ["wisdgod <nav@wisdgod.com>"]
description = "A format compatibility layer for the Cursor API"
license = "MIT OR Apache-2.0"
repository = "https://github.com/wisdgod/cursor-api"
[workspace.dependencies]
manually_init = { path = "crates/manually_init", features = ["sync"] }
rep_move = { path = "crates/rep_move" }
grpc-stream = { path = "crates/grpc-stream" }
interned = { path = "crates/interned" }
# ===== 开发配置(编译速度优先)=====
[profile.dev]
opt-level = 0
debug = "line-tables-only"
split-debuginfo = "unpacked"
incremental = true
codegen-units = 256
rustflags = ["-Clink-arg=-fuse-ld=mold"]
# ===== 快速测试构建(平衡配置)=====
[profile.fast]
inherits = "dev"
opt-level = 1
# ===== 性能测试配置(接近 release 但编译更快)=====
[profile.bench]
inherits = "release"
lto = "thin"
codegen-units = 16
# rustflags = [
# "-Ctarget-cpu=native",
# ]
# ===== 发布配置(性能最大化)=====
[profile.release]
opt-level = 3
lto = "fat"
codegen-units = 1
panic = "abort"
strip = true
debug = false
overflow-checks = false
incremental = false
trim-paths = "all"
# rustflags = [
# "-Clink-arg=-s",
# # "-Clink-arg=-fuse-ld=lld",
# # "-Ctarget-cpu=native",
# ]
[patch.crates-io]
h2 = { path = "patch/h2-0.4.10" }
reqwest = { path = "patch/reqwest-0.12.18" }
rustls = { path = "patch/rustls-0.23.28" }
chrono = { path = "patch/chrono-0.4.42" }
ulid = { path = "patch/ulid-1.2.1" }
dotenvy = { path = "patch/dotenvy-0.15.7" }
# bs58 = { path = "patch/bs58-0.5.1" }
# base62 = { path = "patch/base62-2.2.1" }
prost = { path = "patch/prost-0.14.1" }
prost-derive = { path = "patch/prost-derive" }
prost-types = { path = "patch/prost-types" }
rkyv = { path = "patch/rkyv-0.8.12" }
# ===========================================
[package]
name = "cursor-api"
version.workspace = true
edition.workspace = true
authors.workspace = true
description.workspace = true
license.workspace = true
repository.workspace = true
[[bin]]
name = "cursor-api"
path = "src/main.rs"
# [[bin]]
# name = "rkyv-adapter"
# path = "tools/rkyv_adapter/src/main.rs"
[build-dependencies]
chrono = { version = "0.4", default-features = false, features = ["alloc"] }
prost-build = { version = "0.14", optional = true }
sha2 = { version = "0", default-features = false }
serde_json = "1"
[dependencies]
# owned
manually_init.workspace = true
rep_move.workspace = true
grpc-stream.workspace = true
interned.workspace = true
ahash = { version = "0.8", default-features = false, features = [
"compile-time-rng",
"serde",
] }
arc-swap = "1"
axum = { version = "0.8", default-features = false, features = [
"http1",
"http2",
"json",
"tokio",
"query",
"macros",
] }
# base62 = "2.2.1"
base64 = { version = "0.22", default-features = false, features = ["std"] }
# bs58 = { version = "0.5.1", default-features = false, features = ["std"] }
# brotli = { version = "7.0", default-features = false, features = ["std"] }
bytes = "1"
chrono = { version = "0.4", default-features = false, features = [
"alloc",
"serde",
"rkyv-64",
] }
chrono-tz = { version = "0.10", features = ["serde"] }
dotenvy = "0.15"
flate2 = { version = "1", default-features = false, features = [
"rust_backend",
] }
futures = { version = "0.3", default-features = false, features = ["std"] }
gif = { version = "0.14", default-features = false, features = ["std"] }
hashbrown = { version = "0.16", default-features = false, features = [
"serde",
"raw-entry",
"inline-more",
] }
hex = { version = "0.4", default-features = false, features = ["std"] }
http = "1"
http-body-util = "0.1"
image = { version = "0.25", default-features = false, features = [
"jpeg",
"png",
"gif",
"webp",
] }
# lasso = { version = "0.7", features = ["multi-threaded", "ahasher"] }
memmap2 = "0.9"
minicbor = { version = "2", features = ["derive", "alloc"] }
# openssl = { version = "0.10", features = ["vendored"] }
parking_lot = { version = "0.12", features = [
"arc_lock",
"hardware-lock-elision",
] }
paste = "1"
phf = { version = "0.13", features = ["macros"] }
# pin-project-lite = "0.2"
# pin-project = "1"
prost = { version = "0.14", features = ["indexmap"] }
# prost-types = "0.14"
rand = { version = "0.9", default-features = false, features = ["thread_rng"] }
reqwest = { version = "0.12", default-features = false, features = [
"gzip",
"brotli",
"json",
"stream",
"socks",
"charset",
"http2",
"system-proxy",
] }
rkyv = { version = "0.8", default-features = false, features = [
"std",
"pointer_width_64",
"hashbrown-0_16",
"uuid-1",
] }
# rustls = { version = "0.23.26", default-features = false, features = ["std", "tls12"] }
serde = { version = "1", default-features = false, features = [
"std",
"derive",
"rc",
] }
# serde_json = { package = "sonic-rs", version = "0" }
serde_json = { version = "1", features = ["preserve_order"] }
sha2 = { version = "0", default-features = false }
sysinfo = { version = "0.37", default-features = false, features = ["system"] }
tokio = { version = "1", features = [
"rt-multi-thread",
"macros",
"net",
"sync",
"time",
"fs",
"signal",
] }
tokio-util = { version = "0.7", features = ["io"] }
# tokio-tungstenite = { version = "0.26.2", features = ["rustls-tls-webpki-roots"] }
# tokio-stream = { version = "0.1", features = ["time"] }
tower-http = { version = "0.6", features = ["cors", "limit"] }
tracing = { version = "*", default-features = false, features = [
"max_level_off",
"release_max_level_off",
] }
ulid = { version = "1.2", default-features = false, features = ["std", "rkyv"] }
# tracing-subscriber = "0.3"
url = { version = "2.5", default-features = false, features = ["serde"] }
uuid = { version = "1.14", default-features = false, features = [
"v4",
"fast-rng",
"serde",
] }
zip = { version = "7", default-features = false, features = [
"deflate",
"bzip2",
"zstd",
"deflate64",
"lzma",
"xz",
] }
indexmap = { version = "2", default-features = false, features = ["serde"] }
itoa = "1.0"
[features]
default = ["webpki-roots", "horizon"]
webpki-roots = ["reqwest/rustls-tls-webpki-roots"]
native-roots = ["reqwest/rustls-tls-native-roots"]
use-minified = []
__preview = []
__preview_locked = ["__preview"]
__protoc = ["prost-build"]
__compat = []
horizon = ["nightly"]
nightly = ["hashbrown/nightly", "parking_lot/nightly"]