@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.
Files changed (32) hide show
  1. package/dist/.setup/{adapter.runtime-B-6Q3nMI.cjs → adapter.runtime-BB38Rdj_.cjs} +20 -23
  2. package/dist/.setup/{approval-card-DWPDItvq.cjs → approval-card-BHAKsdAM.cjs} +5 -9
  3. package/dist/.setup/{approval-handler.runtime-D0jbDypb.cjs → approval-handler.runtime-C16UvawQ.cjs} +4 -4
  4. package/dist/.setup/{channel-Ci6K9Njb.cjs → channel-BaTw0JW3.cjs} +35 -254
  5. package/dist/.setup/{channel.runtime-DeHVAVxL.cjs → channel.runtime-Ch2M_-jN.cjs} +65 -107
  6. package/dist/.setup/{channel.setup-BN3uhq3r.cjs → channel.setup-B9yKGEse.cjs} +161 -262
  7. package/dist/.setup/{config-schema-CkKdphSp.cjs → config-schema-3lVZ45cB.cjs} +120 -125
  8. package/dist/.setup/{conversation-store-state-B-4g4uq5.cjs → conversation-store-state-CVhMM0QY.cjs} +411 -601
  9. package/dist/.setup/{delegated-state-Bv5cWuec.cjs → delegated-state-ilYzKwD8.cjs} +68 -6
  10. package/dist/.setup/{monitor-cuifGELM.cjs → monitor-b0zPpnmW.cjs} +1883 -2310
  11. package/dist/.setup/{oauth-BBUQCwmq.cjs → oauth-CUtfkgKE.cjs} +10 -21
  12. package/dist/.setup/presentation-Duoi9Ijn.cjs +213 -0
  13. package/dist/.setup/{reaction-types-CwP5RVQB.cjs → reaction-types-C6F6g2nk.cjs} +1 -1
  14. package/dist/.setup/{resolve-allowlist-gI34MnpE.cjs → resolve-allowlist-7mIEepXB.cjs} +214 -90
  15. package/dist/.setup/{secret-contract-api-wAyY5UHv.cjs → secret-contract-api-D554HIrH.cjs} +4 -6
  16. package/dist/.setup/{secret-contract-api-YY3v6MP8.cjs → secret-contract-api-r3hRtbBW.cjs} +1 -1
  17. package/dist/.setup/{send-C9JY42T6.cjs → send-D1w7a_ip.cjs} +86 -182
  18. package/dist/.setup/{setup-plugin-api-B-NYBLkF.cjs → setup-plugin-api-ChovZJU6.cjs} +1 -1
  19. package/dist/.setup/{thread-session-BWVCoYza.cjs → thread-session-CeWYiol_.cjs} +4 -6
  20. package/dist/.setup/{token-config-bEpua_Q7.cjs → token-config-DICiuJWr.cjs} +0 -2
  21. package/dist/.source-module-urls/7e43ee3ae4faab430a47269c8217f8d99ec60ecd85233f40e81d03efeb543068.json +1 -0
  22. package/dist/api.cjs +2 -2
  23. package/dist/channel-config-api.cjs +1 -1
  24. package/dist/channel-plugin-api.cjs +1 -1
  25. package/dist/directory-contract-api.cjs +1 -1
  26. package/dist/doctor-contract-api.cjs +3 -11
  27. package/dist/qa-runner-api.cjs +1 -1
  28. package/dist/secret-contract-api.cjs +1 -1
  29. package/dist/setup-entry.cjs +2 -2
  30. package/dist/setup-plugin-api.cjs +1 -1
  31. package/openclaw.plugin.json +0 -30
  32. 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-bEpua_Q7.cjs");
3
- const require_resolve_allowlist = require("./resolve-allowlist-gI34MnpE.cjs");
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 require_channel = require("./channel-Ci6K9Njb.cjs");
7
- const require_channel_setup = require("./channel.setup-BN3uhq3r.cjs");
8
- const require_conversation_store_state = require("./conversation-store-state-B-4g4uq5.cjs");
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 = parseRecipient(params.to);
103
- const found = await findConversationReference({
104
- ...recipient,
105
- store
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
- } : resolveMSTeamsProactiveReplyTarget({
148
- cfg: msteamsCfg,
149
- conversationId,
150
- ref: safeRef,
151
- conversationType
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, log, conversationType, tokenProvider, sharePointSiteId } = ctx;
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, log } = ctx;
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, log } = ctx;
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, log, sdkCloudOptions } = await resolveMSTeamsSendContext({
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,3 +1,3 @@
1
- const require_channel_setup = require("./channel.setup-BN3uhq3r.cjs");
1
+ const require_channel_setup = require("./channel.setup-B9yKGEse.cjs");
2
2
  require("../setup-plugin-api.cjs");
3
3
  exports.msteamsSetupPlugin = require_channel_setup.msteamsSetupPlugin;
@@ -1,4 +1,4 @@
1
- const require_resolve_allowlist = require("./resolve-allowlist-gI34MnpE.cjs");
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 ?? void 0 : void 0;
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: cleanBase,
42
+ baseSessionKey: params.baseSessionKey,
45
43
  threadId: channelThreadId,
46
- parentSessionKey: channelThreadId ? cleanBase : void 0
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-Ci6K9Njb.cjs");
3
- const require_channel_setup = require("./.setup/channel.setup-BN3uhq3r.cjs");
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-CkKdphSp.cjs");
2
+ const require_config_schema = require("./.setup/config-schema-3lVZ45cB.cjs");
3
3
  exports.MSTeamsChannelConfigSchema = require_config_schema.MSTeamsChannelConfigSchema;
@@ -1,3 +1,3 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_channel = require("./.setup/channel-Ci6K9Njb.cjs");
2
+ const require_channel = require("./.setup/channel-BaTw0JW3.cjs");
3
3
  exports.msteamsPlugin = require_channel.msteamsPlugin;
@@ -1,5 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_resolve_allowlist = require("./.setup/resolve-allowlist-gI34MnpE.cjs");
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-bEpua_Q7.cjs");
4
- const require_delegated_state = require("./.setup/delegated-state-Bv5cWuec.cjs");
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(require_delegated_state.MSTEAMS_DELEGATED_TOKEN_KEY, token);
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,
@@ -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-B-6Q3nMI.cjs")));
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-wAyY5UHv.cjs");
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;
@@ -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-B-NYBLkF.cjs", require("url").pathToFileURL(__filename).href).href),
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-YY3v6MP8.cjs", require("url").pathToFileURL(__filename).href).href),
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-BN3uhq3r.cjs");
2
+ const require_channel_setup = require("./.setup/channel.setup-B9yKGEse.cjs");
3
3
  exports.msteamsSetupPlugin = require_channel_setup.msteamsSetupPlugin;
@@ -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": {