-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCargo.toml
More file actions
133 lines (106 loc) · 3.59 KB
/
Copy pathCargo.toml
File metadata and controls
133 lines (106 loc) · 3.59 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
[workspace]
members = [
"crates/fastskill-evals",
"crates/fastskill-core",
"crates/fastskill-cli",
]
resolver = "2"
[workspace.package]
version = "0.9.146"
edition = "2021"
authors = ["aroff"]
license = "Apache-2.0"
repository = "https://github.com/aroff/fastskill"
[workspace.dependencies]
# aikit-sdk for agent metadata file resolution
aikit-sdk = { git = "https://github.com/goaikit/aikit", rev = "435a1132" }
# aikit-evals provides the generic eval runner infrastructure
aikit-evals = { git = "https://github.com/goaikit/aikit", rev = "435a1132" }
# aikit-skillopt provides the text-gradient skill optimization loop
aikit-skillopt = { git = "https://github.com/goaikit/aikit", rev = "435a1132" }
# Async runtime
tokio = { version = "1.52", features = ["rt-multi-thread", "net", "fs", "io-util", "macros", "process"] }
async-trait = "0.1"
futures = "0.3"
# Serialization
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
serde_yaml = "0.9"
toml = "0.8"
# Format-preserving TOML editing (version bump must keep id/[tool]/comments)
toml_edit = "0.22"
# Error handling
anyhow = "1.0"
thiserror = "2.0"
# Utilities
uuid = { version = "1.23", default-features = false, features = ["v4", "serde"] }
chrono = { version = "0.4", default-features = false, features = ["serde", "clock"] }
once_cell = "1.19"
regex = { version = "1.10", default-features = false, features = ["unicode-perl"] }
num_cpus = "1.16"
# File system and I/O
tokio-util = { version = "0.7", features = ["io"] }
notify = "6.0"
walkdir = "2.5"
fs2 = "0.4"
# Archive handling
zip = { version = "0.6", default-features = false, features = ["deflate"] }
# HTTP client for embedding API (rustls for musl compatibility)
reqwest = { version = "0.12", default-features = false, features = ["json", "multipart", "rustls-tls"] }
# Multipart form data handling for skill uploads
multer = "3.1"
# HTTP server
axum = { version = "0.8", features = ["macros", "json", "multipart"] }
tower = { version = "0.5", features = ["util", "timeout", "limit"] }
tower-http = { version = "0.6", features = ["cors", "trace", "compression-gzip", "fs"] }
# CLI framework for versioned API server hosting
cli-framework = { git = "https://github.com/aroff/cli-framework", rev = "76a83e0d57e88b55e5f8c44fd3dffe1444443924", default-features = false, features = ["api-server"] }
# Request validation
validator = { version = "0.20", features = ["derive"] }
# SQLite for vector index
rusqlite = { version = "0.40", features = ["bundled"] }
# SHA256 hashing for file integrity
sha2 = "0.10"
# Base64 encoding/decoding for JWT parsing
base64 = "0.22"
# Logging
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
# Configuration
config = "0.15"
clap = { version = "4.4", features = ["derive"] }
inquire = "0.7"
# URL parsing
url = "2.5"
# File utilities
tempfile = "3.27"
# Directory utilities
dirs = "6.0"
# Embed static assets
include_dir = "0.7"
# Semantic versioning
semver = "1.0"
# AWS S3 storage (for registry publishing)
aws-sdk-s3 = "1"
aws-config = "1"
[workspace.lints.clippy]
# Warn about critical lints that should be avoided in production code
unwrap_used = "warn"
expect_used = "warn"
panic = "warn"
# Allow some lints in specific contexts
too_many_arguments = "allow"
module_name_repetitions = "allow"
[profile.release]
# Optimize for size
opt-level = "z"
# Link-time optimization for better size reduction
lto = true
# Single codegen unit for better optimization
codegen-units = 1
# Strip symbols to reduce binary size
strip = true
# Use abort instead of unwinding (smaller binary)
panic = "abort"
# No debug info in release
debug = false