vibego 0.2.30__tar.gz → 0.2.31__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.
- {vibego-0.2.30 → vibego-0.2.31}/PKG-INFO +1 -1
- {vibego-0.2.30 → vibego-0.2.31}/master.py +47 -3
- {vibego-0.2.30 → vibego-0.2.31}/pyproject.toml +2 -2
- {vibego-0.2.30 → vibego-0.2.31}/scripts/start.sh +137 -14
- {vibego-0.2.30 → vibego-0.2.31}/vibego.egg-info/PKG-INFO +1 -1
- {vibego-0.2.30 → vibego-0.2.31}/vibego_cli/__init__.py +1 -1
- {vibego-0.2.30 → vibego-0.2.31}/MANIFEST.in +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/README.md +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/bot.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/config/projects.json.example +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/logging_setup.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/project_repository.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/__init__.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/__main__.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/__pip-runner__.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/__init__.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/build_env.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/cache.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/cli/__init__.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/cli/autocompletion.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/cli/base_command.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/cli/cmdoptions.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/cli/command_context.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/cli/index_command.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/cli/main.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/cli/main_parser.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/cli/parser.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/cli/progress_bars.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/cli/req_command.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/cli/spinners.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/cli/status_codes.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/commands/__init__.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/commands/cache.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/commands/check.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/commands/completion.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/commands/configuration.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/commands/debug.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/commands/download.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/commands/freeze.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/commands/hash.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/commands/help.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/commands/index.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/commands/inspect.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/commands/install.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/commands/list.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/commands/lock.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/commands/search.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/commands/show.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/commands/uninstall.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/commands/wheel.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/configuration.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/distributions/__init__.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/distributions/base.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/distributions/installed.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/distributions/sdist.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/distributions/wheel.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/exceptions.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/index/__init__.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/index/collector.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/index/package_finder.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/index/sources.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/locations/__init__.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/locations/_distutils.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/locations/_sysconfig.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/locations/base.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/main.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/metadata/__init__.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/metadata/_json.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/metadata/base.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/metadata/importlib/__init__.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/metadata/importlib/_compat.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/metadata/importlib/_dists.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/metadata/importlib/_envs.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/metadata/pkg_resources.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/models/__init__.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/models/candidate.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/models/direct_url.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/models/format_control.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/models/index.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/models/installation_report.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/models/link.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/models/pylock.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/models/scheme.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/models/search_scope.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/models/selection_prefs.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/models/target_python.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/models/wheel.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/network/__init__.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/network/auth.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/network/cache.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/network/download.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/network/lazy_wheel.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/network/session.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/network/utils.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/network/xmlrpc.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/operations/__init__.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/operations/build/__init__.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/operations/build/build_tracker.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/operations/build/metadata.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/operations/build/metadata_editable.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/operations/build/metadata_legacy.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/operations/build/wheel.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/operations/build/wheel_editable.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/operations/build/wheel_legacy.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/operations/check.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/operations/freeze.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/operations/install/__init__.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/operations/install/editable_legacy.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/operations/install/wheel.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/operations/prepare.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/pyproject.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/req/__init__.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/req/constructors.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/req/req_dependency_group.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/req/req_file.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/req/req_install.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/req/req_set.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/req/req_uninstall.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/resolution/__init__.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/resolution/base.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/resolution/legacy/__init__.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/resolution/legacy/resolver.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/resolution/resolvelib/__init__.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/resolution/resolvelib/base.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/resolution/resolvelib/candidates.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/resolution/resolvelib/factory.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/resolution/resolvelib/found_candidates.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/resolution/resolvelib/provider.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/resolution/resolvelib/reporter.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/resolution/resolvelib/requirements.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/resolution/resolvelib/resolver.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/self_outdated_check.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/utils/__init__.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/utils/_jaraco_text.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/utils/_log.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/utils/appdirs.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/utils/compat.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/utils/compatibility_tags.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/utils/datetime.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/utils/deprecation.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/utils/direct_url_helpers.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/utils/egg_link.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/utils/entrypoints.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/utils/filesystem.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/utils/filetypes.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/utils/glibc.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/utils/hashes.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/utils/logging.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/utils/misc.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/utils/packaging.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/utils/retry.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/utils/setuptools_build.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/utils/subprocess.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/utils/temp_dir.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/utils/unpacking.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/utils/urls.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/utils/virtualenv.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/utils/wheel.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/vcs/__init__.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/vcs/bazaar.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/vcs/git.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/vcs/mercurial.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/vcs/subversion.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/vcs/versioncontrol.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/wheel_builder.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/__init__.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/cachecontrol/__init__.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/cachecontrol/_cmd.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/cachecontrol/adapter.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/cachecontrol/cache.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/cachecontrol/caches/__init__.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/cachecontrol/caches/file_cache.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/cachecontrol/caches/redis_cache.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/cachecontrol/controller.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/cachecontrol/filewrapper.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/cachecontrol/heuristics.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/cachecontrol/serialize.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/cachecontrol/wrapper.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/certifi/__init__.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/certifi/__main__.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/certifi/core.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/dependency_groups/__init__.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/dependency_groups/__main__.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/dependency_groups/_implementation.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/dependency_groups/_lint_dependency_groups.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/dependency_groups/_pip_wrapper.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/dependency_groups/_toml_compat.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/distlib/__init__.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/distlib/compat.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/distlib/resources.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/distlib/scripts.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/distlib/util.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/distro/__init__.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/distro/__main__.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/distro/distro.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/idna/__init__.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/idna/codec.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/idna/compat.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/idna/core.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/idna/idnadata.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/idna/intranges.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/idna/package_data.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/idna/uts46data.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/msgpack/__init__.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/msgpack/exceptions.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/msgpack/ext.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/msgpack/fallback.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/packaging/__init__.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/packaging/_elffile.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/packaging/_manylinux.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/packaging/_musllinux.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/packaging/_parser.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/packaging/_structures.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/packaging/_tokenizer.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/packaging/licenses/__init__.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/packaging/licenses/_spdx.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/packaging/markers.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/packaging/metadata.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/packaging/requirements.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/packaging/specifiers.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/packaging/tags.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/packaging/utils.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/packaging/version.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/pkg_resources/__init__.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/platformdirs/__init__.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/platformdirs/__main__.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/platformdirs/android.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/platformdirs/api.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/platformdirs/macos.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/platformdirs/unix.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/platformdirs/version.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/platformdirs/windows.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/pygments/__init__.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/pygments/__main__.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/pygments/console.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/pygments/filter.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/pygments/filters/__init__.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/pygments/formatter.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/pygments/formatters/__init__.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/pygments/formatters/_mapping.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/pygments/lexer.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/pygments/lexers/__init__.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/pygments/lexers/_mapping.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/pygments/lexers/python.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/pygments/modeline.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/pygments/plugin.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/pygments/regexopt.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/pygments/scanner.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/pygments/sphinxext.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/pygments/style.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/pygments/styles/__init__.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/pygments/styles/_mapping.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/pygments/token.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/pygments/unistring.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/pygments/util.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/pyproject_hooks/__init__.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/pyproject_hooks/_impl.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/pyproject_hooks/_in_process/__init__.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/requests/__init__.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/requests/__version__.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/requests/_internal_utils.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/requests/adapters.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/requests/api.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/requests/auth.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/requests/certs.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/requests/compat.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/requests/cookies.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/requests/exceptions.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/requests/help.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/requests/hooks.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/requests/models.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/requests/packages.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/requests/sessions.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/requests/status_codes.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/requests/structures.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/requests/utils.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/resolvelib/__init__.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/resolvelib/providers.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/resolvelib/reporters.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/resolvelib/resolvers/__init__.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/resolvelib/resolvers/abstract.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/resolvelib/resolvers/criterion.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/resolvelib/resolvers/exceptions.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/resolvelib/resolvers/resolution.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/resolvelib/structs.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/__init__.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/__main__.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/_cell_widths.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/_emoji_codes.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/_emoji_replace.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/_export_format.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/_extension.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/_fileno.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/_inspect.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/_log_render.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/_loop.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/_null_file.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/_palettes.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/_pick.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/_ratio.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/_spinners.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/_stack.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/_timer.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/_win32_console.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/_windows.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/_windows_renderer.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/_wrap.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/abc.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/align.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/ansi.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/bar.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/box.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/cells.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/color.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/color_triplet.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/columns.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/console.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/constrain.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/containers.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/control.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/default_styles.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/diagnose.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/emoji.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/errors.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/file_proxy.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/filesize.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/highlighter.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/json.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/jupyter.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/layout.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/live.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/live_render.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/logging.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/markup.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/measure.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/padding.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/pager.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/palette.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/panel.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/pretty.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/progress.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/progress_bar.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/prompt.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/protocol.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/region.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/repr.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/rule.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/scope.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/screen.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/segment.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/spinner.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/status.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/style.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/styled.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/syntax.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/table.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/terminal_theme.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/text.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/theme.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/themes.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/traceback.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/rich/tree.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/tomli/__init__.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/tomli/_parser.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/tomli/_re.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/tomli/_types.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/tomli_w/__init__.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/tomli_w/_writer.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/truststore/__init__.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/truststore/_api.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/truststore/_macos.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/truststore/_openssl.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/truststore/_ssl_constants.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/truststore/_windows.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/urllib3/__init__.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/urllib3/_collections.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/urllib3/_version.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/urllib3/connection.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/urllib3/connectionpool.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/urllib3/contrib/__init__.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/urllib3/contrib/_appengine_environ.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/urllib3/contrib/_securetransport/__init__.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/urllib3/contrib/_securetransport/bindings.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/urllib3/contrib/_securetransport/low_level.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/urllib3/contrib/appengine.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/urllib3/contrib/ntlmpool.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/urllib3/contrib/pyopenssl.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/urllib3/contrib/securetransport.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/urllib3/contrib/socks.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/urllib3/exceptions.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/urllib3/fields.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/urllib3/filepost.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/urllib3/packages/__init__.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/urllib3/packages/backports/__init__.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/urllib3/packages/backports/makefile.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/urllib3/packages/backports/weakref_finalize.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/urllib3/packages/six.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/urllib3/poolmanager.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/urllib3/request.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/urllib3/response.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/urllib3/util/__init__.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/urllib3/util/connection.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/urllib3/util/proxy.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/urllib3/util/queue.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/urllib3/util/request.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/urllib3/util/response.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/urllib3/util/retry.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/urllib3/util/ssl_.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/urllib3/util/ssl_match_hostname.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/urllib3/util/ssltransport.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/urllib3/util/timeout.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/urllib3/util/url.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_vendor/urllib3/util/wait.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/__init__.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/bump_version.sh +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/log_writer.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/master_healthcheck.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/models/claudecode.sh +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/models/codex.sh +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/models/common.sh +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/models/gemini.sh +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/publish.sh +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/requirements.txt +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/run_bot.sh +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/start_tmux_codex.sh +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/stop_all.sh +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/stop_bot.sh +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/scripts/test_deps_check.sh +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/setup.cfg +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/tasks/__init__.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/tasks/commands.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/tasks/constants.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/tasks/fsm.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/tasks/models.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/tasks/service.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/tests/test_auto_compact.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/tests/test_chat_menu_buttons.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/tests/test_claudecode_jsonl.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/tests/test_long_poll_mechanism.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/tests/test_master_project_management.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/tests/test_master_restart.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/tests/test_numbered_reply_inputs.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/tests/test_plan_progress.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/tests/test_task_create_flow.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/tests/test_task_description.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/tests/test_task_detail_back.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/tests/test_task_list_entry.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/tests/test_unescape_markdown.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/tests/test_version_display.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/vibego.egg-info/SOURCES.txt +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/vibego.egg-info/dependency_links.txt +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/vibego.egg-info/entry_points.txt +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/vibego.egg-info/requires.txt +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/vibego.egg-info/top_level.txt +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/vibego_cli/__main__.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/vibego_cli/config.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/vibego_cli/data/worker_requirements.txt +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/vibego_cli/deps.py +0 -0
- {vibego-0.2.30 → vibego-0.2.31}/vibego_cli/main.py +0 -0
|
@@ -1700,9 +1700,14 @@ def _read_restart_signal() -> Optional[dict]:
|
|
|
1700
1700
|
|
|
1701
1701
|
|
|
1702
1702
|
async def _notify_restart_success(bot: Bot) -> None:
|
|
1703
|
-
"""在新 master 启动时读取 signal
|
|
1703
|
+
"""在新 master 启动时读取 signal 并通知触发者(改进版:支持超时检测和详细诊断)"""
|
|
1704
1704
|
restart_expected = os.environ.pop("MASTER_RESTART_EXPECTED", None)
|
|
1705
1705
|
payload = _read_restart_signal()
|
|
1706
|
+
|
|
1707
|
+
# 定义重启健康检查阈值(2 分钟)
|
|
1708
|
+
RESTART_HEALTHY_THRESHOLD = 120 # 秒
|
|
1709
|
+
RESTART_WARNING_THRESHOLD = 60 # 超过 1 分钟发出警告
|
|
1710
|
+
|
|
1706
1711
|
if not payload:
|
|
1707
1712
|
if restart_expected:
|
|
1708
1713
|
targets = _collect_admin_targets()
|
|
@@ -1710,6 +1715,18 @@ async def _notify_restart_success(bot: Bot) -> None:
|
|
|
1710
1715
|
"启动时未检测到重启信号文件,将向管理员发送兜底提醒", extra={"targets": targets}
|
|
1711
1716
|
)
|
|
1712
1717
|
if targets:
|
|
1718
|
+
# 检查启动日志是否有错误信息
|
|
1719
|
+
error_log_dir = ROOT_DIR / "logs"
|
|
1720
|
+
error_log_hint = ""
|
|
1721
|
+
try:
|
|
1722
|
+
error_logs = sorted(error_log_dir.glob("master_error_*.log"), key=lambda p: p.stat().st_mtime, reverse=True)
|
|
1723
|
+
if error_logs:
|
|
1724
|
+
latest_error_log = error_logs[0]
|
|
1725
|
+
if latest_error_log.stat().st_size > 0:
|
|
1726
|
+
error_log_hint = f"\n⚠️ 发现错误日志:{latest_error_log}"
|
|
1727
|
+
except Exception:
|
|
1728
|
+
pass
|
|
1729
|
+
|
|
1713
1730
|
text_lines = [
|
|
1714
1731
|
"⚠️ Master 已重新上线,但未找到重启触发者信息。",
|
|
1715
1732
|
"",
|
|
@@ -1717,12 +1734,16 @@ async def _notify_restart_success(bot: Bot) -> None:
|
|
|
1717
1734
|
"1. 重启信号文件写入失败",
|
|
1718
1735
|
"2. 信号文件已超时被清理(TTL=30分钟)",
|
|
1719
1736
|
"3. 文件系统权限问题",
|
|
1737
|
+
"4. start.sh 启动失败后被清理",
|
|
1720
1738
|
"",
|
|
1721
1739
|
"建议检查:",
|
|
1722
1740
|
f"- 启动日志: {ROOT_DIR}/logs/start.log",
|
|
1723
1741
|
f"- 运行日志: {ROOT_DIR}/vibe.log",
|
|
1724
1742
|
f"- 信号文件: {RESTART_SIGNAL_PATH}",
|
|
1725
1743
|
]
|
|
1744
|
+
if error_log_hint:
|
|
1745
|
+
text_lines.append(error_log_hint)
|
|
1746
|
+
|
|
1726
1747
|
text = "\n".join(text_lines)
|
|
1727
1748
|
for chat in targets:
|
|
1728
1749
|
try:
|
|
@@ -1746,6 +1767,9 @@ async def _notify_restart_success(bot: Bot) -> None:
|
|
|
1746
1767
|
user_id = payload.get("user_id")
|
|
1747
1768
|
timestamp = payload.get("timestamp")
|
|
1748
1769
|
timestamp_fmt: Optional[str] = None
|
|
1770
|
+
restart_duration: Optional[int] = None
|
|
1771
|
+
|
|
1772
|
+
# 计算重启耗时
|
|
1749
1773
|
if timestamp:
|
|
1750
1774
|
try:
|
|
1751
1775
|
ts = datetime.fromisoformat(timestamp)
|
|
@@ -1753,6 +1777,10 @@ async def _notify_restart_success(bot: Bot) -> None:
|
|
|
1753
1777
|
ts = ts.replace(tzinfo=LOCAL_TZ)
|
|
1754
1778
|
ts_local = ts.astimezone(LOCAL_TZ)
|
|
1755
1779
|
timestamp_fmt = ts_local.strftime("%Y-%m-%d %H:%M:%S %Z")
|
|
1780
|
+
|
|
1781
|
+
# 计算重启耗时(秒)
|
|
1782
|
+
now = datetime.now(LOCAL_TZ)
|
|
1783
|
+
restart_duration = int((now - ts_local).total_seconds())
|
|
1756
1784
|
except Exception as exc:
|
|
1757
1785
|
log.warning("解析重启时间失败: %s", exc)
|
|
1758
1786
|
|
|
@@ -1764,7 +1792,23 @@ async def _notify_restart_success(bot: Bot) -> None:
|
|
|
1764
1792
|
if timestamp_fmt:
|
|
1765
1793
|
details.append(f"请求时间:{timestamp_fmt}")
|
|
1766
1794
|
|
|
1767
|
-
|
|
1795
|
+
# 添加重启耗时信息和健康状态
|
|
1796
|
+
message_lines = []
|
|
1797
|
+
if restart_duration is not None:
|
|
1798
|
+
if restart_duration <= RESTART_WARNING_THRESHOLD:
|
|
1799
|
+
message_lines.append(f"master 已重新上线 ✅(耗时 {restart_duration}秒)")
|
|
1800
|
+
elif restart_duration <= RESTART_HEALTHY_THRESHOLD:
|
|
1801
|
+
message_lines.append(f"⚠️ master 已重新上线(耗时 {restart_duration}秒,略慢)")
|
|
1802
|
+
details.append("💡 建议:检查依赖安装是否触发了重新下载")
|
|
1803
|
+
else:
|
|
1804
|
+
message_lines.append(f"⚠️ master 已重新上线(耗时 {restart_duration}秒,异常缓慢)")
|
|
1805
|
+
details.append("⚠️ 重启耗时过长,建议检查:")
|
|
1806
|
+
details.append(" - 网络连接是否正常")
|
|
1807
|
+
details.append(" - 依赖安装是否卡住")
|
|
1808
|
+
details.append(f" - 启动日志: {ROOT_DIR}/logs/start.log")
|
|
1809
|
+
else:
|
|
1810
|
+
message_lines.append("master 已重新上线 ✅")
|
|
1811
|
+
|
|
1768
1812
|
if details:
|
|
1769
1813
|
message_lines.extend(details)
|
|
1770
1814
|
|
|
@@ -1776,7 +1820,7 @@ async def _notify_restart_success(bot: Bot) -> None:
|
|
|
1776
1820
|
log.error("发送重启成功通知失败: %s", exc, extra={"chat": chat_id})
|
|
1777
1821
|
else:
|
|
1778
1822
|
# 重启成功后不再附带项目列表,避免高频重启时产生额外噪音
|
|
1779
|
-
log.info("重启成功通知已发送", extra={"chat": chat_id})
|
|
1823
|
+
log.info("重启成功通知已发送", extra={"chat": chat_id, "duration": restart_duration})
|
|
1780
1824
|
finally:
|
|
1781
1825
|
_safe_remove(RESTART_SIGNAL_PATH)
|
|
1782
1826
|
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "vibego"
|
|
7
|
-
version = "0.2.
|
|
7
|
+
version = "0.2.31"
|
|
8
8
|
description = "vibego CLI:用于初始化与管理 Telegram Master Bot 的工具"
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
requires-python = ">=3.11"
|
|
@@ -41,7 +41,7 @@ include = ["vibego_cli", "tasks", "scripts"]
|
|
|
41
41
|
"scripts" = ["*.sh", "models/*.sh"]
|
|
42
42
|
|
|
43
43
|
[tool.bumpversion]
|
|
44
|
-
current_version = "0.2.
|
|
44
|
+
current_version = "0.2.31"
|
|
45
45
|
parse = "(?P<major>\\d+)\\.(?P<minor>\\d+)\\.(?P<patch>\\d+)"
|
|
46
46
|
serialize = ["{major}.{minor}.{patch}"]
|
|
47
47
|
search = "{current_version}"
|
|
@@ -186,21 +186,105 @@ check_deps_installed() {
|
|
|
186
186
|
return 0
|
|
187
187
|
}
|
|
188
188
|
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
189
|
+
# 清理旧 master 进程的健壮函数(改进版:支持 PID 文件 + pgrep 双保险)
|
|
190
|
+
cleanup_old_master() {
|
|
191
|
+
local max_wait=10 # 最多等待10秒优雅退出
|
|
192
|
+
local waited=0
|
|
193
|
+
local old_pids=""
|
|
194
|
+
local master_pid_file="${MASTER_CONFIG_ROOT:-$HOME/.config/vibego}/state/master.pid"
|
|
195
|
+
|
|
196
|
+
# 方案1:优先从 PID 文件读取
|
|
197
|
+
if [[ -f "$master_pid_file" ]]; then
|
|
198
|
+
local pid_from_file
|
|
199
|
+
pid_from_file=$(cat "$master_pid_file" 2>/dev/null || true)
|
|
200
|
+
if [[ "$pid_from_file" =~ ^[0-9]+$ ]]; then
|
|
201
|
+
if kill -0 "$pid_from_file" 2>/dev/null; then
|
|
202
|
+
old_pids="$pid_from_file"
|
|
203
|
+
log_info "从 PID 文件检测到旧 master 实例(PID: $old_pids)"
|
|
204
|
+
else
|
|
205
|
+
log_info "PID 文件存在但进程已不在,清理过期 PID 文件"
|
|
206
|
+
rm -f "$master_pid_file"
|
|
207
|
+
fi
|
|
208
|
+
fi
|
|
209
|
+
fi
|
|
210
|
+
|
|
211
|
+
# 方案2:使用 pgrep 查找(支持多种运行方式)
|
|
212
|
+
if [[ -z "$old_pids" ]]; then
|
|
213
|
+
# 匹配模式:支持源码运行和 pipx 安装的方式
|
|
214
|
+
# - python.*master.py(源码运行)
|
|
215
|
+
# - Python.*master.py(macOS 上的 Python.app)
|
|
216
|
+
# - bot.py(pipx 安装的 master 别名)
|
|
217
|
+
local pgrep_pids
|
|
218
|
+
pgrep_pids=$(pgrep -f "master\.py$" 2>/dev/null || true)
|
|
219
|
+
if [[ -n "$pgrep_pids" ]]; then
|
|
220
|
+
old_pids="$pgrep_pids"
|
|
221
|
+
log_info "通过 pgrep 检测到旧 master 实例(PID: $old_pids)"
|
|
222
|
+
fi
|
|
197
223
|
fi
|
|
198
|
-
|
|
199
|
-
|
|
224
|
+
|
|
225
|
+
# 如果两种方式都没找到,说明没有旧进程
|
|
226
|
+
if [[ -z "$old_pids" ]]; then
|
|
227
|
+
log_info "未检测到旧 master 实例"
|
|
228
|
+
return 0
|
|
229
|
+
fi
|
|
230
|
+
|
|
231
|
+
# 开始清理旧进程
|
|
232
|
+
log_info "正在优雅终止旧 master 实例(PID: $old_pids)..."
|
|
233
|
+
|
|
234
|
+
# 发送 SIGTERM 信号优雅终止
|
|
235
|
+
for pid in $old_pids; do
|
|
236
|
+
kill -15 "$pid" 2>/dev/null || true
|
|
237
|
+
done
|
|
238
|
+
|
|
239
|
+
# 循环等待进程退出
|
|
240
|
+
while (( waited < max_wait )); do
|
|
241
|
+
sleep 1
|
|
242
|
+
((waited++))
|
|
243
|
+
|
|
244
|
+
# 检查所有 PID 是否都已退出
|
|
245
|
+
local all_exited=1
|
|
246
|
+
for pid in $old_pids; do
|
|
247
|
+
if kill -0 "$pid" 2>/dev/null; then
|
|
248
|
+
all_exited=0
|
|
249
|
+
break
|
|
250
|
+
fi
|
|
251
|
+
done
|
|
252
|
+
|
|
253
|
+
if (( all_exited )); then
|
|
254
|
+
log_info "✅ 旧 master 已优雅退出(耗时 ${waited}秒)"
|
|
255
|
+
rm -f "$master_pid_file"
|
|
256
|
+
return 0
|
|
257
|
+
fi
|
|
258
|
+
done
|
|
259
|
+
|
|
260
|
+
# 优雅终止超时,执行强制结束
|
|
261
|
+
log_info "优雅终止超时(${max_wait}秒),执行强制结束..."
|
|
262
|
+
for pid in $old_pids; do
|
|
263
|
+
kill -9 "$pid" 2>/dev/null || true
|
|
264
|
+
done
|
|
265
|
+
sleep 2
|
|
266
|
+
|
|
267
|
+
# 最后检查
|
|
268
|
+
local remaining_pids=""
|
|
269
|
+
for pid in $old_pids; do
|
|
270
|
+
if kill -0 "$pid" 2>/dev/null; then
|
|
271
|
+
remaining_pids="$remaining_pids $pid"
|
|
272
|
+
fi
|
|
273
|
+
done
|
|
274
|
+
|
|
275
|
+
if [[ -n "$remaining_pids" ]]; then
|
|
276
|
+
log_error "❌ 无法清理旧 master 进程(残留 PID:$remaining_pids)"
|
|
277
|
+
log_error "请手动执行: kill -9$remaining_pids"
|
|
200
278
|
exit 1
|
|
201
279
|
fi
|
|
202
|
-
|
|
203
|
-
|
|
280
|
+
|
|
281
|
+
log_info "✅ 旧 master 实例已强制清理"
|
|
282
|
+
rm -f "$master_pid_file"
|
|
283
|
+
return 0
|
|
284
|
+
}
|
|
285
|
+
|
|
286
|
+
# 调用清理函数
|
|
287
|
+
cleanup_old_master
|
|
204
288
|
|
|
205
289
|
# 智能依赖管理:仅在必要时安装
|
|
206
290
|
REQUIREMENTS_FILE="${VIBEGO_REQUIREMENTS_PATH:-$ROOT_DIR/scripts/requirements.txt}"
|
|
@@ -256,8 +340,34 @@ if [[ -n "${MASTER_RESTART_EXPECTED:-}" ]]; then
|
|
|
256
340
|
fi
|
|
257
341
|
|
|
258
342
|
log_info "准备启动 master 进程..."
|
|
343
|
+
|
|
344
|
+
# 清理旧的错误日志(保留最近 10 次)
|
|
345
|
+
cleanup_old_error_logs() {
|
|
346
|
+
local error_log_pattern="$LOG_DIR/master_error_*.log"
|
|
347
|
+
local error_logs
|
|
348
|
+
error_logs=$(ls -t $error_log_pattern 2>/dev/null || true)
|
|
349
|
+
if [[ -n "$error_logs" ]]; then
|
|
350
|
+
local count=0
|
|
351
|
+
while IFS= read -r logfile; do
|
|
352
|
+
((count++))
|
|
353
|
+
if (( count > 10 )); then
|
|
354
|
+
rm -f "$logfile"
|
|
355
|
+
log_info "已清理旧错误日志: $logfile"
|
|
356
|
+
fi
|
|
357
|
+
done <<< "$error_logs"
|
|
358
|
+
fi
|
|
359
|
+
}
|
|
360
|
+
|
|
361
|
+
cleanup_old_error_logs
|
|
362
|
+
|
|
363
|
+
# 创建带时间戳的错误日志文件
|
|
364
|
+
MASTER_ERROR_LOG="$LOG_DIR/master_error_$(date +%Y%m%d_%H%M%S).log"
|
|
365
|
+
MASTER_STDOUT_LOG="$LOG_DIR/master_stdout.log"
|
|
366
|
+
|
|
259
367
|
# 显式传递环境变量给 nohup 进程,确保重启信号文件路径正确
|
|
260
|
-
|
|
368
|
+
# 使用虚拟环境的 Python 解释器,避免版本不匹配导致依赖加载失败
|
|
369
|
+
# 重要:将 stderr 保存到日志文件,方便排查启动失败问题
|
|
370
|
+
MASTER_RESTART_SIGNAL_PATH="$MASTER_RESTART_SIGNAL_PATH" nohup "$ROOT_DIR/.venv/bin/python" master.py > "$MASTER_STDOUT_LOG" 2> "$MASTER_ERROR_LOG" &
|
|
261
371
|
MASTER_PID=$!
|
|
262
372
|
|
|
263
373
|
# 健壮性检查:确保进程成功启动
|
|
@@ -274,7 +384,20 @@ if ! kill -0 "$MASTER_PID" 2>/dev/null; then
|
|
|
274
384
|
log_error "请检查:"
|
|
275
385
|
log_error " - master.py 是否有语法错误: python master.py"
|
|
276
386
|
log_error " - 依赖是否完整: pip list | grep aiogram"
|
|
277
|
-
log_error " -
|
|
387
|
+
log_error " - 错误日志: $MASTER_ERROR_LOG"
|
|
388
|
+
|
|
389
|
+
# 输出错误日志的最后 20 行,帮助快速定位问题
|
|
390
|
+
if [[ -s "$MASTER_ERROR_LOG" ]]; then
|
|
391
|
+
log_error ""
|
|
392
|
+
log_error "=== 错误日志最后 20 行 ==="
|
|
393
|
+
tail -20 "$MASTER_ERROR_LOG" | while IFS= read -r line; do
|
|
394
|
+
log_error " $line"
|
|
395
|
+
done
|
|
396
|
+
log_error "=========================="
|
|
397
|
+
else
|
|
398
|
+
log_error "错误日志文件为空,可能是环境变量或路径问题"
|
|
399
|
+
fi
|
|
400
|
+
|
|
278
401
|
exit 1
|
|
279
402
|
fi
|
|
280
403
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/__pip-runner__.py
RENAMED
|
File without changes
|
{vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/cache.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/cli/main.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{vibego-0.2.30 → vibego-0.2.31}/scripts/.venv/lib/python3.14/site-packages/pip/_internal/main.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|