@useparagon/connect 1.0.24-experimental.1 → 1.0.24-experimental.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. package/package.json +2 -5
  2. package/dist/src/ConnectSDK.d.ts +0 -266
  3. package/dist/src/ConnectSDK.js +0 -2
  4. package/dist/src/ConnectSDK.js.LICENSE.txt +0 -14
  5. package/dist/src/SDKEventEmitter.d.ts +0 -56
  6. package/dist/src/constants.d.ts +0 -1
  7. package/dist/src/entities/base.entity.d.ts +0 -5
  8. package/dist/src/entities/connectCredential.interface.d.ts +0 -41
  9. package/dist/src/entities/connectCredentialConfig.interface.d.ts +0 -31
  10. package/dist/src/entities/credential.interface.d.ts +0 -15
  11. package/dist/src/entities/customIntegration.interface.d.ts +0 -60
  12. package/dist/src/entities/integration.interface.d.ts +0 -45
  13. package/dist/src/entities/integrationConfig.interface.d.ts +0 -9
  14. package/dist/src/entities/license.interface.d.ts +0 -6
  15. package/dist/src/entities/persona.interface.d.ts +0 -34
  16. package/dist/src/entities/project.interface.d.ts +0 -32
  17. package/dist/src/entities/steps.d.ts +0 -30
  18. package/dist/src/entities/team.interface.d.ts +0 -19
  19. package/dist/src/entities/user.interface.d.ts +0 -23
  20. package/dist/src/entities/workflow.interface.d.ts +0 -11
  21. package/dist/src/file-picker/integrations/googledrive.d.ts +0 -24
  22. package/dist/src/file-picker/integrations/index.d.ts +0 -5
  23. package/dist/src/file-picker/types/baseFilePicker.d.ts +0 -32
  24. package/dist/src/file-picker/types/externalFilePicker.d.ts +0 -9
  25. package/dist/src/file-picker/types/index.d.ts +0 -1
  26. package/dist/src/helpers/ConnectUserContext.d.ts +0 -18
  27. package/dist/src/helpers/index.d.ts +0 -29
  28. package/dist/src/helpers/oauth.d.ts +0 -22
  29. package/dist/src/index.d.ts +0 -8
  30. package/dist/src/index.js +0 -2
  31. package/dist/src/index.js.LICENSE.txt +0 -14
  32. package/dist/src/server.types.d.ts +0 -14
  33. package/dist/src/types/action.d.ts +0 -266
  34. package/dist/src/types/billing.d.ts +0 -2
  35. package/dist/src/types/connect.d.ts +0 -226
  36. package/dist/src/types/connectModal.d.ts +0 -35
  37. package/dist/src/types/environment.d.ts +0 -16
  38. package/dist/src/types/execution.d.ts +0 -5
  39. package/dist/src/types/index.d.ts +0 -9
  40. package/dist/src/types/resolvers.d.ts +0 -297
  41. package/dist/src/types/sdk.d.ts +0 -362
  42. package/dist/src/types/stripe.d.ts +0 -23
  43. package/dist/src/utils/connect.d.ts +0 -19
  44. package/dist/src/utils/crypto.d.ts +0 -7
  45. package/dist/src/utils/generic.d.ts +0 -41
  46. package/dist/src/utils/http.d.ts +0 -57
  47. package/dist/src/utils/throttle.d.ts +0 -118
package/package.json CHANGED
@@ -1,13 +1,10 @@
1
1
  {
2
2
  "name": "@useparagon/connect",
3
- "version": "1.0.24-experimental.1",
3
+ "version": "1.0.24-experimental.12",
4
4
  "description": "Embed integrations into your app with the Paragon SDK",
5
5
  "main": "dist/src/index.js",
6
6
  "types": "dist/src/index.d.ts",
7
- "exports": {
8
- ".": "./dist/src/index.js",
9
- "./ConnectSDK": "./dist/src/ConnectSDK.js"
10
- },
7
+ "exports": "./dist/src/index.js",
11
8
  "scripts": {
12
9
  "start:dev": "NODE_ENV=development webpack serve",
13
10
  "build:prod": "yarn typecheck && yarn clean && webpack --config webpack.config.js",
@@ -1,266 +0,0 @@
1
- import { IConnectCredential } from './entities/connectCredential.interface';
2
- import { IConnectCredentialConfig } from './entities/connectCredentialConfig.interface';
3
- import { OauthCallbackResponse } from './entities/credential.interface';
4
- import { IConnectIntegrationWithCredentialInfo, IIntegrationMetadata } from './entities/integration.interface';
5
- import { PersonaMeta } from './entities/persona.interface';
6
- import SDKEventEmitter from './SDKEventEmitter';
7
- import { ConnectSdkEnvironments } from './server.types';
8
- import { AuthenticateOptions, AuthenticatedConnectUser, CompleteInstallOptions, Props as ConnectModalProps, ConnectParams, ConnectUser, CreateConfigurationOptions, CredentialConfigOptions, DeleteConfigurationOptions, DisableWorkflowOptions, EventInfo, GetIntegrationAccountOptions, IConnectSDK, InstallIntegrationOptions, LoadCustomDropdownOptionsResult, TriggerWorkflowRequest, UninstallOptions, UpdateConfigurationOptions } from './types';
9
- export declare const PARAGON_OVERFLOW_EMPTY_VALUE = "PARAGON_OVERFLOW_EMPTY_VALUE";
10
- export default class ConnectSDK extends SDKEventEmitter implements IConnectSDK {
11
- root: HTMLIFrameElement | undefined;
12
- private rootLoaded;
13
- /**
14
- * sometime DOMContentLoaded event firing twice
15
- * so it was creating two iframes see PARA-8749
16
- */
17
- private rootElementCreated;
18
- private projectId;
19
- private integrationToBeEnabled;
20
- private modalState;
21
- private userState;
22
- private loadedConfigs;
23
- private loadedIntegrations;
24
- private endUserIntegrationConfig;
25
- private environments;
26
- private project;
27
- /**
28
- * map b/w integration key name to integration metadata
29
- */
30
- private metadata;
31
- /**
32
- * cache service
33
- */
34
- private cachedApiResponse;
35
- /**
36
- * in order to not call multiple same GET request at same time
37
- * we are storing {key -> promise} map
38
- */
39
- private keyToRequestPromiseMap;
40
- /**
41
- * this will store the original overflow style of body
42
- * we are using PARAGON_OVERFLOW_EMPTY_VALUE as default
43
- * so that we will be able to know whether style is added in body or not
44
- */
45
- private originalBodyOverflow;
46
- constructor(environments?: ConnectSdkEnvironments);
47
- /**
48
- * post message handler
49
- * @param event
50
- */
51
- private eventMessageHandler;
52
- private functionInvocationHandler;
53
- private createReactRoot;
54
- /**
55
- * checks
56
- * - if integration name is valid
57
- * - if integration is setup in project
58
- * - if integration is active in project
59
- * throws error if any of these is not met
60
- * @param action
61
- * @param validateIsEnabled boolean
62
- */
63
- validateAction(action: string): void;
64
- /**
65
- * checks if the integration is installed.
66
- * Assumes that the user is authenticated
67
- * @param action
68
- * @param userState
69
- * @returns boolean value
70
- */
71
- private isAlreadyInstalled;
72
- private bootstrapSDKState;
73
- setModalState(statePartial: Partial<ConnectModalProps>): void;
74
- /**
75
- * Loads previous SDK state saved in localStorage.
76
- *
77
- * **Warning:** This favors stored to current state. This should typically be called in
78
- * unauthenticated contexts, as a fallback.
79
- */
80
- private loadState;
81
- /**
82
- * Saves the current SDK state into localStorage, if available.
83
- */
84
- private saveState;
85
- /**
86
- * Clears the current SDK state from localStorage, if available.
87
- */
88
- private clearState;
89
- private render;
90
- /**
91
- * this will update container style
92
- * @param param0
93
- * @returns
94
- */
95
- updateContainerStyle({ isModalShown }: {
96
- isModalShown: boolean;
97
- }): void;
98
- /**
99
- * Authenticate your end user into the Paragon Connect SDK.
100
- *
101
- * @param projectId Your Paragon project ID.
102
- * @param token A JWT signed by your App Server. The JWT should include a user ID and a
103
- * session expiration time.
104
- */
105
- authenticate(projectId: string, token: string, options?: AuthenticateOptions): Promise<void>;
106
- /**
107
- * Get the Paragon authentication and integration state of your end user.
108
- */
109
- getUser(): ConnectUser;
110
- updateAuthenticatedUser(statePartial: Partial<AuthenticatedConnectUser>): void;
111
- /**
112
- * Logout the currently authenticated end user from the Paragon SDK.
113
- */
114
- logout(): void;
115
- /**
116
- * Display the Paragon Connect modal
117
- */
118
- connect(action: string, params?: ConnectParams): Promise<void>;
119
- private setCredentialConfigForUserState;
120
- private getCredentialAndConfig;
121
- /**
122
- * Retrieves an integration object from the loaded integrations based on the integration ID.
123
- * @param integrationId The ID of the integration to retrieve.
124
- * @returns The integration object if found, otherwise undefined.
125
- */
126
- _getIntegration(integrationId: string): IConnectIntegrationWithCredentialInfo | undefined;
127
- _oauthCallback(oauthResponse: OauthCallbackResponse, credentialId?: string): Promise<void>;
128
- _oauthErrorCallback(errorMessage: string | object, event?: MessageEvent): Promise<void>;
129
- customDropdownOptionsLoaders: Record<string, (cursor?: string | undefined, search?: string | undefined) => LoadCustomDropdownOptionsResult>;
130
- /**
131
- * Display the Paragon Connect modal
132
- */
133
- _loadCustomDropdownOptions(key: string, cursor?: string | undefined, search?: string | undefined): LoadCustomDropdownOptionsResult;
134
- /**
135
- * Send a Connect API request. Automatically handles authorization and errors.
136
- *
137
- * @param path The path of the request, including the leading slash, i.e. `/sdk/actions`
138
- * @param init Options for the request, excluding headers (automatically added).
139
- * @param prefixWithProjectPath Defaults to true. Prepends /projects/${this.projectId}` to the
140
- * path.
141
- */
142
- sendConnectRequest<TResponse>(path: string, init?: RequestInit & {
143
- cacheResult?: boolean;
144
- baseURLOverride?: string;
145
- }, prefixWithProjectPath?: boolean): Promise<TResponse | undefined>;
146
- private sendRequest;
147
- /**
148
- * Sends a proxy request to an action
149
- * @param action
150
- * @param path
151
- * @param init
152
- * @returns api request response
153
- */
154
- request<TResponse>(action: string, path: string, init: {
155
- selectedCredentialId?: string;
156
- method: RequestInit['method'];
157
- body: RequestInit['body'] | object;
158
- headers: RequestInit['headers'];
159
- }): Promise<TResponse | undefined>;
160
- event(name: string, payload: Record<string, unknown>, options?: CredentialConfigOptions): Promise<void>;
161
- /**
162
- * @summary this will be called to close the modal
163
- * @param forceClose is set when modal is closed by cross btn
164
- * @returns
165
- */
166
- onClose(forceClose?: boolean): void;
167
- /**
168
- * @summary this will be called when modal will be visible
169
- */
170
- onOpen(): void;
171
- /**
172
- * this is shared in ConnectUserContext
173
- * so that event can be trigger from components
174
- * @param eventInfo
175
- */
176
- triggerSDKEvent(eventInfo: EventInfo): void;
177
- /**
178
- * get single or all metadata info for integrations
179
- * @param integrationKey
180
- * @returns
181
- */
182
- getIntegrationMetadata(): IIntegrationMetadata[];
183
- getIntegrationMetadata(integrationKey: string): IIntegrationMetadata;
184
- /**
185
- * Closing the portal by invoking this method
186
- */
187
- closePortal(): void;
188
- /**
189
- * trigger connect endpoint trigger workflow
190
- * @param workflowId
191
- * @param payload
192
- */
193
- workflow(workflowId: string, { selectedCredentialId, selectedConfigurationId, body, query, headers, }?: TriggerWorkflowRequest): Promise<object | undefined>;
194
- /**
195
- * for programmatically installing an integration
196
- */
197
- installIntegration(action: string, params?: InstallIntegrationOptions): Promise<void>;
198
- /**
199
- * gates headless feature to pro and enterprise users
200
- */
201
- ensureHeadlessIsSupported(): void;
202
- uninstallIntegration(action: string, options?: UninstallOptions): Promise<void>;
203
- disableWorkflow(workflowId: string, options?: DisableWorkflowOptions): Promise<void>;
204
- enableWorkflow(workflowId: string, options?: CredentialConfigOptions): Promise<void>;
205
- /**
206
- * Get account details by integration type. To get accountAuth, includeAccountAuth should be true in options.
207
- * Note that accountAuth is allowed for only some of the integrations.
208
- */
209
- getIntegrationAccount(integrationType: string, options?: GetIntegrationAccountOptions): Promise<IConnectIntegrationWithCredentialInfo>;
210
- private getIntegrationForWorkflow;
211
- private updateLocalState;
212
- /**
213
- * gets the user data from api `/sdk/me`
214
- */
215
- private fetchUserData;
216
- /**
217
- * Gets the integrations from api `/sdk/integrations`
218
- * Required this another request for integrations, as `/sdk/me` provides only minimal data for integrations
219
- * we also need integration config and other credentials info which is not included in `sdk/me`
220
- */
221
- private fetchIntegrations;
222
- /**
223
- * Updates internal state where integration information may be used.
224
- */
225
- private updateIntegrations;
226
- setUserMetadata(meta: PersonaMeta): Promise<AuthenticatedConnectUser>;
227
- /**
228
- * @param param
229
- * @param overrideEnvs
230
- * sets the domain for making http service request
231
- * example: `configureGlobal({host: 'myDomain.com'});` would set service urls as `https://service.myDomain.com`
232
- */
233
- configureGlobal(param: {
234
- host: string;
235
- }, overrideEnvs?: Partial<ConnectSdkEnvironments>): void;
236
- /**
237
- * some integration required flow in which user recieve authorization code
238
- * from marketplace oauth flow , so needed this method see PARA-8385
239
- */
240
- completeInstall(action: string, options: CompleteInstallOptions): Promise<void>;
241
- /**
242
- * update credential data in integration
243
- * @param newCredential
244
- * @param integration
245
- */
246
- private updateCredentialData;
247
- /**
248
- * create resource connection
249
- * @param resourceName
250
- * @param payload
251
- * @returns
252
- */
253
- connectAction(resourceName: string, payload: Record<string, unknown>): Promise<IConnectCredential>;
254
- /**
255
- * Creates a new configuration using the provided credentials.
256
- * @param {CreateConfigurationOptions} param0
257
- * @returns {Promise<IConnectCredentialConfig> }
258
- */
259
- createConfiguration({ credentialId, externalId, }: CreateConfigurationOptions): Promise<IConnectCredentialConfig>;
260
- /**
261
- * Destroys an existing configuration using the provided instance ID.
262
- */
263
- destroyConfiguration({ id, credentialId }: DeleteConfigurationOptions): Promise<void>;
264
- updateConfiguration({ id, credentialId, meta, }: UpdateConfigurationOptions): Promise<IConnectCredentialConfig>;
265
- private pollForCredential;
266
- }
@@ -1,2 +0,0 @@
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.PARAGON_OVERFLOW_EMPTY_VALUE=void 0;const i=n(655),r=i.__importDefault(n(245)),o=n(59),s=n(745),a=n(343),l=n(643),d=n(429),c=i.__importDefault(n(892)),u=n(821),h=n(158),f=n(846),g=n(572),p=n(321),_=n(35),E="paragon-connect-frame",v=`${E}-container`,C="paragon-connect-user-state";e.PARAGON_OVERFLOW_EMPTY_VALUE="PARAGON_OVERFLOW_EMPTY_VALUE";class I extends c.default{constructor(t){if(super(),this.rootLoaded=!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.customDropdownOptionsLoaders={},"undefined"==typeof window)return void console.warn("connect sdk can only be used on browser");const n=(0,h.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:n,CONNECT_PUBLIC_URL:"https://connect.useparagon.com",DASHBOARD_PUBLIC_URL:"https://dashboard.useparagon.com",NODE_ENV:"production",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",...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.");this.loadState(),window.addEventListener("message",this.eventMessageHandler.bind(this)),window.document.readyState===u.DocumentLoadingState.LOADING?window.document.addEventListener("DOMContentLoaded",(()=>{this.createReactRoot()})):this.createReactRoot()}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(`#${v}`);this.root.id=E,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(`#${v}`)||document.body)||void 0===t||t.appendChild(this.root)}validateAction(t){var e;if(!this.loadedIntegrations[t]&&!(0,a.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)===o.CredentialStatus.VALID}return Boolean(null===(r=e.integrations[t])||void 0===r?void 0:r.enabled)}async bootstrapSDKState(t){this.projectId&&this.userState.authenticated&&(this.project=await this.sendConnectRequest(`/sdk/projects/${this.projectId}`,{headers:{"X-Paragon-Cache-Metadata":"1",...t?{"X-Paragon-User-Metadata":JSON.stringify(t)}:{}}},!1),await this.updateLocalState())}setModalState(t){this.modalState={config:void 0,...this.modalState,...t},this.render()}loadState(){if("undefined"!=typeof window)try{const t=window.localStorage.getItem(C)?JSON.parse(window.localStorage.getItem(C)):{};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()}}saveState(){"undefined"!=typeof window&&this.userState.authenticated&&window.localStorage.setItem(C,JSON.stringify({projectId:this.projectId,userState:this.userState}))}clearState(){"undefined"!=typeof window&&window.localStorage.removeItem(C)}render(){if(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[this.modalState.integration.type]: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()}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:l,allowMultipleCredentials:c,selectedCredentialId:h,selectedConfigurationId:f,accountType:g,..._}=e;return this.integrationToBeEnabled=t,new Promise(((E,v)=>{var C,I,S;if(!this.userState.authenticated)throw new Error("User not authenticated, Call paragon.authenticate(<projectId>, <user token>) before using the SDK.");this.subscribeToIntegration(t,{..._,onInstall:(t,e)=>{var n;E(),(null==_?void 0:_.onInstall)?_.onInstall(t,e):null===(n=null==_?void 0:_.onSuccess)||void 0===n||n.call(_,t,e)},onError:t=>{var e;v(t),null===(e=null==_?void 0:_.onError)||void 0===e||e.call(_,t)}});try{if(n&&!this.project.accessibleFeatures.includes(u.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,p.isValidUrl)(i))throw new Error(`${i} is not valid url.`);this.endUserIntegrationConfig[t]={mapObjectFields:n,overrideRedirectUrl:i?(0,p.sanitizeUrl)(i):void 0};const _=Object.values(this.loadedIntegrations).find((e=>(0,a.getIntegrationTypeName)(e)===t)),E="string"==typeof g?null==g?void 0:g.trim():"",v=null===(I=null===(C=null==_?void 0:_.sdkIntegrationConfig)||void 0===C?void 0:C.accountTypes)||void 0===I?void 0:I.find((t=>t.id===E)),O={isApiInstallation:r,showPortalAfterInstall:o,bypassPostOAuthPrompt:l,allowMultipleCredentials:c,selectedCredentialId:h,selectedConfigurationId:f};if(this.setCredentialConfigForUserState(t,h,f),e.isApiInstallation){const e={context:{user:this.userState,projectId:this.projectId,environments:this.environments,endUserIntegrationConfig:this.endUserIntegrationConfig[t]},integration:_};if(Boolean(_.needPreOauthInputs&&v&&!(null===(S=v.endUserSuppliedValues)||void 0===S?void 0:S.length)&&v.scheme===s.AuthenticationScheme.OAUTH)||!_.needPreOauthInputs){e.authParams=null==v?void 0:v.oauthParameters,e.installOptions=O;const t=Math.random().toString(36).substring(2,15),n=(0,d.startOAuthFlow)(e,t);if(n){const e=Date.now(),i=setInterval((()=>{if(Date.now()-e>d.MAX_POLL_DURATION)clearInterval(i);else try{n.opener||(clearInterval(i),this.pollForCredential(t))}catch(e){this.pollForCredential(t)}}),500)}}}g&&!v&&console.warn(`Account type "${g}" is not valid for integration "${null==_?void 0:_.type}"`);const y=JSON.parse(JSON.stringify(this.loadedConfigs[t])),T=function(){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};if("dropdowns"in e){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(y.sharedMeta&&Array.isArray(y.sharedMeta.inputs))for(const t of y.sharedMeta.inputs){if(i.includes(t.key)){t.customDropdownOptions=[];continue}const e=T(n[t.key]);e&&t.customDropdownOptions&&(t.customDropdownOptions=e)}if(y.workflowMeta)for(const t in y.workflowMeta){const e=y.workflowMeta[t];for(const t of e.inputs){if(i.includes(t.key)){t.customDropdownOptions=[];continue}const e=T(n[t.key]);e&&t.customDropdownOptions&&(t.customDropdownOptions=e)}}this.loadedConfigs[t]=y}this.setModalState({integration:_,config:this.loadedConfigs[t],apiInstallationOptions:{...O,selectedAccountConfig:v},selectedCredentialId:h,connectionError:void 0})}catch(e){this.emitError(e,t)}}))}setCredentialConfigForUserState(t,e,n){var i,r,s;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===(s=null==a?void 0:a.allCredentials)||void 0===s?void 0:s.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===o.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,g.isUUID)(r),e=(0,h.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))}async _oauthCallback(t,e){var n;const{integrationId:i,payload:r}=t,s=this._getIntegration(i);if(!s)return;const l=(0,a.getIntegrationTypeName)(s),d=(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:s.id,config:{},payload:r,installOptions:d})});if(!n)throw new Error("Unable to save oauth credentials");this.updateCredentialData(n,s),n.status===o.CredentialStatus.VALID&&this.triggerSDKEvent({type:u.SDK_EVENT.ON_INTEGRATION_INSTALL,integrationId:s.id,integrationType:l}),this.setModalState({...this.modalState,connectionError:void 0})}catch(t){this.setModalState({...this.modalState,connectionError:t.message}),this.emitError(t,l),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,a.getIntegrationTypeName)(this._getIntegration(r))),this.setModalState({...this.modalState,connectionError:e.data.errorResponse})),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,f.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==d?void 0:d.credentialId)?{[u.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,o,s;try{r=await fetch(t,e)}catch(t){s=t}if(r&&!r.ok||s){const e=r?await(0,p.getErrorMessage)(r,!0):null==s?void 0:s.message,o="string"==typeof e?e:null==e?void 0:e.message,a=(0,p.errorMessageParser)(o),l=401===(null==r?void 0:r.status)||403===(null==r?void 0:r.status);if(a||t.includes("proxy")||!l){if(!a&&t.includes("proxy")&&l){const t=await this.fetchUserData();this.updateAuthenticatedUser({integrations:t.integrations,meta:t.meta,resources:t.resources})}}else this.logout();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 p.ProxyRequestError(e.message,e.response);throw new Error(o)}try{o=await(null==r?void 0:r.json())}catch{o=void 0}return n&&(await this.cachedApiResponse.set(n,o),delete this.keyToRequestPromiseMap[n]),o}async request(t,e,n){var i,r;let o=`/sdk/proxy/${t}`;(0,a.isCustomIntegrationTypeName)(t)&&(o=`/sdk/proxy/custom/${null===(i=Object.values(this.loadedIntegrations).find((e=>!!e.customIntegration&&e.customIntegration.slug===t)))||void 0===i?void 0:i.id}`);const s=e.startsWith("/")?e:`/${e}`,l=n.selectedCredentialId?n.selectedCredentialId:null===(r=this.userState.integrations[t])||void 0===r?void 0:r.credentialId,d=await this.sendConnectRequest(`${o}${s}`,{method:n.method,body:"object"==typeof n.body?JSON.stringify(n.body):n.body,headers:{"Content-Type":u.INFER_CONTENT_TYPE_FROM_CONNECT_OPTIONS,...l?{[u.SELECTED_CREDENTIAL_ID_HEADER]:l}:{},...n.headers},baseURLOverride:this.environments.WORKER_PROXY_PUBLIC_URL});return null==d?void 0:d.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||!i&&r)throw new Error("Both Configuration ID and Credential ID must either be provided together or not at all.");const o=this.getCredentialAndConfig({selectedConfigurationId:i,selectedCredentialId:r});await this.sendConnectRequest(`/v2/projects/${this.projectId}/sdk/events/trigger`,{method:"POST",headers:{...o?{[u.SELECTED_CREDENTIAL_ID_HEADER]:o.selectedCredential.id,[u.SELECTED_CREDENTIAL_CONFIG_ID_HEADER]:o.selectedConfig.id}:{}},body:JSON.stringify({name:t,payload:e})},!1)}onClose(){let t=arguments.length>0&&void 0!==arguments[0]&&arguments[0];const{integration:n,apiInstallationOptions:i}=this.modalState;n&&(this.triggerSDKEvent({type:u.SDK_EVENT.ON_PORTAL_CLOSE,integrationId:n.id,integrationType:(0,a.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:u.SDK_EVENT.ON_PORTAL_OPEN,integrationId:t.id,integrationType:(0,a.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(),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:{[u.SELECTED_CREDENTIAL_ID_HEADER]:d.selectedCredential.id,[u.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 Error("User not authenticated, Call paragon.authenticate(<projectId>, <user token>) before using the SDK.");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.`);return this.setModalState({integration:null}),this.connect(t,n)}ensureHeadlessIsSupported(){if(!this.project.accessibleFeatures.includes(u.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 Error("User not authenticated, Call paragon.authenticate(<projectId>, <user token>) before using the SDK.");if(this.ensureHeadlessIsSupported(),this.validateAction(t),!this.isAlreadyInstalled(t,this.userState,e.selectedCredentialId))throw new Error(`Integration "${t}" is not installed.`);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?{[u.SELECTED_CREDENTIAL_ID_HEADER]:o}:{}}}),this.updateAuthenticatedUser({integrations:{...this.userState.integrations,[t]:(0,l.getActionStateForCredentialDelete)(o,r)}}),n===this.modalState.selectedCredentialId&&this.setModalState({integration:null,selectedCredentialId:void 0}),this.saveState(),this.triggerSDKEvent({type:u.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,o=this.getIntegrationForWorkflow(t),s=this.getCredentialAndConfig(i||r?{selectedCredentialId:i,selectedConfigurationId:r}:{selectedCredentialId:o.credentialId},o);if(!s||!(null===(n=s.selectedConfig.workflowSettings[t])||void 0===n?void 0:n.enabled))throw new Error(`Workflow ${t} cannot be disabled for this user.`);await this.sendConnectRequest(`/sdk/workflows/${t}`,{method:"DELETE",headers:{[u.SELECTED_CREDENTIAL_ID_HEADER]:s.selectedCredential.id,[u.SELECTED_CREDENTIAL_CONFIG_ID_HEADER]:s.selectedConfig.id}}),await this.updateLocalState()}async enableWorkflow(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};var n;const{selectedCredentialId:i,selectedConfigurationId:r}=e,s=this.getIntegrationForWorkflow(t),a=this.getCredentialAndConfig(i||r?{selectedCredentialId:i,selectedConfigurationId:r}:{selectedCredentialId:s.credentialId},s);if(!a||(null==a?void 0:a.selectedCredential.status)!==o.CredentialStatus.VALID)throw new Error("Valid credential not found for provided options.");const{selectedConfig:l,selectedCredential:d}=a;if(null===(n=l.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:{[u.SELECTED_CREDENTIAL_ID_HEADER]:d.id,[u.SELECTED_CREDENTIAL_CONFIG_ID_HEADER]:l.id}}),await this.updateLocalState()}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?{[u.SELECTED_CREDENTIAL_ID_HEADER]:e.selectedCredentialId}:{}});if(!r)throw new Error("Integration not connected");return r}getIntegrationForWorkflow(t){if(!this.userState.authenticated)throw new Error("User not authenticated, Call paragon.authenticate(<projectId>, <user token>) before using the SDK.");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,a.getIntegrationTypeName)(e)?this.userState.integrations[(0,a.getIntegrationTypeName)(e)]:void 0;if(!n||!n.allCredentials.some((t=>{let{status:e}=t;return e===o.CredentialStatus.VALID})))throw new Error(`Integration "${(0,a.getIntegrationTypeName)(e)}" not enabled for workflow."`);return n}async updateLocalState(){var t;const[e,n]=await Promise.all([this.fetchUserData(),this.fetchIntegrations()]);let i={...e.integrations};if(this.modalState.integration&&this.integrationToBeEnabled){const e=this.userState.integrations[this.integrationToBeEnabled],n=e?null===(t=i[this.integrationToBeEnabled])||void 0===t?void 0:t.allConfigurations.find((t=>{let{id:n}=t;return n===e.credentialConfigId})):void 0;n&&(i={...i,[this.integrationToBeEnabled]:{enabled:!1,allConfigurations:[],allCredentials:[],...i[this.integrationToBeEnabled],credentialConfigId:n.id,workflowSettings:n.workflowSettings,configuredWorkflows:n.workflowSettings,sharedSettings:n.sharedSettings,configMeta:n.configMeta}})}this.updateAuthenticatedUser({integrations:i,meta:e.meta,resources:e.resources}),this.updateIntegrations(n),this.saveState()}async fetchUserData(){const t=await this.sendConnectRequest("/sdk/me");if(!t)throw new Error("Unable to get user Data");return{...t,integrations:Object.fromEntries(Object.entries(t.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}updateIntegrations(t){t.forEach((t=>{var e,n,i;if(t.configs.length)try{const r=(0,a.getIntegrationTypeName)(t);this.loadedConfigs[r]=t.configs[0].values,this.loadedIntegrations[r]=t,Boolean(t.isActive)&&(this.metadata[r]={type:r,name:t.name,brandColor:t.brandColor,icon:null!==(n=null===(e=t.customIntegration)||void 0===e?void 0:e.icon)&&void 0!==n?n:`${this.environments.CDN_PUBLIC_URL}/integrations/${u.overrideActionAlias[t.type]||t.type}.svg`}),(null===(i=this.modalState.integration)||void 0===i?void 0:i.id)===t.id&&this.setModalState({integration:t})}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;if(!t||!t.host)throw new Error("host not specified");const l=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,p.getServiceUrl)("connect",l),this.environments.DASHBOARD_PUBLIC_URL=null!==(i=null==e?void 0:e.DASHBOARD_PUBLIC_URL)&&void 0!==i?i:(0,p.getServiceUrl)("dashboard",l),this.environments.PASSPORT_PUBLIC_URL=null!==(r=null==e?void 0:e.PASSPORT_PUBLIC_URL)&&void 0!==r?r:(0,p.getServiceUrl)("passport",l),this.environments.ZEUS_PUBLIC_URL=null!==(o=null==e?void 0:e.ZEUS_PUBLIC_URL)&&void 0!==o?o:(0,p.getServiceUrl)("zeus",l),this.environments.CDN_PUBLIC_URL=null!==(s=null==e?void 0:e.CDN_PUBLIC_URL)&&void 0!==s?s:(0,p.getServiceUrl)("dashboard",l),this.environments.WORKER_PROXY_PUBLIC_URL=null!==(a=null==e?void 0:e.WORKER_PROXY_PUBLIC_URL)&&void 0!==a?a:(0,p.getServiceUrl)("proxy",l),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,p.isValidUrl)(e.redirectUrl))throw new Error(`${e.redirectUrl} is not valid url`);this.validateAction(t);const i=Object.values(this.loadedIntegrations).find((e=>(0,a.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,p.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,i,r,s,l,d;const c=this.userState,u=(0,a.getIntegrationTypeName)(e),h=c.integrations[u],f=h.allCredentials.findIndex((e=>e.id===t.id));f>-1?h.allCredentials[f]=t:h.allCredentials.push(t);const g=Object.fromEntries((h.allConfigurations||[]).concat(t.configurations).map((t=>[t.id,t])));this.updateAuthenticatedUser({integrations:{...c.integrations,[u]:{...h,allConfigurations:Object.values(g),credentialStatus:t.status,enabled:t.status===o.CredentialStatus.VALID,credentialId:t.id,providerId:t.providerId,providerData:t.providerData,configMeta:null===(n=t.configurations[0])||void 0===n?void 0:n.configMeta,credentialConfigId:null===(i=t.configurations[0])||void 0===i?void 0:i.id,externalId:null===(r=t.configurations[0])||void 0===r?void 0:r.externalId,sharedSettings:null===(s=t.configurations[0])||void 0===s?void 0:s.sharedSettings,workflowSettings:null===(l=t.configurations[0])||void 0===l?void 0:l.workflowSettings,configuredWorkflows:null===(d=t.configurations[0])||void 0===d?void 0:d.workflowSettings}}})}async connectAction(t,e){var n;if(!this.userState.authenticated)throw new Error("User not authenticated, Call paragon.authenticate(<projectId>, <user token>) before using the SDK.");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 Error("User not authenticated, Call paragon.authenticate(<projectId>, <user token>) before using the SDK.");if(!e)throw new Error('Required options not provided: "credentialId"');const s=this.getCredentialAndConfig({selectedCredentialId:e});if(!s||(null==s?void 0:s.selectedCredential.status)!==o.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 Error("User not authenticated, Call paragon.authenticate(<projectId>, <user token>) before using the SDK.");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:{[u.SELECTED_CREDENTIAL_ID_HEADER]:null==a?void 0:a.selectedCredential.id,[u.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 Error("User not authenticated, Call paragon.authenticate(<projectId>, <user token>) before using the SDK.");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:{[u.SELECTED_CREDENTIAL_ID_HEADER]:s.selectedCredential.id,[u.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){const e=Date.now(),n=async()=>{try{return await this.sendConnectRequest(`/sdk/actions/session-id/${t}`,{method:"GET"})}catch(t){return console.error("error",t),null}};try{const t=await(0,g.tryUntil)(n,(function(t,n){return!((arguments.length>2&&void 0!==arguments[2]?arguments[2]:1)>=20||Date.now()-e>=d.MAX_POLL_DURATION||(null==t?void 0:t.connectCredentialId))}),d.CREDENTIAL_POLL_INTERVAL);t&&t.connectCredentialId&&this.updateLocalState()}catch(t){console.error("Error while connecting to integration",t)}finally{await this.sendConnectRequest(`/sdk/actions/session-id/${t}`,{method:"DELETE"})}}}e.default=I},892:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});const i=n(821);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;try{for(var r=arguments.length,o=new Array(r>2?r-2:0),s=2;s<r;s++)o[s-2]=arguments[s];null===(i=null===(n=this.integrationStateCallbacks[t])||void 0===n?void 0:n[e])||void 0===i||i.call(n,...o)}catch(t){console.error(t)}}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.`)}}}},931:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ACTION_CUSTOM=void 0,e.ACTION_CUSTOM="custom"},59:(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={}))},663:(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}`}},343:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.isCustomIntegrationTypeName=e.getIntegrationTypeName=void 0;const i=n(931),r=n(663);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.")}},643:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.isStringEmpty=e.getActionStateForCredentialDelete=e.stripUndefinedAndNull=e.parseKeyedSource=void 0;const i=n(59);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()},429:(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(931),r=n(343),o=n(643);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 f=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(f),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}),p=`${n.environments.ZEUS_PUBLIC_URL}/projects/${n.projectId}/sdk/actions/build-oauth?${new URLSearchParams(g).toString()}`;return window.open(p,void 0,"width=500,height=600,left=100,top=150")}},992:(t,e)=>{"use strict";var n,i,r;Object.defineProperty(e,"__esModule",{value:!0}),e.AUTH_TOKEN_ALLOWED_INTEGRATIONS=e.overrideActionAlias=e.TokenType=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.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"}(e.SidebarInputType||(e.SidebarInputType={})),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"}(r||(r={})),e.overrideActionAlias={"monday.com":"monday","wordpress.com":"wordpress"},e.AUTH_TOKEN_ALLOWED_INTEGRATIONS={googledrive:{accessTokenPath:"OAUTH_ACCESS_TOKEN"}}},34:(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]}},935:(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=void 0;const i=n(992);i.SidebarInputType.ValueText,i.SidebarInputType.DynamicEnum,i.SidebarInputType.Enum,i.SidebarInputType.Number,i.SidebarInputType.Email,i.SidebarInputType.URL,i.SidebarInputType.FieldMapper,i.SidebarInputType.BooleanInput,i.SidebarInputType.ComboInput,i.SidebarInputType.Password,i.SidebarInputType.Switch,i.SidebarInputType.ValueTextArea;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"},977:(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={}))},65:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0})},821:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});const i=n(655);i.__exportStar(n(992),e),i.__exportStar(n(34),e),i.__exportStar(n(935),e),i.__exportStar(n(977),e),i.__exportStar(n(914),e),i.__exportStar(n(65),e),i.__exportStar(n(835),e),i.__exportStar(n(750),e),i.__exportStar(n(471),e)},835:(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={}))},750:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.FilePickerStatus=e.DocumentLoadingState=e.SDK_EVENT=e.ModalView=void 0,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={}))},158:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.sanitizeExternalConfigId=e.getAssetUrl=void 0;const i=n(914);e.getAssetUrl=t=>{let{CDN_PUBLIC_URL:e,DASHBOARD_PUBLIC_URL:n,VERSION:r,PLATFORM_ENV:o,NODE_ENV:s}=t;return e&&s===i.NODE_ENV.PRODUCTION&&o!==i.PLATFORM_ENV.ENTERPRISE?`${e}/${r}/dashboard/public`:n},e.sanitizeExternalConfigId=function(t){if(t.startsWith("ext:")){return(t.split("ext:").pop()||"").trim()}return t.trim()}},846:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.hash=void 0;const i=n(715);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.")}},321:(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}}},35:(t,e,n)=>{"use strict";var i,r,o,s,a=n(155);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},715:(t,e,n)=>{var i=e;i.utils=n(436),i.common=n(772),i.sha=n(41),i.ripemd=n(949),i.hmac=n(326),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},772:(t,e,n)=>{"use strict";var i=n(436),r=n(746);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}},326:(t,e,n)=>{"use strict";var i=n(436),r=n(746);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)}},949:(t,e,n)=>{"use strict";var i=n(436),r=n(772),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 f(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],v=n,C=i,I=r,S=d,O=c,y=0;y<80;y++){var T=s(o(l(n,u(y,i,r,d),t[g[y]+e],h(y)),_[y]),c);n=c,c=d,d=o(r,10),r=i,i=T,T=s(o(l(v,u(79-y,C,I,S),t[p[y]+e],f(y)),E[y]),O),v=O,O=S,S=o(I,10),I=C,C=T}T=a(this.h[1],r,S),this.h[1]=a(this.h[2],d,O),this.h[2]=a(this.h[3],c,v),this.h[3]=a(this.h[4],n,C),this.h[4]=a(this.h[0],i,I),this.h[0]=T},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],p=[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],_=[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],E=[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]},41:(t,e,n)=>{"use strict";e.sha1=n(761),e.sha224=n(799),e.sha256=n(344),e.sha384=n(978),e.sha512=n(900)},761:(t,e,n)=>{"use strict";var i=n(436),r=n(772),o=n(38),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],f=this.h[4];for(i=0;i<n.length;i++){var g=~~(i/20),p=l(s(r,5),d(g,o,c,h),f,n[i],u[g]);f=h,h=c,c=s(o,30),o=r,r=p}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],f)},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(436),r=n(344);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")}},344:(t,e,n)=>{"use strict";var i=n(436),r=n(772),o=n(38),s=n(746),a=i.sum32,l=i.sum32_4,d=i.sum32_5,c=o.ch32,u=o.maj32,h=o.s0_256,f=o.s1_256,g=o.g0_256,p=o.g1_256,_=r.BlockHash,E=[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 v(){if(!(this instanceof v))return new v;_.call(this),this.h=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225],this.k=E,this.W=new Array(64)}i.inherits(v,_),t.exports=v,v.blockSize=512,v.outSize=256,v.hmacStrength=192,v.padLength=64,v.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(p(n[i-2]),n[i-7],g(n[i-15]),n[i-16]);var r=this.h[0],o=this.h[1],_=this.h[2],E=this.h[3],v=this.h[4],C=this.h[5],I=this.h[6],S=this.h[7];for(s(this.k.length===n.length),i=0;i<n.length;i++){var O=d(S,f(v),c(v,C,I),this.k[i],n[i]),y=a(h(r),u(r,o,_));S=I,I=C,C=v,v=a(E,O),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],_),this.h[3]=a(this.h[3],E),this.h[4]=a(this.h[4],v),this.h[5]=a(this.h[5],C),this.h[6]=a(this.h[6],I),this.h[7]=a(this.h[7],S)},v.prototype._digest=function(t){return"hex"===t?i.toHex32(this.h,"big"):i.split32(this.h,"big")}},978:(t,e,n)=>{"use strict";var i=n(436),r=n(900);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")}},900:(t,e,n)=>{"use strict";var i=n(436),r=n(772),o=n(746),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,f=i.sum64_4_hi,g=i.sum64_4_lo,p=i.sum64_5_hi,_=i.sum64_5_lo,E=r.BlockHash,v=[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 C(){if(!(this instanceof C))return new C;E.call(this),this.h=[1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209],this.k=v,this.W=new Array(160)}function I(t,e,n,i,r){var o=t&n^~t&r;return o<0&&(o+=4294967296),o}function S(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 T(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 A(t,e){var n=s(t,e,14)^s(t,e,18)^s(e,t,9);return n<0&&(n+=4294967296),n}function m(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 R(t,e){var n=a(t,e,1)^a(t,e,8)^d(t,e,7);return n<0&&(n+=4294967296),n}function P(t,e){var n=s(t,e,19)^s(e,t,29)^l(t,e,6);return n<0&&(n+=4294967296),n}function b(t,e){var n=a(t,e,19)^a(e,t,29)^d(t,e,6);return n<0&&(n+=4294967296),n}i.inherits(C,E),t.exports=C,C.blockSize=1024,C.outSize=512,C.hmacStrength=192,C.padLength=128,C.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=P(n[i-4],n[i-3]),o=b(n[i-4],n[i-3]),s=n[i-14],a=n[i-13],l=N(n[i-30],n[i-29]),d=R(n[i-30],n[i-29]),c=n[i-32],u=n[i-31];n[i]=f(r,o,s,a,l,d,c,u),n[i+1]=g(r,o,s,a,l,d,c,u)}},C.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],f=this.h[6],g=this.h[7],E=this.h[8],v=this.h[9],C=this.h[10],N=this.h[11],R=this.h[12],P=this.h[13],b=this.h[14],L=this.h[15];o(this.k.length===n.length);for(var D=0;D<n.length;D+=2){var U=b,M=L,k=A(E,v),j=m(E,v),B=I(E,v,C,N,R),F=S(E,v,C,N,R,P),x=this.k[D],$=this.k[D+1],K=n[D],V=n[D+1],W=p(U,M,k,j,B,F,x,$,K,V),G=_(U,M,k,j,B,F,x,$,K,V);U=T(i,r),M=w(i,r),k=O(i,r,s,a,l),j=y(i,r,s,a,l,d);var H=u(U,M,k,j),q=h(U,M,k,j);b=R,L=P,R=C,P=N,C=E,N=v,E=u(f,g,W,G),v=h(g,g,W,G),f=l,g=d,l=s,d=a,s=i,a=r,i=u(W,G,H,q),r=h(W,G,H,q)}c(this.h,0,i,r),c(this.h,2,s,a),c(this.h,4,l,d),c(this.h,6,f,g),c(this.h,8,E,v),c(this.h,10,C,N),c(this.h,12,R,P),c(this.h,14,b,L)},C.prototype._digest=function(t){return"hex"===t?i.toHex32(this.h,"big"):i.split32(this.h,"big")}},38:(t,e,n)=>{"use strict";var i=n(436).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}},436:(t,e,n)=>{"use strict";var i=n(746),r=n(717);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}},717: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}}},245:(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)}}},746: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)}},155: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 f(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 f(t,e)),1!==l.length||d||s(h)},f.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:()=>S,__asyncGenerator:()=>I,__asyncValues:()=>O,__await:()=>C,__awaiter:()=>c,__classPrivateFieldGet:()=>m,__classPrivateFieldSet:()=>N,__createBinding:()=>h,__decorate:()=>a,__exportStar:()=>f,__extends:()=>r,__generator:()=>u,__importDefault:()=>A,__importStar:()=>w,__makeTemplateObject:()=>y,__metadata:()=>d,__param:()=>l,__read:()=>p,__rest:()=>s,__spread:()=>_,__spreadArray:()=>v,__spreadArrays:()=>E,__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 f(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 p(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 _(){for(var t=[],e=0;e<arguments.length;e++)t=t.concat(p(arguments[e]));return t}function E(){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 v(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 C(t){return this instanceof C?(this.v=t,this):new C(t)}function I(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 C?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 S(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:C(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 T=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 T(e,t),e}function A(t){return t&&t.__esModule?t:{default:t}}function m(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](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})();
@@ -1,14 +0,0 @@
1
- /*! *****************************************************************************
2
- Copyright (c) Microsoft Corporation.
3
-
4
- Permission to use, copy, modify, and/or distribute this software for any
5
- purpose with or without fee is hereby granted.
6
-
7
- THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
8
- REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
9
- AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
10
- INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
11
- LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
12
- OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
13
- PERFORMANCE OF THIS SOFTWARE.
14
- ***************************************************************************** */
@@ -1,56 +0,0 @@
1
- import { AuthenticatedConnectUser, CallbackMap, EventInfo, ListenerFunction, SDK_EVENT } from './types';
2
- export default class SDKEventEmitter {
3
- private eventListenersMap;
4
- private integrationStateCallbacks;
5
- /**
6
- * this will add listener to event listeners list
7
- * @param eventName
8
- * @returns function to unsubscribe current listener
9
- */
10
- subscribe(eventName: SDK_EVENT, listener: ListenerFunction): () => boolean;
11
- /**
12
- * this method add bind callbackMap to integration type
13
- * and emit event for particular integration
14
- * @param integrationType
15
- * @param callbackMap
16
- */
17
- subscribeToIntegration(integrationType: string, callbackMap: CallbackMap): void;
18
- /**
19
- * this method removes listener from evenListenerMap
20
- * @param eventName
21
- * @param listener
22
- * @returns true if successfully unsubscribed else false
23
- */
24
- unsubscribe(eventName: SDK_EVENT, listener: ListenerFunction): boolean;
25
- /**
26
- * check if event is valid paragon sdk event
27
- * @param eventName
28
- */
29
- private assertEventType;
30
- /**
31
- * this method call attached listeners with payload for eventName type
32
- * @param eventName
33
- * @param eventPayload
34
- */
35
- private emitSafe;
36
- /**
37
- * this method will call errorCallback for integration
38
- * @param error
39
- * @param integrationType
40
- */
41
- emitError(error: Error, integrationType: string): void;
42
- /**
43
- * this will call callBack function inside try-catch block
44
- * @param integrationType
45
- * @param callbackType
46
- * @param payload
47
- */
48
- private invokeCallbackSafe;
49
- /**
50
- * this will invoke emitSafe method with proper payload
51
- * @param event
52
- * @param userState
53
- * @param modalState
54
- */
55
- triggerEvent({ type, integrationId, integrationType, workflowId, workflowStateChange }: EventInfo, userState: AuthenticatedConnectUser): void;
56
- }
@@ -1 +0,0 @@
1
- export declare const ACTION_CUSTOM = "custom";
@@ -1,5 +0,0 @@
1
- export interface IBaseEntity {
2
- id: string;
3
- dateCreated: Date;
4
- dateUpdated: Date;
5
- }
@@ -1,41 +0,0 @@
1
- import { SDKConnectCredentialConfig } from '../types/connect';
2
- import { IConnectCredentialConfig } from './connectCredentialConfig.interface';
3
- export interface IConnectCredential {
4
- id: string;
5
- projectId: string;
6
- integrationId: string;
7
- /**
8
- * @deprecated
9
- */
10
- config?: SDKConnectCredentialConfig;
11
- configurations: IConnectCredentialConfig[];
12
- personaId: string;
13
- isPreviewCredential: boolean;
14
- /**
15
- * @property providerId : this property stores user's identifiers in third party database e.g. Shopify
16
- */
17
- providerId: string;
18
- dateCreated: Date;
19
- dateUpdated: Date;
20
- dateValidUntil?: Date;
21
- dateRefreshed: Date;
22
- status: CredentialStatus;
23
- /**
24
- * miscellaneous integration provider data received along with access_token/userinfo
25
- */
26
- providerData: ConnectCredentialProviderData;
27
- /**
28
- * count how many times credential failed to refresh
29
- */
30
- refreshFailureCount: number;
31
- /**
32
- * accountAuth contains the decrypted oauth access token. This property will only be available for some of integrations
33
- */
34
- accountAuth?: Record<string, string>;
35
- }
36
- export type ConnectCredentialProviderData = Record<string, string | number | boolean>;
37
- export declare enum CredentialStatus {
38
- PENDING = "PENDING",
39
- INVALID = "INVALID",
40
- VALID = "VALID"
41
- }