..
__init__.py
test: reorganize test structure and add missing unit tests
2026-02-26 03:20:08 +03:00
conftest.py
fix(tests): resolve CI test failures — pool auto-seeding, stale assertions, mock isolation
2026-04-15 22:05:21 -07:00
restart_test_helpers.py
fix: notify active sessions on gateway shutdown + update health check
2026-04-14 14:21:57 -07:00
test_agent_cache.py
fix(gateway): fingerprint full auth token in agent cache signature ( #3247 )
2026-03-26 13:19:43 -07:00
test_allowlist_startup_check.py
feat(gateway): add WeCom (Enterprise WeChat) platform support ( #3847 )
2026-03-29 21:29:13 -07:00
test_api_server.py
fix: preserve session_id across previous_response_id chains in /v1/responses ( #10059 )
2026-04-14 21:06:32 -07:00
test_api_server_bind_guard.py
fix(security): enforce API_SERVER_KEY for non-loopback binding
2026-04-10 16:51:44 -07:00
test_api_server_jobs.py
fix(gateway): wrap cron helpers with staticmethod to prevent self-binding
2026-04-05 12:31:10 -07:00
test_api_server_normalize.py
fix(api_server): normalize array-based content parts in chat completions
2026-04-12 18:03:16 -07:00
test_api_server_toolset.py
refactor: remove browser_close tool — auto-cleanup handles it ( #5792 )
2026-04-07 03:28:44 -07:00
test_approve_deny_commands.py
test(gateway): isolate blocking approval env
2026-04-11 02:03:20 -07:00
test_async_memory_flush.py
fix(gateway): persist memory flush state to prevent redundant re-flushes on restart ( #4481 )
2026-04-01 12:05:02 -07:00
test_auto_continue.py
feat: auto-continue interrupted agent work after gateway restart ( #4493 )
2026-04-14 16:56:49 -07:00
test_background_command.py
fix(tests): repair three pre-existing gateway test failures
2026-04-10 03:52:00 -07:00
test_background_process_notifications.py
fix(gateway): don't treat group session user_id as thread_id in shutdown notifications ( #10546 )
2026-04-15 15:09:23 -07:00
test_base_topic_sessions.py
fix(gateway): avoid false failure reactions on restart cancellation
2026-04-10 03:52:00 -07:00
test_bluebubbles.py
fix: update existing webhook tests to use _webhook_register_url
2026-04-14 11:02:48 -07:00
test_busy_session_ack.py
fix: interrupt agent immediately when user messages during active run ( #10068 )
2026-04-14 22:07:28 -07:00
test_channel_directory.py
Ensure atomic writes for gateway channel directory cache to prevent truncation
2026-04-06 13:20:01 -07:00
test_clean_shutdown_marker.py
fix: prevent unwanted session auto-reset after graceful gateway restarts ( #8299 )
2026-04-12 03:03:07 -07:00
test_command_bypass_active_session.py
test(gateway): add /background to active-session bypass tests
2026-04-10 03:52:00 -07:00
test_compress_command.py
fix(gateway): make manual compression feedback truthful
2026-04-10 21:16:53 -07:00
test_compress_focus.py
feat: /compress <focus> — guided compression with focus topic ( #8017 )
2026-04-11 19:23:29 -07:00
test_config.py
feat(telegram): add dedicated TELEGRAM_PROXY env var and config.yaml proxy_url support
2026-04-15 22:13:11 -07:00
test_config_cwd_bridge.py
refactor(cli): implement approval locking mechanism to serialize concurrent requests
2026-03-13 23:59:18 -07:00
test_delivery.py
fix: update 6 test files broken by dead code removal
2026-04-10 03:44:43 -07:00
test_dingtalk.py
refactor: extract shared helpers to deduplicate repeated code patterns ( #7917 )
2026-04-11 13:59:52 -07:00
test_discord_bot_filter.py
feat(discord): add DISCORD_ALLOW_BOTS config for bot message filtering (inspired by openclaw)
2026-03-09 02:20:57 -07:00
test_discord_channel_controls.py
test: disable text batching in existing adapter tests
2026-04-09 23:25:27 -07:00
test_discord_channel_prompts.py
fix: discord mock setup and AUTHOR_MAP for channel_prompts tests
2026-04-15 16:31:28 -07:00
test_discord_channel_skills.py
test(discord): add tests for channel_skill_bindings resolution
2026-04-10 05:19:26 -07:00
test_discord_connect.py
fix(discord): decouple readiness from slash sync
2026-04-11 19:22:14 -07:00
test_discord_document_handling.py
fix(discord): accept .log attachments and raise document size limit
2026-04-09 02:26:33 -07:00
test_discord_free_response.py
fix(discord): voice session continuity and signal handler thread safety
2026-04-13 04:49:21 -07:00
test_discord_imports.py
fix: defer discord adapter annotations
2026-03-14 09:32:05 -07:00
test_discord_media_metadata.py
feat(discord): add /thread command, auto_thread config, and media metadata fix ( #1178 )
2026-03-13 08:52:54 -07:00
test_discord_opus.py
fix: add macOS Homebrew Opus fallback and fix shutdown dict iteration
2026-03-14 14:27:21 +03:00
test_discord_reactions.py
fix(gateway): avoid false failure reactions on restart cancellation
2026-04-10 03:52:00 -07:00
test_discord_reply_mode.py
fix: guard reply_to_text against DeletedReferencedMessage
2026-04-14 10:22:11 -07:00
test_discord_send.py
fix(discord): register /approve and /deny slash commands, wire up button-based approval UI ( #4800 )
2026-04-03 10:24:07 -07:00
test_discord_slash_commands.py
fix: auto-register all gateway commands as Discord slash commands ( #10528 )
2026-04-15 14:25:27 -07:00
test_discord_system_messages.py
fix(discord): ignore system messages in on_message handler ( #2618 )
2026-03-23 06:50:09 -07:00
test_discord_thread_persistence.py
refactor: extract shared helpers to deduplicate repeated code patterns ( #7917 )
2026-04-11 13:59:52 -07:00
test_display_config.py
fix(gateway): fix regression causing display.streaming to override root streaming key
2026-04-14 10:52:23 -07:00
test_dm_topics.py
test+docs: add group_topics tests and documentation
2026-04-03 18:20:50 -07:00
test_document_cache.py
feat: add .zip document support and auto-mount cache dirs into remote backends ( #4846 )
2026-04-03 13:16:26 -07:00
test_duplicate_reply_suppression.py
fix: prevent already_sent from swallowing empty responses after tool calls ( #10531 )
2026-04-15 14:26:45 -07:00
test_email.py
fix: resolve CI test failures — add missing functions, fix stale tests ( #9483 )
2026-04-14 01:43:45 -07:00
test_extract_local_files.py
feat: auto-detect local file paths in gateway responses for native media delivery ( #1640 )
2026-03-17 01:47:34 -07:00
test_fallback_eviction.py
fix: don't evict cached agent on failed runs — prevents MCP restart loop ( #7539 )
2026-04-10 21:16:56 -07:00
test_fast_command.py
fix: add _session_model_overrides to test runner fixture
2026-04-10 05:54:56 -07:00
test_feishu.py
fix: resolve CI test failures — add missing functions, fix stale tests ( #9483 )
2026-04-14 01:43:45 -07:00
test_feishu_approval_buttons.py
fix(feishu): keep approval clicks synchronized with callback card state
2026-04-14 14:22:11 -07:00
test_feishu_onboard.py
fix: salvage follow-ups for Feishu QR onboarding ( #7706 )
2026-04-12 13:05:56 -07:00
test_flush_memory_stale_guard.py
fix(memory): profile-scoped memory isolation and clone support ( #4845 )
2026-04-03 13:10:11 -07:00
test_gateway_inactivity_timeout.py
fix(gateway): add staged inactivity warning before timeout escalation
2026-04-08 20:01:06 -07:00
test_gateway_shutdown.py
fix(gateway): address restart review feedback
2026-04-10 21:18:34 -07:00
test_homeassistant.py
fix: Home Assistant event filtering now closed by default ( #1169 )
2026-03-13 07:40:38 -07:00
test_hooks.py
fix(tests): resolve 10 CI failures across hooks, tiktoken, plugins ( #3848 )
2026-03-29 20:05:59 -07:00
test_insights_unicode_flags.py
fix(model-switch): normalize Unicode dashes from Telegram/iOS input
2026-04-15 17:54:16 -07:00
test_internal_event_bypass_pairing.py
fix(gateway): route synthetic background events by session
2026-04-15 11:16:01 -07:00
test_interrupt_key_match.py
test(gateway): cover photo burst interrupt regressions
2026-03-15 03:50:45 -07:00
test_matrix.py
fix(gateway): fix matrix lingering typing indicator
2026-04-15 04:16:16 -07:00
test_matrix_mention.py
fix(matrix): trust m.mentions.user_ids as authoritative mention signal
2026-04-12 18:05:41 -07:00
test_matrix_voice.py
test(matrix): update all test mocks for mautrix-python API
2026-04-10 21:15:59 -07:00
test_mattermost.py
refactor: extract shared helpers to deduplicate repeated code patterns ( #7917 )
2026-04-11 13:59:52 -07:00
test_media_download_retry.py
fix: make safe_url_for_log public, add SSRF redirect guards to base.py cache helpers
2026-04-10 05:04:28 -07:00
test_media_extraction.py
fix(gateway): prevent TTS voice messages from accumulating across turns
2026-02-28 03:38:27 -05:00
test_message_deduplicator.py
fix: enforce TTL in MessageDeduplicator + use yaml for gateway --config ( #10306 , #10216 ) ( #10509 )
2026-04-15 13:35:40 -07:00
test_mirror.py
fix(gateway): isolate telegram forum topic sessions
2026-03-11 09:15:34 +01:00
test_model_command_custom_providers.py
fix: extract custom_provider_slug() helper, harden gateway test
2026-04-10 03:07:00 -07:00
test_model_switch_persistence.py
fix(gateway): apply /model session overrides so switch persists across messages
2026-04-10 02:58:42 -07:00
test_pairing.py
test: strengthen assertions across 7 test files (batch 1)
2026-03-05 18:39:37 -08:00
test_pii_redaction.py
fix: remove 115 verified dead code symbols across 46 production files
2026-04-10 03:44:43 -07:00
test_plan_command.py
fix: save /plan output in workspace ( #1381 )
2026-03-14 21:28:51 -07:00
test_platform_base.py
fix(telegram): use UTF-16 code units for message length splitting ( #8725 )
2026-04-12 19:06:20 -07:00
test_platform_reconnect.py
fix: repair 57 failing CI tests across 14 files ( #5823 )
2026-04-07 09:58:45 -07:00
test_proxy_mode.py
feat: gateway proxy mode — forward messages to remote API server
2026-04-14 10:49:48 -07:00
test_qqbot.py
fix: QQBot missing integration points, timestamp parsing, test fix
2026-04-14 00:11:49 -07:00
test_queue_consumption.py
fix(gateway): preserve queued voice events for STT
2026-04-11 14:43:53 -07:00
test_reasoning_command.py
fix: unify reasoning_effort to config.yaml only, remove HERMES_REASONING_EFFORT env var
2026-04-08 03:36:44 -07:00
test_restart_drain.py
feat: auto-continue interrupted agent work after gateway restart ( #4493 )
2026-04-14 16:56:49 -07:00
test_restart_notification.py
fix(gateway): /restart uses service restart under systemd instead of detached subprocess
2026-04-12 22:32:19 -07:00
test_resume_command.py
fix: honor session-scoped gateway model overrides
2026-04-11 03:11:34 -07:00
test_retry_replacement.py
test: lock retry replacement semantics
2026-03-14 21:19:22 -07:00
test_retry_response.py
test(gateway): add regression test for /retry response fix
2026-03-10 23:34:52 -07:00
test_run_progress_topics.py
fix(gateway): defer background review notifications until after main reply
2026-04-15 17:23:15 -07:00
test_runner_fatal_adapter.py
fix(gateway): exit with failure when all platforms fail with retryable errors ( #3592 )
2026-03-28 14:25:12 -07:00
test_runner_startup_failures.py
fix(gateway): add missing RedactingFormatter import
2026-04-11 19:38:05 -07:00
test_send_image_file.py
feat(telegram): auto-discover fallback IPs via DoH when api.telegram.org is unreachable ( #3376 )
2026-03-27 04:03:13 -07:00
test_send_retry.py
fix(telegram): prevent duplicate message delivery on send timeout ( #5153 )
2026-04-04 19:05:34 -07:00
test_session.py
fix(gateway): use profile-aware Hermes paths in runtime hints
2026-04-15 17:52:03 -07:00
test_session_boundary_hooks.py
fix(gateway): drain in-flight work before restart
2026-04-10 21:18:34 -07:00
test_session_dm_thread_seeding.py
fix(gateway): remove DM thread session seeding to prevent cross-thread contamination ( #7084 )
2026-04-10 03:01:59 -07:00
test_session_env.py
fix(gateway): preserve notify context in executor threads
2026-04-16 02:05:59 -07:00
test_session_hygiene.py
fix: resolve CI test failures — add missing functions, fix stale tests ( #9483 )
2026-04-14 01:43:45 -07:00
test_session_info.py
feat(gateway): surface session config on /new, /reset, and auto-reset ( #3321 )
2026-03-26 19:27:58 -07:00
test_session_model_override_routing.py
fix: honor session-scoped gateway model overrides
2026-04-11 03:11:34 -07:00
test_session_model_reset.py
fix: clear session-scoped model overrides during session reset
2026-04-06 13:20:01 -07:00
test_session_race_guard.py
fix(gateway): /stop no longer resets the session ( #9224 )
2026-04-13 14:59:05 -07:00
test_session_reset_notify.py
feat(gateway): notify users when session auto-resets ( #2519 )
2026-03-22 09:33:39 -07:00
test_setup_feishu.py
fix: salvage follow-ups for Feishu QR onboarding ( #7706 )
2026-04-12 13:05:56 -07:00
test_signal.py
refactor: extract shared helpers to deduplicate repeated code patterns ( #7917 )
2026-04-11 13:59:52 -07:00
test_slack.py
fix(security): prevent SSRF redirect bypass in Slack adapter
2026-04-10 05:04:28 -07:00
test_slack_approval_buttons.py
feat(slack): thread engagement — auto-respond in bot-started and mentioned threads ( #5897 )
2026-04-07 11:12:08 -07:00
test_slack_mention.py
feat(slack): add require_mention and free_response_channels config support
2026-04-09 14:07:32 -07:00
test_sms.py
fix: mock aiohttp server in startup guard tests to avoid port binding
2026-04-11 14:05:38 -07:00
test_sse_agent_cancel.py
fix(api-server): cancel orphaned agent + true interrupt on SSE disconnect (salvage #3399 ) ( #3427 )
2026-03-27 11:33:19 -07:00
test_ssl_certs.py
fix(gateway): SSL certificate auto-detection for NixOS and non-standard systems
2026-03-15 23:04:34 -07:00
test_status.py
fix(gateway): handle stale lock files in acquire_scoped_lock
2026-04-13 04:59:25 -07:00
test_status_command.py
fix(profile): use existing get_active_profile_name() for /profile command
2026-04-15 17:52:03 -07:00
test_step_callback_compat.py
fix(gateway): normalize step_callback prev_tools for backward compat
2026-04-02 20:54:27 -07:00
test_sticker_cache.py
test: add unit tests for 8 untested modules (batch 3) ( #191 )
2026-03-01 05:28:12 -08:00
test_stream_consumer.py
fix: prevent streaming cursor from appearing as standalone messages ( #9538 )
2026-04-14 01:52:42 -07:00
test_stt_config.py
fix(gateway): preserve queued voice events for STT
2026-04-11 14:43:53 -07:00
test_stuck_loop.py
fix: break stuck session resume loops after repeated restarts ( #7536 )
2026-04-14 17:08:35 -07:00
test_telegram_approval_buttons.py
feat(telegram): add config option to disable link previews
2026-04-15 17:54:43 -07:00
test_telegram_caption_merge.py
fix(telegram): replace substring caption check with exact line-by-line match
2026-04-07 14:08:59 -07:00
test_telegram_conflict.py
refactor: extract shared helpers to deduplicate repeated code patterns ( #7917 )
2026-04-11 13:59:52 -07:00
test_telegram_documents.py
feat: add .zip document support and auto-mount cache dirs into remote backends ( #4846 )
2026-04-03 13:16:26 -07:00
test_telegram_format.py
fix(gateway): support Telegram MarkdownV2 expandable blockquotes
2026-04-14 10:16:49 -07:00
test_telegram_group_gating.py
feat(gateway): add ignored_threads config for Telegram
2026-04-14 01:40:32 -07:00
test_telegram_network.py
fix(telegram): honor proxy env vars in fallback transport (salvage #3411 ) ( #3591 )
2026-03-28 14:23:27 -07:00
test_telegram_network_reconnect.py
feat(telegram): auto-discover fallback IPs via DoH when api.telegram.org is unreachable ( #3376 )
2026-03-27 04:03:13 -07:00
test_telegram_photo_interrupts.py
fix(tests): fix 78 CI test failures and remove dead test ( #9036 )
2026-04-13 10:50:24 -07:00
test_telegram_reactions.py
fix(telegram): use valid reaction emojis for processing completion ( #7175 )
2026-04-10 05:34:33 -07:00
test_telegram_reply_mode.py
fix(telegram): use UTF-16 code units for message length splitting ( #8725 )
2026-04-12 19:06:20 -07:00
test_telegram_text_batching.py
fix(telegram): aggregate split text messages before dispatching ( #1674 )
2026-03-17 02:49:57 -07:00
test_telegram_thread_fallback.py
fix(telegram): restore typing indicator and thread routing for forum General topic
2026-04-15 22:35:19 -07:00
test_text_batching.py
test: add text batching tests for Discord, Matrix, WeCom, Telegram, Feishu
2026-04-09 23:25:27 -07:00
test_title_command.py
fix(test): add missing _voice_mode attr to GatewayRunner test stubs
2026-03-14 14:27:20 +03:00
test_transcript_offset.py
fix(gateway): use filtered history length for transcript message extraction
2026-03-04 21:34:40 +03:00
test_unauthorized_dm_behavior.py
feat: support * wildcard in platform allowlists and improve WhatsApp docs
2026-03-31 10:42:03 -07:00
test_unknown_command.py
fix(gateway): surface unknown /commands instead of leaking them to the LLM
2026-04-05 11:59:28 -07:00
test_update_command.py
feat(gateway): live-stream /update output + interactive prompt buttons ( #5180 )
2026-04-05 00:28:58 -07:00
test_update_streaming.py
fix: prevent duplicate update prompt spam in gateway watcher ( #8343 )
2026-04-12 04:52:59 -07:00
test_usage_command.py
fix(gateway): /usage now shows rate limits, cost, and token details between turns ( #7038 )
2026-04-10 02:33:01 -07:00
test_verbose_command.py
feat: per-platform display verbosity configuration ( #8006 )
2026-04-11 17:20:34 -07:00
test_voice_command.py
fix(discord): voice session continuity and signal handler thread safety
2026-04-13 04:49:21 -07:00
test_weak_credential_guard.py
fix(gateway): reject known-weak placeholder credentials at startup
2026-04-12 18:05:41 -07:00
test_webhook_adapter.py
fix(gateway/webhook): don't pop delivery_info on send
2026-04-07 17:27:09 -07:00
test_webhook_dynamic_routes.py
feat(webhook): hermes webhook CLI + skill for event-driven subscriptions ( #3578 )
2026-03-28 14:33:35 -07:00
test_webhook_integration.py
fix(gateway/webhook): don't pop delivery_info on send
2026-04-07 17:27:09 -07:00
test_wecom.py
test: disable text batching in existing adapter tests
2026-04-09 23:25:27 -07:00
test_wecom_callback.py
feat(gateway): add WeCom callback-mode adapter for self-built apps
2026-04-11 15:22:49 -07:00
test_weixin.py
fix(weixin): streaming cursor, media uploads, markdown links, blank messages ( #8665 )
2026-04-12 16:43:25 -07:00
test_whatsapp_connect.py
fix(whatsapp): reuse persistent aiohttp session across requests ( #3818 )
2026-03-29 16:25:20 -07:00
test_whatsapp_formatting.py
fix: improve WhatsApp UX — chunking, formatting, streaming ( #8723 )
2026-04-12 19:20:13 -07:00
test_whatsapp_group_gating.py
fix(whatsapp): add free_response_chats, mention stripping, and interactive message unwrapping
2026-04-03 01:16:39 -07:00
test_whatsapp_reply_prefix.py
feat: OpenAI-compatible API server + WhatsApp configurable reply prefix ( #1756 )
2026-03-17 10:44:37 -07:00
test_ws_auth_retry.py
fix: resolve CI test failures — add missing functions, fix stale tests ( #9483 )
2026-04-14 01:43:45 -07:00
test_yolo_command.py
refactor: remove dead code — 1,784 lines across 77 files ( #9180 )
2026-04-13 16:32:04 -07:00