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