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,615 @@
1
+ """Terminal frame rendering helpers."""
2
+
3
+ from __future__ import annotations
4
+
5
+ import io
6
+ import shutil
7
+ import sys
8
+ import time
9
+
10
+ from rich.cells import cell_len
11
+ from rich.console import Console, Group
12
+ from rich.text import Text
13
+
14
+ from voidx.ui.output.dock import dock
15
+ from voidx.ui.output.dock.formatting import _text_from_line
16
+ from .helpers import _rendered_row_count
17
+ from .state import RenderStats
18
+
19
+
20
+ class _FrameRendererMixin:
21
+ def _frame_width(self) -> int:
22
+ return max((self._console.width or 80) - 1, 20)
23
+
24
+ def _render_frame(self) -> None:
25
+ """Render to terminal: capture Rich output, write with cursor control."""
26
+ started_at = time.perf_counter()
27
+ width = self._frame_width()
28
+ term_height = shutil.get_terminal_size().lines if self._tty else None
29
+ render_failed = False
30
+ clear_screen = False
31
+ if self._tty:
32
+ term_height = term_height or shutil.get_terminal_size().lines
33
+ force_full = render_failed
34
+ if (
35
+ self._prev_frame_width != 0
36
+ and (
37
+ self._prev_frame_width != width
38
+ or self._prev_frame_term_height != term_height
39
+ )
40
+ ):
41
+ self._invalidate_frame_cache()
42
+ force_full = True
43
+ if dock.consume_clear_screen_request():
44
+ self._committed_line_count = 0
45
+ self._visible_committed_rows = 0
46
+ self._invalidate_frame_cache()
47
+ force_full = True
48
+ clear_screen = True
49
+ try:
50
+ renderable = self._render_impl(height=term_height)
51
+ except Exception as exc:
52
+ import traceback
53
+
54
+ render_failed = True
55
+ self._pending_tb = traceback.format_exc()
56
+ self._last_error = f"Render error: {exc}"
57
+ renderable = Group(Text(f"Render error: {exc}", style="red"))
58
+
59
+ ansi = self._capture_renderable(renderable, width)
60
+
61
+ if self._tty:
62
+ if clear_screen:
63
+ sys.stdout.write("\x1b[2J\x1b[H")
64
+ frame_rows = _rendered_row_count(ansi)
65
+ bottom_ansi = self._capture_renderable(self._render_bottom_impl(), width)
66
+ bottom_rows = _rendered_row_count(bottom_ansi)
67
+ busy_activity_rows = 0 if render_failed else self._busy_activity_row_count(width)
68
+ scrolled = self._make_room_for_frame(frame_rows, term_height)
69
+ if scrolled:
70
+ self._invalidate_frame_cache()
71
+ force_full = True
72
+ start_row = max(self._visible_committed_rows + 1, 1)
73
+ lines = ansi.splitlines()
74
+ prev_lines = self._prev_frame_lines
75
+ if (
76
+ not force_full
77
+ and prev_lines is not None
78
+ and self._prev_frame_start_row == start_row
79
+ ):
80
+ changed_lines, strategy = self._render_diff(start_row, prev_lines, lines)
81
+ else:
82
+ changed_lines, strategy = self._render_full(start_row, lines)
83
+ self._last_frame_rows = frame_rows
84
+ self._last_frame_start_row = start_row
85
+ self._last_bottom_rows = bottom_rows
86
+ self._last_bottom_start_row = start_row + frame_rows - bottom_rows
87
+ self._last_busy_activity_rows = busy_activity_rows
88
+ if busy_activity_rows > 0:
89
+ thinking_stream_rows = len(self._active_thinking_stream_elements(width))
90
+ self._last_busy_activity_start_row = (
91
+ start_row
92
+ + frame_rows
93
+ - bottom_rows
94
+ - thinking_stream_rows
95
+ - busy_activity_rows
96
+ )
97
+ else:
98
+ self._last_busy_activity_start_row = 0
99
+ self._position_input_cursor(frame_rows)
100
+ self._has_rendered_frame = True
101
+ self._prev_frame_lines = lines
102
+ self._prev_frame_start_row = start_row
103
+ self._prev_frame_width = width
104
+ self._prev_frame_term_height = term_height
105
+ self._render_stats = RenderStats(
106
+ total_lines=len(lines),
107
+ changed_lines=changed_lines,
108
+ render_ms=(time.perf_counter() - started_at) * 1000,
109
+ strategy=strategy,
110
+ )
111
+ sys.stdout.flush()
112
+ if self._pending_tb:
113
+ sys.stderr.write(self._pending_tb)
114
+ sys.stderr.flush()
115
+ self._pending_tb = ""
116
+ else:
117
+ return
118
+
119
+ def _render_full(self, start_row: int, lines: list[str]) -> tuple[int, str]:
120
+ sys.stdout.write(f"\x1b[{start_row};1H")
121
+ sys.stdout.write("\x1b[J")
122
+ sys.stdout.write("\n".join(lines))
123
+ return len(lines), "full"
124
+
125
+ def _render_diff(
126
+ self,
127
+ start_row: int,
128
+ prev_lines: list[str],
129
+ new_lines: list[str],
130
+ ) -> tuple[int, str]:
131
+ total = max(len(prev_lines), len(new_lines))
132
+ changed = [
133
+ index
134
+ for index in range(total)
135
+ if index >= len(prev_lines)
136
+ or index >= len(new_lines)
137
+ or prev_lines[index] != new_lines[index]
138
+ ]
139
+ if total and len(changed) / total > 0.8:
140
+ return self._render_full(start_row, new_lines)
141
+
142
+ wrote_tail_clear = False
143
+ for index in changed:
144
+ row = start_row + index
145
+ sys.stdout.write(f"\x1b[{row};1H")
146
+ if index >= len(new_lines):
147
+ sys.stdout.write("\x1b[J")
148
+ wrote_tail_clear = True
149
+ break
150
+ sys.stdout.write("\x1b[K")
151
+ sys.stdout.write(new_lines[index])
152
+ return len(changed), "diff-tail-clear" if wrote_tail_clear else "diff"
153
+
154
+ def _invalidate_frame_cache(self) -> None:
155
+ self._prev_frame_lines = None
156
+ self._prev_frame_start_row = 1
157
+ self._prev_frame_width = 0
158
+ self._prev_frame_term_height = None
159
+
160
+ def _make_room_for_frame(self, frame_rows: int, term_height: int) -> bool:
161
+ visible = max(0, min(self._visible_committed_rows, term_height))
162
+ if visible != self._visible_committed_rows:
163
+ self._visible_committed_rows = visible
164
+ overlap = visible + frame_rows - term_height
165
+ if overlap <= 0:
166
+ return False
167
+ scroll_rows = min(overlap, visible)
168
+ if scroll_rows <= 0:
169
+ self._visible_committed_rows = 0
170
+ return False
171
+ sys.stdout.write(f"\x1b[{term_height};1H")
172
+ sys.stdout.write("\n" * scroll_rows)
173
+ self._visible_committed_rows = visible - scroll_rows
174
+ return True
175
+
176
+ def _render_input_region(self) -> None:
177
+ if not self._tty or not self._has_rendered_frame or self._last_bottom_rows <= 0:
178
+ self._render_frame()
179
+ return
180
+
181
+ width = self._frame_width()
182
+ try:
183
+ ansi = self._capture_renderable(self._render_bottom_impl(), width)
184
+ except Exception:
185
+ self._render_frame()
186
+ return
187
+
188
+ bottom_rows = _rendered_row_count(ansi)
189
+ # Use the stored bottom start row (computed from frame start + offset)
190
+ # rather than re-deriving from terminal height, so it works correctly
191
+ # when the frame is top-aligned.
192
+ start_row = self._last_bottom_start_row
193
+ if (
194
+ bottom_rows != self._last_bottom_rows
195
+ or start_row != self._last_bottom_start_row
196
+ ):
197
+ self._render_frame()
198
+ return
199
+
200
+ sys.stdout.write(f"\x1b[{start_row};1H")
201
+ sys.stdout.write("\x1b[J")
202
+ sys.stdout.write(ansi)
203
+ self._position_input_cursor(self._last_frame_rows)
204
+ self._has_rendered_frame = True
205
+ sys.stdout.flush()
206
+
207
+ def _render_choice_selection_region(self) -> bool:
208
+ if (
209
+ not self._tty
210
+ or self._active_choice is None
211
+ or not self._has_rendered_frame
212
+ or self._last_bottom_rows <= 0
213
+ ):
214
+ return False
215
+
216
+ width = self._frame_width()
217
+ try:
218
+ ansi = self._capture_renderable(self._render_bottom_impl(), width)
219
+ except Exception:
220
+ return False
221
+
222
+ bottom_rows = _rendered_row_count(ansi)
223
+ if bottom_rows != self._last_bottom_rows:
224
+ return False
225
+
226
+ start_row = self._last_bottom_start_row
227
+ if start_row <= 0:
228
+ return False
229
+
230
+ lines = ansi.splitlines()
231
+ if len(lines) != bottom_rows:
232
+ return False
233
+
234
+ for offset, line in enumerate(lines):
235
+ sys.stdout.write(f"\x1b[{start_row + offset};1H")
236
+ sys.stdout.write(line)
237
+ sys.stdout.write("\x1b[K")
238
+ self._position_input_cursor(self._last_frame_rows)
239
+ self._has_rendered_frame = True
240
+ sys.stdout.flush()
241
+ return True
242
+
243
+ def _render_busy_activity_tick(self) -> bool:
244
+ if (
245
+ not self._tty
246
+ or not self._busy
247
+ or not self._has_rendered_frame
248
+ or self._last_busy_activity_rows <= 0
249
+ or self._last_busy_activity_start_row <= 0
250
+ ):
251
+ return False
252
+
253
+ width = self._frame_width()
254
+ try:
255
+ ansi = self._capture_renderable(
256
+ Group(*self._render_busy_activity_elements(width)),
257
+ width,
258
+ )
259
+ except Exception:
260
+ return False
261
+
262
+ rows = _rendered_row_count(ansi)
263
+ if rows != self._last_busy_activity_rows:
264
+ return False
265
+
266
+ lines = ansi.splitlines()
267
+ if len(lines) != rows:
268
+ return False
269
+
270
+ start_row = self._last_busy_activity_start_row
271
+ for offset, line in enumerate(lines):
272
+ sys.stdout.write(f"\x1b[{start_row + offset};1H")
273
+ sys.stdout.write(line)
274
+ sys.stdout.write("\x1b[K")
275
+ frame_end_row = self._last_frame_start_row + self._last_frame_rows - 1
276
+ sys.stdout.write(f"\x1b[{max(frame_end_row, 1)};1H")
277
+ self._position_input_cursor(self._last_frame_rows)
278
+ sys.stdout.flush()
279
+ return True
280
+
281
+ def _capture_renderable(self, renderable: object, width: int) -> str:
282
+ capture_width = max(width, 1)
283
+ key = (capture_width, self._console.height)
284
+ if self._capture_console is None or self._capture_console_key != key:
285
+ self._capture_buffer = io.StringIO()
286
+ self._capture_console = Console(
287
+ file=self._capture_buffer,
288
+ force_terminal=True,
289
+ color_system="truecolor",
290
+ width=capture_width,
291
+ height=self._console.height,
292
+ )
293
+ self._capture_console_key = key
294
+ else:
295
+ # Reuse the capture console but clear the backing buffer first.
296
+ self._capture_buffer.seek(0)
297
+ self._capture_buffer.truncate(0)
298
+ self._capture_console.print(renderable)
299
+ ansi = self._capture_buffer.getvalue()
300
+ # Strip only the newline added by Console.print. Meaningful trailing
301
+ # blank rows are part of the transcript and must still count.
302
+ return ansi[:-1] if ansi.endswith("\n") else ansi
303
+
304
+ def _move_to_frame_top_sequence(self) -> str:
305
+ if not self._has_rendered_frame:
306
+ return ""
307
+ if self._last_frame_rows <= 0:
308
+ return ""
309
+ return f"\x1b[{self._last_frame_rows}A"
310
+
311
+ def _move_to_frame_end_sequence(self) -> str:
312
+ if not self._has_rendered_frame:
313
+ return ""
314
+ if self._cursor_to_frame_end_lines <= 0:
315
+ return "\r"
316
+ return f"\r\x1b[{self._cursor_to_frame_end_lines}B\r"
317
+
318
+ def _position_input_cursor(self, frame_rows: int | None = None) -> None:
319
+ """Move terminal cursor to the current input cursor position."""
320
+ width = self._frame_width()
321
+ status_lines = self._render_hint_lines()
322
+ panel_rows = self._visible_panel_row_count(width)
323
+ input_rows = self._input_display_rows(width)
324
+ cursor_row = min(self._cursor_row, max(len(input_rows) - 1, 0))
325
+ current_line = self._current_line()
326
+ display_line = self._input_display_text(current_line)
327
+ cursor = min(self._cursor_col, len(current_line))
328
+ render_width = self._render_line_width(width)
329
+ if self._active_text_secret:
330
+ before_cursor = "*" * cell_len(current_line[:cursor])
331
+ else:
332
+ before_cursor = display_line[:cursor]
333
+ cursor_cells = self._input_line_prefix_width(cursor_row) + cell_len(before_cursor)
334
+ cursor_visual_row = min(cursor_cells // render_width, input_rows[cursor_row] - 1)
335
+ # Count only rows below the cursor; the native cursor anchors IME popups.
336
+ rows_after_cursor = (
337
+ input_rows[cursor_row]
338
+ - cursor_visual_row
339
+ - 1
340
+ + sum(input_rows[cursor_row + 1 :])
341
+ )
342
+ lines_up = (
343
+ rows_after_cursor
344
+ + 1 # input bottom border
345
+ + panel_rows
346
+ + (1 if panel_rows else 0)
347
+ + len(status_lines)
348
+ )
349
+ col = cursor_cells % render_width
350
+ sys.stdout.write(f"\x1b[{lines_up}A\x1b[{col + 1}G")
351
+ if frame_rows is not None:
352
+ self._cursor_to_frame_top_lines = max(frame_rows - lines_up, 0)
353
+ self._cursor_to_frame_end_lines = lines_up
354
+ self._last_frame_rows = frame_rows
355
+
356
+ def _render_impl(self, *, height: int | None = None) -> Group:
357
+ width = self._frame_width()
358
+ render_height = max(height or self._console.height or 24, 1)
359
+
360
+ # Cross-mixin render hooks: status, input panel, busy activity, and pinned todo.
361
+ status_lines = self._render_hint_lines()
362
+ panel_lines = self._render_panel_lines(width)
363
+ busy_activity_elements = self._render_busy_activity_elements(width)
364
+ thinking_stream_elements = self._active_thinking_stream_elements(width)
365
+
366
+ base_bottom_rows = self._base_bottom_row_count(width, status_lines)
367
+ panel_rows, panel_ansi = self._panel_row_count_and_ansi(panel_lines, width)
368
+ if panel_lines:
369
+ panel_row_limit = max(
370
+ render_height
371
+ - base_bottom_rows
372
+ - len(busy_activity_elements)
373
+ - len(thinking_stream_elements)
374
+ - 1,
375
+ 0,
376
+ )
377
+ self._panel_row_limit = panel_row_limit
378
+ panel_rows = min(panel_rows, panel_row_limit)
379
+ else:
380
+ self._panel_row_limit = None
381
+ bottom_fixed_lines = (
382
+ base_bottom_rows
383
+ + panel_rows
384
+ + (1 if panel_rows else 0)
385
+ )
386
+ todo_budget = max(
387
+ render_height
388
+ - bottom_fixed_lines
389
+ - len(busy_activity_elements)
390
+ - len(thinking_stream_elements),
391
+ 0,
392
+ )
393
+ todo_max_rows = min(
394
+ self._pinned_todo_max_rows(
395
+ render_height,
396
+ bottom_fixed_lines
397
+ + len(busy_activity_elements)
398
+ + len(thinking_stream_elements),
399
+ ),
400
+ todo_budget,
401
+ )
402
+ pinned_todo_elements = self._render_pinned_todo_elements(width, max_rows=todo_max_rows)
403
+ fixed_lines = (
404
+ bottom_fixed_lines
405
+ + len(pinned_todo_elements)
406
+ + len(busy_activity_elements)
407
+ + len(thinking_stream_elements)
408
+ )
409
+ body_limit = max(render_height - fixed_lines, 0)
410
+
411
+ # Transcript — only render uncommitted (active) lines.
412
+ # Committed lines have already been flushed to terminal scrollback.
413
+ tree_lines = dock.tree.render(width)
414
+ committed = self._committed_line_count
415
+ thinking_line_ids = dock.active_thinking_stream_line_ids(width)
416
+ active_lines = [
417
+ line
418
+ for index, line in enumerate(tree_lines[committed:], start=committed)
419
+ if index not in thinking_line_ids
420
+ ]
421
+
422
+ elements: list = self._transcript_elements_for_rows(
423
+ active_lines,
424
+ width,
425
+ body_limit,
426
+ )
427
+
428
+ elements.extend(pinned_todo_elements)
429
+ elements.extend(busy_activity_elements)
430
+ elements.extend(thinking_stream_elements)
431
+ elements.extend(
432
+ self._render_bottom_elements(
433
+ width,
434
+ panel_lines,
435
+ status_lines,
436
+ panel_ansi=panel_ansi,
437
+ )
438
+ )
439
+
440
+ return Group(*elements)
441
+
442
+ def _active_thinking_stream_elements(self, width: int) -> list[Text]:
443
+ lines = dock.active_thinking_stream_lines(width)
444
+ if not lines:
445
+ return []
446
+ return self._transcript_elements_for_rows(lines, width, len(lines))
447
+
448
+ def _transcript_elements_for_rows(
449
+ self,
450
+ lines: list[str],
451
+ width: int,
452
+ row_limit: int,
453
+ ) -> list[Text]:
454
+ if not lines or row_limit <= 0:
455
+ return []
456
+
457
+ renderables: list[Text] = []
458
+ for line in lines:
459
+ try:
460
+ renderables.append(_text_from_line(line))
461
+ except Exception:
462
+ renderables.append(Text(line))
463
+
464
+ ansi = self._capture_renderable(Group(*renderables), width)
465
+ if not ansi:
466
+ return []
467
+
468
+ tail_rows = ansi.splitlines()[-row_limit:]
469
+ return [Text.from_ansi(row) for row in tail_rows]
470
+
471
+ def _render_bottom_impl(self) -> Group:
472
+ width = self._frame_width()
473
+ return Group(
474
+ *self._render_bottom_elements(
475
+ width,
476
+ self._render_panel_lines(width),
477
+ self._render_hint_lines(),
478
+ )
479
+ )
480
+
481
+ def _render_bottom_elements(
482
+ self,
483
+ width: int,
484
+ panel_lines: list[str],
485
+ status_lines: list,
486
+ *,
487
+ panel_ansi: str | None = None,
488
+ ) -> list:
489
+ elements: list = []
490
+
491
+ elements.append(Text("─" * width, style="dim"))
492
+
493
+ # Input box
494
+ input_border = "─" * width
495
+ prompt = "❯ "
496
+
497
+ if self._active_text_prompt is not None:
498
+ elements.append(Text(f"{self._active_text_prompt} ", style="bold"))
499
+ prompt = ""
500
+
501
+ prompt_width = 2
502
+ for row, line in enumerate(self._input_lines):
503
+ prefix = prompt if row == 0 else " " * prompt_width
504
+ elements.extend(self._render_input_line(row, line, prefix, width))
505
+
506
+ elements.append(Text(input_border, style="dim"))
507
+
508
+ # Panels (attachment, command palette, choice)
509
+ panel_elements = self._render_panel_elements(
510
+ panel_lines,
511
+ width,
512
+ panel_ansi=panel_ansi,
513
+ )
514
+ elements.extend(panel_elements)
515
+
516
+ if panel_elements:
517
+ elements.append(Text("─" * width, style="dim"))
518
+
519
+ # Status bar (always at the very bottom)
520
+ for line in status_lines:
521
+ elements.append(line)
522
+
523
+ return elements
524
+
525
+ def _render_hint_lines(self) -> list:
526
+ lines: list = []
527
+ status = self._status_summary_text(self._frame_width())
528
+ if status.plain:
529
+ lines.append(status)
530
+ if self._notice:
531
+ lines.append(Text(" " + self._notice, style="#8F9BA8"))
532
+ if self._last_error:
533
+ lines.append(Text(" ⚠ " + self._last_error, style="red"))
534
+ return lines
535
+
536
+ def _base_bottom_row_count(self, width: int, status_lines: list) -> int:
537
+ elements = self._render_bottom_elements(width, [], status_lines)
538
+ key = (
539
+ width,
540
+ self._console.height,
541
+ tuple(self._renderable_cache_key(element) for element in elements),
542
+ )
543
+ if key == self._base_bottom_rows_cache_key:
544
+ return self._base_bottom_rows_cache_count
545
+ count = _rendered_row_count(self._capture_renderable(Group(*elements), width))
546
+ self._base_bottom_rows_cache_key = key
547
+ self._base_bottom_rows_cache_count = count
548
+ return count
549
+
550
+ @staticmethod
551
+ def _renderable_cache_key(renderable: object) -> tuple:
552
+ if isinstance(renderable, Text):
553
+ return (
554
+ "text",
555
+ renderable.plain,
556
+ str(renderable.style),
557
+ tuple(
558
+ (span.start, span.end, str(span.style))
559
+ for span in renderable.spans
560
+ ),
561
+ )
562
+ return ("repr", repr(renderable))
563
+
564
+ def _render_panel_elements(
565
+ self,
566
+ panel_lines: list[str],
567
+ width: int,
568
+ *,
569
+ panel_ansi: str | None = None,
570
+ ) -> list[Text]:
571
+ if not panel_lines:
572
+ return []
573
+ elements = [Text.from_markup(line) for line in panel_lines]
574
+ row_limit = self._panel_row_limit
575
+ if row_limit is None:
576
+ return elements
577
+ if row_limit <= 0:
578
+ return []
579
+ ansi = panel_ansi
580
+ if ansi is None:
581
+ ansi = self._capture_renderable(Group(*elements), width)
582
+ rows = ansi.splitlines()
583
+ if len(rows) <= row_limit:
584
+ return elements
585
+ if row_limit == 1:
586
+ return [Text("…", style="dim")]
587
+ visible_rows = rows[-(row_limit - 1):]
588
+ return [Text("…", style="dim")] + [Text.from_ansi(row) for row in visible_rows]
589
+
590
+ def _panel_row_count_and_ansi(
591
+ self,
592
+ panel_lines: list[str],
593
+ width: int,
594
+ ) -> tuple[int, str | None]:
595
+ if not panel_lines:
596
+ return 0, None
597
+ elements = [Text.from_markup(line) for line in panel_lines]
598
+ ansi = self._capture_renderable(Group(*elements), width)
599
+ return _rendered_row_count(ansi), ansi
600
+
601
+ def _panel_row_count(self, panel_lines: list[str], width: int) -> int:
602
+ return self._panel_row_count_and_ansi(panel_lines, width)[0]
603
+
604
+ def _visible_panel_row_count(
605
+ self,
606
+ width: int,
607
+ *,
608
+ panel_lines: list[str] | None = None,
609
+ ) -> int:
610
+ lines = self._render_panel_lines(width) if panel_lines is None else panel_lines
611
+ rows = self._panel_row_count(lines, width)
612
+ row_limit = self._panel_row_limit
613
+ if row_limit is None:
614
+ return rows
615
+ return min(rows, max(row_limit, 0))