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.
Files changed (1324) hide show
  1. build/lib/build/lib/build/lib/build/lib/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
  2. build/lib/build/lib/build/lib/build/lib/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
  3. build/lib/build/lib/build/lib/build/lib/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
  4. build/lib/build/lib/build/lib/build/lib/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
  5. build/lib/build/lib/build/lib/build/lib/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
  6. build/lib/build/lib/build/lib/build/lib/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
  7. build/lib/build/lib/build/lib/build/lib/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
  8. build/lib/build/lib/build/lib/build/lib/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
  9. build/lib/build/lib/build/lib/build/lib/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
  10. build/lib/build/lib/build/lib/build/lib/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
  11. build/lib/build/lib/build/lib/build/lib/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
  12. build/lib/build/lib/build/lib/build/lib/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
  13. build/lib/build/lib/build/lib/build/lib/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
  14. build/lib/build/lib/build/lib/build/lib/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
  15. build/lib/build/lib/build/lib/build/lib/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
  16. build/lib/build/lib/build/lib/build/lib/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
  17. build/lib/build/lib/build/lib/build/lib/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
  18. build/lib/build/lib/build/lib/build/lib/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
  19. build/lib/build/lib/build/lib/build/lib/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
  20. build/lib/build/lib/build/lib/build/lib/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
  21. build/lib/build/lib/build/lib/build/lib/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
  22. build/lib/build/lib/build/lib/build/lib/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
  23. build/lib/build/lib/build/lib/build/lib/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
  24. build/lib/build/lib/build/lib/build/lib/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
  25. build/lib/build/lib/build/lib/build/lib/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
  26. build/lib/build/lib/build/lib/build/lib/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
  27. build/lib/build/lib/build/lib/build/lib/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
  28. build/lib/build/lib/build/lib/build/lib/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
  29. build/lib/build/lib/build/lib/build/lib/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
  30. build/lib/build/lib/build/lib/build/lib/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
  31. build/lib/build/lib/build/lib/build/lib/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
  32. build/lib/build/lib/build/lib/build/lib/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
  33. build/lib/build/lib/build/lib/build/lib/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
  34. build/lib/build/lib/build/lib/build/lib/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
  35. build/lib/build/lib/build/lib/build/lib/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
  36. build/lib/build/lib/build/lib/build/lib/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
  37. build/lib/build/lib/build/lib/build/lib/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
  38. build/lib/build/lib/build/lib/build/lib/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
  39. build/lib/build/lib/build/lib/build/lib/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
  40. build/lib/build/lib/build/lib/build/lib/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
  41. build/lib/build/lib/build/lib/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
  42. build/lib/build/lib/build/lib/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
  43. build/lib/build/lib/build/lib/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
  44. build/lib/build/lib/build/lib/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
  45. build/lib/build/lib/build/lib/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
  46. build/lib/build/lib/build/lib/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
  47. build/lib/build/lib/build/lib/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
  48. build/lib/build/lib/build/lib/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
  49. build/lib/build/lib/build/lib/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
  50. build/lib/build/lib/build/lib/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
  51. build/lib/build/lib/build/lib/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
  52. build/lib/build/lib/build/lib/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
  53. build/lib/build/lib/build/lib/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
  54. build/lib/build/lib/build/lib/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
  55. build/lib/build/lib/build/lib/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
  56. build/lib/build/lib/build/lib/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
  57. build/lib/build/lib/build/lib/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
  58. build/lib/build/lib/build/lib/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
  59. build/lib/build/lib/build/lib/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
  60. build/lib/build/lib/build/lib/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
  61. build/lib/build/lib/build/lib/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
  62. build/lib/build/lib/build/lib/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
  63. build/lib/build/lib/build/lib/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
  64. build/lib/build/lib/build/lib/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
  65. build/lib/build/lib/build/lib/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
  66. build/lib/build/lib/build/lib/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
  67. build/lib/build/lib/build/lib/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
  68. build/lib/build/lib/build/lib/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
  69. build/lib/build/lib/build/lib/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
  70. build/lib/build/lib/build/lib/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
  71. build/lib/build/lib/build/lib/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
  72. build/lib/build/lib/build/lib/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
  73. build/lib/build/lib/build/lib/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
  74. build/lib/build/lib/build/lib/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
  75. build/lib/build/lib/build/lib/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
  76. build/lib/build/lib/build/lib/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
  77. build/lib/build/lib/build/lib/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
  78. build/lib/build/lib/build/lib/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
  79. build/lib/build/lib/build/lib/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
  80. build/lib/build/lib/build/lib/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
  81. build/lib/build/lib/build/lib/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
  82. build/lib/build/lib/build/lib/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
  83. build/lib/build/lib/build/lib/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
  84. build/lib/build/lib/build/lib/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
  85. build/lib/build/lib/build/lib/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
  86. build/lib/build/lib/build/lib/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
  87. build/lib/build/lib/build/lib/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
  88. build/lib/build/lib/build/lib/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
  89. build/lib/build/lib/build/lib/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
  90. build/lib/build/lib/build/lib/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
  91. build/lib/build/lib/build/lib/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
  92. build/lib/build/lib/build/lib/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
  93. build/lib/build/lib/build/lib/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
  94. build/lib/build/lib/build/lib/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
  95. build/lib/build/lib/build/lib/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
  96. build/lib/build/lib/build/lib/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
  97. build/lib/build/lib/build/lib/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
  98. build/lib/build/lib/build/lib/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
  99. build/lib/build/lib/build/lib/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
  100. build/lib/build/lib/build/lib/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
  101. build/lib/build/lib/build/lib/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
  102. build/lib/build/lib/build/lib/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
  103. build/lib/build/lib/build/lib/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
  104. build/lib/build/lib/build/lib/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
  105. build/lib/build/lib/build/lib/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
  106. build/lib/build/lib/build/lib/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
  107. build/lib/build/lib/build/lib/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
  108. build/lib/build/lib/build/lib/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
  109. build/lib/build/lib/build/lib/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
  110. build/lib/build/lib/build/lib/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
  111. build/lib/build/lib/build/lib/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
  112. build/lib/build/lib/build/lib/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
  113. build/lib/build/lib/build/lib/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
  114. build/lib/build/lib/build/lib/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
  115. build/lib/build/lib/build/lib/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
  116. build/lib/build/lib/build/lib/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
  117. build/lib/build/lib/build/lib/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
  118. build/lib/build/lib/build/lib/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
  119. build/lib/build/lib/build/lib/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
  120. build/lib/build/lib/build/lib/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
  121. build/lib/build/lib/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
  122. build/lib/build/lib/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
  123. build/lib/build/lib/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
  124. build/lib/build/lib/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
  125. build/lib/build/lib/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
  126. build/lib/build/lib/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
  127. build/lib/build/lib/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
  128. build/lib/build/lib/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
  129. build/lib/build/lib/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
  130. build/lib/build/lib/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
  131. build/lib/build/lib/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
  132. build/lib/build/lib/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
  133. build/lib/build/lib/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
  134. build/lib/build/lib/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
  135. build/lib/build/lib/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
  136. build/lib/build/lib/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
  137. build/lib/build/lib/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
  138. build/lib/build/lib/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
  139. build/lib/build/lib/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
  140. build/lib/build/lib/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
  141. build/lib/build/lib/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
  142. build/lib/build/lib/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
  143. build/lib/build/lib/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
  144. build/lib/build/lib/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
  145. build/lib/build/lib/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
  146. build/lib/build/lib/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
  147. build/lib/build/lib/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
  148. build/lib/build/lib/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
  149. build/lib/build/lib/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
  150. build/lib/build/lib/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
  151. build/lib/build/lib/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
  152. build/lib/build/lib/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
  153. build/lib/build/lib/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
  154. build/lib/build/lib/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
  155. build/lib/build/lib/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
  156. build/lib/build/lib/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
  157. build/lib/build/lib/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
  158. build/lib/build/lib/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
  159. build/lib/build/lib/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
  160. build/lib/build/lib/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
  161. build/lib/build/lib/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
  162. build/lib/build/lib/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
  163. build/lib/build/lib/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
  164. build/lib/build/lib/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
  165. build/lib/build/lib/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
  166. build/lib/build/lib/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
  167. build/lib/build/lib/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
  168. build/lib/build/lib/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
  169. build/lib/build/lib/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
  170. build/lib/build/lib/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
  171. build/lib/build/lib/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
  172. build/lib/build/lib/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
  173. build/lib/build/lib/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
  174. build/lib/build/lib/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
  175. build/lib/build/lib/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
  176. build/lib/build/lib/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
  177. build/lib/build/lib/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
  178. build/lib/build/lib/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
  179. build/lib/build/lib/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
  180. build/lib/build/lib/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
  181. build/lib/build/lib/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
  182. build/lib/build/lib/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
  183. build/lib/build/lib/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
  184. build/lib/build/lib/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
  185. build/lib/build/lib/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
  186. build/lib/build/lib/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
  187. build/lib/build/lib/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
  188. build/lib/build/lib/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
  189. build/lib/build/lib/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
  190. build/lib/build/lib/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
  191. build/lib/build/lib/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
  192. build/lib/build/lib/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
  193. build/lib/build/lib/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
  194. build/lib/build/lib/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
  195. build/lib/build/lib/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
  196. build/lib/build/lib/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
  197. build/lib/build/lib/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
  198. build/lib/build/lib/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
  199. build/lib/build/lib/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
  200. build/lib/build/lib/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
  201. build/lib/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
  202. build/lib/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
  203. build/lib/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
  204. build/lib/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
  205. build/lib/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
  206. build/lib/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
  207. build/lib/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
  208. build/lib/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
  209. build/lib/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
  210. build/lib/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
  211. build/lib/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
  212. build/lib/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
  213. build/lib/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
  214. build/lib/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
  215. build/lib/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
  216. build/lib/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
  217. build/lib/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
  218. build/lib/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
  219. build/lib/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
  220. build/lib/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
  221. build/lib/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
  222. build/lib/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
  223. build/lib/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
  224. build/lib/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
  225. build/lib/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
  226. build/lib/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
  227. build/lib/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
  228. build/lib/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
  229. build/lib/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
  230. build/lib/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
  231. build/lib/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
  232. build/lib/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
  233. build/lib/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
  234. build/lib/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
  235. build/lib/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
  236. build/lib/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
  237. build/lib/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
  238. build/lib/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
  239. build/lib/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
  240. build/lib/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
  241. build/lib/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
  242. build/lib/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
  243. build/lib/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
  244. build/lib/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
  245. build/lib/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
  246. build/lib/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
  247. build/lib/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
  248. build/lib/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
  249. build/lib/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
  250. build/lib/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
  251. build/lib/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
  252. build/lib/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
  253. build/lib/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
  254. build/lib/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
  255. build/lib/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
  256. build/lib/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
  257. build/lib/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
  258. build/lib/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
  259. build/lib/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
  260. build/lib/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
  261. build/lib/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
  262. build/lib/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
  263. build/lib/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
  264. build/lib/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
  265. build/lib/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
  266. build/lib/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
  267. build/lib/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
  268. build/lib/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
  269. build/lib/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
  270. build/lib/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
  271. build/lib/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
  272. build/lib/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
  273. build/lib/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
  274. build/lib/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
  275. build/lib/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
  276. build/lib/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
  277. build/lib/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
  278. build/lib/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
  279. build/lib/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
  280. build/lib/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
  281. 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
  282. 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
  283. 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
  284. 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
  285. 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
  286. 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
  287. 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
  288. 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
  289. 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
  290. 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
  291. 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
  292. 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
  293. 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
  294. 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
  295. 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
  296. 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
  297. 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
  298. 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
  299. 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
  300. 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
  301. 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
  302. 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
  303. 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
  304. 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
  305. 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
  306. 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
  307. 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
  308. 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
  309. 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
  310. 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
  311. 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
  312. 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
  313. 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
  314. 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
  315. 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
  316. 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
  317. 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
  318. 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
  319. 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
  320. 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
  321. 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
  322. 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
  323. 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
  324. 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
  325. 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
  326. 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
  327. 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
  328. 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
  329. 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
  330. 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
  331. 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
  332. 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
  333. 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
  334. 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
  335. 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
  336. 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
  337. 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
  338. 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
  339. 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
  340. 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
  341. 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
  342. 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
  343. 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
  344. 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
  345. 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
  346. 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
  347. 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
  348. 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
  349. 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
  350. 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
  351. 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
  352. 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
  353. 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
  354. 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
  355. 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
  356. 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
  357. 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
  358. 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
  359. 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
  360. 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
  361. 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
  362. 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
  363. 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
  364. 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
  365. 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
  366. 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
  367. 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
  368. 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
  369. 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
  370. 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
  371. 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
  372. 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
  373. 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
  374. 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
  375. 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
  376. 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
  377. 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
  378. 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
  379. 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
  380. 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
  381. 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
  382. 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
  383. 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
  384. 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
  385. 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
  386. 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
  387. 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
  388. 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
  389. 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
  390. 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
  391. 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
  392. 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
  393. 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
  394. 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
  395. 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
  396. 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
  397. 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
  398. 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
  399. 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
  400. 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
  401. 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
  402. 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
  403. 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
  404. 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
  405. 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
  406. 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
  407. 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
  408. 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
  409. 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
  410. 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
  411. 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
  412. 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
  413. 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
  414. 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
  415. 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
  416. 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
  417. 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
  418. 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
  419. 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
  420. 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
  421. 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
  422. 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
  423. 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
  424. 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
  425. 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
  426. 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
  427. 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
  428. 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
  429. 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
  430. 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
  431. 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
  432. 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
  433. 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
  434. 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
  435. 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
  436. 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
  437. 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
  438. 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
  439. 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
  440. 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
  441. 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
  442. 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
  443. 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
  444. 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
  445. 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
  446. 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
  447. 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
  448. 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
  449. 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
  450. 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
  451. 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
  452. 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
  453. 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
  454. 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
  455. 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
  456. 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
  457. 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
  458. 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
  459. 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
  460. 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
  461. 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
  462. 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
  463. 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
  464. 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
  465. 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
  466. 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
  467. 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
  468. 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
  469. 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
  470. 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
  471. 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
  472. 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
  473. 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
  474. 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
  475. 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
  476. 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
  477. 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
  478. 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
  479. 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
  480. 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
  481. 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
  482. 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
  483. 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
  484. 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
  485. 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
  486. 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
  487. 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
  488. 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
  489. 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
  490. 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
  491. 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
  492. 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
  493. 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
  494. 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
  495. 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
  496. 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
  497. 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
  498. 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
  499. 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
  500. 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
  501. 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
  502. 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
  503. 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
  504. 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
  505. 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
  506. 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
  507. 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
  508. 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
  509. 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
  510. 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
  511. 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
  512. 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
  513. 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
  514. 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
  515. 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
  516. 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
  517. 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
  518. 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
  519. 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
  520. 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
  521. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__init__.py +0 -0
  522. 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
  523. 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
  524. 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
  525. 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
  526. 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
  527. 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
  528. 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
  529. 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
  530. 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
  531. 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
  532. 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
  533. 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
  534. 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
  535. 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
  536. 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
  537. 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
  538. 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
  539. 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
  540. 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
  541. 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
  542. 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
  543. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/conftest.py +4 -0
  544. 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
  545. 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
  546. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_headless.py +71 -0
  547. 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
  548. 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
  549. 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
  550. 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
  551. 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
  552. 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
  553. 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
  554. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_startup.py +60 -0
  555. 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
  556. 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
  557. 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
  558. 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
  559. 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
  560. 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
  561. 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
  562. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/tui_helpers.py +70 -0
  563. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__init__.py +6 -0
  564. 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
  565. 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
  566. 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
  567. 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
  568. 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
  569. 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
  570. 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
  571. 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
  572. 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
  573. 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
  574. 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
  575. 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
  576. 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
  577. 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
  578. 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
  579. 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
  580. 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
  581. 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
  582. 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
  583. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/activity.py +64 -0
  584. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/app.py +650 -0
  585. 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
  586. 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
  587. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/helpers.py +144 -0
  588. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/input.py +370 -0
  589. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/overlays.py +157 -0
  590. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/panels.py +347 -0
  591. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/parser.py +531 -0
  592. 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
  593. 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
  594. 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
  595. 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
  596. 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
  597. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/renderer.py +24 -0
  598. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/state.py +254 -0
  599. 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
  600. 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
  601. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__init__.py +0 -0
  602. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/__init__.cpython-312.pyc +0 -0
  603. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/conftest.cpython-312.pyc +0 -0
  604. 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
  605. 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
  606. 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
  607. 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
  608. 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
  609. 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
  610. 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
  611. 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
  612. 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
  613. 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
  614. 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
  615. 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
  616. 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
  617. 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
  618. 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
  619. 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
  620. 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
  621. 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
  622. 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
  623. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/conftest.py +4 -0
  624. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_frame_advanced.py +293 -0
  625. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_frame_rendering.py +429 -0
  626. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_headless.py +71 -0
  627. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_input_advanced.py +446 -0
  628. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_input_handling.py +459 -0
  629. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_output_paste.py +242 -0
  630. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_output_stream.py +130 -0
  631. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_output_tools.py +271 -0
  632. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_output_tree.py +378 -0
  633. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_paste_handling.py +364 -0
  634. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_startup.py +60 -0
  635. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_status_activity.py +640 -0
  636. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_status_layout.py +145 -0
  637. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_terminal_input.py +437 -0
  638. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_terminal_panels.py +439 -0
  639. 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
  640. 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
  641. 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
  642. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/tui_helpers.py +70 -0
  643. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__init__.py +6 -0
  644. 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
  645. 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
  646. 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
  647. 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
  648. 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
  649. 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
  650. 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
  651. 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
  652. 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
  653. 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
  654. 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
  655. 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
  656. 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
  657. 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
  658. 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
  659. 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
  660. 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
  661. 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
  662. 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
  663. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/activity.py +64 -0
  664. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/app.py +650 -0
  665. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/choice_mixin.py +59 -0
  666. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/clipboard_mixin.py +83 -0
  667. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/helpers.py +144 -0
  668. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/input.py +370 -0
  669. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/overlays.py +157 -0
  670. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/panels.py +347 -0
  671. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/parser.py +531 -0
  672. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/render_activity.py +217 -0
  673. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/render_frame.py +615 -0
  674. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/render_input.py +154 -0
  675. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/render_status.py +266 -0
  676. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/render_todo.py +79 -0
  677. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/renderer.py +24 -0
  678. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/state.py +254 -0
  679. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/terminal_mixin.py +95 -0
  680. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/text_prompt_mixin.py +49 -0
  681. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__init__.py +0 -0
  682. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/__init__.cpython-312.pyc +0 -0
  683. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/conftest.cpython-312.pyc +0 -0
  684. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_frame_advanced.cpython-312.pyc +0 -0
  685. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_frame_rendering.cpython-312.pyc +0 -0
  686. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_headless.cpython-312.pyc +0 -0
  687. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_input_advanced.cpython-312.pyc +0 -0
  688. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_input_handling.cpython-312.pyc +0 -0
  689. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_output_paste.cpython-312.pyc +0 -0
  690. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_output_stream.cpython-312.pyc +0 -0
  691. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_output_tools.cpython-312.pyc +0 -0
  692. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_output_tree.cpython-312.pyc +0 -0
  693. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_paste_handling.cpython-312.pyc +0 -0
  694. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_startup.cpython-312.pyc +0 -0
  695. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_status_activity.cpython-312.pyc +0 -0
  696. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_status_layout.cpython-312.pyc +0 -0
  697. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_terminal_input.cpython-312.pyc +0 -0
  698. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_terminal_panels.cpython-312.pyc +0 -0
  699. 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
  700. 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
  701. 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
  702. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/tui_helpers.cpython-312.pyc +0 -0
  703. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/conftest.py +4 -0
  704. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_frame_advanced.py +293 -0
  705. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_frame_rendering.py +429 -0
  706. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_headless.py +71 -0
  707. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_input_advanced.py +446 -0
  708. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_input_handling.py +459 -0
  709. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_output_paste.py +242 -0
  710. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_output_stream.py +130 -0
  711. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_output_tools.py +271 -0
  712. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_output_tree.py +378 -0
  713. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_paste_handling.py +364 -0
  714. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_startup.py +60 -0
  715. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_status_activity.py +640 -0
  716. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_status_layout.py +145 -0
  717. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_terminal_input.py +437 -0
  718. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_terminal_panels.py +439 -0
  719. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_win32_paste_drain_integration.py +154 -0
  720. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_win32_paste_drain_regression.py +495 -0
  721. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_win32_paste_drain_unit.py +140 -0
  722. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/tui_helpers.py +70 -0
  723. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__init__.py +6 -0
  724. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/__init__.cpython-312.pyc +0 -0
  725. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/activity.cpython-312.pyc +0 -0
  726. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/app.cpython-312.pyc +0 -0
  727. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/choice_mixin.cpython-312.pyc +0 -0
  728. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/clipboard_mixin.cpython-312.pyc +0 -0
  729. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/helpers.cpython-312.pyc +0 -0
  730. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/input.cpython-312.pyc +0 -0
  731. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/overlays.cpython-312.pyc +0 -0
  732. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/panels.cpython-312.pyc +0 -0
  733. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/parser.cpython-312.pyc +0 -0
  734. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/render_activity.cpython-312.pyc +0 -0
  735. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/render_frame.cpython-312.pyc +0 -0
  736. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/render_input.cpython-312.pyc +0 -0
  737. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/render_status.cpython-312.pyc +0 -0
  738. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/render_todo.cpython-312.pyc +0 -0
  739. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/renderer.cpython-312.pyc +0 -0
  740. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/state.cpython-312.pyc +0 -0
  741. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/terminal_mixin.cpython-312.pyc +0 -0
  742. 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
  743. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/activity.py +64 -0
  744. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/app.py +650 -0
  745. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/choice_mixin.py +59 -0
  746. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/clipboard_mixin.py +83 -0
  747. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/helpers.py +144 -0
  748. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/input.py +370 -0
  749. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/overlays.py +157 -0
  750. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/panels.py +347 -0
  751. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/parser.py +531 -0
  752. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/render_activity.py +217 -0
  753. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/render_frame.py +615 -0
  754. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/render_input.py +154 -0
  755. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/render_status.py +266 -0
  756. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/render_todo.py +79 -0
  757. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/renderer.py +24 -0
  758. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/state.py +254 -0
  759. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/terminal_mixin.py +95 -0
  760. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/text_prompt_mixin.py +49 -0
  761. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__init__.py +0 -0
  762. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/__init__.cpython-312.pyc +0 -0
  763. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/conftest.cpython-312.pyc +0 -0
  764. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_frame_advanced.cpython-312.pyc +0 -0
  765. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_frame_rendering.cpython-312.pyc +0 -0
  766. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_headless.cpython-312.pyc +0 -0
  767. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_input_advanced.cpython-312.pyc +0 -0
  768. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_input_handling.cpython-312.pyc +0 -0
  769. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_output_paste.cpython-312.pyc +0 -0
  770. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_output_stream.cpython-312.pyc +0 -0
  771. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_output_tools.cpython-312.pyc +0 -0
  772. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_output_tree.cpython-312.pyc +0 -0
  773. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_paste_handling.cpython-312.pyc +0 -0
  774. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_startup.cpython-312.pyc +0 -0
  775. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_status_activity.cpython-312.pyc +0 -0
  776. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_status_layout.cpython-312.pyc +0 -0
  777. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_terminal_input.cpython-312.pyc +0 -0
  778. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_terminal_panels.cpython-312.pyc +0 -0
  779. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_win32_paste_drain_integration.cpython-312.pyc +0 -0
  780. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_win32_paste_drain_regression.cpython-312.pyc +0 -0
  781. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_win32_paste_drain_unit.cpython-312.pyc +0 -0
  782. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/tui_helpers.cpython-312.pyc +0 -0
  783. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/conftest.py +4 -0
  784. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_frame_advanced.py +293 -0
  785. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_frame_rendering.py +429 -0
  786. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_headless.py +71 -0
  787. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_input_advanced.py +446 -0
  788. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_input_handling.py +459 -0
  789. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_output_paste.py +242 -0
  790. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_output_stream.py +130 -0
  791. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_output_tools.py +271 -0
  792. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_output_tree.py +378 -0
  793. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_paste_handling.py +364 -0
  794. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_startup.py +60 -0
  795. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_status_activity.py +640 -0
  796. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_status_layout.py +145 -0
  797. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_terminal_input.py +437 -0
  798. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_terminal_panels.py +439 -0
  799. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_win32_paste_drain_integration.py +154 -0
  800. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_win32_paste_drain_regression.py +495 -0
  801. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_win32_paste_drain_unit.py +140 -0
  802. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/tui_helpers.py +70 -0
  803. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__init__.py +6 -0
  804. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/__init__.cpython-312.pyc +0 -0
  805. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/activity.cpython-312.pyc +0 -0
  806. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/app.cpython-312.pyc +0 -0
  807. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/choice_mixin.cpython-312.pyc +0 -0
  808. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/clipboard_mixin.cpython-312.pyc +0 -0
  809. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/helpers.cpython-312.pyc +0 -0
  810. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/input.cpython-312.pyc +0 -0
  811. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/overlays.cpython-312.pyc +0 -0
  812. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/panels.cpython-312.pyc +0 -0
  813. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/parser.cpython-312.pyc +0 -0
  814. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/render_activity.cpython-312.pyc +0 -0
  815. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/render_frame.cpython-312.pyc +0 -0
  816. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/render_input.cpython-312.pyc +0 -0
  817. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/render_status.cpython-312.pyc +0 -0
  818. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/render_todo.cpython-312.pyc +0 -0
  819. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/renderer.cpython-312.pyc +0 -0
  820. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/state.cpython-312.pyc +0 -0
  821. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/terminal_mixin.cpython-312.pyc +0 -0
  822. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/text_prompt_mixin.cpython-312.pyc +0 -0
  823. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/activity.py +64 -0
  824. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/app.py +650 -0
  825. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/choice_mixin.py +59 -0
  826. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/clipboard_mixin.py +83 -0
  827. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/helpers.py +144 -0
  828. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/input.py +370 -0
  829. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/overlays.py +157 -0
  830. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/panels.py +347 -0
  831. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/parser.py +531 -0
  832. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/render_activity.py +217 -0
  833. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/render_frame.py +615 -0
  834. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/render_input.py +154 -0
  835. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/render_status.py +266 -0
  836. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/render_todo.py +79 -0
  837. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/renderer.py +24 -0
  838. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/state.py +254 -0
  839. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/terminal_mixin.py +95 -0
  840. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/text_prompt_mixin.py +49 -0
  841. build/lib/build/lib/build/lib/build/lib/build/lib/tests/__init__.py +0 -0
  842. build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/__init__.cpython-312.pyc +0 -0
  843. build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/conftest.cpython-312.pyc +0 -0
  844. build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_frame_advanced.cpython-312.pyc +0 -0
  845. build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_frame_rendering.cpython-312.pyc +0 -0
  846. build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_headless.cpython-312.pyc +0 -0
  847. build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_input_advanced.cpython-312.pyc +0 -0
  848. build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_input_handling.cpython-312.pyc +0 -0
  849. build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_output_paste.cpython-312.pyc +0 -0
  850. build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_output_stream.cpython-312.pyc +0 -0
  851. build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_output_tools.cpython-312.pyc +0 -0
  852. build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_output_tree.cpython-312.pyc +0 -0
  853. build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_paste_handling.cpython-312.pyc +0 -0
  854. build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_startup.cpython-312.pyc +0 -0
  855. build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_status_activity.cpython-312.pyc +0 -0
  856. build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_status_layout.cpython-312.pyc +0 -0
  857. build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_terminal_input.cpython-312.pyc +0 -0
  858. build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_terminal_panels.cpython-312.pyc +0 -0
  859. build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_win32_paste_drain_integration.cpython-312.pyc +0 -0
  860. build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_win32_paste_drain_regression.cpython-312.pyc +0 -0
  861. build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_win32_paste_drain_unit.cpython-312.pyc +0 -0
  862. build/lib/build/lib/build/lib/build/lib/build/lib/tests/__pycache__/tui_helpers.cpython-312.pyc +0 -0
  863. build/lib/build/lib/build/lib/build/lib/build/lib/tests/conftest.py +4 -0
  864. build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_frame_advanced.py +293 -0
  865. build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_frame_rendering.py +429 -0
  866. build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_headless.py +71 -0
  867. build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_input_advanced.py +446 -0
  868. build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_input_handling.py +459 -0
  869. build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_output_paste.py +242 -0
  870. build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_output_stream.py +130 -0
  871. build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_output_tools.py +271 -0
  872. build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_output_tree.py +378 -0
  873. build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_paste_handling.py +364 -0
  874. build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_startup.py +60 -0
  875. build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_status_activity.py +640 -0
  876. build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_status_layout.py +145 -0
  877. build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_terminal_input.py +437 -0
  878. build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_terminal_panels.py +439 -0
  879. build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_win32_paste_drain_integration.py +154 -0
  880. build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_win32_paste_drain_regression.py +495 -0
  881. build/lib/build/lib/build/lib/build/lib/build/lib/tests/test_win32_paste_drain_unit.py +140 -0
  882. build/lib/build/lib/build/lib/build/lib/build/lib/tests/tui_helpers.py +70 -0
  883. build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__init__.py +6 -0
  884. build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/__init__.cpython-312.pyc +0 -0
  885. build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/activity.cpython-312.pyc +0 -0
  886. build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/app.cpython-312.pyc +0 -0
  887. build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/choice_mixin.cpython-312.pyc +0 -0
  888. build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/clipboard_mixin.cpython-312.pyc +0 -0
  889. build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/helpers.cpython-312.pyc +0 -0
  890. build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/input.cpython-312.pyc +0 -0
  891. build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/overlays.cpython-312.pyc +0 -0
  892. build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/panels.cpython-312.pyc +0 -0
  893. build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/parser.cpython-312.pyc +0 -0
  894. build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/render_activity.cpython-312.pyc +0 -0
  895. build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/render_frame.cpython-312.pyc +0 -0
  896. build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/render_input.cpython-312.pyc +0 -0
  897. build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/render_status.cpython-312.pyc +0 -0
  898. build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/render_todo.cpython-312.pyc +0 -0
  899. build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/renderer.cpython-312.pyc +0 -0
  900. build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/state.cpython-312.pyc +0 -0
  901. build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/terminal_mixin.cpython-312.pyc +0 -0
  902. build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/text_prompt_mixin.cpython-312.pyc +0 -0
  903. build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/activity.py +64 -0
  904. build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/app.py +650 -0
  905. build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/choice_mixin.py +59 -0
  906. build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/clipboard_mixin.py +83 -0
  907. build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/helpers.py +144 -0
  908. build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/input.py +370 -0
  909. build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/overlays.py +157 -0
  910. build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/panels.py +347 -0
  911. build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/parser.py +531 -0
  912. build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/render_activity.py +217 -0
  913. build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/render_frame.py +615 -0
  914. build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/render_input.py +154 -0
  915. build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/render_status.py +266 -0
  916. build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/render_todo.py +79 -0
  917. build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/renderer.py +24 -0
  918. build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/state.py +254 -0
  919. build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/terminal_mixin.py +95 -0
  920. build/lib/build/lib/build/lib/build/lib/build/lib/voidx_cli/text_prompt_mixin.py +49 -0
  921. build/lib/build/lib/build/lib/build/lib/tests/__init__.py +0 -0
  922. build/lib/build/lib/build/lib/build/lib/tests/__pycache__/__init__.cpython-312.pyc +0 -0
  923. build/lib/build/lib/build/lib/build/lib/tests/__pycache__/conftest.cpython-312.pyc +0 -0
  924. build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_frame_advanced.cpython-312.pyc +0 -0
  925. build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_frame_rendering.cpython-312.pyc +0 -0
  926. build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_headless.cpython-312.pyc +0 -0
  927. build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_input_advanced.cpython-312.pyc +0 -0
  928. build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_input_handling.cpython-312.pyc +0 -0
  929. build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_output_paste.cpython-312.pyc +0 -0
  930. build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_output_stream.cpython-312.pyc +0 -0
  931. build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_output_tools.cpython-312.pyc +0 -0
  932. build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_output_tree.cpython-312.pyc +0 -0
  933. build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_paste_handling.cpython-312.pyc +0 -0
  934. build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_startup.cpython-312.pyc +0 -0
  935. build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_status_activity.cpython-312.pyc +0 -0
  936. build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_status_layout.cpython-312.pyc +0 -0
  937. build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_terminal_input.cpython-312.pyc +0 -0
  938. build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_terminal_panels.cpython-312.pyc +0 -0
  939. build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_win32_paste_drain_integration.cpython-312.pyc +0 -0
  940. build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_win32_paste_drain_regression.cpython-312.pyc +0 -0
  941. build/lib/build/lib/build/lib/build/lib/tests/__pycache__/test_win32_paste_drain_unit.cpython-312.pyc +0 -0
  942. build/lib/build/lib/build/lib/build/lib/tests/__pycache__/tui_helpers.cpython-312.pyc +0 -0
  943. build/lib/build/lib/build/lib/build/lib/tests/conftest.py +4 -0
  944. build/lib/build/lib/build/lib/build/lib/tests/test_frame_advanced.py +293 -0
  945. build/lib/build/lib/build/lib/build/lib/tests/test_frame_rendering.py +429 -0
  946. build/lib/build/lib/build/lib/build/lib/tests/test_headless.py +71 -0
  947. build/lib/build/lib/build/lib/build/lib/tests/test_input_advanced.py +446 -0
  948. build/lib/build/lib/build/lib/build/lib/tests/test_input_handling.py +459 -0
  949. build/lib/build/lib/build/lib/build/lib/tests/test_output_paste.py +242 -0
  950. build/lib/build/lib/build/lib/build/lib/tests/test_output_stream.py +130 -0
  951. build/lib/build/lib/build/lib/build/lib/tests/test_output_tools.py +271 -0
  952. build/lib/build/lib/build/lib/build/lib/tests/test_output_tree.py +378 -0
  953. build/lib/build/lib/build/lib/build/lib/tests/test_paste_handling.py +364 -0
  954. build/lib/build/lib/build/lib/build/lib/tests/test_startup.py +60 -0
  955. build/lib/build/lib/build/lib/build/lib/tests/test_status_activity.py +640 -0
  956. build/lib/build/lib/build/lib/build/lib/tests/test_status_layout.py +145 -0
  957. build/lib/build/lib/build/lib/build/lib/tests/test_terminal_input.py +437 -0
  958. build/lib/build/lib/build/lib/build/lib/tests/test_terminal_panels.py +439 -0
  959. build/lib/build/lib/build/lib/build/lib/tests/test_win32_paste_drain_integration.py +154 -0
  960. build/lib/build/lib/build/lib/build/lib/tests/test_win32_paste_drain_regression.py +495 -0
  961. build/lib/build/lib/build/lib/build/lib/tests/test_win32_paste_drain_unit.py +140 -0
  962. build/lib/build/lib/build/lib/build/lib/tests/tui_helpers.py +70 -0
  963. build/lib/build/lib/build/lib/build/lib/voidx_cli/__init__.py +6 -0
  964. build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/__init__.cpython-312.pyc +0 -0
  965. build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/activity.cpython-312.pyc +0 -0
  966. build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/app.cpython-312.pyc +0 -0
  967. build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/choice_mixin.cpython-312.pyc +0 -0
  968. build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/clipboard_mixin.cpython-312.pyc +0 -0
  969. build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/helpers.cpython-312.pyc +0 -0
  970. build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/input.cpython-312.pyc +0 -0
  971. build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/overlays.cpython-312.pyc +0 -0
  972. build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/panels.cpython-312.pyc +0 -0
  973. build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/parser.cpython-312.pyc +0 -0
  974. build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/render_activity.cpython-312.pyc +0 -0
  975. build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/render_frame.cpython-312.pyc +0 -0
  976. build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/render_input.cpython-312.pyc +0 -0
  977. build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/render_status.cpython-312.pyc +0 -0
  978. build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/render_todo.cpython-312.pyc +0 -0
  979. build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/renderer.cpython-312.pyc +0 -0
  980. build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/state.cpython-312.pyc +0 -0
  981. build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/terminal_mixin.cpython-312.pyc +0 -0
  982. build/lib/build/lib/build/lib/build/lib/voidx_cli/__pycache__/text_prompt_mixin.cpython-312.pyc +0 -0
  983. build/lib/build/lib/build/lib/build/lib/voidx_cli/activity.py +64 -0
  984. build/lib/build/lib/build/lib/build/lib/voidx_cli/app.py +650 -0
  985. build/lib/build/lib/build/lib/build/lib/voidx_cli/choice_mixin.py +59 -0
  986. build/lib/build/lib/build/lib/build/lib/voidx_cli/clipboard_mixin.py +83 -0
  987. build/lib/build/lib/build/lib/build/lib/voidx_cli/helpers.py +144 -0
  988. build/lib/build/lib/build/lib/build/lib/voidx_cli/input.py +370 -0
  989. build/lib/build/lib/build/lib/build/lib/voidx_cli/overlays.py +157 -0
  990. build/lib/build/lib/build/lib/build/lib/voidx_cli/panels.py +347 -0
  991. build/lib/build/lib/build/lib/build/lib/voidx_cli/parser.py +531 -0
  992. build/lib/build/lib/build/lib/build/lib/voidx_cli/render_activity.py +217 -0
  993. build/lib/build/lib/build/lib/build/lib/voidx_cli/render_frame.py +615 -0
  994. build/lib/build/lib/build/lib/build/lib/voidx_cli/render_input.py +154 -0
  995. build/lib/build/lib/build/lib/build/lib/voidx_cli/render_status.py +266 -0
  996. build/lib/build/lib/build/lib/build/lib/voidx_cli/render_todo.py +79 -0
  997. build/lib/build/lib/build/lib/build/lib/voidx_cli/renderer.py +24 -0
  998. build/lib/build/lib/build/lib/build/lib/voidx_cli/state.py +254 -0
  999. build/lib/build/lib/build/lib/build/lib/voidx_cli/terminal_mixin.py +95 -0
  1000. build/lib/build/lib/build/lib/build/lib/voidx_cli/text_prompt_mixin.py +49 -0
  1001. build/lib/build/lib/build/lib/tests/__init__.py +0 -0
  1002. build/lib/build/lib/build/lib/tests/__pycache__/__init__.cpython-312.pyc +0 -0
  1003. build/lib/build/lib/build/lib/tests/__pycache__/conftest.cpython-312.pyc +0 -0
  1004. build/lib/build/lib/build/lib/tests/__pycache__/test_frame_advanced.cpython-312.pyc +0 -0
  1005. build/lib/build/lib/build/lib/tests/__pycache__/test_frame_rendering.cpython-312.pyc +0 -0
  1006. build/lib/build/lib/build/lib/tests/__pycache__/test_headless.cpython-312.pyc +0 -0
  1007. build/lib/build/lib/build/lib/tests/__pycache__/test_input_advanced.cpython-312.pyc +0 -0
  1008. build/lib/build/lib/build/lib/tests/__pycache__/test_input_handling.cpython-312.pyc +0 -0
  1009. build/lib/build/lib/build/lib/tests/__pycache__/test_output_paste.cpython-312.pyc +0 -0
  1010. build/lib/build/lib/build/lib/tests/__pycache__/test_output_stream.cpython-312.pyc +0 -0
  1011. build/lib/build/lib/build/lib/tests/__pycache__/test_output_tools.cpython-312.pyc +0 -0
  1012. build/lib/build/lib/build/lib/tests/__pycache__/test_output_tree.cpython-312.pyc +0 -0
  1013. build/lib/build/lib/build/lib/tests/__pycache__/test_paste_handling.cpython-312.pyc +0 -0
  1014. build/lib/build/lib/build/lib/tests/__pycache__/test_startup.cpython-312.pyc +0 -0
  1015. build/lib/build/lib/build/lib/tests/__pycache__/test_status_activity.cpython-312.pyc +0 -0
  1016. build/lib/build/lib/build/lib/tests/__pycache__/test_status_layout.cpython-312.pyc +0 -0
  1017. build/lib/build/lib/build/lib/tests/__pycache__/test_terminal_input.cpython-312.pyc +0 -0
  1018. build/lib/build/lib/build/lib/tests/__pycache__/test_terminal_panels.cpython-312.pyc +0 -0
  1019. build/lib/build/lib/build/lib/tests/__pycache__/test_win32_paste_drain_integration.cpython-312.pyc +0 -0
  1020. build/lib/build/lib/build/lib/tests/__pycache__/test_win32_paste_drain_regression.cpython-312.pyc +0 -0
  1021. build/lib/build/lib/build/lib/tests/__pycache__/test_win32_paste_drain_unit.cpython-312.pyc +0 -0
  1022. build/lib/build/lib/build/lib/tests/__pycache__/tui_helpers.cpython-312.pyc +0 -0
  1023. build/lib/build/lib/build/lib/tests/conftest.py +4 -0
  1024. build/lib/build/lib/build/lib/tests/test_frame_advanced.py +293 -0
  1025. build/lib/build/lib/build/lib/tests/test_frame_rendering.py +429 -0
  1026. build/lib/build/lib/build/lib/tests/test_headless.py +71 -0
  1027. build/lib/build/lib/build/lib/tests/test_input_advanced.py +446 -0
  1028. build/lib/build/lib/build/lib/tests/test_input_handling.py +459 -0
  1029. build/lib/build/lib/build/lib/tests/test_output_paste.py +242 -0
  1030. build/lib/build/lib/build/lib/tests/test_output_stream.py +130 -0
  1031. build/lib/build/lib/build/lib/tests/test_output_tools.py +271 -0
  1032. build/lib/build/lib/build/lib/tests/test_output_tree.py +378 -0
  1033. build/lib/build/lib/build/lib/tests/test_paste_handling.py +364 -0
  1034. build/lib/build/lib/build/lib/tests/test_startup.py +60 -0
  1035. build/lib/build/lib/build/lib/tests/test_status_activity.py +640 -0
  1036. build/lib/build/lib/build/lib/tests/test_status_layout.py +145 -0
  1037. build/lib/build/lib/build/lib/tests/test_terminal_input.py +437 -0
  1038. build/lib/build/lib/build/lib/tests/test_terminal_panels.py +439 -0
  1039. build/lib/build/lib/build/lib/tests/test_win32_paste_drain_integration.py +154 -0
  1040. build/lib/build/lib/build/lib/tests/test_win32_paste_drain_regression.py +495 -0
  1041. build/lib/build/lib/build/lib/tests/test_win32_paste_drain_unit.py +140 -0
  1042. build/lib/build/lib/build/lib/tests/tui_helpers.py +70 -0
  1043. build/lib/build/lib/build/lib/voidx_cli/__init__.py +6 -0
  1044. build/lib/build/lib/build/lib/voidx_cli/__pycache__/__init__.cpython-312.pyc +0 -0
  1045. build/lib/build/lib/build/lib/voidx_cli/__pycache__/activity.cpython-312.pyc +0 -0
  1046. build/lib/build/lib/build/lib/voidx_cli/__pycache__/app.cpython-312.pyc +0 -0
  1047. build/lib/build/lib/build/lib/voidx_cli/__pycache__/choice_mixin.cpython-312.pyc +0 -0
  1048. build/lib/build/lib/build/lib/voidx_cli/__pycache__/clipboard_mixin.cpython-312.pyc +0 -0
  1049. build/lib/build/lib/build/lib/voidx_cli/__pycache__/helpers.cpython-312.pyc +0 -0
  1050. build/lib/build/lib/build/lib/voidx_cli/__pycache__/input.cpython-312.pyc +0 -0
  1051. build/lib/build/lib/build/lib/voidx_cli/__pycache__/overlays.cpython-312.pyc +0 -0
  1052. build/lib/build/lib/build/lib/voidx_cli/__pycache__/panels.cpython-312.pyc +0 -0
  1053. build/lib/build/lib/build/lib/voidx_cli/__pycache__/parser.cpython-312.pyc +0 -0
  1054. build/lib/build/lib/build/lib/voidx_cli/__pycache__/render_activity.cpython-312.pyc +0 -0
  1055. build/lib/build/lib/build/lib/voidx_cli/__pycache__/render_frame.cpython-312.pyc +0 -0
  1056. build/lib/build/lib/build/lib/voidx_cli/__pycache__/render_input.cpython-312.pyc +0 -0
  1057. build/lib/build/lib/build/lib/voidx_cli/__pycache__/render_status.cpython-312.pyc +0 -0
  1058. build/lib/build/lib/build/lib/voidx_cli/__pycache__/render_todo.cpython-312.pyc +0 -0
  1059. build/lib/build/lib/build/lib/voidx_cli/__pycache__/renderer.cpython-312.pyc +0 -0
  1060. build/lib/build/lib/build/lib/voidx_cli/__pycache__/state.cpython-312.pyc +0 -0
  1061. build/lib/build/lib/build/lib/voidx_cli/__pycache__/terminal_mixin.cpython-312.pyc +0 -0
  1062. build/lib/build/lib/build/lib/voidx_cli/__pycache__/text_prompt_mixin.cpython-312.pyc +0 -0
  1063. build/lib/build/lib/build/lib/voidx_cli/activity.py +64 -0
  1064. build/lib/build/lib/build/lib/voidx_cli/app.py +650 -0
  1065. build/lib/build/lib/build/lib/voidx_cli/choice_mixin.py +59 -0
  1066. build/lib/build/lib/build/lib/voidx_cli/clipboard_mixin.py +83 -0
  1067. build/lib/build/lib/build/lib/voidx_cli/helpers.py +144 -0
  1068. build/lib/build/lib/build/lib/voidx_cli/input.py +370 -0
  1069. build/lib/build/lib/build/lib/voidx_cli/overlays.py +157 -0
  1070. build/lib/build/lib/build/lib/voidx_cli/panels.py +347 -0
  1071. build/lib/build/lib/build/lib/voidx_cli/parser.py +531 -0
  1072. build/lib/build/lib/build/lib/voidx_cli/render_activity.py +217 -0
  1073. build/lib/build/lib/build/lib/voidx_cli/render_frame.py +615 -0
  1074. build/lib/build/lib/build/lib/voidx_cli/render_input.py +154 -0
  1075. build/lib/build/lib/build/lib/voidx_cli/render_status.py +266 -0
  1076. build/lib/build/lib/build/lib/voidx_cli/render_todo.py +79 -0
  1077. build/lib/build/lib/build/lib/voidx_cli/renderer.py +24 -0
  1078. build/lib/build/lib/build/lib/voidx_cli/state.py +254 -0
  1079. build/lib/build/lib/build/lib/voidx_cli/terminal_mixin.py +95 -0
  1080. build/lib/build/lib/build/lib/voidx_cli/text_prompt_mixin.py +49 -0
  1081. build/lib/build/lib/tests/__init__.py +0 -0
  1082. build/lib/build/lib/tests/__pycache__/__init__.cpython-312.pyc +0 -0
  1083. build/lib/build/lib/tests/__pycache__/conftest.cpython-312.pyc +0 -0
  1084. build/lib/build/lib/tests/__pycache__/test_frame_advanced.cpython-312.pyc +0 -0
  1085. build/lib/build/lib/tests/__pycache__/test_frame_rendering.cpython-312.pyc +0 -0
  1086. build/lib/build/lib/tests/__pycache__/test_headless.cpython-312.pyc +0 -0
  1087. build/lib/build/lib/tests/__pycache__/test_input_advanced.cpython-312.pyc +0 -0
  1088. build/lib/build/lib/tests/__pycache__/test_input_handling.cpython-312.pyc +0 -0
  1089. build/lib/build/lib/tests/__pycache__/test_output_paste.cpython-312.pyc +0 -0
  1090. build/lib/build/lib/tests/__pycache__/test_output_stream.cpython-312.pyc +0 -0
  1091. build/lib/build/lib/tests/__pycache__/test_output_tools.cpython-312.pyc +0 -0
  1092. build/lib/build/lib/tests/__pycache__/test_output_tree.cpython-312.pyc +0 -0
  1093. build/lib/build/lib/tests/__pycache__/test_paste_handling.cpython-312.pyc +0 -0
  1094. build/lib/build/lib/tests/__pycache__/test_startup.cpython-312.pyc +0 -0
  1095. build/lib/build/lib/tests/__pycache__/test_status_activity.cpython-312.pyc +0 -0
  1096. build/lib/build/lib/tests/__pycache__/test_status_layout.cpython-312.pyc +0 -0
  1097. build/lib/build/lib/tests/__pycache__/test_terminal_input.cpython-312.pyc +0 -0
  1098. build/lib/build/lib/tests/__pycache__/test_terminal_panels.cpython-312.pyc +0 -0
  1099. build/lib/build/lib/tests/__pycache__/test_win32_paste_drain_integration.cpython-312.pyc +0 -0
  1100. build/lib/build/lib/tests/__pycache__/test_win32_paste_drain_regression.cpython-312.pyc +0 -0
  1101. build/lib/build/lib/tests/__pycache__/test_win32_paste_drain_unit.cpython-312.pyc +0 -0
  1102. build/lib/build/lib/tests/__pycache__/tui_helpers.cpython-312.pyc +0 -0
  1103. build/lib/build/lib/tests/conftest.py +4 -0
  1104. build/lib/build/lib/tests/test_frame_advanced.py +293 -0
  1105. build/lib/build/lib/tests/test_frame_rendering.py +429 -0
  1106. build/lib/build/lib/tests/test_headless.py +71 -0
  1107. build/lib/build/lib/tests/test_input_advanced.py +446 -0
  1108. build/lib/build/lib/tests/test_input_handling.py +459 -0
  1109. build/lib/build/lib/tests/test_output_paste.py +242 -0
  1110. build/lib/build/lib/tests/test_output_stream.py +130 -0
  1111. build/lib/build/lib/tests/test_output_tools.py +271 -0
  1112. build/lib/build/lib/tests/test_output_tree.py +378 -0
  1113. build/lib/build/lib/tests/test_paste_handling.py +364 -0
  1114. build/lib/build/lib/tests/test_startup.py +60 -0
  1115. build/lib/build/lib/tests/test_status_activity.py +640 -0
  1116. build/lib/build/lib/tests/test_status_layout.py +145 -0
  1117. build/lib/build/lib/tests/test_terminal_input.py +437 -0
  1118. build/lib/build/lib/tests/test_terminal_panels.py +439 -0
  1119. build/lib/build/lib/tests/test_win32_paste_drain_integration.py +154 -0
  1120. build/lib/build/lib/tests/test_win32_paste_drain_regression.py +495 -0
  1121. build/lib/build/lib/tests/test_win32_paste_drain_unit.py +140 -0
  1122. build/lib/build/lib/tests/tui_helpers.py +70 -0
  1123. build/lib/build/lib/voidx_cli/__init__.py +6 -0
  1124. build/lib/build/lib/voidx_cli/__pycache__/__init__.cpython-312.pyc +0 -0
  1125. build/lib/build/lib/voidx_cli/__pycache__/activity.cpython-312.pyc +0 -0
  1126. build/lib/build/lib/voidx_cli/__pycache__/app.cpython-312.pyc +0 -0
  1127. build/lib/build/lib/voidx_cli/__pycache__/choice_mixin.cpython-312.pyc +0 -0
  1128. build/lib/build/lib/voidx_cli/__pycache__/clipboard_mixin.cpython-312.pyc +0 -0
  1129. build/lib/build/lib/voidx_cli/__pycache__/helpers.cpython-312.pyc +0 -0
  1130. build/lib/build/lib/voidx_cli/__pycache__/input.cpython-312.pyc +0 -0
  1131. build/lib/build/lib/voidx_cli/__pycache__/overlays.cpython-312.pyc +0 -0
  1132. build/lib/build/lib/voidx_cli/__pycache__/panels.cpython-312.pyc +0 -0
  1133. build/lib/build/lib/voidx_cli/__pycache__/parser.cpython-312.pyc +0 -0
  1134. build/lib/build/lib/voidx_cli/__pycache__/render_activity.cpython-312.pyc +0 -0
  1135. build/lib/build/lib/voidx_cli/__pycache__/render_frame.cpython-312.pyc +0 -0
  1136. build/lib/build/lib/voidx_cli/__pycache__/render_input.cpython-312.pyc +0 -0
  1137. build/lib/build/lib/voidx_cli/__pycache__/render_status.cpython-312.pyc +0 -0
  1138. build/lib/build/lib/voidx_cli/__pycache__/render_todo.cpython-312.pyc +0 -0
  1139. build/lib/build/lib/voidx_cli/__pycache__/renderer.cpython-312.pyc +0 -0
  1140. build/lib/build/lib/voidx_cli/__pycache__/state.cpython-312.pyc +0 -0
  1141. build/lib/build/lib/voidx_cli/__pycache__/terminal_mixin.cpython-312.pyc +0 -0
  1142. build/lib/build/lib/voidx_cli/__pycache__/text_prompt_mixin.cpython-312.pyc +0 -0
  1143. build/lib/build/lib/voidx_cli/activity.py +64 -0
  1144. build/lib/build/lib/voidx_cli/app.py +650 -0
  1145. build/lib/build/lib/voidx_cli/choice_mixin.py +59 -0
  1146. build/lib/build/lib/voidx_cli/clipboard_mixin.py +83 -0
  1147. build/lib/build/lib/voidx_cli/helpers.py +144 -0
  1148. build/lib/build/lib/voidx_cli/input.py +370 -0
  1149. build/lib/build/lib/voidx_cli/overlays.py +157 -0
  1150. build/lib/build/lib/voidx_cli/panels.py +347 -0
  1151. build/lib/build/lib/voidx_cli/parser.py +531 -0
  1152. build/lib/build/lib/voidx_cli/render_activity.py +217 -0
  1153. build/lib/build/lib/voidx_cli/render_frame.py +615 -0
  1154. build/lib/build/lib/voidx_cli/render_input.py +154 -0
  1155. build/lib/build/lib/voidx_cli/render_status.py +266 -0
  1156. build/lib/build/lib/voidx_cli/render_todo.py +79 -0
  1157. build/lib/build/lib/voidx_cli/renderer.py +24 -0
  1158. build/lib/build/lib/voidx_cli/state.py +254 -0
  1159. build/lib/build/lib/voidx_cli/terminal_mixin.py +95 -0
  1160. build/lib/build/lib/voidx_cli/text_prompt_mixin.py +49 -0
  1161. build/lib/tests/__init__.py +0 -0
  1162. build/lib/tests/__pycache__/__init__.cpython-312.pyc +0 -0
  1163. build/lib/tests/__pycache__/conftest.cpython-312.pyc +0 -0
  1164. build/lib/tests/__pycache__/test_frame_advanced.cpython-312.pyc +0 -0
  1165. build/lib/tests/__pycache__/test_frame_rendering.cpython-312.pyc +0 -0
  1166. build/lib/tests/__pycache__/test_headless.cpython-312.pyc +0 -0
  1167. build/lib/tests/__pycache__/test_input_advanced.cpython-312.pyc +0 -0
  1168. build/lib/tests/__pycache__/test_input_handling.cpython-312.pyc +0 -0
  1169. build/lib/tests/__pycache__/test_output_paste.cpython-312.pyc +0 -0
  1170. build/lib/tests/__pycache__/test_output_stream.cpython-312.pyc +0 -0
  1171. build/lib/tests/__pycache__/test_output_tools.cpython-312.pyc +0 -0
  1172. build/lib/tests/__pycache__/test_output_tree.cpython-312.pyc +0 -0
  1173. build/lib/tests/__pycache__/test_paste_handling.cpython-312.pyc +0 -0
  1174. build/lib/tests/__pycache__/test_startup.cpython-312.pyc +0 -0
  1175. build/lib/tests/__pycache__/test_status_activity.cpython-312.pyc +0 -0
  1176. build/lib/tests/__pycache__/test_status_layout.cpython-312.pyc +0 -0
  1177. build/lib/tests/__pycache__/test_terminal_input.cpython-312.pyc +0 -0
  1178. build/lib/tests/__pycache__/test_terminal_panels.cpython-312.pyc +0 -0
  1179. build/lib/tests/__pycache__/test_win32_paste_drain_integration.cpython-312.pyc +0 -0
  1180. build/lib/tests/__pycache__/test_win32_paste_drain_regression.cpython-312.pyc +0 -0
  1181. build/lib/tests/__pycache__/test_win32_paste_drain_unit.cpython-312.pyc +0 -0
  1182. build/lib/tests/__pycache__/tui_helpers.cpython-312.pyc +0 -0
  1183. build/lib/tests/conftest.py +4 -0
  1184. build/lib/tests/test_frame_advanced.py +293 -0
  1185. build/lib/tests/test_frame_rendering.py +429 -0
  1186. build/lib/tests/test_headless.py +71 -0
  1187. build/lib/tests/test_input_advanced.py +446 -0
  1188. build/lib/tests/test_input_handling.py +459 -0
  1189. build/lib/tests/test_output_paste.py +242 -0
  1190. build/lib/tests/test_output_stream.py +130 -0
  1191. build/lib/tests/test_output_tools.py +271 -0
  1192. build/lib/tests/test_output_tree.py +378 -0
  1193. build/lib/tests/test_paste_handling.py +364 -0
  1194. build/lib/tests/test_startup.py +60 -0
  1195. build/lib/tests/test_status_activity.py +640 -0
  1196. build/lib/tests/test_status_layout.py +145 -0
  1197. build/lib/tests/test_terminal_input.py +437 -0
  1198. build/lib/tests/test_terminal_panels.py +439 -0
  1199. build/lib/tests/test_win32_paste_drain_integration.py +154 -0
  1200. build/lib/tests/test_win32_paste_drain_regression.py +495 -0
  1201. build/lib/tests/test_win32_paste_drain_unit.py +140 -0
  1202. build/lib/tests/tui_helpers.py +70 -0
  1203. build/lib/voidx_cli/__init__.py +6 -0
  1204. build/lib/voidx_cli/__pycache__/__init__.cpython-312.pyc +0 -0
  1205. build/lib/voidx_cli/__pycache__/activity.cpython-312.pyc +0 -0
  1206. build/lib/voidx_cli/__pycache__/app.cpython-312.pyc +0 -0
  1207. build/lib/voidx_cli/__pycache__/choice_mixin.cpython-312.pyc +0 -0
  1208. build/lib/voidx_cli/__pycache__/clipboard_mixin.cpython-312.pyc +0 -0
  1209. build/lib/voidx_cli/__pycache__/helpers.cpython-312.pyc +0 -0
  1210. build/lib/voidx_cli/__pycache__/input.cpython-312.pyc +0 -0
  1211. build/lib/voidx_cli/__pycache__/overlays.cpython-312.pyc +0 -0
  1212. build/lib/voidx_cli/__pycache__/panels.cpython-312.pyc +0 -0
  1213. build/lib/voidx_cli/__pycache__/parser.cpython-312.pyc +0 -0
  1214. build/lib/voidx_cli/__pycache__/render_activity.cpython-312.pyc +0 -0
  1215. build/lib/voidx_cli/__pycache__/render_frame.cpython-312.pyc +0 -0
  1216. build/lib/voidx_cli/__pycache__/render_input.cpython-312.pyc +0 -0
  1217. build/lib/voidx_cli/__pycache__/render_status.cpython-312.pyc +0 -0
  1218. build/lib/voidx_cli/__pycache__/render_todo.cpython-312.pyc +0 -0
  1219. build/lib/voidx_cli/__pycache__/renderer.cpython-312.pyc +0 -0
  1220. build/lib/voidx_cli/__pycache__/state.cpython-312.pyc +0 -0
  1221. build/lib/voidx_cli/__pycache__/terminal_mixin.cpython-312.pyc +0 -0
  1222. build/lib/voidx_cli/__pycache__/text_prompt_mixin.cpython-312.pyc +0 -0
  1223. build/lib/voidx_cli/activity.py +64 -0
  1224. build/lib/voidx_cli/app.py +650 -0
  1225. build/lib/voidx_cli/choice_mixin.py +59 -0
  1226. build/lib/voidx_cli/clipboard_mixin.py +83 -0
  1227. build/lib/voidx_cli/helpers.py +144 -0
  1228. build/lib/voidx_cli/input.py +370 -0
  1229. build/lib/voidx_cli/overlays.py +157 -0
  1230. build/lib/voidx_cli/panels.py +347 -0
  1231. build/lib/voidx_cli/parser.py +531 -0
  1232. build/lib/voidx_cli/render_activity.py +217 -0
  1233. build/lib/voidx_cli/render_frame.py +615 -0
  1234. build/lib/voidx_cli/render_input.py +154 -0
  1235. build/lib/voidx_cli/render_status.py +266 -0
  1236. build/lib/voidx_cli/render_todo.py +79 -0
  1237. build/lib/voidx_cli/renderer.py +24 -0
  1238. build/lib/voidx_cli/state.py +254 -0
  1239. build/lib/voidx_cli/terminal_mixin.py +95 -0
  1240. build/lib/voidx_cli/text_prompt_mixin.py +49 -0
  1241. tests/__init__.py +0 -0
  1242. tests/__pycache__/__init__.cpython-312.pyc +0 -0
  1243. tests/__pycache__/conftest.cpython-312.pyc +0 -0
  1244. tests/__pycache__/test_frame_advanced.cpython-312.pyc +0 -0
  1245. tests/__pycache__/test_frame_rendering.cpython-312.pyc +0 -0
  1246. tests/__pycache__/test_headless.cpython-312.pyc +0 -0
  1247. tests/__pycache__/test_input_advanced.cpython-312.pyc +0 -0
  1248. tests/__pycache__/test_input_handling.cpython-312.pyc +0 -0
  1249. tests/__pycache__/test_output_paste.cpython-312.pyc +0 -0
  1250. tests/__pycache__/test_output_stream.cpython-312.pyc +0 -0
  1251. tests/__pycache__/test_output_tools.cpython-312.pyc +0 -0
  1252. tests/__pycache__/test_output_tree.cpython-312.pyc +0 -0
  1253. tests/__pycache__/test_paste_handling.cpython-312.pyc +0 -0
  1254. tests/__pycache__/test_startup.cpython-312.pyc +0 -0
  1255. tests/__pycache__/test_status_activity.cpython-312.pyc +0 -0
  1256. tests/__pycache__/test_status_layout.cpython-312.pyc +0 -0
  1257. tests/__pycache__/test_terminal_input.cpython-312.pyc +0 -0
  1258. tests/__pycache__/test_terminal_panels.cpython-312.pyc +0 -0
  1259. tests/__pycache__/test_win32_paste_drain_integration.cpython-312.pyc +0 -0
  1260. tests/__pycache__/test_win32_paste_drain_regression.cpython-312.pyc +0 -0
  1261. tests/__pycache__/test_win32_paste_drain_unit.cpython-312.pyc +0 -0
  1262. tests/__pycache__/tui_helpers.cpython-312.pyc +0 -0
  1263. tests/conftest.py +4 -0
  1264. tests/test_frame_advanced.py +293 -0
  1265. tests/test_frame_rendering.py +429 -0
  1266. tests/test_headless.py +71 -0
  1267. tests/test_input_advanced.py +446 -0
  1268. tests/test_input_handling.py +459 -0
  1269. tests/test_output_paste.py +242 -0
  1270. tests/test_output_stream.py +130 -0
  1271. tests/test_output_tools.py +271 -0
  1272. tests/test_output_tree.py +378 -0
  1273. tests/test_paste_handling.py +364 -0
  1274. tests/test_startup.py +60 -0
  1275. tests/test_status_activity.py +640 -0
  1276. tests/test_status_layout.py +145 -0
  1277. tests/test_terminal_input.py +437 -0
  1278. tests/test_terminal_panels.py +439 -0
  1279. tests/test_win32_paste_drain_integration.py +154 -0
  1280. tests/test_win32_paste_drain_regression.py +495 -0
  1281. tests/test_win32_paste_drain_unit.py +140 -0
  1282. tests/tui_helpers.py +70 -0
  1283. voidx_cli/__init__.py +6 -0
  1284. voidx_cli/__pycache__/__init__.cpython-312.pyc +0 -0
  1285. voidx_cli/__pycache__/activity.cpython-312.pyc +0 -0
  1286. voidx_cli/__pycache__/app.cpython-312.pyc +0 -0
  1287. voidx_cli/__pycache__/choice_mixin.cpython-312.pyc +0 -0
  1288. voidx_cli/__pycache__/clipboard_mixin.cpython-312.pyc +0 -0
  1289. voidx_cli/__pycache__/helpers.cpython-312.pyc +0 -0
  1290. voidx_cli/__pycache__/input.cpython-312.pyc +0 -0
  1291. voidx_cli/__pycache__/overlays.cpython-312.pyc +0 -0
  1292. voidx_cli/__pycache__/panels.cpython-312.pyc +0 -0
  1293. voidx_cli/__pycache__/parser.cpython-312.pyc +0 -0
  1294. voidx_cli/__pycache__/render_activity.cpython-312.pyc +0 -0
  1295. voidx_cli/__pycache__/render_frame.cpython-312.pyc +0 -0
  1296. voidx_cli/__pycache__/render_input.cpython-312.pyc +0 -0
  1297. voidx_cli/__pycache__/render_status.cpython-312.pyc +0 -0
  1298. voidx_cli/__pycache__/render_todo.cpython-312.pyc +0 -0
  1299. voidx_cli/__pycache__/renderer.cpython-312.pyc +0 -0
  1300. voidx_cli/__pycache__/state.cpython-312.pyc +0 -0
  1301. voidx_cli/__pycache__/terminal_mixin.cpython-312.pyc +0 -0
  1302. voidx_cli/__pycache__/text_prompt_mixin.cpython-312.pyc +0 -0
  1303. voidx_cli/activity.py +64 -0
  1304. voidx_cli/app.py +650 -0
  1305. voidx_cli/choice_mixin.py +59 -0
  1306. voidx_cli/clipboard_mixin.py +83 -0
  1307. voidx_cli/helpers.py +144 -0
  1308. voidx_cli/input.py +370 -0
  1309. voidx_cli/overlays.py +157 -0
  1310. voidx_cli/panels.py +347 -0
  1311. voidx_cli/parser.py +531 -0
  1312. voidx_cli/render_activity.py +217 -0
  1313. voidx_cli/render_frame.py +615 -0
  1314. voidx_cli/render_input.py +154 -0
  1315. voidx_cli/render_status.py +266 -0
  1316. voidx_cli/render_todo.py +79 -0
  1317. voidx_cli/renderer.py +24 -0
  1318. voidx_cli/state.py +254 -0
  1319. voidx_cli/terminal_mixin.py +95 -0
  1320. voidx_cli/text_prompt_mixin.py +49 -0
  1321. voidx_cli-3.5.2.dist-info/METADATA +9 -0
  1322. voidx_cli-3.5.2.dist-info/RECORD +1324 -0
  1323. voidx_cli-3.5.2.dist-info/WHEEL +5 -0
  1324. 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
+