@wix/cli-app 1.1.100 → 1.1.102

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 (80) hide show
  1. package/build/{AddPermissionCommand-A5KKB76L.js → AddPermissionCommand-JWFWU33A.js} +2 -2
  2. package/build/{DevCommand-UX2UK2TP.js → DevCommand-6OGRGURU.js} +10 -10
  3. package/build/{DevCommand-UX2UK2TP.js.map → DevCommand-6OGRGURU.js.map} +1 -1
  4. package/build/{GenerateCommand-QDCN4PVN.js → GenerateCommand-XVAC4XSX.js} +7 -7
  5. package/build/{LogsCommand-IRTCFK5W.js → LogsCommand-LWIHQA42.js} +3 -3
  6. package/build/PreviewCommand-B6ZKKE76.js +19 -0
  7. package/build/ReleaseCommand-74EIKSEC.js +23 -0
  8. package/build/{ServeCommand-PLWXLCXA.js → ServeCommand-3ZP2YZ5Z.js} +3 -3
  9. package/build/{build-4VOYYMMY.js → build-HYWIEVFV.js} +6 -6
  10. package/build/{chunk-UBDEBCFQ.js → chunk-3CBDXOAT.js} +7 -7
  11. package/build/{chunk-MDZHJBG6.js → chunk-675XBLUK.js} +2 -2
  12. package/build/{chunk-XBDV7LQ3.js → chunk-7KYOZVDT.js} +6 -6
  13. package/build/{chunk-UT5P3NIZ.js → chunk-7OFAQ3I5.js} +2 -2
  14. package/build/{chunk-DGHVMD27.js → chunk-ARET4KWX.js} +4 -4
  15. package/build/{chunk-JVKNABAO.js → chunk-ESHNTWNK.js} +2 -2
  16. package/build/{chunk-2T5ZVVAV.js → chunk-FD7SWKJQ.js} +2 -2
  17. package/build/{chunk-6PTN75QU.js → chunk-IQYQOEW3.js} +150 -37
  18. package/build/{chunk-6PTN75QU.js.map → chunk-IQYQOEW3.js.map} +1 -1
  19. package/build/{chunk-APL5CTYZ.js → chunk-IUORUH2M.js} +47 -2
  20. package/build/{chunk-APL5CTYZ.js.map → chunk-IUORUH2M.js.map} +1 -1
  21. package/build/{chunk-ES7WO7Z2.js → chunk-JGOWLR4V.js} +2 -2
  22. package/build/{chunk-EMIR5PRB.js → chunk-JHSKAYS4.js} +2 -2
  23. package/build/{chunk-XGNO5T7L.js → chunk-KQNNXJG2.js} +2 -2
  24. package/build/{chunk-7CJYZWA3.js → chunk-N3ILQXOU.js} +341 -173
  25. package/build/{chunk-7CJYZWA3.js.map → chunk-N3ILQXOU.js.map} +1 -1
  26. package/build/{chunk-OQZRTEP3.js → chunk-OMZRNT5C.js} +6 -6
  27. package/build/{chunk-JQ66YTUM.js → chunk-R4PKDJ5K.js} +7 -7
  28. package/build/chunk-R4PKDJ5K.js.map +1 -0
  29. package/build/{chunk-HMXUFEZL.js → chunk-UJID64BQ.js} +3 -3
  30. package/build/{chunk-6NEEHJII.js → chunk-Z74G4VXQ.js} +2 -2
  31. package/build/cloudflare-runtime/entry.js +5 -2
  32. package/build/cloudflare-runtime/getRegisteredExtensions.js +5 -2
  33. package/build/index.js +23 -23
  34. package/build/platform-sdk/chunk-BBFFXVJD.js +2 -0
  35. package/build/platform-sdk/chunk-BBFFXVJD.js.map +1 -0
  36. package/build/platform-sdk/{chunk-ZBGVDXLX.js → chunk-MAZR75DI.js} +2 -2
  37. package/build/platform-sdk/chunk-MAZR75DI.js.map +1 -0
  38. package/build/platform-sdk/chunk-NHYZDMR5.js +2 -0
  39. package/build/platform-sdk/chunk-NHYZDMR5.js.map +1 -0
  40. package/build/platform-sdk/dashboard.js +1 -1
  41. package/build/platform-sdk/editor.js +2 -2
  42. package/build/platform-sdk/editor.js.map +1 -1
  43. package/build/platform-sdk/sdk-context.js +1 -1
  44. package/build/platform-sdk/sdk-context.js.map +1 -1
  45. package/build/platform-sdk/site.js +1 -1
  46. package/build/{preview-JILQHRBU.js → preview-FVP3X6OT.js} +12 -12
  47. package/build/{release-FRBHXZKG.js → release-M6JMQJPF.js} +14 -14
  48. package/build/{render-command-55PFYTHV.js → render-command-4XSRQ32M.js} +5 -5
  49. package/package.json +4 -4
  50. package/build/PreviewCommand-MN3237VK.js +0 -19
  51. package/build/ReleaseCommand-JXWC5LKU.js +0 -23
  52. package/build/chunk-JQ66YTUM.js.map +0 -1
  53. package/build/platform-sdk/chunk-J3SVE4GM.js +0 -2
  54. package/build/platform-sdk/chunk-J3SVE4GM.js.map +0 -1
  55. package/build/platform-sdk/chunk-J7RIIVO6.js +0 -2
  56. package/build/platform-sdk/chunk-J7RIIVO6.js.map +0 -1
  57. package/build/platform-sdk/chunk-ZBGVDXLX.js.map +0 -1
  58. /package/build/{AddPermissionCommand-A5KKB76L.js.map → AddPermissionCommand-JWFWU33A.js.map} +0 -0
  59. /package/build/{GenerateCommand-QDCN4PVN.js.map → GenerateCommand-XVAC4XSX.js.map} +0 -0
  60. /package/build/{LogsCommand-IRTCFK5W.js.map → LogsCommand-LWIHQA42.js.map} +0 -0
  61. /package/build/{PreviewCommand-MN3237VK.js.map → PreviewCommand-B6ZKKE76.js.map} +0 -0
  62. /package/build/{ReleaseCommand-JXWC5LKU.js.map → ReleaseCommand-74EIKSEC.js.map} +0 -0
  63. /package/build/{ServeCommand-PLWXLCXA.js.map → ServeCommand-3ZP2YZ5Z.js.map} +0 -0
  64. /package/build/{build-4VOYYMMY.js.map → build-HYWIEVFV.js.map} +0 -0
  65. /package/build/{chunk-UBDEBCFQ.js.map → chunk-3CBDXOAT.js.map} +0 -0
  66. /package/build/{chunk-MDZHJBG6.js.map → chunk-675XBLUK.js.map} +0 -0
  67. /package/build/{chunk-XBDV7LQ3.js.map → chunk-7KYOZVDT.js.map} +0 -0
  68. /package/build/{chunk-UT5P3NIZ.js.map → chunk-7OFAQ3I5.js.map} +0 -0
  69. /package/build/{chunk-DGHVMD27.js.map → chunk-ARET4KWX.js.map} +0 -0
  70. /package/build/{chunk-JVKNABAO.js.map → chunk-ESHNTWNK.js.map} +0 -0
  71. /package/build/{chunk-2T5ZVVAV.js.map → chunk-FD7SWKJQ.js.map} +0 -0
  72. /package/build/{chunk-ES7WO7Z2.js.map → chunk-JGOWLR4V.js.map} +0 -0
  73. /package/build/{chunk-EMIR5PRB.js.map → chunk-JHSKAYS4.js.map} +0 -0
  74. /package/build/{chunk-XGNO5T7L.js.map → chunk-KQNNXJG2.js.map} +0 -0
  75. /package/build/{chunk-OQZRTEP3.js.map → chunk-OMZRNT5C.js.map} +0 -0
  76. /package/build/{chunk-HMXUFEZL.js.map → chunk-UJID64BQ.js.map} +0 -0
  77. /package/build/{chunk-6NEEHJII.js.map → chunk-Z74G4VXQ.js.map} +0 -0
  78. /package/build/{preview-JILQHRBU.js.map → preview-FVP3X6OT.js.map} +0 -0
  79. /package/build/{release-FRBHXZKG.js.map → release-M6JMQJPF.js.map} +0 -0
  80. /package/build/{render-command-55PFYTHV.js.map → render-command-4XSRQ32M.js.map} +0 -0
@@ -3,16 +3,16 @@ const require = _createRequire(import.meta.url);
3
3
  import {
4
4
  PreviewCommand,
5
5
  assertBuildOutputExists
6
- } from "./chunk-XBDV7LQ3.js";
6
+ } from "./chunk-7KYOZVDT.js";
7
7
  import {
8
8
  useARMClient
9
- } from "./chunk-UBDEBCFQ.js";
9
+ } from "./chunk-3CBDXOAT.js";
10
10
  import {
11
11
  useWixCliAppBi
12
- } from "./chunk-ES7WO7Z2.js";
12
+ } from "./chunk-JGOWLR4V.js";
13
13
  import {
14
14
  useBackendComponents
15
- } from "./chunk-UT5P3NIZ.js";
15
+ } from "./chunk-7OFAQ3I5.js";
16
16
  import {
17
17
  Alert,
18
18
  Box_default,
@@ -38,7 +38,7 @@ import {
38
38
  useDevCenterClient,
39
39
  useProjectModel,
40
40
  useTranslation
41
- } from "./chunk-7CJYZWA3.js";
41
+ } from "./chunk-N3ILQXOU.js";
42
42
  import {
43
43
  __toESM,
44
44
  init_esm_shims
@@ -423,4 +423,4 @@ export {
423
423
  ReleaseVersionType,
424
424
  ReleaseCommand
425
425
  };
426
- //# sourceMappingURL=chunk-OQZRTEP3.js.map
426
+ //# sourceMappingURL=chunk-OMZRNT5C.js.map
@@ -3,13 +3,13 @@ const require = _createRequire(import.meta.url);
3
3
  import {
4
4
  addUserFields,
5
5
  reportCommandStartEvent
6
- } from "./chunk-2T5ZVVAV.js";
6
+ } from "./chunk-FD7SWKJQ.js";
7
7
  import {
8
8
  messages_default
9
9
  } from "./chunk-T5HHDBBR.js";
10
10
  import {
11
11
  DebugLogProvider
12
- } from "./chunk-XGNO5T7L.js";
12
+ } from "./chunk-KQNNXJG2.js";
13
13
  import {
14
14
  AccountAuthProvider,
15
15
  BiProvider,
@@ -23,7 +23,7 @@ import {
23
23
  package_default,
24
24
  render,
25
25
  require_react
26
- } from "./chunk-7CJYZWA3.js";
26
+ } from "./chunk-N3ILQXOU.js";
27
27
  import {
28
28
  __toESM,
29
29
  init_esm_shims
@@ -34,9 +34,9 @@ init_esm_shims();
34
34
  var import_react = __toESM(require_react(), 1);
35
35
  import { cwd } from "node:process";
36
36
  async function initServices(model, { biLogger, errorReporter }) {
37
- errorReporter.setContext("app info", {
38
- appId: model.config.appId,
39
- projectId: model.config.projectId
37
+ errorReporter.setContext("Application Info", {
38
+ "Application ID": model.config.appId,
39
+ "Project ID": model.config.projectId
40
40
  });
41
41
  biLogger.updateDefaults({
42
42
  _appId: model.config.appId
@@ -113,4 +113,4 @@ export {
113
113
  renderCommand,
114
114
  runCommand
115
115
  };
116
- //# sourceMappingURL=chunk-JQ66YTUM.js.map
116
+ //# sourceMappingURL=chunk-R4PKDJ5K.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/commands/render-command.tsx"],"sourcesContent":["import { cwd } from 'node:process';\nimport React from 'react';\nimport type { ReactElement } from 'react';\nimport { AccountAuthProvider } from '@wix/cli-auth';\nimport type { UserInfo } from '@wix/cli-auth';\nimport { render } from '@wix/cli-ui-kit';\nimport { I18nProvider } from '@wix/cli-i18n';\nimport { CliError, CliErrorCode } from '@wix/cli-error';\nimport { DebugLogProvider } from '@wix/cli-debug-log';\nimport { getDebugLogFilePath } from '@wix/cli-core-definitions';\nimport { ErrorReporterProvider } from '@wix/cli-error-reporting';\nimport { BiProvider } from '@wix/cli-telemetry-react';\nimport { addUserFields, reportCommandStartEvent } from '@wix/cli-telemetry';\nimport type { CommandServices } from '@wix/cli-command-contract';\nimport type { Command } from '@commander-js/extra-typings';\nimport type { ProjectModel } from '../model.js';\nimport type { DevCenterComponent } from '../dev-center/components/dev-center-component.js';\nimport { loadProjectModel, ProjectModelProvider } from '../model.js';\nimport messages from '../messages.json' with { type: 'json' };\nimport packageJson from '../../package.json' with { type: 'json' };\n\ninterface Options {\n watchForModelChanges?: boolean;\n skipProjectValidation?: boolean;\n}\n\nasync function initServices(\n model: ProjectModel,\n { biLogger, errorReporter }: CommandServices\n) {\n errorReporter.setContext('Application Info', {\n 'Application ID': model.config.appId,\n 'Project ID': model.config.projectId,\n });\n\n biLogger.updateDefaults({\n _appId: model.config.appId,\n });\n}\n\nfunction getExtraBiFields(command: string, components: DevCenterComponent[]) {\n switch (command) {\n case 'dev':\n case 'preview':\n return {\n is_mocking_values: components.some(\n (component) =>\n component.type === 'EmbeddedScript' && component.paramsOverride\n ),\n };\n default:\n return;\n }\n}\n\nexport async function renderCommand(\n command: Command,\n { biLogger, errorReporter }: CommandServices,\n tree: ReactElement,\n options?: Options\n) {\n await runCommand(command, { biLogger, errorReporter }, async (model) => {\n if (model.components.length === 0 && !options?.skipProjectValidation) {\n throw new CliError({\n code: CliErrorCode.NoExtensionsFound(),\n cause: null,\n });\n }\n\n biLogger.updateDefaults({ command: command.name() });\n\n const debugLogFilePath = getDebugLogFilePath(model.projectFolder);\n\n const handleLogin = (userInfo: UserInfo) => {\n errorReporter.setUser({ id: userInfo.userId });\n addUserFields(biLogger, userInfo.userId);\n };\n\n await render(\n <BiProvider value={biLogger}>\n <ErrorReporterProvider value={errorReporter}>\n <AccountAuthProvider onLogin={handleLogin}>\n <I18nProvider messages={messages}>\n <DebugLogProvider filePath={debugLogFilePath}>\n <ProjectModelProvider\n value={model}\n watchForChanges={options?.watchForModelChanges}\n >\n {tree}\n </ProjectModelProvider>\n </DebugLogProvider>\n </I18nProvider>\n </AccountAuthProvider>\n </ErrorReporterProvider>\n </BiProvider>\n );\n });\n}\n\nexport async function runCommand(\n command: Command,\n services: CommandServices,\n commandFn: (model: ProjectModel) => Promise<void>\n) {\n const model = await loadProjectModel(cwd());\n\n await initServices(model, services);\n\n services.biLogger.updateDefaults({\n command: command.name(),\n });\n\n const commandStatus = reportCommandStartEvent({\n biLogger: services.biLogger,\n command,\n cliVersion: packageJson.version,\n flow: 'Apps',\n projectId: model.config.projectId,\n extensions: model.components.reduce<Record<string, number>>((acc, item) => {\n const value = acc[item.type];\n acc[item.type] = value ? value + 1 : 1;\n return acc;\n }, {}),\n extraFields: getExtraBiFields(command.name(), model.components),\n });\n\n try {\n await commandFn(model);\n commandStatus.succeed();\n } catch (e) {\n commandStatus.failed(e);\n throw e;\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AACA,mBAAkB;AADlB,SAAS,WAAW;AA0BpB,eAAe,aACb,OACA,EAAE,UAAU,cAAc,GAC1B;AACA,gBAAc,WAAW,oBAAoB;AAAA,IAC3C,kBAAkB,MAAM,OAAO;AAAA,IAC/B,cAAc,MAAM,OAAO;AAAA,EAC7B,CAAC;AAED,WAAS,eAAe;AAAA,IACtB,QAAQ,MAAM,OAAO;AAAA,EACvB,CAAC;AACH;AAEA,SAAS,iBAAiB,SAAiB,YAAkC;AAC3E,UAAQ,SAAS;AAAA,IACf,KAAK;AAAA,IACL,KAAK;AACH,aAAO;AAAA,QACL,mBAAmB,WAAW;AAAA,UAC5B,CAAC,cACC,UAAU,SAAS,oBAAoB,UAAU;AAAA,QACrD;AAAA,MACF;AAAA,IACF;AACE;AAAA,EACJ;AACF;AAEA,eAAsB,cACpB,SACA,EAAE,UAAU,cAAc,GAC1B,MACA,SACA;AACA,QAAM,WAAW,SAAS,EAAE,UAAU,cAAc,GAAG,OAAO,UAAU;AACtE,QAAI,MAAM,WAAW,WAAW,KAAK,CAAC,SAAS,uBAAuB;AACpE,YAAM,IAAI,SAAS;AAAA,QACjB,MAAM,aAAa,kBAAkB;AAAA,QACrC,OAAO;AAAA,MACT,CAAC;AAAA,IACH;AAEA,aAAS,eAAe,EAAE,SAAS,QAAQ,KAAK,EAAE,CAAC;AAEnD,UAAM,mBAAmB,oBAAoB,MAAM,aAAa;AAEhE,UAAM,cAAc,CAAC,aAAuB;AAC1C,oBAAc,QAAQ,EAAE,IAAI,SAAS,OAAO,CAAC;AAC7C,oBAAc,UAAU,SAAS,MAAM;AAAA,IACzC;AAEA,UAAM;AAAA,MACJ,6BAAAA,QAAA,cAAC,cAAW,OAAO,YACjB,6BAAAA,QAAA,cAAC,yBAAsB,OAAO,iBAC5B,6BAAAA,QAAA,cAAC,uBAAoB,SAAS,eAC5B,6BAAAA,QAAA,cAAC,gBAAa,UAAU,oBACtB,6BAAAA,QAAA,cAAC,oBAAiB,UAAU,oBAC1B,6BAAAA,QAAA;AAAA,QAAC;AAAA;AAAA,UACC,OAAO;AAAA,UACP,iBAAiB,SAAS;AAAA;AAAA,QAEzB;AAAA,MACH,CACF,CACF,CACF,CACF,CACF;AAAA,IACF;AAAA,EACF,CAAC;AACH;AAEA,eAAsB,WACpB,SACA,UACA,WACA;AACA,QAAM,QAAQ,MAAM,iBAAiB,IAAI,CAAC;AAE1C,QAAM,aAAa,OAAO,QAAQ;AAElC,WAAS,SAAS,eAAe;AAAA,IAC/B,SAAS,QAAQ,KAAK;AAAA,EACxB,CAAC;AAED,QAAM,gBAAgB,wBAAwB;AAAA,IAC5C,UAAU,SAAS;AAAA,IACnB;AAAA,IACA,YAAY,gBAAY;AAAA,IACxB,MAAM;AAAA,IACN,WAAW,MAAM,OAAO;AAAA,IACxB,YAAY,MAAM,WAAW,OAA+B,CAAC,KAAK,SAAS;AACzE,YAAM,QAAQ,IAAI,KAAK,IAAI;AAC3B,UAAI,KAAK,IAAI,IAAI,QAAQ,QAAQ,IAAI;AACrC,aAAO;AAAA,IACT,GAAG,CAAC,CAAC;AAAA,IACL,aAAa,iBAAiB,QAAQ,KAAK,GAAG,MAAM,UAAU;AAAA,EAChE,CAAC;AAED,MAAI;AACF,UAAM,UAAU,KAAK;AACrB,kBAAc,QAAQ;AAAA,EACxB,SAAS,GAAG;AACV,kBAAc,OAAO,CAAC;AACtB,UAAM;AAAA,EACR;AACF;","names":["React"]}
@@ -2,11 +2,11 @@ import { createRequire as _createRequire } from 'node:module';
2
2
  const require = _createRequire(import.meta.url);
3
3
  import {
4
4
  readAppManifest
5
- } from "./chunk-6PTN75QU.js";
5
+ } from "./chunk-IQYQOEW3.js";
6
6
  import {
7
7
  getAppManifestPath,
8
8
  writeJson
9
- } from "./chunk-7CJYZWA3.js";
9
+ } from "./chunk-N3ILQXOU.js";
10
10
  import {
11
11
  init_esm_shims
12
12
  } from "./chunk-4EFJZ3GQ.js";
@@ -29,4 +29,4 @@ export {
29
29
  writeAppManifestFile,
30
30
  readAppManifestFile
31
31
  };
32
- //# sourceMappingURL=chunk-HMXUFEZL.js.map
32
+ //# sourceMappingURL=chunk-UJID64BQ.js.map
@@ -17,7 +17,7 @@ import {
17
17
  useHttpClient,
18
18
  wixCliAppsFlowTunnelCreationStatusSrc11Evid5233,
19
19
  z
20
- } from "./chunk-7CJYZWA3.js";
20
+ } from "./chunk-N3ILQXOU.js";
21
21
  import {
22
22
  __commonJS,
23
23
  __dirname,
@@ -892,4 +892,4 @@ init_esm_shims();
892
892
  export {
893
893
  useTunnel
894
894
  };
895
- //# sourceMappingURL=chunk-6NEEHJII.js.map
895
+ //# sourceMappingURL=chunk-Z74G4VXQ.js.map
@@ -4595,7 +4595,7 @@ function objectToKeyValue(input) {
4595
4595
  return Object.entries(input).filter(([_, value]) => Boolean(value)).map(([key, value]) => `${key}=${value}`).join(",");
4596
4596
  }
4597
4597
 
4598
- // ../../node_modules/@wix/sdk/node_modules/@wix/sdk-runtime/build/context.js
4598
+ // ../../node_modules/@wix/sdk-runtime/build/context.js
4599
4599
  function runWithoutContext(fn) {
4600
4600
  const globalContext = globalThis.__wix_context__;
4601
4601
  const moduleContext = {
@@ -4942,6 +4942,7 @@ function createClient(config) {
4942
4942
  const headers = {
4943
4943
  ...requestInit?.headers ?? {},
4944
4944
  ...authHeaders.headers,
4945
+ ...config.host?.essentials?.passThroughHeaders,
4945
4946
  ..._headers[X_WIX_CONSISTENT_HEADER] ? { [X_WIX_CONSISTENT_HEADER]: _headers[X_WIX_CONSISTENT_HEADER] } : {}
4946
4947
  };
4947
4948
  if (typeof urlOrRequest === "string" || urlOrRequest instanceof URL) {
@@ -4980,7 +4981,9 @@ function createClient(config) {
4980
4981
  ..._headers,
4981
4982
  ...authHeaders?.headers,
4982
4983
  ...options?.headers,
4983
- ...config.host?.essentials?.passThroughHeaders
4984
+ ...config.host?.essentials?.passThroughHeaders,
4985
+ // Ensure consistent header always takes precedence
4986
+ ..._headers[X_WIX_CONSISTENT_HEADER] ? { [X_WIX_CONSISTENT_HEADER]: _headers[X_WIX_CONSISTENT_HEADER] } : {}
4984
4987
  }
4985
4988
  });
4986
4989
  const consistentHeader = findConsistentHeader(response);
@@ -4438,7 +4438,7 @@ function objectToKeyValue(input) {
4438
4438
  return Object.entries(input).filter(([_, value]) => Boolean(value)).map(([key, value]) => `${key}=${value}`).join(",");
4439
4439
  }
4440
4440
 
4441
- // ../../node_modules/@wix/sdk/node_modules/@wix/sdk-runtime/build/context.js
4441
+ // ../../node_modules/@wix/sdk-runtime/build/context.js
4442
4442
  function runWithoutContext(fn) {
4443
4443
  const globalContext = globalThis.__wix_context__;
4444
4444
  const moduleContext = {
@@ -4785,6 +4785,7 @@ function createClient(config) {
4785
4785
  const headers = {
4786
4786
  ...requestInit?.headers ?? {},
4787
4787
  ...authHeaders.headers,
4788
+ ...config.host?.essentials?.passThroughHeaders,
4788
4789
  ..._headers[X_WIX_CONSISTENT_HEADER] ? { [X_WIX_CONSISTENT_HEADER]: _headers[X_WIX_CONSISTENT_HEADER] } : {}
4789
4790
  };
4790
4791
  if (typeof urlOrRequest === "string" || urlOrRequest instanceof URL) {
@@ -4823,7 +4824,9 @@ function createClient(config) {
4823
4824
  ..._headers,
4824
4825
  ...authHeaders?.headers,
4825
4826
  ...options?.headers,
4826
- ...config.host?.essentials?.passThroughHeaders
4827
+ ...config.host?.essentials?.passThroughHeaders,
4828
+ // Ensure consistent header always takes precedence
4829
+ ..._headers[X_WIX_CONSISTENT_HEADER] ? { [X_WIX_CONSISTENT_HEADER]: _headers[X_WIX_CONSISTENT_HEADER] } : {}
4827
4830
  }
4828
4831
  });
4829
4832
  const consistentHeader = findConsistentHeader(response);
package/build/index.js CHANGED
@@ -3,18 +3,18 @@ const require = _createRequire(import.meta.url);
3
3
  import {
4
4
  createI18nT,
5
5
  docsExtensionTypeSchema
6
- } from "./chunk-EMIR5PRB.js";
6
+ } from "./chunk-JHSKAYS4.js";
7
7
  import {
8
8
  runCommand
9
- } from "./chunk-JQ66YTUM.js";
10
- import "./chunk-2T5ZVVAV.js";
9
+ } from "./chunk-R4PKDJ5K.js";
10
+ import "./chunk-FD7SWKJQ.js";
11
11
  import "./chunk-T5HHDBBR.js";
12
- import "./chunk-XGNO5T7L.js";
12
+ import "./chunk-KQNNXJG2.js";
13
13
  import {
14
14
  package_default,
15
15
  require_react,
16
16
  z
17
- } from "./chunk-7CJYZWA3.js";
17
+ } from "./chunk-N3ILQXOU.js";
18
18
  import {
19
19
  __commonJS,
20
20
  __require,
@@ -3377,8 +3377,8 @@ var {
3377
3377
  // src/commands/build.ts
3378
3378
  init_esm_shims();
3379
3379
  var buildCommand = (services) => createCommand("build").action(async (_, command) => {
3380
- const { runCommand: runCommand2 } = await import("./render-command-55PFYTHV.js");
3381
- const { build } = await import("./build-4VOYYMMY.js");
3380
+ const { runCommand: runCommand2 } = await import("./render-command-4XSRQ32M.js");
3381
+ const { build } = await import("./build-HYWIEVFV.js");
3382
3382
  await runCommand2(command, services, build);
3383
3383
  });
3384
3384
 
@@ -3388,8 +3388,8 @@ var import_react = __toESM(require_react(), 1);
3388
3388
  var devCommand = (services) => {
3389
3389
  const t = createI18nT();
3390
3390
  return createCommand("dev").option("-s, --https", t("dev_command_def.option.https")).action(async (options, command) => {
3391
- const { DevCommand } = await import("./DevCommand-UX2UK2TP.js");
3392
- const { renderCommand } = await import("./render-command-55PFYTHV.js");
3391
+ const { DevCommand } = await import("./DevCommand-6OGRGURU.js");
3392
+ const { renderCommand } = await import("./render-command-4XSRQ32M.js");
3393
3393
  const { https = false } = options;
3394
3394
  await renderCommand(command, services, /* @__PURE__ */ import_react.default.createElement(DevCommand, { https }), {
3395
3395
  watchForModelChanges: true
@@ -3465,17 +3465,17 @@ var previewCommand = (services) => {
3465
3465
  ).hideHelp()
3466
3466
  ).action(async (options, command) => {
3467
3467
  const { site, baseUrl, json } = options;
3468
- const { renderCommand, runCommand: runCommand2 } = await import("./render-command-55PFYTHV.js");
3468
+ const { renderCommand, runCommand: runCommand2 } = await import("./render-command-4XSRQ32M.js");
3469
3469
  if (json) {
3470
3470
  return runCommand2(command, services, async (model) => {
3471
- const { nonInteractivePreview } = await import("./preview-JILQHRBU.js");
3471
+ const { nonInteractivePreview } = await import("./preview-FVP3X6OT.js");
3472
3472
  return nonInteractivePreview(services, model, {
3473
3473
  baseUrl,
3474
3474
  siteId: site
3475
3475
  });
3476
3476
  });
3477
3477
  }
3478
- const { PreviewCommand } = await import("./PreviewCommand-MN3237VK.js");
3478
+ const { PreviewCommand } = await import("./PreviewCommand-B6ZKKE76.js");
3479
3479
  await renderCommand(
3480
3480
  command,
3481
3481
  services,
@@ -3492,8 +3492,8 @@ var addPermissionCommand = (services) => {
3492
3492
  return createCommand("add-permission").description("adding a permission to the app").addOption(
3493
3493
  new Option("-p, --permission-id <id>", t("the permission id to add"))
3494
3494
  ).action(async (options, command) => {
3495
- const { renderCommand } = await import("./render-command-55PFYTHV.js");
3496
- const { AddPermissionCommand } = await import("./AddPermissionCommand-A5KKB76L.js");
3495
+ const { renderCommand } = await import("./render-command-4XSRQ32M.js");
3496
+ const { AddPermissionCommand } = await import("./AddPermissionCommand-JWFWU33A.js");
3497
3497
  const { permissionId = "" } = options;
3498
3498
  await renderCommand(
3499
3499
  command,
@@ -3509,8 +3509,8 @@ var import_react4 = __toESM(require_react(), 1);
3509
3509
  var serveCommand = (services) => {
3510
3510
  const t = createI18nT();
3511
3511
  return createCommand("serve").description(t("serve_command_def.description")).action(async (_, command) => {
3512
- const { renderCommand } = await import("./render-command-55PFYTHV.js");
3513
- const { ServeCommandDeprecated } = await import("./ServeCommand-PLWXLCXA.js");
3512
+ const { renderCommand } = await import("./render-command-4XSRQ32M.js");
3513
+ const { ServeCommandDeprecated } = await import("./ServeCommand-3ZP2YZ5Z.js");
3514
3514
  await renderCommand(command, services, /* @__PURE__ */ import_react4.default.createElement(ServeCommandDeprecated, null));
3515
3515
  });
3516
3516
  };
@@ -3525,8 +3525,8 @@ var generateCommand = (services) => {
3525
3525
  t("generate_command.type_flag"),
3526
3526
  validateDocsExtensionType
3527
3527
  ).description(t("generate_command.description")).action(async (options, command) => {
3528
- const { GenerateCommand } = await import("./GenerateCommand-QDCN4PVN.js");
3529
- const { renderCommand } = await import("./render-command-55PFYTHV.js");
3528
+ const { GenerateCommand } = await import("./GenerateCommand-XVAC4XSX.js");
3529
+ const { renderCommand } = await import("./render-command-4XSRQ32M.js");
3530
3530
  const { type } = options;
3531
3531
  await renderCommand(
3532
3532
  command,
@@ -3550,8 +3550,8 @@ var logsCommand = (services) => {
3550
3550
  validateVersion
3551
3551
  ).action(async (options, command) => {
3552
3552
  const { version } = options;
3553
- const { renderCommand } = await import("./render-command-55PFYTHV.js");
3554
- const { LogsCommand } = await import("./LogsCommand-IRTCFK5W.js");
3553
+ const { renderCommand } = await import("./render-command-4XSRQ32M.js");
3554
+ const { LogsCommand } = await import("./LogsCommand-LWIHQA42.js");
3555
3555
  await renderCommand(command, services, /* @__PURE__ */ import_react6.default.createElement(LogsCommand, { version }));
3556
3556
  });
3557
3557
  };
@@ -3584,8 +3584,8 @@ var releaseCommand = (services) => {
3584
3584
  t("app_preview_command_def.option.json")
3585
3585
  ).hideHelp()
3586
3586
  ).action(async (options, command) => {
3587
- const { renderCommand } = await import("./render-command-55PFYTHV.js");
3588
- const { ReleaseCommand, ReleaseVersionType } = await import("./ReleaseCommand-JXWC5LKU.js");
3587
+ const { renderCommand } = await import("./render-command-4XSRQ32M.js");
3588
+ const { ReleaseCommand, ReleaseVersionType } = await import("./ReleaseCommand-74EIKSEC.js");
3589
3589
  const { baseUrl, site, comment, json } = options;
3590
3590
  const versionType = options.versionType ? {
3591
3591
  major: ReleaseVersionType.MAJOR,
@@ -3599,7 +3599,7 @@ var releaseCommand = (services) => {
3599
3599
  };
3600
3600
  if (json) {
3601
3601
  return runCommand(command, services, async (model) => {
3602
- const { nonInteractiveRelease } = await import("./release-FRBHXZKG.js");
3602
+ const { nonInteractiveRelease } = await import("./release-M6JMQJPF.js");
3603
3603
  return nonInteractiveRelease(services, model, props);
3604
3604
  });
3605
3605
  }
@@ -0,0 +1,2 @@
1
+ import{a as v}from"./chunk-NHYZDMR5.js";function U(t){return v({__type:"host",create:e=>Object.entries(t).reduce((n,[r,s])=>({...n,[r]:s(e)}),{})},Object.keys(t))}var F=t=>t!=null&&t!=="",f=t=>D(t,F);function D(t,e=n=>!!n){if(!t)return{};let n={};for(let r in t)e(t[r],r)&&(n[r]=t[r]);return n}var w=t=>{let e=f({"app.id":t.appId,"app.version":t.appVersion,"app.instanceId":t.appInstanceId,"extension.id":t.extensionId,"extension.name":t.extensionName,"extension.type":t.extensionType,platform:t.platform}),n=D({"extension.data":f({...t.extensionData}),site:f({url:t.siteUrl,id:t.tenantType==="SITE"?t.tenantId:void 0}),account:f({id:t.tenantType==="ACCOUNT"?t.tenantId:void 0})},r=>!!r&&Object.keys(r).length>0);return{tags:e,contexts:n}},P=class{constructor(t){this.message=t,this.captureException=()=>{console.error(this.message)},this.captureMessage=()=>{console.error(this.message)},this.startSpan=(e,n)=>(console.error(this.message),n(void 0)),this.startSpanManual=()=>(console.error(this.message),{end:()=>{},fail:()=>{}}),this.endSpanManual=()=>{console.error(this.message)},this.addBreadcrumb=()=>{console.error(this.message)}}},u=t=>new P(t);var d=t=>typeof t?.then=="function",M=(t,e)=>e?d(t)?t.then(n=>(e(n,!0),n)):(e(t,!1),t):t,E=(t,e)=>{t&&(e?setTimeout(t,e):t())},y=()=>Date.now()+Math.random(),I=class{constructor(t){this.options=t,this.spanMap=new Map}createSpan(t,e){let n,r,s,a=Date.now(),l,o=M(e,({sentrySDK:p,scope:h},m)=>{m&&(l=Date.now()-a),p.startSpan({...t,scope:h,forceTransaction:this.options.forceTransaction},()=>new Promise((S,x)=>{n=S,r=x}))?.catch(S=>{if(S?.message!==s?.message)throw S})}),i=p=>{this.spanMap.delete(t.name),M(o,()=>{E(p,l)})},c={end:()=>{i(()=>n?.())},fail:p=>{s=s??p,i(()=>r?.(p))}};return this.spanMap.set(t.name,c),c}getSpan(t){return this.spanMap.get(t.name)}},C=t=>new I(t);var R=(t,{tags:e,contexts:n})=>{e&&t.setTags(e),n&&Object.entries(n).forEach(([r,s])=>typeof s<"u"&&t.setContext(r,s))},B=(t,e)=>{if(!e)return;let{tags:n,contexts:r}=w(e);R(t,{tags:n,contexts:r})},O=["onLoad","forceLoad"],K=new Map,b=class{constructor(t){this.options=t,this.resolvedState=null,this.validateOptions=n=>{let r=O.filter(s=>typeof n.sentrySDK?.[s]!="function");if(r.length>0)throw new Error(`Missing the following options.sentrySDK methods: ${r.join(", ")}`)},this.validateOptions(t);let e=K.get(t.dsn);e||(e=C({forceTransaction:!0}),K.set(t.dsn,e)),this.manualSpanRegistry=e}isFullSDK(){return typeof this.options.sentrySDK.BrowserClient=="function"}init(){if(this.resolvedState)return this.resolvedState;let{sentrySDK:t,transport:e,hostContext:n,dsn:r,release:s,environment:a,tracesSampleRate:l=1,debug:o=!1}=this.options,i=new t.Scope,c=new t.BrowserClient({dsn:r,transport:e??t.makeFetchTransport,integrations:t.getDefaultIntegrations({}),stackParser:t.defaultStackParser,tracesSampleRate:l||1,debug:o,environment:a,release:s});return B(i,n),i.setClient(c),c.init(),this.resolvedState={sentrySDK:t,scope:i,sentryClient:c},this.resolvedState}loadFullSDK(t){if(this.isFullSDK()){t?.(this.init());return}if(this.promise){this.promise.then(t);return}this.promise=new Promise(e=>{this.options.sentrySDK.onLoad(()=>{if(this.resolvedState)return;let n=this.init();e(n),t?.(n)})}),this.options.sentrySDK.forceLoad()}},A=class extends b{constructor(){super(...arguments),this.addBreadcrumb=t=>{let e={type:t.type,category:t.category,message:t.message,level:t.level,data:t.data};this.loadFullSDK(({scope:n})=>{n.addBreadcrumb(e)})},this.captureException=(t,e)=>{this.loadFullSDK(({sentryClient:n,scope:r})=>{n.captureException(t,{captureContext:{level:e?.level??"error",tags:e?.tags,contexts:e?.contexts}},r)})},this.captureMessage=(t,e)=>{this.loadFullSDK(({sentryClient:n,scope:r})=>{n.captureMessage(t,e?.level??"error",{captureContext:{level:e?.level??"error",tags:e?.tags,contexts:e?.contexts}},r)})},this.startSpan=(t,e)=>{if(this.isFullSDK()){let{sentrySDK:o,scope:i}=this.init();return o.startSpan({...t,scope:i},e)}this.loadFullSDK();let n=(o,i)=>{let c=Date.now()-i,p=()=>new Promise(h=>setTimeout(()=>h(o),c));this.loadFullSDK(async({sentrySDK:h,scope:m})=>h.startSpan({...t,scope:m},p))},r=async(o,i)=>{let c=Date.now()-i,p=()=>new Promise((h,m)=>setTimeout(()=>m(o),c));this.loadFullSDK(async({sentrySDK:h,scope:m})=>{try{await h.startSpan({...t,scope:m},p)}catch(g){if(g?.message!==o?.message)throw g}})},s=Date.now(),a,l;try{a=e()}catch(o){l=o}if(l)throw r(l,s),l;return d(a)?a.then(o=>n(o,s)).catch(o=>r(o,s)):n(a,s),a},this.startSpanManual=t=>{let e=this.isFullSDK()?this.init():new Promise(r=>this.loadFullSDK(r));return this.manualSpanRegistry.createSpan(t,e)},this.endSpanManual=t=>{this.manualSpanRegistry.getSpan(t)?.end()}}},V=t=>`Sentry SDK version "${t}" is not supported. Please make sure to use monitoring SDK only in supported environments.`,N=t=>{try{return parseInt(t.split(".")[0],10)}catch{console.warn("Failed to parse Sentry SDK version");return}},T=({sentrySDK:t,dsn:e,...n})=>{if(!t)return u("Unsupported environment - Sentry SDK is not loaded into the environment. Please make sure to use monitoring SDK only in supported environments.");if(!e)return u("Missing Sentry DSN in the app's monitoring configuration. Please make sure to set it.");try{let r=t.SDK_VERSION&&N(t.SDK_VERSION);return r&&r<7?u(V(t.SDK_VERSION)):new A({...n,dsn:e,sentrySDK:t})}catch(r){return u(`Failed to initialize monitoring client: ${r.message}`)}};var j=class{constructor(t){this.options=t,this.captureException=(e,n)=>{let{panoramaClient:r}=this.options;e instanceof Error||(e=new Error(e)),r.errorMonitor().reportError(e,this.contextToData(n))},this.captureMessage=(e,n)=>{let{panoramaClient:r}=this.options,s=r.logger(),a;switch(n?.level){case"error":a=s.error;break;case"warning":a=s.warn;break;default:a=s.info}a(e,this.contextToData(n))},this.startSpan=(e,n)=>{let{panoramaClient:r}=this.options,{name:s}=e,a,l=r.transaction(s,{id:y()}),o=this.contextToData(e);l.start(o);try{a=n(),d(a)?a=a.then(i=>(l.finish(o),i)).catch(i=>{throw this.reportErrorInContextOfSpan(i,e),i}):l.finish(o)}catch(i){throw this.reportErrorInContextOfSpan(i,e),i}return a},this.addBreadcrumb=e=>{let{panoramaClient:n}=this.options;n.errorMonitor().addBreadcrumb(e)}}contextToData(t){return t&&{...t?.tags&&{tags:t.tags},...t?.contexts&&{context:t.contexts},...t?.level&&{severity:t.level}}}reportErrorInContextOfSpan(t,e){let{panoramaClient:n}=this.options,{name:r}=e,s=this.contextToData({...e,contexts:{transaction:{name:r}}});n.errorMonitor().reportError(t,s)}startSpanManual(t){let{panoramaClient:e}=this.options,{name:n}=t,r=e.transaction(n,{id:y()}),s=this.contextToData(t);r.start(s);let a=!1,l=o=>{a||(a=!0,o())};return{end:()=>{l(()=>r.finish(s))},fail:o=>{l(()=>this.reportErrorInContextOfSpan(o,t))}}}endSpanManual(t){let{panoramaClient:e}=this.options,{name:n}=t;e.transaction(n).finish()}},k=t=>{let{panoramaClient:e}=t;return e?new j(t):u("Missing Panorama client")};var L=t=>t?.type==="SENTRY",_=t=>t?.type==="PANORAMA",ct=({sentrySDK:t,sentryTransport:e,panoramaClient:n,monitoringConfig:r,hostContext:s})=>{if(L(r)){let{sentryOptions:a}=r;return()=>T({dsn:a?.dsn,hostContext:s,sentrySDK:t,transport:e})}else if(_(r))return()=>k({panoramaClient:n});return()=>u("Invalid monitoring configuration. Please check the monitoring setup of your application.")};export{U as a,ct as b};
2
+ //# sourceMappingURL=chunk-BBFFXVJD.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../node_modules/@wix/sdk-runtime/build/host-modules.js","../../../node_modules/@wix/monitoring/build/index.js","../../../node_modules/@wix/monitoring-common-sentry/build/index.js","../../../node_modules/@wix/monitoring-browser-sentry/build/index.js","../../../node_modules/@wix/monitoring-browser-panorama/build/index.js","../../../node_modules/@wix/monitoring-browser-sdk-host/build/index.js"],"sourcesContent":["import { contextualizeHostModuleV2 } from './context-v2.js';\nexport function createHostModule(hostModuleAPI) {\n return contextualizeHostModuleV2({\n __type: 'host',\n create: (host) => Object.entries(hostModuleAPI).reduce((acc, [key, fn]) => ({\n ...acc,\n [key]: fn(host),\n }), {}),\n }, Object.keys(hostModuleAPI));\n}\n","// src/context/context-utils.ts\nvar validValue = (value) => value !== void 0 && value !== null && value !== \"\";\nvar pickByValidValues = (obj) => pickBy(obj, validValue);\nfunction pickBy(object, predicate = (value) => !!value) {\n if (!object) {\n return {};\n }\n const result = {};\n for (const key in object) {\n if (predicate(object[key], key)) {\n result[key] = object[key];\n }\n }\n return result;\n}\nvar generateTagsAndContext = (context) => {\n const tags = pickByValidValues({\n \"app.id\": context.appId,\n \"app.version\": context.appVersion,\n \"app.instanceId\": context.appInstanceId,\n \"extension.id\": context.extensionId,\n \"extension.name\": context.extensionName,\n \"extension.type\": context.extensionType,\n platform: context.platform\n });\n const contexts = pickBy(\n {\n \"extension.data\": pickByValidValues({\n ...context.extensionData\n }),\n site: pickByValidValues({\n url: context.siteUrl,\n id: context.tenantType === \"SITE\" ? context.tenantId : void 0\n }),\n account: pickByValidValues({\n id: context.tenantType === \"ACCOUNT\" ? context.tenantId : void 0\n })\n },\n (value) => !!value && Object.keys(value).length > 0\n );\n return {\n tags,\n contexts\n };\n};\n\n// src/fallback-client.ts\nvar FallbackMonitoringClient = class {\n constructor(message) {\n this.message = message;\n this.captureException = () => {\n console.error(this.message);\n };\n this.captureMessage = () => {\n console.error(this.message);\n };\n this.startSpan = (spanOptions, callback) => {\n console.error(this.message);\n return callback(void 0);\n };\n this.startSpanManual = () => {\n console.error(this.message);\n return {\n end: () => {\n },\n fail: () => {\n }\n };\n };\n this.endSpanManual = () => {\n console.error(this.message);\n };\n this.addBreadcrumb = () => {\n console.error(this.message);\n };\n }\n};\nvar createFallbackMonitoringClient = (message) => {\n return new FallbackMonitoringClient(message);\n};\nexport {\n createFallbackMonitoringClient,\n generateTagsAndContext\n};\n","// src/utils.ts\nvar isPromise = (value) => typeof value?.then === \"function\";\nvar runWithMaybePromise = (value, cb) => {\n if (!cb) {\n return value;\n }\n if (isPromise(value)) {\n return value.then((res) => {\n cb(res, true);\n return res;\n });\n } else {\n cb(value, false);\n return value;\n }\n};\nvar runWithMaybeDelay = (cb, maybeTimeCompensation) => {\n if (!cb) {\n return;\n }\n if (maybeTimeCompensation) {\n setTimeout(cb, maybeTimeCompensation);\n } else {\n cb();\n }\n};\nvar generateRandomId = () => Date.now() + Math.random();\n\n// src/manual-span.ts\nvar ManualSpanRegistryImpl = class {\n constructor(options) {\n this.options = options;\n this.spanMap = /* @__PURE__ */ new Map();\n }\n createSpan(spanOptions, sentryOptionsOrPromise) {\n let resolveSpan;\n let rejectSpan;\n let error;\n const startTime = Date.now();\n let maybeDurationCompensation;\n const maybePromise = runWithMaybePromise(\n sentryOptionsOrPromise,\n ({ sentrySDK, scope }, isPromise2) => {\n if (isPromise2) {\n maybeDurationCompensation = Date.now() - startTime;\n }\n const promise = sentrySDK.startSpan(\n {\n ...spanOptions,\n scope,\n forceTransaction: this.options.forceTransaction\n },\n () => new Promise((resolve, reject) => {\n resolveSpan = resolve;\n rejectSpan = reject;\n })\n );\n promise?.catch((e) => {\n if (e?.message !== error?.message) {\n throw e;\n }\n });\n }\n );\n const endSpan = (cb) => {\n this.spanMap.delete(spanOptions.name);\n runWithMaybePromise(maybePromise, () => {\n runWithMaybeDelay(cb, maybeDurationCompensation);\n });\n };\n const span = {\n end: () => {\n endSpan(() => resolveSpan?.());\n },\n fail: (_error) => {\n error = error ?? _error;\n endSpan(() => rejectSpan?.(_error));\n }\n };\n this.spanMap.set(spanOptions.name, span);\n return span;\n }\n getSpan(spanOptions) {\n return this.spanMap.get(spanOptions.name);\n }\n};\nvar createManualSpanRegistry = (options) => new ManualSpanRegistryImpl(options);\nexport {\n createManualSpanRegistry,\n generateRandomId,\n isPromise,\n runWithMaybeDelay,\n runWithMaybePromise\n};\n","// src/factory.ts\nimport { createFallbackMonitoringClient } from \"@wix/monitoring\";\n\n// src/browser/client.ts\nimport { isPromise } from \"@wix/monitoring-common-sentry\";\n\n// src/abstract-browser-client.ts\nimport {\n createManualSpanRegistry\n} from \"@wix/monitoring-common-sentry\";\n\n// src/context-utils.ts\nimport { generateTagsAndContext } from \"@wix/monitoring\";\nvar setTagsAndContextsOnScope = (scope, { tags, contexts }) => {\n if (tags) {\n scope.setTags(tags);\n }\n if (contexts) {\n Object.entries(contexts).forEach(\n ([key, value]) => typeof value !== \"undefined\" && scope.setContext(key, value)\n );\n }\n};\nvar setHostContextOnScope = (scope, hostContext) => {\n if (!hostContext) {\n return;\n }\n const { tags, contexts } = generateTagsAndContext(hostContext);\n setTagsAndContextsOnScope(scope, { tags, contexts });\n};\n\n// src/abstract-browser-client.ts\nvar MandatorySDKMethods = [\"onLoad\", \"forceLoad\"];\nvar manualSpanRegistryMap = /* @__PURE__ */ new Map();\nvar AbstractSentryBrowserClient = class {\n constructor(options) {\n this.options = options;\n this.resolvedState = null;\n this.validateOptions = (options) => {\n const missingSDKMethods = MandatorySDKMethods.filter(\n (method) => typeof options.sentrySDK?.[method] !== \"function\"\n );\n if (missingSDKMethods.length > 0) {\n throw new Error(\n `Missing the following options.sentrySDK methods: ${missingSDKMethods.join(\", \")}`\n );\n }\n };\n this.validateOptions(options);\n let manualSpanRegistry = manualSpanRegistryMap.get(options.dsn);\n if (!manualSpanRegistry) {\n manualSpanRegistry = createManualSpanRegistry({\n // Force spans to be reported as individual transactions (one http request per one span)\n forceTransaction: true\n });\n manualSpanRegistryMap.set(options.dsn, manualSpanRegistry);\n }\n this.manualSpanRegistry = manualSpanRegistry;\n }\n isFullSDK() {\n return typeof this.options.sentrySDK.BrowserClient === \"function\";\n }\n init() {\n if (this.resolvedState) {\n return this.resolvedState;\n }\n const {\n sentrySDK,\n transport,\n hostContext,\n dsn,\n release,\n environment,\n tracesSampleRate = 1,\n debug = false\n } = this.options;\n const scope = new sentrySDK.Scope();\n const sentryClient = new sentrySDK.BrowserClient({\n dsn,\n transport: transport ?? sentrySDK.makeFetchTransport,\n integrations: sentrySDK.getDefaultIntegrations({}),\n stackParser: sentrySDK.defaultStackParser,\n tracesSampleRate: tracesSampleRate || 1,\n debug,\n environment,\n release\n });\n setHostContextOnScope(scope, hostContext);\n scope.setClient(sentryClient);\n sentryClient.init();\n this.resolvedState = {\n sentrySDK,\n scope,\n sentryClient\n };\n return this.resolvedState;\n }\n loadFullSDK(handler) {\n if (this.isFullSDK()) {\n handler?.(this.init());\n return;\n }\n if (this.promise) {\n this.promise.then(handler);\n return;\n }\n this.promise = new Promise((resolve) => {\n this.options.sentrySDK.onLoad(() => {\n if (this.resolvedState) {\n return;\n }\n const resolvedState = this.init();\n resolve(resolvedState);\n handler?.(resolvedState);\n });\n });\n this.options.sentrySDK.forceLoad();\n }\n};\n\n// src/browser/client.ts\nvar SentryBrowserClient = class extends AbstractSentryBrowserClient {\n constructor() {\n super(...arguments);\n /**\n * Records a new breadcrumb which will be attached to future events.\n * Breadcrumbs will be added to subsequent events to provide more context on user's actions prior to an error or crash.\n * @param breadcrumb The breadcrumb to record.\n */\n this.addBreadcrumb = (breadcrumb) => {\n const filteredBreadcrumb = {\n type: breadcrumb.type,\n category: breadcrumb.category,\n message: breadcrumb.message,\n level: breadcrumb.level,\n data: breadcrumb.data\n };\n this.loadFullSDK(({ scope }) => {\n scope.addBreadcrumb(filteredBreadcrumb);\n });\n };\n /**\n * Captures an exception event and sends it to Sentry.\n * @param error The error to capture\n * @param captureContext Optional additional data to attach to the Sentry event.\n */\n this.captureException = (error, captureContext) => {\n this.loadFullSDK(({ sentryClient, scope }) => {\n sentryClient.captureException(\n error,\n {\n captureContext: {\n level: captureContext?.level ?? \"error\",\n tags: captureContext?.tags,\n contexts: captureContext?.contexts\n }\n },\n scope\n );\n });\n };\n /**\n * Captures a message event and sends it to Sentry.\n * @param message The message to capture\n * @param captureContext Define the level of the message or pass in additional data to attach to the message.\n */\n this.captureMessage = (message, captureContext) => {\n this.loadFullSDK(({ sentryClient, scope }) => {\n sentryClient.captureMessage(\n message,\n captureContext?.level ?? \"error\",\n {\n captureContext: {\n level: captureContext?.level ?? \"error\",\n tags: captureContext?.tags,\n contexts: captureContext?.contexts\n }\n },\n scope\n );\n });\n };\n /**\n * Wraps a function with a span and finishes the span after the function is done. The created span is the active span and will be used as parent by other spans created inside the function, as long as the function is executed while the scope is active.\n * @param spanOptions The options for the span\n * @param callback The function to wrap with a span\n * @returns The return value of the callback\n */\n this.startSpan = (spanOptions, callback) => {\n if (this.isFullSDK()) {\n const { sentrySDK, scope } = this.init();\n return sentrySDK.startSpan({ ...spanOptions, scope }, callback);\n }\n this.loadFullSDK();\n const simulateAndReportSuccessfulSpan = (callbackResult2, startTime2) => {\n const spanDuration = Date.now() - startTime2;\n const simulatedCallback = () => {\n return new Promise(\n (resolve) => setTimeout(() => resolve(callbackResult2), spanDuration)\n );\n };\n this.loadFullSDK(async ({ sentrySDK, scope }) => {\n return sentrySDK.startSpan(\n { ...spanOptions, scope },\n simulatedCallback\n );\n });\n };\n const simulateAndReportFailedSpan = async (error2, startTime2) => {\n const spanDuration = Date.now() - startTime2;\n const simulatedCallback = () => {\n return new Promise(\n (_, reject) => setTimeout(() => reject(error2), spanDuration)\n );\n };\n this.loadFullSDK(async ({ sentrySDK, scope }) => {\n try {\n await sentrySDK.startSpan(\n { ...spanOptions, scope },\n simulatedCallback\n );\n } catch (e) {\n if (e?.message !== error2?.message) {\n throw e;\n }\n }\n });\n };\n const startTime = Date.now();\n let callbackResult;\n let error;\n try {\n callbackResult = callback();\n } catch (e) {\n error = e;\n }\n if (error) {\n simulateAndReportFailedSpan(error, startTime);\n throw error;\n } else {\n if (isPromise(callbackResult)) {\n callbackResult.then((res) => simulateAndReportSuccessfulSpan(res, startTime)).catch((e) => simulateAndReportFailedSpan(e, startTime));\n } else {\n simulateAndReportSuccessfulSpan(callbackResult, startTime);\n }\n return callbackResult;\n }\n };\n this.startSpanManual = (spanOptions) => {\n const resolvedStateOrPromise = this.isFullSDK() ? this.init() : new Promise((resolve) => this.loadFullSDK(resolve));\n const span = this.manualSpanRegistry.createSpan(\n spanOptions,\n resolvedStateOrPromise\n );\n return span;\n };\n this.endSpanManual = (spanOptions) => {\n const span = this.manualSpanRegistry.getSpan(spanOptions);\n span?.end();\n };\n }\n};\n\n// src/factory.ts\nvar unsupportedEnvironmentMessage = (version) => `Sentry SDK version \"${version}\" is not supported. Please make sure to use monitoring SDK only in supported environments.`;\nvar major = (version) => {\n try {\n return parseInt(version.split(\".\")[0], 10);\n } catch {\n console.warn(\"Failed to parse Sentry SDK version\");\n return void 0;\n }\n};\nvar createSentryBrowserClient = ({\n sentrySDK,\n dsn,\n ...options\n}) => {\n if (!sentrySDK) {\n return createFallbackMonitoringClient(\n \"Unsupported environment - Sentry SDK is not loaded into the environment. Please make sure to use monitoring SDK only in supported environments.\"\n );\n }\n if (!dsn) {\n return createFallbackMonitoringClient(\n \"Missing Sentry DSN in the app's monitoring configuration. Please make sure to set it.\"\n );\n }\n try {\n const sentrySdkMajorVersion = sentrySDK.SDK_VERSION && major(sentrySDK.SDK_VERSION);\n if (sentrySdkMajorVersion && sentrySdkMajorVersion < 7) {\n return createFallbackMonitoringClient(\n unsupportedEnvironmentMessage(sentrySDK.SDK_VERSION)\n );\n }\n return new SentryBrowserClient({ ...options, dsn, sentrySDK });\n } catch (e) {\n return createFallbackMonitoringClient(\n `Failed to initialize monitoring client: ${e.message}`\n );\n }\n};\nexport {\n createSentryBrowserClient\n};\n","// src/client.ts\nimport { generateRandomId, isPromise } from \"@wix/monitoring-common-sentry\";\nvar PanoramaBrowserClient = class {\n constructor(options) {\n this.options = options;\n this.captureException = (error, captureContext) => {\n const { panoramaClient } = this.options;\n if (!(error instanceof Error)) {\n error = new Error(error);\n }\n panoramaClient.errorMonitor().reportError(error, this.contextToData(captureContext));\n };\n this.captureMessage = (message, captureContext) => {\n const { panoramaClient } = this.options;\n const logger = panoramaClient.logger();\n let loggerByLevel;\n switch (captureContext?.level) {\n case \"error\":\n loggerByLevel = logger.error;\n break;\n case \"warning\":\n loggerByLevel = logger.warn;\n break;\n default:\n loggerByLevel = logger.info;\n }\n loggerByLevel(message, this.contextToData(captureContext));\n };\n this.startSpan = (spanOptions, callback) => {\n const { panoramaClient } = this.options;\n const { name } = spanOptions;\n let res;\n const transaction = panoramaClient.transaction(name, {\n id: generateRandomId()\n });\n const data = this.contextToData(spanOptions);\n transaction.start(data);\n try {\n res = callback();\n if (isPromise(res)) {\n res = res.then((_res) => {\n transaction.finish(data);\n return _res;\n }).catch((e) => {\n this.reportErrorInContextOfSpan(e, spanOptions);\n throw e;\n });\n } else {\n transaction.finish(data);\n }\n } catch (e) {\n this.reportErrorInContextOfSpan(e, spanOptions);\n throw e;\n }\n return res;\n };\n this.addBreadcrumb = (breadcrumb) => {\n const { panoramaClient } = this.options;\n panoramaClient.errorMonitor().addBreadcrumb(breadcrumb);\n };\n }\n contextToData(captureContext) {\n return captureContext && {\n ...captureContext?.tags && { tags: captureContext.tags },\n ...captureContext?.contexts && { context: captureContext.contexts },\n ...captureContext?.level && {\n severity: captureContext.level\n }\n };\n }\n reportErrorInContextOfSpan(error, spanOptions) {\n const { panoramaClient } = this.options;\n const { name } = spanOptions;\n const data = this.contextToData({\n ...spanOptions,\n contexts: { transaction: { name } }\n });\n panoramaClient.errorMonitor().reportError(error, data);\n }\n startSpanManual(spanOptions) {\n const { panoramaClient } = this.options;\n const { name } = spanOptions;\n const transaction = panoramaClient.transaction(name, {\n id: generateRandomId()\n });\n const data = this.contextToData(spanOptions);\n transaction.start(data);\n let reported = false;\n const reportOnce = (cb) => {\n if (reported) {\n return;\n }\n reported = true;\n cb();\n };\n return {\n end: () => {\n reportOnce(() => transaction.finish(data));\n },\n fail: (error) => {\n reportOnce(() => this.reportErrorInContextOfSpan(error, spanOptions));\n }\n };\n }\n endSpanManual(spanOptions) {\n const { panoramaClient } = this.options;\n const { name } = spanOptions;\n panoramaClient.transaction(name).finish();\n }\n};\n\n// src/factory.ts\nimport { createFallbackMonitoringClient } from \"@wix/monitoring\";\nvar createPanoramaBrowserClient = (options) => {\n const { panoramaClient } = options;\n if (!panoramaClient) {\n return createFallbackMonitoringClient(\"Missing Panorama client\");\n }\n return new PanoramaBrowserClient(options);\n};\nexport {\n createPanoramaBrowserClient\n};\n","// src/monitoring-client.ts\nimport { createFallbackMonitoringClient } from \"@wix/monitoring\";\nimport { createSentryBrowserClient } from \"@wix/monitoring-browser-sentry\";\nimport {\n createPanoramaBrowserClient\n} from \"@wix/monitoring-browser-panorama\";\nvar isSentryConfig = (monitoringConfig) => monitoringConfig?.type === \"SENTRY\";\nvar isPanoramaConfig = (monitoringConfig) => monitoringConfig?.type === \"PANORAMA\";\nvar getMonitoringClientFunction = ({\n sentrySDK,\n sentryTransport,\n panoramaClient,\n monitoringConfig,\n hostContext\n}) => {\n if (isSentryConfig(monitoringConfig)) {\n const { sentryOptions } = monitoringConfig;\n return () => createSentryBrowserClient({\n dsn: sentryOptions?.dsn,\n hostContext,\n sentrySDK,\n transport: sentryTransport\n });\n } else if (isPanoramaConfig(monitoringConfig)) {\n return () => createPanoramaBrowserClient({ panoramaClient });\n }\n return () => createFallbackMonitoringClient(\n \"Invalid monitoring configuration. Please check the monitoring setup of your application.\"\n );\n};\nexport {\n getMonitoringClientFunction\n};\n"],"mappings":"wCACO,SAASA,EAAiBC,EAAe,CAC5C,OAAOC,EAA0B,CAC7B,OAAQ,OACR,OAASC,GAAS,OAAO,QAAQF,CAAa,EAAE,OAAO,CAACG,EAAK,CAACC,EAAKC,CAAE,KAAO,CACxE,GAAGF,EACH,CAACC,CAAG,EAAGC,EAAGH,CAAI,CAClB,GAAI,CAAC,CAAC,CACV,EAAG,OAAO,KAAKF,CAAa,CAAC,CACjC,CCRA,IAAIM,EAAcC,GAA8BA,GAAU,MAAQA,IAAU,GACxEC,EAAqBC,GAAQC,EAAOD,EAAKH,CAAU,EACvD,SAASI,EAAOC,EAAQC,EAAaL,GAAU,CAAC,CAACA,EAAO,CACtD,GAAI,CAACI,EACH,MAAO,CAAC,EAEV,IAAME,EAAS,CAAC,EAChB,QAAWC,KAAOH,EACZC,EAAUD,EAAOG,CAAG,EAAGA,CAAG,IAC5BD,EAAOC,CAAG,EAAIH,EAAOG,CAAG,GAG5B,OAAOD,CACT,CACA,IAAIE,EAA0BC,GAAY,CACxC,IAAMC,EAAOT,EAAkB,CAC7B,SAAUQ,EAAQ,MAClB,cAAeA,EAAQ,WACvB,iBAAkBA,EAAQ,cAC1B,eAAgBA,EAAQ,YACxB,iBAAkBA,EAAQ,cAC1B,iBAAkBA,EAAQ,cAC1B,SAAUA,EAAQ,QACpB,CAAC,EACKE,EAAWR,EACf,CACE,iBAAkBF,EAAkB,CAClC,GAAGQ,EAAQ,aACb,CAAC,EACD,KAAMR,EAAkB,CACtB,IAAKQ,EAAQ,QACb,GAAIA,EAAQ,aAAe,OAASA,EAAQ,SAAW,MACzD,CAAC,EACD,QAASR,EAAkB,CACzB,GAAIQ,EAAQ,aAAe,UAAYA,EAAQ,SAAW,MAC5D,CAAC,CACH,EACCT,GAAU,CAAC,CAACA,GAAS,OAAO,KAAKA,CAAK,EAAE,OAAS,CACpD,EACA,MAAO,CACL,KAAAU,EACA,SAAAC,CACF,CACF,EAGIC,EAA2B,KAAM,CACnC,YAAYC,EAAS,CACnB,KAAK,QAAUA,EACf,KAAK,iBAAmB,IAAM,CAC5B,QAAQ,MAAM,KAAK,OAAO,CAC5B,EACA,KAAK,eAAiB,IAAM,CAC1B,QAAQ,MAAM,KAAK,OAAO,CAC5B,EACA,KAAK,UAAY,CAACC,EAAaC,KAC7B,QAAQ,MAAM,KAAK,OAAO,EACnBA,EAAS,MAAM,GAExB,KAAK,gBAAkB,KACrB,QAAQ,MAAM,KAAK,OAAO,EACnB,CACL,IAAK,IAAM,CACX,EACA,KAAM,IAAM,CACZ,CACF,GAEF,KAAK,cAAgB,IAAM,CACzB,QAAQ,MAAM,KAAK,OAAO,CAC5B,EACA,KAAK,cAAgB,IAAM,CACzB,QAAQ,MAAM,KAAK,OAAO,CAC5B,CACF,CACF,EACIC,EAAkCH,GAC7B,IAAID,EAAyBC,CAAO,EC7E7C,IAAII,EAAaC,GAAU,OAAOA,GAAO,MAAS,WAC9CC,EAAsB,CAACD,EAAOE,IAC3BA,EAGDH,EAAUC,CAAK,EACVA,EAAM,KAAMG,IACjBD,EAAGC,EAAK,EAAI,EACLA,EACR,GAEDD,EAAGF,EAAO,EAAK,EACRA,GATAA,EAYPI,EAAoB,CAACF,EAAIG,IAA0B,CAChDH,IAGDG,EACF,WAAWH,EAAIG,CAAqB,EAEpCH,EAAG,EAEP,EACII,EAAmB,IAAM,KAAK,IAAI,EAAI,KAAK,OAAO,EAGlDC,EAAyB,KAAM,CACjC,YAAYC,EAAS,CACnB,KAAK,QAAUA,EACf,KAAK,QAA0B,IAAI,GACrC,CACA,WAAWC,EAAaC,EAAwB,CAC9C,IAAIC,EACAC,EACAC,EACEC,EAAY,KAAK,IAAI,EACvBC,EACEC,EAAef,EACnBS,EACA,CAAC,CAAE,UAAAO,EAAW,MAAAC,CAAM,EAAGC,IAAe,CAChCA,IACFJ,EAA4B,KAAK,IAAI,EAAID,GAE3BG,EAAU,UACxB,CACE,GAAGR,EACH,MAAAS,EACA,iBAAkB,KAAK,QAAQ,gBACjC,EACA,IAAM,IAAI,QAAQ,CAACE,EAASC,IAAW,CACrCV,EAAcS,EACdR,EAAaS,CACf,CAAC,CACH,GACS,MAAOC,GAAM,CACpB,GAAIA,GAAG,UAAYT,GAAO,QACxB,MAAMS,CAEV,CAAC,CACH,CACF,EACMC,EAAWrB,GAAO,CACtB,KAAK,QAAQ,OAAOO,EAAY,IAAI,EACpCR,EAAoBe,EAAc,IAAM,CACtCZ,EAAkBF,EAAIa,CAAyB,CACjD,CAAC,CACH,EACMS,EAAO,CACX,IAAK,IAAM,CACTD,EAAQ,IAAMZ,IAAc,CAAC,CAC/B,EACA,KAAOc,GAAW,CAChBZ,EAAQA,GAASY,EACjBF,EAAQ,IAAMX,IAAaa,CAAM,CAAC,CACpC,CACF,EACA,YAAK,QAAQ,IAAIhB,EAAY,KAAMe,CAAI,EAChCA,CACT,CACA,QAAQf,EAAa,CACnB,OAAO,KAAK,QAAQ,IAAIA,EAAY,IAAI,CAC1C,CACF,EACIiB,EAA4BlB,GAAY,IAAID,EAAuBC,CAAO,ECzE9E,IAAImB,EAA4B,CAACC,EAAO,CAAE,KAAAC,EAAM,SAAAC,CAAS,IAAM,CACzDD,GACFD,EAAM,QAAQC,CAAI,EAEhBC,GACF,OAAO,QAAQA,CAAQ,EAAE,QACvB,CAAC,CAACC,EAAKC,CAAK,IAAM,OAAOA,EAAU,KAAeJ,EAAM,WAAWG,EAAKC,CAAK,CAC/E,CAEJ,EACIC,EAAwB,CAACL,EAAOM,IAAgB,CAClD,GAAI,CAACA,EACH,OAEF,GAAM,CAAE,KAAAL,EAAM,SAAAC,CAAS,EAAIK,EAAuBD,CAAW,EAC7DP,EAA0BC,EAAO,CAAE,KAAAC,EAAM,SAAAC,CAAS,CAAC,CACrD,EAGIM,EAAsB,CAAC,SAAU,WAAW,EAC5CC,EAAwC,IAAI,IAC5CC,EAA8B,KAAM,CACtC,YAAYC,EAAS,CACnB,KAAK,QAAUA,EACf,KAAK,cAAgB,KACrB,KAAK,gBAAmBA,GAAY,CAClC,IAAMC,EAAoBJ,EAAoB,OAC3CK,GAAW,OAAOF,EAAQ,YAAYE,CAAM,GAAM,UACrD,EACA,GAAID,EAAkB,OAAS,EAC7B,MAAM,IAAI,MACR,oDAAoDA,EAAkB,KAAK,IAAI,CAAC,EAClF,CAEJ,EACA,KAAK,gBAAgBD,CAAO,EAC5B,IAAIG,EAAqBL,EAAsB,IAAIE,EAAQ,GAAG,EACzDG,IACHA,EAAqBC,EAAyB,CAE5C,iBAAkB,EACpB,CAAC,EACDN,EAAsB,IAAIE,EAAQ,IAAKG,CAAkB,GAE3D,KAAK,mBAAqBA,CAC5B,CACA,WAAY,CACV,OAAO,OAAO,KAAK,QAAQ,UAAU,eAAkB,UACzD,CACA,MAAO,CACL,GAAI,KAAK,cACP,OAAO,KAAK,cAEd,GAAM,CACJ,UAAAE,EACA,UAAAC,EACA,YAAAX,EACA,IAAAY,EACA,QAAAC,EACA,YAAAC,EACA,iBAAAC,EAAmB,EACnB,MAAAC,EAAQ,EACV,EAAI,KAAK,QACHtB,EAAQ,IAAIgB,EAAU,MACtBO,EAAe,IAAIP,EAAU,cAAc,CAC/C,IAAAE,EACA,UAAWD,GAAaD,EAAU,mBAClC,aAAcA,EAAU,uBAAuB,CAAC,CAAC,EACjD,YAAaA,EAAU,mBACvB,iBAAkBK,GAAoB,EACtC,MAAAC,EACA,YAAAF,EACA,QAAAD,CACF,CAAC,EACD,OAAAd,EAAsBL,EAAOM,CAAW,EACxCN,EAAM,UAAUuB,CAAY,EAC5BA,EAAa,KAAK,EAClB,KAAK,cAAgB,CACnB,UAAAP,EACA,MAAAhB,EACA,aAAAuB,CACF,EACO,KAAK,aACd,CACA,YAAYC,EAAS,CACnB,GAAI,KAAK,UAAU,EAAG,CACpBA,IAAU,KAAK,KAAK,CAAC,EACrB,MACF,CACA,GAAI,KAAK,QAAS,CAChB,KAAK,QAAQ,KAAKA,CAAO,EACzB,MACF,CACA,KAAK,QAAU,IAAI,QAASC,GAAY,CACtC,KAAK,QAAQ,UAAU,OAAO,IAAM,CAClC,GAAI,KAAK,cACP,OAEF,IAAMC,EAAgB,KAAK,KAAK,EAChCD,EAAQC,CAAa,EACrBF,IAAUE,CAAa,CACzB,CAAC,CACH,CAAC,EACD,KAAK,QAAQ,UAAU,UAAU,CACnC,CACF,EAGIC,EAAsB,cAAcjB,CAA4B,CAClE,aAAc,CACZ,MAAM,GAAG,SAAS,EAMlB,KAAK,cAAiBkB,GAAe,CACnC,IAAMC,EAAqB,CACzB,KAAMD,EAAW,KACjB,SAAUA,EAAW,SACrB,QAASA,EAAW,QACpB,MAAOA,EAAW,MAClB,KAAMA,EAAW,IACnB,EACA,KAAK,YAAY,CAAC,CAAE,MAAA5B,CAAM,IAAM,CAC9BA,EAAM,cAAc6B,CAAkB,CACxC,CAAC,CACH,EAMA,KAAK,iBAAmB,CAACC,EAAOC,IAAmB,CACjD,KAAK,YAAY,CAAC,CAAE,aAAAR,EAAc,MAAAvB,CAAM,IAAM,CAC5CuB,EAAa,iBACXO,EACA,CACE,eAAgB,CACd,MAAOC,GAAgB,OAAS,QAChC,KAAMA,GAAgB,KACtB,SAAUA,GAAgB,QAC5B,CACF,EACA/B,CACF,CACF,CAAC,CACH,EAMA,KAAK,eAAiB,CAACgC,EAASD,IAAmB,CACjD,KAAK,YAAY,CAAC,CAAE,aAAAR,EAAc,MAAAvB,CAAM,IAAM,CAC5CuB,EAAa,eACXS,EACAD,GAAgB,OAAS,QACzB,CACE,eAAgB,CACd,MAAOA,GAAgB,OAAS,QAChC,KAAMA,GAAgB,KACtB,SAAUA,GAAgB,QAC5B,CACF,EACA/B,CACF,CACF,CAAC,CACH,EAOA,KAAK,UAAY,CAACiC,EAAaC,IAAa,CAC1C,GAAI,KAAK,UAAU,EAAG,CACpB,GAAM,CAAE,UAAAlB,EAAW,MAAAhB,CAAM,EAAI,KAAK,KAAK,EACvC,OAAOgB,EAAU,UAAU,CAAE,GAAGiB,EAAa,MAAAjC,CAAM,EAAGkC,CAAQ,CAChE,CACA,KAAK,YAAY,EACjB,IAAMC,EAAkC,CAACC,EAAiBC,IAAe,CACvE,IAAMC,EAAe,KAAK,IAAI,EAAID,EAC5BE,EAAoB,IACjB,IAAI,QACRd,GAAY,WAAW,IAAMA,EAAQW,CAAe,EAAGE,CAAY,CACtE,EAEF,KAAK,YAAY,MAAO,CAAE,UAAAtB,EAAW,MAAAhB,CAAM,IAClCgB,EAAU,UACf,CAAE,GAAGiB,EAAa,MAAAjC,CAAM,EACxBuC,CACF,CACD,CACH,EACMC,EAA8B,MAAOC,EAAQJ,IAAe,CAChE,IAAMC,EAAe,KAAK,IAAI,EAAID,EAC5BE,EAAoB,IACjB,IAAI,QACT,CAACG,EAAGC,IAAW,WAAW,IAAMA,EAAOF,CAAM,EAAGH,CAAY,CAC9D,EAEF,KAAK,YAAY,MAAO,CAAE,UAAAtB,EAAW,MAAAhB,CAAM,IAAM,CAC/C,GAAI,CACF,MAAMgB,EAAU,UACd,CAAE,GAAGiB,EAAa,MAAAjC,CAAM,EACxBuC,CACF,CACF,OAASK,EAAG,CACV,GAAIA,GAAG,UAAYH,GAAQ,QACzB,MAAMG,CAEV,CACF,CAAC,CACH,EACMC,EAAY,KAAK,IAAI,EACvBC,EACAhB,EACJ,GAAI,CACFgB,EAAiBZ,EAAS,CAC5B,OAASU,EAAG,CACVd,EAAQc,CACV,CACA,GAAId,EACF,MAAAU,EAA4BV,EAAOe,CAAS,EACtCf,EAEN,OAAIiB,EAAUD,CAAc,EAC1BA,EAAe,KAAME,GAAQb,EAAgCa,EAAKH,CAAS,CAAC,EAAE,MAAOD,GAAMJ,EAA4BI,EAAGC,CAAS,CAAC,EAEpIV,EAAgCW,EAAgBD,CAAS,EAEpDC,CAEX,EACA,KAAK,gBAAmBb,GAAgB,CACtC,IAAMgB,EAAyB,KAAK,UAAU,EAAI,KAAK,KAAK,EAAI,IAAI,QAASxB,GAAY,KAAK,YAAYA,CAAO,CAAC,EAKlH,OAJa,KAAK,mBAAmB,WACnCQ,EACAgB,CACF,CAEF,EACA,KAAK,cAAiBhB,GAAgB,CACvB,KAAK,mBAAmB,QAAQA,CAAW,GAClD,IAAI,CACZ,CACF,CACF,EAGIiB,EAAiCC,GAAY,uBAAuBA,CAAO,6FAC3EC,EAASD,GAAY,CACvB,GAAI,CACF,OAAO,SAASA,EAAQ,MAAM,GAAG,EAAE,CAAC,EAAG,EAAE,CAC3C,MAAQ,CACN,QAAQ,KAAK,oCAAoC,EACjD,MACF,CACF,EACIE,EAA4B,CAAC,CAC/B,UAAArC,EACA,IAAAE,EACA,GAAGP,CACL,IAAM,CACJ,GAAI,CAACK,EACH,OAAOsC,EACL,iJACF,EAEF,GAAI,CAACpC,EACH,OAAOoC,EACL,uFACF,EAEF,GAAI,CACF,IAAMC,EAAwBvC,EAAU,aAAeoC,EAAMpC,EAAU,WAAW,EAClF,OAAIuC,GAAyBA,EAAwB,EAC5CD,EACLJ,EAA8BlC,EAAU,WAAW,CACrD,EAEK,IAAIW,EAAoB,CAAE,GAAGhB,EAAS,IAAAO,EAAK,UAAAF,CAAU,CAAC,CAC/D,OAAS4B,EAAG,CACV,OAAOU,EACL,2CAA2CV,EAAE,OAAO,EACtD,CACF,CACF,EC3SA,IAAIY,EAAwB,KAAM,CAChC,YAAYC,EAAS,CACnB,KAAK,QAAUA,EACf,KAAK,iBAAmB,CAACC,EAAOC,IAAmB,CACjD,GAAM,CAAE,eAAAC,CAAe,EAAI,KAAK,QAC1BF,aAAiB,QACrBA,EAAQ,IAAI,MAAMA,CAAK,GAEzBE,EAAe,aAAa,EAAE,YAAYF,EAAO,KAAK,cAAcC,CAAc,CAAC,CACrF,EACA,KAAK,eAAiB,CAACE,EAASF,IAAmB,CACjD,GAAM,CAAE,eAAAC,CAAe,EAAI,KAAK,QAC1BE,EAASF,EAAe,OAAO,EACjCG,EACJ,OAAQJ,GAAgB,MAAO,CAC7B,IAAK,QACHI,EAAgBD,EAAO,MACvB,MACF,IAAK,UACHC,EAAgBD,EAAO,KACvB,MACF,QACEC,EAAgBD,EAAO,IAC3B,CACAC,EAAcF,EAAS,KAAK,cAAcF,CAAc,CAAC,CAC3D,EACA,KAAK,UAAY,CAACK,EAAaC,IAAa,CAC1C,GAAM,CAAE,eAAAL,CAAe,EAAI,KAAK,QAC1B,CAAE,KAAAM,CAAK,EAAIF,EACbG,EACEC,EAAcR,EAAe,YAAYM,EAAM,CACnD,GAAIG,EAAiB,CACvB,CAAC,EACKC,EAAO,KAAK,cAAcN,CAAW,EAC3CI,EAAY,MAAME,CAAI,EACtB,GAAI,CACFH,EAAMF,EAAS,EACXM,EAAUJ,CAAG,EACfA,EAAMA,EAAI,KAAMK,IACdJ,EAAY,OAAOE,CAAI,EAChBE,EACR,EAAE,MAAOC,GAAM,CACd,WAAK,2BAA2BA,EAAGT,CAAW,EACxCS,CACR,CAAC,EAEDL,EAAY,OAAOE,CAAI,CAE3B,OAASG,EAAG,CACV,WAAK,2BAA2BA,EAAGT,CAAW,EACxCS,CACR,CACA,OAAON,CACT,EACA,KAAK,cAAiBO,GAAe,CACnC,GAAM,CAAE,eAAAd,CAAe,EAAI,KAAK,QAChCA,EAAe,aAAa,EAAE,cAAcc,CAAU,CACxD,CACF,CACA,cAAcf,EAAgB,CAC5B,OAAOA,GAAkB,CACvB,GAAGA,GAAgB,MAAQ,CAAE,KAAMA,EAAe,IAAK,EACvD,GAAGA,GAAgB,UAAY,CAAE,QAASA,EAAe,QAAS,EAClE,GAAGA,GAAgB,OAAS,CAC1B,SAAUA,EAAe,KAC3B,CACF,CACF,CACA,2BAA2BD,EAAOM,EAAa,CAC7C,GAAM,CAAE,eAAAJ,CAAe,EAAI,KAAK,QAC1B,CAAE,KAAAM,CAAK,EAAIF,EACXM,EAAO,KAAK,cAAc,CAC9B,GAAGN,EACH,SAAU,CAAE,YAAa,CAAE,KAAAE,CAAK,CAAE,CACpC,CAAC,EACDN,EAAe,aAAa,EAAE,YAAYF,EAAOY,CAAI,CACvD,CACA,gBAAgBN,EAAa,CAC3B,GAAM,CAAE,eAAAJ,CAAe,EAAI,KAAK,QAC1B,CAAE,KAAAM,CAAK,EAAIF,EACXI,EAAcR,EAAe,YAAYM,EAAM,CACnD,GAAIG,EAAiB,CACvB,CAAC,EACKC,EAAO,KAAK,cAAcN,CAAW,EAC3CI,EAAY,MAAME,CAAI,EACtB,IAAIK,EAAW,GACTC,EAAcC,GAAO,CACrBF,IAGJA,EAAW,GACXE,EAAG,EACL,EACA,MAAO,CACL,IAAK,IAAM,CACTD,EAAW,IAAMR,EAAY,OAAOE,CAAI,CAAC,CAC3C,EACA,KAAOZ,GAAU,CACfkB,EAAW,IAAM,KAAK,2BAA2BlB,EAAOM,CAAW,CAAC,CACtE,CACF,CACF,CACA,cAAcA,EAAa,CACzB,GAAM,CAAE,eAAAJ,CAAe,EAAI,KAAK,QAC1B,CAAE,KAAAM,CAAK,EAAIF,EACjBJ,EAAe,YAAYM,CAAI,EAAE,OAAO,CAC1C,CACF,EAIIY,EAA+BrB,GAAY,CAC7C,GAAM,CAAE,eAAAG,CAAe,EAAIH,EAC3B,OAAKG,EAGE,IAAIJ,EAAsBC,CAAO,EAF/BsB,EAA+B,yBAAyB,CAGnE,ECjHA,IAAIC,EAAkBC,GAAqBA,GAAkB,OAAS,SAClEC,EAAoBD,GAAqBA,GAAkB,OAAS,WACpEE,GAA8B,CAAC,CACjC,UAAAC,EACA,gBAAAC,EACA,eAAAC,EACA,iBAAAL,EACA,YAAAM,CACF,IAAM,CACJ,GAAIP,EAAeC,CAAgB,EAAG,CACpC,GAAM,CAAE,cAAAO,CAAc,EAAIP,EAC1B,MAAO,IAAMQ,EAA0B,CACrC,IAAKD,GAAe,IACpB,YAAAD,EACA,UAAAH,EACA,UAAWC,CACb,CAAC,CACH,SAAWH,EAAiBD,CAAgB,EAC1C,MAAO,IAAMS,EAA4B,CAAE,eAAAJ,CAAe,CAAC,EAE7D,MAAO,IAAMK,EACX,0FACF,CACF","names":["createHostModule","hostModuleAPI","contextualizeHostModuleV2","host","acc","key","fn","validValue","value","pickByValidValues","obj","pickBy","object","predicate","result","key","generateTagsAndContext","context","tags","contexts","FallbackMonitoringClient","message","spanOptions","callback","createFallbackMonitoringClient","isPromise","value","runWithMaybePromise","cb","res","runWithMaybeDelay","maybeTimeCompensation","generateRandomId","ManualSpanRegistryImpl","options","spanOptions","sentryOptionsOrPromise","resolveSpan","rejectSpan","error","startTime","maybeDurationCompensation","maybePromise","sentrySDK","scope","isPromise2","resolve","reject","e","endSpan","span","_error","createManualSpanRegistry","setTagsAndContextsOnScope","scope","tags","contexts","key","value","setHostContextOnScope","hostContext","generateTagsAndContext","MandatorySDKMethods","manualSpanRegistryMap","AbstractSentryBrowserClient","options","missingSDKMethods","method","manualSpanRegistry","createManualSpanRegistry","sentrySDK","transport","dsn","release","environment","tracesSampleRate","debug","sentryClient","handler","resolve","resolvedState","SentryBrowserClient","breadcrumb","filteredBreadcrumb","error","captureContext","message","spanOptions","callback","simulateAndReportSuccessfulSpan","callbackResult2","startTime2","spanDuration","simulatedCallback","simulateAndReportFailedSpan","error2","_","reject","e","startTime","callbackResult","isPromise","res","resolvedStateOrPromise","unsupportedEnvironmentMessage","version","major","createSentryBrowserClient","createFallbackMonitoringClient","sentrySdkMajorVersion","PanoramaBrowserClient","options","error","captureContext","panoramaClient","message","logger","loggerByLevel","spanOptions","callback","name","res","transaction","generateRandomId","data","isPromise","_res","e","breadcrumb","reported","reportOnce","cb","createPanoramaBrowserClient","createFallbackMonitoringClient","isSentryConfig","monitoringConfig","isPanoramaConfig","getMonitoringClientFunction","sentrySDK","sentryTransport","panoramaClient","hostContext","sentryOptions","createSentryBrowserClient","createPanoramaBrowserClient","createFallbackMonitoringClient"]}
@@ -1,2 +1,2 @@
1
- import{b as g}from"./chunk-J3SVE4GM.js";import{a as A,b as U,d as R}from"./chunk-7EYXEF6M.js";import{f as H}from"./chunk-SBZEOPXX.js";R();import{wixContext as F}from"@wix/sdk-context";var X=e=>{switch(e){case"get":case"GET":return"GET";case"post":case"POST":return"POST";case"put":case"PUT":return"PUT";case"delete":case"DELETE":return"DELETE";case"patch":case"PATCH":return"PATCH";case"head":case"HEAD":return"HEAD";case"options":case"OPTIONS":return"OPTIONS";default:throw new Error(`Unknown method: ${e}`)}},I=e=>r=>async n=>{let d,s=t=>{if(d=e(n)(t),d.url===void 0)throw new Error("Url was not successfully created for this request, please reach out to support channels for assistance.");let{method:i,url:o,params:l}=d;return{...d,method:X(i),url:o,data:d.data,params:l}};try{let t=await r.request(s);if(d===void 0)throw new Error("Request options were not created for this request, please reach out to support channels for assistance.");let i=Array.isArray(d.transformResponse)?d.transformResponse:[d.transformResponse],o=t.data;return i.forEach(l=>{l&&(o=l(t.data,t.headers))}),o}catch(t){throw typeof t=="object"&&t!==null&&"response"in t&&typeof t.response=="object"&&t.response!==null&&"data"in t.response?t.response.data:t}},M=e=>e.__isAmbassador?!0:!!e().__isAmbassador;var j="__metadata",_="www.wixapis.com",S="edge.wixapis.com";var v=class extends Error{constructor(n,d){super(n);H(this,"message");H(this,"response");this.message=n,this.response=d}async details(){let n=await this.response.json();return V(this.response.status,n?.message,n?.details,{requestId:this.response.headers.get("X-Wix-Request-Id"),details:n})}},V=(e,r,n,d)=>({details:{...!n?.validationError&&{applicationError:{description:r,code:e,data:d}},...n},message:r,requestId:d?.requestId});var W=e=>e?.method&&["post","put","patch"].includes(e.method.toLocaleLowerCase())&&e.body?{"Content-Type":"application/json"}:{},L=e=>e&&typeof e=="object"&&!Array.isArray(e);var q=e=>e.__type==="host";function N(e,r){return e.create(r)}var Y="x-wix-bi-gateway";function $(e,r,n){return{[Y]:z({environment:`js-sdk${n?`-${n}`:""}`,"package-name":e.packageName??r?.PACKAGE_NAME,"method-fqn":e.methodFqn,entity:e.entityFqdn})}}function z(e){return Object.entries(e).filter(([r,n])=>!!n).map(([r,n])=>`${r}=${n}`).join(",")}function J(e,r,n,d,s,t,i,o){return g(()=>e({request:async l=>{let f=l({host:t?.HTTPHost||_}),c=f;c.method==="GET"&&c.fallback?.length&&c.params.toString().length>4e3&&(c=f.fallback[0]);let E=t?.HTTPHost??_,h=`https://${o?S:E}${c.url}`;c.params&&c.params.toString()&&(h+=`?${c.params.toString()}`);try{let a=$(f,r,i),p=await n(h,{method:c.method,...c.data&&{body:JSON.stringify(c.data)},headers:{...a}});if(p.status!==200){let u=null;try{u=await p.json()}catch{}throw K(p.status,u?.message,u?.details,{requestId:p.headers.get("X-Wix-Request-Id"),details:u})}return{data:await p.json(),headers:p.headers,status:p.status,statusText:p.statusText}}catch(a){throw a.message?.includes("fetch is not defined")&&console.error("Node.js v18+ is required"),a}},fetchWithAuth:n,wixAPIFetch:d,getActiveToken:s}))}var K=(e,r,n,d)=>({response:{data:{details:{...!n?.validationError&&{applicationError:{description:r,code:e,data:d}},...n},message:r},status:e},requestId:d?.requestId});R();function b(){return{emit(e,...r){for(let n=0,d=this.events[e]||[],s=d.length;n<s;n++)d[n](...r)},events:{},on(e,r){return(this.events[e]||=[]).push(r),()=>{this.events[e]=this.events[e]?.filter(n=>r!==n)}}}}var O=e=>e.__type==="event-definition";function D(e,r,n,d){let s;if(e.isDomainEvent){let i=n,{deletedEvent:o,actionEvent:l,createdEvent:f,updatedEvent:c,...E}=i,h={...d,...E};o?o?.deletedEntity?s={entity:o?.deletedEntity,metadata:h}:s={metadata:h}:l?s={data:l.body,metadata:h}:s={entity:f?.entity??c?.currentEntity,metadata:h}}else s={data:n,metadata:d};let t=e.transformations??(i=>i);return r(t(s))}function k(e){let r=new Map,n=b(),d={...n,getRegisteredEvents:()=>r,async process(s,t={expectedEvents:[]}){let{eventType:i,identity:o,instanceId:l,payload:f}=await this.parseJWT(s),c=[...t.expectedEvents,...Array.from(r.keys()).map(h=>({type:h}))];if(c.length>0&&!c.some(({type:h})=>h===i))throw new Error(`Unexpected event type: ${i}. Expected one of: ${c.map(h=>h.type).join(", ")}`);let E=r.get(i)??[];return await Promise.all(E.map(({eventDefinition:h,handler:a})=>D(h,a,f,{instanceId:l,identity:o}))),{instanceId:l,eventType:i,payload:f,identity:o}},async processRequest(s,t){let i=await s.text();return this.process(i,t)},async parseJWT(s){if(!e.decodeJWT)throw new Error("decodeJWT is not supported by the authentication strategy");let{decoded:t,valid:i}=await e.decodeJWT(s);if(!i)throw new Error("JWT is not valid");if(typeof t.data!="string")throw new Error(`Unexpected type of JWT data: expected string, got ${typeof t.data}`);let o=JSON.parse(t.data),l=o.eventType,f=o.instanceId,c=o.identity?JSON.parse(o.identity):void 0,E=JSON.parse(o.data);return{instanceId:f,eventType:l,payload:E,identity:c}},async parseRequest(s){let t=await s.text();return this.parseJWT(t)},async executeHandlers(s){let t=Array.from(r.keys()).map(o=>({type:o}));if(t.length>0&&!t.some(({type:o})=>o===s.eventType))throw new Error(`Unexpected event type: ${s.eventType}. Expected one of: ${t.map(o=>o.type).join(", ")}`);let i=r.get(s.eventType)??[];await Promise.all(i.map(({eventDefinition:o,handler:l})=>D(o,l,s.payload,{instanceId:s.instanceId,identity:s.identity})))},apps:{AppInstalled:A("AppInstalled")(),AppRemoved:A("AppRemoved")()}};return{initModule(s){return t=>{let i=r.get(s.type)??[];i.push({eventDefinition:s,handler:t}),r.set(s.type,i),n.emit("registered",s)}},client:d}}var B=e=>e.__type==="service-plugin-definition";function G(e){let r=new Map,n=b(),d={...n,getRegisteredServicePlugins:()=>r,async parseJWT(s){if(!e.decodeJWT)throw new Error("decodeJWT is not supported by the authentication strategy");let{decoded:t,valid:i}=await e.decodeJWT(s,!0);if(!i)throw new Error("JWT is not valid");if(typeof t.data!="object"||t.data===null||!("metadata"in t.data)||typeof t.data.metadata!="object"||t.data.metadata===null||!("appExtensionType"in t.data.metadata)||typeof t.data.metadata.appExtensionType!="string")throw new Error("Unexpected JWT data: expected object with metadata.appExtensionType string");return t.data},async process(s){let t=await this.parseJWT(s.body);return this.executeHandler(t,s.url)},async parseRequest(s){let t=await s.text();return this.parseJWT(t)},async processRequest(s){let t=s.url,i=await s.text();try{let o=await this.process({url:t,body:i});return Response.json(o)}catch(o){if(o.errorType==="SPI"&&o.applicationCode&&o.httpCode)return Response.json({applicationError:{code:o.applicationCode,data:o.data}},{status:o.httpCode});throw o}},async executeHandler(s,t){let i=s.metadata.appExtensionType.toLowerCase(),o=r.get(i)??[];if(o.length===0)throw new Error(`No service plugin implementations found for component type ${i}`);if(o.length>1)throw new Error(`Multiple service plugin implementations found for component type ${i}. This is currently not supported`);let{implementation:l,servicePluginDefinition:f}=o[0],c=f.methods.find(h=>t.endsWith(h.primaryHttpMappingPath));if(!c)throw new Error("Unexpect request: request url did not match any method: "+t);let E=l[c.name];if(!E)throw new Error(`Got request for service plugin method ${c.name} but no implementation was provided. Available methods: ${Object.keys(l).join(", ")}`);return c.transformations.toREST(await E(c.transformations.fromREST(s)))}};return{initModule(s){return t=>{let i=r.get(s.componentType.toLowerCase())??[];i.push({servicePluginDefinition:s,implementation:t}),r.set(s.componentType.toLowerCase(),i),n.emit("registered",s)}},client:d}}var T="X-Wix-Consistent";function Ae(e){let r=e.headers||{Authorization:""},n=e.auth||{getAuthHeaders:a=>Promise.resolve({headers:{}})},d=n.getAuthHeaders.bind(void 0,e.host);n.getAuthHeaders=d;let s=async(a,p)=>{let y=await d(),u={...p?.headers??{},...y.headers,...r[T]?{[T]:r[T]}:{}};if(typeof a=="string"||a instanceof URL){let m=await fetch(a,{...p,headers:u}),w=P(m);return w&&(r[T]=w),m}else{for(let[x,C]of Object.entries(u))typeof C=="string"&&a.headers.set(x,C);let m=await fetch(a,p),w=P(m);return w&&(r[T]=w),m}},{client:t,initModule:i}=G(n),{client:o,initModule:l}=k(n),f=async(a,p)=>{let y=await d(),u=W(p),m=await fetch(a,{...p,headers:{...u,...r,...y?.headers,...p?.headers,...e.host?.essentials?.passThroughHeaders}}),w=P(m);return w&&(r[T]=w),m},c=(a,p)=>{if(O(a))return l(a);if(B(a))return i(a);if(q(a)&&e.host)return N(a,e.host);if(typeof a=="function"){if("__type"in a&&a.__type===U)return a;let y=e.host?.apiBaseUrl??_,u=e.useCDN===void 0?e.auth?.shouldUseCDN:e.useCDN;return J(g(()=>M(a))?I(a):a,p??{},f,(m,w)=>{let x=new URL(m,`https://${y}`);return x.host=y,x.protocol="https",f(x.toString(),w)},n.getActiveToken,{HTTPHost:y},e.host?.name,u)}else return L(a)?Object.fromEntries(Object.entries(a).map(([y,u])=>[y,c(u,a[j])])):a},E=a=>{for(let p in a)r[p]=a[p]};return{...e.modules?c(e.modules):{},auth:n,setHeaders:E,use:c,enableContext(a,p={elevated:!1}){a==="global"?globalThis.__wix_context__!=null?p.elevated?globalThis.__wix_context__.elevatedClient=this:globalThis.__wix_context__.client=this:p.elevated?globalThis.__wix_context__={elevatedClient:this}:globalThis.__wix_context__={client:this}:p.elevated?F.elevatedClient=this:F.client=this},fetch:(a,p)=>{let y=e.host?.apiBaseUrl??_,u=new URL(a,`https://${y}`);return u.host=y,u.protocol="https",f(u.toString(),p)},fetchWithAuth:s,async graphql(a,p,y={apiVersion:"alpha"}){let u=e?.host?.apiBaseUrl??_,m=await f(`https://${u}/graphql/${y.apiVersion}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({query:a,variables:p})});if(m.status!==200)throw new v(`GraphQL request failed with status ${m.status}`,m);let{data:w,errors:x}=await m.json();return{data:w??{},errors:x}},webhooks:o,servicePlugins:t}}function P(e){return e.headers?.get(T)??e.headers?.get(T.toLowerCase())}export{Ae as a};
2
- //# sourceMappingURL=chunk-ZBGVDXLX.js.map
1
+ import{c as g}from"./chunk-NHYZDMR5.js";import{a as A,b as U,d as R}from"./chunk-7EYXEF6M.js";import{f as H}from"./chunk-SBZEOPXX.js";R();import{wixContext as F}from"@wix/sdk-context";var X=e=>{switch(e){case"get":case"GET":return"GET";case"post":case"POST":return"POST";case"put":case"PUT":return"PUT";case"delete":case"DELETE":return"DELETE";case"patch":case"PATCH":return"PATCH";case"head":case"HEAD":return"HEAD";case"options":case"OPTIONS":return"OPTIONS";default:throw new Error(`Unknown method: ${e}`)}},I=e=>r=>async n=>{let d,s=t=>{if(d=e(n)(t),d.url===void 0)throw new Error("Url was not successfully created for this request, please reach out to support channels for assistance.");let{method:i,url:o,params:l}=d;return{...d,method:X(i),url:o,data:d.data,params:l}};try{let t=await r.request(s);if(d===void 0)throw new Error("Request options were not created for this request, please reach out to support channels for assistance.");let i=Array.isArray(d.transformResponse)?d.transformResponse:[d.transformResponse],o=t.data;return i.forEach(l=>{l&&(o=l(t.data,t.headers))}),o}catch(t){throw typeof t=="object"&&t!==null&&"response"in t&&typeof t.response=="object"&&t.response!==null&&"data"in t.response?t.response.data:t}},M=e=>e.__isAmbassador?!0:!!e().__isAmbassador;var j="__metadata",_="www.wixapis.com",S="edge.wixapis.com";var v=class extends Error{constructor(n,d){super(n);H(this,"message");H(this,"response");this.message=n,this.response=d}async details(){let n=await this.response.json();return V(this.response.status,n?.message,n?.details,{requestId:this.response.headers.get("X-Wix-Request-Id"),details:n})}},V=(e,r,n,d)=>({details:{...!n?.validationError&&{applicationError:{description:r,code:e,data:d}},...n},message:r,requestId:d?.requestId});var W=e=>e?.method&&["post","put","patch"].includes(e.method.toLocaleLowerCase())&&e.body?{"Content-Type":"application/json"}:{},L=e=>e&&typeof e=="object"&&!Array.isArray(e);var q=e=>e.__type==="host";function N(e,r){return e.create(r)}var Y="x-wix-bi-gateway";function $(e,r,n){return{[Y]:z({environment:`js-sdk${n?`-${n}`:""}`,"package-name":e.packageName??r?.PACKAGE_NAME,"method-fqn":e.methodFqn,entity:e.entityFqdn})}}function z(e){return Object.entries(e).filter(([r,n])=>!!n).map(([r,n])=>`${r}=${n}`).join(",")}function J(e,r,n,d,s,t,i,o){return g(()=>e({request:async l=>{let f=l({host:t?.HTTPHost||_}),c=f;c.method==="GET"&&c.fallback?.length&&c.params.toString().length>4e3&&(c=f.fallback[0]);let E=t?.HTTPHost??_,h=`https://${o?S:E}${c.url}`;c.params&&c.params.toString()&&(h+=`?${c.params.toString()}`);try{let a=$(f,r,i),p=await n(h,{method:c.method,...c.data&&{body:JSON.stringify(c.data)},headers:{...a}});if(p.status!==200){let u=null;try{u=await p.json()}catch{}throw K(p.status,u?.message,u?.details,{requestId:p.headers.get("X-Wix-Request-Id"),details:u})}return{data:await p.json(),headers:p.headers,status:p.status,statusText:p.statusText}}catch(a){throw a.message?.includes("fetch is not defined")&&console.error("Node.js v18+ is required"),a}},fetchWithAuth:n,wixAPIFetch:d,getActiveToken:s}))}var K=(e,r,n,d)=>({response:{data:{details:{...!n?.validationError&&{applicationError:{description:r,code:e,data:d}},...n},message:r},status:e},requestId:d?.requestId});R();function b(){return{emit(e,...r){for(let n=0,d=this.events[e]||[],s=d.length;n<s;n++)d[n](...r)},events:{},on(e,r){return(this.events[e]||=[]).push(r),()=>{this.events[e]=this.events[e]?.filter(n=>r!==n)}}}}var O=e=>e.__type==="event-definition";function D(e,r,n,d){let s;if(e.isDomainEvent){let i=n,{deletedEvent:o,actionEvent:l,createdEvent:f,updatedEvent:c,...E}=i,h={...d,...E};o?o?.deletedEntity?s={entity:o?.deletedEntity,metadata:h}:s={metadata:h}:l?s={data:l.body,metadata:h}:s={entity:f?.entity??c?.currentEntity,metadata:h}}else s={data:n,metadata:d};let t=e.transformations??(i=>i);return r(t(s))}function k(e){let r=new Map,n=b(),d={...n,getRegisteredEvents:()=>r,async process(s,t={expectedEvents:[]}){let{eventType:i,identity:o,instanceId:l,payload:f}=await this.parseJWT(s),c=[...t.expectedEvents,...Array.from(r.keys()).map(h=>({type:h}))];if(c.length>0&&!c.some(({type:h})=>h===i))throw new Error(`Unexpected event type: ${i}. Expected one of: ${c.map(h=>h.type).join(", ")}`);let E=r.get(i)??[];return await Promise.all(E.map(({eventDefinition:h,handler:a})=>D(h,a,f,{instanceId:l,identity:o}))),{instanceId:l,eventType:i,payload:f,identity:o}},async processRequest(s,t){let i=await s.text();return this.process(i,t)},async parseJWT(s){if(!e.decodeJWT)throw new Error("decodeJWT is not supported by the authentication strategy");let{decoded:t,valid:i}=await e.decodeJWT(s);if(!i)throw new Error("JWT is not valid");if(typeof t.data!="string")throw new Error(`Unexpected type of JWT data: expected string, got ${typeof t.data}`);let o=JSON.parse(t.data),l=o.eventType,f=o.instanceId,c=o.identity?JSON.parse(o.identity):void 0,E=JSON.parse(o.data);return{instanceId:f,eventType:l,payload:E,identity:c}},async parseRequest(s){let t=await s.text();return this.parseJWT(t)},async executeHandlers(s){let t=Array.from(r.keys()).map(o=>({type:o}));if(t.length>0&&!t.some(({type:o})=>o===s.eventType))throw new Error(`Unexpected event type: ${s.eventType}. Expected one of: ${t.map(o=>o.type).join(", ")}`);let i=r.get(s.eventType)??[];await Promise.all(i.map(({eventDefinition:o,handler:l})=>D(o,l,s.payload,{instanceId:s.instanceId,identity:s.identity})))},apps:{AppInstalled:A("AppInstalled")(),AppRemoved:A("AppRemoved")()}};return{initModule(s){return t=>{let i=r.get(s.type)??[];i.push({eventDefinition:s,handler:t}),r.set(s.type,i),n.emit("registered",s)}},client:d}}var B=e=>e.__type==="service-plugin-definition";function G(e){let r=new Map,n=b(),d={...n,getRegisteredServicePlugins:()=>r,async parseJWT(s){if(!e.decodeJWT)throw new Error("decodeJWT is not supported by the authentication strategy");let{decoded:t,valid:i}=await e.decodeJWT(s,!0);if(!i)throw new Error("JWT is not valid");if(typeof t.data!="object"||t.data===null||!("metadata"in t.data)||typeof t.data.metadata!="object"||t.data.metadata===null||!("appExtensionType"in t.data.metadata)||typeof t.data.metadata.appExtensionType!="string")throw new Error("Unexpected JWT data: expected object with metadata.appExtensionType string");return t.data},async process(s){let t=await this.parseJWT(s.body);return this.executeHandler(t,s.url)},async parseRequest(s){let t=await s.text();return this.parseJWT(t)},async processRequest(s){let t=s.url,i=await s.text();try{let o=await this.process({url:t,body:i});return Response.json(o)}catch(o){if(o.errorType==="SPI"&&o.applicationCode&&o.httpCode)return Response.json({applicationError:{code:o.applicationCode,data:o.data}},{status:o.httpCode});throw o}},async executeHandler(s,t){let i=s.metadata.appExtensionType.toLowerCase(),o=r.get(i)??[];if(o.length===0)throw new Error(`No service plugin implementations found for component type ${i}`);if(o.length>1)throw new Error(`Multiple service plugin implementations found for component type ${i}. This is currently not supported`);let{implementation:l,servicePluginDefinition:f}=o[0],c=f.methods.find(h=>t.endsWith(h.primaryHttpMappingPath));if(!c)throw new Error("Unexpect request: request url did not match any method: "+t);let E=l[c.name];if(!E)throw new Error(`Got request for service plugin method ${c.name} but no implementation was provided. Available methods: ${Object.keys(l).join(", ")}`);return c.transformations.toREST(await E(c.transformations.fromREST(s)))}};return{initModule(s){return t=>{let i=r.get(s.componentType.toLowerCase())??[];i.push({servicePluginDefinition:s,implementation:t}),r.set(s.componentType.toLowerCase(),i),n.emit("registered",s)}},client:d}}var T="X-Wix-Consistent";function Ae(e){let r=e.headers||{Authorization:""},n=e.auth||{getAuthHeaders:a=>Promise.resolve({headers:{}})},d=n.getAuthHeaders.bind(void 0,e.host);n.getAuthHeaders=d;let s=async(a,p)=>{let y=await d(),u={...p?.headers??{},...y.headers,...e.host?.essentials?.passThroughHeaders,...r[T]?{[T]:r[T]}:{}};if(typeof a=="string"||a instanceof URL){let m=await fetch(a,{...p,headers:u}),w=P(m);return w&&(r[T]=w),m}else{for(let[x,C]of Object.entries(u))typeof C=="string"&&a.headers.set(x,C);let m=await fetch(a,p),w=P(m);return w&&(r[T]=w),m}},{client:t,initModule:i}=G(n),{client:o,initModule:l}=k(n),f=async(a,p)=>{let y=await d(),u=W(p),m=await fetch(a,{...p,headers:{...u,...r,...y?.headers,...p?.headers,...e.host?.essentials?.passThroughHeaders,...r[T]?{[T]:r[T]}:{}}}),w=P(m);return w&&(r[T]=w),m},c=(a,p)=>{if(O(a))return l(a);if(B(a))return i(a);if(q(a)&&e.host)return N(a,e.host);if(typeof a=="function"){if("__type"in a&&a.__type===U)return a;let y=e.host?.apiBaseUrl??_,u=e.useCDN===void 0?e.auth?.shouldUseCDN:e.useCDN;return J(g(()=>M(a))?I(a):a,p??{},f,(m,w)=>{let x=new URL(m,`https://${y}`);return x.host=y,x.protocol="https",f(x.toString(),w)},n.getActiveToken,{HTTPHost:y},e.host?.name,u)}else return L(a)?Object.fromEntries(Object.entries(a).map(([y,u])=>[y,c(u,a[j])])):a},E=a=>{for(let p in a)r[p]=a[p]};return{...e.modules?c(e.modules):{},auth:n,setHeaders:E,use:c,enableContext(a,p={elevated:!1}){a==="global"?globalThis.__wix_context__!=null?p.elevated?globalThis.__wix_context__.elevatedClient=this:globalThis.__wix_context__.client=this:p.elevated?globalThis.__wix_context__={elevatedClient:this}:globalThis.__wix_context__={client:this}:p.elevated?F.elevatedClient=this:F.client=this},fetch:(a,p)=>{let y=e.host?.apiBaseUrl??_,u=new URL(a,`https://${y}`);return u.host=y,u.protocol="https",f(u.toString(),p)},fetchWithAuth:s,async graphql(a,p,y={apiVersion:"alpha"}){let u=e?.host?.apiBaseUrl??_,m=await f(`https://${u}/graphql/${y.apiVersion}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({query:a,variables:p})});if(m.status!==200)throw new v(`GraphQL request failed with status ${m.status}`,m);let{data:w,errors:x}=await m.json();return{data:w??{},errors:x}},webhooks:o,servicePlugins:t}}function P(e){return e.headers?.get(T)??e.headers?.get(T.toLowerCase())}export{Ae as a};
2
+ //# sourceMappingURL=chunk-MAZR75DI.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../node_modules/@wix/sdk/build/wixClient.js","../../../node_modules/@wix/sdk/build/ambassador-modules.js","../../../node_modules/@wix/sdk/build/common.js","../../../node_modules/@wix/sdk/build/fetch-error.js","../../../node_modules/@wix/sdk/build/helpers.js","../../../node_modules/@wix/sdk/build/host-modules.js","../../../node_modules/@wix/sdk/build/bi/biHeaderGenerator.js","../../../node_modules/@wix/sdk/build/rest-modules.js","../../../node_modules/@wix/sdk/build/event-handlers-modules.js","../../../node_modules/@wix/sdk/build/nanoevents.js","../../../node_modules/@wix/sdk/build/service-plugin-modules.js"],"sourcesContent":["import { wixContext } from '@wix/sdk-context';\nimport { SERVICE_PLUGIN_ERROR_TYPE, } from '@wix/sdk-types';\nimport { isAmbassadorModule, toHTTPModule } from './ambassador-modules.js';\nimport { DEFAULT_API_URL, PUBLIC_METADATA_KEY } from './common.js';\nimport { FetchErrorResponse } from './fetch-error.js';\nimport { getDefaultContentHeader, isObject } from './helpers.js';\nimport { buildHostModule, isHostModule } from './host-modules.js';\nimport { buildRESTDescriptor } from './rest-modules.js';\nimport { eventHandlersModules, isEventHandlerModule, } from './event-handlers-modules.js';\nimport { isServicePluginModule, servicePluginsModules, } from './service-plugin-modules.js';\nimport { runWithoutContext } from '@wix/sdk-runtime/context';\nexport const X_WIX_CONSISTENT_HEADER = 'X-Wix-Consistent';\nexport function createClient(config) {\n const _headers = config.headers || { Authorization: '' };\n const authStrategy = config.auth ||\n {\n getAuthHeaders: (_) => Promise.resolve({ headers: {} }),\n };\n const boundGetAuthHeaders = authStrategy.getAuthHeaders.bind(undefined, config.host);\n authStrategy.getAuthHeaders = boundGetAuthHeaders;\n const fetchWithAuth = async (urlOrRequest, requestInit) => {\n const authHeaders = await boundGetAuthHeaders();\n const headers = {\n ...(requestInit?.headers ?? {}),\n ...authHeaders.headers,\n ...config.host?.essentials?.passThroughHeaders,\n ...(_headers[X_WIX_CONSISTENT_HEADER]\n ? { [X_WIX_CONSISTENT_HEADER]: _headers[X_WIX_CONSISTENT_HEADER] }\n : {}),\n };\n if (typeof urlOrRequest === 'string' || urlOrRequest instanceof URL) {\n const response = await fetch(urlOrRequest, {\n ...requestInit,\n headers,\n });\n const consistentHeader = findConsistentHeader(response);\n if (consistentHeader) {\n _headers[X_WIX_CONSISTENT_HEADER] = consistentHeader;\n }\n return response;\n }\n else {\n for (const [k, v] of Object.entries(headers)) {\n if (typeof v === 'string') {\n urlOrRequest.headers.set(k, v);\n }\n }\n const response = await fetch(urlOrRequest, requestInit);\n const consistentHeader = findConsistentHeader(response);\n if (consistentHeader) {\n _headers[X_WIX_CONSISTENT_HEADER] = consistentHeader;\n }\n return response;\n }\n };\n const { client: servicePluginsClient, initModule: initServicePluginModule } = servicePluginsModules(authStrategy);\n const { client: eventHandlersClient, initModule: initEventHandlerModule } = eventHandlersModules(authStrategy);\n const boundFetch = async (url, options) => {\n const authHeaders = await boundGetAuthHeaders();\n const defaultContentTypeHeader = getDefaultContentHeader(options);\n const response = await fetch(url, {\n ...options,\n headers: {\n ...defaultContentTypeHeader,\n ..._headers,\n ...authHeaders?.headers,\n ...options?.headers,\n ...config.host?.essentials?.passThroughHeaders,\n // Ensure consistent header always takes precedence\n ...(_headers[X_WIX_CONSISTENT_HEADER]\n ? { [X_WIX_CONSISTENT_HEADER]: _headers[X_WIX_CONSISTENT_HEADER] }\n : {}),\n },\n });\n const consistentHeader = findConsistentHeader(response);\n if (consistentHeader) {\n _headers[X_WIX_CONSISTENT_HEADER] = consistentHeader;\n }\n return response;\n };\n // This is typed as `any` because when trying to properly type it as defined\n // on the WixClient, typescript starts failing with `Type instantiation is\n // excessively deep and possibly infinite.`\n const use = (modules, metadata) => {\n if (isEventHandlerModule(modules)) {\n return initEventHandlerModule(modules);\n }\n else if (isServicePluginModule(modules)) {\n return initServicePluginModule(modules);\n }\n else if (isHostModule(modules) && config.host) {\n return buildHostModule(modules, config.host);\n }\n else if (typeof modules === 'function') {\n // The generated namespaces all have the error classes on them and\n // a class is also a function, so we need to explicitly ignore these\n // error classes using a static field that exists on them.\n if ('__type' in modules && modules.__type === SERVICE_PLUGIN_ERROR_TYPE) {\n return modules;\n }\n const apiBaseUrl = config.host?.apiBaseUrl ?? DEFAULT_API_URL;\n const shouldUseCDN = config.useCDN === undefined ? config.auth?.shouldUseCDN : config.useCDN;\n return buildRESTDescriptor(runWithoutContext(() => isAmbassadorModule(modules))\n ? toHTTPModule(modules)\n : modules, metadata ?? {}, boundFetch, (relativeUrl, fetchOptions) => {\n const finalUrl = new URL(relativeUrl, `https://${apiBaseUrl}`);\n finalUrl.host = apiBaseUrl;\n finalUrl.protocol = 'https';\n return boundFetch(finalUrl.toString(), fetchOptions);\n }, authStrategy.getActiveToken, { HTTPHost: apiBaseUrl }, config.host?.name, shouldUseCDN);\n }\n else if (isObject(modules)) {\n return Object.fromEntries(Object.entries(modules).map(([key, value]) => {\n return [key, use(value, modules[PUBLIC_METADATA_KEY])];\n }));\n }\n else {\n return modules;\n }\n };\n const setHeaders = (headers) => {\n for (const k in headers) {\n _headers[k] = headers[k];\n }\n };\n const wrappedModules = config.modules\n ? use(config.modules)\n : {};\n return {\n ...wrappedModules,\n auth: authStrategy,\n setHeaders,\n use,\n enableContext(contextType, opts = { elevated: false }) {\n if (contextType === 'global') {\n if (globalThis.__wix_context__ != null) {\n if (opts.elevated) {\n globalThis.__wix_context__.elevatedClient = this;\n }\n else {\n globalThis.__wix_context__.client = this;\n }\n }\n else {\n if (opts.elevated) {\n globalThis.__wix_context__ = { elevatedClient: this };\n }\n else {\n globalThis.__wix_context__ = { client: this };\n }\n }\n }\n else {\n if (opts.elevated) {\n wixContext.elevatedClient = this;\n }\n else {\n wixContext.client = this;\n }\n }\n },\n /**\n * @param relativeUrl The URL to fetch relative to the API base URL\n * @param options The fetch options\n * @returns The fetch Response object\n * @deprecated Use `fetchWithAuth` instead\n */\n fetch: (relativeUrl, options) => {\n const apiBaseUrl = config.host?.apiBaseUrl ?? DEFAULT_API_URL;\n const finalUrl = new URL(relativeUrl, `https://${apiBaseUrl}`);\n finalUrl.host = apiBaseUrl;\n finalUrl.protocol = 'https';\n return boundFetch(finalUrl.toString(), options);\n },\n fetchWithAuth,\n async graphql(query, variables, opts = {\n apiVersion: 'alpha',\n }) {\n const apiBaseUrl = config?.host?.apiBaseUrl ?? DEFAULT_API_URL;\n const res = await boundFetch(`https://${apiBaseUrl}/graphql/${opts.apiVersion}`, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify({ query, variables }),\n });\n if (res.status !== 200) {\n throw new FetchErrorResponse(`GraphQL request failed with status ${res.status}`, res);\n }\n const { data, errors } = await res.json();\n return { data: data ?? {}, errors };\n },\n webhooks: eventHandlersClient,\n servicePlugins: servicePluginsClient,\n };\n}\nfunction findConsistentHeader(response) {\n return (response.headers?.get(X_WIX_CONSISTENT_HEADER) ??\n response.headers?.get(X_WIX_CONSISTENT_HEADER.toLowerCase()));\n}\n","const parseMethod = (method) => {\n switch (method) {\n case 'get':\n case 'GET':\n return 'GET';\n case 'post':\n case 'POST':\n return 'POST';\n case 'put':\n case 'PUT':\n return 'PUT';\n case 'delete':\n case 'DELETE':\n return 'DELETE';\n case 'patch':\n case 'PATCH':\n return 'PATCH';\n case 'head':\n case 'HEAD':\n return 'HEAD';\n case 'options':\n case 'OPTIONS':\n return 'OPTIONS';\n default:\n throw new Error(`Unknown method: ${method}`);\n }\n};\nexport const toHTTPModule = (factory) => (httpClient) => async (payload) => {\n let requestOptions;\n const HTTPFactory = (context) => {\n requestOptions = factory(payload)(context);\n if (requestOptions.url === undefined) {\n throw new Error('Url was not successfully created for this request, please reach out to support channels for assistance.');\n }\n const { method, url, params } = requestOptions;\n return {\n ...requestOptions,\n method: parseMethod(method),\n url,\n data: requestOptions.data,\n params,\n };\n };\n try {\n const response = await httpClient.request(HTTPFactory);\n if (requestOptions === undefined) {\n throw new Error('Request options were not created for this request, please reach out to support channels for assistance.');\n }\n const transformations = Array.isArray(requestOptions.transformResponse)\n ? requestOptions.transformResponse\n : [requestOptions.transformResponse];\n /**\n * Based on Axios implementation:\n * https://github.com/axios/axios/blob/3f53eb6960f05a1f88409c4b731a40de595cb825/lib/core/transformData.js#L22\n */\n let data = response.data;\n transformations.forEach((transform) => {\n if (transform) {\n data = transform(response.data, response.headers);\n }\n });\n return data;\n }\n catch (e) {\n if (typeof e === 'object' &&\n e !== null &&\n 'response' in e &&\n typeof e.response === 'object' &&\n e.response !== null &&\n 'data' in e.response) {\n throw e.response.data;\n }\n throw e;\n }\n};\n/*\n * Because of issues with tree-shaking, we cant really put static parameter on module.\n * We still have check for __isAmbassador for backward compatibility\n */\nexport const isAmbassadorModule = (module) => {\n if (module.__isAmbassador) {\n return true;\n }\n const fn = module();\n return Boolean(fn.__isAmbassador);\n};\n","export const PUBLIC_METADATA_KEY = '__metadata';\nexport const DEFAULT_API_URL = 'www.wixapis.com';\nexport const DEFAULT_EDGE_API_URL = 'edge.wixapis.com';\nexport const FORCE_WRITE_API_URLS = ['/ecom/v1/carts/current'];\n","export class FetchErrorResponse extends Error {\n message;\n response;\n constructor(message, response) {\n super(message);\n this.message = message;\n this.response = response;\n }\n async details() {\n const dataError = await this.response.json();\n return errorBuilder(this.response.status, dataError?.message, dataError?.details, {\n requestId: this.response.headers.get('X-Wix-Request-Id'),\n details: dataError,\n });\n }\n}\nconst errorBuilder = (code, description, details, data) => {\n return {\n details: {\n ...(!details?.validationError && {\n applicationError: {\n description,\n code,\n data,\n },\n }),\n ...details,\n },\n message: description,\n requestId: data?.requestId,\n };\n};\n","// we follow a simplified version of the axios convention\n// https://github.com/axios/axios/blob/649d739288c8e2c55829ac60e2345a0f3439c730/lib/defaults/index.js#L65\nexport const getDefaultContentHeader = (options) => {\n if (options?.method &&\n ['post', 'put', 'patch'].includes(options.method.toLocaleLowerCase()) &&\n options.body) {\n return { 'Content-Type': 'application/json' };\n }\n return {};\n};\nexport const isObject = (val) => val && typeof val === 'object' && !Array.isArray(val);\nexport function parsePublicKeyIfEncoded(publicKey) {\n if (publicKey.includes('\\n') || publicKey.includes('\\r')) {\n // publicKey is multi-line string, can be used as is\n return publicKey.trim();\n }\n else {\n // publicKey is base64 encoded\n return typeof atob !== 'undefined'\n ? atob(publicKey)\n : Buffer.from(publicKey, 'base64').toString('utf-8');\n }\n}\n","export const isHostModule = (val) => val.__type === 'host';\nexport function buildHostModule(val, host) {\n return val.create(host);\n}\n","export const WixBIHeaderName = 'x-wix-bi-gateway';\nexport function biHeaderGenerator(apiMetadata, publicMetadata, environment) {\n return {\n [WixBIHeaderName]: objectToKeyValue({\n environment: `js-sdk${environment ? `-${environment}` : ``}`,\n 'package-name': apiMetadata.packageName ?? publicMetadata?.PACKAGE_NAME,\n 'method-fqn': apiMetadata.methodFqn,\n entity: apiMetadata.entityFqdn,\n }),\n };\n}\nfunction objectToKeyValue(input) {\n return Object.entries(input)\n .filter(([_, value]) => Boolean(value))\n .map(([key, value]) => `${key}=${value}`)\n .join(',');\n}\n","import { biHeaderGenerator } from './bi/biHeaderGenerator.js';\nimport { DEFAULT_API_URL, DEFAULT_EDGE_API_URL } from './common.js';\nimport { runWithoutContext } from '@wix/sdk-runtime/context';\nexport function buildRESTDescriptor(origFunc, publicMetadata, boundFetch, wixAPIFetch, getActiveToken, options, hostName, useCDN) {\n return runWithoutContext(() => origFunc({\n request: async (factory) => {\n const requestOptions = factory({\n host: options?.HTTPHost || DEFAULT_API_URL,\n });\n let request = requestOptions;\n if (request.method === 'GET' &&\n request.fallback?.length &&\n request.params.toString().length > 4000) {\n request = requestOptions.fallback[0];\n }\n const domain = options?.HTTPHost ?? DEFAULT_API_URL;\n let url = `https://${useCDN ? DEFAULT_EDGE_API_URL : domain}${request.url}`;\n if (request.params && request.params.toString()) {\n url += `?${request.params.toString()}`;\n }\n try {\n const biHeader = biHeaderGenerator(requestOptions, publicMetadata, hostName);\n const res = await boundFetch(url, {\n method: request.method,\n ...(request.data && {\n body: JSON.stringify(request.data),\n }),\n headers: {\n ...biHeader,\n },\n });\n if (res.status !== 200) {\n let dataError = null;\n try {\n dataError = await res.json();\n }\n catch (e) {\n //\n }\n throw errorBuilder(res.status, dataError?.message, dataError?.details, {\n requestId: res.headers.get('X-Wix-Request-Id'),\n details: dataError,\n });\n }\n const data = await res.json();\n return {\n data,\n headers: res.headers,\n status: res.status,\n statusText: res.statusText,\n };\n }\n catch (e) {\n if (e.message?.includes('fetch is not defined')) {\n console.error('Node.js v18+ is required');\n }\n throw e;\n }\n },\n fetchWithAuth: boundFetch,\n wixAPIFetch,\n getActiveToken,\n }));\n}\nconst errorBuilder = (code, description, details, data) => {\n return {\n response: {\n data: {\n details: {\n ...(!details?.validationError && {\n applicationError: {\n description,\n code,\n data,\n },\n }),\n ...details,\n },\n message: description,\n },\n status: code,\n },\n requestId: data?.requestId,\n };\n};\n","import { EventDefinition, } from '@wix/sdk-types';\nimport { createNanoEvents } from './nanoevents.js';\nexport const isEventHandlerModule = (val) => val.__type === 'event-definition';\nexport function buildEventDefinition(eventDefinition, registerHandler) {\n return (handler) => {\n registerHandler(eventDefinition, handler);\n };\n}\nfunction runHandler(eventDefinition, handler, payload, baseEventMetadata) {\n let envelope;\n if (eventDefinition.isDomainEvent) {\n const domainEventPayload = payload;\n const { deletedEvent, actionEvent, createdEvent, updatedEvent, ...domainEventMetadata } = domainEventPayload;\n const metadata = {\n ...baseEventMetadata,\n ...domainEventMetadata,\n };\n if (deletedEvent) {\n if (deletedEvent?.deletedEntity) {\n envelope = {\n entity: deletedEvent?.deletedEntity,\n metadata,\n };\n }\n else {\n envelope = { metadata };\n }\n }\n else if (actionEvent) {\n envelope = {\n data: actionEvent.body,\n metadata,\n };\n }\n else {\n envelope = {\n entity: createdEvent?.entity ?? updatedEvent?.currentEntity,\n metadata,\n };\n }\n }\n else {\n envelope = {\n data: payload,\n metadata: baseEventMetadata,\n };\n }\n const transformFromRESTFn = eventDefinition.transformations ?? ((x) => x);\n return handler(transformFromRESTFn(envelope));\n}\nexport function eventHandlersModules(authStrategy) {\n const eventHandlers = new Map();\n const webhooksEmitter = createNanoEvents();\n const client = {\n ...webhooksEmitter,\n getRegisteredEvents: () => eventHandlers,\n async process(jwt, opts = {\n expectedEvents: [],\n }) {\n const { eventType, identity, instanceId, payload } = await this.parseJWT(jwt);\n const allExpectedEvents = [\n ...opts.expectedEvents,\n ...Array.from(eventHandlers.keys()).map((type) => ({ type })),\n ];\n if (allExpectedEvents.length > 0 &&\n !allExpectedEvents.some(({ type }) => type === eventType)) {\n throw new Error(`Unexpected event type: ${eventType}. Expected one of: ${allExpectedEvents\n .map((x) => x.type)\n .join(', ')}`);\n }\n const handlers = eventHandlers.get(eventType) ?? [];\n await Promise.all(handlers.map(({ eventDefinition, handler }) => runHandler(eventDefinition, handler, payload, {\n instanceId,\n identity,\n })));\n return {\n instanceId,\n eventType,\n payload,\n identity,\n };\n },\n async processRequest(request, opts) {\n const body = await request.text();\n return this.process(body, opts);\n },\n async parseJWT(jwt) {\n if (!authStrategy.decodeJWT) {\n throw new Error('decodeJWT is not supported by the authentication strategy');\n }\n const { decoded, valid } = await authStrategy.decodeJWT(jwt);\n if (!valid) {\n throw new Error('JWT is not valid');\n }\n if (typeof decoded.data !== 'string') {\n throw new Error(`Unexpected type of JWT data: expected string, got ${typeof decoded.data}`);\n }\n const parsedDecoded = JSON.parse(decoded.data);\n const eventType = parsedDecoded.eventType;\n const instanceId = parsedDecoded.instanceId;\n const identity = parsedDecoded.identity\n ? JSON.parse(parsedDecoded.identity)\n : undefined;\n const payload = JSON.parse(parsedDecoded.data);\n return {\n instanceId,\n eventType,\n payload,\n identity,\n };\n },\n async parseRequest(request) {\n const jwt = await request.text();\n return this.parseJWT(jwt);\n },\n async executeHandlers(event) {\n const allExpectedEvents = Array.from(eventHandlers.keys()).map((type) => ({ type }));\n if (allExpectedEvents.length > 0 &&\n !allExpectedEvents.some(({ type }) => type === event.eventType)) {\n throw new Error(`Unexpected event type: ${event.eventType}. Expected one of: ${allExpectedEvents\n .map((x) => x.type)\n .join(', ')}`);\n }\n const handlers = eventHandlers.get(event.eventType) ?? [];\n await Promise.all(handlers.map(({ eventDefinition, handler }) => runHandler(eventDefinition, handler, event.payload, {\n instanceId: event.instanceId,\n identity: event.identity,\n })));\n },\n apps: {\n AppInstalled: EventDefinition('AppInstalled')(),\n AppRemoved: EventDefinition('AppRemoved')(),\n },\n };\n return {\n initModule(eventDefinition) {\n return (handler) => {\n const handlers = eventHandlers.get(eventDefinition.type) ?? [];\n handlers.push({ eventDefinition, handler });\n eventHandlers.set(eventDefinition.type, handlers);\n webhooksEmitter.emit('registered', eventDefinition);\n };\n },\n client,\n };\n}\n","// Inlined from https://github.com/ai/nanoevents/blob/main/index.js\n/**\n * Create event emitter.\n *\n * ```js\n * import { createNanoEvents } from 'nanoevents'\n *\n * class Ticker {\n * constructor() {\n * this.emitter = createNanoEvents()\n * }\n * on(...args) {\n * return this.emitter.on(...args)\n * }\n * tick() {\n * this.emitter.emit('tick')\n * }\n * }\n * ```\n * @returns Event emitter.\n */\nexport function createNanoEvents() {\n return {\n emit(event, ...args) {\n for (let i = 0, callbacks = this.events[event] || [], length = callbacks.length; i < length; i++) {\n callbacks[i](...args);\n }\n },\n events: {},\n on(event, cb) {\n (this.events[event] ||= []).push(cb);\n return () => {\n this.events[event] = this.events[event]?.filter((i) => cb !== i);\n };\n },\n };\n}\n","import { createNanoEvents } from './nanoevents.js';\nexport const isServicePluginModule = (val) => val.__type === 'service-plugin-definition';\nexport function servicePluginsModules(authStrategy) {\n const servicePluginsImplementations = new Map();\n const servicePluginsEmitter = createNanoEvents();\n const client = {\n ...servicePluginsEmitter,\n getRegisteredServicePlugins: () => servicePluginsImplementations,\n async parseJWT(jwt) {\n if (!authStrategy.decodeJWT) {\n throw new Error('decodeJWT is not supported by the authentication strategy');\n }\n const { decoded, valid } = await authStrategy.decodeJWT(jwt, true);\n if (!valid) {\n throw new Error('JWT is not valid');\n }\n if (typeof decoded.data !== 'object' ||\n decoded.data === null ||\n !('metadata' in decoded.data) ||\n typeof decoded.data.metadata !== 'object' ||\n decoded.data.metadata === null ||\n !('appExtensionType' in decoded.data.metadata) ||\n typeof decoded.data.metadata.appExtensionType !== 'string') {\n throw new Error('Unexpected JWT data: expected object with metadata.appExtensionType string');\n }\n return decoded.data;\n },\n async process(request) {\n const servicePluginRequest = await this.parseJWT(request.body);\n return this.executeHandler(servicePluginRequest, request.url);\n },\n async parseRequest(request) {\n const body = await request.text();\n return this.parseJWT(body);\n },\n async processRequest(request) {\n const url = request.url;\n const body = await request.text();\n try {\n const implMethodResult = await this.process({ url, body });\n return Response.json(implMethodResult);\n }\n catch (err) {\n if (err.errorType === 'SPI' && err.applicationCode && err.httpCode) {\n return Response.json({ applicationError: { code: err.applicationCode, data: err.data } }, { status: err.httpCode });\n }\n throw err;\n }\n },\n async executeHandler(servicePluginRequest, url) {\n const componentType = servicePluginRequest.metadata.appExtensionType.toLowerCase();\n const implementations = servicePluginsImplementations.get(componentType) ?? [];\n if (implementations.length === 0) {\n throw new Error(`No service plugin implementations found for component type ${componentType}`);\n }\n else if (implementations.length > 1) {\n throw new Error(`Multiple service plugin implementations found for component type ${componentType}. This is currently not supported`);\n }\n const { implementation: impl, servicePluginDefinition } = implementations[0];\n const method = servicePluginDefinition.methods.find((m) => url.endsWith(m.primaryHttpMappingPath));\n if (!method) {\n throw new Error('Unexpect request: request url did not match any method: ' + url);\n }\n const implMethod = impl[method.name];\n if (!implMethod) {\n throw new Error(`Got request for service plugin method ${method.name} but no implementation was provided. Available methods: ${Object.keys(impl).join(', ')}`);\n }\n return method.transformations.toREST(await implMethod(method.transformations.fromREST(servicePluginRequest)));\n },\n };\n return {\n initModule(servicePluginDefinition) {\n return (implementation) => {\n const implementations = servicePluginsImplementations.get(servicePluginDefinition.componentType.toLowerCase()) ?? [];\n implementations.push({ servicePluginDefinition, implementation });\n servicePluginsImplementations.set(servicePluginDefinition.componentType.toLowerCase(), implementations);\n servicePluginsEmitter.emit('registered', servicePluginDefinition);\n };\n },\n client,\n };\n}\n"],"mappings":"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","names":["init_browser","wixContext","parseMethod","method","toHTTPModule","factory","httpClient","payload","requestOptions","HTTPFactory","context","url","params","response","transformations","data","transform","e","isAmbassadorModule","module","PUBLIC_METADATA_KEY","DEFAULT_API_URL","DEFAULT_EDGE_API_URL","FetchErrorResponse","message","response","__publicField","dataError","errorBuilder","code","description","details","data","getDefaultContentHeader","options","isObject","val","isHostModule","val","buildHostModule","host","WixBIHeaderName","biHeaderGenerator","apiMetadata","publicMetadata","environment","objectToKeyValue","input","_","value","key","buildRESTDescriptor","origFunc","publicMetadata","boundFetch","wixAPIFetch","getActiveToken","options","hostName","useCDN","runWithoutContext","factory","requestOptions","DEFAULT_API_URL","request","domain","url","DEFAULT_EDGE_API_URL","biHeader","biHeaderGenerator","res","dataError","errorBuilder","e","code","description","details","data","init_browser","createNanoEvents","event","args","i","callbacks","length","cb","isEventHandlerModule","val","runHandler","eventDefinition","handler","payload","baseEventMetadata","envelope","domainEventPayload","deletedEvent","actionEvent","createdEvent","updatedEvent","domainEventMetadata","metadata","transformFromRESTFn","x","eventHandlersModules","authStrategy","eventHandlers","webhooksEmitter","createNanoEvents","client","jwt","opts","eventType","identity","instanceId","allExpectedEvents","type","handlers","request","body","decoded","valid","parsedDecoded","event","EventDefinition","isServicePluginModule","val","servicePluginsModules","authStrategy","servicePluginsImplementations","servicePluginsEmitter","createNanoEvents","client","jwt","decoded","valid","request","servicePluginRequest","body","url","implMethodResult","err","componentType","implementations","impl","servicePluginDefinition","method","m","implMethod","implementation","X_WIX_CONSISTENT_HEADER","createClient","config","_headers","authStrategy","_","boundGetAuthHeaders","fetchWithAuth","urlOrRequest","requestInit","authHeaders","headers","response","consistentHeader","findConsistentHeader","k","v","servicePluginsClient","initServicePluginModule","servicePluginsModules","eventHandlersClient","initEventHandlerModule","eventHandlersModules","boundFetch","url","options","defaultContentTypeHeader","getDefaultContentHeader","use","modules","metadata","isEventHandlerModule","isServicePluginModule","isHostModule","buildHostModule","SERVICE_PLUGIN_ERROR_TYPE","apiBaseUrl","DEFAULT_API_URL","shouldUseCDN","buildRESTDescriptor","runWithoutContext","isAmbassadorModule","toHTTPModule","relativeUrl","fetchOptions","finalUrl","isObject","key","value","PUBLIC_METADATA_KEY","setHeaders","contextType","opts","wixContext","query","variables","res","FetchErrorResponse","data","errors"]}
@@ -0,0 +1,2 @@
1
+ import{wixContext as l}from"@wix/sdk-context";function d(i,t){return{...i,...Object.fromEntries(t.map(n=>[n,(...e)=>{let o=r();if(!o)throw new Error("Wix context is not available. Make sure to initialize the Wix context before using SDK modules");return o.initWixModules(i)[n].apply(void 0,e)}]))}}function c(i,t){return(...n)=>{let e=r();return e?e.initWixModules(i,t).apply(void 0,n):i.apply(void 0,n)}}function r(){let i=typeof $wixContext<"u"&&$wixContext.initWixModules?$wixContext.initWixModules:typeof globalThis.__wix_context__<"u"&&globalThis.__wix_context__.initWixModules?globalThis.__wix_context__.initWixModules:void 0;if(i)return{initWixModules(e,o){return u(()=>i(e,o))},fetchWithAuth(){throw new Error("fetchWithAuth is not available in this context")},graphql(){throw new Error("graphql is not available in this context")}};let t=typeof $wixContext<"u"?$wixContext.client:typeof l.client<"u"?l.client:typeof globalThis.__wix_context__<"u"?globalThis.__wix_context__.client:void 0,n=typeof $wixContext<"u"?$wixContext.elevatedClient:typeof l.elevatedClient<"u"?l.elevatedClient:typeof globalThis.__wix_context__<"u"?globalThis.__wix_context__.elevatedClient:void 0;if(!(!t&&!n))return{initWixModules(e,o){if(o){if(!n)throw new Error("An elevated client is required to use elevated modules. Make sure to initialize the Wix context with an elevated client before using elevated SDK modules");return u(()=>n.use(e))}if(!t)throw new Error("Wix context is not available. Make sure to initialize the Wix context before using SDK modules");return u(()=>t.use(e))},fetchWithAuth:(e,o)=>{if(!t)throw new Error("Wix context is not available. Make sure to initialize the Wix context before using SDK modules");return t.fetchWithAuth(e,o)},getAuth(){if(!t)throw new Error("Wix context is not available. Make sure to initialize the Wix context before using SDK modules");return t.auth},async graphql(e,o,x){if(!t)throw new Error("Wix context is not available. Make sure to initialize the Wix context before using SDK modules");return t.graphql(e,o,x)}}}function u(i){let t=globalThis.__wix_context__,n={client:l.client,elevatedClient:l.elevatedClient},e;globalThis.__wix_context__=void 0,l.client=void 0,l.elevatedClient=void 0,typeof $wixContext<"u"&&(e={client:$wixContext?.client,elevatedClient:$wixContext?.elevatedClient},delete $wixContext.client,delete $wixContext.elevatedClient);try{return i()}finally{globalThis.__wix_context__=t,l.client=n.client,l.elevatedClient=n.elevatedClient,typeof $wixContext<"u"&&($wixContext.client=e.client,$wixContext.elevatedClient=e.elevatedClient)}}export{d as a,c as b,u as c};
2
+ //# sourceMappingURL=chunk-NHYZDMR5.js.map