AC:\n- Providers emit ProviderFailure with structured kind/detail for auth, rate-limit, timeout, and unavailable cases.\n- TUI maps ProviderFailure kinds to consistent toasts and fallbacks (no 429 string matching).\n- Cloud health checks detect unauthorized failures without relying on string parsing.\n\nTests:\n- cargo test -p owlen-core (fails: httpmock cannot bind 127.0.0.1 inside sandbox).\n- cargo test -p owlen-providers\n- cargo test -p owlen-tui
Owlen TUI
This crate contains all the logic for the terminal user interface (TUI) of Owlen.
It is built using the excellent ratatui library and is responsible for rendering the chat interface, handling user input, and managing the application state.
Features
- Chat View: A scrollable view of the conversation history.
- Input Box: A text input area for composing messages.
- Model Selection: An interface for switching between different models.
- Event Handling: A system for managing keyboard events and asynchronous operations.