@snaptrude/plugin-core 0.6.0 → 0.7.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 (83) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/api-manifest.full.json +511 -10
  3. package/api-manifest.json +529 -4
  4. package/dist/api/core/index.d.ts +5 -0
  5. package/dist/api/core/index.d.ts.map +1 -1
  6. package/dist/api/core/proposals/index.d.ts +475 -0
  7. package/dist/api/core/proposals/index.d.ts.map +1 -0
  8. package/dist/api/design/create/index.d.ts +209 -0
  9. package/dist/api/design/create/index.d.ts.map +1 -1
  10. package/dist/api/design/doors/index.d.ts +159 -0
  11. package/dist/api/design/doors/index.d.ts.map +1 -1
  12. package/dist/api/design/furniture/index.d.ts +34 -5
  13. package/dist/api/design/furniture/index.d.ts.map +1 -1
  14. package/dist/api/design/index.d.ts +83 -0
  15. package/dist/api/design/index.d.ts.map +1 -1
  16. package/dist/api/design/lock.d.ts +26 -0
  17. package/dist/api/design/lock.d.ts.map +1 -1
  18. package/dist/api/design/materials/index.d.ts +159 -2
  19. package/dist/api/design/materials/index.d.ts.map +1 -1
  20. package/dist/api/design/query/index.d.ts +115 -5
  21. package/dist/api/design/query/index.d.ts.map +1 -1
  22. package/dist/api/design/selection/index.d.ts +2 -2
  23. package/dist/api/design/transform/index.d.ts +83 -2
  24. package/dist/api/design/transform/index.d.ts.map +1 -1
  25. package/dist/api/design/update/index.d.ts +168 -0
  26. package/dist/api/design/update/index.d.ts.map +1 -1
  27. package/dist/api/design/windows/index.d.ts +113 -2
  28. package/dist/api/design/windows/index.d.ts.map +1 -1
  29. package/dist/api/entity/story.d.ts +101 -7
  30. package/dist/api/entity/story.d.ts.map +1 -1
  31. package/dist/api/presentation/import.d.ts +49 -4
  32. package/dist/api/presentation/import.d.ts.map +1 -1
  33. package/dist/api/presentation/views.d.ts +210 -5
  34. package/dist/api/presentation/views.d.ts.map +1 -1
  35. package/dist/api/program/areas.d.ts +42 -12
  36. package/dist/api/program/areas.d.ts.map +1 -1
  37. package/dist/api/program/index.d.ts +3 -11
  38. package/dist/api/program/index.d.ts.map +1 -1
  39. package/dist/api/program/layout.d.ts +186 -11
  40. package/dist/api/program/layout.d.ts.map +1 -1
  41. package/dist/errors/codes.d.ts +34 -0
  42. package/dist/errors/codes.d.ts.map +1 -0
  43. package/dist/errors/envelope.d.ts +56 -0
  44. package/dist/errors/envelope.d.ts.map +1 -0
  45. package/dist/errors/index.d.ts +6 -0
  46. package/dist/errors/index.d.ts.map +1 -0
  47. package/dist/errors/plugin-error.d.ts +69 -0
  48. package/dist/errors/plugin-error.d.ts.map +1 -0
  49. package/dist/host-utils.d.ts +4 -0
  50. package/dist/host-utils.d.ts.map +1 -1
  51. package/dist/index.cjs +1624 -1028
  52. package/dist/index.cjs.map +1 -1
  53. package/dist/index.d.ts +1 -0
  54. package/dist/index.d.ts.map +1 -1
  55. package/dist/index.js +1546 -1025
  56. package/dist/index.js.map +1 -1
  57. package/package.json +2 -1
  58. package/scripts/generate-manifest.test.mjs +77 -0
  59. package/src/api/core/index.ts +5 -0
  60. package/src/api/core/proposals/index.ts +509 -0
  61. package/src/api/design/create/index.ts +249 -0
  62. package/src/api/design/doors/index.ts +168 -0
  63. package/src/api/design/furniture/index.ts +36 -5
  64. package/src/api/design/index.ts +87 -0
  65. package/src/api/design/lock.ts +27 -0
  66. package/src/api/design/materials/index.ts +182 -2
  67. package/src/api/design/query/index.ts +81 -0
  68. package/src/api/design/transform/index.ts +74 -2
  69. package/src/api/design/update/index.ts +167 -0
  70. package/src/api/design/windows/index.ts +128 -2
  71. package/src/api/entity/story.ts +105 -7
  72. package/src/api/presentation/import.ts +45 -4
  73. package/src/api/presentation/views.ts +221 -5
  74. package/src/api/program/areas.ts +34 -12
  75. package/src/api/program/index.ts +3 -11
  76. package/src/api/program/layout.ts +195 -11
  77. package/src/errors/codes.ts +136 -0
  78. package/src/errors/envelope.ts +75 -0
  79. package/src/errors/index.ts +21 -0
  80. package/src/errors/plugin-error.ts +134 -0
  81. package/src/host-utils.ts +4 -0
  82. package/src/index.ts +1 -0
  83. package/test/errors.test.mjs +184 -0
package/dist/index.js CHANGED
@@ -1165,6 +1165,67 @@ var PluginCoreIoApi = class {
1165
1165
  }
1166
1166
  };
1167
1167
 
1168
+ // src/api/core/proposals/index.ts
1169
+ import * as z30 from "zod";
1170
+ var PluginCoreProposalsApi = class {
1171
+ constructor() {
1172
+ }
1173
+ };
1174
+ var PluginCoreProposalRef = z30.object({
1175
+ id: z30.string(),
1176
+ name: z30.string(),
1177
+ isActive: z30.boolean(),
1178
+ defaultBucketId: z30.string(),
1179
+ bucketIds: z30.array(z30.string()),
1180
+ createdAt: z30.string(),
1181
+ createdBy: z30.string()
1182
+ });
1183
+ var PluginCoreProposalsListResult = z30.object({
1184
+ proposals: z30.array(PluginCoreProposalRef)
1185
+ });
1186
+ var PluginCoreProposalsGetArgs = z30.object({
1187
+ proposalId: z30.string()
1188
+ });
1189
+ var PluginCoreProposalsGetResult = PluginCoreProposalRef.nullable();
1190
+ var PluginCoreProposalsGetActiveResult = PluginCoreProposalRef.nullable();
1191
+ var PluginCoreProposalsListForComponentArgs = z30.object({
1192
+ component: ComponentHandle
1193
+ });
1194
+ var PluginCoreProposalsListForComponentResult = PluginCoreProposalsListResult;
1195
+ var PluginCoreProposalsIsActiveArgs = PluginCoreProposalsGetArgs;
1196
+ var PluginCoreProposalsCreateArgs = z30.object({
1197
+ name: z30.string()
1198
+ });
1199
+ var PluginCoreProposalsCreateResult = z30.object({
1200
+ id: z30.string()
1201
+ });
1202
+ var PluginCoreProposalsRenameArgs = z30.object({
1203
+ proposalId: z30.string(),
1204
+ name: z30.string()
1205
+ });
1206
+ var PluginCoreProposalsRenameResult = PluginCoreProposalRef;
1207
+ var PluginCoreProposalsSetActiveArgs = z30.object({
1208
+ proposalId: z30.string()
1209
+ });
1210
+ var PluginCoreProposalsSetActiveResult = z30.object({
1211
+ id: z30.string()
1212
+ });
1213
+ var PluginCoreProposalsDeleteArgs = z30.object({
1214
+ proposalId: z30.string(),
1215
+ deleteObjects: z30.boolean().optional(),
1216
+ targetProposalId: z30.string().optional()
1217
+ }).refine((v) => v.deleteObjects === true !== (v.targetProposalId != null), {
1218
+ message: "Provide exactly one disposition: deleteObjects: true (destroy exclusive-bucket geometry) or targetProposalId (transfer buckets, then delete)"
1219
+ }).refine(
1220
+ (v) => v.targetProposalId == null || v.targetProposalId !== v.proposalId,
1221
+ {
1222
+ message: "targetProposalId must be a different proposal than proposalId"
1223
+ }
1224
+ );
1225
+ var PluginCoreProposalsDeleteResult = z30.object({
1226
+ deleted: z30.literal(true)
1227
+ });
1228
+
1168
1229
  // src/api/core/index.ts
1169
1230
  var PluginCoreApi = class {
1170
1231
  constructor() {
@@ -1172,39 +1233,39 @@ var PluginCoreApi = class {
1172
1233
  };
1173
1234
 
1174
1235
  // src/api/design/create/index.ts
1175
- import * as z31 from "zod";
1236
+ import * as z32 from "zod";
1176
1237
 
1177
1238
  // src/api/entity/space.ts
1178
- import * as z30 from "zod";
1179
- var PluginSpaceCreateRectangularArgs = z30.object({
1239
+ import * as z31 from "zod";
1240
+ var PluginSpaceCreateRectangularArgs = z31.object({
1180
1241
  position: Vec3Handle,
1181
- dimensions: z30.object({
1182
- width: z30.number(),
1183
- height: z30.number(),
1184
- depth: z30.number()
1242
+ dimensions: z31.object({
1243
+ width: z31.number(),
1244
+ height: z31.number(),
1245
+ depth: z31.number()
1185
1246
  })
1186
1247
  });
1187
- var PluginSpaceCreateRectangularResult = z30.object({
1188
- spaceId: z30.string()
1248
+ var PluginSpaceCreateRectangularResult = z31.object({
1249
+ spaceId: z31.string()
1189
1250
  });
1190
- var PluginSpaceCreateFromProfileArgs = z30.object({
1251
+ var PluginSpaceCreateFromProfileArgs = z31.object({
1191
1252
  profile: ProfileHandle,
1192
- innerProfiles: z30.array(ProfileHandle).optional(),
1193
- extrudeHeight: z30.number(),
1253
+ innerProfiles: z31.array(ProfileHandle).optional(),
1254
+ extrudeHeight: z31.number(),
1194
1255
  position: Vec3Handle
1195
1256
  });
1196
- var PluginSpaceCreateFromProfileResult = z30.object({
1197
- spaceId: z30.string()
1257
+ var PluginSpaceCreateFromProfileResult = z31.object({
1258
+ spaceId: z31.string()
1198
1259
  });
1199
- var PluginSpaceUpdateGeometryFromProfileArgs = z30.object({
1200
- spaceId: z30.string(),
1260
+ var PluginSpaceUpdateGeometryFromProfileArgs = z31.object({
1261
+ spaceId: z31.string(),
1201
1262
  profile: ProfileHandle,
1202
- extrudeHeight: z30.number()
1263
+ extrudeHeight: z31.number()
1203
1264
  });
1204
- var PluginSpaceUpdateGeometryFromProfileResult = z30.object({
1205
- spaceId: z30.string()
1265
+ var PluginSpaceUpdateGeometryFromProfileResult = z31.object({
1266
+ spaceId: z31.string()
1206
1267
  });
1207
- var PluginSpaceGetProperty = z30.enum([
1268
+ var PluginSpaceGetProperty = z31.enum([
1208
1269
  // Basic
1209
1270
  "id",
1210
1271
  "type",
@@ -1235,11 +1296,11 @@ var PluginSpaceGetProperty = z30.enum([
1235
1296
  // Derived from adjacency manager
1236
1297
  "adjacency"
1237
1298
  ]);
1238
- var PluginSpaceGetArgs = z30.object({
1239
- spaceId: z30.string(),
1240
- properties: z30.array(PluginSpaceGetProperty)
1299
+ var PluginSpaceGetArgs = z31.object({
1300
+ spaceId: z31.string(),
1301
+ properties: z31.array(PluginSpaceGetProperty)
1241
1302
  });
1242
- var PluginSpaceType = z30.enum([
1303
+ var PluginSpaceType = z31.enum([
1243
1304
  "Room",
1244
1305
  "Program Block",
1245
1306
  "Balcony",
@@ -1251,51 +1312,51 @@ var PluginSpaceType = z30.enum([
1251
1312
  "Envelope",
1252
1313
  "Parking"
1253
1314
  ]);
1254
- var PluginAreaClass = z30.enum(["NET", "GROSS", "EXCLUDED"]);
1255
- var PluginSpaceGetResult = z30.object({
1315
+ var PluginAreaClass = z31.enum(["NET", "GROSS", "EXCLUDED"]);
1316
+ var PluginSpaceGetResult = z31.object({
1256
1317
  // Basic
1257
- id: z30.string(),
1258
- type: z30.string(),
1259
- room_type: z30.string(),
1260
- name: z30.string(),
1318
+ id: z31.string(),
1319
+ type: z31.string(),
1320
+ room_type: z31.string(),
1321
+ name: z31.string(),
1261
1322
  // Derived from parametric data
1262
- area: z30.number(),
1263
- breadth: z30.number(),
1264
- depth: z30.number(),
1265
- height: z30.number(),
1266
- massType: z30.string().nullable(),
1323
+ area: z31.number(),
1324
+ breadth: z31.number(),
1325
+ depth: z31.number(),
1326
+ height: z31.number(),
1327
+ massType: z31.string().nullable(),
1267
1328
  spaceType: PluginSpaceType.nullable(),
1268
1329
  areaClass: PluginAreaClass,
1269
- storey: z30.number().nullable(),
1270
- departmentId: z30.string().nullable(),
1271
- departmentName: z30.string(),
1272
- departmentColor: z30.string(),
1330
+ storey: z31.number().nullable(),
1331
+ departmentId: z31.string().nullable(),
1332
+ departmentName: z31.string(),
1333
+ departmentColor: z31.string(),
1273
1334
  // Derived from mesh
1274
1335
  position: Vec3Components,
1275
1336
  absolutePosition: Vec3Components,
1276
1337
  rotation: Vec3Components,
1277
1338
  rotationQuaternion: QuatComponents.nullable(),
1278
1339
  // Derived from brep
1279
- planPoints: z30.array(Vec3Components),
1280
- profile: z30.array(CurveHandle),
1281
- innerProfiles: z30.array(z30.array(CurveHandle)),
1282
- innerPlanPoints: z30.array(z30.array(Vec3Components)),
1340
+ planPoints: z31.array(Vec3Components),
1341
+ profile: z31.array(CurveHandle),
1342
+ innerProfiles: z31.array(z31.array(CurveHandle)),
1343
+ innerPlanPoints: z31.array(z31.array(Vec3Components)),
1283
1344
  // Derived from adjacency manager.
1284
1345
  // value: 2 = Direct (required), 1 = Indirect or physical contact, -1 = Restricted;
1285
1346
  // 0 (no relationship) entries are filtered out. Empty array when adjacency has
1286
1347
  // never been computed — run program.adjacency.compute() first for fresh data.
1287
- adjacency: z30.array(z30.object({
1288
- spaceId: z30.string(),
1289
- value: z30.number()
1348
+ adjacency: z31.array(z31.object({
1349
+ spaceId: z31.string(),
1350
+ value: z31.number()
1290
1351
  }))
1291
1352
  }).partial();
1292
- var PluginSpaceGetAllResult = z30.object({
1293
- spacesIds: z30.array(z30.string())
1353
+ var PluginSpaceGetAllResult = z31.object({
1354
+ spacesIds: z31.array(z31.string())
1294
1355
  });
1295
- var PluginSpaceDeleteArgs = z30.object({
1296
- spaceId: z30.string()
1356
+ var PluginSpaceDeleteArgs = z31.object({
1357
+ spaceId: z31.string()
1297
1358
  });
1298
- var PluginMassType = z30.enum([
1359
+ var PluginMassType = z31.enum([
1299
1360
  "Plinth",
1300
1361
  "Void",
1301
1362
  "Pergola",
@@ -1309,89 +1370,89 @@ var PluginMassType = z30.enum([
1309
1370
  "Mass",
1310
1371
  "Site"
1311
1372
  ]);
1312
- var PluginWellKnownDepartmentId = z30.enum([
1373
+ var PluginWellKnownDepartmentId = z31.enum([
1313
1374
  "DEFAULT",
1314
1375
  "SITE",
1315
1376
  "ENVELOPE",
1316
1377
  "CORE"
1317
1378
  ]);
1318
- var PluginDepartmentId = z30.union([
1379
+ var PluginDepartmentId = z31.union([
1319
1380
  PluginWellKnownDepartmentId,
1320
- z30.uuid()
1381
+ z31.uuid()
1321
1382
  ]);
1322
- var PluginSpaceUpdateArgs = z30.object({
1323
- spaceId: z30.string(),
1324
- properties: z30.object({
1325
- room_type: z30.string().optional(),
1383
+ var PluginSpaceUpdateArgs = z31.object({
1384
+ spaceId: z31.string(),
1385
+ properties: z31.object({
1386
+ room_type: z31.string().optional(),
1326
1387
  massType: PluginMassType.optional(),
1327
1388
  spaceType: PluginSpaceType.optional(),
1328
1389
  areaClass: PluginAreaClass.optional(),
1329
1390
  departmentId: PluginDepartmentId.optional()
1330
1391
  })
1331
1392
  });
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(),
1393
+ var PluginSpaceUpdateResult = z31.object({
1394
+ spaceId: z31.string(),
1395
+ room_type: z31.string().optional(),
1396
+ massType: z31.string().optional(),
1397
+ spaceType: z31.string().optional(),
1337
1398
  areaClass: PluginAreaClass.optional(),
1338
- departmentId: z30.string().nullable().optional()
1399
+ departmentId: z31.string().nullable().optional()
1339
1400
  });
1340
- var PluginSpaceBulkCreateItem = z30.discriminatedUnion("kind", [
1341
- z30.object({
1342
- kind: z30.literal("rectangular"),
1401
+ var PluginSpaceBulkCreateItem = z31.discriminatedUnion("kind", [
1402
+ z31.object({
1403
+ kind: z31.literal("rectangular"),
1343
1404
  position: Vec3Handle,
1344
- dimensions: z30.object({
1345
- width: z30.number(),
1346
- height: z30.number(),
1347
- depth: z30.number()
1405
+ dimensions: z31.object({
1406
+ width: z31.number(),
1407
+ height: z31.number(),
1408
+ depth: z31.number()
1348
1409
  }),
1349
- room_type: z30.string().optional(),
1410
+ room_type: z31.string().optional(),
1350
1411
  spaceType: PluginSpaceType.optional(),
1351
1412
  massType: PluginMassType.optional(),
1352
1413
  departmentId: PluginDepartmentId.optional()
1353
1414
  }),
1354
- z30.object({
1355
- kind: z30.literal("profile"),
1415
+ z31.object({
1416
+ kind: z31.literal("profile"),
1356
1417
  profile: ProfileHandle,
1357
- innerProfiles: z30.array(ProfileHandle).optional(),
1358
- extrudeHeight: z30.number(),
1418
+ innerProfiles: z31.array(ProfileHandle).optional(),
1419
+ extrudeHeight: z31.number(),
1359
1420
  position: Vec3Handle,
1360
- room_type: z30.string().optional(),
1421
+ room_type: z31.string().optional(),
1361
1422
  spaceType: PluginSpaceType.optional(),
1362
1423
  massType: PluginMassType.optional(),
1363
1424
  departmentId: PluginDepartmentId.optional()
1364
1425
  })
1365
1426
  ]);
1366
- var PluginSpaceBulkCreateArgs = z30.object({
1367
- items: z30.array(PluginSpaceBulkCreateItem)
1427
+ var PluginSpaceBulkCreateArgs = z31.object({
1428
+ items: z31.array(PluginSpaceBulkCreateItem)
1368
1429
  });
1369
- var PluginSpaceBulkCreateResult = z30.object({
1370
- spaceIds: z30.array(z30.string())
1430
+ var PluginSpaceBulkCreateResult = z31.object({
1431
+ spaceIds: z31.array(z31.string())
1371
1432
  });
1372
- var PluginSpaceBulkUpdateItem = z30.object({
1373
- spaceId: z30.string(),
1433
+ var PluginSpaceBulkUpdateItem = z31.object({
1434
+ spaceId: z31.string(),
1374
1435
  profile: ProfileHandle.optional(),
1375
- extrudeHeight: z30.number().optional(),
1376
- properties: z30.object({
1377
- room_type: z30.string().optional(),
1436
+ extrudeHeight: z31.number().optional(),
1437
+ properties: z31.object({
1438
+ room_type: z31.string().optional(),
1378
1439
  massType: PluginMassType.optional(),
1379
1440
  spaceType: PluginSpaceType.optional(),
1380
1441
  areaClass: PluginAreaClass.optional(),
1381
1442
  departmentId: PluginDepartmentId.optional()
1382
1443
  }).optional()
1383
1444
  });
1384
- var PluginSpaceBulkUpdateArgs = z30.object({
1385
- items: z30.array(PluginSpaceBulkUpdateItem)
1445
+ var PluginSpaceBulkUpdateArgs = z31.object({
1446
+ items: z31.array(PluginSpaceBulkUpdateItem)
1386
1447
  });
1387
- var PluginSpaceBulkUpdateResult = z30.object({
1388
- spaces: z30.array(PluginSpaceUpdateResult)
1448
+ var PluginSpaceBulkUpdateResult = z31.object({
1449
+ spaces: z31.array(PluginSpaceUpdateResult)
1389
1450
  });
1390
- var PluginSpaceBulkDeleteArgs = z30.object({
1391
- spaceIds: z30.array(z30.string())
1451
+ var PluginSpaceBulkDeleteArgs = z31.object({
1452
+ spaceIds: z31.array(z31.string())
1392
1453
  });
1393
- var PluginSpaceBulkDeleteResult = z30.object({
1394
- deletedSpaceIds: z30.array(z30.string())
1454
+ var PluginSpaceBulkDeleteResult = z31.object({
1455
+ deletedSpaceIds: z31.array(z31.string())
1395
1456
  });
1396
1457
 
1397
1458
  // src/api/design/create/index.ts
@@ -1399,14 +1460,14 @@ var PluginDesignCreateApi = class {
1399
1460
  constructor() {
1400
1461
  }
1401
1462
  };
1402
- var PluginReferenceLineStyle = z31.enum(["SOLID", "DASHED", "DOT_DASH"]);
1403
- var PluginSlabType = z31.enum([
1463
+ var PluginReferenceLineStyle = z32.enum(["SOLID", "DASHED", "DOT_DASH"]);
1464
+ var PluginSlabType = z32.enum([
1404
1465
  "Intermediate Slab",
1405
1466
  "Basement Slab",
1406
1467
  "Plinth",
1407
1468
  "Roof"
1408
1469
  ]);
1409
- var PluginStaircasePreset = z31.enum([
1470
+ var PluginStaircasePreset = z32.enum([
1410
1471
  "straight",
1411
1472
  "straightWoLanding",
1412
1473
  "straightFlightWoMidLanding",
@@ -1424,89 +1485,122 @@ var PluginStaircasePreset = z31.enum([
1424
1485
  "mezzanineFloorLShaped",
1425
1486
  "custom"
1426
1487
  ]);
1427
- var PluginDesignCreateSpaceArgs = z31.object({
1488
+ var PluginDesignCreateSpaceArgs = z32.object({
1428
1489
  contour: ContourHandle,
1429
- height: z31.number(),
1430
- label: z31.string().optional(),
1490
+ height: z32.number(),
1491
+ label: z32.string().optional(),
1431
1492
  position: Vec3Handle.optional(),
1432
1493
  spaceType: PluginSpaceType.optional(),
1433
1494
  massType: PluginMassType.optional(),
1434
1495
  departmentId: PluginDepartmentId.optional()
1435
1496
  });
1436
- var PluginDesignCreateMassArgs = z31.object({
1497
+ var PluginDesignCreateMassArgs = z32.object({
1437
1498
  contour: ContourHandle,
1438
- height: z31.number(),
1439
- label: z31.string().optional(),
1499
+ height: z32.number(),
1500
+ label: z32.string().optional(),
1440
1501
  position: Vec3Handle.optional(),
1441
1502
  massType: PluginMassType.optional()
1442
1503
  });
1443
- var PluginDesignCreateSlabArgs = z31.object({
1504
+ var PluginDesignCreateSlabArgs = z32.object({
1444
1505
  contour: ContourHandle,
1445
- thickness: z31.number(),
1446
- direction: z31.enum(["up", "down"]).optional(),
1506
+ thickness: z32.number(),
1507
+ direction: z32.enum(["up", "down"]).optional(),
1447
1508
  slabType: PluginSlabType.optional()
1448
1509
  });
1449
- var PluginDesignCreateFloorArgs = z31.object({
1510
+ var PluginDesignCreateFloorArgs = z32.object({
1450
1511
  contour: ContourHandle,
1451
- thickness: z31.number(),
1512
+ thickness: z32.number(),
1452
1513
  position: Vec3Handle.optional()
1453
1514
  });
1454
- var PluginDesignCreateRoofArgs = z31.object({
1515
+ var PluginDesignCreateRoofArgs = z32.object({
1455
1516
  contour: ContourHandle,
1456
- thickness: z31.number()
1517
+ thickness: z32.number()
1457
1518
  });
1458
- var PluginDesignCreateCeilingArgs = z31.object({
1519
+ var PluginDesignCreateCeilingArgs = z32.object({
1459
1520
  contour: ContourHandle,
1460
- thickness: z31.number(),
1461
- heightFromFloor: z31.number().optional()
1521
+ thickness: z32.number(),
1522
+ heightFromFloor: z32.number().optional()
1462
1523
  });
1463
- var PluginDesignCreateColumnArgs = z31.object({
1524
+ var PluginDesignCreateColumnArgs = z32.object({
1464
1525
  position: Vec3Handle,
1465
1526
  crossSection: ContourHandle,
1466
- height: z31.number(),
1527
+ height: z32.number(),
1467
1528
  directionUp: Vec3Handle.optional()
1468
1529
  });
1469
- var PluginDesignCreateBeamArgs = z31.object({
1530
+ var PluginDesignCreateBeamArgs = z32.object({
1470
1531
  section: ContourHandle,
1471
- length: z31.number(),
1532
+ length: z32.number(),
1472
1533
  direction: Vec3Handle.optional()
1473
1534
  });
1474
- var PluginDesignCreateWallsArgs = z31.object({
1535
+ var PluginDesignCreateWallsArgs = z32.object({
1475
1536
  profile: ProfileHandle,
1476
- height: z31.number().optional(),
1477
- thickness: z31.number().optional()
1537
+ height: z32.number().optional(),
1538
+ thickness: z32.number().optional()
1478
1539
  });
1479
- var PluginDesignCreateStaircaseArgs = z31.object({
1540
+ var PluginDesignCreateStaircaseArgs = z32.object({
1480
1541
  preset: PluginStaircasePreset,
1481
1542
  position: Vec3Handle,
1482
- label: z31.string().optional(),
1483
- structureId: z31.string().optional(),
1484
- level: z31.string().optional()
1543
+ label: z32.string().optional(),
1544
+ structureId: z32.string().optional(),
1545
+ level: z32.string().optional()
1485
1546
  });
1486
- var PluginDesignCreateFurnitureArgs = z31.object({
1487
- catalogId: z31.string().min(1),
1547
+ var PluginDesignCreateFurnitureArgs = z32.object({
1548
+ catalogId: z32.string().min(1),
1488
1549
  position: Vec3Handle,
1489
- label: z31.string().optional(),
1490
- createNewSourceMesh: z31.boolean().optional()
1550
+ label: z32.string().optional(),
1551
+ createNewSourceMesh: z32.boolean().optional()
1491
1552
  });
1492
- var PluginDesignCreateReferenceLinesArgs = z31.object({
1553
+ var PluginDesignCreateDoorArgs = z32.object({
1554
+ catalogId: z32.string().min(1),
1555
+ hostWall: ComponentHandle,
1556
+ position: Vec3Handle,
1557
+ label: z32.string().optional()
1558
+ });
1559
+ var PluginDesignCreateWindowArgs = z32.object({
1560
+ catalogId: z32.string().min(1),
1561
+ hostWall: ComponentHandle,
1562
+ position: Vec3Handle,
1563
+ label: z32.string().optional()
1564
+ });
1565
+ var PluginSmartLayoutArgs = z32.object({
1566
+ templateGroup: z32.string().min(1).optional(),
1567
+ templateComponents: z32.array(ComponentHandle).optional(),
1568
+ targets: z32.array(ComponentHandle).min(1),
1569
+ hideTargets: z32.boolean().optional()
1570
+ }).refine(
1571
+ (v) => v.templateGroup != null !== (v.templateComponents?.length ?? 0) > 0,
1572
+ {
1573
+ message: "Provide exactly one template source: templateGroup or a non-empty templateComponents"
1574
+ }
1575
+ );
1576
+ var PluginSmartLayoutResult = z32.object({
1577
+ created: z32.object({
1578
+ walls: z32.array(ComponentHandle),
1579
+ furniture: z32.array(ComponentHandle),
1580
+ doors: z32.array(ComponentHandle),
1581
+ windows: z32.array(ComponentHandle),
1582
+ floors: z32.array(ComponentHandle)
1583
+ }),
1584
+ skippedWalls: z32.number()
1585
+ });
1586
+ var PluginDesignCreateReferenceLinesArgs = z32.object({
1493
1587
  profile: ProfileHandle,
1494
- color: z31.string().optional(),
1495
- thickness: z31.number().optional(),
1588
+ color: z32.string().optional(),
1589
+ thickness: z32.number().optional(),
1496
1590
  style: PluginReferenceLineStyle.optional(),
1497
- gridTag: z31.string().optional()
1591
+ gridTag: z32.string().optional()
1498
1592
  });
1499
- var PluginCopyMode = z31.enum(["instance", "unique"]);
1500
- var PluginDesignCreateCopyArgs = z31.object({
1501
- components: z31.array(ComponentHandle).min(1),
1593
+ var PluginCopyMode = z32.enum(["instance", "unique"]);
1594
+ var PluginDesignCreateCopyArgs = z32.object({
1595
+ components: z32.array(ComponentHandle).min(1),
1502
1596
  displacement: Vec3Handle,
1503
- count: z31.number().int().positive().optional(),
1597
+ count: z32.number().int().positive().optional(),
1504
1598
  mode: PluginCopyMode.optional()
1505
1599
  });
1506
- var PluginCreateSpaceItem = z31.object({
1600
+ var PluginCreateSpaceItem = z32.object({
1507
1601
  contour: ContourHandle,
1508
- height: z31.number(),
1509
- label: z31.string().optional(),
1602
+ height: z32.number(),
1603
+ label: z32.string().optional(),
1510
1604
  position: Vec3Handle.optional(),
1511
1605
  spaceType: PluginSpaceType.optional(),
1512
1606
  massType: PluginMassType.optional(),
@@ -1514,44 +1608,44 @@ var PluginCreateSpaceItem = z31.object({
1514
1608
  });
1515
1609
 
1516
1610
  // src/api/design/query/index.ts
1517
- import * as z34 from "zod";
1611
+ import * as z35 from "zod";
1518
1612
 
1519
1613
  // src/api/design/query/geometry/index.ts
1520
- import * as z32 from "zod";
1614
+ import * as z33 from "zod";
1521
1615
  var PluginDesignQueryGeometryApi = class {
1522
1616
  constructor() {
1523
1617
  }
1524
1618
  };
1525
- var PluginDesignQueryGeometryGetBrepArgs = z32.object({
1619
+ var PluginDesignQueryGeometryGetBrepArgs = z33.object({
1526
1620
  component: ComponentHandle
1527
1621
  });
1528
- var PluginDesignQueryGeometryGetBottomContourArgs = z32.object({
1622
+ var PluginDesignQueryGeometryGetBottomContourArgs = z33.object({
1529
1623
  component: ComponentHandle
1530
1624
  });
1531
- var PluginDesignQueryGeometryGetCenterlineArgs = z32.object({
1625
+ var PluginDesignQueryGeometryGetCenterlineArgs = z33.object({
1532
1626
  component: ComponentHandle
1533
1627
  });
1534
1628
 
1535
1629
  // src/api/design/query/spaces.ts
1536
- import * as z33 from "zod";
1630
+ import * as z34 from "zod";
1537
1631
  var PluginDesignQuerySpacesApi = class {
1538
1632
  constructor() {
1539
1633
  }
1540
1634
  };
1541
- var PluginDesignQueryGetFootprintArgs = z33.object({
1635
+ var PluginDesignQueryGetFootprintArgs = z34.object({
1542
1636
  space: ComponentHandle
1543
1637
  });
1544
1638
  var PluginDesignQuerySpacesGetProperty = PluginSpaceGetProperty.exclude(["adjacency"]);
1545
- var PluginDesignQuerySpacesGetArgs = z33.object({
1639
+ var PluginDesignQuerySpacesGetArgs = z34.object({
1546
1640
  space: ComponentHandle,
1547
- properties: z33.array(PluginDesignQuerySpacesGetProperty)
1641
+ properties: z34.array(PluginDesignQuerySpacesGetProperty)
1548
1642
  });
1549
1643
  var PluginDesignQuerySpacesGetResult = PluginSpaceGetResult.omit({
1550
1644
  adjacency: true
1551
1645
  });
1552
1646
 
1553
1647
  // src/api/design/query/index.ts
1554
- var PluginEntityType = z34.enum([
1648
+ var PluginEntityType = z35.enum([
1555
1649
  "wall",
1556
1650
  "space",
1557
1651
  "mass",
@@ -1570,65 +1664,82 @@ var PluginEntityType = z34.enum([
1570
1664
  "mullion",
1571
1665
  "panel"
1572
1666
  ]);
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(),
1667
+ var PluginEntityFilter = z35.object({
1668
+ types: z35.array(PluginEntityType).optional(),
1669
+ storeys: z35.array(z35.number()).optional(),
1670
+ buildingIds: z35.array(z35.string()).optional(),
1671
+ structureIds: z35.array(z35.string()).optional(),
1672
+ label: z35.string().optional(),
1673
+ massTypes: z35.array(PluginMassType).optional(),
1674
+ spaceTypes: z35.array(PluginSpaceType).optional(),
1581
1675
  departmentId: PluginDepartmentId.optional(),
1582
- isSelected: z34.boolean().optional(),
1583
- isLocked: z34.boolean().optional(),
1584
- isHidden: z34.boolean().optional(),
1676
+ isSelected: z35.boolean().optional(),
1677
+ isLocked: z35.boolean().optional(),
1678
+ isHidden: z35.boolean().optional(),
1585
1679
  within: BBoxComponents.optional(),
1586
1680
  overlaps: ComponentHandle.optional(),
1587
- ids: z34.array(ComponentHandle).optional()
1681
+ ids: z35.array(ComponentHandle).optional()
1588
1682
  });
1589
1683
  var PluginDesignQueryListByTypeArgs = PluginEntityFilter.extend({
1590
1684
  type: PluginEntityType
1591
1685
  });
1592
- var PluginDesignQueryComponentArgs = z34.object({
1686
+ var PluginDesignQueryComponentArgs = z35.object({
1593
1687
  component: ComponentHandle
1594
1688
  });
1595
- var PluginDesignQueryIdArgs = z34.object({
1689
+ var PluginDesignQueryIdArgs = z35.object({
1596
1690
  id: ComponentHandle
1597
1691
  });
1598
- var PluginDesignQueryComponentsArgs = z34.object({
1599
- components: z34.array(ComponentHandle)
1692
+ var PluginDesignQueryComponentsArgs = z35.object({
1693
+ components: z35.array(ComponentHandle)
1600
1694
  });
1601
- var PluginEntityProperties = z34.object({
1602
- id: z34.string(),
1695
+ var PluginEntityProperties = z35.object({
1696
+ id: z35.string(),
1603
1697
  type: PluginEntityType,
1604
- label: z34.string(),
1605
- storey: z34.number(),
1606
- buildingId: z34.string(),
1607
- structureId: z34.string(),
1608
- massType: z34.string(),
1698
+ label: z35.string(),
1699
+ storey: z35.number(),
1700
+ buildingId: z35.string(),
1701
+ structureId: z35.string(),
1702
+ massType: z35.string(),
1609
1703
  spaceType: PluginSpaceType,
1610
1704
  areaClass: PluginAreaClass,
1611
- departmentId: z34.string(),
1612
- isLocked: z34.boolean(),
1613
- isHidden: z34.boolean(),
1614
- isSelected: z34.boolean(),
1705
+ departmentId: z35.string(),
1706
+ isLocked: z35.boolean(),
1707
+ isHidden: z35.boolean(),
1708
+ isSelected: z35.boolean(),
1615
1709
  boundingBox: BBoxComponents,
1616
- adjacency: z34.array(z34.object({ spaceId: z34.string(), value: z34.number() }))
1710
+ adjacency: z35.array(z35.object({ spaceId: z35.string(), value: z35.number() }))
1617
1711
  }).partial();
1618
- var PluginEntityMeasurements = z34.object({
1619
- area: z34.number().optional(),
1620
- volume: z34.number().optional(),
1621
- length: z34.number().optional(),
1712
+ var PluginEntityMeasurements = z35.object({
1713
+ area: z35.number().optional(),
1714
+ volume: z35.number().optional(),
1715
+ length: z35.number().optional(),
1622
1716
  boundingBox: BBoxComponents
1623
1717
  });
1718
+ var PluginStaircaseParams = z35.object({
1719
+ staircaseType: PluginStaircasePreset,
1720
+ staircasePreset: PluginStaircasePreset,
1721
+ staircaseHeight: z35.number(),
1722
+ steps: z35.number(),
1723
+ riser: z35.number(),
1724
+ tread: z35.number(),
1725
+ width: z35.number(),
1726
+ depth: z35.number(),
1727
+ wellSize: z35.number().optional(),
1728
+ landingWidth: z35.number().optional(),
1729
+ flightStartDistAfterTurn: z35.number().optional(),
1730
+ baseOffset: z35.number(),
1731
+ isStoreyHeightUnlocked: z35.boolean(),
1732
+ isStaircaseHeightUnlocked: z35.boolean(),
1733
+ storey: z35.number()
1734
+ });
1624
1735
  var PluginDesignQueryApi = class {
1625
1736
  constructor() {
1626
1737
  }
1627
1738
  };
1628
1739
 
1629
1740
  // src/api/design/selection/index.ts
1630
- import * as z35 from "zod";
1631
- var PluginSelectionEntityType = z35.enum([
1741
+ import * as z36 from "zod";
1742
+ var PluginSelectionEntityType = z36.enum([
1632
1743
  "wall",
1633
1744
  "slab",
1634
1745
  "floor",
@@ -1654,9 +1765,9 @@ var PluginSelectionEntityType = z35.enum([
1654
1765
  "neighborhoodBuilding",
1655
1766
  "programBlock"
1656
1767
  ]);
1657
- var PluginSelectionFilter = z35.object({
1658
- storeys: z35.array(z35.number()).optional(),
1659
- types: z35.array(PluginSelectionEntityType).optional()
1768
+ var PluginSelectionFilter = z36.object({
1769
+ storeys: z36.array(z36.number()).optional(),
1770
+ types: z36.array(PluginSelectionEntityType).optional()
1660
1771
  }).refine((f) => (f.storeys?.length ?? 0) + (f.types?.length ?? 0) > 0, {
1661
1772
  message: "PluginSelectionFilter requires at least one non-empty field (storeys or types); use design.selection.clear() to deselect everything"
1662
1773
  });
@@ -1664,165 +1775,224 @@ var PluginDesignSelectionApi = class {
1664
1775
  constructor() {
1665
1776
  }
1666
1777
  };
1667
- var PluginDesignSelectionSetArgs = z35.object({
1668
- components: z35.array(ComponentHandle)
1778
+ var PluginDesignSelectionSetArgs = z36.object({
1779
+ components: z36.array(ComponentHandle)
1669
1780
  });
1670
1781
  var PluginDesignSelectionAddArgs = PluginDesignSelectionSetArgs;
1671
1782
  var PluginDesignSelectionRemoveArgs = PluginDesignSelectionSetArgs;
1672
1783
 
1673
1784
  // src/api/design/doors/index.ts
1674
- import * as z36 from "zod";
1785
+ import * as z37 from "zod";
1675
1786
  var PluginDesignDoorsApi = class {
1676
1787
  constructor() {
1677
1788
  }
1678
1789
  };
1679
- var PluginDesignDoorArgs = z36.object({
1790
+ var PluginDesignDoorArgs = z37.object({
1680
1791
  door: ComponentHandle
1681
1792
  });
1682
- var PluginMirrorAxis = z36.enum(["x", "y", "z"]);
1683
- var PluginDesignDoorMirrorArgs = z36.object({
1793
+ var PluginMirrorAxis = z37.enum(["x", "y", "z"]);
1794
+ var PluginDesignDoorMirrorArgs = z37.object({
1684
1795
  door: ComponentHandle,
1685
1796
  axis: PluginMirrorAxis.optional()
1686
1797
  });
1687
- var PluginDesignDoorSetWidthArgs = z36.object({
1688
- doors: z36.array(ComponentHandle),
1689
- width: z36.number()
1798
+ var PluginDesignDoorSetWidthArgs = z37.object({
1799
+ doors: z37.array(ComponentHandle),
1800
+ width: z37.number()
1801
+ });
1802
+ var PluginDesignDoorSetHeightArgs = z37.object({
1803
+ doors: z37.array(ComponentHandle),
1804
+ height: z37.number()
1805
+ });
1806
+ var PluginObjectCatalogGroup = z37.object({
1807
+ dbType: z37.string(),
1808
+ label: z37.string(),
1809
+ source: z37.enum(["default", "team"])
1810
+ });
1811
+ var PluginObjectCatalogItem = z37.object({
1812
+ id: z37.string(),
1813
+ name: z37.string(),
1814
+ source: z37.enum(["team", "general"]),
1815
+ dbType: z37.string(),
1816
+ subType: z37.string().optional(),
1817
+ thumbnailUrl: z37.string().optional(),
1818
+ cost: z37.number().optional(),
1819
+ familyName: z37.string().optional()
1820
+ });
1821
+ var PluginDesignDoorListCatalogArgs = z37.object({
1822
+ group: z37.string().optional()
1690
1823
  });
1691
- var PluginDesignDoorSetHeightArgs = z36.object({
1692
- doors: z36.array(ComponentHandle),
1693
- height: z36.number()
1824
+ var PluginDesignDoorGetCatalogItemArgs = z37.object({
1825
+ id: z37.string()
1694
1826
  });
1827
+ var PluginDesignDoorExistsArgs = PluginDesignDoorGetCatalogItemArgs;
1695
1828
 
1696
1829
  // src/api/design/windows/index.ts
1697
- import * as z37 from "zod";
1830
+ import * as z38 from "zod";
1698
1831
  var PluginDesignWindowsApi = class {
1699
1832
  constructor() {
1700
1833
  }
1701
1834
  };
1702
- var PluginDesignWindowArgs = z37.object({
1835
+ var PluginDesignWindowArgs = z38.object({
1703
1836
  window: ComponentHandle
1704
1837
  });
1705
- var PluginWindowDimensions = z37.object({
1706
- width: z37.number(),
1707
- height: z37.number(),
1708
- thickness: z37.number()
1838
+ var PluginWindowDimensions = z38.object({
1839
+ width: z38.number(),
1840
+ height: z38.number(),
1841
+ thickness: z38.number()
1709
1842
  });
1710
- var PluginDesignWindowSetWidthArgs = z37.object({
1843
+ var PluginDesignWindowSetWidthArgs = z38.object({
1711
1844
  window: ComponentHandle,
1712
- width: z37.number()
1845
+ width: z38.number()
1713
1846
  });
1714
- var PluginDesignWindowSetHeightArgs = z37.object({
1847
+ var PluginDesignWindowSetHeightArgs = z38.object({
1715
1848
  window: ComponentHandle,
1716
- height: z37.number()
1849
+ height: z38.number()
1717
1850
  });
1851
+ var PluginDesignWindowListCatalogArgs = z38.object({
1852
+ group: z38.string().optional()
1853
+ });
1854
+ var PluginDesignWindowGetCatalogItemArgs = z38.object({
1855
+ id: z38.string()
1856
+ });
1857
+ var PluginDesignWindowExistsArgs = PluginDesignWindowGetCatalogItemArgs;
1718
1858
 
1719
1859
  // src/api/design/furniture/index.ts
1720
- import * as z38 from "zod";
1860
+ import * as z39 from "zod";
1721
1861
  var PluginDesignFurnitureApi = class {
1722
1862
  constructor() {
1723
1863
  }
1724
1864
  };
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()
1865
+ var PluginFurnitureCatalogItem = z39.object({
1866
+ id: z39.string(),
1867
+ name: z39.string(),
1868
+ source: z39.enum(["team", "general"]),
1869
+ subType: z39.string().optional(),
1870
+ category: z39.string().optional(),
1871
+ thumbnailUrl: z39.string().optional(),
1872
+ cost: z39.number().optional(),
1873
+ familyName: z39.string().optional()
1732
1874
  });
1733
- var PluginDesignFurnitureListCatalogArgs = z38.object({
1734
- source: z38.enum(["team", "general"]).optional()
1875
+ var PluginDesignFurnitureListCatalogArgs = z39.object({
1876
+ source: z39.enum(["team", "general"]).optional(),
1877
+ category: z39.string().optional()
1735
1878
  });
1736
- var PluginDesignFurnitureGetCatalogItemArgs = z38.object({
1737
- id: z38.string()
1879
+ var PluginDesignFurnitureGetCatalogItemArgs = z39.object({
1880
+ id: z39.string()
1738
1881
  });
1739
1882
  var PluginDesignFurnitureExistsArgs = PluginDesignFurnitureGetCatalogItemArgs;
1740
1883
 
1741
1884
  // src/api/design/materials/index.ts
1742
- import * as z39 from "zod";
1885
+ import * as z40 from "zod";
1743
1886
  var PluginDesignMaterialsApi = class {
1744
1887
  constructor() {
1745
1888
  }
1746
1889
  };
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 });
1890
+ var PluginMaterialInfo = z40.object({
1891
+ name: z40.string(),
1892
+ id: z40.string(),
1893
+ colorHex: z40.string(),
1894
+ alpha: z40.number(),
1895
+ materialType: z40.string().optional(),
1896
+ textureUrl: z40.string().optional()
1897
+ });
1898
+ var PluginMaterialSpec = z40.object({
1899
+ name: z40.string().optional(),
1900
+ color: z40.string().optional(),
1901
+ textureUrl: z40.string().optional(),
1902
+ alpha: z40.number().optional(),
1903
+ materialType: z40.string().optional()
1904
+ });
1905
+ var PluginMaterialResult = z40.object({ count: z40.number() });
1906
+ var PluginFaceMaterial = z40.object({
1907
+ faceIndex: z40.number().int().nonnegative(),
1908
+ material: MaterialHandle.nullable()
1909
+ });
1910
+ var PluginDesignMaterialsListArgs = z40.object({
1911
+ scope: z40.enum(["project", "preset"]).optional()
1912
+ });
1913
+ var PluginDesignMaterialsGetInfoArgs = z40.object({ material: MaterialHandle });
1914
+ var PluginDesignMaterialsComponentArgs = z40.object({ component: ComponentHandle });
1915
+ var PluginDesignMaterialsApplyArgs = z40.object({
1916
+ targets: z40.array(ComponentHandle),
1917
+ material: z40.union([MaterialHandle, PluginMaterialSpec]),
1918
+ save: z40.boolean().optional()
1919
+ });
1920
+ var PluginDesignMaterialsResetArgs = z40.object({
1921
+ components: z40.array(ComponentHandle),
1922
+ save: z40.boolean().optional()
1923
+ });
1924
+ var PluginDesignMaterialsCreateArgs = z40.object({ spec: PluginMaterialSpec });
1925
+ var PluginDesignMaterialsApplyToFacesArgs = z40.object({
1926
+ component: ComponentHandle,
1927
+ faces: z40.array(z40.number().int().nonnegative()),
1928
+ material: z40.union([MaterialHandle, PluginMaterialSpec]),
1929
+ save: z40.boolean().optional()
1930
+ });
1931
+ var PluginDesignMaterialsResetFacesArgs = z40.object({
1932
+ component: ComponentHandle,
1933
+ faces: z40.array(z40.number().int().nonnegative()),
1934
+ save: z40.boolean().optional()
1935
+ });
1936
+ var PluginDesignMaterialsGetByFaceArgs = z40.object({
1937
+ component: ComponentHandle,
1938
+ face: z40.number().int().nonnegative()
1939
+ });
1940
+ var PluginDesignMaterialsListByFaceArgs = PluginDesignMaterialsComponentArgs;
1778
1941
 
1779
1942
  // src/api/design/lock.ts
1780
- import * as z40 from "zod";
1781
- var PluginDesignChangeResult = z40.object({
1782
- affected: z40.array(ComponentHandle)
1943
+ import * as z41 from "zod";
1944
+ var PluginDesignChangeResult = z41.object({
1945
+ affected: z41.array(ComponentHandle)
1783
1946
  });
1784
- var PluginDesignLockArgs = z40.object({
1785
- components: z40.array(ComponentHandle)
1947
+ var PluginDesignLockArgs = z41.object({
1948
+ components: z41.array(ComponentHandle)
1786
1949
  });
1787
1950
  var PluginDesignUnlockArgs = PluginDesignLockArgs;
1788
- var PluginDesignIsLockedArgs = z40.object({
1951
+ var PluginDesignIsLockedArgs = z41.object({
1789
1952
  component: ComponentHandle,
1790
- includeInherited: z40.boolean().optional()
1953
+ includeInherited: z41.boolean().optional()
1954
+ });
1955
+ var PluginDesignLockAreaArgs = z41.object({
1956
+ spaces: z41.array(ComponentHandle)
1957
+ });
1958
+ var PluginDesignUnlockAreaArgs = PluginDesignLockAreaArgs;
1959
+ var PluginDesignIsAreaLockedArgs = z41.object({
1960
+ space: ComponentHandle
1791
1961
  });
1792
1962
 
1793
1963
  // src/api/design/erase/index.ts
1794
- import * as z41 from "zod";
1795
- var EraseStrategy = z41.enum(["DirectDelete", "DirectUnion", "SplitAndUnion"]);
1964
+ import * as z42 from "zod";
1965
+ var EraseStrategy = z42.enum(["DirectDelete", "DirectUnion", "SplitAndUnion"]);
1796
1966
  var DEFAULT_ERASE_STRATEGIES = ["DirectDelete", "DirectUnion"];
1797
- var ErasableEdgeRef = z41.object({
1967
+ var ErasableEdgeRef = z42.object({
1798
1968
  /** Opaque bottom-graph edge id (engine form `"e-<n>"`). Do not mutate. Pass verbatim to {@linkcode PluginDesignEraseApi.edge}. */
1799
- id: z41.string().min(1),
1969
+ id: z42.string().min(1),
1800
1970
  /** What erasing this edge would do: `DirectDelete` drops a mass; `DirectUnion` merges two adjacent masses. */
1801
1971
  strategy: EraseStrategy,
1802
1972
  /** Bottom-graph edge weight: `1` = external boundary edge, `>=2` = internal edge shared between components. */
1803
- edgeWeight: z41.number(),
1973
+ edgeWeight: z42.number(),
1804
1974
  /** 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),
1975
+ components: z42.array(ComponentHandle),
1806
1976
  /** A representative point on the edge (its head endpoint). Diagnostic only. */
1807
1977
  snapPoint: Vec3Handle
1808
1978
  });
1809
- var PluginDesignListErasableEdgesArgs = z41.object({
1810
- components: z41.array(ComponentHandle).optional(),
1811
- strategies: z41.array(EraseStrategy).optional()
1979
+ var PluginDesignListErasableEdgesArgs = z42.object({
1980
+ components: z42.array(ComponentHandle).optional(),
1981
+ strategies: z42.array(EraseStrategy).optional()
1812
1982
  });
1813
- var PluginDesignEraseEdgeArgs = z41.object({
1983
+ var PluginDesignEraseEdgeArgs = z42.object({
1814
1984
  edge: ErasableEdgeRef
1815
1985
  });
1816
- var PluginDesignEraseEdgeResult = z41.object({ ok: z41.literal(true) });
1986
+ var PluginDesignEraseEdgeResult = z42.object({ ok: z42.literal(true) });
1817
1987
  var PluginDesignEraseApi = class {
1818
1988
  constructor() {
1819
1989
  }
1820
1990
  };
1821
1991
 
1822
1992
  // src/api/design/delete/index.ts
1823
- import * as z42 from "zod";
1824
- var PluginDesignDeleteEntitiesArgs = z42.object({
1825
- components: z42.array(ComponentHandle).min(1)
1993
+ import * as z43 from "zod";
1994
+ var PluginDesignDeleteEntitiesArgs = z43.object({
1995
+ components: z43.array(ComponentHandle).min(1)
1826
1996
  });
1827
1997
  var PluginDesignDeleteApi = class {
1828
1998
  constructor() {
@@ -1830,89 +2000,120 @@ var PluginDesignDeleteApi = class {
1830
2000
  };
1831
2001
 
1832
2002
  // src/api/design/shared.ts
1833
- import * as z43 from "zod";
1834
- var BooleanOutcome = z43.object({
1835
- created: z43.array(ComponentHandle),
1836
- deleted: z43.array(ComponentHandle)
2003
+ import * as z44 from "zod";
2004
+ var BooleanOutcome = z44.object({
2005
+ created: z44.array(ComponentHandle),
2006
+ deleted: z44.array(ComponentHandle)
1837
2007
  });
1838
- var OffsetSplitOutcome = z43.object({
1839
- createdIds: z43.array(ComponentHandle),
1840
- deletedIds: z43.array(ComponentHandle),
1841
- offsetValue: z43.number()
2008
+ var OffsetSplitOutcome = z44.object({
2009
+ createdIds: z44.array(ComponentHandle),
2010
+ deletedIds: z44.array(ComponentHandle),
2011
+ offsetValue: z44.number()
1842
2012
  });
1843
2013
 
1844
2014
  // src/api/design/boolean/index.ts
1845
- import * as z44 from "zod";
2015
+ import * as z45 from "zod";
1846
2016
  var PluginDesignBooleanApi = class {
1847
2017
  constructor() {
1848
2018
  }
1849
2019
  };
1850
- var BooleanOptions = z44.object({
2020
+ var BooleanOptions = z45.object({
1851
2021
  offset: Vec3Handle.optional()
1852
2022
  });
1853
- var PluginDesignBooleanUnionArgs = z44.object({
1854
- components: z44.array(ComponentHandle).min(2),
2023
+ var PluginDesignBooleanUnionArgs = z45.object({
2024
+ components: z45.array(ComponentHandle).min(2),
1855
2025
  options: BooleanOptions.optional()
1856
2026
  });
1857
- var PluginDesignBooleanSubtractArgs = z44.object({
2027
+ var PluginDesignBooleanSubtractArgs = z45.object({
1858
2028
  target: ComponentHandle,
1859
- tools: z44.array(ComponentHandle).min(1),
2029
+ tools: z45.array(ComponentHandle).min(1),
1860
2030
  options: BooleanOptions.optional()
1861
2031
  });
1862
- var PluginDesignBooleanIntersectArgs = z44.object({
1863
- components: z44.array(ComponentHandle).length(2),
2032
+ var PluginDesignBooleanIntersectArgs = z45.object({
2033
+ components: z45.array(ComponentHandle).length(2),
1864
2034
  options: BooleanOptions.optional()
1865
2035
  });
1866
2036
 
1867
2037
  // src/api/design/transform/index.ts
1868
- import * as z45 from "zod";
2038
+ import * as z46 from "zod";
1869
2039
  var PluginDesignTransformApi = class {
1870
2040
  constructor() {
1871
2041
  }
1872
2042
  };
1873
- var PluginDesignMoveArgs = z45.object({
1874
- components: z45.array(ComponentHandle).min(1),
2043
+ var PluginAlignEdge = z46.enum(["left", "right", "center", "top", "bottom", "middle"]);
2044
+ var PluginDesignMoveArgs = z46.object({
2045
+ components: z46.array(ComponentHandle).min(1),
1875
2046
  displacement: Vec3Handle,
1876
- is2D: z45.boolean().optional(),
1877
- trackParentChange: z45.boolean().optional()
2047
+ is2D: z46.boolean().optional(),
2048
+ trackParentChange: z46.boolean().optional()
1878
2049
  });
1879
- var PluginDesignRotateArgs = z45.object({
1880
- components: z45.array(ComponentHandle).min(1),
1881
- angleInDegrees: z45.number(),
2050
+ var PluginDesignRotateArgs = z46.object({
2051
+ components: z46.array(ComponentHandle).min(1),
2052
+ angleInDegrees: z46.number(),
1882
2053
  axis: Vec3Handle.optional(),
1883
- is2D: z45.boolean().optional()
2054
+ is2D: z46.boolean().optional()
2055
+ });
2056
+ var PluginDesignAlignArgs = z46.object({
2057
+ components: z46.array(ComponentHandle).min(1),
2058
+ edge: PluginAlignEdge,
2059
+ reference: ComponentHandle.optional()
1884
2060
  });
1885
2061
 
1886
2062
  // src/api/design/edit/index.ts
1887
- import * as z46 from "zod";
2063
+ import * as z47 from "zod";
1888
2064
  var PluginDesignEditApi = class {
1889
2065
  constructor() {
1890
2066
  }
1891
2067
  };
1892
- var PluginDesignOffsetSplitArgs = z46.object({
2068
+ var PluginDesignOffsetSplitArgs = z47.object({
1893
2069
  component: ComponentHandle,
1894
- offsetDistance: z46.number(),
2070
+ offsetDistance: z47.number(),
1895
2071
  profilePickPoint: Vec3Handle.optional()
1896
2072
  });
1897
2073
 
1898
2074
  // src/api/design/update/index.ts
1899
- import * as z47 from "zod";
1900
- var PluginSpacePropertyUpdates = z47.object({
1901
- room_type: z47.string().optional(),
2075
+ import * as z48 from "zod";
2076
+ var PluginSpacePropertyUpdates = z48.object({
2077
+ room_type: z48.string().optional(),
1902
2078
  massType: PluginMassType.optional(),
1903
2079
  spaceType: PluginSpaceType.optional(),
1904
2080
  areaClass: PluginAreaClass.optional(),
1905
2081
  departmentId: PluginDepartmentId.optional()
1906
2082
  });
1907
- var PluginSpaceGeometryUpdate = z47.object({
2083
+ var PluginSpaceGeometryUpdate = z48.object({
1908
2084
  profile: ProfileHandle,
1909
- extrudeHeight: z47.number()
2085
+ extrudeHeight: z48.number()
1910
2086
  });
1911
- var PluginUpdateSpaceItem = z47.object({
2087
+ var PluginUpdateSpaceItem = z48.object({
1912
2088
  space: ComponentHandle,
1913
2089
  properties: PluginSpacePropertyUpdates.optional(),
1914
2090
  geometry: PluginSpaceGeometryUpdate.optional()
1915
2091
  });
2092
+ var PluginDesignSetLabelArgs = z48.object({
2093
+ component: ComponentHandle,
2094
+ label: z48.string().trim().min(1)
2095
+ });
2096
+ var PluginStaircaseParamUpdates = z48.object({
2097
+ isStoreyHeightUnlocked: z48.boolean().optional(),
2098
+ isStaircaseHeightUnlocked: z48.boolean().optional(),
2099
+ storeyHeight: z48.number().optional(),
2100
+ staircaseHeight: z48.number().optional(),
2101
+ steps: z48.number().int().optional(),
2102
+ riser: z48.number().optional(),
2103
+ tread: z48.number().optional(),
2104
+ width: z48.number().optional(),
2105
+ depth: z48.number().optional(),
2106
+ wellSize: z48.number().optional(),
2107
+ flightStartDistAfterTurn: z48.number().optional(),
2108
+ landingWidth: z48.number().optional(),
2109
+ baseOffset: z48.number().optional()
2110
+ }).refine((p) => Object.keys(p).length > 0, {
2111
+ message: "PluginStaircaseParamUpdates requires at least one field to change"
2112
+ });
2113
+ var PluginDesignUpdateStaircaseArgs = z48.object({
2114
+ staircases: z48.array(ComponentHandle),
2115
+ params: PluginStaircaseParamUpdates
2116
+ });
1916
2117
  var PluginDesignUpdateApi = class {
1917
2118
  constructor() {
1918
2119
  }
@@ -1925,37 +2126,37 @@ var PluginDesignApi = class {
1925
2126
  };
1926
2127
 
1927
2128
  // src/api/entity/buildableEnvelope.ts
1928
- import * as z48 from "zod";
2129
+ import * as z49 from "zod";
1929
2130
  var PluginBuildableEnvelopeApi = class {
1930
2131
  constructor() {
1931
2132
  }
1932
2133
  };
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()])
2134
+ var PluginBuildableEnvelopePolygonVertex = z49.union([
2135
+ z49.object({ x: z49.number().finite(), z: z49.number().finite() }).strict(),
2136
+ z49.tuple([z49.number().finite(), z49.number().finite()])
1936
2137
  ]);
1937
- var PluginBuildableEnvelopeVerticalCap = z48.discriminatedUnion("kind", [
1938
- z48.object({
1939
- kind: z48.literal("max_height"),
1940
- maxHeight: z48.number().finite().positive()
2138
+ var PluginBuildableEnvelopeVerticalCap = z49.discriminatedUnion("kind", [
2139
+ z49.object({
2140
+ kind: z49.literal("max_height"),
2141
+ maxHeight: z49.number().finite().positive()
1941
2142
  }).strict(),
1942
- z48.object({
1943
- kind: z48.literal("max_floors"),
1944
- maxFloors: z48.number().finite().int().positive()
2143
+ z49.object({
2144
+ kind: z49.literal("max_floors"),
2145
+ maxFloors: z49.number().finite().int().positive()
1945
2146
  }).strict()
1946
2147
  ]);
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()
2148
+ var PluginBuildableEnvelopeSetbackTier = z49.object({
2149
+ aboveHeight: z49.number().finite().nonnegative(),
2150
+ front: z49.number().finite().nonnegative(),
2151
+ side: z49.number().finite().nonnegative(),
2152
+ rear: z49.number().finite().nonnegative()
1952
2153
  }).strict();
1953
2154
  function refineSetbackTiers(args, ctx) {
1954
2155
  const tiers = args.setbacks;
1955
2156
  if (tiers.length === 0) return;
1956
2157
  if (tiers[0].aboveHeight !== 0) {
1957
2158
  ctx.addIssue({
1958
- code: z48.ZodIssueCode.custom,
2159
+ code: z49.ZodIssueCode.custom,
1959
2160
  path: ["setbacks", 0, "aboveHeight"],
1960
2161
  message: "Ground tier required: setbacks[0].aboveHeight must be 0."
1961
2162
  });
@@ -1963,75 +2164,75 @@ function refineSetbackTiers(args, ctx) {
1963
2164
  for (let i = 1; i < tiers.length; i++) {
1964
2165
  if (!(tiers[i].aboveHeight > tiers[i - 1].aboveHeight)) {
1965
2166
  ctx.addIssue({
1966
- code: z48.ZodIssueCode.custom,
2167
+ code: z49.ZodIssueCode.custom,
1967
2168
  path: ["setbacks", i, "aboveHeight"],
1968
2169
  message: "Setback tiers must be ordered by strictly increasing aboveHeight."
1969
2170
  });
1970
2171
  }
1971
2172
  }
1972
2173
  }
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),
2174
+ var PluginBuildableEnvelopeCreateArgs = z49.object({
2175
+ sitePolygon: z49.array(PluginBuildableEnvelopePolygonVertex).min(3),
2176
+ lengthUnit: z49.union([z49.literal("ft"), z49.literal("m")]),
2177
+ setbacks: z49.array(PluginBuildableEnvelopeSetbackTier).min(1),
1977
2178
  verticalCap: PluginBuildableEnvelopeVerticalCap,
1978
- floorToFloor: z48.number().finite().positive(),
1979
- farRatio: z48.number().finite().positive().optional(),
1980
- lotCoverageMaxPct: z48.number().finite().min(0).max(100).optional()
2179
+ floorToFloor: z49.number().finite().positive(),
2180
+ farRatio: z49.number().finite().positive().optional(),
2181
+ lotCoverageMaxPct: z49.number().finite().min(0).max(100).optional()
1981
2182
  }).strict().superRefine(refineSetbackTiers);
1982
- var PluginBuildableEnvelopeCreateResult = z48.object({
1983
- buildableEnvelopeId: z48.string().min(1)
2183
+ var PluginBuildableEnvelopeCreateResult = z49.object({
2184
+ buildableEnvelopeId: z49.string().min(1)
1984
2185
  }).strict();
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),
2186
+ var PluginBuildableEnvelopeUpdateArgs = z49.object({
2187
+ buildableEnvelopeId: z49.string().min(1),
2188
+ sitePolygon: z49.array(PluginBuildableEnvelopePolygonVertex).min(3),
2189
+ lengthUnit: z49.union([z49.literal("ft"), z49.literal("m")]),
2190
+ setbacks: z49.array(PluginBuildableEnvelopeSetbackTier).min(1),
1990
2191
  verticalCap: PluginBuildableEnvelopeVerticalCap,
1991
- floorToFloor: z48.number().finite().positive(),
1992
- farRatio: z48.number().finite().positive().optional(),
1993
- lotCoverageMaxPct: z48.number().finite().min(0).max(100).optional()
2192
+ floorToFloor: z49.number().finite().positive(),
2193
+ farRatio: z49.number().finite().positive().optional(),
2194
+ lotCoverageMaxPct: z49.number().finite().min(0).max(100).optional()
1994
2195
  }).strict().superRefine(refineSetbackTiers);
1995
- var PluginBuildableEnvelopeUpdateResult = z48.object({
1996
- buildableEnvelopeId: z48.string().min(1)
2196
+ var PluginBuildableEnvelopeUpdateResult = z49.object({
2197
+ buildableEnvelopeId: z49.string().min(1)
1997
2198
  }).strict();
1998
2199
 
1999
2200
  // src/api/entity/referenceLine.ts
2000
- import * as z49 from "zod";
2201
+ import * as z50 from "zod";
2001
2202
  var PluginReferenceLineApi = class {
2002
2203
  constructor() {
2003
2204
  }
2004
2205
  };
2005
- var PluginReferenceLineCreateMultiArgs = z49.object({
2206
+ var PluginReferenceLineCreateMultiArgs = z50.object({
2006
2207
  profile: ProfileHandle
2007
2208
  });
2008
- var PluginReferenceLineCreateMultiResult = z49.object({
2009
- referenceLineIds: z49.array(z49.string())
2209
+ var PluginReferenceLineCreateMultiResult = z50.object({
2210
+ referenceLineIds: z50.array(z50.string())
2010
2211
  });
2011
- var PluginReferenceLineGetProperty = z49.enum([
2212
+ var PluginReferenceLineGetProperty = z50.enum([
2012
2213
  "curve"
2013
2214
  ]);
2014
- var PluginReferenceLineGetArgs = z49.object({
2015
- referenceLineId: z49.string(),
2016
- properties: z49.array(PluginReferenceLineGetProperty)
2215
+ var PluginReferenceLineGetArgs = z50.object({
2216
+ referenceLineId: z50.string(),
2217
+ properties: z50.array(PluginReferenceLineGetProperty)
2017
2218
  });
2018
- var PluginReferenceLineGetResult = z49.object({
2219
+ var PluginReferenceLineGetResult = z50.object({
2019
2220
  curve: CurveHandle
2020
2221
  }).partial();
2021
- var PluginReferenceLineGetAllResult = z49.object({
2022
- referenceLineIds: z49.array(z49.string())
2222
+ var PluginReferenceLineGetAllResult = z50.object({
2223
+ referenceLineIds: z50.array(z50.string())
2023
2224
  });
2024
- var PluginReferenceLineDeleteArgs = z49.object({
2025
- referenceLineId: z49.string()
2225
+ var PluginReferenceLineDeleteArgs = z50.object({
2226
+ referenceLineId: z50.string()
2026
2227
  });
2027
2228
 
2028
2229
  // src/api/entity/story.ts
2029
- import * as z50 from "zod";
2230
+ import * as z51 from "zod";
2030
2231
  var PluginStoryApi = class {
2031
2232
  constructor() {
2032
2233
  }
2033
2234
  };
2034
- var PluginStoryGetProperty = z50.enum([
2235
+ var PluginStoryGetProperty = z51.enum([
2035
2236
  "value",
2036
2237
  "id",
2037
2238
  "name",
@@ -2041,44 +2242,56 @@ var PluginStoryGetProperty = z50.enum([
2041
2242
  "spacesCount",
2042
2243
  "totalArea"
2043
2244
  ]);
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()
2245
+ var PluginStoryGetArgs = z51.object({
2246
+ storyValue: z51.number().int(),
2247
+ properties: z51.array(PluginStoryGetProperty)
2248
+ });
2249
+ var PluginStoryGetResult = z51.object({
2250
+ value: z51.number(),
2251
+ id: z51.string(),
2252
+ name: z51.string(),
2253
+ height: z51.number(),
2254
+ base: z51.number(),
2255
+ hidden: z51.boolean(),
2256
+ spacesCount: z51.number(),
2257
+ totalArea: z51.number()
2057
2258
  }).partial();
2058
- var PluginStoryGetAllResult = z50.object({
2059
- stories: z50.array(
2060
- z50.object({
2061
- value: z50.number(),
2062
- id: z50.string(),
2063
- name: z50.string()
2259
+ var PluginStoryGetAllResult = z51.object({
2260
+ stories: z51.array(
2261
+ z51.object({
2262
+ value: z51.number(),
2263
+ id: z51.string(),
2264
+ name: z51.string()
2064
2265
  })
2065
2266
  )
2066
2267
  });
2067
- var PluginStoryCreateArgs = z50.object({
2068
- storyValue: z50.number().int(),
2069
- height: z50.number().optional()
2268
+ var PluginStoryCreateArgs = z51.object({
2269
+ storyValue: z51.number().int(),
2270
+ height: z51.number().optional()
2070
2271
  });
2071
- var PluginStoryCreateResult = z50.object({
2072
- storyId: z50.string(),
2073
- storyValue: z50.number()
2272
+ var PluginStoryCreateResult = z51.object({
2273
+ storyId: z51.string(),
2274
+ storyValue: z51.number()
2074
2275
  });
2075
- var PluginStoryUpdateArgs = z50.object({
2076
- storyValue: z50.number().int(),
2077
- height: z50.number()
2276
+ var PluginStoryUpdateArgs = z51.object({
2277
+ storyValue: z51.number().int(),
2278
+ height: z51.number()
2078
2279
  });
2079
- var PluginStoryUpdateResult = z50.object({
2080
- storyValue: z50.number(),
2081
- height: z50.number()
2280
+ var PluginStoryUpdateResult = z51.object({
2281
+ storyValue: z51.number(),
2282
+ height: z51.number()
2283
+ });
2284
+ var PluginStoryDuplicateArgs = z51.object({
2285
+ direction: z51.enum(["up", "down"]),
2286
+ components: z51.array(ComponentHandle).optional(),
2287
+ unique: z51.boolean().optional()
2288
+ });
2289
+ var PluginStoryDuplicateResult = z51.object({
2290
+ sourceStory: z51.number(),
2291
+ targetStories: z51.array(z51.number()),
2292
+ created: z51.array(ComponentHandle),
2293
+ createdStoryValues: z51.array(z51.number()),
2294
+ skipped: z51.number()
2082
2295
  });
2083
2296
 
2084
2297
  // src/api/entity/index.ts
@@ -2088,27 +2301,27 @@ var PluginEntityApi = class {
2088
2301
  };
2089
2302
 
2090
2303
  // src/api/program/departments.ts
2091
- import * as z52 from "zod";
2304
+ import * as z53 from "zod";
2092
2305
 
2093
2306
  // src/api/program/metrics.ts
2094
- import * as z51 from "zod";
2307
+ import * as z52 from "zod";
2095
2308
  var PluginProgramMetricsApi = class {
2096
2309
  constructor() {
2097
2310
  }
2098
2311
  };
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()
2312
+ var PluginAreaUnit = z52.enum(["ft2", "m2"]);
2313
+ var PluginProgramDepartmentMetric = z52.object({
2314
+ departmentId: z52.string(),
2315
+ name: z52.string(),
2316
+ targetArea: z52.number().nullable(),
2317
+ allocatedArea: z52.number()
2105
2318
  });
2106
- var PluginProgramMetricsSummary = z51.object({
2319
+ var PluginProgramMetricsSummary = z52.object({
2107
2320
  units: PluginAreaUnit,
2108
- totalTargetArea: z51.number(),
2109
- totalAllocatedArea: z51.number(),
2110
- unassignedArea: z51.number(),
2111
- departments: z51.array(PluginProgramDepartmentMetric)
2321
+ totalTargetArea: z52.number(),
2322
+ totalAllocatedArea: z52.number(),
2323
+ unassignedArea: z52.number(),
2324
+ departments: z52.array(PluginProgramDepartmentMetric)
2112
2325
  }).refine(
2113
2326
  (s) => {
2114
2327
  const summed = s.unassignedArea + s.departments.reduce((acc, d) => acc + d.allocatedArea, 0);
@@ -2125,18 +2338,18 @@ var PluginProgramDepartmentsApi = class {
2125
2338
  constructor() {
2126
2339
  }
2127
2340
  };
2128
- var PluginProgramDepartment = z52.object({
2129
- id: z52.string(),
2130
- name: z52.string(),
2131
- color: z52.string(),
2132
- targetArea: z52.number().nullable()
2341
+ var PluginProgramDepartment = z53.object({
2342
+ id: z53.string(),
2343
+ name: z53.string(),
2344
+ color: z53.string(),
2345
+ targetArea: z53.number().nullable()
2133
2346
  });
2134
- var PluginProgramDepartmentsListResult = z52.object({
2347
+ var PluginProgramDepartmentsListResult = z53.object({
2135
2348
  units: PluginAreaUnit,
2136
- departments: z52.array(PluginProgramDepartment)
2349
+ departments: z53.array(PluginProgramDepartment)
2137
2350
  });
2138
- var PluginProgramDepartmentsGetArgs = z52.object({
2139
- departmentId: z52.string()
2351
+ var PluginProgramDepartmentsGetArgs = z53.object({
2352
+ departmentId: z53.string()
2140
2353
  });
2141
2354
  var PluginProgramDepartmentsGetResult = PluginProgramDepartment.extend(
2142
2355
  {
@@ -2146,81 +2359,95 @@ var PluginProgramDepartmentsGetResult = PluginProgramDepartment.extend(
2146
2359
  var PluginProgramDepartmentRecord = PluginProgramDepartment.extend({
2147
2360
  units: PluginAreaUnit
2148
2361
  });
2149
- var PluginProgramDepartmentsCreateArgs = z52.object({
2150
- name: z52.string(),
2151
- color: z52.string()
2362
+ var PluginProgramDepartmentsCreateArgs = z53.object({
2363
+ name: z53.string(),
2364
+ color: z53.string()
2152
2365
  });
2153
- var PluginProgramDepartmentsCreateResult = z52.object({
2154
- departmentId: z52.string()
2366
+ var PluginProgramDepartmentsCreateResult = z53.object({
2367
+ departmentId: z53.string()
2155
2368
  });
2156
- var PluginProgramDepartmentsUpdateArgs = z52.object({
2157
- departmentId: z52.string(),
2158
- name: z52.string().optional(),
2159
- color: z52.string().optional()
2369
+ var PluginProgramDepartmentsUpdateArgs = z53.object({
2370
+ departmentId: z53.string(),
2371
+ name: z53.string().optional(),
2372
+ color: z53.string().optional()
2160
2373
  });
2161
2374
  var PluginProgramDepartmentsUpdateResult = PluginProgramDepartmentRecord;
2162
- var PluginProgramDepartmentsAssignArgs = z52.object({
2163
- departmentId: z52.string(),
2164
- spaceIds: z52.array(ComponentHandle).min(1)
2375
+ var PluginProgramDepartmentsAssignArgs = z53.object({
2376
+ departmentId: z53.string(),
2377
+ spaceIds: z53.array(ComponentHandle).min(1)
2165
2378
  });
2166
- var PluginProgramDepartmentsAssignResult = z52.object({
2167
- departmentId: z52.string(),
2168
- spaceIds: z52.array(ComponentHandle)
2379
+ var PluginProgramDepartmentsAssignResult = z53.object({
2380
+ departmentId: z53.string(),
2381
+ spaceIds: z53.array(ComponentHandle)
2169
2382
  });
2170
- var PluginProgramDepartmentsUnassignArgs = z52.object({
2171
- spaceIds: z52.array(ComponentHandle).min(1)
2383
+ var PluginProgramDepartmentsUnassignArgs = z53.object({
2384
+ spaceIds: z53.array(ComponentHandle).min(1)
2172
2385
  });
2173
- var PluginProgramDepartmentsUnassignResult = z52.object({
2174
- spaceIds: z52.array(ComponentHandle)
2386
+ var PluginProgramDepartmentsUnassignResult = z53.object({
2387
+ spaceIds: z53.array(ComponentHandle)
2175
2388
  });
2176
- var PluginProgramDepartmentsSetTargetAreaArgs = z52.object({
2177
- departmentId: z52.string(),
2178
- targetArea: z52.number(),
2389
+ var PluginProgramDepartmentsSetTargetAreaArgs = z53.object({
2390
+ departmentId: z53.string(),
2391
+ targetArea: z53.number(),
2179
2392
  units: PluginAreaUnit.optional()
2180
2393
  });
2181
2394
  var PluginProgramDepartmentsSetTargetAreaResult = PluginProgramDepartmentRecord;
2182
- var PluginProgramDepartmentsDeleteArgs = z52.object({
2183
- departmentId: z52.string()
2395
+ var PluginProgramDepartmentsDeleteArgs = z53.object({
2396
+ departmentId: z53.string()
2184
2397
  });
2185
- var PluginProgramDepartmentsDeleteResult = z52.object({
2186
- departmentId: z52.string(),
2187
- reassignedSpaceIds: z52.array(ComponentHandle)
2398
+ var PluginProgramDepartmentsDeleteResult = z53.object({
2399
+ departmentId: z53.string(),
2400
+ reassignedSpaceIds: z53.array(ComponentHandle)
2188
2401
  });
2189
2402
 
2190
2403
  // src/api/program/adjacency.ts
2191
- import * as z53 from "zod";
2404
+ import * as z54 from "zod";
2192
2405
  var PluginProgramAdjacencyApi = class {
2193
2406
  constructor() {
2194
2407
  }
2195
2408
  };
2196
- var PluginAdjacencyLevel = z53.enum(["department", "space"]);
2197
- var PluginProgramAdjacencyGetMatrixArgs = z53.object({
2409
+ var PluginAdjacencyLevel = z54.enum(["department", "space"]);
2410
+ var PluginProgramAdjacencyGetMatrixArgs = z54.object({
2198
2411
  level: PluginAdjacencyLevel,
2199
- ids: z53.array(z53.string()).optional()
2412
+ ids: z54.array(z54.string()).optional()
2200
2413
  });
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()))
2414
+ var PluginProgramAdjacencyGetMatrixResult = z54.object({
2415
+ ids: z54.array(z54.string()),
2416
+ departmentIds: z54.array(z54.string().nullable()).optional(),
2417
+ matrix: z54.array(z54.array(z54.number()))
2205
2418
  });
2206
- var PluginProgramAdjacencyComputeResult = z53.object({
2207
- success: z53.boolean(),
2208
- error: z53.string().optional()
2419
+ var PluginProgramAdjacencyComputeResult = z54.object({
2420
+ success: z54.boolean(),
2421
+ error: z54.string().optional()
2209
2422
  });
2210
2423
 
2211
2424
  // src/api/program/layout.ts
2212
- import * as z54 from "zod";
2425
+ import * as z55 from "zod";
2213
2426
  var PluginProgramLayoutApi = class {
2214
2427
  constructor() {
2215
2428
  }
2216
2429
  };
2217
- var PluginProgramLayoutRunResult = z54.object({
2218
- success: z54.boolean(),
2219
- error: z54.string().optional()
2430
+ var PluginProgramLayoutRunArgs = z55.object({
2431
+ spaceIds: z55.array(z55.string()).optional(),
2432
+ departmentIds: z55.array(z55.string()).optional(),
2433
+ envelopeId: z55.string().optional()
2434
+ });
2435
+ var PluginProgramLayoutRunResult = z55.object({
2436
+ success: z55.boolean(),
2437
+ error: z55.string().optional()
2438
+ });
2439
+ var PluginProgramLayoutJobStatus = z55.enum([
2440
+ "running",
2441
+ "active",
2442
+ "inactive"
2443
+ ]);
2444
+ var PluginProgramLayoutJobState = z55.object({
2445
+ status: PluginProgramLayoutJobStatus
2220
2446
  });
2447
+ var PluginProgramLayoutStateResult = PluginProgramLayoutJobState.nullable();
2221
2448
 
2222
2449
  // src/api/program/spreadsheet.ts
2223
- import * as z55 from "zod";
2450
+ import * as z56 from "zod";
2224
2451
  var PluginProgramSpreadsheetApi = class {
2225
2452
  constructor() {
2226
2453
  }
@@ -2233,84 +2460,84 @@ var PluginProgramSpreadsheetBindingsApi = class {
2233
2460
  constructor() {
2234
2461
  }
2235
2462
  };
2236
- var PluginSpreadsheetCell = z55.union([
2237
- z55.string(),
2238
- z55.number(),
2239
- z55.boolean(),
2240
- z55.null()
2463
+ var PluginSpreadsheetCell = z56.union([
2464
+ z56.string(),
2465
+ z56.number(),
2466
+ z56.boolean(),
2467
+ z56.null()
2241
2468
  ]);
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(),
2469
+ var PluginSpreadsheetAlign = z56.enum(["left", "center", "right"]);
2470
+ var PluginSpreadsheetColumn = z56.object({
2471
+ key: z56.string(),
2472
+ header: z56.string(),
2473
+ width: z56.number().optional(),
2474
+ format: z56.string().optional(),
2248
2475
  align: PluginSpreadsheetAlign.optional()
2249
2476
  });
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({
2477
+ var PluginSpreadsheetTotal = z56.object({
2478
+ column: z56.string(),
2479
+ fn: z56.enum(["sum", "avg", "count", "min", "max"]),
2480
+ label: z56.string().optional()
2481
+ });
2482
+ var PluginProgramSpreadsheetRenderArgs = z56.object({
2483
+ sheetName: z56.string(),
2484
+ columns: z56.array(PluginSpreadsheetColumn),
2485
+ rows: z56.array(z56.record(z56.string(), PluginSpreadsheetCell)),
2486
+ title: z56.string().optional(),
2487
+ startCell: z56.string().optional(),
2488
+ whenExists: z56.enum(["replace", "error"]).optional(),
2489
+ asTable: z56.boolean().optional(),
2490
+ freezeHeader: z56.boolean().optional(),
2491
+ totals: z56.array(PluginSpreadsheetTotal).optional()
2492
+ });
2493
+ var PluginProgramSpreadsheetRenderResult = z56.object({
2494
+ sheetName: z56.string(),
2495
+ range: z56.string(),
2496
+ headerRange: z56.string(),
2497
+ rowCount: z56.number(),
2498
+ colCount: z56.number(),
2499
+ tableName: z56.string().nullable(),
2500
+ replaced: z56.boolean()
2501
+ });
2502
+ var PluginProgramSpreadsheetRenderDatasetArgs = z56.object({
2503
+ sheetName: z56.string().optional(),
2504
+ title: z56.string().optional(),
2505
+ filter: z56.string().optional()
2506
+ });
2507
+ var PluginSpreadsheetExportFormat = z56.enum(["xlsx", "pdf", "csv"]);
2508
+ var PluginProgramSpreadsheetExportArgs = z56.object({
2282
2509
  format: PluginSpreadsheetExportFormat,
2283
- fileName: z55.string().optional()
2510
+ fileName: z56.string().optional()
2284
2511
  });
2285
- var PluginProgramSpreadsheetExportResult = z55.object({
2512
+ var PluginProgramSpreadsheetExportResult = z56.object({
2286
2513
  format: PluginSpreadsheetExportFormat,
2287
- fileName: z55.string(),
2288
- mimeType: z55.string(),
2289
- dataBase64: z55.string()
2290
- });
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([
2514
+ fileName: z56.string(),
2515
+ mimeType: z56.string(),
2516
+ dataBase64: z56.string()
2517
+ });
2518
+ var PluginSpreadsheetSheetInfo = z56.object({
2519
+ name: z56.string(),
2520
+ index: z56.number(),
2521
+ visible: z56.boolean(),
2522
+ rowCount: z56.number(),
2523
+ colCount: z56.number()
2524
+ });
2525
+ var PluginProgramSpreadsheetListSheetsResult = z56.object({
2526
+ sheets: z56.array(PluginSpreadsheetSheetInfo),
2527
+ activeSheet: z56.string().nullable()
2528
+ });
2529
+ var PluginProgramSpreadsheetGetSheetDataArgs = z56.object({
2530
+ sheetName: z56.string(),
2531
+ range: z56.string().optional(),
2532
+ header: z56.boolean().optional()
2533
+ });
2534
+ var PluginProgramSpreadsheetGetSheetDataResult = z56.object({
2535
+ sheetName: z56.string(),
2536
+ range: z56.string(),
2537
+ values: z56.array(z56.array(PluginSpreadsheetCell)),
2538
+ records: z56.array(z56.record(z56.string(), PluginSpreadsheetCell)).optional()
2539
+ });
2540
+ var PluginSpreadsheetChartType = z56.enum([
2314
2541
  "column",
2315
2542
  "bar",
2316
2543
  "line",
@@ -2318,249 +2545,249 @@ var PluginSpreadsheetChartType = z55.enum([
2318
2545
  "area",
2319
2546
  "scatter"
2320
2547
  ]);
2321
- var PluginProgramSpreadsheetAddChartArgs = z55.object({
2322
- sheetName: z55.string(),
2548
+ var PluginProgramSpreadsheetAddChartArgs = z56.object({
2549
+ sheetName: z56.string(),
2323
2550
  chartType: PluginSpreadsheetChartType,
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()
2348
- });
2349
- var PluginProgramSpreadsheetGetProgramResult = z55.object({
2551
+ dataRange: z56.string(),
2552
+ title: z56.string().optional(),
2553
+ position: z56.object({ x: z56.number(), y: z56.number() }).optional(),
2554
+ size: z56.object({ width: z56.number(), height: z56.number() }).optional()
2555
+ });
2556
+ var PluginProgramSpreadsheetAddChartResult = z56.object({
2557
+ chartId: z56.string()
2558
+ });
2559
+ var PluginProgramSpreadsheetHighlightCellsArgs = z56.object({
2560
+ sheetName: z56.string(),
2561
+ range: z56.string(),
2562
+ color: z56.string().optional(),
2563
+ bold: z56.boolean().optional()
2564
+ });
2565
+ var PluginProgramSpreadsheetHighlightCellsResult = z56.object({
2566
+ sheetName: z56.string(),
2567
+ range: z56.string()
2568
+ });
2569
+ var PluginSpreadsheetProgramRow = z56.object({
2570
+ departmentId: z56.string(),
2571
+ name: z56.string(),
2572
+ targetArea: z56.number().nullable(),
2573
+ allocatedArea: z56.number(),
2574
+ variance: z56.number().nullable()
2575
+ });
2576
+ var PluginProgramSpreadsheetGetProgramResult = z56.object({
2350
2577
  units: PluginAreaUnit,
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(),
2578
+ rows: z56.array(PluginSpreadsheetProgramRow),
2579
+ totalTargetArea: z56.number(),
2580
+ totalAllocatedArea: z56.number(),
2581
+ generatedAt: z56.string()
2582
+ });
2583
+ var PluginSpreadsheetTakeoffRow = z56.object({
2584
+ objectType: z56.string(),
2585
+ category: z56.string(),
2586
+ family: z56.string(),
2587
+ quantity: z56.number(),
2588
+ unit: z56.string()
2589
+ });
2590
+ var PluginProgramSpreadsheetGetTakeoffResult = z56.object({
2591
+ rows: z56.array(PluginSpreadsheetTakeoffRow),
2592
+ rowCount: z56.number(),
2593
+ generatedAt: z56.string()
2594
+ });
2595
+ var PluginSpreadsheetWhenExists = z56.enum(["reuse", "replace", "error"]);
2596
+ var PluginProgramSpreadsheetCreateSheetArgs = z56.object({
2597
+ name: z56.string(),
2371
2598
  whenExists: PluginSpreadsheetWhenExists.optional()
2372
2599
  });
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([
2600
+ var PluginProgramSpreadsheetCreateSheetResult = z56.object({
2601
+ sheetName: z56.string(),
2602
+ replaced: z56.boolean(),
2603
+ sheetIndex: z56.number().nullable()
2604
+ });
2605
+ var PluginProgramSpreadsheetSetValuesArgs = z56.object({
2606
+ sheetName: z56.string(),
2607
+ values: z56.array(z56.array(PluginSpreadsheetCell)),
2608
+ startCell: z56.string().optional()
2609
+ });
2610
+ var PluginProgramSpreadsheetSetValuesResult = z56.object({
2611
+ sheetName: z56.string(),
2612
+ startCell: z56.string(),
2613
+ rowCount: z56.number(),
2614
+ colCount: z56.number()
2615
+ });
2616
+ var PluginSpreadsheetFormula = z56.object({
2617
+ cell: z56.string(),
2618
+ formula: z56.string()
2619
+ });
2620
+ var PluginProgramSpreadsheetSetFormulasArgs = z56.object({
2621
+ sheetName: z56.string(),
2622
+ formulas: z56.array(PluginSpreadsheetFormula)
2623
+ });
2624
+ var PluginProgramSpreadsheetSetFormulasResult = z56.object({
2625
+ sheetName: z56.string(),
2626
+ count: z56.number()
2627
+ });
2628
+ var PluginSpreadsheetFontWeight = z56.enum(["normal", "bold"]);
2629
+ var PluginSpreadsheetFontStyle = z56.enum(["normal", "italic"]);
2630
+ var PluginSpreadsheetHorizontalAlign = z56.enum([
2404
2631
  "left",
2405
2632
  "center",
2406
2633
  "right",
2407
2634
  "general"
2408
2635
  ]);
2409
- var PluginSpreadsheetVerticalAlign = z55.enum([
2636
+ var PluginSpreadsheetVerticalAlign = z56.enum([
2410
2637
  "top",
2411
2638
  "center",
2412
2639
  "bottom"
2413
2640
  ]);
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(),
2641
+ var PluginSpreadsheetCellStyle = z56.object({
2642
+ backColor: z56.string().optional(),
2643
+ foreColor: z56.string().optional(),
2644
+ font: z56.string().optional(),
2645
+ fontFamily: z56.string().optional(),
2646
+ fontSize: z56.number().optional(),
2420
2647
  fontWeight: PluginSpreadsheetFontWeight.optional(),
2421
2648
  fontStyle: PluginSpreadsheetFontStyle.optional(),
2422
- formatter: z55.string().optional(),
2649
+ formatter: z56.string().optional(),
2423
2650
  horizontalAlign: PluginSpreadsheetHorizontalAlign.optional(),
2424
2651
  verticalAlign: PluginSpreadsheetVerticalAlign.optional()
2425
2652
  });
2426
- var PluginSpreadsheetRangeStyle = z55.object({
2427
- range: z55.string(),
2653
+ var PluginSpreadsheetRangeStyle = z56.object({
2654
+ range: z56.string(),
2428
2655
  style: PluginSpreadsheetCellStyle
2429
2656
  });
2430
- var PluginProgramSpreadsheetSetStylesArgs = z55.object({
2431
- sheetName: z55.string(),
2432
- ranges: z55.array(PluginSpreadsheetRangeStyle)
2657
+ var PluginProgramSpreadsheetSetStylesArgs = z56.object({
2658
+ sheetName: z56.string(),
2659
+ ranges: z56.array(PluginSpreadsheetRangeStyle)
2433
2660
  });
2434
- var PluginProgramSpreadsheetSetStylesResult = z55.object({
2435
- sheetName: z55.string(),
2436
- count: z55.number()
2661
+ var PluginProgramSpreadsheetSetStylesResult = z56.object({
2662
+ sheetName: z56.string(),
2663
+ count: z56.number()
2437
2664
  });
2438
- var PluginProgramSpreadsheetMergeCellsArgs = z55.object({
2439
- sheetName: z55.string(),
2440
- range: z55.string(),
2665
+ var PluginProgramSpreadsheetMergeCellsArgs = z56.object({
2666
+ sheetName: z56.string(),
2667
+ range: z56.string(),
2441
2668
  value: PluginSpreadsheetCell.optional()
2442
2669
  });
2443
- var PluginProgramSpreadsheetMergeCellsResult = z55.object({
2444
- sheetName: z55.string(),
2445
- range: z55.string()
2670
+ var PluginProgramSpreadsheetMergeCellsResult = z56.object({
2671
+ sheetName: z56.string(),
2672
+ range: z56.string()
2446
2673
  });
2447
- var PluginSpreadsheetConditionalRuleType = z55.enum(["dataBar"]);
2448
- var PluginSpreadsheetConditionalRule = z55.object({
2674
+ var PluginSpreadsheetConditionalRuleType = z56.enum(["dataBar"]);
2675
+ var PluginSpreadsheetConditionalRule = z56.object({
2449
2676
  type: PluginSpreadsheetConditionalRuleType,
2450
- color: z55.string().optional()
2677
+ color: z56.string().optional()
2451
2678
  });
2452
- var PluginProgramSpreadsheetAddConditionalFormattingArgs = z55.object({
2453
- sheetName: z55.string(),
2454
- range: z55.string(),
2679
+ var PluginProgramSpreadsheetAddConditionalFormattingArgs = z56.object({
2680
+ sheetName: z56.string(),
2681
+ range: z56.string(),
2455
2682
  rule: PluginSpreadsheetConditionalRule
2456
2683
  });
2457
- var PluginProgramSpreadsheetAddConditionalFormattingResult = z55.object({
2458
- sheetName: z55.string(),
2459
- range: z55.string(),
2460
- created: z55.boolean()
2684
+ var PluginProgramSpreadsheetAddConditionalFormattingResult = z56.object({
2685
+ sheetName: z56.string(),
2686
+ range: z56.string(),
2687
+ created: z56.boolean()
2461
2688
  });
2462
- var PluginProgramSpreadsheetRecalculateArgs = z55.object({
2463
- sheetName: z55.string().optional()
2689
+ var PluginProgramSpreadsheetRecalculateArgs = z56.object({
2690
+ sheetName: z56.string().optional()
2464
2691
  });
2465
- var PluginProgramSpreadsheetRecalculateResult = z55.object({
2466
- scope: z55.enum(["sheet", "workbook"]),
2467
- sheetName: z55.string().nullable()
2692
+ var PluginProgramSpreadsheetRecalculateResult = z56.object({
2693
+ scope: z56.enum(["sheet", "workbook"]),
2694
+ sheetName: z56.string().nullable()
2468
2695
  });
2469
- var PluginSpreadsheetTransactionMethod = z55.enum([
2696
+ var PluginSpreadsheetTransactionMethod = z56.enum([
2470
2697
  "createSheet",
2471
2698
  "setValues",
2472
2699
  "setFormulas",
2473
2700
  "setStyles",
2474
2701
  "mergeCells"
2475
2702
  ]);
2476
- var PluginSpreadsheetTransactionOp = z55.object({
2703
+ var PluginSpreadsheetTransactionOp = z56.object({
2477
2704
  method: PluginSpreadsheetTransactionMethod,
2478
- args: z55.unknown()
2479
- });
2480
- var PluginProgramSpreadsheetTransactionArgs = z55.object({
2481
- operations: z55.array(PluginSpreadsheetTransactionOp),
2482
- label: z55.string().optional()
2483
- });
2484
- var PluginProgramSpreadsheetTransactionResult = z55.object({
2485
- label: z55.string(),
2486
- operationCount: z55.number(),
2487
- results: z55.array(z55.unknown())
2488
- });
2489
- var PluginProgramSpreadsheetRunScriptArgs = z55.object({
2490
- script: z55.string()
2491
- });
2492
- var PluginProgramSpreadsheetRunScriptResult = z55.object({
2493
- result: z55.unknown()
2494
- });
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(),
2705
+ args: z56.unknown()
2706
+ });
2707
+ var PluginProgramSpreadsheetTransactionArgs = z56.object({
2708
+ operations: z56.array(PluginSpreadsheetTransactionOp),
2709
+ label: z56.string().optional()
2710
+ });
2711
+ var PluginProgramSpreadsheetTransactionResult = z56.object({
2712
+ label: z56.string(),
2713
+ operationCount: z56.number(),
2714
+ results: z56.array(z56.unknown())
2715
+ });
2716
+ var PluginProgramSpreadsheetRunScriptArgs = z56.object({
2717
+ script: z56.string()
2718
+ });
2719
+ var PluginProgramSpreadsheetRunScriptResult = z56.object({
2720
+ result: z56.unknown()
2721
+ });
2722
+ var PluginSpreadsheetAuditStatus = z56.enum(["success", "error"]);
2723
+ var PluginSpreadsheetAuditEntry = z56.object({
2724
+ id: z56.string(),
2725
+ pluginId: z56.string(),
2726
+ method: z56.string(),
2727
+ label: z56.string().optional(),
2728
+ sheetName: z56.string().optional(),
2729
+ timestamp: z56.string(),
2503
2730
  status: PluginSpreadsheetAuditStatus,
2504
- summary: z55.string().optional()
2731
+ summary: z56.string().optional()
2505
2732
  });
2506
- var PluginProgramSpreadsheetGetAuditLogArgs = z55.object({
2507
- limit: z55.number().optional()
2733
+ var PluginProgramSpreadsheetGetAuditLogArgs = z56.object({
2734
+ limit: z56.number().optional()
2508
2735
  });
2509
- var PluginProgramSpreadsheetGetAuditLogResult = z55.object({
2510
- entries: z55.array(PluginSpreadsheetAuditEntry)
2736
+ var PluginProgramSpreadsheetGetAuditLogResult = z56.object({
2737
+ entries: z56.array(PluginSpreadsheetAuditEntry)
2511
2738
  });
2512
- var PluginProgramSpreadsheetPingResult = z55.object({
2513
- pong: z55.boolean()
2739
+ var PluginProgramSpreadsheetPingResult = z56.object({
2740
+ pong: z56.boolean()
2514
2741
  });
2515
- var PluginSpreadsheetTemplateScope = z55.enum(["project", "global"]);
2516
- var PluginProgramSpreadsheetTemplatesCreateArgs = z55.object({
2517
- name: z55.string(),
2518
- sheetName: z55.string(),
2742
+ var PluginSpreadsheetTemplateScope = z56.enum(["project", "global"]);
2743
+ var PluginProgramSpreadsheetTemplatesCreateArgs = z56.object({
2744
+ name: z56.string(),
2745
+ sheetName: z56.string(),
2519
2746
  scope: PluginSpreadsheetTemplateScope.optional()
2520
2747
  });
2521
- var PluginProgramSpreadsheetTemplatesCreateResult = z55.object({
2522
- id: z55.string(),
2523
- name: z55.string(),
2748
+ var PluginProgramSpreadsheetTemplatesCreateResult = z56.object({
2749
+ id: z56.string(),
2750
+ name: z56.string(),
2524
2751
  scope: PluginSpreadsheetTemplateScope,
2525
- sheetName: z55.string()
2752
+ sheetName: z56.string()
2526
2753
  });
2527
- var PluginProgramSpreadsheetTemplatesApplyArgs = z55.object({
2528
- name: z55.string(),
2529
- targetSheetName: z55.string()
2754
+ var PluginProgramSpreadsheetTemplatesApplyArgs = z56.object({
2755
+ name: z56.string(),
2756
+ targetSheetName: z56.string()
2530
2757
  });
2531
- var PluginProgramSpreadsheetTemplatesApplyResult = z55.object({
2532
- name: z55.string(),
2533
- targetSheetName: z55.string()
2758
+ var PluginProgramSpreadsheetTemplatesApplyResult = z56.object({
2759
+ name: z56.string(),
2760
+ targetSheetName: z56.string()
2534
2761
  });
2535
- var PluginSpreadsheetBindingSource = z55.object({
2536
- dataset: z55.enum(["takeoff"])
2762
+ var PluginSpreadsheetBindingSource = z56.object({
2763
+ dataset: z56.enum(["takeoff"])
2537
2764
  });
2538
- var PluginSpreadsheetBindingMode = z55.enum(["replaceRange"]);
2539
- var PluginSpreadsheetBindingTarget = z55.object({
2540
- sheetName: z55.string(),
2541
- startCell: z55.string().optional()
2765
+ var PluginSpreadsheetBindingMode = z56.enum(["replaceRange"]);
2766
+ var PluginSpreadsheetBindingTarget = z56.object({
2767
+ sheetName: z56.string(),
2768
+ startCell: z56.string().optional()
2542
2769
  });
2543
- var PluginSpreadsheetBinding = z55.object({
2544
- id: z55.string(),
2545
- name: z55.string(),
2546
- pluginId: z55.string(),
2770
+ var PluginSpreadsheetBinding = z56.object({
2771
+ id: z56.string(),
2772
+ name: z56.string(),
2773
+ pluginId: z56.string(),
2547
2774
  source: PluginSpreadsheetBindingSource,
2548
- target: z55.object({
2549
- sheetName: z55.string(),
2550
- startCell: z55.string()
2775
+ target: z56.object({
2776
+ sheetName: z56.string(),
2777
+ startCell: z56.string()
2551
2778
  }),
2552
2779
  mode: PluginSpreadsheetBindingMode,
2553
- createdAt: z55.string(),
2554
- updatedAt: z55.string()
2780
+ createdAt: z56.string(),
2781
+ updatedAt: z56.string()
2555
2782
  });
2556
- var PluginSpreadsheetBindingRefresh = z55.object({
2557
- id: z55.string(),
2558
- name: z55.string(),
2559
- sheetName: z55.string(),
2560
- rowCount: z55.number()
2783
+ var PluginSpreadsheetBindingRefresh = z56.object({
2784
+ id: z56.string(),
2785
+ name: z56.string(),
2786
+ sheetName: z56.string(),
2787
+ rowCount: z56.number()
2561
2788
  });
2562
- var PluginProgramSpreadsheetBindingsCreateArgs = z55.object({
2563
- name: z55.string(),
2789
+ var PluginProgramSpreadsheetBindingsCreateArgs = z56.object({
2790
+ name: z56.string(),
2564
2791
  source: PluginSpreadsheetBindingSource,
2565
2792
  target: PluginSpreadsheetBindingTarget,
2566
2793
  mode: PluginSpreadsheetBindingMode.optional()
@@ -2568,185 +2795,186 @@ var PluginProgramSpreadsheetBindingsCreateArgs = z55.object({
2568
2795
  var PluginProgramSpreadsheetBindingsCreateResult = PluginSpreadsheetBinding.extend({
2569
2796
  refresh: PluginSpreadsheetBindingRefresh
2570
2797
  });
2571
- var PluginProgramSpreadsheetBindingsRefreshArgs = z55.object({
2572
- name: z55.string().optional()
2798
+ var PluginProgramSpreadsheetBindingsRefreshArgs = z56.object({
2799
+ name: z56.string().optional()
2573
2800
  });
2574
- var PluginProgramSpreadsheetBindingsRefreshResult = z55.object({
2575
- refreshed: z55.array(PluginSpreadsheetBindingRefresh)
2801
+ var PluginProgramSpreadsheetBindingsRefreshResult = z56.object({
2802
+ refreshed: z56.array(PluginSpreadsheetBindingRefresh)
2576
2803
  });
2577
- var PluginProgramSpreadsheetBindingsListResult = z55.object({
2578
- bindings: z55.array(PluginSpreadsheetBinding)
2804
+ var PluginProgramSpreadsheetBindingsListResult = z56.object({
2805
+ bindings: z56.array(PluginSpreadsheetBinding)
2579
2806
  });
2580
2807
 
2581
2808
  // src/api/program/site.ts
2582
- import * as z56 from "zod";
2809
+ import * as z57 from "zod";
2583
2810
  var PluginProgramSiteApi = class {
2584
2811
  constructor() {
2585
2812
  }
2586
2813
  };
2587
- var PluginSiteFootprintPoint = z56.object({
2588
- x: z56.number(),
2589
- z: z56.number()
2814
+ var PluginSiteFootprintPoint = z57.object({
2815
+ x: z57.number(),
2816
+ z: z57.number()
2590
2817
  });
2591
- var PluginSiteGeoPoint = z56.object({
2592
- lat: z56.number(),
2593
- lng: z56.number(),
2594
- alt: z56.number()
2818
+ var PluginSiteGeoPoint = z57.object({
2819
+ lat: z57.number(),
2820
+ lng: z57.number(),
2821
+ alt: z57.number()
2595
2822
  });
2596
- var PluginSitePolygon = z56.object({
2597
- id: z56.string(),
2598
- area: z56.number(),
2599
- label: z56.string(),
2600
- footprint: z56.array(PluginSiteFootprintPoint)
2823
+ var PluginSitePolygon = z57.object({
2824
+ id: z57.string(),
2825
+ area: z57.number(),
2826
+ label: z57.string(),
2827
+ footprint: z57.array(PluginSiteFootprintPoint)
2601
2828
  });
2602
- var PluginProgramSiteSnapshot = z56.object({
2829
+ var PluginProgramSiteSnapshot = z57.object({
2603
2830
  units: PluginAreaUnit,
2604
- totalArea: z56.number(),
2605
- polygonCount: z56.number(),
2606
- polygons: z56.array(PluginSitePolygon)
2831
+ totalArea: z57.number(),
2832
+ polygonCount: z57.number(),
2833
+ polygons: z57.array(PluginSitePolygon)
2607
2834
  });
2608
- var PluginProgramSiteAreaResult = z56.object({
2835
+ var PluginProgramSiteAreaResult = z57.object({
2609
2836
  units: PluginAreaUnit,
2610
- area: z56.number()
2837
+ area: z57.number()
2611
2838
  });
2612
- var PluginProgramSiteListPolygonsResult = z56.object({
2839
+ var PluginProgramSiteListPolygonsResult = z57.object({
2613
2840
  units: PluginAreaUnit,
2614
- polygons: z56.array(PluginSitePolygon)
2841
+ polygons: z57.array(PluginSitePolygon)
2615
2842
  });
2616
- var PluginProgramSiteListGeoPolygonsResult = z56.object({
2617
- polygons: z56.array(z56.array(PluginSiteGeoPoint))
2843
+ var PluginProgramSiteListGeoPolygonsResult = z57.object({
2844
+ polygons: z57.array(z57.array(PluginSiteGeoPoint))
2618
2845
  });
2619
- var PluginSiteLatLng = z56.object({
2620
- lat: z56.number(),
2621
- lng: z56.number()
2846
+ var PluginSiteLatLng = z57.object({
2847
+ lat: z57.number(),
2848
+ lng: z57.number()
2622
2849
  });
2623
- var PluginSiteBounds = z56.object({
2624
- north: z56.number(),
2625
- south: z56.number(),
2626
- east: z56.number(),
2627
- west: z56.number()
2850
+ var PluginSiteBounds = z57.object({
2851
+ north: z57.number(),
2852
+ south: z57.number(),
2853
+ east: z57.number(),
2854
+ west: z57.number()
2628
2855
  });
2629
- var PluginSiteContextParcel = z56.object({
2630
- footprint: z56.array(PluginSiteLatLng),
2631
- area: z56.number()
2856
+ var PluginSiteContextParcel = z57.object({
2857
+ footprint: z57.array(PluginSiteLatLng),
2858
+ area: z57.number()
2632
2859
  });
2633
- var PluginProgramSiteContext = z56.object({
2860
+ var PluginProgramSiteContext = z57.object({
2634
2861
  center: PluginSiteLatLng,
2635
2862
  bounds: PluginSiteBounds,
2636
- widthInM: z56.number(),
2637
- heightInM: z56.number(),
2638
- zoom: z56.number(),
2639
- parcels: z56.array(PluginSiteContextParcel)
2863
+ widthInM: z57.number(),
2864
+ heightInM: z57.number(),
2865
+ zoom: z57.number(),
2866
+ parcels: z57.array(PluginSiteContextParcel)
2640
2867
  });
2641
2868
  var PluginProgramSiteContextResult = PluginProgramSiteContext.nullable();
2642
- var PluginProgramSiteLocation = z56.object({
2643
- latitude: z56.number(),
2644
- longitude: z56.number()
2869
+ var PluginProgramSiteLocation = z57.object({
2870
+ latitude: z57.number(),
2871
+ longitude: z57.number()
2645
2872
  });
2646
2873
  var PluginProgramSiteLocationResult = PluginProgramSiteLocation.nullable();
2647
- var PluginProgramSiteNorthAngleResult = z56.number().nullable();
2874
+ var PluginProgramSiteNorthAngleResult = z57.number().nullable();
2648
2875
 
2649
2876
  // src/api/program/cores.ts
2650
- import * as z57 from "zod";
2877
+ import * as z58 from "zod";
2651
2878
  var PluginProgramCoresApi = class {
2652
2879
  constructor() {
2653
2880
  }
2654
2881
  };
2655
- var PluginProgramCore = z57.object({
2656
- id: z57.string(),
2657
- groupId: z57.string(),
2658
- storey: z57.number()
2882
+ var PluginProgramCore = z58.object({
2883
+ id: z58.string(),
2884
+ groupId: z58.string(),
2885
+ storey: z58.number()
2659
2886
  });
2660
- var PluginProgramCoresListResult = z57.object({
2661
- cores: z57.array(PluginProgramCore)
2887
+ var PluginProgramCoresListResult = z58.object({
2888
+ cores: z58.array(PluginProgramCore)
2662
2889
  });
2663
- var PluginProgramCoresIsCoreArgs = z57.object({
2664
- id: z57.string()
2890
+ var PluginProgramCoresIsCoreArgs = z58.object({
2891
+ id: z58.string()
2665
2892
  });
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()
2893
+ var PluginProgramCoreSpec = z58.object({
2894
+ type: z58.string().optional(),
2895
+ position: z58.object({ x: z58.number(), y: z58.number(), z: z58.number() }),
2896
+ width: z58.number(),
2897
+ depth: z58.number(),
2898
+ fromStorey: z58.number().optional(),
2899
+ toStorey: z58.number().optional()
2673
2900
  });
2674
- var PluginProgramCoresCreateArgs = z57.object({
2675
- cores: z57.array(PluginProgramCoreSpec),
2676
- lengthUnit: z57.enum(["mm", "m", "ft"]).optional()
2901
+ var PluginProgramCoresCreateArgs = z58.object({
2902
+ cores: z58.array(PluginProgramCoreSpec),
2903
+ lengthUnit: z58.enum(["mm", "m", "ft"]).optional()
2677
2904
  });
2678
- var PluginProgramCoresCreateResult = z57.object({
2679
- createdCount: z57.number()
2905
+ var PluginProgramCoresCreateResult = z58.object({
2906
+ createdCount: z58.number()
2680
2907
  });
2681
2908
 
2682
2909
  // src/api/program/classification.ts
2683
- import * as z58 from "zod";
2910
+ import * as z59 from "zod";
2684
2911
  var PluginProgramClassificationApi = class {
2685
2912
  constructor() {
2686
2913
  }
2687
2914
  };
2688
- var PluginClassificationOption = z58.object({
2689
- value: z58.string(),
2690
- label: z58.string()
2915
+ var PluginClassificationOption = z59.object({
2916
+ value: z59.string(),
2917
+ label: z59.string()
2691
2918
  });
2692
- var PluginProgramClassificationTypesResult = z58.object({
2693
- spaceTypes: z58.array(PluginClassificationOption),
2694
- areaClasses: z58.array(PluginClassificationOption),
2695
- massTypes: z58.array(PluginClassificationOption)
2919
+ var PluginProgramClassificationTypesResult = z59.object({
2920
+ spaceTypes: z59.array(PluginClassificationOption),
2921
+ areaClasses: z59.array(PluginClassificationOption),
2922
+ massTypes: z59.array(PluginClassificationOption)
2696
2923
  });
2697
- var PluginProgramClassificationListTagsArgs = z58.object({
2698
- id: z58.string()
2924
+ var PluginProgramClassificationListTagsArgs = z59.object({
2925
+ id: z59.string()
2699
2926
  });
2700
- var PluginSpaceTag = z58.object({
2701
- tagId: z58.string(),
2702
- tagName: z58.string(),
2703
- color: z58.string(),
2704
- categoryId: z58.string()
2927
+ var PluginSpaceTag = z59.object({
2928
+ tagId: z59.string(),
2929
+ tagName: z59.string(),
2930
+ color: z59.string(),
2931
+ categoryId: z59.string()
2705
2932
  });
2706
- var PluginProgramClassificationTagsResult = z58.object({
2707
- tagIds: z58.array(z58.string()),
2708
- tagsByCategory: z58.record(z58.string(), PluginSpaceTag)
2933
+ var PluginProgramClassificationTagsResult = z59.object({
2934
+ tagIds: z59.array(z59.string()),
2935
+ tagsByCategory: z59.record(z59.string(), PluginSpaceTag)
2709
2936
  });
2710
2937
 
2711
2938
  // src/api/program/areas.ts
2712
- import * as z59 from "zod";
2939
+ import * as z60 from "zod";
2713
2940
  var PluginProgramAreasApi = class {
2714
2941
  constructor() {
2715
2942
  }
2716
2943
  };
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(),
2944
+ var PluginProgramAreaSummary = z60.object({
2945
+ count: z60.number().int(),
2946
+ hiddenCount: z60.number().int(),
2947
+ carpet: z60.number(),
2948
+ builtUp: z60.number(),
2949
+ excluded: z60.number(),
2950
+ farBuiltUp: z60.number(),
2951
+ siteArea: z60.number(),
2952
+ achievedFar: z60.number().nullable(),
2953
+ targetFar: z60.number(),
2954
+ deviation: z60.number(),
2728
2955
  areaUnit: PluginAreaUnit
2729
2956
  });
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(),
2957
+ var PluginProgramAreaGroup = z60.object({
2958
+ groupId: z60.string(),
2959
+ name: z60.string(),
2960
+ color: z60.string(),
2961
+ carpet: z60.number(),
2962
+ builtUp: z60.number(),
2963
+ excluded: z60.number(),
2964
+ count: z60.number().int(),
2965
+ targetArea: z60.number(),
2739
2966
  targetUnit: PluginAreaUnit
2740
2967
  });
2741
- var PluginProgramAreaMember = z59.object({
2968
+ var PluginProgramAreaMember = z60.object({
2742
2969
  id: ComponentHandle,
2743
- label: z59.string(),
2744
- carpet: z59.number(),
2745
- builtUp: z59.number(),
2746
- excluded: z59.number(),
2747
- isVisible: z59.boolean()
2970
+ label: z60.string(),
2971
+ areaClass: PluginAreaClass,
2972
+ carpet: z60.number(),
2973
+ builtUp: z60.number(),
2974
+ excluded: z60.number(),
2975
+ isVisible: z60.boolean()
2748
2976
  });
2749
- var PluginProgramAreaGroupBy = z59.enum([
2977
+ var PluginProgramAreaGroupBy = z60.enum([
2750
2978
  "labels",
2751
2979
  "storeys",
2752
2980
  "buildings",
@@ -2754,29 +2982,29 @@ var PluginProgramAreaGroupBy = z59.enum([
2754
2982
  "tagCategories"
2755
2983
  ]);
2756
2984
  var PluginProgramAreasGetResult = PluginProgramAreaSummary;
2757
- var PluginProgramAreasListArgs = z59.object({
2985
+ var PluginProgramAreasListArgs = z60.object({
2758
2986
  groupBy: PluginProgramAreaGroupBy,
2759
- categoryId: z59.string().optional()
2987
+ categoryId: z60.string().optional()
2760
2988
  }).refine((v) => v.groupBy !== "tagCategories" || v.categoryId != null, {
2761
2989
  message: 'categoryId is required when groupBy is "tagCategories"'
2762
2990
  });
2763
- var PluginProgramAreasListResult = z59.object({
2764
- groups: z59.array(PluginProgramAreaGroup)
2991
+ var PluginProgramAreasListResult = z60.object({
2992
+ groups: z60.array(PluginProgramAreaGroup)
2765
2993
  });
2766
- var PluginProgramAreasListMembersArgs = z59.object({
2994
+ var PluginProgramAreasListMembersArgs = z60.object({
2767
2995
  groupBy: PluginProgramAreaGroupBy,
2768
- groupId: z59.string(),
2769
- categoryId: z59.string().optional()
2996
+ groupId: z60.string(),
2997
+ categoryId: z60.string().optional()
2770
2998
  }).refine((v) => v.groupBy !== "tagCategories" || v.categoryId != null, {
2771
2999
  message: 'categoryId is required when groupBy is "tagCategories"'
2772
3000
  });
2773
- var PluginProgramAreasListMembersResult = z59.object({
2774
- members: z59.array(PluginProgramAreaMember)
3001
+ var PluginProgramAreasListMembersResult = z60.object({
3002
+ members: z60.array(PluginProgramAreaMember)
2775
3003
  });
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()
3004
+ var PluginProgramAreasUpdateArgs = z60.object({
3005
+ targetFar: z60.number().min(0).optional(),
3006
+ siteArea: z60.number().positive().optional(),
3007
+ deviation: z60.number().min(0).max(100).optional()
2780
3008
  });
2781
3009
  var PluginProgramAreasUpdateResult = PluginProgramAreaSummary;
2782
3010
 
@@ -2787,257 +3015,295 @@ var PluginProgramApi = class {
2787
3015
  };
2788
3016
 
2789
3017
  // src/api/presentation/views.ts
2790
- import * as z60 from "zod";
3018
+ import * as z61 from "zod";
2791
3019
  var PluginPresentationViewsApi = class {
2792
3020
  constructor() {
2793
3021
  }
2794
3022
  };
2795
- var PluginPresentationViewType = z60.enum(["2d", "3d"]);
2796
- var PluginPresentationView = z60.object({
2797
- id: z60.string(),
2798
- name: z60.string(),
3023
+ var PluginPresentationViewType = z61.enum(["2d", "3d"]);
3024
+ var PluginPresentationView = z61.object({
3025
+ id: z61.string(),
3026
+ name: z61.string(),
2799
3027
  type: PluginPresentationViewType,
2800
- isActive: z60.boolean()
3028
+ isActive: z61.boolean()
2801
3029
  });
2802
- var PluginPresentationViewsListResult = z60.object({
2803
- views: z60.array(PluginPresentationView)
3030
+ var PluginPresentationViewsListResult = z61.object({
3031
+ views: z61.array(PluginPresentationView)
2804
3032
  });
2805
- var PluginPresentationViewsGetArgs = z60.object({
2806
- id: z60.string()
3033
+ var PluginPresentationViewsGetArgs = z61.object({
3034
+ id: z61.string()
2807
3035
  });
2808
3036
  var PluginPresentationViewsGetResult = PluginPresentationView.nullable();
2809
- var PluginPresentationImageFormat = z60.enum(["png", "jpeg"]);
2810
- var PluginPresentationViewsCaptureArgs = z60.object({
2811
- viewId: z60.string().optional(),
3037
+ var PluginPresentationImageFormat = z61.enum(["png", "jpeg"]);
3038
+ var PluginPresentationViewsCaptureArgs = z61.object({
3039
+ viewId: z61.string().optional(),
2812
3040
  format: PluginPresentationImageFormat.optional(),
2813
- resolution: z60.string().optional()
3041
+ resolution: z61.string().optional()
2814
3042
  });
2815
- var PluginPresentationViewsCaptureResult = z60.object({
2816
- image: z60.string()
3043
+ var PluginPresentationViewsCaptureResult = z61.object({
3044
+ image: z61.string()
2817
3045
  });
2818
- var PluginPresentationViewsSetActiveArgs = z60.object({
2819
- id: z60.string()
3046
+ var PluginPresentationViewsSetActiveArgs = z61.object({
3047
+ id: z61.string()
2820
3048
  });
2821
- var PluginPresentationViewsSetActiveResult = z60.object({
2822
- id: z60.string()
3049
+ var PluginPresentationViewsSetActiveResult = z61.object({
3050
+ id: z61.string()
2823
3051
  });
2824
- var PluginPresentationViewsCreateArgs = z60.object({
2825
- name: z60.string().optional(),
2826
- kind: z60.enum(["view", "sitePlan"]).optional()
3052
+ var PluginPresentationViewsCreateArgs = z61.object({
3053
+ name: z61.string().optional(),
3054
+ kind: z61.enum(["view", "sitePlan"]).optional()
2827
3055
  });
2828
3056
  var PluginPresentationViewsCreateResult = PluginPresentationView;
3057
+ var PluginPresentationViewColorMode = z61.union([
3058
+ z61.enum(["monochrome", "texture", "department"]),
3059
+ z61.templateLiteral(["tag:", z61.string()])
3060
+ ]);
3061
+ var PluginPresentationViewLabel = z61.enum([
3062
+ "objectLabels",
3063
+ "areas",
3064
+ "department"
3065
+ ]);
3066
+ var PluginPresentationViewSettings = z61.object({
3067
+ backgroundColor: z61.string(),
3068
+ colorMode: PluginPresentationViewColorMode,
3069
+ showAxis: z61.boolean(),
3070
+ showEdges: z61.boolean(),
3071
+ showLabels: z61.boolean(),
3072
+ labels: z61.array(PluginPresentationViewLabel)
3073
+ });
3074
+ var PluginPresentationViewsGetSettingsArgs = z61.object({
3075
+ id: z61.string()
3076
+ });
3077
+ var PluginPresentationViewsGetSettingsResult = PluginPresentationViewSettings.nullable();
3078
+ var PluginPresentationViewsUpdateSettingsArgs = z61.object({
3079
+ id: z61.string(),
3080
+ settings: PluginPresentationViewSettings.partial()
3081
+ }).refine(
3082
+ (v) => !(v.settings.showLabels === false && (v.settings.labels?.length ?? 0) > 0),
3083
+ {
3084
+ message: "Contradictory patch: labels cannot be set while showLabels is false"
3085
+ }
3086
+ ).refine(
3087
+ (v) => !(v.settings.showLabels === true && v.settings.labels !== void 0 && v.settings.labels.length === 0),
3088
+ {
3089
+ message: "Contradictory patch: showLabels cannot be true with an explicitly empty labels list \u2014 pass a non-empty list, or omit labels to apply the defaults"
3090
+ }
3091
+ );
3092
+ var PluginPresentationViewsUpdateSettingsResult = z61.object({
3093
+ id: z61.string()
3094
+ });
2829
3095
 
2830
3096
  // src/api/presentation/sheets.ts
2831
- import * as z61 from "zod";
3097
+ import * as z62 from "zod";
2832
3098
  var PluginPresentationSheetsApi = class {
2833
3099
  constructor() {
2834
3100
  }
2835
3101
  };
2836
- var PluginPresentationSheet = z61.object({
2837
- id: z61.string(),
2838
- name: z61.string()
3102
+ var PluginPresentationSheet = z62.object({
3103
+ id: z62.string(),
3104
+ name: z62.string()
2839
3105
  });
2840
- var PluginSheetPosition = z61.object({
2841
- x: z61.number(),
2842
- y: z61.number()
3106
+ var PluginSheetPosition = z62.object({
3107
+ x: z62.number(),
3108
+ y: z62.number()
2843
3109
  });
2844
- var PluginPresentationSheetsListResult = z61.object({
2845
- sheets: z61.array(PluginPresentationSheet)
3110
+ var PluginPresentationSheetsListResult = z62.object({
3111
+ sheets: z62.array(PluginPresentationSheet)
2846
3112
  });
2847
- var PluginPresentationSheetsGetArgs = z61.object({
2848
- id: z61.string()
3113
+ var PluginPresentationSheetsGetArgs = z62.object({
3114
+ id: z62.string()
2849
3115
  });
2850
3116
  var PluginPresentationSheetsGetResult = PluginPresentationSheet.nullable();
2851
- var PluginPresentationSheetsCreateArgs = z61.object({
2852
- name: z61.string().optional()
3117
+ var PluginPresentationSheetsCreateArgs = z62.object({
3118
+ name: z62.string().optional()
2853
3119
  });
2854
- var PluginPresentationSheetsPlaceArgs = z61.object({
2855
- sheetId: z61.string(),
2856
- viewId: z61.string(),
3120
+ var PluginPresentationSheetsPlaceArgs = z62.object({
3121
+ sheetId: z62.string(),
3122
+ viewId: z62.string(),
2857
3123
  position: PluginSheetPosition.optional()
2858
3124
  });
2859
- var PluginPresentationSheetsPlaceResult = z61.object({
2860
- shapeId: z61.string()
3125
+ var PluginPresentationSheetsPlaceResult = z62.object({
3126
+ shapeId: z62.string()
2861
3127
  });
2862
3128
 
2863
3129
  // src/api/presentation/diagrams.ts
2864
- import * as z62 from "zod";
3130
+ import * as z63 from "zod";
2865
3131
  var PluginPresentationDiagramsApi = class {
2866
3132
  constructor() {
2867
3133
  }
2868
3134
  };
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()
3135
+ var PluginPresentationDiagramsPlaceArgs = z63.object({
3136
+ sheetId: z63.string(),
3137
+ urls: z63.array(z63.string()),
3138
+ position: z63.object({ x: z63.number(), y: z63.number() }).optional()
2873
3139
  });
2874
- var PluginPresentationDiagramsPlaceResult = z62.object({
2875
- shapeIds: z62.array(z62.string())
3140
+ var PluginPresentationDiagramsPlaceResult = z63.object({
3141
+ shapeIds: z63.array(z63.string())
2876
3142
  });
2877
3143
 
2878
3144
  // src/api/presentation/import.ts
2879
- import * as z63 from "zod";
3145
+ import * as z64 from "zod";
2880
3146
  var PluginPresentationImportApi = class {
2881
3147
  constructor() {
2882
3148
  }
2883
3149
  };
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()
3150
+ var PluginPresentationImportArgs = z64.object({
3151
+ url: z64.string().optional(),
3152
+ dataUrl: z64.string().optional(),
3153
+ position: z64.object({ x: z64.number(), y: z64.number() }).optional()
2888
3154
  }).refine((a) => Boolean(a.url) || Boolean(a.dataUrl), {
2889
3155
  message: "Provide a url or a dataUrl"
2890
3156
  });
2891
- var PluginPresentationImportResult = z63.object({
2892
- shapeIds: z63.array(z63.string())
3157
+ var PluginPresentationImportResult = z64.object({
3158
+ shapeIds: z64.array(z64.string())
2893
3159
  });
2894
3160
 
2895
3161
  // src/api/presentation/aiInspiration.ts
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)])
3162
+ import * as z65 from "zod";
3163
+ var JsonPrimitive = z65.union([z65.string(), z65.number(), z65.boolean(), z65.null()]);
3164
+ var JsonValue = z65.lazy(
3165
+ () => z65.union([JsonPrimitive, z65.array(JsonValue), z65.record(z65.string(), JsonValue)])
2900
3166
  );
2901
- var PluginAIInspirationOutputKind = z64.enum([
3167
+ var PluginAIInspirationOutputKind = z65.enum([
2902
3168
  "source",
2903
3169
  "image",
2904
3170
  "video"
2905
3171
  ]);
2906
- var PluginAIInspirationModelOutput = z64.enum(["image", "video"]);
2907
- var PluginAIInspirationShapeKind = z64.enum(["image", "view", "video"]);
2908
- var PluginAIInspirationVideoMode = z64.enum([
3172
+ var PluginAIInspirationModelOutput = z65.enum(["image", "video"]);
3173
+ var PluginAIInspirationShapeKind = z65.enum(["image", "view", "video"]);
3174
+ var PluginAIInspirationVideoMode = z65.enum([
2909
3175
  "animate",
2910
3176
  "references",
2911
3177
  "keyframes"
2912
3178
  ]);
2913
- var PluginAIInspirationVideoMotion = z64.enum([
3179
+ var PluginAIInspirationVideoMotion = z65.enum([
2914
3180
  "auto",
2915
3181
  "slow-dolly",
2916
3182
  "subtle-orbit",
2917
3183
  "reveal"
2918
3184
  ]);
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()
3185
+ var PluginAIInspirationVideoDuration = z65.enum(["4s", "6s", "8s"]);
3186
+ var PluginAIInspirationRegionHint = z65.object({
3187
+ x: z65.number().finite(),
3188
+ y: z65.number().finite(),
3189
+ w: z65.number().finite().positive(),
3190
+ h: z65.number().finite().positive()
3191
+ });
3192
+ var PluginAIInspirationPoint = z65.object({
3193
+ x: z65.number().finite(),
3194
+ y: z65.number().finite()
3195
+ });
3196
+ var PluginAIInspirationTextAnnotation = z65.object({
3197
+ text: z65.string().min(1),
3198
+ x: z65.number().finite().optional(),
3199
+ y: z65.number().finite().optional()
3200
+ });
3201
+ var PluginAIInspirationSketchGuidance = z65.object({
3202
+ visualShapeIds: z65.array(z65.string()).optional(),
3203
+ textAnnotations: z65.array(PluginAIInspirationTextAnnotation).optional()
3204
+ });
3205
+ var PluginAIInspirationSiteOptions = z65.object({
3206
+ includeSatellite: z65.boolean().optional(),
3207
+ includeStreetView: z65.boolean().optional(),
3208
+ includeAerial: z65.boolean().optional(),
3209
+ aerialBearing: z65.number().finite().optional(),
3210
+ aerialPitch: z65.number().finite().optional(),
3211
+ selectedDiagramIds: z65.array(z65.string()).optional(),
3212
+ location: z65.object({
3213
+ lat: z65.number().finite(),
3214
+ lng: z65.number().finite()
2949
3215
  }).optional()
2950
3216
  });
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()
3217
+ var PluginAIInspirationAppliedPreset = z65.object({
3218
+ source: z65.enum(["curated", "user"]),
3219
+ presetId: z65.string().min(1),
3220
+ name: z65.string().min(1),
3221
+ savedPresetKind: z65.enum(["prompt", "style"]).optional(),
3222
+ stylePrompt: z65.string().optional(),
3223
+ modelId: z65.string().optional(),
3224
+ referenceImages: z65.array(
3225
+ z65.object({
3226
+ url: z65.string().min(1),
3227
+ label: z65.string().optional(),
3228
+ weight: z65.number().finite().optional()
2963
3229
  })
2964
3230
  ).optional(),
2965
- siteDefaults: z64.object({
2966
- includeSatellite: z64.boolean().optional(),
2967
- includeStreetView: z64.boolean().optional(),
2968
- includeAerial: z64.boolean().optional()
3231
+ siteDefaults: z65.object({
3232
+ includeSatellite: z65.boolean().optional(),
3233
+ includeStreetView: z65.boolean().optional(),
3234
+ includeAerial: z65.boolean().optional()
2969
3235
  }).optional()
2970
3236
  });
2971
- var PluginAIInspirationVideoOptions = z64.object({
3237
+ var PluginAIInspirationVideoOptions = z65.object({
2972
3238
  mode: PluginAIInspirationVideoMode.optional(),
2973
- endFrameShapeId: z64.string().optional(),
3239
+ endFrameShapeId: z65.string().optional(),
2974
3240
  motion: PluginAIInspirationVideoMotion.optional(),
2975
3241
  duration: PluginAIInspirationVideoDuration.optional()
2976
3242
  });
2977
- var PluginAIInspirationModel = z64.object({
2978
- id: z64.string(),
2979
- label: z64.string(),
2980
- supportsMultiImage: z64.boolean(),
3243
+ var PluginAIInspirationModel = z65.object({
3244
+ id: z65.string(),
3245
+ label: z65.string(),
3246
+ supportsMultiImage: z65.boolean(),
2981
3247
  output: PluginAIInspirationModelOutput,
2982
- isDefault: z64.boolean().optional()
3248
+ isDefault: z65.boolean().optional()
2983
3249
  });
2984
- var PluginAIInspirationListModelsResult = z64.object({
2985
- defaultModelId: z64.string(),
2986
- models: z64.array(PluginAIInspirationModel)
3250
+ var PluginAIInspirationListModelsResult = z65.object({
3251
+ defaultModelId: z65.string(),
3252
+ models: z65.array(PluginAIInspirationModel)
2987
3253
  });
2988
- var PluginAIInspirationShapeRef = z64.object({
2989
- shapeId: z64.string(),
2990
- assetId: z64.string().optional(),
3254
+ var PluginAIInspirationShapeRef = z65.object({
3255
+ shapeId: z65.string(),
3256
+ assetId: z65.string().optional(),
2991
3257
  kind: PluginAIInspirationShapeKind,
2992
- name: z64.string().optional(),
2993
- width: z64.number().finite().optional(),
2994
- height: z64.number().finite().optional(),
3258
+ name: z65.string().optional(),
3259
+ width: z65.number().finite().optional(),
3260
+ height: z65.number().finite().optional(),
2995
3261
  outputType: PluginAIInspirationOutputKind.optional(),
2996
- sourceUrl: z64.string().optional()
3262
+ sourceUrl: z65.string().optional()
2997
3263
  });
2998
- var PluginAIInspirationListSourcesArgs = z64.object({
2999
- includeGenerated: z64.boolean().optional(),
3000
- includeSourceUrl: z64.boolean().optional()
3264
+ var PluginAIInspirationListSourcesArgs = z65.object({
3265
+ includeGenerated: z65.boolean().optional(),
3266
+ includeSourceUrl: z65.boolean().optional()
3001
3267
  });
3002
- var PluginAIInspirationListSourcesResult = z64.object({
3003
- sources: z64.array(PluginAIInspirationShapeRef)
3268
+ var PluginAIInspirationListSourcesResult = z65.object({
3269
+ sources: z65.array(PluginAIInspirationShapeRef)
3004
3270
  });
3005
- var PluginAIInspirationOutput = z64.object({
3006
- outputType: z64.enum(["image", "video"]),
3007
- shapeId: z64.string(),
3008
- assetId: z64.string(),
3009
- outputUrl: z64.string().optional(),
3271
+ var PluginAIInspirationOutput = z65.object({
3272
+ outputType: z65.enum(["image", "video"]),
3273
+ shapeId: z65.string(),
3274
+ assetId: z65.string(),
3275
+ outputUrl: z65.string().optional(),
3010
3276
  position: PluginAIInspirationPoint.optional()
3011
3277
  });
3012
- var PluginAIInspirationDebugSummary = z64.record(z64.string(), JsonValue);
3013
- var PluginAIInspirationRunMetadata = z64.object({
3014
- geometryFidelity: z64.string().optional(),
3278
+ var PluginAIInspirationDebugSummary = z65.record(z65.string(), JsonValue);
3279
+ var PluginAIInspirationRunMetadata = z65.object({
3280
+ geometryFidelity: z65.string().optional(),
3015
3281
  debugSummary: PluginAIInspirationDebugSummary.optional(),
3016
- streetViewComposite: z64.object({
3017
- used: z64.boolean(),
3018
- renderMode: z64.enum(["prompt_refs_default", "masked_composite_pilot"]),
3019
- backgroundLabel: z64.string().optional()
3282
+ streetViewComposite: z65.object({
3283
+ used: z65.boolean(),
3284
+ renderMode: z65.enum(["prompt_refs_default", "masked_composite_pilot"]),
3285
+ backgroundLabel: z65.string().optional()
3020
3286
  }).optional()
3021
3287
  });
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(),
3288
+ var PluginAIInspirationGenerateArgs = z65.object({
3289
+ sourceShapeId: z65.string().min(1),
3290
+ prompt: z65.string().min(1).max(8e3),
3291
+ modelId: z65.string().optional(),
3292
+ referenceShapeIds: z65.array(z65.string()).max(12).optional(),
3293
+ referenceStrength: z65.enum(["low", "medium", "high"]).optional(),
3028
3294
  appliedPreset: PluginAIInspirationAppliedPreset.optional(),
3029
3295
  site: PluginAIInspirationSiteOptions.optional(),
3030
3296
  regionHint: PluginAIInspirationRegionHint.optional(),
3031
3297
  sketchGuidance: PluginAIInspirationSketchGuidance.optional(),
3032
3298
  video: PluginAIInspirationVideoOptions.optional()
3033
3299
  });
3034
- var PluginAIInspirationRunResult = z64.object({
3035
- outputs: z64.array(PluginAIInspirationOutput).min(1),
3300
+ var PluginAIInspirationRunResult = z65.object({
3301
+ outputs: z65.array(PluginAIInspirationOutput).min(1),
3036
3302
  metadata: PluginAIInspirationRunMetadata.optional()
3037
3303
  });
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()
3304
+ var PluginAIInspirationRefineArgs = z65.object({
3305
+ sourceShapeId: z65.string().min(1),
3306
+ upscaleFactor: z65.union([z65.literal(1.5), z65.literal(2), z65.literal(4)]).optional()
3041
3307
  });
3042
3308
  var PluginPresentationAIInspirationApi = class {
3043
3309
  constructor() {
@@ -3057,38 +3323,38 @@ var PluginAnalysisSunpathApi = class {
3057
3323
  };
3058
3324
 
3059
3325
  // src/api/analysis/shadows.ts
3060
- import * as z65 from "zod";
3326
+ import * as z66 from "zod";
3061
3327
  var PluginAnalysisShadowsApi = class {
3062
3328
  constructor() {
3063
3329
  }
3064
3330
  };
3065
- var PluginAnalysisShadowsEnableOptions = z65.object({
3066
- dateTime: z65.string().optional()
3331
+ var PluginAnalysisShadowsEnableOptions = z66.object({
3332
+ dateTime: z66.string().optional()
3067
3333
  });
3068
- var PluginAnalysisShadowsSetDateTimeArgs = z65.object({
3069
- dateTime: z65.string()
3334
+ var PluginAnalysisShadowsSetDateTimeArgs = z66.object({
3335
+ dateTime: z66.string()
3070
3336
  });
3071
- var PluginAnalysisShadowsDateTimeResult = z65.string();
3337
+ var PluginAnalysisShadowsDateTimeResult = z66.string();
3072
3338
 
3073
3339
  // src/api/analysis/sunlightHours.ts
3074
- import * as z66 from "zod";
3340
+ import * as z67 from "zod";
3075
3341
  var PluginAnalysisSunlightHoursApi = class {
3076
3342
  constructor() {
3077
3343
  }
3078
3344
  };
3079
- var PluginAnalysisComputeResult = z66.object({
3080
- success: z66.boolean(),
3081
- error: z66.string().optional()
3345
+ var PluginAnalysisComputeResult = z67.object({
3346
+ success: z67.boolean(),
3347
+ error: z67.string().optional()
3082
3348
  });
3083
- var PluginAnalysisJobStatus = z66.enum([
3349
+ var PluginAnalysisJobStatus = z67.enum([
3084
3350
  "running",
3085
3351
  "active",
3086
3352
  "inactive"
3087
3353
  ]);
3088
- var PluginAnalysisJobState = z66.object({
3354
+ var PluginAnalysisJobState = z67.object({
3089
3355
  status: PluginAnalysisJobStatus,
3090
- startDate: z66.string(),
3091
- endDate: z66.string()
3356
+ startDate: z67.string(),
3357
+ endDate: z67.string()
3092
3358
  });
3093
3359
  var PluginAnalysisJobStateResult = PluginAnalysisJobState.nullable();
3094
3360
 
@@ -3099,28 +3365,28 @@ var PluginAnalysisIlluminanceApi = class {
3099
3365
  };
3100
3366
 
3101
3367
  // src/api/analysis/heatmaps.ts
3102
- import * as z67 from "zod";
3368
+ import * as z68 from "zod";
3103
3369
  var PluginAnalysisHeatmapsApi = class {
3104
3370
  constructor() {
3105
3371
  }
3106
3372
  };
3107
- var PluginAnalysisHeatmapSpaceEntry = z67.object({
3373
+ var PluginAnalysisHeatmapSpaceEntry = z68.object({
3108
3374
  space: ComponentHandle,
3109
- value: z67.number().finite()
3375
+ value: z68.number().finite()
3110
3376
  });
3111
- var PluginAnalysisHeatmapGridCell = z67.object({
3377
+ var PluginAnalysisHeatmapGridCell = z68.object({
3112
3378
  position: Vec3Components,
3113
- value: z67.number().finite()
3379
+ value: z68.number().finite()
3114
3380
  });
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()
3381
+ var PluginAnalysisHeatmapOptions = z68.object({
3382
+ title: z68.string().optional(),
3383
+ unit: z68.string().optional(),
3384
+ min: z68.number().finite().optional(),
3385
+ max: z68.number().finite().optional(),
3386
+ colors: z68.array(z68.string().regex(/^#?[0-9a-fA-F]{6}$/, 'expected a 6-digit hex colour like "#0000ff"')).min(1).optional()
3121
3387
  });
3122
- var PluginAnalysisHeatmapsRenderResult = z67.object({
3123
- success: z67.literal(true)
3388
+ var PluginAnalysisHeatmapsRenderResult = z68.object({
3389
+ success: z68.literal(true)
3124
3390
  });
3125
3391
 
3126
3392
  // src/api/analysis/index.ts
@@ -3134,12 +3400,193 @@ var PluginApi = class {
3134
3400
  constructor() {
3135
3401
  }
3136
3402
  };
3403
+
3404
+ // src/errors/codes.ts
3405
+ var PLUGIN_ERROR_CODES = [
3406
+ "VALIDATION",
3407
+ "INVALID_RPC_FORMAT",
3408
+ "METHOD_NOT_FOUND",
3409
+ "METHOD_NOT_PERMITTED",
3410
+ "HANDLE_INVALID",
3411
+ "HANDLE_KIND_MISMATCH",
3412
+ "RESOURCE_QUOTA_EXCEEDED",
3413
+ "RATE_LIMITED",
3414
+ "PRECONDITION_FAILED",
3415
+ "OPERATION_FAILED",
3416
+ "TIMEOUT",
3417
+ "CALL_TIMEOUT",
3418
+ "TRANSPORT_LOST",
3419
+ "PLUGIN_NOT_READY",
3420
+ "PLUGIN_TERMINATED",
3421
+ "RESULT_NOT_SERIALIZABLE",
3422
+ "RESULT_TOO_LARGE",
3423
+ "BATCH_PARTIAL",
3424
+ "STORY_UPDATE_FAILED",
3425
+ "STORY_HEIGHT_REJECTED",
3426
+ "NO_ACTIVE_STRUCTURE",
3427
+ "NO_ELIGIBLE_ELEMENTS",
3428
+ "PROPOSAL_SWITCH_BLOCKED",
3429
+ "INTERNAL",
3430
+ "UNKNOWN"
3431
+ ];
3432
+ var CODE_META = {
3433
+ VALIDATION: {
3434
+ category: "validation",
3435
+ hintTemplate: "Check details.issues for the failing argument."
3436
+ },
3437
+ INVALID_RPC_FORMAT: { category: "validation" },
3438
+ METHOD_NOT_FOUND: {
3439
+ category: "not_found",
3440
+ hintTemplate: "Check details.didYouMean for a close match."
3441
+ },
3442
+ METHOD_NOT_PERMITTED: { category: "permission" },
3443
+ HANDLE_INVALID: {
3444
+ category: "handle",
3445
+ hintTemplate: "Re-query the entity; do not cache handles across undo/reload."
3446
+ },
3447
+ HANDLE_KIND_MISMATCH: { category: "handle" },
3448
+ RESOURCE_QUOTA_EXCEEDED: {
3449
+ category: "quota",
3450
+ hintTemplate: "Release unused handles (core.handles.release) or use scopes."
3451
+ },
3452
+ RATE_LIMITED: {
3453
+ category: "quota",
3454
+ hintTemplate: "Wait details.retryAfterMs before retrying."
3455
+ },
3456
+ PRECONDITION_FAILED: { category: "execution" },
3457
+ OPERATION_FAILED: { category: "execution" },
3458
+ TIMEOUT: { category: "timeout" },
3459
+ CALL_TIMEOUT: { category: "timeout" },
3460
+ TRANSPORT_LOST: { category: "transport" },
3461
+ PLUGIN_NOT_READY: { category: "lifecycle" },
3462
+ PLUGIN_TERMINATED: { category: "lifecycle" },
3463
+ RESULT_NOT_SERIALIZABLE: { category: "execution" },
3464
+ RESULT_TOO_LARGE: { category: "execution" },
3465
+ BATCH_PARTIAL: { category: "execution" },
3466
+ STORY_UPDATE_FAILED: {
3467
+ category: "execution",
3468
+ hintTemplate: "The storey update could not be applied; re-read the storey and retry."
3469
+ },
3470
+ STORY_HEIGHT_REJECTED: {
3471
+ category: "execution",
3472
+ hintTemplate: "The requested height was out of range; pick a value within the storey's limits."
3473
+ },
3474
+ NO_ACTIVE_STRUCTURE: {
3475
+ category: "execution",
3476
+ hintTemplate: "Activate a structure before running this operation."
3477
+ },
3478
+ NO_ELIGIBLE_ELEMENTS: {
3479
+ category: "execution",
3480
+ hintTemplate: "The storey has no elements eligible for this operation."
3481
+ },
3482
+ PROPOSAL_SWITCH_BLOCKED: {
3483
+ category: "execution",
3484
+ hintTemplate: "Wait for the in-canvas agent run to finish, then retry."
3485
+ },
3486
+ INTERNAL: {
3487
+ category: "internal",
3488
+ hintTemplate: "Host-side fault. Report with errorId."
3489
+ },
3490
+ UNKNOWN: { category: "internal" }
3491
+ };
3492
+ function isPluginErrorCode(value) {
3493
+ return PLUGIN_ERROR_CODES.includes(value);
3494
+ }
3495
+
3496
+ // src/errors/envelope.ts
3497
+ var ERROR_ENVELOPE_VERSION = 1;
3498
+ function isErrorEnvelope(value) {
3499
+ if (typeof value !== "object" || value === null) return false;
3500
+ const record5 = value;
3501
+ return record5.envelopeVersion === ERROR_ENVELOPE_VERSION && typeof record5.code === "string" && typeof record5.message === "string" && typeof record5.errorId === "string";
3502
+ }
3503
+ var idCounter = 0;
3504
+ function newErrorId(prefix = "") {
3505
+ const cryptoApi = globalThis.crypto;
3506
+ if (cryptoApi?.randomUUID) return `${prefix}${cryptoApi.randomUUID()}`;
3507
+ idCounter += 1;
3508
+ return `${prefix}${Date.now().toString(36)}-${idCounter}-${Math.random().toString(36).slice(2, 10)}`;
3509
+ }
3510
+
3511
+ // src/errors/plugin-error.ts
3512
+ var BRAND = /* @__PURE__ */ Symbol.for("snaptrude.pluginError");
3513
+ var PluginError = class extends Error {
3514
+ constructor(envelope) {
3515
+ super(envelope.message);
3516
+ this.name = new.target.name;
3517
+ this.code = envelope.code;
3518
+ this.errorId = envelope.errorId;
3519
+ this.details = envelope.details;
3520
+ this.handle = envelope.handle;
3521
+ this.methodPath = envelope.methodPath;
3522
+ this.hint = envelope.hint ?? hintFor(envelope.code);
3523
+ this[BRAND] = true;
3524
+ }
3525
+ /** Canonical check — survives bundled duplicate SDK copies where `instanceof` fails. */
3526
+ static is(value) {
3527
+ return typeof value === "object" && value !== null && value[BRAND] === true;
3528
+ }
3529
+ /** Derived (not wire-carried) family of the code; unknown codes map to "internal". */
3530
+ get category() {
3531
+ return isPluginErrorCode(this.code) ? CODE_META[this.code].category : "internal";
3532
+ }
3533
+ };
3534
+ var PluginValidationError = class extends PluginError {
3535
+ };
3536
+ var PluginNotFoundError = class extends PluginError {
3537
+ };
3538
+ var PluginPermissionError = class extends PluginError {
3539
+ };
3540
+ var PluginHandleError = class extends PluginError {
3541
+ };
3542
+ var PluginQuotaError = class extends PluginError {
3543
+ };
3544
+ var PluginTimeoutError = class extends PluginError {
3545
+ };
3546
+ var PluginTransportError = class extends PluginError {
3547
+ };
3548
+ var PluginLifecycleError = class extends PluginError {
3549
+ };
3550
+ var PluginExecutionError = class extends PluginError {
3551
+ };
3552
+ var PluginInternalError = class extends PluginError {
3553
+ };
3554
+ var CATEGORY_CLASS = {
3555
+ validation: PluginValidationError,
3556
+ not_found: PluginNotFoundError,
3557
+ permission: PluginPermissionError,
3558
+ handle: PluginHandleError,
3559
+ quota: PluginQuotaError,
3560
+ timeout: PluginTimeoutError,
3561
+ transport: PluginTransportError,
3562
+ lifecycle: PluginLifecycleError,
3563
+ execution: PluginExecutionError,
3564
+ internal: PluginInternalError
3565
+ };
3566
+ function hintFor(code) {
3567
+ return isPluginErrorCode(code) ? CODE_META[code].hintTemplate : void 0;
3568
+ }
3569
+ function fromEnvelope(envelope) {
3570
+ if (!isPluginErrorCode(envelope.code)) return new PluginError(envelope);
3571
+ const ErrorClass = CATEGORY_CLASS[CODE_META[envelope.code].category];
3572
+ return new ErrorClass(envelope);
3573
+ }
3574
+ function makeClientEnvelope(code, message, extra) {
3575
+ return {
3576
+ envelopeVersion: ERROR_ENVELOPE_VERSION,
3577
+ code,
3578
+ message,
3579
+ errorId: newErrorId("c-"),
3580
+ ...extra
3581
+ };
3582
+ }
3137
3583
  export {
3138
3584
  ArcHandle,
3139
3585
  BBoxComponents,
3140
3586
  BooleanOptions,
3141
3587
  BooleanOutcome,
3142
3588
  BrepHandle,
3589
+ CODE_META,
3143
3590
  CadJsonInput,
3144
3591
  CircleHandle,
3145
3592
  CommentHandle,
@@ -3147,6 +3594,7 @@ export {
3147
3594
  ContourHandle,
3148
3595
  CurveHandle,
3149
3596
  DEFAULT_ERASE_STRATEGIES,
3597
+ ERROR_ENVELOPE_VERSION,
3150
3598
  EdgeHandle,
3151
3599
  ErasableEdgeRef,
3152
3600
  EraseStrategy,
@@ -3160,6 +3608,7 @@ export {
3160
3608
  MaterialHandle,
3161
3609
  ModelFormat,
3162
3610
  OffsetSplitOutcome,
3611
+ PLUGIN_ERROR_CODES,
3163
3612
  PUnitType,
3164
3613
  PluginAIInspirationAppliedPreset,
3165
3614
  PluginAIInspirationDebugSummary,
@@ -3186,6 +3635,7 @@ export {
3186
3635
  PluginAIInspirationVideoMotion,
3187
3636
  PluginAIInspirationVideoOptions,
3188
3637
  PluginAdjacencyLevel,
3638
+ PluginAlignEdge,
3189
3639
  PluginAnalysisApi,
3190
3640
  PluginAnalysisComputeResult,
3191
3641
  PluginAnalysisHeatmapGridCell,
@@ -3281,6 +3731,23 @@ export {
3281
3731
  PluginCoreLayersSetActiveResult,
3282
3732
  PluginCoreLayersUpdateArgs,
3283
3733
  PluginCoreLayersUpdateResult,
3734
+ PluginCoreProposalRef,
3735
+ PluginCoreProposalsApi,
3736
+ PluginCoreProposalsCreateArgs,
3737
+ PluginCoreProposalsCreateResult,
3738
+ PluginCoreProposalsDeleteArgs,
3739
+ PluginCoreProposalsDeleteResult,
3740
+ PluginCoreProposalsGetActiveResult,
3741
+ PluginCoreProposalsGetArgs,
3742
+ PluginCoreProposalsGetResult,
3743
+ PluginCoreProposalsIsActiveArgs,
3744
+ PluginCoreProposalsListForComponentArgs,
3745
+ PluginCoreProposalsListForComponentResult,
3746
+ PluginCoreProposalsListResult,
3747
+ PluginCoreProposalsRenameArgs,
3748
+ PluginCoreProposalsRenameResult,
3749
+ PluginCoreProposalsSetActiveArgs,
3750
+ PluginCoreProposalsSetActiveResult,
3284
3751
  PluginCoreTag,
3285
3752
  PluginCoreTagCategory,
3286
3753
  PluginCoreTagsApi,
@@ -3313,6 +3780,7 @@ export {
3313
3780
  PluginCoreTagsUpdateResult,
3314
3781
  PluginCreateSpaceItem,
3315
3782
  PluginDepartmentId,
3783
+ PluginDesignAlignArgs,
3316
3784
  PluginDesignApi,
3317
3785
  PluginDesignBooleanApi,
3318
3786
  PluginDesignBooleanIntersectArgs,
@@ -3324,6 +3792,7 @@ export {
3324
3792
  PluginDesignCreateCeilingArgs,
3325
3793
  PluginDesignCreateColumnArgs,
3326
3794
  PluginDesignCreateCopyArgs,
3795
+ PluginDesignCreateDoorArgs,
3327
3796
  PluginDesignCreateFloorArgs,
3328
3797
  PluginDesignCreateFurnitureArgs,
3329
3798
  PluginDesignCreateMassArgs,
@@ -3333,9 +3802,13 @@ export {
3333
3802
  PluginDesignCreateSpaceArgs,
3334
3803
  PluginDesignCreateStaircaseArgs,
3335
3804
  PluginDesignCreateWallsArgs,
3805
+ PluginDesignCreateWindowArgs,
3336
3806
  PluginDesignDeleteApi,
3337
3807
  PluginDesignDeleteEntitiesArgs,
3338
3808
  PluginDesignDoorArgs,
3809
+ PluginDesignDoorExistsArgs,
3810
+ PluginDesignDoorGetCatalogItemArgs,
3811
+ PluginDesignDoorListCatalogArgs,
3339
3812
  PluginDesignDoorMirrorArgs,
3340
3813
  PluginDesignDoorSetHeightArgs,
3341
3814
  PluginDesignDoorSetWidthArgs,
@@ -3348,16 +3821,22 @@ export {
3348
3821
  PluginDesignFurnitureExistsArgs,
3349
3822
  PluginDesignFurnitureGetCatalogItemArgs,
3350
3823
  PluginDesignFurnitureListCatalogArgs,
3824
+ PluginDesignIsAreaLockedArgs,
3351
3825
  PluginDesignIsLockedArgs,
3352
3826
  PluginDesignListErasableEdgesArgs,
3827
+ PluginDesignLockAreaArgs,
3353
3828
  PluginDesignLockArgs,
3354
3829
  PluginDesignMaterialsApi,
3355
3830
  PluginDesignMaterialsApplyArgs,
3831
+ PluginDesignMaterialsApplyToFacesArgs,
3356
3832
  PluginDesignMaterialsComponentArgs,
3357
3833
  PluginDesignMaterialsCreateArgs,
3834
+ PluginDesignMaterialsGetByFaceArgs,
3358
3835
  PluginDesignMaterialsGetInfoArgs,
3359
3836
  PluginDesignMaterialsListArgs,
3837
+ PluginDesignMaterialsListByFaceArgs,
3360
3838
  PluginDesignMaterialsResetArgs,
3839
+ PluginDesignMaterialsResetFacesArgs,
3361
3840
  PluginDesignMoveArgs,
3362
3841
  PluginDesignOffsetSplitArgs,
3363
3842
  PluginDesignQueryApi,
@@ -3379,10 +3858,16 @@ export {
3379
3858
  PluginDesignSelectionApi,
3380
3859
  PluginDesignSelectionRemoveArgs,
3381
3860
  PluginDesignSelectionSetArgs,
3861
+ PluginDesignSetLabelArgs,
3382
3862
  PluginDesignTransformApi,
3863
+ PluginDesignUnlockAreaArgs,
3383
3864
  PluginDesignUnlockArgs,
3384
3865
  PluginDesignUpdateApi,
3866
+ PluginDesignUpdateStaircaseArgs,
3385
3867
  PluginDesignWindowArgs,
3868
+ PluginDesignWindowExistsArgs,
3869
+ PluginDesignWindowGetCatalogItemArgs,
3870
+ PluginDesignWindowListCatalogArgs,
3386
3871
  PluginDesignWindowSetHeightArgs,
3387
3872
  PluginDesignWindowSetWidthArgs,
3388
3873
  PluginDesignWindowsApi,
@@ -3391,6 +3876,9 @@ export {
3391
3876
  PluginEntityMeasurements,
3392
3877
  PluginEntityProperties,
3393
3878
  PluginEntityType,
3879
+ PluginError,
3880
+ PluginExecutionError,
3881
+ PluginFaceMaterial,
3394
3882
  PluginFurnitureCatalogItem,
3395
3883
  PluginGeomApi,
3396
3884
  PluginGeomCreateApi,
@@ -3568,6 +4056,7 @@ export {
3568
4056
  PluginGeomUpdateProfileSimplifyArgs,
3569
4057
  PluginGridApi,
3570
4058
  PluginGridValueArgs,
4059
+ PluginHandleError,
3571
4060
  PluginHistoryApi,
3572
4061
  PluginHistoryStepArgs,
3573
4062
  PluginHistoryStepResult,
@@ -3578,12 +4067,18 @@ export {
3578
4067
  PluginImportModelArgs,
3579
4068
  PluginImportPdfArgs,
3580
4069
  PluginImportTerrainArgs,
4070
+ PluginInternalError,
4071
+ PluginLifecycleError,
3581
4072
  PluginMassType,
3582
4073
  PluginMaterialInfo,
3583
4074
  PluginMaterialResult,
3584
4075
  PluginMaterialSpec,
3585
4076
  PluginMathApi,
3586
4077
  PluginMirrorAxis,
4078
+ PluginNotFoundError,
4079
+ PluginObjectCatalogGroup,
4080
+ PluginObjectCatalogItem,
4081
+ PluginPermissionError,
3587
4082
  PluginPresentationAIInspirationApi,
3588
4083
  PluginPresentationApi,
3589
4084
  PluginPresentationDiagramsApi,
@@ -3602,6 +4097,9 @@ export {
3602
4097
  PluginPresentationSheetsPlaceArgs,
3603
4098
  PluginPresentationSheetsPlaceResult,
3604
4099
  PluginPresentationView,
4100
+ PluginPresentationViewColorMode,
4101
+ PluginPresentationViewLabel,
4102
+ PluginPresentationViewSettings,
3605
4103
  PluginPresentationViewType,
3606
4104
  PluginPresentationViewsApi,
3607
4105
  PluginPresentationViewsCaptureArgs,
@@ -3610,9 +4108,13 @@ export {
3610
4108
  PluginPresentationViewsCreateResult,
3611
4109
  PluginPresentationViewsGetArgs,
3612
4110
  PluginPresentationViewsGetResult,
4111
+ PluginPresentationViewsGetSettingsArgs,
4112
+ PluginPresentationViewsGetSettingsResult,
3613
4113
  PluginPresentationViewsListResult,
3614
4114
  PluginPresentationViewsSetActiveArgs,
3615
4115
  PluginPresentationViewsSetActiveResult,
4116
+ PluginPresentationViewsUpdateSettingsArgs,
4117
+ PluginPresentationViewsUpdateSettingsResult,
3616
4118
  PluginProgramAdjacencyApi,
3617
4119
  PluginProgramAdjacencyComputeResult,
3618
4120
  PluginProgramAdjacencyGetMatrixArgs,
@@ -3661,7 +4163,11 @@ export {
3661
4163
  PluginProgramDepartmentsUpdateArgs,
3662
4164
  PluginProgramDepartmentsUpdateResult,
3663
4165
  PluginProgramLayoutApi,
4166
+ PluginProgramLayoutJobState,
4167
+ PluginProgramLayoutJobStatus,
4168
+ PluginProgramLayoutRunArgs,
3664
4169
  PluginProgramLayoutRunResult,
4170
+ PluginProgramLayoutStateResult,
3665
4171
  PluginProgramMetricsApi,
3666
4172
  PluginProgramMetricsSummary,
3667
4173
  PluginProgramSiteApi,
@@ -3726,6 +4232,7 @@ export {
3726
4232
  PluginQuatApi,
3727
4233
  PluginQueryCadLayersArgs,
3728
4234
  PluginQueryPdfPageCountArgs,
4235
+ PluginQuotaError,
3729
4236
  PluginReferenceLineApi,
3730
4237
  PluginReferenceLineCreateMultiArgs,
3731
4238
  PluginReferenceLineCreateMultiResult,
@@ -3745,6 +4252,8 @@ export {
3745
4252
  PluginSiteLatLng,
3746
4253
  PluginSitePolygon,
3747
4254
  PluginSlabType,
4255
+ PluginSmartLayoutArgs,
4256
+ PluginSmartLayoutResult,
3748
4257
  PluginSnapValueArgs,
3749
4258
  PluginSnapsApi,
3750
4259
  PluginSpaceBulkCreateArgs,
@@ -3801,10 +4310,14 @@ export {
3801
4310
  PluginSpreadsheetTransactionOp,
3802
4311
  PluginSpreadsheetVerticalAlign,
3803
4312
  PluginSpreadsheetWhenExists,
4313
+ PluginStaircaseParamUpdates,
4314
+ PluginStaircaseParams,
3804
4315
  PluginStaircasePreset,
3805
4316
  PluginStoryApi,
3806
4317
  PluginStoryCreateArgs,
3807
4318
  PluginStoryCreateResult,
4319
+ PluginStoryDuplicateArgs,
4320
+ PluginStoryDuplicateResult,
3808
4321
  PluginStoryGetAllResult,
3809
4322
  PluginStoryGetArgs,
3810
4323
  PluginStoryGetProperty,
@@ -3813,7 +4326,9 @@ export {
3813
4326
  PluginStoryUpdateResult,
3814
4327
  PluginTerrainSetDatumArgs,
3815
4328
  PluginTerrainSetOpacityArgs,
4329
+ PluginTimeoutError,
3816
4330
  PluginToleranceArgs,
4331
+ PluginTransportError,
3817
4332
  PluginUnderlayListArgs,
3818
4333
  PluginUnderlayPlanSize,
3819
4334
  PluginUnderlayRefArgs,
@@ -3824,6 +4339,7 @@ export {
3824
4339
  PluginUnitsConvertArgs,
3825
4340
  PluginUnitsSetTypeArgs,
3826
4341
  PluginUpdateSpaceItem,
4342
+ PluginValidationError,
3827
4343
  PluginVec3Api,
3828
4344
  PluginWellKnownDepartmentId,
3829
4345
  PluginWindowDimensions,
@@ -3837,6 +4353,11 @@ export {
3837
4353
  Vec3Components,
3838
4354
  Vec3Handle,
3839
4355
  VertexHandle,
3840
- handleSchema
4356
+ fromEnvelope,
4357
+ handleSchema,
4358
+ isErrorEnvelope,
4359
+ isPluginErrorCode,
4360
+ makeClientEnvelope,
4361
+ newErrorId
3841
4362
  };
3842
4363
  //# sourceMappingURL=index.js.map