# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2021"
rust-version = "1.83"
name = "klieo"
version = "0.9.0"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Open-source Rust agent framework — typed agents, durable inter-agent comms, local-first."
homepage = "https://github.com/mohrimic/klieo"
documentation = "https://docs.rs/klieo"
readme = "README.md"
keywords = [
    "agent",
    "llm",
    "ai",
    "framework",
    "nats",
]
categories = [
    "asynchronous",
    "api-bindings",
]
license = "MIT"
repository = "https://github.com/mohrimic/klieo"

[features]
a2a = ["dep:klieo-a2a"]
all-foundation = [
    "tools",
    "macros",
    "llm-ollama",
    "memory-sqlite",
    "bus-memory",
    "bus-nats",
    "mcp",
]
all-llm = [
    "llm-ollama",
    "llm-openai",
    "llm-anthropic",
    "llm-gemini",
]
all-memory = [
    "memory-sqlite",
    "memory-neo4j",
    "memory-qdrant",
    "embed-common",
]
all-observability = [
    "runlog",
    "otel",
    "provenance",
]
bus-memory = ["dep:klieo-bus-memory"]
bus-nats = [
    "dep:klieo-bus-nats",
    "secrecy",
    "bytes",
]
bytes = ["dep:bytes"]
default = []
embed-common = ["dep:klieo-embed-common"]
flows = ["dep:klieo-flows"]
full = [
    "all-foundation",
    "all-llm",
    "all-memory",
    "all-observability",
    "flows",
    "a2a",
    "spec",
]
llm-anthropic = [
    "dep:klieo-llm-anthropic",
    "secrecy",
]
llm-gemini = [
    "dep:klieo-llm-gemini",
    "secrecy",
]
llm-genai = ["llm-gemini"]
llm-ollama = ["dep:klieo-llm-ollama"]
llm-openai = [
    "dep:klieo-llm-openai",
    "secrecy",
]
macros = ["dep:klieo-macros"]
mcp = [
    "dep:klieo-tools-mcp",
    "tools",
]
memory-fastembed = [
    "memory-sqlite",
    "klieo-memory-sqlite/fastembed",
]
memory-neo4j = [
    "dep:klieo-memory-neo4j",
    "secrecy",
]
memory-qdrant = [
    "dep:klieo-memory-qdrant",
    "secrecy",
]
memory-sqlite = ["dep:klieo-memory-sqlite"]
memory-sqlite-vec = [
    "memory-sqlite",
    "klieo-memory-sqlite/sqlite-vec",
]
otel = ["dep:klieo-otel"]
provenance = ["dep:klieo-provenance"]
runlog = ["dep:klieo-runlog"]
runlog-compaction-llm = [
    "runlog",
    "klieo-runlog/compaction-llm",
]
runlog-sqlite = [
    "runlog",
    "klieo-runlog/sqlite",
]
schemars = [
    "klieo-provenance?/schemars",
    "klieo-runlog?/schemars",
]
secrecy = ["dep:secrecy"]
spec = ["dep:klieo-spec"]
test-utils = [
    "klieo-core/test-utils",
    "klieo-runlog?/test-utils",
]
tools = ["dep:klieo-tools"]

[lib]
name = "klieo"
path = "src/lib.rs"

[[test]]
name = "end_to_end"
path = "tests/end_to_end.rs"

[[test]]
name = "feature_gates"
path = "tests/feature_gates.rs"

[dependencies.bytes]
version = "1"
optional = true

[dependencies.klieo-a2a]
version = "0.9"
optional = true

[dependencies.klieo-bus-memory]
version = "0.9"
optional = true

[dependencies.klieo-bus-nats]
version = "0.9"
optional = true

[dependencies.klieo-core]
version = "0.9"

[dependencies.klieo-embed-common]
version = "0.9"
optional = true

[dependencies.klieo-flows]
version = "0.9"
optional = true

[dependencies.klieo-llm-anthropic]
version = "0.9"
optional = true

[dependencies.klieo-llm-gemini]
version = "0.9"
optional = true

[dependencies.klieo-llm-ollama]
version = "0.9"
optional = true

[dependencies.klieo-llm-openai]
version = "0.9"
optional = true

[dependencies.klieo-macros]
version = "0.9"
optional = true

[dependencies.klieo-memory-neo4j]
version = "0.9"
optional = true

[dependencies.klieo-memory-qdrant]
version = "0.9"
optional = true

[dependencies.klieo-memory-sqlite]
version = "0.9"
optional = true

[dependencies.klieo-otel]
version = "0.9"
optional = true

[dependencies.klieo-provenance]
version = "0.9"
optional = true

[dependencies.klieo-runlog]
version = "0.9"
optional = true

[dependencies.klieo-spec]
version = "0.9"
optional = true

[dependencies.klieo-tools]
version = "0.9"
optional = true

[dependencies.klieo-tools-mcp]
version = "0.9"
optional = true

[dependencies.secrecy]
version = "0.10"
optional = true

[dev-dependencies.bytes]
version = "1"

[dev-dependencies.serde_json]
version = "1"

[dev-dependencies.tempfile]
version = "3"

[dev-dependencies.tokio]
version = "1"
features = [
    "full",
    "macros",
    "rt-multi-thread",
]

[dev-dependencies.tokio-util]
version = "0.7"
features = ["rt"]

[dev-dependencies.tracing-subscriber]
version = "0.3"

[dev-dependencies.wiremock]
version = "0.6"
