[package]
edition = "2024"
name = "aether-agent-core"
version = "0.1.0"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "A minimal Rust library for building AI agents with MCP tool integration"
readme = "README.md"
keywords = [
"ai",
"agent",
"mcp",
"llm",
"async",
]
categories = [
"asynchronous",
"api-bindings",
]
license = "MIT"
repository = "https://github.com/contextbridge/aether"
[package.metadata.docs.rs]
all-features = true
rustdoc-args = [
"--cfg",
"docsrs",
]
[features]
testing = []
[lib]
name = "aether_core"
path = "src/lib.rs"
[[example]]
name = "anthropic_test"
path = "examples/anthropic_test.rs"
[[example]]
name = "basic_agent"
path = "examples/basic_agent.rs"
[[example]]
name = "mcp_agent"
path = "examples/mcp_agent.rs"
[[test]]
name = "agent"
path = "tests/agent.rs"
[[test]]
name = "mcp"
path = "tests/mcp.rs"
[dependencies.acp_utils]
version = "0.1.0"
default-features = false
package = "aether-acp-utils"
[dependencies.agent-client-protocol]
version = "0.10.2"
[dependencies.async-openai]
version = "^0.33.0"
features = [
"byot",
"chat-completion",
"responses",
]
[dependencies.chrono]
version = "^0.4.43"
features = ["serde"]
[dependencies.clap]
version = "4.5"
features = ["derive"]
[dependencies.futures]
version = "^0.3.31"
[dependencies.glob]
version = "0.3"
[dependencies.llm]
version = "0.1.0"
package = "aether-llm"
[dependencies.mcp_utils]
version = "0.1.0"
package = "aether-mcp-utils"
[dependencies.rmcp]
version = "^1.3.0"
features = [
"client",
"server",
"macros",
"schemars",
"auth",
"elicitation",
"transport-io",
]
[dependencies.schemars]
version = "^1.2.1"
features = ["derive"]
[dependencies.serde]
version = "1.0.228"
features = ["derive"]
[dependencies.serde_json]
version = "1.0.149"
[dependencies.serde_yml]
version = "0.0.12"
[dependencies.thiserror]
version = "2.0"
[dependencies.tokio]
version = "^1.49.0"
features = ["full"]
[dependencies.tokio-stream]
version = "^0.1.18"
features = ["io-util"]
[dependencies.tracing]
version = "0.1.44"
[dependencies.tracing-subscriber]
version = "0.3.22"
features = [
"env-filter",
"json",
]
[dependencies.utils]
version = "0.1.0"
package = "aether-utils"
[dev-dependencies.reqwest]
version = "^0.13.0"
features = [
"json",
"query",
"rustls",
"http2",
"stream",
]
default-features = false
[dev-dependencies.tempfile]
version = "3.25"
[lints.clippy]
absolute_paths = "warn"
missing_errors_doc = "allow"
missing_panics_doc = "allow"
must_use_candidate = "allow"
pub_underscore_fields = "allow"
return_self_not_must_use = "allow"
[lints.clippy.all]
level = "warn"
priority = -1
[lints.clippy.pedantic]
level = "warn"
priority = -1