voidx-cli 3.5.2__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__init__.py +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/conftest.py +4 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_frame_advanced.py +293 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_frame_rendering.py +429 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_headless.py +71 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_input_advanced.py +446 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_input_handling.py +459 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_output_paste.py +242 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_output_stream.py +130 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_output_tools.py +271 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_output_tree.py +378 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_paste_handling.py +364 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_startup.py +60 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_status_activity.py +640 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_status_layout.py +145 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_terminal_input.py +437 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_terminal_panels.py +439 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_win32_paste_drain_integration.py +154 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_win32_paste_drain_regression.py +495 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_win32_paste_drain_unit.py +140 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/tui_helpers.py +70 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__init__.py +6 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/activity.py +64 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/app.py +650 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/choice_mixin.py +59 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/clipboard_mixin.py +83 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/helpers.py +144 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/input.py +370 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/overlays.py +157 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/panels.py +347 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/parser.py +531 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/render_activity.py +217 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/render_frame.py +615 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/render_input.py +154 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/render_status.py +266 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/render_todo.py +79 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/renderer.py +24 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/state.py +254 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/terminal_mixin.py +95 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/text_prompt_mixin.py +49 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__init__.py +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/__init__.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/conftest.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_frame_advanced.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_frame_rendering.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_headless.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_input_advanced.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_input_handling.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_output_paste.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_output_stream.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_output_tools.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_output_tree.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_paste_handling.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_startup.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_status_activity.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_status_layout.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_terminal_input.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_terminal_panels.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_win32_paste_drain_integration.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_win32_paste_drain_regression.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_win32_paste_drain_unit.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/tui_helpers.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/conftest.py +4 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_frame_advanced.py +293 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_frame_rendering.py +429 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_headless.py +71 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_input_advanced.py +446 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_input_handling.py +459 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_output_paste.py +242 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_output_stream.py +130 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_output_tools.py +271 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_output_tree.py +378 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_paste_handling.py +364 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_startup.py +60 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_status_activity.py +640 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_status_layout.py +145 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_terminal_input.py +437 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_terminal_panels.py +439 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_win32_paste_drain_integration.py +154 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_win32_paste_drain_regression.py +495 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_win32_paste_drain_unit.py +140 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/tui_helpers.py +70 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__init__.py +6 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/__init__.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/activity.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/app.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/choice_mixin.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/clipboard_mixin.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/helpers.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/input.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/overlays.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/panels.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/parser.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/render_activity.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/render_frame.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/render_input.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/render_status.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/render_todo.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/renderer.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/state.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/terminal_mixin.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/text_prompt_mixin.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/activity.py +64 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/app.py +650 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/choice_mixin.py +59 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/clipboard_mixin.py +83 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/helpers.py +144 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/input.py +370 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/overlays.py +157 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/panels.py +347 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/parser.py +531 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/render_activity.py +217 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/render_frame.py +615 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/render_input.py +154 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/render_status.py +266 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/render_todo.py +79 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/renderer.py +24 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/state.py +254 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/terminal_mixin.py +95 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/text_prompt_mixin.py +49 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__init__.py +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/__init__.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/conftest.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_frame_advanced.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_frame_rendering.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_headless.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_input_advanced.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_input_handling.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_output_paste.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_output_stream.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_output_tools.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_output_tree.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_paste_handling.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_startup.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_status_activity.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_status_layout.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_terminal_input.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_terminal_panels.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_win32_paste_drain_integration.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_win32_paste_drain_regression.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_win32_paste_drain_unit.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/tui_helpers.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/conftest.py +4 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_frame_advanced.py +293 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_frame_rendering.py +429 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_headless.py +71 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_input_advanced.py +446 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_input_handling.py +459 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_output_paste.py +242 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_output_stream.py +130 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_output_tools.py +271 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_output_tree.py +378 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_paste_handling.py +364 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_startup.py +60 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_status_activity.py +640 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_status_layout.py +145 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_terminal_input.py +437 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_terminal_panels.py +439 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_win32_paste_drain_integration.py +154 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_win32_paste_drain_regression.py +495 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_win32_paste_drain_unit.py +140 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/tui_helpers.py +70 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__init__.py +6 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/__init__.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/activity.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/app.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/choice_mixin.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/clipboard_mixin.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/helpers.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/input.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/overlays.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/panels.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/parser.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/render_activity.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/render_frame.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/render_input.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/render_status.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/render_todo.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/renderer.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/state.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/terminal_mixin.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/text_prompt_mixin.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/activity.py +64 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/app.py +650 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/choice_mixin.py +59 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/clipboard_mixin.py +83 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/helpers.py +144 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/input.py +370 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/overlays.py +157 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/panels.py +347 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/parser.py +531 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/render_activity.py +217 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/render_frame.py +615 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/render_input.py +154 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/render_status.py +266 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/render_todo.py +79 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/renderer.py +24 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/state.py +254 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/terminal_mixin.py +95 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/text_prompt_mixin.py +49 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__init__.py +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/__init__.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/conftest.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_frame_advanced.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_frame_rendering.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_headless.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_input_advanced.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_input_handling.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_output_paste.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_output_stream.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_output_tools.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_output_tree.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_paste_handling.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_startup.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_status_activity.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_status_layout.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_terminal_input.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_terminal_panels.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_win32_paste_drain_integration.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_win32_paste_drain_regression.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_win32_paste_drain_unit.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/tui_helpers.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/conftest.py +4 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_frame_advanced.py +293 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_frame_rendering.py +429 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_headless.py +71 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_input_advanced.py +446 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_input_handling.py +459 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_output_paste.py +242 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_output_stream.py +130 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_output_tools.py +271 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_output_tree.py +378 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_paste_handling.py +364 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_startup.py +60 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_status_activity.py +640 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_status_layout.py +145 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_terminal_input.py +437 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_terminal_panels.py +439 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_win32_paste_drain_integration.py +154 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_win32_paste_drain_regression.py +495 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_win32_paste_drain_unit.py +140 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/tui_helpers.py +70 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__init__.py +6 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/__init__.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/activity.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/app.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/choice_mixin.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/clipboard_mixin.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/helpers.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/input.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/overlays.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/panels.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/parser.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/render_activity.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/render_frame.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/render_input.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/render_status.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/render_todo.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/renderer.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/state.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/terminal_mixin.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/text_prompt_mixin.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/activity.py +64 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/app.py +650 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/choice_mixin.py +59 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/clipboard_mixin.py +83 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/helpers.py +144 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/input.py +370 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/overlays.py +157 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/panels.py +347 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/parser.py +531 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/render_activity.py +217 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/render_frame.py +615 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/render_input.py +154 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/render_status.py +266 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/render_todo.py +79 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/renderer.py +24 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/state.py +254 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/terminal_mixin.py +95 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/text_prompt_mixin.py +49 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__init__.py +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/__init__.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/conftest.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_frame_advanced.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_frame_rendering.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_headless.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_input_advanced.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_input_handling.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_output_paste.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_output_stream.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_output_tools.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_output_tree.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_paste_handling.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_startup.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_status_activity.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_status_layout.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_terminal_input.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_terminal_panels.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_win32_paste_drain_integration.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_win32_paste_drain_regression.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_win32_paste_drain_unit.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/tui_helpers.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/conftest.py +4 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_frame_advanced.py +293 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_frame_rendering.py +429 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_headless.py +71 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_input_advanced.py +446 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_input_handling.py +459 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_output_paste.py +242 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_output_stream.py +130 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_output_tools.py +271 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_output_tree.py +378 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_paste_handling.py +364 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_startup.py +60 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_status_activity.py +640 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_status_layout.py +145 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_terminal_input.py +437 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_terminal_panels.py +439 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_win32_paste_drain_integration.py +154 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_win32_paste_drain_regression.py +495 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_win32_paste_drain_unit.py +140 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/tui_helpers.py +70 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__init__.py +6 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/__init__.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/activity.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/app.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/choice_mixin.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/clipboard_mixin.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/helpers.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/input.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/overlays.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/panels.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/parser.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/render_activity.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/render_frame.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/render_input.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/render_status.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/render_todo.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/renderer.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/state.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/terminal_mixin.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/text_prompt_mixin.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/activity.py +64 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/app.py +650 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/choice_mixin.py +59 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/clipboard_mixin.py +83 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/helpers.py +144 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/input.py +370 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/overlays.py +157 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/panels.py +347 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/parser.py +531 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/render_activity.py +217 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/render_frame.py +615 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/render_input.py +154 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/render_status.py +266 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/render_todo.py +79 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/renderer.py +24 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/state.py +254 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/terminal_mixin.py +95 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/text_prompt_mixin.py +49 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__init__.py +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/__init__.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/conftest.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_frame_advanced.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_frame_rendering.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_headless.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_input_advanced.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_input_handling.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_output_paste.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_output_stream.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_output_tools.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_output_tree.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_paste_handling.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_startup.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_status_activity.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_status_layout.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_terminal_input.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_terminal_panels.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_win32_paste_drain_integration.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_win32_paste_drain_regression.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_win32_paste_drain_unit.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/tui_helpers.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/conftest.py +4 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_frame_advanced.py +293 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_frame_rendering.py +429 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_headless.py +71 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_input_advanced.py +446 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_input_handling.py +459 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_output_paste.py +242 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_output_stream.py +130 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_output_tools.py +271 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_output_tree.py +378 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_paste_handling.py +364 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_startup.py +60 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_status_activity.py +640 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_status_layout.py +145 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_terminal_input.py +437 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_terminal_panels.py +439 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_win32_paste_drain_integration.py +154 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_win32_paste_drain_regression.py +495 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_win32_paste_drain_unit.py +140 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/tui_helpers.py +70 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__init__.py +6 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/__init__.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/activity.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/app.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/choice_mixin.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/clipboard_mixin.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/helpers.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/input.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/overlays.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/panels.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/parser.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/render_activity.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/render_frame.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/render_input.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/render_status.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/render_todo.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/renderer.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/state.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/terminal_mixin.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/text_prompt_mixin.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/activity.py +64 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/app.py +650 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/choice_mixin.py +59 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/clipboard_mixin.py +83 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/helpers.py +144 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/input.py +370 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/overlays.py +157 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/panels.py +347 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/parser.py +531 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/render_activity.py +217 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/render_frame.py +615 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/render_input.py +154 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/render_status.py +266 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/render_todo.py +79 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/renderer.py +24 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/state.py +254 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/terminal_mixin.py +95 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/text_prompt_mixin.py +49 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__init__.py +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/__init__.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/conftest.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_frame_advanced.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_frame_rendering.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_headless.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_input_advanced.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_input_handling.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_output_paste.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_output_stream.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_output_tools.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_output_tree.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_paste_handling.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_startup.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_status_activity.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_status_layout.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_terminal_input.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_terminal_panels.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_win32_paste_drain_integration.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_win32_paste_drain_regression.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_win32_paste_drain_unit.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/tui_helpers.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/conftest.py +4 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_frame_advanced.py +293 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_frame_rendering.py +429 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_headless.py +71 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_input_advanced.py +446 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_input_handling.py +459 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_output_paste.py +242 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_output_stream.py +130 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_output_tools.py +271 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_output_tree.py +378 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_paste_handling.py +364 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_startup.py +60 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_status_activity.py +640 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_status_layout.py +145 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_terminal_input.py +437 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_terminal_panels.py +439 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_win32_paste_drain_integration.py +154 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_win32_paste_drain_regression.py +495 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_win32_paste_drain_unit.py +140 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/tui_helpers.py +70 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__init__.py +6 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/__init__.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/activity.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/app.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/choice_mixin.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/clipboard_mixin.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/helpers.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/input.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/overlays.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/panels.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/parser.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/render_activity.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/render_frame.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/render_input.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/render_status.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/render_todo.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/renderer.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/state.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/terminal_mixin.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/text_prompt_mixin.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/activity.py +64 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/app.py +650 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/choice_mixin.py +59 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/clipboard_mixin.py +83 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/helpers.py +144 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/input.py +370 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/overlays.py +157 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/panels.py +347 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/parser.py +531 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/render_activity.py +217 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/render_frame.py +615 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/render_input.py +154 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/render_status.py +266 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/render_todo.py +79 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/renderer.py +24 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/state.py +254 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/terminal_mixin.py +95 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/text_prompt_mixin.py +49 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__init__.py +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/__init__.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/conftest.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_frame_advanced.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_frame_rendering.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_headless.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_input_advanced.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_input_handling.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_output_paste.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_output_stream.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_output_tools.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_output_tree.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_paste_handling.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_startup.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_status_activity.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_status_layout.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_terminal_input.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_terminal_panels.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_win32_paste_drain_integration.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_win32_paste_drain_regression.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_win32_paste_drain_unit.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/tui_helpers.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/conftest.py +4 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_frame_advanced.py +293 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_frame_rendering.py +429 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_headless.py +71 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_input_advanced.py +446 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_input_handling.py +459 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_output_paste.py +242 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_output_stream.py +130 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_output_tools.py +271 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_output_tree.py +378 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_paste_handling.py +364 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_startup.py +60 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_status_activity.py +640 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_status_layout.py +145 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_terminal_input.py +437 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_terminal_panels.py +439 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_win32_paste_drain_integration.py +154 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_win32_paste_drain_regression.py +495 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_win32_paste_drain_unit.py +140 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/tui_helpers.py +70 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__init__.py +6 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/__init__.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/activity.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/app.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/choice_mixin.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/clipboard_mixin.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/helpers.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/input.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/overlays.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/panels.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/parser.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/render_activity.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/render_frame.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/render_input.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/render_status.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/render_todo.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/renderer.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/state.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/terminal_mixin.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/text_prompt_mixin.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/activity.py +64 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/app.py +650 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/choice_mixin.py +59 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/clipboard_mixin.py +83 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/helpers.py +144 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/input.py +370 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/overlays.py +157 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/panels.py +347 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/parser.py +531 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/render_activity.py +217 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/render_frame.py +615 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/render_input.py +154 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/render_status.py +266 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/render_todo.py +79 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/renderer.py +24 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/state.py +254 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/terminal_mixin.py +95 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/text_prompt_mixin.py +49 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__init__.py +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/__init__.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/conftest.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_frame_advanced.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_frame_rendering.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_headless.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_input_advanced.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_input_handling.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_output_paste.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_output_stream.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_output_tools.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_output_tree.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_paste_handling.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_startup.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_status_activity.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_status_layout.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_terminal_input.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_terminal_panels.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_win32_paste_drain_integration.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_win32_paste_drain_regression.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_win32_paste_drain_unit.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/tui_helpers.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/conftest.py +4 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_frame_advanced.py +293 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_frame_rendering.py +429 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_headless.py +71 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_input_advanced.py +446 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_input_handling.py +459 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_output_paste.py +242 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_output_stream.py +130 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_output_tools.py +271 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_output_tree.py +378 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_paste_handling.py +364 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_startup.py +60 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_status_activity.py +640 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_status_layout.py +145 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_terminal_input.py +437 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_terminal_panels.py +439 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_win32_paste_drain_integration.py +154 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_win32_paste_drain_regression.py +495 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_win32_paste_drain_unit.py +140 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/tui_helpers.py +70 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__init__.py +6 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/__init__.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/activity.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/app.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/choice_mixin.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/clipboard_mixin.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/helpers.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/input.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/overlays.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/panels.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/parser.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/render_activity.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/render_frame.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/render_input.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/render_status.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/render_todo.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/renderer.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/state.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/terminal_mixin.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/text_prompt_mixin.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/activity.py +64 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/app.py +650 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/choice_mixin.py +59 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/clipboard_mixin.py +83 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/helpers.py +144 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/input.py +370 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/overlays.py +157 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/panels.py +347 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/parser.py +531 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/render_activity.py +217 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/render_frame.py +615 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/render_input.py +154 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/render_status.py +266 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/render_todo.py +79 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/renderer.py +24 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/state.py +254 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/terminal_mixin.py +95 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/text_prompt_mixin.py +49 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__init__.py +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/__init__.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/conftest.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_frame_advanced.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_frame_rendering.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_headless.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_input_advanced.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_input_handling.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_output_paste.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_output_stream.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_output_tools.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_output_tree.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_paste_handling.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_startup.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_status_activity.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_status_layout.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_terminal_input.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_terminal_panels.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_win32_paste_drain_integration.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_win32_paste_drain_regression.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_win32_paste_drain_unit.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/tui_helpers.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/conftest.py +4 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_frame_advanced.py +293 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_frame_rendering.py +429 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_headless.py +71 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_input_advanced.py +446 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_input_handling.py +459 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_output_paste.py +242 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_output_stream.py +130 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_output_tools.py +271 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_output_tree.py +378 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_paste_handling.py +364 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_startup.py +60 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_status_activity.py +640 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_status_layout.py +145 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_terminal_input.py +437 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_terminal_panels.py +439 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_win32_paste_drain_integration.py +154 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_win32_paste_drain_regression.py +495 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_win32_paste_drain_unit.py +140 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/tui_helpers.py +70 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__init__.py +6 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/__init__.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/activity.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/app.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/choice_mixin.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/clipboard_mixin.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/helpers.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/input.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/overlays.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/panels.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/parser.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/render_activity.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/render_frame.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/render_input.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/render_status.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/render_todo.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/renderer.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/state.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/terminal_mixin.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/text_prompt_mixin.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/activity.py +64 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/app.py +650 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/choice_mixin.py +59 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/clipboard_mixin.py +83 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/helpers.py +144 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/input.py +370 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/overlays.py +157 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/panels.py +347 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/parser.py +531 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/render_activity.py +217 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/render_frame.py +615 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/render_input.py +154 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/render_status.py +266 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/render_todo.py +79 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/renderer.py +24 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/state.py +254 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/terminal_mixin.py +95 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/text_prompt_mixin.py +49 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__init__.py +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/__init__.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/conftest.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_frame_advanced.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_frame_rendering.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_headless.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_input_advanced.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_input_handling.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_output_paste.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_output_stream.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_output_tools.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_output_tree.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_paste_handling.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_startup.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_status_activity.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_status_layout.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_terminal_input.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_terminal_panels.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_win32_paste_drain_integration.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_win32_paste_drain_regression.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_win32_paste_drain_unit.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/tui_helpers.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/conftest.py +4 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_frame_advanced.py +293 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_frame_rendering.py +429 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_headless.py +71 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_input_advanced.py +446 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_input_handling.py +459 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_output_paste.py +242 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_output_stream.py +130 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_output_tools.py +271 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_output_tree.py +378 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_paste_handling.py +364 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_startup.py +60 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_status_activity.py +640 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_status_layout.py +145 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_terminal_input.py +437 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_terminal_panels.py +439 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_win32_paste_drain_integration.py +154 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_win32_paste_drain_regression.py +495 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_win32_paste_drain_unit.py +140 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/tui_helpers.py +70 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__init__.py +6 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/__init__.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/activity.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/app.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/choice_mixin.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/clipboard_mixin.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/helpers.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/input.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/overlays.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/panels.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/parser.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/render_activity.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/render_frame.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/render_input.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/render_status.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/render_todo.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/renderer.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/state.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/terminal_mixin.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/text_prompt_mixin.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/activity.py +64 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/app.py +650 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/choice_mixin.py +59 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/clipboard_mixin.py +83 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/helpers.py +144 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/input.py +370 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/overlays.py +157 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/panels.py +347 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/parser.py +531 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/render_activity.py +217 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/render_frame.py +615 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/render_input.py +154 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/render_status.py +266 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/render_todo.py +79 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/renderer.py +24 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/state.py +254 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/terminal_mixin.py +95 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/text_prompt_mixin.py +49 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/tests/__init__.py +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/__init__.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/conftest.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_frame_advanced.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_frame_rendering.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_headless.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_input_advanced.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_input_handling.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_output_paste.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_output_stream.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_output_tools.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_output_tree.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_paste_handling.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_startup.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_status_activity.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_status_layout.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_terminal_input.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_terminal_panels.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_win32_paste_drain_integration.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_win32_paste_drain_regression.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_win32_paste_drain_unit.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/tui_helpers.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/tests/conftest.py +4 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_frame_advanced.py +293 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_frame_rendering.py +429 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_headless.py +71 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_input_advanced.py +446 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_input_handling.py +459 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_output_paste.py +242 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_output_stream.py +130 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_output_tools.py +271 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_output_tree.py +378 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_paste_handling.py +364 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_startup.py +60 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_status_activity.py +640 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_status_layout.py +145 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_terminal_input.py +437 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_terminal_panels.py +439 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_win32_paste_drain_integration.py +154 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_win32_paste_drain_regression.py +495 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_win32_paste_drain_unit.py +140 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/tests/tui_helpers.py +70 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__init__.py +6 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/__init__.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/activity.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/app.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/choice_mixin.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/clipboard_mixin.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/helpers.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/input.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/overlays.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/panels.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/parser.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/render_activity.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/render_frame.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/render_input.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/render_status.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/render_todo.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/renderer.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/state.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/terminal_mixin.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/text_prompt_mixin.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/activity.py +64 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/app.py +650 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/choice_mixin.py +59 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/clipboard_mixin.py +83 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/helpers.py +144 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/input.py +370 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/overlays.py +157 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/panels.py +347 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/parser.py +531 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/render_activity.py +217 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/render_frame.py +615 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/render_input.py +154 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/render_status.py +266 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/render_todo.py +79 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/renderer.py +24 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/state.py +254 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/terminal_mixin.py +95 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/text_prompt_mixin.py +49 -0
- build/lib/build/lib/build/lib/build/lib/tests/__init__.py +0 -0
- build/lib/build/lib/build/lib/build/lib/tests/__pycache__/__init__.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/tests/__pycache__/conftest.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_frame_advanced.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_frame_rendering.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_headless.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_input_advanced.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_input_handling.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_output_paste.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_output_stream.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_output_tools.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_output_tree.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_paste_handling.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_startup.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_status_activity.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_status_layout.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_terminal_input.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_terminal_panels.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_win32_paste_drain_integration.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_win32_paste_drain_regression.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_win32_paste_drain_unit.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/tests/__pycache__/tui_helpers.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/tests/conftest.py +4 -0
- build/lib/build/lib/build/lib/build/lib/tests/test_frame_advanced.py +293 -0
- build/lib/build/lib/build/lib/build/lib/tests/test_frame_rendering.py +429 -0
- build/lib/build/lib/build/lib/build/lib/tests/test_headless.py +71 -0
- build/lib/build/lib/build/lib/build/lib/tests/test_input_advanced.py +446 -0
- build/lib/build/lib/build/lib/build/lib/tests/test_input_handling.py +459 -0
- build/lib/build/lib/build/lib/build/lib/tests/test_output_paste.py +242 -0
- build/lib/build/lib/build/lib/build/lib/tests/test_output_stream.py +130 -0
- build/lib/build/lib/build/lib/build/lib/tests/test_output_tools.py +271 -0
- build/lib/build/lib/build/lib/build/lib/tests/test_output_tree.py +378 -0
- build/lib/build/lib/build/lib/build/lib/tests/test_paste_handling.py +364 -0
- build/lib/build/lib/build/lib/build/lib/tests/test_startup.py +60 -0
- build/lib/build/lib/build/lib/build/lib/tests/test_status_activity.py +640 -0
- build/lib/build/lib/build/lib/build/lib/tests/test_status_layout.py +145 -0
- build/lib/build/lib/build/lib/build/lib/tests/test_terminal_input.py +437 -0
- build/lib/build/lib/build/lib/build/lib/tests/test_terminal_panels.py +439 -0
- build/lib/build/lib/build/lib/build/lib/tests/test_win32_paste_drain_integration.py +154 -0
- build/lib/build/lib/build/lib/build/lib/tests/test_win32_paste_drain_regression.py +495 -0
- build/lib/build/lib/build/lib/build/lib/tests/test_win32_paste_drain_unit.py +140 -0
- build/lib/build/lib/build/lib/build/lib/tests/tui_helpers.py +70 -0
- build/lib/build/lib/build/lib/build/lib/voidx_cli/__init__.py +6 -0
- build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/__init__.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/activity.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/app.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/choice_mixin.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/clipboard_mixin.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/helpers.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/input.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/overlays.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/panels.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/parser.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/render_activity.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/render_frame.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/render_input.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/render_status.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/render_todo.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/renderer.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/state.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/terminal_mixin.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/text_prompt_mixin.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/build/lib/voidx_cli/activity.py +64 -0
- build/lib/build/lib/build/lib/build/lib/voidx_cli/app.py +650 -0
- build/lib/build/lib/build/lib/build/lib/voidx_cli/choice_mixin.py +59 -0
- build/lib/build/lib/build/lib/build/lib/voidx_cli/clipboard_mixin.py +83 -0
- build/lib/build/lib/build/lib/build/lib/voidx_cli/helpers.py +144 -0
- build/lib/build/lib/build/lib/build/lib/voidx_cli/input.py +370 -0
- build/lib/build/lib/build/lib/build/lib/voidx_cli/overlays.py +157 -0
- build/lib/build/lib/build/lib/build/lib/voidx_cli/panels.py +347 -0
- build/lib/build/lib/build/lib/build/lib/voidx_cli/parser.py +531 -0
- build/lib/build/lib/build/lib/build/lib/voidx_cli/render_activity.py +217 -0
- build/lib/build/lib/build/lib/build/lib/voidx_cli/render_frame.py +615 -0
- build/lib/build/lib/build/lib/build/lib/voidx_cli/render_input.py +154 -0
- build/lib/build/lib/build/lib/build/lib/voidx_cli/render_status.py +266 -0
- build/lib/build/lib/build/lib/build/lib/voidx_cli/render_todo.py +79 -0
- build/lib/build/lib/build/lib/build/lib/voidx_cli/renderer.py +24 -0
- build/lib/build/lib/build/lib/build/lib/voidx_cli/state.py +254 -0
- build/lib/build/lib/build/lib/build/lib/voidx_cli/terminal_mixin.py +95 -0
- build/lib/build/lib/build/lib/build/lib/voidx_cli/text_prompt_mixin.py +49 -0
- build/lib/build/lib/build/lib/tests/__init__.py +0 -0
- build/lib/build/lib/build/lib/tests/__pycache__/__init__.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/tests/__pycache__/conftest.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/tests/__pycache__/test_frame_advanced.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/tests/__pycache__/test_frame_rendering.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/tests/__pycache__/test_headless.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/tests/__pycache__/test_input_advanced.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/tests/__pycache__/test_input_handling.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/tests/__pycache__/test_output_paste.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/tests/__pycache__/test_output_stream.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/tests/__pycache__/test_output_tools.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/tests/__pycache__/test_output_tree.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/tests/__pycache__/test_paste_handling.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/tests/__pycache__/test_startup.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/tests/__pycache__/test_status_activity.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/tests/__pycache__/test_status_layout.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/tests/__pycache__/test_terminal_input.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/tests/__pycache__/test_terminal_panels.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/tests/__pycache__/test_win32_paste_drain_integration.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/tests/__pycache__/test_win32_paste_drain_regression.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/tests/__pycache__/test_win32_paste_drain_unit.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/tests/__pycache__/tui_helpers.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/tests/conftest.py +4 -0
- build/lib/build/lib/build/lib/tests/test_frame_advanced.py +293 -0
- build/lib/build/lib/build/lib/tests/test_frame_rendering.py +429 -0
- build/lib/build/lib/build/lib/tests/test_headless.py +71 -0
- build/lib/build/lib/build/lib/tests/test_input_advanced.py +446 -0
- build/lib/build/lib/build/lib/tests/test_input_handling.py +459 -0
- build/lib/build/lib/build/lib/tests/test_output_paste.py +242 -0
- build/lib/build/lib/build/lib/tests/test_output_stream.py +130 -0
- build/lib/build/lib/build/lib/tests/test_output_tools.py +271 -0
- build/lib/build/lib/build/lib/tests/test_output_tree.py +378 -0
- build/lib/build/lib/build/lib/tests/test_paste_handling.py +364 -0
- build/lib/build/lib/build/lib/tests/test_startup.py +60 -0
- build/lib/build/lib/build/lib/tests/test_status_activity.py +640 -0
- build/lib/build/lib/build/lib/tests/test_status_layout.py +145 -0
- build/lib/build/lib/build/lib/tests/test_terminal_input.py +437 -0
- build/lib/build/lib/build/lib/tests/test_terminal_panels.py +439 -0
- build/lib/build/lib/build/lib/tests/test_win32_paste_drain_integration.py +154 -0
- build/lib/build/lib/build/lib/tests/test_win32_paste_drain_regression.py +495 -0
- build/lib/build/lib/build/lib/tests/test_win32_paste_drain_unit.py +140 -0
- build/lib/build/lib/build/lib/tests/tui_helpers.py +70 -0
- build/lib/build/lib/build/lib/voidx_cli/__init__.py +6 -0
- build/lib/build/lib/build/lib/voidx_cli/__pycache__/__init__.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/voidx_cli/__pycache__/activity.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/voidx_cli/__pycache__/app.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/voidx_cli/__pycache__/choice_mixin.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/voidx_cli/__pycache__/clipboard_mixin.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/voidx_cli/__pycache__/helpers.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/voidx_cli/__pycache__/input.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/voidx_cli/__pycache__/overlays.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/voidx_cli/__pycache__/panels.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/voidx_cli/__pycache__/parser.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/voidx_cli/__pycache__/render_activity.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/voidx_cli/__pycache__/render_frame.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/voidx_cli/__pycache__/render_input.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/voidx_cli/__pycache__/render_status.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/voidx_cli/__pycache__/render_todo.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/voidx_cli/__pycache__/renderer.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/voidx_cli/__pycache__/state.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/voidx_cli/__pycache__/terminal_mixin.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/voidx_cli/__pycache__/text_prompt_mixin.cpython-312.pyc +0 -0
- build/lib/build/lib/build/lib/voidx_cli/activity.py +64 -0
- build/lib/build/lib/build/lib/voidx_cli/app.py +650 -0
- build/lib/build/lib/build/lib/voidx_cli/choice_mixin.py +59 -0
- build/lib/build/lib/build/lib/voidx_cli/clipboard_mixin.py +83 -0
- build/lib/build/lib/build/lib/voidx_cli/helpers.py +144 -0
- build/lib/build/lib/build/lib/voidx_cli/input.py +370 -0
- build/lib/build/lib/build/lib/voidx_cli/overlays.py +157 -0
- build/lib/build/lib/build/lib/voidx_cli/panels.py +347 -0
- build/lib/build/lib/build/lib/voidx_cli/parser.py +531 -0
- build/lib/build/lib/build/lib/voidx_cli/render_activity.py +217 -0
- build/lib/build/lib/build/lib/voidx_cli/render_frame.py +615 -0
- build/lib/build/lib/build/lib/voidx_cli/render_input.py +154 -0
- build/lib/build/lib/build/lib/voidx_cli/render_status.py +266 -0
- build/lib/build/lib/build/lib/voidx_cli/render_todo.py +79 -0
- build/lib/build/lib/build/lib/voidx_cli/renderer.py +24 -0
- build/lib/build/lib/build/lib/voidx_cli/state.py +254 -0
- build/lib/build/lib/build/lib/voidx_cli/terminal_mixin.py +95 -0
- build/lib/build/lib/build/lib/voidx_cli/text_prompt_mixin.py +49 -0
- build/lib/build/lib/tests/__init__.py +0 -0
- build/lib/build/lib/tests/__pycache__/__init__.cpython-312.pyc +0 -0
- build/lib/build/lib/tests/__pycache__/conftest.cpython-312.pyc +0 -0
- build/lib/build/lib/tests/__pycache__/test_frame_advanced.cpython-312.pyc +0 -0
- build/lib/build/lib/tests/__pycache__/test_frame_rendering.cpython-312.pyc +0 -0
- build/lib/build/lib/tests/__pycache__/test_headless.cpython-312.pyc +0 -0
- build/lib/build/lib/tests/__pycache__/test_input_advanced.cpython-312.pyc +0 -0
- build/lib/build/lib/tests/__pycache__/test_input_handling.cpython-312.pyc +0 -0
- build/lib/build/lib/tests/__pycache__/test_output_paste.cpython-312.pyc +0 -0
- build/lib/build/lib/tests/__pycache__/test_output_stream.cpython-312.pyc +0 -0
- build/lib/build/lib/tests/__pycache__/test_output_tools.cpython-312.pyc +0 -0
- build/lib/build/lib/tests/__pycache__/test_output_tree.cpython-312.pyc +0 -0
- build/lib/build/lib/tests/__pycache__/test_paste_handling.cpython-312.pyc +0 -0
- build/lib/build/lib/tests/__pycache__/test_startup.cpython-312.pyc +0 -0
- build/lib/build/lib/tests/__pycache__/test_status_activity.cpython-312.pyc +0 -0
- build/lib/build/lib/tests/__pycache__/test_status_layout.cpython-312.pyc +0 -0
- build/lib/build/lib/tests/__pycache__/test_terminal_input.cpython-312.pyc +0 -0
- build/lib/build/lib/tests/__pycache__/test_terminal_panels.cpython-312.pyc +0 -0
- build/lib/build/lib/tests/__pycache__/test_win32_paste_drain_integration.cpython-312.pyc +0 -0
- build/lib/build/lib/tests/__pycache__/test_win32_paste_drain_regression.cpython-312.pyc +0 -0
- build/lib/build/lib/tests/__pycache__/test_win32_paste_drain_unit.cpython-312.pyc +0 -0
- build/lib/build/lib/tests/__pycache__/tui_helpers.cpython-312.pyc +0 -0
- build/lib/build/lib/tests/conftest.py +4 -0
- build/lib/build/lib/tests/test_frame_advanced.py +293 -0
- build/lib/build/lib/tests/test_frame_rendering.py +429 -0
- build/lib/build/lib/tests/test_headless.py +71 -0
- build/lib/build/lib/tests/test_input_advanced.py +446 -0
- build/lib/build/lib/tests/test_input_handling.py +459 -0
- build/lib/build/lib/tests/test_output_paste.py +242 -0
- build/lib/build/lib/tests/test_output_stream.py +130 -0
- build/lib/build/lib/tests/test_output_tools.py +271 -0
- build/lib/build/lib/tests/test_output_tree.py +378 -0
- build/lib/build/lib/tests/test_paste_handling.py +364 -0
- build/lib/build/lib/tests/test_startup.py +60 -0
- build/lib/build/lib/tests/test_status_activity.py +640 -0
- build/lib/build/lib/tests/test_status_layout.py +145 -0
- build/lib/build/lib/tests/test_terminal_input.py +437 -0
- build/lib/build/lib/tests/test_terminal_panels.py +439 -0
- build/lib/build/lib/tests/test_win32_paste_drain_integration.py +154 -0
- build/lib/build/lib/tests/test_win32_paste_drain_regression.py +495 -0
- build/lib/build/lib/tests/test_win32_paste_drain_unit.py +140 -0
- build/lib/build/lib/tests/tui_helpers.py +70 -0
- build/lib/build/lib/voidx_cli/__init__.py +6 -0
- build/lib/build/lib/voidx_cli/__pycache__/__init__.cpython-312.pyc +0 -0
- build/lib/build/lib/voidx_cli/__pycache__/activity.cpython-312.pyc +0 -0
- build/lib/build/lib/voidx_cli/__pycache__/app.cpython-312.pyc +0 -0
- build/lib/build/lib/voidx_cli/__pycache__/choice_mixin.cpython-312.pyc +0 -0
- build/lib/build/lib/voidx_cli/__pycache__/clipboard_mixin.cpython-312.pyc +0 -0
- build/lib/build/lib/voidx_cli/__pycache__/helpers.cpython-312.pyc +0 -0
- build/lib/build/lib/voidx_cli/__pycache__/input.cpython-312.pyc +0 -0
- build/lib/build/lib/voidx_cli/__pycache__/overlays.cpython-312.pyc +0 -0
- build/lib/build/lib/voidx_cli/__pycache__/panels.cpython-312.pyc +0 -0
- build/lib/build/lib/voidx_cli/__pycache__/parser.cpython-312.pyc +0 -0
- build/lib/build/lib/voidx_cli/__pycache__/render_activity.cpython-312.pyc +0 -0
- build/lib/build/lib/voidx_cli/__pycache__/render_frame.cpython-312.pyc +0 -0
- build/lib/build/lib/voidx_cli/__pycache__/render_input.cpython-312.pyc +0 -0
- build/lib/build/lib/voidx_cli/__pycache__/render_status.cpython-312.pyc +0 -0
- build/lib/build/lib/voidx_cli/__pycache__/render_todo.cpython-312.pyc +0 -0
- build/lib/build/lib/voidx_cli/__pycache__/renderer.cpython-312.pyc +0 -0
- build/lib/build/lib/voidx_cli/__pycache__/state.cpython-312.pyc +0 -0
- build/lib/build/lib/voidx_cli/__pycache__/terminal_mixin.cpython-312.pyc +0 -0
- build/lib/build/lib/voidx_cli/__pycache__/text_prompt_mixin.cpython-312.pyc +0 -0
- build/lib/build/lib/voidx_cli/activity.py +64 -0
- build/lib/build/lib/voidx_cli/app.py +650 -0
- build/lib/build/lib/voidx_cli/choice_mixin.py +59 -0
- build/lib/build/lib/voidx_cli/clipboard_mixin.py +83 -0
- build/lib/build/lib/voidx_cli/helpers.py +144 -0
- build/lib/build/lib/voidx_cli/input.py +370 -0
- build/lib/build/lib/voidx_cli/overlays.py +157 -0
- build/lib/build/lib/voidx_cli/panels.py +347 -0
- build/lib/build/lib/voidx_cli/parser.py +531 -0
- build/lib/build/lib/voidx_cli/render_activity.py +217 -0
- build/lib/build/lib/voidx_cli/render_frame.py +615 -0
- build/lib/build/lib/voidx_cli/render_input.py +154 -0
- build/lib/build/lib/voidx_cli/render_status.py +266 -0
- build/lib/build/lib/voidx_cli/render_todo.py +79 -0
- build/lib/build/lib/voidx_cli/renderer.py +24 -0
- build/lib/build/lib/voidx_cli/state.py +254 -0
- build/lib/build/lib/voidx_cli/terminal_mixin.py +95 -0
- build/lib/build/lib/voidx_cli/text_prompt_mixin.py +49 -0
- build/lib/tests/__init__.py +0 -0
- build/lib/tests/__pycache__/__init__.cpython-312.pyc +0 -0
- build/lib/tests/__pycache__/conftest.cpython-312.pyc +0 -0
- build/lib/tests/__pycache__/test_frame_advanced.cpython-312.pyc +0 -0
- build/lib/tests/__pycache__/test_frame_rendering.cpython-312.pyc +0 -0
- build/lib/tests/__pycache__/test_headless.cpython-312.pyc +0 -0
- build/lib/tests/__pycache__/test_input_advanced.cpython-312.pyc +0 -0
- build/lib/tests/__pycache__/test_input_handling.cpython-312.pyc +0 -0
- build/lib/tests/__pycache__/test_output_paste.cpython-312.pyc +0 -0
- build/lib/tests/__pycache__/test_output_stream.cpython-312.pyc +0 -0
- build/lib/tests/__pycache__/test_output_tools.cpython-312.pyc +0 -0
- build/lib/tests/__pycache__/test_output_tree.cpython-312.pyc +0 -0
- build/lib/tests/__pycache__/test_paste_handling.cpython-312.pyc +0 -0
- build/lib/tests/__pycache__/test_startup.cpython-312.pyc +0 -0
- build/lib/tests/__pycache__/test_status_activity.cpython-312.pyc +0 -0
- build/lib/tests/__pycache__/test_status_layout.cpython-312.pyc +0 -0
- build/lib/tests/__pycache__/test_terminal_input.cpython-312.pyc +0 -0
- build/lib/tests/__pycache__/test_terminal_panels.cpython-312.pyc +0 -0
- build/lib/tests/__pycache__/test_win32_paste_drain_integration.cpython-312.pyc +0 -0
- build/lib/tests/__pycache__/test_win32_paste_drain_regression.cpython-312.pyc +0 -0
- build/lib/tests/__pycache__/test_win32_paste_drain_unit.cpython-312.pyc +0 -0
- build/lib/tests/__pycache__/tui_helpers.cpython-312.pyc +0 -0
- build/lib/tests/conftest.py +4 -0
- build/lib/tests/test_frame_advanced.py +293 -0
- build/lib/tests/test_frame_rendering.py +429 -0
- build/lib/tests/test_headless.py +71 -0
- build/lib/tests/test_input_advanced.py +446 -0
- build/lib/tests/test_input_handling.py +459 -0
- build/lib/tests/test_output_paste.py +242 -0
- build/lib/tests/test_output_stream.py +130 -0
- build/lib/tests/test_output_tools.py +271 -0
- build/lib/tests/test_output_tree.py +378 -0
- build/lib/tests/test_paste_handling.py +364 -0
- build/lib/tests/test_startup.py +60 -0
- build/lib/tests/test_status_activity.py +640 -0
- build/lib/tests/test_status_layout.py +145 -0
- build/lib/tests/test_terminal_input.py +437 -0
- build/lib/tests/test_terminal_panels.py +439 -0
- build/lib/tests/test_win32_paste_drain_integration.py +154 -0
- build/lib/tests/test_win32_paste_drain_regression.py +495 -0
- build/lib/tests/test_win32_paste_drain_unit.py +140 -0
- build/lib/tests/tui_helpers.py +70 -0
- build/lib/voidx_cli/__init__.py +6 -0
- build/lib/voidx_cli/__pycache__/__init__.cpython-312.pyc +0 -0
- build/lib/voidx_cli/__pycache__/activity.cpython-312.pyc +0 -0
- build/lib/voidx_cli/__pycache__/app.cpython-312.pyc +0 -0
- build/lib/voidx_cli/__pycache__/choice_mixin.cpython-312.pyc +0 -0
- build/lib/voidx_cli/__pycache__/clipboard_mixin.cpython-312.pyc +0 -0
- build/lib/voidx_cli/__pycache__/helpers.cpython-312.pyc +0 -0
- build/lib/voidx_cli/__pycache__/input.cpython-312.pyc +0 -0
- build/lib/voidx_cli/__pycache__/overlays.cpython-312.pyc +0 -0
- build/lib/voidx_cli/__pycache__/panels.cpython-312.pyc +0 -0
- build/lib/voidx_cli/__pycache__/parser.cpython-312.pyc +0 -0
- build/lib/voidx_cli/__pycache__/render_activity.cpython-312.pyc +0 -0
- build/lib/voidx_cli/__pycache__/render_frame.cpython-312.pyc +0 -0
- build/lib/voidx_cli/__pycache__/render_input.cpython-312.pyc +0 -0
- build/lib/voidx_cli/__pycache__/render_status.cpython-312.pyc +0 -0
- build/lib/voidx_cli/__pycache__/render_todo.cpython-312.pyc +0 -0
- build/lib/voidx_cli/__pycache__/renderer.cpython-312.pyc +0 -0
- build/lib/voidx_cli/__pycache__/state.cpython-312.pyc +0 -0
- build/lib/voidx_cli/__pycache__/terminal_mixin.cpython-312.pyc +0 -0
- build/lib/voidx_cli/__pycache__/text_prompt_mixin.cpython-312.pyc +0 -0
- build/lib/voidx_cli/activity.py +64 -0
- build/lib/voidx_cli/app.py +650 -0
- build/lib/voidx_cli/choice_mixin.py +59 -0
- build/lib/voidx_cli/clipboard_mixin.py +83 -0
- build/lib/voidx_cli/helpers.py +144 -0
- build/lib/voidx_cli/input.py +370 -0
- build/lib/voidx_cli/overlays.py +157 -0
- build/lib/voidx_cli/panels.py +347 -0
- build/lib/voidx_cli/parser.py +531 -0
- build/lib/voidx_cli/render_activity.py +217 -0
- build/lib/voidx_cli/render_frame.py +615 -0
- build/lib/voidx_cli/render_input.py +154 -0
- build/lib/voidx_cli/render_status.py +266 -0
- build/lib/voidx_cli/render_todo.py +79 -0
- build/lib/voidx_cli/renderer.py +24 -0
- build/lib/voidx_cli/state.py +254 -0
- build/lib/voidx_cli/terminal_mixin.py +95 -0
- build/lib/voidx_cli/text_prompt_mixin.py +49 -0
- tests/__init__.py +0 -0
- tests/__pycache__/__init__.cpython-312.pyc +0 -0
- tests/__pycache__/conftest.cpython-312.pyc +0 -0
- tests/__pycache__/test_frame_advanced.cpython-312.pyc +0 -0
- tests/__pycache__/test_frame_rendering.cpython-312.pyc +0 -0
- tests/__pycache__/test_headless.cpython-312.pyc +0 -0
- tests/__pycache__/test_input_advanced.cpython-312.pyc +0 -0
- tests/__pycache__/test_input_handling.cpython-312.pyc +0 -0
- tests/__pycache__/test_output_paste.cpython-312.pyc +0 -0
- tests/__pycache__/test_output_stream.cpython-312.pyc +0 -0
- tests/__pycache__/test_output_tools.cpython-312.pyc +0 -0
- tests/__pycache__/test_output_tree.cpython-312.pyc +0 -0
- tests/__pycache__/test_paste_handling.cpython-312.pyc +0 -0
- tests/__pycache__/test_startup.cpython-312.pyc +0 -0
- tests/__pycache__/test_status_activity.cpython-312.pyc +0 -0
- tests/__pycache__/test_status_layout.cpython-312.pyc +0 -0
- tests/__pycache__/test_terminal_input.cpython-312.pyc +0 -0
- tests/__pycache__/test_terminal_panels.cpython-312.pyc +0 -0
- tests/__pycache__/test_win32_paste_drain_integration.cpython-312.pyc +0 -0
- tests/__pycache__/test_win32_paste_drain_regression.cpython-312.pyc +0 -0
- tests/__pycache__/test_win32_paste_drain_unit.cpython-312.pyc +0 -0
- tests/__pycache__/tui_helpers.cpython-312.pyc +0 -0
- tests/conftest.py +4 -0
- tests/test_frame_advanced.py +293 -0
- tests/test_frame_rendering.py +429 -0
- tests/test_headless.py +71 -0
- tests/test_input_advanced.py +446 -0
- tests/test_input_handling.py +459 -0
- tests/test_output_paste.py +242 -0
- tests/test_output_stream.py +130 -0
- tests/test_output_tools.py +271 -0
- tests/test_output_tree.py +378 -0
- tests/test_paste_handling.py +364 -0
- tests/test_startup.py +60 -0
- tests/test_status_activity.py +640 -0
- tests/test_status_layout.py +145 -0
- tests/test_terminal_input.py +437 -0
- tests/test_terminal_panels.py +439 -0
- tests/test_win32_paste_drain_integration.py +154 -0
- tests/test_win32_paste_drain_regression.py +495 -0
- tests/test_win32_paste_drain_unit.py +140 -0
- tests/tui_helpers.py +70 -0
- voidx_cli/__init__.py +6 -0
- voidx_cli/__pycache__/__init__.cpython-312.pyc +0 -0
- voidx_cli/__pycache__/activity.cpython-312.pyc +0 -0
- voidx_cli/__pycache__/app.cpython-312.pyc +0 -0
- voidx_cli/__pycache__/choice_mixin.cpython-312.pyc +0 -0
- voidx_cli/__pycache__/clipboard_mixin.cpython-312.pyc +0 -0
- voidx_cli/__pycache__/helpers.cpython-312.pyc +0 -0
- voidx_cli/__pycache__/input.cpython-312.pyc +0 -0
- voidx_cli/__pycache__/overlays.cpython-312.pyc +0 -0
- voidx_cli/__pycache__/panels.cpython-312.pyc +0 -0
- voidx_cli/__pycache__/parser.cpython-312.pyc +0 -0
- voidx_cli/__pycache__/render_activity.cpython-312.pyc +0 -0
- voidx_cli/__pycache__/render_frame.cpython-312.pyc +0 -0
- voidx_cli/__pycache__/render_input.cpython-312.pyc +0 -0
- voidx_cli/__pycache__/render_status.cpython-312.pyc +0 -0
- voidx_cli/__pycache__/render_todo.cpython-312.pyc +0 -0
- voidx_cli/__pycache__/renderer.cpython-312.pyc +0 -0
- voidx_cli/__pycache__/state.cpython-312.pyc +0 -0
- voidx_cli/__pycache__/terminal_mixin.cpython-312.pyc +0 -0
- voidx_cli/__pycache__/text_prompt_mixin.cpython-312.pyc +0 -0
- voidx_cli/activity.py +64 -0
- voidx_cli/app.py +650 -0
- voidx_cli/choice_mixin.py +59 -0
- voidx_cli/clipboard_mixin.py +83 -0
- voidx_cli/helpers.py +144 -0
- voidx_cli/input.py +370 -0
- voidx_cli/overlays.py +157 -0
- voidx_cli/panels.py +347 -0
- voidx_cli/parser.py +531 -0
- voidx_cli/render_activity.py +217 -0
- voidx_cli/render_frame.py +615 -0
- voidx_cli/render_input.py +154 -0
- voidx_cli/render_status.py +266 -0
- voidx_cli/render_todo.py +79 -0
- voidx_cli/renderer.py +24 -0
- voidx_cli/state.py +254 -0
- voidx_cli/terminal_mixin.py +95 -0
- voidx_cli/text_prompt_mixin.py +49 -0
- voidx_cli-3.5.2.dist-info/METADATA +9 -0
- voidx_cli-3.5.2.dist-info/RECORD +1324 -0
- voidx_cli-3.5.2.dist-info/WHEEL +5 -0
- voidx_cli-3.5.2.dist-info/top_level.txt +4 -0
|
@@ -0,0 +1,495 @@
|
|
|
1
|
+
from tui_helpers import * # noqa: F403
|
|
2
|
+
|
|
3
|
+
import sys
|
|
4
|
+
import types
|
|
5
|
+
|
|
6
|
+
import pytest
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
class _FakeMsvcrt:
|
|
10
|
+
"""Fake msvcrt module with a scripted character queue."""
|
|
11
|
+
|
|
12
|
+
def __init__(self, chars: list[str]) -> None:
|
|
13
|
+
self._chars = list(chars)
|
|
14
|
+
self._consumed: list[str] = []
|
|
15
|
+
|
|
16
|
+
def kbhit(self) -> bool:
|
|
17
|
+
return bool(self._chars)
|
|
18
|
+
|
|
19
|
+
def getwch(self) -> str:
|
|
20
|
+
if not self._chars:
|
|
21
|
+
raise AssertionError("getwch called on empty buffer")
|
|
22
|
+
ch = self._chars.pop(0)
|
|
23
|
+
self._consumed.append(ch)
|
|
24
|
+
return ch
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
def _install_fake_msvcrt(monkeypatch, chars: list[str]) -> _FakeMsvcrt:
|
|
28
|
+
fake = _FakeMsvcrt(chars)
|
|
29
|
+
monkeypatch.setitem(sys.modules, "msvcrt", fake)
|
|
30
|
+
return fake
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
# ── R3: function key prefix in paste stream ───────────────────────────
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
def test_r3_function_key_prefix_in_paste_stream(tmp_path, monkeypatch):
|
|
37
|
+
"""R3: paste content starting with \\x00/\\xe0 → drain breaks, no data loss."""
|
|
38
|
+
# First char \r (newline), then \x00 + 'H' (function key), then more content
|
|
39
|
+
_install_fake_msvcrt(monkeypatch, ["\x00", "H", "\n", "x", "y", "z"])
|
|
40
|
+
tui = _tui(tmp_path)
|
|
41
|
+
|
|
42
|
+
result = tui._try_drain_win32_paste("\r", timeout_ms=50)
|
|
43
|
+
|
|
44
|
+
# \x00 causes break, so buffer = "\r" only (1 char, 1 newline)
|
|
45
|
+
# newline_count=1 < 2, len=1 <= 8 → not a paste → raw bytes
|
|
46
|
+
# But the function key bytes are consumed, no ghost keypress
|
|
47
|
+
assert result == b"\r" # Not enough content after break to be a paste
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
def test_r3_function_key_prefix_with_enough_content(tmp_path, monkeypatch):
|
|
51
|
+
"""R3: function key prefix after enough content → paste with content before prefix."""
|
|
52
|
+
# \r + enough content + \x00 + 'H' (function key breaks drain)
|
|
53
|
+
_install_fake_msvcrt(monkeypatch, ["\n", "a", "b", "c", "d", "e", "f", "g", "\x00", "H"])
|
|
54
|
+
tui = _tui(tmp_path)
|
|
55
|
+
|
|
56
|
+
result = tui._try_drain_win32_paste("\r", timeout_ms=50)
|
|
57
|
+
|
|
58
|
+
assert result is not None
|
|
59
|
+
content = result[len(b"\x1b[200~"):-len(b"\x1b[201~")]
|
|
60
|
+
# Content includes everything up to (but not including) the function key
|
|
61
|
+
assert content == "\r\nabcdefg".encode("utf-8")
|
|
62
|
+
# \x00 and 'H' are consumed, not in content
|
|
63
|
+
assert b"\x00" not in content
|
|
64
|
+
assert b"H" not in content
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
# ── R1: 分批灌入时序模拟 ─────────────────────────────────────────────
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
class _TimedFakeMsvcrt:
|
|
71
|
+
"""Fake msvcrt that simulates character arrival timing.
|
|
72
|
+
|
|
73
|
+
``schedule`` is a list of (char, delay_ms) tuples. Each character
|
|
74
|
+
becomes available after ``delay_ms`` milliseconds have elapsed since
|
|
75
|
+
the previous character. ``kbhit()`` returns True only when the next
|
|
76
|
+
character's delay has elapsed.
|
|
77
|
+
"""
|
|
78
|
+
|
|
79
|
+
def __init__(self, schedule: list[tuple[str, float]]) -> None:
|
|
80
|
+
self._schedule = list(schedule)
|
|
81
|
+
self._t0 = None
|
|
82
|
+
self._elapsed = 0.0
|
|
83
|
+
self._consumed: list[str] = []
|
|
84
|
+
|
|
85
|
+
def _tick(self) -> float:
|
|
86
|
+
import time
|
|
87
|
+
if self._t0 is None:
|
|
88
|
+
self._t0 = time.monotonic()
|
|
89
|
+
return (time.monotonic() - self._t0) * 1000.0
|
|
90
|
+
|
|
91
|
+
def kbhit(self) -> bool:
|
|
92
|
+
if not self._schedule:
|
|
93
|
+
return False
|
|
94
|
+
return self._tick() >= self._schedule[0][1]
|
|
95
|
+
|
|
96
|
+
def getwch(self) -> str:
|
|
97
|
+
if not self._schedule:
|
|
98
|
+
raise AssertionError("getwch called on empty schedule")
|
|
99
|
+
ch, _delay = self._schedule.pop(0)
|
|
100
|
+
self._consumed.append(ch)
|
|
101
|
+
return ch
|
|
102
|
+
|
|
103
|
+
|
|
104
|
+
def _install_timed_msvcrt(monkeypatch, schedule: list[tuple[str, float]]) -> _TimedFakeMsvcrt:
|
|
105
|
+
fake = _TimedFakeMsvcrt(schedule)
|
|
106
|
+
monkeypatch.setitem(sys.modules, "msvcrt", fake)
|
|
107
|
+
return fake
|
|
108
|
+
|
|
109
|
+
|
|
110
|
+
def test_r1_fast_paste_within_timeout(tmp_path, monkeypatch):
|
|
111
|
+
"""R1: all chars arrive within 20ms → paste detected."""
|
|
112
|
+
# 10 chars, all arriving at 0-5ms (fast paste)
|
|
113
|
+
schedule = [(ch, i * 0.5) for i, ch in enumerate("\nline2\r\nli")]
|
|
114
|
+
_install_timed_msvcrt(monkeypatch, schedule)
|
|
115
|
+
tui = _tui(tmp_path)
|
|
116
|
+
|
|
117
|
+
result = tui._try_drain_win32_paste("\r", timeout_ms=20)
|
|
118
|
+
|
|
119
|
+
assert result is not None
|
|
120
|
+
assert result.startswith(b"\x1b[200~")
|
|
121
|
+
assert result.endswith(b"\x1b[201~")
|
|
122
|
+
|
|
123
|
+
|
|
124
|
+
def test_r1_split_batch_first_batch_detected(tmp_path, monkeypatch):
|
|
125
|
+
"""R1: first batch arrives fast, second batch after 30ms gap.
|
|
126
|
+
|
|
127
|
+
With 20ms timeout, drain captures only the first batch.
|
|
128
|
+
The first batch has enough newlines (>=2) to be detected as paste.
|
|
129
|
+
"""
|
|
130
|
+
# First batch: \r\nline2\r\n (arrives at 0-3ms)
|
|
131
|
+
# Gap: 30ms
|
|
132
|
+
# Second batch: line3\r\n (arrives at 33-36ms)
|
|
133
|
+
schedule = [
|
|
134
|
+
("\n", 0), ("l", 0.5), ("i", 1), ("n", 1.5), ("e", 2), ("2", 2.5),
|
|
135
|
+
("\r", 3), ("\n", 3.5),
|
|
136
|
+
# 30ms gap — these won't be read within 20ms timeout
|
|
137
|
+
("l", 33), ("i", 33.5), ("n", 34), ("e", 34.5), ("3", 35), ("\r", 35.5), ("\n", 36),
|
|
138
|
+
]
|
|
139
|
+
_install_timed_msvcrt(monkeypatch, schedule)
|
|
140
|
+
tui = _tui(tmp_path)
|
|
141
|
+
|
|
142
|
+
result = tui._try_drain_win32_paste("\r", timeout_ms=20)
|
|
143
|
+
|
|
144
|
+
# First batch has \r (first_char) + \n + ... + \r + \n = 4 newlines >= 2
|
|
145
|
+
assert result is not None
|
|
146
|
+
content = result[len(b"\x1b[200~"):-len(b"\x1b[201~")]
|
|
147
|
+
# Only first batch content (up to the gap)
|
|
148
|
+
assert content == "\r\nline2\r\n".encode("utf-8")
|
|
149
|
+
# Second batch content NOT included
|
|
150
|
+
assert b"line3" not in content
|
|
151
|
+
|
|
152
|
+
|
|
153
|
+
def test_r1_split_batch_first_batch_too_short(tmp_path, monkeypatch):
|
|
154
|
+
"""R1: first batch too short (<2 newlines, <=8 chars) → not detected as paste.
|
|
155
|
+
|
|
156
|
+
This is the dangerous case: first batch has only 1 newline, drain returns None,
|
|
157
|
+
and the \r is treated as submit. The second batch's content is lost.
|
|
158
|
+
"""
|
|
159
|
+
# First batch: \n + 3 chars (arrives at 0-2ms) — only 1 newline (first_char \r + \n = 2)
|
|
160
|
+
# Actually first_char=\r, drain reads \n + "abc" → buffer=\r\nabc, newline_count=2 >= 2
|
|
161
|
+
# Let's make first batch truly insufficient: \n only (1 char after first_char)
|
|
162
|
+
# buffer = \r + \n = 2 newlines, 2 chars → newline_count=2 >= 2 → paste!
|
|
163
|
+
# To get <2 newlines, first batch must have 0 additional newlines:
|
|
164
|
+
schedule = [
|
|
165
|
+
("a", 0), ("b", 0.5), # \r + "ab" = 1 newline, 3 chars → not paste
|
|
166
|
+
# 30ms gap
|
|
167
|
+
("\n", 33), ("x", 33.5),
|
|
168
|
+
]
|
|
169
|
+
_install_timed_msvcrt(monkeypatch, schedule)
|
|
170
|
+
tui = _tui(tmp_path)
|
|
171
|
+
|
|
172
|
+
result = tui._try_drain_win32_paste("\r", timeout_ms=20)
|
|
173
|
+
|
|
174
|
+
# buffer = "\r" + "ab" = 1 newline, 3 chars → not paste → raw bytes
|
|
175
|
+
assert result == b"\rab"
|
|
176
|
+
# Plan B: raw bytes returned (not None + _pending_bytes).
|
|
177
|
+
# The \r will be processed as submit by _process_input, and "ab" is
|
|
178
|
+
# preserved in the same byte stream. The later "\nx" arrives in a
|
|
179
|
+
# subsequent read.
|
|
180
|
+
|
|
181
|
+
|
|
182
|
+
# ── R4: 快速连按 Enter 时序模拟 ───────────────────────────────────────
|
|
183
|
+
|
|
184
|
+
|
|
185
|
+
def test_r4_double_enter_within_20ms_detected_as_paste(tmp_path, monkeypatch):
|
|
186
|
+
"""R4: two \\r arriving near-simultaneously → second \\r drained, first submit swallowed.
|
|
187
|
+
|
|
188
|
+
Note: with the kbhit() fast-exit, the second char must already be in the
|
|
189
|
+
buffer when kbhit() is first checked. Real pastes inject chars
|
|
190
|
+
near-instantaneously, so delay=0 models that. A human double-tap (10ms+
|
|
191
|
+
gap) will correctly NOT be detected as paste.
|
|
192
|
+
"""
|
|
193
|
+
# First \r is first_char, second \r already in buffer (delay=0)
|
|
194
|
+
schedule = [("\r", 0)]
|
|
195
|
+
_install_timed_msvcrt(monkeypatch, schedule)
|
|
196
|
+
tui = _tui(tmp_path)
|
|
197
|
+
|
|
198
|
+
result = tui._try_drain_win32_paste("\r", timeout_ms=20)
|
|
199
|
+
|
|
200
|
+
# buffer = "\r" + "\r" = 2 newlines >= 2 → paste (false positive!)
|
|
201
|
+
assert result is not None
|
|
202
|
+
content = result[len(b"\x1b[200~"):-len(b"\x1b[201~")]
|
|
203
|
+
assert content == b"\r\r"
|
|
204
|
+
|
|
205
|
+
|
|
206
|
+
def test_r4_double_enter_beyond_20ms_not_detected(tmp_path, monkeypatch):
|
|
207
|
+
"""R4: two \\r with >20ms gap → second \\r not drained, submit preserved."""
|
|
208
|
+
# First \r is first_char, second \r arrives at 25ms (after timeout)
|
|
209
|
+
schedule = [("\r", 25)]
|
|
210
|
+
_install_timed_msvcrt(monkeypatch, schedule)
|
|
211
|
+
tui = _tui(tmp_path)
|
|
212
|
+
|
|
213
|
+
result = tui._try_drain_win32_paste("\r", timeout_ms=20)
|
|
214
|
+
|
|
215
|
+
# Second \r arrives after timeout → not drained → None
|
|
216
|
+
assert result is None
|
|
217
|
+
|
|
218
|
+
|
|
219
|
+
# ── R5: 普通字符开头的多行粘贴 ───────────────────────────────────────
|
|
220
|
+
|
|
221
|
+
|
|
222
|
+
@pytest.mark.asyncio
|
|
223
|
+
async def test_r5_regular_char_start_multiline_paste(tmp_path, monkeypatch):
|
|
224
|
+
"""R5: paste starting with a regular char (not \\r/\\n) must be detected.
|
|
225
|
+
|
|
226
|
+
Windows Terminal injects pasted content character-by-character. When the
|
|
227
|
+
pasted text starts with a regular character (e.g. "line1\\r\\nline2"),
|
|
228
|
+
the first char 'l' is not a newline, so the old code never triggered
|
|
229
|
+
drain. The leading "line1" was inserted char-by-char, and only the
|
|
230
|
+
\\r in the middle triggered drain — producing a partial [Pasted text]
|
|
231
|
+
token for "line2" while "line1" showed as raw text.
|
|
232
|
+
|
|
233
|
+
Fix: _read_input_raw_win32 should probe for quickly-following chars
|
|
234
|
+
after ANY first character, not just newlines.
|
|
235
|
+
"""
|
|
236
|
+
# Simulate: "line1\r\nline2\r\nline3" injected char-by-char
|
|
237
|
+
chars = list("line1\r\nline2\r\nline3")
|
|
238
|
+
_install_fake_msvcrt(monkeypatch, chars)
|
|
239
|
+
tui = _tui(tmp_path)
|
|
240
|
+
|
|
241
|
+
raw = await tui._read_input_raw_win32()
|
|
242
|
+
|
|
243
|
+
# The entire paste should be wrapped as a bracketed-paste sequence
|
|
244
|
+
assert raw.startswith(b"\x1b[200~")
|
|
245
|
+
assert raw.endswith(b"\x1b[201~")
|
|
246
|
+
content = raw[len(b"\x1b[200~"):-len(b"\x1b[201~")]
|
|
247
|
+
assert content == "line1\r\nline2\r\nline3".encode("utf-8")
|
|
248
|
+
|
|
249
|
+
|
|
250
|
+
@pytest.mark.asyncio
|
|
251
|
+
async def test_r5_regular_char_start_single_line_not_paste(tmp_path, monkeypatch):
|
|
252
|
+
"""R5: a single regular char with no follow-up must NOT be treated as paste.
|
|
253
|
+
|
|
254
|
+
Guards against false positives: typing one character should return it
|
|
255
|
+
as-is, not wrap it in bracketed-paste markers.
|
|
256
|
+
"""
|
|
257
|
+
# First char 'a', no follow-up → kbhit() False → not paste
|
|
258
|
+
_install_fake_msvcrt(monkeypatch, ["a"])
|
|
259
|
+
tui = _tui(tmp_path)
|
|
260
|
+
|
|
261
|
+
raw = await tui._read_input_raw_win32()
|
|
262
|
+
|
|
263
|
+
assert raw == b"a"
|
|
264
|
+
assert tui._pending_bytes == b""
|
|
265
|
+
|
|
266
|
+
|
|
267
|
+
@pytest.mark.asyncio
|
|
268
|
+
async def test_r5_regular_char_short_followup_not_paste(tmp_path, monkeypatch):
|
|
269
|
+
"""R5: a regular char followed by only 1-2 chars is normal typing, not paste.
|
|
270
|
+
|
|
271
|
+
The drain heuristic (>=2 newlines or >8 chars) must still apply when
|
|
272
|
+
the first char is not a newline. Plan B: all drained chars are
|
|
273
|
+
returned together as raw bytes (no _pending_bytes stashing).
|
|
274
|
+
"""
|
|
275
|
+
# 'a' + 'b' = 2 chars, 0 newlines → not a paste
|
|
276
|
+
_install_fake_msvcrt(monkeypatch, ["a", "b"])
|
|
277
|
+
tui = _tui(tmp_path)
|
|
278
|
+
|
|
279
|
+
raw = await tui._read_input_raw_win32()
|
|
280
|
+
|
|
281
|
+
# Plan B: both chars returned together, in order
|
|
282
|
+
assert raw == b"ab"
|
|
283
|
+
assert tui._pending_bytes == b""
|
|
284
|
+
|
|
285
|
+
|
|
286
|
+
@pytest.mark.asyncio
|
|
287
|
+
async def test_r5_e2e_regular_char_paste_collapses_to_token(tmp_path, monkeypatch):
|
|
288
|
+
"""R5 E2E: regular-char-start paste → single [Pasted text] token, no partial.
|
|
289
|
+
|
|
290
|
+
This is the user-reported bug: "line1" showed as raw text while
|
|
291
|
+
"line2\\nline3" showed as [Pasted text #N]. After the fix, the entire
|
|
292
|
+
paste should collapse to one token.
|
|
293
|
+
"""
|
|
294
|
+
chars = list("line1\r\nline2\r\nline3")
|
|
295
|
+
_install_fake_msvcrt(monkeypatch, chars)
|
|
296
|
+
tui = _tui(tmp_path)
|
|
297
|
+
tui._tty = True
|
|
298
|
+
tui._input_lines = [""]
|
|
299
|
+
tui._cursor_col = 0
|
|
300
|
+
|
|
301
|
+
raw = await tui._read_input_raw_win32()
|
|
302
|
+
assert raw.startswith(b"\x1b[200~")
|
|
303
|
+
|
|
304
|
+
tui._process_input(raw)
|
|
305
|
+
|
|
306
|
+
# Entire paste → single token, no partial raw text
|
|
307
|
+
text = tui._get_input_text()
|
|
308
|
+
assert text == "[Pasted text #1 +2 lines]"
|
|
309
|
+
assert tui._paste_entries[0]["expanded"] == "line1\nline2\nline3"
|
|
310
|
+
assert tui._queue.empty()
|
|
311
|
+
|
|
312
|
+
|
|
313
|
+
# ── R6: 分批粘贴合并为单个 token ──────────────────────────────────────
|
|
314
|
+
|
|
315
|
+
|
|
316
|
+
@pytest.mark.asyncio
|
|
317
|
+
async def test_r6_split_batch_paste_merges_to_single_token(tmp_path, monkeypatch):
|
|
318
|
+
"""R6: a paste split across two drain batches must produce ONE token.
|
|
319
|
+
|
|
320
|
+
Windows Terminal may inject a large paste in batches. The 20ms drain
|
|
321
|
+
timeout can fire between batches, producing two bracketed-paste
|
|
322
|
+
sequences. Without merging, the user sees two adjacent tokens:
|
|
323
|
+
[Pasted text #1 +4 lines][Pasted text #2 29 chars]
|
|
324
|
+
|
|
325
|
+
Fix: when _insert_pasted_text is called and the previous paste was
|
|
326
|
+
near-instantaneous, append to the existing entry instead of creating
|
|
327
|
+
a new one.
|
|
328
|
+
"""
|
|
329
|
+
tui = _tui(tmp_path)
|
|
330
|
+
tui._tty = True
|
|
331
|
+
tui._input_lines = [""]
|
|
332
|
+
tui._cursor_col = 0
|
|
333
|
+
|
|
334
|
+
# Batch 1: "line1\r\nline2\r\nline3\r\n"
|
|
335
|
+
batch1 = b"\x1b[200~line1\r\nline2\r\nline3\r\n\x1b[201~"
|
|
336
|
+
# Batch 2: "line4\r\nline5" (arrives immediately after)
|
|
337
|
+
batch2 = b"\x1b[200~line4\r\nline5\x1b[201~"
|
|
338
|
+
|
|
339
|
+
tui._process_input(batch1)
|
|
340
|
+
tui._process_input(batch2)
|
|
341
|
+
|
|
342
|
+
# Should be a SINGLE token, not two
|
|
343
|
+
text = tui._get_input_text()
|
|
344
|
+
assert text == "[Pasted text #1 +4 lines]", f"got: {text!r}"
|
|
345
|
+
# Expanded content should be the full 5-line paste
|
|
346
|
+
assert tui._paste_entries[0]["expanded"] == "line1\nline2\nline3\nline4\nline5"
|
|
347
|
+
assert len(tui._paste_entries) == 1
|
|
348
|
+
assert tui._queue.empty()
|
|
349
|
+
|
|
350
|
+
|
|
351
|
+
@pytest.mark.asyncio
|
|
352
|
+
async def test_r6_separate_pastes_create_separate_tokens(tmp_path, monkeypatch):
|
|
353
|
+
"""R6: two genuinely separate pastes (with a time gap) must NOT merge.
|
|
354
|
+
|
|
355
|
+
Guards against over-merging: if the user pastes, types something, then
|
|
356
|
+
pastes again, those should be separate tokens.
|
|
357
|
+
"""
|
|
358
|
+
import time
|
|
359
|
+
|
|
360
|
+
tui = _tui(tmp_path)
|
|
361
|
+
tui._tty = True
|
|
362
|
+
tui._input_lines = [""]
|
|
363
|
+
tui._cursor_col = 0
|
|
364
|
+
|
|
365
|
+
# First paste
|
|
366
|
+
batch1 = b"\x1b[200~hello\nworld\x1b[201~"
|
|
367
|
+
tui._process_input(batch1)
|
|
368
|
+
|
|
369
|
+
# Simulate time gap (user types something between pastes)
|
|
370
|
+
# Force the last-paste timestamp to be old
|
|
371
|
+
tui._last_paste_time = 0.0 # type: ignore[attr-defined]
|
|
372
|
+
|
|
373
|
+
# Second paste
|
|
374
|
+
batch2 = b"\x1b[200~foo\nbar\x1b[201~"
|
|
375
|
+
tui._process_input(batch2)
|
|
376
|
+
|
|
377
|
+
# Two separate tokens (multiline pastes become tokens)
|
|
378
|
+
text = tui._get_input_text()
|
|
379
|
+
assert "[Pasted text #1" in text
|
|
380
|
+
assert "[Pasted text #2" in text
|
|
381
|
+
assert len(tui._paste_entries) == 2
|
|
382
|
+
|
|
383
|
+
|
|
384
|
+
# ── R7: IME 快速输入字符乱序 ──────────────────────────────────────────
|
|
385
|
+
|
|
386
|
+
|
|
387
|
+
@pytest.mark.asyncio
|
|
388
|
+
async def test_r7_fast_typing_preserves_char_order(tmp_path, monkeypatch):
|
|
389
|
+
"""R7: fast IME/keyboard input must NOT be reordered by the drain heuristic.
|
|
390
|
+
|
|
391
|
+
When a user types quickly (e.g. IME commit of "hello"), multiple
|
|
392
|
+
characters arrive in the console input buffer near-simultaneously.
|
|
393
|
+
The old drain logic reads them all, decides they're "not a paste"
|
|
394
|
+
(<2 newlines, <=8 chars), and stashes the extra chars into
|
|
395
|
+
_pending_bytes. On the next read, _process_input prepends
|
|
396
|
+
_pending_bytes to the new data — but the new data may be a char
|
|
397
|
+
that arrived *before* the stashed chars were consumed, producing
|
|
398
|
+
reordered output.
|
|
399
|
+
|
|
400
|
+
Fix (Plan B): _read_input_raw_win32 should return ALL drained chars
|
|
401
|
+
in arrival order when they don't qualify as a paste, instead of
|
|
402
|
+
splitting them across _pending_bytes.
|
|
403
|
+
"""
|
|
404
|
+
# Simulate "hello" arriving near-instantly (all in buffer at once)
|
|
405
|
+
_install_fake_msvcrt(monkeypatch, list("hello"))
|
|
406
|
+
tui = _tui(tmp_path)
|
|
407
|
+
tui._tty = True
|
|
408
|
+
tui._input_lines = [""]
|
|
409
|
+
tui._cursor_col = 0
|
|
410
|
+
|
|
411
|
+
raw = await tui._read_input_raw_win32()
|
|
412
|
+
|
|
413
|
+
# All 5 chars should be returned together, in order — NOT split
|
|
414
|
+
# into b"h" + _pending_bytes=b"ello"
|
|
415
|
+
assert raw == b"hello", f"expected b'hello', got {raw!r}"
|
|
416
|
+
assert tui._pending_bytes == b"", f"pending_bytes should be empty, got {tui._pending_bytes!r}"
|
|
417
|
+
|
|
418
|
+
|
|
419
|
+
@pytest.mark.asyncio
|
|
420
|
+
async def test_r7_fast_typing_e2e_no_reorder(tmp_path, monkeypatch):
|
|
421
|
+
"""R7 E2E: typing "hello" fast then "w" must produce "hellow", not "hellow" reordered.
|
|
422
|
+
|
|
423
|
+
This reproduces the user-reported bug: IME characters appear out of
|
|
424
|
+
order in the input box. The old code returned b"h" from the first
|
|
425
|
+
read (with "ello" stashed in _pending_bytes), then on the next read
|
|
426
|
+
returned b"w" — but _process_input prepended _pending_bytes,
|
|
427
|
+
producing b"ellow". The user saw "h" then "ellow" = "hellow" which
|
|
428
|
+
*looks* correct, but if the timing differs (e.g. drain only captures
|
|
429
|
+
"el" before timeout, "lo" arrives later), the order breaks.
|
|
430
|
+
|
|
431
|
+
With Plan B, the first read returns all available chars at once,
|
|
432
|
+
so there's no _pending_bytes reordering.
|
|
433
|
+
"""
|
|
434
|
+
tui = _tui(tmp_path)
|
|
435
|
+
tui._tty = True
|
|
436
|
+
tui._input_lines = [""]
|
|
437
|
+
tui._cursor_col = 0
|
|
438
|
+
|
|
439
|
+
# First read: "hello" all in buffer
|
|
440
|
+
_install_fake_msvcrt(monkeypatch, list("hello"))
|
|
441
|
+
raw1 = await tui._read_input_raw_win32()
|
|
442
|
+
tui._process_input(raw1)
|
|
443
|
+
|
|
444
|
+
# Second read: "w" (user continues typing)
|
|
445
|
+
_install_fake_msvcrt(monkeypatch, ["w"])
|
|
446
|
+
raw2 = await tui._read_input_raw_win32()
|
|
447
|
+
tui._process_input(raw2)
|
|
448
|
+
|
|
449
|
+
assert tui._get_input_text() == "hellow", f"got: {tui._get_input_text()!r}"
|
|
450
|
+
|
|
451
|
+
|
|
452
|
+
@pytest.mark.asyncio
|
|
453
|
+
async def test_r7_short_followup_returns_all_chars_no_pending(tmp_path, monkeypatch):
|
|
454
|
+
"""R7: 2-3 chars arriving together must all be returned, not stashed.
|
|
455
|
+
|
|
456
|
+
The old code returned only the first char and stashed the rest in
|
|
457
|
+
_pending_bytes. Plan B returns them all together so _process_input
|
|
458
|
+
sees them in the correct order.
|
|
459
|
+
"""
|
|
460
|
+
# 'a' + 'b' + 'c' = 3 chars, 0 newlines → not a paste, but all 3
|
|
461
|
+
# should be returned together
|
|
462
|
+
_install_fake_msvcrt(monkeypatch, ["a", "b", "c"])
|
|
463
|
+
tui = _tui(tmp_path)
|
|
464
|
+
|
|
465
|
+
raw = await tui._read_input_raw_win32()
|
|
466
|
+
|
|
467
|
+
assert raw == b"abc", f"expected b'abc', got {raw!r}"
|
|
468
|
+
assert tui._pending_bytes == b""
|
|
469
|
+
|
|
470
|
+
|
|
471
|
+
@pytest.mark.asyncio
|
|
472
|
+
async def test_r7_mixed_fast_input_and_paste_detection(tmp_path, monkeypatch):
|
|
473
|
+
"""R7: fast typing (short, no newlines) returns raw; real paste (long/multiline) still wrapped.
|
|
474
|
+
|
|
475
|
+
Ensures Plan B doesn't break paste detection: short fast input is
|
|
476
|
+
returned as-is, but a genuine paste (>=2 newlines or >8 chars) is
|
|
477
|
+
still wrapped in bracketed-paste markers.
|
|
478
|
+
"""
|
|
479
|
+
tui = _tui(tmp_path)
|
|
480
|
+
|
|
481
|
+
# Case 1: 5 chars, no newlines → raw bytes, not paste
|
|
482
|
+
_install_fake_msvcrt(monkeypatch, list("hello"))
|
|
483
|
+
raw1 = await tui._read_input_raw_win32()
|
|
484
|
+
assert not raw1.startswith(b"\x1b[200~"), "short input should not be paste"
|
|
485
|
+
assert raw1 == b"hello"
|
|
486
|
+
|
|
487
|
+
# Case 2: 10 chars, no newlines → paste (>8 chars)
|
|
488
|
+
_install_fake_msvcrt(monkeypatch, list("abcdefghij"))
|
|
489
|
+
raw2 = await tui._read_input_raw_win32()
|
|
490
|
+
assert raw2.startswith(b"\x1b[200~"), "long input should be paste"
|
|
491
|
+
assert raw2.endswith(b"\x1b[201~")
|
|
492
|
+
|
|
493
|
+
# Case 3: 2+ newlines → paste
|
|
494
|
+
_install_fake_msvcrt(monkeypatch, list("\r\nx\r\ny"))
|
|
495
|
+
raw3 = await tui._read_input_raw_win32()
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
from tui_helpers import * # noqa: F403
|
|
2
|
+
|
|
3
|
+
import sys
|
|
4
|
+
import types
|
|
5
|
+
|
|
6
|
+
import pytest
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
class _FakeMsvcrt:
|
|
10
|
+
"""Fake msvcrt module with a scripted character queue."""
|
|
11
|
+
|
|
12
|
+
def __init__(self, chars: list[str]) -> None:
|
|
13
|
+
self._chars = list(chars)
|
|
14
|
+
self._consumed: list[str] = []
|
|
15
|
+
|
|
16
|
+
def kbhit(self) -> bool:
|
|
17
|
+
return bool(self._chars)
|
|
18
|
+
|
|
19
|
+
def getwch(self) -> str:
|
|
20
|
+
if not self._chars:
|
|
21
|
+
raise AssertionError("getwch called on empty buffer")
|
|
22
|
+
ch = self._chars.pop(0)
|
|
23
|
+
self._consumed.append(ch)
|
|
24
|
+
return ch
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
def _install_fake_msvcrt(monkeypatch, chars: list[str]) -> _FakeMsvcrt:
|
|
28
|
+
fake = _FakeMsvcrt(chars)
|
|
29
|
+
monkeypatch.setitem(sys.modules, "msvcrt", fake)
|
|
30
|
+
return fake
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
# ── _try_drain_win32_paste ─────────────────────────────────────────────
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
def test_drain_multiline_paste_returns_bracketed_sequence(tmp_path, monkeypatch):
|
|
37
|
+
"""Multi-line paste: \\r\\n followed by more content → bracketed paste."""
|
|
38
|
+
_install_fake_msvcrt(monkeypatch, ["\n", "l", "i", "n", "e", "2"])
|
|
39
|
+
tui = _tui(tmp_path)
|
|
40
|
+
|
|
41
|
+
result = tui._try_drain_win32_paste("\r", timeout_ms=50)
|
|
42
|
+
|
|
43
|
+
assert result is not None
|
|
44
|
+
assert result.startswith(b"\x1b[200~")
|
|
45
|
+
assert result.endswith(b"\x1b[201~")
|
|
46
|
+
# Content between markers should contain the drained characters
|
|
47
|
+
content = result[len(b"\x1b[200~"):-len(b"\x1b[201~")]
|
|
48
|
+
assert content == "\r\nline2".encode("utf-8")
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
def test_drain_single_enter_returns_none(tmp_path, monkeypatch):
|
|
52
|
+
"""Single Enter with no follow-up → None (not a paste)."""
|
|
53
|
+
_install_fake_msvcrt(monkeypatch, [])
|
|
54
|
+
tui = _tui(tmp_path)
|
|
55
|
+
|
|
56
|
+
result = tui._try_drain_win32_paste("\r", timeout_ms=10)
|
|
57
|
+
|
|
58
|
+
assert result is None
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
def test_drain_two_newlines_returns_bracketed_sequence(tmp_path, monkeypatch):
|
|
62
|
+
"""Two \\r in quick succession (newline_count >= 2) → paste."""
|
|
63
|
+
_install_fake_msvcrt(monkeypatch, ["\r", "x"])
|
|
64
|
+
tui = _tui(tmp_path)
|
|
65
|
+
|
|
66
|
+
result = tui._try_drain_win32_paste("\r", timeout_ms=50)
|
|
67
|
+
|
|
68
|
+
assert result is not None
|
|
69
|
+
content = result[len(b"\x1b[200~"):-len(b"\x1b[201~")]
|
|
70
|
+
assert content == "\r\rx".encode("utf-8")
|
|
71
|
+
|
|
72
|
+
|
|
73
|
+
def test_drain_long_single_line_returns_bracketed_sequence(tmp_path, monkeypatch):
|
|
74
|
+
"""Single-line but long (>8 chars) → paste."""
|
|
75
|
+
_install_fake_msvcrt(monkeypatch, list("abcdefghij"))
|
|
76
|
+
tui = _tui(tmp_path)
|
|
77
|
+
|
|
78
|
+
result = tui._try_drain_win32_paste("\r", timeout_ms=50)
|
|
79
|
+
|
|
80
|
+
assert result is not None
|
|
81
|
+
content = result[len(b"\x1b[200~"):-len(b"\x1b[201~")]
|
|
82
|
+
assert content == "\rabcdefghij".encode("utf-8")
|
|
83
|
+
|
|
84
|
+
|
|
85
|
+
def test_drain_short_followup_after_enter_returns_raw(tmp_path, monkeypatch):
|
|
86
|
+
"""Enter followed by 1-2 chars (not enough) → raw bytes, not a paste.
|
|
87
|
+
|
|
88
|
+
Plan B: non-paste drained content is returned as raw bytes (all chars
|
|
89
|
+
in arrival order) instead of None + _pending_bytes stashing.
|
|
90
|
+
"""
|
|
91
|
+
_install_fake_msvcrt(monkeypatch, ["x"])
|
|
92
|
+
tui = _tui(tmp_path)
|
|
93
|
+
|
|
94
|
+
result = tui._try_drain_win32_paste("\r", timeout_ms=50)
|
|
95
|
+
|
|
96
|
+
# Not a paste (1 newline, 2 chars) → raw bytes of all drained chars
|
|
97
|
+
assert result == b"\rx"
|
|
98
|
+
|
|
99
|
+
|
|
100
|
+
def test_drain_non_newline_first_char_returns_raw(tmp_path, monkeypatch):
|
|
101
|
+
"""First char not \\r/\\n with follow-up → raw bytes (not paste).
|
|
102
|
+
|
|
103
|
+
Plan B: non-paste drained content is returned as raw bytes instead
|
|
104
|
+
of None + _pending_bytes stashing.
|
|
105
|
+
"""
|
|
106
|
+
_install_fake_msvcrt(monkeypatch, ["x", "y", "z"])
|
|
107
|
+
tui = _tui(tmp_path)
|
|
108
|
+
|
|
109
|
+
result = tui._try_drain_win32_paste("a", timeout_ms=50)
|
|
110
|
+
|
|
111
|
+
# 'a' + 'xyz' = 4 chars, 0 newlines → not paste → raw bytes
|
|
112
|
+
assert result == b"axyz"
|
|
113
|
+
|
|
114
|
+
|
|
115
|
+
def test_drain_function_key_prefix_consumes_second_byte(tmp_path, monkeypatch):
|
|
116
|
+
"""Drain encountering 0x00/0xe0 must consume the second byte and stop."""
|
|
117
|
+
# Multi-line paste that ends with a function key prefix
|
|
118
|
+
_install_fake_msvcrt(monkeypatch, ["\n", "a", "b", "\x00", "H"])
|
|
119
|
+
tui = _tui(tmp_path)
|
|
120
|
+
|
|
121
|
+
result = tui._try_drain_win32_paste("\r", timeout_ms=50)
|
|
122
|
+
|
|
123
|
+
assert result is not None
|
|
124
|
+
content = result[len(b"\x1b[200~"):-len(b"\x1b[201~")]
|
|
125
|
+
# \x00 and 'H' should be consumed but NOT included in paste content
|
|
126
|
+
assert content == "\r\nab".encode("utf-8")
|
|
127
|
+
|
|
128
|
+
|
|
129
|
+
def test_drain_e0_prefix_consumes_second_byte(tmp_path, monkeypatch):
|
|
130
|
+
"""Drain encountering 0xe0 must consume the second byte and stop."""
|
|
131
|
+
_install_fake_msvcrt(monkeypatch, ["\n", "x", "\xe0", "K"])
|
|
132
|
+
tui = _tui(tmp_path)
|
|
133
|
+
|
|
134
|
+
result = tui._try_drain_win32_paste("\r", timeout_ms=50)
|
|
135
|
+
|
|
136
|
+
assert result is not None
|
|
137
|
+
content = result[len(b"\x1b[200~"):-len(b"\x1b[201~")]
|
|
138
|
+
assert content == "\r\nx".encode("utf-8")
|
|
139
|
+
|
|
140
|
+
|