@snaptrude/plugin-core 0.9.0 → 0.9.1

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 (38) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/api-manifest.json +312 -0
  3. package/dist/api/core/io/terrain/index.d.ts +132 -0
  4. package/dist/api/core/io/terrain/index.d.ts.map +1 -1
  5. package/dist/api/presentation/annotate.d.ts +23 -4
  6. package/dist/api/presentation/annotate.d.ts.map +1 -1
  7. package/dist/api/presentation/diagrams.d.ts +64 -2
  8. package/dist/api/presentation/diagrams.d.ts.map +1 -1
  9. package/dist/api/presentation/index.d.ts +11 -1
  10. package/dist/api/presentation/index.d.ts.map +1 -1
  11. package/dist/api/presentation/placedViews.d.ts +772 -3
  12. package/dist/api/presentation/placedViews.d.ts.map +1 -1
  13. package/dist/api/presentation/shapes.d.ts +2 -2
  14. package/dist/api/presentation/sheets.d.ts +42 -0
  15. package/dist/api/presentation/sheets.d.ts.map +1 -1
  16. package/dist/api/presentation/slideshow.d.ts +125 -0
  17. package/dist/api/presentation/slideshow.d.ts.map +1 -0
  18. package/dist/api/presentation/tables.d.ts +81 -0
  19. package/dist/api/presentation/tables.d.ts.map +1 -0
  20. package/dist/api/program/site.d.ts +166 -2
  21. package/dist/api/program/site.d.ts.map +1 -1
  22. package/dist/api/workspace/index.d.ts +46 -1
  23. package/dist/api/workspace/index.d.ts.map +1 -1
  24. package/dist/index.cjs +829 -553
  25. package/dist/index.cjs.map +1 -1
  26. package/dist/index.js +797 -553
  27. package/dist/index.js.map +1 -1
  28. package/package.json +1 -1
  29. package/src/api/core/io/terrain/index.ts +143 -0
  30. package/src/api/presentation/annotate.ts +27 -2
  31. package/src/api/presentation/diagrams.ts +67 -2
  32. package/src/api/presentation/index.ts +11 -1
  33. package/src/api/presentation/placedViews.ts +760 -3
  34. package/src/api/presentation/sheets.ts +54 -0
  35. package/src/api/presentation/slideshow.ts +134 -0
  36. package/src/api/presentation/tables.ts +84 -0
  37. package/src/api/program/site.ts +110 -2
  38. package/src/api/workspace/index.ts +48 -1
package/dist/index.js CHANGED
@@ -1365,6 +1365,29 @@ var TerrainReport = z33.object({
1365
1365
  fillVolume: z33.number(),
1366
1366
  netVolume: z33.number()
1367
1367
  });
1368
+ var PluginTerrainReplaceMeshOptions = z33.object({
1369
+ coordinateSpace: z33.literal("world").optional(),
1370
+ expectedTerrain: z33.string().min(1).optional(),
1371
+ expectedModelRevision: z33.number().int().nonnegative().optional(),
1372
+ baseline: z33.literal("make-replacement-original").optional(),
1373
+ preserve: z33.object({
1374
+ datum: z33.boolean().optional(),
1375
+ geolocation: z33.boolean().optional(),
1376
+ satellite: z33.boolean().optional(),
1377
+ material: z33.boolean().optional()
1378
+ }).strict().optional(),
1379
+ clientMutationId: z33.string().min(1).max(128).optional()
1380
+ }).strict();
1381
+ var PluginTerrainReplaceMeshArgs = z33.object({
1382
+ positions: z33.array(z33.number().finite()).min(9).max(15e5).refine((a) => a.length % 3 === 0, {
1383
+ message: "positions must be a flat [x, y, z, \u2026] array (length a multiple of 3)"
1384
+ }),
1385
+ indices: z33.array(z33.number().int().nonnegative()).min(3).max(15e5).refine((a) => a.length % 3 === 0, {
1386
+ message: "indices must be a flat triangle list (length a multiple of 3)"
1387
+ }),
1388
+ units: z33.enum(["world", "meters"]).optional(),
1389
+ options: PluginTerrainReplaceMeshOptions.optional()
1390
+ });
1368
1391
  var PluginTerrainSetDatumArgs = z33.object({ offset: z33.number().finite() });
1369
1392
  var PluginTerrainSetOpacityArgs = z33.object({ opacity: z33.number().min(0).max(1) });
1370
1393
 
@@ -3367,6 +3390,27 @@ var PluginProgramSiteWeather = z65.object({
3367
3390
  ])
3368
3391
  });
3369
3392
  var PluginProgramSiteWeatherResult = PluginProgramSiteWeather.nullable();
3393
+ var PluginProgramSiteEdgeRole = z65.enum(["front", "side", "rear"]);
3394
+ var PluginProgramSiteEdge = z65.object({
3395
+ edgeIndex: z65.number().int().nonnegative(),
3396
+ start: z65.object({ x: z65.number(), z: z65.number() }),
3397
+ end: z65.object({ x: z65.number(), z: z65.number() }),
3398
+ lengthMeters: z65.number(),
3399
+ role: PluginProgramSiteEdgeRole,
3400
+ roleSource: z65.enum(["override", "heuristic"]),
3401
+ setbackMeters: z65.number().nullable()
3402
+ });
3403
+ var PluginProgramSiteEdgesEntry = z65.object({
3404
+ siteId: z65.string(),
3405
+ buildableEnvelopeId: z65.string().nullable(),
3406
+ usingLiveSiteBoundary: z65.boolean(),
3407
+ staleOverridesDropped: z65.boolean(),
3408
+ edges: z65.array(PluginProgramSiteEdge)
3409
+ });
3410
+ var PluginProgramSiteListEdgesResult = z65.object({
3411
+ lengthUnit: z65.literal("m"),
3412
+ sites: z65.array(PluginProgramSiteEdgesEntry)
3413
+ });
3370
3414
 
3371
3415
  // src/api/program/cores.ts
3372
3416
  import * as z66 from "zod";
@@ -3614,11 +3658,19 @@ var PluginSheetSize = z70.enum([
3614
3658
  "ISO_A0"
3615
3659
  ]);
3616
3660
  var PluginSheetOrientation = z70.enum(["landscape", "portrait"]);
3661
+ var PluginSheetMargin = z70.union([
3662
+ z70.literal(0),
3663
+ z70.literal(0.25),
3664
+ z70.literal(0.5),
3665
+ z70.literal(0.75),
3666
+ z70.literal(1)
3667
+ ]);
3617
3668
  var PluginPresentationSheet = z70.object({
3618
3669
  id: z70.string(),
3619
3670
  name: z70.string(),
3620
3671
  size: PluginSheetSize.nullable(),
3621
- orientation: PluginSheetOrientation.nullable()
3672
+ orientation: PluginSheetOrientation.nullable(),
3673
+ margin: PluginSheetMargin.nullable()
3622
3674
  });
3623
3675
  var PluginSheetPosition = z70.object({
3624
3676
  x: z70.number(),
@@ -3641,6 +3693,10 @@ var PluginPresentationSheetsSetSizeArgs = z70.object({
3641
3693
  size: PluginSheetSize,
3642
3694
  orientation: PluginSheetOrientation.optional()
3643
3695
  });
3696
+ var PluginPresentationSheetsSetMarginArgs = z70.object({
3697
+ sheetId: z70.string(),
3698
+ margin: PluginSheetMargin
3699
+ });
3644
3700
  var PluginPresentationSheetsPlaceArgs = z70.object({
3645
3701
  sheetId: z70.string(),
3646
3702
  viewId: z70.string(),
@@ -3730,6 +3786,119 @@ var PluginPresentationPlacedViewsSetCropArgs = z71.object({
3730
3786
  shapeId: z71.string(),
3731
3787
  crop: PluginPlacedViewCrop.nullable()
3732
3788
  });
3789
+ var PluginPresentationPlacedViewsSetRotationArgs = z71.object({
3790
+ shapeId: z71.string().min(1),
3791
+ rotation: z71.number().finite()
3792
+ });
3793
+ var PluginViewSettingCategory = z71.enum([
3794
+ "Site",
3795
+ "Topography",
3796
+ "Space",
3797
+ "Department",
3798
+ "Envelope",
3799
+ "Facade/Mass",
3800
+ "Dimension",
3801
+ "Reference Line",
3802
+ "Adjacency Line",
3803
+ "Landscape elements"
3804
+ ]);
3805
+ var PluginViewLineStyle = z71.enum([
3806
+ "solid",
3807
+ "dashed",
3808
+ "dashdot",
3809
+ "hidden",
3810
+ "center",
3811
+ "phantom",
3812
+ "propertyLine"
3813
+ ]);
3814
+ var PluginPlacedViewStylePatch = z71.object({
3815
+ hide: z71.boolean().optional(),
3816
+ lineStyle: PluginViewLineStyle.optional(),
3817
+ lineColor: z71.string().regex(/^#?[0-9a-fA-F]{6}$/, "lineColor must be a 6-digit hex color").optional(),
3818
+ dashLength: z71.number().finite().positive().optional(),
3819
+ lineWidth: z71.number().finite().min(0).optional(),
3820
+ cutWidth: z71.number().finite().min(0).optional(),
3821
+ projectionWidth: z71.number().finite().min(0).optional(),
3822
+ treeLineWidth: z71.number().finite().min(0).optional(),
3823
+ parkingLineWidth: z71.number().finite().min(0).optional(),
3824
+ colorMode: z71.string().refine(
3825
+ (v) => ["department", "texture", "monochrome"].includes(v) || v.startsWith("tag:"),
3826
+ { message: "colorMode must be department, texture, monochrome, or tag:<tagCategoryId>" }
3827
+ ).optional(),
3828
+ opacity: z71.number().finite().min(0).max(100).optional(),
3829
+ mapOpacity: z71.number().finite().min(0).max(100).optional(),
3830
+ buildingOpacity: z71.number().finite().min(0).max(100).optional(),
3831
+ mapHide: z71.boolean().optional(),
3832
+ buildingHide: z71.boolean().optional(),
3833
+ noBuilding: z71.boolean().optional(),
3834
+ viewStyle: z71.enum(["NONE", "FILLET", "BUBBLE"]).optional(),
3835
+ radius: z71.number().finite().min(0).optional(),
3836
+ inset: z71.number().finite().min(0).optional()
3837
+ }).strict().refine((p) => Object.keys(p).length > 0, { message: "patch must set at least one setting" });
3838
+ var PluginViewLabelType = z71.enum(["objectLabels", "department", "areas"]);
3839
+ var PluginViewFontVariantPatch = z71.object({
3840
+ fontFamily: z71.string().min(1).optional(),
3841
+ fontWeight: z71.string().regex(/^\d{3}$/, 'fontWeight must be a numeric string like "400" or "700"').optional(),
3842
+ fontStyle: z71.enum(["normal", "italic"]).optional(),
3843
+ fontSize: z71.number().finite().positive().max(200).optional()
3844
+ }).strict();
3845
+ var PluginPlacedViewFontStylesPatch = z71.object({
3846
+ visibleTypes: z71.array(PluginViewLabelType).optional(),
3847
+ objectLabels: PluginViewFontVariantPatch.optional(),
3848
+ department: PluginViewFontVariantPatch.optional(),
3849
+ areas: PluginViewFontVariantPatch.optional()
3850
+ }).strict().refine((p) => Object.keys(p).length > 0, { message: "patch must set at least one field" });
3851
+ var PluginPlacedViewsUpdateStylesArgs = z71.object({
3852
+ shapeId: z71.string().min(1),
3853
+ category: PluginViewSettingCategory,
3854
+ patch: PluginPlacedViewStylePatch
3855
+ });
3856
+ var PluginPlacedViewsUpdateFontStylesArgs = z71.object({
3857
+ shapeId: z71.string().min(1),
3858
+ category: PluginViewSettingCategory,
3859
+ patch: PluginPlacedViewFontStylesPatch
3860
+ });
3861
+ var PluginPlacedViewsMoveLabelArgs = z71.object({
3862
+ labelId: z71.string().min(1),
3863
+ position: PluginSheetPosition
3864
+ });
3865
+ var PluginPlacedViewsSetLabelHiddenArgs = z71.object({
3866
+ labelId: z71.string().min(1),
3867
+ hidden: z71.boolean()
3868
+ });
3869
+ var PluginCanvasShapeOrigin = z71.enum([
3870
+ "view",
3871
+ "aiOutput",
3872
+ "diagram",
3873
+ "pluginShape",
3874
+ "annotation",
3875
+ "image",
3876
+ "other"
3877
+ ]);
3878
+ var PluginPlacedViewsMoveShapeArgs = z71.object({
3879
+ shapeId: z71.string().min(1),
3880
+ position: PluginSheetPosition,
3881
+ sheetId: z71.string().optional()
3882
+ });
3883
+ var PluginPlacedViewsResizeShapeArgs = z71.object({
3884
+ shapeId: z71.string().min(1),
3885
+ factor: z71.number().finite().min(0.01).max(100)
3886
+ });
3887
+ var PluginPresentationPlacedViewsRotateShapeArgs = z71.object({
3888
+ shapeId: z71.string().min(1),
3889
+ rotation: z71.number().finite()
3890
+ });
3891
+ var PluginPlacedViewsDeleteShapesArgs = z71.object({
3892
+ shapeIds: z71.array(z71.string().min(1)).min(1).max(500)
3893
+ });
3894
+ var PluginPlacedViewsSetOpacityArgs = z71.object({
3895
+ shapeId: z71.string().min(1),
3896
+ opacity: z71.number().finite().min(0).max(1)
3897
+ });
3898
+ var PluginPlacedViewsSetMaskArgs = z71.object({
3899
+ shapeId: z71.string().min(1),
3900
+ enabled: z71.boolean()
3901
+ });
3733
3902
 
3734
3903
  // src/api/presentation/diagrams.ts
3735
3904
  import * as z72 from "zod";
@@ -3745,6 +3914,14 @@ var PluginPresentationDiagramsPlaceArgs = z72.object({
3745
3914
  var PluginPresentationDiagramsPlaceResult = z72.object({
3746
3915
  shapeIds: z72.array(z72.string())
3747
3916
  });
3917
+ var PluginPresentationSiteDiagramType = z72.enum([
3918
+ "location",
3919
+ "streetview",
3920
+ "climate"
3921
+ ]);
3922
+ var PluginPresentationDiagramsGenerateSiteArgs = z72.object({
3923
+ types: z72.array(PluginPresentationSiteDiagramType).min(1).optional()
3924
+ });
3748
3925
  var PluginPresentationDiagramsGenerateResult = z72.object({
3749
3926
  sheetIds: z72.array(z72.string())
3750
3927
  });
@@ -3776,7 +3953,13 @@ var PluginPresentationAnnotateTextArgs = z73.object({
3776
3953
  text: z73.string(),
3777
3954
  position: z73.object({ x: z73.number(), y: z73.number() }).optional(),
3778
3955
  size: PluginAnnotateTextSize.optional(),
3779
- color: PluginAnnotateTextColor.optional()
3956
+ color: PluginAnnotateTextColor.optional(),
3957
+ fontFamily: z73.string().min(1).optional(),
3958
+ fontWeight: z73.string().regex(
3959
+ /^\d{3}(-italic)?$/,
3960
+ 'fontWeight must be a numeric string like "400" or "700", optionally with the "-italic" suffix'
3961
+ ).optional(),
3962
+ fontSizePx: z73.number().finite().positive().optional()
3780
3963
  });
3781
3964
  var PluginPresentationAnnotateTextResult = z73.object({
3782
3965
  shapeId: z73.string()
@@ -3899,229 +4082,258 @@ var PluginPresentationShapesListResult = z74.object({
3899
4082
  )
3900
4083
  });
3901
4084
 
3902
- // src/api/presentation/import.ts
4085
+ // src/api/presentation/tables.ts
3903
4086
  import * as z75 from "zod";
3904
- var PluginPresentationImportApi = class {
4087
+ var PluginPresentationTablesApi = class {
3905
4088
  constructor() {
3906
4089
  }
3907
4090
  };
3908
- var PluginPresentationImportArgs = z75.object({
3909
- url: z75.string().optional(),
3910
- dataUrl: z75.string().optional(),
4091
+ var PluginPresentationTablesPlaceArgs = z75.object({
4092
+ sheetId: z75.string().min(1),
4093
+ rows: z75.array(z75.array(z75.string()).min(1)).min(1).refine((rows) => rows.reduce((n, r) => n + r.length, 0) <= 1e4, {
4094
+ message: "table exceeds the 10000-cell cap"
4095
+ }),
3911
4096
  position: z75.object({ x: z75.number(), y: z75.number() }).optional()
4097
+ });
4098
+
4099
+ // src/api/presentation/slideshow.ts
4100
+ import * as z76 from "zod";
4101
+ var PluginPresentationSlideshowApi = class {
4102
+ constructor() {
4103
+ }
4104
+ };
4105
+ var PluginPresentationSlideshowStartArgs = z76.object({
4106
+ sheetIds: z76.array(z76.string().min(1)).optional(),
4107
+ startIndex: z76.number().int().min(0).optional()
4108
+ });
4109
+ var PluginPresentationSlideshowState = z76.object({
4110
+ running: z76.boolean(),
4111
+ index: z76.number().int().nullable()
4112
+ });
4113
+
4114
+ // src/api/presentation/import.ts
4115
+ import * as z77 from "zod";
4116
+ var PluginPresentationImportApi = class {
4117
+ constructor() {
4118
+ }
4119
+ };
4120
+ var PluginPresentationImportArgs = z77.object({
4121
+ url: z77.string().optional(),
4122
+ dataUrl: z77.string().optional(),
4123
+ position: z77.object({ x: z77.number(), y: z77.number() }).optional()
3912
4124
  }).refine((a) => Boolean(a.url) || Boolean(a.dataUrl), {
3913
4125
  message: "Provide a url or a dataUrl"
3914
4126
  });
3915
- var PluginPresentationImportResult = z75.object({
3916
- shapeIds: z75.array(z75.string())
4127
+ var PluginPresentationImportResult = z77.object({
4128
+ shapeIds: z77.array(z77.string())
3917
4129
  });
3918
4130
 
3919
4131
  // src/api/presentation/aiInspiration.ts
3920
- import * as z76 from "zod";
3921
- var JsonPrimitive = z76.union([z76.string(), z76.number(), z76.boolean(), z76.null()]);
3922
- var JsonValue = z76.lazy(
3923
- () => z76.union([JsonPrimitive, z76.array(JsonValue), z76.record(z76.string(), JsonValue)])
4132
+ import * as z78 from "zod";
4133
+ var JsonPrimitive = z78.union([z78.string(), z78.number(), z78.boolean(), z78.null()]);
4134
+ var JsonValue = z78.lazy(
4135
+ () => z78.union([JsonPrimitive, z78.array(JsonValue), z78.record(z78.string(), JsonValue)])
3924
4136
  );
3925
- var PluginAIInspirationRunMode = z76.enum(["blocking", "job"]);
3926
- var PluginAIInspirationOutputKind = z76.enum([
4137
+ var PluginAIInspirationRunMode = z78.enum(["blocking", "job"]);
4138
+ var PluginAIInspirationOutputKind = z78.enum([
3927
4139
  "source",
3928
4140
  "image",
3929
4141
  "video"
3930
4142
  ]);
3931
- var PluginAIInspirationModelOutput = z76.enum(["image", "video"]);
3932
- var PluginAIInspirationRuntimeProvider = z76.enum(["gpt", "fal"]);
3933
- var PluginAIInspirationPromptStrategy = z76.enum([
4143
+ var PluginAIInspirationModelOutput = z78.enum(["image", "video"]);
4144
+ var PluginAIInspirationRuntimeProvider = z78.enum(["gpt", "fal"]);
4145
+ var PluginAIInspirationPromptStrategy = z78.enum([
3934
4146
  "gpt-image",
3935
4147
  "fal-image",
3936
4148
  "fal-video"
3937
4149
  ]);
3938
- var PluginAIInspirationShapeKind = z76.enum(["image", "view", "video"]);
3939
- var PluginAIInspirationVideoMode = z76.enum([
4150
+ var PluginAIInspirationShapeKind = z78.enum(["image", "view", "video"]);
4151
+ var PluginAIInspirationVideoMode = z78.enum([
3940
4152
  "animate",
3941
4153
  "references",
3942
4154
  "keyframes"
3943
4155
  ]);
3944
- var PluginAIInspirationVideoMotion = z76.enum([
4156
+ var PluginAIInspirationVideoMotion = z78.enum([
3945
4157
  "auto",
3946
4158
  "slow-dolly",
3947
4159
  "subtle-orbit",
3948
4160
  "reveal"
3949
4161
  ]);
3950
- var PluginAIInspirationVideoDuration = z76.enum(["4s", "6s", "8s"]);
3951
- var PluginAIInspirationJobStatus = z76.enum([
4162
+ var PluginAIInspirationVideoDuration = z78.enum(["4s", "6s", "8s"]);
4163
+ var PluginAIInspirationJobStatus = z78.enum([
3952
4164
  "queued",
3953
4165
  "running",
3954
4166
  "completed",
3955
4167
  "failed",
3956
4168
  "cancelled"
3957
4169
  ]);
3958
- var PluginAIInspirationWorkflowRunState = z76.enum([
4170
+ var PluginAIInspirationWorkflowRunState = z78.enum([
3959
4171
  "current",
3960
4172
  "stale",
3961
4173
  "running",
3962
4174
  "failed",
3963
4175
  "superseded"
3964
4176
  ]);
3965
- var PluginAIInspirationRegionHint = z76.object({
3966
- x: z76.number().finite(),
3967
- y: z76.number().finite(),
3968
- w: z76.number().finite().positive(),
3969
- h: z76.number().finite().positive()
3970
- });
3971
- var PluginAIInspirationPoint = z76.object({
3972
- x: z76.number().finite(),
3973
- y: z76.number().finite()
3974
- });
3975
- var PluginAIInspirationTextAnnotation = z76.object({
3976
- text: z76.string().min(1),
3977
- x: z76.number().finite().optional(),
3978
- y: z76.number().finite().optional()
3979
- });
3980
- var PluginAIInspirationSketchGuidance = z76.object({
3981
- visualShapeIds: z76.array(z76.string()).optional(),
3982
- textAnnotations: z76.array(PluginAIInspirationTextAnnotation).optional()
3983
- });
3984
- var PluginAIInspirationSiteOptions = z76.object({
3985
- includeSatellite: z76.boolean().optional(),
3986
- includeStreetView: z76.boolean().optional(),
3987
- includeAerial: z76.boolean().optional(),
3988
- aerialBearing: z76.number().finite().optional(),
3989
- aerialPitch: z76.number().finite().optional(),
3990
- selectedDiagramIds: z76.array(z76.string()).optional(),
3991
- location: z76.object({
3992
- lat: z76.number().finite(),
3993
- lng: z76.number().finite()
4177
+ var PluginAIInspirationRegionHint = z78.object({
4178
+ x: z78.number().finite(),
4179
+ y: z78.number().finite(),
4180
+ w: z78.number().finite().positive(),
4181
+ h: z78.number().finite().positive()
4182
+ });
4183
+ var PluginAIInspirationPoint = z78.object({
4184
+ x: z78.number().finite(),
4185
+ y: z78.number().finite()
4186
+ });
4187
+ var PluginAIInspirationTextAnnotation = z78.object({
4188
+ text: z78.string().min(1),
4189
+ x: z78.number().finite().optional(),
4190
+ y: z78.number().finite().optional()
4191
+ });
4192
+ var PluginAIInspirationSketchGuidance = z78.object({
4193
+ visualShapeIds: z78.array(z78.string()).optional(),
4194
+ textAnnotations: z78.array(PluginAIInspirationTextAnnotation).optional()
4195
+ });
4196
+ var PluginAIInspirationSiteOptions = z78.object({
4197
+ includeSatellite: z78.boolean().optional(),
4198
+ includeStreetView: z78.boolean().optional(),
4199
+ includeAerial: z78.boolean().optional(),
4200
+ aerialBearing: z78.number().finite().optional(),
4201
+ aerialPitch: z78.number().finite().optional(),
4202
+ selectedDiagramIds: z78.array(z78.string()).optional(),
4203
+ location: z78.object({
4204
+ lat: z78.number().finite(),
4205
+ lng: z78.number().finite()
3994
4206
  }).optional()
3995
4207
  });
3996
- var PluginAIInspirationAppliedPreset = z76.object({
3997
- source: z76.enum(["curated", "user"]),
3998
- presetId: z76.string().min(1),
3999
- name: z76.string().min(1),
4000
- savedPresetKind: z76.enum(["prompt", "style"]).optional(),
4001
- stylePrompt: z76.string().optional(),
4002
- modelId: z76.string().optional(),
4003
- referenceImages: z76.array(
4004
- z76.object({
4005
- url: z76.string().min(1),
4006
- label: z76.string().optional(),
4007
- weight: z76.number().finite().optional()
4208
+ var PluginAIInspirationAppliedPreset = z78.object({
4209
+ source: z78.enum(["curated", "user"]),
4210
+ presetId: z78.string().min(1),
4211
+ name: z78.string().min(1),
4212
+ savedPresetKind: z78.enum(["prompt", "style"]).optional(),
4213
+ stylePrompt: z78.string().optional(),
4214
+ modelId: z78.string().optional(),
4215
+ referenceImages: z78.array(
4216
+ z78.object({
4217
+ url: z78.string().min(1),
4218
+ label: z78.string().optional(),
4219
+ weight: z78.number().finite().optional()
4008
4220
  })
4009
4221
  ).optional(),
4010
- siteDefaults: z76.object({
4011
- includeSatellite: z76.boolean().optional(),
4012
- includeStreetView: z76.boolean().optional(),
4013
- includeAerial: z76.boolean().optional()
4222
+ siteDefaults: z78.object({
4223
+ includeSatellite: z78.boolean().optional(),
4224
+ includeStreetView: z78.boolean().optional(),
4225
+ includeAerial: z78.boolean().optional()
4014
4226
  }).optional()
4015
4227
  });
4016
- var PluginAIInspirationVideoOptions = z76.object({
4228
+ var PluginAIInspirationVideoOptions = z78.object({
4017
4229
  mode: PluginAIInspirationVideoMode.optional(),
4018
- endFrameShapeId: z76.string().optional(),
4230
+ endFrameShapeId: z78.string().optional(),
4019
4231
  motion: PluginAIInspirationVideoMotion.optional(),
4020
4232
  duration: PluginAIInspirationVideoDuration.optional()
4021
4233
  });
4022
- var PluginAIInspirationModel = z76.object({
4023
- id: z76.string(),
4024
- label: z76.string(),
4025
- supportsMultiImage: z76.boolean(),
4234
+ var PluginAIInspirationModel = z78.object({
4235
+ id: z78.string(),
4236
+ label: z78.string(),
4237
+ supportsMultiImage: z78.boolean(),
4026
4238
  output: PluginAIInspirationModelOutput,
4027
- isDefault: z76.boolean().optional()
4239
+ isDefault: z78.boolean().optional()
4028
4240
  });
4029
- var PluginAIInspirationModelCapability = z76.object({
4030
- id: z76.string(),
4241
+ var PluginAIInspirationModelCapability = z78.object({
4242
+ id: z78.string(),
4031
4243
  output: PluginAIInspirationModelOutput,
4032
4244
  provider: PluginAIInspirationRuntimeProvider,
4033
- supportsRegionEdit: z76.boolean(),
4034
- supportsReferenceImages: z76.boolean(),
4035
- supportsStylePresets: z76.boolean(),
4036
- supportsSiteContext: z76.boolean(),
4037
- supportsSketchGuidance: z76.boolean(),
4038
- supportsKeyframes: z76.boolean(),
4039
- maxExtraImages: z76.number().int().nonnegative(),
4245
+ supportsRegionEdit: z78.boolean(),
4246
+ supportsReferenceImages: z78.boolean(),
4247
+ supportsStylePresets: z78.boolean(),
4248
+ supportsSiteContext: z78.boolean(),
4249
+ supportsSketchGuidance: z78.boolean(),
4250
+ supportsKeyframes: z78.boolean(),
4251
+ maxExtraImages: z78.number().int().nonnegative(),
4040
4252
  promptStrategy: PluginAIInspirationPromptStrategy
4041
4253
  });
4042
- var PluginAIInspirationListModelsResult = z76.object({
4043
- defaultModelId: z76.string(),
4044
- models: z76.array(PluginAIInspirationModel)
4254
+ var PluginAIInspirationListModelsResult = z78.object({
4255
+ defaultModelId: z78.string(),
4256
+ models: z78.array(PluginAIInspirationModel)
4045
4257
  });
4046
- var PluginAIInspirationGetModelCapabilitiesArgs = z76.object({
4047
- modelId: z76.string().min(1)
4258
+ var PluginAIInspirationGetModelCapabilitiesArgs = z78.object({
4259
+ modelId: z78.string().min(1)
4048
4260
  });
4049
- var PluginAIInspirationGetModelCapabilitiesResult = z76.object({
4261
+ var PluginAIInspirationGetModelCapabilitiesResult = z78.object({
4050
4262
  capability: PluginAIInspirationModelCapability
4051
4263
  });
4052
- var PluginAIInspirationShapeRef = z76.object({
4053
- shapeId: z76.string(),
4054
- assetId: z76.string().optional(),
4264
+ var PluginAIInspirationShapeRef = z78.object({
4265
+ shapeId: z78.string(),
4266
+ assetId: z78.string().optional(),
4055
4267
  kind: PluginAIInspirationShapeKind,
4056
- name: z76.string().optional(),
4057
- width: z76.number().finite().optional(),
4058
- height: z76.number().finite().optional(),
4268
+ name: z78.string().optional(),
4269
+ width: z78.number().finite().optional(),
4270
+ height: z78.number().finite().optional(),
4059
4271
  outputType: PluginAIInspirationOutputKind.optional(),
4060
- sourceUrl: z76.string().optional()
4061
- });
4062
- var PluginAIInspirationListSourcesArgs = z76.object({
4063
- includeGenerated: z76.boolean().optional(),
4064
- includeSourceUrl: z76.boolean().optional()
4065
- });
4066
- var PluginAIInspirationListSourcesResult = z76.object({
4067
- sources: z76.array(PluginAIInspirationShapeRef)
4068
- });
4069
- var PluginAIInspirationGetSelectionResult = z76.object({
4070
- selectedShapeIds: z76.array(z76.string()),
4071
- sources: z76.array(PluginAIInspirationShapeRef)
4072
- });
4073
- var PluginAIInspirationPresetReferenceImage = z76.object({
4074
- url: z76.string(),
4075
- label: z76.string().optional(),
4076
- weight: z76.number().finite().optional()
4077
- });
4078
- var PluginAIInspirationPreset = z76.object({
4079
- id: z76.string(),
4080
- name: z76.string(),
4081
- source: z76.enum(["curated", "user"]),
4082
- modelId: z76.string(),
4083
- categoryId: z76.string().optional(),
4084
- categoryLabel: z76.string().optional(),
4085
- description: z76.string().optional(),
4086
- previewImageUrl: z76.string().optional(),
4087
- prompt: z76.string().optional(),
4088
- stylePrompt: z76.string().optional(),
4089
- tags: z76.array(z76.string()).optional(),
4090
- referenceImages: z76.array(PluginAIInspirationPresetReferenceImage).optional(),
4272
+ sourceUrl: z78.string().optional()
4273
+ });
4274
+ var PluginAIInspirationListSourcesArgs = z78.object({
4275
+ includeGenerated: z78.boolean().optional(),
4276
+ includeSourceUrl: z78.boolean().optional()
4277
+ });
4278
+ var PluginAIInspirationListSourcesResult = z78.object({
4279
+ sources: z78.array(PluginAIInspirationShapeRef)
4280
+ });
4281
+ var PluginAIInspirationGetSelectionResult = z78.object({
4282
+ selectedShapeIds: z78.array(z78.string()),
4283
+ sources: z78.array(PluginAIInspirationShapeRef)
4284
+ });
4285
+ var PluginAIInspirationPresetReferenceImage = z78.object({
4286
+ url: z78.string(),
4287
+ label: z78.string().optional(),
4288
+ weight: z78.number().finite().optional()
4289
+ });
4290
+ var PluginAIInspirationPreset = z78.object({
4291
+ id: z78.string(),
4292
+ name: z78.string(),
4293
+ source: z78.enum(["curated", "user"]),
4294
+ modelId: z78.string(),
4295
+ categoryId: z78.string().optional(),
4296
+ categoryLabel: z78.string().optional(),
4297
+ description: z78.string().optional(),
4298
+ previewImageUrl: z78.string().optional(),
4299
+ prompt: z78.string().optional(),
4300
+ stylePrompt: z78.string().optional(),
4301
+ tags: z78.array(z78.string()).optional(),
4302
+ referenceImages: z78.array(PluginAIInspirationPresetReferenceImage).optional(),
4091
4303
  siteDefaults: PluginAIInspirationAppliedPreset.shape.siteDefaults.optional()
4092
4304
  });
4093
- var PluginAIInspirationPresetCategory = z76.object({
4094
- id: z76.string(),
4095
- label: z76.string(),
4096
- description: z76.string().optional()
4305
+ var PluginAIInspirationPresetCategory = z78.object({
4306
+ id: z78.string(),
4307
+ label: z78.string(),
4308
+ description: z78.string().optional()
4097
4309
  });
4098
- var PluginAIInspirationGetPresetCatalogResult = z76.object({
4099
- categories: z76.array(PluginAIInspirationPresetCategory),
4100
- presets: z76.array(PluginAIInspirationPreset)
4310
+ var PluginAIInspirationGetPresetCatalogResult = z78.object({
4311
+ categories: z78.array(PluginAIInspirationPresetCategory),
4312
+ presets: z78.array(PluginAIInspirationPreset)
4101
4313
  });
4102
- var PluginAIInspirationOutput = z76.object({
4103
- outputType: z76.enum(["image", "video"]),
4104
- shapeId: z76.string(),
4105
- assetId: z76.string(),
4106
- outputUrl: z76.string().optional(),
4314
+ var PluginAIInspirationOutput = z78.object({
4315
+ outputType: z78.enum(["image", "video"]),
4316
+ shapeId: z78.string(),
4317
+ assetId: z78.string(),
4318
+ outputUrl: z78.string().optional(),
4107
4319
  position: PluginAIInspirationPoint.optional()
4108
4320
  });
4109
- var PluginAIInspirationDebugSummary = z76.record(z76.string(), JsonValue);
4110
- var PluginAIInspirationRunMetadata = z76.object({
4111
- geometryFidelity: z76.string().optional(),
4321
+ var PluginAIInspirationDebugSummary = z78.record(z78.string(), JsonValue);
4322
+ var PluginAIInspirationRunMetadata = z78.object({
4323
+ geometryFidelity: z78.string().optional(),
4112
4324
  debugSummary: PluginAIInspirationDebugSummary.optional(),
4113
- streetViewComposite: z76.object({
4114
- used: z76.boolean(),
4115
- renderMode: z76.enum(["prompt_refs_default", "masked_composite_pilot"]),
4116
- backgroundLabel: z76.string().optional()
4325
+ streetViewComposite: z78.object({
4326
+ used: z78.boolean(),
4327
+ renderMode: z78.enum(["prompt_refs_default", "masked_composite_pilot"]),
4328
+ backgroundLabel: z78.string().optional()
4117
4329
  }).optional()
4118
4330
  });
4119
- var PluginAIInspirationGenerateArgs = z76.object({
4120
- sourceShapeId: z76.string().min(1),
4121
- prompt: z76.string().min(1).max(8e3),
4122
- modelId: z76.string().optional(),
4123
- referenceShapeIds: z76.array(z76.string()).max(12).optional(),
4124
- referenceStrength: z76.enum(["low", "medium", "high"]).optional(),
4331
+ var PluginAIInspirationGenerateArgs = z78.object({
4332
+ sourceShapeId: z78.string().min(1),
4333
+ prompt: z78.string().min(1).max(8e3),
4334
+ modelId: z78.string().optional(),
4335
+ referenceShapeIds: z78.array(z78.string()).max(12).optional(),
4336
+ referenceStrength: z78.enum(["low", "medium", "high"]).optional(),
4125
4337
  appliedPreset: PluginAIInspirationAppliedPreset.optional(),
4126
4338
  site: PluginAIInspirationSiteOptions.optional(),
4127
4339
  regionHint: PluginAIInspirationRegionHint.optional(),
@@ -4129,129 +4341,129 @@ var PluginAIInspirationGenerateArgs = z76.object({
4129
4341
  video: PluginAIInspirationVideoOptions.optional(),
4130
4342
  runMode: PluginAIInspirationRunMode.optional()
4131
4343
  });
4132
- var PluginAIInspirationRunResult = z76.object({
4133
- jobId: z76.string().optional(),
4344
+ var PluginAIInspirationRunResult = z78.object({
4345
+ jobId: z78.string().optional(),
4134
4346
  output: PluginAIInspirationOutput.optional(),
4135
- outputs: z76.array(PluginAIInspirationOutput).optional(),
4347
+ outputs: z78.array(PluginAIInspirationOutput).optional(),
4136
4348
  metadata: PluginAIInspirationRunMetadata.optional()
4137
4349
  });
4138
- var PluginAIInspirationRefineArgs = z76.object({
4139
- sourceShapeId: z76.string().min(1),
4140
- upscaleFactor: z76.union([z76.literal(1.5), z76.literal(2), z76.literal(4)]).optional(),
4350
+ var PluginAIInspirationRefineArgs = z78.object({
4351
+ sourceShapeId: z78.string().min(1),
4352
+ upscaleFactor: z78.union([z78.literal(1.5), z78.literal(2), z78.literal(4)]).optional(),
4141
4353
  runMode: PluginAIInspirationRunMode.optional()
4142
4354
  });
4143
- var PluginAIInspirationJobProgress = z76.object({
4144
- currentStep: z76.number().int().nonnegative().optional(),
4145
- totalSteps: z76.number().int().nonnegative().optional(),
4146
- message: z76.string().optional()
4355
+ var PluginAIInspirationJobProgress = z78.object({
4356
+ currentStep: z78.number().int().nonnegative().optional(),
4357
+ totalSteps: z78.number().int().nonnegative().optional(),
4358
+ message: z78.string().optional()
4147
4359
  });
4148
- var PluginAIInspirationJob = z76.object({
4149
- jobId: z76.string(),
4360
+ var PluginAIInspirationJob = z78.object({
4361
+ jobId: z78.string(),
4150
4362
  status: PluginAIInspirationJobStatus,
4151
- createdAt: z76.number(),
4152
- updatedAt: z76.number(),
4153
- completedAt: z76.number().optional(),
4154
- method: z76.string(),
4363
+ createdAt: z78.number(),
4364
+ updatedAt: z78.number(),
4365
+ completedAt: z78.number().optional(),
4366
+ method: z78.string(),
4155
4367
  progress: PluginAIInspirationJobProgress.optional(),
4156
4368
  result: PluginAIInspirationRunResult.optional(),
4157
- error: z76.string().optional()
4369
+ error: z78.string().optional()
4158
4370
  });
4159
- var PluginAIInspirationJobArgs = z76.object({
4160
- jobId: z76.string().min(1)
4371
+ var PluginAIInspirationJobArgs = z78.object({
4372
+ jobId: z78.string().min(1)
4161
4373
  });
4162
- var PluginAIInspirationGetJobResult = z76.object({
4374
+ var PluginAIInspirationGetJobResult = z78.object({
4163
4375
  job: PluginAIInspirationJob
4164
4376
  });
4165
- var PluginAIInspirationCancelJobResult = z76.object({
4377
+ var PluginAIInspirationCancelJobResult = z78.object({
4166
4378
  job: PluginAIInspirationJob
4167
4379
  });
4168
- var PluginAIInspirationListJobsResult = z76.object({
4169
- jobs: z76.array(PluginAIInspirationJob)
4380
+ var PluginAIInspirationListJobsResult = z78.object({
4381
+ jobs: z78.array(PluginAIInspirationJob)
4170
4382
  });
4171
- var PluginAIInspirationWorkflowVideoConfig = z76.object({
4172
- mode: z76.string().optional(),
4173
- motion: z76.string().optional(),
4174
- duration: z76.string().optional(),
4175
- endFrameShapeId: z76.string().optional()
4383
+ var PluginAIInspirationWorkflowVideoConfig = z78.object({
4384
+ mode: z78.string().optional(),
4385
+ motion: z78.string().optional(),
4386
+ duration: z78.string().optional(),
4387
+ endFrameShapeId: z78.string().optional()
4176
4388
  });
4177
- var PluginAIInspirationGenerationInputSnapshot = z76.object({
4178
- version: z76.literal(1),
4179
- meta: z76.record(z76.string(), JsonValue),
4389
+ var PluginAIInspirationGenerationInputSnapshot = z78.object({
4390
+ version: z78.literal(1),
4391
+ meta: z78.record(z78.string(), JsonValue),
4180
4392
  regionHint: PluginAIInspirationRegionHint.optional(),
4181
- sketchGuidance: z76.record(z76.string(), JsonValue).optional(),
4182
- sourceCameraHeading: z76.number().finite().optional()
4183
- });
4184
- var PluginAIInspirationWorkflowOperation = z76.object({
4185
- type: z76.enum(["generate-image", "refine", "generate-video"]),
4186
- label: z76.string(),
4187
- prompt: z76.string().optional(),
4188
- modelId: z76.string().optional(),
4189
- presetId: z76.string().optional(),
4190
- presetName: z76.string().optional(),
4191
- refineFactor: z76.number().finite().optional(),
4192
- sourceRole: z76.enum(["primary", "end-frame"]).optional(),
4393
+ sketchGuidance: z78.record(z78.string(), JsonValue).optional(),
4394
+ sourceCameraHeading: z78.number().finite().optional()
4395
+ });
4396
+ var PluginAIInspirationWorkflowOperation = z78.object({
4397
+ type: z78.enum(["generate-image", "refine", "generate-video"]),
4398
+ label: z78.string(),
4399
+ prompt: z78.string().optional(),
4400
+ modelId: z78.string().optional(),
4401
+ presetId: z78.string().optional(),
4402
+ presetName: z78.string().optional(),
4403
+ refineFactor: z78.number().finite().optional(),
4404
+ sourceRole: z78.enum(["primary", "end-frame"]).optional(),
4193
4405
  video: PluginAIInspirationWorkflowVideoConfig.optional(),
4194
4406
  generationInput: PluginAIInspirationGenerationInputSnapshot.optional()
4195
4407
  });
4196
- var PluginAIInspirationWorkflowNode = z76.object({
4197
- id: z76.string(),
4198
- shapeId: z76.string(),
4199
- assetId: z76.string().optional(),
4408
+ var PluginAIInspirationWorkflowNode = z78.object({
4409
+ id: z78.string(),
4410
+ shapeId: z78.string(),
4411
+ assetId: z78.string().optional(),
4200
4412
  kind: PluginAIInspirationOutputKind,
4201
- state: z76.string(),
4413
+ state: z78.string(),
4202
4414
  runState: PluginAIInspirationWorkflowRunState.optional(),
4203
- staleReason: z76.string().optional(),
4204
- incomingEdgeIds: z76.array(z76.string()),
4205
- outgoingEdgeIds: z76.array(z76.string()),
4206
- createdAt: z76.number(),
4207
- updatedAt: z76.number()
4208
- });
4209
- var PluginAIInspirationWorkflowEdge = z76.object({
4210
- id: z76.string(),
4211
- sourceNodeId: z76.string(),
4212
- targetNodeId: z76.string(),
4213
- arrowShapeId: z76.string().optional(),
4415
+ staleReason: z78.string().optional(),
4416
+ incomingEdgeIds: z78.array(z78.string()),
4417
+ outgoingEdgeIds: z78.array(z78.string()),
4418
+ createdAt: z78.number(),
4419
+ updatedAt: z78.number()
4420
+ });
4421
+ var PluginAIInspirationWorkflowEdge = z78.object({
4422
+ id: z78.string(),
4423
+ sourceNodeId: z78.string(),
4424
+ targetNodeId: z78.string(),
4425
+ arrowShapeId: z78.string().optional(),
4214
4426
  operation: PluginAIInspirationWorkflowOperation,
4215
- state: z76.string(),
4427
+ state: z78.string(),
4216
4428
  runState: PluginAIInspirationWorkflowRunState.optional(),
4217
- staleReason: z76.string().optional(),
4218
- supersededByEdgeId: z76.string().optional(),
4219
- createdAt: z76.number(),
4220
- updatedAt: z76.number()
4221
- });
4222
- var PluginAIInspirationWorkflow = z76.object({
4223
- id: z76.string(),
4224
- rootNodeIds: z76.array(z76.string()),
4225
- nodeIds: z76.array(z76.string()),
4226
- edgeIds: z76.array(z76.string()),
4227
- nodes: z76.record(z76.string(), PluginAIInspirationWorkflowNode),
4228
- edges: z76.record(z76.string(), PluginAIInspirationWorkflowEdge),
4229
- createdAt: z76.number(),
4230
- updatedAt: z76.number()
4231
- });
4232
- var PluginAIInspirationGetWorkflowForShapeArgs = z76.object({
4233
- shapeId: z76.string().min(1)
4234
- });
4235
- var PluginAIInspirationGetWorkflowForShapeResult = z76.object({
4429
+ staleReason: z78.string().optional(),
4430
+ supersededByEdgeId: z78.string().optional(),
4431
+ createdAt: z78.number(),
4432
+ updatedAt: z78.number()
4433
+ });
4434
+ var PluginAIInspirationWorkflow = z78.object({
4435
+ id: z78.string(),
4436
+ rootNodeIds: z78.array(z78.string()),
4437
+ nodeIds: z78.array(z78.string()),
4438
+ edgeIds: z78.array(z78.string()),
4439
+ nodes: z78.record(z78.string(), PluginAIInspirationWorkflowNode),
4440
+ edges: z78.record(z78.string(), PluginAIInspirationWorkflowEdge),
4441
+ createdAt: z78.number(),
4442
+ updatedAt: z78.number()
4443
+ });
4444
+ var PluginAIInspirationGetWorkflowForShapeArgs = z78.object({
4445
+ shapeId: z78.string().min(1)
4446
+ });
4447
+ var PluginAIInspirationGetWorkflowForShapeResult = z78.object({
4236
4448
  workflow: PluginAIInspirationWorkflow.nullable(),
4237
4449
  node: PluginAIInspirationWorkflowNode.nullable()
4238
4450
  });
4239
- var PluginAIInspirationRerunPlanResult = z76.discriminatedUnion(
4451
+ var PluginAIInspirationRerunPlanResult = z78.discriminatedUnion(
4240
4452
  "status",
4241
4453
  [
4242
- z76.object({
4243
- status: z76.literal("ready"),
4244
- workflowId: z76.string(),
4454
+ z78.object({
4455
+ status: z78.literal("ready"),
4456
+ workflowId: z78.string(),
4245
4457
  sourceNode: PluginAIInspirationWorkflowNode,
4246
- edgeIds: z76.array(z76.string()),
4247
- edges: z76.array(PluginAIInspirationWorkflowEdge),
4248
- recipe: z76.lazy(() => PluginAIInspirationRecipe),
4249
- needsEndFrame: z76.boolean(),
4250
- defaultEndFrameShapeId: z76.string().nullable()
4458
+ edgeIds: z78.array(z78.string()),
4459
+ edges: z78.array(PluginAIInspirationWorkflowEdge),
4460
+ recipe: z78.lazy(() => PluginAIInspirationRecipe),
4461
+ needsEndFrame: z78.boolean(),
4462
+ defaultEndFrameShapeId: z78.string().nullable()
4251
4463
  }),
4252
- z76.object({
4253
- status: z76.literal("unavailable"),
4254
- reason: z76.enum([
4464
+ z78.object({
4465
+ status: z78.literal("unavailable"),
4466
+ reason: z78.enum([
4255
4467
  "not-in-workflow",
4256
4468
  "source-only",
4257
4469
  "running",
@@ -4260,47 +4472,47 @@ var PluginAIInspirationRerunPlanResult = z76.discriminatedUnion(
4260
4472
  })
4261
4473
  ]
4262
4474
  );
4263
- var PluginAIInspirationRerunSelectedBranchArgs = z76.object({
4264
- shapeId: z76.string().min(1),
4265
- endFrameShapeId: z76.string().optional(),
4475
+ var PluginAIInspirationRerunSelectedBranchArgs = z78.object({
4476
+ shapeId: z78.string().min(1),
4477
+ endFrameShapeId: z78.string().optional(),
4266
4478
  runMode: PluginAIInspirationRunMode.optional()
4267
4479
  });
4268
- var PluginAIInspirationRecipeSlot = z76.object({
4269
- id: z76.string(),
4270
- type: z76.enum(["source-image", "end-frame"]),
4271
- label: z76.string(),
4272
- required: z76.boolean()
4480
+ var PluginAIInspirationRecipeSlot = z78.object({
4481
+ id: z78.string(),
4482
+ type: z78.enum(["source-image", "end-frame"]),
4483
+ label: z78.string(),
4484
+ required: z78.boolean()
4273
4485
  });
4274
- var PluginAIInspirationRecipeStep = z76.object({
4275
- id: z76.string(),
4486
+ var PluginAIInspirationRecipeStep = z78.object({
4487
+ id: z78.string(),
4276
4488
  operation: PluginAIInspirationWorkflowOperation,
4277
- outputKind: z76.enum(["image", "video"])
4489
+ outputKind: z78.enum(["image", "video"])
4278
4490
  });
4279
- var PluginAIInspirationRecipeDraft = z76.object({
4280
- name: z76.string(),
4281
- summary: z76.string(),
4282
- slots: z76.array(PluginAIInspirationRecipeSlot),
4283
- steps: z76.array(PluginAIInspirationRecipeStep).min(1).max(20),
4284
- outputKind: z76.enum(["image", "video"]),
4285
- thumbnailUrl: z76.string().optional()
4491
+ var PluginAIInspirationRecipeDraft = z78.object({
4492
+ name: z78.string(),
4493
+ summary: z78.string(),
4494
+ slots: z78.array(PluginAIInspirationRecipeSlot),
4495
+ steps: z78.array(PluginAIInspirationRecipeStep).min(1).max(20),
4496
+ outputKind: z78.enum(["image", "video"]),
4497
+ thumbnailUrl: z78.string().optional()
4286
4498
  });
4287
4499
  var PluginAIInspirationRecipe = PluginAIInspirationRecipeDraft.extend({
4288
- version: z76.literal(1),
4289
- id: z76.string(),
4290
- fingerprint: z76.string().optional(),
4291
- createdAt: z76.number(),
4292
- updatedAt: z76.number()
4500
+ version: z78.literal(1),
4501
+ id: z78.string(),
4502
+ fingerprint: z78.string().optional(),
4503
+ createdAt: z78.number(),
4504
+ updatedAt: z78.number()
4293
4505
  });
4294
- var PluginAIInspirationExtractionResult = z76.discriminatedUnion(
4506
+ var PluginAIInspirationExtractionResult = z78.discriminatedUnion(
4295
4507
  "status",
4296
4508
  [
4297
- z76.object({
4298
- status: z76.literal("ready"),
4509
+ z78.object({
4510
+ status: z78.literal("ready"),
4299
4511
  draft: PluginAIInspirationRecipeDraft
4300
4512
  }),
4301
- z76.object({
4302
- status: z76.literal("unavailable"),
4303
- reason: z76.enum([
4513
+ z78.object({
4514
+ status: z78.literal("unavailable"),
4515
+ reason: z78.enum([
4304
4516
  "not-in-workflow",
4305
4517
  "source-only",
4306
4518
  "missing-workflow",
@@ -4311,38 +4523,38 @@ var PluginAIInspirationExtractionResult = z76.discriminatedUnion(
4311
4523
  })
4312
4524
  ]
4313
4525
  );
4314
- var PluginAIInspirationListRecipesResult = z76.object({
4315
- recipes: z76.array(PluginAIInspirationRecipe)
4526
+ var PluginAIInspirationListRecipesResult = z78.object({
4527
+ recipes: z78.array(PluginAIInspirationRecipe)
4316
4528
  });
4317
- var PluginAIInspirationSaveRecipeArgs = z76.object({
4529
+ var PluginAIInspirationSaveRecipeArgs = z78.object({
4318
4530
  draft: PluginAIInspirationRecipeDraft,
4319
- name: z76.string().min(1)
4531
+ name: z78.string().min(1)
4320
4532
  });
4321
- var PluginAIInspirationSaveRecipeResult = z76.discriminatedUnion(
4533
+ var PluginAIInspirationSaveRecipeResult = z78.discriminatedUnion(
4322
4534
  "status",
4323
4535
  [
4324
- z76.object({ status: z76.literal("saved"), recipe: PluginAIInspirationRecipe }),
4325
- z76.object({
4326
- status: z76.literal("duplicate"),
4536
+ z78.object({ status: z78.literal("saved"), recipe: PluginAIInspirationRecipe }),
4537
+ z78.object({
4538
+ status: z78.literal("duplicate"),
4327
4539
  recipe: PluginAIInspirationRecipe
4328
4540
  }),
4329
- z76.object({ status: z76.literal("invalid-name"), recipe: z76.null() }),
4330
- z76.object({ status: z76.literal("failed"), recipe: z76.null() })
4541
+ z78.object({ status: z78.literal("invalid-name"), recipe: z78.null() }),
4542
+ z78.object({ status: z78.literal("failed"), recipe: z78.null() })
4331
4543
  ]
4332
4544
  );
4333
- var PluginAIInspirationDeleteRecipeArgs = z76.object({
4334
- recipeId: z76.string().min(1)
4545
+ var PluginAIInspirationDeleteRecipeArgs = z78.object({
4546
+ recipeId: z78.string().min(1)
4335
4547
  });
4336
- var PluginAIInspirationDeleteRecipeResult = z76.object({
4337
- deleted: z76.boolean()
4548
+ var PluginAIInspirationDeleteRecipeResult = z78.object({
4549
+ deleted: z78.boolean()
4338
4550
  });
4339
- var PluginAIInspirationExtractRecipeFromShapeArgs = z76.object({
4340
- shapeId: z76.string().min(1)
4551
+ var PluginAIInspirationExtractRecipeFromShapeArgs = z78.object({
4552
+ shapeId: z78.string().min(1)
4341
4553
  });
4342
- var PluginAIInspirationRunRecipeArgs = z76.object({
4343
- recipeId: z76.string().optional(),
4554
+ var PluginAIInspirationRunRecipeArgs = z78.object({
4555
+ recipeId: z78.string().optional(),
4344
4556
  recipe: PluginAIInspirationRecipe.optional(),
4345
- slotShapeIds: z76.record(z76.string(), z76.string()),
4557
+ slotShapeIds: z78.record(z78.string(), z78.string()),
4346
4558
  runMode: PluginAIInspirationRunMode.optional()
4347
4559
  });
4348
4560
  var PluginPresentationAIInspirationApi = class {
@@ -4351,26 +4563,26 @@ var PluginPresentationAIInspirationApi = class {
4351
4563
  };
4352
4564
 
4353
4565
  // src/api/presentation/export.ts
4354
- import * as z77 from "zod";
4355
- var PluginPresentationExportFormat = z77.enum(["pdf", "png", "jpg"]);
4356
- var PluginPresentationExportResolution = z77.object({
4357
- width: z77.number().positive(),
4358
- height: z77.number().positive()
4566
+ import * as z79 from "zod";
4567
+ var PluginPresentationExportFormat = z79.enum(["pdf", "png", "jpg"]);
4568
+ var PluginPresentationExportResolution = z79.object({
4569
+ width: z79.number().positive(),
4570
+ height: z79.number().positive()
4359
4571
  });
4360
- var PluginPresentationExportArgs = z77.object({
4572
+ var PluginPresentationExportArgs = z79.object({
4361
4573
  format: PluginPresentationExportFormat,
4362
- sheetIds: z77.array(z77.string()).optional(),
4363
- combine: z77.boolean().optional(),
4574
+ sheetIds: z79.array(z79.string()).optional(),
4575
+ combine: z79.boolean().optional(),
4364
4576
  resolution: PluginPresentationExportResolution.optional(),
4365
- fileName: z77.string().optional()
4577
+ fileName: z79.string().optional()
4366
4578
  });
4367
- var PluginPresentationExportFile = z77.object({
4368
- fileName: z77.string(),
4369
- mimeType: z77.string(),
4370
- dataBase64: z77.string()
4579
+ var PluginPresentationExportFile = z79.object({
4580
+ fileName: z79.string(),
4581
+ mimeType: z79.string(),
4582
+ dataBase64: z79.string()
4371
4583
  });
4372
- var PluginPresentationExportResult = z77.object({
4373
- files: z77.array(PluginPresentationExportFile)
4584
+ var PluginPresentationExportResult = z79.object({
4585
+ files: z79.array(PluginPresentationExportFile)
4374
4586
  });
4375
4587
 
4376
4588
  // src/api/presentation/index.ts
@@ -4386,38 +4598,38 @@ var PluginAnalysisSunpathApi = class {
4386
4598
  };
4387
4599
 
4388
4600
  // src/api/analysis/shadows.ts
4389
- import * as z78 from "zod";
4601
+ import * as z80 from "zod";
4390
4602
  var PluginAnalysisShadowsApi = class {
4391
4603
  constructor() {
4392
4604
  }
4393
4605
  };
4394
- var PluginAnalysisShadowsEnableOptions = z78.object({
4395
- dateTime: z78.string().optional()
4606
+ var PluginAnalysisShadowsEnableOptions = z80.object({
4607
+ dateTime: z80.string().optional()
4396
4608
  });
4397
- var PluginAnalysisShadowsSetDateTimeArgs = z78.object({
4398
- dateTime: z78.string()
4609
+ var PluginAnalysisShadowsSetDateTimeArgs = z80.object({
4610
+ dateTime: z80.string()
4399
4611
  });
4400
- var PluginAnalysisShadowsDateTimeResult = z78.string();
4612
+ var PluginAnalysisShadowsDateTimeResult = z80.string();
4401
4613
 
4402
4614
  // src/api/analysis/sunlightHours.ts
4403
- import * as z79 from "zod";
4615
+ import * as z81 from "zod";
4404
4616
  var PluginAnalysisSunlightHoursApi = class {
4405
4617
  constructor() {
4406
4618
  }
4407
4619
  };
4408
- var PluginAnalysisComputeResult = z79.object({
4409
- success: z79.boolean(),
4410
- error: z79.string().optional()
4620
+ var PluginAnalysisComputeResult = z81.object({
4621
+ success: z81.boolean(),
4622
+ error: z81.string().optional()
4411
4623
  });
4412
- var PluginAnalysisJobStatus = z79.enum([
4624
+ var PluginAnalysisJobStatus = z81.enum([
4413
4625
  "running",
4414
4626
  "active",
4415
4627
  "inactive"
4416
4628
  ]);
4417
- var PluginAnalysisJobState = z79.object({
4629
+ var PluginAnalysisJobState = z81.object({
4418
4630
  status: PluginAnalysisJobStatus,
4419
- startDate: z79.string(),
4420
- endDate: z79.string()
4631
+ startDate: z81.string(),
4632
+ endDate: z81.string()
4421
4633
  });
4422
4634
  var PluginAnalysisJobStateResult = PluginAnalysisJobState.nullable();
4423
4635
 
@@ -4428,7 +4640,7 @@ var PluginAnalysisIlluminanceApi = class {
4428
4640
  };
4429
4641
 
4430
4642
  // src/api/analysis/heatmaps.ts
4431
- import * as z80 from "zod";
4643
+ import * as z82 from "zod";
4432
4644
  var PluginAnalysisHeatmapsApi = class {
4433
4645
  constructor() {
4434
4646
  }
@@ -4437,149 +4649,149 @@ var PluginAnalysisHeatmapOverlaysApi = class {
4437
4649
  constructor() {
4438
4650
  }
4439
4651
  };
4440
- var PluginAnalysisHeatmapSpaceEntry = z80.object({
4652
+ var PluginAnalysisHeatmapSpaceEntry = z82.object({
4441
4653
  space: ComponentHandle,
4442
- value: z80.number().finite()
4654
+ value: z82.number().finite()
4443
4655
  });
4444
- var PluginAnalysisHeatmapGridCell = z80.object({
4656
+ var PluginAnalysisHeatmapGridCell = z82.object({
4445
4657
  position: Vec3Components,
4446
- value: z80.number().finite(),
4447
- meta: z80.unknown().optional()
4448
- });
4449
- var HexColor = z80.string().regex(/^#?[0-9a-fA-F]{6}$/, 'expected a 6-digit hex colour like "#0000ff"');
4450
- var PluginAnalysisHeatmapFieldCell = z80.union([
4451
- z80.object({
4452
- polygon: z80.array(Vec3Components).min(3),
4453
- value: z80.number().finite(),
4454
- meta: z80.unknown().optional()
4658
+ value: z82.number().finite(),
4659
+ meta: z82.unknown().optional()
4660
+ });
4661
+ var HexColor = z82.string().regex(/^#?[0-9a-fA-F]{6}$/, 'expected a 6-digit hex colour like "#0000ff"');
4662
+ var PluginAnalysisHeatmapFieldCell = z82.union([
4663
+ z82.object({
4664
+ polygon: z82.array(Vec3Components).min(3),
4665
+ value: z82.number().finite(),
4666
+ meta: z82.unknown().optional()
4455
4667
  }),
4456
- z80.object({
4457
- vertices: z80.array(Vec3Components).min(3),
4458
- indices: z80.array(z80.number().int().nonnegative()).min(3),
4459
- value: z80.number().finite(),
4460
- meta: z80.unknown().optional()
4668
+ z82.object({
4669
+ vertices: z82.array(Vec3Components).min(3),
4670
+ indices: z82.array(z82.number().int().nonnegative()).min(3),
4671
+ value: z82.number().finite(),
4672
+ meta: z82.unknown().optional()
4461
4673
  })
4462
4674
  ]);
4463
- var PluginAnalysisHeatmapScale = z80.discriminatedUnion("type", [
4464
- z80.object({
4465
- type: z80.literal("bands"),
4466
- count: z80.number().int().min(2).max(64).optional()
4675
+ var PluginAnalysisHeatmapScale = z82.discriminatedUnion("type", [
4676
+ z82.object({
4677
+ type: z82.literal("bands"),
4678
+ count: z82.number().int().min(2).max(64).optional()
4467
4679
  }),
4468
- z80.object({
4469
- type: z80.literal("threshold"),
4470
- threshold: z80.number().finite(),
4680
+ z82.object({
4681
+ type: z82.literal("threshold"),
4682
+ threshold: z82.number().finite(),
4471
4683
  passColor: HexColor.optional(),
4472
4684
  failColor: HexColor.optional(),
4473
- passLabel: z80.string().optional(),
4474
- failLabel: z80.string().optional()
4685
+ passLabel: z82.string().optional(),
4686
+ failLabel: z82.string().optional()
4475
4687
  }),
4476
- z80.object({
4477
- type: z80.literal("categorical"),
4478
- classes: z80.array(
4479
- z80.object({
4480
- value: z80.number().finite(),
4481
- label: z80.string(),
4688
+ z82.object({
4689
+ type: z82.literal("categorical"),
4690
+ classes: z82.array(
4691
+ z82.object({
4692
+ value: z82.number().finite(),
4693
+ label: z82.string(),
4482
4694
  color: HexColor
4483
4695
  })
4484
4696
  ).min(1)
4485
4697
  })
4486
4698
  ]);
4487
- var PluginAnalysisHeatmapOptions = z80.object({
4488
- name: z80.string().min(1).max(64).optional(),
4489
- title: z80.string().optional(),
4490
- unit: z80.string().optional(),
4491
- min: z80.number().finite().optional(),
4492
- max: z80.number().finite().optional(),
4493
- colors: z80.array(HexColor).min(1).optional(),
4699
+ var PluginAnalysisHeatmapOptions = z82.object({
4700
+ name: z82.string().min(1).max(64).optional(),
4701
+ title: z82.string().optional(),
4702
+ unit: z82.string().optional(),
4703
+ min: z82.number().finite().optional(),
4704
+ max: z82.number().finite().optional(),
4705
+ colors: z82.array(HexColor).min(1).optional(),
4494
4706
  scale: PluginAnalysisHeatmapScale.optional(),
4495
- hover: z80.boolean().optional()
4707
+ hover: z82.boolean().optional()
4496
4708
  });
4497
- var PluginAnalysisHeatmapsRenderResult = z80.object({
4498
- success: z80.literal(true)
4709
+ var PluginAnalysisHeatmapsRenderResult = z82.object({
4710
+ success: z82.literal(true)
4499
4711
  });
4500
- var PluginAnalysisHeatmapOverlayInfo = z80.object({
4501
- name: z80.string(),
4502
- visible: z80.boolean(),
4503
- kind: z80.enum(["spaces", "grid", "surfaceGrid", "field"])
4712
+ var PluginAnalysisHeatmapOverlayInfo = z82.object({
4713
+ name: z82.string(),
4714
+ visible: z82.boolean(),
4715
+ kind: z82.enum(["spaces", "grid", "surfaceGrid", "field"])
4504
4716
  });
4505
- var PluginAnalysisHeatmapOverlaysListResult = z80.object({
4506
- overlays: z80.array(PluginAnalysisHeatmapOverlayInfo)
4717
+ var PluginAnalysisHeatmapOverlaysListResult = z82.object({
4718
+ overlays: z82.array(PluginAnalysisHeatmapOverlayInfo)
4507
4719
  });
4508
4720
 
4509
4721
  // src/api/analysis/weather.ts
4510
- import * as z81 from "zod";
4722
+ import * as z83 from "zod";
4511
4723
  var PluginAnalysisWeatherApi = class {
4512
4724
  constructor() {
4513
4725
  }
4514
4726
  };
4515
- var PluginWeatherSelectionMethod = z81.enum([
4727
+ var PluginWeatherSelectionMethod = z83.enum([
4516
4728
  "nearest-station",
4517
4729
  "user-upload",
4518
4730
  "project-override"
4519
4731
  ]);
4520
- var PluginWeatherSourceMeta = z81.object({
4521
- weatherFileId: z81.string(),
4522
- station: z81.string(),
4523
- sourceId: z81.string(),
4524
- distanceKm: z81.number().nullable(),
4732
+ var PluginWeatherSourceMeta = z83.object({
4733
+ weatherFileId: z83.string(),
4734
+ station: z83.string(),
4735
+ sourceId: z83.string(),
4736
+ distanceKm: z83.number().nullable(),
4525
4737
  selectionMethod: PluginWeatherSelectionMethod,
4526
- checksum: z81.string(),
4527
- windReferenceHeightM: z81.number()
4528
- });
4529
- var PluginWeatherRow = z81.object({
4530
- timestamp: z81.string(),
4531
- utcOffsetMinutes: z81.number(),
4532
- dryBulbC: z81.number(),
4533
- relativeHumidityPercent: z81.number(),
4534
- windSpeedMps: z81.number(),
4535
- ghiWm2: z81.number(),
4536
- dniWm2: z81.number(),
4537
- dhiWm2: z81.number(),
4538
- flags: z81.array(z81.string())
4539
- });
4540
- var PluginWeatherGetSeriesArgs = z81.object({
4541
- startDate: z81.string(),
4542
- endDate: z81.string(),
4543
- interval: z81.enum(["hourly"]).optional(),
4544
- cursor: z81.string().optional()
4738
+ checksum: z83.string(),
4739
+ windReferenceHeightM: z83.number()
4740
+ });
4741
+ var PluginWeatherRow = z83.object({
4742
+ timestamp: z83.string(),
4743
+ utcOffsetMinutes: z83.number(),
4744
+ dryBulbC: z83.number(),
4745
+ relativeHumidityPercent: z83.number(),
4746
+ windSpeedMps: z83.number(),
4747
+ ghiWm2: z83.number(),
4748
+ dniWm2: z83.number(),
4749
+ dhiWm2: z83.number(),
4750
+ flags: z83.array(z83.string())
4751
+ });
4752
+ var PluginWeatherGetSeriesArgs = z83.object({
4753
+ startDate: z83.string(),
4754
+ endDate: z83.string(),
4755
+ interval: z83.enum(["hourly"]).optional(),
4756
+ cursor: z83.string().optional()
4545
4757
  });
4546
- var PluginWeatherSeriesResult = z81.object({
4758
+ var PluginWeatherSeriesResult = z83.object({
4547
4759
  source: PluginWeatherSourceMeta,
4548
- rows: z81.array(PluginWeatherRow),
4549
- nextCursor: z81.string().nullable(),
4550
- warnings: z81.array(z81.string()).optional()
4760
+ rows: z83.array(PluginWeatherRow),
4761
+ nextCursor: z83.string().nullable(),
4762
+ warnings: z83.array(z83.string()).optional()
4551
4763
  });
4552
4764
 
4553
4765
  // src/api/analysis/solar.ts
4554
- import * as z82 from "zod";
4766
+ import * as z84 from "zod";
4555
4767
  var PluginAnalysisSolarApi = class {
4556
4768
  constructor() {
4557
4769
  }
4558
4770
  };
4559
- var PluginSolarRunStatus = z82.enum([
4771
+ var PluginSolarRunStatus = z84.enum([
4560
4772
  "running",
4561
4773
  "complete",
4562
4774
  "cancelled",
4563
4775
  "failed"
4564
4776
  ]);
4565
- var PluginSolarSampleMode = z82.enum(["instant", "range"]);
4566
- var PluginSolarUnits = z82.enum(["W/m2", "kWh/m2"]);
4567
- var PluginSolarHourlyArtifact = z82.object({
4568
- url: z82.string(),
4569
- format: z82.enum(["parquet", "csv-gz"]),
4570
- expiresAt: z82.string()
4571
- });
4572
- var PluginSolarSamplePoint = z82.object({
4573
- id: z82.string(),
4574
- position: z82.tuple([z82.number(), z82.number(), z82.number()]),
4575
- normal: z82.tuple([z82.number(), z82.number(), z82.number()]).optional()
4576
- });
4577
- var PluginSolarSampleGridArgs = z82.object({
4578
- points: z82.array(PluginSolarSamplePoint),
4579
- dateTime: z82.string().optional(),
4580
- startDate: z82.string().optional(),
4581
- endDate: z82.string().optional(),
4582
- includeHourlyArtifact: z82.boolean().optional()
4777
+ var PluginSolarSampleMode = z84.enum(["instant", "range"]);
4778
+ var PluginSolarUnits = z84.enum(["W/m2", "kWh/m2"]);
4779
+ var PluginSolarHourlyArtifact = z84.object({
4780
+ url: z84.string(),
4781
+ format: z84.enum(["parquet", "csv-gz"]),
4782
+ expiresAt: z84.string()
4783
+ });
4784
+ var PluginSolarSamplePoint = z84.object({
4785
+ id: z84.string(),
4786
+ position: z84.tuple([z84.number(), z84.number(), z84.number()]),
4787
+ normal: z84.tuple([z84.number(), z84.number(), z84.number()]).optional()
4788
+ });
4789
+ var PluginSolarSampleGridArgs = z84.object({
4790
+ points: z84.array(PluginSolarSamplePoint),
4791
+ dateTime: z84.string().optional(),
4792
+ startDate: z84.string().optional(),
4793
+ endDate: z84.string().optional(),
4794
+ includeHourlyArtifact: z84.boolean().optional()
4583
4795
  }).superRefine((a, ctx) => {
4584
4796
  const hasInstant = a.dateTime !== void 0;
4585
4797
  const hasStart = a.startDate !== void 0;
@@ -4587,73 +4799,73 @@ var PluginSolarSampleGridArgs = z82.object({
4587
4799
  const hasRange = hasStart || hasEnd;
4588
4800
  if (hasInstant === hasRange) {
4589
4801
  ctx.addIssue({
4590
- code: z82.ZodIssueCode.custom,
4802
+ code: z84.ZodIssueCode.custom,
4591
4803
  message: "provide exactly one timing mode: dateTime (instant), or startDate+endDate (range)"
4592
4804
  });
4593
4805
  }
4594
4806
  if (hasRange && !(hasStart && hasEnd)) {
4595
4807
  ctx.addIssue({
4596
- code: z82.ZodIssueCode.custom,
4808
+ code: z84.ZodIssueCode.custom,
4597
4809
  message: "range mode requires both startDate and endDate"
4598
4810
  });
4599
4811
  }
4600
4812
  });
4601
- var PluginSolarSampleResult = z82.object({
4602
- id: z82.string(),
4603
- directSunVisible: z82.boolean(),
4604
- shadeFraction: z82.number(),
4605
- directIrradiance: z82.number().optional(),
4606
- diffuseIrradiance: z82.number().optional(),
4607
- totalIrradiance: z82.number().optional()
4813
+ var PluginSolarSampleResult = z84.object({
4814
+ id: z84.string(),
4815
+ directSunVisible: z84.boolean(),
4816
+ shadeFraction: z84.number(),
4817
+ directIrradiance: z84.number().optional(),
4818
+ diffuseIrradiance: z84.number().optional(),
4819
+ totalIrradiance: z84.number().optional()
4608
4820
  });
4609
- var PluginSolarSampleGridResult = z82.object({
4821
+ var PluginSolarSampleGridResult = z84.object({
4610
4822
  status: PluginSolarRunStatus,
4611
4823
  mode: PluginSolarSampleMode,
4612
- coordinateSystem: z82.literal("world-plan-space"),
4613
- modelRevision: z82.string(),
4614
- inputHash: z82.string(),
4824
+ coordinateSystem: z84.literal("world-plan-space"),
4825
+ modelRevision: z84.string(),
4826
+ inputHash: z84.string(),
4615
4827
  units: PluginSolarUnits,
4616
- sunUpHours: z82.number(),
4828
+ sunUpHours: z84.number(),
4617
4829
  weather: PluginWeatherSourceMeta.nullable(),
4618
- weatherQuality: z82.array(z82.string()),
4619
- results: z82.array(PluginSolarSampleResult),
4830
+ weatherQuality: z84.array(z84.string()),
4831
+ results: z84.array(PluginSolarSampleResult),
4620
4832
  hourlyArtifact: PluginSolarHourlyArtifact.nullable(),
4621
- nextCursor: z82.string().nullable()
4833
+ nextCursor: z84.string().nullable()
4622
4834
  });
4623
4835
 
4624
4836
  // src/api/analysis/daylight.ts
4625
- import * as z83 from "zod";
4837
+ import * as z85 from "zod";
4626
4838
  var PluginAnalysisDaylightApi = class {
4627
4839
  constructor() {
4628
4840
  }
4629
4841
  };
4630
- var PluginDaylightMetric = z83.enum(["ASE", "sDA"]);
4631
- var PluginDaylightRunStatus = z83.enum([
4842
+ var PluginDaylightMetric = z85.enum(["ASE", "sDA"]);
4843
+ var PluginDaylightRunStatus = z85.enum([
4632
4844
  "running",
4633
4845
  "complete",
4634
4846
  "cancelled",
4635
4847
  "failed"
4636
4848
  ]);
4637
- var PluginDaylightGrid = z83.object({
4638
- spacingM: z83.number(),
4639
- workplaneHeightM: z83.number(),
4640
- boundaryOffsetM: z83.number()
4849
+ var PluginDaylightGrid = z85.object({
4850
+ spacingM: z85.number(),
4851
+ workplaneHeightM: z85.number(),
4852
+ boundaryOffsetM: z85.number()
4641
4853
  });
4642
- var PluginDaylightSchedule = z83.object({
4643
- startHour: z83.number(),
4644
- endHour: z83.number()
4854
+ var PluginDaylightSchedule = z85.object({
4855
+ startHour: z85.number(),
4856
+ endHour: z85.number()
4645
4857
  });
4646
- var PluginDaylightOpaqueOptics = z83.object({
4647
- reflectance: z83.number().min(0).max(1)
4858
+ var PluginDaylightOpaqueOptics = z85.object({
4859
+ reflectance: z85.number().min(0).max(1)
4648
4860
  });
4649
- var PluginDaylightGlazingOptics = z83.object({
4650
- transmittance: z83.number().min(0).max(1)
4861
+ var PluginDaylightGlazingOptics = z85.object({
4862
+ transmittance: z85.number().min(0).max(1)
4651
4863
  });
4652
- var PluginDaylightMaterialOptics = z83.union([
4864
+ var PluginDaylightMaterialOptics = z85.union([
4653
4865
  PluginDaylightOpaqueOptics,
4654
4866
  PluginDaylightGlazingOptics
4655
4867
  ]);
4656
- var PluginDaylightCategoryDefaults = z83.object({
4868
+ var PluginDaylightCategoryDefaults = z85.object({
4657
4869
  wall: PluginDaylightOpaqueOptics.optional(),
4658
4870
  ceiling: PluginDaylightOpaqueOptics.optional(),
4659
4871
  floor: PluginDaylightOpaqueOptics.optional(),
@@ -4661,81 +4873,81 @@ var PluginDaylightCategoryDefaults = z83.object({
4661
4873
  glazing: PluginDaylightGlazingOptics.optional(),
4662
4874
  context: PluginDaylightOpaqueOptics.optional()
4663
4875
  });
4664
- var PluginDaylightBlindsOptics = z83.object({
4665
- transmittance: z83.number().min(0).max(1)
4876
+ var PluginDaylightBlindsOptics = z85.object({
4877
+ transmittance: z85.number().min(0).max(1)
4666
4878
  });
4667
- var PluginDaylightOptics = z83.object({
4668
- materials: z83.record(z83.string(), PluginDaylightMaterialOptics).optional(),
4879
+ var PluginDaylightOptics = z85.object({
4880
+ materials: z85.record(z85.string(), PluginDaylightMaterialOptics).optional(),
4669
4881
  categories: PluginDaylightCategoryDefaults.optional(),
4670
4882
  blinds: PluginDaylightBlindsOptics.optional()
4671
4883
  });
4672
- var PluginDaylightComputeArgs = z83.object({
4673
- standard: z83.literal("IES-LM-83-23"),
4674
- metrics: z83.array(PluginDaylightMetric).min(1),
4884
+ var PluginDaylightComputeArgs = z85.object({
4885
+ standard: z85.literal("IES-LM-83-23"),
4886
+ metrics: z85.array(PluginDaylightMetric).min(1),
4675
4887
  schedule: PluginDaylightSchedule.optional(),
4676
4888
  grid: PluginDaylightGrid,
4677
4889
  optics: PluginDaylightOptics.optional()
4678
4890
  });
4679
- var PluginDaylightPollArgs = z83.object({
4680
- runId: z83.string(),
4681
- cursor: z83.string().optional()
4682
- });
4683
- var PluginDaylightSensorRecord = z83.object({
4684
- sensorId: z83.string(),
4685
- position: z83.tuple([z83.number(), z83.number(), z83.number()]),
4686
- spaceId: z83.string(),
4687
- storeyId: z83.string(),
4688
- areaWeightM2: z83.number(),
4689
- occupiedHours: z83.number(),
4690
- directSunHoursAtOrAbove1000Lux: z83.number().optional(),
4691
- aseFail: z83.boolean().optional(),
4692
- da300Percent: z83.number().optional(),
4693
- sdaPass: z83.boolean().optional()
4694
- });
4695
- var PluginDaylightAggregateScope = z83.enum([
4891
+ var PluginDaylightPollArgs = z85.object({
4892
+ runId: z85.string(),
4893
+ cursor: z85.string().optional()
4894
+ });
4895
+ var PluginDaylightSensorRecord = z85.object({
4896
+ sensorId: z85.string(),
4897
+ position: z85.tuple([z85.number(), z85.number(), z85.number()]),
4898
+ spaceId: z85.string(),
4899
+ storeyId: z85.string(),
4900
+ areaWeightM2: z85.number(),
4901
+ occupiedHours: z85.number(),
4902
+ directSunHoursAtOrAbove1000Lux: z85.number().optional(),
4903
+ aseFail: z85.boolean().optional(),
4904
+ da300Percent: z85.number().optional(),
4905
+ sdaPass: z85.boolean().optional()
4906
+ });
4907
+ var PluginDaylightAggregateScope = z85.enum([
4696
4908
  "project",
4697
4909
  "storey",
4698
4910
  "space"
4699
4911
  ]);
4700
- var PluginDaylightAggregate = z83.object({
4912
+ var PluginDaylightAggregate = z85.object({
4701
4913
  scope: PluginDaylightAggregateScope,
4702
- id: z83.string().nullable(),
4703
- analysisAreaM2: z83.number(),
4704
- asePercent: z83.number().optional(),
4705
- sdaPercent: z83.number().optional()
4706
- });
4707
- var PluginDaylightProvenance = z83.object({
4708
- engine: z83.string(),
4709
- engineVersion: z83.string(),
4710
- standardProfile: z83.string(),
4711
- thresholds: z83.object({ aseLux: z83.number(), aseHours: z83.number() }).passthrough(),
4914
+ id: z85.string().nullable(),
4915
+ analysisAreaM2: z85.number(),
4916
+ asePercent: z85.number().optional(),
4917
+ sdaPercent: z85.number().optional()
4918
+ });
4919
+ var PluginDaylightProvenance = z85.object({
4920
+ engine: z85.string(),
4921
+ engineVersion: z85.string(),
4922
+ standardProfile: z85.string(),
4923
+ thresholds: z85.object({ aseLux: z85.number(), aseHours: z85.number() }).passthrough(),
4712
4924
  weather: PluginWeatherSourceMeta.nullable(),
4713
- occupancySchedule: z83.object({ id: z83.string(), hoursPerYear: z83.number() }).passthrough(),
4925
+ occupancySchedule: z85.object({ id: z85.string(), hoursPerYear: z85.number() }).passthrough(),
4714
4926
  grid: PluginDaylightGrid,
4715
- location: z83.object({
4716
- latitude: z83.number(),
4717
- longitude: z83.number(),
4718
- timezone: z83.string(),
4719
- trueNorthDeg: z83.number()
4927
+ location: z85.object({
4928
+ latitude: z85.number(),
4929
+ longitude: z85.number(),
4930
+ timezone: z85.string(),
4931
+ trueNorthDeg: z85.number()
4720
4932
  }).passthrough(),
4721
- surfaceReflectances: z83.record(z83.string(), z83.number()),
4722
- modelRevision: z83.string(),
4723
- inputHash: z83.string(),
4724
- warnings: z83.array(z83.string()),
4725
- excludedSpaces: z83.array(
4726
- z83.object({ spaceId: z83.string(), reason: z83.string() })
4933
+ surfaceReflectances: z85.record(z85.string(), z85.number()),
4934
+ modelRevision: z85.string(),
4935
+ inputHash: z85.string(),
4936
+ warnings: z85.array(z85.string()),
4937
+ excludedSpaces: z85.array(
4938
+ z85.object({ spaceId: z85.string(), reason: z85.string() })
4727
4939
  ),
4728
- failedGeometry: z83.array(
4729
- z83.object({ componentId: z83.string(), reason: z83.string() })
4940
+ failedGeometry: z85.array(
4941
+ z85.object({ componentId: z85.string(), reason: z85.string() })
4730
4942
  )
4731
4943
  }).partial().passthrough();
4732
- var PluginDaylightResults = z83.object({
4944
+ var PluginDaylightResults = z85.object({
4733
4945
  status: PluginDaylightRunStatus,
4734
- runId: z83.string().optional(),
4735
- sensors: z83.array(PluginDaylightSensorRecord),
4736
- aggregates: z83.array(PluginDaylightAggregate),
4946
+ runId: z85.string().optional(),
4947
+ sensors: z85.array(PluginDaylightSensorRecord),
4948
+ aggregates: z85.array(PluginDaylightAggregate),
4737
4949
  provenance: PluginDaylightProvenance,
4738
- nextCursor: z83.string().nullable()
4950
+ nextCursor: z85.string().nullable()
4739
4951
  });
4740
4952
 
4741
4953
  // src/api/analysis/index.ts
@@ -4745,7 +4957,7 @@ var PluginAnalysisApi = class {
4745
4957
  };
4746
4958
 
4747
4959
  // src/api/workspace/index.ts
4748
- import * as z84 from "zod";
4960
+ import * as z86 from "zod";
4749
4961
  var PluginWorkspaceApi = class {
4750
4962
  constructor() {
4751
4963
  }
@@ -4758,68 +4970,68 @@ var PluginWorkspaceTeamsApi = class {
4758
4970
  constructor() {
4759
4971
  }
4760
4972
  };
4761
- var PluginProjectRef = z84.object({
4762
- id: z84.string(),
4763
- name: z84.string(),
4764
- teamId: z84.string().optional(),
4765
- createdAt: z84.string().optional(),
4766
- modifiedAt: z84.string().optional()
4973
+ var PluginProjectRef = z86.object({
4974
+ id: z86.string(),
4975
+ name: z86.string(),
4976
+ teamId: z86.string().optional(),
4977
+ createdAt: z86.string().optional(),
4978
+ modifiedAt: z86.string().optional()
4767
4979
  });
4768
- var PluginTeamRef = z84.object({
4769
- id: z84.string(),
4770
- name: z84.string(),
4771
- role: z84.string().optional()
4980
+ var PluginTeamRef = z86.object({
4981
+ id: z86.string(),
4982
+ name: z86.string(),
4983
+ role: z86.string().optional()
4772
4984
  });
4773
- var PluginTeamMemberRef = z84.object({
4774
- id: z84.string(),
4775
- name: z84.string(),
4776
- email: z84.string().optional(),
4777
- role: z84.string().optional()
4985
+ var PluginTeamMemberRef = z86.object({
4986
+ id: z86.string(),
4987
+ name: z86.string(),
4988
+ email: z86.string().optional(),
4989
+ role: z86.string().optional()
4778
4990
  });
4779
- var PluginWorkspaceProjectsCreateArgs = z84.object({
4780
- name: z84.string(),
4781
- unit: z84.string().optional(),
4782
- teamId: z84.string().optional()
4991
+ var PluginWorkspaceProjectsCreateArgs = z86.object({
4992
+ name: z86.string(),
4993
+ unit: z86.string().optional(),
4994
+ teamId: z86.string().optional()
4783
4995
  });
4784
- var PluginWorkspaceProjectsCreateResult = z84.object({
4785
- projectId: z84.string()
4996
+ var PluginWorkspaceProjectsCreateResult = z86.object({
4997
+ projectId: z86.string()
4786
4998
  });
4787
- var PluginWorkspaceProjectsCopyArgs = z84.object({
4788
- name: z84.string(),
4789
- teamId: z84.string().optional()
4999
+ var PluginWorkspaceProjectsCopyArgs = z86.object({
5000
+ name: z86.string(),
5001
+ teamId: z86.string().optional()
4790
5002
  });
4791
- var PluginWorkspaceProjectsCopyResult = z84.object({
4792
- projectId: z84.string()
5003
+ var PluginWorkspaceProjectsCopyResult = z86.object({
5004
+ projectId: z86.string()
4793
5005
  });
4794
- var PluginWorkspaceProjectsListArgs = z84.object({
4795
- teamId: z84.string().optional()
5006
+ var PluginWorkspaceProjectsListArgs = z86.object({
5007
+ teamId: z86.string().optional()
4796
5008
  });
4797
- var PluginWorkspaceProjectsListResult = z84.object({
4798
- projects: z84.array(PluginProjectRef)
5009
+ var PluginWorkspaceProjectsListResult = z86.object({
5010
+ projects: z86.array(PluginProjectRef)
4799
5011
  });
4800
- var PluginWorkspaceProjectsGetArgs = z84.object({
4801
- projectId: z84.string()
5012
+ var PluginWorkspaceProjectsGetArgs = z86.object({
5013
+ projectId: z86.string()
4802
5014
  });
4803
5015
  var PluginWorkspaceProjectsGetResult = PluginProjectRef.nullable();
4804
- var PluginWorkspaceProjectsRenameArgs = z84.object({
4805
- projectId: z84.string(),
4806
- name: z84.string()
5016
+ var PluginWorkspaceProjectsRenameArgs = z86.object({
5017
+ projectId: z86.string(),
5018
+ name: z86.string()
4807
5019
  });
4808
- var PluginWorkspaceProjectsRenameResult = z84.object({
4809
- projectId: z84.string()
5020
+ var PluginWorkspaceProjectsRenameResult = z86.object({
5021
+ projectId: z86.string()
4810
5022
  });
4811
- var PluginWorkspaceTeamsListResult = z84.object({
4812
- teams: z84.array(PluginTeamRef)
5023
+ var PluginWorkspaceTeamsListResult = z86.object({
5024
+ teams: z86.array(PluginTeamRef)
4813
5025
  });
4814
- var PluginWorkspaceTeamsGetArgs = z84.object({
4815
- teamId: z84.string()
5026
+ var PluginWorkspaceTeamsGetArgs = z86.object({
5027
+ teamId: z86.string()
4816
5028
  });
4817
5029
  var PluginWorkspaceTeamsGetResult = PluginTeamRef.nullable();
4818
- var PluginWorkspaceTeamsListMembersArgs = z84.object({
4819
- teamId: z84.string()
5030
+ var PluginWorkspaceTeamsListMembersArgs = z86.object({
5031
+ teamId: z86.string()
4820
5032
  });
4821
- var PluginWorkspaceTeamsListMembersResult = z84.object({
4822
- members: z84.array(PluginTeamMemberRef)
5033
+ var PluginWorkspaceTeamsListMembersResult = z86.object({
5034
+ members: z86.array(PluginTeamMemberRef)
4823
5035
  });
4824
5036
 
4825
5037
  // src/api/index.ts
@@ -5160,6 +5372,7 @@ export {
5160
5372
  PluginCameraSetModeArgs,
5161
5373
  PluginCameraSetProjectionArgs,
5162
5374
  PluginCameraSetStandardViewArgs,
5375
+ PluginCanvasShapeOrigin,
5163
5376
  PluginClassificationOption,
5164
5377
  PluginCommentApi,
5165
5378
  PluginCommentCreateArgs,
@@ -5639,6 +5852,17 @@ export {
5639
5852
  PluginPermissionError,
5640
5853
  PluginPlacedView,
5641
5854
  PluginPlacedViewCrop,
5855
+ PluginPlacedViewFontStylesPatch,
5856
+ PluginPlacedViewStylePatch,
5857
+ PluginPlacedViewsDeleteShapesArgs,
5858
+ PluginPlacedViewsMoveLabelArgs,
5859
+ PluginPlacedViewsMoveShapeArgs,
5860
+ PluginPlacedViewsResizeShapeArgs,
5861
+ PluginPlacedViewsSetLabelHiddenArgs,
5862
+ PluginPlacedViewsSetMaskArgs,
5863
+ PluginPlacedViewsSetOpacityArgs,
5864
+ PluginPlacedViewsUpdateFontStylesArgs,
5865
+ PluginPlacedViewsUpdateStylesArgs,
5642
5866
  PluginPresentationAIInspirationApi,
5643
5867
  PluginPresentationAnnotateApi,
5644
5868
  PluginPresentationAnnotateArrowArgs,
@@ -5650,6 +5874,7 @@ export {
5650
5874
  PluginPresentationApi,
5651
5875
  PluginPresentationDiagramsApi,
5652
5876
  PluginPresentationDiagramsGenerateResult,
5877
+ PluginPresentationDiagramsGenerateSiteArgs,
5653
5878
  PluginPresentationDiagramsPlaceArgs,
5654
5879
  PluginPresentationDiagramsPlaceResult,
5655
5880
  PluginPresentationExportArgs,
@@ -5666,8 +5891,10 @@ export {
5666
5891
  PluginPresentationPlacedViewsListArgs,
5667
5892
  PluginPresentationPlacedViewsListResult,
5668
5893
  PluginPresentationPlacedViewsMoveArgs,
5894
+ PluginPresentationPlacedViewsRotateShapeArgs,
5669
5895
  PluginPresentationPlacedViewsScaleArgs,
5670
5896
  PluginPresentationPlacedViewsSetCropArgs,
5897
+ PluginPresentationPlacedViewsSetRotationArgs,
5671
5898
  PluginPresentationPlacedViewsSetScaleArgs,
5672
5899
  PluginPresentationShapeSpec,
5673
5900
  PluginPresentationShapeType,
@@ -5689,9 +5916,16 @@ export {
5689
5916
  PluginPresentationSheetsRenameArgs,
5690
5917
  PluginPresentationSheetsReorderArgs,
5691
5918
  PluginPresentationSheetsSetActiveArgs,
5919
+ PluginPresentationSheetsSetMarginArgs,
5692
5920
  PluginPresentationSheetsSetSizeArgs,
5693
5921
  PluginPresentationSheetsUpdatePlacedViewArgs,
5694
5922
  PluginPresentationSheetsUpdatePlacedViewResult,
5923
+ PluginPresentationSiteDiagramType,
5924
+ PluginPresentationSlideshowApi,
5925
+ PluginPresentationSlideshowStartArgs,
5926
+ PluginPresentationSlideshowState,
5927
+ PluginPresentationTablesApi,
5928
+ PluginPresentationTablesPlaceArgs,
5695
5929
  PluginPresentationView,
5696
5930
  PluginPresentationViewColorMode,
5697
5931
  PluginPresentationViewLabel,
@@ -5777,6 +6011,10 @@ export {
5777
6011
  PluginProgramSiteAreaResult,
5778
6012
  PluginProgramSiteContext,
5779
6013
  PluginProgramSiteContextResult,
6014
+ PluginProgramSiteEdge,
6015
+ PluginProgramSiteEdgeRole,
6016
+ PluginProgramSiteEdgesEntry,
6017
+ PluginProgramSiteListEdgesResult,
5780
6018
  PluginProgramSiteListGeoPolygonsResult,
5781
6019
  PluginProgramSiteListPolygonsResult,
5782
6020
  PluginProgramSiteLocation,
@@ -5858,6 +6096,7 @@ export {
5858
6096
  PluginReferenceLineStyle,
5859
6097
  PluginSelectionEntityType,
5860
6098
  PluginSelectionFilter,
6099
+ PluginSheetMargin,
5861
6100
  PluginSheetOrientation,
5862
6101
  PluginSheetPosition,
5863
6102
  PluginSheetSize,
@@ -5959,6 +6198,8 @@ export {
5959
6198
  PluginStoryUpdateResult,
5960
6199
  PluginTeamMemberRef,
5961
6200
  PluginTeamRef,
6201
+ PluginTerrainReplaceMeshArgs,
6202
+ PluginTerrainReplaceMeshOptions,
5962
6203
  PluginTerrainSetDatumArgs,
5963
6204
  PluginTerrainSetOpacityArgs,
5964
6205
  PluginTimeoutError,
@@ -5981,6 +6222,9 @@ export {
5981
6222
  PluginUserLocale,
5982
6223
  PluginValidationError,
5983
6224
  PluginVec3Api,
6225
+ PluginViewLabelType,
6226
+ PluginViewLineStyle,
6227
+ PluginViewSettingCategory,
5984
6228
  PluginWallUpdates,
5985
6229
  PluginWeatherGetSeriesArgs,
5986
6230
  PluginWeatherRow,