Files
hermes-agent/plugins
teknium1 0ecf2d2ff1 fix(teams): match the bot's 28: wire id, keep extras on the instance, trim to two invariant tests
Follow-up to the salvaged #113591 gate:

- Teams writes the bot's conversation identity as `28:<app id>` (activity.recipient.id,
  mention entities) while App.id is the bare app id. The mention match and the own-message
  filter now accept both spellings, so a real tenant mention no longer fails silently.
- A payload that mentions only other people is no longer treated as a bot mention; the
  `<at>` text fallback applies only when the activity carries no mention entities at all.
- `self._extra` holds `platforms.teams.extra` on the instance so keys read after
  construction (require_mention today) are not dropped with a constructor local (#114366).
- Reply exemption uses one bounded deque instead of deque + mirror set.
- Tests trimmed to two invariants: gate table (drop before attachment download / keep
  mention, reply-to-bot, personal) and env-over-YAML precedence. TEAMS_REQUIRE_MENTION
  documented in plugin.yaml and the Teams docs page.

Co-authored-by: Kevin Rajan <7121943+kvnloo@users.noreply.github.com>
Co-authored-by: finn763 <165816600+finn763@users.noreply.github.com>
Co-authored-by: Fernando Muñoz Suazo <fernandrewm@gmail.com>
2026-09-18 09:55:55 -07:00
..