Commit Graph

306 Commits

Author SHA1 Message Date
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
sudie-codes 06845a1974
fix(msteams): resolve Graph API chat ID for DM file uploads (#49585)
Fixes #35822 — Bot Framework conversation.id format is incompatible with
Graph API /chats/{chatId}. Added resolveGraphChatId() to look up the
Graph-native chat ID via GET /me/chats, cached in the conversation store.

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-20 10:08:26 -05:00
sudie-codes 7c3af3726f
msteams: extend MSTeamsAdapter and MSTeamsActivityHandler types; implement self() (#49929)
- Add updateActivity/deleteActivity to MSTeamsAdapter
- Add onReactionsAdded/onReactionsRemoved to MSTeamsActivityHandler
- Implement directory self() to return bot identity from appId credential
- Add tests for self() in channel.directory.test.ts
2026-03-20 10:08:23 -05:00
sudie-codes 897cda7d99
msteams: fix sender allowlist bypass when route allowlist is configured (GHSA-g7cr-9h7q-4qxq) (#49582)
When a route-level (teams/channel) allowlist was configured but the sender
allowlist (allowFrom/groupAllowFrom) was empty, resolveSenderScopedGroupPolicy
would downgrade the effective group policy from "allowlist" to "open", allowing
any Teams user to interact with the bot.

The fix: when channelGate.allowlistConfigured is true and effectiveGroupAllowFrom
is empty, preserve the configured groupPolicy ("allowlist") rather than letting
it be downgraded to "open". This ensures an empty sender allowlist with an active
route allowlist means deny-all rather than allow-all.

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-20 10:08:19 -05:00
Vincent Koc f19cb738af fix(plugin-sdk): restore public runtime subpaths 2026-03-18 17:38:49 -07:00
Peter Steinberger c70837f07d refactor: converge plugin sdk channel helpers 2026-03-19 00:25:19 +00:00
Peter Steinberger d7018aaf19 refactor: move bundled extension deps to plugin packages 2026-03-19 00:04:50 +00:00
Peter Steinberger 46f49eb6eb refactor: shrink plugin sdk public surface 2026-03-18 23:31:08 +00:00
Vincent Koc 757c2cc2de fix(release): isolate bundled config docs loading 2026-03-18 16:01:43 -07:00
Peter Steinberger 62edfdffbd refactor: deduplicate reply payload handling 2026-03-18 18:14:57 +00:00
Josh Lehman 505d140aeb
fix: stabilize build dependency resolution (#49928)
* build: mirror uuid for msteams

Add uuid to both the msteams bundled extension and the root package so the workspace build can resolve @microsoft/agents-hosting during tsdown while standalone extension installs also have the runtime dependency available.

Regeneration-Prompt: |
  pnpm build failed because @microsoft/agents-hosting 1.3.1 requires uuid in its published JS but does not declare it in its package manifest. The msteams extension dynamically imports that package, and the workspace build resolves it from the root dependency graph. Mirror uuid into the root package for workspace builds and keep it in extensions/msteams/package.json so standalone plugin installs also resolve it. Update the lockfile to match the manifest changes.

* build: prune stale plugin dist symlinks

Remove stale dist and dist-runtime plugin node_modules symlinks before tsdown runs. These links point back into extension installs, and tsdown's clean step can traverse them on rebuilds and hollow out the active pnpm dependency tree before plugin-sdk declaration generation runs.

Regeneration-Prompt: |
  pnpm build was intermittently failing in the plugin-sdk:dts phase after earlier build steps had already run. The symptom looked like missing root packages such as zod, ajv, commander, and undici even though a fresh install briefly fixed the problem. Investigate the build pipeline step by step rather than patching TypeScript errors. Confirm whether rebuilds mutate node_modules, identify the first step that does it, and preserve existing runtime-postbuild behavior.
  The key constraint is that dist and dist-runtime plugin node_modules links are intentional for runtime packaging, so do not remove that feature globally. Instead, make rebuilds safe by deleting only stale symlinks left in generated output before invoking tsdown, so tsdown cleanup cannot recurse back into the live pnpm install tree. Verify with repeated pnpm build runs.
2026-03-18 10:55:25 -07:00
Peter Steinberger 8d73bc77fa refactor: deduplicate reply payload helpers 2026-03-18 17:30:25 +00:00
Peter Steinberger 27f655ed11 refactor: deduplicate channel runtime helpers 2026-03-18 16:37:27 +00:00
Onur Solmaz d41c9ad4cb
Release: add plugin npm publish workflow (#47678)
* Release: add plugin npm publish workflow

* Release: make plugin publish scope explicit
2026-03-18 13:44:23 +01:00
Vincent Koc b333eb137b Tests: align plugin test imports with local barrels 2026-03-17 23:23:58 -07:00
Peter Steinberger 05603e4e6c refactor: deduplicate channel config adapters 2026-03-18 04:51:29 +00:00
Gustavo Madeira Santana 028f3c4d15
MSTeams: move outbound session routing behind plugin boundary 2026-03-18 04:09:48 +00:00
Peter Steinberger 9350cb19dd refactor: deduplicate plugin setup and channel config helpers 2026-03-18 03:28:05 +00:00
Vincent Koc 3cc83cb81e Plugins: internalize msteams SDK imports 2026-03-17 20:11:24 -07:00
Gustavo Madeira Santana 1c6676cd57
Plugins: remove first-party legacy message discovery shims 2026-03-18 02:17:40 +00:00
Gustavo Madeira Santana 4c36436fb4
Plugin SDK: add legacy message discovery helper 2026-03-18 02:08:07 +00:00
Gustavo Madeira Santana da948a8073
Teams: consolidate message tool discovery 2026-03-18 00:07:06 +00:00
Gustavo Madeira Santana df284fec27
Teams: own message tool card schema 2026-03-17 23:48:44 +00:00
Peter Steinberger 4b125762f6
refactor: clean extension api boundaries 2026-03-17 09:38:21 -07:00
Peter Steinberger 39a8dab0da
refactor: dedupe plugin lazy runtime helpers 2026-03-17 09:24:22 -07:00
Peter Steinberger 795f1f438b
refactor: expose lazy runtime helper to plugins 2026-03-17 08:37:11 -07:00
Peter Steinberger f9588da3e0
refactor: split plugin testing seam from bundled extension helpers 2026-03-17 01:05:09 -07:00
Peter Steinberger 9648e7fecb
refactor: consolidate lazy runtime surfaces 2026-03-17 00:59:20 -07:00
Peter Steinberger 3dec814fda
refactor: bundle lazy runtime surfaces 2026-03-17 00:00:45 -07:00