- Detect terminal color support and automatically switch to the new `ansi_basic` theme when only 16‑color support is available. - Introduce `OfflineProvider` that supplies a placeholder model and friendly messages when no providers are reachable, keeping the TUI usable. - Add `CONFIG_SCHEMA_VERSION` (`1.1.0`) with schema migration logic and default handling in `Config`. - Update configuration saving to persist the schema version and ensure defaults. - Register the `ansi_basic` theme in `theme.rs`. - Extend `ChatApp` with `set_status_message` to display custom status lines. - Update documentation (architecture, Vim mode state machine) to reflect new behavior. - Add async‑trait and futures dependencies required for the offline provider implementation.
56 lines
1.3 KiB
TOML
56 lines
1.3 KiB
TOML
[package]
|
|
name = "owlen-cli"
|
|
version.workspace = true
|
|
edition.workspace = true
|
|
authors.workspace = true
|
|
license.workspace = true
|
|
repository.workspace = true
|
|
homepage.workspace = true
|
|
description = "Command-line interface for OWLEN LLM client"
|
|
|
|
[features]
|
|
default = ["chat-client"]
|
|
chat-client = ["owlen-tui"]
|
|
|
|
[[bin]]
|
|
name = "owlen"
|
|
path = "src/main.rs"
|
|
required-features = ["chat-client"]
|
|
|
|
[[bin]]
|
|
name = "owlen-agent"
|
|
path = "src/agent_main.rs"
|
|
required-features = ["chat-client"]
|
|
|
|
[dependencies]
|
|
owlen-core = { path = "../owlen-core" }
|
|
# Optional TUI dependency, enabled by the "chat-client" feature.
|
|
owlen-tui = { path = "../owlen-tui", optional = true }
|
|
owlen-ollama = { path = "../owlen-ollama" }
|
|
log = { workspace = true }
|
|
async-trait = { workspace = true }
|
|
futures = { workspace = true }
|
|
|
|
# CLI framework
|
|
clap = { workspace = true, features = ["derive"] }
|
|
|
|
# Async runtime
|
|
tokio = { workspace = true }
|
|
tokio-util = { workspace = true }
|
|
|
|
# TUI framework
|
|
ratatui = { workspace = true }
|
|
crossterm = { workspace = true }
|
|
|
|
# Utilities
|
|
anyhow = { workspace = true }
|
|
serde = { workspace = true }
|
|
serde_json = { workspace = true }
|
|
regex = { workspace = true }
|
|
thiserror = { workspace = true }
|
|
dirs = { workspace = true }
|
|
|
|
[dev-dependencies]
|
|
tokio = { workspace = true }
|
|
tokio-test = { workspace = true }
|