| .. |
|
__init__.py
|
|
|
|
conftest.py
|
|
|
|
test_accretion_caps.py
|
|
|
|
test_ansi_strip.py
|
|
|
|
test_approval.py
|
fix(approval): gate in-place edits to sensitive user files
|
2026-06-13 14:35:27 -07:00 |
|
test_approval_heartbeat.py
|
|
|
|
test_approval_interrupt.py
|
test(approval): regression for interrupt-unblocks-approval; AUTHOR_MAP
|
2026-06-21 13:33:48 -07:00 |
|
test_approval_plugin_hooks.py
|
|
|
|
test_async_delegation.py
|
feat(delegation): background fan-out — parallel subagents, one consolidated return (#49734)
|
2026-06-20 11:27:12 -07:00 |
|
test_base_environment.py
|
|
|
|
test_blueprints.py
|
refactor(cron): rebrand Cron Recipes -> Automation Blueprints
|
2026-06-11 10:49:47 -07:00 |
|
test_browser_camofox.py
|
|
|
|
test_browser_camofox_persistence.py
|
|
|
|
test_browser_camofox_state.py
|
|
|
|
test_browser_cdp_override.py
|
|
|
|
test_browser_cdp_tool.py
|
|
|
|
test_browser_chromium_check.py
|
|
|
|
test_browser_cleanup.py
|
|
|
|
test_browser_cloud_fallback.py
|
|
|
|
test_browser_cloud_provider_cache.py
|
|
|
|
test_browser_console.py
|
|
|
|
test_browser_content_none_guard.py
|
|
|
|
test_browser_eval_supervisor_path.py
|
|
|
|
test_browser_hardening.py
|
fix: harden salvaged session and browser improvements
|
2026-06-15 07:46:34 -07:00 |
|
test_browser_homebrew_paths.py
|
|
|
|
test_browser_hybrid_routing.py
|
|
|
|
test_browser_lightpanda.py
|
|
|
|
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_secret_exfil.py
|
|
|
|
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
|
|
|
|
test_browser_supervisor_healthcheck.py
|
|
|
|
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
|
|
|
|
test_clarify_gateway.py
|
|
|
|
test_clarify_tool.py
|
fix(clarify): unwrap dict choices at the source so every surface gets clean text
|
2026-06-19 06:31:08 -07:00 |
|
test_clipboard.py
|
|
|
|
test_code_execution.py
|
fix(security): quote HERMES_TIMEZONE in remote code execution to prevent shell injection
|
2026-06-21 16:55:12 -07:00 |
|
test_code_execution_modes.py
|
|
|
|
test_code_execution_windows_env.py
|
|
|
|
test_command_guards.py
|
fix(approval): honor glob command allowlist entries (#43051)
|
2026-06-18 12:48:36 +10:00 |
|
test_computer_use.py
|
Merge remote-tracking branch 'origin/main' into pr-50994
|
2026-06-22 18:48:07 -05: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_vision_routing.py
|
|
|
|
test_config_null_guard.py
|
|
|
|
test_credential_files.py
|
fix(slack): make video attachments available to agents (#45512)
|
2026-06-13 03:33:27 -07:00 |
|
test_credential_pool_env_fallback.py
|
|
|
|
test_cron_approval_mode.py
|
|
|
|
test_cron_prompt_injection.py
|
|
|
|
test_cronjob_run_immediate.py
|
fix(cron): execute job immediately on action='run'
|
2026-06-21 13:28:04 +05:30 |
|
test_cronjob_tools.py
|
test(cron): cover provider "custom" → providers.custom resolution
|
2026-06-10 14:39:03 -07:00 |
|
test_cross_profile_guard.py
|
|
|
|
test_daytona_environment.py
|
|
|
|
test_debug_helpers.py
|
|
|
|
test_delegate.py
|
feat(desktop): stream subagent activity into watch windows (#47060)
|
2026-06-16 14:30:11 -04:00 |
|
test_delegate_composite_toolsets.py
|
|
|
|
test_delegate_subagent_timeout_diagnostic.py
|
feat(desktop): stream subagent activity into watch windows (#47060)
|
2026-06-16 14:30:11 -04:00 |
|
test_delegate_toolset_scope.py
|
|
|
|
test_discord_tool.py
|
|
|
|
test_docker_config_migrate.py
|
|
|
|
test_docker_environment.py
|
|
|
|
test_docker_find.py
|
|
|
|
test_docker_orphan_reaper_integration.py
|
|
|
|
test_dockerfile_immutable_install.py
|
fix(update): scope install-method stamp to the code tree, not $HERMES_HOME (#48188)
|
2026-06-18 14:14:41 +10: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
|
|
|
|
test_env_passthrough.py
|
|
|
|
test_env_probe.py
|
|
|
|
test_execute_code_approval_cluster.py
|
|
|
|
test_feishu_tools.py
|
|
|
|
test_file_operations.py
|
feat(search_files): headroom compression evaluation report + lossless densification (#47866)
|
2026-06-17 13:45:25 -07:00 |
|
test_file_operations_edge_cases.py
|
|
|
|
test_file_ops_cwd_tracking.py
|
|
|
|
test_file_read_guards.py
|
fix(file): anchor device symlink guard to task cwd
|
2026-06-21 12:16:10 -07:00 |
|
test_file_staleness.py
|
|
|
|
test_file_state_registry.py
|
|
|
|
test_file_sync.py
|
|
|
|
test_file_sync_back.py
|
|
|
|
test_file_sync_perf.py
|
|
|
|
test_file_tools.py
|
fix(file): reject read_file line-numbered writeback
|
2026-06-21 11:55:59 -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
|
fix(tools): respect session cwd in file tools
|
2026-06-15 14:00:42 +05:30 |
|
test_file_tools_live.py
|
|
|
|
test_file_tools_tilde_profile.py
|
fix(file_tools): resolve tilde using profile home for file operations (#48552)
|
2026-06-23 03:17:47 +05:30 |
|
test_file_write_safety.py
|
|
|
|
test_force_dangerous_override.py
|
|
|
|
test_fuzzy_match.py
|
|
|
|
test_gateway_cwd_contract.py
|
|
|
|
test_hardline_blocklist.py
|
|
|
|
test_heartbeat_stale_thresholds.py
|
|
|
|
test_hidden_dir_filter.py
|
|
|
|
test_homeassistant_tool.py
|
|
|
|
test_image_generation.py
|
feat(image-gen): add image-to-image / editing to image_generate (#48705)
|
2026-06-18 22:13:07 -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
|
|
|
|
test_init_session_cwd_respect.py
|
|
|
|
test_interrupt.py
|
|
|
|
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
|
refactor(kanban): fold worker/orchestrator skills into injected guidance (#50473)
|
2026-06-21 17:06:48 -07:00 |
|
test_lazy_deps.py
|
|
|
|
test_line_ending_preservation.py
|
|
|
|
test_llm_content_none_guard.py
|
|
|
|
test_local_background_child_hang.py
|
|
|
|
test_local_env_blocklist.py
|
fix(terminal): make hermes install dir reachable in subshell PATH (#50534)
|
2026-06-21 20:00:06 -07:00 |
|
test_local_env_cwd_recovery.py
|
|
|
|
test_local_env_windows_msys.py
|
|
|
|
test_local_interrupt_cleanup.py
|
|
|
|
test_local_shell_init.py
|
fix(coding): teach agents terminal env state persists
|
2026-06-11 19:50:08 -05:00 |
|
test_local_tempdir.py
|
|
|
|
test_managed_browserbase_and_modal.py
|
|
|
|
test_managed_media_gateways.py
|
|
|
|
test_managed_modal_environment.py
|
|
|
|
test_managed_tool_gateway.py
|
|
|
|
test_mcp_cancelled_error_propagation.py
|
|
|
|
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
|
|
|
|
test_mcp_client_cert.py
|
|
|
|
test_mcp_dynamic_discovery.py
|
|
|
|
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
|
|
|
|
test_mcp_image_content.py
|
|
|
|
test_mcp_invalid_url.py
|
|
|
|
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): fail fast for noninteractive oauth without tokens
|
2026-06-15 04:22:07 -07: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): fail fast for noninteractive oauth without tokens
|
2026-06-15 04:22:07 -07:00 |
|
test_mcp_oauth_metadata.py
|
|
|
|
test_mcp_preflight_content_type.py
|
|
|
|
test_mcp_probe.py
|
fix(mcp): preserve loop during probes
|
2026-06-14 02:09:45 -07:00 |
|
test_mcp_reconnect_signal.py
|
|
|
|
test_mcp_sse_transport.py
|
|
|
|
test_mcp_stability.py
|
fix(mcp): preserve loop during probes
|
2026-06-14 02:09:45 -07:00 |
|
test_mcp_structured_content.py
|
|
|
|
test_mcp_tool.py
|
refactor: remove agent-callable send_message tool (#47856)
|
2026-06-17 07:11:23 -07:00 |
|
test_mcp_tool_401_handling.py
|
|
|
|
test_mcp_tool_issue_948.py
|
|
|
|
test_mcp_tool_session_expired.py
|
|
|
|
test_mcp_utility_capability_gating.py
|
|
|
|
test_memory_tool.py
|
fix(memory): recover from missing old_text on single-op replace/remove (#49997)
|
2026-06-20 23:46:52 -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_mixture_of_agents_tool.py
|
|
|
|
test_modal_bulk_upload.py
|
|
|
|
test_modal_sandbox_fixes.py
|
|
|
|
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_osv_check.py
|
|
|
|
test_parse_env_var.py
|
|
|
|
test_patch_failure_tracking.py
|
|
|
|
test_patch_parser.py
|
|
|
|
test_pr_6656_regressions.py
|
|
|
|
test_process_registry.py
|
fix(process): SIGKILL the whole tree on escalation, not just wait_procs survivors
|
2026-06-21 19:08:52 -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(mcp): address adversarial review round 2 (stale-publish race, parity holes)
|
2026-06-19 11:57:43 -07:00 |
|
test_registry.py
|
|
|
|
test_resolve_path.py
|
|
|
|
test_schema_sanitizer.py
|
fix(tools): strip default from $ref nodes in tool schemas
|
2026-06-12 00:30:51 -05: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
|
|
|
|
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_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
|
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_session_search.py
|
docs(session-search): document source-first retrieval limits
|
2026-06-20 23:23:47 -07:00 |
|
test_shared_container_task_id.py
|
|
|
|
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_env_passthrough.py
|
|
|
|
test_skill_improvements.py
|
|
|
|
test_skill_manager_tool.py
|
fix(skills): guard recursive skill delete against tree-escape (#46929)
|
2026-06-15 17:14:59 -07:00 |
|
test_skill_provenance.py
|
|
|
|
test_skill_size_limits.py
|
|
|
|
test_skill_usage.py
|
fix(curator): stop restore from matching unrelated skills by name prefix
|
2026-06-17 06:04:03 -07:00 |
|
test_skill_view_path_check.py
|
|
|
|
test_skill_view_traversal.py
|
|
|
|
test_skills_ast_audit.py
|
|
|
|
test_skills_guard.py
|
|
|
|
test_skills_hub.py
|
|
|
|
test_skills_hub_browse_sh.py
|
|
|
|
test_skills_hub_clawhub.py
|
fix(skills): let ClawHub index build walk past the 12s browse budget (#44500)
|
2026-06-11 18:03:11 -04: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): refuse SKILLS_DIR root in rmtree guard, not just outside-tree
|
2026-06-18 08:53:35 -07:00 |
|
test_skills_tool.py
|
fix(skills): ignore support docs in skill discovery
|
2026-06-16 13:08:34 -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_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
|
|
|
|
test_ssh_environment.py
|
|
|
|
test_stage2_hook_gateway_bootstrap_state.py
|
|
|
|
test_stage2_hook_immutable_install.py
|
Harden hosted Docker install tree against self-modification (#47490)
|
2026-06-18 09:09:21 +10:00 |
|
test_stage2_hook_install_method_stamp.py
|
fix(update): scope install-method stamp to the code tree, not $HERMES_HOME (#48188)
|
2026-06-18 14:14:41 +10:00 |
|
test_stage2_hook_log_dir_seed.py
|
fix(s6): make profile gateway log parent writable (#46291)
|
2026-06-15 13:47:05 +10:00 |
|
test_stage2_hook_puid_pgid.py
|
|
|
|
test_stage2_hook_toplevel_chown.py
|
|
|
|
test_stage2_hook_unraid_uid.py
|
|
|
|
test_stage2_hook_user_flag_guard.py
|
|
|
|
test_subprocess_stdin_guard.py
|
|
|
|
test_symlink_prefix_confusion.py
|
|
|
|
test_sync_back_backends.py
|
|
|
|
test_terminal_compound_background.py
|
|
|
|
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_exit_semantics.py
|
|
|
|
test_terminal_foreground_timeout_cap.py
|
|
|
|
test_terminal_none_command_guard.py
|
|
|
|
test_terminal_output_transform_hook.py
|
|
|
|
test_terminal_requirements.py
|
|
|
|
test_terminal_task_cwd.py
|
|
|
|
test_terminal_timeout_output.py
|
|
|
|
test_terminal_tool.py
|
fix(coding): teach agents terminal env state persists
|
2026-06-11 19:50:08 -05:00 |
|
test_terminal_tool_pty_fallback.py
|
|
|
|
test_terminal_tool_requirements.py
|
|
|
|
test_threaded_process_handle.py
|
|
|
|
test_threat_patterns.py
|
|
|
|
test_tirith_security.py
|
|
|
|
test_todo_tool.py
|
|
|
|
test_tool_backend_helpers.py
|
|
|
|
test_tool_output_limits.py
|
|
|
|
test_tool_result_storage.py
|
|
|
|
test_tool_search.py
|
|
|
|
test_transcription.py
|
|
|
|
test_transcription_command_providers.py
|
|
|
|
test_transcription_dotenv_fallback.py
|
|
|
|
test_transcription_plugin_dispatch.py
|
|
|
|
test_transcription_tools.py
|
|
|
|
test_tts_command_providers.py
|
|
|
|
test_tts_dotenv_fallback.py
|
|
|
|
test_tts_gemini.py
|
|
|
|
test_tts_kittentts.py
|
|
|
|
test_tts_max_text_length.py
|
test: port voice-reply suffix assertions, fix change-detector cap test, add AUTHOR_MAP entry
|
2026-06-10 02:57:39 -07:00 |
|
test_tts_mistral.py
|
|
|
|
test_tts_opus_routing.py
|
|
|
|
test_tts_path_traversal.py
|
|
|
|
test_tts_piper.py
|
feat(tts): expose speaker_id on built-in Piper provider
|
2026-06-19 07:04:58 -07:00 |
|
test_tts_plugin_dispatch.py
|
|
|
|
test_tts_speed.py
|
|
|
|
test_tts_xai_speech_tags.py
|
feat(tts): add xAI TTS speed and optimize_streaming_latency config knobs
|
2026-06-19 07:26:56 -07:00 |
|
test_url_safety.py
|
test(url-safety): cover IPv6 scope-ID strip + fail-closed in URL guards
|
2026-06-21 13:56:35 -07:00 |
|
test_video_analyze.py
|
|
|
|
test_video_generation_dispatch.py
|
|
|
|
test_video_generation_dynamic_schema.py
|
|
|
|
test_video_generation_tool_surface_matrix.py
|
|
|
|
test_vision_native_fast_path.py
|
|
|
|
test_vision_tools.py
|
|
|
|
test_voice_cli_integration.py
|
|
|
|
test_voice_mode.py
|
|
|
|
test_watch_patterns.py
|
|
|
|
test_web_providers.py
|
revert(web): remove keyless Parallel search fallback (#46350)
|
2026-06-14 16:47:57 -07:00 |
|
test_web_providers_brave_free.py
|
|
|
|
test_web_providers_ddgs.py
|
revert(web): remove keyless Parallel search fallback (#46350)
|
2026-06-14 16:47:57 -07:00 |
|
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
|
|
|
|
test_web_tools_config.py
|
revert(web): remove keyless Parallel search fallback (#46350)
|
2026-06-14 16:47:57 -07:00 |
|
test_web_tools_tavily.py
|
|
|
|
test_website_policy.py
|
|
|
|
test_windows_compat.py
|
|
|
|
test_windows_native_support.py
|
test: retarget source-path refs to migrated plugin paths
|
2026-06-20 10:26:45 -07:00 |
|
test_write_approval.py
|
fix(memory): honor configured char limits in the no-agent on-disk store
|
2026-06-23 03:10:53 +05:30 |
|
test_write_deny.py
|
fix(file-safety): relax user-write deny policy (#45947)
|
2026-06-14 02:07:32 -07:00 |
|
test_x_search_tool.py
|
|
|
|
test_yolo_mode.py
|
|
|
|
test_zombie_process_cleanup.py
|
fix(session): finalize owned SQLite session rows on AIAgent.close()
|
2026-06-21 11:35:09 -07:00 |