添加qiming-rcoder模块
This commit is contained in:
122
qiming-rcoder/crates/agent_runner/Cargo.toml
Normal file
122
qiming-rcoder/crates/agent_runner/Cargo.toml
Normal file
@@ -0,0 +1,122 @@
|
||||
[package]
|
||||
name = "agent_runner"
|
||||
version.workspace = true
|
||||
edition.workspace = true
|
||||
authors.workspace = true
|
||||
license.workspace = true
|
||||
|
||||
[lib]
|
||||
name = "agent_runner"
|
||||
path = "src/lib.rs"
|
||||
|
||||
[features]
|
||||
default = ["http-server", "grpc-server"]
|
||||
|
||||
# HTTP 服务器功能:启用 HTTP REST API 和 SSE 进度流
|
||||
# 注意:启用 http-server 时会同时启动 gRPC(除非明确禁用)
|
||||
http-server = []
|
||||
|
||||
# gRPC 服务功能:启用 gRPC 服务
|
||||
# 在 http-server 模式下:
|
||||
# - 启用 grpc-server:同时运行 HTTP + gRPC
|
||||
# - 禁用 grpc-server:仅运行 HTTP(无 gRPC)
|
||||
grpc-server = []
|
||||
|
||||
# Pingora 代理模式:API Key 和 Base URL 使用占位符,由 Pingora 代理注入真实值
|
||||
# Windows 不支持 Pingora,禁用此 feature 时直接使用真实的 API Key 和 Base URL
|
||||
proxy = ["agent_abstraction/proxy", "dep:rcoder-proxy"]
|
||||
|
||||
# 测试相关 features
|
||||
testing = ["test-blocking"]
|
||||
test-blocking = [] # 启用测试用阻塞注入 (用于极端场景测试)
|
||||
|
||||
# OpenTelemetry 追踪 feature
|
||||
otel = [] # 启用 OpenTelemetry 追踪功能
|
||||
|
||||
# Pyroscope 连续性能分析
|
||||
pyroscope = ["dep:pyroscope", "dep:pyroscope_pprofrs"]
|
||||
|
||||
[dependencies]
|
||||
# Internal crates
|
||||
shared_types = { path = "../shared_types" }
|
||||
agent_config = { path = "../agent_config" }
|
||||
agent_abstraction = { path = "../agent_abstraction" }
|
||||
rcoder-proxy = { path = "../rcoder-proxy", optional = true }
|
||||
rcoder-telemetry = { workspace = true }
|
||||
|
||||
clap = { workspace = true }
|
||||
# ACP Protocol - 官方 SDK(完全 Send-safe,无需 LocalSet)
|
||||
agent-client-protocol = { workspace = true }
|
||||
async-trait = "0.1"
|
||||
parking_lot = "0.12"
|
||||
tempfile = { workspace = true }
|
||||
|
||||
# HTTP server
|
||||
axum = { workspace = true, features = ["multipart"] }
|
||||
tower = { workspace = true }
|
||||
tower-http = { workspace = true, features = ["cors", "trace", "limit"] }
|
||||
futures = { workspace = true }
|
||||
tokio-stream = "0.1"
|
||||
async-stream = "0.3"
|
||||
|
||||
# gRPC Server
|
||||
tonic = { workspace = true }
|
||||
|
||||
# Serialization
|
||||
serde = { workspace = true, features = ["derive"] }
|
||||
serde_json = { workspace = true }
|
||||
serde_yaml = "0.9"
|
||||
|
||||
derive_builder = { workspace = true }
|
||||
|
||||
# Workspace dependencies
|
||||
tokio = { workspace = true, features = ["full"] }
|
||||
tokio-util = { workspace = true }
|
||||
anyhow = { workspace = true }
|
||||
thiserror = { workspace = true }
|
||||
tracing = { workspace = true }
|
||||
tracing-subscriber = { workspace = true, features = [
|
||||
"fmt",
|
||||
"env-filter",
|
||||
"json",
|
||||
] }
|
||||
tracing-appender = "0.2"
|
||||
uuid = { workspace = true, features = ["v4", "serde"] }
|
||||
chrono = { workspace = true, features = ["serde"] }
|
||||
dashmap = { workspace = true }
|
||||
bytes = "1.0"
|
||||
futures-util = { workspace = true }
|
||||
piper = "0.2"
|
||||
base64 = { workspace = true }
|
||||
reqwest = { workspace = true }
|
||||
rustls = { workspace = true }
|
||||
|
||||
# OpenTelemetry
|
||||
opentelemetry = { workspace = true }
|
||||
opentelemetry_sdk = { workspace = true }
|
||||
tracing-opentelemetry = { workspace = true }
|
||||
axum-tracing-opentelemetry = { workspace = true }
|
||||
|
||||
# File system
|
||||
tokio-fs = { workspace = true }
|
||||
path-clean = { workspace = true }
|
||||
|
||||
# OpenAPI documentation
|
||||
utoipa = { workspace = true }
|
||||
utoipa-swagger-ui = { workspace = true }
|
||||
|
||||
# Validation
|
||||
garde = { version = "0.22.1", features = ["derive"] }
|
||||
|
||||
ringbuf = { workspace = true }
|
||||
|
||||
# Atomic swap for sender replacement
|
||||
arc-swap = "1.8"
|
||||
|
||||
# Pyroscope Continuous Profiling
|
||||
pyroscope = { workspace = true, optional = true }
|
||||
pyroscope_pprofrs = { workspace = true, optional = true }
|
||||
|
||||
# Unix 信号处理(用于僵尸进程回收,仅 Unix 平台)
|
||||
[target.'cfg(unix)'.dependencies]
|
||||
nix = { workspace = true, features = ["signal", "process"] }
|
||||
Reference in New Issue
Block a user