[package]
name = "kreuzberg-cli"
version.workspace = true
edition.workspace = true
rust-version.workspace = true
authors.workspace = true
description = "Command-line interface for Kreuzberg document intelligence"
license.workspace = true
repository.workspace = true
homepage = "https://kreuzberg.dev"
documentation = "https://docs.kreuzberg.dev"
keywords = ["document", "extraction", "cli", "tool", "parser"]
categories = ["command-line-utilities", "text-processing"]

[package.metadata.cargo-machete]
ignored = ["serde_toon_format"]

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

[features]
default = [
    "embeddings",
    "html",
    "liter-llm",
    "ocr",
    "paddle-ocr",
    "layout-detection",
    "chunking-tokenizers",
    "tree-sitter",
]
ort-bundled = ["kreuzberg/ort-bundled"]

ocr = ["kreuzberg/ocr"]

api = ["kreuzberg/api"]
mcp = ["kreuzberg/mcp"]
mcp-http = ["kreuzberg/mcp-http"]
embeddings = ["kreuzberg/embeddings"]
paddle-ocr = ["kreuzberg/paddle-ocr"]
layout-detection = ["kreuzberg/layout-detection"]
chunking-tokenizers = ["kreuzberg/chunking-tokenizers"]
html = ["kreuzberg/html"]
liter-llm = ["kreuzberg/liter-llm"]
tree-sitter = ["kreuzberg/tree-sitter", "dep:tree-sitter-language-pack"]
all = [
    "default",
    "api",
    "html",
    "mcp",
    "mcp-http",
    "chunking-tokenizers",
    "tree-sitter",
    "liter-llm",
]

[dependencies]

anstyle = "1"
anyhow = { workspace = true }
base64 = { workspace = true }
clap = { workspace = true }
clap_complete = "4.6"
kreuzberg = { workspace = true, features = [
    "formats",
    "analysis",
    "tokio-runtime",
    "simd-utf8",
    "cli",
] }
serde = { workspace = true }
serde_json = { workspace = true }
serde_toon_format = { workspace = true }
tokio = { workspace = true }
tracing = { workspace = true }
tracing-subscriber = { version = "0.3", features = ["env-filter", "fmt"] }
tree-sitter-language-pack = { workspace = true, features = [
    "dynamic-loading",
    "download",
    "serde",
], optional = true }

[dev-dependencies]
tempfile = { workspace = true }
ureq = { version = "3.3", features = ["json"] }
