ricecoder_modes/
lib.rs

1#![warn(missing_docs)]
2
3//! RiceCoder Modes - Mode system for different interaction patterns
4//!
5//! This crate provides a flexible mode system for RiceCoder with support for:
6//! - Code Mode: Focused code generation and modification
7//! - Ask Mode: Question answering without file modifications
8//! - Vibe Mode: Free-form exploration and rapid prototyping
9//! - Think More: Extended reasoning for complex tasks
10
11/// Ask Mode implementation
12pub mod ask_mode;
13/// Property-based tests for Ask Mode
14#[cfg(test)]
15mod ask_mode_properties;
16/// Auto-enable logic for Think More based on task complexity
17pub mod auto_enable;
18/// Code Mode implementation
19pub mod code_mode;
20/// Property-based tests for Code Mode
21#[cfg(test)]
22mod code_mode_properties;
23/// Error types for the modes system
24pub mod error;
25/// Mode manager for lifecycle and transitions
26pub mod manager;
27/// Mode trait definition
28pub mod mode;
29/// Mode switcher for handling transitions with context preservation
30pub mod mode_switcher;
31/// Property-based tests for Mode Switching
32#[cfg(test)]
33mod mode_switching_properties;
34/// Data models for modes
35pub mod models;
36/// Per-task configuration management
37pub mod task_config;
38/// Property-based tests for Think More Activation
39#[cfg(test)]
40mod think_more_activation_properties;
41/// Property-based tests for Think More Auto-Enable
42#[cfg(test)]
43mod think_more_auto_enable_properties;
44/// Property-based tests for Think More Configuration
45#[cfg(test)]
46mod think_more_configuration_properties;
47/// Think More controller for extended thinking
48pub mod think_more_controller;
49/// Property-based tests for Think More Performance Trade-off
50#[cfg(test)]
51mod think_more_performance_properties;
52/// Thinking display and formatting
53pub mod thinking_display;
54/// Vibe Mode implementation
55pub mod vibe_mode;
56/// Property-based tests for Vibe Mode
57#[cfg(test)]
58mod vibe_mode_properties;
59
60pub use ask_mode::AskMode;
61pub use auto_enable::{ComplexityAnalysis, ComplexityDetector};
62pub use code_mode::CodeMode;
63pub use error::{ModeError, Result};
64pub use manager::ModeManager;
65pub use mode::Mode;
66pub use mode_switcher::ModeSwitcher;
67pub use models::{
68    Capability, ChangeSummary, ComplexityLevel, Message, MessageRole, ModeAction, ModeConfig,
69    ModeConstraints, ModeContext, ModeResponse, Operation, ResponseMetadata, ThinkMoreConfig,
70    ThinkingDepth,
71};
72pub use task_config::{TaskConfig, TaskConfigManager};
73pub use think_more_controller::{ThinkMoreController, ThinkingMetadata};
74pub use thinking_display::{ThinkingDisplay, ThinkingStatistics};
75pub use vibe_mode::VibeMode;