[package]
name = "oly"
version = "0.2.4"
edition = "2024"
description = "Run interactive CLIs and AI agents like managed services with persistent PTY sessions."
license = "MIT"
repository = "https://github.com/slaveOftime/open-relay"
homepage = "https://github.com/slaveOftime/open-relay"
keywords = ["cli", "agent", "pty", "terminal", "ai"]
categories = ["command-line-utilities", "asynchronous"]
readme = "README.md"

[[bin]]
name = "oly"
path = "src/main.rs"

[profile.release]
lto = "fat"
codegen-units = 1
panic = "unwind"
strip = true
opt-level = "z"

[dependencies]
clap = { version = "4.6", features = ["derive"] }
tokio = { version = "1.15.1", features = ["rt-multi-thread", "macros", "signal", "time", "io-util", "net", "sync", "fs"] }
serde = { version = "1.0", features = ["derive"] }
serde_json = { version = "1.0", features = ["preserve_order"] }
async-trait = "0.1"
interprocess = { version = "2.4", features = ["tokio"] }
portable-pty = "0.9"
regex = "1"
notify-rust = "4.14.0"
tracing = "0.1"
tracing-subscriber = { version = "0.3.23", features = ["env-filter"] }
tracing-appender = "0.2"
uuid = { version = "1.23.0", features = ["v4", "serde"] }
chrono = { version = "0.4", features = ["serde", "clock"] }
dirs = "6.0"
thiserror = "2.0"
crossterm = "0.29"
vt100 = "0.16.2"
which = "8.0.2"
axum = { version = "0.8", features = ["ws", "macros", "multipart"] }
tower-http = { version = "0.6", features = ["cors", "compression-br", "compression-gzip"] }
tokio-stream = { version = "0.1", features = ["sync"] }
futures-util = "0.3"
reqwest = { version = "0.13", default-features = false, features = ["rustls", "stream"] }
rust-embed = "8"
mime_guess = "2"
sqlx = { version = "0.8", features = ["runtime-tokio", "sqlite", "chrono", "migrate"] }
p256 = { version = "0.13", features = ["ecdsa", "ecdh"] }
rand = "0.8"
aes-gcm = "0.10"
hkdf = "0.13"
sha2 = "0.11"
base64 = "0.22"
argon2 = "0.5"
rpassword = "7"
tokio-tungstenite = { version = "0.29.0", features = ["rustls-tls-native-roots"] }
mimalloc = { version = "0.1.48", features = ["v3"] }
libmimalloc-sys = { version = "0.1.44", features = ["v3", "extended"] }
bytes = "1"
arc-swap = "1.9.1"
arboard = "3"
image = { version = "0.25", default-features = false, features = ["png"] }
flate2 = { version = "1.1", default-features = false, features = ["rust_backend"] }

[target.'cfg(windows)'.build-dependencies]
winres = "0.1"
