[package]
name = "otelite"
version.workspace = true
edition.workspace = true
rust-version.workspace = true
authors.workspace = true
license.workspace = true
repository.workspace = true
homepage.workspace = true
description = "Otelite: OTLP receiver, dashboard, and CLI for local OpenTelemetry observability"
readme = "../../README.md"
keywords = ["opentelemetry", "observability", "otlp", "tracing", "llm"]
categories = ["command-line-utilities", "development-tools"]
documentation = "https://docs.rs/otelite"

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

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


[dependencies]
clap = { workspace = true, features = ["env"] }
comfy-table = "7.1"
minus = { version = "5.6", features = ["static_output", "search"] }
terminal_size = "0.4"
reqwest = { workspace = true }
serde = { workspace = true }
serde_json = { workspace = true }
tokio = { workspace = true }
tracing = { workspace = true }
tracing-subscriber = { workspace = true, features = ["env-filter", "json"] }
tracing-appender = "0.2"
chrono = { workspace = true }

# Unix signal handling for daemon management
[target.'cfg(unix)'.dependencies]
nix = { version = "0.29", features = ["signal", "process"] }

# Internal dependencies
otelite-core = { path = "../otelite-core", version = "0.1.0" }
otelite-api = { path = "../otelite-api", version = "0.1.0" }
otelite-client = { path = "../otelite-client", version = "0.1.0" }
otelite-receiver = { path = "../otelite-receiver", version = "0.1.0" }
otelite-storage = { path = "../otelite-storage", version = "0.1.0" }
otelite-tui = { path = "../otelite-tui", version = "0.1.0" }

[dev-dependencies]
mockito = "1.2"
assert_cmd = "2.0"
predicates = "3.0"
tempfile = "3.13"
csv = "1.3"
