Files
k-core/Cargo.toml
Gabriel Kaszewski 0ea9aa7870 refactor: remove session auth, add DbType enum, native async broker
- Remove `auth`, `sessions-db` features and all tower-sessions/tower-sessions-sqlx-store deps
- Delete `src/session.rs` (InfraSessionStore)
- `ServerConfig`: remove `session_secret` field and `attach_session_layer()` helper
- `db.rs`: add explicit `DbType` enum to `DatabaseConfig`; `connect()` now matches on
  `db_type` instead of sniffing URL prefixes; remove `connect_sqlite()` standalone fn
- `broker/mod.rs`: replace `#[async_trait]` with native async fn (Rust 2024 AFIT)
- `broker/nats.rs`: remove `#[async_trait]` to match trait definition
- `ai/embeddings.rs`: remove sync `generate_embedding()` (wasteful thread spawn);
  keep only `generate_embedding_async()` as the public API
- Default features: `["logging", "db-sqlx", "auth", "http"]` → `["logging"]`
- Bump version to 0.1.11

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-05 01:36:52 +01:00

60 lines
1.5 KiB
TOML

[package]
name = "k-core"
version = "0.1.11"
edition = "2024"
[features]
default = ["logging"]
logging = ["dep:tracing", "dep:tracing-subscriber"]
db-sqlx = ["dep:sqlx"]
postgres = ["db-sqlx", "sqlx/postgres"]
sqlite = ["db-sqlx", "sqlx/sqlite"]
ai = ["dep:fastembed", "dep:qdrant-client"]
broker = []
broker-nats = ["broker", "dep:async-nats", "dep:futures-util", "dep:futures-core"]
http = ["dep:axum", "dep:tower", "dep:tower-http", "logging"]
[dependencies]
# Error handling
thiserror = "2.0.17"
anyhow = "1.0.100"
# Async
tokio = { version = "1.48.0", features = ["full"] }
# Database
sqlx = { version = "0.8.6", features = [
"runtime-tokio",
"macros",
"chrono",
"uuid",
], optional = true }
# Logging
tracing = { version = "0.1", optional = true }
tracing-subscriber = { version = "0.3.22", features = [
"env-filter",
"fmt",
], optional = true }
# Utils
chrono = { version = "0.4.42", features = ["serde"] }
uuid = { version = "1.19.0", features = ["v4", "serde"] }
serde = { version = "1.0.228", features = ["derive"] }
async-trait = "0.1.89"
# AI
fastembed = { version = "5.4", optional = true }
qdrant-client = { version = "1.16", optional = true }
# Broker
async-nats = { version = "0.45", optional = true }
# HTTP
axum = { version = "0.8.8", features = ["macros"], optional = true }
tower = { version = "0.5.2", optional = true }
tower-http = { version = "0.6.2", features = ["cors", "trace"], optional = true }
futures-util = { version = "0.3", optional = true }
futures-core = { version = "0.3", optional = true }