@microsoft/teamsfx 3.0.3-alpha.ef180c1c1.0 → 4.0.0-alpha.16c75884b.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.
@@ -1,4 +1,4 @@
1
- "use strict";var e=require("jwt-decode"),t=require("@azure/msal-node"),o=require("crypto"),n=require("botbuilder"),i=require("botbuilder-dialogs"),r=require("uuid"),s=require("axios"),a=require("https"),d=require("adaptivecards-templating"),c=require("path"),l=require("fs");function u(e){var t=Object.create(null);return e&&Object.keys(e).forEach((function(o){if("default"!==o){var n=Object.getOwnPropertyDescriptor(e,o);Object.defineProperty(t,o,n.get?n:{enumerable:!0,get:function(){return e[o]}})}})),t.default=e,Object.freeze(t)}var h,p,v=u(d),y=u(c),f=u(l);exports.ErrorCode=void 0,(h=exports.ErrorCode||(exports.ErrorCode={})).InvalidParameter="InvalidParameter",h.InvalidConfiguration="InvalidConfiguration",h.InvalidCertificate="InvalidCertificate",h.InternalError="InternalError",h.ChannelNotSupported="ChannelNotSupported",h.FailedToRetrieveSsoToken="FailedToRetrieveSsoToken",h.FailedToProcessSsoHandler="FailedToProcessSsoHandler",h.CannotFindCommand="CannotFindCommand",h.FailedToRunSsoStep="FailedToRunSsoStep",h.FailedToRunDedupStep="FailedToRunDedupStep",h.SsoActivityHandlerIsUndefined="SsoActivityHandlerIsUndefined",h.RuntimeNotSupported="RuntimeNotSupported",h.ConsentFailed="ConsentFailed",h.UiRequiredError="UiRequiredError",h.TokenExpiredError="TokenExpiredError",h.ServiceError="ServiceError",h.FailedOperation="FailedOperation",h.InvalidResponse="InvalidResponse",h.AuthorizationInfoAlreadyExists="AuthorizationInfoAlreadyExists";class m{}m.InvalidConfiguration="{0} in configuration is invalid: {1}.",m.ConfigurationNotExists="Configuration does not exist. {0}",m.ResourceConfigurationNotExists="{0} resource configuration does not exist.",m.MissingResourceConfiguration="Missing resource configuration with type: {0}, name: {1}.",m.AuthenticationConfigurationNotExists="Authentication configuration does not exist.",m.BrowserRuntimeNotSupported="{0} is not supported in browser.",m.NodejsRuntimeNotSupported="{0} is not supported in Node.",m.FailToAcquireTokenOnBehalfOfUser="Failed to acquire access token on behalf of user: {0}",m.OnlyMSTeamsChannelSupported="{0} is only supported in MS Teams Channel",m.FailedToProcessSsoHandler="Failed to process sso handler: {0}",m.FailedToRetrieveSsoToken="Failed to retrieve sso token, user failed to finish the AAD consent flow.",m.CannotFindCommand="Cannot find command: {0}",m.FailedToRunSsoStep="Failed to run dialog to retrieve sso token: {0}",m.FailedToRunDedupStep="Failed to run dialog to remove duplicated messages: {0}",m.SsoActivityHandlerIsNull="Sso command can only be used or added when sso activity handler is not undefined",m.AuthorizationHeaderAlreadyExists="Authorization header already exists!",m.BasicCredentialAlreadyExists="Basic credential already exists!",m.EmptyParameter="Parameter {0} is empty",m.DuplicateHttpsOptionProperty="Axios HTTPS agent already defined value for property {0}",m.DuplicateApiKeyInHeader="The request already defined api key in request header with name {0}.",m.DuplicateApiKeyInQueryParam="The request already defined api key in query parameter with name {0}.",m.OnlySupportInQueryActivity="The handleMessageExtensionQueryWithToken only support in handleTeamsMessagingExtensionQuery with composeExtension/query type.",m.OnlySupportInLinkQueryActivity="The handleMessageExtensionLinkQueryWithSSO only support in handleTeamsAppBasedLinkQuery with composeExtension/queryLink type.";class g extends Error{constructor(e,t){if(!t)return super(e),this;super(e),Object.setPrototypeOf(this,g.prototype),this.name=`${new.target.name}.${t}`,this.code=t}}
1
+ "use strict";var e=require("jwt-decode"),t=require("@azure/msal-node"),o=require("crypto"),n=require("@microsoft/agents-hosting"),i=require("@microsoft/agents-hosting-teams"),r=require("@microsoft/agents-hosting-dialogs"),s=require("@microsoft/agents-activity"),a=require("uuid"),d=require("axios"),c=require("https"),l=require("adaptivecards-templating"),u=require("path"),h=require("fs");function p(e){var t=Object.create(null);return e&&Object.keys(e).forEach((function(o){if("default"!==o){var n=Object.getOwnPropertyDescriptor(e,o);Object.defineProperty(t,o,n.get?n:{enumerable:!0,get:function(){return e[o]}})}})),t.default=e,Object.freeze(t)}var v,y,f=p(l),m=p(u),g=p(h);exports.ErrorCode=void 0,(v=exports.ErrorCode||(exports.ErrorCode={})).InvalidParameter="InvalidParameter",v.InvalidConfiguration="InvalidConfiguration",v.InvalidCertificate="InvalidCertificate",v.InternalError="InternalError",v.ChannelNotSupported="ChannelNotSupported",v.FailedToRetrieveSsoToken="FailedToRetrieveSsoToken",v.FailedToProcessSsoHandler="FailedToProcessSsoHandler",v.CannotFindCommand="CannotFindCommand",v.FailedToRunSsoStep="FailedToRunSsoStep",v.FailedToRunDedupStep="FailedToRunDedupStep",v.SsoActivityHandlerIsUndefined="SsoActivityHandlerIsUndefined",v.RuntimeNotSupported="RuntimeNotSupported",v.ConsentFailed="ConsentFailed",v.UiRequiredError="UiRequiredError",v.TokenExpiredError="TokenExpiredError",v.ServiceError="ServiceError",v.FailedOperation="FailedOperation",v.InvalidResponse="InvalidResponse",v.AuthorizationInfoAlreadyExists="AuthorizationInfoAlreadyExists";class C{}C.InvalidConfiguration="{0} in configuration is invalid: {1}.",C.ConfigurationNotExists="Configuration does not exist. {0}",C.ResourceConfigurationNotExists="{0} resource configuration does not exist.",C.MissingResourceConfiguration="Missing resource configuration with type: {0}, name: {1}.",C.AuthenticationConfigurationNotExists="Authentication configuration does not exist.",C.BrowserRuntimeNotSupported="{0} is not supported in browser.",C.NodejsRuntimeNotSupported="{0} is not supported in Node.",C.FailToAcquireTokenOnBehalfOfUser="Failed to acquire access token on behalf of user: {0}",C.OnlyMSTeamsChannelSupported="{0} is only supported in MS Teams Channel",C.FailedToProcessSsoHandler="Failed to process sso handler: {0}",C.FailedToRetrieveSsoToken="Failed to retrieve sso token, user failed to finish the AAD consent flow.",C.CannotFindCommand="Cannot find command: {0}",C.FailedToRunSsoStep="Failed to run dialog to retrieve sso token: {0}",C.FailedToRunDedupStep="Failed to run dialog to remove duplicated messages: {0}",C.SsoActivityHandlerIsNull="Sso command can only be used or added when sso activity handler is not undefined",C.AuthorizationHeaderAlreadyExists="Authorization header already exists!",C.BasicCredentialAlreadyExists="Basic credential already exists!",C.EmptyParameter="Parameter {0} is empty",C.DuplicateHttpsOptionProperty="Axios HTTPS agent already defined value for property {0}",C.DuplicateApiKeyInHeader="The request already defined api key in request header with name {0}.",C.DuplicateApiKeyInQueryParam="The request already defined api key in query parameter with name {0}.",C.OnlySupportInQueryActivity="The handleMessageExtensionQueryWithToken only support in handleTeamsMessagingExtensionQuery with composeExtension/query type.",C.OnlySupportInLinkQueryActivity="The handleMessageExtensionLinkQueryWithSSO only support in handleTeamsAppBasedLinkQuery with composeExtension/queryLink type.";class x extends Error{constructor(e,t){if(!t)return super(e),this;super(e),Object.setPrototypeOf(this,x.prototype),this.name=`${new.target.name}.${t}`,this.code=t}}
2
2
  /*! *****************************************************************************
3
3
  Copyright (c) Microsoft Corporation.
4
4
 
@@ -12,5 +12,5 @@ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
12
12
  LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
13
13
  OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
14
14
  PERFORMANCE OF THIS SOFTWARE.
15
- ***************************************************************************** */function C(e,t,o,n){return new(o||(o=Promise))((function(i,r){function s(e){try{d(n.next(e))}catch(e){r(e)}}function a(e){try{d(n.throw(e))}catch(e){r(e)}}function d(e){var t;e.done?i(e.value):(t=e.value,t instanceof o?t:new o((function(e){e(t)}))).then(s,a)}d((n=n.apply(e,t||[])).next())}))}exports.LogLevel=void 0,(p=exports.LogLevel||(exports.LogLevel={}))[p.Verbose=0]="Verbose",p[p.Info=1]="Info",p[p.Warn=2]="Warn",p[p.Error=3]="Error";const x=new class{constructor(e,t){this.level=void 0,this.defaultLogger={verbose:console.debug,info:console.info,warn:console.warn,error:console.error},this.name=e,this.level=t}error(e){this.log(exports.LogLevel.Error,(e=>e.error),e)}warn(e){this.log(exports.LogLevel.Warn,(e=>e.warn),e)}info(e){this.log(exports.LogLevel.Info,(e=>e.info),e)}verbose(e){this.log(exports.LogLevel.Verbose,(e=>e.verbose),e)}log(e,t,o){if(""===o.trim())return;const n=(new Date).toUTCString();let i;i=this.name?`[${n}] : @microsoft/teamsfx - ${this.name} : ${exports.LogLevel[e]} - `:`[${n}] : @microsoft/teamsfx : ${exports.LogLevel[e]} - `;const r=`${i}${o}`;void 0!==this.level&&this.level<=e&&(this.customLogger?t(this.customLogger)(r):this.customLogFunction?this.customLogFunction(e,r):t(this.defaultLogger)(r))}};function A(t){try{const o=e.jwtDecode(t);if(!o||!o.exp)throw new g("Decoded token is null or exp claim does not exists.",exports.ErrorCode.InternalError);return o}catch(e){const t="Parse jwt token failed in node env with error: "+e.message;throw x.error(t),new g(t,exports.ErrorCode.InternalError)}}function T(e,...t){const o=t;return e.replace(/{(\d+)}/g,(function(e,t){return void 0!==o[t]?o[t]:e}))}function S(e){if("string"==typeof e||e instanceof String)return;if(Array.isArray(e)&&0===e.length)return;if(Array.isArray(e)&&e.length>0&&e.every((e=>"string"==typeof e)))return;const t="The type of scopes is not valid, it must be string or string array";throw x.error(t),new g(t,exports.ErrorCode.InvalidParameter)}function w(e){return("string"==typeof e?e.split(" "):e).filter((e=>null!==e&&""!==e))}function I(e){const n=(i=e.authorityHost,r=e.tenantId,i.replace(/\/+$/g,"")+"/"+r);var i,r;const s=function(e){if(!e)return;const t=/(-+BEGIN CERTIFICATE-+)(\n\r?|\r\n?)([A-Za-z0-9+/\n\r]+=*)(\n\r?|\r\n?)(-+END CERTIFICATE-+)/.exec(e);if(!t){const e="The certificate content does not contain a PEM-encoded certificate.";throw x.error(e),new g(e,exports.ErrorCode.InvalidCertificate)}return{thumbprintSha256:o.createHash("sha256").update(Buffer.from(t[3],"base64")).digest("hex").toUpperCase(),privateKey:e}}(e.certificateContent),a={clientId:e.clientId,authority:n};return s?a.clientCertificate=s:a.clientSecret=e.clientSecret,new t.ConfidentialClientApplication({auth:a})}class E{constructor(e,t){x.info("Get on behalf of user credential");const o=[];if(t.clientId||o.push("clientId"),t.authorityHost||o.push("authorityHost"),t.clientSecret||t.certificateContent||o.push("clientSecret or certificateContent"),t.tenantId||o.push("tenantId"),0!=o.length){const e=T(m.InvalidConfiguration,o.join(", "),"undefined");throw x.error(e),new g(e,exports.ErrorCode.InvalidConfiguration)}this.msalClient=I(t);const n=A(e);this.ssoToken={token:e,expiresOnTimestamp:n.exp}}getToken(e,t){return C(this,void 0,void 0,(function*(){S(e);const t=w(e);let o;if(t.length){let e;x.info("Get access token with scopes: "+t.join(" "));try{e=yield this.msalClient.acquireTokenOnBehalfOf({oboAssertion:this.ssoToken.token,scopes:t})}catch(e){throw this.generateAuthServerError(e)}if(!e){const e="Access token is null";throw x.error(e),new g(T(m.FailToAcquireTokenOnBehalfOfUser,e),exports.ErrorCode.InternalError)}o={token:e.accessToken,expiresOnTimestamp:e.expiresOn.getTime()}}else{if(x.info("Get SSO token."),Math.floor(Date.now()/1e3)>this.ssoToken.expiresOnTimestamp){const e="Sso token has already expired.";throw x.error(e),new g(e,exports.ErrorCode.TokenExpiredError)}o=this.ssoToken}return o}))}getUserInfo(){return x.info("Get basic user info from SSO token"),function(e){if(!e){const e="SSO token is undefined.";throw x.error(e),new g(e,exports.ErrorCode.InvalidParameter)}const t=A(e),o={displayName:t.name,objectId:t.oid,tenantId:t.tid,preferredUserName:""};return"2.0"===t.ver?o.preferredUserName=t.preferred_username:"1.0"===t.ver&&(o.preferredUserName=t.upn),o}(this.ssoToken.token)}generateAuthServerError(e){const t=e.errorMessage;if("InteractionRequiredAuthError"===e.name){const e="Failed to get access token from AAD server, interaction required: "+t;return x.warn(e),new g(e,exports.ErrorCode.UiRequiredError)}if(t&&t.indexOf("AADSTS50013")>=0){const e="Failed to get access token from AAD server, assertion is invalid because of various reasons: "+t;return x.error(e),new g(e,exports.ErrorCode.TokenExpiredError)}{const e=T(m.FailToAcquireTokenOnBehalfOfUser,t);return x.error(e),new g(e,exports.ErrorCode.ServiceError)}}}const k="invokeResponse";class R{constructor(e,t){this.id=e,this.failureDetail=t}}class b extends i.Dialog{constructor(e,t,o,n){super(o),this.initiateLoginEndpoint=t,this.authConfig=e,this.settings=n,S(this.settings.scopes),function(e){if(e.clientId&&(e.clientSecret||e.certificateContent)&&e.tenantId&&e.authorityHost)return;const t=[];e.clientId||t.push("clientId"),e.clientSecret||e.certificateContent||t.push("clientSecret or certificateContent"),e.tenantId||t.push("tenantId"),e.authorityHost||t.push("authorityHost");const o=T(m.InvalidConfiguration,t.join(", "),"undefined");throw x.error(o),new g(o,exports.ErrorCode.InvalidConfiguration)}(this.authConfig),x.info("Create a new Teams Bot SSO Prompt")}beginDialog(e){return C(this,void 0,void 0,(function*(){var t;x.info("Begin Teams Bot SSO Prompt"),this.ensureMsTeamsChannel(e);let o=9e5;if(this.settings.timeout){if("number"!=typeof this.settings.timeout){const e="type of timeout property in teamsBotSsoPromptSettings should be number.";throw x.error(e),new g(e,exports.ErrorCode.InvalidParameter)}if(this.settings.timeout<=0){const e="value of timeout property in teamsBotSsoPromptSettings should be positive.";throw x.error(e),new g(e,exports.ErrorCode.InvalidParameter)}o=this.settings.timeout}void 0===this.settings.endOnInvalidMessage&&(this.settings.endOnInvalidMessage=!0);const n=null===(t=e.activeDialog)||void 0===t?void 0:t.state;return n.state={},n.options={},n.expires=(new Date).getTime()+o,yield this.sendOAuthCardAsync(e.context),i.Dialog.EndOfTurn}))}continueDialog(e){return C(this,void 0,void 0,(function*(){var t;x.info("Continue Teams Bot SSO Prompt"),this.ensureMsTeamsChannel(e);const o=null===(t=e.activeDialog)||void 0===t?void 0:t.state,r=e.context.activity.type===n.ActivityTypes.Message;if((r||this.isTeamsVerificationInvoke(e.context)||this.isTokenExchangeRequestInvoke(e.context))&&(new Date).getTime()>o.expires)return x.warn("End Teams Bot SSO Prompt due to timeout"),yield e.endDialog(void 0);if(this.isTeamsVerificationInvoke(e.context)||this.isTokenExchangeRequestInvoke(e.context)){const t=yield this.recognizeToken(e);if(t.succeeded)return yield e.endDialog(t.value)}else if(r&&this.settings.endOnInvalidMessage)return x.warn("End Teams Bot SSO Prompt due to invalid message"),yield e.endDialog(void 0);return i.Dialog.EndOfTurn}))}ensureMsTeamsChannel(e){if(e.context.activity.channelId!=n.Channels.Msteams){const e=T(m.OnlyMSTeamsChannelSupported,"Teams Bot SSO Prompt");throw x.error(e),new g(e,exports.ErrorCode.ChannelNotSupported)}}sendOAuthCardAsync(e){return C(this,void 0,void 0,(function*(){x.verbose("Send OAuth card to get SSO token");const t=yield n.TeamsInfo.getMember(e,e.activity.from.id);x.verbose("Get Teams member account user principal name: "+(t.userPrincipalName?t.userPrincipalName:""));const o=t.userPrincipalName?t.userPrincipalName:"",i=this.getSignInResource(o),r=n.CardFactory.oauthCard("","Teams SSO Sign In","Sign In",i.signInLink,i.tokenExchangeResource);r.content.buttons[0].type=n.ActionTypes.Signin;const s=n.MessageFactory.attachment(r);yield e.sendActivity(s)}))}getSignInResource(e){x.verbose("Get sign in authentication configuration");const t=`${this.initiateLoginEndpoint}?scope=${encodeURI(this.settings.scopes.join(" "))}&clientId=${this.authConfig.clientId}&tenantId=${this.authConfig.tenantId}&loginHint=${e}`;x.verbose("Sign in link: "+t);return{signInLink:t,tokenExchangeResource:{id:r.v4()}}}recognizeToken(e){return C(this,void 0,void 0,(function*(){const t=e.context;let o;if(this.isTokenExchangeRequestInvoke(t))if(x.verbose("Receive token exchange request"),t.activity.value&&this.isTokenExchangeRequest(t.activity.value)){const e=t.activity.value.token,i=new E(e,this.authConfig);let r;try{if(r=yield i.getToken(this.settings.scopes),r){yield t.sendActivity(this.getTokenExchangeInvokeResponse(n.StatusCodes.OK,"",t.activity.value.id));const i=A(e).exp;o={ssoToken:e,ssoTokenExpiration:new Date(1e3*i).toISOString(),connectionName:"",token:r.token,expiration:r.expiresOnTimestamp.toString()}}}catch(e){const o="The bot is unable to exchange token. Ask for user consent.";x.info(o),yield t.sendActivity(this.getTokenExchangeInvokeResponse(n.StatusCodes.PRECONDITION_FAILED,o,t.activity.value.id))}}else{const e="The bot received an InvokeActivity that is missing a TokenExchangeInvokeRequest value. This is required to be sent with the InvokeActivity.";x.warn(e),yield t.sendActivity(this.getTokenExchangeInvokeResponse(n.StatusCodes.BAD_REQUEST,e))}else this.isTeamsVerificationInvoke(t)&&(x.verbose("Receive Teams state verification request"),yield this.sendOAuthCardAsync(e.context),yield t.sendActivity({type:k,value:{status:n.StatusCodes.OK}}));return void 0!==o?{succeeded:!0,value:o}:{succeeded:!1}}))}getTokenExchangeInvokeResponse(e,t,o){return{type:k,value:{status:e,body:new R(o,t)}}}isTeamsVerificationInvoke(e){const t=e.activity;return t.type===n.ActivityTypes.Invoke&&t.name===n.verifyStateOperationName}isTokenExchangeRequestInvoke(e){const t=e.activity;return t.type===n.ActivityTypes.Invoke&&t.name===n.tokenExchangeOperationName}isTokenExchangeRequest(e){return e.hasOwnProperty("token")}}var O,P,F,N;exports.ApiKeyLocation=void 0,(O=exports.ApiKeyLocation||(exports.ApiKeyLocation={}))[O.Header=0]="Header",O[O.QueryParams=1]="QueryParams";exports.NotificationTargetType=void 0,(P=exports.NotificationTargetType||(exports.NotificationTargetType={})).Channel="Channel",P.Group="Group",P.Person="Person",exports.AdaptiveCardResponse=void 0,(F=exports.AdaptiveCardResponse||(exports.AdaptiveCardResponse={}))[F.ReplaceForInteractor=0]="ReplaceForInteractor",F[F.ReplaceForAll=1]="ReplaceForAll",F[F.NewForAll=2]="NewForAll",exports.InvokeResponseErrorCode=void 0,(N=exports.InvokeResponseErrorCode||(exports.InvokeResponseErrorCode={}))[N.BadRequest=400]="BadRequest",N[N.InternalServerError=500]="InternalServerError";let D="BotSsoExecutionDialog",M="TeamsFxSsoPrompt",H="CommandRouteDialog";class L extends i.ComponentDialog{constructor(e,t,o,n,r){super(null!=r?r:D),this.dedupStorageKeys=[],this.commandMapping=new Map,r&&(D=r,M=r+M,H=r+H);const s=new b(o,n,M,t);this.addDialog(s),this.initialDialogId=H,this.dedupStorage=e,this.dedupStorageKeys=[];const a=new i.WaterfallDialog(H,[this.commandRouteStep.bind(this)]);this.addDialog(a)}addCommand(e,t){const o=this.getCommandHash(t),n=new i.WaterfallDialog(o,[this.ssoStep.bind(this),this.dedupStep.bind(this),t=>C(this,void 0,void 0,(function*(){const o=t.result.tokenResponse,n=t.context,i=t.result.message;try{if(!o)throw new Error(m.FailedToRetrieveSsoToken);return yield e(n,o,i),yield t.endDialog()}catch(e){const o=T(m.FailedToProcessSsoHandler,e.message);return x.error(o),yield t.endDialog(new g(o,exports.ErrorCode.FailedToProcessSsoHandler))}}))]);this.commandMapping.set(o,t),this.addDialog(n)}getCommandHash(e){const t=(Array.isArray(e)?e:[e]).join();return t.replace(/[^a-zA-Z0-9]/g,"")+o.createHash("sha256").update(t).digest("hex").toLowerCase()}run(e,t){return C(this,void 0,void 0,(function*(){const o=new i.DialogSet(t);o.add(this);const n=yield o.createContext(e);this.ensureMsTeamsChannel(n);const r=yield n.continueDialog();if(r&&r.status===i.DialogTurnStatus.empty)yield n.beginDialog(this.id);else if(r&&r.status===i.DialogTurnStatus.complete&&r.result instanceof Error)throw r.result}))}getActivityText(e){let t=e.text;const o=n.TurnContext.removeRecipientMention(e);return o&&(t=o.toLowerCase().replace(/\n|\r\n/g,"").trim()),t}commandRouteStep(e){return C(this,void 0,void 0,(function*(){const t=e.context,o=this.getActivityText(t.activity),n=this.getMatchesCommandId(o);if(n)return yield e.beginDialog(n);const i=T(m.CannotFindCommand,t.activity.text);throw x.error(i),new g(i,exports.ErrorCode.CannotFindCommand)}))}ssoStep(e){return C(this,void 0,void 0,(function*(){try{const t=e.context,o={text:this.getActivityText(t.activity)};return e.options.commandMessage=o,yield e.beginDialog(M)}catch(t){const o=T(m.FailedToRunSsoStep,t.message);return x.error(o),yield e.endDialog(new g(o,exports.ErrorCode.FailedToRunSsoStep))}}))}dedupStep(e){return C(this,void 0,void 0,(function*(){const t=e.result;if(!t)return x.error(m.FailedToRetrieveSsoToken),yield e.endDialog(new g(m.FailedToRetrieveSsoToken,exports.ErrorCode.FailedToRunSsoStep));try{return t&&(yield this.shouldDedup(e.context))?i.Dialog.EndOfTurn:yield e.next({tokenResponse:t,message:e.options.commandMessage})}catch(t){const o=T(m.FailedToRunDedupStep,t.message);return x.error(o),yield e.endDialog(new g(o,exports.ErrorCode.FailedToRunDedupStep))}}))}onEndDialog(e){return C(this,void 0,void 0,(function*(){const t=e.activity.conversation.id,o=this.dedupStorageKeys.filter((e=>e.indexOf(t)>0));yield this.dedupStorage.delete(o),this.dedupStorageKeys=this.dedupStorageKeys.filter((e=>e.indexOf(t)<0))}))}shouldDedup(e){return C(this,void 0,void 0,(function*(){const t={eTag:e.activity.value.id},o=this.getStorageKey(e),n={[o]:t};try{yield this.dedupStorage.write(n),this.dedupStorageKeys.push(o)}catch(e){if(e instanceof Error&&e.message.indexOf("eTag conflict"))return!0;throw e}return!1}))}getStorageKey(e){if(!e||!e.activity||!e.activity.conversation)throw new Error("Invalid context, can not get storage key!");const t=e.activity,o=t.channelId,i=t.conversation.id;if(t.type!==n.ActivityTypes.Invoke||t.name!==n.tokenExchangeOperationName)throw new Error("TokenExchangeState can only be used with Invokes of signin/tokenExchange.");const r=t.value;if(!r||!r.id)throw new Error("Invalid signin/tokenExchange. Missing activity.value.id.");return`${o}/${i}/${r.id}`}matchPattern(e,t){if(t){if("string"==typeof e){return new RegExp(e,"i").test(t)}if(e instanceof RegExp){const o=t.match(e);return null!=o&&o}}return!1}isPatternMatched(e,t){const o=Array.isArray(e)?e:[e];for(const e of o){return!!this.matchPattern(e,t)}return!1}getMatchesCommandId(e){for(const t of this.commandMapping){const o=t[1];if(this.isPatternMatched(o,e))return t[0]}}ensureMsTeamsChannel(e){if(e.context.activity.channelId!=n.Channels.Msteams){const e=T(m.OnlyMSTeamsChannelSupported,"SSO execution dialog");throw x.error(e),new g(e,exports.ErrorCode.ChannelNotSupported)}}}class B{static attachAdaptiveCard(e,t){const o={$root:t};return{attachments:[n.CardFactory.adaptiveCard(new v.Template(e).expand(o))]}}static attachAdaptiveCardWithoutData(e){return{attachments:[n.CardFactory.adaptiveCard(e)]}}static attachHeroCard(e,t,o,i){return B.attachContent(n.CardFactory.heroCard(e,t,o,i))}static attachSigninCard(e,t,o){return B.attachContent(n.CardFactory.signinCard(e,t,o))}static attachO365ConnectorCard(e){return B.attachContent(n.CardFactory.o365ConnectorCard(e))}static AttachReceiptCard(e){return B.attachContent(n.CardFactory.receiptCard(e))}static attachThumbnailCard(e,t,o,i){return B.attachContent(n.CardFactory.thumbnailCard(e,t,o,i))}static attachContent(e){return{attachments:[e]}}}var q,U,j;!function(e){e.AdaptiveCard="application/vnd.microsoft.card.adaptive",e.Message="application/vnd.microsoft.activity.message",e.Error="application/vnd.microsoft.error"}(q||(q={}));class ${static textMessage(e){if(!e)throw new Error("The text message cannot be null or empty");return{status:n.StatusCodes.OK,body:{statusCode:n.StatusCodes.OK,type:q.Message,value:e}}}static adaptiveCard(e){if(!e)throw new Error("The adaptive card content cannot be null or undefined");return{status:n.StatusCodes.OK,body:{statusCode:n.StatusCodes.OK,type:q.AdaptiveCard,value:e}}}static errorResponse(e,t){return{status:n.StatusCodes.OK,body:{statusCode:e,type:q.Error,value:{code:e.toString(),message:t}}}}static createInvokeResponse(e,t){return{status:e,body:t}}}function K(e,t,o,i,r){return C(this,void 0,void 0,(function*(){const s=e.activity.value;if(!s.authentication||!s.authentication.token)return x.verbose("No AccessToken in request, return silentAuth for AccessToken"),function(e,t,o){const n=w(o);return{composeExtension:{type:"silentAuth",suggestedActions:{actions:[{type:"openUrl",value:`${t}?scope=${encodeURI(n.join(" "))}&clientId=${e.clientId}&tenantId=${e.tenantId}`,title:"Message Extension OAuth"}]}}}}(t,o,i);try{const e=new E(s.authentication.token,t),o=yield e.getToken(i),n=A(s.authentication.token).exp,a={ssoToken:s.authentication.token,ssoTokenExpiration:new Date(1e3*n).toISOString(),token:o.token,expiration:o.expiresOnTimestamp.toString(),connectionName:""};if(r)return yield r(a)}catch(r){if(r instanceof g&&r.code===exports.ErrorCode.UiRequiredError&&"composeExtension/query"===e.activity.name){x.verbose("User not consent yet, return 412 to user consent first.");const t={status:412};return void(yield e.sendActivity({value:t,type:n.ActivityTypes.InvokeResponse}))}if(r instanceof g&&r.code===exports.ErrorCode.UiRequiredError&&"composeExtension/queryLink"===e.activity.name){x.verbose("User not consent yet, return auth card for user login");const r=function(e,t,o){const n=w(o);return{composeExtension:{type:"auth",suggestedActions:{actions:[{type:"openUrl",value:`${t}?scope=${encodeURI(n.join(" "))}&clientId=${e.clientId}&tenantId=${e.tenantId}`,title:"Message Extension OAuth"}]}}}}(t,o,i);return void(yield e.sendActivity({value:{status:200,body:r},type:n.ActivityTypes.InvokeResponse}))}throw r}}))}class z{constructor(e){this.actionHandlers=[],this.defaultMessage="Your response was sent to the app",e&&e.length>0&&this.actionHandlers.push(...e)}onTurn(e,t){return C(this,void 0,void 0,(function*(){var o,i,r;if("adaptiveCard/action"===e.activity.name){const t=e.activity.value.action,s=t.verb;for(const a of this.actionHandlers)if((null===(o=a.triggerVerb)||void 0===o?void 0:o.toLowerCase())===(null==s?void 0:s.toLowerCase())){let o;try{o=yield a.handleActionInvoked(e,t.data)}catch(t){const o=$.errorResponse(exports.InvokeResponseErrorCode.InternalServerError,t.message);throw yield this.sendInvokeResponse(e,o),t}switch(null===(i=o.body)||void 0===i?void 0:i.type){case q.AdaptiveCard:const t=null===(r=o.body)||void 0===r?void 0:r.value;if(!t){const t="Adaptive card content cannot be found in the response body";throw yield this.sendInvokeResponse(e,$.errorResponse(exports.InvokeResponseErrorCode.InternalServerError,t)),new Error(t)}t.refresh&&a.adaptiveCardResponse!==exports.AdaptiveCardResponse.NewForAll&&(a.adaptiveCardResponse=exports.AdaptiveCardResponse.ReplaceForAll);const i=n.MessageFactory.attachment(n.CardFactory.adaptiveCard(t));a.adaptiveCardResponse===exports.AdaptiveCardResponse.NewForAll?(yield this.sendInvokeResponse(e,$.textMessage(this.defaultMessage)),yield e.sendActivity(i)):a.adaptiveCardResponse===exports.AdaptiveCardResponse.ReplaceForAll?(i.id=e.activity.replyToId,yield e.updateActivity(i),yield this.sendInvokeResponse(e,o)):yield this.sendInvokeResponse(e,o);break;case q.Message:case q.Error:default:yield this.sendInvokeResponse(e,o)}break}}yield t()}))}sendInvokeResponse(e,t){return C(this,void 0,void 0,(function*(){yield e.sendActivity({type:n.ActivityTypes.InvokeResponse,value:t})}))}}class G{constructor(e,t){this.middleware=new z(null==t?void 0:t.actions),this.adapter=e.use(this.middleware)}registerHandler(e){e&&this.middleware.actionHandlers.push(e)}registerHandlers(e){e&&this.middleware.actionHandlers.push(...e)}}class Q{constructor(e,t,o){if(this.commandHandlers=[],this.ssoCommandHandlers=[],e=null!=e?e:[],t=null!=t?t:[],this.hasSsoCommand=t.length>0,this.ssoActivityHandler=o,this.hasSsoCommand&&!this.ssoActivityHandler)throw x.error(m.SsoActivityHandlerIsNull),new g(m.SsoActivityHandlerIsNull,exports.ErrorCode.SsoActivityHandlerIsUndefined);this.commandHandlers.push(...e);for(const e of t)this.addSsoCommand(e)}addSsoCommand(e){var t;null===(t=this.ssoActivityHandler)||void 0===t||t.addCommand(((t,o,n)=>C(this,void 0,void 0,(function*(){const i=this.shouldTrigger(e.triggerPatterns,n.text);n.matches=Array.isArray(i)?i:void 0;const r=yield e.handleCommandReceived(t,n,o);yield this.processResponse(t,r)}))),e.triggerPatterns),this.ssoCommandHandlers.push(e),this.hasSsoCommand=!0}onTurn(e,t){return C(this,void 0,void 0,(function*(){var o,i;if(e.activity.type===n.ActivityTypes.Message){const t=this.getActivityText(e.activity);let n=!1;for(const o of this.commandHandlers){const i=this.shouldTrigger(o.triggerPatterns,t);if(i){const r={text:t};r.matches=Array.isArray(i)?i:void 0;const s=yield o.handleCommandReceived(e,r);yield this.processResponse(e,s),n=!0;break}}if(!n)for(const n of this.ssoCommandHandlers){if(this.shouldTrigger(n.triggerPatterns,t)){yield null===(o=this.ssoActivityHandler)||void 0===o?void 0:o.run(e);break}}}else this.hasSsoCommand&&(yield null===(i=this.ssoActivityHandler)||void 0===i?void 0:i.run(e));yield t()}))}processResponse(e,t){return C(this,void 0,void 0,(function*(){if("string"==typeof t)yield e.sendActivity(t);else{const o=t;o&&(yield e.sendActivity(o))}}))}matchPattern(e,t){if(t){if("string"==typeof e){return new RegExp(e,"i").test(t)}if(e instanceof RegExp){const o=t.match(e);return null!=o&&o}}return!1}shouldTrigger(e,t){const o=Array.isArray(e)?e:[e];for(const e of o){const o=this.matchPattern(e,t);if(o)return o}return!1}getActivityText(e){let t=e.text;const o=n.TurnContext.removeRecipientMention(e);return o&&(t=o.toLowerCase().replace(/\n|\r\n/g,"").trim()),t}}class _{constructor(e,t,o,n){this.ssoConfig=n,this.middleware=new Q(null==t?void 0:t.commands,null==t?void 0:t.ssoCommands,o),this.adapter=e.use(this.middleware)}registerCommand(e){e&&this.middleware.commandHandlers.push(e)}registerCommands(e){e&&this.middleware.commandHandlers.push(...e)}registerSsoCommand(e){this.validateSsoActivityHandler(),this.middleware.addSsoCommand(e)}registerSsoCommands(e){if(e.length>0){this.validateSsoActivityHandler();for(const t of e)this.middleware.addSsoCommand(t)}}validateSsoActivityHandler(){if(!this.middleware.ssoActivityHandler)throw x.error(m.SsoActivityHandlerIsNull),new g(m.SsoActivityHandlerIsNull,exports.ErrorCode.SsoActivityHandlerIsUndefined)}}function V(e){return JSON.parse(JSON.stringify(e))}function W(e){var t,o;return`_${null===(t=e.conversation)||void 0===t?void 0:t.tenantId}_${null===(o=e.conversation)||void 0===o?void 0:o.id}`}function J(e){var t,o,n;const i=null===(n=null===(o=null===(t=e.activity)||void 0===t?void 0:t.channelData)||void 0===o?void 0:o.team)||void 0===n?void 0:n.id;return i||(void 0===e.activity.conversation.name?e.activity.conversation.id:void 0)}!function(e){e[e.CurrentBotInstalled=0]="CurrentBotInstalled",e[e.CurrentBotMessaged=1]="CurrentBotMessaged",e[e.CurrentBotUninstalled=2]="CurrentBotUninstalled",e[e.TeamDeleted=3]="TeamDeleted",e[e.TeamRestored=4]="TeamRestored",e[e.Unknown=5]="Unknown"}(U||(U={}));class Z{constructor(e){this.conversationReferenceStore=e.conversationReferenceStore}onTurn(e,t){return C(this,void 0,void 0,(function*(){switch(this.classifyActivity(e.activity)){case U.CurrentBotInstalled:case U.TeamRestored:{const t=n.TurnContext.getConversationReference(e.activity);yield this.conversationReferenceStore.add(W(t),t,{overwrite:!0});break}case U.CurrentBotMessaged:yield this.tryAddMessagedReference(e);break;case U.CurrentBotUninstalled:case U.TeamDeleted:{const t=n.TurnContext.getConversationReference(e.activity);yield this.conversationReferenceStore.remove(W(t),t);break}}yield t()}))}classifyActivity(e){var t,o;const n=e.type;if("installationUpdate"===n){const o=null===(t=e.action)||void 0===t?void 0:t.toLowerCase();return"add"===o||"add-upgrade"===o?U.CurrentBotInstalled:U.CurrentBotUninstalled}if("conversationUpdate"===n){const t=null===(o=e.channelData)||void 0===o?void 0:o.eventType;if("teamDeleted"===t)return U.TeamDeleted;if("teamRestored"===t)return U.TeamRestored}else if("message"===n)return U.CurrentBotMessaged;return U.Unknown}tryAddMessagedReference(e){return C(this,void 0,void 0,(function*(){var t,o,i,r,s,a;const d=n.TurnContext.getConversationReference(e.activity),c=null===(t=null==d?void 0:d.conversation)||void 0===t?void 0:t.conversationType;if("personal"===c||"groupChat"===c)yield this.conversationReferenceStore.add(W(d),d,{overwrite:!1});else if("channel"===c){const t=null===(r=null===(i=null===(o=e.activity)||void 0===o?void 0:o.channelData)||void 0===i?void 0:i.team)||void 0===r?void 0:r.id,n=null===(a=null===(s=e.activity.channelData)||void 0===s?void 0:s.channel)||void 0===a?void 0:a.id;if(void 0!==t&&(void 0===n||t===n)){const e=V(d);e.conversation.id=t,yield this.conversationReferenceStore.add(W(e),e,{overwrite:!1})}}}))}}class X{constructor(e){var t;this.localFileName=null!==(t=process.env.TEAMSFX_NOTIFICATION_STORE_FILENAME)&&void 0!==t?t:".notification.localstore.json",this.filePath=y.resolve(e,this.localFileName)}add(e,t,o){return C(this,void 0,void 0,(function*(){if(o.overwrite||!(yield this.storeFileExists())){if(yield this.storeFileExists()){const o=yield this.readFromFile();yield this.writeToFile(Object.assign(o,{[e]:t}))}else yield this.writeToFile({[e]:t});return!0}return!1}))}remove(e,t){return C(this,void 0,void 0,(function*(){if(!(yield this.storeFileExists()))return!1;if(yield this.storeFileExists()){const t=yield this.readFromFile();void 0!==t[e]&&(delete t[e],yield this.writeToFile(t))}return!0}))}list(e,t){return C(this,void 0,void 0,(function*(){if(!(yield this.storeFileExists()))return{data:[],continuationToken:""};const e=yield this.readFromFile();return{data:Object.entries(e).map((e=>e[1])),continuationToken:""}}))}storeFileExists(){return new Promise((e=>{try{f.access(this.filePath,(t=>{e(!t)}))}catch(t){e(!1)}}))}readFromFile(){return new Promise(((e,t)=>{try{f.readFile(this.filePath,{encoding:"utf-8"},((o,n)=>{o?t(o):e(JSON.parse(n))}))}catch(e){t(e)}}))}writeToFile(e){return C(this,void 0,void 0,(function*(){return new Promise(((t,o)=>{try{const n=JSON.stringify(e,void 0,2);f.writeFile(this.filePath,n,{encoding:"utf-8"},(e=>{e?o(e):t()}))}catch(e){o(e)}}))}))}}class Y{constructor(e,t){this.type=exports.NotificationTargetType.Channel,this.parent=e,this.info=t}sendMessage(e,t){return C(this,void 0,void 0,(function*(){const o={};return yield this.parent.adapter.continueConversationAsync(this.parent.botAppId,this.parent.conversationReference,(n=>C(this,void 0,void 0,(function*(){const i=yield this.newConversation(n);yield this.parent.adapter.continueConversationAsync(this.parent.botAppId,i,(n=>C(this,void 0,void 0,(function*(){try{const t=yield n.sendActivity(e);o.id=null==t?void 0:t.id}catch(e){if(!t)throw e;yield t(n,e)}}))))})))),o}))}sendAdaptiveCard(e,t){return C(this,void 0,void 0,(function*(){const o={};return yield this.parent.adapter.continueConversationAsync(this.parent.botAppId,this.parent.conversationReference,(i=>C(this,void 0,void 0,(function*(){const r=yield this.newConversation(i);yield this.parent.adapter.continueConversationAsync(this.parent.botAppId,r,(i=>C(this,void 0,void 0,(function*(){try{const t=yield i.sendActivity({attachments:[n.CardFactory.adaptiveCard(e)]});o.id=null==t?void 0:t.id}catch(e){if(!t)throw e;yield t(i,e)}}))))})))),o}))}newConversation(e){const t=V(n.TurnContext.getConversationReference(e.activity));return t.conversation.id=this.info.id||"",Promise.resolve(t)}}class ee{constructor(e,t){this.type=exports.NotificationTargetType.Person,this.parent=e,this.account=t}sendMessage(e,t){return C(this,void 0,void 0,(function*(){const o={};return yield this.parent.adapter.continueConversationAsync(this.parent.botAppId,this.parent.conversationReference,(n=>C(this,void 0,void 0,(function*(){const i=yield this.newConversation(n);yield this.parent.adapter.continueConversationAsync(this.parent.botAppId,i,(n=>C(this,void 0,void 0,(function*(){try{const t=yield n.sendActivity(e);o.id=null==t?void 0:t.id}catch(e){if(!t)throw e;yield t(n,e)}}))))})))),o}))}sendAdaptiveCard(e,t){return C(this,void 0,void 0,(function*(){const o={};return yield this.parent.adapter.continueConversationAsync(this.parent.botAppId,this.parent.conversationReference,(i=>C(this,void 0,void 0,(function*(){const r=yield this.newConversation(i);yield this.parent.adapter.continueConversationAsync(this.parent.botAppId,r,(i=>C(this,void 0,void 0,(function*(){try{const t=yield i.sendActivity({attachments:[n.CardFactory.adaptiveCard(e)]});o.id=null==t?void 0:t.id}catch(e){if(!t)throw e;yield t(i,e)}}))))})))),o}))}newConversation(e){return C(this,void 0,void 0,(function*(){const t=V(n.TurnContext.getConversationReference(e.activity)),o=e.turnState.get(this.parent.adapter.ConnectorClientKey),i=yield o.conversations.createConversation({isGroup:!1,tenantId:e.activity.conversation.tenantId,bot:e.activity.recipient,members:[this.account],channelData:{}});return t.conversation.id=i.id,t}))}}class te{constructor(e,t,o){this.adapter=e,this.conversationReference=t,this.type=function(e){var t;const o=null===(t=e.conversation)||void 0===t?void 0:t.conversationType;return"personal"===o?exports.NotificationTargetType.Person:"groupChat"===o?exports.NotificationTargetType.Group:"channel"===o?exports.NotificationTargetType.Channel:void 0}(t),this.botAppId=o}sendMessage(e,t){return C(this,void 0,void 0,(function*(){const o={};return yield this.adapter.continueConversationAsync(this.botAppId,this.conversationReference,(n=>C(this,void 0,void 0,(function*(){try{const t=yield n.sendActivity(e);o.id=null==t?void 0:t.id}catch(e){if(!t)throw e;yield t(n,e)}})))),o}))}sendAdaptiveCard(e,t){return C(this,void 0,void 0,(function*(){const o={};return yield this.adapter.continueConversationAsync(this.botAppId,this.conversationReference,(i=>C(this,void 0,void 0,(function*(){try{const t=yield i.sendActivity({attachments:[n.CardFactory.adaptiveCard(e)]});o.id=null==t?void 0:t.id}catch(e){if(!t)throw e;yield t(i,e)}})))),o}))}channels(){return C(this,void 0,void 0,(function*(){const e=[];if(this.type!==exports.NotificationTargetType.Channel)return e;let t=[];yield this.adapter.continueConversationAsync(this.botAppId,this.conversationReference,(e=>C(this,void 0,void 0,(function*(){const o=J(e);void 0!==o&&(t=yield n.TeamsInfo.getTeamChannels(e,o))}))));for(const o of t)e.push(new Y(this,o));return e}))}getPagedMembers(e,t){return C(this,void 0,void 0,(function*(){let o={data:[],continuationToken:""};return yield this.adapter.continueConversationAsync(this.botAppId,this.conversationReference,(i=>C(this,void 0,void 0,(function*(){const r=yield n.TeamsInfo.getPagedMembers(i,e,t);o={data:r.members.map((e=>new ee(this,e))),continuationToken:r.continuationToken}})))),o}))}getTeamDetails(){return C(this,void 0,void 0,(function*(){if(this.type!==exports.NotificationTargetType.Channel)return;let e;return yield this.adapter.continueConversationAsync(this.botAppId,this.conversationReference,(t=>C(this,void 0,void 0,(function*(){const o=J(t);void 0!==o&&(e=yield n.TeamsInfo.getTeamDetails(t,o))})))),e}))}}class oe{constructor(e,t){var o,n;(null==t?void 0:t.store)?this.conversationReferenceStore=t.store:this.conversationReferenceStore=new X(y.resolve("1"===process.env.RUNNING_ON_AZURE&&null!==(o=process.env.TEMP)&&void 0!==o?o:"./")),this.adapter=e.use(new Z({conversationReferenceStore:this.conversationReferenceStore})),this.botAppId=null!==(n=null==t?void 0:t.botAppId)&&void 0!==n?n:process.env.BOT_ID}buildTeamsBotInstallation(e){if(!e)throw new Error("conversationReference is required.");return new te(this.adapter,e,this.botAppId)}validateInstallation(e){return C(this,void 0,void 0,(function*(){let t=!0;return yield this.adapter.continueConversationAsync(this.botAppId,e,(e=>C(this,void 0,void 0,(function*(){try{yield n.TeamsInfo.getPagedMembers(e,1)}catch(e){"BotNotInConversationRoster"===e.code&&(t=!1)}})))),t}))}getPagedInstallations(e,t){return C(this,arguments,void 0,(function*(e,t,o=!0){if(void 0===this.conversationReferenceStore||void 0===this.adapter)throw new Error("NotificationBot has not been initialized.");const n=yield this.conversationReferenceStore.list(e,t),i=[];for(const e of n.data){let t;o&&(t=yield this.validateInstallation(e)),!o||o&&t?i.push(new te(this.adapter,e,this.botAppId)):yield this.conversationReferenceStore.remove(W(e),e)}return{data:i,continuationToken:n.continuationToken}}))}findMember(e,t){return C(this,void 0,void 0,(function*(){for(const o of yield this.installations())if(this.matchSearchScope(o,t)){const t=[];let n;do{const e=yield o.getPagedMembers(void 0,n);n=e.continuationToken,t.push(...e.data)}while(n);for(const o of t)if(yield e(o))return o}}))}findChannel(e){return C(this,void 0,void 0,(function*(){for(const t of yield this.installations())if(t.type===exports.NotificationTargetType.Channel){const o=yield t.getTeamDetails();for(const n of yield t.channels())if(yield e(n,o))return n}}))}findAllMembers(e,t){return C(this,void 0,void 0,(function*(){const o=[];for(const n of yield this.installations())if(this.matchSearchScope(n,t)){const t=[];let i;do{const e=yield n.getPagedMembers(void 0,i);i=e.continuationToken,t.push(...e.data)}while(i);for(const n of t)(yield e(n))&&o.push(n)}return o}))}findAllChannels(e){return C(this,void 0,void 0,(function*(){const t=[];for(const o of yield this.installations())if(o.type===exports.NotificationTargetType.Channel){const n=yield o.getTeamDetails();for(const i of yield o.channels())(yield e(i,n))&&t.push(i)}return t}))}matchSearchScope(e,t){return t=null!=t?t:j.All,e.type===exports.NotificationTargetType.Channel&&0!=(t&j.Channel)||e.type===exports.NotificationTargetType.Group&&0!=(t&j.Group)||e.type===exports.NotificationTargetType.Person&&0!=(t&j.Person)}installations(){return C(this,void 0,void 0,(function*(){let e;const t=[];do{const o=yield this.getPagedInstallations(void 0,e);e=o.continuationToken,t.push(...o.data)}while(e);return t}))}}!function(e){e[e.Person=1]="Person",e[e.Group=2]="Group",e[e.Channel=4]="Channel",e[e.All=7]="All"}(j||(j={}));class ne extends n.TeamsActivityHandler{constructor(e){var t,o,i,r,s,a,d,c,l,u;super();const h=new n.MemoryStorage,p=null!==(o=null===(t=e.dialog)||void 0===t?void 0:t.userState)&&void 0!==o?o:new n.UserState(h),v=null!==(r=null===(i=e.dialog)||void 0===i?void 0:i.conversationState)&&void 0!==r?r:new n.ConversationState(h),y=null!==(a=null===(s=e.dialog)||void 0===s?void 0:s.dedupStorage)&&void 0!==a?a:h,f=e.aad,{scopes:m}=f,g=function(e,t){var o={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(o[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var i=0;for(n=Object.getOwnPropertySymbols(e);i<n.length;i++)t.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(e,n[i])&&(o[n[i]]=e[n[i]])}return o}(f,["scopes"]),x={scopes:m,timeout:null===(c=null===(d=e.dialog)||void 0===d?void 0:d.ssoPromptConfig)||void 0===c?void 0:c.timeout,endOnInvalidMessage:null===(u=null===(l=e.dialog)||void 0===l?void 0:l.ssoPromptConfig)||void 0===u?void 0:u.endOnInvalidMessage};this.ssoExecutionDialog=new L(y,x,g,g.initiateLoginEndpoint),this.conversationState=v,this.dialogState=v.createProperty("DialogState"),this.userState=p,this.onMessage(((e,t)=>C(this,void 0,void 0,(function*(){yield this.ssoExecutionDialog.run(e,this.dialogState),yield t()}))))}addCommand(e,t){this.ssoExecutionDialog.addCommand(e,t)}run(e){const t=Object.create(null,{run:{get:()=>super.run}});return C(this,void 0,void 0,(function*(){try{yield t.run.call(this,e)}finally{yield this.conversationState.saveChanges(e,!1),yield this.userState.saveChanges(e,!1)}}))}handleTeamsSigninVerifyState(e,t){return C(this,void 0,void 0,(function*(){yield this.ssoExecutionDialog.run(e,this.dialogState)}))}handleTeamsSigninTokenExchange(e,t){return C(this,void 0,void 0,(function*(){yield this.ssoExecutionDialog.run(e,this.dialogState)}))}}var ie=Object.freeze({__proto__:null,BotSsoExecutionDialog:L,CardActionBot:G,Channel:Y,CommandBot:_,ConversationBot:class{constructor(e){var t,o,n,i;let r;e.adapter?this.adapter=e.adapter:this.adapter=this.createDefaultAdapter(e.adapterConfig),(null==e?void 0:e.ssoConfig)&&(r=(null===(t=e.ssoConfig.dialog)||void 0===t?void 0:t.CustomBotSsoExecutionActivityHandler)?new e.ssoConfig.dialog.CustomBotSsoExecutionActivityHandler(e.ssoConfig):new ne(e.ssoConfig)),(null===(o=e.command)||void 0===o?void 0:o.enabled)&&(this.command=new _(this.adapter,e.command,r,e.ssoConfig)),(null===(n=e.notification)||void 0===n?void 0:n.enabled)&&(this.notification=new oe(this.adapter,e.notification)),(null===(i=e.cardAction)||void 0===i?void 0:i.enabled)&&(this.cardAction=new G(this.adapter,e.cardAction))}createDefaultAdapter(e){const t=void 0===e?new n.ConfigurationServiceClientCredentialFactory({MicrosoftAppId:process.env.BOT_ID,MicrosoftAppPassword:process.env.BOT_PASSWORD,MicrosoftAppType:"MultiTenant"}):new n.ConfigurationServiceClientCredentialFactory(e),o=new n.ConfigurationBotFrameworkAuthentication({},t),i=new n.CloudAdapter(o);return i.onTurnError=(e,t)=>C(this,void 0,void 0,(function*(){console.error("[onTurnError] unhandled error",t),"message"===e.activity.type&&(yield e.sendTraceActivity("OnTurnError Trace",t instanceof Error?t.message:t,"https://www.botframework.com/schemas/error","TurnError"),yield e.sendActivity(`The bot encountered unhandled error: ${t.message}`),yield e.sendActivity("To continue to run this bot, please fix the bot source code."))})),i}requestHandler(e,t,o){return C(this,void 0,void 0,(function*(){void 0===o&&(o=()=>C(this,void 0,void 0,(function*(){}))),yield this.adapter.process(e,t,o)}))}},Member:ee,NotificationBot:oe,get SearchScope(){return j},TeamsBotInstallation:te,sendAdaptiveCard:function(e,t,o){return e.sendAdaptiveCard(t,o)},sendMessage:function(e,t,o){return e.sendMessage(t,o)}});exports.ApiKeyProvider=class{constructor(e,t,o){if(!e)throw new g(T(m.EmptyParameter,"keyName"),exports.ErrorCode.InvalidParameter);if(!t)throw new g(T(m.EmptyParameter,"keyVaule"),exports.ErrorCode.InvalidParameter);this.keyName=e,this.keyValue=t,this.keyLocation=o}AddAuthenticationInfo(e){switch(this.keyLocation){case exports.ApiKeyLocation.Header:if(e.headers||(e.headers={}),e.headers[this.keyName])return Promise.reject(new g(T(m.DuplicateApiKeyInHeader,this.keyName),exports.ErrorCode.AuthorizationInfoAlreadyExists));e.headers[this.keyName]=this.keyValue;break;case exports.ApiKeyLocation.QueryParams:e.params||(e.params={});let t=!1;if(e.url){t=new URL(e.url,e.baseURL).searchParams.has(this.keyName)}if(e.params[this.keyName]||t)return Promise.reject(new g(T(m.DuplicateApiKeyInQueryParam,this.keyName),exports.ErrorCode.AuthorizationInfoAlreadyExists));e.params[this.keyName]=this.keyValue}return Promise.resolve(e)}},exports.AppCredential=class{constructor(e){x.info("Create M365 tenant credential");const t=this.loadAndValidateConfig(e);this.msalClient=I(t)}getToken(e,t){return C(this,void 0,void 0,(function*(){let t;S(e);const o="string"==typeof e?e:e.join(" ");x.info("Get access token with scopes: "+o);try{const o=w(e),n=yield this.msalClient.acquireTokenByClientCredential({scopes:o});n&&(t={token:n.accessToken,expiresOnTimestamp:n.expiresOn.getTime()})}catch(e){const t="Get M365 tenant credential failed with error: "+e.message;throw x.error(t),new g(t,exports.ErrorCode.ServiceError)}if(!t){const e="Get M365 tenant credential access token failed with empty access token";throw x.error(e),new g(e,exports.ErrorCode.InternalError)}return t}))}loadAndValidateConfig(e){if(x.verbose("Validate authentication configuration"),e.clientId&&(e.clientSecret||e.certificateContent)&&e.tenantId&&e.authorityHost)return e;const t=[];e.clientId||t.push("clientId"),e.clientSecret||e.certificateContent||t.push("clientSecret or certificateContent"),e.tenantId||t.push("tenantId"),e.authorityHost||t.push("authorityHost");const o=T(m.InvalidConfiguration,t.join(", "),"undefined");throw x.error(o),new g(o,exports.ErrorCode.InvalidConfiguration)}},exports.BasicAuthProvider=class{constructor(e,t){if(!e)throw new g(T(m.EmptyParameter,"username"),exports.ErrorCode.InvalidParameter);if(!t)throw new g(T(m.EmptyParameter,"password"),exports.ErrorCode.InvalidParameter);this.userName=e,this.password=t}AddAuthenticationInfo(e){return e.headers&&e.headers.Authorization?Promise.reject(new g(m.AuthorizationHeaderAlreadyExists,exports.ErrorCode.AuthorizationInfoAlreadyExists)):e.auth?Promise.reject(new g(m.BasicCredentialAlreadyExists,exports.ErrorCode.AuthorizationInfoAlreadyExists)):(e.auth={username:this.userName,password:this.password},Promise.resolve(e))}},exports.BearerTokenAuthProvider=class{constructor(e){this.getToken=e}AddAuthenticationInfo(e){return C(this,void 0,void 0,(function*(){const t=yield this.getToken();if(e.headers||(e.headers={}),e.headers.Authorization)throw new g(m.AuthorizationHeaderAlreadyExists,exports.ErrorCode.AuthorizationInfoAlreadyExists);return e.headers.Authorization=`Bearer ${t}`,e}))}},exports.BotBuilderCloudAdapter=ie,exports.BotSsoExecutionDialog=L,exports.CertificateAuthProvider=class{constructor(e){if(!e||0===Object.keys(e).length)throw new g(T(m.EmptyParameter,"certOption"),exports.ErrorCode.InvalidParameter);this.certOption=e}AddAuthenticationInfo(e){if(e.httpsAgent){const t=new Set(Object.keys(e.httpsAgent.options));for(const e of Object.keys(this.certOption))if(t.has(e))return Promise.reject(new g(T(m.DuplicateHttpsOptionProperty,e),exports.ErrorCode.InvalidParameter));Object.assign(e.httpsAgent.options,this.certOption)}else e.httpsAgent=new a.Agent(this.certOption);return Promise.resolve(e)}},exports.ErrorWithCode=g,exports.InvokeResponseFactory=$,exports.MessageBuilder=B,exports.OnBehalfOfUserCredential=E,exports.TeamsBotSsoPrompt=b,exports.TeamsUserCredential=class{constructor(e){throw new g(T(m.NodejsRuntimeNotSupported,"TeamsUserCredential"),exports.ErrorCode.RuntimeNotSupported)}login(e,t){return Promise.reject(new g(T(m.NodejsRuntimeNotSupported,"TeamsUserCredential"),exports.ErrorCode.RuntimeNotSupported))}getToken(e,t){return Promise.reject(new g(T(m.NodejsRuntimeNotSupported,"TeamsUserCredential"),exports.ErrorCode.RuntimeNotSupported))}getUserInfo(e){return Promise.reject(new g(T(m.NodejsRuntimeNotSupported,"TeamsUserCredential"),exports.ErrorCode.RuntimeNotSupported))}},exports.createApiClient=function(e,t){const o=s.create({baseURL:e});return o.interceptors.request.use((function(e){return C(this,void 0,void 0,(function*(){return yield t.AddAuthenticationInfo(e)}))})),o},exports.createPemCertOption=function(e,t,o){if(0===e.length)throw new g(T(m.EmptyParameter,"cert"),exports.ErrorCode.InvalidParameter);if(0===t.length)throw new g(T(m.EmptyParameter,"key"),exports.ErrorCode.InvalidParameter);return{cert:e,key:t,passphrase:null==o?void 0:o.passphrase,ca:null==o?void 0:o.ca}},exports.createPfxCertOption=function(e,t){if(0===e.length)throw new g(T(m.EmptyParameter,"pfx"),exports.ErrorCode.InvalidParameter);return{pfx:e,passphrase:null==t?void 0:t.passphrase}},exports.getLogLevel=function(){return x.level},exports.handleMessageExtensionLinkQueryWithSSO=function(e,t,o,n,i){return C(this,void 0,void 0,(function*(){if("composeExtension/queryLink"!=e.activity.name)throw x.error(m.OnlySupportInLinkQueryActivity),new g(T(m.OnlySupportInLinkQueryActivity),exports.ErrorCode.FailedOperation);return yield K(e,null!=t?t:{},o,n,i)}))},exports.handleMessageExtensionQueryWithSSO=function(e,t,o,n,i){return C(this,void 0,void 0,(function*(){if("composeExtension/query"!=e.activity.name)throw x.error(m.OnlySupportInQueryActivity),new g(T(m.OnlySupportInQueryActivity),exports.ErrorCode.FailedOperation);return yield K(e,null!=t?t:{},o,n,i)}))},exports.setLogFunction=function(e){x.customLogFunction=e},exports.setLogLevel=function(e){x.level=e},exports.setLogger=function(e){x.customLogger=e};
15
+ ***************************************************************************** */function T(e,t,o,n){return new(o||(o=Promise))((function(i,r){function s(e){try{d(n.next(e))}catch(e){r(e)}}function a(e){try{d(n.throw(e))}catch(e){r(e)}}function d(e){var t;e.done?i(e.value):(t=e.value,t instanceof o?t:new o((function(e){e(t)}))).then(s,a)}d((n=n.apply(e,t||[])).next())}))}exports.LogLevel=void 0,(y=exports.LogLevel||(exports.LogLevel={}))[y.Verbose=0]="Verbose",y[y.Info=1]="Info",y[y.Warn=2]="Warn",y[y.Error=3]="Error";const S=new class{constructor(e,t){this.level=void 0,this.defaultLogger={verbose:console.debug,info:console.info,warn:console.warn,error:console.error},this.name=e,this.level=t}error(e){this.log(exports.LogLevel.Error,(e=>e.error),e)}warn(e){this.log(exports.LogLevel.Warn,(e=>e.warn),e)}info(e){this.log(exports.LogLevel.Info,(e=>e.info),e)}verbose(e){this.log(exports.LogLevel.Verbose,(e=>e.verbose),e)}log(e,t,o){if(""===o.trim())return;const n=(new Date).toUTCString();let i;i=this.name?`[${n}] : @microsoft/teamsfx - ${this.name} : ${exports.LogLevel[e]} - `:`[${n}] : @microsoft/teamsfx : ${exports.LogLevel[e]} - `;const r=`${i}${o}`;void 0!==this.level&&this.level<=e&&(this.customLogger?t(this.customLogger)(r):this.customLogFunction?this.customLogFunction(e,r):t(this.defaultLogger)(r))}};function w(t){try{const o=e.jwtDecode(t);if(!o||!o.exp)throw new x("Decoded token is null or exp claim does not exists.",exports.ErrorCode.InternalError);return o}catch(e){const t="Parse jwt token failed in node env with error: "+e.message;throw S.error(t),new x(t,exports.ErrorCode.InternalError)}}function A(e,...t){const o=t;return e.replace(/{(\d+)}/g,(function(e,t){return void 0!==o[t]?o[t]:e}))}function E(e){if("string"==typeof e||e instanceof String)return;if(Array.isArray(e)&&0===e.length)return;if(Array.isArray(e)&&e.length>0&&e.every((e=>"string"==typeof e)))return;const t="The type of scopes is not valid, it must be string or string array";throw S.error(t),new x(t,exports.ErrorCode.InvalidParameter)}function I(e){return("string"==typeof e?e.split(" "):e).filter((e=>null!==e&&""!==e))}function k(e){const n=(i=e.authorityHost,r=e.tenantId,i.replace(/\/+$/g,"")+"/"+r);var i,r;const s=function(e){if(!e)return;const t=/(-+BEGIN CERTIFICATE-+)(\n\r?|\r\n?)([A-Za-z0-9+/\n\r]+=*)(\n\r?|\r\n?)(-+END CERTIFICATE-+)/.exec(e);if(!t){const e="The certificate content does not contain a PEM-encoded certificate.";throw S.error(e),new x(e,exports.ErrorCode.InvalidCertificate)}return{thumbprintSha256:o.createHash("sha256").update(Buffer.from(t[3],"base64")).digest("hex").toUpperCase(),privateKey:e}}(e.certificateContent),a={clientId:e.clientId,authority:n};return s?a.clientCertificate=s:a.clientSecret=e.clientSecret,new t.ConfidentialClientApplication({auth:a})}class R{constructor(e,t){S.info("Get on behalf of user credential");const o=[];if(t.clientId||o.push("clientId"),t.authorityHost||o.push("authorityHost"),t.clientSecret||t.certificateContent||o.push("clientSecret or certificateContent"),t.tenantId||o.push("tenantId"),0!=o.length){const e=A(C.InvalidConfiguration,o.join(", "),"undefined");throw S.error(e),new x(e,exports.ErrorCode.InvalidConfiguration)}this.msalClient=k(t);const n=w(e);this.ssoToken={token:e,expiresOnTimestamp:n.exp}}getToken(e,t){return T(this,void 0,void 0,(function*(){E(e);const t=I(e);let o;if(t.length){let e;S.info("Get access token with scopes: "+t.join(" "));try{e=yield this.msalClient.acquireTokenOnBehalfOf({oboAssertion:this.ssoToken.token,scopes:t})}catch(e){throw this.generateAuthServerError(e)}if(!e){const e="Access token is null";throw S.error(e),new x(A(C.FailToAcquireTokenOnBehalfOfUser,e),exports.ErrorCode.InternalError)}o={token:e.accessToken,expiresOnTimestamp:e.expiresOn.getTime()}}else{if(S.info("Get SSO token."),Math.floor(Date.now()/1e3)>this.ssoToken.expiresOnTimestamp){const e="Sso token has already expired.";throw S.error(e),new x(e,exports.ErrorCode.TokenExpiredError)}o=this.ssoToken}return o}))}getUserInfo(){return S.info("Get basic user info from SSO token"),function(e){if(!e){const e="SSO token is undefined.";throw S.error(e),new x(e,exports.ErrorCode.InvalidParameter)}const t=w(e),o={displayName:t.name,objectId:t.oid,tenantId:t.tid,preferredUserName:""};return"2.0"===t.ver?o.preferredUserName=t.preferred_username:"1.0"===t.ver&&(o.preferredUserName=t.upn),o}(this.ssoToken.token)}generateAuthServerError(e){const t=e.errorMessage;if("InteractionRequiredAuthError"===e.name){const e="Failed to get access token from AAD server, interaction required: "+t;return S.warn(e),new x(e,exports.ErrorCode.UiRequiredError)}if(t&&t.indexOf("AADSTS50013")>=0){const e="Failed to get access token from AAD server, assertion is invalid because of various reasons: "+t;return S.error(e),new x(e,exports.ErrorCode.TokenExpiredError)}{const e=A(C.FailToAcquireTokenOnBehalfOfUser,t);return S.error(e),new x(e,exports.ErrorCode.ServiceError)}}}const O="invokeResponse";class b{constructor(e,t){this.id=e,this.failureDetail=t}}class P extends r.Dialog{constructor(e,t,o,n){super(o),this.initiateLoginEndpoint=t,this.authConfig=e,this.settings=n,E(this.settings.scopes),function(e){if(e.clientId&&(e.clientSecret||e.certificateContent)&&e.tenantId&&e.authorityHost)return;const t=[];e.clientId||t.push("clientId"),e.clientSecret||e.certificateContent||t.push("clientSecret or certificateContent"),e.tenantId||t.push("tenantId"),e.authorityHost||t.push("authorityHost");const o=A(C.InvalidConfiguration,t.join(", "),"undefined");throw S.error(o),new x(o,exports.ErrorCode.InvalidConfiguration)}(this.authConfig),S.info("Create a new Teams Bot SSO Prompt")}beginDialog(e){return T(this,void 0,void 0,(function*(){var t;S.info("Begin Teams Bot SSO Prompt"),this.ensureMsTeamsChannel(e);let o=9e5;if(this.settings.timeout){if("number"!=typeof this.settings.timeout){const e="type of timeout property in teamsBotSsoPromptSettings should be number.";throw S.error(e),new x(e,exports.ErrorCode.InvalidParameter)}if(this.settings.timeout<=0){const e="value of timeout property in teamsBotSsoPromptSettings should be positive.";throw S.error(e),new x(e,exports.ErrorCode.InvalidParameter)}o=this.settings.timeout}void 0===this.settings.endOnInvalidMessage&&(this.settings.endOnInvalidMessage=!0);const n=null===(t=e.activeDialog)||void 0===t?void 0:t.state;return n.state={},n.options={},n.expires=(new Date).getTime()+o,yield this.sendOAuthCardAsync(e.context),r.Dialog.EndOfTurn}))}continueDialog(e){return T(this,void 0,void 0,(function*(){var t;S.info("Continue Teams Bot SSO Prompt"),this.ensureMsTeamsChannel(e);const o=null===(t=e.activeDialog)||void 0===t?void 0:t.state,n=e.context.activity.type===s.ActivityTypes.Message;if((n||this.isTeamsVerificationInvoke(e.context)||this.isTokenExchangeRequestInvoke(e.context))&&(new Date).getTime()>o.expires)return S.warn("End Teams Bot SSO Prompt due to timeout"),yield e.endDialog(void 0);if(this.isTeamsVerificationInvoke(e.context)||this.isTokenExchangeRequestInvoke(e.context)){const t=yield this.recognizeToken(e);if(t.succeeded)return yield e.endDialog(t.value)}else if(n&&this.settings.endOnInvalidMessage)return S.warn("End Teams Bot SSO Prompt due to invalid message"),yield e.endDialog(void 0);return r.Dialog.EndOfTurn}))}ensureMsTeamsChannel(e){if(e.context.activity.channelId!=s.Channels.Msteams){const e=A(C.OnlyMSTeamsChannelSupported,"Teams Bot SSO Prompt");throw S.error(e),new x(e,exports.ErrorCode.ChannelNotSupported)}}sendOAuthCardAsync(e){return T(this,void 0,void 0,(function*(){S.verbose("Send OAuth card to get SSO token");const t=yield i.TeamsInfo.getMember(e,e.activity.from.id);S.verbose("Get Teams member account user principal name: "+(t.userPrincipalName?t.userPrincipalName:""));const o=t.userPrincipalName?t.userPrincipalName:"",r=this.getSignInResource(o),a=n.CardFactory.oauthCard("","Teams SSO Sign In","Sign In",r);a.content.buttons[0].type=s.ActionTypes.Signin;const d=n.MessageFactory.attachment(a);yield e.sendActivity(d)}))}getSignInResource(e){S.verbose("Get sign in authentication configuration");const t=`${this.initiateLoginEndpoint}?scope=${encodeURI(this.settings.scopes.join(" "))}&clientId=${this.authConfig.clientId}&tenantId=${this.authConfig.tenantId}&loginHint=${e}`;S.verbose("Sign in link: "+t);return{signInLink:t,tokenExchangeResource:{id:a.v4()},tokenPostResource:{}}}recognizeToken(e){return T(this,void 0,void 0,(function*(){const t=e.context;let o;if(this.isTokenExchangeRequestInvoke(t))if(S.verbose("Receive token exchange request"),t.activity.value&&this.isTokenExchangeRequest(t.activity.value)){const e=t.activity.value.token,i=new R(e,this.authConfig);let r;try{if(r=yield i.getToken(this.settings.scopes),r){yield t.sendActivity(this.getTokenExchangeInvokeResponse(n.StatusCodes.OK,"",t.activity.value.id));const i=w(e).exp;o={ssoToken:e,ssoTokenExpiration:new Date(1e3*i).toISOString(),connectionName:"",token:r.token,expiration:r.expiresOnTimestamp.toString()}}}catch(e){const o="The bot is unable to exchange token. Ask for user consent.";S.info(o),yield t.sendActivity(this.getTokenExchangeInvokeResponse(n.StatusCodes.PRECONDITION_FAILED,o,t.activity.value.id))}}else{const e="The bot received an InvokeActivity that is missing a TokenExchangeInvokeRequest value. This is required to be sent with the InvokeActivity.";S.warn(e),yield t.sendActivity(this.getTokenExchangeInvokeResponse(n.StatusCodes.BAD_REQUEST,e))}else this.isTeamsVerificationInvoke(t)&&(S.verbose("Receive Teams state verification request"),yield this.sendOAuthCardAsync(e.context),yield t.sendActivity({type:O,value:{status:n.StatusCodes.OK}}));return void 0!==o?{succeeded:!0,value:o}:{succeeded:!1}}))}getTokenExchangeInvokeResponse(e,t,o){return{type:O,value:{status:e,body:new b(o,t)}}}isTeamsVerificationInvoke(e){const t=e.activity;return t.type===s.ActivityTypes.Invoke&&t.name===i.verifyStateOperationName}isTokenExchangeRequestInvoke(e){const t=e.activity;return t.type===s.ActivityTypes.Invoke&&t.name===i.tokenExchangeOperationName}isTokenExchangeRequest(e){return e.hasOwnProperty("token")}}var F,N,D,M;exports.ApiKeyLocation=void 0,(F=exports.ApiKeyLocation||(exports.ApiKeyLocation={}))[F.Header=0]="Header",F[F.QueryParams=1]="QueryParams";exports.NotificationTargetType=void 0,(N=exports.NotificationTargetType||(exports.NotificationTargetType={})).Channel="Channel",N.Group="Group",N.Person="Person",exports.AdaptiveCardResponse=void 0,(D=exports.AdaptiveCardResponse||(exports.AdaptiveCardResponse={}))[D.ReplaceForInteractor=0]="ReplaceForInteractor",D[D.ReplaceForAll=1]="ReplaceForAll",D[D.NewForAll=2]="NewForAll",exports.InvokeResponseErrorCode=void 0,(M=exports.InvokeResponseErrorCode||(exports.InvokeResponseErrorCode={}))[M.BadRequest=400]="BadRequest",M[M.InternalServerError=500]="InternalServerError";let H="BotSsoExecutionDialog",L="TeamsFxSsoPrompt",B="CommandRouteDialog";class q extends r.ComponentDialog{constructor(e,t,o,n,i){super(null!=i?i:H),this.dedupStorageKeys=[],this.commandMapping=new Map,i&&(H=i,L=i+L,B=i+B);const s=new P(o,n,L,t);this.addDialog(s),this.initialDialogId=B,this.dedupStorage=e,this.dedupStorageKeys=[];const a=new r.WaterfallDialog(B,[this.commandRouteStep.bind(this)]);this.addDialog(a)}addCommand(e,t){const o=this.getCommandHash(t),n=new r.WaterfallDialog(o,[this.ssoStep.bind(this),this.dedupStep.bind(this),t=>T(this,void 0,void 0,(function*(){const o=t.result.tokenResponse,n=t.context,i=t.result.message;try{if(!o)throw new Error(C.FailedToRetrieveSsoToken);return yield e(n,o,i),yield t.endDialog()}catch(e){const o=A(C.FailedToProcessSsoHandler,e.message);return S.error(o),yield t.endDialog(new x(o,exports.ErrorCode.FailedToProcessSsoHandler))}}))]);this.commandMapping.set(o,t),this.addDialog(n)}getCommandHash(e){const t=(Array.isArray(e)?e:[e]).join();return t.replace(/[^a-zA-Z0-9]/g,"")+o.createHash("sha256").update(t).digest("hex").toLowerCase()}run(e,t){return T(this,void 0,void 0,(function*(){const o=new r.DialogSet(t);o.add(this);const n=yield o.createContext(e);this.ensureMsTeamsChannel(n);const i=yield n.continueDialog();if(i&&i.status===r.DialogTurnStatus.empty)yield n.beginDialog(this.id);else if(i&&i.status===r.DialogTurnStatus.complete&&i.result instanceof Error)throw i.result}))}getActivityText(e){let t=e.text;const o=e.removeRecipientMention();return o&&(t=o.toLowerCase().replace(/\n|\r\n/g,"").trim()),t}commandRouteStep(e){return T(this,void 0,void 0,(function*(){const t=e.context,o=this.getActivityText(t.activity),n=this.getMatchesCommandId(o);if(n)return yield e.beginDialog(n);const i=A(C.CannotFindCommand,t.activity.text);throw S.error(i),new x(i,exports.ErrorCode.CannotFindCommand)}))}ssoStep(e){return T(this,void 0,void 0,(function*(){try{const t=e.context,o={text:this.getActivityText(t.activity)};return e.options.commandMessage=o,yield e.beginDialog(L)}catch(t){const o=A(C.FailedToRunSsoStep,t.message);return S.error(o),yield e.endDialog(new x(o,exports.ErrorCode.FailedToRunSsoStep))}}))}dedupStep(e){return T(this,void 0,void 0,(function*(){const t=e.result;if(!t)return S.error(C.FailedToRetrieveSsoToken),yield e.endDialog(new x(C.FailedToRetrieveSsoToken,exports.ErrorCode.FailedToRunSsoStep));try{return t&&(yield this.shouldDedup(e.context))?r.Dialog.EndOfTurn:yield e.next({tokenResponse:t,message:e.options.commandMessage})}catch(t){const o=A(C.FailedToRunDedupStep,t.message);return S.error(o),yield e.endDialog(new x(o,exports.ErrorCode.FailedToRunDedupStep))}}))}onEndDialog(e){return T(this,void 0,void 0,(function*(){const t=e.activity.conversation.id,o=this.dedupStorageKeys.filter((e=>e.indexOf(t)>0));yield this.dedupStorage.delete(o),this.dedupStorageKeys=this.dedupStorageKeys.filter((e=>e.indexOf(t)<0))}))}shouldDedup(e){return T(this,void 0,void 0,(function*(){const t={eTag:e.activity.value.id},o=this.getStorageKey(e),n={[o]:t};try{yield this.dedupStorage.write(n),this.dedupStorageKeys.push(o)}catch(e){if(e instanceof Error&&e.message.indexOf("eTag conflict"))return!0;throw e}return!1}))}getStorageKey(e){if(!e||!e.activity||!e.activity.conversation)throw new Error("Invalid context, can not get storage key!");const t=e.activity,o=t.channelId,n=t.conversation.id;if(t.type!==s.ActivityTypes.Invoke||t.name!==i.tokenExchangeOperationName)throw new Error("TokenExchangeState can only be used with Invokes of signin/tokenExchange.");const r=t.value;if(!r||!r.id)throw new Error("Invalid signin/tokenExchange. Missing activity.value.id.");return`${o}/${n}/${r.id}`}matchPattern(e,t){if(t){if("string"==typeof e){return new RegExp(e,"i").test(t)}if(e instanceof RegExp){const o=t.match(e);return null!=o&&o}}return!1}isPatternMatched(e,t){const o=Array.isArray(e)?e:[e];for(const e of o){return!!this.matchPattern(e,t)}return!1}getMatchesCommandId(e){for(const t of this.commandMapping){const o=t[1];if(this.isPatternMatched(o,e))return t[0]}}ensureMsTeamsChannel(e){if(e.context.activity.channelId!=s.Channels.Msteams){const e=A(C.OnlyMSTeamsChannelSupported,"SSO execution dialog");throw S.error(e),new x(e,exports.ErrorCode.ChannelNotSupported)}}}class U{static attachAdaptiveCard(e,t){const o={$root:t};return{attachments:[n.CardFactory.adaptiveCard(new f.Template(e).expand(o))]}}static attachAdaptiveCardWithoutData(e){return{attachments:[n.CardFactory.adaptiveCard(e)]}}static attachHeroCard(e,t,o,i){return U.attachContent(n.CardFactory.heroCard(e,t,o,i))}static attachSigninCard(e,t,o){return U.attachContent(n.CardFactory.signinCard(e,t,o))}static attachO365ConnectorCard(e){return U.attachContent(n.CardFactory.o365ConnectorCard(e))}static AttachReceiptCard(e){return U.attachContent(n.CardFactory.receiptCard(e))}static attachThumbnailCard(e,t,o,i){return U.attachContent(n.CardFactory.thumbnailCard(e,t,o,i))}static attachContent(e){return{attachments:[e]}}}var j,$,K;!function(e){e.AdaptiveCard="application/vnd.microsoft.card.adaptive",e.Message="application/vnd.microsoft.activity.message",e.Error="application/vnd.microsoft.error"}(j||(j={}));class z{static textMessage(e){if(!e)throw new Error("The text message cannot be null or empty");return{status:n.StatusCodes.OK,body:{statusCode:n.StatusCodes.OK,type:j.Message,value:e}}}static adaptiveCard(e){if(!e)throw new Error("The adaptive card content cannot be null or undefined");return{status:n.StatusCodes.OK,body:{statusCode:n.StatusCodes.OK,type:j.AdaptiveCard,value:e}}}static errorResponse(e,t){return{status:n.StatusCodes.OK,body:{statusCode:e,type:j.Error,value:{code:e.toString(),message:t}}}}static createInvokeResponse(e,t){return{status:e,body:t}}}function G(e,t,o,n,i){return T(this,void 0,void 0,(function*(){const r=e.activity.value;if(!r.authentication||!r.authentication.token)return S.verbose("No AccessToken in request, return silentAuth for AccessToken"),function(e,t,o){const n=I(o);return{composeExtension:{type:"silentAuth",suggestedActions:{actions:[{type:"openUrl",value:`${t}?scope=${encodeURI(n.join(" "))}&clientId=${e.clientId}&tenantId=${e.tenantId}`,title:"Message Extension OAuth"}]}}}}(t,o,n);try{const e=new R(r.authentication.token,t),o=yield e.getToken(n),s=w(r.authentication.token).exp,a={ssoToken:r.authentication.token,ssoTokenExpiration:new Date(1e3*s).toISOString(),token:o.token,expiration:o.expiresOnTimestamp.toString(),connectionName:""};if(i)return yield i(a)}catch(i){if(i instanceof x&&i.code===exports.ErrorCode.UiRequiredError&&"composeExtension/query"===e.activity.name){S.verbose("User not consent yet, return 412 to user consent first.");const t={status:412},o=s.Activity.fromObject({value:t,type:s.ActivityTypes.InvokeResponse});yield e.sendActivity(o)}else if(i instanceof x&&i.code===exports.ErrorCode.UiRequiredError&&"composeExtension/queryLink"===e.activity.name){S.verbose("User not consent yet, return auth card for user login");const i=function(e,t,o){const n=I(o);return{composeExtension:{type:"auth",suggestedActions:{actions:[{type:"openUrl",value:`${t}?scope=${encodeURI(n.join(" "))}&clientId=${e.clientId}&tenantId=${e.tenantId}`,title:"Message Extension OAuth"}]}}}}(t,o,n);return void(yield e.sendActivity(s.Activity.fromObject({value:{status:200,body:i},type:s.ActivityTypes.InvokeResponse})))}throw i}}))}class Q{constructor(e){this.actionHandlers=[],this.defaultMessage="Your response was sent to the app",e&&e.length>0&&this.actionHandlers.push(...e)}onTurn(e,t){return T(this,void 0,void 0,(function*(){var o,i,r;if("adaptiveCard/action"===e.activity.name){const t=e.activity.value.action,s=t.verb;for(const a of this.actionHandlers)if((null===(o=a.triggerVerb)||void 0===o?void 0:o.toLowerCase())===(null==s?void 0:s.toLowerCase())){let o;try{o=yield a.handleActionInvoked(e,t.data)}catch(t){const o=z.errorResponse(exports.InvokeResponseErrorCode.InternalServerError,t.message);throw yield this.sendInvokeResponse(e,o),t}switch(null===(i=o.body)||void 0===i?void 0:i.type){case j.AdaptiveCard:const t=null===(r=o.body)||void 0===r?void 0:r.value;if(!t){const t="Adaptive card content cannot be found in the response body";throw yield this.sendInvokeResponse(e,z.errorResponse(exports.InvokeResponseErrorCode.InternalServerError,t)),new Error(t)}t.refresh&&a.adaptiveCardResponse!==exports.AdaptiveCardResponse.NewForAll&&(a.adaptiveCardResponse=exports.AdaptiveCardResponse.ReplaceForAll);const i=n.MessageFactory.attachment(n.CardFactory.adaptiveCard(t));a.adaptiveCardResponse===exports.AdaptiveCardResponse.NewForAll?(yield this.sendInvokeResponse(e,z.textMessage(this.defaultMessage)),yield e.sendActivity(i)):a.adaptiveCardResponse===exports.AdaptiveCardResponse.ReplaceForAll?(i.id=e.activity.replyToId,yield e.updateActivity(i),yield this.sendInvokeResponse(e,o)):yield this.sendInvokeResponse(e,o);break;case j.Message:case j.Error:default:yield this.sendInvokeResponse(e,o)}break}}yield t()}))}sendInvokeResponse(e,t){return T(this,void 0,void 0,(function*(){yield e.sendActivity({type:s.ActivityTypes.InvokeResponse,value:t})}))}}class V{constructor(e,t){this.middleware=new Q(null==t?void 0:t.actions),this.adapter=e.use(this.middleware)}registerHandler(e){e&&this.middleware.actionHandlers.push(e)}registerHandlers(e){e&&this.middleware.actionHandlers.push(...e)}}class _{constructor(e,t,o){if(this.commandHandlers=[],this.ssoCommandHandlers=[],e=null!=e?e:[],t=null!=t?t:[],this.hasSsoCommand=t.length>0,this.ssoActivityHandler=o,this.hasSsoCommand&&!this.ssoActivityHandler)throw S.error(C.SsoActivityHandlerIsNull),new x(C.SsoActivityHandlerIsNull,exports.ErrorCode.SsoActivityHandlerIsUndefined);this.commandHandlers.push(...e);for(const e of t)this.addSsoCommand(e)}addSsoCommand(e){var t;null===(t=this.ssoActivityHandler)||void 0===t||t.addCommand(((t,o,n)=>T(this,void 0,void 0,(function*(){const i=this.shouldTrigger(e.triggerPatterns,n.text);n.matches=Array.isArray(i)?i:void 0;const r=yield e.handleCommandReceived(t,n,o);yield this.processResponse(t,r)}))),e.triggerPatterns),this.ssoCommandHandlers.push(e),this.hasSsoCommand=!0}onTurn(e,t){return T(this,void 0,void 0,(function*(){var o,n;if(e.activity.type===s.ActivityTypes.Message){const t=this.getActivityText(e.activity);let n=!1;for(const o of this.commandHandlers){const i=this.shouldTrigger(o.triggerPatterns,t);if(i){const r={text:t};r.matches=Array.isArray(i)?i:void 0;const s=yield o.handleCommandReceived(e,r);yield this.processResponse(e,s),n=!0;break}}if(!n)for(const n of this.ssoCommandHandlers){if(this.shouldTrigger(n.triggerPatterns,t)){yield null===(o=this.ssoActivityHandler)||void 0===o?void 0:o.run(e);break}}}else this.hasSsoCommand&&(yield null===(n=this.ssoActivityHandler)||void 0===n?void 0:n.run(e));yield t()}))}processResponse(e,t){return T(this,void 0,void 0,(function*(){if("string"==typeof t)yield e.sendActivity(t);else{const o=t;o&&(yield e.sendActivity(o))}}))}matchPattern(e,t){if(t){if("string"==typeof e){return new RegExp(e,"i").test(t)}if(e instanceof RegExp){const o=t.match(e);return null!=o&&o}}return!1}shouldTrigger(e,t){const o=Array.isArray(e)?e:[e];for(const e of o){const o=this.matchPattern(e,t);if(o)return o}return!1}getActivityText(e){let t=e.text;const o=e.removeRecipientMention();return o&&(t=o.toLowerCase().replace(/\n|\r\n/g,"").trim()),t}}class W{constructor(e,t,o,n){this.ssoConfig=n,this.middleware=new _(null==t?void 0:t.commands,null==t?void 0:t.ssoCommands,o),this.adapter=e.use(this.middleware)}registerCommand(e){e&&this.middleware.commandHandlers.push(e)}registerCommands(e){e&&this.middleware.commandHandlers.push(...e)}registerSsoCommand(e){this.validateSsoActivityHandler(),this.middleware.addSsoCommand(e)}registerSsoCommands(e){if(e.length>0){this.validateSsoActivityHandler();for(const t of e)this.middleware.addSsoCommand(t)}}validateSsoActivityHandler(){if(!this.middleware.ssoActivityHandler)throw S.error(C.SsoActivityHandlerIsNull),new x(C.SsoActivityHandlerIsNull,exports.ErrorCode.SsoActivityHandlerIsUndefined)}}function J(e){return JSON.parse(JSON.stringify(e))}function Z(e){var t,o;return`_${null===(t=e.conversation)||void 0===t?void 0:t.tenantId}_${null===(o=e.conversation)||void 0===o?void 0:o.id}`}function X(e){var t,o,n,i,r;const s=null===(n=null===(o=null===(t=e.activity)||void 0===t?void 0:t.channelData)||void 0===o?void 0:o.team)||void 0===n?void 0:n.id;return s||(void 0===(null===(i=e.activity.conversation)||void 0===i?void 0:i.name)&&(null===(r=e.activity.conversation)||void 0===r?void 0:r.id)?e.activity.conversation.id:void 0)}!function(e){e[e.CurrentBotInstalled=0]="CurrentBotInstalled",e[e.CurrentBotMessaged=1]="CurrentBotMessaged",e[e.CurrentBotUninstalled=2]="CurrentBotUninstalled",e[e.TeamDeleted=3]="TeamDeleted",e[e.TeamRestored=4]="TeamRestored",e[e.Unknown=5]="Unknown"}($||($={}));class Y{constructor(e){this.conversationReferenceStore=e.conversationReferenceStore}onTurn(e,t){return T(this,void 0,void 0,(function*(){switch(this.classifyActivity(e.activity)){case $.CurrentBotInstalled:case $.TeamRestored:{const t=e.activity.getConversationReference();yield this.conversationReferenceStore.add(Z(t),t,{overwrite:!0});break}case $.CurrentBotMessaged:yield this.tryAddMessagedReference(e);break;case $.CurrentBotUninstalled:case $.TeamDeleted:{const t=e.activity.getConversationReference();yield this.conversationReferenceStore.remove(Z(t),t);break}}yield t()}))}classifyActivity(e){var t,o;const n=e.type;if("installationUpdate"===n){const o=null===(t=e.action)||void 0===t?void 0:t.toLowerCase();return"add"===o||"add-upgrade"===o?$.CurrentBotInstalled:$.CurrentBotUninstalled}if("conversationUpdate"===n){const t=null===(o=e.channelData)||void 0===o?void 0:o.eventType;if("teamDeleted"===t)return $.TeamDeleted;if("teamRestored"===t)return $.TeamRestored}else if("message"===n)return $.CurrentBotMessaged;return $.Unknown}tryAddMessagedReference(e){return T(this,void 0,void 0,(function*(){var t,o,n,i,r,s;const a=e.activity.getConversationReference(),d=null===(t=null==a?void 0:a.conversation)||void 0===t?void 0:t.conversationType;if("personal"===d||"groupChat"===d)yield this.conversationReferenceStore.add(Z(a),a,{overwrite:!1});else if("channel"===d){const t=null===(i=null===(n=null===(o=e.activity)||void 0===o?void 0:o.channelData)||void 0===n?void 0:n.team)||void 0===i?void 0:i.id,d=null===(s=null===(r=e.activity.channelData)||void 0===r?void 0:r.channel)||void 0===s?void 0:s.id;if(void 0!==t&&(void 0===d||t===d)){const e=J(a);e.conversation.id=t,yield this.conversationReferenceStore.add(Z(e),e,{overwrite:!1})}}}))}}class ee{constructor(e){var t;this.localFileName=null!==(t=process.env.TEAMSFX_NOTIFICATION_STORE_FILENAME)&&void 0!==t?t:".notification.localstore.json",this.filePath=m.resolve(e,this.localFileName)}add(e,t,o){return T(this,void 0,void 0,(function*(){if(o.overwrite||!(yield this.storeFileExists())){if(yield this.storeFileExists()){const o=yield this.readFromFile();yield this.writeToFile(Object.assign(o,{[e]:t}))}else yield this.writeToFile({[e]:t});return!0}return!1}))}remove(e,t){return T(this,void 0,void 0,(function*(){if(!(yield this.storeFileExists()))return!1;if(yield this.storeFileExists()){const t=yield this.readFromFile();void 0!==t[e]&&(delete t[e],yield this.writeToFile(t))}return!0}))}list(e,t){return T(this,void 0,void 0,(function*(){if(!(yield this.storeFileExists()))return{data:[],continuationToken:""};const e=yield this.readFromFile();return{data:Object.entries(e).map((e=>e[1])),continuationToken:""}}))}storeFileExists(){return new Promise((e=>{try{g.access(this.filePath,(t=>{e(!t)}))}catch(t){e(!1)}}))}readFromFile(){return new Promise(((e,t)=>{try{g.readFile(this.filePath,{encoding:"utf-8"},((o,n)=>{o?t(o):e(JSON.parse(n))}))}catch(e){t(e)}}))}writeToFile(e){return T(this,void 0,void 0,(function*(){return new Promise(((t,o)=>{try{const n=JSON.stringify(e,void 0,2);g.writeFile(this.filePath,n,{encoding:"utf-8"},(e=>{e?o(e):t()}))}catch(e){o(e)}}))}))}}class te{constructor(e,t){this.type=exports.NotificationTargetType.Channel,this.parent=e,this.info=t}sendMessage(e,t){return T(this,void 0,void 0,(function*(){const o={};return yield this.parent.adapter.continueConversation(this.parent.conversationReference,(n=>T(this,void 0,void 0,(function*(){const i=yield this.newConversation(n);yield this.parent.adapter.continueConversation(i,(n=>T(this,void 0,void 0,(function*(){try{const t=yield n.sendActivity(e);o.id=null==t?void 0:t.id}catch(e){if(!t)throw e;yield t(n,e)}}))))})))),o}))}sendAdaptiveCard(e,t){return T(this,void 0,void 0,(function*(){const o={};return yield this.parent.adapter.continueConversation(this.parent.conversationReference,(i=>T(this,void 0,void 0,(function*(){const r=yield this.newConversation(i);yield this.parent.adapter.continueConversation(r,(i=>T(this,void 0,void 0,(function*(){try{const t=yield i.sendActivity({attachments:[n.CardFactory.adaptiveCard(e)],type:s.ActivityTypes.Message});o.id=null==t?void 0:t.id}catch(e){if(!t)throw e;yield t(i,e)}}))))}))),!0),o}))}newConversation(e){const t=J(e.activity.getConversationReference());return t.conversation.id=this.info.id||"",Promise.resolve(t)}}class oe{constructor(e,t){this.type=exports.NotificationTargetType.Person,this.parent=e,this.account=t}sendMessage(e,t){return T(this,void 0,void 0,(function*(){const o={};return yield this.parent.adapter.continueConversation(this.parent.conversationReference,(n=>T(this,void 0,void 0,(function*(){const i=yield this.newConversation(n);yield this.parent.adapter.continueConversation(i,(n=>T(this,void 0,void 0,(function*(){try{const t=yield n.sendActivity(e);o.id=null==t?void 0:t.id}catch(e){if(!t)throw e;yield t(n,e)}}))))})))),o}))}sendAdaptiveCard(e,t){return T(this,void 0,void 0,(function*(){const o={};return yield this.parent.adapter.continueConversation(this.parent.conversationReference,(i=>T(this,void 0,void 0,(function*(){const r=yield this.newConversation(i);yield this.parent.adapter.continueConversation(r,(i=>T(this,void 0,void 0,(function*(){try{const t=yield i.sendActivity({attachments:[n.CardFactory.adaptiveCard(e)],type:s.ActivityTypes.Message});o.id=null==t?void 0:t.id}catch(e){if(!t)throw e;yield t(i,e)}}))))}))),!0),o}))}newConversation(e){return T(this,void 0,void 0,(function*(){const t=J(e.activity.getConversationReference()),o=e.turnState.get(this.parent.adapter.ConnectorClientKey),n={members:[this.account],isGroup:!1,agent:e.activity.recipient,tenantId:e.activity.conversation.tenantId,activity:e.activity,channelData:e.activity.channelData},i=yield o.createConversationAsync(n);return t.conversation.id=i.id,t}))}}class ne{constructor(e,t,o){this.adapter=e,this.conversationReference=t,this.type=function(e){var t;const o=null===(t=e.conversation)||void 0===t?void 0:t.conversationType;return"personal"===o?exports.NotificationTargetType.Person:"groupChat"===o?exports.NotificationTargetType.Group:"channel"===o?exports.NotificationTargetType.Channel:void 0}(t),this.botAppId=o}sendMessage(e,t){return T(this,void 0,void 0,(function*(){const o={};return yield this.adapter.continueConversation(this.conversationReference,(n=>T(this,void 0,void 0,(function*(){try{const t=yield n.sendActivity(e);o.id=null==t?void 0:t.id}catch(e){if(!t)throw e;yield t(n,e)}})))),o}))}sendAdaptiveCard(e,t){return T(this,void 0,void 0,(function*(){const o={};return yield this.adapter.continueConversation(this.conversationReference,(i=>T(this,void 0,void 0,(function*(){try{const t={attachments:[n.CardFactory.adaptiveCard(e)],type:s.ActivityTypes.Message},r=yield i.sendActivity(t);o.id=null==r?void 0:r.id}catch(e){if(!t)throw e;yield t(i,e)}}))),!0),o}))}channels(){return T(this,void 0,void 0,(function*(){const e=[];if(this.type!==exports.NotificationTargetType.Channel)return e;let t=[];yield this.adapter.continueConversation(this.conversationReference,(e=>T(this,void 0,void 0,(function*(){const o=X(e);void 0!==o&&(t=yield i.TeamsInfo.getTeamChannels(e,o))}))));for(const o of t)e.push(new te(this,o));return e}))}getPagedMembers(e,t){return T(this,void 0,void 0,(function*(){let o={data:[],continuationToken:""};return yield this.adapter.continueConversation(this.conversationReference,(n=>T(this,void 0,void 0,(function*(){const r=yield i.TeamsInfo.getPagedMembers(n,e,t);o={data:r.members.map((e=>new oe(this,e))),continuationToken:r.continuationToken}})))),o}))}getTeamDetails(){return T(this,void 0,void 0,(function*(){if(this.type!==exports.NotificationTargetType.Channel)return;let e;return yield this.adapter.continueConversation(this.conversationReference,(t=>T(this,void 0,void 0,(function*(){const o=X(t);void 0!==o&&(e=yield i.TeamsInfo.getTeamDetails(t,o))})))),e}))}}class ie{constructor(e,t){var o,n;(null==t?void 0:t.store)?this.conversationReferenceStore=t.store:this.conversationReferenceStore=new ee(m.resolve("1"===process.env.RUNNING_ON_AZURE&&null!==(o=process.env.TEMP)&&void 0!==o?o:"./")),this.adapter=e.use(new Y({conversationReferenceStore:this.conversationReferenceStore})),this.botAppId=null!==(n=null==t?void 0:t.botAppId)&&void 0!==n?n:process.env.BOT_ID}buildTeamsBotInstallation(e){if(!e)throw new Error("conversationReference is required.");return new ne(this.adapter,e,this.botAppId)}validateInstallation(e){return T(this,void 0,void 0,(function*(){let t=!0;return yield this.adapter.continueConversation(e,(e=>T(this,void 0,void 0,(function*(){try{yield i.TeamsInfo.getPagedMembers(e,1)}catch(e){"BotNotInConversationRoster"===e.code&&(t=!1)}})))),t}))}getPagedInstallations(e,t){return T(this,arguments,void 0,(function*(e,t,o=!0){if(void 0===this.conversationReferenceStore||void 0===this.adapter)throw new Error("NotificationBot has not been initialized.");const n=yield this.conversationReferenceStore.list(e,t),i=[];for(const e of n.data){let t;o&&(t=yield this.validateInstallation(e)),!o||o&&t?i.push(new ne(this.adapter,e,this.botAppId)):yield this.conversationReferenceStore.remove(Z(e),e)}return{data:i,continuationToken:n.continuationToken}}))}findMember(e,t){return T(this,void 0,void 0,(function*(){for(const o of yield this.installations())if(this.matchSearchScope(o,t)){const t=[];let n;do{const e=yield o.getPagedMembers(void 0,n);n=e.continuationToken,t.push(...e.data)}while(n);for(const o of t)if(yield e(o))return o}}))}findChannel(e){return T(this,void 0,void 0,(function*(){for(const t of yield this.installations())if(t.type===exports.NotificationTargetType.Channel){const o=yield t.getTeamDetails();for(const n of yield t.channels())if(yield e(n,o))return n}}))}findAllMembers(e,t){return T(this,void 0,void 0,(function*(){const o=[];for(const n of yield this.installations())if(this.matchSearchScope(n,t)){const t=[];let i;do{const e=yield n.getPagedMembers(void 0,i);i=e.continuationToken,t.push(...e.data)}while(i);for(const n of t)(yield e(n))&&o.push(n)}return o}))}findAllChannels(e){return T(this,void 0,void 0,(function*(){const t=[];for(const o of yield this.installations())if(o.type===exports.NotificationTargetType.Channel){const n=yield o.getTeamDetails();for(const i of yield o.channels())(yield e(i,n))&&t.push(i)}return t}))}matchSearchScope(e,t){return t=null!=t?t:K.All,e.type===exports.NotificationTargetType.Channel&&!!(t&K.Channel)||e.type===exports.NotificationTargetType.Group&&!!(t&K.Group)||e.type===exports.NotificationTargetType.Person&&!!(t&K.Person)}installations(){return T(this,void 0,void 0,(function*(){let e;const t=[];do{const o=yield this.getPagedInstallations(void 0,e);e=o.continuationToken,t.push(...o.data)}while(e);return t}))}}!function(e){e[e.Person=1]="Person",e[e.Group=2]="Group",e[e.Channel=4]="Channel",e[e.All=7]="All"}(K||(K={}));class re extends i.TeamsActivityHandler{constructor(e){var t,o,i,r,s,a,d,c,l,u;super();const h=new n.MemoryStorage,p=null!==(o=null===(t=e.dialog)||void 0===t?void 0:t.userState)&&void 0!==o?o:new n.UserState(h),v=null!==(r=null===(i=e.dialog)||void 0===i?void 0:i.conversationState)&&void 0!==r?r:new n.ConversationState(h),y=null!==(a=null===(s=e.dialog)||void 0===s?void 0:s.dedupStorage)&&void 0!==a?a:h,f=e.aad,{scopes:m}=f,g=function(e,t){var o={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(o[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var i=0;for(n=Object.getOwnPropertySymbols(e);i<n.length;i++)t.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(e,n[i])&&(o[n[i]]=e[n[i]])}return o}(f,["scopes"]),C={scopes:m,timeout:null===(c=null===(d=e.dialog)||void 0===d?void 0:d.ssoPromptConfig)||void 0===c?void 0:c.timeout,endOnInvalidMessage:null===(u=null===(l=e.dialog)||void 0===l?void 0:l.ssoPromptConfig)||void 0===u?void 0:u.endOnInvalidMessage};this.ssoExecutionDialog=new q(y,C,g,g.initiateLoginEndpoint),this.conversationState=v,this.dialogState=v.createProperty("DialogState"),this.userState=p,this.onMessage(((e,t)=>T(this,void 0,void 0,(function*(){yield this.ssoExecutionDialog.run(e,this.dialogState),yield t()}))))}addCommand(e,t){this.ssoExecutionDialog.addCommand(e,t)}run(e){const t=Object.create(null,{run:{get:()=>super.run}});return T(this,void 0,void 0,(function*(){try{yield t.run.call(this,e)}finally{yield this.conversationState.saveChanges(e,!1),yield this.userState.saveChanges(e,!1)}}))}handleTeamsSigninVerifyState(e,t){return T(this,void 0,void 0,(function*(){yield this.ssoExecutionDialog.run(e,this.dialogState)}))}handleTeamsSigninTokenExchange(e,t){return T(this,void 0,void 0,(function*(){yield this.ssoExecutionDialog.run(e,this.dialogState)}))}}var se=Object.freeze({__proto__:null,BotSsoExecutionDialog:q,CardActionBot:V,Channel:te,CommandBot:W,ConversationBot:class{constructor(e){var t,o,n,i;let r;e.adapter?this.adapter=e.adapter:this.adapter=this.createDefaultAdapter(e.adapterConfig),(null==e?void 0:e.ssoConfig)&&(r=(null===(t=e.ssoConfig.dialog)||void 0===t?void 0:t.CustomBotSsoExecutionActivityHandler)?new e.ssoConfig.dialog.CustomBotSsoExecutionActivityHandler(e.ssoConfig):new re(e.ssoConfig)),(null===(o=e.command)||void 0===o?void 0:o.enabled)&&(this.command=new W(this.adapter,e.command,r,e.ssoConfig)),(null===(n=e.notification)||void 0===n?void 0:n.enabled)&&(this.notification=new ie(this.adapter,e.notification)),(null===(i=e.cardAction)||void 0===i?void 0:i.enabled)&&(this.cardAction=new V(this.adapter,e.cardAction))}createDefaultAdapter(e){const t=null!=e?e:n.loadAuthConfigFromEnv(),o=new n.CloudAdapter(t);return o.onTurnError=(e,t)=>T(this,void 0,void 0,(function*(){console.error("[onTurnError] unhandled error",t),"message"===e.activity.type&&(yield e.sendTraceActivity("OnTurnError Trace",t instanceof Error?t.message:t,"https://www.botframework.com/schemas/error","TurnError"),yield e.sendActivity(`The bot encountered unhandled error: ${t.message}`),yield e.sendActivity("To continue to run this bot, please fix the bot source code."))})),o}requestHandler(e,t,o){return T(this,void 0,void 0,(function*(){void 0===o&&(o=()=>T(this,void 0,void 0,(function*(){}))),yield this.adapter.process(e,t,o)}))}},Member:oe,NotificationBot:ie,get SearchScope(){return K},TeamsBotInstallation:ne,sendAdaptiveCard:function(e,t,o){return e.sendAdaptiveCard(t,o)},sendMessage:function(e,t,o){return e.sendMessage(t,o)}});exports.AgentBuilderCloudAdapter=se,exports.ApiKeyProvider=class{constructor(e,t,o){if(!e)throw new x(A(C.EmptyParameter,"keyName"),exports.ErrorCode.InvalidParameter);if(!t)throw new x(A(C.EmptyParameter,"keyVaule"),exports.ErrorCode.InvalidParameter);this.keyName=e,this.keyValue=t,this.keyLocation=o}AddAuthenticationInfo(e){switch(this.keyLocation){case exports.ApiKeyLocation.Header:if(e.headers||(e.headers={}),e.headers[this.keyName])return Promise.reject(new x(A(C.DuplicateApiKeyInHeader,this.keyName),exports.ErrorCode.AuthorizationInfoAlreadyExists));e.headers[this.keyName]=this.keyValue;break;case exports.ApiKeyLocation.QueryParams:e.params||(e.params={});let t=!1;if(e.url){t=new URL(e.url,e.baseURL).searchParams.has(this.keyName)}if(e.params[this.keyName]||t)return Promise.reject(new x(A(C.DuplicateApiKeyInQueryParam,this.keyName),exports.ErrorCode.AuthorizationInfoAlreadyExists));e.params[this.keyName]=this.keyValue}return Promise.resolve(e)}},exports.AppCredential=class{constructor(e){S.info("Create M365 tenant credential");const t=this.loadAndValidateConfig(e);this.msalClient=k(t)}getToken(e,t){return T(this,void 0,void 0,(function*(){let t;E(e);const o="string"==typeof e?e:e.join(" ");S.info("Get access token with scopes: "+o);try{const o=I(e),n=yield this.msalClient.acquireTokenByClientCredential({scopes:o});n&&(t={token:n.accessToken,expiresOnTimestamp:n.expiresOn.getTime()})}catch(e){const t="Get M365 tenant credential failed with error: "+e.message;throw S.error(t),new x(t,exports.ErrorCode.ServiceError)}if(!t){const e="Get M365 tenant credential access token failed with empty access token";throw S.error(e),new x(e,exports.ErrorCode.InternalError)}return t}))}loadAndValidateConfig(e){if(S.verbose("Validate authentication configuration"),e.clientId&&(e.clientSecret||e.certificateContent)&&e.tenantId&&e.authorityHost)return e;const t=[];e.clientId||t.push("clientId"),e.clientSecret||e.certificateContent||t.push("clientSecret or certificateContent"),e.tenantId||t.push("tenantId"),e.authorityHost||t.push("authorityHost");const o=A(C.InvalidConfiguration,t.join(", "),"undefined");throw S.error(o),new x(o,exports.ErrorCode.InvalidConfiguration)}},exports.BasicAuthProvider=class{constructor(e,t){if(!e)throw new x(A(C.EmptyParameter,"username"),exports.ErrorCode.InvalidParameter);if(!t)throw new x(A(C.EmptyParameter,"password"),exports.ErrorCode.InvalidParameter);this.userName=e,this.password=t}AddAuthenticationInfo(e){return e.headers&&e.headers.Authorization?Promise.reject(new x(C.AuthorizationHeaderAlreadyExists,exports.ErrorCode.AuthorizationInfoAlreadyExists)):e.auth?Promise.reject(new x(C.BasicCredentialAlreadyExists,exports.ErrorCode.AuthorizationInfoAlreadyExists)):(e.auth={username:this.userName,password:this.password},Promise.resolve(e))}},exports.BearerTokenAuthProvider=class{constructor(e){this.getToken=e}AddAuthenticationInfo(e){return T(this,void 0,void 0,(function*(){const t=yield this.getToken();if(e.headers||(e.headers={}),e.headers.Authorization)throw new x(C.AuthorizationHeaderAlreadyExists,exports.ErrorCode.AuthorizationInfoAlreadyExists);return e.headers.Authorization=`Bearer ${t}`,e}))}},exports.BotSsoExecutionDialog=q,exports.CertificateAuthProvider=class{constructor(e){if(!e||0===Object.keys(e).length)throw new x(A(C.EmptyParameter,"certOption"),exports.ErrorCode.InvalidParameter);this.certOption=e}AddAuthenticationInfo(e){if(e.httpsAgent){const t=new Set(Object.keys(e.httpsAgent.options));for(const e of Object.keys(this.certOption))if(t.has(e))return Promise.reject(new x(A(C.DuplicateHttpsOptionProperty,e),exports.ErrorCode.InvalidParameter));Object.assign(e.httpsAgent.options,this.certOption)}else e.httpsAgent=new c.Agent(this.certOption);return Promise.resolve(e)}},exports.ErrorWithCode=x,exports.InvokeResponseFactory=z,exports.MessageBuilder=U,exports.OnBehalfOfUserCredential=R,exports.TeamsBotSsoPrompt=P,exports.TeamsUserCredential=class{constructor(e){throw new x(A(C.NodejsRuntimeNotSupported,"TeamsUserCredential"),exports.ErrorCode.RuntimeNotSupported)}login(e,t){return Promise.reject(new x(A(C.NodejsRuntimeNotSupported,"TeamsUserCredential"),exports.ErrorCode.RuntimeNotSupported))}getToken(e,t){return Promise.reject(new x(A(C.NodejsRuntimeNotSupported,"TeamsUserCredential"),exports.ErrorCode.RuntimeNotSupported))}getUserInfo(e){return Promise.reject(new x(A(C.NodejsRuntimeNotSupported,"TeamsUserCredential"),exports.ErrorCode.RuntimeNotSupported))}},exports.createApiClient=function(e,t){const o=d.create({baseURL:e});return o.interceptors.request.use((function(e){return T(this,void 0,void 0,(function*(){return yield t.AddAuthenticationInfo(e)}))})),o},exports.createPemCertOption=function(e,t,o){if(0===e.length)throw new x(A(C.EmptyParameter,"cert"),exports.ErrorCode.InvalidParameter);if(0===t.length)throw new x(A(C.EmptyParameter,"key"),exports.ErrorCode.InvalidParameter);return{cert:e,key:t,passphrase:null==o?void 0:o.passphrase,ca:null==o?void 0:o.ca}},exports.createPfxCertOption=function(e,t){if(0===e.length)throw new x(A(C.EmptyParameter,"pfx"),exports.ErrorCode.InvalidParameter);return{pfx:e,passphrase:null==t?void 0:t.passphrase}},exports.getLogLevel=function(){return S.level},exports.handleMessageExtensionLinkQueryWithSSO=function(e,t,o,n,i){return T(this,void 0,void 0,(function*(){if("composeExtension/queryLink"!=e.activity.name)throw S.error(C.OnlySupportInLinkQueryActivity),new x(A(C.OnlySupportInLinkQueryActivity),exports.ErrorCode.FailedOperation);return yield G(e,null!=t?t:{},o,n,i)}))},exports.handleMessageExtensionQueryWithSSO=function(e,t,o,n,i){return T(this,void 0,void 0,(function*(){if("composeExtension/query"!=e.activity.name)throw S.error(C.OnlySupportInQueryActivity),new x(A(C.OnlySupportInQueryActivity),exports.ErrorCode.FailedOperation);return yield G(e,null!=t?t:{},o,n,i)}))},exports.setLogFunction=function(e){S.customLogFunction=e},exports.setLogLevel=function(e){S.level=e},exports.setLogger=function(e){S.customLogger=e};
16
16
  //# sourceMappingURL=index.node.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.node.cjs.js","sources":["../../src/core/errors.ts","../../src/util/logger.ts","../node_modules/.pnpm/@rollup+plugin-typescript@12.1.0_rollup@4.27.3_tslib@2.3.1_typescript@5.4.2/node_modules/tslib/tslib.es6.js","../../src/util/utils.ts","../../src/util/utils.node.ts","../../src/credential/onBehalfOfUserCredential.ts","../../src/bot/teamsBotSsoPrompt.ts","../../src/apiClient/apiKeyProvider.ts","../../src/conversation/interface.ts","../../src/conversation/sso/botSsoExecutionDialog.ts","../../src/conversation/messageBuilder.ts","../../src/conversation/invokeResponseFactory.ts","../../src/conversation/middlewares/notificationMiddleware.ts","../../src/conversationWithCloudAdapter/notification.ts","../../src/messageExtension/executeWithSSO.ts","../../src/conversation/middlewares/cardActionMiddleware.ts","../../src/conversationWithCloudAdapter/cardAction.ts","../../src/conversation/middlewares/commandMiddleware.ts","../../src/conversationWithCloudAdapter/command.ts","../../src/conversation/utils.ts","../../src/conversation/storage.ts","../../src/conversation/sso/defaultBotSsoExecutionActivityHandler.ts","../../src/conversationWithCloudAdapter/conversation.ts","../../src/credential/appCredential.ts","../../src/apiClient/basicAuthProvider.ts","../../src/apiClient/bearerTokenAuthProvider.ts","../../src/apiClient/certificateAuthProvider.ts","../../src/credential/teamsUserCredential.ts","../../src/apiClient/apiClient.ts"],"sourcesContent":[null,null,"/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["ErrorCode","LogLevel","ErrorMessage","InvalidConfiguration","ConfigurationNotExists","ResourceConfigurationNotExists","MissingResourceConfiguration","AuthenticationConfigurationNotExists","BrowserRuntimeNotSupported","NodejsRuntimeNotSupported","FailToAcquireTokenOnBehalfOfUser","OnlyMSTeamsChannelSupported","FailedToProcessSsoHandler","FailedToRetrieveSsoToken","CannotFindCommand","FailedToRunSsoStep","FailedToRunDedupStep","SsoActivityHandlerIsNull","AuthorizationHeaderAlreadyExists","BasicCredentialAlreadyExists","EmptyParameter","DuplicateHttpsOptionProperty","DuplicateApiKeyInHeader","DuplicateApiKeyInQueryParam","OnlySupportInQueryActivity","OnlySupportInLinkQueryActivity","ErrorWithCode","Error","constructor","message","code","super","this","Object","setPrototypeOf","prototype","name","__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","value","step","next","e","rejected","result","done","then","apply","internalLogger","logLevel","level","undefined","defaultLogger","verbose","console","debug","info","warn","error","log","x","Warn","Info","Verbose","logFunction","trim","timestamp","Date","toUTCString","logHeader","logMessage","customLogger","customLogFunction","parseJwt","token","tokenObj","jwtDecode","exp","InternalError","err","errorMsg","formatString","str","replacements","args","replace","match","number","validateScopesType","String","Array","isArray","length","every","item","InvalidParameter","getScopesArray","scopes","split","filter","createConfidentialClientApplication","authentication","authority","authorityHost","tenantId","clientCertificate","certificateContent","exec","InvalidCertificate","thumbprintSha256","createHash","update","Buffer","from","digest","toUpperCase","privateKey","parseCertificate","auth","clientId","clientSecret","ConfidentialClientApplication","OnBehalfOfUserCredential","ssoToken","config","missingConfigurations","push","join","msalClient","decodedSsoToken","expiresOnTimestamp","getToken","options","scopesArray","authenticationResult","acquireTokenOnBehalfOf","oboAssertion","generateAuthServerError","accessToken","expiresOn","getTime","Math","floor","now","TokenExpiredError","getUserInfo","tokenObject","userInfo","displayName","objectId","oid","tid","preferredUserName","ver","preferred_username","upn","getUserInfoFromSsoToken","errorMessage","fullErrorMsg","UiRequiredError","indexOf","ServiceError","invokeResponseType","TokenExchangeInvokeResponse","id","failureDetail","TeamsBotSsoPrompt","Dialog","authConfig","initiateLoginEndpoint","dialogId","settings","missingValues","validateConfig","beginDialog","dc","ensureMsTeamsChannel","timeout","endOnInvalidMessage","state","_a","activeDialog","expires","sendOAuthCardAsync","context","EndOfTurn","continueDialog","isMessage","activity","type","ActivityTypes","Message","isTeamsVerificationInvoke","isTokenExchangeRequestInvoke","endDialog","recognized","recognizeToken","succeeded","channelId","Channels","Msteams","ChannelNotSupported","account","TeamsInfo","getMember","userPrincipalName","loginHint","signInResource","getSignInResource","card","CardFactory","oauthCard","signInLink","tokenExchangeResource","content","buttons","ActionTypes","Signin","msg","MessageFactory","attachment","sendActivity","encodeURI","uuidv4","tokenResponse","isTokenExchangeRequest","credential","exchangedToken","getTokenExchangeInvokeResponse","StatusCodes","OK","ssoTokenExpiration","toISOString","connectionName","expiration","toString","warningMsg","PRECONDITION_FAILED","BAD_REQUEST","status","body","Invoke","verifyStateOperationName","tokenExchangeOperationName","obj","hasOwnProperty","ApiKeyLocation","NotificationTargetType","AdaptiveCardResponse","InvokeResponseErrorCode","DIALOG_NAME","TEAMS_SSO_PROMPT_ID","COMMAND_ROUTE_DIALOG","BotSsoExecutionDialog","ComponentDialog","dedupStorage","ssoPromptSettings","dialogName","dedupStorageKeys","commandMapping","Map","ssoDialog","addDialog","initialDialogId","commandRouteDialog","WaterfallDialog","commandRouteStep","bind","addCommand","handler","triggerPatterns","commandId","getCommandHash","dialog","ssoStep","dedupStep","stepContext","set","patterns","patternStr","toLowerCase","run","accessor","dialogSet","DialogSet","add","dialogContext","createContext","results","DialogTurnStatus","empty","complete","getActivityText","text","removedMentionText","TurnContext","removeRecipientMention","turnContext","getMatchesCommandId","commandMessage","shouldDedup","onEndDialog","conversationId","conversation","currentDedupKeys","key","delete","storeItem","eTag","getStorageKey","storeItems","write","matchPattern","pattern","RegExp","test","matches","isPatternMatched","expressions","ex","command","MessageBuilder","attachAdaptiveCard","cardTemplate","data","$root","attachments","adaptiveCard","ACData","Template","expand","attachAdaptiveCardWithoutData","attachHeroCard","title","images","other","attachContent","heroCard","attachSigninCard","url","signinCard","attachO365ConnectorCard","o365ConnectorCard","AttachReceiptCard","receiptCard","attachThumbnailCard","thumbnailCard","attachement","InvokeResponseType","ActivityType","SearchScope","InvokeResponseFactory","textMessage","statusCode","AdaptiveCard","errorResponse","errorCode","createInvokeResponse","executionWithTokenAndConfig","logic","valueObj","composeExtension","suggestedActions","actions","getSignInResponseForMessageExtensionWithSilentAuthConfig","tokenRes","response","InvokeResponse","getSignInResponseForMessageExtensionWithAuthConfig","CardActionMiddleware","handlers","actionHandlers","defaultMessage","onTurn","action","actionVerb","verb","triggerVerb","handleActionInvoked","InternalServerError","sendInvokeResponse","_b","_c","refresh","adaptiveCardResponse","NewForAll","ReplaceForAll","replyToId","updateActivity","CardActionBot","adapter","middleware","use","registerHandler","actionHandler","registerHandlers","CommandResponseMiddleware","ssoHandlers","activityHandler","commandHandlers","ssoCommandHandlers","hasSsoCommand","ssoActivityHandler","SsoActivityHandlerIsUndefined","ssoHandler","addSsoCommand","matchResult","shouldTrigger","handleCommandReceived","processResponse","commandText","alreadyProcessed","replyActivity","arg","CommandBot","ssoCommandActivityHandler","ssoConfig","commands","ssoCommands","registerCommand","registerCommands","registerSsoCommand","ssoCommand","validateSsoActivityHandler","registerSsoCommands","cloneConversation","JSON","parse","stringify","getKey","reference","getTeamsBotInstallationId","teamId","channelData","team","NotificationMiddleware","conversationReferenceStore","classifyActivity","CurrentBotInstalled","TeamRestored","getConversationReference","overwrite","CurrentBotMessaged","tryAddMessagedReference","CurrentBotUninstalled","TeamDeleted","remove","activityType","eventType","Unknown","conversationType","_d","_f","_e","channel","teamReference","DefaultConversationReferenceStore","fileDir","localFileName","process","env","TEAMSFX_NOTIFICATION_STORE_FILENAME","filePath","path","storeFileExists","readFromFile","writeToFile","assign","list","pageSize","continuationToken","fileData","entries","map","entry","fs","access","readFile","encoding","rawData","writeFile","Channel","parent","sendMessage","onError","continueConversationAsync","botAppId","conversationReference","newConversation","ctx","res","sendAdaptiveCard","channelConversation","utils.cloneConversation","Member","Person","personalConversation","connectorClient","turnState","get","ConnectorClientKey","conversations","createConversation","isGroup","bot","recipient","members","TeamsBotInstallation","Group","utils.getTargetType","channels","teamsChannels","utils.getTeamsBotInstallationId","getTeamChannels","getPagedMembers","pagedMembers","m","getTeamDetails","teamDetails","NotificationBot","store","RUNNING_ON_AZURE","TEMP","BOT_ID","buildTeamsBotInstallation","validateInstallation","isValid","getPagedInstallations","pageSize_1","continuationToken_1","arguments","validationEnabled","references","targets","valid","utils.getKey","findMember","predicate","scope","target","installations","matchSearchScope","pagedData","member","findChannel","findAllMembers","targetMembers","findAllChannels","All","DefaultBotSsoExecutionActivityHandler","TeamsActivityHandler","memoryStorage","MemoryStorage","userState","UserState","conversationState","ConversationState","_l","aad","customConfig","s","t","p","call","getOwnPropertySymbols","i","propertyIsEnumerable","__rest","_g","ssoPromptConfig","_h","_j","_k","ssoExecutionDialog","dialogState","createProperty","onMessage","_super","saveChanges","handleTeamsSigninVerifyState","query","handleTeamsSigninTokenExchange","createDefaultAdapter","adapterConfig","CustomBotSsoExecutionActivityHandler","enabled","notification","cardAction","credentialsFactory","ConfigurationServiceClientCredentialFactory","MicrosoftAppId","MicrosoftAppPassword","BOT_PASSWORD","MicrosoftAppType","botFrameworkAuthentication","ConfigurationBotFrameworkAuthentication","CloudAdapter","onTurnError","sendTraceActivity","requestHandler","req","keyName","keyValue","keyLocation","AddAuthenticationInfo","Header","headers","AuthorizationInfoAlreadyExists","QueryParams","params","urlHasDefinedApiKey","URL","baseURL","searchParams","has","loadAndValidateConfig","scopesStr","acquireTokenByClientCredential","userName","password","username","certOption","keys","httpsAgent","existingProperties","Set","property","Agent","RuntimeNotSupported","login","resources","apiEndpoint","authProvider","instance","axios","create","interceptors","request","cert","passphrase","ca","pfx","FailedOperation","logger"],"mappings":"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","x_google_ignoreList":[2]}
1
+ {"version":3,"file":"index.node.cjs.js","sources":["../../src/core/errors.ts","../../src/util/logger.ts","../node_modules/.pnpm/@rollup+plugin-typescript@12.1.0_rollup@4.27.3_tslib@2.3.1_typescript@5.4.2/node_modules/tslib/tslib.es6.js","../../src/util/utils.ts","../../src/util/utils.node.ts","../../src/credential/onBehalfOfUserCredential.ts","../../src/bot/teamsBotSsoPrompt.ts","../../src/apiClient/apiKeyProvider.ts","../../src/conversation/interface.ts","../../src/conversation/sso/botSsoExecutionDialog.ts","../../src/conversation/messageBuilder.ts","../../src/conversation/invokeResponseFactory.ts","../../src/conversation/middlewares/notificationMiddleware.ts","../../src/conversationWithCloudAdapter/notification.ts","../../src/messageExtension/executeWithSSO.ts","../../src/conversation/middlewares/cardActionMiddleware.ts","../../src/conversationWithCloudAdapter/cardAction.ts","../../src/conversation/middlewares/commandMiddleware.ts","../../src/conversationWithCloudAdapter/command.ts","../../src/conversation/utils.ts","../../src/conversation/storage.ts","../../src/conversation/sso/defaultBotSsoExecutionActivityHandler.ts","../../src/conversationWithCloudAdapter/conversation.ts","../../src/credential/appCredential.ts","../../src/apiClient/basicAuthProvider.ts","../../src/apiClient/bearerTokenAuthProvider.ts","../../src/apiClient/certificateAuthProvider.ts","../../src/credential/teamsUserCredential.ts","../../src/apiClient/apiClient.ts"],"sourcesContent":[null,null,"/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["ErrorCode","LogLevel","ErrorMessage","InvalidConfiguration","ConfigurationNotExists","ResourceConfigurationNotExists","MissingResourceConfiguration","AuthenticationConfigurationNotExists","BrowserRuntimeNotSupported","NodejsRuntimeNotSupported","FailToAcquireTokenOnBehalfOfUser","OnlyMSTeamsChannelSupported","FailedToProcessSsoHandler","FailedToRetrieveSsoToken","CannotFindCommand","FailedToRunSsoStep","FailedToRunDedupStep","SsoActivityHandlerIsNull","AuthorizationHeaderAlreadyExists","BasicCredentialAlreadyExists","EmptyParameter","DuplicateHttpsOptionProperty","DuplicateApiKeyInHeader","DuplicateApiKeyInQueryParam","OnlySupportInQueryActivity","OnlySupportInLinkQueryActivity","ErrorWithCode","Error","constructor","message","code","super","this","Object","setPrototypeOf","prototype","name","__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","value","step","next","e","rejected","result","done","then","apply","internalLogger","logLevel","level","undefined","defaultLogger","verbose","console","debug","info","warn","error","log","x","Warn","Info","Verbose","logFunction","trim","timestamp","Date","toUTCString","logHeader","logMessage","customLogger","customLogFunction","parseJwt","token","tokenObj","jwtDecode","exp","InternalError","err","errorMsg","formatString","str","replacements","args","replace","match","number","validateScopesType","String","Array","isArray","length","every","item","InvalidParameter","getScopesArray","scopes","split","filter","createConfidentialClientApplication","authentication","authority","authorityHost","tenantId","clientCertificate","certificateContent","exec","InvalidCertificate","thumbprintSha256","createHash","update","Buffer","from","digest","toUpperCase","privateKey","parseCertificate","auth","clientId","clientSecret","ConfidentialClientApplication","OnBehalfOfUserCredential","ssoToken","config","missingConfigurations","push","join","msalClient","decodedSsoToken","expiresOnTimestamp","getToken","options","scopesArray","authenticationResult","acquireTokenOnBehalfOf","oboAssertion","generateAuthServerError","accessToken","expiresOn","getTime","Math","floor","now","TokenExpiredError","getUserInfo","tokenObject","userInfo","displayName","objectId","oid","tid","preferredUserName","ver","preferred_username","upn","getUserInfoFromSsoToken","errorMessage","fullErrorMsg","UiRequiredError","indexOf","ServiceError","invokeResponseType","TokenExchangeInvokeResponse","id","failureDetail","TeamsBotSsoPrompt","Dialog","authConfig","initiateLoginEndpoint","dialogId","settings","missingValues","validateConfig","beginDialog","dc","ensureMsTeamsChannel","timeout","endOnInvalidMessage","state","_a","activeDialog","expires","sendOAuthCardAsync","context","EndOfTurn","continueDialog","isMessage","activity","type","ActivityTypes","Message","isTeamsVerificationInvoke","isTokenExchangeRequestInvoke","endDialog","recognized","recognizeToken","succeeded","channelId","Channels","Msteams","ChannelNotSupported","account","TeamsInfo","getMember","userPrincipalName","loginHint","signInResource","getSignInResource","card","CardFactory","oauthCard","content","buttons","ActionTypes","Signin","msg","MessageFactory","attachment","sendActivity","signInLink","encodeURI","tokenExchangeResource","uuidv4","tokenPostResource","tokenResponse","isTokenExchangeRequest","credential","exchangedToken","getTokenExchangeInvokeResponse","StatusCodes","OK","ssoTokenExpiration","toISOString","connectionName","expiration","toString","warningMsg","PRECONDITION_FAILED","BAD_REQUEST","status","body","Invoke","verifyStateOperationName","tokenExchangeOperationName","obj","hasOwnProperty","ApiKeyLocation","NotificationTargetType","AdaptiveCardResponse","InvokeResponseErrorCode","DIALOG_NAME","TEAMS_SSO_PROMPT_ID","COMMAND_ROUTE_DIALOG","BotSsoExecutionDialog","ComponentDialog","dedupStorage","ssoPromptSettings","dialogName","dedupStorageKeys","commandMapping","Map","ssoDialog","addDialog","initialDialogId","commandRouteDialog","WaterfallDialog","commandRouteStep","bind","addCommand","handler","triggerPatterns","commandId","getCommandHash","dialog","ssoStep","dedupStep","stepContext","set","patterns","patternStr","toLowerCase","run","accessor","dialogSet","DialogSet","add","dialogContext","createContext","results","DialogTurnStatus","empty","complete","getActivityText","text","removedMentionText","removeRecipientMention","turnContext","getMatchesCommandId","commandMessage","shouldDedup","onEndDialog","conversationId","conversation","currentDedupKeys","key","delete","storeItem","eTag","getStorageKey","storeItems","write","matchPattern","pattern","RegExp","test","matches","isPatternMatched","expressions","ex","command","MessageBuilder","attachAdaptiveCard","cardTemplate","data","$root","attachments","adaptiveCard","ACData","Template","expand","attachAdaptiveCardWithoutData","attachHeroCard","title","images","other","attachContent","heroCard","attachSigninCard","url","signinCard","attachO365ConnectorCard","o365ConnectorCard","AttachReceiptCard","receiptCard","attachThumbnailCard","thumbnailCard","attachement","InvokeResponseType","ActivityType","SearchScope","InvokeResponseFactory","textMessage","statusCode","AdaptiveCard","errorResponse","errorCode","createInvokeResponse","executionWithTokenAndConfig","logic","valueObj","composeExtension","suggestedActions","actions","getSignInResponseForMessageExtensionWithSilentAuthConfig","tokenRes","response","Activity","fromObject","InvokeResponse","getSignInResponseForMessageExtensionWithAuthConfig","CardActionMiddleware","handlers","actionHandlers","defaultMessage","onTurn","action","actionVerb","verb","triggerVerb","handleActionInvoked","InternalServerError","sendInvokeResponse","_b","_c","refresh","adaptiveCardResponse","NewForAll","ReplaceForAll","replyToId","updateActivity","CardActionBot","adapter","middleware","use","registerHandler","actionHandler","registerHandlers","CommandResponseMiddleware","ssoHandlers","activityHandler","commandHandlers","ssoCommandHandlers","hasSsoCommand","ssoActivityHandler","SsoActivityHandlerIsUndefined","ssoHandler","addSsoCommand","matchResult","shouldTrigger","handleCommandReceived","processResponse","commandText","alreadyProcessed","replyActivity","arg","CommandBot","ssoCommandActivityHandler","ssoConfig","commands","ssoCommands","registerCommand","registerCommands","registerSsoCommand","ssoCommand","validateSsoActivityHandler","registerSsoCommands","cloneConversation","JSON","parse","stringify","getKey","reference","getTeamsBotInstallationId","teamId","channelData","team","_d","_e","NotificationMiddleware","conversationReferenceStore","classifyActivity","CurrentBotInstalled","TeamRestored","getConversationReference","overwrite","CurrentBotMessaged","tryAddMessagedReference","CurrentBotUninstalled","TeamDeleted","remove","activityType","eventType","Unknown","conversationType","_f","channel","teamReference","DefaultConversationReferenceStore","fileDir","localFileName","process","env","TEAMSFX_NOTIFICATION_STORE_FILENAME","filePath","path","storeFileExists","readFromFile","writeToFile","assign","list","pageSize","continuationToken","fileData","entries","map","entry","fs","access","readFile","encoding","rawData","writeFile","Channel","parent","sendMessage","onError","continueConversation","conversationReference","newConversation","ctx","res","sendAdaptiveCard","channelConversation","utils.cloneConversation","Member","Person","personalConversation","connectorClient","turnState","get","ConnectorClientKey","conversationParams","members","isGroup","agent","recipient","createConversationAsync","TeamsBotInstallation","botAppId","Group","utils.getTargetType","channels","teamsChannels","utils.getTeamsBotInstallationId","getTeamChannels","getPagedMembers","pagedMembers","m","getTeamDetails","teamDetails","NotificationBot","store","RUNNING_ON_AZURE","TEMP","BOT_ID","buildTeamsBotInstallation","validateInstallation","isValid","getPagedInstallations","pageSize_1","continuationToken_1","arguments","validationEnabled","references","targets","valid","utils.getKey","findMember","predicate","scope","target","installations","matchSearchScope","pagedData","member","findChannel","findAllMembers","targetMembers","findAllChannels","All","DefaultBotSsoExecutionActivityHandler","TeamsActivityHandler","memoryStorage","MemoryStorage","userState","UserState","conversationState","ConversationState","_l","aad","customConfig","s","t","p","call","getOwnPropertySymbols","i","propertyIsEnumerable","__rest","_g","ssoPromptConfig","_h","_j","_k","ssoExecutionDialog","dialogState","createProperty","onMessage","_super","saveChanges","handleTeamsSigninVerifyState","query","handleTeamsSigninTokenExchange","createDefaultAdapter","adapterConfig","CustomBotSsoExecutionActivityHandler","enabled","notification","cardAction","loadAuthConfigFromEnv","CloudAdapter","onTurnError","sendTraceActivity","requestHandler","req","keyName","keyValue","keyLocation","AddAuthenticationInfo","Header","headers","AuthorizationInfoAlreadyExists","QueryParams","params","urlHasDefinedApiKey","URL","baseURL","searchParams","has","loadAndValidateConfig","scopesStr","acquireTokenByClientCredential","userName","password","username","certOption","keys","httpsAgent","existingProperties","Set","property","Agent","RuntimeNotSupported","login","resources","apiEndpoint","authProvider","instance","axios","create","interceptors","request","cert","passphrase","ca","pfx","FailedOperation","logger"],"mappings":"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","x_google_ignoreList":[2]}