supsrc 2025-05-31
Added interactive REPL for watch command with prompt_toolkit and Python 3.13 type modernization
25 files · 1,558+ · 470-

Interactive REPL for watch command using prompt_toolkit

5 files changed
  • watch_cmds.py Added full interactive REPL to non-TUI watch mode
  • main.py Updated CLI main for REPL integration
  • tui_cmds.py TUI command updates
  • utils.py CLI utility updates
  • config_cmds.py Config command updates
  • Added full interactive REPL to supsrc watch non-TUI mode using prompt_toolkit with commands for help, list, status, pause, resume, details, and quit instantiate behavioral
    1 file
    • watch_cmds.py
  • Uses ParsedCommand attrs class for command parsing with pattern matching (match/case), runs concurrently with orchestrator via asyncio.gather instantiate internal
    1 file
    • watch_cmds.py
  • Includes HTML-formatted colored output and Ctrl+C/Ctrl+D handling instantiate internal
    1 file
    • watch_cmds.py

Orchestrator API extensions for REPL commands

1 file changed
  • orchestrator.py Added repository state, pause, resume, and details methods
  • Added get_all_repository_states(), get_repository_state(), pause_repository(), resume_repository(), and get_repository_details() methods to support REPL commands instantiate behavioral
    1 file
    • orchestrator.py
  • Expanded orchestrator API for programmatic repository control interface behavioral
    1 file
    • orchestrator.py

Python 3.13+ type hint modernization

10 files changed
  • loader.py Modernized type hints
  • credentials.py Updated type annotations
  • handler.py Updated type annotations
  • service.py Updated type annotations
  • state.py Updated type annotations
  • base.py Updated type annotations
  • alt_app.py Updated type annotations
  • app.py Updated type annotations
  • logging_handler.py Updated type annotations
  • messages.py Updated type annotations
  • Modernized type hints across the codebase to use Python 3.13+ syntax specify internal
    3 files
    • loader.py
    • credentials.py
    • app.py

Major test improvements with REPL, monitor, and orchestrator tests

6 files changed
  • test_cli_watch_repl.py REPL tests (211 lines)
  • test_monitor.py Monitor tests (164 lines)
  • test_orchestrator.py Orchestrator tests (219 lines)
  • test_cli.py Fixed CLI tests
  • test_config.py Fixed config tests
  • test_git_engine.py Fixed git engine tests
  • Added test_cli_watch_repl.py (211 lines), test_monitor.py (164 lines), and test_orchestrator.py (219 lines) qualify behavioral
    3 files
    • test_cli_watch_repl.py
    • test_monitor.py
    • test_orchestrator.py
  • Fixed multiple existing tests for CLI, config, engine, and state modules qualify internal
    3 files
    • test_cli.py
    • test_config.py
    • test_git_engine.py

Dependencies and build updates

3 files changed
  • .python-version Updated Python version requirement
  • pyproject.toml Added prompt_toolkit dependency
  • uv.lock Updated lock file with new packages
  • Updated Python version requirement and added prompt_toolkit dependency baseline internal
    3 files
    • .python-version
    • pyproject.toml
    • uv.lock