[package]
edition = "2024"
rust-version = "1.88"
name = "molo"
version = "0.3.0"
authors = ["silwings"]
build = false
exclude = [
".example.env",
"AGENTS.md",
"CLAUDE.md",
"docs/",
"evals/",
".github/",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "An embeddable Rust agent runtime and harness framework for building safe, extensible tool-calling agents"
homepage = "https://github.com/Silwings-git/molo"
documentation = "https://docs.rs/molo"
readme = "README.md"
keywords = [
"agent",
"llm",
"ai",
"framework",
]
categories = ["artificial-intelligence"]
license = "MIT OR Apache-2.0"
repository = "https://github.com/Silwings-git/molo.git"
resolver = "2"
[package.metadata.docs.rs]
all-features = true
rustdoc-args = [
"--cfg",
"docsrs",
]
[features]
channels = []
cli-channel = ["molo-agent/cli-channel"]
coding = [
"harness",
"dep:molo-coding",
]
default = []
full = [
"openai",
"mcp",
"structured",
"macros",
"skills",
"cli-channel",
"channels",
"tracing",
"harness",
"coding",
]
harness = [
"dep:molo-harness",
"molo-mcp?/harness",
]
macros = [
"dep:molo-macros",
"structured",
]
mcp = ["dep:molo-mcp"]
openai = ["dep:molo-openai"]
skills = ["dep:molo-skills"]
structured = ["molo-agent/structured"]
tracing = [
"molo-agent/tracing",
"molo-core/tracing",
"molo-mcp?/tracing",
"molo-skills?/tracing",
]
[lib]
name = "molo"
path = "src/lib.rs"
[[example]]
name = "agent"
path = "examples/agent.rs"
required-features = [
"openai",
"structured",
]
[[example]]
name = "broadcast_agent"
path = "examples/broadcast_agent.rs"
required-features = [
"openai",
"structured",
]
[[example]]
name = "cancellation"
path = "examples/cancellation.rs"
[[example]]
name = "chat"
path = "examples/chat.rs"
required-features = ["openai"]
[[example]]
name = "chat_stream"
path = "examples/chat_stream.rs"
required-features = ["openai"]
[[example]]
name = "coding_harness"
path = "examples/coding_harness.rs"
required-features = ["coding"]
[[example]]
name = "coding_workspace"
path = "examples/coding_workspace.rs"
required-features = ["coding"]
[[example]]
name = "confirm_agent"
path = "examples/confirm_agent.rs"
required-features = [
"openai",
"structured",
"cli-channel",
]
[[example]]
name = "event_channel"
path = "examples/event_channel.rs"
[[example]]
name = "event_channel_agent"
path = "examples/event_channel_agent.rs"
required-features = [
"openai",
"structured",
]
[[example]]
name = "fake_provider"
path = "examples/fake_provider.rs"
[[example]]
name = "harness_runtime"
path = "examples/harness_runtime.rs"
required-features = ["harness"]
[[example]]
name = "mcp"
path = "examples/mcp.rs"
required-features = ["mcp"]
[[example]]
name = "mcp_governed"
path = "examples/mcp_governed.rs"
required-features = [
"mcp",
"harness",
]
[[example]]
name = "memory_agent"
path = "examples/memory_agent.rs"
required-features = ["openai"]
[[example]]
name = "message_channel"
path = "examples/message_channel.rs"
required-features = [
"structured",
"cli-channel",
]
[[example]]
name = "mpsc_agent"
path = "examples/mpsc_agent.rs"
required-features = [
"openai",
"structured",
]
[[example]]
name = "multimodal"
path = "examples/multimodal.rs"
required-features = ["openai"]
[[example]]
name = "react_agent"
path = "examples/react_agent.rs"
required-features = [
"openai",
"structured",
]
[[example]]
name = "retry"
path = "examples/retry.rs"
required-features = ["openai"]
[[example]]
name = "shared_state"
path = "examples/shared_state.rs"
[[example]]
name = "skill"
path = "examples/skill.rs"
required-features = ["skills"]
[[example]]
name = "skill_layer"
path = "examples/skill_layer.rs"
required-features = ["skills"]
[[example]]
name = "structured"
path = "examples/structured.rs"
required-features = ["structured"]
[[example]]
name = "sub_agent"
path = "examples/sub_agent.rs"
required-features = [
"openai",
"structured",
]
[[example]]
name = "summarize"
path = "examples/summarize.rs"
[[example]]
name = "summarize_agent"
path = "examples/summarize_agent.rs"
required-features = [
"openai",
"tracing",
]
[[example]]
name = "tool_agent"
path = "examples/tool_agent.rs"
required-features = [
"openai",
"structured",
]
[[example]]
name = "tool_macro"
path = "examples/tool_macro.rs"
required-features = ["macros"]
[[example]]
name = "tool_registry"
path = "examples/tool_registry.rs"
required-features = ["structured"]
[[example]]
name = "trace"
path = "examples/trace.rs"
required-features = [
"macros",
"tracing",
]
[[example]]
name = "usage"
path = "examples/usage.rs"
required-features = [
"openai",
"structured",
]
[[example]]
name = "watch_agent"
path = "examples/watch_agent.rs"
required-features = [
"openai",
"structured",
]
[[example]]
name = "window_memory"
path = "examples/window_memory.rs"
[[example]]
name = "window_memory_agent"
path = "examples/window_memory_agent.rs"
required-features = ["openai"]
[[test]]
name = "provider_conformance"
path = "tests/provider_conformance.rs"
[[test]]
name = "tool_macro_ui"
path = "tests/tool_macro_ui.rs"
[[bench]]
name = "bench"
path = "benches/bench.rs"
harness = false
[[bench]]
name = "coding_primitives"
path = "benches/coding_primitives.rs"
harness = false
required-features = ["coding"]
[[bench]]
name = "runtime_harness"
path = "benches/runtime_harness.rs"
harness = false
required-features = ["harness"]
[[bench]]
name = "runtime_message"
path = "benches/runtime_message.rs"
harness = false
[dependencies.molo-agent]
version = "0.3.0"
default-features = false
[dependencies.molo-coding]
version = "0.3.0"
optional = true
[dependencies.molo-core]
version = "0.3.0"
[dependencies.molo-harness]
version = "0.3.0"
optional = true
[dependencies.molo-macros]
version = "0.3.0"
optional = true
[dependencies.molo-mcp]
version = "0.3.0"
optional = true
default-features = false
[dependencies.molo-openai]
version = "0.3.0"
optional = true
[dependencies.molo-skills]
version = "0.3.0"
optional = true
[dependencies.serde]
version = "1"
features = ["derive"]
[dependencies.serde_json]
version = "1"
[dev-dependencies.async-stream]
version = "0.3"
[dev-dependencies.async-trait]
version = "0.1"
[dev-dependencies.criterion]
version = "0.7"
[dev-dependencies.dotenvy]
version = "0.15"
[dev-dependencies.evalexpr]
version = "13"
[dev-dependencies.futures]
version = "0.3"
[dev-dependencies.rmcp]
version = "3.1.2"
features = [
"server",
"transport-io",
]
[dev-dependencies.schemars]
version = "1"
[dev-dependencies.tokio]
version = "1"
features = [
"rt-multi-thread",
"macros",
]
[dev-dependencies.tracing-subscriber]
version = "0.3"
features = [
"fmt",
"env-filter",
]
[dev-dependencies.trybuild]
version = "1"