85 lines
2.0 KiB
TOML
85 lines
2.0 KiB
TOML
[package]
|
||
name = "agent_abstraction"
|
||
version = "0.1.0"
|
||
edition = "2024"
|
||
authors = ["Your Name <your.email@example.com>"]
|
||
license = "MIT OR Apache-2.0"
|
||
description = "Agent abstraction layer for RCoder"
|
||
publish = false
|
||
|
||
[features]
|
||
default = []
|
||
# Pingora 代理模式:API Key 和 Base URL 使用占位符,由 Pingora 代理注入真实值
|
||
# Windows 不支持 Pingora,禁用此 feature 时直接使用真实的 API Key 和 Base URL
|
||
proxy = []
|
||
|
||
[dependencies]
|
||
# 依赖其他 crate
|
||
agent_config = { path = "../agent_config" }
|
||
shared_types = { path = "../shared_types" }
|
||
|
||
# 异步运行时
|
||
tokio = { workspace = true }
|
||
|
||
# 异步 trait
|
||
async-trait = { workspace = true }
|
||
|
||
# 错误处理
|
||
thiserror = { workspace = true }
|
||
anyhow = { workspace = true }
|
||
|
||
# 并发集合
|
||
dashmap = { workspace = true }
|
||
|
||
# 缓存
|
||
moka = { workspace = true }
|
||
|
||
# 目录操作
|
||
dirs = { workspace = true }
|
||
|
||
# 文件系统监听
|
||
notify = { workspace = true }
|
||
|
||
# 日期时间
|
||
chrono = { workspace = true, features = ["serde"] }
|
||
|
||
# UUID 生成
|
||
uuid = { workspace = true, features = ["v4"] }
|
||
|
||
# 序列化
|
||
serde_json = { workspace = true }
|
||
|
||
# 日志
|
||
tracing = { workspace = true }
|
||
|
||
# 兼容性
|
||
tokio-util = { workspace = true }
|
||
|
||
# ACP 协议 - 官方 SDK(完全 Send-safe,无需 LocalSet)
|
||
agent-client-protocol = { workspace = true }
|
||
|
||
# 跨平台命令查找
|
||
which = { workspace = true }
|
||
|
||
# MCP 协议 - rmcp 官方库: https://github.com/modelcontextprotocol/rust-sdk
|
||
rmcp = { workspace = true }
|
||
|
||
# 序列化
|
||
serde = { workspace = true }
|
||
|
||
# 进程组管理(用于清理整个进程树)
|
||
# Unix: process-group (setpgid), Windows: job-object
|
||
# process-wrap 内部通过 #[cfg] 控制各平台类型的可用性
|
||
process-wrap = { version = "9.0", features = ["tokio1", "process-group", "job-object"] }
|
||
|
||
[target.'cfg(unix)'.dependencies]
|
||
# Unix 信号处理
|
||
nix = { workspace = true, features = ["signal"] }
|
||
|
||
[target.'cfg(windows)'.dependencies]
|
||
# process-wrap CreationFlags 需要 PROCESS_CREATION_FLAGS 类型
|
||
windows = { version = "0.62", features = ["Win32_System_Threading"] }
|
||
|
||
[dev-dependencies]
|
||
tempfile = "3.8"
|