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,459 @@
1
+ from tui_helpers import * # noqa: F403
2
+
3
+ import asyncio
4
+ import contextlib
5
+ import os
6
+ import sys
7
+ from types import SimpleNamespace
8
+
9
+ import pytest
10
+ from rich.console import Console
11
+
12
+ from voidx.config import Settings
13
+ from voidx.ui.commands import COMMANDS
14
+ from voidx_cli import PureTui
15
+
16
+
17
+ def _write_skill(workspace, name: str, description: str) -> None:
18
+ skill_dir = workspace / ".voidx" / "skills" / name
19
+ skill_dir.mkdir(parents=True)
20
+ (skill_dir / "SKILL.md").write_text(
21
+ f"---\nname: {name}\ndescription: {description}\n---\nSkill body",
22
+ encoding="utf-8",
23
+ )
24
+
25
+
26
+ def test_choice_enter_submits_selected_value(tmp_path):
27
+ tui = _tui(tmp_path)
28
+ tui._active_choice = [("y", "y", ""), ("n", "n", "")]
29
+ tui._choice_selected = 1
30
+
31
+ tui._process_input(b"\r")
32
+
33
+ assert tui._choice_queue.get_nowait() == "n"
34
+ assert tui._queue.empty()
35
+
36
+
37
+ def test_choice_quick_key_finishes_single_character_value(tmp_path):
38
+ tui = _tui(tmp_path)
39
+ tui._active_choice = [("y", "y", ""), ("n", "n", "")]
40
+
41
+ tui._process_input(b"n")
42
+
43
+ assert tui._choice_queue.get_nowait() == "n"
44
+ assert tui._queue.empty()
45
+
46
+
47
+ def test_choice_text_does_not_select_by_non_ascii_label_prefix(tmp_path):
48
+ tui = _tui(tmp_path)
49
+ tui._active_choice = [("zh", "zh", ""), ("en", "en", "")]
50
+ tui._choice_selected = 1
51
+
52
+ tui._process_input("中".encode("utf-8"))
53
+
54
+ assert tui._choice_selected == 1
55
+ assert tui._choice_queue.empty()
56
+ assert tui._queue.empty()
57
+
58
+
59
+ def test_alt_key_does_not_trigger_choice_quick_select(tmp_path):
60
+ tui = _tui(tmp_path)
61
+ tui._active_choice = [("y", "y", ""), ("n", "n", "")]
62
+
63
+ changed = tui._process_input(b"\x1bn")
64
+
65
+ assert changed is False
66
+ assert tui._choice_queue.empty()
67
+ assert tui._queue.empty()
68
+
69
+
70
+ def test_ask_choice_accepts_permission_details(tmp_path):
71
+ tui = _tui(tmp_path)
72
+
73
+ async def run_prompt():
74
+ task = asyncio.create_task(
75
+ tui.ask_choice(
76
+ "Allow tool use?",
77
+ ["y", "n"],
78
+ details=[{"name": "edit", "pattern": "src/app.py"}],
79
+ )
80
+ )
81
+ await asyncio.sleep(0)
82
+ assert tui._choice_details == [{"name": "edit", "pattern": "src/app.py"}]
83
+ tui._process_input(b"\r")
84
+ return await task
85
+
86
+ assert asyncio.run(run_prompt()) == "y"
87
+
88
+
89
+ def test_ask_choice_timeout_returns_none_and_clears_prompt(tmp_path):
90
+ tui = _tui(tmp_path)
91
+
92
+ async def run_prompt():
93
+ return await tui.ask_choice(
94
+ "Allow tool use?",
95
+ ["y", "n"],
96
+ timeout=0.001,
97
+ )
98
+
99
+ assert asyncio.run(run_prompt()) is None
100
+ assert tui._active_choice is None
101
+
102
+
103
+ def test_ask_choice_ignores_stale_queue_values_after_timeout(tmp_path):
104
+ tui = _tui(tmp_path)
105
+
106
+ async def run_prompt():
107
+ return await tui.ask_choice(
108
+ "Allow tool use?",
109
+ ["y", "n"],
110
+ timeout=0.001,
111
+ )
112
+
113
+ assert asyncio.run(run_prompt()) is None
114
+ tui._choice_queue.put_nowait("stale")
115
+ assert asyncio.run(run_prompt()) is None
116
+
117
+
118
+ def test_ask_text_timeout_returns_none_and_restores_input(tmp_path):
119
+ tui = _tui(tmp_path)
120
+ tui._input_lines = ["draft"]
121
+ tui._cursor_col = 5
122
+
123
+ async def run_prompt():
124
+ return await tui.ask_text("Name?", default="default", timeout=0.001)
125
+
126
+ assert asyncio.run(run_prompt()) is None
127
+ assert tui._get_input_text() == "draft"
128
+
129
+
130
+ def test_ask_text_ignores_stale_queue_values_after_timeout(tmp_path):
131
+ tui = _tui(tmp_path)
132
+
133
+ async def run_prompt():
134
+ return await tui.ask_text("Name?", default="default", timeout=0.001)
135
+
136
+ assert asyncio.run(run_prompt()) is None
137
+ tui._text_queue.put_nowait("stale")
138
+ assert asyncio.run(run_prompt()) is None
139
+
140
+
141
+
142
+ def test_text_prompt_expands_paste_tokens(tmp_path):
143
+ """Pasted content in the clarify/text-prompt input must be expanded to
144
+ actual text, not submitted as a literal [Pasted text #N ...] token."""
145
+ tui = _tui(tmp_path)
146
+ tui._active_text_prompt = "Question?"
147
+ display = tui._register_text_paste("hello world")
148
+ tui._input_lines = [display]
149
+ tui._cursor_col = len(display)
150
+
151
+ tui._submit_text_prompt()
152
+
153
+ result = tui._text_queue.get_nowait()
154
+ # Paste tokens should be expanded to actual content, not left as
155
+ # literal [Pasted text #N ...] tokens.
156
+ assert "[Pasted text" not in result
157
+ assert "hello world" in result
158
+ # <pasted> wrapper tags must be stripped — clarify answers are plain text.
159
+ assert "<pasted>" not in result
160
+ assert "</pasted>" not in result
161
+ # Paste entries should be cleaned up after submit.
162
+ assert tui._paste_entries == []
163
+
164
+ def test_command_panel_enter_accepts_selected_command_without_queueing(tmp_path):
165
+ tui = _tui(
166
+ tmp_path,
167
+ commands=[
168
+ ("/mode", "Choose interaction mode"),
169
+ ("/model", "Switch model"),
170
+ ],
171
+ )
172
+ tui._input_lines = ["/mo"]
173
+ tui._cursor_col = 3
174
+ tui._update_command_panel()
175
+ tui._command_selected = 1
176
+
177
+ tui._process_input(b"\r")
178
+
179
+ assert tui._get_input_text() == "/model"
180
+ assert tui._queue.empty()
181
+
182
+ tui._process_input(b"\r")
183
+
184
+ assert tui._queue.get_nowait() == "/model"
185
+
186
+
187
+ def test_filtered_commands_only_match_current_prefix(tmp_path):
188
+ tui = _tui(tmp_path)
189
+ tui._input_lines = ["/approval on-failure now"]
190
+ tui._cursor_col = len("/approval on-failure now")
191
+
192
+ assert tui._filtered_commands() == []
193
+
194
+
195
+ def test_attachment_panel_accepts_workspace_file(tmp_path):
196
+ file_path = tmp_path / "src" / "main.py"
197
+ file_path.parent.mkdir()
198
+ file_path.write_text("print('hi')\n", encoding="utf-8")
199
+ tui = _tui(tmp_path)
200
+ tui._input_lines = ["@src"]
201
+ tui._cursor_col = len("@src")
202
+ tui._update_input_panels()
203
+
204
+ assert tui._attachment_panel_active()
205
+ panel = "\n".join(tui._render_attachment_panel(80))
206
+ assert "src/" in panel
207
+
208
+ # Select src/ directory — drills into it
209
+ tui._process_input(b"\r")
210
+ assert tui._get_input_text() == "@src/"
211
+ assert tui._attachment_panel_active()
212
+
213
+ # Now select main.py inside src/
214
+ tui._process_input(b"\r")
215
+ assert tui._get_input_text() == "@src/main.py "
216
+ assert tui._queue.empty()
217
+
218
+
219
+
220
+
221
+ def test_attachment_matches_are_cached_per_token(tmp_path, monkeypatch):
222
+ from voidx.ui.tools.file_picker import FileCandidate
223
+
224
+ calls: list[str] = []
225
+
226
+ def fake_list_file_candidates(_workspace: str, query: str, limit: int = 8):
227
+ calls.append(query)
228
+ return [FileCandidate("src/main.py", "file", 1)]
229
+
230
+ monkeypatch.setattr(
231
+ "voidx_cli.panels.list_file_candidates",
232
+ fake_list_file_candidates,
233
+ )
234
+ tui = _tui(tmp_path)
235
+ tui._input_lines = ["@src"]
236
+ tui._cursor_col = len("@src")
237
+
238
+ assert tui._attachment_matches()
239
+ assert tui._attachment_matches()
240
+
241
+ tui._insert_text("x")
242
+ assert tui._attachment_matches()
243
+
244
+ assert calls == ["src", "srcx"]
245
+
246
+
247
+ def test_attachment_panel_quotes_paths_with_spaces(tmp_path):
248
+ file_path = tmp_path / "notes" / "my file.txt"
249
+ file_path.parent.mkdir()
250
+ file_path.write_text("hello\n", encoding="utf-8")
251
+ tui = _tui(tmp_path)
252
+ tui._input_lines = ["@notes"]
253
+ tui._cursor_col = len("@notes")
254
+ tui._update_input_panels()
255
+
256
+ # Select notes/ directory
257
+ assert tui._accept_attachment_panel_selection()
258
+ assert tui._get_input_text() == "@notes/"
259
+
260
+ # Now filter for "my" inside notes/
261
+ tui._input_lines = ["@notes/my"]
262
+ tui._cursor_col = len("@notes/my")
263
+ tui._update_input_panels()
264
+ assert tui._accept_attachment_panel_selection()
265
+ assert tui._get_input_text() == '@"notes/my file.txt" '
266
+
267
+
268
+
269
+ def test_attachment_panel_arrow_selection_accepts_selected_file(tmp_path):
270
+ (tmp_path / "file0.txt").write_text("0", encoding="utf-8")
271
+ (tmp_path / "file1.txt").write_text("1", encoding="utf-8")
272
+ # Ensure deterministic mtime ordering: file0 newer than file1,
273
+ # so file0.txt is index 0 and file1.txt is index 1 after mtime sort.
274
+ file0_mtime = (tmp_path / "file0.txt").stat().st_mtime
275
+ (tmp_path / "file1.txt").touch()
276
+ os.utime(tmp_path / "file1.txt", (file0_mtime - 2, file0_mtime - 2))
277
+
278
+ tui = _tui(tmp_path)
279
+ tui._input_lines = ["@file"]
280
+ tui._cursor_col = len("@file")
281
+ tui._update_input_panels()
282
+
283
+ tui._process_input(b"\x1b[B")
284
+ tui._process_input(b"\r")
285
+
286
+ # Down arrow moves selection from index 0 (file0.txt) to index 1 (file1.txt).
287
+ assert tui._get_input_text() == "@file1.txt "
288
+ assert tui._queue.empty()
289
+
290
+
291
+ def test_skill_panel_accepts_project_skill(tmp_path):
292
+ _write_skill(tmp_path, "docs", "docs helper")
293
+ Settings(str(tmp_path)).set_skill_auto("docs", True)
294
+ tui = _tui(tmp_path)
295
+ tui._input_lines = ["#do"]
296
+ tui._cursor_col = len("#do")
297
+ tui._update_input_panels()
298
+
299
+ assert tui._skill_panel_active()
300
+ panel = "\n".join(tui._render_skill_panel(100))
301
+ assert "docs" in panel
302
+ assert "[auto]" in panel
303
+ assert "project" in panel
304
+ assert "docs helper" in panel
305
+
306
+ tui._process_input(b"\r")
307
+
308
+ assert tui._get_input_text() == "$docs "
309
+ assert tui._queue.empty()
310
+
311
+
312
+ def test_skill_panel_arrow_selection_accepts_selected_skill(tmp_path):
313
+ _write_skill(tmp_path, "docs", "docs helper")
314
+ _write_skill(tmp_path, "sql-review", "Reviews SQL")
315
+ tui = _tui(tmp_path)
316
+ tui._input_lines = ["#"]
317
+ tui._cursor_col = len("#")
318
+ tui._update_input_panels()
319
+
320
+ tui._process_input(b"\x1b[B")
321
+ tui._process_input(b"\r")
322
+
323
+ assert tui._get_input_text() == "$sql-review "
324
+ assert tui._queue.empty()
325
+
326
+
327
+ def test_skill_panel_escape_hides_until_text_changes(tmp_path):
328
+ _write_skill(tmp_path, "docs", "docs helper")
329
+ tui = _tui(tmp_path)
330
+ tui._input_lines = ["#do"]
331
+ tui._cursor_col = len("#do")
332
+ tui._update_input_panels()
333
+
334
+ assert tui._skill_panel_active()
335
+
336
+ tui._process_input(b"\x1b")
337
+
338
+ assert not tui._skill_panel_active()
339
+ assert tui._get_input_text() == "#do"
340
+
341
+ tui._process_input(b"\x7f")
342
+ tui._process_input(b"o")
343
+
344
+ assert tui._get_input_text() == "#do"
345
+ assert tui._skill_panel_active()
346
+
347
+
348
+ def test_attachment_panel_escape_hides_without_accepting(tmp_path):
349
+ file_path = tmp_path / "src" / "main.py"
350
+ file_path.parent.mkdir()
351
+ file_path.write_text("print('hi')\n", encoding="utf-8")
352
+ tui = _tui(tmp_path)
353
+ tui._input_lines = ["@src"]
354
+ tui._cursor_col = len("@src")
355
+ tui._update_input_panels()
356
+
357
+ assert tui._attachment_panel_active()
358
+
359
+ tui._process_input(b"\x1b")
360
+
361
+ assert not tui._attachment_panel_active()
362
+ assert tui._get_input_text() == "@src"
363
+
364
+
365
+ def test_attachment_panel_suppression_clears_after_text_changes(tmp_path):
366
+ file_path = tmp_path / "src" / "main.py"
367
+ file_path.parent.mkdir()
368
+ file_path.write_text("print('hi')\n", encoding="utf-8")
369
+ tui = _tui(tmp_path)
370
+ tui._input_lines = ["@src"]
371
+ tui._cursor_col = len("@src")
372
+ tui._update_input_panels()
373
+
374
+ assert tui._attachment_panel_active()
375
+ tui._process_input(b"\x1b")
376
+ assert not tui._attachment_panel_active()
377
+
378
+ tui._process_input(b"\x7f")
379
+ tui._process_input(b"c")
380
+
381
+ assert tui._get_input_text() == "@src"
382
+ assert tui._attachment_panel_active()
383
+
384
+
385
+ def test_regular_enter_submits_input(tmp_path):
386
+ tui = _tui(tmp_path)
387
+ tui._input_lines = ["hello"]
388
+ tui._cursor_col = 5
389
+
390
+ tui._process_input(b"\r")
391
+
392
+ assert tui._get_input_text() == ""
393
+ assert tui._queue.get_nowait() == "hello"
394
+
395
+
396
+ @pytest.mark.asyncio
397
+ async def test_tui_busy_guide_bypasses_submit_queue(tmp_path):
398
+ tui = _tui(tmp_path)
399
+ requests: list[dict[str, str]] = []
400
+
401
+ async def handle_request(request):
402
+ requests.append(request)
403
+
404
+ tui.set_external_command_handler(handle_request)
405
+ tui._busy = True
406
+ tui._input_lines = ["/guide use TypeScript"]
407
+ tui._cursor_col = len("/guide use TypeScript")
408
+
409
+ changed = tui._process_input(b"\r")
410
+ await asyncio.sleep(0)
411
+
412
+ assert changed is True
413
+ assert requests == [{"kind": "guide", "text": "use TypeScript"}]
414
+ assert tui._queue.empty()
415
+ assert tui._get_input_text() == ""
416
+
417
+
418
+ @pytest.mark.asyncio
419
+ async def test_tui_busy_clear_cancels_current_submit_and_runs_clear_next(tmp_path):
420
+ tui = _tui(tmp_path)
421
+ started = asyncio.Event()
422
+ cancelled = asyncio.Event()
423
+ clear_seen = asyncio.Event()
424
+ submitted: list[str] = []
425
+
426
+ async def on_submit(text: str) -> bool:
427
+ submitted.append(text)
428
+ if text == "slow":
429
+ started.set()
430
+ try:
431
+ await asyncio.Event().wait()
432
+ except asyncio.CancelledError:
433
+ cancelled.set()
434
+ raise
435
+ if text == "/clear":
436
+ clear_seen.set()
437
+ return True
438
+
439
+ consumer = asyncio.create_task(tui._consume(on_submit))
440
+ try:
441
+ tui._queue.put_nowait("slow")
442
+ await started.wait()
443
+ tui._queue.put_nowait("stale prompt")
444
+ tui._input_lines = ["/clear"]
445
+ tui._cursor_col = len("/clear")
446
+
447
+ changed = tui._process_input(b"\r")
448
+
449
+ assert changed is True
450
+ await asyncio.wait_for(cancelled.wait(), timeout=1)
451
+ await asyncio.wait_for(clear_seen.wait(), timeout=1)
452
+
453
+ assert submitted == ["slow", "/clear"]
454
+ assert tui._notice == "Clearing current turn..."
455
+ finally:
456
+ tui._queue.put_nowait(None)
457
+ await asyncio.wait_for(consumer, timeout=1)
458
+
459
+
@@ -0,0 +1,242 @@
1
+ from tui_helpers import * # noqa: F403
2
+
3
+ import sys
4
+
5
+ from rich.cells import cell_len
6
+ from rich.console import Console
7
+ from rich.text import Text
8
+
9
+ from voidx.ui.output.dock import dock
10
+ from voidx.ui.output.dock.formatting import _text_from_line
11
+
12
+
13
+ def test_safe_flush_line_count_stops_at_unsettled_stream_after_finished_tool():
14
+ test_dock = dock
15
+ test_dock.begin_capture()
16
+ try:
17
+ test_dock.start_turn("demo")
18
+ tool = test_dock.start_tool(
19
+ "Reading",
20
+ 'file_path="x.py"',
21
+ tool_name="read",
22
+ raw_args={"file_path": "x.py"},
23
+ )
24
+ test_dock.finish_tool_node(tool, "Read", 0.1, True)
25
+ test_dock.append_tool_result("result")
26
+ test_dock.set_stream("● final answer")
27
+
28
+ lines = test_dock.tree.render(100)
29
+ limit = test_dock.safe_flush_line_count(100, 0)
30
+
31
+ assert 0 < limit < len(lines)
32
+ assert "Read" in "\n".join(lines[:limit])
33
+ assert "final answer" in "\n".join(lines[limit:])
34
+ finally:
35
+ test_dock.deactivate()
36
+ test_dock.reset()
37
+
38
+
39
+ def test_safe_flush_line_count_requires_settled_ancestors():
40
+ test_dock = dock
41
+ test_dock.begin_capture()
42
+ parent = test_dock.tree.new_node(
43
+ test_dock.tree.root,
44
+ node_type="subagent",
45
+ header="explore agent",
46
+ collapsed=False,
47
+ )
48
+ child = test_dock.tree.new_node(
49
+ parent,
50
+ node_type="assistant",
51
+ header="found auth flow",
52
+ collapsed=False,
53
+ )
54
+ test_dock.mark_node_unsettled(parent)
55
+ test_dock.mark_node_settled(child)
56
+
57
+ assert test_dock.safe_flush_line_count(100, 0) == 0
58
+
59
+ test_dock.mark_node_settled(parent)
60
+ assert test_dock.safe_flush_line_count(100, 0) == len(test_dock.tree.render(100))
61
+
62
+
63
+ def test_non_tty_flush_committed_prints_settled_prefix_before_idle(tmp_path, monkeypatch):
64
+ class FakeStdout:
65
+ def __init__(self) -> None:
66
+ self.text = ""
67
+
68
+ def write(self, value: str) -> int:
69
+ self.text += value
70
+ return len(value)
71
+
72
+ def flush(self) -> None:
73
+ pass
74
+
75
+ fake_stdout = FakeStdout()
76
+ monkeypatch.setattr(sys, "stdout", fake_stdout)
77
+
78
+ test_dock = dock
79
+ test_dock.begin_capture()
80
+ test_dock.start_turn("hello")
81
+
82
+ tui = _tui(tmp_path)
83
+ tui._tty = False
84
+ tui._console = Console(file=None, force_terminal=False, width=80, height=24, _environ={})
85
+
86
+ tui._flush_committed()
87
+
88
+ assert "hello" in fake_stdout.text
89
+ assert tui._committed_line_count > 0
90
+
91
+
92
+ def test_dump_transcript_log_writes_plain_text(tmp_path):
93
+ tui = _tui(tmp_path)
94
+
95
+ dock.tree.new_node(
96
+ parent=dock.tree.root,
97
+ node_type="turn",
98
+ header="[bold white]❯[/] hello world",
99
+ body_lines=["this is a test message"],
100
+ collapsed=False,
101
+ )
102
+ dock.tree.new_node(
103
+ parent=dock.tree.root,
104
+ node_type="message",
105
+ header="[#EBCB8B]●[/#EBCB8B] response",
106
+ body_lines=["some output here"],
107
+ collapsed=False,
108
+ )
109
+
110
+ from voidx_cli import _dump_transcript_log
111
+
112
+ log_path = tmp_path / ".voidx" / "transcript.log"
113
+ assert not log_path.exists()
114
+
115
+ _dump_transcript_log(tmp_path, dock.tree)
116
+
117
+ assert log_path.exists()
118
+ content = log_path.read_text()
119
+ assert "hello world" in content
120
+ assert "this is a test message" in content
121
+ assert "some output here" in content
122
+
123
+
124
+ def test_start_turn_renders_pasted_block_without_tag_text():
125
+ """Pasted blocks should be Markdown-rendered, <pasted> tags must not appear."""
126
+ test_dock = dock
127
+ test_dock.begin_capture()
128
+ try:
129
+ text = "fix this bug\n<pasted>\ndef foo():\n pass\n</pasted>\nplease help"
130
+ test_dock.start_turn(text)
131
+
132
+ plain_lines = [_rich_plain(line) for line in test_dock.tree.render(100)]
133
+ joined = "\n".join(plain_lines)
134
+
135
+ assert "<pasted>" not in joined
136
+ assert "</pasted>" not in joined
137
+ assert "def foo():" in joined
138
+ assert "fix this bug" in joined
139
+ assert "please help" in joined
140
+ finally:
141
+ test_dock.deactivate()
142
+ test_dock.reset()
143
+
144
+
145
+ def test_start_turn_pasted_content_stripped_of_tags():
146
+ """Pasted content is rendered as plain text without <pasted> wrapper tags.
147
+
148
+ No ANSI_LINE_PREFIX markers — content is escape()'d plain text.
149
+ """
150
+ test_dock = dock
151
+ test_dock.begin_capture()
152
+ try:
153
+ text = (
154
+ "<pasted>\n"
155
+ "Here is some code:\n\n"
156
+ "```python\n"
157
+ "def foo():\n"
158
+ " pass\n"
159
+ "```\n"
160
+ "</pasted>"
161
+ )
162
+ test_dock.start_turn(text)
163
+
164
+ turn_node = test_dock._current_turn
165
+ assert turn_node is not None
166
+ all_lines = [turn_node.header, *turn_node.body_lines]
167
+ joined = "\n".join(all_lines)
168
+
169
+ assert "<pasted>" not in joined
170
+ assert "</pasted>" not in joined
171
+ assert "def foo():" in joined
172
+ assert "pass" in joined
173
+ # No ANSI markers — plain text rendering
174
+ assert not any(
175
+ line.startswith("\x00voidx-ansi\x00")
176
+ for line in all_lines
177
+ )
178
+ finally:
179
+ test_dock.deactivate()
180
+ test_dock.reset()
181
+
182
+
183
+ def test_start_turn_plain_text_unchanged_without_pasted_tags():
184
+ """Messages without <pasted> tags should behave exactly as before."""
185
+ test_dock = dock
186
+ test_dock.begin_capture()
187
+ try:
188
+ test_dock.start_turn("hello world")
189
+
190
+ turn_node = test_dock._current_turn
191
+ assert turn_node is not None
192
+ assert "hello world" in _rich_plain(turn_node.header)
193
+ assert turn_node.body_lines == []
194
+ finally:
195
+ test_dock.deactivate()
196
+ test_dock.reset()
197
+
198
+
199
+ def test_start_turn_empty_pasted_block_at_start_has_nonempty_header():
200
+ """Empty pasted block at start should not leave header as trailing space."""
201
+ test_dock = dock
202
+ test_dock.begin_capture()
203
+ try:
204
+ text = "<pasted>\n\n</pasted>\nreal content here"
205
+ test_dock.start_turn(text)
206
+
207
+ turn_node = test_dock._current_turn
208
+ assert turn_node is not None
209
+ header_plain = _rich_plain(turn_node.header)
210
+ assert header_plain.strip() != ""
211
+ assert "real content here" in header_plain or any(
212
+ "real content here" in _rich_plain(line) for line in turn_node.body_lines
213
+ )
214
+ finally:
215
+ test_dock.deactivate()
216
+ test_dock.reset()
217
+
218
+
219
+ def test_start_turn_pasted_content_rendered_as_part_of_user_message():
220
+ """Pasted content is rendered as part of the user message as plain text,
221
+ without <pasted> wrapper tags or separate segment handling."""
222
+ test_dock = dock
223
+ test_dock.begin_capture()
224
+ try:
225
+ text = "fix this bug\n<pasted>\ndef foo():\n pass\n</pasted>\nplease help"
226
+ test_dock.start_turn(text)
227
+
228
+ turn_node = test_dock._current_turn
229
+ assert turn_node is not None
230
+ all_lines = [turn_node.header, *turn_node.body_lines]
231
+ joined_raw = "\n".join(all_lines)
232
+
233
+ # <pasted> tags must not appear
234
+ assert "<pasted>" not in joined_raw
235
+ assert "</pasted>" not in joined_raw
236
+ # Content from both pasted and non-pasted portions is present
237
+ assert "fix this bug" in joined_raw
238
+ assert "def foo():" in joined_raw
239
+ assert "please help" in joined_raw
240
+ finally:
241
+ test_dock.deactivate()
242
+ test_dock.reset()