@snaptrude/plugin-core 0.9.0 → 0.9.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. package/CHANGELOG.md +25 -0
  2. package/api-manifest.full.json +411 -2
  3. package/api-manifest.json +411 -2
  4. package/dist/api/core/geom/create/index.d.ts +406 -11
  5. package/dist/api/core/geom/create/index.d.ts.map +1 -1
  6. package/dist/api/core/geom/query/brep.d.ts +44 -0
  7. package/dist/api/core/geom/query/brep.d.ts.map +1 -1
  8. package/dist/api/core/io/terrain/index.d.ts +135 -0
  9. package/dist/api/core/io/terrain/index.d.ts.map +1 -1
  10. package/dist/api/presentation/annotate.d.ts +23 -4
  11. package/dist/api/presentation/annotate.d.ts.map +1 -1
  12. package/dist/api/presentation/diagrams.d.ts +64 -2
  13. package/dist/api/presentation/diagrams.d.ts.map +1 -1
  14. package/dist/api/presentation/index.d.ts +11 -1
  15. package/dist/api/presentation/index.d.ts.map +1 -1
  16. package/dist/api/presentation/placedViews.d.ts +772 -3
  17. package/dist/api/presentation/placedViews.d.ts.map +1 -1
  18. package/dist/api/presentation/shapes.d.ts +2 -2
  19. package/dist/api/presentation/sheets.d.ts +42 -0
  20. package/dist/api/presentation/sheets.d.ts.map +1 -1
  21. package/dist/api/presentation/slideshow.d.ts +125 -0
  22. package/dist/api/presentation/slideshow.d.ts.map +1 -0
  23. package/dist/api/presentation/tables.d.ts +81 -0
  24. package/dist/api/presentation/tables.d.ts.map +1 -0
  25. package/dist/api/program/site.d.ts +166 -2
  26. package/dist/api/program/site.d.ts.map +1 -1
  27. package/dist/api/workspace/index.d.ts +46 -1
  28. package/dist/api/workspace/index.d.ts.map +1 -1
  29. package/dist/index.cjs +890 -554
  30. package/dist/index.cjs.map +1 -1
  31. package/dist/index.js +850 -554
  32. package/dist/index.js.map +1 -1
  33. package/package.json +1 -1
  34. package/src/api/core/geom/create/index.ts +445 -10
  35. package/src/api/core/geom/query/brep.ts +45 -0
  36. package/src/api/core/io/terrain/index.ts +146 -0
  37. package/src/api/presentation/annotate.ts +27 -2
  38. package/src/api/presentation/diagrams.ts +67 -2
  39. package/src/api/presentation/index.ts +11 -1
  40. package/src/api/presentation/placedViews.ts +760 -3
  41. package/src/api/presentation/sheets.ts +54 -0
  42. package/src/api/presentation/slideshow.ts +134 -0
  43. package/src/api/presentation/tables.ts +84 -0
  44. package/src/api/program/site.ts +110 -2
  45. package/src/api/workspace/index.ts +48 -1
package/dist/index.cjs CHANGED
@@ -182,6 +182,7 @@ __export(index_exports, {
182
182
  PluginCameraSetModeArgs: () => PluginCameraSetModeArgs,
183
183
  PluginCameraSetProjectionArgs: () => PluginCameraSetProjectionArgs,
184
184
  PluginCameraSetStandardViewArgs: () => PluginCameraSetStandardViewArgs,
185
+ PluginCanvasShapeOrigin: () => PluginCanvasShapeOrigin,
185
186
  PluginClassificationOption: () => PluginClassificationOption,
186
187
  PluginCommentApi: () => PluginCommentApi,
187
188
  PluginCommentCreateArgs: () => PluginCommentCreateArgs,
@@ -453,10 +454,17 @@ __export(index_exports, {
453
454
  PluginGeomCreateApi: () => PluginGeomCreateApi,
454
455
  PluginGeomCreateArcArgs: () => PluginGeomCreateArcArgs,
455
456
  PluginGeomCreateBrepBooleanArgs: () => PluginGeomCreateBrepBooleanArgs,
457
+ PluginGeomCreateBrepFromChamferArgs: () => PluginGeomCreateBrepFromChamferArgs,
456
458
  PluginGeomCreateBrepFromExtrusionArgs: () => PluginGeomCreateBrepFromExtrusionArgs,
457
459
  PluginGeomCreateBrepFromFacesArgs: () => PluginGeomCreateBrepFromFacesArgs,
460
+ PluginGeomCreateBrepFromFilletArgs: () => PluginGeomCreateBrepFromFilletArgs,
458
461
  PluginGeomCreateBrepFromLoftArgs: () => PluginGeomCreateBrepFromLoftArgs,
459
462
  PluginGeomCreateBrepFromMeshArgs: () => PluginGeomCreateBrepFromMeshArgs,
463
+ PluginGeomCreateBrepFromOffsetArgs: () => PluginGeomCreateBrepFromOffsetArgs,
464
+ PluginGeomCreateBrepFromRevolutionArgs: () => PluginGeomCreateBrepFromRevolutionArgs,
465
+ PluginGeomCreateBrepFromShellArgs: () => PluginGeomCreateBrepFromShellArgs,
466
+ PluginGeomCreateBrepFromSweepArgs: () => PluginGeomCreateBrepFromSweepArgs,
467
+ PluginGeomCreateBrepsFromSplitArgs: () => PluginGeomCreateBrepsFromSplitArgs,
460
468
  PluginGeomCreateCircleArgs: () => PluginGeomCreateCircleArgs,
461
469
  PluginGeomCreateContourFromProfileArgs: () => PluginGeomCreateContourFromProfileArgs,
462
470
  PluginGeomCreateContourFromProfilesArgs: () => PluginGeomCreateContourFromProfilesArgs,
@@ -476,6 +484,7 @@ __export(index_exports, {
476
484
  PluginGeomQueryBrepApi: () => PluginGeomQueryBrepApi,
477
485
  PluginGeomQueryBrepGetBoundingBoxArgs: () => PluginGeomQueryBrepGetBoundingBoxArgs,
478
486
  PluginGeomQueryBrepGetCentroidArgs: () => PluginGeomQueryBrepGetCentroidArgs,
487
+ PluginGeomQueryBrepGetDistanceArgs: () => PluginGeomQueryBrepGetDistanceArgs,
479
488
  PluginGeomQueryBrepGetEdgeArgs: () => PluginGeomQueryBrepGetEdgeArgs,
480
489
  PluginGeomQueryBrepGetEdgeCountArgs: () => PluginGeomQueryBrepGetEdgeCountArgs,
481
490
  PluginGeomQueryBrepGetFaceCountArgs: () => PluginGeomQueryBrepGetFaceCountArgs,
@@ -661,6 +670,17 @@ __export(index_exports, {
661
670
  PluginPermissionError: () => PluginPermissionError,
662
671
  PluginPlacedView: () => PluginPlacedView,
663
672
  PluginPlacedViewCrop: () => PluginPlacedViewCrop,
673
+ PluginPlacedViewFontStylesPatch: () => PluginPlacedViewFontStylesPatch,
674
+ PluginPlacedViewStylePatch: () => PluginPlacedViewStylePatch,
675
+ PluginPlacedViewsDeleteShapesArgs: () => PluginPlacedViewsDeleteShapesArgs,
676
+ PluginPlacedViewsMoveLabelArgs: () => PluginPlacedViewsMoveLabelArgs,
677
+ PluginPlacedViewsMoveShapeArgs: () => PluginPlacedViewsMoveShapeArgs,
678
+ PluginPlacedViewsResizeShapeArgs: () => PluginPlacedViewsResizeShapeArgs,
679
+ PluginPlacedViewsSetLabelHiddenArgs: () => PluginPlacedViewsSetLabelHiddenArgs,
680
+ PluginPlacedViewsSetMaskArgs: () => PluginPlacedViewsSetMaskArgs,
681
+ PluginPlacedViewsSetOpacityArgs: () => PluginPlacedViewsSetOpacityArgs,
682
+ PluginPlacedViewsUpdateFontStylesArgs: () => PluginPlacedViewsUpdateFontStylesArgs,
683
+ PluginPlacedViewsUpdateStylesArgs: () => PluginPlacedViewsUpdateStylesArgs,
664
684
  PluginPresentationAIInspirationApi: () => PluginPresentationAIInspirationApi,
665
685
  PluginPresentationAnnotateApi: () => PluginPresentationAnnotateApi,
666
686
  PluginPresentationAnnotateArrowArgs: () => PluginPresentationAnnotateArrowArgs,
@@ -672,6 +692,7 @@ __export(index_exports, {
672
692
  PluginPresentationApi: () => PluginPresentationApi,
673
693
  PluginPresentationDiagramsApi: () => PluginPresentationDiagramsApi,
674
694
  PluginPresentationDiagramsGenerateResult: () => PluginPresentationDiagramsGenerateResult,
695
+ PluginPresentationDiagramsGenerateSiteArgs: () => PluginPresentationDiagramsGenerateSiteArgs,
675
696
  PluginPresentationDiagramsPlaceArgs: () => PluginPresentationDiagramsPlaceArgs,
676
697
  PluginPresentationDiagramsPlaceResult: () => PluginPresentationDiagramsPlaceResult,
677
698
  PluginPresentationExportArgs: () => PluginPresentationExportArgs,
@@ -688,8 +709,10 @@ __export(index_exports, {
688
709
  PluginPresentationPlacedViewsListArgs: () => PluginPresentationPlacedViewsListArgs,
689
710
  PluginPresentationPlacedViewsListResult: () => PluginPresentationPlacedViewsListResult,
690
711
  PluginPresentationPlacedViewsMoveArgs: () => PluginPresentationPlacedViewsMoveArgs,
712
+ PluginPresentationPlacedViewsRotateShapeArgs: () => PluginPresentationPlacedViewsRotateShapeArgs,
691
713
  PluginPresentationPlacedViewsScaleArgs: () => PluginPresentationPlacedViewsScaleArgs,
692
714
  PluginPresentationPlacedViewsSetCropArgs: () => PluginPresentationPlacedViewsSetCropArgs,
715
+ PluginPresentationPlacedViewsSetRotationArgs: () => PluginPresentationPlacedViewsSetRotationArgs,
693
716
  PluginPresentationPlacedViewsSetScaleArgs: () => PluginPresentationPlacedViewsSetScaleArgs,
694
717
  PluginPresentationShapeSpec: () => PluginPresentationShapeSpec,
695
718
  PluginPresentationShapeType: () => PluginPresentationShapeType,
@@ -711,9 +734,16 @@ __export(index_exports, {
711
734
  PluginPresentationSheetsRenameArgs: () => PluginPresentationSheetsRenameArgs,
712
735
  PluginPresentationSheetsReorderArgs: () => PluginPresentationSheetsReorderArgs,
713
736
  PluginPresentationSheetsSetActiveArgs: () => PluginPresentationSheetsSetActiveArgs,
737
+ PluginPresentationSheetsSetMarginArgs: () => PluginPresentationSheetsSetMarginArgs,
714
738
  PluginPresentationSheetsSetSizeArgs: () => PluginPresentationSheetsSetSizeArgs,
715
739
  PluginPresentationSheetsUpdatePlacedViewArgs: () => PluginPresentationSheetsUpdatePlacedViewArgs,
716
740
  PluginPresentationSheetsUpdatePlacedViewResult: () => PluginPresentationSheetsUpdatePlacedViewResult,
741
+ PluginPresentationSiteDiagramType: () => PluginPresentationSiteDiagramType,
742
+ PluginPresentationSlideshowApi: () => PluginPresentationSlideshowApi,
743
+ PluginPresentationSlideshowStartArgs: () => PluginPresentationSlideshowStartArgs,
744
+ PluginPresentationSlideshowState: () => PluginPresentationSlideshowState,
745
+ PluginPresentationTablesApi: () => PluginPresentationTablesApi,
746
+ PluginPresentationTablesPlaceArgs: () => PluginPresentationTablesPlaceArgs,
717
747
  PluginPresentationView: () => PluginPresentationView,
718
748
  PluginPresentationViewColorMode: () => PluginPresentationViewColorMode,
719
749
  PluginPresentationViewLabel: () => PluginPresentationViewLabel,
@@ -799,6 +829,10 @@ __export(index_exports, {
799
829
  PluginProgramSiteAreaResult: () => PluginProgramSiteAreaResult,
800
830
  PluginProgramSiteContext: () => PluginProgramSiteContext,
801
831
  PluginProgramSiteContextResult: () => PluginProgramSiteContextResult,
832
+ PluginProgramSiteEdge: () => PluginProgramSiteEdge,
833
+ PluginProgramSiteEdgeRole: () => PluginProgramSiteEdgeRole,
834
+ PluginProgramSiteEdgesEntry: () => PluginProgramSiteEdgesEntry,
835
+ PluginProgramSiteListEdgesResult: () => PluginProgramSiteListEdgesResult,
802
836
  PluginProgramSiteListGeoPolygonsResult: () => PluginProgramSiteListGeoPolygonsResult,
803
837
  PluginProgramSiteListPolygonsResult: () => PluginProgramSiteListPolygonsResult,
804
838
  PluginProgramSiteLocation: () => PluginProgramSiteLocation,
@@ -880,6 +914,7 @@ __export(index_exports, {
880
914
  PluginReferenceLineStyle: () => PluginReferenceLineStyle,
881
915
  PluginSelectionEntityType: () => PluginSelectionEntityType,
882
916
  PluginSelectionFilter: () => PluginSelectionFilter,
917
+ PluginSheetMargin: () => PluginSheetMargin,
883
918
  PluginSheetOrientation: () => PluginSheetOrientation,
884
919
  PluginSheetPosition: () => PluginSheetPosition,
885
920
  PluginSheetSize: () => PluginSheetSize,
@@ -981,6 +1016,8 @@ __export(index_exports, {
981
1016
  PluginStoryUpdateResult: () => PluginStoryUpdateResult,
982
1017
  PluginTeamMemberRef: () => PluginTeamMemberRef,
983
1018
  PluginTeamRef: () => PluginTeamRef,
1019
+ PluginTerrainReplaceMeshArgs: () => PluginTerrainReplaceMeshArgs,
1020
+ PluginTerrainReplaceMeshOptions: () => PluginTerrainReplaceMeshOptions,
984
1021
  PluginTerrainSetDatumArgs: () => PluginTerrainSetDatumArgs,
985
1022
  PluginTerrainSetOpacityArgs: () => PluginTerrainSetOpacityArgs,
986
1023
  PluginTimeoutError: () => PluginTimeoutError,
@@ -1003,6 +1040,9 @@ __export(index_exports, {
1003
1040
  PluginUserLocale: () => PluginUserLocale,
1004
1041
  PluginValidationError: () => PluginValidationError,
1005
1042
  PluginVec3Api: () => PluginVec3Api,
1043
+ PluginViewLabelType: () => PluginViewLabelType,
1044
+ PluginViewLineStyle: () => PluginViewLineStyle,
1045
+ PluginViewSettingCategory: () => PluginViewSettingCategory,
1006
1046
  PluginWallUpdates: () => PluginWallUpdates,
1007
1047
  PluginWeatherGetSeriesArgs: () => PluginWeatherGetSeriesArgs,
1008
1048
  PluginWeatherRow: () => PluginWeatherRow,
@@ -1184,7 +1224,8 @@ var PluginGeomCreateBrepFromExtrusionArgs = z2.object({
1184
1224
  });
1185
1225
  var PluginGeomCreateBrepFromLoftArgs = z2.object({
1186
1226
  bottomContour: ContourHandle,
1187
- topContour: ContourHandle
1227
+ topContour: ContourHandle,
1228
+ intermediateContours: z2.array(ContourHandle).optional()
1188
1229
  });
1189
1230
  var PluginGeomCreateBrepFromMeshArgs = z2.object({
1190
1231
  positions: z2.array(Vec3Components).min(4),
@@ -1194,6 +1235,45 @@ var PluginGeomCreateBrepBooleanArgs = z2.object({
1194
1235
  a: BrepHandle,
1195
1236
  b: BrepHandle
1196
1237
  });
1238
+ var FiniteVec3Components = z2.object({
1239
+ x: z2.number().finite(),
1240
+ y: z2.number().finite(),
1241
+ z: z2.number().finite()
1242
+ });
1243
+ var PluginGeomCreateBrepFromFilletArgs = z2.object({
1244
+ brep: BrepHandle,
1245
+ edges: z2.array(EdgeHandle).min(1),
1246
+ radius: z2.number().finite().positive()
1247
+ });
1248
+ var PluginGeomCreateBrepFromOffsetArgs = z2.object({
1249
+ brep: BrepHandle,
1250
+ distance: z2.number().finite().refine((value) => value !== 0, { message: "distance must be non-zero" })
1251
+ });
1252
+ var PluginGeomCreateBrepFromShellArgs = z2.object({
1253
+ brep: BrepHandle,
1254
+ openFaces: z2.array(FaceHandle).min(1),
1255
+ thickness: z2.number().finite().positive()
1256
+ });
1257
+ var PluginGeomCreateBrepsFromSplitArgs = z2.object({
1258
+ brep: BrepHandle,
1259
+ planeOrigin: FiniteVec3Components,
1260
+ planeNormal: FiniteVec3Components
1261
+ });
1262
+ var PluginGeomCreateBrepFromChamferArgs = z2.object({
1263
+ brep: BrepHandle,
1264
+ edges: z2.array(EdgeHandle).min(1),
1265
+ distance: z2.number().finite().positive()
1266
+ });
1267
+ var PluginGeomCreateBrepFromSweepArgs = z2.object({
1268
+ profile: ContourHandle,
1269
+ path: z2.array(FiniteVec3Components).min(2)
1270
+ });
1271
+ var PluginGeomCreateBrepFromRevolutionArgs = z2.object({
1272
+ profile: ContourHandle,
1273
+ axisOrigin: FiniteVec3Components,
1274
+ axisDirection: FiniteVec3Components,
1275
+ angleInDegrees: z2.number().finite().positive().max(360).optional()
1276
+ });
1197
1277
 
1198
1278
  // src/api/core/geom/query/curve.ts
1199
1279
  var z3 = __toESM(require("zod"), 1);
@@ -1521,6 +1601,10 @@ var PluginGeomQueryBrepIsEqualArgs = z8.object({
1521
1601
  brepA: BrepHandle,
1522
1602
  brepB: BrepHandle
1523
1603
  });
1604
+ var PluginGeomQueryBrepGetDistanceArgs = z8.object({
1605
+ brepA: BrepHandle,
1606
+ brepB: BrepHandle
1607
+ });
1524
1608
 
1525
1609
  // src/api/core/geom/query/face.ts
1526
1610
  var z9 = __toESM(require("zod"), 1);
@@ -2416,6 +2500,29 @@ var TerrainReport = z33.object({
2416
2500
  fillVolume: z33.number(),
2417
2501
  netVolume: z33.number()
2418
2502
  });
2503
+ var PluginTerrainReplaceMeshOptions = z33.object({
2504
+ coordinateSpace: z33.literal("world").optional(),
2505
+ expectedTerrain: z33.string().min(1).optional(),
2506
+ expectedModelRevision: z33.number().int().nonnegative().optional(),
2507
+ baseline: z33.literal("make-replacement-original").optional(),
2508
+ preserve: z33.object({
2509
+ datum: z33.boolean().optional(),
2510
+ geolocation: z33.boolean().optional(),
2511
+ satellite: z33.boolean().optional(),
2512
+ material: z33.boolean().optional()
2513
+ }).strict().optional(),
2514
+ clientMutationId: z33.string().min(1).max(128).optional()
2515
+ }).strict();
2516
+ var PluginTerrainReplaceMeshArgs = z33.object({
2517
+ positions: z33.array(z33.number().finite()).min(9).max(15e5).refine((a) => a.length % 3 === 0, {
2518
+ message: "positions must be a flat [x, y, z, \u2026] array (length a multiple of 3)"
2519
+ }),
2520
+ indices: z33.array(z33.number().int().nonnegative()).min(3).max(15e5).refine((a) => a.length % 3 === 0, {
2521
+ message: "indices must be a flat triangle list (length a multiple of 3)"
2522
+ }),
2523
+ units: z33.enum(["world", "meters"]).optional(),
2524
+ options: PluginTerrainReplaceMeshOptions.optional()
2525
+ });
2419
2526
  var PluginTerrainSetDatumArgs = z33.object({ offset: z33.number().finite() });
2420
2527
  var PluginTerrainSetOpacityArgs = z33.object({ opacity: z33.number().min(0).max(1) });
2421
2528
 
@@ -4418,6 +4525,27 @@ var PluginProgramSiteWeather = z65.object({
4418
4525
  ])
4419
4526
  });
4420
4527
  var PluginProgramSiteWeatherResult = PluginProgramSiteWeather.nullable();
4528
+ var PluginProgramSiteEdgeRole = z65.enum(["front", "side", "rear"]);
4529
+ var PluginProgramSiteEdge = z65.object({
4530
+ edgeIndex: z65.number().int().nonnegative(),
4531
+ start: z65.object({ x: z65.number(), z: z65.number() }),
4532
+ end: z65.object({ x: z65.number(), z: z65.number() }),
4533
+ lengthMeters: z65.number(),
4534
+ role: PluginProgramSiteEdgeRole,
4535
+ roleSource: z65.enum(["override", "heuristic"]),
4536
+ setbackMeters: z65.number().nullable()
4537
+ });
4538
+ var PluginProgramSiteEdgesEntry = z65.object({
4539
+ siteId: z65.string(),
4540
+ buildableEnvelopeId: z65.string().nullable(),
4541
+ usingLiveSiteBoundary: z65.boolean(),
4542
+ staleOverridesDropped: z65.boolean(),
4543
+ edges: z65.array(PluginProgramSiteEdge)
4544
+ });
4545
+ var PluginProgramSiteListEdgesResult = z65.object({
4546
+ lengthUnit: z65.literal("m"),
4547
+ sites: z65.array(PluginProgramSiteEdgesEntry)
4548
+ });
4421
4549
 
4422
4550
  // src/api/program/cores.ts
4423
4551
  var z66 = __toESM(require("zod"), 1);
@@ -4665,11 +4793,19 @@ var PluginSheetSize = z70.enum([
4665
4793
  "ISO_A0"
4666
4794
  ]);
4667
4795
  var PluginSheetOrientation = z70.enum(["landscape", "portrait"]);
4796
+ var PluginSheetMargin = z70.union([
4797
+ z70.literal(0),
4798
+ z70.literal(0.25),
4799
+ z70.literal(0.5),
4800
+ z70.literal(0.75),
4801
+ z70.literal(1)
4802
+ ]);
4668
4803
  var PluginPresentationSheet = z70.object({
4669
4804
  id: z70.string(),
4670
4805
  name: z70.string(),
4671
4806
  size: PluginSheetSize.nullable(),
4672
- orientation: PluginSheetOrientation.nullable()
4807
+ orientation: PluginSheetOrientation.nullable(),
4808
+ margin: PluginSheetMargin.nullable()
4673
4809
  });
4674
4810
  var PluginSheetPosition = z70.object({
4675
4811
  x: z70.number(),
@@ -4692,6 +4828,10 @@ var PluginPresentationSheetsSetSizeArgs = z70.object({
4692
4828
  size: PluginSheetSize,
4693
4829
  orientation: PluginSheetOrientation.optional()
4694
4830
  });
4831
+ var PluginPresentationSheetsSetMarginArgs = z70.object({
4832
+ sheetId: z70.string(),
4833
+ margin: PluginSheetMargin
4834
+ });
4695
4835
  var PluginPresentationSheetsPlaceArgs = z70.object({
4696
4836
  sheetId: z70.string(),
4697
4837
  viewId: z70.string(),
@@ -4781,6 +4921,119 @@ var PluginPresentationPlacedViewsSetCropArgs = z71.object({
4781
4921
  shapeId: z71.string(),
4782
4922
  crop: PluginPlacedViewCrop.nullable()
4783
4923
  });
4924
+ var PluginPresentationPlacedViewsSetRotationArgs = z71.object({
4925
+ shapeId: z71.string().min(1),
4926
+ rotation: z71.number().finite()
4927
+ });
4928
+ var PluginViewSettingCategory = z71.enum([
4929
+ "Site",
4930
+ "Topography",
4931
+ "Space",
4932
+ "Department",
4933
+ "Envelope",
4934
+ "Facade/Mass",
4935
+ "Dimension",
4936
+ "Reference Line",
4937
+ "Adjacency Line",
4938
+ "Landscape elements"
4939
+ ]);
4940
+ var PluginViewLineStyle = z71.enum([
4941
+ "solid",
4942
+ "dashed",
4943
+ "dashdot",
4944
+ "hidden",
4945
+ "center",
4946
+ "phantom",
4947
+ "propertyLine"
4948
+ ]);
4949
+ var PluginPlacedViewStylePatch = z71.object({
4950
+ hide: z71.boolean().optional(),
4951
+ lineStyle: PluginViewLineStyle.optional(),
4952
+ lineColor: z71.string().regex(/^#?[0-9a-fA-F]{6}$/, "lineColor must be a 6-digit hex color").optional(),
4953
+ dashLength: z71.number().finite().positive().optional(),
4954
+ lineWidth: z71.number().finite().min(0).optional(),
4955
+ cutWidth: z71.number().finite().min(0).optional(),
4956
+ projectionWidth: z71.number().finite().min(0).optional(),
4957
+ treeLineWidth: z71.number().finite().min(0).optional(),
4958
+ parkingLineWidth: z71.number().finite().min(0).optional(),
4959
+ colorMode: z71.string().refine(
4960
+ (v) => ["department", "texture", "monochrome"].includes(v) || v.startsWith("tag:"),
4961
+ { message: "colorMode must be department, texture, monochrome, or tag:<tagCategoryId>" }
4962
+ ).optional(),
4963
+ opacity: z71.number().finite().min(0).max(100).optional(),
4964
+ mapOpacity: z71.number().finite().min(0).max(100).optional(),
4965
+ buildingOpacity: z71.number().finite().min(0).max(100).optional(),
4966
+ mapHide: z71.boolean().optional(),
4967
+ buildingHide: z71.boolean().optional(),
4968
+ noBuilding: z71.boolean().optional(),
4969
+ viewStyle: z71.enum(["NONE", "FILLET", "BUBBLE"]).optional(),
4970
+ radius: z71.number().finite().min(0).optional(),
4971
+ inset: z71.number().finite().min(0).optional()
4972
+ }).strict().refine((p) => Object.keys(p).length > 0, { message: "patch must set at least one setting" });
4973
+ var PluginViewLabelType = z71.enum(["objectLabels", "department", "areas"]);
4974
+ var PluginViewFontVariantPatch = z71.object({
4975
+ fontFamily: z71.string().min(1).optional(),
4976
+ fontWeight: z71.string().regex(/^\d{3}$/, 'fontWeight must be a numeric string like "400" or "700"').optional(),
4977
+ fontStyle: z71.enum(["normal", "italic"]).optional(),
4978
+ fontSize: z71.number().finite().positive().max(200).optional()
4979
+ }).strict();
4980
+ var PluginPlacedViewFontStylesPatch = z71.object({
4981
+ visibleTypes: z71.array(PluginViewLabelType).optional(),
4982
+ objectLabels: PluginViewFontVariantPatch.optional(),
4983
+ department: PluginViewFontVariantPatch.optional(),
4984
+ areas: PluginViewFontVariantPatch.optional()
4985
+ }).strict().refine((p) => Object.keys(p).length > 0, { message: "patch must set at least one field" });
4986
+ var PluginPlacedViewsUpdateStylesArgs = z71.object({
4987
+ shapeId: z71.string().min(1),
4988
+ category: PluginViewSettingCategory,
4989
+ patch: PluginPlacedViewStylePatch
4990
+ });
4991
+ var PluginPlacedViewsUpdateFontStylesArgs = z71.object({
4992
+ shapeId: z71.string().min(1),
4993
+ category: PluginViewSettingCategory,
4994
+ patch: PluginPlacedViewFontStylesPatch
4995
+ });
4996
+ var PluginPlacedViewsMoveLabelArgs = z71.object({
4997
+ labelId: z71.string().min(1),
4998
+ position: PluginSheetPosition
4999
+ });
5000
+ var PluginPlacedViewsSetLabelHiddenArgs = z71.object({
5001
+ labelId: z71.string().min(1),
5002
+ hidden: z71.boolean()
5003
+ });
5004
+ var PluginCanvasShapeOrigin = z71.enum([
5005
+ "view",
5006
+ "aiOutput",
5007
+ "diagram",
5008
+ "pluginShape",
5009
+ "annotation",
5010
+ "image",
5011
+ "other"
5012
+ ]);
5013
+ var PluginPlacedViewsMoveShapeArgs = z71.object({
5014
+ shapeId: z71.string().min(1),
5015
+ position: PluginSheetPosition,
5016
+ sheetId: z71.string().optional()
5017
+ });
5018
+ var PluginPlacedViewsResizeShapeArgs = z71.object({
5019
+ shapeId: z71.string().min(1),
5020
+ factor: z71.number().finite().min(0.01).max(100)
5021
+ });
5022
+ var PluginPresentationPlacedViewsRotateShapeArgs = z71.object({
5023
+ shapeId: z71.string().min(1),
5024
+ rotation: z71.number().finite()
5025
+ });
5026
+ var PluginPlacedViewsDeleteShapesArgs = z71.object({
5027
+ shapeIds: z71.array(z71.string().min(1)).min(1).max(500)
5028
+ });
5029
+ var PluginPlacedViewsSetOpacityArgs = z71.object({
5030
+ shapeId: z71.string().min(1),
5031
+ opacity: z71.number().finite().min(0).max(1)
5032
+ });
5033
+ var PluginPlacedViewsSetMaskArgs = z71.object({
5034
+ shapeId: z71.string().min(1),
5035
+ enabled: z71.boolean()
5036
+ });
4784
5037
 
4785
5038
  // src/api/presentation/diagrams.ts
4786
5039
  var z72 = __toESM(require("zod"), 1);
@@ -4796,6 +5049,14 @@ var PluginPresentationDiagramsPlaceArgs = z72.object({
4796
5049
  var PluginPresentationDiagramsPlaceResult = z72.object({
4797
5050
  shapeIds: z72.array(z72.string())
4798
5051
  });
5052
+ var PluginPresentationSiteDiagramType = z72.enum([
5053
+ "location",
5054
+ "streetview",
5055
+ "climate"
5056
+ ]);
5057
+ var PluginPresentationDiagramsGenerateSiteArgs = z72.object({
5058
+ types: z72.array(PluginPresentationSiteDiagramType).min(1).optional()
5059
+ });
4799
5060
  var PluginPresentationDiagramsGenerateResult = z72.object({
4800
5061
  sheetIds: z72.array(z72.string())
4801
5062
  });
@@ -4827,7 +5088,13 @@ var PluginPresentationAnnotateTextArgs = z73.object({
4827
5088
  text: z73.string(),
4828
5089
  position: z73.object({ x: z73.number(), y: z73.number() }).optional(),
4829
5090
  size: PluginAnnotateTextSize.optional(),
4830
- color: PluginAnnotateTextColor.optional()
5091
+ color: PluginAnnotateTextColor.optional(),
5092
+ fontFamily: z73.string().min(1).optional(),
5093
+ fontWeight: z73.string().regex(
5094
+ /^\d{3}(-italic)?$/,
5095
+ 'fontWeight must be a numeric string like "400" or "700", optionally with the "-italic" suffix'
5096
+ ).optional(),
5097
+ fontSizePx: z73.number().finite().positive().optional()
4831
5098
  });
4832
5099
  var PluginPresentationAnnotateTextResult = z73.object({
4833
5100
  shapeId: z73.string()
@@ -4950,229 +5217,258 @@ var PluginPresentationShapesListResult = z74.object({
4950
5217
  )
4951
5218
  });
4952
5219
 
4953
- // src/api/presentation/import.ts
5220
+ // src/api/presentation/tables.ts
4954
5221
  var z75 = __toESM(require("zod"), 1);
4955
- var PluginPresentationImportApi = class {
5222
+ var PluginPresentationTablesApi = class {
4956
5223
  constructor() {
4957
5224
  }
4958
5225
  };
4959
- var PluginPresentationImportArgs = z75.object({
4960
- url: z75.string().optional(),
4961
- dataUrl: z75.string().optional(),
5226
+ var PluginPresentationTablesPlaceArgs = z75.object({
5227
+ sheetId: z75.string().min(1),
5228
+ rows: z75.array(z75.array(z75.string()).min(1)).min(1).refine((rows) => rows.reduce((n, r) => n + r.length, 0) <= 1e4, {
5229
+ message: "table exceeds the 10000-cell cap"
5230
+ }),
4962
5231
  position: z75.object({ x: z75.number(), y: z75.number() }).optional()
5232
+ });
5233
+
5234
+ // src/api/presentation/slideshow.ts
5235
+ var z76 = __toESM(require("zod"), 1);
5236
+ var PluginPresentationSlideshowApi = class {
5237
+ constructor() {
5238
+ }
5239
+ };
5240
+ var PluginPresentationSlideshowStartArgs = z76.object({
5241
+ sheetIds: z76.array(z76.string().min(1)).optional(),
5242
+ startIndex: z76.number().int().min(0).optional()
5243
+ });
5244
+ var PluginPresentationSlideshowState = z76.object({
5245
+ running: z76.boolean(),
5246
+ index: z76.number().int().nullable()
5247
+ });
5248
+
5249
+ // src/api/presentation/import.ts
5250
+ var z77 = __toESM(require("zod"), 1);
5251
+ var PluginPresentationImportApi = class {
5252
+ constructor() {
5253
+ }
5254
+ };
5255
+ var PluginPresentationImportArgs = z77.object({
5256
+ url: z77.string().optional(),
5257
+ dataUrl: z77.string().optional(),
5258
+ position: z77.object({ x: z77.number(), y: z77.number() }).optional()
4963
5259
  }).refine((a) => Boolean(a.url) || Boolean(a.dataUrl), {
4964
5260
  message: "Provide a url or a dataUrl"
4965
5261
  });
4966
- var PluginPresentationImportResult = z75.object({
4967
- shapeIds: z75.array(z75.string())
5262
+ var PluginPresentationImportResult = z77.object({
5263
+ shapeIds: z77.array(z77.string())
4968
5264
  });
4969
5265
 
4970
5266
  // src/api/presentation/aiInspiration.ts
4971
- var z76 = __toESM(require("zod"), 1);
4972
- var JsonPrimitive = z76.union([z76.string(), z76.number(), z76.boolean(), z76.null()]);
4973
- var JsonValue = z76.lazy(
4974
- () => z76.union([JsonPrimitive, z76.array(JsonValue), z76.record(z76.string(), JsonValue)])
5267
+ var z78 = __toESM(require("zod"), 1);
5268
+ var JsonPrimitive = z78.union([z78.string(), z78.number(), z78.boolean(), z78.null()]);
5269
+ var JsonValue = z78.lazy(
5270
+ () => z78.union([JsonPrimitive, z78.array(JsonValue), z78.record(z78.string(), JsonValue)])
4975
5271
  );
4976
- var PluginAIInspirationRunMode = z76.enum(["blocking", "job"]);
4977
- var PluginAIInspirationOutputKind = z76.enum([
5272
+ var PluginAIInspirationRunMode = z78.enum(["blocking", "job"]);
5273
+ var PluginAIInspirationOutputKind = z78.enum([
4978
5274
  "source",
4979
5275
  "image",
4980
5276
  "video"
4981
5277
  ]);
4982
- var PluginAIInspirationModelOutput = z76.enum(["image", "video"]);
4983
- var PluginAIInspirationRuntimeProvider = z76.enum(["gpt", "fal"]);
4984
- var PluginAIInspirationPromptStrategy = z76.enum([
5278
+ var PluginAIInspirationModelOutput = z78.enum(["image", "video"]);
5279
+ var PluginAIInspirationRuntimeProvider = z78.enum(["gpt", "fal"]);
5280
+ var PluginAIInspirationPromptStrategy = z78.enum([
4985
5281
  "gpt-image",
4986
5282
  "fal-image",
4987
5283
  "fal-video"
4988
5284
  ]);
4989
- var PluginAIInspirationShapeKind = z76.enum(["image", "view", "video"]);
4990
- var PluginAIInspirationVideoMode = z76.enum([
5285
+ var PluginAIInspirationShapeKind = z78.enum(["image", "view", "video"]);
5286
+ var PluginAIInspirationVideoMode = z78.enum([
4991
5287
  "animate",
4992
5288
  "references",
4993
5289
  "keyframes"
4994
5290
  ]);
4995
- var PluginAIInspirationVideoMotion = z76.enum([
5291
+ var PluginAIInspirationVideoMotion = z78.enum([
4996
5292
  "auto",
4997
5293
  "slow-dolly",
4998
5294
  "subtle-orbit",
4999
5295
  "reveal"
5000
5296
  ]);
5001
- var PluginAIInspirationVideoDuration = z76.enum(["4s", "6s", "8s"]);
5002
- var PluginAIInspirationJobStatus = z76.enum([
5297
+ var PluginAIInspirationVideoDuration = z78.enum(["4s", "6s", "8s"]);
5298
+ var PluginAIInspirationJobStatus = z78.enum([
5003
5299
  "queued",
5004
5300
  "running",
5005
5301
  "completed",
5006
5302
  "failed",
5007
5303
  "cancelled"
5008
5304
  ]);
5009
- var PluginAIInspirationWorkflowRunState = z76.enum([
5305
+ var PluginAIInspirationWorkflowRunState = z78.enum([
5010
5306
  "current",
5011
5307
  "stale",
5012
5308
  "running",
5013
5309
  "failed",
5014
5310
  "superseded"
5015
5311
  ]);
5016
- var PluginAIInspirationRegionHint = z76.object({
5017
- x: z76.number().finite(),
5018
- y: z76.number().finite(),
5019
- w: z76.number().finite().positive(),
5020
- h: z76.number().finite().positive()
5021
- });
5022
- var PluginAIInspirationPoint = z76.object({
5023
- x: z76.number().finite(),
5024
- y: z76.number().finite()
5025
- });
5026
- var PluginAIInspirationTextAnnotation = z76.object({
5027
- text: z76.string().min(1),
5028
- x: z76.number().finite().optional(),
5029
- y: z76.number().finite().optional()
5030
- });
5031
- var PluginAIInspirationSketchGuidance = z76.object({
5032
- visualShapeIds: z76.array(z76.string()).optional(),
5033
- textAnnotations: z76.array(PluginAIInspirationTextAnnotation).optional()
5034
- });
5035
- var PluginAIInspirationSiteOptions = z76.object({
5036
- includeSatellite: z76.boolean().optional(),
5037
- includeStreetView: z76.boolean().optional(),
5038
- includeAerial: z76.boolean().optional(),
5039
- aerialBearing: z76.number().finite().optional(),
5040
- aerialPitch: z76.number().finite().optional(),
5041
- selectedDiagramIds: z76.array(z76.string()).optional(),
5042
- location: z76.object({
5043
- lat: z76.number().finite(),
5044
- lng: z76.number().finite()
5312
+ var PluginAIInspirationRegionHint = z78.object({
5313
+ x: z78.number().finite(),
5314
+ y: z78.number().finite(),
5315
+ w: z78.number().finite().positive(),
5316
+ h: z78.number().finite().positive()
5317
+ });
5318
+ var PluginAIInspirationPoint = z78.object({
5319
+ x: z78.number().finite(),
5320
+ y: z78.number().finite()
5321
+ });
5322
+ var PluginAIInspirationTextAnnotation = z78.object({
5323
+ text: z78.string().min(1),
5324
+ x: z78.number().finite().optional(),
5325
+ y: z78.number().finite().optional()
5326
+ });
5327
+ var PluginAIInspirationSketchGuidance = z78.object({
5328
+ visualShapeIds: z78.array(z78.string()).optional(),
5329
+ textAnnotations: z78.array(PluginAIInspirationTextAnnotation).optional()
5330
+ });
5331
+ var PluginAIInspirationSiteOptions = z78.object({
5332
+ includeSatellite: z78.boolean().optional(),
5333
+ includeStreetView: z78.boolean().optional(),
5334
+ includeAerial: z78.boolean().optional(),
5335
+ aerialBearing: z78.number().finite().optional(),
5336
+ aerialPitch: z78.number().finite().optional(),
5337
+ selectedDiagramIds: z78.array(z78.string()).optional(),
5338
+ location: z78.object({
5339
+ lat: z78.number().finite(),
5340
+ lng: z78.number().finite()
5045
5341
  }).optional()
5046
5342
  });
5047
- var PluginAIInspirationAppliedPreset = z76.object({
5048
- source: z76.enum(["curated", "user"]),
5049
- presetId: z76.string().min(1),
5050
- name: z76.string().min(1),
5051
- savedPresetKind: z76.enum(["prompt", "style"]).optional(),
5052
- stylePrompt: z76.string().optional(),
5053
- modelId: z76.string().optional(),
5054
- referenceImages: z76.array(
5055
- z76.object({
5056
- url: z76.string().min(1),
5057
- label: z76.string().optional(),
5058
- weight: z76.number().finite().optional()
5343
+ var PluginAIInspirationAppliedPreset = z78.object({
5344
+ source: z78.enum(["curated", "user"]),
5345
+ presetId: z78.string().min(1),
5346
+ name: z78.string().min(1),
5347
+ savedPresetKind: z78.enum(["prompt", "style"]).optional(),
5348
+ stylePrompt: z78.string().optional(),
5349
+ modelId: z78.string().optional(),
5350
+ referenceImages: z78.array(
5351
+ z78.object({
5352
+ url: z78.string().min(1),
5353
+ label: z78.string().optional(),
5354
+ weight: z78.number().finite().optional()
5059
5355
  })
5060
5356
  ).optional(),
5061
- siteDefaults: z76.object({
5062
- includeSatellite: z76.boolean().optional(),
5063
- includeStreetView: z76.boolean().optional(),
5064
- includeAerial: z76.boolean().optional()
5357
+ siteDefaults: z78.object({
5358
+ includeSatellite: z78.boolean().optional(),
5359
+ includeStreetView: z78.boolean().optional(),
5360
+ includeAerial: z78.boolean().optional()
5065
5361
  }).optional()
5066
5362
  });
5067
- var PluginAIInspirationVideoOptions = z76.object({
5363
+ var PluginAIInspirationVideoOptions = z78.object({
5068
5364
  mode: PluginAIInspirationVideoMode.optional(),
5069
- endFrameShapeId: z76.string().optional(),
5365
+ endFrameShapeId: z78.string().optional(),
5070
5366
  motion: PluginAIInspirationVideoMotion.optional(),
5071
5367
  duration: PluginAIInspirationVideoDuration.optional()
5072
5368
  });
5073
- var PluginAIInspirationModel = z76.object({
5074
- id: z76.string(),
5075
- label: z76.string(),
5076
- supportsMultiImage: z76.boolean(),
5369
+ var PluginAIInspirationModel = z78.object({
5370
+ id: z78.string(),
5371
+ label: z78.string(),
5372
+ supportsMultiImage: z78.boolean(),
5077
5373
  output: PluginAIInspirationModelOutput,
5078
- isDefault: z76.boolean().optional()
5374
+ isDefault: z78.boolean().optional()
5079
5375
  });
5080
- var PluginAIInspirationModelCapability = z76.object({
5081
- id: z76.string(),
5376
+ var PluginAIInspirationModelCapability = z78.object({
5377
+ id: z78.string(),
5082
5378
  output: PluginAIInspirationModelOutput,
5083
5379
  provider: PluginAIInspirationRuntimeProvider,
5084
- supportsRegionEdit: z76.boolean(),
5085
- supportsReferenceImages: z76.boolean(),
5086
- supportsStylePresets: z76.boolean(),
5087
- supportsSiteContext: z76.boolean(),
5088
- supportsSketchGuidance: z76.boolean(),
5089
- supportsKeyframes: z76.boolean(),
5090
- maxExtraImages: z76.number().int().nonnegative(),
5380
+ supportsRegionEdit: z78.boolean(),
5381
+ supportsReferenceImages: z78.boolean(),
5382
+ supportsStylePresets: z78.boolean(),
5383
+ supportsSiteContext: z78.boolean(),
5384
+ supportsSketchGuidance: z78.boolean(),
5385
+ supportsKeyframes: z78.boolean(),
5386
+ maxExtraImages: z78.number().int().nonnegative(),
5091
5387
  promptStrategy: PluginAIInspirationPromptStrategy
5092
5388
  });
5093
- var PluginAIInspirationListModelsResult = z76.object({
5094
- defaultModelId: z76.string(),
5095
- models: z76.array(PluginAIInspirationModel)
5389
+ var PluginAIInspirationListModelsResult = z78.object({
5390
+ defaultModelId: z78.string(),
5391
+ models: z78.array(PluginAIInspirationModel)
5096
5392
  });
5097
- var PluginAIInspirationGetModelCapabilitiesArgs = z76.object({
5098
- modelId: z76.string().min(1)
5393
+ var PluginAIInspirationGetModelCapabilitiesArgs = z78.object({
5394
+ modelId: z78.string().min(1)
5099
5395
  });
5100
- var PluginAIInspirationGetModelCapabilitiesResult = z76.object({
5396
+ var PluginAIInspirationGetModelCapabilitiesResult = z78.object({
5101
5397
  capability: PluginAIInspirationModelCapability
5102
5398
  });
5103
- var PluginAIInspirationShapeRef = z76.object({
5104
- shapeId: z76.string(),
5105
- assetId: z76.string().optional(),
5399
+ var PluginAIInspirationShapeRef = z78.object({
5400
+ shapeId: z78.string(),
5401
+ assetId: z78.string().optional(),
5106
5402
  kind: PluginAIInspirationShapeKind,
5107
- name: z76.string().optional(),
5108
- width: z76.number().finite().optional(),
5109
- height: z76.number().finite().optional(),
5403
+ name: z78.string().optional(),
5404
+ width: z78.number().finite().optional(),
5405
+ height: z78.number().finite().optional(),
5110
5406
  outputType: PluginAIInspirationOutputKind.optional(),
5111
- sourceUrl: z76.string().optional()
5112
- });
5113
- var PluginAIInspirationListSourcesArgs = z76.object({
5114
- includeGenerated: z76.boolean().optional(),
5115
- includeSourceUrl: z76.boolean().optional()
5116
- });
5117
- var PluginAIInspirationListSourcesResult = z76.object({
5118
- sources: z76.array(PluginAIInspirationShapeRef)
5119
- });
5120
- var PluginAIInspirationGetSelectionResult = z76.object({
5121
- selectedShapeIds: z76.array(z76.string()),
5122
- sources: z76.array(PluginAIInspirationShapeRef)
5123
- });
5124
- var PluginAIInspirationPresetReferenceImage = z76.object({
5125
- url: z76.string(),
5126
- label: z76.string().optional(),
5127
- weight: z76.number().finite().optional()
5128
- });
5129
- var PluginAIInspirationPreset = z76.object({
5130
- id: z76.string(),
5131
- name: z76.string(),
5132
- source: z76.enum(["curated", "user"]),
5133
- modelId: z76.string(),
5134
- categoryId: z76.string().optional(),
5135
- categoryLabel: z76.string().optional(),
5136
- description: z76.string().optional(),
5137
- previewImageUrl: z76.string().optional(),
5138
- prompt: z76.string().optional(),
5139
- stylePrompt: z76.string().optional(),
5140
- tags: z76.array(z76.string()).optional(),
5141
- referenceImages: z76.array(PluginAIInspirationPresetReferenceImage).optional(),
5407
+ sourceUrl: z78.string().optional()
5408
+ });
5409
+ var PluginAIInspirationListSourcesArgs = z78.object({
5410
+ includeGenerated: z78.boolean().optional(),
5411
+ includeSourceUrl: z78.boolean().optional()
5412
+ });
5413
+ var PluginAIInspirationListSourcesResult = z78.object({
5414
+ sources: z78.array(PluginAIInspirationShapeRef)
5415
+ });
5416
+ var PluginAIInspirationGetSelectionResult = z78.object({
5417
+ selectedShapeIds: z78.array(z78.string()),
5418
+ sources: z78.array(PluginAIInspirationShapeRef)
5419
+ });
5420
+ var PluginAIInspirationPresetReferenceImage = z78.object({
5421
+ url: z78.string(),
5422
+ label: z78.string().optional(),
5423
+ weight: z78.number().finite().optional()
5424
+ });
5425
+ var PluginAIInspirationPreset = z78.object({
5426
+ id: z78.string(),
5427
+ name: z78.string(),
5428
+ source: z78.enum(["curated", "user"]),
5429
+ modelId: z78.string(),
5430
+ categoryId: z78.string().optional(),
5431
+ categoryLabel: z78.string().optional(),
5432
+ description: z78.string().optional(),
5433
+ previewImageUrl: z78.string().optional(),
5434
+ prompt: z78.string().optional(),
5435
+ stylePrompt: z78.string().optional(),
5436
+ tags: z78.array(z78.string()).optional(),
5437
+ referenceImages: z78.array(PluginAIInspirationPresetReferenceImage).optional(),
5142
5438
  siteDefaults: PluginAIInspirationAppliedPreset.shape.siteDefaults.optional()
5143
5439
  });
5144
- var PluginAIInspirationPresetCategory = z76.object({
5145
- id: z76.string(),
5146
- label: z76.string(),
5147
- description: z76.string().optional()
5440
+ var PluginAIInspirationPresetCategory = z78.object({
5441
+ id: z78.string(),
5442
+ label: z78.string(),
5443
+ description: z78.string().optional()
5148
5444
  });
5149
- var PluginAIInspirationGetPresetCatalogResult = z76.object({
5150
- categories: z76.array(PluginAIInspirationPresetCategory),
5151
- presets: z76.array(PluginAIInspirationPreset)
5445
+ var PluginAIInspirationGetPresetCatalogResult = z78.object({
5446
+ categories: z78.array(PluginAIInspirationPresetCategory),
5447
+ presets: z78.array(PluginAIInspirationPreset)
5152
5448
  });
5153
- var PluginAIInspirationOutput = z76.object({
5154
- outputType: z76.enum(["image", "video"]),
5155
- shapeId: z76.string(),
5156
- assetId: z76.string(),
5157
- outputUrl: z76.string().optional(),
5449
+ var PluginAIInspirationOutput = z78.object({
5450
+ outputType: z78.enum(["image", "video"]),
5451
+ shapeId: z78.string(),
5452
+ assetId: z78.string(),
5453
+ outputUrl: z78.string().optional(),
5158
5454
  position: PluginAIInspirationPoint.optional()
5159
5455
  });
5160
- var PluginAIInspirationDebugSummary = z76.record(z76.string(), JsonValue);
5161
- var PluginAIInspirationRunMetadata = z76.object({
5162
- geometryFidelity: z76.string().optional(),
5456
+ var PluginAIInspirationDebugSummary = z78.record(z78.string(), JsonValue);
5457
+ var PluginAIInspirationRunMetadata = z78.object({
5458
+ geometryFidelity: z78.string().optional(),
5163
5459
  debugSummary: PluginAIInspirationDebugSummary.optional(),
5164
- streetViewComposite: z76.object({
5165
- used: z76.boolean(),
5166
- renderMode: z76.enum(["prompt_refs_default", "masked_composite_pilot"]),
5167
- backgroundLabel: z76.string().optional()
5460
+ streetViewComposite: z78.object({
5461
+ used: z78.boolean(),
5462
+ renderMode: z78.enum(["prompt_refs_default", "masked_composite_pilot"]),
5463
+ backgroundLabel: z78.string().optional()
5168
5464
  }).optional()
5169
5465
  });
5170
- var PluginAIInspirationGenerateArgs = z76.object({
5171
- sourceShapeId: z76.string().min(1),
5172
- prompt: z76.string().min(1).max(8e3),
5173
- modelId: z76.string().optional(),
5174
- referenceShapeIds: z76.array(z76.string()).max(12).optional(),
5175
- referenceStrength: z76.enum(["low", "medium", "high"]).optional(),
5466
+ var PluginAIInspirationGenerateArgs = z78.object({
5467
+ sourceShapeId: z78.string().min(1),
5468
+ prompt: z78.string().min(1).max(8e3),
5469
+ modelId: z78.string().optional(),
5470
+ referenceShapeIds: z78.array(z78.string()).max(12).optional(),
5471
+ referenceStrength: z78.enum(["low", "medium", "high"]).optional(),
5176
5472
  appliedPreset: PluginAIInspirationAppliedPreset.optional(),
5177
5473
  site: PluginAIInspirationSiteOptions.optional(),
5178
5474
  regionHint: PluginAIInspirationRegionHint.optional(),
@@ -5180,129 +5476,129 @@ var PluginAIInspirationGenerateArgs = z76.object({
5180
5476
  video: PluginAIInspirationVideoOptions.optional(),
5181
5477
  runMode: PluginAIInspirationRunMode.optional()
5182
5478
  });
5183
- var PluginAIInspirationRunResult = z76.object({
5184
- jobId: z76.string().optional(),
5479
+ var PluginAIInspirationRunResult = z78.object({
5480
+ jobId: z78.string().optional(),
5185
5481
  output: PluginAIInspirationOutput.optional(),
5186
- outputs: z76.array(PluginAIInspirationOutput).optional(),
5482
+ outputs: z78.array(PluginAIInspirationOutput).optional(),
5187
5483
  metadata: PluginAIInspirationRunMetadata.optional()
5188
5484
  });
5189
- var PluginAIInspirationRefineArgs = z76.object({
5190
- sourceShapeId: z76.string().min(1),
5191
- upscaleFactor: z76.union([z76.literal(1.5), z76.literal(2), z76.literal(4)]).optional(),
5485
+ var PluginAIInspirationRefineArgs = z78.object({
5486
+ sourceShapeId: z78.string().min(1),
5487
+ upscaleFactor: z78.union([z78.literal(1.5), z78.literal(2), z78.literal(4)]).optional(),
5192
5488
  runMode: PluginAIInspirationRunMode.optional()
5193
5489
  });
5194
- var PluginAIInspirationJobProgress = z76.object({
5195
- currentStep: z76.number().int().nonnegative().optional(),
5196
- totalSteps: z76.number().int().nonnegative().optional(),
5197
- message: z76.string().optional()
5490
+ var PluginAIInspirationJobProgress = z78.object({
5491
+ currentStep: z78.number().int().nonnegative().optional(),
5492
+ totalSteps: z78.number().int().nonnegative().optional(),
5493
+ message: z78.string().optional()
5198
5494
  });
5199
- var PluginAIInspirationJob = z76.object({
5200
- jobId: z76.string(),
5495
+ var PluginAIInspirationJob = z78.object({
5496
+ jobId: z78.string(),
5201
5497
  status: PluginAIInspirationJobStatus,
5202
- createdAt: z76.number(),
5203
- updatedAt: z76.number(),
5204
- completedAt: z76.number().optional(),
5205
- method: z76.string(),
5498
+ createdAt: z78.number(),
5499
+ updatedAt: z78.number(),
5500
+ completedAt: z78.number().optional(),
5501
+ method: z78.string(),
5206
5502
  progress: PluginAIInspirationJobProgress.optional(),
5207
5503
  result: PluginAIInspirationRunResult.optional(),
5208
- error: z76.string().optional()
5504
+ error: z78.string().optional()
5209
5505
  });
5210
- var PluginAIInspirationJobArgs = z76.object({
5211
- jobId: z76.string().min(1)
5506
+ var PluginAIInspirationJobArgs = z78.object({
5507
+ jobId: z78.string().min(1)
5212
5508
  });
5213
- var PluginAIInspirationGetJobResult = z76.object({
5509
+ var PluginAIInspirationGetJobResult = z78.object({
5214
5510
  job: PluginAIInspirationJob
5215
5511
  });
5216
- var PluginAIInspirationCancelJobResult = z76.object({
5512
+ var PluginAIInspirationCancelJobResult = z78.object({
5217
5513
  job: PluginAIInspirationJob
5218
5514
  });
5219
- var PluginAIInspirationListJobsResult = z76.object({
5220
- jobs: z76.array(PluginAIInspirationJob)
5515
+ var PluginAIInspirationListJobsResult = z78.object({
5516
+ jobs: z78.array(PluginAIInspirationJob)
5221
5517
  });
5222
- var PluginAIInspirationWorkflowVideoConfig = z76.object({
5223
- mode: z76.string().optional(),
5224
- motion: z76.string().optional(),
5225
- duration: z76.string().optional(),
5226
- endFrameShapeId: z76.string().optional()
5518
+ var PluginAIInspirationWorkflowVideoConfig = z78.object({
5519
+ mode: z78.string().optional(),
5520
+ motion: z78.string().optional(),
5521
+ duration: z78.string().optional(),
5522
+ endFrameShapeId: z78.string().optional()
5227
5523
  });
5228
- var PluginAIInspirationGenerationInputSnapshot = z76.object({
5229
- version: z76.literal(1),
5230
- meta: z76.record(z76.string(), JsonValue),
5524
+ var PluginAIInspirationGenerationInputSnapshot = z78.object({
5525
+ version: z78.literal(1),
5526
+ meta: z78.record(z78.string(), JsonValue),
5231
5527
  regionHint: PluginAIInspirationRegionHint.optional(),
5232
- sketchGuidance: z76.record(z76.string(), JsonValue).optional(),
5233
- sourceCameraHeading: z76.number().finite().optional()
5234
- });
5235
- var PluginAIInspirationWorkflowOperation = z76.object({
5236
- type: z76.enum(["generate-image", "refine", "generate-video"]),
5237
- label: z76.string(),
5238
- prompt: z76.string().optional(),
5239
- modelId: z76.string().optional(),
5240
- presetId: z76.string().optional(),
5241
- presetName: z76.string().optional(),
5242
- refineFactor: z76.number().finite().optional(),
5243
- sourceRole: z76.enum(["primary", "end-frame"]).optional(),
5528
+ sketchGuidance: z78.record(z78.string(), JsonValue).optional(),
5529
+ sourceCameraHeading: z78.number().finite().optional()
5530
+ });
5531
+ var PluginAIInspirationWorkflowOperation = z78.object({
5532
+ type: z78.enum(["generate-image", "refine", "generate-video"]),
5533
+ label: z78.string(),
5534
+ prompt: z78.string().optional(),
5535
+ modelId: z78.string().optional(),
5536
+ presetId: z78.string().optional(),
5537
+ presetName: z78.string().optional(),
5538
+ refineFactor: z78.number().finite().optional(),
5539
+ sourceRole: z78.enum(["primary", "end-frame"]).optional(),
5244
5540
  video: PluginAIInspirationWorkflowVideoConfig.optional(),
5245
5541
  generationInput: PluginAIInspirationGenerationInputSnapshot.optional()
5246
5542
  });
5247
- var PluginAIInspirationWorkflowNode = z76.object({
5248
- id: z76.string(),
5249
- shapeId: z76.string(),
5250
- assetId: z76.string().optional(),
5543
+ var PluginAIInspirationWorkflowNode = z78.object({
5544
+ id: z78.string(),
5545
+ shapeId: z78.string(),
5546
+ assetId: z78.string().optional(),
5251
5547
  kind: PluginAIInspirationOutputKind,
5252
- state: z76.string(),
5548
+ state: z78.string(),
5253
5549
  runState: PluginAIInspirationWorkflowRunState.optional(),
5254
- staleReason: z76.string().optional(),
5255
- incomingEdgeIds: z76.array(z76.string()),
5256
- outgoingEdgeIds: z76.array(z76.string()),
5257
- createdAt: z76.number(),
5258
- updatedAt: z76.number()
5259
- });
5260
- var PluginAIInspirationWorkflowEdge = z76.object({
5261
- id: z76.string(),
5262
- sourceNodeId: z76.string(),
5263
- targetNodeId: z76.string(),
5264
- arrowShapeId: z76.string().optional(),
5550
+ staleReason: z78.string().optional(),
5551
+ incomingEdgeIds: z78.array(z78.string()),
5552
+ outgoingEdgeIds: z78.array(z78.string()),
5553
+ createdAt: z78.number(),
5554
+ updatedAt: z78.number()
5555
+ });
5556
+ var PluginAIInspirationWorkflowEdge = z78.object({
5557
+ id: z78.string(),
5558
+ sourceNodeId: z78.string(),
5559
+ targetNodeId: z78.string(),
5560
+ arrowShapeId: z78.string().optional(),
5265
5561
  operation: PluginAIInspirationWorkflowOperation,
5266
- state: z76.string(),
5562
+ state: z78.string(),
5267
5563
  runState: PluginAIInspirationWorkflowRunState.optional(),
5268
- staleReason: z76.string().optional(),
5269
- supersededByEdgeId: z76.string().optional(),
5270
- createdAt: z76.number(),
5271
- updatedAt: z76.number()
5272
- });
5273
- var PluginAIInspirationWorkflow = z76.object({
5274
- id: z76.string(),
5275
- rootNodeIds: z76.array(z76.string()),
5276
- nodeIds: z76.array(z76.string()),
5277
- edgeIds: z76.array(z76.string()),
5278
- nodes: z76.record(z76.string(), PluginAIInspirationWorkflowNode),
5279
- edges: z76.record(z76.string(), PluginAIInspirationWorkflowEdge),
5280
- createdAt: z76.number(),
5281
- updatedAt: z76.number()
5282
- });
5283
- var PluginAIInspirationGetWorkflowForShapeArgs = z76.object({
5284
- shapeId: z76.string().min(1)
5285
- });
5286
- var PluginAIInspirationGetWorkflowForShapeResult = z76.object({
5564
+ staleReason: z78.string().optional(),
5565
+ supersededByEdgeId: z78.string().optional(),
5566
+ createdAt: z78.number(),
5567
+ updatedAt: z78.number()
5568
+ });
5569
+ var PluginAIInspirationWorkflow = z78.object({
5570
+ id: z78.string(),
5571
+ rootNodeIds: z78.array(z78.string()),
5572
+ nodeIds: z78.array(z78.string()),
5573
+ edgeIds: z78.array(z78.string()),
5574
+ nodes: z78.record(z78.string(), PluginAIInspirationWorkflowNode),
5575
+ edges: z78.record(z78.string(), PluginAIInspirationWorkflowEdge),
5576
+ createdAt: z78.number(),
5577
+ updatedAt: z78.number()
5578
+ });
5579
+ var PluginAIInspirationGetWorkflowForShapeArgs = z78.object({
5580
+ shapeId: z78.string().min(1)
5581
+ });
5582
+ var PluginAIInspirationGetWorkflowForShapeResult = z78.object({
5287
5583
  workflow: PluginAIInspirationWorkflow.nullable(),
5288
5584
  node: PluginAIInspirationWorkflowNode.nullable()
5289
5585
  });
5290
- var PluginAIInspirationRerunPlanResult = z76.discriminatedUnion(
5586
+ var PluginAIInspirationRerunPlanResult = z78.discriminatedUnion(
5291
5587
  "status",
5292
5588
  [
5293
- z76.object({
5294
- status: z76.literal("ready"),
5295
- workflowId: z76.string(),
5589
+ z78.object({
5590
+ status: z78.literal("ready"),
5591
+ workflowId: z78.string(),
5296
5592
  sourceNode: PluginAIInspirationWorkflowNode,
5297
- edgeIds: z76.array(z76.string()),
5298
- edges: z76.array(PluginAIInspirationWorkflowEdge),
5299
- recipe: z76.lazy(() => PluginAIInspirationRecipe),
5300
- needsEndFrame: z76.boolean(),
5301
- defaultEndFrameShapeId: z76.string().nullable()
5593
+ edgeIds: z78.array(z78.string()),
5594
+ edges: z78.array(PluginAIInspirationWorkflowEdge),
5595
+ recipe: z78.lazy(() => PluginAIInspirationRecipe),
5596
+ needsEndFrame: z78.boolean(),
5597
+ defaultEndFrameShapeId: z78.string().nullable()
5302
5598
  }),
5303
- z76.object({
5304
- status: z76.literal("unavailable"),
5305
- reason: z76.enum([
5599
+ z78.object({
5600
+ status: z78.literal("unavailable"),
5601
+ reason: z78.enum([
5306
5602
  "not-in-workflow",
5307
5603
  "source-only",
5308
5604
  "running",
@@ -5311,47 +5607,47 @@ var PluginAIInspirationRerunPlanResult = z76.discriminatedUnion(
5311
5607
  })
5312
5608
  ]
5313
5609
  );
5314
- var PluginAIInspirationRerunSelectedBranchArgs = z76.object({
5315
- shapeId: z76.string().min(1),
5316
- endFrameShapeId: z76.string().optional(),
5610
+ var PluginAIInspirationRerunSelectedBranchArgs = z78.object({
5611
+ shapeId: z78.string().min(1),
5612
+ endFrameShapeId: z78.string().optional(),
5317
5613
  runMode: PluginAIInspirationRunMode.optional()
5318
5614
  });
5319
- var PluginAIInspirationRecipeSlot = z76.object({
5320
- id: z76.string(),
5321
- type: z76.enum(["source-image", "end-frame"]),
5322
- label: z76.string(),
5323
- required: z76.boolean()
5615
+ var PluginAIInspirationRecipeSlot = z78.object({
5616
+ id: z78.string(),
5617
+ type: z78.enum(["source-image", "end-frame"]),
5618
+ label: z78.string(),
5619
+ required: z78.boolean()
5324
5620
  });
5325
- var PluginAIInspirationRecipeStep = z76.object({
5326
- id: z76.string(),
5621
+ var PluginAIInspirationRecipeStep = z78.object({
5622
+ id: z78.string(),
5327
5623
  operation: PluginAIInspirationWorkflowOperation,
5328
- outputKind: z76.enum(["image", "video"])
5624
+ outputKind: z78.enum(["image", "video"])
5329
5625
  });
5330
- var PluginAIInspirationRecipeDraft = z76.object({
5331
- name: z76.string(),
5332
- summary: z76.string(),
5333
- slots: z76.array(PluginAIInspirationRecipeSlot),
5334
- steps: z76.array(PluginAIInspirationRecipeStep).min(1).max(20),
5335
- outputKind: z76.enum(["image", "video"]),
5336
- thumbnailUrl: z76.string().optional()
5626
+ var PluginAIInspirationRecipeDraft = z78.object({
5627
+ name: z78.string(),
5628
+ summary: z78.string(),
5629
+ slots: z78.array(PluginAIInspirationRecipeSlot),
5630
+ steps: z78.array(PluginAIInspirationRecipeStep).min(1).max(20),
5631
+ outputKind: z78.enum(["image", "video"]),
5632
+ thumbnailUrl: z78.string().optional()
5337
5633
  });
5338
5634
  var PluginAIInspirationRecipe = PluginAIInspirationRecipeDraft.extend({
5339
- version: z76.literal(1),
5340
- id: z76.string(),
5341
- fingerprint: z76.string().optional(),
5342
- createdAt: z76.number(),
5343
- updatedAt: z76.number()
5635
+ version: z78.literal(1),
5636
+ id: z78.string(),
5637
+ fingerprint: z78.string().optional(),
5638
+ createdAt: z78.number(),
5639
+ updatedAt: z78.number()
5344
5640
  });
5345
- var PluginAIInspirationExtractionResult = z76.discriminatedUnion(
5641
+ var PluginAIInspirationExtractionResult = z78.discriminatedUnion(
5346
5642
  "status",
5347
5643
  [
5348
- z76.object({
5349
- status: z76.literal("ready"),
5644
+ z78.object({
5645
+ status: z78.literal("ready"),
5350
5646
  draft: PluginAIInspirationRecipeDraft
5351
5647
  }),
5352
- z76.object({
5353
- status: z76.literal("unavailable"),
5354
- reason: z76.enum([
5648
+ z78.object({
5649
+ status: z78.literal("unavailable"),
5650
+ reason: z78.enum([
5355
5651
  "not-in-workflow",
5356
5652
  "source-only",
5357
5653
  "missing-workflow",
@@ -5362,38 +5658,38 @@ var PluginAIInspirationExtractionResult = z76.discriminatedUnion(
5362
5658
  })
5363
5659
  ]
5364
5660
  );
5365
- var PluginAIInspirationListRecipesResult = z76.object({
5366
- recipes: z76.array(PluginAIInspirationRecipe)
5661
+ var PluginAIInspirationListRecipesResult = z78.object({
5662
+ recipes: z78.array(PluginAIInspirationRecipe)
5367
5663
  });
5368
- var PluginAIInspirationSaveRecipeArgs = z76.object({
5664
+ var PluginAIInspirationSaveRecipeArgs = z78.object({
5369
5665
  draft: PluginAIInspirationRecipeDraft,
5370
- name: z76.string().min(1)
5666
+ name: z78.string().min(1)
5371
5667
  });
5372
- var PluginAIInspirationSaveRecipeResult = z76.discriminatedUnion(
5668
+ var PluginAIInspirationSaveRecipeResult = z78.discriminatedUnion(
5373
5669
  "status",
5374
5670
  [
5375
- z76.object({ status: z76.literal("saved"), recipe: PluginAIInspirationRecipe }),
5376
- z76.object({
5377
- status: z76.literal("duplicate"),
5671
+ z78.object({ status: z78.literal("saved"), recipe: PluginAIInspirationRecipe }),
5672
+ z78.object({
5673
+ status: z78.literal("duplicate"),
5378
5674
  recipe: PluginAIInspirationRecipe
5379
5675
  }),
5380
- z76.object({ status: z76.literal("invalid-name"), recipe: z76.null() }),
5381
- z76.object({ status: z76.literal("failed"), recipe: z76.null() })
5676
+ z78.object({ status: z78.literal("invalid-name"), recipe: z78.null() }),
5677
+ z78.object({ status: z78.literal("failed"), recipe: z78.null() })
5382
5678
  ]
5383
5679
  );
5384
- var PluginAIInspirationDeleteRecipeArgs = z76.object({
5385
- recipeId: z76.string().min(1)
5680
+ var PluginAIInspirationDeleteRecipeArgs = z78.object({
5681
+ recipeId: z78.string().min(1)
5386
5682
  });
5387
- var PluginAIInspirationDeleteRecipeResult = z76.object({
5388
- deleted: z76.boolean()
5683
+ var PluginAIInspirationDeleteRecipeResult = z78.object({
5684
+ deleted: z78.boolean()
5389
5685
  });
5390
- var PluginAIInspirationExtractRecipeFromShapeArgs = z76.object({
5391
- shapeId: z76.string().min(1)
5686
+ var PluginAIInspirationExtractRecipeFromShapeArgs = z78.object({
5687
+ shapeId: z78.string().min(1)
5392
5688
  });
5393
- var PluginAIInspirationRunRecipeArgs = z76.object({
5394
- recipeId: z76.string().optional(),
5689
+ var PluginAIInspirationRunRecipeArgs = z78.object({
5690
+ recipeId: z78.string().optional(),
5395
5691
  recipe: PluginAIInspirationRecipe.optional(),
5396
- slotShapeIds: z76.record(z76.string(), z76.string()),
5692
+ slotShapeIds: z78.record(z78.string(), z78.string()),
5397
5693
  runMode: PluginAIInspirationRunMode.optional()
5398
5694
  });
5399
5695
  var PluginPresentationAIInspirationApi = class {
@@ -5402,26 +5698,26 @@ var PluginPresentationAIInspirationApi = class {
5402
5698
  };
5403
5699
 
5404
5700
  // src/api/presentation/export.ts
5405
- var z77 = __toESM(require("zod"), 1);
5406
- var PluginPresentationExportFormat = z77.enum(["pdf", "png", "jpg"]);
5407
- var PluginPresentationExportResolution = z77.object({
5408
- width: z77.number().positive(),
5409
- height: z77.number().positive()
5701
+ var z79 = __toESM(require("zod"), 1);
5702
+ var PluginPresentationExportFormat = z79.enum(["pdf", "png", "jpg"]);
5703
+ var PluginPresentationExportResolution = z79.object({
5704
+ width: z79.number().positive(),
5705
+ height: z79.number().positive()
5410
5706
  });
5411
- var PluginPresentationExportArgs = z77.object({
5707
+ var PluginPresentationExportArgs = z79.object({
5412
5708
  format: PluginPresentationExportFormat,
5413
- sheetIds: z77.array(z77.string()).optional(),
5414
- combine: z77.boolean().optional(),
5709
+ sheetIds: z79.array(z79.string()).optional(),
5710
+ combine: z79.boolean().optional(),
5415
5711
  resolution: PluginPresentationExportResolution.optional(),
5416
- fileName: z77.string().optional()
5712
+ fileName: z79.string().optional()
5417
5713
  });
5418
- var PluginPresentationExportFile = z77.object({
5419
- fileName: z77.string(),
5420
- mimeType: z77.string(),
5421
- dataBase64: z77.string()
5714
+ var PluginPresentationExportFile = z79.object({
5715
+ fileName: z79.string(),
5716
+ mimeType: z79.string(),
5717
+ dataBase64: z79.string()
5422
5718
  });
5423
- var PluginPresentationExportResult = z77.object({
5424
- files: z77.array(PluginPresentationExportFile)
5719
+ var PluginPresentationExportResult = z79.object({
5720
+ files: z79.array(PluginPresentationExportFile)
5425
5721
  });
5426
5722
 
5427
5723
  // src/api/presentation/index.ts
@@ -5437,38 +5733,38 @@ var PluginAnalysisSunpathApi = class {
5437
5733
  };
5438
5734
 
5439
5735
  // src/api/analysis/shadows.ts
5440
- var z78 = __toESM(require("zod"), 1);
5736
+ var z80 = __toESM(require("zod"), 1);
5441
5737
  var PluginAnalysisShadowsApi = class {
5442
5738
  constructor() {
5443
5739
  }
5444
5740
  };
5445
- var PluginAnalysisShadowsEnableOptions = z78.object({
5446
- dateTime: z78.string().optional()
5741
+ var PluginAnalysisShadowsEnableOptions = z80.object({
5742
+ dateTime: z80.string().optional()
5447
5743
  });
5448
- var PluginAnalysisShadowsSetDateTimeArgs = z78.object({
5449
- dateTime: z78.string()
5744
+ var PluginAnalysisShadowsSetDateTimeArgs = z80.object({
5745
+ dateTime: z80.string()
5450
5746
  });
5451
- var PluginAnalysisShadowsDateTimeResult = z78.string();
5747
+ var PluginAnalysisShadowsDateTimeResult = z80.string();
5452
5748
 
5453
5749
  // src/api/analysis/sunlightHours.ts
5454
- var z79 = __toESM(require("zod"), 1);
5750
+ var z81 = __toESM(require("zod"), 1);
5455
5751
  var PluginAnalysisSunlightHoursApi = class {
5456
5752
  constructor() {
5457
5753
  }
5458
5754
  };
5459
- var PluginAnalysisComputeResult = z79.object({
5460
- success: z79.boolean(),
5461
- error: z79.string().optional()
5755
+ var PluginAnalysisComputeResult = z81.object({
5756
+ success: z81.boolean(),
5757
+ error: z81.string().optional()
5462
5758
  });
5463
- var PluginAnalysisJobStatus = z79.enum([
5759
+ var PluginAnalysisJobStatus = z81.enum([
5464
5760
  "running",
5465
5761
  "active",
5466
5762
  "inactive"
5467
5763
  ]);
5468
- var PluginAnalysisJobState = z79.object({
5764
+ var PluginAnalysisJobState = z81.object({
5469
5765
  status: PluginAnalysisJobStatus,
5470
- startDate: z79.string(),
5471
- endDate: z79.string()
5766
+ startDate: z81.string(),
5767
+ endDate: z81.string()
5472
5768
  });
5473
5769
  var PluginAnalysisJobStateResult = PluginAnalysisJobState.nullable();
5474
5770
 
@@ -5479,7 +5775,7 @@ var PluginAnalysisIlluminanceApi = class {
5479
5775
  };
5480
5776
 
5481
5777
  // src/api/analysis/heatmaps.ts
5482
- var z80 = __toESM(require("zod"), 1);
5778
+ var z82 = __toESM(require("zod"), 1);
5483
5779
  var PluginAnalysisHeatmapsApi = class {
5484
5780
  constructor() {
5485
5781
  }
@@ -5488,149 +5784,149 @@ var PluginAnalysisHeatmapOverlaysApi = class {
5488
5784
  constructor() {
5489
5785
  }
5490
5786
  };
5491
- var PluginAnalysisHeatmapSpaceEntry = z80.object({
5787
+ var PluginAnalysisHeatmapSpaceEntry = z82.object({
5492
5788
  space: ComponentHandle,
5493
- value: z80.number().finite()
5789
+ value: z82.number().finite()
5494
5790
  });
5495
- var PluginAnalysisHeatmapGridCell = z80.object({
5791
+ var PluginAnalysisHeatmapGridCell = z82.object({
5496
5792
  position: Vec3Components,
5497
- value: z80.number().finite(),
5498
- meta: z80.unknown().optional()
5499
- });
5500
- var HexColor = z80.string().regex(/^#?[0-9a-fA-F]{6}$/, 'expected a 6-digit hex colour like "#0000ff"');
5501
- var PluginAnalysisHeatmapFieldCell = z80.union([
5502
- z80.object({
5503
- polygon: z80.array(Vec3Components).min(3),
5504
- value: z80.number().finite(),
5505
- meta: z80.unknown().optional()
5793
+ value: z82.number().finite(),
5794
+ meta: z82.unknown().optional()
5795
+ });
5796
+ var HexColor = z82.string().regex(/^#?[0-9a-fA-F]{6}$/, 'expected a 6-digit hex colour like "#0000ff"');
5797
+ var PluginAnalysisHeatmapFieldCell = z82.union([
5798
+ z82.object({
5799
+ polygon: z82.array(Vec3Components).min(3),
5800
+ value: z82.number().finite(),
5801
+ meta: z82.unknown().optional()
5506
5802
  }),
5507
- z80.object({
5508
- vertices: z80.array(Vec3Components).min(3),
5509
- indices: z80.array(z80.number().int().nonnegative()).min(3),
5510
- value: z80.number().finite(),
5511
- meta: z80.unknown().optional()
5803
+ z82.object({
5804
+ vertices: z82.array(Vec3Components).min(3),
5805
+ indices: z82.array(z82.number().int().nonnegative()).min(3),
5806
+ value: z82.number().finite(),
5807
+ meta: z82.unknown().optional()
5512
5808
  })
5513
5809
  ]);
5514
- var PluginAnalysisHeatmapScale = z80.discriminatedUnion("type", [
5515
- z80.object({
5516
- type: z80.literal("bands"),
5517
- count: z80.number().int().min(2).max(64).optional()
5810
+ var PluginAnalysisHeatmapScale = z82.discriminatedUnion("type", [
5811
+ z82.object({
5812
+ type: z82.literal("bands"),
5813
+ count: z82.number().int().min(2).max(64).optional()
5518
5814
  }),
5519
- z80.object({
5520
- type: z80.literal("threshold"),
5521
- threshold: z80.number().finite(),
5815
+ z82.object({
5816
+ type: z82.literal("threshold"),
5817
+ threshold: z82.number().finite(),
5522
5818
  passColor: HexColor.optional(),
5523
5819
  failColor: HexColor.optional(),
5524
- passLabel: z80.string().optional(),
5525
- failLabel: z80.string().optional()
5820
+ passLabel: z82.string().optional(),
5821
+ failLabel: z82.string().optional()
5526
5822
  }),
5527
- z80.object({
5528
- type: z80.literal("categorical"),
5529
- classes: z80.array(
5530
- z80.object({
5531
- value: z80.number().finite(),
5532
- label: z80.string(),
5823
+ z82.object({
5824
+ type: z82.literal("categorical"),
5825
+ classes: z82.array(
5826
+ z82.object({
5827
+ value: z82.number().finite(),
5828
+ label: z82.string(),
5533
5829
  color: HexColor
5534
5830
  })
5535
5831
  ).min(1)
5536
5832
  })
5537
5833
  ]);
5538
- var PluginAnalysisHeatmapOptions = z80.object({
5539
- name: z80.string().min(1).max(64).optional(),
5540
- title: z80.string().optional(),
5541
- unit: z80.string().optional(),
5542
- min: z80.number().finite().optional(),
5543
- max: z80.number().finite().optional(),
5544
- colors: z80.array(HexColor).min(1).optional(),
5834
+ var PluginAnalysisHeatmapOptions = z82.object({
5835
+ name: z82.string().min(1).max(64).optional(),
5836
+ title: z82.string().optional(),
5837
+ unit: z82.string().optional(),
5838
+ min: z82.number().finite().optional(),
5839
+ max: z82.number().finite().optional(),
5840
+ colors: z82.array(HexColor).min(1).optional(),
5545
5841
  scale: PluginAnalysisHeatmapScale.optional(),
5546
- hover: z80.boolean().optional()
5842
+ hover: z82.boolean().optional()
5547
5843
  });
5548
- var PluginAnalysisHeatmapsRenderResult = z80.object({
5549
- success: z80.literal(true)
5844
+ var PluginAnalysisHeatmapsRenderResult = z82.object({
5845
+ success: z82.literal(true)
5550
5846
  });
5551
- var PluginAnalysisHeatmapOverlayInfo = z80.object({
5552
- name: z80.string(),
5553
- visible: z80.boolean(),
5554
- kind: z80.enum(["spaces", "grid", "surfaceGrid", "field"])
5847
+ var PluginAnalysisHeatmapOverlayInfo = z82.object({
5848
+ name: z82.string(),
5849
+ visible: z82.boolean(),
5850
+ kind: z82.enum(["spaces", "grid", "surfaceGrid", "field"])
5555
5851
  });
5556
- var PluginAnalysisHeatmapOverlaysListResult = z80.object({
5557
- overlays: z80.array(PluginAnalysisHeatmapOverlayInfo)
5852
+ var PluginAnalysisHeatmapOverlaysListResult = z82.object({
5853
+ overlays: z82.array(PluginAnalysisHeatmapOverlayInfo)
5558
5854
  });
5559
5855
 
5560
5856
  // src/api/analysis/weather.ts
5561
- var z81 = __toESM(require("zod"), 1);
5857
+ var z83 = __toESM(require("zod"), 1);
5562
5858
  var PluginAnalysisWeatherApi = class {
5563
5859
  constructor() {
5564
5860
  }
5565
5861
  };
5566
- var PluginWeatherSelectionMethod = z81.enum([
5862
+ var PluginWeatherSelectionMethod = z83.enum([
5567
5863
  "nearest-station",
5568
5864
  "user-upload",
5569
5865
  "project-override"
5570
5866
  ]);
5571
- var PluginWeatherSourceMeta = z81.object({
5572
- weatherFileId: z81.string(),
5573
- station: z81.string(),
5574
- sourceId: z81.string(),
5575
- distanceKm: z81.number().nullable(),
5867
+ var PluginWeatherSourceMeta = z83.object({
5868
+ weatherFileId: z83.string(),
5869
+ station: z83.string(),
5870
+ sourceId: z83.string(),
5871
+ distanceKm: z83.number().nullable(),
5576
5872
  selectionMethod: PluginWeatherSelectionMethod,
5577
- checksum: z81.string(),
5578
- windReferenceHeightM: z81.number()
5579
- });
5580
- var PluginWeatherRow = z81.object({
5581
- timestamp: z81.string(),
5582
- utcOffsetMinutes: z81.number(),
5583
- dryBulbC: z81.number(),
5584
- relativeHumidityPercent: z81.number(),
5585
- windSpeedMps: z81.number(),
5586
- ghiWm2: z81.number(),
5587
- dniWm2: z81.number(),
5588
- dhiWm2: z81.number(),
5589
- flags: z81.array(z81.string())
5590
- });
5591
- var PluginWeatherGetSeriesArgs = z81.object({
5592
- startDate: z81.string(),
5593
- endDate: z81.string(),
5594
- interval: z81.enum(["hourly"]).optional(),
5595
- cursor: z81.string().optional()
5873
+ checksum: z83.string(),
5874
+ windReferenceHeightM: z83.number()
5875
+ });
5876
+ var PluginWeatherRow = z83.object({
5877
+ timestamp: z83.string(),
5878
+ utcOffsetMinutes: z83.number(),
5879
+ dryBulbC: z83.number(),
5880
+ relativeHumidityPercent: z83.number(),
5881
+ windSpeedMps: z83.number(),
5882
+ ghiWm2: z83.number(),
5883
+ dniWm2: z83.number(),
5884
+ dhiWm2: z83.number(),
5885
+ flags: z83.array(z83.string())
5886
+ });
5887
+ var PluginWeatherGetSeriesArgs = z83.object({
5888
+ startDate: z83.string(),
5889
+ endDate: z83.string(),
5890
+ interval: z83.enum(["hourly"]).optional(),
5891
+ cursor: z83.string().optional()
5596
5892
  });
5597
- var PluginWeatherSeriesResult = z81.object({
5893
+ var PluginWeatherSeriesResult = z83.object({
5598
5894
  source: PluginWeatherSourceMeta,
5599
- rows: z81.array(PluginWeatherRow),
5600
- nextCursor: z81.string().nullable(),
5601
- warnings: z81.array(z81.string()).optional()
5895
+ rows: z83.array(PluginWeatherRow),
5896
+ nextCursor: z83.string().nullable(),
5897
+ warnings: z83.array(z83.string()).optional()
5602
5898
  });
5603
5899
 
5604
5900
  // src/api/analysis/solar.ts
5605
- var z82 = __toESM(require("zod"), 1);
5901
+ var z84 = __toESM(require("zod"), 1);
5606
5902
  var PluginAnalysisSolarApi = class {
5607
5903
  constructor() {
5608
5904
  }
5609
5905
  };
5610
- var PluginSolarRunStatus = z82.enum([
5906
+ var PluginSolarRunStatus = z84.enum([
5611
5907
  "running",
5612
5908
  "complete",
5613
5909
  "cancelled",
5614
5910
  "failed"
5615
5911
  ]);
5616
- var PluginSolarSampleMode = z82.enum(["instant", "range"]);
5617
- var PluginSolarUnits = z82.enum(["W/m2", "kWh/m2"]);
5618
- var PluginSolarHourlyArtifact = z82.object({
5619
- url: z82.string(),
5620
- format: z82.enum(["parquet", "csv-gz"]),
5621
- expiresAt: z82.string()
5622
- });
5623
- var PluginSolarSamplePoint = z82.object({
5624
- id: z82.string(),
5625
- position: z82.tuple([z82.number(), z82.number(), z82.number()]),
5626
- normal: z82.tuple([z82.number(), z82.number(), z82.number()]).optional()
5627
- });
5628
- var PluginSolarSampleGridArgs = z82.object({
5629
- points: z82.array(PluginSolarSamplePoint),
5630
- dateTime: z82.string().optional(),
5631
- startDate: z82.string().optional(),
5632
- endDate: z82.string().optional(),
5633
- includeHourlyArtifact: z82.boolean().optional()
5912
+ var PluginSolarSampleMode = z84.enum(["instant", "range"]);
5913
+ var PluginSolarUnits = z84.enum(["W/m2", "kWh/m2"]);
5914
+ var PluginSolarHourlyArtifact = z84.object({
5915
+ url: z84.string(),
5916
+ format: z84.enum(["parquet", "csv-gz"]),
5917
+ expiresAt: z84.string()
5918
+ });
5919
+ var PluginSolarSamplePoint = z84.object({
5920
+ id: z84.string(),
5921
+ position: z84.tuple([z84.number(), z84.number(), z84.number()]),
5922
+ normal: z84.tuple([z84.number(), z84.number(), z84.number()]).optional()
5923
+ });
5924
+ var PluginSolarSampleGridArgs = z84.object({
5925
+ points: z84.array(PluginSolarSamplePoint),
5926
+ dateTime: z84.string().optional(),
5927
+ startDate: z84.string().optional(),
5928
+ endDate: z84.string().optional(),
5929
+ includeHourlyArtifact: z84.boolean().optional()
5634
5930
  }).superRefine((a, ctx) => {
5635
5931
  const hasInstant = a.dateTime !== void 0;
5636
5932
  const hasStart = a.startDate !== void 0;
@@ -5638,73 +5934,73 @@ var PluginSolarSampleGridArgs = z82.object({
5638
5934
  const hasRange = hasStart || hasEnd;
5639
5935
  if (hasInstant === hasRange) {
5640
5936
  ctx.addIssue({
5641
- code: z82.ZodIssueCode.custom,
5937
+ code: z84.ZodIssueCode.custom,
5642
5938
  message: "provide exactly one timing mode: dateTime (instant), or startDate+endDate (range)"
5643
5939
  });
5644
5940
  }
5645
5941
  if (hasRange && !(hasStart && hasEnd)) {
5646
5942
  ctx.addIssue({
5647
- code: z82.ZodIssueCode.custom,
5943
+ code: z84.ZodIssueCode.custom,
5648
5944
  message: "range mode requires both startDate and endDate"
5649
5945
  });
5650
5946
  }
5651
5947
  });
5652
- var PluginSolarSampleResult = z82.object({
5653
- id: z82.string(),
5654
- directSunVisible: z82.boolean(),
5655
- shadeFraction: z82.number(),
5656
- directIrradiance: z82.number().optional(),
5657
- diffuseIrradiance: z82.number().optional(),
5658
- totalIrradiance: z82.number().optional()
5948
+ var PluginSolarSampleResult = z84.object({
5949
+ id: z84.string(),
5950
+ directSunVisible: z84.boolean(),
5951
+ shadeFraction: z84.number(),
5952
+ directIrradiance: z84.number().optional(),
5953
+ diffuseIrradiance: z84.number().optional(),
5954
+ totalIrradiance: z84.number().optional()
5659
5955
  });
5660
- var PluginSolarSampleGridResult = z82.object({
5956
+ var PluginSolarSampleGridResult = z84.object({
5661
5957
  status: PluginSolarRunStatus,
5662
5958
  mode: PluginSolarSampleMode,
5663
- coordinateSystem: z82.literal("world-plan-space"),
5664
- modelRevision: z82.string(),
5665
- inputHash: z82.string(),
5959
+ coordinateSystem: z84.literal("world-plan-space"),
5960
+ modelRevision: z84.string(),
5961
+ inputHash: z84.string(),
5666
5962
  units: PluginSolarUnits,
5667
- sunUpHours: z82.number(),
5963
+ sunUpHours: z84.number(),
5668
5964
  weather: PluginWeatherSourceMeta.nullable(),
5669
- weatherQuality: z82.array(z82.string()),
5670
- results: z82.array(PluginSolarSampleResult),
5965
+ weatherQuality: z84.array(z84.string()),
5966
+ results: z84.array(PluginSolarSampleResult),
5671
5967
  hourlyArtifact: PluginSolarHourlyArtifact.nullable(),
5672
- nextCursor: z82.string().nullable()
5968
+ nextCursor: z84.string().nullable()
5673
5969
  });
5674
5970
 
5675
5971
  // src/api/analysis/daylight.ts
5676
- var z83 = __toESM(require("zod"), 1);
5972
+ var z85 = __toESM(require("zod"), 1);
5677
5973
  var PluginAnalysisDaylightApi = class {
5678
5974
  constructor() {
5679
5975
  }
5680
5976
  };
5681
- var PluginDaylightMetric = z83.enum(["ASE", "sDA"]);
5682
- var PluginDaylightRunStatus = z83.enum([
5977
+ var PluginDaylightMetric = z85.enum(["ASE", "sDA"]);
5978
+ var PluginDaylightRunStatus = z85.enum([
5683
5979
  "running",
5684
5980
  "complete",
5685
5981
  "cancelled",
5686
5982
  "failed"
5687
5983
  ]);
5688
- var PluginDaylightGrid = z83.object({
5689
- spacingM: z83.number(),
5690
- workplaneHeightM: z83.number(),
5691
- boundaryOffsetM: z83.number()
5984
+ var PluginDaylightGrid = z85.object({
5985
+ spacingM: z85.number(),
5986
+ workplaneHeightM: z85.number(),
5987
+ boundaryOffsetM: z85.number()
5692
5988
  });
5693
- var PluginDaylightSchedule = z83.object({
5694
- startHour: z83.number(),
5695
- endHour: z83.number()
5989
+ var PluginDaylightSchedule = z85.object({
5990
+ startHour: z85.number(),
5991
+ endHour: z85.number()
5696
5992
  });
5697
- var PluginDaylightOpaqueOptics = z83.object({
5698
- reflectance: z83.number().min(0).max(1)
5993
+ var PluginDaylightOpaqueOptics = z85.object({
5994
+ reflectance: z85.number().min(0).max(1)
5699
5995
  });
5700
- var PluginDaylightGlazingOptics = z83.object({
5701
- transmittance: z83.number().min(0).max(1)
5996
+ var PluginDaylightGlazingOptics = z85.object({
5997
+ transmittance: z85.number().min(0).max(1)
5702
5998
  });
5703
- var PluginDaylightMaterialOptics = z83.union([
5999
+ var PluginDaylightMaterialOptics = z85.union([
5704
6000
  PluginDaylightOpaqueOptics,
5705
6001
  PluginDaylightGlazingOptics
5706
6002
  ]);
5707
- var PluginDaylightCategoryDefaults = z83.object({
6003
+ var PluginDaylightCategoryDefaults = z85.object({
5708
6004
  wall: PluginDaylightOpaqueOptics.optional(),
5709
6005
  ceiling: PluginDaylightOpaqueOptics.optional(),
5710
6006
  floor: PluginDaylightOpaqueOptics.optional(),
@@ -5712,81 +6008,81 @@ var PluginDaylightCategoryDefaults = z83.object({
5712
6008
  glazing: PluginDaylightGlazingOptics.optional(),
5713
6009
  context: PluginDaylightOpaqueOptics.optional()
5714
6010
  });
5715
- var PluginDaylightBlindsOptics = z83.object({
5716
- transmittance: z83.number().min(0).max(1)
6011
+ var PluginDaylightBlindsOptics = z85.object({
6012
+ transmittance: z85.number().min(0).max(1)
5717
6013
  });
5718
- var PluginDaylightOptics = z83.object({
5719
- materials: z83.record(z83.string(), PluginDaylightMaterialOptics).optional(),
6014
+ var PluginDaylightOptics = z85.object({
6015
+ materials: z85.record(z85.string(), PluginDaylightMaterialOptics).optional(),
5720
6016
  categories: PluginDaylightCategoryDefaults.optional(),
5721
6017
  blinds: PluginDaylightBlindsOptics.optional()
5722
6018
  });
5723
- var PluginDaylightComputeArgs = z83.object({
5724
- standard: z83.literal("IES-LM-83-23"),
5725
- metrics: z83.array(PluginDaylightMetric).min(1),
6019
+ var PluginDaylightComputeArgs = z85.object({
6020
+ standard: z85.literal("IES-LM-83-23"),
6021
+ metrics: z85.array(PluginDaylightMetric).min(1),
5726
6022
  schedule: PluginDaylightSchedule.optional(),
5727
6023
  grid: PluginDaylightGrid,
5728
6024
  optics: PluginDaylightOptics.optional()
5729
6025
  });
5730
- var PluginDaylightPollArgs = z83.object({
5731
- runId: z83.string(),
5732
- cursor: z83.string().optional()
5733
- });
5734
- var PluginDaylightSensorRecord = z83.object({
5735
- sensorId: z83.string(),
5736
- position: z83.tuple([z83.number(), z83.number(), z83.number()]),
5737
- spaceId: z83.string(),
5738
- storeyId: z83.string(),
5739
- areaWeightM2: z83.number(),
5740
- occupiedHours: z83.number(),
5741
- directSunHoursAtOrAbove1000Lux: z83.number().optional(),
5742
- aseFail: z83.boolean().optional(),
5743
- da300Percent: z83.number().optional(),
5744
- sdaPass: z83.boolean().optional()
5745
- });
5746
- var PluginDaylightAggregateScope = z83.enum([
6026
+ var PluginDaylightPollArgs = z85.object({
6027
+ runId: z85.string(),
6028
+ cursor: z85.string().optional()
6029
+ });
6030
+ var PluginDaylightSensorRecord = z85.object({
6031
+ sensorId: z85.string(),
6032
+ position: z85.tuple([z85.number(), z85.number(), z85.number()]),
6033
+ spaceId: z85.string(),
6034
+ storeyId: z85.string(),
6035
+ areaWeightM2: z85.number(),
6036
+ occupiedHours: z85.number(),
6037
+ directSunHoursAtOrAbove1000Lux: z85.number().optional(),
6038
+ aseFail: z85.boolean().optional(),
6039
+ da300Percent: z85.number().optional(),
6040
+ sdaPass: z85.boolean().optional()
6041
+ });
6042
+ var PluginDaylightAggregateScope = z85.enum([
5747
6043
  "project",
5748
6044
  "storey",
5749
6045
  "space"
5750
6046
  ]);
5751
- var PluginDaylightAggregate = z83.object({
6047
+ var PluginDaylightAggregate = z85.object({
5752
6048
  scope: PluginDaylightAggregateScope,
5753
- id: z83.string().nullable(),
5754
- analysisAreaM2: z83.number(),
5755
- asePercent: z83.number().optional(),
5756
- sdaPercent: z83.number().optional()
5757
- });
5758
- var PluginDaylightProvenance = z83.object({
5759
- engine: z83.string(),
5760
- engineVersion: z83.string(),
5761
- standardProfile: z83.string(),
5762
- thresholds: z83.object({ aseLux: z83.number(), aseHours: z83.number() }).passthrough(),
6049
+ id: z85.string().nullable(),
6050
+ analysisAreaM2: z85.number(),
6051
+ asePercent: z85.number().optional(),
6052
+ sdaPercent: z85.number().optional()
6053
+ });
6054
+ var PluginDaylightProvenance = z85.object({
6055
+ engine: z85.string(),
6056
+ engineVersion: z85.string(),
6057
+ standardProfile: z85.string(),
6058
+ thresholds: z85.object({ aseLux: z85.number(), aseHours: z85.number() }).passthrough(),
5763
6059
  weather: PluginWeatherSourceMeta.nullable(),
5764
- occupancySchedule: z83.object({ id: z83.string(), hoursPerYear: z83.number() }).passthrough(),
6060
+ occupancySchedule: z85.object({ id: z85.string(), hoursPerYear: z85.number() }).passthrough(),
5765
6061
  grid: PluginDaylightGrid,
5766
- location: z83.object({
5767
- latitude: z83.number(),
5768
- longitude: z83.number(),
5769
- timezone: z83.string(),
5770
- trueNorthDeg: z83.number()
6062
+ location: z85.object({
6063
+ latitude: z85.number(),
6064
+ longitude: z85.number(),
6065
+ timezone: z85.string(),
6066
+ trueNorthDeg: z85.number()
5771
6067
  }).passthrough(),
5772
- surfaceReflectances: z83.record(z83.string(), z83.number()),
5773
- modelRevision: z83.string(),
5774
- inputHash: z83.string(),
5775
- warnings: z83.array(z83.string()),
5776
- excludedSpaces: z83.array(
5777
- z83.object({ spaceId: z83.string(), reason: z83.string() })
6068
+ surfaceReflectances: z85.record(z85.string(), z85.number()),
6069
+ modelRevision: z85.string(),
6070
+ inputHash: z85.string(),
6071
+ warnings: z85.array(z85.string()),
6072
+ excludedSpaces: z85.array(
6073
+ z85.object({ spaceId: z85.string(), reason: z85.string() })
5778
6074
  ),
5779
- failedGeometry: z83.array(
5780
- z83.object({ componentId: z83.string(), reason: z83.string() })
6075
+ failedGeometry: z85.array(
6076
+ z85.object({ componentId: z85.string(), reason: z85.string() })
5781
6077
  )
5782
6078
  }).partial().passthrough();
5783
- var PluginDaylightResults = z83.object({
6079
+ var PluginDaylightResults = z85.object({
5784
6080
  status: PluginDaylightRunStatus,
5785
- runId: z83.string().optional(),
5786
- sensors: z83.array(PluginDaylightSensorRecord),
5787
- aggregates: z83.array(PluginDaylightAggregate),
6081
+ runId: z85.string().optional(),
6082
+ sensors: z85.array(PluginDaylightSensorRecord),
6083
+ aggregates: z85.array(PluginDaylightAggregate),
5788
6084
  provenance: PluginDaylightProvenance,
5789
- nextCursor: z83.string().nullable()
6085
+ nextCursor: z85.string().nullable()
5790
6086
  });
5791
6087
 
5792
6088
  // src/api/analysis/index.ts
@@ -5796,7 +6092,7 @@ var PluginAnalysisApi = class {
5796
6092
  };
5797
6093
 
5798
6094
  // src/api/workspace/index.ts
5799
- var z84 = __toESM(require("zod"), 1);
6095
+ var z86 = __toESM(require("zod"), 1);
5800
6096
  var PluginWorkspaceApi = class {
5801
6097
  constructor() {
5802
6098
  }
@@ -5809,68 +6105,68 @@ var PluginWorkspaceTeamsApi = class {
5809
6105
  constructor() {
5810
6106
  }
5811
6107
  };
5812
- var PluginProjectRef = z84.object({
5813
- id: z84.string(),
5814
- name: z84.string(),
5815
- teamId: z84.string().optional(),
5816
- createdAt: z84.string().optional(),
5817
- modifiedAt: z84.string().optional()
6108
+ var PluginProjectRef = z86.object({
6109
+ id: z86.string(),
6110
+ name: z86.string(),
6111
+ teamId: z86.string().optional(),
6112
+ createdAt: z86.string().optional(),
6113
+ modifiedAt: z86.string().optional()
5818
6114
  });
5819
- var PluginTeamRef = z84.object({
5820
- id: z84.string(),
5821
- name: z84.string(),
5822
- role: z84.string().optional()
6115
+ var PluginTeamRef = z86.object({
6116
+ id: z86.string(),
6117
+ name: z86.string(),
6118
+ role: z86.string().optional()
5823
6119
  });
5824
- var PluginTeamMemberRef = z84.object({
5825
- id: z84.string(),
5826
- name: z84.string(),
5827
- email: z84.string().optional(),
5828
- role: z84.string().optional()
6120
+ var PluginTeamMemberRef = z86.object({
6121
+ id: z86.string(),
6122
+ name: z86.string(),
6123
+ email: z86.string().optional(),
6124
+ role: z86.string().optional()
5829
6125
  });
5830
- var PluginWorkspaceProjectsCreateArgs = z84.object({
5831
- name: z84.string(),
5832
- unit: z84.string().optional(),
5833
- teamId: z84.string().optional()
6126
+ var PluginWorkspaceProjectsCreateArgs = z86.object({
6127
+ name: z86.string(),
6128
+ unit: z86.string().optional(),
6129
+ teamId: z86.string().optional()
5834
6130
  });
5835
- var PluginWorkspaceProjectsCreateResult = z84.object({
5836
- projectId: z84.string()
6131
+ var PluginWorkspaceProjectsCreateResult = z86.object({
6132
+ projectId: z86.string()
5837
6133
  });
5838
- var PluginWorkspaceProjectsCopyArgs = z84.object({
5839
- name: z84.string(),
5840
- teamId: z84.string().optional()
6134
+ var PluginWorkspaceProjectsCopyArgs = z86.object({
6135
+ name: z86.string(),
6136
+ teamId: z86.string().optional()
5841
6137
  });
5842
- var PluginWorkspaceProjectsCopyResult = z84.object({
5843
- projectId: z84.string()
6138
+ var PluginWorkspaceProjectsCopyResult = z86.object({
6139
+ projectId: z86.string()
5844
6140
  });
5845
- var PluginWorkspaceProjectsListArgs = z84.object({
5846
- teamId: z84.string().optional()
6141
+ var PluginWorkspaceProjectsListArgs = z86.object({
6142
+ teamId: z86.string().optional()
5847
6143
  });
5848
- var PluginWorkspaceProjectsListResult = z84.object({
5849
- projects: z84.array(PluginProjectRef)
6144
+ var PluginWorkspaceProjectsListResult = z86.object({
6145
+ projects: z86.array(PluginProjectRef)
5850
6146
  });
5851
- var PluginWorkspaceProjectsGetArgs = z84.object({
5852
- projectId: z84.string()
6147
+ var PluginWorkspaceProjectsGetArgs = z86.object({
6148
+ projectId: z86.string()
5853
6149
  });
5854
6150
  var PluginWorkspaceProjectsGetResult = PluginProjectRef.nullable();
5855
- var PluginWorkspaceProjectsRenameArgs = z84.object({
5856
- projectId: z84.string(),
5857
- name: z84.string()
6151
+ var PluginWorkspaceProjectsRenameArgs = z86.object({
6152
+ projectId: z86.string(),
6153
+ name: z86.string()
5858
6154
  });
5859
- var PluginWorkspaceProjectsRenameResult = z84.object({
5860
- projectId: z84.string()
6155
+ var PluginWorkspaceProjectsRenameResult = z86.object({
6156
+ projectId: z86.string()
5861
6157
  });
5862
- var PluginWorkspaceTeamsListResult = z84.object({
5863
- teams: z84.array(PluginTeamRef)
6158
+ var PluginWorkspaceTeamsListResult = z86.object({
6159
+ teams: z86.array(PluginTeamRef)
5864
6160
  });
5865
- var PluginWorkspaceTeamsGetArgs = z84.object({
5866
- teamId: z84.string()
6161
+ var PluginWorkspaceTeamsGetArgs = z86.object({
6162
+ teamId: z86.string()
5867
6163
  });
5868
6164
  var PluginWorkspaceTeamsGetResult = PluginTeamRef.nullable();
5869
- var PluginWorkspaceTeamsListMembersArgs = z84.object({
5870
- teamId: z84.string()
6165
+ var PluginWorkspaceTeamsListMembersArgs = z86.object({
6166
+ teamId: z86.string()
5871
6167
  });
5872
- var PluginWorkspaceTeamsListMembersResult = z84.object({
5873
- members: z84.array(PluginTeamMemberRef)
6168
+ var PluginWorkspaceTeamsListMembersResult = z86.object({
6169
+ members: z86.array(PluginTeamMemberRef)
5874
6170
  });
5875
6171
 
5876
6172
  // src/api/index.ts
@@ -6212,6 +6508,7 @@ function makeClientEnvelope(code, message, extra) {
6212
6508
  PluginCameraSetModeArgs,
6213
6509
  PluginCameraSetProjectionArgs,
6214
6510
  PluginCameraSetStandardViewArgs,
6511
+ PluginCanvasShapeOrigin,
6215
6512
  PluginClassificationOption,
6216
6513
  PluginCommentApi,
6217
6514
  PluginCommentCreateArgs,
@@ -6483,10 +6780,17 @@ function makeClientEnvelope(code, message, extra) {
6483
6780
  PluginGeomCreateApi,
6484
6781
  PluginGeomCreateArcArgs,
6485
6782
  PluginGeomCreateBrepBooleanArgs,
6783
+ PluginGeomCreateBrepFromChamferArgs,
6486
6784
  PluginGeomCreateBrepFromExtrusionArgs,
6487
6785
  PluginGeomCreateBrepFromFacesArgs,
6786
+ PluginGeomCreateBrepFromFilletArgs,
6488
6787
  PluginGeomCreateBrepFromLoftArgs,
6489
6788
  PluginGeomCreateBrepFromMeshArgs,
6789
+ PluginGeomCreateBrepFromOffsetArgs,
6790
+ PluginGeomCreateBrepFromRevolutionArgs,
6791
+ PluginGeomCreateBrepFromShellArgs,
6792
+ PluginGeomCreateBrepFromSweepArgs,
6793
+ PluginGeomCreateBrepsFromSplitArgs,
6490
6794
  PluginGeomCreateCircleArgs,
6491
6795
  PluginGeomCreateContourFromProfileArgs,
6492
6796
  PluginGeomCreateContourFromProfilesArgs,
@@ -6506,6 +6810,7 @@ function makeClientEnvelope(code, message, extra) {
6506
6810
  PluginGeomQueryBrepApi,
6507
6811
  PluginGeomQueryBrepGetBoundingBoxArgs,
6508
6812
  PluginGeomQueryBrepGetCentroidArgs,
6813
+ PluginGeomQueryBrepGetDistanceArgs,
6509
6814
  PluginGeomQueryBrepGetEdgeArgs,
6510
6815
  PluginGeomQueryBrepGetEdgeCountArgs,
6511
6816
  PluginGeomQueryBrepGetFaceCountArgs,
@@ -6691,6 +6996,17 @@ function makeClientEnvelope(code, message, extra) {
6691
6996
  PluginPermissionError,
6692
6997
  PluginPlacedView,
6693
6998
  PluginPlacedViewCrop,
6999
+ PluginPlacedViewFontStylesPatch,
7000
+ PluginPlacedViewStylePatch,
7001
+ PluginPlacedViewsDeleteShapesArgs,
7002
+ PluginPlacedViewsMoveLabelArgs,
7003
+ PluginPlacedViewsMoveShapeArgs,
7004
+ PluginPlacedViewsResizeShapeArgs,
7005
+ PluginPlacedViewsSetLabelHiddenArgs,
7006
+ PluginPlacedViewsSetMaskArgs,
7007
+ PluginPlacedViewsSetOpacityArgs,
7008
+ PluginPlacedViewsUpdateFontStylesArgs,
7009
+ PluginPlacedViewsUpdateStylesArgs,
6694
7010
  PluginPresentationAIInspirationApi,
6695
7011
  PluginPresentationAnnotateApi,
6696
7012
  PluginPresentationAnnotateArrowArgs,
@@ -6702,6 +7018,7 @@ function makeClientEnvelope(code, message, extra) {
6702
7018
  PluginPresentationApi,
6703
7019
  PluginPresentationDiagramsApi,
6704
7020
  PluginPresentationDiagramsGenerateResult,
7021
+ PluginPresentationDiagramsGenerateSiteArgs,
6705
7022
  PluginPresentationDiagramsPlaceArgs,
6706
7023
  PluginPresentationDiagramsPlaceResult,
6707
7024
  PluginPresentationExportArgs,
@@ -6718,8 +7035,10 @@ function makeClientEnvelope(code, message, extra) {
6718
7035
  PluginPresentationPlacedViewsListArgs,
6719
7036
  PluginPresentationPlacedViewsListResult,
6720
7037
  PluginPresentationPlacedViewsMoveArgs,
7038
+ PluginPresentationPlacedViewsRotateShapeArgs,
6721
7039
  PluginPresentationPlacedViewsScaleArgs,
6722
7040
  PluginPresentationPlacedViewsSetCropArgs,
7041
+ PluginPresentationPlacedViewsSetRotationArgs,
6723
7042
  PluginPresentationPlacedViewsSetScaleArgs,
6724
7043
  PluginPresentationShapeSpec,
6725
7044
  PluginPresentationShapeType,
@@ -6741,9 +7060,16 @@ function makeClientEnvelope(code, message, extra) {
6741
7060
  PluginPresentationSheetsRenameArgs,
6742
7061
  PluginPresentationSheetsReorderArgs,
6743
7062
  PluginPresentationSheetsSetActiveArgs,
7063
+ PluginPresentationSheetsSetMarginArgs,
6744
7064
  PluginPresentationSheetsSetSizeArgs,
6745
7065
  PluginPresentationSheetsUpdatePlacedViewArgs,
6746
7066
  PluginPresentationSheetsUpdatePlacedViewResult,
7067
+ PluginPresentationSiteDiagramType,
7068
+ PluginPresentationSlideshowApi,
7069
+ PluginPresentationSlideshowStartArgs,
7070
+ PluginPresentationSlideshowState,
7071
+ PluginPresentationTablesApi,
7072
+ PluginPresentationTablesPlaceArgs,
6747
7073
  PluginPresentationView,
6748
7074
  PluginPresentationViewColorMode,
6749
7075
  PluginPresentationViewLabel,
@@ -6829,6 +7155,10 @@ function makeClientEnvelope(code, message, extra) {
6829
7155
  PluginProgramSiteAreaResult,
6830
7156
  PluginProgramSiteContext,
6831
7157
  PluginProgramSiteContextResult,
7158
+ PluginProgramSiteEdge,
7159
+ PluginProgramSiteEdgeRole,
7160
+ PluginProgramSiteEdgesEntry,
7161
+ PluginProgramSiteListEdgesResult,
6832
7162
  PluginProgramSiteListGeoPolygonsResult,
6833
7163
  PluginProgramSiteListPolygonsResult,
6834
7164
  PluginProgramSiteLocation,
@@ -6910,6 +7240,7 @@ function makeClientEnvelope(code, message, extra) {
6910
7240
  PluginReferenceLineStyle,
6911
7241
  PluginSelectionEntityType,
6912
7242
  PluginSelectionFilter,
7243
+ PluginSheetMargin,
6913
7244
  PluginSheetOrientation,
6914
7245
  PluginSheetPosition,
6915
7246
  PluginSheetSize,
@@ -7011,6 +7342,8 @@ function makeClientEnvelope(code, message, extra) {
7011
7342
  PluginStoryUpdateResult,
7012
7343
  PluginTeamMemberRef,
7013
7344
  PluginTeamRef,
7345
+ PluginTerrainReplaceMeshArgs,
7346
+ PluginTerrainReplaceMeshOptions,
7014
7347
  PluginTerrainSetDatumArgs,
7015
7348
  PluginTerrainSetOpacityArgs,
7016
7349
  PluginTimeoutError,
@@ -7033,6 +7366,9 @@ function makeClientEnvelope(code, message, extra) {
7033
7366
  PluginUserLocale,
7034
7367
  PluginValidationError,
7035
7368
  PluginVec3Api,
7369
+ PluginViewLabelType,
7370
+ PluginViewLineStyle,
7371
+ PluginViewSettingCategory,
7036
7372
  PluginWallUpdates,
7037
7373
  PluginWeatherGetSeriesArgs,
7038
7374
  PluginWeatherRow,