[package] name = "weaver-index" version.workspace = true edition.workspace = true license.workspace = true publish = false default-run = "indexer" [features] default = [] [[bin]] name = "storage-benchmark" path = "src/bin/storage_benchmark.rs" [[bin]] name = "indexer" path = "src/bin/weaver_indexer.rs" [dependencies] # Internal weaver-api = { path = "../weaver-api", features = ["streaming"] } weaver-common = { path = "../weaver-common", features = ["telemetry"] } # AT Protocol / Jacquard jacquard = { workspace = true, features = ["websocket", "zstd", "dns", "cache"] } jacquard-common = { workspace = true, features = ["service-auth","crypto-ed25519"] } jacquard-repo = { workspace = true } jacquard-axum = { workspace = true } # Crypto (for service identity keypair) k256 = { version = "0.13", features = ["ecdsa"] } rand = "0.8" # ClickHouse clickhouse = { version = "0.14", features = ["inserter", "chrono", "rustls-tls-ring", "rustls-tls-webpki-roots"] } # Serialization serde = { workspace = true } serde_json = "1.0" serde_ipld_dagcbor = "0.6" ciborium = "0.2" # Async runtime tokio = { version = "1.44", features = ["full"] } n0-future = { workspace = true } # Error handling miette = { workspace = true, features = ["fancy"] } thiserror = { workspace = true } # Config / CLI clap = { version = "4.5", features = ["derive", "env"] } dotenvy = "0.15" # Tracing tracing = { workspace = true } tracing-subscriber = { version = "0.3", features = ["env-filter"] } # Data types bytes = { workspace = true } url = "2" chrono = { version = "0.4", features = ["serde"] } smol_str = "0.3" # CRDT (for parsing draft snapshots) loro = { workspace = true } # CID handling (for CAR block lookups) cid = "0.11" # Utilities humansize = "2.0" base64 = "0.22" dashmap = "6" include_dir = "0.7.4" regex = "1" mini-moka = { git = "https://github.com/moka-rs/mini-moka", rev = "da864e849f5d034f32e02197fee9bb5d5af36d3d" } # WebSocket (for tap consumer) tokio-tungstenite = { version = "0.26", features = ["native-tls"] } futures-util = "0.3" # HTTP server axum = { version = "0.8.7", features = ["macros"] } tower = "0.5.2" tower-http = { version = "0.6.7", features = ["trace", "cors"] } # SQLite (shard storage) rusqlite = { version = "0.37.0", features = ["bundled"] } rusqlite_migration = { version = "2.1.0", features = ["from-directory"] }