[package]
name = "coding-agent-search"
version = "0.5.0"
edition = "2024"
authors = ["Jeffrey Emanuel"]
description = "Unified TUI search over local coding agent histories"
license-file = "LICENSE"
resolver = "2"
repository = "https://github.com/Dicklesworthstone/coding_agent_session_search"
default-run = "cass"
include = [
"/Cargo.toml",
"/Cargo.lock",
"/build.rs",
"/LICENSE",
"/README.md",
"/src/**/*.rs",
"/src/pages_assets/**",
]
[dependencies]
anyhow = "1.0.102"
thiserror = "1.0.69"
tracing = "0.1.44"
tracing-subscriber = { version = "0.3.23", features = ["env-filter", "fmt", "ansi"] }
asupersync = { version = "0.3.1", features = ["test-internals", "tls-native-roots"] }
clap = { version = "4.6.1", features = ["derive", "cargo", "env", "unicode", "wrap_help"] }
clap_complete = "4.6.5"
clap_mangen = "0.3.0"
indicatif = "0.18.4"
console = "0.16.3"
colored = "3.1.1"
serde = { version = "1.0.228", features = ["derive"] }
serde_json = "1.0.149"
toon = { version = "0.2.2", git = "https://github.com/Dicklesworthstone/toon_rust", rev = "5669b72a", package = "tru" }
tempfile = "3.27.0"
wait-timeout = "0.2.1"
rmp-serde = "1.3.1"
toml = "1.1.2"
directories = "6.0.0"
which = "8.0.2"
shell-words = "1.1.1"
dotenvy = "0.15.7"
notify = "8.2.0"
frankensqlite = { version = "0.1.3", git = "https://github.com/Dicklesworthstone/frankensqlite", rev = "c8ce64fdce4cd2e3657d56d72719c7a3d99f39c3", package = "fsqlite", features = ["fts5"] }
rayon = "1.12.0"
crossbeam-channel = "0.5.15"
parking_lot = "0.12.5"
fs2 = "0.4.3"
lru = "0.18"
rustc-hash = "2.1.2"
xxhash-rust = { version = "0.8.15", features = ["xxh3"] }
itoa = "1.0.18"
smallvec = "1.15.1"
regex = "1.12.3"
portable-pty = "0.9.0"
ftui = { version = "0.3.1", git = "https://github.com/Dicklesworthstone/frankentui", rev = "5f78cfa0" }
ftui-runtime = { version = "0.3.1", git = "https://github.com/Dicklesworthstone/frankentui", rev = "5f78cfa0", features = ["native-backend", "crossterm-compat"] }
ftui-tty = { version = "0.3.1", git = "https://github.com/Dicklesworthstone/frankentui", rev = "5f78cfa0" }
ftui-extras = { version = "0.3.1", git = "https://github.com/Dicklesworthstone/frankentui", rev = "5f78cfa0", default-features = false, features = ["markdown", "syntax", "charts", "canvas", "theme", "clipboard", "clipboard-fallback", "export", "visual-fx", "forms", "validation", "help"] }
dirs = "6.0.0"
walkdir = "2.5.0"
glob = "0.3.3"
base64 = ">=0.21"
blake3 = "1.8.5"
mime_guess = "2.0.5"
pulldown-cmark = { version = "0.13.3", default-features = false, features = ["html"] }
chrono = { version = "0.4.44", features = ["serde"] }
semver = "1.0.28"
tracing-appender = "0.2.5"
strsim = "0.11.1"
once_cell = "1.21.4"
syntect = "5.3.0"
itertools = "0.14.0"
crc32fast = "1.5.0"
unicode-normalization = "0.1.25"
urlencoding = "2.1.3"
half = { version = "2.7.1", features = ["bytemuck"] }
memmap2 = "0.9.10"
bytemuck = "1.25.0"
fastembed = { version = "5.13.4", default-features = false, features = ["ort-download-binaries-rustls-tls"] }
frankensearch = { version = "0.3.2", git = "https://github.com/Dicklesworthstone/frankensearch", rev = "2cad158f4468ece7076e3fe529c8e5c20b2e020e", default-features = false, features = ["hash", "lexical", "ann", "fastembed-reranker"] }
franken-agent-detection = { version = "0.1.8", git = "https://github.com/Dicklesworthstone/franken_agent_detection", rev = "b62d859709aa6f8e772759efa2c13da9e3c088c9", features = ["connectors", "cursor", "chatgpt", "opencode", "crush", "hermes"] }
wide = "1.4.0"
arrayvec = "0.7.6"
bloomfilter = "3.0.1"
hnsw_rs = "0.3.4"
ouroboros = "0.18.5"
aes-gcm = "0.10"
ring = "0.17.14"
url = "2.5.8"
pbkdf2 = "0.13.0"
sha2 = "0.10"
hex = "0.4.3"
dialoguer = "0.12.0"
ssh2 = "0.9.5"
argon2 = "0.5.3"
hkdf = "0.12"
zeroize = { version = "1.8.2", features = ["derive"] }
flate2 = "1.1.9"
rand = "0.10"
qrcode = { version = "0.14.1", optional = true }
image = { version = "0.25.10", optional = true, default-features = false, features = ["png"] }
unicode-width = "0.2.2"
[target.'cfg(target_os = "macos")'.dependencies]
security-framework = "3.7.0"
[target.'cfg(not(windows))'.dependencies]
openssl = { version = "0.10.79", features = ["vendored"] }
[features]
default = ["qr", "encryption"]
qr = ["dep:qrcode", "dep:image"]
encryption = []
backtrace = []
strict-path-dep-validation = []
[build-dependencies]
vergen = { version = "9.1.0", default-features = false, features = ["build", "cargo"] }
toml = "1.1.2"
[dev-dependencies]
assert_cmd = "2.2.2"
predicates = "3.1.4"
insta = { version = "1.47.2", features = ["yaml", "json"] }
criterion = "0.8.2"
once_cell = "1.21.4"
serial_test = "3.4.0"
proptest = "1.11.0"
arbitrary = { version = "1", features = ["derive"] }
serde_yaml = "0.9.34"
rand = "0.10"
rand_chacha = "0.10"
rusqlite = { version = "0.39.0", features = ["bundled", "modern_sqlite"] }
fsqlite-types = { version = "0.1.3", git = "https://github.com/Dicklesworthstone/frankensqlite", rev = "c8ce64fdce4cd2e3657d56d72719c7a3d99f39c3", package = "fsqlite-types" }
[[bin]]
name = "cass"
path = "src/main.rs"
test = false
[[bin]]
name = "cass-pages-perf-bundle"
path = "src/bin/cass-pages-perf-bundle.rs"
test = false
[profile.release]
lto = true
codegen-units = 1
strip = true
panic = "abort"
opt-level = 3
[profile.profiling]
inherits = "release"
debug = true
strip = false
[workspace.metadata.dist]
targets = ["x86_64-unknown-linux-gnu"]
installers = ["shell", "powershell"]
ci = ["github"]
[[bench]]
name = "index_perf"
harness = false
[[bench]]
name = "runtime_perf"
harness = false
[[bench]]
name = "search_perf"
harness = false
[[bench]]
name = "search_latency_e2e"
harness = false
[[bench]]
name = "crypto_perf"
harness = false
[[bench]]
name = "db_perf"
harness = false
[[bench]]
name = "export_perf"
harness = false
[[bench]]
name = "cache_micro"
harness = false
[[bench]]
name = "regex_cache"
harness = false
[[bench]]
name = "integration_regression"
harness = false
[[test]]
name = "docs"
path = "tests/docs/mod.rs"
[[test]]
name = "upgrade"
path = "tests/upgrade/mod.rs"
[[test]]
name = "recovery"
path = "tests/recovery/mod.rs"