@snaptrude/plugin-core 0.5.0 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (67) hide show
  1. package/CHANGELOG.md +52 -0
  2. package/api-manifest.full.json +2044 -443
  3. package/api-manifest.json +2051 -394
  4. package/dist/api/analysis/heatmaps.d.ts +234 -0
  5. package/dist/api/analysis/heatmaps.d.ts.map +1 -0
  6. package/dist/api/analysis/illuminance.d.ts +145 -0
  7. package/dist/api/analysis/illuminance.d.ts.map +1 -0
  8. package/dist/api/analysis/index.d.ts +44 -0
  9. package/dist/api/analysis/index.d.ts.map +1 -0
  10. package/dist/api/analysis/shadows.d.ts +165 -0
  11. package/dist/api/analysis/shadows.d.ts.map +1 -0
  12. package/dist/api/analysis/sunlightHours.d.ts +208 -0
  13. package/dist/api/analysis/sunlightHours.d.ts.map +1 -0
  14. package/dist/api/analysis/sunpath.d.ts +80 -0
  15. package/dist/api/analysis/sunpath.d.ts.map +1 -0
  16. package/dist/api/core/index.d.ts +5 -0
  17. package/dist/api/core/index.d.ts.map +1 -1
  18. package/dist/api/core/io/import/index.d.ts +392 -0
  19. package/dist/api/core/io/import/index.d.ts.map +1 -0
  20. package/dist/api/core/io/index.d.ts +35 -0
  21. package/dist/api/core/io/index.d.ts.map +1 -0
  22. package/dist/api/core/io/job/index.d.ts +139 -0
  23. package/dist/api/core/io/job/index.d.ts.map +1 -0
  24. package/dist/api/core/io/query/index.d.ts +74 -0
  25. package/dist/api/core/io/query/index.d.ts.map +1 -0
  26. package/dist/api/core/io/terrain/index.d.ts +206 -0
  27. package/dist/api/core/io/terrain/index.d.ts.map +1 -0
  28. package/dist/api/core/io/underlay/index.d.ts +286 -0
  29. package/dist/api/core/io/underlay/index.d.ts.map +1 -0
  30. package/dist/api/core/layers.d.ts +7 -7
  31. package/dist/api/design/create/index.d.ts +9 -0
  32. package/dist/api/design/create/index.d.ts.map +1 -1
  33. package/dist/api/design/query/spaces.d.ts +3 -3
  34. package/dist/api/design/selection/index.d.ts +144 -0
  35. package/dist/api/design/selection/index.d.ts.map +1 -1
  36. package/dist/api/entity/space.d.ts +2 -2
  37. package/dist/api/index.d.ts +5 -0
  38. package/dist/api/index.d.ts.map +1 -1
  39. package/dist/api/program/site.d.ts +84 -0
  40. package/dist/api/program/site.d.ts.map +1 -1
  41. package/dist/handles.d.ts +33 -0
  42. package/dist/handles.d.ts.map +1 -1
  43. package/dist/index.cjs +1335 -987
  44. package/dist/index.cjs.map +1 -1
  45. package/dist/index.js +1278 -983
  46. package/dist/index.js.map +1 -1
  47. package/package.json +1 -1
  48. package/scripts/generate-manifest.test.mjs +26 -4
  49. package/src/api/analysis/heatmaps.ts +256 -0
  50. package/src/api/analysis/illuminance.ts +155 -0
  51. package/src/api/analysis/index.ts +46 -0
  52. package/src/api/analysis/shadows.ts +183 -0
  53. package/src/api/analysis/sunlightHours.ts +211 -0
  54. package/src/api/analysis/sunpath.ts +83 -0
  55. package/src/api/core/index.ts +5 -0
  56. package/src/api/core/io/import/index.ts +432 -0
  57. package/src/api/core/io/index.ts +37 -0
  58. package/src/api/core/io/job/index.ts +140 -0
  59. package/src/api/core/io/query/index.ts +71 -0
  60. package/src/api/core/io/terrain/index.ts +214 -0
  61. package/src/api/core/io/underlay/index.ts +295 -0
  62. package/src/api/design/create/index.ts +9 -0
  63. package/src/api/design/erase/index.ts +1 -1
  64. package/src/api/design/selection/index.ts +129 -0
  65. package/src/api/index.ts +5 -0
  66. package/src/api/program/site.ts +93 -0
  67. package/src/handles.ts +46 -0
package/dist/index.js CHANGED
@@ -27,6 +27,9 @@ var ContourHandle = handleSchema("contour");
27
27
  var MassHandle = handleSchema("mass");
28
28
  var ComponentHandle = z.string().min(1).transform((s) => s);
29
29
  var MaterialHandle = z.string().min(1).transform((s) => s);
30
+ var UnderlayHandle = z.string().min(1).transform((s) => s);
31
+ var TerrainHandle = z.string().min(1).transform((s) => s);
32
+ var ImportJobHandle = z.string().min(1).transform((s) => s);
30
33
  var Vec3Handle = handleSchema("vec3");
31
34
  var QuatHandle = handleSchema("quat");
32
35
  var LineHandle = handleSchema("line");
@@ -1040,6 +1043,128 @@ var PluginCoreTagsUnassignArgs = z24.object({
1040
1043
  });
1041
1044
  var PluginCoreTagsUnassignResult = PluginCoreAssignOutcome;
1042
1045
 
1046
+ // src/api/core/io/import/index.ts
1047
+ import * as z25 from "zod";
1048
+ var ImportSource = z25.string().min(1).refine((s) => s.startsWith("https://") || s.startsWith("data:"), {
1049
+ message: "source must be an https:// URL or a data: URL"
1050
+ });
1051
+ var PluginCoreIoImportApi = class {
1052
+ constructor() {
1053
+ }
1054
+ };
1055
+ var ModelFormat = z25.enum(["skp", "fbx", "obj", "3ds", "zip"]);
1056
+ var CadJsonInput = z25.object({
1057
+ unit: z25.string().optional(),
1058
+ geometry: z25.array(z25.record(z25.string(), z25.unknown())).optional()
1059
+ }).passthrough();
1060
+ var PluginImportImageArgs = z25.object({
1061
+ source: ImportSource,
1062
+ storey: z25.number().int().optional(),
1063
+ scale: z25.number().positive().optional(),
1064
+ opacity: z25.number().min(0).max(1).optional(),
1065
+ label: z25.string().optional()
1066
+ });
1067
+ var PluginImportPdfArgs = z25.object({
1068
+ source: ImportSource,
1069
+ storey: z25.number().int().optional(),
1070
+ page: z25.number().int().positive().optional(),
1071
+ scale: z25.string().optional(),
1072
+ opacity: z25.number().min(0).max(1).optional()
1073
+ });
1074
+ var PluginImportDwgArgs = z25.object({
1075
+ source: ImportSource,
1076
+ storey: z25.number().int().optional()
1077
+ });
1078
+ var PluginImportCadJsonArgs = z25.object({
1079
+ cad: CadJsonInput,
1080
+ storey: z25.number().int().optional()
1081
+ });
1082
+ var PluginImportModelArgs = z25.object({
1083
+ source: ImportSource,
1084
+ storey: z25.number().int().optional(),
1085
+ format: ModelFormat.optional(),
1086
+ position: Vec3Handle.optional(),
1087
+ label: z25.string().optional()
1088
+ });
1089
+ var PluginImportTerrainArgs = z25.object({
1090
+ lat: z25.number().min(-90).max(90),
1091
+ lng: z25.number().min(-180).max(180),
1092
+ width: z25.number().positive().finite(),
1093
+ length: z25.number().positive().finite(),
1094
+ elevation: z25.boolean().optional(),
1095
+ satellite: z25.boolean().optional(),
1096
+ neighborhood: z25.boolean().optional(),
1097
+ parcels: z25.boolean().optional()
1098
+ });
1099
+
1100
+ // src/api/core/io/job/index.ts
1101
+ import * as z26 from "zod";
1102
+ var PluginCoreIoJobApi = class {
1103
+ constructor() {
1104
+ }
1105
+ };
1106
+ var ImportJobStatus = z26.enum(["pending", "processing", "complete", "failed"]);
1107
+ var PluginImportJobArgs = z26.object({
1108
+ job: ImportJobHandle
1109
+ });
1110
+
1111
+ // src/api/core/io/underlay/index.ts
1112
+ import * as z27 from "zod";
1113
+ var PluginCoreIoUnderlayApi = class {
1114
+ constructor() {
1115
+ }
1116
+ };
1117
+ var PluginUnderlayListArgs = z27.object({
1118
+ storey: z27.number().int().optional()
1119
+ });
1120
+ var PluginUnderlayPlanSize = z27.object({
1121
+ planSize: z27.number().positive()
1122
+ });
1123
+ var PluginUnderlaySetScaleValue = z27.union([
1124
+ z27.number().positive(),
1125
+ PluginUnderlayPlanSize
1126
+ ]);
1127
+ var PluginUnderlaySetScaleArgs = z27.object({
1128
+ underlay: UnderlayHandle,
1129
+ scale: PluginUnderlaySetScaleValue
1130
+ });
1131
+ var PluginUnderlaySetOpacityArgs = z27.object({
1132
+ underlay: UnderlayHandle,
1133
+ opacity: z27.number().min(0).max(1)
1134
+ });
1135
+ var PluginUnderlayRefArgs = z27.object({
1136
+ underlay: UnderlayHandle
1137
+ });
1138
+
1139
+ // src/api/core/io/terrain/index.ts
1140
+ import * as z28 from "zod";
1141
+ var PluginCoreIoTerrainApi = class {
1142
+ constructor() {
1143
+ }
1144
+ };
1145
+ var TerrainReport = z28.object({
1146
+ cutVolume: z28.number(),
1147
+ fillVolume: z28.number(),
1148
+ netVolume: z28.number()
1149
+ });
1150
+ var PluginTerrainSetDatumArgs = z28.object({ offset: z28.number().finite() });
1151
+ var PluginTerrainSetOpacityArgs = z28.object({ opacity: z28.number().min(0).max(1) });
1152
+
1153
+ // src/api/core/io/query/index.ts
1154
+ import * as z29 from "zod";
1155
+ var PluginCoreIoQueryApi = class {
1156
+ constructor() {
1157
+ }
1158
+ };
1159
+ var PluginQueryPdfPageCountArgs = z29.object({ source: z29.string().min(1) });
1160
+ var PluginQueryCadLayersArgs = z29.object({ cad: CadJsonInput });
1161
+
1162
+ // src/api/core/io/index.ts
1163
+ var PluginCoreIoApi = class {
1164
+ constructor() {
1165
+ }
1166
+ };
1167
+
1043
1168
  // src/api/core/index.ts
1044
1169
  var PluginCoreApi = class {
1045
1170
  constructor() {
@@ -1047,39 +1172,39 @@ var PluginCoreApi = class {
1047
1172
  };
1048
1173
 
1049
1174
  // src/api/design/create/index.ts
1050
- import * as z26 from "zod";
1175
+ import * as z31 from "zod";
1051
1176
 
1052
1177
  // src/api/entity/space.ts
1053
- import * as z25 from "zod";
1054
- var PluginSpaceCreateRectangularArgs = z25.object({
1178
+ import * as z30 from "zod";
1179
+ var PluginSpaceCreateRectangularArgs = z30.object({
1055
1180
  position: Vec3Handle,
1056
- dimensions: z25.object({
1057
- width: z25.number(),
1058
- height: z25.number(),
1059
- depth: z25.number()
1181
+ dimensions: z30.object({
1182
+ width: z30.number(),
1183
+ height: z30.number(),
1184
+ depth: z30.number()
1060
1185
  })
1061
1186
  });
1062
- var PluginSpaceCreateRectangularResult = z25.object({
1063
- spaceId: z25.string()
1187
+ var PluginSpaceCreateRectangularResult = z30.object({
1188
+ spaceId: z30.string()
1064
1189
  });
1065
- var PluginSpaceCreateFromProfileArgs = z25.object({
1190
+ var PluginSpaceCreateFromProfileArgs = z30.object({
1066
1191
  profile: ProfileHandle,
1067
- innerProfiles: z25.array(ProfileHandle).optional(),
1068
- extrudeHeight: z25.number(),
1192
+ innerProfiles: z30.array(ProfileHandle).optional(),
1193
+ extrudeHeight: z30.number(),
1069
1194
  position: Vec3Handle
1070
1195
  });
1071
- var PluginSpaceCreateFromProfileResult = z25.object({
1072
- spaceId: z25.string()
1196
+ var PluginSpaceCreateFromProfileResult = z30.object({
1197
+ spaceId: z30.string()
1073
1198
  });
1074
- var PluginSpaceUpdateGeometryFromProfileArgs = z25.object({
1075
- spaceId: z25.string(),
1199
+ var PluginSpaceUpdateGeometryFromProfileArgs = z30.object({
1200
+ spaceId: z30.string(),
1076
1201
  profile: ProfileHandle,
1077
- extrudeHeight: z25.number()
1202
+ extrudeHeight: z30.number()
1078
1203
  });
1079
- var PluginSpaceUpdateGeometryFromProfileResult = z25.object({
1080
- spaceId: z25.string()
1204
+ var PluginSpaceUpdateGeometryFromProfileResult = z30.object({
1205
+ spaceId: z30.string()
1081
1206
  });
1082
- var PluginSpaceGetProperty = z25.enum([
1207
+ var PluginSpaceGetProperty = z30.enum([
1083
1208
  // Basic
1084
1209
  "id",
1085
1210
  "type",
@@ -1110,11 +1235,11 @@ var PluginSpaceGetProperty = z25.enum([
1110
1235
  // Derived from adjacency manager
1111
1236
  "adjacency"
1112
1237
  ]);
1113
- var PluginSpaceGetArgs = z25.object({
1114
- spaceId: z25.string(),
1115
- properties: z25.array(PluginSpaceGetProperty)
1238
+ var PluginSpaceGetArgs = z30.object({
1239
+ spaceId: z30.string(),
1240
+ properties: z30.array(PluginSpaceGetProperty)
1116
1241
  });
1117
- var PluginSpaceType = z25.enum([
1242
+ var PluginSpaceType = z30.enum([
1118
1243
  "Room",
1119
1244
  "Program Block",
1120
1245
  "Balcony",
@@ -1126,51 +1251,51 @@ var PluginSpaceType = z25.enum([
1126
1251
  "Envelope",
1127
1252
  "Parking"
1128
1253
  ]);
1129
- var PluginAreaClass = z25.enum(["NET", "GROSS", "EXCLUDED"]);
1130
- var PluginSpaceGetResult = z25.object({
1254
+ var PluginAreaClass = z30.enum(["NET", "GROSS", "EXCLUDED"]);
1255
+ var PluginSpaceGetResult = z30.object({
1131
1256
  // Basic
1132
- id: z25.string(),
1133
- type: z25.string(),
1134
- room_type: z25.string(),
1135
- name: z25.string(),
1257
+ id: z30.string(),
1258
+ type: z30.string(),
1259
+ room_type: z30.string(),
1260
+ name: z30.string(),
1136
1261
  // Derived from parametric data
1137
- area: z25.number(),
1138
- breadth: z25.number(),
1139
- depth: z25.number(),
1140
- height: z25.number(),
1141
- massType: z25.string().nullable(),
1262
+ area: z30.number(),
1263
+ breadth: z30.number(),
1264
+ depth: z30.number(),
1265
+ height: z30.number(),
1266
+ massType: z30.string().nullable(),
1142
1267
  spaceType: PluginSpaceType.nullable(),
1143
1268
  areaClass: PluginAreaClass,
1144
- storey: z25.number().nullable(),
1145
- departmentId: z25.string().nullable(),
1146
- departmentName: z25.string(),
1147
- departmentColor: z25.string(),
1269
+ storey: z30.number().nullable(),
1270
+ departmentId: z30.string().nullable(),
1271
+ departmentName: z30.string(),
1272
+ departmentColor: z30.string(),
1148
1273
  // Derived from mesh
1149
1274
  position: Vec3Components,
1150
1275
  absolutePosition: Vec3Components,
1151
1276
  rotation: Vec3Components,
1152
1277
  rotationQuaternion: QuatComponents.nullable(),
1153
1278
  // Derived from brep
1154
- planPoints: z25.array(Vec3Components),
1155
- profile: z25.array(CurveHandle),
1156
- innerProfiles: z25.array(z25.array(CurveHandle)),
1157
- innerPlanPoints: z25.array(z25.array(Vec3Components)),
1279
+ planPoints: z30.array(Vec3Components),
1280
+ profile: z30.array(CurveHandle),
1281
+ innerProfiles: z30.array(z30.array(CurveHandle)),
1282
+ innerPlanPoints: z30.array(z30.array(Vec3Components)),
1158
1283
  // Derived from adjacency manager.
1159
1284
  // value: 2 = Direct (required), 1 = Indirect or physical contact, -1 = Restricted;
1160
1285
  // 0 (no relationship) entries are filtered out. Empty array when adjacency has
1161
1286
  // never been computed — run program.adjacency.compute() first for fresh data.
1162
- adjacency: z25.array(z25.object({
1163
- spaceId: z25.string(),
1164
- value: z25.number()
1287
+ adjacency: z30.array(z30.object({
1288
+ spaceId: z30.string(),
1289
+ value: z30.number()
1165
1290
  }))
1166
1291
  }).partial();
1167
- var PluginSpaceGetAllResult = z25.object({
1168
- spacesIds: z25.array(z25.string())
1292
+ var PluginSpaceGetAllResult = z30.object({
1293
+ spacesIds: z30.array(z30.string())
1169
1294
  });
1170
- var PluginSpaceDeleteArgs = z25.object({
1171
- spaceId: z25.string()
1295
+ var PluginSpaceDeleteArgs = z30.object({
1296
+ spaceId: z30.string()
1172
1297
  });
1173
- var PluginMassType = z25.enum([
1298
+ var PluginMassType = z30.enum([
1174
1299
  "Plinth",
1175
1300
  "Void",
1176
1301
  "Pergola",
@@ -1184,89 +1309,89 @@ var PluginMassType = z25.enum([
1184
1309
  "Mass",
1185
1310
  "Site"
1186
1311
  ]);
1187
- var PluginWellKnownDepartmentId = z25.enum([
1312
+ var PluginWellKnownDepartmentId = z30.enum([
1188
1313
  "DEFAULT",
1189
1314
  "SITE",
1190
1315
  "ENVELOPE",
1191
1316
  "CORE"
1192
1317
  ]);
1193
- var PluginDepartmentId = z25.union([
1318
+ var PluginDepartmentId = z30.union([
1194
1319
  PluginWellKnownDepartmentId,
1195
- z25.uuid()
1320
+ z30.uuid()
1196
1321
  ]);
1197
- var PluginSpaceUpdateArgs = z25.object({
1198
- spaceId: z25.string(),
1199
- properties: z25.object({
1200
- room_type: z25.string().optional(),
1322
+ var PluginSpaceUpdateArgs = z30.object({
1323
+ spaceId: z30.string(),
1324
+ properties: z30.object({
1325
+ room_type: z30.string().optional(),
1201
1326
  massType: PluginMassType.optional(),
1202
1327
  spaceType: PluginSpaceType.optional(),
1203
1328
  areaClass: PluginAreaClass.optional(),
1204
1329
  departmentId: PluginDepartmentId.optional()
1205
1330
  })
1206
1331
  });
1207
- var PluginSpaceUpdateResult = z25.object({
1208
- spaceId: z25.string(),
1209
- room_type: z25.string().optional(),
1210
- massType: z25.string().optional(),
1211
- spaceType: z25.string().optional(),
1332
+ var PluginSpaceUpdateResult = z30.object({
1333
+ spaceId: z30.string(),
1334
+ room_type: z30.string().optional(),
1335
+ massType: z30.string().optional(),
1336
+ spaceType: z30.string().optional(),
1212
1337
  areaClass: PluginAreaClass.optional(),
1213
- departmentId: z25.string().nullable().optional()
1338
+ departmentId: z30.string().nullable().optional()
1214
1339
  });
1215
- var PluginSpaceBulkCreateItem = z25.discriminatedUnion("kind", [
1216
- z25.object({
1217
- kind: z25.literal("rectangular"),
1340
+ var PluginSpaceBulkCreateItem = z30.discriminatedUnion("kind", [
1341
+ z30.object({
1342
+ kind: z30.literal("rectangular"),
1218
1343
  position: Vec3Handle,
1219
- dimensions: z25.object({
1220
- width: z25.number(),
1221
- height: z25.number(),
1222
- depth: z25.number()
1344
+ dimensions: z30.object({
1345
+ width: z30.number(),
1346
+ height: z30.number(),
1347
+ depth: z30.number()
1223
1348
  }),
1224
- room_type: z25.string().optional(),
1349
+ room_type: z30.string().optional(),
1225
1350
  spaceType: PluginSpaceType.optional(),
1226
1351
  massType: PluginMassType.optional(),
1227
1352
  departmentId: PluginDepartmentId.optional()
1228
1353
  }),
1229
- z25.object({
1230
- kind: z25.literal("profile"),
1354
+ z30.object({
1355
+ kind: z30.literal("profile"),
1231
1356
  profile: ProfileHandle,
1232
- innerProfiles: z25.array(ProfileHandle).optional(),
1233
- extrudeHeight: z25.number(),
1357
+ innerProfiles: z30.array(ProfileHandle).optional(),
1358
+ extrudeHeight: z30.number(),
1234
1359
  position: Vec3Handle,
1235
- room_type: z25.string().optional(),
1360
+ room_type: z30.string().optional(),
1236
1361
  spaceType: PluginSpaceType.optional(),
1237
1362
  massType: PluginMassType.optional(),
1238
1363
  departmentId: PluginDepartmentId.optional()
1239
1364
  })
1240
1365
  ]);
1241
- var PluginSpaceBulkCreateArgs = z25.object({
1242
- items: z25.array(PluginSpaceBulkCreateItem)
1366
+ var PluginSpaceBulkCreateArgs = z30.object({
1367
+ items: z30.array(PluginSpaceBulkCreateItem)
1243
1368
  });
1244
- var PluginSpaceBulkCreateResult = z25.object({
1245
- spaceIds: z25.array(z25.string())
1369
+ var PluginSpaceBulkCreateResult = z30.object({
1370
+ spaceIds: z30.array(z30.string())
1246
1371
  });
1247
- var PluginSpaceBulkUpdateItem = z25.object({
1248
- spaceId: z25.string(),
1372
+ var PluginSpaceBulkUpdateItem = z30.object({
1373
+ spaceId: z30.string(),
1249
1374
  profile: ProfileHandle.optional(),
1250
- extrudeHeight: z25.number().optional(),
1251
- properties: z25.object({
1252
- room_type: z25.string().optional(),
1375
+ extrudeHeight: z30.number().optional(),
1376
+ properties: z30.object({
1377
+ room_type: z30.string().optional(),
1253
1378
  massType: PluginMassType.optional(),
1254
1379
  spaceType: PluginSpaceType.optional(),
1255
1380
  areaClass: PluginAreaClass.optional(),
1256
1381
  departmentId: PluginDepartmentId.optional()
1257
1382
  }).optional()
1258
1383
  });
1259
- var PluginSpaceBulkUpdateArgs = z25.object({
1260
- items: z25.array(PluginSpaceBulkUpdateItem)
1384
+ var PluginSpaceBulkUpdateArgs = z30.object({
1385
+ items: z30.array(PluginSpaceBulkUpdateItem)
1261
1386
  });
1262
- var PluginSpaceBulkUpdateResult = z25.object({
1263
- spaces: z25.array(PluginSpaceUpdateResult)
1387
+ var PluginSpaceBulkUpdateResult = z30.object({
1388
+ spaces: z30.array(PluginSpaceUpdateResult)
1264
1389
  });
1265
- var PluginSpaceBulkDeleteArgs = z25.object({
1266
- spaceIds: z25.array(z25.string())
1390
+ var PluginSpaceBulkDeleteArgs = z30.object({
1391
+ spaceIds: z30.array(z30.string())
1267
1392
  });
1268
- var PluginSpaceBulkDeleteResult = z25.object({
1269
- deletedSpaceIds: z25.array(z25.string())
1393
+ var PluginSpaceBulkDeleteResult = z30.object({
1394
+ deletedSpaceIds: z30.array(z30.string())
1270
1395
  });
1271
1396
 
1272
1397
  // src/api/design/create/index.ts
@@ -1274,14 +1399,14 @@ var PluginDesignCreateApi = class {
1274
1399
  constructor() {
1275
1400
  }
1276
1401
  };
1277
- var PluginReferenceLineStyle = z26.enum(["SOLID", "DASHED", "DOT_DASH"]);
1278
- var PluginSlabType = z26.enum([
1402
+ var PluginReferenceLineStyle = z31.enum(["SOLID", "DASHED", "DOT_DASH"]);
1403
+ var PluginSlabType = z31.enum([
1279
1404
  "Intermediate Slab",
1280
1405
  "Basement Slab",
1281
1406
  "Plinth",
1282
1407
  "Roof"
1283
1408
  ]);
1284
- var PluginStaircasePreset = z26.enum([
1409
+ var PluginStaircasePreset = z31.enum([
1285
1410
  "straight",
1286
1411
  "straightWoLanding",
1287
1412
  "straightFlightWoMidLanding",
@@ -1299,89 +1424,89 @@ var PluginStaircasePreset = z26.enum([
1299
1424
  "mezzanineFloorLShaped",
1300
1425
  "custom"
1301
1426
  ]);
1302
- var PluginDesignCreateSpaceArgs = z26.object({
1427
+ var PluginDesignCreateSpaceArgs = z31.object({
1303
1428
  contour: ContourHandle,
1304
- height: z26.number(),
1305
- label: z26.string().optional(),
1429
+ height: z31.number(),
1430
+ label: z31.string().optional(),
1306
1431
  position: Vec3Handle.optional(),
1307
1432
  spaceType: PluginSpaceType.optional(),
1308
1433
  massType: PluginMassType.optional(),
1309
1434
  departmentId: PluginDepartmentId.optional()
1310
1435
  });
1311
- var PluginDesignCreateMassArgs = z26.object({
1436
+ var PluginDesignCreateMassArgs = z31.object({
1312
1437
  contour: ContourHandle,
1313
- height: z26.number(),
1314
- label: z26.string().optional(),
1438
+ height: z31.number(),
1439
+ label: z31.string().optional(),
1315
1440
  position: Vec3Handle.optional(),
1316
1441
  massType: PluginMassType.optional()
1317
1442
  });
1318
- var PluginDesignCreateSlabArgs = z26.object({
1443
+ var PluginDesignCreateSlabArgs = z31.object({
1319
1444
  contour: ContourHandle,
1320
- thickness: z26.number(),
1321
- direction: z26.enum(["up", "down"]).optional(),
1445
+ thickness: z31.number(),
1446
+ direction: z31.enum(["up", "down"]).optional(),
1322
1447
  slabType: PluginSlabType.optional()
1323
1448
  });
1324
- var PluginDesignCreateFloorArgs = z26.object({
1449
+ var PluginDesignCreateFloorArgs = z31.object({
1325
1450
  contour: ContourHandle,
1326
- thickness: z26.number(),
1451
+ thickness: z31.number(),
1327
1452
  position: Vec3Handle.optional()
1328
1453
  });
1329
- var PluginDesignCreateRoofArgs = z26.object({
1454
+ var PluginDesignCreateRoofArgs = z31.object({
1330
1455
  contour: ContourHandle,
1331
- thickness: z26.number()
1456
+ thickness: z31.number()
1332
1457
  });
1333
- var PluginDesignCreateCeilingArgs = z26.object({
1458
+ var PluginDesignCreateCeilingArgs = z31.object({
1334
1459
  contour: ContourHandle,
1335
- thickness: z26.number(),
1336
- heightFromFloor: z26.number().optional()
1460
+ thickness: z31.number(),
1461
+ heightFromFloor: z31.number().optional()
1337
1462
  });
1338
- var PluginDesignCreateColumnArgs = z26.object({
1463
+ var PluginDesignCreateColumnArgs = z31.object({
1339
1464
  position: Vec3Handle,
1340
1465
  crossSection: ContourHandle,
1341
- height: z26.number(),
1466
+ height: z31.number(),
1342
1467
  directionUp: Vec3Handle.optional()
1343
1468
  });
1344
- var PluginDesignCreateBeamArgs = z26.object({
1469
+ var PluginDesignCreateBeamArgs = z31.object({
1345
1470
  section: ContourHandle,
1346
- length: z26.number(),
1471
+ length: z31.number(),
1347
1472
  direction: Vec3Handle.optional()
1348
1473
  });
1349
- var PluginDesignCreateWallsArgs = z26.object({
1474
+ var PluginDesignCreateWallsArgs = z31.object({
1350
1475
  profile: ProfileHandle,
1351
- height: z26.number().optional(),
1352
- thickness: z26.number().optional()
1476
+ height: z31.number().optional(),
1477
+ thickness: z31.number().optional()
1353
1478
  });
1354
- var PluginDesignCreateStaircaseArgs = z26.object({
1479
+ var PluginDesignCreateStaircaseArgs = z31.object({
1355
1480
  preset: PluginStaircasePreset,
1356
1481
  position: Vec3Handle,
1357
- label: z26.string().optional(),
1358
- structureId: z26.string().optional(),
1359
- level: z26.string().optional()
1482
+ label: z31.string().optional(),
1483
+ structureId: z31.string().optional(),
1484
+ level: z31.string().optional()
1360
1485
  });
1361
- var PluginDesignCreateFurnitureArgs = z26.object({
1362
- catalogId: z26.string().min(1),
1486
+ var PluginDesignCreateFurnitureArgs = z31.object({
1487
+ catalogId: z31.string().min(1),
1363
1488
  position: Vec3Handle,
1364
- label: z26.string().optional(),
1365
- createNewSourceMesh: z26.boolean().optional()
1489
+ label: z31.string().optional(),
1490
+ createNewSourceMesh: z31.boolean().optional()
1366
1491
  });
1367
- var PluginDesignCreateReferenceLinesArgs = z26.object({
1492
+ var PluginDesignCreateReferenceLinesArgs = z31.object({
1368
1493
  profile: ProfileHandle,
1369
- color: z26.string().optional(),
1370
- thickness: z26.number().optional(),
1494
+ color: z31.string().optional(),
1495
+ thickness: z31.number().optional(),
1371
1496
  style: PluginReferenceLineStyle.optional(),
1372
- gridTag: z26.string().optional()
1497
+ gridTag: z31.string().optional()
1373
1498
  });
1374
- var PluginCopyMode = z26.enum(["instance", "unique"]);
1375
- var PluginDesignCreateCopyArgs = z26.object({
1376
- components: z26.array(ComponentHandle).min(1),
1499
+ var PluginCopyMode = z31.enum(["instance", "unique"]);
1500
+ var PluginDesignCreateCopyArgs = z31.object({
1501
+ components: z31.array(ComponentHandle).min(1),
1377
1502
  displacement: Vec3Handle,
1378
- count: z26.number().int().positive().optional(),
1503
+ count: z31.number().int().positive().optional(),
1379
1504
  mode: PluginCopyMode.optional()
1380
1505
  });
1381
- var PluginCreateSpaceItem = z26.object({
1506
+ var PluginCreateSpaceItem = z31.object({
1382
1507
  contour: ContourHandle,
1383
- height: z26.number(),
1384
- label: z26.string().optional(),
1508
+ height: z31.number(),
1509
+ label: z31.string().optional(),
1385
1510
  position: Vec3Handle.optional(),
1386
1511
  spaceType: PluginSpaceType.optional(),
1387
1512
  massType: PluginMassType.optional(),
@@ -1389,44 +1514,44 @@ var PluginCreateSpaceItem = z26.object({
1389
1514
  });
1390
1515
 
1391
1516
  // src/api/design/query/index.ts
1392
- import * as z29 from "zod";
1517
+ import * as z34 from "zod";
1393
1518
 
1394
1519
  // src/api/design/query/geometry/index.ts
1395
- import * as z27 from "zod";
1520
+ import * as z32 from "zod";
1396
1521
  var PluginDesignQueryGeometryApi = class {
1397
1522
  constructor() {
1398
1523
  }
1399
1524
  };
1400
- var PluginDesignQueryGeometryGetBrepArgs = z27.object({
1525
+ var PluginDesignQueryGeometryGetBrepArgs = z32.object({
1401
1526
  component: ComponentHandle
1402
1527
  });
1403
- var PluginDesignQueryGeometryGetBottomContourArgs = z27.object({
1528
+ var PluginDesignQueryGeometryGetBottomContourArgs = z32.object({
1404
1529
  component: ComponentHandle
1405
1530
  });
1406
- var PluginDesignQueryGeometryGetCenterlineArgs = z27.object({
1531
+ var PluginDesignQueryGeometryGetCenterlineArgs = z32.object({
1407
1532
  component: ComponentHandle
1408
1533
  });
1409
1534
 
1410
1535
  // src/api/design/query/spaces.ts
1411
- import * as z28 from "zod";
1536
+ import * as z33 from "zod";
1412
1537
  var PluginDesignQuerySpacesApi = class {
1413
1538
  constructor() {
1414
1539
  }
1415
1540
  };
1416
- var PluginDesignQueryGetFootprintArgs = z28.object({
1541
+ var PluginDesignQueryGetFootprintArgs = z33.object({
1417
1542
  space: ComponentHandle
1418
1543
  });
1419
1544
  var PluginDesignQuerySpacesGetProperty = PluginSpaceGetProperty.exclude(["adjacency"]);
1420
- var PluginDesignQuerySpacesGetArgs = z28.object({
1545
+ var PluginDesignQuerySpacesGetArgs = z33.object({
1421
1546
  space: ComponentHandle,
1422
- properties: z28.array(PluginDesignQuerySpacesGetProperty)
1547
+ properties: z33.array(PluginDesignQuerySpacesGetProperty)
1423
1548
  });
1424
1549
  var PluginDesignQuerySpacesGetResult = PluginSpaceGetResult.omit({
1425
1550
  adjacency: true
1426
1551
  });
1427
1552
 
1428
1553
  // src/api/design/query/index.ts
1429
- var PluginEntityType = z29.enum([
1554
+ var PluginEntityType = z34.enum([
1430
1555
  "wall",
1431
1556
  "space",
1432
1557
  "mass",
@@ -1445,55 +1570,55 @@ var PluginEntityType = z29.enum([
1445
1570
  "mullion",
1446
1571
  "panel"
1447
1572
  ]);
1448
- var PluginEntityFilter = z29.object({
1449
- types: z29.array(PluginEntityType).optional(),
1450
- storeys: z29.array(z29.number()).optional(),
1451
- buildingIds: z29.array(z29.string()).optional(),
1452
- structureIds: z29.array(z29.string()).optional(),
1453
- label: z29.string().optional(),
1454
- massTypes: z29.array(PluginMassType).optional(),
1455
- spaceTypes: z29.array(PluginSpaceType).optional(),
1573
+ var PluginEntityFilter = z34.object({
1574
+ types: z34.array(PluginEntityType).optional(),
1575
+ storeys: z34.array(z34.number()).optional(),
1576
+ buildingIds: z34.array(z34.string()).optional(),
1577
+ structureIds: z34.array(z34.string()).optional(),
1578
+ label: z34.string().optional(),
1579
+ massTypes: z34.array(PluginMassType).optional(),
1580
+ spaceTypes: z34.array(PluginSpaceType).optional(),
1456
1581
  departmentId: PluginDepartmentId.optional(),
1457
- isSelected: z29.boolean().optional(),
1458
- isLocked: z29.boolean().optional(),
1459
- isHidden: z29.boolean().optional(),
1582
+ isSelected: z34.boolean().optional(),
1583
+ isLocked: z34.boolean().optional(),
1584
+ isHidden: z34.boolean().optional(),
1460
1585
  within: BBoxComponents.optional(),
1461
1586
  overlaps: ComponentHandle.optional(),
1462
- ids: z29.array(ComponentHandle).optional()
1587
+ ids: z34.array(ComponentHandle).optional()
1463
1588
  });
1464
1589
  var PluginDesignQueryListByTypeArgs = PluginEntityFilter.extend({
1465
1590
  type: PluginEntityType
1466
1591
  });
1467
- var PluginDesignQueryComponentArgs = z29.object({
1592
+ var PluginDesignQueryComponentArgs = z34.object({
1468
1593
  component: ComponentHandle
1469
1594
  });
1470
- var PluginDesignQueryIdArgs = z29.object({
1595
+ var PluginDesignQueryIdArgs = z34.object({
1471
1596
  id: ComponentHandle
1472
1597
  });
1473
- var PluginDesignQueryComponentsArgs = z29.object({
1474
- components: z29.array(ComponentHandle)
1598
+ var PluginDesignQueryComponentsArgs = z34.object({
1599
+ components: z34.array(ComponentHandle)
1475
1600
  });
1476
- var PluginEntityProperties = z29.object({
1477
- id: z29.string(),
1601
+ var PluginEntityProperties = z34.object({
1602
+ id: z34.string(),
1478
1603
  type: PluginEntityType,
1479
- label: z29.string(),
1480
- storey: z29.number(),
1481
- buildingId: z29.string(),
1482
- structureId: z29.string(),
1483
- massType: z29.string(),
1604
+ label: z34.string(),
1605
+ storey: z34.number(),
1606
+ buildingId: z34.string(),
1607
+ structureId: z34.string(),
1608
+ massType: z34.string(),
1484
1609
  spaceType: PluginSpaceType,
1485
1610
  areaClass: PluginAreaClass,
1486
- departmentId: z29.string(),
1487
- isLocked: z29.boolean(),
1488
- isHidden: z29.boolean(),
1489
- isSelected: z29.boolean(),
1611
+ departmentId: z34.string(),
1612
+ isLocked: z34.boolean(),
1613
+ isHidden: z34.boolean(),
1614
+ isSelected: z34.boolean(),
1490
1615
  boundingBox: BBoxComponents,
1491
- adjacency: z29.array(z29.object({ spaceId: z29.string(), value: z29.number() }))
1616
+ adjacency: z34.array(z34.object({ spaceId: z34.string(), value: z34.number() }))
1492
1617
  }).partial();
1493
- var PluginEntityMeasurements = z29.object({
1494
- area: z29.number().optional(),
1495
- volume: z29.number().optional(),
1496
- length: z29.number().optional(),
1618
+ var PluginEntityMeasurements = z34.object({
1619
+ area: z34.number().optional(),
1620
+ volume: z34.number().optional(),
1621
+ length: z34.number().optional(),
1497
1622
  boundingBox: BBoxComponents
1498
1623
  });
1499
1624
  var PluginDesignQueryApi = class {
@@ -1502,170 +1627,202 @@ var PluginDesignQueryApi = class {
1502
1627
  };
1503
1628
 
1504
1629
  // src/api/design/selection/index.ts
1505
- import * as z30 from "zod";
1630
+ import * as z35 from "zod";
1631
+ var PluginSelectionEntityType = z35.enum([
1632
+ "wall",
1633
+ "slab",
1634
+ "floor",
1635
+ "door",
1636
+ "window",
1637
+ "beam",
1638
+ "column",
1639
+ "ceiling",
1640
+ "roof",
1641
+ "staircase",
1642
+ "furniture",
1643
+ "pergola",
1644
+ "sunshade",
1645
+ "referenceLine",
1646
+ "space",
1647
+ "site",
1648
+ "terrain",
1649
+ "cad",
1650
+ "pdf",
1651
+ "image",
1652
+ "dimensionLine",
1653
+ "model3d",
1654
+ "neighborhoodBuilding",
1655
+ "programBlock"
1656
+ ]);
1657
+ var PluginSelectionFilter = z35.object({
1658
+ storeys: z35.array(z35.number()).optional(),
1659
+ types: z35.array(PluginSelectionEntityType).optional()
1660
+ }).refine((f) => (f.storeys?.length ?? 0) + (f.types?.length ?? 0) > 0, {
1661
+ message: "PluginSelectionFilter requires at least one non-empty field (storeys or types); use design.selection.clear() to deselect everything"
1662
+ });
1506
1663
  var PluginDesignSelectionApi = class {
1507
1664
  constructor() {
1508
1665
  }
1509
1666
  };
1510
- var PluginDesignSelectionSetArgs = z30.object({
1511
- components: z30.array(ComponentHandle)
1667
+ var PluginDesignSelectionSetArgs = z35.object({
1668
+ components: z35.array(ComponentHandle)
1512
1669
  });
1513
1670
  var PluginDesignSelectionAddArgs = PluginDesignSelectionSetArgs;
1514
1671
  var PluginDesignSelectionRemoveArgs = PluginDesignSelectionSetArgs;
1515
1672
 
1516
1673
  // src/api/design/doors/index.ts
1517
- import * as z31 from "zod";
1674
+ import * as z36 from "zod";
1518
1675
  var PluginDesignDoorsApi = class {
1519
1676
  constructor() {
1520
1677
  }
1521
1678
  };
1522
- var PluginDesignDoorArgs = z31.object({
1679
+ var PluginDesignDoorArgs = z36.object({
1523
1680
  door: ComponentHandle
1524
1681
  });
1525
- var PluginMirrorAxis = z31.enum(["x", "y", "z"]);
1526
- var PluginDesignDoorMirrorArgs = z31.object({
1682
+ var PluginMirrorAxis = z36.enum(["x", "y", "z"]);
1683
+ var PluginDesignDoorMirrorArgs = z36.object({
1527
1684
  door: ComponentHandle,
1528
1685
  axis: PluginMirrorAxis.optional()
1529
1686
  });
1530
- var PluginDesignDoorSetWidthArgs = z31.object({
1531
- doors: z31.array(ComponentHandle),
1532
- width: z31.number()
1687
+ var PluginDesignDoorSetWidthArgs = z36.object({
1688
+ doors: z36.array(ComponentHandle),
1689
+ width: z36.number()
1533
1690
  });
1534
- var PluginDesignDoorSetHeightArgs = z31.object({
1535
- doors: z31.array(ComponentHandle),
1536
- height: z31.number()
1691
+ var PluginDesignDoorSetHeightArgs = z36.object({
1692
+ doors: z36.array(ComponentHandle),
1693
+ height: z36.number()
1537
1694
  });
1538
1695
 
1539
1696
  // src/api/design/windows/index.ts
1540
- import * as z32 from "zod";
1697
+ import * as z37 from "zod";
1541
1698
  var PluginDesignWindowsApi = class {
1542
1699
  constructor() {
1543
1700
  }
1544
1701
  };
1545
- var PluginDesignWindowArgs = z32.object({
1702
+ var PluginDesignWindowArgs = z37.object({
1546
1703
  window: ComponentHandle
1547
1704
  });
1548
- var PluginWindowDimensions = z32.object({
1549
- width: z32.number(),
1550
- height: z32.number(),
1551
- thickness: z32.number()
1705
+ var PluginWindowDimensions = z37.object({
1706
+ width: z37.number(),
1707
+ height: z37.number(),
1708
+ thickness: z37.number()
1552
1709
  });
1553
- var PluginDesignWindowSetWidthArgs = z32.object({
1710
+ var PluginDesignWindowSetWidthArgs = z37.object({
1554
1711
  window: ComponentHandle,
1555
- width: z32.number()
1712
+ width: z37.number()
1556
1713
  });
1557
- var PluginDesignWindowSetHeightArgs = z32.object({
1714
+ var PluginDesignWindowSetHeightArgs = z37.object({
1558
1715
  window: ComponentHandle,
1559
- height: z32.number()
1716
+ height: z37.number()
1560
1717
  });
1561
1718
 
1562
1719
  // src/api/design/furniture/index.ts
1563
- import * as z33 from "zod";
1720
+ import * as z38 from "zod";
1564
1721
  var PluginDesignFurnitureApi = class {
1565
1722
  constructor() {
1566
1723
  }
1567
1724
  };
1568
- var PluginFurnitureCatalogItem = z33.object({
1569
- id: z33.string(),
1570
- name: z33.string(),
1571
- source: z33.enum(["team", "general"]),
1572
- subType: z33.string().optional(),
1573
- cost: z33.number().optional(),
1574
- familyName: z33.string().optional()
1725
+ var PluginFurnitureCatalogItem = z38.object({
1726
+ id: z38.string(),
1727
+ name: z38.string(),
1728
+ source: z38.enum(["team", "general"]),
1729
+ subType: z38.string().optional(),
1730
+ cost: z38.number().optional(),
1731
+ familyName: z38.string().optional()
1575
1732
  });
1576
- var PluginDesignFurnitureListCatalogArgs = z33.object({
1577
- source: z33.enum(["team", "general"]).optional()
1733
+ var PluginDesignFurnitureListCatalogArgs = z38.object({
1734
+ source: z38.enum(["team", "general"]).optional()
1578
1735
  });
1579
- var PluginDesignFurnitureGetCatalogItemArgs = z33.object({
1580
- id: z33.string()
1736
+ var PluginDesignFurnitureGetCatalogItemArgs = z38.object({
1737
+ id: z38.string()
1581
1738
  });
1582
1739
  var PluginDesignFurnitureExistsArgs = PluginDesignFurnitureGetCatalogItemArgs;
1583
1740
 
1584
1741
  // src/api/design/materials/index.ts
1585
- import * as z34 from "zod";
1742
+ import * as z39 from "zod";
1586
1743
  var PluginDesignMaterialsApi = class {
1587
1744
  constructor() {
1588
1745
  }
1589
1746
  };
1590
- var PluginMaterialInfo = z34.object({
1591
- name: z34.string(),
1592
- id: z34.string(),
1593
- colorHex: z34.string(),
1594
- alpha: z34.number(),
1595
- materialType: z34.string().optional(),
1596
- textureUrl: z34.string().optional()
1597
- });
1598
- var PluginMaterialSpec = z34.object({
1599
- name: z34.string().optional(),
1600
- color: z34.string().optional(),
1601
- textureUrl: z34.string().optional(),
1602
- alpha: z34.number().optional(),
1603
- materialType: z34.string().optional()
1604
- });
1605
- var PluginMaterialResult = z34.object({ count: z34.number() });
1606
- var PluginDesignMaterialsListArgs = z34.object({
1607
- scope: z34.enum(["project", "preset"]).optional()
1608
- });
1609
- var PluginDesignMaterialsGetInfoArgs = z34.object({ material: MaterialHandle });
1610
- var PluginDesignMaterialsComponentArgs = z34.object({ component: ComponentHandle });
1611
- var PluginDesignMaterialsApplyArgs = z34.object({
1612
- targets: z34.array(ComponentHandle),
1613
- material: z34.union([MaterialHandle, PluginMaterialSpec]),
1614
- save: z34.boolean().optional()
1615
- });
1616
- var PluginDesignMaterialsResetArgs = z34.object({
1617
- components: z34.array(ComponentHandle),
1618
- save: z34.boolean().optional()
1619
- });
1620
- var PluginDesignMaterialsCreateArgs = z34.object({ spec: PluginMaterialSpec });
1747
+ var PluginMaterialInfo = z39.object({
1748
+ name: z39.string(),
1749
+ id: z39.string(),
1750
+ colorHex: z39.string(),
1751
+ alpha: z39.number(),
1752
+ materialType: z39.string().optional(),
1753
+ textureUrl: z39.string().optional()
1754
+ });
1755
+ var PluginMaterialSpec = z39.object({
1756
+ name: z39.string().optional(),
1757
+ color: z39.string().optional(),
1758
+ textureUrl: z39.string().optional(),
1759
+ alpha: z39.number().optional(),
1760
+ materialType: z39.string().optional()
1761
+ });
1762
+ var PluginMaterialResult = z39.object({ count: z39.number() });
1763
+ var PluginDesignMaterialsListArgs = z39.object({
1764
+ scope: z39.enum(["project", "preset"]).optional()
1765
+ });
1766
+ var PluginDesignMaterialsGetInfoArgs = z39.object({ material: MaterialHandle });
1767
+ var PluginDesignMaterialsComponentArgs = z39.object({ component: ComponentHandle });
1768
+ var PluginDesignMaterialsApplyArgs = z39.object({
1769
+ targets: z39.array(ComponentHandle),
1770
+ material: z39.union([MaterialHandle, PluginMaterialSpec]),
1771
+ save: z39.boolean().optional()
1772
+ });
1773
+ var PluginDesignMaterialsResetArgs = z39.object({
1774
+ components: z39.array(ComponentHandle),
1775
+ save: z39.boolean().optional()
1776
+ });
1777
+ var PluginDesignMaterialsCreateArgs = z39.object({ spec: PluginMaterialSpec });
1621
1778
 
1622
1779
  // src/api/design/lock.ts
1623
- import * as z35 from "zod";
1624
- var PluginDesignChangeResult = z35.object({
1625
- affected: z35.array(ComponentHandle)
1780
+ import * as z40 from "zod";
1781
+ var PluginDesignChangeResult = z40.object({
1782
+ affected: z40.array(ComponentHandle)
1626
1783
  });
1627
- var PluginDesignLockArgs = z35.object({
1628
- components: z35.array(ComponentHandle)
1784
+ var PluginDesignLockArgs = z40.object({
1785
+ components: z40.array(ComponentHandle)
1629
1786
  });
1630
1787
  var PluginDesignUnlockArgs = PluginDesignLockArgs;
1631
- var PluginDesignIsLockedArgs = z35.object({
1788
+ var PluginDesignIsLockedArgs = z40.object({
1632
1789
  component: ComponentHandle,
1633
- includeInherited: z35.boolean().optional()
1790
+ includeInherited: z40.boolean().optional()
1634
1791
  });
1635
1792
 
1636
1793
  // src/api/design/erase/index.ts
1637
- import * as z36 from "zod";
1638
- var EraseStrategy = z36.enum(["DirectDelete", "DirectUnion", "SplitAndUnion"]);
1794
+ import * as z41 from "zod";
1795
+ var EraseStrategy = z41.enum(["DirectDelete", "DirectUnion", "SplitAndUnion"]);
1639
1796
  var DEFAULT_ERASE_STRATEGIES = ["DirectDelete", "DirectUnion"];
1640
- var ErasableEdgeRef = z36.object({
1797
+ var ErasableEdgeRef = z41.object({
1641
1798
  /** Opaque bottom-graph edge id (engine form `"e-<n>"`). Do not mutate. Pass verbatim to {@linkcode PluginDesignEraseApi.edge}. */
1642
- id: z36.string().min(1),
1799
+ id: z41.string().min(1),
1643
1800
  /** What erasing this edge would do: `DirectDelete` drops a mass; `DirectUnion` merges two adjacent masses. */
1644
1801
  strategy: EraseStrategy,
1645
1802
  /** Bottom-graph edge weight: `1` = external boundary edge, `>=2` = internal edge shared between components. */
1646
- edgeWeight: z36.number(),
1647
- /** The components this edge is incident to — one for external (DirectDelete), two for internal (DirectUnion). */
1648
- components: z36.array(ComponentHandle),
1803
+ edgeWeight: z41.number(),
1804
+ /** The components this edge is incident to — one for external (DirectDelete); two or more for internal (DirectUnion; 3+ at T-junctions where several masses share the edge). */
1805
+ components: z41.array(ComponentHandle),
1649
1806
  /** A representative point on the edge (its head endpoint). Diagnostic only. */
1650
1807
  snapPoint: Vec3Handle
1651
1808
  });
1652
- var PluginDesignListErasableEdgesArgs = z36.object({
1653
- components: z36.array(ComponentHandle).optional(),
1654
- strategies: z36.array(EraseStrategy).optional()
1809
+ var PluginDesignListErasableEdgesArgs = z41.object({
1810
+ components: z41.array(ComponentHandle).optional(),
1811
+ strategies: z41.array(EraseStrategy).optional()
1655
1812
  });
1656
- var PluginDesignEraseEdgeArgs = z36.object({
1813
+ var PluginDesignEraseEdgeArgs = z41.object({
1657
1814
  edge: ErasableEdgeRef
1658
1815
  });
1659
- var PluginDesignEraseEdgeResult = z36.object({ ok: z36.literal(true) });
1816
+ var PluginDesignEraseEdgeResult = z41.object({ ok: z41.literal(true) });
1660
1817
  var PluginDesignEraseApi = class {
1661
1818
  constructor() {
1662
1819
  }
1663
1820
  };
1664
1821
 
1665
1822
  // src/api/design/delete/index.ts
1666
- import * as z37 from "zod";
1667
- var PluginDesignDeleteEntitiesArgs = z37.object({
1668
- components: z37.array(ComponentHandle).min(1)
1823
+ import * as z42 from "zod";
1824
+ var PluginDesignDeleteEntitiesArgs = z42.object({
1825
+ components: z42.array(ComponentHandle).min(1)
1669
1826
  });
1670
1827
  var PluginDesignDeleteApi = class {
1671
1828
  constructor() {
@@ -1673,85 +1830,85 @@ var PluginDesignDeleteApi = class {
1673
1830
  };
1674
1831
 
1675
1832
  // src/api/design/shared.ts
1676
- import * as z38 from "zod";
1677
- var BooleanOutcome = z38.object({
1678
- created: z38.array(ComponentHandle),
1679
- deleted: z38.array(ComponentHandle)
1833
+ import * as z43 from "zod";
1834
+ var BooleanOutcome = z43.object({
1835
+ created: z43.array(ComponentHandle),
1836
+ deleted: z43.array(ComponentHandle)
1680
1837
  });
1681
- var OffsetSplitOutcome = z38.object({
1682
- createdIds: z38.array(ComponentHandle),
1683
- deletedIds: z38.array(ComponentHandle),
1684
- offsetValue: z38.number()
1838
+ var OffsetSplitOutcome = z43.object({
1839
+ createdIds: z43.array(ComponentHandle),
1840
+ deletedIds: z43.array(ComponentHandle),
1841
+ offsetValue: z43.number()
1685
1842
  });
1686
1843
 
1687
1844
  // src/api/design/boolean/index.ts
1688
- import * as z39 from "zod";
1845
+ import * as z44 from "zod";
1689
1846
  var PluginDesignBooleanApi = class {
1690
1847
  constructor() {
1691
1848
  }
1692
1849
  };
1693
- var BooleanOptions = z39.object({
1850
+ var BooleanOptions = z44.object({
1694
1851
  offset: Vec3Handle.optional()
1695
1852
  });
1696
- var PluginDesignBooleanUnionArgs = z39.object({
1697
- components: z39.array(ComponentHandle).min(2),
1853
+ var PluginDesignBooleanUnionArgs = z44.object({
1854
+ components: z44.array(ComponentHandle).min(2),
1698
1855
  options: BooleanOptions.optional()
1699
1856
  });
1700
- var PluginDesignBooleanSubtractArgs = z39.object({
1857
+ var PluginDesignBooleanSubtractArgs = z44.object({
1701
1858
  target: ComponentHandle,
1702
- tools: z39.array(ComponentHandle).min(1),
1859
+ tools: z44.array(ComponentHandle).min(1),
1703
1860
  options: BooleanOptions.optional()
1704
1861
  });
1705
- var PluginDesignBooleanIntersectArgs = z39.object({
1706
- components: z39.array(ComponentHandle).length(2),
1862
+ var PluginDesignBooleanIntersectArgs = z44.object({
1863
+ components: z44.array(ComponentHandle).length(2),
1707
1864
  options: BooleanOptions.optional()
1708
1865
  });
1709
1866
 
1710
1867
  // src/api/design/transform/index.ts
1711
- import * as z40 from "zod";
1868
+ import * as z45 from "zod";
1712
1869
  var PluginDesignTransformApi = class {
1713
1870
  constructor() {
1714
1871
  }
1715
1872
  };
1716
- var PluginDesignMoveArgs = z40.object({
1717
- components: z40.array(ComponentHandle).min(1),
1873
+ var PluginDesignMoveArgs = z45.object({
1874
+ components: z45.array(ComponentHandle).min(1),
1718
1875
  displacement: Vec3Handle,
1719
- is2D: z40.boolean().optional(),
1720
- trackParentChange: z40.boolean().optional()
1876
+ is2D: z45.boolean().optional(),
1877
+ trackParentChange: z45.boolean().optional()
1721
1878
  });
1722
- var PluginDesignRotateArgs = z40.object({
1723
- components: z40.array(ComponentHandle).min(1),
1724
- angleInDegrees: z40.number(),
1879
+ var PluginDesignRotateArgs = z45.object({
1880
+ components: z45.array(ComponentHandle).min(1),
1881
+ angleInDegrees: z45.number(),
1725
1882
  axis: Vec3Handle.optional(),
1726
- is2D: z40.boolean().optional()
1883
+ is2D: z45.boolean().optional()
1727
1884
  });
1728
1885
 
1729
1886
  // src/api/design/edit/index.ts
1730
- import * as z41 from "zod";
1887
+ import * as z46 from "zod";
1731
1888
  var PluginDesignEditApi = class {
1732
1889
  constructor() {
1733
1890
  }
1734
1891
  };
1735
- var PluginDesignOffsetSplitArgs = z41.object({
1892
+ var PluginDesignOffsetSplitArgs = z46.object({
1736
1893
  component: ComponentHandle,
1737
- offsetDistance: z41.number(),
1894
+ offsetDistance: z46.number(),
1738
1895
  profilePickPoint: Vec3Handle.optional()
1739
1896
  });
1740
1897
 
1741
1898
  // src/api/design/update/index.ts
1742
- import * as z42 from "zod";
1743
- var PluginSpacePropertyUpdates = z42.object({
1744
- room_type: z42.string().optional(),
1899
+ import * as z47 from "zod";
1900
+ var PluginSpacePropertyUpdates = z47.object({
1901
+ room_type: z47.string().optional(),
1745
1902
  massType: PluginMassType.optional(),
1746
1903
  spaceType: PluginSpaceType.optional(),
1747
1904
  areaClass: PluginAreaClass.optional(),
1748
1905
  departmentId: PluginDepartmentId.optional()
1749
1906
  });
1750
- var PluginSpaceGeometryUpdate = z42.object({
1907
+ var PluginSpaceGeometryUpdate = z47.object({
1751
1908
  profile: ProfileHandle,
1752
- extrudeHeight: z42.number()
1909
+ extrudeHeight: z47.number()
1753
1910
  });
1754
- var PluginUpdateSpaceItem = z42.object({
1911
+ var PluginUpdateSpaceItem = z47.object({
1755
1912
  space: ComponentHandle,
1756
1913
  properties: PluginSpacePropertyUpdates.optional(),
1757
1914
  geometry: PluginSpaceGeometryUpdate.optional()
@@ -1768,37 +1925,37 @@ var PluginDesignApi = class {
1768
1925
  };
1769
1926
 
1770
1927
  // src/api/entity/buildableEnvelope.ts
1771
- import * as z43 from "zod";
1928
+ import * as z48 from "zod";
1772
1929
  var PluginBuildableEnvelopeApi = class {
1773
1930
  constructor() {
1774
1931
  }
1775
1932
  };
1776
- var PluginBuildableEnvelopePolygonVertex = z43.union([
1777
- z43.object({ x: z43.number().finite(), z: z43.number().finite() }).strict(),
1778
- z43.tuple([z43.number().finite(), z43.number().finite()])
1933
+ var PluginBuildableEnvelopePolygonVertex = z48.union([
1934
+ z48.object({ x: z48.number().finite(), z: z48.number().finite() }).strict(),
1935
+ z48.tuple([z48.number().finite(), z48.number().finite()])
1779
1936
  ]);
1780
- var PluginBuildableEnvelopeVerticalCap = z43.discriminatedUnion("kind", [
1781
- z43.object({
1782
- kind: z43.literal("max_height"),
1783
- maxHeight: z43.number().finite().positive()
1937
+ var PluginBuildableEnvelopeVerticalCap = z48.discriminatedUnion("kind", [
1938
+ z48.object({
1939
+ kind: z48.literal("max_height"),
1940
+ maxHeight: z48.number().finite().positive()
1784
1941
  }).strict(),
1785
- z43.object({
1786
- kind: z43.literal("max_floors"),
1787
- maxFloors: z43.number().finite().int().positive()
1942
+ z48.object({
1943
+ kind: z48.literal("max_floors"),
1944
+ maxFloors: z48.number().finite().int().positive()
1788
1945
  }).strict()
1789
1946
  ]);
1790
- var PluginBuildableEnvelopeSetbackTier = z43.object({
1791
- aboveHeight: z43.number().finite().nonnegative(),
1792
- front: z43.number().finite().nonnegative(),
1793
- side: z43.number().finite().nonnegative(),
1794
- rear: z43.number().finite().nonnegative()
1947
+ var PluginBuildableEnvelopeSetbackTier = z48.object({
1948
+ aboveHeight: z48.number().finite().nonnegative(),
1949
+ front: z48.number().finite().nonnegative(),
1950
+ side: z48.number().finite().nonnegative(),
1951
+ rear: z48.number().finite().nonnegative()
1795
1952
  }).strict();
1796
1953
  function refineSetbackTiers(args, ctx) {
1797
1954
  const tiers = args.setbacks;
1798
1955
  if (tiers.length === 0) return;
1799
1956
  if (tiers[0].aboveHeight !== 0) {
1800
1957
  ctx.addIssue({
1801
- code: z43.ZodIssueCode.custom,
1958
+ code: z48.ZodIssueCode.custom,
1802
1959
  path: ["setbacks", 0, "aboveHeight"],
1803
1960
  message: "Ground tier required: setbacks[0].aboveHeight must be 0."
1804
1961
  });
@@ -1806,75 +1963,75 @@ function refineSetbackTiers(args, ctx) {
1806
1963
  for (let i = 1; i < tiers.length; i++) {
1807
1964
  if (!(tiers[i].aboveHeight > tiers[i - 1].aboveHeight)) {
1808
1965
  ctx.addIssue({
1809
- code: z43.ZodIssueCode.custom,
1966
+ code: z48.ZodIssueCode.custom,
1810
1967
  path: ["setbacks", i, "aboveHeight"],
1811
1968
  message: "Setback tiers must be ordered by strictly increasing aboveHeight."
1812
1969
  });
1813
1970
  }
1814
1971
  }
1815
1972
  }
1816
- var PluginBuildableEnvelopeCreateArgs = z43.object({
1817
- sitePolygon: z43.array(PluginBuildableEnvelopePolygonVertex).min(3),
1818
- lengthUnit: z43.union([z43.literal("ft"), z43.literal("m")]),
1819
- setbacks: z43.array(PluginBuildableEnvelopeSetbackTier).min(1),
1973
+ var PluginBuildableEnvelopeCreateArgs = z48.object({
1974
+ sitePolygon: z48.array(PluginBuildableEnvelopePolygonVertex).min(3),
1975
+ lengthUnit: z48.union([z48.literal("ft"), z48.literal("m")]),
1976
+ setbacks: z48.array(PluginBuildableEnvelopeSetbackTier).min(1),
1820
1977
  verticalCap: PluginBuildableEnvelopeVerticalCap,
1821
- floorToFloor: z43.number().finite().positive(),
1822
- farRatio: z43.number().finite().positive().optional(),
1823
- lotCoverageMaxPct: z43.number().finite().min(0).max(100).optional()
1978
+ floorToFloor: z48.number().finite().positive(),
1979
+ farRatio: z48.number().finite().positive().optional(),
1980
+ lotCoverageMaxPct: z48.number().finite().min(0).max(100).optional()
1824
1981
  }).strict().superRefine(refineSetbackTiers);
1825
- var PluginBuildableEnvelopeCreateResult = z43.object({
1826
- buildableEnvelopeId: z43.string().min(1)
1982
+ var PluginBuildableEnvelopeCreateResult = z48.object({
1983
+ buildableEnvelopeId: z48.string().min(1)
1827
1984
  }).strict();
1828
- var PluginBuildableEnvelopeUpdateArgs = z43.object({
1829
- buildableEnvelopeId: z43.string().min(1),
1830
- sitePolygon: z43.array(PluginBuildableEnvelopePolygonVertex).min(3),
1831
- lengthUnit: z43.union([z43.literal("ft"), z43.literal("m")]),
1832
- setbacks: z43.array(PluginBuildableEnvelopeSetbackTier).min(1),
1985
+ var PluginBuildableEnvelopeUpdateArgs = z48.object({
1986
+ buildableEnvelopeId: z48.string().min(1),
1987
+ sitePolygon: z48.array(PluginBuildableEnvelopePolygonVertex).min(3),
1988
+ lengthUnit: z48.union([z48.literal("ft"), z48.literal("m")]),
1989
+ setbacks: z48.array(PluginBuildableEnvelopeSetbackTier).min(1),
1833
1990
  verticalCap: PluginBuildableEnvelopeVerticalCap,
1834
- floorToFloor: z43.number().finite().positive(),
1835
- farRatio: z43.number().finite().positive().optional(),
1836
- lotCoverageMaxPct: z43.number().finite().min(0).max(100).optional()
1991
+ floorToFloor: z48.number().finite().positive(),
1992
+ farRatio: z48.number().finite().positive().optional(),
1993
+ lotCoverageMaxPct: z48.number().finite().min(0).max(100).optional()
1837
1994
  }).strict().superRefine(refineSetbackTiers);
1838
- var PluginBuildableEnvelopeUpdateResult = z43.object({
1839
- buildableEnvelopeId: z43.string().min(1)
1995
+ var PluginBuildableEnvelopeUpdateResult = z48.object({
1996
+ buildableEnvelopeId: z48.string().min(1)
1840
1997
  }).strict();
1841
1998
 
1842
1999
  // src/api/entity/referenceLine.ts
1843
- import * as z44 from "zod";
2000
+ import * as z49 from "zod";
1844
2001
  var PluginReferenceLineApi = class {
1845
2002
  constructor() {
1846
2003
  }
1847
2004
  };
1848
- var PluginReferenceLineCreateMultiArgs = z44.object({
2005
+ var PluginReferenceLineCreateMultiArgs = z49.object({
1849
2006
  profile: ProfileHandle
1850
2007
  });
1851
- var PluginReferenceLineCreateMultiResult = z44.object({
1852
- referenceLineIds: z44.array(z44.string())
2008
+ var PluginReferenceLineCreateMultiResult = z49.object({
2009
+ referenceLineIds: z49.array(z49.string())
1853
2010
  });
1854
- var PluginReferenceLineGetProperty = z44.enum([
2011
+ var PluginReferenceLineGetProperty = z49.enum([
1855
2012
  "curve"
1856
2013
  ]);
1857
- var PluginReferenceLineGetArgs = z44.object({
1858
- referenceLineId: z44.string(),
1859
- properties: z44.array(PluginReferenceLineGetProperty)
2014
+ var PluginReferenceLineGetArgs = z49.object({
2015
+ referenceLineId: z49.string(),
2016
+ properties: z49.array(PluginReferenceLineGetProperty)
1860
2017
  });
1861
- var PluginReferenceLineGetResult = z44.object({
2018
+ var PluginReferenceLineGetResult = z49.object({
1862
2019
  curve: CurveHandle
1863
2020
  }).partial();
1864
- var PluginReferenceLineGetAllResult = z44.object({
1865
- referenceLineIds: z44.array(z44.string())
2021
+ var PluginReferenceLineGetAllResult = z49.object({
2022
+ referenceLineIds: z49.array(z49.string())
1866
2023
  });
1867
- var PluginReferenceLineDeleteArgs = z44.object({
1868
- referenceLineId: z44.string()
2024
+ var PluginReferenceLineDeleteArgs = z49.object({
2025
+ referenceLineId: z49.string()
1869
2026
  });
1870
2027
 
1871
2028
  // src/api/entity/story.ts
1872
- import * as z45 from "zod";
2029
+ import * as z50 from "zod";
1873
2030
  var PluginStoryApi = class {
1874
2031
  constructor() {
1875
2032
  }
1876
2033
  };
1877
- var PluginStoryGetProperty = z45.enum([
2034
+ var PluginStoryGetProperty = z50.enum([
1878
2035
  "value",
1879
2036
  "id",
1880
2037
  "name",
@@ -1884,44 +2041,44 @@ var PluginStoryGetProperty = z45.enum([
1884
2041
  "spacesCount",
1885
2042
  "totalArea"
1886
2043
  ]);
1887
- var PluginStoryGetArgs = z45.object({
1888
- storyValue: z45.number().int(),
1889
- properties: z45.array(PluginStoryGetProperty)
1890
- });
1891
- var PluginStoryGetResult = z45.object({
1892
- value: z45.number(),
1893
- id: z45.string(),
1894
- name: z45.string(),
1895
- height: z45.number(),
1896
- base: z45.number(),
1897
- hidden: z45.boolean(),
1898
- spacesCount: z45.number(),
1899
- totalArea: z45.number()
2044
+ var PluginStoryGetArgs = z50.object({
2045
+ storyValue: z50.number().int(),
2046
+ properties: z50.array(PluginStoryGetProperty)
2047
+ });
2048
+ var PluginStoryGetResult = z50.object({
2049
+ value: z50.number(),
2050
+ id: z50.string(),
2051
+ name: z50.string(),
2052
+ height: z50.number(),
2053
+ base: z50.number(),
2054
+ hidden: z50.boolean(),
2055
+ spacesCount: z50.number(),
2056
+ totalArea: z50.number()
1900
2057
  }).partial();
1901
- var PluginStoryGetAllResult = z45.object({
1902
- stories: z45.array(
1903
- z45.object({
1904
- value: z45.number(),
1905
- id: z45.string(),
1906
- name: z45.string()
2058
+ var PluginStoryGetAllResult = z50.object({
2059
+ stories: z50.array(
2060
+ z50.object({
2061
+ value: z50.number(),
2062
+ id: z50.string(),
2063
+ name: z50.string()
1907
2064
  })
1908
2065
  )
1909
2066
  });
1910
- var PluginStoryCreateArgs = z45.object({
1911
- storyValue: z45.number().int(),
1912
- height: z45.number().optional()
2067
+ var PluginStoryCreateArgs = z50.object({
2068
+ storyValue: z50.number().int(),
2069
+ height: z50.number().optional()
1913
2070
  });
1914
- var PluginStoryCreateResult = z45.object({
1915
- storyId: z45.string(),
1916
- storyValue: z45.number()
2071
+ var PluginStoryCreateResult = z50.object({
2072
+ storyId: z50.string(),
2073
+ storyValue: z50.number()
1917
2074
  });
1918
- var PluginStoryUpdateArgs = z45.object({
1919
- storyValue: z45.number().int(),
1920
- height: z45.number()
2075
+ var PluginStoryUpdateArgs = z50.object({
2076
+ storyValue: z50.number().int(),
2077
+ height: z50.number()
1921
2078
  });
1922
- var PluginStoryUpdateResult = z45.object({
1923
- storyValue: z45.number(),
1924
- height: z45.number()
2079
+ var PluginStoryUpdateResult = z50.object({
2080
+ storyValue: z50.number(),
2081
+ height: z50.number()
1925
2082
  });
1926
2083
 
1927
2084
  // src/api/entity/index.ts
@@ -1931,27 +2088,27 @@ var PluginEntityApi = class {
1931
2088
  };
1932
2089
 
1933
2090
  // src/api/program/departments.ts
1934
- import * as z47 from "zod";
2091
+ import * as z52 from "zod";
1935
2092
 
1936
2093
  // src/api/program/metrics.ts
1937
- import * as z46 from "zod";
2094
+ import * as z51 from "zod";
1938
2095
  var PluginProgramMetricsApi = class {
1939
2096
  constructor() {
1940
2097
  }
1941
2098
  };
1942
- var PluginAreaUnit = z46.enum(["ft2", "m2"]);
1943
- var PluginProgramDepartmentMetric = z46.object({
1944
- departmentId: z46.string(),
1945
- name: z46.string(),
1946
- targetArea: z46.number().nullable(),
1947
- allocatedArea: z46.number()
2099
+ var PluginAreaUnit = z51.enum(["ft2", "m2"]);
2100
+ var PluginProgramDepartmentMetric = z51.object({
2101
+ departmentId: z51.string(),
2102
+ name: z51.string(),
2103
+ targetArea: z51.number().nullable(),
2104
+ allocatedArea: z51.number()
1948
2105
  });
1949
- var PluginProgramMetricsSummary = z46.object({
2106
+ var PluginProgramMetricsSummary = z51.object({
1950
2107
  units: PluginAreaUnit,
1951
- totalTargetArea: z46.number(),
1952
- totalAllocatedArea: z46.number(),
1953
- unassignedArea: z46.number(),
1954
- departments: z46.array(PluginProgramDepartmentMetric)
2108
+ totalTargetArea: z51.number(),
2109
+ totalAllocatedArea: z51.number(),
2110
+ unassignedArea: z51.number(),
2111
+ departments: z51.array(PluginProgramDepartmentMetric)
1955
2112
  }).refine(
1956
2113
  (s) => {
1957
2114
  const summed = s.unassignedArea + s.departments.reduce((acc, d) => acc + d.allocatedArea, 0);
@@ -1968,18 +2125,18 @@ var PluginProgramDepartmentsApi = class {
1968
2125
  constructor() {
1969
2126
  }
1970
2127
  };
1971
- var PluginProgramDepartment = z47.object({
1972
- id: z47.string(),
1973
- name: z47.string(),
1974
- color: z47.string(),
1975
- targetArea: z47.number().nullable()
2128
+ var PluginProgramDepartment = z52.object({
2129
+ id: z52.string(),
2130
+ name: z52.string(),
2131
+ color: z52.string(),
2132
+ targetArea: z52.number().nullable()
1976
2133
  });
1977
- var PluginProgramDepartmentsListResult = z47.object({
2134
+ var PluginProgramDepartmentsListResult = z52.object({
1978
2135
  units: PluginAreaUnit,
1979
- departments: z47.array(PluginProgramDepartment)
2136
+ departments: z52.array(PluginProgramDepartment)
1980
2137
  });
1981
- var PluginProgramDepartmentsGetArgs = z47.object({
1982
- departmentId: z47.string()
2138
+ var PluginProgramDepartmentsGetArgs = z52.object({
2139
+ departmentId: z52.string()
1983
2140
  });
1984
2141
  var PluginProgramDepartmentsGetResult = PluginProgramDepartment.extend(
1985
2142
  {
@@ -1989,81 +2146,81 @@ var PluginProgramDepartmentsGetResult = PluginProgramDepartment.extend(
1989
2146
  var PluginProgramDepartmentRecord = PluginProgramDepartment.extend({
1990
2147
  units: PluginAreaUnit
1991
2148
  });
1992
- var PluginProgramDepartmentsCreateArgs = z47.object({
1993
- name: z47.string(),
1994
- color: z47.string()
2149
+ var PluginProgramDepartmentsCreateArgs = z52.object({
2150
+ name: z52.string(),
2151
+ color: z52.string()
1995
2152
  });
1996
- var PluginProgramDepartmentsCreateResult = z47.object({
1997
- departmentId: z47.string()
2153
+ var PluginProgramDepartmentsCreateResult = z52.object({
2154
+ departmentId: z52.string()
1998
2155
  });
1999
- var PluginProgramDepartmentsUpdateArgs = z47.object({
2000
- departmentId: z47.string(),
2001
- name: z47.string().optional(),
2002
- color: z47.string().optional()
2156
+ var PluginProgramDepartmentsUpdateArgs = z52.object({
2157
+ departmentId: z52.string(),
2158
+ name: z52.string().optional(),
2159
+ color: z52.string().optional()
2003
2160
  });
2004
2161
  var PluginProgramDepartmentsUpdateResult = PluginProgramDepartmentRecord;
2005
- var PluginProgramDepartmentsAssignArgs = z47.object({
2006
- departmentId: z47.string(),
2007
- spaceIds: z47.array(ComponentHandle).min(1)
2162
+ var PluginProgramDepartmentsAssignArgs = z52.object({
2163
+ departmentId: z52.string(),
2164
+ spaceIds: z52.array(ComponentHandle).min(1)
2008
2165
  });
2009
- var PluginProgramDepartmentsAssignResult = z47.object({
2010
- departmentId: z47.string(),
2011
- spaceIds: z47.array(ComponentHandle)
2166
+ var PluginProgramDepartmentsAssignResult = z52.object({
2167
+ departmentId: z52.string(),
2168
+ spaceIds: z52.array(ComponentHandle)
2012
2169
  });
2013
- var PluginProgramDepartmentsUnassignArgs = z47.object({
2014
- spaceIds: z47.array(ComponentHandle).min(1)
2170
+ var PluginProgramDepartmentsUnassignArgs = z52.object({
2171
+ spaceIds: z52.array(ComponentHandle).min(1)
2015
2172
  });
2016
- var PluginProgramDepartmentsUnassignResult = z47.object({
2017
- spaceIds: z47.array(ComponentHandle)
2173
+ var PluginProgramDepartmentsUnassignResult = z52.object({
2174
+ spaceIds: z52.array(ComponentHandle)
2018
2175
  });
2019
- var PluginProgramDepartmentsSetTargetAreaArgs = z47.object({
2020
- departmentId: z47.string(),
2021
- targetArea: z47.number(),
2176
+ var PluginProgramDepartmentsSetTargetAreaArgs = z52.object({
2177
+ departmentId: z52.string(),
2178
+ targetArea: z52.number(),
2022
2179
  units: PluginAreaUnit.optional()
2023
2180
  });
2024
2181
  var PluginProgramDepartmentsSetTargetAreaResult = PluginProgramDepartmentRecord;
2025
- var PluginProgramDepartmentsDeleteArgs = z47.object({
2026
- departmentId: z47.string()
2182
+ var PluginProgramDepartmentsDeleteArgs = z52.object({
2183
+ departmentId: z52.string()
2027
2184
  });
2028
- var PluginProgramDepartmentsDeleteResult = z47.object({
2029
- departmentId: z47.string(),
2030
- reassignedSpaceIds: z47.array(ComponentHandle)
2185
+ var PluginProgramDepartmentsDeleteResult = z52.object({
2186
+ departmentId: z52.string(),
2187
+ reassignedSpaceIds: z52.array(ComponentHandle)
2031
2188
  });
2032
2189
 
2033
2190
  // src/api/program/adjacency.ts
2034
- import * as z48 from "zod";
2191
+ import * as z53 from "zod";
2035
2192
  var PluginProgramAdjacencyApi = class {
2036
2193
  constructor() {
2037
2194
  }
2038
2195
  };
2039
- var PluginAdjacencyLevel = z48.enum(["department", "space"]);
2040
- var PluginProgramAdjacencyGetMatrixArgs = z48.object({
2196
+ var PluginAdjacencyLevel = z53.enum(["department", "space"]);
2197
+ var PluginProgramAdjacencyGetMatrixArgs = z53.object({
2041
2198
  level: PluginAdjacencyLevel,
2042
- ids: z48.array(z48.string()).optional()
2199
+ ids: z53.array(z53.string()).optional()
2043
2200
  });
2044
- var PluginProgramAdjacencyGetMatrixResult = z48.object({
2045
- ids: z48.array(z48.string()),
2046
- departmentIds: z48.array(z48.string().nullable()).optional(),
2047
- matrix: z48.array(z48.array(z48.number()))
2201
+ var PluginProgramAdjacencyGetMatrixResult = z53.object({
2202
+ ids: z53.array(z53.string()),
2203
+ departmentIds: z53.array(z53.string().nullable()).optional(),
2204
+ matrix: z53.array(z53.array(z53.number()))
2048
2205
  });
2049
- var PluginProgramAdjacencyComputeResult = z48.object({
2050
- success: z48.boolean(),
2051
- error: z48.string().optional()
2206
+ var PluginProgramAdjacencyComputeResult = z53.object({
2207
+ success: z53.boolean(),
2208
+ error: z53.string().optional()
2052
2209
  });
2053
2210
 
2054
2211
  // src/api/program/layout.ts
2055
- import * as z49 from "zod";
2212
+ import * as z54 from "zod";
2056
2213
  var PluginProgramLayoutApi = class {
2057
2214
  constructor() {
2058
2215
  }
2059
2216
  };
2060
- var PluginProgramLayoutRunResult = z49.object({
2061
- success: z49.boolean(),
2062
- error: z49.string().optional()
2217
+ var PluginProgramLayoutRunResult = z54.object({
2218
+ success: z54.boolean(),
2219
+ error: z54.string().optional()
2063
2220
  });
2064
2221
 
2065
2222
  // src/api/program/spreadsheet.ts
2066
- import * as z50 from "zod";
2223
+ import * as z55 from "zod";
2067
2224
  var PluginProgramSpreadsheetApi = class {
2068
2225
  constructor() {
2069
2226
  }
@@ -2076,84 +2233,84 @@ var PluginProgramSpreadsheetBindingsApi = class {
2076
2233
  constructor() {
2077
2234
  }
2078
2235
  };
2079
- var PluginSpreadsheetCell = z50.union([
2080
- z50.string(),
2081
- z50.number(),
2082
- z50.boolean(),
2083
- z50.null()
2236
+ var PluginSpreadsheetCell = z55.union([
2237
+ z55.string(),
2238
+ z55.number(),
2239
+ z55.boolean(),
2240
+ z55.null()
2084
2241
  ]);
2085
- var PluginSpreadsheetAlign = z50.enum(["left", "center", "right"]);
2086
- var PluginSpreadsheetColumn = z50.object({
2087
- key: z50.string(),
2088
- header: z50.string(),
2089
- width: z50.number().optional(),
2090
- format: z50.string().optional(),
2242
+ var PluginSpreadsheetAlign = z55.enum(["left", "center", "right"]);
2243
+ var PluginSpreadsheetColumn = z55.object({
2244
+ key: z55.string(),
2245
+ header: z55.string(),
2246
+ width: z55.number().optional(),
2247
+ format: z55.string().optional(),
2091
2248
  align: PluginSpreadsheetAlign.optional()
2092
2249
  });
2093
- var PluginSpreadsheetTotal = z50.object({
2094
- column: z50.string(),
2095
- fn: z50.enum(["sum", "avg", "count", "min", "max"]),
2096
- label: z50.string().optional()
2097
- });
2098
- var PluginProgramSpreadsheetRenderArgs = z50.object({
2099
- sheetName: z50.string(),
2100
- columns: z50.array(PluginSpreadsheetColumn),
2101
- rows: z50.array(z50.record(z50.string(), PluginSpreadsheetCell)),
2102
- title: z50.string().optional(),
2103
- startCell: z50.string().optional(),
2104
- whenExists: z50.enum(["replace", "error"]).optional(),
2105
- asTable: z50.boolean().optional(),
2106
- freezeHeader: z50.boolean().optional(),
2107
- totals: z50.array(PluginSpreadsheetTotal).optional()
2108
- });
2109
- var PluginProgramSpreadsheetRenderResult = z50.object({
2110
- sheetName: z50.string(),
2111
- range: z50.string(),
2112
- headerRange: z50.string(),
2113
- rowCount: z50.number(),
2114
- colCount: z50.number(),
2115
- tableName: z50.string().nullable(),
2116
- replaced: z50.boolean()
2117
- });
2118
- var PluginProgramSpreadsheetRenderDatasetArgs = z50.object({
2119
- sheetName: z50.string().optional(),
2120
- title: z50.string().optional(),
2121
- filter: z50.string().optional()
2122
- });
2123
- var PluginSpreadsheetExportFormat = z50.enum(["xlsx", "pdf", "csv"]);
2124
- var PluginProgramSpreadsheetExportArgs = z50.object({
2250
+ var PluginSpreadsheetTotal = z55.object({
2251
+ column: z55.string(),
2252
+ fn: z55.enum(["sum", "avg", "count", "min", "max"]),
2253
+ label: z55.string().optional()
2254
+ });
2255
+ var PluginProgramSpreadsheetRenderArgs = z55.object({
2256
+ sheetName: z55.string(),
2257
+ columns: z55.array(PluginSpreadsheetColumn),
2258
+ rows: z55.array(z55.record(z55.string(), PluginSpreadsheetCell)),
2259
+ title: z55.string().optional(),
2260
+ startCell: z55.string().optional(),
2261
+ whenExists: z55.enum(["replace", "error"]).optional(),
2262
+ asTable: z55.boolean().optional(),
2263
+ freezeHeader: z55.boolean().optional(),
2264
+ totals: z55.array(PluginSpreadsheetTotal).optional()
2265
+ });
2266
+ var PluginProgramSpreadsheetRenderResult = z55.object({
2267
+ sheetName: z55.string(),
2268
+ range: z55.string(),
2269
+ headerRange: z55.string(),
2270
+ rowCount: z55.number(),
2271
+ colCount: z55.number(),
2272
+ tableName: z55.string().nullable(),
2273
+ replaced: z55.boolean()
2274
+ });
2275
+ var PluginProgramSpreadsheetRenderDatasetArgs = z55.object({
2276
+ sheetName: z55.string().optional(),
2277
+ title: z55.string().optional(),
2278
+ filter: z55.string().optional()
2279
+ });
2280
+ var PluginSpreadsheetExportFormat = z55.enum(["xlsx", "pdf", "csv"]);
2281
+ var PluginProgramSpreadsheetExportArgs = z55.object({
2125
2282
  format: PluginSpreadsheetExportFormat,
2126
- fileName: z50.string().optional()
2283
+ fileName: z55.string().optional()
2127
2284
  });
2128
- var PluginProgramSpreadsheetExportResult = z50.object({
2285
+ var PluginProgramSpreadsheetExportResult = z55.object({
2129
2286
  format: PluginSpreadsheetExportFormat,
2130
- fileName: z50.string(),
2131
- mimeType: z50.string(),
2132
- dataBase64: z50.string()
2287
+ fileName: z55.string(),
2288
+ mimeType: z55.string(),
2289
+ dataBase64: z55.string()
2133
2290
  });
2134
- var PluginSpreadsheetSheetInfo = z50.object({
2135
- name: z50.string(),
2136
- index: z50.number(),
2137
- visible: z50.boolean(),
2138
- rowCount: z50.number(),
2139
- colCount: z50.number()
2140
- });
2141
- var PluginProgramSpreadsheetListSheetsResult = z50.object({
2142
- sheets: z50.array(PluginSpreadsheetSheetInfo),
2143
- activeSheet: z50.string().nullable()
2144
- });
2145
- var PluginProgramSpreadsheetGetSheetDataArgs = z50.object({
2146
- sheetName: z50.string(),
2147
- range: z50.string().optional(),
2148
- header: z50.boolean().optional()
2149
- });
2150
- var PluginProgramSpreadsheetGetSheetDataResult = z50.object({
2151
- sheetName: z50.string(),
2152
- range: z50.string(),
2153
- values: z50.array(z50.array(PluginSpreadsheetCell)),
2154
- records: z50.array(z50.record(z50.string(), PluginSpreadsheetCell)).optional()
2155
- });
2156
- var PluginSpreadsheetChartType = z50.enum([
2291
+ var PluginSpreadsheetSheetInfo = z55.object({
2292
+ name: z55.string(),
2293
+ index: z55.number(),
2294
+ visible: z55.boolean(),
2295
+ rowCount: z55.number(),
2296
+ colCount: z55.number()
2297
+ });
2298
+ var PluginProgramSpreadsheetListSheetsResult = z55.object({
2299
+ sheets: z55.array(PluginSpreadsheetSheetInfo),
2300
+ activeSheet: z55.string().nullable()
2301
+ });
2302
+ var PluginProgramSpreadsheetGetSheetDataArgs = z55.object({
2303
+ sheetName: z55.string(),
2304
+ range: z55.string().optional(),
2305
+ header: z55.boolean().optional()
2306
+ });
2307
+ var PluginProgramSpreadsheetGetSheetDataResult = z55.object({
2308
+ sheetName: z55.string(),
2309
+ range: z55.string(),
2310
+ values: z55.array(z55.array(PluginSpreadsheetCell)),
2311
+ records: z55.array(z55.record(z55.string(), PluginSpreadsheetCell)).optional()
2312
+ });
2313
+ var PluginSpreadsheetChartType = z55.enum([
2157
2314
  "column",
2158
2315
  "bar",
2159
2316
  "line",
@@ -2161,249 +2318,249 @@ var PluginSpreadsheetChartType = z50.enum([
2161
2318
  "area",
2162
2319
  "scatter"
2163
2320
  ]);
2164
- var PluginProgramSpreadsheetAddChartArgs = z50.object({
2165
- sheetName: z50.string(),
2321
+ var PluginProgramSpreadsheetAddChartArgs = z55.object({
2322
+ sheetName: z55.string(),
2166
2323
  chartType: PluginSpreadsheetChartType,
2167
- dataRange: z50.string(),
2168
- title: z50.string().optional(),
2169
- position: z50.object({ x: z50.number(), y: z50.number() }).optional(),
2170
- size: z50.object({ width: z50.number(), height: z50.number() }).optional()
2171
- });
2172
- var PluginProgramSpreadsheetAddChartResult = z50.object({
2173
- chartId: z50.string()
2174
- });
2175
- var PluginProgramSpreadsheetHighlightCellsArgs = z50.object({
2176
- sheetName: z50.string(),
2177
- range: z50.string(),
2178
- color: z50.string().optional(),
2179
- bold: z50.boolean().optional()
2180
- });
2181
- var PluginProgramSpreadsheetHighlightCellsResult = z50.object({
2182
- sheetName: z50.string(),
2183
- range: z50.string()
2184
- });
2185
- var PluginSpreadsheetProgramRow = z50.object({
2186
- departmentId: z50.string(),
2187
- name: z50.string(),
2188
- targetArea: z50.number().nullable(),
2189
- allocatedArea: z50.number(),
2190
- variance: z50.number().nullable()
2324
+ dataRange: z55.string(),
2325
+ title: z55.string().optional(),
2326
+ position: z55.object({ x: z55.number(), y: z55.number() }).optional(),
2327
+ size: z55.object({ width: z55.number(), height: z55.number() }).optional()
2328
+ });
2329
+ var PluginProgramSpreadsheetAddChartResult = z55.object({
2330
+ chartId: z55.string()
2331
+ });
2332
+ var PluginProgramSpreadsheetHighlightCellsArgs = z55.object({
2333
+ sheetName: z55.string(),
2334
+ range: z55.string(),
2335
+ color: z55.string().optional(),
2336
+ bold: z55.boolean().optional()
2337
+ });
2338
+ var PluginProgramSpreadsheetHighlightCellsResult = z55.object({
2339
+ sheetName: z55.string(),
2340
+ range: z55.string()
2341
+ });
2342
+ var PluginSpreadsheetProgramRow = z55.object({
2343
+ departmentId: z55.string(),
2344
+ name: z55.string(),
2345
+ targetArea: z55.number().nullable(),
2346
+ allocatedArea: z55.number(),
2347
+ variance: z55.number().nullable()
2191
2348
  });
2192
- var PluginProgramSpreadsheetGetProgramResult = z50.object({
2349
+ var PluginProgramSpreadsheetGetProgramResult = z55.object({
2193
2350
  units: PluginAreaUnit,
2194
- rows: z50.array(PluginSpreadsheetProgramRow),
2195
- totalTargetArea: z50.number(),
2196
- totalAllocatedArea: z50.number(),
2197
- generatedAt: z50.string()
2198
- });
2199
- var PluginSpreadsheetTakeoffRow = z50.object({
2200
- objectType: z50.string(),
2201
- category: z50.string(),
2202
- family: z50.string(),
2203
- quantity: z50.number(),
2204
- unit: z50.string()
2205
- });
2206
- var PluginProgramSpreadsheetGetTakeoffResult = z50.object({
2207
- rows: z50.array(PluginSpreadsheetTakeoffRow),
2208
- rowCount: z50.number(),
2209
- generatedAt: z50.string()
2210
- });
2211
- var PluginSpreadsheetWhenExists = z50.enum(["reuse", "replace", "error"]);
2212
- var PluginProgramSpreadsheetCreateSheetArgs = z50.object({
2213
- name: z50.string(),
2351
+ rows: z55.array(PluginSpreadsheetProgramRow),
2352
+ totalTargetArea: z55.number(),
2353
+ totalAllocatedArea: z55.number(),
2354
+ generatedAt: z55.string()
2355
+ });
2356
+ var PluginSpreadsheetTakeoffRow = z55.object({
2357
+ objectType: z55.string(),
2358
+ category: z55.string(),
2359
+ family: z55.string(),
2360
+ quantity: z55.number(),
2361
+ unit: z55.string()
2362
+ });
2363
+ var PluginProgramSpreadsheetGetTakeoffResult = z55.object({
2364
+ rows: z55.array(PluginSpreadsheetTakeoffRow),
2365
+ rowCount: z55.number(),
2366
+ generatedAt: z55.string()
2367
+ });
2368
+ var PluginSpreadsheetWhenExists = z55.enum(["reuse", "replace", "error"]);
2369
+ var PluginProgramSpreadsheetCreateSheetArgs = z55.object({
2370
+ name: z55.string(),
2214
2371
  whenExists: PluginSpreadsheetWhenExists.optional()
2215
2372
  });
2216
- var PluginProgramSpreadsheetCreateSheetResult = z50.object({
2217
- sheetName: z50.string(),
2218
- replaced: z50.boolean(),
2219
- sheetIndex: z50.number().nullable()
2220
- });
2221
- var PluginProgramSpreadsheetSetValuesArgs = z50.object({
2222
- sheetName: z50.string(),
2223
- values: z50.array(z50.array(PluginSpreadsheetCell)),
2224
- startCell: z50.string().optional()
2225
- });
2226
- var PluginProgramSpreadsheetSetValuesResult = z50.object({
2227
- sheetName: z50.string(),
2228
- startCell: z50.string(),
2229
- rowCount: z50.number(),
2230
- colCount: z50.number()
2231
- });
2232
- var PluginSpreadsheetFormula = z50.object({
2233
- cell: z50.string(),
2234
- formula: z50.string()
2235
- });
2236
- var PluginProgramSpreadsheetSetFormulasArgs = z50.object({
2237
- sheetName: z50.string(),
2238
- formulas: z50.array(PluginSpreadsheetFormula)
2239
- });
2240
- var PluginProgramSpreadsheetSetFormulasResult = z50.object({
2241
- sheetName: z50.string(),
2242
- count: z50.number()
2243
- });
2244
- var PluginSpreadsheetFontWeight = z50.enum(["normal", "bold"]);
2245
- var PluginSpreadsheetFontStyle = z50.enum(["normal", "italic"]);
2246
- var PluginSpreadsheetHorizontalAlign = z50.enum([
2373
+ var PluginProgramSpreadsheetCreateSheetResult = z55.object({
2374
+ sheetName: z55.string(),
2375
+ replaced: z55.boolean(),
2376
+ sheetIndex: z55.number().nullable()
2377
+ });
2378
+ var PluginProgramSpreadsheetSetValuesArgs = z55.object({
2379
+ sheetName: z55.string(),
2380
+ values: z55.array(z55.array(PluginSpreadsheetCell)),
2381
+ startCell: z55.string().optional()
2382
+ });
2383
+ var PluginProgramSpreadsheetSetValuesResult = z55.object({
2384
+ sheetName: z55.string(),
2385
+ startCell: z55.string(),
2386
+ rowCount: z55.number(),
2387
+ colCount: z55.number()
2388
+ });
2389
+ var PluginSpreadsheetFormula = z55.object({
2390
+ cell: z55.string(),
2391
+ formula: z55.string()
2392
+ });
2393
+ var PluginProgramSpreadsheetSetFormulasArgs = z55.object({
2394
+ sheetName: z55.string(),
2395
+ formulas: z55.array(PluginSpreadsheetFormula)
2396
+ });
2397
+ var PluginProgramSpreadsheetSetFormulasResult = z55.object({
2398
+ sheetName: z55.string(),
2399
+ count: z55.number()
2400
+ });
2401
+ var PluginSpreadsheetFontWeight = z55.enum(["normal", "bold"]);
2402
+ var PluginSpreadsheetFontStyle = z55.enum(["normal", "italic"]);
2403
+ var PluginSpreadsheetHorizontalAlign = z55.enum([
2247
2404
  "left",
2248
2405
  "center",
2249
2406
  "right",
2250
2407
  "general"
2251
2408
  ]);
2252
- var PluginSpreadsheetVerticalAlign = z50.enum([
2409
+ var PluginSpreadsheetVerticalAlign = z55.enum([
2253
2410
  "top",
2254
2411
  "center",
2255
2412
  "bottom"
2256
2413
  ]);
2257
- var PluginSpreadsheetCellStyle = z50.object({
2258
- backColor: z50.string().optional(),
2259
- foreColor: z50.string().optional(),
2260
- font: z50.string().optional(),
2261
- fontFamily: z50.string().optional(),
2262
- fontSize: z50.number().optional(),
2414
+ var PluginSpreadsheetCellStyle = z55.object({
2415
+ backColor: z55.string().optional(),
2416
+ foreColor: z55.string().optional(),
2417
+ font: z55.string().optional(),
2418
+ fontFamily: z55.string().optional(),
2419
+ fontSize: z55.number().optional(),
2263
2420
  fontWeight: PluginSpreadsheetFontWeight.optional(),
2264
2421
  fontStyle: PluginSpreadsheetFontStyle.optional(),
2265
- formatter: z50.string().optional(),
2422
+ formatter: z55.string().optional(),
2266
2423
  horizontalAlign: PluginSpreadsheetHorizontalAlign.optional(),
2267
2424
  verticalAlign: PluginSpreadsheetVerticalAlign.optional()
2268
2425
  });
2269
- var PluginSpreadsheetRangeStyle = z50.object({
2270
- range: z50.string(),
2426
+ var PluginSpreadsheetRangeStyle = z55.object({
2427
+ range: z55.string(),
2271
2428
  style: PluginSpreadsheetCellStyle
2272
2429
  });
2273
- var PluginProgramSpreadsheetSetStylesArgs = z50.object({
2274
- sheetName: z50.string(),
2275
- ranges: z50.array(PluginSpreadsheetRangeStyle)
2430
+ var PluginProgramSpreadsheetSetStylesArgs = z55.object({
2431
+ sheetName: z55.string(),
2432
+ ranges: z55.array(PluginSpreadsheetRangeStyle)
2276
2433
  });
2277
- var PluginProgramSpreadsheetSetStylesResult = z50.object({
2278
- sheetName: z50.string(),
2279
- count: z50.number()
2434
+ var PluginProgramSpreadsheetSetStylesResult = z55.object({
2435
+ sheetName: z55.string(),
2436
+ count: z55.number()
2280
2437
  });
2281
- var PluginProgramSpreadsheetMergeCellsArgs = z50.object({
2282
- sheetName: z50.string(),
2283
- range: z50.string(),
2438
+ var PluginProgramSpreadsheetMergeCellsArgs = z55.object({
2439
+ sheetName: z55.string(),
2440
+ range: z55.string(),
2284
2441
  value: PluginSpreadsheetCell.optional()
2285
2442
  });
2286
- var PluginProgramSpreadsheetMergeCellsResult = z50.object({
2287
- sheetName: z50.string(),
2288
- range: z50.string()
2443
+ var PluginProgramSpreadsheetMergeCellsResult = z55.object({
2444
+ sheetName: z55.string(),
2445
+ range: z55.string()
2289
2446
  });
2290
- var PluginSpreadsheetConditionalRuleType = z50.enum(["dataBar"]);
2291
- var PluginSpreadsheetConditionalRule = z50.object({
2447
+ var PluginSpreadsheetConditionalRuleType = z55.enum(["dataBar"]);
2448
+ var PluginSpreadsheetConditionalRule = z55.object({
2292
2449
  type: PluginSpreadsheetConditionalRuleType,
2293
- color: z50.string().optional()
2450
+ color: z55.string().optional()
2294
2451
  });
2295
- var PluginProgramSpreadsheetAddConditionalFormattingArgs = z50.object({
2296
- sheetName: z50.string(),
2297
- range: z50.string(),
2452
+ var PluginProgramSpreadsheetAddConditionalFormattingArgs = z55.object({
2453
+ sheetName: z55.string(),
2454
+ range: z55.string(),
2298
2455
  rule: PluginSpreadsheetConditionalRule
2299
2456
  });
2300
- var PluginProgramSpreadsheetAddConditionalFormattingResult = z50.object({
2301
- sheetName: z50.string(),
2302
- range: z50.string(),
2303
- created: z50.boolean()
2457
+ var PluginProgramSpreadsheetAddConditionalFormattingResult = z55.object({
2458
+ sheetName: z55.string(),
2459
+ range: z55.string(),
2460
+ created: z55.boolean()
2304
2461
  });
2305
- var PluginProgramSpreadsheetRecalculateArgs = z50.object({
2306
- sheetName: z50.string().optional()
2462
+ var PluginProgramSpreadsheetRecalculateArgs = z55.object({
2463
+ sheetName: z55.string().optional()
2307
2464
  });
2308
- var PluginProgramSpreadsheetRecalculateResult = z50.object({
2309
- scope: z50.enum(["sheet", "workbook"]),
2310
- sheetName: z50.string().nullable()
2465
+ var PluginProgramSpreadsheetRecalculateResult = z55.object({
2466
+ scope: z55.enum(["sheet", "workbook"]),
2467
+ sheetName: z55.string().nullable()
2311
2468
  });
2312
- var PluginSpreadsheetTransactionMethod = z50.enum([
2469
+ var PluginSpreadsheetTransactionMethod = z55.enum([
2313
2470
  "createSheet",
2314
2471
  "setValues",
2315
2472
  "setFormulas",
2316
2473
  "setStyles",
2317
2474
  "mergeCells"
2318
2475
  ]);
2319
- var PluginSpreadsheetTransactionOp = z50.object({
2476
+ var PluginSpreadsheetTransactionOp = z55.object({
2320
2477
  method: PluginSpreadsheetTransactionMethod,
2321
- args: z50.unknown()
2478
+ args: z55.unknown()
2322
2479
  });
2323
- var PluginProgramSpreadsheetTransactionArgs = z50.object({
2324
- operations: z50.array(PluginSpreadsheetTransactionOp),
2325
- label: z50.string().optional()
2480
+ var PluginProgramSpreadsheetTransactionArgs = z55.object({
2481
+ operations: z55.array(PluginSpreadsheetTransactionOp),
2482
+ label: z55.string().optional()
2326
2483
  });
2327
- var PluginProgramSpreadsheetTransactionResult = z50.object({
2328
- label: z50.string(),
2329
- operationCount: z50.number(),
2330
- results: z50.array(z50.unknown())
2484
+ var PluginProgramSpreadsheetTransactionResult = z55.object({
2485
+ label: z55.string(),
2486
+ operationCount: z55.number(),
2487
+ results: z55.array(z55.unknown())
2331
2488
  });
2332
- var PluginProgramSpreadsheetRunScriptArgs = z50.object({
2333
- script: z50.string()
2489
+ var PluginProgramSpreadsheetRunScriptArgs = z55.object({
2490
+ script: z55.string()
2334
2491
  });
2335
- var PluginProgramSpreadsheetRunScriptResult = z50.object({
2336
- result: z50.unknown()
2492
+ var PluginProgramSpreadsheetRunScriptResult = z55.object({
2493
+ result: z55.unknown()
2337
2494
  });
2338
- var PluginSpreadsheetAuditStatus = z50.enum(["success", "error"]);
2339
- var PluginSpreadsheetAuditEntry = z50.object({
2340
- id: z50.string(),
2341
- pluginId: z50.string(),
2342
- method: z50.string(),
2343
- label: z50.string().optional(),
2344
- sheetName: z50.string().optional(),
2345
- timestamp: z50.string(),
2495
+ var PluginSpreadsheetAuditStatus = z55.enum(["success", "error"]);
2496
+ var PluginSpreadsheetAuditEntry = z55.object({
2497
+ id: z55.string(),
2498
+ pluginId: z55.string(),
2499
+ method: z55.string(),
2500
+ label: z55.string().optional(),
2501
+ sheetName: z55.string().optional(),
2502
+ timestamp: z55.string(),
2346
2503
  status: PluginSpreadsheetAuditStatus,
2347
- summary: z50.string().optional()
2504
+ summary: z55.string().optional()
2348
2505
  });
2349
- var PluginProgramSpreadsheetGetAuditLogArgs = z50.object({
2350
- limit: z50.number().optional()
2506
+ var PluginProgramSpreadsheetGetAuditLogArgs = z55.object({
2507
+ limit: z55.number().optional()
2351
2508
  });
2352
- var PluginProgramSpreadsheetGetAuditLogResult = z50.object({
2353
- entries: z50.array(PluginSpreadsheetAuditEntry)
2509
+ var PluginProgramSpreadsheetGetAuditLogResult = z55.object({
2510
+ entries: z55.array(PluginSpreadsheetAuditEntry)
2354
2511
  });
2355
- var PluginProgramSpreadsheetPingResult = z50.object({
2356
- pong: z50.boolean()
2512
+ var PluginProgramSpreadsheetPingResult = z55.object({
2513
+ pong: z55.boolean()
2357
2514
  });
2358
- var PluginSpreadsheetTemplateScope = z50.enum(["project", "global"]);
2359
- var PluginProgramSpreadsheetTemplatesCreateArgs = z50.object({
2360
- name: z50.string(),
2361
- sheetName: z50.string(),
2515
+ var PluginSpreadsheetTemplateScope = z55.enum(["project", "global"]);
2516
+ var PluginProgramSpreadsheetTemplatesCreateArgs = z55.object({
2517
+ name: z55.string(),
2518
+ sheetName: z55.string(),
2362
2519
  scope: PluginSpreadsheetTemplateScope.optional()
2363
2520
  });
2364
- var PluginProgramSpreadsheetTemplatesCreateResult = z50.object({
2365
- id: z50.string(),
2366
- name: z50.string(),
2521
+ var PluginProgramSpreadsheetTemplatesCreateResult = z55.object({
2522
+ id: z55.string(),
2523
+ name: z55.string(),
2367
2524
  scope: PluginSpreadsheetTemplateScope,
2368
- sheetName: z50.string()
2525
+ sheetName: z55.string()
2369
2526
  });
2370
- var PluginProgramSpreadsheetTemplatesApplyArgs = z50.object({
2371
- name: z50.string(),
2372
- targetSheetName: z50.string()
2527
+ var PluginProgramSpreadsheetTemplatesApplyArgs = z55.object({
2528
+ name: z55.string(),
2529
+ targetSheetName: z55.string()
2373
2530
  });
2374
- var PluginProgramSpreadsheetTemplatesApplyResult = z50.object({
2375
- name: z50.string(),
2376
- targetSheetName: z50.string()
2531
+ var PluginProgramSpreadsheetTemplatesApplyResult = z55.object({
2532
+ name: z55.string(),
2533
+ targetSheetName: z55.string()
2377
2534
  });
2378
- var PluginSpreadsheetBindingSource = z50.object({
2379
- dataset: z50.enum(["takeoff"])
2535
+ var PluginSpreadsheetBindingSource = z55.object({
2536
+ dataset: z55.enum(["takeoff"])
2380
2537
  });
2381
- var PluginSpreadsheetBindingMode = z50.enum(["replaceRange"]);
2382
- var PluginSpreadsheetBindingTarget = z50.object({
2383
- sheetName: z50.string(),
2384
- startCell: z50.string().optional()
2538
+ var PluginSpreadsheetBindingMode = z55.enum(["replaceRange"]);
2539
+ var PluginSpreadsheetBindingTarget = z55.object({
2540
+ sheetName: z55.string(),
2541
+ startCell: z55.string().optional()
2385
2542
  });
2386
- var PluginSpreadsheetBinding = z50.object({
2387
- id: z50.string(),
2388
- name: z50.string(),
2389
- pluginId: z50.string(),
2543
+ var PluginSpreadsheetBinding = z55.object({
2544
+ id: z55.string(),
2545
+ name: z55.string(),
2546
+ pluginId: z55.string(),
2390
2547
  source: PluginSpreadsheetBindingSource,
2391
- target: z50.object({
2392
- sheetName: z50.string(),
2393
- startCell: z50.string()
2548
+ target: z55.object({
2549
+ sheetName: z55.string(),
2550
+ startCell: z55.string()
2394
2551
  }),
2395
2552
  mode: PluginSpreadsheetBindingMode,
2396
- createdAt: z50.string(),
2397
- updatedAt: z50.string()
2553
+ createdAt: z55.string(),
2554
+ updatedAt: z55.string()
2398
2555
  });
2399
- var PluginSpreadsheetBindingRefresh = z50.object({
2400
- id: z50.string(),
2401
- name: z50.string(),
2402
- sheetName: z50.string(),
2403
- rowCount: z50.number()
2556
+ var PluginSpreadsheetBindingRefresh = z55.object({
2557
+ id: z55.string(),
2558
+ name: z55.string(),
2559
+ sheetName: z55.string(),
2560
+ rowCount: z55.number()
2404
2561
  });
2405
- var PluginProgramSpreadsheetBindingsCreateArgs = z50.object({
2406
- name: z50.string(),
2562
+ var PluginProgramSpreadsheetBindingsCreateArgs = z55.object({
2563
+ name: z55.string(),
2407
2564
  source: PluginSpreadsheetBindingSource,
2408
2565
  target: PluginSpreadsheetBindingTarget,
2409
2566
  mode: PluginSpreadsheetBindingMode.optional()
@@ -2411,179 +2568,185 @@ var PluginProgramSpreadsheetBindingsCreateArgs = z50.object({
2411
2568
  var PluginProgramSpreadsheetBindingsCreateResult = PluginSpreadsheetBinding.extend({
2412
2569
  refresh: PluginSpreadsheetBindingRefresh
2413
2570
  });
2414
- var PluginProgramSpreadsheetBindingsRefreshArgs = z50.object({
2415
- name: z50.string().optional()
2571
+ var PluginProgramSpreadsheetBindingsRefreshArgs = z55.object({
2572
+ name: z55.string().optional()
2416
2573
  });
2417
- var PluginProgramSpreadsheetBindingsRefreshResult = z50.object({
2418
- refreshed: z50.array(PluginSpreadsheetBindingRefresh)
2574
+ var PluginProgramSpreadsheetBindingsRefreshResult = z55.object({
2575
+ refreshed: z55.array(PluginSpreadsheetBindingRefresh)
2419
2576
  });
2420
- var PluginProgramSpreadsheetBindingsListResult = z50.object({
2421
- bindings: z50.array(PluginSpreadsheetBinding)
2577
+ var PluginProgramSpreadsheetBindingsListResult = z55.object({
2578
+ bindings: z55.array(PluginSpreadsheetBinding)
2422
2579
  });
2423
2580
 
2424
2581
  // src/api/program/site.ts
2425
- import * as z51 from "zod";
2582
+ import * as z56 from "zod";
2426
2583
  var PluginProgramSiteApi = class {
2427
2584
  constructor() {
2428
2585
  }
2429
2586
  };
2430
- var PluginSiteFootprintPoint = z51.object({
2431
- x: z51.number(),
2432
- z: z51.number()
2587
+ var PluginSiteFootprintPoint = z56.object({
2588
+ x: z56.number(),
2589
+ z: z56.number()
2433
2590
  });
2434
- var PluginSiteGeoPoint = z51.object({
2435
- lat: z51.number(),
2436
- lng: z51.number(),
2437
- alt: z51.number()
2591
+ var PluginSiteGeoPoint = z56.object({
2592
+ lat: z56.number(),
2593
+ lng: z56.number(),
2594
+ alt: z56.number()
2438
2595
  });
2439
- var PluginSitePolygon = z51.object({
2440
- id: z51.string(),
2441
- area: z51.number(),
2442
- label: z51.string(),
2443
- footprint: z51.array(PluginSiteFootprintPoint)
2596
+ var PluginSitePolygon = z56.object({
2597
+ id: z56.string(),
2598
+ area: z56.number(),
2599
+ label: z56.string(),
2600
+ footprint: z56.array(PluginSiteFootprintPoint)
2444
2601
  });
2445
- var PluginProgramSiteSnapshot = z51.object({
2602
+ var PluginProgramSiteSnapshot = z56.object({
2446
2603
  units: PluginAreaUnit,
2447
- totalArea: z51.number(),
2448
- polygonCount: z51.number(),
2449
- polygons: z51.array(PluginSitePolygon)
2604
+ totalArea: z56.number(),
2605
+ polygonCount: z56.number(),
2606
+ polygons: z56.array(PluginSitePolygon)
2450
2607
  });
2451
- var PluginProgramSiteAreaResult = z51.object({
2608
+ var PluginProgramSiteAreaResult = z56.object({
2452
2609
  units: PluginAreaUnit,
2453
- area: z51.number()
2610
+ area: z56.number()
2454
2611
  });
2455
- var PluginProgramSiteListPolygonsResult = z51.object({
2612
+ var PluginProgramSiteListPolygonsResult = z56.object({
2456
2613
  units: PluginAreaUnit,
2457
- polygons: z51.array(PluginSitePolygon)
2614
+ polygons: z56.array(PluginSitePolygon)
2458
2615
  });
2459
- var PluginProgramSiteListGeoPolygonsResult = z51.object({
2460
- polygons: z51.array(z51.array(PluginSiteGeoPoint))
2616
+ var PluginProgramSiteListGeoPolygonsResult = z56.object({
2617
+ polygons: z56.array(z56.array(PluginSiteGeoPoint))
2461
2618
  });
2462
- var PluginSiteLatLng = z51.object({
2463
- lat: z51.number(),
2464
- lng: z51.number()
2619
+ var PluginSiteLatLng = z56.object({
2620
+ lat: z56.number(),
2621
+ lng: z56.number()
2465
2622
  });
2466
- var PluginSiteBounds = z51.object({
2467
- north: z51.number(),
2468
- south: z51.number(),
2469
- east: z51.number(),
2470
- west: z51.number()
2623
+ var PluginSiteBounds = z56.object({
2624
+ north: z56.number(),
2625
+ south: z56.number(),
2626
+ east: z56.number(),
2627
+ west: z56.number()
2471
2628
  });
2472
- var PluginSiteContextParcel = z51.object({
2473
- footprint: z51.array(PluginSiteLatLng),
2474
- area: z51.number()
2629
+ var PluginSiteContextParcel = z56.object({
2630
+ footprint: z56.array(PluginSiteLatLng),
2631
+ area: z56.number()
2475
2632
  });
2476
- var PluginProgramSiteContext = z51.object({
2633
+ var PluginProgramSiteContext = z56.object({
2477
2634
  center: PluginSiteLatLng,
2478
2635
  bounds: PluginSiteBounds,
2479
- widthInM: z51.number(),
2480
- heightInM: z51.number(),
2481
- zoom: z51.number(),
2482
- parcels: z51.array(PluginSiteContextParcel)
2636
+ widthInM: z56.number(),
2637
+ heightInM: z56.number(),
2638
+ zoom: z56.number(),
2639
+ parcels: z56.array(PluginSiteContextParcel)
2483
2640
  });
2484
2641
  var PluginProgramSiteContextResult = PluginProgramSiteContext.nullable();
2642
+ var PluginProgramSiteLocation = z56.object({
2643
+ latitude: z56.number(),
2644
+ longitude: z56.number()
2645
+ });
2646
+ var PluginProgramSiteLocationResult = PluginProgramSiteLocation.nullable();
2647
+ var PluginProgramSiteNorthAngleResult = z56.number().nullable();
2485
2648
 
2486
2649
  // src/api/program/cores.ts
2487
- import * as z52 from "zod";
2650
+ import * as z57 from "zod";
2488
2651
  var PluginProgramCoresApi = class {
2489
2652
  constructor() {
2490
2653
  }
2491
2654
  };
2492
- var PluginProgramCore = z52.object({
2493
- id: z52.string(),
2494
- groupId: z52.string(),
2495
- storey: z52.number()
2655
+ var PluginProgramCore = z57.object({
2656
+ id: z57.string(),
2657
+ groupId: z57.string(),
2658
+ storey: z57.number()
2496
2659
  });
2497
- var PluginProgramCoresListResult = z52.object({
2498
- cores: z52.array(PluginProgramCore)
2660
+ var PluginProgramCoresListResult = z57.object({
2661
+ cores: z57.array(PluginProgramCore)
2499
2662
  });
2500
- var PluginProgramCoresIsCoreArgs = z52.object({
2501
- id: z52.string()
2663
+ var PluginProgramCoresIsCoreArgs = z57.object({
2664
+ id: z57.string()
2502
2665
  });
2503
- var PluginProgramCoreSpec = z52.object({
2504
- type: z52.string().optional(),
2505
- position: z52.object({ x: z52.number(), y: z52.number(), z: z52.number() }),
2506
- width: z52.number(),
2507
- depth: z52.number(),
2508
- fromStorey: z52.number().optional(),
2509
- toStorey: z52.number().optional()
2666
+ var PluginProgramCoreSpec = z57.object({
2667
+ type: z57.string().optional(),
2668
+ position: z57.object({ x: z57.number(), y: z57.number(), z: z57.number() }),
2669
+ width: z57.number(),
2670
+ depth: z57.number(),
2671
+ fromStorey: z57.number().optional(),
2672
+ toStorey: z57.number().optional()
2510
2673
  });
2511
- var PluginProgramCoresCreateArgs = z52.object({
2512
- cores: z52.array(PluginProgramCoreSpec),
2513
- lengthUnit: z52.enum(["mm", "m", "ft"]).optional()
2674
+ var PluginProgramCoresCreateArgs = z57.object({
2675
+ cores: z57.array(PluginProgramCoreSpec),
2676
+ lengthUnit: z57.enum(["mm", "m", "ft"]).optional()
2514
2677
  });
2515
- var PluginProgramCoresCreateResult = z52.object({
2516
- createdCount: z52.number()
2678
+ var PluginProgramCoresCreateResult = z57.object({
2679
+ createdCount: z57.number()
2517
2680
  });
2518
2681
 
2519
2682
  // src/api/program/classification.ts
2520
- import * as z53 from "zod";
2683
+ import * as z58 from "zod";
2521
2684
  var PluginProgramClassificationApi = class {
2522
2685
  constructor() {
2523
2686
  }
2524
2687
  };
2525
- var PluginClassificationOption = z53.object({
2526
- value: z53.string(),
2527
- label: z53.string()
2688
+ var PluginClassificationOption = z58.object({
2689
+ value: z58.string(),
2690
+ label: z58.string()
2528
2691
  });
2529
- var PluginProgramClassificationTypesResult = z53.object({
2530
- spaceTypes: z53.array(PluginClassificationOption),
2531
- areaClasses: z53.array(PluginClassificationOption),
2532
- massTypes: z53.array(PluginClassificationOption)
2692
+ var PluginProgramClassificationTypesResult = z58.object({
2693
+ spaceTypes: z58.array(PluginClassificationOption),
2694
+ areaClasses: z58.array(PluginClassificationOption),
2695
+ massTypes: z58.array(PluginClassificationOption)
2533
2696
  });
2534
- var PluginProgramClassificationListTagsArgs = z53.object({
2535
- id: z53.string()
2697
+ var PluginProgramClassificationListTagsArgs = z58.object({
2698
+ id: z58.string()
2536
2699
  });
2537
- var PluginSpaceTag = z53.object({
2538
- tagId: z53.string(),
2539
- tagName: z53.string(),
2540
- color: z53.string(),
2541
- categoryId: z53.string()
2700
+ var PluginSpaceTag = z58.object({
2701
+ tagId: z58.string(),
2702
+ tagName: z58.string(),
2703
+ color: z58.string(),
2704
+ categoryId: z58.string()
2542
2705
  });
2543
- var PluginProgramClassificationTagsResult = z53.object({
2544
- tagIds: z53.array(z53.string()),
2545
- tagsByCategory: z53.record(z53.string(), PluginSpaceTag)
2706
+ var PluginProgramClassificationTagsResult = z58.object({
2707
+ tagIds: z58.array(z58.string()),
2708
+ tagsByCategory: z58.record(z58.string(), PluginSpaceTag)
2546
2709
  });
2547
2710
 
2548
2711
  // src/api/program/areas.ts
2549
- import * as z54 from "zod";
2712
+ import * as z59 from "zod";
2550
2713
  var PluginProgramAreasApi = class {
2551
2714
  constructor() {
2552
2715
  }
2553
2716
  };
2554
- var PluginProgramAreaSummary = z54.object({
2555
- count: z54.number().int(),
2556
- hiddenCount: z54.number().int(),
2557
- carpet: z54.number(),
2558
- builtUp: z54.number(),
2559
- excluded: z54.number(),
2560
- farBuiltUp: z54.number(),
2561
- siteArea: z54.number(),
2562
- achievedFar: z54.number().nullable(),
2563
- targetFar: z54.number(),
2564
- deviation: z54.number(),
2717
+ var PluginProgramAreaSummary = z59.object({
2718
+ count: z59.number().int(),
2719
+ hiddenCount: z59.number().int(),
2720
+ carpet: z59.number(),
2721
+ builtUp: z59.number(),
2722
+ excluded: z59.number(),
2723
+ farBuiltUp: z59.number(),
2724
+ siteArea: z59.number(),
2725
+ achievedFar: z59.number().nullable(),
2726
+ targetFar: z59.number(),
2727
+ deviation: z59.number(),
2565
2728
  areaUnit: PluginAreaUnit
2566
2729
  });
2567
- var PluginProgramAreaGroup = z54.object({
2568
- groupId: z54.string(),
2569
- name: z54.string(),
2570
- color: z54.string(),
2571
- carpet: z54.number(),
2572
- builtUp: z54.number(),
2573
- excluded: z54.number(),
2574
- count: z54.number().int(),
2575
- targetArea: z54.number(),
2730
+ var PluginProgramAreaGroup = z59.object({
2731
+ groupId: z59.string(),
2732
+ name: z59.string(),
2733
+ color: z59.string(),
2734
+ carpet: z59.number(),
2735
+ builtUp: z59.number(),
2736
+ excluded: z59.number(),
2737
+ count: z59.number().int(),
2738
+ targetArea: z59.number(),
2576
2739
  targetUnit: PluginAreaUnit
2577
2740
  });
2578
- var PluginProgramAreaMember = z54.object({
2741
+ var PluginProgramAreaMember = z59.object({
2579
2742
  id: ComponentHandle,
2580
- label: z54.string(),
2581
- carpet: z54.number(),
2582
- builtUp: z54.number(),
2583
- excluded: z54.number(),
2584
- isVisible: z54.boolean()
2743
+ label: z59.string(),
2744
+ carpet: z59.number(),
2745
+ builtUp: z59.number(),
2746
+ excluded: z59.number(),
2747
+ isVisible: z59.boolean()
2585
2748
  });
2586
- var PluginProgramAreaGroupBy = z54.enum([
2749
+ var PluginProgramAreaGroupBy = z59.enum([
2587
2750
  "labels",
2588
2751
  "storeys",
2589
2752
  "buildings",
@@ -2591,29 +2754,29 @@ var PluginProgramAreaGroupBy = z54.enum([
2591
2754
  "tagCategories"
2592
2755
  ]);
2593
2756
  var PluginProgramAreasGetResult = PluginProgramAreaSummary;
2594
- var PluginProgramAreasListArgs = z54.object({
2757
+ var PluginProgramAreasListArgs = z59.object({
2595
2758
  groupBy: PluginProgramAreaGroupBy,
2596
- categoryId: z54.string().optional()
2759
+ categoryId: z59.string().optional()
2597
2760
  }).refine((v) => v.groupBy !== "tagCategories" || v.categoryId != null, {
2598
2761
  message: 'categoryId is required when groupBy is "tagCategories"'
2599
2762
  });
2600
- var PluginProgramAreasListResult = z54.object({
2601
- groups: z54.array(PluginProgramAreaGroup)
2763
+ var PluginProgramAreasListResult = z59.object({
2764
+ groups: z59.array(PluginProgramAreaGroup)
2602
2765
  });
2603
- var PluginProgramAreasListMembersArgs = z54.object({
2766
+ var PluginProgramAreasListMembersArgs = z59.object({
2604
2767
  groupBy: PluginProgramAreaGroupBy,
2605
- groupId: z54.string(),
2606
- categoryId: z54.string().optional()
2768
+ groupId: z59.string(),
2769
+ categoryId: z59.string().optional()
2607
2770
  }).refine((v) => v.groupBy !== "tagCategories" || v.categoryId != null, {
2608
2771
  message: 'categoryId is required when groupBy is "tagCategories"'
2609
2772
  });
2610
- var PluginProgramAreasListMembersResult = z54.object({
2611
- members: z54.array(PluginProgramAreaMember)
2773
+ var PluginProgramAreasListMembersResult = z59.object({
2774
+ members: z59.array(PluginProgramAreaMember)
2612
2775
  });
2613
- var PluginProgramAreasUpdateArgs = z54.object({
2614
- targetFar: z54.number().min(0).optional(),
2615
- siteArea: z54.number().positive().optional(),
2616
- deviation: z54.number().min(0).max(100).optional()
2776
+ var PluginProgramAreasUpdateArgs = z59.object({
2777
+ targetFar: z59.number().min(0).optional(),
2778
+ siteArea: z59.number().positive().optional(),
2779
+ deviation: z59.number().min(0).max(100).optional()
2617
2780
  });
2618
2781
  var PluginProgramAreasUpdateResult = PluginProgramAreaSummary;
2619
2782
 
@@ -2624,257 +2787,257 @@ var PluginProgramApi = class {
2624
2787
  };
2625
2788
 
2626
2789
  // src/api/presentation/views.ts
2627
- import * as z55 from "zod";
2790
+ import * as z60 from "zod";
2628
2791
  var PluginPresentationViewsApi = class {
2629
2792
  constructor() {
2630
2793
  }
2631
2794
  };
2632
- var PluginPresentationViewType = z55.enum(["2d", "3d"]);
2633
- var PluginPresentationView = z55.object({
2634
- id: z55.string(),
2635
- name: z55.string(),
2795
+ var PluginPresentationViewType = z60.enum(["2d", "3d"]);
2796
+ var PluginPresentationView = z60.object({
2797
+ id: z60.string(),
2798
+ name: z60.string(),
2636
2799
  type: PluginPresentationViewType,
2637
- isActive: z55.boolean()
2800
+ isActive: z60.boolean()
2638
2801
  });
2639
- var PluginPresentationViewsListResult = z55.object({
2640
- views: z55.array(PluginPresentationView)
2802
+ var PluginPresentationViewsListResult = z60.object({
2803
+ views: z60.array(PluginPresentationView)
2641
2804
  });
2642
- var PluginPresentationViewsGetArgs = z55.object({
2643
- id: z55.string()
2805
+ var PluginPresentationViewsGetArgs = z60.object({
2806
+ id: z60.string()
2644
2807
  });
2645
2808
  var PluginPresentationViewsGetResult = PluginPresentationView.nullable();
2646
- var PluginPresentationImageFormat = z55.enum(["png", "jpeg"]);
2647
- var PluginPresentationViewsCaptureArgs = z55.object({
2648
- viewId: z55.string().optional(),
2809
+ var PluginPresentationImageFormat = z60.enum(["png", "jpeg"]);
2810
+ var PluginPresentationViewsCaptureArgs = z60.object({
2811
+ viewId: z60.string().optional(),
2649
2812
  format: PluginPresentationImageFormat.optional(),
2650
- resolution: z55.string().optional()
2813
+ resolution: z60.string().optional()
2651
2814
  });
2652
- var PluginPresentationViewsCaptureResult = z55.object({
2653
- image: z55.string()
2815
+ var PluginPresentationViewsCaptureResult = z60.object({
2816
+ image: z60.string()
2654
2817
  });
2655
- var PluginPresentationViewsSetActiveArgs = z55.object({
2656
- id: z55.string()
2818
+ var PluginPresentationViewsSetActiveArgs = z60.object({
2819
+ id: z60.string()
2657
2820
  });
2658
- var PluginPresentationViewsSetActiveResult = z55.object({
2659
- id: z55.string()
2821
+ var PluginPresentationViewsSetActiveResult = z60.object({
2822
+ id: z60.string()
2660
2823
  });
2661
- var PluginPresentationViewsCreateArgs = z55.object({
2662
- name: z55.string().optional(),
2663
- kind: z55.enum(["view", "sitePlan"]).optional()
2824
+ var PluginPresentationViewsCreateArgs = z60.object({
2825
+ name: z60.string().optional(),
2826
+ kind: z60.enum(["view", "sitePlan"]).optional()
2664
2827
  });
2665
2828
  var PluginPresentationViewsCreateResult = PluginPresentationView;
2666
2829
 
2667
2830
  // src/api/presentation/sheets.ts
2668
- import * as z56 from "zod";
2831
+ import * as z61 from "zod";
2669
2832
  var PluginPresentationSheetsApi = class {
2670
2833
  constructor() {
2671
2834
  }
2672
2835
  };
2673
- var PluginPresentationSheet = z56.object({
2674
- id: z56.string(),
2675
- name: z56.string()
2836
+ var PluginPresentationSheet = z61.object({
2837
+ id: z61.string(),
2838
+ name: z61.string()
2676
2839
  });
2677
- var PluginSheetPosition = z56.object({
2678
- x: z56.number(),
2679
- y: z56.number()
2840
+ var PluginSheetPosition = z61.object({
2841
+ x: z61.number(),
2842
+ y: z61.number()
2680
2843
  });
2681
- var PluginPresentationSheetsListResult = z56.object({
2682
- sheets: z56.array(PluginPresentationSheet)
2844
+ var PluginPresentationSheetsListResult = z61.object({
2845
+ sheets: z61.array(PluginPresentationSheet)
2683
2846
  });
2684
- var PluginPresentationSheetsGetArgs = z56.object({
2685
- id: z56.string()
2847
+ var PluginPresentationSheetsGetArgs = z61.object({
2848
+ id: z61.string()
2686
2849
  });
2687
2850
  var PluginPresentationSheetsGetResult = PluginPresentationSheet.nullable();
2688
- var PluginPresentationSheetsCreateArgs = z56.object({
2689
- name: z56.string().optional()
2851
+ var PluginPresentationSheetsCreateArgs = z61.object({
2852
+ name: z61.string().optional()
2690
2853
  });
2691
- var PluginPresentationSheetsPlaceArgs = z56.object({
2692
- sheetId: z56.string(),
2693
- viewId: z56.string(),
2854
+ var PluginPresentationSheetsPlaceArgs = z61.object({
2855
+ sheetId: z61.string(),
2856
+ viewId: z61.string(),
2694
2857
  position: PluginSheetPosition.optional()
2695
2858
  });
2696
- var PluginPresentationSheetsPlaceResult = z56.object({
2697
- shapeId: z56.string()
2859
+ var PluginPresentationSheetsPlaceResult = z61.object({
2860
+ shapeId: z61.string()
2698
2861
  });
2699
2862
 
2700
2863
  // src/api/presentation/diagrams.ts
2701
- import * as z57 from "zod";
2864
+ import * as z62 from "zod";
2702
2865
  var PluginPresentationDiagramsApi = class {
2703
2866
  constructor() {
2704
2867
  }
2705
2868
  };
2706
- var PluginPresentationDiagramsPlaceArgs = z57.object({
2707
- sheetId: z57.string(),
2708
- urls: z57.array(z57.string()),
2709
- position: z57.object({ x: z57.number(), y: z57.number() }).optional()
2869
+ var PluginPresentationDiagramsPlaceArgs = z62.object({
2870
+ sheetId: z62.string(),
2871
+ urls: z62.array(z62.string()),
2872
+ position: z62.object({ x: z62.number(), y: z62.number() }).optional()
2710
2873
  });
2711
- var PluginPresentationDiagramsPlaceResult = z57.object({
2712
- shapeIds: z57.array(z57.string())
2874
+ var PluginPresentationDiagramsPlaceResult = z62.object({
2875
+ shapeIds: z62.array(z62.string())
2713
2876
  });
2714
2877
 
2715
2878
  // src/api/presentation/import.ts
2716
- import * as z58 from "zod";
2879
+ import * as z63 from "zod";
2717
2880
  var PluginPresentationImportApi = class {
2718
2881
  constructor() {
2719
2882
  }
2720
2883
  };
2721
- var PluginPresentationImportArgs = z58.object({
2722
- url: z58.string().optional(),
2723
- dataUrl: z58.string().optional(),
2724
- position: z58.object({ x: z58.number(), y: z58.number() }).optional()
2884
+ var PluginPresentationImportArgs = z63.object({
2885
+ url: z63.string().optional(),
2886
+ dataUrl: z63.string().optional(),
2887
+ position: z63.object({ x: z63.number(), y: z63.number() }).optional()
2725
2888
  }).refine((a) => Boolean(a.url) || Boolean(a.dataUrl), {
2726
2889
  message: "Provide a url or a dataUrl"
2727
2890
  });
2728
- var PluginPresentationImportResult = z58.object({
2729
- shapeIds: z58.array(z58.string())
2891
+ var PluginPresentationImportResult = z63.object({
2892
+ shapeIds: z63.array(z63.string())
2730
2893
  });
2731
2894
 
2732
2895
  // src/api/presentation/aiInspiration.ts
2733
- import * as z59 from "zod";
2734
- var JsonPrimitive = z59.union([z59.string(), z59.number(), z59.boolean(), z59.null()]);
2735
- var JsonValue = z59.lazy(
2736
- () => z59.union([JsonPrimitive, z59.array(JsonValue), z59.record(z59.string(), JsonValue)])
2896
+ import * as z64 from "zod";
2897
+ var JsonPrimitive = z64.union([z64.string(), z64.number(), z64.boolean(), z64.null()]);
2898
+ var JsonValue = z64.lazy(
2899
+ () => z64.union([JsonPrimitive, z64.array(JsonValue), z64.record(z64.string(), JsonValue)])
2737
2900
  );
2738
- var PluginAIInspirationOutputKind = z59.enum([
2901
+ var PluginAIInspirationOutputKind = z64.enum([
2739
2902
  "source",
2740
2903
  "image",
2741
2904
  "video"
2742
2905
  ]);
2743
- var PluginAIInspirationModelOutput = z59.enum(["image", "video"]);
2744
- var PluginAIInspirationShapeKind = z59.enum(["image", "view", "video"]);
2745
- var PluginAIInspirationVideoMode = z59.enum([
2906
+ var PluginAIInspirationModelOutput = z64.enum(["image", "video"]);
2907
+ var PluginAIInspirationShapeKind = z64.enum(["image", "view", "video"]);
2908
+ var PluginAIInspirationVideoMode = z64.enum([
2746
2909
  "animate",
2747
2910
  "references",
2748
2911
  "keyframes"
2749
2912
  ]);
2750
- var PluginAIInspirationVideoMotion = z59.enum([
2913
+ var PluginAIInspirationVideoMotion = z64.enum([
2751
2914
  "auto",
2752
2915
  "slow-dolly",
2753
2916
  "subtle-orbit",
2754
2917
  "reveal"
2755
2918
  ]);
2756
- var PluginAIInspirationVideoDuration = z59.enum(["4s", "6s", "8s"]);
2757
- var PluginAIInspirationRegionHint = z59.object({
2758
- x: z59.number().finite(),
2759
- y: z59.number().finite(),
2760
- w: z59.number().finite().positive(),
2761
- h: z59.number().finite().positive()
2762
- });
2763
- var PluginAIInspirationPoint = z59.object({
2764
- x: z59.number().finite(),
2765
- y: z59.number().finite()
2766
- });
2767
- var PluginAIInspirationTextAnnotation = z59.object({
2768
- text: z59.string().min(1),
2769
- x: z59.number().finite().optional(),
2770
- y: z59.number().finite().optional()
2771
- });
2772
- var PluginAIInspirationSketchGuidance = z59.object({
2773
- visualShapeIds: z59.array(z59.string()).optional(),
2774
- textAnnotations: z59.array(PluginAIInspirationTextAnnotation).optional()
2775
- });
2776
- var PluginAIInspirationSiteOptions = z59.object({
2777
- includeSatellite: z59.boolean().optional(),
2778
- includeStreetView: z59.boolean().optional(),
2779
- includeAerial: z59.boolean().optional(),
2780
- aerialBearing: z59.number().finite().optional(),
2781
- aerialPitch: z59.number().finite().optional(),
2782
- selectedDiagramIds: z59.array(z59.string()).optional(),
2783
- location: z59.object({
2784
- lat: z59.number().finite(),
2785
- lng: z59.number().finite()
2919
+ var PluginAIInspirationVideoDuration = z64.enum(["4s", "6s", "8s"]);
2920
+ var PluginAIInspirationRegionHint = z64.object({
2921
+ x: z64.number().finite(),
2922
+ y: z64.number().finite(),
2923
+ w: z64.number().finite().positive(),
2924
+ h: z64.number().finite().positive()
2925
+ });
2926
+ var PluginAIInspirationPoint = z64.object({
2927
+ x: z64.number().finite(),
2928
+ y: z64.number().finite()
2929
+ });
2930
+ var PluginAIInspirationTextAnnotation = z64.object({
2931
+ text: z64.string().min(1),
2932
+ x: z64.number().finite().optional(),
2933
+ y: z64.number().finite().optional()
2934
+ });
2935
+ var PluginAIInspirationSketchGuidance = z64.object({
2936
+ visualShapeIds: z64.array(z64.string()).optional(),
2937
+ textAnnotations: z64.array(PluginAIInspirationTextAnnotation).optional()
2938
+ });
2939
+ var PluginAIInspirationSiteOptions = z64.object({
2940
+ includeSatellite: z64.boolean().optional(),
2941
+ includeStreetView: z64.boolean().optional(),
2942
+ includeAerial: z64.boolean().optional(),
2943
+ aerialBearing: z64.number().finite().optional(),
2944
+ aerialPitch: z64.number().finite().optional(),
2945
+ selectedDiagramIds: z64.array(z64.string()).optional(),
2946
+ location: z64.object({
2947
+ lat: z64.number().finite(),
2948
+ lng: z64.number().finite()
2786
2949
  }).optional()
2787
2950
  });
2788
- var PluginAIInspirationAppliedPreset = z59.object({
2789
- source: z59.enum(["curated", "user"]),
2790
- presetId: z59.string().min(1),
2791
- name: z59.string().min(1),
2792
- savedPresetKind: z59.enum(["prompt", "style"]).optional(),
2793
- stylePrompt: z59.string().optional(),
2794
- modelId: z59.string().optional(),
2795
- referenceImages: z59.array(
2796
- z59.object({
2797
- url: z59.string().min(1),
2798
- label: z59.string().optional(),
2799
- weight: z59.number().finite().optional()
2951
+ var PluginAIInspirationAppliedPreset = z64.object({
2952
+ source: z64.enum(["curated", "user"]),
2953
+ presetId: z64.string().min(1),
2954
+ name: z64.string().min(1),
2955
+ savedPresetKind: z64.enum(["prompt", "style"]).optional(),
2956
+ stylePrompt: z64.string().optional(),
2957
+ modelId: z64.string().optional(),
2958
+ referenceImages: z64.array(
2959
+ z64.object({
2960
+ url: z64.string().min(1),
2961
+ label: z64.string().optional(),
2962
+ weight: z64.number().finite().optional()
2800
2963
  })
2801
2964
  ).optional(),
2802
- siteDefaults: z59.object({
2803
- includeSatellite: z59.boolean().optional(),
2804
- includeStreetView: z59.boolean().optional(),
2805
- includeAerial: z59.boolean().optional()
2965
+ siteDefaults: z64.object({
2966
+ includeSatellite: z64.boolean().optional(),
2967
+ includeStreetView: z64.boolean().optional(),
2968
+ includeAerial: z64.boolean().optional()
2806
2969
  }).optional()
2807
2970
  });
2808
- var PluginAIInspirationVideoOptions = z59.object({
2971
+ var PluginAIInspirationVideoOptions = z64.object({
2809
2972
  mode: PluginAIInspirationVideoMode.optional(),
2810
- endFrameShapeId: z59.string().optional(),
2973
+ endFrameShapeId: z64.string().optional(),
2811
2974
  motion: PluginAIInspirationVideoMotion.optional(),
2812
2975
  duration: PluginAIInspirationVideoDuration.optional()
2813
2976
  });
2814
- var PluginAIInspirationModel = z59.object({
2815
- id: z59.string(),
2816
- label: z59.string(),
2817
- supportsMultiImage: z59.boolean(),
2977
+ var PluginAIInspirationModel = z64.object({
2978
+ id: z64.string(),
2979
+ label: z64.string(),
2980
+ supportsMultiImage: z64.boolean(),
2818
2981
  output: PluginAIInspirationModelOutput,
2819
- isDefault: z59.boolean().optional()
2982
+ isDefault: z64.boolean().optional()
2820
2983
  });
2821
- var PluginAIInspirationListModelsResult = z59.object({
2822
- defaultModelId: z59.string(),
2823
- models: z59.array(PluginAIInspirationModel)
2984
+ var PluginAIInspirationListModelsResult = z64.object({
2985
+ defaultModelId: z64.string(),
2986
+ models: z64.array(PluginAIInspirationModel)
2824
2987
  });
2825
- var PluginAIInspirationShapeRef = z59.object({
2826
- shapeId: z59.string(),
2827
- assetId: z59.string().optional(),
2988
+ var PluginAIInspirationShapeRef = z64.object({
2989
+ shapeId: z64.string(),
2990
+ assetId: z64.string().optional(),
2828
2991
  kind: PluginAIInspirationShapeKind,
2829
- name: z59.string().optional(),
2830
- width: z59.number().finite().optional(),
2831
- height: z59.number().finite().optional(),
2992
+ name: z64.string().optional(),
2993
+ width: z64.number().finite().optional(),
2994
+ height: z64.number().finite().optional(),
2832
2995
  outputType: PluginAIInspirationOutputKind.optional(),
2833
- sourceUrl: z59.string().optional()
2996
+ sourceUrl: z64.string().optional()
2834
2997
  });
2835
- var PluginAIInspirationListSourcesArgs = z59.object({
2836
- includeGenerated: z59.boolean().optional(),
2837
- includeSourceUrl: z59.boolean().optional()
2998
+ var PluginAIInspirationListSourcesArgs = z64.object({
2999
+ includeGenerated: z64.boolean().optional(),
3000
+ includeSourceUrl: z64.boolean().optional()
2838
3001
  });
2839
- var PluginAIInspirationListSourcesResult = z59.object({
2840
- sources: z59.array(PluginAIInspirationShapeRef)
3002
+ var PluginAIInspirationListSourcesResult = z64.object({
3003
+ sources: z64.array(PluginAIInspirationShapeRef)
2841
3004
  });
2842
- var PluginAIInspirationOutput = z59.object({
2843
- outputType: z59.enum(["image", "video"]),
2844
- shapeId: z59.string(),
2845
- assetId: z59.string(),
2846
- outputUrl: z59.string().optional(),
3005
+ var PluginAIInspirationOutput = z64.object({
3006
+ outputType: z64.enum(["image", "video"]),
3007
+ shapeId: z64.string(),
3008
+ assetId: z64.string(),
3009
+ outputUrl: z64.string().optional(),
2847
3010
  position: PluginAIInspirationPoint.optional()
2848
3011
  });
2849
- var PluginAIInspirationDebugSummary = z59.record(z59.string(), JsonValue);
2850
- var PluginAIInspirationRunMetadata = z59.object({
2851
- geometryFidelity: z59.string().optional(),
3012
+ var PluginAIInspirationDebugSummary = z64.record(z64.string(), JsonValue);
3013
+ var PluginAIInspirationRunMetadata = z64.object({
3014
+ geometryFidelity: z64.string().optional(),
2852
3015
  debugSummary: PluginAIInspirationDebugSummary.optional(),
2853
- streetViewComposite: z59.object({
2854
- used: z59.boolean(),
2855
- renderMode: z59.enum(["prompt_refs_default", "masked_composite_pilot"]),
2856
- backgroundLabel: z59.string().optional()
3016
+ streetViewComposite: z64.object({
3017
+ used: z64.boolean(),
3018
+ renderMode: z64.enum(["prompt_refs_default", "masked_composite_pilot"]),
3019
+ backgroundLabel: z64.string().optional()
2857
3020
  }).optional()
2858
3021
  });
2859
- var PluginAIInspirationGenerateArgs = z59.object({
2860
- sourceShapeId: z59.string().min(1),
2861
- prompt: z59.string().min(1).max(8e3),
2862
- modelId: z59.string().optional(),
2863
- referenceShapeIds: z59.array(z59.string()).max(12).optional(),
2864
- referenceStrength: z59.enum(["low", "medium", "high"]).optional(),
3022
+ var PluginAIInspirationGenerateArgs = z64.object({
3023
+ sourceShapeId: z64.string().min(1),
3024
+ prompt: z64.string().min(1).max(8e3),
3025
+ modelId: z64.string().optional(),
3026
+ referenceShapeIds: z64.array(z64.string()).max(12).optional(),
3027
+ referenceStrength: z64.enum(["low", "medium", "high"]).optional(),
2865
3028
  appliedPreset: PluginAIInspirationAppliedPreset.optional(),
2866
3029
  site: PluginAIInspirationSiteOptions.optional(),
2867
3030
  regionHint: PluginAIInspirationRegionHint.optional(),
2868
3031
  sketchGuidance: PluginAIInspirationSketchGuidance.optional(),
2869
3032
  video: PluginAIInspirationVideoOptions.optional()
2870
3033
  });
2871
- var PluginAIInspirationRunResult = z59.object({
2872
- outputs: z59.array(PluginAIInspirationOutput).min(1),
3034
+ var PluginAIInspirationRunResult = z64.object({
3035
+ outputs: z64.array(PluginAIInspirationOutput).min(1),
2873
3036
  metadata: PluginAIInspirationRunMetadata.optional()
2874
3037
  });
2875
- var PluginAIInspirationRefineArgs = z59.object({
2876
- sourceShapeId: z59.string().min(1),
2877
- upscaleFactor: z59.union([z59.literal(1.5), z59.literal(2), z59.literal(4)]).optional()
3038
+ var PluginAIInspirationRefineArgs = z64.object({
3039
+ sourceShapeId: z64.string().min(1),
3040
+ upscaleFactor: z64.union([z64.literal(1.5), z64.literal(2), z64.literal(4)]).optional()
2878
3041
  });
2879
3042
  var PluginPresentationAIInspirationApi = class {
2880
3043
  constructor() {
@@ -2887,6 +3050,85 @@ var PluginPresentationApi = class {
2887
3050
  }
2888
3051
  };
2889
3052
 
3053
+ // src/api/analysis/sunpath.ts
3054
+ var PluginAnalysisSunpathApi = class {
3055
+ constructor() {
3056
+ }
3057
+ };
3058
+
3059
+ // src/api/analysis/shadows.ts
3060
+ import * as z65 from "zod";
3061
+ var PluginAnalysisShadowsApi = class {
3062
+ constructor() {
3063
+ }
3064
+ };
3065
+ var PluginAnalysisShadowsEnableOptions = z65.object({
3066
+ dateTime: z65.string().optional()
3067
+ });
3068
+ var PluginAnalysisShadowsSetDateTimeArgs = z65.object({
3069
+ dateTime: z65.string()
3070
+ });
3071
+ var PluginAnalysisShadowsDateTimeResult = z65.string();
3072
+
3073
+ // src/api/analysis/sunlightHours.ts
3074
+ import * as z66 from "zod";
3075
+ var PluginAnalysisSunlightHoursApi = class {
3076
+ constructor() {
3077
+ }
3078
+ };
3079
+ var PluginAnalysisComputeResult = z66.object({
3080
+ success: z66.boolean(),
3081
+ error: z66.string().optional()
3082
+ });
3083
+ var PluginAnalysisJobStatus = z66.enum([
3084
+ "running",
3085
+ "active",
3086
+ "inactive"
3087
+ ]);
3088
+ var PluginAnalysisJobState = z66.object({
3089
+ status: PluginAnalysisJobStatus,
3090
+ startDate: z66.string(),
3091
+ endDate: z66.string()
3092
+ });
3093
+ var PluginAnalysisJobStateResult = PluginAnalysisJobState.nullable();
3094
+
3095
+ // src/api/analysis/illuminance.ts
3096
+ var PluginAnalysisIlluminanceApi = class {
3097
+ constructor() {
3098
+ }
3099
+ };
3100
+
3101
+ // src/api/analysis/heatmaps.ts
3102
+ import * as z67 from "zod";
3103
+ var PluginAnalysisHeatmapsApi = class {
3104
+ constructor() {
3105
+ }
3106
+ };
3107
+ var PluginAnalysisHeatmapSpaceEntry = z67.object({
3108
+ space: ComponentHandle,
3109
+ value: z67.number().finite()
3110
+ });
3111
+ var PluginAnalysisHeatmapGridCell = z67.object({
3112
+ position: Vec3Components,
3113
+ value: z67.number().finite()
3114
+ });
3115
+ var PluginAnalysisHeatmapOptions = z67.object({
3116
+ title: z67.string().optional(),
3117
+ unit: z67.string().optional(),
3118
+ min: z67.number().finite().optional(),
3119
+ max: z67.number().finite().optional(),
3120
+ colors: z67.array(z67.string().regex(/^#?[0-9a-fA-F]{6}$/, 'expected a 6-digit hex colour like "#0000ff"')).min(1).optional()
3121
+ });
3122
+ var PluginAnalysisHeatmapsRenderResult = z67.object({
3123
+ success: z67.literal(true)
3124
+ });
3125
+
3126
+ // src/api/analysis/index.ts
3127
+ var PluginAnalysisApi = class {
3128
+ constructor() {
3129
+ }
3130
+ };
3131
+
2890
3132
  // src/api/index.ts
2891
3133
  var PluginApi = class {
2892
3134
  constructor() {
@@ -2898,6 +3140,7 @@ export {
2898
3140
  BooleanOptions,
2899
3141
  BooleanOutcome,
2900
3142
  BrepHandle,
3143
+ CadJsonInput,
2901
3144
  CircleHandle,
2902
3145
  CommentHandle,
2903
3146
  ComponentHandle,
@@ -2909,9 +3152,13 @@ export {
2909
3152
  EraseStrategy,
2910
3153
  FaceHandle,
2911
3154
  HalfEdgeHandle,
3155
+ ImportJobHandle,
3156
+ ImportJobStatus,
3157
+ ImportSource,
2912
3158
  LineHandle,
2913
3159
  MassHandle,
2914
3160
  MaterialHandle,
3161
+ ModelFormat,
2915
3162
  OffsetSplitOutcome,
2916
3163
  PUnitType,
2917
3164
  PluginAIInspirationAppliedPreset,
@@ -2939,6 +3186,23 @@ export {
2939
3186
  PluginAIInspirationVideoMotion,
2940
3187
  PluginAIInspirationVideoOptions,
2941
3188
  PluginAdjacencyLevel,
3189
+ PluginAnalysisApi,
3190
+ PluginAnalysisComputeResult,
3191
+ PluginAnalysisHeatmapGridCell,
3192
+ PluginAnalysisHeatmapOptions,
3193
+ PluginAnalysisHeatmapSpaceEntry,
3194
+ PluginAnalysisHeatmapsApi,
3195
+ PluginAnalysisHeatmapsRenderResult,
3196
+ PluginAnalysisIlluminanceApi,
3197
+ PluginAnalysisJobState,
3198
+ PluginAnalysisJobStateResult,
3199
+ PluginAnalysisJobStatus,
3200
+ PluginAnalysisShadowsApi,
3201
+ PluginAnalysisShadowsDateTimeResult,
3202
+ PluginAnalysisShadowsEnableOptions,
3203
+ PluginAnalysisShadowsSetDateTimeArgs,
3204
+ PluginAnalysisSunlightHoursApi,
3205
+ PluginAnalysisSunpathApi,
2942
3206
  PluginApi,
2943
3207
  PluginAreaClass,
2944
3208
  PluginAreaUnit,
@@ -2998,6 +3262,12 @@ export {
2998
3262
  PluginCoreGroupsListResult,
2999
3263
  PluginCoreGroupsUpdateArgs,
3000
3264
  PluginCoreGroupsUpdateResult,
3265
+ PluginCoreIoApi,
3266
+ PluginCoreIoImportApi,
3267
+ PluginCoreIoJobApi,
3268
+ PluginCoreIoQueryApi,
3269
+ PluginCoreIoTerrainApi,
3270
+ PluginCoreIoUnderlayApi,
3001
3271
  PluginCoreLayer,
3002
3272
  PluginCoreLayerType,
3003
3273
  PluginCoreLayersApi,
@@ -3301,6 +3571,13 @@ export {
3301
3571
  PluginHistoryApi,
3302
3572
  PluginHistoryStepArgs,
3303
3573
  PluginHistoryStepResult,
3574
+ PluginImportCadJsonArgs,
3575
+ PluginImportDwgArgs,
3576
+ PluginImportImageArgs,
3577
+ PluginImportJobArgs,
3578
+ PluginImportModelArgs,
3579
+ PluginImportPdfArgs,
3580
+ PluginImportTerrainArgs,
3304
3581
  PluginMassType,
3305
3582
  PluginMaterialInfo,
3306
3583
  PluginMaterialResult,
@@ -3393,6 +3670,9 @@ export {
3393
3670
  PluginProgramSiteContextResult,
3394
3671
  PluginProgramSiteListGeoPolygonsResult,
3395
3672
  PluginProgramSiteListPolygonsResult,
3673
+ PluginProgramSiteLocation,
3674
+ PluginProgramSiteLocationResult,
3675
+ PluginProgramSiteNorthAngleResult,
3396
3676
  PluginProgramSiteSnapshot,
3397
3677
  PluginProgramSpreadsheetAddChartArgs,
3398
3678
  PluginProgramSpreadsheetAddChartResult,
@@ -3444,6 +3724,8 @@ export {
3444
3724
  PluginProjectApi,
3445
3725
  PluginProjectSettingsApi,
3446
3726
  PluginQuatApi,
3727
+ PluginQueryCadLayersArgs,
3728
+ PluginQueryPdfPageCountArgs,
3447
3729
  PluginReferenceLineApi,
3448
3730
  PluginReferenceLineCreateMultiArgs,
3449
3731
  PluginReferenceLineCreateMultiResult,
@@ -3453,6 +3735,8 @@ export {
3453
3735
  PluginReferenceLineGetProperty,
3454
3736
  PluginReferenceLineGetResult,
3455
3737
  PluginReferenceLineStyle,
3738
+ PluginSelectionEntityType,
3739
+ PluginSelectionFilter,
3456
3740
  PluginSheetPosition,
3457
3741
  PluginSiteBounds,
3458
3742
  PluginSiteContextParcel,
@@ -3527,7 +3811,15 @@ export {
3527
3811
  PluginStoryGetResult,
3528
3812
  PluginStoryUpdateArgs,
3529
3813
  PluginStoryUpdateResult,
3814
+ PluginTerrainSetDatumArgs,
3815
+ PluginTerrainSetOpacityArgs,
3530
3816
  PluginToleranceArgs,
3817
+ PluginUnderlayListArgs,
3818
+ PluginUnderlayPlanSize,
3819
+ PluginUnderlayRefArgs,
3820
+ PluginUnderlaySetOpacityArgs,
3821
+ PluginUnderlaySetScaleArgs,
3822
+ PluginUnderlaySetScaleValue,
3531
3823
  PluginUnitsApi,
3532
3824
  PluginUnitsConvertArgs,
3533
3825
  PluginUnitsSetTypeArgs,
@@ -3539,6 +3831,9 @@ export {
3539
3831
  ProfileHandle,
3540
3832
  QuatComponents,
3541
3833
  QuatHandle,
3834
+ TerrainHandle,
3835
+ TerrainReport,
3836
+ UnderlayHandle,
3542
3837
  Vec3Components,
3543
3838
  Vec3Handle,
3544
3839
  VertexHandle,