hermes-agent/tests
PRATHAMESH75 acc1b6e76a fix(agent): inject empty required array on Moonshot object schemas
Moonshot/Kimi's tool-parameter validator rejects object schemas that omit
the required key with HTTP 400 ("required must be an array"), even though
standard JSON Schema allows omitting it. Any Hermes tool with zero required
parameters (browser_back, delegate_task, project_list, several MCP list_*
tools, etc.) tripped this when routed to a Moonshot endpoint.

Add a Rule 4 to the sanitizer: every object schema gets a required array,
defaulting to []. Existing lists are preserved but pruned to names that
actually appear in properties (dangling entries are also rejected upstream).
Applied recursively to nested object schemas and to the coerced/empty
top-level fallback.

Fixes #66835
2026-07-20 11:05:52 -07:00
..
acp
…
acp_adapter
…
agent fix(agent): inject empty required array on Moonshot object schemas 2026-07-20 11:05:52 -07:00
ci
…
cli fix: migrate CLI kanban gate + remaining mocks to 5-value judge contract 2026-07-20 05:38:25 -07:00
computer_use
…
cron
…
dashboard
…
docker
…
e2e
…
fakes
…
fixtures/plugins/example-dashboard/dashboard
…
gateway fix(feishu): keep msg_type=post consistent across every chunk of a long markdown reply (#26841) 2026-07-20 09:28:24 -07:00
hermes_cli fix: preserve kimi-coding-cn provider identity 2026-07-20 10:17:57 -07:00
hermes_state
…
honcho_plugin
…
integration
…
manual
…
openviking_plugin
…
plugins fix(supermemory): complete self-hosted endpoint routing 2026-07-20 00:40:40 -07:00
providers
…
run_agent fix(desktop, ink): don't wipe messages before final message (#65919) 2026-07-20 11:42:29 -04:00
scripts
…
secret_sources
…
skills
…
state
…
stress
…
tools fix(credentials): hoist read-guard import, fail closed loudly (#67665) 2026-07-20 09:21:08 -07:00
tui_gateway fix(desktop): prevent duplicate messages when verification candidates are persisted (#68149) 2026-07-20 17:14:41 +00:00
website
…
__init__.py
…
conftest.py
…
run_interrupt_test.py
…
test_account_usage.py
…
test_atomic_replace_symlinks.py
…
test_background_review_list_shapes.py
…
test_background_review_session_isolation.py
…
test_base_url_hostname.py
…
test_batch_runner_checkpoint.py
…
test_bitwarden_secrets.py
…
test_cli_file_drop.py
…
test_cli_manual_compress.py
…
test_cli_skin_integration.py
…
test_code_skew.py
…
test_copilot_initiator.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_env_loader_op_bootstrap.py
…
test_env_loader_secret_sources.py
…
test_evidence_store.py
…
test_fast_safe_load.py
…
test_gateway_streaming_nested_config.py fix(gateway): normalize YAML boolean streaming mode and keep enabled a mode-only alias 2026-07-20 05:39:09 -07:00
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_hermes_state.py fix(desktop): prevent duplicate messages when verification candidates are persisted (#68149) 2026-07-20 17:14:41 +00:00
test_hermes_state_compression_locks.py
…
test_hermes_state_wal_fallback.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_diverged_update.py
…
test_install_lockfile_churn.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_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_lazy_session_regressions.py
…
test_lint_config.py
…
test_live_system_guard_self_test.py
…
test_mcp_serve.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_ollama_num_ctx.py
…
test_onepassword_secrets.py
…
test_output_cap_parsing.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_sanitize_tool_error.py
…
test_session_workspace_binding.py
…
test_setup_temporary_outputs.py
…
test_slash_worker_watchdog.py
…
test_sql_injection.py
…
test_stale_utils_module_import.py
…
test_state_db_malformed_repair.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_gateway_loop_noise.py
…
test_tui_gateway_queue_on_busy.py
…
test_tui_gateway_server.py fix(desktop): prevent duplicate messages when verification candidates are persisted (#68149) 2026-07-20 17:14:41 +00:00
test_tui_gateway_ws.py
…
test_tui_mcp_late_refresh.py
…
test_utils_truthy_values.py
…
test_wal_checkpoint_strategy.py
…
test_web_server.py
…
test_web_server_sessiondb_eventloop.py
…
test_wheel_locales_e2e.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
…