Files
owlen/crates/owlen-core
vikingowl e57844e742 feat(phase5): implement mode consolidation and tool availability system
Implements Phase 5 from the roadmap with complete mode-based tool filtering:

- Add Mode enum (Chat/Code) with FromStr trait implementation
- Extend Config with ModeConfig for per-mode tool availability
- Update ToolRegistry to enforce mode-based filtering
- Add --code/-c CLI argument to start in code mode
- Implement TUI commands: :mode, :code, :chat, :tools
- Add operating mode indicator to status line (💬/💻 badges)
- Create comprehensive documentation in docs/phase5-mode-system.md

Default configuration:
- Chat mode: only web_search allowed
- Code mode: all tools allowed (wildcard *)

All code compiles cleanly with cargo clippy passing.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-09 20:17:41 +02:00
..
2025-10-09 11:33:27 +02:00

Owlen Core

This crate provides the core abstractions and data structures for the Owlen ecosystem.

It defines the essential traits and types that enable communication with various LLM providers, manage sessions, and handle configuration.

Key Components

  • Provider trait: The fundamental abstraction for all LLM providers. Implement this trait to add support for a new provider.
  • Session: Represents a single conversation, managing message history and context.
  • Model: Defines the structure for LLM models, including their names and properties.
  • Configuration: Handles loading and parsing of the application's configuration.