@snaptrude/plugin-core 0.6.0 → 0.7.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (89) hide show
  1. package/CHANGELOG.md +29 -0
  2. package/api-manifest.json +206 -704
  3. package/dist/api/core/index.d.ts +5 -0
  4. package/dist/api/core/index.d.ts.map +1 -1
  5. package/dist/api/core/proposals/index.d.ts +475 -0
  6. package/dist/api/core/proposals/index.d.ts.map +1 -0
  7. package/dist/api/design/create/index.d.ts +209 -0
  8. package/dist/api/design/create/index.d.ts.map +1 -1
  9. package/dist/api/design/doors/index.d.ts +159 -0
  10. package/dist/api/design/doors/index.d.ts.map +1 -1
  11. package/dist/api/design/furniture/index.d.ts +34 -5
  12. package/dist/api/design/furniture/index.d.ts.map +1 -1
  13. package/dist/api/design/index.d.ts +83 -0
  14. package/dist/api/design/index.d.ts.map +1 -1
  15. package/dist/api/design/lock.d.ts +26 -0
  16. package/dist/api/design/lock.d.ts.map +1 -1
  17. package/dist/api/design/materials/index.d.ts +159 -2
  18. package/dist/api/design/materials/index.d.ts.map +1 -1
  19. package/dist/api/design/query/index.d.ts +115 -5
  20. package/dist/api/design/query/index.d.ts.map +1 -1
  21. package/dist/api/design/selection/index.d.ts +2 -2
  22. package/dist/api/design/transform/index.d.ts +83 -2
  23. package/dist/api/design/transform/index.d.ts.map +1 -1
  24. package/dist/api/design/update/index.d.ts +168 -0
  25. package/dist/api/design/update/index.d.ts.map +1 -1
  26. package/dist/api/design/windows/index.d.ts +113 -2
  27. package/dist/api/design/windows/index.d.ts.map +1 -1
  28. package/dist/api/entity/story.d.ts +101 -7
  29. package/dist/api/entity/story.d.ts.map +1 -1
  30. package/dist/api/presentation/aiInspiration.d.ts +1967 -7
  31. package/dist/api/presentation/aiInspiration.d.ts.map +1 -1
  32. package/dist/api/presentation/import.d.ts +49 -4
  33. package/dist/api/presentation/import.d.ts.map +1 -1
  34. package/dist/api/presentation/index.d.ts +2 -3
  35. package/dist/api/presentation/index.d.ts.map +1 -1
  36. package/dist/api/presentation/views.d.ts +210 -5
  37. package/dist/api/presentation/views.d.ts.map +1 -1
  38. package/dist/api/program/areas.d.ts +42 -12
  39. package/dist/api/program/areas.d.ts.map +1 -1
  40. package/dist/api/program/index.d.ts +3 -11
  41. package/dist/api/program/index.d.ts.map +1 -1
  42. package/dist/api/program/layout.d.ts +186 -11
  43. package/dist/api/program/layout.d.ts.map +1 -1
  44. package/dist/errors/codes.d.ts +34 -0
  45. package/dist/errors/codes.d.ts.map +1 -0
  46. package/dist/errors/envelope.d.ts +56 -0
  47. package/dist/errors/envelope.d.ts.map +1 -0
  48. package/dist/errors/index.d.ts +6 -0
  49. package/dist/errors/index.d.ts.map +1 -0
  50. package/dist/errors/plugin-error.d.ts +69 -0
  51. package/dist/errors/plugin-error.d.ts.map +1 -0
  52. package/dist/host-utils.d.ts +4 -0
  53. package/dist/host-utils.d.ts.map +1 -1
  54. package/dist/index.cjs +1993 -1033
  55. package/dist/index.cjs.map +1 -1
  56. package/dist/index.d.ts +1 -0
  57. package/dist/index.d.ts.map +1 -1
  58. package/dist/index.js +1874 -1030
  59. package/dist/index.js.map +1 -1
  60. package/package.json +2 -1
  61. package/scripts/generate-manifest.test.mjs +77 -0
  62. package/src/api/core/index.ts +5 -0
  63. package/src/api/core/proposals/index.ts +509 -0
  64. package/src/api/design/create/index.ts +249 -0
  65. package/src/api/design/doors/index.ts +168 -0
  66. package/src/api/design/furniture/index.ts +36 -5
  67. package/src/api/design/index.ts +87 -0
  68. package/src/api/design/lock.ts +27 -0
  69. package/src/api/design/materials/index.ts +182 -2
  70. package/src/api/design/query/index.ts +81 -0
  71. package/src/api/design/transform/index.ts +74 -2
  72. package/src/api/design/update/index.ts +167 -0
  73. package/src/api/design/windows/index.ts +128 -2
  74. package/src/api/entity/story.ts +105 -7
  75. package/src/api/presentation/aiInspiration.ts +761 -7
  76. package/src/api/presentation/import.ts +45 -4
  77. package/src/api/presentation/index.ts +2 -3
  78. package/src/api/presentation/views.ts +221 -5
  79. package/src/api/program/areas.ts +34 -12
  80. package/src/api/program/index.ts +3 -11
  81. package/src/api/program/layout.ts +195 -11
  82. package/src/errors/codes.ts +136 -0
  83. package/src/errors/envelope.ts +75 -0
  84. package/src/errors/index.ts +21 -0
  85. package/src/errors/plugin-error.ts +134 -0
  86. package/src/host-utils.ts +4 -0
  87. package/src/index.ts +1 -0
  88. package/test/errors.test.mjs +184 -0
  89. package/api-manifest.full.json +0 -5600
package/dist/index.cjs CHANGED
@@ -35,6 +35,7 @@ __export(index_exports, {
35
35
  BooleanOptions: () => BooleanOptions,
36
36
  BooleanOutcome: () => BooleanOutcome,
37
37
  BrepHandle: () => BrepHandle,
38
+ CODE_META: () => CODE_META,
38
39
  CadJsonInput: () => CadJsonInput,
39
40
  CircleHandle: () => CircleHandle,
40
41
  CommentHandle: () => CommentHandle,
@@ -42,6 +43,7 @@ __export(index_exports, {
42
43
  ContourHandle: () => ContourHandle,
43
44
  CurveHandle: () => CurveHandle,
44
45
  DEFAULT_ERASE_STRATEGIES: () => DEFAULT_ERASE_STRATEGIES,
46
+ ERROR_ENVELOPE_VERSION: () => ERROR_ENVELOPE_VERSION,
45
47
  EdgeHandle: () => EdgeHandle,
46
48
  ErasableEdgeRef: () => ErasableEdgeRef,
47
49
  EraseStrategy: () => EraseStrategy,
@@ -55,22 +57,58 @@ __export(index_exports, {
55
57
  MaterialHandle: () => MaterialHandle,
56
58
  ModelFormat: () => ModelFormat,
57
59
  OffsetSplitOutcome: () => OffsetSplitOutcome,
60
+ PLUGIN_ERROR_CODES: () => PLUGIN_ERROR_CODES,
58
61
  PUnitType: () => PUnitType,
59
62
  PluginAIInspirationAppliedPreset: () => PluginAIInspirationAppliedPreset,
63
+ PluginAIInspirationCancelJobResult: () => PluginAIInspirationCancelJobResult,
60
64
  PluginAIInspirationDebugSummary: () => PluginAIInspirationDebugSummary,
65
+ PluginAIInspirationDeleteRecipeArgs: () => PluginAIInspirationDeleteRecipeArgs,
66
+ PluginAIInspirationDeleteRecipeResult: () => PluginAIInspirationDeleteRecipeResult,
67
+ PluginAIInspirationExtractRecipeFromShapeArgs: () => PluginAIInspirationExtractRecipeFromShapeArgs,
68
+ PluginAIInspirationExtractionResult: () => PluginAIInspirationExtractionResult,
61
69
  PluginAIInspirationGenerateArgs: () => PluginAIInspirationGenerateArgs,
70
+ PluginAIInspirationGenerationInputSnapshot: () => PluginAIInspirationGenerationInputSnapshot,
71
+ PluginAIInspirationGetJobResult: () => PluginAIInspirationGetJobResult,
72
+ PluginAIInspirationGetModelCapabilitiesArgs: () => PluginAIInspirationGetModelCapabilitiesArgs,
73
+ PluginAIInspirationGetModelCapabilitiesResult: () => PluginAIInspirationGetModelCapabilitiesResult,
74
+ PluginAIInspirationGetPresetCatalogResult: () => PluginAIInspirationGetPresetCatalogResult,
75
+ PluginAIInspirationGetSelectionResult: () => PluginAIInspirationGetSelectionResult,
76
+ PluginAIInspirationGetWorkflowForShapeArgs: () => PluginAIInspirationGetWorkflowForShapeArgs,
77
+ PluginAIInspirationGetWorkflowForShapeResult: () => PluginAIInspirationGetWorkflowForShapeResult,
78
+ PluginAIInspirationJob: () => PluginAIInspirationJob,
79
+ PluginAIInspirationJobArgs: () => PluginAIInspirationJobArgs,
80
+ PluginAIInspirationJobProgress: () => PluginAIInspirationJobProgress,
81
+ PluginAIInspirationJobStatus: () => PluginAIInspirationJobStatus,
82
+ PluginAIInspirationListJobsResult: () => PluginAIInspirationListJobsResult,
62
83
  PluginAIInspirationListModelsResult: () => PluginAIInspirationListModelsResult,
84
+ PluginAIInspirationListRecipesResult: () => PluginAIInspirationListRecipesResult,
63
85
  PluginAIInspirationListSourcesArgs: () => PluginAIInspirationListSourcesArgs,
64
86
  PluginAIInspirationListSourcesResult: () => PluginAIInspirationListSourcesResult,
65
87
  PluginAIInspirationModel: () => PluginAIInspirationModel,
88
+ PluginAIInspirationModelCapability: () => PluginAIInspirationModelCapability,
66
89
  PluginAIInspirationModelOutput: () => PluginAIInspirationModelOutput,
67
90
  PluginAIInspirationOutput: () => PluginAIInspirationOutput,
68
91
  PluginAIInspirationOutputKind: () => PluginAIInspirationOutputKind,
69
92
  PluginAIInspirationPoint: () => PluginAIInspirationPoint,
93
+ PluginAIInspirationPreset: () => PluginAIInspirationPreset,
94
+ PluginAIInspirationPresetCategory: () => PluginAIInspirationPresetCategory,
95
+ PluginAIInspirationPresetReferenceImage: () => PluginAIInspirationPresetReferenceImage,
96
+ PluginAIInspirationPromptStrategy: () => PluginAIInspirationPromptStrategy,
97
+ PluginAIInspirationRecipe: () => PluginAIInspirationRecipe,
98
+ PluginAIInspirationRecipeDraft: () => PluginAIInspirationRecipeDraft,
99
+ PluginAIInspirationRecipeSlot: () => PluginAIInspirationRecipeSlot,
100
+ PluginAIInspirationRecipeStep: () => PluginAIInspirationRecipeStep,
70
101
  PluginAIInspirationRefineArgs: () => PluginAIInspirationRefineArgs,
71
102
  PluginAIInspirationRegionHint: () => PluginAIInspirationRegionHint,
103
+ PluginAIInspirationRerunPlanResult: () => PluginAIInspirationRerunPlanResult,
104
+ PluginAIInspirationRerunSelectedBranchArgs: () => PluginAIInspirationRerunSelectedBranchArgs,
72
105
  PluginAIInspirationRunMetadata: () => PluginAIInspirationRunMetadata,
106
+ PluginAIInspirationRunMode: () => PluginAIInspirationRunMode,
107
+ PluginAIInspirationRunRecipeArgs: () => PluginAIInspirationRunRecipeArgs,
73
108
  PluginAIInspirationRunResult: () => PluginAIInspirationRunResult,
109
+ PluginAIInspirationRuntimeProvider: () => PluginAIInspirationRuntimeProvider,
110
+ PluginAIInspirationSaveRecipeArgs: () => PluginAIInspirationSaveRecipeArgs,
111
+ PluginAIInspirationSaveRecipeResult: () => PluginAIInspirationSaveRecipeResult,
74
112
  PluginAIInspirationShapeKind: () => PluginAIInspirationShapeKind,
75
113
  PluginAIInspirationShapeRef: () => PluginAIInspirationShapeRef,
76
114
  PluginAIInspirationSiteOptions: () => PluginAIInspirationSiteOptions,
@@ -80,7 +118,14 @@ __export(index_exports, {
80
118
  PluginAIInspirationVideoMode: () => PluginAIInspirationVideoMode,
81
119
  PluginAIInspirationVideoMotion: () => PluginAIInspirationVideoMotion,
82
120
  PluginAIInspirationVideoOptions: () => PluginAIInspirationVideoOptions,
121
+ PluginAIInspirationWorkflow: () => PluginAIInspirationWorkflow,
122
+ PluginAIInspirationWorkflowEdge: () => PluginAIInspirationWorkflowEdge,
123
+ PluginAIInspirationWorkflowNode: () => PluginAIInspirationWorkflowNode,
124
+ PluginAIInspirationWorkflowOperation: () => PluginAIInspirationWorkflowOperation,
125
+ PluginAIInspirationWorkflowRunState: () => PluginAIInspirationWorkflowRunState,
126
+ PluginAIInspirationWorkflowVideoConfig: () => PluginAIInspirationWorkflowVideoConfig,
83
127
  PluginAdjacencyLevel: () => PluginAdjacencyLevel,
128
+ PluginAlignEdge: () => PluginAlignEdge,
84
129
  PluginAnalysisApi: () => PluginAnalysisApi,
85
130
  PluginAnalysisComputeResult: () => PluginAnalysisComputeResult,
86
131
  PluginAnalysisHeatmapGridCell: () => PluginAnalysisHeatmapGridCell,
@@ -176,6 +221,23 @@ __export(index_exports, {
176
221
  PluginCoreLayersSetActiveResult: () => PluginCoreLayersSetActiveResult,
177
222
  PluginCoreLayersUpdateArgs: () => PluginCoreLayersUpdateArgs,
178
223
  PluginCoreLayersUpdateResult: () => PluginCoreLayersUpdateResult,
224
+ PluginCoreProposalRef: () => PluginCoreProposalRef,
225
+ PluginCoreProposalsApi: () => PluginCoreProposalsApi,
226
+ PluginCoreProposalsCreateArgs: () => PluginCoreProposalsCreateArgs,
227
+ PluginCoreProposalsCreateResult: () => PluginCoreProposalsCreateResult,
228
+ PluginCoreProposalsDeleteArgs: () => PluginCoreProposalsDeleteArgs,
229
+ PluginCoreProposalsDeleteResult: () => PluginCoreProposalsDeleteResult,
230
+ PluginCoreProposalsGetActiveResult: () => PluginCoreProposalsGetActiveResult,
231
+ PluginCoreProposalsGetArgs: () => PluginCoreProposalsGetArgs,
232
+ PluginCoreProposalsGetResult: () => PluginCoreProposalsGetResult,
233
+ PluginCoreProposalsIsActiveArgs: () => PluginCoreProposalsIsActiveArgs,
234
+ PluginCoreProposalsListForComponentArgs: () => PluginCoreProposalsListForComponentArgs,
235
+ PluginCoreProposalsListForComponentResult: () => PluginCoreProposalsListForComponentResult,
236
+ PluginCoreProposalsListResult: () => PluginCoreProposalsListResult,
237
+ PluginCoreProposalsRenameArgs: () => PluginCoreProposalsRenameArgs,
238
+ PluginCoreProposalsRenameResult: () => PluginCoreProposalsRenameResult,
239
+ PluginCoreProposalsSetActiveArgs: () => PluginCoreProposalsSetActiveArgs,
240
+ PluginCoreProposalsSetActiveResult: () => PluginCoreProposalsSetActiveResult,
179
241
  PluginCoreTag: () => PluginCoreTag,
180
242
  PluginCoreTagCategory: () => PluginCoreTagCategory,
181
243
  PluginCoreTagsApi: () => PluginCoreTagsApi,
@@ -208,6 +270,7 @@ __export(index_exports, {
208
270
  PluginCoreTagsUpdateResult: () => PluginCoreTagsUpdateResult,
209
271
  PluginCreateSpaceItem: () => PluginCreateSpaceItem,
210
272
  PluginDepartmentId: () => PluginDepartmentId,
273
+ PluginDesignAlignArgs: () => PluginDesignAlignArgs,
211
274
  PluginDesignApi: () => PluginDesignApi,
212
275
  PluginDesignBooleanApi: () => PluginDesignBooleanApi,
213
276
  PluginDesignBooleanIntersectArgs: () => PluginDesignBooleanIntersectArgs,
@@ -219,6 +282,7 @@ __export(index_exports, {
219
282
  PluginDesignCreateCeilingArgs: () => PluginDesignCreateCeilingArgs,
220
283
  PluginDesignCreateColumnArgs: () => PluginDesignCreateColumnArgs,
221
284
  PluginDesignCreateCopyArgs: () => PluginDesignCreateCopyArgs,
285
+ PluginDesignCreateDoorArgs: () => PluginDesignCreateDoorArgs,
222
286
  PluginDesignCreateFloorArgs: () => PluginDesignCreateFloorArgs,
223
287
  PluginDesignCreateFurnitureArgs: () => PluginDesignCreateFurnitureArgs,
224
288
  PluginDesignCreateMassArgs: () => PluginDesignCreateMassArgs,
@@ -228,9 +292,13 @@ __export(index_exports, {
228
292
  PluginDesignCreateSpaceArgs: () => PluginDesignCreateSpaceArgs,
229
293
  PluginDesignCreateStaircaseArgs: () => PluginDesignCreateStaircaseArgs,
230
294
  PluginDesignCreateWallsArgs: () => PluginDesignCreateWallsArgs,
295
+ PluginDesignCreateWindowArgs: () => PluginDesignCreateWindowArgs,
231
296
  PluginDesignDeleteApi: () => PluginDesignDeleteApi,
232
297
  PluginDesignDeleteEntitiesArgs: () => PluginDesignDeleteEntitiesArgs,
233
298
  PluginDesignDoorArgs: () => PluginDesignDoorArgs,
299
+ PluginDesignDoorExistsArgs: () => PluginDesignDoorExistsArgs,
300
+ PluginDesignDoorGetCatalogItemArgs: () => PluginDesignDoorGetCatalogItemArgs,
301
+ PluginDesignDoorListCatalogArgs: () => PluginDesignDoorListCatalogArgs,
234
302
  PluginDesignDoorMirrorArgs: () => PluginDesignDoorMirrorArgs,
235
303
  PluginDesignDoorSetHeightArgs: () => PluginDesignDoorSetHeightArgs,
236
304
  PluginDesignDoorSetWidthArgs: () => PluginDesignDoorSetWidthArgs,
@@ -243,16 +311,22 @@ __export(index_exports, {
243
311
  PluginDesignFurnitureExistsArgs: () => PluginDesignFurnitureExistsArgs,
244
312
  PluginDesignFurnitureGetCatalogItemArgs: () => PluginDesignFurnitureGetCatalogItemArgs,
245
313
  PluginDesignFurnitureListCatalogArgs: () => PluginDesignFurnitureListCatalogArgs,
314
+ PluginDesignIsAreaLockedArgs: () => PluginDesignIsAreaLockedArgs,
246
315
  PluginDesignIsLockedArgs: () => PluginDesignIsLockedArgs,
247
316
  PluginDesignListErasableEdgesArgs: () => PluginDesignListErasableEdgesArgs,
317
+ PluginDesignLockAreaArgs: () => PluginDesignLockAreaArgs,
248
318
  PluginDesignLockArgs: () => PluginDesignLockArgs,
249
319
  PluginDesignMaterialsApi: () => PluginDesignMaterialsApi,
250
320
  PluginDesignMaterialsApplyArgs: () => PluginDesignMaterialsApplyArgs,
321
+ PluginDesignMaterialsApplyToFacesArgs: () => PluginDesignMaterialsApplyToFacesArgs,
251
322
  PluginDesignMaterialsComponentArgs: () => PluginDesignMaterialsComponentArgs,
252
323
  PluginDesignMaterialsCreateArgs: () => PluginDesignMaterialsCreateArgs,
324
+ PluginDesignMaterialsGetByFaceArgs: () => PluginDesignMaterialsGetByFaceArgs,
253
325
  PluginDesignMaterialsGetInfoArgs: () => PluginDesignMaterialsGetInfoArgs,
254
326
  PluginDesignMaterialsListArgs: () => PluginDesignMaterialsListArgs,
327
+ PluginDesignMaterialsListByFaceArgs: () => PluginDesignMaterialsListByFaceArgs,
255
328
  PluginDesignMaterialsResetArgs: () => PluginDesignMaterialsResetArgs,
329
+ PluginDesignMaterialsResetFacesArgs: () => PluginDesignMaterialsResetFacesArgs,
256
330
  PluginDesignMoveArgs: () => PluginDesignMoveArgs,
257
331
  PluginDesignOffsetSplitArgs: () => PluginDesignOffsetSplitArgs,
258
332
  PluginDesignQueryApi: () => PluginDesignQueryApi,
@@ -274,10 +348,16 @@ __export(index_exports, {
274
348
  PluginDesignSelectionApi: () => PluginDesignSelectionApi,
275
349
  PluginDesignSelectionRemoveArgs: () => PluginDesignSelectionRemoveArgs,
276
350
  PluginDesignSelectionSetArgs: () => PluginDesignSelectionSetArgs,
351
+ PluginDesignSetLabelArgs: () => PluginDesignSetLabelArgs,
277
352
  PluginDesignTransformApi: () => PluginDesignTransformApi,
353
+ PluginDesignUnlockAreaArgs: () => PluginDesignUnlockAreaArgs,
278
354
  PluginDesignUnlockArgs: () => PluginDesignUnlockArgs,
279
355
  PluginDesignUpdateApi: () => PluginDesignUpdateApi,
356
+ PluginDesignUpdateStaircaseArgs: () => PluginDesignUpdateStaircaseArgs,
280
357
  PluginDesignWindowArgs: () => PluginDesignWindowArgs,
358
+ PluginDesignWindowExistsArgs: () => PluginDesignWindowExistsArgs,
359
+ PluginDesignWindowGetCatalogItemArgs: () => PluginDesignWindowGetCatalogItemArgs,
360
+ PluginDesignWindowListCatalogArgs: () => PluginDesignWindowListCatalogArgs,
281
361
  PluginDesignWindowSetHeightArgs: () => PluginDesignWindowSetHeightArgs,
282
362
  PluginDesignWindowSetWidthArgs: () => PluginDesignWindowSetWidthArgs,
283
363
  PluginDesignWindowsApi: () => PluginDesignWindowsApi,
@@ -286,6 +366,9 @@ __export(index_exports, {
286
366
  PluginEntityMeasurements: () => PluginEntityMeasurements,
287
367
  PluginEntityProperties: () => PluginEntityProperties,
288
368
  PluginEntityType: () => PluginEntityType,
369
+ PluginError: () => PluginError,
370
+ PluginExecutionError: () => PluginExecutionError,
371
+ PluginFaceMaterial: () => PluginFaceMaterial,
289
372
  PluginFurnitureCatalogItem: () => PluginFurnitureCatalogItem,
290
373
  PluginGeomApi: () => PluginGeomApi,
291
374
  PluginGeomCreateApi: () => PluginGeomCreateApi,
@@ -463,6 +546,7 @@ __export(index_exports, {
463
546
  PluginGeomUpdateProfileSimplifyArgs: () => PluginGeomUpdateProfileSimplifyArgs,
464
547
  PluginGridApi: () => PluginGridApi,
465
548
  PluginGridValueArgs: () => PluginGridValueArgs,
549
+ PluginHandleError: () => PluginHandleError,
466
550
  PluginHistoryApi: () => PluginHistoryApi,
467
551
  PluginHistoryStepArgs: () => PluginHistoryStepArgs,
468
552
  PluginHistoryStepResult: () => PluginHistoryStepResult,
@@ -473,12 +557,18 @@ __export(index_exports, {
473
557
  PluginImportModelArgs: () => PluginImportModelArgs,
474
558
  PluginImportPdfArgs: () => PluginImportPdfArgs,
475
559
  PluginImportTerrainArgs: () => PluginImportTerrainArgs,
560
+ PluginInternalError: () => PluginInternalError,
561
+ PluginLifecycleError: () => PluginLifecycleError,
476
562
  PluginMassType: () => PluginMassType,
477
563
  PluginMaterialInfo: () => PluginMaterialInfo,
478
564
  PluginMaterialResult: () => PluginMaterialResult,
479
565
  PluginMaterialSpec: () => PluginMaterialSpec,
480
566
  PluginMathApi: () => PluginMathApi,
481
567
  PluginMirrorAxis: () => PluginMirrorAxis,
568
+ PluginNotFoundError: () => PluginNotFoundError,
569
+ PluginObjectCatalogGroup: () => PluginObjectCatalogGroup,
570
+ PluginObjectCatalogItem: () => PluginObjectCatalogItem,
571
+ PluginPermissionError: () => PluginPermissionError,
482
572
  PluginPresentationAIInspirationApi: () => PluginPresentationAIInspirationApi,
483
573
  PluginPresentationApi: () => PluginPresentationApi,
484
574
  PluginPresentationDiagramsApi: () => PluginPresentationDiagramsApi,
@@ -497,6 +587,9 @@ __export(index_exports, {
497
587
  PluginPresentationSheetsPlaceArgs: () => PluginPresentationSheetsPlaceArgs,
498
588
  PluginPresentationSheetsPlaceResult: () => PluginPresentationSheetsPlaceResult,
499
589
  PluginPresentationView: () => PluginPresentationView,
590
+ PluginPresentationViewColorMode: () => PluginPresentationViewColorMode,
591
+ PluginPresentationViewLabel: () => PluginPresentationViewLabel,
592
+ PluginPresentationViewSettings: () => PluginPresentationViewSettings,
500
593
  PluginPresentationViewType: () => PluginPresentationViewType,
501
594
  PluginPresentationViewsApi: () => PluginPresentationViewsApi,
502
595
  PluginPresentationViewsCaptureArgs: () => PluginPresentationViewsCaptureArgs,
@@ -505,9 +598,13 @@ __export(index_exports, {
505
598
  PluginPresentationViewsCreateResult: () => PluginPresentationViewsCreateResult,
506
599
  PluginPresentationViewsGetArgs: () => PluginPresentationViewsGetArgs,
507
600
  PluginPresentationViewsGetResult: () => PluginPresentationViewsGetResult,
601
+ PluginPresentationViewsGetSettingsArgs: () => PluginPresentationViewsGetSettingsArgs,
602
+ PluginPresentationViewsGetSettingsResult: () => PluginPresentationViewsGetSettingsResult,
508
603
  PluginPresentationViewsListResult: () => PluginPresentationViewsListResult,
509
604
  PluginPresentationViewsSetActiveArgs: () => PluginPresentationViewsSetActiveArgs,
510
605
  PluginPresentationViewsSetActiveResult: () => PluginPresentationViewsSetActiveResult,
606
+ PluginPresentationViewsUpdateSettingsArgs: () => PluginPresentationViewsUpdateSettingsArgs,
607
+ PluginPresentationViewsUpdateSettingsResult: () => PluginPresentationViewsUpdateSettingsResult,
511
608
  PluginProgramAdjacencyApi: () => PluginProgramAdjacencyApi,
512
609
  PluginProgramAdjacencyComputeResult: () => PluginProgramAdjacencyComputeResult,
513
610
  PluginProgramAdjacencyGetMatrixArgs: () => PluginProgramAdjacencyGetMatrixArgs,
@@ -556,7 +653,11 @@ __export(index_exports, {
556
653
  PluginProgramDepartmentsUpdateArgs: () => PluginProgramDepartmentsUpdateArgs,
557
654
  PluginProgramDepartmentsUpdateResult: () => PluginProgramDepartmentsUpdateResult,
558
655
  PluginProgramLayoutApi: () => PluginProgramLayoutApi,
656
+ PluginProgramLayoutJobState: () => PluginProgramLayoutJobState,
657
+ PluginProgramLayoutJobStatus: () => PluginProgramLayoutJobStatus,
658
+ PluginProgramLayoutRunArgs: () => PluginProgramLayoutRunArgs,
559
659
  PluginProgramLayoutRunResult: () => PluginProgramLayoutRunResult,
660
+ PluginProgramLayoutStateResult: () => PluginProgramLayoutStateResult,
560
661
  PluginProgramMetricsApi: () => PluginProgramMetricsApi,
561
662
  PluginProgramMetricsSummary: () => PluginProgramMetricsSummary,
562
663
  PluginProgramSiteApi: () => PluginProgramSiteApi,
@@ -621,6 +722,7 @@ __export(index_exports, {
621
722
  PluginQuatApi: () => PluginQuatApi,
622
723
  PluginQueryCadLayersArgs: () => PluginQueryCadLayersArgs,
623
724
  PluginQueryPdfPageCountArgs: () => PluginQueryPdfPageCountArgs,
725
+ PluginQuotaError: () => PluginQuotaError,
624
726
  PluginReferenceLineApi: () => PluginReferenceLineApi,
625
727
  PluginReferenceLineCreateMultiArgs: () => PluginReferenceLineCreateMultiArgs,
626
728
  PluginReferenceLineCreateMultiResult: () => PluginReferenceLineCreateMultiResult,
@@ -640,6 +742,8 @@ __export(index_exports, {
640
742
  PluginSiteLatLng: () => PluginSiteLatLng,
641
743
  PluginSitePolygon: () => PluginSitePolygon,
642
744
  PluginSlabType: () => PluginSlabType,
745
+ PluginSmartLayoutArgs: () => PluginSmartLayoutArgs,
746
+ PluginSmartLayoutResult: () => PluginSmartLayoutResult,
643
747
  PluginSnapValueArgs: () => PluginSnapValueArgs,
644
748
  PluginSnapsApi: () => PluginSnapsApi,
645
749
  PluginSpaceBulkCreateArgs: () => PluginSpaceBulkCreateArgs,
@@ -696,10 +800,14 @@ __export(index_exports, {
696
800
  PluginSpreadsheetTransactionOp: () => PluginSpreadsheetTransactionOp,
697
801
  PluginSpreadsheetVerticalAlign: () => PluginSpreadsheetVerticalAlign,
698
802
  PluginSpreadsheetWhenExists: () => PluginSpreadsheetWhenExists,
803
+ PluginStaircaseParamUpdates: () => PluginStaircaseParamUpdates,
804
+ PluginStaircaseParams: () => PluginStaircaseParams,
699
805
  PluginStaircasePreset: () => PluginStaircasePreset,
700
806
  PluginStoryApi: () => PluginStoryApi,
701
807
  PluginStoryCreateArgs: () => PluginStoryCreateArgs,
702
808
  PluginStoryCreateResult: () => PluginStoryCreateResult,
809
+ PluginStoryDuplicateArgs: () => PluginStoryDuplicateArgs,
810
+ PluginStoryDuplicateResult: () => PluginStoryDuplicateResult,
703
811
  PluginStoryGetAllResult: () => PluginStoryGetAllResult,
704
812
  PluginStoryGetArgs: () => PluginStoryGetArgs,
705
813
  PluginStoryGetProperty: () => PluginStoryGetProperty,
@@ -708,7 +816,9 @@ __export(index_exports, {
708
816
  PluginStoryUpdateResult: () => PluginStoryUpdateResult,
709
817
  PluginTerrainSetDatumArgs: () => PluginTerrainSetDatumArgs,
710
818
  PluginTerrainSetOpacityArgs: () => PluginTerrainSetOpacityArgs,
819
+ PluginTimeoutError: () => PluginTimeoutError,
711
820
  PluginToleranceArgs: () => PluginToleranceArgs,
821
+ PluginTransportError: () => PluginTransportError,
712
822
  PluginUnderlayListArgs: () => PluginUnderlayListArgs,
713
823
  PluginUnderlayPlanSize: () => PluginUnderlayPlanSize,
714
824
  PluginUnderlayRefArgs: () => PluginUnderlayRefArgs,
@@ -719,6 +829,7 @@ __export(index_exports, {
719
829
  PluginUnitsConvertArgs: () => PluginUnitsConvertArgs,
720
830
  PluginUnitsSetTypeArgs: () => PluginUnitsSetTypeArgs,
721
831
  PluginUpdateSpaceItem: () => PluginUpdateSpaceItem,
832
+ PluginValidationError: () => PluginValidationError,
722
833
  PluginVec3Api: () => PluginVec3Api,
723
834
  PluginWellKnownDepartmentId: () => PluginWellKnownDepartmentId,
724
835
  PluginWindowDimensions: () => PluginWindowDimensions,
@@ -732,7 +843,12 @@ __export(index_exports, {
732
843
  Vec3Components: () => Vec3Components,
733
844
  Vec3Handle: () => Vec3Handle,
734
845
  VertexHandle: () => VertexHandle,
735
- handleSchema: () => handleSchema
846
+ fromEnvelope: () => fromEnvelope,
847
+ handleSchema: () => handleSchema,
848
+ isErrorEnvelope: () => isErrorEnvelope,
849
+ isPluginErrorCode: () => isPluginErrorCode,
850
+ makeClientEnvelope: () => makeClientEnvelope,
851
+ newErrorId: () => newErrorId
736
852
  });
737
853
  module.exports = __toCommonJS(index_exports);
738
854
 
@@ -1903,6 +2019,67 @@ var PluginCoreIoApi = class {
1903
2019
  }
1904
2020
  };
1905
2021
 
2022
+ // src/api/core/proposals/index.ts
2023
+ var z30 = __toESM(require("zod"), 1);
2024
+ var PluginCoreProposalsApi = class {
2025
+ constructor() {
2026
+ }
2027
+ };
2028
+ var PluginCoreProposalRef = z30.object({
2029
+ id: z30.string(),
2030
+ name: z30.string(),
2031
+ isActive: z30.boolean(),
2032
+ defaultBucketId: z30.string(),
2033
+ bucketIds: z30.array(z30.string()),
2034
+ createdAt: z30.string(),
2035
+ createdBy: z30.string()
2036
+ });
2037
+ var PluginCoreProposalsListResult = z30.object({
2038
+ proposals: z30.array(PluginCoreProposalRef)
2039
+ });
2040
+ var PluginCoreProposalsGetArgs = z30.object({
2041
+ proposalId: z30.string()
2042
+ });
2043
+ var PluginCoreProposalsGetResult = PluginCoreProposalRef.nullable();
2044
+ var PluginCoreProposalsGetActiveResult = PluginCoreProposalRef.nullable();
2045
+ var PluginCoreProposalsListForComponentArgs = z30.object({
2046
+ component: ComponentHandle
2047
+ });
2048
+ var PluginCoreProposalsListForComponentResult = PluginCoreProposalsListResult;
2049
+ var PluginCoreProposalsIsActiveArgs = PluginCoreProposalsGetArgs;
2050
+ var PluginCoreProposalsCreateArgs = z30.object({
2051
+ name: z30.string()
2052
+ });
2053
+ var PluginCoreProposalsCreateResult = z30.object({
2054
+ id: z30.string()
2055
+ });
2056
+ var PluginCoreProposalsRenameArgs = z30.object({
2057
+ proposalId: z30.string(),
2058
+ name: z30.string()
2059
+ });
2060
+ var PluginCoreProposalsRenameResult = PluginCoreProposalRef;
2061
+ var PluginCoreProposalsSetActiveArgs = z30.object({
2062
+ proposalId: z30.string()
2063
+ });
2064
+ var PluginCoreProposalsSetActiveResult = z30.object({
2065
+ id: z30.string()
2066
+ });
2067
+ var PluginCoreProposalsDeleteArgs = z30.object({
2068
+ proposalId: z30.string(),
2069
+ deleteObjects: z30.boolean().optional(),
2070
+ targetProposalId: z30.string().optional()
2071
+ }).refine((v) => v.deleteObjects === true !== (v.targetProposalId != null), {
2072
+ message: "Provide exactly one disposition: deleteObjects: true (destroy exclusive-bucket geometry) or targetProposalId (transfer buckets, then delete)"
2073
+ }).refine(
2074
+ (v) => v.targetProposalId == null || v.targetProposalId !== v.proposalId,
2075
+ {
2076
+ message: "targetProposalId must be a different proposal than proposalId"
2077
+ }
2078
+ );
2079
+ var PluginCoreProposalsDeleteResult = z30.object({
2080
+ deleted: z30.literal(true)
2081
+ });
2082
+
1906
2083
  // src/api/core/index.ts
1907
2084
  var PluginCoreApi = class {
1908
2085
  constructor() {
@@ -1910,39 +2087,39 @@ var PluginCoreApi = class {
1910
2087
  };
1911
2088
 
1912
2089
  // src/api/design/create/index.ts
1913
- var z31 = __toESM(require("zod"), 1);
2090
+ var z32 = __toESM(require("zod"), 1);
1914
2091
 
1915
2092
  // src/api/entity/space.ts
1916
- var z30 = __toESM(require("zod"), 1);
1917
- var PluginSpaceCreateRectangularArgs = z30.object({
2093
+ var z31 = __toESM(require("zod"), 1);
2094
+ var PluginSpaceCreateRectangularArgs = z31.object({
1918
2095
  position: Vec3Handle,
1919
- dimensions: z30.object({
1920
- width: z30.number(),
1921
- height: z30.number(),
1922
- depth: z30.number()
2096
+ dimensions: z31.object({
2097
+ width: z31.number(),
2098
+ height: z31.number(),
2099
+ depth: z31.number()
1923
2100
  })
1924
2101
  });
1925
- var PluginSpaceCreateRectangularResult = z30.object({
1926
- spaceId: z30.string()
2102
+ var PluginSpaceCreateRectangularResult = z31.object({
2103
+ spaceId: z31.string()
1927
2104
  });
1928
- var PluginSpaceCreateFromProfileArgs = z30.object({
2105
+ var PluginSpaceCreateFromProfileArgs = z31.object({
1929
2106
  profile: ProfileHandle,
1930
- innerProfiles: z30.array(ProfileHandle).optional(),
1931
- extrudeHeight: z30.number(),
2107
+ innerProfiles: z31.array(ProfileHandle).optional(),
2108
+ extrudeHeight: z31.number(),
1932
2109
  position: Vec3Handle
1933
2110
  });
1934
- var PluginSpaceCreateFromProfileResult = z30.object({
1935
- spaceId: z30.string()
2111
+ var PluginSpaceCreateFromProfileResult = z31.object({
2112
+ spaceId: z31.string()
1936
2113
  });
1937
- var PluginSpaceUpdateGeometryFromProfileArgs = z30.object({
1938
- spaceId: z30.string(),
2114
+ var PluginSpaceUpdateGeometryFromProfileArgs = z31.object({
2115
+ spaceId: z31.string(),
1939
2116
  profile: ProfileHandle,
1940
- extrudeHeight: z30.number()
2117
+ extrudeHeight: z31.number()
1941
2118
  });
1942
- var PluginSpaceUpdateGeometryFromProfileResult = z30.object({
1943
- spaceId: z30.string()
2119
+ var PluginSpaceUpdateGeometryFromProfileResult = z31.object({
2120
+ spaceId: z31.string()
1944
2121
  });
1945
- var PluginSpaceGetProperty = z30.enum([
2122
+ var PluginSpaceGetProperty = z31.enum([
1946
2123
  // Basic
1947
2124
  "id",
1948
2125
  "type",
@@ -1973,11 +2150,11 @@ var PluginSpaceGetProperty = z30.enum([
1973
2150
  // Derived from adjacency manager
1974
2151
  "adjacency"
1975
2152
  ]);
1976
- var PluginSpaceGetArgs = z30.object({
1977
- spaceId: z30.string(),
1978
- properties: z30.array(PluginSpaceGetProperty)
2153
+ var PluginSpaceGetArgs = z31.object({
2154
+ spaceId: z31.string(),
2155
+ properties: z31.array(PluginSpaceGetProperty)
1979
2156
  });
1980
- var PluginSpaceType = z30.enum([
2157
+ var PluginSpaceType = z31.enum([
1981
2158
  "Room",
1982
2159
  "Program Block",
1983
2160
  "Balcony",
@@ -1989,51 +2166,51 @@ var PluginSpaceType = z30.enum([
1989
2166
  "Envelope",
1990
2167
  "Parking"
1991
2168
  ]);
1992
- var PluginAreaClass = z30.enum(["NET", "GROSS", "EXCLUDED"]);
1993
- var PluginSpaceGetResult = z30.object({
2169
+ var PluginAreaClass = z31.enum(["NET", "GROSS", "EXCLUDED"]);
2170
+ var PluginSpaceGetResult = z31.object({
1994
2171
  // Basic
1995
- id: z30.string(),
1996
- type: z30.string(),
1997
- room_type: z30.string(),
1998
- name: z30.string(),
2172
+ id: z31.string(),
2173
+ type: z31.string(),
2174
+ room_type: z31.string(),
2175
+ name: z31.string(),
1999
2176
  // Derived from parametric data
2000
- area: z30.number(),
2001
- breadth: z30.number(),
2002
- depth: z30.number(),
2003
- height: z30.number(),
2004
- massType: z30.string().nullable(),
2177
+ area: z31.number(),
2178
+ breadth: z31.number(),
2179
+ depth: z31.number(),
2180
+ height: z31.number(),
2181
+ massType: z31.string().nullable(),
2005
2182
  spaceType: PluginSpaceType.nullable(),
2006
2183
  areaClass: PluginAreaClass,
2007
- storey: z30.number().nullable(),
2008
- departmentId: z30.string().nullable(),
2009
- departmentName: z30.string(),
2010
- departmentColor: z30.string(),
2184
+ storey: z31.number().nullable(),
2185
+ departmentId: z31.string().nullable(),
2186
+ departmentName: z31.string(),
2187
+ departmentColor: z31.string(),
2011
2188
  // Derived from mesh
2012
2189
  position: Vec3Components,
2013
2190
  absolutePosition: Vec3Components,
2014
2191
  rotation: Vec3Components,
2015
2192
  rotationQuaternion: QuatComponents.nullable(),
2016
2193
  // Derived from brep
2017
- planPoints: z30.array(Vec3Components),
2018
- profile: z30.array(CurveHandle),
2019
- innerProfiles: z30.array(z30.array(CurveHandle)),
2020
- innerPlanPoints: z30.array(z30.array(Vec3Components)),
2194
+ planPoints: z31.array(Vec3Components),
2195
+ profile: z31.array(CurveHandle),
2196
+ innerProfiles: z31.array(z31.array(CurveHandle)),
2197
+ innerPlanPoints: z31.array(z31.array(Vec3Components)),
2021
2198
  // Derived from adjacency manager.
2022
2199
  // value: 2 = Direct (required), 1 = Indirect or physical contact, -1 = Restricted;
2023
2200
  // 0 (no relationship) entries are filtered out. Empty array when adjacency has
2024
2201
  // never been computed — run program.adjacency.compute() first for fresh data.
2025
- adjacency: z30.array(z30.object({
2026
- spaceId: z30.string(),
2027
- value: z30.number()
2202
+ adjacency: z31.array(z31.object({
2203
+ spaceId: z31.string(),
2204
+ value: z31.number()
2028
2205
  }))
2029
2206
  }).partial();
2030
- var PluginSpaceGetAllResult = z30.object({
2031
- spacesIds: z30.array(z30.string())
2207
+ var PluginSpaceGetAllResult = z31.object({
2208
+ spacesIds: z31.array(z31.string())
2032
2209
  });
2033
- var PluginSpaceDeleteArgs = z30.object({
2034
- spaceId: z30.string()
2210
+ var PluginSpaceDeleteArgs = z31.object({
2211
+ spaceId: z31.string()
2035
2212
  });
2036
- var PluginMassType = z30.enum([
2213
+ var PluginMassType = z31.enum([
2037
2214
  "Plinth",
2038
2215
  "Void",
2039
2216
  "Pergola",
@@ -2047,89 +2224,89 @@ var PluginMassType = z30.enum([
2047
2224
  "Mass",
2048
2225
  "Site"
2049
2226
  ]);
2050
- var PluginWellKnownDepartmentId = z30.enum([
2227
+ var PluginWellKnownDepartmentId = z31.enum([
2051
2228
  "DEFAULT",
2052
2229
  "SITE",
2053
2230
  "ENVELOPE",
2054
2231
  "CORE"
2055
2232
  ]);
2056
- var PluginDepartmentId = z30.union([
2233
+ var PluginDepartmentId = z31.union([
2057
2234
  PluginWellKnownDepartmentId,
2058
- z30.uuid()
2235
+ z31.uuid()
2059
2236
  ]);
2060
- var PluginSpaceUpdateArgs = z30.object({
2061
- spaceId: z30.string(),
2062
- properties: z30.object({
2063
- room_type: z30.string().optional(),
2237
+ var PluginSpaceUpdateArgs = z31.object({
2238
+ spaceId: z31.string(),
2239
+ properties: z31.object({
2240
+ room_type: z31.string().optional(),
2064
2241
  massType: PluginMassType.optional(),
2065
2242
  spaceType: PluginSpaceType.optional(),
2066
2243
  areaClass: PluginAreaClass.optional(),
2067
2244
  departmentId: PluginDepartmentId.optional()
2068
2245
  })
2069
2246
  });
2070
- var PluginSpaceUpdateResult = z30.object({
2071
- spaceId: z30.string(),
2072
- room_type: z30.string().optional(),
2073
- massType: z30.string().optional(),
2074
- spaceType: z30.string().optional(),
2247
+ var PluginSpaceUpdateResult = z31.object({
2248
+ spaceId: z31.string(),
2249
+ room_type: z31.string().optional(),
2250
+ massType: z31.string().optional(),
2251
+ spaceType: z31.string().optional(),
2075
2252
  areaClass: PluginAreaClass.optional(),
2076
- departmentId: z30.string().nullable().optional()
2253
+ departmentId: z31.string().nullable().optional()
2077
2254
  });
2078
- var PluginSpaceBulkCreateItem = z30.discriminatedUnion("kind", [
2079
- z30.object({
2080
- kind: z30.literal("rectangular"),
2255
+ var PluginSpaceBulkCreateItem = z31.discriminatedUnion("kind", [
2256
+ z31.object({
2257
+ kind: z31.literal("rectangular"),
2081
2258
  position: Vec3Handle,
2082
- dimensions: z30.object({
2083
- width: z30.number(),
2084
- height: z30.number(),
2085
- depth: z30.number()
2259
+ dimensions: z31.object({
2260
+ width: z31.number(),
2261
+ height: z31.number(),
2262
+ depth: z31.number()
2086
2263
  }),
2087
- room_type: z30.string().optional(),
2264
+ room_type: z31.string().optional(),
2088
2265
  spaceType: PluginSpaceType.optional(),
2089
2266
  massType: PluginMassType.optional(),
2090
2267
  departmentId: PluginDepartmentId.optional()
2091
2268
  }),
2092
- z30.object({
2093
- kind: z30.literal("profile"),
2269
+ z31.object({
2270
+ kind: z31.literal("profile"),
2094
2271
  profile: ProfileHandle,
2095
- innerProfiles: z30.array(ProfileHandle).optional(),
2096
- extrudeHeight: z30.number(),
2272
+ innerProfiles: z31.array(ProfileHandle).optional(),
2273
+ extrudeHeight: z31.number(),
2097
2274
  position: Vec3Handle,
2098
- room_type: z30.string().optional(),
2275
+ room_type: z31.string().optional(),
2099
2276
  spaceType: PluginSpaceType.optional(),
2100
2277
  massType: PluginMassType.optional(),
2101
2278
  departmentId: PluginDepartmentId.optional()
2102
2279
  })
2103
2280
  ]);
2104
- var PluginSpaceBulkCreateArgs = z30.object({
2105
- items: z30.array(PluginSpaceBulkCreateItem)
2281
+ var PluginSpaceBulkCreateArgs = z31.object({
2282
+ items: z31.array(PluginSpaceBulkCreateItem)
2106
2283
  });
2107
- var PluginSpaceBulkCreateResult = z30.object({
2108
- spaceIds: z30.array(z30.string())
2284
+ var PluginSpaceBulkCreateResult = z31.object({
2285
+ spaceIds: z31.array(z31.string())
2109
2286
  });
2110
- var PluginSpaceBulkUpdateItem = z30.object({
2111
- spaceId: z30.string(),
2287
+ var PluginSpaceBulkUpdateItem = z31.object({
2288
+ spaceId: z31.string(),
2112
2289
  profile: ProfileHandle.optional(),
2113
- extrudeHeight: z30.number().optional(),
2114
- properties: z30.object({
2115
- room_type: z30.string().optional(),
2290
+ extrudeHeight: z31.number().optional(),
2291
+ properties: z31.object({
2292
+ room_type: z31.string().optional(),
2116
2293
  massType: PluginMassType.optional(),
2117
2294
  spaceType: PluginSpaceType.optional(),
2118
2295
  areaClass: PluginAreaClass.optional(),
2119
2296
  departmentId: PluginDepartmentId.optional()
2120
2297
  }).optional()
2121
2298
  });
2122
- var PluginSpaceBulkUpdateArgs = z30.object({
2123
- items: z30.array(PluginSpaceBulkUpdateItem)
2299
+ var PluginSpaceBulkUpdateArgs = z31.object({
2300
+ items: z31.array(PluginSpaceBulkUpdateItem)
2124
2301
  });
2125
- var PluginSpaceBulkUpdateResult = z30.object({
2126
- spaces: z30.array(PluginSpaceUpdateResult)
2302
+ var PluginSpaceBulkUpdateResult = z31.object({
2303
+ spaces: z31.array(PluginSpaceUpdateResult)
2127
2304
  });
2128
- var PluginSpaceBulkDeleteArgs = z30.object({
2129
- spaceIds: z30.array(z30.string())
2305
+ var PluginSpaceBulkDeleteArgs = z31.object({
2306
+ spaceIds: z31.array(z31.string())
2130
2307
  });
2131
- var PluginSpaceBulkDeleteResult = z30.object({
2132
- deletedSpaceIds: z30.array(z30.string())
2308
+ var PluginSpaceBulkDeleteResult = z31.object({
2309
+ deletedSpaceIds: z31.array(z31.string())
2133
2310
  });
2134
2311
 
2135
2312
  // src/api/design/create/index.ts
@@ -2137,14 +2314,14 @@ var PluginDesignCreateApi = class {
2137
2314
  constructor() {
2138
2315
  }
2139
2316
  };
2140
- var PluginReferenceLineStyle = z31.enum(["SOLID", "DASHED", "DOT_DASH"]);
2141
- var PluginSlabType = z31.enum([
2317
+ var PluginReferenceLineStyle = z32.enum(["SOLID", "DASHED", "DOT_DASH"]);
2318
+ var PluginSlabType = z32.enum([
2142
2319
  "Intermediate Slab",
2143
2320
  "Basement Slab",
2144
2321
  "Plinth",
2145
2322
  "Roof"
2146
2323
  ]);
2147
- var PluginStaircasePreset = z31.enum([
2324
+ var PluginStaircasePreset = z32.enum([
2148
2325
  "straight",
2149
2326
  "straightWoLanding",
2150
2327
  "straightFlightWoMidLanding",
@@ -2162,89 +2339,122 @@ var PluginStaircasePreset = z31.enum([
2162
2339
  "mezzanineFloorLShaped",
2163
2340
  "custom"
2164
2341
  ]);
2165
- var PluginDesignCreateSpaceArgs = z31.object({
2342
+ var PluginDesignCreateSpaceArgs = z32.object({
2166
2343
  contour: ContourHandle,
2167
- height: z31.number(),
2168
- label: z31.string().optional(),
2344
+ height: z32.number(),
2345
+ label: z32.string().optional(),
2169
2346
  position: Vec3Handle.optional(),
2170
2347
  spaceType: PluginSpaceType.optional(),
2171
2348
  massType: PluginMassType.optional(),
2172
2349
  departmentId: PluginDepartmentId.optional()
2173
2350
  });
2174
- var PluginDesignCreateMassArgs = z31.object({
2351
+ var PluginDesignCreateMassArgs = z32.object({
2175
2352
  contour: ContourHandle,
2176
- height: z31.number(),
2177
- label: z31.string().optional(),
2353
+ height: z32.number(),
2354
+ label: z32.string().optional(),
2178
2355
  position: Vec3Handle.optional(),
2179
2356
  massType: PluginMassType.optional()
2180
2357
  });
2181
- var PluginDesignCreateSlabArgs = z31.object({
2358
+ var PluginDesignCreateSlabArgs = z32.object({
2182
2359
  contour: ContourHandle,
2183
- thickness: z31.number(),
2184
- direction: z31.enum(["up", "down"]).optional(),
2360
+ thickness: z32.number(),
2361
+ direction: z32.enum(["up", "down"]).optional(),
2185
2362
  slabType: PluginSlabType.optional()
2186
2363
  });
2187
- var PluginDesignCreateFloorArgs = z31.object({
2364
+ var PluginDesignCreateFloorArgs = z32.object({
2188
2365
  contour: ContourHandle,
2189
- thickness: z31.number(),
2366
+ thickness: z32.number(),
2190
2367
  position: Vec3Handle.optional()
2191
2368
  });
2192
- var PluginDesignCreateRoofArgs = z31.object({
2369
+ var PluginDesignCreateRoofArgs = z32.object({
2193
2370
  contour: ContourHandle,
2194
- thickness: z31.number()
2371
+ thickness: z32.number()
2195
2372
  });
2196
- var PluginDesignCreateCeilingArgs = z31.object({
2373
+ var PluginDesignCreateCeilingArgs = z32.object({
2197
2374
  contour: ContourHandle,
2198
- thickness: z31.number(),
2199
- heightFromFloor: z31.number().optional()
2375
+ thickness: z32.number(),
2376
+ heightFromFloor: z32.number().optional()
2200
2377
  });
2201
- var PluginDesignCreateColumnArgs = z31.object({
2378
+ var PluginDesignCreateColumnArgs = z32.object({
2202
2379
  position: Vec3Handle,
2203
2380
  crossSection: ContourHandle,
2204
- height: z31.number(),
2381
+ height: z32.number(),
2205
2382
  directionUp: Vec3Handle.optional()
2206
2383
  });
2207
- var PluginDesignCreateBeamArgs = z31.object({
2384
+ var PluginDesignCreateBeamArgs = z32.object({
2208
2385
  section: ContourHandle,
2209
- length: z31.number(),
2386
+ length: z32.number(),
2210
2387
  direction: Vec3Handle.optional()
2211
2388
  });
2212
- var PluginDesignCreateWallsArgs = z31.object({
2389
+ var PluginDesignCreateWallsArgs = z32.object({
2213
2390
  profile: ProfileHandle,
2214
- height: z31.number().optional(),
2215
- thickness: z31.number().optional()
2391
+ height: z32.number().optional(),
2392
+ thickness: z32.number().optional()
2216
2393
  });
2217
- var PluginDesignCreateStaircaseArgs = z31.object({
2394
+ var PluginDesignCreateStaircaseArgs = z32.object({
2218
2395
  preset: PluginStaircasePreset,
2219
2396
  position: Vec3Handle,
2220
- label: z31.string().optional(),
2221
- structureId: z31.string().optional(),
2222
- level: z31.string().optional()
2397
+ label: z32.string().optional(),
2398
+ structureId: z32.string().optional(),
2399
+ level: z32.string().optional()
2400
+ });
2401
+ var PluginDesignCreateFurnitureArgs = z32.object({
2402
+ catalogId: z32.string().min(1),
2403
+ position: Vec3Handle,
2404
+ label: z32.string().optional(),
2405
+ createNewSourceMesh: z32.boolean().optional()
2406
+ });
2407
+ var PluginDesignCreateDoorArgs = z32.object({
2408
+ catalogId: z32.string().min(1),
2409
+ hostWall: ComponentHandle,
2410
+ position: Vec3Handle,
2411
+ label: z32.string().optional()
2223
2412
  });
2224
- var PluginDesignCreateFurnitureArgs = z31.object({
2225
- catalogId: z31.string().min(1),
2413
+ var PluginDesignCreateWindowArgs = z32.object({
2414
+ catalogId: z32.string().min(1),
2415
+ hostWall: ComponentHandle,
2226
2416
  position: Vec3Handle,
2227
- label: z31.string().optional(),
2228
- createNewSourceMesh: z31.boolean().optional()
2417
+ label: z32.string().optional()
2229
2418
  });
2230
- var PluginDesignCreateReferenceLinesArgs = z31.object({
2419
+ var PluginSmartLayoutArgs = z32.object({
2420
+ templateGroup: z32.string().min(1).optional(),
2421
+ templateComponents: z32.array(ComponentHandle).optional(),
2422
+ targets: z32.array(ComponentHandle).min(1),
2423
+ hideTargets: z32.boolean().optional()
2424
+ }).refine(
2425
+ (v) => v.templateGroup != null !== (v.templateComponents?.length ?? 0) > 0,
2426
+ {
2427
+ message: "Provide exactly one template source: templateGroup or a non-empty templateComponents"
2428
+ }
2429
+ );
2430
+ var PluginSmartLayoutResult = z32.object({
2431
+ created: z32.object({
2432
+ walls: z32.array(ComponentHandle),
2433
+ furniture: z32.array(ComponentHandle),
2434
+ doors: z32.array(ComponentHandle),
2435
+ windows: z32.array(ComponentHandle),
2436
+ floors: z32.array(ComponentHandle)
2437
+ }),
2438
+ skippedWalls: z32.number()
2439
+ });
2440
+ var PluginDesignCreateReferenceLinesArgs = z32.object({
2231
2441
  profile: ProfileHandle,
2232
- color: z31.string().optional(),
2233
- thickness: z31.number().optional(),
2442
+ color: z32.string().optional(),
2443
+ thickness: z32.number().optional(),
2234
2444
  style: PluginReferenceLineStyle.optional(),
2235
- gridTag: z31.string().optional()
2445
+ gridTag: z32.string().optional()
2236
2446
  });
2237
- var PluginCopyMode = z31.enum(["instance", "unique"]);
2238
- var PluginDesignCreateCopyArgs = z31.object({
2239
- components: z31.array(ComponentHandle).min(1),
2447
+ var PluginCopyMode = z32.enum(["instance", "unique"]);
2448
+ var PluginDesignCreateCopyArgs = z32.object({
2449
+ components: z32.array(ComponentHandle).min(1),
2240
2450
  displacement: Vec3Handle,
2241
- count: z31.number().int().positive().optional(),
2451
+ count: z32.number().int().positive().optional(),
2242
2452
  mode: PluginCopyMode.optional()
2243
2453
  });
2244
- var PluginCreateSpaceItem = z31.object({
2454
+ var PluginCreateSpaceItem = z32.object({
2245
2455
  contour: ContourHandle,
2246
- height: z31.number(),
2247
- label: z31.string().optional(),
2456
+ height: z32.number(),
2457
+ label: z32.string().optional(),
2248
2458
  position: Vec3Handle.optional(),
2249
2459
  spaceType: PluginSpaceType.optional(),
2250
2460
  massType: PluginMassType.optional(),
@@ -2252,44 +2462,44 @@ var PluginCreateSpaceItem = z31.object({
2252
2462
  });
2253
2463
 
2254
2464
  // src/api/design/query/index.ts
2255
- var z34 = __toESM(require("zod"), 1);
2465
+ var z35 = __toESM(require("zod"), 1);
2256
2466
 
2257
2467
  // src/api/design/query/geometry/index.ts
2258
- var z32 = __toESM(require("zod"), 1);
2468
+ var z33 = __toESM(require("zod"), 1);
2259
2469
  var PluginDesignQueryGeometryApi = class {
2260
2470
  constructor() {
2261
2471
  }
2262
2472
  };
2263
- var PluginDesignQueryGeometryGetBrepArgs = z32.object({
2473
+ var PluginDesignQueryGeometryGetBrepArgs = z33.object({
2264
2474
  component: ComponentHandle
2265
2475
  });
2266
- var PluginDesignQueryGeometryGetBottomContourArgs = z32.object({
2476
+ var PluginDesignQueryGeometryGetBottomContourArgs = z33.object({
2267
2477
  component: ComponentHandle
2268
2478
  });
2269
- var PluginDesignQueryGeometryGetCenterlineArgs = z32.object({
2479
+ var PluginDesignQueryGeometryGetCenterlineArgs = z33.object({
2270
2480
  component: ComponentHandle
2271
2481
  });
2272
2482
 
2273
2483
  // src/api/design/query/spaces.ts
2274
- var z33 = __toESM(require("zod"), 1);
2484
+ var z34 = __toESM(require("zod"), 1);
2275
2485
  var PluginDesignQuerySpacesApi = class {
2276
2486
  constructor() {
2277
2487
  }
2278
2488
  };
2279
- var PluginDesignQueryGetFootprintArgs = z33.object({
2489
+ var PluginDesignQueryGetFootprintArgs = z34.object({
2280
2490
  space: ComponentHandle
2281
2491
  });
2282
2492
  var PluginDesignQuerySpacesGetProperty = PluginSpaceGetProperty.exclude(["adjacency"]);
2283
- var PluginDesignQuerySpacesGetArgs = z33.object({
2493
+ var PluginDesignQuerySpacesGetArgs = z34.object({
2284
2494
  space: ComponentHandle,
2285
- properties: z33.array(PluginDesignQuerySpacesGetProperty)
2495
+ properties: z34.array(PluginDesignQuerySpacesGetProperty)
2286
2496
  });
2287
2497
  var PluginDesignQuerySpacesGetResult = PluginSpaceGetResult.omit({
2288
2498
  adjacency: true
2289
2499
  });
2290
2500
 
2291
2501
  // src/api/design/query/index.ts
2292
- var PluginEntityType = z34.enum([
2502
+ var PluginEntityType = z35.enum([
2293
2503
  "wall",
2294
2504
  "space",
2295
2505
  "mass",
@@ -2308,65 +2518,82 @@ var PluginEntityType = z34.enum([
2308
2518
  "mullion",
2309
2519
  "panel"
2310
2520
  ]);
2311
- var PluginEntityFilter = z34.object({
2312
- types: z34.array(PluginEntityType).optional(),
2313
- storeys: z34.array(z34.number()).optional(),
2314
- buildingIds: z34.array(z34.string()).optional(),
2315
- structureIds: z34.array(z34.string()).optional(),
2316
- label: z34.string().optional(),
2317
- massTypes: z34.array(PluginMassType).optional(),
2318
- spaceTypes: z34.array(PluginSpaceType).optional(),
2521
+ var PluginEntityFilter = z35.object({
2522
+ types: z35.array(PluginEntityType).optional(),
2523
+ storeys: z35.array(z35.number()).optional(),
2524
+ buildingIds: z35.array(z35.string()).optional(),
2525
+ structureIds: z35.array(z35.string()).optional(),
2526
+ label: z35.string().optional(),
2527
+ massTypes: z35.array(PluginMassType).optional(),
2528
+ spaceTypes: z35.array(PluginSpaceType).optional(),
2319
2529
  departmentId: PluginDepartmentId.optional(),
2320
- isSelected: z34.boolean().optional(),
2321
- isLocked: z34.boolean().optional(),
2322
- isHidden: z34.boolean().optional(),
2530
+ isSelected: z35.boolean().optional(),
2531
+ isLocked: z35.boolean().optional(),
2532
+ isHidden: z35.boolean().optional(),
2323
2533
  within: BBoxComponents.optional(),
2324
2534
  overlaps: ComponentHandle.optional(),
2325
- ids: z34.array(ComponentHandle).optional()
2535
+ ids: z35.array(ComponentHandle).optional()
2326
2536
  });
2327
2537
  var PluginDesignQueryListByTypeArgs = PluginEntityFilter.extend({
2328
2538
  type: PluginEntityType
2329
2539
  });
2330
- var PluginDesignQueryComponentArgs = z34.object({
2540
+ var PluginDesignQueryComponentArgs = z35.object({
2331
2541
  component: ComponentHandle
2332
2542
  });
2333
- var PluginDesignQueryIdArgs = z34.object({
2543
+ var PluginDesignQueryIdArgs = z35.object({
2334
2544
  id: ComponentHandle
2335
2545
  });
2336
- var PluginDesignQueryComponentsArgs = z34.object({
2337
- components: z34.array(ComponentHandle)
2546
+ var PluginDesignQueryComponentsArgs = z35.object({
2547
+ components: z35.array(ComponentHandle)
2338
2548
  });
2339
- var PluginEntityProperties = z34.object({
2340
- id: z34.string(),
2549
+ var PluginEntityProperties = z35.object({
2550
+ id: z35.string(),
2341
2551
  type: PluginEntityType,
2342
- label: z34.string(),
2343
- storey: z34.number(),
2344
- buildingId: z34.string(),
2345
- structureId: z34.string(),
2346
- massType: z34.string(),
2552
+ label: z35.string(),
2553
+ storey: z35.number(),
2554
+ buildingId: z35.string(),
2555
+ structureId: z35.string(),
2556
+ massType: z35.string(),
2347
2557
  spaceType: PluginSpaceType,
2348
2558
  areaClass: PluginAreaClass,
2349
- departmentId: z34.string(),
2350
- isLocked: z34.boolean(),
2351
- isHidden: z34.boolean(),
2352
- isSelected: z34.boolean(),
2559
+ departmentId: z35.string(),
2560
+ isLocked: z35.boolean(),
2561
+ isHidden: z35.boolean(),
2562
+ isSelected: z35.boolean(),
2353
2563
  boundingBox: BBoxComponents,
2354
- adjacency: z34.array(z34.object({ spaceId: z34.string(), value: z34.number() }))
2564
+ adjacency: z35.array(z35.object({ spaceId: z35.string(), value: z35.number() }))
2355
2565
  }).partial();
2356
- var PluginEntityMeasurements = z34.object({
2357
- area: z34.number().optional(),
2358
- volume: z34.number().optional(),
2359
- length: z34.number().optional(),
2566
+ var PluginEntityMeasurements = z35.object({
2567
+ area: z35.number().optional(),
2568
+ volume: z35.number().optional(),
2569
+ length: z35.number().optional(),
2360
2570
  boundingBox: BBoxComponents
2361
2571
  });
2572
+ var PluginStaircaseParams = z35.object({
2573
+ staircaseType: PluginStaircasePreset,
2574
+ staircasePreset: PluginStaircasePreset,
2575
+ staircaseHeight: z35.number(),
2576
+ steps: z35.number(),
2577
+ riser: z35.number(),
2578
+ tread: z35.number(),
2579
+ width: z35.number(),
2580
+ depth: z35.number(),
2581
+ wellSize: z35.number().optional(),
2582
+ landingWidth: z35.number().optional(),
2583
+ flightStartDistAfterTurn: z35.number().optional(),
2584
+ baseOffset: z35.number(),
2585
+ isStoreyHeightUnlocked: z35.boolean(),
2586
+ isStaircaseHeightUnlocked: z35.boolean(),
2587
+ storey: z35.number()
2588
+ });
2362
2589
  var PluginDesignQueryApi = class {
2363
2590
  constructor() {
2364
2591
  }
2365
2592
  };
2366
2593
 
2367
2594
  // src/api/design/selection/index.ts
2368
- var z35 = __toESM(require("zod"), 1);
2369
- var PluginSelectionEntityType = z35.enum([
2595
+ var z36 = __toESM(require("zod"), 1);
2596
+ var PluginSelectionEntityType = z36.enum([
2370
2597
  "wall",
2371
2598
  "slab",
2372
2599
  "floor",
@@ -2392,9 +2619,9 @@ var PluginSelectionEntityType = z35.enum([
2392
2619
  "neighborhoodBuilding",
2393
2620
  "programBlock"
2394
2621
  ]);
2395
- var PluginSelectionFilter = z35.object({
2396
- storeys: z35.array(z35.number()).optional(),
2397
- types: z35.array(PluginSelectionEntityType).optional()
2622
+ var PluginSelectionFilter = z36.object({
2623
+ storeys: z36.array(z36.number()).optional(),
2624
+ types: z36.array(PluginSelectionEntityType).optional()
2398
2625
  }).refine((f) => (f.storeys?.length ?? 0) + (f.types?.length ?? 0) > 0, {
2399
2626
  message: "PluginSelectionFilter requires at least one non-empty field (storeys or types); use design.selection.clear() to deselect everything"
2400
2627
  });
@@ -2402,165 +2629,224 @@ var PluginDesignSelectionApi = class {
2402
2629
  constructor() {
2403
2630
  }
2404
2631
  };
2405
- var PluginDesignSelectionSetArgs = z35.object({
2406
- components: z35.array(ComponentHandle)
2632
+ var PluginDesignSelectionSetArgs = z36.object({
2633
+ components: z36.array(ComponentHandle)
2407
2634
  });
2408
2635
  var PluginDesignSelectionAddArgs = PluginDesignSelectionSetArgs;
2409
2636
  var PluginDesignSelectionRemoveArgs = PluginDesignSelectionSetArgs;
2410
2637
 
2411
2638
  // src/api/design/doors/index.ts
2412
- var z36 = __toESM(require("zod"), 1);
2639
+ var z37 = __toESM(require("zod"), 1);
2413
2640
  var PluginDesignDoorsApi = class {
2414
2641
  constructor() {
2415
2642
  }
2416
2643
  };
2417
- var PluginDesignDoorArgs = z36.object({
2644
+ var PluginDesignDoorArgs = z37.object({
2418
2645
  door: ComponentHandle
2419
2646
  });
2420
- var PluginMirrorAxis = z36.enum(["x", "y", "z"]);
2421
- var PluginDesignDoorMirrorArgs = z36.object({
2647
+ var PluginMirrorAxis = z37.enum(["x", "y", "z"]);
2648
+ var PluginDesignDoorMirrorArgs = z37.object({
2422
2649
  door: ComponentHandle,
2423
2650
  axis: PluginMirrorAxis.optional()
2424
2651
  });
2425
- var PluginDesignDoorSetWidthArgs = z36.object({
2426
- doors: z36.array(ComponentHandle),
2427
- width: z36.number()
2652
+ var PluginDesignDoorSetWidthArgs = z37.object({
2653
+ doors: z37.array(ComponentHandle),
2654
+ width: z37.number()
2655
+ });
2656
+ var PluginDesignDoorSetHeightArgs = z37.object({
2657
+ doors: z37.array(ComponentHandle),
2658
+ height: z37.number()
2659
+ });
2660
+ var PluginObjectCatalogGroup = z37.object({
2661
+ dbType: z37.string(),
2662
+ label: z37.string(),
2663
+ source: z37.enum(["default", "team"])
2428
2664
  });
2429
- var PluginDesignDoorSetHeightArgs = z36.object({
2430
- doors: z36.array(ComponentHandle),
2431
- height: z36.number()
2665
+ var PluginObjectCatalogItem = z37.object({
2666
+ id: z37.string(),
2667
+ name: z37.string(),
2668
+ source: z37.enum(["team", "general"]),
2669
+ dbType: z37.string(),
2670
+ subType: z37.string().optional(),
2671
+ thumbnailUrl: z37.string().optional(),
2672
+ cost: z37.number().optional(),
2673
+ familyName: z37.string().optional()
2432
2674
  });
2675
+ var PluginDesignDoorListCatalogArgs = z37.object({
2676
+ group: z37.string().optional()
2677
+ });
2678
+ var PluginDesignDoorGetCatalogItemArgs = z37.object({
2679
+ id: z37.string()
2680
+ });
2681
+ var PluginDesignDoorExistsArgs = PluginDesignDoorGetCatalogItemArgs;
2433
2682
 
2434
2683
  // src/api/design/windows/index.ts
2435
- var z37 = __toESM(require("zod"), 1);
2684
+ var z38 = __toESM(require("zod"), 1);
2436
2685
  var PluginDesignWindowsApi = class {
2437
2686
  constructor() {
2438
2687
  }
2439
2688
  };
2440
- var PluginDesignWindowArgs = z37.object({
2689
+ var PluginDesignWindowArgs = z38.object({
2441
2690
  window: ComponentHandle
2442
2691
  });
2443
- var PluginWindowDimensions = z37.object({
2444
- width: z37.number(),
2445
- height: z37.number(),
2446
- thickness: z37.number()
2692
+ var PluginWindowDimensions = z38.object({
2693
+ width: z38.number(),
2694
+ height: z38.number(),
2695
+ thickness: z38.number()
2447
2696
  });
2448
- var PluginDesignWindowSetWidthArgs = z37.object({
2697
+ var PluginDesignWindowSetWidthArgs = z38.object({
2449
2698
  window: ComponentHandle,
2450
- width: z37.number()
2699
+ width: z38.number()
2451
2700
  });
2452
- var PluginDesignWindowSetHeightArgs = z37.object({
2701
+ var PluginDesignWindowSetHeightArgs = z38.object({
2453
2702
  window: ComponentHandle,
2454
- height: z37.number()
2703
+ height: z38.number()
2455
2704
  });
2705
+ var PluginDesignWindowListCatalogArgs = z38.object({
2706
+ group: z38.string().optional()
2707
+ });
2708
+ var PluginDesignWindowGetCatalogItemArgs = z38.object({
2709
+ id: z38.string()
2710
+ });
2711
+ var PluginDesignWindowExistsArgs = PluginDesignWindowGetCatalogItemArgs;
2456
2712
 
2457
2713
  // src/api/design/furniture/index.ts
2458
- var z38 = __toESM(require("zod"), 1);
2714
+ var z39 = __toESM(require("zod"), 1);
2459
2715
  var PluginDesignFurnitureApi = class {
2460
2716
  constructor() {
2461
2717
  }
2462
2718
  };
2463
- var PluginFurnitureCatalogItem = z38.object({
2464
- id: z38.string(),
2465
- name: z38.string(),
2466
- source: z38.enum(["team", "general"]),
2467
- subType: z38.string().optional(),
2468
- cost: z38.number().optional(),
2469
- familyName: z38.string().optional()
2470
- });
2471
- var PluginDesignFurnitureListCatalogArgs = z38.object({
2472
- source: z38.enum(["team", "general"]).optional()
2473
- });
2474
- var PluginDesignFurnitureGetCatalogItemArgs = z38.object({
2475
- id: z38.string()
2719
+ var PluginFurnitureCatalogItem = z39.object({
2720
+ id: z39.string(),
2721
+ name: z39.string(),
2722
+ source: z39.enum(["team", "general"]),
2723
+ subType: z39.string().optional(),
2724
+ category: z39.string().optional(),
2725
+ thumbnailUrl: z39.string().optional(),
2726
+ cost: z39.number().optional(),
2727
+ familyName: z39.string().optional()
2728
+ });
2729
+ var PluginDesignFurnitureListCatalogArgs = z39.object({
2730
+ source: z39.enum(["team", "general"]).optional(),
2731
+ category: z39.string().optional()
2732
+ });
2733
+ var PluginDesignFurnitureGetCatalogItemArgs = z39.object({
2734
+ id: z39.string()
2476
2735
  });
2477
2736
  var PluginDesignFurnitureExistsArgs = PluginDesignFurnitureGetCatalogItemArgs;
2478
2737
 
2479
2738
  // src/api/design/materials/index.ts
2480
- var z39 = __toESM(require("zod"), 1);
2739
+ var z40 = __toESM(require("zod"), 1);
2481
2740
  var PluginDesignMaterialsApi = class {
2482
2741
  constructor() {
2483
2742
  }
2484
2743
  };
2485
- var PluginMaterialInfo = z39.object({
2486
- name: z39.string(),
2487
- id: z39.string(),
2488
- colorHex: z39.string(),
2489
- alpha: z39.number(),
2490
- materialType: z39.string().optional(),
2491
- textureUrl: z39.string().optional()
2492
- });
2493
- var PluginMaterialSpec = z39.object({
2494
- name: z39.string().optional(),
2495
- color: z39.string().optional(),
2496
- textureUrl: z39.string().optional(),
2497
- alpha: z39.number().optional(),
2498
- materialType: z39.string().optional()
2499
- });
2500
- var PluginMaterialResult = z39.object({ count: z39.number() });
2501
- var PluginDesignMaterialsListArgs = z39.object({
2502
- scope: z39.enum(["project", "preset"]).optional()
2503
- });
2504
- var PluginDesignMaterialsGetInfoArgs = z39.object({ material: MaterialHandle });
2505
- var PluginDesignMaterialsComponentArgs = z39.object({ component: ComponentHandle });
2506
- var PluginDesignMaterialsApplyArgs = z39.object({
2507
- targets: z39.array(ComponentHandle),
2508
- material: z39.union([MaterialHandle, PluginMaterialSpec]),
2509
- save: z39.boolean().optional()
2510
- });
2511
- var PluginDesignMaterialsResetArgs = z39.object({
2512
- components: z39.array(ComponentHandle),
2513
- save: z39.boolean().optional()
2514
- });
2515
- var PluginDesignMaterialsCreateArgs = z39.object({ spec: PluginMaterialSpec });
2744
+ var PluginMaterialInfo = z40.object({
2745
+ name: z40.string(),
2746
+ id: z40.string(),
2747
+ colorHex: z40.string(),
2748
+ alpha: z40.number(),
2749
+ materialType: z40.string().optional(),
2750
+ textureUrl: z40.string().optional()
2751
+ });
2752
+ var PluginMaterialSpec = z40.object({
2753
+ name: z40.string().optional(),
2754
+ color: z40.string().optional(),
2755
+ textureUrl: z40.string().optional(),
2756
+ alpha: z40.number().optional(),
2757
+ materialType: z40.string().optional()
2758
+ });
2759
+ var PluginMaterialResult = z40.object({ count: z40.number() });
2760
+ var PluginFaceMaterial = z40.object({
2761
+ faceIndex: z40.number().int().nonnegative(),
2762
+ material: MaterialHandle.nullable()
2763
+ });
2764
+ var PluginDesignMaterialsListArgs = z40.object({
2765
+ scope: z40.enum(["project", "preset"]).optional()
2766
+ });
2767
+ var PluginDesignMaterialsGetInfoArgs = z40.object({ material: MaterialHandle });
2768
+ var PluginDesignMaterialsComponentArgs = z40.object({ component: ComponentHandle });
2769
+ var PluginDesignMaterialsApplyArgs = z40.object({
2770
+ targets: z40.array(ComponentHandle),
2771
+ material: z40.union([MaterialHandle, PluginMaterialSpec]),
2772
+ save: z40.boolean().optional()
2773
+ });
2774
+ var PluginDesignMaterialsResetArgs = z40.object({
2775
+ components: z40.array(ComponentHandle),
2776
+ save: z40.boolean().optional()
2777
+ });
2778
+ var PluginDesignMaterialsCreateArgs = z40.object({ spec: PluginMaterialSpec });
2779
+ var PluginDesignMaterialsApplyToFacesArgs = z40.object({
2780
+ component: ComponentHandle,
2781
+ faces: z40.array(z40.number().int().nonnegative()),
2782
+ material: z40.union([MaterialHandle, PluginMaterialSpec]),
2783
+ save: z40.boolean().optional()
2784
+ });
2785
+ var PluginDesignMaterialsResetFacesArgs = z40.object({
2786
+ component: ComponentHandle,
2787
+ faces: z40.array(z40.number().int().nonnegative()),
2788
+ save: z40.boolean().optional()
2789
+ });
2790
+ var PluginDesignMaterialsGetByFaceArgs = z40.object({
2791
+ component: ComponentHandle,
2792
+ face: z40.number().int().nonnegative()
2793
+ });
2794
+ var PluginDesignMaterialsListByFaceArgs = PluginDesignMaterialsComponentArgs;
2516
2795
 
2517
2796
  // src/api/design/lock.ts
2518
- var z40 = __toESM(require("zod"), 1);
2519
- var PluginDesignChangeResult = z40.object({
2520
- affected: z40.array(ComponentHandle)
2797
+ var z41 = __toESM(require("zod"), 1);
2798
+ var PluginDesignChangeResult = z41.object({
2799
+ affected: z41.array(ComponentHandle)
2521
2800
  });
2522
- var PluginDesignLockArgs = z40.object({
2523
- components: z40.array(ComponentHandle)
2801
+ var PluginDesignLockArgs = z41.object({
2802
+ components: z41.array(ComponentHandle)
2524
2803
  });
2525
2804
  var PluginDesignUnlockArgs = PluginDesignLockArgs;
2526
- var PluginDesignIsLockedArgs = z40.object({
2805
+ var PluginDesignIsLockedArgs = z41.object({
2527
2806
  component: ComponentHandle,
2528
- includeInherited: z40.boolean().optional()
2807
+ includeInherited: z41.boolean().optional()
2808
+ });
2809
+ var PluginDesignLockAreaArgs = z41.object({
2810
+ spaces: z41.array(ComponentHandle)
2811
+ });
2812
+ var PluginDesignUnlockAreaArgs = PluginDesignLockAreaArgs;
2813
+ var PluginDesignIsAreaLockedArgs = z41.object({
2814
+ space: ComponentHandle
2529
2815
  });
2530
2816
 
2531
2817
  // src/api/design/erase/index.ts
2532
- var z41 = __toESM(require("zod"), 1);
2533
- var EraseStrategy = z41.enum(["DirectDelete", "DirectUnion", "SplitAndUnion"]);
2818
+ var z42 = __toESM(require("zod"), 1);
2819
+ var EraseStrategy = z42.enum(["DirectDelete", "DirectUnion", "SplitAndUnion"]);
2534
2820
  var DEFAULT_ERASE_STRATEGIES = ["DirectDelete", "DirectUnion"];
2535
- var ErasableEdgeRef = z41.object({
2821
+ var ErasableEdgeRef = z42.object({
2536
2822
  /** Opaque bottom-graph edge id (engine form `"e-<n>"`). Do not mutate. Pass verbatim to {@linkcode PluginDesignEraseApi.edge}. */
2537
- id: z41.string().min(1),
2823
+ id: z42.string().min(1),
2538
2824
  /** What erasing this edge would do: `DirectDelete` drops a mass; `DirectUnion` merges two adjacent masses. */
2539
2825
  strategy: EraseStrategy,
2540
2826
  /** Bottom-graph edge weight: `1` = external boundary edge, `>=2` = internal edge shared between components. */
2541
- edgeWeight: z41.number(),
2827
+ edgeWeight: z42.number(),
2542
2828
  /** 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). */
2543
- components: z41.array(ComponentHandle),
2829
+ components: z42.array(ComponentHandle),
2544
2830
  /** A representative point on the edge (its head endpoint). Diagnostic only. */
2545
2831
  snapPoint: Vec3Handle
2546
2832
  });
2547
- var PluginDesignListErasableEdgesArgs = z41.object({
2548
- components: z41.array(ComponentHandle).optional(),
2549
- strategies: z41.array(EraseStrategy).optional()
2833
+ var PluginDesignListErasableEdgesArgs = z42.object({
2834
+ components: z42.array(ComponentHandle).optional(),
2835
+ strategies: z42.array(EraseStrategy).optional()
2550
2836
  });
2551
- var PluginDesignEraseEdgeArgs = z41.object({
2837
+ var PluginDesignEraseEdgeArgs = z42.object({
2552
2838
  edge: ErasableEdgeRef
2553
2839
  });
2554
- var PluginDesignEraseEdgeResult = z41.object({ ok: z41.literal(true) });
2840
+ var PluginDesignEraseEdgeResult = z42.object({ ok: z42.literal(true) });
2555
2841
  var PluginDesignEraseApi = class {
2556
2842
  constructor() {
2557
2843
  }
2558
2844
  };
2559
2845
 
2560
2846
  // src/api/design/delete/index.ts
2561
- var z42 = __toESM(require("zod"), 1);
2562
- var PluginDesignDeleteEntitiesArgs = z42.object({
2563
- components: z42.array(ComponentHandle).min(1)
2847
+ var z43 = __toESM(require("zod"), 1);
2848
+ var PluginDesignDeleteEntitiesArgs = z43.object({
2849
+ components: z43.array(ComponentHandle).min(1)
2564
2850
  });
2565
2851
  var PluginDesignDeleteApi = class {
2566
2852
  constructor() {
@@ -2568,89 +2854,120 @@ var PluginDesignDeleteApi = class {
2568
2854
  };
2569
2855
 
2570
2856
  // src/api/design/shared.ts
2571
- var z43 = __toESM(require("zod"), 1);
2572
- var BooleanOutcome = z43.object({
2573
- created: z43.array(ComponentHandle),
2574
- deleted: z43.array(ComponentHandle)
2857
+ var z44 = __toESM(require("zod"), 1);
2858
+ var BooleanOutcome = z44.object({
2859
+ created: z44.array(ComponentHandle),
2860
+ deleted: z44.array(ComponentHandle)
2575
2861
  });
2576
- var OffsetSplitOutcome = z43.object({
2577
- createdIds: z43.array(ComponentHandle),
2578
- deletedIds: z43.array(ComponentHandle),
2579
- offsetValue: z43.number()
2862
+ var OffsetSplitOutcome = z44.object({
2863
+ createdIds: z44.array(ComponentHandle),
2864
+ deletedIds: z44.array(ComponentHandle),
2865
+ offsetValue: z44.number()
2580
2866
  });
2581
2867
 
2582
2868
  // src/api/design/boolean/index.ts
2583
- var z44 = __toESM(require("zod"), 1);
2869
+ var z45 = __toESM(require("zod"), 1);
2584
2870
  var PluginDesignBooleanApi = class {
2585
2871
  constructor() {
2586
2872
  }
2587
2873
  };
2588
- var BooleanOptions = z44.object({
2874
+ var BooleanOptions = z45.object({
2589
2875
  offset: Vec3Handle.optional()
2590
2876
  });
2591
- var PluginDesignBooleanUnionArgs = z44.object({
2592
- components: z44.array(ComponentHandle).min(2),
2877
+ var PluginDesignBooleanUnionArgs = z45.object({
2878
+ components: z45.array(ComponentHandle).min(2),
2593
2879
  options: BooleanOptions.optional()
2594
2880
  });
2595
- var PluginDesignBooleanSubtractArgs = z44.object({
2881
+ var PluginDesignBooleanSubtractArgs = z45.object({
2596
2882
  target: ComponentHandle,
2597
- tools: z44.array(ComponentHandle).min(1),
2883
+ tools: z45.array(ComponentHandle).min(1),
2598
2884
  options: BooleanOptions.optional()
2599
2885
  });
2600
- var PluginDesignBooleanIntersectArgs = z44.object({
2601
- components: z44.array(ComponentHandle).length(2),
2886
+ var PluginDesignBooleanIntersectArgs = z45.object({
2887
+ components: z45.array(ComponentHandle).length(2),
2602
2888
  options: BooleanOptions.optional()
2603
2889
  });
2604
2890
 
2605
2891
  // src/api/design/transform/index.ts
2606
- var z45 = __toESM(require("zod"), 1);
2892
+ var z46 = __toESM(require("zod"), 1);
2607
2893
  var PluginDesignTransformApi = class {
2608
2894
  constructor() {
2609
2895
  }
2610
2896
  };
2611
- var PluginDesignMoveArgs = z45.object({
2612
- components: z45.array(ComponentHandle).min(1),
2897
+ var PluginAlignEdge = z46.enum(["left", "right", "center", "top", "bottom", "middle"]);
2898
+ var PluginDesignMoveArgs = z46.object({
2899
+ components: z46.array(ComponentHandle).min(1),
2613
2900
  displacement: Vec3Handle,
2614
- is2D: z45.boolean().optional(),
2615
- trackParentChange: z45.boolean().optional()
2901
+ is2D: z46.boolean().optional(),
2902
+ trackParentChange: z46.boolean().optional()
2616
2903
  });
2617
- var PluginDesignRotateArgs = z45.object({
2618
- components: z45.array(ComponentHandle).min(1),
2619
- angleInDegrees: z45.number(),
2904
+ var PluginDesignRotateArgs = z46.object({
2905
+ components: z46.array(ComponentHandle).min(1),
2906
+ angleInDegrees: z46.number(),
2620
2907
  axis: Vec3Handle.optional(),
2621
- is2D: z45.boolean().optional()
2908
+ is2D: z46.boolean().optional()
2909
+ });
2910
+ var PluginDesignAlignArgs = z46.object({
2911
+ components: z46.array(ComponentHandle).min(1),
2912
+ edge: PluginAlignEdge,
2913
+ reference: ComponentHandle.optional()
2622
2914
  });
2623
2915
 
2624
2916
  // src/api/design/edit/index.ts
2625
- var z46 = __toESM(require("zod"), 1);
2917
+ var z47 = __toESM(require("zod"), 1);
2626
2918
  var PluginDesignEditApi = class {
2627
2919
  constructor() {
2628
2920
  }
2629
2921
  };
2630
- var PluginDesignOffsetSplitArgs = z46.object({
2922
+ var PluginDesignOffsetSplitArgs = z47.object({
2631
2923
  component: ComponentHandle,
2632
- offsetDistance: z46.number(),
2924
+ offsetDistance: z47.number(),
2633
2925
  profilePickPoint: Vec3Handle.optional()
2634
2926
  });
2635
2927
 
2636
2928
  // src/api/design/update/index.ts
2637
- var z47 = __toESM(require("zod"), 1);
2638
- var PluginSpacePropertyUpdates = z47.object({
2639
- room_type: z47.string().optional(),
2929
+ var z48 = __toESM(require("zod"), 1);
2930
+ var PluginSpacePropertyUpdates = z48.object({
2931
+ room_type: z48.string().optional(),
2640
2932
  massType: PluginMassType.optional(),
2641
2933
  spaceType: PluginSpaceType.optional(),
2642
2934
  areaClass: PluginAreaClass.optional(),
2643
2935
  departmentId: PluginDepartmentId.optional()
2644
2936
  });
2645
- var PluginSpaceGeometryUpdate = z47.object({
2937
+ var PluginSpaceGeometryUpdate = z48.object({
2646
2938
  profile: ProfileHandle,
2647
- extrudeHeight: z47.number()
2939
+ extrudeHeight: z48.number()
2648
2940
  });
2649
- var PluginUpdateSpaceItem = z47.object({
2941
+ var PluginUpdateSpaceItem = z48.object({
2650
2942
  space: ComponentHandle,
2651
2943
  properties: PluginSpacePropertyUpdates.optional(),
2652
2944
  geometry: PluginSpaceGeometryUpdate.optional()
2653
2945
  });
2946
+ var PluginDesignSetLabelArgs = z48.object({
2947
+ component: ComponentHandle,
2948
+ label: z48.string().trim().min(1)
2949
+ });
2950
+ var PluginStaircaseParamUpdates = z48.object({
2951
+ isStoreyHeightUnlocked: z48.boolean().optional(),
2952
+ isStaircaseHeightUnlocked: z48.boolean().optional(),
2953
+ storeyHeight: z48.number().optional(),
2954
+ staircaseHeight: z48.number().optional(),
2955
+ steps: z48.number().int().optional(),
2956
+ riser: z48.number().optional(),
2957
+ tread: z48.number().optional(),
2958
+ width: z48.number().optional(),
2959
+ depth: z48.number().optional(),
2960
+ wellSize: z48.number().optional(),
2961
+ flightStartDistAfterTurn: z48.number().optional(),
2962
+ landingWidth: z48.number().optional(),
2963
+ baseOffset: z48.number().optional()
2964
+ }).refine((p) => Object.keys(p).length > 0, {
2965
+ message: "PluginStaircaseParamUpdates requires at least one field to change"
2966
+ });
2967
+ var PluginDesignUpdateStaircaseArgs = z48.object({
2968
+ staircases: z48.array(ComponentHandle),
2969
+ params: PluginStaircaseParamUpdates
2970
+ });
2654
2971
  var PluginDesignUpdateApi = class {
2655
2972
  constructor() {
2656
2973
  }
@@ -2663,37 +2980,37 @@ var PluginDesignApi = class {
2663
2980
  };
2664
2981
 
2665
2982
  // src/api/entity/buildableEnvelope.ts
2666
- var z48 = __toESM(require("zod"), 1);
2983
+ var z49 = __toESM(require("zod"), 1);
2667
2984
  var PluginBuildableEnvelopeApi = class {
2668
2985
  constructor() {
2669
2986
  }
2670
2987
  };
2671
- var PluginBuildableEnvelopePolygonVertex = z48.union([
2672
- z48.object({ x: z48.number().finite(), z: z48.number().finite() }).strict(),
2673
- z48.tuple([z48.number().finite(), z48.number().finite()])
2988
+ var PluginBuildableEnvelopePolygonVertex = z49.union([
2989
+ z49.object({ x: z49.number().finite(), z: z49.number().finite() }).strict(),
2990
+ z49.tuple([z49.number().finite(), z49.number().finite()])
2674
2991
  ]);
2675
- var PluginBuildableEnvelopeVerticalCap = z48.discriminatedUnion("kind", [
2676
- z48.object({
2677
- kind: z48.literal("max_height"),
2678
- maxHeight: z48.number().finite().positive()
2992
+ var PluginBuildableEnvelopeVerticalCap = z49.discriminatedUnion("kind", [
2993
+ z49.object({
2994
+ kind: z49.literal("max_height"),
2995
+ maxHeight: z49.number().finite().positive()
2679
2996
  }).strict(),
2680
- z48.object({
2681
- kind: z48.literal("max_floors"),
2682
- maxFloors: z48.number().finite().int().positive()
2997
+ z49.object({
2998
+ kind: z49.literal("max_floors"),
2999
+ maxFloors: z49.number().finite().int().positive()
2683
3000
  }).strict()
2684
3001
  ]);
2685
- var PluginBuildableEnvelopeSetbackTier = z48.object({
2686
- aboveHeight: z48.number().finite().nonnegative(),
2687
- front: z48.number().finite().nonnegative(),
2688
- side: z48.number().finite().nonnegative(),
2689
- rear: z48.number().finite().nonnegative()
3002
+ var PluginBuildableEnvelopeSetbackTier = z49.object({
3003
+ aboveHeight: z49.number().finite().nonnegative(),
3004
+ front: z49.number().finite().nonnegative(),
3005
+ side: z49.number().finite().nonnegative(),
3006
+ rear: z49.number().finite().nonnegative()
2690
3007
  }).strict();
2691
3008
  function refineSetbackTiers(args, ctx) {
2692
3009
  const tiers = args.setbacks;
2693
3010
  if (tiers.length === 0) return;
2694
3011
  if (tiers[0].aboveHeight !== 0) {
2695
3012
  ctx.addIssue({
2696
- code: z48.ZodIssueCode.custom,
3013
+ code: z49.ZodIssueCode.custom,
2697
3014
  path: ["setbacks", 0, "aboveHeight"],
2698
3015
  message: "Ground tier required: setbacks[0].aboveHeight must be 0."
2699
3016
  });
@@ -2701,75 +3018,75 @@ function refineSetbackTiers(args, ctx) {
2701
3018
  for (let i = 1; i < tiers.length; i++) {
2702
3019
  if (!(tiers[i].aboveHeight > tiers[i - 1].aboveHeight)) {
2703
3020
  ctx.addIssue({
2704
- code: z48.ZodIssueCode.custom,
3021
+ code: z49.ZodIssueCode.custom,
2705
3022
  path: ["setbacks", i, "aboveHeight"],
2706
3023
  message: "Setback tiers must be ordered by strictly increasing aboveHeight."
2707
3024
  });
2708
3025
  }
2709
3026
  }
2710
3027
  }
2711
- var PluginBuildableEnvelopeCreateArgs = z48.object({
2712
- sitePolygon: z48.array(PluginBuildableEnvelopePolygonVertex).min(3),
2713
- lengthUnit: z48.union([z48.literal("ft"), z48.literal("m")]),
2714
- setbacks: z48.array(PluginBuildableEnvelopeSetbackTier).min(1),
3028
+ var PluginBuildableEnvelopeCreateArgs = z49.object({
3029
+ sitePolygon: z49.array(PluginBuildableEnvelopePolygonVertex).min(3),
3030
+ lengthUnit: z49.union([z49.literal("ft"), z49.literal("m")]),
3031
+ setbacks: z49.array(PluginBuildableEnvelopeSetbackTier).min(1),
2715
3032
  verticalCap: PluginBuildableEnvelopeVerticalCap,
2716
- floorToFloor: z48.number().finite().positive(),
2717
- farRatio: z48.number().finite().positive().optional(),
2718
- lotCoverageMaxPct: z48.number().finite().min(0).max(100).optional()
3033
+ floorToFloor: z49.number().finite().positive(),
3034
+ farRatio: z49.number().finite().positive().optional(),
3035
+ lotCoverageMaxPct: z49.number().finite().min(0).max(100).optional()
2719
3036
  }).strict().superRefine(refineSetbackTiers);
2720
- var PluginBuildableEnvelopeCreateResult = z48.object({
2721
- buildableEnvelopeId: z48.string().min(1)
3037
+ var PluginBuildableEnvelopeCreateResult = z49.object({
3038
+ buildableEnvelopeId: z49.string().min(1)
2722
3039
  }).strict();
2723
- var PluginBuildableEnvelopeUpdateArgs = z48.object({
2724
- buildableEnvelopeId: z48.string().min(1),
2725
- sitePolygon: z48.array(PluginBuildableEnvelopePolygonVertex).min(3),
2726
- lengthUnit: z48.union([z48.literal("ft"), z48.literal("m")]),
2727
- setbacks: z48.array(PluginBuildableEnvelopeSetbackTier).min(1),
3040
+ var PluginBuildableEnvelopeUpdateArgs = z49.object({
3041
+ buildableEnvelopeId: z49.string().min(1),
3042
+ sitePolygon: z49.array(PluginBuildableEnvelopePolygonVertex).min(3),
3043
+ lengthUnit: z49.union([z49.literal("ft"), z49.literal("m")]),
3044
+ setbacks: z49.array(PluginBuildableEnvelopeSetbackTier).min(1),
2728
3045
  verticalCap: PluginBuildableEnvelopeVerticalCap,
2729
- floorToFloor: z48.number().finite().positive(),
2730
- farRatio: z48.number().finite().positive().optional(),
2731
- lotCoverageMaxPct: z48.number().finite().min(0).max(100).optional()
3046
+ floorToFloor: z49.number().finite().positive(),
3047
+ farRatio: z49.number().finite().positive().optional(),
3048
+ lotCoverageMaxPct: z49.number().finite().min(0).max(100).optional()
2732
3049
  }).strict().superRefine(refineSetbackTiers);
2733
- var PluginBuildableEnvelopeUpdateResult = z48.object({
2734
- buildableEnvelopeId: z48.string().min(1)
3050
+ var PluginBuildableEnvelopeUpdateResult = z49.object({
3051
+ buildableEnvelopeId: z49.string().min(1)
2735
3052
  }).strict();
2736
3053
 
2737
3054
  // src/api/entity/referenceLine.ts
2738
- var z49 = __toESM(require("zod"), 1);
3055
+ var z50 = __toESM(require("zod"), 1);
2739
3056
  var PluginReferenceLineApi = class {
2740
3057
  constructor() {
2741
3058
  }
2742
3059
  };
2743
- var PluginReferenceLineCreateMultiArgs = z49.object({
3060
+ var PluginReferenceLineCreateMultiArgs = z50.object({
2744
3061
  profile: ProfileHandle
2745
3062
  });
2746
- var PluginReferenceLineCreateMultiResult = z49.object({
2747
- referenceLineIds: z49.array(z49.string())
3063
+ var PluginReferenceLineCreateMultiResult = z50.object({
3064
+ referenceLineIds: z50.array(z50.string())
2748
3065
  });
2749
- var PluginReferenceLineGetProperty = z49.enum([
3066
+ var PluginReferenceLineGetProperty = z50.enum([
2750
3067
  "curve"
2751
3068
  ]);
2752
- var PluginReferenceLineGetArgs = z49.object({
2753
- referenceLineId: z49.string(),
2754
- properties: z49.array(PluginReferenceLineGetProperty)
3069
+ var PluginReferenceLineGetArgs = z50.object({
3070
+ referenceLineId: z50.string(),
3071
+ properties: z50.array(PluginReferenceLineGetProperty)
2755
3072
  });
2756
- var PluginReferenceLineGetResult = z49.object({
3073
+ var PluginReferenceLineGetResult = z50.object({
2757
3074
  curve: CurveHandle
2758
3075
  }).partial();
2759
- var PluginReferenceLineGetAllResult = z49.object({
2760
- referenceLineIds: z49.array(z49.string())
3076
+ var PluginReferenceLineGetAllResult = z50.object({
3077
+ referenceLineIds: z50.array(z50.string())
2761
3078
  });
2762
- var PluginReferenceLineDeleteArgs = z49.object({
2763
- referenceLineId: z49.string()
3079
+ var PluginReferenceLineDeleteArgs = z50.object({
3080
+ referenceLineId: z50.string()
2764
3081
  });
2765
3082
 
2766
3083
  // src/api/entity/story.ts
2767
- var z50 = __toESM(require("zod"), 1);
3084
+ var z51 = __toESM(require("zod"), 1);
2768
3085
  var PluginStoryApi = class {
2769
3086
  constructor() {
2770
3087
  }
2771
3088
  };
2772
- var PluginStoryGetProperty = z50.enum([
3089
+ var PluginStoryGetProperty = z51.enum([
2773
3090
  "value",
2774
3091
  "id",
2775
3092
  "name",
@@ -2779,44 +3096,56 @@ var PluginStoryGetProperty = z50.enum([
2779
3096
  "spacesCount",
2780
3097
  "totalArea"
2781
3098
  ]);
2782
- var PluginStoryGetArgs = z50.object({
2783
- storyValue: z50.number().int(),
2784
- properties: z50.array(PluginStoryGetProperty)
2785
- });
2786
- var PluginStoryGetResult = z50.object({
2787
- value: z50.number(),
2788
- id: z50.string(),
2789
- name: z50.string(),
2790
- height: z50.number(),
2791
- base: z50.number(),
2792
- hidden: z50.boolean(),
2793
- spacesCount: z50.number(),
2794
- totalArea: z50.number()
3099
+ var PluginStoryGetArgs = z51.object({
3100
+ storyValue: z51.number().int(),
3101
+ properties: z51.array(PluginStoryGetProperty)
3102
+ });
3103
+ var PluginStoryGetResult = z51.object({
3104
+ value: z51.number(),
3105
+ id: z51.string(),
3106
+ name: z51.string(),
3107
+ height: z51.number(),
3108
+ base: z51.number(),
3109
+ hidden: z51.boolean(),
3110
+ spacesCount: z51.number(),
3111
+ totalArea: z51.number()
2795
3112
  }).partial();
2796
- var PluginStoryGetAllResult = z50.object({
2797
- stories: z50.array(
2798
- z50.object({
2799
- value: z50.number(),
2800
- id: z50.string(),
2801
- name: z50.string()
3113
+ var PluginStoryGetAllResult = z51.object({
3114
+ stories: z51.array(
3115
+ z51.object({
3116
+ value: z51.number(),
3117
+ id: z51.string(),
3118
+ name: z51.string()
2802
3119
  })
2803
3120
  )
2804
3121
  });
2805
- var PluginStoryCreateArgs = z50.object({
2806
- storyValue: z50.number().int(),
2807
- height: z50.number().optional()
3122
+ var PluginStoryCreateArgs = z51.object({
3123
+ storyValue: z51.number().int(),
3124
+ height: z51.number().optional()
2808
3125
  });
2809
- var PluginStoryCreateResult = z50.object({
2810
- storyId: z50.string(),
2811
- storyValue: z50.number()
3126
+ var PluginStoryCreateResult = z51.object({
3127
+ storyId: z51.string(),
3128
+ storyValue: z51.number()
2812
3129
  });
2813
- var PluginStoryUpdateArgs = z50.object({
2814
- storyValue: z50.number().int(),
2815
- height: z50.number()
3130
+ var PluginStoryUpdateArgs = z51.object({
3131
+ storyValue: z51.number().int(),
3132
+ height: z51.number()
2816
3133
  });
2817
- var PluginStoryUpdateResult = z50.object({
2818
- storyValue: z50.number(),
2819
- height: z50.number()
3134
+ var PluginStoryUpdateResult = z51.object({
3135
+ storyValue: z51.number(),
3136
+ height: z51.number()
3137
+ });
3138
+ var PluginStoryDuplicateArgs = z51.object({
3139
+ direction: z51.enum(["up", "down"]),
3140
+ components: z51.array(ComponentHandle).optional(),
3141
+ unique: z51.boolean().optional()
3142
+ });
3143
+ var PluginStoryDuplicateResult = z51.object({
3144
+ sourceStory: z51.number(),
3145
+ targetStories: z51.array(z51.number()),
3146
+ created: z51.array(ComponentHandle),
3147
+ createdStoryValues: z51.array(z51.number()),
3148
+ skipped: z51.number()
2820
3149
  });
2821
3150
 
2822
3151
  // src/api/entity/index.ts
@@ -2826,27 +3155,27 @@ var PluginEntityApi = class {
2826
3155
  };
2827
3156
 
2828
3157
  // src/api/program/departments.ts
2829
- var z52 = __toESM(require("zod"), 1);
3158
+ var z53 = __toESM(require("zod"), 1);
2830
3159
 
2831
3160
  // src/api/program/metrics.ts
2832
- var z51 = __toESM(require("zod"), 1);
3161
+ var z52 = __toESM(require("zod"), 1);
2833
3162
  var PluginProgramMetricsApi = class {
2834
3163
  constructor() {
2835
3164
  }
2836
3165
  };
2837
- var PluginAreaUnit = z51.enum(["ft2", "m2"]);
2838
- var PluginProgramDepartmentMetric = z51.object({
2839
- departmentId: z51.string(),
2840
- name: z51.string(),
2841
- targetArea: z51.number().nullable(),
2842
- allocatedArea: z51.number()
3166
+ var PluginAreaUnit = z52.enum(["ft2", "m2"]);
3167
+ var PluginProgramDepartmentMetric = z52.object({
3168
+ departmentId: z52.string(),
3169
+ name: z52.string(),
3170
+ targetArea: z52.number().nullable(),
3171
+ allocatedArea: z52.number()
2843
3172
  });
2844
- var PluginProgramMetricsSummary = z51.object({
3173
+ var PluginProgramMetricsSummary = z52.object({
2845
3174
  units: PluginAreaUnit,
2846
- totalTargetArea: z51.number(),
2847
- totalAllocatedArea: z51.number(),
2848
- unassignedArea: z51.number(),
2849
- departments: z51.array(PluginProgramDepartmentMetric)
3175
+ totalTargetArea: z52.number(),
3176
+ totalAllocatedArea: z52.number(),
3177
+ unassignedArea: z52.number(),
3178
+ departments: z52.array(PluginProgramDepartmentMetric)
2850
3179
  }).refine(
2851
3180
  (s) => {
2852
3181
  const summed = s.unassignedArea + s.departments.reduce((acc, d) => acc + d.allocatedArea, 0);
@@ -2863,18 +3192,18 @@ var PluginProgramDepartmentsApi = class {
2863
3192
  constructor() {
2864
3193
  }
2865
3194
  };
2866
- var PluginProgramDepartment = z52.object({
2867
- id: z52.string(),
2868
- name: z52.string(),
2869
- color: z52.string(),
2870
- targetArea: z52.number().nullable()
3195
+ var PluginProgramDepartment = z53.object({
3196
+ id: z53.string(),
3197
+ name: z53.string(),
3198
+ color: z53.string(),
3199
+ targetArea: z53.number().nullable()
2871
3200
  });
2872
- var PluginProgramDepartmentsListResult = z52.object({
3201
+ var PluginProgramDepartmentsListResult = z53.object({
2873
3202
  units: PluginAreaUnit,
2874
- departments: z52.array(PluginProgramDepartment)
3203
+ departments: z53.array(PluginProgramDepartment)
2875
3204
  });
2876
- var PluginProgramDepartmentsGetArgs = z52.object({
2877
- departmentId: z52.string()
3205
+ var PluginProgramDepartmentsGetArgs = z53.object({
3206
+ departmentId: z53.string()
2878
3207
  });
2879
3208
  var PluginProgramDepartmentsGetResult = PluginProgramDepartment.extend(
2880
3209
  {
@@ -2884,81 +3213,95 @@ var PluginProgramDepartmentsGetResult = PluginProgramDepartment.extend(
2884
3213
  var PluginProgramDepartmentRecord = PluginProgramDepartment.extend({
2885
3214
  units: PluginAreaUnit
2886
3215
  });
2887
- var PluginProgramDepartmentsCreateArgs = z52.object({
2888
- name: z52.string(),
2889
- color: z52.string()
3216
+ var PluginProgramDepartmentsCreateArgs = z53.object({
3217
+ name: z53.string(),
3218
+ color: z53.string()
2890
3219
  });
2891
- var PluginProgramDepartmentsCreateResult = z52.object({
2892
- departmentId: z52.string()
3220
+ var PluginProgramDepartmentsCreateResult = z53.object({
3221
+ departmentId: z53.string()
2893
3222
  });
2894
- var PluginProgramDepartmentsUpdateArgs = z52.object({
2895
- departmentId: z52.string(),
2896
- name: z52.string().optional(),
2897
- color: z52.string().optional()
3223
+ var PluginProgramDepartmentsUpdateArgs = z53.object({
3224
+ departmentId: z53.string(),
3225
+ name: z53.string().optional(),
3226
+ color: z53.string().optional()
2898
3227
  });
2899
3228
  var PluginProgramDepartmentsUpdateResult = PluginProgramDepartmentRecord;
2900
- var PluginProgramDepartmentsAssignArgs = z52.object({
2901
- departmentId: z52.string(),
2902
- spaceIds: z52.array(ComponentHandle).min(1)
3229
+ var PluginProgramDepartmentsAssignArgs = z53.object({
3230
+ departmentId: z53.string(),
3231
+ spaceIds: z53.array(ComponentHandle).min(1)
2903
3232
  });
2904
- var PluginProgramDepartmentsAssignResult = z52.object({
2905
- departmentId: z52.string(),
2906
- spaceIds: z52.array(ComponentHandle)
3233
+ var PluginProgramDepartmentsAssignResult = z53.object({
3234
+ departmentId: z53.string(),
3235
+ spaceIds: z53.array(ComponentHandle)
2907
3236
  });
2908
- var PluginProgramDepartmentsUnassignArgs = z52.object({
2909
- spaceIds: z52.array(ComponentHandle).min(1)
3237
+ var PluginProgramDepartmentsUnassignArgs = z53.object({
3238
+ spaceIds: z53.array(ComponentHandle).min(1)
2910
3239
  });
2911
- var PluginProgramDepartmentsUnassignResult = z52.object({
2912
- spaceIds: z52.array(ComponentHandle)
3240
+ var PluginProgramDepartmentsUnassignResult = z53.object({
3241
+ spaceIds: z53.array(ComponentHandle)
2913
3242
  });
2914
- var PluginProgramDepartmentsSetTargetAreaArgs = z52.object({
2915
- departmentId: z52.string(),
2916
- targetArea: z52.number(),
3243
+ var PluginProgramDepartmentsSetTargetAreaArgs = z53.object({
3244
+ departmentId: z53.string(),
3245
+ targetArea: z53.number(),
2917
3246
  units: PluginAreaUnit.optional()
2918
3247
  });
2919
3248
  var PluginProgramDepartmentsSetTargetAreaResult = PluginProgramDepartmentRecord;
2920
- var PluginProgramDepartmentsDeleteArgs = z52.object({
2921
- departmentId: z52.string()
3249
+ var PluginProgramDepartmentsDeleteArgs = z53.object({
3250
+ departmentId: z53.string()
2922
3251
  });
2923
- var PluginProgramDepartmentsDeleteResult = z52.object({
2924
- departmentId: z52.string(),
2925
- reassignedSpaceIds: z52.array(ComponentHandle)
3252
+ var PluginProgramDepartmentsDeleteResult = z53.object({
3253
+ departmentId: z53.string(),
3254
+ reassignedSpaceIds: z53.array(ComponentHandle)
2926
3255
  });
2927
3256
 
2928
3257
  // src/api/program/adjacency.ts
2929
- var z53 = __toESM(require("zod"), 1);
3258
+ var z54 = __toESM(require("zod"), 1);
2930
3259
  var PluginProgramAdjacencyApi = class {
2931
3260
  constructor() {
2932
3261
  }
2933
3262
  };
2934
- var PluginAdjacencyLevel = z53.enum(["department", "space"]);
2935
- var PluginProgramAdjacencyGetMatrixArgs = z53.object({
3263
+ var PluginAdjacencyLevel = z54.enum(["department", "space"]);
3264
+ var PluginProgramAdjacencyGetMatrixArgs = z54.object({
2936
3265
  level: PluginAdjacencyLevel,
2937
- ids: z53.array(z53.string()).optional()
3266
+ ids: z54.array(z54.string()).optional()
2938
3267
  });
2939
- var PluginProgramAdjacencyGetMatrixResult = z53.object({
2940
- ids: z53.array(z53.string()),
2941
- departmentIds: z53.array(z53.string().nullable()).optional(),
2942
- matrix: z53.array(z53.array(z53.number()))
3268
+ var PluginProgramAdjacencyGetMatrixResult = z54.object({
3269
+ ids: z54.array(z54.string()),
3270
+ departmentIds: z54.array(z54.string().nullable()).optional(),
3271
+ matrix: z54.array(z54.array(z54.number()))
2943
3272
  });
2944
- var PluginProgramAdjacencyComputeResult = z53.object({
2945
- success: z53.boolean(),
2946
- error: z53.string().optional()
3273
+ var PluginProgramAdjacencyComputeResult = z54.object({
3274
+ success: z54.boolean(),
3275
+ error: z54.string().optional()
2947
3276
  });
2948
3277
 
2949
3278
  // src/api/program/layout.ts
2950
- var z54 = __toESM(require("zod"), 1);
3279
+ var z55 = __toESM(require("zod"), 1);
2951
3280
  var PluginProgramLayoutApi = class {
2952
3281
  constructor() {
2953
3282
  }
2954
3283
  };
2955
- var PluginProgramLayoutRunResult = z54.object({
2956
- success: z54.boolean(),
2957
- error: z54.string().optional()
3284
+ var PluginProgramLayoutRunArgs = z55.object({
3285
+ spaceIds: z55.array(z55.string()).optional(),
3286
+ departmentIds: z55.array(z55.string()).optional(),
3287
+ envelopeId: z55.string().optional()
3288
+ });
3289
+ var PluginProgramLayoutRunResult = z55.object({
3290
+ success: z55.boolean(),
3291
+ error: z55.string().optional()
3292
+ });
3293
+ var PluginProgramLayoutJobStatus = z55.enum([
3294
+ "running",
3295
+ "active",
3296
+ "inactive"
3297
+ ]);
3298
+ var PluginProgramLayoutJobState = z55.object({
3299
+ status: PluginProgramLayoutJobStatus
2958
3300
  });
3301
+ var PluginProgramLayoutStateResult = PluginProgramLayoutJobState.nullable();
2959
3302
 
2960
3303
  // src/api/program/spreadsheet.ts
2961
- var z55 = __toESM(require("zod"), 1);
3304
+ var z56 = __toESM(require("zod"), 1);
2962
3305
  var PluginProgramSpreadsheetApi = class {
2963
3306
  constructor() {
2964
3307
  }
@@ -2971,84 +3314,84 @@ var PluginProgramSpreadsheetBindingsApi = class {
2971
3314
  constructor() {
2972
3315
  }
2973
3316
  };
2974
- var PluginSpreadsheetCell = z55.union([
2975
- z55.string(),
2976
- z55.number(),
2977
- z55.boolean(),
2978
- z55.null()
3317
+ var PluginSpreadsheetCell = z56.union([
3318
+ z56.string(),
3319
+ z56.number(),
3320
+ z56.boolean(),
3321
+ z56.null()
2979
3322
  ]);
2980
- var PluginSpreadsheetAlign = z55.enum(["left", "center", "right"]);
2981
- var PluginSpreadsheetColumn = z55.object({
2982
- key: z55.string(),
2983
- header: z55.string(),
2984
- width: z55.number().optional(),
2985
- format: z55.string().optional(),
3323
+ var PluginSpreadsheetAlign = z56.enum(["left", "center", "right"]);
3324
+ var PluginSpreadsheetColumn = z56.object({
3325
+ key: z56.string(),
3326
+ header: z56.string(),
3327
+ width: z56.number().optional(),
3328
+ format: z56.string().optional(),
2986
3329
  align: PluginSpreadsheetAlign.optional()
2987
3330
  });
2988
- var PluginSpreadsheetTotal = z55.object({
2989
- column: z55.string(),
2990
- fn: z55.enum(["sum", "avg", "count", "min", "max"]),
2991
- label: z55.string().optional()
2992
- });
2993
- var PluginProgramSpreadsheetRenderArgs = z55.object({
2994
- sheetName: z55.string(),
2995
- columns: z55.array(PluginSpreadsheetColumn),
2996
- rows: z55.array(z55.record(z55.string(), PluginSpreadsheetCell)),
2997
- title: z55.string().optional(),
2998
- startCell: z55.string().optional(),
2999
- whenExists: z55.enum(["replace", "error"]).optional(),
3000
- asTable: z55.boolean().optional(),
3001
- freezeHeader: z55.boolean().optional(),
3002
- totals: z55.array(PluginSpreadsheetTotal).optional()
3003
- });
3004
- var PluginProgramSpreadsheetRenderResult = z55.object({
3005
- sheetName: z55.string(),
3006
- range: z55.string(),
3007
- headerRange: z55.string(),
3008
- rowCount: z55.number(),
3009
- colCount: z55.number(),
3010
- tableName: z55.string().nullable(),
3011
- replaced: z55.boolean()
3012
- });
3013
- var PluginProgramSpreadsheetRenderDatasetArgs = z55.object({
3014
- sheetName: z55.string().optional(),
3015
- title: z55.string().optional(),
3016
- filter: z55.string().optional()
3017
- });
3018
- var PluginSpreadsheetExportFormat = z55.enum(["xlsx", "pdf", "csv"]);
3019
- var PluginProgramSpreadsheetExportArgs = z55.object({
3331
+ var PluginSpreadsheetTotal = z56.object({
3332
+ column: z56.string(),
3333
+ fn: z56.enum(["sum", "avg", "count", "min", "max"]),
3334
+ label: z56.string().optional()
3335
+ });
3336
+ var PluginProgramSpreadsheetRenderArgs = z56.object({
3337
+ sheetName: z56.string(),
3338
+ columns: z56.array(PluginSpreadsheetColumn),
3339
+ rows: z56.array(z56.record(z56.string(), PluginSpreadsheetCell)),
3340
+ title: z56.string().optional(),
3341
+ startCell: z56.string().optional(),
3342
+ whenExists: z56.enum(["replace", "error"]).optional(),
3343
+ asTable: z56.boolean().optional(),
3344
+ freezeHeader: z56.boolean().optional(),
3345
+ totals: z56.array(PluginSpreadsheetTotal).optional()
3346
+ });
3347
+ var PluginProgramSpreadsheetRenderResult = z56.object({
3348
+ sheetName: z56.string(),
3349
+ range: z56.string(),
3350
+ headerRange: z56.string(),
3351
+ rowCount: z56.number(),
3352
+ colCount: z56.number(),
3353
+ tableName: z56.string().nullable(),
3354
+ replaced: z56.boolean()
3355
+ });
3356
+ var PluginProgramSpreadsheetRenderDatasetArgs = z56.object({
3357
+ sheetName: z56.string().optional(),
3358
+ title: z56.string().optional(),
3359
+ filter: z56.string().optional()
3360
+ });
3361
+ var PluginSpreadsheetExportFormat = z56.enum(["xlsx", "pdf", "csv"]);
3362
+ var PluginProgramSpreadsheetExportArgs = z56.object({
3020
3363
  format: PluginSpreadsheetExportFormat,
3021
- fileName: z55.string().optional()
3364
+ fileName: z56.string().optional()
3022
3365
  });
3023
- var PluginProgramSpreadsheetExportResult = z55.object({
3366
+ var PluginProgramSpreadsheetExportResult = z56.object({
3024
3367
  format: PluginSpreadsheetExportFormat,
3025
- fileName: z55.string(),
3026
- mimeType: z55.string(),
3027
- dataBase64: z55.string()
3028
- });
3029
- var PluginSpreadsheetSheetInfo = z55.object({
3030
- name: z55.string(),
3031
- index: z55.number(),
3032
- visible: z55.boolean(),
3033
- rowCount: z55.number(),
3034
- colCount: z55.number()
3035
- });
3036
- var PluginProgramSpreadsheetListSheetsResult = z55.object({
3037
- sheets: z55.array(PluginSpreadsheetSheetInfo),
3038
- activeSheet: z55.string().nullable()
3039
- });
3040
- var PluginProgramSpreadsheetGetSheetDataArgs = z55.object({
3041
- sheetName: z55.string(),
3042
- range: z55.string().optional(),
3043
- header: z55.boolean().optional()
3044
- });
3045
- var PluginProgramSpreadsheetGetSheetDataResult = z55.object({
3046
- sheetName: z55.string(),
3047
- range: z55.string(),
3048
- values: z55.array(z55.array(PluginSpreadsheetCell)),
3049
- records: z55.array(z55.record(z55.string(), PluginSpreadsheetCell)).optional()
3050
- });
3051
- var PluginSpreadsheetChartType = z55.enum([
3368
+ fileName: z56.string(),
3369
+ mimeType: z56.string(),
3370
+ dataBase64: z56.string()
3371
+ });
3372
+ var PluginSpreadsheetSheetInfo = z56.object({
3373
+ name: z56.string(),
3374
+ index: z56.number(),
3375
+ visible: z56.boolean(),
3376
+ rowCount: z56.number(),
3377
+ colCount: z56.number()
3378
+ });
3379
+ var PluginProgramSpreadsheetListSheetsResult = z56.object({
3380
+ sheets: z56.array(PluginSpreadsheetSheetInfo),
3381
+ activeSheet: z56.string().nullable()
3382
+ });
3383
+ var PluginProgramSpreadsheetGetSheetDataArgs = z56.object({
3384
+ sheetName: z56.string(),
3385
+ range: z56.string().optional(),
3386
+ header: z56.boolean().optional()
3387
+ });
3388
+ var PluginProgramSpreadsheetGetSheetDataResult = z56.object({
3389
+ sheetName: z56.string(),
3390
+ range: z56.string(),
3391
+ values: z56.array(z56.array(PluginSpreadsheetCell)),
3392
+ records: z56.array(z56.record(z56.string(), PluginSpreadsheetCell)).optional()
3393
+ });
3394
+ var PluginSpreadsheetChartType = z56.enum([
3052
3395
  "column",
3053
3396
  "bar",
3054
3397
  "line",
@@ -3056,249 +3399,249 @@ var PluginSpreadsheetChartType = z55.enum([
3056
3399
  "area",
3057
3400
  "scatter"
3058
3401
  ]);
3059
- var PluginProgramSpreadsheetAddChartArgs = z55.object({
3060
- sheetName: z55.string(),
3402
+ var PluginProgramSpreadsheetAddChartArgs = z56.object({
3403
+ sheetName: z56.string(),
3061
3404
  chartType: PluginSpreadsheetChartType,
3062
- dataRange: z55.string(),
3063
- title: z55.string().optional(),
3064
- position: z55.object({ x: z55.number(), y: z55.number() }).optional(),
3065
- size: z55.object({ width: z55.number(), height: z55.number() }).optional()
3066
- });
3067
- var PluginProgramSpreadsheetAddChartResult = z55.object({
3068
- chartId: z55.string()
3069
- });
3070
- var PluginProgramSpreadsheetHighlightCellsArgs = z55.object({
3071
- sheetName: z55.string(),
3072
- range: z55.string(),
3073
- color: z55.string().optional(),
3074
- bold: z55.boolean().optional()
3075
- });
3076
- var PluginProgramSpreadsheetHighlightCellsResult = z55.object({
3077
- sheetName: z55.string(),
3078
- range: z55.string()
3079
- });
3080
- var PluginSpreadsheetProgramRow = z55.object({
3081
- departmentId: z55.string(),
3082
- name: z55.string(),
3083
- targetArea: z55.number().nullable(),
3084
- allocatedArea: z55.number(),
3085
- variance: z55.number().nullable()
3086
- });
3087
- var PluginProgramSpreadsheetGetProgramResult = z55.object({
3405
+ dataRange: z56.string(),
3406
+ title: z56.string().optional(),
3407
+ position: z56.object({ x: z56.number(), y: z56.number() }).optional(),
3408
+ size: z56.object({ width: z56.number(), height: z56.number() }).optional()
3409
+ });
3410
+ var PluginProgramSpreadsheetAddChartResult = z56.object({
3411
+ chartId: z56.string()
3412
+ });
3413
+ var PluginProgramSpreadsheetHighlightCellsArgs = z56.object({
3414
+ sheetName: z56.string(),
3415
+ range: z56.string(),
3416
+ color: z56.string().optional(),
3417
+ bold: z56.boolean().optional()
3418
+ });
3419
+ var PluginProgramSpreadsheetHighlightCellsResult = z56.object({
3420
+ sheetName: z56.string(),
3421
+ range: z56.string()
3422
+ });
3423
+ var PluginSpreadsheetProgramRow = z56.object({
3424
+ departmentId: z56.string(),
3425
+ name: z56.string(),
3426
+ targetArea: z56.number().nullable(),
3427
+ allocatedArea: z56.number(),
3428
+ variance: z56.number().nullable()
3429
+ });
3430
+ var PluginProgramSpreadsheetGetProgramResult = z56.object({
3088
3431
  units: PluginAreaUnit,
3089
- rows: z55.array(PluginSpreadsheetProgramRow),
3090
- totalTargetArea: z55.number(),
3091
- totalAllocatedArea: z55.number(),
3092
- generatedAt: z55.string()
3093
- });
3094
- var PluginSpreadsheetTakeoffRow = z55.object({
3095
- objectType: z55.string(),
3096
- category: z55.string(),
3097
- family: z55.string(),
3098
- quantity: z55.number(),
3099
- unit: z55.string()
3100
- });
3101
- var PluginProgramSpreadsheetGetTakeoffResult = z55.object({
3102
- rows: z55.array(PluginSpreadsheetTakeoffRow),
3103
- rowCount: z55.number(),
3104
- generatedAt: z55.string()
3105
- });
3106
- var PluginSpreadsheetWhenExists = z55.enum(["reuse", "replace", "error"]);
3107
- var PluginProgramSpreadsheetCreateSheetArgs = z55.object({
3108
- name: z55.string(),
3432
+ rows: z56.array(PluginSpreadsheetProgramRow),
3433
+ totalTargetArea: z56.number(),
3434
+ totalAllocatedArea: z56.number(),
3435
+ generatedAt: z56.string()
3436
+ });
3437
+ var PluginSpreadsheetTakeoffRow = z56.object({
3438
+ objectType: z56.string(),
3439
+ category: z56.string(),
3440
+ family: z56.string(),
3441
+ quantity: z56.number(),
3442
+ unit: z56.string()
3443
+ });
3444
+ var PluginProgramSpreadsheetGetTakeoffResult = z56.object({
3445
+ rows: z56.array(PluginSpreadsheetTakeoffRow),
3446
+ rowCount: z56.number(),
3447
+ generatedAt: z56.string()
3448
+ });
3449
+ var PluginSpreadsheetWhenExists = z56.enum(["reuse", "replace", "error"]);
3450
+ var PluginProgramSpreadsheetCreateSheetArgs = z56.object({
3451
+ name: z56.string(),
3109
3452
  whenExists: PluginSpreadsheetWhenExists.optional()
3110
3453
  });
3111
- var PluginProgramSpreadsheetCreateSheetResult = z55.object({
3112
- sheetName: z55.string(),
3113
- replaced: z55.boolean(),
3114
- sheetIndex: z55.number().nullable()
3115
- });
3116
- var PluginProgramSpreadsheetSetValuesArgs = z55.object({
3117
- sheetName: z55.string(),
3118
- values: z55.array(z55.array(PluginSpreadsheetCell)),
3119
- startCell: z55.string().optional()
3120
- });
3121
- var PluginProgramSpreadsheetSetValuesResult = z55.object({
3122
- sheetName: z55.string(),
3123
- startCell: z55.string(),
3124
- rowCount: z55.number(),
3125
- colCount: z55.number()
3126
- });
3127
- var PluginSpreadsheetFormula = z55.object({
3128
- cell: z55.string(),
3129
- formula: z55.string()
3130
- });
3131
- var PluginProgramSpreadsheetSetFormulasArgs = z55.object({
3132
- sheetName: z55.string(),
3133
- formulas: z55.array(PluginSpreadsheetFormula)
3134
- });
3135
- var PluginProgramSpreadsheetSetFormulasResult = z55.object({
3136
- sheetName: z55.string(),
3137
- count: z55.number()
3138
- });
3139
- var PluginSpreadsheetFontWeight = z55.enum(["normal", "bold"]);
3140
- var PluginSpreadsheetFontStyle = z55.enum(["normal", "italic"]);
3141
- var PluginSpreadsheetHorizontalAlign = z55.enum([
3454
+ var PluginProgramSpreadsheetCreateSheetResult = z56.object({
3455
+ sheetName: z56.string(),
3456
+ replaced: z56.boolean(),
3457
+ sheetIndex: z56.number().nullable()
3458
+ });
3459
+ var PluginProgramSpreadsheetSetValuesArgs = z56.object({
3460
+ sheetName: z56.string(),
3461
+ values: z56.array(z56.array(PluginSpreadsheetCell)),
3462
+ startCell: z56.string().optional()
3463
+ });
3464
+ var PluginProgramSpreadsheetSetValuesResult = z56.object({
3465
+ sheetName: z56.string(),
3466
+ startCell: z56.string(),
3467
+ rowCount: z56.number(),
3468
+ colCount: z56.number()
3469
+ });
3470
+ var PluginSpreadsheetFormula = z56.object({
3471
+ cell: z56.string(),
3472
+ formula: z56.string()
3473
+ });
3474
+ var PluginProgramSpreadsheetSetFormulasArgs = z56.object({
3475
+ sheetName: z56.string(),
3476
+ formulas: z56.array(PluginSpreadsheetFormula)
3477
+ });
3478
+ var PluginProgramSpreadsheetSetFormulasResult = z56.object({
3479
+ sheetName: z56.string(),
3480
+ count: z56.number()
3481
+ });
3482
+ var PluginSpreadsheetFontWeight = z56.enum(["normal", "bold"]);
3483
+ var PluginSpreadsheetFontStyle = z56.enum(["normal", "italic"]);
3484
+ var PluginSpreadsheetHorizontalAlign = z56.enum([
3142
3485
  "left",
3143
3486
  "center",
3144
3487
  "right",
3145
3488
  "general"
3146
3489
  ]);
3147
- var PluginSpreadsheetVerticalAlign = z55.enum([
3490
+ var PluginSpreadsheetVerticalAlign = z56.enum([
3148
3491
  "top",
3149
3492
  "center",
3150
3493
  "bottom"
3151
3494
  ]);
3152
- var PluginSpreadsheetCellStyle = z55.object({
3153
- backColor: z55.string().optional(),
3154
- foreColor: z55.string().optional(),
3155
- font: z55.string().optional(),
3156
- fontFamily: z55.string().optional(),
3157
- fontSize: z55.number().optional(),
3495
+ var PluginSpreadsheetCellStyle = z56.object({
3496
+ backColor: z56.string().optional(),
3497
+ foreColor: z56.string().optional(),
3498
+ font: z56.string().optional(),
3499
+ fontFamily: z56.string().optional(),
3500
+ fontSize: z56.number().optional(),
3158
3501
  fontWeight: PluginSpreadsheetFontWeight.optional(),
3159
3502
  fontStyle: PluginSpreadsheetFontStyle.optional(),
3160
- formatter: z55.string().optional(),
3503
+ formatter: z56.string().optional(),
3161
3504
  horizontalAlign: PluginSpreadsheetHorizontalAlign.optional(),
3162
3505
  verticalAlign: PluginSpreadsheetVerticalAlign.optional()
3163
3506
  });
3164
- var PluginSpreadsheetRangeStyle = z55.object({
3165
- range: z55.string(),
3507
+ var PluginSpreadsheetRangeStyle = z56.object({
3508
+ range: z56.string(),
3166
3509
  style: PluginSpreadsheetCellStyle
3167
3510
  });
3168
- var PluginProgramSpreadsheetSetStylesArgs = z55.object({
3169
- sheetName: z55.string(),
3170
- ranges: z55.array(PluginSpreadsheetRangeStyle)
3511
+ var PluginProgramSpreadsheetSetStylesArgs = z56.object({
3512
+ sheetName: z56.string(),
3513
+ ranges: z56.array(PluginSpreadsheetRangeStyle)
3171
3514
  });
3172
- var PluginProgramSpreadsheetSetStylesResult = z55.object({
3173
- sheetName: z55.string(),
3174
- count: z55.number()
3515
+ var PluginProgramSpreadsheetSetStylesResult = z56.object({
3516
+ sheetName: z56.string(),
3517
+ count: z56.number()
3175
3518
  });
3176
- var PluginProgramSpreadsheetMergeCellsArgs = z55.object({
3177
- sheetName: z55.string(),
3178
- range: z55.string(),
3519
+ var PluginProgramSpreadsheetMergeCellsArgs = z56.object({
3520
+ sheetName: z56.string(),
3521
+ range: z56.string(),
3179
3522
  value: PluginSpreadsheetCell.optional()
3180
3523
  });
3181
- var PluginProgramSpreadsheetMergeCellsResult = z55.object({
3182
- sheetName: z55.string(),
3183
- range: z55.string()
3524
+ var PluginProgramSpreadsheetMergeCellsResult = z56.object({
3525
+ sheetName: z56.string(),
3526
+ range: z56.string()
3184
3527
  });
3185
- var PluginSpreadsheetConditionalRuleType = z55.enum(["dataBar"]);
3186
- var PluginSpreadsheetConditionalRule = z55.object({
3528
+ var PluginSpreadsheetConditionalRuleType = z56.enum(["dataBar"]);
3529
+ var PluginSpreadsheetConditionalRule = z56.object({
3187
3530
  type: PluginSpreadsheetConditionalRuleType,
3188
- color: z55.string().optional()
3531
+ color: z56.string().optional()
3189
3532
  });
3190
- var PluginProgramSpreadsheetAddConditionalFormattingArgs = z55.object({
3191
- sheetName: z55.string(),
3192
- range: z55.string(),
3533
+ var PluginProgramSpreadsheetAddConditionalFormattingArgs = z56.object({
3534
+ sheetName: z56.string(),
3535
+ range: z56.string(),
3193
3536
  rule: PluginSpreadsheetConditionalRule
3194
3537
  });
3195
- var PluginProgramSpreadsheetAddConditionalFormattingResult = z55.object({
3196
- sheetName: z55.string(),
3197
- range: z55.string(),
3198
- created: z55.boolean()
3538
+ var PluginProgramSpreadsheetAddConditionalFormattingResult = z56.object({
3539
+ sheetName: z56.string(),
3540
+ range: z56.string(),
3541
+ created: z56.boolean()
3199
3542
  });
3200
- var PluginProgramSpreadsheetRecalculateArgs = z55.object({
3201
- sheetName: z55.string().optional()
3543
+ var PluginProgramSpreadsheetRecalculateArgs = z56.object({
3544
+ sheetName: z56.string().optional()
3202
3545
  });
3203
- var PluginProgramSpreadsheetRecalculateResult = z55.object({
3204
- scope: z55.enum(["sheet", "workbook"]),
3205
- sheetName: z55.string().nullable()
3546
+ var PluginProgramSpreadsheetRecalculateResult = z56.object({
3547
+ scope: z56.enum(["sheet", "workbook"]),
3548
+ sheetName: z56.string().nullable()
3206
3549
  });
3207
- var PluginSpreadsheetTransactionMethod = z55.enum([
3550
+ var PluginSpreadsheetTransactionMethod = z56.enum([
3208
3551
  "createSheet",
3209
3552
  "setValues",
3210
3553
  "setFormulas",
3211
3554
  "setStyles",
3212
3555
  "mergeCells"
3213
3556
  ]);
3214
- var PluginSpreadsheetTransactionOp = z55.object({
3557
+ var PluginSpreadsheetTransactionOp = z56.object({
3215
3558
  method: PluginSpreadsheetTransactionMethod,
3216
- args: z55.unknown()
3217
- });
3218
- var PluginProgramSpreadsheetTransactionArgs = z55.object({
3219
- operations: z55.array(PluginSpreadsheetTransactionOp),
3220
- label: z55.string().optional()
3221
- });
3222
- var PluginProgramSpreadsheetTransactionResult = z55.object({
3223
- label: z55.string(),
3224
- operationCount: z55.number(),
3225
- results: z55.array(z55.unknown())
3226
- });
3227
- var PluginProgramSpreadsheetRunScriptArgs = z55.object({
3228
- script: z55.string()
3229
- });
3230
- var PluginProgramSpreadsheetRunScriptResult = z55.object({
3231
- result: z55.unknown()
3232
- });
3233
- var PluginSpreadsheetAuditStatus = z55.enum(["success", "error"]);
3234
- var PluginSpreadsheetAuditEntry = z55.object({
3235
- id: z55.string(),
3236
- pluginId: z55.string(),
3237
- method: z55.string(),
3238
- label: z55.string().optional(),
3239
- sheetName: z55.string().optional(),
3240
- timestamp: z55.string(),
3559
+ args: z56.unknown()
3560
+ });
3561
+ var PluginProgramSpreadsheetTransactionArgs = z56.object({
3562
+ operations: z56.array(PluginSpreadsheetTransactionOp),
3563
+ label: z56.string().optional()
3564
+ });
3565
+ var PluginProgramSpreadsheetTransactionResult = z56.object({
3566
+ label: z56.string(),
3567
+ operationCount: z56.number(),
3568
+ results: z56.array(z56.unknown())
3569
+ });
3570
+ var PluginProgramSpreadsheetRunScriptArgs = z56.object({
3571
+ script: z56.string()
3572
+ });
3573
+ var PluginProgramSpreadsheetRunScriptResult = z56.object({
3574
+ result: z56.unknown()
3575
+ });
3576
+ var PluginSpreadsheetAuditStatus = z56.enum(["success", "error"]);
3577
+ var PluginSpreadsheetAuditEntry = z56.object({
3578
+ id: z56.string(),
3579
+ pluginId: z56.string(),
3580
+ method: z56.string(),
3581
+ label: z56.string().optional(),
3582
+ sheetName: z56.string().optional(),
3583
+ timestamp: z56.string(),
3241
3584
  status: PluginSpreadsheetAuditStatus,
3242
- summary: z55.string().optional()
3585
+ summary: z56.string().optional()
3243
3586
  });
3244
- var PluginProgramSpreadsheetGetAuditLogArgs = z55.object({
3245
- limit: z55.number().optional()
3587
+ var PluginProgramSpreadsheetGetAuditLogArgs = z56.object({
3588
+ limit: z56.number().optional()
3246
3589
  });
3247
- var PluginProgramSpreadsheetGetAuditLogResult = z55.object({
3248
- entries: z55.array(PluginSpreadsheetAuditEntry)
3590
+ var PluginProgramSpreadsheetGetAuditLogResult = z56.object({
3591
+ entries: z56.array(PluginSpreadsheetAuditEntry)
3249
3592
  });
3250
- var PluginProgramSpreadsheetPingResult = z55.object({
3251
- pong: z55.boolean()
3593
+ var PluginProgramSpreadsheetPingResult = z56.object({
3594
+ pong: z56.boolean()
3252
3595
  });
3253
- var PluginSpreadsheetTemplateScope = z55.enum(["project", "global"]);
3254
- var PluginProgramSpreadsheetTemplatesCreateArgs = z55.object({
3255
- name: z55.string(),
3256
- sheetName: z55.string(),
3596
+ var PluginSpreadsheetTemplateScope = z56.enum(["project", "global"]);
3597
+ var PluginProgramSpreadsheetTemplatesCreateArgs = z56.object({
3598
+ name: z56.string(),
3599
+ sheetName: z56.string(),
3257
3600
  scope: PluginSpreadsheetTemplateScope.optional()
3258
3601
  });
3259
- var PluginProgramSpreadsheetTemplatesCreateResult = z55.object({
3260
- id: z55.string(),
3261
- name: z55.string(),
3602
+ var PluginProgramSpreadsheetTemplatesCreateResult = z56.object({
3603
+ id: z56.string(),
3604
+ name: z56.string(),
3262
3605
  scope: PluginSpreadsheetTemplateScope,
3263
- sheetName: z55.string()
3606
+ sheetName: z56.string()
3264
3607
  });
3265
- var PluginProgramSpreadsheetTemplatesApplyArgs = z55.object({
3266
- name: z55.string(),
3267
- targetSheetName: z55.string()
3608
+ var PluginProgramSpreadsheetTemplatesApplyArgs = z56.object({
3609
+ name: z56.string(),
3610
+ targetSheetName: z56.string()
3268
3611
  });
3269
- var PluginProgramSpreadsheetTemplatesApplyResult = z55.object({
3270
- name: z55.string(),
3271
- targetSheetName: z55.string()
3612
+ var PluginProgramSpreadsheetTemplatesApplyResult = z56.object({
3613
+ name: z56.string(),
3614
+ targetSheetName: z56.string()
3272
3615
  });
3273
- var PluginSpreadsheetBindingSource = z55.object({
3274
- dataset: z55.enum(["takeoff"])
3616
+ var PluginSpreadsheetBindingSource = z56.object({
3617
+ dataset: z56.enum(["takeoff"])
3275
3618
  });
3276
- var PluginSpreadsheetBindingMode = z55.enum(["replaceRange"]);
3277
- var PluginSpreadsheetBindingTarget = z55.object({
3278
- sheetName: z55.string(),
3279
- startCell: z55.string().optional()
3619
+ var PluginSpreadsheetBindingMode = z56.enum(["replaceRange"]);
3620
+ var PluginSpreadsheetBindingTarget = z56.object({
3621
+ sheetName: z56.string(),
3622
+ startCell: z56.string().optional()
3280
3623
  });
3281
- var PluginSpreadsheetBinding = z55.object({
3282
- id: z55.string(),
3283
- name: z55.string(),
3284
- pluginId: z55.string(),
3624
+ var PluginSpreadsheetBinding = z56.object({
3625
+ id: z56.string(),
3626
+ name: z56.string(),
3627
+ pluginId: z56.string(),
3285
3628
  source: PluginSpreadsheetBindingSource,
3286
- target: z55.object({
3287
- sheetName: z55.string(),
3288
- startCell: z55.string()
3629
+ target: z56.object({
3630
+ sheetName: z56.string(),
3631
+ startCell: z56.string()
3289
3632
  }),
3290
3633
  mode: PluginSpreadsheetBindingMode,
3291
- createdAt: z55.string(),
3292
- updatedAt: z55.string()
3634
+ createdAt: z56.string(),
3635
+ updatedAt: z56.string()
3293
3636
  });
3294
- var PluginSpreadsheetBindingRefresh = z55.object({
3295
- id: z55.string(),
3296
- name: z55.string(),
3297
- sheetName: z55.string(),
3298
- rowCount: z55.number()
3637
+ var PluginSpreadsheetBindingRefresh = z56.object({
3638
+ id: z56.string(),
3639
+ name: z56.string(),
3640
+ sheetName: z56.string(),
3641
+ rowCount: z56.number()
3299
3642
  });
3300
- var PluginProgramSpreadsheetBindingsCreateArgs = z55.object({
3301
- name: z55.string(),
3643
+ var PluginProgramSpreadsheetBindingsCreateArgs = z56.object({
3644
+ name: z56.string(),
3302
3645
  source: PluginSpreadsheetBindingSource,
3303
3646
  target: PluginSpreadsheetBindingTarget,
3304
3647
  mode: PluginSpreadsheetBindingMode.optional()
@@ -3306,185 +3649,186 @@ var PluginProgramSpreadsheetBindingsCreateArgs = z55.object({
3306
3649
  var PluginProgramSpreadsheetBindingsCreateResult = PluginSpreadsheetBinding.extend({
3307
3650
  refresh: PluginSpreadsheetBindingRefresh
3308
3651
  });
3309
- var PluginProgramSpreadsheetBindingsRefreshArgs = z55.object({
3310
- name: z55.string().optional()
3652
+ var PluginProgramSpreadsheetBindingsRefreshArgs = z56.object({
3653
+ name: z56.string().optional()
3311
3654
  });
3312
- var PluginProgramSpreadsheetBindingsRefreshResult = z55.object({
3313
- refreshed: z55.array(PluginSpreadsheetBindingRefresh)
3655
+ var PluginProgramSpreadsheetBindingsRefreshResult = z56.object({
3656
+ refreshed: z56.array(PluginSpreadsheetBindingRefresh)
3314
3657
  });
3315
- var PluginProgramSpreadsheetBindingsListResult = z55.object({
3316
- bindings: z55.array(PluginSpreadsheetBinding)
3658
+ var PluginProgramSpreadsheetBindingsListResult = z56.object({
3659
+ bindings: z56.array(PluginSpreadsheetBinding)
3317
3660
  });
3318
3661
 
3319
3662
  // src/api/program/site.ts
3320
- var z56 = __toESM(require("zod"), 1);
3663
+ var z57 = __toESM(require("zod"), 1);
3321
3664
  var PluginProgramSiteApi = class {
3322
3665
  constructor() {
3323
3666
  }
3324
3667
  };
3325
- var PluginSiteFootprintPoint = z56.object({
3326
- x: z56.number(),
3327
- z: z56.number()
3668
+ var PluginSiteFootprintPoint = z57.object({
3669
+ x: z57.number(),
3670
+ z: z57.number()
3328
3671
  });
3329
- var PluginSiteGeoPoint = z56.object({
3330
- lat: z56.number(),
3331
- lng: z56.number(),
3332
- alt: z56.number()
3672
+ var PluginSiteGeoPoint = z57.object({
3673
+ lat: z57.number(),
3674
+ lng: z57.number(),
3675
+ alt: z57.number()
3333
3676
  });
3334
- var PluginSitePolygon = z56.object({
3335
- id: z56.string(),
3336
- area: z56.number(),
3337
- label: z56.string(),
3338
- footprint: z56.array(PluginSiteFootprintPoint)
3677
+ var PluginSitePolygon = z57.object({
3678
+ id: z57.string(),
3679
+ area: z57.number(),
3680
+ label: z57.string(),
3681
+ footprint: z57.array(PluginSiteFootprintPoint)
3339
3682
  });
3340
- var PluginProgramSiteSnapshot = z56.object({
3683
+ var PluginProgramSiteSnapshot = z57.object({
3341
3684
  units: PluginAreaUnit,
3342
- totalArea: z56.number(),
3343
- polygonCount: z56.number(),
3344
- polygons: z56.array(PluginSitePolygon)
3685
+ totalArea: z57.number(),
3686
+ polygonCount: z57.number(),
3687
+ polygons: z57.array(PluginSitePolygon)
3345
3688
  });
3346
- var PluginProgramSiteAreaResult = z56.object({
3689
+ var PluginProgramSiteAreaResult = z57.object({
3347
3690
  units: PluginAreaUnit,
3348
- area: z56.number()
3691
+ area: z57.number()
3349
3692
  });
3350
- var PluginProgramSiteListPolygonsResult = z56.object({
3693
+ var PluginProgramSiteListPolygonsResult = z57.object({
3351
3694
  units: PluginAreaUnit,
3352
- polygons: z56.array(PluginSitePolygon)
3695
+ polygons: z57.array(PluginSitePolygon)
3353
3696
  });
3354
- var PluginProgramSiteListGeoPolygonsResult = z56.object({
3355
- polygons: z56.array(z56.array(PluginSiteGeoPoint))
3697
+ var PluginProgramSiteListGeoPolygonsResult = z57.object({
3698
+ polygons: z57.array(z57.array(PluginSiteGeoPoint))
3356
3699
  });
3357
- var PluginSiteLatLng = z56.object({
3358
- lat: z56.number(),
3359
- lng: z56.number()
3700
+ var PluginSiteLatLng = z57.object({
3701
+ lat: z57.number(),
3702
+ lng: z57.number()
3360
3703
  });
3361
- var PluginSiteBounds = z56.object({
3362
- north: z56.number(),
3363
- south: z56.number(),
3364
- east: z56.number(),
3365
- west: z56.number()
3704
+ var PluginSiteBounds = z57.object({
3705
+ north: z57.number(),
3706
+ south: z57.number(),
3707
+ east: z57.number(),
3708
+ west: z57.number()
3366
3709
  });
3367
- var PluginSiteContextParcel = z56.object({
3368
- footprint: z56.array(PluginSiteLatLng),
3369
- area: z56.number()
3710
+ var PluginSiteContextParcel = z57.object({
3711
+ footprint: z57.array(PluginSiteLatLng),
3712
+ area: z57.number()
3370
3713
  });
3371
- var PluginProgramSiteContext = z56.object({
3714
+ var PluginProgramSiteContext = z57.object({
3372
3715
  center: PluginSiteLatLng,
3373
3716
  bounds: PluginSiteBounds,
3374
- widthInM: z56.number(),
3375
- heightInM: z56.number(),
3376
- zoom: z56.number(),
3377
- parcels: z56.array(PluginSiteContextParcel)
3717
+ widthInM: z57.number(),
3718
+ heightInM: z57.number(),
3719
+ zoom: z57.number(),
3720
+ parcels: z57.array(PluginSiteContextParcel)
3378
3721
  });
3379
3722
  var PluginProgramSiteContextResult = PluginProgramSiteContext.nullable();
3380
- var PluginProgramSiteLocation = z56.object({
3381
- latitude: z56.number(),
3382
- longitude: z56.number()
3723
+ var PluginProgramSiteLocation = z57.object({
3724
+ latitude: z57.number(),
3725
+ longitude: z57.number()
3383
3726
  });
3384
3727
  var PluginProgramSiteLocationResult = PluginProgramSiteLocation.nullable();
3385
- var PluginProgramSiteNorthAngleResult = z56.number().nullable();
3728
+ var PluginProgramSiteNorthAngleResult = z57.number().nullable();
3386
3729
 
3387
3730
  // src/api/program/cores.ts
3388
- var z57 = __toESM(require("zod"), 1);
3731
+ var z58 = __toESM(require("zod"), 1);
3389
3732
  var PluginProgramCoresApi = class {
3390
3733
  constructor() {
3391
3734
  }
3392
3735
  };
3393
- var PluginProgramCore = z57.object({
3394
- id: z57.string(),
3395
- groupId: z57.string(),
3396
- storey: z57.number()
3736
+ var PluginProgramCore = z58.object({
3737
+ id: z58.string(),
3738
+ groupId: z58.string(),
3739
+ storey: z58.number()
3397
3740
  });
3398
- var PluginProgramCoresListResult = z57.object({
3399
- cores: z57.array(PluginProgramCore)
3741
+ var PluginProgramCoresListResult = z58.object({
3742
+ cores: z58.array(PluginProgramCore)
3400
3743
  });
3401
- var PluginProgramCoresIsCoreArgs = z57.object({
3402
- id: z57.string()
3744
+ var PluginProgramCoresIsCoreArgs = z58.object({
3745
+ id: z58.string()
3403
3746
  });
3404
- var PluginProgramCoreSpec = z57.object({
3405
- type: z57.string().optional(),
3406
- position: z57.object({ x: z57.number(), y: z57.number(), z: z57.number() }),
3407
- width: z57.number(),
3408
- depth: z57.number(),
3409
- fromStorey: z57.number().optional(),
3410
- toStorey: z57.number().optional()
3747
+ var PluginProgramCoreSpec = z58.object({
3748
+ type: z58.string().optional(),
3749
+ position: z58.object({ x: z58.number(), y: z58.number(), z: z58.number() }),
3750
+ width: z58.number(),
3751
+ depth: z58.number(),
3752
+ fromStorey: z58.number().optional(),
3753
+ toStorey: z58.number().optional()
3411
3754
  });
3412
- var PluginProgramCoresCreateArgs = z57.object({
3413
- cores: z57.array(PluginProgramCoreSpec),
3414
- lengthUnit: z57.enum(["mm", "m", "ft"]).optional()
3755
+ var PluginProgramCoresCreateArgs = z58.object({
3756
+ cores: z58.array(PluginProgramCoreSpec),
3757
+ lengthUnit: z58.enum(["mm", "m", "ft"]).optional()
3415
3758
  });
3416
- var PluginProgramCoresCreateResult = z57.object({
3417
- createdCount: z57.number()
3759
+ var PluginProgramCoresCreateResult = z58.object({
3760
+ createdCount: z58.number()
3418
3761
  });
3419
3762
 
3420
3763
  // src/api/program/classification.ts
3421
- var z58 = __toESM(require("zod"), 1);
3764
+ var z59 = __toESM(require("zod"), 1);
3422
3765
  var PluginProgramClassificationApi = class {
3423
3766
  constructor() {
3424
3767
  }
3425
3768
  };
3426
- var PluginClassificationOption = z58.object({
3427
- value: z58.string(),
3428
- label: z58.string()
3769
+ var PluginClassificationOption = z59.object({
3770
+ value: z59.string(),
3771
+ label: z59.string()
3429
3772
  });
3430
- var PluginProgramClassificationTypesResult = z58.object({
3431
- spaceTypes: z58.array(PluginClassificationOption),
3432
- areaClasses: z58.array(PluginClassificationOption),
3433
- massTypes: z58.array(PluginClassificationOption)
3773
+ var PluginProgramClassificationTypesResult = z59.object({
3774
+ spaceTypes: z59.array(PluginClassificationOption),
3775
+ areaClasses: z59.array(PluginClassificationOption),
3776
+ massTypes: z59.array(PluginClassificationOption)
3434
3777
  });
3435
- var PluginProgramClassificationListTagsArgs = z58.object({
3436
- id: z58.string()
3778
+ var PluginProgramClassificationListTagsArgs = z59.object({
3779
+ id: z59.string()
3437
3780
  });
3438
- var PluginSpaceTag = z58.object({
3439
- tagId: z58.string(),
3440
- tagName: z58.string(),
3441
- color: z58.string(),
3442
- categoryId: z58.string()
3781
+ var PluginSpaceTag = z59.object({
3782
+ tagId: z59.string(),
3783
+ tagName: z59.string(),
3784
+ color: z59.string(),
3785
+ categoryId: z59.string()
3443
3786
  });
3444
- var PluginProgramClassificationTagsResult = z58.object({
3445
- tagIds: z58.array(z58.string()),
3446
- tagsByCategory: z58.record(z58.string(), PluginSpaceTag)
3787
+ var PluginProgramClassificationTagsResult = z59.object({
3788
+ tagIds: z59.array(z59.string()),
3789
+ tagsByCategory: z59.record(z59.string(), PluginSpaceTag)
3447
3790
  });
3448
3791
 
3449
3792
  // src/api/program/areas.ts
3450
- var z59 = __toESM(require("zod"), 1);
3793
+ var z60 = __toESM(require("zod"), 1);
3451
3794
  var PluginProgramAreasApi = class {
3452
3795
  constructor() {
3453
3796
  }
3454
3797
  };
3455
- var PluginProgramAreaSummary = z59.object({
3456
- count: z59.number().int(),
3457
- hiddenCount: z59.number().int(),
3458
- carpet: z59.number(),
3459
- builtUp: z59.number(),
3460
- excluded: z59.number(),
3461
- farBuiltUp: z59.number(),
3462
- siteArea: z59.number(),
3463
- achievedFar: z59.number().nullable(),
3464
- targetFar: z59.number(),
3465
- deviation: z59.number(),
3798
+ var PluginProgramAreaSummary = z60.object({
3799
+ count: z60.number().int(),
3800
+ hiddenCount: z60.number().int(),
3801
+ carpet: z60.number(),
3802
+ builtUp: z60.number(),
3803
+ excluded: z60.number(),
3804
+ farBuiltUp: z60.number(),
3805
+ siteArea: z60.number(),
3806
+ achievedFar: z60.number().nullable(),
3807
+ targetFar: z60.number(),
3808
+ deviation: z60.number(),
3466
3809
  areaUnit: PluginAreaUnit
3467
3810
  });
3468
- var PluginProgramAreaGroup = z59.object({
3469
- groupId: z59.string(),
3470
- name: z59.string(),
3471
- color: z59.string(),
3472
- carpet: z59.number(),
3473
- builtUp: z59.number(),
3474
- excluded: z59.number(),
3475
- count: z59.number().int(),
3476
- targetArea: z59.number(),
3811
+ var PluginProgramAreaGroup = z60.object({
3812
+ groupId: z60.string(),
3813
+ name: z60.string(),
3814
+ color: z60.string(),
3815
+ carpet: z60.number(),
3816
+ builtUp: z60.number(),
3817
+ excluded: z60.number(),
3818
+ count: z60.number().int(),
3819
+ targetArea: z60.number(),
3477
3820
  targetUnit: PluginAreaUnit
3478
3821
  });
3479
- var PluginProgramAreaMember = z59.object({
3822
+ var PluginProgramAreaMember = z60.object({
3480
3823
  id: ComponentHandle,
3481
- label: z59.string(),
3482
- carpet: z59.number(),
3483
- builtUp: z59.number(),
3484
- excluded: z59.number(),
3485
- isVisible: z59.boolean()
3824
+ label: z60.string(),
3825
+ areaClass: PluginAreaClass,
3826
+ carpet: z60.number(),
3827
+ builtUp: z60.number(),
3828
+ excluded: z60.number(),
3829
+ isVisible: z60.boolean()
3486
3830
  });
3487
- var PluginProgramAreaGroupBy = z59.enum([
3831
+ var PluginProgramAreaGroupBy = z60.enum([
3488
3832
  "labels",
3489
3833
  "storeys",
3490
3834
  "buildings",
@@ -3492,29 +3836,29 @@ var PluginProgramAreaGroupBy = z59.enum([
3492
3836
  "tagCategories"
3493
3837
  ]);
3494
3838
  var PluginProgramAreasGetResult = PluginProgramAreaSummary;
3495
- var PluginProgramAreasListArgs = z59.object({
3839
+ var PluginProgramAreasListArgs = z60.object({
3496
3840
  groupBy: PluginProgramAreaGroupBy,
3497
- categoryId: z59.string().optional()
3841
+ categoryId: z60.string().optional()
3498
3842
  }).refine((v) => v.groupBy !== "tagCategories" || v.categoryId != null, {
3499
3843
  message: 'categoryId is required when groupBy is "tagCategories"'
3500
3844
  });
3501
- var PluginProgramAreasListResult = z59.object({
3502
- groups: z59.array(PluginProgramAreaGroup)
3845
+ var PluginProgramAreasListResult = z60.object({
3846
+ groups: z60.array(PluginProgramAreaGroup)
3503
3847
  });
3504
- var PluginProgramAreasListMembersArgs = z59.object({
3848
+ var PluginProgramAreasListMembersArgs = z60.object({
3505
3849
  groupBy: PluginProgramAreaGroupBy,
3506
- groupId: z59.string(),
3507
- categoryId: z59.string().optional()
3850
+ groupId: z60.string(),
3851
+ categoryId: z60.string().optional()
3508
3852
  }).refine((v) => v.groupBy !== "tagCategories" || v.categoryId != null, {
3509
3853
  message: 'categoryId is required when groupBy is "tagCategories"'
3510
3854
  });
3511
- var PluginProgramAreasListMembersResult = z59.object({
3512
- members: z59.array(PluginProgramAreaMember)
3855
+ var PluginProgramAreasListMembersResult = z60.object({
3856
+ members: z60.array(PluginProgramAreaMember)
3513
3857
  });
3514
- var PluginProgramAreasUpdateArgs = z59.object({
3515
- targetFar: z59.number().min(0).optional(),
3516
- siteArea: z59.number().positive().optional(),
3517
- deviation: z59.number().min(0).max(100).optional()
3858
+ var PluginProgramAreasUpdateArgs = z60.object({
3859
+ targetFar: z60.number().min(0).optional(),
3860
+ siteArea: z60.number().positive().optional(),
3861
+ deviation: z60.number().min(0).max(100).optional()
3518
3862
  });
3519
3863
  var PluginProgramAreasUpdateResult = PluginProgramAreaSummary;
3520
3864
 
@@ -3525,257 +3869,577 @@ var PluginProgramApi = class {
3525
3869
  };
3526
3870
 
3527
3871
  // src/api/presentation/views.ts
3528
- var z60 = __toESM(require("zod"), 1);
3872
+ var z61 = __toESM(require("zod"), 1);
3529
3873
  var PluginPresentationViewsApi = class {
3530
3874
  constructor() {
3531
3875
  }
3532
3876
  };
3533
- var PluginPresentationViewType = z60.enum(["2d", "3d"]);
3534
- var PluginPresentationView = z60.object({
3535
- id: z60.string(),
3536
- name: z60.string(),
3877
+ var PluginPresentationViewType = z61.enum(["2d", "3d"]);
3878
+ var PluginPresentationView = z61.object({
3879
+ id: z61.string(),
3880
+ name: z61.string(),
3537
3881
  type: PluginPresentationViewType,
3538
- isActive: z60.boolean()
3882
+ isActive: z61.boolean()
3539
3883
  });
3540
- var PluginPresentationViewsListResult = z60.object({
3541
- views: z60.array(PluginPresentationView)
3884
+ var PluginPresentationViewsListResult = z61.object({
3885
+ views: z61.array(PluginPresentationView)
3542
3886
  });
3543
- var PluginPresentationViewsGetArgs = z60.object({
3544
- id: z60.string()
3887
+ var PluginPresentationViewsGetArgs = z61.object({
3888
+ id: z61.string()
3545
3889
  });
3546
3890
  var PluginPresentationViewsGetResult = PluginPresentationView.nullable();
3547
- var PluginPresentationImageFormat = z60.enum(["png", "jpeg"]);
3548
- var PluginPresentationViewsCaptureArgs = z60.object({
3549
- viewId: z60.string().optional(),
3891
+ var PluginPresentationImageFormat = z61.enum(["png", "jpeg"]);
3892
+ var PluginPresentationViewsCaptureArgs = z61.object({
3893
+ viewId: z61.string().optional(),
3550
3894
  format: PluginPresentationImageFormat.optional(),
3551
- resolution: z60.string().optional()
3895
+ resolution: z61.string().optional()
3552
3896
  });
3553
- var PluginPresentationViewsCaptureResult = z60.object({
3554
- image: z60.string()
3897
+ var PluginPresentationViewsCaptureResult = z61.object({
3898
+ image: z61.string()
3555
3899
  });
3556
- var PluginPresentationViewsSetActiveArgs = z60.object({
3557
- id: z60.string()
3900
+ var PluginPresentationViewsSetActiveArgs = z61.object({
3901
+ id: z61.string()
3558
3902
  });
3559
- var PluginPresentationViewsSetActiveResult = z60.object({
3560
- id: z60.string()
3903
+ var PluginPresentationViewsSetActiveResult = z61.object({
3904
+ id: z61.string()
3561
3905
  });
3562
- var PluginPresentationViewsCreateArgs = z60.object({
3563
- name: z60.string().optional(),
3564
- kind: z60.enum(["view", "sitePlan"]).optional()
3906
+ var PluginPresentationViewsCreateArgs = z61.object({
3907
+ name: z61.string().optional(),
3908
+ kind: z61.enum(["view", "sitePlan"]).optional()
3565
3909
  });
3566
3910
  var PluginPresentationViewsCreateResult = PluginPresentationView;
3911
+ var PluginPresentationViewColorMode = z61.union([
3912
+ z61.enum(["monochrome", "texture", "department"]),
3913
+ z61.templateLiteral(["tag:", z61.string()])
3914
+ ]);
3915
+ var PluginPresentationViewLabel = z61.enum([
3916
+ "objectLabels",
3917
+ "areas",
3918
+ "department"
3919
+ ]);
3920
+ var PluginPresentationViewSettings = z61.object({
3921
+ backgroundColor: z61.string(),
3922
+ colorMode: PluginPresentationViewColorMode,
3923
+ showAxis: z61.boolean(),
3924
+ showEdges: z61.boolean(),
3925
+ showLabels: z61.boolean(),
3926
+ labels: z61.array(PluginPresentationViewLabel)
3927
+ });
3928
+ var PluginPresentationViewsGetSettingsArgs = z61.object({
3929
+ id: z61.string()
3930
+ });
3931
+ var PluginPresentationViewsGetSettingsResult = PluginPresentationViewSettings.nullable();
3932
+ var PluginPresentationViewsUpdateSettingsArgs = z61.object({
3933
+ id: z61.string(),
3934
+ settings: PluginPresentationViewSettings.partial()
3935
+ }).refine(
3936
+ (v) => !(v.settings.showLabels === false && (v.settings.labels?.length ?? 0) > 0),
3937
+ {
3938
+ message: "Contradictory patch: labels cannot be set while showLabels is false"
3939
+ }
3940
+ ).refine(
3941
+ (v) => !(v.settings.showLabels === true && v.settings.labels !== void 0 && v.settings.labels.length === 0),
3942
+ {
3943
+ 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"
3944
+ }
3945
+ );
3946
+ var PluginPresentationViewsUpdateSettingsResult = z61.object({
3947
+ id: z61.string()
3948
+ });
3567
3949
 
3568
3950
  // src/api/presentation/sheets.ts
3569
- var z61 = __toESM(require("zod"), 1);
3951
+ var z62 = __toESM(require("zod"), 1);
3570
3952
  var PluginPresentationSheetsApi = class {
3571
3953
  constructor() {
3572
3954
  }
3573
3955
  };
3574
- var PluginPresentationSheet = z61.object({
3575
- id: z61.string(),
3576
- name: z61.string()
3956
+ var PluginPresentationSheet = z62.object({
3957
+ id: z62.string(),
3958
+ name: z62.string()
3577
3959
  });
3578
- var PluginSheetPosition = z61.object({
3579
- x: z61.number(),
3580
- y: z61.number()
3960
+ var PluginSheetPosition = z62.object({
3961
+ x: z62.number(),
3962
+ y: z62.number()
3581
3963
  });
3582
- var PluginPresentationSheetsListResult = z61.object({
3583
- sheets: z61.array(PluginPresentationSheet)
3964
+ var PluginPresentationSheetsListResult = z62.object({
3965
+ sheets: z62.array(PluginPresentationSheet)
3584
3966
  });
3585
- var PluginPresentationSheetsGetArgs = z61.object({
3586
- id: z61.string()
3967
+ var PluginPresentationSheetsGetArgs = z62.object({
3968
+ id: z62.string()
3587
3969
  });
3588
3970
  var PluginPresentationSheetsGetResult = PluginPresentationSheet.nullable();
3589
- var PluginPresentationSheetsCreateArgs = z61.object({
3590
- name: z61.string().optional()
3971
+ var PluginPresentationSheetsCreateArgs = z62.object({
3972
+ name: z62.string().optional()
3591
3973
  });
3592
- var PluginPresentationSheetsPlaceArgs = z61.object({
3593
- sheetId: z61.string(),
3594
- viewId: z61.string(),
3974
+ var PluginPresentationSheetsPlaceArgs = z62.object({
3975
+ sheetId: z62.string(),
3976
+ viewId: z62.string(),
3595
3977
  position: PluginSheetPosition.optional()
3596
3978
  });
3597
- var PluginPresentationSheetsPlaceResult = z61.object({
3598
- shapeId: z61.string()
3979
+ var PluginPresentationSheetsPlaceResult = z62.object({
3980
+ shapeId: z62.string()
3599
3981
  });
3600
3982
 
3601
3983
  // src/api/presentation/diagrams.ts
3602
- var z62 = __toESM(require("zod"), 1);
3984
+ var z63 = __toESM(require("zod"), 1);
3603
3985
  var PluginPresentationDiagramsApi = class {
3604
3986
  constructor() {
3605
3987
  }
3606
3988
  };
3607
- var PluginPresentationDiagramsPlaceArgs = z62.object({
3608
- sheetId: z62.string(),
3609
- urls: z62.array(z62.string()),
3610
- position: z62.object({ x: z62.number(), y: z62.number() }).optional()
3989
+ var PluginPresentationDiagramsPlaceArgs = z63.object({
3990
+ sheetId: z63.string(),
3991
+ urls: z63.array(z63.string()),
3992
+ position: z63.object({ x: z63.number(), y: z63.number() }).optional()
3611
3993
  });
3612
- var PluginPresentationDiagramsPlaceResult = z62.object({
3613
- shapeIds: z62.array(z62.string())
3994
+ var PluginPresentationDiagramsPlaceResult = z63.object({
3995
+ shapeIds: z63.array(z63.string())
3614
3996
  });
3615
3997
 
3616
3998
  // src/api/presentation/import.ts
3617
- var z63 = __toESM(require("zod"), 1);
3999
+ var z64 = __toESM(require("zod"), 1);
3618
4000
  var PluginPresentationImportApi = class {
3619
4001
  constructor() {
3620
4002
  }
3621
4003
  };
3622
- var PluginPresentationImportArgs = z63.object({
3623
- url: z63.string().optional(),
3624
- dataUrl: z63.string().optional(),
3625
- position: z63.object({ x: z63.number(), y: z63.number() }).optional()
4004
+ var PluginPresentationImportArgs = z64.object({
4005
+ url: z64.string().optional(),
4006
+ dataUrl: z64.string().optional(),
4007
+ position: z64.object({ x: z64.number(), y: z64.number() }).optional()
3626
4008
  }).refine((a) => Boolean(a.url) || Boolean(a.dataUrl), {
3627
4009
  message: "Provide a url or a dataUrl"
3628
4010
  });
3629
- var PluginPresentationImportResult = z63.object({
3630
- shapeIds: z63.array(z63.string())
4011
+ var PluginPresentationImportResult = z64.object({
4012
+ shapeIds: z64.array(z64.string())
3631
4013
  });
3632
4014
 
3633
4015
  // src/api/presentation/aiInspiration.ts
3634
- var z64 = __toESM(require("zod"), 1);
3635
- var JsonPrimitive = z64.union([z64.string(), z64.number(), z64.boolean(), z64.null()]);
3636
- var JsonValue = z64.lazy(
3637
- () => z64.union([JsonPrimitive, z64.array(JsonValue), z64.record(z64.string(), JsonValue)])
4016
+ var z65 = __toESM(require("zod"), 1);
4017
+ var JsonPrimitive = z65.union([z65.string(), z65.number(), z65.boolean(), z65.null()]);
4018
+ var JsonValue = z65.lazy(
4019
+ () => z65.union([JsonPrimitive, z65.array(JsonValue), z65.record(z65.string(), JsonValue)])
3638
4020
  );
3639
- var PluginAIInspirationOutputKind = z64.enum([
4021
+ var PluginAIInspirationRunMode = z65.enum(["blocking", "job"]);
4022
+ var PluginAIInspirationOutputKind = z65.enum([
3640
4023
  "source",
3641
4024
  "image",
3642
4025
  "video"
3643
4026
  ]);
3644
- var PluginAIInspirationModelOutput = z64.enum(["image", "video"]);
3645
- var PluginAIInspirationShapeKind = z64.enum(["image", "view", "video"]);
3646
- var PluginAIInspirationVideoMode = z64.enum([
4027
+ var PluginAIInspirationModelOutput = z65.enum(["image", "video"]);
4028
+ var PluginAIInspirationRuntimeProvider = z65.enum(["gpt", "fal"]);
4029
+ var PluginAIInspirationPromptStrategy = z65.enum([
4030
+ "gpt-image",
4031
+ "fal-image",
4032
+ "fal-video"
4033
+ ]);
4034
+ var PluginAIInspirationShapeKind = z65.enum(["image", "view", "video"]);
4035
+ var PluginAIInspirationVideoMode = z65.enum([
3647
4036
  "animate",
3648
4037
  "references",
3649
4038
  "keyframes"
3650
4039
  ]);
3651
- var PluginAIInspirationVideoMotion = z64.enum([
4040
+ var PluginAIInspirationVideoMotion = z65.enum([
3652
4041
  "auto",
3653
4042
  "slow-dolly",
3654
4043
  "subtle-orbit",
3655
4044
  "reveal"
3656
4045
  ]);
3657
- var PluginAIInspirationVideoDuration = z64.enum(["4s", "6s", "8s"]);
3658
- var PluginAIInspirationRegionHint = z64.object({
3659
- x: z64.number().finite(),
3660
- y: z64.number().finite(),
3661
- w: z64.number().finite().positive(),
3662
- h: z64.number().finite().positive()
3663
- });
3664
- var PluginAIInspirationPoint = z64.object({
3665
- x: z64.number().finite(),
3666
- y: z64.number().finite()
3667
- });
3668
- var PluginAIInspirationTextAnnotation = z64.object({
3669
- text: z64.string().min(1),
3670
- x: z64.number().finite().optional(),
3671
- y: z64.number().finite().optional()
3672
- });
3673
- var PluginAIInspirationSketchGuidance = z64.object({
3674
- visualShapeIds: z64.array(z64.string()).optional(),
3675
- textAnnotations: z64.array(PluginAIInspirationTextAnnotation).optional()
3676
- });
3677
- var PluginAIInspirationSiteOptions = z64.object({
3678
- includeSatellite: z64.boolean().optional(),
3679
- includeStreetView: z64.boolean().optional(),
3680
- includeAerial: z64.boolean().optional(),
3681
- aerialBearing: z64.number().finite().optional(),
3682
- aerialPitch: z64.number().finite().optional(),
3683
- selectedDiagramIds: z64.array(z64.string()).optional(),
3684
- location: z64.object({
3685
- lat: z64.number().finite(),
3686
- lng: z64.number().finite()
4046
+ var PluginAIInspirationVideoDuration = z65.enum(["4s", "6s", "8s"]);
4047
+ var PluginAIInspirationJobStatus = z65.enum([
4048
+ "queued",
4049
+ "running",
4050
+ "completed",
4051
+ "failed",
4052
+ "cancelled"
4053
+ ]);
4054
+ var PluginAIInspirationWorkflowRunState = z65.enum([
4055
+ "current",
4056
+ "stale",
4057
+ "running",
4058
+ "failed",
4059
+ "superseded"
4060
+ ]);
4061
+ var PluginAIInspirationRegionHint = z65.object({
4062
+ x: z65.number().finite(),
4063
+ y: z65.number().finite(),
4064
+ w: z65.number().finite().positive(),
4065
+ h: z65.number().finite().positive()
4066
+ });
4067
+ var PluginAIInspirationPoint = z65.object({
4068
+ x: z65.number().finite(),
4069
+ y: z65.number().finite()
4070
+ });
4071
+ var PluginAIInspirationTextAnnotation = z65.object({
4072
+ text: z65.string().min(1),
4073
+ x: z65.number().finite().optional(),
4074
+ y: z65.number().finite().optional()
4075
+ });
4076
+ var PluginAIInspirationSketchGuidance = z65.object({
4077
+ visualShapeIds: z65.array(z65.string()).optional(),
4078
+ textAnnotations: z65.array(PluginAIInspirationTextAnnotation).optional()
4079
+ });
4080
+ var PluginAIInspirationSiteOptions = z65.object({
4081
+ includeSatellite: z65.boolean().optional(),
4082
+ includeStreetView: z65.boolean().optional(),
4083
+ includeAerial: z65.boolean().optional(),
4084
+ aerialBearing: z65.number().finite().optional(),
4085
+ aerialPitch: z65.number().finite().optional(),
4086
+ selectedDiagramIds: z65.array(z65.string()).optional(),
4087
+ location: z65.object({
4088
+ lat: z65.number().finite(),
4089
+ lng: z65.number().finite()
3687
4090
  }).optional()
3688
4091
  });
3689
- var PluginAIInspirationAppliedPreset = z64.object({
3690
- source: z64.enum(["curated", "user"]),
3691
- presetId: z64.string().min(1),
3692
- name: z64.string().min(1),
3693
- savedPresetKind: z64.enum(["prompt", "style"]).optional(),
3694
- stylePrompt: z64.string().optional(),
3695
- modelId: z64.string().optional(),
3696
- referenceImages: z64.array(
3697
- z64.object({
3698
- url: z64.string().min(1),
3699
- label: z64.string().optional(),
3700
- weight: z64.number().finite().optional()
4092
+ var PluginAIInspirationAppliedPreset = z65.object({
4093
+ source: z65.enum(["curated", "user"]),
4094
+ presetId: z65.string().min(1),
4095
+ name: z65.string().min(1),
4096
+ savedPresetKind: z65.enum(["prompt", "style"]).optional(),
4097
+ stylePrompt: z65.string().optional(),
4098
+ modelId: z65.string().optional(),
4099
+ referenceImages: z65.array(
4100
+ z65.object({
4101
+ url: z65.string().min(1),
4102
+ label: z65.string().optional(),
4103
+ weight: z65.number().finite().optional()
3701
4104
  })
3702
4105
  ).optional(),
3703
- siteDefaults: z64.object({
3704
- includeSatellite: z64.boolean().optional(),
3705
- includeStreetView: z64.boolean().optional(),
3706
- includeAerial: z64.boolean().optional()
4106
+ siteDefaults: z65.object({
4107
+ includeSatellite: z65.boolean().optional(),
4108
+ includeStreetView: z65.boolean().optional(),
4109
+ includeAerial: z65.boolean().optional()
3707
4110
  }).optional()
3708
4111
  });
3709
- var PluginAIInspirationVideoOptions = z64.object({
4112
+ var PluginAIInspirationVideoOptions = z65.object({
3710
4113
  mode: PluginAIInspirationVideoMode.optional(),
3711
- endFrameShapeId: z64.string().optional(),
4114
+ endFrameShapeId: z65.string().optional(),
3712
4115
  motion: PluginAIInspirationVideoMotion.optional(),
3713
4116
  duration: PluginAIInspirationVideoDuration.optional()
3714
4117
  });
3715
- var PluginAIInspirationModel = z64.object({
3716
- id: z64.string(),
3717
- label: z64.string(),
3718
- supportsMultiImage: z64.boolean(),
4118
+ var PluginAIInspirationModel = z65.object({
4119
+ id: z65.string(),
4120
+ label: z65.string(),
4121
+ supportsMultiImage: z65.boolean(),
3719
4122
  output: PluginAIInspirationModelOutput,
3720
- isDefault: z64.boolean().optional()
3721
- });
3722
- var PluginAIInspirationListModelsResult = z64.object({
3723
- defaultModelId: z64.string(),
3724
- models: z64.array(PluginAIInspirationModel)
4123
+ isDefault: z65.boolean().optional()
3725
4124
  });
3726
- var PluginAIInspirationShapeRef = z64.object({
3727
- shapeId: z64.string(),
3728
- assetId: z64.string().optional(),
4125
+ var PluginAIInspirationModelCapability = z65.object({
4126
+ id: z65.string(),
4127
+ output: PluginAIInspirationModelOutput,
4128
+ provider: PluginAIInspirationRuntimeProvider,
4129
+ supportsRegionEdit: z65.boolean(),
4130
+ supportsReferenceImages: z65.boolean(),
4131
+ supportsStylePresets: z65.boolean(),
4132
+ supportsSiteContext: z65.boolean(),
4133
+ supportsSketchGuidance: z65.boolean(),
4134
+ supportsKeyframes: z65.boolean(),
4135
+ maxExtraImages: z65.number().int().nonnegative(),
4136
+ promptStrategy: PluginAIInspirationPromptStrategy
4137
+ });
4138
+ var PluginAIInspirationListModelsResult = z65.object({
4139
+ defaultModelId: z65.string(),
4140
+ models: z65.array(PluginAIInspirationModel)
4141
+ });
4142
+ var PluginAIInspirationGetModelCapabilitiesArgs = z65.object({
4143
+ modelId: z65.string().min(1)
4144
+ });
4145
+ var PluginAIInspirationGetModelCapabilitiesResult = z65.object({
4146
+ capability: PluginAIInspirationModelCapability
4147
+ });
4148
+ var PluginAIInspirationShapeRef = z65.object({
4149
+ shapeId: z65.string(),
4150
+ assetId: z65.string().optional(),
3729
4151
  kind: PluginAIInspirationShapeKind,
3730
- name: z64.string().optional(),
3731
- width: z64.number().finite().optional(),
3732
- height: z64.number().finite().optional(),
4152
+ name: z65.string().optional(),
4153
+ width: z65.number().finite().optional(),
4154
+ height: z65.number().finite().optional(),
3733
4155
  outputType: PluginAIInspirationOutputKind.optional(),
3734
- sourceUrl: z64.string().optional()
3735
- });
3736
- var PluginAIInspirationListSourcesArgs = z64.object({
3737
- includeGenerated: z64.boolean().optional(),
3738
- includeSourceUrl: z64.boolean().optional()
3739
- });
3740
- var PluginAIInspirationListSourcesResult = z64.object({
3741
- sources: z64.array(PluginAIInspirationShapeRef)
3742
- });
3743
- var PluginAIInspirationOutput = z64.object({
3744
- outputType: z64.enum(["image", "video"]),
3745
- shapeId: z64.string(),
3746
- assetId: z64.string(),
3747
- outputUrl: z64.string().optional(),
4156
+ sourceUrl: z65.string().optional()
4157
+ });
4158
+ var PluginAIInspirationListSourcesArgs = z65.object({
4159
+ includeGenerated: z65.boolean().optional(),
4160
+ includeSourceUrl: z65.boolean().optional()
4161
+ });
4162
+ var PluginAIInspirationListSourcesResult = z65.object({
4163
+ sources: z65.array(PluginAIInspirationShapeRef)
4164
+ });
4165
+ var PluginAIInspirationGetSelectionResult = z65.object({
4166
+ selectedShapeIds: z65.array(z65.string()),
4167
+ sources: z65.array(PluginAIInspirationShapeRef)
4168
+ });
4169
+ var PluginAIInspirationPresetReferenceImage = z65.object({
4170
+ url: z65.string(),
4171
+ label: z65.string().optional(),
4172
+ weight: z65.number().finite().optional()
4173
+ });
4174
+ var PluginAIInspirationPreset = z65.object({
4175
+ id: z65.string(),
4176
+ name: z65.string(),
4177
+ source: z65.enum(["curated", "user"]),
4178
+ modelId: z65.string(),
4179
+ categoryId: z65.string().optional(),
4180
+ categoryLabel: z65.string().optional(),
4181
+ description: z65.string().optional(),
4182
+ previewImageUrl: z65.string().optional(),
4183
+ prompt: z65.string().optional(),
4184
+ stylePrompt: z65.string().optional(),
4185
+ tags: z65.array(z65.string()).optional(),
4186
+ referenceImages: z65.array(PluginAIInspirationPresetReferenceImage).optional(),
4187
+ siteDefaults: PluginAIInspirationAppliedPreset.shape.siteDefaults.optional()
4188
+ });
4189
+ var PluginAIInspirationPresetCategory = z65.object({
4190
+ id: z65.string(),
4191
+ label: z65.string(),
4192
+ description: z65.string().optional()
4193
+ });
4194
+ var PluginAIInspirationGetPresetCatalogResult = z65.object({
4195
+ categories: z65.array(PluginAIInspirationPresetCategory),
4196
+ presets: z65.array(PluginAIInspirationPreset)
4197
+ });
4198
+ var PluginAIInspirationOutput = z65.object({
4199
+ outputType: z65.enum(["image", "video"]),
4200
+ shapeId: z65.string(),
4201
+ assetId: z65.string(),
4202
+ outputUrl: z65.string().optional(),
3748
4203
  position: PluginAIInspirationPoint.optional()
3749
4204
  });
3750
- var PluginAIInspirationDebugSummary = z64.record(z64.string(), JsonValue);
3751
- var PluginAIInspirationRunMetadata = z64.object({
3752
- geometryFidelity: z64.string().optional(),
4205
+ var PluginAIInspirationDebugSummary = z65.record(z65.string(), JsonValue);
4206
+ var PluginAIInspirationRunMetadata = z65.object({
4207
+ geometryFidelity: z65.string().optional(),
3753
4208
  debugSummary: PluginAIInspirationDebugSummary.optional(),
3754
- streetViewComposite: z64.object({
3755
- used: z64.boolean(),
3756
- renderMode: z64.enum(["prompt_refs_default", "masked_composite_pilot"]),
3757
- backgroundLabel: z64.string().optional()
4209
+ streetViewComposite: z65.object({
4210
+ used: z65.boolean(),
4211
+ renderMode: z65.enum(["prompt_refs_default", "masked_composite_pilot"]),
4212
+ backgroundLabel: z65.string().optional()
3758
4213
  }).optional()
3759
4214
  });
3760
- var PluginAIInspirationGenerateArgs = z64.object({
3761
- sourceShapeId: z64.string().min(1),
3762
- prompt: z64.string().min(1).max(8e3),
3763
- modelId: z64.string().optional(),
3764
- referenceShapeIds: z64.array(z64.string()).max(12).optional(),
3765
- referenceStrength: z64.enum(["low", "medium", "high"]).optional(),
4215
+ var PluginAIInspirationGenerateArgs = z65.object({
4216
+ sourceShapeId: z65.string().min(1),
4217
+ prompt: z65.string().min(1).max(8e3),
4218
+ modelId: z65.string().optional(),
4219
+ referenceShapeIds: z65.array(z65.string()).max(12).optional(),
4220
+ referenceStrength: z65.enum(["low", "medium", "high"]).optional(),
3766
4221
  appliedPreset: PluginAIInspirationAppliedPreset.optional(),
3767
4222
  site: PluginAIInspirationSiteOptions.optional(),
3768
4223
  regionHint: PluginAIInspirationRegionHint.optional(),
3769
4224
  sketchGuidance: PluginAIInspirationSketchGuidance.optional(),
3770
- video: PluginAIInspirationVideoOptions.optional()
4225
+ video: PluginAIInspirationVideoOptions.optional(),
4226
+ runMode: PluginAIInspirationRunMode.optional()
3771
4227
  });
3772
- var PluginAIInspirationRunResult = z64.object({
3773
- outputs: z64.array(PluginAIInspirationOutput).min(1),
4228
+ var PluginAIInspirationRunResult = z65.object({
4229
+ jobId: z65.string().optional(),
4230
+ output: PluginAIInspirationOutput.optional(),
4231
+ outputs: z65.array(PluginAIInspirationOutput).optional(),
3774
4232
  metadata: PluginAIInspirationRunMetadata.optional()
3775
4233
  });
3776
- var PluginAIInspirationRefineArgs = z64.object({
3777
- sourceShapeId: z64.string().min(1),
3778
- upscaleFactor: z64.union([z64.literal(1.5), z64.literal(2), z64.literal(4)]).optional()
4234
+ var PluginAIInspirationRefineArgs = z65.object({
4235
+ sourceShapeId: z65.string().min(1),
4236
+ upscaleFactor: z65.union([z65.literal(1.5), z65.literal(2), z65.literal(4)]).optional(),
4237
+ runMode: PluginAIInspirationRunMode.optional()
4238
+ });
4239
+ var PluginAIInspirationJobProgress = z65.object({
4240
+ currentStep: z65.number().int().nonnegative().optional(),
4241
+ totalSteps: z65.number().int().nonnegative().optional(),
4242
+ message: z65.string().optional()
4243
+ });
4244
+ var PluginAIInspirationJob = z65.object({
4245
+ jobId: z65.string(),
4246
+ status: PluginAIInspirationJobStatus,
4247
+ createdAt: z65.number(),
4248
+ updatedAt: z65.number(),
4249
+ completedAt: z65.number().optional(),
4250
+ method: z65.string(),
4251
+ progress: PluginAIInspirationJobProgress.optional(),
4252
+ result: PluginAIInspirationRunResult.optional(),
4253
+ error: z65.string().optional()
4254
+ });
4255
+ var PluginAIInspirationJobArgs = z65.object({
4256
+ jobId: z65.string().min(1)
4257
+ });
4258
+ var PluginAIInspirationGetJobResult = z65.object({
4259
+ job: PluginAIInspirationJob
4260
+ });
4261
+ var PluginAIInspirationCancelJobResult = z65.object({
4262
+ job: PluginAIInspirationJob
4263
+ });
4264
+ var PluginAIInspirationListJobsResult = z65.object({
4265
+ jobs: z65.array(PluginAIInspirationJob)
4266
+ });
4267
+ var PluginAIInspirationWorkflowVideoConfig = z65.object({
4268
+ mode: z65.string().optional(),
4269
+ motion: z65.string().optional(),
4270
+ duration: z65.string().optional(),
4271
+ endFrameShapeId: z65.string().optional()
4272
+ });
4273
+ var PluginAIInspirationGenerationInputSnapshot = z65.object({
4274
+ version: z65.literal(1),
4275
+ meta: z65.record(z65.string(), JsonValue),
4276
+ regionHint: PluginAIInspirationRegionHint.optional(),
4277
+ sketchGuidance: z65.record(z65.string(), JsonValue).optional(),
4278
+ sourceCameraHeading: z65.number().finite().optional()
4279
+ });
4280
+ var PluginAIInspirationWorkflowOperation = z65.object({
4281
+ type: z65.enum(["generate-image", "refine", "generate-video"]),
4282
+ label: z65.string(),
4283
+ prompt: z65.string().optional(),
4284
+ modelId: z65.string().optional(),
4285
+ presetId: z65.string().optional(),
4286
+ presetName: z65.string().optional(),
4287
+ refineFactor: z65.number().finite().optional(),
4288
+ sourceRole: z65.enum(["primary", "end-frame"]).optional(),
4289
+ video: PluginAIInspirationWorkflowVideoConfig.optional(),
4290
+ generationInput: PluginAIInspirationGenerationInputSnapshot.optional()
4291
+ });
4292
+ var PluginAIInspirationWorkflowNode = z65.object({
4293
+ id: z65.string(),
4294
+ shapeId: z65.string(),
4295
+ assetId: z65.string().optional(),
4296
+ kind: PluginAIInspirationOutputKind,
4297
+ state: z65.string(),
4298
+ runState: PluginAIInspirationWorkflowRunState.optional(),
4299
+ staleReason: z65.string().optional(),
4300
+ incomingEdgeIds: z65.array(z65.string()),
4301
+ outgoingEdgeIds: z65.array(z65.string()),
4302
+ createdAt: z65.number(),
4303
+ updatedAt: z65.number()
4304
+ });
4305
+ var PluginAIInspirationWorkflowEdge = z65.object({
4306
+ id: z65.string(),
4307
+ sourceNodeId: z65.string(),
4308
+ targetNodeId: z65.string(),
4309
+ arrowShapeId: z65.string().optional(),
4310
+ operation: PluginAIInspirationWorkflowOperation,
4311
+ state: z65.string(),
4312
+ runState: PluginAIInspirationWorkflowRunState.optional(),
4313
+ staleReason: z65.string().optional(),
4314
+ supersededByEdgeId: z65.string().optional(),
4315
+ createdAt: z65.number(),
4316
+ updatedAt: z65.number()
4317
+ });
4318
+ var PluginAIInspirationWorkflow = z65.object({
4319
+ id: z65.string(),
4320
+ rootNodeIds: z65.array(z65.string()),
4321
+ nodeIds: z65.array(z65.string()),
4322
+ edgeIds: z65.array(z65.string()),
4323
+ nodes: z65.record(z65.string(), PluginAIInspirationWorkflowNode),
4324
+ edges: z65.record(z65.string(), PluginAIInspirationWorkflowEdge),
4325
+ createdAt: z65.number(),
4326
+ updatedAt: z65.number()
4327
+ });
4328
+ var PluginAIInspirationGetWorkflowForShapeArgs = z65.object({
4329
+ shapeId: z65.string().min(1)
4330
+ });
4331
+ var PluginAIInspirationGetWorkflowForShapeResult = z65.object({
4332
+ workflow: PluginAIInspirationWorkflow.nullable(),
4333
+ node: PluginAIInspirationWorkflowNode.nullable()
4334
+ });
4335
+ var PluginAIInspirationRerunPlanResult = z65.discriminatedUnion(
4336
+ "status",
4337
+ [
4338
+ z65.object({
4339
+ status: z65.literal("ready"),
4340
+ workflowId: z65.string(),
4341
+ sourceNode: PluginAIInspirationWorkflowNode,
4342
+ edgeIds: z65.array(z65.string()),
4343
+ edges: z65.array(PluginAIInspirationWorkflowEdge),
4344
+ recipe: z65.lazy(() => PluginAIInspirationRecipe),
4345
+ needsEndFrame: z65.boolean(),
4346
+ defaultEndFrameShapeId: z65.string().nullable()
4347
+ }),
4348
+ z65.object({
4349
+ status: z65.literal("unavailable"),
4350
+ reason: z65.enum([
4351
+ "not-in-workflow",
4352
+ "source-only",
4353
+ "running",
4354
+ "missing-input"
4355
+ ])
4356
+ })
4357
+ ]
4358
+ );
4359
+ var PluginAIInspirationRerunSelectedBranchArgs = z65.object({
4360
+ shapeId: z65.string().min(1),
4361
+ endFrameShapeId: z65.string().optional(),
4362
+ runMode: PluginAIInspirationRunMode.optional()
4363
+ });
4364
+ var PluginAIInspirationRecipeSlot = z65.object({
4365
+ id: z65.string(),
4366
+ type: z65.enum(["source-image", "end-frame"]),
4367
+ label: z65.string(),
4368
+ required: z65.boolean()
4369
+ });
4370
+ var PluginAIInspirationRecipeStep = z65.object({
4371
+ id: z65.string(),
4372
+ operation: PluginAIInspirationWorkflowOperation,
4373
+ outputKind: z65.enum(["image", "video"])
4374
+ });
4375
+ var PluginAIInspirationRecipeDraft = z65.object({
4376
+ name: z65.string(),
4377
+ summary: z65.string(),
4378
+ slots: z65.array(PluginAIInspirationRecipeSlot),
4379
+ steps: z65.array(PluginAIInspirationRecipeStep).min(1).max(20),
4380
+ outputKind: z65.enum(["image", "video"]),
4381
+ thumbnailUrl: z65.string().optional()
4382
+ });
4383
+ var PluginAIInspirationRecipe = PluginAIInspirationRecipeDraft.extend({
4384
+ version: z65.literal(1),
4385
+ id: z65.string(),
4386
+ fingerprint: z65.string().optional(),
4387
+ createdAt: z65.number(),
4388
+ updatedAt: z65.number()
4389
+ });
4390
+ var PluginAIInspirationExtractionResult = z65.discriminatedUnion(
4391
+ "status",
4392
+ [
4393
+ z65.object({
4394
+ status: z65.literal("ready"),
4395
+ draft: PluginAIInspirationRecipeDraft
4396
+ }),
4397
+ z65.object({
4398
+ status: z65.literal("unavailable"),
4399
+ reason: z65.enum([
4400
+ "not-in-workflow",
4401
+ "source-only",
4402
+ "missing-workflow",
4403
+ "missing-node",
4404
+ "missing-input",
4405
+ "invalid-workflow"
4406
+ ])
4407
+ })
4408
+ ]
4409
+ );
4410
+ var PluginAIInspirationListRecipesResult = z65.object({
4411
+ recipes: z65.array(PluginAIInspirationRecipe)
4412
+ });
4413
+ var PluginAIInspirationSaveRecipeArgs = z65.object({
4414
+ draft: PluginAIInspirationRecipeDraft,
4415
+ name: z65.string().min(1)
4416
+ });
4417
+ var PluginAIInspirationSaveRecipeResult = z65.discriminatedUnion(
4418
+ "status",
4419
+ [
4420
+ z65.object({ status: z65.literal("saved"), recipe: PluginAIInspirationRecipe }),
4421
+ z65.object({
4422
+ status: z65.literal("duplicate"),
4423
+ recipe: PluginAIInspirationRecipe
4424
+ }),
4425
+ z65.object({ status: z65.literal("invalid-name"), recipe: z65.null() }),
4426
+ z65.object({ status: z65.literal("failed"), recipe: z65.null() })
4427
+ ]
4428
+ );
4429
+ var PluginAIInspirationDeleteRecipeArgs = z65.object({
4430
+ recipeId: z65.string().min(1)
4431
+ });
4432
+ var PluginAIInspirationDeleteRecipeResult = z65.object({
4433
+ deleted: z65.boolean()
4434
+ });
4435
+ var PluginAIInspirationExtractRecipeFromShapeArgs = z65.object({
4436
+ shapeId: z65.string().min(1)
4437
+ });
4438
+ var PluginAIInspirationRunRecipeArgs = z65.object({
4439
+ recipeId: z65.string().optional(),
4440
+ recipe: PluginAIInspirationRecipe.optional(),
4441
+ slotShapeIds: z65.record(z65.string(), z65.string()),
4442
+ runMode: PluginAIInspirationRunMode.optional()
3779
4443
  });
3780
4444
  var PluginPresentationAIInspirationApi = class {
3781
4445
  constructor() {
@@ -3795,38 +4459,38 @@ var PluginAnalysisSunpathApi = class {
3795
4459
  };
3796
4460
 
3797
4461
  // src/api/analysis/shadows.ts
3798
- var z65 = __toESM(require("zod"), 1);
4462
+ var z66 = __toESM(require("zod"), 1);
3799
4463
  var PluginAnalysisShadowsApi = class {
3800
4464
  constructor() {
3801
4465
  }
3802
4466
  };
3803
- var PluginAnalysisShadowsEnableOptions = z65.object({
3804
- dateTime: z65.string().optional()
4467
+ var PluginAnalysisShadowsEnableOptions = z66.object({
4468
+ dateTime: z66.string().optional()
3805
4469
  });
3806
- var PluginAnalysisShadowsSetDateTimeArgs = z65.object({
3807
- dateTime: z65.string()
4470
+ var PluginAnalysisShadowsSetDateTimeArgs = z66.object({
4471
+ dateTime: z66.string()
3808
4472
  });
3809
- var PluginAnalysisShadowsDateTimeResult = z65.string();
4473
+ var PluginAnalysisShadowsDateTimeResult = z66.string();
3810
4474
 
3811
4475
  // src/api/analysis/sunlightHours.ts
3812
- var z66 = __toESM(require("zod"), 1);
4476
+ var z67 = __toESM(require("zod"), 1);
3813
4477
  var PluginAnalysisSunlightHoursApi = class {
3814
4478
  constructor() {
3815
4479
  }
3816
4480
  };
3817
- var PluginAnalysisComputeResult = z66.object({
3818
- success: z66.boolean(),
3819
- error: z66.string().optional()
4481
+ var PluginAnalysisComputeResult = z67.object({
4482
+ success: z67.boolean(),
4483
+ error: z67.string().optional()
3820
4484
  });
3821
- var PluginAnalysisJobStatus = z66.enum([
4485
+ var PluginAnalysisJobStatus = z67.enum([
3822
4486
  "running",
3823
4487
  "active",
3824
4488
  "inactive"
3825
4489
  ]);
3826
- var PluginAnalysisJobState = z66.object({
4490
+ var PluginAnalysisJobState = z67.object({
3827
4491
  status: PluginAnalysisJobStatus,
3828
- startDate: z66.string(),
3829
- endDate: z66.string()
4492
+ startDate: z67.string(),
4493
+ endDate: z67.string()
3830
4494
  });
3831
4495
  var PluginAnalysisJobStateResult = PluginAnalysisJobState.nullable();
3832
4496
 
@@ -3837,28 +4501,28 @@ var PluginAnalysisIlluminanceApi = class {
3837
4501
  };
3838
4502
 
3839
4503
  // src/api/analysis/heatmaps.ts
3840
- var z67 = __toESM(require("zod"), 1);
4504
+ var z68 = __toESM(require("zod"), 1);
3841
4505
  var PluginAnalysisHeatmapsApi = class {
3842
4506
  constructor() {
3843
4507
  }
3844
4508
  };
3845
- var PluginAnalysisHeatmapSpaceEntry = z67.object({
4509
+ var PluginAnalysisHeatmapSpaceEntry = z68.object({
3846
4510
  space: ComponentHandle,
3847
- value: z67.number().finite()
4511
+ value: z68.number().finite()
3848
4512
  });
3849
- var PluginAnalysisHeatmapGridCell = z67.object({
4513
+ var PluginAnalysisHeatmapGridCell = z68.object({
3850
4514
  position: Vec3Components,
3851
- value: z67.number().finite()
4515
+ value: z68.number().finite()
3852
4516
  });
3853
- var PluginAnalysisHeatmapOptions = z67.object({
3854
- title: z67.string().optional(),
3855
- unit: z67.string().optional(),
3856
- min: z67.number().finite().optional(),
3857
- max: z67.number().finite().optional(),
3858
- colors: z67.array(z67.string().regex(/^#?[0-9a-fA-F]{6}$/, 'expected a 6-digit hex colour like "#0000ff"')).min(1).optional()
4517
+ var PluginAnalysisHeatmapOptions = z68.object({
4518
+ title: z68.string().optional(),
4519
+ unit: z68.string().optional(),
4520
+ min: z68.number().finite().optional(),
4521
+ max: z68.number().finite().optional(),
4522
+ colors: z68.array(z68.string().regex(/^#?[0-9a-fA-F]{6}$/, 'expected a 6-digit hex colour like "#0000ff"')).min(1).optional()
3859
4523
  });
3860
- var PluginAnalysisHeatmapsRenderResult = z67.object({
3861
- success: z67.literal(true)
4524
+ var PluginAnalysisHeatmapsRenderResult = z68.object({
4525
+ success: z68.literal(true)
3862
4526
  });
3863
4527
 
3864
4528
  // src/api/analysis/index.ts
@@ -3872,6 +4536,186 @@ var PluginApi = class {
3872
4536
  constructor() {
3873
4537
  }
3874
4538
  };
4539
+
4540
+ // src/errors/codes.ts
4541
+ var PLUGIN_ERROR_CODES = [
4542
+ "VALIDATION",
4543
+ "INVALID_RPC_FORMAT",
4544
+ "METHOD_NOT_FOUND",
4545
+ "METHOD_NOT_PERMITTED",
4546
+ "HANDLE_INVALID",
4547
+ "HANDLE_KIND_MISMATCH",
4548
+ "RESOURCE_QUOTA_EXCEEDED",
4549
+ "RATE_LIMITED",
4550
+ "PRECONDITION_FAILED",
4551
+ "OPERATION_FAILED",
4552
+ "TIMEOUT",
4553
+ "CALL_TIMEOUT",
4554
+ "TRANSPORT_LOST",
4555
+ "PLUGIN_NOT_READY",
4556
+ "PLUGIN_TERMINATED",
4557
+ "RESULT_NOT_SERIALIZABLE",
4558
+ "RESULT_TOO_LARGE",
4559
+ "BATCH_PARTIAL",
4560
+ "STORY_UPDATE_FAILED",
4561
+ "STORY_HEIGHT_REJECTED",
4562
+ "NO_ACTIVE_STRUCTURE",
4563
+ "NO_ELIGIBLE_ELEMENTS",
4564
+ "PROPOSAL_SWITCH_BLOCKED",
4565
+ "INTERNAL",
4566
+ "UNKNOWN"
4567
+ ];
4568
+ var CODE_META = {
4569
+ VALIDATION: {
4570
+ category: "validation",
4571
+ hintTemplate: "Check details.issues for the failing argument."
4572
+ },
4573
+ INVALID_RPC_FORMAT: { category: "validation" },
4574
+ METHOD_NOT_FOUND: {
4575
+ category: "not_found",
4576
+ hintTemplate: "Check details.didYouMean for a close match."
4577
+ },
4578
+ METHOD_NOT_PERMITTED: { category: "permission" },
4579
+ HANDLE_INVALID: {
4580
+ category: "handle",
4581
+ hintTemplate: "Re-query the entity; do not cache handles across undo/reload."
4582
+ },
4583
+ HANDLE_KIND_MISMATCH: { category: "handle" },
4584
+ RESOURCE_QUOTA_EXCEEDED: {
4585
+ category: "quota",
4586
+ hintTemplate: "Release unused handles (core.handles.release) or use scopes."
4587
+ },
4588
+ RATE_LIMITED: {
4589
+ category: "quota",
4590
+ hintTemplate: "Wait details.retryAfterMs before retrying."
4591
+ },
4592
+ PRECONDITION_FAILED: { category: "execution" },
4593
+ OPERATION_FAILED: { category: "execution" },
4594
+ TIMEOUT: { category: "timeout" },
4595
+ CALL_TIMEOUT: { category: "timeout" },
4596
+ TRANSPORT_LOST: { category: "transport" },
4597
+ PLUGIN_NOT_READY: { category: "lifecycle" },
4598
+ PLUGIN_TERMINATED: { category: "lifecycle" },
4599
+ RESULT_NOT_SERIALIZABLE: { category: "execution" },
4600
+ RESULT_TOO_LARGE: { category: "execution" },
4601
+ BATCH_PARTIAL: { category: "execution" },
4602
+ STORY_UPDATE_FAILED: {
4603
+ category: "execution",
4604
+ hintTemplate: "The storey update could not be applied; re-read the storey and retry."
4605
+ },
4606
+ STORY_HEIGHT_REJECTED: {
4607
+ category: "execution",
4608
+ hintTemplate: "The requested height was out of range; pick a value within the storey's limits."
4609
+ },
4610
+ NO_ACTIVE_STRUCTURE: {
4611
+ category: "execution",
4612
+ hintTemplate: "Activate a structure before running this operation."
4613
+ },
4614
+ NO_ELIGIBLE_ELEMENTS: {
4615
+ category: "execution",
4616
+ hintTemplate: "The storey has no elements eligible for this operation."
4617
+ },
4618
+ PROPOSAL_SWITCH_BLOCKED: {
4619
+ category: "execution",
4620
+ hintTemplate: "Wait for the in-canvas agent run to finish, then retry."
4621
+ },
4622
+ INTERNAL: {
4623
+ category: "internal",
4624
+ hintTemplate: "Host-side fault. Report with errorId."
4625
+ },
4626
+ UNKNOWN: { category: "internal" }
4627
+ };
4628
+ function isPluginErrorCode(value) {
4629
+ return PLUGIN_ERROR_CODES.includes(value);
4630
+ }
4631
+
4632
+ // src/errors/envelope.ts
4633
+ var ERROR_ENVELOPE_VERSION = 1;
4634
+ function isErrorEnvelope(value) {
4635
+ if (typeof value !== "object" || value === null) return false;
4636
+ const record5 = value;
4637
+ return record5.envelopeVersion === ERROR_ENVELOPE_VERSION && typeof record5.code === "string" && typeof record5.message === "string" && typeof record5.errorId === "string";
4638
+ }
4639
+ var idCounter = 0;
4640
+ function newErrorId(prefix = "") {
4641
+ const cryptoApi = globalThis.crypto;
4642
+ if (cryptoApi?.randomUUID) return `${prefix}${cryptoApi.randomUUID()}`;
4643
+ idCounter += 1;
4644
+ return `${prefix}${Date.now().toString(36)}-${idCounter}-${Math.random().toString(36).slice(2, 10)}`;
4645
+ }
4646
+
4647
+ // src/errors/plugin-error.ts
4648
+ var BRAND = /* @__PURE__ */ Symbol.for("snaptrude.pluginError");
4649
+ var PluginError = class extends Error {
4650
+ constructor(envelope) {
4651
+ super(envelope.message);
4652
+ this.name = new.target.name;
4653
+ this.code = envelope.code;
4654
+ this.errorId = envelope.errorId;
4655
+ this.details = envelope.details;
4656
+ this.handle = envelope.handle;
4657
+ this.methodPath = envelope.methodPath;
4658
+ this.hint = envelope.hint ?? hintFor(envelope.code);
4659
+ this[BRAND] = true;
4660
+ }
4661
+ /** Canonical check — survives bundled duplicate SDK copies where `instanceof` fails. */
4662
+ static is(value) {
4663
+ return typeof value === "object" && value !== null && value[BRAND] === true;
4664
+ }
4665
+ /** Derived (not wire-carried) family of the code; unknown codes map to "internal". */
4666
+ get category() {
4667
+ return isPluginErrorCode(this.code) ? CODE_META[this.code].category : "internal";
4668
+ }
4669
+ };
4670
+ var PluginValidationError = class extends PluginError {
4671
+ };
4672
+ var PluginNotFoundError = class extends PluginError {
4673
+ };
4674
+ var PluginPermissionError = class extends PluginError {
4675
+ };
4676
+ var PluginHandleError = class extends PluginError {
4677
+ };
4678
+ var PluginQuotaError = class extends PluginError {
4679
+ };
4680
+ var PluginTimeoutError = class extends PluginError {
4681
+ };
4682
+ var PluginTransportError = class extends PluginError {
4683
+ };
4684
+ var PluginLifecycleError = class extends PluginError {
4685
+ };
4686
+ var PluginExecutionError = class extends PluginError {
4687
+ };
4688
+ var PluginInternalError = class extends PluginError {
4689
+ };
4690
+ var CATEGORY_CLASS = {
4691
+ validation: PluginValidationError,
4692
+ not_found: PluginNotFoundError,
4693
+ permission: PluginPermissionError,
4694
+ handle: PluginHandleError,
4695
+ quota: PluginQuotaError,
4696
+ timeout: PluginTimeoutError,
4697
+ transport: PluginTransportError,
4698
+ lifecycle: PluginLifecycleError,
4699
+ execution: PluginExecutionError,
4700
+ internal: PluginInternalError
4701
+ };
4702
+ function hintFor(code) {
4703
+ return isPluginErrorCode(code) ? CODE_META[code].hintTemplate : void 0;
4704
+ }
4705
+ function fromEnvelope(envelope) {
4706
+ if (!isPluginErrorCode(envelope.code)) return new PluginError(envelope);
4707
+ const ErrorClass = CATEGORY_CLASS[CODE_META[envelope.code].category];
4708
+ return new ErrorClass(envelope);
4709
+ }
4710
+ function makeClientEnvelope(code, message, extra) {
4711
+ return {
4712
+ envelopeVersion: ERROR_ENVELOPE_VERSION,
4713
+ code,
4714
+ message,
4715
+ errorId: newErrorId("c-"),
4716
+ ...extra
4717
+ };
4718
+ }
3875
4719
  // Annotate the CommonJS export names for ESM import in node:
3876
4720
  0 && (module.exports = {
3877
4721
  ArcHandle,
@@ -3879,6 +4723,7 @@ var PluginApi = class {
3879
4723
  BooleanOptions,
3880
4724
  BooleanOutcome,
3881
4725
  BrepHandle,
4726
+ CODE_META,
3882
4727
  CadJsonInput,
3883
4728
  CircleHandle,
3884
4729
  CommentHandle,
@@ -3886,6 +4731,7 @@ var PluginApi = class {
3886
4731
  ContourHandle,
3887
4732
  CurveHandle,
3888
4733
  DEFAULT_ERASE_STRATEGIES,
4734
+ ERROR_ENVELOPE_VERSION,
3889
4735
  EdgeHandle,
3890
4736
  ErasableEdgeRef,
3891
4737
  EraseStrategy,
@@ -3899,22 +4745,58 @@ var PluginApi = class {
3899
4745
  MaterialHandle,
3900
4746
  ModelFormat,
3901
4747
  OffsetSplitOutcome,
4748
+ PLUGIN_ERROR_CODES,
3902
4749
  PUnitType,
3903
4750
  PluginAIInspirationAppliedPreset,
4751
+ PluginAIInspirationCancelJobResult,
3904
4752
  PluginAIInspirationDebugSummary,
4753
+ PluginAIInspirationDeleteRecipeArgs,
4754
+ PluginAIInspirationDeleteRecipeResult,
4755
+ PluginAIInspirationExtractRecipeFromShapeArgs,
4756
+ PluginAIInspirationExtractionResult,
3905
4757
  PluginAIInspirationGenerateArgs,
4758
+ PluginAIInspirationGenerationInputSnapshot,
4759
+ PluginAIInspirationGetJobResult,
4760
+ PluginAIInspirationGetModelCapabilitiesArgs,
4761
+ PluginAIInspirationGetModelCapabilitiesResult,
4762
+ PluginAIInspirationGetPresetCatalogResult,
4763
+ PluginAIInspirationGetSelectionResult,
4764
+ PluginAIInspirationGetWorkflowForShapeArgs,
4765
+ PluginAIInspirationGetWorkflowForShapeResult,
4766
+ PluginAIInspirationJob,
4767
+ PluginAIInspirationJobArgs,
4768
+ PluginAIInspirationJobProgress,
4769
+ PluginAIInspirationJobStatus,
4770
+ PluginAIInspirationListJobsResult,
3906
4771
  PluginAIInspirationListModelsResult,
4772
+ PluginAIInspirationListRecipesResult,
3907
4773
  PluginAIInspirationListSourcesArgs,
3908
4774
  PluginAIInspirationListSourcesResult,
3909
4775
  PluginAIInspirationModel,
4776
+ PluginAIInspirationModelCapability,
3910
4777
  PluginAIInspirationModelOutput,
3911
4778
  PluginAIInspirationOutput,
3912
4779
  PluginAIInspirationOutputKind,
3913
4780
  PluginAIInspirationPoint,
4781
+ PluginAIInspirationPreset,
4782
+ PluginAIInspirationPresetCategory,
4783
+ PluginAIInspirationPresetReferenceImage,
4784
+ PluginAIInspirationPromptStrategy,
4785
+ PluginAIInspirationRecipe,
4786
+ PluginAIInspirationRecipeDraft,
4787
+ PluginAIInspirationRecipeSlot,
4788
+ PluginAIInspirationRecipeStep,
3914
4789
  PluginAIInspirationRefineArgs,
3915
4790
  PluginAIInspirationRegionHint,
4791
+ PluginAIInspirationRerunPlanResult,
4792
+ PluginAIInspirationRerunSelectedBranchArgs,
3916
4793
  PluginAIInspirationRunMetadata,
4794
+ PluginAIInspirationRunMode,
4795
+ PluginAIInspirationRunRecipeArgs,
3917
4796
  PluginAIInspirationRunResult,
4797
+ PluginAIInspirationRuntimeProvider,
4798
+ PluginAIInspirationSaveRecipeArgs,
4799
+ PluginAIInspirationSaveRecipeResult,
3918
4800
  PluginAIInspirationShapeKind,
3919
4801
  PluginAIInspirationShapeRef,
3920
4802
  PluginAIInspirationSiteOptions,
@@ -3924,7 +4806,14 @@ var PluginApi = class {
3924
4806
  PluginAIInspirationVideoMode,
3925
4807
  PluginAIInspirationVideoMotion,
3926
4808
  PluginAIInspirationVideoOptions,
4809
+ PluginAIInspirationWorkflow,
4810
+ PluginAIInspirationWorkflowEdge,
4811
+ PluginAIInspirationWorkflowNode,
4812
+ PluginAIInspirationWorkflowOperation,
4813
+ PluginAIInspirationWorkflowRunState,
4814
+ PluginAIInspirationWorkflowVideoConfig,
3927
4815
  PluginAdjacencyLevel,
4816
+ PluginAlignEdge,
3928
4817
  PluginAnalysisApi,
3929
4818
  PluginAnalysisComputeResult,
3930
4819
  PluginAnalysisHeatmapGridCell,
@@ -4020,6 +4909,23 @@ var PluginApi = class {
4020
4909
  PluginCoreLayersSetActiveResult,
4021
4910
  PluginCoreLayersUpdateArgs,
4022
4911
  PluginCoreLayersUpdateResult,
4912
+ PluginCoreProposalRef,
4913
+ PluginCoreProposalsApi,
4914
+ PluginCoreProposalsCreateArgs,
4915
+ PluginCoreProposalsCreateResult,
4916
+ PluginCoreProposalsDeleteArgs,
4917
+ PluginCoreProposalsDeleteResult,
4918
+ PluginCoreProposalsGetActiveResult,
4919
+ PluginCoreProposalsGetArgs,
4920
+ PluginCoreProposalsGetResult,
4921
+ PluginCoreProposalsIsActiveArgs,
4922
+ PluginCoreProposalsListForComponentArgs,
4923
+ PluginCoreProposalsListForComponentResult,
4924
+ PluginCoreProposalsListResult,
4925
+ PluginCoreProposalsRenameArgs,
4926
+ PluginCoreProposalsRenameResult,
4927
+ PluginCoreProposalsSetActiveArgs,
4928
+ PluginCoreProposalsSetActiveResult,
4023
4929
  PluginCoreTag,
4024
4930
  PluginCoreTagCategory,
4025
4931
  PluginCoreTagsApi,
@@ -4052,6 +4958,7 @@ var PluginApi = class {
4052
4958
  PluginCoreTagsUpdateResult,
4053
4959
  PluginCreateSpaceItem,
4054
4960
  PluginDepartmentId,
4961
+ PluginDesignAlignArgs,
4055
4962
  PluginDesignApi,
4056
4963
  PluginDesignBooleanApi,
4057
4964
  PluginDesignBooleanIntersectArgs,
@@ -4063,6 +4970,7 @@ var PluginApi = class {
4063
4970
  PluginDesignCreateCeilingArgs,
4064
4971
  PluginDesignCreateColumnArgs,
4065
4972
  PluginDesignCreateCopyArgs,
4973
+ PluginDesignCreateDoorArgs,
4066
4974
  PluginDesignCreateFloorArgs,
4067
4975
  PluginDesignCreateFurnitureArgs,
4068
4976
  PluginDesignCreateMassArgs,
@@ -4072,9 +4980,13 @@ var PluginApi = class {
4072
4980
  PluginDesignCreateSpaceArgs,
4073
4981
  PluginDesignCreateStaircaseArgs,
4074
4982
  PluginDesignCreateWallsArgs,
4983
+ PluginDesignCreateWindowArgs,
4075
4984
  PluginDesignDeleteApi,
4076
4985
  PluginDesignDeleteEntitiesArgs,
4077
4986
  PluginDesignDoorArgs,
4987
+ PluginDesignDoorExistsArgs,
4988
+ PluginDesignDoorGetCatalogItemArgs,
4989
+ PluginDesignDoorListCatalogArgs,
4078
4990
  PluginDesignDoorMirrorArgs,
4079
4991
  PluginDesignDoorSetHeightArgs,
4080
4992
  PluginDesignDoorSetWidthArgs,
@@ -4087,16 +4999,22 @@ var PluginApi = class {
4087
4999
  PluginDesignFurnitureExistsArgs,
4088
5000
  PluginDesignFurnitureGetCatalogItemArgs,
4089
5001
  PluginDesignFurnitureListCatalogArgs,
5002
+ PluginDesignIsAreaLockedArgs,
4090
5003
  PluginDesignIsLockedArgs,
4091
5004
  PluginDesignListErasableEdgesArgs,
5005
+ PluginDesignLockAreaArgs,
4092
5006
  PluginDesignLockArgs,
4093
5007
  PluginDesignMaterialsApi,
4094
5008
  PluginDesignMaterialsApplyArgs,
5009
+ PluginDesignMaterialsApplyToFacesArgs,
4095
5010
  PluginDesignMaterialsComponentArgs,
4096
5011
  PluginDesignMaterialsCreateArgs,
5012
+ PluginDesignMaterialsGetByFaceArgs,
4097
5013
  PluginDesignMaterialsGetInfoArgs,
4098
5014
  PluginDesignMaterialsListArgs,
5015
+ PluginDesignMaterialsListByFaceArgs,
4099
5016
  PluginDesignMaterialsResetArgs,
5017
+ PluginDesignMaterialsResetFacesArgs,
4100
5018
  PluginDesignMoveArgs,
4101
5019
  PluginDesignOffsetSplitArgs,
4102
5020
  PluginDesignQueryApi,
@@ -4118,10 +5036,16 @@ var PluginApi = class {
4118
5036
  PluginDesignSelectionApi,
4119
5037
  PluginDesignSelectionRemoveArgs,
4120
5038
  PluginDesignSelectionSetArgs,
5039
+ PluginDesignSetLabelArgs,
4121
5040
  PluginDesignTransformApi,
5041
+ PluginDesignUnlockAreaArgs,
4122
5042
  PluginDesignUnlockArgs,
4123
5043
  PluginDesignUpdateApi,
5044
+ PluginDesignUpdateStaircaseArgs,
4124
5045
  PluginDesignWindowArgs,
5046
+ PluginDesignWindowExistsArgs,
5047
+ PluginDesignWindowGetCatalogItemArgs,
5048
+ PluginDesignWindowListCatalogArgs,
4125
5049
  PluginDesignWindowSetHeightArgs,
4126
5050
  PluginDesignWindowSetWidthArgs,
4127
5051
  PluginDesignWindowsApi,
@@ -4130,6 +5054,9 @@ var PluginApi = class {
4130
5054
  PluginEntityMeasurements,
4131
5055
  PluginEntityProperties,
4132
5056
  PluginEntityType,
5057
+ PluginError,
5058
+ PluginExecutionError,
5059
+ PluginFaceMaterial,
4133
5060
  PluginFurnitureCatalogItem,
4134
5061
  PluginGeomApi,
4135
5062
  PluginGeomCreateApi,
@@ -4307,6 +5234,7 @@ var PluginApi = class {
4307
5234
  PluginGeomUpdateProfileSimplifyArgs,
4308
5235
  PluginGridApi,
4309
5236
  PluginGridValueArgs,
5237
+ PluginHandleError,
4310
5238
  PluginHistoryApi,
4311
5239
  PluginHistoryStepArgs,
4312
5240
  PluginHistoryStepResult,
@@ -4317,12 +5245,18 @@ var PluginApi = class {
4317
5245
  PluginImportModelArgs,
4318
5246
  PluginImportPdfArgs,
4319
5247
  PluginImportTerrainArgs,
5248
+ PluginInternalError,
5249
+ PluginLifecycleError,
4320
5250
  PluginMassType,
4321
5251
  PluginMaterialInfo,
4322
5252
  PluginMaterialResult,
4323
5253
  PluginMaterialSpec,
4324
5254
  PluginMathApi,
4325
5255
  PluginMirrorAxis,
5256
+ PluginNotFoundError,
5257
+ PluginObjectCatalogGroup,
5258
+ PluginObjectCatalogItem,
5259
+ PluginPermissionError,
4326
5260
  PluginPresentationAIInspirationApi,
4327
5261
  PluginPresentationApi,
4328
5262
  PluginPresentationDiagramsApi,
@@ -4341,6 +5275,9 @@ var PluginApi = class {
4341
5275
  PluginPresentationSheetsPlaceArgs,
4342
5276
  PluginPresentationSheetsPlaceResult,
4343
5277
  PluginPresentationView,
5278
+ PluginPresentationViewColorMode,
5279
+ PluginPresentationViewLabel,
5280
+ PluginPresentationViewSettings,
4344
5281
  PluginPresentationViewType,
4345
5282
  PluginPresentationViewsApi,
4346
5283
  PluginPresentationViewsCaptureArgs,
@@ -4349,9 +5286,13 @@ var PluginApi = class {
4349
5286
  PluginPresentationViewsCreateResult,
4350
5287
  PluginPresentationViewsGetArgs,
4351
5288
  PluginPresentationViewsGetResult,
5289
+ PluginPresentationViewsGetSettingsArgs,
5290
+ PluginPresentationViewsGetSettingsResult,
4352
5291
  PluginPresentationViewsListResult,
4353
5292
  PluginPresentationViewsSetActiveArgs,
4354
5293
  PluginPresentationViewsSetActiveResult,
5294
+ PluginPresentationViewsUpdateSettingsArgs,
5295
+ PluginPresentationViewsUpdateSettingsResult,
4355
5296
  PluginProgramAdjacencyApi,
4356
5297
  PluginProgramAdjacencyComputeResult,
4357
5298
  PluginProgramAdjacencyGetMatrixArgs,
@@ -4400,7 +5341,11 @@ var PluginApi = class {
4400
5341
  PluginProgramDepartmentsUpdateArgs,
4401
5342
  PluginProgramDepartmentsUpdateResult,
4402
5343
  PluginProgramLayoutApi,
5344
+ PluginProgramLayoutJobState,
5345
+ PluginProgramLayoutJobStatus,
5346
+ PluginProgramLayoutRunArgs,
4403
5347
  PluginProgramLayoutRunResult,
5348
+ PluginProgramLayoutStateResult,
4404
5349
  PluginProgramMetricsApi,
4405
5350
  PluginProgramMetricsSummary,
4406
5351
  PluginProgramSiteApi,
@@ -4465,6 +5410,7 @@ var PluginApi = class {
4465
5410
  PluginQuatApi,
4466
5411
  PluginQueryCadLayersArgs,
4467
5412
  PluginQueryPdfPageCountArgs,
5413
+ PluginQuotaError,
4468
5414
  PluginReferenceLineApi,
4469
5415
  PluginReferenceLineCreateMultiArgs,
4470
5416
  PluginReferenceLineCreateMultiResult,
@@ -4484,6 +5430,8 @@ var PluginApi = class {
4484
5430
  PluginSiteLatLng,
4485
5431
  PluginSitePolygon,
4486
5432
  PluginSlabType,
5433
+ PluginSmartLayoutArgs,
5434
+ PluginSmartLayoutResult,
4487
5435
  PluginSnapValueArgs,
4488
5436
  PluginSnapsApi,
4489
5437
  PluginSpaceBulkCreateArgs,
@@ -4540,10 +5488,14 @@ var PluginApi = class {
4540
5488
  PluginSpreadsheetTransactionOp,
4541
5489
  PluginSpreadsheetVerticalAlign,
4542
5490
  PluginSpreadsheetWhenExists,
5491
+ PluginStaircaseParamUpdates,
5492
+ PluginStaircaseParams,
4543
5493
  PluginStaircasePreset,
4544
5494
  PluginStoryApi,
4545
5495
  PluginStoryCreateArgs,
4546
5496
  PluginStoryCreateResult,
5497
+ PluginStoryDuplicateArgs,
5498
+ PluginStoryDuplicateResult,
4547
5499
  PluginStoryGetAllResult,
4548
5500
  PluginStoryGetArgs,
4549
5501
  PluginStoryGetProperty,
@@ -4552,7 +5504,9 @@ var PluginApi = class {
4552
5504
  PluginStoryUpdateResult,
4553
5505
  PluginTerrainSetDatumArgs,
4554
5506
  PluginTerrainSetOpacityArgs,
5507
+ PluginTimeoutError,
4555
5508
  PluginToleranceArgs,
5509
+ PluginTransportError,
4556
5510
  PluginUnderlayListArgs,
4557
5511
  PluginUnderlayPlanSize,
4558
5512
  PluginUnderlayRefArgs,
@@ -4563,6 +5517,7 @@ var PluginApi = class {
4563
5517
  PluginUnitsConvertArgs,
4564
5518
  PluginUnitsSetTypeArgs,
4565
5519
  PluginUpdateSpaceItem,
5520
+ PluginValidationError,
4566
5521
  PluginVec3Api,
4567
5522
  PluginWellKnownDepartmentId,
4568
5523
  PluginWindowDimensions,
@@ -4576,6 +5531,11 @@ var PluginApi = class {
4576
5531
  Vec3Components,
4577
5532
  Vec3Handle,
4578
5533
  VertexHandle,
4579
- handleSchema
5534
+ fromEnvelope,
5535
+ handleSchema,
5536
+ isErrorEnvelope,
5537
+ isPluginErrorCode,
5538
+ makeClientEnvelope,
5539
+ newErrorId
4580
5540
  });
4581
5541
  //# sourceMappingURL=index.cjs.map