[package] name = "fabro-sandbox" edition.workspace = true version.workspace = true publish = false license.workspace = true description = "Sandbox trait and implementations for Fabro agent execution environments" [features] default = ["local"] local = [] docker = ["dep:bollard", "dep:tar", "dep:fabro-github"] daytona = ["dep:daytona-sdk", "dep:daytona-api-client", "dep:git2", "dep:fabro-github", "dep:fabro-config", "dep:fabro-http", "dep:reqwest-middleware", "dep:rand", "dep:tokio-tungstenite", "dep:futures-util", "dep:rustls"] test-support = [] [lib] doctest = false [lints] workspace = true [dependencies] anyhow.workspace = true async-trait.workspace = true thiserror.workspace = true tokio.workspace = true tokio-util = { workspace = true, features = ["compat"] } serde.workspace = true serde_json.workspace = true strum.workspace = true tracing.workspace = true base64.workspace = true hmac.workspace = true sha2.workspace = true hex.workspace = true uuid.workspace = true fabro-proc = { path = "../../foundation/fabro-proc" } fabro-static.workspace = true fabro-util = { path = "../../foundation/fabro-util" } fabro-redact.workspace = true futures = { workspace = true } # docker bollard = { workspace = true, optional = true } tar = { workspace = true, optional = true } # daytona fabro-config = { path = "../../foundation/fabro-config", optional = true } fabro-github = { path = "../fabro-github", optional = true } fabro-types = { path = "../../foundation/fabro-types" } chrono = { workspace = true } # daytona rand = { workspace = true, optional = true } daytona-sdk = { workspace = true, optional = true } daytona-api-client = { workspace = true, optional = true } git2 = { workspace = true, optional = true } fabro-http = { workspace = true, optional = true } reqwest-middleware = { version = "0.5", features = ["json", "multipart", "form", "query"], optional = true } tokio-tungstenite = { workspace = true, optional = true } futures-util = { workspace = true, optional = true } rustls = { version = "0.23", default-features = false, features = ["std", "ring"], optional = true } [dev-dependencies] tokio = { workspace = true, features = ["test-util", "macros"] } tempfile = "3" serde_json.workspace = true toml.workspace = true httpmock = "0.8" fabro-test.workspace = true