hermes-agent/tests/cli
Mibayy ce9aa869fc
Some checks are pending
CI / Detect affected areas (push) Waiting to run
CI / Python tests (push) Blocked by required conditions
CI / Python lints (push) Blocked by required conditions
CI / TypeScript (push) Blocked by required conditions
CI / Docs Site (push) Blocked by required conditions
CI / Deny unrelated histories (push) Blocked by required conditions
CI / Check contributors (push) Blocked by required conditions
CI / Check uv.lock (push) Blocked by required conditions
CI / Lint Docker scripts (push) Blocked by required conditions
CI / Build&Test Docker image (push) Blocked by required conditions
CI / Supply-chain scan (push) Blocked by required conditions
CI / OSV scan (push) Waiting to run
CI / All required checks pass (push) Blocked by required conditions
CI / CI timing report (push) Blocked by required conditions
Deploy Site / deploy-vercel (push) Waiting to run
Deploy Site / deploy-docs (push) Waiting to run
feat(commands): /compact alias + --preview/--dry-run flags for /compress (#3243 salvage)
Salvaged from PR #3243 by @Mibayy, reimplemented against current main
(the original diff targeted a removed gateway/run.py handler).

- /compact is now a first-class alias of /compress (CLI, gateway,
  Telegram/Slack/Discord command lists, autocomplete) — also fixes the
  dangling '/compact' references in gateway error messages
  (gateway/run.py context-exhausted banners).
- --preview / --dry-run: report what WOULD be compressed (message
  counts, token estimate, 'here [N]' boundary) without touching the
  transcript. Flags coexist with the existing 'here [N]' / focus-topic
  args on both the CLI and gateway surfaces via shared pure helpers in
  hermes_cli/partial_compress.py.
- --aggressive (LLM-free hard truncation) is intentionally NOT
  implemented: it would need its own transcript-persistence branch
  outside the guarded _compress_context rotation machinery (#44794
  data-loss class). The flag is recognized and returns an explanatory
  message pointing at '/compress here [N]' and /undo instead of being
  mis-parsed as a focus topic.
- locales: gateway.compress.aggressive_unsupported added to all 16
  catalogs (parity test enforced).
- release.py: AUTHOR_MAP entry for contributor credit.
2026-07-02 05:10:31 -07:00
..
__init__.py
test_bracketed_paste_timeout.py
test_branch_command.py fix(cli): flush un-persisted messages before /resume and /branch end the old session 2026-07-01 17:08:55 +05:30
test_busy_input_mode_command.py
test_cli_active_agent_ref_wiring.py fix(cli): publish agent ref to cli module so memory on_session_end fires on exit 2026-06-19 16:59:43 -07:00
test_cli_approval_ui.py fix(cli): clear input-blocking overlays when interrupting a running agent 2026-06-30 04:49:29 -07:00
test_cli_background_status_indicator.py feat(cli): track background subagents in the status bar (#51441) 2026-06-23 11:09:08 -07:00
test_cli_background_tui_refresh.py
test_cli_bracketed_paste_sanitizer.py
test_cli_browser_connect.py
test_cli_context_warning.py
test_cli_copy_command.py
test_cli_delegate_background_notice.py feat(cli): note background delegate_task dispatch in _on_tool_complete 2026-06-25 19:57:58 -05:00
test_cli_extension_hooks.py
test_cli_external_editor.py
test_cli_file_drop.py
test_cli_force_redraw.py fix(cli): clear viewport on width-change resize so the status bar can't duplicate (#49120) 2026-06-19 08:43:42 -07:00
test_cli_goal_interrupt.py feat(goals): /goal wait <pid> — park the loop on a background process (#50503) 2026-06-22 06:27:29 -07:00
test_cli_image_command.py
test_cli_init.py fix(config): canonicalize model.name/model.model to model.default (#34500) 2026-06-28 02:05:13 -07:00
test_cli_insights_command.py
test_cli_interrupt_ack_race.py fix(cli): reliable interrupts, bounded exit, and exit feedback (#57000) 2026-07-02 04:20:43 -07:00
test_cli_interrupt_drain_regression.py fix(cli): re-land interrupt_queue drain so finished turns flush stray input 2026-07-01 00:12:32 -07:00
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 feat(pets): CLI pet pane + /pet command 2026-06-20 14:18:33 -05:00
test_cli_prefix_matching.py
test_cli_preloaded_skills.py
test_cli_provider_resolution.py fix(ci): rip out some xdist legacy stuff... how did these ever work?? 2026-06-26 19:15:18 -07:00
test_cli_reload_skills.py
test_cli_resume_command.py fix(cli): flush un-persisted messages before /resume and /branch end the old session 2026-07-01 17:08:55 +05:30
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 fix(cli): persist sessions before shutdown 2026-06-21 07:25:56 -07:00
test_cli_skin_integration.py
test_cli_status_bar.py fix(test): pin monotonic clock in spinner-elapsed test to fix CI flake (#54203) 2026-06-28 04:16:25 -07:00
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 feat(commands): /compact alias + --preview/--dry-run flags for /compress (#3243 salvage) 2026-07-02 05:10:31 -07:00
test_compress_focus.py
test_compress_here.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_fast_command.py
test_manual_compress.py
test_moa_command.py feat(moa): make /moa one-shot only; route preset switching through the model picker 2026-06-27 03:09:09 -07:00
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 feat(billing): /billing terminal billing — interactive TUI + CLI client (#45449) 2026-06-19 01:53:32 +05:30
test_quick_commands.py fix(ci): rip out some xdist legacy stuff... how did these ever work?? 2026-06-26 19:15:18 -07:00
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 fix(cli): prevent duplicate one-shot finalize on interrupted cleanup (#43320) 2026-06-09 22:41:04 -07:00
test_slash_command_interrupt.py
test_slash_confirm_windows.py test(cli): exercise real _prompt_text_input for native-Windows confirm deadlock 2026-06-08 15:53:28 -07:00
test_steer_inline_repaint_34569.py
test_stream_delta_think_tag.py fix: make streaming reasoning-tag filter case-insensitive 2026-07-01 03:25:02 -07:00
test_surrogate_sanitization.py
test_terminal_interrupt_recovery.py refactor(cli): extract interrupt recovery to a testable helper 2026-06-28 01:08:09 -07:00
test_tool_progress_scrollback.py feat(moa): show each reference model's output as a labelled block before the aggregator (#53793) 2026-06-27 12:45:23 -07:00
test_tui_terminal_reset_on_exit.py
test_update_command.py
test_version_command.py
test_worktree.py fix(cli): reap dead-locked worktrees so .worktrees/ can't grow unbounded (#56288) 2026-07-01 03:43:20 -07:00
test_worktree_security.py
test_worktree_sync_base.py fix(cli): branch new worktrees from the fresh remote tip, not stale local HEAD (#50355) 2026-06-21 12:42:11 -07:00