@microsoft/teams-js 2.19.0 → 2.20.0-beta.0

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.
@@ -997,23 +997,58 @@ var ApiName;
997
997
  ApiName["Calendar_ComposeMeeting"] = "calendar.composeMeeting";
998
998
  ApiName["Calendar_OpenCalendarItem"] = "calendar.openCalendarItem";
999
999
  ApiName["Call_StartCall"] = "call.startCall";
1000
+ ApiName["Chat_OpenChat"] = "chat.openChat";
1001
+ ApiName["Chat_OpenGroupChat"] = "chat.openGroupChat";
1000
1002
  ApiName["Clipboard_Read"] = "clipboard.read";
1001
1003
  ApiName["Clipboard_Write"] = "clipboard.write";
1004
+ ApiName["Conversations_CloseConversation"] = "conversations.closeConversation";
1005
+ ApiName["Conversations_GetChatMember"] = "conversations.getChatMember";
1006
+ ApiName["Conversations_OpenConversation"] = "conversations.openConversation";
1007
+ ApiName["Conversations_RegisterCloseConversationHandler"] = "conversations.registerCloseConversationHandler";
1008
+ ApiName["Conversations_RegisterStartConversationHandler"] = "conversations.registerStartConversationHandler";
1002
1009
  ApiName["Dialog_AdaptiveCard_Bot_Open"] = "dialog.adaptiveCard.bot.open";
1003
1010
  ApiName["Dialog_AdaptiveCard_Open"] = "dialog.adaptiveCard.open";
1004
1011
  ApiName["Dialog_Update_Resize"] = "dialog.update.resize";
1005
1012
  ApiName["Dialog_Url_Bot_Open"] = "dialog.url.bot.open";
1006
1013
  ApiName["Dialog_Url_Open"] = "dialog.url.open";
1007
1014
  ApiName["Dialog_Url_Submit"] = "dialog.url.submit";
1008
- ApiName["Dialog_Url_SendMessageToParentFromDialog"] = "dialog.url.sendMessageToParentFromDialog";
1009
- ApiName["Dialog_Url_SendMessageToDialog"] = "dialog.url.sendMessageToDialog";
1015
+ ApiName["Dialog_Url_ParentCommunication_SendMessageToParentFromDialog"] = "dialog.url.parentCommunication.sendMessageToParentFromDialog";
1016
+ ApiName["Dialog_Url_ParentCommunication_SendMessageToDialog"] = "dialog.url.parentCommunication.sendMessageToDialog";
1017
+ ApiName["Files_AddCloudStorageFolder"] = "files.addCloudStorageFolder";
1018
+ ApiName["Files_AddCloudStorageProvider"] = "files.addCloudStorageProvider";
1019
+ ApiName["Files_AddCloudStorageProviderFile"] = "files.addCloudStorageProviderFile";
1020
+ ApiName["Files_CopyMoveFiles"] = "files.copyMoveFiles";
1021
+ ApiName["Files_DeleteCloudStorageFolder"] = "files.deleteCloudStorageFolder";
1022
+ ApiName["Files_DeleteCloudStorageProviderFile"] = "files.deleteCloudStorageProviderFile";
1023
+ ApiName["Files_DownloadCloudStorageProviderFile"] = "files.downloadCloudStorageProviderFile";
1024
+ ApiName["Files_GetCloudStorageFolderContents"] = "files.getCloudStorageFolderContents";
1025
+ ApiName["Files_GetCloudStorageFolders"] = "files.getCloudStorageFolders";
1026
+ ApiName["Files_GetExternalProviders"] = "files.getExternalProviders";
1027
+ ApiName["Files_GetFileDownloads"] = "files.getFileDownloads";
1028
+ ApiName["Files_OpenCloudStorageFile"] = "files.openCloudStorageFile";
1029
+ ApiName["Files_OpenDownloadFolder"] = "files.openDownloadFolder";
1030
+ ApiName["Files_RegisterCloudStorageProviderContentChangeHandler"] = "files.registerCloudStorageProviderContentChangeHandler";
1031
+ ApiName["Files_RegisterCloudStorageProviderListChangeHandler"] = "files.registerCloudStorageProviderListChangeHandler";
1032
+ ApiName["Files_RemoveCloudStorageProvider"] = "files.removeCloudStorageProvider";
1033
+ ApiName["Files_RenameCloudStorageProviderFile"] = "files.renameCloudStorageProviderFile";
1034
+ ApiName["Files_UploadCloudStorageProviderFile"] = "files.uploadCloudStorageProviderFile";
1010
1035
  ApiName["GeoLocation_GetCurrentLocation"] = "geoLocation.getCurrentLocation";
1011
1036
  ApiName["GeoLocation_HasPermission"] = "geoLocation.hasPermission";
1012
1037
  ApiName["GeoLocation_Map_ChooseLocation"] = "geoLocation.map.chooseLocation";
1013
- ApiName["GeoLocation_RequestPermission"] = "geoLocation.hasPermission";
1038
+ ApiName["GeoLocation_RequestPermission"] = "geoLocation.requestPermission";
1014
1039
  ApiName["GeoLocation_ShowLocation"] = "geoLocation.showLocation";
1040
+ ApiName["Interactive_GetClientInfo"] = "interactive.getClientInfo";
1041
+ ApiName["Interactive_GetClientRoles"] = "interactive.getClientRoles";
1042
+ ApiName["Interactive_GetFluidContainerId"] = "interactive.getFluidContainerId";
1043
+ ApiName["Interactive_GetFluidTenantInfo"] = "interactive.getFluidTenantInfo";
1044
+ ApiName["Interactive_GetFluidToken"] = "interactive.getFluidToken";
1045
+ ApiName["Interactive_GetNtpTime"] = "interactive.getNtpTime";
1046
+ ApiName["Interactive_RegisterClientId"] = "interactive.registerClientId";
1047
+ ApiName["Interactive_SetFluidContainerId"] = "interactive.setFluidContainerId";
1015
1048
  ApiName["Location_GetLocation"] = "location.getLocation";
1016
1049
  ApiName["Location_ShowLocation"] = "location.showLocation";
1050
+ ApiName["Logs_Receive"] = "log.receive";
1051
+ ApiName["Logs_RegisterLogRequestHandler"] = "log.request";
1017
1052
  ApiName["Mail_ComposeMail"] = "mail.composeMail";
1018
1053
  ApiName["Mail_OpenMailItem"] = "mail.openMailItem";
1019
1054
  ApiName["Marketplace_AddOrUpdateCartItems"] = "marketplace.addOrUpdateCartItems";
@@ -1028,18 +1063,53 @@ var ApiName;
1028
1063
  ApiName["Media_ScanBarCode"] = "media.scanBarCode";
1029
1064
  ApiName["Media_SelectMedia"] = "media.selectMedia";
1030
1065
  ApiName["Media_ViewImages"] = "media.viewImages";
1066
+ ApiName["Meeting_AppShareButton_SetOptions"] = "meeting.appShareButton.setOptions";
1067
+ ApiName["Meeting_GetAppContentStageSharingCapabilities"] = "meeting.getAppContentStageSharingCapabilities";
1068
+ ApiName["Meeting_GetAppContentStageSharingState"] = "meeting.getAppContentStageSharingState";
1069
+ ApiName["Meeting_GetAuthenticationTokenForAnonymousUser"] = "meeting.getAuthenticationTokenForAnonymousUser";
1070
+ ApiName["Meeting_GetIncomingClientAudioState"] = "meeting.getIncomingClientAudioState";
1071
+ ApiName["Meeting_GetLiveStreamState"] = "meeting.getLiveStreamState";
1072
+ ApiName["Meeting_GetMeetingDetails"] = "meeting.getMeetingDetails";
1073
+ ApiName["Meeting_RegisterAudioDeviceSelectionChangedHandler"] = "meeting.registerAudioDeviceSelectionChangedHandler";
1074
+ ApiName["Meeting_RegisterLiveStreamChangedHandler"] = "meeting.registerLiveStreamChangedHandler";
1075
+ ApiName["Meeting_RegisterMeetingReactionReceivedHandler"] = "meeting.registerMeetingReactionReceivedHandler";
1076
+ ApiName["Meeting_RegisterMicStateChangeHandler"] = "meeting.registerMicStateChangeHandler";
1077
+ ApiName["Meeting_RegisterRaiseHandStateChangedHandler"] = "meeting.registerRaiseHandStateChangedHandler";
1078
+ ApiName["Meeting_RegisterSpeakingStateChangeHandler"] = "meeting.registerSpeakingStateChangeHandler";
1079
+ ApiName["Meeting_RequestAppAudioHandling"] = "meeting.requestAppAudioHandling";
1080
+ ApiName["Meeting_RequestStartLiveStreaming"] = "meeting.requestStartLiveStreaming";
1081
+ ApiName["Meeting_RequestStopLiveStreaming"] = "meeting.requestStopLiveStreaming";
1082
+ ApiName["Meeting_SetMicStateWithReason"] = "meeting.setMicStateWithReason";
1083
+ ApiName["Meeting_ShareAppContentToStage"] = "meeting.shareAppContentToStage";
1084
+ ApiName["Meeting_StopSharingAppContentToStage"] = "meeting.stopSharingAppContentToStage";
1085
+ ApiName["Meeting_ToggleIncomingClientAudio"] = "meeting.toggleIncomingClientAudio";
1086
+ ApiName["MeetingRoom_GetPairedMeetingRoomInfo"] = "meetingRoom.getPairedMeetingRoomInfo";
1087
+ ApiName["MeetingRoom_RegisterMeetingRoomCapabilitiesUpdateHandler"] = "meetingRoom.registerMeetingRoomCapabilitiesUpdateHandler";
1088
+ ApiName["MeetingRoom_RegisterMeetingRoomStatesUpdateHandler"] = "meetingRoom.registerMeetingRoomStatesUpdateHandler";
1089
+ ApiName["MeetingRoom_SendCommandToPairedMeetingRoom"] = "meetingRoom.sendCommandToPairedMeetingRoom";
1090
+ ApiName["Menus_HandleActionMenuItemPress"] = "menus.handleActionMenuItemPress";
1091
+ ApiName["Menus_HandleNavBarMenuItemPress"] = "menus.handleNavBarMenuItemPress";
1092
+ ApiName["Menus_HandleViewConfigItemPress"] = "menus.handleViewConfigItemPress";
1093
+ ApiName["Menus_RegisterActionMenuItemPressHandler"] = "menus.registerActionMenuItemPressHandler";
1094
+ ApiName["Menus_RegisterNavBarMenuItemPressHandler"] = "menus.registerNavBarMenuItemPressHandler";
1095
+ ApiName["Menus_RegisterSetModuleViewHandler"] = "menus.registerSetModuleViewHandler";
1096
+ ApiName["Menus_SetNavBarMenu"] = "menus.setNavBarMenu";
1097
+ ApiName["Menus_SetUpViews"] = "menus.setUpViews";
1098
+ ApiName["Menus_ShowActionMenu"] = "menus.showActionMenu";
1099
+ ApiName["Monetization_OpenPurchaseExperience"] = "monetization.openPurchaseExperience";
1031
1100
  ApiName["Navigation_NavigateBack"] = "navigation.navigateBack";
1032
1101
  ApiName["Navigation_NavigateCrossDomain"] = "navigation.navigateCrossDomain";
1033
1102
  ApiName["Navigation_NavigateToTab"] = "navigation.navigateToTab";
1034
1103
  ApiName["Navigation_ReturnFocus"] = "navigation.returnFocus";
1104
+ ApiName["Notifications_ShowNotification"] = "notifications.showNotification";
1035
1105
  ApiName["Pages_AppButton_OnClick"] = "pages.appButton.onClick";
1036
1106
  ApiName["Pages_AppButton_OnHoverEnter"] = "pages.appButton.onHoverEnter";
1037
1107
  ApiName["Pages_AppButton_OnHoverLeave"] = "pages.appButton.onHoverLeave";
1038
1108
  ApiName["Pages_BackStack_NavigateBack"] = "pages.backStack.navigateBack";
1039
1109
  ApiName["Pages_BackStack_RegisterBackButtonHandler"] = "pages.backStack.registerBackButtonHandler";
1040
1110
  ApiName["Pages_Config_RegisterChangeConfigHandler"] = "pages.config.registerChangeConfigHandler";
1041
- ApiName["Pages_Config_RegisterOnRemoveHandlerHelper"] = "pages.config.registerOnRemoveHandlerHelper";
1042
- ApiName["Pages_Config_RegisterOnSaveHandlerHelper"] = "pages.config.registerOnSaveHandlerHelper";
1111
+ ApiName["Pages_Config_RegisterOnRemoveHandler"] = "pages.config.registerOnRemoveHandler";
1112
+ ApiName["Pages_Config_RegisterOnSaveHandler"] = "pages.config.registerOnSaveHandler";
1043
1113
  ApiName["Pages_Config_SetConfig"] = "pages.config.setConfig";
1044
1114
  ApiName["Pages_Config_SetValidityState"] = "pages.config.setValidityState";
1045
1115
  ApiName["Pages_CurrentApp_NavigateTo"] = "pages.currentApp.navigateTo";
@@ -1051,12 +1121,18 @@ var ApiName;
1051
1121
  ApiName["Pages_NavigateToApp"] = "pages.navigateToApp";
1052
1122
  ApiName["Pages_RegisterFocusEnterHandler"] = "pages.registerFocusEnterHandler";
1053
1123
  ApiName["Pages_RegisterFullScreenHandler"] = "pages.registerFullScreenHandler";
1124
+ ApiName["Pages_RemoveEvent_NotifyFailure"] = "pages.removeEvent.notifyFailure";
1125
+ ApiName["Pages_RemoveEvent_NotifySuccess"] = "pages.removeEvent.notifySuccess";
1054
1126
  ApiName["Pages_ReturnFocus"] = "pages.returnFocus";
1127
+ ApiName["Pages_SaveEvent_NotifyFailure"] = "pages.saveEvent.notifyFailure";
1128
+ ApiName["Pages_SaveEvent_NotifySuccess"] = "pages.saveEvent.notifySuccess";
1055
1129
  ApiName["Pages_SetCurrentFrame"] = "pages.setCurrentFrame";
1056
1130
  ApiName["Pages_ShareDeepLink"] = "pages.shareDeepLink";
1057
1131
  ApiName["Pages_Tabs_GetMruTabInstances"] = "pages.tabs.getMruTabInstances";
1058
1132
  ApiName["Pages_Tabs_GetTabInstances"] = "pages.tabs.getTabInstances";
1059
1133
  ApiName["Pages_Tabs_NavigateToTab"] = "pages.tabs.navigateToTab";
1134
+ ApiName["People_SelectPeople"] = "people.selectPeople";
1135
+ ApiName["Profile_ShowProfile"] = "profile.showProfile";
1060
1136
  ApiName["PublicAPIs_ExecuteDeepLink"] = "executeDeepLink";
1061
1137
  ApiName["PublicAPIs_GetContext"] = "getContext";
1062
1138
  ApiName["PublicAPIs_GetMruTabInstances"] = "getMruTabInstances";
@@ -1075,17 +1151,43 @@ var ApiName;
1075
1151
  ApiName["PublicAPIs_ShareDeepLink"] = "shareDeepLink";
1076
1152
  ApiName["RegisterHandler"] = "registerHandler";
1077
1153
  ApiName["RegisterOnThemeChangeHandler"] = "registerOnThemeChangeHandler";
1078
- ApiName["Settings_Remove_Failure"] = "settings.remove.failure";
1079
- ApiName["Settings_Remove_Success"] = "settings.remove.success";
1080
- ApiName["Settings_Save_Failure"] = "settings.save.failure";
1081
- ApiName["Settings_Save_Success"] = "settings.save.success";
1154
+ ApiName["Search_CloseSearch"] = "search.closeSearch";
1155
+ ApiName["Search_RegisterOnChangeHandler"] = "search.registerOnChangeHandler";
1156
+ ApiName["Search_RegisterOnClosedHandler"] = "search.registerOnClosedHandler";
1157
+ ApiName["Search_RegisterOnExecutedHandler"] = "search.registerOnExecutedHandler";
1158
+ ApiName["Search_UnregisterHandlers"] = "search.unregisterHandlers";
1159
+ ApiName["SecondaryBrowser_OpenUrl"] = "secondaryBrowser.openUrl";
1160
+ ApiName["Settings_GetSettings"] = "settings.getSettings";
1161
+ ApiName["Settings_RegisterOnRemoveHandler"] = "settings.registerOnRemoveHandler";
1162
+ ApiName["Settings_RegisterOnSaveHandler"] = "settings.registerOnSaveHandler";
1163
+ ApiName["Settings_SetSettings"] = "settings.setSettings";
1164
+ ApiName["Settings_SetValidityState"] = "settings.setValidityState";
1165
+ ApiName["StageView_Open"] = "stageView.open";
1082
1166
  ApiName["Tasks_StartTask"] = "tasks.startTask";
1083
1167
  ApiName["Tasks_SubmitTask"] = "tasks.submitTask";
1084
1168
  ApiName["Tasks_UpdateTask"] = "tasks.updateTask";
1169
+ ApiName["VideoEffects_MediaStream_RegisterForVideoFrame"] = "videoEffects.mediaStream.registerForVideoFrame";
1170
+ ApiName["VideoEffects_NotifySelectedVideoEffectChanged"] = "videoEffects.notifySelectedVideoEffectChanged";
1171
+ ApiName["VideoEffects_NotifyError"] = "videoEffects.notifyError";
1172
+ ApiName["VideoEffects_NotifyVideoFrameProcessed"] = "videoEffects.notifyVideoFrameProcessed";
1173
+ ApiName["VideoEffects_RegisterEffectParameterChangeHandler"] = "videoEffects.registerEffectParameterChangeHandler";
1174
+ ApiName["VideoEffects_RegisterForVideoEffect"] = "videoEffects.registerForVideoEffect";
1175
+ ApiName["VideoEffects_RegisterForVideoFrame"] = "videoEffects.registerForVideoFrame";
1176
+ ApiName["VideoEffects_RegisterSetFrameProcessTimeLimitHandler"] = "videoEffects.setFrameProcessTimeLimitHandler";
1177
+ ApiName["VideoEffects_RegisterStartVideoExtensibilityVideoStreamHandler"] = "videoEffects.startVideoExtensibilityVideoStreamHandler";
1178
+ ApiName["VideoEffects_RegisterForVideoBufferHandler"] = "videoEffects.registerForVideoBufferHandler";
1179
+ ApiName["VideoPerformanceMonitor_Constructor"] = "videoPerformanceMonitor.performanceDataGenerated";
1180
+ ApiName["VideoPerformanceMonitor_ReportFrameProcessed"] = "videoPerformanceMonitor.reportFrameProcessed";
1181
+ ApiName["VideoPerformanceMonitor_ReportTextureStreamAcquired"] = "videoPerformanceMonitor.reportTextureStreamAcquired";
1182
+ ApiName["VideoPerformanceMonitor_StartMonitorSlowFrameProcessing"] = "videoPerformanceMonitor.startMonitorSlowFrameProcessing";
1183
+ ApiName["VisualMedia_HasPermission"] = "visualMedia.hasPermission";
1184
+ ApiName["VisualMedia_Image_CaptureImages"] = "visualMedia.image.captureImages";
1185
+ ApiName["VisualMedia_Image_RetrieveImages"] = "visualMedia.image.retrieveImages";
1186
+ ApiName["VisualMedia_RequestPermission"] = "visualMedia.requestPermission";
1085
1187
  })(ApiName || (ApiName = {}));
1086
1188
 
1087
1189
  ;// CONCATENATED MODULE: ./src/artifactsForCDN/validDomains.json
1088
- const validDomains_namespaceObject = JSON.parse('{"validOrigins":["teams.microsoft.com","teams.microsoft.us","gov.teams.microsoft.us","dod.teams.microsoft.us","int.teams.microsoft.com","teams.live.com","devspaces.skype.com","ssauth.skype.com","local.teams.live.com","local.teams.live.com:8080","local.teams.office.com","local.teams.office.com:8080","outlook.office.com","outlook-sdf.office.com","outlook.office365.com","outlook-sdf.office365.com","outlook.live.com","outlook-sdf.live.com","*.teams.microsoft.com","*.www.office.com","www.office.com","word.office.com","excel.office.com","powerpoint.office.com","www.officeppe.com","*.www.microsoft365.com","www.microsoft365.com","bing.com","edgeservices.bing.com","www.bing.com","www.staging-bing-int.com","teams.cloud.microsoft","outlook.cloud.microsoft","m365.cloud.microsoft","copilot.microsoft.com"]}');
1190
+ const validDomains_namespaceObject = JSON.parse('{"validOrigins":["teams.microsoft.com","teams.microsoft.us","gov.teams.microsoft.us","dod.teams.microsoft.us","int.teams.microsoft.com","*.teams.microsoft.com","outlook.office.com","outlook-sdf.office.com","outlook.office365.com","outlook-sdf.office365.com","outlook.live.com","outlook-sdf.live.com","teams.live.com","local.teams.live.com","local.teams.live.com:8080","local.teams.office.com","local.teams.office.com:8080","devspaces.skype.com","ssauth.skype.com","*.www.office.com","www.office.com","word.office.com","excel.office.com","powerpoint.office.com","www.officeppe.com","*.www.microsoft365.com","www.microsoft365.com","bing.com","edgeservices.bing.com","www.bing.com","www.staging-bing-int.com","teams.cloud.microsoft","outlook.cloud.microsoft","m365.cloud.microsoft","copilot.microsoft.com","windows.msn.com"]}');
1089
1191
  var artifactsForCDN_validDomains_namespaceObject = /*#__PURE__*/__webpack_require__.t(validDomains_namespaceObject, 2);
1090
1192
  ;// CONCATENATED MODULE: ./src/internal/constants.ts
1091
1193
 
@@ -2031,7 +2133,7 @@ var __rest = (undefined && undefined.__rest) || function (s, e) {
2031
2133
 
2032
2134
 
2033
2135
  const runtimeLogger = getLogger('runtime');
2034
- const latestRuntimeApiVersion = 3;
2136
+ const latestRuntimeApiVersion = 4;
2035
2137
  function isLatestRuntimeVersion(runtime) {
2036
2138
  return runtime.apiVersion === latestRuntimeApiVersion;
2037
2139
  }
@@ -2063,7 +2165,7 @@ function isRuntimeInitialized(runtime) {
2063
2165
  }
2064
2166
  let runtime_runtime = _uninitializedRuntime;
2065
2167
  const versionAndPlatformAgnosticTeamsRuntimeConfig = {
2066
- apiVersion: 3,
2168
+ apiVersion: 4,
2067
2169
  hostVersionsInfo: teamsMinAdaptiveCardVersion,
2068
2170
  isLegacyTeams: true,
2069
2171
  supports: {
@@ -2078,6 +2180,7 @@ const versionAndPlatformAgnosticTeamsRuntimeConfig = {
2078
2180
  },
2079
2181
  url: {
2080
2182
  bot: {},
2183
+ parentCommunication: {},
2081
2184
  },
2082
2185
  update: {},
2083
2186
  },
@@ -2175,6 +2278,27 @@ const upgradeChain = [
2175
2278
  return Object.assign(Object.assign({}, previousVersionRuntime), { apiVersion: 3, supports: newSupports });
2176
2279
  },
2177
2280
  },
2281
+ {
2282
+ versionToUpgradeFrom: 3,
2283
+ upgradeToNextVersion: (previousVersionRuntime) => {
2284
+ var _a, _b, _c, _d, _e;
2285
+ return {
2286
+ apiVersion: 4,
2287
+ hostVersionsInfo: previousVersionRuntime.hostVersionsInfo,
2288
+ isLegacyTeams: previousVersionRuntime.isLegacyTeams,
2289
+ supports: Object.assign(Object.assign({}, previousVersionRuntime.supports), { dialog: previousVersionRuntime.supports.dialog
2290
+ ? {
2291
+ card: (_a = previousVersionRuntime.supports.dialog) === null || _a === void 0 ? void 0 : _a.card,
2292
+ url: {
2293
+ bot: (_c = (_b = previousVersionRuntime.supports.dialog) === null || _b === void 0 ? void 0 : _b.url) === null || _c === void 0 ? void 0 : _c.bot,
2294
+ parentCommunication: ((_d = previousVersionRuntime.supports.dialog) === null || _d === void 0 ? void 0 : _d.url) ? {} : undefined,
2295
+ },
2296
+ update: (_e = previousVersionRuntime.supports.dialog) === null || _e === void 0 ? void 0 : _e.update,
2297
+ }
2298
+ : undefined }),
2299
+ };
2300
+ },
2301
+ },
2178
2302
  ];
2179
2303
  const mapTeamsVersionToSupportedCapabilities = {
2180
2304
  // 1.0.0 just signifies "these capabilities have practically always been supported." For some of these
@@ -2346,7 +2470,7 @@ const _minRuntimeConfigToUninitialize = {
2346
2470
  * @hidden
2347
2471
  * Package version.
2348
2472
  */
2349
- const version = "2.19.0";
2473
+ const version = "2.20.0-beta.0";
2350
2474
 
2351
2475
  ;// CONCATENATED MODULE: ./src/internal/internalAPIs.ts
2352
2476
 
@@ -2620,7 +2744,6 @@ function validateOrigin(messageOrigin) {
2620
2744
 
2621
2745
 
2622
2746
 
2623
-
2624
2747
  /**
2625
2748
  * Namespace to interact with the authentication-specific part of the SDK.
2626
2749
  *
@@ -2759,6 +2882,7 @@ var authentication;
2759
2882
  authTokenRequest === null || authTokenRequest === void 0 ? void 0 : authTokenRequest.resources,
2760
2883
  authTokenRequest === null || authTokenRequest === void 0 ? void 0 : authTokenRequest.claims,
2761
2884
  authTokenRequest === null || authTokenRequest === void 0 ? void 0 : authTokenRequest.silent,
2885
+ authTokenRequest === null || authTokenRequest === void 0 ? void 0 : authTokenRequest.tenantId,
2762
2886
  ]));
2763
2887
  }).then(([success, result]) => {
2764
2888
  if (success) {
@@ -2897,21 +3021,11 @@ var authentication;
2897
3021
  });
2898
3022
  }
2899
3023
  /**
2900
- * When using {@link authentication.authenticate authentication.authenticate(authenticateParameters: AuthenticatePopUpParameters): Promise\<string\>}, the
2901
- * window that was opened to execute the authentication flow should call this method after authentiction to notify the caller of
2902
- * {@link authentication.authenticate authentication.authenticate(authenticateParameters: AuthenticatePopUpParameters): Promise\<string\>} that the
2903
- * authentication request was successful.
2904
- *
2905
- * @remarks
2906
- * This function is usable only from the authentication window.
2907
- * This call causes the authentication window to be closed.
2908
- *
2909
- * @param result - Specifies a result for the authentication. If specified, the frame that initiated the authentication pop-up receives
2910
- * this value in its callback or via the `Promise` return value
2911
- * @param callbackUrl - Specifies the url to redirect back to if the client is Win32 Outlook.
3024
+ * @deprecated
3025
+ * This function used to have an unused optional second parameter called callbackUrl. Because it was not used, it has been removed.
3026
+ * Please use the {@link authentication.notifySuccess authentication.notifySuccess(result?: string): void} instead.
2912
3027
  */
2913
- function notifySuccess(result, callbackUrl) {
2914
- redirectIfWin32Outlook(callbackUrl, 'result', result);
3028
+ function notifySuccess(result, _callbackUrl) {
2915
3029
  internalAPIs_ensureInitialized(runtime_runtime, FrameContexts.authentication);
2916
3030
  sendMessageToParent('authentication.authenticate.success', [result]);
2917
3031
  // Wait for the message to be sent before closing the window
@@ -2919,22 +3033,11 @@ var authentication;
2919
3033
  }
2920
3034
  authentication.notifySuccess = notifySuccess;
2921
3035
  /**
2922
- * When using {@link authentication.authenticate authentication.authenticate(authenticateParameters: AuthenticatePopUpParameters): Promise\<string\>}, the
2923
- * window that was opened to execute the authentication flow should call this method after authentiction to notify the caller of
2924
- * {@link authentication.authenticate authentication.authenticate(authenticateParameters: AuthenticatePopUpParameters): Promise\<string\>} that the
2925
- * authentication request failed.
2926
-
2927
- *
2928
- * @remarks
2929
- * This function is usable only on the authentication window.
2930
- * This call causes the authentication window to be closed.
2931
- *
2932
- * @param result - Specifies a result for the authentication. If specified, the frame that initiated the authentication pop-up receives
2933
- * this value in its callback or via the `Promise` return value
2934
- * @param callbackUrl - Specifies the url to redirect back to if the client is Win32 Outlook.
3036
+ * @deprecated
3037
+ * This function used to have an unused optional second parameter called callbackUrl. Because it was not used, it has been removed.
3038
+ * Please use the {@link authentication.notifyFailure authentication.notifyFailure(result?: string): void} instead.
2935
3039
  */
2936
- function notifyFailure(reason, callbackUrl) {
2937
- redirectIfWin32Outlook(callbackUrl, 'reason', reason);
3040
+ function notifyFailure(reason, _callbackUrl) {
2938
3041
  internalAPIs_ensureInitialized(runtime_runtime, FrameContexts.authentication);
2939
3042
  sendMessageToParent('authentication.authenticate.failure', [reason]);
2940
3043
  // Wait for the message to be sent before closing the window
@@ -2963,48 +3066,6 @@ var authentication;
2963
3066
  closeAuthenticationWindow();
2964
3067
  }
2965
3068
  }
2966
- /**
2967
- * Validates that the callbackUrl param is a valid connector url, appends the result/reason and authSuccess/authFailure as URL fragments and redirects the window
2968
- * @param callbackUrl - the connectors url to redirect to
2969
- * @param key - "result" in case of success and "reason" in case of failure
2970
- * @param value - the value of the passed result/reason parameter
2971
- */
2972
- function redirectIfWin32Outlook(callbackUrl, key, value) {
2973
- if (callbackUrl) {
2974
- const link = document.createElement('a');
2975
- link.href = decodeURIComponent(callbackUrl);
2976
- if (link.host &&
2977
- link.host !== ssrSafeWindow().location.host &&
2978
- link.host === 'outlook.office.com' &&
2979
- link.search.indexOf('client_type=Win32_Outlook') > -1) {
2980
- if (key && key === 'result') {
2981
- if (value) {
2982
- link.href = updateUrlParameter(link.href, 'result', value);
2983
- }
2984
- Communication.currentWindow.location.assign(updateUrlParameter(link.href, 'authSuccess', ''));
2985
- }
2986
- if (key && key === 'reason') {
2987
- if (value) {
2988
- link.href = updateUrlParameter(link.href, 'reason', value);
2989
- }
2990
- Communication.currentWindow.location.assign(updateUrlParameter(link.href, 'authFailure', ''));
2991
- }
2992
- }
2993
- }
2994
- }
2995
- /**
2996
- * Appends either result or reason as a fragment to the 'callbackUrl'
2997
- * @param uri - the url to modify
2998
- * @param key - the fragment key
2999
- * @param value - the fragment value
3000
- */
3001
- function updateUrlParameter(uri, key, value) {
3002
- const i = uri.indexOf('#');
3003
- let hash = i === -1 ? '#' : uri.substr(i);
3004
- hash = hash + '&' + key + (value !== '' ? '=' + value : '');
3005
- uri = i === -1 ? uri : uri.substr(0, i);
3006
- return uri + hash;
3007
- }
3008
3069
  /**
3009
3070
  * @hidden
3010
3071
  * Limited set of data residencies information exposed to 1P application developers
@@ -3050,7 +3111,7 @@ function updateResizeHelper(apiVersionTag, dimensions) {
3050
3111
  if (!dialog.update.isSupported()) {
3051
3112
  throw errorNotSupportedOnPlatform;
3052
3113
  }
3053
- communication_sendMessageToParentWithVersion(apiVersionTag, 'tasks.updateTask', [dimensions]);
3114
+ sendMessageToParentWithVersion(apiVersionTag, 'tasks.updateTask', [dimensions]);
3054
3115
  }
3055
3116
  function urlOpenHelper(apiVersionTag, urlDialogInfo, submitHandler, messageFromChildHandler) {
3056
3117
  internalAPIs_ensureInitialized(runtime_runtime, FrameContexts.content, FrameContexts.sidePanel, FrameContexts.meetingStage);
@@ -3061,7 +3122,7 @@ function urlOpenHelper(apiVersionTag, urlDialogInfo, submitHandler, messageFromC
3061
3122
  registerHandler('messageForParent', messageFromChildHandler);
3062
3123
  }
3063
3124
  const dialogInfo = dialog.url.getDialogInfoFromUrlDialogInfo(urlDialogInfo);
3064
- communication_sendMessageToParentWithVersion(apiVersionTag, 'tasks.startTask', [dialogInfo], (err, result) => {
3125
+ sendMessageToParentWithVersion(apiVersionTag, 'tasks.startTask', [dialogInfo], (err, result) => {
3065
3126
  submitHandler === null || submitHandler === void 0 ? void 0 : submitHandler({ err, result });
3066
3127
  removeHandler('messageForParent');
3067
3128
  });
@@ -3075,7 +3136,7 @@ function botUrlOpenHelper(apiVersionTag, urlDialogInfo, submitHandler, messageFr
3075
3136
  registerHandler('messageForParent', messageFromChildHandler);
3076
3137
  }
3077
3138
  const dialogInfo = dialog.url.getDialogInfoFromBotUrlDialogInfo(urlDialogInfo);
3078
- communication_sendMessageToParentWithVersion(apiVersionTag, 'tasks.startTask', [dialogInfo], (err, result) => {
3139
+ sendMessageToParentWithVersion(apiVersionTag, 'tasks.startTask', [dialogInfo], (err, result) => {
3079
3140
  submitHandler === null || submitHandler === void 0 ? void 0 : submitHandler({ err, result });
3080
3141
  removeHandler('messageForParent');
3081
3142
  });
@@ -3089,7 +3150,7 @@ function urlSubmitHelper(apiVersionTag, result, appIds) {
3089
3150
  throw errorNotSupportedOnPlatform;
3090
3151
  }
3091
3152
  // Send tasks.completeTask instead of tasks.submitTask message for backward compatibility with Mobile clients
3092
- communication_sendMessageToParentWithVersion(apiVersionTag, 'tasks.completeTask', [
3153
+ sendMessageToParentWithVersion(apiVersionTag, 'tasks.completeTask', [
3093
3154
  result,
3094
3155
  appIds ? (Array.isArray(appIds) ? appIds : [appIds]) : [],
3095
3156
  ]);
@@ -3174,69 +3235,94 @@ var dialog;
3174
3235
  }
3175
3236
  url.submit = submit;
3176
3237
  /**
3177
- * Send message to the parent from dialog
3238
+ * Subcapability that allows communication between the dialog and the parent app.
3178
3239
  *
3179
3240
  * @remarks
3180
- * This function is only intended to be called from code running within the dialog. Calling it from outside the dialog will have no effect.
3181
- *
3182
- * @param message - The message to send to the parent
3241
+ * Note that dialog can be invoked from parentless scenarios e.g. Search Message Extensions. The subcapability `parentCommunication` is not supported in such scenarios.
3183
3242
  *
3184
3243
  * @beta
3185
3244
  */
3186
- function sendMessageToParentFromDialog(
3187
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
3188
- message) {
3189
- internalAPIs_ensureInitialized(runtime_runtime, FrameContexts.task);
3190
- if (!isSupported()) {
3191
- throw errorNotSupportedOnPlatform;
3245
+ let parentCommunication;
3246
+ (function (parentCommunication) {
3247
+ /**
3248
+ * Send message to the parent from dialog
3249
+ *
3250
+ * @remarks
3251
+ * This function is only intended to be called from code running within the dialog. Calling it from outside the dialog will have no effect.
3252
+ *
3253
+ * @param message - The message to send to the parent
3254
+ *
3255
+ * @beta
3256
+ */
3257
+ function sendMessageToParentFromDialog(
3258
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3259
+ message) {
3260
+ internalAPIs_ensureInitialized(runtime_runtime, FrameContexts.task);
3261
+ if (!isSupported()) {
3262
+ throw errorNotSupportedOnPlatform;
3263
+ }
3264
+ sendMessageToParentWithVersion(getApiVersionTag(dialogTelemetryVersionNumber, ApiName.Dialog_Url_ParentCommunication_SendMessageToParentFromDialog), 'messageForParent', [message]);
3192
3265
  }
3193
- communication_sendMessageToParentWithVersion(getApiVersionTag(dialogTelemetryVersionNumber, ApiName.Dialog_Url_SendMessageToParentFromDialog), 'messageForParent', [message]);
3194
- }
3195
- url.sendMessageToParentFromDialog = sendMessageToParentFromDialog;
3196
- /**
3197
- * Send message to the dialog from the parent
3198
- *
3199
- * @param message - The message to send
3200
- *
3201
- * @beta
3202
- */
3203
- function sendMessageToDialog(
3204
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
3205
- message) {
3206
- internalAPIs_ensureInitialized(runtime_runtime, FrameContexts.content, FrameContexts.sidePanel, FrameContexts.meetingStage);
3207
- if (!isSupported()) {
3208
- throw errorNotSupportedOnPlatform;
3266
+ parentCommunication.sendMessageToParentFromDialog = sendMessageToParentFromDialog;
3267
+ /**
3268
+ * Send message to the dialog from the parent
3269
+ *
3270
+ * @param message - The message to send
3271
+ *
3272
+ * @beta
3273
+ */
3274
+ function sendMessageToDialog(
3275
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3276
+ message) {
3277
+ internalAPIs_ensureInitialized(runtime_runtime, FrameContexts.content, FrameContexts.sidePanel, FrameContexts.meetingStage);
3278
+ if (!isSupported()) {
3279
+ throw errorNotSupportedOnPlatform;
3280
+ }
3281
+ sendMessageToParentWithVersion(getApiVersionTag(dialogTelemetryVersionNumber, ApiName.Dialog_Url_ParentCommunication_SendMessageToDialog), 'messageForChild', [message]);
3209
3282
  }
3210
- communication_sendMessageToParentWithVersion(getApiVersionTag(dialogTelemetryVersionNumber, ApiName.Dialog_Url_SendMessageToDialog), 'messageForChild', [message]);
3211
- }
3212
- url.sendMessageToDialog = sendMessageToDialog;
3213
- /**
3214
- * Register a listener that will be triggered when a message is received from the app that opened the dialog.
3215
- *
3216
- * @remarks
3217
- * This function is only intended to be called from code running within the dialog. Calling it from outside the dialog will have no effect.
3218
- *
3219
- * @param listener - The listener that will be triggered.
3220
- *
3221
- * @beta
3222
- */
3223
- function registerOnMessageFromParent(listener) {
3224
- internalAPIs_ensureInitialized(runtime_runtime, FrameContexts.task);
3225
- if (!isSupported()) {
3226
- throw errorNotSupportedOnPlatform;
3283
+ parentCommunication.sendMessageToDialog = sendMessageToDialog;
3284
+ /**
3285
+ * Register a listener that will be triggered when a message is received from the app that opened the dialog.
3286
+ *
3287
+ * @remarks
3288
+ * This function is only intended to be called from code running within the dialog. Calling it from outside the dialog will have no effect.
3289
+ *
3290
+ * @param listener - The listener that will be triggered.
3291
+ *
3292
+ * @beta
3293
+ */
3294
+ function registerOnMessageFromParent(listener) {
3295
+ internalAPIs_ensureInitialized(runtime_runtime, FrameContexts.task);
3296
+ if (!isSupported()) {
3297
+ throw errorNotSupportedOnPlatform;
3298
+ }
3299
+ // We need to remove the original 'messageForChild'
3300
+ // handler since the original does not allow for post messages.
3301
+ // It is replaced by the user specified listener that is passed in.
3302
+ removeHandler('messageForChild');
3303
+ registerHandler('messageForChild', listener);
3304
+ storedMessages.reverse();
3305
+ while (storedMessages.length > 0) {
3306
+ const message = storedMessages.pop();
3307
+ listener(message);
3308
+ }
3227
3309
  }
3228
- // We need to remove the original 'messageForChild'
3229
- // handler since the original does not allow for post messages.
3230
- // It is replaced by the user specified listener that is passed in.
3231
- removeHandler('messageForChild');
3232
- registerHandler('messageForChild', listener);
3233
- storedMessages.reverse();
3234
- while (storedMessages.length > 0) {
3235
- const message = storedMessages.pop();
3236
- listener(message);
3310
+ parentCommunication.registerOnMessageFromParent = registerOnMessageFromParent;
3311
+ /**
3312
+ * Checks if dialog.url.parentCommunication capability is supported by the host
3313
+ *
3314
+ * @returns boolean to represent whether dialog.url.parentCommunication capability is supported
3315
+ *
3316
+ * @throws Error if {@linkcode app.initialize} has not successfully completed
3317
+ *
3318
+ * @beta
3319
+ */
3320
+ function isSupported() {
3321
+ var _a, _b;
3322
+ return internalAPIs_ensureInitialized(runtime_runtime) && !!((_b = (_a = runtime_runtime.supports.dialog) === null || _a === void 0 ? void 0 : _a.url) === null || _b === void 0 ? void 0 : _b.parentCommunication);
3237
3323
  }
3238
- }
3239
- url.registerOnMessageFromParent = registerOnMessageFromParent;
3324
+ parentCommunication.isSupported = isSupported;
3325
+ })(parentCommunication = url.parentCommunication || (url.parentCommunication = {}));
3240
3326
  /**
3241
3327
  * Checks if dialog.url module is supported by the host
3242
3328
  *
@@ -3390,7 +3476,7 @@ var dialog;
3390
3476
  throw errorNotSupportedOnPlatform;
3391
3477
  }
3392
3478
  const dialogInfo = getDialogInfoFromAdaptiveCardDialogInfo(adaptiveCardDialogInfo);
3393
- communication_sendMessageToParentWithVersion(getApiVersionTag(dialogTelemetryVersionNumber, ApiName.Dialog_AdaptiveCard_Open), 'tasks.startTask', [dialogInfo], (err, result) => {
3479
+ sendMessageToParentWithVersion(getApiVersionTag(dialogTelemetryVersionNumber, ApiName.Dialog_AdaptiveCard_Open), 'tasks.startTask', [dialogInfo], (err, result) => {
3394
3480
  submitHandler === null || submitHandler === void 0 ? void 0 : submitHandler({ err, result });
3395
3481
  });
3396
3482
  }
@@ -3433,7 +3519,7 @@ var dialog;
3433
3519
  throw errorNotSupportedOnPlatform;
3434
3520
  }
3435
3521
  const dialogInfo = getDialogInfoFromBotAdaptiveCardDialogInfo(botAdaptiveCardDialogInfo);
3436
- communication_sendMessageToParentWithVersion(getApiVersionTag(dialogTelemetryVersionNumber, ApiName.Dialog_AdaptiveCard_Bot_Open), 'tasks.startTask', [dialogInfo], (err, result) => {
3522
+ sendMessageToParentWithVersion(getApiVersionTag(dialogTelemetryVersionNumber, ApiName.Dialog_AdaptiveCard_Bot_Open), 'tasks.startTask', [dialogInfo], (err, result) => {
3437
3523
  submitHandler === null || submitHandler === void 0 ? void 0 : submitHandler({ err, result });
3438
3524
  });
3439
3525
  }
@@ -3498,6 +3584,11 @@ var dialog;
3498
3584
 
3499
3585
 
3500
3586
 
3587
+
3588
+ /**
3589
+ * v2 APIs telemetry file: All of APIs in this capability file should send out API version v2 ONLY
3590
+ */
3591
+ const menuTelemetryVersionNumber = ApiVersionNumber.V_2;
3501
3592
  /**
3502
3593
  * Namespace to interact with the menu-specific part of the SDK.
3503
3594
  * This object is used to show View Configuration, Action Menu and Navigation Bar Menu.
@@ -3559,9 +3650,9 @@ var menus;
3559
3650
  * Limited to Microsoft-internal use.
3560
3651
  */
3561
3652
  function initialize() {
3562
- registerHandler('navBarMenuItemPress', handleNavBarMenuItemPress, false);
3563
- registerHandler('actionMenuItemPress', handleActionMenuItemPress, false);
3564
- registerHandler('setModuleView', handleViewConfigItemPress, false);
3653
+ registerHandlerWithVersion(getApiVersionTag(menuTelemetryVersionNumber, ApiName.Menus_RegisterNavBarMenuItemPressHandler), 'navBarMenuItemPress', handleNavBarMenuItemPress, false);
3654
+ registerHandlerWithVersion(getApiVersionTag(menuTelemetryVersionNumber, ApiName.Menus_RegisterActionMenuItemPressHandler), 'actionMenuItemPress', handleActionMenuItemPress, false);
3655
+ registerHandlerWithVersion(getApiVersionTag(menuTelemetryVersionNumber, ApiName.Menus_RegisterSetModuleViewHandler), 'setModuleView', handleViewConfigItemPress, false);
3565
3656
  }
3566
3657
  menus.initialize = initialize;
3567
3658
  /**
@@ -3578,13 +3669,13 @@ var menus;
3578
3669
  throw errorNotSupportedOnPlatform;
3579
3670
  }
3580
3671
  viewConfigItemPressHandler = handler;
3581
- sendMessageToParent('setUpViews', [viewConfig]);
3672
+ sendMessageToParentWithVersion(getApiVersionTag(menuTelemetryVersionNumber, ApiName.Menus_SetUpViews), 'setUpViews', [viewConfig]);
3582
3673
  }
3583
3674
  menus.setUpViews = setUpViews;
3584
3675
  function handleViewConfigItemPress(id) {
3585
3676
  if (!viewConfigItemPressHandler || !viewConfigItemPressHandler(id)) {
3586
3677
  internalAPIs_ensureInitialized(runtime_runtime);
3587
- sendMessageToParent('viewConfigItemPress', [id]);
3678
+ sendMessageToParentWithVersion(getApiVersionTag(menuTelemetryVersionNumber, ApiName.Menus_HandleViewConfigItemPress), 'viewConfigItemPress', [id]);
3588
3679
  }
3589
3680
  }
3590
3681
  /**
@@ -3600,13 +3691,13 @@ var menus;
3600
3691
  throw errorNotSupportedOnPlatform;
3601
3692
  }
3602
3693
  navBarMenuItemPressHandler = handler;
3603
- sendMessageToParent('setNavBarMenu', [items]);
3694
+ sendMessageToParentWithVersion(getApiVersionTag(menuTelemetryVersionNumber, ApiName.Menus_SetNavBarMenu), 'setNavBarMenu', [items]);
3604
3695
  }
3605
3696
  menus.setNavBarMenu = setNavBarMenu;
3606
3697
  function handleNavBarMenuItemPress(id) {
3607
3698
  if (!navBarMenuItemPressHandler || !navBarMenuItemPressHandler(id)) {
3608
3699
  internalAPIs_ensureInitialized(runtime_runtime);
3609
- sendMessageToParent('handleNavBarMenuItemPress', [id]);
3700
+ sendMessageToParentWithVersion(getApiVersionTag(menuTelemetryVersionNumber, ApiName.Menus_HandleNavBarMenuItemPress), 'handleNavBarMenuItemPress', [id]);
3610
3701
  }
3611
3702
  }
3612
3703
  /**
@@ -3622,13 +3713,13 @@ var menus;
3622
3713
  throw errorNotSupportedOnPlatform;
3623
3714
  }
3624
3715
  actionMenuItemPressHandler = handler;
3625
- sendMessageToParent('showActionMenu', [params]);
3716
+ sendMessageToParentWithVersion(getApiVersionTag(menuTelemetryVersionNumber, ApiName.Menus_ShowActionMenu), 'showActionMenu', [params]);
3626
3717
  }
3627
3718
  menus.showActionMenu = showActionMenu;
3628
3719
  function handleActionMenuItemPress(id) {
3629
3720
  if (!actionMenuItemPressHandler || !actionMenuItemPressHandler(id)) {
3630
3721
  internalAPIs_ensureInitialized(runtime_runtime);
3631
- sendMessageToParent('handleActionMenuItemPress', [id]);
3722
+ sendMessageToParentWithVersion(getApiVersionTag(menuTelemetryVersionNumber, ApiName.Menus_HandleActionMenuItemPress), 'handleActionMenuItemPress', [id]);
3632
3723
  }
3633
3724
  }
3634
3725
  /**
@@ -3942,7 +4033,7 @@ var app;
3942
4033
  */
3943
4034
  function notifyAppLoaded() {
3944
4035
  ensureInitializeCalled();
3945
- communication_sendMessageToParentWithVersion(getApiVersionTag(appTelemetryVersionNumber, ApiName.App_NotifyAppLoaded), app.Messages.AppLoaded, [version]);
4036
+ sendMessageToParentWithVersion(getApiVersionTag(appTelemetryVersionNumber, ApiName.App_NotifyAppLoaded), app.Messages.AppLoaded, [version]);
3946
4037
  }
3947
4038
  app.notifyAppLoaded = notifyAppLoaded;
3948
4039
  /**
@@ -3950,7 +4041,7 @@ var app;
3950
4041
  */
3951
4042
  function notifySuccess() {
3952
4043
  ensureInitializeCalled();
3953
- communication_sendMessageToParentWithVersion(getApiVersionTag(appTelemetryVersionNumber, ApiName.App_NotifySuccess), app.Messages.Success, [version]);
4044
+ sendMessageToParentWithVersion(getApiVersionTag(appTelemetryVersionNumber, ApiName.App_NotifySuccess), app.Messages.Success, [version]);
3954
4045
  }
3955
4046
  app.notifySuccess = notifySuccess;
3956
4047
  /**
@@ -3961,7 +4052,7 @@ var app;
3961
4052
  */
3962
4053
  function notifyFailure(appInitializationFailedRequest) {
3963
4054
  ensureInitializeCalled();
3964
- communication_sendMessageToParentWithVersion(getApiVersionTag(appTelemetryVersionNumber, ApiName.App_NotifyFailure), app.Messages.Failure, [appInitializationFailedRequest.reason, appInitializationFailedRequest.message]);
4055
+ sendMessageToParentWithVersion(getApiVersionTag(appTelemetryVersionNumber, ApiName.App_NotifyFailure), app.Messages.Failure, [appInitializationFailedRequest.reason, appInitializationFailedRequest.message]);
3965
4056
  }
3966
4057
  app.notifyFailure = notifyFailure;
3967
4058
  /**
@@ -3971,7 +4062,7 @@ var app;
3971
4062
  */
3972
4063
  function notifyExpectedFailure(expectedFailureRequest) {
3973
4064
  ensureInitializeCalled();
3974
- communication_sendMessageToParentWithVersion(getApiVersionTag(appTelemetryVersionNumber, ApiName.App_NotifyExpectedFailure), app.Messages.ExpectedFailure, [expectedFailureRequest.reason, expectedFailureRequest.message]);
4065
+ sendMessageToParentWithVersion(getApiVersionTag(appTelemetryVersionNumber, ApiName.App_NotifyExpectedFailure), app.Messages.ExpectedFailure, [expectedFailureRequest.reason, expectedFailureRequest.message]);
3975
4066
  }
3976
4067
  app.notifyExpectedFailure = notifyExpectedFailure;
3977
4068
  /**
@@ -4194,7 +4285,7 @@ function returnFocusHelper(apiVersionTag, navigateForward) {
4194
4285
  if (!pages.isSupported()) {
4195
4286
  throw errorNotSupportedOnPlatform;
4196
4287
  }
4197
- communication_sendMessageToParentWithVersion(apiVersionTag, 'returnFocus', [navigateForward]);
4288
+ sendMessageToParentWithVersion(apiVersionTag, 'returnFocus', [navigateForward]);
4198
4289
  }
4199
4290
  function getTabInstancesHelper(apiVersionTag, tabInstanceParameters) {
4200
4291
  return new Promise((resolve) => {
@@ -4221,7 +4312,7 @@ function shareDeepLinkHelper(apiVersionTag, deepLinkParameters) {
4221
4312
  if (!pages.isSupported()) {
4222
4313
  throw errorNotSupportedOnPlatform;
4223
4314
  }
4224
- communication_sendMessageToParentWithVersion(apiVersionTag, 'shareDeepLink', [
4315
+ sendMessageToParentWithVersion(apiVersionTag, 'shareDeepLink', [
4225
4316
  deepLinkParameters.subPageId,
4226
4317
  deepLinkParameters.subPageLabel,
4227
4318
  deepLinkParameters.subPageWebUrl,
@@ -4232,7 +4323,32 @@ function setCurrentFrameHelper(apiVersionTag, frameInfo) {
4232
4323
  if (!pages.isSupported()) {
4233
4324
  throw errorNotSupportedOnPlatform;
4234
4325
  }
4235
- communication_sendMessageToParentWithVersion(apiVersionTag, 'setFrameContext', [frameInfo]);
4326
+ sendMessageToParentWithVersion(apiVersionTag, 'setFrameContext', [frameInfo]);
4327
+ }
4328
+ function configSetValidityStateHelper(apiVersionTag, validityState) {
4329
+ internalAPIs_ensureInitialized(runtime_runtime, FrameContexts.settings, FrameContexts.remove);
4330
+ if (!pages.config.isSupported()) {
4331
+ throw errorNotSupportedOnPlatform;
4332
+ }
4333
+ sendMessageToParentWithVersion(apiVersionTag, 'settings.setValidityState', [validityState]);
4334
+ }
4335
+ function getConfigHelper(apiVersionTag) {
4336
+ return new Promise((resolve) => {
4337
+ internalAPIs_ensureInitialized(runtime_runtime, FrameContexts.content, FrameContexts.settings, FrameContexts.remove, FrameContexts.sidePanel);
4338
+ if (!pages.isSupported()) {
4339
+ throw errorNotSupportedOnPlatform;
4340
+ }
4341
+ resolve(sendAndUnwrapWithVersion(apiVersionTag, 'settings.getSettings'));
4342
+ });
4343
+ }
4344
+ function configSetConfigHelper(apiVersionTag, instanceConfig) {
4345
+ return new Promise((resolve) => {
4346
+ internalAPIs_ensureInitialized(runtime_runtime, FrameContexts.content, FrameContexts.settings, FrameContexts.sidePanel);
4347
+ if (!pages.config.isSupported()) {
4348
+ throw errorNotSupportedOnPlatform;
4349
+ }
4350
+ resolve(sendAndHandleStatusAndReasonWithVersion(apiVersionTag, 'settings.setSettings', instanceConfig));
4351
+ });
4236
4352
  }
4237
4353
  /**
4238
4354
  * Navigation-specific part of the SDK.
@@ -4299,13 +4415,7 @@ var pages;
4299
4415
  * @returns Promise that resolves with the {@link InstanceConfig} object.
4300
4416
  */
4301
4417
  function getConfig() {
4302
- return new Promise((resolve) => {
4303
- internalAPIs_ensureInitialized(runtime_runtime, FrameContexts.content, FrameContexts.settings, FrameContexts.remove, FrameContexts.sidePanel);
4304
- if (!isSupported()) {
4305
- throw errorNotSupportedOnPlatform;
4306
- }
4307
- resolve(sendAndUnwrapWithVersion(getApiVersionTag(pagesTelemetryVersionNumber, ApiName.Pages_GetConfig), 'settings.getSettings'));
4308
- });
4418
+ return getConfigHelper(getApiVersionTag(pagesTelemetryVersionNumber, ApiName.Pages_GetConfig));
4309
4419
  }
4310
4420
  pages.getConfig = getConfig;
4311
4421
  /**
@@ -4457,11 +4567,7 @@ var pages;
4457
4567
  * @param validityState - Indicates whether the save or remove button is enabled for the user.
4458
4568
  */
4459
4569
  function setValidityState(validityState) {
4460
- internalAPIs_ensureInitialized(runtime_runtime, FrameContexts.settings, FrameContexts.remove);
4461
- if (!isSupported()) {
4462
- throw errorNotSupportedOnPlatform;
4463
- }
4464
- communication_sendMessageToParentWithVersion(getApiVersionTag(pagesTelemetryVersionNumber, ApiName.Pages_Config_SetValidityState), 'settings.setValidityState', [validityState]);
4570
+ return configSetValidityStateHelper(getApiVersionTag(pagesTelemetryVersionNumber, ApiName.Pages_Config_SetValidityState), validityState);
4465
4571
  }
4466
4572
  config.setValidityState = setValidityState;
4467
4573
  /**
@@ -4471,13 +4577,7 @@ var pages;
4471
4577
  * @returns Promise that resolves when the operation has completed.
4472
4578
  */
4473
4579
  function setConfig(instanceConfig) {
4474
- return new Promise((resolve) => {
4475
- internalAPIs_ensureInitialized(runtime_runtime, FrameContexts.content, FrameContexts.settings, FrameContexts.sidePanel);
4476
- if (!isSupported()) {
4477
- throw errorNotSupportedOnPlatform;
4478
- }
4479
- resolve(sendAndHandleStatusAndReasonWithVersion(getApiVersionTag(pagesTelemetryVersionNumber, ApiName.Pages_Config_SetConfig), 'settings.setSettings', instanceConfig));
4480
- });
4580
+ return configSetConfigHelper(getApiVersionTag(pagesTelemetryVersionNumber, ApiName.Pages_Config_SetConfig), instanceConfig);
4481
4581
  }
4482
4582
  config.setConfig = setConfig;
4483
4583
  /**
@@ -4488,7 +4588,7 @@ var pages;
4488
4588
  * @param handler - The handler to invoke when the user selects the Save button.
4489
4589
  */
4490
4590
  function registerOnSaveHandler(handler) {
4491
- registerOnSaveHandlerHelper(handler, () => {
4591
+ registerOnSaveHandlerHelper(getApiVersionTag(pagesTelemetryVersionNumber, ApiName.Pages_Config_RegisterOnSaveHandler), handler, () => {
4492
4592
  if (!isNullOrUndefined(handler) && !isSupported()) {
4493
4593
  throw errorNotSupportedOnPlatform;
4494
4594
  }
@@ -4502,18 +4602,18 @@ var pages;
4502
4602
  * @internal
4503
4603
  * Limited to Microsoft-internal use
4504
4604
  *
4605
+ * @param apiVersionTag - The API version tag, which is used for telemetry, composed by API version number and source API name.
4505
4606
  * @param handler - The handler to invoke when the user selects the Save button.
4506
4607
  * @param versionSpecificHelper - The helper function containing logic pertaining to a specific version of the API.
4507
4608
  */
4508
- function registerOnSaveHandlerHelper(handler, versionSpecificHelper) {
4609
+ function registerOnSaveHandlerHelper(apiVersionTag, handler, versionSpecificHelper) {
4509
4610
  // allow for registration cleanup even when not finished initializing
4510
4611
  !isNullOrUndefined(handler) && internalAPIs_ensureInitialized(runtime_runtime, FrameContexts.settings);
4511
4612
  if (versionSpecificHelper) {
4512
4613
  versionSpecificHelper();
4513
4614
  }
4514
4615
  saveHandler = handler;
4515
- !isNullOrUndefined(handler) &&
4516
- communication_sendMessageToParentWithVersion(getApiVersionTag(pagesTelemetryVersionNumber, ApiName.Pages_Config_RegisterOnSaveHandlerHelper), 'registerHandler', ['save']);
4616
+ !isNullOrUndefined(handler) && sendMessageToParentWithVersion(apiVersionTag, 'registerHandler', ['save']);
4517
4617
  }
4518
4618
  config.registerOnSaveHandlerHelper = registerOnSaveHandlerHelper;
4519
4619
  /**
@@ -4524,7 +4624,7 @@ var pages;
4524
4624
  * @param handler - The handler to invoke when the user selects the Remove button.
4525
4625
  */
4526
4626
  function registerOnRemoveHandler(handler) {
4527
- registerOnRemoveHandlerHelper(handler, () => {
4627
+ registerOnRemoveHandlerHelper(getApiVersionTag(pagesTelemetryVersionNumber, ApiName.Pages_Config_RegisterOnRemoveHandler), handler, () => {
4528
4628
  if (!isNullOrUndefined(handler) && !isSupported()) {
4529
4629
  throw errorNotSupportedOnPlatform;
4530
4630
  }
@@ -4538,18 +4638,18 @@ var pages;
4538
4638
  * @internal
4539
4639
  * Limited to Microsoft-internal use
4540
4640
  *
4641
+ * @param apiVersionTag - The API version tag, which is used for telemetry, composed by API version number and source API name.
4541
4642
  * @param handler - The handler to invoke when the user selects the Remove button.
4542
4643
  * @param versionSpecificHelper - The helper function containing logic pertaining to a specific version of the API.
4543
4644
  */
4544
- function registerOnRemoveHandlerHelper(handler, versionSpecificHelper) {
4645
+ function registerOnRemoveHandlerHelper(apiVersionTag, handler, versionSpecificHelper) {
4545
4646
  // allow for registration cleanup even when not finished initializing
4546
4647
  !isNullOrUndefined(handler) && internalAPIs_ensureInitialized(runtime_runtime, FrameContexts.remove, FrameContexts.settings);
4547
4648
  if (versionSpecificHelper) {
4548
4649
  versionSpecificHelper();
4549
4650
  }
4550
4651
  removeHandler = handler;
4551
- !isNullOrUndefined(handler) &&
4552
- communication_sendMessageToParentWithVersion(getApiVersionTag(pagesTelemetryVersionNumber, ApiName.Pages_Config_RegisterOnRemoveHandlerHelper), 'registerHandler', ['remove']);
4652
+ !isNullOrUndefined(handler) && sendMessageToParentWithVersion(apiVersionTag, 'registerHandler', ['remove']);
4553
4653
  }
4554
4654
  config.registerOnRemoveHandlerHelper = registerOnRemoveHandlerHelper;
4555
4655
  function handleSave(result) {
@@ -4588,12 +4688,12 @@ var pages;
4588
4688
  }
4589
4689
  notifySuccess() {
4590
4690
  this.ensureNotNotified();
4591
- communication_sendMessageToParentWithVersion(getApiVersionTag(pagesTelemetryVersionNumber, ApiName.Settings_Save_Success), 'settings.save.success');
4691
+ sendMessageToParentWithVersion(getApiVersionTag(pagesTelemetryVersionNumber, ApiName.Pages_SaveEvent_NotifySuccess), 'settings.save.success');
4592
4692
  this.notified = true;
4593
4693
  }
4594
4694
  notifyFailure(reason) {
4595
4695
  this.ensureNotNotified();
4596
- communication_sendMessageToParentWithVersion(getApiVersionTag(pagesTelemetryVersionNumber, ApiName.Settings_Save_Failure), 'settings.save.failure', [reason]);
4696
+ sendMessageToParentWithVersion(getApiVersionTag(pagesTelemetryVersionNumber, ApiName.Pages_SaveEvent_NotifyFailure), 'settings.save.failure', [reason]);
4597
4697
  this.notified = true;
4598
4698
  }
4599
4699
  ensureNotNotified() {
@@ -4625,12 +4725,12 @@ var pages;
4625
4725
  }
4626
4726
  notifySuccess() {
4627
4727
  this.ensureNotNotified();
4628
- communication_sendMessageToParentWithVersion(getApiVersionTag(pagesTelemetryVersionNumber, ApiName.Settings_Remove_Success), 'settings.remove.success');
4728
+ sendMessageToParentWithVersion(getApiVersionTag(pagesTelemetryVersionNumber, ApiName.Pages_RemoveEvent_NotifySuccess), 'settings.remove.success');
4629
4729
  this.notified = true;
4630
4730
  }
4631
4731
  notifyFailure(reason) {
4632
4732
  this.ensureNotNotified();
4633
- communication_sendMessageToParentWithVersion(getApiVersionTag(pagesTelemetryVersionNumber, ApiName.Settings_Remove_Failure), 'settings.remove.failure', [reason]);
4733
+ sendMessageToParentWithVersion(getApiVersionTag(pagesTelemetryVersionNumber, ApiName.Pages_RemoveEvent_NotifyFailure), 'settings.remove.failure', [reason]);
4634
4734
  this.notified = true;
4635
4735
  }
4636
4736
  ensureNotNotified() {
@@ -4711,7 +4811,7 @@ var pages;
4711
4811
  versionSpecificHelper();
4712
4812
  }
4713
4813
  backButtonPressHandler = handler;
4714
- !isNullOrUndefined(handler) && communication_sendMessageToParentWithVersion(apiVersionTag, 'registerHandler', ['backButton']);
4814
+ !isNullOrUndefined(handler) && sendMessageToParentWithVersion(apiVersionTag, 'registerHandler', ['backButton']);
4715
4815
  }
4716
4816
  backStack.registerBackButtonHandlerHelper = registerBackButtonHandlerHelper;
4717
4817
  function handleBackButtonPress() {
@@ -4745,6 +4845,8 @@ var pages;
4745
4845
  * Hide from docs
4746
4846
  * ------
4747
4847
  * Provides APIs to interact with the full-trust part of the SDK. Limited to 1P applications
4848
+ * @internal
4849
+ * Limited to Microsoft-internal use
4748
4850
  */
4749
4851
  let fullTrust;
4750
4852
  (function (fullTrust) {
@@ -4753,13 +4855,14 @@ var pages;
4753
4855
  * Hide from docs
4754
4856
  * ------
4755
4857
  * Place the tab into full-screen mode.
4858
+ *
4756
4859
  */
4757
4860
  function enterFullscreen() {
4758
4861
  internalAPIs_ensureInitialized(runtime_runtime, FrameContexts.content);
4759
4862
  if (!isSupported()) {
4760
4863
  throw errorNotSupportedOnPlatform;
4761
4864
  }
4762
- communication_sendMessageToParentWithVersion(getApiVersionTag(pagesTelemetryVersionNumber, ApiName.Pages_FullTrust_EnterFullscreen), 'enterFullscreen', []);
4865
+ sendMessageToParentWithVersion(getApiVersionTag(pagesTelemetryVersionNumber, ApiName.Pages_FullTrust_EnterFullscreen), 'enterFullscreen', []);
4763
4866
  }
4764
4867
  fullTrust.enterFullscreen = enterFullscreen;
4765
4868
  /**
@@ -4773,7 +4876,7 @@ var pages;
4773
4876
  if (!isSupported()) {
4774
4877
  throw errorNotSupportedOnPlatform;
4775
4878
  }
4776
- communication_sendMessageToParentWithVersion(getApiVersionTag(pagesTelemetryVersionNumber, ApiName.Pages_FullTrust_ExitFullscreen), 'exitFullscreen', []);
4879
+ sendMessageToParentWithVersion(getApiVersionTag(pagesTelemetryVersionNumber, ApiName.Pages_FullTrust_ExitFullscreen), 'exitFullscreen', []);
4777
4880
  }
4778
4881
  fullTrust.exitFullscreen = exitFullscreen;
4779
4882
  /**
@@ -5020,7 +5123,7 @@ function registerHandler(name, handler, sendMessage = true, args = []) {
5020
5123
  if (handler) {
5021
5124
  HandlersPrivate.handlers[name] = handler;
5022
5125
  sendMessage &&
5023
- communication_sendMessageToParentWithVersion(getApiVersionTag(ApiVersionNumber.V_0, ApiName.RegisterHandler), 'registerHandler', [name, ...args]);
5126
+ sendMessageToParentWithVersion(getApiVersionTag(ApiVersionNumber.V_0, ApiName.RegisterHandler), 'registerHandler', [name, ...args]);
5024
5127
  }
5025
5128
  else {
5026
5129
  delete HandlersPrivate.handlers[name];
@@ -5087,7 +5190,7 @@ function registerHandlerHelper(name, handler, contexts, registrationHelper) {
5087
5190
  */
5088
5191
  function registerOnThemeChangeHandler(apiVersionTag, handler) {
5089
5192
  HandlersPrivate.themeChangeHandler = handler;
5090
- !isNullOrUndefined(handler) && communication_sendMessageToParentWithVersion(apiVersionTag, 'registerHandler', ['themeChange']);
5193
+ !isNullOrUndefined(handler) && sendMessageToParentWithVersion(apiVersionTag, 'registerHandler', ['themeChange']);
5091
5194
  }
5092
5195
  /**
5093
5196
  * @internal
@@ -5110,7 +5213,7 @@ function handleThemeChange(theme) {
5110
5213
  function handlers_registerOnLoadHandler(handler) {
5111
5214
  HandlersPrivate.loadHandler = handler;
5112
5215
  !isNullOrUndefined(handler) &&
5113
- communication_sendMessageToParentWithVersion(getApiVersionTag(ApiVersionNumber.V_2, ApiName.RegisterHandler), 'registerHandler', [
5216
+ sendMessageToParentWithVersion(getApiVersionTag(ApiVersionNumber.V_2, ApiName.RegisterHandler), 'registerHandler', [
5114
5217
  'load',
5115
5218
  ]);
5116
5219
  }
@@ -5138,7 +5241,7 @@ function handleLoad(context) {
5138
5241
  function handlers_registerBeforeUnloadHandler(handler) {
5139
5242
  HandlersPrivate.beforeUnloadHandler = handler;
5140
5243
  !isNullOrUndefined(handler) &&
5141
- communication_sendMessageToParentWithVersion(getApiVersionTag(ApiVersionNumber.V_2, ApiName.RegisterHandler), 'registerHandler', [
5244
+ sendMessageToParentWithVersion(getApiVersionTag(ApiVersionNumber.V_2, ApiName.RegisterHandler), 'registerHandler', [
5142
5245
  'beforeUnload',
5143
5246
  ]);
5144
5247
  }
@@ -5185,6 +5288,125 @@ function handlers_registerOnResumeHandler(handler) {
5185
5288
  !isNullOrUndefined(handler) && sendMessageToParent('registerHandler', ['load']);
5186
5289
  }
5187
5290
 
5291
+ ;// CONCATENATED MODULE: ./src/internal/nestedAppAuth.ts
5292
+
5293
+
5294
+ const nestedAppAuthLogger = getLogger('nestedAppAuth');
5295
+ const tryPolyfillWithNestedAppAuthBridgeLogger = nestedAppAuthLogger.extend('tryPolyfillWithNestedAppAuthBridge');
5296
+ /**
5297
+ * @hidden
5298
+ * Enumeration for nested app authentication message event names.
5299
+ *
5300
+ * @internal
5301
+ * Limited to Microsoft-internal use
5302
+ *
5303
+ * @enum {string}
5304
+ *
5305
+ * @property {string} Request - Event name for a nested app authentication request.
5306
+ * @property {string} Response - Event name for a nested app authentication response.
5307
+ */
5308
+ var NestedAppAuthMessageEventNames;
5309
+ (function (NestedAppAuthMessageEventNames) {
5310
+ NestedAppAuthMessageEventNames["Request"] = "NestedAppAuthRequest";
5311
+ NestedAppAuthMessageEventNames["Response"] = "NestedAppAuthResponse";
5312
+ })(NestedAppAuthMessageEventNames || (NestedAppAuthMessageEventNames = {}));
5313
+ /**
5314
+ * @hidden
5315
+ * Attempt to polyfill the nestedAppAuthBridge object on the given window
5316
+ *
5317
+ * @internal
5318
+ * Limited to Microsoft-internal use
5319
+ */
5320
+ function tryPolyfillWithNestedAppAuthBridge(clientSupportedSDKVersion, window, handlers) {
5321
+ var _a;
5322
+ const logger = tryPolyfillWithNestedAppAuthBridgeLogger;
5323
+ if (GlobalVars.isFramelessWindow) {
5324
+ logger('Cannot polyfill nestedAppAuthBridge as current window is frameless');
5325
+ return;
5326
+ }
5327
+ if (!window) {
5328
+ logger('Cannot polyfill nestedAppAuthBridge as current window does not exist');
5329
+ return;
5330
+ }
5331
+ const parsedClientSupportedSDKVersion = (() => {
5332
+ try {
5333
+ return JSON.parse(clientSupportedSDKVersion);
5334
+ }
5335
+ catch (e) {
5336
+ return null;
5337
+ }
5338
+ })();
5339
+ if (!parsedClientSupportedSDKVersion || !((_a = parsedClientSupportedSDKVersion.supports) === null || _a === void 0 ? void 0 : _a.nestedAppAuth)) {
5340
+ logger('Cannot polyfill nestedAppAuthBridge as current hub does not support nested app auth');
5341
+ return;
5342
+ }
5343
+ const extendedWindow = window;
5344
+ if (extendedWindow.nestedAppAuthBridge) {
5345
+ logger('nestedAppAuthBridge already exists on current window, skipping polyfill');
5346
+ return;
5347
+ }
5348
+ const nestedAppAuthBridge = createNestedAppAuthBridge(extendedWindow, handlers);
5349
+ if (nestedAppAuthBridge) {
5350
+ extendedWindow.nestedAppAuthBridge = nestedAppAuthBridge;
5351
+ }
5352
+ }
5353
+ const createNestedAppAuthBridgeLogger = nestedAppAuthLogger.extend('createNestedAppAuthBridge');
5354
+ /**
5355
+ * @hidden
5356
+ * Creates a bridge for nested app authentication.
5357
+ *
5358
+ * @internal
5359
+ * Limited to Microsoft-internal use
5360
+ *
5361
+ * @param {Window | null} window - The window object where the nested app authentication bridge will be created. If null, the function will log an error message and return null.
5362
+ * @returns {NestedAppAuthBridge | null} Returns an object with methods for adding and removing event listeners, and posting messages. If the provided window is null, returns null.
5363
+ *
5364
+ * @property {Function} addEventListener - Adds an event listener to the window. Only supports the 'message' event. If an unsupported event is passed, logs an error message.
5365
+ * @property {Function} postMessage - Posts a message to the window. The message should be a stringified JSON object with a messageType of 'NestedAppAuthRequest'. If the message does not meet these criteria, logs an error message.
5366
+ * @property {Function} removeEventListener - Removes an event listener from the window.
5367
+ */
5368
+ function createNestedAppAuthBridge(window, bridgeHandlers) {
5369
+ const logger = createNestedAppAuthBridgeLogger;
5370
+ if (!window) {
5371
+ logger('nestedAppAuthBridge cannot be created as current window does not exist');
5372
+ return null;
5373
+ }
5374
+ const { onMessage, sendPostMessage } = bridgeHandlers;
5375
+ const nestedAppAuthBridgeHandler = (callback) => (evt) => onMessage(evt, callback);
5376
+ return {
5377
+ addEventListener: (eventName, callback) => {
5378
+ if (eventName === 'message') {
5379
+ window.addEventListener(eventName, nestedAppAuthBridgeHandler(callback));
5380
+ }
5381
+ else {
5382
+ logger(`Event ${eventName} is not supported by nestedAppAuthBridge`);
5383
+ }
5384
+ },
5385
+ postMessage: (message) => {
5386
+ // Validate that it is a valid auth bridge request message
5387
+ const parsedMessage = (() => {
5388
+ try {
5389
+ return JSON.parse(message);
5390
+ }
5391
+ catch (e) {
5392
+ return null;
5393
+ }
5394
+ })();
5395
+ if (!parsedMessage ||
5396
+ typeof parsedMessage !== 'object' ||
5397
+ parsedMessage.messageType !== NestedAppAuthMessageEventNames.Request) {
5398
+ logger('Unrecognized data format received by app, message being ignored. Message: %o', message);
5399
+ return;
5400
+ }
5401
+ // Post the message to the top window
5402
+ sendPostMessage(message);
5403
+ },
5404
+ removeEventListener: (eventName, callback) => {
5405
+ window.removeEventListener(eventName, nestedAppAuthBridgeHandler(callback));
5406
+ },
5407
+ };
5408
+ }
5409
+
5188
5410
  ;// CONCATENATED MODULE: ./src/internal/communication.ts
5189
5411
  /* eslint-disable @typescript-eslint/ban-types */
5190
5412
  /* eslint-disable @typescript-eslint/no-explicit-any */
@@ -5206,6 +5428,7 @@ var communication_awaiter = (undefined && undefined.__awaiter) || function (this
5206
5428
 
5207
5429
 
5208
5430
 
5431
+
5209
5432
  const communicationLogger = getLogger('communication');
5210
5433
  /**
5211
5434
  * @internal
@@ -5221,6 +5444,7 @@ class CommunicationPrivate {
5221
5444
  }
5222
5445
  CommunicationPrivate.parentMessageQueue = [];
5223
5446
  CommunicationPrivate.childMessageQueue = [];
5447
+ CommunicationPrivate.topMessageQueue = [];
5224
5448
  CommunicationPrivate.nextMessageId = 0;
5225
5449
  CommunicationPrivate.callbacks = {};
5226
5450
  CommunicationPrivate.promiseCallbacks = {};
@@ -5238,6 +5462,7 @@ function initializeCommunication(validMessageOrigins, apiVersionTag) {
5238
5462
  Communication.currentWindow.parent !== Communication.currentWindow.self
5239
5463
  ? Communication.currentWindow.parent
5240
5464
  : Communication.currentWindow.opener;
5465
+ Communication.topWindow = Communication.currentWindow.top;
5241
5466
  // Listen to messages from the parent or child frame.
5242
5467
  // Frameless windows will only receive this event from child frames and if validMessageOrigins is passed.
5243
5468
  if (Communication.parentWindow || validMessageOrigins) {
@@ -5262,6 +5487,10 @@ function initializeCommunication(validMessageOrigins, apiVersionTag) {
5262
5487
  version,
5263
5488
  latestRuntimeApiVersion,
5264
5489
  ]).then(([context, clientType, runtimeConfig, clientSupportedSDKVersion]) => {
5490
+ tryPolyfillWithNestedAppAuthBridge(clientSupportedSDKVersion, Communication.currentWindow, {
5491
+ onMessage: processAuthBridgeMessage,
5492
+ sendPostMessage: sendNestedAuthRequestToTopWindow,
5493
+ });
5265
5494
  return { context, clientType, runtimeConfig, clientSupportedSDKVersion };
5266
5495
  });
5267
5496
  }
@@ -5437,7 +5666,7 @@ function waitForResponse(requestId) {
5437
5666
  * for telemetry work. The code inside of this function will be used to replace sendMessageToParent function
5438
5667
  * and this function will be removed when the project is completed.
5439
5668
  */
5440
- function communication_sendMessageToParentWithVersion(apiVersionTag, actionName, argsOrCallback, callback) {
5669
+ function sendMessageToParentWithVersion(apiVersionTag, actionName, argsOrCallback, callback) {
5441
5670
  let args;
5442
5671
  if (argsOrCallback instanceof Function) {
5443
5672
  callback = argsOrCallback;
@@ -5477,19 +5706,29 @@ function sendMessageToParent(actionName, argsOrCallback, callback) {
5477
5706
  CommunicationPrivate.callbacks[request.id] = callback;
5478
5707
  }
5479
5708
  }
5480
- const sendMessageToParentHelperLogger = communicationLogger.extend('sendMessageToParentHelper');
5709
+ const sendNestedAuthRequestToTopWindowLogger = communicationLogger.extend('sendNestedAuthRequestToTopWindow');
5481
5710
  /**
5482
5711
  * @internal
5483
5712
  * Limited to Microsoft-internal use
5484
5713
  */
5485
- function sendMessageToParentHelper(apiVersionTag, actionName, args) {
5486
- const logger = sendMessageToParentHelperLogger;
5487
- const targetWindow = Communication.parentWindow;
5488
- const request = createMessageRequest(apiVersionTag, actionName, args);
5489
- logger('Message %i information: %o', request.id, { actionName, args });
5714
+ function sendNestedAuthRequestToTopWindow(message) {
5715
+ const logger = sendNestedAuthRequestToTopWindowLogger;
5716
+ const targetWindow = Communication.topWindow;
5717
+ const request = createNestedAppAuthRequest(message);
5718
+ logger('Message %i information: %o', request.id, { actionName: request.func });
5719
+ return sendRequestToTargetWindowHelper(targetWindow, request);
5720
+ }
5721
+ const sendRequestToTargetWindowHelperLogger = communicationLogger.extend('sendRequestToTargetWindowHelper');
5722
+ /**
5723
+ * @internal
5724
+ * Limited to Microsoft-internal use
5725
+ */
5726
+ function sendRequestToTargetWindowHelper(targetWindow, request) {
5727
+ const logger = sendRequestToTargetWindowHelperLogger;
5728
+ const targetWindowName = getTargetName(targetWindow);
5490
5729
  if (GlobalVars.isFramelessWindow) {
5491
5730
  if (Communication.currentWindow && Communication.currentWindow.nativeInterface) {
5492
- logger('Sending message %i to parent via framelessPostMessage interface', request.id);
5731
+ logger(`Sending message %i to ${targetWindowName} via framelessPostMessage interface`, request.id);
5493
5732
  Communication.currentWindow.nativeInterface.framelessPostMessage(JSON.stringify(request));
5494
5733
  }
5495
5734
  }
@@ -5498,16 +5737,29 @@ function sendMessageToParentHelper(apiVersionTag, actionName, args) {
5498
5737
  // If the target window isn't closed and we already know its origin, send the message right away; otherwise,
5499
5738
  // queue the message and send it after the origin is established
5500
5739
  if (targetWindow && targetOrigin) {
5501
- logger('Sending message %i to parent via postMessage', request.id);
5740
+ logger(`Sending message %i to ${targetWindowName} via postMessage`, request.id);
5502
5741
  targetWindow.postMessage(request, targetOrigin);
5503
5742
  }
5504
5743
  else {
5505
- logger('Adding message %i to parent message queue', request.id);
5744
+ logger(`Adding message %i to ${targetWindowName} message queue`, request.id);
5506
5745
  getTargetMessageQueue(targetWindow).push(request);
5507
5746
  }
5508
5747
  }
5509
5748
  return request;
5510
5749
  }
5750
+ const sendMessageToParentHelperLogger = communicationLogger.extend('sendMessageToParentHelper');
5751
+ /**
5752
+ * @internal
5753
+ * Limited to Microsoft-internal use
5754
+ */
5755
+ function sendMessageToParentHelper(apiVersionTag, actionName, args) {
5756
+ const logger = sendMessageToParentHelperLogger;
5757
+ const targetWindow = Communication.parentWindow;
5758
+ const request = createMessageRequest(apiVersionTag, actionName, args);
5759
+ /* eslint-disable-next-line strict-null-checks/all */ /* Fix tracked by 5730662 */
5760
+ logger('Message %i information: %o', request.id, { actionName, args });
5761
+ return sendRequestToTargetWindowHelper(targetWindow, request);
5762
+ }
5511
5763
  const processMessageLogger = communicationLogger.extend('processMessage');
5512
5764
  /**
5513
5765
  * @internal
@@ -5542,6 +5794,69 @@ function processMessage(evt) {
5542
5794
  });
5543
5795
  });
5544
5796
  }
5797
+ const processAuthBridgeMessageLogger = communicationLogger.extend('processAuthBridgeMessage');
5798
+ /**
5799
+ * @internal
5800
+ * Limited to Microsoft-internal use
5801
+ */
5802
+ function processAuthBridgeMessage(evt, onMessageReceived) {
5803
+ var _a, _b;
5804
+ const logger = processAuthBridgeMessageLogger;
5805
+ // Process only if we received a valid message
5806
+ if (!evt || !evt.data || typeof evt.data !== 'object') {
5807
+ logger('Unrecognized message format received by app, message being ignored. Message: %o', evt);
5808
+ return;
5809
+ }
5810
+ const { args } = evt.data;
5811
+ const [, message] = args !== null && args !== void 0 ? args : [];
5812
+ const parsedData = (() => {
5813
+ try {
5814
+ return JSON.parse(message);
5815
+ }
5816
+ catch (e) {
5817
+ return null;
5818
+ }
5819
+ })();
5820
+ // Validate that it is a valid auth bridge response message
5821
+ if (!parsedData ||
5822
+ typeof parsedData !== 'object' ||
5823
+ parsedData.messageType !== NestedAppAuthMessageEventNames.Response) {
5824
+ logger('Unrecognized data format received by app, message being ignored. Message: %o', evt);
5825
+ return;
5826
+ }
5827
+ // Process only if the message is coming from a different window and a valid origin
5828
+ // valid origins are either a pre-known origin or one specified by the app developer
5829
+ // in their call to app.initialize
5830
+ const messageSource = evt.source || ((_a = evt === null || evt === void 0 ? void 0 : evt.originalEvent) === null || _a === void 0 ? void 0 : _a.source);
5831
+ const messageOrigin = evt.origin || ((_b = evt === null || evt === void 0 ? void 0 : evt.originalEvent) === null || _b === void 0 ? void 0 : _b.origin);
5832
+ if (!messageSource) {
5833
+ logger('Message being ignored by app because it is coming for a target that is null');
5834
+ return;
5835
+ }
5836
+ if (!shouldProcessMessage(messageSource, messageOrigin)) {
5837
+ logger('Message being ignored by app because it is either coming from the current window or a different window with an invalid origin');
5838
+ return;
5839
+ }
5840
+ /**
5841
+ * In most cases, top level window and the parent window will be same.
5842
+ * If they're not, perform the necessary updates for the top level window.
5843
+ *
5844
+ * Top window logic to flush messages is kept independent so that we don't affect
5845
+ * any of the code for the existing communication channel.
5846
+ */
5847
+ if (!Communication.topWindow || Communication.topWindow.closed || messageSource === Communication.topWindow) {
5848
+ Communication.topWindow = messageSource;
5849
+ Communication.topOrigin = messageOrigin;
5850
+ }
5851
+ // Clean up pointers to closed parent and child windows
5852
+ if (Communication.topWindow && Communication.topWindow.closed) {
5853
+ Communication.topWindow = null;
5854
+ Communication.topOrigin = null;
5855
+ }
5856
+ flushMessageQueue(Communication.topWindow);
5857
+ // Return the response to the registered callback
5858
+ onMessageReceived(message);
5859
+ }
5545
5860
  const shouldProcessMessageLogger = communicationLogger.extend('shouldProcessMessage');
5546
5861
  /**
5547
5862
  * @hidden
@@ -5680,27 +5995,70 @@ function handleChildMessage(evt) {
5680
5995
  }
5681
5996
  }
5682
5997
  }
5998
+ /**
5999
+ * @internal
6000
+ * Limited to Microsoft-internal use
6001
+ *
6002
+ * Checks if the top window and the parent window are different.
6003
+ *
6004
+ * @returns {boolean} Returns true if the top window and the parent window are different, false otherwise.
6005
+ */
6006
+ function areTopAndParentWindowsDistinct() {
6007
+ return Communication.topWindow !== Communication.parentWindow;
6008
+ }
5683
6009
  /**
5684
6010
  * @internal
5685
6011
  * Limited to Microsoft-internal use
5686
6012
  */
5687
6013
  function getTargetMessageQueue(targetWindow) {
5688
- return targetWindow === Communication.parentWindow
5689
- ? CommunicationPrivate.parentMessageQueue
5690
- : targetWindow === Communication.childWindow
5691
- ? CommunicationPrivate.childMessageQueue
5692
- : [];
6014
+ if (targetWindow === Communication.topWindow && areTopAndParentWindowsDistinct()) {
6015
+ return CommunicationPrivate.topMessageQueue;
6016
+ }
6017
+ else if (targetWindow === Communication.parentWindow) {
6018
+ return CommunicationPrivate.parentMessageQueue;
6019
+ }
6020
+ else if (targetWindow === Communication.childWindow) {
6021
+ return CommunicationPrivate.childMessageQueue;
6022
+ }
6023
+ else {
6024
+ return [];
6025
+ }
5693
6026
  }
5694
6027
  /**
5695
6028
  * @internal
5696
6029
  * Limited to Microsoft-internal use
5697
6030
  */
5698
6031
  function getTargetOrigin(targetWindow) {
5699
- return targetWindow === Communication.parentWindow
5700
- ? Communication.parentOrigin
5701
- : targetWindow === Communication.childWindow
5702
- ? Communication.childOrigin
5703
- : null;
6032
+ if (targetWindow === Communication.topWindow && areTopAndParentWindowsDistinct()) {
6033
+ return Communication.topOrigin;
6034
+ }
6035
+ else if (targetWindow === Communication.parentWindow) {
6036
+ return Communication.parentOrigin;
6037
+ }
6038
+ else if (targetWindow === Communication.childWindow) {
6039
+ return Communication.childOrigin;
6040
+ }
6041
+ else {
6042
+ return null;
6043
+ }
6044
+ }
6045
+ /**
6046
+ * @internal
6047
+ * Limited to Microsoft-internal use
6048
+ */
6049
+ function getTargetName(targetWindow) {
6050
+ if (targetWindow === Communication.topWindow && areTopAndParentWindowsDistinct()) {
6051
+ return 'top';
6052
+ }
6053
+ else if (targetWindow === Communication.parentWindow) {
6054
+ return 'parent';
6055
+ }
6056
+ else if (targetWindow === Communication.childWindow) {
6057
+ return 'child';
6058
+ }
6059
+ else {
6060
+ return null;
6061
+ }
5704
6062
  }
5705
6063
  const flushMessageQueueLogger = communicationLogger.extend('flushMessageQueue');
5706
6064
  /**
@@ -5710,7 +6068,7 @@ const flushMessageQueueLogger = communicationLogger.extend('flushMessageQueue');
5710
6068
  function flushMessageQueue(targetWindow) {
5711
6069
  const targetOrigin = getTargetOrigin(targetWindow);
5712
6070
  const targetMessageQueue = getTargetMessageQueue(targetWindow);
5713
- const target = targetWindow == Communication.parentWindow ? 'parent' : 'child';
6071
+ const target = getTargetName(targetWindow);
5714
6072
  while (targetWindow && targetOrigin && targetMessageQueue.length > 0) {
5715
6073
  const request = targetMessageQueue.shift();
5716
6074
  /* eslint-disable-next-line strict-null-checks/all */ /* Fix tracked by 5730662 */
@@ -5784,6 +6142,28 @@ function createMessageRequest(apiVersionTag, func, args) {
5784
6142
  apiversiontag: apiVersionTag,
5785
6143
  };
5786
6144
  }
6145
+ /**
6146
+ * @internal
6147
+ * Limited to Microsoft-internal use
6148
+ *
6149
+ * Creates a nested app authentication request.
6150
+ *
6151
+ * @param {string} message - The message to be included in the request. This is typically a stringified JSON object containing the details of the authentication request.
6152
+ * The reason for using a string is to allow complex data structures to be sent as a message while avoiding potential issues with object serialization and deserialization.
6153
+ *
6154
+ * @returns {NestedAppAuthRequest} Returns a NestedAppAuthRequest object with a unique id, the function name set to 'nestedAppAuthRequest', the current timestamp, an empty args array, and the provided message as data.
6155
+ */
6156
+ function createNestedAppAuthRequest(message) {
6157
+ return {
6158
+ id: CommunicationPrivate.nextMessageId++,
6159
+ func: 'nestedAppAuth.execute',
6160
+ timestamp: Date.now(),
6161
+ // Since this is a nested app auth request, we don't need to send any args.
6162
+ // We avoid overloading the args array with the message to avoid potential issues processing of these messages on the hubSDK.
6163
+ args: [],
6164
+ data: message,
6165
+ };
6166
+ }
5787
6167
  /**
5788
6168
  * @internal
5789
6169
  * Limited to Microsoft-internal use
@@ -5816,6 +6196,7 @@ function createMessageEvent(func, args) {
5816
6196
 
5817
6197
 
5818
6198
 
6199
+
5819
6200
  /**
5820
6201
  * @hidden
5821
6202
  * Namespace to interact with the logging part of the SDK.
@@ -5823,7 +6204,10 @@ function createMessageEvent(func, args) {
5823
6204
  *
5824
6205
  * @internal
5825
6206
  * Limited to Microsoft-internal use
6207
+ *
6208
+ * v1 APIs telemetry file: All of APIs in this capability file should send out API version v1 ONLY
5826
6209
  */
6210
+ const logsTelemetryVersionNumber = ApiVersionNumber.V_1;
5827
6211
  var logs;
5828
6212
  (function (logs) {
5829
6213
  /**
@@ -5843,9 +6227,9 @@ var logs;
5843
6227
  throw errorNotSupportedOnPlatform;
5844
6228
  }
5845
6229
  if (handler) {
5846
- registerHandler('log.request', () => {
6230
+ registerHandlerWithVersion(getApiVersionTag(logsTelemetryVersionNumber, ApiName.Logs_RegisterLogRequestHandler), 'log.request', () => {
5847
6231
  const log = handler();
5848
- sendMessageToParent('log.receive', [log]);
6232
+ sendMessageToParentWithVersion(getApiVersionTag(logsTelemetryVersionNumber, ApiName.Logs_Receive), 'log.receive', [log]);
5849
6233
  });
5850
6234
  }
5851
6235
  else {
@@ -6042,6 +6426,16 @@ function openFilePreview(filePreviewParameters) {
6042
6426
 
6043
6427
 
6044
6428
 
6429
+
6430
+ /**
6431
+ * @hidden
6432
+ *
6433
+ * @internal
6434
+ * Limited to Microsoft-internal use
6435
+ *
6436
+ * v1 APIs telemetry file: All of APIs in this capability file should send out API version v1 ONLY
6437
+ */
6438
+ const conversationsTelemetryVersionNumber = ApiVersionNumber.V_1;
6045
6439
  /**
6046
6440
  * @hidden
6047
6441
  * Namespace to interact with the conversational subEntities inside the tab
@@ -6068,7 +6462,7 @@ var conversations;
6068
6462
  if (!isSupported()) {
6069
6463
  throw errorNotSupportedOnPlatform;
6070
6464
  }
6071
- const sendPromise = sendAndHandleStatusAndReason('conversations.openConversation', {
6465
+ const sendPromise = sendAndHandleStatusAndReasonWithVersion(getApiVersionTag(conversationsTelemetryVersionNumber, ApiName.Conversations_OpenConversation), 'conversations.openConversation', {
6072
6466
  title: openConversationRequest.title,
6073
6467
  subEntityId: openConversationRequest.subEntityId,
6074
6468
  conversationId: openConversationRequest.conversationId,
@@ -6076,7 +6470,7 @@ var conversations;
6076
6470
  entityId: openConversationRequest.entityId,
6077
6471
  });
6078
6472
  if (openConversationRequest.onStartConversation) {
6079
- registerHandler('startConversation', (subEntityId, conversationId, channelId, entityId) => {
6473
+ registerHandlerWithVersion(getApiVersionTag(conversationsTelemetryVersionNumber, ApiName.Conversations_RegisterStartConversationHandler), 'startConversation', (subEntityId, conversationId, channelId, entityId) => {
6080
6474
  var _a;
6081
6475
  return (_a = openConversationRequest.onStartConversation) === null || _a === void 0 ? void 0 : _a.call(openConversationRequest, {
6082
6476
  subEntityId,
@@ -6087,7 +6481,7 @@ var conversations;
6087
6481
  });
6088
6482
  }
6089
6483
  if (openConversationRequest.onCloseConversation) {
6090
- registerHandler('closeConversation', (subEntityId, conversationId, channelId, entityId) => {
6484
+ registerHandlerWithVersion(getApiVersionTag(conversationsTelemetryVersionNumber, ApiName.Conversations_RegisterCloseConversationHandler), 'closeConversation', (subEntityId, conversationId, channelId, entityId) => {
6091
6485
  var _a;
6092
6486
  return (_a = openConversationRequest.onCloseConversation) === null || _a === void 0 ? void 0 : _a.call(openConversationRequest, {
6093
6487
  subEntityId,
@@ -6114,7 +6508,7 @@ var conversations;
6114
6508
  if (!isSupported()) {
6115
6509
  throw errorNotSupportedOnPlatform;
6116
6510
  }
6117
- sendMessageToParent('conversations.closeConversation');
6511
+ sendMessageToParentWithVersion(getApiVersionTag(conversationsTelemetryVersionNumber, ApiName.Conversations_CloseConversation), 'conversations.closeConversation');
6118
6512
  removeHandler('startConversation');
6119
6513
  removeHandler('closeConversation');
6120
6514
  }
@@ -6138,7 +6532,7 @@ var conversations;
6138
6532
  if (!isSupported()) {
6139
6533
  throw errorNotSupportedOnPlatform;
6140
6534
  }
6141
- resolve(sendAndUnwrap('getChatMembers'));
6535
+ resolve(sendAndUnwrapWithVersion(getApiVersionTag(conversationsTelemetryVersionNumber, ApiName.Conversations_GetChatMember), 'getChatMembers'));
6142
6536
  });
6143
6537
  }
6144
6538
  conversations.getChatMembers = getChatMembers;
@@ -6333,7 +6727,7 @@ var media;
6333
6727
  callback(oldPlatformError, []);
6334
6728
  return;
6335
6729
  }
6336
- communication_sendMessageToParentWithVersion(getApiVersionTag(mediaTelemetryVersionNumber, ApiName.Media_CaptureImage), 'captureImage', callback);
6730
+ sendMessageToParentWithVersion(getApiVersionTag(mediaTelemetryVersionNumber, ApiName.Media_CaptureImage), 'captureImage', callback);
6337
6731
  }
6338
6732
  media.captureImage = captureImage;
6339
6733
  /**
@@ -6463,7 +6857,7 @@ var media;
6463
6857
  }
6464
6858
  }
6465
6859
  }
6466
- communication_sendMessageToParentWithVersion(getApiVersionTag(mediaTelemetryVersionNumber, ApiName.Media_GetMedia), 'getMedia', localUriId, handleGetMediaCallbackRequest);
6860
+ sendMessageToParentWithVersion(getApiVersionTag(mediaTelemetryVersionNumber, ApiName.Media_GetMedia), 'getMedia', localUriId, handleGetMediaCallbackRequest);
6467
6861
  }
6468
6862
  /** Function to retrieve media content, such as images or videos, via handler. */
6469
6863
  getMediaViaHandler(callback) {
@@ -6475,7 +6869,7 @@ var media;
6475
6869
  const params = [actionName, this.content];
6476
6870
  this.content &&
6477
6871
  !isNullOrUndefined(callback) &&
6478
- communication_sendMessageToParentWithVersion(getApiVersionTag(mediaTelemetryVersionNumber, ApiName.Media_GetMedia), 'getMedia', params);
6872
+ sendMessageToParentWithVersion(getApiVersionTag(mediaTelemetryVersionNumber, ApiName.Media_GetMedia), 'getMedia', params);
6479
6873
  function handleGetMediaRequest(response) {
6480
6874
  if (callback) {
6481
6875
  /* eslint-disable-next-line strict-null-checks/all */ /* Fix tracked by 5730662 */
@@ -6542,7 +6936,7 @@ var media;
6542
6936
  return;
6543
6937
  }
6544
6938
  const params = { mediaType: this.getMediaType(), mediaControllerEvent: mediaEvent };
6545
- communication_sendMessageToParentWithVersion(getApiVersionTag(mediaTelemetryVersionNumber, ApiName.Media_Controller), 'media.controller', [params], (err) => {
6939
+ sendMessageToParentWithVersion(getApiVersionTag(mediaTelemetryVersionNumber, ApiName.Media_Controller), 'media.controller', [params], (err) => {
6546
6940
  if (callback) {
6547
6941
  callback(err);
6548
6942
  }
@@ -6679,7 +7073,7 @@ var media;
6679
7073
  }
6680
7074
  const params = [mediaInputs];
6681
7075
  // What comes back from native as attachments would just be objects and will be missing getMedia method on them
6682
- communication_sendMessageToParentWithVersion(getApiVersionTag(mediaTelemetryVersionNumber, ApiName.Media_SelectMedia), 'selectMedia', params, (err, localAttachments, mediaEvent) => {
7076
+ sendMessageToParentWithVersion(getApiVersionTag(mediaTelemetryVersionNumber, ApiName.Media_SelectMedia), 'selectMedia', params, (err, localAttachments, mediaEvent) => {
6683
7077
  var _a, _b;
6684
7078
  // MediaControllerEvent response is used to notify the app about events and is a partial response to selectMedia
6685
7079
  if (mediaEvent) {
@@ -6723,7 +7117,7 @@ var media;
6723
7117
  return;
6724
7118
  }
6725
7119
  const params = [uriList];
6726
- communication_sendMessageToParentWithVersion(getApiVersionTag(mediaTelemetryVersionNumber, ApiName.Media_ViewImages), 'viewImages', params, callback);
7120
+ sendMessageToParentWithVersion(getApiVersionTag(mediaTelemetryVersionNumber, ApiName.Media_ViewImages), 'viewImages', params, callback);
6727
7121
  }
6728
7122
  media.viewImages = viewImages;
6729
7123
  /**
@@ -6764,7 +7158,7 @@ var media;
6764
7158
  callback(invalidInput, '');
6765
7159
  return;
6766
7160
  }
6767
- communication_sendMessageToParentWithVersion(getApiVersionTag(mediaTelemetryVersionNumber, ApiName.Media_ScanBarCode), 'media.scanBarCode', [config], callback);
7161
+ sendMessageToParentWithVersion(getApiVersionTag(mediaTelemetryVersionNumber, ApiName.Media_ScanBarCode), 'media.scanBarCode', [config], callback);
6768
7162
  }
6769
7163
  media.scanBarCode = scanBarCode;
6770
7164
  })(media || (media = {}));
@@ -7083,6 +7477,16 @@ var barCode;
7083
7477
 
7084
7478
 
7085
7479
 
7480
+
7481
+ /**
7482
+ * Describes information needed to start a chat
7483
+ *
7484
+ * @beta
7485
+ */
7486
+ /**
7487
+ * v2 APIs telemetry file: All of APIs in this capability file should send out API version v2 ONLY
7488
+ */
7489
+ const chatTelemetryVersionNumber = ApiVersionNumber.V_2;
7086
7490
  /**
7087
7491
  * Contains functionality to start chat with others
7088
7492
  *
@@ -7101,16 +7505,21 @@ var chat;
7101
7505
  * @beta
7102
7506
  */
7103
7507
  function openChat(openChatRequest) {
7508
+ const apiVersionTag = getApiVersionTag(chatTelemetryVersionNumber, ApiName.Chat_OpenChat);
7509
+ return openChatHelper(apiVersionTag, openChatRequest);
7510
+ }
7511
+ chat.openChat = openChat;
7512
+ function openChatHelper(apiVersionTag, openChatRequest) {
7104
7513
  return new Promise((resolve) => {
7105
7514
  internalAPIs_ensureInitialized(runtime_runtime, FrameContexts.content, FrameContexts.task);
7106
7515
  if (!isSupported()) {
7107
7516
  throw errorNotSupportedOnPlatform;
7108
7517
  }
7109
7518
  if (runtime_runtime.isLegacyTeams) {
7110
- resolve(sendAndHandleStatusAndReason('executeDeepLink', createTeamsDeepLinkForChat([openChatRequest.user], undefined /*topic*/, openChatRequest.message)));
7519
+ resolve(sendAndHandleStatusAndReasonWithVersion(apiVersionTag, 'executeDeepLink', createTeamsDeepLinkForChat([openChatRequest.user], undefined /*topic*/, openChatRequest.message)));
7111
7520
  }
7112
7521
  else {
7113
- const sendPromise = sendAndHandleStatusAndReason('chat.openChat', {
7522
+ const sendPromise = sendAndHandleStatusAndReasonWithVersion(apiVersionTag, 'chat.openChat', {
7114
7523
  members: [openChatRequest.user],
7115
7524
  message: openChatRequest.message,
7116
7525
  });
@@ -7118,7 +7527,6 @@ var chat;
7118
7527
  }
7119
7528
  });
7120
7529
  }
7121
- chat.openChat = openChat;
7122
7530
  /**
7123
7531
  * Allows the user to create a chat with multiple users (2+) and allows
7124
7532
  * for the user to specify a message and name the topic of the conversation. If
@@ -7131,6 +7539,7 @@ var chat;
7131
7539
  * @beta
7132
7540
  */
7133
7541
  function openGroupChat(openChatRequest) {
7542
+ const apiVersionTag = getApiVersionTag(chatTelemetryVersionNumber, ApiName.Chat_OpenGroupChat);
7134
7543
  return new Promise((resolve) => {
7135
7544
  if (openChatRequest.users.length < 1) {
7136
7545
  throw Error('OpenGroupChat Failed: No users specified');
@@ -7140,7 +7549,7 @@ var chat;
7140
7549
  user: openChatRequest.users[0],
7141
7550
  message: openChatRequest.message,
7142
7551
  };
7143
- resolve(openChat(chatRequest));
7552
+ resolve(openChatHelper(apiVersionTag, chatRequest));
7144
7553
  }
7145
7554
  else {
7146
7555
  internalAPIs_ensureInitialized(runtime_runtime, FrameContexts.content, FrameContexts.task);
@@ -7148,10 +7557,10 @@ var chat;
7148
7557
  throw errorNotSupportedOnPlatform;
7149
7558
  }
7150
7559
  if (runtime_runtime.isLegacyTeams) {
7151
- resolve(sendAndHandleStatusAndReason('executeDeepLink', createTeamsDeepLinkForChat(openChatRequest.users, openChatRequest.topic, openChatRequest.message)));
7560
+ resolve(sendAndHandleStatusAndReasonWithVersion(apiVersionTag, 'executeDeepLink', createTeamsDeepLinkForChat(openChatRequest.users, openChatRequest.topic, openChatRequest.message)));
7152
7561
  }
7153
7562
  else {
7154
- const sendPromise = sendAndHandleStatusAndReason('chat.openChat', {
7563
+ const sendPromise = sendAndHandleStatusAndReasonWithVersion(apiVersionTag, 'chat.openChat', {
7155
7564
  members: openChatRequest.users,
7156
7565
  message: openChatRequest.message,
7157
7566
  topic: openChatRequest.topic,
@@ -7516,6 +7925,11 @@ class ParentAppWindow {
7516
7925
 
7517
7926
 
7518
7927
 
7928
+
7929
+ /**
7930
+ * v2 APIs telemetry file: All of APIs in this capability file should send out API version v2 ONLY
7931
+ */
7932
+ const secondaryBrowserTelemetryVersionNumber = ApiVersionNumber.V_2;
7519
7933
  /**
7520
7934
  * Namespace to power up the in-app browser experiences in the host app.
7521
7935
  * For e.g., opening a URL in the host app inside a browser
@@ -7546,7 +7960,7 @@ var secondaryBrowser;
7546
7960
  if (!url || !isValidHttpsURL(url)) {
7547
7961
  throw { errorCode: ErrorCode.INVALID_ARGUMENTS, message: 'Invalid Url: Only https URL is allowed' };
7548
7962
  }
7549
- return sendAndHandleSdkError('secondaryBrowser.open', url.toString());
7963
+ return sendAndHandleSdkErrorWithVersion(getApiVersionTag(secondaryBrowserTelemetryVersionNumber, ApiName.SecondaryBrowser_OpenUrl), 'secondaryBrowser.open', url.toString());
7550
7964
  }
7551
7965
  secondaryBrowser.open = open;
7552
7966
  /**
@@ -7607,7 +8021,7 @@ var location_location;
7607
8021
  if (!isSupported()) {
7608
8022
  throw errorNotSupportedOnPlatform;
7609
8023
  }
7610
- communication_sendMessageToParentWithVersion(getApiVersionTag(locationTelemetryVersionNumber, ApiName.Location_GetLocation), 'location.getLocation', [props], callback);
8024
+ sendMessageToParentWithVersion(getApiVersionTag(locationTelemetryVersionNumber, ApiName.Location_GetLocation), 'location.getLocation', [props], callback);
7611
8025
  }
7612
8026
  location_1.getLocation = getLocation;
7613
8027
  /**
@@ -7633,7 +8047,7 @@ var location_location;
7633
8047
  if (!isSupported()) {
7634
8048
  throw errorNotSupportedOnPlatform;
7635
8049
  }
7636
- communication_sendMessageToParentWithVersion(getApiVersionTag(locationTelemetryVersionNumber, ApiName.Location_ShowLocation), 'location.showLocation', [location], callback);
8050
+ sendMessageToParentWithVersion(getApiVersionTag(locationTelemetryVersionNumber, ApiName.Location_ShowLocation), 'location.showLocation', [location], callback);
7637
8051
  }
7638
8052
  location_1.showLocation = showLocation;
7639
8053
  /**
@@ -7667,6 +8081,11 @@ var meeting_awaiter = (undefined && undefined.__awaiter) || function (thisArg, _
7667
8081
 
7668
8082
 
7669
8083
 
8084
+
8085
+ /**
8086
+ * v1 APIs telemetry file: All of APIs in this capability file should send out API version v1 ONLY
8087
+ */
8088
+ const meetingTelemetryVersionNumber = ApiVersionNumber.V_1;
7670
8089
  /**
7671
8090
  * Interact with meetings, including retrieving meeting details, getting mic status, and sharing app content.
7672
8091
  * This namespace is used to handle meeting related functionality like
@@ -7821,7 +8240,7 @@ var meeting;
7821
8240
  throw new Error('[get incoming client audio state] Callback cannot be null');
7822
8241
  }
7823
8242
  internalAPIs_ensureInitialized(runtime_runtime, FrameContexts.sidePanel, FrameContexts.meetingStage);
7824
- sendMessageToParent('getIncomingClientAudioState', callback);
8243
+ sendMessageToParentWithVersion(getApiVersionTag(meetingTelemetryVersionNumber, ApiName.Meeting_GetIncomingClientAudioState), 'getIncomingClientAudioState', callback);
7825
8244
  }
7826
8245
  meeting.getIncomingClientAudioState = getIncomingClientAudioState;
7827
8246
  /**
@@ -7843,7 +8262,7 @@ var meeting;
7843
8262
  throw new Error('[toggle incoming client audio] Callback cannot be null');
7844
8263
  }
7845
8264
  internalAPIs_ensureInitialized(runtime_runtime, FrameContexts.sidePanel, FrameContexts.meetingStage);
7846
- sendMessageToParent('toggleIncomingClientAudio', callback);
8265
+ sendMessageToParentWithVersion(getApiVersionTag(meetingTelemetryVersionNumber, ApiName.Meeting_ToggleIncomingClientAudio), 'toggleIncomingClientAudio', callback);
7847
8266
  }
7848
8267
  meeting.toggleIncomingClientAudio = toggleIncomingClientAudio;
7849
8268
  /**
@@ -7862,7 +8281,7 @@ var meeting;
7862
8281
  throw new Error('[get meeting details] Callback cannot be null');
7863
8282
  }
7864
8283
  internalAPIs_ensureInitialized(runtime_runtime, FrameContexts.sidePanel, FrameContexts.meetingStage, FrameContexts.settings, FrameContexts.content);
7865
- sendMessageToParent('meeting.getMeetingDetails', callback);
8284
+ sendMessageToParentWithVersion(getApiVersionTag(meetingTelemetryVersionNumber, ApiName.Meeting_GetMeetingDetails), 'meeting.getMeetingDetails', callback);
7866
8285
  }
7867
8286
  meeting.getMeetingDetails = getMeetingDetails;
7868
8287
  /**
@@ -7881,7 +8300,7 @@ var meeting;
7881
8300
  throw new Error('[get Authentication Token For AnonymousUser] Callback cannot be null');
7882
8301
  }
7883
8302
  internalAPIs_ensureInitialized(runtime_runtime, FrameContexts.sidePanel, FrameContexts.meetingStage, FrameContexts.task);
7884
- sendMessageToParent('meeting.getAuthenticationTokenForAnonymousUser', callback);
8303
+ sendMessageToParentWithVersion(getApiVersionTag(meetingTelemetryVersionNumber, ApiName.Meeting_GetAuthenticationTokenForAnonymousUser), 'meeting.getAuthenticationTokenForAnonymousUser', callback);
7885
8304
  }
7886
8305
  meeting.getAuthenticationTokenForAnonymousUser = getAuthenticationTokenForAnonymousUser;
7887
8306
  /**
@@ -7902,7 +8321,7 @@ var meeting;
7902
8321
  throw new Error('[get live stream state] Callback cannot be null');
7903
8322
  }
7904
8323
  internalAPIs_ensureInitialized(runtime_runtime, FrameContexts.sidePanel);
7905
- sendMessageToParent('meeting.getLiveStreamState', callback);
8324
+ sendMessageToParentWithVersion(getApiVersionTag(meetingTelemetryVersionNumber, ApiName.Meeting_GetLiveStreamState), 'meeting.getLiveStreamState', callback);
7906
8325
  }
7907
8326
  meeting.getLiveStreamState = getLiveStreamState;
7908
8327
  /**
@@ -7926,7 +8345,7 @@ var meeting;
7926
8345
  throw new Error('[request start live streaming] Callback cannot be null');
7927
8346
  }
7928
8347
  internalAPIs_ensureInitialized(runtime_runtime, FrameContexts.sidePanel);
7929
- sendMessageToParent('meeting.requestStartLiveStreaming', [streamUrl, streamKey], callback);
8348
+ sendMessageToParentWithVersion(getApiVersionTag(meetingTelemetryVersionNumber, ApiName.Meeting_RequestStartLiveStreaming), 'meeting.requestStartLiveStreaming', [streamUrl, streamKey], callback);
7930
8349
  }
7931
8350
  meeting.requestStartLiveStreaming = requestStartLiveStreaming;
7932
8351
  /**
@@ -7945,7 +8364,7 @@ var meeting;
7945
8364
  throw new Error('[request stop live streaming] Callback cannot be null');
7946
8365
  }
7947
8366
  internalAPIs_ensureInitialized(runtime_runtime, FrameContexts.sidePanel);
7948
- sendMessageToParent('meeting.requestStopLiveStreaming', callback);
8367
+ sendMessageToParentWithVersion(getApiVersionTag(meetingTelemetryVersionNumber, ApiName.Meeting_RequestStopLiveStreaming), 'meeting.requestStopLiveStreaming', callback);
7949
8368
  }
7950
8369
  meeting.requestStopLiveStreaming = requestStopLiveStreaming;
7951
8370
  /**
@@ -7965,7 +8384,7 @@ var meeting;
7965
8384
  throw new Error('[register live stream changed handler] Handler cannot be null');
7966
8385
  }
7967
8386
  internalAPIs_ensureInitialized(runtime_runtime, FrameContexts.sidePanel);
7968
- registerHandler('meeting.liveStreamChanged', handler);
8387
+ registerHandlerWithVersion(getApiVersionTag(meetingTelemetryVersionNumber, ApiName.Meeting_RegisterLiveStreamChangedHandler), 'meeting.liveStreamChanged', handler);
7969
8388
  }
7970
8389
  meeting.registerLiveStreamChangedHandler = registerLiveStreamChangedHandler;
7971
8390
  /**
@@ -7993,7 +8412,7 @@ var meeting;
7993
8412
  throw new Error('[share app content to stage] Callback cannot be null');
7994
8413
  }
7995
8414
  internalAPIs_ensureInitialized(runtime_runtime, FrameContexts.sidePanel, FrameContexts.meetingStage);
7996
- sendMessageToParent('meeting.shareAppContentToStage', [appContentUrl, shareOptions], callback);
8415
+ sendMessageToParentWithVersion(getApiVersionTag(meetingTelemetryVersionNumber, ApiName.Meeting_ShareAppContentToStage), 'meeting.shareAppContentToStage', [appContentUrl, shareOptions], callback);
7997
8416
  }
7998
8417
  meeting.shareAppContentToStage = shareAppContentToStage;
7999
8418
  /**
@@ -8018,7 +8437,7 @@ var meeting;
8018
8437
  throw new Error('[get app content stage sharing capabilities] Callback cannot be null');
8019
8438
  }
8020
8439
  internalAPIs_ensureInitialized(runtime_runtime, FrameContexts.sidePanel, FrameContexts.meetingStage);
8021
- sendMessageToParent('meeting.getAppContentStageSharingCapabilities', callback);
8440
+ sendMessageToParentWithVersion(getApiVersionTag(meetingTelemetryVersionNumber, ApiName.Meeting_GetAppContentStageSharingCapabilities), 'meeting.getAppContentStageSharingCapabilities', callback);
8022
8441
  }
8023
8442
  meeting.getAppContentStageSharingCapabilities = getAppContentStageSharingCapabilities;
8024
8443
  /**
@@ -8035,7 +8454,7 @@ var meeting;
8035
8454
  throw new Error('[stop sharing app content to stage] Callback cannot be null');
8036
8455
  }
8037
8456
  internalAPIs_ensureInitialized(runtime_runtime, FrameContexts.sidePanel, FrameContexts.meetingStage);
8038
- sendMessageToParent('meeting.stopSharingAppContentToStage', callback);
8457
+ sendMessageToParentWithVersion(getApiVersionTag(meetingTelemetryVersionNumber, ApiName.Meeting_StopSharingAppContentToStage), 'meeting.stopSharingAppContentToStage', callback);
8039
8458
  }
8040
8459
  meeting.stopSharingAppContentToStage = stopSharingAppContentToStage;
8041
8460
  /**
@@ -8057,7 +8476,7 @@ var meeting;
8057
8476
  throw new Error('[get app content stage sharing state] Callback cannot be null');
8058
8477
  }
8059
8478
  internalAPIs_ensureInitialized(runtime_runtime, FrameContexts.sidePanel, FrameContexts.meetingStage);
8060
- sendMessageToParent('meeting.getAppContentStageSharingState', callback);
8479
+ sendMessageToParentWithVersion(getApiVersionTag(meetingTelemetryVersionNumber, ApiName.Meeting_GetAppContentStageSharingState), 'meeting.getAppContentStageSharingState', callback);
8061
8480
  }
8062
8481
  meeting.getAppContentStageSharingState = getAppContentStageSharingState;
8063
8482
  /**
@@ -8080,7 +8499,7 @@ var meeting;
8080
8499
  throw new Error('[registerSpeakingStateChangeHandler] Handler cannot be null');
8081
8500
  }
8082
8501
  internalAPIs_ensureInitialized(runtime_runtime, FrameContexts.sidePanel, FrameContexts.meetingStage);
8083
- registerHandler('meeting.speakingStateChanged', handler);
8502
+ registerHandlerWithVersion(getApiVersionTag(meetingTelemetryVersionNumber, ApiName.Meeting_RegisterSpeakingStateChangeHandler), 'meeting.speakingStateChanged', handler);
8084
8503
  }
8085
8504
  meeting.registerSpeakingStateChangeHandler = registerSpeakingStateChangeHandler;
8086
8505
  /**
@@ -8104,7 +8523,7 @@ var meeting;
8104
8523
  throw new Error('[registerRaiseHandStateChangedHandler] Handler cannot be null');
8105
8524
  }
8106
8525
  internalAPIs_ensureInitialized(runtime_runtime, FrameContexts.sidePanel, FrameContexts.meetingStage);
8107
- registerHandler('meeting.raiseHandStateChanged', handler);
8526
+ registerHandlerWithVersion(getApiVersionTag(meetingTelemetryVersionNumber, ApiName.Meeting_RegisterRaiseHandStateChangedHandler), 'meeting.raiseHandStateChanged', handler);
8108
8527
  }
8109
8528
  meeting.registerRaiseHandStateChangedHandler = registerRaiseHandStateChangedHandler;
8110
8529
  /**
@@ -8126,7 +8545,7 @@ var meeting;
8126
8545
  throw new Error('[registerMeetingReactionReceivedHandler] Handler cannot be null');
8127
8546
  }
8128
8547
  internalAPIs_ensureInitialized(runtime_runtime, FrameContexts.sidePanel, FrameContexts.meetingStage);
8129
- registerHandler('meeting.meetingReactionReceived', handler);
8548
+ registerHandlerWithVersion(getApiVersionTag(meetingTelemetryVersionNumber, ApiName.Meeting_RegisterMeetingReactionReceivedHandler), 'meeting.meetingReactionReceived', handler);
8130
8549
  }
8131
8550
  meeting.registerMeetingReactionReceivedHandler = registerMeetingReactionReceivedHandler;
8132
8551
  /**
@@ -8164,7 +8583,7 @@ var meeting;
8164
8583
  if (shareInformation.contentUrl) {
8165
8584
  new URL(shareInformation.contentUrl);
8166
8585
  }
8167
- sendMessageToParent('meeting.appShareButton.setOptions', [shareInformation]);
8586
+ sendMessageToParentWithVersion(getApiVersionTag(meetingTelemetryVersionNumber, ApiName.Meeting_AppShareButton_SetOptions), 'meeting.appShareButton.setOptions', [shareInformation]);
8168
8587
  }
8169
8588
  appShareButton.setOptions = setOptions;
8170
8589
  })(appShareButton = meeting.appShareButton || (meeting.appShareButton = {}));
@@ -8230,15 +8649,15 @@ var meeting;
8230
8649
  setMicStateWithReason(micState, MicStateChangeReason.AppFailedToChange);
8231
8650
  }
8232
8651
  });
8233
- registerHandler('meeting.micStateChanged', micStateChangedCallback);
8652
+ registerHandlerWithVersion(getApiVersionTag(meetingTelemetryVersionNumber, ApiName.Meeting_RegisterMicStateChangeHandler), 'meeting.micStateChanged', micStateChangedCallback);
8234
8653
  const audioDeviceSelectionChangedCallback = (selectedDevicesInHost) => {
8235
8654
  var _a;
8236
8655
  (_a = requestAppAudioHandlingParams.audioDeviceSelectionChangedCallback) === null || _a === void 0 ? void 0 : _a.call(requestAppAudioHandlingParams, selectedDevicesInHost);
8237
8656
  };
8238
- registerHandler('meeting.audioDeviceSelectionChanged', audioDeviceSelectionChangedCallback);
8657
+ registerHandlerWithVersion(getApiVersionTag(meetingTelemetryVersionNumber, ApiName.Meeting_RegisterAudioDeviceSelectionChangedHandler), 'meeting.audioDeviceSelectionChanged', audioDeviceSelectionChangedCallback);
8239
8658
  callback(isHostAudioless);
8240
8659
  };
8241
- sendMessageToParent('meeting.requestAppAudioHandling', [requestAppAudioHandlingParams.isAppHandlingAudio], callbackInternalRequest);
8660
+ sendMessageToParentWithVersion(getApiVersionTag(meetingTelemetryVersionNumber, ApiName.Meeting_RequestAppAudioHandling), 'meeting.requestAppAudioHandling', [requestAppAudioHandlingParams.isAppHandlingAudio], callbackInternalRequest);
8242
8661
  }
8243
8662
  function stopAppAudioHandling(requestAppAudioHandlingParams, callback) {
8244
8663
  const callbackInternalStop = (error, isHostAudioless) => {
@@ -8259,7 +8678,7 @@ var meeting;
8259
8678
  }
8260
8679
  callback(isHostAudioless);
8261
8680
  };
8262
- sendMessageToParent('meeting.requestAppAudioHandling', [requestAppAudioHandlingParams.isAppHandlingAudio], callbackInternalStop);
8681
+ sendMessageToParentWithVersion(getApiVersionTag(meetingTelemetryVersionNumber, ApiName.Meeting_RequestAppAudioHandling), 'meeting.requestAppAudioHandling', [requestAppAudioHandlingParams.isAppHandlingAudio], callbackInternalStop);
8263
8682
  }
8264
8683
  /**
8265
8684
  * Notifies the host that the microphone state has changed in the app.
@@ -8280,7 +8699,7 @@ var meeting;
8280
8699
  meeting.updateMicState = updateMicState;
8281
8700
  function setMicStateWithReason(micState, reason) {
8282
8701
  internalAPIs_ensureInitialized(runtime_runtime, FrameContexts.sidePanel, FrameContexts.meetingStage);
8283
- sendMessageToParent('meeting.updateMicState', [micState, reason]);
8702
+ sendMessageToParentWithVersion(getApiVersionTag(meetingTelemetryVersionNumber, ApiName.Meeting_SetMicStateWithReason), 'meeting.updateMicState', [micState, reason]);
8284
8703
  }
8285
8704
  })(meeting || (meeting = {}));
8286
8705
 
@@ -8290,6 +8709,7 @@ var meeting;
8290
8709
 
8291
8710
 
8292
8711
 
8712
+
8293
8713
  /**
8294
8714
  * @hidden
8295
8715
  * Hidden from Docs
@@ -8297,6 +8717,11 @@ var meeting;
8297
8717
  * @internal
8298
8718
  * Limited to Microsoft-internal use
8299
8719
  */
8720
+ /**
8721
+ * Exceptional APIs telemetry versioning file: v1 and v2 APIs are mixed together in this file
8722
+ */
8723
+ const monetizationTelemetryVersionNumber_v1 = ApiVersionNumber.V_1;
8724
+ const monetizationTelemetryVersionNumber_v2 = ApiVersionNumber.V_2;
8300
8725
  var monetization;
8301
8726
  (function (monetization) {
8302
8727
  /**
@@ -8311,12 +8736,15 @@ var monetization;
8311
8736
  function openPurchaseExperience(param1, param2) {
8312
8737
  let callback;
8313
8738
  let planInfo;
8739
+ let apiVersionTag = '';
8314
8740
  if (typeof param1 === 'function') {
8315
8741
  callback = param1;
8316
8742
  planInfo = param2;
8743
+ apiVersionTag = getApiVersionTag(monetizationTelemetryVersionNumber_v1, ApiName.Monetization_OpenPurchaseExperience);
8317
8744
  }
8318
8745
  else {
8319
8746
  planInfo = param1;
8747
+ apiVersionTag = getApiVersionTag(monetizationTelemetryVersionNumber_v2, ApiName.Monetization_OpenPurchaseExperience);
8320
8748
  }
8321
8749
  const wrappedFunction = () => {
8322
8750
  return new Promise((resolve) => {
@@ -8324,7 +8752,7 @@ var monetization;
8324
8752
  throw errorNotSupportedOnPlatform;
8325
8753
  }
8326
8754
  /* eslint-disable-next-line strict-null-checks/all */ /* Fix tracked by 5730662 */
8327
- resolve(sendAndHandleSdkError('monetization.openPurchaseExperience', planInfo));
8755
+ resolve(sendAndHandleSdkErrorWithVersion(apiVersionTag, 'monetization.openPurchaseExperience', planInfo));
8328
8756
  });
8329
8757
  };
8330
8758
  internalAPIs_ensureInitialized(runtime_runtime, FrameContexts.content);
@@ -8629,9 +9057,14 @@ var teamsCore;
8629
9057
 
8630
9058
 
8631
9059
 
9060
+
8632
9061
  /**
8633
9062
  * Allows your app to add a people picker enabling users to search for and select people in their organization.
9063
+ *
9064
+ * Exceptional APIs telemetry versioning file: v1 and v2 APIs are mixed together in this file
8634
9065
  */
9066
+ const peopleTelemetryVersionNumber_v1 = ApiVersionNumber.V_1;
9067
+ const peopleTelemetryVersionNumber_v2 = ApiVersionNumber.V_2;
8635
9068
  var people;
8636
9069
  (function (people_1) {
8637
9070
  /**
@@ -8647,16 +9080,19 @@ var people;
8647
9080
  internalAPIs_ensureInitialized(runtime_runtime, FrameContexts.content, FrameContexts.task, FrameContexts.settings);
8648
9081
  let callback = undefined;
8649
9082
  let peoplePickerInputs = undefined;
9083
+ let apiVersionTag = '';
8650
9084
  if (typeof param1 === 'function') {
8651
9085
  [callback, peoplePickerInputs] = [param1, param2];
9086
+ apiVersionTag = getApiVersionTag(peopleTelemetryVersionNumber_v1, ApiName.People_SelectPeople);
8652
9087
  }
8653
9088
  else {
8654
9089
  peoplePickerInputs = param1;
9090
+ apiVersionTag = getApiVersionTag(peopleTelemetryVersionNumber_v2, ApiName.People_SelectPeople);
8655
9091
  }
8656
- return callCallbackWithErrorOrResultFromPromiseAndReturnPromise(selectPeopleHelper, callback /* eslint-disable-next-line strict-null-checks/all */ /* Fix tracked by 5730662 */, peoplePickerInputs);
9092
+ return callCallbackWithErrorOrResultFromPromiseAndReturnPromise(selectPeopleHelper, callback /* eslint-disable-next-line strict-null-checks/all */ /* Fix tracked by 5730662 */, apiVersionTag, peoplePickerInputs);
8657
9093
  }
8658
9094
  people_1.selectPeople = selectPeople;
8659
- function selectPeopleHelper(peoplePickerInputs) {
9095
+ function selectPeopleHelper(apiVersionTag, peoplePickerInputs) {
8660
9096
  return new Promise((resolve) => {
8661
9097
  if (!isCurrentSDKVersionAtLeast(peoplePickerRequiredVersion)) {
8662
9098
  throw { errorCode: ErrorCode.OLD_PLATFORM };
@@ -8668,7 +9104,7 @@ var people;
8668
9104
  throw errorNotSupportedOnPlatform;
8669
9105
  }
8670
9106
  /* eslint-disable-next-line strict-null-checks/all */ /* Fix tracked by 5730662 */
8671
- resolve(sendAndHandleSdkError('people.selectPeople', peoplePickerInputs));
9107
+ resolve(sendAndHandleSdkErrorWithVersion(apiVersionTag, 'people.selectPeople', peoplePickerInputs));
8672
9108
  });
8673
9109
  }
8674
9110
  /**
@@ -8753,6 +9189,11 @@ function validatePersona(persona) {
8753
9189
 
8754
9190
 
8755
9191
 
9192
+
9193
+ /**
9194
+ * v2 APIs telemetry file: All of APIs in this capability file should send out API version v2 ONLY
9195
+ */
9196
+ const profileTelemetryVersionNumber = ApiVersionNumber.V_2;
8756
9197
  /**
8757
9198
  * Namespace for profile related APIs.
8758
9199
  *
@@ -8786,7 +9227,7 @@ var profile;
8786
9227
  height: showProfileRequest.targetElementBoundingRect.height,
8787
9228
  },
8788
9229
  };
8789
- resolve(sendAndHandleSdkError('profile.showProfile', requestInternal));
9230
+ resolve(sendAndHandleSdkErrorWithVersion(getApiVersionTag(profileTelemetryVersionNumber, ApiName.Profile_ShowProfile), 'profile.showProfile', requestInternal));
8790
9231
  });
8791
9232
  }
8792
9233
  profile.showProfile = showProfile;
@@ -9287,6 +9728,11 @@ VideoPerformanceStatistics.maxSessionTimeoutInMs = 1000 * 30;
9287
9728
  ;// CONCATENATED MODULE: ./src/internal/videoPerformanceMonitor.ts
9288
9729
 
9289
9730
 
9731
+
9732
+ /**
9733
+ * v2 APIs telemetry file: All of APIs in this capability file should send out API version v2 ONLY
9734
+ */
9735
+ const videoPerformanceMonitorTelemetryVersionNumber = ApiVersionNumber.V_2;
9290
9736
  /**
9291
9737
  * This class is used to monitor the performance of video processing, and report performance events.
9292
9738
  */
@@ -9298,7 +9744,7 @@ class VideoPerformanceMonitor {
9298
9744
  this.frameProcessingStartedAt = 0;
9299
9745
  this.frameProcessingTimeCost = 0;
9300
9746
  this.processedFrameCount = 0;
9301
- this.performanceStatistics = new VideoPerformanceStatistics(VideoPerformanceMonitor.distributionBinSize, (result) => this.reportPerformanceEvent('video.performance.performanceDataGenerated', [result]));
9747
+ this.performanceStatistics = new VideoPerformanceStatistics(VideoPerformanceMonitor.distributionBinSize, (result) => this.reportPerformanceEvent(getApiVersionTag(videoPerformanceMonitorTelemetryVersionNumber, ApiName.VideoPerformanceMonitor_Constructor), 'video.performance.performanceDataGenerated', [result]));
9302
9748
  }
9303
9749
  /**
9304
9750
  * Start to check frame processing time intervally
@@ -9311,7 +9757,7 @@ class VideoPerformanceMonitor {
9311
9757
  }
9312
9758
  const averageFrameProcessingTime = this.frameProcessingTimeCost / this.processedFrameCount;
9313
9759
  if (averageFrameProcessingTime > this.frameProcessTimeLimit) {
9314
- this.reportPerformanceEvent('video.performance.frameProcessingSlow', [averageFrameProcessingTime]);
9760
+ this.reportPerformanceEvent(getApiVersionTag(videoPerformanceMonitorTelemetryVersionNumber, ApiName.VideoPerformanceMonitor_StartMonitorSlowFrameProcessing), 'video.performance.frameProcessingSlow', [averageFrameProcessingTime]);
9315
9761
  }
9316
9762
  this.frameProcessingTimeCost = 0;
9317
9763
  this.processedFrameCount = 0;
@@ -9379,11 +9825,7 @@ class VideoPerformanceMonitor {
9379
9825
  this.performanceStatistics.processEnds();
9380
9826
  if (!this.isFirstFrameProcessed) {
9381
9827
  this.isFirstFrameProcessed = true;
9382
- this.reportPerformanceEvent('video.performance.firstFrameProcessed', [
9383
- Date.now(),
9384
- this.appliedEffect.effectId,
9385
- (_a = this.appliedEffect) === null || _a === void 0 ? void 0 : _a.effectParam,
9386
- ]);
9828
+ this.reportPerformanceEvent(getApiVersionTag(videoPerformanceMonitorTelemetryVersionNumber, ApiName.VideoPerformanceMonitor_ReportFrameProcessed), 'video.performance.firstFrameProcessed', [Date.now(), this.appliedEffect.effectId, (_a = this.appliedEffect) === null || _a === void 0 ? void 0 : _a.effectParam]);
9387
9829
  }
9388
9830
  }
9389
9831
  /**
@@ -9399,7 +9841,7 @@ class VideoPerformanceMonitor {
9399
9841
  reportTextureStreamAcquired() {
9400
9842
  if (this.gettingTextureStreamStartedAt !== undefined) {
9401
9843
  const timeTaken = performance.now() - this.gettingTextureStreamStartedAt;
9402
- this.reportPerformanceEvent('video.performance.textureStreamAcquired', [this.currentStreamId, timeTaken]);
9844
+ this.reportPerformanceEvent(getApiVersionTag(videoPerformanceMonitorTelemetryVersionNumber, ApiName.VideoPerformanceMonitor_ReportTextureStreamAcquired), 'video.performance.textureStreamAcquired', [this.currentStreamId, timeTaken]);
9403
9845
  }
9404
9846
  }
9405
9847
  }
@@ -9435,6 +9877,11 @@ var videoEffects_rest = (undefined && undefined.__rest) || function (s, e) {
9435
9877
 
9436
9878
 
9437
9879
 
9880
+
9881
+ /**
9882
+ * v2 APIs telemetry file: All of APIs in this capability file should send out API version v2 ONLY
9883
+ */
9884
+ const videoEffectsTelemetryVersionNumber = ApiVersionNumber.V_2;
9438
9885
  /**
9439
9886
  * Namespace to video extensibility of the SDK
9440
9887
  * @beta
@@ -9443,7 +9890,7 @@ var videoEffects;
9443
9890
  (function (videoEffects) {
9444
9891
  const videoPerformanceMonitor = inServerSideRenderingEnvironment()
9445
9892
  ? undefined
9446
- : new VideoPerformanceMonitor(sendMessageToParent);
9893
+ : new VideoPerformanceMonitor(sendMessageToParentWithVersion);
9447
9894
  /**
9448
9895
  * Video frame format enum, currently only support NV12
9449
9896
  * @beta
@@ -9529,7 +9976,7 @@ var videoEffects;
9529
9976
  if (!parameters.videoFrameHandler || !parameters.videoBufferHandler) {
9530
9977
  throw new Error('Both videoFrameHandler and videoBufferHandler must be provided');
9531
9978
  }
9532
- registerHandler('video.setFrameProcessTimeLimit', (timeLimitInfo) => videoPerformanceMonitor === null || videoPerformanceMonitor === void 0 ? void 0 : videoPerformanceMonitor.setFrameProcessTimeLimit(timeLimitInfo.timeLimit), false);
9979
+ registerHandlerWithVersion(getApiVersionTag(videoEffectsTelemetryVersionNumber, ApiName.VideoEffects_RegisterSetFrameProcessTimeLimitHandler), 'video.setFrameProcessTimeLimit', (timeLimitInfo) => videoPerformanceMonitor === null || videoPerformanceMonitor === void 0 ? void 0 : videoPerformanceMonitor.setFrameProcessTimeLimit(timeLimitInfo.timeLimit), false);
9533
9980
  if (doesSupportMediaStream()) {
9534
9981
  registerForMediaStream(parameters.videoFrameHandler, parameters.config);
9535
9982
  }
@@ -9556,7 +10003,7 @@ var videoEffects;
9556
10003
  if (!isSupported()) {
9557
10004
  throw errorNotSupportedOnPlatform;
9558
10005
  }
9559
- sendMessageToParent('video.videoEffectChanged', [effectChangeType, effectId]);
10006
+ sendMessageToParentWithVersion(getApiVersionTag(videoEffectsTelemetryVersionNumber, ApiName.VideoEffects_NotifySelectedVideoEffectChanged), 'video.videoEffectChanged', [effectChangeType, effectId]);
9560
10007
  }
9561
10008
  videoEffects.notifySelectedVideoEffectChanged = notifySelectedVideoEffectChanged;
9562
10009
  /**
@@ -9569,8 +10016,8 @@ var videoEffects;
9569
10016
  if (!isSupported()) {
9570
10017
  throw errorNotSupportedOnPlatform;
9571
10018
  }
9572
- registerHandler('video.effectParameterChange', createEffectParameterChangeCallback(callback, videoPerformanceMonitor), false);
9573
- sendMessageToParent('video.registerForVideoEffect');
10019
+ registerHandlerWithVersion(getApiVersionTag(videoEffectsTelemetryVersionNumber, ApiName.VideoEffects_RegisterEffectParameterChangeHandler), 'video.effectParameterChange', createEffectParameterChangeCallback(callback, videoPerformanceMonitor), false);
10020
+ sendMessageToParentWithVersion(getApiVersionTag(videoEffectsTelemetryVersionNumber, ApiName.VideoEffects_RegisterForVideoEffect), 'video.registerForVideoEffect');
9574
10021
  }
9575
10022
  videoEffects.registerForVideoEffect = registerForVideoEffect;
9576
10023
  /**
@@ -9579,7 +10026,7 @@ var videoEffects;
9579
10026
  * @beta
9580
10027
  */
9581
10028
  function notifyVideoFrameProcessed(timestamp) {
9582
- sendMessageToParent('video.videoFrameProcessed', [timestamp]);
10029
+ sendMessageToParentWithVersion(getApiVersionTag(videoEffectsTelemetryVersionNumber, ApiName.VideoEffects_NotifyVideoFrameProcessed), 'video.videoFrameProcessed', [timestamp]);
9583
10030
  }
9584
10031
  /**
9585
10032
  * Sending error notification to host
@@ -9587,7 +10034,7 @@ var videoEffects;
9587
10034
  * @param errorMessage - The error message that will be sent to the host
9588
10035
  */
9589
10036
  function notifyError(errorMessage) {
9590
- sendMessageToParent('video.notifyError', [errorMessage]);
10037
+ sendMessageToParentWithVersion(getApiVersionTag(videoEffectsTelemetryVersionNumber, ApiName.VideoEffects_NotifyError), 'video.notifyError', [errorMessage]);
9591
10038
  }
9592
10039
  /**
9593
10040
  * Checks if video capability is supported by the host.
@@ -9609,13 +10056,13 @@ var videoEffects;
9609
10056
  if (!isSupported() || !doesSupportMediaStream()) {
9610
10057
  throw errorNotSupportedOnPlatform;
9611
10058
  }
9612
- registerHandler('video.startVideoExtensibilityVideoStream', (mediaStreamInfo) => videoEffects_awaiter(this, void 0, void 0, function* () {
10059
+ registerHandlerWithVersion(getApiVersionTag(videoEffectsTelemetryVersionNumber, ApiName.VideoEffects_RegisterStartVideoExtensibilityVideoStreamHandler), 'video.startVideoExtensibilityVideoStream', (mediaStreamInfo) => videoEffects_awaiter(this, void 0, void 0, function* () {
9613
10060
  // when a new streamId is ready:
9614
10061
  const { streamId } = mediaStreamInfo;
9615
10062
  const monitoredVideoFrameHandler = createMonitoredVideoFrameHandler(videoFrameHandler, videoPerformanceMonitor);
9616
10063
  yield processMediaStream(streamId, monitoredVideoFrameHandler, notifyError, videoPerformanceMonitor);
9617
10064
  }), false);
9618
- sendMessageToParent('video.mediaStream.registerForVideoFrame', [config]);
10065
+ sendMessageToParentWithVersion(getApiVersionTag(videoEffectsTelemetryVersionNumber, ApiName.VideoEffects_MediaStream_RegisterForVideoFrame), 'video.mediaStream.registerForVideoFrame', [config]);
9619
10066
  }
9620
10067
  function createMonitoredVideoFrameHandler(videoFrameHandler, videoPerformanceMonitor) {
9621
10068
  return (videoFrameData) => videoEffects_awaiter(this, void 0, void 0, function* () {
@@ -9632,7 +10079,7 @@ var videoEffects;
9632
10079
  if (!isSupported() || !doesSupportSharedFrame()) {
9633
10080
  throw errorNotSupportedOnPlatform;
9634
10081
  }
9635
- registerHandler('video.newVideoFrame',
10082
+ registerHandlerWithVersion(getApiVersionTag(videoEffectsTelemetryVersionNumber, ApiName.VideoEffects_RegisterForVideoBufferHandler), 'video.newVideoFrame',
9636
10083
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
9637
10084
  (videoBufferData) => {
9638
10085
  if (videoBufferData) {
@@ -9644,7 +10091,7 @@ var videoEffects;
9644
10091
  }, notifyError);
9645
10092
  }
9646
10093
  }, false);
9647
- sendMessageToParent('video.registerForVideoFrame', [config]);
10094
+ sendMessageToParentWithVersion(getApiVersionTag(videoEffectsTelemetryVersionNumber, ApiName.VideoEffects_RegisterForVideoFrame), 'video.registerForVideoFrame', [config]);
9648
10095
  }
9649
10096
  function normalizeVideoBufferData(videoBufferData) {
9650
10097
  if ('videoFrameBuffer' in videoBufferData) {
@@ -9678,6 +10125,11 @@ var videoEffects;
9678
10125
 
9679
10126
 
9680
10127
 
10128
+
10129
+ /**
10130
+ * v2 APIs telemetry file: All of APIs in this capability file should send out API version v2 ONLY
10131
+ */
10132
+ const searchTelemetryVersionNumber = ApiVersionNumber.V_2;
9681
10133
  /**
9682
10134
  * Allows your application to interact with the host M365 application's search box.
9683
10135
  * By integrating your application with the host's search box, users can search
@@ -9737,10 +10189,10 @@ var search;
9737
10189
  if (!isSupported()) {
9738
10190
  throw errorNotSupportedOnPlatform;
9739
10191
  }
9740
- registerHandler(onClosedHandlerName, onClosedHandler);
9741
- registerHandler(onExecutedHandlerName, onExecuteHandler);
10192
+ registerHandlerWithVersion(getApiVersionTag(searchTelemetryVersionNumber, ApiName.Search_RegisterOnClosedHandler), onClosedHandlerName, onClosedHandler);
10193
+ registerHandlerWithVersion(getApiVersionTag(searchTelemetryVersionNumber, ApiName.Search_RegisterOnExecutedHandler), onExecutedHandlerName, onExecuteHandler);
9742
10194
  if (onChangeHandler) {
9743
- registerHandler(onChangeHandlerName, onChangeHandler);
10195
+ registerHandlerWithVersion(getApiVersionTag(searchTelemetryVersionNumber, ApiName.Search_RegisterOnChangeHandler), onChangeHandlerName, onChangeHandler);
9744
10196
  }
9745
10197
  }
9746
10198
  search.registerHandlers = registerHandlers;
@@ -9757,7 +10209,7 @@ var search;
9757
10209
  }
9758
10210
  // This should let the host know to stop making the app scope show up in the search experience
9759
10211
  // Can also be used to clean up handlers on the host if desired
9760
- sendMessageToParent('search.unregister');
10212
+ sendMessageToParentWithVersion(getApiVersionTag(searchTelemetryVersionNumber, ApiName.Search_UnregisterHandlers), 'search.unregister');
9761
10213
  removeHandler(onChangeHandlerName);
9762
10214
  removeHandler(onClosedHandlerName);
9763
10215
  removeHandler(onExecutedHandlerName);
@@ -9786,7 +10238,7 @@ var search;
9786
10238
  if (!isSupported()) {
9787
10239
  throw new Error('Not supported');
9788
10240
  }
9789
- resolve(sendAndHandleStatusAndReason('search.closeSearch'));
10241
+ resolve(sendAndHandleStatusAndReasonWithVersion(getApiVersionTag(searchTelemetryVersionNumber, ApiName.Search_CloseSearch), 'search.closeSearch'));
9790
10242
  });
9791
10243
  }
9792
10244
  search.closeSearch = closeSearch;
@@ -9799,6 +10251,10 @@ var search;
9799
10251
 
9800
10252
 
9801
10253
 
10254
+
10255
+ /* eslint-disable @typescript-eslint/no-unused-vars */
10256
+ const sharingTelemetryVersionNumber_v1 = ApiVersionNumber.V_1;
10257
+ const sharingTelemetryVersionNumber_v2 = ApiVersionNumber.V_2;
9802
10258
  /**
9803
10259
  * Namespace to open a share dialog for web content.
9804
10260
  * For more info, see [Share to Teams from personal app or tab](https://learn.microsoft.com/microsoftteams/platform/concepts/build-and-test/share-to-teams-from-personal-app-or-tab)
@@ -9814,6 +10270,7 @@ var sharing;
9814
10270
  shareWebContent: 'sharing.shareWebContent',
9815
10271
  };
9816
10272
  function shareWebContent(shareWebContentRequest, callback) {
10273
+ const apiVersionTag = '';
9817
10274
  // validate the given input (synchronous check)
9818
10275
  try {
9819
10276
  validateNonEmptyContent(shareWebContentRequest);
@@ -9902,6 +10359,11 @@ var sharing;
9902
10359
 
9903
10360
 
9904
10361
 
10362
+
10363
+ /**
10364
+ * v2 APIs telemetry file: All of APIs in this capability file should send out API version v2 ONLY
10365
+ */
10366
+ const stageViewTelemetryVersionNumber = ApiVersionNumber.V_2;
9905
10367
  /**
9906
10368
  * Namespace to interact with the stage view specific part of the SDK.
9907
10369
  *
@@ -9945,7 +10407,7 @@ var stageView;
9945
10407
  if (!stageViewParams) {
9946
10408
  throw new Error('[stageView.open] Stage view params cannot be null');
9947
10409
  }
9948
- resolve(sendAndHandleSdkError('stageView.open', stageViewParams));
10410
+ resolve(sendAndHandleSdkErrorWithVersion(getApiVersionTag(stageViewTelemetryVersionNumber, ApiName.StageView_Open), 'stageView.open', stageViewParams));
9949
10411
  });
9950
10412
  }
9951
10413
  stageView.open = open;
@@ -9978,6 +10440,11 @@ var visualMedia_awaiter = (undefined && undefined.__awaiter) || function (thisAr
9978
10440
 
9979
10441
 
9980
10442
 
10443
+
10444
+ /**
10445
+ * v2 APIs telemetry file: All of APIs in this capability file should send out API version v2 ONLY
10446
+ */
10447
+ const visualMediaTelemetryVersionNumber = ApiVersionNumber.V_2;
9981
10448
  /**
9982
10449
  * @hidden
9983
10450
  * Interact with images. Allows the app developer ask the user to get images from their camera / camera roll / file system.
@@ -10031,7 +10498,7 @@ var visualMedia;
10031
10498
  throw errorNotSupportedOnPlatform;
10032
10499
  }
10033
10500
  const permissions = DevicePermission.Media;
10034
- return sendAndHandleSdkError('permissions.has', permissions);
10501
+ return sendAndHandleSdkErrorWithVersion(getApiVersionTag(visualMediaTelemetryVersionNumber, ApiName.VisualMedia_HasPermission), 'permissions.has', permissions);
10035
10502
  }
10036
10503
  visualMedia.hasPermission = hasPermission;
10037
10504
  /**
@@ -10049,7 +10516,7 @@ var visualMedia;
10049
10516
  throw errorNotSupportedOnPlatform;
10050
10517
  }
10051
10518
  const permissions = DevicePermission.Media;
10052
- return sendAndHandleSdkError('permissions.request', permissions);
10519
+ return sendAndHandleSdkErrorWithVersion(getApiVersionTag(visualMediaTelemetryVersionNumber, ApiName.VisualMedia_RequestPermission), 'permissions.request', permissions);
10053
10520
  }
10054
10521
  visualMedia.requestPermission = requestPermission;
10055
10522
  /**
@@ -10074,7 +10541,7 @@ var visualMedia;
10074
10541
  internalAPIs_ensureInitialized(runtime_runtime, FrameContexts.content, FrameContexts.task);
10075
10542
  ensureSupported();
10076
10543
  ensureImageInputValid(cameraImageInputs);
10077
- const files = yield sendAndHandleSdkError('visualMedia.image.captureImages', cameraImageInputs);
10544
+ const files = yield sendAndHandleSdkErrorWithVersion(getApiVersionTag(visualMediaTelemetryVersionNumber, ApiName.VisualMedia_Image_CaptureImages), 'visualMedia.image.captureImages', cameraImageInputs);
10078
10545
  ensureResponseValid(cameraImageInputs.maxVisualMediaCount, files);
10079
10546
  return files;
10080
10547
  });
@@ -10094,7 +10561,7 @@ var visualMedia;
10094
10561
  internalAPIs_ensureInitialized(runtime_runtime, FrameContexts.content, FrameContexts.task);
10095
10562
  ensureSupported();
10096
10563
  ensureImageInputValid(galleryImageInputs);
10097
- const files = yield sendAndHandleSdkError('visualMedia.image.retrieveImages', galleryImageInputs);
10564
+ const files = yield sendAndHandleSdkErrorWithVersion(getApiVersionTag(visualMediaTelemetryVersionNumber, ApiName.VisualMedia_Image_RetrieveImages), 'visualMedia.image.retrieveImages', galleryImageInputs);
10098
10565
  ensureResponseValid(galleryImageInputs.maxVisualMediaCount, files);
10099
10566
  return files;
10100
10567
  });
@@ -10254,7 +10721,7 @@ var call;
10254
10721
  }));
10255
10722
  }
10256
10723
  else {
10257
- return communication_sendMessageToParentWithVersion(apiVersionTag, 'call.startCall', [startCallParams], resolve);
10724
+ return sendMessageToParentWithVersion(apiVersionTag, 'call.startCall', [startCallParams], resolve);
10258
10725
  }
10259
10726
  });
10260
10727
  }
@@ -10358,12 +10825,18 @@ const Files3PLogger = getLogger('thirdPartyCloudStorage');
10358
10825
  */
10359
10826
  var thirdPartyCloudStorage;
10360
10827
  (function (thirdPartyCloudStorage) {
10361
- /** Get context callback function type */
10828
+ /**
10829
+ * Class to assemble files
10830
+ * @beta
10831
+ */
10832
+ class AttachmentListHelper {
10833
+ constructor(fileType, assembleAttachment) {
10834
+ this.fileType = fileType;
10835
+ this.assembleAttachment = assembleAttachment;
10836
+ }
10837
+ }
10362
10838
  let files = [];
10363
- let helper = {
10364
- fileType: '',
10365
- assembleAttachment: [],
10366
- };
10839
+ let helper = null;
10367
10840
  let lastChunkVal = true; // setting it to true so that the very first file and first chunk does not fail
10368
10841
  let callback = null;
10369
10842
  /**
@@ -10420,6 +10893,10 @@ var thirdPartyCloudStorage;
10420
10893
  }
10421
10894
  const assemble = decodeAttachment(fileResult.fileChunk, fileResult.fileType);
10422
10895
  if (assemble) {
10896
+ if (!helper) {
10897
+ // creating helper object for received file chunk
10898
+ helper = new AttachmentListHelper(fileResult.fileType, []);
10899
+ }
10423
10900
  helper.assembleAttachment.push(assemble);
10424
10901
  }
10425
10902
  else {
@@ -10433,7 +10910,7 @@ var thirdPartyCloudStorage;
10433
10910
  }
10434
10911
  // we will store this value to determine whether we received the last chunk of the previous file
10435
10912
  lastChunkVal = fileResult.fileChunk.endOfFile;
10436
- if (fileResult.fileChunk.endOfFile) {
10913
+ if (fileResult.fileChunk.endOfFile && helper) {
10437
10914
  const fileBlob = createFile(helper.assembleAttachment, helper.fileType);
10438
10915
  if (fileBlob) {
10439
10916
  // Convert blob to File
@@ -10448,10 +10925,7 @@ var thirdPartyCloudStorage;
10448
10925
  callback = null;
10449
10926
  lastChunkVal = true;
10450
10927
  }
10451
- helper = {
10452
- fileType: '',
10453
- assembleAttachment: [],
10454
- };
10928
+ helper = null;
10455
10929
  }
10456
10930
  }
10457
10931
  catch (e) {
@@ -10547,7 +11021,7 @@ function print() {
10547
11021
  */
10548
11022
  function getContext(callback) {
10549
11023
  ensureInitializeCalled();
10550
- communication_sendMessageToParentWithVersion(getApiVersionTag(publicAPIsTelemetryVersionNumber, ApiName.PublicAPIs_GetContext), 'getContext', (context) => {
11024
+ sendMessageToParentWithVersion(getApiVersionTag(publicAPIsTelemetryVersionNumber, ApiName.PublicAPIs_GetContext), 'getContext', (context) => {
10551
11025
  if (!context.frameContext) {
10552
11026
  // Fallback logic for frameContext properties
10553
11027
  context.frameContext = GlobalVars.frameContext;
@@ -10862,6 +11336,11 @@ function navigateBack(onComplete) {
10862
11336
 
10863
11337
 
10864
11338
 
11339
+
11340
+ /**
11341
+ * v1 APIs telemetry file: All of APIs in this capability file should send out API version v1 ONLY
11342
+ */
11343
+ const settingsTelemetryVersionNumber = ApiVersionNumber.V_1;
10865
11344
  /**
10866
11345
  * @deprecated
10867
11346
  * As of 2.0.0, please use {@link pages.config} namespace instead.
@@ -10881,7 +11360,7 @@ var settings;
10881
11360
  * @param validityState - Indicates whether the save or remove button is enabled for the user.
10882
11361
  */
10883
11362
  function setValidityState(validityState) {
10884
- pages.config.setValidityState(validityState);
11363
+ configSetValidityStateHelper(getApiVersionTag(settingsTelemetryVersionNumber, ApiName.Settings_SetValidityState), validityState);
10885
11364
  }
10886
11365
  settings.setValidityState = setValidityState;
10887
11366
  /**
@@ -10894,7 +11373,7 @@ var settings;
10894
11373
  */
10895
11374
  function getSettings(callback) {
10896
11375
  internalAPIs_ensureInitialized(runtime_runtime, FrameContexts.content, FrameContexts.settings, FrameContexts.remove, FrameContexts.sidePanel);
10897
- pages.getConfig().then((config) => {
11376
+ getConfigHelper(getApiVersionTag(settingsTelemetryVersionNumber, ApiName.Settings_GetSettings)).then((config) => {
10898
11377
  callback(config);
10899
11378
  });
10900
11379
  }
@@ -10911,8 +11390,7 @@ var settings;
10911
11390
  function setSettings(instanceSettings, onComplete) {
10912
11391
  internalAPIs_ensureInitialized(runtime_runtime, FrameContexts.content, FrameContexts.settings, FrameContexts.sidePanel);
10913
11392
  const completionHandler = onComplete !== null && onComplete !== void 0 ? onComplete : getGenericOnCompleteHandler();
10914
- pages.config
10915
- .setConfig(instanceSettings)
11393
+ configSetConfigHelper(getApiVersionTag(settingsTelemetryVersionNumber, ApiName.Settings_SetSettings), instanceSettings)
10916
11394
  .then(() => {
10917
11395
  completionHandler(true);
10918
11396
  })
@@ -10933,7 +11411,7 @@ var settings;
10933
11411
  * @param handler - The handler to invoke when the user selects the save button.
10934
11412
  */
10935
11413
  function registerOnSaveHandler(handler) {
10936
- pages.config.registerOnSaveHandlerHelper(handler);
11414
+ pages.config.registerOnSaveHandlerHelper(getApiVersionTag(settingsTelemetryVersionNumber, ApiName.Settings_RegisterOnSaveHandler), handler);
10937
11415
  }
10938
11416
  settings.registerOnSaveHandler = registerOnSaveHandler;
10939
11417
  /**
@@ -10948,7 +11426,7 @@ var settings;
10948
11426
  * @param handler - The handler to invoke when the user selects the remove button.
10949
11427
  */
10950
11428
  function registerOnRemoveHandler(handler) {
10951
- pages.config.registerOnRemoveHandlerHelper(handler);
11429
+ pages.config.registerOnRemoveHandlerHelper(getApiVersionTag(settingsTelemetryVersionNumber, ApiName.Settings_RegisterOnRemoveHandler), handler);
10952
11430
  }
10953
11431
  settings.registerOnRemoveHandler = registerOnRemoveHandler;
10954
11432
  })(settings || (settings = {}));
@@ -11009,11 +11487,11 @@ var tasks;
11009
11487
  : undefined;
11010
11488
  if (taskInfo.card === undefined && taskInfo.url === undefined) {
11011
11489
  internalAPIs_ensureInitialized(runtime_runtime, FrameContexts.content, FrameContexts.sidePanel, FrameContexts.meetingStage);
11012
- communication_sendMessageToParentWithVersion(apiVersionTag, 'tasks.startTask', [taskInfo], submitHandler);
11490
+ sendMessageToParentWithVersion(apiVersionTag, 'tasks.startTask', [taskInfo], submitHandler);
11013
11491
  }
11014
11492
  else if (taskInfo.card) {
11015
11493
  internalAPIs_ensureInitialized(runtime_runtime, FrameContexts.content, FrameContexts.sidePanel, FrameContexts.meetingStage);
11016
- communication_sendMessageToParentWithVersion(apiVersionTag, 'tasks.startTask', [taskInfo], submitHandler);
11494
+ sendMessageToParentWithVersion(apiVersionTag, 'tasks.startTask', [taskInfo], submitHandler);
11017
11495
  }
11018
11496
  else if (taskInfo.completionBotId !== undefined) {
11019
11497
  botUrlOpenHelper(apiVersionTag, getBotUrlDialogInfoFromTaskInfo(taskInfo), dialogSubmitHandler);
@@ -11115,6 +11593,11 @@ var tasks;
11115
11593
 
11116
11594
 
11117
11595
 
11596
+
11597
+ /**
11598
+ * v2 APIs telemetry file: All of APIs in this capability file should send out API version v2 ONLY
11599
+ */
11600
+ const interactiveTelemetryVersionNumber = ApiVersionNumber.V_2;
11118
11601
  /**
11119
11602
  * APIs involving Live Share, a framework for building real-time collaborative apps.
11120
11603
  * For more information, visit https://aka.ms/teamsliveshare
@@ -11207,7 +11690,7 @@ class LiveShareHost {
11207
11690
  getFluidTenantInfo() {
11208
11691
  ensureSupported();
11209
11692
  return new Promise((resolve) => {
11210
- resolve(sendAndHandleSdkError('interactive.getFluidTenantInfo'));
11693
+ resolve(sendAndHandleSdkErrorWithVersion(getApiVersionTag(interactiveTelemetryVersionNumber, ApiName.Interactive_GetFluidTenantInfo), 'interactive.getFluidTenantInfo'));
11211
11694
  });
11212
11695
  }
11213
11696
  /**
@@ -11220,8 +11703,9 @@ class LiveShareHost {
11220
11703
  getFluidToken(containerId) {
11221
11704
  ensureSupported();
11222
11705
  return new Promise((resolve) => {
11706
+ resolve(sendAndHandleSdkErrorWithVersion(getApiVersionTag(interactiveTelemetryVersionNumber, ApiName.Interactive_GetFluidToken), 'interactive.getFluidToken',
11223
11707
  // eslint-disable-next-line strict-null-checks/all
11224
- resolve(sendAndHandleSdkError('interactive.getFluidToken', containerId));
11708
+ containerId));
11225
11709
  });
11226
11710
  }
11227
11711
  /**
@@ -11231,7 +11715,7 @@ class LiveShareHost {
11231
11715
  getFluidContainerId() {
11232
11716
  ensureSupported();
11233
11717
  return new Promise((resolve) => {
11234
- resolve(sendAndHandleSdkError('interactive.getFluidContainerId'));
11718
+ resolve(sendAndHandleSdkErrorWithVersion(getApiVersionTag(interactiveTelemetryVersionNumber, ApiName.Interactive_GetFluidContainerId), 'interactive.getFluidContainerId'));
11235
11719
  });
11236
11720
  }
11237
11721
  /**
@@ -11247,7 +11731,7 @@ class LiveShareHost {
11247
11731
  setFluidContainerId(containerId) {
11248
11732
  ensureSupported();
11249
11733
  return new Promise((resolve) => {
11250
- resolve(sendAndHandleSdkError('interactive.setFluidContainerId', containerId));
11734
+ resolve(sendAndHandleSdkErrorWithVersion(getApiVersionTag(interactiveTelemetryVersionNumber, ApiName.Interactive_SetFluidContainerId), 'interactive.setFluidContainerId', containerId));
11251
11735
  });
11252
11736
  }
11253
11737
  /**
@@ -11257,7 +11741,7 @@ class LiveShareHost {
11257
11741
  getNtpTime() {
11258
11742
  ensureSupported();
11259
11743
  return new Promise((resolve) => {
11260
- resolve(sendAndHandleSdkError('interactive.getNtpTime'));
11744
+ resolve(sendAndHandleSdkErrorWithVersion(getApiVersionTag(interactiveTelemetryVersionNumber, ApiName.Interactive_GetNtpTime), 'interactive.getNtpTime'));
11261
11745
  });
11262
11746
  }
11263
11747
  /**
@@ -11270,7 +11754,7 @@ class LiveShareHost {
11270
11754
  registerClientId(clientId) {
11271
11755
  ensureSupported();
11272
11756
  return new Promise((resolve) => {
11273
- resolve(sendAndHandleSdkError('interactive.registerClientId', clientId));
11757
+ resolve(sendAndHandleSdkErrorWithVersion(getApiVersionTag(interactiveTelemetryVersionNumber, ApiName.Interactive_RegisterClientId), 'interactive.registerClientId', clientId));
11274
11758
  });
11275
11759
  }
11276
11760
  /**
@@ -11283,7 +11767,7 @@ class LiveShareHost {
11283
11767
  getClientRoles(clientId) {
11284
11768
  ensureSupported();
11285
11769
  return new Promise((resolve) => {
11286
- resolve(sendAndHandleSdkError('interactive.getClientRoles', clientId));
11770
+ resolve(sendAndHandleSdkErrorWithVersion(getApiVersionTag(interactiveTelemetryVersionNumber, ApiName.Interactive_GetClientRoles), 'interactive.getClientRoles', clientId));
11287
11771
  });
11288
11772
  }
11289
11773
  /**
@@ -11296,7 +11780,7 @@ class LiveShareHost {
11296
11780
  getClientInfo(clientId) {
11297
11781
  ensureSupported();
11298
11782
  return new Promise((resolve) => {
11299
- resolve(sendAndHandleSdkError('interactive.getClientInfo', clientId));
11783
+ resolve(sendAndHandleSdkErrorWithVersion(getApiVersionTag(interactiveTelemetryVersionNumber, ApiName.Interactive_GetClientInfo), 'interactive.getClientInfo', clientId));
11300
11784
  });
11301
11785
  }
11302
11786
  /**
@@ -12080,6 +12564,7 @@ var externalAppCardActions;
12080
12564
 
12081
12565
 
12082
12566
 
12567
+
12083
12568
  /**
12084
12569
  * @hidden
12085
12570
  *
@@ -12087,7 +12572,10 @@ var externalAppCardActions;
12087
12572
  *
12088
12573
  * @internal
12089
12574
  * Limited to Microsoft-internal use
12575
+ *
12576
+ * v1 APIs telemetry file: All of APIs in this capability file should send out API version v1 ONLY
12090
12577
  */
12578
+ const filesTelemetryVersionNumber = ApiVersionNumber.V_1;
12091
12579
  var files;
12092
12580
  (function (files_1) {
12093
12581
  /**
@@ -12185,7 +12673,9 @@ var files;
12185
12673
  * @hidden
12186
12674
  * Hide from docs
12187
12675
  *
12188
- * Gets a list of cloud storage folders added to the channel
12676
+ * Gets a list of cloud storage folders added to the channel. This function will not timeout;
12677
+ * the callback will only return when the host responds with a list of folders or error.
12678
+ *
12189
12679
  * @param channelId - ID of the channel whose cloud storage folders should be retrieved
12190
12680
  * @param callback - Callback that will be triggered post folders load
12191
12681
  *
@@ -12200,7 +12690,7 @@ var files;
12200
12690
  if (!callback) {
12201
12691
  throw new Error('[files.getCloudStorageFolders] Callback cannot be null');
12202
12692
  }
12203
- sendMessageToParent('files.getCloudStorageFolders', [channelId], callback);
12693
+ sendMessageToParentWithVersion(getApiVersionTag(filesTelemetryVersionNumber, ApiName.Files_GetCloudStorageFolders), 'files.getCloudStorageFolders', [channelId], callback);
12204
12694
  }
12205
12695
  files_1.getCloudStorageFolders = getCloudStorageFolders;
12206
12696
  /**
@@ -12223,7 +12713,7 @@ var files;
12223
12713
  if (!callback) {
12224
12714
  throw new Error('[files.addCloudStorageFolder] Callback cannot be null');
12225
12715
  }
12226
- sendMessageToParent('files.addCloudStorageFolder', [channelId], callback);
12716
+ sendMessageToParentWithVersion(getApiVersionTag(filesTelemetryVersionNumber, ApiName.Files_AddCloudStorageFolder), 'files.addCloudStorageFolder', [channelId], callback);
12227
12717
  }
12228
12718
  files_1.addCloudStorageFolder = addCloudStorageFolder;
12229
12719
  /**
@@ -12251,7 +12741,7 @@ var files;
12251
12741
  if (!callback) {
12252
12742
  throw new Error('[files.deleteCloudStorageFolder] Callback cannot be null');
12253
12743
  }
12254
- sendMessageToParent('files.deleteCloudStorageFolder', [channelId, folderToDelete], callback);
12744
+ sendMessageToParentWithVersion(getApiVersionTag(filesTelemetryVersionNumber, ApiName.Files_DeleteCloudStorageFolder), 'files.deleteCloudStorageFolder', [channelId, folderToDelete], callback);
12255
12745
  }
12256
12746
  files_1.deleteCloudStorageFolder = deleteCloudStorageFolder;
12257
12747
  /**
@@ -12279,7 +12769,7 @@ var files;
12279
12769
  if ('isSubdirectory' in folder && !folder.isSubdirectory) {
12280
12770
  throw new Error('[files.getCloudStorageFolderContents] provided folder is not a subDirectory');
12281
12771
  }
12282
- sendMessageToParent('files.getCloudStorageFolderContents', [folder, providerCode], callback);
12772
+ sendMessageToParentWithVersion(getApiVersionTag(filesTelemetryVersionNumber, ApiName.Files_GetCloudStorageFolderContents), 'files.getCloudStorageFolderContents', [folder, providerCode], callback);
12283
12773
  }
12284
12774
  files_1.getCloudStorageFolderContents = getCloudStorageFolderContents;
12285
12775
  /**
@@ -12304,7 +12794,7 @@ var files;
12304
12794
  if (file.isSubdirectory) {
12305
12795
  throw new Error('[files.openCloudStorageFile] provided file is a subDirectory');
12306
12796
  }
12307
- sendMessageToParent('files.openCloudStorageFile', [file, providerCode, fileOpenPreference]);
12797
+ sendMessageToParentWithVersion(getApiVersionTag(filesTelemetryVersionNumber, ApiName.Files_OpenCloudStorageFile), 'files.openCloudStorageFile', [file, providerCode, fileOpenPreference]);
12308
12798
  }
12309
12799
  files_1.openCloudStorageFile = openCloudStorageFile;
12310
12800
  /**
@@ -12322,7 +12812,7 @@ var files;
12322
12812
  if (!callback) {
12323
12813
  throw new Error('[files.getExternalProviders] Callback cannot be null');
12324
12814
  }
12325
- sendMessageToParent('files.getExternalProviders', [excludeAddedProviders], callback);
12815
+ sendMessageToParentWithVersion(getApiVersionTag(filesTelemetryVersionNumber, ApiName.Files_GetExternalProviders), 'files.getExternalProviders', [excludeAddedProviders], callback);
12326
12816
  }
12327
12817
  files_1.getExternalProviders = getExternalProviders;
12328
12818
  /**
@@ -12350,7 +12840,7 @@ var files;
12350
12840
  if (!callback) {
12351
12841
  throw new Error('[files.copyMoveFiles] callback cannot be null');
12352
12842
  }
12353
- sendMessageToParent('files.copyMoveFiles', [selectedFiles, providerCode, destinationFolder, destinationProviderCode, isMove], callback);
12843
+ sendMessageToParentWithVersion(getApiVersionTag(filesTelemetryVersionNumber, ApiName.Files_CopyMoveFiles), 'files.copyMoveFiles', [selectedFiles, providerCode, destinationFolder, destinationProviderCode, isMove], callback);
12354
12844
  }
12355
12845
  files_1.copyMoveFiles = copyMoveFiles;
12356
12846
  /**
@@ -12369,7 +12859,7 @@ var files;
12369
12859
  if (!callback) {
12370
12860
  throw new Error('[files.getFileDownloads] Callback cannot be null');
12371
12861
  }
12372
- sendMessageToParent('files.getFileDownloads', [], callback);
12862
+ sendMessageToParentWithVersion(getApiVersionTag(filesTelemetryVersionNumber, ApiName.Files_GetFileDownloads), 'files.getFileDownloads', [], callback);
12373
12863
  }
12374
12864
  files_1.getFileDownloads = getFileDownloads;
12375
12865
  /**
@@ -12388,7 +12878,7 @@ var files;
12388
12878
  if (!callback) {
12389
12879
  throw new Error('[files.openDownloadFolder] Callback cannot be null');
12390
12880
  }
12391
- sendMessageToParent('files.openDownloadFolder', [fileObjectId], callback);
12881
+ sendMessageToParentWithVersion(getApiVersionTag(filesTelemetryVersionNumber, ApiName.Files_OpenDownloadFolder), 'files.openDownloadFolder', [fileObjectId], callback);
12392
12882
  }
12393
12883
  files_1.openDownloadFolder = openDownloadFolder;
12394
12884
  /**
@@ -12412,7 +12902,7 @@ var files;
12412
12902
  if (!callback) {
12413
12903
  throw getSdkError(ErrorCode.INVALID_ARGUMENTS, '[files.addCloudStorageProvider] callback cannot be null');
12414
12904
  }
12415
- sendMessageToParent('files.addCloudStorageProvider', [], callback);
12905
+ sendMessageToParentWithVersion(getApiVersionTag(filesTelemetryVersionNumber, ApiName.Files_AddCloudStorageProvider), 'files.addCloudStorageProvider', [], callback);
12416
12906
  }
12417
12907
  files_1.addCloudStorageProvider = addCloudStorageProvider;
12418
12908
  /**
@@ -12437,7 +12927,7 @@ var files;
12437
12927
  if (!(logoutRequest && logoutRequest.content)) {
12438
12928
  throw getSdkError(ErrorCode.INVALID_ARGUMENTS, '[files.removeCloudStorageProvider] 3P cloud storage provider request content is missing');
12439
12929
  }
12440
- sendMessageToParent('files.removeCloudStorageProvider', [logoutRequest], callback);
12930
+ sendMessageToParentWithVersion(getApiVersionTag(filesTelemetryVersionNumber, ApiName.Files_RemoveCloudStorageProvider), 'files.removeCloudStorageProvider', [logoutRequest], callback);
12441
12931
  }
12442
12932
  files_1.removeCloudStorageProvider = removeCloudStorageProvider;
12443
12933
  /**
@@ -12460,7 +12950,7 @@ var files;
12460
12950
  if (!(addNewFileRequest && addNewFileRequest.content)) {
12461
12951
  throw getSdkError(ErrorCode.INVALID_ARGUMENTS, '[files.addCloudStorageProviderFile] 3P cloud storage provider request content is missing');
12462
12952
  }
12463
- sendMessageToParent('files.addCloudStorageProviderFile', [addNewFileRequest], callback);
12953
+ sendMessageToParentWithVersion(getApiVersionTag(filesTelemetryVersionNumber, ApiName.Files_AddCloudStorageProviderFile), 'files.addCloudStorageProviderFile', [addNewFileRequest], callback);
12464
12954
  }
12465
12955
  files_1.addCloudStorageProviderFile = addCloudStorageProviderFile;
12466
12956
  /**
@@ -12483,7 +12973,7 @@ var files;
12483
12973
  if (!(renameFileRequest && renameFileRequest.content)) {
12484
12974
  throw getSdkError(ErrorCode.INVALID_ARGUMENTS, '[files.renameCloudStorageProviderFile] 3P cloud storage provider request content is missing');
12485
12975
  }
12486
- sendMessageToParent('files.renameCloudStorageProviderFile', [renameFileRequest], callback);
12976
+ sendMessageToParentWithVersion(getApiVersionTag(filesTelemetryVersionNumber, ApiName.Files_RenameCloudStorageProviderFile), 'files.renameCloudStorageProviderFile', [renameFileRequest], callback);
12487
12977
  }
12488
12978
  files_1.renameCloudStorageProviderFile = renameCloudStorageProviderFile;
12489
12979
  /**
@@ -12510,7 +13000,7 @@ var files;
12510
13000
  deleteFileRequest.content.itemList.length > 0)) {
12511
13001
  throw getSdkError(ErrorCode.INVALID_ARGUMENTS, '[files.deleteCloudStorageProviderFile] 3P cloud storage provider request content details are missing');
12512
13002
  }
12513
- sendMessageToParent('files.deleteCloudStorageProviderFile', [deleteFileRequest], callback);
13003
+ sendMessageToParentWithVersion(getApiVersionTag(filesTelemetryVersionNumber, ApiName.Files_DeleteCloudStorageProviderFile), 'files.deleteCloudStorageProviderFile', [deleteFileRequest], callback);
12514
13004
  }
12515
13005
  files_1.deleteCloudStorageProviderFile = deleteCloudStorageProviderFile;
12516
13006
  /**
@@ -12537,7 +13027,7 @@ var files;
12537
13027
  downloadFileRequest.content.itemList.length > 0)) {
12538
13028
  throw getSdkError(ErrorCode.INVALID_ARGUMENTS, '[files.downloadCloudStorageProviderFile] 3P cloud storage provider request content details are missing');
12539
13029
  }
12540
- sendMessageToParent('files.downloadCloudStorageProviderFile', [downloadFileRequest], callback);
13030
+ sendMessageToParentWithVersion(getApiVersionTag(filesTelemetryVersionNumber, ApiName.Files_DownloadCloudStorageProviderFile), 'files.downloadCloudStorageProviderFile', [downloadFileRequest], callback);
12541
13031
  }
12542
13032
  files_1.downloadCloudStorageProviderFile = downloadCloudStorageProviderFile;
12543
13033
  /**
@@ -12567,7 +13057,7 @@ var files;
12567
13057
  if (!uploadFileRequest.content.destinationFolder) {
12568
13058
  throw getSdkError(ErrorCode.INVALID_ARGUMENTS, '[files.uploadCloudStorageProviderFile] Invalid destination folder details');
12569
13059
  }
12570
- sendMessageToParent('files.uploadCloudStorageProviderFile', [uploadFileRequest], callback);
13060
+ sendMessageToParentWithVersion(getApiVersionTag(filesTelemetryVersionNumber, ApiName.Files_UploadCloudStorageProviderFile), 'files.uploadCloudStorageProviderFile', [uploadFileRequest], callback);
12571
13061
  }
12572
13062
  files_1.uploadCloudStorageProviderFile = uploadCloudStorageProviderFile;
12573
13063
  /**
@@ -12586,7 +13076,7 @@ var files;
12586
13076
  if (!handler) {
12587
13077
  throw new Error('[registerCloudStorageProviderListChangeHandler] Handler cannot be null');
12588
13078
  }
12589
- registerHandler('files.cloudStorageProviderListChange', handler);
13079
+ registerHandlerWithVersion(getApiVersionTag(filesTelemetryVersionNumber, ApiName.Files_RegisterCloudStorageProviderListChangeHandler), 'files.cloudStorageProviderListChange', handler);
12590
13080
  }
12591
13081
  files_1.registerCloudStorageProviderListChangeHandler = registerCloudStorageProviderListChangeHandler;
12592
13082
  /**
@@ -12606,7 +13096,7 @@ var files;
12606
13096
  if (!handler) {
12607
13097
  throw new Error('[registerCloudStorageProviderContentChangeHandler] Handler cannot be null');
12608
13098
  }
12609
- registerHandler('files.cloudStorageProviderContentChange', handler);
13099
+ registerHandlerWithVersion(getApiVersionTag(filesTelemetryVersionNumber, ApiName.Files_RegisterCloudStorageProviderContentChangeHandler), 'files.cloudStorageProviderContentChange', handler);
12610
13100
  }
12611
13101
  files_1.registerCloudStorageProviderContentChangeHandler = registerCloudStorageProviderContentChangeHandler;
12612
13102
  function getSdkError(errorCode, message) {
@@ -12624,12 +13114,16 @@ var files;
12624
13114
 
12625
13115
 
12626
13116
 
13117
+
12627
13118
  /**
12628
13119
  * @hidden
12629
13120
  *
12630
13121
  * @internal
12631
13122
  * Limited to Microsoft-internal use
13123
+ *
13124
+ * v1 APIs telemetry file: All of APIs in this capability file should send out API version v1 ONLY
12632
13125
  */
13126
+ const meetingRoomTelemetryVersionNumber = ApiVersionNumber.V_1;
12633
13127
  var meetingRoom;
12634
13128
  (function (meetingRoom) {
12635
13129
  /**
@@ -12647,7 +13141,7 @@ var meetingRoom;
12647
13141
  if (!isSupported()) {
12648
13142
  throw errorNotSupportedOnPlatform;
12649
13143
  }
12650
- resolve(sendAndHandleSdkError('meetingRoom.getPairedMeetingRoomInfo'));
13144
+ resolve(sendAndHandleSdkErrorWithVersion(getApiVersionTag(meetingRoomTelemetryVersionNumber, ApiName.MeetingRoom_GetPairedMeetingRoomInfo), 'meetingRoom.getPairedMeetingRoomInfo'));
12651
13145
  });
12652
13146
  }
12653
13147
  meetingRoom.getPairedMeetingRoomInfo = getPairedMeetingRoomInfo;
@@ -12670,7 +13164,7 @@ var meetingRoom;
12670
13164
  if (!isSupported()) {
12671
13165
  throw errorNotSupportedOnPlatform;
12672
13166
  }
12673
- resolve(sendAndHandleSdkError('meetingRoom.sendCommandToPairedMeetingRoom', commandName));
13167
+ resolve(sendAndHandleSdkErrorWithVersion(getApiVersionTag(meetingRoomTelemetryVersionNumber, ApiName.MeetingRoom_SendCommandToPairedMeetingRoom), 'meetingRoom.sendCommandToPairedMeetingRoom', commandName));
12674
13168
  });
12675
13169
  }
12676
13170
  meetingRoom.sendCommandToPairedMeetingRoom = sendCommandToPairedMeetingRoom;
@@ -12692,7 +13186,7 @@ var meetingRoom;
12692
13186
  if (!isSupported()) {
12693
13187
  throw errorNotSupportedOnPlatform;
12694
13188
  }
12695
- registerHandler('meetingRoom.meetingRoomCapabilitiesUpdate', (capabilities) => {
13189
+ registerHandlerWithVersion(getApiVersionTag(meetingRoomTelemetryVersionNumber, ApiName.MeetingRoom_RegisterMeetingRoomCapabilitiesUpdateHandler), 'meetingRoom.meetingRoomCapabilitiesUpdate', (capabilities) => {
12696
13190
  internalAPIs_ensureInitialized(runtime_runtime);
12697
13191
  handler(capabilities);
12698
13192
  });
@@ -12717,7 +13211,7 @@ var meetingRoom;
12717
13211
  if (!isSupported()) {
12718
13212
  throw errorNotSupportedOnPlatform;
12719
13213
  }
12720
- registerHandler('meetingRoom.meetingRoomStatesUpdate', (states) => {
13214
+ registerHandlerWithVersion(getApiVersionTag(meetingRoomTelemetryVersionNumber, ApiName.MeetingRoom_RegisterMeetingRoomStatesUpdateHandler), 'meetingRoom.meetingRoomStatesUpdate', (states) => {
12721
13215
  internalAPIs_ensureInitialized(runtime_runtime);
12722
13216
  handler(states);
12723
13217
  });
@@ -12745,13 +13239,17 @@ var meetingRoom;
12745
13239
 
12746
13240
 
12747
13241
 
13242
+
12748
13243
  /**
12749
13244
  * @hidden
12750
13245
  * Hidden from Docs
12751
13246
  *
12752
13247
  * @internal
12753
13248
  * Limited to Microsoft-internal use
13249
+ *
13250
+ * v1 APIs telemetry file: All of APIs in this capability file should send out API version v1 ONLY
12754
13251
  */
13252
+ const notificationsTelemetryVersionNumber = ApiVersionNumber.V_1;
12755
13253
  var notifications;
12756
13254
  (function (notifications) {
12757
13255
  /**
@@ -12769,7 +13267,7 @@ var notifications;
12769
13267
  if (!isSupported()) {
12770
13268
  throw errorNotSupportedOnPlatform;
12771
13269
  }
12772
- sendMessageToParent('notifications.showNotification', [showNotificationParameters]);
13270
+ sendMessageToParentWithVersion(getApiVersionTag(notificationsTelemetryVersionNumber, ApiName.Notifications_ShowNotification), 'notifications.showNotification', [showNotificationParameters]);
12773
13271
  }
12774
13272
  notifications.showNotification = showNotification;
12775
13273
  /**
@@ -13101,7 +13599,7 @@ var appEntity;
13101
13599
  if (!callback) {
13102
13600
  throw new Error('[appEntity.selectAppEntity] Callback cannot be null');
13103
13601
  }
13104
- communication_sendMessageToParentWithVersion(getApiVersionTag(appEntityTelemetryVersionNumber, ApiName.AppEntity_SelectAppEntity), 'appEntity.selectAppEntity', [threadId, categories, subEntityId], callback);
13602
+ sendMessageToParentWithVersion(getApiVersionTag(appEntityTelemetryVersionNumber, ApiName.AppEntity_SelectAppEntity), 'appEntity.selectAppEntity', [threadId, categories, subEntityId], callback);
13105
13603
  }
13106
13604
  appEntity_1.selectAppEntity = selectAppEntity;
13107
13605
  /**
@@ -13346,7 +13844,7 @@ var videoEffectsEx;
13346
13844
  videoEffectsEx.frameProcessingTimeoutInMs = 2000;
13347
13845
  const videoPerformanceMonitor = inServerSideRenderingEnvironment()
13348
13846
  ? undefined
13349
- : new VideoPerformanceMonitor(sendMessageToParent);
13847
+ : new VideoPerformanceMonitor(sendMessageToParentWithVersion);
13350
13848
  /**
13351
13849
  * @hidden
13352
13850
  * Error level when notifying errors to the host, the host will decide what to do acording to the error level.