synaptic 0.2.0

A Rust agent framework with LangChain-compatible architecture
Documentation
[package]
name = "synaptic"
description = "A Rust agent framework with LangChain-compatible architecture"
edition.workspace = true
version.workspace = true
license.workspace = true
authors.workspace = true
rust-version.workspace = true
repository.workspace = true

[dependencies]
synaptic-core = { version = "0.2.0", path = "../synaptic-core" }
synaptic-models = { version = "0.2.0", path = "../synaptic-models", optional = true }
synaptic-runnables = { version = "0.2.0", path = "../synaptic-runnables", optional = true }
synaptic-prompts = { version = "0.2.0", path = "../synaptic-prompts", optional = true }
synaptic-parsers = { version = "0.2.0", path = "../synaptic-parsers", optional = true }
synaptic-tools = { version = "0.2.0", path = "../synaptic-tools", optional = true }
synaptic-memory = { version = "0.2.0", path = "../synaptic-memory", optional = true }
synaptic-callbacks = { version = "0.2.0", path = "../synaptic-callbacks", optional = true }
synaptic-retrieval = { version = "0.2.0", path = "../synaptic-retrieval", optional = true }
synaptic-loaders = { version = "0.2.0", path = "../synaptic-loaders", optional = true }
synaptic-splitters = { version = "0.2.0", path = "../synaptic-splitters", optional = true }
synaptic-embeddings = { version = "0.2.0", path = "../synaptic-embeddings", optional = true }
synaptic-vectorstores = { version = "0.2.0", path = "../synaptic-vectorstores", optional = true }
synaptic-graph = { version = "0.2.0", path = "../synaptic-graph", optional = true }
synaptic-middleware = { version = "0.2.0", path = "../synaptic-middleware", optional = true }
synaptic-store = { version = "0.2.0", path = "../synaptic-store", optional = true }
synaptic-cache = { version = "0.2.0", path = "../synaptic-cache", optional = true }
synaptic-eval = { version = "0.2.0", path = "../synaptic-eval", optional = true }
synaptic-mcp = { version = "0.2.0", path = "../synaptic-mcp", optional = true }
synaptic-macros = { version = "0.2.0", path = "../synaptic-macros", optional = true }
synaptic-deep = { version = "0.2.0", path = "../synaptic-deep", optional = true }
schemars = { workspace = true, optional = true }

[features]
default = ["models", "runnables", "prompts", "parsers", "tools", "callbacks"]

# Fine-grained features (one per sub-crate)
models = ["dep:synaptic-models"]
runnables = ["dep:synaptic-runnables"]
prompts = ["runnables", "embeddings", "dep:synaptic-prompts"]
parsers = ["runnables", "dep:synaptic-parsers"]
tools = ["dep:synaptic-tools"]
memory = ["runnables", "dep:synaptic-memory"]
callbacks = ["dep:synaptic-callbacks"]
retrieval = ["embeddings", "dep:synaptic-retrieval"]
loaders = ["retrieval", "dep:synaptic-loaders"]
splitters = ["retrieval", "dep:synaptic-splitters"]
embeddings = ["models", "dep:synaptic-embeddings"]
vectorstores = ["embeddings", "retrieval", "dep:synaptic-vectorstores"]
graph = ["tools", "dep:synaptic-graph"]
middleware = ["graph", "dep:synaptic-middleware"]
store = ["dep:synaptic-store"]
cache = ["embeddings", "dep:synaptic-cache"]
eval = ["embeddings", "dep:synaptic-eval"]
mcp = ["dep:synaptic-mcp"]
macros = ["dep:synaptic-macros"]
schemars = ["synaptic-macros/schemars", "synaptic-core/schemars", "dep:schemars"]
deep = ["agent", "dep:synaptic-deep"]

# Composite features (by use-case)
agent = ["default", "graph", "memory", "middleware", "store"]
rag = ["default", "retrieval", "loaders", "splitters", "embeddings", "vectorstores"]
full = ["default", "agent", "rag", "cache", "eval", "mcp", "macros", "deep", "schemars"]

[dev-dependencies]
tokio.workspace = true
tracing = { workspace = true }
tracing-subscriber = { workspace = true }