codanna 0.9.21

Code Intelligence for Large Language Models
Documentation
[package]
name = "codanna"
version = "0.9.21"
authors = ["Angel Bartolli <bartolli@gmail.com>"]
edition = "2024"
description = "Code Intelligence for Large Language Models"
documentation = "https://docs.rs/codanna"
homepage = "https://github.com/bartolli/codanna"
repository = "https://github.com/bartolli/codanna"
license = "Apache-2.0"
readme = "README.md"
keywords = ["mcp-server", "code-intelligence", "semantic-search", "llm", "rag"]
categories = ["development-tools", "command-line-utilities", "parsing", "text-processing", "compilers"]
autoexamples = false
exclude = [".github/", "contributing/", "tests/", "docs/"]

[package.metadata.binstall]
pkg-fmt = "txz"
bin-dir = "{ name }-{ version }-{ target-family }/{ bin }{ binary-ext }"

[package.metadata.binstall.overrides.x86_64-unknown-linux-gnu]
pkg-url = "{ repo }/releases/download/v{ version }/{ name }-{ version }-linux-x64.tar.xz"
bin-dir = "{ name }-{ version }-linux-x64/{ bin }"

[package.metadata.binstall.overrides.x86_64-apple-darwin]
pkg-url = "{ repo }/releases/download/v{ version }/{ name }-{ version }-macos-x64.tar.xz"
bin-dir = "{ name }-{ version }-macos-x64/{ bin }"

[package.metadata.binstall.overrides.aarch64-apple-darwin]
pkg-url = "{ repo }/releases/download/v{ version }/{ name }-{ version }-macos-arm64.tar.xz"
bin-dir = "{ name }-{ version }-macos-arm64/{ bin }"

[package.metadata.binstall.overrides.x86_64-pc-windows-msvc]
pkg-url = "{ repo }/releases/download/v{ version }/{ name }-{ version }-windows-x64.zip"
pkg-fmt = "zip"
bin-dir = "{ name }-{ version }-windows-x64/{ bin }{ binary-ext }"

[dependencies]
anyhow = "1.0.102"
bitflags = "2.11.0"
clap = { version = "4.6.0", features = ["derive", "color", "env"] }
crossbeam-channel = "0.5.15"
dashmap = "6.1.0"
dirs = "6.0.0"
figment = { version = "0.10.19", features = ["toml", "env"] }
ignore = "0.4.25"
memmap2 = "0.9.10"
notify = "8.2.0"
num_cpus = "1.17.0"
parking_lot = "0.12.5"
rayon = "1.11.0"
rmcp = { version = "1.2.0", features = ["server", "client", "transport-io", "transport-child-process", "transport-streamable-http-server", "transport-worker"] }
serde = { version = "1.0.228", features = ["derive"] }
serde_json = "1.0.149"
sha2 = "0.10"
tantivy = "0.25.0"
thiserror = "2.0.18"
tokio = { version = "1.50.0", features = ["full"] }
toml = { version = "0.9.8", features = ["preserve_order"] }
tracing = "0.1.44"
tracing-subscriber = { version = "0.3.23", features = ["env-filter"] }
tree-sitter = "0.26.7"
tree-sitter-go = "0.25.0"
tree-sitter-gdscript = "6.1.0"
tree-sitter-java = "0.23.5"
tree-sitter-javascript = "0.25.0"
tree-sitter-kotlin-codanna = "0.3.9"
tree-sitter-php = "0.24.1"
tree-sitter-python = "0.25.0"
tree-sitter-rust = "0.24.0"
tree-sitter-typescript = "0.23.2"
walkdir = "2.5.0"
# Pinned: fastembed >=5.7 uses ort 2.0.0-rc.11 (ONNX Runtime 1.23) whose
# prebuilt binaries require glibc 2.38+. Homebrew Linux CI runs Ubuntu 22.04
# (glibc 2.35), so the bottle build fails with undefined __isoc23_strtol.
# Upgrade when ort ships glibc 2.35 binaries or Homebrew moves to Ubuntu 24.04.
fastembed = "=5.6.0"
rand = "0.10.0"
indicatif = "0.18.4"
comfy-table = "7.2.2"
console = "0.16.3"
owo-colors = "4.3.0"
axum = { version = "0.8.8", optional = true }
tower = { version = "0.5.3", optional = true }
tower-http = { version = "0.6.8", features = ["cors"], optional = true }
serde_urlencoded = "0.7"
tokio-util = "0.7.18"
axum-server = { version = "0.8.0", features = ["tls-rustls-no-provider"], optional = true }
rustls = { version = "0.23.37", default-features = false, features = ["ring"], optional = true }
rcgen = { version = "0.14.7", optional = true }
is-terminal = "0.4.17"
regex = "1.12.3"
tree-sitter-c = "0.24.1"
tree-sitter-c-sharp = "0.23.1"
tree-sitter-cpp = "0.23.4"
chrono = "0.4.44"
tempfile = "3.27.0"
serde_json5 = "0.2.1"
tree-sitter-swift = "0.7.1"
tree-sitter-lua = "0.5.0"
tree-sitter-clojure-orchard = "0.2.5"
glob = "0.3.3"
async-trait = "0.1.89"
reqwest = { version = "0.12", default-features = false, features = ["json", "rustls-tls"] }
sysinfo = "0.38.4"
indexmap = { version = "2.13.0", features = ["serde"] }

[dev-dependencies]
criterion = { version = "0.8.2", features = ["html_reports"] }
ort = { version = "=2.0.0-rc.10", default-features = false }
testcontainers = "0.27.1"
thread-id = "5.1.0"

[features]
default = ["http-server"]
http-server = ["axum", "tower", "tower-http"]
https-server = ["http-server", "axum-server", "rustls", "rcgen"]
axum = ["dep:axum"]
tower = ["dep:tower"]
tower-http = ["dep:tower-http"]
axum-server = ["dep:axum-server"]
rustls = ["dep:rustls"]
rcgen = ["dep:rcgen"]

[profile.release]
# opt-level = 3
# lto = true
# codegen-units = 1
# strip = true

[[example]]
name = "simple_progress_demo"
path = "examples/simple_progress_demo.rs"

[[example]]
name = "pipeline_metrics_demo"
path = "examples/pipeline_metrics_demo.rs"

[[bench]]
name = "unified_output_bench"
harness = false

[[bench]]
name = "kotlin_parser_bench"
harness = false