@microsoft/teams-js 2.31.0-beta.2 → 2.31.0-beta.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/esm/_virtual/_polyfill-node.os.js +1 -1
- package/dist/esm/_virtual/_polyfill-node.process.js +1 -1
- package/dist/esm/_virtual/_polyfill-node.util.js +1 -1
- package/dist/esm/packages/teams-js/dts/internal/appIdValidation.d.ts +10 -0
- package/dist/esm/packages/teams-js/dts/private/externalAppAuthenticationForCEA.d.ts +11 -8
- package/dist/esm/packages/teams-js/dts/public/index.d.ts +1 -1
- package/dist/esm/packages/teams-js/src/index.js +1 -1
- package/dist/esm/packages/teams-js/src/internal/appIdValidation.js +1 -1
- package/dist/esm/packages/teams-js/src/private/externalAppAuthenticationForCEA.js +1 -1
- package/dist/esm/packages/teams-js/src/private/externalAppCardActionsForCEA.js +1 -1
- package/dist/esm/packages/teams-js/src/public/version.js +1 -1
- package/dist/umd/MicrosoftTeams.js +47 -16
- package/dist/umd/MicrosoftTeams.js.map +1 -1
- package/dist/umd/MicrosoftTeams.min.js +1 -1
- package/dist/umd/MicrosoftTeams.min.js.map +1 -1
- package/package.json +1 -1
- package/dist/esm/_virtual/_polyfill-node.buffer.js +0 -1
- package/dist/esm/_virtual/_polyfill-node.global.js +0 -1
- package/dist/umd/MicrosoftTeams.d.ts +0 -11854
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
var n;function r(){if(void 0===n){var r=new ArrayBuffer(2),t=new Uint8Array(r),e=new Uint16Array(r);if(t[0]=1,t[1]=2,258===e[0])n="BE";else{if(513!==e[0])throw new Error("unable to figure out endianess");n="LE"}}return n}function t(){return void 0!==global.location?global.location.hostname:""}function e(){return[]}function o(){return 0}function u(){return Number.MAX_VALUE}function i(){return Number.MAX_VALUE}function a(){return[]}function f(){return"Browser"}function c(){return void 0!==global.navigator?global.navigator.appVersion:""}function l(){return{}}function s(){return{}}function m(){return"javascript"}function p(){return"browser"}function v(){return"/tmp"}var d=v,g="\n";function w(){return"$HOME"}var b={homedir:w,EOL:"\n",arch:m,platform:p,tmpdir:d,tmpDir:v,networkInterfaces:l,getNetworkInterfaces:s,release:c,type:f,cpus:a,totalmem:i,freemem:u,uptime:o,loadavg:e,hostname:t,endianness:r};export{g as EOL,m as arch,a as cpus,b as default,r as endianness,u as freemem,s as getNetworkInterfaces,w as homedir,t as hostname,e as loadavg,l as networkInterfaces,p as platform,c as release,v as tmpDir,d as tmpdir,i as totalmem,f as type,o as uptime};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
function e(){throw new Error("setTimeout has not been defined")}function t(){throw new Error("clearTimeout has not been defined")}var r=e,n=t;function o(t){if(r===setTimeout)return setTimeout(t,0);if((r===e||!r)&&setTimeout)return r=setTimeout,setTimeout(t,0);try{return r(t,0)}catch(e){try{return r.call(null,t,0)}catch(e){return r.call(this,t,0)}}}"function"==typeof global.setTimeout&&(r=setTimeout),"function"==typeof global.clearTimeout&&(n=clearTimeout);var i,u=[],a=!1,c=-1;function l(){a&&i&&(a=!1,i.length?u=i.concat(u):c=-1,u.length&&f())}function f(){if(!a){var e=o(l);a=!0;for(var r=u.length;r;){for(i=u,u=[];++c<r;)i&&i[c].run();c=-1,r=u.length}i=null,a=!1,function(e){if(n===clearTimeout)return clearTimeout(e);if((n===t||!n)&&clearTimeout)return n=clearTimeout,clearTimeout(e);try{return n(e)}catch(t){try{return n.call(null,e)}catch(t){return n.call(this,e)}}}(e)}}function s(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var r=1;r<arguments.length;r++)t[r-1]=arguments[r];u.push(new h(e,t)),1!==u.length||a||o(f)}function h(e,t){this.fun=e,this.array=t}h.prototype.run=function(){this.fun.apply(null,this.array)};var m="browser",w="browser",v=!0,T={},p=[],g="",d={},b={},y={};function E(){}var N=E,k=E,D=E,L=E,x=E,A=E,M=E;function z(e){throw new Error("process.binding is not supported")}function j(){return"/"}function q(e){throw new Error("process.chdir is not supported")}function B(){return 0}var C=global.performance||{},F=C.now||C.mozNow||C.msNow||C.oNow||C.webkitNow||function(){return(new Date).getTime()};function G(e){var t=.001*F.call(C),r=Math.floor(t),n=Math.floor(t%1*1e9);return e&&(r-=e[0],(n-=e[1])<0&&(r--,n+=1e9)),[r,n]}var H=new Date;function I(){return(new Date-H)/1e3}var J={nextTick:s,title:m,browser:v,env:T,argv:p,version:"",versions:d,on:N,addListener:k,once:D,off:L,removeListener:x,removeAllListeners:A,emit:M,binding:z,cwd:j,chdir:q,umask:B,hrtime:G,platform:w,release:b,config:y,uptime:I};export{k as addListener,p as argv,z as binding,v as browser,q as chdir,y as config,j as cwd,J as default,M as emit,T as env,G as hrtime,s as nextTick,L as off,N as on,D as once,w as platform,b as release,A as removeAllListeners,x as removeListener,m as title,B as umask,I as uptime,g as version,d as versions};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import e from"./_polyfill-node.
|
|
1
|
+
import e from"./_polyfill-node.process.js";import t from"./_polyfill-node._inherits.js";var n=Object.getOwnPropertyDescriptors||function(e){for(var t=Object.keys(e),n={},r=0;r<t.length;r++)n[t[r]]=Object.getOwnPropertyDescriptor(e,t[r]);return n},r=/%[sdj%]/g;function o(e){if(!O(e)){for(var t=[],n=0;n<arguments.length;n++)t.push(s(arguments[n]));return t.join(" ")}n=1;for(var o=arguments,i=o.length,u=String(e).replace(r,(function(e){if("%%"===e)return"%";if(n>=i)return e;switch(e){case"%s":return String(o[n++]);case"%d":return Number(o[n++]);case"%j":try{return JSON.stringify(o[n++])}catch(e){return"[Circular]"}default:return e}})),c=o[n];n<i;c=o[++n])h(c)||!z(c)?u+=" "+c:u+=" "+s(c);return u}function i(t,n){if(w(global.process))return function(){return i(t,n).apply(this,arguments)};if(!0===e.noDeprecation)return t;var r=!1;return function(){if(!r){if(e.throwDeprecation)throw new Error(n);e.traceDeprecation?console.trace(n):console.error(n),r=!0}return t.apply(this,arguments)}}var u,c={};function l(t){if(w(u)&&(u=e.env.NODE_DEBUG||""),t=t.toUpperCase(),!c[t])if(new RegExp("\\b"+t+"\\b","i").test(u)){c[t]=function(){var e=o.apply(null,arguments);console.error("%s %d: %s",t,0,e)}}else c[t]=function(){};return c[t]}function s(e,t){var n={seen:[],stylize:a};return arguments.length>=3&&(n.depth=arguments[2]),arguments.length>=4&&(n.colors=arguments[3]),d(t)?n.showHidden=t:t&&_(n,t),w(n.showHidden)&&(n.showHidden=!1),w(n.depth)&&(n.depth=2),w(n.colors)&&(n.colors=!1),w(n.customInspect)&&(n.customInspect=!0),n.colors&&(n.stylize=f),p(n,e,n.depth)}function f(e,t){var n=s.styles[t];return n?"["+s.colors[n][0]+"m"+e+"["+s.colors[n][1]+"m":e}function a(e,t){return e}function p(e,t,n){if(e.customInspect&&t&&P(t.inspect)&&t.inspect!==s&&(!t.constructor||t.constructor.prototype!==t)){var r=t.inspect(n,e);return O(r)||(r=p(e,r,n)),r}var o=function(e,t){if(w(t))return e.stylize("undefined","undefined");if(O(t)){var n="'"+JSON.stringify(t).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(n,"string")}if(v(t))return e.stylize(""+t,"number");if(d(t))return e.stylize(""+t,"boolean");if(h(t))return e.stylize("null","null")}(e,t);if(o)return o;var i=Object.keys(t),u=function(e){var t={};return e.forEach((function(e,n){t[e]=!0})),t}(i);if(e.showHidden&&(i=Object.getOwnPropertyNames(t)),x(t)&&(i.indexOf("message")>=0||i.indexOf("description")>=0))return y(t);if(0===i.length){if(P(t)){var c=t.name?": "+t.name:"";return e.stylize("[Function"+c+"]","special")}if(S(t))return e.stylize(RegExp.prototype.toString.call(t),"regexp");if(E(t))return e.stylize(Date.prototype.toString.call(t),"date");if(x(t))return y(t)}var l,f="",a=!1,m=["{","}"];(b(t)&&(a=!0,m=["[","]"]),P(t))&&(f=" [Function"+(t.name?": "+t.name:"")+"]");return S(t)&&(f=" "+RegExp.prototype.toString.call(t)),E(t)&&(f=" "+Date.prototype.toUTCString.call(t)),x(t)&&(f=" "+y(t)),0!==i.length||a&&0!=t.length?n<0?S(t)?e.stylize(RegExp.prototype.toString.call(t),"regexp"):e.stylize("[Object]","special"):(e.seen.push(t),l=a?function(e,t,n,r,o){for(var i=[],u=0,c=t.length;u<c;++u)J(t,String(u))?i.push(g(e,t,n,r,String(u),!0)):i.push("");return o.forEach((function(o){o.match(/^\d+$/)||i.push(g(e,t,n,r,o,!0))})),i}(e,t,n,u,i):i.map((function(r){return g(e,t,n,u,r,a)})),e.seen.pop(),function(e,t,n){var r=e.reduce((function(e,t){return t.indexOf("\n"),e+t.replace(/\u001b\[\d\d?m/g,"").length+1}),0);if(r>60)return n[0]+(""===t?"":t+"\n ")+" "+e.join(",\n ")+" "+n[1];return n[0]+t+" "+e.join(", ")+" "+n[1]}(l,f,m)):m[0]+f+m[1]}function y(e){return"["+Error.prototype.toString.call(e)+"]"}function g(e,t,n,r,o,i){var u,c,l;if((l=Object.getOwnPropertyDescriptor(t,o)||{value:t[o]}).get?c=l.set?e.stylize("[Getter/Setter]","special"):e.stylize("[Getter]","special"):l.set&&(c=e.stylize("[Setter]","special")),J(r,o)||(u="["+o+"]"),c||(e.seen.indexOf(l.value)<0?(c=h(n)?p(e,l.value,null):p(e,l.value,n-1)).indexOf("\n")>-1&&(c=i?c.split("\n").map((function(e){return" "+e})).join("\n").substr(2):"\n"+c.split("\n").map((function(e){return" "+e})).join("\n")):c=e.stylize("[Circular]","special")),w(u)){if(i&&o.match(/^\d+$/))return c;(u=JSON.stringify(""+o)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(u=u.substr(1,u.length-2),u=e.stylize(u,"name")):(u=u.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),u=e.stylize(u,"string"))}return u+": "+c}function b(e){return Array.isArray(e)}function d(e){return"boolean"==typeof e}function h(e){return null===e}function m(e){return null==e}function v(e){return"number"==typeof e}function O(e){return"string"==typeof e}function j(e){return"symbol"==typeof e}function w(e){return void 0===e}function S(e){return z(e)&&"[object RegExp]"===N(e)}function z(e){return"object"==typeof e&&null!==e}function E(e){return z(e)&&"[object Date]"===N(e)}function x(e){return z(e)&&("[object Error]"===N(e)||e instanceof Error)}function P(e){return"function"==typeof e}function D(e){return null===e||"boolean"==typeof e||"number"==typeof e||"string"==typeof e||"symbol"==typeof e||void 0===e}function T(e){return Buffer.isBuffer(e)}function N(e){return Object.prototype.toString.call(e)}function F(e){return e<10?"0"+e.toString(10):e.toString(10)}s.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},s.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"};var k=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function A(){var e,t;console.log("%s - %s",(e=new Date,t=[F(e.getHours()),F(e.getMinutes()),F(e.getSeconds())].join(":"),[e.getDate(),k[e.getMonth()],t].join(" ")),o.apply(null,arguments))}function _(e,t){if(!t||!z(t))return e;for(var n=Object.keys(t),r=n.length;r--;)e[n[r]]=t[n[r]];return e}function J(e,t){return Object.prototype.hasOwnProperty.call(e,t)}var R="undefined"!=typeof Symbol?Symbol("util.promisify.custom"):void 0;function B(e){if("function"!=typeof e)throw new TypeError('The "original" argument must be of type Function');if(R&&e[R]){var t;if("function"!=typeof(t=e[R]))throw new TypeError('The "util.promisify.custom" argument must be of type Function');return Object.defineProperty(t,R,{value:t,enumerable:!1,writable:!1,configurable:!0}),t}function t(){for(var t,n,r=new Promise((function(e,r){t=e,n=r})),o=[],i=0;i<arguments.length;i++)o.push(arguments[i]);o.push((function(e,r){e?n(e):t(r)}));try{e.apply(this,o)}catch(e){n(e)}return r}return Object.setPrototypeOf(t,Object.getPrototypeOf(e)),R&&Object.defineProperty(t,R,{value:t,enumerable:!1,writable:!1,configurable:!0}),Object.defineProperties(t,n(e))}function H(e,t){if(!e){var n=new Error("Promise was rejected with a falsy value");n.reason=e,e=n}return t(e)}function U(t){if("function"!=typeof t)throw new TypeError('The "original" argument must be of type Function');function r(){for(var n=[],r=0;r<arguments.length;r++)n.push(arguments[r]);var o=n.pop();if("function"!=typeof o)throw new TypeError("The last argument must be of type Function");var i=this,u=function(){return o.apply(i,arguments)};t.apply(this,n).then((function(t){e.nextTick(u.bind(null,null,t))}),(function(t){e.nextTick(H.bind(null,t,u))}))}return Object.setPrototypeOf(r,Object.getPrototypeOf(t)),Object.defineProperties(r,n(t)),r}B.custom=R;var $={inherits:t,_extend:_,log:A,isBuffer:T,isPrimitive:D,isFunction:P,isError:x,isDate:E,isObject:z,isRegExp:S,isUndefined:w,isSymbol:j,isString:O,isNumber:v,isNullOrUndefined:m,isNull:h,isBoolean:d,isArray:b,inspect:s,deprecate:i,format:o,debuglog:l,promisify:B,callbackify:U};export{_ as _extend,U as callbackify,l as debuglog,$ as default,i as deprecate,o as format,t as inherits,s as inspect,b as isArray,d as isBoolean,T as isBuffer,E as isDate,x as isError,P as isFunction,h as isNull,m as isNullOrUndefined,v as isNumber,z as isObject,D as isPrimitive,S as isRegExp,O as isString,j as isSymbol,w as isUndefined,A as log,B as promisify};
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { AppId } from '../public/appId';
|
|
1
2
|
/**
|
|
2
3
|
* This function can be used to validate if a string is a "valid" app id.
|
|
3
4
|
* Valid is a relative term, in this case. Truly valid app ids are UUIDs as documented in the schema:
|
|
@@ -14,3 +15,12 @@ export declare const minimumValidAppIdLength = 4;
|
|
|
14
15
|
export declare const maximumValidAppIdLength = 256;
|
|
15
16
|
export declare function isStringWithinAppIdLengthLimits(potentialAppId: string): boolean;
|
|
16
17
|
export declare function doesStringContainNonPrintableCharacters(str: string): boolean;
|
|
18
|
+
/**
|
|
19
|
+
* @hidden
|
|
20
|
+
* Checks if the incoming app id is an instance of AppId
|
|
21
|
+
* @param potentialAppId An object to check if it's an instance of AppId
|
|
22
|
+
* @throws Error with a message describing the violation
|
|
23
|
+
* @internal
|
|
24
|
+
* Limited to Microsoft-internal use
|
|
25
|
+
*/
|
|
26
|
+
export declare function validateAppIdInstance(potentialAppId: AppId): void;
|
|
@@ -1,11 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @hidden
|
|
3
|
-
* Module to delegate authentication requests to the host for custom engine agents
|
|
4
|
-
* @internal
|
|
5
|
-
* Limited to Microsoft-internal use
|
|
6
|
-
* @beta
|
|
7
|
-
* @module
|
|
8
|
-
*/
|
|
9
1
|
import { AppId } from '../public';
|
|
10
2
|
import * as externalAppAuthentication from './externalAppAuthentication';
|
|
11
3
|
/**
|
|
@@ -72,3 +64,14 @@ export declare function authenticateWithSSOAndResendRequest(appId: AppId, conver
|
|
|
72
64
|
* Limited to Microsoft-internal use
|
|
73
65
|
*/
|
|
74
66
|
export declare function isSupported(): boolean;
|
|
67
|
+
/**
|
|
68
|
+
* @hidden
|
|
69
|
+
* Checks if the input is valid
|
|
70
|
+
* @param appId App ID of the app upon whose behalf Copilot is requesting authentication. This must be a UUID.
|
|
71
|
+
* @param conversationId ConversationId To tell the bot what conversation the calls are coming from
|
|
72
|
+
|
|
73
|
+
* @throws Error if {@linkcode app.initialize} has not successfully completed
|
|
74
|
+
* @internal
|
|
75
|
+
* Limited to Microsoft-internal use
|
|
76
|
+
*/
|
|
77
|
+
export declare function validateInput(appId: AppId, conversationId: string): void;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export * as authentication from './authentication';
|
|
2
2
|
export { ChannelType, DialogDimension, FrameContexts, HostClientType, HostName, TaskModuleDimension, TeamType, UserTeamRole, } from './constants';
|
|
3
|
-
export { ActionInfo, ActionObjectType, AdaptiveCardVersion, AdaptiveCardDialogInfo, BaseActionObject, BotAdaptiveCardDialogInfo, BotUrlDialogInfo, Context, DeepLinkParameters, DialogInfo, DialogSize, ErrorCode, FileOpenPreference, FrameContext, FrameInfo, HostToAppPerformanceMetrics, LoadContext, LocaleInfo, M365ContentAction, ResumeContext, SdkError, SecondaryId, SecondaryM365ContentIdName, ShareDeepLinkParameters, TabInformation, TabInstance, TabInstanceParameters, TaskInfo, TeamInformation, UrlDialogInfo, } from './interfaces';
|
|
3
|
+
export { ActionInfo, ActionObjectType, AdaptiveCardVersion, AdaptiveCardDialogInfo, BaseActionObject, BotAdaptiveCardDialogInfo, BotUrlDialogInfo, Context, DeepLinkParameters, DialogInfo, DialogSize, EduType, ErrorCode, FileOpenPreference, FrameContext, FrameInfo, HostToAppPerformanceMetrics, LoadContext, LocaleInfo, M365ContentAction, ResumeContext, SdkError, SecondaryId, SecondaryM365ContentIdName, ShareDeepLinkParameters, TabInformation, TabInstance, TabInstanceParameters, TaskInfo, TeamInformation, UrlDialogInfo, } from './interfaces';
|
|
4
4
|
export * as app from './app/app';
|
|
5
5
|
export { AppId } from './appId';
|
|
6
6
|
export { EmailAddress } from './emailAddress';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export{NotificationTypes,UserSettingTypes,ViewerActionTypes}from"./private/interfaces.js";export{openFilePreview,registerCustomHandler,registerUserSettingsChangeHandler,sendCustomEvent,sendCustomMessage,uploadCustomApp}from"./private/privateAPIs.js";import*as r from"./private/logs.js";export{r as logs};import*as e from"./private/conversations.js";export{e as conversations};import*as o from"./private/copilot/copilot.js";export{o as copilot};import*as t from"./private/externalAppAuthentication.js";export{t as externalAppAuthentication};import*as p from"./private/externalAppAuthenticationForCEA.js";export{p as externalAppAuthenticationForCEA};import*as i from"./private/externalAppCardActions.js";export{i as externalAppCardActions};import*as s from"./private/externalAppCardActionsForCEA.js";export{s as externalAppCardActionsForCEA};import*as a from"./private/externalAppCommands.js";export{a as externalAppCommands};import*as m from"./private/files.js";export{m as files};import*as n from"./private/meetingRoom.js";export{n as meetingRoom};import*as l from"./private/messageChannels/messageChannels.js";export{l as messageChannels};import*as c from"./private/notifications.js";export{c as notifications};import*as f from"./private/otherAppStateChange.js";export{f as otherAppStateChange};import*as x from"./private/remoteCamera.js";export{x as remoteCamera};import*as u from"./private/appEntity.js";export{u as appEntity};import*as j from"./private/teams/teams.js";export{j as teams};import*as b from"./private/videoEffectsEx.js";export{b as videoEffectsEx};import*as d from"./private/hostEntity/hostEntity.js";export{d as hostEntity};export{ChannelType,DialogDimension,FrameContexts,HostClientType,HostName,DialogDimension as TaskModuleDimension,TeamType,UserTeamRole}from"./public/constants.js";export{ActionObjectType,ErrorCode,FileOpenPreference,SecondaryM365ContentIdName}from"./public/interfaces.js";export{AppId}from"./public/appId.js";export{EmailAddress}from"./public/emailAddress.js";export{getAdaptiveCardSchemaVersion}from"./public/adaptiveCards.js";export{ChildAppWindow,ParentAppWindow}from"./public/appWindow.js";export{version}from"./public/version.js";export{enablePrintCapability,executeDeepLink,getContext,getMruTabInstances,getTabInstances,initialize,initializeWithFrameContext,print,registerAppButtonClickHandler,registerAppButtonHoverEnterHandler,registerAppButtonHoverLeaveHandler,registerBackButtonHandler,registerBeforeUnloadHandler,registerChangeSettingsHandler,registerFocusEnterHandler,registerFullScreenHandler,registerOnLoadHandler,registerOnThemeChangeHandler,setFrameContext,shareDeepLink}from"./public/publicAPIs.js";export{navigateBack,navigateCrossDomain,navigateToTab,returnFocus}from"./public/navigation.js";import*as g from"./public/liveShareHost.js";export{g as liveShare};export{LiveShareHost}from"./public/liveShareHost.js";import*as v from"./public/authentication.js";export{v as authentication};import*as C from"./public/app/app.js";export{C as app};import*as A from"./public/appInstallDialog.js";export{A as appInstallDialog};import*as h from"./public/barCode.js";export{h as barCode};import*as H from"./public/chat.js";export{H as chat};import*as T from"./public/clipboard.js";export{T as clipboard};import*as y from"./public/dialog/dialog.js";export{y as dialog};import*as E from"./public/nestedAppAuth.js";export{E as nestedAppAuth};import*as S from"./public/geoLocation/geoLocation.js";export{S as geoLocation};import*as F from"./public/pages/pages.js";export{F as pages};import*as I from"./public/menus.js";export{I as menus};import*as w from"./public/media.js";export{w as media};import*as D from"./public/secondaryBrowser.js";export{D as secondaryBrowser};import*as k from"./public/location.js";export{k as location};import*as B from"./public/meeting/meeting.js";export{B as meeting};import*as P from"./public/monetization.js";export{P as monetization};import*as L from"./public/calendar.js";export{L as calendar};import*as M from"./public/mail.js";export{M as mail};import*as z from"./public/teamsAPIs.js";export{z as teamsCore};import*as O from"./public/people.js";export{O as people};import*as U from"./public/profile.js";export{U as profile};import*as V from"./public/videoEffects.js";export{V as videoEffects};import*as W from"./public/search.js";export{W as search};import*as N from"./public/sharing/sharing.js";export{N as sharing};import*as R from"./public/stageView/stageView.js";export{R as stageView};import*as q from"./public/visualMedia/visualMedia.js";export{q as visualMedia};import*as G from"./public/webStorage.js";export{G as webStorage};import*as J from"./public/call.js";export{J as call};import*as K from"./public/appInitialization.js";export{K as appInitialization};import*as Q from"./public/thirdPartyCloudStorage.js";export{Q as thirdPartyCloudStorage};import*as X from"./public/settings.js";export{X as settings};import*as Y from"./public/tasks.js";export{Y as tasks};import*as Z from"./public/marketplace.js";export{Z as marketplace};
|
|
1
|
+
export{NotificationTypes,UserSettingTypes,ViewerActionTypes}from"./private/interfaces.js";export{openFilePreview,registerCustomHandler,registerUserSettingsChangeHandler,sendCustomEvent,sendCustomMessage,uploadCustomApp}from"./private/privateAPIs.js";import*as r from"./private/logs.js";export{r as logs};import*as e from"./private/conversations.js";export{e as conversations};import*as o from"./private/copilot/copilot.js";export{o as copilot};import*as t from"./private/externalAppAuthentication.js";export{t as externalAppAuthentication};import*as p from"./private/externalAppAuthenticationForCEA.js";export{p as externalAppAuthenticationForCEA};import*as i from"./private/externalAppCardActions.js";export{i as externalAppCardActions};import*as s from"./private/externalAppCardActionsForCEA.js";export{s as externalAppCardActionsForCEA};import*as a from"./private/externalAppCommands.js";export{a as externalAppCommands};import*as m from"./private/files.js";export{m as files};import*as n from"./private/meetingRoom.js";export{n as meetingRoom};import*as l from"./private/messageChannels/messageChannels.js";export{l as messageChannels};import*as c from"./private/notifications.js";export{c as notifications};import*as f from"./private/otherAppStateChange.js";export{f as otherAppStateChange};import*as x from"./private/remoteCamera.js";export{x as remoteCamera};import*as u from"./private/appEntity.js";export{u as appEntity};import*as j from"./private/teams/teams.js";export{j as teams};import*as b from"./private/videoEffectsEx.js";export{b as videoEffectsEx};import*as d from"./private/hostEntity/hostEntity.js";export{d as hostEntity};export{ChannelType,DialogDimension,FrameContexts,HostClientType,HostName,DialogDimension as TaskModuleDimension,TeamType,UserTeamRole}from"./public/constants.js";export{ActionObjectType,EduType,ErrorCode,FileOpenPreference,SecondaryM365ContentIdName}from"./public/interfaces.js";export{AppId}from"./public/appId.js";export{EmailAddress}from"./public/emailAddress.js";export{getAdaptiveCardSchemaVersion}from"./public/adaptiveCards.js";export{ChildAppWindow,ParentAppWindow}from"./public/appWindow.js";export{version}from"./public/version.js";export{enablePrintCapability,executeDeepLink,getContext,getMruTabInstances,getTabInstances,initialize,initializeWithFrameContext,print,registerAppButtonClickHandler,registerAppButtonHoverEnterHandler,registerAppButtonHoverLeaveHandler,registerBackButtonHandler,registerBeforeUnloadHandler,registerChangeSettingsHandler,registerFocusEnterHandler,registerFullScreenHandler,registerOnLoadHandler,registerOnThemeChangeHandler,setFrameContext,shareDeepLink}from"./public/publicAPIs.js";export{navigateBack,navigateCrossDomain,navigateToTab,returnFocus}from"./public/navigation.js";import*as g from"./public/liveShareHost.js";export{g as liveShare};export{LiveShareHost}from"./public/liveShareHost.js";import*as v from"./public/authentication.js";export{v as authentication};import*as C from"./public/app/app.js";export{C as app};import*as A from"./public/appInstallDialog.js";export{A as appInstallDialog};import*as h from"./public/barCode.js";export{h as barCode};import*as H from"./public/chat.js";export{H as chat};import*as T from"./public/clipboard.js";export{T as clipboard};import*as y from"./public/dialog/dialog.js";export{y as dialog};import*as E from"./public/nestedAppAuth.js";export{E as nestedAppAuth};import*as S from"./public/geoLocation/geoLocation.js";export{S as geoLocation};import*as F from"./public/pages/pages.js";export{F as pages};import*as I from"./public/menus.js";export{I as menus};import*as w from"./public/media.js";export{w as media};import*as D from"./public/secondaryBrowser.js";export{D as secondaryBrowser};import*as k from"./public/location.js";export{k as location};import*as B from"./public/meeting/meeting.js";export{B as meeting};import*as P from"./public/monetization.js";export{P as monetization};import*as L from"./public/calendar.js";export{L as calendar};import*as M from"./public/mail.js";export{M as mail};import*as z from"./public/teamsAPIs.js";export{z as teamsCore};import*as O from"./public/people.js";export{O as people};import*as U from"./public/profile.js";export{U as profile};import*as V from"./public/videoEffects.js";export{V as videoEffects};import*as W from"./public/search.js";export{W as search};import*as N from"./public/sharing/sharing.js";export{N as sharing};import*as R from"./public/stageView/stageView.js";export{R as stageView};import*as q from"./public/visualMedia/visualMedia.js";export{q as visualMedia};import*as G from"./public/webStorage.js";export{G as webStorage};import*as J from"./public/call.js";export{J as call};import*as K from"./public/appInitialization.js";export{K as appInitialization};import*as Q from"./public/thirdPartyCloudStorage.js";export{Q as thirdPartyCloudStorage};import*as X from"./public/settings.js";export{X as settings};import*as Y from"./public/tasks.js";export{Y as tasks};import*as Z from"./public/marketplace.js";export{Z as marketplace};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{hasScriptTags as t}from"./utils.js";function
|
|
1
|
+
import{AppId as i}from"../public/appId.js";import{hasScriptTags as t}from"./utils.js";function n(i){if(t(i))throw new Error(`Potential app id (${i}) is invalid; it contains script tags.`);if(!a(i))throw new Error(`Potential app id (${i}) is invalid; its length ${i.length} is not within the length limits (${o}-${r}).`);if(e(i))throw new Error(`Potential app id (${i}) is invalid; it contains non-printable characters.`)}const o=4,r=256;function a(i){return i.length<r&&i.length>o}function e(i){return[...i].some((i=>{const t=i.charCodeAt(0);return t<32||t>126}))}function s(t){if(!(t instanceof i))throw new Error(`Potential app id (${t}) is invalid; it is not an instance of AppId class.`)}export{e as doesStringContainNonPrintableCharacters,a as isStringWithinAppIdLengthLimits,r as maximumValidAppIdLength,o as minimumValidAppIdLength,s as validateAppIdInstance,n as validateStringAsAppId};
|
|
@@ -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{callFunctionInHost as
|
|
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 r}from"../internal/internalAPIs.js";import{getApiVersionTag as o}from"../internal/telemetry.js";import{validateId as u}from"../internal/utils.js";import{FrameContexts as a,errorNotSupportedOnPlatform as p}from"../public/constants.js";import{runtime as s}from"../public/runtime.js";import{validateActionExecuteInvokeRequest as c,ActionExecuteResponseHandler as h,SerializableActionExecuteInvokeRequest as l,isInvokeError as A}from"./externalAppAuthentication.js";const m="v2";function d(n,i,u){return t(this,void 0,void 0,(function*(){if(r(s,a.content),!v())throw p;return w(n,i),e("externalAppAuthenticationForCEA.authenticateWithSSO",[n,i,u.claims,u.silent],o(m,"externalAppAuthenticationForCEA.authenticateWithSSO"),A)}))}function f(n,i,u){return t(this,void 0,void 0,(function*(){if(r(s,a.content),!v())throw p;return w(n,i),e("externalAppAuthenticationForCEA.authenticateWithOauth",[n,i,u.url.href,u.width,u.height,u.isExternal],o(m,"externalAppAuthenticationForCEA.authenticateWithOauth"),A)}))}function x(n,e,u,d){return t(this,void 0,void 0,(function*(){if(r(s,a.content),!v())throw p;return w(n,e),c(d),i("externalAppAuthenticationForCEA.authenticateAndResendRequest",[n,e,new l(d),u.url.href,u.width,u.height,u.isExternal],new h,o(m,"externalAppAuthenticationForCEA.authenticateAndResendRequest"),A)}))}function E(n,e,u,d){return t(this,void 0,void 0,(function*(){if(r(s,a.content),!v())throw p;return w(n,e),c(d),i("externalAppAuthenticationForCEA.authenticateWithSSOAndResendRequest",[n,e,new l(d),u.claims,u.silent],new h,o(m,"externalAppAuthenticationForCEA.authenticateWithSSOAndResendRequest"),A)}))}function v(){return!(!r(s)||!s.supports.externalAppAuthenticationForCEA)}function w(t,e){u(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 +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{sendMessageToParentAsync as
|
|
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{sendMessageToParentAsync as o,sendAndUnwrap as r}from"../internal/communication.js";import{ensureInitialized as n}from"../internal/internalAPIs.js";import{getApiVersionTag as i}from"../internal/telemetry.js";import{FrameContexts as e,errorNotSupportedOnPlatform as p}from"../public/constants.js";import{runtime as s}from"../public/runtime.js";import{validateInput as c}from"./externalAppAuthenticationForCEA.js";function l(r,l,m){return t(this,void 0,void 0,(function*(){if(n(s,e.content),!A())throw p;c(r,l);const[t,u]=yield o(i("v2","externalAppCardActionsForCEA.processActionOpenUrl"),"externalAppCardActionsForCEA.processActionOpenUrl",[r.toString(),l,m.href]);if(t)throw t;return u}))}function m(o,l,m){return t(this,void 0,void 0,(function*(){if(n(s,e.content),!A())throw p;c(o,l);const t=yield r(i("v2","externalAppCardActionsForCEA.processActionSubmit"),"externalAppCardActionsForCEA.processActionSubmit",o.toString(),l,m);if(t)throw t}))}function A(){return!(!n(s)||!s.supports.externalAppCardActionsForCEA)}export{A as isSupported,l as processActionOpenUrl,m as processActionSubmit};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const t="2.31.0-beta.
|
|
1
|
+
const t="2.31.0-beta.3";export{t as version};
|
|
@@ -837,6 +837,7 @@ __webpack_require__.d(__webpack_exports__, {
|
|
|
837
837
|
ChannelType: () => (/* reexport */ ChannelType),
|
|
838
838
|
ChildAppWindow: () => (/* reexport */ ChildAppWindow),
|
|
839
839
|
DialogDimension: () => (/* reexport */ DialogDimension),
|
|
840
|
+
EduType: () => (/* reexport */ EduType),
|
|
840
841
|
EmailAddress: () => (/* reexport */ EmailAddress),
|
|
841
842
|
ErrorCode: () => (/* reexport */ ErrorCode),
|
|
842
843
|
FileOpenPreference: () => (/* reexport */ FileOpenPreference),
|
|
@@ -1232,7 +1233,8 @@ __webpack_require__.d(externalAppAuthenticationForCEA_namespaceObject, {
|
|
|
1232
1233
|
authenticateWithOauth: () => (authenticateWithOauth),
|
|
1233
1234
|
authenticateWithSSO: () => (externalAppAuthenticationForCEA_authenticateWithSSO),
|
|
1234
1235
|
authenticateWithSSOAndResendRequest: () => (externalAppAuthenticationForCEA_authenticateWithSSOAndResendRequest),
|
|
1235
|
-
isSupported: () => (externalAppAuthenticationForCEA_isSupported)
|
|
1236
|
+
isSupported: () => (externalAppAuthenticationForCEA_isSupported),
|
|
1237
|
+
validateInput: () => (validateInput)
|
|
1236
1238
|
});
|
|
1237
1239
|
|
|
1238
1240
|
// NAMESPACE OBJECT: ./src/private/externalAppCardActions.ts
|
|
@@ -3453,7 +3455,7 @@ function isSerializable(arg) {
|
|
|
3453
3455
|
* @hidden
|
|
3454
3456
|
* Package version.
|
|
3455
3457
|
*/
|
|
3456
|
-
const version = "2.31.0-beta.
|
|
3458
|
+
const version = "2.31.0-beta.3";
|
|
3457
3459
|
|
|
3458
3460
|
;// ./src/internal/internalAPIs.ts
|
|
3459
3461
|
|
|
@@ -3586,6 +3588,7 @@ function processAdditionalValidOrigins(validMessageOrigins) {
|
|
|
3586
3588
|
|
|
3587
3589
|
;// ./src/internal/appIdValidation.ts
|
|
3588
3590
|
|
|
3591
|
+
|
|
3589
3592
|
/**
|
|
3590
3593
|
* This function can be used to validate if a string is a "valid" app id.
|
|
3591
3594
|
* Valid is a relative term, in this case. Truly valid app ids are UUIDs as documented in the schema:
|
|
@@ -3619,6 +3622,19 @@ function doesStringContainNonPrintableCharacters(str) {
|
|
|
3619
3622
|
return charCode < 32 || charCode > 126;
|
|
3620
3623
|
});
|
|
3621
3624
|
}
|
|
3625
|
+
/**
|
|
3626
|
+
* @hidden
|
|
3627
|
+
* Checks if the incoming app id is an instance of AppId
|
|
3628
|
+
* @param potentialAppId An object to check if it's an instance of AppId
|
|
3629
|
+
* @throws Error with a message describing the violation
|
|
3630
|
+
* @internal
|
|
3631
|
+
* Limited to Microsoft-internal use
|
|
3632
|
+
*/
|
|
3633
|
+
function validateAppIdInstance(potentialAppId) {
|
|
3634
|
+
if (!(potentialAppId instanceof AppId)) {
|
|
3635
|
+
throw new Error(`Potential app id (${potentialAppId}) is invalid; it is not an instance of AppId class.`);
|
|
3636
|
+
}
|
|
3637
|
+
}
|
|
3622
3638
|
|
|
3623
3639
|
;// ./src/public/appId.ts
|
|
3624
3640
|
|
|
@@ -8707,14 +8723,6 @@ function externalAppAuthentication_isSupported() {
|
|
|
8707
8723
|
}
|
|
8708
8724
|
|
|
8709
8725
|
;// ./src/private/externalAppAuthenticationForCEA.ts
|
|
8710
|
-
/**
|
|
8711
|
-
* @hidden
|
|
8712
|
-
* Module to delegate authentication requests to the host for custom engine agents
|
|
8713
|
-
* @internal
|
|
8714
|
-
* Limited to Microsoft-internal use
|
|
8715
|
-
* @beta
|
|
8716
|
-
* @module
|
|
8717
|
-
*/
|
|
8718
8726
|
var externalAppAuthenticationForCEA_awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
8719
8727
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
8720
8728
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
@@ -8724,6 +8732,15 @@ var externalAppAuthenticationForCEA_awaiter = (undefined && undefined.__awaiter)
|
|
|
8724
8732
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8725
8733
|
});
|
|
8726
8734
|
};
|
|
8735
|
+
/**
|
|
8736
|
+
* @hidden
|
|
8737
|
+
* Module to delegate authentication requests to the host for custom engine agents
|
|
8738
|
+
* @internal
|
|
8739
|
+
* Limited to Microsoft-internal use
|
|
8740
|
+
* @beta
|
|
8741
|
+
* @module
|
|
8742
|
+
*/
|
|
8743
|
+
|
|
8727
8744
|
|
|
8728
8745
|
|
|
8729
8746
|
|
|
@@ -8750,7 +8767,7 @@ function externalAppAuthenticationForCEA_authenticateWithSSO(appId, conversation
|
|
|
8750
8767
|
if (!externalAppAuthenticationForCEA_isSupported()) {
|
|
8751
8768
|
throw errorNotSupportedOnPlatform;
|
|
8752
8769
|
}
|
|
8753
|
-
|
|
8770
|
+
validateInput(appId, conversationId);
|
|
8754
8771
|
return callFunctionInHost("externalAppAuthenticationForCEA.authenticateWithSSO" /* ApiName.ExternalAppAuthenticationForCEA_AuthenticateWithSSO */, [appId, conversationId, authTokenRequest.claims, authTokenRequest.silent], getApiVersionTag(externalAppAuthenticationForCEA_externalAppAuthenticationTelemetryVersionNumber, "externalAppAuthenticationForCEA.authenticateWithSSO" /* ApiName.ExternalAppAuthenticationForCEA_AuthenticateWithSSO */), isInvokeError);
|
|
8755
8772
|
});
|
|
8756
8773
|
}
|
|
@@ -8772,7 +8789,7 @@ function authenticateWithOauth(appId, conversationId, authenticateParameters) {
|
|
|
8772
8789
|
if (!externalAppAuthenticationForCEA_isSupported()) {
|
|
8773
8790
|
throw errorNotSupportedOnPlatform;
|
|
8774
8791
|
}
|
|
8775
|
-
|
|
8792
|
+
validateInput(appId, conversationId);
|
|
8776
8793
|
// Ask the parent window to open an authentication window with the parameters provided by the caller.
|
|
8777
8794
|
return callFunctionInHost("externalAppAuthenticationForCEA.authenticateWithOauth" /* ApiName.ExternalAppAuthenticationForCEA_AuthenticateWithOauth */, [
|
|
8778
8795
|
appId,
|
|
@@ -8803,7 +8820,7 @@ function externalAppAuthenticationForCEA_authenticateAndResendRequest(appId, con
|
|
|
8803
8820
|
if (!externalAppAuthenticationForCEA_isSupported()) {
|
|
8804
8821
|
throw errorNotSupportedOnPlatform;
|
|
8805
8822
|
}
|
|
8806
|
-
|
|
8823
|
+
validateInput(appId, conversationId);
|
|
8807
8824
|
validateActionExecuteInvokeRequest(originalRequestInfo);
|
|
8808
8825
|
// Ask the parent window to open an authentication window with the parameters provided by the caller.
|
|
8809
8826
|
return callFunctionInHostAndHandleResponse("externalAppAuthenticationForCEA.authenticateAndResendRequest" /* ApiName.ExternalAppAuthenticationForCEA_AuthenticateAndResendRequest */, [
|
|
@@ -8836,7 +8853,7 @@ function externalAppAuthenticationForCEA_authenticateWithSSOAndResendRequest(app
|
|
|
8836
8853
|
if (!externalAppAuthenticationForCEA_isSupported()) {
|
|
8837
8854
|
throw errorNotSupportedOnPlatform;
|
|
8838
8855
|
}
|
|
8839
|
-
|
|
8856
|
+
validateInput(appId, conversationId);
|
|
8840
8857
|
validateActionExecuteInvokeRequest(originalRequestInfo);
|
|
8841
8858
|
return callFunctionInHostAndHandleResponse("externalAppAuthenticationForCEA.authenticateWithSSOAndResendRequest" /* ApiName.ExternalAppAuthenticationForCEA_AuthenticateWithSSOAndResendRequest */, [
|
|
8842
8859
|
appId,
|
|
@@ -8859,6 +8876,20 @@ function externalAppAuthenticationForCEA_authenticateWithSSOAndResendRequest(app
|
|
|
8859
8876
|
function externalAppAuthenticationForCEA_isSupported() {
|
|
8860
8877
|
return ensureInitialized(runtime) && runtime.supports.externalAppAuthenticationForCEA ? true : false;
|
|
8861
8878
|
}
|
|
8879
|
+
/**
|
|
8880
|
+
* @hidden
|
|
8881
|
+
* Checks if the input is valid
|
|
8882
|
+
* @param appId App ID of the app upon whose behalf Copilot is requesting authentication. This must be a UUID.
|
|
8883
|
+
* @param conversationId ConversationId To tell the bot what conversation the calls are coming from
|
|
8884
|
+
|
|
8885
|
+
* @throws Error if {@linkcode app.initialize} has not successfully completed
|
|
8886
|
+
* @internal
|
|
8887
|
+
* Limited to Microsoft-internal use
|
|
8888
|
+
*/
|
|
8889
|
+
function validateInput(appId, conversationId) {
|
|
8890
|
+
validateId(conversationId, new Error('conversation id is not valid.'));
|
|
8891
|
+
validateAppIdInstance(appId);
|
|
8892
|
+
}
|
|
8862
8893
|
|
|
8863
8894
|
;// ./src/private/externalAppCardActions.ts
|
|
8864
8895
|
/**
|
|
@@ -9017,7 +9048,7 @@ function externalAppCardActionsForCEA_processActionOpenUrl(appId, conversationId
|
|
|
9017
9048
|
if (!externalAppCardActionsForCEA_isSupported()) {
|
|
9018
9049
|
throw errorNotSupportedOnPlatform;
|
|
9019
9050
|
}
|
|
9020
|
-
|
|
9051
|
+
validateInput(appId, conversationId);
|
|
9021
9052
|
const [error, response] = yield sendMessageToParentAsync(getApiVersionTag(externalAppCardActionsForCEA_externalAppCardActionsTelemetryVersionNumber, "externalAppCardActionsForCEA.processActionOpenUrl" /* ApiName.ExternalAppCardActionsForCEA_ProcessActionOpenUrl */), "externalAppCardActionsForCEA.processActionOpenUrl" /* ApiName.ExternalAppCardActionsForCEA_ProcessActionOpenUrl */, [appId.toString(), conversationId, url.href]);
|
|
9022
9053
|
if (error) {
|
|
9023
9054
|
throw error;
|
|
@@ -9045,7 +9076,7 @@ function externalAppCardActionsForCEA_processActionSubmit(appId, conversationId,
|
|
|
9045
9076
|
if (!externalAppCardActionsForCEA_isSupported()) {
|
|
9046
9077
|
throw errorNotSupportedOnPlatform;
|
|
9047
9078
|
}
|
|
9048
|
-
|
|
9079
|
+
validateInput(appId, conversationId);
|
|
9049
9080
|
const error = yield sendAndUnwrap(getApiVersionTag(externalAppCardActionsForCEA_externalAppCardActionsTelemetryVersionNumber, "externalAppCardActionsForCEA.processActionSubmit" /* ApiName.ExternalAppCardActionsForCEA_ProcessActionSubmit */), "externalAppCardActionsForCEA.processActionSubmit" /* ApiName.ExternalAppCardActionsForCEA_ProcessActionSubmit */, appId.toString(), conversationId, actionSubmitPayload);
|
|
9050
9081
|
if (error) {
|
|
9051
9082
|
throw error;
|