# 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.80"
name = "nexo-core"
version = "0.1.13"
authors = ["Cristian Garcia <informacion@cristiangarcia.co>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Agent runtime: event bus, sessions, plugin trait, heartbeat, A2A delegation."
homepage = "https://lordmacu.github.io/nexo-rs/"
documentation = "https://lordmacu.github.io/nexo-rs/"
readme = "README.md"
keywords = [
    "agent",
    "llm",
    "ai",
    "nats",
    "framework",
]
categories = [
    "asynchronous",
    "api-bindings",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/lordmacu/nexo-rs"

[features]
config-self-edit = ["dep:globset"]
default = ["schema-validation"]
repl-tool = []
schema-validation = ["dep:jsonschema"]

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

[dependencies.anyhow]
version = "1"

[dependencies.arc-swap]
version = "1"

[dependencies.async-nats]
version = "0.35"

[dependencies.async-trait]
version = "0.1"

[dependencies.base64]
version = "0.22"

[dependencies.chrono]
version = "0.4"
features = ["serde"]

[dependencies.cron]
version = "0.12"

[dependencies.dashmap]
version = "6"

[dependencies.futures]
version = "0.3"

[dependencies.git2]
version = "0.19"
default-features = false

[dependencies.globset]
version = "0.4"
optional = true

[dependencies.hmac]
version = "0.12"

[dependencies.humantime]
version = "2"

[dependencies.jsonschema]
version = "0.20"
optional = true
default-features = false

[dependencies.lru]
version = "0.12"

[dependencies.nexo-agent-registry]
version = "0.1.6"

[dependencies.nexo-assistant]
version = "0.1.1"

[dependencies.nexo-auth]
version = "0.1.1"

[dependencies.nexo-broker]
version = "0.1.1"

[dependencies.nexo-config]
version = "0.1.7"

[dependencies.nexo-dispatch-tools]
version = "0.1.6"

[dependencies.nexo-driver-claude]
version = "0.1.6"

[dependencies.nexo-driver-loop]
version = "0.1.6"

[dependencies.nexo-driver-permission]
version = "0.1.6"

[dependencies.nexo-driver-types]
version = "0.1.6"

[dependencies.nexo-extensions]
version = "0.1.1"

[dependencies.nexo-llm]
version = "0.1.4"

[dependencies.nexo-llm-auth]
version = "0.1.0"

[dependencies.nexo-lsp]
version = "0.1.1"

[dependencies.nexo-mcp]
version = "0.1.4"

[dependencies.nexo-memory]
version = "0.1.4"

[dependencies.nexo-memory-snapshot]
version = "0.1.1"

[dependencies.nexo-pairing]
version = "0.1.2"

[dependencies.nexo-plugin-manifest]
version = "0.1.3"

[dependencies.nexo-project-tracker]
version = "0.1.6"

[dependencies.nexo-taskflow]
version = "0.1.1"

[dependencies.nexo-team-store]
version = "0.1.1"

[dependencies.nexo-tool-meta]
version = "0.1.12"

[dependencies.nexo-web-search]
version = "0.1.1"

[dependencies.notify]
version = "6"

[dependencies.notify-debouncer-full]
version = "0.3"

[dependencies.regex]
version = "1.10"

[dependencies.reqwest]
version = "0.12"
features = [
    "rustls-tls",
    "json",
    "stream",
    "cookies",
    "charset",
    "http2",
    "macos-system-configuration",
]
default-features = false

[dependencies.semver]
version = "1"

[dependencies.serde]
version = "1"
features = ["derive"]

[dependencies.serde_json]
version = "1"

[dependencies.serde_urlencoded]
version = "0.7"

[dependencies.serde_yaml]
version = "0.9"

[dependencies.sha2]
version = "0.10"

[dependencies.sqlx]
version = "0.8"
features = [
    "sqlite",
    "runtime-tokio",
]

[dependencies.thiserror]
version = "1"

[dependencies.tokio]
version = "1"
features = ["full"]

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

[dependencies.toml]
version = "0.8"

[dependencies.tracing]
version = "0.1"

[dependencies.uuid]
version = "1"
features = [
    "v4",
    "v5",
    "serde",
    "macro-diagnostics",
]

[dependencies.walkdir]
version = "2"

[dependencies.which]
version = "6"

[dev-dependencies.futures]
version = "0.3"

[dev-dependencies.nexo-driver-claude]
version = "0.1.1"

[dev-dependencies.nexo-driver-permission]
version = "0.1.6"

[dev-dependencies.nexo-llm]
version = "0.1.4"
features = ["stub"]

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

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

[lints.clippy]
await_holding_lock = "allow"
blocks_in_conditions = "allow"
bool_assert_comparison = "allow"
cmp_owned = "allow"
collapsible_if = "allow"
derivable_impls = "allow"
doc_lazy_continuation = "allow"
doc_overindented_list_items = "allow"
field_reassign_with_default = "allow"
if_same_then_else = "allow"
incompatible_msrv = "allow"
io_other_error = "allow"
large_enum_variant = "allow"
len_without_is_empty = "allow"
let_and_return = "allow"
manual_ignore_case_cmp = "allow"
manual_strip = "allow"
match_like_matches_macro = "allow"
needless_as_bytes = "allow"
needless_borrows_for_generic_args = "allow"
needless_lifetimes = "allow"
print_literal = "allow"
question_mark = "allow"
redundant_closure = "allow"
result_large_err = "allow"
should_implement_trait = "allow"
single_char_pattern = "allow"
too_many_arguments = "allow"
trim_split_whitespace = "allow"
type_complexity = "allow"
unnecessary_literal_unwrap = "allow"
unnecessary_map_or = "allow"
unnecessary_to_owned = "allow"
unwrap_or_default = "allow"
vec_init_then_push = "allow"
