添加qiming-rcoder模块
This commit is contained in:
229
qiming-rcoder/Cargo.toml
Normal file
229
qiming-rcoder/Cargo.toml
Normal file
@@ -0,0 +1,229 @@
|
||||
[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"
|
||||
Reference in New Issue
Block a user