@wix/cli-app 1.1.2 → 1.1.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (92) hide show
  1. package/build/CreateVersionCommand-GQGVJR2K.js +4 -0
  2. package/build/CreateVersionCommand-GQGVJR2K.js.map +1 -0
  3. package/build/DevCommand-YM45UVWH.js +4 -0
  4. package/build/DevCommand-YM45UVWH.js.map +1 -0
  5. package/build/PreviewCommand-YUT7MBJD.js +4 -0
  6. package/build/ServeCommand-6EQIDSKT.js +4 -0
  7. package/build/ServeCommand-6EQIDSKT.js.map +1 -0
  8. package/build/build-2Z6AK6IG.js +4 -0
  9. package/build/build-2Z6AK6IG.js.map +1 -0
  10. package/build/chunk-4G4S755D.js +4 -0
  11. package/build/chunk-4G4S755D.js.map +1 -0
  12. package/build/chunk-5575RXZG.js +4 -0
  13. package/build/chunk-5575RXZG.js.map +1 -0
  14. package/build/chunk-ACRXISY6.js +23 -0
  15. package/build/chunk-ACRXISY6.js.map +1 -0
  16. package/build/{chunk-XCS5TRON.js → chunk-DA3635LY.js} +2 -2
  17. package/build/{chunk-3CWGDMDQ.js → chunk-DF4D5JWF.js} +2 -2
  18. package/build/{chunk-LWF2UMZJ.js → chunk-EIA66VA3.js} +59 -38
  19. package/build/chunk-EIA66VA3.js.map +1 -0
  20. package/build/chunk-ETUINW6P.js +11 -0
  21. package/build/chunk-ETUINW6P.js.map +1 -0
  22. package/build/chunk-JZGJM7PY.js +108 -0
  23. package/build/chunk-JZGJM7PY.js.map +1 -0
  24. package/build/chunk-MWPJ22NN.js +4 -0
  25. package/build/chunk-MWPJ22NN.js.map +1 -0
  26. package/build/{chunk-KZZTM2KZ.js → chunk-NTAE6I4M.js} +2 -2
  27. package/build/{chunk-SI3YQ623.js → chunk-Q2OX64Q5.js} +2 -2
  28. package/build/{chunk-BTGENTTK.js → chunk-SHI7GZUR.js} +2 -2
  29. package/build/chunk-VMFKU4BM.js +75 -0
  30. package/build/chunk-VMFKU4BM.js.map +1 -0
  31. package/build/chunk-VMK5HC33.js +4 -0
  32. package/build/chunk-VMK5HC33.js.map +1 -0
  33. package/build/{chunk-EUINJR7Q.js → chunk-ZYZVQVJV.js} +2 -2
  34. package/build/devtools-SH22YG5Z.js +10 -0
  35. package/build/devtools-SH22YG5Z.js.map +1 -0
  36. package/build/index.js +1 -1
  37. package/build/index.js.map +1 -1
  38. package/build/preview-4C3FDYR4.js +4 -0
  39. package/build/preview-4C3FDYR4.js.map +1 -0
  40. package/build/render-command-EB3I47CB.js +4 -0
  41. package/build/render-command-EB3I47CB.js.map +1 -0
  42. package/internal/component-hmr-wrapper.tsx +63 -0
  43. package/package.json +9 -7
  44. package/build/CreateVersionCommand-ACZ3W4S4.js +0 -4
  45. package/build/CreateVersionCommand-ACZ3W4S4.js.map +0 -1
  46. package/build/DevCommand-26MBVEGM.js +0 -4
  47. package/build/DevCommand-26MBVEGM.js.map +0 -1
  48. package/build/PreviewCommand-MNP242P6.js +0 -4
  49. package/build/ServeCommand-LKGC43F2.js +0 -4
  50. package/build/ServeCommand-LKGC43F2.js.map +0 -1
  51. package/build/SiteIdProvider-KTD7B3MF.js +0 -4
  52. package/build/SiteIdProvider-KTD7B3MF.js.map +0 -1
  53. package/build/build-K7HCLEXF.js +0 -4
  54. package/build/build-K7HCLEXF.js.map +0 -1
  55. package/build/chunk-2DYAAR6J.js +0 -4
  56. package/build/chunk-2DYAAR6J.js.map +0 -1
  57. package/build/chunk-5CKAQAZK.js +0 -23
  58. package/build/chunk-5CKAQAZK.js.map +0 -1
  59. package/build/chunk-7L53MGM2.js +0 -4
  60. package/build/chunk-7L53MGM2.js.map +0 -1
  61. package/build/chunk-AWOTQVII.js +0 -4
  62. package/build/chunk-AWOTQVII.js.map +0 -1
  63. package/build/chunk-BOTVIAFU.js +0 -4
  64. package/build/chunk-BOTVIAFU.js.map +0 -1
  65. package/build/chunk-DLDSY2KE.js +0 -7
  66. package/build/chunk-DLDSY2KE.js.map +0 -1
  67. package/build/chunk-DWQSXNK2.js +0 -4
  68. package/build/chunk-DWQSXNK2.js.map +0 -1
  69. package/build/chunk-FBPBJN3V.js +0 -4
  70. package/build/chunk-FBPBJN3V.js.map +0 -1
  71. package/build/chunk-LWF2UMZJ.js.map +0 -1
  72. package/build/chunk-NBPYX6UX.js +0 -106
  73. package/build/chunk-NBPYX6UX.js.map +0 -1
  74. package/build/chunk-TUKI3OEQ.js +0 -4
  75. package/build/chunk-TUKI3OEQ.js.map +0 -1
  76. package/build/chunk-XTSD25NR.js +0 -4
  77. package/build/chunk-XTSD25NR.js.map +0 -1
  78. package/build/chunk-YT3VC22W.js +0 -75
  79. package/build/chunk-YT3VC22W.js.map +0 -1
  80. package/build/devtools-D522YHXH.js +0 -10
  81. package/build/devtools-D522YHXH.js.map +0 -1
  82. package/build/preview-MTYF5TV5.js +0 -4
  83. package/build/preview-MTYF5TV5.js.map +0 -1
  84. package/build/render-command-VR53CY3H.js +0 -4
  85. package/build/render-command-VR53CY3H.js.map +0 -1
  86. /package/build/{PreviewCommand-MNP242P6.js.map → PreviewCommand-YUT7MBJD.js.map} +0 -0
  87. /package/build/{chunk-XCS5TRON.js.map → chunk-DA3635LY.js.map} +0 -0
  88. /package/build/{chunk-3CWGDMDQ.js.map → chunk-DF4D5JWF.js.map} +0 -0
  89. /package/build/{chunk-KZZTM2KZ.js.map → chunk-NTAE6I4M.js.map} +0 -0
  90. /package/build/{chunk-SI3YQ623.js.map → chunk-Q2OX64Q5.js.map} +0 -0
  91. /package/build/{chunk-BTGENTTK.js.map → chunk-SHI7GZUR.js.map} +0 -0
  92. /package/build/{chunk-EUINJR7Q.js.map → chunk-ZYZVQVJV.js.map} +0 -0
@@ -0,0 +1,4 @@
1
+ import { createRequire as _createRequire } from 'node:module';
2
+ const require = _createRequire(import.meta.url);
3
+ import{b as ve}from"./chunk-NTAE6I4M.js";import{b as W,c as j,e as fe,f as ge,g as he}from"./chunk-4G4S755D.js";import{A as B,B as x,C as U,F as D,G as S,I as ce,Q as le,a as se,b as ie,c as y,d as q,e as A,f as u,n as ne,o as me,u as T,v as z,w as N,x as de,z as P}from"./chunk-JZGJM7PY.js";import{D as _e,L as ue,a as R,c as g,d as h,da as w,h as d,i as M}from"./chunk-VMFKU4BM.js";import{e as C,h as o}from"./chunk-HFDLXX7R.js";o();import{useMemo as Lt}from"react";o();o();var Se={actionConfig:"_actionSPIConfig"},Ae={icon:"_commonImage"},Pe={requiredSettings:"google.protobuf.FieldMask",adminConfigurableSettings:"google.protobuf.FieldMask"};var Ce={expectedInputs:"_expectedInputs"};var Re={urlExpirationDate:"google.protobuf.Timestamp"},ye={compData:"_componentData"},xe={widgetComponentData:"_widgetComponentData",widgetOutOfIframeData:"_widgetOutOfIframeComponentData",studioWidgetComponentData:"_studioWidgetComponentData",shippingLabelCarrier:"_shippingLabelCarrierSpiConfig",fictionalShippingProvider:"_shippingProviderConfig",automationsActionProvider:"_actionProviderSPIConfig",identityAuthenticator:"_authenticatorConfig",multilingualTranslationSchema:"_multilingualTranslationSchema"},At={},Pt={};var De={presetsEditorPresence:"_presetEditorPresence"},be={expectedStartInputs:"_predefinedExpectedInput",expectedVerifyInputs:"_predefinedExpectedInput"};var Ct={dateCreated:"google.protobuf.Timestamp",components:"_component"},Rt={};var yt={dateCreated:"google.protobuf.Timestamp",components:"_component"};var xt={},Dt={apps:"_getAppInfoResponse"};var qe={urlExpirationDate:"google.protobuf.Timestamp"};var we={referenceData:"_schema"},Ie={width:"DOUBLE",length:"DOUBLE",height:"google.protobuf.DoubleValue"},Oe={dimension:"_packageDimension",image:"_image"};var Te={configuration:"_predefinedExpectedInputConfiguration"},Ne={textInput:"_adminConfigurableTextInput"},Ee={wixMediaThumbnail:"_commonImage"};var Je={createdDate:"google.protobuf.Timestamp",updatedDate:"google.protobuf.Timestamp",fields:"Map#_v1SchemaField"};var Fe={packageTypes:"_packageType"},ke={shippingPrice:"DOUBLE"},Le={widgetDisplay:"_widgetDisplay",editorPresence:"_editorPresence"};var Ge={index:"google.protobuf.DoubleValue"},Me={widgetDisplay:"_widgetDisplay"},ze={price:"google.protobuf.FloatValue"},Be={widgetData:"_widgetComponentData"};function E(t){var e={"api._api_base_domain_":[{srcPath:"/app-service-webapp",destPath:""}],"dev._base_domain_":[{srcPath:"/_api/app-service",destPath:"/api"},{srcPath:"/_api/app-service-webapp",destPath:""}],"editor._base_domain_":[{srcPath:"/_api/app-service",destPath:"/api"},{srcPath:"/_api/app-service-webapp",destPath:""}],"blocks._base_domain_":[{srcPath:"/_api/app-service",destPath:"/api"},{srcPath:"/_api/app-service-webapp",destPath:""}],"create.editorx":[{srcPath:"/_api/app-service",destPath:"/api"},{srcPath:"/_api/app-service-webapp",destPath:""}],"bo._base_domain_":[{srcPath:"/_api/app-service",destPath:"/api"},{srcPath:"/_api/app-service-webapp",destPath:""},{srcPath:"/app-service-webapp",destPath:"/api"}],"manage._base_domain_":[{srcPath:"/_api/app-service",destPath:"/api"},{srcPath:"/_api/app-service-webapp",destPath:""}],"www._base_domain_":[{srcPath:"/_api/app-service",destPath:"/api"},{srcPath:"/_api/app-service-webapp",destPath:""}]};return q(Object.assign(t,{domainToMappings:e}))}function Ue(t){var e=u(At,{}),r=e.toJSON,a=e.fromJSON,i=u(Pt,{}).fromJSON;function p(n){var c=n.host,s=r(t),m={entityFqdn:"wix.devcenter.apps.v1.app",method:"POST",methodFqn:"com.wixpress.appservice.api.Apps.Create",url:E({protoPath:"/v1/apps",data:s,host:c}),data:s,transformResponse:i};return m}return p.fromReq=a,p.__isAmbassador=!0,p}function We(t){var e=u(Rt,{}),r=e.toJSON,a=e.fromJSON,i=u(yt,{_actionProviderSPIConfig:Se,_actionSPIConfig:Ae,_adminConfigurableTextInput:Pe,_authenticatorConfig:Ce,_commonImage:Re,_component:ye,_componentData:xe,_editorPresence:De,_expectedInputs:be,_image:qe,_multilingualTranslationSchema:we,_packageDimension:Ie,_packageType:Oe,_predefinedExpectedInput:Te,_predefinedExpectedInputConfiguration:Ne,_presetEditorPresence:Ee,_schema:Je,_shippingLabelCarrierSpiConfig:Fe,_shippingProviderConfig:ke,_studioWidgetComponentData:Le,_v1SchemaField:Ge,_widgetComponentData:Me,_widgetDisplay:ze,_widgetOutOfIframeComponentData:Be}).fromJSON;function p(n){var c=n.host,s=r(t),m={entityFqdn:"wix.devcenter.apps.v1.app",method:"GET",methodFqn:"com.wixpress.appservice.api.Apps.GetAppSnapshot",url:E({protoPath:"/v1/apps/{appId}",data:s,host:c}),params:A(s),transformResponse:i,fallback:[{method:"GET",url:E({protoPath:"/v1/apps/{appId}",data:s,host:c}),params:A(s)}]};return m}return p.fromReq=a,p.__isAmbassador=!0,p}function je(t){var e=u(xt,{}),r=e.toJSON,a=e.fromJSON,i=u(Dt,{_actionProviderSPIConfig:Se,_actionSPIConfig:Ae,_adminConfigurableTextInput:Pe,_authenticatorConfig:Ce,_commonImage:Re,_component:ye,_componentData:xe,_editorPresence:De,_expectedInputs:be,_getAppInfoResponse:Ct,_image:qe,_multilingualTranslationSchema:we,_packageDimension:Ie,_packageType:Oe,_predefinedExpectedInput:Te,_predefinedExpectedInputConfiguration:Ne,_presetEditorPresence:Ee,_schema:Je,_shippingLabelCarrierSpiConfig:Fe,_shippingProviderConfig:ke,_studioWidgetComponentData:Le,_v1SchemaField:Ge,_widgetComponentData:Me,_widgetDisplay:ze,_widgetOutOfIframeComponentData:Be}).fromJSON;function p(n){var c=n.host,s=r(t),m={entityFqdn:"wix.devcenter.apps.v1.app",method:"GET",methodFqn:"com.wixpress.appservice.api.Apps.GetDeveloperApps",url:E({protoPath:"/v1/apps",data:s,host:c}),params:A(s),transformResponse:i,fallback:[{method:"GET",url:E({protoPath:"/v1/apps",data:s,host:c}),params:A(s)}]};return m}return p.fromReq=a,p.__isAmbassador=!0,p}o();var bt={},qt={};var wt={},It={},Ot={},Tt={};function Z(t){var e={"api._api_base_domain_":[{srcPath:"/development-sites-manager",destPath:""}],"manage._base_domain_":[{srcPath:"/development-sites-manager",destPath:""},{srcPath:"/_api/development-sites-manager",destPath:""}],"bo._base_domain_":[{srcPath:"/development-sites-manager",destPath:""}],"www.wixapps.net":[{srcPath:"/development-sites-manager/v1/development-sites",destPath:""}],"dev._base_domain_":[{srcPath:"/development-sites-manager",destPath:""}],"www.wixapis.com":[{srcPath:"/development-sites-manager/v1/development-sites",destPath:""}]};return q(Object.assign(t,{domainToMappings:e}))}function Ve(t){var e=u(bt,{}),r=e.toJSON,a=e.fromJSON,i=u(qt,{}).fromJSON;function p(n){var c=n.host,s=r(t),m={method:"POST",url:Z({protoPath:"/v1/development-sites",data:s,host:c}),data:s,transformResponse:i};return m}return p.fromReq=a,p}function He(t){var e=u(Ot,{}),r=e.toJSON,a=e.fromJSON,i=u(Tt,{}).fromJSON;function p(n){var c=n.host,s=r(t),m={method:"GET",url:Z({protoPath:"/v1/development-sites",data:s,host:c}),params:A(s),transformResponse:i};return m}return p.fromReq=a,p}function Ke(t){var e=u(wt,{}),r=e.toJSON,a=e.fromJSON,i=u(It,{}).fromJSON;function p(n){var c=n.host,s=r(t),m={method:"GET",url:Z({protoPath:"/v1/development-sites-limit",data:s,host:c}),params:A(s),transformResponse:i};return m}return p.fromReq=a,p}o();var Nt={},Et={};function Jt(t){var e={"bo._base_domain_":[{srcPath:"/_api/app-assessment",destPath:""}],_api_base_domain_:[{srcPath:"/_api/app-assessment-service",destPath:""}],"dev._base_domain_":[{srcPath:"/_api/app-assessment",destPath:""}],"manage._base_domain_":[{srcPath:"/_api/app-assessment",destPath:""}]};return q(Object.assign(t,{domainToMappings:e}))}function Ye(t){var e=u(Nt,{}),r=e.toJSON,a=e.fromJSON,i=u(Et,{}).fromJSON;function p(n){var c=n.host,s=r(t),m={entityFqdn:"wix.devcenter.app_assessment.v1.validation",method:"GET",methodFqn:"com.wix.devcenter.AppValidationService.GetAppValidationReport",url:Jt({protoPath:"/v1/get-app-validation-report/{appId}/{version}",data:s,host:c}),params:A(s),transformResponse:i};return m}return p.fromReq=a,p.__isAmbassador=!0,p}o();var $e=d.object({appId:d.string()}),Qe=d.object({latestVersion:d.string()}),Xe=d.object({developmentSite:d.object({id:d.string(),siteName:d.string()})}),Ze=d.object({developmentSites:d.array(d.object({}))}),et=d.object({limit:d.number()}),Ft=d.object({name:d.string(),appId:d.string()}),tt=d.object({apps:d.array(Ft)}),at=d.object({appPropertiesValidity:d.array(d.object({failures:d.array(d.string())}))});var kt="a573279f-ae6f-46d1-8556-7c93ae9b2c84",V=class{constructor(e){this.httpClient=e;let{minRetryTimeout:r}=M();this.retryOptions={retries:3,minTimeout:r,maxTimeout:3*1e3}}retryOptions;createApp=async e=>{try{let{data:r}=await y(()=>this.httpClient.request(Ue(e)),this.retryOptions);return $e.parse(r)}catch(r){throw new g({code:h.FailedToCreateDevCenterApp(),cause:r})}};getAppSnapshot=async e=>{let{data:r}=await y(()=>this.httpClient.request(We(e)),this.retryOptions);return Qe.parse(r)};createDevSite=async e=>{try{let{data:r}=await y(()=>this.httpClient.request(Ve({templateId:kt})),this.retryOptions),{id:a}=Xe.parse(r).developmentSite;return await y(async()=>{let p=await e.getSite(a);if(!p)throw new g({code:h.SiteNotFound(),info:{id:a}});return p},this.retryOptions)}catch(r){throw new g({code:h.FailedToCreateDevelopmentSite(),cause:r})}};getDevSitesCount=async()=>{try{let{data:e}=await y(()=>this.httpClient.request(He({})),this.retryOptions);return Ze.parse(e).developmentSites.length}catch(e){throw new g({code:h.FailedToGetDevelopmentSites(),cause:e})}};getDeveloperApps=async()=>{try{let{data:e}=await y(()=>this.httpClient.request(je({})),this.retryOptions);return tt.parse(e).apps}catch(e){throw new g({code:h.FailedToGetDeveloperApps(),cause:e})}};getDevSitesLimit=async()=>{try{let{data:e}=await y(()=>this.httpClient.request(Ke({})),this.retryOptions);return et.parse(e).limit}catch(e){throw new g({code:h.FailedToGetDevelopmentSitesLimit(),cause:e})}};getAppValidationFailuresCount=async(e,r)=>{try{let{data:a}=await this.httpClient.request(Ye({appId:e,version:r||"latest"}));return at.parse(a).appPropertiesValidity.filter(n=>n.failures.length>0).length}catch(a){throw new g({code:h.FailedToGetAppValidity(),cause:a})}}};function J(){let t=W({type:"backoffice"});return Lt(()=>new V(t),[t])}o();o();var oe=C(R(),1);import Q,{useCallback as ut}from"react";o();var Y=C(R(),1);import G from"react";o();o();var _t=C(R(),1);import b,{useState as Wt}from"react";o();var ot=C(R(),1);import rt from"react";var pt=({onSubmit:t,onError:e,sites:r})=>{let{t:a}=S(),{getDevSitesCount:i,getDevSitesLimit:p}=J(),{status:n}=x(()=>Promise.all([i(),p()]),[],{onError:e});return(0,ot.match)(n,{Error:()=>null,Loading:()=>rt.createElement(P,{text:a("general.loading")}),Success:({result:[c,s]})=>{let m=c>=s,f=r.length===0;return rt.createElement(z,{label:a("site_type_select.label"),options:[{availability:f?T.Disabled({reason:a("site_type_select.no_sites")}):T.Enabled(),title:a("site_type_select.pick_existing_site"),value:"select-existing-site"},{title:a("site_type_select.create_new_dev_site"),value:"create-dev-site",availability:m?T.Disabled({reason:a("site_type_select.create_new_dev_site.disabled",{limit:s})}):T.Enabled()}],onSubmit:({value:_})=>t(_)})}})};o();var nt=C(R(),1);import O from"react";o();import ee from"react";o();o();import{useMemo as Gt}from"react";o();o();var st=d.record(d.object({appDefinitionId:d.string().optional(),permissions:d.object({revoked:d.boolean()}).optional()}));var H=class{constructor(e){this.httpClient=e}isAppInstalled=async({metaSiteId:e,appId:r})=>{try{let{data:a}=await this.httpClient.request({url:`/_api/msm/v1/meta-site/editor-client-spec-map/${e}`}),i=st.parse(a);return Object.values(i).some(n=>n.appDefinitionId===r&&!n.permissions?.revoked)}catch(a){throw new g({code:h.FailedToCheckIfAppInstalled(),cause:a})}}};function F(){let t=W({type:"general"});return Gt(()=>new H(t),[t])}var I=C(R(),1);o();import k from"react";var it=({siteId:t,appId:e})=>(ne(async(r,a)=>{a.return&&await le(`https://manage.wix.com/installer/install?metaSiteId=${t}&appId=${e}&platform=cli&version=latest`)}),k.createElement(k.Fragment,null,k.createElement(D,{i18nKey:"install_app_on_site.warning"}),k.createElement(D,{i18nKey:"install_app_on_site.warning.instructions",components:[k.createElement(de,{value:"enter"})]})));var te=(0,I.variant)({Success:{},Canceled:{}});function Mt(t){return t&&typeof t=="object"&&"name"in t&&t.name==="AbortError"}var K=({appId:t,site:e,onSubmit:r,onError:a})=>{let{isAppInstalled:i}=F(),{status:p}=x(async({signal:n})=>{let{appInstallationPollInterval:c}=M();try{return await ie(()=>i({metaSiteId:e.id,appId:t}),{interval:c??2e3,timeout:{milliseconds:60*1e3*2,signal:n}}),te.Success()}catch(s){if(s instanceof se)throw new g({code:h.SiteSelectorTimedout(),cause:s});if(Mt(s))return te.Canceled();throw s}},[],{onError:a,onSuccess:n=>{(0,I.isType)(n,te.Success)&&r()}});return(0,I.match)(p,{Error:()=>null,Loading:()=>ee.createElement(it,{siteId:e.id,appId:t}),Success:()=>ee.createElement(N,{type:"success"},ee.createElement(D,{i18nKey:"install_app_on_site.finished_successfully"}))})};var mt=({status:t,appId:e,onSubmit:r,onError:a})=>{let{t:i}=S();return(0,nt.match)(t,{NotRequested:()=>null,Error:()=>null,Loading:()=>O.createElement(P,{text:i("create_dev_site.loading")}),Success:({result:p})=>O.createElement(O.Fragment,null,O.createElement(D,{i18nKey:"create_dev_site.success",components:[O.createElement(me,{skin:"success",bold:!0})],values:{name:p.displayName}}),O.createElement(K,{appId:e,site:p,onSubmit:()=>r(p),onError:a}))})};var dt={"general.loading":"Loading...","site_type_select.label":"Select Development Site","site_type_select.create_new_dev_site":"Create a new Development Site","site_type_select.create_new_dev_site.disabled":"You have reached the maximum number of {limit} Development Sites","site_type_select.pick_existing_site":"Pick an existing site","site_type_select.no_sites":"No sites found","create_dev_site.loading":"Creating your new Development Site...","create_dev_site.success":"Development Site <0>{name}</0> created successfully! \u{1F680}","site_list_select.label":"Select Site","install_app_on_site.warning":"Your new application needs to be installed on the selected Development Site","install_app_on_site.warning.instructions":"Press <0/> to install the application in your browser","install_app_on_site.finished_successfully":"App installed on Development Site."};o();import L,{useState as Ut}from"react";var lt=C(R(),1);o();import Bt from"react";var ct=({onSubmit:t,sites:e})=>{let{t:r}=S();return Bt.createElement(z,{label:r("site_list_select.label"),options:e.map(a=>({key:a.id,title:a.displayName,description:a.viewUrl,value:a})),onSubmit:({value:a})=>t(a)})};var vt=({sites:t,appId:e,onSubmit:r,onError:a})=>{let{t:i}=S(),{isAppInstalled:p}=F(),[n,c]=Ut(null),s=U((f,_)=>p({metaSiteId:_.id,appId:e}),{onError:a});async function m(f){await s.execute(f)?r(f):c(f)}return L.createElement(L.Fragment,null,L.createElement(ct,{onSubmit:m,sites:t}),(0,lt.isType)(s.status,"Loading")&&L.createElement(P,{text:i("general.loading")}),n&&L.createElement(K,{appId:e,site:n,onSubmit:()=>r(n),onError:a}))};var ae=({appId:t,onSubmit:e,onError:r})=>{let{t:a}=S(),[i,p]=Wt(null),{createDevSite:n}=J(),c=j(),{status:s}=x(()=>c.querySites({query:{cursorPaging:{limit:100}}}),[],{onError:r}),m=U(()=>n(c),{onError:r});function f(_){p(_),_==="create-dev-site"&&m.execute()}return b.createElement(ce,{messages:dt},(0,_t.match)(s,{Error:()=>null,Loading:()=>b.createElement(P,{text:a("general.loading")}),Success:({result:_})=>b.createElement(b.Fragment,null,b.createElement(pt,{onSubmit:f,onError:r,sites:_}),i==="create-dev-site"&&b.createElement(mt,{status:m.status,appId:t,onSubmit:e,onError:r}),i==="select-existing-site"&&b.createElement(vt,{sites:_,appId:t,onSubmit:e,onError:r}))}))};var re=({state:t,onSubmit:e})=>{let r=B(),{t:a}=S(),{model:i}=w();return G.createElement(G.Fragment,null,(0,Y.match)(t,{NotConfigured:(0,Y.constant)(G.createElement(N,{type:"insight"},a("general.no_site_id_configured"))),NotFound:({id:p})=>G.createElement(N,{type:"error"},a("general.site_id_not_found",{id:p}))}),G.createElement(ae,{appId:i.config.appId,onSubmit:e,onError:r}))};o();import{createContext as jt}from"react";var $=jt(null);var go=({children:t,siteId:e})=>{let r=B(),{model:{projectFolder:a}}=w(),i=ve(),p=j(),{status:n,merge:c}=x(async()=>he({projectFolder:a,siteListClient:p,siteId:e,writeDebugLog:i}),[]),s=ut(async f=>{try{await fe(a,{siteId:f.id}),c({result:ge.Resolved({site:f})})}catch{throw new g({code:h.FailedToSaveDevelopmentSite({path:_e})})}},[c,a]),m=ut(f=>s(f).catch(r),[r,s]);return(0,oe.match)(n,{Error:()=>null,Loading:()=>Q.createElement(P,null),Success:({result:f})=>(0,oe.match)(f,{NotConfigured:_=>Q.createElement(re,{state:_,onSubmit:m}),NotFound:_=>Q.createElement(re,{state:_,onSubmit:m}),Resolved:({site:_})=>Q.createElement($.Provider,{value:{site:_,setSite:s}},typeof t=="function"?t(_):t)})})};o();import Vt,{useContext as Ht,createContext as Kt}from"react";var ft=Kt(null),Po=({children:t,armTag:e})=>Vt.createElement(ft.Provider,{value:{armTag:e}},t),gt=()=>{let t=Ht(ft);if(t===null)throw new Error("useArmTag() cannot be used without an <ArmTagProvider>");return t};o();import{useContext as Yt}from"react";function ht(){let t=Yt($);if(t===null)throw new Error("useSiteId() cannot be used without an <SiteIdProvider>");return t}o();var X=C(R(),1);import{useMemo as St,useCallback as pe}from"react";function No(){let{site:t}=ht(),{model:e}=w(),{armTag:r}=gt(),a=St(()=>({appId:e.config.appId,site:t,tag:r}),[e.config.appId,t,r]),i=St(()=>e.components.filter((0,X.isType)(ue.DashboardPage)).sort((s,m)=>s.route.localeCompare(m.route)),[e.components]),p=pe(s=>e.components.some(m=>m.platforms.some((0,X.isType)(s.type))),[e.components]),n=pe(s=>e.components.every(m=>m.platforms.some((0,X.isType)(s.type))||m.platforms.length===0),[e.components]),c=pe(()=>e.components.length>0,[e.components]);return{envConfig:a,dashboardPages:i,isPlatformExists:p,hasSinglePlatform:n,hasExtensions:c}}export{J as a,ae as b,go as c,Po as d,ht as e,No as f};
4
+ //# sourceMappingURL=chunk-VMK5HC33.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../dev-center-client/src/useDevCenterClient.ts","../../dev-center-client/src/dev-center-client.ts","../../../node_modules/@wix/ambassador-devcenter-apps-v1-app/http.impl.ts","../../../node_modules/@wix/ambassador-devcenter-dsm-v1-development-site/http.impl.ts","../../../node_modules/@wix/ambassador-devcenter-app-assessment-v1-validation/http.impl.ts","../../dev-center-client/src/schemas.ts","../../dev-center-client/src/index.ts","../src/site-id/SiteIdProvider.tsx","../src/site-id/ResolveSiteId.tsx","../../cli-site-selector/src/index.ts","../../cli-site-selector/src/SiteSelector.tsx","../../cli-site-selector/src/SiteTypeSelect.tsx","../../cli-site-selector/src/CreateDevSite.tsx","../../cli-site-selector/src/WaitForAppToBeInstalled.tsx","../../metasite-manager-client/src/index.ts","../../metasite-manager-client/src/useMetasiteManagerClient.ts","../../metasite-manager-client/src/metasite-manager-client.ts","../../metasite-manager-client/src/schemas.ts","../../cli-site-selector/src/OpenBrowser.tsx","../../cli-site-selector/src/messages.json","../../cli-site-selector/src/SelectExistingSite.tsx","../../cli-site-selector/src/SiteListSelect.tsx","../src/site-id/context.ts","../src/context/armTag.tsx","../src/site-id/useSiteId.ts","../src/components/extensions/useExtensions.tsx"],"sourcesContent":["import { useMemo } from 'react';\nimport { useHttpClient } from '@wix/cli-http-client-react';\nimport { DevCenterClient } from './dev-center-client.js';\n\nexport function useDevCenterClient(): DevCenterClient {\n const httpClient = useHttpClient({ type: 'backoffice' });\n return useMemo(() => new DevCenterClient(httpClient), [httpClient]);\n}\n","import { getTestOverrides } from '@wix/cli-test-overrides';\nimport pRetry, { type Options } from 'p-retry';\nimport { type HttpClient } from '@wix/cli-http-client';\nimport { CliError, CliErrorCode } from '@wix/cli-error';\nimport type {\n GetAppRequest,\n CreateAppRequest,\n} from '@wix/ambassador-devcenter-apps-v1-app/types';\nimport {\n getAppSnapshot,\n create as createApp,\n getDeveloperApps,\n} from '@wix/ambassador-devcenter-apps-v1-app/http';\nimport {\n getDevelopmentSites,\n createDevelopmentSite,\n getDevelopmentSitesLimit,\n} from '@wix/ambassador-devcenter-dsm-v1-development-site/http';\nimport { getAppValidationReport } from '@wix/ambassador-devcenter-app-assessment-v1-validation/http';\nimport type { SiteListClient } from '@wix/site-list-client';\nimport {\n createAppSchema,\n appSnapshotSchema,\n createDevelopmentSiteSchema,\n getDevelopmentSitesLimitSchema,\n getDevelopmentSitesSchema,\n getDeveloperAppsSchema,\n getAppPropertiesValiditySchema,\n} from './schemas.js';\n\nconst EMPTY_SITE_TEMPLATE = 'a573279f-ae6f-46d1-8556-7c93ae9b2c84';\n\nexport class DevCenterClient {\n private readonly retryOptions: Options;\n\n constructor(private readonly httpClient: HttpClient) {\n const { minRetryTimeout } = getTestOverrides();\n\n this.retryOptions = {\n retries: 3,\n minTimeout: minRetryTimeout,\n maxTimeout: 3 * 1000,\n };\n }\n\n createApp = async (opts: CreateAppRequest) => {\n try {\n const { data } = await pRetry(\n () => this.httpClient.request(createApp(opts)),\n this.retryOptions\n );\n\n return createAppSchema.parse(data);\n } catch (e) {\n throw new CliError({\n code: CliErrorCode.FailedToCreateDevCenterApp(),\n cause: e,\n });\n }\n };\n\n getAppSnapshot = async (req: GetAppRequest) => {\n const { data } = await pRetry(\n () => this.httpClient.request(getAppSnapshot(req)),\n this.retryOptions\n );\n\n return appSnapshotSchema.parse(data);\n };\n\n createDevSite = async (siteListClient: SiteListClient) => {\n try {\n const { data } = await pRetry(\n () =>\n this.httpClient.request(\n createDevelopmentSite({\n templateId: EMPTY_SITE_TEMPLATE,\n })\n ),\n this.retryOptions\n );\n\n const { id } = createDevelopmentSiteSchema.parse(data).developmentSite;\n\n // 'createDevSite' is missing displayName and viewUrl\n const site = await pRetry(async () => {\n const site = await siteListClient.getSite(id);\n if (!site) {\n throw new CliError({\n code: CliErrorCode.SiteNotFound(),\n info: { id },\n });\n }\n return site;\n }, this.retryOptions);\n\n return site;\n } catch (e) {\n throw new CliError({\n code: CliErrorCode.FailedToCreateDevelopmentSite(),\n cause: e,\n });\n }\n };\n\n getDevSitesCount = async () => {\n try {\n const { data } = await pRetry(\n () => this.httpClient.request(getDevelopmentSites({})),\n this.retryOptions\n );\n\n return getDevelopmentSitesSchema.parse(data).developmentSites.length;\n } catch (e) {\n throw new CliError({\n code: CliErrorCode.FailedToGetDevelopmentSites(),\n cause: e,\n });\n }\n };\n\n getDeveloperApps = async () => {\n try {\n const { data } = await pRetry(\n () => this.httpClient.request(getDeveloperApps({})),\n this.retryOptions\n );\n\n return getDeveloperAppsSchema.parse(data).apps;\n } catch (e) {\n throw new CliError({\n code: CliErrorCode.FailedToGetDeveloperApps(),\n cause: e,\n });\n }\n };\n\n getDevSitesLimit = async () => {\n try {\n const { data } = await pRetry(\n () => this.httpClient.request(getDevelopmentSitesLimit({})),\n this.retryOptions\n );\n\n return getDevelopmentSitesLimitSchema.parse(data).limit;\n } catch (e) {\n throw new CliError({\n code: CliErrorCode.FailedToGetDevelopmentSitesLimit(),\n cause: e,\n });\n }\n };\n\n getAppValidationFailuresCount = async (appId: string, version?: string) => {\n try {\n const { data } = await this.httpClient.request(\n getAppValidationReport({ appId, version: version || 'latest' })\n );\n const result = getAppPropertiesValiditySchema.parse(data);\n const numOfFailingProperties = result.appPropertiesValidity.filter(\n (appProperty) => appProperty.failures.length > 0\n ).length;\n\n return numOfFailingProperties;\n } catch (e) {\n throw new CliError({\n code: CliErrorCode.FailedToGetAppValidity(),\n cause: e,\n });\n }\n };\n}\n",null,null,null,"import { z } from 'zod';\n\nexport const createAppSchema = z.object({\n appId: z.string(),\n});\n\nexport const appSnapshotSchema = z.object({\n latestVersion: z.string(),\n});\n\nexport const createDevelopmentSiteSchema = z.object({\n developmentSite: z.object({\n id: z.string(),\n siteName: z.string(),\n }),\n});\n\nexport const getDevelopmentSitesSchema = z.object({\n developmentSites: z.array(z.object({})),\n});\n\nexport const getDevelopmentSitesLimitSchema = z.object({\n limit: z.number(),\n});\n\nexport const developerAppSchema = z.object({\n name: z.string(),\n appId: z.string(),\n});\n\nexport const getDeveloperAppsSchema = z.object({\n apps: z.array(developerAppSchema),\n});\n\nexport type DeveloperApp = z.TypeOf<typeof developerAppSchema>;\n\nexport const getAppPropertiesValiditySchema = z.object({\n appPropertiesValidity: z.array(\n z.object({\n failures: z.array(z.string()),\n })\n ),\n});\n","export { DevCenterClient } from './dev-center-client.js';\nexport type { DeveloperApp } from './schemas.js';\nexport { useDevCenterClient } from './useDevCenterClient.js';\n","import React, { type FC, type ReactNode, useCallback } from 'react';\nimport { match } from 'variant';\nimport { useDebugLog } from '@wix/cli-debug-log';\nimport { CliError, CliErrorCode } from '@wix/cli-error';\nimport { APP_CONFIG_PATH } from '@wix/cli-app-definitions';\nimport { useAsync, useExit, Spinner } from '@wix/cli-ui-kit';\nimport { type Site, useSiteListClient } from '@wix/site-list-client';\nimport { saveAppConfig } from '../files/app.config.js';\nimport { useProjectModel } from '../model.js';\nimport { ResolveSiteId } from './ResolveSiteId.js';\nimport { SiteIdContext } from './context.js';\nimport { SiteIdState } from './site-id-state.js';\nimport { resolveConfiguredSite } from './resolve-configured-site.js';\n\nexport const SiteIdProvider: FC<{\n siteId?: string;\n children: ReactNode | ((site: Site) => ReactNode);\n}> = ({ children, siteId }) => {\n const exit = useExit();\n const {\n model: { projectFolder },\n } = useProjectModel();\n const writeDebugLog = useDebugLog();\n const siteListClient = useSiteListClient();\n\n const { status, merge } = useAsync(\n async () =>\n resolveConfiguredSite({\n projectFolder,\n siteListClient,\n siteId,\n writeDebugLog,\n }),\n []\n );\n\n const setSite = useCallback(\n async (site: Site) => {\n try {\n await saveAppConfig(projectFolder, { siteId: site.id });\n merge({ result: SiteIdState.Resolved({ site }) });\n } catch (e) {\n throw new CliError({\n code: CliErrorCode.FailedToSaveDevelopmentSite({\n path: APP_CONFIG_PATH,\n }),\n });\n }\n },\n [merge, projectFolder]\n );\n\n const handleResolveSiteId = useCallback(\n (site: Site) => setSite(site).catch(exit),\n [exit, setSite]\n );\n\n return match(status, {\n Error: () => null,\n Loading: () => <Spinner />,\n Success: ({ result: state }) => {\n return match(state, {\n NotConfigured: (variant) => (\n <ResolveSiteId state={variant} onSubmit={handleResolveSiteId} />\n ),\n NotFound: (variant) => (\n <ResolveSiteId state={variant} onSubmit={handleResolveSiteId} />\n ),\n Resolved: ({ site }) => (\n <SiteIdContext.Provider\n value={{\n site,\n setSite,\n }}\n >\n {typeof children === 'function' ? children(site) : children}\n </SiteIdContext.Provider>\n ),\n });\n },\n });\n};\n","import React, { type FC } from 'react';\nimport { match, constant } from 'variant';\nimport type { Site } from '@wix/site-list-client';\nimport { Alert, useExit } from '@wix/cli-ui-kit';\nimport { useTranslation } from '@wix/cli-i18n';\nimport { SiteSelector } from '@wix/cli-site-selector';\nimport { useProjectModel } from '../model.js';\nimport type { SiteIdState } from './site-id-state.js';\n\ninterface Props {\n state: SiteIdState<'NotConfigured' | 'NotFound'>;\n onSubmit: (site: Site) => void;\n}\n\nexport const ResolveSiteId: FC<Props> = ({ state, onSubmit }) => {\n const exit = useExit();\n const { t } = useTranslation();\n const { model } = useProjectModel();\n\n return (\n <>\n {match(state, {\n NotConfigured: constant(\n <Alert type=\"insight\">{t('general.no_site_id_configured')}</Alert>\n ),\n NotFound: ({ id }) => (\n <Alert type=\"error\">{t('general.site_id_not_found', { id })}</Alert>\n ),\n })}\n <SiteSelector\n appId={model.config.appId}\n onSubmit={onSubmit}\n onError={exit}\n />\n </>\n );\n};\n","export { SiteSelector } from './SiteSelector.js';\n","import React, { type FC, useState } from 'react';\nimport { match } from 'variant';\nimport { I18nProvider, useTranslation } from '@wix/cli-i18n';\nimport type { Site } from '@wix/site-list-client';\nimport { Spinner, useAsync, useAsyncCallback } from '@wix/cli-ui-kit';\nimport { useDevCenterClient } from '@wix/dev-center-client';\nimport { useSiteListClient } from '@wix/site-list-client';\nimport { SiteTypeSelect, type SiteType } from './SiteTypeSelect.js';\nimport { CreateDevSite } from './CreateDevSite.js';\nimport messages from './messages.json';\nimport { SelectExistingSite } from './SelectExistingSite.js';\n\ninterface Props {\n appId: string;\n onSubmit: (site: Site) => void;\n onError: (error: unknown) => void;\n}\n\nexport const SiteSelector: FC<Props> = ({ appId, onSubmit, onError }) => {\n const { t } = useTranslation();\n const [siteType, setSiteType] = useState<SiteType | null>(null);\n const { createDevSite } = useDevCenterClient();\n const siteListClient = useSiteListClient();\n\n const { status } = useAsync(\n () =>\n siteListClient.querySites({\n query: {\n cursorPaging: {\n limit: 100,\n },\n },\n }),\n [],\n {\n onError,\n }\n );\n\n const createSite = useAsyncCallback(() => createDevSite(siteListClient), {\n onError,\n });\n\n function handleSelectSiteType(siteType: SiteType) {\n setSiteType(siteType);\n if (siteType === 'create-dev-site') {\n createSite.execute();\n }\n }\n\n return (\n <I18nProvider messages={messages}>\n {match(status, {\n Error: () => null,\n Loading: () => <Spinner text={t('general.loading')} />,\n Success: ({ result: sites }) => (\n <>\n <SiteTypeSelect\n onSubmit={handleSelectSiteType}\n onError={onError}\n sites={sites}\n />\n {siteType === 'create-dev-site' && (\n <CreateDevSite\n status={createSite.status}\n appId={appId}\n onSubmit={onSubmit}\n onError={onError}\n />\n )}\n {siteType === 'select-existing-site' && (\n <SelectExistingSite\n sites={sites}\n appId={appId}\n onSubmit={onSubmit}\n onError={onError}\n />\n )}\n </>\n ),\n })}\n </I18nProvider>\n );\n};\n","import React, { type FC } from 'react';\nimport { match } from 'variant';\nimport { useTranslation } from '@wix/cli-i18n';\nimport {\n Spinner,\n SelectInput,\n useAsync,\n SelectOptionAvailability,\n} from '@wix/cli-ui-kit';\nimport { useDevCenterClient } from '@wix/dev-center-client';\nimport type { Site } from '@wix/site-list-client';\n\nexport type SiteType = 'create-dev-site' | 'select-existing-site';\ninterface Props {\n onSubmit: (siteType: SiteType) => void;\n onError: (error: unknown) => void;\n sites: Site[];\n}\n\nexport const SiteTypeSelect: FC<Props> = ({ onSubmit, onError, sites }) => {\n const { t } = useTranslation();\n const { getDevSitesCount, getDevSitesLimit } = useDevCenterClient();\n const { status } = useAsync(\n () => Promise.all([getDevSitesCount(), getDevSitesLimit()]),\n [],\n { onError }\n );\n\n return match(status, {\n Error: () => null,\n Loading: () => <Spinner text={t('general.loading')} />,\n Success: ({ result: [devSitesCount, devSitesLimit] }) => {\n const isDevSitesLimitReached = devSitesCount >= devSitesLimit;\n const userHasNoSites = sites.length === 0;\n\n return (\n <SelectInput<SiteType>\n label={t('site_type_select.label')}\n options={[\n {\n availability: userHasNoSites\n ? SelectOptionAvailability.Disabled({\n reason: t('site_type_select.no_sites'),\n })\n : SelectOptionAvailability.Enabled(),\n title: t('site_type_select.pick_existing_site'),\n value: 'select-existing-site',\n },\n {\n title: t('site_type_select.create_new_dev_site'),\n value: 'create-dev-site',\n availability: isDevSitesLimitReached\n ? SelectOptionAvailability.Disabled({\n reason: t('site_type_select.create_new_dev_site.disabled', {\n limit: devSitesLimit,\n }),\n })\n : SelectOptionAvailability.Enabled(),\n },\n ]}\n onSubmit={({ value }) => onSubmit(value)}\n />\n );\n },\n });\n};\n","import React, { type FC } from 'react';\nimport { match } from 'variant';\nimport { Trans, useTranslation } from '@wix/cli-i18n';\nimport type { AsyncCallbackStatus } from '@wix/cli-ui-kit';\nimport { Text, Spinner } from '@wix/cli-ui-kit';\nimport type { Site } from '@wix/site-list-client';\nimport { WaitForAppToBeInstalled } from './WaitForAppToBeInstalled.js';\n\ninterface Props {\n status: AsyncCallbackStatus<Site>;\n appId: string;\n onSubmit: (site: Site) => void;\n onError: (error: unknown) => void;\n}\n\nexport const CreateDevSite: FC<Props> = ({\n status,\n appId,\n onSubmit,\n onError,\n}) => {\n const { t } = useTranslation();\n\n return match(status, {\n NotRequested: () => null,\n Error: () => null,\n Loading: () => <Spinner text={t('create_dev_site.loading')} />,\n Success: ({ result }) => (\n <>\n <Trans\n i18nKey=\"create_dev_site.success\"\n components={[<Text skin=\"success\" bold />]}\n values={{ name: result.displayName }}\n />\n <WaitForAppToBeInstalled\n appId={appId}\n site={result}\n onSubmit={() => onSubmit(result)}\n onError={onError}\n />\n </>\n ),\n });\n};\n","import pWaitFor, { TimeoutError } from 'p-wait-for';\nimport React, { type FC } from 'react';\nimport { Trans } from '@wix/cli-i18n';\nimport { Alert, useAsync } from '@wix/cli-ui-kit';\nimport { useMetasiteManagerClient } from '@wix/metasite-manager-client';\nimport { isType, match, variant } from 'variant';\nimport { getTestOverrides } from '@wix/cli-test-overrides';\nimport { CliError, CliErrorCode } from '@wix/cli-error';\nimport type { Site } from '@wix/site-list-client';\nimport { OpenBrowser } from './OpenBrowser.js';\n\ninterface Props {\n site: Site;\n appId: string;\n onSubmit: () => void;\n onError: (error: unknown) => void;\n}\n\nexport const AppInstallData = variant({\n Success: {},\n Canceled: {},\n});\n\nfunction isAbortError(error: unknown) {\n return (\n error &&\n typeof error === 'object' &&\n 'name' in error &&\n error.name === 'AbortError'\n );\n}\n\nexport const WaitForAppToBeInstalled: FC<Props> = ({\n appId,\n site,\n onSubmit,\n onError,\n}) => {\n const { isAppInstalled } = useMetasiteManagerClient();\n\n const { status } = useAsync(\n async ({ signal }) => {\n const { appInstallationPollInterval } = getTestOverrides();\n\n try {\n await pWaitFor(() => isAppInstalled({ metaSiteId: site.id, appId }), {\n interval: appInstallationPollInterval ?? 2000,\n timeout: {\n milliseconds: 60 * 1000 * 2,\n signal,\n },\n });\n\n return AppInstallData.Success();\n } catch (error) {\n if (error instanceof TimeoutError) {\n throw new CliError({\n code: CliErrorCode.SiteSelectorTimedout(),\n cause: error,\n });\n }\n\n if (isAbortError(error)) {\n return AppInstallData.Canceled();\n }\n\n throw error;\n }\n },\n [],\n {\n onError,\n onSuccess: (result) => {\n if (isType(result, AppInstallData.Success)) {\n onSubmit();\n }\n },\n }\n );\n\n return match(status, {\n Error: () => null,\n Loading: () => <OpenBrowser siteId={site.id} appId={appId} />,\n Success: () => (\n <Alert type=\"success\">\n <Trans i18nKey=\"install_app_on_site.finished_successfully\" />\n </Alert>\n ),\n });\n};\n","export { useMetasiteManagerClient } from './useMetasiteManagerClient.js';\n","import { useMemo } from 'react';\nimport { useHttpClient } from '@wix/cli-http-client-react';\nimport { MetasiteManagerClient } from './metasite-manager-client.js';\n\nexport function useMetasiteManagerClient(): MetasiteManagerClient {\n const httpClient = useHttpClient({ type: 'general' });\n return useMemo(() => new MetasiteManagerClient(httpClient), [httpClient]);\n}\n","import { CliError, CliErrorCode } from '@wix/cli-error';\nimport type { HttpClient } from '@wix/cli-http-client';\nimport { clientSpecMapSchema } from './schemas.js';\n\nexport class MetasiteManagerClient {\n constructor(private readonly httpClient: HttpClient) {}\n\n public isAppInstalled = async ({\n metaSiteId,\n appId,\n }: {\n metaSiteId: string;\n appId: string;\n }) => {\n try {\n const { data } = await this.httpClient.request({\n url: `/_api/msm/v1/meta-site/editor-client-spec-map/${metaSiteId}`,\n });\n\n const clientSpecMap = clientSpecMapSchema.parse(data);\n\n const isInstalled = Object.values(clientSpecMap).some(\n (spec) => spec.appDefinitionId === appId && !spec.permissions?.revoked\n );\n\n return isInstalled;\n } catch (e) {\n throw new CliError({\n code: CliErrorCode.FailedToCheckIfAppInstalled(),\n cause: e,\n });\n }\n };\n}\n","import { z } from 'zod';\n\nexport const clientSpecMapSchema = z.record(\n z.object({\n appDefinitionId: z.string().optional(),\n permissions: z.object({ revoked: z.boolean() }).optional(),\n })\n);\n\nexport type ClientSpecMap = z.TypeOf<typeof clientSpecMapSchema>;\n","import React, { type FC } from 'react';\nimport { Key, useInput } from '@wix/cli-ui-kit';\nimport { Trans } from '@wix/cli-i18n';\nimport { openBrowser } from '@wix/user-browser';\n\ninterface Props {\n siteId: string;\n appId: string;\n}\n\nexport const OpenBrowser: FC<Props> = ({ siteId, appId }) => {\n useInput(async (input, key) => {\n if (key.return) {\n await openBrowser(\n `https://manage.wix.com/installer/install?metaSiteId=${siteId}&appId=${appId}&platform=cli&version=latest`\n );\n }\n });\n\n return (\n <>\n <Trans i18nKey=\"install_app_on_site.warning\" />\n <Trans\n i18nKey=\"install_app_on_site.warning.instructions\"\n components={[<Key value=\"enter\" />]}\n />\n </>\n );\n};\n","{\n \"general.loading\": \"Loading...\",\n \"site_type_select.label\": \"Select Development Site\",\n \"site_type_select.create_new_dev_site\": \"Create a new Development Site\",\n \"site_type_select.create_new_dev_site.disabled\": \"You have reached the maximum number of {limit} Development Sites\",\n \"site_type_select.pick_existing_site\": \"Pick an existing site\",\n \"site_type_select.no_sites\": \"No sites found\",\n \"create_dev_site.loading\": \"Creating your new Development Site...\",\n \"create_dev_site.success\": \"Development Site <0>{name}</0> created successfully! 🚀\",\n \"site_list_select.label\": \"Select Site\",\n \"install_app_on_site.warning\": \"Your new application needs to be installed on the selected Development Site\",\n \"install_app_on_site.warning.instructions\": \"Press <0/> to install the application in your browser\",\n \"install_app_on_site.finished_successfully\": \"App installed on Development Site.\"\n}\n","import React, { useState } from 'react';\nimport { Spinner, useAsyncCallback } from '@wix/cli-ui-kit';\nimport { useMetasiteManagerClient } from '@wix/metasite-manager-client';\nimport type { Site } from '@wix/site-list-client';\nimport { isType } from 'variant';\nimport { useTranslation } from '@wix/cli-i18n';\nimport { WaitForAppToBeInstalled } from './WaitForAppToBeInstalled.js';\nimport { SiteListSelect } from './SiteListSelect.js';\n\ninterface Props {\n sites: Site[];\n appId: string;\n onSubmit: (site: Site) => void;\n onError: (error: unknown) => void;\n}\n\nexport const SelectExistingSite = ({\n sites,\n appId,\n onSubmit,\n onError,\n}: Props) => {\n const { t } = useTranslation();\n const { isAppInstalled } = useMetasiteManagerClient();\n const [siteToInstallAppOn, setSiteToInstallAppOn] = useState<Site | null>(\n null\n );\n const checkAppInstalled = useAsyncCallback(\n (_, site: Site) => isAppInstalled({ metaSiteId: site.id, appId }),\n {\n onError,\n }\n );\n\n async function handleSelectSite(site: Site) {\n const isInstalled = await checkAppInstalled.execute(site);\n if (isInstalled) {\n onSubmit(site);\n } else {\n setSiteToInstallAppOn(site);\n }\n }\n\n return (\n <>\n <SiteListSelect onSubmit={handleSelectSite} sites={sites} />\n {isType(checkAppInstalled.status, 'Loading') && (\n <Spinner text={t('general.loading')} />\n )}\n {siteToInstallAppOn && (\n <WaitForAppToBeInstalled\n appId={appId}\n site={siteToInstallAppOn}\n onSubmit={() => onSubmit(siteToInstallAppOn)}\n onError={onError}\n />\n )}\n </>\n );\n};\n","import React, { type FC } from 'react';\nimport { useTranslation } from '@wix/cli-i18n';\nimport { SelectInput } from '@wix/cli-ui-kit';\nimport { type Site } from '@wix/site-list-client';\n\ninterface Props {\n onSubmit: (site: Site) => void;\n sites: Site[];\n}\n\nexport const SiteListSelect: FC<Props> = ({ onSubmit, sites }) => {\n const { t } = useTranslation();\n\n return (\n <SelectInput<Site>\n label={t('site_list_select.label')}\n options={sites.map((site) => ({\n key: site.id,\n title: site.displayName,\n description: site.viewUrl,\n value: site,\n }))}\n onSubmit={({ value }) => onSubmit(value)}\n />\n );\n};\n","import { createContext } from 'react';\nimport type { Site } from '@wix/site-list-client';\n\nexport type SiteIdState = {\n site: Site;\n setSite: (site: Site) => Promise<void>;\n};\n\nexport const SiteIdContext = createContext<SiteIdState | null>(null);\n","import React, {\n useContext,\n createContext,\n type FC,\n type ReactNode,\n} from 'react';\n\ntype ArmTag = {\n armTag: string;\n};\n\nexport const ArmTagContext = createContext<ArmTag | null>(null);\n\nexport const ArmTagProvider: FC<{ children: ReactNode; armTag: string }> = ({\n children,\n armTag,\n}) => {\n return (\n <ArmTagContext.Provider value={{ armTag }}>\n {children}\n </ArmTagContext.Provider>\n );\n};\n\nexport const useArmTag = () => {\n const context = useContext(ArmTagContext);\n\n if (context === null) {\n throw new Error('useArmTag() cannot be used without an <ArmTagProvider>');\n }\n\n return context;\n};\n","import { useContext } from 'react';\nimport { SiteIdContext, type SiteIdState } from './context.js';\n\nexport function useSiteId(): SiteIdState {\n const context = useContext(SiteIdContext);\n if (context === null) {\n throw new Error('useSiteId() cannot be used without an <SiteIdProvider>');\n }\n return context;\n}\n","import { useMemo, useCallback } from 'react';\nimport { isType } from 'variant';\nimport type { Site } from '@wix/site-list-client';\nimport type { PlatformType } from '@wix/cli-app-definitions';\nimport { useProjectModel } from '../../model.js';\nimport { DevCenterComponent } from '../../dev-center/components/dev-center-component.js';\nimport { useArmTag } from '../../context/armTag.js';\nimport { useSiteId } from '../../site-id/useSiteId.js';\n\nexport type EnvConfig = {\n site: Site;\n appId: string;\n tag: string;\n};\n\nexport function useExtensions() {\n const { site } = useSiteId();\n const { model } = useProjectModel();\n const { armTag } = useArmTag();\n\n const envConfig = useMemo<EnvConfig>(\n () => ({\n appId: model.config.appId,\n site,\n tag: armTag,\n }),\n [model.config.appId, site, armTag]\n );\n\n const dashboardPages: DevCenterComponent<'DashboardPage'>[] = useMemo(\n () =>\n model.components\n .filter(isType(DevCenterComponent.DashboardPage))\n .sort((a, b) => a.route.localeCompare(b.route)),\n [model.components]\n );\n\n const isPlatformExists = useCallback(\n (platformType: PlatformType) =>\n model.components.some((comp) =>\n comp.platforms.some(isType(platformType.type))\n ),\n [model.components]\n );\n\n const hasSinglePlatform = useCallback(\n (platformType: PlatformType) =>\n model.components.every(\n (comp) =>\n comp.platforms.some(isType(platformType.type)) ||\n comp.platforms.length === 0\n ),\n [model.components]\n );\n\n const hasExtensions = useCallback(\n () => model.components.length > 0,\n [model.components]\n );\n\n return {\n envConfig,\n dashboardPages,\n isPlatformExists,\n hasSinglePlatform,\n hasExtensions,\n };\n}\n"],"mappings":"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","names":["init_esm_shims","useMemo","init_esm_shims","init_esm_shims","_actionProviderSPIConfig","_actionSPIConfig","_adminConfigurableTextInput","_authenticatorConfig","_commonImage","_component","_componentData","_createAppRequest","_createAppResponse","_editorPresence","_expectedInputs","_getAppInfoResponse","_getAppRequest","_getAppSnapshotResponse","_getDeveloperAppsRequest","_getDeveloperAppsResponse","_image","_multilingualTranslationSchema","_packageDimension","_packageType","_predefinedExpectedInput","_predefinedExpectedInputConfiguration","_presetEditorPresence","_schema","_shippingLabelCarrierSpiConfig","_shippingProviderConfig","_studioWidgetComponentData","_v1SchemaField","_widgetComponentData","_widgetDisplay","_widgetOutOfIframeComponentData","resolveComWixpressAppserviceApiAppsUrl","opts","domainToMappings","resolveUrl","create","payload","_a","serializer","_createAppRequest","toReq","fromReq","fromRes","_createAppResponse","__create","host","serializedData","metadata","resolveComWixpressAppserviceApiAppsUrl","getAppSnapshot","payload","_a","serializer","_getAppRequest","toReq","fromReq","fromRes","_getAppSnapshotResponse","_actionProviderSPIConfig","_actionSPIConfig","_adminConfigurableTextInput","_authenticatorConfig","_commonImage","_component","_componentData","_editorPresence","_expectedInputs","_image","_multilingualTranslationSchema","_packageDimension","_packageType","_predefinedExpectedInput","_predefinedExpectedInputConfiguration","_presetEditorPresence","_schema","_shippingLabelCarrierSpiConfig","_shippingProviderConfig","_studioWidgetComponentData","_v1SchemaField","_widgetComponentData","_widgetDisplay","_widgetOutOfIframeComponentData","__getAppSnapshot","host","serializedData","metadata","resolveComWixpressAppserviceApiAppsUrl","toURLSearchParams","getDeveloperApps","payload","_a","serializer","_getDeveloperAppsRequest","toReq","fromReq","fromRes","_getDeveloperAppsResponse","_actionProviderSPIConfig","_actionSPIConfig","_adminConfigurableTextInput","_authenticatorConfig","_commonImage","_component","_componentData","_editorPresence","_expectedInputs","_getAppInfoResponse","_image","_multilingualTranslationSchema","_packageDimension","_packageType","_predefinedExpectedInput","_predefinedExpectedInputConfiguration","_presetEditorPresence","_schema","_shippingLabelCarrierSpiConfig","_shippingProviderConfig","_studioWidgetComponentData","_v1SchemaField","_widgetComponentData","_widgetDisplay","_widgetOutOfIframeComponentData","__getDeveloperApps","host","serializedData","metadata","resolveComWixpressAppserviceApiAppsUrl","toURLSearchParams","init_esm_shims","_createDevelopmentSiteRequest","_createDevelopmentSiteResponse","_getDevelopmentSitesLimitRequest","_getDevelopmentSitesLimitResponse","_getDevelopmentSitesRequest","_getDevelopmentSitesResponse","resolveComWixpressDevcenterDsmDevelopmentSitesManagerUrl","opts","domainToMappings","resolveUrl","createDevelopmentSite","payload","_a","serializer","_createDevelopmentSiteRequest","toReq","fromReq","fromRes","_createDevelopmentSiteResponse","__createDevelopmentSite","host","serializedData","metadata","resolveComWixpressDevcenterDsmDevelopmentSitesManagerUrl","getDevelopmentSites","_getDevelopmentSitesRequest","_getDevelopmentSitesResponse","__getDevelopmentSites","toURLSearchParams","getDevelopmentSitesLimit","_getDevelopmentSitesLimitRequest","_getDevelopmentSitesLimitResponse","__getDevelopmentSitesLimit","init_esm_shims","_getAppValidationReportRequest","_getAppValidationReportResponse","resolveComWixDevcenterAppValidationServiceUrl","opts","domainToMappings","resolveUrl","getAppValidationReport","payload","_a","serializer","_getAppValidationReportRequest","toReq","fromReq","fromRes","_getAppValidationReportResponse","__getAppValidationReport","host","serializedData","metadata","toURLSearchParams","init_esm_shims","createAppSchema","z","appSnapshotSchema","createDevelopmentSiteSchema","getDevelopmentSitesSchema","getDevelopmentSitesLimitSchema","developerAppSchema","getDeveloperAppsSchema","getAppPropertiesValiditySchema","EMPTY_SITE_TEMPLATE","DevCenterClient","httpClient","minRetryTimeout","getTestOverrides","opts","data","pRetry","create","createAppSchema","e","CliError","CliErrorCode","req","getAppSnapshot","appSnapshotSchema","siteListClient","createDevelopmentSite","id","createDevelopmentSiteSchema","site","getDevelopmentSites","getDevelopmentSitesSchema","getDeveloperApps","getDeveloperAppsSchema","getDevelopmentSitesLimit","getDevelopmentSitesLimitSchema","appId","version","getAppValidationReport","getAppPropertiesValiditySchema","appProperty","useDevCenterClient","httpClient","useHttpClient","useMemo","DevCenterClient","init_esm_shims","init_esm_shims","import_variant","React","useCallback","init_esm_shims","import_variant","React","init_esm_shims","init_esm_shims","import_variant","React","useState","init_esm_shims","import_variant","React","SiteTypeSelect","onSubmit","onError","sites","t","useTranslation","getDevSitesCount","getDevSitesLimit","useDevCenterClient","status","useAsync","React","Spinner","devSitesCount","devSitesLimit","isDevSitesLimitReached","userHasNoSites","SelectInput","SelectOptionAvailability","value","init_esm_shims","import_variant","React","init_esm_shims","React","init_esm_shims","init_esm_shims","useMemo","init_esm_shims","init_esm_shims","clientSpecMapSchema","z","MetasiteManagerClient","httpClient","metaSiteId","appId","data","clientSpecMap","clientSpecMapSchema","spec","e","CliError","CliErrorCode","useMetasiteManagerClient","httpClient","useHttpClient","useMemo","MetasiteManagerClient","import_variant","init_esm_shims","React","OpenBrowser","siteId","appId","use_input_default","input","key","openBrowser","React","Trans","Key","AppInstallData","isAbortError","error","WaitForAppToBeInstalled","appId","site","onSubmit","onError","isAppInstalled","useMetasiteManagerClient","status","useAsync","signal","appInstallationPollInterval","getTestOverrides","pWaitFor","TimeoutError","CliError","CliErrorCode","result","React","OpenBrowser","Alert","Trans","CreateDevSite","status","appId","onSubmit","onError","t","useTranslation","React","Spinner","result","Trans","Text","WaitForAppToBeInstalled","messages_default","init_esm_shims","React","useState","import_variant","init_esm_shims","React","SiteListSelect","onSubmit","sites","t","useTranslation","React","SelectInput","site","value","SelectExistingSite","sites","appId","onSubmit","onError","t","useTranslation","isAppInstalled","useMetasiteManagerClient","siteToInstallAppOn","setSiteToInstallAppOn","useState","checkAppInstalled","useAsyncCallback","_","site","handleSelectSite","React","SiteListSelect","Spinner","WaitForAppToBeInstalled","SiteSelector","appId","onSubmit","onError","t","useTranslation","siteType","setSiteType","useState","createDevSite","useDevCenterClient","siteListClient","useSiteListClient","status","useAsync","createSite","useAsyncCallback","handleSelectSiteType","React","I18nProvider","messages_default","Spinner","sites","SiteTypeSelect","CreateDevSite","SelectExistingSite","ResolveSiteId","state","onSubmit","exit","useExit","t","useTranslation","model","useProjectModel","React","Alert","id","SiteSelector","init_esm_shims","createContext","SiteIdContext","SiteIdProvider","children","siteId","exit","useExit","projectFolder","useProjectModel","writeDebugLog","useDebugLog","siteListClient","useSiteListClient","status","merge","useAsync","resolveConfiguredSite","setSite","useCallback","site","saveAppConfig","SiteIdState","CliError","CliErrorCode","APP_CONFIG_PATH","handleResolveSiteId","React","Spinner","state","variant","ResolveSiteId","SiteIdContext","init_esm_shims","React","useContext","createContext","ArmTagContext","ArmTagProvider","children","armTag","useArmTag","context","init_esm_shims","useContext","useSiteId","context","useContext","SiteIdContext","init_esm_shims","import_variant","useMemo","useCallback","useExtensions","site","useSiteId","model","useProjectModel","armTag","useArmTag","envConfig","useMemo","dashboardPages","DevCenterComponent","a","b","isPlatformExists","useCallback","platformType","comp","hasSinglePlatform","hasExtensions"]}
@@ -1,4 +1,4 @@
1
1
  import { createRequire as _createRequire } from 'node:module';
2
2
  const require = _createRequire(import.meta.url);
3
- import{A as h,h as e,u as a,v as m,w as p,x as s,y as g,z as d}from"./chunk-YT3VC22W.js";import{h as b}from"./chunk-HFDLXX7R.js";b();import I from"node:fs/promises";var u=e.object({errorReporting:e.object({url:e.string().optional()}).optional()}),f=e.object({iframeUrl:e.string().optional(),scriptAsset:e.object({exportedName:e.string(),containerId:e.string(),url:e.string(),scriptType:e.string().optional()}).optional()}),T=e.object({hostingPlatform:e.string(),fullPage:e.boolean().nullish(),hideInSidebar:e.boolean().nullish(),priority:e.number().nullish(),routePath:e.string().nullish(),title:e.string(),pageCategoryId:e.string().nullish(),activeSidebarPageId:e.string().nullish(),requiredPermission:e.string().nullish(),previousRoutePaths:e.array(e.string()).nullish()}).merge(u).merge(f).passthrough(),N=e.object({width:e.number().nullish(),height:e.number().nullish()}).merge(f).passthrough(),C=e.object({appId:e.string(),componentId:e.string(),spec:e.string().min(1),variantValue:e.string()}).passthrough().optional(),O=e.object({compId:e.string(),compType:e.literal(a.BACK_OFFICE_PAGE),compData:e.object({backOfficePage:T}),compName:e.string().optional(),experiment:C}).passthrough(),A=e.object({compId:e.string(),compType:e.literal(a.BACK_OFFICE_EXTENSION),compData:e.object({backOfficeExtension:e.object({hostingPlatform:e.string(),extends:e.string(),title:e.string().nullish(),extensionType:e.literal(h.BACK_OFFICE_EXTENSION_WIDGET),requiredPermission:e.string().nullish(),widget:N}).merge(u).passthrough()}),compName:e.string().optional(),experiment:C}).passthrough(),D=e.object({compId:e.string(),compType:e.literal(a.BACK_OFFICE_SIDEBAR_CATEGORY),compData:e.object({backOfficeSidebarCategory:e.object({hostingPlatform:e.string(),title:e.string(),priority:e.number().nullish()})}),compName:e.string().optional()}).passthrough(),_=e.object({compId:e.string(),compType:e.literal(a.BACK_OFFICE_WIDGET),compName:e.string().optional()}).passthrough(),y=e.object({compId:e.string(),compType:e.literal(a.BACK_OFFICE_EXTENSION_CONTAINER),compName:e.string().optional()}).passthrough(),j=e.object({template:e.string(),name:e.string(),pages:e.enum([m.NONE_PAGES,m.ONCE,m.SPECIFIC_PAGES]),placement:e.enum([p.HEAD,p.BODY_START,p.BODY_END,p.NONE_PLACEMENT]),connectArticleUrl:e.string(),embedCategory:e.enum([s.UNKNOWN,s.FUNCTIONAL,s.ESSENTIAL,s.ANALYTICS,s.ADVERTISING]),loadOnce:e.boolean(),allowedForFreeSite:e.boolean()}),P=e.object({compId:e.string(),compType:e.literal(a.EMBEDDED_SCRIPT),compName:e.string().optional(),compData:e.object({embeddedScriptComponentData:j})}).passthrough(),v=e.object({tagName:e.string(),settingsUrl:e.string(),scriptTag:e.string(),scriptType:e.literal(d.MODULE),type:e.enum([g.WIDGET,g.PAGE]).optional(),slug:e.string().optional(),showPageInMenu:e.boolean().optional(),size:e.object({width:e.number().optional(),height:e.number().optional()}).optional(),installation:e.object({base:e.object({essential:e.boolean().optional(),autoAdd:e.boolean().optional(),maxInstances:e.number().optional()}).optional()}).optional()}).passthrough(),F=e.object({compId:e.string(),compType:e.literal(a.WEB),compData:e.object({webComponentData:v})}).passthrough(),w=e.object({appId:e.string(),components:e.array(e.discriminatedUnion("compType",[O,A,D,_,y,P,F]))});async function W(r){try{let t=await I.readFile(r,"utf-8");return w.parse(JSON.parse(t))}catch(t){let n=t instanceof Error?t.toString():JSON.stringify(t);throw new Error(`Failed to read App Manifest at ${r}: ${n}`)}}var l=(r,t)=>new URL(r,t).href,E=(r,t)=>{let{scriptAsset:n,iframeUrl:i}=r;return n?{scriptAsset:{...n,url:l(n.url,t)}}:i?{iframeUrl:l(i,t)}:r},B=(r,t)=>({template:r.template.replaceAll("__STATICS_BASE_URL_PLACEHOLDER__",t)}),K=(r,t)=>{let n=JSON.parse(JSON.stringify(r)),i=t.endsWith("/")?t:`${t}/`;return n.components.forEach(S=>{let{compData:o,compType:c}=S;c===a.BACK_OFFICE_PAGE&&(o.backOfficePage={...o.backOfficePage,...E(o.backOfficePage,i)}),c===a.BACK_OFFICE_EXTENSION&&(o.backOfficeExtension.widget={...o.backOfficeExtension.widget,...E(o.backOfficeExtension.widget,i)}),c===a.EMBEDDED_SCRIPT&&(o.embeddedScriptComponentData={...o.embeddedScriptComponentData,...B(o.embeddedScriptComponentData,i)}),c===a.WEB&&(o.webComponentData={...o.webComponentData,scriptTag:l(o.webComponentData.scriptTag,i),settingsUrl:l(o.webComponentData.settingsUrl,i)})}),n};export{W as a,K as b};
4
- //# sourceMappingURL=chunk-EUINJR7Q.js.map
3
+ import{A as h,h as e,u as a,v as m,w as p,x as s,y as g,z as d}from"./chunk-VMFKU4BM.js";import{h as b}from"./chunk-HFDLXX7R.js";b();import I from"node:fs/promises";var u=e.object({errorReporting:e.object({url:e.string().optional()}).optional()}),f=e.object({iframeUrl:e.string().optional(),scriptAsset:e.object({exportedName:e.string(),containerId:e.string(),url:e.string(),scriptType:e.string().optional()}).optional()}),T=e.object({hostingPlatform:e.string(),fullPage:e.boolean().nullish(),hideInSidebar:e.boolean().nullish(),priority:e.number().nullish(),routePath:e.string().nullish(),title:e.string(),pageCategoryId:e.string().nullish(),activeSidebarPageId:e.string().nullish(),requiredPermission:e.string().nullish(),previousRoutePaths:e.array(e.string()).nullish()}).merge(u).merge(f).passthrough(),N=e.object({width:e.number().nullish(),height:e.number().nullish()}).merge(f).passthrough(),C=e.object({appId:e.string(),componentId:e.string(),spec:e.string().min(1),variantValue:e.string()}).passthrough().optional(),O=e.object({compId:e.string(),compType:e.literal(a.BACK_OFFICE_PAGE),compData:e.object({backOfficePage:T}),compName:e.string().optional(),experiment:C}).passthrough(),A=e.object({compId:e.string(),compType:e.literal(a.BACK_OFFICE_EXTENSION),compData:e.object({backOfficeExtension:e.object({hostingPlatform:e.string(),extends:e.string(),title:e.string().nullish(),extensionType:e.literal(h.BACK_OFFICE_EXTENSION_WIDGET),requiredPermission:e.string().nullish(),widget:N}).merge(u).passthrough()}),compName:e.string().optional(),experiment:C}).passthrough(),D=e.object({compId:e.string(),compType:e.literal(a.BACK_OFFICE_SIDEBAR_CATEGORY),compData:e.object({backOfficeSidebarCategory:e.object({hostingPlatform:e.string(),title:e.string(),priority:e.number().nullish()})}),compName:e.string().optional()}).passthrough(),_=e.object({compId:e.string(),compType:e.literal(a.BACK_OFFICE_WIDGET),compName:e.string().optional()}).passthrough(),y=e.object({compId:e.string(),compType:e.literal(a.BACK_OFFICE_EXTENSION_CONTAINER),compName:e.string().optional()}).passthrough(),j=e.object({template:e.string(),name:e.string(),pages:e.enum([m.NONE_PAGES,m.ONCE,m.SPECIFIC_PAGES]),placement:e.enum([p.HEAD,p.BODY_START,p.BODY_END,p.NONE_PLACEMENT]),connectArticleUrl:e.string(),embedCategory:e.enum([s.UNKNOWN,s.FUNCTIONAL,s.ESSENTIAL,s.ANALYTICS,s.ADVERTISING]),loadOnce:e.boolean(),allowedForFreeSite:e.boolean()}),P=e.object({compId:e.string(),compType:e.literal(a.EMBEDDED_SCRIPT),compName:e.string().optional(),compData:e.object({embeddedScriptComponentData:j})}).passthrough(),v=e.object({tagName:e.string(),settingsUrl:e.string(),scriptTag:e.string(),scriptType:e.literal(d.MODULE),type:e.enum([g.WIDGET,g.PAGE]).optional(),slug:e.string().optional(),showPageInMenu:e.boolean().optional(),size:e.object({width:e.number().optional(),height:e.number().optional()}).optional(),installation:e.object({base:e.object({essential:e.boolean().optional(),autoAdd:e.boolean().optional(),maxInstances:e.number().optional()}).optional()}).optional()}).passthrough(),F=e.object({compId:e.string(),compType:e.literal(a.WEB),compData:e.object({webComponentData:v})}).passthrough(),w=e.object({appId:e.string(),components:e.array(e.discriminatedUnion("compType",[O,A,D,_,y,P,F]))});async function W(r){try{let t=await I.readFile(r,"utf-8");return w.parse(JSON.parse(t))}catch(t){let n=t instanceof Error?t.toString():JSON.stringify(t);throw new Error(`Failed to read App Manifest at ${r}: ${n}`)}}var l=(r,t)=>new URL(r,t).href,E=(r,t)=>{let{scriptAsset:n,iframeUrl:i}=r;return n?{scriptAsset:{...n,url:l(n.url,t)}}:i?{iframeUrl:l(i,t)}:r},B=(r,t)=>({template:r.template.replaceAll("__STATICS_BASE_URL_PLACEHOLDER__",t)}),K=(r,t)=>{let n=JSON.parse(JSON.stringify(r)),i=t.endsWith("/")?t:`${t}/`;return n.components.forEach(S=>{let{compData:o,compType:c}=S;c===a.BACK_OFFICE_PAGE&&(o.backOfficePage={...o.backOfficePage,...E(o.backOfficePage,i)}),c===a.BACK_OFFICE_EXTENSION&&(o.backOfficeExtension.widget={...o.backOfficeExtension.widget,...E(o.backOfficeExtension.widget,i)}),c===a.EMBEDDED_SCRIPT&&(o.embeddedScriptComponentData={...o.embeddedScriptComponentData,...B(o.embeddedScriptComponentData,i)}),c===a.WEB&&(o.webComponentData={...o.webComponentData,scriptTag:l(o.webComponentData.scriptTag,i),settingsUrl:l(o.webComponentData.settingsUrl,i)})}),n};export{W as a,K as b};
4
+ //# sourceMappingURL=chunk-ZYZVQVJV.js.map
@@ -0,0 +1,10 @@
1
+ import { createRequire as _createRequire } from 'node:module';
2
+ const require = _createRequire(import.meta.url);
3
+ import{a as m,c as b,e as V,h as d}from"./chunk-HFDLXX7R.js";var Ve=b((ls,Ge)=>{"use strict";d();var{Duplex:$t}=m("stream");function Fe(t){t.emit("close")}function jt(){!this.destroyed&&this._writableState.finished&&this.destroy()}function qe(t){this.removeListener("error",qe),this.destroy(),this.listenerCount("error")===0&&this.emit("error",t)}function Ht(t,e){let r=!0,i=new $t({...e,autoDestroy:!1,emitClose:!1,objectMode:!1,writableObjectMode:!1});return t.on("message",function(n,o){let l=!o&&i._readableState.objectMode?n.toString():n;i.push(l)||t.pause()}),t.once("error",function(n){i.destroyed||(r=!1,i.destroy(n))}),t.once("close",function(){i.destroyed||i.push(null)}),i._destroy=function(s,n){if(t.readyState===t.CLOSED){n(s),process.nextTick(Fe,i);return}let o=!1;t.once("error",function(f){o=!0,n(f)}),t.once("close",function(){o||n(s),process.nextTick(Fe,i)}),r&&t.terminate()},i._final=function(s){if(t.readyState===t.CONNECTING){t.once("open",function(){i._final(s)});return}t._socket!==null&&(t._socket._writableState.finished?(s(),i._readableState.endEmitted&&i.destroy()):(t._socket.once("finish",function(){s()}),t.close()))},i._read=function(){t.isPaused&&t.resume()},i._write=function(s,n,o){if(t.readyState===t.CONNECTING){t.once("open",function(){i._write(s,n,o)});return}t.send(s,o)},i.on("end",jt),i.on("error",qe),i}Ge.exports=Ht});var P=b((hs,$e)=>{"use strict";d();$e.exports={BINARY_TYPES:["nodebuffer","arraybuffer","fragments"],EMPTY_BUFFER:Buffer.alloc(0),GUID:"258EAFA5-E914-47DA-95CA-C5AB0DC85B11",kForOnEventAttribute:Symbol("kIsForOnEventAttribute"),kListener:Symbol("kListener"),kStatusCode:Symbol("status-code"),kWebSocket:Symbol("websocket"),NOOP:()=>{}}});var $=b((us,re)=>{"use strict";d();var{EMPTY_BUFFER:zt}=P(),ge=Buffer[Symbol.species];function Yt(t,e){if(t.length===0)return zt;if(t.length===1)return t[0];let r=Buffer.allocUnsafe(e),i=0;for(let s=0;s<t.length;s++){let n=t[s];r.set(n,i),i+=n.length}return i<e?new ge(r.buffer,r.byteOffset,i):r}function je(t,e,r,i,s){for(let n=0;n<s;n++)r[i+n]=t[n]^e[n&3]}function He(t,e){for(let r=0;r<t.length;r++)t[r]^=e[r&3]}function Kt(t){return t.length===t.buffer.byteLength?t.buffer:t.buffer.slice(t.byteOffset,t.byteOffset+t.length)}function ye(t){if(ye.readOnly=!0,Buffer.isBuffer(t))return t;let e;return t instanceof ArrayBuffer?e=new ge(t):ArrayBuffer.isView(t)?e=new ge(t.buffer,t.byteOffset,t.byteLength):(e=Buffer.from(t),ye.readOnly=!1),e}re.exports={concat:Yt,mask:je,toArrayBuffer:Kt,toBuffer:ye,unmask:He};if(!process.env.WS_NO_BUFFER_UTIL)try{let t=m("bufferutil");re.exports.mask=function(e,r,i,s,n){n<48?je(e,r,i,s,n):t.mask(e,r,i,s,n)},re.exports.unmask=function(e,r){e.length<32?He(e,r):t.unmask(e,r)}}catch{}});var Ke=b((_s,Ye)=>{"use strict";d();var ze=Symbol("kDone"),xe=Symbol("kRun"),Se=class{constructor(e){this[ze]=()=>{this.pending--,this[xe]()},this.concurrency=e||1/0,this.jobs=[],this.pending=0}add(e){this.jobs.push(e),this[xe]()}[xe](){if(this.pending!==this.concurrency&&this.jobs.length){let e=this.jobs.shift();this.pending++,e(this[ze])}}};Ye.exports=Se});var z=b((ms,Je)=>{"use strict";d();var j=m("zlib"),Xe=$(),Xt=Ke(),{kStatusCode:Ze}=P(),Zt=Buffer[Symbol.species],Qt=Buffer.from([0,0,255,255]),ne=Symbol("permessage-deflate"),C=Symbol("total-length"),H=Symbol("callback"),R=Symbol("buffers"),ie=Symbol("error"),se,Ee=class{constructor(e,r,i){if(this._maxPayload=i|0,this._options=e||{},this._threshold=this._options.threshold!==void 0?this._options.threshold:1024,this._isServer=!!r,this._deflate=null,this._inflate=null,this.params=null,!se){let s=this._options.concurrencyLimit!==void 0?this._options.concurrencyLimit:10;se=new Xt(s)}}static get extensionName(){return"permessage-deflate"}offer(){let e={};return this._options.serverNoContextTakeover&&(e.server_no_context_takeover=!0),this._options.clientNoContextTakeover&&(e.client_no_context_takeover=!0),this._options.serverMaxWindowBits&&(e.server_max_window_bits=this._options.serverMaxWindowBits),this._options.clientMaxWindowBits?e.client_max_window_bits=this._options.clientMaxWindowBits:this._options.clientMaxWindowBits==null&&(e.client_max_window_bits=!0),e}accept(e){return e=this.normalizeParams(e),this.params=this._isServer?this.acceptAsServer(e):this.acceptAsClient(e),this.params}cleanup(){if(this._inflate&&(this._inflate.close(),this._inflate=null),this._deflate){let e=this._deflate[H];this._deflate.close(),this._deflate=null,e&&e(new Error("The deflate stream was closed while data was being processed"))}}acceptAsServer(e){let r=this._options,i=e.find(s=>!(r.serverNoContextTakeover===!1&&s.server_no_context_takeover||s.server_max_window_bits&&(r.serverMaxWindowBits===!1||typeof r.serverMaxWindowBits=="number"&&r.serverMaxWindowBits>s.server_max_window_bits)||typeof r.clientMaxWindowBits=="number"&&!s.client_max_window_bits));if(!i)throw new Error("None of the extension offers can be accepted");return r.serverNoContextTakeover&&(i.server_no_context_takeover=!0),r.clientNoContextTakeover&&(i.client_no_context_takeover=!0),typeof r.serverMaxWindowBits=="number"&&(i.server_max_window_bits=r.serverMaxWindowBits),typeof r.clientMaxWindowBits=="number"?i.client_max_window_bits=r.clientMaxWindowBits:(i.client_max_window_bits===!0||r.clientMaxWindowBits===!1)&&delete i.client_max_window_bits,i}acceptAsClient(e){let r=e[0];if(this._options.clientNoContextTakeover===!1&&r.client_no_context_takeover)throw new Error('Unexpected parameter "client_no_context_takeover"');if(!r.client_max_window_bits)typeof this._options.clientMaxWindowBits=="number"&&(r.client_max_window_bits=this._options.clientMaxWindowBits);else if(this._options.clientMaxWindowBits===!1||typeof this._options.clientMaxWindowBits=="number"&&r.client_max_window_bits>this._options.clientMaxWindowBits)throw new Error('Unexpected or invalid parameter "client_max_window_bits"');return r}normalizeParams(e){return e.forEach(r=>{Object.keys(r).forEach(i=>{let s=r[i];if(s.length>1)throw new Error(`Parameter "${i}" must have only a single value`);if(s=s[0],i==="client_max_window_bits"){if(s!==!0){let n=+s;if(!Number.isInteger(n)||n<8||n>15)throw new TypeError(`Invalid value for parameter "${i}": ${s}`);s=n}else if(!this._isServer)throw new TypeError(`Invalid value for parameter "${i}": ${s}`)}else if(i==="server_max_window_bits"){let n=+s;if(!Number.isInteger(n)||n<8||n>15)throw new TypeError(`Invalid value for parameter "${i}": ${s}`);s=n}else if(i==="client_no_context_takeover"||i==="server_no_context_takeover"){if(s!==!0)throw new TypeError(`Invalid value for parameter "${i}": ${s}`)}else throw new Error(`Unknown parameter "${i}"`);r[i]=s})}),e}decompress(e,r,i){se.add(s=>{this._decompress(e,r,(n,o)=>{s(),i(n,o)})})}compress(e,r,i){se.add(s=>{this._compress(e,r,(n,o)=>{s(),i(n,o)})})}_decompress(e,r,i){let s=this._isServer?"client":"server";if(!this._inflate){let n=`${s}_max_window_bits`,o=typeof this.params[n]!="number"?j.Z_DEFAULT_WINDOWBITS:this.params[n];this._inflate=j.createInflateRaw({...this._options.zlibInflateOptions,windowBits:o}),this._inflate[ne]=this,this._inflate[C]=0,this._inflate[R]=[],this._inflate.on("error",er),this._inflate.on("data",Qe)}this._inflate[H]=i,this._inflate.write(e),r&&this._inflate.write(Qt),this._inflate.flush(()=>{let n=this._inflate[ie];if(n){this._inflate.close(),this._inflate=null,i(n);return}let o=Xe.concat(this._inflate[R],this._inflate[C]);this._inflate._readableState.endEmitted?(this._inflate.close(),this._inflate=null):(this._inflate[C]=0,this._inflate[R]=[],r&&this.params[`${s}_no_context_takeover`]&&this._inflate.reset()),i(null,o)})}_compress(e,r,i){let s=this._isServer?"server":"client";if(!this._deflate){let n=`${s}_max_window_bits`,o=typeof this.params[n]!="number"?j.Z_DEFAULT_WINDOWBITS:this.params[n];this._deflate=j.createDeflateRaw({...this._options.zlibDeflateOptions,windowBits:o}),this._deflate[C]=0,this._deflate[R]=[],this._deflate.on("data",Jt)}this._deflate[H]=i,this._deflate.write(e),this._deflate.flush(j.Z_SYNC_FLUSH,()=>{if(!this._deflate)return;let n=Xe.concat(this._deflate[R],this._deflate[C]);r&&(n=new Zt(n.buffer,n.byteOffset,n.length-4)),this._deflate[H]=null,this._deflate[C]=0,this._deflate[R]=[],r&&this.params[`${s}_no_context_takeover`]&&this._deflate.reset(),i(null,n)})}};Je.exports=Ee;function Jt(t){this[R].push(t),this[C]+=t.length}function Qe(t){if(this[C]+=t.length,this[ne]._maxPayload<1||this[C]<=this[ne]._maxPayload){this[R].push(t);return}this[ie]=new RangeError("Max payload size exceeded"),this[ie].code="WS_ERR_UNSUPPORTED_MESSAGE_LENGTH",this[ie][Ze]=1009,this.removeListener("data",Qe),this.reset()}function er(t){this[ne]._inflate=null,t[Ze]=1007,this[H](t)}});var Y=b((ys,oe)=>{"use strict";d();var{isUtf8:et}=m("buffer"),tr=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,1,1,1,0,0,1,1,0,1,1,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,0,1,0];function rr(t){return t>=1e3&&t<=1014&&t!==1004&&t!==1005&&t!==1006||t>=3e3&&t<=4999}function ve(t){let e=t.length,r=0;for(;r<e;)if(!(t[r]&128))r++;else if((t[r]&224)===192){if(r+1===e||(t[r+1]&192)!==128||(t[r]&254)===192)return!1;r+=2}else if((t[r]&240)===224){if(r+2>=e||(t[r+1]&192)!==128||(t[r+2]&192)!==128||t[r]===224&&(t[r+1]&224)===128||t[r]===237&&(t[r+1]&224)===160)return!1;r+=3}else if((t[r]&248)===240){if(r+3>=e||(t[r+1]&192)!==128||(t[r+2]&192)!==128||(t[r+3]&192)!==128||t[r]===240&&(t[r+1]&240)===128||t[r]===244&&t[r+1]>143||t[r]>244)return!1;r+=4}else return!1;return!0}oe.exports={isValidStatusCode:rr,isValidUTF8:ve,tokenChars:tr};if(et)oe.exports.isValidUTF8=function(t){return t.length<24?ve(t):et(t)};else if(!process.env.WS_NO_UTF_8_VALIDATE)try{let t=m("utf-8-validate");oe.exports.isValidUTF8=function(e){return e.length<32?ve(e):t(e)}}catch{}});var Te=b((Ss,at)=>{"use strict";d();var{Writable:sr}=m("stream"),tt=z(),{BINARY_TYPES:ir,EMPTY_BUFFER:rt,kStatusCode:nr,kWebSocket:or}=P(),{concat:be,toArrayBuffer:ar,unmask:lr}=$(),{isValidStatusCode:fr,isValidUTF8:st}=Y(),ae=Buffer[Symbol.species],hr=Promise.resolve(),we=typeof queueMicrotask=="function"?queueMicrotask:cr,k=0,it=1,nt=2,ot=3,ke=4,le=5,fe=6,Oe=class extends sr{constructor(e={}){super(),this._allowSynchronousEvents=!!e.allowSynchronousEvents,this._binaryType=e.binaryType||ir[0],this._extensions=e.extensions||{},this._isServer=!!e.isServer,this._maxPayload=e.maxPayload|0,this._skipUTF8Validation=!!e.skipUTF8Validation,this[or]=void 0,this._bufferedBytes=0,this._buffers=[],this._compressed=!1,this._payloadLength=0,this._mask=void 0,this._fragmented=0,this._masked=!1,this._fin=!1,this._opcode=0,this._totalPayloadLength=0,this._messageLength=0,this._fragments=[],this._errored=!1,this._loop=!1,this._state=k}_write(e,r,i){if(this._opcode===8&&this._state==k)return i();this._bufferedBytes+=e.length,this._buffers.push(e),this.startLoop(i)}consume(e){if(this._bufferedBytes-=e,e===this._buffers[0].length)return this._buffers.shift();if(e<this._buffers[0].length){let i=this._buffers[0];return this._buffers[0]=new ae(i.buffer,i.byteOffset+e,i.length-e),new ae(i.buffer,i.byteOffset,e)}let r=Buffer.allocUnsafe(e);do{let i=this._buffers[0],s=r.length-e;e>=i.length?r.set(this._buffers.shift(),s):(r.set(new Uint8Array(i.buffer,i.byteOffset,e),s),this._buffers[0]=new ae(i.buffer,i.byteOffset+e,i.length-e)),e-=i.length}while(e>0);return r}startLoop(e){this._loop=!0;do switch(this._state){case k:this.getInfo(e);break;case it:this.getPayloadLength16(e);break;case nt:this.getPayloadLength64(e);break;case ot:this.getMask();break;case ke:this.getData(e);break;case le:case fe:this._loop=!1;return}while(this._loop);this._errored||e()}getInfo(e){if(this._bufferedBytes<2){this._loop=!1;return}let r=this.consume(2);if(r[0]&48){let s=this.createError(RangeError,"RSV2 and RSV3 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_2_3");e(s);return}let i=(r[0]&64)===64;if(i&&!this._extensions[tt.extensionName]){let s=this.createError(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1");e(s);return}if(this._fin=(r[0]&128)===128,this._opcode=r[0]&15,this._payloadLength=r[1]&127,this._opcode===0){if(i){let s=this.createError(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1");e(s);return}if(!this._fragmented){let s=this.createError(RangeError,"invalid opcode 0",!0,1002,"WS_ERR_INVALID_OPCODE");e(s);return}this._opcode=this._fragmented}else if(this._opcode===1||this._opcode===2){if(this._fragmented){let s=this.createError(RangeError,`invalid opcode ${this._opcode}`,!0,1002,"WS_ERR_INVALID_OPCODE");e(s);return}this._compressed=i}else if(this._opcode>7&&this._opcode<11){if(!this._fin){let s=this.createError(RangeError,"FIN must be set",!0,1002,"WS_ERR_EXPECTED_FIN");e(s);return}if(i){let s=this.createError(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1");e(s);return}if(this._payloadLength>125||this._opcode===8&&this._payloadLength===1){let s=this.createError(RangeError,`invalid payload length ${this._payloadLength}`,!0,1002,"WS_ERR_INVALID_CONTROL_PAYLOAD_LENGTH");e(s);return}}else{let s=this.createError(RangeError,`invalid opcode ${this._opcode}`,!0,1002,"WS_ERR_INVALID_OPCODE");e(s);return}if(!this._fin&&!this._fragmented&&(this._fragmented=this._opcode),this._masked=(r[1]&128)===128,this._isServer){if(!this._masked){let s=this.createError(RangeError,"MASK must be set",!0,1002,"WS_ERR_EXPECTED_MASK");e(s);return}}else if(this._masked){let s=this.createError(RangeError,"MASK must be clear",!0,1002,"WS_ERR_UNEXPECTED_MASK");e(s);return}this._payloadLength===126?this._state=it:this._payloadLength===127?this._state=nt:this.haveLength(e)}getPayloadLength16(e){if(this._bufferedBytes<2){this._loop=!1;return}this._payloadLength=this.consume(2).readUInt16BE(0),this.haveLength(e)}getPayloadLength64(e){if(this._bufferedBytes<8){this._loop=!1;return}let r=this.consume(8),i=r.readUInt32BE(0);if(i>Math.pow(2,21)-1){let s=this.createError(RangeError,"Unsupported WebSocket frame: payload length > 2^53 - 1",!1,1009,"WS_ERR_UNSUPPORTED_DATA_PAYLOAD_LENGTH");e(s);return}this._payloadLength=i*Math.pow(2,32)+r.readUInt32BE(4),this.haveLength(e)}haveLength(e){if(this._payloadLength&&this._opcode<8&&(this._totalPayloadLength+=this._payloadLength,this._totalPayloadLength>this._maxPayload&&this._maxPayload>0)){let r=this.createError(RangeError,"Max payload size exceeded",!1,1009,"WS_ERR_UNSUPPORTED_MESSAGE_LENGTH");e(r);return}this._masked?this._state=ot:this._state=ke}getMask(){if(this._bufferedBytes<4){this._loop=!1;return}this._mask=this.consume(4),this._state=ke}getData(e){let r=rt;if(this._payloadLength){if(this._bufferedBytes<this._payloadLength){this._loop=!1;return}r=this.consume(this._payloadLength),this._masked&&this._mask[0]|this._mask[1]|this._mask[2]|this._mask[3]&&lr(r,this._mask)}if(this._opcode>7){this.controlMessage(r,e);return}if(this._compressed){this._state=le,this.decompress(r,e);return}r.length&&(this._messageLength=this._totalPayloadLength,this._fragments.push(r)),this.dataMessage(e)}decompress(e,r){this._extensions[tt.extensionName].decompress(e,this._fin,(s,n)=>{if(s)return r(s);if(n.length){if(this._messageLength+=n.length,this._messageLength>this._maxPayload&&this._maxPayload>0){let o=this.createError(RangeError,"Max payload size exceeded",!1,1009,"WS_ERR_UNSUPPORTED_MESSAGE_LENGTH");r(o);return}this._fragments.push(n)}this.dataMessage(r),this._state===k&&this.startLoop(r)})}dataMessage(e){if(!this._fin){this._state=k;return}let r=this._messageLength,i=this._fragments;if(this._totalPayloadLength=0,this._messageLength=0,this._fragmented=0,this._fragments=[],this._opcode===2){let s;this._binaryType==="nodebuffer"?s=be(i,r):this._binaryType==="arraybuffer"?s=ar(be(i,r)):s=i,this._state===le||this._allowSynchronousEvents?(this.emit("message",s,!0),this._state=k):(this._state=fe,we(()=>{this.emit("message",s,!0),this._state=k,this.startLoop(e)}))}else{let s=be(i,r);if(!this._skipUTF8Validation&&!st(s)){let n=this.createError(Error,"invalid UTF-8 sequence",!0,1007,"WS_ERR_INVALID_UTF8");e(n);return}this._state===le||this._allowSynchronousEvents?(this.emit("message",s,!1),this._state=k):(this._state=fe,we(()=>{this.emit("message",s,!1),this._state=k,this.startLoop(e)}))}}controlMessage(e,r){if(this._opcode===8){if(e.length===0)this._loop=!1,this.emit("conclude",1005,rt),this.end();else{let i=e.readUInt16BE(0);if(!fr(i)){let n=this.createError(RangeError,`invalid status code ${i}`,!0,1002,"WS_ERR_INVALID_CLOSE_CODE");r(n);return}let s=new ae(e.buffer,e.byteOffset+2,e.length-2);if(!this._skipUTF8Validation&&!st(s)){let n=this.createError(Error,"invalid UTF-8 sequence",!0,1007,"WS_ERR_INVALID_UTF8");r(n);return}this._loop=!1,this.emit("conclude",i,s),this.end()}this._state=k;return}this._allowSynchronousEvents?(this.emit(this._opcode===9?"ping":"pong",e),this._state=k):(this._state=fe,we(()=>{this.emit(this._opcode===9?"ping":"pong",e),this._state=k,this.startLoop(r)}))}createError(e,r,i,s,n){this._loop=!1,this._errored=!0;let o=new e(i?`Invalid WebSocket frame: ${r}`:r);return Error.captureStackTrace(o,this.createError),o.code=n,o[nr]=s,o}};at.exports=Oe;function cr(t){hr.then(t).catch(dr)}function ur(t){throw t}function dr(t){process.nextTick(ur,t)}});var Ne=b((bs,ht)=>{"use strict";d();var{Duplex:vs}=m("stream"),{randomFillSync:_r}=m("crypto"),lt=z(),{EMPTY_BUFFER:pr}=P(),{isValidStatusCode:mr}=Y(),{mask:ft,toBuffer:W}=$(),O=Symbol("kByteLength"),gr=Buffer.alloc(4),Ce=class t{constructor(e,r,i){this._extensions=r||{},i&&(this._generateMask=i,this._maskBuffer=Buffer.alloc(4)),this._socket=e,this._firstFragment=!0,this._compress=!1,this._bufferedBytes=0,this._deflating=!1,this._queue=[]}static frame(e,r){let i,s=!1,n=2,o=!1;r.mask&&(i=r.maskBuffer||gr,r.generateMask?r.generateMask(i):_r(i,0,4),o=(i[0]|i[1]|i[2]|i[3])===0,n=6);let l;typeof e=="string"?(!r.mask||o)&&r[O]!==void 0?l=r[O]:(e=Buffer.from(e),l=e.length):(l=e.length,s=r.mask&&r.readOnly&&!o);let f=l;l>=65536?(n+=8,f=127):l>125&&(n+=2,f=126);let a=Buffer.allocUnsafe(s?l+n:n);return a[0]=r.fin?r.opcode|128:r.opcode,r.rsv1&&(a[0]|=64),a[1]=f,f===126?a.writeUInt16BE(l,2):f===127&&(a[2]=a[3]=0,a.writeUIntBE(l,4,6)),r.mask?(a[1]|=128,a[n-4]=i[0],a[n-3]=i[1],a[n-2]=i[2],a[n-1]=i[3],o?[a,e]:s?(ft(e,i,a,n,l),[a]):(ft(e,i,e,0,l),[a,e])):[a,e]}close(e,r,i,s){let n;if(e===void 0)n=pr;else{if(typeof e!="number"||!mr(e))throw new TypeError("First argument must be a valid error code number");if(r===void 0||!r.length)n=Buffer.allocUnsafe(2),n.writeUInt16BE(e,0);else{let l=Buffer.byteLength(r);if(l>123)throw new RangeError("The message must not be greater than 123 bytes");n=Buffer.allocUnsafe(2+l),n.writeUInt16BE(e,0),typeof r=="string"?n.write(r,2):n.set(r,2)}}let o={[O]:n.length,fin:!0,generateMask:this._generateMask,mask:i,maskBuffer:this._maskBuffer,opcode:8,readOnly:!1,rsv1:!1};this._deflating?this.enqueue([this.dispatch,n,!1,o,s]):this.sendFrame(t.frame(n,o),s)}ping(e,r,i){let s,n;if(typeof e=="string"?(s=Buffer.byteLength(e),n=!1):(e=W(e),s=e.length,n=W.readOnly),s>125)throw new RangeError("The data size must not be greater than 125 bytes");let o={[O]:s,fin:!0,generateMask:this._generateMask,mask:r,maskBuffer:this._maskBuffer,opcode:9,readOnly:n,rsv1:!1};this._deflating?this.enqueue([this.dispatch,e,!1,o,i]):this.sendFrame(t.frame(e,o),i)}pong(e,r,i){let s,n;if(typeof e=="string"?(s=Buffer.byteLength(e),n=!1):(e=W(e),s=e.length,n=W.readOnly),s>125)throw new RangeError("The data size must not be greater than 125 bytes");let o={[O]:s,fin:!0,generateMask:this._generateMask,mask:r,maskBuffer:this._maskBuffer,opcode:10,readOnly:n,rsv1:!1};this._deflating?this.enqueue([this.dispatch,e,!1,o,i]):this.sendFrame(t.frame(e,o),i)}send(e,r,i){let s=this._extensions[lt.extensionName],n=r.binary?2:1,o=r.compress,l,f;if(typeof e=="string"?(l=Buffer.byteLength(e),f=!1):(e=W(e),l=e.length,f=W.readOnly),this._firstFragment?(this._firstFragment=!1,o&&s&&s.params[s._isServer?"server_no_context_takeover":"client_no_context_takeover"]&&(o=l>=s._threshold),this._compress=o):(o=!1,n=0),r.fin&&(this._firstFragment=!0),s){let a={[O]:l,fin:r.fin,generateMask:this._generateMask,mask:r.mask,maskBuffer:this._maskBuffer,opcode:n,readOnly:f,rsv1:o};this._deflating?this.enqueue([this.dispatch,e,this._compress,a,i]):this.dispatch(e,this._compress,a,i)}else this.sendFrame(t.frame(e,{[O]:l,fin:r.fin,generateMask:this._generateMask,mask:r.mask,maskBuffer:this._maskBuffer,opcode:n,readOnly:f,rsv1:!1}),i)}dispatch(e,r,i,s){if(!r){this.sendFrame(t.frame(e,i),s);return}let n=this._extensions[lt.extensionName];this._bufferedBytes+=i[O],this._deflating=!0,n.compress(e,i.fin,(o,l)=>{if(this._socket.destroyed){let f=new Error("The socket was closed while data was being compressed");typeof s=="function"&&s(f);for(let a=0;a<this._queue.length;a++){let c=this._queue[a],h=c[c.length-1];typeof h=="function"&&h(f)}return}this._bufferedBytes-=i[O],this._deflating=!1,i.readOnly=!1,this.sendFrame(t.frame(l,i),s),this.dequeue()})}dequeue(){for(;!this._deflating&&this._queue.length;){let e=this._queue.shift();this._bufferedBytes-=e[3][O],Reflect.apply(e[0],this,e.slice(1))}}enqueue(e){this._bufferedBytes+=e[3][O],this._queue.push(e)}sendFrame(e,r){e.length===2?(this._socket.cork(),this._socket.write(e[0]),this._socket.write(e[1],r),this._socket.uncork()):this._socket.write(e[0],r)}};ht.exports=Ce});var xt=b((ks,yt)=>{"use strict";d();var{kForOnEventAttribute:K,kListener:Le}=P(),ct=Symbol("kCode"),ut=Symbol("kData"),dt=Symbol("kError"),_t=Symbol("kMessage"),pt=Symbol("kReason"),F=Symbol("kTarget"),mt=Symbol("kType"),gt=Symbol("kWasClean"),N=class{constructor(e){this[F]=null,this[mt]=e}get target(){return this[F]}get type(){return this[mt]}};Object.defineProperty(N.prototype,"target",{enumerable:!0});Object.defineProperty(N.prototype,"type",{enumerable:!0});var B=class extends N{constructor(e,r={}){super(e),this[ct]=r.code===void 0?0:r.code,this[pt]=r.reason===void 0?"":r.reason,this[gt]=r.wasClean===void 0?!1:r.wasClean}get code(){return this[ct]}get reason(){return this[pt]}get wasClean(){return this[gt]}};Object.defineProperty(B.prototype,"code",{enumerable:!0});Object.defineProperty(B.prototype,"reason",{enumerable:!0});Object.defineProperty(B.prototype,"wasClean",{enumerable:!0});var q=class extends N{constructor(e,r={}){super(e),this[dt]=r.error===void 0?null:r.error,this[_t]=r.message===void 0?"":r.message}get error(){return this[dt]}get message(){return this[_t]}};Object.defineProperty(q.prototype,"error",{enumerable:!0});Object.defineProperty(q.prototype,"message",{enumerable:!0});var X=class extends N{constructor(e,r={}){super(e),this[ut]=r.data===void 0?null:r.data}get data(){return this[ut]}};Object.defineProperty(X.prototype,"data",{enumerable:!0});var yr={addEventListener(t,e,r={}){for(let s of this.listeners(t))if(!r[K]&&s[Le]===e&&!s[K])return;let i;if(t==="message")i=function(n,o){let l=new X("message",{data:o?n:n.toString()});l[F]=this,he(e,this,l)};else if(t==="close")i=function(n,o){let l=new B("close",{code:n,reason:o.toString(),wasClean:this._closeFrameReceived&&this._closeFrameSent});l[F]=this,he(e,this,l)};else if(t==="error")i=function(n){let o=new q("error",{error:n,message:n.message});o[F]=this,he(e,this,o)};else if(t==="open")i=function(){let n=new N("open");n[F]=this,he(e,this,n)};else return;i[K]=!!r[K],i[Le]=e,r.once?this.once(t,i):this.on(t,i)},removeEventListener(t,e){for(let r of this.listeners(t))if(r[Le]===e&&!r[K]){this.removeListener(t,r);break}}};yt.exports={CloseEvent:B,ErrorEvent:q,Event:N,EventTarget:yr,MessageEvent:X};function he(t,e,r){typeof t=="object"&&t.handleEvent?t.handleEvent.call(t,r):t.call(e,r)}});var Pe=b((Ts,St)=>{"use strict";d();var{tokenChars:Z}=Y();function T(t,e,r){t[e]===void 0?t[e]=[r]:t[e].push(r)}function xr(t){let e=Object.create(null),r=Object.create(null),i=!1,s=!1,n=!1,o,l,f=-1,a=-1,c=-1,h=0;for(;h<t.length;h++)if(a=t.charCodeAt(h),o===void 0)if(c===-1&&Z[a]===1)f===-1&&(f=h);else if(h!==0&&(a===32||a===9))c===-1&&f!==-1&&(c=h);else if(a===59||a===44){if(f===-1)throw new SyntaxError(`Unexpected character at index ${h}`);c===-1&&(c=h);let x=t.slice(f,c);a===44?(T(e,x,r),r=Object.create(null)):o=x,f=c=-1}else throw new SyntaxError(`Unexpected character at index ${h}`);else if(l===void 0)if(c===-1&&Z[a]===1)f===-1&&(f=h);else if(a===32||a===9)c===-1&&f!==-1&&(c=h);else if(a===59||a===44){if(f===-1)throw new SyntaxError(`Unexpected character at index ${h}`);c===-1&&(c=h),T(r,t.slice(f,c),!0),a===44&&(T(e,o,r),r=Object.create(null),o=void 0),f=c=-1}else if(a===61&&f!==-1&&c===-1)l=t.slice(f,h),f=c=-1;else throw new SyntaxError(`Unexpected character at index ${h}`);else if(s){if(Z[a]!==1)throw new SyntaxError(`Unexpected character at index ${h}`);f===-1?f=h:i||(i=!0),s=!1}else if(n)if(Z[a]===1)f===-1&&(f=h);else if(a===34&&f!==-1)n=!1,c=h;else if(a===92)s=!0;else throw new SyntaxError(`Unexpected character at index ${h}`);else if(a===34&&t.charCodeAt(h-1)===61)n=!0;else if(c===-1&&Z[a]===1)f===-1&&(f=h);else if(f!==-1&&(a===32||a===9))c===-1&&(c=h);else if(a===59||a===44){if(f===-1)throw new SyntaxError(`Unexpected character at index ${h}`);c===-1&&(c=h);let x=t.slice(f,c);i&&(x=x.replace(/\\/g,""),i=!1),T(r,l,x),a===44&&(T(e,o,r),r=Object.create(null),o=void 0),l=void 0,f=c=-1}else throw new SyntaxError(`Unexpected character at index ${h}`);if(f===-1||n||a===32||a===9)throw new SyntaxError("Unexpected end of input");c===-1&&(c=h);let g=t.slice(f,c);return o===void 0?T(e,g,r):(l===void 0?T(r,g,!0):i?T(r,l,g.replace(/\\/g,"")):T(r,l,g),T(e,o,r)),e}function Sr(t){return Object.keys(t).map(e=>{let r=t[e];return Array.isArray(r)||(r=[r]),r.map(i=>[e].concat(Object.keys(i).map(s=>{let n=i[s];return Array.isArray(n)||(n=[n]),n.map(o=>o===!0?s:`${s}=${o}`).join("; ")})).join("; ")).join(", ")}).join(", ")}St.exports={format:Sr,parse:xr}});var Me=b((Ps,Pt)=>{"use strict";d();var Er=m("events"),vr=m("https"),br=m("http"),bt=m("net"),wr=m("tls"),{randomBytes:kr,createHash:Or}=m("crypto"),{Duplex:Ns,Readable:Ls}=m("stream"),{URL:Re}=m("url"),U=z(),Tr=Te(),Cr=Ne(),{BINARY_TYPES:Et,EMPTY_BUFFER:ce,GUID:Nr,kForOnEventAttribute:Ue,kListener:Lr,kStatusCode:Pr,kWebSocket:y,NOOP:wt}=P(),{EventTarget:{addEventListener:Rr,removeEventListener:Ur}}=xt(),{format:Ir,parse:Br}=Pe(),{toBuffer:Mr}=$(),Dr=30*1e3,kt=Symbol("kAborted"),Ie=[8,13],L=["CONNECTING","OPEN","CLOSING","CLOSED"],Ar=/^[!#$%&'*+\-.0-9A-Z^_`|a-z~]+$/,_=class t extends Er{constructor(e,r,i){super(),this._binaryType=Et[0],this._closeCode=1006,this._closeFrameReceived=!1,this._closeFrameSent=!1,this._closeMessage=ce,this._closeTimer=null,this._extensions={},this._paused=!1,this._protocol="",this._readyState=t.CONNECTING,this._receiver=null,this._sender=null,this._socket=null,e!==null?(this._bufferedAmount=0,this._isServer=!1,this._redirects=0,r===void 0?r=[]:Array.isArray(r)||(typeof r=="object"&&r!==null?(i=r,r=[]):r=[r]),Ot(this,e,r,i)):(this._autoPong=i.autoPong,this._isServer=!0)}get binaryType(){return this._binaryType}set binaryType(e){Et.includes(e)&&(this._binaryType=e,this._receiver&&(this._receiver._binaryType=e))}get bufferedAmount(){return this._socket?this._socket._writableState.length+this._sender._bufferedBytes:this._bufferedAmount}get extensions(){return Object.keys(this._extensions).join()}get isPaused(){return this._paused}get onclose(){return null}get onerror(){return null}get onopen(){return null}get onmessage(){return null}get protocol(){return this._protocol}get readyState(){return this._readyState}get url(){return this._url}setSocket(e,r,i){let s=new Tr({allowSynchronousEvents:i.allowSynchronousEvents,binaryType:this.binaryType,extensions:this._extensions,isServer:this._isServer,maxPayload:i.maxPayload,skipUTF8Validation:i.skipUTF8Validation});this._sender=new Cr(e,this._extensions,i.generateMask),this._receiver=s,this._socket=e,s[y]=this,e[y]=this,s.on("conclude",qr),s.on("drain",Gr),s.on("error",Vr),s.on("message",$r),s.on("ping",jr),s.on("pong",Hr),e.setTimeout&&e.setTimeout(0),e.setNoDelay&&e.setNoDelay(),r.length>0&&e.unshift(r),e.on("close",Ct),e.on("data",de),e.on("end",Nt),e.on("error",Lt),this._readyState=t.OPEN,this.emit("open")}emitClose(){if(!this._socket){this._readyState=t.CLOSED,this.emit("close",this._closeCode,this._closeMessage);return}this._extensions[U.extensionName]&&this._extensions[U.extensionName].cleanup(),this._receiver.removeAllListeners(),this._readyState=t.CLOSED,this.emit("close",this._closeCode,this._closeMessage)}close(e,r){if(this.readyState!==t.CLOSED){if(this.readyState===t.CONNECTING){let i="WebSocket was closed before the connection was established";w(this,this._req,i);return}if(this.readyState===t.CLOSING){this._closeFrameSent&&(this._closeFrameReceived||this._receiver._writableState.errorEmitted)&&this._socket.end();return}this._readyState=t.CLOSING,this._sender.close(e,r,!this._isServer,i=>{i||(this._closeFrameSent=!0,(this._closeFrameReceived||this._receiver._writableState.errorEmitted)&&this._socket.end())}),this._closeTimer=setTimeout(this._socket.destroy.bind(this._socket),Dr)}}pause(){this.readyState===t.CONNECTING||this.readyState===t.CLOSED||(this._paused=!0,this._socket.pause())}ping(e,r,i){if(this.readyState===t.CONNECTING)throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");if(typeof e=="function"?(i=e,e=r=void 0):typeof r=="function"&&(i=r,r=void 0),typeof e=="number"&&(e=e.toString()),this.readyState!==t.OPEN){Be(this,e,i);return}r===void 0&&(r=!this._isServer),this._sender.ping(e||ce,r,i)}pong(e,r,i){if(this.readyState===t.CONNECTING)throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");if(typeof e=="function"?(i=e,e=r=void 0):typeof r=="function"&&(i=r,r=void 0),typeof e=="number"&&(e=e.toString()),this.readyState!==t.OPEN){Be(this,e,i);return}r===void 0&&(r=!this._isServer),this._sender.pong(e||ce,r,i)}resume(){this.readyState===t.CONNECTING||this.readyState===t.CLOSED||(this._paused=!1,this._receiver._writableState.needDrain||this._socket.resume())}send(e,r,i){if(this.readyState===t.CONNECTING)throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");if(typeof r=="function"&&(i=r,r={}),typeof e=="number"&&(e=e.toString()),this.readyState!==t.OPEN){Be(this,e,i);return}let s={binary:typeof e!="string",mask:!this._isServer,compress:!0,fin:!0,...r};this._extensions[U.extensionName]||(s.compress=!1),this._sender.send(e||ce,s,i)}terminate(){if(this.readyState!==t.CLOSED){if(this.readyState===t.CONNECTING){let e="WebSocket was closed before the connection was established";w(this,this._req,e);return}this._socket&&(this._readyState=t.CLOSING,this._socket.destroy())}}};Object.defineProperty(_,"CONNECTING",{enumerable:!0,value:L.indexOf("CONNECTING")});Object.defineProperty(_.prototype,"CONNECTING",{enumerable:!0,value:L.indexOf("CONNECTING")});Object.defineProperty(_,"OPEN",{enumerable:!0,value:L.indexOf("OPEN")});Object.defineProperty(_.prototype,"OPEN",{enumerable:!0,value:L.indexOf("OPEN")});Object.defineProperty(_,"CLOSING",{enumerable:!0,value:L.indexOf("CLOSING")});Object.defineProperty(_.prototype,"CLOSING",{enumerable:!0,value:L.indexOf("CLOSING")});Object.defineProperty(_,"CLOSED",{enumerable:!0,value:L.indexOf("CLOSED")});Object.defineProperty(_.prototype,"CLOSED",{enumerable:!0,value:L.indexOf("CLOSED")});["binaryType","bufferedAmount","extensions","isPaused","protocol","readyState","url"].forEach(t=>{Object.defineProperty(_.prototype,t,{enumerable:!0})});["open","error","close","message"].forEach(t=>{Object.defineProperty(_.prototype,`on${t}`,{enumerable:!0,get(){for(let e of this.listeners(t))if(e[Ue])return e[Lr];return null},set(e){for(let r of this.listeners(t))if(r[Ue]){this.removeListener(t,r);break}typeof e=="function"&&this.addEventListener(t,e,{[Ue]:!0})}})});_.prototype.addEventListener=Rr;_.prototype.removeEventListener=Ur;Pt.exports=_;function Ot(t,e,r,i){let s={allowSynchronousEvents:!1,autoPong:!0,protocolVersion:Ie[1],maxPayload:104857600,skipUTF8Validation:!1,perMessageDeflate:!0,followRedirects:!1,maxRedirects:10,...i,createConnection:void 0,socketPath:void 0,hostname:void 0,protocol:void 0,timeout:void 0,method:"GET",host:void 0,path:void 0,port:void 0};if(t._autoPong=s.autoPong,!Ie.includes(s.protocolVersion))throw new RangeError(`Unsupported protocol version: ${s.protocolVersion} (supported versions: ${Ie.join(", ")})`);let n;if(e instanceof Re)n=e;else try{n=new Re(e)}catch{throw new SyntaxError(`Invalid URL: ${e}`)}n.protocol==="http:"?n.protocol="ws:":n.protocol==="https:"&&(n.protocol="wss:"),t._url=n.href;let o=n.protocol==="wss:",l=n.protocol==="ws+unix:",f;if(n.protocol!=="ws:"&&!o&&!l?f=`The URL's protocol must be one of "ws:", "wss:", "http:", "https", or "ws+unix:"`:l&&!n.pathname?f="The URL's pathname is empty":n.hash&&(f="The URL contains a fragment identifier"),f){let u=new SyntaxError(f);if(t._redirects===0)throw u;ue(t,u);return}let a=o?443:80,c=kr(16).toString("base64"),h=o?vr.request:br.request,g=new Set,x;if(s.createConnection=o?Fr:Wr,s.defaultPort=s.defaultPort||a,s.port=n.port||a,s.host=n.hostname.startsWith("[")?n.hostname.slice(1,-1):n.hostname,s.headers={...s.headers,"Sec-WebSocket-Version":s.protocolVersion,"Sec-WebSocket-Key":c,Connection:"Upgrade",Upgrade:"websocket"},s.path=n.pathname+n.search,s.timeout=s.handshakeTimeout,s.perMessageDeflate&&(x=new U(s.perMessageDeflate!==!0?s.perMessageDeflate:{},!1,s.maxPayload),s.headers["Sec-WebSocket-Extensions"]=Ir({[U.extensionName]:x.offer()})),r.length){for(let u of r){if(typeof u!="string"||!Ar.test(u)||g.has(u))throw new SyntaxError("An invalid or duplicated subprotocol was specified");g.add(u)}s.headers["Sec-WebSocket-Protocol"]=r.join(",")}if(s.origin&&(s.protocolVersion<13?s.headers["Sec-WebSocket-Origin"]=s.origin:s.headers.Origin=s.origin),(n.username||n.password)&&(s.auth=`${n.username}:${n.password}`),l){let u=s.path.split(":");s.socketPath=u[0],s.path=u[1]}let p;if(s.followRedirects){if(t._redirects===0){t._originalIpc=l,t._originalSecure=o,t._originalHostOrSocketPath=l?s.socketPath:n.host;let u=i&&i.headers;if(i={...i,headers:{}},u)for(let[v,A]of Object.entries(u))i.headers[v.toLowerCase()]=A}else if(t.listenerCount("redirect")===0){let u=l?t._originalIpc?s.socketPath===t._originalHostOrSocketPath:!1:t._originalIpc?!1:n.host===t._originalHostOrSocketPath;(!u||t._originalSecure&&!o)&&(delete s.headers.authorization,delete s.headers.cookie,u||delete s.headers.host,s.auth=void 0)}s.auth&&!i.headers.authorization&&(i.headers.authorization="Basic "+Buffer.from(s.auth).toString("base64")),p=t._req=h(s),t._redirects&&t.emit("redirect",t.url,p)}else p=t._req=h(s);s.timeout&&p.on("timeout",()=>{w(t,p,"Opening handshake has timed out")}),p.on("error",u=>{p===null||p[kt]||(p=t._req=null,ue(t,u))}),p.on("response",u=>{let v=u.headers.location,A=u.statusCode;if(v&&s.followRedirects&&A>=300&&A<400){if(++t._redirects>s.maxRedirects){w(t,p,"Maximum redirects exceeded");return}p.abort();let te;try{te=new Re(v,e)}catch{let I=new SyntaxError(`Invalid URL: ${v}`);ue(t,I);return}Ot(t,te,r,i)}else t.emit("unexpected-response",p,u)||w(t,p,`Unexpected server response: ${u.statusCode}`)}),p.on("upgrade",(u,v,A)=>{if(t.emit("upgrade",u),t.readyState!==_.CONNECTING)return;if(p=t._req=null,u.headers.upgrade.toLowerCase()!=="websocket"){w(t,v,"Invalid Upgrade header");return}let te=Or("sha1").update(c+Nr).digest("base64");if(u.headers["sec-websocket-accept"]!==te){w(t,v,"Invalid Sec-WebSocket-Accept header");return}let G=u.headers["sec-websocket-protocol"],I;if(G!==void 0?g.size?g.has(G)||(I="Server sent an invalid subprotocol"):I="Server sent a subprotocol but none was requested":g.size&&(I="Server sent no subprotocol"),I){w(t,v,I);return}G&&(t._protocol=G);let Ae=u.headers["sec-websocket-extensions"];if(Ae!==void 0){if(!x){w(t,v,"Server sent a Sec-WebSocket-Extensions header but no extension was requested");return}let pe;try{pe=Br(Ae)}catch{w(t,v,"Invalid Sec-WebSocket-Extensions header");return}let We=Object.keys(pe);if(We.length!==1||We[0]!==U.extensionName){w(t,v,"Server indicated an extension that was not requested");return}try{x.accept(pe[U.extensionName])}catch{w(t,v,"Invalid Sec-WebSocket-Extensions header");return}t._extensions[U.extensionName]=x}t.setSocket(v,A,{allowSynchronousEvents:s.allowSynchronousEvents,generateMask:s.generateMask,maxPayload:s.maxPayload,skipUTF8Validation:s.skipUTF8Validation})}),s.finishRequest?s.finishRequest(p,t):p.end()}function ue(t,e){t._readyState=_.CLOSING,t.emit("error",e),t.emitClose()}function Wr(t){return t.path=t.socketPath,bt.connect(t)}function Fr(t){return t.path=void 0,!t.servername&&t.servername!==""&&(t.servername=bt.isIP(t.host)?"":t.host),wr.connect(t)}function w(t,e,r){t._readyState=_.CLOSING;let i=new Error(r);Error.captureStackTrace(i,w),e.setHeader?(e[kt]=!0,e.abort(),e.socket&&!e.socket.destroyed&&e.socket.destroy(),process.nextTick(ue,t,i)):(e.destroy(i),e.once("error",t.emit.bind(t,"error")),e.once("close",t.emitClose.bind(t)))}function Be(t,e,r){if(e){let i=Mr(e).length;t._socket?t._sender._bufferedBytes+=i:t._bufferedAmount+=i}if(r){let i=new Error(`WebSocket is not open: readyState ${t.readyState} (${L[t.readyState]})`);process.nextTick(r,i)}}function qr(t,e){let r=this[y];r._closeFrameReceived=!0,r._closeMessage=e,r._closeCode=t,r._socket[y]!==void 0&&(r._socket.removeListener("data",de),process.nextTick(Tt,r._socket),t===1005?r.close():r.close(t,e))}function Gr(){let t=this[y];t.isPaused||t._socket.resume()}function Vr(t){let e=this[y];e._socket[y]!==void 0&&(e._socket.removeListener("data",de),process.nextTick(Tt,e._socket),e.close(t[Pr])),e.emit("error",t)}function vt(){this[y].emitClose()}function $r(t,e){this[y].emit("message",t,e)}function jr(t){let e=this[y];e._autoPong&&e.pong(t,!this._isServer,wt),e.emit("ping",t)}function Hr(t){this[y].emit("pong",t)}function Tt(t){t.resume()}function Ct(){let t=this[y];this.removeListener("close",Ct),this.removeListener("data",de),this.removeListener("end",Nt),t._readyState=_.CLOSING;let e;!this._readableState.endEmitted&&!t._closeFrameReceived&&!t._receiver._writableState.errorEmitted&&(e=t._socket.read())!==null&&t._receiver.write(e),t._receiver.end(),this[y]=void 0,clearTimeout(t._closeTimer),t._receiver._writableState.finished||t._receiver._writableState.errorEmitted?t.emitClose():(t._receiver.on("error",vt),t._receiver.on("finish",vt))}function de(t){this[y]._receiver.write(t)||this.pause()}function Nt(){let t=this[y];t._readyState=_.CLOSING,t._receiver.end(),this.end()}function Lt(){let t=this[y];this.removeListener("error",Lt),this.on("error",wt),t&&(t._readyState=_.CLOSING,this.destroy())}});var Ut=b((Us,Rt)=>{"use strict";d();var{tokenChars:zr}=Y();function Yr(t){let e=new Set,r=-1,i=-1,s=0;for(s;s<t.length;s++){let o=t.charCodeAt(s);if(i===-1&&zr[o]===1)r===-1&&(r=s);else if(s!==0&&(o===32||o===9))i===-1&&r!==-1&&(i=s);else if(o===44){if(r===-1)throw new SyntaxError(`Unexpected character at index ${s}`);i===-1&&(i=s);let l=t.slice(r,i);if(e.has(l))throw new SyntaxError(`The "${l}" subprotocol is duplicated`);e.add(l),r=i=-1}else throw new SyntaxError(`Unexpected character at index ${s}`)}if(r===-1||i!==-1)throw new SyntaxError("Unexpected end of input");let n=t.slice(r,s);if(e.has(n))throw new SyntaxError(`The "${n}" subprotocol is duplicated`);return e.add(n),e}Rt.exports={parse:Yr}});var Ft=b((Ms,Wt)=>{"use strict";d();var Kr=m("events"),_e=m("http"),{Duplex:Bs}=m("stream"),{createHash:Xr}=m("crypto"),It=Pe(),M=z(),Zr=Ut(),Qr=Me(),{GUID:Jr,kWebSocket:es}=P(),ts=/^[+/0-9A-Za-z]{22}==$/,Bt=0,Mt=1,At=2,De=class extends Kr{constructor(e,r){if(super(),e={allowSynchronousEvents:!1,autoPong:!0,maxPayload:100*1024*1024,skipUTF8Validation:!1,perMessageDeflate:!1,handleProtocols:null,clientTracking:!0,verifyClient:null,noServer:!1,backlog:null,server:null,host:null,path:null,port:null,WebSocket:Qr,...e},e.port==null&&!e.server&&!e.noServer||e.port!=null&&(e.server||e.noServer)||e.server&&e.noServer)throw new TypeError('One and only one of the "port", "server", or "noServer" options must be specified');if(e.port!=null?(this._server=_e.createServer((i,s)=>{let n=_e.STATUS_CODES[426];s.writeHead(426,{"Content-Length":n.length,"Content-Type":"text/plain"}),s.end(n)}),this._server.listen(e.port,e.host,e.backlog,r)):e.server&&(this._server=e.server),this._server){let i=this.emit.bind(this,"connection");this._removeListeners=rs(this._server,{listening:this.emit.bind(this,"listening"),error:this.emit.bind(this,"error"),upgrade:(s,n,o)=>{this.handleUpgrade(s,n,o,i)}})}e.perMessageDeflate===!0&&(e.perMessageDeflate={}),e.clientTracking&&(this.clients=new Set,this._shouldEmitClose=!1),this.options=e,this._state=Bt}address(){if(this.options.noServer)throw new Error('The server is operating in "noServer" mode');return this._server?this._server.address():null}close(e){if(this._state===At){e&&this.once("close",()=>{e(new Error("The server is not running"))}),process.nextTick(Q,this);return}if(e&&this.once("close",e),this._state!==Mt)if(this._state=Mt,this.options.noServer||this.options.server)this._server&&(this._removeListeners(),this._removeListeners=this._server=null),this.clients?this.clients.size?this._shouldEmitClose=!0:process.nextTick(Q,this):process.nextTick(Q,this);else{let r=this._server;this._removeListeners(),this._removeListeners=this._server=null,r.close(()=>{Q(this)})}}shouldHandle(e){if(this.options.path){let r=e.url.indexOf("?");if((r!==-1?e.url.slice(0,r):e.url)!==this.options.path)return!1}return!0}handleUpgrade(e,r,i,s){r.on("error",Dt);let n=e.headers["sec-websocket-key"],o=+e.headers["sec-websocket-version"];if(e.method!=="GET"){D(this,e,r,405,"Invalid HTTP method");return}if(e.headers.upgrade.toLowerCase()!=="websocket"){D(this,e,r,400,"Invalid Upgrade header");return}if(!n||!ts.test(n)){D(this,e,r,400,"Missing or invalid Sec-WebSocket-Key header");return}if(o!==8&&o!==13){D(this,e,r,400,"Missing or invalid Sec-WebSocket-Version header");return}if(!this.shouldHandle(e)){J(r,400);return}let l=e.headers["sec-websocket-protocol"],f=new Set;if(l!==void 0)try{f=Zr.parse(l)}catch{D(this,e,r,400,"Invalid Sec-WebSocket-Protocol header");return}let a=e.headers["sec-websocket-extensions"],c={};if(this.options.perMessageDeflate&&a!==void 0){let h=new M(this.options.perMessageDeflate,!0,this.options.maxPayload);try{let g=It.parse(a);g[M.extensionName]&&(h.accept(g[M.extensionName]),c[M.extensionName]=h)}catch{D(this,e,r,400,"Invalid or unacceptable Sec-WebSocket-Extensions header");return}}if(this.options.verifyClient){let h={origin:e.headers[`${o===8?"sec-websocket-origin":"origin"}`],secure:!!(e.socket.authorized||e.socket.encrypted),req:e};if(this.options.verifyClient.length===2){this.options.verifyClient(h,(g,x,p,u)=>{if(!g)return J(r,x||401,p,u);this.completeUpgrade(c,n,f,e,r,i,s)});return}if(!this.options.verifyClient(h))return J(r,401)}this.completeUpgrade(c,n,f,e,r,i,s)}completeUpgrade(e,r,i,s,n,o,l){if(!n.readable||!n.writable)return n.destroy();if(n[es])throw new Error("server.handleUpgrade() was called more than once with the same socket, possibly due to a misconfiguration");if(this._state>Bt)return J(n,503);let a=["HTTP/1.1 101 Switching Protocols","Upgrade: websocket","Connection: Upgrade",`Sec-WebSocket-Accept: ${Xr("sha1").update(r+Jr).digest("base64")}`],c=new this.options.WebSocket(null,void 0,this.options);if(i.size){let h=this.options.handleProtocols?this.options.handleProtocols(i,s):i.values().next().value;h&&(a.push(`Sec-WebSocket-Protocol: ${h}`),c._protocol=h)}if(e[M.extensionName]){let h=e[M.extensionName].params,g=It.format({[M.extensionName]:[h]});a.push(`Sec-WebSocket-Extensions: ${g}`),c._extensions=e}this.emit("headers",a,s),n.write(a.concat(`\r
4
+ `).join(`\r
5
+ `)),n.removeListener("error",Dt),c.setSocket(n,o,{allowSynchronousEvents:this.options.allowSynchronousEvents,maxPayload:this.options.maxPayload,skipUTF8Validation:this.options.skipUTF8Validation}),this.clients&&(this.clients.add(c),c.on("close",()=>{this.clients.delete(c),this._shouldEmitClose&&!this.clients.size&&process.nextTick(Q,this)})),l(c,s)}};Wt.exports=De;function rs(t,e){for(let r of Object.keys(e))t.on(r,e[r]);return function(){for(let i of Object.keys(e))t.removeListener(i,e[i])}}function Q(t){t._state=At,t.emit("close")}function Dt(){this.destroy()}function J(t,e,r,i){r=r||_e.STATUS_CODES[e],i={Connection:"close","Content-Type":"text/html","Content-Length":Buffer.byteLength(r),...i},t.once("finish",t.destroy),t.end(`HTTP/1.1 ${e} ${_e.STATUS_CODES[e]}\r
6
+ `+Object.keys(i).map(s=>`${s}: ${i[s]}`).join(`\r
7
+ `)+`\r
8
+ \r
9
+ `+r)}function D(t,e,r,i,s){if(t.listenerCount("wsClientError")){let n=new Error(s);Error.captureStackTrace(n,D),t.emit("wsClientError",n,r,e)}else J(r,i,s)}});d();d();d();var ss=V(Ve(),1),is=V(Te(),1),ns=V(Ne(),1),qt=V(Me(),1),os=V(Ft(),1);var Gt=qt.default;var ee=global;ee.WebSocket||(ee.WebSocket=Gt);ee.window||(ee.window=global);ee.window.__REACT_DEVTOOLS_COMPONENT_FILTERS__=[{type:1,value:7,isEnabled:!0},{type:2,value:"InternalApp",isEnabled:!0,isValid:!0},{type:2,value:"InternalAppContext",isEnabled:!0,isValid:!0},{type:2,value:"InternalStdoutContext",isEnabled:!0,isValid:!0},{type:2,value:"InternalStderrContext",isEnabled:!0,isValid:!0},{type:2,value:"InternalStdinContext",isEnabled:!0,isValid:!0},{type:2,value:"InternalFocusContext",isEnabled:!0,isValid:!0}];import as from"react-devtools-core";as.connectToDevTools();
10
+ //# sourceMappingURL=devtools-SH22YG5Z.js.map