things3-cli 2.1.0

CLI tool for Things 3 with integrated MCP server
Documentation
# 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"
name = "things3-cli"
version = "2.1.0"
authors = ["GarthDB <garthdb@gmail.com>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "CLI tool for Things 3 with integrated MCP server"
homepage = "https://github.com/GarthDB/rust-things3"
documentation = "https://docs.rs/things3-cli"
readme = "README.md"
keywords = [
    "things3",
    "cli",
    "mcp",
    "productivity-tool",
    "task-manager",
]
categories = [
    "command-line-utilities",
    "development-tools",
]
license = "MIT"
repository = "https://github.com/GarthDB/rust-things3"

[features]
default = [
    "mcp-server",
    "export-csv",
    "export-opml",
    "observability",
]
export-csv = ["things3-core/export-csv"]
export-opml = ["things3-core/export-opml"]
full = [
    "mcp-server",
    "export-csv",
    "export-opml",
    "observability",
]
mcp-server = [
    "export-csv",
    "export-opml",
]
observability = [
    "things3-core/observability",
    "dep:metrics",
    "dep:metrics-exporter-prometheus",
    "dep:metrics-exporter-tcp",
]

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

[[bin]]
name = "test-mcp-real-data"
path = "src/bin/test_mcp_real_data.rs"
required-features = ["mcp-server"]

[[bin]]
name = "things3"
path = "src/main.rs"

[[test]]
name = "cli_error_handling"
path = "tests/cli_error_handling.rs"
required-features = ["mcp-server"]

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

[[test]]
name = "error_message_format_tests"
path = "tests/error_message_format_tests.rs"
required-features = ["mcp-server"]

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

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

[[test]]
name = "integration_tests"
path = "tests/integration_tests.rs"
required-features = ["mcp-server"]

[[test]]
name = "mcp_bulk_operations_tests"
path = "tests/mcp_bulk_operations_tests.rs"
required-features = ["mcp-server"]

[[test]]
name = "mcp_date_handling_tests"
path = "tests/mcp_date_handling_tests.rs"
required-features = ["mcp-server"]

[[test]]
name = "mcp_integration_workflows"
path = "tests/mcp_integration_workflows.rs"
required-features = ["mcp-server"]

[[test]]
name = "mcp_io_tests"
path = "tests/mcp_io_tests.rs"
required-features = ["mcp-server"]

[[test]]
name = "mcp_lifecycle_tests"
path = "tests/mcp_lifecycle_tests.rs"
required-features = ["mcp-server"]

[[test]]
name = "mcp_load_tests"
path = "tests/mcp_load_tests.rs"
required-features = ["mcp-server"]

[[test]]
name = "mcp_logbook_tests"
path = "tests/mcp_logbook_tests.rs"
required-features = ["mcp-server"]

[[test]]
name = "mcp_project_area_tests"
path = "tests/mcp_project_area_tests.rs"
required-features = ["mcp-server"]

[[test]]
name = "mcp_protocol_edge_cases"
path = "tests/mcp_protocol_edge_cases.rs"
required-features = ["mcp-server"]

[[test]]
name = "mcp_tag_tests"
path = "tests/mcp_tag_tests.rs"
required-features = ["mcp-server"]

[[test]]
name = "mcp_testing_framework_tests"
path = "tests/mcp_testing_framework_tests.rs"
required-features = ["mcp-server"]

[[test]]
name = "mcp_tests"
path = "tests/mcp_tests/mod.rs"
required-features = ["mcp-server"]

[[test]]
name = "mcp_write_operations_tests"
path = "tests/mcp_write_operations_tests.rs"
required-features = ["mcp-server"]

[[test]]
name = "middleware_integration_tests"
path = "tests/middleware_integration_tests.rs"
required-features = ["mcp-server"]

[[test]]
name = "middleware_tests"
path = "tests/middleware_tests.rs"
required-features = ["mcp-server"]

[dependencies.anyhow]
version = "1.0"

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

[dependencies.axum]
version = "0.7"
features = [
    "macros",
    "tracing",
]

[dependencies.base64]
version = "0.21"

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

[dependencies.clap]
version = "4.0"
features = [
    "derive",
    "env",
]

[dependencies.crossbeam-channel]
version = "0.5"

[dependencies.csv]
version = "1.3"
optional = true

[dependencies.dashmap]
version = "5.5"

[dependencies.env_logger]
version = "0.10"

[dependencies.futures]
version = "0.3"

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

[dependencies.governor]
version = "0.6"

[dependencies.hmac]
version = "0.12"

[dependencies.indicatif]
version = "0.17"

[dependencies.jsonwebtoken]
version = "9.2"

[dependencies.log]
version = "0.4"

[dependencies.metrics]
version = "0.22"
optional = true

[dependencies.metrics-exporter-prometheus]
version = "0.13"
optional = true

[dependencies.metrics-exporter-tcp]
version = "0.6"
optional = true

[dependencies.moka]
version = "0.12"
features = ["future"]

[dependencies.nonzero_ext]
version = "0.3"

[dependencies.once_cell]
version = "1.19"

[dependencies.parking_lot]
version = "0.12"

[dependencies.quick-xml]
version = "0.36"
features = ["serialize"]
optional = true

[dependencies.ring]
version = "0.17"

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

[dependencies.serde_json]
version = "1.0"

[dependencies.sha2]
version = "0.10"

[dependencies.sqlx]
version = "0.8"
features = [
    "runtime-tokio-rustls",
    "sqlite",
    "chrono",
    "uuid",
    "json",
]
default-features = false

[dependencies.sysinfo]
version = "0.30"

[dependencies.tempfile]
version = "3.8"

[dependencies.things3-common]
version = "2.0.0"

[dependencies.things3-core]
version = "2.0.0"
features = ["test-utils"]
default-features = false

[dependencies.thiserror]
version = "1.0"

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

[dependencies.tokio-tungstenite]
version = "0.21"

[dependencies.tower]
version = "0.4"

[dependencies.tower-http]
version = "0.5"
features = [
    "cors",
    "trace",
]

[dependencies.tracing]
version = "0.1"

[dependencies.tracing-appender]
version = "0.2"

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

[dependencies.tungstenite]
version = "0.21"

[dependencies.url]
version = "2.4"

[dependencies.uuid]
version = "1.0"
features = [
    "v4",
    "serde",
]

[dev-dependencies.jsonschema]
version = "0.18"
features = ["draft202012"]
default-features = false

[lints.clippy.all]
level = "warn"
priority = -1

[lints.rust]
unreachable_pub = "warn"
unsafe_code = "deny"