104 lines
3.4 KiB
TOML
104 lines
3.4 KiB
TOML
[package]
|
|
name = "dirigent_core"
|
|
version = "0.1.0"
|
|
edition = "2021"
|
|
|
|
[lib]
|
|
path = "src/lib.rs"
|
|
|
|
[[bin]]
|
|
name = "dirigent-core"
|
|
path = "src/bin/main.rs"
|
|
required-features = ["server"]
|
|
|
|
[dependencies]
|
|
# Server-only dependencies (optional)
|
|
# ACP (Agent-Client Protocol) - the main dependency for connecting to agents
|
|
# Using the rust-sdk from https://github.com/agentclientprotocol/rust-sdk
|
|
agent-client-protocol = { version = "0.6", optional = true }
|
|
# Async streams
|
|
async-stream = { version = "0.3", optional = true }
|
|
# Async trait support
|
|
async-trait = "0.1"
|
|
# Web server
|
|
axum = { version = "0.8", optional = true }
|
|
# Base64 encoding for embedded resources
|
|
base64 = { version = "0.22", optional = true }
|
|
# BLAKE3 hashing for stable URIs
|
|
blake3 = { version = "1.5", optional = true }
|
|
chrono = { version = "0.4", features = ["serde"] }
|
|
dirigent_acp_api = { path = "../dirigent_acp_api", optional = true }
|
|
# Workspace dependencies
|
|
dirigent_config = { path = "../dirigent_config", optional = true }
|
|
dirigent_auth = { path = "../dirigent_auth" }
|
|
dirigent_process = { path = "../dirigent_process", features = ["tokio"], optional = true }
|
|
dirigent_inspector = { path = "../dirigent_inspector", optional = true }
|
|
dirigent_protocol = { path = "../dirigent_protocol", features = ["adapters"], optional = true }
|
|
dirigent_tools = { path = "../dirigent_tools", optional = true }
|
|
# SSE client for ACP transport
|
|
eventsource-client = { version = "0.13", optional = true }
|
|
futures = { version = "0.3", optional = true }
|
|
# Lazy static initialization
|
|
once_cell = { version = "1.20", optional = true }
|
|
opencode_client = { path = "../opencode_client", optional = true }
|
|
# HTTP client for ACP transport
|
|
reqwest = { version = "0.12", features = ["json", "stream"], optional = true }
|
|
# Core types - always available (WASM-compatible)
|
|
serde = { version = "1.0", features = ["derive"] }
|
|
serde_json = "1.0"
|
|
# Error handling
|
|
thiserror = { version = "2.0", optional = true }
|
|
tokio = { version = "1", features = ["full"], optional = true }
|
|
toml = { version = "0.8", optional = true }
|
|
tower = { version = "0.5", optional = true }
|
|
tower-http = { version = "0.6", features = ["cors"], optional = true }
|
|
# Logging
|
|
tracing = { version = "0.1", optional = true }
|
|
tracing-subscriber = { version = "0.3", features = ["env-filter"], optional = true }
|
|
uuid = { version = "1.0", features = ["js", "serde", "v4", "v5", "v7"] }
|
|
|
|
[dev-dependencies]
|
|
anyhow = "1.0"
|
|
axum = { version = "0.8", features = ["macros"] }
|
|
base64 = "0.22"
|
|
blake3 = "1.5"
|
|
dirigent_protocol = { path = "../dirigent_protocol" }
|
|
dirigent_tools = { path = "../dirigent_tools" }
|
|
tempfile = "3.0"
|
|
# Test dependencies - mirror the optional server dependencies
|
|
tokio = { version = "1", features = ["full", "test-util"] }
|
|
toml = "0.8"
|
|
|
|
[[test]]
|
|
name = "stream_registry_test"
|
|
required-features = ["test-utils"]
|
|
|
|
[features]
|
|
default = []
|
|
test-utils = []
|
|
server = [
|
|
"dep:agent-client-protocol",
|
|
"dep:async-stream",
|
|
"dep:axum",
|
|
"dep:base64",
|
|
"dep:blake3",
|
|
"dep:dirigent_acp_api",
|
|
"dep:dirigent_config",
|
|
"dep:dirigent_inspector",
|
|
"dep:dirigent_protocol",
|
|
"dep:dirigent_tools",
|
|
"dep:eventsource-client",
|
|
"dep:futures",
|
|
"dep:once_cell",
|
|
"dep:opencode_client",
|
|
"dep:reqwest",
|
|
"dep:thiserror",
|
|
"dep:tokio",
|
|
"dep:toml",
|
|
"dep:tower",
|
|
"dep:tower-http",
|
|
"dep:tracing",
|
|
"dep:tracing-subscriber",
|
|
"dep:dirigent_process",
|
|
]
|