[package]
name = "otelite-api"
version.workspace = true
edition.workspace = true
authors.workspace = true
description = "Lightweight web dashboard for visualizing OpenTelemetry logs, traces, and metrics"
keywords = ["opentelemetry", "observability", "otlp", "dashboard"]
categories = ["web-programming"]
documentation = "https://docs.rs/otelite-api"
license.workspace = true
repository.workspace = true
homepage.workspace = true

[dependencies]
# Web framework
axum = { workspace = true }
tower = "0.5"
tower-http = { version = "0.5", features = ["fs", "trace", "cors"] }

# Async runtime (already used by otelite-receiver)
tokio = { workspace = true }

# Serialization
serde = { workspace = true }
serde_json = { workspace = true }

# OpenAPI documentation
utoipa = { version = "4", features = ["axum_extras"] }
utoipa-swagger-ui = { version = "7", features = ["axum"] }

# Date/time formatting for session diagnose endpoint
chrono = { workspace = true }

# MIME type detection for static files
mime_guess = "2.0"

# HTTP client for fetching the LiteLLM pricing JSON at server startup
reqwest = { workspace = true }

# Internal dependencies
otelite-core = { path = "../otelite-core", version = "0.1.0", features = ["openapi"] }
async-trait = "0.1"

# Logging
tracing = { workspace = true }

[dev-dependencies]
# Testing
tokio-test = "0.4"
tower = { version = "0.5", features = ["util"] }
http-body-util = "0.1"
tempfile = { workspace = true }
otelite-storage = { path = "../otelite-storage", version = "0.1.0" }
