[package] name = "wam" version = "0.3.1" edition = "2024" license = "MIT" [[bin]] name = "wam" path = "src/main.rs" [dependencies] axum = "0.8" chrono = { version = "0.4", features = ["serde"] } clap = { version = "4", features = ["derive"] } color-eyre = "0.6" directories = "6" painhours = { path = "../shared/painhours" } rusqlite = { version = "0.40", features = ["bundled"] } serde = { version = "1", features = ["derive"] } serde_json = "1" # `rustls-no-provider` rather than `rustls`: the latter is an alias for # `__rustls-aws-lc-rs`, which links a C crypto backend. The provider is ring # (pure Rust), installed process-wide by `crate::tls` before any client is built. reqwest = { version = "0.13", default-features = false, features = ["json", "rustls-no-provider"] } rustls = { version = "0.23", default-features = false, features = ["std", "tls12", "logging", "ring"] } tokio = { version = "1", features = ["macros", "rt-multi-thread", "net", "time"] } urlencoding = "2" uuid = { version = "1", features = ["v4"] } [lints.rust] unused = "warn" unreachable_pub = "warn" [lints.clippy] pedantic = { level = "warn", priority = -1 } # Allow-list tuned from a measured breakdown across server/multithreaded/pter # (2026-07-22). These are the high-churn / low-signal pedantic lints; everything # else in `pedantic` stays a warning. Keep this block identical across repos. module_name_repetitions = "allow" # Doc lints. No docs-completeness push is underway. missing_errors_doc = "allow" missing_panics_doc = "allow" doc_markdown = "allow" # Numeric casts. Endemic and mostly intentional in size and byte math. cast_possible_truncation = "allow" cast_sign_loss = "allow" cast_precision_loss = "allow" cast_possible_wrap = "allow" cast_lossless = "allow" # Subjective structure and style nags. High churn, low signal. must_use_candidate = "allow" too_many_lines = "allow" struct_excessive_bools = "allow" similar_names = "allow" items_after_statements = "allow" single_match_else = "allow" # Frequent false-positives in TUI and router-heavy code. match_same_arms = "allow" unnecessary_wraps = "allow" type_complexity = "allow"