-
Notifications
You must be signed in to change notification settings - Fork 23
Expand file tree
/
Copy pathCargo.toml
More file actions
93 lines (78 loc) · 2.54 KB
/
Cargo.toml
File metadata and controls
93 lines (78 loc) · 2.54 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
[package]
name = "codegraph-api"
version.workspace = true
edition.workspace = true
authors.workspace = true
license.workspace = true
description = "REST API server for CodeGraph using Axum"
[dependencies]
codegraph-core = { workspace = true }
codegraph-graph = { workspace = true }
codegraph-parser = { workspace = true }
codegraph-vector = { workspace = true }
memscope-rs = { workspace = true, optional = true }
axum = { workspace = true }
tower = { workspace = true }
# Enable compression features for response compression
tower-http = { workspace = true, features = ["compression-br", "compression-gzip", "compression-deflate", "compression-zstd", "trace", "cors", "set-header"] }
hyper = { workspace = true }
http = { workspace = true }
tokio = { workspace = true }
reqwest = { workspace = true }
url = { workspace = true }
parking_lot = { workspace = true }
dashmap = { workspace = true }
async-trait = { workspace = true }
serde = { workspace = true }
serde_json = { workspace = true }
uuid = { workspace = true }
chrono = { workspace = true }
lazy_static = { workspace = true }
utoipa = { workspace = true }
utoipa-swagger-ui = { workspace = true, optional = true }
tracing = { workspace = true }
tracing-subscriber = { workspace = true }
anyhow = { workspace = true }
thiserror = { workspace = true }
sysinfo = { workspace = true }
sha2 = { workspace = true }
secrecy = { workspace = true }
# Setup wizard dependencies
dialoguer = "0.11"
dirs = "6.0"
toml = { workspace = true }
# GraphQL
async-graphql = { workspace = true, features = ["chrono", "dataloader"] }
async-stream = "0.3.6"
# Streaming responses for large datasets
axum-streams = { version = "0.23.1", features = ["json", "csv", "text"] }
futures = { workspace = true }
zstd = { workspace = true }
# Auth
jsonwebtoken = "9.3.1"
governor = { workspace = true, features = ["std"] }
prometheus = { workspace = true }
[dev-dependencies]
tokio-test = { workspace = true }
hyper = { workspace = true }
criterion = { workspace = true }
axum-test = "18.1"
async-trait = { workspace = true }
tempfile = { workspace = true }
[features]
# Enable runtime memory leak detection, stack traces, and Prometheus metrics.
# This pulls in a global tracking allocator from memscope-rs and adds routes
# for memory stats and leak report exports.
leak-detect = ["dep:memscope-rs"]
openapi-ui = ["dep:utoipa-swagger-ui"]
minimal = []
graphql = []
http2 = []
[[bench]]
name = "api_benchmarks"
harness = false
path = "src/graphql/benchmarks.rs"
[[bench]]
name = "streaming_benchmarks"
harness = false
path = "benches/streaming_benchmarks.rs"