hermes-agent/tests/tools
Teknium da26ff986b fix(approval): detect recursive rm when flags follow operands
Port from openai/codex#33464: GNU rm permutes options, so
`rm build/ -rf`, `rm build/ -r -f`, and `rm build/ --recursive
--force` are equivalent to the flags-first spellings — but every
existing rm pattern required the flag group BEFORE the path, so these
spellings ran with no approval prompt at all (proven live on main).

The hardline floor was NOT affected: protected paths (/, system dirs,
$HOME) match regardless of flag position because the hardline path
matcher does not require flags. The gap was the approval-prompt layer
for arbitrary paths.

New DANGEROUS_PATTERNS entry with a tempered operand run: cannot cross
command separators (; | & newline), quotes, or a bare -- end-of-options
separator (after --, -rf is a literal filename). Flag token must be
whitespace-anchored so the r inside long options like --registry does
not count.

9 positive + 7 negative shapes in tests; approval cluster (868 tests)
green.
2026-07-26 20:58:52 -07:00
..
__init__.py
…
conftest.py
…
test_accretion_caps.py
…
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
…
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_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
…
test_browser_camofox.py
…
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
…
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): apply private-page guard to browser_cdp frame_id routing 2026-07-03 03:27:47 -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
…
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
…
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): harden browser tool safety boundaries 2026-07-01 05:04:41 -07:00
test_browser_lightpanda.py
…
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
…
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
…
test_browser_supervisor.py
…
test_browser_supervisor_healthcheck.py
…
test_browser_type_redaction.py
…
test_budget_config.py
…
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_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
…
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
…
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
…
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
…
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 security(cron): block base_url overrides that exfiltrate provider credentials 2026-07-01 14:23:01 +05:30
test_cross_profile_guard.py
…
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 feat(delegate): expose redacted child tool history 2026-07-26 20:36:47 -07: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
…
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_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
…
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
…
test_dockerfile_node_modules_perms.py
…
test_dockerfile_pid1_reaping.py
…
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
…
test_file_ops_cwd_tracking.py
…
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
…
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
…
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
…
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_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
…
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
…
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
…
test_image_generation_artifacts.py
…
test_image_generation_env.py
…
test_image_generation_image_to_image.py
…
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 fix(ci): make tests, workflows, and attribution reliable under load (#66373) 2026-07-17 20:55:24 +00:00
test_kanban_redaction.py
…
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_line_ending_preservation.py
…
test_llm_content_none_guard.py
…
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_managed_media_gateways.py fix(tts): coerce direct-only OpenAI model on the managed audio gateway 2026-07-03 05:30:16 -05:00
test_managed_modal_environment.py
…
test_managed_tool_gateway.py
…
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_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
…
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
…
test_mcp_empty_error_message.py
…
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
…
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
…
test_mcp_oauth.py fix(mcp): close hosted OAuth lifecycle gaps 2026-07-17 04:50:47 -07:00
test_mcp_oauth_bidirectional.py
…
test_mcp_oauth_cold_load_expiry.py
…
test_mcp_oauth_integration.py
…
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
…
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
…
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
…
test_microsoft_graph_auth.py
…
test_microsoft_graph_client.py
…
test_modal_bulk_upload.py
…
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
…
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
…
test_parse_env_var.py
…
test_patch_failure_tracking.py
…
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_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
…
test_read_loop_detection.py
…
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
…
test_search_error_guard.py
…
test_search_hidden_dirs.py
…
test_send_message_missing_platforms.py
…
test_send_message_react.py
…
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
…
test_send_message_telegram_proxy.py
…
test_send_message_tool.py fix(slack): unify DM-resolution caches and bound wave-2 caches (C16 policy) 2026-07-22 21:58:13 -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
…
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
…
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
…
test_skill_improvements.py
…
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
…
test_skill_size_limits.py
…
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
…
test_skills_ast_audit.py
…
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(security): pin DNS resolutions for SSRF-safe fetches 2026-07-23 11:44:43 -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_sync.py feat(curator): surface unmanaged skills and add `curator adopt` 2026-07-25 18:10:24 -07: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
…
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
…
test_ssh_bulk_upload.py
…
test_ssh_environment.py
…
test_stage2_hook_seed_one_symlinks.py
…
test_stage2_hook_symlink_chown.py
…
test_subprocess_stdin_guard.py
…
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
…
test_sync_back_backends.py
…
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
…
test_terminal_config_env_sync.py
…
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
…
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
…
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
…
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
…
test_todo_tool.py
…
test_todo_tool_type_coercion.py
…
test_tool_backend_helpers.py
…
test_tool_output_limits.py
…
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(tools): tier-2 server-summary hint + per-server listing degradation; 5% default budget 2026-07-26 08:26:09 -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
…
test_transcription_command_providers.py
…
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
…
test_transcription_plugin_dispatch.py
…
test_transcription_tools.py fix(stt): flag empty transcripts as no_speech 2026-07-22 17:47:04 -05:00
test_tts_command_providers.py fix(deepinfra): align refresh and TTS availability 2026-07-14 02:59:39 +05:30
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_kittentts.py
…
test_tts_max_text_length.py
…
test_tts_mistral.py fix(deepinfra): align refresh and TTS availability 2026-07-14 02:59:39 +05:30
test_tts_opus_routing.py
…
test_tts_path_traversal.py
…
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_speed.py fix(tts): coerce direct-only OpenAI model on the managed audio gateway 2026-07-03 05:30:16 -05:00
test_tts_streaming.py feat(voice): speech-interrupted latch in the TTS streaming core 2026-07-22 17:53:06 -05:00
test_tts_xai_speech_tags.py
…
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 feat(voice): stream any provider in the CLI, with barge-in capture 2026-07-22 17:47:15 -05:00
test_voice_mode.py fix(kanban): harden delegated-child mutation boundary 2026-07-23 07:33:36 -07:00
test_watch_patterns.py
…
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
…
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
…
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
…
test_windows_native_support.py fix(gateway): retry detached restart watcher without breakaway 2026-07-23 17:59:47 -07:00
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
…
test_zombie_process_cleanup.py
…