[package]
edition = "2021"
rust-version = "1.78"
name = "shell-tunnel"
version = "0.3.0"
authors = ["iyulab"]
build = false
exclude = [
".github/",
"local-docs/",
"docs/",
"tests/",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Ultra-lightweight shell tunnel for AI agent integration"
homepage = "https://github.com/iyulab/shell-tunnel"
documentation = "https://docs.rs/shell-tunnel"
readme = "README.md"
keywords = [
"shell",
"tunnel",
"pty",
"api",
"ai-agent",
]
categories = [
"command-line-utilities",
"development-tools",
"api-bindings",
]
license = "MIT"
repository = "https://github.com/iyulab/shell-tunnel"
[features]
default = []
self-update = ["dep:self_update"]
[lib]
name = "shell_tunnel"
path = "src/lib.rs"
[[bin]]
name = "shell-tunnel"
path = "src/main.rs"
[dependencies.axum]
version = "0.8"
features = ["ws"]
[dependencies.futures-util]
version = "0.3"
[dependencies.lexopt]
version = "0.3"
[dependencies.portable-pty]
version = "0.9"
[dependencies.self_update]
version = "0.42"
features = [
"archive-tar",
"archive-zip",
"compression-flate2",
"rustls",
]
optional = true
default-features = false
[dependencies.serde]
version = "1.0"
features = ["derive"]
[dependencies.serde_json]
version = "1.0"
[dependencies.thiserror]
version = "2.0"
[dependencies.tokio]
version = "1.43"
features = [
"rt-multi-thread",
"io-util",
"sync",
"time",
"macros",
"signal",
]
[dependencies.tower]
version = "0.5"
[dependencies.tower-http]
version = "0.6"
features = [
"cors",
"trace",
]
[dependencies.tracing]
version = "0.1"
[dependencies.tracing-subscriber]
version = "0.3"
features = ["env-filter"]
[dependencies.vt100]
version = "0.16"
[dependencies.vte]
version = "0.15"
[dev-dependencies.tempfile]
version = "3"
[dev-dependencies.tokio-test]
version = "0.4"
[dev-dependencies.tokio-tungstenite]
version = "0.24"
features = [
"connect",
"handshake",
]
default-features = false
[target."cfg(unix)".dependencies.libc]
version = "0.2.180"
[profile.dev]
incremental = true
[profile.release]
lto = true
codegen-units = 1
panic = "abort"
strip = true