mirror of
https://github.com/fabro-sh/fabro.git
synced 2026-08-28 05:27:41 +00:00
Add a shared MiniJinja-based template crate and migrate workflow prompts,
imports, hooks, and InterpString env references to the new {{ ... }}
syntax. This also threads typed run inputs through workflow rendering and
updates docs and tests to match the new templating model.
126 lines
3.7 KiB
TOML
126 lines
3.7 KiB
TOML
[workspace]
|
|
members = ["lib/crates/*", "test/twin/openai", "test/twin/github"]
|
|
default-members = ["lib/crates/fabro-cli"]
|
|
resolver = "2"
|
|
|
|
[workspace.package]
|
|
edition = "2021"
|
|
version = "0.176.2"
|
|
license = "MIT"
|
|
|
|
[workspace.dependencies]
|
|
anyhow = "1"
|
|
axum = { version = "0.8" }
|
|
axum-extra = { version = "0.10", features = ["cookie-private"] }
|
|
cookie = { version = "0.18", features = ["percent-encode", "private", "signed", "key-expansion"] }
|
|
thiserror = "2"
|
|
serde = { version = "1", features = ["derive"] }
|
|
serde_json = { version = "1", features = ["preserve_order"] }
|
|
tokio = { version = "1", features = ["full"] }
|
|
reqwest = { version = "0.13", default-features = false, features = ["json", "stream", "rustls", "query", "form", "multipart"] }
|
|
ulid = "1"
|
|
uuid = { version = "1", features = ["v4", "v7", "v8"] }
|
|
rand = "0.8"
|
|
dotenvy = "0.15"
|
|
futures = "0.3"
|
|
tokio-stream = "0.1"
|
|
async-trait = "0.1"
|
|
base64 = "0.22"
|
|
bytes = "1"
|
|
tokio-util = "0.7"
|
|
clap = { version = "4", features = ["derive", "env"] }
|
|
clap_complete = "4"
|
|
jsonschema = { version = "0.42", default-features = false }
|
|
chrono = { version = "0.4", features = ["clock"] }
|
|
bollard = "0.18"
|
|
tar = "0.4"
|
|
cli-table = { version = "0.5", default-features = false }
|
|
console = "0.15"
|
|
dialoguer = "0.12"
|
|
git2 = { version = "0.20", default-features = false }
|
|
tracing = "0.1"
|
|
tracing-subscriber = { version = "0.3", features = ["fmt", "env-filter"] }
|
|
tracing-appender = "0.2"
|
|
rmcp = { version = "1.3", default-features = false }
|
|
walkdir = "2"
|
|
regex = "1"
|
|
semver = "1"
|
|
aho-corasick = "1"
|
|
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"] }
|
|
hmac = "0.12"
|
|
sha2 = "0.10"
|
|
hex = "0.4"
|
|
insta = "1"
|
|
fabro-test = { path = "lib/crates/fabro-test" }
|
|
twin-openai = { path = "test/twin/openai" }
|
|
twin-github = { path = "test/twin/github" }
|
|
tokio-tungstenite = { version = "0.26", features = ["rustls-tls-webpki-roots"] }
|
|
futures-util = "0.3"
|
|
daytona-sdk = { git = "https://github.com/brynary/daytona-sdk-rust", rev = "06033ca", package = "daytona-sdk" }
|
|
daytona-api-client = { git = "https://github.com/brynary/daytona-sdk-rust", rev = "06033ca", package = "daytona-api-client" }
|
|
sentry = { version = "0.35", default-features = false, features = ["backtrace", "contexts", "ureq", "rustls"] }
|
|
fork = "0.2"
|
|
exec = "0.3"
|
|
slatedb = "0.11.2"
|
|
object_store = { version = "0.12.5", features = ["aws"] }
|
|
rust-embed = "8"
|
|
percent-encoding = "2"
|
|
minijinja = "2"
|
|
|
|
[workspace.lints.rust]
|
|
unsafe_code = "deny"
|
|
unreachable_pub = "warn"
|
|
|
|
[workspace.lints.clippy]
|
|
pedantic = { level = "warn", priority = -2 }
|
|
# 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"
|
|
exit = "warn"
|
|
get_unwrap = "warn"
|
|
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.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
|