forked from bosun-ai/swiftide
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCargo.toml
More file actions
158 lines (150 loc) · 6.56 KB
/
Cargo.toml
File metadata and controls
158 lines (150 loc) · 6.56 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
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
[workspace]
members = ["swiftide", "swiftide-*", "examples", "benchmarks"]
default-members = ["swiftide", "swiftide-*"]
resolver = "2"
[workspace.package]
version = "0.32.1"
edition = "2024"
license = "MIT"
readme = "README.md"
keywords = ["llm", "rag", "ai", "data", "openai"]
description = "Fast, streaming indexing, query, and agentic LLM applications in Rust"
categories = ["asynchronous"]
repository = "https://github.com/bosun-ai/swiftide"
homepage = "https://swiftide.rs"
[profile.dev.package]
insta.opt-level = 3
similar.opt-level = 3
[workspace.dependencies]
anyhow = { version = "1.0", default-features = false }
thiserror = { version = "2.0", default-features = false }
async-trait = { version = "0.1", default-features = false }
derive_builder = { version = "0.20", default-features = true }
fs-err = { version = "3.1", default-features = false }
futures-util = { version = "0.3", default-features = true }
tokio = { version = "1.46", features = [
"rt-multi-thread",
"time",
], default-features = false }
tokio-stream = { version = "0.1", default-features = false, features = [
"time",
] }
tokio-util = { version = "0.7", default-features = false }
tracing = { version = "0.1", features = [
"log",
"attributes",
], default-features = false }
num_cpus = { version = "1.17", default-features = false }
pin-project = { version = "1.1", default-features = false }
itertools = { version = "0.14", default-features = true }
serde = { version = "1.0", features = [
"derive",
"std",
], default-features = false }
serde_json = { version = "1.0", default-features = false, features = ["std"] }
strum = { version = "0.28", default-features = false }
strum_macros = { version = "0.28", default-features = false }
lazy_static = { version = "1.5", default-features = false }
chrono = { version = "0.4", default-features = false }
indoc = { version = "2.0", default-features = false }
regex = { version = "1.11", default-features = false }
uuid = { version = "1.18", features = [
"v3",
"v4",
"serde",
], default-features = false }
dyn-clone = { version = "1.0", default-features = false }
convert_case = { version = "0.11", default-features = false }
base64 = { version = "0.22", default-features = false, features = ["std"] }
# Mcp
rmcp = { version = "0.17", default-features = false, features = [
"base64",
"macros",
"server",
] }
schemars = { version = "1.0", default-features = false }
# Integrations
spider = { version = "2.45", default-features = false }
async-openai = { version = ">=0.33.0", default-features = false }
qdrant-client = { version = "1.17", default-features = false, features = [
"serde",
] }
fluvio = { version = "0.50.1", default-features = false }
rdkafka = { version = "0.39.0", features = ["cmake-build"] }
lancedb = { version = "0.26", default-features = false, features = ["remote"] }
# Needs to stay in sync with whatever lancdb uses, nice
arrow-array = { version = "57.1", default-features = false }
parquet = { version = "57.1", default-features = false, features = ["async"] }
redb = { version = "3.1", default-features = false }
sqlx = { version = "0.8", features = [
"postgres",
"uuid",
], default-features = false }
aws-config = { version = "1.8", default-features = true }
pgvector = { version = "0.4", features = ["sqlx"], default-features = false }
aws-credential-types = { version = "1.2", default-features = false }
aws-sdk-bedrockruntime = { version = "1.126", default-features = false }
aws-smithy-types = { version = "1.3", default-features = false }
criterion = { version = "0.8", default-features = false }
darling = { version = "0.23", default-features = false }
deadpool = { version = "0.13", default-features = false }
document-features = { version = "0.2" }
fastembed = { version = "5.5", default-features = false }
flv-util = { version = "0.5", default-features = false }
htmd = { version = "0.5", default-features = false }
ignore = { version = "0.4", default-features = false }
proc-macro2 = { version = "1.0", default-features = false }
quote = { version = "1.0", default-features = false }
redis = { version = "1.0", default-features = false }
reqwest = { version = "0.13", default-features = false }
secrecy = { version = "0.10", default-features = false }
syn = { version = "2.0", default-features = false }
tera = { version = "1.20", default-features = false }
text-splitter = { version = "0.29", default-features = false }
tracing-subscriber = { version = "0.3", default-features = true }
tree-sitter = { version = "0.26", default-features = false, features = ["std"] }
tree-sitter-java = { version = "0.23", default-features = false }
tree-sitter-javascript = { version = "0.25", default-features = false }
tree-sitter-python = { version = "0.25", default-features = false }
tree-sitter-ruby = { version = "0.23", default-features = false }
tree-sitter-rust = { version = "0.24", default-features = false }
tree-sitter-typescript = { version = "0.23", default-features = false }
tree-sitter-go = { version = "0.25", default-features = false }
tree-sitter-solidity = { version = "1.2", default-features = false }
tree-sitter-c = { version = "0.24", default-features = false }
tree-sitter-cpp = { version = "0.23", default-features = false }
tree-sitter-elixir = { version = "0.3.4", default-features = false }
tree-sitter-html = { version = "0.23", default-features = false }
tree-sitter-php = { version = "0.24", default-features = false }
tree-sitter-c-sharp = { version = "0.23", default-features = false }
async-anthropic = { version = "0.6.0", default-features = false }
duckdb = { version = "1", default-features = false }
libduckdb-sys = { version = "1", default-features = false }
metrics = { version = "0.24", default-features = false }
tiktoken-rs = { version = "0.9", default-features = false }
reqwest-eventsource = { version = "0.6", default-features = false }
# Testing
test-log = { version = "0.2" }
testcontainers = { version = "0.27", features = ["http_wait"] }
testcontainers-modules = { version = "0.15" }
mockall = { version = "0.14" }
temp-dir = { version = "0.2" }
wiremock = { version = "0.6" }
test-case = { version = "3.3" }
pretty_assertions = { version = "1.4" }
insta = { version = "1.45", features = ["yaml", "filters"] }
eventsource-stream = { version = "0.2" }
[workspace.lints.rust]
unsafe_code = "forbid"
unexpected_cfgs = { level = "warn", check-cfg = [
'cfg(coverage,coverage_nightly)',
] }
[workspace.lints.clippy]
cargo = { level = "warn", priority = -1 }
pedantic = { level = "warn", priority = -1 }
blocks_in_conditions = "allow"
must_use_candidate = "allow"
module_name_repetitions = "allow"
missing_fields_in_debug = "allow"
# Should be fixed asap
multiple_crate_versions = "allow"