@useparagon/connect 2.1.2 → 2.2.0-experimental
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/src/ConnectSDK.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/*! For license information please see ConnectSDK.js.LICENSE.txt */
|
|
2
|
-
(()=>{var t={773:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.InstallFlow=e.ExternalFilePicker=e.PARAGON_OVERFLOW_EMPTY_VALUE=void 0;const i=n(655),r=i.__importDefault(n(6245)),o=n(3931),s=n(4059),a=n(745),l=n(7343),d=n(7050);Object.defineProperty(e,"ExternalFilePicker",{enumerable:!0,get:function(){return d.ExternalFilePicker}});const c=n(2643),u=n(4429),h=i.__importDefault(n(9892)),p=n(3821),g=n(2460),f=n(3158),E=n(4846),v=n(572),I=n(8321),_=n(3035),S="paragon-connect-frame",C=`${S}-container`,O="paragon-connect-user-state";e.PARAGON_OVERFLOW_EMPTY_VALUE="PARAGON_OVERFLOW_EMPTY_VALUE";class y extends h.default{constructor(t){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(super(),this.rootLoaded=!1,this.isHeadless=!1,this.rootElementCreated=!1,this.modalState={integration:null,onClose:this.onClose.bind(this),overlayStyle:{overflow:"auto"},onOpen:this.onOpen.bind(this),apiInstallationOptions:{isApiInstallation:!1,showPortalAfterInstall:!1}},this.userState={authenticated:!1},this.loadedConfigs={},this.loadedIntegrations={},this.endUserIntegrationConfig={},this.metadata={},this.cachedApiResponse=new _.CacheThrottle({ttl:5e3}),this.keyToRequestPromiseMap={},this.originalBodyOverflow=e.PARAGON_OVERFLOW_EMPTY_VALUE,this.dynamicFieldMappingLoaders={},this.customDropdownOptionsLoaders={},"undefined"==typeof window)return void console.warn("connect sdk can only be used on browser");const i=(0,f.getAssetUrl)({CDN_PUBLIC_URL:"https://cdn.useparagon.com",DASHBOARD_PUBLIC_URL:"https://dashboard.useparagon.com",NODE_ENV:"production",PLATFORM_ENV:"production",VERSION:"latest"});if(this.environments={CDN_PUBLIC_URL:i,CONNECT_PUBLIC_URL:"https://connect.useparagon.com",DASHBOARD_PUBLIC_URL:"https://dashboard.useparagon.com",HERMES_PUBLIC_URL:"https://hermes.useparagon.com",NODE_ENV:"production",PASSPORT_PRODUCTION_URL:"https://passport.useparagon.com",PASSPORT_PUBLIC_URL:"https://passport.useparagon.com",PLATFORM_ENV:"production",VERSION:"latest",WORKER_PROXY_PUBLIC_URL:"https://proxy.useparagon.com",ZEUS_PUBLIC_URL:"https://zeus.useparagon.com"},this.userState={authenticated:!1},"string"==typeof t?this.configureGlobal({host:t}):this.environments={...this.environments,...t},!this.environments.CONNECT_PUBLIC_URL)throw new Error("Paragon SDK error! No `CONNECT_PUBLIC_URL` configured.");if(!this.environments.DASHBOARD_PUBLIC_URL)throw new Error("Paragon SDK error! No `DASHBOARD_PUBLIC_URL` configured.");if(!this.environments.PASSPORT_PUBLIC_URL)throw new Error("Paragon SDK error! No `PASSPORT_PUBLIC_URL` configured.");if(!this.environments.WORKER_PROXY_PUBLIC_URL)throw new Error("Paragon SDK error! No `WORKER_PROXY_PUBLIC_URL` configured.");if(!this.environments.ZEUS_PUBLIC_URL)throw new Error("Paragon SDK error! No `ZEUS_PUBLIC_URL` configured.");n.skipBootstrapWithLastKnownState||this.loadState(),window.addEventListener("message",this.eventMessageHandler.bind(this)),window.document.readyState===p.DocumentLoadingState.LOADING?window.document.addEventListener("DOMContentLoaded",(()=>{this.createReactRoot()})):this.createReactRoot(),this.installFlow=new m(this)}setHeadless(t){this.isHeadless=t}async eventMessageHandler(t){switch(t.data.type){case"oauth_success_callback":await this._oauthCallback(t.data.credential);break;case"oauth_error_callback":await this._oauthErrorCallback(t.data.error,t);break;default:await this.functionInvocationHandler(t)}}async functionInvocationHandler(t){if("SDK_FUNCTION_INVOCATION"!==t.data.messageType)return;const{type:e,id:n,parameters:i}=t.data;let r;try{r={messageType:"SDK_FUNCTION_RESPONSE",id:n,type:e,result:await this[e](...i)}}catch(t){r={messageType:"SDK_FUNCTION_ERROR",error:!0,message:t.message,id:n}}t.source.postMessage(r,this.environments.CONNECT_PUBLIC_URL)}createReactRoot(){var t;if(this.rootElementCreated)return;this.rootElementCreated=!0,this.root=document.createElement("iframe"),this.root.onload=()=>{this.rootLoaded=!0,this.render()};const e=!!document.querySelector(`#${C}`);this.root.id=S,this.root.src=`${this.environments.CONNECT_PUBLIC_URL}/ui${this.projectId?`?projectId=${this.projectId}`:""}`,this.root.style.position=e?"absolute":"fixed",this.root.style.top="0",this.root.style.left="0",this.root.style.width=e?"100%":"100vw",this.root.style.height=e?"100%":"100vh",this.root.style.zIndex="2147483647",this.root.style.display="none",null===(t=document.querySelector(`#${C}`)||document.body)||void 0===t||t.appendChild(this.root)}validateAction(t){var e;if(!this.loadedIntegrations[t]&&!(0,l.isCustomIntegrationTypeName)(t))throw new Error(`"${t}" is not a valid integration type. The integrations you have configured for this Paragon project are:\n\n${Object.keys(this.loadedConfigs).map((t=>`- "${t}"`)).join("\n")}\n`);if(!this.loadedConfigs[t]||!this.userState.integrations[t])throw new Error(`integration "${t}" has not been set up in your Paragon project yet.\n\n${Object.keys(this.loadedConfigs).map((t=>`- "${t}"`)).join("\n")}`);if(!(null===(e=this.loadedIntegrations[t])||void 0===e?void 0:e.isActive))throw new Error(`integration "${t}" is not active in your Paragon project yet.`)}isAlreadyInstalled(t,e,n){var i,r;if(n){const t=this.getCredentialAndConfig({selectedCredentialId:n});return(null===(i=null==t?void 0:t.selectedCredential)||void 0===i?void 0:i.status)===s.CredentialStatus.VALID}return Boolean(null===(r=e.integrations[t])||void 0===r?void 0:r.enabled)}hasCredential(t,e,n){var i,r;if(!n)return Boolean(null===(i=e.integrations[t])||void 0===i?void 0:i.credentialId);try{const t=this.getCredentialAndConfig({selectedCredentialId:n});return Boolean(null===(r=null==t?void 0:t.selectedCredential)||void 0===r?void 0:r.id)}catch(t){return console.error(t),!1}}async bootstrapSDKState(t){this.projectId&&this.userState.authenticated&&await this.updateLocalState(t)}setModalState(t){this.modalState={config:void 0,...this.modalState,...t},this.render()}loadState(){if("undefined"!=typeof window)try{const t=window.localStorage.getItem(O)?JSON.parse(window.localStorage.getItem(O)):{};if(t.projectId&&(this.projectId=t.projectId),t.userState){const{userState:e}=t;if(!("authenticated"in e&&e.authenticated&&"token"in e))throw new Error("Malformatted or unauthenticated user was persisted into localStorage. Refusing to load.");this.updateAuthenticatedUser(e),this.bootstrapSDKState().catch((()=>{this.clearState()}))}}catch{this.clearState()}}getIntegrationId(t){const e=this.loadedIntegrations[t];if(!e)throw new Error(`Integration "${t}" not found`);return e.id}saveState(){"undefined"!=typeof window&&this.userState.authenticated&&window.localStorage.setItem(O,JSON.stringify({projectId:this.projectId,userState:this.userState}))}clearState(){"undefined"!=typeof window&&window.localStorage.removeItem(O)}render(){if(!this.isHeadless&&this.root&&this.rootLoaded){const{onClose:t,onOpen:e,...n}=this.modalState,i={messageType:"UI_UPDATE",nextContext:{user:this.userState,projectId:this.projectId,environments:this.environments,project:this.project,endUserIntegrationConfig:this.modalState.integration?this.endUserIntegrationConfig[(0,l.getIntegrationTypeName)(this.modalState.integration)||""]:void 0},nextModalState:n};if(!this.root.contentWindow)throw new Error("Browser not supported");this.root.contentWindow.postMessage(i,this.environments.CONNECT_PUBLIC_URL)}}updateContainerStyle(t){let{isModalShown:e}=t;this.root&&(this.root.style.display=e?"block":"none")}async authenticate(t,e,n){var i;if(!t||!e)throw new Error("projectId or token not specified to paragon.authenticate()");let o={};try{o=(0,r.default)(e)}catch(t){throw new Error("A well-formed JWT was not provided to paragon.authenticate()")}this.projectId=t,this.userState={authenticated:!0,token:e,userId:o.sub||o.id,integrations:{},meta:null!==(i=null==n?void 0:n.metadata)&&void 0!==i?i:{},resources:[]};try{if(Date.now()>=1e3*(o.exp||0))throw new Error("JWT token provided has expired.");await this.bootstrapSDKState(null==n?void 0:n.metadata)}catch(t){throw console.warn("paragon.authenticate() could not login user",t),this.logout(),new Error(`Failed to authenticate user with Paragon: ${t.message}`)}this.render()}getUser(){return Object.fromEntries(Object.entries(this.userState).filter((t=>{let[e]=t;return"token"!==e})))}updateAuthenticatedUser(t){this.userState.authenticated?this.userState={...this.userState,...t}:t.authenticated&&(this.userState=t),this.render()}logout(){this.userState={authenticated:!1},this.clearState(),this.render()}removeOptionDuplicates(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];if(!t)return;const e=new Set,n=[];for(const i of t)e.has(i.value)?console.warn(`Duplicated key: "${i.value}", Ignored: "${i.label}"`):(n.push(i),e.add(i.value));return n}startOAuthFlow(t,e){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};var i,r;const o=this.getIntegrationByName(t),s=(0,c.findSelectedAccountType)(null===(i=null==o?void 0:o.sdkIntegrationConfig)||void 0===i?void 0:i.accountTypes,this.getAccountName(e.accountType),this.getSelectedMultipleAccountTypes(e.accountType)),l={context:{user:this.userState,projectId:this.projectId,environments:this.environments,endUserIntegrationConfig:this.endUserIntegrationConfig[t]},integration:o,endUserSuppliedValues:e.endUserSuppliedValues},d=Boolean(o.needPreOauthInputs&&s&&!(null===(r=s.endUserSuppliedValues)||void 0===r?void 0:r.length)&&s.scheme===a.AuthenticationScheme.OAUTH);if(this.isHeadless||d||!o.needPreOauthInputs){l.authParams=null==s?void 0:s.oauthParameters,l.installOptions=e;const i=Math.random().toString(36).substring(2,15),r=(0,u.startOAuthFlow)(l,i);if(!r)throw new g.OAuthBlockedError;const o=()=>{clearInterval(E)},a=Date.now(),d=new AbortController,c=500;let h=!1;const p={abortSignal:d.signal,onSuccess:t=>{var e;h||(h=!0,o(),null===(e=n.onSuccess)||void 0===e||e.call(n,t))},onError:t=>{var e;h||(h=!0,o(),d.abort(),null===(e=n.onError)||void 0===e||e.call(n,t))}};new Promise(((t,e)=>{const n=i=>{"oauth_success_callback"===i.data.type&&(window.removeEventListener("message",n),t(i.data.credential.payload.credentialId)),"oauth_error_callback"===i.data.type&&(window.removeEventListener("message",n),e(new Error(i.data.error)))};window.addEventListener("message",n)})).then((t=>{p.onSuccess(t)})).catch((t=>{p.onError(t)}));const f=setInterval((()=>{try{r.opener||(clearInterval(f),this.pollForCredential(t,i,p))}catch(e){clearInterval(f),this.pollForCredential(t,i,p)}}),c),E=setInterval((()=>{try{if(!h&&n.oauthTimeout&&Date.now()-a>n.oauthTimeout)return r.close(),void p.onError(new g.OAuthTimeoutError)}catch(t){p.onError(t)}}),c)}}getIntegrationByName(t){const e=Object.values(this.loadedIntegrations).find((e=>(0,l.getIntegrationTypeName)(e)===t));if(!e)throw new Error(`Integration "${t}" not found.`);return e}getSelectedMultipleAccountTypes(t){if(Array.isArray(t))return t}getAccountName(t){return"string"==typeof t?t.trim():""}setDynamicFieldMappingLoaders(t,e){var n,i;if(this.dynamicFieldMappingLoaders[t]={},e)for(const[r,o]of Object.entries(e))if("object"==typeof o&&"objectTypes"in o&&"integrationFields"in o&&"applicationFields"in o){const s=o;this.dynamicFieldMappingLoaders[t][r]={objectTypes:null===(n=s.objectTypes)||void 0===n?void 0:n.get,integrationFields:null===(i=s.integrationFields)||void 0===i?void 0:i.get},s.applicationFields&&(e[r]={...s.applicationFields,useBYOFieldMappingOption:!0})}}async connect(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const{mapObjectFields:n,overrideRedirectUrl:i,isApiInstallation:r=!1,showPortalAfterInstall:o,bypassPostOAuthPrompt:a,allowMultipleCredentials:l,selectedCredentialId:d,selectedConfigurationId:u,accountType:h,...f}=e;return this.integrationToBeEnabled=t,new Promise(((E,v)=>{var _,S;if(!this.userState.authenticated)throw new g.UserNotAuthenticatedError;const C=this.getIntegrationByName(t),O=this.getSelectedMultipleAccountTypes(h);this.subscribeToIntegration(t,{...f,onInstall:(e,n)=>{var i;const r=n.integrations[t];e.credentialId=null==r?void 0:r.credentialId,e.credential=null==r?void 0:r.allCredentials.find((t=>t.id===r.credentialId)),E(e),(null==f?void 0:f.onInstall)?f.onInstall(e,n):null===(i=null==f?void 0:f.onSuccess)||void 0===i||i.call(f,e,n)},onError:t=>{var e;v(t),null===(e=null==f?void 0:f.onError)||void 0===e||e.call(f,t)}});try{if(n&&!this.project.accessibleFeatures.includes(p.ConnectAddOn.DynamicFieldMapper))throw new Error("Dynamic Field Mapping is available on our Enterprise plan. Contact sales@useparagon.com to learn more or upgrade.");if(this.validateAction(t),i&&!(0,I.isValidUrl)(i))throw new Error(`${i} is not valid url.`);this.setDynamicFieldMappingLoaders(t,n),this.endUserIntegrationConfig[t]={mapObjectFields:n,overrideRedirectUrl:i?(0,I.sanitizeUrl)(i):void 0};const g=this.getAccountName(h),f=Array.isArray(h)?h.filter((t=>{var e,n;return!(null===(n=null===(e=null==C?void 0:C.sdkIntegrationConfig)||void 0===e?void 0:e.accountTypes)||void 0===n?void 0:n.some((e=>e.id===t)))})):[],y=(0,c.findSelectedAccountType)(null===(_=null==C?void 0:C.sdkIntegrationConfig)||void 0===_?void 0:_.accountTypes,g,O),m={isApiInstallation:r,showPortalAfterInstall:o,bypassPostOAuthPrompt:a,allowMultipleCredentials:l,selectedCredentialId:d,selectedConfigurationId:u,accountType:h};if(this.setCredentialConfigForUserState(t,d,u),e.isApiInstallation&&(null===(S=this.userState.integrations[t])||void 0===S?void 0:S.credentialStatus)!==s.CredentialStatus.PENDING){const n=this.isHeadless?{onSuccess:t=>{E({integrationId:C.id,integrationType:C.type,credentialId:t})},onError:t=>{v(t)},oauthTimeout:e.oauthTimeout}:void 0;this.startOAuthFlow(t,m,n)}(h&&!y&&"string"==typeof h||f.length)&&console.warn(`Account type "${f.length?f:h}" is not valid for integration "${null==C?void 0:C.type}"`);const w=JSON.parse(JSON.stringify(this.loadedConfigs[t]));if(e.dropdowns){const n=e.dropdowns,i=[];for(const t in n){const e=n[t];if("loadOptions"in e){const n=e.loadOptions;this.customDropdownOptionsLoaders[t]=n,i.push(t)}}if(w.sharedMeta&&Array.isArray(w.sharedMeta.inputs))for(const t of w.sharedMeta.inputs){if(i.includes(t.key)){t.customDropdownOptions=[];continue}const e=this.removeOptionDuplicates(n[t.key]);e&&t.customDropdownOptions&&(t.customDropdownOptions=e)}if(w.workflowMeta)for(const t in w.workflowMeta){const e=w.workflowMeta[t];for(const t of e.inputs){if(i.includes(t.key)){t.customDropdownOptions=[];continue}const e=this.removeOptionDuplicates(n[t.key]);e&&t.customDropdownOptions&&(t.customDropdownOptions=e)}}this.loadedConfigs[t]=w}this.setModalState({integration:C,config:this.loadedConfigs[t],apiInstallationOptions:{...m,selectedMultipleAccountTypes:O,selectedAccountConfig:y},selectedCredentialId:d,connectionError:void 0,shouldShowPortalAfterInstall:!1})}catch(e){this.emitError(e,t)}}))}setCredentialConfigForUserState(t,e,n){var i,r,o;if(!this.userState.authenticated||!(null===(i=this.userState.integrations[t])||void 0===i?void 0:i.allCredentials.length))return;const a=this.userState.integrations[t],l=null!==(r=null==a?void 0:a.credentialId)&&void 0!==r?r:null==a?void 0:a.allCredentials[0].id,d=this.getCredentialAndConfig(e||n?{selectedCredentialId:e,selectedConfigurationId:n}:{selectedCredentialId:l},a);if(!(null===(o=null==a?void 0:a.allCredentials)||void 0===o?void 0:o.some((t=>{let{id:e}=t;return e===(null==d?void 0:d.selectedCredential.id)})))||!d)throw new Error(`Credential with ID "${e}" is not a valid ${t} account.`);const{selectedConfig:c,selectedCredential:u}=d,h={...a,allConfigurations:(null==a?void 0:a.allConfigurations)||[],allCredentials:(null==a?void 0:a.allCredentials)||[],enabled:u.status===s.CredentialStatus.VALID,credentialId:u.id,credentialStatus:u.status,providerData:u.providerData,providerId:u.providerId,configMeta:null==c?void 0:c.configMeta,credentialConfigId:null==c?void 0:c.id,externalId:null==c?void 0:c.externalId,sharedSettings:null==c?void 0:c.sharedSettings,workflowSettings:null==c?void 0:c.workflowSettings,configuredWorkflows:null==c?void 0:c.workflowSettings};this.userState.integrations={...this.userState.integrations,[t]:h}}getCredentialAndConfig(t,e){var n;const{selectedCredentialId:i,selectedConfigurationId:r}=t;if(!this.userState.authenticated||!i&&!r)return;let o,s;const a=null!==(n=null==e?void 0:e.allCredentials)&&void 0!==n?n:Object.values(this.userState.integrations).flatMap((t=>(null==t?void 0:t.allCredentials)||[])),l=a.flatMap((t=>{let{configurations:e}=t;return e}));if(r){const t=r.startsWith("ext:")||!(0,v.isUUID)(r),e=(0,f.sanitizeExternalConfigId)(r);if(s=l.find((n=>(t?n.externalId===e:n.id===e)&&(!i||n.connectCredentialId===i))),!s)throw new Error(`Credential configuration not found for provided id: ${r}.`)}if(o=a.find((t=>{let{id:e}=t;return e===((null==s?void 0:s.connectCredentialId)||i)})),s=null!=s?s:null==o?void 0:o.configurations.find((t=>{let{isDefault:e}=t;return e})),!o)throw new Error("Unable to find credential for provided options.");if(!s)throw new Error(`Credential configuration not found for credential: ${o.id}.`);if(s&&s.connectCredentialId!==(null==o?void 0:o.id))throw new Error('Provided "selectedCredentialId" does not belongs to provided "selectedConfigurationId".');return{selectedCredential:o,selectedConfig:s}}_getIntegration(t){return Object.values(this.loadedIntegrations).find((e=>e.id===t))}getIntegrationBySlug(t){const e=this.loadedIntegrations[t];if(!e)throw new g.IntegrationNotFoundError(t);return e}async _oauthCallback(t,e){var n,i;const{integrationId:r,payload:o}=t,a=this._getIntegration(r);if(!a)return;const d=(0,E.hash)(JSON.stringify({oauthResponse:t,credentialId:e}));if(await this.cachedApiResponse.get(d))return;await this.cachedApiResponse.set(d,!0);const c=(0,l.getIntegrationTypeName)(a),u=(null===(n=this.modalState.apiInstallationOptions)||void 0===n?void 0:n.isApiInstallation)?this.modalState.apiInstallationOptions:{};try{const t=e?`/sdk/credentials/${e}/complete-setup`:"/sdk/credentials",n=await this.sendConnectRequest(t,{method:"POST",body:JSON.stringify({integrationId:a.id,config:{},payload:o,installOptions:u})});if(!n)throw new Error("Unable to save oauth credentials");this.updateCredentialData(n,a),n.status===s.CredentialStatus.VALID&&this.triggerSDKEvent({type:p.SDK_EVENT.ON_INTEGRATION_INSTALL,integrationId:a.id,integrationType:c}),this.setModalState({...this.modalState,...(null===(i=this.modalState.apiInstallationOptions)||void 0===i?void 0:i.showPortalAfterInstall)?{shouldShowPortalAfterInstall:!0}:{},connectionError:void 0})}catch(t){if(this.isHeadless)throw t;this.setModalState({...this.modalState,connectionError:t}),this.emitError(t,c),await this._oauthErrorCallback(t.message)}}async _oauthErrorCallback(t,e){var n;const i=t;let r;r=this.integrationToBeEnabled?this.loadedIntegrations[this.integrationToBeEnabled].id:null===(n=null==e?void 0:e.data)||void 0===n?void 0:n.integrationId,e&&(this.emitError(e.data.errorResponse,(0,l.getIntegrationTypeName)(this._getIntegration(r))),this.setModalState({...this.modalState,connectionError:e.data})),console.error("Failed to connect account to Paragon over OAuth",i)}async _loadCustomDropdownOptions(t,e,n){return this.customDropdownOptionsLoaders[t](e,n)}async sendConnectRequest(t,e){let n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];var i;if(!this.userState.authenticated||!this.projectId)throw new Error("Connect SDK attempted to make an API request, but no user was authenticated.\nCall paragon.authenticate(<projectId>, <user token>) before using the SDK.");const r=`${null!==(i=null==e?void 0:e.baseURLOverride)&&void 0!==i?i:this.environments.ZEUS_PUBLIC_URL}${n?`/projects/${this.projectId}`:""}${t}`,o=(0,E.hash)(JSON.stringify({url:r,payload:{...e}})),s=await this.cachedApiResponse.get(o,!0);if((null==e?void 0:e.cacheResult)&&s)return s;const a=Boolean(!e||"GET"===e.method||e.cacheResult);if(a&&"object"==typeof this.keyToRequestPromiseMap[o])return this.keyToRequestPromiseMap[o];const l=this.userState.token,d=this.modalState.integration&&this.integrationToBeEnabled?this.userState.integrations[this.integrationToBeEnabled]:void 0,c=new Promise(((t,n)=>{(async()=>{try{const n=await this.sendRequest(r,{...e,headers:{Accept:"application/json","Content-Type":"application/json",...!(null==e?void 0:e.skipDefaultCredentialIdHeader)&&(null==d?void 0:d.credentialId)?{[p.SELECTED_CREDENTIAL_ID_HEADER]:null==d?void 0:d.credentialId}:{},...null==e?void 0:e.headers,Authorization:`Bearer ${l}`}},a?o:void 0);t(n)}catch(t){n(t)}})()}));return a&&(this.keyToRequestPromiseMap[o]=c),c}async sendRequest(t,e,n){var i;let r,s,a;try{r=await fetch(t,e)}catch(t){a=t}if(r&&!r.ok||a){const e=r?await(0,I.getErrorMessage)(r,!0):null==a?void 0:a.message,s="string"==typeof e?e:null==e?void 0:e.message,l=(0,I.errorMessageParser)(s),d="object"==typeof e&&e.response.code===o.INSUFFICIENT_PERMISSION,c="object"==typeof e&&[o.BYO_CREDENTIAL_VERIFICATION_ERROR,o.BYO_USER_PROFILE_ERROR_CODE].includes(e.response.code),u=401===(null==r?void 0:r.status)||403===(null==r?void 0:r.status),h=!l&&!d&&!c&&u;if(h&&!t.includes("proxy"))this.logout();else if(h&&t.includes("proxy")){const t=await this.fetchUserData();this.updateAuthenticatedUser({integrations:t.integrations,meta:t.meta,resources:t.resources})}if(n&&(await this.cachedApiResponse.del(n),delete this.keyToRequestPromiseMap[n]),"string"!=typeof e&&t.includes("proxy"))throw null===(i=e.response)||void 0===i||delete i.headers,new I.ProxyRequestError(e.message,e.response);throw new Error("string"==typeof e?s:JSON.stringify(e.response))}try{s=await(null==r?void 0:r.json())}catch{s=void 0}return n&&(await this.cachedApiResponse.set(n,s),delete this.keyToRequestPromiseMap[n]),s}async request(t,e,n){var i;const r=`/sdk/proxy/${t}`,o=e.startsWith("/")?e:`/${e}`,s=n.selectedCredentialId?n.selectedCredentialId:null===(i=this.userState.integrations[t])||void 0===i?void 0:i.credentialId,a=await this.sendConnectRequest(`${r}${o}`,{method:n.method,body:"object"==typeof n.body?JSON.stringify(n.body):n.body,headers:{"Content-Type":p.INFER_CONTENT_TYPE_FROM_CONNECT_OPTIONS,...s?{[p.SELECTED_CREDENTIAL_ID_HEADER]:s}:{},...n.headers},baseURLOverride:this.environments.WORKER_PROXY_PUBLIC_URL});return null==a?void 0:a.output}async event(t,e){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const{selectedConfigurationId:i,selectedCredentialId:r}=n;if(i&&!r)throw new Error("Configuration ID cannot be used without a corresponding Credential ID. Please provide both if using Configuration ID.");await this.sendConnectRequest(`/v2/projects/${this.projectId}/sdk/events/trigger`,{method:"POST",headers:{...r?{[p.SELECTED_CREDENTIAL_ID_HEADER]:r}:{},...i?{[p.SELECTED_CREDENTIAL_CONFIG_ID_HEADER]:i}:{}},body:JSON.stringify({name:t,payload:e}),skipDefaultCredentialIdHeader:!0},!1)}onClose(){let t=arguments.length>0&&void 0!==arguments[0]&&arguments[0];const{integration:n,apiInstallationOptions:i}=this.modalState;n&&(this.triggerSDKEvent({type:p.SDK_EVENT.ON_PORTAL_CLOSE,integrationId:n.id,integrationType:(0,l.getIntegrationTypeName)(n)}),this.originalBodyOverflow!==e.PARAGON_OVERFLOW_EMPTY_VALUE&&(window.document.body.style.overflow=this.originalBodyOverflow,this.originalBodyOverflow=e.PARAGON_OVERFLOW_EMPTY_VALUE),!t&&(null==i?void 0:i.isApiInstallation)||(this.setModalState({integration:null}),this.integrationToBeEnabled=void 0))}onOpen(){const{integration:t}=this.modalState;if(t&&(this.triggerSDKEvent({type:p.SDK_EVENT.ON_PORTAL_OPEN,integrationId:t.id,integrationType:(0,l.getIntegrationTypeName)(t)}),this.root&&this.originalBodyOverflow===e.PARAGON_OVERFLOW_EMPTY_VALUE)){const t=this.root.getBoundingClientRect();window.innerHeight<=t.height&&window.innerWidth<=t.width&&(this.originalBodyOverflow=window.document.body.style.overflow,window.document.body.style.overflow="hidden")}}triggerSDKEvent(t){this.triggerEvent(t,this.userState)}getIntegrationMetadata(t){const e=t=>{return{...t,icon:(e=t.icon,e.includes(".svg")?(null===(n=e.split(".svg"))||void 0===n?void 0:n[0])+".svg":e)};var e,n};if(t){const n=this.metadata[t];if(!n)throw new Error(`${t} is not a valid integration name`);return e(n)}return Object.values(this.metadata).map(e)}closePortal(){this.onClose(!0)}workflow(t){let{selectedCredentialId:e,selectedConfigurationId:n,body:i={},query:r={},headers:o={}}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};var s;if(!t)throw new Error("workflowId is required.");const a=new URLSearchParams(r).toString(),{integrationState:l}=this.getIntegrationForWorkflow(t),d=this.getCredentialAndConfig(e||n?{selectedCredentialId:e,selectedConfigurationId:n}:{selectedCredentialId:l.credentialId},l);if(!d||!(null===(s=d.selectedConfig.workflowSettings[t])||void 0===s?void 0:s.enabled))throw new Error(`Workflow ${t} is not enabled for this user.`);return this.sendConnectRequest(`/sdk/triggers/${t}?${a}`,{method:"POST",body:JSON.stringify(i),headers:{[p.SELECTED_CREDENTIAL_ID_HEADER]:d.selectedCredential.id,[p.SELECTED_CREDENTIAL_CONFIG_ID_HEADER]:d.selectedConfig.id,...o}},!0)}installIntegration(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!this.userState.authenticated)throw new g.UserNotAuthenticatedError;this.closePortal();const n={showPortalAfterInstall:!1,bypassPostOAuthPrompt:!1,allowMultipleCredentials:!1,...e,isApiInstallation:!0};if(n.bypassPostOAuthPrompt&&n.showPortalAfterInstall)throw new Error("Could not use both `bypassPostOAuthPrompt` and `showPortalAfterInstall` as true at the same time.");if(this.ensureHeadlessIsSupported(),this.validateAction(t),!n.allowMultipleCredentials&&this.isAlreadyInstalled(t,this.userState))throw new Error(`Integration "${t}" is already installed.`);if(e.showPortalAfterInstall){const e=Object.values(this.loadedIntegrations).find((e=>(0,l.getIntegrationTypeName)(e)===t));this.setModalState({integration:e,config:this.loadedConfigs[t],apiInstallationOptions:n,shouldShowPortalAfterInstall:!1})}else this.setModalState({integration:null});return this.connect(t,n)}ensureHeadlessIsSupported(){if(!this.project.accessibleFeatures.includes(p.ConnectAddOn.HeadlessConnectPortal))throw new Error("Headless Connect Portal is available on our Pro plan and above. Contact sales@useparagon.com to learn more or upgrade.")}async uninstallIntegration(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const n=null==e?void 0:e.selectedCredentialId;if(!this.userState.authenticated)throw new g.UserNotAuthenticatedError;if(this.ensureHeadlessIsSupported(),this.validateAction(t),!this.hasCredential(t,this.userState,e.selectedCredentialId))throw new g.IntegrationNotInstalledError(t);const i=this.loadedIntegrations[t].id,r=this.userState.integrations[t],o=n||(null==r?void 0:r.credentialId);if(!o||!r)throw new Error("No credential found for uninstall");await this.sendConnectRequest(`/sdk/integrations/${i}`,{method:"DELETE",headers:{...o?{[p.SELECTED_CREDENTIAL_ID_HEADER]:o}:{}}}),this.updateAuthenticatedUser({integrations:{...this.userState.integrations,[t]:(0,c.getActionStateForCredentialDelete)(o,r)}}),n===this.modalState.selectedCredentialId&&this.setModalState({integration:null,selectedCredentialId:void 0}),this.saveState(),this.triggerSDKEvent({type:p.SDK_EVENT.ON_INTEGRATION_UNINSTALL,integrationId:i,integrationType:t})}async disableWorkflow(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};var n;const{selectedCredentialId:i,selectedConfigurationId:r}=e,{integration:o,integrationState:s}=this.getIntegrationForWorkflow(t),a=this.getCredentialAndConfig(i||r?{selectedCredentialId:i,selectedConfigurationId:r}:{selectedCredentialId:s.credentialId},s);if(!a||!(null===(n=a.selectedConfig.workflowSettings[t])||void 0===n?void 0:n.enabled))throw new Error(`Workflow ${t} cannot be disabled for this user.`);const{selectedConfig:l,selectedCredential:d}=a;await this.sendConnectRequest(`/sdk/workflows/${t}`,{method:"DELETE",headers:{[p.SELECTED_CREDENTIAL_ID_HEADER]:d.id,[p.SELECTED_CREDENTIAL_CONFIG_ID_HEADER]:l.id}});const c={...l,workflowSettings:{...l.workflowSettings,[t]:{settings:{},...l.workflowSettings[t],enabled:!1}}},u={...d,configurations:d.configurations.filter((t=>t.id!==l.id)).concat(c)};this.updateCredentialData(u,o)}async enableWorkflow(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};var n;const{selectedCredentialId:i,selectedConfigurationId:r}=e,{integration:o,integrationState:a}=this.getIntegrationForWorkflow(t),l=this.getCredentialAndConfig(i||r?{selectedCredentialId:i,selectedConfigurationId:r}:{selectedCredentialId:a.credentialId},a);if(!l||(null==l?void 0:l.selectedCredential.status)!==s.CredentialStatus.VALID)throw new Error("Valid credential not found for provided options.");const{selectedConfig:d,selectedCredential:c}=l;if(null===(n=d.workflowSettings[t])||void 0===n?void 0:n.enabled)throw new Error(`Workflow ${t} is already enabled for this user.`);await this.sendConnectRequest(`/sdk/workflows/${t}`,{method:"POST",headers:{[p.SELECTED_CREDENTIAL_ID_HEADER]:c.id,[p.SELECTED_CREDENTIAL_CONFIG_ID_HEADER]:d.id}});const u={...d,workflowSettings:{...d.workflowSettings,[t]:{settings:{},...d.workflowSettings[t],enabled:!0}}},h={...c,configurations:c.configurations.filter((t=>t.id!==d.id)).concat(u)};this.updateCredentialData(h,o)}async getIntegrationAccount(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};var n;this.validateAction(t);const i=null===(n=this.userState.integrations[t])||void 0===n?void 0:n.allCredentials;if(!(null==i?void 0:i.length))throw new Error("Connect credential not found");const r=await this.sendConnectRequest(`/sdk/credentials?integration=${t}&includeAccountAuth=${e.includeAccountAuth}`,{method:"GET",headers:e.selectedCredentialId?{[p.SELECTED_CREDENTIAL_ID_HEADER]:e.selectedCredentialId}:{}});if(!r)throw new Error("Integration not connected");return r}getIntegrationForWorkflow(t){if(!this.userState.authenticated)throw new g.UserNotAuthenticatedError;const e=Object.values(this.loadedIntegrations).find((e=>{const n=e.configs[0].values;return t in(n.workflowMeta||{})}));if(!e)throw new Error("Workflow not found in the configured integrations in your Paragon project.");const n=(0,l.getIntegrationTypeName)(e)?this.userState.integrations[(0,l.getIntegrationTypeName)(e)]:void 0;if(!n||!n.allCredentials.some((t=>{let{status:e}=t;return e===s.CredentialStatus.VALID})))throw new Error(`Integration "${(0,l.getIntegrationTypeName)(e)}" not enabled for workflow."`);return{integration:e,integrationState:n}}async updateLocalState(t){var e,n;const[i,r]=await Promise.all([this.fetchUserData(t),this.fetchIntegrations()]);this.project=i.project;let o={...i.integrations};if(this.modalState.integration&&this.integrationToBeEnabled){const t=this.userState.integrations[this.integrationToBeEnabled],i=null==t?void 0:t.credentialConfigId,r=null==t?void 0:t.credentialId;let s;if(i)s=null===(e=o[this.integrationToBeEnabled])||void 0===e?void 0:e.allConfigurations.find((t=>{let{id:e}=t;return e===i}));else if(r){const t=null===(n=o[this.integrationToBeEnabled])||void 0===n?void 0:n.allCredentials.find((t=>{let{id:e}=t;return e===r}));s=t?t.configurations.find((t=>t.isDefault)):void 0}s&&(o={...o,[this.integrationToBeEnabled]:{enabled:!1,allConfigurations:[],allCredentials:[],...o[this.integrationToBeEnabled],credentialId:s.connectCredentialId,credentialConfigId:s.id,workflowSettings:s.workflowSettings,configuredWorkflows:s.workflowSettings,sharedSettings:s.sharedSettings,configMeta:s.configMeta}})}this.updateAuthenticatedUser({integrations:o,meta:i.meta,resources:i.resources}),this.updateIntegrations(r),this.saveState()}async fetchUserData(t){const e=await this.sendConnectRequest("/sdk/me",{headers:(0,f.getHeadersForUserMeta)(t)});if(!e)throw new Error("Unable to get user Data");return{...e,integrations:Object.fromEntries(Object.entries(e.integrations).map((t=>{let[e,n]=t;const i=n.allCredentials.flatMap((t=>{let{configurations:e}=t;return e}));return[e,{...n,allConfigurations:i}]})))}}async fetchIntegrations(){const t=await this.sendConnectRequest("/sdk/integrations");if(!t)throw new Error("Unable to fetch integrations");return t}getIntegrationIcon(t){if(!t.customIntegration){const e=p.overrideActionAlias[t.type]||t.type;return`${this.environments.CDN_PUBLIC_URL}/integrations/${e}.svg`}return t.customIntegration.icon?t.customIntegration.icon:`${this.environments.CDN_PUBLIC_URL}/images/icons/byo-placeholder.svg`}updateIntegrations(t){t.forEach((t=>{var e;if(t.configs.length)try{const n=(0,l.getIntegrationTypeName)(t);this.loadedConfigs[n]=t.configs[0].values,this.loadedIntegrations[n]={...t,type:t.type.startsWith("custom.")?o.ACTION_CUSTOM:t.type},Boolean(t.isActive)&&(this.metadata[n]={type:n,name:t.name,brandColor:t.brandColor,icon:this.getIntegrationIcon(t)}),(null===(e=this.modalState.integration)||void 0===e?void 0:e.id)===t.id&&this.setModalState({integration:{...t,type:t.type.startsWith("custom.")?o.ACTION_CUSTOM:t.type}})}catch(t){console.warn(t)}}))}async setUserMetadata(t){return await this.sendConnectRequest("/sdk/me",{method:"PATCH",body:JSON.stringify({meta:t})}),await this.updateLocalState(),this.render(),this.userState}configureGlobal(t,e){var n,i,r,o,s,a,l,d;if(!t||!t.host)throw new Error("host not specified");const c=t.host.indexOf("http")>-1?new URL(t.host).hostname:t.host;this.environments.CONNECT_PUBLIC_URL=null!==(n=null==e?void 0:e.CONNECT_PUBLIC_URL)&&void 0!==n?n:(0,I.getServiceUrl)("connect",c),this.environments.DASHBOARD_PUBLIC_URL=null!==(i=null==e?void 0:e.DASHBOARD_PUBLIC_URL)&&void 0!==i?i:(0,I.getServiceUrl)("dashboard",c),this.environments.HERMES_PUBLIC_URL=null!==(r=null==e?void 0:e.HERMES_PUBLIC_URL)&&void 0!==r?r:(0,I.getServiceUrl)("hermes",c),this.environments.PASSPORT_PRODUCTION_URL=null!==(o=null==e?void 0:e.PASSPORT_PRODUCTION_URL)&&void 0!==o?o:(0,I.getServiceUrl)("passport",c),this.environments.PASSPORT_PUBLIC_URL=null!==(s=null==e?void 0:e.PASSPORT_PUBLIC_URL)&&void 0!==s?s:(0,I.getServiceUrl)("passport",c),this.environments.ZEUS_PUBLIC_URL=null!==(a=null==e?void 0:e.ZEUS_PUBLIC_URL)&&void 0!==a?a:(0,I.getServiceUrl)("zeus",c),this.environments.CDN_PUBLIC_URL=null!==(l=null==e?void 0:e.CDN_PUBLIC_URL)&&void 0!==l?l:(0,I.getServiceUrl)("dashboard",c),this.environments.WORKER_PROXY_PUBLIC_URL=null!==(d=null==e?void 0:e.WORKER_PROXY_PUBLIC_URL)&&void 0!==d?d:(0,I.getServiceUrl)("proxy",c),this.userState.authenticated=!1,this.root?this.root.src=`${this.environments.CONNECT_PUBLIC_URL}/ui${this.projectId?`?projectId=${this.projectId}`:""}`:console.error("Root element not defined")}async completeInstall(t,e){var n;if(!this.userState.authenticated)throw new Error("Authentication is required");if(!e||!e.authorizationCode)throw new Error("authorizationCode is required");if(e.redirectUrl&&!(0,I.isValidUrl)(e.redirectUrl))throw new Error(`${e.redirectUrl} is not valid url`);this.validateAction(t);const i=Object.values(this.loadedIntegrations).find((e=>(0,l.getIntegrationTypeName)(e)===t)),r=null===(n=e.showPortalAfterInstall)||void 0===n||n,o=await this.sendConnectRequest("/sdk/credentials",{method:"POST",body:JSON.stringify({code:e.authorizationCode,integrationId:i.id,redirectUrl:e.redirectUrl?(0,I.sanitizeUrl)(e.redirectUrl):void 0,integrationOptions:e.integrationOptions||{}})});if(!o)throw new Error("Unable to create credential");this.updateCredentialData(o,i),r&&this.setModalState({integration:i,config:this.loadedConfigs[t],apiInstallationOptions:{}})}updateCredentialData(t,e){var n;const i=this.userState,r=(0,l.getIntegrationTypeName)(e),o=i.integrations[r],a=o.allCredentials.findIndex((e=>{let{id:n}=e;return n===t.id}));a>-1?o.allCredentials[a]=t:o.allCredentials.push(t);const d=Object.values(null!==(n=o.allConfigurations)&&void 0!==n?n:[]).filter((e=>{let{connectCredentialId:n}=e;return n!==t.id})).concat(t.configurations);if(!(-1===a||t.id===o.credentialId||!(!o.credentialConfigId||!t.configurations.some((t=>t.id===o.credentialConfigId)))))return this.updateAuthenticatedUser({integrations:{...i.integrations,[r]:{...o,allConfigurations:d}}}),void this.saveState();const c=o.credentialConfigId?t.configurations.find((t=>o.credentialConfigId===t.id)):t.configurations[0];this.updateAuthenticatedUser({integrations:{...i.integrations,[r]:{...o,allConfigurations:d,credentialStatus:t.status,enabled:t.status===s.CredentialStatus.VALID,credentialId:t.id,providerId:t.providerId,providerData:t.providerData,configMeta:null==c?void 0:c.configMeta,credentialConfigId:null==c?void 0:c.id,externalId:null==c?void 0:c.externalId,sharedSettings:null==c?void 0:c.sharedSettings,workflowSettings:null==c?void 0:c.workflowSettings,configuredWorkflows:null==c?void 0:c.workflowSettings}}}),this.saveState()}async connectAction(t,e){var n;if(!this.userState.authenticated)throw new g.UserNotAuthenticatedError;const i=null===(n=this.userState.resources.find((e=>t===e.slug)))||void 0===n?void 0:n.id;if(!i)throw new Error(`No resource found with name "${t}".`);if(!e||"object"!=typeof e)throw new Error("payload must be of type object.");const r=await this.sendConnectRequest(`/sdk/resources/${i}/connect`,{method:"POST",body:JSON.stringify(e)});if(!r)throw new Error(`Unable to connect to "${t}".`);return r}async createConfiguration(t){let{credentialId:e,externalId:n}=t;var i,r;if(!this.userState.authenticated)throw new g.UserNotAuthenticatedError;if(!e)throw new Error('Required options not provided: "credentialId"');const o=this.getCredentialAndConfig({selectedCredentialId:e});if(!o||(null==o?void 0:o.selectedCredential.status)!==s.CredentialStatus.VALID)throw new Error("Valid credential not found for provided options.");const a=await this.sendConnectRequest(`/sdk/credentials/${e}/configurations`,{method:"POST",body:JSON.stringify(n?{externalId:n}:{})});if(!a)throw new Error("Unable to create a configuration for credential.");const l=Object.keys(this.userState.integrations).find((t=>{var e;return null===(e=this.userState.integrations[t])||void 0===e?void 0:e.allCredentials.find((t=>{let{id:e}=t;return e===a.id}))}));if(l){const t=null===(i=this.userState.integrations[l])||void 0===i?void 0:i.allConfigurations.filter((t=>{let{connectCredentialId:e}=t;return e!==a.id})).concat(a.configurations),e=null===(r=this.userState.integrations[l])||void 0===r?void 0:r.allCredentials.map((t=>t.id===a.id?a:t)),n={...this.userState.integrations,[l]:{enabled:!1,...this.userState.integrations[l],allConfigurations:t||[],allCredentials:e||[]}};this.updateAuthenticatedUser({integrations:n})}return a.configurations.sort(((t,e)=>new Date(e.dateCreated).getTime()-new Date(t.dateCreated).getTime()))[0]}async destroyConfiguration(t){let{id:e,credentialId:n}=t;var i,r,o,s;if(!this.userState.authenticated)throw new g.UserNotAuthenticatedError;if(!(null==e?void 0:e.trim())||!(null==n?void 0:n.trim()))throw new Error("One or more required options not provided.");const a=this.getCredentialAndConfig({selectedConfigurationId:e,selectedCredentialId:n});if(!a)throw new Error(`Unable to find credential for configuration: ${e}.`);if(a.selectedConfig.isDefault)throw new Error("Cannot delete default configuration.");await this.sendConnectRequest(`/sdk/credentials/${a.selectedCredential.id}/configurations`,{method:"DELETE",headers:{[p.SELECTED_CREDENTIAL_ID_HEADER]:null==a?void 0:a.selectedCredential.id,[p.SELECTED_CREDENTIAL_CONFIG_ID_HEADER]:null==a?void 0:a.selectedConfig.id}});const l=Object.keys(this.userState.integrations).find((t=>{var e;return null===(e=this.userState.integrations[t])||void 0===e?void 0:e.allCredentials.find((t=>{let{id:e}=t;return e===a.selectedCredential.id}))}));if(l){const{selectedConfig:t,selectedCredential:e}=a,n=null===(i=this.userState.integrations[l])||void 0===i?void 0:i.allConfigurations.filter((e=>{let{id:n}=e;return n!==t.id})),d=null===(r=this.userState.integrations[l])||void 0===r?void 0:r.allCredentials.map((n=>n.id!==e.id?n:{...n,configurations:n.configurations.filter((e=>{let{id:n}=e;return n!==t.id}))})),c={...this.userState.integrations,[l]:{enabled:!1,...this.userState.integrations[l],allConfigurations:n||[],allCredentials:d||[]}};this.updateAuthenticatedUser({integrations:c}),(null===(o=this.userState.integrations[l])||void 0===o?void 0:o.credentialId)===e.id&&(null===(s=this.userState.integrations[l])||void 0===s?void 0:s.credentialConfigId)===t.id&&this.closePortal()}}async updateConfiguration(t){let{id:e,credentialId:n,meta:i={}}=t;var r,o;if(!this.userState.authenticated)throw new g.UserNotAuthenticatedError;if(!(null==e?void 0:e.trim())||!(null==n?void 0:n.trim()))throw new Error("One or more required options not provided.");const s=this.getCredentialAndConfig({selectedConfigurationId:e,selectedCredentialId:n});if(!(null==s?void 0:s.selectedConfig))throw new Error(`Cannot find credential configuration with given id: "${e}"`);const a=await this.sendConnectRequest(`/sdk/credentials/${s.selectedConfig.connectCredentialId}/configurations`,{method:"PATCH",body:JSON.stringify({meta:i}),headers:{[p.SELECTED_CREDENTIAL_ID_HEADER]:s.selectedCredential.id,[p.SELECTED_CREDENTIAL_CONFIG_ID_HEADER]:s.selectedConfig.id}});if(!a)throw new Error("Unable to update configuration.");const l=Object.keys(this.userState.integrations).find((t=>{var e;return null===(e=this.userState.integrations[t])||void 0===e?void 0:e.allCredentials.find((t=>{let{id:e}=t;return e===a.id}))}));if(l){const t=null===(r=this.userState.integrations[l])||void 0===r?void 0:r.allConfigurations.filter((t=>{let{connectCredentialId:e}=t;return e!==a.id})).concat(a.configurations),e=null===(o=this.userState.integrations[l])||void 0===o?void 0:o.allCredentials.map((t=>t.id===a.id?a:t)),n={...this.userState.integrations,[l]:{enabled:!1,...this.userState.integrations[l],allConfigurations:t||[],allCredentials:e||[]}};this.updateAuthenticatedUser({integrations:n})}const d=a.configurations.find((t=>{let{id:e}=t;return e===s.selectedConfig.id}));return d}async pollForCredential(t,e){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};var i;const r=Date.now(),o=async()=>{try{return await this.sendConnectRequest(`/sdk/actions/session-id/${e}`,{method:"GET"})}catch(t){return console.error("error",t),null}};try{const e=await(0,v.tryUntil)(o,((t,e)=>{var i;return!(null===(i=n.abortSignal)||void 0===i?void 0:i.aborted)&&!(Date.now()-r>=u.MAX_POLL_DURATION||(null==t?void 0:t.connectCredentialId))}),1e3);if(!e||!e.connectCredentialId)return;n.onSuccess&&n.onSuccess(e.connectCredentialId);const a=null===(i=this.userState.integrations[t])||void 0===i?void 0:i.allCredentials.find((t=>t.id===e.connectCredentialId)),l=this.getIntegrationByName(t);if(a&&a.status===s.CredentialStatus.VALID)return void this.triggerSDKEvent({type:p.SDK_EVENT.ON_INTEGRATION_INSTALL,integrationId:l.id,integrationType:t});const d=await this.sendConnectRequest(`/sdk/credentials/${e.connectCredentialId}`,{method:"GET"});if(!d)return;this.updateCredentialData(d,this.loadedIntegrations[t]),d.status===s.CredentialStatus.VALID&&this.triggerSDKEvent({type:p.SDK_EVENT.ON_INTEGRATION_INSTALL,integrationId:l.id,integrationType:t})}catch(t){n.onError&&n.onError(t)}finally{await this.sendConnectRequest(`/sdk/actions/session-id/${e}`,{method:"DELETE"})}}getIntegrationConfig(t){var e,n;if(!t)throw new Error("Integration is required.");const i=this.loadedIntegrations[t],r=i.configs[0].values,o=[],s=[],a=new Map(i.workflows.map((t=>[t.id,t]))),l=null!==(e=i.noPermissionWorkflows)&&void 0!==e?e:[];return Object.values(r.workflowMeta||{}).map((t=>{var e;if(!a.has(t.id)&&!l.includes(t.id))return;const n=null===(e=a.get(t.id))||void 0===e?void 0:e.description;t.hidden||t.permissions&&l.includes(t.id)?o.push({...t,description:n}):s.push({...t,description:n})})),{shortDescription:r.description,longDescription:r.overview,availableUserSettings:null===(n=r.sharedMeta)||void 0===n?void 0:n.inputs,availableWorkflows:s,hiddenWorkflows:o}}getIntegrationCredential(t){let{integration:e,settings:n}=t;const{selectedCredentialId:i,selectedConfigurationId:r}=n,o=this.userState.integrations[e];if(!o)throw new Error(`Integration "${e}" state not found.`);const a=this.getCredentialAndConfig(i||r?{selectedCredentialId:i,selectedConfigurationId:r}:{selectedCredentialId:o.credentialId},o);if(!a||(null==a?void 0:a.selectedCredential.status)!==s.CredentialStatus.VALID)throw new Error("Valid credential not found for provided options.");return a}async updateIntegrationUserSettings(t,e){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};var i;if(!this.userState.authenticated)throw new g.UserNotAuthenticatedError;this.validateAction(t);const{selectedConfig:r,selectedCredential:o}=this.getIntegrationCredential({integration:t,settings:n}),s=this.userState.token,a=null===(i=this.userState.integrations[t])||void 0===i?void 0:i.sharedSettings,l=await this.sendConnectRequest(`/sdk/credentials/${o.id}`,{method:"PATCH",headers:{Authorization:`Bearer ${s}`,[p.SELECTED_CREDENTIAL_ID_HEADER]:o.id,[p.SELECTED_CREDENTIAL_CONFIG_ID_HEADER]:r.id},body:JSON.stringify({config:{sharedSettings:{...a,...e}}})});if(!l)throw new Error(`Failed to update settings for ${t}.`);if(l.credential){const e=this.loadedIntegrations[t];this.updateCredentialData(l.credential,e)}return{userState:this.userState,errors:l.errors||[]}}async updateWorkflowUserSettings(t,e,n){let i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};var r;if(!this.userState.authenticated)throw new g.UserNotAuthenticatedError;this.validateAction(t);const{selectedConfig:o,selectedCredential:s}=this.getIntegrationCredential({integration:t,settings:i}),a=this.userState.token,l=structuredClone(null===(r=this.userState.integrations[t])||void 0===r?void 0:r.workflowSettings),d=null==l?void 0:l[e];if(!d)throw new Error("The workflow needs to be enabled in order to add workflow level user settings.");for(const t in n)d.settings[t]=n[t];const c=await this.sendConnectRequest(`/sdk/credentials/${s.id}`,{method:"PATCH",headers:{Authorization:`Bearer ${a}`,[p.SELECTED_CREDENTIAL_ID_HEADER]:s.id,[p.SELECTED_CREDENTIAL_CONFIG_ID_HEADER]:o.id},body:JSON.stringify({config:{workflowSettings:l}})});if(!c)throw new Error(`Failed to update settings for ${t}.`);if(c.credential){const e=this.loadedIntegrations[t];this.updateCredentialData(c.credential,e)}return{userState:this.userState,errors:c.errors||[]}}async updateWorkflowState(t,e){const n=[];for(const[i,r]of Object.entries(t))try{r?await this.enableWorkflow(i,e):await this.disableWorkflow(i,e)}catch(t){n.push({workflowId:i,message:t.message})}return{user:this.getUser(),errors:n}}async getFieldOptions(t){let{integration:e,action:n,search:i,cursor:r,parameters:o=[]}=t;this.validateAction(e);const s=await this.sendConnectRequest("/sdk/actions",{method:"POST",body:JSON.stringify({action:e,sourceKey:n,parameters:o,paginationParameters:{pageCursor:null!=r?r:0,search:i}})});let a=[],l=[];const d=s.output.records||s.output;return d[0]&&"id"in d[0]?l=d:a=d,{data:a,nestedData:l,nextPageCursor:s.output.nextPageCursor||null}}async getDataSourceOptions(t,e){var n;return null===(n=this.getIntegrationByName(t).sdkIntegrationConfig)||void 0===n?void 0:n.dataSources[e]}getAccountTypeOptions(t){var e,n;return null!==(n=null===(e=this.getIntegrationBySlug(t).sdkIntegrationConfig)||void 0===e?void 0:e.accountTypes)&&void 0!==n?n:[]}getPreOptions(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"default";var n,i,r,o;const s=this.getIntegrationBySlug(t);if(s.customIntegration)return s.authenticationType===a.AuthenticationScheme.OAUTH_CLIENT_CREDENTIAL?w:null!==(n=s.customIntegration.inputFields)&&void 0!==n?n:[];const l=this.getAccountTypeOptions(t);if(null==l?void 0:l.length){const t=null==l?void 0:l.find((t=>t.id===e));if(null===(i=null==t?void 0:t.endUserSuppliedValues)||void 0===i?void 0:i.length)return t.endUserSuppliedValues}return(null===(o=null===(r=s.sdkIntegrationConfig)||void 0===r?void 0:r.authConfigInputs)||void 0===o?void 0:o.length)?s.sdkIntegrationConfig.authConfigInputs:[]}getPostOptions(t){var e,n;return null!==(n=null===(e=this.getIntegrationBySlug(t).sdkIntegrationConfig)||void 0===e?void 0:e.postOauthInputs)&&void 0!==n?n:[]}async _fetchBYOFieldMappingOptions(t,e,n,i){var r;const o=null===(r=this.dynamicFieldMappingLoaders[t])||void 0===r?void 0:r[n];if(!o)throw new Error(`No dynamic field mapping loader found for key: ${n}`);if(e===p.DynamicFieldMappingLoaderType.OBJECT_TYPES)return await o.objectTypes(null==i?void 0:i.cursor,null==i?void 0:i.search);if(e===p.DynamicFieldMappingLoaderType.INTEGRATION_FIELDS){if(!(null==i?void 0:i.objectType))throw new Error("objectType is required for integrationFields");return await o.integrationFields({objectType:i.objectType},i.cursor,i.search)}throw new Error(`Invalid type: ${e}. Must be 'objectTypes' or 'integrationFields'`)}}e.default=y;class m{constructor(t){this.paragon=t,this.startOptions=null,this.integrationName=null,this.accountTypeValue=null,this.preOptionsValue=null,this.postOptionsValue=null,this.credentialId=null}start(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.asyncStart(t,e).catch((t=>{this.handleError(t)}))}async cancel(){this.startOptions=null,this.accountTypeValue=null,this.preOptionsValue=null,this.postOptionsValue=null;try{if(this.credentialId&&this.integrationName&&await this.paragon.uninstallIntegration(this.integrationName,{selectedCredentialId:this.credentialId}),!this.credentialId&&!this.integrationName){const t=new g.NoActiveInstallFlowError;console.warn(t.message)}}catch(t){console.error("Error cancelling the current install flow",{credentialId:this.credentialId,integration:this.integrationName},t)}finally{this.integrationName=null,this.credentialId=null}}async asyncStart(t,e){if(this.startOptions=e,this.integrationName=t,this.accountTypeValue=null,this.preOptionsValue=null,this.postOptionsValue=null,this.credentialId=null,!this.paragon.isHeadless)throw new g.HeadlessModeNotEnabledError;const n=this.next();if("done"===n.stage||"postOptions"===n.stage){const i=await this.paragon.installIntegration(t,{oauthTimeout:null==e?void 0:e.oauthTimeout,allowMultipleCredentials:!0});if("done"===n.stage)return void this.handleComplete();(null==i?void 0:i.credentialId)&&(this.credentialId=i.credentialId)}this.handleNext(n)}handleError(t,e){var n,i;const r=(0,g.getConnectSDKError)(t);null===(i=null===(n=this.startOptions)||void 0===n?void 0:n.onError)||void 0===i||i.call(n,r,null!=e?e:null)}handleNext(t){var e,n;null===(n=null===(e=this.startOptions)||void 0===e?void 0:e.onNext)||void 0===n||n.call(e,t)}handleComplete(){var t,e;null===(e=null===(t=this.startOptions)||void 0===t?void 0:t.onComplete)||void 0===e||e.call(t)}getScheme(){var t,e;if(null===this.integrationName)return null;if(!this.accountTypeValue)return null!==(t=this.paragon.getIntegrationBySlug(this.integrationName).authenticationType)&&void 0!==t?t:null;const n=this.getSelectedAccountTypeOption();return null!==(e=null==n?void 0:n.scheme)&&void 0!==e?e:null}getIntegrationName(){if(!this.integrationName)throw new g.NoActiveInstallFlowError;return this.integrationName}getSelectedAccountTypeOption(){var t;return null===(t=this.paragon.getAccountTypeOptions(this.getIntegrationName()))||void 0===t?void 0:t.find((t=>t.id===this.accountTypeValue))}requiresAccountType(){const t=this.paragon.getAccountTypeOptions(this.getIntegrationName());return!(!t||0===t.length)&&!this.accountTypeValue}requiresPreOptions(){var t;const e=this.paragon.getPreOptions(this.getIntegrationName(),null!==(t=this.accountTypeValue)&&void 0!==t?t:void 0);return!(!e||0===e.length)&&!this.preOptionsValue}requiresPostOptions(){var t,e;if(null!==(e=null===(t=this.getSelectedAccountTypeOption())||void 0===t?void 0:t.skipPostOAuthInputs)&&void 0!==e&&e)return!1;const n=this.paragon.getPostOptions(this.getIntegrationName());return!(!n||0===n.length)&&!this.postOptionsValue}async handleOAuth(){let{accountType:t,endUserSuppliedValues:e}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const n=await new Promise(((n,i)=>{var r;this.paragon.startOAuthFlow(this.getIntegrationName(),{accountType:t,endUserSuppliedValues:e},{onSuccess:t=>n(t),onError:t=>i(t),oauthTimeout:null===(r=this.startOptions)||void 0===r?void 0:r.oauthTimeout})}));this.credentialId=n}async setAccountType(t){try{this.accountTypeValue=t;const e=this.next();if("preOptions"===e.stage)return void this.handleNext(e);if(this.getScheme()!==a.AuthenticationScheme.OAUTH)return void this.handleNext(e);await this.handleOAuth({accountType:t}),"done"===e.stage?this.handleComplete():this.handleNext(e)}catch(t){this.handleError(t,{stage:"accountType"})}}async setPreOptions(t){var e,n,i;try{if(!t)throw new Error("Pre options are not set");this.preOptionsValue=t;const r=this.next(),o="done"===r.stage;if(this.getScheme()===a.AuthenticationScheme.OAUTH)return await this.handleOAuth({accountType:null!==(e=this.accountTypeValue)&&void 0!==e?e:void 0,endUserSuppliedValues:{...this.preOptionsValue}}),void(o?this.handleComplete():this.handleNext(r));const s=null!==(i=null===(n=this.getSelectedAccountTypeOption())||void 0===n?void 0:n.skipPostOAuthInputs)&&void 0!==i&&i;await this.paragon._oauthCallback({payload:{...t,skipPostOAuthInputs:s},integrationId:this.paragon.getIntegrationId(this.getIntegrationName())}),o?this.handleComplete():this.handleNext(r)}catch(t){this.handleError(t,{stage:"preOptions"})}}async setPostOptions(t){var e,n;try{if(!t)throw new Error("Post options are not set");if(!this.credentialId)throw new Error("Credential ID is not set");this.postOptionsValue=t;const i=null!==(n=null===(e=this.getSelectedAccountTypeOption())||void 0===e?void 0:e.skipPostOAuthInputs)&&void 0!==n&&n;await this.paragon._oauthCallback({payload:{...t,skipPostOAuthInputs:i},integrationId:this.paragon.getIntegrationId(this.getIntegrationName())},this.credentialId);const r=this.next();"done"===r.stage?this.handleComplete():this.handleNext(r)}catch(t){this.handleError(t,{stage:"postOptions"})}}getAccountTypeValue(){return this.accountTypeValue}getPreOptionsValue(){return this.preOptionsValue}getPostOptionsValue(){return this.postOptionsValue}next(){var t;const e=this.getIntegrationName();return this.requiresAccountType()?{stage:"accountType",options:this.paragon.getAccountTypeOptions(e),done:!1}:this.requiresPreOptions()?{stage:"preOptions",options:this.paragon.getPreOptions(e,null!==(t=this.accountTypeValue)&&void 0!==t?t:void 0),done:!1}:this.requiresPostOptions()?{stage:"postOptions",options:this.paragon.getPostOptions(e),done:!1}:{stage:"done",done:!0}}}e.InstallFlow=m;const w=[{id:"clientId",title:"Client ID",type:p.SidebarInputType.ValueText,required:!0},{id:"clientSecret",title:"Client Secret",type:p.SidebarInputType.Password,required:!0}]},9892:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});const i=n(3821);e.default=class{constructor(){this.eventListenersMap={},this.integrationStateCallbacks={}}subscribe(t,e){var n;if(this.assertEventType(t),"function"!=typeof e)throw new Error(`no listener is provided for ${t}`);return this.eventListenersMap={...this.eventListenersMap,[t]:[...null!==(n=this.eventListenersMap[t])&&void 0!==n?n:[],e]},()=>this.unsubscribe(t,e)}subscribeToIntegration(t,e){this.integrationStateCallbacks[t]={...e}}unsubscribe(t,e){var n,i;if(this.assertEventType(t),"function"!=typeof e)throw new Error("listener is required for unsubscription");const r=(null!==(n=this.eventListenersMap[t])&&void 0!==n?n:[]).length;return this.eventListenersMap={...this.eventListenersMap,[t]:(null!==(i=this.eventListenersMap[t])&&void 0!==i?i:[]).filter((t=>t!==e))},r>this.eventListenersMap[t].length}assertEventType(t){if(!Object.values(i.SDK_EVENT).includes(t))throw new Error(`${t} is not valid paragon event`)}emitSafe(t){for(var e=arguments.length,n=new Array(e>1?e-1:0),i=1;i<e;i++)n[i-1]=arguments[i];var r;(null!==(r=this.eventListenersMap[t])&&void 0!==r?r:[]).forEach((t=>{try{t(...n)}catch(t){console.error(t)}}))}emitError(t,e){this.invokeCallbackSafe(e,"onError",t)}invokeCallbackSafe(t,e){var n,i,r;try{for(var o=arguments.length,s=new Array(o>2?o-2:0),a=2;a<o;a++)s[a-2]=arguments[a];null===(i=null===(n=this.integrationStateCallbacks[t])||void 0===n?void 0:n[e])||void 0===i||i.call(n,...s)}catch(t){console.error(t)}finally{null===(r=this.integrationStateCallbacks[t])||void 0===r||delete r[e]}}triggerEvent(t,e){let{type:n,integrationId:r,integrationType:o,workflowId:s,workflowStateChange:a}=t;if(r&&o)switch(n){case i.SDK_EVENT.ON_INTEGRATION_INSTALL:{const t=[{integrationId:r,integrationType:o},e];this.invokeCallbackSafe(o,"onInstall",...t),this.emitSafe(i.SDK_EVENT.ON_INTEGRATION_INSTALL,...t);break}case i.SDK_EVENT.ON_INTEGRATION_UNINSTALL:{const t=[{integrationId:r,integrationType:o},e];this.invokeCallbackSafe(o,"onUninstall",...t),this.emitSafe(i.SDK_EVENT.ON_INTEGRATION_UNINSTALL,...t);break}case i.SDK_EVENT.ON_PORTAL_OPEN:{const t=[{integrationId:r,integrationType:o},e];this.invokeCallbackSafe(o,"onOpen",...t),this.emitSafe(i.SDK_EVENT.ON_PORTAL_OPEN,...t);break}case i.SDK_EVENT.ON_PORTAL_CLOSE:{const t=[{integrationId:r,integrationType:o},e];this.invokeCallbackSafe(o,"onClose",...t),this.emitSafe(i.SDK_EVENT.ON_PORTAL_CLOSE,...t);break}case i.SDK_EVENT.ON_WORKFLOW_CHANGE:{const t=[{integrationId:r,workflowId:s,workflowStateChange:a||{}},e];this.invokeCallbackSafe(o,"onWorkflowChange",...t),this.emitSafe(i.SDK_EVENT.ON_WORKFLOW_CHANGE,...t);break}default:throw new Error(`${n} is not valid event.`)}}}},3931:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.PERSONA_META_HEADER=e.BYO_USER_PROFILE_ERROR_CODE=e.BYO_CREDENTIAL_VERIFICATION_ERROR=e.INSUFFICIENT_PERMISSION=e.ACTION_CUSTOM=void 0,e.ACTION_CUSTOM="custom",e.INSUFFICIENT_PERMISSION="7210",e.BYO_CREDENTIAL_VERIFICATION_ERROR="7003",e.BYO_USER_PROFILE_ERROR_CODE="0704",e.PERSONA_META_HEADER="X-Paragon-User-Metadata"},4059:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.CredentialStatus=void 0,function(t){t.PENDING="PENDING",t.INVALID="INVALID",t.VALID="VALID"}(e.CredentialStatus||(e.CredentialStatus={}))},745:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.AuthenticationScheme=void 0,function(t){t.BASIC="basic",t.OAUTH="oauth",t.OAUTH_CLIENT_CREDENTIAL="oauth_client_credential",t.SERVICE_ACCOUNT="service_account",t.OAUTH_APP="oauth_app",t.IMPERSONATED_APP="impersonated_app"}(e.AuthenticationScheme||(e.AuthenticationScheme={}))},1663:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.generateSlugForIntegration=void 0,e.generateSlugForIntegration=function(t){if(!t.name)return;return`custom.${t.name?t.name.replace(/[\W_]+/g,"").trim().toLowerCase():void 0}`}},7343:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.isCustomIntegrationTypeName=e.getIntegrationTypeName=void 0;const i=n(3931),r=n(1663);e.getIntegrationTypeName=function(t){if(t.type===i.ACTION_CUSTOM){if(t.customIntegration)return(0,r.generateSlugForIntegration)(t.customIntegration);throw new Error(`Custom integration details are missing from this integration: ${t.id}`)}return t.type},e.isCustomIntegrationTypeName=function(t){return t.startsWith("custom.")}},9845:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.MicrosoftPicker=void 0;const i=n(3821),r=n(7473);class o extends r.BaseFilePicker{constructor(t,e){super(t,e),this.options=t,this.connectSDKInstance=e,this.accessToken="",this.baseUrl=""}getInstance(){return null}open(){var t,e;return this.dependencyStatus===i.FilePickerStatus.LOADED&&(null===(e=(t=this.options).onOpen)||void 0===e||e.call(t),this.launchPicker(this.getPickerOptions()),!0)}async initPicker(t,e){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"https://alcdn.msauth.net/browser/2.19.0/js/msal-browser.min.js";var r;this.dependencyStatus=i.FilePickerStatus.LOADING;const{selectedCredentialId:o,...s}=t||{};this.initOptions=s;const a=await this.connectSDKInstance.getIntegrationAccount(e,{includeAccountAuth:!0,selectedCredentialId:o});return this.accessToken=a.accountAuth[(null===(r=i.AUTH_TOKEN_ALLOWED_INTEGRATIONS[e])||void 0===r?void 0:r.accessTokenPath)||""],this.baseUrl=this.getUrl(a,e),this.initialiseDependencyPromise(),this.injectScript(n),this.dependenciesPromise}onScriptLoaded(){this.dependencyStatus=i.FilePickerStatus.LOADED,this.dependenciesPromise.resolve(!0)}onScriptError(){this.dependencyStatus=i.FilePickerStatus.FAILED,this.dependenciesPromise.reject(new Error("Failed to load dependencies"))}combinePaths(){for(var t=arguments.length,e=new Array(t),n=0;n<t;n++)e[n]=arguments[n];return e.map((t=>t.replace(/^[/\\]+|[/\\]+$/g,""))).join("/").replace(/\\/g,"/")}async launchPicker(t){if(!this.accessToken)throw new Error("Access Token is not set! Please re-authenticate your account.");const e={sdk:"8.0",entry:t.entry,search:{enabled:!0},messaging:{origin:window.location.origin,channelId:`X-PARAGON-CHANNEL-${Date.now()}`},selection:{mode:this.options.allowMultiSelect?"multiple":"single"},typesAndSources:{mode:"boolean"==typeof this.options.allowFolderSelect?this.options.allowFolderSelect?"folders":"files":"all",filters:this.options.allowedTypes,pivots:t.pivots}},n=new URLSearchParams({filePicker:JSON.stringify(e)}).toString(),i=`${this.getPickerUrl(this.baseUrl)}?${n}`,r=window.open("","Picker","width=800,height=600,left=100,top=150");if(!r)throw new Error("Failed to open picker window.");const o=r.document.createElement("form");o.setAttribute("action",i),o.setAttribute("method","POST");const s=r.document.createElement("input");s.setAttribute("type","hidden"),s.setAttribute("name","access_token"),s.setAttribute("value",this.accessToken),o.appendChild(s),r.document.body.appendChild(o),o.submit(),this.setupMessageListener(r,e.messaging.channelId)}initializePort(t,e){t.addEventListener("message",(async n=>{const{type:i,data:r,id:o}=n.data;if("command"===i){const{command:n}=r;this.handlePickerCommand({command:n,id:o,items:r.items},e,t)}})),t.start(),t.postMessage({type:"activate"})}setupMessageListener(t,e){window.addEventListener("message",(n=>{var i;if(n.source===t&&(null===(i=n.data)||void 0===i?void 0:i.channelId)===e){const{type:e,data:i}=n.data;switch(e){case"initialize":const r=n.ports[0];this.initializePort(r,t);break;case"command":this.handlePickerCommand(i,t);break;default:console.warn("Unknown message type:",e)}}}))}handlePickerCommand(t,e,n){var i,r,o,s,a,l;const{command:d,id:c,items:u}=t;switch(d){case"close":null===(r=(i=this.options).onClose)||void 0===r||r.call(i),e.close();break;case"pick":null==n||n.postMessage({type:"result",id:c,data:{result:"success"}}),null===(s=(o=this.options).onFileSelect)||void 0===s||s.call(o,u),null===(l=(a=this.options).onClose)||void 0===l||l.call(a),e.close();break;default:null==n||n.postMessage({type:"error",id:c,data:{message:"Unsupported command",command:d}})}}}e.MicrosoftPicker=o},9008:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.BoxFilePicker=void 0;const i=n(3821),r=n(7473),o={version:"21.0.0",scriptUrl:"https://cdn01.boxcdn.net/platform/elements/21.0.0/en-US/picker.js",cssUrl:"https://cdn01.boxcdn.net/platform/elements/21.0.0/en-US/picker.css",containerClass:"picker",containerStyles:{position:"fixed",top:"50%",left:"50%",transform:"translate(-50%, -50%)",width:"100%",height:"80%",zIndex:"2147483647",display:"flex",alignItems:"center",justifyContent:"center"},pickerOptions:{maxSelectable:1,canUpload:!0,canCreateNewFolder:!0,canSetShareAccess:!0,canDownload:!0,canDelete:!1,canRename:!1,canPreview:!0,canComment:!1,canShare:!0,canMove:!1,canCopy:!0}};class s extends r.BaseFilePicker{constructor(t,e){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};super(t,e),this.accessToken="",this.config={...o,...n}}getInstance(){var t,e;if(!this.instance){const n=window;if(!this.options.allowFolderSelect&&!(null===(t=n.Box)||void 0===t?void 0:t.FilePicker)||this.options.allowFolderSelect&&!(null===(e=n.Box)||void 0===e?void 0:e.FolderPicker))throw new Error("Box script is not loaded yet. Please wait for initialization to complete.");const i=new n.Box[this.options.allowFolderSelect?"FolderPicker":"FilePicker"]({container:`.${this.config.containerClass}`});if(!i)throw new Error(`Failed to create Box ${this.options.allowFolderSelect?"Folder":"File"}Picker instance`);this.instance=i,this.setupEventListeners()}return this.instance}setupEventListeners(){var t=this;if(!this.instance)return;const e={choose:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];var n,i;null===(i=(n=t.options).onFileSelect)||void 0===i||i.call(n,e),t.cleanup()},cancel:()=>{var t,e;null===(e=(t=this.options).onCancel)||void 0===e||e.call(t),this.cleanup()},close:()=>{var t,e;null===(e=(t=this.options).onClose)||void 0===e||e.call(t),this.cleanup()}};Object.entries(e).forEach((t=>{let[e,n]=t;var i;null===(i=this.instance)||void 0===i||i.addListener(e,n)}))}cleanup(){var t;this.instance&&(this.instance.removeAllListeners(),null===(t=document.querySelector(`.${this.config.containerClass}`))||void 0===t||t.remove())}createPickerContainer(){if(document.querySelector(`.${this.config.containerClass}`))return;const t=document.createElement("div");t.className=this.config.containerClass,Object.entries(this.config.containerStyles).forEach((e=>{let[n,i]=e;t.style[n]=i})),document.body.appendChild(t)}injectCSS(t){const e=document.createElement("link");e.rel="stylesheet",e.href=t,document.head.appendChild(e)}injectGlobalBtnContentCSS(){if(document.getElementById("global-btn-content-style"))return;const t=document.createElement("style");t.id="global-btn-content-style",t.innerHTML="\n .btn-content {\n display: flex !important;\n justify-content: center !important;\n }\n ",document.head.appendChild(t)}open(){var t,e,n;if(this.dependencyStatus===i.FilePickerStatus.LOADED)try{this.instance=void 0;const i=this.getInstance();if(i){const r={...this.config.pickerOptions,container:`.${this.config.containerClass}`,maxSelectable:this.options.allowMultiSelect?void 0:1,extensions:this.options.allowedTypes,canSelectFolder:this.options.allowFolderSelect,...(null===(t=this.options.integrationOptions)||void 0===t?void 0:t.box)||{}};if(this.createPickerContainer(),this.initOptions.folderId)return i.show(this.initOptions.folderId,this.accessToken,r),null===(n=(e=this.options).onOpen)||void 0===n||n.call(e),!0}}catch(t){return!1}return!1}async init(t){this.dependencyStatus=i.FilePickerStatus.LOADING;const{selectedCredentialId:e,...n}=t||{};await this.validateInitOptions(n,[["folderId","Folder ID"]]),this.initOptions={...n};const r=await this.connectSDKInstance.getIntegrationAccount("box",{includeAccountAuth:!0,selectedCredentialId:e}),{accessTokenPath:o=""}=i.AUTH_TOKEN_ALLOWED_INTEGRATIONS.box;return this.accessToken=r.accountAuth[o],this.initialiseDependencyPromise(),this.injectCSS(this.config.cssUrl),this.injectGlobalBtnContentCSS(),this.injectScript(this.config.scriptUrl),this.dependenciesPromise}async launch(){this.dependencyStatus!==i.FilePickerStatus.LOADED&&await this.init(this.initOptions),this.open()}onScriptLoaded(){this.dependencyStatus=i.FilePickerStatus.LOADED,this.instance=void 0,this.dependenciesPromise.resolve(!0)}onScriptError(){this.dependencyStatus=i.FilePickerStatus.FAILED,this.dependenciesPromise.reject(new Error("Failed to load Box script"))}}e.BoxFilePicker=s},9950:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.GoogleDriveFilePicker=void 0;const i=n(3821),r=n(7473);class o extends r.BaseFilePicker{constructor(t,e){super(t,e),this.accessToken=""}get google(){return window.google}getInstance(){var t;return null!==(t=this.instance)&&void 0!==t?t:null}open(){var t,e;return!(this.dependencyStatus!==i.FilePickerStatus.LOADED||!this.instance)&&(this.instance.setVisible(!0),null===(e=(t=this.options).onOpen)||void 0===e||e.call(t),!0)}async init(t){this.dependencyStatus=i.FilePickerStatus.LOADING;const{selectedCredentialId:e,...n}=t||{};await this.validateInitOptions(n,[["developerKey","developer key"]]),this.initOptions={...n};const r=await this.connectSDKInstance.getIntegrationAccount("googledrive",{includeAccountAuth:!0,selectedCredentialId:e}),{accessTokenPath:o=""}=i.AUTH_TOKEN_ALLOWED_INTEGRATIONS.googledrive;return this.accessToken=r.accountAuth[o],this.initialiseDependencyPromise(),this.injectScript("https://apis.google.com/js/api.js"),this.dependenciesPromise}onScriptLoaded(){this.dependencyStatus=i.FilePickerStatus.LOADED,window.gapi.load("picker",this.onPickerLoaded.bind(this))}onScriptError(){this.dependencyStatus=i.FilePickerStatus.FAILED,this.dependenciesPromise.reject(new Error("Not able to load dependencies"))}onPickerLoaded(){var t,e,n,i,r;const o=new this.google.picker.PickerBuilder,s=new this.google.picker.DocsView;if((null===(t=this.initOptions)||void 0===t?void 0:t.appId)&&o.setAppId(this.initOptions.appId),this.options.allowMultiSelect&&o.enableFeature(this.google.picker.Feature.MULTISELECT_ENABLED),this.options.allowFolderSelect&&(s.setIncludeFolders(!0),s.setSelectFolderEnabled(!0)),this.options.allowedTypes&&this.options.allowedTypes.length>0&&s.setMimeTypes(this.options.allowedTypes.join(",")),(null===(n=null===(e=this.options.integrationOptions)||void 0===e?void 0:e.googledrive)||void 0===n?void 0:n.viewMode)&&s.setMode(this.options.integrationOptions.googledrive.viewMode),(null===(r=null===(i=this.options.integrationOptions)||void 0===i?void 0:i.googledrive)||void 0===r?void 0:r.includeFolders)&&s.setIncludeFolders(!0),!this.initOptions.developerKey)throw new Error("Please provide a valid developer key");const a=o.addView(s).setOAuthToken(this.accessToken).setDeveloperKey(this.initOptions.developerKey).setCallback(this.pickerCallback.bind(this));this.initOptions.appId&&a.setAppId(this.initOptions.appId),this.instance=a.build(),this.dependenciesPromise.resolve(!0)}pickerCallback(t){var e,n,i,r,o,s;const{action:a,...l}=t;switch(a){case this.google.picker.Action.PICKED:null===(n=(e=this.options).onFileSelect)||void 0===n||n.call(e,l),null===(r=(i=this.options).onClose)||void 0===r||r.call(i);break;case this.google.picker.Action.CANCEL:null===(s=(o=this.options).onCancel)||void 0===s||s.call(o)}}}e.GoogleDriveFilePicker=o},1698:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});const i=n(9008),r=n(9950),o=n(6128),s=n(8737);e.default={BoxFilePicker:i.BoxFilePicker,GoogleDriveFilePicker:r.GoogleDriveFilePicker,OneDriveFilePicker:o.OneDriveFilePicker,SharepointFilePicker:s.SharepointFilePicker}},6128:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.OneDriveFilePicker=void 0;const i=n(3821),r=n(9845);class o extends r.MicrosoftPicker{constructor(){super(...arguments),this.integrationName="onedrive",this.personalAccountUrl="https://onedrive.live.com"}async init(t){return super.initPicker(t,this.integrationName)}getPickerUrl(t){return t?t.includes(this.personalAccountUrl)?`${t}/picker`:this.combinePaths(t,"_layouts/15/FilePicker.aspx"):`${this.personalAccountUrl}/picker`}getIntegrationName(){return this.integrationName}getUrl(t,e){return t.accountAuth[i.AUTH_TOKEN_ALLOWED_INTEGRATIONS[e].domain||""]}getPickerOptions(){return{entry:{oneDrive:{files:{fallbackToRoot:!0}}},pivots:{oneDrive:!0,recent:!0,shared:!0}}}}e.OneDriveFilePicker=o},8737:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.SharepointFilePicker=void 0;const i=n(8321),r=n(9845);class o extends r.MicrosoftPicker{constructor(){super(...arguments),this.integrationName="sharepoint"}async init(t){return super.initPicker(t,this.integrationName)}getIntegrationName(){return this.integrationName}getPickerUrl(t){return this.combinePaths(t,"_layouts/15/FilePicker.aspx")}getUrl(t){var e;return(0,i.sanitizeUrl)(null===(e=t.providerData)||void 0===e?void 0:e.webUrl)}getPickerOptions(){return{entry:{sharePoint:{byPath:{list:`${this.baseUrl}/Shared Documents`,fallbackToRoot:!0}}},pivots:{shared:!0,oneDrive:!1,sharedLibraries:!0,site:!0}}}}e.SharepointFilePicker=o},7473:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.BaseFilePicker=void 0;const i=n(2643),r=n(572);e.BaseFilePicker=class{constructor(t,e){this.options=t,this.connectSDKInstance=e}initialiseDependencyPromise(){this.dependenciesPromise=new r.DeferredPromise}getInstance(){return this.instance}injectScript(t){if(this.checkIfScriptLoaded(t))this.onScriptLoaded();else{const e=document.createElement("script");e.src=t,e.async=!0,e.id=t,e.onload=this.onScriptLoaded.bind(this),e.onerror=this.onScriptError.bind(this),document.body.appendChild(e)}}checkIfScriptLoaded(t){const e=document.getElementsByTagName("script");for(let n=0;n<e.length;n++)if(e[n].getAttribute("src")==t)return!0;return!1}async validateInitOptions(t,e){for(const[n,r]of e)if(!t||(0,i.isStringEmpty)(t[n]))throw new Error(`Please provide a valid ${r}`);return!0}}},4731:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.buildExternalFilePickerInstance=void 0;const i=n(655).__importDefault(n(1698));class r{constructor(t,e,n){const i=this.createFilePicker(t,e,n);this.open=this.open.bind(i),this.init=this.init.bind(i),this.getInstance=this.getInstance.bind(i)}createFilePicker(t,e,n){const r={box:i.default.BoxFilePicker,googledrive:i.default.GoogleDriveFilePicker,onedrive:i.default.OneDriveFilePicker,sharepoint:i.default.SharepointFilePicker}[t];if(!r)throw new Error(`${t}'s file picker is not supported`);return new r(e,n)}open(){return this.open()}init(t){return this.init(t)}getInstance(){return this.getInstance()}}e.default=r;e.buildExternalFilePickerInstance=t=>function(e,n){if(!t.getUser().authenticated)throw new Error("Authentication is required");if(!e)throw new Error("Missing argument: Integration type is required");return t.validateAction(e),new r(e,n,t)}},7050:function(t,e,n){"use strict";var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.buildExternalFilePickerInstance=e.ExternalFilePicker=void 0;var r=n(4731);Object.defineProperty(e,"ExternalFilePicker",{enumerable:!0,get:function(){return i(r).default}}),Object.defineProperty(e,"buildExternalFilePickerInstance",{enumerable:!0,get:function(){return r.buildExternalFilePickerInstance}})},2643:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.findSelectedAccountType=e.isStringEmpty=e.getActionStateForCredentialDelete=e.stripUndefinedAndNull=e.parseKeyedSource=void 0;const i=n(4059);e.parseKeyedSource=function(t){return t&&(null==t?void 0:t.length)?Object.fromEntries(t.map((t=>[t.key,"VALUE"===t.source.type?t.source.value:void 0]))):{}},e.stripUndefinedAndNull=function t(e){const n={};return Object.keys(e).forEach((i=>{var r;(r=e[i])&&"object"==typeof r&&!Array.isArray(r)?n[i]=t(e[i]):void 0!==e[i]&&null!==e[i]&&(n[i]=e[i])})),n};e.getActionStateForCredentialDelete=(t,e)=>{var n,r;const o=(null!==(n=null==e?void 0:e.allCredentials)&&void 0!==n?n:[]).filter((e=>e.id!==t)),s=(null!==(r=null==e?void 0:e.allConfigurations)&&void 0!==r?r:[]).filter((e=>e.connectCredentialId!==t));if(0===o.length)return{enabled:!1,workflowSettings:{},allCredentials:[],allConfigurations:[]};{const t=o[0];return{...e,credentialStatus:t.status,enabled:t.status===i.CredentialStatus.VALID,credentialId:t.id,providerId:t.providerId,providerData:t.providerData,allCredentials:o,allConfigurations:s}}};e.isStringEmpty=t=>!t||"string"==typeof t&&!t.trim();e.findSelectedAccountType=function(t,e){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];if(e)return t.find((t=>{let{id:n}=t;return n===e}));if(1===n.length)return t.find((t=>{let{id:e}=t;return n.includes(e)}));if(!e&&!n.length&&Array.isArray(t)&&2===t.length){const[e,n]=t;return"default"===e.id&&"user-configured-oauth"===n.id?e:void 0}}},4429:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.startOAuthFlow=e.MAX_POLL_DURATION=e.CREDENTIAL_POLL_INTERVAL=void 0;const i=n(3931),r=n(7343),o=n(2643);e.CREDENTIAL_POLL_INTERVAL=3e3,e.MAX_POLL_DURATION=6e4;e.startOAuthFlow=(t,e)=>{let{context:n,integration:s,endUserSuppliedValues:a={},authParams:l,isPreviewMode:d=!1,installOptions:c={}}=t;var u;const h=(0,r.getIntegrationTypeName)(s);if(!h)return;const p=l?(0,o.parseKeyedSource)(l):{},g=(0,o.stripUndefinedAndNull)({action:h&&(0,r.isCustomIntegrationTypeName)(h)?i.ACTION_CUSTOM:h,endUserSuppliedValues:JSON.stringify(a),parameters:JSON.stringify(p),userToken:n.user.token,integrationId:s.id,redirectUrl:null===(u=n.endUserIntegrationConfig)||void 0===u?void 0:u.overrideRedirectUrl,originForPostMessage:window.location.origin,isPreviewMode:d,installOptions:JSON.stringify(c),sessionId:e}),f=`${n.environments.ZEUS_PUBLIC_URL}/projects/${n.projectId}/sdk/actions/build-oauth?${new URLSearchParams(g).toString()}`;return window.open(f,void 0,"width=500,height=600,left=100,top=150")}},2992:(t,e)=>{"use strict";var n,i,r;Object.defineProperty(e,"__esModule",{value:!0}),e.AUTH_TOKEN_ALLOWED_INTEGRATIONS=e.overrideActionAlias=e.TokenType=e.VariableInputType=e.SidebarInputType=void 0,function(t){t.Auth="AUTH",t.Enum="ENUM",t.DynamicEnum="DYNAMIC_ENUM",t.Intent="INTENT",t.Text="TEXT",t.TextArea="TEXTAREA",t.ValueText="TEXT_NO_VARS",t.ValueTextArea="TEXTAREA_NO_VARS",t.Code="CODE",t.ActionButton="ACTION_BUTTON",t.Conditional="CONDITIONAL",t.CustomDropdown="CUSTOM_DROPDOWN",t.DynamicConditional="DYNAMIC_CONDITIONAL",t.NestedList="NESTED_LIST",t.File="FILE",t.EditableDynamicEnum="EDITABLE_DYNAMIC_ENUM",t.EditableEnum="EDITABLE_ENUM",t.BooleanInput="BOOLEAN_INPUT",t.UserSuppliedCredential="USER_SUPPLIED_CREDENTIAL",t.NativeDynamicEnumInput="NATIVE_DYNAMIC_INPUT",t.TimeConstraintInput="TIME_CONSTRAINT_INPUT",t.LinesListInput="LinesListInput",t.LinesListDynamicInput="LinesListDynamicInput",t.Number="NUMBER",t.Email="EMAIL",t.URL="URL",t.EnumTextAreaPairInput="EnumTextAreaPairInput",t.FieldMapper="FIELD_MAPPER",t.ComboInput="COMBO_INPUT",t.Password="PASSWORD",t.Switch="SWITCH",t.DynamicComboInput="DYNAMIC_COMBO_INPUT",t.CopyableButtonInput="COPYABLE_BUTTON_INPUT",t.Permission="PERMISSION"}(e.SidebarInputType||(e.SidebarInputType={})),function(t){t.MultiSelect="multi",t.String="string",t.Dropdown="dropdown",t.MultiSelectCheckbox="multiCheckbox",t.Number="number"}(e.VariableInputType||(e.VariableInputType={})),function(t){t.ACCESS_TOKEN="ACCESS_TOKEN",t.REFRESH_TOKEN="REFRESH_TOKEN",t.BOT_TOKEN="BOT_TOKEN",t.KLAVIYO_API_KEY="KLAVIYO_API_KEY",t.MARKETO_CLIENT_ID="MARKETO_CLIENT_ID",t.MARKETO_CLIENT_SECRET="MARKETO_CLIENT_SECRETI",t.MARKETO_ENDPOINT="MARKETO_ENDPOINT",t.MARKETO_IDENTITY="MARKETO_IDENTITY",t.MONDAY_API_TOKEN="MONDAY_API_TOKEN",t.ORACLE_CLOUD_URL="ORACLE_CLOUD_URL",t.ORACLE_PASSWORD="ORACLE_PASSWORD",t.ORACLE_USERNAME="ORACLE_USERNAME",t.SAGE_INTACCT_COMPANY_ID="SAGE_INTACCT_COMPANY_ID",t.SAGE_INTACCT_USER_ID="SAGE_INTACCT_USER_ID",t.SAGE_INTACCT_USER_PASSWORD="SAGE_INTACCT_USER_PASSWORD",t.SAILTHRU_COMPANY_KEY="SAILTHRU_COMPANY_KEY",t.SAILTHRU_COMPANY_SECRET="SAILTHRU_COMPANY_SECRET",t.SERVICENOW_PASSWORD="SERVICENOW_PASSWORD",t.SERVICENOW_SUBDOMAIN="SERVICENOW_SUBDOMAIN",t.SERVICENOW_USERNAME="SERVICENOW_USERNAME",t.TABLEAU_PERSONAL_ACCESS_TOKEN_NAME="TABLEAU_PERSONAL_ACCESS_TOKEN_NAME",t.TABLEAU_PERSONAL_ACCESS_TOKEN_SECRET="TABLEAU_PERSONAL_ACCESS_TOKEN_SECRET",t.TABLEAU_SERVER_NAME="TABLEAU_SERVER_NAME",t.TABLEAU_SITE_ID="TABLEAU_SITE_ID",t.TRELLO_API_KEY="TRELLO_API_KEY",t.TRELLO_API_TOKEN="TRELLO_API_TOKEN",t.WOOCOMMERCE_CONSUMER_KEY="WOOCOMMERCE_CONSUMER_KEY",t.WOOCOMMERCE_CONSUMER_SECRET="WOOCOMMERCE_CONSUMER_SECRET",t.WOOCOMMERCE_STORE_DOMAIN="WOOCOMMERCE_STORE_DOMAIN",t.WORKABLE_API_ACCESS_TOKEN="WORKABLE_API_ACCESS_TOKEN",t.WORKABLE_ACCOUNT_SUBDOMAIN="WORKABLE_ACCOUNT_SUBDOMAIN",t.ZOHO_CRM_ACCOUNTS_SERVER="ZOHO_CRM_ACCOUNTS_SERVER",t.ZOHO_CRM_API_DOMAIN="ZOHO_CRM_API_DOMAIN"}(e.TokenType||(e.TokenType={})),function(t){t.INFO="INFO",t.ERROR="ERROR",t.SUCCESS="SUCCESS"}(n||(n={})),function(t){t.NONE="NONE",t.RE_AUTHENTICATE="RE_AUTHENTICATE",t.ALERT="ALERT",t.DISPATCH="DISPATCH"}(i||(i={})),function(t){t.DYNAMIC="DYNAMIC_DATA_SOURCE",t.STATIC_ENUM="STATIC_ENUM_DATA_SOURCE",t.FIELD_MAPPER="FIELD_MAPPER_DATA_SOURCE",t.COMBO_INPUT="COMBO_INPUT_DATA_SOURCE",t.DYNAMIC_COMBO_INPUT="DYNAMIC_COMBO_INPUT_DATA_SOURCE"}(r||(r={})),e.overrideActionAlias={"monday.com":"monday","wordpress.com":"wordpress"},e.AUTH_TOKEN_ALLOWED_INTEGRATIONS={box:{accessTokenPath:"OAUTH_ACCESS_TOKEN"},googledrive:{accessTokenPath:"OAUTH_ACCESS_TOKEN"},onedrive:{accessTokenPath:"OAUTH_ACCESS_TOKEN",domain:"DOMAIN"},sharepoint:{accessTokenPath:"OAUTH_ACCESS_TOKEN"}}},9034:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.CONNECT_PLAN_FEATURE_MAP=void 0;const i=n(471);e.CONNECT_PLAN_FEATURE_MAP={[i.BillingPlan.ConnectBasic]:[],[i.BillingPlan.ConnectPro]:[i.ConnectAddOn.CustomIntegrationBuilder,i.ConnectAddOn.HeadlessConnectPortal,i.ConnectAddOn.Monitoring,i.ConnectAddOn.UserMetadata,i.ConnectAddOn.WhiteLabeling],[i.BillingPlan.ConnectEnterprise]:[i.ConnectAddOn.CustomIntegrationBuilder,i.ConnectAddOn.DynamicFieldMapper,i.ConnectAddOn.HeadlessConnectPortal,i.ConnectAddOn.TaskHistoryAPI,i.ConnectAddOn.Monitoring,i.ConnectAddOn.RoleBasedAccessControl,i.ConnectAddOn.UserMetadata,i.ConnectAddOn.WhiteLabeling,i.ConnectAddOn.WorkflowPermission]}},1935:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.SELECTED_CREDENTIAL_CONFIG_ID_HEADER=e.SELECTED_CREDENTIAL_ID_HEADER=e.INFER_CONTENT_TYPE_FROM_CONNECT_OPTIONS=e.CredentialStatus=void 0;const i=n(655),r=n(2992);var o=n(4059);Object.defineProperty(e,"CredentialStatus",{enumerable:!0,get:function(){return o.CredentialStatus}}),i.__exportStar(n(2460),e);r.SidebarInputType.ValueText,r.SidebarInputType.DynamicEnum,r.SidebarInputType.Enum,r.SidebarInputType.Number,r.SidebarInputType.Email,r.SidebarInputType.URL,r.SidebarInputType.FieldMapper,r.SidebarInputType.BooleanInput,r.SidebarInputType.ComboInput,r.SidebarInputType.Password,r.SidebarInputType.Switch,r.SidebarInputType.ValueTextArea,r.SidebarInputType.CustomDropdown,r.SidebarInputType.DynamicComboInput,r.SidebarInputType.FieldMapper,r.SidebarInputType.CopyableButtonInput,r.SidebarInputType.Permission,r.SidebarInputType.File;e.INFER_CONTENT_TYPE_FROM_CONNECT_OPTIONS="auto",e.SELECTED_CREDENTIAL_ID_HEADER="X-Paragon-Credential",e.SELECTED_CREDENTIAL_CONFIG_ID_HEADER="X-Paragon-Configuration-Id"},9977:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0})},914:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.PLATFORM_ENV=e.NODE_ENV=void 0,function(t){t.PRODUCTION="production",t.DEVELOPMENT="development",t.TEST="test"}(e.NODE_ENV||(e.NODE_ENV={})),function(t){t.PRODUCTION="production",t.PRODUCTION_MIRROR_1="p-m1",t.STAGING="staging",t.STAGING_MIRROR_1="s-m1",t.DEVELOPMENT="dev",t.TEST="test",t.SANDBOX="sandbox",t.RELEASE="release",t.ENTERPRISE="enterprise"}(e.PLATFORM_ENV||(e.PLATFORM_ENV={}))},2460:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.getConnectSDKError=e.OAuthTimeoutError=e.OAuthBlockedError=e.HeadlessModeNotEnabledError=e.IntegrationNotInstalledError=e.IntegrationNotFoundError=e.NoActiveInstallFlowError=e.UserNotAuthenticatedError=e.BaseSDKError=void 0;class n extends Error{constructor(t){super(t.message),this.name=t.name,this.meta="meta"in t?t.meta:null}}e.BaseSDKError=n;e.UserNotAuthenticatedError=class extends n{constructor(){super({name:"UserNotAuthenticatedError",message:"User not authenticated, Call paragon.authenticate(<projectId>, <user token>) before using the SDK."})}};e.NoActiveInstallFlowError=class extends n{constructor(){super({name:"NoActiveInstallFlowError",message:"No active install flow, make sure you call installFlow.start(<integrationName>, ...args) before calling any other method"})}};e.IntegrationNotFoundError=class extends n{constructor(t){super({name:"IntegrationNotFoundError",message:`Integration with name ${t} not found`,meta:{integrationName:t}})}};e.IntegrationNotInstalledError=class extends n{constructor(t){super({name:"IntegrationNotInstalledError",message:`Integration "${t}" is not installed.`,meta:{integrationName:t}}),this.integrationName=t}};e.HeadlessModeNotEnabledError=class extends n{constructor(){super({name:"HeadlessModeNotEnabledError",message:"Headless mode is not enabled. Make sure you call `paragon.setHeadless(true)` as early as possible in your code."})}};e.OAuthBlockedError=class extends n{constructor(){super({name:"OAuthBlockedError",message:"Popup was blocked by the browser."})}};e.OAuthTimeoutError=class extends n{constructor(){super({name:"OAuthTimeoutError",message:"OAuth timeout"})}},e.getConnectSDKError=function(t){return t instanceof n?{name:t.name,message:t.message,meta:t.meta}:{name:"UnknownError",message:t instanceof Error?t.message:"An unknown error occurred",originalError:t}}},8065:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0})},3821:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});const i=n(655);i.__exportStar(n(2992),e),i.__exportStar(n(9034),e),i.__exportStar(n(1935),e),i.__exportStar(n(9977),e),i.__exportStar(n(914),e),i.__exportStar(n(8065),e),i.__exportStar(n(9835),e),i.__exportStar(n(7750),e),i.__exportStar(n(471),e)},9835:(t,e)=>{"use strict";var n;Object.defineProperty(e,"__esModule",{value:!0}),e.DataType=void 0,function(t){t.STRING="STRING",t.NUMBER="NUMBER",t.DATE="DATE",t.BOOLEAN="BOOLEAN",t.EMAIL="EMAIL",t.OBJECT="OBJECT",t.ARRAY="ARRAY",t.ANY="ANY",t.FILE="FILE",t.NON_DECIMAL="NON_DECIMAL"}(e.DataType||(e.DataType={})),function(t){t.None="$none",t.StringContains="$stringContains",t.StringDoesNotContain="$stringDoesNotContain",t.StringExactlyMatches="$stringExactlyMatches",t.StringDoesNotExactlyMatch="$stringDoesNotExactlyMatch",t.StringIsIn="$stringIsIn",t.StringIsNotIn="$stringIsNotIn",t.StringStartsWith="$stringStartsWith",t.StringDoesNotStartWith="$stringDoesNotStartWith",t.StringEndsWith="$stringEndsWith",t.StringDoesNotEndWith="$stringDoesNotEndWith",t.NumberGreaterThan="$numberGreaterThan",t.NumberLessThan="$numberLessThan",t.NumberEquals="$numberEquals",t.NumberDoesNotEqual="$numberDoesNotEqual",t.NumberLessThanOrEqualTo="$numberLessThanOrEqualTo",t.NumberGreaterThanOrEqualTo="$numberGreaterThanOrEqualTo",t.DateTimeAfter="$dateTimeAfter",t.DateTimeBefore="$dateTimeBefore",t.DateTimeEquals="$dateTimeEquals",t.BooleanTrue="$booleanTrue",t.BooleanFalse="$booleanFalse",t.IsNotNull="$exists",t.IsNull="$doesNotExist",t.Exists="$isNotUndefinedOrNull",t.DoesNotExist="$isUndefinedOrNull",t.ArrayIsIn="$arrayIsIn",t.ArrayIsNotIn="$arrayIsNotIn",t.ArrayIsEmpty="$arrayIsEmpty",t.ArrayIsNotEmpty="$arrayIsNotEmpty",t.StringGreaterThan="$stringGreaterThan",t.StringLessThan="$stringLessThan"}(n||(n={}))},7750:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.FilePickerStatus=e.DocumentLoadingState=e.SDK_EVENT=e.ModalView=e.DynamicFieldMappingLoaderType=void 0,function(t){t.OBJECT_TYPES="objectTypes",t.INTEGRATION_FIELDS="integrationFields"}(e.DynamicFieldMappingLoaderType||(e.DynamicFieldMappingLoaderType={})),function(t){t.OVERVIEW="overview",t.CONFIGURATION="configuration"}(e.ModalView||(e.ModalView={})),function(t){t.ON_INTEGRATION_INSTALL="onIntegrationInstall",t.ON_INTEGRATION_UNINSTALL="onIntegrationUninstall",t.ON_WORKFLOW_CHANGE="onWorkflowChange",t.ON_PORTAL_OPEN="onPortalOpen",t.ON_PORTAL_CLOSE="onPortalClose"}(e.SDK_EVENT||(e.SDK_EVENT={})),function(t){t.LOADING="loading",t.INTERACTIVE="interactive",t.COMPLETE="complete"}(e.DocumentLoadingState||(e.DocumentLoadingState={})),function(t){t.LOADING="loading",t.FAILED="failed",t.LOADED="loaded"}(e.FilePickerStatus||(e.FilePickerStatus={}))},471:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ConnectAddOn=e.BillingPlan=void 0,function(t){t.ClassicFree="free",t.ClassicStarter="starter",t.ClassicBusiness="business",t.ClassicPremium="premium",t.ClassicEnterprise="enterprise",t.ConnectTrial="connect_trial",t.ConnectBasic="basic",t.ConnectPro="pro",t.ConnectEnterprise="connect_enterprise"}(e.BillingPlan||(e.BillingPlan={})),function(t){t.CustomIntegrationBuilder="byo",t.DynamicFieldMapper="dfm",t.HeadlessConnectPortal="headless-cp",t.TaskHistoryAPI="th-api",t.Monitoring="monitoring",t.RoleBasedAccessControl="rbac",t.UserMetadata="user-metadata",t.WhiteLabeling="whitelabel",t.WorkflowPermission="workflow-permissions"}(e.ConnectAddOn||(e.ConnectAddOn={}))},3158:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.getHeadersForUserMeta=e.sanitizeExternalConfigId=e.getAssetUrl=void 0;const i=n(3931),r=n(3821);e.getAssetUrl=t=>{let{CDN_PUBLIC_URL:e,DASHBOARD_PUBLIC_URL:n,VERSION:i,PLATFORM_ENV:o,NODE_ENV:s}=t;return e&&s===r.NODE_ENV.PRODUCTION&&o!==r.PLATFORM_ENV.ENTERPRISE?`${e}/${i}/dashboard/public`:n},e.sanitizeExternalConfigId=function(t){if(t.startsWith("ext:")){return(t.split("ext:").pop()||"").trim()}return t.trim()};e.getHeadersForUserMeta=t=>({...t?{[i.PERSONA_META_HEADER]:JSON.stringify(t)}:{}})},4846:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.hash=void 0;const i=n(3715);e.hash=function(t){return null==t?t:(0,i.sha256)().update(t).digest("hex").substr(0,10)}},572:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.tryUntil=e.isUUID=e.uuidPattern=e.sleep=e.generateMatrix=e.DeferredPromise=void 0;function n(t){return new Promise((e=>setTimeout(e,t)))}e.DeferredPromise=class{get state(){return this._state}constructor(){this._state="pending",this._promise=new Promise(((t,e)=>{this._resolve=t,this._reject=e}))}then(t,e){return this._promise.then(t,e)}catch(t){return this._promise.catch(t)}resolve(t){this._resolve(t),this._state="fulfilled"}reject(t){this._reject(t),this._state="rejected"}finally(t){return null==t||t(),this._promise}},Symbol.toStringTag,e.generateMatrix=function(t,e){const n=Object.keys(t);if(n.reduce(((e,n)=>e+t[n].length),0)&&n.length)for(const e of n)t[e].length||t[e].push(void 0);const i=Object.entries(t).reduce(((t,e)=>{let[,n]=e;return t.length?t.reduce(((t,e)=>(n.forEach((n=>{const i=e.slice();i.push(n),t.push(i)}),[]),t)),[]):n.map((t=>[t]))}),[]).reduce(((t,e)=>{const i=e.reduce(((t,e,i)=>({...t,[n[i]]:e})),{});return[...t,i]}),[]);return e?i.slice(-1*e):i},e.sleep=n,e.uuidPattern=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-5][0-9a-f]{3}-[089ab][0-9a-f]{3}-[0-9a-f]{12}$/i,e.isUUID=function(t){return"string"==typeof t&&e.uuidPattern.test(t)},e.tryUntil=async function(t,e,i){let r=0,o=!0;for(;o;){r+=1;let s=null,a=null;try{s=await t()}catch(t){a=t}if(o=await e(s,a,r),!o){if(a)throw a;return s}{const t="number"==typeof i?i:i(r);await n(t)}}throw new Error("Method unable to run: invalid retries.")}},8321:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.errorMessageParser=e.isIntegrationError=e.ProxyRequestError=e.getErrorMessage=e.getServiceUrl=e.sanitizeUrl=e.isValidUrl=void 0;function n(t){return t?t.match(/^[a-zA-Z]+:\/\//)?t:`https://${t}`:t}function i(t){return Array.isArray(t)?t.flatMap((t=>[t,i(t.children||[])].flatMap((t=>"string"==typeof t?t:i(t))))).filter((t=>t)).join(", "):Object.values(t.constraints||{}).join(", ")}e.isValidUrl=t=>{const e=n(t);try{return new globalThis.URL(e),!0}catch(t){return!1}},e.sanitizeUrl=n,e.getServiceUrl=function(t,e){return`https://${t}${`.${e}`}`},e.getErrorMessage=async function(t,n){var r,o;const s=null===(r=t.headers)||void 0===r?void 0:r.get("content-type"),a=s&&s.includes("application/json")?await t.json():null;let l;return l=a&&(0,e.isIntegrationError)(a.meta)?JSON.stringify(a.meta):a&&"string"==typeof a.message?a.message:a&&400===t.status&&Array.isArray(a.message)?i(a.message):a?JSON.stringify(a):await(null===(o=t.text)||void 0===o?void 0:o.call(t)),n?{message:l,response:a||t}:l};class r extends Error{constructor(t,e){super(t),this.name="Error",this.response=e,Object.setPrototypeOf(this,r.prototype)}}e.ProxyRequestError=r;e.isIntegrationError=t=>!("object"!=typeof t||!t)&&t.isIntegrationError,e.errorMessageParser=function(t){t="string"==typeof t?t:t.message;try{const n=JSON.parse(t);return!!(0,e.isIntegrationError)(n)}catch(t){return!1}}},3035:(t,e,n)=>{"use strict";var i,r,o,s,a=n(4155);Object.defineProperty(e,"__esModule",{value:!0}),e.CacheThrottle=e.CacheMode=void 0;const l=n(655),d=n(572);var c,u,h;!function(t){t.Debounce="debounce",t.Throttle="throttle"}(c=e.CacheMode||(e.CacheMode={})),function(t){t.Closed="closed",t.Idle="idle",t.Processing="processing"}(u||(u={})),function(t){t[t.Get=0]="Get",t[t.Set=1]="Set",t[t.GetOrSet=2]="GetOrSet",t[t.Del=3]="Del",t[t.Do=4]="Do"}(h||(h={}));e.CacheThrottle=class{constructor(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};i.set(this,u.Idle),r.set(this,{}),o.set(this,void 0),s.set(this,[]),l.__classPrivateFieldSet(this,o,{mode:c.Debounce,ttl:0,...t},"f")}async get(t,e){const n=this.serializeKey(t),i=async()=>{const e=l.__classPrivateFieldGet(this,r,"f")[n],{mode:i,ttl:s,value:a}=null!=e?e:{};return!e||!s||i&&i!==c.Debounce||this.refreshTimeout(t,n,s),l.__classPrivateFieldGet(this,o,"f").clearPendingDeletes&&this.clearPendingDeletesOnKey(n,a),a};return e?i():this.enqueue(n,h.Get,i)}async set(t,e){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:l.__classPrivateFieldGet(this,o,"f").ttl,i=arguments.length>3?arguments[3]:void 0,s=arguments.length>4?arguments[4]:void 0;const a=this.serializeKey(t),d=async()=>{const s=l.__classPrivateFieldGet(this,r,"f")[a],d=!!s;return l.__classPrivateFieldGet(this,r,"f")[a]={...s,mode:i,ttl:n,value:e},d&&i===c.Throttle||this.refreshTimeout(t,a,n),l.__classPrivateFieldGet(this,o,"f").clearPendingDeletes&&this.clearPendingDeletesOnKey(a,e),e};return s?d():this.enqueue(a,h.Set,d)}async getOrSet(t,e){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:l.__classPrivateFieldGet(this,o,"f").ttl,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:l.__classPrivateFieldGet(this,o,"f").mode,s=arguments.length>4?arguments[4]:void 0;const a=this.serializeKey(t),d=async()=>{if(l.__classPrivateFieldGet(this,r,"f")[a])return l.__classPrivateFieldGet(this,r,"f")[a].value;const s=await e();return await this.set(t,s,n,i,!0),l.__classPrivateFieldGet(this,o,"f").clearPendingDeletes&&this.clearPendingDeletesOnKey(a,s),s};return s?d():this.enqueue(a,h.GetOrSet,d)}async del(t){let e=arguments.length>2?arguments[2]:void 0;const n=arguments.length>1&&void 0!==arguments[1]&&arguments[1]?t:this.serializeKey(t),i=async()=>{const t=l.__classPrivateFieldGet(this,r,"f")[n];let e;return(null==t?void 0:t.timeout)&&clearTimeout(t.timeout),t&&(e=t.value,delete l.__classPrivateFieldGet(this,r,"f")[n],await(async()=>{var t,n;return null===(n=(t=l.__classPrivateFieldGet(this,o,"f")).onDeregister)||void 0===n?void 0:n.call(t,e)})().catch((t=>{}))),e};return e?i():this.enqueue(n,h.Del,i)}keys(){return Object.keys(l.__classPrivateFieldGet(this,r,"f"))}async do(t,e){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:l.__classPrivateFieldGet(this,o,"f").ttl,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:l.__classPrivateFieldGet(this,o,"f").mode;const s=this.serializeKey(t);return this.enqueue(s,h.Do,(async()=>{if(l.__classPrivateFieldGet(this,r,"f")[s])return l.__classPrivateFieldGet(this,r,"f")[s].value;const o=await e();return await this.set(t,o,n,i,!0)}))}async close(){l.__classPrivateFieldSet(this,i,u.Closed,"f"),await Promise.all(Object.keys(l.__classPrivateFieldGet(this,r,"f")).map((t=>this.del(t,!0,!0))))}refreshTimeout(t,e,n){if(l.__classPrivateFieldGet(this,i,"f")===u.Closed)return;const o=l.__classPrivateFieldGet(this,r,"f")[e];return n&&void 0!==(null==o?void 0:o.timeout)&&clearTimeout(o.timeout),n?(o.timeout=setTimeout((()=>this.del(t)),n),o.timeout):void 0}clearPendingDeletesOnKey(t,e){l.__classPrivateFieldSet(this,s,l.__classPrivateFieldGet(this,s,"f").filter((n=>{let[i,r,o,s]=n;return t!==i||r!==h.Del||(s.resolve(e),!1)})),"f")}serializeKey(t){var e,n,i;return null!==(i=null===(n=(e=l.__classPrivateFieldGet(this,o,"f")).serializeKey)||void 0===n?void 0:n.call(e,t))&&void 0!==i?i:t}async enqueue(t,e,n){const r=new d.DeferredPromise;return l.__classPrivateFieldGet(this,s,"f").push([t,e,n,r]),l.__classPrivateFieldGet(this,i,"f")===u.Idle&&this.flush(),r}flush(){l.__classPrivateFieldSet(this,i,u.Processing,"f"),a.nextTick((async()=>{for(;l.__classPrivateFieldGet(this,s,"f").length&&l.__classPrivateFieldGet(this,i,"f")!==u.Closed;){const t=l.__classPrivateFieldGet(this,s,"f").shift();if(t){const[,,e,n]=t;try{const t=await e();n.resolve(t)}catch(t){n.reject(t)}}}l.__classPrivateFieldSet(this,i,u.Idle,"f")}))}},i=new WeakMap,r=new WeakMap,o=new WeakMap,s=new WeakMap},3715:(t,e,n)=>{var i=e;i.utils=n(6436),i.common=n(5772),i.sha=n(9041),i.ripemd=n(2949),i.hmac=n(2344),i.sha1=i.sha.sha1,i.sha256=i.sha.sha256,i.sha224=i.sha.sha224,i.sha384=i.sha.sha384,i.sha512=i.sha.sha512,i.ripemd160=i.ripemd.ripemd160},5772:(t,e,n)=>{"use strict";var i=n(6436),r=n(9746);function o(){this.pending=null,this.pendingTotal=0,this.blockSize=this.constructor.blockSize,this.outSize=this.constructor.outSize,this.hmacStrength=this.constructor.hmacStrength,this.padLength=this.constructor.padLength/8,this.endian="big",this._delta8=this.blockSize/8,this._delta32=this.blockSize/32}e.BlockHash=o,o.prototype.update=function(t,e){if(t=i.toArray(t,e),this.pending?this.pending=this.pending.concat(t):this.pending=t,this.pendingTotal+=t.length,this.pending.length>=this._delta8){var n=(t=this.pending).length%this._delta8;this.pending=t.slice(t.length-n,t.length),0===this.pending.length&&(this.pending=null),t=i.join32(t,0,t.length-n,this.endian);for(var r=0;r<t.length;r+=this._delta32)this._update(t,r,r+this._delta32)}return this},o.prototype.digest=function(t){return this.update(this._pad()),r(null===this.pending),this._digest(t)},o.prototype._pad=function(){var t=this.pendingTotal,e=this._delta8,n=e-(t+this.padLength)%e,i=new Array(n+this.padLength);i[0]=128;for(var r=1;r<n;r++)i[r]=0;if(t<<=3,"big"===this.endian){for(var o=8;o<this.padLength;o++)i[r++]=0;i[r++]=0,i[r++]=0,i[r++]=0,i[r++]=0,i[r++]=t>>>24&255,i[r++]=t>>>16&255,i[r++]=t>>>8&255,i[r++]=255&t}else for(i[r++]=255&t,i[r++]=t>>>8&255,i[r++]=t>>>16&255,i[r++]=t>>>24&255,i[r++]=0,i[r++]=0,i[r++]=0,i[r++]=0,o=8;o<this.padLength;o++)i[r++]=0;return i}},2344:(t,e,n)=>{"use strict";var i=n(6436),r=n(9746);function o(t,e,n){if(!(this instanceof o))return new o(t,e,n);this.Hash=t,this.blockSize=t.blockSize/8,this.outSize=t.outSize/8,this.inner=null,this.outer=null,this._init(i.toArray(e,n))}t.exports=o,o.prototype._init=function(t){t.length>this.blockSize&&(t=(new this.Hash).update(t).digest()),r(t.length<=this.blockSize);for(var e=t.length;e<this.blockSize;e++)t.push(0);for(e=0;e<t.length;e++)t[e]^=54;for(this.inner=(new this.Hash).update(t),e=0;e<t.length;e++)t[e]^=106;this.outer=(new this.Hash).update(t)},o.prototype.update=function(t,e){return this.inner.update(t,e),this},o.prototype.digest=function(t){return this.outer.update(this.inner.digest()),this.outer.digest(t)}},2949:(t,e,n)=>{"use strict";var i=n(6436),r=n(5772),o=i.rotl32,s=i.sum32,a=i.sum32_3,l=i.sum32_4,d=r.BlockHash;function c(){if(!(this instanceof c))return new c;d.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.endian="little"}function u(t,e,n,i){return t<=15?e^n^i:t<=31?e&n|~e&i:t<=47?(e|~n)^i:t<=63?e&i|n&~i:e^(n|~i)}function h(t){return t<=15?0:t<=31?1518500249:t<=47?1859775393:t<=63?2400959708:2840853838}function p(t){return t<=15?1352829926:t<=31?1548603684:t<=47?1836072691:t<=63?2053994217:0}i.inherits(c,d),e.ripemd160=c,c.blockSize=512,c.outSize=160,c.hmacStrength=192,c.padLength=64,c.prototype._update=function(t,e){for(var n=this.h[0],i=this.h[1],r=this.h[2],d=this.h[3],c=this.h[4],I=n,_=i,S=r,C=d,O=c,y=0;y<80;y++){var m=s(o(l(n,u(y,i,r,d),t[g[y]+e],h(y)),E[y]),c);n=c,c=d,d=o(r,10),r=i,i=m,m=s(o(l(I,u(79-y,_,S,C),t[f[y]+e],p(y)),v[y]),O),I=O,O=C,C=o(S,10),S=_,_=m}m=a(this.h[1],r,C),this.h[1]=a(this.h[2],d,O),this.h[2]=a(this.h[3],c,I),this.h[3]=a(this.h[4],n,_),this.h[4]=a(this.h[0],i,S),this.h[0]=m},c.prototype._digest=function(t){return"hex"===t?i.toHex32(this.h,"little"):i.split32(this.h,"little")};var g=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13],f=[5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11],E=[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6],v=[8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11]},9041:(t,e,n)=>{"use strict";e.sha1=n(4761),e.sha224=n(799),e.sha256=n(9344),e.sha384=n(772),e.sha512=n(5900)},4761:(t,e,n)=>{"use strict";var i=n(6436),r=n(5772),o=n(7038),s=i.rotl32,a=i.sum32,l=i.sum32_5,d=o.ft_1,c=r.BlockHash,u=[1518500249,1859775393,2400959708,3395469782];function h(){if(!(this instanceof h))return new h;c.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.W=new Array(80)}i.inherits(h,c),t.exports=h,h.blockSize=512,h.outSize=160,h.hmacStrength=80,h.padLength=64,h.prototype._update=function(t,e){for(var n=this.W,i=0;i<16;i++)n[i]=t[e+i];for(;i<n.length;i++)n[i]=s(n[i-3]^n[i-8]^n[i-14]^n[i-16],1);var r=this.h[0],o=this.h[1],c=this.h[2],h=this.h[3],p=this.h[4];for(i=0;i<n.length;i++){var g=~~(i/20),f=l(s(r,5),d(g,o,c,h),p,n[i],u[g]);p=h,h=c,c=s(o,30),o=r,r=f}this.h[0]=a(this.h[0],r),this.h[1]=a(this.h[1],o),this.h[2]=a(this.h[2],c),this.h[3]=a(this.h[3],h),this.h[4]=a(this.h[4],p)},h.prototype._digest=function(t){return"hex"===t?i.toHex32(this.h,"big"):i.split32(this.h,"big")}},799:(t,e,n)=>{"use strict";var i=n(6436),r=n(9344);function o(){if(!(this instanceof o))return new o;r.call(this),this.h=[3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428]}i.inherits(o,r),t.exports=o,o.blockSize=512,o.outSize=224,o.hmacStrength=192,o.padLength=64,o.prototype._digest=function(t){return"hex"===t?i.toHex32(this.h.slice(0,7),"big"):i.split32(this.h.slice(0,7),"big")}},9344:(t,e,n)=>{"use strict";var i=n(6436),r=n(5772),o=n(7038),s=n(9746),a=i.sum32,l=i.sum32_4,d=i.sum32_5,c=o.ch32,u=o.maj32,h=o.s0_256,p=o.s1_256,g=o.g0_256,f=o.g1_256,E=r.BlockHash,v=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298];function I(){if(!(this instanceof I))return new I;E.call(this),this.h=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225],this.k=v,this.W=new Array(64)}i.inherits(I,E),t.exports=I,I.blockSize=512,I.outSize=256,I.hmacStrength=192,I.padLength=64,I.prototype._update=function(t,e){for(var n=this.W,i=0;i<16;i++)n[i]=t[e+i];for(;i<n.length;i++)n[i]=l(f(n[i-2]),n[i-7],g(n[i-15]),n[i-16]);var r=this.h[0],o=this.h[1],E=this.h[2],v=this.h[3],I=this.h[4],_=this.h[5],S=this.h[6],C=this.h[7];for(s(this.k.length===n.length),i=0;i<n.length;i++){var O=d(C,p(I),c(I,_,S),this.k[i],n[i]),y=a(h(r),u(r,o,E));C=S,S=_,_=I,I=a(v,O),v=E,E=o,o=r,r=a(O,y)}this.h[0]=a(this.h[0],r),this.h[1]=a(this.h[1],o),this.h[2]=a(this.h[2],E),this.h[3]=a(this.h[3],v),this.h[4]=a(this.h[4],I),this.h[5]=a(this.h[5],_),this.h[6]=a(this.h[6],S),this.h[7]=a(this.h[7],C)},I.prototype._digest=function(t){return"hex"===t?i.toHex32(this.h,"big"):i.split32(this.h,"big")}},772:(t,e,n)=>{"use strict";var i=n(6436),r=n(5900);function o(){if(!(this instanceof o))return new o;r.call(this),this.h=[3418070365,3238371032,1654270250,914150663,2438529370,812702999,355462360,4144912697,1731405415,4290775857,2394180231,1750603025,3675008525,1694076839,1203062813,3204075428]}i.inherits(o,r),t.exports=o,o.blockSize=1024,o.outSize=384,o.hmacStrength=192,o.padLength=128,o.prototype._digest=function(t){return"hex"===t?i.toHex32(this.h.slice(0,12),"big"):i.split32(this.h.slice(0,12),"big")}},5900:(t,e,n)=>{"use strict";var i=n(6436),r=n(5772),o=n(9746),s=i.rotr64_hi,a=i.rotr64_lo,l=i.shr64_hi,d=i.shr64_lo,c=i.sum64,u=i.sum64_hi,h=i.sum64_lo,p=i.sum64_4_hi,g=i.sum64_4_lo,f=i.sum64_5_hi,E=i.sum64_5_lo,v=r.BlockHash,I=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591];function _(){if(!(this instanceof _))return new _;v.call(this),this.h=[1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209],this.k=I,this.W=new Array(160)}function S(t,e,n,i,r){var o=t&n^~t&r;return o<0&&(o+=4294967296),o}function C(t,e,n,i,r,o){var s=e&i^~e&o;return s<0&&(s+=4294967296),s}function O(t,e,n,i,r){var o=t&n^t&r^n&r;return o<0&&(o+=4294967296),o}function y(t,e,n,i,r,o){var s=e&i^e&o^i&o;return s<0&&(s+=4294967296),s}function m(t,e){var n=s(t,e,28)^s(e,t,2)^s(e,t,7);return n<0&&(n+=4294967296),n}function w(t,e){var n=a(t,e,28)^a(e,t,2)^a(e,t,7);return n<0&&(n+=4294967296),n}function T(t,e){var n=s(t,e,14)^s(t,e,18)^s(e,t,9);return n<0&&(n+=4294967296),n}function A(t,e){var n=a(t,e,14)^a(t,e,18)^a(e,t,9);return n<0&&(n+=4294967296),n}function N(t,e){var n=s(t,e,1)^s(t,e,8)^l(t,e,7);return n<0&&(n+=4294967296),n}function P(t,e){var n=a(t,e,1)^a(t,e,8)^d(t,e,7);return n<0&&(n+=4294967296),n}function b(t,e){var n=s(t,e,19)^s(e,t,29)^l(t,e,6);return n<0&&(n+=4294967296),n}function D(t,e){var n=a(t,e,19)^a(e,t,29)^d(t,e,6);return n<0&&(n+=4294967296),n}i.inherits(_,v),t.exports=_,_.blockSize=1024,_.outSize=512,_.hmacStrength=192,_.padLength=128,_.prototype._prepareBlock=function(t,e){for(var n=this.W,i=0;i<32;i++)n[i]=t[e+i];for(;i<n.length;i+=2){var r=b(n[i-4],n[i-3]),o=D(n[i-4],n[i-3]),s=n[i-14],a=n[i-13],l=N(n[i-30],n[i-29]),d=P(n[i-30],n[i-29]),c=n[i-32],u=n[i-31];n[i]=p(r,o,s,a,l,d,c,u),n[i+1]=g(r,o,s,a,l,d,c,u)}},_.prototype._update=function(t,e){this._prepareBlock(t,e);var n=this.W,i=this.h[0],r=this.h[1],s=this.h[2],a=this.h[3],l=this.h[4],d=this.h[5],p=this.h[6],g=this.h[7],v=this.h[8],I=this.h[9],_=this.h[10],N=this.h[11],P=this.h[12],b=this.h[13],D=this.h[14],R=this.h[15];o(this.k.length===n.length);for(var L=0;L<n.length;L+=2){var k=D,U=R,M=T(v,I),F=A(v,I),B=S(v,I,_,N,P),j=C(v,I,_,N,P,b),x=this.k[L],V=this.k[L+1],$=n[L],H=n[L+1],K=f(k,U,M,F,B,j,x,V,$,H),G=E(k,U,M,F,B,j,x,V,$,H);k=m(i,r),U=w(i,r),M=O(i,r,s,a,l),F=y(i,r,s,a,l,d);var W=u(k,U,M,F),q=h(k,U,M,F);D=P,R=b,P=_,b=N,_=v,N=I,v=u(p,g,K,G),I=h(g,g,K,G),p=l,g=d,l=s,d=a,s=i,a=r,i=u(K,G,W,q),r=h(K,G,W,q)}c(this.h,0,i,r),c(this.h,2,s,a),c(this.h,4,l,d),c(this.h,6,p,g),c(this.h,8,v,I),c(this.h,10,_,N),c(this.h,12,P,b),c(this.h,14,D,R)},_.prototype._digest=function(t){return"hex"===t?i.toHex32(this.h,"big"):i.split32(this.h,"big")}},7038:(t,e,n)=>{"use strict";var i=n(6436).rotr32;function r(t,e,n){return t&e^~t&n}function o(t,e,n){return t&e^t&n^e&n}function s(t,e,n){return t^e^n}e.ft_1=function(t,e,n,i){return 0===t?r(e,n,i):1===t||3===t?s(e,n,i):2===t?o(e,n,i):void 0},e.ch32=r,e.maj32=o,e.p32=s,e.s0_256=function(t){return i(t,2)^i(t,13)^i(t,22)},e.s1_256=function(t){return i(t,6)^i(t,11)^i(t,25)},e.g0_256=function(t){return i(t,7)^i(t,18)^t>>>3},e.g1_256=function(t){return i(t,17)^i(t,19)^t>>>10}},6436:(t,e,n)=>{"use strict";var i=n(9746),r=n(5717);function o(t,e){return 55296==(64512&t.charCodeAt(e))&&(!(e<0||e+1>=t.length)&&56320==(64512&t.charCodeAt(e+1)))}function s(t){return(t>>>24|t>>>8&65280|t<<8&16711680|(255&t)<<24)>>>0}function a(t){return 1===t.length?"0"+t:t}function l(t){return 7===t.length?"0"+t:6===t.length?"00"+t:5===t.length?"000"+t:4===t.length?"0000"+t:3===t.length?"00000"+t:2===t.length?"000000"+t:1===t.length?"0000000"+t:t}e.inherits=r,e.toArray=function(t,e){if(Array.isArray(t))return t.slice();if(!t)return[];var n=[];if("string"==typeof t)if(e){if("hex"===e)for((t=t.replace(/[^a-z0-9]+/gi,"")).length%2!=0&&(t="0"+t),r=0;r<t.length;r+=2)n.push(parseInt(t[r]+t[r+1],16))}else for(var i=0,r=0;r<t.length;r++){var s=t.charCodeAt(r);s<128?n[i++]=s:s<2048?(n[i++]=s>>6|192,n[i++]=63&s|128):o(t,r)?(s=65536+((1023&s)<<10)+(1023&t.charCodeAt(++r)),n[i++]=s>>18|240,n[i++]=s>>12&63|128,n[i++]=s>>6&63|128,n[i++]=63&s|128):(n[i++]=s>>12|224,n[i++]=s>>6&63|128,n[i++]=63&s|128)}else for(r=0;r<t.length;r++)n[r]=0|t[r];return n},e.toHex=function(t){for(var e="",n=0;n<t.length;n++)e+=a(t[n].toString(16));return e},e.htonl=s,e.toHex32=function(t,e){for(var n="",i=0;i<t.length;i++){var r=t[i];"little"===e&&(r=s(r)),n+=l(r.toString(16))}return n},e.zero2=a,e.zero8=l,e.join32=function(t,e,n,r){var o=n-e;i(o%4==0);for(var s=new Array(o/4),a=0,l=e;a<s.length;a++,l+=4){var d;d="big"===r?t[l]<<24|t[l+1]<<16|t[l+2]<<8|t[l+3]:t[l+3]<<24|t[l+2]<<16|t[l+1]<<8|t[l],s[a]=d>>>0}return s},e.split32=function(t,e){for(var n=new Array(4*t.length),i=0,r=0;i<t.length;i++,r+=4){var o=t[i];"big"===e?(n[r]=o>>>24,n[r+1]=o>>>16&255,n[r+2]=o>>>8&255,n[r+3]=255&o):(n[r+3]=o>>>24,n[r+2]=o>>>16&255,n[r+1]=o>>>8&255,n[r]=255&o)}return n},e.rotr32=function(t,e){return t>>>e|t<<32-e},e.rotl32=function(t,e){return t<<e|t>>>32-e},e.sum32=function(t,e){return t+e>>>0},e.sum32_3=function(t,e,n){return t+e+n>>>0},e.sum32_4=function(t,e,n,i){return t+e+n+i>>>0},e.sum32_5=function(t,e,n,i,r){return t+e+n+i+r>>>0},e.sum64=function(t,e,n,i){var r=t[e],o=i+t[e+1]>>>0,s=(o<i?1:0)+n+r;t[e]=s>>>0,t[e+1]=o},e.sum64_hi=function(t,e,n,i){return(e+i>>>0<e?1:0)+t+n>>>0},e.sum64_lo=function(t,e,n,i){return e+i>>>0},e.sum64_4_hi=function(t,e,n,i,r,o,s,a){var l=0,d=e;return l+=(d=d+i>>>0)<e?1:0,l+=(d=d+o>>>0)<o?1:0,t+n+r+s+(l+=(d=d+a>>>0)<a?1:0)>>>0},e.sum64_4_lo=function(t,e,n,i,r,o,s,a){return e+i+o+a>>>0},e.sum64_5_hi=function(t,e,n,i,r,o,s,a,l,d){var c=0,u=e;return c+=(u=u+i>>>0)<e?1:0,c+=(u=u+o>>>0)<o?1:0,c+=(u=u+a>>>0)<a?1:0,t+n+r+s+l+(c+=(u=u+d>>>0)<d?1:0)>>>0},e.sum64_5_lo=function(t,e,n,i,r,o,s,a,l,d){return e+i+o+a+d>>>0},e.rotr64_hi=function(t,e,n){return(e<<32-n|t>>>n)>>>0},e.rotr64_lo=function(t,e,n){return(t<<32-n|e>>>n)>>>0},e.shr64_hi=function(t,e,n){return t>>>n},e.shr64_lo=function(t,e,n){return(t<<32-n|e>>>n)>>>0}},5717:t=>{"function"==typeof Object.create?t.exports=function(t,e){e&&(t.super_=e,t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}))}:t.exports=function(t,e){if(e){t.super_=e;var n=function(){};n.prototype=e.prototype,t.prototype=new n,t.prototype.constructor=t}}},6245:(t,e,n)=>{"use strict";function i(t){this.message=t}n.r(e),n.d(e,{InvalidTokenError:()=>s,default:()=>a}),i.prototype=new Error,i.prototype.name="InvalidCharacterError";var r="undefined"!=typeof window&&window.atob&&window.atob.bind(window)||function(t){var e=String(t).replace(/=+$/,"");if(e.length%4==1)throw new i("'atob' failed: The string to be decoded is not correctly encoded.");for(var n,r,o=0,s=0,a="";r=e.charAt(s++);~r&&(n=o%4?64*n+r:r,o++%4)?a+=String.fromCharCode(255&n>>(-2*o&6)):0)r="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(r);return a};function o(t){var e=t.replace(/-/g,"+").replace(/_/g,"/");switch(e.length%4){case 0:break;case 2:e+="==";break;case 3:e+="=";break;default:throw"Illegal base64url string!"}try{return function(t){return decodeURIComponent(r(t).replace(/(.)/g,(function(t,e){var n=e.charCodeAt(0).toString(16).toUpperCase();return n.length<2&&(n="0"+n),"%"+n})))}(e)}catch(t){return r(e)}}function s(t){this.message=t}s.prototype=new Error,s.prototype.name="InvalidTokenError";const a=function(t,e){if("string"!=typeof t)throw new s("Invalid token specified");var n=!0===(e=e||{}).header?0:1;try{return JSON.parse(o(t.split(".")[n]))}catch(t){throw new s("Invalid token specified: "+t.message)}}},9746:t=>{function e(t,e){if(!t)throw new Error(e||"Assertion failed")}t.exports=e,e.equal=function(t,e,n){if(t!=e)throw new Error(n||"Assertion failed: "+t+" != "+e)}},4155:t=>{var e,n,i=t.exports={};function r(){throw new Error("setTimeout has not been defined")}function o(){throw new Error("clearTimeout has not been defined")}function s(t){if(e===setTimeout)return setTimeout(t,0);if((e===r||!e)&&setTimeout)return e=setTimeout,setTimeout(t,0);try{return e(t,0)}catch(n){try{return e.call(null,t,0)}catch(n){return e.call(this,t,0)}}}!function(){try{e="function"==typeof setTimeout?setTimeout:r}catch(t){e=r}try{n="function"==typeof clearTimeout?clearTimeout:o}catch(t){n=o}}();var a,l=[],d=!1,c=-1;function u(){d&&a&&(d=!1,a.length?l=a.concat(l):c=-1,l.length&&h())}function h(){if(!d){var t=s(u);d=!0;for(var e=l.length;e;){for(a=l,l=[];++c<e;)a&&a[c].run();c=-1,e=l.length}a=null,d=!1,function(t){if(n===clearTimeout)return clearTimeout(t);if((n===o||!n)&&clearTimeout)return n=clearTimeout,clearTimeout(t);try{return n(t)}catch(e){try{return n.call(null,t)}catch(e){return n.call(this,t)}}}(t)}}function p(t,e){this.fun=t,this.array=e}function g(){}i.nextTick=function(t){var e=new Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)e[n-1]=arguments[n];l.push(new p(t,e)),1!==l.length||d||s(h)},p.prototype.run=function(){this.fun.apply(null,this.array)},i.title="browser",i.browser=!0,i.env={},i.argv=[],i.version="",i.versions={},i.on=g,i.addListener=g,i.once=g,i.off=g,i.removeListener=g,i.removeAllListeners=g,i.emit=g,i.prependListener=g,i.prependOnceListener=g,i.listeners=function(t){return[]},i.binding=function(t){throw new Error("process.binding is not supported")},i.cwd=function(){return"/"},i.chdir=function(t){throw new Error("process.chdir is not supported")},i.umask=function(){return 0}},655:(t,e,n)=>{"use strict";n.r(e),n.d(e,{__assign:()=>o,__asyncDelegator:()=>C,__asyncGenerator:()=>S,__asyncValues:()=>O,__await:()=>_,__awaiter:()=>c,__classPrivateFieldGet:()=>A,__classPrivateFieldSet:()=>N,__createBinding:()=>h,__decorate:()=>a,__exportStar:()=>p,__extends:()=>r,__generator:()=>u,__importDefault:()=>T,__importStar:()=>w,__makeTemplateObject:()=>y,__metadata:()=>d,__param:()=>l,__read:()=>f,__rest:()=>s,__spread:()=>E,__spreadArray:()=>I,__spreadArrays:()=>v,__values:()=>g});var i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n])},i(t,e)};function r(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}var o=function(){return o=Object.assign||function(t){for(var e,n=1,i=arguments.length;n<i;n++)for(var r in e=arguments[n])Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t},o.apply(this,arguments)};function s(t,e){var n={};for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&e.indexOf(i)<0&&(n[i]=t[i]);if(null!=t&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(i=Object.getOwnPropertySymbols(t);r<i.length;r++)e.indexOf(i[r])<0&&Object.prototype.propertyIsEnumerable.call(t,i[r])&&(n[i[r]]=t[i[r]])}return n}function a(t,e,n,i){var r,o=arguments.length,s=o<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(t,e,n,i);else for(var a=t.length-1;a>=0;a--)(r=t[a])&&(s=(o<3?r(s):o>3?r(e,n,s):r(e,n))||s);return o>3&&s&&Object.defineProperty(e,n,s),s}function l(t,e){return function(n,i){e(n,i,t)}}function d(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)}function c(t,e,n,i){return new(n||(n=Promise))((function(r,o){function s(t){try{l(i.next(t))}catch(t){o(t)}}function a(t){try{l(i.throw(t))}catch(t){o(t)}}function l(t){var e;t.done?r(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e)}))).then(s,a)}l((i=i.apply(t,e||[])).next())}))}function u(t,e){var n,i,r,o,s={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;s;)try{if(n=1,i&&(r=2&o[0]?i.return:o[0]?i.throw||((r=i.return)&&r.call(i),0):i.next)&&!(r=r.call(i,o[1])).done)return r;switch(i=0,r&&(o=[2&o[0],r.value]),o[0]){case 0:case 1:r=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,i=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(r=s.trys,(r=r.length>0&&r[r.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]<r[3])){s.label=o[1];break}if(6===o[0]&&s.label<r[1]){s.label=r[1],r=o;break}if(r&&s.label<r[2]){s.label=r[2],s.ops.push(o);break}r[2]&&s.ops.pop(),s.trys.pop();continue}o=e.call(t,s)}catch(t){o=[6,t],i=0}finally{n=r=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,a])}}}var h=Object.create?function(t,e,n,i){void 0===i&&(i=n),Object.defineProperty(t,i,{enumerable:!0,get:function(){return e[n]}})}:function(t,e,n,i){void 0===i&&(i=n),t[i]=e[n]};function p(t,e){for(var n in t)"default"===n||Object.prototype.hasOwnProperty.call(e,n)||h(e,t,n)}function g(t){var e="function"==typeof Symbol&&Symbol.iterator,n=e&&t[e],i=0;if(n)return n.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&i>=t.length&&(t=void 0),{value:t&&t[i++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function f(t,e){var n="function"==typeof Symbol&&t[Symbol.iterator];if(!n)return t;var i,r,o=n.call(t),s=[];try{for(;(void 0===e||e-- >0)&&!(i=o.next()).done;)s.push(i.value)}catch(t){r={error:t}}finally{try{i&&!i.done&&(n=o.return)&&n.call(o)}finally{if(r)throw r.error}}return s}function E(){for(var t=[],e=0;e<arguments.length;e++)t=t.concat(f(arguments[e]));return t}function v(){for(var t=0,e=0,n=arguments.length;e<n;e++)t+=arguments[e].length;var i=Array(t),r=0;for(e=0;e<n;e++)for(var o=arguments[e],s=0,a=o.length;s<a;s++,r++)i[r]=o[s];return i}function I(t,e,n){if(n||2===arguments.length)for(var i,r=0,o=e.length;r<o;r++)!i&&r in e||(i||(i=Array.prototype.slice.call(e,0,r)),i[r]=e[r]);return t.concat(i||Array.prototype.slice.call(e))}function _(t){return this instanceof _?(this.v=t,this):new _(t)}function S(t,e,n){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var i,r=n.apply(t,e||[]),o=[];return i={},s("next"),s("throw"),s("return"),i[Symbol.asyncIterator]=function(){return this},i;function s(t){r[t]&&(i[t]=function(e){return new Promise((function(n,i){o.push([t,e,n,i])>1||a(t,e)}))})}function a(t,e){try{(n=r[t](e)).value instanceof _?Promise.resolve(n.value.v).then(l,d):c(o[0][2],n)}catch(t){c(o[0][3],t)}var n}function l(t){a("next",t)}function d(t){a("throw",t)}function c(t,e){t(e),o.shift(),o.length&&a(o[0][0],o[0][1])}}function C(t){var e,n;return e={},i("next"),i("throw",(function(t){throw t})),i("return"),e[Symbol.iterator]=function(){return this},e;function i(i,r){e[i]=t[i]?function(e){return(n=!n)?{value:_(t[i](e)),done:"return"===i}:r?r(e):e}:r}}function O(t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e,n=t[Symbol.asyncIterator];return n?n.call(t):(t=g(t),e={},i("next"),i("throw"),i("return"),e[Symbol.asyncIterator]=function(){return this},e);function i(n){e[n]=t[n]&&function(e){return new Promise((function(i,r){(function(t,e,n,i){Promise.resolve(i).then((function(e){t({value:e,done:n})}),e)})(i,r,(e=t[n](e)).done,e.value)}))}}}function y(t,e){return Object.defineProperty?Object.defineProperty(t,"raw",{value:e}):t.raw=e,t}var m=Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e};function w(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)"default"!==n&&Object.prototype.hasOwnProperty.call(t,n)&&h(e,t,n);return m(e,t),e}function T(t){return t&&t.__esModule?t:{default:t}}function A(t,e,n,i){if("a"===n&&!i)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!i:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===n?i:"a"===n?i.call(t):i?i.value:e.get(t)}function N(t,e,n,i,r){if("m"===i)throw new TypeError("Private method is not writable");if("a"===i&&!r)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof e?t!==e||!r:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===i?r.call(t,n):r?r.value=n:e.set(t,n),n}}},e={};function n(i){var r=e[i];if(void 0!==r)return r.exports;var o=e[i]={exports:{}};return t[i].call(o.exports,o,o.exports,n),o.exports}n.d=(t,e)=>{for(var i in e)n.o(e,i)&&!n.o(t,i)&&Object.defineProperty(t,i,{enumerable:!0,get:e[i]})},n.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),n.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})};var i=n(773);module.exports=i})();
|
|
2
|
+
(()=>{var t={773:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.InstallFlow=e.ExternalFilePicker=e.PARAGON_OVERFLOW_EMPTY_VALUE=void 0;const i=n(655),r=i.__importDefault(n(6245)),o=n(3931),s=n(4059),a=n(745),l=n(7343),d=n(7050);Object.defineProperty(e,"ExternalFilePicker",{enumerable:!0,get:function(){return d.ExternalFilePicker}});const c=n(2643),u=n(4429),h=i.__importDefault(n(9892)),p=n(3821),g=n(2460),f=n(3158),E=n(4846),v=n(572),I=n(8321),_=n(3035),S="paragon-connect-frame",C=`${S}-container`,O="paragon-connect-user-state";e.PARAGON_OVERFLOW_EMPTY_VALUE="PARAGON_OVERFLOW_EMPTY_VALUE";class y extends h.default{constructor(t){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(super(),this.rootLoaded=!1,this.isHeadless=!1,this.rootElementCreated=!1,this.modalState={integration:null,onClose:this.onClose.bind(this),overlayStyle:{overflow:"auto"},onOpen:this.onOpen.bind(this),apiInstallationOptions:{isApiInstallation:!1,showPortalAfterInstall:!1}},this.userState={authenticated:!1},this.loadedConfigs={},this.loadedIntegrations={},this.endUserIntegrationConfig={},this.metadata={},this.cachedApiResponse=new _.CacheThrottle({ttl:5e3}),this.keyToRequestPromiseMap={},this.originalBodyOverflow=e.PARAGON_OVERFLOW_EMPTY_VALUE,this.dynamicFieldMappingLoaders={},this.customDropdownOptionsLoaders={},"undefined"==typeof window)return void console.warn("connect sdk can only be used on browser");const i=(0,f.getAssetUrl)({CDN_PUBLIC_URL:"https://cdn.useparagon.com",DASHBOARD_PUBLIC_URL:"https://dashboard.useparagon.com",NODE_ENV:"production",PLATFORM_ENV:"production",VERSION:"latest"});if(this.environments={CDN_PUBLIC_URL:i,CONNECT_PUBLIC_URL:"https://connect.useparagon.com",DASHBOARD_PUBLIC_URL:"https://dashboard.useparagon.com",HERMES_PUBLIC_URL:"https://hermes.useparagon.com",NODE_ENV:"production",PASSPORT_PRODUCTION_URL:"https://passport.useparagon.com",PASSPORT_PUBLIC_URL:"https://passport.useparagon.com",PLATFORM_ENV:"production",VERSION:"latest",WORKER_PROXY_PUBLIC_URL:"https://proxy.useparagon.com",ZEUS_PUBLIC_URL:"https://zeus.useparagon.com"},this.userState={authenticated:!1},"string"==typeof t?this.configureGlobal({host:t}):this.environments={...this.environments,...t},!this.environments.CONNECT_PUBLIC_URL)throw new Error("Paragon SDK error! No `CONNECT_PUBLIC_URL` configured.");if(!this.environments.DASHBOARD_PUBLIC_URL)throw new Error("Paragon SDK error! No `DASHBOARD_PUBLIC_URL` configured.");if(!this.environments.PASSPORT_PUBLIC_URL)throw new Error("Paragon SDK error! No `PASSPORT_PUBLIC_URL` configured.");if(!this.environments.WORKER_PROXY_PUBLIC_URL)throw new Error("Paragon SDK error! No `WORKER_PROXY_PUBLIC_URL` configured.");if(!this.environments.ZEUS_PUBLIC_URL)throw new Error("Paragon SDK error! No `ZEUS_PUBLIC_URL` configured.");n.skipBootstrapWithLastKnownState||this.loadState(),window.addEventListener("message",this.eventMessageHandler.bind(this)),window.document.readyState===p.DocumentLoadingState.LOADING?window.document.addEventListener("DOMContentLoaded",(()=>{this.createReactRoot()})):this.createReactRoot(),this.installFlow=new m(this)}setHeadless(t){this.isHeadless=t}async eventMessageHandler(t){switch(t.data.type){case"oauth_success_callback":await this._oauthCallback(t.data.credential);break;case"oauth_error_callback":await this._oauthErrorCallback(t.data.error,t);break;default:await this.functionInvocationHandler(t)}}async functionInvocationHandler(t){if("SDK_FUNCTION_INVOCATION"!==t.data.messageType)return;const{type:e,id:n,parameters:i}=t.data;let r;try{r={messageType:"SDK_FUNCTION_RESPONSE",id:n,type:e,result:await this[e](...i)}}catch(t){r={messageType:"SDK_FUNCTION_ERROR",error:!0,message:t.message,id:n}}t.source.postMessage(r,this.environments.CONNECT_PUBLIC_URL)}createReactRoot(){var t;if(this.rootElementCreated)return;this.rootElementCreated=!0,this.root=document.createElement("iframe"),this.root.onload=()=>{this.rootLoaded=!0,this.render()};const e=!!document.querySelector(`#${C}`);this.root.id=S,this.root.src=`${this.environments.CONNECT_PUBLIC_URL}/ui${this.projectId?`?projectId=${this.projectId}`:""}`,this.root.style.position=e?"absolute":"fixed",this.root.style.top="0",this.root.style.left="0",this.root.style.width=e?"100%":"100vw",this.root.style.height=e?"100%":"100vh",this.root.style.zIndex="2147483647",this.root.style.display="none",null===(t=document.querySelector(`#${C}`)||document.body)||void 0===t||t.appendChild(this.root)}validateAction(t){var e;if(!this.loadedIntegrations[t]&&!(0,l.isCustomIntegrationTypeName)(t))throw new Error(`"${t}" is not a valid integration type. The integrations you have configured for this Paragon project are:\n\n${Object.keys(this.loadedConfigs).map((t=>`- "${t}"`)).join("\n")}\n`);if(!this.loadedConfigs[t]||!this.userState.integrations[t])throw new Error(`integration "${t}" has not been set up in your Paragon project yet.\n\n${Object.keys(this.loadedConfigs).map((t=>`- "${t}"`)).join("\n")}`);if(!(null===(e=this.loadedIntegrations[t])||void 0===e?void 0:e.isActive))throw new Error(`integration "${t}" is not active in your Paragon project yet.`)}isAlreadyInstalled(t,e,n){var i,r;if(n){const t=this.getCredentialAndConfig({selectedCredentialId:n});return(null===(i=null==t?void 0:t.selectedCredential)||void 0===i?void 0:i.status)===s.CredentialStatus.VALID}return Boolean(null===(r=e.integrations[t])||void 0===r?void 0:r.enabled)}hasCredential(t,e,n){var i,r;if(!n)return Boolean(null===(i=e.integrations[t])||void 0===i?void 0:i.credentialId);try{const t=this.getCredentialAndConfig({selectedCredentialId:n});return Boolean(null===(r=null==t?void 0:t.selectedCredential)||void 0===r?void 0:r.id)}catch(t){return console.error(t),!1}}async bootstrapSDKState(t){this.projectId&&this.userState.authenticated&&await this.updateLocalState(t)}setModalState(t){this.modalState={config:void 0,...this.modalState,...t},this.render()}loadState(){if("undefined"!=typeof window)try{const t=window.localStorage.getItem(O)?JSON.parse(window.localStorage.getItem(O)):{};if(t.projectId&&(this.projectId=t.projectId),t.userState){const{userState:e}=t;if(!("authenticated"in e&&e.authenticated&&"token"in e))throw new Error("Malformatted or unauthenticated user was persisted into localStorage. Refusing to load.");this.updateAuthenticatedUser(e),this.bootstrapSDKState().catch((()=>{this.clearState()}))}}catch{this.clearState()}}getIntegrationId(t){const e=this.loadedIntegrations[t];if(!e)throw new Error(`Integration "${t}" not found`);return e.id}saveState(){"undefined"!=typeof window&&this.userState.authenticated&&window.localStorage.setItem(O,JSON.stringify({projectId:this.projectId,userState:this.userState}))}clearState(){"undefined"!=typeof window&&window.localStorage.removeItem(O)}render(){if(!this.isHeadless&&this.root&&this.rootLoaded){const{onClose:t,onOpen:e,...n}=this.modalState,i={messageType:"UI_UPDATE",nextContext:{user:this.userState,projectId:this.projectId,environments:this.environments,project:this.project,endUserIntegrationConfig:this.modalState.integration?this.endUserIntegrationConfig[(0,l.getIntegrationTypeName)(this.modalState.integration)||""]:void 0},nextModalState:n};if(!this.root.contentWindow)throw new Error("Browser not supported");this.root.contentWindow.postMessage(i,this.environments.CONNECT_PUBLIC_URL)}}updateContainerStyle(t){let{isModalShown:e}=t;this.root&&(this.root.style.display=e?"block":"none")}async authenticate(t,e,n){var i;if(!t||!e)throw new Error("projectId or token not specified to paragon.authenticate()");let o={};try{o=(0,r.default)(e)}catch(t){throw new Error("A well-formed JWT was not provided to paragon.authenticate()")}this.projectId=t,this.userState={authenticated:!0,token:e,userId:o.sub||o.id,integrations:{},meta:null!==(i=null==n?void 0:n.metadata)&&void 0!==i?i:{},resources:[]};try{if(Date.now()>=1e3*(o.exp||0))throw new Error("JWT token provided has expired.");await this.bootstrapSDKState(null==n?void 0:n.metadata)}catch(t){throw console.warn("paragon.authenticate() could not login user",t),this.logout(),new Error(`Failed to authenticate user with Paragon: ${t.message}`)}this.render()}getUser(){return Object.fromEntries(Object.entries(this.userState).filter((t=>{let[e]=t;return"token"!==e})))}updateAuthenticatedUser(t){this.userState.authenticated?this.userState={...this.userState,...t}:t.authenticated&&(this.userState=t),this.render()}logout(){this.userState={authenticated:!1},this.clearState(),this.render()}removeOptionDuplicates(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];if(!t)return;const e=new Set,n=[];for(const i of t)e.has(i.value)?console.warn(`Duplicated key: "${i.value}", Ignored: "${i.label}"`):(n.push(i),e.add(i.value));return n}startOAuthFlow(t,e){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};var i,r;const o=this.getIntegrationByName(t),s=(0,c.findSelectedAccountType)(null===(i=null==o?void 0:o.sdkIntegrationConfig)||void 0===i?void 0:i.accountTypes,this.getAccountName(e.accountType),this.getSelectedMultipleAccountTypes(e.accountType)),l={context:{user:this.userState,projectId:this.projectId,environments:this.environments,endUserIntegrationConfig:this.endUserIntegrationConfig[t]},integration:o,endUserSuppliedValues:e.endUserSuppliedValues},d=Boolean(o.needPreOauthInputs&&s&&!(null===(r=s.endUserSuppliedValues)||void 0===r?void 0:r.length)&&s.scheme===a.AuthenticationScheme.OAUTH);if(this.isHeadless||d||!o.needPreOauthInputs){l.authParams=null==s?void 0:s.oauthParameters,l.installOptions=e;const i=Math.random().toString(36).substring(2,15),r=(0,u.startOAuthFlow)(l,i);if(!r)throw new g.OAuthBlockedError;const o=()=>{clearInterval(E)},a=Date.now(),d=new AbortController,c=500;let h=!1;const p={abortSignal:d.signal,onSuccess:t=>{var e;h||(h=!0,o(),null===(e=n.onSuccess)||void 0===e||e.call(n,t))},onError:t=>{var e;h||(h=!0,o(),d.abort(),null===(e=n.onError)||void 0===e||e.call(n,t))}};new Promise(((t,e)=>{const n=i=>{"oauth_success_callback"===i.data.type&&(window.removeEventListener("message",n),t(i.data.credential.payload.credentialId)),"oauth_error_callback"===i.data.type&&(window.removeEventListener("message",n),e(new Error(i.data.error)))};window.addEventListener("message",n)})).then((t=>{p.onSuccess(t)})).catch((t=>{p.onError(t)}));const f=setInterval((()=>{try{r.opener||(clearInterval(f),this.pollForCredential(t,i,p))}catch(e){clearInterval(f),this.pollForCredential(t,i,p)}}),c),E=setInterval((()=>{try{if(!h&&n.oauthTimeout&&Date.now()-a>n.oauthTimeout)return r.close(),void p.onError(new g.OAuthTimeoutError)}catch(t){p.onError(t)}}),c)}}getIntegrationByName(t){const e=Object.values(this.loadedIntegrations).find((e=>(0,l.getIntegrationTypeName)(e)===t));if(!e)throw new Error(`Integration "${t}" not found.`);return e}getSelectedMultipleAccountTypes(t){if(Array.isArray(t))return t}getAccountName(t){return"string"==typeof t?t.trim():""}setDynamicFieldMappingLoaders(t,e){var n,i;if(this.dynamicFieldMappingLoaders[t]={},e)for(const[r,o]of Object.entries(e))if("object"==typeof o&&"objectTypes"in o&&"integrationFields"in o&&"applicationFields"in o){const s=o;this.dynamicFieldMappingLoaders[t][r]={objectTypes:null===(n=s.objectTypes)||void 0===n?void 0:n.get,integrationFields:null===(i=s.integrationFields)||void 0===i?void 0:i.get},s.applicationFields&&(e[r]={...s.applicationFields,useBYOFieldMappingOption:!0})}}async connect(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const{mapObjectFields:n,overrideRedirectUrl:i,isApiInstallation:r=!1,showPortalAfterInstall:o,bypassPostOAuthPrompt:a,allowMultipleCredentials:l,selectedCredentialId:d,selectedConfigurationId:u,accountType:h,...f}=e;return this.integrationToBeEnabled=t,new Promise(((E,v)=>{var _,S;if(!this.userState.authenticated)throw new g.UserNotAuthenticatedError;const C=this.getIntegrationByName(t),O=this.getSelectedMultipleAccountTypes(h);this.subscribeToIntegration(t,{...f,onInstall:(e,n)=>{var i;const r=n.integrations[t];e.credentialId=null==r?void 0:r.credentialId,e.credential=null==r?void 0:r.allCredentials.find((t=>t.id===r.credentialId)),E(e),(null==f?void 0:f.onInstall)?f.onInstall(e,n):null===(i=null==f?void 0:f.onSuccess)||void 0===i||i.call(f,e,n)},onError:t=>{var e;v(t),null===(e=null==f?void 0:f.onError)||void 0===e||e.call(f,t)}});try{if(n&&!this.project.accessibleFeatures.includes(p.ConnectAddOn.DynamicFieldMapper))throw new Error("Dynamic Field Mapping is available on our Enterprise plan. Contact sales@useparagon.com to learn more or upgrade.");if(this.validateAction(t),i&&!(0,I.isValidUrl)(i))throw new Error(`${i} is not valid url.`);this.setDynamicFieldMappingLoaders(t,n),this.endUserIntegrationConfig[t]={mapObjectFields:n,overrideRedirectUrl:i?(0,I.sanitizeUrl)(i):void 0};const g=this.getAccountName(h),f=Array.isArray(h)?h.filter((t=>{var e,n;return!(null===(n=null===(e=null==C?void 0:C.sdkIntegrationConfig)||void 0===e?void 0:e.accountTypes)||void 0===n?void 0:n.some((e=>e.id===t)))})):[],y=(0,c.findSelectedAccountType)(null===(_=null==C?void 0:C.sdkIntegrationConfig)||void 0===_?void 0:_.accountTypes,g,O),m={isApiInstallation:r,showPortalAfterInstall:o,bypassPostOAuthPrompt:a,allowMultipleCredentials:l,selectedCredentialId:d,selectedConfigurationId:u,accountType:h};if(this.setCredentialConfigForUserState(t,d,u),e.isApiInstallation&&(null===(S=this.userState.integrations[t])||void 0===S?void 0:S.credentialStatus)!==s.CredentialStatus.PENDING){const n=this.isHeadless?{onSuccess:t=>{E({integrationId:C.id,integrationType:C.type,credentialId:t})},onError:t=>{v(t)},oauthTimeout:e.oauthTimeout}:void 0;this.startOAuthFlow(t,m,n)}(h&&!y&&"string"==typeof h||f.length)&&console.warn(`Account type "${f.length?f:h}" is not valid for integration "${null==C?void 0:C.type}"`);const w=JSON.parse(JSON.stringify(this.loadedConfigs[t]));if(e.dropdowns){const n=e.dropdowns,i=[];for(const t in n){const e=n[t];if("loadOptions"in e){const n=e.loadOptions;this.customDropdownOptionsLoaders[t]=n,i.push(t)}}if(w.sharedMeta&&Array.isArray(w.sharedMeta.inputs))for(const t of w.sharedMeta.inputs){if(i.includes(t.key)){t.customDropdownOptions=[];continue}const e=this.removeOptionDuplicates(n[t.key]);e&&t.customDropdownOptions&&(t.customDropdownOptions=e)}if(w.workflowMeta)for(const t in w.workflowMeta){const e=w.workflowMeta[t];for(const t of e.inputs){if(i.includes(t.key)){t.customDropdownOptions=[];continue}const e=this.removeOptionDuplicates(n[t.key]);e&&t.customDropdownOptions&&(t.customDropdownOptions=e)}}this.loadedConfigs[t]=w}this.setModalState({integration:C,config:this.loadedConfigs[t],apiInstallationOptions:{...m,selectedMultipleAccountTypes:O,selectedAccountConfig:y},selectedCredentialId:d,connectionError:void 0,shouldShowPortalAfterInstall:!1})}catch(e){this.emitError(e,t)}}))}setCredentialConfigForUserState(t,e,n){var i,r,o;if(!this.userState.authenticated||!(null===(i=this.userState.integrations[t])||void 0===i?void 0:i.allCredentials.length))return;const a=this.userState.integrations[t],l=null!==(r=null==a?void 0:a.credentialId)&&void 0!==r?r:null==a?void 0:a.allCredentials[0].id,d=this.getCredentialAndConfig(e||n?{selectedCredentialId:e,selectedConfigurationId:n}:{selectedCredentialId:l},a);if(!(null===(o=null==a?void 0:a.allCredentials)||void 0===o?void 0:o.some((t=>{let{id:e}=t;return e===(null==d?void 0:d.selectedCredential.id)})))||!d)throw new Error(`Credential with ID "${e}" is not a valid ${t} account.`);const{selectedConfig:c,selectedCredential:u}=d,h={...a,allConfigurations:(null==a?void 0:a.allConfigurations)||[],allCredentials:(null==a?void 0:a.allCredentials)||[],enabled:u.status===s.CredentialStatus.VALID,credentialId:u.id,credentialStatus:u.status,providerData:u.providerData,providerId:u.providerId,configMeta:null==c?void 0:c.configMeta,credentialConfigId:null==c?void 0:c.id,externalId:null==c?void 0:c.externalId,sharedSettings:null==c?void 0:c.sharedSettings,workflowSettings:null==c?void 0:c.workflowSettings,configuredWorkflows:null==c?void 0:c.workflowSettings};this.userState.integrations={...this.userState.integrations,[t]:h}}getCredentialAndConfig(t,e,n){var i;const{selectedCredentialId:r,selectedConfigurationId:o}=t,s=null==r?void 0:r.trim(),a=null==o?void 0:o.trim();if(s&&!(0,v.isUUID)(s))throw new Error(`Selected credential id: ${s} is not a valid UUID.`);if(!this.userState.authenticated||!s&&!a)return;let l,d;const c=null!==(i=null==e?void 0:e.allCredentials)&&void 0!==i?i:Object.values(this.userState.integrations).flatMap((t=>(null==t?void 0:t.allCredentials)||[])),u=c.flatMap((t=>{let{configurations:e}=t;return e}));if(a){const t=a.startsWith("ext:")||!(0,v.isUUID)(a),e=(0,f.sanitizeExternalConfigId)(a),i=n=>(t?n.externalId===e:n.id===e)&&(!s||n.connectCredentialId===s);if(null==n?void 0:n.throwIfMultipleConfigsFound){const t=u.filter(i);if(t.length>1)throw new Error(`Multiple credential configurations found for provided id: ${a}.`);d=t[0]}else d=u.find(i);if(!d)throw new Error(`Credential configuration not found for provided id: ${a}.`)}if(l=c.find((t=>{let{id:e}=t;return e===((null==d?void 0:d.connectCredentialId)||s)})),d=null!=d?d:null==l?void 0:l.configurations.find((t=>{let{isDefault:e}=t;return e})),!l)throw new Error("Unable to find credential for provided options.");if(!d)throw new Error(`Credential configuration not found for credential: ${l.id}.`);if(d&&d.connectCredentialId!==(null==l?void 0:l.id))throw new Error('Provided "selectedCredentialId" does not belongs to provided "selectedConfigurationId".');return{selectedCredential:l,selectedConfig:d}}_getIntegration(t){return Object.values(this.loadedIntegrations).find((e=>e.id===t))}getIntegrationBySlug(t){const e=this.loadedIntegrations[t];if(!e)throw new g.IntegrationNotFoundError(t);return e}async _oauthCallback(t,e){var n,i;const{integrationId:r,payload:o}=t,a=this._getIntegration(r);if(!a)return;const d=(0,E.hash)(JSON.stringify({oauthResponse:t,credentialId:e}));if(await this.cachedApiResponse.get(d))return;await this.cachedApiResponse.set(d,!0);const c=(0,l.getIntegrationTypeName)(a),u=(null===(n=this.modalState.apiInstallationOptions)||void 0===n?void 0:n.isApiInstallation)?this.modalState.apiInstallationOptions:{};try{const t=e?`/sdk/credentials/${e}/complete-setup`:"/sdk/credentials",n=await this.sendConnectRequest(t,{method:"POST",body:JSON.stringify({integrationId:a.id,config:{},payload:o,installOptions:u})});if(!n)throw new Error("Unable to save oauth credentials");this.updateCredentialData(n,a),n.status===s.CredentialStatus.VALID&&this.triggerSDKEvent({type:p.SDK_EVENT.ON_INTEGRATION_INSTALL,integrationId:a.id,integrationType:c}),this.setModalState({...this.modalState,...(null===(i=this.modalState.apiInstallationOptions)||void 0===i?void 0:i.showPortalAfterInstall)?{shouldShowPortalAfterInstall:!0}:{},connectionError:void 0})}catch(t){if(this.isHeadless)throw t;this.setModalState({...this.modalState,connectionError:t}),this.emitError(t,c),await this._oauthErrorCallback(t.message)}}async _oauthErrorCallback(t,e){var n;const i=t;let r;r=this.integrationToBeEnabled?this.loadedIntegrations[this.integrationToBeEnabled].id:null===(n=null==e?void 0:e.data)||void 0===n?void 0:n.integrationId,e&&(this.emitError(e.data.errorResponse,(0,l.getIntegrationTypeName)(this._getIntegration(r))),this.setModalState({...this.modalState,connectionError:e.data})),console.error("Failed to connect account to Paragon over OAuth",i)}async _loadCustomDropdownOptions(t,e,n){return this.customDropdownOptionsLoaders[t](e,n)}async sendConnectRequest(t,e){let n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];var i;if(!this.userState.authenticated||!this.projectId)throw new Error("Connect SDK attempted to make an API request, but no user was authenticated.\nCall paragon.authenticate(<projectId>, <user token>) before using the SDK.");const r=`${null!==(i=null==e?void 0:e.baseURLOverride)&&void 0!==i?i:this.environments.ZEUS_PUBLIC_URL}${n?`/projects/${this.projectId}`:""}${t}`,o=(0,E.hash)(JSON.stringify({url:r,payload:{...e}})),s=await this.cachedApiResponse.get(o,!0);if((null==e?void 0:e.cacheResult)&&s)return s;const a=Boolean(!e||"GET"===e.method||e.cacheResult);if(a&&"object"==typeof this.keyToRequestPromiseMap[o])return this.keyToRequestPromiseMap[o];const l=this.userState.token,d=this.modalState.integration&&this.integrationToBeEnabled?this.userState.integrations[this.integrationToBeEnabled]:void 0,c=new Promise(((t,n)=>{(async()=>{try{const n=await this.sendRequest(r,{...e,headers:{Accept:"application/json","Content-Type":"application/json",...!(null==e?void 0:e.skipDefaultCredentialIdHeader)&&(null==d?void 0:d.credentialId)?{[p.SELECTED_CREDENTIAL_ID_HEADER]:null==d?void 0:d.credentialId}:{},...null==e?void 0:e.headers,Authorization:`Bearer ${l}`}},a?o:void 0);t(n)}catch(t){n(t)}})()}));return a&&(this.keyToRequestPromiseMap[o]=c),c}async sendRequest(t,e,n){var i;let r,s,a;try{r=await fetch(t,e)}catch(t){a=t}if(r&&!r.ok||a){const e=r?await(0,I.getErrorMessage)(r,!0):null==a?void 0:a.message,s="string"==typeof e?e:null==e?void 0:e.message,l=(0,I.errorMessageParser)(s),d="object"==typeof e&&e.response.code===o.INSUFFICIENT_PERMISSION,c="object"==typeof e&&[o.BYO_CREDENTIAL_VERIFICATION_ERROR,o.BYO_USER_PROFILE_ERROR_CODE].includes(e.response.code),u=401===(null==r?void 0:r.status)||403===(null==r?void 0:r.status),h=!l&&!d&&!c&&u;if(h&&!t.includes("proxy"))this.logout();else if(h&&t.includes("proxy")){const t=await this.fetchUserData();this.updateAuthenticatedUser({integrations:t.integrations,meta:t.meta,resources:t.resources})}if(n&&(await this.cachedApiResponse.del(n),delete this.keyToRequestPromiseMap[n]),"string"!=typeof e&&t.includes("proxy"))throw null===(i=e.response)||void 0===i||delete i.headers,new I.ProxyRequestError(e.message,e.response);throw new Error("string"==typeof e?s:JSON.stringify(e.response))}try{s=await(null==r?void 0:r.json())}catch{s=void 0}return n&&(await this.cachedApiResponse.set(n,s),delete this.keyToRequestPromiseMap[n]),s}async request(t,e,n){const i=`/sdk/proxy/${t}`,r=e.startsWith("/")?e:`/${e}`,o=n.selectedCredentialId,s=await this.sendConnectRequest(`${i}${r}`,{method:n.method,body:"object"==typeof n.body?JSON.stringify(n.body):n.body,headers:{"Content-Type":p.INFER_CONTENT_TYPE_FROM_CONNECT_OPTIONS,...o?{[p.SELECTED_CREDENTIAL_ID_HEADER]:o}:{},...n.headers},baseURLOverride:this.environments.WORKER_PROXY_PUBLIC_URL,skipDefaultCredentialIdHeader:!0});return null==s?void 0:s.output}async event(t,e){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const{selectedConfigurationId:i,selectedCredentialId:r}=n;if(i&&!r)throw new Error("Configuration ID cannot be used without a corresponding Credential ID. Please provide both if using Configuration ID.");await this.sendConnectRequest(`/v2/projects/${this.projectId}/sdk/events/trigger`,{method:"POST",headers:{...r?{[p.SELECTED_CREDENTIAL_ID_HEADER]:r}:{},...i?{[p.SELECTED_CREDENTIAL_CONFIG_ID_HEADER]:i}:{}},body:JSON.stringify({name:t,payload:e}),skipDefaultCredentialIdHeader:!0,baseURLOverride:this.environments.HERMES_PUBLIC_URL},!1)}onClose(){let t=arguments.length>0&&void 0!==arguments[0]&&arguments[0];const{integration:n,apiInstallationOptions:i}=this.modalState;n&&(this.triggerSDKEvent({type:p.SDK_EVENT.ON_PORTAL_CLOSE,integrationId:n.id,integrationType:(0,l.getIntegrationTypeName)(n)}),this.originalBodyOverflow!==e.PARAGON_OVERFLOW_EMPTY_VALUE&&(window.document.body.style.overflow=this.originalBodyOverflow,this.originalBodyOverflow=e.PARAGON_OVERFLOW_EMPTY_VALUE),!t&&(null==i?void 0:i.isApiInstallation)||(this.setModalState({integration:null}),this.integrationToBeEnabled=void 0))}onOpen(){const{integration:t}=this.modalState;if(t&&(this.triggerSDKEvent({type:p.SDK_EVENT.ON_PORTAL_OPEN,integrationId:t.id,integrationType:(0,l.getIntegrationTypeName)(t)}),this.root&&this.originalBodyOverflow===e.PARAGON_OVERFLOW_EMPTY_VALUE)){const t=this.root.getBoundingClientRect();window.innerHeight<=t.height&&window.innerWidth<=t.width&&(this.originalBodyOverflow=window.document.body.style.overflow,window.document.body.style.overflow="hidden")}}triggerSDKEvent(t){this.triggerEvent(t,this.userState)}getIntegrationMetadata(t){const e=t=>{return{...t,icon:(e=t.icon,e.includes(".svg")?(null===(n=e.split(".svg"))||void 0===n?void 0:n[0])+".svg":e)};var e,n};if(t){const n=this.metadata[t];if(!n)throw new Error(`${t} is not a valid integration name`);return e(n)}return Object.values(this.metadata).map(e)}closePortal(){this.onClose(!0)}workflow(t){let{selectedCredentialId:e,selectedConfigurationId:n,body:i={},query:r={},headers:o={}}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};var s;if(!t)throw new Error("workflowId is required.");const a=new URLSearchParams(r).toString(),{integrationState:l}=this.getIntegrationForWorkflow(t);let d;if((e||n)&&(d=this.getCredentialAndConfig({selectedCredentialId:e,selectedConfigurationId:n},l,{throwIfMultipleConfigsFound:!0}),!d||!(null===(s=d.selectedConfig.workflowSettings[t])||void 0===s?void 0:s.enabled)))throw new Error(`Workflow ${t} is not enabled for this user.`);return this.sendConnectRequest(`/sdk/triggers/${t}?${a}`,{method:"POST",body:JSON.stringify(i),headers:{...d?{[p.SELECTED_CREDENTIAL_ID_HEADER]:d.selectedCredential.id,[p.SELECTED_CREDENTIAL_CONFIG_ID_HEADER]:d.selectedConfig.id}:{},...o},skipDefaultCredentialIdHeader:!0,baseURLOverride:this.environments.HERMES_PUBLIC_URL},!0)}installIntegration(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!this.userState.authenticated)throw new g.UserNotAuthenticatedError;this.closePortal();const n={showPortalAfterInstall:!1,bypassPostOAuthPrompt:!1,allowMultipleCredentials:!1,...e,isApiInstallation:!0};if(n.bypassPostOAuthPrompt&&n.showPortalAfterInstall)throw new Error("Could not use both `bypassPostOAuthPrompt` and `showPortalAfterInstall` as true at the same time.");if(this.ensureHeadlessIsSupported(),this.validateAction(t),!n.allowMultipleCredentials&&this.isAlreadyInstalled(t,this.userState))throw new Error(`Integration "${t}" is already installed.`);if(e.showPortalAfterInstall){const e=Object.values(this.loadedIntegrations).find((e=>(0,l.getIntegrationTypeName)(e)===t));this.setModalState({integration:e,config:this.loadedConfigs[t],apiInstallationOptions:n,shouldShowPortalAfterInstall:!1})}else this.setModalState({integration:null});return this.connect(t,n)}ensureHeadlessIsSupported(){if(!this.project.accessibleFeatures.includes(p.ConnectAddOn.HeadlessConnectPortal))throw new Error("Headless Connect Portal is available on our Pro plan and above. Contact sales@useparagon.com to learn more or upgrade.")}async uninstallIntegration(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const n=null==e?void 0:e.selectedCredentialId;if(!this.userState.authenticated)throw new g.UserNotAuthenticatedError;if(this.ensureHeadlessIsSupported(),this.validateAction(t),!this.hasCredential(t,this.userState,e.selectedCredentialId))throw new g.IntegrationNotInstalledError(t);const i=this.loadedIntegrations[t].id,r=this.userState.integrations[t],o=n||(null==r?void 0:r.credentialId);if(!o||!r)throw new Error("No credential found for uninstall");await this.sendConnectRequest(`/sdk/integrations/${i}`,{method:"DELETE",headers:{...o?{[p.SELECTED_CREDENTIAL_ID_HEADER]:o}:{}}}),this.updateAuthenticatedUser({integrations:{...this.userState.integrations,[t]:(0,c.getActionStateForCredentialDelete)(o,r)}}),n===this.modalState.selectedCredentialId&&this.setModalState({integration:null,selectedCredentialId:void 0}),this.saveState(),this.triggerSDKEvent({type:p.SDK_EVENT.ON_INTEGRATION_UNINSTALL,integrationId:i,integrationType:t})}async disableWorkflow(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};var n;const{selectedCredentialId:i,selectedConfigurationId:r}=e,{integration:o,integrationState:s}=this.getIntegrationForWorkflow(t),a=this.getCredentialAndConfig(i||r?{selectedCredentialId:i,selectedConfigurationId:r}:{selectedCredentialId:s.credentialId},s);if(!a||!(null===(n=a.selectedConfig.workflowSettings[t])||void 0===n?void 0:n.enabled))throw new Error(`Workflow ${t} cannot be disabled for this user.`);const{selectedConfig:l,selectedCredential:d}=a;await this.sendConnectRequest(`/sdk/workflows/${t}`,{method:"DELETE",headers:{[p.SELECTED_CREDENTIAL_ID_HEADER]:d.id,[p.SELECTED_CREDENTIAL_CONFIG_ID_HEADER]:l.id}});const c={...l,workflowSettings:{...l.workflowSettings,[t]:{settings:{},...l.workflowSettings[t],enabled:!1}}},u={...d,configurations:d.configurations.filter((t=>t.id!==l.id)).concat(c)};this.updateCredentialData(u,o)}async enableWorkflow(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};var n;const{selectedCredentialId:i,selectedConfigurationId:r}=e,{integration:o,integrationState:a}=this.getIntegrationForWorkflow(t),l=this.getCredentialAndConfig(i||r?{selectedCredentialId:i,selectedConfigurationId:r}:{selectedCredentialId:a.credentialId},a);if(!l||(null==l?void 0:l.selectedCredential.status)!==s.CredentialStatus.VALID)throw new Error("Valid credential not found for provided options.");const{selectedConfig:d,selectedCredential:c}=l;if(null===(n=d.workflowSettings[t])||void 0===n?void 0:n.enabled)throw new Error(`Workflow ${t} is already enabled for this user.`);await this.sendConnectRequest(`/sdk/workflows/${t}`,{method:"POST",headers:{[p.SELECTED_CREDENTIAL_ID_HEADER]:c.id,[p.SELECTED_CREDENTIAL_CONFIG_ID_HEADER]:d.id}});const u={...d,workflowSettings:{...d.workflowSettings,[t]:{settings:{},...d.workflowSettings[t],enabled:!0}}},h={...c,configurations:c.configurations.filter((t=>t.id!==d.id)).concat(u)};this.updateCredentialData(h,o)}async getIntegrationAccount(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};var n;this.validateAction(t);const i=null===(n=this.userState.integrations[t])||void 0===n?void 0:n.allCredentials;if(!(null==i?void 0:i.length))throw new Error("Connect credential not found");const r=await this.sendConnectRequest(`/sdk/credentials?integration=${t}&includeAccountAuth=${e.includeAccountAuth}`,{method:"GET",headers:e.selectedCredentialId?{[p.SELECTED_CREDENTIAL_ID_HEADER]:e.selectedCredentialId}:{}});if(!r)throw new Error("Integration not connected");return r}getIntegrationForWorkflow(t){if(!this.userState.authenticated)throw new g.UserNotAuthenticatedError;const e=Object.values(this.loadedIntegrations).find((e=>{const n=e.configs[0].values;return t in(n.workflowMeta||{})}));if(!e)throw new Error("Workflow not found in the configured integrations in your Paragon project.");const n=(0,l.getIntegrationTypeName)(e)?this.userState.integrations[(0,l.getIntegrationTypeName)(e)]:void 0;if(!n||!n.allCredentials.some((t=>{let{status:e}=t;return e===s.CredentialStatus.VALID})))throw new Error(`Integration "${(0,l.getIntegrationTypeName)(e)}" not enabled for workflow."`);return{integration:e,integrationState:n}}async updateLocalState(t){var e,n;const[i,r]=await Promise.all([this.fetchUserData(t),this.fetchIntegrations()]);this.project=i.project;let o={...i.integrations};if(this.modalState.integration&&this.integrationToBeEnabled){const t=this.userState.integrations[this.integrationToBeEnabled],i=null==t?void 0:t.credentialConfigId,r=null==t?void 0:t.credentialId;let s;if(i)s=null===(e=o[this.integrationToBeEnabled])||void 0===e?void 0:e.allConfigurations.find((t=>{let{id:e}=t;return e===i}));else if(r){const t=null===(n=o[this.integrationToBeEnabled])||void 0===n?void 0:n.allCredentials.find((t=>{let{id:e}=t;return e===r}));s=t?t.configurations.find((t=>t.isDefault)):void 0}s&&(o={...o,[this.integrationToBeEnabled]:{enabled:!1,allConfigurations:[],allCredentials:[],...o[this.integrationToBeEnabled],credentialId:s.connectCredentialId,credentialConfigId:s.id,workflowSettings:s.workflowSettings,configuredWorkflows:s.workflowSettings,sharedSettings:s.sharedSettings,configMeta:s.configMeta}})}this.updateAuthenticatedUser({integrations:o,meta:i.meta,resources:i.resources}),this.updateIntegrations(r),this.saveState()}async fetchUserData(t){const e=await this.sendConnectRequest("/sdk/me",{headers:(0,f.getHeadersForUserMeta)(t)});if(!e)throw new Error("Unable to get user Data");return{...e,integrations:Object.fromEntries(Object.entries(e.integrations).map((t=>{let[e,n]=t;const i=n.allCredentials.flatMap((t=>{let{configurations:e}=t;return e}));return[e,{...n,allConfigurations:i}]})))}}async fetchIntegrations(){const t=await this.sendConnectRequest("/sdk/integrations");if(!t)throw new Error("Unable to fetch integrations");return t}getIntegrationIcon(t){if(!t.customIntegration){const e=p.overrideActionAlias[t.type]||t.type;return`${this.environments.CDN_PUBLIC_URL}/integrations/${e}.svg`}return t.customIntegration.icon?t.customIntegration.icon:`${this.environments.CDN_PUBLIC_URL}/images/icons/byo-placeholder.svg`}updateIntegrations(t){t.forEach((t=>{var e;if(t.configs.length)try{const n=(0,l.getIntegrationTypeName)(t);this.loadedConfigs[n]=t.configs[0].values,this.loadedIntegrations[n]={...t,type:t.type.startsWith("custom.")?o.ACTION_CUSTOM:t.type},Boolean(t.isActive)&&(this.metadata[n]={type:n,name:t.name,brandColor:t.brandColor,icon:this.getIntegrationIcon(t)}),(null===(e=this.modalState.integration)||void 0===e?void 0:e.id)===t.id&&this.setModalState({integration:{...t,type:t.type.startsWith("custom.")?o.ACTION_CUSTOM:t.type}})}catch(t){console.warn(t)}}))}async setUserMetadata(t){return await this.sendConnectRequest("/sdk/me",{method:"PATCH",body:JSON.stringify({meta:t})}),await this.updateLocalState(),this.render(),this.userState}configureGlobal(t,e){var n,i,r,o,s,a,l,d;if(!t||!t.host)throw new Error("host not specified");const c=t.host.indexOf("http")>-1?new URL(t.host).hostname:t.host;this.environments.CONNECT_PUBLIC_URL=null!==(n=null==e?void 0:e.CONNECT_PUBLIC_URL)&&void 0!==n?n:(0,I.getServiceUrl)("connect",c),this.environments.DASHBOARD_PUBLIC_URL=null!==(i=null==e?void 0:e.DASHBOARD_PUBLIC_URL)&&void 0!==i?i:(0,I.getServiceUrl)("dashboard",c),this.environments.HERMES_PUBLIC_URL=null!==(r=null==e?void 0:e.HERMES_PUBLIC_URL)&&void 0!==r?r:(0,I.getServiceUrl)("hermes",c),this.environments.PASSPORT_PRODUCTION_URL=null!==(o=null==e?void 0:e.PASSPORT_PRODUCTION_URL)&&void 0!==o?o:(0,I.getServiceUrl)("passport",c),this.environments.PASSPORT_PUBLIC_URL=null!==(s=null==e?void 0:e.PASSPORT_PUBLIC_URL)&&void 0!==s?s:(0,I.getServiceUrl)("passport",c),this.environments.ZEUS_PUBLIC_URL=null!==(a=null==e?void 0:e.ZEUS_PUBLIC_URL)&&void 0!==a?a:(0,I.getServiceUrl)("zeus",c),this.environments.CDN_PUBLIC_URL=null!==(l=null==e?void 0:e.CDN_PUBLIC_URL)&&void 0!==l?l:(0,I.getServiceUrl)("dashboard",c),this.environments.WORKER_PROXY_PUBLIC_URL=null!==(d=null==e?void 0:e.WORKER_PROXY_PUBLIC_URL)&&void 0!==d?d:(0,I.getServiceUrl)("proxy",c),this.userState.authenticated=!1,this.root?this.root.src=`${this.environments.CONNECT_PUBLIC_URL}/ui${this.projectId?`?projectId=${this.projectId}`:""}`:console.error("Root element not defined")}async completeInstall(t,e){var n;if(!this.userState.authenticated)throw new Error("Authentication is required");if(!e||!e.authorizationCode)throw new Error("authorizationCode is required");if(e.redirectUrl&&!(0,I.isValidUrl)(e.redirectUrl))throw new Error(`${e.redirectUrl} is not valid url`);this.validateAction(t);const i=Object.values(this.loadedIntegrations).find((e=>(0,l.getIntegrationTypeName)(e)===t)),r=null===(n=e.showPortalAfterInstall)||void 0===n||n,o=await this.sendConnectRequest("/sdk/credentials",{method:"POST",body:JSON.stringify({code:e.authorizationCode,integrationId:i.id,redirectUrl:e.redirectUrl?(0,I.sanitizeUrl)(e.redirectUrl):void 0,integrationOptions:e.integrationOptions||{}})});if(!o)throw new Error("Unable to create credential");this.updateCredentialData(o,i),r&&this.setModalState({integration:i,config:this.loadedConfigs[t],apiInstallationOptions:{}})}updateCredentialData(t,e){var n;const i=this.userState,r=(0,l.getIntegrationTypeName)(e),o=i.integrations[r],a=o.allCredentials.findIndex((e=>{let{id:n}=e;return n===t.id}));a>-1?o.allCredentials[a]=t:o.allCredentials.push(t);const d=Object.values(null!==(n=o.allConfigurations)&&void 0!==n?n:[]).filter((e=>{let{connectCredentialId:n}=e;return n!==t.id})).concat(t.configurations);if(!(-1===a||t.id===o.credentialId||!(!o.credentialConfigId||!t.configurations.some((t=>t.id===o.credentialConfigId)))))return this.updateAuthenticatedUser({integrations:{...i.integrations,[r]:{...o,allConfigurations:d}}}),void this.saveState();const c=o.credentialConfigId?t.configurations.find((t=>o.credentialConfigId===t.id)):t.configurations[0];this.updateAuthenticatedUser({integrations:{...i.integrations,[r]:{...o,allConfigurations:d,credentialStatus:t.status,enabled:t.status===s.CredentialStatus.VALID,credentialId:t.id,providerId:t.providerId,providerData:t.providerData,configMeta:null==c?void 0:c.configMeta,credentialConfigId:null==c?void 0:c.id,externalId:null==c?void 0:c.externalId,sharedSettings:null==c?void 0:c.sharedSettings,workflowSettings:null==c?void 0:c.workflowSettings,configuredWorkflows:null==c?void 0:c.workflowSettings}}}),this.saveState()}async connectAction(t,e){var n;if(!this.userState.authenticated)throw new g.UserNotAuthenticatedError;const i=null===(n=this.userState.resources.find((e=>t===e.slug)))||void 0===n?void 0:n.id;if(!i)throw new Error(`No resource found with name "${t}".`);if(!e||"object"!=typeof e)throw new Error("payload must be of type object.");const r=await this.sendConnectRequest(`/sdk/resources/${i}/connect`,{method:"POST",body:JSON.stringify(e)});if(!r)throw new Error(`Unable to connect to "${t}".`);return r}async createConfiguration(t){let{credentialId:e,externalId:n}=t;var i,r;if(!this.userState.authenticated)throw new g.UserNotAuthenticatedError;if(!e)throw new Error('Required options not provided: "credentialId"');const o=this.getCredentialAndConfig({selectedCredentialId:e});if(!o||(null==o?void 0:o.selectedCredential.status)!==s.CredentialStatus.VALID)throw new Error("Valid credential not found for provided options.");const a=await this.sendConnectRequest(`/sdk/credentials/${e}/configurations`,{method:"POST",body:JSON.stringify(n?{externalId:n}:{})});if(!a)throw new Error("Unable to create a configuration for credential.");const l=Object.keys(this.userState.integrations).find((t=>{var e;return null===(e=this.userState.integrations[t])||void 0===e?void 0:e.allCredentials.find((t=>{let{id:e}=t;return e===a.id}))}));if(l){const t=null===(i=this.userState.integrations[l])||void 0===i?void 0:i.allConfigurations.filter((t=>{let{connectCredentialId:e}=t;return e!==a.id})).concat(a.configurations),e=null===(r=this.userState.integrations[l])||void 0===r?void 0:r.allCredentials.map((t=>t.id===a.id?a:t)),n={...this.userState.integrations,[l]:{enabled:!1,...this.userState.integrations[l],allConfigurations:t||[],allCredentials:e||[]}};this.updateAuthenticatedUser({integrations:n})}return a.configurations.sort(((t,e)=>new Date(e.dateCreated).getTime()-new Date(t.dateCreated).getTime()))[0]}async destroyConfiguration(t){let{id:e,credentialId:n}=t;var i,r,o,s;if(!this.userState.authenticated)throw new g.UserNotAuthenticatedError;if(!(null==e?void 0:e.trim())||!(null==n?void 0:n.trim()))throw new Error("One or more required options not provided.");const a=this.getCredentialAndConfig({selectedConfigurationId:e,selectedCredentialId:n});if(!a)throw new Error(`Unable to find credential for configuration: ${e}.`);if(a.selectedConfig.isDefault)throw new Error("Cannot delete default configuration.");await this.sendConnectRequest(`/sdk/credentials/${a.selectedCredential.id}/configurations`,{method:"DELETE",headers:{[p.SELECTED_CREDENTIAL_ID_HEADER]:null==a?void 0:a.selectedCredential.id,[p.SELECTED_CREDENTIAL_CONFIG_ID_HEADER]:null==a?void 0:a.selectedConfig.id}});const l=Object.keys(this.userState.integrations).find((t=>{var e;return null===(e=this.userState.integrations[t])||void 0===e?void 0:e.allCredentials.find((t=>{let{id:e}=t;return e===a.selectedCredential.id}))}));if(l){const{selectedConfig:t,selectedCredential:e}=a,n=null===(i=this.userState.integrations[l])||void 0===i?void 0:i.allConfigurations.filter((e=>{let{id:n}=e;return n!==t.id})),d=null===(r=this.userState.integrations[l])||void 0===r?void 0:r.allCredentials.map((n=>n.id!==e.id?n:{...n,configurations:n.configurations.filter((e=>{let{id:n}=e;return n!==t.id}))})),c={...this.userState.integrations,[l]:{enabled:!1,...this.userState.integrations[l],allConfigurations:n||[],allCredentials:d||[]}};this.updateAuthenticatedUser({integrations:c}),(null===(o=this.userState.integrations[l])||void 0===o?void 0:o.credentialId)===e.id&&(null===(s=this.userState.integrations[l])||void 0===s?void 0:s.credentialConfigId)===t.id&&this.closePortal()}}async updateConfiguration(t){let{id:e,credentialId:n,meta:i={}}=t;var r,o;if(!this.userState.authenticated)throw new g.UserNotAuthenticatedError;if(!(null==e?void 0:e.trim())||!(null==n?void 0:n.trim()))throw new Error("One or more required options not provided.");const s=this.getCredentialAndConfig({selectedConfigurationId:e,selectedCredentialId:n});if(!(null==s?void 0:s.selectedConfig))throw new Error(`Cannot find credential configuration with given id: "${e}"`);const a=await this.sendConnectRequest(`/sdk/credentials/${s.selectedConfig.connectCredentialId}/configurations`,{method:"PATCH",body:JSON.stringify({meta:i}),headers:{[p.SELECTED_CREDENTIAL_ID_HEADER]:s.selectedCredential.id,[p.SELECTED_CREDENTIAL_CONFIG_ID_HEADER]:s.selectedConfig.id}});if(!a)throw new Error("Unable to update configuration.");const l=Object.keys(this.userState.integrations).find((t=>{var e;return null===(e=this.userState.integrations[t])||void 0===e?void 0:e.allCredentials.find((t=>{let{id:e}=t;return e===a.id}))}));if(l){const t=null===(r=this.userState.integrations[l])||void 0===r?void 0:r.allConfigurations.filter((t=>{let{connectCredentialId:e}=t;return e!==a.id})).concat(a.configurations),e=null===(o=this.userState.integrations[l])||void 0===o?void 0:o.allCredentials.map((t=>t.id===a.id?a:t)),n={...this.userState.integrations,[l]:{enabled:!1,...this.userState.integrations[l],allConfigurations:t||[],allCredentials:e||[]}};this.updateAuthenticatedUser({integrations:n})}const d=a.configurations.find((t=>{let{id:e}=t;return e===s.selectedConfig.id}));return d}async pollForCredential(t,e){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};var i;const r=Date.now(),o=async()=>{try{return await this.sendConnectRequest(`/sdk/actions/session-id/${e}`,{method:"GET"})}catch(t){return console.error("error",t),null}};try{const e=await(0,v.tryUntil)(o,((t,e)=>{var i;return!(null===(i=n.abortSignal)||void 0===i?void 0:i.aborted)&&!(Date.now()-r>=u.MAX_POLL_DURATION||(null==t?void 0:t.connectCredentialId))}),1e3);if(!e||!e.connectCredentialId)return;n.onSuccess&&n.onSuccess(e.connectCredentialId);const a=null===(i=this.userState.integrations[t])||void 0===i?void 0:i.allCredentials.find((t=>t.id===e.connectCredentialId)),l=this.getIntegrationByName(t);if(a&&a.status===s.CredentialStatus.VALID)return void this.triggerSDKEvent({type:p.SDK_EVENT.ON_INTEGRATION_INSTALL,integrationId:l.id,integrationType:t});const d=await this.sendConnectRequest(`/sdk/credentials/${e.connectCredentialId}`,{method:"GET"});if(!d)return;this.updateCredentialData(d,this.loadedIntegrations[t]),d.status===s.CredentialStatus.VALID&&this.triggerSDKEvent({type:p.SDK_EVENT.ON_INTEGRATION_INSTALL,integrationId:l.id,integrationType:t})}catch(t){n.onError&&n.onError(t)}finally{await this.sendConnectRequest(`/sdk/actions/session-id/${e}`,{method:"DELETE"})}}getIntegrationConfig(t){var e,n;if(!t)throw new Error("Integration is required.");const i=this.loadedIntegrations[t],r=i.configs[0].values,o=[],s=[],a=new Map(i.workflows.map((t=>[t.id,t]))),l=null!==(e=i.noPermissionWorkflows)&&void 0!==e?e:[];return Object.values(r.workflowMeta||{}).map((t=>{var e;if(!a.has(t.id)&&!l.includes(t.id))return;const n=null===(e=a.get(t.id))||void 0===e?void 0:e.description;t.hidden||t.permissions&&l.includes(t.id)?o.push({...t,description:n}):s.push({...t,description:n})})),{shortDescription:r.description,longDescription:r.overview,availableUserSettings:null===(n=r.sharedMeta)||void 0===n?void 0:n.inputs,availableWorkflows:s,hiddenWorkflows:o}}getIntegrationCredential(t){let{integration:e,settings:n}=t;const{selectedCredentialId:i,selectedConfigurationId:r}=n,o=this.userState.integrations[e];if(!o)throw new Error(`Integration "${e}" state not found.`);const a=this.getCredentialAndConfig(i||r?{selectedCredentialId:i,selectedConfigurationId:r}:{selectedCredentialId:o.credentialId},o);if(!a||(null==a?void 0:a.selectedCredential.status)!==s.CredentialStatus.VALID)throw new Error("Valid credential not found for provided options.");return a}async updateIntegrationUserSettings(t,e){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};var i;if(!this.userState.authenticated)throw new g.UserNotAuthenticatedError;this.validateAction(t);const{selectedConfig:r,selectedCredential:o}=this.getIntegrationCredential({integration:t,settings:n}),s=this.userState.token,a=null===(i=this.userState.integrations[t])||void 0===i?void 0:i.sharedSettings,l=await this.sendConnectRequest(`/sdk/credentials/${o.id}`,{method:"PATCH",headers:{Authorization:`Bearer ${s}`,[p.SELECTED_CREDENTIAL_ID_HEADER]:o.id,[p.SELECTED_CREDENTIAL_CONFIG_ID_HEADER]:r.id},body:JSON.stringify({config:{sharedSettings:{...a,...e}}})});if(!l)throw new Error(`Failed to update settings for ${t}.`);if(l.credential){const e=this.loadedIntegrations[t];this.updateCredentialData(l.credential,e)}return{userState:this.userState,errors:l.errors||[]}}async updateWorkflowUserSettings(t,e,n){let i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};var r;if(!this.userState.authenticated)throw new g.UserNotAuthenticatedError;this.validateAction(t);const{selectedConfig:o,selectedCredential:s}=this.getIntegrationCredential({integration:t,settings:i}),a=this.userState.token,l=structuredClone(null===(r=this.userState.integrations[t])||void 0===r?void 0:r.workflowSettings),d=null==l?void 0:l[e];if(!d)throw new Error("The workflow needs to be enabled in order to add workflow level user settings.");for(const t in n)d.settings[t]=n[t];const c=await this.sendConnectRequest(`/sdk/credentials/${s.id}`,{method:"PATCH",headers:{Authorization:`Bearer ${a}`,[p.SELECTED_CREDENTIAL_ID_HEADER]:s.id,[p.SELECTED_CREDENTIAL_CONFIG_ID_HEADER]:o.id},body:JSON.stringify({config:{workflowSettings:l}})});if(!c)throw new Error(`Failed to update settings for ${t}.`);if(c.credential){const e=this.loadedIntegrations[t];this.updateCredentialData(c.credential,e)}return{userState:this.userState,errors:c.errors||[]}}async updateWorkflowState(t,e){const n=[];for(const[i,r]of Object.entries(t))try{r?await this.enableWorkflow(i,e):await this.disableWorkflow(i,e)}catch(t){n.push({workflowId:i,message:t.message})}return{user:this.getUser(),errors:n}}async getFieldOptions(t){let{integration:e,action:n,search:i,cursor:r,parameters:o=[]}=t;this.validateAction(e);const s=await this.sendConnectRequest("/sdk/actions",{method:"POST",body:JSON.stringify({action:e,sourceKey:n,parameters:o,paginationParameters:{pageCursor:null!=r?r:0,search:i}})});let a=[],l=[];const d=s.output.records||s.output;return d[0]&&"id"in d[0]?l=d:a=d,{data:a,nestedData:l,nextPageCursor:s.output.nextPageCursor||null}}async getDataSourceOptions(t,e){var n;return null===(n=this.getIntegrationByName(t).sdkIntegrationConfig)||void 0===n?void 0:n.dataSources[e]}getAccountTypeOptions(t){var e,n;return null!==(n=null===(e=this.getIntegrationBySlug(t).sdkIntegrationConfig)||void 0===e?void 0:e.accountTypes)&&void 0!==n?n:[]}getPreOptions(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"default";var n,i,r,o;const s=this.getIntegrationBySlug(t);if(s.customIntegration)return s.authenticationType===a.AuthenticationScheme.OAUTH_CLIENT_CREDENTIAL?w:null!==(n=s.customIntegration.inputFields)&&void 0!==n?n:[];const l=this.getAccountTypeOptions(t);if(null==l?void 0:l.length){const t=null==l?void 0:l.find((t=>t.id===e));if(null===(i=null==t?void 0:t.endUserSuppliedValues)||void 0===i?void 0:i.length)return t.endUserSuppliedValues}return(null===(o=null===(r=s.sdkIntegrationConfig)||void 0===r?void 0:r.authConfigInputs)||void 0===o?void 0:o.length)?s.sdkIntegrationConfig.authConfigInputs:[]}getPostOptions(t){var e,n;return null!==(n=null===(e=this.getIntegrationBySlug(t).sdkIntegrationConfig)||void 0===e?void 0:e.postOauthInputs)&&void 0!==n?n:[]}async _fetchBYOFieldMappingOptions(t,e,n,i){var r;const o=null===(r=this.dynamicFieldMappingLoaders[t])||void 0===r?void 0:r[n];if(!o)throw new Error(`No dynamic field mapping loader found for key: ${n}`);if(e===p.DynamicFieldMappingLoaderType.OBJECT_TYPES)return await o.objectTypes(null==i?void 0:i.cursor,null==i?void 0:i.search);if(e===p.DynamicFieldMappingLoaderType.INTEGRATION_FIELDS){if(!(null==i?void 0:i.objectType))throw new Error("objectType is required for integrationFields");return await o.integrationFields({objectType:i.objectType},i.cursor,i.search)}throw new Error(`Invalid type: ${e}. Must be 'objectTypes' or 'integrationFields'`)}}e.default=y;class m{constructor(t){this.paragon=t,this.startOptions=null,this.integrationName=null,this.accountTypeValue=null,this.preOptionsValue=null,this.postOptionsValue=null,this.credentialId=null}start(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.asyncStart(t,e).catch((t=>{this.handleError(t)}))}async cancel(){this.startOptions=null,this.accountTypeValue=null,this.preOptionsValue=null,this.postOptionsValue=null;try{if(this.credentialId&&this.integrationName&&await this.paragon.uninstallIntegration(this.integrationName,{selectedCredentialId:this.credentialId}),!this.credentialId&&!this.integrationName){const t=new g.NoActiveInstallFlowError;console.warn(t.message)}}catch(t){console.error("Error cancelling the current install flow",{credentialId:this.credentialId,integration:this.integrationName},t)}finally{this.integrationName=null,this.credentialId=null}}async asyncStart(t,e){if(this.startOptions=e,this.integrationName=t,this.accountTypeValue=null,this.preOptionsValue=null,this.postOptionsValue=null,this.credentialId=null,!this.paragon.isHeadless)throw new g.HeadlessModeNotEnabledError;const n=this.next();if("done"===n.stage||"postOptions"===n.stage){const i=await this.paragon.installIntegration(t,{oauthTimeout:null==e?void 0:e.oauthTimeout,allowMultipleCredentials:!0});if("done"===n.stage)return void this.handleComplete();(null==i?void 0:i.credentialId)&&(this.credentialId=i.credentialId)}this.handleNext(n)}handleError(t,e){var n,i;const r=(0,g.getConnectSDKError)(t);null===(i=null===(n=this.startOptions)||void 0===n?void 0:n.onError)||void 0===i||i.call(n,r,null!=e?e:null)}handleNext(t){var e,n;null===(n=null===(e=this.startOptions)||void 0===e?void 0:e.onNext)||void 0===n||n.call(e,t)}handleComplete(){var t,e;null===(e=null===(t=this.startOptions)||void 0===t?void 0:t.onComplete)||void 0===e||e.call(t)}getScheme(){var t,e;if(null===this.integrationName)return null;if(!this.accountTypeValue)return null!==(t=this.paragon.getIntegrationBySlug(this.integrationName).authenticationType)&&void 0!==t?t:null;const n=this.getSelectedAccountTypeOption();return null!==(e=null==n?void 0:n.scheme)&&void 0!==e?e:null}getIntegrationName(){if(!this.integrationName)throw new g.NoActiveInstallFlowError;return this.integrationName}getSelectedAccountTypeOption(){var t;return null===(t=this.paragon.getAccountTypeOptions(this.getIntegrationName()))||void 0===t?void 0:t.find((t=>t.id===this.accountTypeValue))}requiresAccountType(){const t=this.paragon.getAccountTypeOptions(this.getIntegrationName());return!(!t||0===t.length)&&!this.accountTypeValue}requiresPreOptions(){var t;const e=this.paragon.getPreOptions(this.getIntegrationName(),null!==(t=this.accountTypeValue)&&void 0!==t?t:void 0);return!(!e||0===e.length)&&!this.preOptionsValue}requiresPostOptions(){var t,e;if(null!==(e=null===(t=this.getSelectedAccountTypeOption())||void 0===t?void 0:t.skipPostOAuthInputs)&&void 0!==e&&e)return!1;const n=this.paragon.getPostOptions(this.getIntegrationName());return!(!n||0===n.length)&&!this.postOptionsValue}async handleOAuth(){let{accountType:t,endUserSuppliedValues:e}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const n=await new Promise(((n,i)=>{var r;this.paragon.startOAuthFlow(this.getIntegrationName(),{accountType:t,endUserSuppliedValues:e},{onSuccess:t=>n(t),onError:t=>i(t),oauthTimeout:null===(r=this.startOptions)||void 0===r?void 0:r.oauthTimeout})}));this.credentialId=n}async setAccountType(t){try{this.accountTypeValue=t;const e=this.next();if("preOptions"===e.stage)return void this.handleNext(e);if(this.getScheme()!==a.AuthenticationScheme.OAUTH)return void this.handleNext(e);await this.handleOAuth({accountType:t}),"done"===e.stage?this.handleComplete():this.handleNext(e)}catch(t){this.handleError(t,{stage:"accountType"})}}async setPreOptions(t){var e,n,i;try{if(!t)throw new Error("Pre options are not set");this.preOptionsValue=t;const r=this.next(),o="done"===r.stage;if(this.getScheme()===a.AuthenticationScheme.OAUTH)return await this.handleOAuth({accountType:null!==(e=this.accountTypeValue)&&void 0!==e?e:void 0,endUserSuppliedValues:{...this.preOptionsValue}}),void(o?this.handleComplete():this.handleNext(r));const s=null!==(i=null===(n=this.getSelectedAccountTypeOption())||void 0===n?void 0:n.skipPostOAuthInputs)&&void 0!==i&&i;await this.paragon._oauthCallback({payload:{...t,skipPostOAuthInputs:s},integrationId:this.paragon.getIntegrationId(this.getIntegrationName())}),o?this.handleComplete():this.handleNext(r)}catch(t){this.handleError(t,{stage:"preOptions"})}}async setPostOptions(t){var e,n;try{if(!t)throw new Error("Post options are not set");if(!this.credentialId)throw new Error("Credential ID is not set");this.postOptionsValue=t;const i=null!==(n=null===(e=this.getSelectedAccountTypeOption())||void 0===e?void 0:e.skipPostOAuthInputs)&&void 0!==n&&n;await this.paragon._oauthCallback({payload:{...t,skipPostOAuthInputs:i},integrationId:this.paragon.getIntegrationId(this.getIntegrationName())},this.credentialId);const r=this.next();"done"===r.stage?this.handleComplete():this.handleNext(r)}catch(t){this.handleError(t,{stage:"postOptions"})}}getAccountTypeValue(){return this.accountTypeValue}getPreOptionsValue(){return this.preOptionsValue}getPostOptionsValue(){return this.postOptionsValue}next(){var t;const e=this.getIntegrationName();return this.requiresAccountType()?{stage:"accountType",options:this.paragon.getAccountTypeOptions(e),done:!1}:this.requiresPreOptions()?{stage:"preOptions",options:this.paragon.getPreOptions(e,null!==(t=this.accountTypeValue)&&void 0!==t?t:void 0),done:!1}:this.requiresPostOptions()?{stage:"postOptions",options:this.paragon.getPostOptions(e),done:!1}:{stage:"done",done:!0}}}e.InstallFlow=m;const w=[{id:"clientId",title:"Client ID",type:p.SidebarInputType.ValueText,required:!0},{id:"clientSecret",title:"Client Secret",type:p.SidebarInputType.Password,required:!0}]},9892:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});const i=n(3821);e.default=class{constructor(){this.eventListenersMap={},this.integrationStateCallbacks={}}subscribe(t,e){var n;if(this.assertEventType(t),"function"!=typeof e)throw new Error(`no listener is provided for ${t}`);return this.eventListenersMap={...this.eventListenersMap,[t]:[...null!==(n=this.eventListenersMap[t])&&void 0!==n?n:[],e]},()=>this.unsubscribe(t,e)}subscribeToIntegration(t,e){this.integrationStateCallbacks[t]={...e}}unsubscribe(t,e){var n,i;if(this.assertEventType(t),"function"!=typeof e)throw new Error("listener is required for unsubscription");const r=(null!==(n=this.eventListenersMap[t])&&void 0!==n?n:[]).length;return this.eventListenersMap={...this.eventListenersMap,[t]:(null!==(i=this.eventListenersMap[t])&&void 0!==i?i:[]).filter((t=>t!==e))},r>this.eventListenersMap[t].length}assertEventType(t){if(!Object.values(i.SDK_EVENT).includes(t))throw new Error(`${t} is not valid paragon event`)}emitSafe(t){for(var e=arguments.length,n=new Array(e>1?e-1:0),i=1;i<e;i++)n[i-1]=arguments[i];var r;(null!==(r=this.eventListenersMap[t])&&void 0!==r?r:[]).forEach((t=>{try{t(...n)}catch(t){console.error(t)}}))}emitError(t,e){this.invokeCallbackSafe(e,"onError",t)}invokeCallbackSafe(t,e){var n,i,r;try{for(var o=arguments.length,s=new Array(o>2?o-2:0),a=2;a<o;a++)s[a-2]=arguments[a];null===(i=null===(n=this.integrationStateCallbacks[t])||void 0===n?void 0:n[e])||void 0===i||i.call(n,...s)}catch(t){console.error(t)}finally{null===(r=this.integrationStateCallbacks[t])||void 0===r||delete r[e]}}triggerEvent(t,e){let{type:n,integrationId:r,integrationType:o,workflowId:s,workflowStateChange:a}=t;if(r&&o)switch(n){case i.SDK_EVENT.ON_INTEGRATION_INSTALL:{const t=[{integrationId:r,integrationType:o},e];this.invokeCallbackSafe(o,"onInstall",...t),this.emitSafe(i.SDK_EVENT.ON_INTEGRATION_INSTALL,...t);break}case i.SDK_EVENT.ON_INTEGRATION_UNINSTALL:{const t=[{integrationId:r,integrationType:o},e];this.invokeCallbackSafe(o,"onUninstall",...t),this.emitSafe(i.SDK_EVENT.ON_INTEGRATION_UNINSTALL,...t);break}case i.SDK_EVENT.ON_PORTAL_OPEN:{const t=[{integrationId:r,integrationType:o},e];this.invokeCallbackSafe(o,"onOpen",...t),this.emitSafe(i.SDK_EVENT.ON_PORTAL_OPEN,...t);break}case i.SDK_EVENT.ON_PORTAL_CLOSE:{const t=[{integrationId:r,integrationType:o},e];this.invokeCallbackSafe(o,"onClose",...t),this.emitSafe(i.SDK_EVENT.ON_PORTAL_CLOSE,...t);break}case i.SDK_EVENT.ON_WORKFLOW_CHANGE:{const t=[{integrationId:r,workflowId:s,workflowStateChange:a||{}},e];this.invokeCallbackSafe(o,"onWorkflowChange",...t),this.emitSafe(i.SDK_EVENT.ON_WORKFLOW_CHANGE,...t);break}default:throw new Error(`${n} is not valid event.`)}}}},3931:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.PERSONA_META_HEADER=e.BYO_USER_PROFILE_ERROR_CODE=e.BYO_CREDENTIAL_VERIFICATION_ERROR=e.INSUFFICIENT_PERMISSION=e.ACTION_CUSTOM=void 0,e.ACTION_CUSTOM="custom",e.INSUFFICIENT_PERMISSION="7210",e.BYO_CREDENTIAL_VERIFICATION_ERROR="7003",e.BYO_USER_PROFILE_ERROR_CODE="0704",e.PERSONA_META_HEADER="X-Paragon-User-Metadata"},4059:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.CredentialStatus=void 0,function(t){t.PENDING="PENDING",t.INVALID="INVALID",t.VALID="VALID"}(e.CredentialStatus||(e.CredentialStatus={}))},745:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.AuthenticationScheme=void 0,function(t){t.BASIC="basic",t.OAUTH="oauth",t.OAUTH_CLIENT_CREDENTIAL="oauth_client_credential",t.SERVICE_ACCOUNT="service_account",t.OAUTH_APP="oauth_app",t.IMPERSONATED_APP="impersonated_app"}(e.AuthenticationScheme||(e.AuthenticationScheme={}))},1663:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.generateSlugForIntegration=void 0,e.generateSlugForIntegration=function(t){if(!t.name)return;return`custom.${t.name?t.name.replace(/[\W_]+/g,"").trim().toLowerCase():void 0}`}},7343:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.isCustomIntegrationTypeName=e.getIntegrationTypeName=void 0;const i=n(3931),r=n(1663);e.getIntegrationTypeName=function(t){if(t.type===i.ACTION_CUSTOM){if(t.customIntegration)return(0,r.generateSlugForIntegration)(t.customIntegration);throw new Error(`Custom integration details are missing from this integration: ${t.id}`)}return t.type},e.isCustomIntegrationTypeName=function(t){return t.startsWith("custom.")}},9845:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.MicrosoftPicker=void 0;const i=n(3821),r=n(7473);class o extends r.BaseFilePicker{constructor(t,e){super(t,e),this.options=t,this.connectSDKInstance=e,this.accessToken="",this.baseUrl=""}getInstance(){return null}open(){var t,e;return this.dependencyStatus===i.FilePickerStatus.LOADED&&(null===(e=(t=this.options).onOpen)||void 0===e||e.call(t),this.launchPicker(this.getPickerOptions()),!0)}async initPicker(t,e){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"https://alcdn.msauth.net/browser/2.19.0/js/msal-browser.min.js";var r;this.dependencyStatus=i.FilePickerStatus.LOADING;const{selectedCredentialId:o,...s}=t||{};this.initOptions=s;const a=await this.connectSDKInstance.getIntegrationAccount(e,{includeAccountAuth:!0,selectedCredentialId:o});return this.accessToken=a.accountAuth[(null===(r=i.AUTH_TOKEN_ALLOWED_INTEGRATIONS[e])||void 0===r?void 0:r.accessTokenPath)||""],this.baseUrl=this.getUrl(a,e),this.initialiseDependencyPromise(),this.injectScript(n),this.dependenciesPromise}onScriptLoaded(){this.dependencyStatus=i.FilePickerStatus.LOADED,this.dependenciesPromise.resolve(!0)}onScriptError(){this.dependencyStatus=i.FilePickerStatus.FAILED,this.dependenciesPromise.reject(new Error("Failed to load dependencies"))}combinePaths(){for(var t=arguments.length,e=new Array(t),n=0;n<t;n++)e[n]=arguments[n];return e.map((t=>t.replace(/^[/\\]+|[/\\]+$/g,""))).join("/").replace(/\\/g,"/")}async launchPicker(t){if(!this.accessToken)throw new Error("Access Token is not set! Please re-authenticate your account.");const e={sdk:"8.0",entry:t.entry,search:{enabled:!0},messaging:{origin:window.location.origin,channelId:`X-PARAGON-CHANNEL-${Date.now()}`},selection:{mode:this.options.allowMultiSelect?"multiple":"single"},typesAndSources:{mode:"boolean"==typeof this.options.allowFolderSelect?this.options.allowFolderSelect?"folders":"files":"all",filters:this.options.allowedTypes,pivots:t.pivots}},n=new URLSearchParams({filePicker:JSON.stringify(e)}).toString(),i=`${this.getPickerUrl(this.baseUrl)}?${n}`,r=window.open("","Picker","width=800,height=600,left=100,top=150");if(!r)throw new Error("Failed to open picker window.");const o=r.document.createElement("form");o.setAttribute("action",i),o.setAttribute("method","POST");const s=r.document.createElement("input");s.setAttribute("type","hidden"),s.setAttribute("name","access_token"),s.setAttribute("value",this.accessToken),o.appendChild(s),r.document.body.appendChild(o),o.submit(),this.setupMessageListener(r,e.messaging.channelId)}initializePort(t,e){t.addEventListener("message",(async n=>{const{type:i,data:r,id:o}=n.data;if("command"===i){const{command:n}=r;this.handlePickerCommand({command:n,id:o,items:r.items},e,t)}})),t.start(),t.postMessage({type:"activate"})}setupMessageListener(t,e){window.addEventListener("message",(n=>{var i;if(n.source===t&&(null===(i=n.data)||void 0===i?void 0:i.channelId)===e){const{type:e,data:i}=n.data;switch(e){case"initialize":const r=n.ports[0];this.initializePort(r,t);break;case"command":this.handlePickerCommand(i,t);break;default:console.warn("Unknown message type:",e)}}}))}handlePickerCommand(t,e,n){var i,r,o,s,a,l;const{command:d,id:c,items:u}=t;switch(d){case"close":null===(r=(i=this.options).onClose)||void 0===r||r.call(i),e.close();break;case"pick":null==n||n.postMessage({type:"result",id:c,data:{result:"success"}}),null===(s=(o=this.options).onFileSelect)||void 0===s||s.call(o,u),null===(l=(a=this.options).onClose)||void 0===l||l.call(a),e.close();break;default:null==n||n.postMessage({type:"error",id:c,data:{message:"Unsupported command",command:d}})}}}e.MicrosoftPicker=o},9008:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.BoxFilePicker=void 0;const i=n(3821),r=n(7473),o={version:"21.0.0",scriptUrl:"https://cdn01.boxcdn.net/platform/elements/21.0.0/en-US/picker.js",cssUrl:"https://cdn01.boxcdn.net/platform/elements/21.0.0/en-US/picker.css",containerClass:"picker",containerStyles:{position:"fixed",top:"50%",left:"50%",transform:"translate(-50%, -50%)",width:"100%",height:"80%",zIndex:"2147483647",display:"flex",alignItems:"center",justifyContent:"center"},pickerOptions:{maxSelectable:1,canUpload:!0,canCreateNewFolder:!0,canSetShareAccess:!0,canDownload:!0,canDelete:!1,canRename:!1,canPreview:!0,canComment:!1,canShare:!0,canMove:!1,canCopy:!0}};class s extends r.BaseFilePicker{constructor(t,e){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};super(t,e),this.accessToken="",this.config={...o,...n}}getInstance(){var t,e;if(!this.instance){const n=window;if(!this.options.allowFolderSelect&&!(null===(t=n.Box)||void 0===t?void 0:t.FilePicker)||this.options.allowFolderSelect&&!(null===(e=n.Box)||void 0===e?void 0:e.FolderPicker))throw new Error("Box script is not loaded yet. Please wait for initialization to complete.");const i=new n.Box[this.options.allowFolderSelect?"FolderPicker":"FilePicker"]({container:`.${this.config.containerClass}`});if(!i)throw new Error(`Failed to create Box ${this.options.allowFolderSelect?"Folder":"File"}Picker instance`);this.instance=i,this.setupEventListeners()}return this.instance}setupEventListeners(){var t=this;if(!this.instance)return;const e={choose:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];var n,i;null===(i=(n=t.options).onFileSelect)||void 0===i||i.call(n,e),t.cleanup()},cancel:()=>{var t,e;null===(e=(t=this.options).onCancel)||void 0===e||e.call(t),this.cleanup()},close:()=>{var t,e;null===(e=(t=this.options).onClose)||void 0===e||e.call(t),this.cleanup()}};Object.entries(e).forEach((t=>{let[e,n]=t;var i;null===(i=this.instance)||void 0===i||i.addListener(e,n)}))}cleanup(){var t;this.instance&&(this.instance.removeAllListeners(),null===(t=document.querySelector(`.${this.config.containerClass}`))||void 0===t||t.remove())}createPickerContainer(){if(document.querySelector(`.${this.config.containerClass}`))return;const t=document.createElement("div");t.className=this.config.containerClass,Object.entries(this.config.containerStyles).forEach((e=>{let[n,i]=e;t.style[n]=i})),document.body.appendChild(t)}injectCSS(t){const e=document.createElement("link");e.rel="stylesheet",e.href=t,document.head.appendChild(e)}injectGlobalBtnContentCSS(){if(document.getElementById("global-btn-content-style"))return;const t=document.createElement("style");t.id="global-btn-content-style",t.innerHTML="\n .btn-content {\n display: flex !important;\n justify-content: center !important;\n }\n ",document.head.appendChild(t)}open(){var t,e,n;if(this.dependencyStatus===i.FilePickerStatus.LOADED)try{this.instance=void 0;const i=this.getInstance();if(i){const r={...this.config.pickerOptions,container:`.${this.config.containerClass}`,maxSelectable:this.options.allowMultiSelect?void 0:1,extensions:this.options.allowedTypes,canSelectFolder:this.options.allowFolderSelect,...(null===(t=this.options.integrationOptions)||void 0===t?void 0:t.box)||{}};if(this.createPickerContainer(),this.initOptions.folderId)return i.show(this.initOptions.folderId,this.accessToken,r),null===(n=(e=this.options).onOpen)||void 0===n||n.call(e),!0}}catch(t){return!1}return!1}async init(t){this.dependencyStatus=i.FilePickerStatus.LOADING;const{selectedCredentialId:e,...n}=t||{};await this.validateInitOptions(n,[["folderId","Folder ID"]]),this.initOptions={...n};const r=await this.connectSDKInstance.getIntegrationAccount("box",{includeAccountAuth:!0,selectedCredentialId:e}),{accessTokenPath:o=""}=i.AUTH_TOKEN_ALLOWED_INTEGRATIONS.box;return this.accessToken=r.accountAuth[o],this.initialiseDependencyPromise(),this.injectCSS(this.config.cssUrl),this.injectGlobalBtnContentCSS(),this.injectScript(this.config.scriptUrl),this.dependenciesPromise}async launch(){this.dependencyStatus!==i.FilePickerStatus.LOADED&&await this.init(this.initOptions),this.open()}onScriptLoaded(){this.dependencyStatus=i.FilePickerStatus.LOADED,this.instance=void 0,this.dependenciesPromise.resolve(!0)}onScriptError(){this.dependencyStatus=i.FilePickerStatus.FAILED,this.dependenciesPromise.reject(new Error("Failed to load Box script"))}}e.BoxFilePicker=s},9950:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.GoogleDriveFilePicker=void 0;const i=n(3821),r=n(7473);class o extends r.BaseFilePicker{constructor(t,e){super(t,e),this.accessToken=""}get google(){return window.google}getInstance(){var t;return null!==(t=this.instance)&&void 0!==t?t:null}open(){var t,e;return!(this.dependencyStatus!==i.FilePickerStatus.LOADED||!this.instance)&&(this.instance.setVisible(!0),null===(e=(t=this.options).onOpen)||void 0===e||e.call(t),!0)}async init(t){this.dependencyStatus=i.FilePickerStatus.LOADING;const{selectedCredentialId:e,...n}=t||{};await this.validateInitOptions(n,[["developerKey","developer key"]]),this.initOptions={...n};const r=await this.connectSDKInstance.getIntegrationAccount("googledrive",{includeAccountAuth:!0,selectedCredentialId:e}),{accessTokenPath:o=""}=i.AUTH_TOKEN_ALLOWED_INTEGRATIONS.googledrive;return this.accessToken=r.accountAuth[o],this.initialiseDependencyPromise(),this.injectScript("https://apis.google.com/js/api.js"),this.dependenciesPromise}onScriptLoaded(){this.dependencyStatus=i.FilePickerStatus.LOADED,window.gapi.load("picker",this.onPickerLoaded.bind(this))}onScriptError(){this.dependencyStatus=i.FilePickerStatus.FAILED,this.dependenciesPromise.reject(new Error("Not able to load dependencies"))}onPickerLoaded(){var t,e,n,i,r;const o=new this.google.picker.PickerBuilder,s=new this.google.picker.DocsView;if((null===(t=this.initOptions)||void 0===t?void 0:t.appId)&&o.setAppId(this.initOptions.appId),this.options.allowMultiSelect&&o.enableFeature(this.google.picker.Feature.MULTISELECT_ENABLED),this.options.allowFolderSelect&&(s.setIncludeFolders(!0),s.setSelectFolderEnabled(!0)),this.options.allowedTypes&&this.options.allowedTypes.length>0&&s.setMimeTypes(this.options.allowedTypes.join(",")),(null===(n=null===(e=this.options.integrationOptions)||void 0===e?void 0:e.googledrive)||void 0===n?void 0:n.viewMode)&&s.setMode(this.options.integrationOptions.googledrive.viewMode),(null===(r=null===(i=this.options.integrationOptions)||void 0===i?void 0:i.googledrive)||void 0===r?void 0:r.includeFolders)&&s.setIncludeFolders(!0),!this.initOptions.developerKey)throw new Error("Please provide a valid developer key");const a=o.addView(s).setOAuthToken(this.accessToken).setDeveloperKey(this.initOptions.developerKey).setCallback(this.pickerCallback.bind(this));this.initOptions.appId&&a.setAppId(this.initOptions.appId),this.instance=a.build(),this.dependenciesPromise.resolve(!0)}pickerCallback(t){var e,n,i,r,o,s;const{action:a,...l}=t;switch(a){case this.google.picker.Action.PICKED:null===(n=(e=this.options).onFileSelect)||void 0===n||n.call(e,l),null===(r=(i=this.options).onClose)||void 0===r||r.call(i);break;case this.google.picker.Action.CANCEL:null===(s=(o=this.options).onCancel)||void 0===s||s.call(o)}}}e.GoogleDriveFilePicker=o},1698:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});const i=n(9008),r=n(9950),o=n(6128),s=n(8737);e.default={BoxFilePicker:i.BoxFilePicker,GoogleDriveFilePicker:r.GoogleDriveFilePicker,OneDriveFilePicker:o.OneDriveFilePicker,SharepointFilePicker:s.SharepointFilePicker}},6128:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.OneDriveFilePicker=void 0;const i=n(3821),r=n(9845);class o extends r.MicrosoftPicker{constructor(){super(...arguments),this.integrationName="onedrive",this.personalAccountUrl="https://onedrive.live.com"}async init(t){return super.initPicker(t,this.integrationName)}getPickerUrl(t){return t?t.includes(this.personalAccountUrl)?`${t}/picker`:this.combinePaths(t,"_layouts/15/FilePicker.aspx"):`${this.personalAccountUrl}/picker`}getIntegrationName(){return this.integrationName}getUrl(t,e){return t.accountAuth[i.AUTH_TOKEN_ALLOWED_INTEGRATIONS[e].domain||""]}getPickerOptions(){return{entry:{oneDrive:{files:{fallbackToRoot:!0}}},pivots:{oneDrive:!0,recent:!0,shared:!0}}}}e.OneDriveFilePicker=o},8737:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.SharepointFilePicker=void 0;const i=n(8321),r=n(9845);class o extends r.MicrosoftPicker{constructor(){super(...arguments),this.integrationName="sharepoint"}async init(t){return super.initPicker(t,this.integrationName)}getIntegrationName(){return this.integrationName}getPickerUrl(t){return this.combinePaths(t,"_layouts/15/FilePicker.aspx")}getUrl(t){var e;return(0,i.sanitizeUrl)(null===(e=t.providerData)||void 0===e?void 0:e.webUrl)}getPickerOptions(){return{entry:{sharePoint:{byPath:{list:`${this.baseUrl}/Shared Documents`,fallbackToRoot:!0}}},pivots:{shared:!0,oneDrive:!1,sharedLibraries:!0,site:!0}}}}e.SharepointFilePicker=o},7473:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.BaseFilePicker=void 0;const i=n(2643),r=n(572);e.BaseFilePicker=class{constructor(t,e){this.options=t,this.connectSDKInstance=e}initialiseDependencyPromise(){this.dependenciesPromise=new r.DeferredPromise}getInstance(){return this.instance}injectScript(t){if(this.checkIfScriptLoaded(t))this.onScriptLoaded();else{const e=document.createElement("script");e.src=t,e.async=!0,e.id=t,e.onload=this.onScriptLoaded.bind(this),e.onerror=this.onScriptError.bind(this),document.body.appendChild(e)}}checkIfScriptLoaded(t){const e=document.getElementsByTagName("script");for(let n=0;n<e.length;n++)if(e[n].getAttribute("src")==t)return!0;return!1}async validateInitOptions(t,e){for(const[n,r]of e)if(!t||(0,i.isStringEmpty)(t[n]))throw new Error(`Please provide a valid ${r}`);return!0}}},4731:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.buildExternalFilePickerInstance=void 0;const i=n(655).__importDefault(n(1698));class r{constructor(t,e,n){const i=this.createFilePicker(t,e,n);this.open=this.open.bind(i),this.init=this.init.bind(i),this.getInstance=this.getInstance.bind(i)}createFilePicker(t,e,n){const r={box:i.default.BoxFilePicker,googledrive:i.default.GoogleDriveFilePicker,onedrive:i.default.OneDriveFilePicker,sharepoint:i.default.SharepointFilePicker}[t];if(!r)throw new Error(`${t}'s file picker is not supported`);return new r(e,n)}open(){return this.open()}init(t){return this.init(t)}getInstance(){return this.getInstance()}}e.default=r;e.buildExternalFilePickerInstance=t=>function(e,n){if(!t.getUser().authenticated)throw new Error("Authentication is required");if(!e)throw new Error("Missing argument: Integration type is required");return t.validateAction(e),new r(e,n,t)}},7050:function(t,e,n){"use strict";var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.buildExternalFilePickerInstance=e.ExternalFilePicker=void 0;var r=n(4731);Object.defineProperty(e,"ExternalFilePicker",{enumerable:!0,get:function(){return i(r).default}}),Object.defineProperty(e,"buildExternalFilePickerInstance",{enumerable:!0,get:function(){return r.buildExternalFilePickerInstance}})},2643:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.findSelectedAccountType=e.isStringEmpty=e.getActionStateForCredentialDelete=e.stripUndefinedAndNull=e.parseKeyedSource=void 0;const i=n(4059);e.parseKeyedSource=function(t){return t&&(null==t?void 0:t.length)?Object.fromEntries(t.map((t=>[t.key,"VALUE"===t.source.type?t.source.value:void 0]))):{}},e.stripUndefinedAndNull=function t(e){const n={};return Object.keys(e).forEach((i=>{var r;(r=e[i])&&"object"==typeof r&&!Array.isArray(r)?n[i]=t(e[i]):void 0!==e[i]&&null!==e[i]&&(n[i]=e[i])})),n};e.getActionStateForCredentialDelete=(t,e)=>{var n,r;const o=(null!==(n=null==e?void 0:e.allCredentials)&&void 0!==n?n:[]).filter((e=>e.id!==t)),s=(null!==(r=null==e?void 0:e.allConfigurations)&&void 0!==r?r:[]).filter((e=>e.connectCredentialId!==t));if(0===o.length)return{enabled:!1,workflowSettings:{},allCredentials:[],allConfigurations:[]};{const t=o[0];return{...e,credentialStatus:t.status,enabled:t.status===i.CredentialStatus.VALID,credentialId:t.id,providerId:t.providerId,providerData:t.providerData,allCredentials:o,allConfigurations:s}}};e.isStringEmpty=t=>!t||"string"==typeof t&&!t.trim();e.findSelectedAccountType=function(t,e){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];if(e)return t.find((t=>{let{id:n}=t;return n===e}));if(1===n.length)return t.find((t=>{let{id:e}=t;return n.includes(e)}));if(!e&&!n.length&&Array.isArray(t)&&2===t.length){const[e,n]=t;return"default"===e.id&&"user-configured-oauth"===n.id?e:void 0}}},4429:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.startOAuthFlow=e.MAX_POLL_DURATION=e.CREDENTIAL_POLL_INTERVAL=void 0;const i=n(3931),r=n(7343),o=n(1935),s=n(2643);e.CREDENTIAL_POLL_INTERVAL=3e3,e.MAX_POLL_DURATION=6e4;e.startOAuthFlow=(t,e)=>{let{context:n,integration:a,endUserSuppliedValues:l={},authParams:d,isPreviewMode:c=!1,installOptions:u={}}=t;var h;const p=(0,r.getIntegrationTypeName)(a);if(!p)return;const g=d?(0,s.parseKeyedSource)(d):{};if(!n.user.authenticated)throw new o.UserNotAuthenticatedError;const f=window.open(`${n.environments.ZEUS_PUBLIC_URL}/projects/${n.projectId}/sdk/actions/oauth-nonce?action=${p}&integrationId=${a.id}&userToken=${n.user.token}`,"authPopup","width=600,height=700"),E=(0,s.stripUndefinedAndNull)({action:p&&(0,r.isCustomIntegrationTypeName)(p)?i.ACTION_CUSTOM:p,endUserSuppliedValues:JSON.stringify(l),parameters:JSON.stringify(g),userToken:n.user.token,integrationId:a.id,redirectUrl:null===(h=n.endUserIntegrationConfig)||void 0===h?void 0:h.overrideRedirectUrl,originForPostMessage:window.location.origin,isPreviewMode:c,installOptions:JSON.stringify(u),oauthMetaKeyId:e});return fetch(`${n.environments.ZEUS_PUBLIC_URL}/v2/projects/${n.projectId}/sdk/actions/build-oauth?${new URLSearchParams(E).toString()}`,{method:"GET",headers:{"Content-Type":"application/json",Authorization:`Bearer ${n.user.token}`}}).then((t=>t.json())).then((t=>{if(!f)throw new o.OAuthBlockedError;f.location.href=t.redirectUrl})).catch((t=>{console.error("Error:",t)})),f}},2992:(t,e)=>{"use strict";var n,i,r;Object.defineProperty(e,"__esModule",{value:!0}),e.AUTH_TOKEN_ALLOWED_INTEGRATIONS=e.overrideActionAlias=e.TokenType=e.VariableInputType=e.SidebarInputType=void 0,function(t){t.Auth="AUTH",t.Enum="ENUM",t.DynamicEnum="DYNAMIC_ENUM",t.Intent="INTENT",t.Text="TEXT",t.TextArea="TEXTAREA",t.ValueText="TEXT_NO_VARS",t.ValueTextArea="TEXTAREA_NO_VARS",t.Code="CODE",t.ActionButton="ACTION_BUTTON",t.Conditional="CONDITIONAL",t.CustomDropdown="CUSTOM_DROPDOWN",t.DynamicConditional="DYNAMIC_CONDITIONAL",t.NestedList="NESTED_LIST",t.File="FILE",t.EditableDynamicEnum="EDITABLE_DYNAMIC_ENUM",t.EditableEnum="EDITABLE_ENUM",t.BooleanInput="BOOLEAN_INPUT",t.UserSuppliedCredential="USER_SUPPLIED_CREDENTIAL",t.NativeDynamicEnumInput="NATIVE_DYNAMIC_INPUT",t.TimeConstraintInput="TIME_CONSTRAINT_INPUT",t.LinesListInput="LinesListInput",t.LinesListDynamicInput="LinesListDynamicInput",t.Number="NUMBER",t.Email="EMAIL",t.URL="URL",t.EnumTextAreaPairInput="EnumTextAreaPairInput",t.FieldMapper="FIELD_MAPPER",t.ComboInput="COMBO_INPUT",t.Password="PASSWORD",t.Switch="SWITCH",t.DynamicComboInput="DYNAMIC_COMBO_INPUT",t.CopyableButtonInput="COPYABLE_BUTTON_INPUT",t.Permission="PERMISSION"}(e.SidebarInputType||(e.SidebarInputType={})),function(t){t.MultiSelect="multi",t.String="string",t.Dropdown="dropdown",t.MultiSelectCheckbox="multiCheckbox",t.Number="number"}(e.VariableInputType||(e.VariableInputType={})),function(t){t.ACCESS_TOKEN="ACCESS_TOKEN",t.REFRESH_TOKEN="REFRESH_TOKEN",t.BOT_TOKEN="BOT_TOKEN",t.KLAVIYO_API_KEY="KLAVIYO_API_KEY",t.MARKETO_CLIENT_ID="MARKETO_CLIENT_ID",t.MARKETO_CLIENT_SECRET="MARKETO_CLIENT_SECRETI",t.MARKETO_ENDPOINT="MARKETO_ENDPOINT",t.MARKETO_IDENTITY="MARKETO_IDENTITY",t.MONDAY_API_TOKEN="MONDAY_API_TOKEN",t.ORACLE_CLOUD_URL="ORACLE_CLOUD_URL",t.ORACLE_PASSWORD="ORACLE_PASSWORD",t.ORACLE_USERNAME="ORACLE_USERNAME",t.SAGE_INTACCT_COMPANY_ID="SAGE_INTACCT_COMPANY_ID",t.SAGE_INTACCT_USER_ID="SAGE_INTACCT_USER_ID",t.SAGE_INTACCT_USER_PASSWORD="SAGE_INTACCT_USER_PASSWORD",t.SAILTHRU_COMPANY_KEY="SAILTHRU_COMPANY_KEY",t.SAILTHRU_COMPANY_SECRET="SAILTHRU_COMPANY_SECRET",t.SERVICENOW_PASSWORD="SERVICENOW_PASSWORD",t.SERVICENOW_SUBDOMAIN="SERVICENOW_SUBDOMAIN",t.SERVICENOW_USERNAME="SERVICENOW_USERNAME",t.TABLEAU_PERSONAL_ACCESS_TOKEN_NAME="TABLEAU_PERSONAL_ACCESS_TOKEN_NAME",t.TABLEAU_PERSONAL_ACCESS_TOKEN_SECRET="TABLEAU_PERSONAL_ACCESS_TOKEN_SECRET",t.TABLEAU_SERVER_NAME="TABLEAU_SERVER_NAME",t.TABLEAU_SITE_ID="TABLEAU_SITE_ID",t.TRELLO_API_KEY="TRELLO_API_KEY",t.TRELLO_API_TOKEN="TRELLO_API_TOKEN",t.WOOCOMMERCE_CONSUMER_KEY="WOOCOMMERCE_CONSUMER_KEY",t.WOOCOMMERCE_CONSUMER_SECRET="WOOCOMMERCE_CONSUMER_SECRET",t.WOOCOMMERCE_STORE_DOMAIN="WOOCOMMERCE_STORE_DOMAIN",t.WORKABLE_API_ACCESS_TOKEN="WORKABLE_API_ACCESS_TOKEN",t.WORKABLE_ACCOUNT_SUBDOMAIN="WORKABLE_ACCOUNT_SUBDOMAIN",t.ZOHO_CRM_ACCOUNTS_SERVER="ZOHO_CRM_ACCOUNTS_SERVER",t.ZOHO_CRM_API_DOMAIN="ZOHO_CRM_API_DOMAIN"}(e.TokenType||(e.TokenType={})),function(t){t.INFO="INFO",t.ERROR="ERROR",t.SUCCESS="SUCCESS"}(n||(n={})),function(t){t.NONE="NONE",t.RE_AUTHENTICATE="RE_AUTHENTICATE",t.ALERT="ALERT",t.DISPATCH="DISPATCH"}(i||(i={})),function(t){t.DYNAMIC="DYNAMIC_DATA_SOURCE",t.STATIC_ENUM="STATIC_ENUM_DATA_SOURCE",t.FIELD_MAPPER="FIELD_MAPPER_DATA_SOURCE",t.COMBO_INPUT="COMBO_INPUT_DATA_SOURCE",t.DYNAMIC_COMBO_INPUT="DYNAMIC_COMBO_INPUT_DATA_SOURCE"}(r||(r={})),e.overrideActionAlias={"monday.com":"monday","wordpress.com":"wordpress"},e.AUTH_TOKEN_ALLOWED_INTEGRATIONS={box:{accessTokenPath:"OAUTH_ACCESS_TOKEN"},googledrive:{accessTokenPath:"OAUTH_ACCESS_TOKEN"},onedrive:{accessTokenPath:"OAUTH_ACCESS_TOKEN",domain:"DOMAIN"},sharepoint:{accessTokenPath:"OAUTH_ACCESS_TOKEN"}}},9034:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.CONNECT_PLAN_FEATURE_MAP=void 0;const i=n(471);e.CONNECT_PLAN_FEATURE_MAP={[i.BillingPlan.ConnectBasic]:[],[i.BillingPlan.ConnectPro]:[i.ConnectAddOn.CustomIntegrationBuilder,i.ConnectAddOn.HeadlessConnectPortal,i.ConnectAddOn.Monitoring,i.ConnectAddOn.UserMetadata,i.ConnectAddOn.WhiteLabeling],[i.BillingPlan.ConnectEnterprise]:[i.ConnectAddOn.CustomIntegrationBuilder,i.ConnectAddOn.DynamicFieldMapper,i.ConnectAddOn.HeadlessConnectPortal,i.ConnectAddOn.TaskHistoryAPI,i.ConnectAddOn.Monitoring,i.ConnectAddOn.RoleBasedAccessControl,i.ConnectAddOn.UserMetadata,i.ConnectAddOn.WhiteLabeling,i.ConnectAddOn.WorkflowPermission]}},1935:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.SELECTED_CREDENTIAL_CONFIG_ID_HEADER=e.SELECTED_CREDENTIAL_ID_HEADER=e.INFER_CONTENT_TYPE_FROM_CONNECT_OPTIONS=e.CredentialStatus=void 0;const i=n(655),r=n(2992);var o=n(4059);Object.defineProperty(e,"CredentialStatus",{enumerable:!0,get:function(){return o.CredentialStatus}}),i.__exportStar(n(2460),e);r.SidebarInputType.ValueText,r.SidebarInputType.DynamicEnum,r.SidebarInputType.Enum,r.SidebarInputType.Number,r.SidebarInputType.Email,r.SidebarInputType.URL,r.SidebarInputType.FieldMapper,r.SidebarInputType.BooleanInput,r.SidebarInputType.ComboInput,r.SidebarInputType.Password,r.SidebarInputType.Switch,r.SidebarInputType.ValueTextArea,r.SidebarInputType.CustomDropdown,r.SidebarInputType.DynamicComboInput,r.SidebarInputType.FieldMapper,r.SidebarInputType.CopyableButtonInput,r.SidebarInputType.Permission,r.SidebarInputType.File;e.INFER_CONTENT_TYPE_FROM_CONNECT_OPTIONS="auto",e.SELECTED_CREDENTIAL_ID_HEADER="X-Paragon-Credential",e.SELECTED_CREDENTIAL_CONFIG_ID_HEADER="X-Paragon-Configuration-Id"},9977:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0})},914:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.PLATFORM_ENV=e.NODE_ENV=void 0,function(t){t.PRODUCTION="production",t.DEVELOPMENT="development",t.TEST="test"}(e.NODE_ENV||(e.NODE_ENV={})),function(t){t.PRODUCTION="production",t.PRODUCTION_MIRROR_1="p-m1",t.STAGING="staging",t.STAGING_MIRROR_1="s-m1",t.DEVELOPMENT="dev",t.TEST="test",t.SANDBOX="sandbox",t.RELEASE="release",t.ENTERPRISE="enterprise"}(e.PLATFORM_ENV||(e.PLATFORM_ENV={}))},2460:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.getConnectSDKError=e.OAuthTimeoutError=e.OAuthBlockedError=e.HeadlessModeNotEnabledError=e.IntegrationNotInstalledError=e.IntegrationNotFoundError=e.NoActiveInstallFlowError=e.UserNotAuthenticatedError=e.BaseSDKError=void 0;class n extends Error{constructor(t){super(t.message),this.name=t.name,this.meta="meta"in t?t.meta:null}}e.BaseSDKError=n;e.UserNotAuthenticatedError=class extends n{constructor(){super({name:"UserNotAuthenticatedError",message:"User not authenticated, Call paragon.authenticate(<projectId>, <user token>) before using the SDK."})}};e.NoActiveInstallFlowError=class extends n{constructor(){super({name:"NoActiveInstallFlowError",message:"No active install flow, make sure you call installFlow.start(<integrationName>, ...args) before calling any other method"})}};e.IntegrationNotFoundError=class extends n{constructor(t){super({name:"IntegrationNotFoundError",message:`Integration with name ${t} not found`,meta:{integrationName:t}})}};e.IntegrationNotInstalledError=class extends n{constructor(t){super({name:"IntegrationNotInstalledError",message:`Integration "${t}" is not installed.`,meta:{integrationName:t}}),this.integrationName=t}};e.HeadlessModeNotEnabledError=class extends n{constructor(){super({name:"HeadlessModeNotEnabledError",message:"Headless mode is not enabled. Make sure you call `paragon.setHeadless(true)` as early as possible in your code."})}};e.OAuthBlockedError=class extends n{constructor(){super({name:"OAuthBlockedError",message:"Popup was blocked by the browser."})}};e.OAuthTimeoutError=class extends n{constructor(){super({name:"OAuthTimeoutError",message:"OAuth timeout"})}},e.getConnectSDKError=function(t){return t instanceof n?{name:t.name,message:t.message,meta:t.meta}:{name:"UnknownError",message:t instanceof Error?t.message:"An unknown error occurred",originalError:t}}},8065:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0})},3821:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});const i=n(655);i.__exportStar(n(2992),e),i.__exportStar(n(9034),e),i.__exportStar(n(1935),e),i.__exportStar(n(9977),e),i.__exportStar(n(914),e),i.__exportStar(n(8065),e),i.__exportStar(n(9835),e),i.__exportStar(n(7750),e),i.__exportStar(n(471),e)},9835:(t,e)=>{"use strict";var n;Object.defineProperty(e,"__esModule",{value:!0}),e.DataType=void 0,function(t){t.STRING="STRING",t.NUMBER="NUMBER",t.DATE="DATE",t.BOOLEAN="BOOLEAN",t.EMAIL="EMAIL",t.OBJECT="OBJECT",t.ARRAY="ARRAY",t.ANY="ANY",t.FILE="FILE",t.NON_DECIMAL="NON_DECIMAL"}(e.DataType||(e.DataType={})),function(t){t.None="$none",t.StringContains="$stringContains",t.StringDoesNotContain="$stringDoesNotContain",t.StringExactlyMatches="$stringExactlyMatches",t.StringDoesNotExactlyMatch="$stringDoesNotExactlyMatch",t.StringIsIn="$stringIsIn",t.StringIsNotIn="$stringIsNotIn",t.StringStartsWith="$stringStartsWith",t.StringDoesNotStartWith="$stringDoesNotStartWith",t.StringEndsWith="$stringEndsWith",t.StringDoesNotEndWith="$stringDoesNotEndWith",t.NumberGreaterThan="$numberGreaterThan",t.NumberLessThan="$numberLessThan",t.NumberEquals="$numberEquals",t.NumberDoesNotEqual="$numberDoesNotEqual",t.NumberLessThanOrEqualTo="$numberLessThanOrEqualTo",t.NumberGreaterThanOrEqualTo="$numberGreaterThanOrEqualTo",t.DateTimeAfter="$dateTimeAfter",t.DateTimeBefore="$dateTimeBefore",t.DateTimeEquals="$dateTimeEquals",t.BooleanTrue="$booleanTrue",t.BooleanFalse="$booleanFalse",t.IsNotNull="$exists",t.IsNull="$doesNotExist",t.Exists="$isNotUndefinedOrNull",t.DoesNotExist="$isUndefinedOrNull",t.ArrayIsIn="$arrayIsIn",t.ArrayIsNotIn="$arrayIsNotIn",t.ArrayIsEmpty="$arrayIsEmpty",t.ArrayIsNotEmpty="$arrayIsNotEmpty",t.StringGreaterThan="$stringGreaterThan",t.StringLessThan="$stringLessThan"}(n||(n={}))},7750:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.FilePickerStatus=e.DocumentLoadingState=e.SDK_EVENT=e.ModalView=e.DynamicFieldMappingLoaderType=void 0,function(t){t.OBJECT_TYPES="objectTypes",t.INTEGRATION_FIELDS="integrationFields"}(e.DynamicFieldMappingLoaderType||(e.DynamicFieldMappingLoaderType={})),function(t){t.OVERVIEW="overview",t.CONFIGURATION="configuration"}(e.ModalView||(e.ModalView={})),function(t){t.ON_INTEGRATION_INSTALL="onIntegrationInstall",t.ON_INTEGRATION_UNINSTALL="onIntegrationUninstall",t.ON_WORKFLOW_CHANGE="onWorkflowChange",t.ON_PORTAL_OPEN="onPortalOpen",t.ON_PORTAL_CLOSE="onPortalClose"}(e.SDK_EVENT||(e.SDK_EVENT={})),function(t){t.LOADING="loading",t.INTERACTIVE="interactive",t.COMPLETE="complete"}(e.DocumentLoadingState||(e.DocumentLoadingState={})),function(t){t.LOADING="loading",t.FAILED="failed",t.LOADED="loaded"}(e.FilePickerStatus||(e.FilePickerStatus={}))},471:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ConnectAddOn=e.BillingPlan=void 0,function(t){t.ClassicFree="free",t.ClassicStarter="starter",t.ClassicBusiness="business",t.ClassicPremium="premium",t.ClassicEnterprise="enterprise",t.ConnectTrial="connect_trial",t.ConnectBasic="basic",t.ConnectPro="pro",t.ConnectEnterprise="connect_enterprise"}(e.BillingPlan||(e.BillingPlan={})),function(t){t.CustomIntegrationBuilder="byo",t.DynamicFieldMapper="dfm",t.HeadlessConnectPortal="headless-cp",t.TaskHistoryAPI="th-api",t.Monitoring="monitoring",t.RoleBasedAccessControl="rbac",t.UserMetadata="user-metadata",t.WhiteLabeling="whitelabel",t.WorkflowPermission="workflow-permissions"}(e.ConnectAddOn||(e.ConnectAddOn={}))},3158:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.getHeadersForUserMeta=e.sanitizeExternalConfigId=e.getAssetUrl=void 0;const i=n(3931),r=n(3821);e.getAssetUrl=t=>{let{CDN_PUBLIC_URL:e,DASHBOARD_PUBLIC_URL:n,VERSION:i,PLATFORM_ENV:o,NODE_ENV:s}=t;return e&&s===r.NODE_ENV.PRODUCTION&&o!==r.PLATFORM_ENV.ENTERPRISE?`${e}/${i}/dashboard/public`:n},e.sanitizeExternalConfigId=function(t){if(t.startsWith("ext:")){return(t.split("ext:").pop()||"").trim()}return t.trim()};e.getHeadersForUserMeta=t=>({...t?{[i.PERSONA_META_HEADER]:JSON.stringify(t)}:{}})},4846:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.hash=void 0;const i=n(3715);e.hash=function(t){return null==t?t:(0,i.sha256)().update(t).digest("hex").substr(0,10)}},572:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.tryUntil=e.isUUID=e.uuidPattern=e.sleep=e.generateMatrix=e.DeferredPromise=void 0;function n(t){return new Promise((e=>setTimeout(e,t)))}e.DeferredPromise=class{get state(){return this._state}constructor(){this._state="pending",this._promise=new Promise(((t,e)=>{this._resolve=t,this._reject=e}))}then(t,e){return this._promise.then(t,e)}catch(t){return this._promise.catch(t)}resolve(t){this._resolve(t),this._state="fulfilled"}reject(t){this._reject(t),this._state="rejected"}finally(t){return null==t||t(),this._promise}},Symbol.toStringTag,e.generateMatrix=function(t,e){const n=Object.keys(t);if(n.reduce(((e,n)=>e+t[n].length),0)&&n.length)for(const e of n)t[e].length||t[e].push(void 0);const i=Object.entries(t).reduce(((t,e)=>{let[,n]=e;return t.length?t.reduce(((t,e)=>(n.forEach((n=>{const i=e.slice();i.push(n),t.push(i)}),[]),t)),[]):n.map((t=>[t]))}),[]).reduce(((t,e)=>{const i=e.reduce(((t,e,i)=>({...t,[n[i]]:e})),{});return[...t,i]}),[]);return e?i.slice(-1*e):i},e.sleep=n,e.uuidPattern=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-5][0-9a-f]{3}-[089ab][0-9a-f]{3}-[0-9a-f]{12}$/i,e.isUUID=function(t){return"string"==typeof t&&e.uuidPattern.test(t)},e.tryUntil=async function(t,e,i){let r=0,o=!0;for(;o;){r+=1;let s=null,a=null;try{s=await t()}catch(t){a=t}if(o=await e(s,a,r),!o){if(a)throw a;return s}{const t="number"==typeof i?i:i(r);await n(t)}}throw new Error("Method unable to run: invalid retries.")}},8321:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.errorMessageParser=e.isIntegrationError=e.ProxyRequestError=e.getErrorMessage=e.getServiceUrl=e.sanitizeUrl=e.isValidUrl=void 0;function n(t){return t?t.match(/^[a-zA-Z]+:\/\//)?t:`https://${t}`:t}function i(t){return Array.isArray(t)?t.flatMap((t=>[t,i(t.children||[])].flatMap((t=>"string"==typeof t?t:i(t))))).filter((t=>t)).join(", "):Object.values(t.constraints||{}).join(", ")}e.isValidUrl=t=>{const e=n(t);try{return new globalThis.URL(e),!0}catch(t){return!1}},e.sanitizeUrl=n,e.getServiceUrl=function(t,e){return`https://${t}${`.${e}`}`},e.getErrorMessage=async function(t,n){var r,o;const s=null===(r=t.headers)||void 0===r?void 0:r.get("content-type"),a=s&&s.includes("application/json")?await t.json():null;let l;return l=a&&(0,e.isIntegrationError)(a.meta)?JSON.stringify(a.meta):a&&"string"==typeof a.message?a.message:a&&400===t.status&&Array.isArray(a.message)?i(a.message):a?JSON.stringify(a):await(null===(o=t.text)||void 0===o?void 0:o.call(t)),n?{message:l,response:a||t}:l};class r extends Error{constructor(t,e){super(t),this.name="Error",this.response=e,Object.setPrototypeOf(this,r.prototype)}}e.ProxyRequestError=r;e.isIntegrationError=t=>!("object"!=typeof t||!t)&&t.isIntegrationError,e.errorMessageParser=function(t){t="string"==typeof t?t:t.message;try{const n=JSON.parse(t);return!!(0,e.isIntegrationError)(n)}catch(t){return!1}}},3035:(t,e,n)=>{"use strict";var i,r,o,s,a=n(4155);Object.defineProperty(e,"__esModule",{value:!0}),e.CacheThrottle=e.CacheMode=void 0;const l=n(655),d=n(572);var c,u,h;!function(t){t.Debounce="debounce",t.Throttle="throttle"}(c=e.CacheMode||(e.CacheMode={})),function(t){t.Closed="closed",t.Idle="idle",t.Processing="processing"}(u||(u={})),function(t){t[t.Get=0]="Get",t[t.Set=1]="Set",t[t.GetOrSet=2]="GetOrSet",t[t.Del=3]="Del",t[t.Do=4]="Do"}(h||(h={}));e.CacheThrottle=class{constructor(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};i.set(this,u.Idle),r.set(this,{}),o.set(this,void 0),s.set(this,[]),l.__classPrivateFieldSet(this,o,{mode:c.Debounce,ttl:0,...t},"f")}async get(t,e){const n=this.serializeKey(t),i=async()=>{const e=l.__classPrivateFieldGet(this,r,"f")[n],{mode:i,ttl:s,value:a}=null!=e?e:{};return!e||!s||i&&i!==c.Debounce||this.refreshTimeout(t,n,s),l.__classPrivateFieldGet(this,o,"f").clearPendingDeletes&&this.clearPendingDeletesOnKey(n,a),a};return e?i():this.enqueue(n,h.Get,i)}async set(t,e){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:l.__classPrivateFieldGet(this,o,"f").ttl,i=arguments.length>3?arguments[3]:void 0,s=arguments.length>4?arguments[4]:void 0;const a=this.serializeKey(t),d=async()=>{const s=l.__classPrivateFieldGet(this,r,"f")[a],d=!!s;return l.__classPrivateFieldGet(this,r,"f")[a]={...s,mode:i,ttl:n,value:e},d&&i===c.Throttle||this.refreshTimeout(t,a,n),l.__classPrivateFieldGet(this,o,"f").clearPendingDeletes&&this.clearPendingDeletesOnKey(a,e),e};return s?d():this.enqueue(a,h.Set,d)}async getOrSet(t,e){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:l.__classPrivateFieldGet(this,o,"f").ttl,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:l.__classPrivateFieldGet(this,o,"f").mode,s=arguments.length>4?arguments[4]:void 0;const a=this.serializeKey(t),d=async()=>{if(l.__classPrivateFieldGet(this,r,"f")[a])return l.__classPrivateFieldGet(this,r,"f")[a].value;const s=await e();return await this.set(t,s,n,i,!0),l.__classPrivateFieldGet(this,o,"f").clearPendingDeletes&&this.clearPendingDeletesOnKey(a,s),s};return s?d():this.enqueue(a,h.GetOrSet,d)}async del(t){let e=arguments.length>2?arguments[2]:void 0;const n=arguments.length>1&&void 0!==arguments[1]&&arguments[1]?t:this.serializeKey(t),i=async()=>{const t=l.__classPrivateFieldGet(this,r,"f")[n];let e;return(null==t?void 0:t.timeout)&&clearTimeout(t.timeout),t&&(e=t.value,delete l.__classPrivateFieldGet(this,r,"f")[n],await(async()=>{var t,n;return null===(n=(t=l.__classPrivateFieldGet(this,o,"f")).onDeregister)||void 0===n?void 0:n.call(t,e)})().catch((t=>{}))),e};return e?i():this.enqueue(n,h.Del,i)}keys(){return Object.keys(l.__classPrivateFieldGet(this,r,"f"))}async do(t,e){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:l.__classPrivateFieldGet(this,o,"f").ttl,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:l.__classPrivateFieldGet(this,o,"f").mode;const s=this.serializeKey(t);return this.enqueue(s,h.Do,(async()=>{if(l.__classPrivateFieldGet(this,r,"f")[s])return l.__classPrivateFieldGet(this,r,"f")[s].value;const o=await e();return await this.set(t,o,n,i,!0)}))}async close(){l.__classPrivateFieldSet(this,i,u.Closed,"f"),await Promise.all(Object.keys(l.__classPrivateFieldGet(this,r,"f")).map((t=>this.del(t,!0,!0))))}refreshTimeout(t,e,n){if(l.__classPrivateFieldGet(this,i,"f")===u.Closed)return;const o=l.__classPrivateFieldGet(this,r,"f")[e];return n&&void 0!==(null==o?void 0:o.timeout)&&clearTimeout(o.timeout),n?(o.timeout=setTimeout((()=>this.del(t)),n),o.timeout):void 0}clearPendingDeletesOnKey(t,e){l.__classPrivateFieldSet(this,s,l.__classPrivateFieldGet(this,s,"f").filter((n=>{let[i,r,o,s]=n;return t!==i||r!==h.Del||(s.resolve(e),!1)})),"f")}serializeKey(t){var e,n,i;return null!==(i=null===(n=(e=l.__classPrivateFieldGet(this,o,"f")).serializeKey)||void 0===n?void 0:n.call(e,t))&&void 0!==i?i:t}async enqueue(t,e,n){const r=new d.DeferredPromise;return l.__classPrivateFieldGet(this,s,"f").push([t,e,n,r]),l.__classPrivateFieldGet(this,i,"f")===u.Idle&&this.flush(),r}flush(){l.__classPrivateFieldSet(this,i,u.Processing,"f"),a.nextTick((async()=>{for(;l.__classPrivateFieldGet(this,s,"f").length&&l.__classPrivateFieldGet(this,i,"f")!==u.Closed;){const t=l.__classPrivateFieldGet(this,s,"f").shift();if(t){const[,,e,n]=t;try{const t=await e();n.resolve(t)}catch(t){n.reject(t)}}}l.__classPrivateFieldSet(this,i,u.Idle,"f")}))}},i=new WeakMap,r=new WeakMap,o=new WeakMap,s=new WeakMap},3715:(t,e,n)=>{var i=e;i.utils=n(6436),i.common=n(5772),i.sha=n(9041),i.ripemd=n(2949),i.hmac=n(2344),i.sha1=i.sha.sha1,i.sha256=i.sha.sha256,i.sha224=i.sha.sha224,i.sha384=i.sha.sha384,i.sha512=i.sha.sha512,i.ripemd160=i.ripemd.ripemd160},5772:(t,e,n)=>{"use strict";var i=n(6436),r=n(9746);function o(){this.pending=null,this.pendingTotal=0,this.blockSize=this.constructor.blockSize,this.outSize=this.constructor.outSize,this.hmacStrength=this.constructor.hmacStrength,this.padLength=this.constructor.padLength/8,this.endian="big",this._delta8=this.blockSize/8,this._delta32=this.blockSize/32}e.BlockHash=o,o.prototype.update=function(t,e){if(t=i.toArray(t,e),this.pending?this.pending=this.pending.concat(t):this.pending=t,this.pendingTotal+=t.length,this.pending.length>=this._delta8){var n=(t=this.pending).length%this._delta8;this.pending=t.slice(t.length-n,t.length),0===this.pending.length&&(this.pending=null),t=i.join32(t,0,t.length-n,this.endian);for(var r=0;r<t.length;r+=this._delta32)this._update(t,r,r+this._delta32)}return this},o.prototype.digest=function(t){return this.update(this._pad()),r(null===this.pending),this._digest(t)},o.prototype._pad=function(){var t=this.pendingTotal,e=this._delta8,n=e-(t+this.padLength)%e,i=new Array(n+this.padLength);i[0]=128;for(var r=1;r<n;r++)i[r]=0;if(t<<=3,"big"===this.endian){for(var o=8;o<this.padLength;o++)i[r++]=0;i[r++]=0,i[r++]=0,i[r++]=0,i[r++]=0,i[r++]=t>>>24&255,i[r++]=t>>>16&255,i[r++]=t>>>8&255,i[r++]=255&t}else for(i[r++]=255&t,i[r++]=t>>>8&255,i[r++]=t>>>16&255,i[r++]=t>>>24&255,i[r++]=0,i[r++]=0,i[r++]=0,i[r++]=0,o=8;o<this.padLength;o++)i[r++]=0;return i}},2344:(t,e,n)=>{"use strict";var i=n(6436),r=n(9746);function o(t,e,n){if(!(this instanceof o))return new o(t,e,n);this.Hash=t,this.blockSize=t.blockSize/8,this.outSize=t.outSize/8,this.inner=null,this.outer=null,this._init(i.toArray(e,n))}t.exports=o,o.prototype._init=function(t){t.length>this.blockSize&&(t=(new this.Hash).update(t).digest()),r(t.length<=this.blockSize);for(var e=t.length;e<this.blockSize;e++)t.push(0);for(e=0;e<t.length;e++)t[e]^=54;for(this.inner=(new this.Hash).update(t),e=0;e<t.length;e++)t[e]^=106;this.outer=(new this.Hash).update(t)},o.prototype.update=function(t,e){return this.inner.update(t,e),this},o.prototype.digest=function(t){return this.outer.update(this.inner.digest()),this.outer.digest(t)}},2949:(t,e,n)=>{"use strict";var i=n(6436),r=n(5772),o=i.rotl32,s=i.sum32,a=i.sum32_3,l=i.sum32_4,d=r.BlockHash;function c(){if(!(this instanceof c))return new c;d.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.endian="little"}function u(t,e,n,i){return t<=15?e^n^i:t<=31?e&n|~e&i:t<=47?(e|~n)^i:t<=63?e&i|n&~i:e^(n|~i)}function h(t){return t<=15?0:t<=31?1518500249:t<=47?1859775393:t<=63?2400959708:2840853838}function p(t){return t<=15?1352829926:t<=31?1548603684:t<=47?1836072691:t<=63?2053994217:0}i.inherits(c,d),e.ripemd160=c,c.blockSize=512,c.outSize=160,c.hmacStrength=192,c.padLength=64,c.prototype._update=function(t,e){for(var n=this.h[0],i=this.h[1],r=this.h[2],d=this.h[3],c=this.h[4],I=n,_=i,S=r,C=d,O=c,y=0;y<80;y++){var m=s(o(l(n,u(y,i,r,d),t[g[y]+e],h(y)),E[y]),c);n=c,c=d,d=o(r,10),r=i,i=m,m=s(o(l(I,u(79-y,_,S,C),t[f[y]+e],p(y)),v[y]),O),I=O,O=C,C=o(S,10),S=_,_=m}m=a(this.h[1],r,C),this.h[1]=a(this.h[2],d,O),this.h[2]=a(this.h[3],c,I),this.h[3]=a(this.h[4],n,_),this.h[4]=a(this.h[0],i,S),this.h[0]=m},c.prototype._digest=function(t){return"hex"===t?i.toHex32(this.h,"little"):i.split32(this.h,"little")};var g=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13],f=[5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11],E=[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6],v=[8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11]},9041:(t,e,n)=>{"use strict";e.sha1=n(4761),e.sha224=n(799),e.sha256=n(9344),e.sha384=n(772),e.sha512=n(5900)},4761:(t,e,n)=>{"use strict";var i=n(6436),r=n(5772),o=n(7038),s=i.rotl32,a=i.sum32,l=i.sum32_5,d=o.ft_1,c=r.BlockHash,u=[1518500249,1859775393,2400959708,3395469782];function h(){if(!(this instanceof h))return new h;c.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.W=new Array(80)}i.inherits(h,c),t.exports=h,h.blockSize=512,h.outSize=160,h.hmacStrength=80,h.padLength=64,h.prototype._update=function(t,e){for(var n=this.W,i=0;i<16;i++)n[i]=t[e+i];for(;i<n.length;i++)n[i]=s(n[i-3]^n[i-8]^n[i-14]^n[i-16],1);var r=this.h[0],o=this.h[1],c=this.h[2],h=this.h[3],p=this.h[4];for(i=0;i<n.length;i++){var g=~~(i/20),f=l(s(r,5),d(g,o,c,h),p,n[i],u[g]);p=h,h=c,c=s(o,30),o=r,r=f}this.h[0]=a(this.h[0],r),this.h[1]=a(this.h[1],o),this.h[2]=a(this.h[2],c),this.h[3]=a(this.h[3],h),this.h[4]=a(this.h[4],p)},h.prototype._digest=function(t){return"hex"===t?i.toHex32(this.h,"big"):i.split32(this.h,"big")}},799:(t,e,n)=>{"use strict";var i=n(6436),r=n(9344);function o(){if(!(this instanceof o))return new o;r.call(this),this.h=[3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428]}i.inherits(o,r),t.exports=o,o.blockSize=512,o.outSize=224,o.hmacStrength=192,o.padLength=64,o.prototype._digest=function(t){return"hex"===t?i.toHex32(this.h.slice(0,7),"big"):i.split32(this.h.slice(0,7),"big")}},9344:(t,e,n)=>{"use strict";var i=n(6436),r=n(5772),o=n(7038),s=n(9746),a=i.sum32,l=i.sum32_4,d=i.sum32_5,c=o.ch32,u=o.maj32,h=o.s0_256,p=o.s1_256,g=o.g0_256,f=o.g1_256,E=r.BlockHash,v=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298];function I(){if(!(this instanceof I))return new I;E.call(this),this.h=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225],this.k=v,this.W=new Array(64)}i.inherits(I,E),t.exports=I,I.blockSize=512,I.outSize=256,I.hmacStrength=192,I.padLength=64,I.prototype._update=function(t,e){for(var n=this.W,i=0;i<16;i++)n[i]=t[e+i];for(;i<n.length;i++)n[i]=l(f(n[i-2]),n[i-7],g(n[i-15]),n[i-16]);var r=this.h[0],o=this.h[1],E=this.h[2],v=this.h[3],I=this.h[4],_=this.h[5],S=this.h[6],C=this.h[7];for(s(this.k.length===n.length),i=0;i<n.length;i++){var O=d(C,p(I),c(I,_,S),this.k[i],n[i]),y=a(h(r),u(r,o,E));C=S,S=_,_=I,I=a(v,O),v=E,E=o,o=r,r=a(O,y)}this.h[0]=a(this.h[0],r),this.h[1]=a(this.h[1],o),this.h[2]=a(this.h[2],E),this.h[3]=a(this.h[3],v),this.h[4]=a(this.h[4],I),this.h[5]=a(this.h[5],_),this.h[6]=a(this.h[6],S),this.h[7]=a(this.h[7],C)},I.prototype._digest=function(t){return"hex"===t?i.toHex32(this.h,"big"):i.split32(this.h,"big")}},772:(t,e,n)=>{"use strict";var i=n(6436),r=n(5900);function o(){if(!(this instanceof o))return new o;r.call(this),this.h=[3418070365,3238371032,1654270250,914150663,2438529370,812702999,355462360,4144912697,1731405415,4290775857,2394180231,1750603025,3675008525,1694076839,1203062813,3204075428]}i.inherits(o,r),t.exports=o,o.blockSize=1024,o.outSize=384,o.hmacStrength=192,o.padLength=128,o.prototype._digest=function(t){return"hex"===t?i.toHex32(this.h.slice(0,12),"big"):i.split32(this.h.slice(0,12),"big")}},5900:(t,e,n)=>{"use strict";var i=n(6436),r=n(5772),o=n(9746),s=i.rotr64_hi,a=i.rotr64_lo,l=i.shr64_hi,d=i.shr64_lo,c=i.sum64,u=i.sum64_hi,h=i.sum64_lo,p=i.sum64_4_hi,g=i.sum64_4_lo,f=i.sum64_5_hi,E=i.sum64_5_lo,v=r.BlockHash,I=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591];function _(){if(!(this instanceof _))return new _;v.call(this),this.h=[1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209],this.k=I,this.W=new Array(160)}function S(t,e,n,i,r){var o=t&n^~t&r;return o<0&&(o+=4294967296),o}function C(t,e,n,i,r,o){var s=e&i^~e&o;return s<0&&(s+=4294967296),s}function O(t,e,n,i,r){var o=t&n^t&r^n&r;return o<0&&(o+=4294967296),o}function y(t,e,n,i,r,o){var s=e&i^e&o^i&o;return s<0&&(s+=4294967296),s}function m(t,e){var n=s(t,e,28)^s(e,t,2)^s(e,t,7);return n<0&&(n+=4294967296),n}function w(t,e){var n=a(t,e,28)^a(e,t,2)^a(e,t,7);return n<0&&(n+=4294967296),n}function T(t,e){var n=s(t,e,14)^s(t,e,18)^s(e,t,9);return n<0&&(n+=4294967296),n}function A(t,e){var n=a(t,e,14)^a(t,e,18)^a(e,t,9);return n<0&&(n+=4294967296),n}function N(t,e){var n=s(t,e,1)^s(t,e,8)^l(t,e,7);return n<0&&(n+=4294967296),n}function P(t,e){var n=a(t,e,1)^a(t,e,8)^d(t,e,7);return n<0&&(n+=4294967296),n}function b(t,e){var n=s(t,e,19)^s(e,t,29)^l(t,e,6);return n<0&&(n+=4294967296),n}function D(t,e){var n=a(t,e,19)^a(e,t,29)^d(t,e,6);return n<0&&(n+=4294967296),n}i.inherits(_,v),t.exports=_,_.blockSize=1024,_.outSize=512,_.hmacStrength=192,_.padLength=128,_.prototype._prepareBlock=function(t,e){for(var n=this.W,i=0;i<32;i++)n[i]=t[e+i];for(;i<n.length;i+=2){var r=b(n[i-4],n[i-3]),o=D(n[i-4],n[i-3]),s=n[i-14],a=n[i-13],l=N(n[i-30],n[i-29]),d=P(n[i-30],n[i-29]),c=n[i-32],u=n[i-31];n[i]=p(r,o,s,a,l,d,c,u),n[i+1]=g(r,o,s,a,l,d,c,u)}},_.prototype._update=function(t,e){this._prepareBlock(t,e);var n=this.W,i=this.h[0],r=this.h[1],s=this.h[2],a=this.h[3],l=this.h[4],d=this.h[5],p=this.h[6],g=this.h[7],v=this.h[8],I=this.h[9],_=this.h[10],N=this.h[11],P=this.h[12],b=this.h[13],D=this.h[14],R=this.h[15];o(this.k.length===n.length);for(var L=0;L<n.length;L+=2){var U=D,k=R,M=T(v,I),F=A(v,I),B=S(v,I,_,N,P),j=C(v,I,_,N,P,b),x=this.k[L],V=this.k[L+1],$=n[L],H=n[L+1],K=f(U,k,M,F,B,j,x,V,$,H),G=E(U,k,M,F,B,j,x,V,$,H);U=m(i,r),k=w(i,r),M=O(i,r,s,a,l),F=y(i,r,s,a,l,d);var W=u(U,k,M,F),q=h(U,k,M,F);D=P,R=b,P=_,b=N,_=v,N=I,v=u(p,g,K,G),I=h(g,g,K,G),p=l,g=d,l=s,d=a,s=i,a=r,i=u(K,G,W,q),r=h(K,G,W,q)}c(this.h,0,i,r),c(this.h,2,s,a),c(this.h,4,l,d),c(this.h,6,p,g),c(this.h,8,v,I),c(this.h,10,_,N),c(this.h,12,P,b),c(this.h,14,D,R)},_.prototype._digest=function(t){return"hex"===t?i.toHex32(this.h,"big"):i.split32(this.h,"big")}},7038:(t,e,n)=>{"use strict";var i=n(6436).rotr32;function r(t,e,n){return t&e^~t&n}function o(t,e,n){return t&e^t&n^e&n}function s(t,e,n){return t^e^n}e.ft_1=function(t,e,n,i){return 0===t?r(e,n,i):1===t||3===t?s(e,n,i):2===t?o(e,n,i):void 0},e.ch32=r,e.maj32=o,e.p32=s,e.s0_256=function(t){return i(t,2)^i(t,13)^i(t,22)},e.s1_256=function(t){return i(t,6)^i(t,11)^i(t,25)},e.g0_256=function(t){return i(t,7)^i(t,18)^t>>>3},e.g1_256=function(t){return i(t,17)^i(t,19)^t>>>10}},6436:(t,e,n)=>{"use strict";var i=n(9746),r=n(5717);function o(t,e){return 55296==(64512&t.charCodeAt(e))&&(!(e<0||e+1>=t.length)&&56320==(64512&t.charCodeAt(e+1)))}function s(t){return(t>>>24|t>>>8&65280|t<<8&16711680|(255&t)<<24)>>>0}function a(t){return 1===t.length?"0"+t:t}function l(t){return 7===t.length?"0"+t:6===t.length?"00"+t:5===t.length?"000"+t:4===t.length?"0000"+t:3===t.length?"00000"+t:2===t.length?"000000"+t:1===t.length?"0000000"+t:t}e.inherits=r,e.toArray=function(t,e){if(Array.isArray(t))return t.slice();if(!t)return[];var n=[];if("string"==typeof t)if(e){if("hex"===e)for((t=t.replace(/[^a-z0-9]+/gi,"")).length%2!=0&&(t="0"+t),r=0;r<t.length;r+=2)n.push(parseInt(t[r]+t[r+1],16))}else for(var i=0,r=0;r<t.length;r++){var s=t.charCodeAt(r);s<128?n[i++]=s:s<2048?(n[i++]=s>>6|192,n[i++]=63&s|128):o(t,r)?(s=65536+((1023&s)<<10)+(1023&t.charCodeAt(++r)),n[i++]=s>>18|240,n[i++]=s>>12&63|128,n[i++]=s>>6&63|128,n[i++]=63&s|128):(n[i++]=s>>12|224,n[i++]=s>>6&63|128,n[i++]=63&s|128)}else for(r=0;r<t.length;r++)n[r]=0|t[r];return n},e.toHex=function(t){for(var e="",n=0;n<t.length;n++)e+=a(t[n].toString(16));return e},e.htonl=s,e.toHex32=function(t,e){for(var n="",i=0;i<t.length;i++){var r=t[i];"little"===e&&(r=s(r)),n+=l(r.toString(16))}return n},e.zero2=a,e.zero8=l,e.join32=function(t,e,n,r){var o=n-e;i(o%4==0);for(var s=new Array(o/4),a=0,l=e;a<s.length;a++,l+=4){var d;d="big"===r?t[l]<<24|t[l+1]<<16|t[l+2]<<8|t[l+3]:t[l+3]<<24|t[l+2]<<16|t[l+1]<<8|t[l],s[a]=d>>>0}return s},e.split32=function(t,e){for(var n=new Array(4*t.length),i=0,r=0;i<t.length;i++,r+=4){var o=t[i];"big"===e?(n[r]=o>>>24,n[r+1]=o>>>16&255,n[r+2]=o>>>8&255,n[r+3]=255&o):(n[r+3]=o>>>24,n[r+2]=o>>>16&255,n[r+1]=o>>>8&255,n[r]=255&o)}return n},e.rotr32=function(t,e){return t>>>e|t<<32-e},e.rotl32=function(t,e){return t<<e|t>>>32-e},e.sum32=function(t,e){return t+e>>>0},e.sum32_3=function(t,e,n){return t+e+n>>>0},e.sum32_4=function(t,e,n,i){return t+e+n+i>>>0},e.sum32_5=function(t,e,n,i,r){return t+e+n+i+r>>>0},e.sum64=function(t,e,n,i){var r=t[e],o=i+t[e+1]>>>0,s=(o<i?1:0)+n+r;t[e]=s>>>0,t[e+1]=o},e.sum64_hi=function(t,e,n,i){return(e+i>>>0<e?1:0)+t+n>>>0},e.sum64_lo=function(t,e,n,i){return e+i>>>0},e.sum64_4_hi=function(t,e,n,i,r,o,s,a){var l=0,d=e;return l+=(d=d+i>>>0)<e?1:0,l+=(d=d+o>>>0)<o?1:0,t+n+r+s+(l+=(d=d+a>>>0)<a?1:0)>>>0},e.sum64_4_lo=function(t,e,n,i,r,o,s,a){return e+i+o+a>>>0},e.sum64_5_hi=function(t,e,n,i,r,o,s,a,l,d){var c=0,u=e;return c+=(u=u+i>>>0)<e?1:0,c+=(u=u+o>>>0)<o?1:0,c+=(u=u+a>>>0)<a?1:0,t+n+r+s+l+(c+=(u=u+d>>>0)<d?1:0)>>>0},e.sum64_5_lo=function(t,e,n,i,r,o,s,a,l,d){return e+i+o+a+d>>>0},e.rotr64_hi=function(t,e,n){return(e<<32-n|t>>>n)>>>0},e.rotr64_lo=function(t,e,n){return(t<<32-n|e>>>n)>>>0},e.shr64_hi=function(t,e,n){return t>>>n},e.shr64_lo=function(t,e,n){return(t<<32-n|e>>>n)>>>0}},5717:t=>{"function"==typeof Object.create?t.exports=function(t,e){e&&(t.super_=e,t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}))}:t.exports=function(t,e){if(e){t.super_=e;var n=function(){};n.prototype=e.prototype,t.prototype=new n,t.prototype.constructor=t}}},6245:(t,e,n)=>{"use strict";function i(t){this.message=t}n.r(e),n.d(e,{InvalidTokenError:()=>s,default:()=>a}),i.prototype=new Error,i.prototype.name="InvalidCharacterError";var r="undefined"!=typeof window&&window.atob&&window.atob.bind(window)||function(t){var e=String(t).replace(/=+$/,"");if(e.length%4==1)throw new i("'atob' failed: The string to be decoded is not correctly encoded.");for(var n,r,o=0,s=0,a="";r=e.charAt(s++);~r&&(n=o%4?64*n+r:r,o++%4)?a+=String.fromCharCode(255&n>>(-2*o&6)):0)r="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(r);return a};function o(t){var e=t.replace(/-/g,"+").replace(/_/g,"/");switch(e.length%4){case 0:break;case 2:e+="==";break;case 3:e+="=";break;default:throw"Illegal base64url string!"}try{return function(t){return decodeURIComponent(r(t).replace(/(.)/g,(function(t,e){var n=e.charCodeAt(0).toString(16).toUpperCase();return n.length<2&&(n="0"+n),"%"+n})))}(e)}catch(t){return r(e)}}function s(t){this.message=t}s.prototype=new Error,s.prototype.name="InvalidTokenError";const a=function(t,e){if("string"!=typeof t)throw new s("Invalid token specified");var n=!0===(e=e||{}).header?0:1;try{return JSON.parse(o(t.split(".")[n]))}catch(t){throw new s("Invalid token specified: "+t.message)}}},9746:t=>{function e(t,e){if(!t)throw new Error(e||"Assertion failed")}t.exports=e,e.equal=function(t,e,n){if(t!=e)throw new Error(n||"Assertion failed: "+t+" != "+e)}},4155:t=>{var e,n,i=t.exports={};function r(){throw new Error("setTimeout has not been defined")}function o(){throw new Error("clearTimeout has not been defined")}function s(t){if(e===setTimeout)return setTimeout(t,0);if((e===r||!e)&&setTimeout)return e=setTimeout,setTimeout(t,0);try{return e(t,0)}catch(n){try{return e.call(null,t,0)}catch(n){return e.call(this,t,0)}}}!function(){try{e="function"==typeof setTimeout?setTimeout:r}catch(t){e=r}try{n="function"==typeof clearTimeout?clearTimeout:o}catch(t){n=o}}();var a,l=[],d=!1,c=-1;function u(){d&&a&&(d=!1,a.length?l=a.concat(l):c=-1,l.length&&h())}function h(){if(!d){var t=s(u);d=!0;for(var e=l.length;e;){for(a=l,l=[];++c<e;)a&&a[c].run();c=-1,e=l.length}a=null,d=!1,function(t){if(n===clearTimeout)return clearTimeout(t);if((n===o||!n)&&clearTimeout)return n=clearTimeout,clearTimeout(t);try{return n(t)}catch(e){try{return n.call(null,t)}catch(e){return n.call(this,t)}}}(t)}}function p(t,e){this.fun=t,this.array=e}function g(){}i.nextTick=function(t){var e=new Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)e[n-1]=arguments[n];l.push(new p(t,e)),1!==l.length||d||s(h)},p.prototype.run=function(){this.fun.apply(null,this.array)},i.title="browser",i.browser=!0,i.env={},i.argv=[],i.version="",i.versions={},i.on=g,i.addListener=g,i.once=g,i.off=g,i.removeListener=g,i.removeAllListeners=g,i.emit=g,i.prependListener=g,i.prependOnceListener=g,i.listeners=function(t){return[]},i.binding=function(t){throw new Error("process.binding is not supported")},i.cwd=function(){return"/"},i.chdir=function(t){throw new Error("process.chdir is not supported")},i.umask=function(){return 0}},655:(t,e,n)=>{"use strict";n.r(e),n.d(e,{__assign:()=>o,__asyncDelegator:()=>C,__asyncGenerator:()=>S,__asyncValues:()=>O,__await:()=>_,__awaiter:()=>c,__classPrivateFieldGet:()=>A,__classPrivateFieldSet:()=>N,__createBinding:()=>h,__decorate:()=>a,__exportStar:()=>p,__extends:()=>r,__generator:()=>u,__importDefault:()=>T,__importStar:()=>w,__makeTemplateObject:()=>y,__metadata:()=>d,__param:()=>l,__read:()=>f,__rest:()=>s,__spread:()=>E,__spreadArray:()=>I,__spreadArrays:()=>v,__values:()=>g});var i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n])},i(t,e)};function r(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}var o=function(){return o=Object.assign||function(t){for(var e,n=1,i=arguments.length;n<i;n++)for(var r in e=arguments[n])Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t},o.apply(this,arguments)};function s(t,e){var n={};for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&e.indexOf(i)<0&&(n[i]=t[i]);if(null!=t&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(i=Object.getOwnPropertySymbols(t);r<i.length;r++)e.indexOf(i[r])<0&&Object.prototype.propertyIsEnumerable.call(t,i[r])&&(n[i[r]]=t[i[r]])}return n}function a(t,e,n,i){var r,o=arguments.length,s=o<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(t,e,n,i);else for(var a=t.length-1;a>=0;a--)(r=t[a])&&(s=(o<3?r(s):o>3?r(e,n,s):r(e,n))||s);return o>3&&s&&Object.defineProperty(e,n,s),s}function l(t,e){return function(n,i){e(n,i,t)}}function d(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)}function c(t,e,n,i){return new(n||(n=Promise))((function(r,o){function s(t){try{l(i.next(t))}catch(t){o(t)}}function a(t){try{l(i.throw(t))}catch(t){o(t)}}function l(t){var e;t.done?r(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e)}))).then(s,a)}l((i=i.apply(t,e||[])).next())}))}function u(t,e){var n,i,r,o,s={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;s;)try{if(n=1,i&&(r=2&o[0]?i.return:o[0]?i.throw||((r=i.return)&&r.call(i),0):i.next)&&!(r=r.call(i,o[1])).done)return r;switch(i=0,r&&(o=[2&o[0],r.value]),o[0]){case 0:case 1:r=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,i=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(r=s.trys,(r=r.length>0&&r[r.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]<r[3])){s.label=o[1];break}if(6===o[0]&&s.label<r[1]){s.label=r[1],r=o;break}if(r&&s.label<r[2]){s.label=r[2],s.ops.push(o);break}r[2]&&s.ops.pop(),s.trys.pop();continue}o=e.call(t,s)}catch(t){o=[6,t],i=0}finally{n=r=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,a])}}}var h=Object.create?function(t,e,n,i){void 0===i&&(i=n),Object.defineProperty(t,i,{enumerable:!0,get:function(){return e[n]}})}:function(t,e,n,i){void 0===i&&(i=n),t[i]=e[n]};function p(t,e){for(var n in t)"default"===n||Object.prototype.hasOwnProperty.call(e,n)||h(e,t,n)}function g(t){var e="function"==typeof Symbol&&Symbol.iterator,n=e&&t[e],i=0;if(n)return n.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&i>=t.length&&(t=void 0),{value:t&&t[i++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function f(t,e){var n="function"==typeof Symbol&&t[Symbol.iterator];if(!n)return t;var i,r,o=n.call(t),s=[];try{for(;(void 0===e||e-- >0)&&!(i=o.next()).done;)s.push(i.value)}catch(t){r={error:t}}finally{try{i&&!i.done&&(n=o.return)&&n.call(o)}finally{if(r)throw r.error}}return s}function E(){for(var t=[],e=0;e<arguments.length;e++)t=t.concat(f(arguments[e]));return t}function v(){for(var t=0,e=0,n=arguments.length;e<n;e++)t+=arguments[e].length;var i=Array(t),r=0;for(e=0;e<n;e++)for(var o=arguments[e],s=0,a=o.length;s<a;s++,r++)i[r]=o[s];return i}function I(t,e,n){if(n||2===arguments.length)for(var i,r=0,o=e.length;r<o;r++)!i&&r in e||(i||(i=Array.prototype.slice.call(e,0,r)),i[r]=e[r]);return t.concat(i||Array.prototype.slice.call(e))}function _(t){return this instanceof _?(this.v=t,this):new _(t)}function S(t,e,n){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var i,r=n.apply(t,e||[]),o=[];return i={},s("next"),s("throw"),s("return"),i[Symbol.asyncIterator]=function(){return this},i;function s(t){r[t]&&(i[t]=function(e){return new Promise((function(n,i){o.push([t,e,n,i])>1||a(t,e)}))})}function a(t,e){try{(n=r[t](e)).value instanceof _?Promise.resolve(n.value.v).then(l,d):c(o[0][2],n)}catch(t){c(o[0][3],t)}var n}function l(t){a("next",t)}function d(t){a("throw",t)}function c(t,e){t(e),o.shift(),o.length&&a(o[0][0],o[0][1])}}function C(t){var e,n;return e={},i("next"),i("throw",(function(t){throw t})),i("return"),e[Symbol.iterator]=function(){return this},e;function i(i,r){e[i]=t[i]?function(e){return(n=!n)?{value:_(t[i](e)),done:"return"===i}:r?r(e):e}:r}}function O(t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e,n=t[Symbol.asyncIterator];return n?n.call(t):(t=g(t),e={},i("next"),i("throw"),i("return"),e[Symbol.asyncIterator]=function(){return this},e);function i(n){e[n]=t[n]&&function(e){return new Promise((function(i,r){(function(t,e,n,i){Promise.resolve(i).then((function(e){t({value:e,done:n})}),e)})(i,r,(e=t[n](e)).done,e.value)}))}}}function y(t,e){return Object.defineProperty?Object.defineProperty(t,"raw",{value:e}):t.raw=e,t}var m=Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e};function w(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)"default"!==n&&Object.prototype.hasOwnProperty.call(t,n)&&h(e,t,n);return m(e,t),e}function T(t){return t&&t.__esModule?t:{default:t}}function A(t,e,n,i){if("a"===n&&!i)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!i:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===n?i:"a"===n?i.call(t):i?i.value:e.get(t)}function N(t,e,n,i,r){if("m"===i)throw new TypeError("Private method is not writable");if("a"===i&&!r)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof e?t!==e||!r:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===i?r.call(t,n):r?r.value=n:e.set(t,n),n}}},e={};function n(i){var r=e[i];if(void 0!==r)return r.exports;var o=e[i]={exports:{}};return t[i].call(o.exports,o,o.exports,n),o.exports}n.d=(t,e)=>{for(var i in e)n.o(e,i)&&!n.o(t,i)&&Object.defineProperty(t,i,{enumerable:!0,get:e[i]})},n.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),n.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})};var i=n(773);module.exports=i})();
|