Skip to content

feat(teams): add native Teams bridge and message actions - #153

Merged
patroza merged 4 commits into
fork/discordfrom
port/chat-platform-adapter-plan
Jul 28, 2026
Merged

feat(teams): add native Teams bridge and message actions#153
patroza merged 4 commits into
fork/discordfrom
port/chat-platform-adapter-plan

Conversation

@patroza

@patroza patroza commented Jul 28, 2026

Copy link
Copy Markdown
Owner

Summary

  • port the remaining Teams work from the legacy private repository:
  • add a transport-neutral T3 start/continue path shared by Discord and Teams
  • add a Discord-free Teams SDK entrypoint with authenticated native message handling
  • deliver final T3 answers back to Teams and support stop, approve <request-id>, and deny <request-id>
  • implement the Start T3 investigation message action for triggering T3 from a selected message without installing the conversational bot in that conversation
  • support native, t3-only, and legacy discord Graph-poller delivery modes
  • add the Teams app manifest template, environment configuration, tests, and step-by-step deployment guide

Operating modes

Mode Discord required Bot participant required Result delivery
Native Teams replacement No Yes Final answer in Teams
Teams message action No No Private confirmation; follow in T3 Code
Graph polling / t3-only No No T3 Code + optional workflow webhook acknowledgement
Graph polling / discord Yes No Discord compatibility bridge

Provenance

Source Ported behavior
pvt#30 Chat-platform adapter plan
pvt#1 Teams Graph intake, history, images, trigger modes, channel mapping
pvt#6 Message-action requirements, now implemented

Adapted locally

  • rebased onto the current fork/discord overlay and current link-store schema
  • replaced Discord-only orchestration with startOrContinueT3Turn
  • updated the Teams integration to the current @microsoft/teams.apps SDK
  • made DISCORD_BOT_TOKEN optional for the Teams-only entrypoint
  • retained all Teams features behind explicit TEAMS_* flags

Validation

  • vp test run apps/discord-bot/src/features/TeamsNativeApp.test.ts apps/discord-bot/src/config.test.ts apps/discord-bot/src/teams/config.test.ts apps/discord-bot/src/teams/presentation.test.ts apps/discord-bot/src/store/ThreadLinkStore.test.ts ✅ (33 tests)
  • vp run --filter @t3tools/discord-bot typecheck
  • vp check ✅ (existing warnings only)
  • ELECTRON_SKIP_BINARY_DOWNLOAD=1 vp run -r --cache --log labeled typecheck

Deployment

See docs/integrations/microsoft-teams-discord-bot.md for tenant registration, app packaging, channel mapping, Teams-only startup, message-action rollout, Graph permissions, and production checks.

@patroza
patroza force-pushed the fork/discord branch 2 times, most recently from e1fe9f9 to f15a095 Compare July 28, 2026 14:17
@patroza

patroza commented Jul 28, 2026

Copy link
Copy Markdown
Owner Author

@omegent rebase and then also include other teams pr from legacy repo

patroza and others added 2 commits July 28, 2026 16:38
Rebase the chat-platform adapter plan onto current fork/discord and fold in
the other Teams work from the legacy private repo:

- aaaomega/t3code-pvt#1 — Graph-based Teams intake (poll → Discord/T3)
- aaaomega/t3code-pvt#6 — Teams message-action planning doc

Wire optional TEAMS_* config, sourceKind/sourceThreadId link keys, shared
LinkedTurnRouter start/continue helper, and docs cross-links. Teams stays
off unless TEAMS_ENABLED=1.
@omegent-app
omegent-app Bot force-pushed the port/chat-platform-adapter-plan branch from d6a9294 to 4ba40a7 Compare July 28, 2026 16:43
@omegent-app

omegent-app Bot commented Jul 28, 2026

Copy link
Copy Markdown

Rebase + legacy Teams PRs

Done on port/chat-platform-adapter-plan (force-pushed; now 2 commits cleanly atop current fork/discord):

  1. Rebased onto latest fork/discord (dropped rewritten overlay history noise).
  2. Included other Teams PRs from aaaomega/t3code-pvt:

Checks

  • Teams/config unit tests green
  • apps/discord-bot typecheck green

PR description updated with provenance.

@omegent-app

omegent-app Bot commented Jul 28, 2026

Copy link
Copy Markdown

Wiring Teams config, ThreadLinkStore, LinkedTurnRouter, and main.

grok-4.5 · effort high · 7m 40s

@patroza patroza changed the title Plan Teams and Slack chat-platform support feat(teams): add native Teams bridge and message actions Jul 28, 2026
@patroza
patroza marked this pull request as ready for review July 28, 2026 21:02
@patroza
patroza merged commit 4ad4279 into fork/discord Jul 28, 2026
3 checks passed
patroza added a commit that referenced this pull request Jul 28, 2026
* Add multi-platform chat adapter plan

* feat(discord-bot): port Teams intake module + message-action plan

Rebase the chat-platform adapter plan onto current fork/discord and fold in
the other Teams work from the legacy private repo:

- aaaomega/t3code-pvt#1 — Graph-based Teams intake (poll → Discord/T3)
- aaaomega/t3code-pvt#6 — Teams message-action planning doc

Wire optional TEAMS_* config, sourceKind/sourceThreadId link keys, shared
LinkedTurnRouter start/continue helper, and docs cross-links. Teams stays
off unless TEAMS_ENABLED=1.

* feat(teams): add native Discord-free T3 bridge

* feat(teams): surface pending T3 interactions

---------

Co-authored-by: t3 agent <patroza@users.noreply.github.com>
Co-authored-by: omegent-app[bot] <306514130+omegent-app[bot]@users.noreply.github.com>
Co-authored-by: T3 Code PR Stack <41898282+github-actions[bot]@users.noreply.github.com>
patroza added a commit that referenced this pull request Jul 28, 2026
* Add multi-platform chat adapter plan

* feat(discord-bot): port Teams intake module + message-action plan

Rebase the chat-platform adapter plan onto current fork/discord and fold in
the other Teams work from the legacy private repo:

- aaaomega/t3code-pvt#1 — Graph-based Teams intake (poll → Discord/T3)
- aaaomega/t3code-pvt#6 — Teams message-action planning doc

Wire optional TEAMS_* config, sourceKind/sourceThreadId link keys, shared
LinkedTurnRouter start/continue helper, and docs cross-links. Teams stays
off unless TEAMS_ENABLED=1.

* feat(teams): add native Discord-free T3 bridge

* feat(teams): surface pending T3 interactions

---------

Co-authored-by: t3 agent <patroza@users.noreply.github.com>
Co-authored-by: omegent-app[bot] <306514130+omegent-app[bot]@users.noreply.github.com>
Co-authored-by: T3 Code PR Stack <41898282+github-actions[bot]@users.noreply.github.com>
patroza added a commit that referenced this pull request Jul 28, 2026
* Add multi-platform chat adapter plan

* feat(discord-bot): port Teams intake module + message-action plan

Rebase the chat-platform adapter plan onto current fork/discord and fold in
the other Teams work from the legacy private repo:

- aaaomega/t3code-pvt#1 — Graph-based Teams intake (poll → Discord/T3)
- aaaomega/t3code-pvt#6 — Teams message-action planning doc

Wire optional TEAMS_* config, sourceKind/sourceThreadId link keys, shared
LinkedTurnRouter start/continue helper, and docs cross-links. Teams stays
off unless TEAMS_ENABLED=1.

* feat(teams): add native Discord-free T3 bridge

* feat(teams): surface pending T3 interactions

---------

Co-authored-by: t3 agent <patroza@users.noreply.github.com>
Co-authored-by: omegent-app[bot] <306514130+omegent-app[bot]@users.noreply.github.com>
Co-authored-by: T3 Code PR Stack <41898282+github-actions[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant