hermes-bsd/tests
Roy-oss1 b94cb8e2c4 feat(feishu): operator-configurable bot admission and mention policy
Add two operator-facing toggles for inbound Feishu admission, enabling
bot-to-bot scenarios such as A2A orchestration and inter-bot
notifications:

  FEISHU_ALLOW_BOTS=none|mentions|all   (default: none)
    Accept messages from other bots. `mentions` requires the peer
    bot to @-mention Hermes; `all` admits every peer-bot message.

  FEISHU_REQUIRE_MENTION=true|false     (default: true)
    Whether group messages must @-mention the bot. Override per-chat
    via `group_rules.<chat_id>.require_mention` in config.yaml.

Defaults preserve prior behavior. Self-echo protection is always on:
when the bot's identity is unresolved (auto-detection failed and
FEISHU_BOT_OPEN_ID unset), peer-bot messages are rejected fail-closed
to avoid feedback loops.

Admitted peer bots bypass the human-user allowlist
(FEISHU_ALLOWED_USERS) to match existing Discord behavior; humans
still need an explicit allowlist entry. yaml feishu.allow_bots is
bridged to the env var so the adapter and gateway auth layer share
one source of truth.

Resolving peer-bot display names requires the
application:bot.basic_info:read scope; without it, peers still route
but appear as their open_id.

Test: tests/gateway/test_feishu_bot_admission.py covers the admission
pipeline, group-policy bot-bypass, hydration, and event-dispatch
plumbing as a parametrized matrix.

Change-Id: I363cccb578c2a5c8b8bf0f0a890c01c89909e256
2026-04-30 20:30:31 -07:00
..
acp test(acp): accept prompt persistence kwargs in mocks 2026-04-30 10:47:23 -07:00
acp_adapter fix(acp): advertise and forward image prompts 2026-04-30 10:31:16 -07:00
agent fix(fallback): let custom_providers shadow built-in aliases 2026-04-30 20:18:44 -07:00
cli fix(cli): surface self-improvement review summaries from bg thread 2026-04-30 14:07:22 -07:00
cron
e2e
environments/benchmarks
fakes
gateway feat(feishu): operator-configurable bot admission and mention policy 2026-04-30 20:30:31 -07:00
hermes_cli fix(fallback): let custom_providers shadow built-in aliases 2026-04-30 20:18:44 -07:00
hermes_state
honcho_plugin
integration
openviking_plugin
plugins feat(kanban): durable multi-profile collaboration board (#17805) 2026-04-30 13:36:47 -07:00
run_agent fix(agent): sanitize Codex tool-call history summaries 2026-04-30 19:58:46 -07:00
skills
stress feat(kanban): durable multi-profile collaboration board (#17805) 2026-04-30 13:36:47 -07:00
tools fix(session_search): order recent mode by last activity instead of start time 2026-04-30 20:17:15 -07:00
tui_gateway fix(plugins): await async handlers in CLI and TUI dispatch 2026-04-30 19:56:18 -07:00
website
__init__.py
conftest.py
run_interrupt_test.py
test_account_usage.py
test_atomic_replace_symlinks.py
test_base_url_hostname.py
test_batch_runner_checkpoint.py
test_cli_file_drop.py
test_cli_manual_compress.py
test_cli_skin_integration.py
test_ctx_halving_fix.py
test_empty_model_fallback.py
test_evidence_store.py
test_get_tool_definitions_cache_isolation.py fix(tools): isolate get_tool_definitions quiet_mode cache + dedup LCM injection (#17335) 2026-04-30 04:32:06 -07:00
test_hermes_constants.py
test_hermes_logging.py
test_hermes_state.py fix(state): JSON-encode multimodal message content for sqlite 2026-04-30 20:25:52 -07:00
test_honcho_client_config.py
test_install_sh_setup_wizard_tty_probe.py
test_ipv4_preference.py
test_mcp_serve.py
test_mini_swe_runner.py
test_minimax_model_validation.py
test_minimax_oauth.py
test_minisweagent_path.py
test_model_picker_scroll.py
test_model_tools.py
test_model_tools_async_bridge.py
test_ollama_num_ctx.py
test_packaging_metadata.py
test_plugin_skills.py
test_project_metadata.py
test_retry_utils.py
test_sql_injection.py
test_subprocess_home_isolation.py
test_timezone.py
test_toolset_distributions.py
test_toolsets.py
test_trajectory_compressor.py
test_trajectory_compressor_async.py
test_transform_tool_result_hook.py
test_tui_gateway_server.py fix(tui): always call input.detect_drop for reliable image attachment 2026-04-30 20:25:52 -07:00
test_utils_truthy_values.py
test_yuanbao_integration.py
test_yuanbao_markdown.py
test_yuanbao_pipeline.py
test_yuanbao_proto.py