webclaw/crates/noxa-rag/Cargo.toml
Jacob Magar 2e4343905f fix(noxa-68r.4): replace qdrant-client with plain reqwest REST calls
qdrant-client v1.x is gRPC-only — reqwest feature is snapshot downloads only.
Rewrite QdrantStore using direct HTTP calls against Qdrant REST API (port 6333):
- collection_exists: GET /collections/{name}
- create_collection: PUT /collections/{name} + PUT /collections/{name}/index
- upsert: PUT /collections/{name}/points?wait=true (256-batch)
- delete_by_url: POST /collections/{name}/points/delete?wait=true
- search: POST /collections/{name}/points/search
No new dependencies — reqwest already in workspace.
2026-04-12 08:48:47 -04:00

65 lines
1.4 KiB
TOML

[package]
name = "noxa-rag"
description = "RAG pipeline for noxa — TEI embeddings + Qdrant vector store"
version.workspace = true
edition.workspace = true
license.workspace = true
[[bin]]
name = "noxa-rag-daemon"
path = "src/bin/noxa-rag-daemon.rs"
[dependencies]
noxa-core = { workspace = true }
# Async runtime
tokio = { workspace = true }
# Serialization
serde = { workspace = true }
serde_json = { workspace = true }
toml = "0.8"
# Error handling
thiserror = { workspace = true }
# Tracing
tracing = { workspace = true }
tracing-subscriber = { workspace = true }
# Async traits
async-trait = "0.1"
# HTTP client (plain reqwest — no primp patches needed for TEI/Qdrant)
reqwest = { version = "0.12", default-features = false, features = ["json", "rustls-tls"] }
# No qdrant-client crate — REST calls via plain reqwest (no protoc/gRPC dependency)
# Chunking
text-splitter = { version = "0.25", features = ["markdown", "tokenizers"] }
tokenizers = "0.21"
# UUID v5 for deterministic point IDs
uuid = { version = "1", features = ["v5", "serde"] }
# Filesystem watcher
notify = "6"
notify-debouncer-mini = "0.4"
# Concurrent data structures
dashmap = "6"
# URL parsing
url = "2"
# CLI args
clap = { workspace = true }
# Date/time for failed-jobs log
chrono = { version = "0.4", features = ["serde"] }
# CancellationToken for coordinated shutdown
tokio-util = { version = "0.7", features = ["io"] }
[dev-dependencies]
tokio = { workspace = true }