hermes-agent/tests
Teknium cbb8cee47d fix(read_file): surface document extraction failures instead of the generic binary-file error
When extraction of a binary document format (.pdf, .docx, .xlsx, Office,
EPUB…) fails for a specific reason — the anydoc size cap, an encrypted or
malformed file — read_file previously swallowed the ExtractionError at
debug level and fell through to the generic 'Cannot read binary file'
guard, so the agent never saw the actionable reason (e.g. 'Document too
large to convert (N bytes, limit is 52,428,800)').

read_file now returns the specific extraction failure for binary document
formats. Fallthrough behavior is preserved where a raw read is still
useful: .ipynb (plain JSON) and converter-unavailable PDFs keep their
historical raw-read path, and the 'Unsupported document type' shape (no
extra information) keeps the generic guard.

Follow-up to #80004, where the size-cap message was being generated but
never reached the agent.
2026-08-08 05:40:45 -07:00
..
acp
…
acp_adapter
…
agent fix(learn): process large sources incrementally 2026-08-08 05:09:43 -07:00
ci
…
cli fix: handle replacement transforms after CLI streaming 2026-08-08 14:06:30 +05:30
computer_use
…
conformance
…
cron
…
dashboard
…
docker
…
e2e
…
fakes fix: streaming tool call parsing, error handling, and fake HA state mutation 2026-03-14 14:27:20 +03:00
fixtures
…
gateway fix(api-server): mark replayed tool calls completed in Responses output items 2026-08-08 05:22:02 -07:00
hermes_cli feat: --resume latest keyword and --in DIR launch flag 2026-08-08 04:03:41 -07:00
hermes_state
…
honcho_plugin
…
install
…
integration
…
manual
…
monitoring
…
openviking_plugin
…
plugins feat: add new FAL video families and image models 2026-08-08 04:31:55 -07:00
providers fix(cache): scope prompt_cache_key by session to stop cross-session bucket sharing 2026-08-05 12:42:46 +05:30
run_agent
…
scripts
…
secret_sources
…
skills
…
state
…
stress
…
tools fix(read_file): surface document extraction failures instead of the generic binary-file error 2026-08-08 05:40:45 -07:00
tui_gateway
…
verify
…
website
…
__init__.py
…
conftest.py
…
run_interrupt_test.py
…
test_account_usage.py
…
test_atomic_replace_symlinks.py
…
test_atomic_write_text_metadata.py
…
test_audio_playback_guard.py fix(tests): stop the test suite speaking aloud and launching a browser 2026-07-28 14:07:21 -07:00
test_background_review_list_shapes.py
…
test_background_review_session_isolation.py
…
test_base_url_hostname.py
…
test_batch_runner_checkpoint.py
…
test_batch_runner_durability.py
…
test_bitwarden_secrets.py
…
test_cli_manual_compress.py
…
test_cli_skin_integration.py
…
test_code_skew.py
…
test_command_secret_source.py
…
test_conftest_wal_gate.py
…
test_copilot_initiator.py
…
test_credential_file_permissions.py
…
test_ctx_halving_fix.py
…
test_delegate_cascade_49148.py
…
test_dispatch_session_id.py
…
test_empty_model_fallback.py
…
test_empty_session_hygiene.py
…
test_engines_satisfiable.py
…
test_env_loader_applied_homes.py fix(secrets): mark _APPLIED_HOMES only after a real fetch attempt (#40597) (#69056) 2026-07-22 03:20:25 -07:00
test_env_loader_op_bootstrap.py
…
test_env_loader_secret_sources.py
…
test_estop.py
…
test_evidence_store.py
…
test_fast_safe_load.py
…
test_fts_cjk_bigram.py
…
test_fts_update_of_narrowing.py
…
test_gateway_streaming_nested_config.py
…
test_get_tool_definitions_cache_isolation.py
…
test_hermes_bootstrap.py
…
test_hermes_constants.py
…
test_hermes_home_profile_warning.py
…
test_hermes_logging.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_hermes_state.py
…
test_hermes_state_compression_busy_retry.py
…
test_hermes_state_compression_locks.py
…
test_hermes_state_readonly_preflight.py
…
test_hermes_state_wal_fallback.py
…
test_hermetic_side_effect_guards.py
…
test_honcho_client_concurrency.py
…
test_honcho_client_config.py
…
test_honcho_session_context.py
…
test_honcho_startup_fail_open.py
…
test_install_autostash_conflict_recovery.py
…
test_install_commit_pin_rollback.py
…
test_install_diverged_update.py
…
test_install_lockfile_churn.py
…
test_install_macos_launcher.py
…
test_install_no_initial_commit.py
…
test_install_ps1_ascii_only.py
…
test_install_ps1_native_stderr_eap.py
…
test_install_ps1_node_path_for_npm.py
…
test_install_ps1_python_fallback_venv.py
…
test_install_ps1_uv_powershell_host.py
…
test_install_ps1_web_server_syntax_probe.py
…
test_install_sh_acp_launcher.py
…
test_install_sh_bootstrap_marker.py
…
test_install_sh_browser_install.py
…
test_install_sh_install_method_stamp.py
…
test_install_sh_node_global_prefix.py
…
test_install_sh_pythonpath_sanitization.py
…
test_install_sh_root_fhs_uv_python_path.py
…
test_install_sh_setup_wizard_tty_probe.py
…
test_install_sh_symlink_stomp.py
…
test_install_sh_termux_network_prereqs.py
…
test_install_unmerged_index.py
…
test_ipv4_preference.py
…
test_iron_proxy.py
…
test_iron_proxy_cli.py
…
test_iron_proxy_e2e.py
…
test_journal_mode_config.py
…
test_lazy_session_regressions.py
…
test_list_recent_user_messages_handoffs.py
…
test_live_system_guard.py
…
test_live_system_guard_self_test.py
…
test_log_isolation.py
…
test_managed_runtime_resolution.py
…
test_mcp_serve.py fix(mcp): avoid replaying historical events on startup (#13414) 2026-08-01 13:13:30 +05:30
test_message_reactions.py
…
test_mini_swe_runner.py
…
test_minimax_model_validation.py
…
test_minimax_oauth.py
…
test_minisweagent_path.py
…
test_model_forces_max_completion_tokens.py
…
test_model_picker_scroll.py
…
test_model_tools.py
…
test_model_tools_async_bridge.py
…
test_no_shadowed_test_definitions.py
…
test_ollama_num_ctx.py
…
test_onepassword_secrets.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_output_cap_parsing.py
…
test_packaging_build_guard.py
…
test_packaging_metadata.py
…
test_plugin_skills.py
…
test_plugin_utils.py
…
test_process_loop_event_loop_warning.py
…
test_profile_isolation_runtime.py
…
test_project_metadata.py
…
test_pty_keepalive_ws.py
…
test_pty_session.py
…
test_retry_utils.py
…
test_run_tests_parallel.py
…
test_run_tests_parallel_stdio.py
…
test_sanitize_tool_error.py
…
test_schema_read_probe.py
…
test_search_slow_query_log.py
…
test_secret_scope_plugin_families.py
…
test_session_db_read_path_split.py
…
test_session_skill_previews.py
…
test_session_system_prompt_dedup.py
…
test_session_vacuum_config.py
…
test_session_workspace_binding.py
…
test_slack_thread_require_mention.py
…
test_slash_worker_watchdog.py
…
test_sql_injection.py
…
test_sqlite_lock_safe_inspection.py
…
test_sqlite_wal_reset_gate.py
…
test_stale_tool_call_marker_session_repair.py
…
test_stale_utils_module_import.py
…
test_state_db_malformed_repair.py
…
test_state_db_stats.py
…
test_subprocess_home_isolation.py
…
test_telegram_polling_progress_ptb.py
…
test_termux_all_extra_compat.py
…
test_timezone.py
…
test_tini_shim.py
…
test_toolset_distributions.py
…
test_toolsets.py
…
test_trajectory_compressor.py
…
test_trajectory_compressor_async.py
…
test_transform_llm_output_hook.py
…
test_transform_tool_result_hook.py
…
test_tui_entry_mcp_owner.py
…
test_tui_gateway_loop_noise.py
…
test_tui_gateway_queue_on_busy.py
…
test_tui_gateway_server.py
…
test_tui_gateway_server_crash_history.py
…
test_tui_gateway_ws.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_tui_mcp_late_refresh.py
…
test_utils_truthy_values.py
…
test_voice_max_recording_seconds.py
…
test_wal_checkpoint_strategy.py
…
test_web_server.py
…
test_web_server_sessiondb_eventloop.py
…
test_web_server_status_topology_cache.py
…
test_windows_subprocess_no_window_flags.py
…
test_yaml_indent_consistency_31999.py
…
test_yuanbao_integration.py
…
test_yuanbao_markdown.py
…
test_yuanbao_pipeline.py
…
test_yuanbao_proto.py
…
test_yuanbao_reconnect_set_active.py
…
test_yuanbao_shutdown.py
…
test_zeroed_state_db.py
…