@wix/cli 1.1.56 → 1.1.58

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 (116) hide show
  1. package/build/{DevCommand-UW724BPF.js → DevCommand-32POU3TX.js} +13 -14
  2. package/build/{DevCommand-UW724BPF.js.map → DevCommand-32POU3TX.js.map} +1 -1
  3. package/build/{DevCommand-KMBUXAPT.js → DevCommand-WT3DJON6.js} +76 -68
  4. package/build/DevCommand-WT3DJON6.js.map +1 -0
  5. package/build/{LoginCommand-O4FKLPWK.js → LoginCommand-WRCKEWCE.js} +11 -11
  6. package/build/{LogoutCommand-KMWHOQSC.js → LogoutCommand-BYWH527O.js} +7 -7
  7. package/build/{WhoamiCommand-VV6U2M2K.js → WhoamiCommand-WKXZCRSJ.js} +4 -4
  8. package/build/{chunk-VO6LL5ZT.js → chunk-24HYCAK2.js} +2 -2
  9. package/build/{chunk-GOTVWNXA.js → chunk-3KIPOGXI.js} +4 -4
  10. package/build/{chunk-7M5ZGODY.js → chunk-3R4OZ46Z.js} +2 -2
  11. package/build/{chunk-3TWSKTSG.js → chunk-4S2ZMDZM.js} +6 -6
  12. package/build/{chunk-NEB7POM3.js → chunk-53UCEZFU.js} +2 -1
  13. package/build/chunk-53UCEZFU.js.map +1 -0
  14. package/build/{chunk-3UYDT5ZT.js → chunk-5EXKEGN6.js} +399 -80
  15. package/build/chunk-5EXKEGN6.js.map +1 -0
  16. package/build/{chunk-ZS2473DH.js → chunk-6F2RSXHN.js} +9 -314
  17. package/build/chunk-6F2RSXHN.js.map +1 -0
  18. package/build/{chunk-5LKWJCKW.js → chunk-BQ6AW6QJ.js} +5 -5
  19. package/build/{chunk-GH2E2TEQ.js → chunk-CQHI53JJ.js} +54 -7
  20. package/build/chunk-CQHI53JJ.js.map +1 -0
  21. package/build/chunk-IFQQVSBK.js +916 -0
  22. package/build/chunk-IFQQVSBK.js.map +1 -0
  23. package/build/{chunk-66PG2F54.js → chunk-IRR7PD4K.js} +3 -3
  24. package/build/{chunk-GXCSUYZU.js → chunk-JMUOY2KY.js} +3 -4
  25. package/build/chunk-JMUOY2KY.js.map +1 -0
  26. package/build/{chunk-CPDU7PKL.js → chunk-KLWKSELB.js} +5 -5
  27. package/build/{chunk-ZPPKJBJT.js → chunk-KOCJZPLK.js} +2 -2
  28. package/build/{chunk-7IO7SVY6.js → chunk-KT54TL6D.js} +5 -5
  29. package/build/{chunk-5EDABLPV.js → chunk-LC2NSYSB.js} +12 -17
  30. package/build/chunk-LC2NSYSB.js.map +1 -0
  31. package/build/{chunk-M4NGCYAG.js → chunk-LOJ4G3VD.js} +2 -2
  32. package/build/{chunk-DJCIQS36.js → chunk-MPSJ2YGQ.js} +3 -3
  33. package/build/{chunk-DYIK4YH5.js → chunk-NK4U57KS.js} +4 -4
  34. package/build/{chunk-5PNAZQGU.js → chunk-OIH7DI4E.js} +30 -42
  35. package/build/{chunk-5PNAZQGU.js.map → chunk-OIH7DI4E.js.map} +1 -1
  36. package/build/{chunk-GPZPN63O.js → chunk-Q5WMVJRK.js} +2 -2
  37. package/build/{chunk-XKFU2BID.js → chunk-RJBLVNKS.js} +6 -6
  38. package/build/{chunk-7DJVGV7H.js → chunk-UQXJQCG3.js} +2 -2
  39. package/build/{chunk-7LHODQ3J.js → chunk-WRMFR7CU.js} +6 -6
  40. package/build/{chunk-VDSGAA3D.js → chunk-WYEQRRT2.js} +24 -3
  41. package/build/chunk-WYEQRRT2.js.map +1 -0
  42. package/build/{chunk-JH6KT73W.js → chunk-WZEZZAE4.js} +5 -5
  43. package/build/{chunk-AMEYK6DR.js → chunk-X7GWN4JO.js} +2 -2
  44. package/build/{chunk-VEDYEGSD.js → chunk-ZOWPPCOU.js} +3 -3
  45. package/build/{dev-SOVLJFOU.js → dev-M7P6GT7S.js} +24 -86
  46. package/build/dev-M7P6GT7S.js.map +1 -0
  47. package/build/index.js +376 -27
  48. package/build/index.js.map +1 -1
  49. package/build/{install-YBL67KU7.js → install-SX7OQQGW.js} +17 -19
  50. package/build/{install-YBL67KU7.js.map → install-SX7OQQGW.js.map} +1 -1
  51. package/build/{preview-H3FKN7RS.js → preview-7WGCS2DK.js} +18 -20
  52. package/build/{preview-H3FKN7RS.js.map → preview-7WGCS2DK.js.map} +1 -1
  53. package/build/{publish-3Q3XWGUY.js → publish-U7Y5KNMR.js} +18 -20
  54. package/build/{publish-3Q3XWGUY.js.map → publish-U7Y5KNMR.js.map} +1 -1
  55. package/build/{render-command-3PQMENAU.js → render-command-6GZ7MNO5.js} +11 -11
  56. package/build/{render-command-BCSOTFBB.js → render-command-P4B7B4WB.js} +11 -11
  57. package/build/{render-command-GEZFKQLP.js → render-command-TJTVTOHT.js} +10 -10
  58. package/build/{run-command-YNCZR65O.js → run-command-ZLQ3PKCS.js} +8 -8
  59. package/build/{src-DMDBLATB.js → src-BMV74WCO.js} +3 -5
  60. package/build/{src-QC4COOON.js → src-I6QIZSAX.js} +6 -6
  61. package/build/{src-MLQVMO4G.js → src-JGFI4IQH.js} +17 -17
  62. package/build/{src-QML4K6HI.js → src-Q3X5WF65.js} +5 -5
  63. package/build/{src-NRGIGSNZ.js → src-WBDWTVY2.js} +7 -7
  64. package/build/{src-ZB5ULVF6.js → src-WKNIYADZ.js} +6 -6
  65. package/build/{sync-types-2Z3FKMXE.js → sync-types-6XPVFG3C.js} +13 -14
  66. package/build/{uninstall-PUGTRDQA.js → uninstall-L6JBTJHG.js} +16 -18
  67. package/build/{uninstall-PUGTRDQA.js.map → uninstall-L6JBTJHG.js.map} +1 -1
  68. package/package.json +2 -3
  69. package/build/DevCommand-KMBUXAPT.js.map +0 -1
  70. package/build/chunk-3UYDT5ZT.js.map +0 -1
  71. package/build/chunk-5EDABLPV.js.map +0 -1
  72. package/build/chunk-7AAFANVT.js +0 -3525
  73. package/build/chunk-7AAFANVT.js.map +0 -1
  74. package/build/chunk-CVEC37T5.js +0 -62
  75. package/build/chunk-CVEC37T5.js.map +0 -1
  76. package/build/chunk-GH2E2TEQ.js.map +0 -1
  77. package/build/chunk-GXCSUYZU.js.map +0 -1
  78. package/build/chunk-NEB7POM3.js.map +0 -1
  79. package/build/chunk-QLGRZABP.js +0 -363
  80. package/build/chunk-QLGRZABP.js.map +0 -1
  81. package/build/chunk-VDSGAA3D.js.map +0 -1
  82. package/build/chunk-ZS2473DH.js.map +0 -1
  83. package/build/dev-SOVLJFOU.js.map +0 -1
  84. /package/build/{LoginCommand-O4FKLPWK.js.map → LoginCommand-WRCKEWCE.js.map} +0 -0
  85. /package/build/{LogoutCommand-KMWHOQSC.js.map → LogoutCommand-BYWH527O.js.map} +0 -0
  86. /package/build/{WhoamiCommand-VV6U2M2K.js.map → WhoamiCommand-WKXZCRSJ.js.map} +0 -0
  87. /package/build/{chunk-VO6LL5ZT.js.map → chunk-24HYCAK2.js.map} +0 -0
  88. /package/build/{chunk-GOTVWNXA.js.map → chunk-3KIPOGXI.js.map} +0 -0
  89. /package/build/{chunk-7M5ZGODY.js.map → chunk-3R4OZ46Z.js.map} +0 -0
  90. /package/build/{chunk-3TWSKTSG.js.map → chunk-4S2ZMDZM.js.map} +0 -0
  91. /package/build/{chunk-5LKWJCKW.js.map → chunk-BQ6AW6QJ.js.map} +0 -0
  92. /package/build/{chunk-66PG2F54.js.map → chunk-IRR7PD4K.js.map} +0 -0
  93. /package/build/{chunk-CPDU7PKL.js.map → chunk-KLWKSELB.js.map} +0 -0
  94. /package/build/{chunk-ZPPKJBJT.js.map → chunk-KOCJZPLK.js.map} +0 -0
  95. /package/build/{chunk-7IO7SVY6.js.map → chunk-KT54TL6D.js.map} +0 -0
  96. /package/build/{chunk-M4NGCYAG.js.map → chunk-LOJ4G3VD.js.map} +0 -0
  97. /package/build/{chunk-DJCIQS36.js.map → chunk-MPSJ2YGQ.js.map} +0 -0
  98. /package/build/{chunk-DYIK4YH5.js.map → chunk-NK4U57KS.js.map} +0 -0
  99. /package/build/{chunk-GPZPN63O.js.map → chunk-Q5WMVJRK.js.map} +0 -0
  100. /package/build/{chunk-XKFU2BID.js.map → chunk-RJBLVNKS.js.map} +0 -0
  101. /package/build/{chunk-7DJVGV7H.js.map → chunk-UQXJQCG3.js.map} +0 -0
  102. /package/build/{chunk-7LHODQ3J.js.map → chunk-WRMFR7CU.js.map} +0 -0
  103. /package/build/{chunk-JH6KT73W.js.map → chunk-WZEZZAE4.js.map} +0 -0
  104. /package/build/{chunk-AMEYK6DR.js.map → chunk-X7GWN4JO.js.map} +0 -0
  105. /package/build/{chunk-VEDYEGSD.js.map → chunk-ZOWPPCOU.js.map} +0 -0
  106. /package/build/{render-command-3PQMENAU.js.map → render-command-6GZ7MNO5.js.map} +0 -0
  107. /package/build/{render-command-BCSOTFBB.js.map → render-command-P4B7B4WB.js.map} +0 -0
  108. /package/build/{render-command-GEZFKQLP.js.map → render-command-TJTVTOHT.js.map} +0 -0
  109. /package/build/{run-command-YNCZR65O.js.map → run-command-ZLQ3PKCS.js.map} +0 -0
  110. /package/build/{src-DMDBLATB.js.map → src-BMV74WCO.js.map} +0 -0
  111. /package/build/{src-QC4COOON.js.map → src-I6QIZSAX.js.map} +0 -0
  112. /package/build/{src-MLQVMO4G.js.map → src-JGFI4IQH.js.map} +0 -0
  113. /package/build/{src-NRGIGSNZ.js.map → src-Q3X5WF65.js.map} +0 -0
  114. /package/build/{src-QML4K6HI.js.map → src-WBDWTVY2.js.map} +0 -0
  115. /package/build/{src-ZB5ULVF6.js.map → src-WKNIYADZ.js.map} +0 -0
  116. /package/build/{sync-types-2Z3FKMXE.js.map → sync-types-6XPVFG3C.js.map} +0 -0
@@ -2,44 +2,43 @@ import { createRequire as _createRequire } from 'node:module';
2
2
  const require = _createRequire(import.meta.url);
3
3
  import {
4
4
  useVeloClient
5
- } from "./chunk-7LHODQ3J.js";
6
- import "./chunk-GPZPN63O.js";
7
- import "./chunk-AMEYK6DR.js";
5
+ } from "./chunk-WRMFR7CU.js";
6
+ import "./chunk-Q5WMVJRK.js";
7
+ import "./chunk-X7GWN4JO.js";
8
8
  import {
9
9
  syncLatestTypes
10
- } from "./chunk-GH2E2TEQ.js";
10
+ } from "./chunk-CQHI53JJ.js";
11
11
  import "./chunk-OJHDGJWP.js";
12
12
  import "./chunk-OUBPZBBH.js";
13
- import "./chunk-CVEC37T5.js";
14
13
  import "./chunk-YXFEXGAH.js";
15
14
  import {
16
15
  useProjectModel
17
- } from "./chunk-CPDU7PKL.js";
16
+ } from "./chunk-KLWKSELB.js";
18
17
  import {
19
18
  pRetry,
20
19
  useAuth
21
- } from "./chunk-JH6KT73W.js";
22
- import "./chunk-5PNAZQGU.js";
20
+ } from "./chunk-WZEZZAE4.js";
21
+ import "./chunk-OIH7DI4E.js";
23
22
  import {
24
23
  Spinner,
25
24
  Trans,
26
25
  require_react,
27
26
  useAsync,
28
27
  useTranslation
29
- } from "./chunk-3UYDT5ZT.js";
28
+ } from "./chunk-5EXKEGN6.js";
30
29
  import "./chunk-W32TRG4E.js";
31
30
  import "./chunk-W423UTD3.js";
32
- import "./chunk-ZS2473DH.js";
31
+ import "./chunk-6F2RSXHN.js";
33
32
  import "./chunk-YU54OBFT.js";
34
33
  import "./chunk-XMTHMR2B.js";
35
- import "./chunk-M4NGCYAG.js";
34
+ import "./chunk-LOJ4G3VD.js";
36
35
  import {
37
36
  outputDir,
38
37
  outputFile
39
- } from "./chunk-VO6LL5ZT.js";
38
+ } from "./chunk-24HYCAK2.js";
40
39
  import {
41
40
  getTestOverrides
42
- } from "./chunk-NEB7POM3.js";
41
+ } from "./chunk-53UCEZFU.js";
43
42
  import {
44
43
  CliError,
45
44
  CliErrorCode,
@@ -170,4 +169,4 @@ var DevCommand = () => {
170
169
  export {
171
170
  DevCommand
172
171
  };
173
- //# sourceMappingURL=DevCommand-UW724BPF.js.map
172
+ //# sourceMappingURL=DevCommand-32POU3TX.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../cli-site-live/src/components/DevCommand/DevCommand.tsx","../../cli-site-live/src/components/DevCommand/InitializingState.tsx","../../cli-site-live/src/velo-types-sync-client/useVeloTypesSyncClient.ts","../../cli-site-live/src/velo-types-sync-client/velo-types-sync-client.ts","../../cli-site-live/src/project-files-service/useProjectFilesService.ts","../../cli-site-live/src/project-files-service/project-files-service.ts","../../cli-site-live/src/components/DevCommand/ReadyState.tsx"],"sourcesContent":["import React from 'react';\nimport type { FC } from 'react';\nimport { InitializingState } from './InitializingState.js';\nimport { ReadyState } from './ReadyState.js';\n\nexport const DevCommand: FC = () => {\n return (\n <InitializingState>\n <ReadyState />\n </InitializingState>\n );\n};\n","import type { FC, PropsWithChildren } from 'react';\nimport React from 'react';\nimport { match } from 'variant';\nimport { Spinner, useAsync } from '@wix/cli-ui-kit';\nimport { useTranslation } from '@wix/cli-i18n';\nimport { useVeloClient } from '@wix/velo-client';\nimport { useVeloTypesSyncClient } from '../../velo-types-sync-client/useVeloTypesSyncClient.js';\nimport { useProjectFilesService } from '../../project-files-service/useProjectFilesService.js';\nimport { useProjectModel } from '../../model.js';\n\nexport const InitializingState: FC<PropsWithChildren> = ({ children }) => {\n const { t } = useTranslation();\n const veloClient = useVeloClient();\n const projectFilesService = useProjectFilesService();\n const { veloAppId, projectFolder } = useProjectModel();\n const veloTypeSyncer = useVeloTypesSyncClient(projectFolder);\n\n const { status } = useAsync(async () => {\n async function initProjectFiles() {\n const { files, directories } = await veloClient.listAppFiles(veloAppId);\n await Promise.all([\n ...directories.map(projectFilesService.addDir),\n ...files.map(projectFilesService.saveFile),\n ]);\n }\n await Promise.all([initProjectFiles(), veloTypeSyncer.syncLatestTypes()]);\n }, []);\n\n return match(status, {\n Success: () => children,\n Error: () => null,\n Loading: () => <Spinner text={t('dev_command.init.fetching_files')} />,\n });\n};\n","import { useAuth } from '@wix/cli-auth';\nimport { useMemo } from 'react';\nimport { VeloTypesSyncClient } from './velo-types-sync-client.js';\n\nexport function useVeloTypesSyncClient(projectFolder: string) {\n const { getAccessToken } = useAuth();\n\n return useMemo(\n () => new VeloTypesSyncClient(projectFolder, getAccessToken),\n [projectFolder, getAccessToken]\n );\n}\n","import pRetry from 'p-retry';\nimport type { Options } from 'p-retry';\nimport { syncLatestTypes } from '@wix/velo-site-types-syncer';\nimport { getTestOverrides } from '@wix/cli-test-overrides';\nimport { CliError, CliErrorCode } from '@wix/cli-error';\n\nexport class VeloTypesSyncClient {\n private readonly retryOptions: Options;\n\n constructor(\n private projectFolder: string,\n private getToken: () => Promise<string>\n ) {\n const { minRetryTimeout } = getTestOverrides();\n\n this.retryOptions = {\n retries: 3,\n minTimeout: minRetryTimeout,\n maxTimeout: 3 * 1000,\n };\n }\n\n syncLatestTypes = async () => {\n const token = await this.getToken();\n\n try {\n await pRetry(\n () =>\n syncLatestTypes(this.projectFolder, {\n getAppToken: () => token,\n }),\n this.retryOptions\n );\n } catch (e) {\n throw new CliError({\n code: CliErrorCode.FailedToSyncPagesTypes(),\n cause: e,\n });\n }\n };\n}\n","import { useMemo } from 'react';\nimport { useProjectModel } from '../model.js';\nimport { ProjectFilesService } from './project-files-service.js';\n\nexport const useProjectFilesService = () => {\n const { projectFolder } = useProjectModel();\n\n return useMemo(() => new ProjectFilesService(projectFolder), [projectFolder]);\n};\n","import { join } from 'node:path';\nimport type { Directory, File } from '@wix/velo-client';\nimport { outputFile, outputDir } from '@wix/cli-fs';\n\nexport class ProjectFilesService {\n constructor(private projectFolder: string) {}\n\n addDir = async (file: Directory): Promise<void> => {\n const filePath = this.getFullPath(file);\n await outputDir(filePath);\n };\n\n saveFile = async (file: File): Promise<void> => {\n const filePath = this.getFullPath(file);\n await outputFile(filePath, file.content);\n };\n\n private getFullPath = (file: File | Directory) =>\n join(this.projectFolder, file.path);\n}\n","import React from 'react';\nimport { Trans } from '@wix/cli-i18n';\n\nexport const ReadyState = () => {\n return <Trans i18nKey=\"dev_command.welcome\" />;\n};\n"],"mappings":"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","names":["import_react","import_react","import_react","React","import_react","React","React"]}
1
+ {"version":3,"sources":["../../cli-site-live/src/components/DevCommand/DevCommand.tsx","../../cli-site-live/src/components/DevCommand/InitializingState.tsx","../../cli-site-live/src/velo-types-sync-client/useVeloTypesSyncClient.ts","../../cli-site-live/src/velo-types-sync-client/velo-types-sync-client.ts","../../cli-site-live/src/project-files-service/useProjectFilesService.ts","../../cli-site-live/src/project-files-service/project-files-service.ts","../../cli-site-live/src/components/DevCommand/ReadyState.tsx"],"sourcesContent":["import React from 'react';\nimport type { FC } from 'react';\nimport { InitializingState } from './InitializingState.js';\nimport { ReadyState } from './ReadyState.js';\n\nexport const DevCommand: FC = () => {\n return (\n <InitializingState>\n <ReadyState />\n </InitializingState>\n );\n};\n","import type { FC, PropsWithChildren } from 'react';\nimport React from 'react';\nimport { match } from 'variant';\nimport { Spinner, useAsync } from '@wix/cli-ui-kit';\nimport { useTranslation } from '@wix/cli-i18n';\nimport { useVeloClient } from '@wix/velo-client';\nimport { useVeloTypesSyncClient } from '../../velo-types-sync-client/useVeloTypesSyncClient.js';\nimport { useProjectFilesService } from '../../project-files-service/useProjectFilesService.js';\nimport { useProjectModel } from '../../model.js';\n\nexport const InitializingState: FC<PropsWithChildren> = ({ children }) => {\n const { t } = useTranslation();\n const veloClient = useVeloClient();\n const projectFilesService = useProjectFilesService();\n const { veloAppId, projectFolder } = useProjectModel();\n const veloTypeSyncer = useVeloTypesSyncClient(projectFolder);\n\n const { status } = useAsync(async () => {\n async function initProjectFiles() {\n const { files, directories } = await veloClient.listAppFiles(veloAppId);\n await Promise.all([\n ...directories.map(projectFilesService.addDir),\n ...files.map(projectFilesService.saveFile),\n ]);\n }\n await Promise.all([initProjectFiles(), veloTypeSyncer.syncLatestTypes()]);\n }, []);\n\n return match(status, {\n Success: () => children,\n Error: () => null,\n Loading: () => <Spinner text={t('dev_command.init.fetching_files')} />,\n });\n};\n","import { useAuth } from '@wix/cli-auth';\nimport { useMemo } from 'react';\nimport { VeloTypesSyncClient } from './velo-types-sync-client.js';\n\nexport function useVeloTypesSyncClient(projectFolder: string) {\n const { getAccessToken } = useAuth();\n\n return useMemo(\n () => new VeloTypesSyncClient(projectFolder, getAccessToken),\n [projectFolder, getAccessToken]\n );\n}\n","import pRetry from 'p-retry';\nimport type { Options } from 'p-retry';\nimport { syncLatestTypes } from '@wix/velo-site-types-syncer';\nimport { getTestOverrides } from '@wix/cli-test-overrides';\nimport { CliError, CliErrorCode } from '@wix/cli-error';\n\nexport class VeloTypesSyncClient {\n private readonly retryOptions: Options;\n\n constructor(\n private projectFolder: string,\n private getToken: () => Promise<string>\n ) {\n const { minRetryTimeout } = getTestOverrides();\n\n this.retryOptions = {\n retries: 3,\n minTimeout: minRetryTimeout,\n maxTimeout: 3 * 1000,\n };\n }\n\n syncLatestTypes = async () => {\n const token = await this.getToken();\n\n try {\n await pRetry(\n () =>\n syncLatestTypes(this.projectFolder, {\n getAppToken: () => token,\n }),\n this.retryOptions\n );\n } catch (e) {\n throw new CliError({\n code: CliErrorCode.FailedToSyncPagesTypes(),\n cause: e,\n });\n }\n };\n}\n","import { useMemo } from 'react';\nimport { useProjectModel } from '../model.js';\nimport { ProjectFilesService } from './project-files-service.js';\n\nexport const useProjectFilesService = () => {\n const { projectFolder } = useProjectModel();\n\n return useMemo(() => new ProjectFilesService(projectFolder), [projectFolder]);\n};\n","import { join } from 'node:path';\nimport type { Directory, File } from '@wix/velo-client';\nimport { outputFile, outputDir } from '@wix/cli-fs';\n\nexport class ProjectFilesService {\n constructor(private projectFolder: string) {}\n\n addDir = async (file: Directory): Promise<void> => {\n const filePath = this.getFullPath(file);\n await outputDir(filePath);\n };\n\n saveFile = async (file: File): Promise<void> => {\n const filePath = this.getFullPath(file);\n await outputFile(filePath, file.content);\n };\n\n private getFullPath = (file: File | Directory) =>\n join(this.projectFolder, file.path);\n}\n","import React from 'react';\nimport { Trans } from '@wix/cli-i18n';\n\nexport const ReadyState = () => {\n return <Trans i18nKey=\"dev_command.welcome\" />;\n};\n"],"mappings":"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","names":["import_react","import_react","import_react","React","import_react","React","React"]}
@@ -2,24 +2,26 @@ import { createRequire as _createRequire } from 'node:module';
2
2
  const require = _createRequire(import.meta.url);
3
3
  import {
4
4
  createVeloCLIServer,
5
+ debounceQueue,
5
6
  require_chokidar
6
- } from "./chunk-VDSGAA3D.js";
7
+ } from "./chunk-WYEQRRT2.js";
7
8
  import "./chunk-EDFOB3LN.js";
8
9
  import {
9
10
  useVeloClient
10
- } from "./chunk-7LHODQ3J.js";
11
- import "./chunk-GPZPN63O.js";
12
- import "./chunk-AMEYK6DR.js";
11
+ } from "./chunk-WRMFR7CU.js";
12
+ import "./chunk-Q5WMVJRK.js";
13
+ import "./chunk-X7GWN4JO.js";
13
14
  import {
14
15
  useProjectModel
15
- } from "./chunk-7IO7SVY6.js";
16
+ } from "./chunk-KT54TL6D.js";
16
17
  import "./chunk-OUBPZBBH.js";
17
18
  import {
18
- openBrowser
19
- } from "./chunk-JH6KT73W.js";
19
+ openBrowser,
20
+ pLimit
21
+ } from "./chunk-WZEZZAE4.js";
20
22
  import {
21
23
  useErrorReporter
22
- } from "./chunk-5PNAZQGU.js";
24
+ } from "./chunk-OIH7DI4E.js";
23
25
  import {
24
26
  Alert,
25
27
  Badge,
@@ -32,19 +34,19 @@ import {
32
34
  useAsyncCallback,
33
35
  useExit,
34
36
  use_input_default
35
- } from "./chunk-3UYDT5ZT.js";
37
+ } from "./chunk-5EXKEGN6.js";
36
38
  import "./chunk-W32TRG4E.js";
37
39
  import "./chunk-W423UTD3.js";
38
- import "./chunk-ZS2473DH.js";
40
+ import "./chunk-6F2RSXHN.js";
39
41
  import "./chunk-YU54OBFT.js";
40
42
  import "./chunk-XMTHMR2B.js";
41
43
  import {
42
44
  getSourceFolder
43
- } from "./chunk-M4NGCYAG.js";
44
- import "./chunk-VO6LL5ZT.js";
45
+ } from "./chunk-LOJ4G3VD.js";
46
+ import "./chunk-24HYCAK2.js";
45
47
  import {
46
48
  getTestOverrides
47
- } from "./chunk-NEB7POM3.js";
49
+ } from "./chunk-53UCEZFU.js";
48
50
  import {
49
51
  CliError,
50
52
  CliErrorCode,
@@ -57,15 +59,15 @@ import {
57
59
 
58
60
  // ../cli-site/src/components/DevCommand/DevCommand.tsx
59
61
  init_esm_shims();
60
- var import_react7 = __toESM(require_react(), 1);
62
+ var import_react6 = __toESM(require_react(), 1);
61
63
 
62
64
  // ../cli-site/src/components/DevCommand/DevCommandScreen.tsx
63
65
  init_esm_shims();
64
- var import_react6 = __toESM(require_react(), 1);
66
+ var import_react5 = __toESM(require_react(), 1);
65
67
 
66
68
  // ../cli-site/src/components/DevCommand/DevEnvironment.tsx
67
69
  init_esm_shims();
68
- var import_react5 = __toESM(require_react(), 1);
70
+ var import_react4 = __toESM(require_react(), 1);
69
71
  var import_variant = __toESM(require_lib(), 1);
70
72
 
71
73
  // ../cli-site/src/site-fs-manager.ts
@@ -843,27 +845,13 @@ function useSrcFolder() {
843
845
  return getSourceFolder(model.projectFolder);
844
846
  }
845
847
 
846
- // ../cli-site/src/components/DevCommand/useIsSyncing.ts
847
- init_esm_shims();
848
- var import_react = __toESM(require_react(), 1);
849
- function useIsSyncing() {
850
- const [syncHandlersCount, setSyncHandlersCount] = (0, import_react.useState)(0);
851
- const startSync = (0, import_react.useCallback)(() => {
852
- setSyncHandlersCount((count) => count + 1);
853
- }, []);
854
- const finishSync = (0, import_react.useCallback)(() => {
855
- setSyncHandlersCount((count) => count - 1);
856
- }, []);
857
- return { isSyncing: syncHandlersCount > 0, startSync, finishSync };
858
- }
859
-
860
848
  // ../cli-site/src/components/DevCommand/useFsWatcher.ts
861
849
  init_esm_shims();
862
- var import_react2 = __toESM(require_react(), 1);
850
+ var import_react = __toESM(require_react(), 1);
863
851
  var import_chokidar = __toESM(require_chokidar(), 1);
864
852
  function useFsWatcher(cwd) {
865
853
  const { reportError } = useErrorReporter();
866
- const [{ watcher, ...publicApi }] = (0, import_react2.useState)(() => {
854
+ const [{ watcher, ...publicApi }] = (0, import_react.useState)(() => {
867
855
  const watcher2 = (0, import_chokidar.watch)(".", {
868
856
  cwd,
869
857
  ignoreInitial: true,
@@ -871,14 +859,25 @@ function useFsWatcher(cwd) {
871
859
  });
872
860
  return {
873
861
  watcher: watcher2,
874
- onChange: (eventHandler) => {
875
- watcher2.on("change", (path6) => eventHandler(path6, "UPDATE"));
876
- watcher2.on("add", (path6) => eventHandler(path6, "UPDATE"));
877
- watcher2.on("unlink", (path6) => eventHandler(path6, "DELETE"));
862
+ onBatchChange: (eventHandler) => {
863
+ const debouncedHandler = debounceQueue(
864
+ (events) => {
865
+ const uniqEvents = new Map(events);
866
+ const update = [];
867
+ for (const [path6, action] of uniqEvents) {
868
+ update.push({ path: path6, action });
869
+ }
870
+ eventHandler(update);
871
+ },
872
+ 400
873
+ );
874
+ watcher2.on("change", (path6) => debouncedHandler(path6, "UPDATE"));
875
+ watcher2.on("add", (path6) => debouncedHandler(path6, "UPDATE"));
876
+ watcher2.on("unlink", (path6) => debouncedHandler(path6, "DELETE"));
878
877
  }
879
878
  };
880
879
  });
881
- (0, import_react2.useEffect)(() => {
880
+ (0, import_react.useEffect)(() => {
882
881
  return () => {
883
882
  watcher.close().catch(reportError);
884
883
  };
@@ -888,10 +887,10 @@ function useFsWatcher(cwd) {
888
887
 
889
888
  // ../cli-site/src/components/DevCommand/useDevEditorUrl.ts
890
889
  init_esm_shims();
891
- var import_react3 = __toESM(require_react(), 1);
890
+ var import_react2 = __toESM(require_react(), 1);
892
891
  function useDevEditorUrl() {
893
892
  const { model } = useProjectModel();
894
- return (0, import_react3.useCallback)(
893
+ return (0, import_react2.useCallback)(
895
894
  (serverPort) => {
896
895
  const { devEditorBaseUrl } = getTestOverrides();
897
896
  const url = new URL(
@@ -908,11 +907,11 @@ function useDevEditorUrl() {
908
907
 
909
908
  // ../cli-site/src/components/DevCommand/useWebSocketServer.ts
910
909
  init_esm_shims();
911
- var import_react4 = __toESM(require_react(), 1);
910
+ var import_react3 = __toESM(require_react(), 1);
912
911
  function useWebSocketServer() {
913
912
  const { reportError } = useErrorReporter();
914
- const [server] = (0, import_react4.useState)(() => createVeloCLIServer());
915
- (0, import_react4.useEffect)(() => {
913
+ const [server] = (0, import_react3.useState)(() => createVeloCLIServer());
914
+ (0, import_react3.useEffect)(() => {
916
915
  return () => {
917
916
  server.close().catch(reportError);
918
917
  };
@@ -921,19 +920,20 @@ function useWebSocketServer() {
921
920
  }
922
921
 
923
922
  // ../cli-site/src/components/DevCommand/DevEnvironment.tsx
924
- var DevEnvironmentContext = (0, import_react5.createContext)(null);
923
+ var DevEnvironmentContext = (0, import_react4.createContext)(null);
925
924
  var DevEnvironmentProvider = ({
926
925
  children
927
926
  }) => {
928
927
  const exit = useExit();
929
928
  const srcFolder = useSrcFolder();
930
- const { isSyncing, startSync, finishSync } = useIsSyncing();
931
929
  const { createMutableApp, updateAppFiles } = useVeloClient();
932
930
  const getDevEditorUrl = useDevEditorUrl();
933
931
  const wsServer = useWebSocketServer();
934
932
  const fsWatcher = useFsWatcher(srcFolder);
935
- const [isDevEditorConnected, setIsDevEditorConnected] = (0, import_react5.useState)(false);
933
+ const [isSyncing, setIsSyncing] = (0, import_react4.useState)(false);
934
+ const [isDevEditorConnected, setIsDevEditorConnected] = (0, import_react4.useState)(false);
936
935
  const { status } = useAsync(async () => {
936
+ const limiter = pLimit(1);
937
937
  const siteFsManager = await createSiteFsManager(srcFolder);
938
938
  const code = await siteFsManager.getCode();
939
939
  const { id: appId } = await createMutableApp(code);
@@ -944,27 +944,35 @@ var DevEnvironmentProvider = ({
944
944
  setIsDevEditorConnected(false);
945
945
  });
946
946
  wsServer.on("documentUpdate", async (document) => {
947
- startSync();
948
- await siteFsManager.applyExternalUpdates({ document }).catch(exit);
949
- finishSync();
947
+ try {
948
+ await limiter(async () => {
949
+ setIsSyncing(true);
950
+ await siteFsManager.applyExternalUpdates({ document });
951
+ });
952
+ } catch (error) {
953
+ exit(error);
954
+ } finally {
955
+ setIsSyncing(false);
956
+ }
950
957
  });
951
958
  const { port } = await wsServer.serve(appId, getDevEditorUrl, {
952
959
  getDocument: siteFsManager.getDocument,
953
960
  onConnectionError: exit
954
961
  });
955
- fsWatcher.onChange(async (path6, action) => {
962
+ fsWatcher.onBatchChange(async (update) => {
956
963
  try {
957
- startSync();
958
- const { document, code: code2 } = await siteFsManager.applyFsUpdates([
959
- { path: path6, action }
960
- ]);
961
- await Promise.all([
962
- document && wsServer.syncDocumentUpdate(document),
963
- code2 && updateAppFiles(appId, code2)
964
- ]);
965
- finishSync();
964
+ await limiter(async () => {
965
+ setIsSyncing(true);
966
+ const { document, code: code2 } = await siteFsManager.applyFsUpdates(update);
967
+ await Promise.all([
968
+ document && wsServer.syncDocumentUpdate(document),
969
+ code2 && updateAppFiles(appId, code2)
970
+ ]);
971
+ });
966
972
  } catch (error) {
967
973
  exit(error);
974
+ } finally {
975
+ setIsSyncing(false);
968
976
  }
969
977
  });
970
978
  const devEditorUrl = getDevEditorUrl(port);
@@ -973,8 +981,8 @@ var DevEnvironmentProvider = ({
973
981
  }, []);
974
982
  return (0, import_variant.match)(status, {
975
983
  Error: () => null,
976
- Loading: () => /* @__PURE__ */ import_react5.default.createElement(Spinner, { text: /* @__PURE__ */ import_react5.default.createElement(Trans, { i18nKey: "dev_command.dev_environment.loading" }) }),
977
- Success: ({ result: { devEditorUrl } }) => /* @__PURE__ */ import_react5.default.createElement(
984
+ Loading: () => /* @__PURE__ */ import_react4.default.createElement(Spinner, { text: /* @__PURE__ */ import_react4.default.createElement(Trans, { i18nKey: "dev_command.dev_environment.loading" }) }),
985
+ Success: ({ result: { devEditorUrl } }) => /* @__PURE__ */ import_react4.default.createElement(
978
986
  DevEnvironmentContext.Provider,
979
987
  {
980
988
  value: {
@@ -988,7 +996,7 @@ var DevEnvironmentProvider = ({
988
996
  });
989
997
  };
990
998
  function useDevEnvironment() {
991
- const context = (0, import_react5.useContext)(DevEnvironmentContext);
999
+ const context = (0, import_react4.useContext)(DevEnvironmentContext);
992
1000
  if (context == null) {
993
1001
  throw new Error(
994
1002
  "useDevEnvironment() cannot be used without an <DevEnvironmentProvider>"
@@ -1008,25 +1016,25 @@ var DevCommandScreen = () => {
1008
1016
  void openDevEditor();
1009
1017
  }
1010
1018
  });
1011
- return /* @__PURE__ */ import_react6.default.createElement(import_react6.default.Fragment, null, /* @__PURE__ */ import_react6.default.createElement(Alert, { type: "success" }, /* @__PURE__ */ import_react6.default.createElement(Badge, { skin: "success" }, /* @__PURE__ */ import_react6.default.createElement(Trans, { i18nKey: "general.success" })), " ", /* @__PURE__ */ import_react6.default.createElement(Trans, { i18nKey: "dev_command.dev_environment.success" })), /* @__PURE__ */ import_react6.default.createElement(Box_default, { marginTop: 1, marginLeft: 1 }, !isDevEditorConnected && /* @__PURE__ */ import_react6.default.createElement(Alert, { type: "warning" }, /* @__PURE__ */ import_react6.default.createElement(
1019
+ return /* @__PURE__ */ import_react5.default.createElement(import_react5.default.Fragment, null, /* @__PURE__ */ import_react5.default.createElement(Alert, { type: "success" }, /* @__PURE__ */ import_react5.default.createElement(Badge, { skin: "success" }, /* @__PURE__ */ import_react5.default.createElement(Trans, { i18nKey: "general.success" })), " ", /* @__PURE__ */ import_react5.default.createElement(Trans, { i18nKey: "dev_command.dev_environment.success" })), /* @__PURE__ */ import_react5.default.createElement(Box_default, { marginTop: 1, marginLeft: 1 }, !isDevEditorConnected && /* @__PURE__ */ import_react5.default.createElement(Alert, { type: "warning" }, /* @__PURE__ */ import_react5.default.createElement(
1012
1020
  Trans,
1013
1021
  {
1014
1022
  i18nKey: "dev_command.no_open_editor",
1015
- components: [/* @__PURE__ */ import_react6.default.createElement(Key, { value: "E" })]
1023
+ components: [/* @__PURE__ */ import_react5.default.createElement(Key, { value: "E" })]
1016
1024
  }
1017
- )), isDevEditorConnected && /* @__PURE__ */ import_react6.default.createElement(import_react6.default.Fragment, null, isSyncingChanges ? /* @__PURE__ */ import_react6.default.createElement(
1025
+ )), isDevEditorConnected && /* @__PURE__ */ import_react5.default.createElement(import_react5.default.Fragment, null, isSyncingChanges ? /* @__PURE__ */ import_react5.default.createElement(
1018
1026
  Spinner,
1019
1027
  {
1020
- text: /* @__PURE__ */ import_react6.default.createElement(Trans, { i18nKey: "dev_command.sync_changes.loading" })
1028
+ text: /* @__PURE__ */ import_react5.default.createElement(Trans, { i18nKey: "dev_command.sync_changes.loading" })
1021
1029
  }
1022
- ) : /* @__PURE__ */ import_react6.default.createElement(Alert, { type: "success" }, /* @__PURE__ */ import_react6.default.createElement(Trans, { i18nKey: "dev_command.sync_changes.success" })))));
1030
+ ) : /* @__PURE__ */ import_react5.default.createElement(Alert, { type: "success" }, /* @__PURE__ */ import_react5.default.createElement(Trans, { i18nKey: "dev_command.sync_changes.success" })))));
1023
1031
  };
1024
1032
 
1025
1033
  // ../cli-site/src/components/DevCommand/DevCommand.tsx
1026
1034
  var DevCommand = () => {
1027
- return /* @__PURE__ */ import_react7.default.createElement(DevEnvironmentProvider, null, /* @__PURE__ */ import_react7.default.createElement(DevCommandScreen, null));
1035
+ return /* @__PURE__ */ import_react6.default.createElement(DevEnvironmentProvider, null, /* @__PURE__ */ import_react6.default.createElement(DevCommandScreen, null));
1028
1036
  };
1029
1037
  export {
1030
1038
  DevCommand
1031
1039
  };
1032
- //# sourceMappingURL=DevCommand-KMBUXAPT.js.map
1040
+ //# sourceMappingURL=DevCommand-WT3DJON6.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../cli-site/src/components/DevCommand/DevCommand.tsx","../../cli-site/src/components/DevCommand/DevCommandScreen.tsx","../../cli-site/src/components/DevCommand/DevEnvironment.tsx","../../cli-site/src/site-fs-manager.ts","../../../node_modules/@wix/anyide-cli-file-structure/dist/index.js","../../../node_modules/@wix/anyide-cli-file-structure/dist/wixSiteFSManager.js","../../../node_modules/@wix/anyide-cli-file-structure/dist/code/index.js","../../../node_modules/@wix/anyide-cli-file-structure/dist/code/code.js","../../../node_modules/@wix/anyide-cli-file-structure/dist/code/utils/veloUtils.js","../../../node_modules/@wix/anyide-cli-file-structure/dist/code/utils/constants.js","../../../node_modules/@wix/anyide-cli-file-structure/dist/document/index.js","../../../node_modules/@wix/anyide-cli-file-structure/dist/document/document.js","../../../node_modules/@wix/anyide-cli-file-structure/dist/document/utils/wmlUtils.js","../../../node_modules/@wix/anyide-cli-file-structure/dist/document/externalUpdates.js","../../../node_modules/@wix/anyide-cli-file-structure/dist/page/utils.js","../../../node_modules/@wix/anyide-cli-file-structure/dist/state/state.js","../../../node_modules/@wix/anyide-cli-file-structure/dist/state/siteFileStructure.js","../../../node_modules/@wix/anyide-template-layout/dist/index.js","../../../node_modules/@wix/anyide-template-layout/dist/code.js","../../../node_modules/@wix/anyide-template-layout/dist/configs/index.js","../../../node_modules/@wix/anyide-template-layout/dist/configs/blocksConfig.js","../../../node_modules/@wix/anyide-template-layout/dist/configs/editorConfig.js","../../../node_modules/@wix/anyide-template-layout/dist/page.js","../../../node_modules/@wix/anyide-cli-file-structure/dist/state/siteFileSystem.js","../../../node_modules/@wix/anyide-cli-file-structure/dist/state/stateBuilder.js","../../../node_modules/@wix/anyide-cli-file-structure/dist/state/sitePagesState.js","../../../node_modules/@wix/anyide-cli-file-structure/dist/applyFsUpdates.js","../../../node_modules/@wix/anyide-cli-file-structure/dist/code/fsUpdates.js","../../../node_modules/@wix/anyide-cli-file-structure/dist/page/fsUpdates.js","../../../node_modules/@wix/anyide-cli-file-structure/dist/document/fsUpdates.js","../../cli-site/src/components/DevCommand/useSrcFolder.ts","../../cli-site/src/components/DevCommand/useFsWatcher.ts","../../cli-site/src/components/DevCommand/useDevEditorUrl.ts","../../cli-site/src/components/DevCommand/useWebSocketServer.ts"],"sourcesContent":["import React from 'react';\nimport type { FC } from 'react';\nimport { DevCommandScreen } from './DevCommandScreen.js';\nimport { DevEnvironmentProvider } from './DevEnvironment.js';\n\nexport const DevCommand: FC = () => {\n return (\n <DevEnvironmentProvider>\n <DevCommandScreen />\n </DevEnvironmentProvider>\n );\n};\n","import React from 'react';\nimport type { FC } from 'react';\nimport { Trans } from '@wix/cli-i18n';\nimport {\n Box,\n Key,\n Alert,\n Badge,\n Spinner,\n useInput,\n useAsyncCallback,\n} from '@wix/cli-ui-kit';\nimport { openBrowser } from '@wix/user-browser';\nimport { useDevEnvironment } from './DevEnvironment.js';\n\nexport const DevCommandScreen: FC = () => {\n const { devEditorUrl, isDevEditorConnected, isSyncingChanges } =\n useDevEnvironment();\n const { execute: openDevEditor } = useAsyncCallback(() =>\n openBrowser(devEditorUrl)\n );\n\n useInput((input) => {\n if (input === 'e' && !isDevEditorConnected) {\n void openDevEditor();\n }\n });\n\n return (\n <>\n <Alert type=\"success\">\n <Badge skin=\"success\">\n <Trans i18nKey=\"general.success\" />\n </Badge>{' '}\n <Trans i18nKey=\"dev_command.dev_environment.success\" />\n </Alert>\n <Box marginTop={1} marginLeft={1}>\n {!isDevEditorConnected && (\n <Alert type=\"warning\">\n <Trans\n i18nKey=\"dev_command.no_open_editor\"\n components={[<Key value=\"E\" />]}\n />\n </Alert>\n )}\n {isDevEditorConnected && (\n <>\n {isSyncingChanges ? (\n <Spinner\n text={<Trans i18nKey=\"dev_command.sync_changes.loading\" />}\n />\n ) : (\n <Alert type=\"success\">\n <Trans i18nKey=\"dev_command.sync_changes.success\" />\n </Alert>\n )}\n </>\n )}\n </Box>\n </>\n );\n};\n","import React, { createContext, useContext, useState } from 'react';\nimport type { FC, ReactNode } from 'react';\nimport pLimit from 'p-limit';\nimport { match } from 'variant';\nimport { Trans } from '@wix/cli-i18n';\nimport { openBrowser } from '@wix/user-browser';\nimport { useVeloClient } from '@wix/velo-client';\nimport { Spinner, useAsync, useExit } from '@wix/cli-ui-kit';\nimport { createSiteFsManager } from '../../site-fs-manager.js';\nimport { useSrcFolder } from './useSrcFolder.js';\nimport { useFsWatcher } from './useFsWatcher.js';\nimport { useDevEditorUrl } from './useDevEditorUrl.js';\nimport { useWebSocketServer } from './useWebSocketServer.js';\n\ninterface DevEnvironment {\n devEditorUrl: string;\n isSyncingChanges: boolean;\n isDevEditorConnected: boolean;\n}\n\nconst DevEnvironmentContext = createContext<DevEnvironment | null>(null);\n\nexport const DevEnvironmentProvider: FC<{ children: ReactNode }> = ({\n children,\n}) => {\n const exit = useExit();\n const srcFolder = useSrcFolder();\n const { createMutableApp, updateAppFiles } = useVeloClient();\n const getDevEditorUrl = useDevEditorUrl();\n const wsServer = useWebSocketServer();\n const fsWatcher = useFsWatcher(srcFolder);\n\n const [isSyncing, setIsSyncing] = useState(false);\n const [isDevEditorConnected, setIsDevEditorConnected] = useState(false);\n\n const { status } = useAsync(async () => {\n const limiter = pLimit(1);\n const siteFsManager = await createSiteFsManager(srcFolder);\n const code = await siteFsManager.getCode();\n const { id: appId } = await createMutableApp(code);\n\n wsServer.on('connected', () => {\n setIsDevEditorConnected(true);\n });\n wsServer.on('disconnected', () => {\n setIsDevEditorConnected(false);\n });\n wsServer.on('documentUpdate', async (document) => {\n try {\n await limiter(async () => {\n setIsSyncing(true);\n await siteFsManager.applyExternalUpdates({ document });\n });\n } catch (error) {\n exit(error);\n } finally {\n setIsSyncing(false);\n }\n });\n\n const { port } = await wsServer.serve(appId, getDevEditorUrl, {\n getDocument: siteFsManager.getDocument,\n onConnectionError: exit,\n });\n\n fsWatcher.onBatchChange(async (update) => {\n try {\n await limiter(async () => {\n setIsSyncing(true);\n\n const { document, code } = await siteFsManager.applyFsUpdates(update);\n\n await Promise.all([\n document && wsServer.syncDocumentUpdate(document),\n code && updateAppFiles(appId, code),\n ]);\n });\n } catch (error) {\n exit(error);\n } finally {\n setIsSyncing(false);\n }\n });\n\n const devEditorUrl = getDevEditorUrl(port);\n await openBrowser(devEditorUrl);\n\n return { devEditorUrl };\n }, []);\n\n return match(status, {\n Error: () => null,\n Loading: () => (\n <Spinner text={<Trans i18nKey=\"dev_command.dev_environment.loading\" />} />\n ),\n Success: ({ result: { devEditorUrl } }) => (\n <DevEnvironmentContext.Provider\n value={{\n devEditorUrl,\n isDevEditorConnected,\n isSyncingChanges: isSyncing,\n }}\n >\n {children}\n </DevEnvironmentContext.Provider>\n ),\n });\n};\n\nexport function useDevEnvironment(): DevEnvironment {\n const context = useContext(DevEnvironmentContext);\n if (context == null) {\n throw new Error(\n 'useDevEnvironment() cannot be used without an <DevEnvironmentProvider>'\n );\n }\n return context;\n}\n","import { WixSiteFSManager } from '@wix/anyide-cli-file-structure';\nimport type {\n FSUpdate,\n WixSiteExternalUpdate,\n} from '@wix/anyide-cli-file-structure';\nimport { CliError, CliErrorCode } from '@wix/cli-error';\n\nexport async function createSiteFsManager(cwd: string) {\n const fsManager = await WixSiteFSManager.create(cwd, 'Editor').catch(\n (error: unknown) => {\n throw new CliError({\n code: CliErrorCode.FailedToInitializeSiteFsManager(),\n cause: error,\n });\n }\n );\n\n return {\n async getCode() {\n try {\n return await fsManager.getCode();\n } catch (error) {\n throw new CliError({\n code: CliErrorCode.FailedToGetSiteFsManagerCode(),\n cause: error,\n });\n }\n },\n async getDocument() {\n try {\n return await fsManager.getDocument();\n } catch (error) {\n throw new CliError({\n code: CliErrorCode.FailedToGetSiteFsManagerDocument(),\n cause: error,\n });\n }\n },\n async applyFsUpdates(updates: FSUpdate[]) {\n try {\n return await fsManager.applyFsUpdates(updates);\n } catch (error) {\n throw new CliError({\n code: CliErrorCode.FailedToApplySiteFsManagerFsUpdates(),\n cause: error,\n });\n }\n },\n async applyExternalUpdates(update: WixSiteExternalUpdate) {\n try {\n await fsManager.applyExternalUpdates(update);\n } catch (error) {\n throw new CliError({\n code: CliErrorCode.FailedToApplySiteFsManagerExternalUpdates(),\n cause: error,\n });\n }\n },\n };\n}\n","export * from './wixSiteFSManager.js';\n","import { getSiteCode } from './code/index.js';\nimport { applyDocumentExternalUpdates, getSiteDocument } from './document/index.js';\nimport { buildState } from './state/state.js';\nimport { applyFsUpdates } from './applyFsUpdates.js';\nexport class WixSiteFSManager {\n state;\n constructor(state) {\n this.state = state;\n }\n static async create(rootFolderPath, fileStructureType) {\n const state = await buildState(rootFolderPath, fileStructureType);\n return new WixSiteFSManager(state);\n }\n async getCode() {\n return getSiteCode(this.state);\n }\n async getDocument() {\n return getSiteDocument(this.state);\n }\n async applyFsUpdates(updates) {\n return applyFsUpdates(this.state, updates);\n }\n async applyExternalUpdates({ code, document }) {\n if (code) {\n throw new Error('external code updates are not supported');\n }\n if (document) {\n await applyDocumentExternalUpdates(this.state, document);\n }\n }\n}\n","export { getSiteCode } from './code.js';\n","import path from 'path';\nimport { getPageCodeFilePath, readVeloFile } from './utils/veloUtils.js';\nconst readAllFilesInDir = async (fileSystem, dir) => {\n const entries = await fileSystem.readFolder(dir);\n const filePromises = entries.map((entry) => {\n const entryPath = path.join(dir, entry.name);\n if (entry.isFile()) {\n return readVeloFile(fileSystem, entryPath);\n }\n return readAllFilesInDir(fileSystem, entryPath);\n });\n return (await Promise.all(filePromises)).flat();\n};\nconst readBackendFiles = async (state) => readAllFilesInDir(state.fileSystem, state.fileStructure.getBackendFolderPath());\nconst readPublicFiles = async (state) => readAllFilesInDir(state.fileSystem, state.fileStructure.getPublicFolderPath());\nconst readPageCodeFiles = async (state) => {\n const codeFiles = [];\n const pages = state.pages.getAll();\n for (const { pageId, pagePath } of pages) {\n const page = state.fileStructure.getPageFilesPaths(pagePath);\n const content = await state.fileSystem.readFile(page.code);\n codeFiles.push({ path: getPageCodeFilePath(pageId), content });\n }\n return codeFiles;\n};\nexport const getSiteCode = async (state) => {\n const allFiles = await Promise.all([\n readBackendFiles(state),\n readPublicFiles(state),\n readPageCodeFiles(state)\n ]);\n return {\n files: allFiles.flat(),\n layout: 'ONLINE',\n ignoreForbiddenPaths: true\n };\n};\n","import { PAGE_CODE_TEMPLATE } from './constants.js';\nexport const readVeloFile = async (siteFileSystem, filePath) => {\n const content = await siteFileSystem.readFile(filePath);\n return { path: filePath, content };\n};\nexport const createDefaultPageCodeFile = async (siteFileSystem, filePath) => siteFileSystem.writeFile(filePath, PAGE_CODE_TEMPLATE);\nexport const getPageCodeFilePath = (pageId) => `public/pages/${pageId}.js`;\n","export const PAGE_CODE_TEMPLATE = `// API Reference: https://www.wix.com/velo/reference/api-overview/introduction\n// “Hello, World!” Example: https://learn-code.wix.com/en/article/hello-world\n\n$w.onReady(function () {\n // Write your JavaScript here\n\n // To select an element by ID use: $w('#elementID')\n\n // Click 'Preview' to run your code\n});\n`;\n","export { getSiteDocument } from './document.js';\nexport { applyDocumentExternalUpdates } from './externalUpdates.js';\n","import { readWml } from './utils/wmlUtils.js';\nconst getDocumentPages = async (state) => {\n const documentPages = {};\n const pages = state.pages.getAll();\n for (const { pageId, pagePath } of pages) {\n const page = state.fileStructure.getPageFilesPaths(pagePath);\n const wml = await readWml(state.fileSystem, page.document);\n documentPages[pageId] = wml;\n }\n return documentPages;\n};\nexport const getSiteDocument = async (state) => {\n const documentPages = await getDocumentPages(state);\n const { masterPage, ...otherPages } = documentPages;\n if (!masterPage) {\n throw new Error('Missing master page');\n }\n return {\n pages: {\n masterPage,\n ...otherPages\n }\n };\n};\n","const pageIdRegex = /<(?:Master)?Page\\s[^>]*?(?<=\\s)id=\"(.+?)\".*?>/;\nexport const getPageId = async (siteFileSystem, { structure }) => {\n const structureXmlContent = await siteFileSystem.readFile(structure);\n const [match, pageId] = structureXmlContent.match(pageIdRegex) ?? [];\n if (!match) {\n throw new Error('pageId not found in wml');\n }\n return pageId;\n};\nconst mapWmlFiles = async (documentStructure, callbackFn) => {\n const [structure, data, style] = await Promise.all([\n callbackFn(documentStructure.structure, 'structure'),\n callbackFn(documentStructure.data, 'data'),\n callbackFn(documentStructure.style, 'style')\n ]);\n return { structure, data, style };\n};\nconst writeWmlFiles = async (siteFileSystem, documentStructure, wml) => {\n const filesContent = convertWmlExportToFiles(wml);\n await mapWmlFiles(documentStructure, (filePath, fileName) => siteFileSystem.writeFile(filePath, filesContent[fileName]));\n};\nconst removeWmlFiles = async (siteFileSystem, documentStructure) => {\n await mapWmlFiles(documentStructure, (filePath) => siteFileSystem.removeFile(filePath));\n};\nexport const writeWml = async (siteFileSystem, documentStructure, pageData) => {\n if (pageData === null) {\n return removeWmlFiles(siteFileSystem, documentStructure);\n }\n return writeWmlFiles(siteFileSystem, documentStructure, pageData.data);\n};\nexport const readWml = async (siteFileSystem, documentStructure) => {\n const filesContent = await mapWmlFiles(documentStructure, async (filePath) => await siteFileSystem.readFile(filePath));\n return convertFilesToWmlExport(filesContent);\n};\nconst indentedStringify = (data) => JSON.stringify(data, undefined, 2);\nexport const convertWmlExportToFiles = (wmlExport) => {\n const dataWithoutVersion = JSON.parse(wmlExport.data.content);\n const dataWithVersion = indentedStringify({ ...dataWithoutVersion, version: wmlExport.version });\n return {\n structure: wmlExport.structure.content,\n style: wmlExport.style.content,\n data: dataWithVersion\n };\n};\nexport const convertFilesToWmlExport = (filesContent) => {\n const { version, ...dataWithoutVersion } = JSON.parse(filesContent.data);\n return {\n structure: { type: 'xml', content: filesContent.structure },\n data: { type: 'json', content: indentedStringify(dataWithoutVersion) },\n style: { type: 'css', content: filesContent.style },\n version\n };\n};\n","import { createPage, removePage, updatePage } from '../page/utils.js';\nconst applyPageUpdate = async (state, pageId, pageData) => {\n if (pageData === null) {\n return removePage(state, pageId);\n }\n const existingPageFolder = state.pages.getFolderPath(pageId);\n if (existingPageFolder) {\n return updatePage(state, pageId, existingPageFolder, pageData);\n }\n return createPage(state, pageId, pageData);\n};\nexport const applyDocumentExternalUpdates = async (state, { pages }) => {\n for (const [pageId, pageData] of Object.entries(pages)) {\n await applyPageUpdate(state, pageId, pageData);\n }\n};\n","import { writeWml } from '../document/utils/wmlUtils.js';\nimport path from 'path';\nimport { createDefaultPageCodeFile } from '../code/utils/veloUtils.js';\nconst generatePageFolderPathByInfo = (state, pageInfo) => {\n const pagePath = state.fileStructure.getPagesPathsForType(pageInfo.type);\n return path.join(...pagePath.map(entry => entry.type === 'Folder' ? entry.name : pageInfo[entry.variableName]));\n};\nconst escapeRegexSpecialChars = (str) => str.replace(/[.*+?^=!:${}()|[\\]/\\\\]/g, '\\\\$&');\nconst isPathFormatMatching = (fullPath, basePath) => new RegExp(`^${escapeRegexSpecialChars(basePath)}(?: \\\\((\\\\d*)\\\\))?$`).test(fullPath);\nconst generateNewPagePath = (state, pageInfo, existingPageFolderPath) => {\n let pageFolderPath = generatePageFolderPathByInfo(state, pageInfo);\n if (existingPageFolderPath && isPathFormatMatching(existingPageFolderPath, pageFolderPath)) {\n return existingPageFolderPath;\n }\n while (state.pages.getPageId(pageFolderPath)) {\n pageFolderPath = incrementPathSuffix(pageFolderPath);\n }\n return pageFolderPath;\n};\nconst createPageFiles = async (state, folderPath, pageData) => {\n const pageStructure = state.fileStructure.getPageFilesPaths(folderPath);\n await Promise.all([\n writeWml(state.fileSystem, pageStructure.document, pageData),\n createDefaultPageCodeFile(state.fileSystem, pageStructure.code)\n ]);\n};\nexport const createPage = async (state, pageId, pageData) => {\n const newPageFolder = generateNewPagePath(state, pageData.info);\n await state.fileSystem.createFolder(newPageFolder);\n await createPageFiles(state, newPageFolder, pageData);\n state.pages.addPage(pageId, newPageFolder);\n};\nexport const removePage = async (state, pageId) => {\n const folderPath = state.pages.getFolderPath(pageId);\n if (!folderPath)\n return;\n await state.fileSystem.removeFolder(folderPath);\n state.pages.removePageById(pageId);\n};\nexport const updatePage = async (state, pageId, existingPageFolderPath, pageData) => {\n const expectedFolderPath = generateNewPagePath(state, pageData.info, existingPageFolderPath);\n if (existingPageFolderPath !== expectedFolderPath) {\n await removePage(state, pageId);\n await createPage(state, pageId, pageData);\n return;\n }\n const pageStructure = state.fileStructure.getPageFilesPaths(existingPageFolderPath);\n await writeWml(state.fileSystem, pageStructure.document, pageData);\n};\nexport const incrementPathSuffix = (path) => {\n const [, origPath, suffix = 1] = path.match(/^(.*?)(?: \\((\\d+)\\))?$/) ?? [];\n return `${origPath} (${Number(suffix) + 1})`;\n};\n","import { SiteFileStructure } from './siteFileStructure.js';\nimport { SiteFileSystem } from './siteFileSystem.js';\nimport { buildPagesState } from './stateBuilder.js';\nexport const buildState = async (rootFolderPath, fileStructureType) => {\n const fileSystem = new SiteFileSystem(rootFolderPath);\n const fileStructure = new SiteFileStructure(fileStructureType);\n const pages = await buildPagesState(fileStructure, fileSystem);\n return {\n fileSystem,\n fileStructure,\n pages\n };\n};\n","import { getBackendPath, getPageFilesPaths, getPageFilesNames, getPagesPaths, getPublicPath } from '@wix/anyide-template-layout';\nexport class SiteFileStructure {\n fileStructureType;\n constructor(fileStructureType) {\n this.fileStructureType = fileStructureType;\n }\n getBackendFolderPath() {\n return getBackendPath(this.fileStructureType);\n }\n getPublicFolderPath() {\n return getPublicPath(this.fileStructureType);\n }\n getPagesPaths() {\n return getPagesPaths(this.fileStructureType);\n }\n getPagesPathsForType(type) {\n const paths = this.getPagesPaths();\n const pathForType = paths[type];\n if (!pathForType) {\n throw new Error(`page type \"${type}\" is invalid for structureType \"${this.fileStructureType}\"`);\n }\n return pathForType;\n }\n getPageFilesPaths(pageFolderPath) {\n return getPageFilesPaths(this.fileStructureType, pageFolderPath);\n }\n matchPagePath(filePath) {\n const pageFilesPath = this.getPagesPaths();\n const sortedPageFilesPath = Object.entries(pageFilesPath).sort((a, b) => b[1].length - a[1].length);\n for (const [type, pagePath] of sortedPageFilesPath) {\n const typeRegex = new RegExp(`^(${pagePath.map(entry => (entry.type === 'Folder' ? entry.name : '.+?')).join('/')})/(.+)`);\n const path = typeRegex.exec(filePath);\n if (path) {\n return {\n type,\n pagePath: path[1],\n fileName: path[2]\n };\n }\n }\n return null;\n }\n getStructureInfoByFilePath(filePath) {\n const backendPath = `${this.getBackendFolderPath()}/`;\n const publicPath = `${this.getPublicFolderPath()}/`;\n if (filePath.startsWith(backendPath) || filePath.startsWith(publicPath)) {\n return { type: 'code', isPageFile: false };\n }\n const pageMatch = this.matchPagePath(filePath);\n if (pageMatch) {\n const { pagePath, fileName } = pageMatch;\n const codeFiles = getPageFilesNames(this.fileStructureType, 'code');\n if (codeFiles.has(fileName)) {\n return { type: 'code', isPageFile: true, pagePath };\n }\n const documentFiles = getPageFilesNames(this.fileStructureType, 'document');\n if (documentFiles.has(fileName)) {\n return { type: 'document', isPageFile: true, pagePath };\n }\n }\n return null;\n }\n}\n","export * from './code.js';\nexport * from './page.js';\n","import { getConfig } from './configs/index.js';\nexport const getBackendPath = (structureType) => getConfig(structureType).backend;\nexport const getPublicPath = (structureType) => getConfig(structureType).public;\n","import { blocksConfig } from './blocksConfig.js';\nimport { editorConfig } from './editorConfig.js';\nconst configs = {\n Editor: editorConfig,\n Blocks: blocksConfig\n};\nexport const getConfig = (structureType) => {\n const config = configs[structureType];\n if (!config) {\n throw new Error('Unknown file structure type: ' + structureType);\n }\n return config;\n};\n","export const blocksConfig = {\n backend: 'backend',\n public: 'public',\n pages: {\n structure: {\n code: 'index.js',\n document: {\n structure: 'structure.xml',\n data: 'data.json',\n style: 'style.css'\n }\n },\n folders: {\n Widget: [\n { name: 'widgets', type: 'Folder' },\n { variableName: 'widgetName', type: 'DynamicFolder' }\n ],\n Panel: [\n { name: 'widgets', type: 'Folder' },\n { variableName: 'widgetName', type: 'DynamicFolder' },\n { name: 'panels', type: 'Folder' },\n { variableName: 'panelName', type: 'DynamicFolder' }\n ]\n }\n }\n};\n","export const editorConfig = {\n backend: 'backend',\n public: 'public',\n pages: {\n structure: {\n code: 'index.js',\n document: {\n structure: 'structure.xml',\n data: 'data.json',\n style: 'style.css'\n }\n },\n folders: {\n Page: [\n { name: 'pages', type: 'Folder' },\n { variableName: 'title', type: 'DynamicFolder' }\n ]\n }\n }\n};\n","import { getConfig } from './configs/index.js';\nimport path from 'path';\nexport const getPagesPaths = (structureType) => getConfig(structureType).pages.folders;\nexport const getPageFilesPaths = (structureType, folderPath) => {\n const { pages } = getConfig(structureType);\n const { structure } = pages;\n return {\n code: path.join(folderPath, structure.code),\n document: {\n structure: path.join(folderPath, structure.document.structure),\n style: path.join(folderPath, structure.document.style),\n data: path.join(folderPath, structure.document.data)\n }\n };\n};\nexport const getPageFilesNames = (structureType, pageStructureType) => {\n const { pages } = getConfig(structureType);\n const { structure } = pages;\n if (pageStructureType === 'document') {\n return new Set([\n structure[pageStructureType].structure,\n structure[pageStructureType].data,\n structure[pageStructureType].style\n ]);\n }\n return new Set([structure[pageStructureType]]);\n};\n","import fs from 'fs/promises';\nimport path from 'path';\nexport class SiteFileSystem {\n rootFolderPath;\n constructor(rootFolderPath) {\n this.rootFolderPath = rootFolderPath;\n }\n getFullPath(relativePath) {\n return path.join(this.rootFolderPath, relativePath);\n }\n async readFile(filePath) {\n return fs.readFile(this.getFullPath(filePath), 'utf-8');\n }\n async writeFile(filePath, content) {\n return fs.writeFile(this.getFullPath(filePath), content);\n }\n async removeFile(filePath) {\n return fs.rm(this.getFullPath(filePath));\n }\n async readFolder(folderPath) {\n return fs.readdir(this.getFullPath(folderPath), { withFileTypes: true });\n }\n async createFolder(folderPath) {\n await fs.mkdir(this.getFullPath(folderPath), { recursive: true });\n }\n async removeFolder(folderPath) {\n return fs.rm(this.getFullPath(folderPath), { recursive: true });\n }\n}\n","import { SitePagesState } from './sitePagesState.js';\nimport path from 'path';\nimport { getPageId } from '../document/utils/wmlUtils.js';\nconst getFoldersInPath = async (siteFileSystem, dirPath) => {\n const entries = await siteFileSystem.readFolder(dirPath);\n return entries.filter(entry => entry.isDirectory()).map(({ name }) => name);\n};\nconst getMatchingPaths = (folderName, paths) => paths.filter(([first]) => first?.type === 'DynamicFolder' || first.name === folderName);\nconst getPages = async (siteFileSystem, paths, rootPath = '') => {\n if (paths.length === 0)\n return [];\n const result = [];\n const rootFolders = await getFoldersInPath(siteFileSystem, rootPath);\n for (const folderName of rootFolders) {\n const matchingPaths = getMatchingPaths(folderName, paths);\n if (matchingPaths.length > 0) {\n const finalPaths = matchingPaths\n .filter(p => p.length === 1)\n .map(() => path.join(rootPath, folderName));\n const nonFinalPaths = matchingPaths.filter(p => p.length > 1).map(([, ...rest]) => rest);\n const nestedPages = await getPages(siteFileSystem, nonFinalPaths, path.join(rootPath, folderName));\n result.push(...finalPaths, ...nestedPages);\n }\n }\n return result;\n};\nconst getAllPageFolders = async (siteFileStructure, siteFileSystem) => {\n const paths = siteFileStructure.getPagesPaths();\n return await getPages(siteFileSystem, Object.values(paths));\n};\nexport const buildPagesState = async (siteFileStructure, siteFileSystem) => {\n const state = new SitePagesState();\n const pagesFolders = await getAllPageFolders(siteFileStructure, siteFileSystem);\n await Promise.all(pagesFolders.map(async (folderPath) => {\n const filePaths = siteFileStructure.getPageFilesPaths(folderPath);\n const pageId = await getPageId(siteFileSystem, filePaths.document);\n state.addPage(pageId, folderPath);\n }));\n return state;\n};\n","class CaseInsensitiveMap {\n map = new Map();\n normalizeKey(key) {\n return key.toLowerCase();\n }\n get(key) {\n return this.map.get(this.normalizeKey(key));\n }\n set(key, value) {\n this.map.set(this.normalizeKey(key), value);\n }\n delete(key) {\n this.map.delete(this.normalizeKey(key));\n }\n entries() {\n return this.map.entries();\n }\n}\nexport class SitePagesState {\n pageIdToFolderPath = new Map();\n folderPathToPageId = new CaseInsensitiveMap();\n getAll() {\n const allPages = [];\n for (const [pageId, pagePath] of this.pageIdToFolderPath.entries()) {\n allPages.push({ pageId, pagePath });\n }\n return allPages;\n }\n addPage(pageId, folderPath) {\n this.pageIdToFolderPath.set(pageId, folderPath);\n this.folderPathToPageId.set(folderPath, pageId);\n }\n removePageById(pageId) {\n const folderPath = this.pageIdToFolderPath.get(pageId);\n if (folderPath === undefined) {\n return;\n }\n this.pageIdToFolderPath.delete(pageId);\n this.folderPathToPageId.delete(folderPath);\n }\n removePageByPath(path) {\n const pageId = this.folderPathToPageId.get(path);\n if (pageId === undefined) {\n return;\n }\n this.pageIdToFolderPath.delete(pageId);\n this.folderPathToPageId.delete(path);\n }\n getFolderPath(pageId) {\n return this.pageIdToFolderPath.get(pageId);\n }\n getPageId(folderPath) {\n return this.folderPathToPageId.get(folderPath);\n }\n}\n","import { accumulateFsUpdateToVeloCodeUpdate } from './code/fsUpdates.js';\nimport { accumulatePageFsUpdateToWixSiteFSUpdate } from './page/fsUpdates.js';\nexport const applyFsUpdates = async (state, updates) => {\n const result = {};\n for (const { path, action } of updates) {\n const structureInfo = state.fileStructure.getStructureInfoByFilePath(path);\n if (structureInfo === null)\n continue;\n if (structureInfo.isPageFile) {\n const { document, code } = await accumulatePageFsUpdateToWixSiteFSUpdate(state, result, structureInfo, {\n path,\n action\n });\n result.code = code;\n result.document = document;\n }\n else if (structureInfo.type === 'code') {\n result.code = await accumulateFsUpdateToVeloCodeUpdate(state, result.code, { path, action });\n }\n }\n return result;\n};\n","import { readVeloFile } from './utils/veloUtils.js';\nconst initVeloCodeUpdate = () => {\n return {\n layout: 'ONLINE',\n ignoreForbiddenPaths: true\n };\n};\nexport const applyDeleteCode = (codeUpdate, path) => {\n if (!codeUpdate) {\n codeUpdate = initVeloCodeUpdate();\n }\n codeUpdate.pathsToDelete ??= [];\n codeUpdate.pathsToDelete.push(path);\n return codeUpdate;\n};\nexport const applyUpdateCode = (codeUpdate, veloFile) => {\n if (!codeUpdate) {\n codeUpdate = initVeloCodeUpdate();\n }\n codeUpdate.filesToUpdate ??= [];\n codeUpdate.filesToUpdate.push(veloFile);\n return codeUpdate;\n};\nexport const accumulateFsUpdateToVeloCodeUpdate = async (state, veloCodeUpdate, { path, action }) => {\n let result = veloCodeUpdate;\n if (action === 'DELETE') {\n result = applyDeleteCode(result, path);\n }\n else if (action === 'UPDATE') {\n const veloFile = await readVeloFile(state.fileSystem, path);\n result = applyUpdateCode(result, veloFile);\n }\n return result;\n};\n","import { readVeloFile, getPageCodeFilePath } from '../code/utils/veloUtils.js';\nimport { readWml, getPageId } from '../document/utils/wmlUtils.js';\nimport { applyDeleteCode, applyUpdateCode } from '../code/fsUpdates.js';\nimport { applyDocumentUpdate } from '../document/fsUpdates.js';\nconst applyDeletePage = (siteFsUpdate, pageId) => {\n siteFsUpdate.document = applyDocumentUpdate(siteFsUpdate.document, pageId, null);\n const veloPath = getPageCodeFilePath(pageId);\n siteFsUpdate.code = applyDeleteCode(siteFsUpdate.code, veloPath);\n return siteFsUpdate;\n};\nconst applyCodeUpdateInPage = async (state, siteFsUpdate, pageId, path) => {\n const veloFile = await readVeloFile(state.fileSystem, path);\n siteFsUpdate.code = applyUpdateCode(siteFsUpdate.code, {\n path: getPageCodeFilePath(pageId),\n content: veloFile.content\n });\n return siteFsUpdate;\n};\nexport const accumulatePageFsUpdateToWixSiteFSUpdate = async (state, siteFsUpdate, structureInfo, { action, path }) => {\n const result = siteFsUpdate;\n const pageId = state.pages.getPageId(structureInfo.pagePath);\n if (action === 'DELETE') {\n if (!pageId) {\n // page already removed\n return result;\n }\n const { document, code } = applyDeletePage(result, pageId);\n result.document = document;\n result.code = code;\n state.pages.removePageById(pageId);\n }\n else if (action === 'UPDATE') {\n const page = state.fileStructure.getPageFilesPaths(structureInfo.pagePath);\n if (structureInfo.type === 'document') {\n const wml = await readWml(state.fileSystem, page.document);\n const pageIdInDocument = await getPageId(state.fileSystem, page.document);\n const folderPathForPageIdInDocument = state.pages.getFolderPath(pageIdInDocument);\n // pageIdInDocument is reffering to existing page, which is not equal to the current one\n if (folderPathForPageIdInDocument && folderPathForPageIdInDocument !== structureInfo.pagePath) {\n throw new Error(`Duplicated pageId found in structure.xml files: ${pageIdInDocument}`);\n }\n // if pageId not equal, then we or add new page or change id in structure\n if (pageId !== pageIdInDocument) {\n if (pageId) {\n const { document, code } = applyDeletePage(result, pageId);\n result.document = document;\n result.code = code;\n await applyCodeUpdateInPage(state, result, pageIdInDocument, page.code);\n state.pages.removePageById(pageId);\n }\n state.pages.addPage(pageIdInDocument, structureInfo.pagePath);\n }\n result.document = applyDocumentUpdate(result.document, pageIdInDocument, wml);\n }\n else if (structureInfo.type === 'code') {\n if (!pageId) {\n // no pageId for this code file, so just skip it\n return result;\n }\n await applyCodeUpdateInPage(state, result, pageId, path);\n }\n }\n return result;\n};\n","export const applyDocumentUpdate = (documentUpdate, pageId, value) => {\n documentUpdate ??= { pages: {} };\n documentUpdate.pages[pageId] = value;\n return documentUpdate;\n};\n","import { getSourceFolder } from '@wix/velo-github-layout-definitions';\nimport { useProjectModel } from '../../model.js';\n\nexport function useSrcFolder() {\n const { model } = useProjectModel();\n\n return getSourceFolder(model.projectFolder);\n}\n","import { useState, useEffect } from 'react';\nimport { watch } from 'chokidar';\nimport { debounceQueue } from '@wix/debounce-queue';\nimport { useErrorReporter } from '@wix/cli-error-reporting';\nimport type { FSUpdate } from '@wix/anyide-cli-file-structure';\n\nexport function useFsWatcher(cwd: string) {\n const { reportError } = useErrorReporter();\n\n const [{ watcher, ...publicApi }] = useState(() => {\n const watcher = watch('.', {\n cwd,\n ignoreInitial: true,\n disableGlobbing: true,\n });\n\n return {\n watcher,\n onBatchChange: (eventHandler: (update: FSUpdate[]) => void) => {\n const debouncedHandler = debounceQueue(\n (events: Array<[path: string, action: 'UPDATE' | 'DELETE']>) => {\n const uniqEvents = new Map(events);\n const update: FSUpdate[] = [];\n\n for (const [path, action] of uniqEvents) {\n update.push({ path, action });\n }\n\n eventHandler(update);\n },\n 400\n );\n\n watcher.on('change', (path) => debouncedHandler(path, 'UPDATE'));\n watcher.on('add', (path) => debouncedHandler(path, 'UPDATE'));\n watcher.on('unlink', (path) => debouncedHandler(path, 'DELETE'));\n },\n };\n });\n\n useEffect(() => {\n return () => {\n watcher.close().catch(reportError);\n };\n }, [watcher, reportError]);\n\n return publicApi;\n}\n","import { useCallback } from 'react';\nimport { getTestOverrides } from '@wix/cli-test-overrides';\nimport { useProjectModel } from '../../model.js';\n\nexport function useDevEditorUrl() {\n const { model } = useProjectModel();\n\n return useCallback(\n (serverPort: number) => {\n const { devEditorBaseUrl } = getTestOverrides();\n const url = new URL(\n model.metaSiteId,\n devEditorBaseUrl ?? 'https://wix.com/editor/'\n );\n\n url.searchParams.set('localPort', String(serverPort));\n url.searchParams.set('github2', 'true');\n\n return url.toString();\n },\n [model.metaSiteId]\n );\n}\n","import { useState, useEffect } from 'react';\nimport { useErrorReporter } from '@wix/cli-error-reporting';\nimport { createVeloCLIServer } from '@wix/editor-velo-cli-comm-api';\n\nexport function useWebSocketServer() {\n const { reportError } = useErrorReporter();\n const [server] = useState(() => createVeloCLIServer());\n\n useEffect(() => {\n return () => {\n server.close().catch(reportError);\n };\n }, [server, reportError]);\n\n return server;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA,IAAAA,gBAAkB;;;ACAlB;AAAA,IAAAC,gBAAkB;;;ACAlB;AAAA,IAAAC,gBAA2D;AAG3D,qBAAsB;;;ACHtB;;;ACAA;;;ACAA;;;ACAA;;;ACAA;AAAA,OAAO,UAAU;;;ACAjB;;;ACAA;AAAO,IAAM,qBAAqB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ADC3B,IAAM,eAAe,OAAO,gBAAgB,aAAa;AAC5D,QAAM,UAAU,MAAM,eAAe,SAAS,QAAQ;AACtD,SAAO,EAAE,MAAM,UAAU,QAAQ;AACrC;AACO,IAAM,4BAA4B,OAAO,gBAAgB,aAAa,eAAe,UAAU,UAAU,kBAAkB;AAC3H,IAAM,sBAAsB,CAAC,WAAW,gBAAgB,MAAM;;;ADJrE,IAAM,oBAAoB,OAAO,YAAY,QAAQ;AACjD,QAAM,UAAU,MAAM,WAAW,WAAW,GAAG;AAC/C,QAAM,eAAe,QAAQ,IAAI,CAAC,UAAU;AACxC,UAAM,YAAY,KAAK,KAAK,KAAK,MAAM,IAAI;AAC3C,QAAI,MAAM,OAAO,GAAG;AAChB,aAAO,aAAa,YAAY,SAAS;AAAA,IAC7C;AACA,WAAO,kBAAkB,YAAY,SAAS;AAAA,EAClD,CAAC;AACD,UAAQ,MAAM,QAAQ,IAAI,YAAY,GAAG,KAAK;AAClD;AACA,IAAM,mBAAmB,OAAO,UAAU,kBAAkB,MAAM,YAAY,MAAM,cAAc,qBAAqB,CAAC;AACxH,IAAM,kBAAkB,OAAO,UAAU,kBAAkB,MAAM,YAAY,MAAM,cAAc,oBAAoB,CAAC;AACtH,IAAM,oBAAoB,OAAO,UAAU;AACvC,QAAM,YAAY,CAAC;AACnB,QAAM,QAAQ,MAAM,MAAM,OAAO;AACjC,aAAW,EAAE,QAAQ,SAAS,KAAK,OAAO;AACtC,UAAM,OAAO,MAAM,cAAc,kBAAkB,QAAQ;AAC3D,UAAM,UAAU,MAAM,MAAM,WAAW,SAAS,KAAK,IAAI;AACzD,cAAU,KAAK,EAAE,MAAM,oBAAoB,MAAM,GAAG,QAAQ,CAAC;AAAA,EACjE;AACA,SAAO;AACX;AACO,IAAM,cAAc,OAAO,UAAU;AACxC,QAAM,WAAW,MAAM,QAAQ,IAAI;AAAA,IAC/B,iBAAiB,KAAK;AAAA,IACtB,gBAAgB,KAAK;AAAA,IACrB,kBAAkB,KAAK;AAAA,EAC3B,CAAC;AACD,SAAO;AAAA,IACH,OAAO,SAAS,KAAK;AAAA,IACrB,QAAQ;AAAA,IACR,sBAAsB;AAAA,EAC1B;AACJ;;;AGpCA;;;ACAA;;;ACAA;AAAA,IAAM,cAAc;AACb,IAAM,YAAY,OAAO,gBAAgB,EAAE,UAAU,MAAM;AAC9D,QAAM,sBAAsB,MAAM,eAAe,SAAS,SAAS;AACnE,QAAM,CAACC,QAAO,MAAM,IAAI,oBAAoB,MAAM,WAAW,KAAK,CAAC;AACnE,MAAI,CAACA,QAAO;AACR,UAAM,IAAI,MAAM,yBAAyB;AAAA,EAC7C;AACA,SAAO;AACX;AACA,IAAM,cAAc,OAAO,mBAAmB,eAAe;AACzD,QAAM,CAAC,WAAW,MAAM,KAAK,IAAI,MAAM,QAAQ,IAAI;AAAA,IAC/C,WAAW,kBAAkB,WAAW,WAAW;AAAA,IACnD,WAAW,kBAAkB,MAAM,MAAM;AAAA,IACzC,WAAW,kBAAkB,OAAO,OAAO;AAAA,EAC/C,CAAC;AACD,SAAO,EAAE,WAAW,MAAM,MAAM;AACpC;AACA,IAAM,gBAAgB,OAAO,gBAAgB,mBAAmB,QAAQ;AACpE,QAAM,eAAe,wBAAwB,GAAG;AAChD,QAAM,YAAY,mBAAmB,CAAC,UAAU,aAAa,eAAe,UAAU,UAAU,aAAa,QAAQ,CAAC,CAAC;AAC3H;AACA,IAAM,iBAAiB,OAAO,gBAAgB,sBAAsB;AAChE,QAAM,YAAY,mBAAmB,CAAC,aAAa,eAAe,WAAW,QAAQ,CAAC;AAC1F;AACO,IAAM,WAAW,OAAO,gBAAgB,mBAAmB,aAAa;AAC3E,MAAI,aAAa,MAAM;AACnB,WAAO,eAAe,gBAAgB,iBAAiB;AAAA,EAC3D;AACA,SAAO,cAAc,gBAAgB,mBAAmB,SAAS,IAAI;AACzE;AACO,IAAM,UAAU,OAAO,gBAAgB,sBAAsB;AAChE,QAAM,eAAe,MAAM,YAAY,mBAAmB,OAAO,aAAa,MAAM,eAAe,SAAS,QAAQ,CAAC;AACrH,SAAO,wBAAwB,YAAY;AAC/C;AACA,IAAM,oBAAoB,CAAC,SAAS,KAAK,UAAU,MAAM,QAAW,CAAC;AAC9D,IAAM,0BAA0B,CAAC,cAAc;AAClD,QAAM,qBAAqB,KAAK,MAAM,UAAU,KAAK,OAAO;AAC5D,QAAM,kBAAkB,kBAAkB,EAAE,GAAG,oBAAoB,SAAS,UAAU,QAAQ,CAAC;AAC/F,SAAO;AAAA,IACH,WAAW,UAAU,UAAU;AAAA,IAC/B,OAAO,UAAU,MAAM;AAAA,IACvB,MAAM;AAAA,EACV;AACJ;AACO,IAAM,0BAA0B,CAAC,iBAAiB;AACrD,QAAM,EAAE,SAAS,GAAG,mBAAmB,IAAI,KAAK,MAAM,aAAa,IAAI;AACvE,SAAO;AAAA,IACH,WAAW,EAAE,MAAM,OAAO,SAAS,aAAa,UAAU;AAAA,IAC1D,MAAM,EAAE,MAAM,QAAQ,SAAS,kBAAkB,kBAAkB,EAAE;AAAA,IACrE,OAAO,EAAE,MAAM,OAAO,SAAS,aAAa,MAAM;AAAA,IAClD;AAAA,EACJ;AACJ;;;ADnDA,IAAM,mBAAmB,OAAO,UAAU;AACtC,QAAM,gBAAgB,CAAC;AACvB,QAAM,QAAQ,MAAM,MAAM,OAAO;AACjC,aAAW,EAAE,QAAQ,SAAS,KAAK,OAAO;AACtC,UAAM,OAAO,MAAM,cAAc,kBAAkB,QAAQ;AAC3D,UAAM,MAAM,MAAM,QAAQ,MAAM,YAAY,KAAK,QAAQ;AACzD,kBAAc,MAAM,IAAI;AAAA,EAC5B;AACA,SAAO;AACX;AACO,IAAM,kBAAkB,OAAO,UAAU;AAC5C,QAAM,gBAAgB,MAAM,iBAAiB,KAAK;AAClD,QAAM,EAAE,YAAY,GAAG,WAAW,IAAI;AACtC,MAAI,CAAC,YAAY;AACb,UAAM,IAAI,MAAM,qBAAqB;AAAA,EACzC;AACA,SAAO;AAAA,IACH,OAAO;AAAA,MACH;AAAA,MACA,GAAG;AAAA,IACP;AAAA,EACJ;AACJ;;;AEvBA;;;ACAA;AACA,OAAOC,WAAU;AAEjB,IAAM,+BAA+B,CAAC,OAAO,aAAa;AACtD,QAAM,WAAW,MAAM,cAAc,qBAAqB,SAAS,IAAI;AACvE,SAAOC,MAAK,KAAK,GAAG,SAAS,IAAI,WAAS,MAAM,SAAS,WAAW,MAAM,OAAO,SAAS,MAAM,YAAY,CAAC,CAAC;AAClH;AACA,IAAM,0BAA0B,CAAC,QAAQ,IAAI,QAAQ,2BAA2B,MAAM;AACtF,IAAM,uBAAuB,CAAC,UAAU,aAAa,IAAI,OAAO,IAAI,wBAAwB,QAAQ,CAAC,qBAAqB,EAAE,KAAK,QAAQ;AACzI,IAAM,sBAAsB,CAAC,OAAO,UAAU,2BAA2B;AACrE,MAAI,iBAAiB,6BAA6B,OAAO,QAAQ;AACjE,MAAI,0BAA0B,qBAAqB,wBAAwB,cAAc,GAAG;AACxF,WAAO;AAAA,EACX;AACA,SAAO,MAAM,MAAM,UAAU,cAAc,GAAG;AAC1C,qBAAiB,oBAAoB,cAAc;AAAA,EACvD;AACA,SAAO;AACX;AACA,IAAM,kBAAkB,OAAO,OAAO,YAAY,aAAa;AAC3D,QAAM,gBAAgB,MAAM,cAAc,kBAAkB,UAAU;AACtE,QAAM,QAAQ,IAAI;AAAA,IACd,SAAS,MAAM,YAAY,cAAc,UAAU,QAAQ;AAAA,IAC3D,0BAA0B,MAAM,YAAY,cAAc,IAAI;AAAA,EAClE,CAAC;AACL;AACO,IAAM,aAAa,OAAO,OAAO,QAAQ,aAAa;AACzD,QAAM,gBAAgB,oBAAoB,OAAO,SAAS,IAAI;AAC9D,QAAM,MAAM,WAAW,aAAa,aAAa;AACjD,QAAM,gBAAgB,OAAO,eAAe,QAAQ;AACpD,QAAM,MAAM,QAAQ,QAAQ,aAAa;AAC7C;AACO,IAAM,aAAa,OAAO,OAAO,WAAW;AAC/C,QAAM,aAAa,MAAM,MAAM,cAAc,MAAM;AACnD,MAAI,CAAC;AACD;AACJ,QAAM,MAAM,WAAW,aAAa,UAAU;AAC9C,QAAM,MAAM,eAAe,MAAM;AACrC;AACO,IAAM,aAAa,OAAO,OAAO,QAAQ,wBAAwB,aAAa;AACjF,QAAM,qBAAqB,oBAAoB,OAAO,SAAS,MAAM,sBAAsB;AAC3F,MAAI,2BAA2B,oBAAoB;AAC/C,UAAM,WAAW,OAAO,MAAM;AAC9B,UAAM,WAAW,OAAO,QAAQ,QAAQ;AACxC;AAAA,EACJ;AACA,QAAM,gBAAgB,MAAM,cAAc,kBAAkB,sBAAsB;AAClF,QAAM,SAAS,MAAM,YAAY,cAAc,UAAU,QAAQ;AACrE;AACO,IAAM,sBAAsB,CAACA,UAAS;AACzC,QAAM,CAAC,EAAE,UAAU,SAAS,CAAC,IAAIA,MAAK,MAAM,wBAAwB,KAAK,CAAC;AAC1E,SAAO,GAAG,QAAQ,KAAK,OAAO,MAAM,IAAI,CAAC;AAC7C;;;ADnDA,IAAM,kBAAkB,OAAO,OAAO,QAAQ,aAAa;AACvD,MAAI,aAAa,MAAM;AACnB,WAAO,WAAW,OAAO,MAAM;AAAA,EACnC;AACA,QAAM,qBAAqB,MAAM,MAAM,cAAc,MAAM;AAC3D,MAAI,oBAAoB;AACpB,WAAO,WAAW,OAAO,QAAQ,oBAAoB,QAAQ;AAAA,EACjE;AACA,SAAO,WAAW,OAAO,QAAQ,QAAQ;AAC7C;AACO,IAAM,+BAA+B,OAAO,OAAO,EAAE,MAAM,MAAM;AACpE,aAAW,CAAC,QAAQ,QAAQ,KAAK,OAAO,QAAQ,KAAK,GAAG;AACpD,UAAM,gBAAgB,OAAO,QAAQ,QAAQ;AAAA,EACjD;AACJ;;;AEfA;;;ACAA;;;ACAA;;;ACAA;;;ACAA;;;ACAA;AAAO,IAAM,eAAe;AAAA,EACxB,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,OAAO;AAAA,IACH,WAAW;AAAA,MACP,MAAM;AAAA,MACN,UAAU;AAAA,QACN,WAAW;AAAA,QACX,MAAM;AAAA,QACN,OAAO;AAAA,MACX;AAAA,IACJ;AAAA,IACA,SAAS;AAAA,MACL,QAAQ;AAAA,QACJ,EAAE,MAAM,WAAW,MAAM,SAAS;AAAA,QAClC,EAAE,cAAc,cAAc,MAAM,gBAAgB;AAAA,MACxD;AAAA,MACA,OAAO;AAAA,QACH,EAAE,MAAM,WAAW,MAAM,SAAS;AAAA,QAClC,EAAE,cAAc,cAAc,MAAM,gBAAgB;AAAA,QACpD,EAAE,MAAM,UAAU,MAAM,SAAS;AAAA,QACjC,EAAE,cAAc,aAAa,MAAM,gBAAgB;AAAA,MACvD;AAAA,IACJ;AAAA,EACJ;AACJ;;;ACzBA;AAAO,IAAM,eAAe;AAAA,EACxB,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,OAAO;AAAA,IACH,WAAW;AAAA,MACP,MAAM;AAAA,MACN,UAAU;AAAA,QACN,WAAW;AAAA,QACX,MAAM;AAAA,QACN,OAAO;AAAA,MACX;AAAA,IACJ;AAAA,IACA,SAAS;AAAA,MACL,MAAM;AAAA,QACF,EAAE,MAAM,SAAS,MAAM,SAAS;AAAA,QAChC,EAAE,cAAc,SAAS,MAAM,gBAAgB;AAAA,MACnD;AAAA,IACJ;AAAA,EACJ;AACJ;;;AFjBA,IAAM,UAAU;AAAA,EACZ,QAAQ;AAAA,EACR,QAAQ;AACZ;AACO,IAAM,YAAY,CAAC,kBAAkB;AACxC,QAAM,SAAS,QAAQ,aAAa;AACpC,MAAI,CAAC,QAAQ;AACT,UAAM,IAAI,MAAM,kCAAkC,aAAa;AAAA,EACnE;AACA,SAAO;AACX;;;ADXO,IAAM,iBAAiB,CAAC,kBAAkB,UAAU,aAAa,EAAE;AACnE,IAAM,gBAAgB,CAAC,kBAAkB,UAAU,aAAa,EAAE;;;AIFzE;AACA,OAAOC,WAAU;AACV,IAAM,gBAAgB,CAAC,kBAAkB,UAAU,aAAa,EAAE,MAAM;AACxE,IAAM,oBAAoB,CAAC,eAAe,eAAe;AAC5D,QAAM,EAAE,MAAM,IAAI,UAAU,aAAa;AACzC,QAAM,EAAE,UAAU,IAAI;AACtB,SAAO;AAAA,IACH,MAAMA,MAAK,KAAK,YAAY,UAAU,IAAI;AAAA,IAC1C,UAAU;AAAA,MACN,WAAWA,MAAK,KAAK,YAAY,UAAU,SAAS,SAAS;AAAA,MAC7D,OAAOA,MAAK,KAAK,YAAY,UAAU,SAAS,KAAK;AAAA,MACrD,MAAMA,MAAK,KAAK,YAAY,UAAU,SAAS,IAAI;AAAA,IACvD;AAAA,EACJ;AACJ;AACO,IAAM,oBAAoB,CAAC,eAAe,sBAAsB;AACnE,QAAM,EAAE,MAAM,IAAI,UAAU,aAAa;AACzC,QAAM,EAAE,UAAU,IAAI;AACtB,MAAI,sBAAsB,YAAY;AAClC,WAAO,oBAAI,IAAI;AAAA,MACX,UAAU,iBAAiB,EAAE;AAAA,MAC7B,UAAU,iBAAiB,EAAE;AAAA,MAC7B,UAAU,iBAAiB,EAAE;AAAA,IACjC,CAAC;AAAA,EACL;AACA,SAAO,oBAAI,IAAI,CAAC,UAAU,iBAAiB,CAAC,CAAC;AACjD;;;ANzBO,IAAM,oBAAN,MAAwB;AAAA,EAC3B;AAAA,EACA,YAAY,mBAAmB;AAC3B,SAAK,oBAAoB;AAAA,EAC7B;AAAA,EACA,uBAAuB;AACnB,WAAO,eAAe,KAAK,iBAAiB;AAAA,EAChD;AAAA,EACA,sBAAsB;AAClB,WAAO,cAAc,KAAK,iBAAiB;AAAA,EAC/C;AAAA,EACA,gBAAgB;AACZ,WAAO,cAAc,KAAK,iBAAiB;AAAA,EAC/C;AAAA,EACA,qBAAqB,MAAM;AACvB,UAAM,QAAQ,KAAK,cAAc;AACjC,UAAM,cAAc,MAAM,IAAI;AAC9B,QAAI,CAAC,aAAa;AACd,YAAM,IAAI,MAAM,cAAc,IAAI,mCAAmC,KAAK,iBAAiB,GAAG;AAAA,IAClG;AACA,WAAO;AAAA,EACX;AAAA,EACA,kBAAkB,gBAAgB;AAC9B,WAAO,kBAAkB,KAAK,mBAAmB,cAAc;AAAA,EACnE;AAAA,EACA,cAAc,UAAU;AACpB,UAAM,gBAAgB,KAAK,cAAc;AACzC,UAAM,sBAAsB,OAAO,QAAQ,aAAa,EAAE,KAAK,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,MAAM;AAClG,eAAW,CAAC,MAAM,QAAQ,KAAK,qBAAqB;AAChD,YAAM,YAAY,IAAI,OAAO,KAAK,SAAS,IAAI,WAAU,MAAM,SAAS,WAAW,MAAM,OAAO,KAAM,EAAE,KAAK,GAAG,CAAC,QAAQ;AACzH,YAAMC,QAAO,UAAU,KAAK,QAAQ;AACpC,UAAIA,OAAM;AACN,eAAO;AAAA,UACH;AAAA,UACA,UAAUA,MAAK,CAAC;AAAA,UAChB,UAAUA,MAAK,CAAC;AAAA,QACpB;AAAA,MACJ;AAAA,IACJ;AACA,WAAO;AAAA,EACX;AAAA,EACA,2BAA2B,UAAU;AACjC,UAAM,cAAc,GAAG,KAAK,qBAAqB,CAAC;AAClD,UAAM,aAAa,GAAG,KAAK,oBAAoB,CAAC;AAChD,QAAI,SAAS,WAAW,WAAW,KAAK,SAAS,WAAW,UAAU,GAAG;AACrE,aAAO,EAAE,MAAM,QAAQ,YAAY,MAAM;AAAA,IAC7C;AACA,UAAM,YAAY,KAAK,cAAc,QAAQ;AAC7C,QAAI,WAAW;AACX,YAAM,EAAE,UAAU,SAAS,IAAI;AAC/B,YAAM,YAAY,kBAAkB,KAAK,mBAAmB,MAAM;AAClE,UAAI,UAAU,IAAI,QAAQ,GAAG;AACzB,eAAO,EAAE,MAAM,QAAQ,YAAY,MAAM,SAAS;AAAA,MACtD;AACA,YAAM,gBAAgB,kBAAkB,KAAK,mBAAmB,UAAU;AAC1E,UAAI,cAAc,IAAI,QAAQ,GAAG;AAC7B,eAAO,EAAE,MAAM,YAAY,YAAY,MAAM,SAAS;AAAA,MAC1D;AAAA,IACJ;AACA,WAAO;AAAA,EACX;AACJ;;;AO9DA;AAAA,OAAO,QAAQ;AACf,OAAOC,WAAU;AACV,IAAM,iBAAN,MAAqB;AAAA,EACxB;AAAA,EACA,YAAY,gBAAgB;AACxB,SAAK,iBAAiB;AAAA,EAC1B;AAAA,EACA,YAAY,cAAc;AACtB,WAAOA,MAAK,KAAK,KAAK,gBAAgB,YAAY;AAAA,EACtD;AAAA,EACA,MAAM,SAAS,UAAU;AACrB,WAAO,GAAG,SAAS,KAAK,YAAY,QAAQ,GAAG,OAAO;AAAA,EAC1D;AAAA,EACA,MAAM,UAAU,UAAU,SAAS;AAC/B,WAAO,GAAG,UAAU,KAAK,YAAY,QAAQ,GAAG,OAAO;AAAA,EAC3D;AAAA,EACA,MAAM,WAAW,UAAU;AACvB,WAAO,GAAG,GAAG,KAAK,YAAY,QAAQ,CAAC;AAAA,EAC3C;AAAA,EACA,MAAM,WAAW,YAAY;AACzB,WAAO,GAAG,QAAQ,KAAK,YAAY,UAAU,GAAG,EAAE,eAAe,KAAK,CAAC;AAAA,EAC3E;AAAA,EACA,MAAM,aAAa,YAAY;AAC3B,UAAM,GAAG,MAAM,KAAK,YAAY,UAAU,GAAG,EAAE,WAAW,KAAK,CAAC;AAAA,EACpE;AAAA,EACA,MAAM,aAAa,YAAY;AAC3B,WAAO,GAAG,GAAG,KAAK,YAAY,UAAU,GAAG,EAAE,WAAW,KAAK,CAAC;AAAA,EAClE;AACJ;;;AC5BA;;;ACAA;AAAA,IAAM,qBAAN,MAAyB;AAAA,EACrB,MAAM,oBAAI,IAAI;AAAA,EACd,aAAa,KAAK;AACd,WAAO,IAAI,YAAY;AAAA,EAC3B;AAAA,EACA,IAAI,KAAK;AACL,WAAO,KAAK,IAAI,IAAI,KAAK,aAAa,GAAG,CAAC;AAAA,EAC9C;AAAA,EACA,IAAI,KAAK,OAAO;AACZ,SAAK,IAAI,IAAI,KAAK,aAAa,GAAG,GAAG,KAAK;AAAA,EAC9C;AAAA,EACA,OAAO,KAAK;AACR,SAAK,IAAI,OAAO,KAAK,aAAa,GAAG,CAAC;AAAA,EAC1C;AAAA,EACA,UAAU;AACN,WAAO,KAAK,IAAI,QAAQ;AAAA,EAC5B;AACJ;AACO,IAAM,iBAAN,MAAqB;AAAA,EACxB,qBAAqB,oBAAI,IAAI;AAAA,EAC7B,qBAAqB,IAAI,mBAAmB;AAAA,EAC5C,SAAS;AACL,UAAM,WAAW,CAAC;AAClB,eAAW,CAAC,QAAQ,QAAQ,KAAK,KAAK,mBAAmB,QAAQ,GAAG;AAChE,eAAS,KAAK,EAAE,QAAQ,SAAS,CAAC;AAAA,IACtC;AACA,WAAO;AAAA,EACX;AAAA,EACA,QAAQ,QAAQ,YAAY;AACxB,SAAK,mBAAmB,IAAI,QAAQ,UAAU;AAC9C,SAAK,mBAAmB,IAAI,YAAY,MAAM;AAAA,EAClD;AAAA,EACA,eAAe,QAAQ;AACnB,UAAM,aAAa,KAAK,mBAAmB,IAAI,MAAM;AACrD,QAAI,eAAe,QAAW;AAC1B;AAAA,IACJ;AACA,SAAK,mBAAmB,OAAO,MAAM;AACrC,SAAK,mBAAmB,OAAO,UAAU;AAAA,EAC7C;AAAA,EACA,iBAAiBC,OAAM;AACnB,UAAM,SAAS,KAAK,mBAAmB,IAAIA,KAAI;AAC/C,QAAI,WAAW,QAAW;AACtB;AAAA,IACJ;AACA,SAAK,mBAAmB,OAAO,MAAM;AACrC,SAAK,mBAAmB,OAAOA,KAAI;AAAA,EACvC;AAAA,EACA,cAAc,QAAQ;AAClB,WAAO,KAAK,mBAAmB,IAAI,MAAM;AAAA,EAC7C;AAAA,EACA,UAAU,YAAY;AAClB,WAAO,KAAK,mBAAmB,IAAI,UAAU;AAAA,EACjD;AACJ;;;ADrDA,OAAOC,WAAU;AAEjB,IAAM,mBAAmB,OAAO,gBAAgB,YAAY;AACxD,QAAM,UAAU,MAAM,eAAe,WAAW,OAAO;AACvD,SAAO,QAAQ,OAAO,WAAS,MAAM,YAAY,CAAC,EAAE,IAAI,CAAC,EAAE,KAAK,MAAM,IAAI;AAC9E;AACA,IAAM,mBAAmB,CAAC,YAAY,UAAU,MAAM,OAAO,CAAC,CAAC,KAAK,MAAM,OAAO,SAAS,mBAAmB,MAAM,SAAS,UAAU;AACtI,IAAM,WAAW,OAAO,gBAAgB,OAAO,WAAW,OAAO;AAC7D,MAAI,MAAM,WAAW;AACjB,WAAO,CAAC;AACZ,QAAM,SAAS,CAAC;AAChB,QAAM,cAAc,MAAM,iBAAiB,gBAAgB,QAAQ;AACnE,aAAW,cAAc,aAAa;AAClC,UAAM,gBAAgB,iBAAiB,YAAY,KAAK;AACxD,QAAI,cAAc,SAAS,GAAG;AAC1B,YAAM,aAAa,cACd,OAAO,OAAK,EAAE,WAAW,CAAC,EAC1B,IAAI,MAAMC,MAAK,KAAK,UAAU,UAAU,CAAC;AAC9C,YAAM,gBAAgB,cAAc,OAAO,OAAK,EAAE,SAAS,CAAC,EAAE,IAAI,CAAC,CAAC,EAAK,OAAI,MAAM,IAAI;AACvF,YAAM,cAAc,MAAM,SAAS,gBAAgB,eAAeA,MAAK,KAAK,UAAU,UAAU,CAAC;AACjG,aAAO,KAAK,GAAG,YAAY,GAAG,WAAW;AAAA,IAC7C;AAAA,EACJ;AACA,SAAO;AACX;AACA,IAAM,oBAAoB,OAAO,mBAAmB,mBAAmB;AACnE,QAAM,QAAQ,kBAAkB,cAAc;AAC9C,SAAO,MAAM,SAAS,gBAAgB,OAAO,OAAO,KAAK,CAAC;AAC9D;AACO,IAAM,kBAAkB,OAAO,mBAAmB,mBAAmB;AACxE,QAAM,QAAQ,IAAI,eAAe;AACjC,QAAM,eAAe,MAAM,kBAAkB,mBAAmB,cAAc;AAC9E,QAAM,QAAQ,IAAI,aAAa,IAAI,OAAO,eAAe;AACrD,UAAM,YAAY,kBAAkB,kBAAkB,UAAU;AAChE,UAAM,SAAS,MAAM,UAAU,gBAAgB,UAAU,QAAQ;AACjE,UAAM,QAAQ,QAAQ,UAAU;AAAA,EACpC,CAAC,CAAC;AACF,SAAO;AACX;;;ATpCO,IAAM,aAAa,OAAO,gBAAgB,sBAAsB;AACnE,QAAM,aAAa,IAAI,eAAe,cAAc;AACpD,QAAM,gBAAgB,IAAI,kBAAkB,iBAAiB;AAC7D,QAAM,QAAQ,MAAM,gBAAgB,eAAe,UAAU;AAC7D,SAAO;AAAA,IACH;AAAA,IACA;AAAA,IACA;AAAA,EACJ;AACJ;;;AWZA;;;ACAA;AACA,IAAM,qBAAqB,MAAM;AAC7B,SAAO;AAAA,IACH,QAAQ;AAAA,IACR,sBAAsB;AAAA,EAC1B;AACJ;AACO,IAAM,kBAAkB,CAAC,YAAYC,UAAS;AACjD,MAAI,CAAC,YAAY;AACb,iBAAa,mBAAmB;AAAA,EACpC;AACA,aAAW,kBAAkB,CAAC;AAC9B,aAAW,cAAc,KAAKA,KAAI;AAClC,SAAO;AACX;AACO,IAAM,kBAAkB,CAAC,YAAY,aAAa;AACrD,MAAI,CAAC,YAAY;AACb,iBAAa,mBAAmB;AAAA,EACpC;AACA,aAAW,kBAAkB,CAAC;AAC9B,aAAW,cAAc,KAAK,QAAQ;AACtC,SAAO;AACX;AACO,IAAM,qCAAqC,OAAO,OAAO,gBAAgB,EAAE,MAAAA,OAAM,OAAO,MAAM;AACjG,MAAI,SAAS;AACb,MAAI,WAAW,UAAU;AACrB,aAAS,gBAAgB,QAAQA,KAAI;AAAA,EACzC,WACS,WAAW,UAAU;AAC1B,UAAM,WAAW,MAAM,aAAa,MAAM,YAAYA,KAAI;AAC1D,aAAS,gBAAgB,QAAQ,QAAQ;AAAA,EAC7C;AACA,SAAO;AACX;;;ACjCA;;;ACAA;AAAO,IAAM,sBAAsB,CAAC,gBAAgB,QAAQ,UAAU;AAClE,qBAAmB,EAAE,OAAO,CAAC,EAAE;AAC/B,iBAAe,MAAM,MAAM,IAAI;AAC/B,SAAO;AACX;;;ADAA,IAAM,kBAAkB,CAAC,cAAc,WAAW;AAC9C,eAAa,WAAW,oBAAoB,aAAa,UAAU,QAAQ,IAAI;AAC/E,QAAM,WAAW,oBAAoB,MAAM;AAC3C,eAAa,OAAO,gBAAgB,aAAa,MAAM,QAAQ;AAC/D,SAAO;AACX;AACA,IAAM,wBAAwB,OAAO,OAAO,cAAc,QAAQC,UAAS;AACvE,QAAM,WAAW,MAAM,aAAa,MAAM,YAAYA,KAAI;AAC1D,eAAa,OAAO,gBAAgB,aAAa,MAAM;AAAA,IACnD,MAAM,oBAAoB,MAAM;AAAA,IAChC,SAAS,SAAS;AAAA,EACtB,CAAC;AACD,SAAO;AACX;AACO,IAAM,0CAA0C,OAAO,OAAO,cAAc,eAAe,EAAE,QAAQ,MAAAA,MAAK,MAAM;AACnH,QAAM,SAAS;AACf,QAAM,SAAS,MAAM,MAAM,UAAU,cAAc,QAAQ;AAC3D,MAAI,WAAW,UAAU;AACrB,QAAI,CAAC,QAAQ;AAET,aAAO;AAAA,IACX;AACA,UAAM,EAAE,UAAU,KAAK,IAAI,gBAAgB,QAAQ,MAAM;AACzD,WAAO,WAAW;AAClB,WAAO,OAAO;AACd,UAAM,MAAM,eAAe,MAAM;AAAA,EACrC,WACS,WAAW,UAAU;AAC1B,UAAM,OAAO,MAAM,cAAc,kBAAkB,cAAc,QAAQ;AACzE,QAAI,cAAc,SAAS,YAAY;AACnC,YAAM,MAAM,MAAM,QAAQ,MAAM,YAAY,KAAK,QAAQ;AACzD,YAAM,mBAAmB,MAAM,UAAU,MAAM,YAAY,KAAK,QAAQ;AACxE,YAAM,gCAAgC,MAAM,MAAM,cAAc,gBAAgB;AAEhF,UAAI,iCAAiC,kCAAkC,cAAc,UAAU;AAC3F,cAAM,IAAI,MAAM,mDAAmD,gBAAgB,EAAE;AAAA,MACzF;AAEA,UAAI,WAAW,kBAAkB;AAC7B,YAAI,QAAQ;AACR,gBAAM,EAAE,UAAU,KAAK,IAAI,gBAAgB,QAAQ,MAAM;AACzD,iBAAO,WAAW;AAClB,iBAAO,OAAO;AACd,gBAAM,sBAAsB,OAAO,QAAQ,kBAAkB,KAAK,IAAI;AACtE,gBAAM,MAAM,eAAe,MAAM;AAAA,QACrC;AACA,cAAM,MAAM,QAAQ,kBAAkB,cAAc,QAAQ;AAAA,MAChE;AACA,aAAO,WAAW,oBAAoB,OAAO,UAAU,kBAAkB,GAAG;AAAA,IAChF,WACS,cAAc,SAAS,QAAQ;AACpC,UAAI,CAAC,QAAQ;AAET,eAAO;AAAA,MACX;AACA,YAAM,sBAAsB,OAAO,QAAQ,QAAQA,KAAI;AAAA,IAC3D;AAAA,EACJ;AACA,SAAO;AACX;;;AF7DO,IAAM,iBAAiB,OAAO,OAAO,YAAY;AACpD,QAAM,SAAS,CAAC;AAChB,aAAW,EAAE,MAAAC,OAAM,OAAO,KAAK,SAAS;AACpC,UAAM,gBAAgB,MAAM,cAAc,2BAA2BA,KAAI;AACzE,QAAI,kBAAkB;AAClB;AACJ,QAAI,cAAc,YAAY;AAC1B,YAAM,EAAE,UAAU,KAAK,IAAI,MAAM,wCAAwC,OAAO,QAAQ,eAAe;AAAA,QACnG,MAAAA;AAAA,QACA;AAAA,MACJ,CAAC;AACD,aAAO,OAAO;AACd,aAAO,WAAW;AAAA,IACtB,WACS,cAAc,SAAS,QAAQ;AACpC,aAAO,OAAO,MAAM,mCAAmC,OAAO,OAAO,MAAM,EAAE,MAAAA,OAAM,OAAO,CAAC;AAAA,IAC/F;AAAA,EACJ;AACA,SAAO;AACX;;;ArBjBO,IAAM,mBAAN,MAAM,kBAAiB;AAAA,EAC1B;AAAA,EACA,YAAY,OAAO;AACf,SAAK,QAAQ;AAAA,EACjB;AAAA,EACA,aAAa,OAAO,gBAAgB,mBAAmB;AACnD,UAAM,QAAQ,MAAM,WAAW,gBAAgB,iBAAiB;AAChE,WAAO,IAAI,kBAAiB,KAAK;AAAA,EACrC;AAAA,EACA,MAAM,UAAU;AACZ,WAAO,YAAY,KAAK,KAAK;AAAA,EACjC;AAAA,EACA,MAAM,cAAc;AAChB,WAAO,gBAAgB,KAAK,KAAK;AAAA,EACrC;AAAA,EACA,MAAM,eAAe,SAAS;AAC1B,WAAO,eAAe,KAAK,OAAO,OAAO;AAAA,EAC7C;AAAA,EACA,MAAM,qBAAqB,EAAE,MAAM,SAAS,GAAG;AAC3C,QAAI,MAAM;AACN,YAAM,IAAI,MAAM,yCAAyC;AAAA,IAC7D;AACA,QAAI,UAAU;AACV,YAAM,6BAA6B,KAAK,OAAO,QAAQ;AAAA,IAC3D;AAAA,EACJ;AACJ;;;AFvBA,eAAsB,oBAAoB,KAAa;AACrD,QAAM,YAAY,MAAM,iBAAiB,OAAO,KAAK,QAAQ,EAAE;AAAA,IAC7D,CAAC,UAAmB;AAClB,YAAM,IAAI,SAAS;AAAA,QACjB,MAAM,aAAa,gCAAgC;AAAA,QACnD,OAAO;AAAA,MACT,CAAC;AAAA,IACH;AAAA,EACF;AAEA,SAAO;AAAA,IACL,MAAM,UAAU;AACd,UAAI;AACF,eAAO,MAAM,UAAU,QAAQ;AAAA,MACjC,SAAS,OAAO;AACd,cAAM,IAAI,SAAS;AAAA,UACjB,MAAM,aAAa,6BAA6B;AAAA,UAChD,OAAO;AAAA,QACT,CAAC;AAAA,MACH;AAAA,IACF;AAAA,IACA,MAAM,cAAc;AAClB,UAAI;AACF,eAAO,MAAM,UAAU,YAAY;AAAA,MACrC,SAAS,OAAO;AACd,cAAM,IAAI,SAAS;AAAA,UACjB,MAAM,aAAa,iCAAiC;AAAA,UACpD,OAAO;AAAA,QACT,CAAC;AAAA,MACH;AAAA,IACF;AAAA,IACA,MAAM,eAAe,SAAqB;AACxC,UAAI;AACF,eAAO,MAAM,UAAU,eAAe,OAAO;AAAA,MAC/C,SAAS,OAAO;AACd,cAAM,IAAI,SAAS;AAAA,UACjB,MAAM,aAAa,oCAAoC;AAAA,UACvD,OAAO;AAAA,QACT,CAAC;AAAA,MACH;AAAA,IACF;AAAA,IACA,MAAM,qBAAqB,QAA+B;AACxD,UAAI;AACF,cAAM,UAAU,qBAAqB,MAAM;AAAA,MAC7C,SAAS,OAAO;AACd,cAAM,IAAI,SAAS;AAAA,UACjB,MAAM,aAAa,0CAA0C;AAAA,UAC7D,OAAO;AAAA,QACT,CAAC;AAAA,MACH;AAAA,IACF;AAAA,EACF;AACF;;;A2B3DA;AAGO,SAAS,eAAe;AAC7B,QAAM,EAAE,MAAM,IAAI,gBAAgB;AAElC,SAAO,gBAAgB,MAAM,aAAa;AAC5C;;;ACPA;AAAA,mBAAoC;AACpC,sBAAsB;AAKf,SAAS,aAAa,KAAa;AACxC,QAAM,EAAE,YAAY,IAAI,iBAAiB;AAEzC,QAAM,CAAC,EAAE,SAAS,GAAG,UAAU,CAAC,QAAI,uBAAS,MAAM;AACjD,UAAMC,eAAU,uBAAM,KAAK;AAAA,MACzB;AAAA,MACA,eAAe;AAAA,MACf,iBAAiB;AAAA,IACnB,CAAC;AAED,WAAO;AAAA,MACL,SAAAA;AAAA,MACA,eAAe,CAAC,iBAA+C;AAC7D,cAAM,mBAAmB;AAAA,UACvB,CAAC,WAA+D;AAC9D,kBAAM,aAAa,IAAI,IAAI,MAAM;AACjC,kBAAM,SAAqB,CAAC;AAE5B,uBAAW,CAACC,OAAM,MAAM,KAAK,YAAY;AACvC,qBAAO,KAAK,EAAE,MAAAA,OAAM,OAAO,CAAC;AAAA,YAC9B;AAEA,yBAAa,MAAM;AAAA,UACrB;AAAA,UACA;AAAA,QACF;AAEA,QAAAD,SAAQ,GAAG,UAAU,CAACC,UAAS,iBAAiBA,OAAM,QAAQ,CAAC;AAC/D,QAAAD,SAAQ,GAAG,OAAO,CAACC,UAAS,iBAAiBA,OAAM,QAAQ,CAAC;AAC5D,QAAAD,SAAQ,GAAG,UAAU,CAACC,UAAS,iBAAiBA,OAAM,QAAQ,CAAC;AAAA,MACjE;AAAA,IACF;AAAA,EACF,CAAC;AAED,8BAAU,MAAM;AACd,WAAO,MAAM;AACX,cAAQ,MAAM,EAAE,MAAM,WAAW;AAAA,IACnC;AAAA,EACF,GAAG,CAAC,SAAS,WAAW,CAAC;AAEzB,SAAO;AACT;;;AC/CA;AAAA,IAAAC,gBAA4B;AAIrB,SAAS,kBAAkB;AAChC,QAAM,EAAE,MAAM,IAAI,gBAAgB;AAElC,aAAO;AAAA,IACL,CAAC,eAAuB;AACtB,YAAM,EAAE,iBAAiB,IAAI,iBAAiB;AAC9C,YAAM,MAAM,IAAI;AAAA,QACd,MAAM;AAAA,QACN,oBAAoB;AAAA,MACtB;AAEA,UAAI,aAAa,IAAI,aAAa,OAAO,UAAU,CAAC;AACpD,UAAI,aAAa,IAAI,WAAW,MAAM;AAEtC,aAAO,IAAI,SAAS;AAAA,IACtB;AAAA,IACA,CAAC,MAAM,UAAU;AAAA,EACnB;AACF;;;ACtBA;AAAA,IAAAC,gBAAoC;AAI7B,SAAS,qBAAqB;AACnC,QAAM,EAAE,YAAY,IAAI,iBAAiB;AACzC,QAAM,CAAC,MAAM,QAAI,wBAAS,MAAM,oBAAoB,CAAC;AAErD,+BAAU,MAAM;AACd,WAAO,MAAM;AACX,aAAO,MAAM,EAAE,MAAM,WAAW;AAAA,IAClC;AAAA,EACF,GAAG,CAAC,QAAQ,WAAW,CAAC;AAExB,SAAO;AACT;;;A/BKA,IAAM,4BAAwB,6BAAqC,IAAI;AAEhE,IAAM,yBAAsD,CAAC;AAAA,EAClE;AACF,MAAM;AACJ,QAAM,OAAO,QAAQ;AACrB,QAAM,YAAY,aAAa;AAC/B,QAAM,EAAE,kBAAkB,eAAe,IAAI,cAAc;AAC3D,QAAM,kBAAkB,gBAAgB;AACxC,QAAM,WAAW,mBAAmB;AACpC,QAAM,YAAY,aAAa,SAAS;AAExC,QAAM,CAAC,WAAW,YAAY,QAAI,wBAAS,KAAK;AAChD,QAAM,CAAC,sBAAsB,uBAAuB,QAAI,wBAAS,KAAK;AAEtE,QAAM,EAAE,OAAO,IAAI,SAAS,YAAY;AACtC,UAAM,UAAU,OAAO,CAAC;AACxB,UAAM,gBAAgB,MAAM,oBAAoB,SAAS;AACzD,UAAM,OAAO,MAAM,cAAc,QAAQ;AACzC,UAAM,EAAE,IAAI,MAAM,IAAI,MAAM,iBAAiB,IAAI;AAEjD,aAAS,GAAG,aAAa,MAAM;AAC7B,8BAAwB,IAAI;AAAA,IAC9B,CAAC;AACD,aAAS,GAAG,gBAAgB,MAAM;AAChC,8BAAwB,KAAK;AAAA,IAC/B,CAAC;AACD,aAAS,GAAG,kBAAkB,OAAO,aAAa;AAChD,UAAI;AACF,cAAM,QAAQ,YAAY;AACxB,uBAAa,IAAI;AACjB,gBAAM,cAAc,qBAAqB,EAAE,SAAS,CAAC;AAAA,QACvD,CAAC;AAAA,MACH,SAAS,OAAO;AACd,aAAK,KAAK;AAAA,MACZ,UAAE;AACA,qBAAa,KAAK;AAAA,MACpB;AAAA,IACF,CAAC;AAED,UAAM,EAAE,KAAK,IAAI,MAAM,SAAS,MAAM,OAAO,iBAAiB;AAAA,MAC5D,aAAa,cAAc;AAAA,MAC3B,mBAAmB;AAAA,IACrB,CAAC;AAED,cAAU,cAAc,OAAO,WAAW;AACxC,UAAI;AACF,cAAM,QAAQ,YAAY;AACxB,uBAAa,IAAI;AAEjB,gBAAM,EAAE,UAAU,MAAAC,MAAK,IAAI,MAAM,cAAc,eAAe,MAAM;AAEpE,gBAAM,QAAQ,IAAI;AAAA,YAChB,YAAY,SAAS,mBAAmB,QAAQ;AAAA,YAChDA,SAAQ,eAAe,OAAOA,KAAI;AAAA,UACpC,CAAC;AAAA,QACH,CAAC;AAAA,MACH,SAAS,OAAO;AACd,aAAK,KAAK;AAAA,MACZ,UAAE;AACA,qBAAa,KAAK;AAAA,MACpB;AAAA,IACF,CAAC;AAED,UAAM,eAAe,gBAAgB,IAAI;AACzC,UAAM,YAAY,YAAY;AAE9B,WAAO,EAAE,aAAa;AAAA,EACxB,GAAG,CAAC,CAAC;AAEL,aAAO,sBAAM,QAAQ;AAAA,IACnB,OAAO,MAAM;AAAA,IACb,SAAS,MACP,8BAAAC,QAAA,cAAC,WAAQ,MAAM,8BAAAA,QAAA,cAAC,SAAM,SAAQ,uCAAsC,GAAI;AAAA,IAE1E,SAAS,CAAC,EAAE,QAAQ,EAAE,aAAa,EAAE,MACnC,8BAAAA,QAAA;AAAA,MAAC,sBAAsB;AAAA,MAAtB;AAAA,QACC,OAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,kBAAkB;AAAA,QACpB;AAAA;AAAA,MAEC;AAAA,IACH;AAAA,EAEJ,CAAC;AACH;AAEO,SAAS,oBAAoC;AAClD,QAAM,cAAU,0BAAW,qBAAqB;AAChD,MAAI,WAAW,MAAM;AACnB,UAAM,IAAI;AAAA,MACR;AAAA,IACF;AAAA,EACF;AACA,SAAO;AACT;;;ADtGO,IAAM,mBAAuB,MAAM;AACxC,QAAM,EAAE,cAAc,sBAAsB,iBAAiB,IAC3D,kBAAkB;AACpB,QAAM,EAAE,SAAS,cAAc,IAAI;AAAA,IAAiB,MAClD,YAAY,YAAY;AAAA,EAC1B;AAEA,oBAAS,CAAC,UAAU;AAClB,QAAI,UAAU,OAAO,CAAC,sBAAsB;AAC1C,WAAK,cAAc;AAAA,IACrB;AAAA,EACF,CAAC;AAED,SACE,8BAAAC,QAAA,4BAAAA,QAAA,gBACE,8BAAAA,QAAA,cAAC,SAAM,MAAK,aACV,8BAAAA,QAAA,cAAC,SAAM,MAAK,aACV,8BAAAA,QAAA,cAAC,SAAM,SAAQ,mBAAkB,CACnC,GAAS,KACT,8BAAAA,QAAA,cAAC,SAAM,SAAQ,uCAAsC,CACvD,GACA,8BAAAA,QAAA,cAAC,eAAI,WAAW,GAAG,YAAY,KAC5B,CAAC,wBACA,8BAAAA,QAAA,cAAC,SAAM,MAAK,aACV,8BAAAA,QAAA;AAAA,IAAC;AAAA;AAAA,MACC,SAAQ;AAAA,MACR,YAAY,CAAC,8BAAAA,QAAA,cAAC,OAAI,OAAM,KAAI,CAAE;AAAA;AAAA,EAChC,CACF,GAED,wBACC,8BAAAA,QAAA,4BAAAA,QAAA,gBACG,mBACC,8BAAAA,QAAA;AAAA,IAAC;AAAA;AAAA,MACC,MAAM,8BAAAA,QAAA,cAAC,SAAM,SAAQ,oCAAmC;AAAA;AAAA,EAC1D,IAEA,8BAAAA,QAAA,cAAC,SAAM,MAAK,aACV,8BAAAA,QAAA,cAAC,SAAM,SAAQ,oCAAmC,CACpD,CAEJ,CAEJ,CACF;AAEJ;;;ADxDO,IAAM,aAAiB,MAAM;AAClC,SACE,8BAAAC,QAAA,cAAC,8BACC,8BAAAA,QAAA,cAAC,sBAAiB,CACpB;AAEJ;","names":["import_react","import_react","import_react","match","path","path","path","path","path","path","path","path","path","path","path","watcher","path","import_react","import_react","code","React","React","React"]}
@@ -1,17 +1,17 @@
1
1
  import { createRequire as _createRequire } from 'node:module';
2
2
  const require = _createRequire(import.meta.url);
3
- import "./chunk-GXCSUYZU.js";
3
+ import "./chunk-JMUOY2KY.js";
4
4
  import {
5
5
  addUserFields
6
- } from "./chunk-VEDYEGSD.js";
6
+ } from "./chunk-ZOWPPCOU.js";
7
7
  import {
8
8
  ApiKeyLogin,
9
9
  LoginWithI18n
10
- } from "./chunk-JH6KT73W.js";
10
+ } from "./chunk-WZEZZAE4.js";
11
11
  import {
12
12
  useBiLogger,
13
13
  useErrorReporter
14
- } from "./chunk-5PNAZQGU.js";
14
+ } from "./chunk-OIH7DI4E.js";
15
15
  import {
16
16
  ConfirmInput,
17
17
  Text,
@@ -19,16 +19,16 @@ import {
19
19
  require_react,
20
20
  useExit,
21
21
  useTranslation
22
- } from "./chunk-3UYDT5ZT.js";
22
+ } from "./chunk-5EXKEGN6.js";
23
23
  import "./chunk-W32TRG4E.js";
24
24
  import "./chunk-W423UTD3.js";
25
- import "./chunk-ZS2473DH.js";
25
+ import "./chunk-6F2RSXHN.js";
26
26
  import "./chunk-YU54OBFT.js";
27
27
  import "./chunk-XMTHMR2B.js";
28
- import "./chunk-DJCIQS36.js";
29
- import "./chunk-M4NGCYAG.js";
30
- import "./chunk-VO6LL5ZT.js";
31
- import "./chunk-NEB7POM3.js";
28
+ import "./chunk-MPSJ2YGQ.js";
29
+ import "./chunk-LOJ4G3VD.js";
30
+ import "./chunk-24HYCAK2.js";
31
+ import "./chunk-53UCEZFU.js";
32
32
  import {
33
33
  require_lib
34
34
  } from "./chunk-XU2RG4HE.js";
@@ -120,4 +120,4 @@ var LoginCommand = ({
120
120
  export {
121
121
  LoginCommand
122
122
  };
123
- //# sourceMappingURL=LoginCommand-O4FKLPWK.js.map
123
+ //# sourceMappingURL=LoginCommand-WRCKEWCE.js.map
@@ -2,8 +2,8 @@ import { createRequire as _createRequire } from 'node:module';
2
2
  const require = _createRequire(import.meta.url);
3
3
  import {
4
4
  logout
5
- } from "./chunk-JH6KT73W.js";
6
- import "./chunk-5PNAZQGU.js";
5
+ } from "./chunk-WZEZZAE4.js";
6
+ import "./chunk-OIH7DI4E.js";
7
7
  import {
8
8
  Box_default,
9
9
  ConfirmInput,
@@ -13,14 +13,14 @@ import {
13
13
  require_react,
14
14
  useAsyncCallback,
15
15
  useTranslation
16
- } from "./chunk-3UYDT5ZT.js";
16
+ } from "./chunk-5EXKEGN6.js";
17
17
  import "./chunk-W32TRG4E.js";
18
18
  import "./chunk-W423UTD3.js";
19
- import "./chunk-ZS2473DH.js";
19
+ import "./chunk-6F2RSXHN.js";
20
20
  import "./chunk-YU54OBFT.js";
21
21
  import "./chunk-XMTHMR2B.js";
22
- import "./chunk-VO6LL5ZT.js";
23
- import "./chunk-NEB7POM3.js";
22
+ import "./chunk-24HYCAK2.js";
23
+ import "./chunk-53UCEZFU.js";
24
24
  import {
25
25
  require_lib
26
26
  } from "./chunk-XU2RG4HE.js";
@@ -63,4 +63,4 @@ var LogoutCommand = ({ userInfo }) => {
63
63
  export {
64
64
  LogoutCommand
65
65
  };
66
- //# sourceMappingURL=LogoutCommand-KMWHOQSC.js.map
66
+ //# sourceMappingURL=LogoutCommand-BYWH527O.js.map