[package]
name = "tempurview"
# Version is set from git tags at publish time (see .github/workflows/release.yml)
version = "0.13.0"
edition = "2021"
rust-version = "1.70"
description = "A CLI and TUI for viewing and managing Temporal workflows"
license = "MIT"
repository = "https://github.com/Tatch-AI/tempurview"
homepage = "https://github.com/Tatch-AI/tempurview"
keywords = ["temporal", "workflow", "tui", "cli", "grpc"]
categories = ["command-line-utilities", "development-tools"]
exclude = [
    "design-docs/",
    "tests/",
    "TESTING.md",
    "target/",
    ".github/",
    "docs/",
    "/proto/",
]

[dependencies]
# Async runtime
tokio = { version = "1", features = ["full"] }

# TUI framework
ratatui = "0.29"
crossterm = { version = "0.28", features = ["event-stream"] }

# Error handling
color-eyre = "0.6"
thiserror = "2"

# Async traits
async-trait = "0.1"

# Serialization
serde = { version = "1", features = ["derive"] }
serde_json = "1"

# Date/time
chrono = { version = "0.4", features = ["serde"] }

# Futures utilities
futures = "0.3"

# Random data generation (for mock client)
rand = "0.8"

# Environment file loading
dotenvy = "0.15"

# Logging
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
tracing-appender = "0.2"

# Home directory
dirs = "5"

# TOML config file parsing
toml = "0.8"

# CLI argument parsing
clap = { version = "4", features = ["derive", "env"] }
clap_complete = "4"

# Table output for CLI mode
comfy-table = "7"

# gRPC client
tonic = { version = "0.12", features = ["tls", "tls-roots"] }
prost = "0.13"
prost-types = "0.13"

# Web server
axum = { version = "0.7", features = ["json"] }

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

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

[build-dependencies]
tonic-build = "0.12"

[dev-dependencies]
pretty_assertions = "1"
