[workspace]
resolver = "2"
members = ["server/packages/*", "gigacode"]
exclude = ["factory/packages/desktop/src-tauri", "foundry/packages/desktop/src-tauri"]

[workspace.package]
version = "0.4.0-rc.1"
edition = "2021"
authors = [ "Rivet Gaming, LLC <developer@rivet.gg>" ]
license = "Apache-2.0"
repository = "https://github.com/rivet-dev/sandbox-agent"
description = "Universal API for automatic coding agents in sandboxes. Supports Claude Code, Codex, OpenCode, and Amp."

[workspace.dependencies]
# Internal crates
sandbox-agent = { version = "0.4.0-rc.1", path = "server/packages/sandbox-agent" }
sandbox-agent-error = { version = "0.4.0-rc.1", path = "server/packages/error" }
sandbox-agent-agent-management = { version = "0.4.0-rc.1", path = "server/packages/agent-management" }
sandbox-agent-agent-credentials = { version = "0.4.0-rc.1", path = "server/packages/agent-credentials" }
sandbox-agent-opencode-adapter = { version = "0.4.0-rc.1", path = "server/packages/opencode-adapter" }
sandbox-agent-opencode-server-manager = { version = "0.4.0-rc.1", path = "server/packages/opencode-server-manager" }
acp-http-adapter = { version = "0.4.0-rc.1", path = "server/packages/acp-http-adapter" }

# Serialization
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"

# Error handling
thiserror = "1.0"

# Schema generation
schemars = "0.8"
utoipa = { version = "4.2", features = ["axum_extras"] }

# Web framework
axum = { version = "0.7", features = ["ws"] }
tower = { version = "0.5", features = ["util"] }
tower-http = { version = "0.5", features = ["cors", "trace"] }

# Async runtime
tokio = { version = "1.36", features = ["macros", "rt-multi-thread", "signal", "time"] }
tokio-stream = { version = "0.1", features = ["sync"] }
futures = "0.3"

# HTTP client
reqwest = { version = "0.11", features = ["blocking", "json", "rustls-tls", "stream"] }

# CLI
clap = { version = "4.5", features = ["derive"] }

# Logging
tracing = "0.1"
tracing-logfmt = "0.3"
tracing-subscriber = { version = "0.3", features = ["env-filter"] }

# Time/date
time = { version = "0.3", features = ["parsing", "formatting"] }
chrono = { version = "0.4", features = ["serde"] }

# Filesystem/paths
dirs = "5.0"
tempfile = "3.10"

# Archive handling
flate2 = "1.0"
tar = "0.4"
zip = { version = "0.6", default-features = false, features = ["deflate"] }

# Misc
url = "2.5"
regress = "0.10"
include_dir = "0.7"
base64 = "0.22"
toml_edit = "0.22"

# Code generation (build deps)
typify = "0.4"
prettyplease = "0.2"
syn = "2.0"

# Testing
http-body-util = "0.1"
insta = { version = "1.41", features = ["yaml"] }
