@webstudio-is/protocol 0.272.0 → 0.274.0

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.
package/lib/fixtures.js CHANGED
@@ -862,11 +862,11 @@ function datetimeRegex(args) {
862
862
  regex = `${regex}(${opts.join("|")})`;
863
863
  return new RegExp(`^${regex}$`);
864
864
  }
865
- function isValidIP(ip, version2) {
866
- if ((version2 === "v4" || !version2) && ipv4Regex.test(ip)) {
865
+ function isValidIP(ip, version) {
866
+ if ((version === "v4" || !version) && ipv4Regex.test(ip)) {
867
867
  return true;
868
868
  }
869
- if ((version2 === "v6" || !version2) && ipv6Regex.test(ip)) {
869
+ if ((version === "v6" || !version) && ipv6Regex.test(ip)) {
870
870
  return true;
871
871
  }
872
872
  return false;
@@ -889,11 +889,11 @@ function isValidJWT(jwt, alg) {
889
889
  return false;
890
890
  }
891
891
  }
892
- function isValidCidr(ip, version2) {
893
- if ((version2 === "v4" || !version2) && ipv4CidrRegex.test(ip)) {
892
+ function isValidCidr(ip, version) {
893
+ if ((version === "v4" || !version) && ipv4CidrRegex.test(ip)) {
894
894
  return true;
895
895
  }
896
- if ((version2 === "v6" || !version2) && ipv6CidrRegex.test(ip)) {
896
+ if ((version === "v6" || !version) && ipv6CidrRegex.test(ip)) {
897
897
  return true;
898
898
  }
899
899
  return false;
@@ -4068,12 +4068,12 @@ var FONT_MIME_TYPES = Array.from(FONT_FORMATS.keys()).map((format) => `.${format
4068
4068
  var FONT_STYLES = ["normal", "italic", "oblique"];
4069
4069
 
4070
4070
  // ../fonts/src/schema.ts
4071
- var FontFormat = z.union([
4071
+ var fontFormat = z.union([
4072
4072
  z.literal("ttf"),
4073
4073
  z.literal("woff"),
4074
4074
  z.literal("woff2")
4075
4075
  ]);
4076
- var AxisName = z.enum([
4076
+ var axisName = z.enum([
4077
4077
  "wght",
4078
4078
  "wdth",
4079
4079
  "slnt",
@@ -4089,8 +4089,8 @@ var AxisName = z.enum([
4089
4089
  "YTDE",
4090
4090
  "YTFI"
4091
4091
  ]);
4092
- var VariationAxes = z.record(
4093
- AxisName,
4092
+ var variationAxes = z.record(
4093
+ axisName,
4094
4094
  z.object({
4095
4095
  name: z.string(),
4096
4096
  min: z.number(),
@@ -4098,21 +4098,21 @@ var VariationAxes = z.record(
4098
4098
  max: z.number()
4099
4099
  })
4100
4100
  );
4101
- var FontMetaStatic = z.object({
4101
+ var fontMetaStatic = z.object({
4102
4102
  family: z.string(),
4103
4103
  style: z.enum(FONT_STYLES),
4104
4104
  weight: z.number()
4105
4105
  });
4106
- var FontMetaVariable = z.object({
4106
+ var fontMetaVariable = z.object({
4107
4107
  family: z.string(),
4108
- variationAxes: VariationAxes
4108
+ variationAxes
4109
4109
  });
4110
- var FontMeta = z.union([FontMetaStatic, FontMetaVariable]);
4110
+ var fontMeta = z.union([fontMetaStatic, fontMetaVariable]);
4111
4111
 
4112
4112
  // ../sdk/src/schema/assets.ts
4113
- var AssetId = z.string();
4113
+ var assetId = z.string();
4114
4114
  var baseAsset = {
4115
- id: AssetId,
4115
+ id: assetId,
4116
4116
  projectId: z.string(),
4117
4117
  size: z.number(),
4118
4118
  name: z.string(),
@@ -4120,35 +4120,36 @@ var baseAsset = {
4120
4120
  description: z.union([z.string().optional(), z.null()]),
4121
4121
  createdAt: z.string()
4122
4122
  };
4123
- var FontAsset = z.object({
4123
+ var assetType = z.enum(["font", "image", "file"]);
4124
+ var fontAsset = z.object({
4124
4125
  ...baseAsset,
4125
- format: FontFormat,
4126
- meta: FontMeta,
4127
- type: z.literal("font")
4126
+ format: fontFormat,
4127
+ meta: fontMeta,
4128
+ type: z.literal(assetType.enum.font)
4128
4129
  });
4129
- var ImageMeta = z.object({
4130
+ var imageMeta = z.object({
4130
4131
  width: z.number(),
4131
4132
  height: z.number()
4132
4133
  });
4133
- var ImageAsset = z.object({
4134
+ var imageAsset = z.object({
4134
4135
  ...baseAsset,
4135
4136
  format: z.string(),
4136
- meta: ImageMeta,
4137
- type: z.literal("image")
4137
+ meta: imageMeta,
4138
+ type: z.literal(assetType.enum.image)
4138
4139
  });
4139
- var FileAsset = z.object({
4140
+ var fileAsset = z.object({
4140
4141
  ...baseAsset,
4141
4142
  format: z.string(),
4142
4143
  meta: z.object({}),
4143
- type: z.literal("file")
4144
+ type: z.literal(assetType.enum.file)
4144
4145
  });
4145
- var Asset = z.union([FontAsset, ImageAsset, FileAsset]);
4146
- var Assets = z.map(AssetId, Asset);
4146
+ var asset = z.union([fontAsset, imageAsset, fileAsset]);
4147
+ var assets = z.map(assetId, asset);
4147
4148
 
4148
4149
  // ../sdk/src/schema/breakpoints.ts
4149
- var BreakpointId = z.string();
4150
- var Breakpoint = z.object({
4151
- id: BreakpointId,
4150
+ var breakpointId = z.string();
4151
+ var breakpoint = z.object({
4152
+ id: breakpointId,
4152
4153
  label: z.string(),
4153
4154
  minWidth: z.number().optional(),
4154
4155
  maxWidth: z.number().optional(),
@@ -4167,11 +4168,11 @@ var Breakpoint = z.object({
4167
4168
  }
4168
4169
  return true;
4169
4170
  }, "Width-based (minWidth/maxWidth) and condition are mutually exclusive, and minWidth must be less than maxWidth");
4170
- var Breakpoints = z.map(BreakpointId, Breakpoint);
4171
+ var breakpoints = z.map(breakpointId, breakpoint);
4171
4172
 
4172
4173
  // ../sdk/src/schema/data-sources.ts
4173
- var DataSourceId = z.string();
4174
- var DataSourceVariableValue = z.union([
4174
+ var dataSourceId = z.string();
4175
+ var dataSourceVariableValue = z.union([
4175
4176
  z.object({
4176
4177
  type: z.literal("number"),
4177
4178
  // initial value of variable store
@@ -4194,10 +4195,10 @@ var DataSourceVariableValue = z.union([
4194
4195
  value: z.unknown()
4195
4196
  })
4196
4197
  ]);
4197
- var DataSource = z.union([
4198
+ var dataSource = z.union([
4198
4199
  z.object({
4199
4200
  type: z.literal("variable"),
4200
- id: DataSourceId,
4201
+ id: dataSourceId,
4201
4202
  // The instance should always be specified for variables,
4202
4203
  // however, there was a bug in the embed template
4203
4204
  // which produced variables without an instance
@@ -4205,26 +4206,26 @@ var DataSource = z.union([
4205
4206
  // if we make it required
4206
4207
  scopeInstanceId: z.string().optional(),
4207
4208
  name: z.string(),
4208
- value: DataSourceVariableValue
4209
+ value: dataSourceVariableValue
4209
4210
  }),
4210
4211
  z.object({
4211
4212
  type: z.literal("parameter"),
4212
- id: DataSourceId,
4213
+ id: dataSourceId,
4213
4214
  scopeInstanceId: z.string().optional(),
4214
4215
  name: z.string()
4215
4216
  }),
4216
4217
  z.object({
4217
4218
  type: z.literal("resource"),
4218
- id: DataSourceId,
4219
+ id: dataSourceId,
4219
4220
  scopeInstanceId: z.string().optional(),
4220
4221
  name: z.string(),
4221
4222
  resourceId: z.string()
4222
4223
  })
4223
4224
  ]);
4224
- var DataSources = z.map(DataSourceId, DataSource);
4225
+ var dataSources = z.map(dataSourceId, dataSource);
4225
4226
 
4226
4227
  // ../sdk/src/schema/deployment.ts
4227
- var Templates = z.enum([
4228
+ var templates = z.enum([
4228
4229
  "docker",
4229
4230
  "vercel",
4230
4231
  "netlify",
@@ -4232,13 +4233,13 @@ var Templates = z.enum([
4232
4233
  "ssg-netlify",
4233
4234
  "ssg-vercel"
4234
4235
  ]);
4235
- var Deployment = z.union([
4236
+ var deployment = z.union([
4236
4237
  z.object({
4237
4238
  destination: z.literal("static"),
4238
4239
  name: z.string(),
4239
4240
  assetsDomain: z.string(),
4240
4241
  // Must be validated very strictly
4241
- templates: z.array(Templates)
4242
+ templates: z.array(templates)
4242
4243
  }),
4243
4244
  z.object({
4244
4245
  destination: z.literal("saas").optional(),
@@ -4253,30 +4254,30 @@ var Deployment = z.union([
4253
4254
  ]);
4254
4255
 
4255
4256
  // ../sdk/src/schema/instances.ts
4256
- var TextChild = z.object({
4257
+ var textChild = z.object({
4257
4258
  type: z.literal("text"),
4258
4259
  value: z.string(),
4259
4260
  placeholder: z.boolean().optional()
4260
4261
  });
4261
- var InstanceId = z.string();
4262
- var IdChild = z.object({
4262
+ var instanceId = z.string();
4263
+ var idChild = z.object({
4263
4264
  type: z.literal("id"),
4264
- value: InstanceId
4265
+ value: instanceId
4265
4266
  });
4266
- var ExpressionChild = z.object({
4267
+ var expressionChild = z.object({
4267
4268
  type: z.literal("expression"),
4268
4269
  value: z.string()
4269
4270
  });
4270
- var InstanceChild = z.union([IdChild, TextChild, ExpressionChild]);
4271
- var Instance = z.object({
4271
+ var instanceChild = z.union([idChild, textChild, expressionChild]);
4272
+ var instance = z.object({
4272
4273
  type: z.literal("instance"),
4273
- id: InstanceId,
4274
+ id: instanceId,
4274
4275
  component: z.string(),
4275
4276
  tag: z.string().optional(),
4276
4277
  label: z.string().optional(),
4277
- children: z.array(InstanceChild)
4278
+ children: z.array(instanceChild)
4278
4279
  });
4279
- var Instances = z.map(InstanceId, Instance);
4280
+ var instances = z.map(instanceId, instance);
4280
4281
 
4281
4282
  // ../wsauth/src/index.ts
4282
4283
  var basicLoginErrors = (login) => {
@@ -4336,26 +4337,26 @@ var validateBasicAuth = ({
4336
4337
 
4337
4338
  // ../sdk/src/schema/pages.ts
4338
4339
  var MIN_TITLE_LENGTH = 2;
4339
- var PageId = z.string();
4340
- var FolderId = z.string();
4341
- var FolderName = z.string().refine((value) => value.trim() !== "", "Can't be empty");
4342
- var Slug = z.string().refine(
4340
+ var pageId = z.string();
4341
+ var folderId = z.string();
4342
+ var folderName = z.string().refine((value) => value.trim() !== "", "Can't be empty");
4343
+ var slug = z.string().refine(
4343
4344
  (path) => /^[-a-z0-9]*$/.test(path),
4344
4345
  "Only a-z, 0-9 and - are allowed"
4345
4346
  );
4346
- var Folder = z.object({
4347
- id: FolderId,
4348
- name: FolderName,
4349
- slug: Slug,
4350
- children: z.array(z.union([FolderId, PageId]))
4347
+ var folder = z.object({
4348
+ id: folderId,
4349
+ name: folderName,
4350
+ slug,
4351
+ children: z.array(z.union([folderId, pageId]))
4351
4352
  });
4352
- var PageName = z.string().refine((value) => value.trim() !== "", "Can't be empty");
4353
- var PageTitle = z.string().refine(
4353
+ var pageName = z.string().refine((value) => value.trim() !== "", "Can't be empty");
4354
+ var pageTitle = z.string().refine(
4354
4355
  (val) => val.length >= MIN_TITLE_LENGTH,
4355
4356
  `Minimum ${MIN_TITLE_LENGTH} characters required`
4356
4357
  );
4357
4358
  var documentTypes = ["html", "xml", "text"];
4358
- var BasicAuthFields = {
4359
+ var basicAuthFields = {
4359
4360
  login: z.string(),
4360
4361
  password: z.string()
4361
4362
  };
@@ -4371,23 +4372,23 @@ var validateBasicAuthFields = ({
4371
4372
  });
4372
4373
  }
4373
4374
  };
4374
- var PageBasicAuth = z.object({
4375
+ var pageBasicAuth = z.object({
4375
4376
  method: z.literal("basic"),
4376
- ...BasicAuthFields
4377
+ ...basicAuthFields
4377
4378
  }).superRefine(validateBasicAuthFields);
4378
- var LegacyPageBasicAuth = z.object({
4379
+ var legacyPageBasicAuth = z.object({
4379
4380
  type: z.literal("basic"),
4380
- ...BasicAuthFields
4381
+ ...basicAuthFields
4381
4382
  }).superRefine(validateBasicAuthFields).transform(({ login, password }) => ({
4382
4383
  method: "basic",
4383
4384
  login,
4384
4385
  password
4385
4386
  }));
4386
- var PageAuth = z.union([PageBasicAuth, LegacyPageBasicAuth]);
4387
+ var pageAuth = z.union([pageBasicAuth, legacyPageBasicAuth]);
4387
4388
  var commonPageFields = {
4388
- id: PageId,
4389
- name: PageName,
4390
- title: PageTitle,
4389
+ id: pageId,
4390
+ name: pageName,
4391
+ title: pageTitle,
4391
4392
  history: z.optional(z.array(z.string())),
4392
4393
  rootInstanceId: z.string(),
4393
4394
  systemDataSourceId: z.string().optional(),
@@ -4402,7 +4403,7 @@ var commonPageFields = {
4402
4403
  redirect: z.string().optional(),
4403
4404
  documentType: z.optional(z.enum(documentTypes)),
4404
4405
  content: z.string().optional(),
4405
- auth: PageAuth.optional(),
4406
+ auth: pageAuth.optional(),
4406
4407
  custom: z.array(
4407
4408
  z.object({
4408
4409
  property: z.string(),
@@ -4418,8 +4419,8 @@ var commonPageFields = {
4418
4419
  })
4419
4420
  )
4420
4421
  };
4421
- var HomePagePath = z.string().refine((path) => path === "", "Home page path must be empty");
4422
- var DefaultPagePage = z.string().refine((path) => path !== "", "Can't be empty").refine((path) => path !== "/", "Can't be just a /").refine((path) => path.endsWith("/") === false, "Can't end with a /").refine((path) => path.includes("//") === false, "Can't contain repeating /").refine(
4422
+ var homePagePath = z.string().refine((path) => path === "", "Home page path must be empty");
4423
+ var defaultPagePath = z.string().refine((path) => path !== "", "Can't be empty").refine((path) => path !== "/", "Can't be just a /").refine((path) => path.endsWith("/") === false, "Can't end with a /").refine((path) => path.includes("//") === false, "Can't contain repeating /").refine(
4423
4424
  (path) => /^[-_a-z0-9*:?\\/.]*$/.test(path),
4424
4425
  "Only a-z, 0-9, -, _, /, :, ?, . and * are allowed"
4425
4426
  ).refine(
@@ -4432,7 +4433,7 @@ var DefaultPagePage = z.string().refine((path) => path !== "", "Can't be empty")
4432
4433
  (path) => path !== "/build" && path.startsWith("/build/") === false,
4433
4434
  "/build prefix is reserved for the system"
4434
4435
  ).refine((path) => path.length <= 255, "Path can't exceed 255 characters");
4435
- var RedirectSourcePath = z.string().refine((path) => path !== "", "Can't be empty").refine((path) => path !== "/", "Can't be just a /").refine(
4436
+ var redirectSourcePath = z.string().refine((path) => path !== "", "Can't be empty").refine((path) => path !== "/", "Can't be just a /").refine(
4436
4437
  (path) => path.startsWith("/") && path.startsWith("//") === false,
4437
4438
  "Must start with a /"
4438
4439
  ).refine((path) => {
@@ -4452,23 +4453,23 @@ var RedirectSourcePath = z.string().refine((path) => path !== "", "Can't be empt
4452
4453
  (path) => path !== "/build" && path.startsWith("/build/") === false,
4453
4454
  "/build prefix is reserved for the system"
4454
4455
  );
4455
- var PagePath = DefaultPagePage.refine(
4456
+ var pagePath = defaultPagePath.refine(
4456
4457
  (path) => path === "" || path.startsWith("/"),
4457
4458
  "Must start with a / or a full URL e.g. https://website.org"
4458
4459
  );
4459
- var Page = z.object({
4460
+ var page = z.object({
4460
4461
  ...commonPageFields,
4461
- path: z.union([HomePagePath, PagePath])
4462
+ path: z.union([homePagePath, pagePath])
4462
4463
  });
4463
- var PageTemplate = z.object({
4464
- id: PageId,
4465
- name: PageName,
4466
- title: PageTitle,
4464
+ var pageTemplate = z.object({
4465
+ id: pageId,
4466
+ name: pageName,
4467
+ title: pageTitle,
4467
4468
  rootInstanceId: z.string(),
4468
4469
  systemDataSourceId: z.string().optional(),
4469
4470
  meta: commonPageFields.meta
4470
4471
  });
4471
- var ProjectMeta = z.object({
4472
+ var projectMeta = z.object({
4472
4473
  // All fields are optional to ensure consistency and allow for the addition of new fields without requiring migration
4473
4474
  siteName: z.string().optional(),
4474
4475
  contactEmail: z.string().optional(),
@@ -4476,7 +4477,7 @@ var ProjectMeta = z.object({
4476
4477
  code: z.string().optional(),
4477
4478
  auth: z.string().optional()
4478
4479
  });
4479
- var ProjectNewRedirectPath = z.string().min(1, "Path is required").refine((data) => {
4480
+ var projectNewRedirectPath = z.string().min(1, "Path is required").refine((data) => {
4480
4481
  try {
4481
4482
  new URL(data, "http://url.com");
4482
4483
  return true;
@@ -4484,27 +4485,27 @@ var ProjectNewRedirectPath = z.string().min(1, "Path is required").refine((data)
4484
4485
  return false;
4485
4486
  }
4486
4487
  }, "Must be a valid URL");
4487
- var PageRedirect = z.object({
4488
- old: RedirectSourcePath,
4489
- new: ProjectNewRedirectPath,
4488
+ var pageRedirect = z.object({
4489
+ old: redirectSourcePath,
4490
+ new: projectNewRedirectPath,
4490
4491
  status: z.enum(["301", "302"]).optional()
4491
4492
  });
4492
- var CompilerSettings = z.object({
4493
+ var compilerSettings = z.object({
4493
4494
  // All fields are optional to ensure consistency and allow for the addition of new fields without requiring migration
4494
4495
  atomicStyles: z.boolean().optional()
4495
4496
  });
4496
- var Pages = z.object({
4497
- meta: ProjectMeta.optional(),
4498
- compiler: CompilerSettings.optional(),
4499
- redirects: z.array(PageRedirect).optional(),
4500
- homePageId: PageId,
4501
- rootFolderId: FolderId,
4502
- pages: z.map(PageId, Page),
4503
- pageTemplates: z.map(PageId, PageTemplate).optional(),
4504
- folders: z.map(FolderId, Folder).refine((folders) => folders.size > 0, "Folders can't be empty")
4505
- }).superRefine((pages, context) => {
4506
- const homePage = pages.pages.get(pages.homePageId);
4507
- const rootFolder = pages.folders.get(pages.rootFolderId);
4497
+ var pages = z.object({
4498
+ meta: projectMeta.optional(),
4499
+ compiler: compilerSettings.optional(),
4500
+ redirects: z.array(pageRedirect).optional(),
4501
+ homePageId: pageId,
4502
+ rootFolderId: folderId,
4503
+ pages: z.map(pageId, page),
4504
+ pageTemplates: z.map(pageId, pageTemplate).optional(),
4505
+ folders: z.map(folderId, folder).refine((folders) => folders.size > 0, "Folders can't be empty")
4506
+ }).superRefine((pages2, context) => {
4507
+ const homePage = pages2.pages.get(pages2.homePageId);
4508
+ const rootFolder = pages2.folders.get(pages2.rootFolderId);
4508
4509
  if (homePage === void 0) {
4509
4510
  context.addIssue({
4510
4511
  code: z.ZodIssueCode.custom,
@@ -4522,27 +4523,27 @@ var Pages = z.object({
4522
4523
  if (homePage !== void 0 && homePage.path !== "") {
4523
4524
  context.addIssue({
4524
4525
  code: z.ZodIssueCode.custom,
4525
- path: ["pages", pages.homePageId, "path"],
4526
+ path: ["pages", pages2.homePageId, "path"],
4526
4527
  message: "Home page path must be empty"
4527
4528
  });
4528
4529
  }
4529
- for (const [pageId, page] of pages.pages) {
4530
- if (page.id !== pageId) {
4530
+ for (const [pageId2, page2] of pages2.pages) {
4531
+ if (page2.id !== pageId2) {
4531
4532
  context.addIssue({
4532
4533
  code: z.ZodIssueCode.custom,
4533
- path: ["pages", pageId, "id"],
4534
+ path: ["pages", pageId2, "id"],
4534
4535
  message: "Page id must match its record key"
4535
4536
  });
4536
4537
  }
4537
- if (pageId !== pages.homePageId && page.path === "") {
4538
+ if (pageId2 !== pages2.homePageId && page2.path === "") {
4538
4539
  context.addIssue({
4539
4540
  code: z.ZodIssueCode.custom,
4540
- path: ["pages", pageId, "path"],
4541
+ path: ["pages", pageId2, "path"],
4541
4542
  message: "Page path can't be empty"
4542
4543
  });
4543
4544
  }
4544
4545
  }
4545
- for (const [templateId, template] of pages.pageTemplates ?? []) {
4546
+ for (const [templateId, template] of pages2.pageTemplates ?? []) {
4546
4547
  if (template.id !== templateId) {
4547
4548
  context.addIssue({
4548
4549
  code: z.ZodIssueCode.custom,
@@ -4550,7 +4551,7 @@ var Pages = z.object({
4550
4551
  message: "Page template id must match its record key"
4551
4552
  });
4552
4553
  }
4553
- if (pages.pages.has(templateId)) {
4554
+ if (pages2.pages.has(templateId)) {
4554
4555
  context.addIssue({
4555
4556
  code: z.ZodIssueCode.custom,
4556
4557
  path: ["pageTemplates", templateId, "id"],
@@ -4558,75 +4559,75 @@ var Pages = z.object({
4558
4559
  });
4559
4560
  }
4560
4561
  }
4561
- for (const [folderId, folder] of pages.folders) {
4562
- if (folder.id !== folderId) {
4562
+ for (const [folderId2, folder2] of pages2.folders) {
4563
+ if (folder2.id !== folderId2) {
4563
4564
  context.addIssue({
4564
4565
  code: z.ZodIssueCode.custom,
4565
- path: ["folders", folderId, "id"],
4566
+ path: ["folders", folderId2, "id"],
4566
4567
  message: "Folder id must match its record key"
4567
4568
  });
4568
4569
  }
4569
- for (const [index, childId] of folder.children.entries()) {
4570
- if (pages.pages.has(childId) === false && pages.folders.has(childId) === false) {
4570
+ for (const [index, childId] of folder2.children.entries()) {
4571
+ if (pages2.pages.has(childId) === false && pages2.folders.has(childId) === false) {
4571
4572
  context.addIssue({
4572
4573
  code: z.ZodIssueCode.custom,
4573
- path: ["folders", folderId, "children", index],
4574
+ path: ["folders", folderId2, "children", index],
4574
4575
  message: "Folder child must reference an existing page or folder"
4575
4576
  });
4576
4577
  }
4577
- if (childId === pages.rootFolderId) {
4578
+ if (childId === pages2.rootFolderId) {
4578
4579
  context.addIssue({
4579
4580
  code: z.ZodIssueCode.custom,
4580
- path: ["folders", folderId, "children", index],
4581
+ path: ["folders", folderId2, "children", index],
4581
4582
  message: "Root folder can't be nested"
4582
4583
  });
4583
4584
  }
4584
4585
  }
4585
4586
  }
4586
- if (rootFolder !== void 0 && rootFolder.children[0] !== pages.homePageId) {
4587
+ if (rootFolder !== void 0 && rootFolder.children[0] !== pages2.homePageId) {
4587
4588
  context.addIssue({
4588
4589
  code: z.ZodIssueCode.custom,
4589
- path: ["folders", pages.rootFolderId, "children"],
4590
+ path: ["folders", pages2.rootFolderId, "children"],
4590
4591
  message: "Root folder must start with the home page"
4591
4592
  });
4592
4593
  }
4593
4594
  const childParents = /* @__PURE__ */ new Map();
4594
- for (const [folderId, folder] of pages.folders) {
4595
- for (const [index, childId] of folder.children.entries()) {
4595
+ for (const [folderId2, folder2] of pages2.folders) {
4596
+ for (const [index, childId] of folder2.children.entries()) {
4596
4597
  const parentId = childParents.get(childId);
4597
4598
  if (parentId !== void 0) {
4598
4599
  context.addIssue({
4599
4600
  code: z.ZodIssueCode.custom,
4600
- path: ["folders", folderId, "children", index],
4601
+ path: ["folders", folderId2, "children", index],
4601
4602
  message: `Child is already registered in folder "${parentId}"`
4602
4603
  });
4603
4604
  continue;
4604
4605
  }
4605
- childParents.set(childId, folderId);
4606
+ childParents.set(childId, folderId2);
4606
4607
  }
4607
4608
  }
4608
- const hasFolderCycle = (folderId, path = /* @__PURE__ */ new Set()) => {
4609
- if (path.has(folderId)) {
4609
+ const hasFolderCycle = (folderId2, path = /* @__PURE__ */ new Set()) => {
4610
+ if (path.has(folderId2)) {
4610
4611
  return true;
4611
4612
  }
4612
- const folder = pages.folders.get(folderId);
4613
- if (folder === void 0) {
4613
+ const folder2 = pages2.folders.get(folderId2);
4614
+ if (folder2 === void 0) {
4614
4615
  return false;
4615
4616
  }
4616
- path.add(folderId);
4617
- for (const childId of folder.children) {
4618
- if (pages.folders.has(childId) && hasFolderCycle(childId, path)) {
4617
+ path.add(folderId2);
4618
+ for (const childId of folder2.children) {
4619
+ if (pages2.folders.has(childId) && hasFolderCycle(childId, path)) {
4619
4620
  return true;
4620
4621
  }
4621
4622
  }
4622
- path.delete(folderId);
4623
+ path.delete(folderId2);
4623
4624
  return false;
4624
4625
  };
4625
- for (const folderId of pages.folders.keys()) {
4626
- if (hasFolderCycle(folderId)) {
4626
+ for (const folderId2 of pages2.folders.keys()) {
4627
+ if (hasFolderCycle(folderId2)) {
4627
4628
  context.addIssue({
4628
4629
  code: z.ZodIssueCode.custom,
4629
- path: ["folders", folderId, "children"],
4630
+ path: ["folders", folderId2, "children"],
4630
4631
  message: "Folders can't contain cycles"
4631
4632
  });
4632
4633
  }
@@ -4634,31 +4635,31 @@ var Pages = z.object({
4634
4635
  });
4635
4636
 
4636
4637
  // ../css-engine/src/schema.ts
4637
- var Unit = z.string();
4638
- var UnitValue = z.object({
4638
+ var unit = z.string();
4639
+ var unitValue = z.object({
4639
4640
  type: z.literal("unit"),
4640
- unit: Unit,
4641
+ unit,
4641
4642
  value: z.number(),
4642
4643
  hidden: z.boolean().optional()
4643
4644
  });
4644
- var KeywordValue = z.object({
4645
+ var keywordValue = z.object({
4645
4646
  type: z.literal("keyword"),
4646
4647
  // @todo use exact type
4647
4648
  value: z.string(),
4648
4649
  hidden: z.boolean().optional()
4649
4650
  });
4650
- var UnparsedValue = z.object({
4651
+ var unparsedValue = z.object({
4651
4652
  type: z.literal("unparsed"),
4652
4653
  value: z.string(),
4653
4654
  // For the builder we want to be able to hide background-image
4654
4655
  hidden: z.boolean().optional()
4655
4656
  });
4656
- var FontFamilyValue = z.object({
4657
+ var fontFamilyValue = z.object({
4657
4658
  type: z.literal("fontFamily"),
4658
4659
  value: z.array(z.string()),
4659
4660
  hidden: z.boolean().optional()
4660
4661
  });
4661
- var RgbValue = z.object({
4662
+ var rgbValue = z.object({
4662
4663
  type: z.literal("rgb"),
4663
4664
  r: z.number(),
4664
4665
  g: z.number(),
@@ -4666,7 +4667,7 @@ var RgbValue = z.object({
4666
4667
  alpha: z.number(),
4667
4668
  hidden: z.boolean().optional()
4668
4669
  });
4669
- var ColorValue = z.object({
4670
+ var colorValue = z.object({
4670
4671
  type: z.literal("color"),
4671
4672
  // all these color spaces are defined by design tokens specification
4672
4673
  colorSpace: z.union([
@@ -4687,16 +4688,16 @@ var ColorValue = z.object({
4687
4688
  z.literal("xyz-d50")
4688
4689
  ]),
4689
4690
  components: z.tuple([z.number(), z.number(), z.number()]),
4690
- alpha: z.union([z.number(), z.lazy(() => VarValue)]),
4691
+ alpha: z.union([z.number(), z.lazy(() => varValue)]),
4691
4692
  hidden: z.boolean().optional()
4692
4693
  });
4693
- var FunctionValue = z.object({
4694
+ var functionValue = z.object({
4694
4695
  type: z.literal("function"),
4695
4696
  name: z.string(),
4696
- args: z.lazy(() => StyleValue),
4697
+ args: z.lazy(() => styleValue),
4697
4698
  hidden: z.boolean().optional()
4698
4699
  });
4699
- var ImageValue = z.object({
4700
+ var imageValue = z.object({
4700
4701
  type: z.literal("image"),
4701
4702
  value: z.union([
4702
4703
  z.object({ type: z.literal("asset"), value: z.string() }),
@@ -4707,92 +4708,92 @@ var ImageValue = z.object({
4707
4708
  // For the builder we want to be able to hide images
4708
4709
  hidden: z.boolean().optional()
4709
4710
  });
4710
- var GuaranteedInvalidValue = z.object({
4711
+ var guaranteedInvalidValue = z.object({
4711
4712
  type: z.literal("guaranteedInvalid"),
4712
4713
  hidden: z.boolean().optional()
4713
4714
  });
4714
- var InvalidValue = z.object({
4715
+ var invalidValue = z.object({
4715
4716
  type: z.literal("invalid"),
4716
4717
  value: z.string(),
4717
4718
  hidden: z.boolean().optional()
4718
4719
  });
4719
- var UnsetValue = z.object({
4720
+ var unsetValue = z.object({
4720
4721
  type: z.literal("unset"),
4721
4722
  value: z.literal(""),
4722
4723
  hidden: z.boolean().optional()
4723
4724
  });
4724
- var VarFallback = z.union([
4725
- UnparsedValue,
4726
- KeywordValue,
4727
- UnitValue,
4728
- ColorValue,
4729
- RgbValue
4725
+ var varFallback = z.union([
4726
+ unparsedValue,
4727
+ keywordValue,
4728
+ unitValue,
4729
+ colorValue,
4730
+ rgbValue
4730
4731
  ]);
4731
- var VarValue = z.object({
4732
+ var varValue = z.object({
4732
4733
  type: z.literal("var"),
4733
4734
  value: z.string(),
4734
- fallback: VarFallback.optional(),
4735
+ fallback: varFallback.optional(),
4735
4736
  hidden: z.boolean().optional()
4736
4737
  });
4737
- var TupleValueItem = z.union([
4738
- UnitValue,
4739
- KeywordValue,
4740
- UnparsedValue,
4741
- ImageValue,
4742
- ColorValue,
4743
- RgbValue,
4744
- FunctionValue,
4745
- VarValue
4738
+ var tupleValueItem = z.union([
4739
+ unitValue,
4740
+ keywordValue,
4741
+ unparsedValue,
4742
+ imageValue,
4743
+ colorValue,
4744
+ rgbValue,
4745
+ functionValue,
4746
+ varValue
4746
4747
  ]);
4747
- var TupleValue = z.object({
4748
+ var tupleValue = z.object({
4748
4749
  type: z.literal("tuple"),
4749
- value: z.array(TupleValueItem),
4750
+ value: z.array(tupleValueItem),
4750
4751
  hidden: z.boolean().optional()
4751
4752
  });
4752
- var ShadowValue = z.object({
4753
+ var shadowValue = z.object({
4753
4754
  type: z.literal("shadow"),
4754
4755
  hidden: z.boolean().optional(),
4755
4756
  position: z.union([z.literal("inset"), z.literal("outset")]),
4756
- offsetX: z.union([UnitValue, VarValue]),
4757
- offsetY: z.union([UnitValue, VarValue]),
4758
- blur: z.union([UnitValue, VarValue]).optional(),
4759
- spread: z.union([UnitValue, VarValue]).optional(),
4760
- color: z.union([ColorValue, RgbValue, KeywordValue, VarValue]).optional()
4757
+ offsetX: z.union([unitValue, varValue]),
4758
+ offsetY: z.union([unitValue, varValue]),
4759
+ blur: z.union([unitValue, varValue]).optional(),
4760
+ spread: z.union([unitValue, varValue]).optional(),
4761
+ color: z.union([colorValue, rgbValue, keywordValue, varValue]).optional()
4761
4762
  });
4762
- var LayerValueItem = z.union([
4763
- UnitValue,
4764
- KeywordValue,
4765
- UnparsedValue,
4766
- ImageValue,
4767
- TupleValue,
4768
- ShadowValue,
4769
- ColorValue,
4770
- RgbValue,
4771
- InvalidValue,
4772
- FunctionValue,
4773
- VarValue
4763
+ var layerValueItem = z.union([
4764
+ unitValue,
4765
+ keywordValue,
4766
+ unparsedValue,
4767
+ imageValue,
4768
+ tupleValue,
4769
+ shadowValue,
4770
+ colorValue,
4771
+ rgbValue,
4772
+ invalidValue,
4773
+ functionValue,
4774
+ varValue
4774
4775
  ]);
4775
- var LayersValue = z.object({
4776
+ var layersValue = z.object({
4776
4777
  type: z.literal("layers"),
4777
- value: z.array(LayerValueItem),
4778
+ value: z.array(layerValueItem),
4778
4779
  hidden: z.boolean().optional()
4779
4780
  });
4780
- var StyleValue = z.union([
4781
- ImageValue,
4782
- LayersValue,
4783
- UnitValue,
4784
- KeywordValue,
4785
- FontFamilyValue,
4786
- ColorValue,
4787
- RgbValue,
4788
- UnparsedValue,
4789
- TupleValue,
4790
- FunctionValue,
4791
- GuaranteedInvalidValue,
4792
- InvalidValue,
4793
- UnsetValue,
4794
- VarValue,
4795
- ShadowValue
4781
+ var styleValue = z.union([
4782
+ imageValue,
4783
+ layersValue,
4784
+ unitValue,
4785
+ keywordValue,
4786
+ fontFamilyValue,
4787
+ colorValue,
4788
+ rgbValue,
4789
+ unparsedValue,
4790
+ tupleValue,
4791
+ functionValue,
4792
+ guaranteedInvalidValue,
4793
+ invalidValue,
4794
+ unsetValue,
4795
+ varValue,
4796
+ shadowValue
4796
4797
  ]);
4797
4798
 
4798
4799
  // ../sdk/src/schema/animation-schema.ts
@@ -4843,12 +4844,12 @@ var RANGE_UNITS = [
4843
4844
  "lvmax",
4844
4845
  "dvmax"
4845
4846
  ];
4846
- var rangeUnitSchema = literalUnion(RANGE_UNITS);
4847
- var rangeUnitValueSchema = z.union([
4847
+ var rangeUnit = literalUnion(RANGE_UNITS);
4848
+ var rangeUnitValue = z.union([
4848
4849
  z.object({
4849
4850
  type: z.literal("unit"),
4850
4851
  value: z.number(),
4851
- unit: rangeUnitSchema
4852
+ unit: rangeUnit
4852
4853
  }),
4853
4854
  z.object({
4854
4855
  type: z.literal("unparsed"),
@@ -4860,32 +4861,32 @@ var rangeUnitValueSchema = z.union([
4860
4861
  })
4861
4862
  ]);
4862
4863
  var TIME_UNITS = ["ms", "s"];
4863
- var timeUnitSchema = literalUnion(TIME_UNITS);
4864
- var durationUnitValueSchema = z.union([
4864
+ var timeUnit = literalUnion(TIME_UNITS);
4865
+ var durationUnitValue = z.union([
4865
4866
  z.object({
4866
4867
  type: z.literal("unit"),
4867
4868
  value: z.number(),
4868
- unit: timeUnitSchema
4869
+ unit: timeUnit
4869
4870
  }),
4870
4871
  z.object({
4871
4872
  type: z.literal("var"),
4872
4873
  value: z.string()
4873
4874
  })
4874
4875
  ]);
4875
- var iterationsUnitValueSchema = z.union([z.number(), z.literal("infinite")]);
4876
- var insetUnitValueSchema = z.union([
4877
- rangeUnitValueSchema,
4876
+ var iterationsUnitValue = z.union([z.number(), z.literal("infinite")]);
4877
+ var insetUnitValue = z.union([
4878
+ rangeUnitValue,
4878
4879
  z.object({
4879
4880
  type: z.literal("keyword"),
4880
4881
  value: z.literal("auto")
4881
4882
  })
4882
4883
  ]);
4883
- var keyframeStylesSchema = z.record(StyleValue);
4884
- var animationKeyframeSchema = z.object({
4884
+ var keyframeStyles = z.record(styleValue);
4885
+ var animationKeyframe = z.object({
4885
4886
  offset: z.number().optional(),
4886
- styles: keyframeStylesSchema
4887
+ styles: keyframeStyles
4887
4888
  });
4888
- var keyframeEffectOptionsSchema = z.object({
4889
+ var keyframeEffectOptions = z.object({
4889
4890
  easing: z.string().optional(),
4890
4891
  fill: z.union([
4891
4892
  z.literal("none"),
@@ -4894,29 +4895,23 @@ var keyframeEffectOptionsSchema = z.object({
4894
4895
  z.literal("both")
4895
4896
  ]).optional(),
4896
4897
  // FillMode
4897
- duration: durationUnitValueSchema.optional(),
4898
- delay: durationUnitValueSchema.optional(),
4899
- iterations: iterationsUnitValueSchema.optional()
4898
+ duration: durationUnitValue.optional(),
4899
+ delay: durationUnitValue.optional(),
4900
+ iterations: iterationsUnitValue.optional()
4900
4901
  });
4901
- var scrollNamedRangeSchema = z.union([
4902
- z.literal("start"),
4903
- z.literal("end")
4904
- ]);
4905
- var scrollRangeValueSchema = z.tuple([
4906
- scrollNamedRangeSchema,
4907
- rangeUnitValueSchema
4908
- ]);
4909
- var scrollRangeOptionsSchema = z.object({
4910
- rangeStart: scrollRangeValueSchema.optional(),
4911
- rangeEnd: scrollRangeValueSchema.optional()
4902
+ var scrollNamedRange = z.union([z.literal("start"), z.literal("end")]);
4903
+ var scrollRangeValue = z.tuple([scrollNamedRange, rangeUnitValue]);
4904
+ var scrollRangeOptions = z.object({
4905
+ rangeStart: scrollRangeValue.optional(),
4906
+ rangeEnd: scrollRangeValue.optional()
4912
4907
  });
4913
- var animationAxisSchema = z.union([
4908
+ var animationAxis = z.union([
4914
4909
  z.literal("block"),
4915
4910
  z.literal("inline"),
4916
4911
  z.literal("x"),
4917
4912
  z.literal("y")
4918
4913
  ]);
4919
- var viewNamedRangeSchema = z.union([
4914
+ var viewNamedRange = z.union([
4920
4915
  z.literal("contain"),
4921
4916
  z.literal("cover"),
4922
4917
  z.literal("entry"),
@@ -4924,62 +4919,59 @@ var viewNamedRangeSchema = z.union([
4924
4919
  z.literal("entry-crossing"),
4925
4920
  z.literal("exit-crossing")
4926
4921
  ]);
4927
- var viewRangeValueSchema = z.tuple([
4928
- viewNamedRangeSchema,
4929
- rangeUnitValueSchema
4930
- ]);
4931
- var viewRangeOptionsSchema = z.object({
4932
- rangeStart: viewRangeValueSchema.optional(),
4933
- rangeEnd: viewRangeValueSchema.optional()
4922
+ var viewRangeValue = z.tuple([viewNamedRange, rangeUnitValue]);
4923
+ var viewRangeOptions = z.object({
4924
+ rangeStart: viewRangeValue.optional(),
4925
+ rangeEnd: viewRangeValue.optional()
4934
4926
  });
4935
4927
  var baseAnimation = z.object({
4936
4928
  name: z.string().optional(),
4937
4929
  description: z.string().optional(),
4938
4930
  enabled: z.array(z.tuple([z.string().describe("breakpointId"), z.boolean()])).optional(),
4939
- keyframes: z.array(animationKeyframeSchema)
4931
+ keyframes: z.array(animationKeyframe)
4940
4932
  });
4941
- var scrollAnimationSchema = baseAnimation.merge(
4933
+ var scrollAnimation = baseAnimation.merge(
4942
4934
  z.object({
4943
- timing: keyframeEffectOptionsSchema.merge(scrollRangeOptionsSchema)
4935
+ timing: keyframeEffectOptions.merge(scrollRangeOptions)
4944
4936
  })
4945
4937
  );
4946
- var scrollActionSchema = z.object({
4938
+ var scrollAction = z.object({
4947
4939
  type: z.literal("scroll"),
4948
4940
  source: z.union([z.literal("closest"), z.literal("nearest"), z.literal("root")]).optional(),
4949
- axis: animationAxisSchema.optional(),
4950
- animations: z.array(scrollAnimationSchema),
4941
+ axis: animationAxis.optional(),
4942
+ animations: z.array(scrollAnimation),
4951
4943
  isPinned: z.boolean().optional(),
4952
4944
  debug: z.boolean().optional()
4953
4945
  });
4954
- var viewAnimationSchema = baseAnimation.merge(
4946
+ var viewAnimation = baseAnimation.merge(
4955
4947
  z.object({
4956
- timing: keyframeEffectOptionsSchema.merge(viewRangeOptionsSchema)
4948
+ timing: keyframeEffectOptions.merge(viewRangeOptions)
4957
4949
  })
4958
4950
  );
4959
- var viewActionSchema = z.object({
4951
+ var viewAction = z.object({
4960
4952
  type: z.literal("view"),
4961
4953
  subject: z.string().optional(),
4962
- axis: animationAxisSchema.optional(),
4963
- animations: z.array(viewAnimationSchema),
4964
- insetStart: insetUnitValueSchema.optional(),
4965
- insetEnd: insetUnitValueSchema.optional(),
4954
+ axis: animationAxis.optional(),
4955
+ animations: z.array(viewAnimation),
4956
+ insetStart: insetUnitValue.optional(),
4957
+ insetEnd: insetUnitValue.optional(),
4966
4958
  isPinned: z.boolean().optional(),
4967
4959
  debug: z.boolean().optional()
4968
4960
  });
4969
- var animationActionSchema = z.discriminatedUnion("type", [
4970
- scrollActionSchema,
4971
- viewActionSchema
4961
+ var animationAction = z.discriminatedUnion("type", [
4962
+ scrollAction,
4963
+ viewAction
4972
4964
  ]);
4973
4965
 
4974
4966
  // ../sdk/src/schema/props.ts
4975
- var PropId = z.string();
4967
+ var propId = z.string();
4976
4968
  var baseProp = {
4977
- id: PropId,
4969
+ id: propId,
4978
4970
  instanceId: z.string(),
4979
4971
  name: z.string(),
4980
4972
  required: z.optional(z.boolean())
4981
4973
  };
4982
- var Prop = z.union([
4974
+ var prop = z.union([
4983
4975
  z.object({
4984
4976
  ...baseProp,
4985
4977
  type: z.literal("number"),
@@ -5055,24 +5047,24 @@ var Prop = z.union([
5055
5047
  z.object({
5056
5048
  ...baseProp,
5057
5049
  type: z.literal("animationAction"),
5058
- value: animationActionSchema
5050
+ value: animationAction
5059
5051
  })
5060
5052
  ]);
5061
- var Props = z.map(PropId, Prop);
5053
+ var props = z.map(propId, prop);
5062
5054
 
5063
5055
  // ../sdk/src/schema/resources.ts
5064
- var ResourceId = z.string();
5065
- var Method = z.union([
5056
+ var resourceId = z.string();
5057
+ var method = z.union([
5066
5058
  z.literal("get"),
5067
5059
  z.literal("post"),
5068
5060
  z.literal("put"),
5069
5061
  z.literal("delete")
5070
5062
  ]);
5071
- var Resource = z.object({
5072
- id: ResourceId,
5063
+ var resource = z.object({
5064
+ id: resourceId,
5073
5065
  name: z.string(),
5074
5066
  control: z.optional(z.union([z.literal("system"), z.literal("graphql")])),
5075
- method: Method,
5067
+ method,
5076
5068
  // expression
5077
5069
  url: z.string(),
5078
5070
  searchParams: z.array(
@@ -5092,9 +5084,9 @@ var Resource = z.object({
5092
5084
  // expression
5093
5085
  body: z.optional(z.string())
5094
5086
  });
5095
- var ResourceRequest = z.object({
5087
+ var resourceRequest = z.object({
5096
5088
  name: z.string(),
5097
- method: Method,
5089
+ method,
5098
5090
  url: z.string(),
5099
5091
  searchParams: z.array(
5100
5092
  z.object({
@@ -5112,80 +5104,80 @@ var ResourceRequest = z.object({
5112
5104
  ),
5113
5105
  body: z.optional(z.unknown())
5114
5106
  });
5115
- var Resources = z.map(ResourceId, Resource);
5107
+ var resources = z.map(resourceId, resource);
5116
5108
 
5117
5109
  // ../sdk/src/schema/style-source-selections.ts
5118
- var InstanceId2 = z.string();
5119
- var StyleSourceId = z.string();
5120
- var StyleSourceSelection = z.object({
5121
- instanceId: InstanceId2,
5122
- values: z.array(StyleSourceId)
5110
+ var instanceId2 = z.string();
5111
+ var styleSourceId = z.string();
5112
+ var styleSourceSelection = z.object({
5113
+ instanceId: instanceId2,
5114
+ values: z.array(styleSourceId)
5123
5115
  });
5124
- var StyleSourceSelections = z.map(InstanceId2, StyleSourceSelection);
5116
+ var styleSourceSelections = z.map(instanceId2, styleSourceSelection);
5125
5117
 
5126
5118
  // ../sdk/src/schema/style-sources.ts
5127
- var StyleSourceId2 = z.string();
5128
- var StyleSourceToken = z.object({
5119
+ var styleSourceId2 = z.string();
5120
+ var styleSourceToken = z.object({
5129
5121
  type: z.literal("token"),
5130
- id: StyleSourceId2,
5122
+ id: styleSourceId2,
5131
5123
  name: z.string(),
5132
5124
  locked: z.boolean().optional()
5133
5125
  });
5134
- var StyleSourceLocal = z.object({
5126
+ var styleSourceLocal = z.object({
5135
5127
  type: z.literal("local"),
5136
- id: StyleSourceId2
5128
+ id: styleSourceId2
5137
5129
  });
5138
- var StyleSource = z.union([StyleSourceToken, StyleSourceLocal]);
5139
- var StyleSources = z.map(StyleSourceId2, StyleSource);
5130
+ var styleSource = z.union([styleSourceToken, styleSourceLocal]);
5131
+ var styleSources = z.map(styleSourceId2, styleSource);
5140
5132
 
5141
5133
  // ../sdk/src/schema/styles.ts
5142
- var StyleDeclRaw = z.object({
5134
+ var styleDeclRaw = z.object({
5143
5135
  styleSourceId: z.string(),
5144
5136
  breakpointId: z.string(),
5145
5137
  state: z.optional(z.string()),
5146
5138
  // @todo can't figure out how to make property to be enum
5147
5139
  property: z.string(),
5148
- value: StyleValue,
5140
+ value: styleValue,
5149
5141
  listed: z.boolean().optional().describe("Whether the style is from the Advanced panel")
5150
5142
  });
5151
- var StyleDecl = StyleDeclRaw;
5152
- var Styles = z.map(z.string(), StyleDecl);
5143
+ var styleDecl = styleDeclRaw;
5144
+ var styles = z.map(z.string(), styleDecl);
5153
5145
 
5154
5146
  // ../project-migrations/src/pages.ts
5155
- var SerializedPagesSchema = z.object({
5156
- meta: ProjectMeta.optional(),
5157
- compiler: CompilerSettings.optional(),
5158
- redirects: z.array(PageRedirect).optional(),
5147
+ var serializedPages = z.object({
5148
+ meta: projectMeta.optional(),
5149
+ compiler: compilerSettings.optional(),
5150
+ redirects: z.array(pageRedirect).optional(),
5159
5151
  homePageId: z.string(),
5160
5152
  rootFolderId: z.string(),
5161
- pages: z.array(Page),
5162
- pageTemplates: z.union([z.array(PageTemplate), z.record(PageTemplate)]).optional(),
5163
- folders: z.array(Folder)
5153
+ pages: z.array(page),
5154
+ pageTemplates: z.union([z.array(pageTemplate), z.record(pageTemplate)]).optional(),
5155
+ folders: z.array(folder)
5164
5156
  });
5165
5157
 
5166
5158
  // ../project-build/src/schema.ts
5167
- var entrySchema = (value) => z.tuple([z.string(), value]);
5159
+ var entry = (value) => z.tuple([z.string(), value]);
5168
5160
  var serializedBuildShape = {
5169
5161
  id: z.string(),
5170
5162
  projectId: z.string(),
5171
5163
  version: z.number(),
5172
5164
  createdAt: z.string(),
5173
5165
  updatedAt: z.string(),
5174
- pages: SerializedPagesSchema,
5175
- breakpoints: z.array(entrySchema(Breakpoint)),
5176
- styles: z.array(entrySchema(StyleDecl)),
5177
- styleSources: z.array(entrySchema(StyleSource)),
5178
- styleSourceSelections: z.array(entrySchema(StyleSourceSelection)),
5179
- props: z.array(entrySchema(Prop)),
5180
- instances: z.array(entrySchema(Instance)),
5181
- dataSources: z.array(entrySchema(DataSource)),
5182
- resources: z.array(entrySchema(Resource)),
5183
- deployment: Deployment.optional()
5166
+ pages: serializedPages,
5167
+ breakpoints: z.array(entry(breakpoint)),
5168
+ styles: z.array(entry(styleDecl)),
5169
+ styleSources: z.array(entry(styleSource)),
5170
+ styleSourceSelections: z.array(entry(styleSourceSelection)),
5171
+ props: z.array(entry(prop)),
5172
+ instances: z.array(entry(instance)),
5173
+ dataSources: z.array(entry(dataSource)),
5174
+ resources: z.array(entry(resource)),
5175
+ deployment: deployment.optional()
5184
5176
  };
5185
- var SerializedBuildSchema = z.object(serializedBuildShape);
5177
+ var serializedBuild = z.object(serializedBuildShape);
5186
5178
 
5187
5179
  // ../wsauth/src/schema.ts
5188
- var basicAuthInputSchema = z.union([
5180
+ var basicAuthInput = z.union([
5189
5181
  z.object({
5190
5182
  method: z.literal("basic"),
5191
5183
  login: z.string(),
@@ -5197,14 +5189,11 @@ var basicAuthInputSchema = z.union([
5197
5189
  password: z.string()
5198
5190
  })
5199
5191
  ]);
5200
- var wsAuthConfigSchema = z.object({
5192
+ var wsAuthConfig = z.object({
5201
5193
  version: z.literal(1),
5202
- routes: z.record(basicAuthInputSchema)
5194
+ routes: z.record(basicAuthInput)
5203
5195
  });
5204
5196
 
5205
- // package.json
5206
- var version = "0.272.0";
5207
-
5208
5197
  // src/contract-version.ts
5209
5198
  var getFunctionContract = (value) => {
5210
5199
  if (typeof value !== "function") {
@@ -5379,8 +5368,7 @@ var stableStringify = (value) => {
5379
5368
  }
5380
5369
  return JSON.stringify(value);
5381
5370
  };
5382
- var createContractVersion = (schema, version2, additionalSchemas = []) => {
5383
- const bundlePackageVersion = version2.replace(/-webstudio-version$/, "");
5371
+ var createContractVersion = (schema, additionalSchemas = []) => {
5384
5372
  let hash = 2166136261;
5385
5373
  for (const char of stableStringify({
5386
5374
  additionalSchemas: additionalSchemas.map(
@@ -5391,75 +5379,46 @@ var createContractVersion = (schema, version2, additionalSchemas = []) => {
5391
5379
  hash ^= char.charCodeAt(0);
5392
5380
  hash = Math.imul(hash, 16777619);
5393
5381
  }
5394
- return `bundle-${bundlePackageVersion}-${(hash >>> 0).toString(16).padStart(8, "0")}`;
5382
+ return `bundle-${(hash >>> 0).toString(16).padStart(8, "0")}`;
5395
5383
  };
5396
5384
 
5397
5385
  // src/schema.ts
5398
- var assetFileDataPattern = /^[A-Za-z0-9+/]*={0,2}$/;
5399
- var isAssetFileDataString = (value) => {
5400
- if (value.length % 4 !== 0) {
5401
- return false;
5402
- }
5403
- if (assetFileDataPattern.test(value) === false) {
5404
- return false;
5405
- }
5406
- const paddingIndex = value.indexOf("=");
5407
- return paddingIndex === -1 || paddingIndex >= value.length - 2;
5408
- };
5409
- var assertAssetFileDataString = Object.assign(
5410
- (value, context) => {
5411
- if (isAssetFileDataString(value)) {
5412
- return;
5413
- }
5414
- context.addIssue({
5415
- code: z.ZodIssueCode.custom,
5416
- message: "Invalid asset file data"
5417
- });
5418
- },
5419
- {
5420
- contract: {
5421
- encoding: "base64",
5422
- length: "multiple-of-4",
5423
- padding: "only-last-two-characters",
5424
- pattern: assetFileDataPattern
5425
- }
5426
- }
5427
- );
5428
- var assetFileNameSchema = z.string().min(1).regex(/^(?!\.{1,2}$)[^/\\]+$/);
5429
- var assetFileDataSchema = z.object({
5430
- name: assetFileNameSchema,
5431
- data: z.string().superRefine(assertAssetFileDataString)
5432
- });
5433
- var projectBundleSchema = z.object({
5434
- page: Page,
5435
- pages: z.array(Page),
5436
- build: SerializedBuildSchema,
5437
- assets: z.array(Asset),
5386
+ var maxProjectBundleSize = 20 * 1024 * 1024;
5387
+ var assetFileName = z.string().min(1).regex(/^(?!\.{1,2}$)[^/\\]+$/);
5388
+ var projectBundle = z.object({
5389
+ page,
5390
+ pages: z.array(page),
5391
+ build: serializedBuild,
5392
+ assets: z.array(asset),
5438
5393
  origin: z.string().optional()
5439
5394
  });
5440
- var publishedProjectBundleSchema = projectBundleSchema.extend({
5395
+ var publishedProjectBundle = projectBundle.extend({
5441
5396
  bundleVersion: z.union([z.string(), z.number()]).optional(),
5442
5397
  user: z.object({ email: z.string().nullable() }).optional(),
5443
5398
  projectDomain: z.string(),
5444
5399
  projectTitle: z.string()
5445
5400
  });
5446
- var importProjectBundleInputSchema = z.object({
5447
- projectId: z.string(),
5448
- data: publishedProjectBundleSchema,
5449
- assetFiles: z.array(assetFileDataSchema).optional(),
5401
+ var importProjectBundleInput = z.object({
5402
+ projectId: z.string().min(1),
5403
+ data: publishedProjectBundle.optional(),
5404
+ uploadId: z.string().min(1).optional(),
5450
5405
  ignoreVersionCheck: z.boolean().optional()
5451
- });
5452
- var importProjectBundleResultSchema = z.object({
5406
+ }).refine(
5407
+ ({ data, uploadId }) => data === void 0 !== (uploadId === void 0),
5408
+ {
5409
+ message: "Provide either project bundle data or an upload id",
5410
+ path: ["data"]
5411
+ }
5412
+ );
5413
+ var importProjectBundleResult = z.object({
5453
5414
  version: z.number()
5454
5415
  });
5455
- var checkProjectBuildPermissionInputSchema = z.object({
5456
- projectId: z.string()
5416
+ var checkProjectBuildPermissionInput = z.object({
5417
+ projectId: z.string().min(1)
5457
5418
  });
5458
- var bundleVersion = createContractVersion(
5459
- publishedProjectBundleSchema,
5460
- version,
5461
- [wsAuthConfigSchema]
5462
- );
5419
+ var bundleVersion = createContractVersion(publishedProjectBundle, [
5420
+ wsAuthConfig
5421
+ ]);
5463
5422
 
5464
5423
  // src/fixtures.ts
5465
5424
  var createPageFixture = (overrides = {}) => ({
@@ -5483,10 +5442,10 @@ var createImageAssetFixture = (overrides = {}) => ({
5483
5442
  ...overrides
5484
5443
  });
5485
5444
  var createSerializedBuildFixture = ({
5486
- pages,
5445
+ pages: pages2,
5487
5446
  ...overrides
5488
5447
  } = {}) => {
5489
- const page = createPageFixture();
5448
+ const page2 = createPageFixture();
5490
5449
  return {
5491
5450
  id: "build-1",
5492
5451
  projectId: "source-project",
@@ -5494,18 +5453,18 @@ var createSerializedBuildFixture = ({
5494
5453
  createdAt: "2024-01-01T00:00:00.000Z",
5495
5454
  updatedAt: "2024-01-01T00:00:00.000Z",
5496
5455
  pages: {
5497
- homePageId: page.id,
5456
+ homePageId: page2.id,
5498
5457
  rootFolderId: "root-folder",
5499
- pages: [page],
5458
+ pages: [page2],
5500
5459
  folders: [
5501
5460
  {
5502
5461
  id: "root-folder",
5503
5462
  name: "Root",
5504
5463
  slug: "",
5505
- children: [page.id]
5464
+ children: [page2.id]
5506
5465
  }
5507
5466
  ],
5508
- ...pages
5467
+ ...pages2
5509
5468
  },
5510
5469
  breakpoints: [],
5511
5470
  styles: [],
@@ -5520,33 +5479,33 @@ var createSerializedBuildFixture = ({
5520
5479
  };
5521
5480
  var createPublishedProjectBundleFixture = (options = {}) => {
5522
5481
  const {
5523
- assets,
5482
+ assets: assets2,
5524
5483
  build,
5525
5484
  buildPages,
5526
5485
  page: pageOverrides,
5527
- pages,
5486
+ pages: pages2,
5528
5487
  ...overrides
5529
5488
  } = options;
5530
- const page = createPageFixture(pageOverrides);
5489
+ const page2 = createPageFixture(pageOverrides);
5531
5490
  return {
5532
5491
  bundleVersion,
5533
5492
  origin: "https://example.com",
5534
5493
  projectDomain: "example",
5535
5494
  projectTitle: "Example",
5536
- page,
5537
- pages: "pages" in options ? pages : [page],
5538
- assets: "assets" in options ? assets : [],
5495
+ page: page2,
5496
+ pages: "pages" in options ? pages2 : [page2],
5497
+ assets: "assets" in options ? assets2 : [],
5539
5498
  build: createSerializedBuildFixture({
5540
5499
  ...build,
5541
5500
  pages: {
5542
- homePageId: page.id,
5543
- pages: [page],
5501
+ homePageId: page2.id,
5502
+ pages: [page2],
5544
5503
  folders: [
5545
5504
  {
5546
5505
  id: "root-folder",
5547
5506
  name: "Root",
5548
5507
  slug: "",
5549
- children: [page.id]
5508
+ children: [page2.id]
5550
5509
  }
5551
5510
  ],
5552
5511
  ...build?.pages,