[package]
name = "forge-core-server"
version.workspace = true
edition.workspace = true
license.workspace = true
repository.workspace = true
homepage.workspace = true
authors.workspace = true
keywords.workspace = true
categories.workspace = true
description = "HTTP server for Forge - REST API, WebSocket streaming, and MCP integration"
[lib]
name = "forge_core_server"
[lints.clippy]
uninlined-format-args = "allow"
[dependencies]
forge-core-deployment = { workspace = true }
forge-core-executors = { workspace = true }
forge-core-local-deployment = { workspace = true }
forge-core-utils = { workspace = true }
forge-core-db = { workspace = true }
forge-core-services = { workspace = true }
tokio = { workspace = true }
tokio-util = { version = "0.7", features = ["io"] }
axum = { workspace = true }
serde = { workspace = true }
serde_json = { workspace = true }
anyhow = { workspace = true }
tracing = { workspace = true }
tracing-subscriber = { workspace = true }
sqlx = { version = "0.8.6", features = ["runtime-tokio-rustls", "sqlite", "sqlite-preupdate-hook", "chrono", "uuid"] }
chrono = { version = "0.4", features = ["serde"] }
uuid = { version = "1.0", features = ["v4", "serde"] }
ts-rs-forge = { workspace = true }
async-trait = "0.1"
command-group = { version = "5.0", features = ["with-tokio"] }
nix = { version = "0.29", features = ["signal", "process"] }
openssl-sys = { workspace = true }
rmcp = { workspace = true, features = ["server", "transport-io"] }
schemars = { workspace = true }
regex = "1.11.1"
toml = "0.8"
reqwest = { version = "0.12", features = ["json"] }
strip-ansi-escapes = "0.2.1"
thiserror = { workspace = true }
os_info = "3.12.0"
futures-util = "0.3"
ignore = "0.4"
git2 = "0.18"
mime_guess = "2.0"
rust-embed = "8.2"
octocrab = "0.44"
dirs = "5.0"
dotenvy = "0.15"
[dev-dependencies]
tempfile = "3.8"
tower = { version = "0.4", features = ["util"] }
[build-dependencies]
dotenv = "0.15"