@openclaw/msteams 2026.11.3 → 2026.11.5-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/.setup/{adapter.runtime-B-6Q3nMI.cjs → adapter.runtime-BB38Rdj_.cjs} +20 -23
- package/dist/.setup/{approval-card-DWPDItvq.cjs → approval-card-BHAKsdAM.cjs} +5 -9
- package/dist/.setup/{approval-handler.runtime-D0jbDypb.cjs → approval-handler.runtime-C16UvawQ.cjs} +4 -4
- package/dist/.setup/{channel-Ci6K9Njb.cjs → channel-BaTw0JW3.cjs} +35 -254
- package/dist/.setup/{channel.runtime-DeHVAVxL.cjs → channel.runtime-Ch2M_-jN.cjs} +65 -107
- package/dist/.setup/{channel.setup-BN3uhq3r.cjs → channel.setup-B9yKGEse.cjs} +161 -262
- package/dist/.setup/{config-schema-CkKdphSp.cjs → config-schema-3lVZ45cB.cjs} +120 -125
- package/dist/.setup/{conversation-store-state-B-4g4uq5.cjs → conversation-store-state-CVhMM0QY.cjs} +411 -601
- package/dist/.setup/{delegated-state-Bv5cWuec.cjs → delegated-state-ilYzKwD8.cjs} +68 -6
- package/dist/.setup/{monitor-cuifGELM.cjs → monitor-b0zPpnmW.cjs} +1883 -2310
- package/dist/.setup/{oauth-BBUQCwmq.cjs → oauth-CUtfkgKE.cjs} +10 -21
- package/dist/.setup/presentation-Duoi9Ijn.cjs +213 -0
- package/dist/.setup/{reaction-types-CwP5RVQB.cjs → reaction-types-C6F6g2nk.cjs} +1 -1
- package/dist/.setup/{resolve-allowlist-gI34MnpE.cjs → resolve-allowlist-7mIEepXB.cjs} +214 -90
- package/dist/.setup/{secret-contract-api-wAyY5UHv.cjs → secret-contract-api-D554HIrH.cjs} +4 -6
- package/dist/.setup/{secret-contract-api-YY3v6MP8.cjs → secret-contract-api-r3hRtbBW.cjs} +1 -1
- package/dist/.setup/{send-C9JY42T6.cjs → send-D1w7a_ip.cjs} +86 -182
- package/dist/.setup/{setup-plugin-api-B-NYBLkF.cjs → setup-plugin-api-ChovZJU6.cjs} +1 -1
- package/dist/.setup/{thread-session-BWVCoYza.cjs → thread-session-CeWYiol_.cjs} +4 -6
- package/dist/.setup/{token-config-bEpua_Q7.cjs → token-config-DICiuJWr.cjs} +0 -2
- package/dist/.source-module-urls/7e43ee3ae4faab430a47269c8217f8d99ec60ecd85233f40e81d03efeb543068.json +1 -0
- package/dist/api.cjs +2 -2
- package/dist/channel-config-api.cjs +1 -1
- package/dist/channel-plugin-api.cjs +1 -1
- package/dist/directory-contract-api.cjs +1 -1
- package/dist/doctor-contract-api.cjs +3 -11
- package/dist/qa-runner-api.cjs +1 -1
- package/dist/secret-contract-api.cjs +1 -1
- package/dist/setup-entry.cjs +2 -2
- package/dist/setup-plugin-api.cjs +1 -1
- package/openclaw.plugin.json +0 -30
- package/package.json +11 -11
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
const require_bot_framework_service_url = require("./bot-framework-service-url-B3FWn2SV.cjs");
|
|
2
|
-
const require_token_config = require("./token-config-
|
|
3
|
-
const require_resolve_allowlist = require("./resolve-allowlist-
|
|
2
|
+
const require_token_config = require("./token-config-DICiuJWr.cjs");
|
|
3
|
+
const require_resolve_allowlist = require("./resolve-allowlist-7mIEepXB.cjs");
|
|
4
4
|
const require_runtime = require("./runtime-gZTAuFux.cjs");
|
|
5
5
|
require("../runtime-api.cjs");
|
|
6
|
-
const
|
|
7
|
-
const require_channel_setup = require("./channel.setup-
|
|
8
|
-
const require_conversation_store_state = require("./conversation-store-state-
|
|
6
|
+
const require_presentation = require("./presentation-Duoi9Ijn.cjs");
|
|
7
|
+
const require_channel_setup = require("./channel.setup-B9yKGEse.cjs");
|
|
8
|
+
const require_conversation_store_state = require("./conversation-store-state-CVhMM0QY.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_account_id = require("openclaw/plugin-sdk/account-id");
|
|
@@ -15,74 +15,6 @@ let openclaw_plugin_sdk_markdown_table_runtime = require("openclaw/plugin-sdk/ma
|
|
|
15
15
|
let openclaw_plugin_sdk_account_helpers = require("openclaw/plugin-sdk/account-helpers");
|
|
16
16
|
let openclaw_plugin_sdk_outbound_media = require("openclaw/plugin-sdk/outbound-media");
|
|
17
17
|
//#region extensions/msteams/src/send-context.ts
|
|
18
|
-
function resolveMSTeamsProactiveReplyTarget(params) {
|
|
19
|
-
const threadRootId = params.ref.threadId ?? params.ref.activityId;
|
|
20
|
-
if (params.conversationType !== "channel" || !threadRootId) return { replyStyle: "top-level" };
|
|
21
|
-
const routeConfig = require_channel.resolveMSTeamsRouteConfig({
|
|
22
|
-
cfg: params.cfg,
|
|
23
|
-
teamId: params.ref.teamId,
|
|
24
|
-
conversationId: params.conversationId,
|
|
25
|
-
allowNameMatching: false
|
|
26
|
-
});
|
|
27
|
-
const { replyStyle } = require_channel.resolveMSTeamsReplyPolicy({
|
|
28
|
-
isDirectMessage: false,
|
|
29
|
-
globalConfig: params.cfg,
|
|
30
|
-
teamConfig: routeConfig.teamConfig,
|
|
31
|
-
channelConfig: routeConfig.channelConfig
|
|
32
|
-
});
|
|
33
|
-
return replyStyle === "thread" ? {
|
|
34
|
-
replyStyle,
|
|
35
|
-
threadActivityId: threadRootId
|
|
36
|
-
} : { replyStyle };
|
|
37
|
-
}
|
|
38
|
-
/**
|
|
39
|
-
* Parse the target value into a conversation reference lookup key.
|
|
40
|
-
* Supported formats:
|
|
41
|
-
* - conversation:19:abc@thread.tacv2 → lookup by conversation ID
|
|
42
|
-
* - conversation:19:abc@thread.tacv2;messageid=root → lookup base ID, use root
|
|
43
|
-
* - user:aad-object-id → lookup by user AAD object ID
|
|
44
|
-
* - 19:abc@thread.tacv2 → direct conversation ID
|
|
45
|
-
*/
|
|
46
|
-
function parseRecipient(to) {
|
|
47
|
-
const trimmed = to.trim();
|
|
48
|
-
const finalize = (type, id) => {
|
|
49
|
-
const normalized = id.trim();
|
|
50
|
-
if (!normalized) throw new Error(`Invalid target value: missing ${type} id`);
|
|
51
|
-
if (type === "conversation") {
|
|
52
|
-
const threadId = require_resolve_allowlist.extractMSTeamsConversationMessageId(normalized);
|
|
53
|
-
const normalizedConversationId = require_resolve_allowlist.normalizeMSTeamsConversationId(normalized);
|
|
54
|
-
const slashIndex = normalizedConversationId.indexOf("/");
|
|
55
|
-
const graphChannelId = slashIndex > 0 ? normalizedConversationId.slice(slashIndex + 1) : void 0;
|
|
56
|
-
return {
|
|
57
|
-
type,
|
|
58
|
-
id: graphChannelId && (graphChannelId.startsWith("19:") || graphChannelId.includes("@thread")) ? graphChannelId : normalizedConversationId,
|
|
59
|
-
...threadId ? { threadId } : {}
|
|
60
|
-
};
|
|
61
|
-
}
|
|
62
|
-
return {
|
|
63
|
-
type,
|
|
64
|
-
id: normalized
|
|
65
|
-
};
|
|
66
|
-
};
|
|
67
|
-
if (trimmed.startsWith("conversation:")) return finalize("conversation", trimmed.slice(13));
|
|
68
|
-
if (trimmed.startsWith("user:")) return finalize("user", trimmed.slice(5));
|
|
69
|
-
if (trimmed.startsWith("19:") || trimmed.includes("@thread")) return finalize("conversation", trimmed);
|
|
70
|
-
return finalize("user", trimmed);
|
|
71
|
-
}
|
|
72
|
-
async function findConversationReference(recipient) {
|
|
73
|
-
if (recipient.type === "conversation") {
|
|
74
|
-
const ref = await recipient.store.get(recipient.id);
|
|
75
|
-
return ref ? {
|
|
76
|
-
conversationId: recipient.id,
|
|
77
|
-
ref
|
|
78
|
-
} : null;
|
|
79
|
-
}
|
|
80
|
-
const found = await recipient.store.findPreferredDmByUserId(recipient.id);
|
|
81
|
-
return found ? {
|
|
82
|
-
conversationId: found.conversationId,
|
|
83
|
-
ref: found.reference
|
|
84
|
-
} : null;
|
|
85
|
-
}
|
|
86
18
|
async function resolveMSTeamsSendContext(params) {
|
|
87
19
|
const accountId = (0, openclaw_plugin_sdk_account_id.normalizeAccountId)(params.accountId ?? require_resolve_allowlist.resolveDefaultMSTeamsAccountId(params.cfg));
|
|
88
20
|
const account = require_resolve_allowlist.resolveMSTeamsAccount({
|
|
@@ -99,11 +31,46 @@ async function resolveMSTeamsSendContext(params) {
|
|
|
99
31
|
});
|
|
100
32
|
if (!creds) throw new Error("msteams credentials not configured");
|
|
101
33
|
const store = require_conversation_store_state.createMSTeamsConversationStoreState({ accountId });
|
|
102
|
-
const recipient =
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
34
|
+
const recipient = (() => {
|
|
35
|
+
const trimmed = params.to.trim();
|
|
36
|
+
const finalize = (type, id) => {
|
|
37
|
+
const normalized = id.trim();
|
|
38
|
+
if (!normalized) throw new Error(`Invalid target value: missing ${type} id`);
|
|
39
|
+
if (type === "conversation") {
|
|
40
|
+
const threadId = require_resolve_allowlist.extractMSTeamsConversationMessageId(normalized);
|
|
41
|
+
const normalizedConversationId = require_resolve_allowlist.normalizeMSTeamsConversationId(normalized);
|
|
42
|
+
const slashIndex = normalizedConversationId.indexOf("/");
|
|
43
|
+
const graphChannelId = slashIndex > 0 ? normalizedConversationId.slice(slashIndex + 1) : void 0;
|
|
44
|
+
return {
|
|
45
|
+
type,
|
|
46
|
+
id: graphChannelId && (graphChannelId.startsWith("19:") || graphChannelId.includes("@thread")) ? graphChannelId : normalizedConversationId,
|
|
47
|
+
...threadId ? { threadId } : {}
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
return {
|
|
51
|
+
type,
|
|
52
|
+
id: normalized
|
|
53
|
+
};
|
|
54
|
+
};
|
|
55
|
+
if (trimmed.startsWith("conversation:")) return finalize("conversation", trimmed.slice(13));
|
|
56
|
+
if (trimmed.startsWith("user:")) return finalize("user", trimmed.slice(5));
|
|
57
|
+
if (trimmed.startsWith("19:") || trimmed.includes("@thread")) return finalize("conversation", trimmed);
|
|
58
|
+
return finalize("user", trimmed);
|
|
59
|
+
})();
|
|
60
|
+
const found = await (async () => {
|
|
61
|
+
if (recipient.type === "conversation") {
|
|
62
|
+
const ref = await store.get(recipient.id);
|
|
63
|
+
return ref ? {
|
|
64
|
+
conversationId: recipient.id,
|
|
65
|
+
ref
|
|
66
|
+
} : null;
|
|
67
|
+
}
|
|
68
|
+
const preferred = await store.findPreferredDmByUserId(recipient.id);
|
|
69
|
+
return preferred ? {
|
|
70
|
+
conversationId: preferred.conversationId,
|
|
71
|
+
ref: preferred.reference
|
|
72
|
+
} : null;
|
|
73
|
+
})();
|
|
107
74
|
if (!found) throw new Error(`No conversation reference found for ${recipient.type}:${recipient.id}. The bot must receive a message from this conversation before it can send proactively.`);
|
|
108
75
|
const conversationId = found.conversationId;
|
|
109
76
|
const ref = recipient.threadId ? {
|
|
@@ -144,12 +111,26 @@ async function resolveMSTeamsSendContext(params) {
|
|
|
144
111
|
const replyTarget = recipient.threadId && conversationType === "channel" ? {
|
|
145
112
|
replyStyle: "thread",
|
|
146
113
|
threadActivityId: recipient.threadId
|
|
147
|
-
} :
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
114
|
+
} : (() => {
|
|
115
|
+
const threadRootId = safeRef.threadId ?? safeRef.activityId;
|
|
116
|
+
if (conversationType !== "channel" || !threadRootId) return { replyStyle: "top-level" };
|
|
117
|
+
const routeConfig = require_presentation.resolveMSTeamsRouteConfig({
|
|
118
|
+
cfg: msteamsCfg,
|
|
119
|
+
teamId: safeRef.teamId,
|
|
120
|
+
conversationId,
|
|
121
|
+
allowNameMatching: false
|
|
122
|
+
});
|
|
123
|
+
const { replyStyle } = require_presentation.resolveMSTeamsReplyPolicy({
|
|
124
|
+
isDirectMessage: false,
|
|
125
|
+
globalConfig: msteamsCfg,
|
|
126
|
+
teamConfig: routeConfig.teamConfig,
|
|
127
|
+
channelConfig: routeConfig.channelConfig
|
|
128
|
+
});
|
|
129
|
+
return replyStyle === "thread" ? {
|
|
130
|
+
replyStyle,
|
|
131
|
+
threadActivityId: threadRootId
|
|
132
|
+
} : { replyStyle };
|
|
133
|
+
})();
|
|
153
134
|
const mediaMaxBytes = (0, openclaw_plugin_sdk_account_helpers.resolveChannelMediaMaxBytes)({
|
|
154
135
|
cfg: params.cfg,
|
|
155
136
|
resolveChannelLimitMb: () => msteamsCfg.mediaMaxMb
|
|
@@ -240,13 +221,7 @@ async function sendMessageMSTeams(params) {
|
|
|
240
221
|
accountId,
|
|
241
222
|
to
|
|
242
223
|
});
|
|
243
|
-
const { conversationId,
|
|
244
|
-
log.debug?.("sending proactive message", {
|
|
245
|
-
conversationId,
|
|
246
|
-
conversationType,
|
|
247
|
-
textLength: messageText.length,
|
|
248
|
-
hasMedia: Boolean(mediaUrl)
|
|
249
|
-
});
|
|
224
|
+
const { conversationId, conversationType, tokenProvider, sharePointSiteId } = ctx;
|
|
250
225
|
if (mediaUrl) {
|
|
251
226
|
const mediaMaxBytes = ctx.mediaMaxBytes ?? 104857600;
|
|
252
227
|
const media = await (0, openclaw_plugin_sdk_outbound_media.loadOutboundMediaFromUrl)(mediaUrl, {
|
|
@@ -255,18 +230,9 @@ async function sendMessageMSTeams(params) {
|
|
|
255
230
|
mediaLocalRoots,
|
|
256
231
|
mediaReadFile
|
|
257
232
|
});
|
|
258
|
-
const isLargeFile = media.buffer.length >= require_conversation_store_state.FILE_CONSENT_THRESHOLD_BYTES;
|
|
259
233
|
const isImage = media.contentType?.startsWith("image/") ?? false;
|
|
260
234
|
const fallbackFileName = await require_conversation_store_state.extractFilename(mediaUrl);
|
|
261
235
|
const fileName = filename?.trim() || media.fileName || fallbackFileName;
|
|
262
|
-
log.debug?.("processing media", {
|
|
263
|
-
fileName,
|
|
264
|
-
contentType: media.contentType,
|
|
265
|
-
size: media.buffer.length,
|
|
266
|
-
isLargeFile,
|
|
267
|
-
isImage,
|
|
268
|
-
conversationType
|
|
269
|
-
});
|
|
270
236
|
if (require_conversation_store_state.requiresFileConsent({
|
|
271
237
|
conversationType,
|
|
272
238
|
contentType: media.contentType,
|
|
@@ -282,11 +248,6 @@ async function sendMessageMSTeams(params) {
|
|
|
282
248
|
conversationId,
|
|
283
249
|
description: messageText || void 0
|
|
284
250
|
});
|
|
285
|
-
log.debug?.("sending file consent card", {
|
|
286
|
-
uploadId,
|
|
287
|
-
fileName,
|
|
288
|
-
size: media.buffer.length
|
|
289
|
-
});
|
|
290
251
|
const messageId = await sendProactiveActivity({
|
|
291
252
|
ctx,
|
|
292
253
|
activity,
|
|
@@ -307,11 +268,6 @@ async function sendMessageMSTeams(params) {
|
|
|
307
268
|
} finally {
|
|
308
269
|
await require_conversation_store_state.setPendingUploadActivityIdFs(uploadId, messageId);
|
|
309
270
|
}
|
|
310
|
-
log.info("sent file consent card", {
|
|
311
|
-
conversationId,
|
|
312
|
-
messageId,
|
|
313
|
-
uploadId
|
|
314
|
-
});
|
|
315
271
|
});
|
|
316
272
|
}
|
|
317
273
|
if (conversationType === "personal" || isImage && !sharePointSiteId) {
|
|
@@ -320,11 +276,6 @@ async function sendMessageMSTeams(params) {
|
|
|
320
276
|
}
|
|
321
277
|
try {
|
|
322
278
|
const siteId = require_conversation_store_state.requireMSTeamsSharePointSiteId(sharePointSiteId);
|
|
323
|
-
log.debug?.("uploading to SharePoint for native file card", {
|
|
324
|
-
fileName,
|
|
325
|
-
conversationType,
|
|
326
|
-
siteId
|
|
327
|
-
});
|
|
328
279
|
const uploaded = await require_conversation_store_state.uploadAndShareSharePoint({
|
|
329
280
|
assertDirectAdapterHandoff: params.assertDirectAdapterHandoff,
|
|
330
281
|
buffer: media.buffer,
|
|
@@ -335,37 +286,23 @@ async function sendMessageMSTeams(params) {
|
|
|
335
286
|
chatId: conversationId,
|
|
336
287
|
usePerUserSharing: conversationType === "groupChat"
|
|
337
288
|
});
|
|
338
|
-
log.debug?.("SharePoint upload complete", {
|
|
339
|
-
itemId: uploaded.itemId,
|
|
340
|
-
shareUrl: uploaded.shareUrl
|
|
341
|
-
});
|
|
342
289
|
const driveItem = await require_conversation_store_state.getDriveItemProperties({
|
|
343
290
|
assertDirectAdapterHandoff: params.assertDirectAdapterHandoff,
|
|
344
291
|
siteId,
|
|
345
292
|
itemId: uploaded.itemId,
|
|
346
293
|
tokenProvider
|
|
347
294
|
});
|
|
348
|
-
log.debug?.("driveItem properties retrieved", {
|
|
349
|
-
eTag: driveItem.eTag,
|
|
350
|
-
webDavUrl: driveItem.webDavUrl
|
|
351
|
-
});
|
|
352
295
|
const fileCardAttachment = require_conversation_store_state.buildTeamsFileInfoCard(driveItem);
|
|
353
|
-
const messageId = await sendProactiveActivityRaw({
|
|
354
|
-
ctx,
|
|
355
|
-
activity: {
|
|
356
|
-
...require_conversation_store_state.buildMSTeamsMessageActivity(messageText || void 0),
|
|
357
|
-
attachments: [fileCardAttachment]
|
|
358
|
-
},
|
|
359
|
-
assertDirectAdapterHandoff: params.assertDirectAdapterHandoff,
|
|
360
|
-
onPlatformSendDispatch: params.onPlatformSendDispatch
|
|
361
|
-
});
|
|
362
|
-
log.info("sent native file card", {
|
|
363
|
-
conversationId,
|
|
364
|
-
messageId,
|
|
365
|
-
fileName: driveItem.name
|
|
366
|
-
});
|
|
367
296
|
const result = createMSTeamsSendResult({
|
|
368
|
-
messageId
|
|
297
|
+
messageId: await sendProactiveActivityRaw({
|
|
298
|
+
ctx,
|
|
299
|
+
activity: {
|
|
300
|
+
...require_conversation_store_state.buildMSTeamsMessageActivity(messageText || void 0),
|
|
301
|
+
attachments: [fileCardAttachment]
|
|
302
|
+
},
|
|
303
|
+
assertDirectAdapterHandoff: params.assertDirectAdapterHandoff,
|
|
304
|
+
onPlatformSendDispatch: params.onPlatformSendDispatch
|
|
305
|
+
}),
|
|
369
306
|
conversationId,
|
|
370
307
|
kind: "media"
|
|
371
308
|
});
|
|
@@ -427,13 +364,8 @@ async function sendTextWithMedia(ctx, text, mediaUrl, options) {
|
|
|
427
364
|
}));
|
|
428
365
|
throw error;
|
|
429
366
|
}
|
|
430
|
-
const messageId = platformMessageIds[0] ?? "unknown";
|
|
431
|
-
log.info("sent proactive message", {
|
|
432
|
-
conversationId,
|
|
433
|
-
messageId
|
|
434
|
-
});
|
|
435
367
|
return {
|
|
436
|
-
messageId,
|
|
368
|
+
messageId: platformMessageIds[0] ?? "unknown",
|
|
437
369
|
conversationId,
|
|
438
370
|
receipt: createMSTeamsSendReceipt({
|
|
439
371
|
conversationId,
|
|
@@ -469,17 +401,12 @@ async function sendPollMSTeams(params) {
|
|
|
469
401
|
accountId,
|
|
470
402
|
to
|
|
471
403
|
});
|
|
472
|
-
const { conversationId
|
|
404
|
+
const { conversationId } = ctx;
|
|
473
405
|
const pollCard = require_conversation_store_state.buildMSTeamsPollCard({
|
|
474
406
|
question,
|
|
475
407
|
options,
|
|
476
408
|
maxSelections
|
|
477
409
|
});
|
|
478
|
-
log.debug?.("sending poll", {
|
|
479
|
-
conversationId,
|
|
480
|
-
pollId: pollCard.pollId,
|
|
481
|
-
optionCount: pollCard.options.length
|
|
482
|
-
});
|
|
483
410
|
const messageId = await sendProactiveActivity({
|
|
484
411
|
ctx,
|
|
485
412
|
activity: require_conversation_store_state.buildMSTeamsAdaptiveCardActivity(pollCard.card),
|
|
@@ -487,11 +414,6 @@ async function sendPollMSTeams(params) {
|
|
|
487
414
|
assertDirectAdapterHandoff: params.assertDirectAdapterHandoff,
|
|
488
415
|
onPlatformSendDispatch: params.onPlatformSendDispatch
|
|
489
416
|
});
|
|
490
|
-
log.info("sent poll", {
|
|
491
|
-
conversationId,
|
|
492
|
-
pollId: pollCard.pollId,
|
|
493
|
-
messageId
|
|
494
|
-
});
|
|
495
417
|
return {
|
|
496
418
|
pollId: pollCard.pollId,
|
|
497
419
|
messageId,
|
|
@@ -506,25 +428,15 @@ async function sendAdaptiveCardMSTeams(params) {
|
|
|
506
428
|
accountId,
|
|
507
429
|
to
|
|
508
430
|
});
|
|
509
|
-
const { conversationId
|
|
510
|
-
log.debug?.("sending adaptive card", {
|
|
511
|
-
conversationId,
|
|
512
|
-
cardType: card.type,
|
|
513
|
-
cardVersion: card.version
|
|
514
|
-
});
|
|
515
|
-
const messageId = await sendProactiveActivity({
|
|
516
|
-
ctx,
|
|
517
|
-
activity: require_conversation_store_state.buildMSTeamsAdaptiveCardActivity(card),
|
|
518
|
-
errorPrefix: "msteams card send",
|
|
519
|
-
assertDirectAdapterHandoff: params.assertDirectAdapterHandoff,
|
|
520
|
-
onPlatformSendDispatch: params.onPlatformSendDispatch
|
|
521
|
-
});
|
|
522
|
-
log.info("sent adaptive card", {
|
|
523
|
-
conversationId,
|
|
524
|
-
messageId
|
|
525
|
-
});
|
|
431
|
+
const { conversationId } = ctx;
|
|
526
432
|
const result = createMSTeamsSendResult({
|
|
527
|
-
messageId
|
|
433
|
+
messageId: await sendProactiveActivity({
|
|
434
|
+
ctx,
|
|
435
|
+
activity: require_conversation_store_state.buildMSTeamsAdaptiveCardActivity(card),
|
|
436
|
+
errorPrefix: "msteams card send",
|
|
437
|
+
assertDirectAdapterHandoff: params.assertDirectAdapterHandoff,
|
|
438
|
+
onPlatformSendDispatch: params.onPlatformSendDispatch
|
|
439
|
+
}),
|
|
528
440
|
conversationId,
|
|
529
441
|
kind: "card"
|
|
530
442
|
});
|
|
@@ -555,16 +467,12 @@ async function deleteMessageMSTeams(params) {
|
|
|
555
467
|
}
|
|
556
468
|
async function mutateMSTeamsMessageActivity(params) {
|
|
557
469
|
const { cfg, accountId, to, activityId, activity } = params;
|
|
558
|
-
const { app, conversationId, ref,
|
|
470
|
+
const { app, conversationId, ref, sdkCloudOptions } = await resolveMSTeamsSendContext({
|
|
559
471
|
cfg,
|
|
560
472
|
accountId,
|
|
561
473
|
to
|
|
562
474
|
});
|
|
563
475
|
const operation = activity ? "edit" : "delete";
|
|
564
|
-
log.debug?.(`${activity ? "editing" : "deleting"} proactive message`, {
|
|
565
|
-
conversationId,
|
|
566
|
-
activityId
|
|
567
|
-
});
|
|
568
476
|
try {
|
|
569
477
|
const baseRef = require_conversation_store_state.buildConversationReference(ref);
|
|
570
478
|
const options = { serviceUrlBoundary: sdkCloudOptions };
|
|
@@ -573,10 +481,6 @@ async function mutateMSTeamsMessageActivity(params) {
|
|
|
573
481
|
} catch (err) {
|
|
574
482
|
throw createMSTeamsSendError(`msteams ${operation}`, err);
|
|
575
483
|
}
|
|
576
|
-
log.info(`${activity ? "edited" : "deleted"} proactive message`, {
|
|
577
|
-
conversationId,
|
|
578
|
-
activityId
|
|
579
|
-
});
|
|
580
484
|
return { conversationId };
|
|
581
485
|
}
|
|
582
486
|
//#endregion
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const require_resolve_allowlist = require("./resolve-allowlist-
|
|
1
|
+
const require_resolve_allowlist = require("./resolve-allowlist-7mIEepXB.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");
|
|
@@ -36,14 +36,12 @@ const msTeamsApprovalAuth = { authorizeActorAction(params) {
|
|
|
36
36
|
} };
|
|
37
37
|
//#endregion
|
|
38
38
|
//#region extensions/msteams/src/monitor-handler/thread-session.ts
|
|
39
|
-
const TRAILING_THREAD_SUFFIX = /(?::thread:[^:]+)+$/;
|
|
40
39
|
function resolveMSTeamsRouteSessionKey(params) {
|
|
41
|
-
const channelThreadId = params.isChannel ? params.conversationMessageId ?? params.replyToId
|
|
42
|
-
const cleanBase = params.baseSessionKey.replace(TRAILING_THREAD_SUFFIX, "");
|
|
40
|
+
const channelThreadId = params.isChannel ? params.conversationMessageId ?? params.replyToId : void 0;
|
|
43
41
|
return (0, openclaw_plugin_sdk_routing.resolveThreadSessionKeys)({
|
|
44
|
-
baseSessionKey:
|
|
42
|
+
baseSessionKey: params.baseSessionKey,
|
|
45
43
|
threadId: channelThreadId,
|
|
46
|
-
parentSessionKey: channelThreadId ?
|
|
44
|
+
parentSessionKey: channelThreadId ? params.baseSessionKey : void 0
|
|
47
45
|
}).sessionKey;
|
|
48
46
|
}
|
|
49
47
|
//#endregion
|
|
@@ -28,7 +28,6 @@ function resolveMSTeamsCredentials(cfg, options) {
|
|
|
28
28
|
if (!appId || !tenantId) return;
|
|
29
29
|
if (authType === "federated") {
|
|
30
30
|
const certificatePath = resolveFederatedPath(cfg?.certificatePath, allowEnvFallback ? process.env.MSTEAMS_CERTIFICATE_PATH : void 0);
|
|
31
|
-
const certificateThumbprint = cfg?.certificateThumbprint || (allowEnvFallback ? process.env.MSTEAMS_CERTIFICATE_THUMBPRINT : void 0) || void 0;
|
|
32
31
|
const useManagedIdentity = cfg?.useManagedIdentity ?? (allowEnvFallback ? process.env.MSTEAMS_USE_MANAGED_IDENTITY === "true" : false);
|
|
33
32
|
const managedIdentityClientId = cfg?.managedIdentityClientId || (allowEnvFallback ? process.env.MSTEAMS_MANAGED_IDENTITY_CLIENT_ID : void 0) || void 0;
|
|
34
33
|
if (!certificatePath && !useManagedIdentity) return;
|
|
@@ -37,7 +36,6 @@ function resolveMSTeamsCredentials(cfg, options) {
|
|
|
37
36
|
appId,
|
|
38
37
|
tenantId,
|
|
39
38
|
certificatePath,
|
|
40
|
-
certificateThumbprint,
|
|
41
39
|
useManagedIdentity: useManagedIdentity || void 0,
|
|
42
40
|
managedIdentityClientId
|
|
43
41
|
};
|
|
@@ -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-backup-resources.cjs","source":"extensions/msteams/doctor-backup-resources.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-BB38Rdj_.cjs","sha256":"6277f96eb87eabd42d1c3c07db04c014a996c14146b841bcf41fda932fcde0cf","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-BHAKsdAM.cjs","sha256":"44a92950ba79f9d60d17a8e199ced63902af2c253adb94f0d3ec7e58414cb8f8","facadeSource":null,"sources":["extensions/msteams/src/approval-card-actions.ts","extensions/msteams/src/approval-card.ts"]},{"output":".setup/approval-handler.runtime-C16UvawQ.cjs","sha256":"8e5737cdc38e6ec0d7b0ad84f5b84a45fa8993505e04563a1a1e5b95536f84a2","facadeSource":"extensions/msteams/src/approval-handler.runtime.ts","sources":["extensions/msteams/src/approval-handler.runtime.ts"]},{"output":".setup/bot-framework-service-url-B3FWn2SV.cjs","sha256":"2a92ed67c439b99f6c15c3504d88736eecb0716cec90ce8ed6301cba64490431","facadeSource":null,"sources":["extensions/msteams/src/accounts-webhook.ts","extensions/msteams/src/bot-framework-service-url.ts"]},{"output":".setup/channel-BaTw0JW3.cjs","sha256":"cc6367507b57838e642187423c31f9401a79e41e56b9ec8cdfda4145348c058e","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-message-tool.ts","extensions/msteams/src/channel.ts","extensions/msteams/src/doctor.ts","extensions/msteams/src/graph-action-context.ts","extensions/msteams/src/outbound-config.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-Ch2M_-jN.cjs","sha256":"ed1dd1d51a2176d284c3a9a81cfac66101b3b9cd9ae17cdfe5e710f09d529601","facadeSource":"extensions/msteams/src/channel.runtime.ts","sources":["extensions/msteams/src/channel.runtime.ts","extensions/msteams/src/directory-live.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-B9yKGEse.cjs","sha256":"4fe254196b4fc179d0dffdb51265357a8d50000cc43c99f19b97a6fdf1596daf","facadeSource":null,"sources":["extensions/msteams/src/accounts-mutations.ts","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-3lVZ45cB.cjs","sha256":"b1cf7feaaceb915574d5ba587fb47d5fa3e8d535e1a0f928fd2289db9311e9ad","facadeSource":null,"sources":["extensions/msteams/src/config-schema.ts"]},{"output":".setup/conversation-store-state-CVhMM0QY.cjs","sha256":"98aec20b537ef271353dcb6398677a82599068895b7b779746e99927dbac405b","facadeSource":null,"sources":["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/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/sdk-proactive.ts","extensions/msteams/src/sent-message-cache.ts"]},{"output":".setup/delegated-state-ilYzKwD8.cjs","sha256":"bc88fc8eb7bb7e9189d4b1e317d3d800805977475ee1aea72403b6d958eb600e","facadeSource":null,"sources":["extensions/msteams/src/delegated-state.ts","extensions/msteams/src/sqlite-state.ts"]},{"output":".setup/monitor-b0zPpnmW.cjs","sha256":"427f66ca5170d50353dfa93aa1555f082b47438cfe2c894f54a88084dc9aa3d0","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/file-consent-invoke.ts","extensions/msteams/src/informative-status.ts","extensions/msteams/src/monitor-handler.ts","extensions/msteams/src/monitor-handler/access.ts","extensions/msteams/src/monitor-handler/config.ts","extensions/msteams/src/monitor-handler/inbound-content.ts","extensions/msteams/src/monitor-handler/inbound-facts.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.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","src/channels/mention-gating.ts"]},{"output":".setup/oauth-CUtfkgKE.cjs","sha256":"48f73654347644c7ea3228abcb84233cacdf02ccd66982df598745af139a7b69","facadeSource":"extensions/msteams/src/oauth.ts","sources":["extensions/msteams/src/oauth.ts"]},{"output":".setup/presentation-Duoi9Ijn.cjs","sha256":"2f6b088e36eb590706ed94a840916ae3c9f8f7a38d4a9e474f1785a4f70130cc","facadeSource":null,"sources":["extensions/msteams/src/policy.ts","extensions/msteams/src/presentation.ts"]},{"output":".setup/reaction-types-C6F6g2nk.cjs","sha256":"bc49e9ef708564e6daf2c9d118b19290f649278959ece9d185e45e2fc7cfc9ad","facadeSource":null,"sources":["extensions/msteams/src/graph-thread.ts","extensions/msteams/src/reaction-types.ts"]},{"output":".setup/resolve-allowlist-7mIEepXB.cjs","sha256":"5e9ee0db512574bc31b8b3405c0d6e264d7d8f58e96140a1bdedee946b9fb9fd","facadeSource":null,"sources":["extensions/msteams/src/accounts.ts","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/microsoft-hosts.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-D554HIrH.cjs","sha256":"0a765c5b34e90ff9293a304b157a4f150f8855739c844dd0f9c2562cae403ddf","facadeSource":null,"sources":["extensions/msteams/src/secret-contract.ts"]},{"output":".setup/secret-contract-api-r3hRtbBW.cjs","sha256":"87b76456d0d652e3e0b7a6b1bc510be63021f248e635d7ce96668903ee191031","facadeSource":"extensions/msteams/secret-contract-api.ts","sources":[]},{"output":".setup/send-D1w7a_ip.cjs","sha256":"c470c32a961e18d59e3349ea3eede0bf78f2599076cab5e6cd33799de0308c6e","facadeSource":null,"sources":["extensions/msteams/src/send-context.ts","extensions/msteams/src/send.ts"]},{"output":".setup/setup-plugin-api-ChovZJU6.cjs","sha256":"50d79a6ef691a3f1403475798e6eff7a01d0bc906b9919673464d491bfaab4af","facadeSource":"extensions/msteams/setup-plugin-api.ts","sources":[]},{"output":".setup/thread-session-CeWYiol_.cjs","sha256":"c0954ac06962e35fba05b448a8d74fdccd80c805ec7c4e9bc9520ac28074ab4a","facadeSource":null,"sources":["extensions/msteams/src/approval-auth.ts","extensions/msteams/src/monitor-handler/thread-session.ts"]},{"output":".setup/token-config-DICiuJWr.cjs","sha256":"0c3845e0ff541b061489a99b3485e2c63f23a502e5b8c28f1bb274b420897e80","facadeSource":null,"sources":["extensions/msteams/src/token-config.ts"]},{"output":"api.cjs","sha256":"ed9ca2ffc90b7b0410a47a6a023dd585684d5ccb5d49c75f584ac0292ed4b59e","facadeSource":"extensions/msteams/api.ts","sources":[]},{"output":"channel-config-api.cjs","sha256":"83f015966846aa527687768ec5031ade60a172e005352cbf7a1c7e982f61167d","facadeSource":"extensions/msteams/channel-config-api.ts","sources":[]},{"output":"channel-plugin-api.cjs","sha256":"07a7474b497675a75eb9897a81de56623de43f4ad97ceb02165420c7bf89a7e6","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":"e6a3bfa795af1815947073778db38a067256db82ab8791ac38a0da5f2b9aa223","facadeSource":"extensions/msteams/directory-contract-api.ts","sources":["extensions/msteams/directory-contract-api.ts"]},{"output":"doctor-backup-resources.cjs","sha256":"dd07e5b9d0b9bca67b1282809c75c5913f6e3b44a280003b527cc97bb7a51ebc","facadeSource":"extensions/msteams/doctor-backup-resources.ts","sources":["extensions/msteams/doctor-backup-resources.ts"]},{"output":"doctor-contract-api.cjs","sha256":"3e25fe9e8c12f7cc20f2c7a93c6ac17cb82b00da24650fe5bba2ab109cc843be","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":"26ef1caf88afb39dbf402021c3b0527f4362a2c10464d53edabc42253147ea18","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":"7991b0a99bc6251fcbed45d38e1992bb211f1899e1580cc32bea80835a82a8c5","facadeSource":"extensions/msteams/runtime-api.ts","sources":[]},{"output":"secret-contract-api.cjs","sha256":"1df54153c665f8843b431dc55b98ea05a005d15938edaab3e0be0a37e36a8468","facadeSource":"extensions/msteams/secret-contract-api.ts","sources":[]},{"output":"setup-entry.cjs","sha256":"299911778d82dddb57b327b8e7bfa2eeb637aa12473f0bfc9ff3549260b359b0","facadeSource":"extensions/msteams/setup-entry.ts","sources":["extensions/msteams/setup-entry.ts"]},{"output":"setup-plugin-api.cjs","sha256":"677153638d1f1b63a7227b0dd9a435400b6d6c14892da94d867eec8ab62c65ed","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"]}
|
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-BaTw0JW3.cjs");
|
|
3
|
+
const require_channel_setup = require("./.setup/channel.setup-B9yKGEse.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,3 +1,3 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_config_schema = require("./.setup/config-schema-
|
|
2
|
+
const require_config_schema = require("./.setup/config-schema-3lVZ45cB.cjs");
|
|
3
3
|
exports.MSTeamsChannelConfigSchema = require_config_schema.MSTeamsChannelConfigSchema;
|
|
@@ -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-7mIEepXB.cjs");
|
|
3
3
|
let openclaw_plugin_sdk_directory_runtime = require("openclaw/plugin-sdk/directory-runtime");
|
|
4
4
|
const msteamsDirectoryContractPlugin = {
|
|
5
5
|
id: "msteams",
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
2
|
const require_rolldown_runtime = require("./.setup/rolldown-runtime-BloeesfJ.cjs");
|
|
3
|
-
const require_token_config = require("./.setup/token-config-
|
|
4
|
-
const require_delegated_state = require("./.setup/delegated-state-
|
|
3
|
+
const require_token_config = require("./.setup/token-config-DICiuJWr.cjs");
|
|
4
|
+
const require_delegated_state = require("./.setup/delegated-state-ilYzKwD8.cjs");
|
|
5
5
|
const require_doctor_backup_resources = require("./doctor-backup-resources.cjs");
|
|
6
6
|
let openclaw_plugin_sdk_string_coerce_runtime = require("openclaw/plugin-sdk/string-coerce-runtime");
|
|
7
7
|
let openclaw_plugin_sdk_error_runtime = require("openclaw/plugin-sdk/error-runtime");
|
|
@@ -314,7 +314,7 @@ const stateMigrations = [
|
|
|
314
314
|
};
|
|
315
315
|
}
|
|
316
316
|
if (!existing) try {
|
|
317
|
-
await store.registerIfAbsent(
|
|
317
|
+
if (!await store.registerIfAbsent("current", token)) throw new Error("Canonical state appeared during offline import.");
|
|
318
318
|
} catch (error) {
|
|
319
319
|
warnings.push(`Failed importing ${MSTEAMS_PLUGIN_ID} delegated OAuth token: ${String(error)}; left legacy source in place`);
|
|
320
320
|
return {
|
|
@@ -322,14 +322,6 @@ const stateMigrations = [
|
|
|
322
322
|
warnings
|
|
323
323
|
};
|
|
324
324
|
}
|
|
325
|
-
const persisted = require_delegated_state.normalizeMSTeamsDelegatedTokens(await store.lookup(require_delegated_state.MSTEAMS_DELEGATED_TOKEN_KEY));
|
|
326
|
-
if (!persisted || JSON.stringify(persisted) !== JSON.stringify(token)) {
|
|
327
|
-
warnings.push(`Failed verifying ${MSTEAMS_PLUGIN_ID} delegated OAuth token in plugin state; left legacy source in place`);
|
|
328
|
-
return {
|
|
329
|
-
changes,
|
|
330
|
-
warnings
|
|
331
|
-
};
|
|
332
|
-
}
|
|
333
325
|
changes.push(`Migrated ${MSTEAMS_PLUGIN_ID} delegated OAuth token -> plugin state`);
|
|
334
326
|
await (0, runtime_doctor_migrations_exports.archiveLegacyStateSource)({
|
|
335
327
|
filePath,
|
package/dist/qa-runner-api.cjs
CHANGED
|
@@ -2,7 +2,7 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
|
2
2
|
let openclaw_plugin_sdk_qa_runner_runtime = require("openclaw/plugin-sdk/qa-runner-runtime");
|
|
3
3
|
//#region extensions/msteams/src/qa/cli.ts
|
|
4
4
|
const DEFAULT_MSTEAMS_QA_SCENARIOS = ["channel-canary"];
|
|
5
|
-
const loadMSTeamsQaAdapterRuntime = (0, openclaw_plugin_sdk_qa_runner_runtime.createLazyCliRuntimeLoader)(() => Promise.resolve().then(() => require("./.setup/adapter.runtime-
|
|
5
|
+
const loadMSTeamsQaAdapterRuntime = (0, openclaw_plugin_sdk_qa_runner_runtime.createLazyCliRuntimeLoader)(() => Promise.resolve().then(() => require("./.setup/adapter.runtime-BB38Rdj_.cjs")));
|
|
6
6
|
//#endregion
|
|
7
7
|
//#region extensions/msteams/qa-runner-api.ts
|
|
8
8
|
const qaRunnerCliRegistrations = [(0, openclaw_plugin_sdk_qa_runner_runtime.createLiveTransportQaCliRegistration)({
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_secret_contract_api = require("./.setup/secret-contract-api-
|
|
2
|
+
const require_secret_contract_api = require("./.setup/secret-contract-api-D554HIrH.cjs");
|
|
3
3
|
exports.channelSecrets = require_secret_contract_api.channelSecrets;
|
|
4
4
|
exports.collectRuntimeConfigAssignments = require_secret_contract_api.collectRuntimeConfigAssignments;
|
|
5
5
|
exports.secretTargetRegistryEntries = require_secret_contract_api.secretTargetRegistryEntries;
|
package/dist/setup-entry.cjs
CHANGED
|
@@ -4,11 +4,11 @@ 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-ChovZJU6.cjs", require("url").pathToFileURL(__filename).href).href),
|
|
8
8
|
exportName: "msteamsSetupPlugin"
|
|
9
9
|
},
|
|
10
10
|
secrets: {
|
|
11
|
-
specifier: (0, node_url.fileURLToPath)(new URL(".setup/secret-contract-api-
|
|
11
|
+
specifier: (0, node_url.fileURLToPath)(new URL(".setup/secret-contract-api-r3hRtbBW.cjs", require("url").pathToFileURL(__filename).href).href),
|
|
12
12
|
exportName: "channelSecrets"
|
|
13
13
|
}
|
|
14
14
|
});
|
|
@@ -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-B9yKGEse.cjs");
|
|
3
3
|
exports.msteamsSetupPlugin = require_channel_setup.msteamsSetupPlugin;
|
package/openclaw.plugin.json
CHANGED
|
@@ -298,21 +298,6 @@
|
|
|
298
298
|
},
|
|
299
299
|
"additionalProperties": false
|
|
300
300
|
},
|
|
301
|
-
"heartbeatVisibility": {
|
|
302
|
-
"type": "object",
|
|
303
|
-
"properties": {
|
|
304
|
-
"showOk": {
|
|
305
|
-
"type": "boolean"
|
|
306
|
-
},
|
|
307
|
-
"showAlerts": {
|
|
308
|
-
"type": "boolean"
|
|
309
|
-
},
|
|
310
|
-
"useIndicator": {
|
|
311
|
-
"type": "boolean"
|
|
312
|
-
}
|
|
313
|
-
},
|
|
314
|
-
"additionalProperties": false
|
|
315
|
-
},
|
|
316
301
|
"healthMonitor": {
|
|
317
302
|
"type": "object",
|
|
318
303
|
"properties": {
|
|
@@ -1003,21 +988,6 @@
|
|
|
1003
988
|
},
|
|
1004
989
|
"additionalProperties": false
|
|
1005
990
|
},
|
|
1006
|
-
"heartbeatVisibility": {
|
|
1007
|
-
"type": "object",
|
|
1008
|
-
"properties": {
|
|
1009
|
-
"showOk": {
|
|
1010
|
-
"type": "boolean"
|
|
1011
|
-
},
|
|
1012
|
-
"showAlerts": {
|
|
1013
|
-
"type": "boolean"
|
|
1014
|
-
},
|
|
1015
|
-
"useIndicator": {
|
|
1016
|
-
"type": "boolean"
|
|
1017
|
-
}
|
|
1018
|
-
},
|
|
1019
|
-
"additionalProperties": false
|
|
1020
|
-
},
|
|
1021
991
|
"healthMonitor": {
|
|
1022
992
|
"type": "object",
|
|
1023
993
|
"properties": {
|