@snaptrude/plugin-core 0.9.11 → 0.9.13

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/dist/index.cjs CHANGED
@@ -407,6 +407,14 @@ __export(index_exports, {
407
407
  PluginDesignEraseApi: () => PluginDesignEraseApi,
408
408
  PluginDesignEraseEdgeArgs: () => PluginDesignEraseEdgeArgs,
409
409
  PluginDesignEraseEdgeResult: () => PluginDesignEraseEdgeResult,
410
+ PluginDesignFamilyApi: () => PluginDesignFamilyApi,
411
+ PluginDesignFamilyCreateArgs: () => PluginDesignFamilyCreateArgs,
412
+ PluginDesignFamilyDeleteArgs: () => PluginDesignFamilyDeleteArgs,
413
+ PluginDesignFamilyFlexArgs: () => PluginDesignFamilyFlexArgs,
414
+ PluginDesignFamilyGetParametersArgs: () => PluginDesignFamilyGetParametersArgs,
415
+ PluginDesignFamilyPlaceArgs: () => PluginDesignFamilyPlaceArgs,
416
+ PluginDesignFamilyPrepareArgs: () => PluginDesignFamilyPrepareArgs,
417
+ PluginDesignFamilySetParametersArgs: () => PluginDesignFamilySetParametersArgs,
410
418
  PluginDesignFurnitureApi: () => PluginDesignFurnitureApi,
411
419
  PluginDesignFurnitureExistsArgs: () => PluginDesignFurnitureExistsArgs,
412
420
  PluginDesignFurnitureGetCatalogItemArgs: () => PluginDesignFurnitureGetCatalogItemArgs,
@@ -503,6 +511,8 @@ __export(index_exports, {
503
511
  PluginExecutionError: () => PluginExecutionError,
504
512
  PluginExportModelArgs: () => PluginExportModelArgs,
505
513
  PluginFaceMaterial: () => PluginFaceMaterial,
514
+ PluginFamilyBundleSchema: () => PluginFamilyBundleSchema,
515
+ PluginFamilySnapshotOption: () => PluginFamilySnapshotOption,
506
516
  PluginFurnitureCatalogItem: () => PluginFurnitureCatalogItem,
507
517
  PluginFurnitureDimensionUpdates: () => PluginFurnitureDimensionUpdates,
508
518
  PluginFurnitureDimensions: () => PluginFurnitureDimensions,
@@ -3628,6 +3638,7 @@ var PluginEntityType = z46.enum([
3628
3638
  "curtainWall",
3629
3639
  "mullion",
3630
3640
  "panel",
3641
+ "parametricComponent",
3631
3642
  "grid"
3632
3643
  ]);
3633
3644
  var PluginEntityFilter = z46.object({
@@ -4308,52 +4319,105 @@ var PluginDesignTypesGetArgs = z62.object({
4308
4319
  typeId: z62.string()
4309
4320
  });
4310
4321
 
4311
- // src/api/design/grids.ts
4322
+ // src/api/design/family.ts
4312
4323
  var z63 = __toESM(require("zod"), 1);
4313
- var PluginGridLineTagPolicy = z63.enum(["rewrite", "preserve"]);
4314
- var PluginGridLineAddress = z63.object({
4315
- wing: z63.number().int().nonnegative(),
4316
- line: z63.number().int().nonnegative()
4317
- });
4318
- var PluginGridWingEntry = z63.object({
4319
- wing: z63.number().int().nonnegative(),
4320
- spacing: z63.number().positive().finite().optional(),
4321
- count: z63.number().int().min(1).optional(),
4322
- spanMin: z63.number().finite().optional(),
4323
- spanMax: z63.number().finite().optional()
4324
- });
4325
- var PluginDesignGridsUpdateWingsArgs = z63.object({
4324
+ var PluginDesignFamilyApi = class {
4325
+ constructor() {
4326
+ }
4327
+ };
4328
+ var PluginFamilyBundleSchema = z63.object({
4329
+ root: z63.record(z63.string(), z63.unknown()),
4330
+ deps: z63.record(z63.string(), z63.record(z63.string(), z63.unknown())).optional()
4331
+ });
4332
+ var PluginFamilySnapshotOption = z63.union([
4333
+ z63.boolean(),
4334
+ z63.object({
4335
+ views: z63.array(z63.enum(["iso", "front", "right", "top"])).optional(),
4336
+ /** Pixels per tile (square), 64–2048; default 512. */
4337
+ tileSize: z63.number().optional()
4338
+ })
4339
+ ]);
4340
+ var PluginDesignFamilyPrepareArgs = z63.object({
4341
+ bundle: PluginFamilyBundleSchema.optional(),
4342
+ spec: PluginFamilyBundleSchema.optional(),
4343
+ snapshot: PluginFamilySnapshotOption.optional()
4344
+ });
4345
+ var PluginDesignFamilyFlexArgs = z63.object({
4346
+ values: z63.record(z63.string(), z63.union([z63.number(), z63.string()])),
4347
+ snapshot: PluginFamilySnapshotOption.optional()
4348
+ });
4349
+ var PluginDesignFamilyCreateArgs = z63.object({
4350
+ name: z63.string().optional(),
4351
+ teamId: z63.string().optional()
4352
+ });
4353
+ var PluginDesignFamilyDeleteArgs = z63.object({
4354
+ id: z63.string().optional(),
4355
+ instances: z63.boolean().optional()
4356
+ });
4357
+ var PluginDesignFamilyPlaceArgs = z63.object({
4358
+ id: z63.string().optional(),
4359
+ version: z63.number().int().positive().optional(),
4360
+ position: Vec3Components.optional(),
4361
+ rotation: z63.number().optional(),
4362
+ values: z63.record(z63.string(), z63.union([z63.number(), z63.string()])).optional(),
4363
+ storey: z63.number().int().optional()
4364
+ });
4365
+ var PluginDesignFamilyGetParametersArgs = z63.object({
4366
+ component: ComponentHandle,
4367
+ /** Also return a picture of this instance (its recipe re-run at its values, with its paint). */
4368
+ snapshot: PluginFamilySnapshotOption.optional()
4369
+ });
4370
+ var PluginDesignFamilySetParametersArgs = z63.object({
4371
+ component: ComponentHandle,
4372
+ values: z63.record(z63.string(), z63.union([z63.number(), z63.string()]))
4373
+ });
4374
+
4375
+ // src/api/design/grids.ts
4376
+ var z64 = __toESM(require("zod"), 1);
4377
+ var PluginGridLineTagPolicy = z64.enum(["rewrite", "preserve"]);
4378
+ var PluginGridLineAddress = z64.object({
4379
+ wing: z64.number().int().nonnegative(),
4380
+ line: z64.number().int().nonnegative()
4381
+ });
4382
+ var PluginGridWingEntry = z64.object({
4383
+ wing: z64.number().int().nonnegative(),
4384
+ spacing: z64.number().positive().finite().optional(),
4385
+ count: z64.number().int().min(1).optional(),
4386
+ spanMin: z64.number().finite().optional(),
4387
+ spanMax: z64.number().finite().optional()
4388
+ });
4389
+ var PluginDesignGridsUpdateWingsArgs = z64.object({
4326
4390
  grid: ComponentHandle,
4327
- wings: z63.array(PluginGridWingEntry).min(1)
4328
- });
4329
- var PluginGridLineEntry = z63.object({
4330
- wing: z63.number().int().nonnegative(),
4331
- line: z63.number().int().nonnegative(),
4332
- tag: z63.string().min(1).optional(),
4333
- distanceToPrevious: z63.number().positive().finite().optional(),
4334
- distanceToNext: z63.number().positive().finite().optional(),
4391
+ wings: z64.array(PluginGridWingEntry).min(1)
4392
+ });
4393
+ var PluginGridLineEntry = z64.object({
4394
+ wing: z64.number().int().nonnegative(),
4395
+ line: z64.number().int().nonnegative(),
4396
+ tag: z64.string().min(1).optional(),
4397
+ distanceToPrevious: z64.number().positive().finite().optional(),
4398
+ distanceToNext: z64.number().positive().finite().optional(),
4335
4399
  props: PluginGridStyleOptions.optional(),
4336
- visible: z63.literal(false).optional()
4400
+ visible: z64.literal(false).optional()
4337
4401
  }).superRefine((entry, ctx) => {
4338
4402
  if (entry.distanceToPrevious !== void 0 && entry.distanceToNext !== void 0) {
4339
4403
  ctx.addIssue({
4340
- code: z63.ZodIssueCode.custom,
4404
+ code: z64.ZodIssueCode.custom,
4341
4405
  message: "distanceToPrevious and distanceToNext are mutually exclusive on one line entry"
4342
4406
  });
4343
4407
  }
4344
4408
  });
4345
- var PluginDesignGridsUpdateLinesArgs = z63.object({
4409
+ var PluginDesignGridsUpdateLinesArgs = z64.object({
4346
4410
  grid: ComponentHandle,
4347
- lines: z63.array(PluginGridLineEntry).min(1)
4411
+ lines: z64.array(PluginGridLineEntry).min(1)
4348
4412
  });
4349
- var PluginDesignGridsAddLineArgs = z63.object({
4413
+ var PluginDesignGridsAddLineArgs = z64.object({
4350
4414
  grid: ComponentHandle,
4351
- wing: z63.number().int().nonnegative(),
4352
- position: z63.number().finite()
4415
+ wing: z64.number().int().nonnegative(),
4416
+ position: z64.number().finite()
4353
4417
  });
4354
- var PluginDesignGridsRemoveLinesArgs = z63.object({
4418
+ var PluginDesignGridsRemoveLinesArgs = z64.object({
4355
4419
  grid: ComponentHandle,
4356
- lines: z63.array(PluginGridLineAddress).min(1),
4420
+ lines: z64.array(PluginGridLineAddress).min(1),
4357
4421
  tagPolicy: PluginGridLineTagPolicy.optional()
4358
4422
  });
4359
4423
  var PluginDesignGridsApi = class {
@@ -4368,37 +4432,37 @@ var PluginDesignApi = class {
4368
4432
  };
4369
4433
 
4370
4434
  // src/api/entity/buildableEnvelope.ts
4371
- var z64 = __toESM(require("zod"), 1);
4435
+ var z65 = __toESM(require("zod"), 1);
4372
4436
  var PluginBuildableEnvelopeApi = class {
4373
4437
  constructor() {
4374
4438
  }
4375
4439
  };
4376
- var PluginBuildableEnvelopePolygonVertex = z64.union([
4377
- z64.object({ x: z64.number().finite(), z: z64.number().finite() }).strict(),
4378
- z64.tuple([z64.number().finite(), z64.number().finite()])
4440
+ var PluginBuildableEnvelopePolygonVertex = z65.union([
4441
+ z65.object({ x: z65.number().finite(), z: z65.number().finite() }).strict(),
4442
+ z65.tuple([z65.number().finite(), z65.number().finite()])
4379
4443
  ]);
4380
- var PluginBuildableEnvelopeVerticalCap = z64.discriminatedUnion("kind", [
4381
- z64.object({
4382
- kind: z64.literal("max_height"),
4383
- maxHeight: z64.number().finite().positive()
4444
+ var PluginBuildableEnvelopeVerticalCap = z65.discriminatedUnion("kind", [
4445
+ z65.object({
4446
+ kind: z65.literal("max_height"),
4447
+ maxHeight: z65.number().finite().positive()
4384
4448
  }).strict(),
4385
- z64.object({
4386
- kind: z64.literal("max_floors"),
4387
- maxFloors: z64.number().finite().int().positive()
4449
+ z65.object({
4450
+ kind: z65.literal("max_floors"),
4451
+ maxFloors: z65.number().finite().int().positive()
4388
4452
  }).strict()
4389
4453
  ]);
4390
- var PluginBuildableEnvelopeSetbackTier = z64.object({
4391
- aboveHeight: z64.number().finite().nonnegative(),
4392
- front: z64.number().finite().nonnegative(),
4393
- side: z64.number().finite().nonnegative(),
4394
- rear: z64.number().finite().nonnegative()
4454
+ var PluginBuildableEnvelopeSetbackTier = z65.object({
4455
+ aboveHeight: z65.number().finite().nonnegative(),
4456
+ front: z65.number().finite().nonnegative(),
4457
+ side: z65.number().finite().nonnegative(),
4458
+ rear: z65.number().finite().nonnegative()
4395
4459
  }).strict();
4396
4460
  function refineSetbackTiers(args, ctx) {
4397
4461
  const tiers = args.setbacks;
4398
4462
  if (tiers.length === 0) return;
4399
4463
  if (tiers[0].aboveHeight !== 0) {
4400
4464
  ctx.addIssue({
4401
- code: z64.ZodIssueCode.custom,
4465
+ code: z65.ZodIssueCode.custom,
4402
4466
  path: ["setbacks", 0, "aboveHeight"],
4403
4467
  message: "Ground tier required: setbacks[0].aboveHeight must be 0."
4404
4468
  });
@@ -4406,66 +4470,66 @@ function refineSetbackTiers(args, ctx) {
4406
4470
  for (let i = 1; i < tiers.length; i++) {
4407
4471
  if (!(tiers[i].aboveHeight > tiers[i - 1].aboveHeight)) {
4408
4472
  ctx.addIssue({
4409
- code: z64.ZodIssueCode.custom,
4473
+ code: z65.ZodIssueCode.custom,
4410
4474
  path: ["setbacks", i, "aboveHeight"],
4411
4475
  message: "Setback tiers must be ordered by strictly increasing aboveHeight."
4412
4476
  });
4413
4477
  }
4414
4478
  }
4415
4479
  }
4416
- var PluginBuildableEnvelopeCreateArgs = z64.object({
4417
- sitePolygon: z64.array(PluginBuildableEnvelopePolygonVertex).min(3),
4418
- lengthUnit: z64.union([z64.literal("ft"), z64.literal("m")]),
4419
- setbacks: z64.array(PluginBuildableEnvelopeSetbackTier).min(1),
4480
+ var PluginBuildableEnvelopeCreateArgs = z65.object({
4481
+ sitePolygon: z65.array(PluginBuildableEnvelopePolygonVertex).min(3),
4482
+ lengthUnit: z65.union([z65.literal("ft"), z65.literal("m")]),
4483
+ setbacks: z65.array(PluginBuildableEnvelopeSetbackTier).min(1),
4420
4484
  verticalCap: PluginBuildableEnvelopeVerticalCap,
4421
- floorToFloor: z64.number().finite().positive(),
4422
- farRatio: z64.number().finite().positive().optional(),
4423
- lotCoverageMaxPct: z64.number().finite().min(0).max(100).optional()
4485
+ floorToFloor: z65.number().finite().positive(),
4486
+ farRatio: z65.number().finite().positive().optional(),
4487
+ lotCoverageMaxPct: z65.number().finite().min(0).max(100).optional()
4424
4488
  }).strict().superRefine(refineSetbackTiers);
4425
- var PluginBuildableEnvelopeCreateResult = z64.object({
4426
- buildableEnvelopeId: z64.string().min(1)
4489
+ var PluginBuildableEnvelopeCreateResult = z65.object({
4490
+ buildableEnvelopeId: z65.string().min(1)
4427
4491
  }).strict();
4428
- var PluginBuildableEnvelopeUpdateArgs = z64.object({
4429
- buildableEnvelopeId: z64.string().min(1),
4430
- sitePolygon: z64.array(PluginBuildableEnvelopePolygonVertex).min(3),
4431
- lengthUnit: z64.union([z64.literal("ft"), z64.literal("m")]),
4432
- setbacks: z64.array(PluginBuildableEnvelopeSetbackTier).min(1),
4492
+ var PluginBuildableEnvelopeUpdateArgs = z65.object({
4493
+ buildableEnvelopeId: z65.string().min(1),
4494
+ sitePolygon: z65.array(PluginBuildableEnvelopePolygonVertex).min(3),
4495
+ lengthUnit: z65.union([z65.literal("ft"), z65.literal("m")]),
4496
+ setbacks: z65.array(PluginBuildableEnvelopeSetbackTier).min(1),
4433
4497
  verticalCap: PluginBuildableEnvelopeVerticalCap,
4434
- floorToFloor: z64.number().finite().positive(),
4435
- farRatio: z64.number().finite().positive().optional(),
4436
- lotCoverageMaxPct: z64.number().finite().min(0).max(100).optional()
4498
+ floorToFloor: z65.number().finite().positive(),
4499
+ farRatio: z65.number().finite().positive().optional(),
4500
+ lotCoverageMaxPct: z65.number().finite().min(0).max(100).optional()
4437
4501
  }).strict().superRefine(refineSetbackTiers);
4438
- var PluginBuildableEnvelopeUpdateResult = z64.object({
4439
- buildableEnvelopeId: z64.string().min(1)
4502
+ var PluginBuildableEnvelopeUpdateResult = z65.object({
4503
+ buildableEnvelopeId: z65.string().min(1)
4440
4504
  }).strict();
4441
4505
 
4442
4506
  // src/api/entity/referenceLine.ts
4443
- var z65 = __toESM(require("zod"), 1);
4507
+ var z66 = __toESM(require("zod"), 1);
4444
4508
  var PluginReferenceLineApi = class {
4445
4509
  constructor() {
4446
4510
  }
4447
4511
  };
4448
- var PluginReferenceLineCreateMultiArgs = z65.object({
4512
+ var PluginReferenceLineCreateMultiArgs = z66.object({
4449
4513
  profile: ProfileHandle
4450
4514
  });
4451
- var PluginReferenceLineCreateMultiResult = z65.object({
4452
- referenceLineIds: z65.array(z65.string())
4515
+ var PluginReferenceLineCreateMultiResult = z66.object({
4516
+ referenceLineIds: z66.array(z66.string())
4453
4517
  });
4454
- var PluginReferenceLineGetProperty = z65.enum([
4518
+ var PluginReferenceLineGetProperty = z66.enum([
4455
4519
  "curve"
4456
4520
  ]);
4457
- var PluginReferenceLineGetArgs = z65.object({
4458
- referenceLineId: z65.string(),
4459
- properties: z65.array(PluginReferenceLineGetProperty)
4521
+ var PluginReferenceLineGetArgs = z66.object({
4522
+ referenceLineId: z66.string(),
4523
+ properties: z66.array(PluginReferenceLineGetProperty)
4460
4524
  });
4461
- var PluginReferenceLineGetResult = z65.object({
4525
+ var PluginReferenceLineGetResult = z66.object({
4462
4526
  curve: CurveHandle
4463
4527
  }).partial();
4464
- var PluginReferenceLineGetAllResult = z65.object({
4465
- referenceLineIds: z65.array(z65.string())
4528
+ var PluginReferenceLineGetAllResult = z66.object({
4529
+ referenceLineIds: z66.array(z66.string())
4466
4530
  });
4467
- var PluginReferenceLineDeleteArgs = z65.object({
4468
- referenceLineId: z65.string()
4531
+ var PluginReferenceLineDeleteArgs = z66.object({
4532
+ referenceLineId: z66.string()
4469
4533
  });
4470
4534
 
4471
4535
  // src/api/entity/index.ts
@@ -4475,27 +4539,27 @@ var PluginEntityApi = class {
4475
4539
  };
4476
4540
 
4477
4541
  // src/api/program/departments.ts
4478
- var z67 = __toESM(require("zod"), 1);
4542
+ var z68 = __toESM(require("zod"), 1);
4479
4543
 
4480
4544
  // src/api/program/metrics.ts
4481
- var z66 = __toESM(require("zod"), 1);
4545
+ var z67 = __toESM(require("zod"), 1);
4482
4546
  var PluginProgramMetricsApi = class {
4483
4547
  constructor() {
4484
4548
  }
4485
4549
  };
4486
- var PluginAreaUnit = z66.enum(["ft2", "m2"]);
4487
- var PluginProgramDepartmentMetric = z66.object({
4488
- departmentId: z66.string(),
4489
- name: z66.string(),
4490
- targetArea: z66.number().nullable(),
4491
- allocatedArea: z66.number()
4550
+ var PluginAreaUnit = z67.enum(["ft2", "m2"]);
4551
+ var PluginProgramDepartmentMetric = z67.object({
4552
+ departmentId: z67.string(),
4553
+ name: z67.string(),
4554
+ targetArea: z67.number().nullable(),
4555
+ allocatedArea: z67.number()
4492
4556
  });
4493
- var PluginProgramMetricsSummary = z66.object({
4557
+ var PluginProgramMetricsSummary = z67.object({
4494
4558
  units: PluginAreaUnit,
4495
- totalTargetArea: z66.number(),
4496
- totalAllocatedArea: z66.number(),
4497
- unassignedArea: z66.number(),
4498
- departments: z66.array(PluginProgramDepartmentMetric)
4559
+ totalTargetArea: z67.number(),
4560
+ totalAllocatedArea: z67.number(),
4561
+ unassignedArea: z67.number(),
4562
+ departments: z67.array(PluginProgramDepartmentMetric)
4499
4563
  }).refine(
4500
4564
  (s) => {
4501
4565
  const summed = s.unassignedArea + s.departments.reduce((acc, d) => acc + d.allocatedArea, 0);
@@ -4512,19 +4576,19 @@ var PluginProgramDepartmentsApi = class {
4512
4576
  constructor() {
4513
4577
  }
4514
4578
  };
4515
- var PluginProgramDepartment = z67.object({
4516
- id: z67.string(),
4517
- name: z67.string(),
4518
- color: z67.string(),
4519
- targetArea: z67.number().nullable(),
4520
- targetCount: z67.number()
4579
+ var PluginProgramDepartment = z68.object({
4580
+ id: z68.string(),
4581
+ name: z68.string(),
4582
+ color: z68.string(),
4583
+ targetArea: z68.number().nullable(),
4584
+ targetCount: z68.number()
4521
4585
  });
4522
- var PluginProgramDepartmentsListResult = z67.object({
4586
+ var PluginProgramDepartmentsListResult = z68.object({
4523
4587
  units: PluginAreaUnit,
4524
- departments: z67.array(PluginProgramDepartment)
4588
+ departments: z68.array(PluginProgramDepartment)
4525
4589
  });
4526
- var PluginProgramDepartmentsGetArgs = z67.object({
4527
- departmentId: z67.string()
4590
+ var PluginProgramDepartmentsGetArgs = z68.object({
4591
+ departmentId: z68.string()
4528
4592
  });
4529
4593
  var PluginProgramDepartmentsGetResult = PluginProgramDepartment.extend(
4530
4594
  {
@@ -4534,115 +4598,115 @@ var PluginProgramDepartmentsGetResult = PluginProgramDepartment.extend(
4534
4598
  var PluginProgramDepartmentRecord = PluginProgramDepartment.extend({
4535
4599
  units: PluginAreaUnit
4536
4600
  });
4537
- var PluginProgramDepartmentsCreateArgs = z67.object({
4538
- name: z67.string(),
4539
- color: z67.string()
4601
+ var PluginProgramDepartmentsCreateArgs = z68.object({
4602
+ name: z68.string(),
4603
+ color: z68.string()
4540
4604
  });
4541
- var PluginProgramDepartmentsCreateResult = z67.object({
4542
- departmentId: z67.string()
4605
+ var PluginProgramDepartmentsCreateResult = z68.object({
4606
+ departmentId: z68.string()
4543
4607
  });
4544
- var PluginProgramDepartmentsUpdateArgs = z67.object({
4545
- departmentId: z67.string(),
4546
- name: z67.string().optional(),
4547
- color: z67.string().optional()
4608
+ var PluginProgramDepartmentsUpdateArgs = z68.object({
4609
+ departmentId: z68.string(),
4610
+ name: z68.string().optional(),
4611
+ color: z68.string().optional()
4548
4612
  });
4549
4613
  var PluginProgramDepartmentsUpdateResult = PluginProgramDepartmentRecord;
4550
- var PluginProgramDepartmentsAssignArgs = z67.object({
4551
- departmentId: z67.string(),
4552
- spaceIds: z67.array(ComponentHandle).min(1)
4614
+ var PluginProgramDepartmentsAssignArgs = z68.object({
4615
+ departmentId: z68.string(),
4616
+ spaceIds: z68.array(ComponentHandle).min(1)
4553
4617
  });
4554
- var PluginProgramDepartmentsAssignResult = z67.object({
4555
- departmentId: z67.string(),
4556
- spaceIds: z67.array(ComponentHandle)
4618
+ var PluginProgramDepartmentsAssignResult = z68.object({
4619
+ departmentId: z68.string(),
4620
+ spaceIds: z68.array(ComponentHandle)
4557
4621
  });
4558
- var PluginProgramDepartmentsUnassignArgs = z67.object({
4559
- spaceIds: z67.array(ComponentHandle).min(1)
4622
+ var PluginProgramDepartmentsUnassignArgs = z68.object({
4623
+ spaceIds: z68.array(ComponentHandle).min(1)
4560
4624
  });
4561
- var PluginProgramDepartmentsUnassignResult = z67.object({
4562
- spaceIds: z67.array(ComponentHandle)
4625
+ var PluginProgramDepartmentsUnassignResult = z68.object({
4626
+ spaceIds: z68.array(ComponentHandle)
4563
4627
  });
4564
- var PluginProgramDepartmentsSetTargetAreaArgs = z67.object({
4565
- departmentId: z67.string(),
4566
- targetArea: z67.number(),
4628
+ var PluginProgramDepartmentsSetTargetAreaArgs = z68.object({
4629
+ departmentId: z68.string(),
4630
+ targetArea: z68.number(),
4567
4631
  units: PluginAreaUnit.optional()
4568
4632
  });
4569
4633
  var PluginProgramDepartmentsSetTargetAreaResult = PluginProgramDepartmentRecord;
4570
- var PluginProgramDepartmentsSetTargetCountArgs = z67.object({
4571
- departmentId: z67.string(),
4572
- targetCount: z67.number().int().nonnegative()
4634
+ var PluginProgramDepartmentsSetTargetCountArgs = z68.object({
4635
+ departmentId: z68.string(),
4636
+ targetCount: z68.number().int().nonnegative()
4573
4637
  });
4574
4638
  var PluginProgramDepartmentsSetTargetCountResult = PluginProgramDepartmentRecord;
4575
- var PluginProgramDepartmentsDeleteArgs = z67.object({
4576
- departmentId: z67.string()
4639
+ var PluginProgramDepartmentsDeleteArgs = z68.object({
4640
+ departmentId: z68.string()
4577
4641
  });
4578
- var PluginProgramDepartmentsDeleteResult = z67.object({
4579
- departmentId: z67.string(),
4580
- reassignedSpaceIds: z67.array(ComponentHandle)
4642
+ var PluginProgramDepartmentsDeleteResult = z68.object({
4643
+ departmentId: z68.string(),
4644
+ reassignedSpaceIds: z68.array(ComponentHandle)
4581
4645
  });
4582
4646
 
4583
4647
  // src/api/program/adjacency.ts
4584
- var z68 = __toESM(require("zod"), 1);
4648
+ var z69 = __toESM(require("zod"), 1);
4585
4649
  var PluginProgramAdjacencyApi = class {
4586
4650
  constructor() {
4587
4651
  }
4588
4652
  };
4589
- var PluginAdjacencyLevel = z68.enum(["department", "space"]);
4590
- var PluginProgramAdjacencyGetMatrixArgs = z68.object({
4653
+ var PluginAdjacencyLevel = z69.enum(["department", "space"]);
4654
+ var PluginProgramAdjacencyGetMatrixArgs = z69.object({
4591
4655
  level: PluginAdjacencyLevel,
4592
- ids: z68.array(z68.string()).optional()
4656
+ ids: z69.array(z69.string()).optional()
4593
4657
  });
4594
- var PluginProgramAdjacencyGetMatrixResult = z68.object({
4595
- ids: z68.array(z68.string()),
4596
- departmentIds: z68.array(z68.string().nullable()).optional(),
4597
- matrix: z68.array(z68.array(z68.number()))
4658
+ var PluginProgramAdjacencyGetMatrixResult = z69.object({
4659
+ ids: z69.array(z69.string()),
4660
+ departmentIds: z69.array(z69.string().nullable()).optional(),
4661
+ matrix: z69.array(z69.array(z69.number()))
4598
4662
  });
4599
- var PluginProgramAdjacencyComputeResult = z68.object({
4600
- success: z68.boolean(),
4601
- error: z68.string().optional()
4663
+ var PluginProgramAdjacencyComputeResult = z69.object({
4664
+ success: z69.boolean(),
4665
+ error: z69.string().optional()
4602
4666
  });
4603
4667
 
4604
4668
  // src/api/program/layout.ts
4605
- var z69 = __toESM(require("zod"), 1);
4669
+ var z70 = __toESM(require("zod"), 1);
4606
4670
  var PluginProgramLayoutApi = class {
4607
4671
  constructor() {
4608
4672
  }
4609
4673
  };
4610
- var PluginProgramLayoutRunArgs = z69.object({
4611
- spaceIds: z69.array(z69.string()).optional(),
4612
- departmentIds: z69.array(z69.string()).optional(),
4613
- envelopeId: z69.string().optional(),
4614
- autoCommit: z69.boolean().optional()
4674
+ var PluginProgramLayoutRunArgs = z70.object({
4675
+ spaceIds: z70.array(z70.string()).optional(),
4676
+ departmentIds: z70.array(z70.string()).optional(),
4677
+ envelopeId: z70.string().optional(),
4678
+ autoCommit: z70.boolean().optional()
4615
4679
  });
4616
- var PluginProgramLayoutRunResult = z69.object({
4617
- success: z69.boolean(),
4618
- error: z69.string().optional()
4680
+ var PluginProgramLayoutRunResult = z70.object({
4681
+ success: z70.boolean(),
4682
+ error: z70.string().optional()
4619
4683
  });
4620
- var PluginProgramLayoutJobStatus = z69.enum([
4684
+ var PluginProgramLayoutJobStatus = z70.enum([
4621
4685
  "running",
4622
4686
  "active",
4623
4687
  "inactive",
4624
4688
  "pendingReview"
4625
4689
  ]);
4626
- var PluginProgramLayoutJobState = z69.object({
4690
+ var PluginProgramLayoutJobState = z70.object({
4627
4691
  status: PluginProgramLayoutJobStatus,
4628
- totalSolutions: z69.number().int().optional()
4692
+ totalSolutions: z70.number().int().optional()
4629
4693
  });
4630
4694
  var PluginProgramLayoutStateResult = PluginProgramLayoutJobState.nullable();
4631
- var PluginProgramLayoutApplySolutionArgs = z69.object({
4632
- index: z69.number().int().min(0)
4695
+ var PluginProgramLayoutApplySolutionArgs = z70.object({
4696
+ index: z70.number().int().min(0)
4633
4697
  });
4634
- var PluginProgramLayoutApplyResult = z69.object({
4635
- success: z69.boolean(),
4636
- error: z69.string().optional()
4698
+ var PluginProgramLayoutApplyResult = z70.object({
4699
+ success: z70.boolean(),
4700
+ error: z70.string().optional()
4637
4701
  });
4638
- var PluginProgramLayoutStackResult = z69.object({
4639
- success: z69.boolean(),
4640
- skippedStoreys: z69.array(z69.number()),
4641
- error: z69.string().optional()
4702
+ var PluginProgramLayoutStackResult = z70.object({
4703
+ success: z70.boolean(),
4704
+ skippedStoreys: z70.array(z70.number()),
4705
+ error: z70.string().optional()
4642
4706
  });
4643
4707
 
4644
4708
  // src/api/program/spreadsheet.ts
4645
- var z70 = __toESM(require("zod"), 1);
4709
+ var z71 = __toESM(require("zod"), 1);
4646
4710
  var PluginProgramSpreadsheetApi = class {
4647
4711
  constructor() {
4648
4712
  }
@@ -4659,85 +4723,85 @@ var PluginProgramSpreadsheetDatasetsApi = class {
4659
4723
  constructor() {
4660
4724
  }
4661
4725
  };
4662
- var PluginSpreadsheetCell = z70.union([
4663
- z70.string(),
4664
- z70.number(),
4665
- z70.boolean(),
4666
- z70.null()
4726
+ var PluginSpreadsheetCell = z71.union([
4727
+ z71.string(),
4728
+ z71.number(),
4729
+ z71.boolean(),
4730
+ z71.null()
4667
4731
  ]);
4668
- var PluginSpreadsheetAlign = z70.enum(["left", "center", "right"]);
4669
- var PluginSpreadsheetColumn = z70.object({
4670
- key: z70.string(),
4671
- header: z70.string(),
4672
- width: z70.number().optional(),
4673
- format: z70.string().optional(),
4732
+ var PluginSpreadsheetAlign = z71.enum(["left", "center", "right"]);
4733
+ var PluginSpreadsheetColumn = z71.object({
4734
+ key: z71.string(),
4735
+ header: z71.string(),
4736
+ width: z71.number().optional(),
4737
+ format: z71.string().optional(),
4674
4738
  align: PluginSpreadsheetAlign.optional()
4675
4739
  });
4676
- var PluginSpreadsheetTotal = z70.object({
4677
- column: z70.string(),
4678
- fn: z70.enum(["sum", "avg", "count", "min", "max"]),
4679
- label: z70.string().optional()
4680
- });
4681
- var PluginProgramSpreadsheetRenderArgs = z70.object({
4682
- sheetName: z70.string(),
4683
- columns: z70.array(PluginSpreadsheetColumn),
4684
- rows: z70.array(z70.record(z70.string(), PluginSpreadsheetCell)),
4685
- title: z70.string().optional(),
4686
- startCell: z70.string().optional(),
4687
- whenExists: z70.enum(["replace", "error"]).optional(),
4688
- asTable: z70.boolean().optional(),
4689
- freezeHeader: z70.boolean().optional(),
4690
- totals: z70.array(PluginSpreadsheetTotal).optional()
4691
- });
4692
- var PluginProgramSpreadsheetRenderResult = z70.object({
4693
- sheetName: z70.string(),
4694
- range: z70.string(),
4695
- headerRange: z70.string(),
4696
- rowCount: z70.number(),
4697
- colCount: z70.number(),
4698
- tableName: z70.string().nullable(),
4699
- replaced: z70.boolean()
4700
- });
4701
- var PluginProgramSpreadsheetRenderDatasetArgs = z70.object({
4702
- sheetName: z70.string().optional(),
4703
- title: z70.string().optional(),
4704
- filter: z70.string().optional()
4705
- });
4706
- var PluginSpreadsheetExportFormat = z70.enum(["xlsx", "pdf", "csv"]);
4707
- var PluginProgramSpreadsheetExportArgs = z70.object({
4740
+ var PluginSpreadsheetTotal = z71.object({
4741
+ column: z71.string(),
4742
+ fn: z71.enum(["sum", "avg", "count", "min", "max"]),
4743
+ label: z71.string().optional()
4744
+ });
4745
+ var PluginProgramSpreadsheetRenderArgs = z71.object({
4746
+ sheetName: z71.string(),
4747
+ columns: z71.array(PluginSpreadsheetColumn),
4748
+ rows: z71.array(z71.record(z71.string(), PluginSpreadsheetCell)),
4749
+ title: z71.string().optional(),
4750
+ startCell: z71.string().optional(),
4751
+ whenExists: z71.enum(["replace", "error"]).optional(),
4752
+ asTable: z71.boolean().optional(),
4753
+ freezeHeader: z71.boolean().optional(),
4754
+ totals: z71.array(PluginSpreadsheetTotal).optional()
4755
+ });
4756
+ var PluginProgramSpreadsheetRenderResult = z71.object({
4757
+ sheetName: z71.string(),
4758
+ range: z71.string(),
4759
+ headerRange: z71.string(),
4760
+ rowCount: z71.number(),
4761
+ colCount: z71.number(),
4762
+ tableName: z71.string().nullable(),
4763
+ replaced: z71.boolean()
4764
+ });
4765
+ var PluginProgramSpreadsheetRenderDatasetArgs = z71.object({
4766
+ sheetName: z71.string().optional(),
4767
+ title: z71.string().optional(),
4768
+ filter: z71.string().optional()
4769
+ });
4770
+ var PluginSpreadsheetExportFormat = z71.enum(["xlsx", "pdf", "csv"]);
4771
+ var PluginProgramSpreadsheetExportArgs = z71.object({
4708
4772
  format: PluginSpreadsheetExportFormat,
4709
- fileName: z70.string().optional(),
4710
- sheetName: z70.string().optional()
4773
+ fileName: z71.string().optional(),
4774
+ sheetName: z71.string().optional()
4711
4775
  });
4712
- var PluginProgramSpreadsheetExportResult = z70.object({
4776
+ var PluginProgramSpreadsheetExportResult = z71.object({
4713
4777
  format: PluginSpreadsheetExportFormat,
4714
- fileName: z70.string(),
4715
- mimeType: z70.string(),
4716
- dataBase64: z70.string()
4717
- });
4718
- var PluginSpreadsheetSheetInfo = z70.object({
4719
- name: z70.string(),
4720
- index: z70.number(),
4721
- visible: z70.boolean(),
4722
- rowCount: z70.number(),
4723
- colCount: z70.number()
4724
- });
4725
- var PluginProgramSpreadsheetListSheetsResult = z70.object({
4726
- sheets: z70.array(PluginSpreadsheetSheetInfo),
4727
- activeSheet: z70.string().nullable()
4728
- });
4729
- var PluginProgramSpreadsheetGetSheetDataArgs = z70.object({
4730
- sheetName: z70.string(),
4731
- range: z70.string().optional(),
4732
- header: z70.boolean().optional()
4733
- });
4734
- var PluginProgramSpreadsheetGetSheetDataResult = z70.object({
4735
- sheetName: z70.string(),
4736
- range: z70.string(),
4737
- values: z70.array(z70.array(PluginSpreadsheetCell)),
4738
- records: z70.array(z70.record(z70.string(), PluginSpreadsheetCell)).optional()
4739
- });
4740
- var PluginSpreadsheetChartType = z70.enum([
4778
+ fileName: z71.string(),
4779
+ mimeType: z71.string(),
4780
+ dataBase64: z71.string()
4781
+ });
4782
+ var PluginSpreadsheetSheetInfo = z71.object({
4783
+ name: z71.string(),
4784
+ index: z71.number(),
4785
+ visible: z71.boolean(),
4786
+ rowCount: z71.number(),
4787
+ colCount: z71.number()
4788
+ });
4789
+ var PluginProgramSpreadsheetListSheetsResult = z71.object({
4790
+ sheets: z71.array(PluginSpreadsheetSheetInfo),
4791
+ activeSheet: z71.string().nullable()
4792
+ });
4793
+ var PluginProgramSpreadsheetGetSheetDataArgs = z71.object({
4794
+ sheetName: z71.string(),
4795
+ range: z71.string().optional(),
4796
+ header: z71.boolean().optional()
4797
+ });
4798
+ var PluginProgramSpreadsheetGetSheetDataResult = z71.object({
4799
+ sheetName: z71.string(),
4800
+ range: z71.string(),
4801
+ values: z71.array(z71.array(PluginSpreadsheetCell)),
4802
+ records: z71.array(z71.record(z71.string(), PluginSpreadsheetCell)).optional()
4803
+ });
4804
+ var PluginSpreadsheetChartType = z71.enum([
4741
4805
  "column",
4742
4806
  "bar",
4743
4807
  "line",
@@ -4745,262 +4809,262 @@ var PluginSpreadsheetChartType = z70.enum([
4745
4809
  "area",
4746
4810
  "scatter"
4747
4811
  ]);
4748
- var PluginProgramSpreadsheetAddChartArgs = z70.object({
4749
- sheetName: z70.string(),
4812
+ var PluginProgramSpreadsheetAddChartArgs = z71.object({
4813
+ sheetName: z71.string(),
4750
4814
  chartType: PluginSpreadsheetChartType,
4751
- dataRange: z70.string(),
4752
- title: z70.string().optional(),
4753
- position: z70.object({ x: z70.number(), y: z70.number() }).optional(),
4754
- size: z70.object({ width: z70.number(), height: z70.number() }).optional()
4755
- });
4756
- var PluginProgramSpreadsheetAddChartResult = z70.object({
4757
- chartId: z70.string()
4758
- });
4759
- var PluginProgramSpreadsheetHighlightCellsArgs = z70.object({
4760
- sheetName: z70.string(),
4761
- range: z70.string(),
4762
- color: z70.string().optional(),
4763
- bold: z70.boolean().optional()
4764
- });
4765
- var PluginProgramSpreadsheetHighlightCellsResult = z70.object({
4766
- sheetName: z70.string(),
4767
- range: z70.string()
4768
- });
4769
- var PluginSpreadsheetProgramRow = z70.object({
4770
- departmentId: z70.string(),
4771
- name: z70.string(),
4772
- targetArea: z70.number().nullable(),
4773
- allocatedArea: z70.number(),
4774
- variance: z70.number().nullable()
4775
- });
4776
- var PluginProgramSpreadsheetGetProgramResult = z70.object({
4815
+ dataRange: z71.string(),
4816
+ title: z71.string().optional(),
4817
+ position: z71.object({ x: z71.number(), y: z71.number() }).optional(),
4818
+ size: z71.object({ width: z71.number(), height: z71.number() }).optional()
4819
+ });
4820
+ var PluginProgramSpreadsheetAddChartResult = z71.object({
4821
+ chartId: z71.string()
4822
+ });
4823
+ var PluginProgramSpreadsheetHighlightCellsArgs = z71.object({
4824
+ sheetName: z71.string(),
4825
+ range: z71.string(),
4826
+ color: z71.string().optional(),
4827
+ bold: z71.boolean().optional()
4828
+ });
4829
+ var PluginProgramSpreadsheetHighlightCellsResult = z71.object({
4830
+ sheetName: z71.string(),
4831
+ range: z71.string()
4832
+ });
4833
+ var PluginSpreadsheetProgramRow = z71.object({
4834
+ departmentId: z71.string(),
4835
+ name: z71.string(),
4836
+ targetArea: z71.number().nullable(),
4837
+ allocatedArea: z71.number(),
4838
+ variance: z71.number().nullable()
4839
+ });
4840
+ var PluginProgramSpreadsheetGetProgramResult = z71.object({
4777
4841
  units: PluginAreaUnit,
4778
- rows: z70.array(PluginSpreadsheetProgramRow),
4779
- totalTargetArea: z70.number(),
4780
- totalAllocatedArea: z70.number(),
4781
- generatedAt: z70.string()
4782
- });
4783
- var PluginSpreadsheetTakeoffRow = z70.object({
4784
- objectType: z70.string(),
4785
- category: z70.string(),
4786
- family: z70.string(),
4787
- quantity: z70.number(),
4788
- unit: z70.string()
4789
- });
4790
- var PluginProgramSpreadsheetGetTakeoffResult = z70.object({
4791
- rows: z70.array(PluginSpreadsheetTakeoffRow),
4792
- rowCount: z70.number(),
4793
- generatedAt: z70.string()
4794
- });
4795
- var PluginSpreadsheetMaterialTakeoffRow = z70.object({
4796
- objectType: z70.string(),
4797
- family: z70.string(),
4798
- material: z70.string(),
4799
- quantity: z70.number(),
4800
- unit: z70.string()
4801
- });
4802
- var PluginProgramSpreadsheetGetMaterialTakeoffResult = z70.object({
4803
- rows: z70.array(PluginSpreadsheetMaterialTakeoffRow),
4804
- rowCount: z70.number(),
4805
- generatedAt: z70.string()
4806
- });
4807
- var PluginSpreadsheetWhenExists = z70.enum(["reuse", "replace", "error"]);
4808
- var PluginProgramSpreadsheetCreateSheetArgs = z70.object({
4809
- name: z70.string(),
4842
+ rows: z71.array(PluginSpreadsheetProgramRow),
4843
+ totalTargetArea: z71.number(),
4844
+ totalAllocatedArea: z71.number(),
4845
+ generatedAt: z71.string()
4846
+ });
4847
+ var PluginSpreadsheetTakeoffRow = z71.object({
4848
+ objectType: z71.string(),
4849
+ category: z71.string(),
4850
+ family: z71.string(),
4851
+ quantity: z71.number(),
4852
+ unit: z71.string()
4853
+ });
4854
+ var PluginProgramSpreadsheetGetTakeoffResult = z71.object({
4855
+ rows: z71.array(PluginSpreadsheetTakeoffRow),
4856
+ rowCount: z71.number(),
4857
+ generatedAt: z71.string()
4858
+ });
4859
+ var PluginSpreadsheetMaterialTakeoffRow = z71.object({
4860
+ objectType: z71.string(),
4861
+ family: z71.string(),
4862
+ material: z71.string(),
4863
+ quantity: z71.number(),
4864
+ unit: z71.string()
4865
+ });
4866
+ var PluginProgramSpreadsheetGetMaterialTakeoffResult = z71.object({
4867
+ rows: z71.array(PluginSpreadsheetMaterialTakeoffRow),
4868
+ rowCount: z71.number(),
4869
+ generatedAt: z71.string()
4870
+ });
4871
+ var PluginSpreadsheetWhenExists = z71.enum(["reuse", "replace", "error"]);
4872
+ var PluginProgramSpreadsheetCreateSheetArgs = z71.object({
4873
+ name: z71.string(),
4810
4874
  whenExists: PluginSpreadsheetWhenExists.optional()
4811
4875
  });
4812
- var PluginProgramSpreadsheetCreateSheetResult = z70.object({
4813
- sheetName: z70.string(),
4814
- replaced: z70.boolean(),
4815
- sheetIndex: z70.number().nullable()
4816
- });
4817
- var PluginProgramSpreadsheetSetValuesArgs = z70.object({
4818
- sheetName: z70.string(),
4819
- values: z70.array(z70.array(PluginSpreadsheetCell)),
4820
- startCell: z70.string().optional()
4821
- });
4822
- var PluginProgramSpreadsheetSetValuesResult = z70.object({
4823
- sheetName: z70.string(),
4824
- startCell: z70.string(),
4825
- rowCount: z70.number(),
4826
- colCount: z70.number()
4827
- });
4828
- var PluginSpreadsheetFormula = z70.object({
4829
- cell: z70.string(),
4830
- formula: z70.string()
4831
- });
4832
- var PluginProgramSpreadsheetSetFormulasArgs = z70.object({
4833
- sheetName: z70.string(),
4834
- formulas: z70.array(PluginSpreadsheetFormula)
4835
- });
4836
- var PluginProgramSpreadsheetSetFormulasResult = z70.object({
4837
- sheetName: z70.string(),
4838
- count: z70.number()
4839
- });
4840
- var PluginSpreadsheetFontWeight = z70.enum(["normal", "bold"]);
4841
- var PluginSpreadsheetFontStyle = z70.enum(["normal", "italic"]);
4842
- var PluginSpreadsheetHorizontalAlign = z70.enum([
4876
+ var PluginProgramSpreadsheetCreateSheetResult = z71.object({
4877
+ sheetName: z71.string(),
4878
+ replaced: z71.boolean(),
4879
+ sheetIndex: z71.number().nullable()
4880
+ });
4881
+ var PluginProgramSpreadsheetSetValuesArgs = z71.object({
4882
+ sheetName: z71.string(),
4883
+ values: z71.array(z71.array(PluginSpreadsheetCell)),
4884
+ startCell: z71.string().optional()
4885
+ });
4886
+ var PluginProgramSpreadsheetSetValuesResult = z71.object({
4887
+ sheetName: z71.string(),
4888
+ startCell: z71.string(),
4889
+ rowCount: z71.number(),
4890
+ colCount: z71.number()
4891
+ });
4892
+ var PluginSpreadsheetFormula = z71.object({
4893
+ cell: z71.string(),
4894
+ formula: z71.string()
4895
+ });
4896
+ var PluginProgramSpreadsheetSetFormulasArgs = z71.object({
4897
+ sheetName: z71.string(),
4898
+ formulas: z71.array(PluginSpreadsheetFormula)
4899
+ });
4900
+ var PluginProgramSpreadsheetSetFormulasResult = z71.object({
4901
+ sheetName: z71.string(),
4902
+ count: z71.number()
4903
+ });
4904
+ var PluginSpreadsheetFontWeight = z71.enum(["normal", "bold"]);
4905
+ var PluginSpreadsheetFontStyle = z71.enum(["normal", "italic"]);
4906
+ var PluginSpreadsheetHorizontalAlign = z71.enum([
4843
4907
  "left",
4844
4908
  "center",
4845
4909
  "right",
4846
4910
  "general"
4847
4911
  ]);
4848
- var PluginSpreadsheetVerticalAlign = z70.enum([
4912
+ var PluginSpreadsheetVerticalAlign = z71.enum([
4849
4913
  "top",
4850
4914
  "center",
4851
4915
  "bottom"
4852
4916
  ]);
4853
- var PluginSpreadsheetCellStyle = z70.object({
4854
- backColor: z70.string().optional(),
4855
- foreColor: z70.string().optional(),
4856
- font: z70.string().optional(),
4857
- fontFamily: z70.string().optional(),
4858
- fontSize: z70.number().optional(),
4917
+ var PluginSpreadsheetCellStyle = z71.object({
4918
+ backColor: z71.string().optional(),
4919
+ foreColor: z71.string().optional(),
4920
+ font: z71.string().optional(),
4921
+ fontFamily: z71.string().optional(),
4922
+ fontSize: z71.number().optional(),
4859
4923
  fontWeight: PluginSpreadsheetFontWeight.optional(),
4860
4924
  fontStyle: PluginSpreadsheetFontStyle.optional(),
4861
- formatter: z70.string().optional(),
4925
+ formatter: z71.string().optional(),
4862
4926
  horizontalAlign: PluginSpreadsheetHorizontalAlign.optional(),
4863
4927
  verticalAlign: PluginSpreadsheetVerticalAlign.optional()
4864
4928
  });
4865
- var PluginSpreadsheetRangeStyle = z70.object({
4866
- range: z70.string(),
4929
+ var PluginSpreadsheetRangeStyle = z71.object({
4930
+ range: z71.string(),
4867
4931
  style: PluginSpreadsheetCellStyle
4868
4932
  });
4869
- var PluginProgramSpreadsheetSetStylesArgs = z70.object({
4870
- sheetName: z70.string(),
4871
- ranges: z70.array(PluginSpreadsheetRangeStyle)
4933
+ var PluginProgramSpreadsheetSetStylesArgs = z71.object({
4934
+ sheetName: z71.string(),
4935
+ ranges: z71.array(PluginSpreadsheetRangeStyle)
4872
4936
  });
4873
- var PluginProgramSpreadsheetSetStylesResult = z70.object({
4874
- sheetName: z70.string(),
4875
- count: z70.number()
4937
+ var PluginProgramSpreadsheetSetStylesResult = z71.object({
4938
+ sheetName: z71.string(),
4939
+ count: z71.number()
4876
4940
  });
4877
- var PluginProgramSpreadsheetMergeCellsArgs = z70.object({
4878
- sheetName: z70.string(),
4879
- range: z70.string(),
4941
+ var PluginProgramSpreadsheetMergeCellsArgs = z71.object({
4942
+ sheetName: z71.string(),
4943
+ range: z71.string(),
4880
4944
  value: PluginSpreadsheetCell.optional()
4881
4945
  });
4882
- var PluginProgramSpreadsheetMergeCellsResult = z70.object({
4883
- sheetName: z70.string(),
4884
- range: z70.string()
4946
+ var PluginProgramSpreadsheetMergeCellsResult = z71.object({
4947
+ sheetName: z71.string(),
4948
+ range: z71.string()
4885
4949
  });
4886
- var PluginSpreadsheetConditionalRuleType = z70.enum(["dataBar"]);
4887
- var PluginSpreadsheetConditionalRule = z70.object({
4950
+ var PluginSpreadsheetConditionalRuleType = z71.enum(["dataBar"]);
4951
+ var PluginSpreadsheetConditionalRule = z71.object({
4888
4952
  type: PluginSpreadsheetConditionalRuleType,
4889
- color: z70.string().optional()
4953
+ color: z71.string().optional()
4890
4954
  });
4891
- var PluginProgramSpreadsheetAddConditionalFormattingArgs = z70.object({
4892
- sheetName: z70.string(),
4893
- range: z70.string(),
4955
+ var PluginProgramSpreadsheetAddConditionalFormattingArgs = z71.object({
4956
+ sheetName: z71.string(),
4957
+ range: z71.string(),
4894
4958
  rule: PluginSpreadsheetConditionalRule
4895
4959
  });
4896
- var PluginProgramSpreadsheetAddConditionalFormattingResult = z70.object({
4897
- sheetName: z70.string(),
4898
- range: z70.string(),
4899
- created: z70.boolean()
4960
+ var PluginProgramSpreadsheetAddConditionalFormattingResult = z71.object({
4961
+ sheetName: z71.string(),
4962
+ range: z71.string(),
4963
+ created: z71.boolean()
4900
4964
  });
4901
- var PluginProgramSpreadsheetRecalculateArgs = z70.object({
4902
- sheetName: z70.string().optional()
4965
+ var PluginProgramSpreadsheetRecalculateArgs = z71.object({
4966
+ sheetName: z71.string().optional()
4903
4967
  });
4904
- var PluginProgramSpreadsheetRecalculateResult = z70.object({
4905
- scope: z70.enum(["sheet", "workbook"]),
4906
- sheetName: z70.string().nullable()
4968
+ var PluginProgramSpreadsheetRecalculateResult = z71.object({
4969
+ scope: z71.enum(["sheet", "workbook"]),
4970
+ sheetName: z71.string().nullable()
4907
4971
  });
4908
- var PluginSpreadsheetTransactionMethod = z70.enum([
4972
+ var PluginSpreadsheetTransactionMethod = z71.enum([
4909
4973
  "createSheet",
4910
4974
  "setValues",
4911
4975
  "setFormulas",
4912
4976
  "setStyles",
4913
4977
  "mergeCells"
4914
4978
  ]);
4915
- var PluginSpreadsheetTransactionOp = z70.object({
4979
+ var PluginSpreadsheetTransactionOp = z71.object({
4916
4980
  method: PluginSpreadsheetTransactionMethod,
4917
- args: z70.unknown()
4918
- });
4919
- var PluginProgramSpreadsheetTransactionArgs = z70.object({
4920
- operations: z70.array(PluginSpreadsheetTransactionOp),
4921
- label: z70.string().optional()
4922
- });
4923
- var PluginProgramSpreadsheetTransactionResult = z70.object({
4924
- label: z70.string(),
4925
- operationCount: z70.number(),
4926
- results: z70.array(z70.unknown())
4927
- });
4928
- var PluginProgramSpreadsheetRunScriptArgs = z70.object({
4929
- script: z70.string()
4930
- });
4931
- var PluginProgramSpreadsheetRunScriptResult = z70.object({
4932
- result: z70.unknown()
4933
- });
4934
- var PluginSpreadsheetAuditStatus = z70.enum(["success", "error"]);
4935
- var PluginSpreadsheetAuditEntry = z70.object({
4936
- id: z70.string(),
4937
- pluginId: z70.string(),
4938
- method: z70.string(),
4939
- label: z70.string().optional(),
4940
- sheetName: z70.string().optional(),
4941
- timestamp: z70.string(),
4981
+ args: z71.unknown()
4982
+ });
4983
+ var PluginProgramSpreadsheetTransactionArgs = z71.object({
4984
+ operations: z71.array(PluginSpreadsheetTransactionOp),
4985
+ label: z71.string().optional()
4986
+ });
4987
+ var PluginProgramSpreadsheetTransactionResult = z71.object({
4988
+ label: z71.string(),
4989
+ operationCount: z71.number(),
4990
+ results: z71.array(z71.unknown())
4991
+ });
4992
+ var PluginProgramSpreadsheetRunScriptArgs = z71.object({
4993
+ script: z71.string()
4994
+ });
4995
+ var PluginProgramSpreadsheetRunScriptResult = z71.object({
4996
+ result: z71.unknown()
4997
+ });
4998
+ var PluginSpreadsheetAuditStatus = z71.enum(["success", "error"]);
4999
+ var PluginSpreadsheetAuditEntry = z71.object({
5000
+ id: z71.string(),
5001
+ pluginId: z71.string(),
5002
+ method: z71.string(),
5003
+ label: z71.string().optional(),
5004
+ sheetName: z71.string().optional(),
5005
+ timestamp: z71.string(),
4942
5006
  status: PluginSpreadsheetAuditStatus,
4943
- summary: z70.string().optional()
5007
+ summary: z71.string().optional()
4944
5008
  });
4945
- var PluginProgramSpreadsheetGetAuditLogArgs = z70.object({
4946
- limit: z70.number().optional()
5009
+ var PluginProgramSpreadsheetGetAuditLogArgs = z71.object({
5010
+ limit: z71.number().optional()
4947
5011
  });
4948
- var PluginProgramSpreadsheetGetAuditLogResult = z70.object({
4949
- entries: z70.array(PluginSpreadsheetAuditEntry)
5012
+ var PluginProgramSpreadsheetGetAuditLogResult = z71.object({
5013
+ entries: z71.array(PluginSpreadsheetAuditEntry)
4950
5014
  });
4951
- var PluginProgramSpreadsheetPingResult = z70.object({
4952
- pong: z70.boolean()
5015
+ var PluginProgramSpreadsheetPingResult = z71.object({
5016
+ pong: z71.boolean()
4953
5017
  });
4954
- var PluginSpreadsheetTemplateScope = z70.enum(["project", "global"]);
4955
- var PluginProgramSpreadsheetTemplatesCreateArgs = z70.object({
4956
- name: z70.string(),
4957
- sheetName: z70.string(),
5018
+ var PluginSpreadsheetTemplateScope = z71.enum(["project", "global"]);
5019
+ var PluginProgramSpreadsheetTemplatesCreateArgs = z71.object({
5020
+ name: z71.string(),
5021
+ sheetName: z71.string(),
4958
5022
  scope: PluginSpreadsheetTemplateScope.optional()
4959
5023
  });
4960
- var PluginProgramSpreadsheetTemplatesCreateResult = z70.object({
4961
- id: z70.string(),
4962
- name: z70.string(),
5024
+ var PluginProgramSpreadsheetTemplatesCreateResult = z71.object({
5025
+ id: z71.string(),
5026
+ name: z71.string(),
4963
5027
  scope: PluginSpreadsheetTemplateScope,
4964
- sheetName: z70.string()
5028
+ sheetName: z71.string()
4965
5029
  });
4966
- var PluginProgramSpreadsheetTemplatesApplyArgs = z70.object({
4967
- name: z70.string(),
4968
- targetSheetName: z70.string()
5030
+ var PluginProgramSpreadsheetTemplatesApplyArgs = z71.object({
5031
+ name: z71.string(),
5032
+ targetSheetName: z71.string()
4969
5033
  });
4970
- var PluginProgramSpreadsheetTemplatesApplyResult = z70.object({
4971
- name: z70.string(),
4972
- targetSheetName: z70.string()
5034
+ var PluginProgramSpreadsheetTemplatesApplyResult = z71.object({
5035
+ name: z71.string(),
5036
+ targetSheetName: z71.string()
4973
5037
  });
4974
- var PluginSpreadsheetBindingSource = z70.discriminatedUnion("dataset", [
4975
- z70.object({ dataset: z70.literal("takeoff") }),
4976
- z70.object({ dataset: z70.literal("plugin"), name: z70.string() })
5038
+ var PluginSpreadsheetBindingSource = z71.discriminatedUnion("dataset", [
5039
+ z71.object({ dataset: z71.literal("takeoff") }),
5040
+ z71.object({ dataset: z71.literal("plugin"), name: z71.string() })
4977
5041
  ]);
4978
- var PluginSpreadsheetBindingMode = z70.enum(["replaceRange"]);
4979
- var PluginSpreadsheetBindingTarget = z70.object({
4980
- sheetName: z70.string(),
4981
- startCell: z70.string().optional()
4982
- });
4983
- var PluginSpreadsheetBinding = z70.object({
4984
- id: z70.string(),
4985
- name: z70.string(),
4986
- pluginId: z70.string(),
5042
+ var PluginSpreadsheetBindingMode = z71.enum(["replaceRange"]);
5043
+ var PluginSpreadsheetBindingTarget = z71.object({
5044
+ sheetName: z71.string(),
5045
+ startCell: z71.string().optional()
5046
+ });
5047
+ var PluginSpreadsheetBinding = z71.object({
5048
+ id: z71.string(),
5049
+ name: z71.string(),
5050
+ pluginId: z71.string(),
4987
5051
  source: PluginSpreadsheetBindingSource,
4988
- target: z70.object({
4989
- sheetName: z70.string(),
4990
- startCell: z70.string()
5052
+ target: z71.object({
5053
+ sheetName: z71.string(),
5054
+ startCell: z71.string()
4991
5055
  }),
4992
5056
  mode: PluginSpreadsheetBindingMode,
4993
- createdAt: z70.string(),
4994
- updatedAt: z70.string()
5057
+ createdAt: z71.string(),
5058
+ updatedAt: z71.string()
4995
5059
  });
4996
- var PluginSpreadsheetBindingRefresh = z70.object({
4997
- id: z70.string(),
4998
- name: z70.string(),
4999
- sheetName: z70.string(),
5000
- rowCount: z70.number()
5060
+ var PluginSpreadsheetBindingRefresh = z71.object({
5061
+ id: z71.string(),
5062
+ name: z71.string(),
5063
+ sheetName: z71.string(),
5064
+ rowCount: z71.number()
5001
5065
  });
5002
- var PluginProgramSpreadsheetBindingsCreateArgs = z70.object({
5003
- name: z70.string(),
5066
+ var PluginProgramSpreadsheetBindingsCreateArgs = z71.object({
5067
+ name: z71.string(),
5004
5068
  source: PluginSpreadsheetBindingSource,
5005
5069
  target: PluginSpreadsheetBindingTarget,
5006
5070
  mode: PluginSpreadsheetBindingMode.optional()
@@ -5008,296 +5072,296 @@ var PluginProgramSpreadsheetBindingsCreateArgs = z70.object({
5008
5072
  var PluginProgramSpreadsheetBindingsCreateResult = PluginSpreadsheetBinding.extend({
5009
5073
  refresh: PluginSpreadsheetBindingRefresh
5010
5074
  });
5011
- var PluginProgramSpreadsheetBindingsRefreshArgs = z70.object({
5012
- name: z70.string().optional()
5075
+ var PluginProgramSpreadsheetBindingsRefreshArgs = z71.object({
5076
+ name: z71.string().optional()
5013
5077
  });
5014
- var PluginProgramSpreadsheetBindingsRefreshResult = z70.object({
5015
- refreshed: z70.array(PluginSpreadsheetBindingRefresh)
5078
+ var PluginProgramSpreadsheetBindingsRefreshResult = z71.object({
5079
+ refreshed: z71.array(PluginSpreadsheetBindingRefresh)
5016
5080
  });
5017
- var PluginProgramSpreadsheetBindingsListResult = z70.object({
5018
- bindings: z70.array(PluginSpreadsheetBinding)
5081
+ var PluginProgramSpreadsheetBindingsListResult = z71.object({
5082
+ bindings: z71.array(PluginSpreadsheetBinding)
5019
5083
  });
5020
- var PluginProgramSpreadsheetDatasetsSetArgs = z70.object({
5021
- name: z70.string(),
5022
- columns: z70.array(PluginSpreadsheetColumn).min(1),
5023
- rows: z70.array(z70.record(z70.string(), PluginSpreadsheetCell)).max(1e4)
5084
+ var PluginProgramSpreadsheetDatasetsSetArgs = z71.object({
5085
+ name: z71.string(),
5086
+ columns: z71.array(PluginSpreadsheetColumn).min(1),
5087
+ rows: z71.array(z71.record(z71.string(), PluginSpreadsheetCell)).max(1e4)
5024
5088
  });
5025
- var PluginProgramSpreadsheetDatasetsSetResult = z70.object({
5026
- name: z70.string(),
5027
- rowCount: z70.number()
5089
+ var PluginProgramSpreadsheetDatasetsSetResult = z71.object({
5090
+ name: z71.string(),
5091
+ rowCount: z71.number()
5028
5092
  });
5029
- var PluginSpreadsheetDataset = z70.object({
5030
- name: z70.string(),
5031
- rowCount: z70.number(),
5032
- updatedAt: z70.string()
5093
+ var PluginSpreadsheetDataset = z71.object({
5094
+ name: z71.string(),
5095
+ rowCount: z71.number(),
5096
+ updatedAt: z71.string()
5033
5097
  });
5034
- var PluginProgramSpreadsheetDatasetsListResult = z70.object({
5035
- datasets: z70.array(PluginSpreadsheetDataset)
5098
+ var PluginProgramSpreadsheetDatasetsListResult = z71.object({
5099
+ datasets: z71.array(PluginSpreadsheetDataset)
5036
5100
  });
5037
- var PluginProgramSpreadsheetAddImageArgs = z70.object({
5038
- sheetName: z70.string(),
5039
- image: z70.object({
5040
- dataUri: z70.string().max(2097152, "image.dataUri exceeds the 2 MB limit").regex(
5101
+ var PluginProgramSpreadsheetAddImageArgs = z71.object({
5102
+ sheetName: z71.string(),
5103
+ image: z71.object({
5104
+ dataUri: z71.string().max(2097152, "image.dataUri exceeds the 2 MB limit").regex(
5041
5105
  /^data:image\/(png|jpeg|svg\+xml);base64,/,
5042
5106
  "image.dataUri must be a base64 data:image/png, jpeg, or svg+xml URI"
5043
5107
  )
5044
5108
  }),
5045
- anchorCell: z70.string().optional(),
5046
- size: z70.object({ width: z70.number(), height: z70.number() }).optional(),
5047
- name: z70.string().optional()
5048
- });
5049
- var PluginProgramSpreadsheetAddImageResult = z70.object({
5050
- sheetName: z70.string(),
5051
- name: z70.string()
5052
- });
5053
- var PluginSpreadsheetCustomSheet = z70.object({
5054
- sheetName: z70.string(),
5055
- groupBy: z70.array(z70.string()),
5056
- properties: z70.array(z70.string()),
5057
- groupColors: z70.record(z70.string(), z70.string()),
5058
- proposalId: z70.string().nullable()
5059
- });
5060
- var PluginSpreadsheetCustomSheetConfig = z70.object({
5061
- groupBy: z70.array(z70.string().trim().min(1)).max(10).optional(),
5062
- properties: z70.array(z70.string()).max(50).optional(),
5063
- groupColors: z70.record(z70.string(), z70.string()).optional()
5109
+ anchorCell: z71.string().optional(),
5110
+ size: z71.object({ width: z71.number(), height: z71.number() }).optional(),
5111
+ name: z71.string().optional()
5112
+ });
5113
+ var PluginProgramSpreadsheetAddImageResult = z71.object({
5114
+ sheetName: z71.string(),
5115
+ name: z71.string()
5116
+ });
5117
+ var PluginSpreadsheetCustomSheet = z71.object({
5118
+ sheetName: z71.string(),
5119
+ groupBy: z71.array(z71.string()),
5120
+ properties: z71.array(z71.string()),
5121
+ groupColors: z71.record(z71.string(), z71.string()),
5122
+ proposalId: z71.string().nullable()
5123
+ });
5124
+ var PluginSpreadsheetCustomSheetConfig = z71.object({
5125
+ groupBy: z71.array(z71.string().trim().min(1)).max(10).optional(),
5126
+ properties: z71.array(z71.string()).max(50).optional(),
5127
+ groupColors: z71.record(z71.string(), z71.string()).optional()
5064
5128
  });
5065
5129
  var PluginProgramSpreadsheetCreateCustomSheetArgs = PluginSpreadsheetCustomSheetConfig.extend({
5066
- name: z70.string().trim().min(1)
5130
+ name: z71.string().trim().min(1)
5067
5131
  });
5068
5132
  var PluginProgramSpreadsheetUpdateCustomSheetArgs = PluginSpreadsheetCustomSheetConfig.extend({
5069
- sheetName: z70.string().trim().min(1)
5133
+ sheetName: z71.string().trim().min(1)
5070
5134
  });
5071
5135
  var PluginProgramSpreadsheetCustomSheetResult = PluginSpreadsheetCustomSheet;
5072
- var PluginProgramSpreadsheetGetCustomSheetArgs = z70.object({
5073
- sheetName: z70.string().trim().min(1)
5136
+ var PluginProgramSpreadsheetGetCustomSheetArgs = z71.object({
5137
+ sheetName: z71.string().trim().min(1)
5074
5138
  });
5075
5139
  var PluginProgramSpreadsheetGetCustomSheetResult = PluginSpreadsheetCustomSheet.nullable();
5076
- var PluginProgramSpreadsheetListCustomSheetsResult = z70.object({
5077
- sheets: z70.array(PluginSpreadsheetCustomSheet)
5140
+ var PluginProgramSpreadsheetListCustomSheetsResult = z71.object({
5141
+ sheets: z71.array(PluginSpreadsheetCustomSheet)
5078
5142
  });
5079
- var PluginSpreadsheetCustomSheetProperty = z70.object({
5080
- id: z70.string(),
5081
- name: z70.string(),
5082
- groupable: z70.boolean(),
5083
- custom: z70.boolean()
5143
+ var PluginSpreadsheetCustomSheetProperty = z71.object({
5144
+ id: z71.string(),
5145
+ name: z71.string(),
5146
+ groupable: z71.boolean(),
5147
+ custom: z71.boolean()
5084
5148
  });
5085
- var PluginProgramSpreadsheetListCustomSheetPropertiesResult = z70.object({
5086
- properties: z70.array(PluginSpreadsheetCustomSheetProperty)
5149
+ var PluginProgramSpreadsheetListCustomSheetPropertiesResult = z71.object({
5150
+ properties: z71.array(PluginSpreadsheetCustomSheetProperty)
5087
5151
  });
5088
5152
 
5089
5153
  // src/api/program/site.ts
5090
- var z71 = __toESM(require("zod"), 1);
5154
+ var z72 = __toESM(require("zod"), 1);
5091
5155
  var PluginProgramSiteApi = class {
5092
5156
  constructor() {
5093
5157
  }
5094
5158
  };
5095
- var PluginSiteAnalysisRow = z71.object({
5096
- category: z71.string().min(1),
5097
- description: z71.string(),
5098
- quantity: z71.union([z71.string(), z71.number()]),
5099
- unit: z71.string()
5159
+ var PluginSiteAnalysisRow = z72.object({
5160
+ category: z72.string().min(1),
5161
+ description: z72.string(),
5162
+ quantity: z72.union([z72.string(), z72.number()]),
5163
+ unit: z72.string()
5100
5164
  });
5101
- var PluginSiteAnalysisUpdateOptions = z71.object({
5102
- siteLocation: z71.object({ lat: z71.number(), lng: z71.number() }).optional(),
5165
+ var PluginSiteAnalysisUpdateOptions = z72.object({
5166
+ siteLocation: z72.object({ lat: z72.number(), lng: z72.number() }).optional(),
5103
5167
  /** JSON-encoded polygon string written to the Site Polygon row. */
5104
- sitePolygon: z71.string().optional()
5168
+ sitePolygon: z72.string().optional()
5105
5169
  }).nullish();
5106
- var PluginProgramSiteAnalysisResult = z71.object({
5107
- sheetName: z71.string(),
5108
- siteLocation: z71.object({ lat: z71.number(), lng: z71.number() }).nullable(),
5109
- sitePolygon: z71.string().nullable(),
5110
- rows: z71.array(PluginSiteAnalysisRow)
5170
+ var PluginProgramSiteAnalysisResult = z72.object({
5171
+ sheetName: z72.string(),
5172
+ siteLocation: z72.object({ lat: z72.number(), lng: z72.number() }).nullable(),
5173
+ sitePolygon: z72.string().nullable(),
5174
+ rows: z72.array(PluginSiteAnalysisRow)
5111
5175
  }).nullable();
5112
- var PluginProgramSiteAnalysisUpdateResult = z71.object({
5113
- sheetName: z71.string(),
5176
+ var PluginProgramSiteAnalysisUpdateResult = z72.object({
5177
+ sheetName: z72.string(),
5114
5178
  /** Constraint rows on the sheet after the write. */
5115
- rowCount: z71.number(),
5116
- updatedRows: z71.number(),
5117
- appendedRows: z71.number()
5179
+ rowCount: z72.number(),
5180
+ updatedRows: z72.number(),
5181
+ appendedRows: z72.number()
5118
5182
  });
5119
- var PluginSiteFootprintPoint = z71.object({
5120
- x: z71.number(),
5121
- z: z71.number()
5183
+ var PluginSiteFootprintPoint = z72.object({
5184
+ x: z72.number(),
5185
+ z: z72.number()
5122
5186
  });
5123
- var PluginSiteGeoPoint = z71.object({
5124
- lat: z71.number(),
5125
- lng: z71.number(),
5126
- alt: z71.number()
5187
+ var PluginSiteGeoPoint = z72.object({
5188
+ lat: z72.number(),
5189
+ lng: z72.number(),
5190
+ alt: z72.number()
5127
5191
  });
5128
- var PluginSitePolygon = z71.object({
5129
- id: z71.string(),
5130
- area: z71.number(),
5131
- label: z71.string(),
5132
- footprint: z71.array(PluginSiteFootprintPoint)
5192
+ var PluginSitePolygon = z72.object({
5193
+ id: z72.string(),
5194
+ area: z72.number(),
5195
+ label: z72.string(),
5196
+ footprint: z72.array(PluginSiteFootprintPoint)
5133
5197
  });
5134
- var PluginProgramSiteSnapshot = z71.object({
5198
+ var PluginProgramSiteSnapshot = z72.object({
5135
5199
  units: PluginAreaUnit,
5136
- totalArea: z71.number(),
5137
- polygonCount: z71.number(),
5138
- polygons: z71.array(PluginSitePolygon)
5200
+ totalArea: z72.number(),
5201
+ polygonCount: z72.number(),
5202
+ polygons: z72.array(PluginSitePolygon)
5139
5203
  });
5140
- var PluginProgramSiteAreaResult = z71.object({
5204
+ var PluginProgramSiteAreaResult = z72.object({
5141
5205
  units: PluginAreaUnit,
5142
- area: z71.number()
5206
+ area: z72.number()
5143
5207
  });
5144
- var PluginProgramSiteListPolygonsResult = z71.object({
5208
+ var PluginProgramSiteListPolygonsResult = z72.object({
5145
5209
  units: PluginAreaUnit,
5146
- polygons: z71.array(PluginSitePolygon)
5210
+ polygons: z72.array(PluginSitePolygon)
5147
5211
  });
5148
- var PluginProgramSiteListGeoPolygonsResult = z71.object({
5149
- polygons: z71.array(z71.array(PluginSiteGeoPoint))
5212
+ var PluginProgramSiteListGeoPolygonsResult = z72.object({
5213
+ polygons: z72.array(z72.array(PluginSiteGeoPoint))
5150
5214
  });
5151
- var PluginSiteLatLng = z71.object({
5152
- lat: z71.number(),
5153
- lng: z71.number()
5215
+ var PluginSiteLatLng = z72.object({
5216
+ lat: z72.number(),
5217
+ lng: z72.number()
5154
5218
  });
5155
- var PluginSiteBounds = z71.object({
5156
- north: z71.number(),
5157
- south: z71.number(),
5158
- east: z71.number(),
5159
- west: z71.number()
5219
+ var PluginSiteBounds = z72.object({
5220
+ north: z72.number(),
5221
+ south: z72.number(),
5222
+ east: z72.number(),
5223
+ west: z72.number()
5160
5224
  });
5161
- var PluginSiteContextParcel = z71.object({
5162
- footprint: z71.array(PluginSiteLatLng),
5163
- area: z71.number()
5225
+ var PluginSiteContextParcel = z72.object({
5226
+ footprint: z72.array(PluginSiteLatLng),
5227
+ area: z72.number()
5164
5228
  });
5165
- var PluginProgramSiteContext = z71.object({
5229
+ var PluginProgramSiteContext = z72.object({
5166
5230
  center: PluginSiteLatLng,
5167
5231
  bounds: PluginSiteBounds,
5168
- widthInM: z71.number(),
5169
- heightInM: z71.number(),
5170
- zoom: z71.number(),
5171
- parcels: z71.array(PluginSiteContextParcel)
5232
+ widthInM: z72.number(),
5233
+ heightInM: z72.number(),
5234
+ zoom: z72.number(),
5235
+ parcels: z72.array(PluginSiteContextParcel)
5172
5236
  });
5173
5237
  var PluginProgramSiteContextResult = PluginProgramSiteContext.nullable();
5174
- var PluginProgramSiteLocation = z71.object({
5175
- latitude: z71.number(),
5176
- longitude: z71.number()
5238
+ var PluginProgramSiteLocation = z72.object({
5239
+ latitude: z72.number(),
5240
+ longitude: z72.number()
5177
5241
  });
5178
5242
  var PluginProgramSiteLocationResult = PluginProgramSiteLocation.nullable();
5179
- var PluginProgramSiteNorthAngleResult = z71.number().nullable();
5180
- var PluginProgramSiteTimezoneResult = z71.string().nullable();
5181
- var PluginProgramSiteWeather = z71.object({
5182
- weatherFileId: z71.string(),
5183
- station: z71.string(),
5184
- checksum: z71.string(),
5185
- selectionMethod: z71.enum([
5243
+ var PluginProgramSiteNorthAngleResult = z72.number().nullable();
5244
+ var PluginProgramSiteTimezoneResult = z72.string().nullable();
5245
+ var PluginProgramSiteWeather = z72.object({
5246
+ weatherFileId: z72.string(),
5247
+ station: z72.string(),
5248
+ checksum: z72.string(),
5249
+ selectionMethod: z72.enum([
5186
5250
  "nearest-station",
5187
5251
  "user-upload",
5188
5252
  "project-override"
5189
5253
  ])
5190
5254
  });
5191
5255
  var PluginProgramSiteWeatherResult = PluginProgramSiteWeather.nullable();
5192
- var PluginProgramSiteEdgeRole = z71.enum(["front", "side", "rear"]);
5193
- var PluginProgramSiteEdge = z71.object({
5194
- edgeIndex: z71.number().int().nonnegative(),
5195
- start: z71.object({ x: z71.number(), z: z71.number() }),
5196
- end: z71.object({ x: z71.number(), z: z71.number() }),
5197
- lengthMeters: z71.number(),
5256
+ var PluginProgramSiteEdgeRole = z72.enum(["front", "side", "rear"]);
5257
+ var PluginProgramSiteEdge = z72.object({
5258
+ edgeIndex: z72.number().int().nonnegative(),
5259
+ start: z72.object({ x: z72.number(), z: z72.number() }),
5260
+ end: z72.object({ x: z72.number(), z: z72.number() }),
5261
+ lengthMeters: z72.number(),
5198
5262
  role: PluginProgramSiteEdgeRole,
5199
- roleSource: z71.enum(["override", "heuristic"]),
5200
- setbackMeters: z71.number().nullable()
5263
+ roleSource: z72.enum(["override", "heuristic"]),
5264
+ setbackMeters: z72.number().nullable()
5201
5265
  });
5202
- var PluginProgramSiteEdgesEntry = z71.object({
5203
- siteId: z71.string(),
5204
- buildableEnvelopeId: z71.string().nullable(),
5205
- usingLiveSiteBoundary: z71.boolean(),
5206
- staleOverridesDropped: z71.boolean(),
5207
- edges: z71.array(PluginProgramSiteEdge)
5266
+ var PluginProgramSiteEdgesEntry = z72.object({
5267
+ siteId: z72.string(),
5268
+ buildableEnvelopeId: z72.string().nullable(),
5269
+ usingLiveSiteBoundary: z72.boolean(),
5270
+ staleOverridesDropped: z72.boolean(),
5271
+ edges: z72.array(PluginProgramSiteEdge)
5208
5272
  });
5209
- var PluginProgramSiteListEdgesResult = z71.object({
5210
- lengthUnit: z71.literal("m"),
5211
- sites: z71.array(PluginProgramSiteEdgesEntry)
5273
+ var PluginProgramSiteListEdgesResult = z72.object({
5274
+ lengthUnit: z72.literal("m"),
5275
+ sites: z72.array(PluginProgramSiteEdgesEntry)
5212
5276
  });
5213
5277
 
5214
5278
  // src/api/program/cores.ts
5215
- var z72 = __toESM(require("zod"), 1);
5279
+ var z73 = __toESM(require("zod"), 1);
5216
5280
  var PluginProgramCoresApi = class {
5217
5281
  constructor() {
5218
5282
  }
5219
5283
  };
5220
- var PluginProgramCore = z72.object({
5221
- id: z72.string(),
5222
- groupId: z72.string(),
5223
- storey: z72.number()
5284
+ var PluginProgramCore = z73.object({
5285
+ id: z73.string(),
5286
+ groupId: z73.string(),
5287
+ storey: z73.number()
5224
5288
  });
5225
- var PluginProgramCoresListResult = z72.object({
5226
- cores: z72.array(PluginProgramCore)
5289
+ var PluginProgramCoresListResult = z73.object({
5290
+ cores: z73.array(PluginProgramCore)
5227
5291
  });
5228
- var PluginProgramCoresIsCoreArgs = z72.object({
5229
- id: z72.string()
5292
+ var PluginProgramCoresIsCoreArgs = z73.object({
5293
+ id: z73.string()
5230
5294
  });
5231
5295
 
5232
5296
  // src/api/program/classification.ts
5233
- var z73 = __toESM(require("zod"), 1);
5297
+ var z74 = __toESM(require("zod"), 1);
5234
5298
  var PluginProgramClassificationApi = class {
5235
5299
  constructor() {
5236
5300
  }
5237
5301
  };
5238
- var PluginClassificationOption = z73.object({
5239
- value: z73.string(),
5240
- label: z73.string()
5302
+ var PluginClassificationOption = z74.object({
5303
+ value: z74.string(),
5304
+ label: z74.string()
5241
5305
  });
5242
- var PluginProgramClassificationTypesResult = z73.object({
5243
- spaceTypes: z73.array(PluginClassificationOption),
5244
- areaClasses: z73.array(PluginClassificationOption),
5245
- massTypes: z73.array(PluginClassificationOption)
5306
+ var PluginProgramClassificationTypesResult = z74.object({
5307
+ spaceTypes: z74.array(PluginClassificationOption),
5308
+ areaClasses: z74.array(PluginClassificationOption),
5309
+ massTypes: z74.array(PluginClassificationOption)
5246
5310
  });
5247
- var PluginProgramClassificationListTagsArgs = z73.object({
5248
- id: z73.string()
5311
+ var PluginProgramClassificationListTagsArgs = z74.object({
5312
+ id: z74.string()
5249
5313
  });
5250
- var PluginSpaceTag = z73.object({
5251
- tagId: z73.string(),
5252
- tagName: z73.string(),
5253
- color: z73.string(),
5254
- categoryId: z73.string()
5314
+ var PluginSpaceTag = z74.object({
5315
+ tagId: z74.string(),
5316
+ tagName: z74.string(),
5317
+ color: z74.string(),
5318
+ categoryId: z74.string()
5255
5319
  });
5256
- var PluginProgramClassificationTagsResult = z73.object({
5257
- tagIds: z73.array(z73.string()),
5258
- tagsByCategory: z73.record(z73.string(), PluginSpaceTag)
5320
+ var PluginProgramClassificationTagsResult = z74.object({
5321
+ tagIds: z74.array(z74.string()),
5322
+ tagsByCategory: z74.record(z74.string(), PluginSpaceTag)
5259
5323
  });
5260
5324
 
5261
5325
  // src/api/program/areas.ts
5262
- var z74 = __toESM(require("zod"), 1);
5326
+ var z75 = __toESM(require("zod"), 1);
5263
5327
  var PluginProgramAreasApi = class {
5264
5328
  constructor() {
5265
5329
  }
5266
5330
  };
5267
- var PluginProgramAreaSummary = z74.object({
5268
- count: z74.number().int(),
5269
- hiddenCount: z74.number().int(),
5270
- carpet: z74.number(),
5271
- builtUp: z74.number(),
5272
- excluded: z74.number(),
5273
- farBuiltUp: z74.number(),
5274
- siteArea: z74.number(),
5275
- achievedFar: z74.number().nullable(),
5276
- targetFar: z74.number(),
5277
- deviation: z74.number(),
5331
+ var PluginProgramAreaSummary = z75.object({
5332
+ count: z75.number().int(),
5333
+ hiddenCount: z75.number().int(),
5334
+ carpet: z75.number(),
5335
+ builtUp: z75.number(),
5336
+ excluded: z75.number(),
5337
+ farBuiltUp: z75.number(),
5338
+ siteArea: z75.number(),
5339
+ achievedFar: z75.number().nullable(),
5340
+ targetFar: z75.number(),
5341
+ deviation: z75.number(),
5278
5342
  areaUnit: PluginAreaUnit
5279
5343
  });
5280
- var PluginProgramAreaGroup = z74.object({
5281
- groupId: z74.string(),
5282
- name: z74.string(),
5283
- color: z74.string(),
5284
- carpet: z74.number(),
5285
- builtUp: z74.number(),
5286
- excluded: z74.number(),
5287
- count: z74.number().int(),
5288
- targetArea: z74.number(),
5344
+ var PluginProgramAreaGroup = z75.object({
5345
+ groupId: z75.string(),
5346
+ name: z75.string(),
5347
+ color: z75.string(),
5348
+ carpet: z75.number(),
5349
+ builtUp: z75.number(),
5350
+ excluded: z75.number(),
5351
+ count: z75.number().int(),
5352
+ targetArea: z75.number(),
5289
5353
  targetUnit: PluginAreaUnit
5290
5354
  });
5291
- var PluginProgramAreaMember = z74.object({
5355
+ var PluginProgramAreaMember = z75.object({
5292
5356
  id: ComponentHandle,
5293
- label: z74.string(),
5357
+ label: z75.string(),
5294
5358
  areaClass: PluginAreaClass,
5295
- carpet: z74.number(),
5296
- builtUp: z74.number(),
5297
- excluded: z74.number(),
5298
- isVisible: z74.boolean()
5359
+ carpet: z75.number(),
5360
+ builtUp: z75.number(),
5361
+ excluded: z75.number(),
5362
+ isVisible: z75.boolean()
5299
5363
  });
5300
- var PluginProgramAreaGroupBy = z74.enum([
5364
+ var PluginProgramAreaGroupBy = z75.enum([
5301
5365
  "labels",
5302
5366
  "storeys",
5303
5367
  "buildings",
@@ -5305,137 +5369,137 @@ var PluginProgramAreaGroupBy = z74.enum([
5305
5369
  "tagCategories"
5306
5370
  ]);
5307
5371
  var PluginProgramAreasGetResult = PluginProgramAreaSummary;
5308
- var PluginProgramAreasListArgs = z74.object({
5372
+ var PluginProgramAreasListArgs = z75.object({
5309
5373
  groupBy: PluginProgramAreaGroupBy,
5310
- categoryId: z74.string().optional()
5374
+ categoryId: z75.string().optional()
5311
5375
  }).refine((v) => v.groupBy !== "tagCategories" || v.categoryId != null, {
5312
5376
  message: 'categoryId is required when groupBy is "tagCategories"'
5313
5377
  });
5314
- var PluginProgramAreasListResult = z74.object({
5315
- groups: z74.array(PluginProgramAreaGroup)
5378
+ var PluginProgramAreasListResult = z75.object({
5379
+ groups: z75.array(PluginProgramAreaGroup)
5316
5380
  });
5317
- var PluginProgramAreasListMembersArgs = z74.object({
5381
+ var PluginProgramAreasListMembersArgs = z75.object({
5318
5382
  groupBy: PluginProgramAreaGroupBy,
5319
- groupId: z74.string(),
5320
- categoryId: z74.string().optional()
5383
+ groupId: z75.string(),
5384
+ categoryId: z75.string().optional()
5321
5385
  }).refine((v) => v.groupBy !== "tagCategories" || v.categoryId != null, {
5322
5386
  message: 'categoryId is required when groupBy is "tagCategories"'
5323
5387
  });
5324
- var PluginProgramAreasListMembersResult = z74.object({
5325
- members: z74.array(PluginProgramAreaMember)
5388
+ var PluginProgramAreasListMembersResult = z75.object({
5389
+ members: z75.array(PluginProgramAreaMember)
5326
5390
  });
5327
- var PluginProgramAreasUpdateArgs = z74.object({
5328
- targetFar: z74.number().min(0).optional(),
5329
- siteArea: z74.number().positive().optional(),
5330
- deviation: z74.number().min(0).max(100).optional()
5391
+ var PluginProgramAreasUpdateArgs = z75.object({
5392
+ targetFar: z75.number().min(0).optional(),
5393
+ siteArea: z75.number().positive().optional(),
5394
+ deviation: z75.number().min(0).max(100).optional()
5331
5395
  });
5332
5396
  var PluginProgramAreasUpdateResult = PluginProgramAreaSummary;
5333
5397
  var PluginProgramAreasRefreshResult = PluginProgramAreaSummary;
5334
5398
 
5335
5399
  // src/api/program/metadata.ts
5336
- var z75 = __toESM(require("zod"), 1);
5400
+ var z76 = __toESM(require("zod"), 1);
5337
5401
  var PluginProgramMetadataApi = class {
5338
5402
  constructor() {
5339
5403
  }
5340
5404
  };
5341
- var PluginProgramMetadataHeader = z75.object({
5342
- headerId: z75.string(),
5343
- name: z75.string(),
5344
- description: z75.string(),
5345
- columnIndex: z75.number()
5405
+ var PluginProgramMetadataHeader = z76.object({
5406
+ headerId: z76.string(),
5407
+ name: z76.string(),
5408
+ description: z76.string(),
5409
+ columnIndex: z76.number()
5346
5410
  });
5347
- var PluginProgramMetadataListHeadersResult = z75.object({
5348
- headers: z75.array(PluginProgramMetadataHeader)
5411
+ var PluginProgramMetadataListHeadersResult = z76.object({
5412
+ headers: z76.array(PluginProgramMetadataHeader)
5349
5413
  });
5350
- var PluginProgramMetadataCreateHeaderArgs = z75.object({
5351
- name: z75.string().trim().min(1),
5352
- description: z75.string().optional()
5414
+ var PluginProgramMetadataCreateHeaderArgs = z76.object({
5415
+ name: z76.string().trim().min(1),
5416
+ description: z76.string().optional()
5353
5417
  });
5354
5418
  var PluginProgramMetadataCreateHeaderResult = PluginProgramMetadataHeader;
5355
- var PluginProgramMetadataRecord = z75.object({
5419
+ var PluginProgramMetadataRecord = z76.object({
5356
5420
  spaceId: ComponentHandle,
5357
- values: z75.record(z75.string(), PluginSpreadsheetCell)
5421
+ values: z76.record(z76.string(), PluginSpreadsheetCell)
5358
5422
  });
5359
- var PluginProgramMetadataGetArgs = z75.object({
5423
+ var PluginProgramMetadataGetArgs = z76.object({
5360
5424
  spaceId: ComponentHandle
5361
5425
  });
5362
5426
  var PluginProgramMetadataGetResult = PluginProgramMetadataRecord.nullable();
5363
- var PluginProgramMetadataListArgs = z75.object({
5364
- spaceIds: z75.array(ComponentHandle).optional()
5427
+ var PluginProgramMetadataListArgs = z76.object({
5428
+ spaceIds: z76.array(ComponentHandle).optional()
5365
5429
  });
5366
- var PluginProgramMetadataListResult = z75.object({
5367
- records: z75.array(PluginProgramMetadataRecord)
5430
+ var PluginProgramMetadataListResult = z76.object({
5431
+ records: z76.array(PluginProgramMetadataRecord)
5368
5432
  });
5369
- var PluginProgramMetadataUpdateArgs = z75.object({
5433
+ var PluginProgramMetadataUpdateArgs = z76.object({
5370
5434
  spaceId: ComponentHandle,
5371
- values: z75.record(z75.string(), PluginSpreadsheetCell).refine((v) => Object.keys(v).length > 0, "values must not be empty")
5435
+ values: z76.record(z76.string(), PluginSpreadsheetCell).refine((v) => Object.keys(v).length > 0, "values must not be empty")
5372
5436
  });
5373
5437
  var PluginProgramMetadataUpdateResult = PluginProgramMetadataRecord;
5374
5438
  var PluginProgramMetadataUpdateItem = PluginProgramMetadataUpdateArgs;
5375
5439
  var PLUGIN_PROGRAM_METADATA_BATCH_LIMIT = 1e3;
5376
- var PluginProgramMetadataUpdateManyArgs = z75.object({
5377
- items: z75.array(PluginProgramMetadataUpdateItem).min(1).max(PLUGIN_PROGRAM_METADATA_BATCH_LIMIT)
5440
+ var PluginProgramMetadataUpdateManyArgs = z76.object({
5441
+ items: z76.array(PluginProgramMetadataUpdateItem).min(1).max(PLUGIN_PROGRAM_METADATA_BATCH_LIMIT)
5378
5442
  });
5379
- var PluginProgramMetadataUpdateManyResult = z75.object({
5380
- records: z75.array(PluginProgramMetadataRecord)
5443
+ var PluginProgramMetadataUpdateManyResult = z76.object({
5444
+ records: z76.array(PluginProgramMetadataRecord)
5381
5445
  });
5382
5446
 
5383
5447
  // src/api/program/labels.ts
5384
- var z76 = __toESM(require("zod"), 1);
5448
+ var z77 = __toESM(require("zod"), 1);
5385
5449
  var PluginProgramLabelsApi = class {
5386
5450
  constructor() {
5387
5451
  }
5388
5452
  };
5389
- var PluginProgramLabel = z76.object({
5390
- id: z76.string(),
5391
- name: z76.string(),
5392
- color: z76.string(),
5393
- departmentId: z76.string(),
5394
- targetArea: z76.number().nullable(),
5395
- targetCount: z76.number(),
5396
- storey: z76.number().nullable()
5453
+ var PluginProgramLabel = z77.object({
5454
+ id: z77.string(),
5455
+ name: z77.string(),
5456
+ color: z77.string(),
5457
+ departmentId: z77.string(),
5458
+ targetArea: z77.number().nullable(),
5459
+ targetCount: z77.number(),
5460
+ storey: z77.number().nullable()
5397
5461
  });
5398
5462
  var PluginProgramLabelRecord = PluginProgramLabel.extend({
5399
5463
  units: PluginAreaUnit
5400
5464
  });
5401
- var PluginProgramLabelsListResult = z76.object({
5465
+ var PluginProgramLabelsListResult = z77.object({
5402
5466
  units: PluginAreaUnit,
5403
- labels: z76.array(PluginProgramLabel)
5467
+ labels: z77.array(PluginProgramLabel)
5404
5468
  });
5405
- var PluginProgramLabelsGetArgs = z76.object({
5406
- labelId: z76.string()
5469
+ var PluginProgramLabelsGetArgs = z77.object({
5470
+ labelId: z77.string()
5407
5471
  });
5408
5472
  var PluginProgramLabelsGetResult = PluginProgramLabelRecord.nullable();
5409
- var PluginProgramLabelCreateItem = z76.object({
5410
- name: z76.string().trim().min(1),
5411
- targetArea: z76.number().finite().nonnegative().optional(),
5412
- targetCount: z76.number().int().nonnegative().optional(),
5413
- departmentId: z76.string().optional(),
5414
- departmentName: z76.string().optional(),
5415
- color: z76.string().optional(),
5416
- storey: z76.number().int().optional(),
5417
- height: z76.number().finite().positive().optional(),
5418
- width: z76.number().finite().positive().optional()
5473
+ var PluginProgramLabelCreateItem = z77.object({
5474
+ name: z77.string().trim().min(1),
5475
+ targetArea: z77.number().finite().nonnegative().optional(),
5476
+ targetCount: z77.number().int().nonnegative().optional(),
5477
+ departmentId: z77.string().optional(),
5478
+ departmentName: z77.string().optional(),
5479
+ color: z77.string().optional(),
5480
+ storey: z77.number().int().optional(),
5481
+ height: z77.number().finite().positive().optional(),
5482
+ width: z77.number().finite().positive().optional()
5419
5483
  });
5420
5484
  var PLUGIN_PROGRAM_LABELS_BATCH_LIMIT = 500;
5421
- var PluginProgramLabelsCreateArgs = z76.object({
5422
- items: z76.array(PluginProgramLabelCreateItem).min(1).max(PLUGIN_PROGRAM_LABELS_BATCH_LIMIT),
5485
+ var PluginProgramLabelsCreateArgs = z77.object({
5486
+ items: z77.array(PluginProgramLabelCreateItem).min(1).max(PLUGIN_PROGRAM_LABELS_BATCH_LIMIT),
5423
5487
  units: PluginAreaUnit.optional(),
5424
- createSpaces: z76.boolean().optional()
5488
+ createSpaces: z77.boolean().optional()
5425
5489
  });
5426
- var PluginProgramLabelsCreateResult = z76.object({
5427
- labelIds: z76.array(z76.string()),
5428
- createdSpaces: z76.boolean()
5490
+ var PluginProgramLabelsCreateResult = z77.object({
5491
+ labelIds: z77.array(z77.string()),
5492
+ createdSpaces: z77.boolean()
5429
5493
  });
5430
- var PluginProgramLabelsSetTargetAreaArgs = z76.object({
5431
- labelId: z76.string(),
5432
- targetArea: z76.number().finite().nonnegative(),
5494
+ var PluginProgramLabelsSetTargetAreaArgs = z77.object({
5495
+ labelId: z77.string(),
5496
+ targetArea: z77.number().finite().nonnegative(),
5433
5497
  units: PluginAreaUnit.optional()
5434
5498
  });
5435
5499
  var PluginProgramLabelsSetTargetAreaResult = PluginProgramLabelRecord;
5436
- var PluginProgramLabelsSetTargetCountArgs = z76.object({
5437
- labelId: z76.string(),
5438
- targetCount: z76.number().int().nonnegative()
5500
+ var PluginProgramLabelsSetTargetCountArgs = z77.object({
5501
+ labelId: z77.string(),
5502
+ targetCount: z77.number().int().nonnegative()
5439
5503
  });
5440
5504
  var PluginProgramLabelsSetTargetCountResult = PluginProgramLabelRecord;
5441
5505
 
@@ -5446,72 +5510,72 @@ var PluginProgramApi = class {
5446
5510
  };
5447
5511
 
5448
5512
  // src/api/presentation/views.ts
5449
- var z77 = __toESM(require("zod"), 1);
5513
+ var z78 = __toESM(require("zod"), 1);
5450
5514
  var PluginPresentationViewsApi = class {
5451
5515
  constructor() {
5452
5516
  }
5453
5517
  };
5454
- var PluginPresentationViewType = z77.enum(["2d", "3d"]);
5455
- var PluginPresentationView = z77.object({
5456
- id: z77.string(),
5457
- name: z77.string(),
5518
+ var PluginPresentationViewType = z78.enum(["2d", "3d"]);
5519
+ var PluginPresentationView = z78.object({
5520
+ id: z78.string(),
5521
+ name: z78.string(),
5458
5522
  type: PluginPresentationViewType,
5459
- isActive: z77.boolean(),
5460
- storey: z77.number().nullable()
5523
+ isActive: z78.boolean(),
5524
+ storey: z78.number().nullable()
5461
5525
  });
5462
- var PluginPresentationViewsListResult = z77.object({
5463
- views: z77.array(PluginPresentationView)
5526
+ var PluginPresentationViewsListResult = z78.object({
5527
+ views: z78.array(PluginPresentationView)
5464
5528
  });
5465
- var PluginPresentationViewsGetArgs = z77.object({
5466
- id: z77.string()
5529
+ var PluginPresentationViewsGetArgs = z78.object({
5530
+ id: z78.string()
5467
5531
  });
5468
5532
  var PluginPresentationViewsGetResult = PluginPresentationView.nullable();
5469
- var PluginPresentationImageFormat = z77.enum(["png", "jpeg"]);
5470
- var PluginPresentationViewsCaptureArgs = z77.object({
5471
- viewId: z77.string().optional(),
5533
+ var PluginPresentationImageFormat = z78.enum(["png", "jpeg"]);
5534
+ var PluginPresentationViewsCaptureArgs = z78.object({
5535
+ viewId: z78.string().optional(),
5472
5536
  format: PluginPresentationImageFormat.optional(),
5473
- resolution: z77.string().optional()
5537
+ resolution: z78.string().optional()
5474
5538
  });
5475
- var PluginPresentationViewsCaptureResult = z77.object({
5476
- image: z77.string()
5539
+ var PluginPresentationViewsCaptureResult = z78.object({
5540
+ image: z78.string()
5477
5541
  });
5478
- var PluginPresentationViewsSetActiveArgs = z77.object({
5479
- id: z77.string()
5542
+ var PluginPresentationViewsSetActiveArgs = z78.object({
5543
+ id: z78.string()
5480
5544
  });
5481
- var PluginPresentationViewsSetActiveResult = z77.object({
5482
- id: z77.string()
5545
+ var PluginPresentationViewsSetActiveResult = z78.object({
5546
+ id: z78.string()
5483
5547
  });
5484
- var PluginPresentationViewsCreateArgs = z77.object({
5485
- name: z77.string().optional(),
5486
- kind: z77.enum(["view", "sitePlan"]).optional(),
5487
- storey: z77.number().optional()
5548
+ var PluginPresentationViewsCreateArgs = z78.object({
5549
+ name: z78.string().optional(),
5550
+ kind: z78.enum(["view", "sitePlan"]).optional(),
5551
+ storey: z78.number().optional()
5488
5552
  });
5489
5553
  var PluginPresentationViewsCreateResult = PluginPresentationView;
5490
- var PluginPresentationViewColorMode = z77.union([
5491
- z77.enum(["monochrome", "texture", "department"]),
5492
- z77.templateLiteral(["tag:", z77.string()])
5554
+ var PluginPresentationViewColorMode = z78.union([
5555
+ z78.enum(["monochrome", "texture", "department"]),
5556
+ z78.templateLiteral(["tag:", z78.string()])
5493
5557
  ]);
5494
- var PluginPresentationViewLabel = z77.enum([
5558
+ var PluginPresentationViewLabel = z78.enum([
5495
5559
  "objectLabels",
5496
5560
  "areas",
5497
5561
  "department"
5498
5562
  ]);
5499
- var PluginPresentationViewMode = z77.enum(["perspective", "isometric"]);
5500
- var PluginPresentationViewSettings = z77.object({
5501
- backgroundColor: z77.string(),
5563
+ var PluginPresentationViewMode = z78.enum(["perspective", "isometric"]);
5564
+ var PluginPresentationViewSettings = z78.object({
5565
+ backgroundColor: z78.string(),
5502
5566
  colorMode: PluginPresentationViewColorMode,
5503
5567
  viewMode: PluginPresentationViewMode,
5504
- showAxis: z77.boolean(),
5505
- showEdges: z77.boolean(),
5506
- showLabels: z77.boolean(),
5507
- labels: z77.array(PluginPresentationViewLabel)
5568
+ showAxis: z78.boolean(),
5569
+ showEdges: z78.boolean(),
5570
+ showLabels: z78.boolean(),
5571
+ labels: z78.array(PluginPresentationViewLabel)
5508
5572
  });
5509
- var PluginPresentationViewsGetSettingsArgs = z77.object({
5510
- id: z77.string()
5573
+ var PluginPresentationViewsGetSettingsArgs = z78.object({
5574
+ id: z78.string()
5511
5575
  });
5512
5576
  var PluginPresentationViewsGetSettingsResult = PluginPresentationViewSettings.nullable();
5513
- var PluginPresentationViewsUpdateSettingsArgs = z77.object({
5514
- id: z77.string(),
5577
+ var PluginPresentationViewsUpdateSettingsArgs = z78.object({
5578
+ id: z78.string(),
5515
5579
  settings: PluginPresentationViewSettings.partial()
5516
5580
  }).refine(
5517
5581
  (v) => !(v.settings.showLabels === false && (v.settings.labels?.length ?? 0) > 0),
@@ -5524,28 +5588,28 @@ var PluginPresentationViewsUpdateSettingsArgs = z77.object({
5524
5588
  message: "Contradictory patch: showLabels cannot be true with an explicitly empty labels list \u2014 pass a non-empty list, or omit labels to apply the defaults"
5525
5589
  }
5526
5590
  );
5527
- var PluginPresentationViewsUpdateSettingsResult = z77.object({
5528
- id: z77.string()
5591
+ var PluginPresentationViewsUpdateSettingsResult = z78.object({
5592
+ id: z78.string()
5529
5593
  });
5530
- var PluginPresentationViewsRenameArgs = z77.object({
5531
- id: z77.string(),
5532
- name: z77.string().trim().min(1)
5594
+ var PluginPresentationViewsRenameArgs = z78.object({
5595
+ id: z78.string(),
5596
+ name: z78.string().trim().min(1)
5533
5597
  });
5534
5598
  var PluginPresentationViewsRenameResult = PluginPresentationView;
5535
- var PluginPresentationViewsDeleteArgs = z77.object({
5536
- id: z77.string()
5599
+ var PluginPresentationViewsDeleteArgs = z78.object({
5600
+ id: z78.string()
5537
5601
  });
5538
- var PluginPresentationViewsDeleteResult = z77.object({
5539
- id: z77.string()
5602
+ var PluginPresentationViewsDeleteResult = z78.object({
5603
+ id: z78.string()
5540
5604
  });
5541
5605
 
5542
5606
  // src/api/presentation/sheets.ts
5543
- var z78 = __toESM(require("zod"), 1);
5607
+ var z79 = __toESM(require("zod"), 1);
5544
5608
  var PluginPresentationSheetsApi = class {
5545
5609
  constructor() {
5546
5610
  }
5547
5611
  };
5548
- var PluginSheetSize = z78.enum([
5612
+ var PluginSheetSize = z79.enum([
5549
5613
  "ANSI_A",
5550
5614
  "ANSI_B",
5551
5615
  "ANSI_C",
@@ -5563,140 +5627,140 @@ var PluginSheetSize = z78.enum([
5563
5627
  "ISO_A1",
5564
5628
  "ISO_A0"
5565
5629
  ]);
5566
- var PluginSheetOrientation = z78.enum(["landscape", "portrait"]);
5567
- var PluginSheetMargin = z78.union([
5568
- z78.literal(0),
5569
- z78.literal(0.25),
5570
- z78.literal(0.5),
5571
- z78.literal(0.75),
5572
- z78.literal(1)
5630
+ var PluginSheetOrientation = z79.enum(["landscape", "portrait"]);
5631
+ var PluginSheetMargin = z79.union([
5632
+ z79.literal(0),
5633
+ z79.literal(0.25),
5634
+ z79.literal(0.5),
5635
+ z79.literal(0.75),
5636
+ z79.literal(1)
5573
5637
  ]);
5574
- var PluginPresentationSheet = z78.object({
5575
- id: z78.string(),
5576
- name: z78.string(),
5638
+ var PluginPresentationSheet = z79.object({
5639
+ id: z79.string(),
5640
+ name: z79.string(),
5577
5641
  size: PluginSheetSize.nullable(),
5578
5642
  orientation: PluginSheetOrientation.nullable(),
5579
5643
  margin: PluginSheetMargin.nullable()
5580
5644
  });
5581
- var PluginSheetPosition = z78.object({
5582
- x: z78.number(),
5583
- y: z78.number()
5645
+ var PluginSheetPosition = z79.object({
5646
+ x: z79.number(),
5647
+ y: z79.number()
5584
5648
  });
5585
- var PluginPresentationSheetsListResult = z78.object({
5586
- sheets: z78.array(PluginPresentationSheet)
5649
+ var PluginPresentationSheetsListResult = z79.object({
5650
+ sheets: z79.array(PluginPresentationSheet)
5587
5651
  });
5588
- var PluginPresentationSheetsGetArgs = z78.object({
5589
- id: z78.string()
5652
+ var PluginPresentationSheetsGetArgs = z79.object({
5653
+ id: z79.string()
5590
5654
  });
5591
5655
  var PluginPresentationSheetsGetResult = PluginPresentationSheet.nullable();
5592
- var PluginPresentationSheetsCreateArgs = z78.object({
5593
- name: z78.string().optional(),
5656
+ var PluginPresentationSheetsCreateArgs = z79.object({
5657
+ name: z79.string().optional(),
5594
5658
  size: PluginSheetSize.optional(),
5595
5659
  orientation: PluginSheetOrientation.optional()
5596
5660
  });
5597
- var PluginPresentationSheetsSetSizeArgs = z78.object({
5598
- sheetId: z78.string(),
5661
+ var PluginPresentationSheetsSetSizeArgs = z79.object({
5662
+ sheetId: z79.string(),
5599
5663
  size: PluginSheetSize,
5600
5664
  orientation: PluginSheetOrientation.optional()
5601
5665
  });
5602
- var PluginPresentationSheetsSetMarginArgs = z78.object({
5603
- sheetId: z78.string(),
5666
+ var PluginPresentationSheetsSetMarginArgs = z79.object({
5667
+ sheetId: z79.string(),
5604
5668
  margin: PluginSheetMargin
5605
5669
  });
5606
- var PluginPresentationSheetsPlaceArgs = z78.object({
5607
- sheetId: z78.string(),
5608
- viewId: z78.string(),
5670
+ var PluginPresentationSheetsPlaceArgs = z79.object({
5671
+ sheetId: z79.string(),
5672
+ viewId: z79.string(),
5609
5673
  position: PluginSheetPosition.optional(),
5610
- scale: z78.number().positive().optional()
5674
+ scale: z79.number().positive().optional()
5611
5675
  });
5612
- var PluginPresentationSheetsPlaceResult = z78.object({
5613
- shapeId: z78.string()
5676
+ var PluginPresentationSheetsPlaceResult = z79.object({
5677
+ shapeId: z79.string()
5614
5678
  });
5615
- var PluginPresentationSheetsRenameArgs = z78.object({
5616
- sheetId: z78.string(),
5617
- name: z78.string().trim().min(1)
5679
+ var PluginPresentationSheetsRenameArgs = z79.object({
5680
+ sheetId: z79.string(),
5681
+ name: z79.string().trim().min(1)
5618
5682
  });
5619
- var PluginPresentationSheetsDeleteArgs = z78.object({
5620
- sheetId: z78.string()
5683
+ var PluginPresentationSheetsDeleteArgs = z79.object({
5684
+ sheetId: z79.string()
5621
5685
  });
5622
- var PluginPresentationSheetsDeleteResult = z78.object({
5623
- id: z78.string()
5686
+ var PluginPresentationSheetsDeleteResult = z79.object({
5687
+ id: z79.string()
5624
5688
  });
5625
- var PluginPresentationSheetsReorderArgs = z78.object({
5626
- sheetId: z78.string(),
5627
- index: z78.number().int().min(0)
5689
+ var PluginPresentationSheetsReorderArgs = z79.object({
5690
+ sheetId: z79.string(),
5691
+ index: z79.number().int().min(0)
5628
5692
  });
5629
- var PluginPresentationSheetsSetActiveArgs = z78.object({
5630
- sheetId: z78.string()
5693
+ var PluginPresentationSheetsSetActiveArgs = z79.object({
5694
+ sheetId: z79.string()
5631
5695
  });
5632
- var PluginPresentationSheetsUpdatePlacedViewArgs = z78.object({
5633
- sheetId: z78.string().optional()
5696
+ var PluginPresentationSheetsUpdatePlacedViewArgs = z79.object({
5697
+ sheetId: z79.string().optional()
5634
5698
  });
5635
- var PluginPresentationSheetsUpdatePlacedViewResult = z78.object({
5636
- shapeIds: z78.array(z78.string())
5699
+ var PluginPresentationSheetsUpdatePlacedViewResult = z79.object({
5700
+ shapeIds: z79.array(z79.string())
5637
5701
  });
5638
5702
 
5639
5703
  // src/api/presentation/placedViews.ts
5640
- var z79 = __toESM(require("zod"), 1);
5704
+ var z80 = __toESM(require("zod"), 1);
5641
5705
  var PluginPresentationPlacedViewsApi = class {
5642
5706
  constructor() {
5643
5707
  }
5644
5708
  };
5645
- var PluginPlacedViewCropPoint = z79.object({
5646
- x: z79.number().min(0).max(1),
5647
- y: z79.number().min(0).max(1)
5709
+ var PluginPlacedViewCropPoint = z80.object({
5710
+ x: z80.number().min(0).max(1),
5711
+ y: z80.number().min(0).max(1)
5648
5712
  });
5649
- var PluginPlacedViewCrop = z79.object({
5713
+ var PluginPlacedViewCrop = z80.object({
5650
5714
  topLeft: PluginPlacedViewCropPoint,
5651
5715
  bottomRight: PluginPlacedViewCropPoint
5652
5716
  }).refine(
5653
5717
  (c) => c.topLeft.x < c.bottomRight.x && c.topLeft.y < c.bottomRight.y,
5654
5718
  { message: "topLeft must be strictly less than bottomRight on both axes" }
5655
5719
  );
5656
- var PluginPlacedView = z79.object({
5657
- shapeId: z79.string(),
5658
- sheetId: z79.string().nullable(),
5659
- title: z79.string(),
5660
- viewId: z79.string(),
5720
+ var PluginPlacedView = z80.object({
5721
+ shapeId: z80.string(),
5722
+ sheetId: z80.string().nullable(),
5723
+ title: z80.string(),
5724
+ viewId: z80.string(),
5661
5725
  position: PluginSheetPosition,
5662
- size: z79.object({ width: z79.number(), height: z79.number() }),
5663
- scale: z79.number().nullable(),
5664
- is3d: z79.boolean(),
5665
- rotation: z79.number(),
5726
+ size: z80.object({ width: z80.number(), height: z80.number() }),
5727
+ scale: z80.number().nullable(),
5728
+ is3d: z80.boolean(),
5729
+ rotation: z80.number(),
5666
5730
  crop: PluginPlacedViewCrop.nullable(),
5667
- isUnlinked: z79.boolean()
5731
+ isUnlinked: z80.boolean()
5668
5732
  });
5669
- var PluginPresentationPlacedViewsListArgs = z79.object({
5670
- sheetId: z79.string().optional()
5733
+ var PluginPresentationPlacedViewsListArgs = z80.object({
5734
+ sheetId: z80.string().optional()
5671
5735
  });
5672
- var PluginPresentationPlacedViewsListResult = z79.object({
5673
- placedViews: z79.array(PluginPlacedView)
5736
+ var PluginPresentationPlacedViewsListResult = z80.object({
5737
+ placedViews: z80.array(PluginPlacedView)
5674
5738
  });
5675
- var PluginPresentationPlacedViewsGetArgs = z79.object({
5676
- shapeId: z79.string()
5739
+ var PluginPresentationPlacedViewsGetArgs = z80.object({
5740
+ shapeId: z80.string()
5677
5741
  });
5678
- var PluginPresentationPlacedViewsMoveArgs = z79.object({
5679
- shapeId: z79.string(),
5742
+ var PluginPresentationPlacedViewsMoveArgs = z80.object({
5743
+ shapeId: z80.string(),
5680
5744
  position: PluginSheetPosition,
5681
- sheetId: z79.string().optional()
5745
+ sheetId: z80.string().optional()
5682
5746
  });
5683
- var PluginPresentationPlacedViewsScaleArgs = z79.object({
5684
- shapeId: z79.string(),
5685
- factor: z79.number().finite().min(0.01).max(100)
5747
+ var PluginPresentationPlacedViewsScaleArgs = z80.object({
5748
+ shapeId: z80.string(),
5749
+ factor: z80.number().finite().min(0.01).max(100)
5686
5750
  });
5687
- var PluginPresentationPlacedViewsSetScaleArgs = z79.object({
5688
- shapeId: z79.string(),
5689
- scale: z79.number().positive()
5751
+ var PluginPresentationPlacedViewsSetScaleArgs = z80.object({
5752
+ shapeId: z80.string(),
5753
+ scale: z80.number().positive()
5690
5754
  });
5691
- var PluginPresentationPlacedViewsSetCropArgs = z79.object({
5692
- shapeId: z79.string(),
5755
+ var PluginPresentationPlacedViewsSetCropArgs = z80.object({
5756
+ shapeId: z80.string(),
5693
5757
  crop: PluginPlacedViewCrop.nullable()
5694
5758
  });
5695
- var PluginPresentationPlacedViewsSetRotationArgs = z79.object({
5696
- shapeId: z79.string().min(1),
5697
- rotation: z79.number().finite()
5759
+ var PluginPresentationPlacedViewsSetRotationArgs = z80.object({
5760
+ shapeId: z80.string().min(1),
5761
+ rotation: z80.number().finite()
5698
5762
  });
5699
- var PluginViewSettingCategory = z79.enum([
5763
+ var PluginViewSettingCategory = z80.enum([
5700
5764
  "Site",
5701
5765
  "Topography",
5702
5766
  "Space",
@@ -5708,7 +5772,7 @@ var PluginViewSettingCategory = z79.enum([
5708
5772
  "Adjacency Line",
5709
5773
  "Landscape elements"
5710
5774
  ]);
5711
- var PluginViewLineStyle = z79.enum([
5775
+ var PluginViewLineStyle = z80.enum([
5712
5776
  "solid",
5713
5777
  "dashed",
5714
5778
  "dashdot",
@@ -5717,62 +5781,62 @@ var PluginViewLineStyle = z79.enum([
5717
5781
  "phantom",
5718
5782
  "propertyLine"
5719
5783
  ]);
5720
- var PluginPlacedViewStylePatch = z79.object({
5721
- hide: z79.boolean().optional(),
5784
+ var PluginPlacedViewStylePatch = z80.object({
5785
+ hide: z80.boolean().optional(),
5722
5786
  lineStyle: PluginViewLineStyle.optional(),
5723
- lineColor: z79.string().regex(/^#?[0-9a-fA-F]{6}$/, "lineColor must be a 6-digit hex color").optional(),
5724
- dashLength: z79.number().finite().positive().optional(),
5725
- lineWidth: z79.number().finite().min(0).optional(),
5726
- cutWidth: z79.number().finite().min(0).optional(),
5727
- projectionWidth: z79.number().finite().min(0).optional(),
5728
- treeLineWidth: z79.number().finite().min(0).optional(),
5729
- parkingLineWidth: z79.number().finite().min(0).optional(),
5730
- colorMode: z79.string().refine(
5787
+ lineColor: z80.string().regex(/^#?[0-9a-fA-F]{6}$/, "lineColor must be a 6-digit hex color").optional(),
5788
+ dashLength: z80.number().finite().positive().optional(),
5789
+ lineWidth: z80.number().finite().min(0).optional(),
5790
+ cutWidth: z80.number().finite().min(0).optional(),
5791
+ projectionWidth: z80.number().finite().min(0).optional(),
5792
+ treeLineWidth: z80.number().finite().min(0).optional(),
5793
+ parkingLineWidth: z80.number().finite().min(0).optional(),
5794
+ colorMode: z80.string().refine(
5731
5795
  (v) => ["department", "texture", "monochrome"].includes(v) || v.startsWith("tag:"),
5732
5796
  { message: "colorMode must be department, texture, monochrome, or tag:<tagCategoryId>" }
5733
5797
  ).optional(),
5734
- opacity: z79.number().finite().min(0).max(100).optional(),
5735
- mapOpacity: z79.number().finite().min(0).max(100).optional(),
5736
- buildingOpacity: z79.number().finite().min(0).max(100).optional(),
5737
- mapHide: z79.boolean().optional(),
5738
- buildingHide: z79.boolean().optional(),
5739
- noBuilding: z79.boolean().optional(),
5740
- viewStyle: z79.enum(["NONE", "FILLET", "BUBBLE"]).optional(),
5741
- radius: z79.number().finite().min(0).optional(),
5742
- inset: z79.number().finite().min(0).optional()
5798
+ opacity: z80.number().finite().min(0).max(100).optional(),
5799
+ mapOpacity: z80.number().finite().min(0).max(100).optional(),
5800
+ buildingOpacity: z80.number().finite().min(0).max(100).optional(),
5801
+ mapHide: z80.boolean().optional(),
5802
+ buildingHide: z80.boolean().optional(),
5803
+ noBuilding: z80.boolean().optional(),
5804
+ viewStyle: z80.enum(["NONE", "FILLET", "BUBBLE"]).optional(),
5805
+ radius: z80.number().finite().min(0).optional(),
5806
+ inset: z80.number().finite().min(0).optional()
5743
5807
  }).strict().refine((p) => Object.keys(p).length > 0, { message: "patch must set at least one setting" });
5744
- var PluginViewLabelType = z79.enum(["objectLabels", "department", "areas"]);
5745
- var PluginViewFontVariantPatch = z79.object({
5746
- fontFamily: z79.string().min(1).optional(),
5747
- fontWeight: z79.string().regex(/^\d{3}$/, 'fontWeight must be a numeric string like "400" or "700"').optional(),
5748
- fontStyle: z79.enum(["normal", "italic"]).optional(),
5749
- fontSize: z79.number().finite().positive().max(200).optional()
5808
+ var PluginViewLabelType = z80.enum(["objectLabels", "department", "areas"]);
5809
+ var PluginViewFontVariantPatch = z80.object({
5810
+ fontFamily: z80.string().min(1).optional(),
5811
+ fontWeight: z80.string().regex(/^\d{3}$/, 'fontWeight must be a numeric string like "400" or "700"').optional(),
5812
+ fontStyle: z80.enum(["normal", "italic"]).optional(),
5813
+ fontSize: z80.number().finite().positive().max(200).optional()
5750
5814
  }).strict();
5751
- var PluginPlacedViewFontStylesPatch = z79.object({
5752
- visibleTypes: z79.array(PluginViewLabelType).optional(),
5815
+ var PluginPlacedViewFontStylesPatch = z80.object({
5816
+ visibleTypes: z80.array(PluginViewLabelType).optional(),
5753
5817
  objectLabels: PluginViewFontVariantPatch.optional(),
5754
5818
  department: PluginViewFontVariantPatch.optional(),
5755
5819
  areas: PluginViewFontVariantPatch.optional()
5756
5820
  }).strict().refine((p) => Object.keys(p).length > 0, { message: "patch must set at least one field" });
5757
- var PluginPlacedViewsUpdateStylesArgs = z79.object({
5758
- shapeId: z79.string().min(1),
5821
+ var PluginPlacedViewsUpdateStylesArgs = z80.object({
5822
+ shapeId: z80.string().min(1),
5759
5823
  category: PluginViewSettingCategory,
5760
5824
  patch: PluginPlacedViewStylePatch
5761
5825
  });
5762
- var PluginPlacedViewsUpdateFontStylesArgs = z79.object({
5763
- shapeId: z79.string().min(1),
5826
+ var PluginPlacedViewsUpdateFontStylesArgs = z80.object({
5827
+ shapeId: z80.string().min(1),
5764
5828
  category: PluginViewSettingCategory,
5765
5829
  patch: PluginPlacedViewFontStylesPatch
5766
5830
  });
5767
- var PluginPlacedViewsMoveLabelArgs = z79.object({
5768
- labelId: z79.string().min(1),
5831
+ var PluginPlacedViewsMoveLabelArgs = z80.object({
5832
+ labelId: z80.string().min(1),
5769
5833
  position: PluginSheetPosition
5770
5834
  });
5771
- var PluginPlacedViewsSetLabelHiddenArgs = z79.object({
5772
- labelId: z79.string().min(1),
5773
- hidden: z79.boolean()
5835
+ var PluginPlacedViewsSetLabelHiddenArgs = z80.object({
5836
+ labelId: z80.string().min(1),
5837
+ hidden: z80.boolean()
5774
5838
  });
5775
- var PluginCanvasShapeOrigin = z79.enum([
5839
+ var PluginCanvasShapeOrigin = z80.enum([
5776
5840
  "view",
5777
5841
  "aiOutput",
5778
5842
  "diagram",
@@ -5781,65 +5845,65 @@ var PluginCanvasShapeOrigin = z79.enum([
5781
5845
  "image",
5782
5846
  "other"
5783
5847
  ]);
5784
- var PluginPlacedViewsMoveShapeArgs = z79.object({
5785
- shapeId: z79.string().min(1),
5848
+ var PluginPlacedViewsMoveShapeArgs = z80.object({
5849
+ shapeId: z80.string().min(1),
5786
5850
  position: PluginSheetPosition,
5787
- sheetId: z79.string().optional()
5851
+ sheetId: z80.string().optional()
5788
5852
  });
5789
- var PluginPlacedViewsResizeShapeArgs = z79.object({
5790
- shapeId: z79.string().min(1),
5791
- factor: z79.number().finite().min(0.01).max(100)
5853
+ var PluginPlacedViewsResizeShapeArgs = z80.object({
5854
+ shapeId: z80.string().min(1),
5855
+ factor: z80.number().finite().min(0.01).max(100)
5792
5856
  });
5793
- var PluginPresentationPlacedViewsRotateShapeArgs = z79.object({
5794
- shapeId: z79.string().min(1),
5795
- rotation: z79.number().finite()
5857
+ var PluginPresentationPlacedViewsRotateShapeArgs = z80.object({
5858
+ shapeId: z80.string().min(1),
5859
+ rotation: z80.number().finite()
5796
5860
  });
5797
- var PluginPlacedViewsDeleteShapesArgs = z79.object({
5798
- shapeIds: z79.array(z79.string().min(1)).min(1).max(500)
5861
+ var PluginPlacedViewsDeleteShapesArgs = z80.object({
5862
+ shapeIds: z80.array(z80.string().min(1)).min(1).max(500)
5799
5863
  });
5800
- var PluginPlacedViewsSetOpacityArgs = z79.object({
5801
- shapeId: z79.string().min(1),
5802
- opacity: z79.number().finite().min(0).max(1)
5864
+ var PluginPlacedViewsSetOpacityArgs = z80.object({
5865
+ shapeId: z80.string().min(1),
5866
+ opacity: z80.number().finite().min(0).max(1)
5803
5867
  });
5804
- var PluginPlacedViewsSetMaskArgs = z79.object({
5805
- shapeId: z79.string().min(1),
5806
- enabled: z79.boolean()
5868
+ var PluginPlacedViewsSetMaskArgs = z80.object({
5869
+ shapeId: z80.string().min(1),
5870
+ enabled: z80.boolean()
5807
5871
  });
5808
5872
 
5809
5873
  // src/api/presentation/diagrams.ts
5810
- var z80 = __toESM(require("zod"), 1);
5874
+ var z81 = __toESM(require("zod"), 1);
5811
5875
  var PluginPresentationDiagramsApi = class {
5812
5876
  constructor() {
5813
5877
  }
5814
5878
  };
5815
- var PluginPresentationDiagramsPlaceArgs = z80.object({
5816
- sheetId: z80.string(),
5817
- urls: z80.array(z80.string()),
5818
- position: z80.object({ x: z80.number(), y: z80.number() }).optional()
5879
+ var PluginPresentationDiagramsPlaceArgs = z81.object({
5880
+ sheetId: z81.string(),
5881
+ urls: z81.array(z81.string()),
5882
+ position: z81.object({ x: z81.number(), y: z81.number() }).optional()
5819
5883
  });
5820
- var PluginPresentationDiagramsPlaceResult = z80.object({
5821
- shapeIds: z80.array(z80.string())
5884
+ var PluginPresentationDiagramsPlaceResult = z81.object({
5885
+ shapeIds: z81.array(z81.string())
5822
5886
  });
5823
- var PluginPresentationSiteDiagramType = z80.enum([
5887
+ var PluginPresentationSiteDiagramType = z81.enum([
5824
5888
  "location",
5825
5889
  "streetview",
5826
5890
  "climate"
5827
5891
  ]);
5828
- var PluginPresentationDiagramsGenerateSiteArgs = z80.object({
5829
- types: z80.array(PluginPresentationSiteDiagramType).min(1).optional()
5892
+ var PluginPresentationDiagramsGenerateSiteArgs = z81.object({
5893
+ types: z81.array(PluginPresentationSiteDiagramType).min(1).optional()
5830
5894
  });
5831
- var PluginPresentationDiagramsGenerateResult = z80.object({
5832
- sheetIds: z80.array(z80.string())
5895
+ var PluginPresentationDiagramsGenerateResult = z81.object({
5896
+ sheetIds: z81.array(z81.string())
5833
5897
  });
5834
5898
 
5835
5899
  // src/api/presentation/annotate.ts
5836
- var z81 = __toESM(require("zod"), 1);
5900
+ var z82 = __toESM(require("zod"), 1);
5837
5901
  var PluginPresentationAnnotateApi = class {
5838
5902
  constructor() {
5839
5903
  }
5840
5904
  };
5841
- var PluginAnnotateTextSize = z81.enum(["s", "m", "l", "xl"]);
5842
- var PluginAnnotateTextColor = z81.enum([
5905
+ var PluginAnnotateTextSize = z82.enum(["s", "m", "l", "xl"]);
5906
+ var PluginAnnotateTextColor = z82.enum([
5843
5907
  "black",
5844
5908
  "grey",
5845
5909
  "light-violet",
@@ -5854,23 +5918,23 @@ var PluginAnnotateTextColor = z81.enum([
5854
5918
  "red",
5855
5919
  "white"
5856
5920
  ]);
5857
- var PluginPresentationAnnotateTextArgs = z81.object({
5858
- sheetId: z81.string(),
5859
- text: z81.string(),
5860
- position: z81.object({ x: z81.number(), y: z81.number() }).optional(),
5921
+ var PluginPresentationAnnotateTextArgs = z82.object({
5922
+ sheetId: z82.string(),
5923
+ text: z82.string(),
5924
+ position: z82.object({ x: z82.number(), y: z82.number() }).optional(),
5861
5925
  size: PluginAnnotateTextSize.optional(),
5862
5926
  color: PluginAnnotateTextColor.optional(),
5863
- fontFamily: z81.string().min(1).optional(),
5864
- fontWeight: z81.string().regex(
5927
+ fontFamily: z82.string().min(1).optional(),
5928
+ fontWeight: z82.string().regex(
5865
5929
  /^\d{3}(-italic)?$/,
5866
5930
  'fontWeight must be a numeric string like "400" or "700", optionally with the "-italic" suffix'
5867
5931
  ).optional(),
5868
- fontSizePx: z81.number().finite().positive().optional()
5932
+ fontSizePx: z82.number().finite().positive().optional()
5869
5933
  });
5870
- var PluginPresentationAnnotateTextResult = z81.object({
5871
- shapeId: z81.string()
5934
+ var PluginPresentationAnnotateTextResult = z82.object({
5935
+ shapeId: z82.string()
5872
5936
  });
5873
- var PluginAnnotateGeoKind = z81.enum([
5937
+ var PluginAnnotateGeoKind = z82.enum([
5874
5938
  "rectangle",
5875
5939
  "ellipse",
5876
5940
  "triangle",
@@ -5888,358 +5952,358 @@ var PluginAnnotateGeoKind = z81.enum([
5888
5952
  "arrow-right",
5889
5953
  "arrow-down"
5890
5954
  ]);
5891
- var PluginAnnotateFill = z81.enum(["none", "semi", "solid", "pattern"]);
5892
- var PluginPresentationAnnotateArrowArgs = z81.object({
5893
- sheetId: z81.string(),
5894
- start: z81.object({ x: z81.number(), y: z81.number() }),
5895
- end: z81.object({ x: z81.number(), y: z81.number() }),
5955
+ var PluginAnnotateFill = z82.enum(["none", "semi", "solid", "pattern"]);
5956
+ var PluginPresentationAnnotateArrowArgs = z82.object({
5957
+ sheetId: z82.string(),
5958
+ start: z82.object({ x: z82.number(), y: z82.number() }),
5959
+ end: z82.object({ x: z82.number(), y: z82.number() }),
5896
5960
  color: PluginAnnotateTextColor.optional(),
5897
5961
  size: PluginAnnotateTextSize.optional()
5898
5962
  });
5899
- var PluginPresentationAnnotateNoteArgs = z81.object({
5900
- sheetId: z81.string(),
5901
- text: z81.string(),
5902
- position: z81.object({ x: z81.number(), y: z81.number() }).optional(),
5963
+ var PluginPresentationAnnotateNoteArgs = z82.object({
5964
+ sheetId: z82.string(),
5965
+ text: z82.string(),
5966
+ position: z82.object({ x: z82.number(), y: z82.number() }).optional(),
5903
5967
  color: PluginAnnotateTextColor.optional(),
5904
5968
  size: PluginAnnotateTextSize.optional()
5905
5969
  });
5906
- var PluginPresentationAnnotateShapeArgs = z81.object({
5907
- sheetId: z81.string(),
5970
+ var PluginPresentationAnnotateShapeArgs = z82.object({
5971
+ sheetId: z82.string(),
5908
5972
  kind: PluginAnnotateGeoKind,
5909
- bounds: z81.object({
5910
- x: z81.number(),
5911
- y: z81.number(),
5912
- w: z81.number().positive(),
5913
- h: z81.number().positive()
5973
+ bounds: z82.object({
5974
+ x: z82.number(),
5975
+ y: z82.number(),
5976
+ w: z82.number().positive(),
5977
+ h: z82.number().positive()
5914
5978
  }),
5915
5979
  color: PluginAnnotateTextColor.optional(),
5916
5980
  fill: PluginAnnotateFill.optional()
5917
5981
  });
5918
- var PluginPresentationAnnotateResult = z81.object({
5919
- shapeId: z81.string()
5982
+ var PluginPresentationAnnotateResult = z82.object({
5983
+ shapeId: z82.string()
5920
5984
  });
5921
5985
 
5922
5986
  // src/api/presentation/shapes.ts
5923
- var z82 = __toESM(require("zod"), 1);
5987
+ var z83 = __toESM(require("zod"), 1);
5924
5988
  var PluginPresentationShapesApi = class {
5925
5989
  constructor() {
5926
5990
  }
5927
5991
  };
5928
- var PluginPresentationShapeSpec = z82.discriminatedUnion("type", [
5929
- z82.object({
5930
- type: z82.literal("text"),
5931
- text: z82.string(),
5932
- position: z82.object({ x: z82.number(), y: z82.number() }).optional(),
5992
+ var PluginPresentationShapeSpec = z83.discriminatedUnion("type", [
5993
+ z83.object({
5994
+ type: z83.literal("text"),
5995
+ text: z83.string(),
5996
+ position: z83.object({ x: z83.number(), y: z83.number() }).optional(),
5933
5997
  size: PluginAnnotateTextSize.optional(),
5934
5998
  color: PluginAnnotateTextColor.optional()
5935
5999
  }),
5936
- z82.object({
5937
- type: z82.literal("note"),
5938
- text: z82.string(),
5939
- position: z82.object({ x: z82.number(), y: z82.number() }).optional(),
6000
+ z83.object({
6001
+ type: z83.literal("note"),
6002
+ text: z83.string(),
6003
+ position: z83.object({ x: z83.number(), y: z83.number() }).optional(),
5940
6004
  color: PluginAnnotateTextColor.optional(),
5941
6005
  size: PluginAnnotateTextSize.optional()
5942
6006
  }),
5943
- z82.object({
5944
- type: z82.literal("arrow"),
5945
- start: z82.object({ x: z82.number(), y: z82.number() }),
5946
- end: z82.object({ x: z82.number(), y: z82.number() }),
6007
+ z83.object({
6008
+ type: z83.literal("arrow"),
6009
+ start: z83.object({ x: z83.number(), y: z83.number() }),
6010
+ end: z83.object({ x: z83.number(), y: z83.number() }),
5947
6011
  color: PluginAnnotateTextColor.optional(),
5948
6012
  size: PluginAnnotateTextSize.optional()
5949
6013
  }),
5950
- z82.object({
5951
- type: z82.literal("geo"),
6014
+ z83.object({
6015
+ type: z83.literal("geo"),
5952
6016
  kind: PluginAnnotateGeoKind,
5953
- bounds: z82.object({
5954
- x: z82.number(),
5955
- y: z82.number(),
5956
- w: z82.number().positive(),
5957
- h: z82.number().positive()
6017
+ bounds: z83.object({
6018
+ x: z83.number(),
6019
+ y: z83.number(),
6020
+ w: z83.number().positive(),
6021
+ h: z83.number().positive()
5958
6022
  }),
5959
6023
  color: PluginAnnotateTextColor.optional(),
5960
6024
  fill: PluginAnnotateFill.optional()
5961
6025
  })
5962
6026
  ]);
5963
- var PluginPresentationShapeType = z82.enum([
6027
+ var PluginPresentationShapeType = z83.enum([
5964
6028
  "text",
5965
6029
  "note",
5966
6030
  "arrow",
5967
6031
  "geo"
5968
6032
  ]);
5969
- var PluginPresentationShapesUpsertArgs = z82.object({
5970
- key: z82.string().min(1),
6033
+ var PluginPresentationShapesUpsertArgs = z83.object({
6034
+ key: z83.string().min(1),
5971
6035
  shape: PluginPresentationShapeSpec,
5972
- sheetId: z82.string().optional()
6036
+ sheetId: z83.string().optional()
5973
6037
  });
5974
- var PluginPresentationShapesUpsertResult = z82.object({
5975
- shapeId: z82.string(),
5976
- created: z82.boolean()
6038
+ var PluginPresentationShapesUpsertResult = z83.object({
6039
+ shapeId: z83.string(),
6040
+ created: z83.boolean()
5977
6041
  });
5978
- var PluginPresentationShapesRemoveArgs = z82.object({
5979
- key: z82.string().min(1)
6042
+ var PluginPresentationShapesRemoveArgs = z83.object({
6043
+ key: z83.string().min(1)
5980
6044
  });
5981
- var PluginPresentationShapesListResult = z82.object({
5982
- shapes: z82.array(
5983
- z82.object({
5984
- key: z82.string(),
5985
- shapeId: z82.string(),
6045
+ var PluginPresentationShapesListResult = z83.object({
6046
+ shapes: z83.array(
6047
+ z83.object({
6048
+ key: z83.string(),
6049
+ shapeId: z83.string(),
5986
6050
  type: PluginPresentationShapeType
5987
6051
  })
5988
6052
  )
5989
6053
  });
5990
6054
 
5991
6055
  // src/api/presentation/tables.ts
5992
- var z83 = __toESM(require("zod"), 1);
6056
+ var z84 = __toESM(require("zod"), 1);
5993
6057
  var PluginPresentationTablesApi = class {
5994
6058
  constructor() {
5995
6059
  }
5996
6060
  };
5997
- var PluginPresentationTablesPlaceArgs = z83.object({
5998
- sheetId: z83.string().min(1),
5999
- rows: z83.array(z83.array(z83.string()).min(1)).min(1).refine((rows) => rows.reduce((n, r) => n + r.length, 0) <= 1e4, {
6061
+ var PluginPresentationTablesPlaceArgs = z84.object({
6062
+ sheetId: z84.string().min(1),
6063
+ rows: z84.array(z84.array(z84.string()).min(1)).min(1).refine((rows) => rows.reduce((n, r) => n + r.length, 0) <= 1e4, {
6000
6064
  message: "table exceeds the 10000-cell cap"
6001
6065
  }),
6002
- position: z83.object({ x: z83.number(), y: z83.number() }).optional()
6066
+ position: z84.object({ x: z84.number(), y: z84.number() }).optional()
6003
6067
  });
6004
6068
 
6005
6069
  // src/api/presentation/slideshow.ts
6006
- var z84 = __toESM(require("zod"), 1);
6070
+ var z85 = __toESM(require("zod"), 1);
6007
6071
  var PluginPresentationSlideshowApi = class {
6008
6072
  constructor() {
6009
6073
  }
6010
6074
  };
6011
- var PluginPresentationSlideshowStartArgs = z84.object({
6012
- sheetIds: z84.array(z84.string().min(1)).optional(),
6013
- startIndex: z84.number().int().min(0).optional()
6075
+ var PluginPresentationSlideshowStartArgs = z85.object({
6076
+ sheetIds: z85.array(z85.string().min(1)).optional(),
6077
+ startIndex: z85.number().int().min(0).optional()
6014
6078
  });
6015
- var PluginPresentationSlideshowState = z84.object({
6016
- running: z84.boolean(),
6017
- index: z84.number().int().nullable()
6079
+ var PluginPresentationSlideshowState = z85.object({
6080
+ running: z85.boolean(),
6081
+ index: z85.number().int().nullable()
6018
6082
  });
6019
6083
 
6020
6084
  // src/api/presentation/import.ts
6021
- var z85 = __toESM(require("zod"), 1);
6085
+ var z86 = __toESM(require("zod"), 1);
6022
6086
  var PluginPresentationImportApi = class {
6023
6087
  constructor() {
6024
6088
  }
6025
6089
  };
6026
- var PluginPresentationImportArgs = z85.object({
6027
- url: z85.string().optional(),
6028
- dataUrl: z85.string().optional(),
6029
- position: z85.object({ x: z85.number(), y: z85.number() }).optional()
6090
+ var PluginPresentationImportArgs = z86.object({
6091
+ url: z86.string().optional(),
6092
+ dataUrl: z86.string().optional(),
6093
+ position: z86.object({ x: z86.number(), y: z86.number() }).optional()
6030
6094
  }).refine((a) => Boolean(a.url) || Boolean(a.dataUrl), {
6031
6095
  message: "Provide a url or a dataUrl"
6032
6096
  });
6033
- var PluginPresentationImportResult = z85.object({
6034
- shapeIds: z85.array(z85.string())
6097
+ var PluginPresentationImportResult = z86.object({
6098
+ shapeIds: z86.array(z86.string())
6035
6099
  });
6036
6100
 
6037
6101
  // src/api/presentation/aiInspiration.ts
6038
- var z86 = __toESM(require("zod"), 1);
6039
- var JsonPrimitive = z86.union([z86.string(), z86.number(), z86.boolean(), z86.null()]);
6040
- var JsonValue = z86.lazy(
6041
- () => z86.union([JsonPrimitive, z86.array(JsonValue), z86.record(z86.string(), JsonValue)])
6102
+ var z87 = __toESM(require("zod"), 1);
6103
+ var JsonPrimitive = z87.union([z87.string(), z87.number(), z87.boolean(), z87.null()]);
6104
+ var JsonValue = z87.lazy(
6105
+ () => z87.union([JsonPrimitive, z87.array(JsonValue), z87.record(z87.string(), JsonValue)])
6042
6106
  );
6043
- var PluginAIInspirationRunMode = z86.enum(["blocking", "job"]);
6044
- var PluginAIInspirationOutputKind = z86.enum([
6107
+ var PluginAIInspirationRunMode = z87.enum(["blocking", "job"]);
6108
+ var PluginAIInspirationOutputKind = z87.enum([
6045
6109
  "source",
6046
6110
  "image",
6047
6111
  "video"
6048
6112
  ]);
6049
- var PluginAIInspirationModelOutput = z86.enum(["image", "video"]);
6050
- var PluginAIInspirationRuntimeProvider = z86.enum(["gpt", "fal"]);
6051
- var PluginAIInspirationPromptStrategy = z86.enum([
6113
+ var PluginAIInspirationModelOutput = z87.enum(["image", "video"]);
6114
+ var PluginAIInspirationRuntimeProvider = z87.enum(["gpt", "fal"]);
6115
+ var PluginAIInspirationPromptStrategy = z87.enum([
6052
6116
  "gpt-image",
6053
6117
  "fal-image",
6054
6118
  "fal-video"
6055
6119
  ]);
6056
- var PluginAIInspirationShapeKind = z86.enum(["image", "view", "video"]);
6057
- var PluginAIInspirationVideoMode = z86.enum([
6120
+ var PluginAIInspirationShapeKind = z87.enum(["image", "view", "video"]);
6121
+ var PluginAIInspirationVideoMode = z87.enum([
6058
6122
  "animate",
6059
6123
  "references",
6060
6124
  "keyframes"
6061
6125
  ]);
6062
- var PluginAIInspirationVideoMotion = z86.enum([
6126
+ var PluginAIInspirationVideoMotion = z87.enum([
6063
6127
  "auto",
6064
6128
  "slow-dolly",
6065
6129
  "subtle-orbit",
6066
6130
  "reveal"
6067
6131
  ]);
6068
- var PluginAIInspirationVideoDuration = z86.enum(["4s", "6s", "8s"]);
6069
- var PluginAIInspirationJobStatus = z86.enum([
6132
+ var PluginAIInspirationVideoDuration = z87.enum(["4s", "6s", "8s"]);
6133
+ var PluginAIInspirationJobStatus = z87.enum([
6070
6134
  "queued",
6071
6135
  "running",
6072
6136
  "completed",
6073
6137
  "failed",
6074
6138
  "cancelled"
6075
6139
  ]);
6076
- var PluginAIInspirationWorkflowRunState = z86.enum([
6140
+ var PluginAIInspirationWorkflowRunState = z87.enum([
6077
6141
  "current",
6078
6142
  "stale",
6079
6143
  "running",
6080
6144
  "failed",
6081
6145
  "superseded"
6082
6146
  ]);
6083
- var PluginAIInspirationRegionHint = z86.object({
6084
- x: z86.number().finite(),
6085
- y: z86.number().finite(),
6086
- w: z86.number().finite().positive(),
6087
- h: z86.number().finite().positive()
6088
- });
6089
- var PluginAIInspirationPoint = z86.object({
6090
- x: z86.number().finite(),
6091
- y: z86.number().finite()
6092
- });
6093
- var PluginAIInspirationTextAnnotation = z86.object({
6094
- text: z86.string().min(1),
6095
- x: z86.number().finite().optional(),
6096
- y: z86.number().finite().optional()
6097
- });
6098
- var PluginAIInspirationSketchGuidance = z86.object({
6099
- visualShapeIds: z86.array(z86.string()).optional(),
6100
- textAnnotations: z86.array(PluginAIInspirationTextAnnotation).optional()
6101
- });
6102
- var PluginAIInspirationSiteOptions = z86.object({
6103
- includeSatellite: z86.boolean().optional(),
6104
- includeStreetView: z86.boolean().optional(),
6105
- includeAerial: z86.boolean().optional(),
6106
- aerialBearing: z86.number().finite().optional(),
6107
- aerialPitch: z86.number().finite().optional(),
6108
- selectedDiagramIds: z86.array(z86.string()).optional(),
6109
- location: z86.object({
6110
- lat: z86.number().finite(),
6111
- lng: z86.number().finite()
6147
+ var PluginAIInspirationRegionHint = z87.object({
6148
+ x: z87.number().finite(),
6149
+ y: z87.number().finite(),
6150
+ w: z87.number().finite().positive(),
6151
+ h: z87.number().finite().positive()
6152
+ });
6153
+ var PluginAIInspirationPoint = z87.object({
6154
+ x: z87.number().finite(),
6155
+ y: z87.number().finite()
6156
+ });
6157
+ var PluginAIInspirationTextAnnotation = z87.object({
6158
+ text: z87.string().min(1),
6159
+ x: z87.number().finite().optional(),
6160
+ y: z87.number().finite().optional()
6161
+ });
6162
+ var PluginAIInspirationSketchGuidance = z87.object({
6163
+ visualShapeIds: z87.array(z87.string()).optional(),
6164
+ textAnnotations: z87.array(PluginAIInspirationTextAnnotation).optional()
6165
+ });
6166
+ var PluginAIInspirationSiteOptions = z87.object({
6167
+ includeSatellite: z87.boolean().optional(),
6168
+ includeStreetView: z87.boolean().optional(),
6169
+ includeAerial: z87.boolean().optional(),
6170
+ aerialBearing: z87.number().finite().optional(),
6171
+ aerialPitch: z87.number().finite().optional(),
6172
+ selectedDiagramIds: z87.array(z87.string()).optional(),
6173
+ location: z87.object({
6174
+ lat: z87.number().finite(),
6175
+ lng: z87.number().finite()
6112
6176
  }).optional()
6113
6177
  });
6114
- var PluginAIInspirationAppliedPreset = z86.object({
6115
- source: z86.enum(["curated", "user"]),
6116
- presetId: z86.string().min(1),
6117
- name: z86.string().min(1),
6118
- savedPresetKind: z86.enum(["prompt", "style"]).optional(),
6119
- stylePrompt: z86.string().optional(),
6120
- modelId: z86.string().optional(),
6121
- referenceImages: z86.array(
6122
- z86.object({
6123
- url: z86.string().min(1),
6124
- label: z86.string().optional(),
6125
- weight: z86.number().finite().optional()
6178
+ var PluginAIInspirationAppliedPreset = z87.object({
6179
+ source: z87.enum(["curated", "user"]),
6180
+ presetId: z87.string().min(1),
6181
+ name: z87.string().min(1),
6182
+ savedPresetKind: z87.enum(["prompt", "style"]).optional(),
6183
+ stylePrompt: z87.string().optional(),
6184
+ modelId: z87.string().optional(),
6185
+ referenceImages: z87.array(
6186
+ z87.object({
6187
+ url: z87.string().min(1),
6188
+ label: z87.string().optional(),
6189
+ weight: z87.number().finite().optional()
6126
6190
  })
6127
6191
  ).optional(),
6128
- siteDefaults: z86.object({
6129
- includeSatellite: z86.boolean().optional(),
6130
- includeStreetView: z86.boolean().optional(),
6131
- includeAerial: z86.boolean().optional()
6192
+ siteDefaults: z87.object({
6193
+ includeSatellite: z87.boolean().optional(),
6194
+ includeStreetView: z87.boolean().optional(),
6195
+ includeAerial: z87.boolean().optional()
6132
6196
  }).optional()
6133
6197
  });
6134
- var PluginAIInspirationVideoOptions = z86.object({
6198
+ var PluginAIInspirationVideoOptions = z87.object({
6135
6199
  mode: PluginAIInspirationVideoMode.optional(),
6136
- endFrameShapeId: z86.string().optional(),
6200
+ endFrameShapeId: z87.string().optional(),
6137
6201
  motion: PluginAIInspirationVideoMotion.optional(),
6138
6202
  duration: PluginAIInspirationVideoDuration.optional()
6139
6203
  });
6140
- var PluginAIInspirationModel = z86.object({
6141
- id: z86.string(),
6142
- label: z86.string(),
6143
- supportsMultiImage: z86.boolean(),
6204
+ var PluginAIInspirationModel = z87.object({
6205
+ id: z87.string(),
6206
+ label: z87.string(),
6207
+ supportsMultiImage: z87.boolean(),
6144
6208
  output: PluginAIInspirationModelOutput,
6145
- isDefault: z86.boolean().optional()
6209
+ isDefault: z87.boolean().optional()
6146
6210
  });
6147
- var PluginAIInspirationModelCapability = z86.object({
6148
- id: z86.string(),
6211
+ var PluginAIInspirationModelCapability = z87.object({
6212
+ id: z87.string(),
6149
6213
  output: PluginAIInspirationModelOutput,
6150
6214
  provider: PluginAIInspirationRuntimeProvider,
6151
- supportsRegionEdit: z86.boolean(),
6152
- supportsReferenceImages: z86.boolean(),
6153
- supportsStylePresets: z86.boolean(),
6154
- supportsSiteContext: z86.boolean(),
6155
- supportsSketchGuidance: z86.boolean(),
6156
- supportsKeyframes: z86.boolean(),
6157
- maxExtraImages: z86.number().int().nonnegative(),
6215
+ supportsRegionEdit: z87.boolean(),
6216
+ supportsReferenceImages: z87.boolean(),
6217
+ supportsStylePresets: z87.boolean(),
6218
+ supportsSiteContext: z87.boolean(),
6219
+ supportsSketchGuidance: z87.boolean(),
6220
+ supportsKeyframes: z87.boolean(),
6221
+ maxExtraImages: z87.number().int().nonnegative(),
6158
6222
  promptStrategy: PluginAIInspirationPromptStrategy
6159
6223
  });
6160
- var PluginAIInspirationListModelsResult = z86.object({
6161
- defaultModelId: z86.string(),
6162
- models: z86.array(PluginAIInspirationModel)
6224
+ var PluginAIInspirationListModelsResult = z87.object({
6225
+ defaultModelId: z87.string(),
6226
+ models: z87.array(PluginAIInspirationModel)
6163
6227
  });
6164
- var PluginAIInspirationGetModelCapabilitiesArgs = z86.object({
6165
- modelId: z86.string().min(1)
6228
+ var PluginAIInspirationGetModelCapabilitiesArgs = z87.object({
6229
+ modelId: z87.string().min(1)
6166
6230
  });
6167
- var PluginAIInspirationGetModelCapabilitiesResult = z86.object({
6231
+ var PluginAIInspirationGetModelCapabilitiesResult = z87.object({
6168
6232
  capability: PluginAIInspirationModelCapability
6169
6233
  });
6170
- var PluginAIInspirationShapeRef = z86.object({
6171
- shapeId: z86.string(),
6172
- assetId: z86.string().optional(),
6234
+ var PluginAIInspirationShapeRef = z87.object({
6235
+ shapeId: z87.string(),
6236
+ assetId: z87.string().optional(),
6173
6237
  kind: PluginAIInspirationShapeKind,
6174
- name: z86.string().optional(),
6175
- width: z86.number().finite().optional(),
6176
- height: z86.number().finite().optional(),
6238
+ name: z87.string().optional(),
6239
+ width: z87.number().finite().optional(),
6240
+ height: z87.number().finite().optional(),
6177
6241
  outputType: PluginAIInspirationOutputKind.optional(),
6178
- sourceUrl: z86.string().optional()
6179
- });
6180
- var PluginAIInspirationListSourcesArgs = z86.object({
6181
- includeGenerated: z86.boolean().optional(),
6182
- includeSourceUrl: z86.boolean().optional()
6183
- });
6184
- var PluginAIInspirationListSourcesResult = z86.object({
6185
- sources: z86.array(PluginAIInspirationShapeRef)
6186
- });
6187
- var PluginAIInspirationGetSelectionResult = z86.object({
6188
- selectedShapeIds: z86.array(z86.string()),
6189
- sources: z86.array(PluginAIInspirationShapeRef)
6190
- });
6191
- var PluginAIInspirationPresetReferenceImage = z86.object({
6192
- url: z86.string(),
6193
- label: z86.string().optional(),
6194
- weight: z86.number().finite().optional()
6195
- });
6196
- var PluginAIInspirationPreset = z86.object({
6197
- id: z86.string(),
6198
- name: z86.string(),
6199
- source: z86.enum(["curated", "user"]),
6200
- modelId: z86.string(),
6201
- categoryId: z86.string().optional(),
6202
- categoryLabel: z86.string().optional(),
6203
- description: z86.string().optional(),
6204
- previewImageUrl: z86.string().optional(),
6205
- prompt: z86.string().optional(),
6206
- stylePrompt: z86.string().optional(),
6207
- tags: z86.array(z86.string()).optional(),
6208
- referenceImages: z86.array(PluginAIInspirationPresetReferenceImage).optional(),
6242
+ sourceUrl: z87.string().optional()
6243
+ });
6244
+ var PluginAIInspirationListSourcesArgs = z87.object({
6245
+ includeGenerated: z87.boolean().optional(),
6246
+ includeSourceUrl: z87.boolean().optional()
6247
+ });
6248
+ var PluginAIInspirationListSourcesResult = z87.object({
6249
+ sources: z87.array(PluginAIInspirationShapeRef)
6250
+ });
6251
+ var PluginAIInspirationGetSelectionResult = z87.object({
6252
+ selectedShapeIds: z87.array(z87.string()),
6253
+ sources: z87.array(PluginAIInspirationShapeRef)
6254
+ });
6255
+ var PluginAIInspirationPresetReferenceImage = z87.object({
6256
+ url: z87.string(),
6257
+ label: z87.string().optional(),
6258
+ weight: z87.number().finite().optional()
6259
+ });
6260
+ var PluginAIInspirationPreset = z87.object({
6261
+ id: z87.string(),
6262
+ name: z87.string(),
6263
+ source: z87.enum(["curated", "user"]),
6264
+ modelId: z87.string(),
6265
+ categoryId: z87.string().optional(),
6266
+ categoryLabel: z87.string().optional(),
6267
+ description: z87.string().optional(),
6268
+ previewImageUrl: z87.string().optional(),
6269
+ prompt: z87.string().optional(),
6270
+ stylePrompt: z87.string().optional(),
6271
+ tags: z87.array(z87.string()).optional(),
6272
+ referenceImages: z87.array(PluginAIInspirationPresetReferenceImage).optional(),
6209
6273
  siteDefaults: PluginAIInspirationAppliedPreset.shape.siteDefaults.optional()
6210
6274
  });
6211
- var PluginAIInspirationPresetCategory = z86.object({
6212
- id: z86.string(),
6213
- label: z86.string(),
6214
- description: z86.string().optional()
6275
+ var PluginAIInspirationPresetCategory = z87.object({
6276
+ id: z87.string(),
6277
+ label: z87.string(),
6278
+ description: z87.string().optional()
6215
6279
  });
6216
- var PluginAIInspirationGetPresetCatalogResult = z86.object({
6217
- categories: z86.array(PluginAIInspirationPresetCategory),
6218
- presets: z86.array(PluginAIInspirationPreset)
6280
+ var PluginAIInspirationGetPresetCatalogResult = z87.object({
6281
+ categories: z87.array(PluginAIInspirationPresetCategory),
6282
+ presets: z87.array(PluginAIInspirationPreset)
6219
6283
  });
6220
- var PluginAIInspirationOutput = z86.object({
6221
- outputType: z86.enum(["image", "video"]),
6222
- shapeId: z86.string(),
6223
- assetId: z86.string(),
6224
- outputUrl: z86.string().optional(),
6284
+ var PluginAIInspirationOutput = z87.object({
6285
+ outputType: z87.enum(["image", "video"]),
6286
+ shapeId: z87.string(),
6287
+ assetId: z87.string(),
6288
+ outputUrl: z87.string().optional(),
6225
6289
  position: PluginAIInspirationPoint.optional()
6226
6290
  });
6227
- var PluginAIInspirationDebugSummary = z86.record(z86.string(), JsonValue);
6228
- var PluginAIInspirationRunMetadata = z86.object({
6229
- geometryFidelity: z86.string().optional(),
6291
+ var PluginAIInspirationDebugSummary = z87.record(z87.string(), JsonValue);
6292
+ var PluginAIInspirationRunMetadata = z87.object({
6293
+ geometryFidelity: z87.string().optional(),
6230
6294
  debugSummary: PluginAIInspirationDebugSummary.optional(),
6231
- streetViewComposite: z86.object({
6232
- used: z86.boolean(),
6233
- renderMode: z86.enum(["prompt_refs_default", "masked_composite_pilot"]),
6234
- backgroundLabel: z86.string().optional()
6295
+ streetViewComposite: z87.object({
6296
+ used: z87.boolean(),
6297
+ renderMode: z87.enum(["prompt_refs_default", "masked_composite_pilot"]),
6298
+ backgroundLabel: z87.string().optional()
6235
6299
  }).optional()
6236
6300
  });
6237
- var PluginAIInspirationGenerateArgs = z86.object({
6238
- sourceShapeId: z86.string().min(1),
6239
- prompt: z86.string().min(1).max(8e3),
6240
- modelId: z86.string().optional(),
6241
- referenceShapeIds: z86.array(z86.string()).max(12).optional(),
6242
- referenceStrength: z86.enum(["low", "medium", "high"]).optional(),
6301
+ var PluginAIInspirationGenerateArgs = z87.object({
6302
+ sourceShapeId: z87.string().min(1),
6303
+ prompt: z87.string().min(1).max(8e3),
6304
+ modelId: z87.string().optional(),
6305
+ referenceShapeIds: z87.array(z87.string()).max(12).optional(),
6306
+ referenceStrength: z87.enum(["low", "medium", "high"]).optional(),
6243
6307
  appliedPreset: PluginAIInspirationAppliedPreset.optional(),
6244
6308
  site: PluginAIInspirationSiteOptions.optional(),
6245
6309
  regionHint: PluginAIInspirationRegionHint.optional(),
@@ -6247,129 +6311,129 @@ var PluginAIInspirationGenerateArgs = z86.object({
6247
6311
  video: PluginAIInspirationVideoOptions.optional(),
6248
6312
  runMode: PluginAIInspirationRunMode.optional()
6249
6313
  });
6250
- var PluginAIInspirationRunResult = z86.object({
6251
- jobId: z86.string().optional(),
6314
+ var PluginAIInspirationRunResult = z87.object({
6315
+ jobId: z87.string().optional(),
6252
6316
  output: PluginAIInspirationOutput.optional(),
6253
- outputs: z86.array(PluginAIInspirationOutput).optional(),
6317
+ outputs: z87.array(PluginAIInspirationOutput).optional(),
6254
6318
  metadata: PluginAIInspirationRunMetadata.optional()
6255
6319
  });
6256
- var PluginAIInspirationRefineArgs = z86.object({
6257
- sourceShapeId: z86.string().min(1),
6258
- upscaleFactor: z86.union([z86.literal(1.5), z86.literal(2), z86.literal(4)]).optional(),
6320
+ var PluginAIInspirationRefineArgs = z87.object({
6321
+ sourceShapeId: z87.string().min(1),
6322
+ upscaleFactor: z87.union([z87.literal(1.5), z87.literal(2), z87.literal(4)]).optional(),
6259
6323
  runMode: PluginAIInspirationRunMode.optional()
6260
6324
  });
6261
- var PluginAIInspirationJobProgress = z86.object({
6262
- currentStep: z86.number().int().nonnegative().optional(),
6263
- totalSteps: z86.number().int().nonnegative().optional(),
6264
- message: z86.string().optional()
6325
+ var PluginAIInspirationJobProgress = z87.object({
6326
+ currentStep: z87.number().int().nonnegative().optional(),
6327
+ totalSteps: z87.number().int().nonnegative().optional(),
6328
+ message: z87.string().optional()
6265
6329
  });
6266
- var PluginAIInspirationJob = z86.object({
6267
- jobId: z86.string(),
6330
+ var PluginAIInspirationJob = z87.object({
6331
+ jobId: z87.string(),
6268
6332
  status: PluginAIInspirationJobStatus,
6269
- createdAt: z86.number(),
6270
- updatedAt: z86.number(),
6271
- completedAt: z86.number().optional(),
6272
- method: z86.string(),
6333
+ createdAt: z87.number(),
6334
+ updatedAt: z87.number(),
6335
+ completedAt: z87.number().optional(),
6336
+ method: z87.string(),
6273
6337
  progress: PluginAIInspirationJobProgress.optional(),
6274
6338
  result: PluginAIInspirationRunResult.optional(),
6275
- error: z86.string().optional()
6339
+ error: z87.string().optional()
6276
6340
  });
6277
- var PluginAIInspirationJobArgs = z86.object({
6278
- jobId: z86.string().min(1)
6341
+ var PluginAIInspirationJobArgs = z87.object({
6342
+ jobId: z87.string().min(1)
6279
6343
  });
6280
- var PluginAIInspirationGetJobResult = z86.object({
6344
+ var PluginAIInspirationGetJobResult = z87.object({
6281
6345
  job: PluginAIInspirationJob
6282
6346
  });
6283
- var PluginAIInspirationCancelJobResult = z86.object({
6347
+ var PluginAIInspirationCancelJobResult = z87.object({
6284
6348
  job: PluginAIInspirationJob
6285
6349
  });
6286
- var PluginAIInspirationListJobsResult = z86.object({
6287
- jobs: z86.array(PluginAIInspirationJob)
6350
+ var PluginAIInspirationListJobsResult = z87.object({
6351
+ jobs: z87.array(PluginAIInspirationJob)
6288
6352
  });
6289
- var PluginAIInspirationWorkflowVideoConfig = z86.object({
6290
- mode: z86.string().optional(),
6291
- motion: z86.string().optional(),
6292
- duration: z86.string().optional(),
6293
- endFrameShapeId: z86.string().optional()
6353
+ var PluginAIInspirationWorkflowVideoConfig = z87.object({
6354
+ mode: z87.string().optional(),
6355
+ motion: z87.string().optional(),
6356
+ duration: z87.string().optional(),
6357
+ endFrameShapeId: z87.string().optional()
6294
6358
  });
6295
- var PluginAIInspirationGenerationInputSnapshot = z86.object({
6296
- version: z86.literal(1),
6297
- meta: z86.record(z86.string(), JsonValue),
6359
+ var PluginAIInspirationGenerationInputSnapshot = z87.object({
6360
+ version: z87.literal(1),
6361
+ meta: z87.record(z87.string(), JsonValue),
6298
6362
  regionHint: PluginAIInspirationRegionHint.optional(),
6299
- sketchGuidance: z86.record(z86.string(), JsonValue).optional(),
6300
- sourceCameraHeading: z86.number().finite().optional()
6301
- });
6302
- var PluginAIInspirationWorkflowOperation = z86.object({
6303
- type: z86.enum(["generate-image", "refine", "generate-video"]),
6304
- label: z86.string(),
6305
- prompt: z86.string().optional(),
6306
- modelId: z86.string().optional(),
6307
- presetId: z86.string().optional(),
6308
- presetName: z86.string().optional(),
6309
- refineFactor: z86.number().finite().optional(),
6310
- sourceRole: z86.enum(["primary", "end-frame"]).optional(),
6363
+ sketchGuidance: z87.record(z87.string(), JsonValue).optional(),
6364
+ sourceCameraHeading: z87.number().finite().optional()
6365
+ });
6366
+ var PluginAIInspirationWorkflowOperation = z87.object({
6367
+ type: z87.enum(["generate-image", "refine", "generate-video"]),
6368
+ label: z87.string(),
6369
+ prompt: z87.string().optional(),
6370
+ modelId: z87.string().optional(),
6371
+ presetId: z87.string().optional(),
6372
+ presetName: z87.string().optional(),
6373
+ refineFactor: z87.number().finite().optional(),
6374
+ sourceRole: z87.enum(["primary", "end-frame"]).optional(),
6311
6375
  video: PluginAIInspirationWorkflowVideoConfig.optional(),
6312
6376
  generationInput: PluginAIInspirationGenerationInputSnapshot.optional()
6313
6377
  });
6314
- var PluginAIInspirationWorkflowNode = z86.object({
6315
- id: z86.string(),
6316
- shapeId: z86.string(),
6317
- assetId: z86.string().optional(),
6378
+ var PluginAIInspirationWorkflowNode = z87.object({
6379
+ id: z87.string(),
6380
+ shapeId: z87.string(),
6381
+ assetId: z87.string().optional(),
6318
6382
  kind: PluginAIInspirationOutputKind,
6319
- state: z86.string(),
6383
+ state: z87.string(),
6320
6384
  runState: PluginAIInspirationWorkflowRunState.optional(),
6321
- staleReason: z86.string().optional(),
6322
- incomingEdgeIds: z86.array(z86.string()),
6323
- outgoingEdgeIds: z86.array(z86.string()),
6324
- createdAt: z86.number(),
6325
- updatedAt: z86.number()
6326
- });
6327
- var PluginAIInspirationWorkflowEdge = z86.object({
6328
- id: z86.string(),
6329
- sourceNodeId: z86.string(),
6330
- targetNodeId: z86.string(),
6331
- arrowShapeId: z86.string().optional(),
6385
+ staleReason: z87.string().optional(),
6386
+ incomingEdgeIds: z87.array(z87.string()),
6387
+ outgoingEdgeIds: z87.array(z87.string()),
6388
+ createdAt: z87.number(),
6389
+ updatedAt: z87.number()
6390
+ });
6391
+ var PluginAIInspirationWorkflowEdge = z87.object({
6392
+ id: z87.string(),
6393
+ sourceNodeId: z87.string(),
6394
+ targetNodeId: z87.string(),
6395
+ arrowShapeId: z87.string().optional(),
6332
6396
  operation: PluginAIInspirationWorkflowOperation,
6333
- state: z86.string(),
6397
+ state: z87.string(),
6334
6398
  runState: PluginAIInspirationWorkflowRunState.optional(),
6335
- staleReason: z86.string().optional(),
6336
- supersededByEdgeId: z86.string().optional(),
6337
- createdAt: z86.number(),
6338
- updatedAt: z86.number()
6339
- });
6340
- var PluginAIInspirationWorkflow = z86.object({
6341
- id: z86.string(),
6342
- rootNodeIds: z86.array(z86.string()),
6343
- nodeIds: z86.array(z86.string()),
6344
- edgeIds: z86.array(z86.string()),
6345
- nodes: z86.record(z86.string(), PluginAIInspirationWorkflowNode),
6346
- edges: z86.record(z86.string(), PluginAIInspirationWorkflowEdge),
6347
- createdAt: z86.number(),
6348
- updatedAt: z86.number()
6349
- });
6350
- var PluginAIInspirationGetWorkflowForShapeArgs = z86.object({
6351
- shapeId: z86.string().min(1)
6352
- });
6353
- var PluginAIInspirationGetWorkflowForShapeResult = z86.object({
6399
+ staleReason: z87.string().optional(),
6400
+ supersededByEdgeId: z87.string().optional(),
6401
+ createdAt: z87.number(),
6402
+ updatedAt: z87.number()
6403
+ });
6404
+ var PluginAIInspirationWorkflow = z87.object({
6405
+ id: z87.string(),
6406
+ rootNodeIds: z87.array(z87.string()),
6407
+ nodeIds: z87.array(z87.string()),
6408
+ edgeIds: z87.array(z87.string()),
6409
+ nodes: z87.record(z87.string(), PluginAIInspirationWorkflowNode),
6410
+ edges: z87.record(z87.string(), PluginAIInspirationWorkflowEdge),
6411
+ createdAt: z87.number(),
6412
+ updatedAt: z87.number()
6413
+ });
6414
+ var PluginAIInspirationGetWorkflowForShapeArgs = z87.object({
6415
+ shapeId: z87.string().min(1)
6416
+ });
6417
+ var PluginAIInspirationGetWorkflowForShapeResult = z87.object({
6354
6418
  workflow: PluginAIInspirationWorkflow.nullable(),
6355
6419
  node: PluginAIInspirationWorkflowNode.nullable()
6356
6420
  });
6357
- var PluginAIInspirationRerunPlanResult = z86.discriminatedUnion(
6421
+ var PluginAIInspirationRerunPlanResult = z87.discriminatedUnion(
6358
6422
  "status",
6359
6423
  [
6360
- z86.object({
6361
- status: z86.literal("ready"),
6362
- workflowId: z86.string(),
6424
+ z87.object({
6425
+ status: z87.literal("ready"),
6426
+ workflowId: z87.string(),
6363
6427
  sourceNode: PluginAIInspirationWorkflowNode,
6364
- edgeIds: z86.array(z86.string()),
6365
- edges: z86.array(PluginAIInspirationWorkflowEdge),
6366
- recipe: z86.lazy(() => PluginAIInspirationRecipe),
6367
- needsEndFrame: z86.boolean(),
6368
- defaultEndFrameShapeId: z86.string().nullable()
6428
+ edgeIds: z87.array(z87.string()),
6429
+ edges: z87.array(PluginAIInspirationWorkflowEdge),
6430
+ recipe: z87.lazy(() => PluginAIInspirationRecipe),
6431
+ needsEndFrame: z87.boolean(),
6432
+ defaultEndFrameShapeId: z87.string().nullable()
6369
6433
  }),
6370
- z86.object({
6371
- status: z86.literal("unavailable"),
6372
- reason: z86.enum([
6434
+ z87.object({
6435
+ status: z87.literal("unavailable"),
6436
+ reason: z87.enum([
6373
6437
  "not-in-workflow",
6374
6438
  "source-only",
6375
6439
  "running",
@@ -6378,47 +6442,47 @@ var PluginAIInspirationRerunPlanResult = z86.discriminatedUnion(
6378
6442
  })
6379
6443
  ]
6380
6444
  );
6381
- var PluginAIInspirationRerunSelectedBranchArgs = z86.object({
6382
- shapeId: z86.string().min(1),
6383
- endFrameShapeId: z86.string().optional(),
6445
+ var PluginAIInspirationRerunSelectedBranchArgs = z87.object({
6446
+ shapeId: z87.string().min(1),
6447
+ endFrameShapeId: z87.string().optional(),
6384
6448
  runMode: PluginAIInspirationRunMode.optional()
6385
6449
  });
6386
- var PluginAIInspirationRecipeSlot = z86.object({
6387
- id: z86.string(),
6388
- type: z86.enum(["source-image", "end-frame"]),
6389
- label: z86.string(),
6390
- required: z86.boolean()
6450
+ var PluginAIInspirationRecipeSlot = z87.object({
6451
+ id: z87.string(),
6452
+ type: z87.enum(["source-image", "end-frame"]),
6453
+ label: z87.string(),
6454
+ required: z87.boolean()
6391
6455
  });
6392
- var PluginAIInspirationRecipeStep = z86.object({
6393
- id: z86.string(),
6456
+ var PluginAIInspirationRecipeStep = z87.object({
6457
+ id: z87.string(),
6394
6458
  operation: PluginAIInspirationWorkflowOperation,
6395
- outputKind: z86.enum(["image", "video"])
6459
+ outputKind: z87.enum(["image", "video"])
6396
6460
  });
6397
- var PluginAIInspirationRecipeDraft = z86.object({
6398
- name: z86.string(),
6399
- summary: z86.string(),
6400
- slots: z86.array(PluginAIInspirationRecipeSlot),
6401
- steps: z86.array(PluginAIInspirationRecipeStep).min(1).max(20),
6402
- outputKind: z86.enum(["image", "video"]),
6403
- thumbnailUrl: z86.string().optional()
6461
+ var PluginAIInspirationRecipeDraft = z87.object({
6462
+ name: z87.string(),
6463
+ summary: z87.string(),
6464
+ slots: z87.array(PluginAIInspirationRecipeSlot),
6465
+ steps: z87.array(PluginAIInspirationRecipeStep).min(1).max(20),
6466
+ outputKind: z87.enum(["image", "video"]),
6467
+ thumbnailUrl: z87.string().optional()
6404
6468
  });
6405
6469
  var PluginAIInspirationRecipe = PluginAIInspirationRecipeDraft.extend({
6406
- version: z86.literal(1),
6407
- id: z86.string(),
6408
- fingerprint: z86.string().optional(),
6409
- createdAt: z86.number(),
6410
- updatedAt: z86.number()
6470
+ version: z87.literal(1),
6471
+ id: z87.string(),
6472
+ fingerprint: z87.string().optional(),
6473
+ createdAt: z87.number(),
6474
+ updatedAt: z87.number()
6411
6475
  });
6412
- var PluginAIInspirationExtractionResult = z86.discriminatedUnion(
6476
+ var PluginAIInspirationExtractionResult = z87.discriminatedUnion(
6413
6477
  "status",
6414
6478
  [
6415
- z86.object({
6416
- status: z86.literal("ready"),
6479
+ z87.object({
6480
+ status: z87.literal("ready"),
6417
6481
  draft: PluginAIInspirationRecipeDraft
6418
6482
  }),
6419
- z86.object({
6420
- status: z86.literal("unavailable"),
6421
- reason: z86.enum([
6483
+ z87.object({
6484
+ status: z87.literal("unavailable"),
6485
+ reason: z87.enum([
6422
6486
  "not-in-workflow",
6423
6487
  "source-only",
6424
6488
  "missing-workflow",
@@ -6429,38 +6493,38 @@ var PluginAIInspirationExtractionResult = z86.discriminatedUnion(
6429
6493
  })
6430
6494
  ]
6431
6495
  );
6432
- var PluginAIInspirationListRecipesResult = z86.object({
6433
- recipes: z86.array(PluginAIInspirationRecipe)
6496
+ var PluginAIInspirationListRecipesResult = z87.object({
6497
+ recipes: z87.array(PluginAIInspirationRecipe)
6434
6498
  });
6435
- var PluginAIInspirationSaveRecipeArgs = z86.object({
6499
+ var PluginAIInspirationSaveRecipeArgs = z87.object({
6436
6500
  draft: PluginAIInspirationRecipeDraft,
6437
- name: z86.string().min(1)
6501
+ name: z87.string().min(1)
6438
6502
  });
6439
- var PluginAIInspirationSaveRecipeResult = z86.discriminatedUnion(
6503
+ var PluginAIInspirationSaveRecipeResult = z87.discriminatedUnion(
6440
6504
  "status",
6441
6505
  [
6442
- z86.object({ status: z86.literal("saved"), recipe: PluginAIInspirationRecipe }),
6443
- z86.object({
6444
- status: z86.literal("duplicate"),
6506
+ z87.object({ status: z87.literal("saved"), recipe: PluginAIInspirationRecipe }),
6507
+ z87.object({
6508
+ status: z87.literal("duplicate"),
6445
6509
  recipe: PluginAIInspirationRecipe
6446
6510
  }),
6447
- z86.object({ status: z86.literal("invalid-name"), recipe: z86.null() }),
6448
- z86.object({ status: z86.literal("failed"), recipe: z86.null() })
6511
+ z87.object({ status: z87.literal("invalid-name"), recipe: z87.null() }),
6512
+ z87.object({ status: z87.literal("failed"), recipe: z87.null() })
6449
6513
  ]
6450
6514
  );
6451
- var PluginAIInspirationDeleteRecipeArgs = z86.object({
6452
- recipeId: z86.string().min(1)
6515
+ var PluginAIInspirationDeleteRecipeArgs = z87.object({
6516
+ recipeId: z87.string().min(1)
6453
6517
  });
6454
- var PluginAIInspirationDeleteRecipeResult = z86.object({
6455
- deleted: z86.boolean()
6518
+ var PluginAIInspirationDeleteRecipeResult = z87.object({
6519
+ deleted: z87.boolean()
6456
6520
  });
6457
- var PluginAIInspirationExtractRecipeFromShapeArgs = z86.object({
6458
- shapeId: z86.string().min(1)
6521
+ var PluginAIInspirationExtractRecipeFromShapeArgs = z87.object({
6522
+ shapeId: z87.string().min(1)
6459
6523
  });
6460
- var PluginAIInspirationRunRecipeArgs = z86.object({
6461
- recipeId: z86.string().optional(),
6524
+ var PluginAIInspirationRunRecipeArgs = z87.object({
6525
+ recipeId: z87.string().optional(),
6462
6526
  recipe: PluginAIInspirationRecipe.optional(),
6463
- slotShapeIds: z86.record(z86.string(), z86.string()),
6527
+ slotShapeIds: z87.record(z87.string(), z87.string()),
6464
6528
  runMode: PluginAIInspirationRunMode.optional()
6465
6529
  });
6466
6530
  var PluginPresentationAIInspirationApi = class {
@@ -6469,26 +6533,26 @@ var PluginPresentationAIInspirationApi = class {
6469
6533
  };
6470
6534
 
6471
6535
  // src/api/presentation/export.ts
6472
- var z87 = __toESM(require("zod"), 1);
6473
- var PluginPresentationExportFormat = z87.enum(["pdf", "png", "jpg"]);
6474
- var PluginPresentationExportResolution = z87.object({
6475
- width: z87.number().positive(),
6476
- height: z87.number().positive()
6536
+ var z88 = __toESM(require("zod"), 1);
6537
+ var PluginPresentationExportFormat = z88.enum(["pdf", "png", "jpg"]);
6538
+ var PluginPresentationExportResolution = z88.object({
6539
+ width: z88.number().positive(),
6540
+ height: z88.number().positive()
6477
6541
  });
6478
- var PluginPresentationExportArgs = z87.object({
6542
+ var PluginPresentationExportArgs = z88.object({
6479
6543
  format: PluginPresentationExportFormat,
6480
- sheetIds: z87.array(z87.string()).optional(),
6481
- combine: z87.boolean().optional(),
6544
+ sheetIds: z88.array(z88.string()).optional(),
6545
+ combine: z88.boolean().optional(),
6482
6546
  resolution: PluginPresentationExportResolution.optional(),
6483
- fileName: z87.string().optional()
6547
+ fileName: z88.string().optional()
6484
6548
  });
6485
- var PluginPresentationExportFile = z87.object({
6486
- fileName: z87.string(),
6487
- mimeType: z87.string(),
6488
- dataBase64: z87.string()
6549
+ var PluginPresentationExportFile = z88.object({
6550
+ fileName: z88.string(),
6551
+ mimeType: z88.string(),
6552
+ dataBase64: z88.string()
6489
6553
  });
6490
- var PluginPresentationExportResult = z87.object({
6491
- files: z87.array(PluginPresentationExportFile)
6554
+ var PluginPresentationExportResult = z88.object({
6555
+ files: z88.array(PluginPresentationExportFile)
6492
6556
  });
6493
6557
 
6494
6558
  // src/api/presentation/index.ts
@@ -6504,38 +6568,38 @@ var PluginAnalysisSunpathApi = class {
6504
6568
  };
6505
6569
 
6506
6570
  // src/api/analysis/shadows.ts
6507
- var z88 = __toESM(require("zod"), 1);
6571
+ var z89 = __toESM(require("zod"), 1);
6508
6572
  var PluginAnalysisShadowsApi = class {
6509
6573
  constructor() {
6510
6574
  }
6511
6575
  };
6512
- var PluginAnalysisShadowsEnableOptions = z88.object({
6513
- dateTime: z88.string().optional()
6576
+ var PluginAnalysisShadowsEnableOptions = z89.object({
6577
+ dateTime: z89.string().optional()
6514
6578
  });
6515
- var PluginAnalysisShadowsSetDateTimeArgs = z88.object({
6516
- dateTime: z88.string()
6579
+ var PluginAnalysisShadowsSetDateTimeArgs = z89.object({
6580
+ dateTime: z89.string()
6517
6581
  });
6518
- var PluginAnalysisShadowsDateTimeResult = z88.string();
6582
+ var PluginAnalysisShadowsDateTimeResult = z89.string();
6519
6583
 
6520
6584
  // src/api/analysis/sunlightHours.ts
6521
- var z89 = __toESM(require("zod"), 1);
6585
+ var z90 = __toESM(require("zod"), 1);
6522
6586
  var PluginAnalysisSunlightHoursApi = class {
6523
6587
  constructor() {
6524
6588
  }
6525
6589
  };
6526
- var PluginAnalysisComputeResult = z89.object({
6527
- success: z89.boolean(),
6528
- error: z89.string().optional()
6590
+ var PluginAnalysisComputeResult = z90.object({
6591
+ success: z90.boolean(),
6592
+ error: z90.string().optional()
6529
6593
  });
6530
- var PluginAnalysisJobStatus = z89.enum([
6594
+ var PluginAnalysisJobStatus = z90.enum([
6531
6595
  "running",
6532
6596
  "active",
6533
6597
  "inactive"
6534
6598
  ]);
6535
- var PluginAnalysisJobState = z89.object({
6599
+ var PluginAnalysisJobState = z90.object({
6536
6600
  status: PluginAnalysisJobStatus,
6537
- startDate: z89.string(),
6538
- endDate: z89.string()
6601
+ startDate: z90.string(),
6602
+ endDate: z90.string()
6539
6603
  });
6540
6604
  var PluginAnalysisJobStateResult = PluginAnalysisJobState.nullable();
6541
6605
 
@@ -6546,7 +6610,7 @@ var PluginAnalysisIlluminanceApi = class {
6546
6610
  };
6547
6611
 
6548
6612
  // src/api/analysis/heatmaps.ts
6549
- var z90 = __toESM(require("zod"), 1);
6613
+ var z91 = __toESM(require("zod"), 1);
6550
6614
  var PluginAnalysisHeatmapsApi = class {
6551
6615
  constructor() {
6552
6616
  }
@@ -6555,149 +6619,149 @@ var PluginAnalysisHeatmapOverlaysApi = class {
6555
6619
  constructor() {
6556
6620
  }
6557
6621
  };
6558
- var PluginAnalysisHeatmapSpaceEntry = z90.object({
6622
+ var PluginAnalysisHeatmapSpaceEntry = z91.object({
6559
6623
  space: ComponentHandle,
6560
- value: z90.number().finite()
6624
+ value: z91.number().finite()
6561
6625
  });
6562
- var PluginAnalysisHeatmapGridCell = z90.object({
6626
+ var PluginAnalysisHeatmapGridCell = z91.object({
6563
6627
  position: Vec3Components,
6564
- value: z90.number().finite(),
6565
- meta: z90.unknown().optional()
6566
- });
6567
- var HexColor = z90.string().regex(/^#?[0-9a-fA-F]{6}$/, 'expected a 6-digit hex colour like "#0000ff"');
6568
- var PluginAnalysisHeatmapFieldCell = z90.union([
6569
- z90.object({
6570
- polygon: z90.array(Vec3Components).min(3),
6571
- value: z90.number().finite(),
6572
- meta: z90.unknown().optional()
6628
+ value: z91.number().finite(),
6629
+ meta: z91.unknown().optional()
6630
+ });
6631
+ var HexColor = z91.string().regex(/^#?[0-9a-fA-F]{6}$/, 'expected a 6-digit hex colour like "#0000ff"');
6632
+ var PluginAnalysisHeatmapFieldCell = z91.union([
6633
+ z91.object({
6634
+ polygon: z91.array(Vec3Components).min(3),
6635
+ value: z91.number().finite(),
6636
+ meta: z91.unknown().optional()
6573
6637
  }),
6574
- z90.object({
6575
- vertices: z90.array(Vec3Components).min(3),
6576
- indices: z90.array(z90.number().int().nonnegative()).min(3),
6577
- value: z90.number().finite(),
6578
- meta: z90.unknown().optional()
6638
+ z91.object({
6639
+ vertices: z91.array(Vec3Components).min(3),
6640
+ indices: z91.array(z91.number().int().nonnegative()).min(3),
6641
+ value: z91.number().finite(),
6642
+ meta: z91.unknown().optional()
6579
6643
  })
6580
6644
  ]);
6581
- var PluginAnalysisHeatmapScale = z90.discriminatedUnion("type", [
6582
- z90.object({
6583
- type: z90.literal("bands"),
6584
- count: z90.number().int().min(2).max(64).optional()
6645
+ var PluginAnalysisHeatmapScale = z91.discriminatedUnion("type", [
6646
+ z91.object({
6647
+ type: z91.literal("bands"),
6648
+ count: z91.number().int().min(2).max(64).optional()
6585
6649
  }),
6586
- z90.object({
6587
- type: z90.literal("threshold"),
6588
- threshold: z90.number().finite(),
6650
+ z91.object({
6651
+ type: z91.literal("threshold"),
6652
+ threshold: z91.number().finite(),
6589
6653
  passColor: HexColor.optional(),
6590
6654
  failColor: HexColor.optional(),
6591
- passLabel: z90.string().optional(),
6592
- failLabel: z90.string().optional()
6655
+ passLabel: z91.string().optional(),
6656
+ failLabel: z91.string().optional()
6593
6657
  }),
6594
- z90.object({
6595
- type: z90.literal("categorical"),
6596
- classes: z90.array(
6597
- z90.object({
6598
- value: z90.number().finite(),
6599
- label: z90.string(),
6658
+ z91.object({
6659
+ type: z91.literal("categorical"),
6660
+ classes: z91.array(
6661
+ z91.object({
6662
+ value: z91.number().finite(),
6663
+ label: z91.string(),
6600
6664
  color: HexColor
6601
6665
  })
6602
6666
  ).min(1)
6603
6667
  })
6604
6668
  ]);
6605
- var PluginAnalysisHeatmapOptions = z90.object({
6606
- name: z90.string().min(1).max(64).optional(),
6607
- title: z90.string().optional(),
6608
- unit: z90.string().optional(),
6609
- min: z90.number().finite().optional(),
6610
- max: z90.number().finite().optional(),
6611
- colors: z90.array(HexColor).min(1).optional(),
6669
+ var PluginAnalysisHeatmapOptions = z91.object({
6670
+ name: z91.string().min(1).max(64).optional(),
6671
+ title: z91.string().optional(),
6672
+ unit: z91.string().optional(),
6673
+ min: z91.number().finite().optional(),
6674
+ max: z91.number().finite().optional(),
6675
+ colors: z91.array(HexColor).min(1).optional(),
6612
6676
  scale: PluginAnalysisHeatmapScale.optional(),
6613
- hover: z90.boolean().optional()
6677
+ hover: z91.boolean().optional()
6614
6678
  });
6615
- var PluginAnalysisHeatmapsRenderResult = z90.object({
6616
- success: z90.literal(true)
6679
+ var PluginAnalysisHeatmapsRenderResult = z91.object({
6680
+ success: z91.literal(true)
6617
6681
  });
6618
- var PluginAnalysisHeatmapOverlayInfo = z90.object({
6619
- name: z90.string(),
6620
- visible: z90.boolean(),
6621
- kind: z90.enum(["spaces", "grid", "surfaceGrid", "field"])
6682
+ var PluginAnalysisHeatmapOverlayInfo = z91.object({
6683
+ name: z91.string(),
6684
+ visible: z91.boolean(),
6685
+ kind: z91.enum(["spaces", "grid", "surfaceGrid", "field"])
6622
6686
  });
6623
- var PluginAnalysisHeatmapOverlaysListResult = z90.object({
6624
- overlays: z90.array(PluginAnalysisHeatmapOverlayInfo)
6687
+ var PluginAnalysisHeatmapOverlaysListResult = z91.object({
6688
+ overlays: z91.array(PluginAnalysisHeatmapOverlayInfo)
6625
6689
  });
6626
6690
 
6627
6691
  // src/api/analysis/weather.ts
6628
- var z91 = __toESM(require("zod"), 1);
6692
+ var z92 = __toESM(require("zod"), 1);
6629
6693
  var PluginAnalysisWeatherApi = class {
6630
6694
  constructor() {
6631
6695
  }
6632
6696
  };
6633
- var PluginWeatherSelectionMethod = z91.enum([
6697
+ var PluginWeatherSelectionMethod = z92.enum([
6634
6698
  "nearest-station",
6635
6699
  "user-upload",
6636
6700
  "project-override"
6637
6701
  ]);
6638
- var PluginWeatherSourceMeta = z91.object({
6639
- weatherFileId: z91.string(),
6640
- station: z91.string(),
6641
- sourceId: z91.string(),
6642
- distanceKm: z91.number().nullable(),
6702
+ var PluginWeatherSourceMeta = z92.object({
6703
+ weatherFileId: z92.string(),
6704
+ station: z92.string(),
6705
+ sourceId: z92.string(),
6706
+ distanceKm: z92.number().nullable(),
6643
6707
  selectionMethod: PluginWeatherSelectionMethod,
6644
- checksum: z91.string(),
6645
- windReferenceHeightM: z91.number()
6646
- });
6647
- var PluginWeatherRow = z91.object({
6648
- timestamp: z91.string(),
6649
- utcOffsetMinutes: z91.number(),
6650
- dryBulbC: z91.number(),
6651
- relativeHumidityPercent: z91.number(),
6652
- windSpeedMps: z91.number(),
6653
- ghiWm2: z91.number(),
6654
- dniWm2: z91.number(),
6655
- dhiWm2: z91.number(),
6656
- flags: z91.array(z91.string())
6657
- });
6658
- var PluginWeatherGetSeriesArgs = z91.object({
6659
- startDate: z91.string(),
6660
- endDate: z91.string(),
6661
- interval: z91.enum(["hourly"]).optional(),
6662
- cursor: z91.string().optional()
6663
- });
6664
- var PluginWeatherSeriesResult = z91.object({
6708
+ checksum: z92.string(),
6709
+ windReferenceHeightM: z92.number()
6710
+ });
6711
+ var PluginWeatherRow = z92.object({
6712
+ timestamp: z92.string(),
6713
+ utcOffsetMinutes: z92.number(),
6714
+ dryBulbC: z92.number(),
6715
+ relativeHumidityPercent: z92.number(),
6716
+ windSpeedMps: z92.number(),
6717
+ ghiWm2: z92.number(),
6718
+ dniWm2: z92.number(),
6719
+ dhiWm2: z92.number(),
6720
+ flags: z92.array(z92.string())
6721
+ });
6722
+ var PluginWeatherGetSeriesArgs = z92.object({
6723
+ startDate: z92.string(),
6724
+ endDate: z92.string(),
6725
+ interval: z92.enum(["hourly"]).optional(),
6726
+ cursor: z92.string().optional()
6727
+ });
6728
+ var PluginWeatherSeriesResult = z92.object({
6665
6729
  source: PluginWeatherSourceMeta,
6666
- rows: z91.array(PluginWeatherRow),
6667
- nextCursor: z91.string().nullable(),
6668
- warnings: z91.array(z91.string()).optional()
6730
+ rows: z92.array(PluginWeatherRow),
6731
+ nextCursor: z92.string().nullable(),
6732
+ warnings: z92.array(z92.string()).optional()
6669
6733
  });
6670
6734
 
6671
6735
  // src/api/analysis/solar.ts
6672
- var z92 = __toESM(require("zod"), 1);
6736
+ var z93 = __toESM(require("zod"), 1);
6673
6737
  var PluginAnalysisSolarApi = class {
6674
6738
  constructor() {
6675
6739
  }
6676
6740
  };
6677
- var PluginSolarRunStatus = z92.enum([
6741
+ var PluginSolarRunStatus = z93.enum([
6678
6742
  "running",
6679
6743
  "complete",
6680
6744
  "cancelled",
6681
6745
  "failed"
6682
6746
  ]);
6683
- var PluginSolarSampleMode = z92.enum(["instant", "range"]);
6684
- var PluginSolarUnits = z92.enum(["W/m2", "kWh/m2"]);
6685
- var PluginSolarHourlyArtifact = z92.object({
6686
- url: z92.string(),
6687
- format: z92.enum(["parquet", "csv-gz"]),
6688
- expiresAt: z92.string()
6689
- });
6690
- var PluginSolarSamplePoint = z92.object({
6691
- id: z92.string(),
6692
- position: z92.tuple([z92.number(), z92.number(), z92.number()]),
6693
- normal: z92.tuple([z92.number(), z92.number(), z92.number()]).optional()
6694
- });
6695
- var PluginSolarSampleGridArgs = z92.object({
6696
- points: z92.array(PluginSolarSamplePoint),
6697
- dateTime: z92.string().optional(),
6698
- startDate: z92.string().optional(),
6699
- endDate: z92.string().optional(),
6700
- includeHourlyArtifact: z92.boolean().optional()
6747
+ var PluginSolarSampleMode = z93.enum(["instant", "range"]);
6748
+ var PluginSolarUnits = z93.enum(["W/m2", "kWh/m2"]);
6749
+ var PluginSolarHourlyArtifact = z93.object({
6750
+ url: z93.string(),
6751
+ format: z93.enum(["parquet", "csv-gz"]),
6752
+ expiresAt: z93.string()
6753
+ });
6754
+ var PluginSolarSamplePoint = z93.object({
6755
+ id: z93.string(),
6756
+ position: z93.tuple([z93.number(), z93.number(), z93.number()]),
6757
+ normal: z93.tuple([z93.number(), z93.number(), z93.number()]).optional()
6758
+ });
6759
+ var PluginSolarSampleGridArgs = z93.object({
6760
+ points: z93.array(PluginSolarSamplePoint),
6761
+ dateTime: z93.string().optional(),
6762
+ startDate: z93.string().optional(),
6763
+ endDate: z93.string().optional(),
6764
+ includeHourlyArtifact: z93.boolean().optional()
6701
6765
  }).superRefine((a, ctx) => {
6702
6766
  const hasInstant = a.dateTime !== void 0;
6703
6767
  const hasStart = a.startDate !== void 0;
@@ -6705,73 +6769,73 @@ var PluginSolarSampleGridArgs = z92.object({
6705
6769
  const hasRange = hasStart || hasEnd;
6706
6770
  if (hasInstant === hasRange) {
6707
6771
  ctx.addIssue({
6708
- code: z92.ZodIssueCode.custom,
6772
+ code: z93.ZodIssueCode.custom,
6709
6773
  message: "provide exactly one timing mode: dateTime (instant), or startDate+endDate (range)"
6710
6774
  });
6711
6775
  }
6712
6776
  if (hasRange && !(hasStart && hasEnd)) {
6713
6777
  ctx.addIssue({
6714
- code: z92.ZodIssueCode.custom,
6778
+ code: z93.ZodIssueCode.custom,
6715
6779
  message: "range mode requires both startDate and endDate"
6716
6780
  });
6717
6781
  }
6718
6782
  });
6719
- var PluginSolarSampleResult = z92.object({
6720
- id: z92.string(),
6721
- directSunVisible: z92.boolean(),
6722
- shadeFraction: z92.number(),
6723
- directIrradiance: z92.number().optional(),
6724
- diffuseIrradiance: z92.number().optional(),
6725
- totalIrradiance: z92.number().optional()
6783
+ var PluginSolarSampleResult = z93.object({
6784
+ id: z93.string(),
6785
+ directSunVisible: z93.boolean(),
6786
+ shadeFraction: z93.number(),
6787
+ directIrradiance: z93.number().optional(),
6788
+ diffuseIrradiance: z93.number().optional(),
6789
+ totalIrradiance: z93.number().optional()
6726
6790
  });
6727
- var PluginSolarSampleGridResult = z92.object({
6791
+ var PluginSolarSampleGridResult = z93.object({
6728
6792
  status: PluginSolarRunStatus,
6729
6793
  mode: PluginSolarSampleMode,
6730
- coordinateSystem: z92.literal("world-plan-space"),
6731
- modelRevision: z92.string(),
6732
- inputHash: z92.string(),
6794
+ coordinateSystem: z93.literal("world-plan-space"),
6795
+ modelRevision: z93.string(),
6796
+ inputHash: z93.string(),
6733
6797
  units: PluginSolarUnits,
6734
- sunUpHours: z92.number(),
6798
+ sunUpHours: z93.number(),
6735
6799
  weather: PluginWeatherSourceMeta.nullable(),
6736
- weatherQuality: z92.array(z92.string()),
6737
- results: z92.array(PluginSolarSampleResult),
6800
+ weatherQuality: z93.array(z93.string()),
6801
+ results: z93.array(PluginSolarSampleResult),
6738
6802
  hourlyArtifact: PluginSolarHourlyArtifact.nullable(),
6739
- nextCursor: z92.string().nullable()
6803
+ nextCursor: z93.string().nullable()
6740
6804
  });
6741
6805
 
6742
6806
  // src/api/analysis/daylight.ts
6743
- var z93 = __toESM(require("zod"), 1);
6807
+ var z94 = __toESM(require("zod"), 1);
6744
6808
  var PluginAnalysisDaylightApi = class {
6745
6809
  constructor() {
6746
6810
  }
6747
6811
  };
6748
- var PluginDaylightMetric = z93.enum(["ASE", "sDA"]);
6749
- var PluginDaylightRunStatus = z93.enum([
6812
+ var PluginDaylightMetric = z94.enum(["ASE", "sDA"]);
6813
+ var PluginDaylightRunStatus = z94.enum([
6750
6814
  "running",
6751
6815
  "complete",
6752
6816
  "cancelled",
6753
6817
  "failed"
6754
6818
  ]);
6755
- var PluginDaylightGrid = z93.object({
6756
- spacingM: z93.number(),
6757
- workplaneHeightM: z93.number(),
6758
- boundaryOffsetM: z93.number()
6819
+ var PluginDaylightGrid = z94.object({
6820
+ spacingM: z94.number(),
6821
+ workplaneHeightM: z94.number(),
6822
+ boundaryOffsetM: z94.number()
6759
6823
  });
6760
- var PluginDaylightSchedule = z93.object({
6761
- startHour: z93.number(),
6762
- endHour: z93.number()
6824
+ var PluginDaylightSchedule = z94.object({
6825
+ startHour: z94.number(),
6826
+ endHour: z94.number()
6763
6827
  });
6764
- var PluginDaylightOpaqueOptics = z93.object({
6765
- reflectance: z93.number().min(0).max(1)
6828
+ var PluginDaylightOpaqueOptics = z94.object({
6829
+ reflectance: z94.number().min(0).max(1)
6766
6830
  });
6767
- var PluginDaylightGlazingOptics = z93.object({
6768
- transmittance: z93.number().min(0).max(1)
6831
+ var PluginDaylightGlazingOptics = z94.object({
6832
+ transmittance: z94.number().min(0).max(1)
6769
6833
  });
6770
- var PluginDaylightMaterialOptics = z93.union([
6834
+ var PluginDaylightMaterialOptics = z94.union([
6771
6835
  PluginDaylightOpaqueOptics,
6772
6836
  PluginDaylightGlazingOptics
6773
6837
  ]);
6774
- var PluginDaylightCategoryDefaults = z93.object({
6838
+ var PluginDaylightCategoryDefaults = z94.object({
6775
6839
  wall: PluginDaylightOpaqueOptics.optional(),
6776
6840
  ceiling: PluginDaylightOpaqueOptics.optional(),
6777
6841
  floor: PluginDaylightOpaqueOptics.optional(),
@@ -6779,81 +6843,81 @@ var PluginDaylightCategoryDefaults = z93.object({
6779
6843
  glazing: PluginDaylightGlazingOptics.optional(),
6780
6844
  context: PluginDaylightOpaqueOptics.optional()
6781
6845
  });
6782
- var PluginDaylightBlindsOptics = z93.object({
6783
- transmittance: z93.number().min(0).max(1)
6846
+ var PluginDaylightBlindsOptics = z94.object({
6847
+ transmittance: z94.number().min(0).max(1)
6784
6848
  });
6785
- var PluginDaylightOptics = z93.object({
6786
- materials: z93.record(z93.string(), PluginDaylightMaterialOptics).optional(),
6849
+ var PluginDaylightOptics = z94.object({
6850
+ materials: z94.record(z94.string(), PluginDaylightMaterialOptics).optional(),
6787
6851
  categories: PluginDaylightCategoryDefaults.optional(),
6788
6852
  blinds: PluginDaylightBlindsOptics.optional()
6789
6853
  });
6790
- var PluginDaylightComputeArgs = z93.object({
6791
- standard: z93.literal("IES-LM-83-23"),
6792
- metrics: z93.array(PluginDaylightMetric).min(1),
6854
+ var PluginDaylightComputeArgs = z94.object({
6855
+ standard: z94.literal("IES-LM-83-23"),
6856
+ metrics: z94.array(PluginDaylightMetric).min(1),
6793
6857
  schedule: PluginDaylightSchedule.optional(),
6794
6858
  grid: PluginDaylightGrid,
6795
6859
  optics: PluginDaylightOptics.optional()
6796
6860
  });
6797
- var PluginDaylightPollArgs = z93.object({
6798
- runId: z93.string(),
6799
- cursor: z93.string().optional()
6800
- });
6801
- var PluginDaylightSensorRecord = z93.object({
6802
- sensorId: z93.string(),
6803
- position: z93.tuple([z93.number(), z93.number(), z93.number()]),
6804
- spaceId: z93.string(),
6805
- storeyId: z93.string(),
6806
- areaWeightM2: z93.number(),
6807
- occupiedHours: z93.number(),
6808
- directSunHoursAtOrAbove1000Lux: z93.number().optional(),
6809
- aseFail: z93.boolean().optional(),
6810
- da300Percent: z93.number().optional(),
6811
- sdaPass: z93.boolean().optional()
6812
- });
6813
- var PluginDaylightAggregateScope = z93.enum([
6861
+ var PluginDaylightPollArgs = z94.object({
6862
+ runId: z94.string(),
6863
+ cursor: z94.string().optional()
6864
+ });
6865
+ var PluginDaylightSensorRecord = z94.object({
6866
+ sensorId: z94.string(),
6867
+ position: z94.tuple([z94.number(), z94.number(), z94.number()]),
6868
+ spaceId: z94.string(),
6869
+ storeyId: z94.string(),
6870
+ areaWeightM2: z94.number(),
6871
+ occupiedHours: z94.number(),
6872
+ directSunHoursAtOrAbove1000Lux: z94.number().optional(),
6873
+ aseFail: z94.boolean().optional(),
6874
+ da300Percent: z94.number().optional(),
6875
+ sdaPass: z94.boolean().optional()
6876
+ });
6877
+ var PluginDaylightAggregateScope = z94.enum([
6814
6878
  "project",
6815
6879
  "storey",
6816
6880
  "space"
6817
6881
  ]);
6818
- var PluginDaylightAggregate = z93.object({
6882
+ var PluginDaylightAggregate = z94.object({
6819
6883
  scope: PluginDaylightAggregateScope,
6820
- id: z93.string().nullable(),
6821
- analysisAreaM2: z93.number(),
6822
- asePercent: z93.number().optional(),
6823
- sdaPercent: z93.number().optional()
6824
- });
6825
- var PluginDaylightProvenance = z93.object({
6826
- engine: z93.string(),
6827
- engineVersion: z93.string(),
6828
- standardProfile: z93.string(),
6829
- thresholds: z93.object({ aseLux: z93.number(), aseHours: z93.number() }).passthrough(),
6884
+ id: z94.string().nullable(),
6885
+ analysisAreaM2: z94.number(),
6886
+ asePercent: z94.number().optional(),
6887
+ sdaPercent: z94.number().optional()
6888
+ });
6889
+ var PluginDaylightProvenance = z94.object({
6890
+ engine: z94.string(),
6891
+ engineVersion: z94.string(),
6892
+ standardProfile: z94.string(),
6893
+ thresholds: z94.object({ aseLux: z94.number(), aseHours: z94.number() }).passthrough(),
6830
6894
  weather: PluginWeatherSourceMeta.nullable(),
6831
- occupancySchedule: z93.object({ id: z93.string(), hoursPerYear: z93.number() }).passthrough(),
6895
+ occupancySchedule: z94.object({ id: z94.string(), hoursPerYear: z94.number() }).passthrough(),
6832
6896
  grid: PluginDaylightGrid,
6833
- location: z93.object({
6834
- latitude: z93.number(),
6835
- longitude: z93.number(),
6836
- timezone: z93.string(),
6837
- trueNorthDeg: z93.number()
6897
+ location: z94.object({
6898
+ latitude: z94.number(),
6899
+ longitude: z94.number(),
6900
+ timezone: z94.string(),
6901
+ trueNorthDeg: z94.number()
6838
6902
  }).passthrough(),
6839
- surfaceReflectances: z93.record(z93.string(), z93.number()),
6840
- modelRevision: z93.string(),
6841
- inputHash: z93.string(),
6842
- warnings: z93.array(z93.string()),
6843
- excludedSpaces: z93.array(
6844
- z93.object({ spaceId: z93.string(), reason: z93.string() })
6903
+ surfaceReflectances: z94.record(z94.string(), z94.number()),
6904
+ modelRevision: z94.string(),
6905
+ inputHash: z94.string(),
6906
+ warnings: z94.array(z94.string()),
6907
+ excludedSpaces: z94.array(
6908
+ z94.object({ spaceId: z94.string(), reason: z94.string() })
6845
6909
  ),
6846
- failedGeometry: z93.array(
6847
- z93.object({ componentId: z93.string(), reason: z93.string() })
6910
+ failedGeometry: z94.array(
6911
+ z94.object({ componentId: z94.string(), reason: z94.string() })
6848
6912
  )
6849
6913
  }).partial().passthrough();
6850
- var PluginDaylightResults = z93.object({
6914
+ var PluginDaylightResults = z94.object({
6851
6915
  status: PluginDaylightRunStatus,
6852
- runId: z93.string().optional(),
6853
- sensors: z93.array(PluginDaylightSensorRecord),
6854
- aggregates: z93.array(PluginDaylightAggregate),
6916
+ runId: z94.string().optional(),
6917
+ sensors: z94.array(PluginDaylightSensorRecord),
6918
+ aggregates: z94.array(PluginDaylightAggregate),
6855
6919
  provenance: PluginDaylightProvenance,
6856
- nextCursor: z93.string().nullable()
6920
+ nextCursor: z94.string().nullable()
6857
6921
  });
6858
6922
 
6859
6923
  // src/api/analysis/index.ts
@@ -6863,7 +6927,7 @@ var PluginAnalysisApi = class {
6863
6927
  };
6864
6928
 
6865
6929
  // src/api/workspace/index.ts
6866
- var z94 = __toESM(require("zod"), 1);
6930
+ var z95 = __toESM(require("zod"), 1);
6867
6931
  var PluginWorkspaceApi = class {
6868
6932
  constructor() {
6869
6933
  }
@@ -6876,68 +6940,68 @@ var PluginWorkspaceTeamsApi = class {
6876
6940
  constructor() {
6877
6941
  }
6878
6942
  };
6879
- var PluginProjectRef = z94.object({
6880
- id: z94.string(),
6881
- name: z94.string(),
6882
- teamId: z94.string().optional(),
6883
- createdAt: z94.string().optional(),
6884
- modifiedAt: z94.string().optional()
6943
+ var PluginProjectRef = z95.object({
6944
+ id: z95.string(),
6945
+ name: z95.string(),
6946
+ teamId: z95.string().optional(),
6947
+ createdAt: z95.string().optional(),
6948
+ modifiedAt: z95.string().optional()
6885
6949
  });
6886
- var PluginTeamRef = z94.object({
6887
- id: z94.string(),
6888
- name: z94.string(),
6889
- role: z94.string().optional()
6950
+ var PluginTeamRef = z95.object({
6951
+ id: z95.string(),
6952
+ name: z95.string(),
6953
+ role: z95.string().optional()
6890
6954
  });
6891
- var PluginTeamMemberRef = z94.object({
6892
- id: z94.string(),
6893
- name: z94.string(),
6894
- email: z94.string().optional(),
6895
- role: z94.string().optional()
6955
+ var PluginTeamMemberRef = z95.object({
6956
+ id: z95.string(),
6957
+ name: z95.string(),
6958
+ email: z95.string().optional(),
6959
+ role: z95.string().optional()
6896
6960
  });
6897
- var PluginWorkspaceProjectsCreateArgs = z94.object({
6898
- name: z94.string(),
6899
- unit: z94.string().optional(),
6900
- teamId: z94.string().optional()
6961
+ var PluginWorkspaceProjectsCreateArgs = z95.object({
6962
+ name: z95.string(),
6963
+ unit: z95.string().optional(),
6964
+ teamId: z95.string().optional()
6901
6965
  });
6902
- var PluginWorkspaceProjectsCreateResult = z94.object({
6903
- projectId: z94.string()
6966
+ var PluginWorkspaceProjectsCreateResult = z95.object({
6967
+ projectId: z95.string()
6904
6968
  });
6905
- var PluginWorkspaceProjectsCopyArgs = z94.object({
6906
- name: z94.string(),
6907
- teamId: z94.string().optional()
6969
+ var PluginWorkspaceProjectsCopyArgs = z95.object({
6970
+ name: z95.string(),
6971
+ teamId: z95.string().optional()
6908
6972
  });
6909
- var PluginWorkspaceProjectsCopyResult = z94.object({
6910
- projectId: z94.string()
6973
+ var PluginWorkspaceProjectsCopyResult = z95.object({
6974
+ projectId: z95.string()
6911
6975
  });
6912
- var PluginWorkspaceProjectsListArgs = z94.object({
6913
- teamId: z94.string().optional()
6976
+ var PluginWorkspaceProjectsListArgs = z95.object({
6977
+ teamId: z95.string().optional()
6914
6978
  });
6915
- var PluginWorkspaceProjectsListResult = z94.object({
6916
- projects: z94.array(PluginProjectRef)
6979
+ var PluginWorkspaceProjectsListResult = z95.object({
6980
+ projects: z95.array(PluginProjectRef)
6917
6981
  });
6918
- var PluginWorkspaceProjectsGetArgs = z94.object({
6919
- projectId: z94.string()
6982
+ var PluginWorkspaceProjectsGetArgs = z95.object({
6983
+ projectId: z95.string()
6920
6984
  });
6921
6985
  var PluginWorkspaceProjectsGetResult = PluginProjectRef.nullable();
6922
- var PluginWorkspaceProjectsRenameArgs = z94.object({
6923
- projectId: z94.string(),
6924
- name: z94.string()
6986
+ var PluginWorkspaceProjectsRenameArgs = z95.object({
6987
+ projectId: z95.string(),
6988
+ name: z95.string()
6925
6989
  });
6926
- var PluginWorkspaceProjectsRenameResult = z94.object({
6927
- projectId: z94.string()
6990
+ var PluginWorkspaceProjectsRenameResult = z95.object({
6991
+ projectId: z95.string()
6928
6992
  });
6929
- var PluginWorkspaceTeamsListResult = z94.object({
6930
- teams: z94.array(PluginTeamRef)
6993
+ var PluginWorkspaceTeamsListResult = z95.object({
6994
+ teams: z95.array(PluginTeamRef)
6931
6995
  });
6932
- var PluginWorkspaceTeamsGetArgs = z94.object({
6933
- teamId: z94.string()
6996
+ var PluginWorkspaceTeamsGetArgs = z95.object({
6997
+ teamId: z95.string()
6934
6998
  });
6935
6999
  var PluginWorkspaceTeamsGetResult = PluginTeamRef.nullable();
6936
- var PluginWorkspaceTeamsListMembersArgs = z94.object({
6937
- teamId: z94.string()
7000
+ var PluginWorkspaceTeamsListMembersArgs = z95.object({
7001
+ teamId: z95.string()
6938
7002
  });
6939
- var PluginWorkspaceTeamsListMembersResult = z94.object({
6940
- members: z94.array(PluginTeamMemberRef)
7003
+ var PluginWorkspaceTeamsListMembersResult = z95.object({
7004
+ members: z95.array(PluginTeamMemberRef)
6941
7005
  });
6942
7006
 
6943
7007
  // src/api/index.ts
@@ -7042,8 +7106,8 @@ function isPluginErrorCode(value) {
7042
7106
  var ERROR_ENVELOPE_VERSION = 1;
7043
7107
  function isErrorEnvelope(value) {
7044
7108
  if (typeof value !== "object" || value === null) return false;
7045
- const record7 = value;
7046
- return record7.envelopeVersion === ERROR_ENVELOPE_VERSION && typeof record7.code === "string" && typeof record7.message === "string" && typeof record7.errorId === "string";
7109
+ const record8 = value;
7110
+ return record8.envelopeVersion === ERROR_ENVELOPE_VERSION && typeof record8.code === "string" && typeof record8.message === "string" && typeof record8.errorId === "string";
7047
7111
  }
7048
7112
  var idCounter = 0;
7049
7113
  function newErrorId(prefix = "") {
@@ -7504,6 +7568,14 @@ function makeClientEnvelope(code, message, extra) {
7504
7568
  PluginDesignEraseApi,
7505
7569
  PluginDesignEraseEdgeArgs,
7506
7570
  PluginDesignEraseEdgeResult,
7571
+ PluginDesignFamilyApi,
7572
+ PluginDesignFamilyCreateArgs,
7573
+ PluginDesignFamilyDeleteArgs,
7574
+ PluginDesignFamilyFlexArgs,
7575
+ PluginDesignFamilyGetParametersArgs,
7576
+ PluginDesignFamilyPlaceArgs,
7577
+ PluginDesignFamilyPrepareArgs,
7578
+ PluginDesignFamilySetParametersArgs,
7507
7579
  PluginDesignFurnitureApi,
7508
7580
  PluginDesignFurnitureExistsArgs,
7509
7581
  PluginDesignFurnitureGetCatalogItemArgs,
@@ -7600,6 +7672,8 @@ function makeClientEnvelope(code, message, extra) {
7600
7672
  PluginExecutionError,
7601
7673
  PluginExportModelArgs,
7602
7674
  PluginFaceMaterial,
7675
+ PluginFamilyBundleSchema,
7676
+ PluginFamilySnapshotOption,
7603
7677
  PluginFurnitureCatalogItem,
7604
7678
  PluginFurnitureDimensionUpdates,
7605
7679
  PluginFurnitureDimensions,