@microsoft/teams-js 2.25.0 → 2.26.0-beta.1
Sign up to get free protection for your applications and to get access to all the features.
package/dist/MicrosoftTeams.d.ts
CHANGED
@@ -2756,6 +2756,15 @@ export namespace videoEffectsEx {
|
|
2756
2756
|
* Limited to Microsoft-internal use
|
2757
2757
|
*/
|
2758
2758
|
audioInferenceModel?: ArrayBuffer;
|
2759
|
+
/**
|
2760
|
+
* @hidden
|
2761
|
+
* Specifies additional capabilities that should be applied to the video frame
|
2762
|
+
* @beta
|
2763
|
+
*
|
2764
|
+
* @internal
|
2765
|
+
* Limited to Microsoft-internal use
|
2766
|
+
*/
|
2767
|
+
requiredCapabilities?: string[];
|
2759
2768
|
}
|
2760
2769
|
/**
|
2761
2770
|
* @hidden
|
@@ -2806,6 +2815,15 @@ export namespace videoEffectsEx {
|
|
2806
2815
|
* Limited to Microsoft-internal use
|
2807
2816
|
*/
|
2808
2817
|
audioInferenceResult?: Uint8Array;
|
2818
|
+
/**
|
2819
|
+
* @hidden
|
2820
|
+
* Additional metadata determined by capabilities specified in {@linkcode VideoFrameConfig.requiredCapabilities}
|
2821
|
+
* @beta
|
2822
|
+
*
|
2823
|
+
* @internal
|
2824
|
+
* Limited to Microsoft-internal use
|
2825
|
+
*/
|
2826
|
+
attributes?: ReadonlyMap<string, Uint8Array>;
|
2809
2827
|
};
|
2810
2828
|
/**
|
2811
2829
|
* @hidden
|
@@ -3027,6 +3045,9 @@ export namespace authentication {
|
|
3027
3045
|
*
|
3028
3046
|
* @returns Promise that resolves with the {@link UserProfile}.
|
3029
3047
|
*
|
3048
|
+
* @throws `Error` object in case of any problems, the most likely of which is that the calling app does not have appropriate permissions
|
3049
|
+
* to call this method.
|
3050
|
+
*
|
3030
3051
|
* @internal
|
3031
3052
|
* Limited to Microsoft-internal use
|
3032
3053
|
*/
|
@@ -3039,6 +3060,10 @@ export namespace authentication {
|
|
3039
3060
|
* Requests the decoded Microsoft Entra user identity on behalf of the app.
|
3040
3061
|
*
|
3041
3062
|
* @param userRequest - It passes success/failure callbacks in the userRequest object(deprecated)
|
3063
|
+
*
|
3064
|
+
* @throws `Error` object in case of any problems, the most likely of which is that the calling app does not have appropriate permissions
|
3065
|
+
* to call this method.
|
3066
|
+
*
|
3042
3067
|
* @internal
|
3043
3068
|
* Limited to Microsoft-internal use
|
3044
3069
|
*/
|
@@ -5791,11 +5816,11 @@ export namespace pages {
|
|
5791
5816
|
*/
|
5792
5817
|
function getConfig(): Promise<InstanceConfig>;
|
5793
5818
|
/**
|
5794
|
-
*
|
5795
|
-
*
|
5796
|
-
*
|
5797
|
-
*
|
5798
|
-
*
|
5819
|
+
* @deprecated
|
5820
|
+
* As of 2.0.0, this API is deprecated and can be replaced by the standard JavaScript
|
5821
|
+
* API, window.location.href, when navigating the app to a new cross-domain URL. Any URL
|
5822
|
+
* that is redirected to must be listed in the validDomains block of the manifest. Please
|
5823
|
+
* remove any calls to this API.
|
5799
5824
|
* @param url - The URL to navigate the frame to.
|
5800
5825
|
* @returns Promise that resolves when the navigation has completed.
|
5801
5826
|
*/
|
@@ -5856,6 +5881,11 @@ export namespace pages {
|
|
5856
5881
|
* For apps installed as a channel tab, this ID can be supplied to indicate in which Teams channel the app should be opened
|
5857
5882
|
*/
|
5858
5883
|
channelId?: string;
|
5884
|
+
/**
|
5885
|
+
* Optional ID of the chat or meeting where the app should be opened
|
5886
|
+
|
5887
|
+
*/
|
5888
|
+
chatId?: string;
|
5859
5889
|
}
|
5860
5890
|
/**
|
5861
5891
|
* Provides APIs for querying and navigating between contextual tabs of an application. Unlike personal tabs,
|
@@ -9526,14 +9556,10 @@ export function returnFocus(navigateForward?: boolean): void;
|
|
9526
9556
|
export function navigateToTab(tabInstance: TabInstance, onComplete?: onCompleteHandlerFunctionType): void;
|
9527
9557
|
/**
|
9528
9558
|
* @deprecated
|
9529
|
-
* As of
|
9530
|
-
*
|
9531
|
-
*
|
9532
|
-
*
|
9533
|
-
* thrown. This function needs to be used only when navigating the frame to a URL in a different domain
|
9534
|
-
* than the current one in a way that keeps the app informed of the change and allows the SDK to
|
9535
|
-
* continue working.
|
9536
|
-
*
|
9559
|
+
* As of 2.0.0, this API is deprecated and can be replaced by the standard JavaScript
|
9560
|
+
* API, window.location.href, when navigating the app to a new cross-domain URL. Any URL
|
9561
|
+
* that is redirected to must be listed in the validDomains block of the manifest. Please
|
9562
|
+
* remove any calls to this API.
|
9537
9563
|
* @param url - The URL to navigate the frame to.
|
9538
9564
|
* @param onComplete - The callback to invoke when the action is complete.
|
9539
9565
|
*/
|
package/dist/MicrosoftTeams.js
CHANGED
@@ -169,7 +169,7 @@ function fromByteArray (uint8) {
|
|
169
169
|
|
170
170
|
/***/ }),
|
171
171
|
|
172
|
-
/***/
|
172
|
+
/***/ 815:
|
173
173
|
/***/ ((module, exports, __webpack_require__) => {
|
174
174
|
|
175
175
|
/* eslint-env browser */
|
@@ -426,7 +426,7 @@ function localstorage() {
|
|
426
426
|
}
|
427
427
|
}
|
428
428
|
|
429
|
-
module.exports = __webpack_require__(
|
429
|
+
module.exports = __webpack_require__(530)(exports);
|
430
430
|
|
431
431
|
const {formatters} = module.exports;
|
432
432
|
|
@@ -445,7 +445,7 @@ formatters.j = function (v) {
|
|
445
445
|
|
446
446
|
/***/ }),
|
447
447
|
|
448
|
-
/***/
|
448
|
+
/***/ 530:
|
449
449
|
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
450
450
|
|
451
451
|
|
@@ -1090,8 +1090,8 @@ __webpack_require__.d(__webpack_exports__, {
|
|
1090
1090
|
webStorage: () => (/* reexport */ webStorage)
|
1091
1091
|
});
|
1092
1092
|
|
1093
|
-
// EXTERNAL MODULE: ../../node_modules/.pnpm/debug@4.3.
|
1094
|
-
var browser = __webpack_require__(
|
1093
|
+
// EXTERNAL MODULE: ../../node_modules/.pnpm/debug@4.3.5/node_modules/debug/src/browser.js
|
1094
|
+
var browser = __webpack_require__(815);
|
1095
1095
|
;// CONCATENATED MODULE: ./src/internal/telemetry.ts
|
1096
1096
|
|
1097
1097
|
const topLevelLogger = (0,browser.debug)('teamsJs');
|
@@ -1130,7 +1130,7 @@ function isFollowingApiVersionTagFormat(apiVersionTag) {
|
|
1130
1130
|
}
|
1131
1131
|
|
1132
1132
|
;// CONCATENATED MODULE: ./src/artifactsForCDN/validDomains.json
|
1133
|
-
const validDomains_namespaceObject = /*#__PURE__*/JSON.parse('{"validOrigins":["teams.microsoft.com","teams.microsoft.us","gov.teams.microsoft.us","dod.teams.microsoft.us","int.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","*.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","
|
1133
|
+
const validDomains_namespaceObject = /*#__PURE__*/JSON.parse('{"validOrigins":["teams.microsoft.com","teams.microsoft.us","gov.teams.microsoft.us","dod.teams.microsoft.us","int.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","*.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","*.cloud.microsoft","copilot.microsoft.com","windows.msn.com","fa000000125.resources.office.net","fa000000129.resources.office.net","fa000000124.resources.office.net","fa000000128.resources.office.net","fa000000136.resources.office.net"]}');
|
1134
1134
|
var artifactsForCDN_validDomains_namespaceObject = /*#__PURE__*/__webpack_require__.t(validDomains_namespaceObject, 2);
|
1135
1135
|
;// CONCATENATED MODULE: ./src/internal/constants.ts
|
1136
1136
|
|
@@ -2810,8 +2810,8 @@ function createTeamsAppLink(params) {
|
|
2810
2810
|
if (params.webUrl) {
|
2811
2811
|
url.searchParams.append('webUrl', params.webUrl);
|
2812
2812
|
}
|
2813
|
-
if (params.channelId || params.subPageId) {
|
2814
|
-
url.searchParams.append('context', JSON.stringify({ channelId: params.channelId, subEntityId: params.subPageId }));
|
2813
|
+
if (params.chatId || params.channelId || params.subPageId) {
|
2814
|
+
url.searchParams.append('context', JSON.stringify({ chatId: params.chatId, channelId: params.channelId, subEntityId: params.subPageId }));
|
2815
2815
|
}
|
2816
2816
|
return url.toString();
|
2817
2817
|
}
|
@@ -3395,7 +3395,7 @@ const _minRuntimeConfigToUninitialize = {
|
|
3395
3395
|
* @hidden
|
3396
3396
|
* Package version.
|
3397
3397
|
*/
|
3398
|
-
const version = "2.
|
3398
|
+
const version = "2.26.0-beta.1";
|
3399
3399
|
|
3400
3400
|
;// CONCATENATED MODULE: ./src/internal/internalAPIs.ts
|
3401
3401
|
|
@@ -3553,11 +3553,11 @@ function prefetchOriginsFromCDN() {
|
|
3553
3553
|
});
|
3554
3554
|
}
|
3555
3555
|
function isValidOriginsCacheEmpty() {
|
3556
|
-
return validOriginsCache.length
|
3556
|
+
return validOriginsCache.length === 0;
|
3557
3557
|
}
|
3558
3558
|
function getValidOriginsListFromCDN() {
|
3559
3559
|
return __awaiter(this, void 0, void 0, function* () {
|
3560
|
-
if (isValidOriginsCacheEmpty()) {
|
3560
|
+
if (!isValidOriginsCacheEmpty()) {
|
3561
3561
|
return validOriginsCache;
|
3562
3562
|
}
|
3563
3563
|
if (!inServerSideRenderingEnvironment()) {
|
@@ -4014,11 +4014,12 @@ var authentication;
|
|
4014
4014
|
return value;
|
4015
4015
|
})
|
4016
4016
|
.catch((err) => {
|
4017
|
+
const errorMessage = `Error returned, code = ${err.errorCode}, message = ${err.message}`;
|
4017
4018
|
if (userRequest && userRequest.failureCallback) {
|
4018
|
-
userRequest.failureCallback(
|
4019
|
+
userRequest.failureCallback(errorMessage);
|
4019
4020
|
return null;
|
4020
4021
|
}
|
4021
|
-
throw
|
4022
|
+
throw new Error(errorMessage);
|
4022
4023
|
});
|
4023
4024
|
}
|
4024
4025
|
authentication.getUser = getUser;
|
@@ -4030,7 +4031,7 @@ var authentication;
|
|
4030
4031
|
return result;
|
4031
4032
|
}
|
4032
4033
|
else {
|
4033
|
-
throw
|
4034
|
+
throw result;
|
4034
4035
|
}
|
4035
4036
|
});
|
4036
4037
|
}
|
@@ -5596,11 +5597,11 @@ var pages;
|
|
5596
5597
|
}
|
5597
5598
|
pages.getConfig = getConfig;
|
5598
5599
|
/**
|
5599
|
-
*
|
5600
|
-
*
|
5601
|
-
*
|
5602
|
-
*
|
5603
|
-
*
|
5600
|
+
* @deprecated
|
5601
|
+
* As of 2.0.0, this API is deprecated and can be replaced by the standard JavaScript
|
5602
|
+
* API, window.location.href, when navigating the app to a new cross-domain URL. Any URL
|
5603
|
+
* that is redirected to must be listed in the validDomains block of the manifest. Please
|
5604
|
+
* remove any calls to this API.
|
5604
5605
|
* @param url - The URL to navigate the frame to.
|
5605
5606
|
* @returns Promise that resolves when the navigation has completed.
|
5606
5607
|
*/
|
@@ -7039,7 +7040,15 @@ function shouldProcessMessage(messageSource, messageOrigin) {
|
|
7039
7040
|
return true;
|
7040
7041
|
}
|
7041
7042
|
else {
|
7042
|
-
|
7043
|
+
let messageOriginURL;
|
7044
|
+
try {
|
7045
|
+
messageOriginURL = new URL(messageOrigin);
|
7046
|
+
}
|
7047
|
+
catch (_) {
|
7048
|
+
shouldProcessMessageLogger('Message has an invalid origin of %s', messageOrigin);
|
7049
|
+
return false;
|
7050
|
+
}
|
7051
|
+
const isOriginValid = yield validateOrigin(messageOriginURL);
|
7043
7052
|
if (!isOriginValid) {
|
7044
7053
|
shouldProcessMessageLogger('Message has an invalid origin of %s', messageOrigin);
|
7045
7054
|
}
|
@@ -10347,6 +10356,7 @@ class OneTextureMetadata {
|
|
10347
10356
|
// Stream id for audio inference metadata, which is the 4-byte ASCII string "1dia" hardcoded by the host
|
10348
10357
|
// (1dia stands for "audio inference data version 1")
|
10349
10358
|
this.AUDIO_INFERENCE_RESULT_STREAM_ID = 0x31646961;
|
10359
|
+
this.ATTRIBUTE_ID_MAP_STREAM_ID = 0x4d444941;
|
10350
10360
|
const metadataDataView = new Uint32Array(metadataBuffer);
|
10351
10361
|
for (let i = 0, index = 0; i < streamCount; i++) {
|
10352
10362
|
const streamId = metadataDataView[index++];
|
@@ -10359,6 +10369,48 @@ class OneTextureMetadata {
|
|
10359
10369
|
get audioInferenceResult() {
|
10360
10370
|
return this.metadataMap.get(this.AUDIO_INFERENCE_RESULT_STREAM_ID);
|
10361
10371
|
}
|
10372
|
+
/**
|
10373
|
+
* @hidden
|
10374
|
+
* Additional attributes on the video frame are string-indexed, with their stream Id dynamically generated.
|
10375
|
+
* The mapping of attribute Ids to their stream Ids is itself stored as frame metadata with layout:
|
10376
|
+
*
|
10377
|
+
* | attribute count | attribute stream Id | attribute id | ... |
|
10378
|
+
* | :---: | :---: | :---: | :---: |
|
10379
|
+
* | 4 bytes | 4 bytes | variable length string (null terminated, 4 byte aligned) | ... |
|
10380
|
+
*
|
10381
|
+
*
|
10382
|
+
* @internal
|
10383
|
+
* Limited to Microsoft-internal use
|
10384
|
+
*/
|
10385
|
+
get attributes() {
|
10386
|
+
const data = this.metadataMap.get(this.ATTRIBUTE_ID_MAP_STREAM_ID);
|
10387
|
+
if (data === undefined) {
|
10388
|
+
return undefined;
|
10389
|
+
}
|
10390
|
+
const map = new Map();
|
10391
|
+
const textDecoder = new TextDecoder('utf-8');
|
10392
|
+
let offset = 0;
|
10393
|
+
const count = data[offset] + (data[++offset] << 8) + (data[++offset] << 16) + (data[++offset] << 24);
|
10394
|
+
for (let i = 0; i < count && offset < data.length - 1; i++) {
|
10395
|
+
const streamId = data[++offset] + (data[++offset] << 8) + (data[++offset] << 16) + (data[++offset] << 24);
|
10396
|
+
// Find start of null-terminator for the subsequent variable-length string entry
|
10397
|
+
const nullTerminatorStartIndex = data.findIndex((value, index, _) => {
|
10398
|
+
return value == 0 && index > offset;
|
10399
|
+
});
|
10400
|
+
const attributeId = textDecoder.decode(data.slice(++offset, nullTerminatorStartIndex));
|
10401
|
+
// Read attribute value from metadata map
|
10402
|
+
const metadata = this.metadataMap.get(streamId);
|
10403
|
+
if (metadata !== undefined) {
|
10404
|
+
map.set(attributeId, metadata);
|
10405
|
+
}
|
10406
|
+
// Variable length attribute Id strings are null-terminated to a 4-byte alignment
|
10407
|
+
const stringByteLength = nullTerminatorStartIndex - offset;
|
10408
|
+
const paddingSize = 4 - (stringByteLength % 4);
|
10409
|
+
// Set offset to index of last trailing zero
|
10410
|
+
offset = nullTerminatorStartIndex + (paddingSize - 1);
|
10411
|
+
}
|
10412
|
+
return map;
|
10413
|
+
}
|
10362
10414
|
}
|
10363
10415
|
class TransformerWithMetadata {
|
10364
10416
|
constructor(notifyError, videoFrameHandler) {
|
@@ -10369,8 +10421,8 @@ class TransformerWithMetadata {
|
|
10369
10421
|
const timestamp = originalFrame.timestamp;
|
10370
10422
|
if (timestamp !== null) {
|
10371
10423
|
try {
|
10372
|
-
const { videoFrame, metadata: { audioInferenceResult } = {} } = yield this.extractVideoFrameAndMetadata(originalFrame);
|
10373
|
-
const frameProcessedByApp = yield this.videoFrameHandler({ videoFrame, audioInferenceResult });
|
10424
|
+
const { videoFrame, metadata: { audioInferenceResult, attributes } = {} } = yield this.extractVideoFrameAndMetadata(originalFrame);
|
10425
|
+
const frameProcessedByApp = yield this.videoFrameHandler({ videoFrame, audioInferenceResult, attributes });
|
10374
10426
|
// the current typescript version(4.6.4) dosn't support webcodecs API fully, we have to do type conversion here.
|
10375
10427
|
const processedFrame = new VideoFrame(frameProcessedByApp, {
|
10376
10428
|
// we need the timestamp to be unchanged from the oirginal frame, so we explicitly set it here.
|
@@ -10467,6 +10519,7 @@ class TransformerWithMetadata {
|
|
10467
10519
|
}),
|
10468
10520
|
metadata: {
|
10469
10521
|
audioInferenceResult: this.shouldDiscardAudioInferenceResult ? undefined : metadata.audioInferenceResult,
|
10522
|
+
attributes: metadata.attributes,
|
10470
10523
|
},
|
10471
10524
|
};
|
10472
10525
|
});
|
@@ -14836,14 +14889,10 @@ function navigateToTab(tabInstance, onComplete) {
|
|
14836
14889
|
}
|
14837
14890
|
/**
|
14838
14891
|
* @deprecated
|
14839
|
-
* As of
|
14840
|
-
*
|
14841
|
-
*
|
14842
|
-
*
|
14843
|
-
* thrown. This function needs to be used only when navigating the frame to a URL in a different domain
|
14844
|
-
* than the current one in a way that keeps the app informed of the change and allows the SDK to
|
14845
|
-
* continue working.
|
14846
|
-
*
|
14892
|
+
* As of 2.0.0, this API is deprecated and can be replaced by the standard JavaScript
|
14893
|
+
* API, window.location.href, when navigating the app to a new cross-domain URL. Any URL
|
14894
|
+
* that is redirected to must be listed in the validDomains block of the manifest. Please
|
14895
|
+
* remove any calls to this API.
|
14847
14896
|
* @param url - The URL to navigate the frame to.
|
14848
14897
|
* @param onComplete - The callback to invoke when the action is complete.
|
14849
14898
|
*/
|