@openclaw/msteams 2026.9.34 → 2026.9.36
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/.setup/{approval-handler.runtime-D1s7UR3U.cjs → approval-handler.runtime-Da7u1cF0.cjs} +3 -3
- package/dist/.setup/{channel-ByzS7QJ0.cjs → channel-BXCVM26V.cjs} +6 -6
- package/dist/.setup/{channel.runtime-Baz8XDFs.cjs → channel.runtime-CF1zg0CR.cjs} +6 -6
- package/dist/.setup/{channel.setup-DL8lcWT_.cjs → channel.setup-CTlKLkEP.cjs} +2 -2
- package/dist/.setup/{conversation-store-state-B7JuyZTm.cjs → conversation-store-state-tQtK-Qm3.cjs} +2 -2
- package/dist/.setup/{monitor-BJ7IyH4y.cjs → monitor-CGKsYj9l.cjs} +13 -15
- package/dist/.setup/{oauth-DQjOnJ4l.cjs → oauth-Dvl_2VcZ.cjs} +1 -1
- package/dist/.setup/{reaction-types-CQ4oSUe7.cjs → reaction-types-iKb8qkSt.cjs} +1 -1
- package/dist/.setup/{resolve-allowlist-Pl_NQFYH.cjs → resolve-allowlist-CQFnY1-j.cjs} +122 -25
- package/dist/.setup/{send-VUM7Sryb.cjs → send-CB-b2WAc.cjs} +4 -4
- package/dist/.setup/{setup-plugin-api-Dyf8kF-l.cjs → setup-plugin-api-GLQ9kPOr.cjs} +1 -1
- package/dist/.setup/{thread-session--rw3BTal.cjs → thread-session-BkQzjhtJ.cjs} +1 -1
- package/dist/.source-module-urls/f5eb4efa8aa949f29b0b6350e09c004cee922a68414b0f13f9b6615b02452678.json +1 -0
- package/dist/api.cjs +2 -2
- package/dist/channel-plugin-api.cjs +1 -1
- package/dist/directory-contract-api.cjs +1 -1
- package/dist/setup-entry.cjs +1 -1
- package/dist/setup-plugin-api.cjs +1 -1
- package/package.json +4 -4
package/dist/.setup/{approval-handler.runtime-D1s7UR3U.cjs → approval-handler.runtime-Da7u1cF0.cjs}
RENAMED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
const require_resolve_allowlist = require("./resolve-allowlist-
|
|
2
|
-
const require_channel = require("./channel-
|
|
1
|
+
const require_resolve_allowlist = require("./resolve-allowlist-CQFnY1-j.cjs");
|
|
2
|
+
const require_channel = require("./channel-BXCVM26V.cjs");
|
|
3
3
|
const require_approval_card = require("./approval-card-DWPDItvq.cjs");
|
|
4
|
-
const require_send = require("./send-
|
|
4
|
+
const require_send = require("./send-CB-b2WAc.cjs");
|
|
5
5
|
let openclaw_plugin_sdk_account_id = require("openclaw/plugin-sdk/account-id");
|
|
6
6
|
let openclaw_plugin_sdk_approval_native_runtime = require("openclaw/plugin-sdk/approval-native-runtime");
|
|
7
7
|
let openclaw_plugin_sdk_approval_handler_runtime = require("openclaw/plugin-sdk/approval-handler-runtime");
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
const require_rolldown_runtime = require("./rolldown-runtime-BloeesfJ.cjs");
|
|
2
2
|
require("../runtime-api.cjs");
|
|
3
|
-
const require_resolve_allowlist = require("./resolve-allowlist-
|
|
3
|
+
const require_resolve_allowlist = require("./resolve-allowlist-CQFnY1-j.cjs");
|
|
4
4
|
const require_directory_contract_api = require("../directory-contract-api.cjs");
|
|
5
|
-
const require_thread_session = require("./thread-session
|
|
6
|
-
const require_channel_setup = require("./channel.setup-
|
|
5
|
+
const require_thread_session = require("./thread-session-BkQzjhtJ.cjs");
|
|
6
|
+
const require_channel_setup = require("./channel.setup-CTlKLkEP.cjs");
|
|
7
7
|
let openclaw_plugin_sdk_approval_handler_adapter_runtime = require("openclaw/plugin-sdk/approval-handler-adapter-runtime");
|
|
8
8
|
let openclaw_plugin_sdk_channel_actions = require("openclaw/plugin-sdk/channel-actions");
|
|
9
9
|
let openclaw_plugin_sdk_channel_core = require("openclaw/plugin-sdk/channel-core");
|
|
@@ -393,7 +393,7 @@ const msTeamsLazyApprovalNativeRuntime = (0, openclaw_plugin_sdk_approval_handle
|
|
|
393
393
|
request
|
|
394
394
|
}),
|
|
395
395
|
load: async () => {
|
|
396
|
-
const { msTeamsApprovalNativeRuntime } = await Promise.resolve().then(() => require("./approval-handler.runtime-
|
|
396
|
+
const { msTeamsApprovalNativeRuntime } = await Promise.resolve().then(() => require("./approval-handler.runtime-Da7u1cF0.cjs"));
|
|
397
397
|
return msTeamsApprovalNativeRuntime;
|
|
398
398
|
}
|
|
399
399
|
});
|
|
@@ -1039,7 +1039,7 @@ const collectMSTeamsSecurityFindings = openclaw_plugin_sdk_channel_policy.create
|
|
|
1039
1039
|
severity: "warn",
|
|
1040
1040
|
title: "MS Teams security warning"
|
|
1041
1041
|
});
|
|
1042
|
-
const loadMSTeamsChannelRuntime = (0, openclaw_plugin_sdk_lazy_runtime.createLazyRuntimeNamedExport)(() => Promise.resolve().then(() => require("./channel.runtime-
|
|
1042
|
+
const loadMSTeamsChannelRuntime = (0, openclaw_plugin_sdk_lazy_runtime.createLazyRuntimeNamedExport)(() => Promise.resolve().then(() => require("./channel.runtime-CF1zg0CR.cjs")), "msTeamsChannelRuntime");
|
|
1043
1043
|
const MSTEAMS_REACTION_TYPES = [
|
|
1044
1044
|
"like",
|
|
1045
1045
|
"heart",
|
|
@@ -1665,7 +1665,7 @@ const msteamsPlugin = (0, openclaw_plugin_sdk_channel_core.createChatChannelPlug
|
|
|
1665
1665
|
})
|
|
1666
1666
|
}),
|
|
1667
1667
|
gateway: { startAccount: async (ctx) => {
|
|
1668
|
-
const { monitorMSTeamsProvider } = await Promise.resolve().then(() => require("./monitor-
|
|
1668
|
+
const { monitorMSTeamsProvider } = await Promise.resolve().then(() => require("./monitor-CGKsYj9l.cjs"));
|
|
1669
1669
|
const webhookPath = ctx.cfg.channels?.msteams?.webhook?.path || "/api/messages";
|
|
1670
1670
|
const statusSink = (0, openclaw_plugin_sdk_channel_outbound.createAccountStatusSink)({
|
|
1671
1671
|
accountId: ctx.accountId,
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
require("../runtime-api.cjs");
|
|
2
|
-
const require_resolve_allowlist = require("./resolve-allowlist-
|
|
2
|
+
const require_resolve_allowlist = require("./resolve-allowlist-CQFnY1-j.cjs");
|
|
3
3
|
const require_delegated_state = require("./delegated-state-u-ywZyZT.cjs");
|
|
4
|
-
const require_channel = require("./channel-
|
|
5
|
-
const require_channel_setup = require("./channel.setup-
|
|
6
|
-
const require_conversation_store_state = require("./conversation-store-state-
|
|
7
|
-
const require_send = require("./send-
|
|
8
|
-
const require_reaction_types = require("./reaction-types-
|
|
4
|
+
const require_channel = require("./channel-BXCVM26V.cjs");
|
|
5
|
+
const require_channel_setup = require("./channel.setup-CTlKLkEP.cjs");
|
|
6
|
+
const require_conversation_store_state = require("./conversation-store-state-tQtK-Qm3.cjs");
|
|
7
|
+
const require_send = require("./send-CB-b2WAc.cjs");
|
|
8
|
+
const require_reaction_types = require("./reaction-types-iKb8qkSt.cjs");
|
|
9
9
|
let openclaw_plugin_sdk_channel_outbound = require("openclaw/plugin-sdk/channel-outbound");
|
|
10
10
|
let openclaw_plugin_sdk_string_coerce_runtime = require("openclaw/plugin-sdk/string-coerce-runtime");
|
|
11
11
|
let openclaw_plugin_sdk_reply_payload = require("openclaw/plugin-sdk/reply-payload");
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const require_resolve_allowlist = require("./resolve-allowlist-
|
|
1
|
+
const require_resolve_allowlist = require("./resolve-allowlist-CQFnY1-j.cjs");
|
|
2
2
|
const require_delegated_state = require("./delegated-state-u-ywZyZT.cjs");
|
|
3
3
|
const require_config_schema = require("./config-schema-0KoBzb0t.cjs");
|
|
4
4
|
let openclaw_plugin_sdk_string_coerce_runtime = require("openclaw/plugin-sdk/string-coerce-runtime");
|
|
@@ -475,7 +475,7 @@ const msteamsSetupWizard = {
|
|
|
475
475
|
};
|
|
476
476
|
let oauthModule;
|
|
477
477
|
try {
|
|
478
|
-
oauthModule = await Promise.resolve().then(() => require("./oauth-
|
|
478
|
+
oauthModule = await Promise.resolve().then(() => require("./oauth-Dvl_2VcZ.cjs"));
|
|
479
479
|
} catch (err) {
|
|
480
480
|
await noteDelegatedAuthFailure(err);
|
|
481
481
|
return {
|
package/dist/.setup/{conversation-store-state-B7JuyZTm.cjs → conversation-store-state-tQtK-Qm3.cjs}
RENAMED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
const require_rolldown_runtime = require("./rolldown-runtime-BloeesfJ.cjs");
|
|
2
2
|
const require_runtime = require("./runtime-gZTAuFux.cjs");
|
|
3
3
|
require("../runtime-api.cjs");
|
|
4
|
-
const require_resolve_allowlist = require("./resolve-allowlist-
|
|
4
|
+
const require_resolve_allowlist = require("./resolve-allowlist-CQFnY1-j.cjs");
|
|
5
5
|
const require_bot_framework_service_url = require("./bot-framework-service-url-BUhTe8F3.cjs");
|
|
6
|
-
const require_channel_setup = require("./channel.setup-
|
|
6
|
+
const require_channel_setup = require("./channel.setup-CTlKLkEP.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");
|
|
9
9
|
let openclaw_plugin_sdk_fetch_runtime = require("openclaw/plugin-sdk/fetch-runtime");
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
const require_rolldown_runtime = require("./rolldown-runtime-BloeesfJ.cjs");
|
|
2
2
|
const require_runtime = require("./runtime-gZTAuFux.cjs");
|
|
3
3
|
require("../runtime-api.cjs");
|
|
4
|
-
const require_resolve_allowlist = require("./resolve-allowlist-
|
|
4
|
+
const require_resolve_allowlist = require("./resolve-allowlist-CQFnY1-j.cjs");
|
|
5
5
|
const require_bot_framework_service_url = require("./bot-framework-service-url-BUhTe8F3.cjs");
|
|
6
|
-
const require_channel = require("./channel-
|
|
7
|
-
const require_thread_session = require("./thread-session
|
|
8
|
-
const require_channel_setup = require("./channel.setup-
|
|
6
|
+
const require_channel = require("./channel-BXCVM26V.cjs");
|
|
7
|
+
const require_thread_session = require("./thread-session-BkQzjhtJ.cjs");
|
|
8
|
+
const require_channel_setup = require("./channel.setup-CTlKLkEP.cjs");
|
|
9
9
|
const require_approval_card = require("./approval-card-DWPDItvq.cjs");
|
|
10
|
-
const require_conversation_store_state = require("./conversation-store-state-
|
|
11
|
-
const require_reaction_types = require("./reaction-types-
|
|
10
|
+
const require_conversation_store_state = require("./conversation-store-state-tQtK-Qm3.cjs");
|
|
11
|
+
const require_reaction_types = require("./reaction-types-iKb8qkSt.cjs");
|
|
12
12
|
let openclaw_plugin_sdk_channel_outbound = require("openclaw/plugin-sdk/channel-outbound");
|
|
13
13
|
let openclaw_plugin_sdk_string_coerce_runtime = require("openclaw/plugin-sdk/string-coerce-runtime");
|
|
14
14
|
let openclaw_plugin_sdk_allow_from = require("openclaw/plugin-sdk/allow-from");
|
|
@@ -769,9 +769,8 @@ function extractMSTeamsHtmlAttachmentIds(attachments) {
|
|
|
769
769
|
for (const att of list) {
|
|
770
770
|
const html = require_resolve_allowlist.extractHtmlFromAttachment(att);
|
|
771
771
|
if (!html) continue;
|
|
772
|
-
require_resolve_allowlist.
|
|
773
|
-
|
|
774
|
-
const id = match[1]?.trim();
|
|
772
|
+
for (const value of require_resolve_allowlist.htmlTagAttributeValues(html, "attachment", "id")) {
|
|
773
|
+
const id = value.trim();
|
|
775
774
|
if (id) ids.add(id);
|
|
776
775
|
}
|
|
777
776
|
}
|
|
@@ -791,20 +790,18 @@ function summarizeMSTeamsHtmlAttachments(attachments) {
|
|
|
791
790
|
const html = require_resolve_allowlist.extractHtmlFromAttachment(att);
|
|
792
791
|
if (!html) continue;
|
|
793
792
|
htmlAttachments += 1;
|
|
794
|
-
require_resolve_allowlist.
|
|
795
|
-
for (const match of html.matchAll(require_resolve_allowlist.IMG_SRC_RE)) {
|
|
793
|
+
for (const value of require_resolve_allowlist.htmlTagAttributeValues(html, "img", "src")) {
|
|
796
794
|
imgTags += 1;
|
|
797
|
-
const src =
|
|
795
|
+
const src = value.trim();
|
|
798
796
|
if (src) {
|
|
799
797
|
if (src.startsWith("data:")) dataImages += 1;
|
|
800
798
|
else if (src.startsWith("cid:")) cidImages += 1;
|
|
801
799
|
else srcHosts.add(require_resolve_allowlist.safeHostForUrl(src));
|
|
802
800
|
}
|
|
803
801
|
}
|
|
804
|
-
require_resolve_allowlist.
|
|
805
|
-
for (const attachmentMatch of html.matchAll(require_resolve_allowlist.ATTACHMENT_TAG_RE)) {
|
|
802
|
+
for (const value of require_resolve_allowlist.htmlTagAttributeValues(html, "attachment", "id")) {
|
|
806
803
|
attachmentTags += 1;
|
|
807
|
-
const id =
|
|
804
|
+
const id = value.trim();
|
|
808
805
|
if (id) attachmentIds.add(id);
|
|
809
806
|
}
|
|
810
807
|
}
|
|
@@ -4115,6 +4112,7 @@ async function monitorMSTeamsProvider(opts) {
|
|
|
4115
4112
|
} catch (err) {
|
|
4116
4113
|
runtime.error?.(`msteams resolve failed; mutable allowlist entries are disabled. ${require_channel_setup.formatUnknownError(err)}`);
|
|
4117
4114
|
}
|
|
4115
|
+
if (Array.isArray(configuredGroupAllowFrom)) groupAllowFrom = require_resolve_allowlist.keepConfiguredMSTeamsAllowlistActive(configuredGroupAllowFrom, groupAllowFrom);
|
|
4118
4116
|
if (configuredGroupAllowFrom == null && groupAllowFrom) groupAllowFrom = (0, openclaw_plugin_sdk_allow_from.mergeAllowlist)({
|
|
4119
4117
|
existing: groupAllowFrom,
|
|
4120
4118
|
additions: allowFrom ?? []
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const require_resolve_allowlist = require("./resolve-allowlist-
|
|
1
|
+
const require_resolve_allowlist = require("./resolve-allowlist-CQFnY1-j.cjs");
|
|
2
2
|
let openclaw_plugin_sdk_runtime_env = require("openclaw/plugin-sdk/runtime-env");
|
|
3
3
|
let openclaw_plugin_sdk_provider_auth = require("openclaw/plugin-sdk/provider-auth");
|
|
4
4
|
let openclaw_plugin_sdk_provider_auth_runtime = require("openclaw/plugin-sdk/provider-auth-runtime");
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const require_resolve_allowlist = require("./resolve-allowlist-
|
|
1
|
+
const require_resolve_allowlist = require("./resolve-allowlist-CQFnY1-j.cjs");
|
|
2
2
|
//#region extensions/msteams/src/graph-thread.ts
|
|
3
3
|
/**
|
|
4
4
|
* Strip HTML tags from Teams message content, preserving @mention display names.
|
|
@@ -64,8 +64,48 @@ async function withMSTeamsAbortableRequestTimeout(params) {
|
|
|
64
64
|
//#endregion
|
|
65
65
|
//#region extensions/msteams/src/attachments/shared.ts
|
|
66
66
|
const IMAGE_EXT_RE = /\.(avif|bmp|gif|heic|heif|jpe?g|png|tiff?|webp)$/i;
|
|
67
|
-
|
|
68
|
-
|
|
67
|
+
/**
|
|
68
|
+
* Values of `attr` on each `<tag ...>` in document order, matching the captures of
|
|
69
|
+
* `/<tag[^>]+attr=["']([^"']+)["'][^>]*>/gi`: the last attribute spelling inside the
|
|
70
|
+
* tag wins, and a quoted value may contain `>`. Each `<tag` start is resolved from
|
|
71
|
+
* precomputed next-`>` and next-quote positions in one forward pass.
|
|
72
|
+
*/
|
|
73
|
+
function htmlTagAttributeValues(html, tag, attr) {
|
|
74
|
+
const length = html.length;
|
|
75
|
+
const nextGt = new Int32Array(length + 1).fill(length);
|
|
76
|
+
const nextQuote = new Int32Array(length + 1).fill(length);
|
|
77
|
+
for (let index = length - 1; index >= 0; index -= 1) {
|
|
78
|
+
const char = html[index];
|
|
79
|
+
nextGt[index] = char === ">" ? index : nextGt[index + 1];
|
|
80
|
+
nextQuote[index] = char === "\"" || char === "'" ? index : nextQuote[index + 1];
|
|
81
|
+
}
|
|
82
|
+
const candidates = [];
|
|
83
|
+
for (const match of html.matchAll(new RegExp(`${attr}=["']`, "gi"))) {
|
|
84
|
+
const valueStart = match.index + match[0].length;
|
|
85
|
+
const valueEnd = nextQuote[valueStart];
|
|
86
|
+
if (valueEnd > valueStart && valueEnd < length && nextGt[valueEnd + 1] < length) candidates.push({
|
|
87
|
+
start: match.index,
|
|
88
|
+
valueStart,
|
|
89
|
+
valueEnd,
|
|
90
|
+
end: nextGt[valueEnd + 1] + 1
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
const values = [];
|
|
94
|
+
let resumeAt = 0;
|
|
95
|
+
let pastWindow = 0;
|
|
96
|
+
for (const open of html.matchAll(new RegExp(`<${tag}`, "gi"))) {
|
|
97
|
+
if (open.index < resumeAt) continue;
|
|
98
|
+
const nameEnd = open.index + open[0].length;
|
|
99
|
+
const lastStart = nextGt[nameEnd];
|
|
100
|
+
while (pastWindow < candidates.length && candidates[pastWindow].start <= lastStart) pastWindow += 1;
|
|
101
|
+
const candidate = candidates[pastWindow - 1];
|
|
102
|
+
if (candidate && candidate.start > nameEnd) {
|
|
103
|
+
values.push(html.slice(candidate.valueStart, candidate.valueEnd));
|
|
104
|
+
resumeAt = candidate.end;
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
return values;
|
|
108
|
+
}
|
|
69
109
|
const GRAPH_HOSTED_CONTENT_SRC_RE = /\/hostedContents\/([^/?#]+)/i;
|
|
70
110
|
function resolveInlineImageSourceId(src) {
|
|
71
111
|
const hostedContentId = GRAPH_HOSTED_CONTENT_SRC_RE.exec(src)?.[1];
|
|
@@ -222,9 +262,8 @@ function extractInlineImageReferences(attachments) {
|
|
|
222
262
|
for (const att of attachments) {
|
|
223
263
|
const html = extractHtmlFromAttachment(att);
|
|
224
264
|
if (!html) continue;
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
const src = match[1]?.trim();
|
|
265
|
+
for (const value of htmlTagAttributeValues(html, "img", "src")) {
|
|
266
|
+
const src = value.trim();
|
|
228
267
|
if (src) {
|
|
229
268
|
if (src.startsWith("data:")) out.push({
|
|
230
269
|
kind: "data",
|
|
@@ -1114,6 +1153,34 @@ function htmlToPlainText(html) {
|
|
|
1114
1153
|
return (0, openclaw_plugin_sdk_html_entity_runtime.decodeHtmlEntities)(html.replace(/<[^>]*>/g, " ")).replaceAll("\xA0", " ").replace(/\s+/g, " ").trim();
|
|
1115
1154
|
}
|
|
1116
1155
|
/**
|
|
1156
|
+
* Content of the first `<p ...>` whose opening tag contains `attribute`, up to the next
|
|
1157
|
+
* `</p>`, matching `/<p[^>]*ATTRIBUTE[^>]*>(.*?)<\/p>/is`. Opening tags, attribute
|
|
1158
|
+
* matches and `>` positions are all visited in one forward pass.
|
|
1159
|
+
*/
|
|
1160
|
+
function findParagraphContent(html, attribute) {
|
|
1161
|
+
const attributes = Array.from(html.matchAll(attribute), (match) => ({
|
|
1162
|
+
start: match.index,
|
|
1163
|
+
end: match.index + match[0].length
|
|
1164
|
+
}));
|
|
1165
|
+
let nextAttribute = 0;
|
|
1166
|
+
let tagEnd = -1;
|
|
1167
|
+
for (const open of html.matchAll(/<p/gi)) {
|
|
1168
|
+
const afterOpen = open.index + open[0].length;
|
|
1169
|
+
if (tagEnd < afterOpen) {
|
|
1170
|
+
tagEnd = html.indexOf(">", afterOpen);
|
|
1171
|
+
if (tagEnd < 0) return;
|
|
1172
|
+
}
|
|
1173
|
+
while (nextAttribute < attributes.length && attributes[nextAttribute].start < afterOpen) nextAttribute += 1;
|
|
1174
|
+
const match = attributes[nextAttribute];
|
|
1175
|
+
if (match && match.end <= tagEnd) {
|
|
1176
|
+
const close = /<\/p>/gi;
|
|
1177
|
+
close.lastIndex = tagEnd + 1;
|
|
1178
|
+
const closeMatch = close.exec(html);
|
|
1179
|
+
return closeMatch ? html.slice(tagEnd + 1, closeMatch.index) : void 0;
|
|
1180
|
+
}
|
|
1181
|
+
}
|
|
1182
|
+
}
|
|
1183
|
+
/**
|
|
1117
1184
|
* Extract quote info from MS Teams HTML reply attachments.
|
|
1118
1185
|
* Teams wraps quoted content in a blockquote with itemtype="http://schema.skype.com/Reply".
|
|
1119
1186
|
*/
|
|
@@ -1129,8 +1196,8 @@ function extractMSTeamsQuoteInfo(attachments) {
|
|
|
1129
1196
|
if (!content.includes("http://schema.skype.com/Reply")) continue;
|
|
1130
1197
|
const senderMatch = /<strong[^>]*itemprop=["']mri["'][^>]*>(.*?)<\/strong>/i.exec(content);
|
|
1131
1198
|
const sender = senderMatch?.[1] ? htmlToPlainText(senderMatch[1]) : void 0;
|
|
1132
|
-
const
|
|
1133
|
-
const body =
|
|
1199
|
+
const bodyHtml = findParagraphContent(content, /itemprop=["']copy["']/gi) ?? findParagraphContent(content, /itemprop=["']preview["']/gi);
|
|
1200
|
+
const body = bodyHtml ? htmlToPlainText(bodyHtml) : void 0;
|
|
1134
1201
|
const id = /<blockquote[^>]*\bitemid=["']([^"']+)["'][^>]*>/is.exec(content)?.[1]?.trim() || void 0;
|
|
1135
1202
|
if (body) return {
|
|
1136
1203
|
sender: sender ?? "unknown",
|
|
@@ -1167,6 +1234,12 @@ const MSTEAMS_GROUP_CONVERSATION_ID = /^19:.+@thread\.(?:tacv2|skype|v2)$/i;
|
|
|
1167
1234
|
function normalizeExactMatch(value) {
|
|
1168
1235
|
return (0, openclaw_plugin_sdk_string_coerce_runtime.normalizeLowercaseStringOrEmpty)(value ?? "");
|
|
1169
1236
|
}
|
|
1237
|
+
const MSTEAMS_UNMATCHABLE_THREAD_ID = "19:openclaw-unresolved-allowlist@thread.unresolved";
|
|
1238
|
+
/** Keeps a configured but fully unresolvable sender allowlist configured and matching nothing. */
|
|
1239
|
+
function keepConfiguredMSTeamsAllowlistActive(configured, projected) {
|
|
1240
|
+
if (!Array.isArray(configured) || configured.every((entry) => !entry?.trim())) return projected;
|
|
1241
|
+
return projected && projected.length > 0 ? projected : [MSTEAMS_UNMATCHABLE_THREAD_ID];
|
|
1242
|
+
}
|
|
1170
1243
|
function uniqueItemsById(items) {
|
|
1171
1244
|
const byId = /* @__PURE__ */ new Map();
|
|
1172
1245
|
for (const item of items) {
|
|
@@ -1288,7 +1361,7 @@ function looksLikeMSTeamsThreadConversationId(raw) {
|
|
|
1288
1361
|
function isStableMSTeamsTeamKey(raw) {
|
|
1289
1362
|
return /^[0-9a-fA-F-]{16,}$/.test(raw.trim()) || looksLikeMSTeamsThreadConversationId(raw);
|
|
1290
1363
|
}
|
|
1291
|
-
function projectStableMSTeamsChannels(channels) {
|
|
1364
|
+
function projectStableMSTeamsChannels(channels, options = {}) {
|
|
1292
1365
|
const projected = {};
|
|
1293
1366
|
for (const [channelKey, channelConfig] of Object.entries(channels ?? {})) {
|
|
1294
1367
|
if (channelKey === "*") {
|
|
@@ -1297,21 +1370,45 @@ function projectStableMSTeamsChannels(channels) {
|
|
|
1297
1370
|
}
|
|
1298
1371
|
if (looksLikeMSTeamsThreadConversationId(channelKey)) projected[normalizeMSTeamsConversationTargetId(channelKey)] = channelConfig;
|
|
1299
1372
|
}
|
|
1373
|
+
if (options.keepConfigured && Object.keys(channels ?? {}).length > 0 && Object.keys(projected).length === 0) projected[MSTEAMS_UNMATCHABLE_THREAD_ID] = {};
|
|
1300
1374
|
return projected;
|
|
1301
1375
|
}
|
|
1302
|
-
|
|
1303
|
-
|
|
1376
|
+
/** Drops the unmatchable placeholders once a real entry exists beside them. */
|
|
1377
|
+
function dropRedundantUnmatchablePlaceholders(teams) {
|
|
1378
|
+
const realTeamKeys = Object.keys(teams).filter((key) => key !== MSTEAMS_UNMATCHABLE_THREAD_ID);
|
|
1379
|
+
const cleaned = {};
|
|
1380
|
+
for (const [teamKey, teamConfig] of Object.entries(teams)) {
|
|
1381
|
+
if (teamKey === MSTEAMS_UNMATCHABLE_THREAD_ID && realTeamKeys.length > 0) continue;
|
|
1382
|
+
const channels = { ...teamConfig.channels };
|
|
1383
|
+
if (Object.keys(channels).length > 1) delete channels[MSTEAMS_UNMATCHABLE_THREAD_ID];
|
|
1384
|
+
cleaned[teamKey] = {
|
|
1385
|
+
...teamConfig,
|
|
1386
|
+
channels
|
|
1387
|
+
};
|
|
1388
|
+
}
|
|
1389
|
+
return cleaned;
|
|
1390
|
+
}
|
|
1391
|
+
function projectStableMSTeamsTeams(teams) {
|
|
1304
1392
|
const projected = {};
|
|
1305
1393
|
for (const [teamKey, teamConfig] of Object.entries(teams)) {
|
|
1306
1394
|
if (teamKey !== "*" && !isStableMSTeamsTeamKey(teamKey)) continue;
|
|
1307
1395
|
const stableKey = teamKey === "*" ? teamKey : normalizeMSTeamsConversationTargetId(teamKey);
|
|
1308
1396
|
projected[stableKey] = {
|
|
1309
1397
|
...teamConfig,
|
|
1310
|
-
channels: projectStableMSTeamsChannels(teamConfig.channels)
|
|
1398
|
+
channels: projectStableMSTeamsChannels(teamConfig.channels, { keepConfigured: true })
|
|
1311
1399
|
};
|
|
1312
1400
|
}
|
|
1313
1401
|
return projected;
|
|
1314
1402
|
}
|
|
1403
|
+
/** Keeps a configured but fully unresolvable teams allowlist configured and matching nothing. */
|
|
1404
|
+
function keepConfiguredMSTeamsTeamsActive(configured, teams) {
|
|
1405
|
+
if (Object.keys(configured).length === 0 || Object.keys(teams).length > 0) return teams;
|
|
1406
|
+
return { [MSTEAMS_UNMATCHABLE_THREAD_ID]: {} };
|
|
1407
|
+
}
|
|
1408
|
+
function projectStableMSTeamsTeamsConfig(teams) {
|
|
1409
|
+
if (!teams) return;
|
|
1410
|
+
return keepConfiguredMSTeamsTeamsActive(teams, projectStableMSTeamsTeams(teams));
|
|
1411
|
+
}
|
|
1315
1412
|
function parseMSTeamsTeamChannelInput(raw) {
|
|
1316
1413
|
const trimmed = stripProviderPrefix(raw).trim();
|
|
1317
1414
|
if (!trimmed) return {};
|
|
@@ -1506,7 +1603,7 @@ async function resolveMSTeamsTeamsConfig(params) {
|
|
|
1506
1603
|
teamIdMode: params.teamIdMode
|
|
1507
1604
|
});
|
|
1508
1605
|
const mapping = [];
|
|
1509
|
-
const teams =
|
|
1606
|
+
const teams = projectStableMSTeamsTeams(params.teams);
|
|
1510
1607
|
resolved.forEach((entry, index) => {
|
|
1511
1608
|
const source = entries[index];
|
|
1512
1609
|
if (!source) return;
|
|
@@ -1544,7 +1641,7 @@ async function resolveMSTeamsTeamsConfig(params) {
|
|
|
1544
1641
|
}
|
|
1545
1642
|
});
|
|
1546
1643
|
return {
|
|
1547
|
-
teams,
|
|
1644
|
+
teams: keepConfiguredMSTeamsTeamsActive(params.teams, dropRedundantUnmatchablePlaceholders(teams)),
|
|
1548
1645
|
mapping,
|
|
1549
1646
|
unresolved
|
|
1550
1647
|
};
|
|
@@ -1599,24 +1696,12 @@ async function resolveMSTeamsUserAllowlist(params) {
|
|
|
1599
1696
|
});
|
|
1600
1697
|
}
|
|
1601
1698
|
//#endregion
|
|
1602
|
-
Object.defineProperty(exports, "ATTACHMENT_TAG_RE", {
|
|
1603
|
-
enumerable: true,
|
|
1604
|
-
get: function() {
|
|
1605
|
-
return ATTACHMENT_TAG_RE;
|
|
1606
|
-
}
|
|
1607
|
-
});
|
|
1608
1699
|
Object.defineProperty(exports, "GRAPH_ROOT", {
|
|
1609
1700
|
enumerable: true,
|
|
1610
1701
|
get: function() {
|
|
1611
1702
|
return GRAPH_ROOT;
|
|
1612
1703
|
}
|
|
1613
1704
|
});
|
|
1614
|
-
Object.defineProperty(exports, "IMG_SRC_RE", {
|
|
1615
|
-
enumerable: true,
|
|
1616
|
-
get: function() {
|
|
1617
|
-
return IMG_SRC_RE;
|
|
1618
|
-
}
|
|
1619
|
-
});
|
|
1620
1705
|
Object.defineProperty(exports, "MSTEAMS_DEFAULT_DELEGATED_SCOPES", {
|
|
1621
1706
|
enumerable: true,
|
|
1622
1707
|
get: function() {
|
|
@@ -1767,6 +1852,12 @@ Object.defineProperty(exports, "hasConfiguredMSTeamsCredentials", {
|
|
|
1767
1852
|
return hasConfiguredMSTeamsCredentials;
|
|
1768
1853
|
}
|
|
1769
1854
|
});
|
|
1855
|
+
Object.defineProperty(exports, "htmlTagAttributeValues", {
|
|
1856
|
+
enumerable: true,
|
|
1857
|
+
get: function() {
|
|
1858
|
+
return htmlTagAttributeValues;
|
|
1859
|
+
}
|
|
1860
|
+
});
|
|
1770
1861
|
Object.defineProperty(exports, "htmlToPlainText", {
|
|
1771
1862
|
enumerable: true,
|
|
1772
1863
|
get: function() {
|
|
@@ -1797,6 +1888,12 @@ Object.defineProperty(exports, "isRedirectStatus", {
|
|
|
1797
1888
|
return isRedirectStatus;
|
|
1798
1889
|
}
|
|
1799
1890
|
});
|
|
1891
|
+
Object.defineProperty(exports, "keepConfiguredMSTeamsAllowlistActive", {
|
|
1892
|
+
enumerable: true,
|
|
1893
|
+
get: function() {
|
|
1894
|
+
return keepConfiguredMSTeamsAllowlistActive;
|
|
1895
|
+
}
|
|
1896
|
+
});
|
|
1800
1897
|
Object.defineProperty(exports, "listChannelsForTeam", {
|
|
1801
1898
|
enumerable: true,
|
|
1802
1899
|
get: function() {
|
|
@@ -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-
|
|
3
|
+
const require_resolve_allowlist = require("./resolve-allowlist-CQFnY1-j.cjs");
|
|
4
4
|
const require_bot_framework_service_url = require("./bot-framework-service-url-BUhTe8F3.cjs");
|
|
5
|
-
const require_channel = require("./channel-
|
|
6
|
-
const require_channel_setup = require("./channel.setup-
|
|
7
|
-
const require_conversation_store_state = require("./conversation-store-state-
|
|
5
|
+
const require_channel = require("./channel-BXCVM26V.cjs");
|
|
6
|
+
const require_channel_setup = require("./channel.setup-CTlKLkEP.cjs");
|
|
7
|
+
const require_conversation_store_state = require("./conversation-store-state-tQtK-Qm3.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_error_runtime = require("openclaw/plugin-sdk/error-runtime");
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const require_resolve_allowlist = require("./resolve-allowlist-
|
|
1
|
+
const require_resolve_allowlist = require("./resolve-allowlist-CQFnY1-j.cjs");
|
|
2
2
|
let openclaw_plugin_sdk_string_coerce_runtime = require("openclaw/plugin-sdk/string-coerce-runtime");
|
|
3
3
|
let openclaw_plugin_sdk_approval_auth_runtime = require("openclaw/plugin-sdk/approval-auth-runtime");
|
|
4
4
|
let openclaw_plugin_sdk_routing = require("openclaw/plugin-sdk/routing");
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"entries":[{"output":"api.cjs","source":"extensions/msteams/api.ts"},{"output":"channel-config-api.cjs","source":"extensions/msteams/channel-config-api.ts"},{"output":"channel-plugin-api.cjs","source":"extensions/msteams/channel-plugin-api.ts"},{"output":"configured-state.cjs","source":"extensions/msteams/configured-state.ts"},{"output":"directory-contract-api.cjs","source":"extensions/msteams/directory-contract-api.ts"},{"output":"doctor-contract-api.cjs","source":"extensions/msteams/doctor-contract-api.ts"},{"output":"index.cjs","source":"extensions/msteams/index.ts"},{"output":"qa-runner-api.cjs","source":"extensions/msteams/qa-runner-api.ts"},{"output":"runtime-api.cjs","source":"extensions/msteams/runtime-api.ts"},{"output":"secret-contract-api.cjs","source":"extensions/msteams/secret-contract-api.ts"},{"output":"setup-entry.cjs","source":"extensions/msteams/setup-entry.ts"},{"output":"setup-plugin-api.cjs","source":"extensions/msteams/setup-plugin-api.ts"}],"chunks":[{"output":".setup/adapter.runtime-BiWeMKXE.cjs","sha256":"0955d5767a9ae029b5e63bd0409270c1a4796549abfb0ac4999bb01f017d7584","facadeSource":"extensions/msteams/src/qa/adapter.runtime.ts","sources":["extensions/msteams/src/qa/adapter.runtime.ts","extensions/msteams/src/qa/bot-framework-server.ts"]},{"output":".setup/approval-card-DWPDItvq.cjs","sha256":"7f9ec8b926c94dc0d2f9bfd7c50a0a3308a8689a1038acbdaef3c283d71663b5","facadeSource":null,"sources":["extensions/msteams/src/approval-card-actions.ts","extensions/msteams/src/approval-card.ts"]},{"output":".setup/approval-handler.runtime-Da7u1cF0.cjs","sha256":"c92709b7581be26fbfeff5fcd5ba431f0a7ff0a863d71bbf84ca840eae469d1e","facadeSource":"extensions/msteams/src/approval-handler.runtime.ts","sources":["extensions/msteams/src/approval-handler.runtime.ts"]},{"output":".setup/bot-framework-service-url-BUhTe8F3.cjs","sha256":"8b2be17e2613a60bcea30ff7b72994f1e86b7fa2a41c8b03c07197440a9b5db9","facadeSource":null,"sources":["extensions/msteams/src/bot-framework-service-url.ts"]},{"output":".setup/channel-BXCVM26V.cjs","sha256":"95eacc729ac9132b0096ab64a6e697a636fdef71747ae1c2a7ea2d42e56dd51f","facadeSource":null,"sources":["extensions/msteams/src/action-params.ts","extensions/msteams/src/action-results.ts","extensions/msteams/src/action-threading.ts","extensions/msteams/src/approval-native.ts","extensions/msteams/src/channel.ts","extensions/msteams/src/doctor.ts","extensions/msteams/src/graph-action-context.ts","extensions/msteams/src/policy.ts","extensions/msteams/src/presentation.ts","extensions/msteams/src/read-policy.ts","extensions/msteams/src/session-route.ts","extensions/msteams/src/webhook-route.ts","packages/normalization-core/src/string-coerce.ts","src/gateway/gateway-http-route-contracts.ts","src/gateway/security-path.ts","src/gateway/server/plugins-http/path-context.ts","src/plugins/http-path-prefix.ts"]},{"output":".setup/channel.runtime-CF1zg0CR.cjs","sha256":"f4e78a2e086e4966fcbe199e0336040030fc38d261ea1a62fa8b4b3e4281b55c","facadeSource":"extensions/msteams/src/channel.runtime.ts","sources":["extensions/msteams/src/channel.runtime.ts","extensions/msteams/src/directory-live.ts","extensions/msteams/src/graph-conversation-members.ts","extensions/msteams/src/graph-group-management.ts","extensions/msteams/src/graph-members.ts","extensions/msteams/src/graph-messages.ts","extensions/msteams/src/graph-teams.ts","extensions/msteams/src/outbound.ts","extensions/msteams/src/probe.ts"]},{"output":".setup/channel.setup-CTlKLkEP.cjs","sha256":"bf0774e255071187e50335b8d1b9c32e4b3ebfff0dbafd58b7619235e6edd665","facadeSource":null,"sources":["extensions/msteams/src/channel-config.ts","extensions/msteams/src/channel.setup.ts","extensions/msteams/src/errors.ts","extensions/msteams/src/setup-core.ts","extensions/msteams/src/setup-surface.ts"]},{"output":".setup/config-schema-0KoBzb0t.cjs","sha256":"66b2e92f7913c694e31076a4d67da0d34209e63c4e0c5e5bd201eabd5c30fed9","facadeSource":null,"sources":["extensions/msteams/src/config-schema.ts","extensions/msteams/src/config-ui-hints.ts"]},{"output":".setup/conversation-store-state-tQtK-Qm3.cjs","sha256":"d51fa710d1958d2ad9b175793adea3596e0e44532558c5e7d1e2ba54608a921f","facadeSource":null,"sources":["extensions/msteams/src/conversation-store-helpers.ts","extensions/msteams/src/conversation-store-state.ts","extensions/msteams/src/file-consent-helpers.ts","extensions/msteams/src/file-consent.ts","extensions/msteams/src/format.ts","extensions/msteams/src/graph-chat.ts","extensions/msteams/src/graph-upload.ts","extensions/msteams/src/media-helpers.ts","extensions/msteams/src/mentions.ts","extensions/msteams/src/message-activity.ts","extensions/msteams/src/messenger.ts","extensions/msteams/src/pending-uploads-fs.ts","extensions/msteams/src/pending-uploads.ts","extensions/msteams/src/polls.ts","extensions/msteams/src/revoked-context.ts","extensions/msteams/src/sdk-proactive.ts","extensions/msteams/src/sent-message-cache.ts","extensions/msteams/src/sqlite-state.ts"]},{"output":".setup/delegated-state-u-ywZyZT.cjs","sha256":"12ac11581defd2750c6c567a54e5590e76289307be8d6fa4740b0ca918637534","facadeSource":null,"sources":["extensions/msteams/src/delegated-state.ts"]},{"output":".setup/monitor-CGKsYj9l.cjs","sha256":"0d60bef06e2d8226c5b01c31272fe024007b0c619fc2b1870a7cae25c7f9f061","facadeSource":"extensions/msteams/src/monitor.ts","sources":["extensions/msteams/src/adaptive-card-submit.ts","extensions/msteams/src/approval-card-submit.ts","extensions/msteams/src/attachments/bot-framework.ts","extensions/msteams/src/attachments/download.ts","extensions/msteams/src/attachments/graph.ts","extensions/msteams/src/attachments/html.ts","extensions/msteams/src/attachments/remote-media.ts","extensions/msteams/src/feedback-invoke.ts","extensions/msteams/src/feedback-reflection-store.ts","extensions/msteams/src/feedback-reflection.ts","extensions/msteams/src/file-consent-invoke.ts","extensions/msteams/src/monitor-handler.ts","extensions/msteams/src/monitor-handler/access.ts","extensions/msteams/src/monitor-handler/inbound-content.ts","extensions/msteams/src/monitor-handler/inbound-dispatch.ts","extensions/msteams/src/monitor-handler/inbound-facts.ts","extensions/msteams/src/monitor-handler/inbound-media.ts","extensions/msteams/src/monitor-handler/message-handler.ts","extensions/msteams/src/monitor-handler/reaction-handler.ts","extensions/msteams/src/monitor-handler/thread-context.ts","extensions/msteams/src/monitor-status.ts","extensions/msteams/src/monitor.ts","extensions/msteams/src/msteams-ingress.ts","extensions/msteams/src/replay-context.ts","extensions/msteams/src/reply-dispatcher.ts","extensions/msteams/src/reply-stream-controller.ts","extensions/msteams/src/sso-token-store.ts","extensions/msteams/src/team-identity.ts","extensions/msteams/src/thread-parent-context.ts","extensions/msteams/src/webhook-handler.ts","extensions/msteams/src/welcome-card.ts","src/channels/mention-gating.ts"]},{"output":".setup/oauth-Dvl_2VcZ.cjs","sha256":"38d28068277d50adfd1cdbedf8bba9b9dcd76a157878fd094ee4208671328c3e","facadeSource":"extensions/msteams/src/oauth.ts","sources":["extensions/msteams/src/oauth.flow.ts","extensions/msteams/src/oauth.ts"]},{"output":".setup/reaction-types-iKb8qkSt.cjs","sha256":"587f5cdf2908e70dc16fa5e87b47a63be09278e5de26b12fd2619beb08698262","facadeSource":null,"sources":["extensions/msteams/src/graph-thread.ts","extensions/msteams/src/reaction-types.ts"]},{"output":".setup/resolve-allowlist-CQFnY1-j.cjs","sha256":"3c2338e02344bcc4caa50c2e975bb56aa46c4093251aa53cd7a484be75f1079a","facadeSource":null,"sources":["extensions/msteams/src/attachments/shared.ts","extensions/msteams/src/cloud.ts","extensions/msteams/src/graph-users.ts","extensions/msteams/src/graph.ts","extensions/msteams/src/inbound.ts","extensions/msteams/src/oauth.shared.ts","extensions/msteams/src/oauth.token.ts","extensions/msteams/src/qa/private-runtime.ts","extensions/msteams/src/request-timeout.ts","extensions/msteams/src/resolve-allowlist.ts","extensions/msteams/src/sdk.ts","extensions/msteams/src/send-handoff.ts","extensions/msteams/src/token.ts","extensions/msteams/src/user-agent.ts"]},{"output":".setup/rolldown-runtime-BloeesfJ.cjs","sha256":"f6d735fe8d12fdafd7b0aba5388ce3cd75a782df76da5377cba1663718459d5b","facadeSource":null,"sources":[]},{"output":".setup/runtime-gZTAuFux.cjs","sha256":"f16d4b7c9c8ed1bc3088aca3fcbaf0d0226b766db964e97b13893d505cabfc34","facadeSource":null,"sources":["extensions/msteams/src/runtime.ts"]},{"output":".setup/secret-contract-api-ChQdBeU1.cjs","sha256":"cd9ef1c2041debc738bbc81bf5b63a64aa37b32c7dac727b484d4a2dada38fef","facadeSource":"extensions/msteams/secret-contract-api.ts","sources":[]},{"output":".setup/secret-contract-api-ipiUsANg.cjs","sha256":"29d947a14bc430f5e68f904e5177a51f1a93707b10c2c66daad25df36e61b211","facadeSource":null,"sources":["extensions/msteams/src/secret-contract.ts"]},{"output":".setup/send-CB-b2WAc.cjs","sha256":"c4ae4681d52c3bf07443cff8a3849e4148ee506c148bea1fd4a2c913b11291fb","facadeSource":null,"sources":["extensions/msteams/src/send-context.ts","extensions/msteams/src/send.ts"]},{"output":".setup/setup-plugin-api-GLQ9kPOr.cjs","sha256":"241e1e336c7962001f0ba1edbc0d12b935e8c549e258dfa6af5b60f5d6ce7e83","facadeSource":"extensions/msteams/setup-plugin-api.ts","sources":[]},{"output":".setup/thread-session-BkQzjhtJ.cjs","sha256":"c55842f1d52ed2b7f33d0b1be8d784ab56943c96a93ad19d0aaa7f27fd7325ce","facadeSource":null,"sources":["extensions/msteams/src/approval-auth.ts","extensions/msteams/src/monitor-handler/thread-session.ts"]},{"output":"api.cjs","sha256":"6626d318908219ccac8188ba2c398fdb8dcbbef4cda2e9dd78f93d36b5076001","facadeSource":"extensions/msteams/api.ts","sources":[]},{"output":"channel-config-api.cjs","sha256":"821ebe676551e85ce07954b444bb8813848b2b220d1c5ec4cd96c7b88ba6138a","facadeSource":"extensions/msteams/channel-config-api.ts","sources":[]},{"output":"channel-plugin-api.cjs","sha256":"318c04d6f98f4b18cb6d1bffb0258c89d5a7b5568bfa32e8b59e19fc31ee2373","facadeSource":"extensions/msteams/channel-plugin-api.ts","sources":[]},{"output":"configured-state.cjs","sha256":"f2a39ca958245449c4fef25a376f6ed3b4b84be4e9edb9d623572a1becb2d9b7","facadeSource":"extensions/msteams/configured-state.ts","sources":["extensions/msteams/configured-state.ts"]},{"output":"directory-contract-api.cjs","sha256":"bc5e0cb602fdade5cac45b901256030b5e6b34d6f4b93d5538731a208d6be05d","facadeSource":"extensions/msteams/directory-contract-api.ts","sources":["extensions/msteams/directory-contract-api.ts"]},{"output":"doctor-contract-api.cjs","sha256":"c74a6ae4d17efc5ba9b40664829fab6b81bac16bacf991051a9f289404fc3fae","facadeSource":"extensions/msteams/doctor-contract-api.ts","sources":["extensions/msteams/config-doctor-api.ts","extensions/msteams/doctor-contract-api.ts","packages/normalization-core/src/record-coerce.ts","src/config/channel-config-normalization.ts","src/plugin-sdk/legacy-webhook-listener-migration.ts"]},{"output":"index.cjs","sha256":"7b5ba63fb0abc15c606c95b165e50e09bb31c37036489781cfcca685ae1d79dd","facadeSource":"extensions/msteams/index.ts","sources":["extensions/msteams/index.ts"]},{"output":"qa-runner-api.cjs","sha256":"536588b0150eb8e8785b302ec36290283bfd8d3295ad7a7f08332ddc3fb2b90a","facadeSource":"extensions/msteams/qa-runner-api.ts","sources":["extensions/msteams/qa-runner-api.ts","extensions/msteams/src/qa/cli.ts"]},{"output":"runtime-api.cjs","sha256":"9a3a8f49499dd1e7f40ad7c434357ed6a30d3ffc616f7004fedb0d1d1e592758","facadeSource":"extensions/msteams/runtime-api.ts","sources":[]},{"output":"secret-contract-api.cjs","sha256":"be53089b2ab85c3dbb04ded7d95793559bba9d543b21d00fd7075b5423b5539a","facadeSource":"extensions/msteams/secret-contract-api.ts","sources":[]},{"output":"setup-entry.cjs","sha256":"ec5b1c5cb822606d63a1ce4a02042db927488d545843bf95d626c06a06b43980","facadeSource":"extensions/msteams/setup-entry.ts","sources":["extensions/msteams/setup-entry.ts"]},{"output":"setup-plugin-api.cjs","sha256":"38653d3858e78a6cba4a6befce03e6cfe37585576737b6798685486a32bf1ee8","facadeSource":"extensions/msteams/setup-plugin-api.ts","sources":[]}],"unrenderedSources":["extensions/msteams/api.ts","extensions/msteams/channel-config-api.ts","extensions/msteams/channel-plugin-api.ts","extensions/msteams/runtime-api.ts","extensions/msteams/secret-contract-api.ts","extensions/msteams/setup-plugin-api.ts","extensions/msteams/src/attachments.ts"]}
|
package/dist/api.cjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_channel = require("./.setup/channel-
|
|
3
|
-
const require_channel_setup = require("./.setup/channel.setup-
|
|
2
|
+
const require_channel = require("./.setup/channel-BXCVM26V.cjs");
|
|
3
|
+
const require_channel_setup = require("./.setup/channel.setup-CTlKLkEP.cjs");
|
|
4
4
|
exports.createMSTeamsSetupWizardBase = require_channel_setup.createMSTeamsSetupWizardBase;
|
|
5
5
|
exports.msteamsPlugin = require_channel.msteamsPlugin;
|
|
6
6
|
exports.msteamsSetupAdapter = require_channel_setup.msteamsSetupAdapter;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_resolve_allowlist = require("./.setup/resolve-allowlist-
|
|
2
|
+
const require_resolve_allowlist = require("./.setup/resolve-allowlist-CQFnY1-j.cjs");
|
|
3
3
|
let openclaw_plugin_sdk_directory_runtime = require("openclaw/plugin-sdk/directory-runtime");
|
|
4
4
|
const msteamsDirectoryContractPlugin = {
|
|
5
5
|
id: "msteams",
|
package/dist/setup-entry.cjs
CHANGED
|
@@ -4,7 +4,7 @@ let node_url = require("node:url");
|
|
|
4
4
|
var setup_entry_default = (0, openclaw_plugin_sdk_channel_entry_contract.defineBundledChannelSetupEntry)({
|
|
5
5
|
importMetaUrl: require("url").pathToFileURL(__filename).href,
|
|
6
6
|
plugin: {
|
|
7
|
-
specifier: (0, node_url.fileURLToPath)(new URL(".setup/setup-plugin-api-
|
|
7
|
+
specifier: (0, node_url.fileURLToPath)(new URL(".setup/setup-plugin-api-GLQ9kPOr.cjs", require("url").pathToFileURL(__filename).href).href),
|
|
8
8
|
exportName: "msteamsSetupPlugin"
|
|
9
9
|
},
|
|
10
10
|
secrets: {
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_channel_setup = require("./.setup/channel.setup-
|
|
2
|
+
const require_channel_setup = require("./.setup/channel.setup-CTlKLkEP.cjs");
|
|
3
3
|
exports.msteamsSetupPlugin = require_channel_setup.msteamsSetupPlugin;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@openclaw/msteams",
|
|
3
|
-
"version": "2026.9.
|
|
3
|
+
"version": "2026.9.36",
|
|
4
4
|
"description": "OpenClaw Microsoft Teams channel plugin for bot conversations.",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
"openclaw": "workspace:*"
|
|
23
23
|
},
|
|
24
24
|
"peerDependencies": {
|
|
25
|
-
"openclaw": ">=2026.9.
|
|
25
|
+
"openclaw": ">=2026.9.36"
|
|
26
26
|
},
|
|
27
27
|
"peerDependenciesMeta": {
|
|
28
28
|
"openclaw": {
|
|
@@ -73,10 +73,10 @@
|
|
|
73
73
|
"minHostVersion": ">=2026.4.10"
|
|
74
74
|
},
|
|
75
75
|
"compat": {
|
|
76
|
-
"pluginApi": ">=2026.9.
|
|
76
|
+
"pluginApi": ">=2026.9.36"
|
|
77
77
|
},
|
|
78
78
|
"build": {
|
|
79
|
-
"openclawVersion": "2026.9.
|
|
79
|
+
"openclawVersion": "2026.9.36",
|
|
80
80
|
"runtimeFormat": "cjs"
|
|
81
81
|
},
|
|
82
82
|
"release": {
|