Files
qiming/qiming-rcoder/Cargo.toml
2026-06-01 13:54:52 +08:00

230 lines
5.2 KiB
TOML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
[workspace]
members = ["crates/*"]
exclude = ["tmp/*", "crates/ai-agents", "crates/codex-acp-agent"]
resolver = "2"
default-members = [
"crates/rcoder",
"crates/agent_runner",
"crates/shared_types",
"crates/docker_manager",
"crates/rcoder-proxy",
"crates/duckdb_manager",
"crates/container-runtime-api",
]
[workspace.lints]
rustdoc.unbroken_backticks = "warn"
rustdoc.redundant_explicit_links = "warn"
rust.unused_lifetimes = "warn"
rust.unused_qualifications = "warn"
rust.variant_size_differences = "warn"
rust.allow_leading_underscore = "warn"
[workspace.package]
version = "0.1.0"
edition = "2024"
authors = ["soddy <soddygo@qq.com>"]
license = "MIT OR Apache-2.0"
description = "Rust-based AI agent framework"
publish = false
[workspace.dependencies]
# ACP Protocol - 官方 SDK完全 Send-safe无需 LocalSet
agent-client-protocol = { version = "0.11.1", features = ["unstable_session_usage"] }
# MCP 协议 - rmcp 官方库 (升级到 0.12 以兼容 SACP)
rmcp = { version = "0.12.0", features = ["server", "client", "transport-io", "transport-child-process", "schemars"] }
piper = "0.2"
clap = { version = "4.6", features = ["derive", "env"] }
# Async runtime
tokio = { version = "1.52", features = ["full"] }
tokio-util = { version = "0.7", features = ["compat"] }
async-trait = "0.1"
smol = "2.0"
# HTTP server
axum = { version = "0.8", features = [
"http2",
"query",
"tracing",
"ws",
"multipart",
"macros",
] }
tower = "0.5"
tower-http = { version = "0.6", features = ["cors", "trace"] }
tonic = { version = "0.14.5", features = ["tls-native-roots"] }
http = "1.0"
http-body = "1.0"
http-body-util = "0.1"
# Database
sqlx = { version = "0.8", features = [
"runtime-tokio-rustls",
"sqlite",
"chrono",
"uuid",
] }
duckdb = { version = "1.4", features = ["bundled"] }
# Serialization
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0.148"
serde_json_lenient = "0.2"
schemars = { version = "1.2", features = ["derive"] }
config = "0.15"
# Error handling
anyhow = "1.0"
thiserror = "2.0"
# Logging
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
log = "0.4"
env_logger = "0.11"
# OpenTelemetry (统一使用 0.30 以兼容 tracing-opentelemetry)
opentelemetry = "0.31"
opentelemetry_sdk = { version = "0.31", features = ["rt-tokio"] }
opentelemetry-otlp = { version = "0.31", features = [
"grpc-tonic",
"http-proto",
] }
tracing-opentelemetry = "0.32"
axum-tracing-opentelemetry = "0.33"
# Prometheus Metrics
metrics = "0.24"
metrics-exporter-prometheus = "0.18"
# UUID
uuid = { version = "1.0", features = ["serde", "v4", "v7"] }
# Date/time
chrono = { version = "0.4", features = ["serde"] }
# File system watching
notify = "8.2"
# File system utilities
tokio-fs = "0.1"
path-clean = "1.0"
# Utilities
dashmap = "6.0"
futures = "0.3"
futures-util = "0.3"
itertools = "0.14"
bytes = "1.11"
arrayvec = "0.7"
# collections = "0.2" # 这个包不存在
url = { version = "2.5", features = ["serde"] }
# TLS/Crypto
rustls = { version = "0.23", features = ["ring"] }
# Additional utilities
indoc = "2.0"
parking_lot = "0.12"
convert_case = "0.11"
handlebars = { version = "6.3", features = ["rust-embed"] }
rust-embed = "8.0"
zstd = "0.13"
# 构建工具
derive_builder = "0.20"
# Zed 核心功能依赖
libc = "0.2"
nix = { version = "0.31.2", features = ["fs", "process", "term", "signal"] }
unindent = "0.2" # 使用 crates.io 版本
open = "5.0" # 使用 crates.io 版本
git2 = "0.20.4"
tree-sitter-rust = "0.24" # 使用 crates.io 版本
# Additional dependencies for nuwax_parser
sha2 = "0.11"
hex = "0.4"
walkdir = "2.5"
reqwest = { version = "0.13", features = ["json", "stream"] }
# 项目依赖 - 保留核心功能
aho-corasick = "1.0"
# askpass = "0.1" # 这个包不存在
base64 = "0.22"
circular-buffer = "1.2"
fancy-regex = "0.18"
fuzzy = "0.0.1"
globset = "0.4"
image = "0.25"
indexmap = "2.14"
pathdiff = "0.2"
postage = "0.5"
regex = "1.0"
semver = "1.0"
shellexpand = "3.1"
shlex = "1.0"
smallvec = "1.15"
toml = "0.9"
which = "8.0"
# Dev dependencies for testing
ctor = "0.13"
pretty_assertions = "1.4"
tempfile = "3.24"
rand = "0.10"
tokio-test = "0.4"
expect-test = "1.5"
# File system utilities
dirs = "6.0"
# Archive utilities
flate2 = "1.0"
tar = "0.4"
zip = "8.6"
utoipa = { version = "5.4", features = ["axum_extras", "uuid", "chrono"] }
utoipa-swagger-ui = { version = "9.0", features = ["axum"] }
ringbuf = "0.5"
diffy = { version = "0.5" }
pingora = { version = "0.8", features = ["lb", "rustls"] }
pingora-core = { version = "0.8", features = ["rustls"] }
pingora-http = "0.8"
pingora-proxy = { version = "0.8", features = ["rustls"] }
pingora-load-balancing = { version = "0.8", features = ["rustls"] }
matchit = "0.9.2"
structopt = "0.3"
bollard = { version = "0.21" }
# Cache library
moka = { version = "0.12", features = ["future", "sync"] }
# i18n (国际化)
rust-i18n = "4"
# Internal crates
rcoder-telemetry = { path = "crates/rcoder-telemetry" }
# Pyroscope Continuous Profiling
pyroscope = "0.5"
pyroscope_pprofrs = "0.2"