A lexicon-driven AppView for ATProto.
1[package]
2name = "happyview"
3version = "0.1.0"
4edition = "2024"
5rust-version = "1.96"
6default-run = "happyview"
7
8[dependencies]
9aes-gcm = "0.11"
10anyhow = "1"
11arc-swap = "1"
12atrium-oauth = { version = "0.1", features = ["default-client"] }
13atrium-identity = "0.1"
14atrium-common = "0.1"
15atrium-api = { version = "0.25", features = ["agent"] }
16atrium-xrpc = "0.12"
17axum = { version = "0.8", features = ["multipart"] }
18axum-extra = { version = "0.12", features = ["cookie", "cookie-signed", "cookie-key-expansion", "query"] }
19base64 = "0.22"
20dashmap = "6"
21data-encoding = "2"
22dotenvy = "0.15"
23hex = "0.4"
24futures-util = "0.3"
25jose-jwk = { version = "0.1", default-features = false, features = ["p256"] }
26jsonwebtoken = "10"
27bytes = "1"
28chrono = { version = "0.4", features = ["serde"] }
29cid = "0.11"
30ciborium = "0.2"
31ipld-core = { version = "0.4", features = ["serde"] }
32k256 = { version = "0.14", features = ["ecdsa"] }
33multibase = "0.9"
34p256 = { version = "0.14", features = ["pkcs8", "ecdsa"] }
35uuid = { version = "1", features = ["v4"] }
36rand = "0.10"
37reqwest = { version = "0.12", features = ["json"] }
38rustls = { version = "0.23", default-features = false, features = ["ring", "std", "tls12"] }
39serde = { version = "1", features = ["derive"] }
40serde_ipld_dagcbor = "0.6"
41serde_json = "1"
42sha2 = "0.11"
43sqlx = { version = "0.9", features = ["runtime-tokio", "tls-rustls", "postgres", "sqlite", "any", "json", "chrono", "migrate"] }
44tokio = { version = "1", features = ["full"] }
45tokio-rustls = "0.26"
46tokio-tungstenite = { version = "0.29", features = ["rustls-tls-webpki-roots"] }
47thiserror = "2"
48tower = { version = "0.5", features = ["util"] }
49tower-http = { version = "0.7", features = ["cors", "fs", "trace"] }
50http-body-util = "0.1"
51hickory-resolver = "0.26"
52ipnet = "2"
53mlua = { version = "0.12", features = ["lua54", "async", "serialize", "vendored", "send"] }
54tracing = "0.1"
55tracing-subscriber = { version = "0.3", features = ["env-filter", "json"] }
56urlencoding = "2.1.3"
57webpki-roots = "1.0"
58wasmtime = { version = ">=36.0.7, <37", features = ["async"] }
59regex = "1.12.3"
60semver = "1.0"
61async-stream = "0.3.6"
62blake3 = "1"
63hkdf = "0.13"
64hmac = "0.13"
65sqlparser = "0.62.0"
66subtle = "2"
67
68[[bin]]
69name = "migrate-lua-sql"
70path = "src/bin/migrate_lua_sql.rs"
71
72[dev-dependencies]
73wiremock = "0.6"
74tower = { version = "0.5", features = ["util"] }
75http-body-util = "0.1"
76serial_test = "3"
77urlencoding = "2.1.3"
78futures = "0.3"
79rcgen = "0.14"