[workspace] members = ["crates/*"] exclude = ["tests/fixtures/test_plugin"] [workspace.dependencies] happyview-nsid = { path = "crates/happyview-nsid" } happyview-plc = { path = "crates/happyview-plc" } happyview-scopes = { path = "crates/happyview-scopes" } [package] name = "happyview" version = "0.1.0" edition = "2024" rust-version = "1.96" default-run = "happyview" # Debug info dominates both codegen and link time on this workspace, and full # DWARF buys little for day-to-day work: `line-tables-only` still yields file # and line numbers in panics and backtraces, which is all the test suite and # normal debugging need. Applies to `cargo test` too, since the test profile # inherits dev. [profile.dev] debug = "line-tables-only" [dependencies] aes-gcm = "0.11" anyhow = "1" arc-swap = "1" atrium-oauth = { version = "0.1", default-features = false } atrium-identity = "0.1" atrium-common = "0.1" atrium-api = { version = "0.25", features = ["agent"] } atrium-xrpc = "0.12" axum = { version = "0.8", features = ["multipart"] } axum-extra = { version = "0.12", features = ["cookie", "cookie-signed", "cookie-key-expansion", "query"] } base64 = "0.22" dashmap = "6" data-encoding = "2" dotenvy = "0.15" happyview-nsid = { workspace = true } happyview-plc = { workspace = true } happyview-scopes = { workspace = true } hex = "0.4" futures-util = "0.3" jose-jwk = { version = "0.1", default-features = false, features = ["p256"] } jsonwebtoken = "10" bytes = "1" chrono = { version = "0.4", features = ["serde"] } cid = "0.11" ciborium = "0.2" ipld-core = { version = "0.4", features = ["serde"] } k256 = { version = "0.14", features = ["ecdsa"] } multibase = "0.9" p256 = { version = "0.14", features = ["pkcs8", "ecdsa"] } uuid = { version = "1", features = ["v4"] } rand = "0.10" reqwest = { version = "0.12", features = ["json", "gzip"] } rustls = { version = "0.23", default-features = false, features = ["ring", "std", "tls12"] } serde = { version = "1", features = ["derive"] } serde_ipld_dagcbor = "0.6" serde_json = "1" sha2 = "0.11" sqlx = { version = "0.9", features = ["runtime-tokio", "tls-rustls", "postgres", "sqlite", "any", "json", "chrono", "migrate"] } tokio = { version = "1", features = ["full"] } tokio-rustls = "0.26" tokio-tungstenite = { version = "0.29", features = ["rustls-tls-webpki-roots"] } thiserror = "2" tower = { version = "0.5", features = ["util"] } tower-http = { version = "0.7", features = ["cors", "fs", "trace"] } http-body-util = "0.1" hickory-resolver = "0.26" ipnet = "2" mlua = { version = "0.12", features = ["lua54", "async", "serialize", "vendored", "send"] } tracing = "0.1" tracing-subscriber = { version = "0.3", features = ["env-filter", "json"] } urlencoding = "2.1.3" webpki-roots = "1.0" wasmtime = { version = ">=36.0.7, <37", features = ["async"] } regex = "1.12.3" semver = "1.0" async-stream = "0.3.6" blake3 = "1" fs4 = "0.13" hkdf = "0.13" hmac = "0.13" sqlparser = "0.62.0" subtle = "2" [[bin]] name = "migrate-lua-sql" path = "src/bin/migrate_lua_sql.rs" [[bin]] name = "migrate-space-cids" path = "src/bin/migrate_space_cids.rs" [dev-dependencies] wiremock = "0.6" tower = { version = "0.5", features = ["util"] } http-body-util = "0.1" serial_test = "3" urlencoding = "2.1.3" futures = "0.3" rcgen = "0.14"