@microsoft/teams-js 2.35.0 → 2.36.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.
Files changed (43) hide show
  1. package/README.md +4 -4
  2. package/dist/esm/packages/teams-js/dts/internal/childCommunication.d.ts +1 -1
  3. package/dist/esm/packages/teams-js/dts/internal/communication.d.ts +1 -1
  4. package/dist/esm/packages/teams-js/dts/internal/globalVars.d.ts +1 -0
  5. package/dist/esm/packages/teams-js/dts/internal/{appIdValidation.d.ts → idValidation.d.ts} +12 -1
  6. package/dist/esm/packages/teams-js/dts/internal/messageObjects.d.ts +1 -0
  7. package/dist/esm/packages/teams-js/dts/internal/nestedAppAuthUtils.d.ts +3 -1
  8. package/dist/esm/packages/teams-js/dts/internal/telemetry.d.ts +3 -0
  9. package/dist/esm/packages/teams-js/dts/private/externalAppCardActionsForDA.d.ts +75 -0
  10. package/dist/esm/packages/teams-js/dts/private/externalAppErrorHandling.d.ts +19 -0
  11. package/dist/esm/packages/teams-js/dts/private/index.d.ts +2 -0
  12. package/dist/esm/packages/teams-js/dts/private/nestedAppAuth/nestedAppAuthBridge.d.ts +32 -0
  13. package/dist/esm/packages/teams-js/dts/public/appId.d.ts +6 -11
  14. package/dist/esm/packages/teams-js/dts/public/featureFlags.d.ts +44 -0
  15. package/dist/esm/packages/teams-js/dts/public/index.d.ts +2 -0
  16. package/dist/esm/packages/teams-js/dts/public/nestedAppAuth.d.ts +56 -5
  17. package/dist/esm/packages/teams-js/dts/public/runtime.d.ts +3 -0
  18. package/dist/esm/packages/teams-js/dts/public/uuidObject.d.ts +15 -1
  19. package/dist/esm/packages/teams-js/dts/public/validatedSafeString.d.ts +25 -0
  20. package/dist/esm/packages/teams-js/src/index.js +1 -1
  21. package/dist/esm/packages/teams-js/src/internal/childCommunication.js +1 -1
  22. package/dist/esm/packages/teams-js/src/internal/communication.js +1 -1
  23. package/dist/esm/packages/teams-js/src/internal/globalVars.js +1 -1
  24. package/dist/esm/packages/teams-js/src/internal/idValidation.js +1 -0
  25. package/dist/esm/packages/teams-js/src/internal/nestedAppAuthUtils.js +1 -1
  26. package/dist/esm/packages/teams-js/src/private/constants.js +1 -0
  27. package/dist/esm/packages/teams-js/src/private/externalAppAuthenticationForCEA.js +1 -1
  28. package/dist/esm/packages/teams-js/src/private/externalAppCardActionsForDA.js +1 -0
  29. package/dist/esm/packages/teams-js/src/private/externalAppErrorHandling.js +1 -0
  30. package/dist/esm/packages/teams-js/src/private/nestedAppAuth/nestedAppAuthBridge.js +1 -0
  31. package/dist/esm/packages/teams-js/src/public/appId.js +1 -1
  32. package/dist/esm/packages/teams-js/src/public/featureFlags.js +1 -0
  33. package/dist/esm/packages/teams-js/src/public/nestedAppAuth.js +1 -1
  34. package/dist/esm/packages/teams-js/src/public/runtime.js +1 -1
  35. package/dist/esm/packages/teams-js/src/public/uuidObject.js +1 -1
  36. package/dist/esm/packages/teams-js/src/public/validatedSafeString.js +1 -0
  37. package/dist/esm/packages/teams-js/src/public/version.js +1 -1
  38. package/dist/umd/MicrosoftTeams.js +769 -48
  39. package/dist/umd/MicrosoftTeams.js.map +1 -1
  40. package/dist/umd/MicrosoftTeams.min.js +1 -1
  41. package/dist/umd/MicrosoftTeams.min.js.map +1 -1
  42. package/package.json +1 -1
  43. package/dist/esm/packages/teams-js/src/internal/appIdValidation.js +0 -1
@@ -1 +1 @@
1
- import{GlobalVars as e}from"./globalVars.js";import{getLogger as t}from"./telemetry.js";const n=t("nestedAppAuthUtils"),s=n.extend("tryPolyfillWithNestedAppAuthBridge");function r(t,n,r){var i;const d=s;if(e.isFramelessWindow)return void d("Cannot polyfill nestedAppAuthBridge as current window is frameless");if(!n)return void d("Cannot polyfill nestedAppAuthBridge as current window does not exist");const p=(()=>{try{return JSON.parse(t)}catch(e){return null}})();if(!p||!(null===(i=p.supports)||void 0===i?void 0:i.nestedAppAuth))return void d("Cannot polyfill nestedAppAuthBridge as current hub does not support nested app auth");const u=n;if(u.nestedAppAuthBridge)return void d("nestedAppAuthBridge already exists on current window, skipping polyfill");const a=function(e,t){const n=o;if(!e)return n("nestedAppAuthBridge cannot be created as current window does not exist"),null;const{onMessage:s,sendPostMessage:r}=t,i=e=>t=>s(t,e);return{addEventListener:(t,s)=>{"message"===t?e.addEventListener(t,i(s)):n(`Event ${t} is not supported by nestedAppAuthBridge`)},postMessage:e=>{const t=(()=>{try{return JSON.parse(e)}catch(e){return null}})();t&&"object"==typeof t&&"NestedAppAuthRequest"===t.messageType?r(e):n("Unrecognized data format received by app, message being ignored. Message: %o",e)},removeEventListener:(t,n)=>{e.removeEventListener(t,i(n))}}}(u,r);a&&(u.nestedAppAuthBridge=a)}const o=n.extend("createNestedAppAuthBridge");export{r as tryPolyfillWithNestedAppAuthBridge};
1
+ import{GlobalVars as e}from"./globalVars.js";import{getLogger as t,getApiVersionTag as n}from"./telemetry.js";const s=t("nestedAppAuthUtils"),r=s.extend("tryPolyfillWithNestedAppAuthBridge"),o="v2";function i(t,s,i){var p;const u=r;if(e.isFramelessWindow)return void u("Cannot polyfill nestedAppAuthBridge as current window is frameless");if(!s)return void u("Cannot polyfill nestedAppAuthBridge as current window does not exist");if(s.parent!==s.top)return void u("Default NAA bridge injection not supported in nested iframe. Use standalone NAA bridge instead.");const a=(()=>{try{return JSON.parse(t)}catch(e){return null}})();if(!a||!(null===(p=a.supports)||void 0===p?void 0:p.nestedAppAuth))return void u("Cannot polyfill nestedAppAuthBridge as current hub does not support nested app auth");const l=s;if(l.nestedAppAuthBridge)return void u("nestedAppAuthBridge already exists on current window, skipping polyfill");const A=function(e,t){const s=d;if(!e)return s("nestedAppAuthBridge cannot be created as current window does not exist"),null;const{onMessage:r,sendPostMessage:i}=t,p=e=>t=>r(t,e);return{addEventListener:(t,n)=>{"message"===t?e.addEventListener(t,p(n)):s(`Event ${t} is not supported by nestedAppAuthBridge`)},postMessage:e=>{const t=(()=>{try{return JSON.parse(e)}catch(e){return null}})();if(!t||"object"!=typeof t||"NestedAppAuthRequest"!==t.messageType)return void s("Unrecognized data format received by app, message being ignored. Message: %o",e);const r=n(o,"nestedAppAuth.execute");i(e,r)},removeEventListener:(t,n)=>{e.removeEventListener(t,p(n))}}}(l,i);A&&(l.nestedAppAuthBridge=A)}const d=s.extend("createNestedAppAuthBridge");export{o as nestedAppAuthTelemetryVersionNumber,i as tryPolyfillWithNestedAppAuthBridge};
@@ -0,0 +1 @@
1
+ var R;!function(R){R.INTERNAL_ERROR="INTERNAL_ERROR"}(R||(R={}));export{R as ExternalAppErrorCode};
@@ -1 +1 @@
1
- import{__awaiter as t}from"../../../../node_modules/.pnpm/@rollup_plugin-typescript@11.1.6_rollup@4.24.4_tslib@2.6.3_typescript@4.9.5/node_modules/tslib/tslib.es6.js";import{validateAppIdInstance as n}from"../internal/appIdValidation.js";import{callFunctionInHost as e,callFunctionInHostAndHandleResponse as i}from"../internal/communication.js";import{ensureInitialized as o}from"../internal/internalAPIs.js";import{getApiVersionTag as r}from"../internal/telemetry.js";import{validateId as a}from"../internal/utils.js";import{FrameContexts as u,errorNotSupportedOnPlatform as c}from"../public/constants.js";import{runtime as p}from"../public/runtime.js";import{validateActionExecuteInvokeRequest as h,ActionExecuteResponseHandler as s,SerializableActionExecuteInvokeRequest as l,isInvokeError as A}from"./externalAppAuthentication.js";const m="v2";function d(n,i,a){return t(this,void 0,void 0,(function*(){if(o(p,u.content),!v())throw c;return w(n,i),e("externalAppAuthenticationForCEA.authenticateWithSSO",[n,i,a.authId,a.connectionName,a.claims,a.silent],r(m,"externalAppAuthenticationForCEA.authenticateWithSSO"),A)}))}function f(n,i,a){return t(this,void 0,void 0,(function*(){if(o(p,u.content),!v())throw c;return w(n,i),e("externalAppAuthenticationForCEA.authenticateWithOauth",[n,i,a.url.href,a.width,a.height,a.isExternal],r(m,"externalAppAuthenticationForCEA.authenticateWithOauth"),A)}))}function x(n,e,a,d){return t(this,void 0,void 0,(function*(){if(o(p,u.content),!v())throw c;return w(n,e),h(d),i("externalAppAuthenticationForCEA.authenticateAndResendRequest",[n,e,new l(d),a.url.href,a.width,a.height,a.isExternal],new s,r(m,"externalAppAuthenticationForCEA.authenticateAndResendRequest"),A)}))}function E(n,e,a,d){return t(this,void 0,void 0,(function*(){if(o(p,u.content),!v())throw c;return w(n,e),h(d),i("externalAppAuthenticationForCEA.authenticateWithSSOAndResendRequest",[n,e,new l(d),a.authId,a.connectionName,a.claims,a.silent],new s,r(m,"externalAppAuthenticationForCEA.authenticateWithSSOAndResendRequest"),A)}))}function v(){return!(!o(p)||!p.supports.externalAppAuthenticationForCEA)}function w(t,e){a(e,new Error("conversation id is not valid.")),n(t)}export{x as authenticateAndResendRequest,f as authenticateWithOauth,d as authenticateWithSSO,E as authenticateWithSSOAndResendRequest,v as isSupported,w as validateInput};
1
+ import{__awaiter as t}from"../../../../node_modules/.pnpm/@rollup_plugin-typescript@11.1.6_rollup@4.24.4_tslib@2.6.3_typescript@4.9.5/node_modules/tslib/tslib.es6.js";import{callFunctionInHost as n,callFunctionInHostAndHandleResponse as e}from"../internal/communication.js";import{validateAppIdInstance as i}from"../internal/idValidation.js";import{ensureInitialized as o}from"../internal/internalAPIs.js";import{getApiVersionTag as r}from"../internal/telemetry.js";import{validateId as a}from"../internal/utils.js";import{FrameContexts as u,errorNotSupportedOnPlatform as c}from"../public/constants.js";import{runtime as h}from"../public/runtime.js";import{validateActionExecuteInvokeRequest as s,ActionExecuteResponseHandler as p,SerializableActionExecuteInvokeRequest as l,isInvokeError as A}from"./externalAppAuthentication.js";const m="v2";function d(e,i,a){return t(this,void 0,void 0,(function*(){if(o(h,u.content),!v())throw c;return w(e,i),n("externalAppAuthenticationForCEA.authenticateWithSSO",[e,i,a.authId,a.connectionName,a.claims,a.silent],r(m,"externalAppAuthenticationForCEA.authenticateWithSSO"),A)}))}function f(e,i,a){return t(this,void 0,void 0,(function*(){if(o(h,u.content),!v())throw c;return w(e,i),n("externalAppAuthenticationForCEA.authenticateWithOauth",[e,i,a.url.href,a.width,a.height,a.isExternal],r(m,"externalAppAuthenticationForCEA.authenticateWithOauth"),A)}))}function x(n,i,a,d){return t(this,void 0,void 0,(function*(){if(o(h,u.content),!v())throw c;return w(n,i),s(d),e("externalAppAuthenticationForCEA.authenticateAndResendRequest",[n,i,new l(d),a.url.href,a.width,a.height,a.isExternal],new p,r(m,"externalAppAuthenticationForCEA.authenticateAndResendRequest"),A)}))}function E(n,i,a,d){return t(this,void 0,void 0,(function*(){if(o(h,u.content),!v())throw c;return w(n,i),s(d),e("externalAppAuthenticationForCEA.authenticateWithSSOAndResendRequest",[n,i,new l(d),a.authId,a.connectionName,a.claims,a.silent],new p,r(m,"externalAppAuthenticationForCEA.authenticateWithSSOAndResendRequest"),A)}))}function v(){return!(!o(h)||!h.supports.externalAppAuthenticationForCEA)}function w(t,n){a(n,new Error("conversation id is not valid.")),i(t)}export{x as authenticateAndResendRequest,f as authenticateWithOauth,d as authenticateWithSSO,E as authenticateWithSSOAndResendRequest,v as isSupported,w as validateInput};
@@ -0,0 +1 @@
1
+ import{__awaiter as r}from"../../../../node_modules/.pnpm/@rollup_plugin-typescript@11.1.6_rollup@4.24.4_tslib@2.6.3_typescript@4.9.5/node_modules/tslib/tslib.es6.js";import{callFunctionInHost as t}from"../internal/communication.js";import{validateAppIdInstance as i}from"../internal/idValidation.js";import{ensureInitialized as o}from"../internal/internalAPIs.js";import{getApiVersionTag as n}from"../internal/telemetry.js";import{FrameContexts as e,errorNotSupportedOnPlatform as s}from"../public/constants.js";import{runtime as p}from"../public/runtime.js";import{validateUuidInstance as l}from"../public/uuidObject.js";import{isExternalAppError as c}from"./externalAppErrorHandling.js";function m(m,f,d){return r(this,void 0,void 0,(function*(){if(o(p,e.content),!u())throw s;return function(r,t){i(r),l(t)}(m,d),t("externalAppCardActionsForDA.processActionOpenUrlDialog",[m,new a(f),d],n("v2","externalAppCardActionsForDA.processActionOpenUrlDialog"),c)}))}function u(){return!(!o(p)||!p.supports.externalAppCardActionsForDA)}class a{constructor(r){this.info=r}serialize(){const{url:r,title:t,size:i}=this.info;return{url:r.href,title:t,size:i}}}export{a as SerializableActionOpenUrlDialogInfo,u as isSupported,m as processActionOpenUrlDialog};
@@ -0,0 +1 @@
1
+ import{ExternalAppErrorCode as e}from"./constants.js";function t(t){if("object"!=typeof t||null===t)return!1;const o=t;return Object.values(e).includes(o.errorCode)&&(void 0===o.message||"string"==typeof o.message)}export{t as isExternalAppError};
@@ -0,0 +1 @@
1
+ import e from"../../../../../node_modules/.pnpm/uuid@9.0.1/node_modules/uuid/dist/esm-browser/v4.js";const t="1.0.0",o={onMessage:function(e,t){if(!e||!e.data||"object"!=typeof e.data||null===e.data)return void a("Invalid message format, ignoring. Message: %o",e);if(!function(e,t){if(e&&e!==window.top)return a("Should not process message because it is not coming from the top window"),!1;if(t===n)try{return"https:"===new URL(t).protocol}catch(e){return d("Invalid message origin URL:",e),!1}return!1}(e.source,e.origin))return void a("Message source/origin not allowed, ignoring.");const{args:o}=e.data,[,r]=null!=o?o:[],i=(()=>{try{return JSON.parse(r)}catch(e){return d("Failed to parse response message:",e),null}})();if(!i||"NestedAppAuthResponse"!==i.messageType)return void a("Invalid response format, ignoring. Message: %o",e);t(r)}};let n=null,r=!1;function i(t,i,p=!1){if(r=p,!t)throw new Error("Cannot polyfill nestedAppAuthBridge as the current window does not exist");if(!i)throw new Error("Top origin is required to initialize the Nested App Auth Bridge");try{const e=new URL(i);if("https:"!==e.protocol)throw new Error(`Invalid top origin: ${i}. Only HTTPS origins are allowed.`);n=e.origin}catch(e){throw new Error(`Failed to initialize bridge: invalid top origin: ${i}`)}const u=t;if(u.nestedAppAuthBridge)return void a("Nested App Auth Bridge is already present");const g=function(t){const r=new WeakMap,{onMessage:i}=o,p=e=>t=>i(t,e);return{addEventListener:(e,o)=>{if("message"===e){const n=p(o);r.set(o,n),t.addEventListener(e,n)}else a(`Event ${e} is not supported by nestedAppAuthBridge`)},postMessage:o=>{if(!t.top)throw new Error("window.top is not available for posting messages");try{const r=JSON.parse(o);if("object"==typeof r&&"NestedAppAuthRequest"===r.messageType){const r=function(t){const o=Date.now();return{id:s(),uuid:e(),func:"nestedAppAuth.execute",timestamp:o,apiVersionTag:"v2_nestedAppAuth.execute",monotonicTimestamp:o,args:[],data:t}}(o);if(t===t.top||!n)return void d("Not in an embedded iframe; skipping postMessage.");t.top.postMessage(r,n)}}catch(e){return void d("Failed to parse message:",e,"Original message:",o)}},removeEventListener:(e,o)=>{const n=r.get(o);n&&(t.removeEventListener(e,n),r.delete(o))}}}(u);g&&(u.nestedAppAuthBridge=g)}function s(){return"undefined"!=typeof crypto&&crypto.randomUUID?crypto.randomUUID():Math.random().toString(36).substring(2,11)}function a(...e){r&&console.log(...e)}function d(...e){r&&console.error(...e)}export{i as initialize,t as version};
@@ -1 +1 @@
1
- import{validateStringAsAppId as t}from"../internal/appIdValidation.js";class r{constructor(r){this.appIdAsString=r,t(r)}serialize(){return this.toString()}toString(){return this.appIdAsString}}export{r as AppId};
1
+ import{validateStringLength as t}from"../internal/idValidation.js";import{ValidatedSafeString as r}from"./validatedSafeString.js";class i extends r{constructor(r){super(r),t(r)}toJSON(){return{appIdAsString:this.toString()}}}export{i as AppId};
@@ -0,0 +1 @@
1
+ const n={childProxyingCommunication:!1};function i(){n.childProxyingCommunication=!0}function o(){return n.childProxyingCommunication}let t={disableEnforceOriginMatchForChildResponses:!1};function c(){return t}function r(n){t=n}function e(n){return r(Object.assign(Object.assign({},t),n)),c()}export{i as activateChildProxyingCommunication,c as getCurrentFeatureFlagsState,o as isChildProxyingEnabled,e as overwriteFeatureFlagsState,r as setFeatureFlagsState};
@@ -1 +1 @@
1
- import{GlobalVars as t}from"../internal/globalVars.js";import{ensureInitialized as n}from"../internal/internalAPIs.js";import{HostClientType as o}from"./constants.js";import{runtime as e}from"./runtime.js";function i(){var i;return null!==(i=n(e)&&(e.isNAAChannelRecommended||!(!n(e)||t.hostClientType!==o.android&&t.hostClientType!==o.ios&&t.hostClientType!==o.ipados&&t.hostClientType!==o.visionOS||!e.isLegacyTeams||!e.supports.nestedAppAuth)))&&void 0!==i&&i}export{i as isNAAChannelRecommended};
1
+ import{__awaiter as n}from"../../../../node_modules/.pnpm/@rollup_plugin-typescript@11.1.6_rollup@4.24.4_tslib@2.6.3_typescript@4.9.5/node_modules/tslib/tslib.es6.js";import{Communication as r,callFunctionInHostAndHandleResponse as t}from"../internal/communication.js";import{GlobalVars as i}from"../internal/globalVars.js";import{ensureInitialized as e}from"../internal/internalAPIs.js";import{getApiVersionTag as o}from"../internal/telemetry.js";import{HostClientType as s,errorNotSupportedOnPlatform as a}from"./constants.js";import{runtime as p}from"./runtime.js";const u="v2",l={validate:n=>Array.isArray(n)||"object"==typeof n,deserialize:n=>n};var d;function c(){var n;return null!==(n=e(p)&&(p.isNAAChannelRecommended||!(!e(p)||i.hostClientType!==s.android&&i.hostClientType!==s.ios&&i.hostClientType!==s.ipados&&i.hostClientType!==s.visionOS||!p.isLegacyTeams||!p.supports.nestedAppAuth)))&&void 0!==n&&n}function m(){return e(p),r.parentOrigin}function h(){var n;return null!==(n=e(p)&&p.canParentManageNAATrustedOrigins)&&void 0!==n&&n}function f(){var n;return null!==(n=e(p)&&p.isDeeplyNestedAuthSupported)&&void 0!==n&&n}function A(r){return n(this,void 0,void 0,(function*(){if(!h())throw a;const n=r.map(g);return y(d.ADD,n)}))}function v(r){return n(this,void 0,void 0,(function*(){if(!h())throw a;const n=r.map(g);return y(d.DELETE,n)}))}function y(r,i){return n(this,void 0,void 0,(function*(){if(window.parent!==window.top)throw new Error("This API is only available in the top-level parent.");if(!Array.isArray(i)||0===i.length)throw new Error(`The '${i}' parameter is required and must be a non-empty array.`);const n=[new w(r,i)];return t("nestedAppAuth.manageNAATrustedOrigins",n,l,o(u,"nestedAppAuth.manageNAATrustedOrigins"))}))}function g(n){try{return new URL(n).origin.toLowerCase()}catch(r){throw new Error(`Invalid origin provided: ${n}`)}}!function(n){n.ADD="ADD",n.DELETE="DELETE"}(d||(d={}));class w{constructor(n,r){this.action=n,this.appOrigins=r}serialize(){return{action:this.action,appOrigins:this.appOrigins}}}export{A as addNAATrustedOrigins,h as canParentManageNAATrustedOrigins,v as deleteNAATrustedOrigins,m as getParentOrigin,f as isDeeplyNestedAuthSupported,c as isNAAChannelRecommended};
@@ -1 +1 @@
1
- import{__rest as o}from"../../../../node_modules/.pnpm/@rollup_plugin-typescript@11.1.6_rollup@4.24.4_tslib@2.6.3_typescript@4.9.5/node_modules/tslib/tslib.es6.js";import{errorRuntimeNotInitialized as e,errorRuntimeNotSupported as s}from"../internal/constants.js";import{GlobalVars as i}from"../internal/globalVars.js";import{getLogger as t}from"../internal/telemetry.js";import{compareSDKVersions as n,deepFreeze as a}from"../internal/utils.js";import{HostClientType as r,teamsMinAdaptiveCardVersion as p}from"./constants.js";const l=t("runtime"),d=4;function u(o){return o.apiVersion===d}function c(o){if(u(o))return!0;throw-1===o.apiVersion?new Error(e):new Error(s)}let g={apiVersion:-1,supports:{}};const m={apiVersion:4,isNAAChannelRecommended:!1,hostVersionsInfo:p,isLegacyTeams:!0,supports:{appInstallDialog:{},appEntity:{},call:{},chat:{},conversations:{},dialog:{card:{bot:{}},url:{bot:{},parentCommunication:{}},update:{}},interactive:{},logs:{},meetingRoom:{},menus:{},monetization:{},notifications:{},pages:{config:{},backStack:{},fullTrust:{}},remoteCamera:{},teams:{fullTrust:{}},teamsCore:{},video:{sharedFrame:{}}}},b=[r.desktop,r.web,r.rigel,r.surfaceHub,r.teamsRoomsWindows,r.teamsRoomsAndroid,r.teamsPhones,r.teamsDisplays],y=[r.android,r.ios,r.ipados,r.visionOS],f=[...b,...y];function h(o){let e=o;if(e.apiVersion<d&&v.forEach((o=>{e.apiVersion===o.versionToUpgradeFrom&&(e=o.upgradeToNextVersion(e))})),u(e))return e;throw new Error("Received a runtime that could not be upgraded to the latest version")}const v=[{versionToUpgradeFrom:1,upgradeToNextVersion:o=>{var e;return{apiVersion:2,hostVersionsInfo:void 0,isLegacyTeams:o.isLegacyTeams,supports:Object.assign(Object.assign({},o.supports),{dialog:o.supports.dialog?{card:void 0,url:o.supports.dialog,update:null===(e=o.supports.dialog)||void 0===e?void 0:e.update}:void 0})}}},{versionToUpgradeFrom:2,upgradeToNextVersion:e=>{const s=e.supports,i=o(s,["appNotification"]);return Object.assign(Object.assign({},e),{apiVersion:3,supports:i})}},{versionToUpgradeFrom:3,upgradeToNextVersion:o=>{var e,s,i,t,n;return{apiVersion:4,hostVersionsInfo:o.hostVersionsInfo,isNAAChannelRecommended:o.isNAAChannelRecommended,isLegacyTeams:o.isLegacyTeams,supports:Object.assign(Object.assign({},o.supports),{dialog:o.supports.dialog?{card:null===(e=o.supports.dialog)||void 0===e?void 0:e.card,url:{bot:null===(i=null===(s=o.supports.dialog)||void 0===s?void 0:s.url)||void 0===i?void 0:i.bot,parentCommunication:(null===(t=o.supports.dialog)||void 0===t?void 0:t.url)?{}:void 0},update:null===(n=o.supports.dialog)||void 0===n?void 0:n.update}:void 0})}}}],T={"1.0.0":[{capability:{pages:{appButton:{},tabs:{}},stageView:{}},hostClientTypes:b}],"1.9.0":[{capability:{location:{}},hostClientTypes:f}],"2.0.0":[{capability:{people:{}},hostClientTypes:f},{capability:{sharing:{}},hostClientTypes:[r.desktop,r.web]}],"2.0.1":[{capability:{teams:{fullTrust:{joinedTeams:{}}}},hostClientTypes:[r.android,r.desktop,r.ios,r.teamsRoomsAndroid,r.teamsPhones,r.teamsDisplays,r.web]},{capability:{webStorage:{}},hostClientTypes:[r.desktop]}],"2.0.5":[{capability:{webStorage:{}},hostClientTypes:[r.android,r.ios]}],"2.0.8":[{capability:{sharing:{}},hostClientTypes:[r.android,r.ios]}],"2.1.1":[{capability:{nestedAppAuth:{}},hostClientTypes:[r.android,r.ios,r.ipados,r.visionOS]}]},V=l.extend("generateBackCompatRuntimeConfig");function C(o,e){const s=Object.assign({},o);for(const i in e)Object.prototype.hasOwnProperty.call(e,i)&&("object"!=typeof e[i]||Array.isArray(e[i])?i in o||(s[i]=e[i]):s[i]=C(o[i]||{},e[i]));return s}function j(o,e,s){V("generating back compat runtime config for %s",o);let t=Object.assign({},e.supports);V("Supported capabilities in config before updating based on highestSupportedVersion: %o",t),Object.keys(s).forEach((e=>{n(o,e)>=0&&s[e].forEach((o=>{void 0!==i.hostClientType&&o.hostClientTypes.includes(i.hostClientType)&&(t=C(t,o.capability))}))}));const a={apiVersion:d,hostVersionsInfo:p,isLegacyTeams:!0,supports:t};return V("Runtime config after updating based on highestSupportedVersion: %o",a),a}const w=l.extend("applyRuntimeConfig");function O(o){"string"==typeof o.apiVersion&&(w("Trying to apply runtime with string apiVersion, processing as v1: %o",o),o=Object.assign(Object.assign({},o),{apiVersion:1})),w("Fast-forwarding runtime %o",o);const e=h(o);w("Applying runtime %o",e),g=a(e)}export{O as applyRuntimeConfig,h as fastForwardRuntime,j as generateVersionBasedTeamsRuntimeConfig,c as isRuntimeInitialized,d as latestRuntimeApiVersion,T as mapTeamsVersionToSupportedCapabilities,g as runtime,v as upgradeChain,f as v1HostClientTypes,y as v1MobileHostClientTypes,m as versionAndPlatformAgnosticTeamsRuntimeConfig};
1
+ import{__rest as o}from"../../../../node_modules/.pnpm/@rollup_plugin-typescript@11.1.6_rollup@4.24.4_tslib@2.6.3_typescript@4.9.5/node_modules/tslib/tslib.es6.js";import{errorRuntimeNotInitialized as e,errorRuntimeNotSupported as s}from"../internal/constants.js";import{GlobalVars as i}from"../internal/globalVars.js";import{getLogger as t}from"../internal/telemetry.js";import{compareSDKVersions as n,deepFreeze as a}from"../internal/utils.js";import{HostClientType as r,teamsMinAdaptiveCardVersion as p}from"./constants.js";const l=t("runtime"),d=4;function u(o){return o.apiVersion===d}function c(o){if(u(o))return!0;throw-1===o.apiVersion?new Error(e):new Error(s)}let g={apiVersion:-1,supports:{}};const m={apiVersion:4,isNAAChannelRecommended:!1,isDeeplyNestedAuthSupported:!1,hostVersionsInfo:p,isLegacyTeams:!0,supports:{appInstallDialog:{},appEntity:{},call:{},chat:{},conversations:{},dialog:{card:{bot:{}},url:{bot:{},parentCommunication:{}},update:{}},interactive:{},logs:{},meetingRoom:{},menus:{},monetization:{},notifications:{},pages:{config:{},backStack:{},fullTrust:{}},remoteCamera:{},teams:{fullTrust:{}},teamsCore:{},video:{sharedFrame:{}}}},y=[r.desktop,r.web,r.rigel,r.surfaceHub,r.teamsRoomsWindows,r.teamsRoomsAndroid,r.teamsPhones,r.teamsDisplays],b=[r.android,r.ios,r.ipados,r.visionOS],f=[...y,...b];function h(o){let e=o;if(e.apiVersion<d&&v.forEach((o=>{e.apiVersion===o.versionToUpgradeFrom&&(e=o.upgradeToNextVersion(e))})),u(e))return e;throw new Error("Received a runtime that could not be upgraded to the latest version")}const v=[{versionToUpgradeFrom:1,upgradeToNextVersion:o=>{var e;return{apiVersion:2,hostVersionsInfo:void 0,isLegacyTeams:o.isLegacyTeams,supports:Object.assign(Object.assign({},o.supports),{dialog:o.supports.dialog?{card:void 0,url:o.supports.dialog,update:null===(e=o.supports.dialog)||void 0===e?void 0:e.update}:void 0})}}},{versionToUpgradeFrom:2,upgradeToNextVersion:e=>{const s=e.supports,i=o(s,["appNotification"]);return Object.assign(Object.assign({},e),{apiVersion:3,supports:i})}},{versionToUpgradeFrom:3,upgradeToNextVersion:o=>{var e,s,i,t,n;return{apiVersion:4,hostVersionsInfo:o.hostVersionsInfo,isNAAChannelRecommended:o.isNAAChannelRecommended,isLegacyTeams:o.isLegacyTeams,supports:Object.assign(Object.assign({},o.supports),{dialog:o.supports.dialog?{card:null===(e=o.supports.dialog)||void 0===e?void 0:e.card,url:{bot:null===(i=null===(s=o.supports.dialog)||void 0===s?void 0:s.url)||void 0===i?void 0:i.bot,parentCommunication:(null===(t=o.supports.dialog)||void 0===t?void 0:t.url)?{}:void 0},update:null===(n=o.supports.dialog)||void 0===n?void 0:n.update}:void 0})}}}],T={"1.0.0":[{capability:{pages:{appButton:{},tabs:{}},stageView:{}},hostClientTypes:y}],"1.9.0":[{capability:{location:{}},hostClientTypes:f}],"2.0.0":[{capability:{people:{}},hostClientTypes:f},{capability:{sharing:{}},hostClientTypes:[r.desktop,r.web]}],"2.0.1":[{capability:{teams:{fullTrust:{joinedTeams:{}}}},hostClientTypes:[r.android,r.desktop,r.ios,r.teamsRoomsAndroid,r.teamsPhones,r.teamsDisplays,r.web]},{capability:{webStorage:{}},hostClientTypes:[r.desktop]}],"2.0.5":[{capability:{webStorage:{}},hostClientTypes:[r.android,r.ios]}],"2.0.8":[{capability:{sharing:{}},hostClientTypes:[r.android,r.ios]}],"2.1.1":[{capability:{nestedAppAuth:{}},hostClientTypes:[r.android,r.ios,r.ipados,r.visionOS]}]},V=l.extend("generateBackCompatRuntimeConfig");function C(o,e){const s=Object.assign({},o);for(const i in e)Object.prototype.hasOwnProperty.call(e,i)&&("object"!=typeof e[i]||Array.isArray(e[i])?i in o||(s[i]=e[i]):s[i]=C(o[i]||{},e[i]));return s}function j(o,e,s){V("generating back compat runtime config for %s",o);let t=Object.assign({},e.supports);V("Supported capabilities in config before updating based on highestSupportedVersion: %o",t),Object.keys(s).forEach((e=>{n(o,e)>=0&&s[e].forEach((o=>{void 0!==i.hostClientType&&o.hostClientTypes.includes(i.hostClientType)&&(t=C(t,o.capability))}))}));const a={apiVersion:d,hostVersionsInfo:p,isLegacyTeams:!0,supports:t};return V("Runtime config after updating based on highestSupportedVersion: %o",a),a}const w=l.extend("applyRuntimeConfig");function O(o){"string"==typeof o.apiVersion&&(w("Trying to apply runtime with string apiVersion, processing as v1: %o",o),o=Object.assign(Object.assign({},o),{apiVersion:1})),w("Fast-forwarding runtime %o",o);const e=h(o);w("Applying runtime %o",e),g=a(e)}export{O as applyRuntimeConfig,h as fastForwardRuntime,j as generateVersionBasedTeamsRuntimeConfig,c as isRuntimeInitialized,d as latestRuntimeApiVersion,T as mapTeamsVersionToSupportedCapabilities,g as runtime,v as upgradeChain,f as v1HostClientTypes,b as v1MobileHostClientTypes,m as versionAndPlatformAgnosticTeamsRuntimeConfig};
@@ -1 +1 @@
1
- import{validateUuid as t,generateGUID as r}from"../internal/utils.js";class i{constructor(i=r()){this.uuid=i,t(i)}toString(){return this.uuid}}export{i as UUID};
1
+ import{validateUuid as i,generateGUID as t}from"../internal/utils.js";class n{constructor(n=t()){this.uuid=n,i(n)}toString(){return this.uuid}serialize(){return this.toString()}}function r(i){if(!(i instanceof n))throw new Error(`Potential id (${JSON.stringify(i)}) is invalid; it is not an instance of UUID class.`)}export{n as UUID,r as validateUuidInstance};
@@ -0,0 +1 @@
1
+ import{validateSafeContent as t}from"../internal/idValidation.js";class i{constructor(i){this.idAsString=i,t(i)}serialize(){return this.toString()}toString(){return this.idAsString}}export{i as ValidatedSafeString};
@@ -1 +1 @@
1
- const o="2.35.0";export{o as version};
1
+ const o="2.36.0";export{o as version};