hermes-agent/tests/tools
Solitud1nem 562c8b418f test(voice): drive the micro-pause test from the explicit clock too
Review follow-up: test_micro_pause_tolerance_during_speech was left on real
sleeps, so it kept the wall-clock dependency the rest of this PR removes.
Its three sleeps (50 ms, 50 ms, 60 ms) feed the same monotonic gate at
tools/voice_mode.py:561 that the other two tests were converted for.

It was measured rather than assumed before being left out: 0 failures in 40
runs, because on Windows sleep() rounds up to the timer tick, so sleep(0.05)
really costs ~62.5 ms and the three sleeps clear the 150 ms gate by ~37.5 ms
-- wider than the 15.625 ms GetTickCount64() quantum that made the other two
flake. That margin is an accident of sleep granularity rather than anything
the test guarantees, so it is not worth keeping the bet.

Driving it from fake_clock makes the timeline exact (0.05 + 0.05 + 0.06 =
0.16 against the 0.15 gate, dip 0.05 under the 0.1 tolerance) and drops the
real sleeping from the suite. Mutation-checked: widening the gate at :561
fails the test.
2026-07-28 14:07:21 -07:00
..
__init__.py
conftest.py
test_accretion_caps.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_ansi_strip.py fix(cli): sanitize terminal escapes when replaying stored history (/resume recap, /status recap) 2026-07-17 04:53:38 -07:00
test_approval.py fix(approval): detect recursive rm when flags follow operands 2026-07-26 20:58:52 -07:00
test_approval_deny_rules.py feat(approvals): user-defined deny rules that block commands even under yolo (#59164) 2026-07-05 14:48:40 -07:00
test_approval_heartbeat.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_approval_interrupt.py fix(approval): honor canonical gateway timeout 2026-07-12 22:43:57 -07:00
test_approval_plugin_hooks.py test(approval): isolate smart observer redaction failure 2026-07-13 04:31:55 -07:00
test_approved_command_clean_slate.py fix(interrupt): run user-approved commands from a clean interrupt slate 2026-07-06 04:58:42 -07:00
test_async_delegation.py feat(delegation): structured stall metadata + live per-child status in /agents 2026-07-26 17:13:52 -07:00
test_async_delegation_fd_leak.py fix(gateway,tools,agent): close leaked SQLite connections in delivery, delegation, and verification ledgers 2026-07-24 15:55:08 -07:00
test_audio_container.py refactor: extract shared audio container sniffer to tools/audio_container.py 2026-07-28 11:52:44 -07:00
test_base_environment.py fix(terminal): stop shared bash snapshot leaking HERMES_SESSION_* across sessions 2026-07-24 23:09:02 -07:00
test_blueprints.py refactor(cron): rebrand Cron Recipes -> Automation Blueprints 2026-06-11 10:49:47 -07:00
test_browser_camofox.py fix(browser): force secret-pattern redaction on browser_type display 2026-06-25 22:02:22 -07:00
test_browser_camofox_auth.py fix(browser): send Authorization header in Camofox HTTP calls when CAMOFOX_API_KEY is set 2026-06-29 01:26:24 -07:00
test_browser_camofox_ensure_tab.py fix(tools): send listItemId instead of sessionKey in Camofox tab creation 2026-06-29 01:26:24 -07:00
test_browser_camofox_persistence.py test(camofox): accept headers= kwarg in persistence test mocks 2026-06-29 01:26:24 -07:00
test_browser_camofox_private_page_guard.py fix(browser): block Camofox input on private pages 2026-07-03 03:27:47 -07:00
test_browser_camofox_state.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_browser_camofox_timeout.py fix(tools): read browser.command_timeout in Camofox HTTP client 2026-06-29 01:26:24 -07:00
test_browser_cdp_override.py security(browser): enforce cloud-metadata floor on all backends; CDP is non-local 2026-07-01 05:09:35 -07:00
test_browser_cdp_tool.py fix(browser): stop stale cdp_url from stalling every startup by 10+ seconds 2026-07-27 14:32:05 -07:00
test_browser_chromium_autoinstall.py feat(browser): auto-install Chromium binary on local cold-start failure 2026-06-28 12:25:15 -05:00
test_browser_chromium_check.py fix(windows): cover remaining console-flash spawn legs (#54417) 2026-06-28 13:49:08 -07:00
test_browser_cleanup.py
test_browser_cloud_fallback.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_browser_cloud_provider_cache.py
test_browser_command_timeout_race.py fix(browser_tool): resolve race in _get_command_timeout cache returning None (#14331) 2026-06-29 02:24:57 -07:00
test_browser_console.py fix(skills): move dogfood skill into the software-development category 2026-07-23 19:45:54 -07:00
test_browser_console_ssrf.py fix(browser): extend private-network guard to browser_console 2026-07-01 05:23:17 -07:00
test_browser_content_none_guard.py feat(browser): store full snapshots on truncation; make eval denylist opt-in (#65923) 2026-07-16 23:41:26 -07:00
test_browser_eval_ssrf.py fix(browser): guard Camofox eval private pages 2026-07-02 13:10:30 +05:30
test_browser_eval_supervisor_path.py fix(browser): recover from CDP DOM-node serialization crash in browser_console (#35385) 2026-05-30 07:31:25 -07:00
test_browser_get_images_ssrf.py fix(browser): extend private-network guard to browser_get_images 2026-06-28 14:25:10 -07:00
test_browser_hardening.py feat(browser): store full snapshots on truncation; make eval denylist opt-in (#65923) 2026-07-16 23:41:26 -07:00
test_browser_headed_mode.py fix: widen headed-mode gate to config, add browser.headed default, tests, docs 2026-07-18 10:07:46 -07:00
test_browser_homebrew_paths.py fix(windows): cover remaining console-flash spawn legs (#54417) 2026-06-28 13:49:08 -07:00
test_browser_hybrid_routing.py fix(browser): stop stale cdp_url from stalling every startup by 10+ seconds 2026-07-27 14:32:05 -07:00
test_browser_lightpanda.py fix(browser): stop stale cdp_url from stalling every startup by 10+ seconds 2026-07-27 14:32:05 -07:00
test_browser_open_timeout.py test(browser): cover open timeout diagnostics and failed navigate title 2026-06-28 12:14:21 -05:00
test_browser_orphan_reaper.py fix(browser): verify daemon identity before orphan reaper kills a PID (#14073) 2026-06-21 15:23:47 -07:00
test_browser_private_page_action_guard.py security(browser): re-check private-network guard after browser_back navigation 2026-07-01 20:01:55 +03:00
test_browser_secret_exfil.py fix(browser): narrow credential-query denylist to unambiguous names 2026-07-01 05:04:41 -07:00
test_browser_snapshot_ssrf.py fix(browser): allow local sidecar sessions to bypass SSRF guard 2026-06-28 02:42:01 -07:00
test_browser_ssrf_local.py fix(browser): enable SSRF guard when terminal runs in container 2026-06-21 07:26:18 -07:00
test_browser_supervisor.py fix(tests): stop the test suite speaking aloud and launching a browser 2026-07-28 14:07:21 -07:00
test_browser_supervisor_healthcheck.py
test_browser_type_redaction.py fix(browser): force secret-pattern redaction on browser_type display 2026-06-25 22:02:22 -07:00
test_budget_config.py fix(agent): scale tool-output budget to the model context window (#23767) 2026-06-21 17:46:38 +05:30
test_checkpoint_manager.py feat(diff): cross-surface /diff with staged/all/session modes 2026-07-26 18:28:20 -07:00
test_clarify_gateway.py feat(clarify): extend multi-select to gateway text fallback and TUI bridge 2026-07-26 17:46:55 -07:00
test_clarify_tool.py fix(clarify): route multi_select through current dispatch paths and harden callback detection 2026-07-26 17:46:55 -07:00
test_clipboard.py test: update voice-submission test for _VoiceInputMessage sentinel (#65827) 2026-07-28 11:57:37 -07:00
test_code_execution.py fix(code-exec): expose truncated stdout metadata 2026-07-16 04:25:19 -07:00
test_code_execution_modes.py test(execute-code): cover session cwd record precedence in project mode 2026-07-16 04:24:07 -07:00
test_code_execution_windows_env.py fix(code-exec): restore approval context in execute_code RPC threads + guard entry 2026-05-29 03:44:49 -07:00
test_command_guards.py test(approval): cover allow_session tiers in Matrix reaction seeding and gateway payload 2026-07-21 12:04:47 -07:00
test_computer_use.py fix(update): refresh cve dependency pins 2026-07-26 19:29:07 -07:00
test_computer_use_capture_routing.py feat(computer_use): cross-platform cua-driver (macOS/Windows/Linux) 2026-06-22 06:42:30 -07:00
test_computer_use_cua_backend_linux.py fix(computer-use): handle Linux cua window metadata 2026-07-23 08:11:58 -07:00
test_computer_use_delivery_ladder.py fix(computer_use): reconnect a dead cua-driver session instead of hanging (#67138) 2026-07-18 15:07:04 -07:00
test_computer_use_null_pid_windows.py Fix computer-use crash on X11 windows with null PID 2026-07-04 02:37:33 -07:00
test_computer_use_vision_routing.py fix(computer_use): honor custom vision routing 2026-06-07 02:09:20 -07:00
test_config_null_guard.py fix(deepinfra): harden multimodal provider routing 2026-07-14 02:59:39 +05:30
test_container_cwd_sanitize.py refactor(terminal,file-tools): delete legacy env-side cwd tracking (step 4) 2026-07-16 00:18:38 -07:00
test_credential_files.py fix(credentials): hoist read-guard import, fail closed loudly (#67665) 2026-07-20 09:21:08 -07:00
test_credential_pool_env_fallback.py test(credential_pool): cover Anthropic env auth_type classification 2026-06-30 17:29:03 -07:00
test_cron_approval_mode.py fix(approval): honour tirith_fail_open in cron-deny tirith path + tests 2026-07-01 00:13:36 -07:00
test_cron_prompt_injection.py fix(security): align cron invisible-unicode set with install-time scanner 2026-06-26 01:11:11 -07:00
test_cronjob_run_immediate.py fix(cron): reconcile external provider after a claimed direct run (#70479) 2026-07-24 13:37:04 +10:00
test_cronjob_tools.py feat(cron): user-owned model pins + cron.model fleet default 2026-07-28 11:52:47 -07:00
test_cross_profile_guard.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_daemon_pool.py fix(cli): reliable interrupts, bounded exit, and exit feedback (#57000) 2026-07-02 04:20:43 -07:00
test_daytona_environment.py fix(daytona): quote single-upload mkdir parent path (#54440) 2026-06-28 14:33:03 -07:00
test_debug_helpers.py
test_delegate.py nous portal anthropic wire 2026-07-27 11:53:48 -04:00
test_delegate_apiserver_background.py fix(gateway): deliver kanban/delegate wake-ups to api_server sessions 2026-07-23 11:55:17 -07:00
test_delegate_composite_toolsets.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_delegate_kanban_isolation.py test: pin repo root on PYTHONPATH for subprocess-boundary kanban isolation tests 2026-07-23 07:33:36 -07:00
test_delegate_subagent_timeout_diagnostic.py feat(delegation): structured stall metadata + live per-child status in /agents 2026-07-26 17:13:52 -07:00
test_delegate_summary_budget.py fix(delegation): budget subagent summaries against parent context headroom 2026-06-30 03:07:40 -07:00
test_delegate_toolset_scope.py fix(delegate): route subagent progress lines through _safe_print for ACP stdio 2026-06-30 03:16:22 -07:00
test_delegation_live_log.py fix(delegation): redact credentials in live subagent transcripts 2026-07-20 06:50:31 -07:00
test_denial_circuit_breaker.py feat(approvals): consecutive-denial circuit breaker for smart approvals 2026-07-26 18:02:04 -07:00
test_desktop_ui.py feat(desktop): agent can focus panes + shared desktop-UI event bridge 2026-07-22 12:13:01 -05:00
test_discord_send_message_caption.py feat(gateway): attach MEDIA: caption to the media bubble on standalone sends 2026-07-09 15:38:32 +05:30
test_discord_tool.py fix(tools): /tools shows the full pre-assembly catalog; adapt tests to tiered disclosure 2026-07-26 08:26:09 -07:00
test_docker_cgroup_limits.py fix(docker): gate resource limit flags on cgroup controller availability (#54516) 2026-06-29 11:01:08 +10:00
test_docker_config_migrate.py test(docker): assert boot migration keeps .env byte-identical across reboots 2026-06-24 15:23:23 +10:00
test_docker_daemon_redirect.py feat(approval): require approval for docker/podman daemon-redirect commands 2026-07-26 20:58:39 -07:00
test_docker_environment.py fix: repair sweep fallout — duplicate encoding kwargs, non-subprocess call sites, kwarg-snapshot tests 2026-07-24 11:45:57 -07:00
test_docker_find.py
test_docker_network_config.py test(docker): update network-reuse harness fake ps output for egress-aware 3-field probe 2026-07-24 09:49:00 -07:00
test_docker_orphan_reaper_integration.py fix(docker): startup orphan reaper for crashed-process containers 2026-05-29 11:49:54 +10:00
test_docker_rebootstrap_nous_session.py fix(auth): apply newer hosted bootstrap session (#64612) 2026-07-16 08:52:47 +10:00
test_dockerfile_immutable_install.py refactor(ci): faster docker builds via --link and chmod removal 2026-06-26 19:15:18 -07:00
test_dockerfile_node_modules_perms.py Harden hosted Docker install tree against self-modification (#47490) 2026-06-18 09:09:21 +10:00
test_dockerfile_pid1_reaping.py fix(docker): pre-install matrix deps in Docker image (#30399) (#42413) 2026-06-10 19:23:06 +10:00
test_env_passthrough.py fix(security): strip dynamic Hermes secrets from all subprocess spawn env 2026-07-01 14:37:22 +05:30
test_env_probe.py fix(tools): bound env probe subprocess so a Windows inherited pipe can't wedge sessions (#67964) 2026-07-20 06:50:11 -07:00
test_execute_code_approval_cluster.py fix(kanban): harden delegated-child mutation boundary 2026-07-23 07:33:36 -07:00
test_execution_flag_detection.py fix(ci): make tests, workflows, and attribution reliable under load (#66373) 2026-07-17 20:55:24 +00:00
test_feishu_tools.py
test_file_operations.py fix(windows): bash-safe snapshot paths after #63113 2026-07-13 01:59:58 -04:00
test_file_operations_edge_cases.py perf(read_file): compact line-number gutter — ~14% fewer tokens per read (#35368) 2026-05-30 07:01:22 -07:00
test_file_ops_cwd_tracking.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_file_read_guards.py fix: disclose mid-line clamp in truncation hint 2026-07-05 14:42:05 -07:00
test_file_staleness.py refactor(terminal,file-tools): delete legacy env-side cwd tracking (step 4) 2026-07-16 00:18:38 -07:00
test_file_state_registry.py
test_file_sync.py test(file-sync): patch module-level _monotonic alias instead of shared stdlib time module 2026-07-20 02:25:53 -07:00
test_file_sync_back.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_file_sync_perf.py
test_file_sync_sigint.py fix(file-sync): re-deliver deferred Ctrl+C via raise_signal, not os.kill (Windows hard-kill) 2026-07-06 01:55:58 -07:00
test_file_tools.py refactor(terminal,file-tools): delete legacy env-side cwd tracking (step 4) 2026-07-16 00:18:38 -07:00
test_file_tools_container_config.py fix(tools): respect session cwd in file tools 2026-06-15 14:00:42 +05:30
test_file_tools_cwd_resolution.py refactor(terminal,file-tools): delete legacy env-side cwd tracking (step 4) 2026-07-16 00:18:38 -07:00
test_file_tools_live.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_file_tools_tilde_profile.py refactor(terminal,file-tools): delete legacy env-side cwd tracking (step 4) 2026-07-16 00:18:38 -07:00
test_file_write_safety.py test(file-safety): add integration tests for safe-root denial messages 2026-07-14 17:09:40 +05:30
test_find_shell.py fix(install): detect Git Bash Mandatory ASLR failures (#64651) 2026-07-16 22:46:46 -04:00
test_focus_pane_tool.py feat(desktop): agent can focus panes + shared desktop-UI event bridge 2026-07-22 12:13:01 -05:00
test_force_dangerous_override.py
test_fuzzy_match.py fix(tools): normalize Unicode space family and minus sign in patch fuzzy matching 2026-07-26 20:58:43 -07:00
test_gateway_cwd_contract.py test(tools): characterize tool-surface TERMINAL_CWD contract (#29265) 2026-06-01 16:55:04 -07:00
test_gnu_long_option_abbreviation_bypass.py fix(approval): catch GNU long-flag abbreviations for chown --recursive and git push --force 2026-06-30 17:32:28 -07:00
test_hardline_blocklist.py fix(approval): require exact ./.. segments in the root-collapse hardline token (#56179) 2026-07-05 02:24:00 -07:00
test_heartbeat_stale_thresholds.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_hermes_subprocess_env.py fix(kanban): harden delegated-child mutation boundary 2026-07-23 07:33:36 -07:00
test_hidden_dir_filter.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_homeassistant_tool.py
test_hook_output_spill.py feat(hooks): spill oversized hook-injected context to disk (#20468) 2026-07-05 13:51:26 -07:00
test_hub_lock_non_utf8_68053.py fix(skills): tolerate non-UTF-8 bytes in hub lock.json 2026-07-24 17:10:39 -07:00
test_image_generation.py krea 2026-06-25 12:38:33 -07:00
test_image_generation_artifacts.py feat(image-gen): add image-to-image / editing to image_generate (#48705) 2026-06-18 22:13:07 -07:00
test_image_generation_env.py
test_image_generation_image_to_image.py fix(tools): never let a model whitelist strip the prompt / source images 2026-06-19 16:59:54 -07:00
test_image_generation_plugin_dispatch.py fix(deepinfra): harden multimodal provider routing 2026-07-14 02:59:39 +05:30
test_image_source.py fix(vision): bound the sandbox exec-read at the ingest cap 2026-07-04 15:30:50 -07:00
test_init_session_cwd_respect.py
test_interrupt.py test: set _incremental_persistence_failed=False on MagicMock agent 2026-07-28 00:14:19 +05:30
test_kanban_redaction.py fix(security): redact secrets in kanban tool payloads before persistence 2026-06-21 12:02:30 -07:00
test_kanban_tools.py fix: scope kanban auto-subscriptions to active profile 2026-07-26 16:27:52 -07:00
test_lazy_deps.py fix(update): avoid refreshing inactive lazy backends 2026-07-26 19:28:55 -07:00
test_lazy_deps_durable_target.py test(lazy-deps): make durable-target tests network-free 2026-06-25 09:20:13 +10:00
test_line_ending_preservation.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_llm_content_none_guard.py feat(moa): expose MoA presets as selectable virtual models (#46081) 2026-06-25 13:52:06 -07:00
test_local_background_child_hang.py fix(ci): make tests, workflows, and attribution reliable under load (#66373) 2026-07-17 20:55:24 +00:00
test_local_cwd_permission_fallback.py fix(terminal): fall back when the configured cwd is unenterable, not just missing (#66306) 2026-07-17 06:54:51 -07:00
test_local_env_blocklist.py fix(terminal): stop stripping CLAUDE_CODE_OAUTH_TOKEN from spawned subprocesses (#56935) 2026-07-02 02:13:30 -07:00
test_local_env_cwd_recovery.py fix(local): stop re-reading cwd marker file 2026-07-16 01:28:24 -07:00
test_local_env_relative_cwd.py fix: normalize local terminal relative cwd 2026-07-16 01:28:13 -07:00
test_local_env_session_leak.py fix(tools): close the same session leak on the hermes_subprocess_env spawn surface (review) 2026-07-01 15:42:19 +05:30
test_local_env_windows_msys.py fix(local): stop re-reading cwd marker file 2026-07-16 01:28:24 -07:00
test_local_interrupt_cleanup.py fix(ci): make tests, workflows, and attribution reliable under load (#66373) 2026-07-17 20:55:24 +00:00
test_local_shell_init.py fix: brace-group the filtered export dump so $BASHPID expands in the parent shell 2026-07-24 23:09:02 -07:00
test_local_tempdir.py
test_managed_browserbase_and_modal.py test(approval): regression for shell-escape denylist bypass (#36846, #36847) 2026-06-07 03:57:21 -07:00
test_managed_media_gateways.py test: add BadRequestError to the fake openai module fixture 2026-07-28 11:53:36 -07:00
test_managed_modal_environment.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_managed_tool_gateway.py fix(managed-gateway): keep tool availability scans off the Nous token-refresh path 2026-05-30 07:58:08 -07:00
test_mcp_bridge_single_failure.py fix(mcp): clear connect-cooldown state on every shutdown path 2026-07-21 12:43:27 -07:00
test_mcp_cancelled_error_propagation.py fix(ci): make tests, workflows, and attribution reliable under load (#66373) 2026-07-17 20:55:24 +00:00
test_mcp_capability_gating.py test(mcp): cover 'unknown method' ping keepalive fallback (#50028) 2026-06-21 16:02:56 +05:30
test_mcp_circuit_breaker.py fix(ci): make tests, workflows, and attribution reliable under load (#66373) 2026-07-17 20:55:24 +00:00
test_mcp_client_cert.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_mcp_dashboard_oauth.py fix(mcp): preserve live OAuth state during reauth 2026-07-17 04:50:47 -07:00
test_mcp_dynamic_discovery.py feat(mcp): adopt mcp__server__tool naming convention 2026-07-05 13:40:21 -07:00
test_mcp_elicitation.py feat(tools): MCP elicitation handler with gateway-aware approval routing 2026-06-19 11:46:25 -07:00
test_mcp_empty_error_message.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_mcp_failure_classification.py fix(mcp): unwrap exception groups and park permanent failures immediately (#65673) 2026-07-21 12:42:33 -07:00
test_mcp_image_content.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_mcp_invalid_url.py
test_mcp_list_pagination.py fix(mcp): follow nextCursor pagination in tools/resources/prompts discovery 2026-07-17 04:57:12 -07:00
test_mcp_loop_profile_override.py fix(mcp): propagate HERMES_HOME override onto the MCP event loop (#44220) 2026-06-11 04:37:01 -07:00
test_mcp_oauth.py fix(mcp): make Figma remote OAuth work via DCR allowlist defaults 2026-07-28 00:53:16 -05:00
test_mcp_oauth_bidirectional.py
test_mcp_oauth_cold_load_expiry.py
test_mcp_oauth_integration.py fix(mcp): fail fast for noninteractive oauth without tokens 2026-06-15 04:22:07 -07:00
test_mcp_oauth_manager.py fix(mcp): preserve concurrent OAuth manager refresh 2026-07-17 04:50:47 -07:00
test_mcp_oauth_metadata.py
test_mcp_parked_self_probe.py fix(mcp): re-register tools during parked revival 2026-07-21 12:43:00 -07:00
test_mcp_poll_loop_oom_integration.py test(mcp): e2e integration coverage for #63892 poll-loop OOM spin 2026-07-18 18:49:56 -04:00
test_mcp_preflight_content_type.py docs+test(mcp): document skip_preflight and cover the bypass with a test 2026-07-05 21:36:19 -07:00
test_mcp_probe.py fix(mcp): preserve loop during probes 2026-06-14 02:09:45 -07:00
test_mcp_rapid_drop_budget.py fix(mcp): charge immediate reconnects against a rapid-drop budget (#62212) 2026-07-21 12:42:33 -07:00
test_mcp_reconnect_log_hygiene.py fix(mcp): one WARNING per state transition, DEBUG retry chatter, jittered backoff 2026-07-21 12:42:33 -07:00
test_mcp_reconnect_retry_reset.py fix(ci): make tests, workflows, and attribution reliable under load (#66373) 2026-07-17 20:55:24 +00:00
test_mcp_reconnect_signal.py
test_mcp_register_wakes_stale.py fix(mcp): wake stale cached servers on session startup + AUTHOR_MAP 2026-07-05 21:48:36 -07:00
test_mcp_resource_content.py test(mcp): isolate resource error breaker state 2026-07-21 12:43:27 -07:00
test_mcp_server_log_notifications.py feat(mcp): surface MCP server log notifications in agent.log (#57416) 2026-07-05 02:06:39 -07:00
test_mcp_sse_transport.py
test_mcp_stability.py fix(ci): make tests, workflows, and attribution reliable under load (#66373) 2026-07-17 20:55:24 +00:00
test_mcp_stdio_encoding_handler.py fix(mcp): use encoding_error_handler='replace' for stdio transport 2026-07-24 15:47:12 -07:00
test_mcp_stdio_init_timeout.py fix(mcp): bound stdio initialize handshake to stop subprocess/FD leak 2026-07-07 15:16:00 -07:00
test_mcp_stdio_watchdog.py fix(mcp): use direct parent identity in stdio watchdog 2026-07-18 04:15:13 -07:00
test_mcp_structured_content.py
test_mcp_tool.py feat(mcp): fnmatch glob support in tools.include/exclude filters 2026-07-26 08:26:09 -07:00
test_mcp_tool_401_handling.py
test_mcp_tool_issue_948.py fix(mcp): reap orphaned stdio MCP children on ungraceful parent death 2026-07-07 15:16:00 -07:00
test_mcp_tool_session_expired.py test(mcp): stamp breaker-open time on the monotonic clock, not a literal (#69003) 2026-07-21 19:54:40 -05:00
test_mcp_transport_group_reconnect.py fix(mcp): reconnect immediately on transport TaskGroup drop instead of backoff/park 2026-07-21 12:42:33 -07:00
test_mcp_utility_capability_gating.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_media_caption_split.py feat(gateway): attach MEDIA: caption to the media bubble on standalone sends 2026-07-09 15:38:32 +05:30
test_memory_tool.py fix(memory): close second-read drift race and treat invalid UTF-8 as unreadable 2026-07-24 15:58:01 -07:00
test_memory_tool_import_fallback.py
test_memory_tool_schema.py feat(memory): batch operations for single-turn memory updates (#48507) 2026-06-18 10:19:33 -07:00
test_microsoft_graph_auth.py
test_microsoft_graph_client.py
test_modal_bulk_upload.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_modal_sandbox_fixes.py test: deflake CI and dev-machine flaky tests in bulk (11 tests, 10 files) (#61816) 2026-07-09 20:03:11 -07:00
test_modal_snapshot_isolation.py
test_notify_on_complete.py fix(process): keep CLI drain dedup after poll goes read-only (#10156) 2026-06-21 11:11:23 -07:00
test_open_preview_tool.py feat(desktop): agent can focus panes + shared desktop-UI event bridge 2026-07-22 12:13:01 -05:00
test_osv_check.py fix(osv_check): honor npx --package/-p install target when parsing package arg (#40567) 2026-06-06 18:30:39 -07:00
test_parse_env_var.py
test_patch_failure_tracking.py feat(patch): indentation preservation, CRLF preservation, per-file failure escalation (#507) (#32273) 2026-05-25 15:18:45 -07:00
test_patch_parser.py fix(patch): ignore inert context-only hunks (#63678) 2026-07-13 02:42:18 -07:00
test_pr_6656_regressions.py test(skills): widen assertion in PR#6656 regression to accept new validator msg 2026-05-25 06:13:36 -07:00
test_process_registry.py fix(process_registry): reader loop no longer hangs when an orphaned grandchild holds the stdout pipe 2026-07-24 15:59:02 -07:00
test_read_extract.py feat(read): extract notebook and office documents (#37082) 2026-06-13 14:42:51 -07:00
test_read_loop_detection.py feat(search_files): headroom compression evaluation report + lossless densification (#47866) 2026-06-17 13:45:25 -07:00
test_refresh_agent_mcp_tools.py fix(memory): honor disabled toolsets for provider tools 2026-07-24 13:00:53 +05:30
test_registry.py fix(ci): make tests, workflows, and attribution reliable under load (#66373) 2026-07-17 20:55:24 +00:00
test_request_tool_approval.py feat(plugins): pass approve rule keys to approval gate 2026-07-07 15:14:30 -07:00
test_resolve_path.py refactor(terminal,file-tools): delete legacy env-side cwd tracking (step 4) 2026-07-16 00:18:38 -07:00
test_restored_delegation_ownership.py fix(delegation): fail closed on restored completions + stamp CLI dispatch identity 2026-07-14 22:14:10 -07:00
test_schema_sanitizer.py fix(tools): rename provider-illegal property keys in tool schemas, reverse-map at dispatch 2026-07-26 08:26:09 -07:00
test_search_budget_truncation.py fix(search): keep partial results on search timeout (#36142) 2026-06-13 14:35:21 -07:00
test_search_error_guard.py fix: warn on line-oriented newline search patterns 2026-06-20 23:23:47 -07:00
test_search_hidden_dirs.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_send_message_missing_platforms.py refactor(gateway): migrate slack/dingtalk/whatsapp/matrix/feishu/telegram/wecom/email/sms adapters to bundled plugins 2026-06-20 10:26:45 -07:00
test_send_message_react.py feat(messaging): expose action='unreact' in send_message + react dispatch tests 2026-06-12 01:07:38 -07:00
test_send_message_slack.py fix(slack): prefer live send adapter and try multi-workspace tokens individually 2026-07-23 12:01:24 -07:00
test_send_message_target_parse.py fix: harden WhatsApp target alias salvage 2026-06-15 05:51:47 -07:00
test_send_message_telegram_proxy.py
test_send_message_tool.py fix(media): recognize m2a audio attachments 2026-07-28 11:52:44 -07:00
test_session_cwd_store.py refactor(terminal,file-tools): delete legacy env-side cwd tracking (step 4) 2026-07-16 00:18:38 -07:00
test_session_search.py fix(session-search): allow scrolling compacted lineage history 2026-07-26 16:18:31 -07:00
test_shared_container_task_id.py fix(terminal): collapse CWD-only overrides to shared container 2026-06-07 23:04:54 -07:00
test_shell_bypass_denylist.py fix(approval): detect shell-expanded command names (#36846) 2026-07-01 01:39:10 -07:00
test_signal_media.py refactor(gateway): migrate slack/dingtalk/whatsapp/matrix/feishu/telegram/wecom/email/sms adapters to bundled plugins 2026-06-20 10:26:45 -07:00
test_singularity_preflight.py
test_skill_bundle_provenance.py fix(security): guard remaining preflighted HTTP fetches 2026-07-23 11:44:43 -07:00
test_skill_env_passthrough.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_skill_improvements.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_skill_manager_tool.py fix(skills): fail closed on unknown curator ownership 2026-07-25 20:15:37 -07:00
test_skill_provenance.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_skill_size_limits.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_skill_usage.py feat(curator): surface unmanaged skills and add curator adopt 2026-07-25 18:10:24 -07:00
test_skill_view_path_check.py
test_skill_view_traversal.py fix(skills): block path traversal via skill_view name argument (#40566) 2026-06-06 18:29:52 -07:00
test_skills_ast_audit.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_skills_guard.py fix: remove dead f-string prefixes via ruff F541 (216 sites) (#52336) 2026-07-05 13:42:46 -07:00
test_skills_hub.py fix(skills): parse stored GitHub credentials without scanner false positives 2026-07-26 20:59:26 -07:00
test_skills_hub_browse_sh.py
test_skills_hub_clawhub.py fix(security): pin DNS resolutions for SSRF-safe fetches 2026-07-23 11:44:43 -07:00
test_skills_list_modified_diff.py test(skills): cover list-modified + diff for bundled skills 2026-06-18 12:26:20 +05:30
test_skills_sync.py fix(skills): avoid redundant bind-mount scans (#72622) 2026-07-28 04:24:50 -05:00
test_skills_tool.py fix(skills): strip UTF-8 BOM before parsing SKILL.md frontmatter 2026-07-17 04:52:02 -07:00
test_skills_tool_discovery_cache.py fix: return per-call copies from the skill-discovery cache 2026-07-09 15:38:14 +05:30
test_skills_tool_profile_scope.py fix(skills): resolve skills dir from active profile 2026-07-07 05:14:00 -07:00
test_slack_send_message_media.py test(slack): cover send_message MEDIA delivery 2026-07-22 21:58:13 -07:00
test_slash_confirm.py
test_smart_approval_injection.py fix(security): harden smart approval guard against prompt injection 2026-06-21 16:39:48 -07:00
test_smart_approval_policy.py feat(approvals): operator-customizable smart-approval policy via approvals.smart_policy 2026-07-26 17:46:42 -07:00
test_snapshot_multiline_session_env_injection.py test(environments): cover multiline session env snapshot injection 2026-07-26 19:30:02 -07:00
test_snapshot_session_id_leak.py test(environments): cover multiline session env snapshot injection 2026-07-26 19:30:02 -07:00
test_spotify_client.py docs(spotify): document 6-month re-auth cycle and add client-level invalid_grant test 2026-06-20 23:23:47 -07:00
test_ssh_bulk_upload.py fix(ssh): handle WinError 1314 symlink failure with shutil.copy2 fallback 2026-06-04 18:06:21 -07:00
test_ssh_environment.py
test_stage2_hook_seed_one_symlinks.py fix(docker): skip symlinked stage2 chown targets (#52789) 2026-06-26 12:09:52 +10:00
test_stage2_hook_symlink_chown.py fix(docker): skip symlinked stage2 chown targets (#52789) 2026-06-26 12:09:52 +10:00
test_stt_default_language.py feat(stt): default global stt.language to 'en' 2026-07-27 21:26:20 -07:00
test_stt_language_resolution.py feat(stt): unify language resolution across all STT providers 2026-07-27 20:28:31 -07:00
test_subprocess_stdin_guard.py test: guard OAuth setup-token stays interactive + marker exemption 2026-06-08 22:46:57 -07:00
test_subprocess_utf8_encoding.py fix: extend UTF-8 encoding to _op_version probe (#53428) 2026-07-24 11:45:57 -07:00
test_symlink_prefix_confusion.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_sync_back_backends.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_telegram_send_message_caption.py feat(gateway): attach MEDIA: caption to the media bubble on standalone sends 2026-07-09 15:38:32 +05:30
test_terminal_compound_background.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_terminal_config_env_sync.py fix(terminal): bridge docker_extra_args to TERMINAL_DOCKER_EXTRA_ARGS in CLI + gateway (#50631) 2026-06-22 15:41:23 +10:00
test_terminal_env_bridge.py fix(terminal): bridge terminal.backend config in serve/desktop processes lacking a launcher env bridge 2026-07-16 08:55:10 -07:00
test_terminal_exit_semantics.py
test_terminal_foreground_timeout_cap.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_terminal_none_command_guard.py
test_terminal_output_transform_hook.py fix(terminal): bound foreground output capture 2026-07-14 22:00:28 -07:00
test_terminal_requirements.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_terminal_task_cwd.py refactor(terminal,file-tools): delete legacy env-side cwd tracking (step 4) 2026-07-16 00:18:38 -07:00
test_terminal_timeout_output.py
test_terminal_tool.py fix(ssh): preserve remote tilde cwd 2026-07-04 14:17:11 +05:30
test_terminal_tool_pty_fallback.py
test_terminal_tool_requirements.py fix(tools): suppress transient check_fn flakes so subagents keep file/terminal tools 2026-06-27 19:29:00 -07:00
test_termux_api_detection.py test(voice-mode): pin Termux:API detection probe ladder + #31015 fallback 2026-07-28 11:57:37 -07:00
test_threaded_process_handle.py
test_threat_patterns.py fix: bound threat-pattern/FTS5 regex input and cover V4A Move-File edits 2026-07-01 01:05:28 -07:00
test_tirith_security.py fix(security): add circuit breaker for tirith crashes to prevent agent hangs (#41400) 2026-06-26 15:26:08 +05:30
test_todo_tool.py hardening(todo): bound TodoStore item content length and count 2026-06-07 18:06:27 -07:00
test_todo_tool_type_coercion.py fix(tools): defensive type coercion in todo_tool for malformed LLM input (#14185) 2026-06-25 23:42:42 +05:30
test_tool_backend_helpers.py fix(voice): resolve the TTS/STT OpenAI key under the profile secret scope 2026-07-28 11:53:09 -07:00
test_tool_output_limits.py fix(gateway): detach pending_watchers batch + normalize LRU caches + align test fixtures + AUTHOR_MAP 2026-05-31 00:50:19 -07:00
test_tool_result_storage.py fix: keep persisted tool results inside their storage directory 2026-06-30 16:39:41 -07:00
test_tool_search.py feat(tool_search): probe-validate blind tool_call args against the deferred schema 2026-07-26 20:59:36 -07:00
test_tool_search_context_provider.py fix(tools): make the tool-search context gate provider-aware (#68589) 2026-07-21 05:27:23 -07:00
test_transcription.py fix(whatsapp): preserve voice notes when STT fails 2026-07-28 14:06:56 -07:00
test_transcription_command_providers.py test: align dispatch tests with provider-scoped validation and named registration errors 2026-07-28 11:53:36 -07:00
test_transcription_deepinfra.py feat(providers): Support DeepInfra as an LLM provider 2026-07-14 02:59:39 +05:30
test_transcription_dotenv_fallback.py fix(stt): prefer explicit xAI API key 2026-07-28 11:54:01 -07:00
test_transcription_plugin_dispatch.py test: align dispatch tests with provider-scoped validation and named registration errors 2026-07-28 11:53:36 -07:00
test_transcription_tools.py fix(photon): address review — U+FFFC before _record_last_inbound, MIME-based CAF promotion, add tests 2026-07-28 14:06:56 -07:00
test_tts_command_providers.py fix(deepinfra): align refresh and TTS availability 2026-07-14 02:59:39 +05:30
test_tts_container_repair.py fix(tts): class-level .ogg container repair + multi-platform opus voice detection 2026-07-27 20:28:35 -07:00
test_tts_deepinfra.py fix(deepinfra): align refresh and TTS availability 2026-07-14 02:59:39 +05:30
test_tts_dotenv_fallback.py fix(deepinfra): align refresh and TTS availability 2026-07-14 02:59:39 +05:30
test_tts_gemini.py fix(gemini): restrict TTS client context to official host 2026-07-13 22:26:19 -07:00
test_tts_instructions.py fix(tts): unify TTS text preprocessing behind one shared cleaner 2026-07-28 11:55:01 -07:00
test_tts_kittentts.py
test_tts_macos_output.py test: adapt salvaged voice tests to current main + lint fix 2026-07-28 11:57:37 -07:00
test_tts_max_text_length.py feat(tools): forward OpenAI TTS instructions field through text_to_speech 2026-07-28 11:55:01 -07:00
test_tts_mistral.py fix(deepinfra): align refresh and TTS availability 2026-07-14 02:59:39 +05:30
test_tts_model_cache_lru.py fix(tts): bound the Piper/KittenTTS model caches with a small LRU 2026-07-28 11:54:26 -07:00
test_tts_openai_config.py fix(tts): honor tts.openai.api_key and base_url from config.yaml 2026-07-28 11:54:26 -07:00
test_tts_opus_routing.py fix(matrix): enforce Ogg/Opus at send_voice boundary, probe metadata off-loop 2026-07-28 11:55:48 -07:00
test_tts_path_traversal.py fix(tts): reject '..' traversal in output_path 2026-05-25 05:15:55 -07:00
test_tts_piper.py fix(deepinfra): align refresh and TTS availability 2026-07-14 02:59:39 +05:30
test_tts_plugin_dispatch.py
test_tts_prepare_spoken.py fix(tts): unify TTS text preprocessing behind one shared cleaner 2026-07-28 11:55:01 -07:00
test_tts_provider_base_urls.py fix(tts): base_url parity audit — Mistral server_url + provider config tests 2026-07-28 11:54:26 -07:00
test_tts_pythonpath_fallback.py test(tts): add STT fallback regression for _transcribe_mistral (#53259) 2026-07-28 11:53:36 -07:00
test_tts_response_body_cap.py fix(tts): bound upstream response bodies 2026-07-28 11:54:26 -07:00
test_tts_speed.py fix(tts): unify TTS text preprocessing behind one shared cleaner 2026-07-28 11:55:01 -07:00
test_tts_streaming.py fix(tts): streaming path also honors tts.openai.api_key from config 2026-07-28 11:54:26 -07:00
test_tts_text_normalize.py feat(tts): normalize spoken text (units, symbols, markdown) before synthesis 2026-07-28 11:55:01 -07:00
test_tts_xai_speech_tags.py test(tts): accept stream kwarg in the 4 stale xAI fake_post mocks (#73619) 2026-07-28 12:49:23 -07:00
test_url_safety.py fix(url_safety): harden proxy DNS delegation — literal IPs stay fail-closed + regression tests 2026-07-24 10:37:29 -07:00
test_video_analyze.py security(vision): route local-file inputs through the shared credential-read guard 2026-07-05 00:47:54 -07:00
test_video_generation_dispatch.py feat(xai): Imagine public-URL storage, chaining & video edit/extend 2026-06-29 21:11:58 -07:00
test_video_generation_dynamic_schema.py feat(providers): Support DeepInfra as an LLM provider 2026-07-14 02:59:39 +05:30
test_video_generation_tool_surface_matrix.py feat(xai): Imagine public-URL storage, chaining & video edit/extend 2026-06-29 21:11:58 -07:00
test_vision_native_fast_path.py fix(vision): address review — restore bare relative paths, remove dead code, async I/O 2026-07-04 15:30:50 -07:00
test_vision_tools.py security(vision): route local-file inputs through the shared credential-read guard 2026-07-05 00:47:54 -07:00
test_voice_cli_integration.py test: adapt salvaged voice tests to current main + lint fix 2026-07-28 11:57:37 -07:00
test_voice_credential_pool_resolution.py fix(voice): single scoped resolver — STT/TTS keys fall back to the credential pool 2026-07-28 11:53:09 -07:00
test_voice_mode.py test(voice): drive the micro-pause test from the explicit clock too 2026-07-28 14:07:21 -07:00
test_voice_stop_phrase.py feat(voice): say 'stop' to end a voice chat hands-free 2026-07-27 21:26:23 -07:00
test_voice_wsl_pipewire.py fix(voice): honor forwarded audio (PIPEWIRE_REMOTE) in WSL detection 2026-07-28 11:57:37 -07:00
test_watch_patterns.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_web_extract_robustness.py fix(web_extract): bound stored full-text size + give concrete read_file offset 2026-06-30 00:19:49 -07:00
test_web_providers.py fix(web): correct 'disabled plugin' diagnosis for web backends (#59573) 2026-07-06 04:38:17 -07:00
test_web_providers_brave_free.py fix(test): patch async_is_safe_url in web-provider SSRF mocks 2026-06-04 18:04:47 -07:00
test_web_providers_ddgs.py test(web/ddgs): cover GIL-hold timeout, interrupt, and worker reap 2026-07-21 11:51:01 +05:30
test_web_providers_searxng.py revert(web): remove keyless Parallel search fallback (#46350) 2026-06-14 16:47:57 -07:00
test_web_providers_xai.py fix(auth): make xAI OAuth pools multi-account resilient 2026-07-17 11:37:25 +05:30
test_web_tools_config.py fix(web): don't crash on a null web/backend config value 2026-07-09 20:28:44 -07:00
test_web_tools_dict_urls.py fix(web): preserve extract result input order 2026-07-10 19:14:06 +05:30
test_web_tools_tavily.py feat(web_extract): truncate-and-store instead of LLM summarization (#54843) 2026-06-29 10:00:49 -07:00
test_web_tools_truncate.py feat(web_extract): truncate-and-store instead of LLM summarization (#54843) 2026-06-29 10:00:49 -07:00
test_website_policy.py test: adapt salvaged SSRF test to current web_extract_tool signature 2026-07-01 00:49:38 -07:00
test_whatsapp_send_message_media.py feat(gateway): attach MEDIA: caption to the media bubble on standalone sends 2026-07-09 15:38:32 +05:30
test_windows_compat.py fix(tools): use start_new_session instead of preexec_fn to prevent SIGSEGV in multi-threaded processes 2026-06-27 03:08:41 +05:30
test_windows_native_support.py fix: update signal guard test for _install_signal refactor (#72677) 2026-07-28 00:05:36 +05:30
test_working_diff.py feat(diff): cross-surface /diff with staged/all/session modes 2026-07-26 18:28:20 -07:00
test_write_approval.py test(tools): add unit tests for skill_gist 2026-07-08 06:17:56 -07:00
test_write_deny.py fix(secrets): harden encrypted Bitwarden cache 2026-07-22 04:40:07 -07:00
test_write_file_syntax_gate.py fix(tools): make the YAML write gate syntax-only so multi-doc/tagged YAML isn't refused 2026-07-07 22:14:33 -07:00
test_x_search_tool.py docs(xai): clarify x_search vs xurl routing without schema cross-refs 2026-07-23 21:06:47 -07:00
test_xai_http_storage.py feat(xai): Imagine public-URL storage, chaining & video edit/extend 2026-06-29 21:11:58 -07:00
test_yolo_mode.py fix(approval): harden YOLO bypass, LLM parsing, auto-approve audit, pipe pattern (#23835) 2026-05-25 03:35:33 -07:00
test_zombie_process_cleanup.py Reapply "feat(observability): integrate NeMo Relay runtime and shared metrics" 2026-07-27 21:10:51 -07:00