Skip to content

docs+feat(teams): sidebar + threading with group-chat fallback - #20042

Merged
teknium1 merged 7 commits into
mainfrom
hermes/hermes-ae9500e5
May 5, 2026
Merged

docs+feat(teams): sidebar + threading with group-chat fallback#20042
teknium1 merged 7 commits into
mainfrom
hermes/hermes-ae9500e5

Conversation

@teknium1

@teknium1 teknium1 commented May 5, 2026

Copy link
Copy Markdown
Contributor

Salvage of #18239 by @heyitsaamir onto current main, plus a tiny follow-up commit.

Summary

Adds Microsoft Teams to the docs sidebar and all platform lists, implements message threading via App.reply() with a 400-fallback to flat send for group chats, and fixes a test-mock wiring bug on Python <3.12.

Changes

  • plugins/platforms/teams/adapter.py: wrap app.reply(chat_id, reply_to, chunk) in try/except; fall back to app.send() on failure (group chats 400 on threaded sends). Log the fallback at debug so real failures (auth, chat gone) still leave a trace.
  • tests/gateway/test_teams.py: repair TypingActivityInput mock wiring when the Teams SDK import fails on Python <3.12.
  • website/sidebars.ts: Teams entry in Messaging Platforms.
  • website/docs/user-guide/messaging/index.md: platform-comparison table (images ✅, threads ✅, typing ✅), architecture flowchart, toolsets table, TEAMS_ALLOWED_USERS example, Next Steps link. Also fixes flowchart indentation for the new entry.
  • Seven other docs pages: quickstart, updating, index, integrations, slash-commands, hooks, sessions, autonomous-ai-agents skill — Teams added to platform lists.

Validation

Result
scripts/run_tests.sh tests/gateway/test_teams.py 35/35 passed

Credits #18239@heyitsaamir's commits preserved via cherry-pick; one follow-up commit from us narrows the exception-swallowing behavior.

Aamir Jawaid and others added 7 commits May 4, 2026 20:52
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Update all platform enumeration lists to include Teams:
index.md, quickstart.md, integrations/index.md, sessions.md,
slash-commands.md, updating.md, hooks.md, hermes-agent skill.

Skipped PII redaction docs — Teams uses AAD object IDs, not
phone numbers, so redaction doesn't apply there.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Add to platform description and intro paragraph
- Add row to platform comparison table (images + typing)
- Add node to architecture mermaid diagram
- Add TEAMS_ALLOWED_USERS to security examples
- Add to platform-specific toolsets table
- Add to Next Steps links

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Wire reply_to into send() using App.reply(conv_id, msg_id, content)
which constructs the threaded conversation ID internally.
Threads supported in channels and group chats.

Update comparison table: Threads ✅

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Group chats return 400 for threaded sends. Catch the error and
fall back to a flat send so messages always get delivered.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
The SDK requires Python >=3.12 so CI (3.11) falls to the except
ImportError branch, leaving TypingActivityInput=None. After loading
the adapter module, explicitly restore it from the mock so
test_send_typing doesn't silently no-op.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
The previous bare except swallowed every exception from app.reply()
silently. Log at debug so real failures (auth, chat gone) leave a
trace while keeping the group-chat 400 fallback working. Also fix
the Teams entry's indentation in the messaging flowchart.
@teknium1
teknium1 merged commit 601e5f1 into main May 5, 2026
7 of 11 checks passed
@teknium1
teknium1 deleted the hermes/hermes-ae9500e5 branch May 5, 2026 03:59
@alt-glitch alt-glitch added type/docs Documentation improvements P3 Low — cosmetic, nice to have comp/gateway Gateway runner, session dispatch, delivery labels May 5, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

comp/gateway Gateway runner, session dispatch, delivery P3 Low — cosmetic, nice to have type/docs Documentation improvements

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants