vibego 0.2.53__tar.gz → 0.2.54__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.

Potentially problematic release.


This version of vibego might be problematic. Click here for more details.

Files changed (462) hide show
  1. {vibego-0.2.53 → vibego-0.2.54}/PKG-INFO +1 -1
  2. {vibego-0.2.53 → vibego-0.2.54}/bot.py +18 -419
  3. {vibego-0.2.53 → vibego-0.2.54}/pyproject.toml +2 -2
  4. {vibego-0.2.53 → vibego-0.2.54}/vibego.egg-info/PKG-INFO +1 -1
  5. {vibego-0.2.53 → vibego-0.2.54}/vibego_cli/__init__.py +1 -1
  6. {vibego-0.2.53 → vibego-0.2.54}/MANIFEST.in +0 -0
  7. {vibego-0.2.53 → vibego-0.2.54}/README.md +0 -0
  8. {vibego-0.2.53 → vibego-0.2.54}/config/projects.json.example +0 -0
  9. {vibego-0.2.53 → vibego-0.2.54}/logging_setup.py +0 -0
  10. {vibego-0.2.53 → vibego-0.2.54}/master.py +0 -0
  11. {vibego-0.2.53 → vibego-0.2.54}/project_repository.py +0 -0
  12. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/__init__.py +0 -0
  13. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/__main__.py +0 -0
  14. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/__pip-runner__.py +0 -0
  15. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/__init__.py +0 -0
  16. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/build_env.py +0 -0
  17. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/cache.py +0 -0
  18. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/cli/__init__.py +0 -0
  19. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/cli/autocompletion.py +0 -0
  20. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/cli/base_command.py +0 -0
  21. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/cli/cmdoptions.py +0 -0
  22. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/cli/command_context.py +0 -0
  23. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/cli/index_command.py +0 -0
  24. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/cli/main.py +0 -0
  25. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/cli/main_parser.py +0 -0
  26. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/cli/parser.py +0 -0
  27. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/cli/progress_bars.py +0 -0
  28. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/cli/req_command.py +0 -0
  29. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/cli/spinners.py +0 -0
  30. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/cli/status_codes.py +0 -0
  31. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/commands/__init__.py +0 -0
  32. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/commands/cache.py +0 -0
  33. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/commands/check.py +0 -0
  34. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/commands/completion.py +0 -0
  35. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/commands/configuration.py +0 -0
  36. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/commands/debug.py +0 -0
  37. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/commands/download.py +0 -0
  38. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/commands/freeze.py +0 -0
  39. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/commands/hash.py +0 -0
  40. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/commands/help.py +0 -0
  41. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/commands/index.py +0 -0
  42. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/commands/inspect.py +0 -0
  43. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/commands/install.py +0 -0
  44. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/commands/list.py +0 -0
  45. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/commands/lock.py +0 -0
  46. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/commands/search.py +0 -0
  47. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/commands/show.py +0 -0
  48. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/commands/uninstall.py +0 -0
  49. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/commands/wheel.py +0 -0
  50. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/configuration.py +0 -0
  51. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/distributions/__init__.py +0 -0
  52. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/distributions/base.py +0 -0
  53. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/distributions/installed.py +0 -0
  54. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/distributions/sdist.py +0 -0
  55. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/distributions/wheel.py +0 -0
  56. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/exceptions.py +0 -0
  57. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/index/__init__.py +0 -0
  58. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/index/collector.py +0 -0
  59. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/index/package_finder.py +0 -0
  60. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/index/sources.py +0 -0
  61. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/locations/__init__.py +0 -0
  62. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/locations/_distutils.py +0 -0
  63. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/locations/_sysconfig.py +0 -0
  64. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/locations/base.py +0 -0
  65. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/main.py +0 -0
  66. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/metadata/__init__.py +0 -0
  67. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/metadata/_json.py +0 -0
  68. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/metadata/base.py +0 -0
  69. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/metadata/importlib/__init__.py +0 -0
  70. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/metadata/importlib/_compat.py +0 -0
  71. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/metadata/importlib/_dists.py +0 -0
  72. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/metadata/importlib/_envs.py +0 -0
  73. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/metadata/pkg_resources.py +0 -0
  74. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/models/__init__.py +0 -0
  75. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/models/candidate.py +0 -0
  76. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/models/direct_url.py +0 -0
  77. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/models/format_control.py +0 -0
  78. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/models/index.py +0 -0
  79. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/models/installation_report.py +0 -0
  80. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/models/link.py +0 -0
  81. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/models/pylock.py +0 -0
  82. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/models/scheme.py +0 -0
  83. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/models/search_scope.py +0 -0
  84. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/models/selection_prefs.py +0 -0
  85. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/models/target_python.py +0 -0
  86. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/models/wheel.py +0 -0
  87. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/network/__init__.py +0 -0
  88. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/network/auth.py +0 -0
  89. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/network/cache.py +0 -0
  90. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/network/download.py +0 -0
  91. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/network/lazy_wheel.py +0 -0
  92. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/network/session.py +0 -0
  93. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/network/utils.py +0 -0
  94. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/network/xmlrpc.py +0 -0
  95. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/operations/__init__.py +0 -0
  96. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/operations/build/__init__.py +0 -0
  97. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/operations/build/build_tracker.py +0 -0
  98. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/operations/build/metadata.py +0 -0
  99. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/operations/build/metadata_editable.py +0 -0
  100. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/operations/build/metadata_legacy.py +0 -0
  101. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/operations/build/wheel.py +0 -0
  102. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/operations/build/wheel_editable.py +0 -0
  103. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/operations/build/wheel_legacy.py +0 -0
  104. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/operations/check.py +0 -0
  105. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/operations/freeze.py +0 -0
  106. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/operations/install/__init__.py +0 -0
  107. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/operations/install/editable_legacy.py +0 -0
  108. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/operations/install/wheel.py +0 -0
  109. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/operations/prepare.py +0 -0
  110. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/pyproject.py +0 -0
  111. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/req/__init__.py +0 -0
  112. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/req/constructors.py +0 -0
  113. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/req/req_dependency_group.py +0 -0
  114. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/req/req_file.py +0 -0
  115. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/req/req_install.py +0 -0
  116. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/req/req_set.py +0 -0
  117. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/req/req_uninstall.py +0 -0
  118. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/resolution/__init__.py +0 -0
  119. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/resolution/base.py +0 -0
  120. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/resolution/legacy/__init__.py +0 -0
  121. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/resolution/legacy/resolver.py +0 -0
  122. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/resolution/resolvelib/__init__.py +0 -0
  123. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/resolution/resolvelib/base.py +0 -0
  124. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/resolution/resolvelib/candidates.py +0 -0
  125. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/resolution/resolvelib/factory.py +0 -0
  126. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/resolution/resolvelib/found_candidates.py +0 -0
  127. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/resolution/resolvelib/provider.py +0 -0
  128. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/resolution/resolvelib/reporter.py +0 -0
  129. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/resolution/resolvelib/requirements.py +0 -0
  130. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/resolution/resolvelib/resolver.py +0 -0
  131. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/self_outdated_check.py +0 -0
  132. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/utils/__init__.py +0 -0
  133. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/utils/_jaraco_text.py +0 -0
  134. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/utils/_log.py +0 -0
  135. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/utils/appdirs.py +0 -0
  136. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/utils/compat.py +0 -0
  137. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/utils/compatibility_tags.py +0 -0
  138. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/utils/datetime.py +0 -0
  139. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/utils/deprecation.py +0 -0
  140. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/utils/direct_url_helpers.py +0 -0
  141. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/utils/egg_link.py +0 -0
  142. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/utils/entrypoints.py +0 -0
  143. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/utils/filesystem.py +0 -0
  144. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/utils/filetypes.py +0 -0
  145. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/utils/glibc.py +0 -0
  146. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/utils/hashes.py +0 -0
  147. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/utils/logging.py +0 -0
  148. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/utils/misc.py +0 -0
  149. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/utils/packaging.py +0 -0
  150. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/utils/retry.py +0 -0
  151. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/utils/setuptools_build.py +0 -0
  152. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/utils/subprocess.py +0 -0
  153. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/utils/temp_dir.py +0 -0
  154. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/utils/unpacking.py +0 -0
  155. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/utils/urls.py +0 -0
  156. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/utils/virtualenv.py +0 -0
  157. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/utils/wheel.py +0 -0
  158. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/vcs/__init__.py +0 -0
  159. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/vcs/bazaar.py +0 -0
  160. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/vcs/git.py +0 -0
  161. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/vcs/mercurial.py +0 -0
  162. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/vcs/subversion.py +0 -0
  163. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/vcs/versioncontrol.py +0 -0
  164. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/wheel_builder.py +0 -0
  165. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/__init__.py +0 -0
  166. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/cachecontrol/__init__.py +0 -0
  167. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/cachecontrol/_cmd.py +0 -0
  168. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/cachecontrol/adapter.py +0 -0
  169. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/cachecontrol/cache.py +0 -0
  170. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/cachecontrol/caches/__init__.py +0 -0
  171. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/cachecontrol/caches/file_cache.py +0 -0
  172. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/cachecontrol/caches/redis_cache.py +0 -0
  173. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/cachecontrol/controller.py +0 -0
  174. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/cachecontrol/filewrapper.py +0 -0
  175. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/cachecontrol/heuristics.py +0 -0
  176. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/cachecontrol/serialize.py +0 -0
  177. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/cachecontrol/wrapper.py +0 -0
  178. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/certifi/__init__.py +0 -0
  179. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/certifi/__main__.py +0 -0
  180. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/certifi/core.py +0 -0
  181. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/dependency_groups/__init__.py +0 -0
  182. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/dependency_groups/__main__.py +0 -0
  183. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/dependency_groups/_implementation.py +0 -0
  184. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/dependency_groups/_lint_dependency_groups.py +0 -0
  185. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/dependency_groups/_pip_wrapper.py +0 -0
  186. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/dependency_groups/_toml_compat.py +0 -0
  187. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/distlib/__init__.py +0 -0
  188. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/distlib/compat.py +0 -0
  189. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/distlib/resources.py +0 -0
  190. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/distlib/scripts.py +0 -0
  191. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/distlib/util.py +0 -0
  192. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/distro/__init__.py +0 -0
  193. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/distro/__main__.py +0 -0
  194. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/distro/distro.py +0 -0
  195. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/idna/__init__.py +0 -0
  196. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/idna/codec.py +0 -0
  197. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/idna/compat.py +0 -0
  198. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/idna/core.py +0 -0
  199. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/idna/idnadata.py +0 -0
  200. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/idna/intranges.py +0 -0
  201. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/idna/package_data.py +0 -0
  202. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/idna/uts46data.py +0 -0
  203. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/msgpack/__init__.py +0 -0
  204. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/msgpack/exceptions.py +0 -0
  205. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/msgpack/ext.py +0 -0
  206. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/msgpack/fallback.py +0 -0
  207. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/packaging/__init__.py +0 -0
  208. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/packaging/_elffile.py +0 -0
  209. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/packaging/_manylinux.py +0 -0
  210. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/packaging/_musllinux.py +0 -0
  211. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/packaging/_parser.py +0 -0
  212. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/packaging/_structures.py +0 -0
  213. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/packaging/_tokenizer.py +0 -0
  214. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/packaging/licenses/__init__.py +0 -0
  215. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/packaging/licenses/_spdx.py +0 -0
  216. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/packaging/markers.py +0 -0
  217. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/packaging/metadata.py +0 -0
  218. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/packaging/requirements.py +0 -0
  219. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/packaging/specifiers.py +0 -0
  220. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/packaging/tags.py +0 -0
  221. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/packaging/utils.py +0 -0
  222. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/packaging/version.py +0 -0
  223. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/pkg_resources/__init__.py +0 -0
  224. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/platformdirs/__init__.py +0 -0
  225. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/platformdirs/__main__.py +0 -0
  226. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/platformdirs/android.py +0 -0
  227. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/platformdirs/api.py +0 -0
  228. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/platformdirs/macos.py +0 -0
  229. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/platformdirs/unix.py +0 -0
  230. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/platformdirs/version.py +0 -0
  231. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/platformdirs/windows.py +0 -0
  232. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/pygments/__init__.py +0 -0
  233. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/pygments/__main__.py +0 -0
  234. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/pygments/console.py +0 -0
  235. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/pygments/filter.py +0 -0
  236. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/pygments/filters/__init__.py +0 -0
  237. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/pygments/formatter.py +0 -0
  238. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/pygments/formatters/__init__.py +0 -0
  239. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/pygments/formatters/_mapping.py +0 -0
  240. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/pygments/lexer.py +0 -0
  241. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/pygments/lexers/__init__.py +0 -0
  242. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/pygments/lexers/_mapping.py +0 -0
  243. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/pygments/lexers/python.py +0 -0
  244. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/pygments/modeline.py +0 -0
  245. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/pygments/plugin.py +0 -0
  246. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/pygments/regexopt.py +0 -0
  247. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/pygments/scanner.py +0 -0
  248. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/pygments/sphinxext.py +0 -0
  249. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/pygments/style.py +0 -0
  250. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/pygments/styles/__init__.py +0 -0
  251. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/pygments/styles/_mapping.py +0 -0
  252. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/pygments/token.py +0 -0
  253. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/pygments/unistring.py +0 -0
  254. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/pygments/util.py +0 -0
  255. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/pyproject_hooks/__init__.py +0 -0
  256. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/pyproject_hooks/_impl.py +0 -0
  257. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/pyproject_hooks/_in_process/__init__.py +0 -0
  258. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py +0 -0
  259. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/requests/__init__.py +0 -0
  260. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/requests/__version__.py +0 -0
  261. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/requests/_internal_utils.py +0 -0
  262. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/requests/adapters.py +0 -0
  263. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/requests/api.py +0 -0
  264. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/requests/auth.py +0 -0
  265. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/requests/certs.py +0 -0
  266. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/requests/compat.py +0 -0
  267. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/requests/cookies.py +0 -0
  268. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/requests/exceptions.py +0 -0
  269. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/requests/help.py +0 -0
  270. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/requests/hooks.py +0 -0
  271. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/requests/models.py +0 -0
  272. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/requests/packages.py +0 -0
  273. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/requests/sessions.py +0 -0
  274. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/requests/status_codes.py +0 -0
  275. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/requests/structures.py +0 -0
  276. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/requests/utils.py +0 -0
  277. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/resolvelib/__init__.py +0 -0
  278. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/resolvelib/providers.py +0 -0
  279. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/resolvelib/reporters.py +0 -0
  280. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/resolvelib/resolvers/__init__.py +0 -0
  281. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/resolvelib/resolvers/abstract.py +0 -0
  282. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/resolvelib/resolvers/criterion.py +0 -0
  283. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/resolvelib/resolvers/exceptions.py +0 -0
  284. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/resolvelib/resolvers/resolution.py +0 -0
  285. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/resolvelib/structs.py +0 -0
  286. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/__init__.py +0 -0
  287. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/__main__.py +0 -0
  288. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/_cell_widths.py +0 -0
  289. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/_emoji_codes.py +0 -0
  290. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/_emoji_replace.py +0 -0
  291. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/_export_format.py +0 -0
  292. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/_extension.py +0 -0
  293. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/_fileno.py +0 -0
  294. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/_inspect.py +0 -0
  295. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/_log_render.py +0 -0
  296. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/_loop.py +0 -0
  297. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/_null_file.py +0 -0
  298. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/_palettes.py +0 -0
  299. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/_pick.py +0 -0
  300. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/_ratio.py +0 -0
  301. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/_spinners.py +0 -0
  302. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/_stack.py +0 -0
  303. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/_timer.py +0 -0
  304. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/_win32_console.py +0 -0
  305. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/_windows.py +0 -0
  306. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/_windows_renderer.py +0 -0
  307. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/_wrap.py +0 -0
  308. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/abc.py +0 -0
  309. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/align.py +0 -0
  310. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/ansi.py +0 -0
  311. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/bar.py +0 -0
  312. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/box.py +0 -0
  313. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/cells.py +0 -0
  314. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/color.py +0 -0
  315. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/color_triplet.py +0 -0
  316. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/columns.py +0 -0
  317. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/console.py +0 -0
  318. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/constrain.py +0 -0
  319. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/containers.py +0 -0
  320. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/control.py +0 -0
  321. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/default_styles.py +0 -0
  322. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/diagnose.py +0 -0
  323. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/emoji.py +0 -0
  324. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/errors.py +0 -0
  325. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/file_proxy.py +0 -0
  326. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/filesize.py +0 -0
  327. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/highlighter.py +0 -0
  328. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/json.py +0 -0
  329. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/jupyter.py +0 -0
  330. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/layout.py +0 -0
  331. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/live.py +0 -0
  332. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/live_render.py +0 -0
  333. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/logging.py +0 -0
  334. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/markup.py +0 -0
  335. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/measure.py +0 -0
  336. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/padding.py +0 -0
  337. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/pager.py +0 -0
  338. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/palette.py +0 -0
  339. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/panel.py +0 -0
  340. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/pretty.py +0 -0
  341. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/progress.py +0 -0
  342. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/progress_bar.py +0 -0
  343. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/prompt.py +0 -0
  344. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/protocol.py +0 -0
  345. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/region.py +0 -0
  346. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/repr.py +0 -0
  347. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/rule.py +0 -0
  348. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/scope.py +0 -0
  349. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/screen.py +0 -0
  350. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/segment.py +0 -0
  351. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/spinner.py +0 -0
  352. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/status.py +0 -0
  353. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/style.py +0 -0
  354. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/styled.py +0 -0
  355. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/syntax.py +0 -0
  356. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/table.py +0 -0
  357. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/terminal_theme.py +0 -0
  358. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/text.py +0 -0
  359. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/theme.py +0 -0
  360. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/themes.py +0 -0
  361. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/traceback.py +0 -0
  362. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/tree.py +0 -0
  363. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/tomli/__init__.py +0 -0
  364. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/tomli/_parser.py +0 -0
  365. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/tomli/_re.py +0 -0
  366. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/tomli/_types.py +0 -0
  367. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/tomli_w/__init__.py +0 -0
  368. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/tomli_w/_writer.py +0 -0
  369. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/truststore/__init__.py +0 -0
  370. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/truststore/_api.py +0 -0
  371. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/truststore/_macos.py +0 -0
  372. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/truststore/_openssl.py +0 -0
  373. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/truststore/_ssl_constants.py +0 -0
  374. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/truststore/_windows.py +0 -0
  375. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/urllib3/__init__.py +0 -0
  376. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/urllib3/_collections.py +0 -0
  377. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/urllib3/_version.py +0 -0
  378. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/urllib3/connection.py +0 -0
  379. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/urllib3/connectionpool.py +0 -0
  380. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/urllib3/contrib/__init__.py +0 -0
  381. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/urllib3/contrib/_appengine_environ.py +0 -0
  382. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/urllib3/contrib/_securetransport/__init__.py +0 -0
  383. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/urllib3/contrib/_securetransport/bindings.py +0 -0
  384. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/urllib3/contrib/_securetransport/low_level.py +0 -0
  385. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/urllib3/contrib/appengine.py +0 -0
  386. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/urllib3/contrib/ntlmpool.py +0 -0
  387. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/urllib3/contrib/pyopenssl.py +0 -0
  388. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/urllib3/contrib/securetransport.py +0 -0
  389. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/urllib3/contrib/socks.py +0 -0
  390. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/urllib3/exceptions.py +0 -0
  391. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/urllib3/fields.py +0 -0
  392. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/urllib3/filepost.py +0 -0
  393. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/urllib3/packages/__init__.py +0 -0
  394. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/urllib3/packages/backports/__init__.py +0 -0
  395. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/urllib3/packages/backports/makefile.py +0 -0
  396. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/urllib3/packages/backports/weakref_finalize.py +0 -0
  397. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/urllib3/packages/six.py +0 -0
  398. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/urllib3/poolmanager.py +0 -0
  399. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/urllib3/request.py +0 -0
  400. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/urllib3/response.py +0 -0
  401. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/urllib3/util/__init__.py +0 -0
  402. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/urllib3/util/connection.py +0 -0
  403. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/urllib3/util/proxy.py +0 -0
  404. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/urllib3/util/queue.py +0 -0
  405. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/urllib3/util/request.py +0 -0
  406. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/urllib3/util/response.py +0 -0
  407. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/urllib3/util/retry.py +0 -0
  408. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/urllib3/util/ssl_.py +0 -0
  409. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/urllib3/util/ssl_match_hostname.py +0 -0
  410. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/urllib3/util/ssltransport.py +0 -0
  411. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/urllib3/util/timeout.py +0 -0
  412. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/urllib3/util/url.py +0 -0
  413. {vibego-0.2.53 → vibego-0.2.54}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/urllib3/util/wait.py +0 -0
  414. {vibego-0.2.53 → vibego-0.2.54}/scripts/__init__.py +0 -0
  415. {vibego-0.2.53 → vibego-0.2.54}/scripts/bump_version.sh +0 -0
  416. {vibego-0.2.53 → vibego-0.2.54}/scripts/log_writer.py +0 -0
  417. {vibego-0.2.53 → vibego-0.2.54}/scripts/master_healthcheck.py +0 -0
  418. {vibego-0.2.53 → vibego-0.2.54}/scripts/models/claudecode.sh +0 -0
  419. {vibego-0.2.53 → vibego-0.2.54}/scripts/models/codex.sh +0 -0
  420. {vibego-0.2.53 → vibego-0.2.54}/scripts/models/common.sh +0 -0
  421. {vibego-0.2.53 → vibego-0.2.54}/scripts/models/gemini.sh +0 -0
  422. {vibego-0.2.53 → vibego-0.2.54}/scripts/publish.sh +0 -0
  423. {vibego-0.2.53 → vibego-0.2.54}/scripts/requirements.txt +0 -0
  424. {vibego-0.2.53 → vibego-0.2.54}/scripts/run_bot.sh +0 -0
  425. {vibego-0.2.53 → vibego-0.2.54}/scripts/start.sh +0 -0
  426. {vibego-0.2.53 → vibego-0.2.54}/scripts/start_tmux_codex.sh +0 -0
  427. {vibego-0.2.53 → vibego-0.2.54}/scripts/stop_all.sh +0 -0
  428. {vibego-0.2.53 → vibego-0.2.54}/scripts/stop_bot.sh +0 -0
  429. {vibego-0.2.53 → vibego-0.2.54}/scripts/test_deps_check.sh +0 -0
  430. {vibego-0.2.53 → vibego-0.2.54}/setup.cfg +0 -0
  431. {vibego-0.2.53 → vibego-0.2.54}/tasks/__init__.py +0 -0
  432. {vibego-0.2.53 → vibego-0.2.54}/tasks/commands.py +0 -0
  433. {vibego-0.2.53 → vibego-0.2.54}/tasks/constants.py +0 -0
  434. {vibego-0.2.53 → vibego-0.2.54}/tasks/fsm.py +0 -0
  435. {vibego-0.2.53 → vibego-0.2.54}/tasks/models.py +0 -0
  436. {vibego-0.2.53 → vibego-0.2.54}/tasks/service.py +0 -0
  437. {vibego-0.2.53 → vibego-0.2.54}/tests/test_auto_compact.py +0 -0
  438. {vibego-0.2.53 → vibego-0.2.54}/tests/test_chat_menu_buttons.py +0 -0
  439. {vibego-0.2.53 → vibego-0.2.54}/tests/test_claudecode_jsonl.py +0 -0
  440. {vibego-0.2.53 → vibego-0.2.54}/tests/test_long_poll_mechanism.py +0 -0
  441. {vibego-0.2.53 → vibego-0.2.54}/tests/test_markdown_guard.py +0 -0
  442. {vibego-0.2.53 → vibego-0.2.54}/tests/test_master_project_management.py +0 -0
  443. {vibego-0.2.53 → vibego-0.2.54}/tests/test_master_restart.py +0 -0
  444. {vibego-0.2.53 → vibego-0.2.54}/tests/test_numbered_reply_inputs.py +0 -0
  445. {vibego-0.2.53 → vibego-0.2.54}/tests/test_plan_progress.py +0 -0
  446. {vibego-0.2.53 → vibego-0.2.54}/tests/test_task_create_flow.py +0 -0
  447. {vibego-0.2.53 → vibego-0.2.54}/tests/test_task_description.py +0 -0
  448. {vibego-0.2.53 → vibego-0.2.54}/tests/test_task_detail_back.py +0 -0
  449. {vibego-0.2.53 → vibego-0.2.54}/tests/test_task_list_entry.py +0 -0
  450. {vibego-0.2.53 → vibego-0.2.54}/tests/test_telegram_markdown_renderer.py +0 -0
  451. {vibego-0.2.53 → vibego-0.2.54}/tests/test_unescape_markdown.py +0 -0
  452. {vibego-0.2.53 → vibego-0.2.54}/tests/test_version_display.py +0 -0
  453. {vibego-0.2.53 → vibego-0.2.54}/vibego.egg-info/SOURCES.txt +0 -0
  454. {vibego-0.2.53 → vibego-0.2.54}/vibego.egg-info/dependency_links.txt +0 -0
  455. {vibego-0.2.53 → vibego-0.2.54}/vibego.egg-info/entry_points.txt +0 -0
  456. {vibego-0.2.53 → vibego-0.2.54}/vibego.egg-info/requires.txt +0 -0
  457. {vibego-0.2.53 → vibego-0.2.54}/vibego.egg-info/top_level.txt +0 -0
  458. {vibego-0.2.53 → vibego-0.2.54}/vibego_cli/__main__.py +0 -0
  459. {vibego-0.2.53 → vibego-0.2.54}/vibego_cli/config.py +0 -0
  460. {vibego-0.2.53 → vibego-0.2.54}/vibego_cli/data/worker_requirements.txt +0 -0
  461. {vibego-0.2.53 → vibego-0.2.54}/vibego_cli/deps.py +0 -0
  462. {vibego-0.2.53 → vibego-0.2.54}/vibego_cli/main.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: vibego
3
- Version: 0.2.53
3
+ Version: 0.2.54
4
4
  Summary: vibego CLI:用于初始化与管理 Telegram Master Bot 的工具
5
5
  Author: Hypha
6
6
  License-Expression: LicenseRef-Proprietary
@@ -37,8 +37,6 @@ from aiogram.types import (
37
37
  ReplyKeyboardRemove,
38
38
  Update,
39
39
  User,
40
- PhotoSize,
41
- Document,
42
40
  )
43
41
  from aiogram.client.session.aiohttp import AiohttpSession
44
42
  from aiogram.enums import ParseMode
@@ -87,15 +85,6 @@ def load_env(p: str = ".env"):
87
85
 
88
86
  load_env()
89
87
 
90
- # 导入媒体处理器
91
- try:
92
- from media_handler import MediaHandler, MediaConfig
93
- HAS_MEDIA_HANDLER = True
94
- except ImportError:
95
- HAS_MEDIA_HANDLER = False
96
- MediaHandler = None
97
- MediaConfig = None
98
-
99
88
  # --- 日志 & 上下文 ---
100
89
  PROJECT_NAME = os.environ.get("PROJECT_NAME", "").strip()
101
90
  ACTIVE_MODEL = (os.environ.get("ACTIVE_MODEL") or os.environ.get("MODEL_NAME") or "").strip()
@@ -1171,7 +1160,6 @@ async def _push_task_to_model(
1171
1160
  supplement: Optional[str],
1172
1161
  actor: Optional[str],
1173
1162
  is_bug_report: bool = False,
1174
- media_files: Optional[List[Dict[str, Any]]] = None,
1175
1163
  ) -> tuple[bool, str, Optional[Path]]:
1176
1164
  """推送任务信息到模型,并附带补充描述。
1177
1165
 
@@ -1182,30 +1170,17 @@ async def _push_task_to_model(
1182
1170
  supplement: 补充描述
1183
1171
  actor: 操作者
1184
1172
  is_bug_report: 是否为缺陷报告推送
1185
- media_files: 媒体文件列表
1186
1173
  """
1187
1174
 
1188
1175
  history_text, history_count = await _build_history_context_for_model(task.id)
1189
1176
  notes = await TASK_SERVICE.list_notes(task.id)
1190
-
1191
- # 使用增强版函数(如果有媒体文件)
1192
- if media_files:
1193
- prompt = _build_model_push_payload_with_media(
1194
- task,
1195
- supplement=supplement,
1196
- history=history_text,
1197
- notes=notes,
1198
- media_files=media_files,
1199
- is_bug_report=is_bug_report,
1200
- )
1201
- else:
1202
- prompt = _build_model_push_payload(
1203
- task,
1204
- supplement=supplement,
1205
- history=history_text,
1206
- notes=notes,
1207
- is_bug_report=is_bug_report,
1208
- )
1177
+ prompt = _build_model_push_payload(
1178
+ task,
1179
+ supplement=supplement,
1180
+ history=history_text,
1181
+ notes=notes,
1182
+ is_bug_report=is_bug_report,
1183
+ )
1209
1184
  success, session_path = await _dispatch_prompt_to_model(
1210
1185
  chat_id,
1211
1186
  prompt,
@@ -2023,57 +1998,6 @@ def _build_model_push_payload(
2023
1998
  return _strip_legacy_bug_header(result or body)
2024
1999
 
2025
2000
 
2026
- def _build_model_push_payload_with_media(
2027
- task: TaskRecord,
2028
- supplement: Optional[str] = None,
2029
- history: Optional[str] = None,
2030
- notes: Optional[Sequence[TaskNoteRecord]] = None,
2031
- media_files: Optional[List[Dict[str, Any]]] = None,
2032
- is_bug_report: bool = False,
2033
- ) -> str:
2034
- """构造包含媒体文件引用的模型推送 payload"""
2035
-
2036
- # 先构造基础 payload
2037
- base_payload = _build_model_push_payload(
2038
- task=task,
2039
- supplement=supplement,
2040
- history=history,
2041
- notes=notes,
2042
- is_bug_report=is_bug_report
2043
- )
2044
-
2045
- # 如果没有媒体文件,直接返回
2046
- if not media_files:
2047
- return base_payload
2048
-
2049
- # 添加媒体文件信息
2050
- lines = [base_payload]
2051
- lines.append("\n相关文件:")
2052
-
2053
- for idx, media in enumerate(media_files, 1):
2054
- file_type = media["type"]
2055
- file_path = media["file_path"]
2056
-
2057
- if file_type == "image":
2058
- width = media.get("width", "?")
2059
- height = media.get("height", "?")
2060
- lines.append(f"{idx}. 图片 ({width}×{height}): {file_path}")
2061
- elif file_type == "document":
2062
- original_name = media.get("original_name", "未命名文档")
2063
- size_mb = media.get("size", 0) / 1024 / 1024
2064
- lines.append(f"{idx}. 文档 [{original_name}] ({size_mb:.1f}MB): {file_path}")
2065
-
2066
- # 为不同模型添加特定指令
2067
- if _is_claudecode_model():
2068
- lines.append("\n请使用 Read 工具查看上述文件以理解其内容。")
2069
- elif MODEL_CANONICAL_NAME == "codex":
2070
- lines.append("\n请分析上述文件并结合任务要求进行处理。")
2071
- elif "gemini" in MODEL_CANONICAL_NAME:
2072
- lines.append("\n请查看并分析上述文件。")
2073
-
2074
- return "\n".join(lines)
2075
-
2076
-
2077
2001
  try:
2078
2002
  SHANGHAI_TZ = ZoneInfo("Asia/Shanghai")
2079
2003
  except ZoneInfoNotFoundError:
@@ -3051,61 +2975,6 @@ def _collect_message_payload(message: Message) -> str:
3051
2975
  return "\n".join(parts).strip()
3052
2976
 
3053
2977
 
3054
- async def _collect_message_payload_with_media(
3055
- message: Message,
3056
- task_id: Optional[str] = None
3057
- ) -> Tuple[str, List[Dict[str, Any]], Optional[str]]:
3058
- """
3059
- 收集消息内容和媒体文件(增强版)
3060
- 返回: (文本内容, 媒体文件列表, 用户提示消息)
3061
- """
3062
- parts = []
3063
- media_files = []
3064
- user_feedback = None
3065
-
3066
- # 处理文本
3067
- text = _normalize_choice_token(message.text or message.caption)
3068
- if text:
3069
- parts.append(text)
3070
-
3071
- # 处理媒体文件
3072
- if media_handler and (message.photo or message.document):
3073
- media_info, feedback_msg = await media_handler.process_message_media(
3074
- message, task_id
3075
- )
3076
-
3077
- if media_info["type"] not in ["none", "error"]:
3078
- media_files.append(media_info)
3079
- # 添加文件引用到文本
3080
- if media_info["type"] == "image":
3081
- parts.append(f"[图片: {media_info['file_path']}]")
3082
- elif media_info["type"] == "document":
3083
- parts.append(f"[文档: {media_info['file_path']}]")
3084
- elif media_info["type"] == "error":
3085
- # 添加错误信息到文本
3086
- parts.append(f"[媒体处理失败: {media_info.get('error', '未知错误')}]")
3087
-
3088
- # 设置用户反馈
3089
- user_feedback = feedback_msg
3090
- else:
3091
- # 没有媒体处理器时,使用原有逻辑
3092
- if message.photo:
3093
- file_id = message.photo[-1].file_id
3094
- parts.append(f"[图片:{file_id}]")
3095
- if message.document:
3096
- doc = message.document
3097
- name = doc.file_name or doc.file_id
3098
- parts.append(f"[文件:{name}]")
3099
-
3100
- # 处理其他媒体类型(保持原有逻辑)
3101
- if message.voice:
3102
- parts.append(f"[语音: {message.voice.file_id}]")
3103
- if message.video:
3104
- parts.append(f"[视频: {message.video.file_id}]")
3105
-
3106
- return "\n".join(parts).strip(), media_files, user_feedback
3107
-
3108
-
3109
2978
  def _summarize_note_text(value: str) -> str:
3110
2979
  """压缩备注内容,维持主要信息并控制长度。"""
3111
2980
 
@@ -3562,9 +3431,6 @@ def tmux_capture_since(log_path: Path | str, start_pos: int, idle: float = 2.0,
3562
3431
  return "".join(buf)
3563
3432
 
3564
3433
 
3565
- # 全局媒体处理器
3566
- media_handler: Optional[MediaHandler] = None
3567
-
3568
3434
  SESSION_OFFSETS: Dict[str, int] = {}
3569
3435
  CHAT_SESSION_MAP: Dict[int, str] = {}
3570
3436
  CHAT_WATCHERS: Dict[int, asyncio.Task] = {}
@@ -5311,7 +5177,6 @@ async def on_help_command(message: Message) -> None:
5311
5177
  "*指令总览*\n"
5312
5178
  "- /help — 查看全部命令\n"
5313
5179
  "- /tasks — 任务管理命令清单\n"
5314
- "- /media — 查看媒体文件统计和管理\n"
5315
5180
  "- /task_new — 创建任务(交互式或附带参数)\n"
5316
5181
  "- /task_list — 查看任务列表,支持 status/limit/offset\n"
5317
5182
  "- /task_show — 查看某个任务详情\n"
@@ -5340,158 +5205,6 @@ async def on_tasks_help(message: Message) -> None:
5340
5205
  await _answer_with_markdown(message, text)
5341
5206
 
5342
5207
 
5343
- @router.message(Command("media"))
5344
- async def on_media_command(message: Message) -> None:
5345
- """处理 /media 命令,显示媒体文件统计和管理选项"""
5346
- global media_handler
5347
-
5348
- if not media_handler:
5349
- await message.reply("❌ 媒体处理功能未初始化")
5350
- return
5351
-
5352
- try:
5353
- # 获取媒体文件统计
5354
- stats = await media_handler.get_stats()
5355
-
5356
- # 构建统计信息文本
5357
- lines = [
5358
- "*📊 媒体文件统计*",
5359
- "",
5360
- f"📁 存储位置: `{stats['storage_path']}`",
5361
- f"📷 图片文件: {stats['image_count']} 个",
5362
- f"📄 文档文件: {stats['document_count']} 个",
5363
- f"💾 总占用空间: {stats['total_size_mb']:.2f} MB",
5364
- "",
5365
- f"⏰ 普通文件保留: {stats['normal_retention_days']} 天",
5366
- f"🎯 任务文件保留: {stats['task_retention_days']} 天",
5367
- "",
5368
- f"🗑️ 待清理文件: {stats['expired_count']} 个",
5369
- ]
5370
-
5371
- if stats['expired_count'] > 0:
5372
- lines.append(f" ({stats['expired_size_mb']:.2f} MB 可释放)")
5373
-
5374
- # 最近的文件
5375
- if stats['recent_files']:
5376
- lines.extend([
5377
- "",
5378
- "*📝 最近下载的文件:*"
5379
- ])
5380
- for file_info in stats['recent_files'][:5]:
5381
- file_type = "📷" if file_info['type'] == 'image' else "📄"
5382
- lines.append(f"{file_type} {file_info['name']} ({file_info['size_mb']:.2f} MB)")
5383
-
5384
- text = "\n".join(lines)
5385
-
5386
- # 创建管理按钮
5387
- keyboard = InlineKeyboardMarkup(
5388
- inline_keyboard=[
5389
- [
5390
- InlineKeyboardButton(text="🗑️ 立即清理过期文件", callback_data="media_cleanup"),
5391
- InlineKeyboardButton(text="🔄 刷新统计", callback_data="media_refresh")
5392
- ]
5393
- ]
5394
- )
5395
-
5396
- await _answer_with_markdown(message, text, reply_markup=keyboard)
5397
-
5398
- except Exception as e:
5399
- worker_log.error(f"获取媒体统计失败: {e}", exc_info=True)
5400
- await message.reply(f"❌ 获取媒体统计失败: {e}")
5401
-
5402
-
5403
- @router.callback_query(F.data == "media_cleanup")
5404
- async def on_media_cleanup_callback(callback: CallbackQuery) -> None:
5405
- """处理清理过期文件的回调"""
5406
- global media_handler
5407
-
5408
- if not media_handler:
5409
- await callback.answer("❌ 媒体处理功能未初始化", show_alert=True)
5410
- return
5411
-
5412
- try:
5413
- # 执行清理
5414
- cleaned_count = await media_handler.cleanup_old_files()
5415
-
5416
- if cleaned_count > 0:
5417
- await callback.answer(f"✅ 已清理 {cleaned_count} 个过期文件", show_alert=True)
5418
- else:
5419
- await callback.answer("📭 没有需要清理的文件", show_alert=True)
5420
-
5421
- # 更新统计信息
5422
- await on_media_refresh_callback(callback)
5423
-
5424
- except Exception as e:
5425
- worker_log.error(f"清理媒体文件失败: {e}", exc_info=True)
5426
- await callback.answer(f"❌ 清理失败: {e}", show_alert=True)
5427
-
5428
-
5429
- @router.callback_query(F.data == "media_refresh")
5430
- async def on_media_refresh_callback(callback: CallbackQuery) -> None:
5431
- """处理刷新统计的回调"""
5432
- global media_handler
5433
-
5434
- if not media_handler:
5435
- await callback.answer("❌ 媒体处理功能未初始化", show_alert=True)
5436
- return
5437
-
5438
- try:
5439
- # 获取最新统计
5440
- stats = await media_handler.get_stats()
5441
-
5442
- # 构建更新的文本
5443
- lines = [
5444
- "*📊 媒体文件统计*",
5445
- "",
5446
- f"📁 存储位置: `{stats['storage_path']}`",
5447
- f"📷 图片文件: {stats['image_count']} 个",
5448
- f"📄 文档文件: {stats['document_count']} 个",
5449
- f"💾 总占用空间: {stats['total_size_mb']:.2f} MB",
5450
- "",
5451
- f"⏰ 普通文件保留: {stats['normal_retention_days']} 天",
5452
- f"🎯 任务文件保留: {stats['task_retention_days']} 天",
5453
- "",
5454
- f"🗑️ 待清理文件: {stats['expired_count']} 个",
5455
- ]
5456
-
5457
- if stats['expired_count'] > 0:
5458
- lines.append(f" ({stats['expired_size_mb']:.2f} MB 可释放)")
5459
-
5460
- # 最近的文件
5461
- if stats['recent_files']:
5462
- lines.extend([
5463
- "",
5464
- "*📝 最近下载的文件:*"
5465
- ])
5466
- for file_info in stats['recent_files'][:5]:
5467
- file_type = "📷" if file_info['type'] == 'image' else "📄"
5468
- lines.append(f"{file_type} {file_info['name']} ({file_info['size_mb']:.2f} MB)")
5469
-
5470
- text = "\n".join(lines)
5471
-
5472
- # 保持按钮
5473
- keyboard = InlineKeyboardMarkup(
5474
- inline_keyboard=[
5475
- [
5476
- InlineKeyboardButton(text="🗑️ 立即清理过期文件", callback_data="media_cleanup"),
5477
- InlineKeyboardButton(text="🔄 刷新统计", callback_data="media_refresh")
5478
- ]
5479
- ]
5480
- )
5481
-
5482
- await callback.message.edit_text(
5483
- text,
5484
- parse_mode="MarkdownV2" if _IS_MARKDOWN_V2 else "Markdown",
5485
- reply_markup=keyboard
5486
- )
5487
-
5488
- await callback.answer("✅ 统计已更新")
5489
-
5490
- except Exception as e:
5491
- worker_log.error(f"刷新媒体统计失败: {e}", exc_info=True)
5492
- await callback.answer(f"❌ 刷新失败: {e}", show_alert=True)
5493
-
5494
-
5495
5208
  def _normalize_status(value: Optional[str]) -> Optional[str]:
5496
5209
  if not value:
5497
5210
  return None
@@ -7172,40 +6885,21 @@ async def on_task_bug_report(callback: CallbackQuery, state: FSMContext) -> None
7172
6885
 
7173
6886
  @router.message(TaskBugReportStates.waiting_description)
7174
6887
  async def on_task_bug_description(message: Message, state: FSMContext) -> None:
7175
- """处理缺陷描述输入(支持图片和文档)。"""
6888
+ """处理缺陷描述输入。"""
7176
6889
 
7177
6890
  if _is_cancel_message(message.text):
7178
6891
  await state.clear()
7179
6892
  await message.answer("已取消缺陷上报。", reply_markup=_build_worker_main_keyboard())
7180
6893
  return
7181
-
7182
- # 获取任务 ID
7183
- data = await state.get_data()
7184
- task_id = data.get("task_id")
7185
-
7186
- # 使用增强版收集函数(如果有媒体处理器)
7187
- if media_handler:
7188
- content, media_files, feedback = await _collect_message_payload_with_media(
7189
- message, task_id
7190
- )
7191
- # 发送用户反馈
7192
- if feedback:
7193
- await message.answer(feedback)
7194
- else:
7195
- # 使用原有函数
7196
- content = _collect_message_payload(message)
7197
- media_files = []
7198
-
7199
- if not content and not media_files:
6894
+ content = _collect_message_payload(message)
6895
+ if not content:
7200
6896
  await message.answer(
7201
6897
  "缺陷描述不能为空,请重新输入:",
7202
6898
  reply_markup=_build_description_keyboard(),
7203
6899
  )
7204
6900
  return
7205
-
7206
6901
  await state.update_data(
7207
6902
  description=content,
7208
- media_files=media_files,
7209
6903
  reporter=_actor_from_message(message),
7210
6904
  )
7211
6905
  await state.set_state(TaskBugReportStates.waiting_reproduction)
@@ -7214,36 +6908,18 @@ async def on_task_bug_description(message: Message, state: FSMContext) -> None:
7214
6908
 
7215
6909
  @router.message(TaskBugReportStates.waiting_reproduction)
7216
6910
  async def on_task_bug_reproduction(message: Message, state: FSMContext) -> None:
7217
- """处理复现步骤输入(支持图片)。"""
6911
+ """处理复现步骤输入。"""
7218
6912
 
7219
6913
  if _is_cancel_message(message.text):
7220
6914
  await state.clear()
7221
6915
  await message.answer("已取消缺陷上报。", reply_markup=_build_worker_main_keyboard())
7222
6916
  return
7223
-
7224
6917
  options = [SKIP_TEXT, "取消"]
7225
6918
  resolved = _resolve_reply_choice(message.text or "", options=options)
7226
6919
  reproduction = ""
7227
- reproduction_media = []
7228
-
7229
6920
  if resolved not in {SKIP_TEXT, "取消"}:
7230
- # 获取任务 ID
7231
- data = await state.get_data()
7232
- task_id = data.get("task_id")
7233
-
7234
- if media_handler:
7235
- reproduction, reproduction_media, feedback = await _collect_message_payload_with_media(
7236
- message, task_id
7237
- )
7238
- if feedback:
7239
- await message.answer(feedback)
7240
- else:
7241
- reproduction = _collect_message_payload(message)
7242
-
7243
- await state.update_data(
7244
- reproduction=reproduction,
7245
- reproduction_media=reproduction_media
7246
- )
6921
+ reproduction = _collect_message_payload(message)
6922
+ await state.update_data(reproduction=reproduction)
7247
6923
  await state.set_state(TaskBugReportStates.waiting_logs)
7248
6924
  await message.answer(_build_bug_log_prompt(), reply_markup=_build_description_keyboard())
7249
6925
 
@@ -7321,21 +6997,11 @@ async def on_task_bug_confirm(message: Message, state: FSMContext) -> None:
7321
6997
  reproduction = data.get("reproduction", "")
7322
6998
  logs = data.get("logs", "")
7323
6999
  reporter = data.get("reporter") or _actor_from_message(message)
7324
-
7325
- # 收集所有媒体文件
7326
- all_media_files = []
7327
- if "media_files" in data:
7328
- all_media_files.extend(data["media_files"])
7329
- if "reproduction_media" in data:
7330
- all_media_files.extend(data["reproduction_media"])
7331
-
7332
7000
  payload = {
7333
7001
  "action": "bug_report",
7334
7002
  "description_length": len(description),
7335
7003
  "has_reproduction": bool(reproduction.strip()),
7336
7004
  "has_logs": bool(logs.strip()),
7337
- "has_media": len(all_media_files) > 0,
7338
- "media_count": len(all_media_files),
7339
7005
  "description": description,
7340
7006
  "reproduction": reproduction,
7341
7007
  "logs": logs,
@@ -7349,12 +7015,7 @@ async def on_task_bug_confirm(message: Message, state: FSMContext) -> None:
7349
7015
  payload=payload,
7350
7016
  )
7351
7017
  await state.clear()
7352
- await _auto_push_after_bug_report(
7353
- task,
7354
- message=message,
7355
- actor=reporter,
7356
- media_files=all_media_files
7357
- )
7018
+ await _auto_push_after_bug_report(task, message=message, actor=reporter)
7358
7019
 
7359
7020
 
7360
7021
  @router.callback_query(F.data.startswith("task:add_note:"))
@@ -7747,53 +7408,21 @@ async def on_start(m: Message):
7747
7408
  if ENV_ISSUES:
7748
7409
  await m.answer(_format_env_issue_message())
7749
7410
 
7750
- @router.message(F.text | F.photo | F.document | F.caption)
7411
+ @router.message(F.text)
7751
7412
  async def on_text(m: Message):
7752
- """
7753
- 处理用户消息:支持纯文本、带图片和文档的消息
7754
- - 纯文本消息:使用 m.text
7755
- - 带媒体消息:使用 m.caption,并下载媒体文件
7756
- """
7757
7413
  # 首次收到消息时自动记录 chat_id 到 state 文件
7758
7414
  _auto_record_chat_id(m.chat.id)
7759
7415
 
7760
- # 提取文本内容(优先使用 caption,用于带媒体的消息)
7761
- prompt = (m.caption or m.text or "").strip()
7762
-
7763
- # 如果有媒体文件,使用增强收集函数
7764
- has_media = m.photo or m.document
7765
- if media_handler and has_media:
7766
- try:
7767
- content, media_files, feedback = await _collect_message_payload_with_media(m, None)
7768
- # 发送用户反馈(下载成功/失败提示)
7769
- if feedback:
7770
- await m.answer(feedback)
7771
- # 使用包含媒体路径引用的完整内容
7772
- prompt = content
7773
- except Exception as e:
7774
- worker_log.error(
7775
- "处理媒体文件失败: %s",
7776
- e,
7777
- exc_info=True,
7778
- extra={**_session_extra(), "chat": m.chat.id}
7779
- )
7780
- # 降级处理:继续使用文本部分
7781
- await m.answer(f"⚠️ 媒体文件处理失败,仅使用文本内容:{str(e)}")
7782
-
7416
+ prompt = (m.text or "").strip()
7783
7417
  if not prompt:
7784
7418
  return await m.answer("请输入非空提示词")
7785
-
7786
- # 快捷查询任务详情(如输入 TASK_0001)
7787
7419
  task_id_candidate = _normalize_task_id(prompt)
7788
7420
  if task_id_candidate:
7789
7421
  await _reply_task_detail_message(m, task_id_candidate)
7790
7422
  return
7791
-
7792
- # 忽略以 / 开头的未识别命令
7793
7423
  if prompt.startswith("/"):
7794
7424
  return
7795
7425
 
7796
- # 环境异常检查
7797
7426
  if ENV_ISSUES:
7798
7427
  message = _format_env_issue_message()
7799
7428
  worker_log.warning(
@@ -7805,7 +7434,7 @@ async def on_text(m: Message):
7805
7434
  return
7806
7435
 
7807
7436
  bot = current_bot()
7808
- await bot.send_chat_action(m.chat.id, "typing") # "正在输入"提示
7437
+ await bot.send_chat_action(m.chat.id, "typing") # “正在输入”提示
7809
7438
 
7810
7439
  if MODE == "A":
7811
7440
  if not AGENT_CMD:
@@ -7888,28 +7517,8 @@ async def _ensure_worker_menu_button(bot: Bot) -> None:
7888
7517
  extra={**_session_extra(), "text": WORKER_MENU_BUTTON_TEXT},
7889
7518
  )
7890
7519
 
7891
- async def _media_cleanup_worker():
7892
- """媒体文件定期清理任务"""
7893
- if not media_handler or not MediaConfig:
7894
- return
7895
-
7896
- while True:
7897
- try:
7898
- await asyncio.sleep(MediaConfig.AUTO_CLEANUP_INTERVAL_HOURS * 3600)
7899
-
7900
- if media_handler:
7901
- cleaned = await media_handler.cleanup_old_files()
7902
- worker_log.info(
7903
- "定期清理完成,删除了 %d 个过期文件",
7904
- cleaned,
7905
- extra=_session_extra()
7906
- )
7907
-
7908
- except Exception as e:
7909
- worker_log.error("媒体清理任务失败: %s", e, extra=_session_extra())
7910
-
7911
7520
  async def main():
7912
- global _bot, CHAT_LONG_POLL_LOCK, media_handler
7521
+ global _bot, CHAT_LONG_POLL_LOCK
7913
7522
  # 初始化长轮询锁
7914
7523
  CHAT_LONG_POLL_LOCK = asyncio.Lock()
7915
7524
  _bot = build_bot()
@@ -7927,16 +7536,6 @@ async def main():
7927
7536
  if _bot:
7928
7537
  await _bot.session.close()
7929
7538
  raise SystemExit(1)
7930
-
7931
- # 初始化媒体处理器
7932
- if HAS_MEDIA_HANDLER and _bot:
7933
- try:
7934
- media_handler = MediaHandler(_bot)
7935
- # 启动定期清理任务
7936
- asyncio.create_task(_media_cleanup_worker())
7937
- worker_log.info("媒体处理器已初始化", extra=_session_extra())
7938
- except Exception as exc:
7939
- worker_log.error("媒体处理器初始化失败:%s", exc, extra=_session_extra())
7940
7539
  await _ensure_bot_commands(_bot)
7941
7540
  await _ensure_worker_menu_button(_bot)
7942
7541
  await _broadcast_worker_keyboard(_bot)
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "vibego"
7
- version = "0.2.53"
7
+ version = "0.2.54"
8
8
  description = "vibego CLI:用于初始化与管理 Telegram Master Bot 的工具"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.11"
@@ -42,7 +42,7 @@ include = ["vibego_cli", "tasks", "scripts"]
42
42
  "scripts" = ["*.sh", "models/*.sh"]
43
43
 
44
44
  [tool.bumpversion]
45
- current_version = "0.2.53"
45
+ current_version = "0.2.54"
46
46
  parse = "(?P<major>\\d+)\\.(?P<minor>\\d+)\\.(?P<patch>\\d+)"
47
47
  serialize = ["{major}.{minor}.{patch}"]
48
48
  search = "{current_version}"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: vibego
3
- Version: 0.2.53
3
+ Version: 0.2.54
4
4
  Summary: vibego CLI:用于初始化与管理 Telegram Master Bot 的工具
5
5
  Author: Hypha
6
6
  License-Expression: LicenseRef-Proprietary
@@ -7,6 +7,6 @@ from __future__ import annotations
7
7
 
8
8
  __all__ = ["main", "__version__"]
9
9
 
10
- __version__ = "0.2.53"
10
+ __version__ = "0.2.54"
11
11
 
12
12
  from .main import main # noqa: E402
File without changes
File without changes
File without changes
File without changes
File without changes