sql-cli 1.73.1

SQL query tool for CSV/JSON with both interactive TUI and non-interactive CLI modes - perfect for exploration and automation
Documentation
# Command Mode Extraction - Phase 1 Progress

## What We've Done
1. Created `CommandEditor` struct in enhanced_tui.rs
2. Added it as a field to `EnhancedTuiApp`
3. Identified the key entry point: `handle_command_input()`

## Current Command Mode Flow
```
try_handle_mode_dispatch()
  └─> AppMode::Command => handle_command_input()
        ├─> normalize_and_log_key()
        ├─> try_action_system()
        ├─> try_editor_widget()
        ├─> try_handle_history_navigation()
        ├─> try_handle_buffer_operations()
        ├─> try_handle_function_keys()
        ├─> try_handle_text_editing()
        └─> try_handle_mode_transitions()
```

## Key Methods to Migrate
1. **Input Handling**
   - `try_handle_text_editing()` - Core text operations
   - `try_handle_buffer_operations()` - Buffer-specific operations
   
2. **History**
   - `try_handle_history_navigation()` - Ctrl+P/N navigation
   
3. **Mode Transitions**
   - `try_handle_mode_transitions()` - Escape, Enter, arrows
   
4. **Special Operations**
   - `try_action_system()` - New action-based system
   - `try_editor_widget()` - Editor widget integration

## Dependencies to Consider
- `state_container` - Primary state holder
- `shadow_state` - State synchronization  
- `input` - tui_input::Input widget (currently in both places)
- `key_mapper` - Action mapping
- `editor_widget` - SQL editor widget

## Next Steps
1. Move `input` field to CommandEditor only
2. Create delegation method in handle_command_input
3. Migrate try_handle_text_editing first (simplest)
4. Test thoroughly before moving more complex handlers

## Notes
- The `input` field exists in both EnhancedTuiApp and CommandEditor currently
- Need to consolidate to avoid state conflicts
- History handler also duplicated - needs consolidation