# 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-driver-loop"
version = "0.1.7"
authors = ["Cristian Garcia <informacion@cristiangarcia.co>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Goal orchestrator + LlmDecider + Unix socket bridge for the nexo-rs driver subsystem. Phase 67.4."
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"

[package.metadata.dist]
dist = false

[features]
default = ["nats"]
nats = ["dep:async-nats"]

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

[[bin]]
name = "nexo-driver"
path = "src/bin/nexo_driver.rs"

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

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

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

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

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

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

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

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

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

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

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

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

[dependencies.anyhow]
version = "1"

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

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

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

[dependencies.dashmap]
version = "6"

[dependencies.humantime-serde]
version = "1.1"

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

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

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

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

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

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

[dependencies.regex]
version = "1"

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

[dependencies.serde_json]
version = "1"

[dependencies.serde_yaml]
version = "0.9"

[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.tracing]
version = "0.1"

[dependencies.tracing-subscriber]
version = "0.3"
features = ["env-filter"]

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

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

[dev-dependencies.which]
version = "6"

[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"
