Commit Graph

7 Commits

Author SHA1 Message Date
1de7de6bb6 Fix scroll direction inversion in REPL
Fixed the scroll direction bug where PageUp/PageDown were inverted:

- page_up now scrolls UP (back in time) with positive delta (+10)
- page_down now scrolls DOWN (forward in time) with negative delta (-10)
- Mouse wheel up/down also fixed with same logic (+3/-3)

The scroll logic in scroll_output() was correct (positive = scroll up),
but the key handlers in both main.py and pipeline_runner.py had
the signs inverted.
2026-03-30 19:16:07 -07:00
5a43621114 Add mouse wheel and keyboard scrolling support to REPL
- Add scroll_offset to REPLState (max 50 lines)
- Modify _render_repl() to use manual scroll position
- Add scroll_output(delta) method for scroll control
- Add PageUp/PageDown keyboard support (scroll 10 lines)
- Add mouse wheel support via SGR mouse tracking
- Update HUD to show scroll percentage (like vim) and position
- Reset scroll when new output arrives
- Add tests for scroll functionality
2026-03-30 19:16:07 -07:00
6c56f0a398 Add pipeline mutation commands to REPL
- Add help text for add_stage, remove_stage, swap_stages, move_stage commands
- Implement _cmd_add_stage, _cmd_remove_stage, _cmd_swap_stages, _cmd_move_stage methods
- Update _handle_pipeline_mutation in main.py and pipeline_runner.py
- Fix fragile test by testing output buffer directly instead of rendered output
2026-03-30 19:16:07 -07:00
ac788fdc6d Add Ctrl+C quit handling to REPL
- Add _quit_requested flag to TerminalDisplay
- Add request_quit() method to TerminalDisplay
- Handle 'ctrl_c' key in REPL input loops in both pipeline_runner.py and main.py
- When Ctrl+C is pressed, request_quit() is called which sets the flag
- The main loop checks is_quit_requested() and raises KeyboardInterrupt
2026-03-30 19:16:07 -07:00
f8a3093155 Add REPL effect detection and input handling to pipeline runner
- Detect REPL effect in pipeline and enable interactive mode
- Enable raw terminal mode for REPL input capture
- Add keyboard input loop for REPL commands (return, up/down arrows, backspace)
- Process commands and handle pipeline mutations from REPL
- Fix lint issues in graph and REPL modules (type annotations, imports)
2026-03-30 19:16:07 -07:00
4c523c31e5 feat(graph): Integrate graph system with pipeline runner
Add support for loading pipelines from TOML graph configs in the
pipeline runner, maintaining full backward compatibility with presets.

- Add graph_config parameter to run_pipeline_mode() function
- Support both preset mode and graph mode with conditional logic
- Graph mode: loads from TOML file, uses graph-defined stages
- Preset mode: maintains existing behavior with manual stage building
- Handle items/context appropriately for each mode (graph uses own data sources)
- CLI display flag works in both modes

Backward compatible: graph_config defaults to None, so existing calls
to run_pipeline_mode(preset_name) continue to work unchanged.
2026-03-30 19:16:07 -07:00
2d28e92594 feature/capability-based-deps (#53)
Reviewed-on: #53
Co-authored-by: David Gwilliam <dhgwilliam@gmail.com>
Co-committed-by: David Gwilliam <dhgwilliam@gmail.com>
2026-03-31 01:55:21 +00:00