hermes-agent/tests/gateway
Erosika 827ce602db fix(honcho): harden self-hosted setup paths
Self-hosted Honcho setup had four sharp edges:

- local/cloud URLs ending in /vN double-prefixed by the SDK (/v3/v3/... 404)
- authenticated local servers had no setup prompt for a JWT/bearer token
- profile-derived host keys could be dot-containing workspace IDs Honcho rejects
- memory-provider config files with API keys written world-readable per umask

This keeps existing behavior but makes those paths safer:

- strip a trailing /vN version segment from any configured baseUrl before SDK
  init (the SDK's route builders always prepend their own version prefix);
  auth-skipping stays loopback-only
- add an optional local JWT/bearer prompt in honcho setup, stored under
  hosts.<host>.apiKey
- derive new profile host keys with underscores, still reading legacy
  hermes.<profile> blocks
- write memory-provider config files atomically with 0600 via a shared
  utils.atomic_json_write(mode=) arg (honcho/hindsight/mem0/supermemory)
- skip honcho.json parsing in gateway cache-busting unless Honcho is the active
  memory provider; memoize by honcho.json mtime when active
- bust the gateway agent cache on memory.provider change
- add a hermes memory setup <provider> one-liner so fresh installs can configure
  a named provider without the picker (the per-provider hermes <provider>
  subcommand only registers once that provider is active)

Closes #20688, #29885, #26459, #30246, #33382, #32244.

Co-authored-by: BROCCOLO1D
2026-05-29 22:29:48 -07:00
..
platforms feat(state.db): persist platform_message_id; restore yuanbao exact-id recall 2026-05-20 13:00:57 -07:00
__init__.py
_plugin_adapter_loader.py
conftest.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
feishu_helpers.py
restart_test_helpers.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_7100_transient_failure_transcript.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_active_session_text_merge.py gateway: debounce queued text follow-ups 2026-05-24 01:31:45 -07:00
test_agent_cache.py fix(honcho): harden self-hosted setup paths 2026-05-29 22:29:48 -07:00
test_allowed_channels_widening.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -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 chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_api_server_bind_guard.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_api_server_jobs.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_api_server_multimodal.py
test_api_server_normalize.py
test_api_server_runs.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_api_server_toolset.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_approve_deny_commands.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_auth_fallback.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_auto_continue.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_background_command.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26: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 gateway: debounce queued text follow-ups 2026-05-24 01:31:45 -07:00
test_bluebubbles.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
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 chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -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_cancel_background_drain.py
test_channel_directory.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_clean_shutdown_marker.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_command_bypass_active_session.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_complete_path_at_filter.py
test_compress_command.py fix(compress): abort instead of dropping messages when summary LLM fails (#28102) 2026-05-18 10:19:40 -07:00
test_compress_focus.py
test_compress_plugin_engine.py
test_compression_session_id_persistence.py test+polish(compression): pin anti-thrash gate and gateway session_id persistence 2026-05-25 01:44:46 -07:00
test_config.py Revert "feat(telegram): support quick-command-only menus" 2026-05-18 23:59:57 -07:00
test_config_cwd_bridge.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_config_driven_access_policy.py fix(gateway): trust adapter-owned access policy over env default-deny (#34515) 2026-05-29 04:22:41 -07:00
test_config_env_bridge_authority.py gateway: debounce queued text follow-ups 2026-05-24 01:31:45 -07:00
test_debug_command.py
test_delivery.py fix: refresh stale Telegram DM topic threads 2026-05-25 14:54:02 -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
test_dingtalk.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -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_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 chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_discord_bot_filter.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_discord_channel_controls.py refactor(gateway): migrate Discord adapter to bundled plugin (full Teams parity) 2026-05-22 14:21:41 -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 chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_discord_component_auth.py refactor(gateway): migrate Discord adapter to bundled plugin (full Teams parity) 2026-05-22 14:21:41 -07:00
test_discord_connect.py refactor(gateway): migrate Discord adapter to bundled plugin (full Teams parity) 2026-05-22 14:21:41 -07:00
test_discord_document_handling.py refactor(gateway): migrate Discord adapter to bundled plugin (full Teams parity) 2026-05-22 14:21:41 -07:00
test_discord_free_response.py fix(discord): skip backfill for auto-created threads and update test fakes 2026-05-28 04:52:02 -07:00
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_media_metadata.py refactor(gateway): migrate Discord adapter to bundled plugin (full Teams parity) 2026-05-22 14:21:41 -07:00
test_discord_model_picker.py refactor(gateway): migrate Discord adapter to bundled plugin (full Teams parity) 2026-05-22 14:21:41 -07:00
test_discord_opus.py fix(discord): recover Windows voice opus decoding 2026-05-27 03:35:33 -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 chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -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 refactor(gateway): migrate Discord adapter to bundled plugin (full Teams parity) 2026-05-22 14:21:41 -07:00
test_discord_slash_commands.py fix(discord): skip backfill for auto-created threads and update test fakes 2026-05-28 04:52:02 -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_display_config.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_dm_topics.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_document_cache.py
test_duplicate_reply_suppression.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_email.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_ephemeral_reply.py
test_extract_local_files.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_fallback_eviction.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_fast_command.py test(fast-command): stub _load_gateway_runtime_config too 2026-05-23 02:40:33 -07:00
test_feishu.py fix(feishu): bound _chat_locks with LRU eviction (#34836) 2026-05-29 13:18:15 -07:00
test_feishu_approval_buttons.py fix(tests): align CI tests with recent security hardening (#31470) 2026-05-24 06:54:16 -07:00
test_feishu_bot_admission.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_feishu_bot_auth_bypass.py
test_feishu_comment.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_feishu_comment_rules.py
test_feishu_onboard.py
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_help.py fix: ignore Telegram start pings 2026-05-27 02:41:24 -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_shutdown.py
test_goal_max_turns_config.py
test_goal_status_notice.py
test_goal_verdict_send.py
test_google_chat.py fix(google_chat): harden oauth credential persistence with atomic private writes (#24788) 2026-05-24 17:58:52 -07:00
test_home_target_env_var.py
test_homeassistant.py
test_hooks.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_insights_unicode_flags.py
test_internal_event_bypass_pairing.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_interrupt_key_match.py gateway: debounce queued text follow-ups 2026-05-24 01:31:45 -07:00
test_irc_adapter.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_kanban_notifier.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_keep_typing_timeout.py
test_line_plugin.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -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 chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_matrix_approval_reaction_fail_closed.py fix(matrix): fail-closed approval reaction auth when MATRIX_ALLOWED_USERS is empty 2026-05-29 03:58:45 -07:00
test_matrix_exec_approval.py
test_matrix_mention.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_matrix_voice.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_mattermost.py refactor(gateway): migrate Mattermost adapter to bundled plugin 2026-05-24 18:05:33 -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 chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_media_extraction.py fix(gateway): scope tool-result MEDIA scan to current turn 2026-05-29 13:13:34 -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 chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_mirror.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_model_command_custom_providers.py
test_model_command_flat_string_config.py fix(gateway): coerce scalar model: to dict before /model --global persist (#32272) 2026-05-25 15:22:23 -07:00
test_model_switch_persistence.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_msgraph_webhook.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_native_image_buffer_isolation.py
test_notice_delivery.py
test_ntfy_plugin.py test(ntfy): cover echo-tag filter; tag standalone send path 2026-05-29 13:17:46 -07:00
test_pairing.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_pending_drain_no_recursion.py
test_pending_drain_race.py
test_pending_event_none.py
test_pii_redaction.py
test_planned_stop_watcher.py fix(gateway): only fire planned-stop watcher for self-targeting markers + fix Windows consume (#34749) 2026-05-29 17:36:58 +00:00
test_platform_base.py fix(gateway): unify MEDIA: extraction extension set + close the unknown-ext black hole (#34517) (#34844) 2026-05-29 13:24:01 -07:00
test_platform_connected_checkers.py Harden msgraph webhook auth requirements (#30169) 2026-05-24 04:25:20 -07:00
test_platform_http_client_limits.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_platform_reconnect.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -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
test_post_delivery_callback_chaining.py
test_pre_gateway_dispatch.py
test_proxy_mode.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_qqbot.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_queue_consumption.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_reasoning_command.py
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 chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_reply_to_injection.py
test_restart_drain.py gateway: debounce queued text follow-ups 2026-05-24 01:31:45 -07:00
test_restart_notification.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_restart_redelivery_dedup.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_restart_resume_pending.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_resume_command.py test(cli,gateway): cover bracket-stripping and gateway session-ID lookup 2026-05-25 01:33:32 -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): keep Telegram heartbeat + interim commentary on; edit heartbeat in place (#33187) 2026-05-27 05:21:53 -07:00
test_run_progress_interrupt.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_run_progress_topics.py fix(gateway): keep Telegram heartbeat + interim commentary on; edit heartbeat in place (#33187) 2026-05-27 05:21:53 -07:00
test_runner_fatal_adapter.py fix(gateway): keep running when platforms fail; add per-platform circuit breaker + /platform (#26600) 2026-05-15 14:32:14 -07:00
test_runner_startup_failures.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_running_agent_session_toggles.py
test_runtime_config_env_expansion.py fix(gateway): enforce env variable template expansion on runtime config loaders 2026-05-23 02:27:08 -07:00
test_runtime_env_reload_config_authority.py
test_runtime_footer.py
test_safe_adapter_disconnect.py
test_send_image_file.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_send_multiple_images.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_send_retry.py
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 test(gateway): pin DEFAULT_DB_PATH in fixtures to prevent real state.db writes 2026-05-20 13:00:57 -07:00
test_session_api.py fix(api_server): emit per-turn transcript on run.completed (#34703) (#34804) 2026-05-29 12:27:49 -07:00
test_session_boundary_hooks.py chore: ruff auto-fix PLR6201 resweep — tuple → set in membership tests (#27355) 2026-05-17 02:29:41 -07:00
test_session_boundary_security_state.py
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
test_session_hygiene.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_session_info.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_session_list_allowed_sources.py
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_race_guard.py fix: ignore Telegram start pings 2026-05-27 02:41:24 -07:00
test_session_reset_notify.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_session_split_brain_11016.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_session_state_cleanup.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_session_store_prune.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_setup_feishu.py
test_shared_group_sender_prefix.py
test_shutdown_cache_cleanup.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_shutdown_forensics.py
test_shutdown_memory_provider_messages.py
test_signal.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_signal_format.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
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 chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_slack.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_slack_approval_buttons.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_slack_channel_skills.py
test_slack_mention.py
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 chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_sms.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_sse_agent_cancel.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_ssl_certs.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_status.py fix(gateway): only fire planned-stop watcher for self-targeting markers + fix Windows consume (#34749) 2026-05-29 17:36:58 +00:00
test_status_command.py fix(gateway): name what the /status token number actually is 2026-05-29 19:14:37 -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_stream_consumer.py fix(stream-consumer): only set _final_content_delivered when final response confirmed delivered 2026-05-28 03:15:19 -07:00
test_stream_consumer_draft.py fix(telegram): default streaming transport to edit 2026-05-18 21:51:39 -07:00
test_stream_consumer_fresh_final.py
test_stream_consumer_thread_routing.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_stt_config.py feat(telegram): skip-STT audio path + 2GB cap via local Bot API server 2026-05-18 22:59:40 -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): regression tests for #30170 subagent interrupt protection 2026-05-25 16:23:24 +00:00
test_teams.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_teams_pipeline_runtime_wiring.py
test_telegram_approval_buttons.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_telegram_audio_vs_voice.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_telegram_callback_auth_fail_closed.py fix(telegram): fail-closed auth fallback when TELEGRAM_ALLOWED_USERS is empty 2026-05-18 22:08:08 -07:00
test_telegram_caption_merge.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_telegram_channel_posts.py test+release: stub auth in channel_posts fixture; map @brndnsvr 2026-05-18 22:51:35 -07:00
test_telegram_clarify_buttons.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_telegram_conflict.py fix(test+release): update conflict retry count for MAX=5; map @CryptoByz 2026-05-18 22:01:31 -07:00
test_telegram_documents.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_telegram_format.py fix(telegram): tighten table row-group spacing and drop redundant first bullet 2026-05-25 23:16:00 -07:00
test_telegram_forum_commands.py test+release: fix test fixture for forum_commands; map @chromalinx 2026-05-18 22:34:48 -07:00
test_telegram_group_gating.py fix(telegram): preserve observed group slash commands 2026-05-23 16:26:28 -07:00
test_telegram_max_doc_bytes.py feat(telegram): skip-STT audio path + 2GB cap via local Bot API server 2026-05-18 22:59:40 -07:00
test_telegram_mention_boundaries.py
test_telegram_model_picker.py fix(telegram): restore model-switch success path + author map 2026-05-14 07:47:52 -07:00
test_telegram_network.py test+release: align stale sticky-IP test for #24511; map @falconexe 2026-05-18 22:14:45 -07:00
test_telegram_network_reconnect.py
test_telegram_noise_filter.py fix(gateway): hide telegram compaction status noise 2026-05-27 02:41:24 -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_progress_edit_transient.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_telegram_reactions.py
test_telegram_reply_mode.py fix(telegram): respect reply_to_mode for DM topic reply fallback 2026-05-18 21:52:39 -07:00
test_telegram_reply_quote.py
test_telegram_send_path_health.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_telegram_slash_confirm.py fix(telegram): escape send_slash_confirm preview with format_message 2026-05-18 22:28:21 -07:00
test_telegram_status_update.py feat(telegram): edit status messages in place instead of appending (#30864) 2026-05-23 02:42:10 -07:00
test_telegram_text_batch_perf.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_telegram_text_batching.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_telegram_thread_fallback.py test(telegram): switch transient-flake retry test to group chat 2026-05-25 14:54:02 -07:00
test_telegram_topic_mode.py fix(gateway): keep Telegram topic bindings aligned with compression children (#34409) 2026-05-28 23:25:52 -07:00
test_telegram_webhook_secret.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_text_batching.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_title_command.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -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 chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_unauthorized_dm_behavior.py fix(gateway): allow chat-scoped telegram auth without sender user_id 2026-05-18 22:43:14 -07:00
test_unavailable_skill_hint.py
test_unknown_command.py
test_update_command.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_update_streaming.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_usage_command.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_verbose_command.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_vision_memory_leak.py
test_voice_command.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -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
test_webhook_adapter.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -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_signature_rate_limit.py
test_wecom.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_wecom_callback.py fix(wecom-callback): retry send with fresh token on errcode 40001/42001 2026-05-24 01:30:47 -07:00
test_weixin.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_whatsapp_connect.py fix(gateway): keep running when platforms fail; add per-platform circuit breaker + /platform (#26600) 2026-05-15 14:32:14 -07:00
test_whatsapp_formatting.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_whatsapp_group_gating.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_whatsapp_reply_prefix.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_ws_auth_retry.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_yolo_command.py