@budibase/client 3.21.0 → 3.21.1

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.
@@ -258,7 +258,7 @@ ${u}
258
258
  </g>
259
259
  </g>
260
260
  </svg>
261
- `;var HTTPMethod=(u=>(u.POST="POST",u.PATCH="PATCH",u.GET="GET",u.PUT="PUT",u.DELETE="DELETE",u))(HTTPMethod||{});const BannedSearchTypes=[FieldType.LINK,FieldType.ATTACHMENT_SINGLE,FieldType.ATTACHMENTS,FieldType.FORMULA,FieldType.JSON,FieldType.ATTACHMENT_SINGLE,FieldType.SIGNATURE_SINGLE,"jsonarray","queryarray"],Cookies={Auth:"budibase:auth",CurrentApp:"budibase:currentapp",ReturnUrl:"budibase:returnurl",AccountReturnUrl:"budibase:account:returnurl",OnboardingProcessCorrelationKey:BpmCorrelationKey.ONBOARDING};var TableNames=(u=>(u.USERS="ta_users",u))(TableNames||{});const BudibaseRoles={AppUser:"appUser",Developer:"developer",Creator:"creator",Admin:"admin",Owner:"owner"},BudibaseRoleOptionsOld=[{label:"Developer",value:BudibaseRoles.Developer,sortOrder:2}],BudibaseRoleOptions=[{label:"Tenant admin",value:BudibaseRoles.Admin,subtitle:"Has full access to all workspaces in your tenant",sortOrder:1},{label:"Creator",value:BudibaseRoles.Creator,subtitle:"Can create and edit apps they have access to",sortOrder:2},{label:"App user",value:BudibaseRoles.AppUser,subtitle:"Can only use published apps they have access to",sortOrder:3}],ExtendedBudibaseRoleOptions=[{label:"Account holder",value:BudibaseRoles.Owner,sortOrder:0},...BudibaseRoleOptions,...BudibaseRoleOptionsOld],PlanType={FREE:"free",TEAM:"team",PRO:"pro",BUSINESS:"business",PREMIUM:"premium",PREMIUM_PLUS:"premium_plus",ENTERPRISE:"enterprise",ENTERPRISE_BASIC_TRIAL:"enterprise_basic_trial"},ApiVersion="1",Roles={ADMIN:"ADMIN",POWER:"POWER",BASIC:"BASIC",PUBLIC:"PUBLIC",BUILDER:"BUILDER",CREATOR:"CREATOR",GROUP:"GROUP"},EventPublishType={ENV_VAR_UPGRADE_PANEL_OPENED:"environment_variable_upgrade_panel_opened"},TypeIconMap={[FieldType.STRING]:"text-align-left",[FieldType.OPTIONS]:"caret-circle-down",[FieldType.DATETIME]:"calendar",[FieldType.BARCODEQR]:"barcode",[FieldType.SIGNATURE_SINGLE]:"pen-nib",[FieldType.LONGFORM]:"text-align-left",[FieldType.ARRAY]:"list-checks",[FieldType.NUMBER]:"hash",[FieldType.BOOLEAN]:"toggle-right",[FieldType.ATTACHMENTS]:"files",[FieldType.ATTACHMENT_SINGLE]:"file",[FieldType.LINK]:"arrow-circle-up-right",[FieldType.FORMULA]:"calculator",[FieldType.AI]:"sparkle",[FieldType.JSON]:"brackets-angle",[FieldType.BIGINT]:"text-bolder",[FieldType.AUTO]:"shapes",[FieldType.BB_REFERENCE]:{[BBReferenceFieldSubType.USER]:"users-three",[BBReferenceFieldSubType.USERS]:"users-three"},[FieldType.BB_REFERENCE_SINGLE]:{[BBReferenceFieldSubType.USER]:"user"}},OptionColours=[...new Array(12).keys()].map(u=>`hsla(${(u+1)*222%360}, 90%, 75%, 0.3)`),FilterOperator={ANY:"any",ALL:"all"},OnEmptyFilter={RETURN_ALL:"all",RETURN_NONE:"none"},FilterValueType={BINDING:"Binding",VALUE:"Value"},FieldPermissions={WRITABLE:"writable",READONLY:"readonly",HIDDEN:"hidden"},APP_NAME_REGEX=/^[\w\s]+$/,APP_URL_REGEX=/^[0-9a-zA-Z-_]+$/,Constants$2=Object.freeze(Object.defineProperty({__proto__:null,APP_NAME_REGEX,APP_URL_REGEX,ApiVersion,BannedSearchTypes,BudibaseRoleOptions,BudibaseRoleOptionsOld,BudibaseRoles,ContextScopes:ComponentContextScopes,Cookies,DEFAULT_BB_DATASOURCE_ID,EventPublishType,ExtendedBudibaseRoleOptions,Features:Feature,FieldPermissions,FilterOperator,FilterValueType,OnEmptyFilter,OperatorOptions,OptionColours,PlanType,Roles,SqlNumberTypeRangeMap,TableNames,TypeIconMap},Symbol.toStringTag,{value:"Module"})),buildAnalyticsEndpoints=u=>({getAnalyticsStatus:async()=>await u.get({url:"/api/bbtel"}),analyticsPing:async l=>await u.post({url:"/api/bbtel/ping",body:{...l,timezone:Intl.DateTimeFormat().resolvedOptions().timeZone}})}),buildAIEndpoints=u=>({generateCronExpression:async l=>await u.post({url:"/api/ai/cron",body:{prompt:l}}),generateJs:async l=>await u.post({url:"/api/ai/js",body:l}),generateTables:async l=>await u.post({url:"/api/ai/tables",body:l})}),buildAppEndpoints=u=>({fetchAppPackage:async l=>await u.get({url:`/api/applications/${l}/appPackage`}),saveAppMetadata:async(l,f)=>await u.put({url:`/api/applications/${l}`,body:f}),publishAppChanges:async(l,f)=>await u.post({url:`/api/applications/${l}/publish`,body:f}),revertAppChanges:async l=>await u.post({url:`/api/dev/${l}/revert`}),updateAppClientVersion:async l=>await u.post({url:`/api/applications/${l}/client/update`}),revertAppClientVersion:async l=>await u.post({url:`/api/applications/${l}/client/revert`}),getAppDeployments:async()=>await u.get({url:"/api/deployments"}),createApp:async l=>l instanceof FormData?await u.post({url:"/api/applications",body:l,json:!1}):await u.post({url:"/api/applications",body:l}),duplicateApp:async(l,f)=>await u.post({url:`/api/applications/${l}/duplicate`,body:f}),updateAppFromExport:async(l,f,p)=>{const m=getDevAppID(l),b=new FormData;b.append("appExport",p);for(const[y,w]of Object.entries(f))b.append(y,w);return await u.post({url:`/api/applications/${m}/import`,body:b,json:!1})},importApps:async l=>await u.post({url:"/api/cloud/import",body:l,json:!1}),unpublishApp:async l=>await u.post({url:`/api/applications/${l}/unpublish`}),deleteApp:async l=>await u.delete({url:`/api/applications/${l}`}),releaseAppLock:async l=>await u.delete({url:`/api/dev/${l}/lock`}),fetchSystemDebugInfo:async()=>await u.get({url:"/api/debug/diagnostics"}),getApps:async()=>await u.get({url:"/api/applications?status=all"}),fetchComponentLibDefinitions:async l=>await u.get({url:`/api/${l}/components/definitions`}),addSampleData:async l=>await u.post({url:`/api/applications/${l}/sample`}),getPublishedApps:async()=>(await u.get({url:"/api/client/applications"})).apps}),buildAttachmentEndpoints=u=>{const l={getSignedDatasourceURL:async(f,p,m)=>await u.post({url:`/api/attachments/${f}/url`,body:{bucket:p,key:m}})};return{...l,uploadAttachment:async(f,p)=>await u.post({url:`/api/attachments/${f}/upload`,body:p,json:!1}),uploadBuilderAttachment:async f=>await u.post({url:"/api/attachments/process",body:f,json:!1}),uploadPWAZip:async f=>await u.post({url:"/api/pwa/process-zip",body:f,json:!1}),externalUpload:async(f,p,m,b)=>{const{signedUrl:y,publicUrl:w}=await l.getSignedDatasourceURL(f,p,m);return y?(await u.put({url:y,body:b,json:!1,external:!0,parseResponse:v=>v}),{publicUrl:w}):{publicUrl:void 0}},downloadAttachment:async(f,p,m)=>await u.get({url:`/api/${f}/rows/${p}/attachment/${m}`,parseResponse:b=>b,suppressErrors:!0})}},buildAuthEndpoints=u=>({logIn:async(l,f,p)=>await u.post({url:`/api/global/auth/${l}/login`,body:{username:f,password:p},parseResponse:async m=>{const b=await m.json(),y=m.headers.get("X-Session-Invalidated-Count");return{...b,invalidatedSessionCount:y?parseInt(y):0}}}),logOut:async()=>await u.post({url:"/api/global/auth/logout"}),setInitInfo:async l=>await u.post({url:"/api/global/auth/init",body:l}),getInitInfo:async()=>await u.get({url:"/api/global/auth/init"}),requestForgotPassword:async(l,f)=>await u.post({url:`/api/global/auth/${l}/reset`,body:{email:f}}),resetPassword:async(l,f,p)=>await u.post({url:`/api/global/auth/${l}/reset/update`,body:{password:f,resetCode:p}})}),buildAutomationEndpoints=u=>({triggerAutomation:async(l,f,p)=>await u.post({url:`/api/automations/${l}/trigger`,body:{fields:f,timeout:p}}),testAutomation:async(l,f)=>await u.post({url:`/api/automations/${l}/test`,body:f}),getAutomations:async()=>await u.get({url:"/api/automations"}),getAutomationDefinitions:async()=>await u.get({url:"/api/automations/definitions/list"}),createAutomation:async l=>await u.post({url:"/api/automations",body:l}),updateAutomation:async l=>await u.put({url:"/api/automations",body:l}),deleteAutomation:async(l,f)=>await u.delete({url:`/api/automations/${l}/${f}`}),getAutomationLogs:async l=>await u.post({url:"/api/automations/logs/search",body:l}),clearAutomationLogErrors:async(l,f)=>await u.delete({url:"/api/automations/logs",body:{appId:f,automationId:l}})}),buildConfigEndpoints=u=>({saveConfig:async l=>await u.post({url:"/api/global/configs",body:l}),getConfig:async l=>await u.get({url:`/api/global/configs/${l}`}),deleteConfig:async(l,f)=>await u.delete({url:`/api/global/configs/${l}/${f}`}),getTenantConfig:async l=>await u.get({url:`/api/global/configs/public?tenantId=${l}`}),getOIDCConfigs:async l=>await u.get({url:`/api/global/configs/public/oidc?tenantId=${l}`}),getChecklist:async l=>await u.get({url:`/api/global/configs/checklist?tenantId=${l}`}),uploadLogo:async l=>await u.post({url:"/api/global/configs/upload/settings/logoUrl",body:l,json:!1}),uploadFavicon:async l=>await u.post({url:"/api/global/configs/upload/settings/faviconUrl",body:l,json:!1}),uploadOIDCLogo:async(l,f)=>await u.post({url:`/api/global/configs/upload/logos_oidc/${l}`,body:f,json:!1}),getOIDCLogos:async()=>await u.get({url:"/api/global/configs/logos_oidc"})}),buildDatasourceEndpoints=u=>({getDatasources:async()=>await u.get({url:"/api/datasources"}),buildDatasourceSchema:async(l,f)=>await u.post({url:`/api/datasources/${l}/schema`,body:{tablesFilter:f}}),createDatasource:async l=>await u.post({url:"/api/datasources",body:l}),updateDatasource:async l=>await u.put({url:`/api/datasources/${l._id}`,body:l}),deleteDatasource:async(l,f)=>await u.delete({url:`/api/datasources/${l}/${f}`}),validateDatasource:async l=>await u.post({url:"/api/datasources/verify",body:{datasource:l}}),fetchInfoForDatasource:async l=>await u.post({url:"/api/datasources/info",body:{datasource:l}}),fetchExternalSchema:async l=>await u.get({url:`/api/datasources/${l}/schema/external`})}),buildFlagEndpoints=u=>({getFlags:async()=>await u.get({url:"/api/users/flags"}),updateFlag:async(l,f)=>await u.post({url:"/api/users/flags",body:{flag:l,value:f}})}),buildLayoutEndpoints=u=>({saveLayout:async l=>await u.post({url:"/api/layouts",body:l}),deleteLayout:async(l,f)=>await u.delete({url:`/api/layouts/${l}/${f}`})}),buildOtherEndpoints=u=>({getEnvironment:async()=>await u.get({url:"/api/system/environment"}),getSystemStatus:async()=>await u.get({url:"/api/system/status"}),getIntegrations:async()=>await u.get({url:"/api/integrations"}),getBudibaseVersion:async()=>(await u.get({url:"/api/dev/version"})).version,getBasePermissions:async()=>await u.get({url:"/api/permission/builtin"})}),buildPermissionsEndpoints=u=>({getPermissionForResource:async l=>await u.get({url:`/api/permission/${l}`}),updatePermissionForResource:async(l,f,p)=>await u.post({url:`/api/permission/${f}/${l}/${p}`}),removePermissionFromResource:async(l,f,p)=>await u.delete({url:`/api/permission/${f}/${l}/${p}`}),getDependants:async l=>await u.get({url:`/api/permission/${l}/dependants`})}),buildQueryEndpoints=u=>({executeQuery:async(l,{pagination:f,parameters:p}={})=>await u.post({url:`/api/v2/queries/${l}`,body:{parameters:p,pagination:f}}),fetchQueryDefinition:async l=>await u.get({url:`/api/queries/${l}`,cache:!0}),getQueries:async()=>await u.get({url:"/api/queries"}),saveQuery:async l=>await u.post({url:"/api/queries",body:l}),deleteQuery:async(l,f)=>await u.delete({url:`/api/queries/${l}/${f}`}),importQueries:async l=>await u.post({url:"/api/queries/import",body:l}),previewQuery:async l=>await u.post({url:"/api/queries/preview",body:l})}),buildRelationshipEndpoints=u=>({fetchRelationshipData:async(l,f,p)=>{const m=await u.get({url:`/api/${l}/${f}/enrich?field=${p}`});return p?m[p]||[]:[m]}}),buildRoleEndpoints=u=>({deleteRole:async(l,f)=>await u.delete({url:`/api/roles/${l}/${f}`}),saveRole:async l=>await u.post({url:"/api/roles",body:l}),getRoles:async()=>await u.get({url:"/api/roles"}),getRolesForApp:async l=>await u.get({url:`/api/global/roles/${l}`}),getAccessibleRoles:async()=>await u.get({url:"/api/roles/accessible"})}),buildRouteEndpoints=u=>({fetchClientAppRoutes:async()=>await u.get({url:"/api/routing/client"}),fetchAppRoutes:async()=>await u.get({url:"/api/routing"})}),buildRowEndpoints=u=>({fetchRow:async(l,f)=>await u.get({url:`/api/${l}/rows/${f}`}),saveRow:async(l,f=!1)=>{const p=l._viewId||l.tableId;return await u.post({url:`/api/${p}/rows`,body:l,suppressErrors:f})},patchRow:async(l,f=!1)=>{const p=l._viewId||l.tableId;return await u.patch({url:`/api/${p}/rows`,body:l,suppressErrors:f})},deleteRow:async(l,f)=>await u.delete({url:`/api/${l}/rows`,body:{_id:f}}),deleteRows:async(l,f)=>(f.forEach(p=>{typeof p=="object"&&(p==null||delete p._viewId)}),await u.delete({url:`/api/${l}/rows`,body:{rows:f}})),exportRows:async(l,f,p)=>await u.post({url:`/api/${l}/rows/exportRows?format=${f}`,body:p,parseResponse:async m=>await m.text()})}),buildScreenEndpoints=u=>({saveScreen:async l=>await u.post({url:"/api/screens",body:l}),deleteScreen:async(l,f)=>await u.delete({url:`/api/screens/${l}/${f}`}),usageInScreens:async l=>await u.post({url:`/api/screens/usage/${l}`})}),buildTableEndpoints=u=>({fetchTableDefinition:async l=>await u.get({url:`/api/tables/${l}`,cache:!0}),fetchTableData:async l=>await u.get({url:`/api/${l}/rows`}),searchTable:async(l,f)=>await u.post({url:`/api/${l}/search`,body:f}),importTableData:async(l,f,p)=>await u.post({url:`/api/tables/${l}/import`,body:{rows:f,identifierFields:p}}),csvToJson:async l=>await u.post({url:"/api/convert/csvToJson",body:{csvString:l}}),getTables:async()=>await u.get({url:"/api/tables"}),getTable:async l=>await u.get({url:`/api/tables/${l}`}),saveTable:async l=>await u.post({url:"/api/tables",body:l}),deleteTable:async(l,f)=>await u.delete({url:`/api/tables/${l}/${f}`}),validateNewTableImport:async(l,f)=>await u.post({url:"/api/tables/validateNewTableImport",body:{rows:l,schema:f}}),validateExistingTableImport:async(l,f)=>await u.post({url:"/api/tables/validateExistingTableImport",body:{rows:l,tableId:f}}),migrateColumn:async(l,f,p)=>await u.post({url:`/api/tables/${l}/migrate`,body:{oldColumn:f,newColumn:p}}),duplicateTable:async l=>await u.post({url:`/api/tables/${l}/duplicate`})}),buildTemplateEndpoints=u=>({getEmailTemplateDefinitions:async()=>await u.get({url:"/api/global/template/definitions"}),getEmailTemplates:async()=>await u.get({url:"/api/global/template/email"}),saveEmailTemplate:async l=>await u.post({url:"/api/global/template",body:l}),getAppTemplates:async()=>await u.get({url:"/api/templates"})}),buildUserEndpoints=u=>({getUsers:async()=>await u.get({url:"/api/global/users"}),searchUsers:async l=>await u.post({url:"/api/global/users/search",body:l}),getUser:async l=>await u.get({url:`/api/global/users/${l}`}),updateOwnMetadata:async l=>await u.post({url:"/api/users/metadata/self",body:l}),createAdminUser:async l=>await u.post({url:"/api/global/users/init",body:l}),saveUser:async l=>await u.post({url:"/api/global/users",body:l}),createUsers:async(l,f)=>(await u.post({url:"/api/global/users/bulk",body:{create:{users:l,groups:f}}})).created,deleteUser:async l=>await u.delete({url:`/api/global/users/${l}`}),deleteUsers:async l=>(await u.post({url:"/api/global/users/bulk",body:{delete:{users:l}}})).deleted,onboardUsers:async l=>await u.post({url:"/api/global/users/onboard",body:l}),addWorkspaceIdToInvite:async(l,f)=>await u.post({url:`/api/global/users/invite/${l}/${f}`}),removeWorkspaceIdFromInvite:async l=>await u.delete({url:`/api/global/users/invite/${l}`}),addUserToWorkspace:async(l,f,p)=>await u.post({url:`/api/global/users/${l}/permission/${f}`,body:{_rev:p}}),removeUserFromWorkspace:async(l,f)=>await u.delete({url:`/api/global/users/${l}/permission`,body:{_rev:f}}),getUserInvite:async l=>await u.get({url:`/api/global/users/invite/${l}`}),getUserInvites:async()=>await u.get({url:"/api/global/users/invites"}),inviteUsers:async l=>await u.post({url:"/api/global/users/multi/invite",body:l}),removeUserInvites:async l=>await u.post({url:"/api/global/users/multi/invite/delete",body:l}),acceptInvite:async l=>await u.post({url:"/api/global/users/invite/accept",body:l}),getUserCountByApp:async l=>(await u.get({url:`/api/global/users/count/${l}`})).userCount,getAccountHolder:async()=>await u.get({url:"/api/global/users/accountholder"})}),buildSelfEndpoints=u=>({generateAPIKey:async()=>{const l=await u.post({url:"/api/global/self/api_key"});return l==null?void 0:l.apiKey},fetchDeveloperInfo:async()=>u.get({url:"/api/global/self/api_key"}),fetchSelf:async()=>await u.get({url:"/api/self"}),fetchBuilderSelf:async()=>await u.get({url:"/api/global/self"}),updateSelf:async l=>await u.post({url:"/api/global/self",body:l})}),buildViewEndpoints=u=>({fetchViewData:async(l,{field:f,groupBy:p,calculation:m})=>{const b=new URLSearchParams;m&&(f&&b.set("field",f),b.set("calculation",m)),p&&b.set("group",p);const y=f?`/api/views/${encodeURIComponent(l)}?${b}`:`/api/views/${encodeURIComponent(l)}`;return await u.get({url:y})},exportView:async(l,f)=>{const p=encodeURIComponent(l);return await u.get({url:`/api/views/export?view=${p}&format=${f}`,parseResponse:async m=>await m.text()})},saveView:async l=>await u.post({url:"/api/views",body:l}),deleteView:async l=>await u.delete({url:`/api/views/${encodeURIComponent(l)}`})}),buildViewV2Endpoints=u=>({fetchDefinition:async l=>await u.get({url:`/api/v2/views/${encodeURIComponent(l)}`,cache:!0}),create:async l=>await u.post({url:"/api/v2/views",body:l}),update:async l=>await u.put({url:`/api/v2/views/${encodeURIComponent(l.id)}`,body:l}),fetch:async(l,f)=>await u.post({url:`/api/v2/views/${encodeURIComponent(l)}/search`,body:f}),delete:async l=>await u.delete({url:`/api/v2/views/${encodeURIComponent(l)}`})}),buildLicensingEndpoints=u=>({activateLicenseKey:async l=>u.post({url:"/api/global/license/key",body:{licenseKey:l}}),deleteLicenseKey:async()=>u.delete({url:"/api/global/license/key"}),getLicenseKey:async()=>{try{return await u.get({url:"/api/global/license/key"})}catch(l){if(l.status!==404)throw l}},getInstallInfo:async()=>{try{return await u.get({url:"/api/global/install"})}catch(l){if(l.status!==404)throw l}},activateOfflineLicense:async l=>u.post({url:"/api/global/license/offline",body:{offlineLicenseToken:l}}),deleteOfflineLicense:async()=>u.delete({url:"/api/global/license/offline"}),getOfflineLicense:async()=>{try{return await u.get({url:"/api/global/license/offline"})}catch(l){if(l.status!==404)throw l}},getOfflineLicenseIdentifier:async()=>await u.get({url:"/api/global/license/offline/identifier"}),refreshLicense:async()=>u.post({url:"/api/global/license/refresh"}),getQuotaUsage:async()=>u.get({url:"/api/global/license/usage"})}),buildGroupsEndpoints=u=>{async function l(f,p,m,b){return await u.post({url:`/api/global/groups/${f}/${p}`,body:{[m]:b}})}return{saveGroup:async f=>await u.post({url:"/api/global/groups",body:f}),getGroups:async()=>(await u.get({url:"/api/global/groups"})).data,getGroup:async f=>await u.get({url:`/api/global/groups/${f}`}),deleteGroup:async(f,p)=>await u.delete({url:`/api/global/groups/${f}/${p}`}),getGroupUsers:async({id:f,bookmark:p,emailSearch:m})=>{let b=`/api/global/groups/${f}/users?`;return p&&(b+=`bookmark=${p}&`),m&&(b+=`emailSearch=${m}`),await u.get({url:b})},addUsersToGroup:async(f,p)=>l(f,"users","add",p),removeUsersFromGroup:async(f,p)=>l(f,"users","remove",p),addAppsToGroup:async(f,p)=>l(f,"apps","add",p),removeAppsFromGroup:async(f,p)=>l(f,"apps","remove",p),bulkAddUsersFromCsv:async(f,p)=>await u.post({url:`/api/global/groups/${f}/users/bulk`,body:{csvContent:p}})}},buildPluginEndpoints=u=>({uploadPlugin:async l=>await u.post({url:"/api/plugin/upload",body:l,json:!1}),createPlugin:async l=>await u.post({url:"/api/plugin",body:l}),getPlugins:async()=>await u.get({url:"/api/plugin"}),deletePlugin:async l=>await u.delete({url:`/api/plugin/${encodeURIComponent(l)}`})}),buildBackupEndpoints=u=>({createManualBackup:async l=>await u.post({url:`/api/apps/${l}/backups`}),searchBackups:async(l,f)=>await u.post({url:`/api/apps/${l}/backups/search`,body:f}),deleteBackup:async(l,f)=>await u.delete({url:`/api/apps/${l}/backups/${f}`}),deleteBackups:async(l,f)=>await u.delete({url:`/api/apps/${l}/backups`,body:{backupIds:f}}),restoreBackup:async(l,f,p)=>await u.post({url:`/api/apps/${l}/backups/${f}/import`,body:{name:p}}),clearBackupErrors:async(l,f)=>await u.delete({url:"/api/backups/logs",body:{appId:l,backupId:f}})}),buildEnvironmentVariableEndpoints=u=>({checkEnvironmentVariableStatus:async()=>await u.get({url:"/api/env/variables/status"}),fetchEnvironmentVariables:async()=>await u.get({url:"/api/env/variables",json:!1}),createEnvironmentVariable:async l=>await u.post({url:"/api/env/variables",body:l}),deleteEnvironmentVariable:async l=>await u.delete({url:`/api/env/variables/${l}`}),updateEnvironmentVariable:async(l,f)=>await u.patch({url:`/api/env/variables/${l}`,body:f})}),buildEventEndpoints=u=>({publishEvent:async l=>await u.post({url:"/api/global/event/publish",body:{type:l}})}),buildAuditLogEndpoints=u=>({searchAuditLogs:async l=>await u.post({url:"/api/global/auditlogs/search",body:l}),getEventDefinitions:async()=>await u.get({url:"/api/global/auditlogs/definitions"}),getDownloadUrl:l=>`/api/global/auditlogs/download?query=${encodeURIComponent(JSON.stringify(l))}`}),buildLogsEndpoints=u=>({getSystemLogs:async()=>await u.get({url:"/api/system/logs",json:!1,parseResponse:async l=>l})}),buildMigrationEndpoints=u=>({getMigrationStatus:async()=>await u.get({url:"/api/migrations/status"})}),buildRowActionEndpoints=u=>({fetch:async l=>(await u.get({url:`/api/tables/${l}/actions`})).actions,create:async(l,f)=>await u.post({url:`/api/tables/${l}/actions`,body:{name:f}}),delete:async(l,f)=>await u.delete({url:`/api/tables/${l}/actions/${f}`}),enableView:async(l,f,p)=>await u.post({url:`/api/tables/${l}/actions/${f}/permissions/${p}`}),disableView:async(l,f,p)=>await u.delete({url:`/api/tables/${l}/actions/${f}/permissions/${p}`}),trigger:async(l,f,p)=>await u.post({url:`/api/tables/${l}/actions/${f}/trigger`,body:{rowId:p}})}),buildOAuth2Endpoints=u=>({fetch:async()=>(await u.get({url:"/api/oauth2"})).configs,create:async l=>await u.post({url:"/api/oauth2",body:{...l}}),update:async l=>await u.put({url:`/api/oauth2/${l._id}`,body:{...l}}),delete:async(l,f)=>await u.delete({url:`/api/oauth2/${l}/${f}`}),validate:async function(l){return await u.post({url:"/api/oauth2/validate",body:{...l}})}}),buildAgentEndpoints=u=>({agentChat:async l=>{const f=l;return await u.post({url:"/api/agent/chat",body:f})},agentChatStream:async(l,f,p,m)=>{var y;const b=l;try{const w=await fetch("/api/agent/chat/stream",{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json",[Header.APP_ID]:f},body:JSON.stringify(b),credentials:"same-origin"});if(!w.ok)throw new Error(`HTTP error! status: ${w.status}`);const v=(y=w.body)==null?void 0:y.getReader();if(!v)throw new Error("Failed to get response reader");const k=new TextDecoder;let S="";for(;;){const{done:B,value:O}=await v.read();if(B)break;S+=k.decode(O,{stream:!0});const R=S.split(`
261
+ `;var HTTPMethod=(u=>(u.POST="POST",u.PATCH="PATCH",u.GET="GET",u.PUT="PUT",u.DELETE="DELETE",u))(HTTPMethod||{});const BannedSearchTypes=[FieldType.LINK,FieldType.ATTACHMENT_SINGLE,FieldType.ATTACHMENTS,FieldType.FORMULA,FieldType.JSON,FieldType.ATTACHMENT_SINGLE,FieldType.SIGNATURE_SINGLE,"jsonarray","queryarray"],Cookies={Auth:"budibase:auth",CurrentApp:"budibase:currentapp",ReturnUrl:"budibase:returnurl",AccountReturnUrl:"budibase:account:returnurl",OnboardingProcessCorrelationKey:BpmCorrelationKey.ONBOARDING};var TableNames=(u=>(u.USERS="ta_users",u))(TableNames||{});const BudibaseRoles={AppUser:"appUser",Developer:"developer",Creator:"creator",Admin:"admin",Owner:"owner"},BudibaseRoleOptionsOld=[{label:"Developer",value:BudibaseRoles.Developer,sortOrder:2}],BudibaseRoleOptions=[{label:"Tenant admin",value:BudibaseRoles.Admin,subtitle:"Has full access to all workspaces in your tenant",sortOrder:1},{label:"Creator",value:BudibaseRoles.Creator,subtitle:"Can create and edit apps they have access to",sortOrder:2},{label:"App user",value:BudibaseRoles.AppUser,subtitle:"Can only use published apps they have access to",sortOrder:3}],ExtendedBudibaseRoleOptions=[{label:"Account holder",value:BudibaseRoles.Owner,sortOrder:0},...BudibaseRoleOptions,...BudibaseRoleOptionsOld],PlanType={FREE:"free",TEAM:"team",PRO:"pro",BUSINESS:"business",PREMIUM:"premium",PREMIUM_PLUS:"premium_plus",ENTERPRISE:"enterprise",ENTERPRISE_BASIC_TRIAL:"enterprise_basic_trial"},ApiVersion="1",Roles={ADMIN:"ADMIN",POWER:"POWER",BASIC:"BASIC",PUBLIC:"PUBLIC",BUILDER:"BUILDER",CREATOR:"CREATOR",GROUP:"GROUP"},EventPublishType={ENV_VAR_UPGRADE_PANEL_OPENED:"environment_variable_upgrade_panel_opened"},TypeIconMap={[FieldType.STRING]:"text-align-left",[FieldType.OPTIONS]:"caret-circle-down",[FieldType.DATETIME]:"calendar",[FieldType.BARCODEQR]:"barcode",[FieldType.SIGNATURE_SINGLE]:"pen-nib",[FieldType.LONGFORM]:"text-align-left",[FieldType.ARRAY]:"list-checks",[FieldType.NUMBER]:"hash",[FieldType.BOOLEAN]:"toggle-right",[FieldType.ATTACHMENTS]:"files",[FieldType.ATTACHMENT_SINGLE]:"file",[FieldType.LINK]:"arrow-circle-up-right",[FieldType.FORMULA]:"calculator",[FieldType.AI]:"sparkle",[FieldType.JSON]:"brackets-angle",[FieldType.BIGINT]:"text-bolder",[FieldType.AUTO]:"shapes",[FieldType.BB_REFERENCE]:{[BBReferenceFieldSubType.USER]:"users-three",[BBReferenceFieldSubType.USERS]:"users-three"},[FieldType.BB_REFERENCE_SINGLE]:{[BBReferenceFieldSubType.USER]:"user"}},OptionColours=[...new Array(12).keys()].map(u=>`hsla(${(u+1)*222%360}, 90%, 75%, 0.3)`),FilterOperator={ANY:"any",ALL:"all"},OnEmptyFilter={RETURN_ALL:"all",RETURN_NONE:"none"},FilterValueType={BINDING:"Binding",VALUE:"Value"},FieldPermissions={WRITABLE:"writable",READONLY:"readonly",HIDDEN:"hidden"},APP_NAME_REGEX=/^[\w\s]+$/,APP_URL_REGEX=/^[0-9a-zA-Z-_]+$/,Constants$2=Object.freeze(Object.defineProperty({__proto__:null,APP_NAME_REGEX,APP_URL_REGEX,ApiVersion,BannedSearchTypes,BudibaseRoleOptions,BudibaseRoleOptionsOld,BudibaseRoles,ContextScopes:ComponentContextScopes,Cookies,DEFAULT_BB_DATASOURCE_ID,EventPublishType,ExtendedBudibaseRoleOptions,Features:Feature,FieldPermissions,FilterOperator,FilterValueType,OnEmptyFilter,OperatorOptions,OptionColours,PlanType,Roles,SqlNumberTypeRangeMap,TableNames,TypeIconMap},Symbol.toStringTag,{value:"Module"})),buildAnalyticsEndpoints=u=>({getAnalyticsStatus:async()=>await u.get({url:"/api/bbtel"}),analyticsPing:async l=>await u.post({url:"/api/bbtel/ping",body:{...l,timezone:Intl.DateTimeFormat().resolvedOptions().timeZone}})}),buildAIEndpoints=u=>({generateCronExpression:async l=>await u.post({url:"/api/ai/cron",body:{prompt:l}}),generateJs:async l=>await u.post({url:"/api/ai/js",body:l}),generateTables:async l=>await u.post({url:"/api/ai/tables",body:l})}),buildAppEndpoints=u=>({fetchAppPackage:async l=>await u.get({url:`/api/applications/${l}/appPackage`}),saveAppMetadata:async(l,f)=>await u.put({url:`/api/applications/${l}`,body:f}),publishAppChanges:async(l,f)=>await u.post({url:`/api/applications/${l}/publish`,body:f}),revertAppChanges:async l=>await u.post({url:`/api/dev/${l}/revert`}),updateAppClientVersion:async l=>await u.post({url:`/api/applications/${l}/client/update`}),revertAppClientVersion:async l=>await u.post({url:`/api/applications/${l}/client/revert`}),getAppDeployments:async()=>await u.get({url:"/api/deployments"}),createApp:async l=>l instanceof FormData?await u.post({url:"/api/applications",body:l,json:!1}):await u.post({url:"/api/applications",body:l}),duplicateApp:async(l,f)=>await u.post({url:`/api/applications/${l}/duplicate`,body:f}),updateAppFromExport:async(l,f,p)=>{const m=getDevAppID(l),b=new FormData;b.append("appExport",p);for(const[y,w]of Object.entries(f))b.append(y,w);return await u.post({url:`/api/applications/${m}/import`,body:b,json:!1})},importApps:async l=>await u.post({url:"/api/cloud/import",body:l,json:!1}),unpublishApp:async l=>await u.post({url:`/api/applications/${l}/unpublish`}),deleteApp:async l=>await u.delete({url:`/api/applications/${l}`}),releaseAppLock:async l=>await u.delete({url:`/api/dev/${l}/lock`}),fetchSystemDebugInfo:async()=>await u.get({url:"/api/debug/diagnostics"}),getApps:async()=>await u.get({url:"/api/applications?status=all"}),fetchComponentLibDefinitions:async l=>await u.get({url:`/api/${l}/components/definitions`}),addSampleData:async l=>await u.post({url:`/api/applications/${l}/sample`}),getPublishedApps:async()=>(await u.get({url:"/api/client/applications"})).apps}),buildAttachmentEndpoints=u=>{const l={getSignedDatasourceURL:async(f,p,m)=>await u.post({url:`/api/attachments/${f}/url`,body:{bucket:p,key:m}})};return{...l,uploadAttachment:async(f,p)=>await u.post({url:`/api/attachments/${f}/upload`,body:p,json:!1}),uploadBuilderAttachment:async f=>await u.post({url:"/api/attachments/process",body:f,json:!1}),uploadPWAZip:async f=>await u.post({url:"/api/pwa/process-zip",body:f,json:!1}),externalUpload:async(f,p,m,b)=>{const{signedUrl:y,publicUrl:w}=await l.getSignedDatasourceURL(f,p,m);return y?(await u.put({url:y,body:b,json:!1,external:!0,parseResponse:v=>v}),{publicUrl:w}):{publicUrl:void 0}},downloadAttachment:async(f,p,m)=>await u.get({url:`/api/${f}/rows/${p}/attachment/${m}`,parseResponse:b=>b,suppressErrors:!0})}},buildAuthEndpoints=u=>({logIn:async(l,f,p)=>await u.post({url:`/api/global/auth/${l}/login`,body:{username:f,password:p},parseResponse:async m=>{const b=await m.json(),y=m.headers.get("X-Session-Invalidated-Count");return{...b,invalidatedSessionCount:y?parseInt(y):0}}}),logOut:async()=>await u.post({url:"/api/global/auth/logout"}),setInitInfo:async l=>await u.post({url:"/api/global/auth/init",body:l}),getInitInfo:async()=>await u.get({url:"/api/global/auth/init"}),requestForgotPassword:async(l,f)=>await u.post({url:`/api/global/auth/${l}/reset`,body:{email:f}}),resetPassword:async(l,f,p)=>await u.post({url:`/api/global/auth/${l}/reset/update`,body:{password:f,resetCode:p}})}),buildAutomationEndpoints=u=>({triggerAutomation:async(l,f,p)=>await u.post({url:`/api/automations/${l}/trigger`,body:{fields:f,timeout:p}}),testAutomation:async(l,f)=>await u.post({url:`/api/automations/${l}/test`,body:f}),getAutomations:async()=>await u.get({url:"/api/automations"}),getAutomationDefinitions:async()=>await u.get({url:"/api/automations/definitions/list"}),createAutomation:async l=>await u.post({url:"/api/automations",body:l}),updateAutomation:async l=>await u.put({url:"/api/automations",body:l}),deleteAutomation:async(l,f)=>await u.delete({url:`/api/automations/${l}/${f}`}),getAutomationLogs:async l=>await u.post({url:"/api/automations/logs/search",body:l}),clearAutomationLogErrors:async(l,f)=>await u.delete({url:"/api/automations/logs",body:{appId:f,automationId:l}})}),buildConfigEndpoints=u=>({saveConfig:async l=>await u.post({url:"/api/global/configs",body:l}),getConfig:async l=>await u.get({url:`/api/global/configs/${l}`}),deleteConfig:async(l,f)=>await u.delete({url:`/api/global/configs/${l}/${f}`}),getTenantConfig:async l=>await u.get({url:`/api/global/configs/public?tenantId=${l}`}),getOIDCConfigs:async l=>await u.get({url:`/api/global/configs/public/oidc?tenantId=${l}`}),getChecklist:async l=>await u.get({url:`/api/global/configs/checklist?tenantId=${l}`}),uploadLogo:async l=>await u.post({url:"/api/global/configs/upload/settings/logoUrl",body:l,json:!1}),uploadFavicon:async l=>await u.post({url:"/api/global/configs/upload/settings/faviconUrl",body:l,json:!1}),uploadOIDCLogo:async(l,f)=>await u.post({url:`/api/global/configs/upload/logos_oidc/${l}`,body:f,json:!1}),getOIDCLogos:async()=>await u.get({url:"/api/global/configs/logos_oidc"})}),buildDatasourceEndpoints=u=>({getDatasources:async()=>await u.get({url:"/api/datasources"}),buildDatasourceSchema:async(l,f)=>await u.post({url:`/api/datasources/${l}/schema`,body:{tablesFilter:f}}),createDatasource:async l=>await u.post({url:"/api/datasources",body:l}),updateDatasource:async l=>await u.put({url:`/api/datasources/${l._id}`,body:l}),deleteDatasource:async(l,f)=>await u.delete({url:`/api/datasources/${l}/${f}`}),validateDatasource:async l=>await u.post({url:"/api/datasources/verify",body:{datasource:l}}),fetchInfoForDatasource:async l=>await u.post({url:"/api/datasources/info",body:{datasource:l}}),fetchViewInfoForDatasource:async l=>await u.post({url:"/api/datasources/views",body:{datasource:l}}),fetchExternalSchema:async l=>await u.get({url:`/api/datasources/${l}/schema/external`})}),buildFlagEndpoints=u=>({getFlags:async()=>await u.get({url:"/api/users/flags"}),updateFlag:async(l,f)=>await u.post({url:"/api/users/flags",body:{flag:l,value:f}})}),buildLayoutEndpoints=u=>({saveLayout:async l=>await u.post({url:"/api/layouts",body:l}),deleteLayout:async(l,f)=>await u.delete({url:`/api/layouts/${l}/${f}`})}),buildOtherEndpoints=u=>({getEnvironment:async()=>await u.get({url:"/api/system/environment"}),getSystemStatus:async()=>await u.get({url:"/api/system/status"}),getIntegrations:async()=>await u.get({url:"/api/integrations"}),getBudibaseVersion:async()=>(await u.get({url:"/api/dev/version"})).version,getBasePermissions:async()=>await u.get({url:"/api/permission/builtin"})}),buildPermissionsEndpoints=u=>({getPermissionForResource:async l=>await u.get({url:`/api/permission/${l}`}),updatePermissionForResource:async(l,f,p)=>await u.post({url:`/api/permission/${f}/${l}/${p}`}),removePermissionFromResource:async(l,f,p)=>await u.delete({url:`/api/permission/${f}/${l}/${p}`}),getDependants:async l=>await u.get({url:`/api/permission/${l}/dependants`})}),buildQueryEndpoints=u=>({executeQuery:async(l,{pagination:f,parameters:p}={})=>await u.post({url:`/api/v2/queries/${l}`,body:{parameters:p,pagination:f}}),fetchQueryDefinition:async l=>await u.get({url:`/api/queries/${l}`,cache:!0}),getQueries:async()=>await u.get({url:"/api/queries"}),saveQuery:async l=>await u.post({url:"/api/queries",body:l}),deleteQuery:async(l,f)=>await u.delete({url:`/api/queries/${l}/${f}`}),importQueries:async l=>await u.post({url:"/api/queries/import",body:l}),previewQuery:async l=>await u.post({url:"/api/queries/preview",body:l})}),buildRelationshipEndpoints=u=>({fetchRelationshipData:async(l,f,p)=>{const m=await u.get({url:`/api/${l}/${f}/enrich?field=${p}`});return p?m[p]||[]:[m]}}),buildRoleEndpoints=u=>({deleteRole:async(l,f)=>await u.delete({url:`/api/roles/${l}/${f}`}),saveRole:async l=>await u.post({url:"/api/roles",body:l}),getRoles:async()=>await u.get({url:"/api/roles"}),getRolesForApp:async l=>await u.get({url:`/api/global/roles/${l}`}),getAccessibleRoles:async()=>await u.get({url:"/api/roles/accessible"})}),buildRouteEndpoints=u=>({fetchClientAppRoutes:async()=>await u.get({url:"/api/routing/client"}),fetchAppRoutes:async()=>await u.get({url:"/api/routing"})}),buildRowEndpoints=u=>({fetchRow:async(l,f)=>await u.get({url:`/api/${l}/rows/${f}`}),saveRow:async(l,f=!1)=>{const p=l._viewId||l.tableId;return await u.post({url:`/api/${p}/rows`,body:l,suppressErrors:f})},patchRow:async(l,f=!1)=>{const p=l._viewId||l.tableId;return await u.patch({url:`/api/${p}/rows`,body:l,suppressErrors:f})},deleteRow:async(l,f)=>await u.delete({url:`/api/${l}/rows`,body:{_id:f}}),deleteRows:async(l,f)=>(f.forEach(p=>{typeof p=="object"&&(p==null||delete p._viewId)}),await u.delete({url:`/api/${l}/rows`,body:{rows:f}})),exportRows:async(l,f,p)=>await u.post({url:`/api/${l}/rows/exportRows?format=${f}`,body:p,parseResponse:async m=>await m.text()})}),buildScreenEndpoints=u=>({saveScreen:async l=>await u.post({url:"/api/screens",body:l}),deleteScreen:async(l,f)=>await u.delete({url:`/api/screens/${l}/${f}`}),usageInScreens:async l=>await u.post({url:`/api/screens/usage/${l}`})}),buildTableEndpoints=u=>({fetchTableDefinition:async l=>await u.get({url:`/api/tables/${l}`,cache:!0}),fetchTableData:async l=>await u.get({url:`/api/${l}/rows`}),searchTable:async(l,f)=>await u.post({url:`/api/${l}/search`,body:f}),importTableData:async(l,f,p)=>await u.post({url:`/api/tables/${l}/import`,body:{rows:f,identifierFields:p}}),csvToJson:async l=>await u.post({url:"/api/convert/csvToJson",body:{csvString:l}}),getTables:async()=>await u.get({url:"/api/tables"}),getTable:async l=>await u.get({url:`/api/tables/${l}`}),saveTable:async l=>await u.post({url:"/api/tables",body:l}),deleteTable:async(l,f)=>await u.delete({url:`/api/tables/${l}/${f}`}),validateNewTableImport:async(l,f)=>await u.post({url:"/api/tables/validateNewTableImport",body:{rows:l,schema:f}}),validateExistingTableImport:async(l,f)=>await u.post({url:"/api/tables/validateExistingTableImport",body:{rows:l,tableId:f}}),migrateColumn:async(l,f,p)=>await u.post({url:`/api/tables/${l}/migrate`,body:{oldColumn:f,newColumn:p}}),duplicateTable:async l=>await u.post({url:`/api/tables/${l}/duplicate`})}),buildTemplateEndpoints=u=>({getEmailTemplateDefinitions:async()=>await u.get({url:"/api/global/template/definitions"}),getEmailTemplates:async()=>await u.get({url:"/api/global/template/email"}),saveEmailTemplate:async l=>await u.post({url:"/api/global/template",body:l}),getAppTemplates:async()=>await u.get({url:"/api/templates"})}),buildUserEndpoints=u=>({getUsers:async()=>await u.get({url:"/api/global/users"}),searchUsers:async l=>await u.post({url:"/api/global/users/search",body:l}),getUser:async l=>await u.get({url:`/api/global/users/${l}`}),updateOwnMetadata:async l=>await u.post({url:"/api/users/metadata/self",body:l}),createAdminUser:async l=>await u.post({url:"/api/global/users/init",body:l}),saveUser:async l=>await u.post({url:"/api/global/users",body:l}),createUsers:async(l,f)=>(await u.post({url:"/api/global/users/bulk",body:{create:{users:l,groups:f}}})).created,deleteUser:async l=>await u.delete({url:`/api/global/users/${l}`}),deleteUsers:async l=>(await u.post({url:"/api/global/users/bulk",body:{delete:{users:l}}})).deleted,onboardUsers:async l=>await u.post({url:"/api/global/users/onboard",body:l}),addWorkspaceIdToInvite:async(l,f)=>await u.post({url:`/api/global/users/invite/${l}/${f}`}),removeWorkspaceIdFromInvite:async l=>await u.delete({url:`/api/global/users/invite/${l}`}),addUserToWorkspace:async(l,f,p)=>await u.post({url:`/api/global/users/${l}/permission/${f}`,body:{_rev:p}}),removeUserFromWorkspace:async(l,f)=>await u.delete({url:`/api/global/users/${l}/permission`,body:{_rev:f}}),getUserInvite:async l=>await u.get({url:`/api/global/users/invite/${l}`}),getUserInvites:async()=>await u.get({url:"/api/global/users/invites"}),inviteUsers:async l=>await u.post({url:"/api/global/users/multi/invite",body:l}),removeUserInvites:async l=>await u.post({url:"/api/global/users/multi/invite/delete",body:l}),acceptInvite:async l=>await u.post({url:"/api/global/users/invite/accept",body:l}),getUserCountByApp:async l=>(await u.get({url:`/api/global/users/count/${l}`})).userCount,getAccountHolder:async()=>await u.get({url:"/api/global/users/accountholder"})}),buildSelfEndpoints=u=>({generateAPIKey:async()=>{const l=await u.post({url:"/api/global/self/api_key"});return l==null?void 0:l.apiKey},fetchDeveloperInfo:async()=>u.get({url:"/api/global/self/api_key"}),fetchSelf:async()=>await u.get({url:"/api/self"}),fetchBuilderSelf:async()=>await u.get({url:"/api/global/self"}),updateSelf:async l=>await u.post({url:"/api/global/self",body:l})}),buildViewEndpoints=u=>({fetchViewData:async(l,{field:f,groupBy:p,calculation:m})=>{const b=new URLSearchParams;m&&(f&&b.set("field",f),b.set("calculation",m)),p&&b.set("group",p);const y=f?`/api/views/${encodeURIComponent(l)}?${b}`:`/api/views/${encodeURIComponent(l)}`;return await u.get({url:y})},exportView:async(l,f)=>{const p=encodeURIComponent(l);return await u.get({url:`/api/views/export?view=${p}&format=${f}`,parseResponse:async m=>await m.text()})},saveView:async l=>await u.post({url:"/api/views",body:l}),deleteView:async l=>await u.delete({url:`/api/views/${encodeURIComponent(l)}`})}),buildViewV2Endpoints=u=>({fetchDefinition:async l=>await u.get({url:`/api/v2/views/${encodeURIComponent(l)}`,cache:!0}),create:async l=>await u.post({url:"/api/v2/views",body:l}),update:async l=>await u.put({url:`/api/v2/views/${encodeURIComponent(l.id)}`,body:l}),fetch:async(l,f)=>await u.post({url:`/api/v2/views/${encodeURIComponent(l)}/search`,body:f}),delete:async l=>await u.delete({url:`/api/v2/views/${encodeURIComponent(l)}`})}),buildLicensingEndpoints=u=>({activateLicenseKey:async l=>u.post({url:"/api/global/license/key",body:{licenseKey:l}}),deleteLicenseKey:async()=>u.delete({url:"/api/global/license/key"}),getLicenseKey:async()=>{try{return await u.get({url:"/api/global/license/key"})}catch(l){if(l.status!==404)throw l}},getInstallInfo:async()=>{try{return await u.get({url:"/api/global/install"})}catch(l){if(l.status!==404)throw l}},activateOfflineLicense:async l=>u.post({url:"/api/global/license/offline",body:{offlineLicenseToken:l}}),deleteOfflineLicense:async()=>u.delete({url:"/api/global/license/offline"}),getOfflineLicense:async()=>{try{return await u.get({url:"/api/global/license/offline"})}catch(l){if(l.status!==404)throw l}},getOfflineLicenseIdentifier:async()=>await u.get({url:"/api/global/license/offline/identifier"}),refreshLicense:async()=>u.post({url:"/api/global/license/refresh"}),getQuotaUsage:async()=>u.get({url:"/api/global/license/usage"})}),buildGroupsEndpoints=u=>{async function l(f,p,m,b){return await u.post({url:`/api/global/groups/${f}/${p}`,body:{[m]:b}})}return{saveGroup:async f=>await u.post({url:"/api/global/groups",body:f}),getGroups:async()=>(await u.get({url:"/api/global/groups"})).data,getGroup:async f=>await u.get({url:`/api/global/groups/${f}`}),deleteGroup:async(f,p)=>await u.delete({url:`/api/global/groups/${f}/${p}`}),getGroupUsers:async({id:f,bookmark:p,emailSearch:m})=>{let b=`/api/global/groups/${f}/users?`;return p&&(b+=`bookmark=${p}&`),m&&(b+=`emailSearch=${m}`),await u.get({url:b})},addUsersToGroup:async(f,p)=>l(f,"users","add",p),removeUsersFromGroup:async(f,p)=>l(f,"users","remove",p),addAppsToGroup:async(f,p)=>l(f,"apps","add",p),removeAppsFromGroup:async(f,p)=>l(f,"apps","remove",p),bulkAddUsersFromCsv:async(f,p)=>await u.post({url:`/api/global/groups/${f}/users/bulk`,body:{csvContent:p}})}},buildPluginEndpoints=u=>({uploadPlugin:async l=>await u.post({url:"/api/plugin/upload",body:l,json:!1}),createPlugin:async l=>await u.post({url:"/api/plugin",body:l}),getPlugins:async()=>await u.get({url:"/api/plugin"}),deletePlugin:async l=>await u.delete({url:`/api/plugin/${encodeURIComponent(l)}`})}),buildBackupEndpoints=u=>({createManualBackup:async l=>await u.post({url:`/api/apps/${l}/backups`}),searchBackups:async(l,f)=>await u.post({url:`/api/apps/${l}/backups/search`,body:f}),deleteBackup:async(l,f)=>await u.delete({url:`/api/apps/${l}/backups/${f}`}),deleteBackups:async(l,f)=>await u.delete({url:`/api/apps/${l}/backups`,body:{backupIds:f}}),restoreBackup:async(l,f,p)=>await u.post({url:`/api/apps/${l}/backups/${f}/import`,body:{name:p}}),clearBackupErrors:async(l,f)=>await u.delete({url:"/api/backups/logs",body:{appId:l,backupId:f}})}),buildEnvironmentVariableEndpoints=u=>({checkEnvironmentVariableStatus:async()=>await u.get({url:"/api/env/variables/status"}),fetchEnvironmentVariables:async()=>await u.get({url:"/api/env/variables",json:!1}),createEnvironmentVariable:async l=>await u.post({url:"/api/env/variables",body:l}),deleteEnvironmentVariable:async l=>await u.delete({url:`/api/env/variables/${l}`}),updateEnvironmentVariable:async(l,f)=>await u.patch({url:`/api/env/variables/${l}`,body:f})}),buildEventEndpoints=u=>({publishEvent:async l=>await u.post({url:"/api/global/event/publish",body:{type:l}})}),buildAuditLogEndpoints=u=>({searchAuditLogs:async l=>await u.post({url:"/api/global/auditlogs/search",body:l}),getEventDefinitions:async()=>await u.get({url:"/api/global/auditlogs/definitions"}),getDownloadUrl:l=>`/api/global/auditlogs/download?query=${encodeURIComponent(JSON.stringify(l))}`}),buildLogsEndpoints=u=>({getSystemLogs:async()=>await u.get({url:"/api/system/logs",json:!1,parseResponse:async l=>l})}),buildMigrationEndpoints=u=>({getMigrationStatus:async()=>await u.get({url:"/api/migrations/status"})}),buildRowActionEndpoints=u=>({fetch:async l=>(await u.get({url:`/api/tables/${l}/actions`})).actions,create:async(l,f)=>await u.post({url:`/api/tables/${l}/actions`,body:{name:f}}),delete:async(l,f)=>await u.delete({url:`/api/tables/${l}/actions/${f}`}),enableView:async(l,f,p)=>await u.post({url:`/api/tables/${l}/actions/${f}/permissions/${p}`}),disableView:async(l,f,p)=>await u.delete({url:`/api/tables/${l}/actions/${f}/permissions/${p}`}),trigger:async(l,f,p)=>await u.post({url:`/api/tables/${l}/actions/${f}/trigger`,body:{rowId:p}})}),buildOAuth2Endpoints=u=>({fetch:async()=>(await u.get({url:"/api/oauth2"})).configs,create:async l=>await u.post({url:"/api/oauth2",body:{...l}}),update:async l=>await u.put({url:`/api/oauth2/${l._id}`,body:{...l}}),delete:async(l,f)=>await u.delete({url:`/api/oauth2/${l}/${f}`}),validate:async function(l){return await u.post({url:"/api/oauth2/validate",body:{...l}})}}),buildAgentEndpoints=u=>({agentChat:async l=>{const f=l;return await u.post({url:"/api/agent/chat",body:f})},agentChatStream:async(l,f,p,m)=>{var y;const b=l;try{const w=await fetch("/api/agent/chat/stream",{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json",[Header.APP_ID]:f},body:JSON.stringify(b),credentials:"same-origin"});if(!w.ok)throw new Error(`HTTP error! status: ${w.status}`);const v=(y=w.body)==null?void 0:y.getReader();if(!v)throw new Error("Failed to get response reader");const k=new TextDecoder;let S="";for(;;){const{done:B,value:O}=await v.read();if(B)break;S+=k.decode(O,{stream:!0});const R=S.split(`
262
262
  `);S=R.pop()||"";for(const N of R)if(N.startsWith("data: "))try{const $=N.slice(6);if($.trim()){const X=JSON.parse($);p(X)}}catch($){console.error("Failed to parse SSE data:",$)}}}catch(w){if(m)m(w);else throw w}},removeChat:async l=>await u.delete({url:`/api/agent/history/${l}`}),fetchChats:async()=>await u.get({url:"/api/agent/history"}),fetchToolSources:async()=>await u.get({url:"/api/agent/toolsource"}),createToolSource:async l=>await u.post({url:"/api/agent/toolsource",body:l}),updateToolSource:async l=>await u.put({url:"/api/agent/toolsource",body:l}),deleteToolSource:async l=>await u.delete({url:`/api/agent/toolsource/${l}`})}),buildFeatureFlagEndpoints=u=>({overrideFeatureFlags:async l=>{const f={flags:l};return await u.patch({url:"/api/features",body:f,parseResponse:()=>{}})}}),buildNavigationEndpoints=u=>({updateNavigation:async(l,f)=>await u.put({url:`/api/navigation/${l}`,body:f})}),buildWorkspaceAppEndpoints=u=>({find:async l=>await u.get({url:`/api/workspaceApp/${l}`}),fetch:async()=>await u.get({url:"/api/workspaceApp"}),create:async l=>await u.post({url:"/api/workspaceApp",body:l}),duplicate:async l=>await u.post({url:`/api/workspaceApp/${l}/duplicate`}),update:async l=>await u.put({url:`/api/workspaceApp/${l._id}`,body:l}),delete:async(l,f)=>await u.delete({url:`/api/workspaceApp/${l}/${f}`})}),buildResourceEndpoints=u=>({getResourcesInfo:async()=>await u.get({url:"/api/resources"}),duplicateResourceToWorkspace:async l=>await u.post({url:"/api/resources/duplicate",body:l})}),buildDeploymentEndpoints=u=>({getPublishStatus:async()=>await u.get({url:"/api/deploy/status"})}),buildWorkspaceFavouriteEndpoints=u=>({fetch:async()=>await u.get({url:"/api/workspace/favourites"}),create:async l=>await u.post({url:"/api/workspace/favourites",body:l}),delete:async(l,f)=>await u.delete({url:`/api/workspace/favourites/${l}/${f}`})}),buildRecaptchaEndpoints=u=>({verify:async l=>await u.post({url:"/api/recaptcha/verify",body:{token:l}}),check:async()=>await u.get({url:"/api/recaptcha/check"})}),APISessionID=uuid(),createAPIClient=(u={})=>{let l={};const f=async(k,S,B=!1)=>{let O=k.statusText,R=null;try{R=await k.json(),R!=null&&R.message?O=R.message:R!=null&&R.error&&(O=JSON.stringify(R.error))}catch{}return{message:O,json:R,status:k.status,url:k.url,method:S,handled:!0,suppressErrors:B}},p=(k,S,B)=>({message:k,json:null,status:400,url:S,method:B,handled:!0,suppressErrors:!1}),m=async k=>{let{json:S,method:B,external:O,body:R,url:N,parseResponse:$,suppressErrors:X}=k;S=S&&B!==HTTPMethod.GET;let K={Accept:"application/json"};K[Header.SESSION_ID]=APISessionID,O||(K[Header.API_VER]=ApiVersion),S&&(K["Content-Type"]="application/json"),u!=null&&u.attachHeaders&&u.attachHeaders(K);let J=R;if(S)try{J=JSON.stringify(R)}catch{throw p("Invalid JSON body",N,B)}let Z;try{Z=await fetch(N,{method:B,headers:K,body:J,credentials:"same-origin"})}catch{throw delete l[N],p("Failed to send request",N,B)}if(Z.status>=200&&Z.status<400){b(Z);try{return Z.status===204?void 0:$?await $(Z):await Z.json()}catch(se){throw delete l[N],`Failed to parse response: ${se}`}}else throw delete l[N],await f(Z,B,X)},b=k=>{if(!u.onMigrationDetected)return;const S=k.headers.get(Header.MIGRATING_APP);S&&u.onMigrationDetected(S)},y=async k=>{const S=k.url;return l[S]||(l[S]=m(k),l[S]=await l[S]),await l[S]},w=k=>async S=>{try{let B={json:!0,external:!1,suppressErrors:!1,cache:!1,method:k,...S},{url:O,cache:R,external:N}=B;return N||(B.url=`/${O}`.replace("//","/")),await(R&&(u==null?void 0:u.enableCaching)?y:m)(B)}catch(B){throw u!=null&&u.onError&&u.onError(B),B}};let v={post:w(HTTPMethod.POST),get:w(HTTPMethod.GET),patch:w(HTTPMethod.PATCH),delete:w(HTTPMethod.DELETE),put:w(HTTPMethod.PUT),invalidateCache:()=>{l={}},getAppID:()=>{var S;let k={};return(S=u==null?void 0:u.attachHeaders)==null||S.call(u,k),k==null?void 0:k[Header.APP_ID]}};return{...v,...buildAIEndpoints(v),...buildAnalyticsEndpoints(v),...buildAppEndpoints(v),...buildAttachmentEndpoints(v),...buildAuthEndpoints(v),...buildAutomationEndpoints(v),...buildConfigEndpoints(v),...buildDatasourceEndpoints(v),...buildFlagEndpoints(v),...buildLayoutEndpoints(v),...buildOtherEndpoints(v),...buildPermissionsEndpoints(v),...buildQueryEndpoints(v),...buildRelationshipEndpoints(v),...buildRoleEndpoints(v),...buildRouteEndpoints(v),...buildRowEndpoints(v),...buildScreenEndpoints(v),...buildTableEndpoints(v),...buildTemplateEndpoints(v),...buildUserEndpoints(v),...buildViewEndpoints(v),...buildSelfEndpoints(v),...buildLicensingEndpoints(v),...buildGroupsEndpoints(v),...buildPluginEndpoints(v),...buildBackupEndpoints(v),...buildEnvironmentVariableEndpoints(v),...buildEventEndpoints(v),...buildAuditLogEndpoints(v),...buildLogsEndpoints(v),...buildMigrationEndpoints(v),...buildAgentEndpoints(v),...buildFeatureFlagEndpoints(v),deployment:buildDeploymentEndpoints(v),viewV2:buildViewV2Endpoints(v),rowActions:buildRowActionEndpoints(v),oauth2:buildOAuth2Endpoints(v),navigation:buildNavigationEndpoints(v),workspaceApp:buildWorkspaceAppEndpoints(v),workspace:buildWorkspaceFavouriteEndpoints(v),resource:buildResourceEndpoints(v),recaptcha:buildRecaptchaEndpoints(v)}};var _mapping={};(function(u){u.aliasToReal={each:"forEach",eachRight:"forEachRight",entries:"toPairs",entriesIn:"toPairsIn",extend:"assignIn",extendAll:"assignInAll",extendAllWith:"assignInAllWith",extendWith:"assignInWith",first:"head",conforms:"conformsTo",matches:"isMatch",property:"get",__:"placeholder",F:"stubFalse",T:"stubTrue",all:"every",allPass:"overEvery",always:"constant",any:"some",anyPass:"overSome",apply:"spread",assoc:"set",assocPath:"set",complement:"negate",compose:"flowRight",contains:"includes",dissoc:"unset",dissocPath:"unset",dropLast:"dropRight",dropLastWhile:"dropRightWhile",equals:"isEqual",identical:"eq",indexBy:"keyBy",init:"initial",invertObj:"invert",juxt:"over",omitAll:"omit",nAry:"ary",path:"get",pathEq:"matchesProperty",pathOr:"getOr",paths:"at",pickAll:"pick",pipe:"flow",pluck:"map",prop:"get",propEq:"matchesProperty",propOr:"getOr",props:"at",symmetricDifference:"xor",symmetricDifferenceBy:"xorBy",symmetricDifferenceWith:"xorWith",takeLast:"takeRight",takeLastWhile:"takeRightWhile",unapply:"rest",unnest:"flatten",useWith:"overArgs",where:"conformsTo",whereEq:"isMatch",zipObj:"zipObject"},u.aryMethod={1:["assignAll","assignInAll","attempt","castArray","ceil","create","curry","curryRight","defaultsAll","defaultsDeepAll","floor","flow","flowRight","fromPairs","invert","iteratee","memoize","method","mergeAll","methodOf","mixin","nthArg","over","overEvery","overSome","rest","reverse","round","runInContext","spread","template","trim","trimEnd","trimStart","uniqueId","words","zipAll"],2:["add","after","ary","assign","assignAllWith","assignIn","assignInAllWith","at","before","bind","bindAll","bindKey","chunk","cloneDeepWith","cloneWith","concat","conformsTo","countBy","curryN","curryRightN","debounce","defaults","defaultsDeep","defaultTo","delay","difference","divide","drop","dropRight","dropRightWhile","dropWhile","endsWith","eq","every","filter","find","findIndex","findKey","findLast","findLastIndex","findLastKey","flatMap","flatMapDeep","flattenDepth","forEach","forEachRight","forIn","forInRight","forOwn","forOwnRight","get","groupBy","gt","gte","has","hasIn","includes","indexOf","intersection","invertBy","invoke","invokeMap","isEqual","isMatch","join","keyBy","lastIndexOf","lt","lte","map","mapKeys","mapValues","matchesProperty","maxBy","meanBy","merge","mergeAllWith","minBy","multiply","nth","omit","omitBy","overArgs","pad","padEnd","padStart","parseInt","partial","partialRight","partition","pick","pickBy","propertyOf","pull","pullAll","pullAt","random","range","rangeRight","rearg","reject","remove","repeat","restFrom","result","sampleSize","some","sortBy","sortedIndex","sortedIndexOf","sortedLastIndex","sortedLastIndexOf","sortedUniqBy","split","spreadFrom","startsWith","subtract","sumBy","take","takeRight","takeRightWhile","takeWhile","tap","throttle","thru","times","trimChars","trimCharsEnd","trimCharsStart","truncate","union","uniqBy","uniqWith","unset","unzipWith","without","wrap","xor","zip","zipObject","zipObjectDeep"],3:["assignInWith","assignWith","clamp","differenceBy","differenceWith","findFrom","findIndexFrom","findLastFrom","findLastIndexFrom","getOr","includesFrom","indexOfFrom","inRange","intersectionBy","intersectionWith","invokeArgs","invokeArgsMap","isEqualWith","isMatchWith","flatMapDepth","lastIndexOfFrom","mergeWith","orderBy","padChars","padCharsEnd","padCharsStart","pullAllBy","pullAllWith","rangeStep","rangeStepRight","reduce","reduceRight","replace","set","slice","sortedIndexBy","sortedLastIndexBy","transform","unionBy","unionWith","update","xorBy","xorWith","zipWith"],4:["fill","setWith","updateWith"]},u.aryRearg={2:[1,0],3:[2,0,1],4:[3,2,0,1]},u.iterateeAry={dropRightWhile:1,dropWhile:1,every:1,filter:1,find:1,findFrom:1,findIndex:1,findIndexFrom:1,findKey:1,findLast:1,findLastFrom:1,findLastIndex:1,findLastIndexFrom:1,findLastKey:1,flatMap:1,flatMapDeep:1,flatMapDepth:1,forEach:1,forEachRight:1,forIn:1,forInRight:1,forOwn:1,forOwnRight:1,map:1,mapKeys:1,mapValues:1,partition:1,reduce:2,reduceRight:2,reject:1,remove:1,some:1,takeRightWhile:1,takeWhile:1,times:1,transform:2},u.iterateeRearg={mapKeys:[1],reduceRight:[1,0]},u.methodRearg={assignInAllWith:[1,0],assignInWith:[1,2,0],assignAllWith:[1,0],assignWith:[1,2,0],differenceBy:[1,2,0],differenceWith:[1,2,0],getOr:[2,1,0],intersectionBy:[1,2,0],intersectionWith:[1,2,0],isEqualWith:[1,2,0],isMatchWith:[2,1,0],mergeAllWith:[1,0],mergeWith:[1,2,0],padChars:[2,1,0],padCharsEnd:[2,1,0],padCharsStart:[2,1,0],pullAllBy:[2,1,0],pullAllWith:[2,1,0],rangeStep:[1,2,0],rangeStepRight:[1,2,0],setWith:[3,1,2,0],sortedIndexBy:[2,1,0],sortedLastIndexBy:[2,1,0],unionBy:[1,2,0],unionWith:[1,2,0],updateWith:[3,1,2,0],xorBy:[1,2,0],xorWith:[1,2,0],zipWith:[1,2,0]},u.methodSpread={assignAll:{start:0},assignAllWith:{start:0},assignInAll:{start:0},assignInAllWith:{start:0},defaultsAll:{start:0},defaultsDeepAll:{start:0},invokeArgs:{start:2},invokeArgsMap:{start:2},mergeAll:{start:0},mergeAllWith:{start:0},partial:{start:1},partialRight:{start:1},without:{start:1},zipAll:{start:0}},u.mutate={array:{fill:!0,pull:!0,pullAll:!0,pullAllBy:!0,pullAllWith:!0,pullAt:!0,remove:!0,reverse:!0},object:{assign:!0,assignAll:!0,assignAllWith:!0,assignIn:!0,assignInAll:!0,assignInAllWith:!0,assignInWith:!0,assignWith:!0,defaults:!0,defaultsAll:!0,defaultsDeep:!0,defaultsDeepAll:!0,merge:!0,mergeAll:!0,mergeAllWith:!0,mergeWith:!0},set:{set:!0,setWith:!0,unset:!0,update:!0,updateWith:!0}},u.realToAlias=function(){var l=Object.prototype.hasOwnProperty,f=u.aliasToReal,p={};for(var m in f){var b=f[m];l.call(p,b)?p[b].push(m):p[b]=[m]}return p}(),u.remap={assignAll:"assign",assignAllWith:"assignWith",assignInAll:"assignIn",assignInAllWith:"assignInWith",curryN:"curry",curryRightN:"curryRight",defaultsAll:"defaults",defaultsDeepAll:"defaultsDeep",findFrom:"find",findIndexFrom:"findIndex",findLastFrom:"findLast",findLastIndexFrom:"findLastIndex",getOr:"get",includesFrom:"includes",indexOfFrom:"indexOf",invokeArgs:"invoke",invokeArgsMap:"invokeMap",lastIndexOfFrom:"lastIndexOf",mergeAll:"merge",mergeAllWith:"mergeWith",padChars:"pad",padCharsEnd:"padEnd",padCharsStart:"padStart",propertyOf:"get",rangeStep:"range",rangeStepRight:"rangeRight",restFrom:"rest",spreadFrom:"spread",trimChars:"trim",trimCharsEnd:"trimEnd",trimCharsStart:"trimStart",zipAll:"zip"},u.skipFixed={castArray:!0,flow:!0,flowRight:!0,iteratee:!0,mixin:!0,rearg:!0,runInContext:!0},u.skipRearg={add:!0,assign:!0,assignIn:!0,bind:!0,bindKey:!0,concat:!0,difference:!0,divide:!0,eq:!0,gt:!0,gte:!0,isEqual:!0,lt:!0,lte:!0,matchesProperty:!0,merge:!0,multiply:!0,overArgs:!0,partial:!0,partialRight:!0,propertyOf:!0,random:!0,range:!0,rangeRight:!0,subtract:!0,zip:!0,zipObject:!0,zipObjectDeep:!0}})(_mapping);var placeholder,hasRequiredPlaceholder;function requirePlaceholder(){return hasRequiredPlaceholder||(hasRequiredPlaceholder=1,placeholder={}),placeholder}var mapping=_mapping,fallbackHolder=requirePlaceholder(),push$1=Array.prototype.push;function baseArity(u,l){return l==2?function(f,p){return u.apply(void 0,arguments)}:function(f){return u.apply(void 0,arguments)}}function baseAry(u,l){return l==2?function(f,p){return u(f,p)}:function(f){return u(f)}}function cloneArray(u){for(var l=u?u.length:0,f=Array(l);l--;)f[l]=u[l];return f}function createCloner(u){return function(l){return u({},l)}}function flatSpread(u,l){return function(){for(var f=arguments.length,p=f-1,m=Array(f);f--;)m[f]=arguments[f];var b=m[l],y=m.slice(0,l);return b&&push$1.apply(y,b),l!=p&&push$1.apply(y,m.slice(l+1)),u.apply(this,y)}}function wrapImmutable(u,l){return function(){var f=arguments.length;if(f){for(var p=Array(f);f--;)p[f]=arguments[f];var m=p[0]=l.apply(void 0,p);return u.apply(void 0,p),m}}}function baseConvert$1(u,l,f,p){var m=typeof l=="function",b=l===Object(l);if(b&&(p=f,f=l,l=void 0),f==null)throw new TypeError;p||(p={});var y={cap:"cap"in p?p.cap:!0,curry:"curry"in p?p.curry:!0,fixed:"fixed"in p?p.fixed:!0,immutable:"immutable"in p?p.immutable:!0,rearg:"rearg"in p?p.rearg:!0},w=m?f:fallbackHolder,v="curry"in p&&p.curry,k="fixed"in p&&p.fixed,S="rearg"in p&&p.rearg,B=m?f.runInContext():void 0,O=m?f:{ary:u.ary,assign:u.assign,clone:u.clone,curry:u.curry,forEach:u.forEach,isArray:u.isArray,isError:u.isError,isFunction:u.isFunction,isWeakMap:u.isWeakMap,iteratee:u.iteratee,keys:u.keys,rearg:u.rearg,toInteger:u.toInteger,toPath:u.toPath},R=O.ary,N=O.assign,$=O.clone,X=O.curry,K=O.forEach,J=O.isArray,Z=O.isError,se=O.isFunction,ie=O.isWeakMap,ce=O.keys,pe=O.rearg,_e=O.toInteger,be=O.toPath,ye=ce(mapping.aryMethod),de={castArray:function(Lt){return function(){var ht=arguments[0];return J(ht)?Lt(cloneArray(ht)):Lt.apply(void 0,arguments)}},iteratee:function(Lt){return function(){var ht=arguments[0],bt=arguments[1],ut=Lt(ht,bt),st=ut.length;return y.cap&&typeof bt=="number"?(bt=bt>2?bt-2:1,st&&st<=bt?ut:baseAry(ut,bt)):ut}},mixin:function(Lt){return function(ht){var bt=this;if(!se(bt))return Lt(bt,Object(ht));var ut=[];return K(ce(ht),function(st){se(ht[st])&&ut.push([st,bt.prototype[st]])}),Lt(bt,Object(ht)),K(ut,function(st){var Et=st[1];se(Et)?bt.prototype[st[0]]=Et:delete bt.prototype[st[0]]}),bt}},nthArg:function(Lt){return function(ht){var bt=ht<0?1:_e(ht)+1;return X(Lt(ht),bt)}},rearg:function(Lt){return function(ht,bt){var ut=bt?bt.length:0;return X(Lt(ht,bt),ut)}},runInContext:function(Lt){return function(ht){return baseConvert$1(u,Lt(ht),p)}}};function Se(Lt,ht){if(y.cap){var bt=mapping.iterateeRearg[Lt];if(bt)return lt(ht,bt);var ut=!m&&mapping.iterateeAry[Lt];if(ut)return Ye(ht,ut)}return ht}function Fe(Lt,ht,bt){return v||y.curry&&bt>1?X(ht,bt):ht}function Ue(Lt,ht,bt){if(y.fixed&&(k||!mapping.skipFixed[Lt])){var ut=mapping.methodSpread[Lt],st=ut&&ut.start;return st===void 0?R(ht,bt):flatSpread(ht,st)}return ht}function he(Lt,ht,bt){return y.rearg&&bt>1&&(S||!mapping.skipRearg[Lt])?pe(ht,mapping.methodRearg[Lt]||mapping.aryRearg[bt]):ht}function Oe(Lt,ht){ht=be(ht);for(var bt=-1,ut=ht.length,st=ut-1,Et=$(Object(Lt)),dt=Et;dt!=null&&++bt<ut;){var It=ht[bt],zt=dt[It];zt!=null&&!(se(zt)||Z(zt)||ie(zt))&&(dt[It]=$(bt==st?zt:Object(zt))),dt=dt[It]}return Et}function Re(Lt){return $e.runInContext.convert(Lt)(void 0)}function je(Lt,ht){var bt=mapping.aliasToReal[Lt]||Lt,ut=mapping.remap[bt]||bt,st=p;return function(Et){var dt=m?B:O,It=m?B[ut]:ht,zt=N(N({},st),Et);return baseConvert$1(dt,bt,It,zt)}}function Ye(Lt,ht){return Pt(Lt,function(bt){return typeof bt=="function"?baseAry(bt,ht):bt})}function lt(Lt,ht){return Pt(Lt,function(bt){var ut=ht.length;return baseArity(pe(baseAry(bt,ut),ht),ut)})}function Pt(Lt,ht){return function(){var bt=arguments.length;if(!bt)return Lt();for(var ut=Array(bt);bt--;)ut[bt]=arguments[bt];var st=y.rearg?0:bt-1;return ut[st]=ht(ut[st]),Lt.apply(void 0,ut)}}function _t(Lt,ht,bt){var ut,st=mapping.aliasToReal[Lt]||Lt,Et=ht,dt=de[st];return dt?Et=dt(ht):y.immutable&&(mapping.mutate.array[st]?Et=wrapImmutable(ht,cloneArray):mapping.mutate.object[st]?Et=wrapImmutable(ht,createCloner(ht)):mapping.mutate.set[st]&&(Et=wrapImmutable(ht,Oe))),K(ye,function(It){return K(mapping.aryMethod[It],function(zt){if(st==zt){var In=mapping.methodSpread[st],mn=In&&In.afterRearg;return ut=mn?Ue(st,he(st,Et,It),It):he(st,Ue(st,Et,It),It),ut=Se(st,ut),ut=Fe(st,ut,It),!1}}),!ut}),ut||(ut=Et),ut==ht&&(ut=v?X(ut,1):function(){return ht.apply(this,arguments)}),ut.convert=je(st,ht),ut.placeholder=ht.placeholder=bt,ut}if(!b)return _t(l,f,w);var $e=f,mt=[];return K(ye,function(Lt){K(mapping.aryMethod[Lt],function(ht){var bt=$e[mapping.remap[ht]||ht];bt&&mt.push([ht,_t(ht,bt,$e)])})}),K(ce($e),function(Lt){var ht=$e[Lt];if(typeof ht=="function"){for(var bt=mt.length;bt--;)if(mt[bt][0]==Lt)return;ht.convert=je(Lt,ht),mt.push([Lt,ht])}}),K(mt,function(Lt){$e[Lt[0]]=Lt[1]}),$e.convert=Re,$e.placeholder=$e,K(ce($e),function(Lt){K(mapping.realToAlias[Lt]||[],function(ht){$e[ht]=$e[Lt]})}),$e}var _baseConvert=baseConvert$1,WeakMap$1=_WeakMap$1,metaMap$2=WeakMap$1&&new WeakMap$1,_metaMap=metaMap$2,identity=identity_1$1,metaMap$1=_metaMap,baseSetData$2=metaMap$1?function(u,l){return metaMap$1.set(u,l),u}:identity,_baseSetData=baseSetData$2,isObject$5=isObject_1$1,objectCreate=Object.create,baseCreate$4=function(){function u(){}return function(l){if(!isObject$5(l))return{};if(objectCreate)return objectCreate(l);u.prototype=l;var f=new u;return u.prototype=void 0,f}}(),_baseCreate=baseCreate$4,baseCreate$3=_baseCreate,isObject$4=isObject_1$1;function createCtor$4(u){return function(){var l=arguments;switch(l.length){case 0:return new u;case 1:return new u(l[0]);case 2:return new u(l[0],l[1]);case 3:return new u(l[0],l[1],l[2]);case 4:return new u(l[0],l[1],l[2],l[3]);case 5:return new u(l[0],l[1],l[2],l[3],l[4]);case 6:return new u(l[0],l[1],l[2],l[3],l[4],l[5]);case 7:return new u(l[0],l[1],l[2],l[3],l[4],l[5],l[6])}var f=baseCreate$3(u.prototype),p=u.apply(f,l);return isObject$4(p)?p:f}}var _createCtor=createCtor$4,createCtor$3=_createCtor,root$4=_root$1,WRAP_BIND_FLAG$6=1;function createBind$1(u,l,f){var p=l&WRAP_BIND_FLAG$6,m=createCtor$3(u);function b(){var y=this&&this!==root$4&&this instanceof b?m:u;return y.apply(p?f:this,arguments)}return b}var _createBind=createBind$1,nativeMax$2=Math.max;function composeArgs$2(u,l,f,p){for(var m=-1,b=u.length,y=f.length,w=-1,v=l.length,k=nativeMax$2(b-y,0),S=Array(v+k),B=!p;++w<v;)S[w]=l[w];for(;++m<y;)(B||m<b)&&(S[f[m]]=u[m]);for(;k--;)S[w++]=u[m++];return S}var _composeArgs=composeArgs$2,nativeMax$1=Math.max;function composeArgsRight$2(u,l,f,p){for(var m=-1,b=u.length,y=-1,w=f.length,v=-1,k=l.length,S=nativeMax$1(b-w,0),B=Array(S+k),O=!p;++m<S;)B[m]=u[m];for(var R=m;++v<k;)B[R+v]=l[v];for(;++y<w;)(O||m<b)&&(B[R+f[y]]=u[m++]);return B}var _composeArgsRight=composeArgsRight$2;function countHolders$1(u,l){for(var f=u.length,p=0;f--;)u[f]===l&&++p;return p}var _countHolders=countHolders$1;function baseLodash$3(){}var _baseLodash=baseLodash$3,baseCreate$2=_baseCreate,baseLodash$2=_baseLodash,MAX_ARRAY_LENGTH=4294967295;function LazyWrapper$3(u){this.__wrapped__=u,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=MAX_ARRAY_LENGTH,this.__views__=[]}LazyWrapper$3.prototype=baseCreate$2(baseLodash$2.prototype),LazyWrapper$3.prototype.constructor=LazyWrapper$3;var _LazyWrapper=LazyWrapper$3;function noop$1(){}var noop_1=noop$1,metaMap=_metaMap,noop=noop_1,getData$2=metaMap?function(u){return metaMap.get(u)}:noop,_getData=getData$2,realNames$1={},_realNames=realNames$1,realNames=_realNames,objectProto$2=Object.prototype,hasOwnProperty$2=objectProto$2.hasOwnProperty;function getFuncName$1(u){for(var l=u.name+"",f=realNames[l],p=hasOwnProperty$2.call(realNames,l)?f.length:0;p--;){var m=f[p],b=m.func;if(b==null||b==u)return m.name}return l}var _getFuncName=getFuncName$1,baseCreate$1=_baseCreate,baseLodash$1=_baseLodash;function LodashWrapper$2(u,l){this.__wrapped__=u,this.__actions__=[],this.__chain__=!!l,this.__index__=0,this.__values__=void 0}LodashWrapper$2.prototype=baseCreate$1(baseLodash$1.prototype),LodashWrapper$2.prototype.constructor=LodashWrapper$2;var _LodashWrapper=LodashWrapper$2;function copyArray$4(u,l){var f=-1,p=u.length;for(l||(l=Array(p));++f<p;)l[f]=u[f];return l}var _copyArray=copyArray$4,LazyWrapper$2=_LazyWrapper,LodashWrapper$1=_LodashWrapper,copyArray$3=_copyArray;function wrapperClone$1(u){if(u instanceof LazyWrapper$2)return u.clone();var l=new LodashWrapper$1(u.__wrapped__,u.__chain__);return l.__actions__=copyArray$3(u.__actions__),l.__index__=u.__index__,l.__values__=u.__values__,l}var _wrapperClone=wrapperClone$1,LazyWrapper$1=_LazyWrapper,LodashWrapper=_LodashWrapper,baseLodash=_baseLodash,isArray$2=isArray_1$1,isObjectLike$4=isObjectLike_1$1,wrapperClone=_wrapperClone,objectProto$1=Object.prototype,hasOwnProperty$1=objectProto$1.hasOwnProperty;function lodash$1(u){if(isObjectLike$4(u)&&!isArray$2(u)&&!(u instanceof LazyWrapper$1)){if(u instanceof LodashWrapper)return u;if(hasOwnProperty$1.call(u,"__wrapped__"))return wrapperClone(u)}return new LodashWrapper(u)}lodash$1.prototype=baseLodash.prototype,lodash$1.prototype.constructor=lodash$1;var wrapperLodash=lodash$1,LazyWrapper=_LazyWrapper,getData$1=_getData,getFuncName=_getFuncName,lodash=wrapperLodash;function isLaziable$1(u){var l=getFuncName(u),f=lodash[l];if(typeof f!="function"||!(l in LazyWrapper.prototype))return!1;if(u===f)return!0;var p=getData$1(f);return!!p&&u===p[0]}var _isLaziable=isLaziable$1,baseSetData$1=_baseSetData,shortOut=_shortOut$1,setData$2=shortOut(baseSetData$1),_setData=setData$2,reWrapDetails=/\{\n\/\* \[wrapped with (.+)\] \*/,reSplitDetails=/,? & /;function getWrapDetails$1(u){var l=u.match(reWrapDetails);return l?l[1].split(reSplitDetails):[]}var _getWrapDetails=getWrapDetails$1,reWrapComment=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/;function insertWrapDetails$1(u,l){var f=l.length;if(!f)return u;var p=f-1;return l[p]=(f>1?"& ":"")+l[p],l=l.join(f>2?", ":" "),u.replace(reWrapComment,`{
263
263
  /* [wrapped with `+l+`] */
264
264
  `)}var _insertWrapDetails=insertWrapDetails$1;function arrayEach$2(u,l){for(var f=-1,p=u==null?0:u.length;++f<p&&l(u[f],f,u)!==!1;);return u}var _arrayEach=arrayEach$2;function baseFindIndex$1(u,l,f,p){for(var m=u.length,b=f+(p?1:-1);p?b--:++b<m;)if(l(u[b],b,u))return b;return-1}var _baseFindIndex=baseFindIndex$1;function baseIsNaN$1(u){return u!==u}var _baseIsNaN=baseIsNaN$1;function strictIndexOf$1(u,l,f){for(var p=f-1,m=u.length;++p<m;)if(u[p]===l)return p;return-1}var _strictIndexOf=strictIndexOf$1,baseFindIndex=_baseFindIndex,baseIsNaN=_baseIsNaN,strictIndexOf=_strictIndexOf;function baseIndexOf$1(u,l,f){return l===l?strictIndexOf(u,l,f):baseFindIndex(u,baseIsNaN,f)}var _baseIndexOf=baseIndexOf$1,baseIndexOf=_baseIndexOf;function arrayIncludes$1(u,l){var f=u==null?0:u.length;return!!f&&baseIndexOf(u,l,0)>-1}var _arrayIncludes=arrayIncludes$1,arrayEach$1=_arrayEach,arrayIncludes=_arrayIncludes,WRAP_BIND_FLAG$5=1,WRAP_BIND_KEY_FLAG$4=2,WRAP_CURRY_FLAG$5=8,WRAP_CURRY_RIGHT_FLAG$2=16,WRAP_PARTIAL_FLAG$2=32,WRAP_PARTIAL_RIGHT_FLAG$2=64,WRAP_ARY_FLAG$3=128,WRAP_REARG_FLAG$2=256,WRAP_FLIP_FLAG$1=512,wrapFlags=[["ary",WRAP_ARY_FLAG$3],["bind",WRAP_BIND_FLAG$5],["bindKey",WRAP_BIND_KEY_FLAG$4],["curry",WRAP_CURRY_FLAG$5],["curryRight",WRAP_CURRY_RIGHT_FLAG$2],["flip",WRAP_FLIP_FLAG$1],["partial",WRAP_PARTIAL_FLAG$2],["partialRight",WRAP_PARTIAL_RIGHT_FLAG$2],["rearg",WRAP_REARG_FLAG$2]];function updateWrapDetails$1(u,l){return arrayEach$1(wrapFlags,function(f){var p="_."+f[0];l&f[1]&&!arrayIncludes(u,p)&&u.push(p)}),u.sort()}var _updateWrapDetails=updateWrapDetails$1,getWrapDetails=_getWrapDetails,insertWrapDetails=_insertWrapDetails,setToString=_setToString$1,updateWrapDetails=_updateWrapDetails;function setWrapToString$2(u,l,f){var p=l+"";return setToString(u,insertWrapDetails(p,updateWrapDetails(getWrapDetails(p),f)))}var _setWrapToString=setWrapToString$2,isLaziable=_isLaziable,setData$1=_setData,setWrapToString$1=_setWrapToString,WRAP_BIND_FLAG$4=1,WRAP_BIND_KEY_FLAG$3=2,WRAP_CURRY_BOUND_FLAG$1=4,WRAP_CURRY_FLAG$4=8,WRAP_PARTIAL_FLAG$1=32,WRAP_PARTIAL_RIGHT_FLAG$1=64;function createRecurry$2(u,l,f,p,m,b,y,w,v,k){var S=l&WRAP_CURRY_FLAG$4,B=S?y:void 0,O=S?void 0:y,R=S?b:void 0,N=S?void 0:b;l|=S?WRAP_PARTIAL_FLAG$1:WRAP_PARTIAL_RIGHT_FLAG$1,l&=~(S?WRAP_PARTIAL_RIGHT_FLAG$1:WRAP_PARTIAL_FLAG$1),l&WRAP_CURRY_BOUND_FLAG$1||(l&=~(WRAP_BIND_FLAG$4|WRAP_BIND_KEY_FLAG$3));var $=[u,l,m,R,B,N,O,w,v,k],X=f.apply(void 0,$);return isLaziable(u)&&setData$1(X,$),X.placeholder=p,setWrapToString$1(X,u,l)}var _createRecurry=createRecurry$2;function getHolder$2(u){var l=u;return l.placeholder}var _getHolder=getHolder$2,copyArray$2=_copyArray,isIndex=_isIndex$1,nativeMin$1=Math.min;function reorder$1(u,l){for(var f=u.length,p=nativeMin$1(l.length,f),m=copyArray$2(u);p--;){var b=l[p];u[p]=isIndex(b,f)?m[b]:void 0}return u}var _reorder=reorder$1,PLACEHOLDER$1="__lodash_placeholder__";function replaceHolders$3(u,l){for(var f=-1,p=u.length,m=0,b=[];++f<p;){var y=u[f];(y===l||y===PLACEHOLDER$1)&&(u[f]=PLACEHOLDER$1,b[m++]=f)}return b}var _replaceHolders=replaceHolders$3,composeArgs$1=_composeArgs,composeArgsRight$1=_composeArgsRight,countHolders=_countHolders,createCtor$2=_createCtor,createRecurry$1=_createRecurry,getHolder$1=_getHolder,reorder=_reorder,replaceHolders$2=_replaceHolders,root$3=_root$1,WRAP_BIND_FLAG$3=1,WRAP_BIND_KEY_FLAG$2=2,WRAP_CURRY_FLAG$3=8,WRAP_CURRY_RIGHT_FLAG$1=16,WRAP_ARY_FLAG$2=128,WRAP_FLIP_FLAG=512;function createHybrid$2(u,l,f,p,m,b,y,w,v,k){var S=l&WRAP_ARY_FLAG$2,B=l&WRAP_BIND_FLAG$3,O=l&WRAP_BIND_KEY_FLAG$2,R=l&(WRAP_CURRY_FLAG$3|WRAP_CURRY_RIGHT_FLAG$1),N=l&WRAP_FLIP_FLAG,$=O?void 0:createCtor$2(u);function X(){for(var K=arguments.length,J=Array(K),Z=K;Z--;)J[Z]=arguments[Z];if(R)var se=getHolder$1(X),ie=countHolders(J,se);if(p&&(J=composeArgs$1(J,p,m,R)),b&&(J=composeArgsRight$1(J,b,y,R)),K-=ie,R&&K<k){var ce=replaceHolders$2(J,se);return createRecurry$1(u,l,createHybrid$2,X.placeholder,f,J,ce,w,v,k-K)}var pe=B?f:this,_e=O?pe[u]:u;return K=J.length,w?J=reorder(J,w):N&&K>1&&J.reverse(),S&&v<K&&(J.length=v),this&&this!==root$3&&this instanceof X&&(_e=$||createCtor$2(_e)),_e.apply(pe,J)}return X}var _createHybrid=createHybrid$2,apply$1=_apply$1,createCtor$1=_createCtor,createHybrid$1=_createHybrid,createRecurry=_createRecurry,getHolder=_getHolder,replaceHolders$1=_replaceHolders,root$2=_root$1;function createCurry$1(u,l,f){var p=createCtor$1(u);function m(){for(var b=arguments.length,y=Array(b),w=b,v=getHolder(m);w--;)y[w]=arguments[w];var k=b<3&&y[0]!==v&&y[b-1]!==v?[]:replaceHolders$1(y,v);if(b-=k.length,b<f)return createRecurry(u,l,createHybrid$1,m.placeholder,void 0,y,k,void 0,void 0,f-b);var S=this&&this!==root$2&&this instanceof m?p:u;return apply$1(S,this,y)}return m}var _createCurry=createCurry$1,apply=_apply$1,createCtor=_createCtor,root$1=_root$1,WRAP_BIND_FLAG$2=1;function createPartial$1(u,l,f,p){var m=l&WRAP_BIND_FLAG$2,b=createCtor(u);function y(){for(var w=-1,v=arguments.length,k=-1,S=p.length,B=Array(S+v),O=this&&this!==root$1&&this instanceof y?b:u;++k<S;)B[k]=p[k];for(;v--;)B[k++]=arguments[++w];return apply(O,m?f:this,B)}return y}var _createPartial=createPartial$1,composeArgs=_composeArgs,composeArgsRight=_composeArgsRight,replaceHolders=_replaceHolders,PLACEHOLDER="__lodash_placeholder__",WRAP_BIND_FLAG$1=1,WRAP_BIND_KEY_FLAG$1=2,WRAP_CURRY_BOUND_FLAG=4,WRAP_CURRY_FLAG$2=8,WRAP_ARY_FLAG$1=128,WRAP_REARG_FLAG$1=256,nativeMin=Math.min;function mergeData$1(u,l){var f=u[1],p=l[1],m=f|p,b=m<(WRAP_BIND_FLAG$1|WRAP_BIND_KEY_FLAG$1|WRAP_ARY_FLAG$1),y=p==WRAP_ARY_FLAG$1&&f==WRAP_CURRY_FLAG$2||p==WRAP_ARY_FLAG$1&&f==WRAP_REARG_FLAG$1&&u[7].length<=l[8]||p==(WRAP_ARY_FLAG$1|WRAP_REARG_FLAG$1)&&l[7].length<=l[8]&&f==WRAP_CURRY_FLAG$2;if(!(b||y))return u;p&WRAP_BIND_FLAG$1&&(u[2]=l[2],m|=f&WRAP_BIND_FLAG$1?0:WRAP_CURRY_BOUND_FLAG);var w=l[3];if(w){var v=u[3];u[3]=v?composeArgs(v,w,l[4]):w,u[4]=v?replaceHolders(u[3],PLACEHOLDER):l[4]}return w=l[5],w&&(v=u[5],u[5]=v?composeArgsRight(v,w,l[6]):w,u[6]=v?replaceHolders(u[5],PLACEHOLDER):l[6]),w=l[7],w&&(u[7]=w),p&WRAP_ARY_FLAG$1&&(u[8]=u[8]==null?l[8]:nativeMin(u[8],l[8])),u[9]==null&&(u[9]=l[9]),u[0]=l[0],u[1]=m,u}var _mergeData=mergeData$1,reWhitespace=/\s/;function trimmedEndIndex$1(u){for(var l=u.length;l--&&reWhitespace.test(u.charAt(l)););return l}var _trimmedEndIndex=trimmedEndIndex$1,trimmedEndIndex=_trimmedEndIndex,reTrimStart=/^\s+/;function baseTrim$1(u){return u&&u.slice(0,trimmedEndIndex(u)+1).replace(reTrimStart,"")}var _baseTrim=baseTrim$1,baseTrim=_baseTrim,isObject$3=isObject_1$1,isSymbol$1=isSymbol_1$1,NAN=0/0,reIsBadHex=/^[-+]0x[0-9a-f]+$/i,reIsBinary=/^0b[01]+$/i,reIsOctal=/^0o[0-7]+$/i,freeParseInt=parseInt;function toNumber$1(u){if(typeof u=="number")return u;if(isSymbol$1(u))return NAN;if(isObject$3(u)){var l=typeof u.valueOf=="function"?u.valueOf():u;u=isObject$3(l)?l+"":l}if(typeof u!="string")return u===0?u:+u;u=baseTrim(u);var f=reIsBinary.test(u);return f||reIsOctal.test(u)?freeParseInt(u.slice(2),f?2:8):reIsBadHex.test(u)?NAN:+u}var toNumber_1=toNumber$1,toNumber=toNumber_1,INFINITY=1/0,MAX_INTEGER=17976931348623157e292;function toFinite$1(u){if(!u)return u===0?u:0;if(u=toNumber(u),u===INFINITY||u===-INFINITY){var l=u<0?-1:1;return l*MAX_INTEGER}return u===u?u:0}var toFinite_1=toFinite$1,toFinite=toFinite_1;function toInteger$1(u){var l=toFinite(u),f=l%1;return l===l?f?l-f:l:0}var toInteger_1=toInteger$1,baseSetData=_baseSetData,createBind=_createBind,createCurry=_createCurry,createHybrid=_createHybrid,createPartial=_createPartial,getData=_getData,mergeData=_mergeData,setData=_setData,setWrapToString=_setWrapToString,toInteger=toInteger_1,FUNC_ERROR_TEXT="Expected a function",WRAP_BIND_FLAG=1,WRAP_BIND_KEY_FLAG=2,WRAP_CURRY_FLAG$1=8,WRAP_CURRY_RIGHT_FLAG=16,WRAP_PARTIAL_FLAG=32,WRAP_PARTIAL_RIGHT_FLAG=64,nativeMax=Math.max;function createWrap$3(u,l,f,p,m,b,y,w){var v=l&WRAP_BIND_KEY_FLAG;if(!v&&typeof u!="function")throw new TypeError(FUNC_ERROR_TEXT);var k=p?p.length:0;if(k||(l&=~(WRAP_PARTIAL_FLAG|WRAP_PARTIAL_RIGHT_FLAG),p=m=void 0),y=y===void 0?y:nativeMax(toInteger(y),0),w=w===void 0?w:toInteger(w),k-=m?m.length:0,l&WRAP_PARTIAL_RIGHT_FLAG){var S=p,B=m;p=m=void 0}var O=v?void 0:getData(u),R=[u,l,f,p,m,S,B,b,y,w];if(O&&mergeData(R,O),u=R[0],l=R[1],f=R[2],p=R[3],m=R[4],w=R[9]=R[9]===void 0?v?0:u.length:nativeMax(R[9]-k,0),!w&&l&(WRAP_CURRY_FLAG$1|WRAP_CURRY_RIGHT_FLAG)&&(l&=~(WRAP_CURRY_FLAG$1|WRAP_CURRY_RIGHT_FLAG)),!l||l==WRAP_BIND_FLAG)var N=createBind(u,l,f);else l==WRAP_CURRY_FLAG$1||l==WRAP_CURRY_RIGHT_FLAG?N=createCurry(u,l,w):(l==WRAP_PARTIAL_FLAG||l==(WRAP_BIND_FLAG|WRAP_PARTIAL_FLAG))&&!m.length?N=createPartial(u,l,f,p):N=createHybrid.apply(void 0,R);var $=O?baseSetData:setData;return setWrapToString($(N,R),u,l)}var _createWrap=createWrap$3,createWrap$2=_createWrap,WRAP_ARY_FLAG=128;function ary(u,l,f){return l=f?void 0:l,l=u&&l==null?u.length:l,createWrap$2(u,WRAP_ARY_FLAG,void 0,void 0,void 0,void 0,l)}var ary_1=ary,assignValue$1=_assignValue$1,baseAssignValue=_baseAssignValue$1;function copyObject$4(u,l,f,p){var m=!f;f||(f={});for(var b=-1,y=l.length;++b<y;){var w=l[b],v=p?p(f[w],u[w],w,f,u):void 0;v===void 0&&(v=u[w]),m?baseAssignValue(f,w,v):assignValue$1(f,w,v)}return f}var _copyObject=copyObject$4,copyObject$3=_copyObject,keys$1=keys_1$1;function baseAssign$1(u,l){return u&&copyObject$3(l,keys$1(l),u)}var _baseAssign=baseAssign$1,copyObject$2=_copyObject,keysIn$1=keysIn_1$1;function baseAssignIn$1(u,l){return u&&copyObject$2(l,keysIn$1(l),u)}var _baseAssignIn=baseAssignIn$1,_cloneBuffer={exports:{}};_cloneBuffer.exports,function(u,l){var f=_root$1,p=l&&!l.nodeType&&l,m=p&&!0&&u&&!u.nodeType&&u,b=m&&m.exports===p,y=b?f.Buffer:void 0,w=y?y.allocUnsafe:void 0;function v(k,S){if(S)return k.slice();var B=k.length,O=w?w(B):new k.constructor(B);return k.copy(O),O}u.exports=v}(_cloneBuffer,_cloneBuffer.exports);var _cloneBufferExports=_cloneBuffer.exports,copyObject$1=_copyObject,getSymbols=_getSymbols$1;function copySymbols$1(u,l){return copyObject$1(u,getSymbols(u),l)}var _copySymbols=copySymbols$1,copyObject=_copyObject,getSymbolsIn=_getSymbolsIn$1;function copySymbolsIn$1(u,l){return copyObject(u,getSymbolsIn(u),l)}var _copySymbolsIn=copySymbolsIn$1,objectProto=Object.prototype,hasOwnProperty=objectProto.hasOwnProperty;function initCloneArray$1(u){var l=u.length,f=new u.constructor(l);return l&&typeof u[0]=="string"&&hasOwnProperty.call(u,"index")&&(f.index=u.index,f.input=u.input),f}var _initCloneArray=initCloneArray$1,Uint8Array$1=_Uint8Array$1;function cloneArrayBuffer$3(u){var l=new u.constructor(u.byteLength);return new Uint8Array$1(l).set(new Uint8Array$1(u)),l}var _cloneArrayBuffer=cloneArrayBuffer$3,cloneArrayBuffer$2=_cloneArrayBuffer;function cloneDataView$1(u,l){var f=l?cloneArrayBuffer$2(u.buffer):u.buffer;return new u.constructor(f,u.byteOffset,u.byteLength)}var _cloneDataView=cloneDataView$1,reFlags=/\w*$/;function cloneRegExp$1(u){var l=new u.constructor(u.source,reFlags.exec(u));return l.lastIndex=u.lastIndex,l}var _cloneRegExp=cloneRegExp$1,Symbol$1=_Symbol$1,symbolProto=Symbol$1?Symbol$1.prototype:void 0,symbolValueOf=symbolProto?symbolProto.valueOf:void 0;function cloneSymbol$1(u){return symbolValueOf?Object(symbolValueOf.call(u)):{}}var _cloneSymbol=cloneSymbol$1,cloneArrayBuffer$1=_cloneArrayBuffer;function cloneTypedArray$1(u,l){var f=l?cloneArrayBuffer$1(u.buffer):u.buffer;return new u.constructor(f,u.byteOffset,u.length)}var _cloneTypedArray=cloneTypedArray$1,cloneArrayBuffer=_cloneArrayBuffer,cloneDataView=_cloneDataView,cloneRegExp=_cloneRegExp,cloneSymbol=_cloneSymbol,cloneTypedArray=_cloneTypedArray,boolTag$1="[object Boolean]",dateTag$1="[object Date]",mapTag$2="[object Map]",numberTag$1="[object Number]",regexpTag$1="[object RegExp]",setTag$2="[object Set]",stringTag$1="[object String]",symbolTag$1="[object Symbol]",arrayBufferTag$1="[object ArrayBuffer]",dataViewTag$1="[object DataView]",float32Tag$1="[object Float32Array]",float64Tag$1="[object Float64Array]",int8Tag$1="[object Int8Array]",int16Tag$1="[object Int16Array]",int32Tag$1="[object Int32Array]",uint8Tag$1="[object Uint8Array]",uint8ClampedTag$1="[object Uint8ClampedArray]",uint16Tag$1="[object Uint16Array]",uint32Tag$1="[object Uint32Array]";function initCloneByTag$1(u,l,f){var p=u.constructor;switch(l){case arrayBufferTag$1:return cloneArrayBuffer(u);case boolTag$1:case dateTag$1:return new p(+u);case dataViewTag$1:return cloneDataView(u,f);case float32Tag$1:case float64Tag$1:case int8Tag$1:case int16Tag$1:case int32Tag$1:case uint8Tag$1:case uint8ClampedTag$1:case uint16Tag$1:case uint32Tag$1:return cloneTypedArray(u,f);case mapTag$2:return new p;case numberTag$1:case stringTag$1:return new p(u);case regexpTag$1:return cloneRegExp(u);case setTag$2:return new p;case symbolTag$1:return cloneSymbol(u)}}var _initCloneByTag=initCloneByTag$1,baseCreate=_baseCreate,getPrototype=_getPrototype$1,isPrototype=_isPrototype$1;function initCloneObject$1(u){return typeof u.constructor=="function"&&!isPrototype(u)?baseCreate(getPrototype(u)):{}}var _initCloneObject=initCloneObject$1,getTag$3=_getTag$1,isObjectLike$3=isObjectLike_1$1,mapTag$1="[object Map]";function baseIsMap$1(u){return isObjectLike$3(u)&&getTag$3(u)==mapTag$1}var _baseIsMap=baseIsMap$1,baseIsMap=_baseIsMap,baseUnary$1=_baseUnary$1,nodeUtil$1=_nodeUtilExports,nodeIsMap=nodeUtil$1&&nodeUtil$1.isMap,isMap$1=nodeIsMap?baseUnary$1(nodeIsMap):baseIsMap,isMap_1=isMap$1,getTag$2=_getTag$1,isObjectLike$2=isObjectLike_1$1,setTag$1="[object Set]";function baseIsSet$1(u){return isObjectLike$2(u)&&getTag$2(u)==setTag$1}var _baseIsSet=baseIsSet$1,baseIsSet=_baseIsSet,baseUnary=_baseUnary$1,nodeUtil=_nodeUtilExports,nodeIsSet=nodeUtil&&nodeUtil.isSet,isSet$1=nodeIsSet?baseUnary(nodeIsSet):baseIsSet,isSet_1=isSet$1,Stack=_Stack$1,arrayEach=_arrayEach,assignValue=_assignValue$1,baseAssign=_baseAssign,baseAssignIn=_baseAssignIn,cloneBuffer=_cloneBufferExports,copyArray$1=_copyArray,copySymbols=_copySymbols,copySymbolsIn=_copySymbolsIn,getAllKeys=_getAllKeys$1,getAllKeysIn=_getAllKeysIn$1,getTag$1=_getTag$1,initCloneArray=_initCloneArray,initCloneByTag=_initCloneByTag,initCloneObject=_initCloneObject,isArray$1=isArray_1$1,isBuffer=isBufferExports,isMap=isMap_1,isObject$2=isObject_1$1,isSet=isSet_1,keys=keys_1$1,keysIn=keysIn_1$1,CLONE_DEEP_FLAG$2=1,CLONE_FLAT_FLAG=2,CLONE_SYMBOLS_FLAG$2=4,argsTag="[object Arguments]",arrayTag="[object Array]",boolTag="[object Boolean]",dateTag="[object Date]",errorTag$1="[object Error]",funcTag="[object Function]",genTag="[object GeneratorFunction]",mapTag="[object Map]",numberTag="[object Number]",objectTag="[object Object]",regexpTag="[object RegExp]",setTag="[object Set]",stringTag="[object String]",symbolTag="[object Symbol]",weakMapTag$1="[object WeakMap]",arrayBufferTag="[object ArrayBuffer]",dataViewTag="[object DataView]",float32Tag="[object Float32Array]",float64Tag="[object Float64Array]",int8Tag="[object Int8Array]",int16Tag="[object Int16Array]",int32Tag="[object Int32Array]",uint8Tag="[object Uint8Array]",uint8ClampedTag="[object Uint8ClampedArray]",uint16Tag="[object Uint16Array]",uint32Tag="[object Uint32Array]",cloneableTags={};cloneableTags[argsTag]=cloneableTags[arrayTag]=cloneableTags[arrayBufferTag]=cloneableTags[dataViewTag]=cloneableTags[boolTag]=cloneableTags[dateTag]=cloneableTags[float32Tag]=cloneableTags[float64Tag]=cloneableTags[int8Tag]=cloneableTags[int16Tag]=cloneableTags[int32Tag]=cloneableTags[mapTag]=cloneableTags[numberTag]=cloneableTags[objectTag]=cloneableTags[regexpTag]=cloneableTags[setTag]=cloneableTags[stringTag]=cloneableTags[symbolTag]=cloneableTags[uint8Tag]=cloneableTags[uint8ClampedTag]=cloneableTags[uint16Tag]=cloneableTags[uint32Tag]=!0,cloneableTags[errorTag$1]=cloneableTags[funcTag]=cloneableTags[weakMapTag$1]=!1;function baseClone$3(u,l,f,p,m,b){var y,w=l&CLONE_DEEP_FLAG$2,v=l&CLONE_FLAT_FLAG,k=l&CLONE_SYMBOLS_FLAG$2;if(f&&(y=m?f(u,p,m,b):f(u)),y!==void 0)return y;if(!isObject$2(u))return u;var S=isArray$1(u);if(S){if(y=initCloneArray(u),!w)return copyArray$1(u,y)}else{var B=getTag$1(u),O=B==funcTag||B==genTag;if(isBuffer(u))return cloneBuffer(u,w);if(B==objectTag||B==argsTag||O&&!m){if(y=v||O?{}:initCloneObject(u),!w)return v?copySymbolsIn(u,baseAssignIn(y,u)):copySymbols(u,baseAssign(y,u))}else{if(!cloneableTags[B])return m?u:{};y=initCloneByTag(u,B,w)}}b||(b=new Stack);var R=b.get(u);if(R)return R;b.set(u,y),isSet(u)?u.forEach(function(X){y.add(baseClone$3(X,l,f,X,u,b))}):isMap(u)&&u.forEach(function(X,K){y.set(K,baseClone$3(X,l,f,K,u,b))});var N=k?v?getAllKeysIn:getAllKeys:v?keysIn:keys,$=S?void 0:N(u);return arrayEach($||u,function(X,K){$&&(K=X,X=u[K]),assignValue(y,K,baseClone$3(X,l,f,K,u,b))}),y}var _baseClone=baseClone$3,baseClone$2=_baseClone,CLONE_SYMBOLS_FLAG$1=4;function clone(u){return baseClone$2(u,CLONE_SYMBOLS_FLAG$1)}var clone_1=clone,createWrap$1=_createWrap,WRAP_CURRY_FLAG=8;function curry(u,l,f){l=f?void 0:l;var p=createWrap$1(u,WRAP_CURRY_FLAG,void 0,void 0,void 0,void 0,void 0,l);return p.placeholder=curry.placeholder,p}curry.placeholder={};var curry_1=curry,baseGetTag=_baseGetTag$1,isObjectLike$1=isObjectLike_1$1,isPlainObject$3=isPlainObject_1$1,domExcTag="[object DOMException]",errorTag="[object Error]";function isError(u){if(!isObjectLike$1(u))return!1;var l=baseGetTag(u);return l==errorTag||l==domExcTag||typeof u.message=="string"&&typeof u.name=="string"&&!isPlainObject$3(u)}var isError_1=isError,getTag=_getTag$1,isObjectLike=isObjectLike_1$1,weakMapTag="[object WeakMap]";function isWeakMap(u){return isObjectLike(u)&&getTag(u)==weakMapTag}var isWeakMap_1=isWeakMap,baseClone$1=_baseClone,baseIteratee=_baseIteratee$1,CLONE_DEEP_FLAG$1=1;function iteratee(u){return baseIteratee(typeof u=="function"?u:baseClone$1(u,CLONE_DEEP_FLAG$1))}var iteratee_1=iteratee,createWrap=_createWrap,flatRest=_flatRest$1,WRAP_REARG_FLAG=256,rearg=flatRest(function(u,l){return createWrap(u,WRAP_REARG_FLAG,void 0,void 0,void 0,l)}),rearg_1=rearg,arrayMap=_arrayMap$1,copyArray=_copyArray,isArray=isArray_1$1,isSymbol=isSymbol_1$1,stringToPath=_stringToPath$1,toKey=_toKey$1,toString$1=toString_1$1;function toPath(u){return isArray(u)?arrayMap(u,toKey):isSymbol(u)?[u]:copyArray(stringToPath(toString$1(u)))}var toPath_1=toPath,_util={ary:ary_1,assign:_baseAssign,clone:clone_1,curry:curry_1,forEach:_arrayEach,isArray:isArray_1$1,isError:isError_1,isFunction:isFunction_1$1,isWeakMap:isWeakMap_1,iteratee:iteratee_1,keys:_baseKeys$1,rearg:rearg_1,toInteger:toInteger_1,toPath:toPath_1},baseConvert=_baseConvert,util=_util;function convert$1(u,l,f){return baseConvert(util,u,l,f)}var convert_1=convert$1,baseClone=_baseClone,CLONE_DEEP_FLAG=1,CLONE_SYMBOLS_FLAG=4;function cloneDeep$3(u){return baseClone(u,CLONE_DEEP_FLAG|CLONE_SYMBOLS_FLAG)}var cloneDeep_1=cloneDeep$3;const cloneDeep$4=getDefaultExportFromCjs$1(cloneDeep_1);var _falseOptions,hasRequired_falseOptions;function require_falseOptions(){return hasRequired_falseOptions||(hasRequired_falseOptions=1,_falseOptions={cap:!1,curry:!1,fixed:!1,immutable:!1,rearg:!1}),_falseOptions}var convert=convert_1,func$5=convert("cloneDeep",cloneDeep_1,require_falseOptions());func$5.placeholder=requirePlaceholder();var cloneDeep$1=func$5;const cloneDeep$2=getDefaultExportFromCjs$1(cloneDeep$1),getJSONArrayDatasourceSchema=(u,l)=>{let f=u,p=[];l.prefixKeys&&(p=l.prefixKeys.concat(["schema"])),p=p.concat(l.label.split(".").slice(2));for(let m=0;m<p.length;m++)f=f==null?void 0:f[p[m]],f!=null&&f.schema&&(f=f.schema);return convertJSONSchemaToTableSchema(f,{squashObjects:!0,prefixKeys:p})},convertJSONSchemaToTableSchema=(u,l)=>{if(!u)return null;l={squashObjects:!1,prefixKeys:null,...l},u.schema?u=u.schema:u={value:u};const f=extractJSONSchemaKeys(u,l.squashObjects);let p={};return f.forEach(({key:m,type:b})=>{p[m]={type:b,name:m,prefixKeys:l.prefixKeys}}),p},extractJSONSchemaKeys=(u,l=!1)=>{if(!u||!Object.keys(u).length)return[];let f=[];return Object.keys(u).forEach(p=>{const m=u[p].type;if(m==="json"&&l){const b=extractJSONSchemaKeys(u[p].schema,l);f=f.concat(b.map(y=>({key:`${p}.${y.key}`,type:y.type})))}else f.push({key:p,type:m==="array"?"jsonarray":m})}),f},generateQueryArraySchemas=(u,l)=>{var f,p;for(let m in u)((f=u[m])==null?void 0:f.type)==="json"&&((p=u[m])==null?void 0:p.subtype)==="array"&&hasSchema(l[m])&&(u[m]={schema:{schema:Object.entries(l[m]||{}).reduce((b,[y,w])=>(b[y]={name:y,type:w.type,subtype:w.subtype},b),{}),type:"json"},type:"json",subtype:"array"});return u};function setCookie(u,l,f){getCookie(u)&&removeCookie(u);let p=`${u}=${l}; Path=/;`;f&&(p+=` Domain=${f};`),window.document.cookie=p}function getCookie(u){const f=`; ${document.cookie}`.split(`; ${u}=`);if(f.length===2)return f[1].split(";").shift()}function removeCookie(u){getCookie(u)&&(document.cookie=`${u}=; Max-Age=-99999999; Path=/;`)}const RolePriorities={[Roles.ADMIN]:5,[Roles.CREATOR]:4,[Roles.POWER]:3,[Roles.BASIC]:2,[Roles.PUBLIC]:1},getRolePriority=u=>RolePriorities[u]??0,sleep=u=>new Promise(l=>setTimeout(l,u)),debounce=(u,l=1e3)=>{let f;return async(...p)=>new Promise(m=>{f&&clearTimeout(f),f=setTimeout(async()=>{const b=await u(...p);m(b)},l)})},throttle=(u,l=1e3)=>{let f,p=!1,m=!1;const b=(...y)=>{if(f=y,p){m=!0;return}u(...f),p=!0,setTimeout(()=>{p=!1,m&&(m=!1,b(...f))},l)};return b},domDebounce=u=>{let l=!1,f;return(...p)=>{f=p,l||(l=!0,requestAnimationFrame(()=>{u(...f),l=!1}))}},buildFormBlockButtonConfig=u=>{const{_id:l,actionType:f,dataSource:p,notificationOverride:m,actionUrl:b,showDeleteButton:y,deleteButtonLabel:w,showSaveButton:v,saveButtonLabel:k}=u||{};if(!l)return;const S=`${l}-form`,B=`${l}-repeater`,O=p==null?void 0:p.resourceId,R=y===!1?"":w==null?void 0:w.trim(),N=v===!1?"":k==null?void 0:k.trim(),$=[{"##eventHandlerType":"Validate Form",parameters:{componentId:S}},{"##eventHandlerType":"Save Row",parameters:{providerId:S,tableId:O,notificationOverride:m,confirm:null}},{"##eventHandlerType":"Close Screen Modal"},{"##eventHandlerType":"Close Side Panel"},{"##eventHandlerType":"Close Modal"},...f!=="Create"?[]:[{"##eventHandlerType":"Clear Form",parameters:{componentId:S}}],...b?[{"##eventHandlerType":"Navigate To",parameters:{url:b}}]:[]],X=[{"##eventHandlerType":"Delete Row",parameters:{confirm:!0,tableId:O,rowId:`{{ ${makePropSafe(B)}.${makePropSafe("_id")} }}`,revId:`{{ ${makePropSafe(B)}.${makePropSafe("_rev")} }}`,notificationOverride:m}},{"##eventHandlerType":"Close Screen Modal"},{"##eventHandlerType":"Close Side Panel"},{"##eventHandlerType":"Close Modal"},...b?[{"##eventHandlerType":"Navigate To",parameters:{url:b}}]:[]],K=[];return f&&["Update","Create"].includes(f)&&v!==!1&&K.push({text:N||"Save",_id:uuid(),_component:"@budibase/standard-components/button",onClick:$,type:"cta"}),f==="Update"&&y!==!1&&K.push({text:R||"Delete",_id:uuid(),_component:"@budibase/standard-components/button",onClick:X,quiet:!0,type:"warning"}),K},buildMultiStepFormBlockDefaultProps=u=>{const{_id:l,stepCount:f,currentStep:p,actionType:m,dataSource:b}=u||{};if(!l||!f)return;const y=`Step {{ [${l}-form].[__currentStep] }}`,w=b==null?void 0:b.resourceId,v=`${l}-form`;let k=[];return p!==0&&k.push({_id:uuid(),_component:"@budibase/standard-components/button",_instanceName:uuid(),text:"Back",type:"secondary",size:"M",onClick:[{parameters:{type:"prev",componentId:v},"##eventHandlerType":"Change Form Step"}]}),p!==f-1&&k.push({_id:uuid(),_component:"@budibase/standard-components/button",_instanceName:uuid(),text:"Next",type:"cta",size:"M",onClick:[{"##eventHandlerType":"Validate Form",parameters:{componentId:v}},{parameters:{type:"next",componentId:v},"##eventHandlerType":"Change Form Step"}]}),m!=="View"&&p===f-1&&k.push({_id:uuid(),_component:"@budibase/standard-components/button",_instanceName:uuid(),text:"Save",type:"cta",size:"M",onClick:[{"##eventHandlerType":"Validate Form",parameters:{componentId:v}},{"##eventHandlerType":"Save Row",parameters:{tableId:w,providerId:v}},...m!=="Create"?[]:[{"##eventHandlerType":"Clear Form",parameters:{componentId:v}}]]}),{buttons:k,title:y}};function parseFilter(u){if(!(u!=null&&u.groups))return u;const l=cloneDeep$4(u);return l.groups&&(l.groups=l.groups.map(f=>{var p;return f.filters?(f.filters=f.filters.filter(m=>m.field&&m.operator),(p=f.filters)!=null&&p.length?f:null):f}).filter(f=>!!f)),l}const isBetterSample=(u,l)=>{if(l==null&&u!=null)return!0;if(l!=null&&u==null)return!1;const f=typeof l,p=typeof u;return f!==p?!1:p==="string"&&u.length>l.length||p==="object"&&Object.keys(u).length>Object.keys(l).length},generateGoldenSample=u=>{let l={};return u==null||u.slice(0,100).forEach(f=>{Object.keys(f).forEach(p=>{isBetterSample(f[p],l[p])&&(l[p]=f[p])})}),l},getColumnIcon=u=>{if(u.schema.icon&&!u.schema.icon.startsWith("ri-"))return u.schema.icon;if(u.calculationType)return"calculator";if(u.schema.autocolumn)return"shapes";if(isDeprecatedSingleUserColumn(u.schema))return"user";const{type:l,subtype:f}=u.schema;return(typeof TypeIconMap[l]=="object"&&f?TypeIconMap[l][f]:TypeIconMap[l])||"article"},memo=u=>{const l=writable(u);let f=JSON.stringify(u);const p=m=>{const b=JSON.stringify(m);b!==f&&(l.set(m),f=b)};return{subscribe:l.subscribe,set:p,update:m=>{let b=JSON.parse(f);const y=m(b);p(y)}}},derivedMemo=(u,l)=>{const f=derived(u,l),p=memo(get_store_value(f));return f.subscribe(p.set),p},PACKET_TYPES=Object.create(null);PACKET_TYPES.open="0",PACKET_TYPES.close="1",PACKET_TYPES.ping="2",PACKET_TYPES.pong="3",PACKET_TYPES.message="4",PACKET_TYPES.upgrade="5",PACKET_TYPES.noop="6";const PACKET_TYPES_REVERSE=Object.create(null);Object.keys(PACKET_TYPES).forEach(u=>{PACKET_TYPES_REVERSE[PACKET_TYPES[u]]=u});const ERROR_PACKET={type:"error",data:"parser error"},withNativeBlob$1=typeof Blob=="function"||typeof Blob<"u"&&Object.prototype.toString.call(Blob)==="[object BlobConstructor]",withNativeArrayBuffer$2=typeof ArrayBuffer=="function",isView$1=u=>typeof ArrayBuffer.isView=="function"?ArrayBuffer.isView(u):u&&u.buffer instanceof ArrayBuffer,encodePacket=({type:u,data:l},f,p)=>withNativeBlob$1&&l instanceof Blob?f?p(l):encodeBlobAsBase64(l,p):withNativeArrayBuffer$2&&(l instanceof ArrayBuffer||isView$1(l))?f?p(l):encodeBlobAsBase64(new Blob([l]),p):p(PACKET_TYPES[u]+(l||"")),encodeBlobAsBase64=(u,l)=>{const f=new FileReader;return f.onload=function(){const p=f.result.split(",")[1];l("b"+(p||""))},f.readAsDataURL(u)};function toArray(u){return u instanceof Uint8Array?u:u instanceof ArrayBuffer?new Uint8Array(u):new Uint8Array(u.buffer,u.byteOffset,u.byteLength)}let TEXT_ENCODER;function encodePacketToBinary(u,l){if(withNativeBlob$1&&u.data instanceof Blob)return u.data.arrayBuffer().then(toArray).then(l);if(withNativeArrayBuffer$2&&(u.data instanceof ArrayBuffer||isView$1(u.data)))return l(toArray(u.data));encodePacket(u,!1,f=>{TEXT_ENCODER||(TEXT_ENCODER=new TextEncoder),l(TEXT_ENCODER.encode(f))})}const chars="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",lookup$2=typeof Uint8Array>"u"?[]:new Uint8Array(256);for(let u=0;u<chars.length;u++)lookup$2[chars.charCodeAt(u)]=u;const decode$2=u=>{let l=u.length*.75,f=u.length,p,m=0,b,y,w,v;u[u.length-1]==="="&&(l--,u[u.length-2]==="="&&l--);const k=new ArrayBuffer(l),S=new Uint8Array(k);for(p=0;p<f;p+=4)b=lookup$2[u.charCodeAt(p)],y=lookup$2[u.charCodeAt(p+1)],w=lookup$2[u.charCodeAt(p+2)],v=lookup$2[u.charCodeAt(p+3)],S[m++]=b<<2|y>>4,S[m++]=(y&15)<<4|w>>2,S[m++]=(w&3)<<6|v&63;return k},withNativeArrayBuffer$1=typeof ArrayBuffer=="function",decodePacket=(u,l)=>{if(typeof u!="string")return{type:"message",data:mapBinary(u,l)};const f=u.charAt(0);return f==="b"?{type:"message",data:decodeBase64Packet(u.substring(1),l)}:PACKET_TYPES_REVERSE[f]?u.length>1?{type:PACKET_TYPES_REVERSE[f],data:u.substring(1)}:{type:PACKET_TYPES_REVERSE[f]}:ERROR_PACKET},decodeBase64Packet=(u,l)=>{if(withNativeArrayBuffer$1){const f=decode$2(u);return mapBinary(f,l)}else return{base64:!0,data:u}},mapBinary=(u,l)=>{switch(l){case"blob":return u instanceof Blob?u:new Blob([u]);case"arraybuffer":default:return u instanceof ArrayBuffer?u:u.buffer}},SEPARATOR=String.fromCharCode(30),encodePayload=(u,l)=>{const f=u.length,p=new Array(f);let m=0;u.forEach((b,y)=>{encodePacket(b,!1,w=>{p[y]=w,++m===f&&l(p.join(SEPARATOR))})})},decodePayload=(u,l)=>{const f=u.split(SEPARATOR),p=[];for(let m=0;m<f.length;m++){const b=decodePacket(f[m],l);if(p.push(b),b.type==="error")break}return p};function createPacketEncoderStream(){return new TransformStream({transform(u,l){encodePacketToBinary(u,f=>{const p=f.length;let m;if(p<126)m=new Uint8Array(1),new DataView(m.buffer).setUint8(0,p);else if(p<65536){m=new Uint8Array(3);const b=new DataView(m.buffer);b.setUint8(0,126),b.setUint16(1,p)}else{m=new Uint8Array(9);const b=new DataView(m.buffer);b.setUint8(0,127),b.setBigUint64(1,BigInt(p))}u.data&&typeof u.data!="string"&&(m[0]|=128),l.enqueue(m),l.enqueue(f)})}})}let TEXT_DECODER;function totalLength(u){return u.reduce((l,f)=>l+f.length,0)}function concatChunks(u,l){if(u[0].length===l)return u.shift();const f=new Uint8Array(l);let p=0;for(let m=0;m<l;m++)f[m]=u[0][p++],p===u[0].length&&(u.shift(),p=0);return u.length&&p<u[0].length&&(u[0]=u[0].slice(p)),f}function createPacketDecoderStream(u,l){TEXT_DECODER||(TEXT_DECODER=new TextDecoder);const f=[];let p=0,m=-1,b=!1;return new TransformStream({transform(y,w){for(f.push(y);;){if(p===0){if(totalLength(f)<1)break;const v=concatChunks(f,1);b=(v[0]&128)===128,m=v[0]&127,m<126?p=3:m===126?p=1:p=2}else if(p===1){if(totalLength(f)<2)break;const v=concatChunks(f,2);m=new DataView(v.buffer,v.byteOffset,v.length).getUint16(0),p=3}else if(p===2){if(totalLength(f)<8)break;const v=concatChunks(f,8),k=new DataView(v.buffer,v.byteOffset,v.length),S=k.getUint32(0);if(S>Math.pow(2,53-32)-1){w.enqueue(ERROR_PACKET);break}m=S*Math.pow(2,32)+k.getUint32(4),p=3}else{if(totalLength(f)<m)break;const v=concatChunks(f,m);w.enqueue(decodePacket(b?v:TEXT_DECODER.decode(v),l)),p=0}if(m===0||m>u){w.enqueue(ERROR_PACKET);break}}}})}const protocol$1=4;function Emitter(u){if(u)return mixin(u)}function mixin(u){for(var l in Emitter.prototype)u[l]=Emitter.prototype[l];return u}Emitter.prototype.on=Emitter.prototype.addEventListener=function(u,l){return this._callbacks=this._callbacks||{},(this._callbacks["$"+u]=this._callbacks["$"+u]||[]).push(l),this},Emitter.prototype.once=function(u,l){function f(){this.off(u,f),l.apply(this,arguments)}return f.fn=l,this.on(u,f),this},Emitter.prototype.off=Emitter.prototype.removeListener=Emitter.prototype.removeAllListeners=Emitter.prototype.removeEventListener=function(u,l){if(this._callbacks=this._callbacks||{},arguments.length==0)return this._callbacks={},this;var f=this._callbacks["$"+u];if(!f)return this;if(arguments.length==1)return delete this._callbacks["$"+u],this;for(var p,m=0;m<f.length;m++)if(p=f[m],p===l||p.fn===l){f.splice(m,1);break}return f.length===0&&delete this._callbacks["$"+u],this},Emitter.prototype.emit=function(u){this._callbacks=this._callbacks||{};for(var l=new Array(arguments.length-1),f=this._callbacks["$"+u],p=1;p<arguments.length;p++)l[p-1]=arguments[p];if(f){f=f.slice(0);for(var p=0,m=f.length;p<m;++p)f[p].apply(this,l)}return this},Emitter.prototype.emitReserved=Emitter.prototype.emit,Emitter.prototype.listeners=function(u){return this._callbacks=this._callbacks||{},this._callbacks["$"+u]||[]},Emitter.prototype.hasListeners=function(u){return!!this.listeners(u).length};const nextTick=(()=>typeof Promise=="function"&&typeof Promise.resolve=="function"?l=>Promise.resolve().then(l):(l,f)=>f(l,0))(),globalThisShim=(()=>typeof self<"u"?self:typeof window<"u"?window:Function("return this")())(),defaultBinaryType="arraybuffer";function createCookieJar(){}function pick(u,...l){return l.reduce((f,p)=>(u.hasOwnProperty(p)&&(f[p]=u[p]),f),{})}const NATIVE_SET_TIMEOUT=globalThisShim.setTimeout,NATIVE_CLEAR_TIMEOUT=globalThisShim.clearTimeout;function installTimerFunctions(u,l){l.useNativeTimers?(u.setTimeoutFn=NATIVE_SET_TIMEOUT.bind(globalThisShim),u.clearTimeoutFn=NATIVE_CLEAR_TIMEOUT.bind(globalThisShim)):(u.setTimeoutFn=globalThisShim.setTimeout.bind(globalThisShim),u.clearTimeoutFn=globalThisShim.clearTimeout.bind(globalThisShim))}const BASE64_OVERHEAD=1.33;function byteLength(u){return typeof u=="string"?utf8Length(u):Math.ceil((u.byteLength||u.size)*BASE64_OVERHEAD)}function utf8Length(u){let l=0,f=0;for(let p=0,m=u.length;p<m;p++)l=u.charCodeAt(p),l<128?f+=1:l<2048?f+=2:l<55296||l>=57344?f+=3:(p++,f+=4);return f}function randomString(){return Date.now().toString(36).substring(3)+Math.random().toString(36).substring(2,5)}function encode$3(u){let l="";for(let f in u)u.hasOwnProperty(f)&&(l.length&&(l+="&"),l+=encodeURIComponent(f)+"="+encodeURIComponent(u[f]));return l}function decode$1(u){let l={},f=u.split("&");for(let p=0,m=f.length;p<m;p++){let b=f[p].split("=");l[decodeURIComponent(b[0])]=decodeURIComponent(b[1])}return l}class TransportError extends Error{constructor(l,f,p){super(l),this.description=f,this.context=p,this.type="TransportError"}}class Transport extends Emitter{constructor(l){super(),this.writable=!1,installTimerFunctions(this,l),this.opts=l,this.query=l.query,this.socket=l.socket,this.supportsBinary=!l.forceBase64}onError(l,f,p){return super.emitReserved("error",new TransportError(l,f,p)),this}open(){return this.readyState="opening",this.doOpen(),this}close(){return(this.readyState==="opening"||this.readyState==="open")&&(this.doClose(),this.onClose()),this}send(l){this.readyState==="open"&&this.write(l)}onOpen(){this.readyState="open",this.writable=!0,super.emitReserved("open")}onData(l){const f=decodePacket(l,this.socket.binaryType);this.onPacket(f)}onPacket(l){super.emitReserved("packet",l)}onClose(l){this.readyState="closed",super.emitReserved("close",l)}pause(l){}createUri(l,f={}){return l+"://"+this._hostname()+this._port()+this.opts.path+this._query(f)}_hostname(){const l=this.opts.hostname;return l.indexOf(":")===-1?l:"["+l+"]"}_port(){return this.opts.port&&(this.opts.secure&&+(this.opts.port!==443)||!this.opts.secure&&Number(this.opts.port)!==80)?":"+this.opts.port:""}_query(l){const f=encode$3(l);return f.length?"?"+f:""}}class Polling extends Transport{constructor(){super(...arguments),this._polling=!1}get name(){return"polling"}doOpen(){this._poll()}pause(l){this.readyState="pausing";const f=()=>{this.readyState="paused",l()};if(this._polling||!this.writable){let p=0;this._polling&&(p++,this.once("pollComplete",function(){--p||f()})),this.writable||(p++,this.once("drain",function(){--p||f()}))}else f()}_poll(){this._polling=!0,this.doPoll(),this.emitReserved("poll")}onData(l){const f=p=>{if(this.readyState==="opening"&&p.type==="open"&&this.onOpen(),p.type==="close")return this.onClose({description:"transport closed by the server"}),!1;this.onPacket(p)};decodePayload(l,this.socket.binaryType).forEach(f),this.readyState!=="closed"&&(this._polling=!1,this.emitReserved("pollComplete"),this.readyState==="open"&&this._poll())}doClose(){const l=()=>{this.write([{type:"close"}])};this.readyState==="open"?l():this.once("open",l)}write(l){this.writable=!1,encodePayload(l,f=>{this.doWrite(f,()=>{this.writable=!0,this.emitReserved("drain")})})}uri(){const l=this.opts.secure?"https":"http",f=this.query||{};return this.opts.timestampRequests!==!1&&(f[this.opts.timestampParam]=randomString()),!this.supportsBinary&&!f.sid&&(f.b64=1),this.createUri(l,f)}}let value$1=!1;try{value$1=typeof XMLHttpRequest<"u"&&"withCredentials"in new XMLHttpRequest}catch(u){}const hasCORS=value$1;function empty(){}class BaseXHR extends Polling{constructor(l){if(super(l),typeof location<"u"){const f=location.protocol==="https:";let p=location.port;p||(p=f?"443":"80"),this.xd=typeof location<"u"&&l.hostname!==location.hostname||p!==l.port}}doWrite(l,f){const p=this.request({method:"POST",data:l});p.on("success",f),p.on("error",(m,b)=>{this.onError("xhr post error",m,b)})}doPoll(){const l=this.request();l.on("data",this.onData.bind(this)),l.on("error",(f,p)=>{this.onError("xhr poll error",f,p)}),this.pollXhr=l}}class Request extends Emitter{constructor(l,f,p){super(),this.createRequest=l,installTimerFunctions(this,p),this._opts=p,this._method=p.method||"GET",this._uri=f,this._data=p.data!==void 0?p.data:null,this._create()}_create(){var l;const f=pick(this._opts,"agent","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","autoUnref");f.xdomain=!!this._opts.xd;const p=this._xhr=this.createRequest(f);try{p.open(this._method,this._uri,!0);try{if(this._opts.extraHeaders){p.setDisableHeaderCheck&&p.setDisableHeaderCheck(!0);for(let m in this._opts.extraHeaders)this._opts.extraHeaders.hasOwnProperty(m)&&p.setRequestHeader(m,this._opts.extraHeaders[m])}}catch{}if(this._method==="POST")try{p.setRequestHeader("Content-type","text/plain;charset=UTF-8")}catch{}try{p.setRequestHeader("Accept","*/*")}catch{}(l=this._opts.cookieJar)===null||l===void 0||l.addCookies(p),"withCredentials"in p&&(p.withCredentials=this._opts.withCredentials),this._opts.requestTimeout&&(p.timeout=this._opts.requestTimeout),p.onreadystatechange=()=>{var m;p.readyState===3&&((m=this._opts.cookieJar)===null||m===void 0||m.parseCookies(p.getResponseHeader("set-cookie"))),p.readyState===4&&(p.status===200||p.status===1223?this._onLoad():this.setTimeoutFn(()=>{this._onError(typeof p.status=="number"?p.status:0)},0))},p.send(this._data)}catch(m){this.setTimeoutFn(()=>{this._onError(m)},0);return}typeof document<"u"&&(this._index=Request.requestsCount++,Request.requests[this._index]=this)}_onError(l){this.emitReserved("error",l,this._xhr),this._cleanup(!0)}_cleanup(l){if(!(typeof this._xhr>"u"||this._xhr===null)){if(this._xhr.onreadystatechange=empty,l)try{this._xhr.abort()}catch{}typeof document<"u"&&delete Request.requests[this._index],this._xhr=null}}_onLoad(){const l=this._xhr.responseText;l!==null&&(this.emitReserved("data",l),this.emitReserved("success"),this._cleanup())}abort(){this._cleanup()}}if(Request.requestsCount=0,Request.requests={},typeof document<"u"){if(typeof attachEvent=="function")attachEvent("onunload",unloadHandler);else if(typeof addEventListener=="function"){const u="onpagehide"in globalThisShim?"pagehide":"unload";addEventListener(u,unloadHandler,!1)}}function unloadHandler(){for(let u in Request.requests)Request.requests.hasOwnProperty(u)&&Request.requests[u].abort()}const hasXHR2=function(){const u=newRequest({xdomain:!1});return u&&u.responseType!==null}();class XHR extends BaseXHR{constructor(l){super(l);const f=l&&l.forceBase64;this.supportsBinary=hasXHR2&&!f}request(l={}){return Object.assign(l,{xd:this.xd},this.opts),new Request(newRequest,this.uri(),l)}}function newRequest(u){const l=u.xdomain;try{if(typeof XMLHttpRequest<"u"&&(!l||hasCORS))return new XMLHttpRequest}catch{}if(!l)try{return new globalThisShim[["Active"].concat("Object").join("X")]("Microsoft.XMLHTTP")}catch{}}const isReactNative=typeof navigator<"u"&&typeof navigator.product=="string"&&navigator.product.toLowerCase()==="reactnative";class BaseWS extends Transport{get name(){return"websocket"}doOpen(){const l=this.uri(),f=this.opts.protocols,p=isReactNative?{}:pick(this.opts,"agent","perMessageDeflate","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","localAddress","protocolVersion","origin","maxPayload","family","checkServerIdentity");this.opts.extraHeaders&&(p.headers=this.opts.extraHeaders);try{this.ws=this.createSocket(l,f,p)}catch(m){return this.emitReserved("error",m)}this.ws.binaryType=this.socket.binaryType,this.addEventListeners()}addEventListeners(){this.ws.onopen=()=>{this.opts.autoUnref&&this.ws._socket.unref(),this.onOpen()},this.ws.onclose=l=>this.onClose({description:"websocket connection closed",context:l}),this.ws.onmessage=l=>this.onData(l.data),this.ws.onerror=l=>this.onError("websocket error",l)}write(l){this.writable=!1;for(let f=0;f<l.length;f++){const p=l[f],m=f===l.length-1;encodePacket(p,this.supportsBinary,b=>{try{this.doWrite(p,b)}catch{}m&&nextTick(()=>{this.writable=!0,this.emitReserved("drain")},this.setTimeoutFn)})}}doClose(){typeof this.ws<"u"&&(this.ws.onerror=()=>{},this.ws.close(),this.ws=null)}uri(){const l=this.opts.secure?"wss":"ws",f=this.query||{};return this.opts.timestampRequests&&(f[this.opts.timestampParam]=randomString()),this.supportsBinary||(f.b64=1),this.createUri(l,f)}}const WebSocketCtor=globalThisShim.WebSocket||globalThisShim.MozWebSocket;class WS extends BaseWS{createSocket(l,f,p){return isReactNative?new WebSocketCtor(l,f,p):f?new WebSocketCtor(l,f):new WebSocketCtor(l)}doWrite(l,f){this.ws.send(f)}}class WT extends Transport{get name(){return"webtransport"}doOpen(){try{this._transport=new WebTransport(this.createUri("https"),this.opts.transportOptions[this.name])}catch(l){return this.emitReserved("error",l)}this._transport.closed.then(()=>{this.onClose()}).catch(l=>{this.onError("webtransport error",l)}),this._transport.ready.then(()=>{this._transport.createBidirectionalStream().then(l=>{const f=createPacketDecoderStream(Number.MAX_SAFE_INTEGER,this.socket.binaryType),p=l.readable.pipeThrough(f).getReader(),m=createPacketEncoderStream();m.readable.pipeTo(l.writable),this._writer=m.writable.getWriter();const b=()=>{p.read().then(({done:w,value:v})=>{w||(this.onPacket(v),b())}).catch(w=>{})};b();const y={type:"open"};this.query.sid&&(y.data=`{"sid":"${this.query.sid}"}`),this._writer.write(y).then(()=>this.onOpen())})})}write(l){this.writable=!1;for(let f=0;f<l.length;f++){const p=l[f],m=f===l.length-1;this._writer.write(p).then(()=>{m&&nextTick(()=>{this.writable=!0,this.emitReserved("drain")},this.setTimeoutFn)})}}doClose(){var l;(l=this._transport)===null||l===void 0||l.close()}}const transports={websocket:WS,webtransport:WT,polling:XHR},re=/^(?:(?![^:@\/?#]+:[^:@\/]*@)(http|https|ws|wss):\/\/)?((?:(([^:@\/?#]*)(?::([^:@\/?#]*))?)?@)?((?:[a-f0-9]{0,4}:){2,7}[a-f0-9]{0,4}|[^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/,parts=["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"];function parse$6(u){if(u.length>8e3)throw"URI too long";const l=u,f=u.indexOf("["),p=u.indexOf("]");f!=-1&&p!=-1&&(u=u.substring(0,f)+u.substring(f,p).replace(/:/g,";")+u.substring(p,u.length));let m=re.exec(u||""),b={},y=14;for(;y--;)b[parts[y]]=m[y]||"";return f!=-1&&p!=-1&&(b.source=l,b.host=b.host.substring(1,b.host.length-1).replace(/;/g,":"),b.authority=b.authority.replace("[","").replace("]","").replace(/;/g,":"),b.ipv6uri=!0),b.pathNames=pathNames(b,b.path),b.queryKey=queryKey(b,b.query),b}function pathNames(u,l){const f=/\/{2,9}/g,p=l.replace(f,"/").split("/");return(l.slice(0,1)=="/"||l.length===0)&&p.splice(0,1),l.slice(-1)=="/"&&p.splice(p.length-1,1),p}function queryKey(u,l){const f={};return l.replace(/(?:^|&)([^&=]*)=?([^&]*)/g,function(p,m,b){m&&(f[m]=b)}),f}const withEventListeners=typeof addEventListener=="function"&&typeof removeEventListener=="function",OFFLINE_EVENT_LISTENERS=[];withEventListeners&&addEventListener("offline",()=>{OFFLINE_EVENT_LISTENERS.forEach(u=>u())},!1);class SocketWithoutUpgrade extends Emitter{constructor(l,f){if(super(),this.binaryType=defaultBinaryType,this.writeBuffer=[],this._prevBufferLen=0,this._pingInterval=-1,this._pingTimeout=-1,this._maxPayload=-1,this._pingTimeoutTime=1/0,l&&typeof l=="object"&&(f=l,l=null),l){const p=parse$6(l);f.hostname=p.host,f.secure=p.protocol==="https"||p.protocol==="wss",f.port=p.port,p.query&&(f.query=p.query)}else f.host&&(f.hostname=parse$6(f.host).host);installTimerFunctions(this,f),this.secure=f.secure!=null?f.secure:typeof location<"u"&&location.protocol==="https:",f.hostname&&!f.port&&(f.port=this.secure?"443":"80"),this.hostname=f.hostname||(typeof location<"u"?location.hostname:"localhost"),this.port=f.port||(typeof location<"u"&&location.port?location.port:this.secure?"443":"80"),this.transports=[],this._transportsByName={},f.transports.forEach(p=>{const m=p.prototype.name;this.transports.push(m),this._transportsByName[m]=p}),this.opts=Object.assign({path:"/engine.io",agent:!1,withCredentials:!1,upgrade:!0,timestampParam:"t",rememberUpgrade:!1,addTrailingSlash:!0,rejectUnauthorized:!0,perMessageDeflate:{threshold:1024},transportOptions:{},closeOnBeforeunload:!1},f),this.opts.path=this.opts.path.replace(/\/$/,"")+(this.opts.addTrailingSlash?"/":""),typeof this.opts.query=="string"&&(this.opts.query=decode$1(this.opts.query)),withEventListeners&&(this.opts.closeOnBeforeunload&&(this._beforeunloadEventListener=()=>{this.transport&&(this.transport.removeAllListeners(),this.transport.close())},addEventListener("beforeunload",this._beforeunloadEventListener,!1)),this.hostname!=="localhost"&&(this._offlineEventListener=()=>{this._onClose("transport close",{description:"network connection lost"})},OFFLINE_EVENT_LISTENERS.push(this._offlineEventListener))),this.opts.withCredentials&&(this._cookieJar=void 0),this._open()}createTransport(l){const f=Object.assign({},this.opts.query);f.EIO=protocol$1,f.transport=l,this.id&&(f.sid=this.id);const p=Object.assign({},this.opts,{query:f,socket:this,hostname:this.hostname,secure:this.secure,port:this.port},this.opts.transportOptions[l]);return new this._transportsByName[l](p)}_open(){if(this.transports.length===0){this.setTimeoutFn(()=>{this.emitReserved("error","No transports available")},0);return}const l=this.opts.rememberUpgrade&&SocketWithoutUpgrade.priorWebsocketSuccess&&this.transports.indexOf("websocket")!==-1?"websocket":this.transports[0];this.readyState="opening";const f=this.createTransport(l);f.open(),this.setTransport(f)}setTransport(l){this.transport&&this.transport.removeAllListeners(),this.transport=l,l.on("drain",this._onDrain.bind(this)).on("packet",this._onPacket.bind(this)).on("error",this._onError.bind(this)).on("close",f=>this._onClose("transport close",f))}onOpen(){this.readyState="open",SocketWithoutUpgrade.priorWebsocketSuccess=this.transport.name==="websocket",this.emitReserved("open"),this.flush()}_onPacket(l){if(this.readyState==="opening"||this.readyState==="open"||this.readyState==="closing")switch(this.emitReserved("packet",l),this.emitReserved("heartbeat"),l.type){case"open":this.onHandshake(JSON.parse(l.data));break;case"ping":this._sendPacket("pong"),this.emitReserved("ping"),this.emitReserved("pong"),this._resetPingTimeout();break;case"error":const f=new Error("server error");f.code=l.data,this._onError(f);break;case"message":this.emitReserved("data",l.data),this.emitReserved("message",l.data);break}}onHandshake(l){this.emitReserved("handshake",l),this.id=l.sid,this.transport.query.sid=l.sid,this._pingInterval=l.pingInterval,this._pingTimeout=l.pingTimeout,this._maxPayload=l.maxPayload,this.onOpen(),this.readyState!=="closed"&&this._resetPingTimeout()}_resetPingTimeout(){this.clearTimeoutFn(this._pingTimeoutTimer);const l=this._pingInterval+this._pingTimeout;this._pingTimeoutTime=Date.now()+l,this._pingTimeoutTimer=this.setTimeoutFn(()=>{this._onClose("ping timeout")},l),this.opts.autoUnref&&this._pingTimeoutTimer.unref()}_onDrain(){this.writeBuffer.splice(0,this._prevBufferLen),this._prevBufferLen=0,this.writeBuffer.length===0?this.emitReserved("drain"):this.flush()}flush(){if(this.readyState!=="closed"&&this.transport.writable&&!this.upgrading&&this.writeBuffer.length){const l=this._getWritablePackets();this.transport.send(l),this._prevBufferLen=l.length,this.emitReserved("flush")}}_getWritablePackets(){if(!(this._maxPayload&&this.transport.name==="polling"&&this.writeBuffer.length>1))return this.writeBuffer;let f=1;for(let p=0;p<this.writeBuffer.length;p++){const m=this.writeBuffer[p].data;if(m&&(f+=byteLength(m)),p>0&&f>this._maxPayload)return this.writeBuffer.slice(0,p);f+=2}return this.writeBuffer}_hasPingExpired(){if(!this._pingTimeoutTime)return!0;const l=Date.now()>this._pingTimeoutTime;return l&&(this._pingTimeoutTime=0,nextTick(()=>{this._onClose("ping timeout")},this.setTimeoutFn)),l}write(l,f,p){return this._sendPacket("message",l,f,p),this}send(l,f,p){return this._sendPacket("message",l,f,p),this}_sendPacket(l,f,p,m){if(typeof f=="function"&&(m=f,f=void 0),typeof p=="function"&&(m=p,p=null),this.readyState==="closing"||this.readyState==="closed")return;p=p||{},p.compress=p.compress!==!1;const b={type:l,data:f,options:p};this.emitReserved("packetCreate",b),this.writeBuffer.push(b),m&&this.once("flush",m),this.flush()}close(){const l=()=>{this._onClose("forced close"),this.transport.close()},f=()=>{this.off("upgrade",f),this.off("upgradeError",f),l()},p=()=>{this.once("upgrade",f),this.once("upgradeError",f)};return(this.readyState==="opening"||this.readyState==="open")&&(this.readyState="closing",this.writeBuffer.length?this.once("drain",()=>{this.upgrading?p():l()}):this.upgrading?p():l()),this}_onError(l){if(SocketWithoutUpgrade.priorWebsocketSuccess=!1,this.opts.tryAllTransports&&this.transports.length>1&&this.readyState==="opening")return this.transports.shift(),this._open();this.emitReserved("error",l),this._onClose("transport error",l)}_onClose(l,f){if(this.readyState==="opening"||this.readyState==="open"||this.readyState==="closing"){if(this.clearTimeoutFn(this._pingTimeoutTimer),this.transport.removeAllListeners("close"),this.transport.close(),this.transport.removeAllListeners(),withEventListeners&&(this._beforeunloadEventListener&&removeEventListener("beforeunload",this._beforeunloadEventListener,!1),this._offlineEventListener)){const p=OFFLINE_EVENT_LISTENERS.indexOf(this._offlineEventListener);p!==-1&&OFFLINE_EVENT_LISTENERS.splice(p,1)}this.readyState="closed",this.id=null,this.emitReserved("close",l,f),this.writeBuffer=[],this._prevBufferLen=0}}}SocketWithoutUpgrade.protocol=protocol$1;class SocketWithUpgrade extends SocketWithoutUpgrade{constructor(){super(...arguments),this._upgrades=[]}onOpen(){if(super.onOpen(),this.readyState==="open"&&this.opts.upgrade)for(let l=0;l<this._upgrades.length;l++)this._probe(this._upgrades[l])}_probe(l){let f=this.createTransport(l),p=!1;SocketWithoutUpgrade.priorWebsocketSuccess=!1;const m=()=>{p||(f.send([{type:"ping",data:"probe"}]),f.once("packet",B=>{if(!p)if(B.type==="pong"&&B.data==="probe"){if(this.upgrading=!0,this.emitReserved("upgrading",f),!f)return;SocketWithoutUpgrade.priorWebsocketSuccess=f.name==="websocket",this.transport.pause(()=>{p||this.readyState!=="closed"&&(S(),this.setTransport(f),f.send([{type:"upgrade"}]),this.emitReserved("upgrade",f),f=null,this.upgrading=!1,this.flush())})}else{const O=new Error("probe error");O.transport=f.name,this.emitReserved("upgradeError",O)}}))};function b(){p||(p=!0,S(),f.close(),f=null)}const y=B=>{const O=new Error("probe error: "+B);O.transport=f.name,b(),this.emitReserved("upgradeError",O)};function w(){y("transport closed")}function v(){y("socket closed")}function k(B){f&&B.name!==f.name&&b()}const S=()=>{f.removeListener("open",m),f.removeListener("error",y),f.removeListener("close",w),this.off("close",v),this.off("upgrading",k)};f.once("open",m),f.once("error",y),f.once("close",w),this.once("close",v),this.once("upgrading",k),this._upgrades.indexOf("webtransport")!==-1&&l!=="webtransport"?this.setTimeoutFn(()=>{p||f.open()},200):f.open()}onHandshake(l){this._upgrades=this._filterUpgrades(l.upgrades),super.onHandshake(l)}_filterUpgrades(l){const f=[];for(let p=0;p<l.length;p++)~this.transports.indexOf(l[p])&&f.push(l[p]);return f}}let Socket$1=class extends SocketWithUpgrade{constructor(l,f={}){const p=typeof l=="object"?l:f;(!p.transports||p.transports&&typeof p.transports[0]=="string")&&(p.transports=(p.transports||["polling","websocket","webtransport"]).map(m=>transports[m]).filter(m=>!!m)),super(l,p)}};function url(u,l="",f){let p=u;f=f||typeof location<"u"&&location,u==null&&(u=f.protocol+"//"+f.host),typeof u=="string"&&(u.charAt(0)==="/"&&(u.charAt(1)==="/"?u=f.protocol+u:u=f.host+u),/^(https?|wss?):\/\//.test(u)||(typeof f<"u"?u=f.protocol+"//"+u:u="https://"+u),p=parse$6(u)),p.port||(/^(http|ws)$/.test(p.protocol)?p.port="80":/^(http|ws)s$/.test(p.protocol)&&(p.port="443")),p.path=p.path||"/";const b=p.host.indexOf(":")!==-1?"["+p.host+"]":p.host;return p.id=p.protocol+"://"+b+":"+p.port+l,p.href=p.protocol+"://"+b+(f&&f.port===p.port?"":":"+p.port),p}const withNativeArrayBuffer=typeof ArrayBuffer=="function",isView=u=>typeof ArrayBuffer.isView=="function"?ArrayBuffer.isView(u):u.buffer instanceof ArrayBuffer,toString=Object.prototype.toString,withNativeBlob=typeof Blob=="function"||typeof Blob<"u"&&toString.call(Blob)==="[object BlobConstructor]",withNativeFile=typeof File=="function"||typeof File<"u"&&toString.call(File)==="[object FileConstructor]";function isBinary(u){return withNativeArrayBuffer&&(u instanceof ArrayBuffer||isView(u))||withNativeBlob&&u instanceof Blob||withNativeFile&&u instanceof File}function hasBinary(u,l){if(!u||typeof u!="object")return!1;if(Array.isArray(u)){for(let f=0,p=u.length;f<p;f++)if(hasBinary(u[f]))return!0;return!1}if(isBinary(u))return!0;if(u.toJSON&&typeof u.toJSON=="function"&&arguments.length===1)return hasBinary(u.toJSON(),!0);for(const f in u)if(Object.prototype.hasOwnProperty.call(u,f)&&hasBinary(u[f]))return!0;return!1}function deconstructPacket(u){const l=[],f=u.data,p=u;return p.data=_deconstructPacket(f,l),p.attachments=l.length,{packet:p,buffers:l}}function _deconstructPacket(u,l){if(!u)return u;if(isBinary(u)){const f={_placeholder:!0,num:l.length};return l.push(u),f}else if(Array.isArray(u)){const f=new Array(u.length);for(let p=0;p<u.length;p++)f[p]=_deconstructPacket(u[p],l);return f}else if(typeof u=="object"&&!(u instanceof Date)){const f={};for(const p in u)Object.prototype.hasOwnProperty.call(u,p)&&(f[p]=_deconstructPacket(u[p],l));return f}return u}function reconstructPacket(u,l){return u.data=_reconstructPacket(u.data,l),delete u.attachments,u}function _reconstructPacket(u,l){if(!u)return u;if(u&&u._placeholder===!0){if(typeof u.num=="number"&&u.num>=0&&u.num<l.length)return l[u.num];throw new Error("illegal attachments")}else if(Array.isArray(u))for(let f=0;f<u.length;f++)u[f]=_reconstructPacket(u[f],l);else if(typeof u=="object")for(const f in u)Object.prototype.hasOwnProperty.call(u,f)&&(u[f]=_reconstructPacket(u[f],l));return u}const RESERVED_EVENTS$1=["connect","connect_error","disconnect","disconnecting","newListener","removeListener"],protocol=5;var PacketType;(function(u){u[u.CONNECT=0]="CONNECT",u[u.DISCONNECT=1]="DISCONNECT",u[u.EVENT=2]="EVENT",u[u.ACK=3]="ACK",u[u.CONNECT_ERROR=4]="CONNECT_ERROR",u[u.BINARY_EVENT=5]="BINARY_EVENT",u[u.BINARY_ACK=6]="BINARY_ACK"})(PacketType||(PacketType={}));class Encoder{constructor(l){this.replacer=l}encode(l){return(l.type===PacketType.EVENT||l.type===PacketType.ACK)&&hasBinary(l)?this.encodeAsBinary({type:l.type===PacketType.EVENT?PacketType.BINARY_EVENT:PacketType.BINARY_ACK,nsp:l.nsp,data:l.data,id:l.id}):[this.encodeAsString(l)]}encodeAsString(l){let f=""+l.type;return(l.type===PacketType.BINARY_EVENT||l.type===PacketType.BINARY_ACK)&&(f+=l.attachments+"-"),l.nsp&&l.nsp!=="/"&&(f+=l.nsp+","),l.id!=null&&(f+=l.id),l.data!=null&&(f+=JSON.stringify(l.data,this.replacer)),f}encodeAsBinary(l){const f=deconstructPacket(l),p=this.encodeAsString(f.packet),m=f.buffers;return m.unshift(p),m}}function isObject$1(u){return Object.prototype.toString.call(u)==="[object Object]"}class Decoder extends Emitter{constructor(l){super(),this.reviver=l}add(l){let f;if(typeof l=="string"){if(this.reconstructor)throw new Error("got plaintext data when reconstructing a packet");f=this.decodeString(l);const p=f.type===PacketType.BINARY_EVENT;p||f.type===PacketType.BINARY_ACK?(f.type=p?PacketType.EVENT:PacketType.ACK,this.reconstructor=new BinaryReconstructor(f),f.attachments===0&&super.emitReserved("decoded",f)):super.emitReserved("decoded",f)}else if(isBinary(l)||l.base64)if(this.reconstructor)f=this.reconstructor.takeBinaryData(l),f&&(this.reconstructor=null,super.emitReserved("decoded",f));else throw new Error("got binary data when not reconstructing a packet");else throw new Error("Unknown type: "+l)}decodeString(l){let f=0;const p={type:Number(l.charAt(0))};if(PacketType[p.type]===void 0)throw new Error("unknown packet type "+p.type);if(p.type===PacketType.BINARY_EVENT||p.type===PacketType.BINARY_ACK){const b=f+1;for(;l.charAt(++f)!=="-"&&f!=l.length;);const y=l.substring(b,f);if(y!=Number(y)||l.charAt(f)!=="-")throw new Error("Illegal attachments");p.attachments=Number(y)}if(l.charAt(f+1)==="/"){const b=f+1;for(;++f&&!(l.charAt(f)===","||f===l.length););p.nsp=l.substring(b,f)}else p.nsp="/";const m=l.charAt(f+1);if(m!==""&&Number(m)==m){const b=f+1;for(;++f;){const y=l.charAt(f);if(y==null||Number(y)!=y){--f;break}if(f===l.length)break}p.id=Number(l.substring(b,f+1))}if(l.charAt(++f)){const b=this.tryParse(l.substr(f));if(Decoder.isPayloadValid(p.type,b))p.data=b;else throw new Error("invalid payload")}return p}tryParse(l){try{return JSON.parse(l,this.reviver)}catch{return!1}}static isPayloadValid(l,f){switch(l){case PacketType.CONNECT:return isObject$1(f);case PacketType.DISCONNECT:return f===void 0;case PacketType.CONNECT_ERROR:return typeof f=="string"||isObject$1(f);case PacketType.EVENT:case PacketType.BINARY_EVENT:return Array.isArray(f)&&(typeof f[0]=="number"||typeof f[0]=="string"&&RESERVED_EVENTS$1.indexOf(f[0])===-1);case PacketType.ACK:case PacketType.BINARY_ACK:return Array.isArray(f)}}destroy(){this.reconstructor&&(this.reconstructor.finishedReconstruction(),this.reconstructor=null)}}class BinaryReconstructor{constructor(l){this.packet=l,this.buffers=[],this.reconPack=l}takeBinaryData(l){if(this.buffers.push(l),this.buffers.length===this.reconPack.attachments){const f=reconstructPacket(this.reconPack,this.buffers);return this.finishedReconstruction(),f}return null}finishedReconstruction(){this.reconPack=null,this.buffers=[]}}const parser$1=Object.freeze(Object.defineProperty({__proto__:null,Decoder,Encoder,get PacketType(){return PacketType},protocol},Symbol.toStringTag,{value:"Module"}));function on(u,l,f){return u.on(l,f),function(){u.off(l,f)}}const RESERVED_EVENTS=Object.freeze({connect:1,connect_error:1,disconnect:1,disconnecting:1,newListener:1,removeListener:1});class Socket extends Emitter{constructor(l,f,p){super(),this.connected=!1,this.recovered=!1,this.receiveBuffer=[],this.sendBuffer=[],this._queue=[],this._queueSeq=0,this.ids=0,this.acks={},this.flags={},this.io=l,this.nsp=f,p&&p.auth&&(this.auth=p.auth),this._opts=Object.assign({},p),this.io._autoConnect&&this.open()}get disconnected(){return!this.connected}subEvents(){if(this.subs)return;const l=this.io;this.subs=[on(l,"open",this.onopen.bind(this)),on(l,"packet",this.onpacket.bind(this)),on(l,"error",this.onerror.bind(this)),on(l,"close",this.onclose.bind(this))]}get active(){return!!this.subs}connect(){return this.connected?this:(this.subEvents(),this.io._reconnecting||this.io.open(),this.io._readyState==="open"&&this.onopen(),this)}open(){return this.connect()}send(...l){return l.unshift("message"),this.emit.apply(this,l),this}emit(l,...f){var p,m,b;if(RESERVED_EVENTS.hasOwnProperty(l))throw new Error('"'+l.toString()+'" is a reserved event name');if(f.unshift(l),this._opts.retries&&!this.flags.fromQueue&&!this.flags.volatile)return this._addToQueue(f),this;const y={type:PacketType.EVENT,data:f};if(y.options={},y.options.compress=this.flags.compress!==!1,typeof f[f.length-1]=="function"){const S=this.ids++,B=f.pop();this._registerAckCallback(S,B),y.id=S}const w=(m=(p=this.io.engine)===null||p===void 0?void 0:p.transport)===null||m===void 0?void 0:m.writable,v=this.connected&&!(!((b=this.io.engine)===null||b===void 0)&&b._hasPingExpired());return this.flags.volatile&&!w||(v?(this.notifyOutgoingListeners(y),this.packet(y)):this.sendBuffer.push(y)),this.flags={},this}_registerAckCallback(l,f){var p;const m=(p=this.flags.timeout)!==null&&p!==void 0?p:this._opts.ackTimeout;if(m===void 0){this.acks[l]=f;return}const b=this.io.setTimeoutFn(()=>{delete this.acks[l];for(let w=0;w<this.sendBuffer.length;w++)this.sendBuffer[w].id===l&&this.sendBuffer.splice(w,1);f.call(this,new Error("operation has timed out"))},m),y=(...w)=>{this.io.clearTimeoutFn(b),f.apply(this,w)};y.withError=!0,this.acks[l]=y}emitWithAck(l,...f){return new Promise((p,m)=>{const b=(y,w)=>y?m(y):p(w);b.withError=!0,f.push(b),this.emit(l,...f)})}_addToQueue(l){let f;typeof l[l.length-1]=="function"&&(f=l.pop());const p={id:this._queueSeq++,tryCount:0,pending:!1,args:l,flags:Object.assign({fromQueue:!0},this.flags)};l.push((m,...b)=>p!==this._queue[0]?void 0:(m!==null?p.tryCount>this._opts.retries&&(this._queue.shift(),f&&f(m)):(this._queue.shift(),f&&f(null,...b)),p.pending=!1,this._drainQueue())),this._queue.push(p),this._drainQueue()}_drainQueue(l=!1){if(!this.connected||this._queue.length===0)return;const f=this._queue[0];f.pending&&!l||(f.pending=!0,f.tryCount++,this.flags=f.flags,this.emit.apply(this,f.args))}packet(l){l.nsp=this.nsp,this.io._packet(l)}onopen(){typeof this.auth=="function"?this.auth(l=>{this._sendConnectPacket(l)}):this._sendConnectPacket(this.auth)}_sendConnectPacket(l){this.packet({type:PacketType.CONNECT,data:this._pid?Object.assign({pid:this._pid,offset:this._lastOffset},l):l})}onerror(l){this.connected||this.emitReserved("connect_error",l)}onclose(l,f){this.connected=!1,delete this.id,this.emitReserved("disconnect",l,f),this._clearAcks()}_clearAcks(){Object.keys(this.acks).forEach(l=>{if(!this.sendBuffer.some(p=>String(p.id)===l)){const p=this.acks[l];delete this.acks[l],p.withError&&p.call(this,new Error("socket has been disconnected"))}})}onpacket(l){if(l.nsp===this.nsp)switch(l.type){case PacketType.CONNECT:l.data&&l.data.sid?this.onconnect(l.data.sid,l.data.pid):this.emitReserved("connect_error",new Error("It seems you are trying to reach a Socket.IO server in v2.x with a v3.x client, but they are not compatible (more information here: https://socket.io/docs/v3/migrating-from-2-x-to-3-0/)"));break;case PacketType.EVENT:case PacketType.BINARY_EVENT:this.onevent(l);break;case PacketType.ACK:case PacketType.BINARY_ACK:this.onack(l);break;case PacketType.DISCONNECT:this.ondisconnect();break;case PacketType.CONNECT_ERROR:this.destroy();const p=new Error(l.data.message);p.data=l.data.data,this.emitReserved("connect_error",p);break}}onevent(l){const f=l.data||[];l.id!=null&&f.push(this.ack(l.id)),this.connected?this.emitEvent(f):this.receiveBuffer.push(Object.freeze(f))}emitEvent(l){if(this._anyListeners&&this._anyListeners.length){const f=this._anyListeners.slice();for(const p of f)p.apply(this,l)}super.emit.apply(this,l),this._pid&&l.length&&typeof l[l.length-1]=="string"&&(this._lastOffset=l[l.length-1])}ack(l){const f=this;let p=!1;return function(...m){p||(p=!0,f.packet({type:PacketType.ACK,id:l,data:m}))}}onack(l){const f=this.acks[l.id];typeof f=="function"&&(delete this.acks[l.id],f.withError&&l.data.unshift(null),f.apply(this,l.data))}onconnect(l,f){this.id=l,this.recovered=f&&this._pid===f,this._pid=f,this.connected=!0,this.emitBuffered(),this.emitReserved("connect"),this._drainQueue(!0)}emitBuffered(){this.receiveBuffer.forEach(l=>this.emitEvent(l)),this.receiveBuffer=[],this.sendBuffer.forEach(l=>{this.notifyOutgoingListeners(l),this.packet(l)}),this.sendBuffer=[]}ondisconnect(){this.destroy(),this.onclose("io server disconnect")}destroy(){this.subs&&(this.subs.forEach(l=>l()),this.subs=void 0),this.io._destroy(this)}disconnect(){return this.connected&&this.packet({type:PacketType.DISCONNECT}),this.destroy(),this.connected&&this.onclose("io client disconnect"),this}close(){return this.disconnect()}compress(l){return this.flags.compress=l,this}get volatile(){return this.flags.volatile=!0,this}timeout(l){return this.flags.timeout=l,this}onAny(l){return this._anyListeners=this._anyListeners||[],this._anyListeners.push(l),this}prependAny(l){return this._anyListeners=this._anyListeners||[],this._anyListeners.unshift(l),this}offAny(l){if(!this._anyListeners)return this;if(l){const f=this._anyListeners;for(let p=0;p<f.length;p++)if(l===f[p])return f.splice(p,1),this}else this._anyListeners=[];return this}listenersAny(){return this._anyListeners||[]}onAnyOutgoing(l){return this._anyOutgoingListeners=this._anyOutgoingListeners||[],this._anyOutgoingListeners.push(l),this}prependAnyOutgoing(l){return this._anyOutgoingListeners=this._anyOutgoingListeners||[],this._anyOutgoingListeners.unshift(l),this}offAnyOutgoing(l){if(!this._anyOutgoingListeners)return this;if(l){const f=this._anyOutgoingListeners;for(let p=0;p<f.length;p++)if(l===f[p])return f.splice(p,1),this}else this._anyOutgoingListeners=[];return this}listenersAnyOutgoing(){return this._anyOutgoingListeners||[]}notifyOutgoingListeners(l){if(this._anyOutgoingListeners&&this._anyOutgoingListeners.length){const f=this._anyOutgoingListeners.slice();for(const p of f)p.apply(this,l.data)}}}function Backoff(u){u=u||{},this.ms=u.min||100,this.max=u.max||1e4,this.factor=u.factor||2,this.jitter=u.jitter>0&&u.jitter<=1?u.jitter:0,this.attempts=0}Backoff.prototype.duration=function(){var u=this.ms*Math.pow(this.factor,this.attempts++);if(this.jitter){var l=Math.random(),f=Math.floor(l*this.jitter*u);u=Math.floor(l*10)&1?u+f:u-f}return Math.min(u,this.max)|0},Backoff.prototype.reset=function(){this.attempts=0},Backoff.prototype.setMin=function(u){this.ms=u},Backoff.prototype.setMax=function(u){this.max=u},Backoff.prototype.setJitter=function(u){this.jitter=u};class Manager extends Emitter{constructor(l,f){var p;super(),this.nsps={},this.subs=[],l&&typeof l=="object"&&(f=l,l=void 0),f=f||{},f.path=f.path||"/socket.io",this.opts=f,installTimerFunctions(this,f),this.reconnection(f.reconnection!==!1),this.reconnectionAttempts(f.reconnectionAttempts||1/0),this.reconnectionDelay(f.reconnectionDelay||1e3),this.reconnectionDelayMax(f.reconnectionDelayMax||5e3),this.randomizationFactor((p=f.randomizationFactor)!==null&&p!==void 0?p:.5),this.backoff=new Backoff({min:this.reconnectionDelay(),max:this.reconnectionDelayMax(),jitter:this.randomizationFactor()}),this.timeout(f.timeout==null?2e4:f.timeout),this._readyState="closed",this.uri=l;const m=f.parser||parser$1;this.encoder=new m.Encoder,this.decoder=new m.Decoder,this._autoConnect=f.autoConnect!==!1,this._autoConnect&&this.open()}reconnection(l){return arguments.length?(this._reconnection=!!l,l||(this.skipReconnect=!0),this):this._reconnection}reconnectionAttempts(l){return l===void 0?this._reconnectionAttempts:(this._reconnectionAttempts=l,this)}reconnectionDelay(l){var f;return l===void 0?this._reconnectionDelay:(this._reconnectionDelay=l,(f=this.backoff)===null||f===void 0||f.setMin(l),this)}randomizationFactor(l){var f;return l===void 0?this._randomizationFactor:(this._randomizationFactor=l,(f=this.backoff)===null||f===void 0||f.setJitter(l),this)}reconnectionDelayMax(l){var f;return l===void 0?this._reconnectionDelayMax:(this._reconnectionDelayMax=l,(f=this.backoff)===null||f===void 0||f.setMax(l),this)}timeout(l){return arguments.length?(this._timeout=l,this):this._timeout}maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&this.backoff.attempts===0&&this.reconnect()}open(l){if(~this._readyState.indexOf("open"))return this;this.engine=new Socket$1(this.uri,this.opts);const f=this.engine,p=this;this._readyState="opening",this.skipReconnect=!1;const m=on(f,"open",function(){p.onopen(),l&&l()}),b=w=>{this.cleanup(),this._readyState="closed",this.emitReserved("error",w),l?l(w):this.maybeReconnectOnOpen()},y=on(f,"error",b);if(this._timeout!==!1){const w=this._timeout,v=this.setTimeoutFn(()=>{m(),b(new Error("timeout")),f.close()},w);this.opts.autoUnref&&v.unref(),this.subs.push(()=>{this.clearTimeoutFn(v)})}return this.subs.push(m),this.subs.push(y),this}connect(l){return this.open(l)}onopen(){this.cleanup(),this._readyState="open",this.emitReserved("open");const l=this.engine;this.subs.push(on(l,"ping",this.onping.bind(this)),on(l,"data",this.ondata.bind(this)),on(l,"error",this.onerror.bind(this)),on(l,"close",this.onclose.bind(this)),on(this.decoder,"decoded",this.ondecoded.bind(this)))}onping(){this.emitReserved("ping")}ondata(l){try{this.decoder.add(l)}catch(f){this.onclose("parse error",f)}}ondecoded(l){nextTick(()=>{this.emitReserved("packet",l)},this.setTimeoutFn)}onerror(l){this.emitReserved("error",l)}socket(l,f){let p=this.nsps[l];return p?this._autoConnect&&!p.active&&p.connect():(p=new Socket(this,l,f),this.nsps[l]=p),p}_destroy(l){const f=Object.keys(this.nsps);for(const p of f)if(this.nsps[p].active)return;this._close()}_packet(l){const f=this.encoder.encode(l);for(let p=0;p<f.length;p++)this.engine.write(f[p],l.options)}cleanup(){this.subs.forEach(l=>l()),this.subs.length=0,this.decoder.destroy()}_close(){this.skipReconnect=!0,this._reconnecting=!1,this.onclose("forced close")}disconnect(){return this._close()}onclose(l,f){var p;this.cleanup(),(p=this.engine)===null||p===void 0||p.close(),this.backoff.reset(),this._readyState="closed",this.emitReserved("close",l,f),this._reconnection&&!this.skipReconnect&&this.reconnect()}reconnect(){if(this._reconnecting||this.skipReconnect)return this;const l=this;if(this.backoff.attempts>=this._reconnectionAttempts)this.backoff.reset(),this.emitReserved("reconnect_failed"),this._reconnecting=!1;else{const f=this.backoff.duration();this._reconnecting=!0;const p=this.setTimeoutFn(()=>{l.skipReconnect||(this.emitReserved("reconnect_attempt",l.backoff.attempts),!l.skipReconnect&&l.open(m=>{m?(l._reconnecting=!1,l.reconnect(),this.emitReserved("reconnect_error",m)):l.onreconnect()}))},f);this.opts.autoUnref&&p.unref(),this.subs.push(()=>{this.clearTimeoutFn(p)})}}onreconnect(){const l=this.backoff.attempts;this._reconnecting=!1,this.backoff.reset(),this.emitReserved("reconnect",l)}}const cache={};function lookup$1(u,l){typeof u=="object"&&(l=u,u=void 0),l=l||{};const f=url(u,l.path||"/socket.io"),p=f.source,m=f.id,b=f.path,y=cache[m]&&b in cache[m].nsps,w=l.forceNew||l["force new connection"]||l.multiplex===!1||y;let v;return w?v=new Manager(p,l):(cache[m]||(cache[m]=new Manager(p,l)),v=cache[m]),f.query&&!l.query&&(l.query=f.queryKey),v.socket(f.path,l)}Object.assign(lookup$1,{Manager,Socket,io:lookup$1,connect:lookup$1});const DefaultOptions={heartbeat:!0},createWebsocket=(u,l=DefaultOptions)=>{if(!u)throw"A websocket path must be provided";const{heartbeat:f}={...DefaultOptions,...l},p=location.protocol==="https:",m=p?"wss:":"ws:",b=location.hostname,y=location.port||(p?443:80);let w=lookup$1(`${m}//${b}:${y}`,{path:u,reconnectionAttempts:3,reconnectionDelay:5e3,reconnectionDelayMax:5e3,timeout:4e3,transports:["websocket"]}),v;return f&&(v=setInterval(()=>{w.emit(SocketEvent.Heartbeat)},SocketSessionTTL*500)),w.on("disconnect",()=>{clearInterval(v)}),w.onOther=(k,S)=>{w.on(k,B=>{(B==null?void 0:B.apiSessionId)!==APISessionID&&S(B)})},w},extractFileNameRegex=/filename[^;=\n]*=((['"]).*?\2|[^;\n]*)/;async function downloadStream(u){const l=await u.blob(),f=u.headers.get("Content-Disposition"),m=extractFileNameRegex.exec(f)[1].replace(/['"]/g,""),b=new Blob([l]),y=URL.createObjectURL(b),w=document.createElement("a");w.href=y,w.download=m,w.click(),URL.revokeObjectURL(y)}const shouldDisplaySetting=(u,l)=>{if(l.nestedOnly&&!l.nested)return!1;let f=l.dependsOn;return f&&!Array.isArray(f)&&(f=[f]),f!=null&&f.length?f.every(p=>{let m=p,b=null,y=!!p.invert;if(typeof p=="object"&&(m=p.setting,b=p.value),!m)return!1;Array.isArray(b)||(b=[b]);const w=deepGet$1(u,m);return b.some(k=>k==null?w!=null&&w!==!1&&w!=="":k===w)!==y}):!0},columnTypeManyTypeOverrides={[FieldType.DATETIME]:FieldType.STRING,[FieldType.BOOLEAN]:FieldType.STRING,[FieldType.SIGNATURE_SINGLE]:FieldType.ATTACHMENTS},columnTypeManyParser={[FieldType.DATETIME]:(u,l)=>{function f(p){const{timeOnly:m,dateOnly:b}=l||{},y=!b,w=parseDate(p,{enableTime:y});return getDateDisplayValue(w,{enableTime:y,timeOnly:m})}return u.map(p=>f(p))},[FieldType.BOOLEAN]:u=>u.map(l=>!!l),[FieldType.BB_REFERENCE_SINGLE]:u=>[...new Map(u.map(l=>[l._id,l])).values()],[FieldType.BB_REFERENCE]:u=>[...new Map(u.map(l=>[l._id,l])).values()],[FieldType.ARRAY]:u=>Array.from(new Set(u))};function enrichSchemaWithRelColumns(u){return Object.keys(u).reduce((f,p)=>{const m=u[p];if(f[p]=m,m.visible!==!1&&isRelationshipField(m)&&m.columns){const b=(m==null?void 0:m.relationshipType)===RelationshipType.ONE_TO_MANY;for(const y of Object.keys(m.columns)){const w=m.columns[y];if(!w.visible)continue;const v=`${m.name}.${y}`;f[v]={...w,type:w.type,name:v,related:{field:p,subField:y},cellRenderType:!b&&columnTypeManyTypeOverrides[w.type]||w.type}}}return f},{})}function getRelatedTableValues(u,l,f){var b,y,w,v;const p=isRelationshipField(f)&&(f==null?void 0:f.relationshipType)===RelationshipType.ONE_TO_MANY;let m="";if(p)m=(y=(b=u[l.related.field])==null?void 0:b[0])==null?void 0:y[l.related.subField];else{const k=columnTypeManyParser[l.type]||(O=>O),S=(v=(w=u[l.related.field])==null?void 0:w.flatMap(O=>O[l.related.subField]))==null?void 0:v.filter(O=>O!=null),B=k(S||[],l);m=B,[FieldType.STRING,FieldType.NUMBER,FieldType.BIGINT,FieldType.BOOLEAN,FieldType.DATETIME,FieldType.LONGFORM,FieldType.BARCODEQR].includes(l.type)&&(m=B==null?void 0:B.join(", "))}return m}function canBeDisplayColumn(u){return!(!canBeDisplayColumn$1(u.type)||u.related)}function canBeSortColumn(u){return u.calculationType?!0:!(!canBeSortColumn$1(u.type)||u.related)}const getSettingsDefinition=u=>{var f;if(!u)return[];let l=[];return(f=u.settings)==null||f.forEach(p=>{var m;p.section?l=l.concat((m=p.settings||[])==null?void 0:m.map(b=>({...b,sectionDependsOn:p.dependsOn}))):l.push(p)}),l};function requiredValidator(u){return u!=null&&u!==""||"This field is required"}function createValidationStore(u,...l){let f=!1;const p=writable(u||""),m=derived(p,()=>f||(f=!0,!1)),b=derived([p,m],([y,w])=>w&&validate(y,l));return[p,b,m]}function validate(u,l){const f=l.find(p=>p(u)!==!0);return f&&f(u)}const NumberFormatter=Intl.NumberFormat(),formatNumber=u=>{const l=typeof u;if(l!=="string"&&l!=="number"||l==="string"&&!u.trim().length)return"";const f=NumberFormatter.format(u);return f==="NaN"?stringifyValue(u):f},stringifyValue=u=>{if(u==null)return"";if(typeof u=="string")return u;if(typeof u.toString=="function")return stringifyValue(u.toString());try{return JSON.stringify(u)}catch{return""}},stringifyField=(u,l)=>{switch(l.type){case FieldType.AUTO:return"";case FieldType.SIGNATURE_SINGLE:return u?"Yes":"No";case FieldType.ATTACHMENT_SINGLE:case FieldType.ATTACHMENTS:return u?(Array.isArray(u)?u:[u]).map(p=>p.name).filter(p=>!!p).join(", "):"";case FieldType.LINK:return u?(Array.isArray(u)?u:[u]).map(p=>p.primaryDisplay).filter(p=>!!p).join(", "):"";case FieldType.JSON:return u?JSON.stringify(u):"";case FieldType.BB_REFERENCE:case FieldType.BB_REFERENCE_SINGLE:{if(l.subtype!==BBReferenceFieldSubType.USERS&&l.subtype!==BBReferenceFieldSubType.USER||!u)return"";const f=Array.isArray(u)?u:[u];return(f==null?void 0:f.map(p=>p.primaryDisplay).join(", "))||""}case FieldType.ARRAY:return(u==null?void 0:u.join(", "))||"";case FieldType.BOOLEAN:return capitalise((u==null?void 0:u.toString())||"false");case FieldType.DATETIME:return getDateDisplayValue(u,{enableTime:!l.dateOnly,timeOnly:l.timeOnly});case FieldType.NUMBER:return formatNumber(u);case FieldType.STRING:case FieldType.LONGFORM:case FieldType.BIGINT:case FieldType.OPTIONS:case FieldType.AI:case FieldType.BARCODEQR:return u||"";case FieldType.FORMULA:default:return stringifyValue(u)}},stringifyRow=(u,l)=>{let f={};return Object.entries(l).forEach(([p,m])=>{f[p]=stringifyField(deepGet(u,p),m)}),f},SESSIONS_INVALIDATED_KEY="bb-sessions-invalidated";function popNumSessionsInvalidated(){const u=parseInt(localStorage.getItem(SESSIONS_INVALIDATED_KEY)||"0",10);return localStorage.removeItem(SESSIONS_INVALIDATED_KEY),u}function invalidationMessage(u){return`You've been logged out of ${u} other ${u===1?"session":"sessions"} because users are only allowed ${MAX_SESSIONS_PER_USER} active sessions at any one time.`}const{buildQuery,limit:queryLimit,runQuery,sort}=QueryUtils;class BaseDataFetch{constructor(l){Vr(this,"API");Vr(this,"features");Vr(this,"options");Vr(this,"store");Vr(this,"derivedStore");if(this.features={supportsSearch:!1,supportsSort:!1,supportsPagination:!1},this.options={datasource:l.datasource,limit:10,filter:null,query:l.query,sortColumn:null,sortOrder:SortOrder.ASCENDING,sortType:null,paginate:!0,clientSideSearching:!0,clientSideSorting:!0,clientSideLimiting:!0},this.store=writable({rows:[],info:null,schema:null,loading:!1,loaded:!1,query:l.query,pageNumber:0,cursor:null,cursors:[],resetKey:Math.random().toString(),error:null}),this.API=l==null?void 0:l.API,this.options={...this.options,...l},!this.API)throw"An API client is required for fetching data";if(this.getData=this.getData.bind(this),this.getPage=this.getPage.bind(this),this.getInitialData=this.getInitialData.bind(this),this.determineFeatureFlags=this.determineFeatureFlags.bind(this),this.refresh=this.refresh.bind(this),this.update=this.update.bind(this),this.hasNextPage=this.hasNextPage.bind(this),this.hasPrevPage=this.hasPrevPage.bind(this),this.nextPage=this.nextPage.bind(this),this.prevPage=this.prevPage.bind(this),this.derivedStore=derived(this.store,f=>({...f,...this.features,hasNextPage:this.hasNextPage(f),hasPrevPage:this.hasPrevPage(f)})),!this.options.datasource){this.store.update(f=>({...f,loaded:!0}));return}}get subscribe(){return this.derivedStore.subscribe}getDefaultSortColumn(l,f){return l!=null&&l.primaryDisplay&&f[l.primaryDisplay]?l.primaryDisplay:Object.keys(f)[0]}async getInitialData(){const{filter:l,paginate:f}=this.options,p=await this.getDefinition(),m=await this.determineFeatureFlags();this.features={supportsSearch:!!(m!=null&&m.supportsSearch),supportsSort:!!(m!=null&&m.supportsSort),supportsPagination:f&&!!(m!=null&&m.supportsPagination)};let b=this.getSchema(p);if(!b)return;if(b=this.enrichSchema(b),this.options.sortColumn&&!b[this.options.sortColumn]&&(this.options.sortColumn=null),this.options.sortColumn||(this.options.sortColumn=this.getDefaultSortColumn(p,b)),!this.options.sortColumn)this.options.sortOrder=SortOrder.ASCENDING,this.options.sortType=null;else{this.options.sortType=SortType.STRING;const v=b==null?void 0:b[this.options.sortColumn];((v==null?void 0:v.type)===FieldType.NUMBER||(v==null?void 0:v.type)===FieldType.BIGINT||"calculationType"in v&&(v!=null&&v.calculationType))&&(this.options.sortType=SortType.NUMBER),this.options.sortOrder?this.options.sortOrder=this.options.sortOrder.toLowerCase():this.options.sortOrder=SortOrder.ASCENDING}let y=this.options.query;y||(y=buildQuery(l??void 0)),this.store.update(v=>({...v,definition:p,schema:b,query:y,loading:!0,cursors:[],cursor:null}));const w=await this.getPage();this.store.update(v=>({...v,loading:!1,loaded:!0,pageNumber:0,rows:w.rows,info:w.info,cursors:f&&w.hasNextPage?[null,w.cursor]:[null],error:w.error,resetKey:Math.random().toString()}))}async getPage(){const{sortColumn:l,sortOrder:f,sortType:p,limit:m,clientSideSearching:b,clientSideSorting:y,clientSideLimiting:w}=this.options,{query:v}=get_store_value(this.store);let{rows:k,info:S,hasNextPage:B,cursor:O,error:R}=await this.getData();return!this.features.supportsSearch&&b&&(k=runQuery(k,v)),!this.features.supportsSort&&y&&p&&(k=sort(k,l,f,p)),!this.features.supportsPagination&&w&&(k=queryLimit(k,m)),{rows:k,info:S,hasNextPage:B,cursor:O,error:R}}getSchema(l){return(l==null?void 0:l.schema)??void 0}enrichSchema(l){let f={};for(const m of Object.keys(l)){const b=l[m];if(b.type===FieldType.JSON){const y=convertJSONSchemaToTableSchema(b,{squashObjects:!0});if(y)for(const w of Object.keys(y))f[`${m}.${w}`]={type:y[w].type,nestedJSON:!0}}}let p={};return Object.entries({...l,...f}).forEach(([m,b])=>{typeof b=="string"?p[m]={type:b,name:m}:p[m]={...b,type:b.type,name:m}}),p}async determineFeatureFlags(){return{supportsSearch:!1,supportsSort:!1,supportsPagination:!1}}async update(l){let f=!1;for(const[p,m]of Object.entries(l||{})){const b=this.options[p]??null;if(JSON.stringify(m??null)!==JSON.stringify(b)){f=!0;break}}f&&(this.options={...this.options,...cloneDeep$2(l)},await this.getInitialData())}async refresh(){if(get_store_value(this.store).loading)return;this.store.update(v=>({...v,loading:!0}));const{rows:l,info:f,error:p,cursor:m}=await this.getPage();let{cursors:b}=get_store_value(this.store);const{pageNumber:y}=get_store_value(this.store);if(!l.length&&y>0)return this.store.update(v=>({...v,loading:!1,cursors:b.slice(0,y)})),await this.prevPage();b[y+1]!=m&&(b=b.slice(0,y+1),b[y+1]=m),this.store.update(v=>({...v,rows:l,info:f,loading:!1,error:p,cursors:b}))}hasNextPage(l){return l.cursors[l.pageNumber+1]!=null}hasPrevPage(l){return l.pageNumber>0}async nextPage(){const l=get_store_value(this.derivedStore);if(l.loading||!this.options.paginate||!l.hasNextPage)return;const f=l.cursors[l.pageNumber+1];this.store.update(v=>({...v,loading:!0,cursor:f,pageNumber:v.pageNumber+1}));const{rows:p,info:m,hasNextPage:b,cursor:y,error:w}=await this.getPage();this.store.update(v=>{let{cursors:k,pageNumber:S}=v;return b&&(k[S+1]=y),{...v,rows:p,info:m,cursors:k,loading:!1,error:w}})}async prevPage(){const l=get_store_value(this.derivedStore);if(l.loading||!this.options.paginate||!l.hasPrevPage)return;const f=l.cursors[l.pageNumber-1];this.store.update(y=>({...y,loading:!0,cursor:f,pageNumber:y.pageNumber-1}));const{rows:p,info:m,error:b}=await this.getPage();this.store.update(y=>({...y,rows:p,info:m,loading:!1,error:b}))}}class CustomFetch extends BaseDataFetch{getType(l){return l==null?"string":typeof l==="object"?Array.isArray(l)?"array":"json":isNaN(l)?"string":"number"}parseCustomData(l){if(!l)return[];if(Array.isArray(l))return l;if(typeof l=="string"){try{const f=JSON.parse(l);return Array.isArray(f)?f:[f]}catch{}return l.includes(`
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@budibase/client",
3
- "version": "3.21.0",
3
+ "version": "3.21.1",
4
4
  "license": "MPL-2.0",
5
5
  "module": "dist/budibase-client.js",
6
6
  "main": "dist/budibase-client.js",
@@ -71,5 +71,5 @@
71
71
  }
72
72
  }
73
73
  },
74
- "gitHead": "89497e01938534167c4ffbe74cdd4090e3e7c3a5"
74
+ "gitHead": "f418556d9428cc85c6d0ca8176d92904d57d3266"
75
75
  }