[package]
name = "winx-code-agent"
default-run = "winx-code-agent"
version = "0.2.352"
edition = "2021"
rust-version = "1.90"
description = "Remote-first Rust MCP runtime with Streamable HTTP, durable PTYs, and guarded agent tools"
authors = ["Gabriel Maia <gabrielmaialva33@gmail.com>"]
license = "MIT"
repository = "https://github.com/gabrielmaialva33/winx-code-agent"
keywords = ["mcp", "llm", "code-agent", "streamable-http", "shell"]
categories = ["command-line-utilities", "development-tools"]
[dependencies]
rmcp = { version = "3.1.2", features = [
"transport-io",
"transport-streamable-http-server",
"server",
] }
axum = "0.8"
http-body = "1"
tower-http = { version = "0.7", features = ["limit", "timeout"] }
tower = { version = "0.5", features = ["limit"] }
schemars = "1.2"
tokio = { version = "1.49", features = ["full"] }
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
thiserror = "2.0"
anyhow = "1.0"
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["env-filter", "json"] }
tracing-appender = "0.2"
time = { version = "0.3.55", default-features = false, features = ["parsing", "std"] }
home = "0.5"
sha2 = "0.11.0"
base64 = "0.23"
glob = "0.3"
regex = "1.11"
image = { version = "0.25.10", default-features = false, features = [
"gif",
"jpeg",
"png",
"webp",
] }
percent-encoding = "2.3"
tempfile = "3.14"
toml = "1.1"
rayon = "1.10"
similar = "3"
portable-pty = "0.9.0"
vte = "0.15"
strsim = "0.11"
tokie = { version = "0.1.4", default-features = false }
ignore = "0.4"
tree-sitter = "0.27"
tree-sitter-tags = "0.27"
tree-sitter-bash = "0.25.1"
tree-sitter-json = "0.24.8"
tree-sitter-javascript = "0.25.0"
tree-sitter-python = "0.25.0"
tree-sitter-elixir = { version = "0.3.5", optional = true }
tree-sitter-rust = "0.24.2"
tree-sitter-typescript = "0.23.2"
rand = "0.10.1"
clap = { version = "4.5", features = ["derive"] }
tree-sitter-go = "0.25.0"
tree-sitter-c = "0.24.2"
tree-sitter-cpp = { version = "0.23.4", optional = true }
tree-sitter-java = "0.23.5"
tree-sitter-ruby = { version = "0.23.1", optional = true }
tree-sitter-css = "0.25.0"
tree-sitter-html = "0.23.2"
tree-sitter-php = { version = "0.25", optional = true }
tree-sitter-c-sharp = { version = "0.23.5", optional = true }
tree-sitter-lua = { version = "0.5.0", optional = true }
vt100 = "0.18"
[target.'cfg(unix)'.dependencies]
libc = "0.2"
[target.'cfg(windows)'.dependencies]
windows-sys = { version = "0.61", features = [
"Win32_Foundation",
"Win32_Security",
"Win32_Security_Authorization",
"Win32_System_Console",
"Win32_System_JobObjects",
"Win32_System_LibraryLoader",
"Win32_System_Threading",
] }
[target.'cfg(target_os = "linux")'.dependencies]
landlock = "0.4"
[dev-dependencies]
tokio = { version = "1", features = ["test-util"] }
tempfile = "3.14"
proptest = "1.5"
criterion = { version = "0.8.2", default-features = false, features = ["cargo_bench_support"] }
[patch.crates-io]
nix = { git = "https://github.com/nix-rust/nix", rev = "1def0c05c3d7ac460c3428bb2227cccd01008ccb" }
[dependencies.loom]
version = "0.7"
optional = true
[features]
default = ["languages-extra"]
languages-extra = [
"dep:tree-sitter-c-sharp",
"dep:tree-sitter-cpp",
"dep:tree-sitter-ruby",
"dep:tree-sitter-php",
"dep:tree-sitter-elixir",
"dep:tree-sitter-lua",
]
loom = ["dep:loom"]
fuzzing = []
[[bench]]
name = "performance"
harness = false
[lints.clippy]
pedantic = { level = "warn", priority = -1 }
unwrap_used = "warn"
expect_used = "warn"
panic = "warn"
todo = "warn"
dbg_macro = "warn"
print_stdout = "warn"
print_stderr = "warn"
module_name_repetitions = "allow"
must_use_candidate = "allow"
missing_errors_doc = "allow"
missing_panics_doc = "allow"
[lints.rust]
[profile.release]
lto = "thin"
codegen-units = 8
panic = "unwind"
strip = true
[profile.dist]
inherits = "release"
lto = true
codegen-units = 1
[profile.dev]
opt-level = 0
debug = true
[profile.test]
opt-level = 0
debug = true