# 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 = "ecotokens"
version = "0.14.3"
build = false
exclude = [
    "assets/*.gif",
    "assets/picture.png",
    "assets/icon.png",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Token optimizer for AI coding assistants — hooks into Claude Code/Gemini CLI to compress shell outputs and track USD savings"
homepage = "https://github.com/hansipie/ecotokens"
readme = "README.md"
keywords = [
    "claude",
    "gemini",
    "tokens",
    "cli",
    "ai",
]
categories = [
    "command-line-utilities",
    "development-tools",
]
license = "MIT"
repository = "https://github.com/hansipie/ecotokens"

[features]
ai-summary = []
default = [
    "embeddings",
    "ai-summary",
]
embeddings = []
exact-tokens = ["tiktoken-rs"]

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

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

[[test]]
name = "ai_summary_test"
path = "tests/filter/ai_summary_test.rs"

[[test]]
name = "aws_test"
path = "tests/filter/aws_test.rs"

[[test]]
name = "cargo_test"
path = "tests/filter/cargo_test.rs"

[[test]]
name = "clear_test"
path = "tests/metrics/clear_test.rs"

[[test]]
name = "config_file_test"
path = "tests/filter/config_file_test.rs"

[[test]]
name = "constitution_test"
path = "tests/integration/constitution_test.rs"

[[test]]
name = "container_test"
path = "tests/filter/container_test.rs"

[[test]]
name = "counter_test"
path = "tests/tokens/counter_test.rs"

[[test]]
name = "cpp_test"
path = "tests/filter/cpp_test.rs"

[[test]]
name = "daemon_test"
path = "tests/integration/daemon_test.rs"

[[test]]
name = "db_test"
path = "tests/filter/db_test.rs"

[[test]]
name = "detect_test"
path = "tests/duplicates/detect_test.rs"

[[test]]
name = "duplicates_integration_test"
path = "tests/duplicates/integration_test.rs"

[[test]]
name = "embed_test"
path = "tests/search/embed_test.rs"

[[test]]
name = "end_to_end_test"
path = "tests/integration/end_to_end_test.rs"

[[test]]
name = "fault_test"
path = "tests/integration/fault_test.rs"

[[test]]
name = "fs_test"
path = "tests/filter/fs_test.rs"

[[test]]
name = "gain_tui_test"
path = "tests/tui/gain_test.rs"

[[test]]
name = "generic_test"
path = "tests/filter/generic_test.rs"

[[test]]
name = "gh_test"
path = "tests/filter/gh_test.rs"

[[test]]
name = "git_test"
path = "tests/filter/git_test.rs"

[[test]]
name = "glob_handler_test"
path = "tests/hook/glob_handler_test.rs"

[[test]]
name = "go_test"
path = "tests/filter/go_test.rs"

[[test]]
name = "grep_handler_test"
path = "tests/hook/grep_handler_test.rs"

[[test]]
name = "grep_test"
path = "tests/filter/grep_test.rs"

[[test]]
name = "handler_test"
path = "tests/hook/handler_test.rs"

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

[[test]]
name = "index_test"
path = "tests/search/index_test.rs"

[[test]]
name = "install_test"
path = "tests/integration/install_test.rs"

[[test]]
name = "js_test"
path = "tests/filter/js_test.rs"

[[test]]
name = "markdown_test"
path = "tests/filter/markdown_test.rs"

[[test]]
name = "network_test"
path = "tests/filter/network_test.rs"

[[test]]
name = "outline_test"
path = "tests/search/outline_test.rs"

[[test]]
name = "outline_tui_test"
path = "tests/tui/outline_test.rs"

[[test]]
name = "patterns_test"
path = "tests/masking/patterns_test.rs"

[[test]]
name = "perf_test"
path = "tests/integration/perf_test.rs"

[[test]]
name = "post_handler_test"
path = "tests/hook/post_handler_test.rs"

[[test]]
name = "progress_tui_test"
path = "tests/tui/progress_test.rs"

[[test]]
name = "proposals_test"
path = "tests/duplicates/proposals_test.rs"

[[test]]
name = "python_test"
path = "tests/filter/python_test.rs"

[[test]]
name = "read_handler_test"
path = "tests/hook/read_handler_test.rs"

[[test]]
name = "report_test"
path = "tests/metrics/report_test.rs"

[[test]]
name = "search_test"
path = "tests/search/search_test.rs"

[[test]]
name = "session_store_test"
path = "tests/config/session_store_test.rs"

[[test]]
name = "settings_test"
path = "tests/config/settings_test.rs"

[[test]]
name = "store_test"
path = "tests/metrics/store_test.rs"

[[test]]
name = "symbols_test"
path = "tests/search/symbols_test.rs"

[[test]]
name = "text_docs_test"
path = "tests/search/text_docs_test.rs"

[[test]]
name = "trace_test"
path = "tests/trace/trace_test.rs"

[[test]]
name = "trace_tui_test"
path = "tests/tui/trace_test.rs"

[[test]]
name = "watch_tui_test"
path = "tests/tui/watch_test.rs"

[[test]]
name = "watcher_test"
path = "tests/search/watcher_test.rs"

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

[dependencies.clap]
version = "4"
features = ["derive"]

[dependencies.dirs]
version = "5"

[dependencies.ignore]
version = "0.4"

[dependencies.lazy-regex]
version = "3"

[dependencies.notify]
version = "6"

[dependencies.ratatui]
version = "0.29"
features = ["crossterm"]

[dependencies.regex]
version = "1.10"

[dependencies.reqwest]
version = "0.12"
features = [
    "json",
    "blocking",
    "rustls-tls",
]
default-features = false

[dependencies.rusqlite]
version = "0.31"
features = ["bundled"]

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

[dependencies.serde_json]
version = "1"

[dependencies.similar]
version = "2"

[dependencies.tantivy]
version = "0.22"

[dependencies.tiktoken-rs]
version = "0.5"
optional = true

[dependencies.toml]
version = "0.8"

[dependencies.tree-sitter]
version = "0.24"

[dependencies.tree-sitter-c]
version = "0.23"

[dependencies.tree-sitter-cpp]
version = "0.23"

[dependencies.tree-sitter-javascript]
version = "0.23"

[dependencies.tree-sitter-python]
version = "0.23"

[dependencies.tree-sitter-rust]
version = "0.23"

[dependencies.uuid]
version = "1"
features = ["v4"]

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

[target."cfg(unix)".dependencies.daemonize]
version = "0.5"
