@openclaw/msteams 2026.6.8 → 2026.6.9-beta.1
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 +2 -2
- package/dist/{channel-FzXHnZIM.js → channel-Dgd5zc2f.js} +4 -4
- package/dist/channel-plugin-api.js +1 -1
- package/dist/{channel.runtime-CaeTVmSx.js → channel.runtime-B8NjDAUK.js} +3 -3
- package/dist/directory-contract-api.js +1 -1
- package/dist/{oauth-CDUB5xPY.js → oauth-D1UXa4tF.js} +1 -1
- package/dist/{probe-D-pKTqs9.js → probe-gaWD-R4K.js} +3 -3
- package/dist/{resolve-allowlist-BzIUWmMm.js → resolve-allowlist-BipHr5D9.js} +0 -1
- package/dist/setup-plugin-api.js +2 -2
- package/dist/{setup-surface-Dik4VU7f.js → setup-surface-nTDRDFiN.js} +2 -2
- package/dist/{src-C647R5Nw.js → src-CmwtUmAb.js} +32 -9
- package/node_modules/semver/classes/range.js +11 -2
- package/node_modules/semver/package.json +2 -2
- package/npm-shrinkwrap.json +6 -6
- package/package.json +4 -4
package/dist/api.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { t as msteamsPlugin } from "./channel-
|
|
2
|
-
import { c as msteamsSetupAdapter, n as openDelegatedOAuthUrl, s as createMSTeamsSetupWizardBase, t as msteamsSetupWizard } from "./setup-surface-
|
|
1
|
+
import { t as msteamsPlugin } from "./channel-Dgd5zc2f.js";
|
|
2
|
+
import { c as msteamsSetupAdapter, n as openDelegatedOAuthUrl, s as createMSTeamsSetupWizardBase, t as msteamsSetupWizard } from "./setup-surface-nTDRDFiN.js";
|
|
3
3
|
export { createMSTeamsSetupWizardBase, msteamsPlugin, msteamsSetupAdapter, msteamsSetupWizard, openDelegatedOAuthUrl };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { DEFAULT_ACCOUNT_ID, PAIRING_APPROVED_MESSAGE, buildChannelKeyCandidates, buildProbeChannelStatusSummary, chunkTextForOutbound, createDefaultChannelRuntimeState, isDangerousNameMatchingEnabled, normalizeChannelSlug, resolveAllowlistMatchSimple, resolveChannelEntryMatchWithFallback, resolveNestedAllowlistDecision, resolveToolsBySender } from "./runtime-api.js";
|
|
2
|
-
import { C as resolveMSTeamsCredentials, a as parseMSTeamsTeamChannelInput, c as resolveMSTeamsUserAllowlist, i as parseMSTeamsConversationId, n as normalizeMSTeamsMessagingTarget, r as normalizeMSTeamsUserInput, s as resolveMSTeamsChannelAllowlist, t as looksLikeMSTeamsTargetId } from "./resolve-allowlist-
|
|
2
|
+
import { C as resolveMSTeamsCredentials, a as parseMSTeamsTeamChannelInput, c as resolveMSTeamsUserAllowlist, i as parseMSTeamsConversationId, n as normalizeMSTeamsMessagingTarget, r as normalizeMSTeamsUserInput, s as resolveMSTeamsChannelAllowlist, t as looksLikeMSTeamsTargetId } from "./resolve-allowlist-BipHr5D9.js";
|
|
3
3
|
import { t as MSTeamsChannelConfigSchema } from "./config-schema-BL4qQZiA.js";
|
|
4
|
-
import { c as msteamsSetupAdapter, t as msteamsSetupWizard } from "./setup-surface-
|
|
4
|
+
import { c as msteamsSetupAdapter, t as msteamsSetupWizard } from "./setup-surface-nTDRDFiN.js";
|
|
5
5
|
import { describeAccountSnapshot } from "openclaw/plugin-sdk/account-helpers";
|
|
6
6
|
import { formatAllowFromLowercase } from "openclaw/plugin-sdk/allow-from";
|
|
7
7
|
import { createTopLevelChannelConfigAdapter } from "openclaw/plugin-sdk/channel-config-helpers";
|
|
@@ -336,7 +336,7 @@ const collectMSTeamsSecurityWarnings = createAllowlistProviderGroupPolicyWarning
|
|
|
336
336
|
resolveGroupPolicy: ({ cfg }) => cfg.channels?.msteams?.groupPolicy,
|
|
337
337
|
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."] : []
|
|
338
338
|
});
|
|
339
|
-
const loadMSTeamsChannelRuntime = createLazyRuntimeNamedExport(() => import("./channel.runtime-
|
|
339
|
+
const loadMSTeamsChannelRuntime = createLazyRuntimeNamedExport(() => import("./channel.runtime-B8NjDAUK.js"), "msTeamsChannelRuntime");
|
|
340
340
|
const resolveMSTeamsChannelConfig = (cfg) => ({
|
|
341
341
|
allowFrom: cfg.channels?.msteams?.allowFrom,
|
|
342
342
|
defaultTo: cfg.channels?.msteams?.defaultTo
|
|
@@ -1131,7 +1131,7 @@ const msteamsPlugin = createChatChannelPlugin({
|
|
|
1131
1131
|
})
|
|
1132
1132
|
}),
|
|
1133
1133
|
gateway: { startAccount: async (ctx) => {
|
|
1134
|
-
const { monitorMSTeamsProvider } = await import("./src-
|
|
1134
|
+
const { monitorMSTeamsProvider } = await import("./src-CmwtUmAb.js");
|
|
1135
1135
|
const port = ctx.cfg.channels?.msteams?.webhook?.port ?? 3978;
|
|
1136
1136
|
ctx.setStatus({
|
|
1137
1137
|
accountId: ctx.accountId,
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as msteamsPlugin } from "./channel-
|
|
1
|
+
import { t as msteamsPlugin } from "./channel-Dgd5zc2f.js";
|
|
2
2
|
export { msteamsPlugin };
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { chunkTextForOutbound, normalizeStringEntries as normalizeStringEntries$1 } from "./runtime-api.js";
|
|
2
|
-
import { _ as patchGraphJson, b as resolveGraphToken, d as escapeOData, f as fetchGraphAbsoluteUrl, g as normalizeQuery, h as listTeamsByName, l as searchGraphUsers, m as listChannelsForTeam, p as fetchGraphJson, u as deleteGraphRequest, v as postGraphBetaJson, y as postGraphJson } from "./resolve-allowlist-
|
|
3
|
-
import { n as MSTEAMS_PRESENTATION_CAPABILITIES, r as buildMSTeamsPresentationCard } from "./channel-
|
|
2
|
+
import { _ as patchGraphJson, b as resolveGraphToken, d as escapeOData, f as fetchGraphAbsoluteUrl, g as normalizeQuery, h as listTeamsByName, l as searchGraphUsers, m as listChannelsForTeam, p as fetchGraphJson, u as deleteGraphRequest, v as postGraphBetaJson, y as postGraphJson } from "./resolve-allowlist-BipHr5D9.js";
|
|
3
|
+
import { n as MSTEAMS_PRESENTATION_CAPABILITIES, r as buildMSTeamsPresentationCard } from "./channel-Dgd5zc2f.js";
|
|
4
4
|
import { l as createMSTeamsPollStoreState, v as createMSTeamsConversationStoreState } from "./polls-C1VgSvKE.js";
|
|
5
|
-
import { a as sendMessageMSTeams, i as sendAdaptiveCardMSTeams, n as deleteMessageMSTeams, o as sendPollMSTeams, r as editMessageMSTeams, t as probeMSTeams } from "./probe-
|
|
5
|
+
import { a as sendMessageMSTeams, i as sendAdaptiveCardMSTeams, n as deleteMessageMSTeams, o as sendPollMSTeams, r as editMessageMSTeams, t as probeMSTeams } from "./probe-gaWD-R4K.js";
|
|
6
6
|
import { resolveOutboundSendDep } from "openclaw/plugin-sdk/channel-outbound";
|
|
7
7
|
import { normalizeLowercaseStringOrEmpty, normalizeStringEntries } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
8
8
|
import { resolvePayloadMediaUrls, resolveTextChunksWithFallback, sendPayloadMediaSequence } from "openclaw/plugin-sdk/reply-payload";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { C as resolveMSTeamsCredentials, n as normalizeMSTeamsMessagingTarget } from "./resolve-allowlist-
|
|
1
|
+
import { C as resolveMSTeamsCredentials, n as normalizeMSTeamsMessagingTarget } from "./resolve-allowlist-BipHr5D9.js";
|
|
2
2
|
import { listDirectoryEntriesFromSources } from "openclaw/plugin-sdk/directory-runtime";
|
|
3
3
|
const msteamsDirectoryContractPlugin = {
|
|
4
4
|
id: "msteams",
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { A as MSTEAMS_OAUTH_REDIRECT_URI, D as MSTEAMS_DEFAULT_DELEGATED_SCOPES, E as exchangeMSTeamsCodeForTokens, O as MSTEAMS_OAUTH_CALLBACK_PATH, j as buildMSTeamsAuthEndpoint, k as MSTEAMS_OAUTH_CALLBACK_PORT } from "./resolve-allowlist-
|
|
1
|
+
import { A as MSTEAMS_OAUTH_REDIRECT_URI, D as MSTEAMS_DEFAULT_DELEGATED_SCOPES, E as exchangeMSTeamsCodeForTokens, O as MSTEAMS_OAUTH_CALLBACK_PATH, j as buildMSTeamsAuthEndpoint, k as MSTEAMS_OAUTH_CALLBACK_PORT } from "./resolve-allowlist-BipHr5D9.js";
|
|
2
2
|
import { generateHexPkceVerifierChallenge } from "openclaw/plugin-sdk/provider-auth";
|
|
3
3
|
import { generateOAuthState, parseOAuthCallbackInput, waitForLocalOAuthCallback } from "openclaw/plugin-sdk/provider-auth-runtime";
|
|
4
4
|
import { isWSL2Sync } from "openclaw/plugin-sdk/runtime-env";
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { t as getMSTeamsRuntime } from "./runtime-BS5AZrKK.js";
|
|
2
2
|
import { detectMime, extensionForMime, extractOriginalFilename, getFileExtension, loadOutboundMediaFromUrl, normalizeStringEntries as normalizeStringEntries$1, resolveChannelMediaMaxBytes } from "./runtime-api.js";
|
|
3
|
-
import { B as normalizeBotFrameworkServiceUrl, C as resolveMSTeamsCredentials, F as loadMSTeamsSdkWithAuth, H as createMSTeamsHttpError, I as buildUserAgent, M as readAccessToken, P as createMSTeamsTokenProvider, R as describeBotFrameworkServiceUrlHost, S as loadDelegatedTokens, U as resolveMSTeamsSdkCloudOptions, W as validateMSTeamsProactiveServiceUrlBoundary, z as isAllowedBotFrameworkServiceUrl } from "./resolve-allowlist-
|
|
4
|
-
import { a as resolveMSTeamsReplyPolicy, o as resolveMSTeamsRouteConfig } from "./channel-
|
|
5
|
-
import { a as formatUnknownError, i as formatMSTeamsSendErrorHint, o as isRevokedProxyError, r as classifyMSTeamsSendError } from "./setup-surface-
|
|
3
|
+
import { B as normalizeBotFrameworkServiceUrl, C as resolveMSTeamsCredentials, F as loadMSTeamsSdkWithAuth, H as createMSTeamsHttpError, I as buildUserAgent, M as readAccessToken, P as createMSTeamsTokenProvider, R as describeBotFrameworkServiceUrlHost, S as loadDelegatedTokens, U as resolveMSTeamsSdkCloudOptions, W as validateMSTeamsProactiveServiceUrlBoundary, z as isAllowedBotFrameworkServiceUrl } from "./resolve-allowlist-BipHr5D9.js";
|
|
4
|
+
import { a as resolveMSTeamsReplyPolicy, o as resolveMSTeamsRouteConfig } from "./channel-Dgd5zc2f.js";
|
|
5
|
+
import { a as formatUnknownError, i as formatMSTeamsSendErrorHint, o as isRevokedProxyError, r as classifyMSTeamsSendError } from "./setup-surface-nTDRDFiN.js";
|
|
6
6
|
import { C as toPluginJsonValue, S as resolveMSTeamsSqliteStateEnv, o as buildMSTeamsPollCard, v as createMSTeamsConversationStoreState, w as withMSTeamsSqliteMutationLock } from "./polls-C1VgSvKE.js";
|
|
7
7
|
import { createMessageReceiptFromOutboundResults } from "openclaw/plugin-sdk/channel-outbound";
|
|
8
8
|
import { normalizeLowercaseStringOrEmpty, normalizeOptionalLowercaseString } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
@@ -552,7 +552,6 @@ const BOT_FRAMEWORK_SERVICE_URL_HOST_ALLOWLIST = normalizeHostnameSuffixAllowlis
|
|
|
552
552
|
"smba.infra.dod.teams.microsoft.us",
|
|
553
553
|
"botframework.azure.cn"
|
|
554
554
|
]);
|
|
555
|
-
if (!buildHostnameAllowlistPolicyFromSuffixAllowlist(BOT_FRAMEWORK_SERVICE_URL_HOST_ALLOWLIST)) throw new Error("Microsoft Teams Bot Framework serviceUrl allowlist is empty");
|
|
556
555
|
function describeBotFrameworkServiceUrlHost(serviceUrl) {
|
|
557
556
|
try {
|
|
558
557
|
return new URL(serviceUrl.trim()).hostname || "invalid-url";
|
package/dist/setup-plugin-api.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { C as resolveMSTeamsCredentials } from "./resolve-allowlist-
|
|
1
|
+
import { C as resolveMSTeamsCredentials } from "./resolve-allowlist-BipHr5D9.js";
|
|
2
2
|
import { t as MSTeamsChannelConfigSchema } from "./config-schema-BL4qQZiA.js";
|
|
3
|
-
import { c as msteamsSetupAdapter, t as msteamsSetupWizard } from "./setup-surface-
|
|
3
|
+
import { c as msteamsSetupAdapter, t as msteamsSetupWizard } from "./setup-surface-nTDRDFiN.js";
|
|
4
4
|
import { describeAccountSnapshot } from "openclaw/plugin-sdk/account-helpers";
|
|
5
5
|
import { formatAllowFromLowercase } from "openclaw/plugin-sdk/allow-from";
|
|
6
6
|
import { createTopLevelChannelConfigAdapter } from "openclaw/plugin-sdk/channel-config-helpers";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { C as resolveMSTeamsCredentials, T as normalizeSecretInputString, c as resolveMSTeamsUserAllowlist, o as parseMSTeamsTeamEntry, s as resolveMSTeamsChannelAllowlist, w as saveDelegatedTokens, x as hasConfiguredMSTeamsCredentials } from "./resolve-allowlist-
|
|
1
|
+
import { C as resolveMSTeamsCredentials, T as normalizeSecretInputString, c as resolveMSTeamsUserAllowlist, o as parseMSTeamsTeamEntry, s as resolveMSTeamsChannelAllowlist, w as saveDelegatedTokens, x as hasConfiguredMSTeamsCredentials } from "./resolve-allowlist-BipHr5D9.js";
|
|
2
2
|
import { isRecord } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
3
3
|
import { asFiniteNumberInRange, parseStrictFiniteNumber } from "openclaw/plugin-sdk/number-runtime";
|
|
4
4
|
import { DEFAULT_ACCOUNT_ID, createSetupTranslator, createStandardChannelSetupStatus, createTopLevelChannelAllowFromSetter, createTopLevelChannelDmPolicy, createTopLevelChannelGroupPolicySetter, mergeAllowFromEntries, splitSetupEntries } from "openclaw/plugin-sdk/setup";
|
|
@@ -449,7 +449,7 @@ const msteamsSetupWizard = {
|
|
|
449
449
|
}
|
|
450
450
|
};
|
|
451
451
|
try {
|
|
452
|
-
const { loginMSTeamsDelegated } = await import("./oauth-
|
|
452
|
+
const { loginMSTeamsDelegated } = await import("./oauth-D1UXa4tF.js");
|
|
453
453
|
const progress = params.prompter.progress(t("wizard.msteams.delegatedOAuthProgress"));
|
|
454
454
|
saveDelegatedTokens(await loginMSTeamsDelegated({
|
|
455
455
|
isRemote: true,
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { n as getOptionalMSTeamsRuntime, t as getMSTeamsRuntime } from "./runtime-BS5AZrKK.js";
|
|
2
2
|
import { DEFAULT_ACCOUNT_ID, DEFAULT_WEBHOOK_MAX_BODY_BYTES, buildMediaPayload, createChannelMessageReplyPipeline, createChannelPairingController, dispatchReplyFromConfigWithSettledDispatcher as dispatchReplyFromConfigWithSettledDispatcher$1, isDangerousNameMatchingEnabled, keepHttpServerTaskAlive, logTypingFailure, mergeAllowlist, resolveChannelMediaMaxBytes, resolveDefaultGroupPolicy, summarizeMapping } from "./runtime-api.js";
|
|
3
|
-
import { $ as inferPlaceholder, C as resolveMSTeamsCredentials, F as loadMSTeamsSdkWithAuth, G as ATTACHMENT_TAG_RE, J as applyAuthorizationHeaderForUrl, K as GRAPH_ROOT, L as ensureUserAgentHeader, N as createMSTeamsExpressAdapter, P as createMSTeamsTokenProvider, Q as extractInlineImageCandidates, U as resolveMSTeamsSdkCloudOptions, V as tryNormalizeBotFrameworkServiceUrl, X as estimateBase64DecodedBytes, Y as encodeGraphShareId, Z as extractHtmlFromAttachment, at as readNestedString, c as resolveMSTeamsUserAllowlist, ct as resolveRequestUrl, dt as tryBuildGraphSharesUrlForSharedLink, et as isDownloadableAttachment, it as normalizeContentType, lt as safeFetchWithPolicy, nt as isRecord$1, ot as resolveAttachmentFetchPolicy, p as fetchGraphJson, q as IMG_SRC_RE, rt as isUrlAllowed, s as resolveMSTeamsChannelAllowlist, st as resolveMediaSsrfPolicy, tt as isLikelyImageAttachment, ut as safeHostForUrl } from "./resolve-allowlist-
|
|
4
|
-
import { a as resolveMSTeamsReplyPolicy, i as resolveMSTeamsAllowlistMatch, o as resolveMSTeamsRouteConfig } from "./channel-
|
|
5
|
-
import { a as formatUnknownError, i as formatMSTeamsSendErrorHint, r as classifyMSTeamsSendError } from "./setup-surface-
|
|
3
|
+
import { $ as inferPlaceholder, C as resolveMSTeamsCredentials, F as loadMSTeamsSdkWithAuth, G as ATTACHMENT_TAG_RE, J as applyAuthorizationHeaderForUrl, K as GRAPH_ROOT, L as ensureUserAgentHeader, N as createMSTeamsExpressAdapter, P as createMSTeamsTokenProvider, Q as extractInlineImageCandidates, U as resolveMSTeamsSdkCloudOptions, V as tryNormalizeBotFrameworkServiceUrl, X as estimateBase64DecodedBytes, Y as encodeGraphShareId, Z as extractHtmlFromAttachment, at as readNestedString, c as resolveMSTeamsUserAllowlist, ct as resolveRequestUrl, dt as tryBuildGraphSharesUrlForSharedLink, et as isDownloadableAttachment, it as normalizeContentType, lt as safeFetchWithPolicy, nt as isRecord$1, ot as resolveAttachmentFetchPolicy, p as fetchGraphJson, q as IMG_SRC_RE, rt as isUrlAllowed, s as resolveMSTeamsChannelAllowlist, st as resolveMediaSsrfPolicy, tt as isLikelyImageAttachment, ut as safeHostForUrl } from "./resolve-allowlist-BipHr5D9.js";
|
|
4
|
+
import { a as resolveMSTeamsReplyPolicy, i as resolveMSTeamsAllowlistMatch, o as resolveMSTeamsRouteConfig } from "./channel-Dgd5zc2f.js";
|
|
5
|
+
import { a as formatUnknownError, i as formatMSTeamsSendErrorHint, r as classifyMSTeamsSendError } from "./setup-surface-nTDRDFiN.js";
|
|
6
6
|
import { l as createMSTeamsPollStoreState, u as extractMSTeamsPollVote, v as createMSTeamsConversationStoreState } from "./polls-C1VgSvKE.js";
|
|
7
7
|
import { i as createMSTeamsSsoTokenStoreFs } from "./sso-token-store-BYZaKr82.js";
|
|
8
|
-
import { _ as buildFileInfoCard, 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 sendMSTeamsActivityWithReference, v as parseFileConsentInvoke, y as uploadToConsentUrl } from "./probe-
|
|
8
|
+
import { _ as buildFileInfoCard, 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 sendMSTeamsActivityWithReference, v as parseFileConsentInvoke, y as uploadToConsentUrl } from "./probe-gaWD-R4K.js";
|
|
9
9
|
import { formatAllowlistMatchMeta } from "openclaw/plugin-sdk/allow-from";
|
|
10
10
|
import { buildChannelProgressDraftLine, buildChannelProgressDraftLineForEntry, createChannelProgressDraftGate, formatChannelProgressDraftText, isChannelProgressDraftWorkToolName, mergeChannelProgressDraftLine, normalizeChannelProgressDraftLineIdentity, resolveChannelPreviewStreamMode, resolveChannelProgressDraftMaxLines, resolveChannelStreamingBlockEnabled, resolveChannelStreamingPreviewToolProgress, resolveChannelStreamingSuppressDefaultToolProgressMessages } from "openclaw/plugin-sdk/channel-outbound";
|
|
11
|
-
import { normalizeLowercaseStringOrEmpty, normalizeOptionalLowercaseString, normalizeOptionalString, uniqueStrings } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
11
|
+
import { isRecord, normalizeLowercaseStringOrEmpty, normalizeOptionalLowercaseString, normalizeOptionalString, uniqueStrings } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
12
12
|
import { parseMediaContentLength, saveResponseMedia } from "openclaw/plugin-sdk/media-runtime";
|
|
13
13
|
import { buildChannelInboundEventContext, dispatchReplyFromConfigWithSettledDispatcher, hasFinalInboundReplyDispatch, logInboundDrop, resolveInboundMentionDecision, resolveInboundReplyDispatchCounts, resolveInboundSessionEnvelopeContext } from "openclaw/plugin-sdk/channel-inbound";
|
|
14
14
|
import { fetchWithSsrFGuard } from "openclaw/plugin-sdk/ssrf-runtime";
|
|
@@ -1932,6 +1932,8 @@ function createMSTeamsReplyDispatcher(params) {
|
|
|
1932
1932
|
const detailMode = typeof payload?.detailMode === "string" ? payload.detailMode : void 0;
|
|
1933
1933
|
await streamController.pushProgressLine(buildChannelProgressDraftLineForEntry(msteamsCfg, {
|
|
1934
1934
|
event: "tool",
|
|
1935
|
+
...typeof payload?.itemId === "string" ? { itemId: payload.itemId } : {},
|
|
1936
|
+
...typeof payload?.toolCallId === "string" ? { toolCallId: payload.toolCallId } : {},
|
|
1935
1937
|
...name ? { name } : {},
|
|
1936
1938
|
...typeof payload?.phase === "string" ? { phase: payload.phase } : {},
|
|
1937
1939
|
...payload?.args && typeof payload.args === "object" ? { args: payload.args } : {}
|
|
@@ -1940,6 +1942,8 @@ function createMSTeamsReplyDispatcher(params) {
|
|
|
1940
1942
|
onItemEvent: async (payload) => {
|
|
1941
1943
|
await streamController.pushProgressLine(buildChannelProgressDraftLineForEntry(msteamsCfg, {
|
|
1942
1944
|
event: "item",
|
|
1945
|
+
...typeof payload?.itemId === "string" ? { itemId: payload.itemId } : {},
|
|
1946
|
+
...typeof payload?.toolCallId === "string" ? { toolCallId: payload.toolCallId } : {},
|
|
1943
1947
|
...typeof payload?.kind === "string" ? { itemKind: payload.kind } : {},
|
|
1944
1948
|
...typeof payload?.title === "string" ? { title: payload.title } : {},
|
|
1945
1949
|
...typeof payload?.name === "string" ? { name: payload.name } : {},
|
|
@@ -1975,6 +1979,8 @@ function createMSTeamsReplyDispatcher(params) {
|
|
|
1975
1979
|
if (payload?.phase !== "end") return;
|
|
1976
1980
|
await streamController.pushProgressLine(buildChannelProgressDraftLine({
|
|
1977
1981
|
event: "command-output",
|
|
1982
|
+
...typeof payload?.itemId === "string" ? { itemId: payload.itemId } : {},
|
|
1983
|
+
...typeof payload?.toolCallId === "string" ? { toolCallId: payload.toolCallId } : {},
|
|
1978
1984
|
phase: payload.phase,
|
|
1979
1985
|
...typeof payload?.title === "string" ? { title: payload.title } : {},
|
|
1980
1986
|
...typeof payload?.name === "string" ? { name: payload.name } : {},
|
|
@@ -1986,6 +1992,8 @@ function createMSTeamsReplyDispatcher(params) {
|
|
|
1986
1992
|
if (payload?.phase !== "end") return;
|
|
1987
1993
|
await streamController.pushProgressLine(buildChannelProgressDraftLine({
|
|
1988
1994
|
event: "patch",
|
|
1995
|
+
...typeof payload?.itemId === "string" ? { itemId: payload.itemId } : {},
|
|
1996
|
+
...typeof payload?.toolCallId === "string" ? { toolCallId: payload.toolCallId } : {},
|
|
1989
1997
|
phase: payload.phase,
|
|
1990
1998
|
...typeof payload?.title === "string" ? { title: payload.title } : {},
|
|
1991
1999
|
...typeof payload?.name === "string" ? { name: payload.name } : {},
|
|
@@ -3029,14 +3037,29 @@ function buildGroupWelcomeText(botName) {
|
|
|
3029
3037
|
}
|
|
3030
3038
|
//#endregion
|
|
3031
3039
|
//#region extensions/msteams/src/monitor-handler.ts
|
|
3040
|
+
function extractAdaptiveCardSubmittedData(value) {
|
|
3041
|
+
if (!isRecord(value)) return value;
|
|
3042
|
+
const action = isRecord(value.action) ? value.action : void 0;
|
|
3043
|
+
if (action && normalizeOptionalLowercaseString(action.type) === "action.submit" && "data" in action) return action.data;
|
|
3044
|
+
return value;
|
|
3045
|
+
}
|
|
3046
|
+
function readMSTeamsImBackValue(value) {
|
|
3047
|
+
if (!isRecord(value)) return null;
|
|
3048
|
+
const msteams = isRecord(value.msteams) ? value.msteams : void 0;
|
|
3049
|
+
if (!msteams || normalizeOptionalLowercaseString(msteams.type) !== "imback") return null;
|
|
3050
|
+
return normalizeOptionalString(msteams.value) ?? null;
|
|
3051
|
+
}
|
|
3032
3052
|
function serializeAdaptiveCardActionValue(value) {
|
|
3033
|
-
|
|
3034
|
-
|
|
3053
|
+
const submittedValue = extractAdaptiveCardSubmittedData(value);
|
|
3054
|
+
if (typeof submittedValue === "string") {
|
|
3055
|
+
const trimmed = submittedValue.trim();
|
|
3035
3056
|
return trimmed ? trimmed : null;
|
|
3036
3057
|
}
|
|
3037
|
-
|
|
3058
|
+
const imBackValue = readMSTeamsImBackValue(submittedValue);
|
|
3059
|
+
if (imBackValue) return imBackValue;
|
|
3060
|
+
if (submittedValue == null) return null;
|
|
3038
3061
|
try {
|
|
3039
|
-
return JSON.stringify(
|
|
3062
|
+
return JSON.stringify(submittedValue);
|
|
3040
3063
|
} catch {
|
|
3041
3064
|
return null;
|
|
3042
3065
|
}
|
|
@@ -277,6 +277,11 @@ const parseComparator = (comp, options) => {
|
|
|
277
277
|
|
|
278
278
|
const isX = id => !id || id.toLowerCase() === 'x' || id === '*'
|
|
279
279
|
|
|
280
|
+
const invalidXRangeOrder = (M, m, p) => (
|
|
281
|
+
(isX(M) && !isX(m)) ||
|
|
282
|
+
(isX(m) && p && !isX(p))
|
|
283
|
+
)
|
|
284
|
+
|
|
280
285
|
// ~, ~> --> * (any, kinda silly)
|
|
281
286
|
// ~2, ~2.x, ~2.x.x, ~>2, ~>2.x ~>2.x.x --> >=2.0.0 <3.0.0-0
|
|
282
287
|
// ~2.0, ~2.0.x, ~>2.0, ~>2.0.x --> >=2.0.0 <2.1.0-0
|
|
@@ -373,10 +378,10 @@ const replaceCaret = (comp, options) => {
|
|
|
373
378
|
if (M === '0') {
|
|
374
379
|
if (m === '0') {
|
|
375
380
|
ret = `>=${M}.${m}.${p
|
|
376
|
-
}
|
|
381
|
+
} <${M}.${m}.${+p + 1}-0`
|
|
377
382
|
} else {
|
|
378
383
|
ret = `>=${M}.${m}.${p
|
|
379
|
-
}
|
|
384
|
+
} <${M}.${+m + 1}.0-0`
|
|
380
385
|
}
|
|
381
386
|
} else {
|
|
382
387
|
ret = `>=${M}.${m}.${p
|
|
@@ -402,6 +407,10 @@ const replaceXRange = (comp, options) => {
|
|
|
402
407
|
const r = options.loose ? re[t.XRANGELOOSE] : re[t.XRANGE]
|
|
403
408
|
return comp.replace(r, (ret, gtlt, M, m, p, pr) => {
|
|
404
409
|
debug('xRange', comp, ret, gtlt, M, m, p, pr)
|
|
410
|
+
if (invalidXRangeOrder(M, m, p)) {
|
|
411
|
+
return comp
|
|
412
|
+
}
|
|
413
|
+
|
|
405
414
|
const xM = isX(M)
|
|
406
415
|
const xm = xM || isX(m)
|
|
407
416
|
const xp = xm || isX(p)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "semver",
|
|
3
|
-
"version": "7.8.
|
|
3
|
+
"version": "7.8.4",
|
|
4
4
|
"description": "The semantic version parser used by npm.",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
"eslint": "eslint \"**/*.{js,cjs,ts,mjs,jsx,tsx}\""
|
|
15
15
|
},
|
|
16
16
|
"devDependencies": {
|
|
17
|
-
"@npmcli/eslint-config": "^
|
|
17
|
+
"@npmcli/eslint-config": "^7.0.0",
|
|
18
18
|
"@npmcli/template-oss": "5.0.0",
|
|
19
19
|
"benchmark": "^2.1.4",
|
|
20
20
|
"tap": "^16.0.0"
|
package/npm-shrinkwrap.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@openclaw/msteams",
|
|
3
|
-
"version": "2026.6.
|
|
3
|
+
"version": "2026.6.9-beta.1",
|
|
4
4
|
"lockfileVersion": 3,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "@openclaw/msteams",
|
|
9
|
-
"version": "2026.6.
|
|
9
|
+
"version": "2026.6.9-beta.1",
|
|
10
10
|
"dependencies": {
|
|
11
11
|
"@azure/identity": "4.13.1",
|
|
12
12
|
"@microsoft/teams.api": "2.0.12",
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
"typebox": "1.1.39"
|
|
16
16
|
},
|
|
17
17
|
"peerDependencies": {
|
|
18
|
-
"openclaw": ">=2026.6.
|
|
18
|
+
"openclaw": ">=2026.6.9-beta.1"
|
|
19
19
|
},
|
|
20
20
|
"peerDependenciesMeta": {
|
|
21
21
|
"openclaw": {
|
|
@@ -1467,9 +1467,9 @@
|
|
|
1467
1467
|
"license": "MIT"
|
|
1468
1468
|
},
|
|
1469
1469
|
"node_modules/semver": {
|
|
1470
|
-
"version": "7.8.
|
|
1471
|
-
"resolved": "https://registry.npmjs.org/semver/-/semver-7.8.
|
|
1472
|
-
"integrity": "sha512-
|
|
1470
|
+
"version": "7.8.4",
|
|
1471
|
+
"resolved": "https://registry.npmjs.org/semver/-/semver-7.8.4.tgz",
|
|
1472
|
+
"integrity": "sha512-rUCObTnP32Q08R2uuIrt7r9PlEonuTmtuXYcW6s5kjdlj3xbnwe+21yXptAUYcMAABLkYYTtnmzb3w3EDZfueA==",
|
|
1473
1473
|
"license": "ISC",
|
|
1474
1474
|
"bin": {
|
|
1475
1475
|
"semver": "bin/semver.js"
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@openclaw/msteams",
|
|
3
|
-
"version": "2026.6.
|
|
3
|
+
"version": "2026.6.9-beta.1",
|
|
4
4
|
"description": "OpenClaw Microsoft Teams channel plugin for bot conversations.",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
"typebox": "1.1.39"
|
|
16
16
|
},
|
|
17
17
|
"peerDependencies": {
|
|
18
|
-
"openclaw": ">=2026.6.
|
|
18
|
+
"openclaw": ">=2026.6.9-beta.1"
|
|
19
19
|
},
|
|
20
20
|
"peerDependenciesMeta": {
|
|
21
21
|
"openclaw": {
|
|
@@ -51,10 +51,10 @@
|
|
|
51
51
|
"minHostVersion": ">=2026.4.10"
|
|
52
52
|
},
|
|
53
53
|
"compat": {
|
|
54
|
-
"pluginApi": ">=2026.6.
|
|
54
|
+
"pluginApi": ">=2026.6.9-beta.1"
|
|
55
55
|
},
|
|
56
56
|
"build": {
|
|
57
|
-
"openclawVersion": "2026.6.
|
|
57
|
+
"openclawVersion": "2026.6.9-beta.1"
|
|
58
58
|
},
|
|
59
59
|
"release": {
|
|
60
60
|
"publishToClawHub": true,
|