Commit Graph

334 Commits

Author SHA1 Message Date
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
Vincent Koc 5b7ae24e30 test(msteams): align adapter doubles with interfaces 2026-03-20 10:38:55 -07:00
Peter Steinberger 18fa2992f9 fix: restore plugin sdk runtime barrels 2026-03-20 16:46:34 +00:00
Peter Steinberger 4c614c230d fix: restore local gate 2026-03-20 16:46:14 +00:00
Peter Steinberger 50ce9ac1c6 refactor: privatize bundled sdk facades 2026-03-20 15:56:14 +00:00