vibego 1.0.12__tar.gz → 1.0.24__tar.gz

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 (487) hide show
  1. vibego-1.0.24/PKG-INFO +216 -0
  2. vibego-1.0.24/README.md +195 -0
  3. {vibego-1.0.12 → vibego-1.0.24}/bot.py +1814 -1403
  4. vibego-1.0.24/command_center/__init__.py +23 -0
  5. vibego-1.0.24/command_center/fsm.py +22 -0
  6. vibego-1.0.24/command_center/models.py +50 -0
  7. vibego-1.0.24/command_center/service.py +619 -0
  8. {vibego-1.0.12 → vibego-1.0.24}/logging_setup.py +16 -13
  9. {vibego-1.0.12 → vibego-1.0.24}/master.py +647 -567
  10. {vibego-1.0.12 → vibego-1.0.24}/project_repository.py +40 -42
  11. {vibego-1.0.12 → vibego-1.0.24}/pyproject.toml +5 -5
  12. vibego-1.0.24/scripts/__init__.py +2 -0
  13. vibego-1.0.24/scripts/bump_version.sh +154 -0
  14. {vibego-1.0.12 → vibego-1.0.24}/scripts/log_writer.py +16 -19
  15. vibego-1.0.24/scripts/master_healthcheck.py +222 -0
  16. {vibego-1.0.12 → vibego-1.0.24}/scripts/models/claudecode.sh +4 -4
  17. {vibego-1.0.12 → vibego-1.0.24}/scripts/models/codex.sh +1 -1
  18. {vibego-1.0.12 → vibego-1.0.24}/scripts/models/common.sh +4 -4
  19. {vibego-1.0.12 → vibego-1.0.24}/scripts/models/gemini.sh +2 -2
  20. vibego-1.0.24/scripts/publish.sh +126 -0
  21. {vibego-1.0.12 → vibego-1.0.24}/scripts/requirements.txt +0 -1
  22. {vibego-1.0.12 → vibego-1.0.24}/scripts/run_bot.sh +15 -18
  23. vibego-1.0.24/scripts/start.sh +466 -0
  24. {vibego-1.0.12 → vibego-1.0.24}/scripts/start_tmux_codex.sh +8 -33
  25. {vibego-1.0.12 → vibego-1.0.24}/scripts/stop_all.sh +21 -21
  26. {vibego-1.0.12 → vibego-1.0.24}/scripts/stop_bot.sh +9 -9
  27. vibego-1.0.24/scripts/test_deps_check.sh +70 -0
  28. {vibego-1.0.12 → vibego-1.0.24}/tasks/__init__.py +1 -1
  29. {vibego-1.0.12 → vibego-1.0.24}/tasks/commands.py +4 -4
  30. {vibego-1.0.12 → vibego-1.0.24}/tasks/constants.py +1 -1
  31. {vibego-1.0.12 → vibego-1.0.24}/tasks/fsm.py +9 -9
  32. {vibego-1.0.12 → vibego-1.0.24}/tasks/models.py +7 -7
  33. {vibego-1.0.12 → vibego-1.0.24}/tasks/service.py +56 -56
  34. {vibego-1.0.12 → vibego-1.0.24}/tests/test_attachment_prompt_format.py +7 -10
  35. {vibego-1.0.12 → vibego-1.0.24}/tests/test_auto_compact.py +19 -19
  36. {vibego-1.0.12 → vibego-1.0.24}/tests/test_chat_menu_buttons.py +6 -13
  37. {vibego-1.0.12 → vibego-1.0.24}/tests/test_claudecode_jsonl.py +8 -8
  38. vibego-1.0.24/tests/test_command_service.py +133 -0
  39. {vibego-1.0.12 → vibego-1.0.24}/tests/test_long_poll_mechanism.py +68 -68
  40. {vibego-1.0.12 → vibego-1.0.24}/tests/test_markdown_guard.py +19 -19
  41. vibego-1.0.24/tests/test_master_menu_sync.py +82 -0
  42. {vibego-1.0.12 → vibego-1.0.24}/tests/test_master_project_management.py +57 -61
  43. vibego-1.0.24/tests/test_master_restart.py +457 -0
  44. {vibego-1.0.12 → vibego-1.0.24}/tests/test_master_update_notifications.py +18 -18
  45. {vibego-1.0.12 → vibego-1.0.24}/tests/test_numbered_reply_inputs.py +25 -29
  46. {vibego-1.0.12 → vibego-1.0.24}/tests/test_plan_progress.py +39 -39
  47. {vibego-1.0.12 → vibego-1.0.24}/tests/test_task_create_flow.py +46 -45
  48. {vibego-1.0.12 → vibego-1.0.24}/tests/test_task_description.py +341 -500
  49. {vibego-1.0.12 → vibego-1.0.24}/tests/test_task_detail_back.py +31 -31
  50. {vibego-1.0.12 → vibego-1.0.24}/tests/test_task_list_entry.py +74 -74
  51. {vibego-1.0.12 → vibego-1.0.24}/tests/test_telegram_markdown_renderer.py +5 -5
  52. vibego-1.0.24/tests/test_unescape_markdown.py +340 -0
  53. vibego-1.0.24/tests/test_version_display.py +56 -0
  54. vibego-1.0.24/vibego.egg-info/PKG-INFO +216 -0
  55. {vibego-1.0.12 → vibego-1.0.24}/vibego.egg-info/SOURCES.txt +6 -3
  56. {vibego-1.0.12 → vibego-1.0.24}/vibego.egg-info/top_level.txt +1 -0
  57. vibego-1.0.24/vibego_cli/__init__.py +12 -0
  58. {vibego-1.0.12 → vibego-1.0.24}/vibego_cli/__main__.py +2 -1
  59. {vibego-1.0.12 → vibego-1.0.24}/vibego_cli/config.py +9 -9
  60. {vibego-1.0.12 → vibego-1.0.24}/vibego_cli/deps.py +9 -8
  61. {vibego-1.0.12 → vibego-1.0.24}/vibego_cli/main.py +63 -63
  62. vibego-1.0.12/PKG-INFO +0 -226
  63. vibego-1.0.12/README.md +0 -205
  64. vibego-1.0.12/scripts/__init__.py +0 -1
  65. vibego-1.0.12/scripts/bump_version.sh +0 -154
  66. vibego-1.0.12/scripts/master_healthcheck.py +0 -122
  67. vibego-1.0.12/scripts/publish.sh +0 -126
  68. vibego-1.0.12/scripts/session_pointer_watch.py +0 -265
  69. vibego-1.0.12/scripts/start.sh +0 -473
  70. vibego-1.0.12/scripts/test_deps_check.sh +0 -70
  71. vibego-1.0.12/tests/test_master_restart.py +0 -322
  72. vibego-1.0.12/tests/test_session_lock.py +0 -312
  73. vibego-1.0.12/tests/test_session_pointer_watch.py +0 -121
  74. vibego-1.0.12/tests/test_unescape_markdown.py +0 -340
  75. vibego-1.0.12/tests/test_version_display.py +0 -55
  76. vibego-1.0.12/vibego.egg-info/PKG-INFO +0 -226
  77. vibego-1.0.12/vibego_cli/__init__.py +0 -13
  78. {vibego-1.0.12 → vibego-1.0.24}/LICENSE +0 -0
  79. {vibego-1.0.12 → vibego-1.0.24}/MANIFEST.in +0 -0
  80. {vibego-1.0.12 → vibego-1.0.24}/config/projects.json.example +0 -0
  81. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/__init__.py +0 -0
  82. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/__main__.py +0 -0
  83. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/__pip-runner__.py +0 -0
  84. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/__init__.py +0 -0
  85. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/build_env.py +0 -0
  86. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/cache.py +0 -0
  87. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/cli/__init__.py +0 -0
  88. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/cli/autocompletion.py +0 -0
  89. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/cli/base_command.py +0 -0
  90. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/cli/cmdoptions.py +0 -0
  91. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/cli/command_context.py +0 -0
  92. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/cli/index_command.py +0 -0
  93. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/cli/main.py +0 -0
  94. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/cli/main_parser.py +0 -0
  95. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/cli/parser.py +0 -0
  96. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/cli/progress_bars.py +0 -0
  97. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/cli/req_command.py +0 -0
  98. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/cli/spinners.py +0 -0
  99. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/cli/status_codes.py +0 -0
  100. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/commands/__init__.py +0 -0
  101. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/commands/cache.py +0 -0
  102. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/commands/check.py +0 -0
  103. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/commands/completion.py +0 -0
  104. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/commands/configuration.py +0 -0
  105. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/commands/debug.py +0 -0
  106. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/commands/download.py +0 -0
  107. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/commands/freeze.py +0 -0
  108. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/commands/hash.py +0 -0
  109. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/commands/help.py +0 -0
  110. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/commands/index.py +0 -0
  111. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/commands/inspect.py +0 -0
  112. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/commands/install.py +0 -0
  113. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/commands/list.py +0 -0
  114. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/commands/lock.py +0 -0
  115. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/commands/search.py +0 -0
  116. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/commands/show.py +0 -0
  117. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/commands/uninstall.py +0 -0
  118. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/commands/wheel.py +0 -0
  119. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/configuration.py +0 -0
  120. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/distributions/__init__.py +0 -0
  121. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/distributions/base.py +0 -0
  122. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/distributions/installed.py +0 -0
  123. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/distributions/sdist.py +0 -0
  124. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/distributions/wheel.py +0 -0
  125. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/exceptions.py +0 -0
  126. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/index/__init__.py +0 -0
  127. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/index/collector.py +0 -0
  128. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/index/package_finder.py +0 -0
  129. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/index/sources.py +0 -0
  130. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/locations/__init__.py +0 -0
  131. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/locations/_distutils.py +0 -0
  132. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/locations/_sysconfig.py +0 -0
  133. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/locations/base.py +0 -0
  134. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/main.py +0 -0
  135. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/metadata/__init__.py +0 -0
  136. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/metadata/_json.py +0 -0
  137. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/metadata/base.py +0 -0
  138. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/metadata/importlib/__init__.py +0 -0
  139. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/metadata/importlib/_compat.py +0 -0
  140. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/metadata/importlib/_dists.py +0 -0
  141. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/metadata/importlib/_envs.py +0 -0
  142. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/metadata/pkg_resources.py +0 -0
  143. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/models/__init__.py +0 -0
  144. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/models/candidate.py +0 -0
  145. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/models/direct_url.py +0 -0
  146. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/models/format_control.py +0 -0
  147. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/models/index.py +0 -0
  148. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/models/installation_report.py +0 -0
  149. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/models/link.py +0 -0
  150. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/models/pylock.py +0 -0
  151. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/models/scheme.py +0 -0
  152. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/models/search_scope.py +0 -0
  153. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/models/selection_prefs.py +0 -0
  154. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/models/target_python.py +0 -0
  155. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/models/wheel.py +0 -0
  156. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/network/__init__.py +0 -0
  157. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/network/auth.py +0 -0
  158. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/network/cache.py +0 -0
  159. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/network/download.py +0 -0
  160. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/network/lazy_wheel.py +0 -0
  161. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/network/session.py +0 -0
  162. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/network/utils.py +0 -0
  163. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/network/xmlrpc.py +0 -0
  164. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/operations/__init__.py +0 -0
  165. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/operations/build/__init__.py +0 -0
  166. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/operations/build/build_tracker.py +0 -0
  167. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/operations/build/metadata.py +0 -0
  168. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/operations/build/metadata_editable.py +0 -0
  169. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/operations/build/metadata_legacy.py +0 -0
  170. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/operations/build/wheel.py +0 -0
  171. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/operations/build/wheel_editable.py +0 -0
  172. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/operations/build/wheel_legacy.py +0 -0
  173. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/operations/check.py +0 -0
  174. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/operations/freeze.py +0 -0
  175. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/operations/install/__init__.py +0 -0
  176. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/operations/install/editable_legacy.py +0 -0
  177. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/operations/install/wheel.py +0 -0
  178. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/operations/prepare.py +0 -0
  179. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/pyproject.py +0 -0
  180. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/req/__init__.py +0 -0
  181. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/req/constructors.py +0 -0
  182. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/req/req_dependency_group.py +0 -0
  183. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/req/req_file.py +0 -0
  184. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/req/req_install.py +0 -0
  185. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/req/req_set.py +0 -0
  186. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/req/req_uninstall.py +0 -0
  187. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/resolution/__init__.py +0 -0
  188. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/resolution/base.py +0 -0
  189. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/resolution/legacy/__init__.py +0 -0
  190. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/resolution/legacy/resolver.py +0 -0
  191. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/resolution/resolvelib/__init__.py +0 -0
  192. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/resolution/resolvelib/base.py +0 -0
  193. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/resolution/resolvelib/candidates.py +0 -0
  194. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/resolution/resolvelib/factory.py +0 -0
  195. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/resolution/resolvelib/found_candidates.py +0 -0
  196. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/resolution/resolvelib/provider.py +0 -0
  197. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/resolution/resolvelib/reporter.py +0 -0
  198. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/resolution/resolvelib/requirements.py +0 -0
  199. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/resolution/resolvelib/resolver.py +0 -0
  200. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/self_outdated_check.py +0 -0
  201. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/utils/__init__.py +0 -0
  202. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/utils/_jaraco_text.py +0 -0
  203. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/utils/_log.py +0 -0
  204. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/utils/appdirs.py +0 -0
  205. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/utils/compat.py +0 -0
  206. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/utils/compatibility_tags.py +0 -0
  207. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/utils/datetime.py +0 -0
  208. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/utils/deprecation.py +0 -0
  209. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/utils/direct_url_helpers.py +0 -0
  210. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/utils/egg_link.py +0 -0
  211. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/utils/entrypoints.py +0 -0
  212. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/utils/filesystem.py +0 -0
  213. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/utils/filetypes.py +0 -0
  214. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/utils/glibc.py +0 -0
  215. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/utils/hashes.py +0 -0
  216. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/utils/logging.py +0 -0
  217. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/utils/misc.py +0 -0
  218. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/utils/packaging.py +0 -0
  219. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/utils/retry.py +0 -0
  220. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/utils/setuptools_build.py +0 -0
  221. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/utils/subprocess.py +0 -0
  222. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/utils/temp_dir.py +0 -0
  223. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/utils/unpacking.py +0 -0
  224. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/utils/urls.py +0 -0
  225. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/utils/virtualenv.py +0 -0
  226. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/utils/wheel.py +0 -0
  227. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/vcs/__init__.py +0 -0
  228. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/vcs/bazaar.py +0 -0
  229. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/vcs/git.py +0 -0
  230. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/vcs/mercurial.py +0 -0
  231. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/vcs/subversion.py +0 -0
  232. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/vcs/versioncontrol.py +0 -0
  233. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/wheel_builder.py +0 -0
  234. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/__init__.py +0 -0
  235. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/cachecontrol/__init__.py +0 -0
  236. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/cachecontrol/_cmd.py +0 -0
  237. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/cachecontrol/adapter.py +0 -0
  238. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/cachecontrol/cache.py +0 -0
  239. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/cachecontrol/caches/__init__.py +0 -0
  240. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/cachecontrol/caches/file_cache.py +0 -0
  241. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/cachecontrol/caches/redis_cache.py +0 -0
  242. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/cachecontrol/controller.py +0 -0
  243. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/cachecontrol/filewrapper.py +0 -0
  244. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/cachecontrol/heuristics.py +0 -0
  245. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/cachecontrol/serialize.py +0 -0
  246. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/cachecontrol/wrapper.py +0 -0
  247. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/certifi/__init__.py +0 -0
  248. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/certifi/__main__.py +0 -0
  249. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/certifi/core.py +0 -0
  250. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/dependency_groups/__init__.py +0 -0
  251. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/dependency_groups/__main__.py +0 -0
  252. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/dependency_groups/_implementation.py +0 -0
  253. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/dependency_groups/_lint_dependency_groups.py +0 -0
  254. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/dependency_groups/_pip_wrapper.py +0 -0
  255. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/dependency_groups/_toml_compat.py +0 -0
  256. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/distlib/__init__.py +0 -0
  257. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/distlib/compat.py +0 -0
  258. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/distlib/resources.py +0 -0
  259. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/distlib/scripts.py +0 -0
  260. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/distlib/util.py +0 -0
  261. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/distro/__init__.py +0 -0
  262. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/distro/__main__.py +0 -0
  263. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/distro/distro.py +0 -0
  264. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/idna/__init__.py +0 -0
  265. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/idna/codec.py +0 -0
  266. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/idna/compat.py +0 -0
  267. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/idna/core.py +0 -0
  268. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/idna/idnadata.py +0 -0
  269. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/idna/intranges.py +0 -0
  270. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/idna/package_data.py +0 -0
  271. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/idna/uts46data.py +0 -0
  272. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/msgpack/__init__.py +0 -0
  273. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/msgpack/exceptions.py +0 -0
  274. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/msgpack/ext.py +0 -0
  275. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/msgpack/fallback.py +0 -0
  276. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/packaging/__init__.py +0 -0
  277. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/packaging/_elffile.py +0 -0
  278. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/packaging/_manylinux.py +0 -0
  279. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/packaging/_musllinux.py +0 -0
  280. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/packaging/_parser.py +0 -0
  281. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/packaging/_structures.py +0 -0
  282. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/packaging/_tokenizer.py +0 -0
  283. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/packaging/licenses/__init__.py +0 -0
  284. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/packaging/licenses/_spdx.py +0 -0
  285. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/packaging/markers.py +0 -0
  286. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/packaging/metadata.py +0 -0
  287. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/packaging/requirements.py +0 -0
  288. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/packaging/specifiers.py +0 -0
  289. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/packaging/tags.py +0 -0
  290. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/packaging/utils.py +0 -0
  291. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/packaging/version.py +0 -0
  292. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/pkg_resources/__init__.py +0 -0
  293. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/platformdirs/__init__.py +0 -0
  294. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/platformdirs/__main__.py +0 -0
  295. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/platformdirs/android.py +0 -0
  296. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/platformdirs/api.py +0 -0
  297. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/platformdirs/macos.py +0 -0
  298. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/platformdirs/unix.py +0 -0
  299. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/platformdirs/version.py +0 -0
  300. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/platformdirs/windows.py +0 -0
  301. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/pygments/__init__.py +0 -0
  302. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/pygments/__main__.py +0 -0
  303. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/pygments/console.py +0 -0
  304. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/pygments/filter.py +0 -0
  305. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/pygments/filters/__init__.py +0 -0
  306. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/pygments/formatter.py +0 -0
  307. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/pygments/formatters/__init__.py +0 -0
  308. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/pygments/formatters/_mapping.py +0 -0
  309. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/pygments/lexer.py +0 -0
  310. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/pygments/lexers/__init__.py +0 -0
  311. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/pygments/lexers/_mapping.py +0 -0
  312. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/pygments/lexers/python.py +0 -0
  313. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/pygments/modeline.py +0 -0
  314. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/pygments/plugin.py +0 -0
  315. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/pygments/regexopt.py +0 -0
  316. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/pygments/scanner.py +0 -0
  317. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/pygments/sphinxext.py +0 -0
  318. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/pygments/style.py +0 -0
  319. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/pygments/styles/__init__.py +0 -0
  320. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/pygments/styles/_mapping.py +0 -0
  321. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/pygments/token.py +0 -0
  322. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/pygments/unistring.py +0 -0
  323. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/pygments/util.py +0 -0
  324. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/pyproject_hooks/__init__.py +0 -0
  325. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/pyproject_hooks/_impl.py +0 -0
  326. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/pyproject_hooks/_in_process/__init__.py +0 -0
  327. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py +0 -0
  328. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/requests/__init__.py +0 -0
  329. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/requests/__version__.py +0 -0
  330. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/requests/_internal_utils.py +0 -0
  331. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/requests/adapters.py +0 -0
  332. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/requests/api.py +0 -0
  333. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/requests/auth.py +0 -0
  334. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/requests/certs.py +0 -0
  335. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/requests/compat.py +0 -0
  336. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/requests/cookies.py +0 -0
  337. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/requests/exceptions.py +0 -0
  338. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/requests/help.py +0 -0
  339. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/requests/hooks.py +0 -0
  340. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/requests/models.py +0 -0
  341. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/requests/packages.py +0 -0
  342. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/requests/sessions.py +0 -0
  343. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/requests/status_codes.py +0 -0
  344. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/requests/structures.py +0 -0
  345. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/requests/utils.py +0 -0
  346. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/resolvelib/__init__.py +0 -0
  347. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/resolvelib/providers.py +0 -0
  348. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/resolvelib/reporters.py +0 -0
  349. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/resolvelib/resolvers/__init__.py +0 -0
  350. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/resolvelib/resolvers/abstract.py +0 -0
  351. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/resolvelib/resolvers/criterion.py +0 -0
  352. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/resolvelib/resolvers/exceptions.py +0 -0
  353. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/resolvelib/resolvers/resolution.py +0 -0
  354. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/resolvelib/structs.py +0 -0
  355. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/__init__.py +0 -0
  356. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/__main__.py +0 -0
  357. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/_cell_widths.py +0 -0
  358. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/_emoji_codes.py +0 -0
  359. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/_emoji_replace.py +0 -0
  360. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/_export_format.py +0 -0
  361. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/_extension.py +0 -0
  362. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/_fileno.py +0 -0
  363. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/_inspect.py +0 -0
  364. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/_log_render.py +0 -0
  365. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/_loop.py +0 -0
  366. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/_null_file.py +0 -0
  367. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/_palettes.py +0 -0
  368. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/_pick.py +0 -0
  369. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/_ratio.py +0 -0
  370. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/_spinners.py +0 -0
  371. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/_stack.py +0 -0
  372. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/_timer.py +0 -0
  373. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/_win32_console.py +0 -0
  374. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/_windows.py +0 -0
  375. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/_windows_renderer.py +0 -0
  376. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/_wrap.py +0 -0
  377. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/abc.py +0 -0
  378. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/align.py +0 -0
  379. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/ansi.py +0 -0
  380. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/bar.py +0 -0
  381. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/box.py +0 -0
  382. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/cells.py +0 -0
  383. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/color.py +0 -0
  384. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/color_triplet.py +0 -0
  385. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/columns.py +0 -0
  386. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/console.py +0 -0
  387. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/constrain.py +0 -0
  388. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/containers.py +0 -0
  389. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/control.py +0 -0
  390. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/default_styles.py +0 -0
  391. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/diagnose.py +0 -0
  392. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/emoji.py +0 -0
  393. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/errors.py +0 -0
  394. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/file_proxy.py +0 -0
  395. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/filesize.py +0 -0
  396. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/highlighter.py +0 -0
  397. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/json.py +0 -0
  398. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/jupyter.py +0 -0
  399. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/layout.py +0 -0
  400. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/live.py +0 -0
  401. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/live_render.py +0 -0
  402. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/logging.py +0 -0
  403. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/markup.py +0 -0
  404. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/measure.py +0 -0
  405. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/padding.py +0 -0
  406. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/pager.py +0 -0
  407. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/palette.py +0 -0
  408. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/panel.py +0 -0
  409. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/pretty.py +0 -0
  410. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/progress.py +0 -0
  411. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/progress_bar.py +0 -0
  412. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/prompt.py +0 -0
  413. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/protocol.py +0 -0
  414. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/region.py +0 -0
  415. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/repr.py +0 -0
  416. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/rule.py +0 -0
  417. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/scope.py +0 -0
  418. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/screen.py +0 -0
  419. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/segment.py +0 -0
  420. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/spinner.py +0 -0
  421. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/status.py +0 -0
  422. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/style.py +0 -0
  423. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/styled.py +0 -0
  424. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/syntax.py +0 -0
  425. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/table.py +0 -0
  426. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/terminal_theme.py +0 -0
  427. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/text.py +0 -0
  428. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/theme.py +0 -0
  429. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/themes.py +0 -0
  430. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/traceback.py +0 -0
  431. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/tree.py +0 -0
  432. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/tomli/__init__.py +0 -0
  433. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/tomli/_parser.py +0 -0
  434. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/tomli/_re.py +0 -0
  435. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/tomli/_types.py +0 -0
  436. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/tomli_w/__init__.py +0 -0
  437. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/tomli_w/_writer.py +0 -0
  438. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/truststore/__init__.py +0 -0
  439. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/truststore/_api.py +0 -0
  440. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/truststore/_macos.py +0 -0
  441. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/truststore/_openssl.py +0 -0
  442. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/truststore/_ssl_constants.py +0 -0
  443. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/truststore/_windows.py +0 -0
  444. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/urllib3/__init__.py +0 -0
  445. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/urllib3/_collections.py +0 -0
  446. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/urllib3/_version.py +0 -0
  447. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/urllib3/connection.py +0 -0
  448. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/urllib3/connectionpool.py +0 -0
  449. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/urllib3/contrib/__init__.py +0 -0
  450. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/urllib3/contrib/_appengine_environ.py +0 -0
  451. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/urllib3/contrib/_securetransport/__init__.py +0 -0
  452. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/urllib3/contrib/_securetransport/bindings.py +0 -0
  453. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/urllib3/contrib/_securetransport/low_level.py +0 -0
  454. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/urllib3/contrib/appengine.py +0 -0
  455. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/urllib3/contrib/ntlmpool.py +0 -0
  456. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/urllib3/contrib/pyopenssl.py +0 -0
  457. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/urllib3/contrib/securetransport.py +0 -0
  458. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/urllib3/contrib/socks.py +0 -0
  459. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/urllib3/exceptions.py +0 -0
  460. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/urllib3/fields.py +0 -0
  461. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/urllib3/filepost.py +0 -0
  462. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/urllib3/packages/__init__.py +0 -0
  463. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/urllib3/packages/backports/__init__.py +0 -0
  464. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/urllib3/packages/backports/makefile.py +0 -0
  465. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/urllib3/packages/backports/weakref_finalize.py +0 -0
  466. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/urllib3/packages/six.py +0 -0
  467. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/urllib3/poolmanager.py +0 -0
  468. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/urllib3/request.py +0 -0
  469. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/urllib3/response.py +0 -0
  470. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/urllib3/util/__init__.py +0 -0
  471. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/urllib3/util/connection.py +0 -0
  472. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/urllib3/util/proxy.py +0 -0
  473. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/urllib3/util/queue.py +0 -0
  474. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/urllib3/util/request.py +0 -0
  475. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/urllib3/util/response.py +0 -0
  476. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/urllib3/util/retry.py +0 -0
  477. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/urllib3/util/ssl_.py +0 -0
  478. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/urllib3/util/ssl_match_hostname.py +0 -0
  479. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/urllib3/util/ssltransport.py +0 -0
  480. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/urllib3/util/timeout.py +0 -0
  481. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/urllib3/util/url.py +0 -0
  482. {vibego-1.0.12 → vibego-1.0.24}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/urllib3/util/wait.py +0 -0
  483. {vibego-1.0.12 → vibego-1.0.24}/setup.cfg +0 -0
  484. {vibego-1.0.12 → vibego-1.0.24}/vibego.egg-info/dependency_links.txt +0 -0
  485. {vibego-1.0.12 → vibego-1.0.24}/vibego.egg-info/entry_points.txt +0 -0
  486. {vibego-1.0.12 → vibego-1.0.24}/vibego.egg-info/requires.txt +0 -0
  487. {vibego-1.0.12 → vibego-1.0.24}/vibego_cli/data/worker_requirements.txt +0 -0
vibego-1.0.24/PKG-INFO ADDED
@@ -0,0 +1,216 @@
1
+ Metadata-Version: 2.4
2
+ Name: vibego
3
+ Version: 1.0.24
4
+ Summary: vibego CLI:用于初始化与管理 Telegram Master Bot 的工具
5
+ Author: Hypha
6
+ License-Expression: LicenseRef-Proprietary
7
+ Classifier: Programming Language :: Python :: 3
8
+ Classifier: Programming Language :: Python :: 3.11
9
+ Classifier: Operating System :: MacOS
10
+ Classifier: Intended Audience :: Developers
11
+ Classifier: Topic :: Software Development :: Build Tools
12
+ Classifier: Environment :: Console
13
+ Requires-Python: >=3.11
14
+ Description-Content-Type: text/markdown
15
+ License-File: LICENSE
16
+ Requires-Dist: aiogram<4.0.0,>=3.0.0
17
+ Requires-Dist: aiohttp-socks>=0.10.0
18
+ Requires-Dist: aiosqlite>=0.19.0
19
+ Requires-Dist: markdown-it-py<4.0.0,>=3.0.0
20
+ Dynamic: license-file
21
+
22
+ # vibego - 通过 telegram 随时随地的进行 vibe coding
23
+
24
+ **通过 Telegram 随时随地驱动你的终端 AI CLI(支持 Codex / ClaudeCode)**
25
+
26
+ For the english version, see [README-en](README-en.md).
27
+
28
+ ## 功能介绍
29
+
30
+ 1. 通过 Telegram 随时随地驱动你的终端 AI CLI;
31
+ 2. 通过 telegram 做到简单的任务管理与缺陷报告,可在 Telegram 中直接记录并追踪;
32
+ 3. 通过 telegram 随时在 Codex / ClaudeCode 终端 CLI 间一键切换;
33
+ 4. 通过 Telegram Bot API 的 HTTPS 请求通道传输指令到 CLI,链路全程由 TLS 加密保护。
34
+ 5. 运行期日志和状态文件统一写入本机 ~/.config/vibego/,敏感数据不出终端;
35
+
36
+ ## 环境依赖
37
+
38
+ **终端环境安装且登录了 codex/claudeCode**
39
+
40
+ ```bash
41
+ brew install python@3.11 tmux
42
+ python3 -m venv ~/.config/vibego/runtime/venv
43
+ source ~/.config/vibego/runtime/venv/bin/activate
44
+ ```
45
+
46
+ ## 快速开始
47
+
48
+ ### 创建并获取 telegram bot token
49
+
50
+ 建议通过 PyPI 安装的 `vibego` 命令完成初始化与启动,示例:
51
+
52
+ - 首次创建 Token 可参考 Telegram 官方 BotFather 指南(<https://core.telegram.org/bots#botfather>):
53
+ 1) 在 Telegram 客户端搜索 `@BotFather` 并开始对话;
54
+ 2) 发送 `/start`,然后依次发送 `/newbot`,根据提示输入机器人名称与用户名;
55
+ 3) BotFather 将返回以 `123456789:ABC...` 形式的 HTTP API Token,请妥善保存;
56
+ 4) 若需重新获取或重置 Token,可在同一对话中发送 `/token`,选择目标机器人后领取新令牌。
57
+
58
+ ### 安装 & 启动 vibego
59
+
60
+ 执行该步骤之前,确保您的终端已经安装并登录了 codex /claudeCode,且已经准备好了 telegram bot token。
61
+
62
+ - 考虑将[AGENTS-zh.md](AGENTS-zh.md)中的内容结合到你的 `$HOME/.codex/AGENTS.md` 或 `$HOME/.claude/CLAUDE.md` 中
63
+
64
+ ```bash
65
+ pipx install vibego # 或者 pip install --user vibego
66
+ vibego init # 初始化配置目录并写入 Master Bot Token
67
+ vibego start # 启动 master 服务
68
+ ```
69
+
70
+ 然后在 telegram 创建的 bot中点击`/statr`,enjoy it!
71
+
72
+ ## 目录结构
73
+
74
+ - `bot.py`:aiogram 3 worker,支持多模型会话解析(Codex / ClaudeCode / 预留 Gemini)。
75
+ - `scripts/run_bot.sh`:一键启动脚本(自动建 venv、启动 tmux + 模型 CLI + bot)。
76
+ - `scripts/stop_bot.sh`:终止当前项目 worker(tmux + bot 进程)。
77
+ - `scripts/start_tmux_codex.sh`:底层 tmux/CLI 启动器,被 `run_bot.sh` 调用,默认以 `tmux -u` 强制启用 UTF-8。
78
+ - `scripts/models/`:模型配置模块(`common.sh`/`codex.sh`/`claudecode.sh`/`gemini.sh`)。
79
+ - `logs/<model>/<project>/`:运行日志(`run_bot.log`、`model.log`、`bot.pid`、`current_session.txt`),默认位于
80
+ `~/.config/vibego/logs/`。
81
+ - `model.log` 由 `scripts/log_writer.py` 控制,单文件上限 20MB,仅保留最近 24 小时的归档(可通过 `MODEL_LOG_MAX_BYTES`、
82
+ `MODEL_LOG_RETENTION_SECONDS` 覆盖)。
83
+ - `.env.example`:环境配置模板(复制为 `.env` 后按需修改)。
84
+
85
+ ## 日志 & 目录
86
+
87
+ ```
88
+ ~/.config/vibego/logs/
89
+ └─ codex/
90
+ └─ mall-backend/
91
+ ├─ run_bot.log # run_bot.sh 输出
92
+ ├─ model.log # tmux pipe-pane 捕获的模型 CLI 输出
93
+ ├─ bot.pid # 当前 bot 进程 PID(stop_bot.sh 使用)
94
+ └─ current_session.txt # 最近一次 JSONL 会话指针
95
+ ```
96
+
97
+ > 从 2025 年起,所有日志、数据库、状态文件默认写入 `~/.config/vibego/`;`scripts/migrate_runtime.sh`
98
+ > 可将旧版本在仓库内生成的运行期文件一次性迁移到该目录。
99
+
100
+ ## 模型切换
101
+
102
+ - 支持参数:`codex`、`claudecode`、`gemini`(占位)。
103
+ - 切换流程:`stop_bot.sh --model <旧>` → `run_bot.sh --model <新>`。
104
+ - 每个模型在 `scripts/models/<model>.sh` 中维护独立配置,互不依赖;公共逻辑位于 `scripts/models/common.sh`。
105
+ - `ACTIVE_MODEL` 会在 `/start` 回复及日志中显示,并写入环境变量供 `bot.py` 使用。
106
+
107
+ ### Codex
108
+
109
+ | 变量 | 说明 |
110
+ |----------------------|-----------------------------------------------|
111
+ | `CODEX_WORKDIR` | Codex CLI 工作目录(默认 `.env` 中自定义或 fallback ROOT) |
112
+ | `CODEX_CMD` | 启动命令,默认 `codex --dangerously-bypass-...` |
113
+ | `CODEX_SESSION_ROOT` | JSONL 根目录(默认 `~/.codex/sessions`) |
114
+ | `CODEX_SESSION_GLOB` | JSONL 文件匹配(默认 `rollout-*.jsonl`) |
115
+
116
+ ### ClaudeCode
117
+
118
+ | 变量 | 说明 |
119
+ |-----------------------|---------------------------------------|
120
+ | `CLAUDE_WORKDIR` | 工程目录(默认与 Codex 相同) |
121
+ | `CLAUDE_CMD` | CLI 启动命令,示例 `claude --project <path>` |
122
+ | `CLAUDE_PROJECT_ROOT` | JSONL 根目录(默认 `~/.claude/projects`) |
123
+ | `CLAUDE_SESSION_GLOB` | JSONL 文件匹配(默认 `*.jsonl`) |
124
+ | `CLAUDE_PROJECT_KEY` | 可选:显式指定 `~/.claude/projects/<key>` 路径 |
125
+
126
+ ### Gemini(预留)
127
+
128
+ - `scripts/models/gemini.sh` 暂使用占位命令,可在后续接入官方 CLI 时扩展。
129
+
130
+ ## aiogram Worker 行为
131
+
132
+ - `/start`:返回 `chat_id`、`MODE`、`ACTIVE_MODEL`;日志打印 `chat_id` 与 `user_id`。
133
+ - 文本消息:
134
+ 1. 依据 `ACTIVE_MODEL` 选择 `SessionAdapter`,读取 `current_session.txt` 中记录的 JSONL 文件,必要时搜索
135
+ `MODEL_SESSION_ROOT` 以回填。
136
+ 2. 将 prompt 注入 tmux(发送 `Esc` 清空模式、`C-j` 换行、`Enter` 提交)。
137
+ 3. 首次读取 `SESSION_OFFSETS` 初始化偏移;随后通过 `_deliver_pending_messages()` 补发当前尾部内容并持续轮询 JSONL。
138
+ 4. watcher 阶段提示 `ACTIVE_MODEL` 正在处理中,完成后自动推送结果(保留 Markdown)。
139
+ - MODE=A 下仍支持 `AGENT_CMD` 直接执行 CLI。
140
+
141
+ ## 新增脚本
142
+
143
+ - `run_bot.sh`
144
+ - `--model <name>`:codex / claudecode / gemini。
145
+ - `--project <slug>`:日志/会话目录名称;未提供时依据工作目录推导。
146
+ - `--foreground`:前台运行(默认后台 + `nohup`)。
147
+ - `--no-stop`:启动前跳过 stop(默认先执行 `stop_bot.sh` 保证幂等)。
148
+ - `stop_bot.sh`
149
+ - 幂等终止:`tmux kill-session`、关闭 `bot.pid` 指向的进程、移除缓存。
150
+ - 示例:`./scripts/stop_bot.sh --model codex --project mall-backend`。
151
+
152
+ ## 配置要点
153
+
154
+ ### `.env`(Master 全局配置)
155
+
156
+ - 文件位置:`~/.config/vibego/.env`(可通过环境变量 `VIBEGO_CONFIG_DIR` 自定义)。
157
+ - `MASTER_BOT_TOKEN`:master bot 的 Token,由 `vibego init` 引导输入,启动时必须存在。
158
+ - `MASTER_CHAT_ID` / `MASTER_USER_ID`:首次在 Telegram 与 master 交互时自动写入,表示已授权的管理员账号。
159
+ - `MASTER_WHITELIST`:逗号分隔的 chat_id 列表,留空表示不限制;若与自动写入冲突以最新值为准。
160
+ - 其他可选变量(代理、日志级别、默认模型等)可按需新增,未设置时脚本使用默认值。
161
+
162
+ - 项目配置持久化在 `~/.config/vibego/config/master.db`(SQLite),对应的 JSON 镜像为
163
+ `~/.config/vibego/config/projects.json`。如需离线编辑,可参考仓库内的 `config/projects.json.example` 模板。
164
+ - Master「⚙️ 项目管理」可新增/编辑/删除项目;仍可离线编辑 JSON,启动时会自动导入并同步至数据库。
165
+ - 必填字段:`bot_name`、`bot_token`、`project_slug`、`default_model`。
166
+ - 可选字段:`workdir`(项目路径)、`allowed_chat_id`(用于预设授权)。留空时,worker 首次收到消息会自动记录 chat_id 并写回
167
+ `~/.config/vibego/state/master_state.json`。
168
+ - 其他自定义字段暂不读取。
169
+
170
+ ### 自动授权 & 状态
171
+
172
+ - worker 启动时若 `allowed_chat_id` 为空,首次合法消息会写入 `state/state.json` 并立即生效。
173
+ - master 重启:先调用 `stop_bot.sh` 清理,再依据 state 还原正在运行的项目。
174
+
175
+ ## 后续规划
176
+
177
+ - Master bot 将统一轮询多个项目 bot,并调用 run/stop 脚本管理
178
+ worker;当前版本先提供 worker 端结构与日志规范。
179
+ - Gemini CLI 接入待官方方案确定后补充。
180
+
181
+ ## 注意
182
+
183
+ - `~/.config/vibego/.env` 内包含敏感 Token 与管理员信息,请勿提交至版本库。
184
+ - 若需减少日志体积,可按需清理 `logs/<model>/<project>/` 或调整脚本输出阈值。
185
+ - 如果以源码仓库方式运行过旧版本,请执行 `./scripts/migrate_runtime.sh` 并确认仓库中仅保留 `.example`
186
+ 模板文件,避免误将数据库或日志提交至 Git。
187
+ - Master 会缓存版本检测结果,每个版本只提醒一次;如需立即重试可执行 `/projects` 或重启 master。
188
+
189
+ ## Master 控制
190
+
191
+ - 管理员 Bot 使用 `MASTER_BOT_TOKEN` 启动(运行 `python master.py`)。
192
+ - 项目列表由 Master 仓库(`~/.config/vibego/config/master.db`)维护,可通过项目管理按钮或
193
+ `~/.config/vibego/config/projects.json` 同步文件更新。示例字段:
194
+ - `bot_name`:对应 Telegram 机器人的用户名(可带或不带 `@`,展示与交互时自动加 `@`)
195
+ - `bot_token`:对应 worker 的 Telegram Token
196
+ - `default_model`:默认模型(codex / claudecode / gemini)
197
+ - `project_slug`:日志/目录名称
198
+ - `workdir`:项目工作目录(可选)
199
+ - `allowed_chat_id`:项目 worker 的授权 chat(用于 run_bot 时注入环境)
200
+ - 状态持久化:`~/.config/vibego/state/master_state.json` 自动记录各项目当前模型与运行状态,master 重启时会先 `stop_bot.sh`
201
+ 清理现场,再根据状态恢复。
202
+
203
+ ### 管理命令
204
+
205
+ | 命令 | 说明 |
206
+ |-----------------------------|---------------------------------------------------------------|
207
+ | `/projects` | 列出所有项目当前状态与模型 |
208
+ | `/run <project> [model]` | 启动指定项目 worker,模型可选(默认使用当前/配置值) |
209
+ | `/stop <project>` | 停止项目 worker |
210
+ | `/switch <project> <model>` | 停止后以新模型重新启动 |
211
+ | `/start` | 显示帮助与项目数量 |
212
+ | `/upgrade` | 执行 `pipx upgrade vibego && vibego stop && vibego start` 完成自升级 |
213
+
214
+ - `<project>` 参数可填写 `project_slug` 或对应 `@bot_name`,命令回复将自动展示可点击的 `@` 链接。
215
+
216
+ > master 仅与管理员 bot 交互;项目 bot 仍由 worker(run_bot.sh 启动的 `bot.py`)负责处理业务消息。
@@ -0,0 +1,195 @@
1
+ # vibego - 通过 telegram 随时随地的进行 vibe coding
2
+
3
+ **通过 Telegram 随时随地驱动你的终端 AI CLI(支持 Codex / ClaudeCode)**
4
+
5
+ For the english version, see [README-en](README-en.md).
6
+
7
+ ## 功能介绍
8
+
9
+ 1. 通过 Telegram 随时随地驱动你的终端 AI CLI;
10
+ 2. 通过 telegram 做到简单的任务管理与缺陷报告,可在 Telegram 中直接记录并追踪;
11
+ 3. 通过 telegram 随时在 Codex / ClaudeCode 终端 CLI 间一键切换;
12
+ 4. 通过 Telegram Bot API 的 HTTPS 请求通道传输指令到 CLI,链路全程由 TLS 加密保护。
13
+ 5. 运行期日志和状态文件统一写入本机 ~/.config/vibego/,敏感数据不出终端;
14
+
15
+ ## 环境依赖
16
+
17
+ **终端环境安装且登录了 codex/claudeCode**
18
+
19
+ ```bash
20
+ brew install python@3.11 tmux
21
+ python3 -m venv ~/.config/vibego/runtime/venv
22
+ source ~/.config/vibego/runtime/venv/bin/activate
23
+ ```
24
+
25
+ ## 快速开始
26
+
27
+ ### 创建并获取 telegram bot token
28
+
29
+ 建议通过 PyPI 安装的 `vibego` 命令完成初始化与启动,示例:
30
+
31
+ - 首次创建 Token 可参考 Telegram 官方 BotFather 指南(<https://core.telegram.org/bots#botfather>):
32
+ 1) 在 Telegram 客户端搜索 `@BotFather` 并开始对话;
33
+ 2) 发送 `/start`,然后依次发送 `/newbot`,根据提示输入机器人名称与用户名;
34
+ 3) BotFather 将返回以 `123456789:ABC...` 形式的 HTTP API Token,请妥善保存;
35
+ 4) 若需重新获取或重置 Token,可在同一对话中发送 `/token`,选择目标机器人后领取新令牌。
36
+
37
+ ### 安装 & 启动 vibego
38
+
39
+ 执行该步骤之前,确保您的终端已经安装并登录了 codex /claudeCode,且已经准备好了 telegram bot token。
40
+
41
+ - 考虑将[AGENTS-zh.md](AGENTS-zh.md)中的内容结合到你的 `$HOME/.codex/AGENTS.md` 或 `$HOME/.claude/CLAUDE.md` 中
42
+
43
+ ```bash
44
+ pipx install vibego # 或者 pip install --user vibego
45
+ vibego init # 初始化配置目录并写入 Master Bot Token
46
+ vibego start # 启动 master 服务
47
+ ```
48
+
49
+ 然后在 telegram 创建的 bot中点击`/statr`,enjoy it!
50
+
51
+ ## 目录结构
52
+
53
+ - `bot.py`:aiogram 3 worker,支持多模型会话解析(Codex / ClaudeCode / 预留 Gemini)。
54
+ - `scripts/run_bot.sh`:一键启动脚本(自动建 venv、启动 tmux + 模型 CLI + bot)。
55
+ - `scripts/stop_bot.sh`:终止当前项目 worker(tmux + bot 进程)。
56
+ - `scripts/start_tmux_codex.sh`:底层 tmux/CLI 启动器,被 `run_bot.sh` 调用,默认以 `tmux -u` 强制启用 UTF-8。
57
+ - `scripts/models/`:模型配置模块(`common.sh`/`codex.sh`/`claudecode.sh`/`gemini.sh`)。
58
+ - `logs/<model>/<project>/`:运行日志(`run_bot.log`、`model.log`、`bot.pid`、`current_session.txt`),默认位于
59
+ `~/.config/vibego/logs/`。
60
+ - `model.log` 由 `scripts/log_writer.py` 控制,单文件上限 20MB,仅保留最近 24 小时的归档(可通过 `MODEL_LOG_MAX_BYTES`、
61
+ `MODEL_LOG_RETENTION_SECONDS` 覆盖)。
62
+ - `.env.example`:环境配置模板(复制为 `.env` 后按需修改)。
63
+
64
+ ## 日志 & 目录
65
+
66
+ ```
67
+ ~/.config/vibego/logs/
68
+ └─ codex/
69
+ └─ mall-backend/
70
+ ├─ run_bot.log # run_bot.sh 输出
71
+ ├─ model.log # tmux pipe-pane 捕获的模型 CLI 输出
72
+ ├─ bot.pid # 当前 bot 进程 PID(stop_bot.sh 使用)
73
+ └─ current_session.txt # 最近一次 JSONL 会话指针
74
+ ```
75
+
76
+ > 从 2025 年起,所有日志、数据库、状态文件默认写入 `~/.config/vibego/`;`scripts/migrate_runtime.sh`
77
+ > 可将旧版本在仓库内生成的运行期文件一次性迁移到该目录。
78
+
79
+ ## 模型切换
80
+
81
+ - 支持参数:`codex`、`claudecode`、`gemini`(占位)。
82
+ - 切换流程:`stop_bot.sh --model <旧>` → `run_bot.sh --model <新>`。
83
+ - 每个模型在 `scripts/models/<model>.sh` 中维护独立配置,互不依赖;公共逻辑位于 `scripts/models/common.sh`。
84
+ - `ACTIVE_MODEL` 会在 `/start` 回复及日志中显示,并写入环境变量供 `bot.py` 使用。
85
+
86
+ ### Codex
87
+
88
+ | 变量 | 说明 |
89
+ |----------------------|-----------------------------------------------|
90
+ | `CODEX_WORKDIR` | Codex CLI 工作目录(默认 `.env` 中自定义或 fallback ROOT) |
91
+ | `CODEX_CMD` | 启动命令,默认 `codex --dangerously-bypass-...` |
92
+ | `CODEX_SESSION_ROOT` | JSONL 根目录(默认 `~/.codex/sessions`) |
93
+ | `CODEX_SESSION_GLOB` | JSONL 文件匹配(默认 `rollout-*.jsonl`) |
94
+
95
+ ### ClaudeCode
96
+
97
+ | 变量 | 说明 |
98
+ |-----------------------|---------------------------------------|
99
+ | `CLAUDE_WORKDIR` | 工程目录(默认与 Codex 相同) |
100
+ | `CLAUDE_CMD` | CLI 启动命令,示例 `claude --project <path>` |
101
+ | `CLAUDE_PROJECT_ROOT` | JSONL 根目录(默认 `~/.claude/projects`) |
102
+ | `CLAUDE_SESSION_GLOB` | JSONL 文件匹配(默认 `*.jsonl`) |
103
+ | `CLAUDE_PROJECT_KEY` | 可选:显式指定 `~/.claude/projects/<key>` 路径 |
104
+
105
+ ### Gemini(预留)
106
+
107
+ - `scripts/models/gemini.sh` 暂使用占位命令,可在后续接入官方 CLI 时扩展。
108
+
109
+ ## aiogram Worker 行为
110
+
111
+ - `/start`:返回 `chat_id`、`MODE`、`ACTIVE_MODEL`;日志打印 `chat_id` 与 `user_id`。
112
+ - 文本消息:
113
+ 1. 依据 `ACTIVE_MODEL` 选择 `SessionAdapter`,读取 `current_session.txt` 中记录的 JSONL 文件,必要时搜索
114
+ `MODEL_SESSION_ROOT` 以回填。
115
+ 2. 将 prompt 注入 tmux(发送 `Esc` 清空模式、`C-j` 换行、`Enter` 提交)。
116
+ 3. 首次读取 `SESSION_OFFSETS` 初始化偏移;随后通过 `_deliver_pending_messages()` 补发当前尾部内容并持续轮询 JSONL。
117
+ 4. watcher 阶段提示 `ACTIVE_MODEL` 正在处理中,完成后自动推送结果(保留 Markdown)。
118
+ - MODE=A 下仍支持 `AGENT_CMD` 直接执行 CLI。
119
+
120
+ ## 新增脚本
121
+
122
+ - `run_bot.sh`
123
+ - `--model <name>`:codex / claudecode / gemini。
124
+ - `--project <slug>`:日志/会话目录名称;未提供时依据工作目录推导。
125
+ - `--foreground`:前台运行(默认后台 + `nohup`)。
126
+ - `--no-stop`:启动前跳过 stop(默认先执行 `stop_bot.sh` 保证幂等)。
127
+ - `stop_bot.sh`
128
+ - 幂等终止:`tmux kill-session`、关闭 `bot.pid` 指向的进程、移除缓存。
129
+ - 示例:`./scripts/stop_bot.sh --model codex --project mall-backend`。
130
+
131
+ ## 配置要点
132
+
133
+ ### `.env`(Master 全局配置)
134
+
135
+ - 文件位置:`~/.config/vibego/.env`(可通过环境变量 `VIBEGO_CONFIG_DIR` 自定义)。
136
+ - `MASTER_BOT_TOKEN`:master bot 的 Token,由 `vibego init` 引导输入,启动时必须存在。
137
+ - `MASTER_CHAT_ID` / `MASTER_USER_ID`:首次在 Telegram 与 master 交互时自动写入,表示已授权的管理员账号。
138
+ - `MASTER_WHITELIST`:逗号分隔的 chat_id 列表,留空表示不限制;若与自动写入冲突以最新值为准。
139
+ - 其他可选变量(代理、日志级别、默认模型等)可按需新增,未设置时脚本使用默认值。
140
+
141
+ - 项目配置持久化在 `~/.config/vibego/config/master.db`(SQLite),对应的 JSON 镜像为
142
+ `~/.config/vibego/config/projects.json`。如需离线编辑,可参考仓库内的 `config/projects.json.example` 模板。
143
+ - Master「⚙️ 项目管理」可新增/编辑/删除项目;仍可离线编辑 JSON,启动时会自动导入并同步至数据库。
144
+ - 必填字段:`bot_name`、`bot_token`、`project_slug`、`default_model`。
145
+ - 可选字段:`workdir`(项目路径)、`allowed_chat_id`(用于预设授权)。留空时,worker 首次收到消息会自动记录 chat_id 并写回
146
+ `~/.config/vibego/state/master_state.json`。
147
+ - 其他自定义字段暂不读取。
148
+
149
+ ### 自动授权 & 状态
150
+
151
+ - worker 启动时若 `allowed_chat_id` 为空,首次合法消息会写入 `state/state.json` 并立即生效。
152
+ - master 重启:先调用 `stop_bot.sh` 清理,再依据 state 还原正在运行的项目。
153
+
154
+ ## 后续规划
155
+
156
+ - Master bot 将统一轮询多个项目 bot,并调用 run/stop 脚本管理
157
+ worker;当前版本先提供 worker 端结构与日志规范。
158
+ - Gemini CLI 接入待官方方案确定后补充。
159
+
160
+ ## 注意
161
+
162
+ - `~/.config/vibego/.env` 内包含敏感 Token 与管理员信息,请勿提交至版本库。
163
+ - 若需减少日志体积,可按需清理 `logs/<model>/<project>/` 或调整脚本输出阈值。
164
+ - 如果以源码仓库方式运行过旧版本,请执行 `./scripts/migrate_runtime.sh` 并确认仓库中仅保留 `.example`
165
+ 模板文件,避免误将数据库或日志提交至 Git。
166
+ - Master 会缓存版本检测结果,每个版本只提醒一次;如需立即重试可执行 `/projects` 或重启 master。
167
+
168
+ ## Master 控制
169
+
170
+ - 管理员 Bot 使用 `MASTER_BOT_TOKEN` 启动(运行 `python master.py`)。
171
+ - 项目列表由 Master 仓库(`~/.config/vibego/config/master.db`)维护,可通过项目管理按钮或
172
+ `~/.config/vibego/config/projects.json` 同步文件更新。示例字段:
173
+ - `bot_name`:对应 Telegram 机器人的用户名(可带或不带 `@`,展示与交互时自动加 `@`)
174
+ - `bot_token`:对应 worker 的 Telegram Token
175
+ - `default_model`:默认模型(codex / claudecode / gemini)
176
+ - `project_slug`:日志/目录名称
177
+ - `workdir`:项目工作目录(可选)
178
+ - `allowed_chat_id`:项目 worker 的授权 chat(用于 run_bot 时注入环境)
179
+ - 状态持久化:`~/.config/vibego/state/master_state.json` 自动记录各项目当前模型与运行状态,master 重启时会先 `stop_bot.sh`
180
+ 清理现场,再根据状态恢复。
181
+
182
+ ### 管理命令
183
+
184
+ | 命令 | 说明 |
185
+ |-----------------------------|---------------------------------------------------------------|
186
+ | `/projects` | 列出所有项目当前状态与模型 |
187
+ | `/run <project> [model]` | 启动指定项目 worker,模型可选(默认使用当前/配置值) |
188
+ | `/stop <project>` | 停止项目 worker |
189
+ | `/switch <project> <model>` | 停止后以新模型重新启动 |
190
+ | `/start` | 显示帮助与项目数量 |
191
+ | `/upgrade` | 执行 `pipx upgrade vibego && vibego stop && vibego start` 完成自升级 |
192
+
193
+ - `<project>` 参数可填写 `project_slug` 或对应 `@bot_name`,命令回复将自动展示可点击的 `@` 链接。
194
+
195
+ > master 仅与管理员 bot 交互;项目 bot 仍由 worker(run_bot.sh 启动的 `bot.py`)负责处理业务消息。