Commit Graph

338 Commits

Author SHA1 Message Date
Peter Steinberger
1c82b06645 test: collapse msteams state and monitor suites 2026-03-25 05:57:02 +00:00
Peter Steinberger
e53809035e test: collapse msteams graph suites 2026-03-25 05:57:02 +00:00
Peter Steinberger
b99b521a92 test: collapse msteams helper suites 2026-03-25 05:57:02 +00:00
Peter Steinberger
6f6468027a refactor: dedupe test and runtime seams 2026-03-24 23:33:30 +00:00
Peter Steinberger
27448c3113 refactor(msteams): split reply and reflection helpers 2026-03-24 10:02:49 -07:00
Peter Steinberger
e727ad6898 fix(msteams): harden feedback reflection follow-ups 2026-03-24 09:50:04 -07:00
Ayaan Zaidi
0a04ef494d fix: merge explicit reply config overrides onto fresh config 2026-03-24 18:52:04 +05:30
Peter Steinberger
fd0fa97952 refactor: centralize plugin install config policy 2026-03-23 23:07:40 -07:00
Peter Steinberger
0f84aac487 fix: stabilize matrix and teams ci assertions 2026-03-24 05:29:05 +00:00
Peter Steinberger
ef6821a4ca fix: restore teams sdk adapter contracts 2026-03-24 05:17:34 +00:00
Sid Uppal
cd90130877 msteams: implement Teams AI agent UX best practices (#51808)
Migrates the Teams extension from @microsoft/agents-hosting to the official Teams SDK (@microsoft/teams.apps + @microsoft/teams.api) and implements Microsoft's AI UX best practices for Teams agents.

- AI-generated label on all bot messages (Teams native badge + thumbs up/down)
- Streaming responses in 1:1 chats via Teams streaminfo protocol
- Welcome card with configurable prompt starters on bot install
- Feedback with reflective learning (negative feedback triggers background reflection)
- Typing indicators for personal + group chats (disabled for channels)
- Informative status updates (progress bar while LLM processes)
- JWT validation via Teams SDK createServiceTokenValidator
- User-Agent: teams.ts[apps]/<sdk-version> OpenClaw/<version> on outbound requests
- Fix copy-pasted image downloads (smba.trafficmanager.net auth allowlist)
- Pre-parse auth gate (reject unauthenticated requests before body parsing)
- Reflection dispatcher lifecycle fix (prevent leaked dispatchers)
- Colon-safe session filenames (Windows compatibility)
- Cooldown cache eviction (prevent unbounded memory growth)

Closes #51806
2026-03-23 22:03:39 -07:00
sudie-codes
6e970010f7 msteams: add message edit and delete support (#49925)
- Add edit/delete action handlers with toolContext.currentChannelId
  fallback for in-thread edits/deletes without explicit target
- Add editMessageMSTeams/deleteMessageMSTeams to channel runtime
- Add updateActivity/deleteActivity to SendContext and MSTeamsTurnContext
- Extend content param with text/content/message fallback chain
- Update test mocks for new SendContext shape

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-23 23:42:04 -05:00
sudie-codes
9f5d286caf msteams: extract structured quote/reply context (#51647)
* msteams: extract structured quote/reply context from Teams HTML attachments

* msteams: address PR #51647 review feedback
2026-03-23 23:41:51 -05:00
Vincent Koc
e9078b3ff6 fix(msteams): isolate probe test env credentials 2026-03-23 08:00:54 -07:00
Peter Steinberger
0b58829364 test: fix ci env-sensitive assertions 2026-03-23 07:27:03 +00:00
Vincent Koc
218663c956 test(msteams): await async setup status lines 2026-03-22 20:59:28 -07:00
Peter Steinberger
339a67262d test: clear msteams gate drift for gateway probe auth landing (#52513) (thanks @CodeForgeNet) 2026-03-22 19:14:44 -07:00
Vincent Koc
9ffde8efb2 style(format): fix msteams test drift 2026-03-22 19:13:01 -07:00
Vincent Koc
8ff277d2a2 test(msteams): cover poll and file-card helpers 2026-03-22 19:09:59 -07:00
Peter Steinberger
96d61aa50c refactor: harden generated-file guards and provider ids 2026-03-22 19:08:08 -07:00
Vincent Koc
7d11f6cf69 test(msteams): cover upload and webhook helpers 2026-03-22 19:07:04 -07:00
Vincent Koc
1ea2593362 test(msteams): cover graph helpers 2026-03-22 19:06:02 -07:00
Peter Steinberger
5c8ea0a175 refactor: share channel setup status helpers 2026-03-23 01:56:01 +00:00
Peter Steinberger
3547b5fd1e fix: restore bundled plugin metadata generator 2026-03-23 01:53:28 +00:00
Vincent Koc
9a07187339 style(format): fix extension test drift 2026-03-22 18:53:22 -07:00
Vincent Koc
55e0c6380a test(msteams): cover store and live directory helpers 2026-03-22 18:42:43 -07:00
Vincent Koc
653d69ede7 test(msteams): cover setup wizard status 2026-03-22 18:37:37 -07:00
Vincent Koc
bad9c8c223 style(format): fix channel test drift 2026-03-22 18:32:07 -07:00
Vincent Koc
23c8af3d24 fix(test): split msteams attachment helpers 2026-03-22 18:29:52 -07:00
Peter Steinberger
ecdf5d457a test: fix latest main test regressions 2026-03-22 18:28:13 -07:00
Vincent Koc
774a2064c9 test(msteams): cover routing and setup 2026-03-22 18:27:41 -07:00
sudie-codes
8b5eeba386 fix(msteams): batch multi-block replies into single continueConversation call (#29379) (#49587)
Teams silently drops blocks 2+ when each deliver() opens its own
continueConversation() call. Accumulate rendered messages across all
deliver() calls and flush them together in markDispatchIdle().

On batch failure, retry each message individually so trailing blocks
are not silently lost. Log a warning when any individual messages fail
so flush failures are visible in logs.
2026-03-22 20:16:17 -05:00
Peter Steinberger
39faf4725d refactor: share warning collector projections 2026-03-22 23:37:12 +00:00
Peter Steinberger
d9a2666ee1 refactor: share more computed channel status adapters 2026-03-22 23:37:12 +00:00
Peter Steinberger
ad5e3f0cd5 refactor: adopt chat plugin builder in msteams 2026-03-22 22:45:06 +00:00
Peter Steinberger
87722d6327 refactor: extend shared account status snapshot helpers 2026-03-22 20:55:16 +00:00
Peter Steinberger
00b2f10dec refactor: share account snapshot descriptions 2026-03-22 20:55:16 +00:00
Vincent Koc
dbd26e49f1 fix(test): reduce startup-heavy hotspot retention (#52381) 2026-03-22 12:28:55 -07:00
Peter Steinberger
412a3eb1ac build: bump version to 2026.3.22 2026-03-22 11:58:33 -07:00
Peter Steinberger
89d65521fe refactor: dedupe extension runtime caches 2026-03-22 18:09:45 +00:00
Peter Steinberger
c8a36c621e test: tighten msteams regression assertions 2026-03-22 17:23:01 +00:00
Peter Steinberger
14074d3337 fix: restore repo-wide gate after upstream sync 2026-03-22 17:16:43 +00:00
Peter Steinberger
689a7342c2 test: tighten msteams regression assertions 2026-03-22 17:07:20 +00:00
Vincent Koc
3ce5a8366a fix(plugins): enforce minimum host versions for installable plugins (#52094)
* fix(plugins): enforce min host versions

* fix(plugins): tighten min host version validation

* chore(plugins): trim dead min host version code

* fix(plugins): handle malformed min host metadata

* fix(plugins): key manifest cache by host version
2026-03-22 09:12:08 -07:00
Peter Steinberger
49091ebcbd chore: update dependencies except carbon 2026-03-22 08:37:03 -07:00
Peter Steinberger
3382ef2724 perf: reduce plugin runtime startup overhead 2026-03-22 09:35:36 +00:00
Peter Steinberger
b4656f193a test: strengthen regression coverage and trim low-value checks 2026-03-22 07:38:01 +00:00
Vincent Koc
2b4c3c2057 fix(plugin-sdk): remove relative extension boundary escapes (#51939)
* fix(plugin-sdk): remove relative extension boundary escapes

* Gate new plugin-sdk subpaths on host version

* Add changelog entry for #51939

* Fix local staging for plugin-sdk host version gate

* Raise host floor for line and googlechat plugins

---------

Co-authored-by: Tak Hoffman <781889+Takhoffman@users.noreply.github.com>
2026-03-21 20:03:18 -05:00
Peter Steinberger
62ddc9d9e0 refactor: consolidate plugin sdk surface 2026-03-20 19:24:10 +00:00
Vincent Koc
23a119c6ea test(msteams): clear remaining rebase conflict hunk 2026-03-20 10:38:55 -07:00