[package]
edition = "2021"
rust-version = "1.75"
name = "reasonkit-core"
version = "0.1.7"
authors = ["ReasonKit Team <team@reasonkit.sh>"]
build = false
include = [
"/src/**/*",
"/benches/**/*",
"/examples/**/*",
"/config/default.toml",
"/config/cli_defaults.toml",
"/protocols/**/*",
"/.cargo/config.toml",
"/Cargo.toml",
"/README.md",
"/LICENSE",
"/CHANGELOG.md",
"/SECURITY.md",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "The Reasoning Engine — Auditable Reasoning for Production AI | Rust-Native | Turn Prompts into Protocols"
homepage = "https://reasonkit.sh"
documentation = "https://docs.rs/reasonkit-core"
readme = "README.md"
keywords = [
"rag",
"llm",
"reasoning",
"knowledge-base",
"ai",
]
categories = [
"command-line-utilities",
"science",
"algorithms",
"development-tools",
]
license = "Apache-2.0"
repository = "https://github.com/reasonkit/reasonkit-core"
[package.metadata.docs.rs]
features = ["cli"]
rustdoc-args = [
"--cfg",
"docsrs",
]
default-target = "x86_64-unknown-linux-gnu"
targets = [
"x86_64-unknown-linux-gnu",
"aarch64-apple-darwin",
"x86_64-pc-windows-msvc",
]
[badges.maintenance]
status = "actively-developed"
[features]
aesthetic = ["md5"]
arf = [
"sled",
"wasmtime",
"sysinfo",
"petgraph",
"rust-bert",
]
audit-crypto = [
"ed25519-dalek",
"rs_merkle",
"blake3",
"hex",
]
caching = ["moka"]
cli = []
code-intelligence = []
config-enhanced = [
"figment",
"cacache",
]
constrained = []
cuda = []
daemon = ["dep:tracing-appender"]
datalog = ["crepe"]
default = [
"cli",
"mcp-client",
"ml-testing",
"got",
]
egraph = ["egglog"]
embedded-qdrant = []
enhanced-reasoning = [
"got",
"optimization",
"constrained",
]
fast-hash = ["blake3"]
formal-verification = ["z3"]
full = [
"cli",
"mcp-client",
"memory",
"local-embeddings",
"aesthetic",
]
full-pro = [
"full",
"mcp-server-pro",
]
glm46 = ["mcp-server-pro"]
got = ["petgraph"]
graph-execution = [
"petgraph",
"daggy",
]
knowledge-graph = ["oxigraph"]
llm-observability = ["langfuse"]
llm-orchestration = ["rig-core"]
llm-orchestration-multi = ["llm"]
local-embeddings = [
"ort",
"tokenizers",
"ndarray",
]
local-llm = ["llama-cpp-2"]
local-ml = [
"candle-core",
"candle-nn",
"candle-transformers",
]
mcp-client = []
mcp-official = ["rmcp"]
mcp-server-pro = ["mcp-client"]
memory = [
"dep:reasonkit-mem",
"dep:qdrant-client",
"dep:tantivy",
]
metal = []
minimax = []
ml-testing = ["ndarray"]
ndarray = ["dep:ndarray"]
optimization = []
otel = [
"opentelemetry",
"opentelemetry_sdk",
"opentelemetry-otlp",
"tracing-opentelemetry",
]
performance = [
"monoio",
"mimalloc",
"rkyv",
"bitcode",
]
probabilistic = [
"rv",
"statrs",
]
python = ["pyo3"]
research-full = [
"research-phase2",
"research-phase3",
"research-phase4",
]
research-phase2 = [
"llm-orchestration",
"formal-verification",
"caching",
"otel",
"structured-output",
"fast-hash",
]
research-phase3 = [
"datalog",
"egraph",
"wasm-sandbox",
"tokenization",
"llm-observability",
"probabilistic",
"sampling",
]
research-phase4 = [
"mcp-official",
"performance",
"verification",
"graph-execution",
"audit-crypto",
"wasm-plugins",
"config-enhanced",
]
research-phase5 = [
"llm-orchestration-multi",
"local-ml",
"knowledge-graph",
]
research-ultimate = [
"research-full",
"research-phase5",
]
sampling = ["llm-samplers"]
streaming = [
"differential-dataflow",
"timely",
]
structured-generation = ["outlines-core"]
structured-output = ["rstructor"]
tokenization = ["tiktoken-rs"]
verification = [
"bolero",
"quickcheck",
]
vibe = []
wasm-plugins = ["extism"]
wasm-sandbox = [
"wasmtime",
"wasmtime-wasi",
]
[lib]
name = "reasonkit"
crate-type = [
"cdylib",
"rlib",
]
path = "src/lib.rs"
doctest = false
[[bin]]
name = "mcp_cli"
path = "src/bin/mcp_cli.rs"
[[bin]]
name = "rk-bench"
path = "src/bin/bench.rs"
[[bin]]
name = "rk-compare"
path = "src/bin/compare.rs"
[[bin]]
name = "rk-core"
path = "src/main.rs"
[[example]]
name = "aesthetic_demo"
path = "examples/aesthetic_demo.rs"
required-features = ["aesthetic"]
[[example]]
name = "edge_case_generator_demo"
path = "examples/edge_case_generator_demo.rs"
[[example]]
name = "glm46_quick_start"
path = "examples/glm46_quick_start.rs"
required-features = ["glm46"]
[[example]]
name = "m2_integration_example"
path = "examples/m2_integration_example.rs"
required-features = ["minimax"]
[[example]]
name = "main_demo"
path = "examples/main_demo.rs"
[[example]]
name = "memory_interface_usage"
path = "examples/memory_interface_usage.rs"
[[example]]
name = "memory_service_example"
path = "examples/memory_service_example.rs"
[[example]]
name = "ml_testing_demo"
path = "examples/ml_testing_demo.rs"
[[example]]
name = "multi_model_validator_example"
path = "examples/multi_model_validator_example.rs"
[[example]]
name = "powercombo"
path = "examples/powercombo.rs"
[[example]]
name = "protocol_delta_demo"
path = "examples/protocol_delta_demo.rs"
[[example]]
name = "quick-start-core"
path = "examples/quick-start-core.rs"
[[example]]
name = "rag_performance_demo"
path = "examples/rag_performance_demo.rs"
required-features = ["memory"]
[[example]]
name = "simple_query"
path = "examples/simple_query.rs"
[[example]]
name = "vibe_quick_start"
path = "examples/vibe_quick_start.rs"
required-features = ["vibe"]
[[example]]
name = "web_adapter_example"
path = "examples/web_adapter_example.rs"
[[example]]
name = "web_adapter_integration"
path = "examples/web_adapter_integration.rs"
[[example]]
name = "ws_mcp_server"
path = "examples/ws_mcp_server.rs"
[[bench]]
name = "docset_tools_bench"
path = "benches/docset_tools_bench.rs"
harness = false
required-features = ["memory"]
[[bench]]
name = "embedding_bench"
path = "benches/embedding_bench.rs"
harness = false
required-features = ["memory"]
[[bench]]
name = "fusion_bench"
path = "benches/fusion_bench.rs"
harness = false
required-features = ["memory"]
[[bench]]
name = "glm46_benchmark"
path = "benches/glm46_benchmark.rs"
harness = false
required-features = ["glm46"]
[[bench]]
name = "harness"
path = "benches/harness.rs"
harness = false
required-features = ["memory"]
[[bench]]
name = "hybrid_search_bench"
path = "benches/hybrid_search_bench.rs"
[[bench]]
name = "ingestion_bench"
path = "benches/ingestion_bench.rs"
harness = false
required-features = ["memory"]
[[bench]]
name = "qdrant_optimization_bench"
path = "benches/qdrant_optimization_bench.rs"
[[bench]]
name = "raptor_bench"
path = "benches/raptor_bench.rs"
harness = false
required-features = ["memory"]
[[bench]]
name = "rerank_bench"
path = "benches/rerank_bench.rs"
harness = false
required-features = ["memory"]
[[bench]]
name = "retrieval_bench"
path = "benches/retrieval_bench.rs"
harness = false
required-features = ["memory"]
[[bench]]
name = "thinktool_bench"
path = "benches/thinktool_bench.rs"
harness = false
[[bench]]
name = "vector_search_bench"
path = "benches/vector_search_bench.rs"
[dependencies.anyhow]
version = "1.0"
[dependencies.async-trait]
version = "0.1"
[dependencies.axum]
version = "0.7"
features = ["ws"]
[dependencies.base64]
version = "0.22"
[dependencies.bitcode]
version = "0.6"
features = ["serde"]
optional = true
[dependencies.blake3]
version = "1.5"
optional = true
[dependencies.bolero]
version = "0.11"
optional = true
[dependencies.cacache]
version = "13"
optional = true
[dependencies.candle-core]
version = "0.8"
optional = true
[dependencies.candle-nn]
version = "0.8"
optional = true
[dependencies.candle-transformers]
version = "0.8"
optional = true
[dependencies.chrono]
version = "0.4"
features = ["serde"]
[dependencies.clap]
version = "4"
features = [
"derive",
"env",
]
[dependencies.clap_complete]
version = "4.5"
[dependencies.config]
version = "0.14"
[dependencies.console]
version = "0.16"
features = ["std"]
[dependencies.crepe]
version = "0.1"
optional = true
[dependencies.daggy]
version = "0.8"
optional = true
[dependencies.differential-dataflow]
version = "0.12"
optional = true
[dependencies.directories]
version = "5"
[dependencies.dirs]
version = "5"
[dependencies.dotenvy]
version = "0.15"
[dependencies.ed25519-dalek]
version = "2.1"
features = ["rand_core"]
optional = true
[dependencies.egglog]
version = "0.3"
optional = true
[dependencies.extism]
version = "1.7"
optional = true
[dependencies.figment]
version = "0.10"
features = [
"toml",
"yaml",
"json",
"env",
]
optional = true
[dependencies.futures]
version = "0.3"
features = ["std"]
default-features = false
[dependencies.futures-util]
version = "0.3"
features = ["std"]
[dependencies.hex]
version = "0.4"
optional = true
[dependencies.hyper]
version = "1"
[dependencies.indicatif]
version = "0.17"
[dependencies.jsonschema]
version = "0.18"
[dependencies.langfuse]
version = "0.1"
optional = true
[dependencies.llama-cpp-2]
version = "0.1"
optional = true
[dependencies.llm]
version = "1.2"
optional = true
[dependencies.llm-samplers]
version = "0.0.7"
optional = true
[dependencies.lopdf]
version = "0.33"
[dependencies.md5]
version = "0.7"
optional = true
[dependencies.miette]
version = "5.10.0"
features = ["fancy"]
[dependencies.mimalloc]
version = "0.1"
optional = true
[dependencies.moka]
version = "0.12"
features = ["future"]
optional = true
[dependencies.monoio]
version = "0.2"
optional = true
[dependencies.ndarray]
version = "0.17"
optional = true
[dependencies.notify]
version = "6.1"
[dependencies.num_cpus]
version = "1.16"
[dependencies.once_cell]
version = "1.19"
[dependencies.opentelemetry]
version = "0.27"
optional = true
[dependencies.opentelemetry-otlp]
version = "0.27"
optional = true
[dependencies.opentelemetry_sdk]
version = "0.27"
features = ["rt-tokio"]
optional = true
[dependencies.ort]
version = "2.0.0-rc.11"
optional = true
[dependencies.outlines-core]
version = "0.2"
features = ["hf-hub"]
optional = true
default-features = false
[dependencies.oxigraph]
version = "0.4"
optional = true
[dependencies.parking_lot]
version = "0.12"
[dependencies.petgraph]
version = "0.6"
features = ["serde-1"]
optional = true
[dependencies.pulldown-cmark]
version = "0.10"
[dependencies.pyo3]
version = "0.24.1"
optional = true
[dependencies.qdrant-client]
version = "1.10"
optional = true
[dependencies.quickcheck]
version = "1.0"
optional = true
[dependencies.rand]
version = "0.8"
[dependencies.rand_pcg]
version = "0.3"
[dependencies.rayon]
version = "1.10"
[dependencies.reasonkit-mem]
version = "0.1"
optional = true
[dependencies.regex]
version = "1.10"
[dependencies.reqwest]
version = "0.12"
features = [
"json",
"stream",
"rustls-tls",
]
default-features = false
[dependencies.rig-core]
version = "0.7"
optional = true
[dependencies.rkyv]
version = "0.8"
optional = true
[dependencies.rmcp]
version = "0.1"
optional = true
[dependencies.rs_merkle]
version = "1.4"
optional = true
[dependencies.rstructor]
version = "0.2"
optional = true
[dependencies.rusqlite]
version = "0.32"
features = ["bundled"]
[dependencies.rust-bert]
version = "0.23"
features = [
"download-libtorch",
"hf-tokenizers",
]
optional = true
default-features = false
[dependencies.rustyline]
version = "15.0"
[dependencies.rv]
version = "0.17"
optional = true
[dependencies.schemars]
version = "0.8"
features = ["derive"]
[dependencies.scraper]
version = "0.18"
[dependencies.secrecy]
version = "0.10"
features = ["serde"]
[dependencies.serde]
version = "1.0"
features = ["derive"]
[dependencies.serde_json]
version = "1.0"
[dependencies.serde_yaml]
version = "0.9"
[dependencies.sha2]
version = "0.10"
[dependencies.sled]
version = "0.34"
optional = true
[dependencies.statig]
version = "0.3"
features = ["async"]
[dependencies.statrs]
version = "0.18"
optional = true
[dependencies.sysinfo]
version = "0.30"
optional = true
[dependencies.tantivy]
version = "0.25"
optional = true
[dependencies.thiserror]
version = "1.0"
[dependencies.tiktoken-rs]
version = "0.6"
optional = true
[dependencies.timely]
version = "0.12"
optional = true
[dependencies.tokenizers]
version = "0.21"
optional = true
[dependencies.tokio]
version = "1"
features = ["full"]
[dependencies.toml]
version = "0.9"
[dependencies.tower]
version = "0.5"
[dependencies.tower-http]
version = "0.6"
features = [
"cors",
"trace",
]
[dependencies.tower_governor]
version = "0.4"
[dependencies.tracing]
version = "0.1"
[dependencies.tracing-appender]
version = "0.2"
optional = true
[dependencies.tracing-opentelemetry]
version = "0.28"
optional = true
[dependencies.tracing-subscriber]
version = "0.3"
features = [
"env-filter",
"json",
]
[dependencies.typetag]
version = "0.2"
[dependencies.url]
version = "2.5"
[dependencies.uuid]
version = "1"
features = [
"v4",
"serde",
]
[dependencies.walkdir]
version = "2.4"
[dependencies.wasmtime]
version = "24.0.5"
optional = true
[dependencies.wasmtime-wasi]
version = "24"
optional = true
[dependencies.z3]
version = "0.12"
optional = true
[dev-dependencies.criterion]
version = "0.5"
features = [
"html_reports",
"async_tokio",
]
[dev-dependencies.futures]
version = "0.3"
[dev-dependencies.pretty_assertions]
version = "1.4"
[dev-dependencies.proptest]
version = "1.4"
[dev-dependencies.tempfile]
version = "3.10"
[dev-dependencies.tokio-test]
version = "0.4"