rustchain 0.1.0

Workflow transpilation and execution framework - import LangChain, Airflow, GitHub Actions, and more
Documentation
[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 }