[package]
edition = "2024"
rust-version = "1.90"
name = "neuron"
version = "0.3.0"
build = false
exclude = ["tests/HUMAN.md"]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Rust library for production AI agents — composable tool middleware, context compaction, MCP, sessions, and guardrails"
homepage = "https://github.com/secbear/neuron"
documentation = "https://docs.rs/neuron"
readme = "README.md"
keywords = [
"ai",
"agent",
"llm",
"tools",
"mcp",
]
categories = [
"science",
"asynchronous",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/secbear/neuron"
[features]
anthropic = ["dep:neuron-provider-anthropic"]
default = ["anthropic"]
full = [
"anthropic",
"openai",
"ollama",
"mcp",
"runtime",
"otel",
]
mcp = ["dep:neuron-mcp"]
ollama = ["dep:neuron-provider-ollama"]
openai = ["dep:neuron-provider-openai"]
otel = ["dep:neuron-otel"]
runtime = ["dep:neuron-runtime"]
[lib]
name = "neuron"
path = "src/lib.rs"
[[example]]
name = "full_agent"
path = "examples/full_agent.rs"
[[example]]
name = "multi_provider"
path = "examples/multi_provider.rs"
required-features = ["openai"]
[[example]]
name = "structured_output"
path = "examples/structured_output.rs"
[[example]]
name = "testing_agents"
path = "examples/testing_agents.rs"
[[test]]
name = "composition"
path = "tests/composition.rs"
[[test]]
name = "smoke_anthropic"
path = "tests/smoke_anthropic.rs"
[[test]]
name = "smoke_ollama"
path = "tests/smoke_ollama.rs"
[[test]]
name = "smoke_openai"
path = "tests/smoke_openai.rs"
[dependencies.neuron-context]
version = "0.3.0"
[dependencies.neuron-loop]
version = "0.3.0"
[dependencies.neuron-mcp]
version = "0.3.0"
optional = true
[dependencies.neuron-otel]
version = "0.3.0"
optional = true
[dependencies.neuron-provider-anthropic]
version = "0.3.0"
optional = true
[dependencies.neuron-provider-ollama]
version = "0.3.0"
optional = true
[dependencies.neuron-provider-openai]
version = "0.3.0"
optional = true
[dependencies.neuron-runtime]
version = "0.3.0"
optional = true
[dependencies.neuron-tool]
version = "0.3.0"
[dependencies.neuron-types]
version = "0.3.0"
[dev-dependencies.futures]
version = "0.3"
[dev-dependencies.schemars]
version = "0.8"
[dev-dependencies.serde]
version = "1"
features = ["derive"]
[dev-dependencies.serde_json]
version = "1"
[dev-dependencies.thiserror]
version = "2"
[dev-dependencies.tokio]
version = "1"
features = [
"sync",
"macros",
"rt-multi-thread",
]
[dev-dependencies.tokio-util]
version = "0.7"