mirror of
https://github.com/fabro-sh/fabro.git
synced 2026-09-14 23:22:51 +00:00
The driver's section-4-driver-items branch (lithoscomputer/sandbox-driver#20) carries the provider-owned scopes, the supervisor as provider, Host attach by directory, the BASH_ENV launch rule, git retry and verbs, the status image/snapshot/network split, Daytona snapshot caching in create, the services port verbs, and RFC 3339 wire timestamps. This commit only moves the pin and follows the two API changes that no longer compile: the status projection reads image and snapshot instead of source, and the plugin supervisor is launched rather than constructed. The deletion rounds follow one item per commit. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
197 lines
7.8 KiB
TOML
197 lines
7.8 KiB
TOML
[workspace]
|
|
members = [
|
|
"lib/apps/*",
|
|
"lib/components/*",
|
|
"lib/foundation/*",
|
|
"test/twin/github",
|
|
]
|
|
default-members = ["lib/apps/fabro-cli"]
|
|
resolver = "2"
|
|
|
|
[workspace.package]
|
|
edition = "2021"
|
|
version = "0.348.0-nightly.0"
|
|
license = "MIT"
|
|
|
|
[workspace.dependencies]
|
|
agent-client-protocol = { version = "0.11.1", features = ["unstable_session_usage"] }
|
|
agent-client-protocol-tokio = "0.11.1"
|
|
anyhow = "1"
|
|
axum = { version = "0.8" }
|
|
axum-extra = { version = "0.10", features = ["cookie-private", "query"] }
|
|
cookie = { version = "0.18", features = ["percent-encode", "private", "signed", "key-expansion"] }
|
|
croner = "3.0.1"
|
|
thiserror = "2"
|
|
serde = { version = "1", features = ["derive"] }
|
|
serde_json = { version = "1", features = ["preserve_order"] }
|
|
sqlx = { version = "0.9", default-features = false, features = ["runtime-tokio", "sqlite-bundled", "migrate", "macros"] }
|
|
tokio = { version = "1", features = ["full"] }
|
|
reqwest = { version = "0.13", default-features = false, features = ["json", "stream", "rustls", "query", "form", "multipart"] }
|
|
sse-stream = "0.2"
|
|
ulid = "1"
|
|
uuid = { version = "1", features = ["v4", "v7", "v8"] }
|
|
rand = "0.9"
|
|
dotenvy = "0.15"
|
|
futures = "0.3"
|
|
tokio-stream = "0.1"
|
|
async-trait = "0.1"
|
|
async_zip = { version = "0.0.18", features = ["tokio", "deflate"] }
|
|
fs2 = "0.4"
|
|
base64 = "0.22"
|
|
bytes = "1"
|
|
tokio-util = "0.7"
|
|
# AWS building blocks for the native Bedrock adapter. Lean stack: request
|
|
# signing + credential chain + event-stream decode only. Transport for the
|
|
# actual Bedrock inference calls stays on fabro-http; the full
|
|
# aws-sdk-bedrockruntime (and its parallel hyper stack) is not pulled in.
|
|
# aws-config keeps its DEFAULT features on purpose: `rt-tokio` supplies the
|
|
# TokioSleep impl the credential chain's retry requires (without it,
|
|
# resolving the default chain panics with "an async sleep implementation is
|
|
# required"), and `sso`/`credentials-process` make from_default_chain's
|
|
# documented SSO/credential-process support real. `rustls` pins the TLS
|
|
# backend for credential-resolution HTTP.
|
|
aws-config = { version = "1", features = ["behavior-version-latest", "rustls"] }
|
|
aws-credential-types = { version = "1", features = ["hardcoded-credentials"] }
|
|
aws-sigv4 = "1"
|
|
aws-smithy-eventstream = "0.60"
|
|
aws-smithy-runtime-api = "1"
|
|
aws-smithy-types = "1"
|
|
clap = { version = "4", features = ["derive", "env"] }
|
|
clap_complete = "4"
|
|
jsonschema = { version = "0.42", default-features = false }
|
|
chrono = { version = "0.4", features = ["clock", "serde"] }
|
|
dashmap = "6"
|
|
cli-table = { version = "0.5", default-features = false }
|
|
console = "0.15"
|
|
dialoguer = "0.12"
|
|
git2 = { version = "0.20", default-features = false, features = ["vendored-libgit2", "vendored-openssl", "https"] }
|
|
tracing = "0.1"
|
|
tracing-subscriber = { version = "0.3", features = ["fmt", "env-filter"] }
|
|
tracing-appender = "0.2"
|
|
rmcp = { version = "1.4", default-features = false }
|
|
walkdir = "2"
|
|
regex = "1"
|
|
semver = "1"
|
|
aho-corasick = "1"
|
|
globset = "0.4"
|
|
glob = "0.3"
|
|
dirs = "6"
|
|
mac_address = "1"
|
|
md5 = "0.7"
|
|
mime_guess = "2"
|
|
indicatif = "0.18"
|
|
termimad = "0.34"
|
|
toml = "0.8"
|
|
toml_edit = "0.22"
|
|
jsonwebtoken = { version = "10", features = ["aws_lc_rs"] }
|
|
hkdf = "0.12"
|
|
hmac = "0.12"
|
|
sha2 = "0.10"
|
|
hex = "0.4"
|
|
insta = "1"
|
|
fabro-test = { path = "lib/foundation/fabro-test" }
|
|
# Provider-neutral LLM catalog and client. Pinned to a revision until 0.x is
|
|
# published to crates.io.
|
|
lithos-llm = { git = "https://github.com/lithoscomputer/lithos-llm", rev = "a1e3fd37b7153870411701327ac117606753fe90", default-features = false }
|
|
# Deterministic OpenAI twin used by twin-mode E2E tests; the same revision
|
|
# lithos-llm verifies its codecs against.
|
|
twin-openai = { git = "https://github.com/lithoscomputer/twins", rev = "ca45f0e50a6716d716aa2f638ca3cf767e88f613" }
|
|
twin-github = { path = "test/twin/github" }
|
|
tokio-tungstenite = { version = "0.26", features = ["rustls-tls-webpki-roots"] }
|
|
futures-util = "0.3"
|
|
# sandbox-driver: the sandbox provider layer. Bundled Host, Docker, and
|
|
# Daytona providers link in-process; third-party providers run as stdio
|
|
# plugins through sandbox-driver-protocol. Pinned by rev; currently the head of
|
|
# the sandbox-driver `section-4-driver-items` branch (provider-owned scopes, the
|
|
# supervisor as provider, Host attach by directory, git retry and verbs in the
|
|
# driver, status image/snapshot/network, Daytona snapshot caching, services port
|
|
# wait and list, RFC 3339 timestamps), to move to main on merge. The CI plugin
|
|
# job installs the driver executables at the same rev, read from this file.
|
|
sandbox-driver = { git = "https://github.com/lithoscomputer/sandbox-driver", rev = "8cc64d4f66a23b6c4306fdc8ae6fbba4c6131610" }
|
|
sandbox-driver-protocol = { git = "https://github.com/lithoscomputer/sandbox-driver", rev = "8cc64d4f66a23b6c4306fdc8ae6fbba4c6131610" }
|
|
sandbox-driver-host = { git = "https://github.com/lithoscomputer/sandbox-driver", rev = "8cc64d4f66a23b6c4306fdc8ae6fbba4c6131610" }
|
|
sandbox-driver-docker = { git = "https://github.com/lithoscomputer/sandbox-driver", rev = "8cc64d4f66a23b6c4306fdc8ae6fbba4c6131610" }
|
|
sandbox-driver-docker-config = { git = "https://github.com/lithoscomputer/sandbox-driver", rev = "8cc64d4f66a23b6c4306fdc8ae6fbba4c6131610" }
|
|
sandbox-driver-daytona = { git = "https://github.com/lithoscomputer/sandbox-driver", rev = "8cc64d4f66a23b6c4306fdc8ae6fbba4c6131610" }
|
|
sandbox-driver-daytona-config = { git = "https://github.com/lithoscomputer/sandbox-driver", rev = "8cc64d4f66a23b6c4306fdc8ae6fbba4c6131610" }
|
|
sandbox-driver-testing = { git = "https://github.com/lithoscomputer/sandbox-driver", rev = "8cc64d4f66a23b6c4306fdc8ae6fbba4c6131610" }
|
|
sentry = { version = "0.35", default-features = false, features = ["backtrace", "contexts", "ureq", "rustls"] }
|
|
fork = "0.2"
|
|
exec = "0.3"
|
|
slatedb = { version = "0.11.2", features = ["zstd"] }
|
|
object_store = { version = "0.12.5", features = ["aws"] }
|
|
rust-embed = "8"
|
|
percent-encoding = "2"
|
|
minijinja = "=2.19.0"
|
|
miette = { version = "7.6", features = ["fancy"] }
|
|
fabro-http = { path = "lib/foundation/fabro-http" }
|
|
fabro-environment = { path = "lib/components/fabro-environment" }
|
|
fabro-options-metadata = { path = "lib/foundation/fabro-options-metadata" }
|
|
fabro-redact = { path = "lib/foundation/fabro-redact" }
|
|
fabro-static = { path = "lib/foundation/fabro-static" }
|
|
graphviz-sys = { git = "https://github.com/fabro-sh/graphviz-sys" }
|
|
ref-cast = "1"
|
|
strum = { version = "0.28", features = ["derive"] }
|
|
url = "2"
|
|
zeroize = "1"
|
|
|
|
[workspace.lints.rust]
|
|
unsafe_code = "deny"
|
|
unreachable_pub = "warn"
|
|
|
|
[workspace.lints.clippy]
|
|
pedantic = { level = "warn", priority = -2 }
|
|
allow_attributes_without_reason = "warn"
|
|
# Allowed pedantic lints
|
|
implicit_hasher = "allow"
|
|
missing_errors_doc = "allow"
|
|
missing_panics_doc = "allow"
|
|
module_name_repetitions = "allow"
|
|
must_use_candidate = "allow"
|
|
similar_names = "allow"
|
|
struct_excessive_bools = "allow"
|
|
too_many_arguments = "allow"
|
|
too_many_lines = "allow"
|
|
cast_precision_loss = "allow"
|
|
doc_markdown = "allow"
|
|
# Disallowed restriction lints
|
|
print_stdout = "warn"
|
|
print_stderr = "warn"
|
|
dbg_macro = "warn"
|
|
empty_drop = "warn"
|
|
empty_structs_with_brackets = "warn"
|
|
disallowed_methods = "deny"
|
|
exit = "warn"
|
|
get_unwrap = "warn"
|
|
unwrap_used = "deny"
|
|
rc_buffer = "warn"
|
|
rc_mutex = "warn"
|
|
rest_pat_in_fully_bound_structs = "warn"
|
|
use_self = "warn"
|
|
# Project-specific lints
|
|
wildcard_imports = "warn"
|
|
absolute_paths = "warn"
|
|
|
|
[profile.release]
|
|
lto = "thin"
|
|
strip = true
|
|
|
|
[profile.dev]
|
|
debug = "line-tables-only"
|
|
split-debuginfo = "off"
|
|
|
|
[profile.test]
|
|
debug = "line-tables-only"
|
|
split-debuginfo = "off"
|
|
|
|
[profile.dev.package."*"]
|
|
debug = false # Disable debug info for all dependencies
|
|
opt-level = 1 # Shrinks monomorphized generics, reducing test binary size
|
|
|
|
# regex is extremely slow in debug builds (~10s to compile gitleaks patterns)
|
|
[profile.dev.package.regex]
|
|
opt-level = 2
|
|
[profile.dev.package.regex-automata]
|
|
opt-level = 2
|
|
[profile.dev.package.regex-syntax]
|
|
opt-level = 2
|