-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCargo.toml
More file actions
121 lines (100 loc) · 3.13 KB
/
Copy pathCargo.toml
File metadata and controls
121 lines (100 loc) · 3.13 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
[workspace]
resolver = "2"
members = [
"crates/core",
"crates/store",
"crates/lifecycle",
"crates/mcp",
"crates/connector",
"crates/eventsourcing",
"crates/tui",
"bin",
]
default-members = ["bin"]
[workspace.lints.clippy]
all = { level = "warn", priority = -1 }
pedantic = { level = "warn", priority = -1 }
nursery = { level = "warn", priority = -1 }
cargo = { level = "warn", priority = -1 }
multiple_crate_versions = "allow"
implicit_return = "allow"
missing_errors_doc = "allow"
missing_panics_doc = "allow"
missing_safety_doc = "allow"
module_name_repetitions = "allow"
must_use_candidate = "allow"
similar_names = "allow"
too_many_lines = "allow"
cognitive_complexity = "allow"
[workspace.package]
version = "0.1.0"
edition = "2024"
license = "MIT"
authors = ["Dmytro Onypko <vaporif@proton.me>"]
description = "AI orchestration framework with RAG capabilities"
repository = "https://github.com/vaporif/nephila"
readme = "README.md"
keywords = ["ai", "orchestration", "rag", "llm", "embeddings"]
categories = ["development-tools"]
[workspace.dependencies]
# Internal
nephila-core = { path = "crates/core" }
nephila-store = { path = "crates/store" }
nephila-lifecycle = { path = "crates/lifecycle" }
nephila-mcp = { path = "crates/mcp" }
nephila-connector = { path = "crates/connector" }
nephila-eventsourcing = { path = "crates/eventsourcing" }
nephila-tui = { path = "crates/tui" }
# Async
tokio = { version = "1", features = ["full"] }
tokio-util = { version = "0.7", features = ["rt"] }
# Serialization
serde = { version = "1", features = ["derive"] }
serde_json = "1"
toml = "1.1"
# Error handling
thiserror = "2"
color-eyre = "0.6"
# IDs and time
uuid = { version = "1", features = ["v4", "serde"] }
chrono = { version = "0.4", features = ["serde"] }
# Storage
rusqlite = { version = "0.39", features = ["bundled", "vtab"] }
sqlite-vec = "0.1"
# HTTP / MCP
rmcp = { version = "1.3", features = ["server", "macros", "transport-streamable-http-server"] }
axum = "0.8"
schemars = "1.2"
# Ferrex (RAG library)
ferrex-core = { git = "https://github.com/vaporif/ferrex", rev = "0ea9703" }
ferrex-store = { git = "https://github.com/vaporif/ferrex", rev = "0ea9703" }
ferrex-embed = { git = "https://github.com/vaporif/ferrex", rev = "0ea9703" }
qdrant-client = { version = "1", default-features = false, features = ["serde"] }
# TUI
ratatui = "0.30"
crossterm = "0.29"
# CLI
clap = { version = "4", features = ["derive"] }
dirs = "6"
# Enum utilities
strum = { version = "0.28", features = ["derive"] }
# System
libc = "0.2"
nix = { version = "0.30", default-features = false, features = ["signal", "fs"] }
# Claude protocol types (default-features=false drops sync/async clients;
# the actual public submodules `io` and `protocol` come from the `types` feature).
claude-codes = { version = "2.1.117", default-features = false, features = ["types"] }
# Test fixtures / helpers
tempfile = "3"
# Logging
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
# Hashing
blake3 = "1"
# Concurrent collections / streams
dashmap = "6"
futures = "0.3"
# Benchmarks
criterion = "0.7"
# Property-based testing
proptest = "1"