[package] name = "recorder" version = "0.1.0" edition = "2024" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [lib] name = "recorder" path = "src/lib.rs" [[bin]] name = "recorder_cli" path = "src/bin/main.rs" required-features = [] [features] default = [] playground = ["dep:inquire", "dep:color-eyre"] testcontainers = [ "dep:testcontainers", "dep:testcontainers-modules", "dep:testcontainers-ext", "downloader/testcontainers", "testcontainers-modules/postgres", ] [dependencies] downloader = { workspace = true } util = { workspace = true } util-derive = { workspace = true } fetch = { workspace = true } serde = { workspace = true } tokio = { workspace = true } serde_json = { workspace = true } async-trait = { workspace = true } testcontainers = { workspace = true, optional = true } testcontainers-modules = { workspace = true, optional = true } testcontainers-ext = { workspace = true, optional = true, features = [ "tracing", ] } tracing = { workspace = true } axum = { workspace = true } axum-extra = { workspace = true } snafu = { workspace = true } itertools = { workspace = true } url = { workspace = true } regex = { workspace = true } lazy_static = { workspace = true } quirks_path = { workspace = true } futures = { workspace = true } bytes = { workspace = true } serde_with = { workspace = true } moka = { workspace = true } chrono = { workspace = true } tracing-subscriber = { workspace = true } mockito = { workspace = true } sea-orm = { version = "1.1", features = [ "sqlx-sqlite", "sqlx-postgres", "runtime-tokio", "macros", "debug-print", ] } figment = { version = "0.10", features = ["toml", "json", "env", "yaml"] } uuid = { version = "1.6.0", features = ["v4"] } sea-orm-migration = { version = "1.1", features = ["runtime-tokio"] } rss = "2" fancy-regex = "0.14" maplit = "1.0.2" lightningcss = "1.0.0-alpha.66" html-escape = "0.2.13" opendal = { version = "0.53", features = ["default", "services-fs"] } zune-image = "0.4.15" once_cell = "1.20.2" scraper = "0.23" log = "0.4" async-graphql = { version = "7", features = ["dynamic-schema"] } async-graphql-axum = "7" seaography = { version = "1.1", features = [ "with-json", "with-chrono", "with-time", "with-uuid", "with-decimal", "with-bigdecimal", "with-postgres-array", ] } base64 = "0.22.1" tower = "0.5.2" tower-http = { version = "0.6", features = [ "trace", "catch-panic", "timeout", "add-extension", "cors", "fs", "set-header", "compression-full", ] } tera = "1.20.0" openidconnect = { version = "4" } dotenvy = "0.15.7" http = "1.2.0" async-stream = "0.3.6" serde_variant = "0.1.3" tracing-appender = "0.2.3" clap = "4.5.31" ipnetwork = "0.21.1" typed-builder = "0.21.0" apalis = { version = "0.7", features = ["limit", "tracing", "catch-panic"] } apalis-sql = { version = "0.7", features = ["postgres"] } cocoon = { version = "0.4.3", features = ["getrandom", "thiserror"] } rand = "0.9.1" rust_decimal = "1.37.1" reqwest_cookie_store = "0.8.0" nanoid = "0.4.0" jwtk = "0.4.0" color-eyre = { workspace = true, optional = true } inquire = { workspace = true, optional = true } percent-encoding = "2.3.1" [dev-dependencies] serial_test = "3" insta = { version = "1", features = ["redactions", "toml", "filters"] } rstest = "0.25" ctor = "0.4.0" inquire = { workspace = true } color-eyre = { workspace = true }