forked from Michael-A-Kuykendall/rustchain
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCargo.toml
More file actions
152 lines (141 loc) · 4.82 KB
/
Copy pathCargo.toml
File metadata and controls
152 lines (141 loc) · 4.82 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
[workspace]
[package]
name = "rustchain"
version = "0.1.0"
edition = "2021"
description = "Workflow transpilation and execution framework - import LangChain, Airflow, GitHub Actions, and more"
authors = ["RustChain Team <team@rustchain.dev>"]
license = "MIT OR Apache-2.0"
repository = "https://github.com/Michael-A-Kuykendall/rustchain"
homepage = "https://rustchain.dev"
documentation = "https://docs.rs/rustchain"
readme = "README.md"
keywords = ["ai", "agents", "automation", "llm", "safety"]
categories = ["development-tools", "web-programming::http-server", "command-line-utilities"]
rust-version = "1.70"
[lib]
name = "rustchain"
path = "src/lib.rs"
[[bin]]
name = "rustchain"
path = "src/main.rs"
required-features = ["cli"]
[[bin]]
name = "rustchain-benchmark"
path = "benchmarks/langchain_comparison/rustchain_benchmark.rs"
[[bin]]
name = "rustchain-benchmark-v2"
path = "benchmarks/langchain_comparison/rustchain_benchmark_v2.rs"
required-features = ["llm"]
[features]
# Default: minimal library + CLI
default = ["cli", "transpiler", "tools"]
# Enable proptest-backed property testing helpers in invariant_ppt
proptest = ["dep:proptest"]
# Gates
ppt = []
full = []
# Define all optional modules referenced in lib.rs to avoid unexpected cfg warnings
llm = ["dep:reqwest"]
tools = ["dep:reqwest"]
rag = ["dep:qdrant-client", "dep:reqwest"]
smt = ["dep:reqwest"]
transpiler = ["dep:regex"] # Universal workflow transpilation
cli = ["dep:clap"]
sandbox = []
server = ["dep:axum", "dep:tower", "dep:tower-http"]
registry = ["dep:reqwest"]
enterprise = ["dep:jsonwebtoken", "registry"]
# Additional step type feature flags
# sqlx = ["dep:sqlx"] # Temporarily disabled due to RSA vulnerability
redis = ["dep:redis"]
# ftp = ["dep:ftp"] # Disabled due to security vulnerabilities - will reimplement with secure alternative
openssh = ["dep:openssh"]
# Universal transpiler system (defined above)
tokio-tungstenite = ["dep:tokio-tungstenite"]
# Note: Enterprise features (registry, security, visual) are available
# via the rustchain-enterprise plugin for licensed users
# Community edition includes basic enterprise feature flag for compatibility
[dependencies]
# Core async runtime
tokio = { version = "1.38", features = ["macros", "rt-multi-thread", "time", "fs", "process", "sync", "io-util"] }
# CLI
clap = { version = "4.4", features = ["derive"], optional = true }
# Serialization
serde = { version = "1.0", features = ["derive"] }
serde_yaml = "0.9"
serde_json = "1.0"
scraper = "0.20"
toml = "0.8"
# Schema generation
schemars = { version = "0.8", features = ["chrono", "uuid"] }
# Logging and tracing
tracing = "0.1"
tracing-subscriber = { version = "0.3.20", features = ["json", "env-filter"] }
# Error handling
thiserror = "1.0"
anyhow = "1.0"
# Utilities
once_cell = "1.19"
uuid = { version = "1.6", features = ["v4", "serde"] }
chrono = { version = "0.4", features = ["serde"] }
# Document processing
csv = "1.3"
xml-rs = "0.8"
zip = "0.6"
tar = "0.4"
walkdir = "2.4"
# Async utilities
async-trait = "0.1"
futures = "0.3"
# Parallel processing (for benchmarks)
rayon = "1.10"
num_cpus = "1.16"
# HTTP client and server
reqwest = { version = "0.11", features = ["json", "stream", "multipart", "blocking"], optional = true }
axum = { version = "0.7", features = ["ws"], optional = true }
tower = { version = "0.4", features = ["timeout", "limit"], optional = true }
tower-http = { version = "0.5", features = ["cors", "trace"], optional = true }
# Security and hashing
sha2 = "0.10"
aes-gcm = "0.10"
pbkdf2 = "0.12"
jsonwebtoken = { version = "9.3", optional = true }
# Pattern matching
glob = "0.3"
regex = { version = "1.10", optional = true }
hex = "0.4"
base64 = "0.22"
# Terminal detection for colored output
is-terminal = "0.4"
# URL encoding for web search queries
urlencoding = "2.1"
# Temporary file handling for Python interpreter
tempfile = "3.0"
# Process management
sysinfo = "0.30"
# Networking
tokio-tungstenite = { version = "0.21", optional = true }
# ftp = { version = "3.0", optional = true } # Removed due to security vulnerabilities
# Vector database
qdrant-client = { version = "1.7", optional = true }
# Database
# sqlx = { version = "0.8.1", features = ["sqlite", "runtime-tokio-rustls", "chrono", "uuid"], optional = true, default-features = false } # Temporarily disabled due to RSA vulnerability
redis = { version = "0.32", optional = true }
# Compliance verification - now self-contained within RustChain
# External comply dependency removed after successful mitosis - TRUE MITOSIS COMPLETE!
# Note: Enterprise dependencies moved to rustchain-enterprise repo
[dev-dependencies]
tokio-test = "0.4"
tempfile = "3.0"
tower = "0.4"
axum-test = "14.0"
assert_cmd = "2.0"
predicates = "3.0"
proptest = "1.4"
[dependencies.proptest]
version = "1.4"
optional = true
# Platform-specific dependencies
[target.'cfg(unix)'.dependencies]
openssh = { version = "0.10", optional = true }