-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathCargo.toml
More file actions
141 lines (130 loc) · 5.19 KB
/
Copy pathCargo.toml
File metadata and controls
141 lines (130 loc) · 5.19 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
[workspace]
members = [
"crates/rskim-core",
"crates/rskim",
"crates/rskim-proxy",
"crates/rskim-search",
"crates/rskim-research",
"crates/rskim-bench",
"crates/rskim-tokens",
"crates/rskim-contract",
"crates/rskim-llm",
"crates/rskim-compress",
]
resolver = "2"
# Shared dependencies across workspace
[workspace.dependencies]
# Updated to 0.25 for ABI 15 compatibility (required for markdown support)
# tree-sitter 0.25 supports ABI 15, matching the 0.25.x grammar crates
tree-sitter = "0.25"
tree-sitter-typescript = "0.23" # Keep 0.23 - latest stable (ABI 14)
tree-sitter-javascript = "0.25" # ABI 15
tree-sitter-python = "0.25" # ABI 15
tree-sitter-rust = "0.24" # ABI 14
tree-sitter-go = "0.25" # ABI 15
tree-sitter-java = "0.23" # Keep 0.23 - latest stable (ABI 14)
tree-sitter-md = "0.5" # Requires ABI 15 (tree-sitter 0.25+)
tree-sitter-c = "0.24" # ABI 14
tree-sitter-cpp = "0.23" # ABI 14
tree-sitter-c-sharp = "0.23" # ABI 14
tree-sitter-ruby = "0.23" # ABI 14
tree-sitter-sequel = "0.3" # SQL grammar (derekstride/tree-sitter-sql)
tree-sitter-kotlin-ng = "1.1" # Kotlin grammar (ABI 14)
tree-sitter-swift = "0.7" # Swift grammar (ABI 14)
tree-sitter-bash = "0.25" # Bash grammar (ABI 15)
toml = "0.8"
thiserror = "2.0"
anyhow = "1.0"
globset = "0.4"
ignore = "0.4"
rayon = "1.10"
dirs = "6.0"
serde = { version = "1.0", features = ["derive"] }
# preserve_order: byte-stable key ordering for round-trip serialization (#302).
# raw_value: number tokens compared as source bytes for byte-faithful equality (#301).
# NOT arbitrary_precision — that changes Value number semantics across the codebase.
serde_json = { version = "1.0", features = ["preserve_order", "raw_value"] }
serde_yaml_ng = "0.10"
sha2 = "0.10"
tiktoken-rs = "0.7"
clap = { version = "4.5", features = ["derive"] }
clap_complete = "4.5"
strip-ansi-escapes = "0.2"
regex = "1"
rusqlite = { version = "0.31", features = ["bundled"] }
colored = "2"
indicatif = "0.18"
inquire = "0.9"
comfy-table = "7"
crossterm = { version = "0.29", default-features = false }
assert_cmd = "2.0"
predicates = "3.0"
tempfile = "3.0"
memmap2 = "0.9"
crc32fast = "1.4"
insta = "1.39"
criterion = "0.5"
proptest = "1.4" # property-based testing shared by #301 and #302
# Pinned to 1.x (not 2.x) to unify with tiktoken-rs's transitive rustc-hash ^1.1.0
# requirement — bumping to 2.x would force two major versions into the binary for
# a zero-functional-gain hasher swap. Review when tiktoken-rs drops the 1.x pin.
rustc-hash = "1"
serial_test = "3.0"
libc = "0.2"
filetime = "0.2"
crossbeam-channel = "0.5"
static_assertions = "1.1"
trybuild = "1.0"
gix = { version = "0.72", default-features = false, features = ["max-performance-safe", "blob-diff"] }
quick-xml = "0.37"
# Optional synchronous HTTP client for rskim-tokens net-anthropic feature.
# Uses rustls for TLS (transitive via ureq 3.x); json feature not needed — net.rs uses serde_json directly.
ureq = { version = "3.3", default-features = false, features = ["rustls"] }
# Async runtime for rskim-proxy (AD-PXY-01). First async runtime in the workspace.
# Version constraint "1.44" — resolves to tokio 1.52.3 in Cargo.lock (stable series).
tokio = { version = "1.44", default-features = false }
# HTTP/1.1 server + client — hyper 1.x stable series.
# hyper 1.10 — mature stable release, aligns with hyper-util 0.1.x.
hyper = { version = "1.10", default-features = false }
hyper-util = { version = "0.1", default-features = false }
http-body-util = { version = "0.1" }
# http-body 1.x — the core Body trait; transitive via hyper 1.x.
# Pinned to 1.x matching hyper 1.10.
http-body = { version = "1" }
# TLS — rustls 0.23.x matches the existing lockfile entry (pulled in by ureq 3.3).
# webpki-roots: hermetic root-cert bundle; no OS trust-store access (#346 tracks opt-in).
rustls = { version = "0.23", default-features = false, features = ["ring"] }
# hyper-rustls 0.27 targets rustls 0.23.x.
hyper-rustls = { version = "0.27", default-features = false }
# Byte buffer type shared by hyper body handling in rskim-proxy.
# bytes 1.11.x — aligned with hyper 1.x's own bytes dependency.
bytes = "1.11"
# WebPKI root certificate bundle — hermetic TLS for rskim-proxy upstream client.
# webpki-roots 1.0.7 — soaked, already in the lockfile via hyper-rustls transitive dep.
# OS trust-store option tracked in #346.
webpki-roots = "1.0"
# tokio-rustls — the async TLS adapter used by hyper-rustls under the hood.
# version "0.26" (net-new transitive dep pulled in by this branch via hyper-rustls).
tokio-rustls = { version = "0.26", default-features = false }
# Structured tracing for rskim-proxy JSON logs.
tracing = { version = "0.1" }
tracing-subscriber = { version = "0.3", default-features = false }
[workspace.metadata.dist]
cargo-dist-version = "0.14.0"
ci = ["github"]
installers = ["shell", "npm"]
targets = [
"x86_64-unknown-linux-gnu",
"aarch64-unknown-linux-gnu",
"x86_64-apple-darwin",
"aarch64-apple-darwin",
"x86_64-pc-windows-msvc"
]
# npm package name (unscoped)
[workspace.metadata.dist.npm]
package = "rskim"
[profile.release]
opt-level = 3
lto = true
codegen-units = 1
strip = true