[workspace] resolver = "2" members = [ "prometheus-http-client", "signal-cli-jsonrpc-client", "signal-gateway", "signal-gateway-code-tool", "signal-gateway-assistant", "signal-gateway-assistant/claude", "signal-gateway-bin", "signal-gateway-log-ingest", ] [workspace.package] authors = ["Chris Beck "] repository = "https://github.com/cbeck88/signal-gateway" license = "MIT OR Apache-2.0" edition = "2024" include = [ "src/**/*", "Cargo.toml", "README.md", ] [profile.release] # line-tables-only: keeps file/line info for backtraces, but strips variable/type debug info # This significantly reduces binary size while preserving useful stack traces debug = "line-tables-only" # LTO eliminates dead code across crates, reducing binary size esp. for the AWS crates # "thin" is faster than "fat" LTO while still providing most benefits lto = "thin" [workspace.lints.clippy] assigning_clones = "allow" result_large_err = "allow" [workspace.dependencies] prometheus-http-client = { path = "prometheus-http-client", version = "0.1.0", default-features = false } signal-cli-jsonrpc-client = { path = "signal-cli-jsonrpc-client", version = "0.1.0" } signal-gateway = { path = "signal-gateway", version = "0.1.0", default-features = false } signal-gateway-assistant = { path = "signal-gateway-assistant", version = "0.1.0" } signal-gateway-assistant-claude = { path = "signal-gateway-assistant/claude", version = "0.1.0" } signal-gateway-code-tool = { path = "signal-gateway-code-tool", version = "0.1.0" } signal-gateway-log-ingest = { path = "signal-gateway-log-ingest", version = "0.1.0" } async-trait = "0.1" chrono = { version = "0.4", default-features = false, features = ["clock", "serde", "std"] } chrono-tz = "0.10" conf = { version = "0.4", features = ["serde"] } conf-extra = "0.1" displaydoc = "0.2" dotenvy = "0.15" futures-util = "0.3" globset = "0.4" http = "1" http-body = "1" http-body-util = "0.1" humantime = "2" metrics = "0.24" metrics-exporter-prometheus = { version = "0.18", default-features = false, features = ["http-listener"] } hyper = { version = "1.7", features = ["server", "http1", "http2"] } hyper-util = { version = "0.1", features = ["tokio", "server", "server-auto"] } jsonrpsee = { version = "0.26", features = ["macros", "async-client"] } plotters = { version = "0.3", default-features = false, features = ["bitmap_backend", "bitmap_encoder", "ttf", "datetime", "area_series", "line_series", "full_palette"] } rand = "0.9" flate2 = "1" regex = "1" tar = "0.4" reqwest = { version = "0.12", default-features = false, features = ["json"] } serde = { version = "1", features = ["derive"] } serde_json = "1" syslog_rfc5424 = "0.10" thiserror = "2" toml = "0.8" tokio = { version = "1", features = ["macros", "net", "sync", "time"] } tokio-util = { version = "0.7", features = ["codec"] } tracing = "0.1" tracing-subscriber = { version = "0.3", features = ["env-filter"] } url = "2" walkdir = "2"