hermes-agent/tests/gateway
Soju06 7b3dcee928 feat(cache): persist the exact bytes sent to the API in an api_content sidecar
The first LLM call of every gateway turn gets ~0% provider prompt-cache
hit rate (in-turn calls: 97-99%) because the bytes sent for a turn's
user message are not the bytes replayed next turn: memory-prefetch and
pre_llm_call context are injected into the API copy only, the #48677
persist override writes cleaned content to the DB row, and
get_messages_as_conversation sanitize/strips user and assistant content
on load. Any of these diverges the request prefix at that message and
re-prefills everything after it — measured 27.9s for the first call vs
2.4-5.8s cached at a median ~156k-token context.

Persist what you send: a nullable messages.api_content column stores the
exact content string sent to the API when it differs from the clean
stored content, and replay substitutes it verbatim (no sanitize, no
strip). The injection composition lives in one helper
(turn_context.compose_user_api_content); the turn prologue stamps its
output onto the live user message, the api_messages build sends the
stamped bytes, and every outgoing copy pops the field so it never
reaches a provider. The crash-resilience user-turn persist moves after
prefetch/pre_llm_call so the user row is written once with its final
sidecar; _ensure_db_session stays before preflight compression (session
rotation needs the parent row under PRAGMA foreign_keys=ON). The
current-turn index trackers are re-anchored after compaction rebuilds
the message list, in-place preflight compaction backfills the stamp onto
the already-inserted row, and gateway replay forwards the sidecar only
when the replay pipeline did not rewrite the content. Rewrite paths that
would leave stale bytes (historical image strip, merge-summary-into-
tail, consecutive-user repair merge, stale-confirmation redaction) drop
the sidecar; the chat-completions transport and the max-iterations
summary path strip it defensively. codex_app_server and MoA turns are
excluded from stamping because their wire bytes differ from the
composition. A missing or dropped sidecar degrades to today's behavior
(one cache-boundary miss), never to wrong content.
2026-07-19 08:25:35 +05:30
..
platforms feat(state.db): persist platform_message_id; restore yuanbao exact-id recall 2026-05-20 13:00:57 -07:00
relay fix(relay): normalize a 0/negative max_message_length at the descriptor boundary 2026-07-16 07:21:23 -07:00
__init__.py
_plugin_adapter_loader.py test(gateway): isolate plugin adapter imports and guard the anti-pattern 2026-04-30 01:19:34 -07:00
conftest.py test(telegram): mirror PTB errors in heartbeat recovery 2026-07-10 19:28:03 +05:30
feishu_helpers.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
restart_test_helpers.py fix(gateway): quiesce API and cron work during drains 2026-07-13 23:26:10 +05:30
test_7100_transient_failure_transcript.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_10710_auto_reset_evicts_cached_agent.py fix(gateway): clear last-resolved-model cache on 3 more conversation-boundary resets 2026-07-05 13:58:03 -07:00
test_13121_shutdown_inflight_transcript_flush.py fix(gateway): offload remaining inline agent cleanup off the event loop (#53175) 2026-06-28 02:41:36 -07:00
test_25107_stale_base_url_api_mode.py fix(cli,gateway): sync base_url/api_mode on global model switch persist 2026-07-17 15:47:08 -07:00
test_35809_auto_reset_clean_context.py test: alternate roles in the #35809 bloat fixture 2026-07-16 04:43:45 -07:00
test_35994_reset_button_deadlock.py fix(gateway): offload agent cleanup off the event loop in /new reset (#35994) 2026-06-25 00:27:22 +05:30
test_42039_duplicate_user_message.py fix(gateway): dedupe user turns on transient failure (#47237) 2026-06-26 00:11:17 +05:30
test_48031_model_switch_after_auto_reset.py fix(gateway): consume was_auto_reset so /model survives session auto-reset 2026-06-24 19:12:44 +05:30
test_53175_cleanup_off_loop.py fix(gateway): offload remaining inline agent cleanup off the event loop (#53175) 2026-06-28 02:41:36 -07:00
test_64674_multiplex_primary_token_scope.py fix(gateway): resolve multiplex primary bot tokens without empty reconnect loops 2026-07-16 04:26:06 -07:00
test_active_session_text_merge.py fix(telegram): preserve Bot API update queue on watcher reconnect 2026-06-25 21:29:57 -07:00
test_adapter_connect_is_reconnect_contract.py test(gateway): regression: every adapter.connect() must accept is_reconnect 2026-07-09 19:09:38 -07:00
test_agent_cache.py refactor(compression): scope Codex-native compaction to the app-server runtime 2026-07-07 02:39:54 -07:00
test_aiohttp_body_caps.py security(gateway): set explicit client_max_size on 3 uncapped aiohttp servers (#59180) 2026-07-05 14:48:28 -07:00
test_allowed_channels_widening.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_allowlist_startup_check.py chore: ruff auto-fix PLR6201 resweep — tuple → set in membership tests (#27355) 2026-05-17 02:29:41 -07:00
test_api_server.py feat(gateway): route platform HTTP event callbacks 2026-07-16 07:31:05 -07:00
test_api_server_active_work_drain.py fix(gateway): quiesce API and cron work during drains 2026-07-13 23:26:10 +05:30
test_api_server_bind_guard.py fix(api_server): mark port conflict as non-retryable to stop infinite reconnect loop (#65665) 2026-07-16 06:29:09 -07:00
test_api_server_jobs.py fix(gateway): quiesce API and cron work during drains 2026-07-13 23:26:10 +05:30
test_api_server_media_data_urls.py security(gateway): anchor api_server MEDIA tag resolution to safe paths 2026-07-03 03:27:47 -07:00
test_api_server_multimodal.py
test_api_server_multiplex_secret_scope.py fix(gateway): scope default-listener api_server requests under multiplex 2026-07-16 07:17:55 -07:00
test_api_server_normalize.py perf(api-server): normalize chat content linearly (#46079) 2026-06-14 03:25:49 -07:00
test_api_server_runs.py fix(approval): scope smart deny owner overrides to one operation 2026-07-13 04:31:55 -07:00
test_api_server_toolset.py fix(tools): don't drop a toolset from platform inference when a tool is registered into it 2026-07-02 13:25:25 +05:30
test_approval_prompt_redaction.py fix(approval): scope smart deny owner overrides to one operation 2026-07-13 04:31:55 -07:00
test_approve_deny_commands.py test(gateway): cover ws_orphan_reap session recovery (#63207) 2026-07-14 16:58:47 +05:30
test_async_delegation_session_binding.py fix(gateway): never resurrect ended sessions for delegation completions; /new severs in-flight delegations 2026-07-08 08:10:28 -07:00
test_async_delivery_capability.py fix(delegate): declare stateless channel in one-shot and cron so delegate_task returns results 2026-07-18 00:05:25 -07:00
test_async_session_db.py test(gateway): assert interleaving safety of concurrent offloaded DB calls 2026-06-29 15:51:57 -07:00
test_async_session_store.py fix(gateway): enforce one async SessionStore boundary 2026-07-10 12:38:48 +05:30
test_auth_fallback.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_auto_continue.py fix(agent): preserve none vs unknown tool effects (#61783) 2026-07-11 05:41:58 -07:00
test_auto_voice_reply_format.py fix(gateway): use OGG for Telegram auto TTS 2026-06-07 18:05:58 -07:00
test_background_command.py fix(gateway): route /background result media by type 2026-06-02 16:55:25 -07:00
test_background_process_notifications.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_base_topic_sessions.py fix(slack): complete agent view workspace routing 2026-07-14 13:58:36 -07:00
test_bluebubbles.py fix(bluebubbles): drop participant-address fallback in _resolve_chat_guid 2026-07-01 00:42:56 -07:00
test_bounded_adapter_teardown.py fix(gateway): recover Discord websocket and event-loop stalls 2026-07-18 20:01:55 +05:30
test_bundles_command.py feat(skills): add skill bundles — alias /<name> loads multiple skills (#28373) 2026-05-18 21:38:05 -07:00
test_busy_session_ack.py fix: preserve log tool-progress mode with status phrases 2026-07-05 06:29:26 -07:00
test_busy_session_auth_bypass.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_cached_agent_max_iterations.py test(gateway): real cached-agent max_iterations regression test 2026-06-19 06:31:13 -07:00
test_cancel_background_drain.py fix(telegram): preserve Bot API update queue on watcher reconnect 2026-06-25 21:29:57 -07:00
test_cgroup_cleanup.py fix: satisfy ruff encoding + windows-footgun lints for cgroup reaper 2026-06-28 02:05:50 -07:00
test_channel_directory.py fix(gateway): offload channel directory session scans 2026-07-09 06:27:04 -07:00
test_channel_directory_connected_only.py fix(gateway): only session-discover channel targets for connected platforms (#60574) 2026-07-07 17:04:32 -07:00
test_channel_overrides.py feat(gateway): per-channel model and system prompt overrides (Fixes #1955) 2026-07-02 03:08:11 -07:00
test_choice_picker.py feat(gateway): inline choice pickers for /reasoning and /fast (Telegram, Discord, Matrix) (#65799) 2026-07-16 10:38:31 -07:00
test_clarify_active_session_bypass.py fix(gateway): resume typing after clarify reply 2026-07-14 21:31:32 -07:00
test_clean_shutdown_marker.py fix(gateway): unify reset boundaries vs recovery — promote accidental ends, honor mode=none, adapter-aware resume guidance 2026-07-17 04:51:39 -07:00
test_command_bypass_active_session.py fix(telegram): preserve Bot API update queue on watcher reconnect 2026-06-25 21:29:57 -07:00
test_complete_path_at_filter.py
test_completion_delivery.py fix(delegation): harden durable completion delivery 2026-07-13 07:28:21 -07:00
test_compress_command.py test(gateway): pin in-place compaction skipping the destructive rewrite 2026-07-09 18:04:00 -07:00
test_compress_focus.py fix: use self._session_db directly + add regression test 2026-06-26 00:50:40 +05:30
test_compress_plugin_engine.py fix: use self._session_db directly + add regression test 2026-06-26 00:50:40 +05:30
test_compress_preview.py feat(commands): /compact alias + --preview/--dry-run flags for /compress (#3243 salvage) 2026-07-02 05:10:31 -07:00
test_compression_concurrent_sessions.py test(compression): pin rotation-fallback tests to in_place=False ahead of default flip 2026-06-25 12:56:05 -07:00
test_compression_failure_session_sync.py test(gateway): assert _record_gateway_session_peer fires only on the persisted split 2026-07-02 12:49:42 +05:30
test_compression_in_flight_check.py fix(gateway): fail closed on compression state probe errors 2026-07-14 16:56:34 +05:30
test_compression_interrupt_demotion_56391.py fix(gateway): fail closed on compression state probe errors 2026-07-14 16:56:34 +05:30
test_compression_session_id_persistence.py test(gateway): add compression session_id rotation integration tests (#34089) 2026-06-07 22:39:51 -07:00
test_config.py test(gateway): cover typing_status_text through load_gateway_config 2026-07-18 12:28:59 -07:00
test_config_cwd_bridge.py test(gateway): cover per-backend cwd placeholder resolution 2026-07-04 13:28:47 -07:00
test_config_driven_access_policy.py fix(gateway): fail-closed external-surface defaults + profile-aware multiplex authz 2026-07-01 03:56:28 -07:00
test_config_env_bridge_authority.py feat(gateway): expose platform_connect_timeout in config.yaml 2026-06-30 15:03:25 -07:00
test_context_ref_expansion_runtime.py test(gateway): cover effective context budget 2026-07-11 23:46:13 +05:30
test_cron_active_work_drain.py fix(gateway,cron): make shutdown drain visible to in-flight cron work 2026-07-07 22:15:04 -07:00
test_cron_fire_webhook.py fix(api): reserve cron fire work during drain 2026-07-13 23:26:10 +05:30
test_cron_shutdown_drain.py test(gateway): cover cron-delivery drain on restart 2026-07-06 01:37:10 +05:30
test_cwd_placeholder.py test(gateway): cover per-backend cwd placeholder resolution 2026-07-04 13:28:47 -07:00
test_dead_targets.py refactor(gateway): share error-text blob between not_found classifiers 2026-07-01 15:11:38 +05:30
test_debug_command.py
test_dedupe_user_turns.py fix(gateway): dedupe user turns on transient failure (#47237) 2026-06-26 00:11:17 +05:30
test_delivery.py fix(delivery): drop env-var knob, flag all chunking adapters 2026-06-22 05:41:22 -07:00
test_delivery_silence_filter.py fix(gateway): drop outbound silence-narration messages pre-send 2026-05-29 19:06:05 -07:00
test_destructive_slash_confirm.py feat: confirm prompt for destructive slash commands (#4069) (#22687) 2026-05-09 11:04:46 -07:00
test_dingtalk.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_discord_allowed_channels.py
test_discord_allowed_mentions.py refactor(gateway): migrate Discord adapter to bundled plugin (full Teams parity) 2026-05-22 14:21:41 -07:00
test_discord_approval_mentions.py fix(gateway): recover Discord websocket and event-loop stalls 2026-07-18 20:01:55 +05:30
test_discord_attachment_download.py refactor(gateway): migrate Discord adapter to bundled plugin (full Teams parity) 2026-05-22 14:21:41 -07:00
test_discord_bot_auth_bypass.py fix(telegram): apply bot auth policy to Telegram sources 2026-06-28 00:57:03 -07:00
test_discord_bot_filter.py fix(discord): ignore reply-ping-only mentions for bot-authored messages 2026-07-01 15:38:34 -04:00
test_discord_channel_controls.py fix(discord): auto-thread failure must not silently fall back to inline reply 2026-07-01 00:12:17 -07:00
test_discord_channel_prompts.py refactor(gateway): migrate Discord adapter to bundled plugin (full Teams parity) 2026-05-22 14:21:41 -07:00
test_discord_channel_skills.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_discord_clarify_buttons.py fix(discord): bound component labels by UTF-16 units 2026-07-07 02:40:12 -07:00
test_discord_component_auth.py feat(discord): optional admin-only gate for exec-approval buttons (#51751) 2026-07-05 06:42:42 -07:00
test_discord_connect.py fix(gateway): honor Discord connect timeout for ready wait 2026-06-30 15:03:25 -07:00
test_discord_document_handling.py fix(gateway): accept any inbound file type across all messaging platforms 2026-06-21 22:43:45 -07:00
test_discord_double_dispatch.py test(discord): fix double-dispatch dedup test for fail-closed auto-thread 2026-07-01 00:12:17 -07:00
test_discord_edit_message_overflow.py fix(discord): dedup saturated mid-stream overflow previews to stop edit-rate-limit storms 2026-07-05 13:58:11 -07:00
test_discord_exec_approval_content.py fix(discord): include approval command in message content 2026-07-07 06:25:23 -07:00
test_discord_fail_closed_feedback.py fix(discord): explain fail-closed allowlist default 2026-07-07 17:01:08 -07:00
test_discord_format.py fix(discord): auto-convert markdown tables to bullet groups 2026-06-27 03:57:24 +05:30
test_discord_free_response.py fix(discord): tag unverified channel-context senders like Slack threads 2026-07-01 16:25:16 +05:30
test_discord_imports.py refactor(gateway): migrate Discord adapter to bundled plugin (full Teams parity) 2026-05-22 14:21:41 -07:00
test_discord_lazy_install_views.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_discord_liveness.py fix(gateway): recover Discord websocket and event-loop stalls 2026-07-18 20:01:55 +05:30
test_discord_media_metadata.py refactor(gateway): migrate Discord adapter to bundled plugin (full Teams parity) 2026-05-22 14:21:41 -07:00
test_discord_missed_message_backfill.py fix(discord): keep recovery ledger I/O off event loop 2026-07-18 14:01:33 -07:00
test_discord_model_picker.py fix(discord): bound component labels by UTF-16 units 2026-07-07 02:40:12 -07:00
test_discord_opus.py fix(discord): recover Windows voice opus decoding 2026-05-27 03:35:33 -07:00
test_discord_pending_text_batch_shutdown.py fix(discord): channel name matching and flush pending sends on shutdown 2026-06-30 02:48:42 -07:00
test_discord_prompt_content_siblings.py fix(discord): mirror all interactive prompt payloads into message content 2026-07-07 06:25:23 -07:00
test_discord_prompt_timeout_config.py feat(discord): make interactive view timeout configurable (#60230) 2026-07-07 05:50:08 -07:00
test_discord_race_polish.py refactor(gateway): migrate Discord adapter to bundled plugin (full Teams parity) 2026-05-22 14:21:41 -07:00
test_discord_reactions.py refactor(gateway): migrate Discord adapter to bundled plugin (full Teams parity) 2026-05-22 14:21:41 -07:00
test_discord_reply_mode.py refactor(gateway): migrate Discord adapter to bundled plugin (full Teams parity) 2026-05-22 14:21:41 -07:00
test_discord_roles_dm_scope.py fix(gateway): fail-closed external-surface defaults + profile-aware multiplex authz 2026-07-01 03:56:28 -07:00
test_discord_send.py refactor(gateway): migrate Discord adapter to bundled plugin (full Teams parity) 2026-05-22 14:21:41 -07:00
test_discord_slash_auth.py fix(discord): honor pairing grants for message auth 2026-07-07 17:00:58 -07:00
test_discord_slash_commands.py fix(discord): handle expired slash defer interactions 2026-07-07 12:42:29 -07:00
test_discord_sync_limit.py test(discord): add regression test for 100-command sync limit 2026-06-22 13:58:33 -07:00
test_discord_system_messages.py chore: ruff auto-fix PLR6201 resweep — tuple → set in membership tests (#27355) 2026-05-17 02:29:41 -07:00
test_discord_thread_persistence.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_discord_thread_slash_expired_defer.py fix(discord): widen expired-defer handling to /thread slash command 2026-07-07 12:42:29 -07:00
test_discord_voice_mixer.py feat(discord): voice-channel mixer — ambient idle bed + verbal acks that overlap TTS (#39659) 2026-06-05 03:10:40 -07:00
test_display_config.py feat(gateway): live per-tool status line on Slack 2026-07-18 12:28:59 -07:00
test_dm_topics.py fix(telegram): accept both list and mapping shapes for group_topics config 2026-07-01 01:20:14 -07:00
test_document_cache.py fix(gateway): accept any inbound file type across all messaging platforms 2026-06-21 22:43:45 -07:00
test_document_context_note.py test(gateway): cover document context note for PDF/DOCX vs text 2026-06-11 11:58:19 -07:00
test_duplicate_reply_suppression.py fix(telegram): preserve Bot API update queue on watcher reconnect 2026-06-25 21:29:57 -07:00
test_email.py fix(gateway): repair sibling tests + harden _adapter_for_source after fail-closed flip 2026-07-01 03:56:28 -07:00
test_email_robustness.py fix(email): harden adapter against malformed IMAP responses 2026-07-02 03:12:53 -07:00
test_empty_model_recovery.py fix(gateway): recover model on post-interrupt turn; gate fallback status (#35381) 2026-05-30 07:28:06 -07:00
test_env_flag_truthy.py test: env-flag 'on' truthy behavior contract (#2863 follow-up) 2026-07-02 03:00:59 -07:00
test_ephemeral_reply.py fix(telegram): preserve Bot API update queue on watcher reconnect 2026-06-25 21:29:57 -07:00
test_external_drain_control.py fix(gateway): quiesce API and cron work during drains 2026-07-13 23:26:10 +05:30
test_extract_local_files.py test: update extract_local_files Windows-path test for new matching behavior 2026-05-30 07:38:03 -07:00
test_fallback_chain_reload.py fix(gateway): harden fallback-chain refresh from review findings 2026-07-09 02:22:12 +05:30
test_fallback_eviction.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_fast_command.py Add semantic titles for Discord auto-threads 2026-07-07 05:11:59 -07:00
test_feishu.py fix(feishu): ship Channel signaling SDK support 2026-07-09 20:31:49 -07:00
test_feishu_approval_buttons.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_feishu_bot_admission.py fix(gateway): fail-closed external-surface defaults + profile-aware multiplex authz 2026-07-01 03:56:28 -07:00
test_feishu_bot_auth_bypass.py fix(telegram): apply bot auth policy to Telegram sources 2026-06-28 00:57:03 -07:00
test_feishu_channel_prompts.py fix(anthropic+feishu): model-gate max_tokens fallback; wire Feishu channel_prompt 2026-06-30 17:20:41 -07:00
test_feishu_comment.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_feishu_comment_rules.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_feishu_meeting_invite.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_feishu_onboard.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_feishu_sdk_executor.py fix(gateway,feishu): refuse executor resurrection during real shutdown 2026-06-27 04:13:09 -07:00
test_first_turn_session_meta_rebaseline.py test(gateway): align salvaged #54947-cluster tests with async cache helper 2026-07-01 02:29:24 -07:00
test_footer_command_mid_run.py fix(gateway): /footer is unreachable mid-run — add "footer" to safe-toggle set 2026-07-16 04:40:23 -07:00
test_fresh_reset_skill_injection.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_gateway_command_dispatch_minimal.py fix(gateway): strip /queue prefix when no agent is running 2026-07-16 08:02:47 -07:00
test_gateway_command_help.py fix: ignore Telegram start pings 2026-05-27 02:41:24 -07:00
test_gateway_command_line_matcher.py fix(gateway): track no-systemd restart runtimes 2026-06-23 23:29:28 -07:00
test_gateway_inactivity_timeout.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_gateway_process_exit.py fix(gateway): release PID file + runtime lock in the force-exit backstop 2026-07-01 15:59:37 +05:30
test_gateway_shutdown.py fix(gateway): recover Discord websocket and event-loop stalls 2026-07-18 20:01:55 +05:30
test_gateway_silence_tokens.py fix(gateway): suppress exact silence tokens without mutating history 2026-06-14 03:25:08 -07:00
test_goal_max_turns_config.py fix(gateway): honor configured goal turn budget 2026-05-07 06:31:08 -07:00
test_goal_status_notice.py fix(gateway): defer goal status notices until after response delivery 2026-05-07 17:33:09 -07:00
test_goal_verdict_send.py feat(goals): /goal wait <pid> — park the loop on a background process (#50503) 2026-06-22 06:27:29 -07:00
test_google_chat.py feat(gateway): make the working-state status text configurable 2026-07-18 12:28:59 -07:00
test_handoff_watcher_async_db.py fix(gateway): route SessionDB calls through AsyncSessionDB 2026-06-29 15:51:57 -07:00
test_home_target_env_var.py fix(gateway): preserve home-channel thread targets across restart notifications 2026-05-03 08:47:49 -07:00
test_homeassistant.py fix(gateway): validate multiplex adapter config by platform 2026-07-16 05:39:58 -07:00
test_hooks.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_image_input_routing_runtime.py fix(gateway): route inbound-image decision off the event loop 2026-07-18 01:30:05 -07:00
test_incomplete_gateway_turns.py fix(gateway): harden hidden-incomplete detection against the sentinel final_response 2026-07-15 09:48:24 -07:00
test_insights_unicode_flags.py
test_internal_event_bypass_pairing.py fix: keep poll read-only for notify_on_complete watcher 2026-06-21 11:11:23 -07:00
test_internal_event_never_interrupts_busy_session.py fix(gateway): never interrupt a busy session with an internal completion event (#49738) 2026-06-20 10:57:41 -07:00
test_interrupt_key_match.py fix(telegram): preserve Bot API update queue on watcher reconnect 2026-06-25 21:29:57 -07:00
test_irc_adapter.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_kanban_auto_decompose_live.py fix(kanban): honor kanban.auto_decompose toggle live, without a gateway restart (#50358) 2026-06-21 12:43:44 -07:00
test_kanban_notifier.py fix(kanban): route notifier wake via profile chokepoint; harden review findings 2026-07-02 00:05:48 +05:30
test_kanban_notifier_watcher_dispatch_gate.py feat(kanban): gate notifier watcher on dispatch_in_gateway 2026-06-01 20:30:24 -07:00
test_kanban_watchers_mixin.py fix(kanban): cross-platform dispatcher lock + explicit release 2026-06-19 07:35:33 -07:00
test_keep_typing_timeout.py fix(telegram): preserve Bot API update queue on watcher reconnect 2026-06-25 21:29:57 -07:00
test_line_plugin.py fix(line): map inbound message types to the correct MessageType 2026-06-04 21:55:20 -07:00
test_load_transcript_db_only.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_loop_exception_handler.py fix(gateway): swallow transient Telegram TimedOut at loop level 2026-05-24 15:03:27 -07:00
test_matrix.py fix(matrix): isolate per-event failures in _dispatch_sync gather 2026-07-03 03:27:47 -07:00
test_matrix_approval_reaction_fail_closed.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_matrix_dm_invite_recording.py test(matrix): authorize inviter in DM-invite fixture for new invite-auth gate 2026-06-28 20:47:33 -07:00
test_matrix_exec_approval.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_matrix_mention.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_matrix_project_context_isolation.py security(gateway): prove chat/thread origin for persisted /resume; tighten DM scoping 2026-07-01 05:38:03 -07:00
test_matrix_voice.py test(matrix): make voice-detection tests hermetic against mention gating (#49946) 2026-06-20 21:22:11 -07:00
test_mattermost.py fix(gateway): validate multiplex adapter config by platform 2026-07-16 05:39:58 -07:00
test_max_concurrent_sessions.py feat(sessions): add optional max session cap 2026-06-08 15:12:12 -07:00
test_max_tokens_propagation.py test(gateway): regression tests for max_tokens propagation chain (#20741) 2026-06-05 09:10:26 -07:00
test_mcp_reload_refreshes_cached_agents.py fix(gateway): refresh cached agent tools on /reload-mcp 2026-05-26 14:28:51 -07:00
test_media_download_retry.py fix(gateway): cap inbound media download size to prevent memory exhaustion 2026-06-21 11:56:46 -07:00
test_media_extraction.py fix(gateway): dedup image_generate media across the compression boundary 2026-06-20 23:20:16 -07:00
test_media_metadata_contract.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_memory_monitor.py Port from cline/cline#10343: periodic gateway memory logging (#27102) 2026-05-16 12:55:23 -07:00
test_message_deduplicator.py fix(discord): harden reconnect message recovery 2026-07-18 14:01:33 -07:00
test_message_timestamps.py feat(gateway): gate message timestamps behind opt-in (default off) 2026-06-16 15:49:59 -07:00
test_mirror.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_mixed_attachment_routing.py fix(gateway): classify mixed attachments per-attachment + transcode uncommon image formats 2026-06-27 19:26:04 -07:00
test_moa_one_shot_restore.py refactor(gateway): extract MoA one-shot restore helper; restore #28686 comment; real-method tests 2026-06-27 03:43:28 -07:00
test_model_command_async_offload.py fix(gateway): show MoA presets in model picker 2026-06-27 03:43:38 -07:00
test_model_command_custom_providers.py fix(gateway): offload /model switch off the event loop (#53603) 2026-06-27 04:36:22 -07:00
test_model_command_expensive_confirm.py fix(model-switch): a failed in-place swap must be a no-op, not a dead session (#50375) 2026-06-21 13:33:23 -07:00
test_model_command_flat_string_config.py fix(gateway): clear stale base_url on model switches 2026-06-27 21:23:25 -07:00
test_model_picker_persist.py fix(gateway): preserve multiplex profile in model picker 2026-07-16 07:17:55 -07:00
test_model_switch_persistence.py fix: harden /model --once against persistence and config-sync leaks 2026-07-18 14:01:56 -07:00
test_msgraph_webhook.py fix(security): widen non-ASCII compare_digest crash fix to all sibling sites 2026-07-16 07:22:24 -07:00
test_multiplex_adapter_registry.py fix(gateway): recover Discord websocket and event-loop stalls 2026-07-18 20:01:55 +05:30
test_multiplex_api_server_routing.py test(gateway): cover api_server multiplex /p/<profile>/ routing 2026-07-16 15:59:45 +05:30
test_multiplex_background_task_scope.py test: use object.__new__ runner pattern for background-task scope tests 2026-07-16 07:57:06 -07:00
test_multiplex_credential_isolation.py test(profile): prove isolation fix under the multiplexed gateway, not just desktop 2026-06-30 15:30:06 -07:00
test_multiplex_http_routing.py feat(gateway): multiplex phase 1 — HTTP-inbound /p/<profile>/ routing (webhook) 2026-06-19 07:34:15 -07:00
test_multiplex_lifecycle.py feat(gateway): GATEWAY_MULTIPLEX_PROFILES env override for multiplex flag (#60589) 2026-07-08 00:34:34 +00:00
test_multiplex_pairing_stores.py fix(gateway): import PairingStore in _start_secondary_profile_adapters (#65118) 2026-07-15 12:11:16 -07:00
test_multiplex_phase0.py fix(gateway): avoid cross-profile session recovery (#59325) 2026-07-07 18:25:39 +10:00
test_multiplex_profile_authz.py fix(gateway): scope secondary-adapter auth callback to its own profile 2026-07-16 07:17:55 -07:00
test_native_image_buffer_isolation.py fix: route gateway images by session model override 2026-07-03 03:33:06 -07:00
test_new_clears_last_resolved_model.py fix(gateway): clear last-resolved-model cache on /new and compression auto-reset 2026-07-04 16:34:16 -07:00
test_notice_delivery.py feat(gateway): private notice delivery and Slack format_message fixes 2026-05-01 13:33:06 -07:00
test_notice_rendering.py test(gateway): pin source.profile=None on MagicMock fixtures hitting _adapter_for_source 2026-07-05 21:48:59 -07:00
test_ntfy_plugin.py test(ntfy): cover echo-tag filter; tag standalone send path 2026-05-29 13:17:46 -07:00
test_own_policy_startup_gate.py fix(gateway): fail-closed external-surface defaults + profile-aware multiplex authz 2026-07-01 03:56:28 -07:00
test_pairing.py fix: merge split gateway pairing stores 2026-07-07 02:18:17 -07:00
test_pairing_allowlist_bypass.py fix(gateway): pairing is a grant that syncs to the allowlist (#23778) (#56381) 2026-07-01 05:31:15 -07:00
test_pending_drain_no_recursion.py fix(telegram): preserve Bot API update queue on watcher reconnect 2026-06-25 21:29:57 -07:00
test_pending_drain_race.py fix(telegram): preserve Bot API update queue on watcher reconnect 2026-06-25 21:29:57 -07:00
test_pending_event_none.py
test_per_platform_streaming_defaults.py feat(streaming): per-platform streaming defaults (Telegram on, Discord off) + dashboard toggles (#37303) 2026-06-02 05:52:54 -07:00
test_pii_redaction.py
test_plaintext_approval_routing.py fix(gateway): deliver confirmation + reuse handlers for plain-text approvals 2026-06-30 14:29:51 -07:00
test_planned_stop_watcher.py fix(ci): make tests, workflows, and attribution reliable under load (#66373) 2026-07-17 20:55:24 +00:00
test_platform_base.py fix(relay): normalize a 0/negative max_message_length at the descriptor boundary 2026-07-16 07:21:23 -07:00
test_platform_connected_checkers.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_platform_http_client_limits.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_platform_reconnect.py fix(review): pass 1 — consecutive supervisor cap + Bedrock reasoning-floor modelId 2026-07-18 19:38:21 +05:30
test_platform_reconnect_fd_leak.py fix(telegram): preserve Bot API update queue on watcher reconnect 2026-06-25 21:29:57 -07:00
test_platform_registry.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_plugin_platform_interface.py feat(irc): add interactive setup 2026-04-29 21:56:51 -07:00
test_post_delivery_callback_chaining.py fix(gateway): await async post-delivery callbacks in chained wrapper 2026-07-01 02:12:25 -07:00
test_pre_gateway_dispatch.py
test_priority_path_compression_demotion_56391.py fix(gateway): enforce one async SessionStore boundary 2026-07-10 12:38:48 +05:30
test_profile_resolution.py fix(gateway): gate profile routing on multiplex_profiles + widen batch-key routing to all adapters 2026-07-15 09:50:05 -07:00
test_profile_routing.py fix(gateway): profile routing — conjunctive matching + universal gateway_runner 2026-07-15 09:50:05 -07:00
test_proxy_mode.py fix(gateway): cap proxy SSE line buffer 2026-07-05 00:41:34 -07:00
test_qqbot.py fix(qqbot): add is_reconnect param to QQAdapter.connect for gateway reconnect compat 2026-07-09 19:09:38 -07:00
test_queue_command.py fix(gateway): preserve media + reply payload when /queue defers a turn 2026-06-30 17:32:35 -07:00
test_queue_consumption.py test(gateway): pin source.profile=None on MagicMock fixtures hitting _adapter_for_source 2026-07-05 21:48:59 -07:00
test_queued_native_image_session_key.py test(gateway): accept kwargs in _decide_image_input_mode stub after #36055 signature change 2026-07-03 03:33:06 -07:00
test_raft_adapter.py security(raft): enforce body-size limit on chunked requests 2026-07-05 13:57:37 -07:00
test_readiness.py fix(gateway): ground readiness in live runtime state 2026-07-11 08:42:21 -07:00
test_reasoning_command.py feat(reasoning): add max and ultra effort levels (#62650) 2026-07-12 00:26:49 -07:00
test_reasoning_config_per_model.py refactor(reasoning): unify per-model reasoning resolution behind a single chokepoint 2026-07-14 11:46:40 -07:00
test_relay_capability_surface.py fix(telegram): preserve Bot API update queue on watcher reconnect 2026-06-25 21:29:57 -07:00
test_relay_upstream_authz.py feat(relay): carry routed profile from the connector wire source (#60586) 2026-07-08 00:20:23 +00:00
test_reload_skills_command.py
test_reload_skills_discord_resync.py refactor(gateway): migrate Discord adapter to bundled plugin (full Teams parity) 2026-05-22 14:21:41 -07:00
test_replay_entry_fields.py feat(cache): persist the exact bytes sent to the API in an api_content sidecar 2026-07-19 08:25:35 +05:30
test_reply_to_injection.py fix(signal): preserve quoted reply context 2026-06-20 15:16:53 +05:30
test_response_filters.py fix(gateway): tolerate punctuation on silence markers 2026-07-05 02:12:26 -07:00
test_restart_drain.py fix: remove dead f-string prefixes via ruff F541 (216 sites) (#52336) 2026-07-05 13:42:46 -07:00
test_restart_notification.py test(gateway): repoint slash-command mocks after mixin extraction 2026-06-08 01:25:35 -07:00
test_restart_redelivery_dedup.py fix(gateway): guard stale /restart redelivery when dedup marker is missing (#56107) 2026-07-01 00:11:23 -07:00
test_restart_resume_pending.py fix(gateway): unify reset boundaries vs recovery — promote accidental ends, honor mode=none, adapter-aware resume guidance 2026-07-17 04:51:39 -07:00
test_restart_service_detection.py fix(gateway): preserve external supervisor ownership 2026-07-16 05:08:56 -07:00
test_resume_command.py fix(gateway): clear last-resolved-model cache on 3 more conversation-boundary resets 2026-07-05 13:58:03 -07:00
test_retry_replacement.py refactor(yuanbao): drop dead branch A1 message_id loop + pin missing fixture 2026-05-20 13:00:57 -07:00
test_retry_response.py
test_run_cleanup_progress.py fix(gateway): await async post-delivery callbacks in chained wrapper 2026-07-01 02:12:25 -07:00
test_run_progress_interrupt.py fix(gateway): recover from truncated responses 2026-07-01 17:08:50 +05:30
test_run_progress_topics.py feat(display): friendly human-phrased tool labels for built-in tools (#55166) 2026-06-29 20:31:17 -07:00
test_run_tool_media_re.py test: use raw docstring in test_run_tool_media_re to silence escape warning 2026-05-30 07:38:03 -07:00
test_runner_fatal_adapter.py fix(gateway): recover Discord websocket and event-loop stalls 2026-07-18 20:01:55 +05:30
test_runner_startup_failures.py fix(telegram): preserve Bot API update queue on watcher reconnect 2026-06-25 21:29:57 -07:00
test_running_agent_session_toggles.py
test_runtime_config_env_expansion.py fix(config): align prefill messages key handling 2026-06-03 23:51:44 -06:00
test_runtime_env_reload_config_authority.py test(gateway): cover runtime max_turns refresh 2026-06-19 06:31:13 -07:00
test_runtime_footer.py
test_safe_adapter_disconnect.py fix(gateway): recover Discord websocket and event-loop stalls 2026-07-18 20:01:55 +05:30
test_scale_to_zero.py feat(gateway): scale-to-zero idle detection + dormant-quiesce (Phase 0) 2026-06-24 18:47:18 -07:00
test_scale_to_zero_watcher.py fix(gateway): scale-to-zero never armed — arm-gate counted disabled placeholder platforms (#52831) 2026-06-26 14:01:48 +10:00
test_send_error_classification.py feat(gateway): typed send-error classification (SendResult.error_kind) (#50342) 2026-06-21 12:34:22 -07:00
test_send_image_file.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_multiple_images.py fix(telegram): preserve Bot API update queue on watcher reconnect 2026-06-25 21:29:57 -07:00
test_send_retry.py fix(telegram): preserve Bot API update queue on watcher reconnect 2026-06-25 21:29:57 -07:00
test_send_voice_reply_notify.py fix(gateway): mark final voice reply as notify-worthy so Telegram delivers it audibly 2026-05-18 22:25:15 -07:00
test_session.py fix: harden transcript append retry — lock, matcher, encapsulation, cap 2026-07-17 18:58:29 +05:30
test_session_api.py feat(gateway): inject stable human-readable message timestamps 2026-06-16 15:49:59 -07:00
test_session_boundary_hooks.py fix(gateway): clear last-resolved-model cache on 3 more conversation-boundary resets 2026-07-05 13:58:03 -07:00
test_session_boundary_security_state.py security(gateway): prove chat/thread origin for persisted /resume; tighten DM scoping 2026-07-01 05:38:03 -07:00
test_session_context_inheritance.py fix(gateway): close cross-session HERMES_SESSION_* leak into subprocess env 2026-07-01 15:42:19 +05:30
test_session_dm_thread_seeding.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_session_env.py fix(gateway,feishu): refuse executor resurrection during real shutdown 2026-06-27 04:13:09 -07:00
test_session_hygiene.py test(gateway): pin in-place compaction skipping the destructive rewrite 2026-07-09 18:04:00 -07:00
test_session_id_cache_coherence.py test(gateway): align salvaged #54947-cluster tests with async cache helper 2026-07-01 02:29:24 -07:00
test_session_info.py fix(gateway): scope reset banners' session info to the serving profile (#59048 salvage) (#59329) 2026-07-07 18:25:45 +10:00
test_session_list_allowed_sources.py
test_session_load_bool.py fix(gateway): skip non-dict entries in session loading (#46994) 2026-06-25 01:26:13 +05:30
test_session_model_override_credential_pool.py fix(gateway): attach credential_pool to session /model overrides 2026-07-04 16:34:16 -07:00
test_session_model_override_persistence.py feat(gateway): persist per-session /model overrides across gateway restarts 2026-07-02 05:51:12 -07:00
test_session_model_override_routing.py fix(gateway): honor key_env in auth-failure fallback resolution 2026-05-23 02:25:53 -07:00
test_session_model_reset.py
test_session_override_thread_recovery.py fix(gateway): keep /model + /reasoning overrides on topic recovery & compression splits 2026-06-07 22:10:32 -07:00
test_session_race_guard.py fix(gateway): route SessionDB calls through AsyncSessionDB 2026-06-29 15:51:57 -07:00
test_session_reset_notify.py fix(gateway): unify reset boundaries vs recovery — promote accidental ends, honor mode=none, adapter-aware resume guidance 2026-07-17 04:51:39 -07:00
test_session_split_brain_11016.py fix(telegram): preserve Bot API update queue on watcher reconnect 2026-06-25 21:29:57 -07:00
test_session_state_cleanup.py fix(gateway): clear zombie agent slot when session_reset races in-flight run 2026-06-04 07:50:45 -07:00
test_session_store_expiry_finalized.py fix: conditional promote + real SessionDB tests 2026-07-17 04:51:39 -07:00
test_session_store_lock_io.py fix(ci): make tests, workflows, and attribution reliable under load (#66373) 2026-07-17 20:55:24 +00:00
test_session_store_prune.py fix(gateway): never prune sessions when active-process check fails 2026-07-14 17:13:20 +05:30
test_session_store_runtime_stale_guard.py test(gateway): add overdue-policy guard for stale-agent-close recovery path 2026-07-17 04:51:39 -07:00
test_session_store_stale_prune.py fix(gateway): keep stale route when recovery lookup fails 2026-07-17 04:51:39 -07:00
test_setup_feishu.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_shared_group_sender_prefix.py
test_shutdown_cache_cleanup.py fix(gateway): recover Discord websocket and event-loop stalls 2026-07-18 20:01:55 +05:30
test_shutdown_forensics.py feat(gateway): shutdown forensics — non-blocking diag, per-phase timing, stale-unit warning (#23285) 2026-05-10 09:01:51 -07:00
test_shutdown_memory_provider_messages.py
test_shutdown_watchdog.py test(gateway): cover shutdown watchdog and loop heartbeat (#66892) 2026-07-18 19:53:00 +05:30
test_signal.py fix(gateway): validate multiplex adapter config by platform 2026-07-16 05:39:58 -07:00
test_signal_format.py fix(signal): share markdown formatting across send paths 2026-06-20 13:47:14 +05:30
test_signal_rate_limit.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_simplex_plugin.py fix(gateway): classify SimpleX non-image/non-audio files as DOCUMENT 2026-06-12 01:07:50 -07:00
test_slack.py feat(gateway): live per-tool status line on Slack 2026-07-18 12:28:59 -07:00
test_slack_approval_buttons.py fix(slack): scope Agent View workspace state 2026-07-14 13:58:36 -07:00
test_slack_block_kit.py fix(slack): guard blank-line list continuation on next-item lookahead 2026-07-03 02:55:22 +05:30
test_slack_block_kit_adapter.py fix(slack): gate feedback buttons behind rich_blocks as documented 2026-07-14 13:58:36 -07:00
test_slack_bot_auth_bypass.py fix(slack): authorize bot/workflow senders before the no-user-id guard 2026-07-01 16:32:32 +05:30
test_slack_channel_session_scope.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_slack_channel_skills.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_slack_cron_continuable_surface.py feat(cron/slack): flat in-channel continuable cron delivery surface 2026-07-01 03:16:13 -07:00
test_slack_group_dm_scope_warning.py feat(slack): nudge stale installs to add mpim scopes; mark message.mpim required 2026-06-29 01:02:53 -07:00
test_slack_mention.py test(slack): give the MPIM reaction-guard test real teeth 2026-07-03 12:34:53 +05:30
test_slack_plugin_action_handlers.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_slack_plugin_setup.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_slack_user_token_warning.py fix(slack): warn when configured token is a user token, not a bot token 2026-06-29 20:57:43 -07:00
test_slash_access.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_slash_access_dispatch.py fix(gateway): gate quick_commands through slash access policy 2026-06-28 02:43:23 -07:00
test_sms.py fix(sms): bound Twilio webhook body reads to prevent OOM 2026-07-05 17:38:36 -07:00
test_sse_agent_cancel.py test(api-server): cover SSE failure finish_reason for both failure modes 2026-06-27 03:52:44 -07:00
test_ssl_cert_detection.py fix: harden gateway startup and turn persistence 2026-06-07 02:15:23 -07:00
test_ssl_certs.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_stacked_skill_platform_disabled.py fix(gateway): re-check every stacked skill against the platform-disabled list 2026-07-05 13:57:11 -07:00
test_stale_confirmation_expiry.py fix: redact expired confirmations in place to preserve role alternation 2026-07-07 14:40:32 +05:30
test_stale_platform_lock_retryable.py fix(gateway): mark platform lock failure as retryable instead of permanently fatal 2026-06-28 04:35:37 -07:00
test_stale_self_heal_agent_cache_eviction.py fix(gateway): evict stale-self-heal agent cache entries pointing at dead sessions 2026-07-16 00:11:22 +05:30
test_startup_no_eager_platform_install.py test(gateway): cover no eager platform install on startup sweep 2026-06-21 16:41:17 -07:00
test_startup_restart_race.py test(gateway): update startup-restart-race fixtures for current main 2026-06-30 03:22:18 -07:00
test_status.py fix(gateway): launchd ThrottleInterval + portable respawn-storm circuit breaker 2026-07-18 19:38:21 +05:30
test_status_command.py fix(gateway): gate /profile source scoping on multiplex_profiles 2026-07-16 07:17:55 -07:00
test_status_phrases.py chore: limit generic status phrases to long-running notifications 2026-07-05 06:29:26 -07:00
test_steer_command.py
test_step_callback_compat.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_sticker_cache.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_stop_thread_sibling.py fix(slack): clear stuck assistant status on /stop and via explicit metadata 2026-07-14 21:31:32 -07:00
test_stream_consumer.py fix(discord): persist streamed final delivery 2026-07-18 14:01:33 -07:00
test_stream_consumer_draft.py fix(telegram): preserve rich formatting on stream final 2026-06-13 13:44:45 -07:00
test_stream_consumer_fresh_final.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_stream_consumer_silence.py fix(gateway): suppress NO_REPLY/[SILENT] markers on the streaming path 2026-06-30 23:37:04 -07:00
test_stream_consumer_thread_routing.py test(streaming): include original reply anchor metadata 2026-07-18 14:01:33 -07:00
test_stream_events.py feat(gateway): structured stream-event protocol + Telegram draft formatting parity (#37250) 2026-06-02 00:33:50 -07:00
test_stt_config.py fix(gateway): stop poisoning the LLM prompt with STT-mode chatter 2026-06-30 04:23:03 -07:00
test_stt_transcript_echo_config.py fix: honor top-level STT transcript echo config 2026-07-05 06:12:49 -07:00
test_stuck_loop.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_subagent_protection_30170.py test(gateway): assert queued outcome, not merge_pending_message_event call 2026-06-20 20:05:37 -07:00
test_systemd_notify.py fix(gateway): recover Discord websocket and event-loop stalls 2026-07-18 20:01:55 +05:30
test_systemd_watchdog_lifecycle.py fix(gateway): recover Discord websocket and event-loop stalls 2026-07-18 20:01:55 +05:30
test_table_helpers.py refactor: extract shared GFM table→bullet helpers into helpers.py 2026-06-27 03:57:24 +05:30
test_teams.py feat(teams): native send_video/send_voice/send_document attachments (#49308) 2026-06-19 16:20:59 -07:00
test_teams_pipeline_runtime_wiring.py fix(teams-pipeline): drop-scheduler fallback + test wiring for enablement gate 2026-05-08 11:18:14 -07:00
test_telegram_approval_buttons.py fix(approval): scope smart deny owner overrides to one operation 2026-07-13 04:31:55 -07:00
test_telegram_audio_vs_voice.py fix(gateway): preserve pending voice media semantics 2026-07-19 07:27:29 +05:30
test_telegram_auth_check.py fix(telegram): reject unauthorized users before event construction (#40863) 2026-06-28 14:25:15 -07:00
test_telegram_bot_auth_bypass.py fix: salvage #33830 for current main — relocate allow_bots bridge to telegram plugin hook, fix stale adapter import in test 2026-06-28 00:57:03 -07:00
test_telegram_callback_auth_fail_closed.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_telegram_caption_merge.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_telegram_channel_posts.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_telegram_clarify_buttons.py fix(telegram): notify user when clarify button tap arrives after expiry 2026-06-28 01:07:53 -07:00
test_telegram_closewait_limits_31599.py fix(telegram): wire platform_httpx_limits into general-pool HTTPXRequest (#31599) 2026-06-24 02:15:47 +05:30
test_telegram_conflict.py fix(telegram): gate polling health on getUpdates progress 2026-07-14 17:32:41 +05:30
test_telegram_documents.py fix(telegram): surface failed media downloads to user and agent, not a silent empty turn (#53912) 2026-06-27 19:12:57 -07:00
test_telegram_error_redaction.py fix(telegram): widen transport-error redaction to all remaining raw exception sites 2026-07-16 04:25:54 -07:00
test_telegram_final_delivery.py fix(telegram): harden flood fallback recovery 2026-07-11 11:13:50 +05:30
test_telegram_format.py fix(telegram): dedup saturated mid-stream overflow previews to stop flood-control edit storms (#58563) 2026-07-05 00:32:35 -07:00
test_telegram_forum_commands.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_telegram_group_gating.py fix(telegram): support free-response topics 2026-07-16 04:53:08 -07:00
test_telegram_init_deadline.py fix(telegram): diagnose blocked-loop init hangs, unbind DoH from system DNS 2026-07-14 17:09:50 +05:30
test_telegram_max_doc_bytes.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_telegram_mention_boundaries.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_telegram_model_picker.py fix(telegram): paginate model provider picker 2026-07-04 13:48:33 +05:30
test_telegram_network.py fix(ci): make tests, workflows, and attribution reliable under load (#66373) 2026-07-17 20:55:24 +00:00
test_telegram_network_reconnect.py fix(telegram): add cause-agnostic wedged-recovery watchdog so the reconnect ladder can't freeze silently (#66377) 2026-07-18 21:31:15 -04:00
test_telegram_noise_filter.py fix(gateway): drop interrupt sentinel before chat delivery (#7921) 2026-07-06 03:53:52 -07:00
test_telegram_overflow_partial.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_telegram_pending_update_probe.py fix(telegram): recover when polling updater stops while process stays alive 2026-06-30 15:36:58 -07:00
test_telegram_photo_interrupts.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_telegram_polling_progress.py fix(telegram): gate polling health on getUpdates progress 2026-07-14 17:32:41 +05:30
test_telegram_progress_edit_transient.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_telegram_prune_stale_topic_binding_31501.py fix(telegram): disable DM topic mode when last binding is pruned 2026-06-22 12:29:05 -07:00
test_telegram_reactions.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_telegram_reply_mode.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_telegram_reply_quote.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_telegram_rich_messages.py fix(telegram): respect rich_messages config for pipe table routing 2026-07-14 06:48:53 -07:00
test_telegram_rich_newlines.py fix(telegram): exempt tables from rich newline hard-breaks 2026-06-21 08:26:28 -07:00
test_telegram_send_draft_format.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_telegram_send_path_health.py fix(telegram): gate polling health on getUpdates progress 2026-07-14 17:32:41 +05:30
test_telegram_slash_confirm.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_telegram_start_polling_timeout.py fix(telegram): bound start_polling() at bootstrap and conflict-retry sites too; strengthen tests 2026-07-07 15:50:41 +05:30
test_telegram_status_indicator.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_telegram_status_update.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_telegram_text_batch_perf.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_telegram_text_batching.py fix(telegram): cancel delayed deliveries on disconnect 2026-06-30 17:39:30 -07:00
test_telegram_thread_fallback.py fix telegram explicit private thread routing 2026-07-06 03:18:33 -07:00
test_telegram_topic_mode.py test(gateway): pin random tip in topic-mode /new test to kill 1-in-380 flake (#59380) 2026-07-05 21:57:55 -07:00
test_telegram_typing_backoff.py fix: cool down transient Telegram typing failures (#46355) 2026-07-07 02:39:31 -07:00
test_telegram_username_chat_id.py fix(telegram): accept @username chat_id in delivery paths (#13206) 2026-06-27 04:01:58 -07:00
test_telegram_voice_duration.py fix(telegram): include duration in standalone sends 2026-07-16 04:40:35 -07:00
test_telegram_voice_v0_regressions.py test(gateway): use compression helper in voice regression 2026-07-19 07:27:29 +05:30
test_telegram_webhook_secret.py test: retarget source-path refs to migrated plugin paths 2026-06-20 10:26:45 -07:00
test_text_batching.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_title_command.py fix(gateway): offload the Telegram topic-recovery helper tree off the loop 2026-06-29 15:51:57 -07:00
test_tool_log_mode.py feat(gateway): add 'log' option to display.tool_progress 2026-07-02 05:09:38 -07:00
test_tool_response_drop_recovery.py test(gateway): update stale expectation — #31884 surfaces retry hint for uninterrupted zero-call drops 2026-07-06 03:42:14 -07:00
test_transcript_offset.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_tts_media_routing.py fix(telegram): preserve Bot API update queue on watcher reconnect 2026-06-25 21:29:57 -07:00
test_tui_approval_redaction.py fix(approval): scope smart deny owner overrides to one operation 2026-07-13 04:31:55 -07:00
test_typing_indicator_toggle.py feat(gateway): per-platform typing_indicator toggle 2026-06-29 21:12:57 -07:00
test_unauthorized_dm_behavior.py test(whatsapp): cover LID allowlist match on modern session layout 2026-06-28 02:05:26 -07:00
test_unavailable_skill_hint.py fix(gateway): match disabled/optional skills by frontmatter slug, not dir name (#18753) 2026-05-02 02:00:09 -07:00
test_undo_rewind_session.py feat(gateway): bring /undo [N] to messaging platforms (parity with CLI/TUI) (#36699) 2026-06-01 02:04:14 -07:00
test_unknown_command.py Revert "Merge pull request #30179 from NousResearch/feat/iron-proxy" 2026-07-04 13:38:59 -07:00
test_update_command.py fix(tests): mock subprocess.Popen in all _handle_update_command tests 2026-06-12 13:42:42 -04:00
test_update_cron_drain.py fix(gateway,cron): reconcile #60612 + #60631 onto one drain surface 2026-07-07 22:15:04 -07:00
test_update_streaming.py fix(gateway): keep pending /update completion notifications until the target platform reconnects 2026-06-04 06:56:28 -07:00
test_usage_command.py feat(codex): redeem banked usage-limit resets via /usage reset (#64280) 2026-07-14 03:23:19 -07:00
test_verbose_command.py chore: limit generic status phrases to long-running notifications 2026-07-05 06:29:26 -07:00
test_version_command.py Include git SHA in /version output via banner label helper. 2026-06-05 18:05:05 -07:00
test_video_context_note.py fix(slack): make video attachments available to agents (#45512) 2026-06-13 03:33:27 -07:00
test_vision_memory_leak.py
test_voice_command.py fix(gateway): fail-closed external-surface defaults + profile-aware multiplex authz 2026-07-01 03:56:28 -07:00
test_voice_mode_platform_isolation.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_weak_credential_guard.py fix(security): close hermes-0day MCP-persistence attack surface 2026-06-21 19:05:27 -07:00
test_webhook_adapter.py test(webhook): cover the Svix v1 branch in the non-ASCII signature regression 2026-07-16 07:22:24 -07:00
test_webhook_deliver_only.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_webhook_dynamic_routes.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_webhook_integration.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_webhook_session_close.py fix(webhook): close per-delivery session at the true end of the run (#57423) 2026-07-02 17:39:09 -07:00
test_webhook_signature_rate_limit.py
test_wecom.py fix(gateway): fail-closed external-surface defaults + profile-aware multiplex authz 2026-07-01 03:56:28 -07:00
test_wecom_callback.py fix(security): cap WeCom callback body size before pre-auth XML parse (#54615) 2026-06-28 22:35:43 -07:00
test_weixin.py fix(weixin): add rate-limit circuit breaker 2026-06-07 22:10:17 -07:00
test_weixin_typing.py fix(weixin): refresh typing ticket on expiry to prevent stuck indicator (#38085) 2026-06-07 21:50:57 -07:00
test_whatsapp_allowlist_lid_resolution.py fix(gateway): fail-closed external-surface defaults + profile-aware multiplex authz 2026-07-01 03:56:28 -07:00
test_whatsapp_bridge_dir_resolution.py test(whatsapp): cover read-only bridge dir mirror; add author map 2026-06-20 17:05:27 -07:00
test_whatsapp_bridge_pidfile.py test(whatsapp): fix port-spares-client test race (listen before announce + retry connect) 2026-06-21 17:23:33 -07:00
test_whatsapp_cloud.py fix(security): widen non-ASCII compare_digest crash fix to all sibling sites 2026-07-16 07:22:24 -07:00
test_whatsapp_cloud_allowed_users.py test(whatsapp_cloud): intake-gate regression coverage for documented env vars 2026-07-05 00:41:34 -07:00
test_whatsapp_connect.py fix(whatsapp): add missing re import + fix test import path after adapter relocation 2026-06-21 17:23:33 -07:00
test_whatsapp_formatting.py fix(whatsapp): gate poll-vote events to Hermes-created polls + salvage follow-ups 2026-07-05 06:27:20 -07:00
test_whatsapp_from_owner.py fix(gateway): repair sibling tests + harden _adapter_for_source after fail-closed flip 2026-07-01 03:56:28 -07:00
test_whatsapp_group_gating.py fix(gateway): fail-closed external-surface defaults + profile-aware multiplex authz 2026-07-01 03:56:28 -07:00
test_whatsapp_identity.py fix(whatsapp): resolve LID aliases on modern platforms/ session layout 2026-06-28 02:05:26 -07:00
test_whatsapp_media_path_profile.py fix(profile): resolve WhatsApp media-path cache roots per-call 2026-06-30 15:30:06 -07:00
test_whatsapp_native_delivery.py feat(whatsapp): native Baileys polls, clarify-as-poll, locations, and rich inbound metadata 2026-07-05 06:27:20 -07:00
test_whatsapp_reply_prefix.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_whatsapp_stale_bridge.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_whatsapp_text_batching.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_whatsapp_to_jid.py fix(whatsapp): normalize bare phone targets to JIDs before bridge send 2026-06-21 13:32:22 -07:00
test_ws_auth_retry.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_yolo_command.py
test_yuanbao_media_ssrf.py fix(security): SSRF guard yuanbao media download_url (#54470) 2026-06-28 15:29:59 -07:00