@openclaw/msteams 2026.7.2-beta.4 → 2026.7.2-beta.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -5,7 +5,7 @@ Official OpenClaw channel plugin for Microsoft Teams bot conversations.
5
5
  Install from OpenClaw:
6
6
 
7
7
  ```bash
8
- openclaw plugin add @openclaw/msteams
8
+ openclaw plugins install @openclaw/msteams
9
9
  ```
10
10
 
11
11
  Configure the Teams bot credentials and trusted service URLs in OpenClaw, then connect the bot to the teams or chats where agents should operate.
package/dist/api.cjs CHANGED
@@ -1,6 +1,6 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_channel = require("./channel-D_epy05a.cjs");
3
- const require_setup_surface = require("./setup-surface-BWSGtAxk.cjs");
2
+ const require_channel = require("./channel-DtZFlwhL.cjs");
3
+ const require_setup_surface = require("./setup-surface-xVejKCJV.cjs");
4
4
  exports.createMSTeamsSetupWizardBase = require_setup_surface.createMSTeamsSetupWizardBase;
5
5
  exports.msteamsPlugin = require_channel.msteamsPlugin;
6
6
  exports.msteamsSetupAdapter = require_setup_surface.msteamsSetupAdapter;
@@ -1,10 +1,8 @@
1
1
  require("./runtime-api.cjs");
2
- const require_resolve_allowlist = require("./resolve-allowlist-CgA2KHN8.cjs");
2
+ const require_resolve_allowlist = require("./resolve-allowlist-Dr_1sOJh.cjs");
3
+ const require_setup_surface = require("./setup-surface-xVejKCJV.cjs");
3
4
  const require_config_schema = require("./config-schema-BTnLgWAe.cjs");
4
- const require_setup_surface = require("./setup-surface-BWSGtAxk.cjs");
5
5
  let openclaw_plugin_sdk_account_helpers = require("openclaw/plugin-sdk/account-helpers");
6
- let openclaw_plugin_sdk_allow_from = require("openclaw/plugin-sdk/allow-from");
7
- let openclaw_plugin_sdk_channel_config_helpers = require("openclaw/plugin-sdk/channel-config-helpers");
8
6
  let openclaw_plugin_sdk_channel_core = require("openclaw/plugin-sdk/channel-core");
9
7
  let openclaw_plugin_sdk_channel_outbound = require("openclaw/plugin-sdk/channel-outbound");
10
8
  let openclaw_plugin_sdk_channel_pairing = require("openclaw/plugin-sdk/channel-pairing");
@@ -20,11 +18,12 @@ let openclaw_plugin_sdk_channel_actions = require("openclaw/plugin-sdk/channel-a
20
18
  let openclaw_plugin_sdk_html_entity_runtime = require("openclaw/plugin-sdk/html-entity-runtime");
21
19
  let openclaw_plugin_sdk_routing = require("openclaw/plugin-sdk/routing");
22
20
  let openclaw_plugin_sdk_channel_targets = require("openclaw/plugin-sdk/channel-targets");
21
+ let openclaw_plugin_sdk_allow_from = require("openclaw/plugin-sdk/allow-from");
23
22
  let openclaw_plugin_sdk_dangerous_name_runtime = require("openclaw/plugin-sdk/dangerous-name-runtime");
24
23
  let openclaw_plugin_sdk_runtime_group_policy = require("openclaw/plugin-sdk/runtime-group-policy");
25
- let openclaw_plugin_sdk_account_id = require("openclaw/plugin-sdk/account-id");
26
24
  let openclaw_plugin_sdk_text_chunking = require("openclaw/plugin-sdk/text-chunking");
27
25
  let openclaw_plugin_sdk_channel_status = require("openclaw/plugin-sdk/channel-status");
26
+ let openclaw_plugin_sdk_account_id = require("openclaw/plugin-sdk/account-id");
28
27
  //#region extensions/msteams/src/approval-auth.ts
29
28
  const MSTEAMS_ID_RE = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
30
29
  function normalizeMSTeamsApproverId(value) {
@@ -34,13 +33,13 @@ function normalizeMSTeamsApproverId(value) {
34
33
  if (!id) return;
35
34
  return MSTEAMS_ID_RE.test(id) ? id : void 0;
36
35
  }
37
- function resolveMSTeamsChannelConfig$1(cfg) {
36
+ function resolveMSTeamsChannelConfig(cfg) {
38
37
  return cfg.channels?.msteams;
39
38
  }
40
39
  const msTeamsApprovalAuth = (0, openclaw_plugin_sdk_approval_auth_runtime.createChannelApprovalAuth)({
41
40
  channelLabel: "Microsoft Teams",
42
41
  resolveInputs: ({ cfg }) => {
43
- const channel = resolveMSTeamsChannelConfig$1(cfg);
42
+ const channel = resolveMSTeamsChannelConfig(cfg);
44
43
  return {
45
44
  allowFrom: channel?.allowFrom,
46
45
  defaultTo: channel?.defaultTo
@@ -185,6 +184,7 @@ function resolveMSTeamsGroupToolPolicy(params) {
185
184
  groupId: params.groupId
186
185
  });
187
186
  const senderScope = {
187
+ senderPolicyMode: params.senderPolicyMode,
188
188
  senderId: params.senderId,
189
189
  senderName: params.senderName,
190
190
  senderUsername: params.senderUsername,
@@ -642,16 +642,6 @@ function resolveMSTeamsOutboundSessionRoute(params) {
642
642
  }
643
643
  //#endregion
644
644
  //#region extensions/msteams/src/channel.ts
645
- const meta = {
646
- id: "msteams",
647
- label: "Microsoft Teams",
648
- selectionLabel: "Microsoft Teams (Bot Framework)",
649
- docsPath: "/channels/msteams",
650
- docsLabel: "msteams",
651
- blurb: "Teams SDK; enterprise support.",
652
- aliases: ["teams"],
653
- order: 60
654
- };
655
645
  const TEAMS_GRAPH_PERMISSION_HINTS = {
656
646
  "ChannelMessage.Read.All": "channel history",
657
647
  "Chat.Read.All": "chat history",
@@ -671,23 +661,7 @@ const collectMSTeamsSecurityWarnings = (0, openclaw_plugin_sdk_channel_policy.cr
671
661
  resolveGroupPolicy: ({ cfg }) => cfg.channels?.msteams?.groupPolicy,
672
662
  collect: ({ groupPolicy }) => groupPolicy === "open" ? ["- MS Teams groups: groupPolicy=\"open\" allows any member to trigger (mention-gated). Set channels.msteams.groupPolicy=\"allowlist\" + channels.msteams.groupAllowFrom to restrict senders."] : []
673
663
  });
674
- const loadMSTeamsChannelRuntime = (0, openclaw_plugin_sdk_lazy_runtime.createLazyRuntimeNamedExport)(() => Promise.resolve().then(() => require("./channel.runtime-D6MyENlx.cjs")), "msTeamsChannelRuntime");
675
- const resolveMSTeamsChannelConfig = (cfg) => ({
676
- allowFrom: cfg.channels?.msteams?.allowFrom,
677
- defaultTo: cfg.channels?.msteams?.defaultTo
678
- });
679
- const msteamsConfigAdapter = (0, openclaw_plugin_sdk_channel_config_helpers.createTopLevelChannelConfigAdapter)({
680
- sectionKey: "msteams",
681
- resolveAccount: (cfg) => ({
682
- accountId: openclaw_plugin_sdk_account_id.DEFAULT_ACCOUNT_ID,
683
- enabled: cfg.channels?.msteams?.enabled !== false,
684
- configured: Boolean(require_resolve_allowlist.resolveMSTeamsCredentials(cfg.channels?.msteams))
685
- }),
686
- resolveAccessorAccount: ({ cfg }) => resolveMSTeamsChannelConfig(cfg),
687
- resolveAllowFrom: (account) => account.allowFrom,
688
- formatAllowFrom: (allowFrom) => (0, openclaw_plugin_sdk_allow_from.formatAllowFromLowercase)({ allowFrom }),
689
- resolveDefaultTo: (account) => account.defaultTo
690
- });
664
+ const loadMSTeamsChannelRuntime = (0, openclaw_plugin_sdk_lazy_runtime.createLazyRuntimeNamedExport)(() => Promise.resolve().then(() => require("./channel.runtime-BtdOD_kD.cjs")), "msTeamsChannelRuntime");
691
665
  function jsonActionResult(data) {
692
666
  return {
693
667
  content: [{
@@ -926,8 +900,8 @@ const msteamsPlugin = (0, openclaw_plugin_sdk_channel_core.createChatChannelPlug
926
900
  base: {
927
901
  id: "msteams",
928
902
  meta: {
929
- ...meta,
930
- aliases: [...meta.aliases]
903
+ ...require_setup_surface.msteamsMeta,
904
+ aliases: [...require_setup_surface.msteamsMeta.aliases]
931
905
  },
932
906
  setupWizard: require_setup_surface.msteamsSetupWizard,
933
907
  capabilities: {
@@ -949,7 +923,7 @@ const msteamsPlugin = (0, openclaw_plugin_sdk_channel_core.createChatChannelPlug
949
923
  reload: { configPrefixes: ["channels.msteams"] },
950
924
  configSchema: require_config_schema.MSTeamsChannelConfigSchema,
951
925
  config: {
952
- ...msteamsConfigAdapter,
926
+ ...require_setup_surface.msteamsConfigAdapter,
953
927
  isConfigured: (_account, cfg) => Boolean(require_resolve_allowlist.resolveMSTeamsCredentials(cfg.channels?.msteams)),
954
928
  describeAccount: (account) => (0, openclaw_plugin_sdk_account_helpers.describeAccountSnapshot)({
955
929
  account,
@@ -1566,7 +1540,7 @@ const msteamsPlugin = (0, openclaw_plugin_sdk_channel_core.createChatChannelPlug
1566
1540
  })
1567
1541
  }),
1568
1542
  gateway: { startAccount: async (ctx) => {
1569
- const { monitorMSTeamsProvider } = await Promise.resolve().then(() => require("./src-Gqmhf6Hw.cjs"));
1543
+ const { monitorMSTeamsProvider } = await Promise.resolve().then(() => require("./src-CsXzz0x2.cjs"));
1570
1544
  const port = ctx.cfg.channels?.msteams?.webhook?.port ?? 3978;
1571
1545
  ctx.setStatus({
1572
1546
  accountId: ctx.accountId,
@@ -1,3 +1,3 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_channel = require("./channel-D_epy05a.cjs");
2
+ const require_channel = require("./channel-DtZFlwhL.cjs");
3
3
  exports.msteamsPlugin = require_channel.msteamsPlugin;
@@ -1,10 +1,10 @@
1
1
  const require_runtime = require("./runtime-gZTAuFux.cjs");
2
2
  require("./runtime-api.cjs");
3
- const require_resolve_allowlist = require("./resolve-allowlist-CgA2KHN8.cjs");
4
- const require_channel = require("./channel-D_epy05a.cjs");
5
- const require_setup_surface = require("./setup-surface-BWSGtAxk.cjs");
3
+ const require_resolve_allowlist = require("./resolve-allowlist-Dr_1sOJh.cjs");
4
+ const require_channel = require("./channel-DtZFlwhL.cjs");
5
+ const require_setup_surface = require("./setup-surface-xVejKCJV.cjs");
6
6
  const require_polls = require("./polls-CWExq2xZ.cjs");
7
- const require_messenger = require("./messenger-BcpkE82v.cjs");
7
+ const require_messenger = require("./messenger-BJ0KM2sD.cjs");
8
8
  let openclaw_plugin_sdk_channel_outbound = require("openclaw/plugin-sdk/channel-outbound");
9
9
  let openclaw_plugin_sdk_string_coerce_runtime = require("openclaw/plugin-sdk/string-coerce-runtime");
10
10
  let openclaw_plugin_sdk_reply_payload = require("openclaw/plugin-sdk/reply-payload");
@@ -1,5 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_resolve_allowlist = require("./resolve-allowlist-CgA2KHN8.cjs");
2
+ const require_resolve_allowlist = require("./resolve-allowlist-Dr_1sOJh.cjs");
3
3
  let openclaw_plugin_sdk_directory_runtime = require("openclaw/plugin-sdk/directory-runtime");
4
4
  const msteamsDirectoryContractPlugin = {
5
5
  id: "msteams",
@@ -60,12 +60,14 @@ function resolveLegacySanitizedSessionKey(fileStem, knownSessionKeys) {
60
60
  }
61
61
  function listAgentIds(config) {
62
62
  const ids = /* @__PURE__ */ new Set(["main"]);
63
+ if ((0, openclaw_plugin_sdk_string_coerce_runtime.isRecord)(config.agents?.entries)) {
64
+ for (const agentId of Object.keys(config.agents.entries)) if (agentId.trim()) ids.add(agentId.trim());
65
+ }
63
66
  for (const agent of config.agents?.list ?? []) if (typeof agent.id === "string" && agent.id.trim()) ids.add(agent.id.trim());
64
67
  return [...ids];
65
68
  }
66
69
  function listCandidateStorePaths(params) {
67
70
  const paths = /* @__PURE__ */ new Set();
68
- paths.add((0, openclaw_plugin_sdk_session_store_runtime.resolveStorePath)(params.config.session?.store, { env: params.env }));
69
71
  for (const agentId of listAgentIds(params.config)) paths.add((0, openclaw_plugin_sdk_session_store_runtime.resolveStorePath)(params.config.session?.store, {
70
72
  agentId,
71
73
  env: params.env
@@ -1,8 +1,8 @@
1
1
  const require_delegated_state = require("./delegated-state-DOSCHaAB.cjs");
2
2
  const require_runtime = require("./runtime-gZTAuFux.cjs");
3
3
  require("./runtime-api.cjs");
4
- const require_resolve_allowlist = require("./resolve-allowlist-CgA2KHN8.cjs");
5
- const require_setup_surface = require("./setup-surface-BWSGtAxk.cjs");
4
+ const require_resolve_allowlist = require("./resolve-allowlist-Dr_1sOJh.cjs");
5
+ const require_setup_surface = require("./setup-surface-xVejKCJV.cjs");
6
6
  const require_polls = require("./polls-CWExq2xZ.cjs");
7
7
  let openclaw_plugin_sdk_lazy_runtime = require("openclaw/plugin-sdk/lazy-runtime");
8
8
  let openclaw_plugin_sdk_string_coerce_runtime = require("openclaw/plugin-sdk/string-coerce-runtime");
@@ -603,33 +603,24 @@ function requiresFileConsent(params) {
603
603
  const ESCAPED_MARKDOWN_RE = /\\[\\`*_{}[\]()#+\-.!|>~]/gu;
604
604
  const MARKDOWN_ENTITY_RE = /&(?:#\d+|#x[\da-f]+|[a-z][a-z\d]+);/giu;
605
605
  const TOKEN_END = "";
606
- const MSTEAMS_FORMAT_CAPABILITIES = {
606
+ const MSTEAMS_FORMAT_CAPABILITIES = openclaw_plugin_sdk_text_chunking.FormatCapabilityProfile.define({
607
607
  mechanism: "markdown",
608
608
  constructs: {
609
- bold: "native",
610
- italic: "native",
611
609
  underline: "strip",
612
- strikethrough: "native",
613
610
  spoiler: "fallback",
614
- codeInline: "native",
615
- codeBlock: "native",
616
611
  codeLanguage: "fallback",
617
- linkLabel: "native",
618
612
  heading: "fallback",
619
613
  bulletList: "fallback",
620
614
  orderedList: "fallback",
621
615
  taskList: "fallback",
622
- table: "fallback",
623
- blockquote: "native",
624
- image: "native",
625
- mention: "native"
616
+ table: "fallback"
626
617
  },
627
618
  chunk: {
628
619
  limit: 8e4,
629
620
  unit: "utf16",
630
621
  hardCap: 1e5
631
622
  }
632
- };
623
+ });
633
624
  const MSTEAMS_MARKERS = {
634
625
  bold: {
635
626
  open: "**",
@@ -1,4 +1,4 @@
1
- const require_resolve_allowlist = require("./resolve-allowlist-CgA2KHN8.cjs");
1
+ const require_resolve_allowlist = require("./resolve-allowlist-Dr_1sOJh.cjs");
2
2
  let openclaw_plugin_sdk_provider_auth = require("openclaw/plugin-sdk/provider-auth");
3
3
  let openclaw_plugin_sdk_provider_auth_runtime = require("openclaw/plugin-sdk/provider-auth-runtime");
4
4
  let openclaw_plugin_sdk_runtime_env = require("openclaw/plugin-sdk/runtime-env");
@@ -1,10 +1,10 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  const require_runtime = require("./runtime-gZTAuFux.cjs");
3
- let openclaw_plugin_sdk_allow_from = require("openclaw/plugin-sdk/allow-from");
4
3
  let openclaw_plugin_sdk_channel_outbound = require("openclaw/plugin-sdk/channel-outbound");
5
4
  let openclaw_plugin_sdk_channel_pairing = require("openclaw/plugin-sdk/channel-pairing");
6
5
  let openclaw_plugin_sdk_channel_policy = require("openclaw/plugin-sdk/channel-policy");
7
6
  let openclaw_plugin_sdk_account_id = require("openclaw/plugin-sdk/account-id");
7
+ let openclaw_plugin_sdk_allow_from = require("openclaw/plugin-sdk/allow-from");
8
8
  let openclaw_plugin_sdk_channel_status = require("openclaw/plugin-sdk/channel-status");
9
9
  let openclaw_plugin_sdk_channel_targets = require("openclaw/plugin-sdk/channel-targets");
10
10
  let openclaw_plugin_sdk_dangerous_name_runtime = require("openclaw/plugin-sdk/dangerous-name-runtime");
@@ -1,42 +1,14 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_resolve_allowlist = require("./resolve-allowlist-CgA2KHN8.cjs");
2
+ const require_resolve_allowlist = require("./resolve-allowlist-Dr_1sOJh.cjs");
3
+ const require_setup_surface = require("./setup-surface-xVejKCJV.cjs");
3
4
  const require_config_schema = require("./config-schema-BTnLgWAe.cjs");
4
- const require_setup_surface = require("./setup-surface-BWSGtAxk.cjs");
5
5
  let openclaw_plugin_sdk_account_helpers = require("openclaw/plugin-sdk/account-helpers");
6
- let openclaw_plugin_sdk_allow_from = require("openclaw/plugin-sdk/allow-from");
7
- let openclaw_plugin_sdk_channel_config_helpers = require("openclaw/plugin-sdk/channel-config-helpers");
8
6
  //#region extensions/msteams/src/channel.setup.ts
9
- const meta = {
10
- id: "msteams",
11
- label: "Microsoft Teams",
12
- selectionLabel: "Microsoft Teams (Bot Framework)",
13
- docsPath: "/channels/msteams",
14
- docsLabel: "msteams",
15
- blurb: "Teams SDK; enterprise support.",
16
- aliases: ["teams"],
17
- order: 60
18
- };
19
- const resolveMSTeamsChannelConfig = (cfg) => ({
20
- allowFrom: cfg.channels?.msteams?.allowFrom,
21
- defaultTo: cfg.channels?.msteams?.defaultTo
22
- });
23
- const msteamsConfigAdapter = (0, openclaw_plugin_sdk_channel_config_helpers.createTopLevelChannelConfigAdapter)({
24
- sectionKey: "msteams",
25
- resolveAccount: (cfg) => ({
26
- accountId: "default",
27
- enabled: cfg.channels?.msteams?.enabled !== false,
28
- configured: Boolean(require_resolve_allowlist.resolveMSTeamsCredentials(cfg.channels?.msteams))
29
- }),
30
- resolveAccessorAccount: ({ cfg }) => resolveMSTeamsChannelConfig(cfg),
31
- resolveAllowFrom: (account) => account.allowFrom,
32
- formatAllowFrom: (allowFrom) => (0, openclaw_plugin_sdk_allow_from.formatAllowFromLowercase)({ allowFrom }),
33
- resolveDefaultTo: (account) => account.defaultTo
34
- });
35
7
  const msteamsSetupPlugin = {
36
8
  id: "msteams",
37
9
  meta: {
38
- ...meta,
39
- aliases: [...meta.aliases]
10
+ ...require_setup_surface.msteamsMeta,
11
+ aliases: [...require_setup_surface.msteamsMeta.aliases]
40
12
  },
41
13
  capabilities: {
42
14
  chatTypes: [
@@ -51,7 +23,7 @@ const msteamsSetupPlugin = {
51
23
  reload: { configPrefixes: ["channels.msteams"] },
52
24
  configSchema: require_config_schema.MSTeamsChannelConfigSchema,
53
25
  config: {
54
- ...msteamsConfigAdapter,
26
+ ...require_setup_surface.msteamsConfigAdapter,
55
27
  isConfigured: (_account, cfg) => Boolean(require_resolve_allowlist.resolveMSTeamsCredentials(cfg.channels?.msteams)),
56
28
  describeAccount: (account) => (0, openclaw_plugin_sdk_account_helpers.describeAccountSnapshot)({
57
29
  account,
@@ -1,11 +1,41 @@
1
- const require_resolve_allowlist = require("./resolve-allowlist-CgA2KHN8.cjs");
1
+ const require_resolve_allowlist = require("./resolve-allowlist-Dr_1sOJh.cjs");
2
2
  let openclaw_plugin_sdk_string_coerce_runtime = require("openclaw/plugin-sdk/string-coerce-runtime");
3
+ let openclaw_plugin_sdk_account_id = require("openclaw/plugin-sdk/account-id");
4
+ let openclaw_plugin_sdk_allow_from = require("openclaw/plugin-sdk/allow-from");
3
5
  let openclaw_plugin_sdk_number_runtime = require("openclaw/plugin-sdk/number-runtime");
6
+ let openclaw_plugin_sdk_channel_config_helpers = require("openclaw/plugin-sdk/channel-config-helpers");
4
7
  let openclaw_plugin_sdk_channel_setup = require("openclaw/plugin-sdk/channel-setup");
5
8
  let openclaw_plugin_sdk_setup = require("openclaw/plugin-sdk/setup");
6
9
  let openclaw_plugin_sdk_setup_tools = require("openclaw/plugin-sdk/setup-tools");
7
10
  let openclaw_plugin_sdk_retry_runtime = require("openclaw/plugin-sdk/retry-runtime");
8
11
  let openclaw_plugin_sdk_secret_input = require("openclaw/plugin-sdk/secret-input");
12
+ //#region extensions/msteams/src/channel-config.ts
13
+ const msteamsMeta = {
14
+ id: "msteams",
15
+ label: "Microsoft Teams",
16
+ selectionLabel: "Microsoft Teams (Bot Framework)",
17
+ docsPath: "/channels/msteams",
18
+ docsLabel: "msteams",
19
+ blurb: "Teams SDK; enterprise support.",
20
+ aliases: ["teams"],
21
+ order: 60
22
+ };
23
+ const msteamsConfigAdapter = (0, openclaw_plugin_sdk_channel_config_helpers.createTopLevelChannelConfigAdapter)({
24
+ sectionKey: "msteams",
25
+ resolveAccount: (cfg) => ({
26
+ accountId: openclaw_plugin_sdk_account_id.DEFAULT_ACCOUNT_ID,
27
+ enabled: cfg.channels?.msteams?.enabled !== false,
28
+ configured: Boolean(require_resolve_allowlist.resolveMSTeamsCredentials(cfg.channels?.msteams))
29
+ }),
30
+ resolveAccessorAccount: ({ cfg }) => ({
31
+ allowFrom: cfg.channels?.msteams?.allowFrom,
32
+ defaultTo: cfg.channels?.msteams?.defaultTo
33
+ }),
34
+ resolveAllowFrom: (account) => account.allowFrom,
35
+ formatAllowFrom: (allowFrom) => (0, openclaw_plugin_sdk_allow_from.formatAllowFromLowercase)({ allowFrom }),
36
+ resolveDefaultTo: (account) => account.defaultTo
37
+ });
38
+ //#endregion
9
39
  //#region extensions/msteams/src/setup-core.ts
10
40
  const t$1 = (0, openclaw_plugin_sdk_setup.createSetupTranslator)();
11
41
  const msteamsSetupAdapter = {
@@ -460,7 +490,7 @@ const msteamsSetupWizard = {
460
490
  };
461
491
  let oauthModule;
462
492
  try {
463
- oauthModule = await Promise.resolve().then(() => require("./oauth-Bv-hLxJo.cjs"));
493
+ oauthModule = await Promise.resolve().then(() => require("./oauth-CNcnL8of.cjs"));
464
494
  } catch (err) {
465
495
  await noteDelegatedAuthFailure(err);
466
496
  return {
@@ -544,6 +574,18 @@ Object.defineProperty(exports, "isRevokedProxyError", {
544
574
  return isRevokedProxyError;
545
575
  }
546
576
  });
577
+ Object.defineProperty(exports, "msteamsConfigAdapter", {
578
+ enumerable: true,
579
+ get: function() {
580
+ return msteamsConfigAdapter;
581
+ }
582
+ });
583
+ Object.defineProperty(exports, "msteamsMeta", {
584
+ enumerable: true,
585
+ get: function() {
586
+ return msteamsMeta;
587
+ }
588
+ });
547
589
  Object.defineProperty(exports, "msteamsSetupAdapter", {
548
590
  enumerable: true,
549
591
  get: function() {
@@ -1,15 +1,15 @@
1
1
  const require_delegated_state = require("./delegated-state-DOSCHaAB.cjs");
2
2
  const require_runtime = require("./runtime-gZTAuFux.cjs");
3
3
  require("./runtime-api.cjs");
4
- const require_resolve_allowlist = require("./resolve-allowlist-CgA2KHN8.cjs");
5
- const require_channel = require("./channel-D_epy05a.cjs");
6
- const require_setup_surface = require("./setup-surface-BWSGtAxk.cjs");
4
+ const require_resolve_allowlist = require("./resolve-allowlist-Dr_1sOJh.cjs");
5
+ const require_channel = require("./channel-DtZFlwhL.cjs");
6
+ const require_setup_surface = require("./setup-surface-xVejKCJV.cjs");
7
7
  const require_polls = require("./polls-CWExq2xZ.cjs");
8
8
  const require_sso_token_store = require("./sso-token-store-OSg229re.cjs");
9
- const require_messenger = require("./messenger-BcpkE82v.cjs");
10
- let openclaw_plugin_sdk_allow_from = require("openclaw/plugin-sdk/allow-from");
9
+ const require_messenger = require("./messenger-BJ0KM2sD.cjs");
11
10
  let openclaw_plugin_sdk_channel_outbound = require("openclaw/plugin-sdk/channel-outbound");
12
11
  let openclaw_plugin_sdk_string_coerce_runtime = require("openclaw/plugin-sdk/string-coerce-runtime");
12
+ let openclaw_plugin_sdk_allow_from = require("openclaw/plugin-sdk/allow-from");
13
13
  let openclaw_plugin_sdk_media_runtime = require("openclaw/plugin-sdk/media-runtime");
14
14
  let openclaw_plugin_sdk_ssrf_runtime = require("openclaw/plugin-sdk/ssrf-runtime");
15
15
  let openclaw_plugin_sdk_provider_http = require("openclaw/plugin-sdk/provider-http");
@@ -2749,41 +2749,6 @@ function createMSTeamsMessageHandler(deps) {
2749
2749
  } catch {}
2750
2750
  }
2751
2751
  };
2752
- function buildFlushIngressLifecycle(entries) {
2753
- const lifecycles = entries.map((entry) => entry.turnAdoptionLifecycle).filter((lifecycle) => lifecycle !== void 0);
2754
- const [firstLifecycle] = lifecycles;
2755
- if (!firstLifecycle) return {
2756
- lifecycle: void 0,
2757
- settle: async () => {}
2758
- };
2759
- let handedOff = false;
2760
- const adoptAll = async () => {
2761
- for (const lifecycle of lifecycles) await lifecycle.onAdopted();
2762
- };
2763
- return {
2764
- lifecycle: {
2765
- abortSignal: lifecycles.length === 1 ? firstLifecycle.abortSignal : AbortSignal.any(lifecycles.map((lifecycle) => lifecycle.abortSignal)),
2766
- onAdopted: async () => {
2767
- handedOff = true;
2768
- await adoptAll();
2769
- },
2770
- onDeferred: () => {
2771
- handedOff = true;
2772
- for (const lifecycle of lifecycles) lifecycle.onDeferred();
2773
- },
2774
- onAdoptionFinalizing: () => {
2775
- for (const lifecycle of lifecycles) lifecycle.onAdoptionFinalizing();
2776
- },
2777
- onAbandoned: async () => {
2778
- handedOff = true;
2779
- for (const lifecycle of lifecycles) await lifecycle.onAbandoned();
2780
- }
2781
- },
2782
- settle: async () => {
2783
- if (!handedOff) await adoptAll();
2784
- }
2785
- };
2786
- }
2787
2752
  const inboundDebouncer = core.channel.debounce.createInboundDebouncer({
2788
2753
  debounceMs: inboundDebounceMs,
2789
2754
  buildKey: (entry) => {
@@ -2800,7 +2765,7 @@ function createMSTeamsMessageHandler(deps) {
2800
2765
  onFlush: async (entries) => {
2801
2766
  const last = entries.at(-1);
2802
2767
  if (!last) return;
2803
- const { lifecycle, settle } = buildFlushIngressLifecycle(entries);
2768
+ const { lifecycle, settle } = (0, openclaw_plugin_sdk_channel_ingress_runtime.fanInChannelIngressLifecycles)(entries.map((entry) => entry.turnAdoptionLifecycle));
2804
2769
  try {
2805
2770
  if (entries.length === 1) await handleTeamsMessageNow(lifecycle ? {
2806
2771
  ...last,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openclaw/msteams",
3
- "version": "2026.7.2-beta.4",
3
+ "version": "2026.7.2-beta.5",
4
4
  "description": "OpenClaw Microsoft Teams channel plugin for bot conversations.",
5
5
  "repository": {
6
6
  "type": "git",
@@ -23,7 +23,7 @@
23
23
  "openclaw": "workspace:*"
24
24
  },
25
25
  "peerDependencies": {
26
- "openclaw": ">=2026.7.2-beta.4"
26
+ "openclaw": ">=2026.7.2-beta.5"
27
27
  },
28
28
  "peerDependenciesMeta": {
29
29
  "openclaw": {
@@ -71,10 +71,10 @@
71
71
  "minHostVersion": ">=2026.4.10"
72
72
  },
73
73
  "compat": {
74
- "pluginApi": ">=2026.7.2-beta.4"
74
+ "pluginApi": ">=2026.7.2-beta.5"
75
75
  },
76
76
  "build": {
77
- "openclawVersion": "2026.7.2-beta.4",
77
+ "openclawVersion": "2026.7.2-beta.5",
78
78
  "runtimeFormat": "cjs"
79
79
  },
80
80
  "release": {
@@ -90,7 +90,6 @@
90
90
  "files": [
91
91
  "dist/**",
92
92
  "openclaw.plugin.json",
93
- "npm-shrinkwrap.json",
94
93
  "README.md"
95
94
  ]
96
95
  }