mirror of
https://github.com/NousResearch/hermes-agent.git
synced 2026-07-26 17:38:36 +00:00
Removes Homebrew and PyPI wheel/sdist as Hermes distribution paths while
preserving the supported source, Docker, and Nix workflows.
Changes:
- Removes the Homebrew formula, PyPI publish workflow, sdist manifest
(MANIFEST.in), and wheel/sdist release-attachment logic from scripts/release.py.
- Keeps setuptools metadata and entry points required by editable installs
and Docker/Nix builds, but adds a setup.py guard that rejects wheel/sdist
builds outside a sealed Nix derivation (HERMES_NIX_BUILD=1).
- Removes pip/Homebrew install detection, PyPI update checks, the pip
self-update path, the deprecation-banner state, the postinstall subcommand,
wheel data-directory fallbacks in agent/i18n.py and hermes_constants.py,
and the ACP Registry manifest/version-lockstep release logic.
- Adds /nix/store/ path detection so `nix run` / `nix profile install`
installs (which don't set HERMES_MANAGED) are correctly identified as
"nix" rather than falling through to "git"/"unknown".
- Retired install-method values ("pip", "homebrew") in existing
.install_method stamps (both code-scoped and home-scoped) are ignored by
the allowlist reader and fall through to "unknown" instead of resurrecting
a retired enum value.
- Updates Nix packaging to ship bare runtime data (locales, optional-mcps)
through store symlinks and wrapper env vars instead of wheel data-files.
- Removes the ACP Registry manifest/icon and their version-lockstep tests.
- Deletes or rewrites packaging, pip-update, Homebrew, and ACP Registry
tests; adds parametrized coverage for the packaging build guard covering
BOTH sdist and wheel paths (the guards live in separate cmdclass entries
— a passing sdist test proves nothing about the wheel path).
- Updates installation/platform documentation and related user-facing copy.
- Adjusts the supply-chain scan so deleted install-hook files do not trigger
a finding, while additions or modifications still require the existing
ci-reviewed label gate.
Supported installation paths (unchanged):
- git installer (install.sh)
- Docker
- Nix/NixOS
- editable development installs (uv sync, uv pip install -e ., pip install -e .)
|
||
|---|---|---|
| .. | ||
| __init__.py | ||
| test_bracketed_paste_timeout.py | ||
| test_branch_command.py | ||
| test_busy_input_mode_command.py | ||
| test_chat_q_exit_clear.py | ||
| test_cli_active_agent_ref_wiring.py | ||
| test_cli_approval_ui.py | ||
| test_cli_async_delegation_delivery.py | ||
| test_cli_background_status_indicator.py | ||
| test_cli_background_tui_refresh.py | ||
| test_cli_bracketed_paste_sanitizer.py | ||
| test_cli_browser_connect.py | ||
| test_cli_codex_context_reference.py | ||
| test_cli_context_warning.py | ||
| test_cli_copy_command.py | ||
| test_cli_delegate_background_notice.py | ||
| test_cli_extension_hooks.py | ||
| test_cli_external_editor.py | ||
| test_cli_file_drop.py | ||
| test_cli_force_redraw.py | ||
| test_cli_goal_interrupt.py | ||
| test_cli_image_command.py | ||
| test_cli_init.py | ||
| test_cli_insights_command.py | ||
| test_cli_interrupt_ack_race.py | ||
| test_cli_interrupt_drain_regression.py | ||
| test_cli_interrupt_subagent.py | ||
| test_cli_light_mode.py | ||
| test_cli_loading_indicator.py | ||
| test_cli_markdown_rendering.py | ||
| test_cli_mcp_config_watch.py | ||
| test_cli_new_session.py | ||
| test_cli_pet_pane.py | ||
| test_cli_prefix_matching.py | ||
| test_cli_preloaded_skills.py | ||
| test_cli_provider_resolution.py | ||
| test_cli_reload_skills.py | ||
| test_cli_resume_command.py | ||
| test_cli_retry.py | ||
| test_cli_save_config_value.py | ||
| test_cli_secret_capture.py | ||
| test_cli_shift_enter_newline.py | ||
| test_cli_shutdown_memory_messages.py | ||
| test_cli_skin_integration.py | ||
| test_cli_status_bar.py | ||
| test_cli_status_command.py | ||
| test_cli_steer_busy_path.py | ||
| test_cli_terminal_response_sanitizer.py | ||
| test_cli_terminal_shortcuts.py | ||
| test_cli_tools_command.py | ||
| test_cli_user_message_preview.py | ||
| test_cli_yolo_toggle.py | ||
| test_compress_flags.py | ||
| test_compress_focus.py | ||
| test_compress_here.py | ||
| test_cpr_local_leak.py | ||
| test_cprint_bg_thread.py | ||
| test_ctrl_enter_newline.py | ||
| test_cwd_env_respect.py | ||
| test_destructive_slash_confirm.py | ||
| test_destructive_slash_inline_skip_e2e.py | ||
| test_exit_delete_session.py | ||
| test_exit_summary_resume_hint.py | ||
| test_exit_watchdog_signal_arm.py | ||
| test_fast_command.py | ||
| test_manual_compress.py | ||
| test_moa_command.py | ||
| test_partial_compress.py | ||
| test_personality_none.py | ||
| test_prefill_config.py | ||
| test_prepend_note_to_message.py | ||
| test_prompt_text_input_thread_safety.py | ||
| test_quick_commands.py | ||
| test_reasoning_command.py | ||
| test_resume_display.py | ||
| test_resume_quiet_stderr.py | ||
| test_save_conversation_location.py | ||
| test_session_boundary_hooks.py | ||
| test_single_query_session_finalize.py | ||
| test_slash_command_interrupt.py | ||
| test_slash_confirm_windows.py | ||
| test_steer_inline_repaint_34569.py | ||
| test_stream_delta_think_tag.py | ||
| test_stream_partial_line_flush.py | ||
| test_surrogate_sanitization.py | ||
| test_terminal_interrupt_recovery.py | ||
| test_tool_progress_scrollback.py | ||
| test_tui_terminal_reset_on_exit.py | ||
| test_update_command.py | ||
| test_version_command.py | ||
| test_worktree.py | ||
| test_worktree_security.py | ||
| test_worktree_sync_base.py | ||