@snaptrude/plugin-core 0.2.7 → 0.2.9

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.
package/dist/index.cjs CHANGED
@@ -37,8 +37,74 @@ __export(index_exports, {
37
37
  PQuat: () => PQuat,
38
38
  PUnitType: () => PUnitType,
39
39
  PVec3: () => PVec3,
40
+ PluginAIInspirationAppliedPreset: () => PluginAIInspirationAppliedPreset,
41
+ PluginAIInspirationCancelJobResult: () => PluginAIInspirationCancelJobResult,
42
+ PluginAIInspirationDebugSummary: () => PluginAIInspirationDebugSummary,
43
+ PluginAIInspirationDeleteRecipeArgs: () => PluginAIInspirationDeleteRecipeArgs,
44
+ PluginAIInspirationDeleteRecipeResult: () => PluginAIInspirationDeleteRecipeResult,
45
+ PluginAIInspirationExtractRecipeFromShapeArgs: () => PluginAIInspirationExtractRecipeFromShapeArgs,
46
+ PluginAIInspirationExtractionResult: () => PluginAIInspirationExtractionResult,
47
+ PluginAIInspirationGenerateArgs: () => PluginAIInspirationGenerateArgs,
48
+ PluginAIInspirationGenerationInputSnapshot: () => PluginAIInspirationGenerationInputSnapshot,
49
+ PluginAIInspirationGetJobResult: () => PluginAIInspirationGetJobResult,
50
+ PluginAIInspirationGetModelCapabilitiesArgs: () => PluginAIInspirationGetModelCapabilitiesArgs,
51
+ PluginAIInspirationGetModelCapabilitiesResult: () => PluginAIInspirationGetModelCapabilitiesResult,
52
+ PluginAIInspirationGetPresetCatalogResult: () => PluginAIInspirationGetPresetCatalogResult,
53
+ PluginAIInspirationGetSelectionResult: () => PluginAIInspirationGetSelectionResult,
54
+ PluginAIInspirationGetWorkflowForShapeArgs: () => PluginAIInspirationGetWorkflowForShapeArgs,
55
+ PluginAIInspirationGetWorkflowForShapeResult: () => PluginAIInspirationGetWorkflowForShapeResult,
56
+ PluginAIInspirationJob: () => PluginAIInspirationJob,
57
+ PluginAIInspirationJobArgs: () => PluginAIInspirationJobArgs,
58
+ PluginAIInspirationJobProgress: () => PluginAIInspirationJobProgress,
59
+ PluginAIInspirationJobStatus: () => PluginAIInspirationJobStatus,
60
+ PluginAIInspirationListJobsResult: () => PluginAIInspirationListJobsResult,
61
+ PluginAIInspirationListModelsResult: () => PluginAIInspirationListModelsResult,
62
+ PluginAIInspirationListRecipesResult: () => PluginAIInspirationListRecipesResult,
63
+ PluginAIInspirationListSourcesArgs: () => PluginAIInspirationListSourcesArgs,
64
+ PluginAIInspirationListSourcesResult: () => PluginAIInspirationListSourcesResult,
65
+ PluginAIInspirationModel: () => PluginAIInspirationModel,
66
+ PluginAIInspirationModelCapability: () => PluginAIInspirationModelCapability,
67
+ PluginAIInspirationModelOutput: () => PluginAIInspirationModelOutput,
68
+ PluginAIInspirationOutput: () => PluginAIInspirationOutput,
69
+ PluginAIInspirationOutputKind: () => PluginAIInspirationOutputKind,
70
+ PluginAIInspirationPoint: () => PluginAIInspirationPoint,
71
+ PluginAIInspirationPreset: () => PluginAIInspirationPreset,
72
+ PluginAIInspirationPresetCategory: () => PluginAIInspirationPresetCategory,
73
+ PluginAIInspirationPresetReferenceImage: () => PluginAIInspirationPresetReferenceImage,
74
+ PluginAIInspirationPromptStrategy: () => PluginAIInspirationPromptStrategy,
75
+ PluginAIInspirationRecipe: () => PluginAIInspirationRecipe,
76
+ PluginAIInspirationRecipeDraft: () => PluginAIInspirationRecipeDraft,
77
+ PluginAIInspirationRecipeSlot: () => PluginAIInspirationRecipeSlot,
78
+ PluginAIInspirationRecipeStep: () => PluginAIInspirationRecipeStep,
79
+ PluginAIInspirationRefineArgs: () => PluginAIInspirationRefineArgs,
80
+ PluginAIInspirationRegionHint: () => PluginAIInspirationRegionHint,
81
+ PluginAIInspirationRerunPlanResult: () => PluginAIInspirationRerunPlanResult,
82
+ PluginAIInspirationRerunSelectedBranchArgs: () => PluginAIInspirationRerunSelectedBranchArgs,
83
+ PluginAIInspirationRunMetadata: () => PluginAIInspirationRunMetadata,
84
+ PluginAIInspirationRunMode: () => PluginAIInspirationRunMode,
85
+ PluginAIInspirationRunRecipeArgs: () => PluginAIInspirationRunRecipeArgs,
86
+ PluginAIInspirationRunResult: () => PluginAIInspirationRunResult,
87
+ PluginAIInspirationRuntimeProvider: () => PluginAIInspirationRuntimeProvider,
88
+ PluginAIInspirationSaveRecipeArgs: () => PluginAIInspirationSaveRecipeArgs,
89
+ PluginAIInspirationSaveRecipeResult: () => PluginAIInspirationSaveRecipeResult,
90
+ PluginAIInspirationShapeKind: () => PluginAIInspirationShapeKind,
91
+ PluginAIInspirationShapeRef: () => PluginAIInspirationShapeRef,
92
+ PluginAIInspirationSiteOptions: () => PluginAIInspirationSiteOptions,
93
+ PluginAIInspirationSketchGuidance: () => PluginAIInspirationSketchGuidance,
94
+ PluginAIInspirationTextAnnotation: () => PluginAIInspirationTextAnnotation,
95
+ PluginAIInspirationVideoDuration: () => PluginAIInspirationVideoDuration,
96
+ PluginAIInspirationVideoMode: () => PluginAIInspirationVideoMode,
97
+ PluginAIInspirationVideoMotion: () => PluginAIInspirationVideoMotion,
98
+ PluginAIInspirationVideoOptions: () => PluginAIInspirationVideoOptions,
99
+ PluginAIInspirationWorkflow: () => PluginAIInspirationWorkflow,
100
+ PluginAIInspirationWorkflowEdge: () => PluginAIInspirationWorkflowEdge,
101
+ PluginAIInspirationWorkflowNode: () => PluginAIInspirationWorkflowNode,
102
+ PluginAIInspirationWorkflowOperation: () => PluginAIInspirationWorkflowOperation,
103
+ PluginAIInspirationWorkflowRunState: () => PluginAIInspirationWorkflowRunState,
104
+ PluginAIInspirationWorkflowVideoConfig: () => PluginAIInspirationWorkflowVideoConfig,
40
105
  PluginApi: () => PluginApi,
41
106
  PluginArcApi: () => PluginArcApi,
107
+ PluginAreaClass: () => PluginAreaClass,
42
108
  PluginBuildableEnvelopeApi: () => PluginBuildableEnvelopeApi,
43
109
  PluginBuildableEnvelopeCreateArgs: () => PluginBuildableEnvelopeCreateArgs,
44
110
  PluginBuildableEnvelopeCreateResult: () => PluginBuildableEnvelopeCreateResult,
@@ -58,6 +124,8 @@ __export(index_exports, {
58
124
  PluginDepartmentEntry: () => PluginDepartmentEntry,
59
125
  PluginDepartmentGetAllResult: () => PluginDepartmentGetAllResult,
60
126
  PluginDepartmentId: () => PluginDepartmentId,
127
+ PluginDocumentationAIInspirationApi: () => PluginDocumentationAIInspirationApi,
128
+ PluginDocumentationApi: () => PluginDocumentationApi,
61
129
  PluginEntityApi: () => PluginEntityApi,
62
130
  PluginGeomApi: () => PluginGeomApi,
63
131
  PluginLineApi: () => PluginLineApi,
@@ -143,8 +211,8 @@ var PluginVec3Api = class {
143
211
  * // { x: 1, y: 2, z: 3 }
144
212
  * ```
145
213
  */
146
- new(x, y, z17) {
147
- return { x, y, z: z17 };
214
+ new(x, y, z18) {
215
+ return { x, y, z: z18 };
148
216
  }
149
217
  /**
150
218
  * Add two vectors component-wise.
@@ -322,8 +390,8 @@ var PluginQuatApi = class {
322
390
  * @param w - The W (scalar) component
323
391
  * @returns A new {@linkcode PQuat}
324
392
  */
325
- new(x, y, z17, w) {
326
- return { x, y, z: z17, w };
393
+ new(x, y, z18, w) {
394
+ return { x, y, z: z18, w };
327
395
  }
328
396
  /**
329
397
  * Create an identity quaternion representing no rotation.
@@ -367,13 +435,13 @@ var PluginQuatApi = class {
367
435
  * @param z - Rotation around Z axis in **radians**
368
436
  * @returns A new {@linkcode PQuat}
369
437
  */
370
- fromEuler(x, y, z17) {
438
+ fromEuler(x, y, z18) {
371
439
  const cx = Math.cos(x / 2);
372
440
  const sx = Math.sin(x / 2);
373
441
  const cy = Math.cos(y / 2);
374
442
  const sy = Math.sin(y / 2);
375
- const cz = Math.cos(z17 / 2);
376
- const sz = Math.sin(z17 / 2);
443
+ const cz = Math.cos(z18 / 2);
444
+ const sz = Math.sin(z18 / 2);
377
445
  return {
378
446
  x: sx * cy * cz + cx * sy * sz,
379
447
  y: cx * sy * cz - sx * cy * sz,
@@ -704,38 +772,478 @@ var PluginCoreApi = class {
704
772
  }
705
773
  };
706
774
 
707
- // src/api/entity/buildableEnvelope.ts
775
+ // src/api/documentation/aiInspiration.ts
708
776
  var z7 = __toESM(require("zod"), 1);
777
+ var JsonPrimitive = z7.union([z7.string(), z7.number(), z7.boolean(), z7.null()]);
778
+ var JsonValue = z7.lazy(
779
+ () => z7.union([JsonPrimitive, z7.array(JsonValue), z7.record(z7.string(), JsonValue)])
780
+ );
781
+ var PluginAIInspirationRunMode = z7.enum(["blocking", "job"]);
782
+ var PluginAIInspirationOutputKind = z7.enum([
783
+ "source",
784
+ "image",
785
+ "video"
786
+ ]);
787
+ var PluginAIInspirationModelOutput = z7.enum(["image", "video"]);
788
+ var PluginAIInspirationRuntimeProvider = z7.enum(["gpt", "fal"]);
789
+ var PluginAIInspirationPromptStrategy = z7.enum([
790
+ "gpt-image",
791
+ "fal-image",
792
+ "fal-video"
793
+ ]);
794
+ var PluginAIInspirationShapeKind = z7.enum(["image", "view", "video"]);
795
+ var PluginAIInspirationVideoMode = z7.enum([
796
+ "animate",
797
+ "references",
798
+ "keyframes"
799
+ ]);
800
+ var PluginAIInspirationVideoMotion = z7.enum([
801
+ "auto",
802
+ "slow-dolly",
803
+ "subtle-orbit",
804
+ "reveal"
805
+ ]);
806
+ var PluginAIInspirationVideoDuration = z7.enum(["4s", "6s", "8s"]);
807
+ var PluginAIInspirationJobStatus = z7.enum([
808
+ "queued",
809
+ "running",
810
+ "completed",
811
+ "failed",
812
+ "cancelled"
813
+ ]);
814
+ var PluginAIInspirationWorkflowRunState = z7.enum([
815
+ "current",
816
+ "stale",
817
+ "running",
818
+ "failed",
819
+ "superseded"
820
+ ]);
821
+ var PluginAIInspirationRegionHint = z7.object({
822
+ x: z7.number().finite(),
823
+ y: z7.number().finite(),
824
+ w: z7.number().finite().positive(),
825
+ h: z7.number().finite().positive()
826
+ });
827
+ var PluginAIInspirationPoint = z7.object({
828
+ x: z7.number().finite(),
829
+ y: z7.number().finite()
830
+ });
831
+ var PluginAIInspirationTextAnnotation = z7.object({
832
+ text: z7.string().min(1),
833
+ x: z7.number().finite().optional(),
834
+ y: z7.number().finite().optional()
835
+ });
836
+ var PluginAIInspirationSketchGuidance = z7.object({
837
+ visualShapeIds: z7.array(z7.string()).optional(),
838
+ textAnnotations: z7.array(PluginAIInspirationTextAnnotation).optional()
839
+ });
840
+ var PluginAIInspirationSiteOptions = z7.object({
841
+ includeSatellite: z7.boolean().optional(),
842
+ includeStreetView: z7.boolean().optional(),
843
+ includeAerial: z7.boolean().optional(),
844
+ aerialBearing: z7.number().finite().optional(),
845
+ aerialPitch: z7.number().finite().optional(),
846
+ selectedDiagramIds: z7.array(z7.string()).optional(),
847
+ location: z7.object({
848
+ lat: z7.number().finite(),
849
+ lng: z7.number().finite()
850
+ }).optional()
851
+ });
852
+ var PluginAIInspirationAppliedPreset = z7.object({
853
+ source: z7.enum(["curated", "user"]),
854
+ presetId: z7.string().min(1),
855
+ name: z7.string().min(1),
856
+ savedPresetKind: z7.enum(["prompt", "style"]).optional(),
857
+ stylePrompt: z7.string().optional(),
858
+ modelId: z7.string().optional(),
859
+ referenceImages: z7.array(
860
+ z7.object({
861
+ url: z7.string().min(1),
862
+ label: z7.string().optional(),
863
+ weight: z7.number().finite().optional()
864
+ })
865
+ ).optional(),
866
+ siteDefaults: z7.object({
867
+ includeSatellite: z7.boolean().optional(),
868
+ includeStreetView: z7.boolean().optional(),
869
+ includeAerial: z7.boolean().optional()
870
+ }).optional()
871
+ });
872
+ var PluginAIInspirationVideoOptions = z7.object({
873
+ mode: PluginAIInspirationVideoMode.optional(),
874
+ endFrameShapeId: z7.string().optional(),
875
+ motion: PluginAIInspirationVideoMotion.optional(),
876
+ duration: PluginAIInspirationVideoDuration.optional()
877
+ });
878
+ var PluginAIInspirationModel = z7.object({
879
+ id: z7.string(),
880
+ label: z7.string(),
881
+ supportsMultiImage: z7.boolean(),
882
+ output: PluginAIInspirationModelOutput,
883
+ isDefault: z7.boolean().optional()
884
+ });
885
+ var PluginAIInspirationModelCapability = z7.object({
886
+ id: z7.string(),
887
+ output: PluginAIInspirationModelOutput,
888
+ provider: PluginAIInspirationRuntimeProvider,
889
+ supportsRegionEdit: z7.boolean(),
890
+ supportsReferenceImages: z7.boolean(),
891
+ supportsStylePresets: z7.boolean(),
892
+ supportsSiteContext: z7.boolean(),
893
+ supportsSketchGuidance: z7.boolean(),
894
+ supportsKeyframes: z7.boolean(),
895
+ maxExtraImages: z7.number().int().nonnegative(),
896
+ promptStrategy: PluginAIInspirationPromptStrategy
897
+ });
898
+ var PluginAIInspirationListModelsResult = z7.object({
899
+ defaultModelId: z7.string(),
900
+ models: z7.array(PluginAIInspirationModel)
901
+ });
902
+ var PluginAIInspirationGetModelCapabilitiesArgs = z7.object({
903
+ modelId: z7.string().min(1)
904
+ });
905
+ var PluginAIInspirationGetModelCapabilitiesResult = z7.object({
906
+ capability: PluginAIInspirationModelCapability
907
+ });
908
+ var PluginAIInspirationShapeRef = z7.object({
909
+ shapeId: z7.string(),
910
+ assetId: z7.string().optional(),
911
+ kind: PluginAIInspirationShapeKind,
912
+ name: z7.string().optional(),
913
+ width: z7.number().finite().optional(),
914
+ height: z7.number().finite().optional(),
915
+ outputType: PluginAIInspirationOutputKind.optional(),
916
+ sourceUrl: z7.string().optional()
917
+ });
918
+ var PluginAIInspirationListSourcesArgs = z7.object({
919
+ includeGenerated: z7.boolean().optional(),
920
+ includeSourceUrl: z7.boolean().optional()
921
+ });
922
+ var PluginAIInspirationListSourcesResult = z7.object({
923
+ sources: z7.array(PluginAIInspirationShapeRef)
924
+ });
925
+ var PluginAIInspirationGetSelectionResult = z7.object({
926
+ selectedShapeIds: z7.array(z7.string()),
927
+ sources: z7.array(PluginAIInspirationShapeRef)
928
+ });
929
+ var PluginAIInspirationPresetReferenceImage = z7.object({
930
+ url: z7.string(),
931
+ label: z7.string().optional(),
932
+ weight: z7.number().finite().optional()
933
+ });
934
+ var PluginAIInspirationPreset = z7.object({
935
+ id: z7.string(),
936
+ name: z7.string(),
937
+ source: z7.enum(["curated", "user"]),
938
+ modelId: z7.string(),
939
+ categoryId: z7.string().optional(),
940
+ categoryLabel: z7.string().optional(),
941
+ description: z7.string().optional(),
942
+ previewImageUrl: z7.string().optional(),
943
+ prompt: z7.string().optional(),
944
+ stylePrompt: z7.string().optional(),
945
+ tags: z7.array(z7.string()).optional(),
946
+ referenceImages: z7.array(PluginAIInspirationPresetReferenceImage).optional(),
947
+ siteDefaults: PluginAIInspirationAppliedPreset.shape.siteDefaults.optional()
948
+ });
949
+ var PluginAIInspirationPresetCategory = z7.object({
950
+ id: z7.string(),
951
+ label: z7.string(),
952
+ description: z7.string().optional()
953
+ });
954
+ var PluginAIInspirationGetPresetCatalogResult = z7.object({
955
+ categories: z7.array(PluginAIInspirationPresetCategory),
956
+ presets: z7.array(PluginAIInspirationPreset)
957
+ });
958
+ var PluginAIInspirationOutput = z7.object({
959
+ outputType: z7.enum(["image", "video"]),
960
+ shapeId: z7.string(),
961
+ assetId: z7.string(),
962
+ outputUrl: z7.string().optional(),
963
+ position: PluginAIInspirationPoint.optional()
964
+ });
965
+ var PluginAIInspirationDebugSummary = z7.record(z7.string(), JsonValue);
966
+ var PluginAIInspirationRunMetadata = z7.object({
967
+ geometryFidelity: z7.string().optional(),
968
+ debugSummary: PluginAIInspirationDebugSummary.optional(),
969
+ streetViewComposite: z7.object({
970
+ used: z7.boolean(),
971
+ renderMode: z7.enum(["prompt_refs_default", "masked_composite_pilot"]),
972
+ backgroundLabel: z7.string().optional()
973
+ }).optional()
974
+ });
975
+ var PluginAIInspirationGenerateArgs = z7.object({
976
+ sourceShapeId: z7.string().min(1),
977
+ prompt: z7.string().min(1).max(8e3),
978
+ modelId: z7.string().optional(),
979
+ referenceShapeIds: z7.array(z7.string()).max(12).optional(),
980
+ referenceStrength: z7.enum(["low", "medium", "high"]).optional(),
981
+ appliedPreset: PluginAIInspirationAppliedPreset.optional(),
982
+ site: PluginAIInspirationSiteOptions.optional(),
983
+ regionHint: PluginAIInspirationRegionHint.optional(),
984
+ sketchGuidance: PluginAIInspirationSketchGuidance.optional(),
985
+ video: PluginAIInspirationVideoOptions.optional(),
986
+ runMode: PluginAIInspirationRunMode.optional()
987
+ });
988
+ var PluginAIInspirationRunResult = z7.object({
989
+ jobId: z7.string().optional(),
990
+ output: PluginAIInspirationOutput.optional(),
991
+ outputs: z7.array(PluginAIInspirationOutput).optional(),
992
+ metadata: PluginAIInspirationRunMetadata.optional()
993
+ });
994
+ var PluginAIInspirationRefineArgs = z7.object({
995
+ sourceShapeId: z7.string().min(1),
996
+ upscaleFactor: z7.union([z7.literal(1.5), z7.literal(2), z7.literal(4)]).optional(),
997
+ runMode: PluginAIInspirationRunMode.optional()
998
+ });
999
+ var PluginAIInspirationJobProgress = z7.object({
1000
+ currentStep: z7.number().int().nonnegative().optional(),
1001
+ totalSteps: z7.number().int().nonnegative().optional(),
1002
+ message: z7.string().optional()
1003
+ });
1004
+ var PluginAIInspirationJob = z7.object({
1005
+ jobId: z7.string(),
1006
+ status: PluginAIInspirationJobStatus,
1007
+ createdAt: z7.number(),
1008
+ updatedAt: z7.number(),
1009
+ completedAt: z7.number().optional(),
1010
+ method: z7.string(),
1011
+ progress: PluginAIInspirationJobProgress.optional(),
1012
+ result: PluginAIInspirationRunResult.optional(),
1013
+ error: z7.string().optional()
1014
+ });
1015
+ var PluginAIInspirationJobArgs = z7.object({
1016
+ jobId: z7.string().min(1)
1017
+ });
1018
+ var PluginAIInspirationGetJobResult = z7.object({
1019
+ job: PluginAIInspirationJob
1020
+ });
1021
+ var PluginAIInspirationCancelJobResult = z7.object({
1022
+ job: PluginAIInspirationJob
1023
+ });
1024
+ var PluginAIInspirationListJobsResult = z7.object({
1025
+ jobs: z7.array(PluginAIInspirationJob)
1026
+ });
1027
+ var PluginAIInspirationWorkflowVideoConfig = z7.object({
1028
+ mode: z7.string().optional(),
1029
+ motion: z7.string().optional(),
1030
+ duration: z7.string().optional(),
1031
+ endFrameShapeId: z7.string().optional()
1032
+ });
1033
+ var PluginAIInspirationGenerationInputSnapshot = z7.object({
1034
+ version: z7.literal(1),
1035
+ meta: z7.record(z7.string(), JsonValue),
1036
+ regionHint: PluginAIInspirationRegionHint.optional(),
1037
+ sketchGuidance: z7.record(z7.string(), JsonValue).optional(),
1038
+ sourceCameraHeading: z7.number().finite().optional()
1039
+ });
1040
+ var PluginAIInspirationWorkflowOperation = z7.object({
1041
+ type: z7.enum(["generate-image", "refine", "generate-video"]),
1042
+ label: z7.string(),
1043
+ prompt: z7.string().optional(),
1044
+ modelId: z7.string().optional(),
1045
+ presetId: z7.string().optional(),
1046
+ presetName: z7.string().optional(),
1047
+ refineFactor: z7.number().finite().optional(),
1048
+ sourceRole: z7.enum(["primary", "end-frame"]).optional(),
1049
+ video: PluginAIInspirationWorkflowVideoConfig.optional(),
1050
+ generationInput: PluginAIInspirationGenerationInputSnapshot.optional()
1051
+ });
1052
+ var PluginAIInspirationWorkflowNode = z7.object({
1053
+ id: z7.string(),
1054
+ shapeId: z7.string(),
1055
+ assetId: z7.string().optional(),
1056
+ kind: PluginAIInspirationOutputKind,
1057
+ state: z7.string(),
1058
+ runState: PluginAIInspirationWorkflowRunState.optional(),
1059
+ staleReason: z7.string().optional(),
1060
+ incomingEdgeIds: z7.array(z7.string()),
1061
+ outgoingEdgeIds: z7.array(z7.string()),
1062
+ createdAt: z7.number(),
1063
+ updatedAt: z7.number()
1064
+ });
1065
+ var PluginAIInspirationWorkflowEdge = z7.object({
1066
+ id: z7.string(),
1067
+ sourceNodeId: z7.string(),
1068
+ targetNodeId: z7.string(),
1069
+ arrowShapeId: z7.string().optional(),
1070
+ operation: PluginAIInspirationWorkflowOperation,
1071
+ state: z7.string(),
1072
+ runState: PluginAIInspirationWorkflowRunState.optional(),
1073
+ staleReason: z7.string().optional(),
1074
+ supersededByEdgeId: z7.string().optional(),
1075
+ createdAt: z7.number(),
1076
+ updatedAt: z7.number()
1077
+ });
1078
+ var PluginAIInspirationWorkflow = z7.object({
1079
+ id: z7.string(),
1080
+ rootNodeIds: z7.array(z7.string()),
1081
+ nodeIds: z7.array(z7.string()),
1082
+ edgeIds: z7.array(z7.string()),
1083
+ nodes: z7.record(z7.string(), PluginAIInspirationWorkflowNode),
1084
+ edges: z7.record(z7.string(), PluginAIInspirationWorkflowEdge),
1085
+ createdAt: z7.number(),
1086
+ updatedAt: z7.number()
1087
+ });
1088
+ var PluginAIInspirationGetWorkflowForShapeArgs = z7.object({
1089
+ shapeId: z7.string().min(1)
1090
+ });
1091
+ var PluginAIInspirationGetWorkflowForShapeResult = z7.object({
1092
+ workflow: PluginAIInspirationWorkflow.nullable(),
1093
+ node: PluginAIInspirationWorkflowNode.nullable()
1094
+ });
1095
+ var PluginAIInspirationRerunPlanResult = z7.discriminatedUnion(
1096
+ "status",
1097
+ [
1098
+ z7.object({
1099
+ status: z7.literal("ready"),
1100
+ workflowId: z7.string(),
1101
+ sourceNode: PluginAIInspirationWorkflowNode,
1102
+ edgeIds: z7.array(z7.string()),
1103
+ edges: z7.array(PluginAIInspirationWorkflowEdge),
1104
+ recipe: z7.lazy(() => PluginAIInspirationRecipe),
1105
+ needsEndFrame: z7.boolean(),
1106
+ defaultEndFrameShapeId: z7.string().nullable()
1107
+ }),
1108
+ z7.object({
1109
+ status: z7.literal("unavailable"),
1110
+ reason: z7.enum([
1111
+ "not-in-workflow",
1112
+ "source-only",
1113
+ "running",
1114
+ "missing-input"
1115
+ ])
1116
+ })
1117
+ ]
1118
+ );
1119
+ var PluginAIInspirationRerunSelectedBranchArgs = z7.object({
1120
+ shapeId: z7.string().min(1),
1121
+ endFrameShapeId: z7.string().optional(),
1122
+ runMode: PluginAIInspirationRunMode.optional()
1123
+ });
1124
+ var PluginAIInspirationRecipeSlot = z7.object({
1125
+ id: z7.string(),
1126
+ type: z7.enum(["source-image", "end-frame"]),
1127
+ label: z7.string(),
1128
+ required: z7.boolean()
1129
+ });
1130
+ var PluginAIInspirationRecipeStep = z7.object({
1131
+ id: z7.string(),
1132
+ operation: PluginAIInspirationWorkflowOperation,
1133
+ outputKind: z7.enum(["image", "video"])
1134
+ });
1135
+ var PluginAIInspirationRecipeDraft = z7.object({
1136
+ name: z7.string(),
1137
+ summary: z7.string(),
1138
+ slots: z7.array(PluginAIInspirationRecipeSlot),
1139
+ steps: z7.array(PluginAIInspirationRecipeStep).min(1).max(20),
1140
+ outputKind: z7.enum(["image", "video"]),
1141
+ thumbnailUrl: z7.string().optional()
1142
+ });
1143
+ var PluginAIInspirationRecipe = PluginAIInspirationRecipeDraft.extend({
1144
+ version: z7.literal(1),
1145
+ id: z7.string(),
1146
+ fingerprint: z7.string().optional(),
1147
+ createdAt: z7.number(),
1148
+ updatedAt: z7.number()
1149
+ });
1150
+ var PluginAIInspirationExtractionResult = z7.discriminatedUnion(
1151
+ "status",
1152
+ [
1153
+ z7.object({
1154
+ status: z7.literal("ready"),
1155
+ draft: PluginAIInspirationRecipeDraft
1156
+ }),
1157
+ z7.object({
1158
+ status: z7.literal("unavailable"),
1159
+ reason: z7.enum([
1160
+ "not-in-workflow",
1161
+ "source-only",
1162
+ "missing-workflow",
1163
+ "missing-node",
1164
+ "missing-input",
1165
+ "invalid-workflow"
1166
+ ])
1167
+ })
1168
+ ]
1169
+ );
1170
+ var PluginAIInspirationListRecipesResult = z7.object({
1171
+ recipes: z7.array(PluginAIInspirationRecipe)
1172
+ });
1173
+ var PluginAIInspirationSaveRecipeArgs = z7.object({
1174
+ draft: PluginAIInspirationRecipeDraft,
1175
+ name: z7.string().min(1)
1176
+ });
1177
+ var PluginAIInspirationSaveRecipeResult = z7.discriminatedUnion(
1178
+ "status",
1179
+ [
1180
+ z7.object({ status: z7.literal("saved"), recipe: PluginAIInspirationRecipe }),
1181
+ z7.object({
1182
+ status: z7.literal("duplicate"),
1183
+ recipe: PluginAIInspirationRecipe
1184
+ }),
1185
+ z7.object({ status: z7.literal("invalid-name"), recipe: z7.null() }),
1186
+ z7.object({ status: z7.literal("failed"), recipe: z7.null() })
1187
+ ]
1188
+ );
1189
+ var PluginAIInspirationDeleteRecipeArgs = z7.object({
1190
+ recipeId: z7.string().min(1)
1191
+ });
1192
+ var PluginAIInspirationDeleteRecipeResult = z7.object({
1193
+ deleted: z7.boolean()
1194
+ });
1195
+ var PluginAIInspirationExtractRecipeFromShapeArgs = z7.object({
1196
+ shapeId: z7.string().min(1)
1197
+ });
1198
+ var PluginAIInspirationRunRecipeArgs = z7.object({
1199
+ recipeId: z7.string().optional(),
1200
+ recipe: PluginAIInspirationRecipe.optional(),
1201
+ slotShapeIds: z7.record(z7.string(), z7.string()),
1202
+ runMode: PluginAIInspirationRunMode.optional()
1203
+ });
1204
+ var PluginDocumentationAIInspirationApi = class {
1205
+ constructor() {
1206
+ }
1207
+ };
1208
+
1209
+ // src/api/documentation/index.ts
1210
+ var PluginDocumentationApi = class {
1211
+ constructor() {
1212
+ }
1213
+ };
1214
+
1215
+ // src/api/entity/buildableEnvelope.ts
1216
+ var z8 = __toESM(require("zod"), 1);
709
1217
  var PluginBuildableEnvelopeApi = class {
710
1218
  constructor() {
711
1219
  }
712
1220
  };
713
- var PluginBuildableEnvelopePolygonVertex = z7.union([
714
- z7.object({ x: z7.number().finite(), z: z7.number().finite() }).strict(),
715
- z7.tuple([z7.number().finite(), z7.number().finite()])
1221
+ var PluginBuildableEnvelopePolygonVertex = z8.union([
1222
+ z8.object({ x: z8.number().finite(), z: z8.number().finite() }).strict(),
1223
+ z8.tuple([z8.number().finite(), z8.number().finite()])
716
1224
  ]);
717
- var PluginBuildableEnvelopeVerticalCap = z7.discriminatedUnion("kind", [
718
- z7.object({
719
- kind: z7.literal("max_height"),
720
- maxHeight: z7.number().finite().positive()
1225
+ var PluginBuildableEnvelopeVerticalCap = z8.discriminatedUnion("kind", [
1226
+ z8.object({
1227
+ kind: z8.literal("max_height"),
1228
+ maxHeight: z8.number().finite().positive()
721
1229
  }).strict(),
722
- z7.object({
723
- kind: z7.literal("max_floors"),
724
- maxFloors: z7.number().finite().int().positive()
1230
+ z8.object({
1231
+ kind: z8.literal("max_floors"),
1232
+ maxFloors: z8.number().finite().int().positive()
725
1233
  }).strict()
726
1234
  ]);
727
- var PluginBuildableEnvelopeSetbackTier = z7.object({
728
- aboveHeight: z7.number().finite().nonnegative(),
729
- front: z7.number().finite().nonnegative(),
730
- side: z7.number().finite().nonnegative(),
731
- rear: z7.number().finite().nonnegative()
1235
+ var PluginBuildableEnvelopeSetbackTier = z8.object({
1236
+ aboveHeight: z8.number().finite().nonnegative(),
1237
+ front: z8.number().finite().nonnegative(),
1238
+ side: z8.number().finite().nonnegative(),
1239
+ rear: z8.number().finite().nonnegative()
732
1240
  }).strict();
733
1241
  function refineSetbackTiers(args, ctx) {
734
1242
  const tiers = args.setbacks;
735
1243
  if (tiers.length === 0) return;
736
1244
  if (tiers[0].aboveHeight !== 0) {
737
1245
  ctx.addIssue({
738
- code: z7.ZodIssueCode.custom,
1246
+ code: z8.ZodIssueCode.custom,
739
1247
  path: ["setbacks", 0, "aboveHeight"],
740
1248
  message: "Ground tier required: setbacks[0].aboveHeight must be 0."
741
1249
  });
@@ -743,125 +1251,125 @@ function refineSetbackTiers(args, ctx) {
743
1251
  for (let i = 1; i < tiers.length; i++) {
744
1252
  if (!(tiers[i].aboveHeight > tiers[i - 1].aboveHeight)) {
745
1253
  ctx.addIssue({
746
- code: z7.ZodIssueCode.custom,
1254
+ code: z8.ZodIssueCode.custom,
747
1255
  path: ["setbacks", i, "aboveHeight"],
748
1256
  message: "Setback tiers must be ordered by strictly increasing aboveHeight."
749
1257
  });
750
1258
  }
751
1259
  }
752
1260
  }
753
- var PluginBuildableEnvelopeCreateArgs = z7.object({
754
- sitePolygon: z7.array(PluginBuildableEnvelopePolygonVertex).min(3),
755
- lengthUnit: z7.union([z7.literal("ft"), z7.literal("m")]),
756
- setbacks: z7.array(PluginBuildableEnvelopeSetbackTier).min(1),
1261
+ var PluginBuildableEnvelopeCreateArgs = z8.object({
1262
+ sitePolygon: z8.array(PluginBuildableEnvelopePolygonVertex).min(3),
1263
+ lengthUnit: z8.union([z8.literal("ft"), z8.literal("m")]),
1264
+ setbacks: z8.array(PluginBuildableEnvelopeSetbackTier).min(1),
757
1265
  verticalCap: PluginBuildableEnvelopeVerticalCap,
758
- floorToFloor: z7.number().finite().positive(),
759
- farRatio: z7.number().finite().positive().optional(),
760
- lotCoverageMaxPct: z7.number().finite().min(0).max(100).optional()
1266
+ floorToFloor: z8.number().finite().positive(),
1267
+ farRatio: z8.number().finite().positive().optional(),
1268
+ lotCoverageMaxPct: z8.number().finite().min(0).max(100).optional()
761
1269
  }).strict().superRefine(refineSetbackTiers);
762
- var PluginBuildableEnvelopeCreateResult = z7.object({
763
- buildableEnvelopeId: z7.string().min(1)
1270
+ var PluginBuildableEnvelopeCreateResult = z8.object({
1271
+ buildableEnvelopeId: z8.string().min(1)
764
1272
  }).strict();
765
- var PluginBuildableEnvelopeUpdateArgs = z7.object({
766
- buildableEnvelopeId: z7.string().min(1),
767
- sitePolygon: z7.array(PluginBuildableEnvelopePolygonVertex).min(3),
768
- lengthUnit: z7.union([z7.literal("ft"), z7.literal("m")]),
769
- setbacks: z7.array(PluginBuildableEnvelopeSetbackTier).min(1),
1273
+ var PluginBuildableEnvelopeUpdateArgs = z8.object({
1274
+ buildableEnvelopeId: z8.string().min(1),
1275
+ sitePolygon: z8.array(PluginBuildableEnvelopePolygonVertex).min(3),
1276
+ lengthUnit: z8.union([z8.literal("ft"), z8.literal("m")]),
1277
+ setbacks: z8.array(PluginBuildableEnvelopeSetbackTier).min(1),
770
1278
  verticalCap: PluginBuildableEnvelopeVerticalCap,
771
- floorToFloor: z7.number().finite().positive(),
772
- farRatio: z7.number().finite().positive().optional(),
773
- lotCoverageMaxPct: z7.number().finite().min(0).max(100).optional()
1279
+ floorToFloor: z8.number().finite().positive(),
1280
+ farRatio: z8.number().finite().positive().optional(),
1281
+ lotCoverageMaxPct: z8.number().finite().min(0).max(100).optional()
774
1282
  }).strict().superRefine(refineSetbackTiers);
775
- var PluginBuildableEnvelopeUpdateResult = z7.object({
776
- buildableEnvelopeId: z7.string().min(1)
1283
+ var PluginBuildableEnvelopeUpdateResult = z8.object({
1284
+ buildableEnvelopeId: z8.string().min(1)
777
1285
  }).strict();
778
1286
 
779
1287
  // src/api/entity/department.ts
780
- var z8 = __toESM(require("zod"), 1);
1288
+ var z9 = __toESM(require("zod"), 1);
781
1289
  var PluginDepartmentApi = class {
782
1290
  constructor() {
783
1291
  }
784
1292
  };
785
- var PluginDepartmentCreateArgs = z8.object({
786
- name: z8.string(),
787
- color: z8.string()
1293
+ var PluginDepartmentCreateArgs = z9.object({
1294
+ name: z9.string(),
1295
+ color: z9.string()
788
1296
  });
789
- var PluginDepartmentCreateResult = z8.object({
790
- departmentId: z8.string()
1297
+ var PluginDepartmentCreateResult = z9.object({
1298
+ departmentId: z9.string()
791
1299
  });
792
- var PluginDepartmentEntry = z8.object({
793
- id: z8.string(),
794
- name: z8.string(),
795
- color: z8.string()
1300
+ var PluginDepartmentEntry = z9.object({
1301
+ id: z9.string(),
1302
+ name: z9.string(),
1303
+ color: z9.string()
796
1304
  });
797
- var PluginDepartmentGetAllResult = z8.object({
798
- departments: z8.array(PluginDepartmentEntry)
1305
+ var PluginDepartmentGetAllResult = z9.object({
1306
+ departments: z9.array(PluginDepartmentEntry)
799
1307
  });
800
1308
 
801
1309
  // src/api/entity/referenceLine.ts
802
- var z9 = __toESM(require("zod"), 1);
1310
+ var z10 = __toESM(require("zod"), 1);
803
1311
  var PluginReferenceLineApi = class {
804
1312
  constructor() {
805
1313
  }
806
1314
  };
807
- var PluginReferenceLineCreateMultiArgs = z9.object({
1315
+ var PluginReferenceLineCreateMultiArgs = z10.object({
808
1316
  profile: PProfile
809
1317
  });
810
- var PluginReferenceLineCreateMultiResult = z9.object({
811
- referenceLineIds: z9.array(z9.string())
1318
+ var PluginReferenceLineCreateMultiResult = z10.object({
1319
+ referenceLineIds: z10.array(z10.string())
812
1320
  });
813
- var PluginReferenceLineGetProperty = z9.enum([
1321
+ var PluginReferenceLineGetProperty = z10.enum([
814
1322
  "curve"
815
1323
  ]);
816
- var PluginReferenceLineGetArgs = z9.object({
817
- referenceLineId: z9.string(),
818
- properties: z9.array(PluginReferenceLineGetProperty)
1324
+ var PluginReferenceLineGetArgs = z10.object({
1325
+ referenceLineId: z10.string(),
1326
+ properties: z10.array(PluginReferenceLineGetProperty)
819
1327
  });
820
- var PluginReferenceLineGetResult = z9.object({
1328
+ var PluginReferenceLineGetResult = z10.object({
821
1329
  curve: PCurve
822
1330
  }).partial();
823
- var PluginReferenceLineGetAllResult = z9.object({
824
- referenceLineIds: z9.array(z9.string())
1331
+ var PluginReferenceLineGetAllResult = z10.object({
1332
+ referenceLineIds: z10.array(z10.string())
825
1333
  });
826
- var PluginReferenceLineDeleteArgs = z9.object({
827
- referenceLineId: z9.string()
1334
+ var PluginReferenceLineDeleteArgs = z10.object({
1335
+ referenceLineId: z10.string()
828
1336
  });
829
1337
 
830
1338
  // src/api/entity/space.ts
831
- var z10 = __toESM(require("zod"), 1);
1339
+ var z11 = __toESM(require("zod"), 1);
832
1340
  var PluginSpaceApi = class {
833
1341
  constructor() {
834
1342
  }
835
1343
  };
836
- var PluginSpaceCreateRectangularArgs = z10.object({
1344
+ var PluginSpaceCreateRectangularArgs = z11.object({
837
1345
  position: PVec3,
838
- dimensions: z10.object({
839
- width: z10.number(),
840
- height: z10.number(),
841
- depth: z10.number()
1346
+ dimensions: z11.object({
1347
+ width: z11.number(),
1348
+ height: z11.number(),
1349
+ depth: z11.number()
842
1350
  })
843
1351
  });
844
- var PluginSpaceCreateRectangularResult = z10.object({
845
- spaceId: z10.string()
1352
+ var PluginSpaceCreateRectangularResult = z11.object({
1353
+ spaceId: z11.string()
846
1354
  });
847
- var PluginSpaceCreateFromProfileArgs = z10.object({
1355
+ var PluginSpaceCreateFromProfileArgs = z11.object({
848
1356
  profile: PProfile,
849
- innerProfiles: z10.array(PProfile).optional(),
850
- extrudeHeight: z10.number(),
1357
+ innerProfiles: z11.array(PProfile).optional(),
1358
+ extrudeHeight: z11.number(),
851
1359
  position: PVec3
852
1360
  });
853
- var PluginSpaceCreateFromProfileResult = z10.object({
854
- spaceId: z10.string()
1361
+ var PluginSpaceCreateFromProfileResult = z11.object({
1362
+ spaceId: z11.string()
855
1363
  });
856
- var PluginSpaceUpdateGeometryFromProfileArgs = z10.object({
857
- spaceId: z10.string(),
1364
+ var PluginSpaceUpdateGeometryFromProfileArgs = z11.object({
1365
+ spaceId: z11.string(),
858
1366
  profile: PProfile,
859
- extrudeHeight: z10.number()
1367
+ extrudeHeight: z11.number()
860
1368
  });
861
- var PluginSpaceUpdateGeometryFromProfileResult = z10.object({
862
- spaceId: z10.string()
1369
+ var PluginSpaceUpdateGeometryFromProfileResult = z11.object({
1370
+ spaceId: z11.string()
863
1371
  });
864
- var PluginSpaceGetProperty = z10.enum([
1372
+ var PluginSpaceGetProperty = z11.enum([
865
1373
  // Basic
866
1374
  "id",
867
1375
  "type",
@@ -874,6 +1382,7 @@ var PluginSpaceGetProperty = z10.enum([
874
1382
  "height",
875
1383
  "massType",
876
1384
  "spaceType",
1385
+ "areaClass",
877
1386
  "storey",
878
1387
  "departmentId",
879
1388
  "departmentName",
@@ -886,14 +1395,16 @@ var PluginSpaceGetProperty = z10.enum([
886
1395
  // Derived from brep
887
1396
  "planPoints",
888
1397
  "profile",
1398
+ "innerProfiles",
1399
+ "innerPlanPoints",
889
1400
  // Derived from adjacency manager
890
1401
  "adjacency"
891
1402
  ]);
892
- var PluginSpaceGetArgs = z10.object({
893
- spaceId: z10.string(),
894
- properties: z10.array(PluginSpaceGetProperty)
1403
+ var PluginSpaceGetArgs = z11.object({
1404
+ spaceId: z11.string(),
1405
+ properties: z11.array(PluginSpaceGetProperty)
895
1406
  });
896
- var PluginSpaceType = z10.enum([
1407
+ var PluginSpaceType = z11.enum([
897
1408
  "Room",
898
1409
  "Program Block",
899
1410
  "Balcony",
@@ -905,44 +1416,48 @@ var PluginSpaceType = z10.enum([
905
1416
  "Envelope",
906
1417
  "Parking"
907
1418
  ]);
908
- var PluginSpaceGetResult = z10.object({
1419
+ var PluginAreaClass = z11.enum(["NET", "GROSS", "EXCLUDED"]);
1420
+ var PluginSpaceGetResult = z11.object({
909
1421
  // Basic
910
- id: z10.string(),
911
- type: z10.string(),
912
- room_type: z10.string(),
913
- name: z10.string(),
1422
+ id: z11.string(),
1423
+ type: z11.string(),
1424
+ room_type: z11.string(),
1425
+ name: z11.string(),
914
1426
  // Derived from parametric data
915
- area: z10.number(),
916
- breadth: z10.number(),
917
- depth: z10.number(),
918
- height: z10.number(),
919
- massType: z10.string().nullable(),
1427
+ area: z11.number(),
1428
+ breadth: z11.number(),
1429
+ depth: z11.number(),
1430
+ height: z11.number(),
1431
+ massType: z11.string().nullable(),
920
1432
  spaceType: PluginSpaceType.nullable(),
921
- storey: z10.number().nullable(),
922
- departmentId: z10.string().nullable(),
923
- departmentName: z10.string(),
924
- departmentColor: z10.string(),
1433
+ areaClass: PluginAreaClass,
1434
+ storey: z11.number().nullable(),
1435
+ departmentId: z11.string().nullable(),
1436
+ departmentName: z11.string(),
1437
+ departmentColor: z11.string(),
925
1438
  // Derived from mesh
926
1439
  position: PVec3,
927
1440
  absolutePosition: PVec3,
928
1441
  rotation: PVec3,
929
1442
  rotationQuaternion: PQuat.nullable(),
930
1443
  // Derived from brep
931
- planPoints: z10.array(PVec3),
1444
+ planPoints: z11.array(PVec3),
932
1445
  profile: PProfile,
1446
+ innerProfiles: z11.array(PProfile),
1447
+ innerPlanPoints: z11.array(z11.array(PVec3)),
933
1448
  // Derived from adjacency manager
934
- adjacency: z10.array(z10.object({
935
- spaceId: z10.string(),
936
- value: z10.number()
1449
+ adjacency: z11.array(z11.object({
1450
+ spaceId: z11.string(),
1451
+ value: z11.number()
937
1452
  }))
938
1453
  }).partial();
939
- var PluginSpaceGetAllResult = z10.object({
940
- spacesIds: z10.array(z10.string())
1454
+ var PluginSpaceGetAllResult = z11.object({
1455
+ spacesIds: z11.array(z11.string())
941
1456
  });
942
- var PluginSpaceDeleteArgs = z10.object({
943
- spaceId: z10.string()
1457
+ var PluginSpaceDeleteArgs = z11.object({
1458
+ spaceId: z11.string()
944
1459
  });
945
- var PluginMassType = z10.enum([
1460
+ var PluginMassType = z11.enum([
946
1461
  "Plinth",
947
1462
  "Void",
948
1463
  "Pergola",
@@ -956,95 +1471,98 @@ var PluginMassType = z10.enum([
956
1471
  "Mass",
957
1472
  "Site"
958
1473
  ]);
959
- var PluginWellKnownDepartmentId = z10.enum([
1474
+ var PluginWellKnownDepartmentId = z11.enum([
960
1475
  "DEFAULT",
961
1476
  "SITE",
962
1477
  "ENVELOPE",
963
1478
  "CORE"
964
1479
  ]);
965
- var PluginDepartmentId = z10.union([
1480
+ var PluginDepartmentId = z11.union([
966
1481
  PluginWellKnownDepartmentId,
967
- z10.uuid()
1482
+ z11.uuid()
968
1483
  ]);
969
- var PluginSpaceUpdateArgs = z10.object({
970
- spaceId: z10.string(),
971
- properties: z10.object({
972
- room_type: z10.string().optional(),
1484
+ var PluginSpaceUpdateArgs = z11.object({
1485
+ spaceId: z11.string(),
1486
+ properties: z11.object({
1487
+ room_type: z11.string().optional(),
973
1488
  massType: PluginMassType.optional(),
974
1489
  spaceType: PluginSpaceType.optional(),
1490
+ areaClass: PluginAreaClass.optional(),
975
1491
  departmentId: PluginDepartmentId.optional()
976
1492
  })
977
1493
  });
978
- var PluginSpaceUpdateResult = z10.object({
979
- spaceId: z10.string(),
980
- room_type: z10.string().optional(),
981
- massType: z10.string().optional(),
982
- spaceType: z10.string().optional(),
983
- departmentId: z10.string().nullable().optional()
1494
+ var PluginSpaceUpdateResult = z11.object({
1495
+ spaceId: z11.string(),
1496
+ room_type: z11.string().optional(),
1497
+ massType: z11.string().optional(),
1498
+ spaceType: z11.string().optional(),
1499
+ areaClass: PluginAreaClass.optional(),
1500
+ departmentId: z11.string().nullable().optional()
984
1501
  });
985
- var PluginSpaceBulkCreateItem = z10.discriminatedUnion("kind", [
986
- z10.object({
987
- kind: z10.literal("rectangular"),
1502
+ var PluginSpaceBulkCreateItem = z11.discriminatedUnion("kind", [
1503
+ z11.object({
1504
+ kind: z11.literal("rectangular"),
988
1505
  position: PVec3,
989
- dimensions: z10.object({
990
- width: z10.number(),
991
- height: z10.number(),
992
- depth: z10.number()
1506
+ dimensions: z11.object({
1507
+ width: z11.number(),
1508
+ height: z11.number(),
1509
+ depth: z11.number()
993
1510
  }),
994
- room_type: z10.string().optional(),
1511
+ room_type: z11.string().optional(),
995
1512
  spaceType: PluginSpaceType.optional(),
996
1513
  massType: PluginMassType.optional(),
997
1514
  departmentId: PluginDepartmentId.optional()
998
1515
  }),
999
- z10.object({
1000
- kind: z10.literal("profile"),
1516
+ z11.object({
1517
+ kind: z11.literal("profile"),
1001
1518
  profile: PProfile,
1002
- innerProfiles: z10.array(PProfile).optional(),
1003
- extrudeHeight: z10.number(),
1519
+ innerProfiles: z11.array(PProfile).optional(),
1520
+ extrudeHeight: z11.number(),
1004
1521
  position: PVec3,
1005
- room_type: z10.string().optional(),
1522
+ room_type: z11.string().optional(),
1006
1523
  spaceType: PluginSpaceType.optional(),
1007
1524
  massType: PluginMassType.optional(),
1008
1525
  departmentId: PluginDepartmentId.optional()
1009
1526
  })
1010
1527
  ]);
1011
- var PluginSpaceBulkCreateArgs = z10.object({
1012
- items: z10.array(PluginSpaceBulkCreateItem)
1528
+ var PluginSpaceBulkCreateArgs = z11.object({
1529
+ items: z11.array(PluginSpaceBulkCreateItem)
1013
1530
  });
1014
- var PluginSpaceBulkCreateResult = z10.object({
1015
- spaceIds: z10.array(z10.string())
1531
+ var PluginSpaceBulkCreateResult = z11.object({
1532
+ spaceIds: z11.array(z11.string())
1016
1533
  });
1017
- var PluginSpaceBulkUpdateItem = z10.object({
1018
- spaceId: z10.string(),
1534
+ var PluginSpaceBulkUpdateItem = z11.object({
1535
+ spaceId: z11.string(),
1019
1536
  profile: PProfile.optional(),
1020
- extrudeHeight: z10.number().optional(),
1021
- properties: z10.object({
1022
- room_type: z10.string().optional(),
1537
+ extrudeHeight: z11.number().optional(),
1538
+ properties: z11.object({
1539
+ room_type: z11.string().optional(),
1023
1540
  massType: PluginMassType.optional(),
1024
1541
  spaceType: PluginSpaceType.optional(),
1542
+ areaClass: PluginAreaClass.optional(),
1025
1543
  departmentId: PluginDepartmentId.optional()
1026
1544
  }).optional()
1027
1545
  });
1028
- var PluginSpaceBulkUpdateArgs = z10.object({
1029
- items: z10.array(PluginSpaceBulkUpdateItem)
1546
+ var PluginSpaceBulkUpdateArgs = z11.object({
1547
+ items: z11.array(PluginSpaceBulkUpdateItem)
1030
1548
  });
1031
- var PluginSpaceBulkUpdateResult = z10.object({
1032
- spaces: z10.array(PluginSpaceUpdateResult)
1549
+ var PluginSpaceBulkUpdateResult = z11.object({
1550
+ spaces: z11.array(PluginSpaceUpdateResult)
1033
1551
  });
1034
- var PluginSpaceBulkDeleteArgs = z10.object({
1035
- spaceIds: z10.array(z10.string())
1552
+ var PluginSpaceBulkDeleteArgs = z11.object({
1553
+ spaceIds: z11.array(z11.string())
1036
1554
  });
1037
- var PluginSpaceBulkDeleteResult = z10.object({
1038
- deletedSpaceIds: z10.array(z10.string())
1555
+ var PluginSpaceBulkDeleteResult = z11.object({
1556
+ deletedSpaceIds: z11.array(z11.string())
1039
1557
  });
1040
1558
 
1041
1559
  // src/api/entity/story.ts
1042
- var z11 = __toESM(require("zod"), 1);
1560
+ var z12 = __toESM(require("zod"), 1);
1043
1561
  var PluginStoryApi = class {
1044
1562
  constructor() {
1045
1563
  }
1046
1564
  };
1047
- var PluginStoryGetProperty = z11.enum([
1565
+ var PluginStoryGetProperty = z12.enum([
1048
1566
  "value",
1049
1567
  "id",
1050
1568
  "name",
@@ -1054,44 +1572,44 @@ var PluginStoryGetProperty = z11.enum([
1054
1572
  "spacesCount",
1055
1573
  "totalArea"
1056
1574
  ]);
1057
- var PluginStoryGetArgs = z11.object({
1058
- storyValue: z11.number().int(),
1059
- properties: z11.array(PluginStoryGetProperty)
1575
+ var PluginStoryGetArgs = z12.object({
1576
+ storyValue: z12.number().int(),
1577
+ properties: z12.array(PluginStoryGetProperty)
1060
1578
  });
1061
- var PluginStoryGetResult = z11.object({
1062
- value: z11.number(),
1063
- id: z11.string(),
1064
- name: z11.string(),
1065
- height: z11.number(),
1066
- base: z11.number(),
1067
- hidden: z11.boolean(),
1068
- spacesCount: z11.number(),
1069
- totalArea: z11.number()
1579
+ var PluginStoryGetResult = z12.object({
1580
+ value: z12.number(),
1581
+ id: z12.string(),
1582
+ name: z12.string(),
1583
+ height: z12.number(),
1584
+ base: z12.number(),
1585
+ hidden: z12.boolean(),
1586
+ spacesCount: z12.number(),
1587
+ totalArea: z12.number()
1070
1588
  }).partial();
1071
- var PluginStoryGetAllResult = z11.object({
1072
- stories: z11.array(
1073
- z11.object({
1074
- value: z11.number(),
1075
- id: z11.string(),
1076
- name: z11.string()
1589
+ var PluginStoryGetAllResult = z12.object({
1590
+ stories: z12.array(
1591
+ z12.object({
1592
+ value: z12.number(),
1593
+ id: z12.string(),
1594
+ name: z12.string()
1077
1595
  })
1078
1596
  )
1079
1597
  });
1080
- var PluginStoryCreateArgs = z11.object({
1081
- storyValue: z11.number().int(),
1082
- height: z11.number().optional()
1598
+ var PluginStoryCreateArgs = z12.object({
1599
+ storyValue: z12.number().int(),
1600
+ height: z12.number().optional()
1083
1601
  });
1084
- var PluginStoryCreateResult = z11.object({
1085
- storyId: z11.string(),
1086
- storyValue: z11.number()
1602
+ var PluginStoryCreateResult = z12.object({
1603
+ storyId: z12.string(),
1604
+ storyValue: z12.number()
1087
1605
  });
1088
- var PluginStoryUpdateArgs = z11.object({
1089
- storyValue: z11.number().int(),
1090
- height: z11.number()
1606
+ var PluginStoryUpdateArgs = z12.object({
1607
+ storyValue: z12.number().int(),
1608
+ height: z12.number()
1091
1609
  });
1092
- var PluginStoryUpdateResult = z11.object({
1093
- storyValue: z11.number(),
1094
- height: z11.number()
1610
+ var PluginStoryUpdateResult = z12.object({
1611
+ storyValue: z12.number(),
1612
+ height: z12.number()
1095
1613
  });
1096
1614
 
1097
1615
  // src/api/entity/index.ts
@@ -1101,53 +1619,53 @@ var PluginEntityApi = class {
1101
1619
  };
1102
1620
 
1103
1621
  // src/api/tools/copy.ts
1104
- var z12 = __toESM(require("zod"), 1);
1105
- var PluginCopyMode = z12.enum(["instance", "unique"]);
1106
- var PluginCopyArgs = z12.object({
1107
- componentIds: z12.array(z12.string()).min(1),
1622
+ var z13 = __toESM(require("zod"), 1);
1623
+ var PluginCopyMode = z13.enum(["instance", "unique"]);
1624
+ var PluginCopyArgs = z13.object({
1625
+ componentIds: z13.array(z13.string()).min(1),
1108
1626
  displacement: PVec3,
1109
- count: z12.number().int().positive().optional(),
1627
+ count: z13.number().int().positive().optional(),
1110
1628
  copyMode: PluginCopyMode.optional()
1111
1629
  });
1112
- var PluginCopyResult = z12.object({
1113
- copiedIds: z12.array(z12.string())
1630
+ var PluginCopyResult = z13.object({
1631
+ copiedIds: z13.array(z13.string())
1114
1632
  });
1115
1633
 
1116
1634
  // src/api/tools/offset.ts
1117
- var z13 = __toESM(require("zod"), 1);
1118
- var PluginOffsetArgs = z13.object({
1119
- componentId: z13.string().min(1),
1120
- distance: z13.number(),
1635
+ var z14 = __toESM(require("zod"), 1);
1636
+ var PluginOffsetArgs = z14.object({
1637
+ componentId: z14.string().min(1),
1638
+ distance: z14.number(),
1121
1639
  profilePickPoint: PVec3.optional()
1122
1640
  });
1123
- var PluginOffsetResult = z13.object({
1124
- createdIds: z13.array(z13.string()),
1125
- deletedIds: z13.array(z13.string())
1641
+ var PluginOffsetResult = z14.object({
1642
+ createdIds: z14.array(z14.string()),
1643
+ deletedIds: z14.array(z14.string())
1126
1644
  });
1127
1645
 
1128
1646
  // src/api/tools/selection.ts
1129
- var z14 = __toESM(require("zod"), 1);
1647
+ var z15 = __toESM(require("zod"), 1);
1130
1648
  var PluginSelectionApi = class {
1131
1649
  constructor() {
1132
1650
  }
1133
1651
  };
1134
- var PluginSelectionGetResult = z14.object({
1135
- selected: z14.array(z14.string())
1652
+ var PluginSelectionGetResult = z15.object({
1653
+ selected: z15.array(z15.string())
1136
1654
  });
1137
1655
 
1138
1656
  // src/api/tools/transform.ts
1139
- var z15 = __toESM(require("zod"), 1);
1657
+ var z16 = __toESM(require("zod"), 1);
1140
1658
  var PluginTransformApi = class {
1141
1659
  constructor() {
1142
1660
  }
1143
1661
  };
1144
- var PluginMoveArgs = z15.object({
1145
- componentIds: z15.array(z15.string()),
1662
+ var PluginMoveArgs = z16.object({
1663
+ componentIds: z16.array(z16.string()),
1146
1664
  displacement: PVec3
1147
1665
  });
1148
- var PluginRotateArgs = z15.object({
1149
- componentIds: z15.array(z15.string()),
1150
- angle: z15.number(),
1666
+ var PluginRotateArgs = z16.object({
1667
+ componentIds: z16.array(z16.string()),
1668
+ angle: z16.number(),
1151
1669
  axis: PVec3,
1152
1670
  pivot: PVec3
1153
1671
  });
@@ -1159,12 +1677,12 @@ var PluginToolsApi = class {
1159
1677
  };
1160
1678
 
1161
1679
  // src/api/units/index.ts
1162
- var z16 = __toESM(require("zod"), 1);
1680
+ var z17 = __toESM(require("zod"), 1);
1163
1681
  var PluginUnitsApi = class {
1164
1682
  constructor() {
1165
1683
  }
1166
1684
  };
1167
- var PUnitType = z16.enum([
1685
+ var PUnitType = z17.enum([
1168
1686
  "meters",
1169
1687
  "feet-inches",
1170
1688
  "inches",
@@ -1173,21 +1691,21 @@ var PUnitType = z16.enum([
1173
1691
  "kilometers",
1174
1692
  "miles"
1175
1693
  ]);
1176
- var PluginUnitsConvertFromArgs = z16.object({
1694
+ var PluginUnitsConvertFromArgs = z17.object({
1177
1695
  unit: PUnitType,
1178
- value: z16.number(),
1179
- degree: z16.number().int().min(1).max(3).optional()
1696
+ value: z17.number(),
1697
+ degree: z17.number().int().min(1).max(3).optional()
1180
1698
  });
1181
- var PluginUnitsConvertFromResult = z16.object({
1182
- value: z16.number()
1699
+ var PluginUnitsConvertFromResult = z17.object({
1700
+ value: z17.number()
1183
1701
  });
1184
- var PluginUnitsConvertToArgs = z16.object({
1702
+ var PluginUnitsConvertToArgs = z17.object({
1185
1703
  unit: PUnitType,
1186
- value: z16.number(),
1187
- degree: z16.number().int().min(1).max(3).optional()
1704
+ value: z17.number(),
1705
+ degree: z17.number().int().min(1).max(3).optional()
1188
1706
  });
1189
- var PluginUnitsConvertToResult = z16.object({
1190
- value: z16.number()
1707
+ var PluginUnitsConvertToResult = z17.object({
1708
+ value: z17.number()
1191
1709
  });
1192
1710
 
1193
1711
  // src/api/index.ts
@@ -1204,8 +1722,74 @@ var PluginApi = class {
1204
1722
  PQuat,
1205
1723
  PUnitType,
1206
1724
  PVec3,
1725
+ PluginAIInspirationAppliedPreset,
1726
+ PluginAIInspirationCancelJobResult,
1727
+ PluginAIInspirationDebugSummary,
1728
+ PluginAIInspirationDeleteRecipeArgs,
1729
+ PluginAIInspirationDeleteRecipeResult,
1730
+ PluginAIInspirationExtractRecipeFromShapeArgs,
1731
+ PluginAIInspirationExtractionResult,
1732
+ PluginAIInspirationGenerateArgs,
1733
+ PluginAIInspirationGenerationInputSnapshot,
1734
+ PluginAIInspirationGetJobResult,
1735
+ PluginAIInspirationGetModelCapabilitiesArgs,
1736
+ PluginAIInspirationGetModelCapabilitiesResult,
1737
+ PluginAIInspirationGetPresetCatalogResult,
1738
+ PluginAIInspirationGetSelectionResult,
1739
+ PluginAIInspirationGetWorkflowForShapeArgs,
1740
+ PluginAIInspirationGetWorkflowForShapeResult,
1741
+ PluginAIInspirationJob,
1742
+ PluginAIInspirationJobArgs,
1743
+ PluginAIInspirationJobProgress,
1744
+ PluginAIInspirationJobStatus,
1745
+ PluginAIInspirationListJobsResult,
1746
+ PluginAIInspirationListModelsResult,
1747
+ PluginAIInspirationListRecipesResult,
1748
+ PluginAIInspirationListSourcesArgs,
1749
+ PluginAIInspirationListSourcesResult,
1750
+ PluginAIInspirationModel,
1751
+ PluginAIInspirationModelCapability,
1752
+ PluginAIInspirationModelOutput,
1753
+ PluginAIInspirationOutput,
1754
+ PluginAIInspirationOutputKind,
1755
+ PluginAIInspirationPoint,
1756
+ PluginAIInspirationPreset,
1757
+ PluginAIInspirationPresetCategory,
1758
+ PluginAIInspirationPresetReferenceImage,
1759
+ PluginAIInspirationPromptStrategy,
1760
+ PluginAIInspirationRecipe,
1761
+ PluginAIInspirationRecipeDraft,
1762
+ PluginAIInspirationRecipeSlot,
1763
+ PluginAIInspirationRecipeStep,
1764
+ PluginAIInspirationRefineArgs,
1765
+ PluginAIInspirationRegionHint,
1766
+ PluginAIInspirationRerunPlanResult,
1767
+ PluginAIInspirationRerunSelectedBranchArgs,
1768
+ PluginAIInspirationRunMetadata,
1769
+ PluginAIInspirationRunMode,
1770
+ PluginAIInspirationRunRecipeArgs,
1771
+ PluginAIInspirationRunResult,
1772
+ PluginAIInspirationRuntimeProvider,
1773
+ PluginAIInspirationSaveRecipeArgs,
1774
+ PluginAIInspirationSaveRecipeResult,
1775
+ PluginAIInspirationShapeKind,
1776
+ PluginAIInspirationShapeRef,
1777
+ PluginAIInspirationSiteOptions,
1778
+ PluginAIInspirationSketchGuidance,
1779
+ PluginAIInspirationTextAnnotation,
1780
+ PluginAIInspirationVideoDuration,
1781
+ PluginAIInspirationVideoMode,
1782
+ PluginAIInspirationVideoMotion,
1783
+ PluginAIInspirationVideoOptions,
1784
+ PluginAIInspirationWorkflow,
1785
+ PluginAIInspirationWorkflowEdge,
1786
+ PluginAIInspirationWorkflowNode,
1787
+ PluginAIInspirationWorkflowOperation,
1788
+ PluginAIInspirationWorkflowRunState,
1789
+ PluginAIInspirationWorkflowVideoConfig,
1207
1790
  PluginApi,
1208
1791
  PluginArcApi,
1792
+ PluginAreaClass,
1209
1793
  PluginBuildableEnvelopeApi,
1210
1794
  PluginBuildableEnvelopeCreateArgs,
1211
1795
  PluginBuildableEnvelopeCreateResult,
@@ -1225,6 +1809,8 @@ var PluginApi = class {
1225
1809
  PluginDepartmentEntry,
1226
1810
  PluginDepartmentGetAllResult,
1227
1811
  PluginDepartmentId,
1812
+ PluginDocumentationAIInspirationApi,
1813
+ PluginDocumentationApi,
1228
1814
  PluginEntityApi,
1229
1815
  PluginGeomApi,
1230
1816
  PluginLineApi,