[package]
name = "tael-cli"
version.workspace = true
edition.workspace = true
license.workspace = true
repository.workspace = true
keywords.workspace = true
categories.workspace = true
description = "AI-agent-native observability — a single `tael` binary that runs the OTLP ingest/storage server (`tael serve`) and queries, visualizes, and annotates traces"

# `cargo binstall tael-cli` downloads a prebuilt binary from the GitHub Release
# for the matching `v{version}` tag instead of compiling from source. Archive
# layout and tag naming are produced by .github/workflows/release.yml.
[package.metadata.binstall]
pkg-url = "{ repo }/releases/download/v{ version }/tael-cli-v{ version }-{ target }.tar.gz"
pkg-fmt = "tgz"
bin-dir = "tael-cli-v{ version }-{ target }/{ bin }{ binary-ext }"

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

[features]
# `gui` (opt-in) pulls in the Tauri desktop app behind the `tael gui` command.
# It hard-links webkit/GTK, so a binary built with it can't even *load* on a
# headless box (`libgdk-3.so.0: cannot open shared object file`). It is left out
# of the default set so `cargo install tael-cli`, `cargo binstall tael-cli`, the
# prebuilt release binaries, and the Docker image are all headless server/CLI
# builds. Desktop users opt in with `cargo install tael-cli --features gui`.
default = []
gui = ["dep:tael-gui"]
duckdb = ["tael-server/duckdb"]

[dependencies]
tael-server = { path = "../tael-server", version = "0.5.13" }
tael-gui = { path = "../tael-gui/src-tauri", version = "0.5.13", package = "tael-gui", optional = true }
anyhow.workspace = true
chrono.workspace = true
clap.workspace = true
comfy-table.workspace = true
reqwest.workspace = true
serde.workspace = true
serde_json.workspace = true
tokio.workspace = true
crossterm.workspace = true
ratatui.workspace = true
tracing.workspace = true
tracing-subscriber.workspace = true
uuid.workspace = true
