@openclaw/msteams 2026.5.19-alpha.1 → 2026.5.19-beta.2

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/dist/api.js CHANGED
@@ -1,3 +1,3 @@
1
1
  import { i as msteamsSetupAdapter, n as openDelegatedOAuthUrl, r as createMSTeamsSetupWizardBase, t as msteamsSetupWizard } from "./setup-surface-CVdYNhQt.js";
2
- import { t as msteamsPlugin } from "./channel-CTF0nulm.js";
2
+ import { t as msteamsPlugin } from "./channel-CjKjM2eX.js";
3
3
  export { createMSTeamsSetupWizardBase, msteamsPlugin, msteamsSetupAdapter, msteamsSetupWizard, openDelegatedOAuthUrl };
@@ -331,7 +331,7 @@ const collectMSTeamsSecurityWarnings = createAllowlistProviderGroupPolicyWarning
331
331
  resolveGroupPolicy: ({ cfg }) => cfg.channels?.msteams?.groupPolicy,
332
332
  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."] : []
333
333
  });
334
- const loadMSTeamsChannelRuntime = createLazyRuntimeNamedExport(() => import("./channel.runtime-DmFd93Pt.js"), "msTeamsChannelRuntime");
334
+ const loadMSTeamsChannelRuntime = createLazyRuntimeNamedExport(() => import("./channel.runtime-Dvm3zcbo.js"), "msTeamsChannelRuntime");
335
335
  const resolveMSTeamsChannelConfig = (cfg) => ({
336
336
  allowFrom: cfg.channels?.msteams?.allowFrom,
337
337
  defaultTo: cfg.channels?.msteams?.defaultTo
@@ -1117,7 +1117,7 @@ const msteamsPlugin = createChatChannelPlugin({
1117
1117
  })
1118
1118
  }),
1119
1119
  gateway: { startAccount: async (ctx) => {
1120
- const { monitorMSTeamsProvider } = await import("./src-D_uWsENK.js");
1120
+ const { monitorMSTeamsProvider } = await import("./src-D8GFAqC_.js");
1121
1121
  const port = ctx.cfg.channels?.msteams?.webhook?.port ?? 3978;
1122
1122
  ctx.setStatus({
1123
1123
  accountId: ctx.accountId,
@@ -1,2 +1,2 @@
1
- import { t as msteamsPlugin } from "./channel-CTF0nulm.js";
1
+ import { t as msteamsPlugin } from "./channel-CjKjM2eX.js";
2
2
  export { msteamsPlugin };
@@ -1,7 +1,7 @@
1
1
  import { s as chunkTextForOutbound } from "./runtime-api-C3EIaIpt.js";
2
2
  import { a as fetchGraphJson, c as normalizeQuery, d as postGraphJson, f as resolveGraphToken, i as fetchGraphAbsoluteUrl, l as patchGraphJson, n as deleteGraphRequest, o as listChannelsForTeam, r as escapeOData, s as listTeamsByName, t as searchGraphUsers, u as postGraphBetaJson } from "./graph-users-ChPPxUzD.js";
3
- import { n as MSTEAMS_PRESENTATION_CAPABILITIES, r as buildMSTeamsPresentationCard } from "./channel-CTF0nulm.js";
4
- import { S as createMSTeamsConversationStoreFs, a as sendMessageMSTeams, b as createMSTeamsPollStoreFs, i as sendAdaptiveCardMSTeams, n as deleteMessageMSTeams, o as sendPollMSTeams, r as editMessageMSTeams, t as probeMSTeams } from "./probe-BNBXBw4s.js";
3
+ import { n as MSTEAMS_PRESENTATION_CAPABILITIES, r as buildMSTeamsPresentationCard } from "./channel-CjKjM2eX.js";
4
+ import { S as createMSTeamsConversationStoreFs, a as sendMessageMSTeams, b as createMSTeamsPollStoreFs, i as sendAdaptiveCardMSTeams, n as deleteMessageMSTeams, o as sendPollMSTeams, r as editMessageMSTeams, t as probeMSTeams } from "./probe-CPSaZGPM.js";
5
5
  import { normalizeLowercaseStringOrEmpty } from "openclaw/plugin-sdk/string-coerce-runtime";
6
6
  import { resolvePayloadMediaUrls, resolveTextChunksWithFallback, sendPayloadMediaSequence } from "openclaw/plugin-sdk/reply-payload";
7
7
  import { attachChannelToResult, createAttachedChannelResultAdapter } from "openclaw/plugin-sdk/channel-send-result";
@@ -1,6 +1,6 @@
1
1
  import { C as normalizeStringEntries, E as resolveChannelMediaMaxBytes, M as getMSTeamsRuntime, d as detectMime, g as getFileExtension, m as extractOriginalFilename, p as extensionForMime, y as loadOutboundMediaFromUrl } from "./runtime-api-C3EIaIpt.js";
2
2
  import { C as loadMSTeamsSdkWithAuth, D as formatMSTeamsSendErrorHint, E as classifyMSTeamsSendError, O as formatUnknownError, S as createMSTeamsTokenProvider, _ as resolveMSTeamsStorePath, h as resolveMSTeamsCredentials, k as isRevokedProxyError, m as loadDelegatedTokens, w as buildUserAgent, x as createMSTeamsAdapter, y as readAccessToken } from "./graph-users-ChPPxUzD.js";
3
- import { a as resolveMSTeamsReplyPolicy, o as resolveMSTeamsRouteConfig } from "./channel-CTF0nulm.js";
3
+ import { a as resolveMSTeamsReplyPolicy, o as resolveMSTeamsRouteConfig } from "./channel-CjKjM2eX.js";
4
4
  import { createMessageReceiptFromOutboundResults } from "openclaw/plugin-sdk/channel-message";
5
5
  import { isRecord, normalizeLowercaseStringOrEmpty, normalizeOptionalLowercaseString, normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
6
6
  import { withFileLock } from "openclaw/plugin-sdk/file-lock";
@@ -1,8 +1,8 @@
1
1
  import { A as summarizeMapping, D as resolveDefaultGroupPolicy, E as resolveChannelMediaMaxBytes, M as getMSTeamsRuntime, N as getOptionalMSTeamsRuntime, _ as isDangerousNameMatchingEnabled, a as buildMediaPayload, b as logTypingFailure, c as createChannelMessageReplyPipeline, f as dispatchReplyFromConfigWithSettledDispatcher$1, l as createChannelPairingController, n as DEFAULT_WEBHOOK_MAX_BODY_BYTES, t as DEFAULT_ACCOUNT_ID, v as keepHttpServerTaskAlive, x as mergeAllowlist } from "./runtime-api-C3EIaIpt.js";
2
2
  import { A as ATTACHMENT_TAG_RE, B as isLikelyImageAttachment, C as loadMSTeamsSdkWithAuth, D as formatMSTeamsSendErrorHint, E as classifyMSTeamsSendError, F as estimateBase64DecodedBytes, G as resolveAttachmentFetchPolicy, H as isUrlAllowed, I as extractHtmlFromAttachment, J as safeFetchWithPolicy, K as resolveMediaSsrfPolicy, L as extractInlineImageCandidates, M as IMG_SRC_RE, N as applyAuthorizationHeaderForUrl, O as formatUnknownError, P as encodeGraphShareId, R as inferPlaceholder, S as createMSTeamsTokenProvider, T as ensureUserAgentHeader, U as normalizeContentType, V as isRecord$1, W as readNestedString, X as tryBuildGraphSharesUrlForSharedLink, Y as safeHostForUrl, _ as resolveMSTeamsStorePath, a as fetchGraphJson, b as createBotFrameworkJwtValidator, h as resolveMSTeamsCredentials, j as GRAPH_ROOT, q as resolveRequestUrl, w as buildUserAgent, x as createMSTeamsAdapter, z as isDownloadableAttachment } from "./graph-users-ChPPxUzD.js";
3
3
  import { d as resolveMSTeamsUserAllowlist, u as resolveMSTeamsChannelAllowlist } from "./setup-surface-CVdYNhQt.js";
4
- import { a as resolveMSTeamsReplyPolicy, i as resolveMSTeamsAllowlistMatch, o as resolveMSTeamsRouteConfig } from "./channel-CTF0nulm.js";
5
- import { C as readJsonFile, S as createMSTeamsConversationStoreFs, T as writeJsonFile, _ as buildFileInfoCard, b as createMSTeamsPollStoreFs, c as renderReplyPayloadsToMessages, d as withRevokedProxyFallback, f as resolveGraphChatId, g as removePendingUploadFs, h as getPendingUploadFs, l as sendMSTeamsMessages, m as removePendingUpload, p as getPendingUpload, s as buildConversationReference, u as AI_GENERATED_ENTITY, v as parseFileConsentInvoke, w as withFileLock, x as extractMSTeamsPollVote, y as uploadToConsentUrl } from "./probe-BNBXBw4s.js";
4
+ import { a as resolveMSTeamsReplyPolicy, i as resolveMSTeamsAllowlistMatch, o as resolveMSTeamsRouteConfig } from "./channel-CjKjM2eX.js";
5
+ import { C as readJsonFile, S as createMSTeamsConversationStoreFs, T as writeJsonFile, _ as buildFileInfoCard, b as createMSTeamsPollStoreFs, c as renderReplyPayloadsToMessages, d as withRevokedProxyFallback, f as resolveGraphChatId, g as removePendingUploadFs, h as getPendingUploadFs, l as sendMSTeamsMessages, m as removePendingUpload, p as getPendingUpload, s as buildConversationReference, u as AI_GENERATED_ENTITY, v as parseFileConsentInvoke, w as withFileLock, x as extractMSTeamsPollVote, y as uploadToConsentUrl } from "./probe-CPSaZGPM.js";
6
6
  import { formatAllowlistMatchMeta } from "openclaw/plugin-sdk/allow-from";
7
7
  import { createLiveMessageState, createPreviewMessageReceipt, defineFinalizableLivePreviewAdapter, deliverWithFinalizableLivePreviewAdapter, markLiveMessageFinalized } from "openclaw/plugin-sdk/channel-message";
8
8
  import { normalizeLowercaseStringOrEmpty, normalizeOptionalLowercaseString, normalizeOptionalString, readStringValue } from "openclaw/plugin-sdk/string-coerce-runtime";
@@ -2765,9 +2765,10 @@ function createMSTeamsMessageHandler(deps) {
2765
2765
  });
2766
2766
  const preview = rawBody.replace(/\s+/g, " ").slice(0, 160);
2767
2767
  const inboundLabel = isDirectMessage ? `Teams DM from ${senderName}` : `Teams message in ${conversationType} from ${senderName}`;
2768
- core.system.enqueueSystemEvent(`${inboundLabel}: ${preview}`, {
2768
+ const enqueuePrimaryMessageSystemEvent = (opts) => core.system.enqueueSystemEvent(`${inboundLabel}: ${preview}`, {
2769
2769
  sessionKey: route.sessionKey,
2770
- contextKey: `msteams:message:${conversationId}:${activity.id ?? "unknown"}`
2770
+ contextKey: `msteams:message:${conversationId}:${activity.id ?? "unknown"}`,
2771
+ ...opts
2771
2772
  });
2772
2773
  const channelId = conversationId;
2773
2774
  const { teamConfig, channelConfig } = channelGate;
@@ -2801,6 +2802,10 @@ function createMSTeamsMessageHandler(deps) {
2801
2802
  requireMention,
2802
2803
  mentioned
2803
2804
  });
2805
+ enqueuePrimaryMessageSystemEvent({
2806
+ forceSenderIsOwnerFalse: true,
2807
+ trusted: false
2808
+ });
2804
2809
  createChannelHistoryWindow({ historyMap: conversationHistories }).record({
2805
2810
  historyKey: conversationId,
2806
2811
  limit: historyLimit,
@@ -2814,6 +2819,7 @@ function createMSTeamsMessageHandler(deps) {
2814
2819
  return;
2815
2820
  }
2816
2821
  }
2822
+ enqueuePrimaryMessageSystemEvent();
2817
2823
  let graphConversationId = translateMSTeamsDmConversationIdForGraph({
2818
2824
  isDirectMessage,
2819
2825
  conversationId,
@@ -2884,7 +2890,9 @@ function createMSTeamsMessageHandler(deps) {
2884
2890
  if (parentSummary && visibleParentMessages.length > 0 && shouldInjectParentContext(route.sessionKey, activity.replyToId)) {
2885
2891
  core.system.enqueueSystemEvent(formatParentContextEvent(parentSummary), {
2886
2892
  sessionKey: route.sessionKey,
2887
- contextKey: `msteams:thread-parent:${conversationId}:${activity.replyToId}`
2893
+ contextKey: `msteams:thread-parent:${conversationId}:${activity.replyToId}`,
2894
+ forceSenderIsOwnerFalse: true,
2895
+ trusted: false
2888
2896
  });
2889
2897
  markParentContextInjected(route.sessionKey, activity.replyToId);
2890
2898
  }
@@ -3215,7 +3223,9 @@ function createMSTeamsReactionHandler(deps) {
3215
3223
  });
3216
3224
  core.system.enqueueSystemEvent(label, {
3217
3225
  sessionKey: route.sessionKey,
3218
- contextKey: `msteams:reaction:${conversationId}:${targetMessageId}:${senderId}:${reactionType}:${direction}`
3226
+ contextKey: `msteams:reaction:${conversationId}:${targetMessageId}:${senderId}:${reactionType}:${direction}`,
3227
+ forceSenderIsOwnerFalse: true,
3228
+ trusted: false
3219
3229
  });
3220
3230
  }
3221
3231
  };
package/dist/test-api.js CHANGED
@@ -1,2 +1,2 @@
1
- import { t as msteamsPlugin } from "./channel-CTF0nulm.js";
1
+ import { t as msteamsPlugin } from "./channel-CjKjM2eX.js";
2
2
  export { msteamsPlugin };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openclaw/msteams",
3
- "version": "2026.5.19-alpha.1",
3
+ "version": "2026.5.19-beta.2",
4
4
  "description": "OpenClaw Microsoft Teams channel plugin",
5
5
  "repository": {
6
6
  "type": "git",
@@ -22,7 +22,7 @@
22
22
  "openclaw": "workspace:*"
23
23
  },
24
24
  "peerDependencies": {
25
- "openclaw": ">=2026.5.19-alpha.1"
25
+ "openclaw": ">=2026.5.19-beta.2"
26
26
  },
27
27
  "peerDependenciesMeta": {
28
28
  "openclaw": {
@@ -58,10 +58,10 @@
58
58
  "minHostVersion": ">=2026.4.10"
59
59
  },
60
60
  "compat": {
61
- "pluginApi": ">=2026.5.19-alpha.1"
61
+ "pluginApi": ">=2026.5.19-beta.2"
62
62
  },
63
63
  "build": {
64
- "openclawVersion": "2026.5.19-alpha.1"
64
+ "openclawVersion": "2026.5.19-beta.2"
65
65
  },
66
66
  "release": {
67
67
  "publishToClawHub": true,