@snaptrude/plugin-core 0.7.0 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (133) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/api-manifest.full.json +360 -19
  3. package/api-manifest.json +915 -37
  4. package/dist/api/core/camera/index.d.ts +208 -0
  5. package/dist/api/core/camera/index.d.ts.map +1 -0
  6. package/dist/api/core/comment/index.d.ts +105 -2
  7. package/dist/api/core/comment/index.d.ts.map +1 -1
  8. package/dist/api/core/geom/create/index.d.ts +13 -13
  9. package/dist/api/core/geom/delete/index.d.ts +8 -2
  10. package/dist/api/core/geom/delete/index.d.ts.map +1 -1
  11. package/dist/api/core/geom/query/arc.d.ts +5 -5
  12. package/dist/api/core/geom/query/brep.d.ts +18 -18
  13. package/dist/api/core/geom/query/circle.d.ts +18 -18
  14. package/dist/api/core/geom/query/contour.d.ts +20 -20
  15. package/dist/api/core/geom/query/curve.d.ts +49 -49
  16. package/dist/api/core/geom/query/edge.d.ts +5 -5
  17. package/dist/api/core/geom/query/face.d.ts +16 -16
  18. package/dist/api/core/geom/query/halfedge.d.ts +8 -8
  19. package/dist/api/core/geom/query/profile.d.ts +19 -19
  20. package/dist/api/core/geom/query/vertex.d.ts +8 -8
  21. package/dist/api/core/geom/update/contour.d.ts +14 -14
  22. package/dist/api/core/geom/update/curve.d.ts +7 -7
  23. package/dist/api/core/geom/update/profile.d.ts +16 -16
  24. package/dist/api/core/handles/index.d.ts +210 -0
  25. package/dist/api/core/handles/index.d.ts.map +1 -0
  26. package/dist/api/core/index.d.ts +15 -0
  27. package/dist/api/core/index.d.ts.map +1 -1
  28. package/dist/api/core/io/export/index.d.ts +132 -0
  29. package/dist/api/core/io/export/index.d.ts.map +1 -0
  30. package/dist/api/core/io/import/index.d.ts +1 -1
  31. package/dist/api/core/io/index.d.ts +5 -0
  32. package/dist/api/core/io/index.d.ts.map +1 -1
  33. package/dist/api/core/layers.d.ts +7 -7
  34. package/dist/api/core/proposals/index.d.ts +65 -9
  35. package/dist/api/core/proposals/index.d.ts.map +1 -1
  36. package/dist/api/core/user.d.ts +44 -0
  37. package/dist/api/core/user.d.ts.map +1 -0
  38. package/dist/api/design/boolean/index.d.ts +4 -4
  39. package/dist/api/design/create/index.d.ts +139 -44
  40. package/dist/api/design/create/index.d.ts.map +1 -1
  41. package/dist/api/design/doors/index.d.ts +36 -0
  42. package/dist/api/design/doors/index.d.ts.map +1 -1
  43. package/dist/api/design/edit/index.d.ts +1 -1
  44. package/dist/api/design/erase/index.d.ts +2 -2
  45. package/dist/api/design/furniture/index.d.ts +114 -3
  46. package/dist/api/design/furniture/index.d.ts.map +1 -1
  47. package/dist/api/design/index.d.ts +10 -0
  48. package/dist/api/design/index.d.ts.map +1 -1
  49. package/dist/api/design/materials/index.d.ts +111 -14
  50. package/dist/api/design/materials/index.d.ts.map +1 -1
  51. package/dist/api/design/query/index.d.ts +31 -1
  52. package/dist/api/design/query/index.d.ts.map +1 -1
  53. package/dist/api/design/query/spaces.d.ts +5 -5
  54. package/dist/api/design/transform/index.d.ts +83 -14
  55. package/dist/api/design/transform/index.d.ts.map +1 -1
  56. package/dist/api/design/types/index.d.ts +181 -0
  57. package/dist/api/design/types/index.d.ts.map +1 -0
  58. package/dist/api/design/update/index.d.ts +335 -2
  59. package/dist/api/design/update/index.d.ts.map +1 -1
  60. package/dist/api/design/visibility.d.ts +98 -0
  61. package/dist/api/design/visibility.d.ts.map +1 -0
  62. package/dist/api/entity/referenceLine.d.ts +2 -2
  63. package/dist/api/entity/space.d.ts +19 -19
  64. package/dist/api/entity/story.d.ts +128 -15
  65. package/dist/api/entity/story.d.ts.map +1 -1
  66. package/dist/api/presentation/aiInspiration.d.ts +1967 -7
  67. package/dist/api/presentation/aiInspiration.d.ts.map +1 -1
  68. package/dist/api/presentation/annotate.d.ts +448 -0
  69. package/dist/api/presentation/annotate.d.ts.map +1 -0
  70. package/dist/api/presentation/diagrams.d.ts +49 -8
  71. package/dist/api/presentation/diagrams.d.ts.map +1 -1
  72. package/dist/api/presentation/export.d.ts +104 -0
  73. package/dist/api/presentation/export.d.ts.map +1 -0
  74. package/dist/api/presentation/index.d.ts +40 -3
  75. package/dist/api/presentation/index.d.ts.map +1 -1
  76. package/dist/api/presentation/sheets.d.ts +410 -13
  77. package/dist/api/presentation/sheets.d.ts.map +1 -1
  78. package/dist/api/presentation/views.d.ts +165 -10
  79. package/dist/api/presentation/views.d.ts.map +1 -1
  80. package/dist/api/program/areas.d.ts +63 -3
  81. package/dist/api/program/areas.d.ts.map +1 -1
  82. package/dist/api/program/cores.d.ts +3 -99
  83. package/dist/api/program/cores.d.ts.map +1 -1
  84. package/dist/api/program/index.d.ts +2 -2
  85. package/dist/api/program/index.d.ts.map +1 -1
  86. package/dist/api/program/layout.d.ts +172 -12
  87. package/dist/api/program/layout.d.ts.map +1 -1
  88. package/dist/api/program/site.d.ts +11 -8
  89. package/dist/api/program/site.d.ts.map +1 -1
  90. package/dist/api/program/spreadsheet.d.ts +105 -13
  91. package/dist/api/program/spreadsheet.d.ts.map +1 -1
  92. package/dist/handles.d.ts +64 -25
  93. package/dist/handles.d.ts.map +1 -1
  94. package/dist/index.cjs +2502 -1466
  95. package/dist/index.cjs.map +1 -1
  96. package/dist/index.js +2369 -1461
  97. package/dist/index.js.map +1 -1
  98. package/package.json +1 -1
  99. package/src/api/core/camera/index.ts +212 -0
  100. package/src/api/core/comment/index.ts +120 -2
  101. package/src/api/core/geom/delete/index.ts +6 -0
  102. package/src/api/core/handles/index.ts +233 -0
  103. package/src/api/core/index.ts +15 -0
  104. package/src/api/core/io/export/index.ts +124 -0
  105. package/src/api/core/io/index.ts +5 -0
  106. package/src/api/core/proposals/index.ts +71 -11
  107. package/src/api/core/user.ts +46 -0
  108. package/src/api/design/create/index.ts +166 -36
  109. package/src/api/design/doors/index.ts +40 -0
  110. package/src/api/design/furniture/index.ts +127 -3
  111. package/src/api/design/index.ts +10 -0
  112. package/src/api/design/materials/index.ts +157 -30
  113. package/src/api/design/query/index.ts +33 -7
  114. package/src/api/design/transform/index.ts +89 -12
  115. package/src/api/design/types/index.ts +156 -0
  116. package/src/api/design/update/index.ts +402 -6
  117. package/src/api/design/visibility.ts +109 -0
  118. package/src/api/entity/story.ts +141 -15
  119. package/src/api/presentation/aiInspiration.ts +761 -7
  120. package/src/api/presentation/annotate.ts +360 -0
  121. package/src/api/presentation/diagrams.ts +53 -8
  122. package/src/api/presentation/export.ts +104 -0
  123. package/src/api/presentation/index.ts +48 -3
  124. package/src/api/presentation/sheets.ts +346 -13
  125. package/src/api/presentation/views.ts +164 -12
  126. package/src/api/program/areas.ts +57 -6
  127. package/src/api/program/cores.ts +3 -91
  128. package/src/api/program/index.ts +2 -2
  129. package/src/api/program/layout.ts +182 -12
  130. package/src/api/program/site.ts +11 -8
  131. package/src/api/program/spreadsheet.ts +125 -29
  132. package/src/handles.ts +77 -13
  133. package/tsconfig.json +7 -2
@@ -5,6 +5,11 @@ type JsonValue = z.infer<typeof JsonPrimitive> | JsonValue[] | {
5
5
  [key: string]: JsonValue;
6
6
  };
7
7
  declare const JsonValue: z.ZodType<JsonValue>;
8
+ export declare const PluginAIInspirationRunMode: z.ZodEnum<{
9
+ job: "job";
10
+ blocking: "blocking";
11
+ }>;
12
+ export type PluginAIInspirationRunMode = z.infer<typeof PluginAIInspirationRunMode>;
8
13
  export declare const PluginAIInspirationOutputKind: z.ZodEnum<{
9
14
  image: "image";
10
15
  source: "source";
@@ -16,6 +21,17 @@ export declare const PluginAIInspirationModelOutput: z.ZodEnum<{
16
21
  video: "video";
17
22
  }>;
18
23
  export type PluginAIInspirationModelOutput = z.infer<typeof PluginAIInspirationModelOutput>;
24
+ export declare const PluginAIInspirationRuntimeProvider: z.ZodEnum<{
25
+ gpt: "gpt";
26
+ fal: "fal";
27
+ }>;
28
+ export type PluginAIInspirationRuntimeProvider = z.infer<typeof PluginAIInspirationRuntimeProvider>;
29
+ export declare const PluginAIInspirationPromptStrategy: z.ZodEnum<{
30
+ "gpt-image": "gpt-image";
31
+ "fal-image": "fal-image";
32
+ "fal-video": "fal-video";
33
+ }>;
34
+ export type PluginAIInspirationPromptStrategy = z.infer<typeof PluginAIInspirationPromptStrategy>;
19
35
  export declare const PluginAIInspirationShapeKind: z.ZodEnum<{
20
36
  image: "image";
21
37
  view: "view";
@@ -41,6 +57,22 @@ export declare const PluginAIInspirationVideoDuration: z.ZodEnum<{
41
57
  "8s": "8s";
42
58
  }>;
43
59
  export type PluginAIInspirationVideoDuration = z.infer<typeof PluginAIInspirationVideoDuration>;
60
+ export declare const PluginAIInspirationJobStatus: z.ZodEnum<{
61
+ failed: "failed";
62
+ running: "running";
63
+ queued: "queued";
64
+ completed: "completed";
65
+ cancelled: "cancelled";
66
+ }>;
67
+ export type PluginAIInspirationJobStatus = z.infer<typeof PluginAIInspirationJobStatus>;
68
+ export declare const PluginAIInspirationWorkflowRunState: z.ZodEnum<{
69
+ failed: "failed";
70
+ running: "running";
71
+ current: "current";
72
+ stale: "stale";
73
+ superseded: "superseded";
74
+ }>;
75
+ export type PluginAIInspirationWorkflowRunState = z.infer<typeof PluginAIInspirationWorkflowRunState>;
44
76
  export declare const PluginAIInspirationRegionHint: z.ZodObject<{
45
77
  x: z.ZodNumber;
46
78
  y: z.ZodNumber;
@@ -137,6 +169,30 @@ export declare const PluginAIInspirationModel: z.ZodObject<{
137
169
  isDefault: z.ZodOptional<z.ZodBoolean>;
138
170
  }, z.core.$strip>;
139
171
  export type PluginAIInspirationModel = z.infer<typeof PluginAIInspirationModel>;
172
+ export declare const PluginAIInspirationModelCapability: z.ZodObject<{
173
+ id: z.ZodString;
174
+ output: z.ZodEnum<{
175
+ image: "image";
176
+ video: "video";
177
+ }>;
178
+ provider: z.ZodEnum<{
179
+ gpt: "gpt";
180
+ fal: "fal";
181
+ }>;
182
+ supportsRegionEdit: z.ZodBoolean;
183
+ supportsReferenceImages: z.ZodBoolean;
184
+ supportsStylePresets: z.ZodBoolean;
185
+ supportsSiteContext: z.ZodBoolean;
186
+ supportsSketchGuidance: z.ZodBoolean;
187
+ supportsKeyframes: z.ZodBoolean;
188
+ maxExtraImages: z.ZodNumber;
189
+ promptStrategy: z.ZodEnum<{
190
+ "gpt-image": "gpt-image";
191
+ "fal-image": "fal-image";
192
+ "fal-video": "fal-video";
193
+ }>;
194
+ }, z.core.$strip>;
195
+ export type PluginAIInspirationModelCapability = z.infer<typeof PluginAIInspirationModelCapability>;
140
196
  export declare const PluginAIInspirationListModelsResult: z.ZodObject<{
141
197
  defaultModelId: z.ZodString;
142
198
  models: z.ZodArray<z.ZodObject<{
@@ -151,6 +207,36 @@ export declare const PluginAIInspirationListModelsResult: z.ZodObject<{
151
207
  }, z.core.$strip>>;
152
208
  }, z.core.$strip>;
153
209
  export type PluginAIInspirationListModelsResult = z.infer<typeof PluginAIInspirationListModelsResult>;
210
+ export declare const PluginAIInspirationGetModelCapabilitiesArgs: z.ZodObject<{
211
+ modelId: z.ZodString;
212
+ }, z.core.$strip>;
213
+ export type PluginAIInspirationGetModelCapabilitiesArgs = z.infer<typeof PluginAIInspirationGetModelCapabilitiesArgs>;
214
+ export declare const PluginAIInspirationGetModelCapabilitiesResult: z.ZodObject<{
215
+ capability: z.ZodObject<{
216
+ id: z.ZodString;
217
+ output: z.ZodEnum<{
218
+ image: "image";
219
+ video: "video";
220
+ }>;
221
+ provider: z.ZodEnum<{
222
+ gpt: "gpt";
223
+ fal: "fal";
224
+ }>;
225
+ supportsRegionEdit: z.ZodBoolean;
226
+ supportsReferenceImages: z.ZodBoolean;
227
+ supportsStylePresets: z.ZodBoolean;
228
+ supportsSiteContext: z.ZodBoolean;
229
+ supportsSketchGuidance: z.ZodBoolean;
230
+ supportsKeyframes: z.ZodBoolean;
231
+ maxExtraImages: z.ZodNumber;
232
+ promptStrategy: z.ZodEnum<{
233
+ "gpt-image": "gpt-image";
234
+ "fal-image": "fal-image";
235
+ "fal-video": "fal-video";
236
+ }>;
237
+ }, z.core.$strip>;
238
+ }, z.core.$strip>;
239
+ export type PluginAIInspirationGetModelCapabilitiesResult = z.infer<typeof PluginAIInspirationGetModelCapabilitiesResult>;
154
240
  export declare const PluginAIInspirationShapeRef: z.ZodObject<{
155
241
  shapeId: z.ZodString;
156
242
  assetId: z.ZodOptional<z.ZodString>;
@@ -196,6 +282,101 @@ export declare const PluginAIInspirationListSourcesResult: z.ZodObject<{
196
282
  }, z.core.$strip>>;
197
283
  }, z.core.$strip>;
198
284
  export type PluginAIInspirationListSourcesResult = z.infer<typeof PluginAIInspirationListSourcesResult>;
285
+ export declare const PluginAIInspirationGetSelectionResult: z.ZodObject<{
286
+ selectedShapeIds: z.ZodArray<z.ZodString>;
287
+ sources: z.ZodArray<z.ZodObject<{
288
+ shapeId: z.ZodString;
289
+ assetId: z.ZodOptional<z.ZodString>;
290
+ kind: z.ZodEnum<{
291
+ image: "image";
292
+ view: "view";
293
+ video: "video";
294
+ }>;
295
+ name: z.ZodOptional<z.ZodString>;
296
+ width: z.ZodOptional<z.ZodNumber>;
297
+ height: z.ZodOptional<z.ZodNumber>;
298
+ outputType: z.ZodOptional<z.ZodEnum<{
299
+ image: "image";
300
+ source: "source";
301
+ video: "video";
302
+ }>>;
303
+ sourceUrl: z.ZodOptional<z.ZodString>;
304
+ }, z.core.$strip>>;
305
+ }, z.core.$strip>;
306
+ export type PluginAIInspirationGetSelectionResult = z.infer<typeof PluginAIInspirationGetSelectionResult>;
307
+ export declare const PluginAIInspirationPresetReferenceImage: z.ZodObject<{
308
+ url: z.ZodString;
309
+ label: z.ZodOptional<z.ZodString>;
310
+ weight: z.ZodOptional<z.ZodNumber>;
311
+ }, z.core.$strip>;
312
+ export type PluginAIInspirationPresetReferenceImage = z.infer<typeof PluginAIInspirationPresetReferenceImage>;
313
+ export declare const PluginAIInspirationPreset: z.ZodObject<{
314
+ id: z.ZodString;
315
+ name: z.ZodString;
316
+ source: z.ZodEnum<{
317
+ curated: "curated";
318
+ user: "user";
319
+ }>;
320
+ modelId: z.ZodString;
321
+ categoryId: z.ZodOptional<z.ZodString>;
322
+ categoryLabel: z.ZodOptional<z.ZodString>;
323
+ description: z.ZodOptional<z.ZodString>;
324
+ previewImageUrl: z.ZodOptional<z.ZodString>;
325
+ prompt: z.ZodOptional<z.ZodString>;
326
+ stylePrompt: z.ZodOptional<z.ZodString>;
327
+ tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
328
+ referenceImages: z.ZodOptional<z.ZodArray<z.ZodObject<{
329
+ url: z.ZodString;
330
+ label: z.ZodOptional<z.ZodString>;
331
+ weight: z.ZodOptional<z.ZodNumber>;
332
+ }, z.core.$strip>>>;
333
+ siteDefaults: z.ZodOptional<z.ZodOptional<z.ZodObject<{
334
+ includeSatellite: z.ZodOptional<z.ZodBoolean>;
335
+ includeStreetView: z.ZodOptional<z.ZodBoolean>;
336
+ includeAerial: z.ZodOptional<z.ZodBoolean>;
337
+ }, z.core.$strip>>>;
338
+ }, z.core.$strip>;
339
+ export type PluginAIInspirationPreset = z.infer<typeof PluginAIInspirationPreset>;
340
+ export declare const PluginAIInspirationPresetCategory: z.ZodObject<{
341
+ id: z.ZodString;
342
+ label: z.ZodString;
343
+ description: z.ZodOptional<z.ZodString>;
344
+ }, z.core.$strip>;
345
+ export type PluginAIInspirationPresetCategory = z.infer<typeof PluginAIInspirationPresetCategory>;
346
+ export declare const PluginAIInspirationGetPresetCatalogResult: z.ZodObject<{
347
+ categories: z.ZodArray<z.ZodObject<{
348
+ id: z.ZodString;
349
+ label: z.ZodString;
350
+ description: z.ZodOptional<z.ZodString>;
351
+ }, z.core.$strip>>;
352
+ presets: z.ZodArray<z.ZodObject<{
353
+ id: z.ZodString;
354
+ name: z.ZodString;
355
+ source: z.ZodEnum<{
356
+ curated: "curated";
357
+ user: "user";
358
+ }>;
359
+ modelId: z.ZodString;
360
+ categoryId: z.ZodOptional<z.ZodString>;
361
+ categoryLabel: z.ZodOptional<z.ZodString>;
362
+ description: z.ZodOptional<z.ZodString>;
363
+ previewImageUrl: z.ZodOptional<z.ZodString>;
364
+ prompt: z.ZodOptional<z.ZodString>;
365
+ stylePrompt: z.ZodOptional<z.ZodString>;
366
+ tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
367
+ referenceImages: z.ZodOptional<z.ZodArray<z.ZodObject<{
368
+ url: z.ZodString;
369
+ label: z.ZodOptional<z.ZodString>;
370
+ weight: z.ZodOptional<z.ZodNumber>;
371
+ }, z.core.$strip>>>;
372
+ siteDefaults: z.ZodOptional<z.ZodOptional<z.ZodObject<{
373
+ includeSatellite: z.ZodOptional<z.ZodBoolean>;
374
+ includeStreetView: z.ZodOptional<z.ZodBoolean>;
375
+ includeAerial: z.ZodOptional<z.ZodBoolean>;
376
+ }, z.core.$strip>>>;
377
+ }, z.core.$strip>>;
378
+ }, z.core.$strip>;
379
+ export type PluginAIInspirationGetPresetCatalogResult = z.infer<typeof PluginAIInspirationGetPresetCatalogResult>;
199
380
  export declare const PluginAIInspirationOutput: z.ZodObject<{
200
381
  outputType: z.ZodEnum<{
201
382
  image: "image";
@@ -304,10 +485,15 @@ export declare const PluginAIInspirationGenerateArgs: z.ZodObject<{
304
485
  "8s": "8s";
305
486
  }>>;
306
487
  }, z.core.$strip>>;
488
+ runMode: z.ZodOptional<z.ZodEnum<{
489
+ job: "job";
490
+ blocking: "blocking";
491
+ }>>;
307
492
  }, z.core.$strip>;
308
493
  export type PluginAIInspirationGenerateArgs = z.infer<typeof PluginAIInspirationGenerateArgs>;
309
494
  export declare const PluginAIInspirationRunResult: z.ZodObject<{
310
- outputs: z.ZodArray<z.ZodObject<{
495
+ jobId: z.ZodOptional<z.ZodString>;
496
+ output: z.ZodOptional<z.ZodObject<{
311
497
  outputType: z.ZodEnum<{
312
498
  image: "image";
313
499
  video: "video";
@@ -320,6 +506,19 @@ export declare const PluginAIInspirationRunResult: z.ZodObject<{
320
506
  y: z.ZodNumber;
321
507
  }, z.core.$strip>>;
322
508
  }, z.core.$strip>>;
509
+ outputs: z.ZodOptional<z.ZodArray<z.ZodObject<{
510
+ outputType: z.ZodEnum<{
511
+ image: "image";
512
+ video: "video";
513
+ }>;
514
+ shapeId: z.ZodString;
515
+ assetId: z.ZodString;
516
+ outputUrl: z.ZodOptional<z.ZodString>;
517
+ position: z.ZodOptional<z.ZodObject<{
518
+ x: z.ZodNumber;
519
+ y: z.ZodNumber;
520
+ }, z.core.$strip>>;
521
+ }, z.core.$strip>>>;
323
522
  metadata: z.ZodOptional<z.ZodObject<{
324
523
  geometryFidelity: z.ZodOptional<z.ZodString>;
325
524
  debugSummary: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodType<JsonValue, unknown, z.core.$ZodTypeInternals<JsonValue, unknown>>>>;
@@ -337,8 +536,1501 @@ export type PluginAIInspirationRunResult = z.infer<typeof PluginAIInspirationRun
337
536
  export declare const PluginAIInspirationRefineArgs: z.ZodObject<{
338
537
  sourceShapeId: z.ZodString;
339
538
  upscaleFactor: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<1.5>, z.ZodLiteral<2>, z.ZodLiteral<4>]>>;
539
+ runMode: z.ZodOptional<z.ZodEnum<{
540
+ job: "job";
541
+ blocking: "blocking";
542
+ }>>;
340
543
  }, z.core.$strip>;
341
544
  export type PluginAIInspirationRefineArgs = z.infer<typeof PluginAIInspirationRefineArgs>;
545
+ export declare const PluginAIInspirationJobProgress: z.ZodObject<{
546
+ currentStep: z.ZodOptional<z.ZodNumber>;
547
+ totalSteps: z.ZodOptional<z.ZodNumber>;
548
+ message: z.ZodOptional<z.ZodString>;
549
+ }, z.core.$strip>;
550
+ export type PluginAIInspirationJobProgress = z.infer<typeof PluginAIInspirationJobProgress>;
551
+ export declare const PluginAIInspirationJob: z.ZodObject<{
552
+ jobId: z.ZodString;
553
+ status: z.ZodEnum<{
554
+ failed: "failed";
555
+ running: "running";
556
+ queued: "queued";
557
+ completed: "completed";
558
+ cancelled: "cancelled";
559
+ }>;
560
+ createdAt: z.ZodNumber;
561
+ updatedAt: z.ZodNumber;
562
+ completedAt: z.ZodOptional<z.ZodNumber>;
563
+ method: z.ZodString;
564
+ progress: z.ZodOptional<z.ZodObject<{
565
+ currentStep: z.ZodOptional<z.ZodNumber>;
566
+ totalSteps: z.ZodOptional<z.ZodNumber>;
567
+ message: z.ZodOptional<z.ZodString>;
568
+ }, z.core.$strip>>;
569
+ result: z.ZodOptional<z.ZodObject<{
570
+ jobId: z.ZodOptional<z.ZodString>;
571
+ output: z.ZodOptional<z.ZodObject<{
572
+ outputType: z.ZodEnum<{
573
+ image: "image";
574
+ video: "video";
575
+ }>;
576
+ shapeId: z.ZodString;
577
+ assetId: z.ZodString;
578
+ outputUrl: z.ZodOptional<z.ZodString>;
579
+ position: z.ZodOptional<z.ZodObject<{
580
+ x: z.ZodNumber;
581
+ y: z.ZodNumber;
582
+ }, z.core.$strip>>;
583
+ }, z.core.$strip>>;
584
+ outputs: z.ZodOptional<z.ZodArray<z.ZodObject<{
585
+ outputType: z.ZodEnum<{
586
+ image: "image";
587
+ video: "video";
588
+ }>;
589
+ shapeId: z.ZodString;
590
+ assetId: z.ZodString;
591
+ outputUrl: z.ZodOptional<z.ZodString>;
592
+ position: z.ZodOptional<z.ZodObject<{
593
+ x: z.ZodNumber;
594
+ y: z.ZodNumber;
595
+ }, z.core.$strip>>;
596
+ }, z.core.$strip>>>;
597
+ metadata: z.ZodOptional<z.ZodObject<{
598
+ geometryFidelity: z.ZodOptional<z.ZodString>;
599
+ debugSummary: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodType<JsonValue, unknown, z.core.$ZodTypeInternals<JsonValue, unknown>>>>;
600
+ streetViewComposite: z.ZodOptional<z.ZodObject<{
601
+ used: z.ZodBoolean;
602
+ renderMode: z.ZodEnum<{
603
+ prompt_refs_default: "prompt_refs_default";
604
+ masked_composite_pilot: "masked_composite_pilot";
605
+ }>;
606
+ backgroundLabel: z.ZodOptional<z.ZodString>;
607
+ }, z.core.$strip>>;
608
+ }, z.core.$strip>>;
609
+ }, z.core.$strip>>;
610
+ error: z.ZodOptional<z.ZodString>;
611
+ }, z.core.$strip>;
612
+ export type PluginAIInspirationJob = z.infer<typeof PluginAIInspirationJob>;
613
+ export declare const PluginAIInspirationJobArgs: z.ZodObject<{
614
+ jobId: z.ZodString;
615
+ }, z.core.$strip>;
616
+ export type PluginAIInspirationJobArgs = z.infer<typeof PluginAIInspirationJobArgs>;
617
+ export declare const PluginAIInspirationGetJobResult: z.ZodObject<{
618
+ job: z.ZodObject<{
619
+ jobId: z.ZodString;
620
+ status: z.ZodEnum<{
621
+ failed: "failed";
622
+ running: "running";
623
+ queued: "queued";
624
+ completed: "completed";
625
+ cancelled: "cancelled";
626
+ }>;
627
+ createdAt: z.ZodNumber;
628
+ updatedAt: z.ZodNumber;
629
+ completedAt: z.ZodOptional<z.ZodNumber>;
630
+ method: z.ZodString;
631
+ progress: z.ZodOptional<z.ZodObject<{
632
+ currentStep: z.ZodOptional<z.ZodNumber>;
633
+ totalSteps: z.ZodOptional<z.ZodNumber>;
634
+ message: z.ZodOptional<z.ZodString>;
635
+ }, z.core.$strip>>;
636
+ result: z.ZodOptional<z.ZodObject<{
637
+ jobId: z.ZodOptional<z.ZodString>;
638
+ output: z.ZodOptional<z.ZodObject<{
639
+ outputType: z.ZodEnum<{
640
+ image: "image";
641
+ video: "video";
642
+ }>;
643
+ shapeId: z.ZodString;
644
+ assetId: z.ZodString;
645
+ outputUrl: z.ZodOptional<z.ZodString>;
646
+ position: z.ZodOptional<z.ZodObject<{
647
+ x: z.ZodNumber;
648
+ y: z.ZodNumber;
649
+ }, z.core.$strip>>;
650
+ }, z.core.$strip>>;
651
+ outputs: z.ZodOptional<z.ZodArray<z.ZodObject<{
652
+ outputType: z.ZodEnum<{
653
+ image: "image";
654
+ video: "video";
655
+ }>;
656
+ shapeId: z.ZodString;
657
+ assetId: z.ZodString;
658
+ outputUrl: z.ZodOptional<z.ZodString>;
659
+ position: z.ZodOptional<z.ZodObject<{
660
+ x: z.ZodNumber;
661
+ y: z.ZodNumber;
662
+ }, z.core.$strip>>;
663
+ }, z.core.$strip>>>;
664
+ metadata: z.ZodOptional<z.ZodObject<{
665
+ geometryFidelity: z.ZodOptional<z.ZodString>;
666
+ debugSummary: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodType<JsonValue, unknown, z.core.$ZodTypeInternals<JsonValue, unknown>>>>;
667
+ streetViewComposite: z.ZodOptional<z.ZodObject<{
668
+ used: z.ZodBoolean;
669
+ renderMode: z.ZodEnum<{
670
+ prompt_refs_default: "prompt_refs_default";
671
+ masked_composite_pilot: "masked_composite_pilot";
672
+ }>;
673
+ backgroundLabel: z.ZodOptional<z.ZodString>;
674
+ }, z.core.$strip>>;
675
+ }, z.core.$strip>>;
676
+ }, z.core.$strip>>;
677
+ error: z.ZodOptional<z.ZodString>;
678
+ }, z.core.$strip>;
679
+ }, z.core.$strip>;
680
+ export type PluginAIInspirationGetJobResult = z.infer<typeof PluginAIInspirationGetJobResult>;
681
+ export declare const PluginAIInspirationCancelJobResult: z.ZodObject<{
682
+ job: z.ZodObject<{
683
+ jobId: z.ZodString;
684
+ status: z.ZodEnum<{
685
+ failed: "failed";
686
+ running: "running";
687
+ queued: "queued";
688
+ completed: "completed";
689
+ cancelled: "cancelled";
690
+ }>;
691
+ createdAt: z.ZodNumber;
692
+ updatedAt: z.ZodNumber;
693
+ completedAt: z.ZodOptional<z.ZodNumber>;
694
+ method: z.ZodString;
695
+ progress: z.ZodOptional<z.ZodObject<{
696
+ currentStep: z.ZodOptional<z.ZodNumber>;
697
+ totalSteps: z.ZodOptional<z.ZodNumber>;
698
+ message: z.ZodOptional<z.ZodString>;
699
+ }, z.core.$strip>>;
700
+ result: z.ZodOptional<z.ZodObject<{
701
+ jobId: z.ZodOptional<z.ZodString>;
702
+ output: z.ZodOptional<z.ZodObject<{
703
+ outputType: z.ZodEnum<{
704
+ image: "image";
705
+ video: "video";
706
+ }>;
707
+ shapeId: z.ZodString;
708
+ assetId: z.ZodString;
709
+ outputUrl: z.ZodOptional<z.ZodString>;
710
+ position: z.ZodOptional<z.ZodObject<{
711
+ x: z.ZodNumber;
712
+ y: z.ZodNumber;
713
+ }, z.core.$strip>>;
714
+ }, z.core.$strip>>;
715
+ outputs: z.ZodOptional<z.ZodArray<z.ZodObject<{
716
+ outputType: z.ZodEnum<{
717
+ image: "image";
718
+ video: "video";
719
+ }>;
720
+ shapeId: z.ZodString;
721
+ assetId: z.ZodString;
722
+ outputUrl: z.ZodOptional<z.ZodString>;
723
+ position: z.ZodOptional<z.ZodObject<{
724
+ x: z.ZodNumber;
725
+ y: z.ZodNumber;
726
+ }, z.core.$strip>>;
727
+ }, z.core.$strip>>>;
728
+ metadata: z.ZodOptional<z.ZodObject<{
729
+ geometryFidelity: z.ZodOptional<z.ZodString>;
730
+ debugSummary: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodType<JsonValue, unknown, z.core.$ZodTypeInternals<JsonValue, unknown>>>>;
731
+ streetViewComposite: z.ZodOptional<z.ZodObject<{
732
+ used: z.ZodBoolean;
733
+ renderMode: z.ZodEnum<{
734
+ prompt_refs_default: "prompt_refs_default";
735
+ masked_composite_pilot: "masked_composite_pilot";
736
+ }>;
737
+ backgroundLabel: z.ZodOptional<z.ZodString>;
738
+ }, z.core.$strip>>;
739
+ }, z.core.$strip>>;
740
+ }, z.core.$strip>>;
741
+ error: z.ZodOptional<z.ZodString>;
742
+ }, z.core.$strip>;
743
+ }, z.core.$strip>;
744
+ export type PluginAIInspirationCancelJobResult = z.infer<typeof PluginAIInspirationCancelJobResult>;
745
+ export declare const PluginAIInspirationListJobsResult: z.ZodObject<{
746
+ jobs: z.ZodArray<z.ZodObject<{
747
+ jobId: z.ZodString;
748
+ status: z.ZodEnum<{
749
+ failed: "failed";
750
+ running: "running";
751
+ queued: "queued";
752
+ completed: "completed";
753
+ cancelled: "cancelled";
754
+ }>;
755
+ createdAt: z.ZodNumber;
756
+ updatedAt: z.ZodNumber;
757
+ completedAt: z.ZodOptional<z.ZodNumber>;
758
+ method: z.ZodString;
759
+ progress: z.ZodOptional<z.ZodObject<{
760
+ currentStep: z.ZodOptional<z.ZodNumber>;
761
+ totalSteps: z.ZodOptional<z.ZodNumber>;
762
+ message: z.ZodOptional<z.ZodString>;
763
+ }, z.core.$strip>>;
764
+ result: z.ZodOptional<z.ZodObject<{
765
+ jobId: z.ZodOptional<z.ZodString>;
766
+ output: z.ZodOptional<z.ZodObject<{
767
+ outputType: z.ZodEnum<{
768
+ image: "image";
769
+ video: "video";
770
+ }>;
771
+ shapeId: z.ZodString;
772
+ assetId: z.ZodString;
773
+ outputUrl: z.ZodOptional<z.ZodString>;
774
+ position: z.ZodOptional<z.ZodObject<{
775
+ x: z.ZodNumber;
776
+ y: z.ZodNumber;
777
+ }, z.core.$strip>>;
778
+ }, z.core.$strip>>;
779
+ outputs: z.ZodOptional<z.ZodArray<z.ZodObject<{
780
+ outputType: z.ZodEnum<{
781
+ image: "image";
782
+ video: "video";
783
+ }>;
784
+ shapeId: z.ZodString;
785
+ assetId: z.ZodString;
786
+ outputUrl: z.ZodOptional<z.ZodString>;
787
+ position: z.ZodOptional<z.ZodObject<{
788
+ x: z.ZodNumber;
789
+ y: z.ZodNumber;
790
+ }, z.core.$strip>>;
791
+ }, z.core.$strip>>>;
792
+ metadata: z.ZodOptional<z.ZodObject<{
793
+ geometryFidelity: z.ZodOptional<z.ZodString>;
794
+ debugSummary: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodType<JsonValue, unknown, z.core.$ZodTypeInternals<JsonValue, unknown>>>>;
795
+ streetViewComposite: z.ZodOptional<z.ZodObject<{
796
+ used: z.ZodBoolean;
797
+ renderMode: z.ZodEnum<{
798
+ prompt_refs_default: "prompt_refs_default";
799
+ masked_composite_pilot: "masked_composite_pilot";
800
+ }>;
801
+ backgroundLabel: z.ZodOptional<z.ZodString>;
802
+ }, z.core.$strip>>;
803
+ }, z.core.$strip>>;
804
+ }, z.core.$strip>>;
805
+ error: z.ZodOptional<z.ZodString>;
806
+ }, z.core.$strip>>;
807
+ }, z.core.$strip>;
808
+ export type PluginAIInspirationListJobsResult = z.infer<typeof PluginAIInspirationListJobsResult>;
809
+ export declare const PluginAIInspirationWorkflowVideoConfig: z.ZodObject<{
810
+ mode: z.ZodOptional<z.ZodString>;
811
+ motion: z.ZodOptional<z.ZodString>;
812
+ duration: z.ZodOptional<z.ZodString>;
813
+ endFrameShapeId: z.ZodOptional<z.ZodString>;
814
+ }, z.core.$strip>;
815
+ export type PluginAIInspirationWorkflowVideoConfig = z.infer<typeof PluginAIInspirationWorkflowVideoConfig>;
816
+ export declare const PluginAIInspirationGenerationInputSnapshot: z.ZodObject<{
817
+ version: z.ZodLiteral<1>;
818
+ meta: z.ZodRecord<z.ZodString, z.ZodType<JsonValue, unknown, z.core.$ZodTypeInternals<JsonValue, unknown>>>;
819
+ regionHint: z.ZodOptional<z.ZodObject<{
820
+ x: z.ZodNumber;
821
+ y: z.ZodNumber;
822
+ w: z.ZodNumber;
823
+ h: z.ZodNumber;
824
+ }, z.core.$strip>>;
825
+ sketchGuidance: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodType<JsonValue, unknown, z.core.$ZodTypeInternals<JsonValue, unknown>>>>;
826
+ sourceCameraHeading: z.ZodOptional<z.ZodNumber>;
827
+ }, z.core.$strip>;
828
+ export type PluginAIInspirationGenerationInputSnapshot = z.infer<typeof PluginAIInspirationGenerationInputSnapshot>;
829
+ export declare const PluginAIInspirationWorkflowOperation: z.ZodObject<{
830
+ type: z.ZodEnum<{
831
+ "generate-image": "generate-image";
832
+ refine: "refine";
833
+ "generate-video": "generate-video";
834
+ }>;
835
+ label: z.ZodString;
836
+ prompt: z.ZodOptional<z.ZodString>;
837
+ modelId: z.ZodOptional<z.ZodString>;
838
+ presetId: z.ZodOptional<z.ZodString>;
839
+ presetName: z.ZodOptional<z.ZodString>;
840
+ refineFactor: z.ZodOptional<z.ZodNumber>;
841
+ sourceRole: z.ZodOptional<z.ZodEnum<{
842
+ primary: "primary";
843
+ "end-frame": "end-frame";
844
+ }>>;
845
+ video: z.ZodOptional<z.ZodObject<{
846
+ mode: z.ZodOptional<z.ZodString>;
847
+ motion: z.ZodOptional<z.ZodString>;
848
+ duration: z.ZodOptional<z.ZodString>;
849
+ endFrameShapeId: z.ZodOptional<z.ZodString>;
850
+ }, z.core.$strip>>;
851
+ generationInput: z.ZodOptional<z.ZodObject<{
852
+ version: z.ZodLiteral<1>;
853
+ meta: z.ZodRecord<z.ZodString, z.ZodType<JsonValue, unknown, z.core.$ZodTypeInternals<JsonValue, unknown>>>;
854
+ regionHint: z.ZodOptional<z.ZodObject<{
855
+ x: z.ZodNumber;
856
+ y: z.ZodNumber;
857
+ w: z.ZodNumber;
858
+ h: z.ZodNumber;
859
+ }, z.core.$strip>>;
860
+ sketchGuidance: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodType<JsonValue, unknown, z.core.$ZodTypeInternals<JsonValue, unknown>>>>;
861
+ sourceCameraHeading: z.ZodOptional<z.ZodNumber>;
862
+ }, z.core.$strip>>;
863
+ }, z.core.$strip>;
864
+ export type PluginAIInspirationWorkflowOperation = z.infer<typeof PluginAIInspirationWorkflowOperation>;
865
+ export declare const PluginAIInspirationWorkflowNode: z.ZodObject<{
866
+ id: z.ZodString;
867
+ shapeId: z.ZodString;
868
+ assetId: z.ZodOptional<z.ZodString>;
869
+ kind: z.ZodEnum<{
870
+ image: "image";
871
+ source: "source";
872
+ video: "video";
873
+ }>;
874
+ state: z.ZodString;
875
+ runState: z.ZodOptional<z.ZodEnum<{
876
+ failed: "failed";
877
+ running: "running";
878
+ current: "current";
879
+ stale: "stale";
880
+ superseded: "superseded";
881
+ }>>;
882
+ staleReason: z.ZodOptional<z.ZodString>;
883
+ incomingEdgeIds: z.ZodArray<z.ZodString>;
884
+ outgoingEdgeIds: z.ZodArray<z.ZodString>;
885
+ createdAt: z.ZodNumber;
886
+ updatedAt: z.ZodNumber;
887
+ }, z.core.$strip>;
888
+ export type PluginAIInspirationWorkflowNode = z.infer<typeof PluginAIInspirationWorkflowNode>;
889
+ export declare const PluginAIInspirationWorkflowEdge: z.ZodObject<{
890
+ id: z.ZodString;
891
+ sourceNodeId: z.ZodString;
892
+ targetNodeId: z.ZodString;
893
+ arrowShapeId: z.ZodOptional<z.ZodString>;
894
+ operation: z.ZodObject<{
895
+ type: z.ZodEnum<{
896
+ "generate-image": "generate-image";
897
+ refine: "refine";
898
+ "generate-video": "generate-video";
899
+ }>;
900
+ label: z.ZodString;
901
+ prompt: z.ZodOptional<z.ZodString>;
902
+ modelId: z.ZodOptional<z.ZodString>;
903
+ presetId: z.ZodOptional<z.ZodString>;
904
+ presetName: z.ZodOptional<z.ZodString>;
905
+ refineFactor: z.ZodOptional<z.ZodNumber>;
906
+ sourceRole: z.ZodOptional<z.ZodEnum<{
907
+ primary: "primary";
908
+ "end-frame": "end-frame";
909
+ }>>;
910
+ video: z.ZodOptional<z.ZodObject<{
911
+ mode: z.ZodOptional<z.ZodString>;
912
+ motion: z.ZodOptional<z.ZodString>;
913
+ duration: z.ZodOptional<z.ZodString>;
914
+ endFrameShapeId: z.ZodOptional<z.ZodString>;
915
+ }, z.core.$strip>>;
916
+ generationInput: z.ZodOptional<z.ZodObject<{
917
+ version: z.ZodLiteral<1>;
918
+ meta: z.ZodRecord<z.ZodString, z.ZodType<JsonValue, unknown, z.core.$ZodTypeInternals<JsonValue, unknown>>>;
919
+ regionHint: z.ZodOptional<z.ZodObject<{
920
+ x: z.ZodNumber;
921
+ y: z.ZodNumber;
922
+ w: z.ZodNumber;
923
+ h: z.ZodNumber;
924
+ }, z.core.$strip>>;
925
+ sketchGuidance: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodType<JsonValue, unknown, z.core.$ZodTypeInternals<JsonValue, unknown>>>>;
926
+ sourceCameraHeading: z.ZodOptional<z.ZodNumber>;
927
+ }, z.core.$strip>>;
928
+ }, z.core.$strip>;
929
+ state: z.ZodString;
930
+ runState: z.ZodOptional<z.ZodEnum<{
931
+ failed: "failed";
932
+ running: "running";
933
+ current: "current";
934
+ stale: "stale";
935
+ superseded: "superseded";
936
+ }>>;
937
+ staleReason: z.ZodOptional<z.ZodString>;
938
+ supersededByEdgeId: z.ZodOptional<z.ZodString>;
939
+ createdAt: z.ZodNumber;
940
+ updatedAt: z.ZodNumber;
941
+ }, z.core.$strip>;
942
+ export type PluginAIInspirationWorkflowEdge = z.infer<typeof PluginAIInspirationWorkflowEdge>;
943
+ export declare const PluginAIInspirationWorkflow: z.ZodObject<{
944
+ id: z.ZodString;
945
+ rootNodeIds: z.ZodArray<z.ZodString>;
946
+ nodeIds: z.ZodArray<z.ZodString>;
947
+ edgeIds: z.ZodArray<z.ZodString>;
948
+ nodes: z.ZodRecord<z.ZodString, z.ZodObject<{
949
+ id: z.ZodString;
950
+ shapeId: z.ZodString;
951
+ assetId: z.ZodOptional<z.ZodString>;
952
+ kind: z.ZodEnum<{
953
+ image: "image";
954
+ source: "source";
955
+ video: "video";
956
+ }>;
957
+ state: z.ZodString;
958
+ runState: z.ZodOptional<z.ZodEnum<{
959
+ failed: "failed";
960
+ running: "running";
961
+ current: "current";
962
+ stale: "stale";
963
+ superseded: "superseded";
964
+ }>>;
965
+ staleReason: z.ZodOptional<z.ZodString>;
966
+ incomingEdgeIds: z.ZodArray<z.ZodString>;
967
+ outgoingEdgeIds: z.ZodArray<z.ZodString>;
968
+ createdAt: z.ZodNumber;
969
+ updatedAt: z.ZodNumber;
970
+ }, z.core.$strip>>;
971
+ edges: z.ZodRecord<z.ZodString, z.ZodObject<{
972
+ id: z.ZodString;
973
+ sourceNodeId: z.ZodString;
974
+ targetNodeId: z.ZodString;
975
+ arrowShapeId: z.ZodOptional<z.ZodString>;
976
+ operation: z.ZodObject<{
977
+ type: z.ZodEnum<{
978
+ "generate-image": "generate-image";
979
+ refine: "refine";
980
+ "generate-video": "generate-video";
981
+ }>;
982
+ label: z.ZodString;
983
+ prompt: z.ZodOptional<z.ZodString>;
984
+ modelId: z.ZodOptional<z.ZodString>;
985
+ presetId: z.ZodOptional<z.ZodString>;
986
+ presetName: z.ZodOptional<z.ZodString>;
987
+ refineFactor: z.ZodOptional<z.ZodNumber>;
988
+ sourceRole: z.ZodOptional<z.ZodEnum<{
989
+ primary: "primary";
990
+ "end-frame": "end-frame";
991
+ }>>;
992
+ video: z.ZodOptional<z.ZodObject<{
993
+ mode: z.ZodOptional<z.ZodString>;
994
+ motion: z.ZodOptional<z.ZodString>;
995
+ duration: z.ZodOptional<z.ZodString>;
996
+ endFrameShapeId: z.ZodOptional<z.ZodString>;
997
+ }, z.core.$strip>>;
998
+ generationInput: z.ZodOptional<z.ZodObject<{
999
+ version: z.ZodLiteral<1>;
1000
+ meta: z.ZodRecord<z.ZodString, z.ZodType<JsonValue, unknown, z.core.$ZodTypeInternals<JsonValue, unknown>>>;
1001
+ regionHint: z.ZodOptional<z.ZodObject<{
1002
+ x: z.ZodNumber;
1003
+ y: z.ZodNumber;
1004
+ w: z.ZodNumber;
1005
+ h: z.ZodNumber;
1006
+ }, z.core.$strip>>;
1007
+ sketchGuidance: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodType<JsonValue, unknown, z.core.$ZodTypeInternals<JsonValue, unknown>>>>;
1008
+ sourceCameraHeading: z.ZodOptional<z.ZodNumber>;
1009
+ }, z.core.$strip>>;
1010
+ }, z.core.$strip>;
1011
+ state: z.ZodString;
1012
+ runState: z.ZodOptional<z.ZodEnum<{
1013
+ failed: "failed";
1014
+ running: "running";
1015
+ current: "current";
1016
+ stale: "stale";
1017
+ superseded: "superseded";
1018
+ }>>;
1019
+ staleReason: z.ZodOptional<z.ZodString>;
1020
+ supersededByEdgeId: z.ZodOptional<z.ZodString>;
1021
+ createdAt: z.ZodNumber;
1022
+ updatedAt: z.ZodNumber;
1023
+ }, z.core.$strip>>;
1024
+ createdAt: z.ZodNumber;
1025
+ updatedAt: z.ZodNumber;
1026
+ }, z.core.$strip>;
1027
+ export type PluginAIInspirationWorkflow = z.infer<typeof PluginAIInspirationWorkflow>;
1028
+ export declare const PluginAIInspirationGetWorkflowForShapeArgs: z.ZodObject<{
1029
+ shapeId: z.ZodString;
1030
+ }, z.core.$strip>;
1031
+ export type PluginAIInspirationGetWorkflowForShapeArgs = z.infer<typeof PluginAIInspirationGetWorkflowForShapeArgs>;
1032
+ export declare const PluginAIInspirationGetWorkflowForShapeResult: z.ZodObject<{
1033
+ workflow: z.ZodNullable<z.ZodObject<{
1034
+ id: z.ZodString;
1035
+ rootNodeIds: z.ZodArray<z.ZodString>;
1036
+ nodeIds: z.ZodArray<z.ZodString>;
1037
+ edgeIds: z.ZodArray<z.ZodString>;
1038
+ nodes: z.ZodRecord<z.ZodString, z.ZodObject<{
1039
+ id: z.ZodString;
1040
+ shapeId: z.ZodString;
1041
+ assetId: z.ZodOptional<z.ZodString>;
1042
+ kind: z.ZodEnum<{
1043
+ image: "image";
1044
+ source: "source";
1045
+ video: "video";
1046
+ }>;
1047
+ state: z.ZodString;
1048
+ runState: z.ZodOptional<z.ZodEnum<{
1049
+ failed: "failed";
1050
+ running: "running";
1051
+ current: "current";
1052
+ stale: "stale";
1053
+ superseded: "superseded";
1054
+ }>>;
1055
+ staleReason: z.ZodOptional<z.ZodString>;
1056
+ incomingEdgeIds: z.ZodArray<z.ZodString>;
1057
+ outgoingEdgeIds: z.ZodArray<z.ZodString>;
1058
+ createdAt: z.ZodNumber;
1059
+ updatedAt: z.ZodNumber;
1060
+ }, z.core.$strip>>;
1061
+ edges: z.ZodRecord<z.ZodString, z.ZodObject<{
1062
+ id: z.ZodString;
1063
+ sourceNodeId: z.ZodString;
1064
+ targetNodeId: z.ZodString;
1065
+ arrowShapeId: z.ZodOptional<z.ZodString>;
1066
+ operation: z.ZodObject<{
1067
+ type: z.ZodEnum<{
1068
+ "generate-image": "generate-image";
1069
+ refine: "refine";
1070
+ "generate-video": "generate-video";
1071
+ }>;
1072
+ label: z.ZodString;
1073
+ prompt: z.ZodOptional<z.ZodString>;
1074
+ modelId: z.ZodOptional<z.ZodString>;
1075
+ presetId: z.ZodOptional<z.ZodString>;
1076
+ presetName: z.ZodOptional<z.ZodString>;
1077
+ refineFactor: z.ZodOptional<z.ZodNumber>;
1078
+ sourceRole: z.ZodOptional<z.ZodEnum<{
1079
+ primary: "primary";
1080
+ "end-frame": "end-frame";
1081
+ }>>;
1082
+ video: z.ZodOptional<z.ZodObject<{
1083
+ mode: z.ZodOptional<z.ZodString>;
1084
+ motion: z.ZodOptional<z.ZodString>;
1085
+ duration: z.ZodOptional<z.ZodString>;
1086
+ endFrameShapeId: z.ZodOptional<z.ZodString>;
1087
+ }, z.core.$strip>>;
1088
+ generationInput: z.ZodOptional<z.ZodObject<{
1089
+ version: z.ZodLiteral<1>;
1090
+ meta: z.ZodRecord<z.ZodString, z.ZodType<JsonValue, unknown, z.core.$ZodTypeInternals<JsonValue, unknown>>>;
1091
+ regionHint: z.ZodOptional<z.ZodObject<{
1092
+ x: z.ZodNumber;
1093
+ y: z.ZodNumber;
1094
+ w: z.ZodNumber;
1095
+ h: z.ZodNumber;
1096
+ }, z.core.$strip>>;
1097
+ sketchGuidance: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodType<JsonValue, unknown, z.core.$ZodTypeInternals<JsonValue, unknown>>>>;
1098
+ sourceCameraHeading: z.ZodOptional<z.ZodNumber>;
1099
+ }, z.core.$strip>>;
1100
+ }, z.core.$strip>;
1101
+ state: z.ZodString;
1102
+ runState: z.ZodOptional<z.ZodEnum<{
1103
+ failed: "failed";
1104
+ running: "running";
1105
+ current: "current";
1106
+ stale: "stale";
1107
+ superseded: "superseded";
1108
+ }>>;
1109
+ staleReason: z.ZodOptional<z.ZodString>;
1110
+ supersededByEdgeId: z.ZodOptional<z.ZodString>;
1111
+ createdAt: z.ZodNumber;
1112
+ updatedAt: z.ZodNumber;
1113
+ }, z.core.$strip>>;
1114
+ createdAt: z.ZodNumber;
1115
+ updatedAt: z.ZodNumber;
1116
+ }, z.core.$strip>>;
1117
+ node: z.ZodNullable<z.ZodObject<{
1118
+ id: z.ZodString;
1119
+ shapeId: z.ZodString;
1120
+ assetId: z.ZodOptional<z.ZodString>;
1121
+ kind: z.ZodEnum<{
1122
+ image: "image";
1123
+ source: "source";
1124
+ video: "video";
1125
+ }>;
1126
+ state: z.ZodString;
1127
+ runState: z.ZodOptional<z.ZodEnum<{
1128
+ failed: "failed";
1129
+ running: "running";
1130
+ current: "current";
1131
+ stale: "stale";
1132
+ superseded: "superseded";
1133
+ }>>;
1134
+ staleReason: z.ZodOptional<z.ZodString>;
1135
+ incomingEdgeIds: z.ZodArray<z.ZodString>;
1136
+ outgoingEdgeIds: z.ZodArray<z.ZodString>;
1137
+ createdAt: z.ZodNumber;
1138
+ updatedAt: z.ZodNumber;
1139
+ }, z.core.$strip>>;
1140
+ }, z.core.$strip>;
1141
+ export type PluginAIInspirationGetWorkflowForShapeResult = z.infer<typeof PluginAIInspirationGetWorkflowForShapeResult>;
1142
+ export declare const PluginAIInspirationRerunPlanResult: z.ZodDiscriminatedUnion<[z.ZodObject<{
1143
+ status: z.ZodLiteral<"ready">;
1144
+ workflowId: z.ZodString;
1145
+ sourceNode: z.ZodObject<{
1146
+ id: z.ZodString;
1147
+ shapeId: z.ZodString;
1148
+ assetId: z.ZodOptional<z.ZodString>;
1149
+ kind: z.ZodEnum<{
1150
+ image: "image";
1151
+ source: "source";
1152
+ video: "video";
1153
+ }>;
1154
+ state: z.ZodString;
1155
+ runState: z.ZodOptional<z.ZodEnum<{
1156
+ failed: "failed";
1157
+ running: "running";
1158
+ current: "current";
1159
+ stale: "stale";
1160
+ superseded: "superseded";
1161
+ }>>;
1162
+ staleReason: z.ZodOptional<z.ZodString>;
1163
+ incomingEdgeIds: z.ZodArray<z.ZodString>;
1164
+ outgoingEdgeIds: z.ZodArray<z.ZodString>;
1165
+ createdAt: z.ZodNumber;
1166
+ updatedAt: z.ZodNumber;
1167
+ }, z.core.$strip>;
1168
+ edgeIds: z.ZodArray<z.ZodString>;
1169
+ edges: z.ZodArray<z.ZodObject<{
1170
+ id: z.ZodString;
1171
+ sourceNodeId: z.ZodString;
1172
+ targetNodeId: z.ZodString;
1173
+ arrowShapeId: z.ZodOptional<z.ZodString>;
1174
+ operation: z.ZodObject<{
1175
+ type: z.ZodEnum<{
1176
+ "generate-image": "generate-image";
1177
+ refine: "refine";
1178
+ "generate-video": "generate-video";
1179
+ }>;
1180
+ label: z.ZodString;
1181
+ prompt: z.ZodOptional<z.ZodString>;
1182
+ modelId: z.ZodOptional<z.ZodString>;
1183
+ presetId: z.ZodOptional<z.ZodString>;
1184
+ presetName: z.ZodOptional<z.ZodString>;
1185
+ refineFactor: z.ZodOptional<z.ZodNumber>;
1186
+ sourceRole: z.ZodOptional<z.ZodEnum<{
1187
+ primary: "primary";
1188
+ "end-frame": "end-frame";
1189
+ }>>;
1190
+ video: z.ZodOptional<z.ZodObject<{
1191
+ mode: z.ZodOptional<z.ZodString>;
1192
+ motion: z.ZodOptional<z.ZodString>;
1193
+ duration: z.ZodOptional<z.ZodString>;
1194
+ endFrameShapeId: z.ZodOptional<z.ZodString>;
1195
+ }, z.core.$strip>>;
1196
+ generationInput: z.ZodOptional<z.ZodObject<{
1197
+ version: z.ZodLiteral<1>;
1198
+ meta: z.ZodRecord<z.ZodString, z.ZodType<JsonValue, unknown, z.core.$ZodTypeInternals<JsonValue, unknown>>>;
1199
+ regionHint: z.ZodOptional<z.ZodObject<{
1200
+ x: z.ZodNumber;
1201
+ y: z.ZodNumber;
1202
+ w: z.ZodNumber;
1203
+ h: z.ZodNumber;
1204
+ }, z.core.$strip>>;
1205
+ sketchGuidance: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodType<JsonValue, unknown, z.core.$ZodTypeInternals<JsonValue, unknown>>>>;
1206
+ sourceCameraHeading: z.ZodOptional<z.ZodNumber>;
1207
+ }, z.core.$strip>>;
1208
+ }, z.core.$strip>;
1209
+ state: z.ZodString;
1210
+ runState: z.ZodOptional<z.ZodEnum<{
1211
+ failed: "failed";
1212
+ running: "running";
1213
+ current: "current";
1214
+ stale: "stale";
1215
+ superseded: "superseded";
1216
+ }>>;
1217
+ staleReason: z.ZodOptional<z.ZodString>;
1218
+ supersededByEdgeId: z.ZodOptional<z.ZodString>;
1219
+ createdAt: z.ZodNumber;
1220
+ updatedAt: z.ZodNumber;
1221
+ }, z.core.$strip>>;
1222
+ recipe: z.ZodLazy<z.ZodType<{
1223
+ name: string;
1224
+ summary: string;
1225
+ slots: {
1226
+ id: string;
1227
+ type: "end-frame" | "source-image";
1228
+ label: string;
1229
+ required: boolean;
1230
+ }[];
1231
+ steps: {
1232
+ id: string;
1233
+ operation: {
1234
+ type: "generate-image" | "refine" | "generate-video";
1235
+ label: string;
1236
+ prompt?: string | undefined;
1237
+ modelId?: string | undefined;
1238
+ presetId?: string | undefined;
1239
+ presetName?: string | undefined;
1240
+ refineFactor?: number | undefined;
1241
+ sourceRole?: "primary" | "end-frame" | undefined;
1242
+ video?: {
1243
+ mode?: string | undefined;
1244
+ motion?: string | undefined;
1245
+ duration?: string | undefined;
1246
+ endFrameShapeId?: string | undefined;
1247
+ } | undefined;
1248
+ generationInput?: {
1249
+ version: 1;
1250
+ meta: Record<string, JsonValue>;
1251
+ regionHint?: {
1252
+ x: number;
1253
+ y: number;
1254
+ w: number;
1255
+ h: number;
1256
+ } | undefined;
1257
+ sketchGuidance?: Record<string, JsonValue> | undefined;
1258
+ sourceCameraHeading?: number | undefined;
1259
+ } | undefined;
1260
+ };
1261
+ outputKind: "image" | "video";
1262
+ }[];
1263
+ outputKind: "image" | "video";
1264
+ thumbnailUrl?: string | undefined;
1265
+ } & {
1266
+ version: 1;
1267
+ id: string;
1268
+ fingerprint?: string;
1269
+ createdAt: number;
1270
+ updatedAt: number;
1271
+ }, unknown, z.core.$ZodTypeInternals<{
1272
+ name: string;
1273
+ summary: string;
1274
+ slots: {
1275
+ id: string;
1276
+ type: "end-frame" | "source-image";
1277
+ label: string;
1278
+ required: boolean;
1279
+ }[];
1280
+ steps: {
1281
+ id: string;
1282
+ operation: {
1283
+ type: "generate-image" | "refine" | "generate-video";
1284
+ label: string;
1285
+ prompt?: string | undefined;
1286
+ modelId?: string | undefined;
1287
+ presetId?: string | undefined;
1288
+ presetName?: string | undefined;
1289
+ refineFactor?: number | undefined;
1290
+ sourceRole?: "primary" | "end-frame" | undefined;
1291
+ video?: {
1292
+ mode?: string | undefined;
1293
+ motion?: string | undefined;
1294
+ duration?: string | undefined;
1295
+ endFrameShapeId?: string | undefined;
1296
+ } | undefined;
1297
+ generationInput?: {
1298
+ version: 1;
1299
+ meta: Record<string, JsonValue>;
1300
+ regionHint?: {
1301
+ x: number;
1302
+ y: number;
1303
+ w: number;
1304
+ h: number;
1305
+ } | undefined;
1306
+ sketchGuidance?: Record<string, JsonValue> | undefined;
1307
+ sourceCameraHeading?: number | undefined;
1308
+ } | undefined;
1309
+ };
1310
+ outputKind: "image" | "video";
1311
+ }[];
1312
+ outputKind: "image" | "video";
1313
+ thumbnailUrl?: string | undefined;
1314
+ } & {
1315
+ version: 1;
1316
+ id: string;
1317
+ fingerprint?: string;
1318
+ createdAt: number;
1319
+ updatedAt: number;
1320
+ }, unknown>>>;
1321
+ needsEndFrame: z.ZodBoolean;
1322
+ defaultEndFrameShapeId: z.ZodNullable<z.ZodString>;
1323
+ }, z.core.$strip>, z.ZodObject<{
1324
+ status: z.ZodLiteral<"unavailable">;
1325
+ reason: z.ZodEnum<{
1326
+ running: "running";
1327
+ "not-in-workflow": "not-in-workflow";
1328
+ "source-only": "source-only";
1329
+ "missing-input": "missing-input";
1330
+ }>;
1331
+ }, z.core.$strip>], "status">;
1332
+ export type PluginAIInspirationRerunPlanResult = z.infer<typeof PluginAIInspirationRerunPlanResult>;
1333
+ export declare const PluginAIInspirationRerunSelectedBranchArgs: z.ZodObject<{
1334
+ shapeId: z.ZodString;
1335
+ endFrameShapeId: z.ZodOptional<z.ZodString>;
1336
+ runMode: z.ZodOptional<z.ZodEnum<{
1337
+ job: "job";
1338
+ blocking: "blocking";
1339
+ }>>;
1340
+ }, z.core.$strip>;
1341
+ export type PluginAIInspirationRerunSelectedBranchArgs = z.infer<typeof PluginAIInspirationRerunSelectedBranchArgs>;
1342
+ export declare const PluginAIInspirationRecipeSlot: z.ZodObject<{
1343
+ id: z.ZodString;
1344
+ type: z.ZodEnum<{
1345
+ "end-frame": "end-frame";
1346
+ "source-image": "source-image";
1347
+ }>;
1348
+ label: z.ZodString;
1349
+ required: z.ZodBoolean;
1350
+ }, z.core.$strip>;
1351
+ export type PluginAIInspirationRecipeSlot = z.infer<typeof PluginAIInspirationRecipeSlot>;
1352
+ export declare const PluginAIInspirationRecipeStep: z.ZodObject<{
1353
+ id: z.ZodString;
1354
+ operation: z.ZodObject<{
1355
+ type: z.ZodEnum<{
1356
+ "generate-image": "generate-image";
1357
+ refine: "refine";
1358
+ "generate-video": "generate-video";
1359
+ }>;
1360
+ label: z.ZodString;
1361
+ prompt: z.ZodOptional<z.ZodString>;
1362
+ modelId: z.ZodOptional<z.ZodString>;
1363
+ presetId: z.ZodOptional<z.ZodString>;
1364
+ presetName: z.ZodOptional<z.ZodString>;
1365
+ refineFactor: z.ZodOptional<z.ZodNumber>;
1366
+ sourceRole: z.ZodOptional<z.ZodEnum<{
1367
+ primary: "primary";
1368
+ "end-frame": "end-frame";
1369
+ }>>;
1370
+ video: z.ZodOptional<z.ZodObject<{
1371
+ mode: z.ZodOptional<z.ZodString>;
1372
+ motion: z.ZodOptional<z.ZodString>;
1373
+ duration: z.ZodOptional<z.ZodString>;
1374
+ endFrameShapeId: z.ZodOptional<z.ZodString>;
1375
+ }, z.core.$strip>>;
1376
+ generationInput: z.ZodOptional<z.ZodObject<{
1377
+ version: z.ZodLiteral<1>;
1378
+ meta: z.ZodRecord<z.ZodString, z.ZodType<JsonValue, unknown, z.core.$ZodTypeInternals<JsonValue, unknown>>>;
1379
+ regionHint: z.ZodOptional<z.ZodObject<{
1380
+ x: z.ZodNumber;
1381
+ y: z.ZodNumber;
1382
+ w: z.ZodNumber;
1383
+ h: z.ZodNumber;
1384
+ }, z.core.$strip>>;
1385
+ sketchGuidance: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodType<JsonValue, unknown, z.core.$ZodTypeInternals<JsonValue, unknown>>>>;
1386
+ sourceCameraHeading: z.ZodOptional<z.ZodNumber>;
1387
+ }, z.core.$strip>>;
1388
+ }, z.core.$strip>;
1389
+ outputKind: z.ZodEnum<{
1390
+ image: "image";
1391
+ video: "video";
1392
+ }>;
1393
+ }, z.core.$strip>;
1394
+ export type PluginAIInspirationRecipeStep = z.infer<typeof PluginAIInspirationRecipeStep>;
1395
+ export declare const PluginAIInspirationRecipeDraft: z.ZodObject<{
1396
+ name: z.ZodString;
1397
+ summary: z.ZodString;
1398
+ slots: z.ZodArray<z.ZodObject<{
1399
+ id: z.ZodString;
1400
+ type: z.ZodEnum<{
1401
+ "end-frame": "end-frame";
1402
+ "source-image": "source-image";
1403
+ }>;
1404
+ label: z.ZodString;
1405
+ required: z.ZodBoolean;
1406
+ }, z.core.$strip>>;
1407
+ steps: z.ZodArray<z.ZodObject<{
1408
+ id: z.ZodString;
1409
+ operation: z.ZodObject<{
1410
+ type: z.ZodEnum<{
1411
+ "generate-image": "generate-image";
1412
+ refine: "refine";
1413
+ "generate-video": "generate-video";
1414
+ }>;
1415
+ label: z.ZodString;
1416
+ prompt: z.ZodOptional<z.ZodString>;
1417
+ modelId: z.ZodOptional<z.ZodString>;
1418
+ presetId: z.ZodOptional<z.ZodString>;
1419
+ presetName: z.ZodOptional<z.ZodString>;
1420
+ refineFactor: z.ZodOptional<z.ZodNumber>;
1421
+ sourceRole: z.ZodOptional<z.ZodEnum<{
1422
+ primary: "primary";
1423
+ "end-frame": "end-frame";
1424
+ }>>;
1425
+ video: z.ZodOptional<z.ZodObject<{
1426
+ mode: z.ZodOptional<z.ZodString>;
1427
+ motion: z.ZodOptional<z.ZodString>;
1428
+ duration: z.ZodOptional<z.ZodString>;
1429
+ endFrameShapeId: z.ZodOptional<z.ZodString>;
1430
+ }, z.core.$strip>>;
1431
+ generationInput: z.ZodOptional<z.ZodObject<{
1432
+ version: z.ZodLiteral<1>;
1433
+ meta: z.ZodRecord<z.ZodString, z.ZodType<JsonValue, unknown, z.core.$ZodTypeInternals<JsonValue, unknown>>>;
1434
+ regionHint: z.ZodOptional<z.ZodObject<{
1435
+ x: z.ZodNumber;
1436
+ y: z.ZodNumber;
1437
+ w: z.ZodNumber;
1438
+ h: z.ZodNumber;
1439
+ }, z.core.$strip>>;
1440
+ sketchGuidance: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodType<JsonValue, unknown, z.core.$ZodTypeInternals<JsonValue, unknown>>>>;
1441
+ sourceCameraHeading: z.ZodOptional<z.ZodNumber>;
1442
+ }, z.core.$strip>>;
1443
+ }, z.core.$strip>;
1444
+ outputKind: z.ZodEnum<{
1445
+ image: "image";
1446
+ video: "video";
1447
+ }>;
1448
+ }, z.core.$strip>>;
1449
+ outputKind: z.ZodEnum<{
1450
+ image: "image";
1451
+ video: "video";
1452
+ }>;
1453
+ thumbnailUrl: z.ZodOptional<z.ZodString>;
1454
+ }, z.core.$strip>;
1455
+ export type PluginAIInspirationRecipeDraft = z.infer<typeof PluginAIInspirationRecipeDraft>;
1456
+ export declare const PluginAIInspirationRecipe: z.ZodType<PluginAIInspirationRecipeDraft & {
1457
+ version: 1;
1458
+ id: string;
1459
+ fingerprint?: string;
1460
+ createdAt: number;
1461
+ updatedAt: number;
1462
+ }>;
1463
+ export type PluginAIInspirationRecipe = z.infer<typeof PluginAIInspirationRecipe>;
1464
+ export declare const PluginAIInspirationExtractionResult: z.ZodDiscriminatedUnion<[z.ZodObject<{
1465
+ status: z.ZodLiteral<"ready">;
1466
+ draft: z.ZodObject<{
1467
+ name: z.ZodString;
1468
+ summary: z.ZodString;
1469
+ slots: z.ZodArray<z.ZodObject<{
1470
+ id: z.ZodString;
1471
+ type: z.ZodEnum<{
1472
+ "end-frame": "end-frame";
1473
+ "source-image": "source-image";
1474
+ }>;
1475
+ label: z.ZodString;
1476
+ required: z.ZodBoolean;
1477
+ }, z.core.$strip>>;
1478
+ steps: z.ZodArray<z.ZodObject<{
1479
+ id: z.ZodString;
1480
+ operation: z.ZodObject<{
1481
+ type: z.ZodEnum<{
1482
+ "generate-image": "generate-image";
1483
+ refine: "refine";
1484
+ "generate-video": "generate-video";
1485
+ }>;
1486
+ label: z.ZodString;
1487
+ prompt: z.ZodOptional<z.ZodString>;
1488
+ modelId: z.ZodOptional<z.ZodString>;
1489
+ presetId: z.ZodOptional<z.ZodString>;
1490
+ presetName: z.ZodOptional<z.ZodString>;
1491
+ refineFactor: z.ZodOptional<z.ZodNumber>;
1492
+ sourceRole: z.ZodOptional<z.ZodEnum<{
1493
+ primary: "primary";
1494
+ "end-frame": "end-frame";
1495
+ }>>;
1496
+ video: z.ZodOptional<z.ZodObject<{
1497
+ mode: z.ZodOptional<z.ZodString>;
1498
+ motion: z.ZodOptional<z.ZodString>;
1499
+ duration: z.ZodOptional<z.ZodString>;
1500
+ endFrameShapeId: z.ZodOptional<z.ZodString>;
1501
+ }, z.core.$strip>>;
1502
+ generationInput: z.ZodOptional<z.ZodObject<{
1503
+ version: z.ZodLiteral<1>;
1504
+ meta: z.ZodRecord<z.ZodString, z.ZodType<JsonValue, unknown, z.core.$ZodTypeInternals<JsonValue, unknown>>>;
1505
+ regionHint: z.ZodOptional<z.ZodObject<{
1506
+ x: z.ZodNumber;
1507
+ y: z.ZodNumber;
1508
+ w: z.ZodNumber;
1509
+ h: z.ZodNumber;
1510
+ }, z.core.$strip>>;
1511
+ sketchGuidance: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodType<JsonValue, unknown, z.core.$ZodTypeInternals<JsonValue, unknown>>>>;
1512
+ sourceCameraHeading: z.ZodOptional<z.ZodNumber>;
1513
+ }, z.core.$strip>>;
1514
+ }, z.core.$strip>;
1515
+ outputKind: z.ZodEnum<{
1516
+ image: "image";
1517
+ video: "video";
1518
+ }>;
1519
+ }, z.core.$strip>>;
1520
+ outputKind: z.ZodEnum<{
1521
+ image: "image";
1522
+ video: "video";
1523
+ }>;
1524
+ thumbnailUrl: z.ZodOptional<z.ZodString>;
1525
+ }, z.core.$strip>;
1526
+ }, z.core.$strip>, z.ZodObject<{
1527
+ status: z.ZodLiteral<"unavailable">;
1528
+ reason: z.ZodEnum<{
1529
+ "not-in-workflow": "not-in-workflow";
1530
+ "source-only": "source-only";
1531
+ "missing-input": "missing-input";
1532
+ "missing-workflow": "missing-workflow";
1533
+ "missing-node": "missing-node";
1534
+ "invalid-workflow": "invalid-workflow";
1535
+ }>;
1536
+ }, z.core.$strip>], "status">;
1537
+ export type PluginAIInspirationExtractionResult = z.infer<typeof PluginAIInspirationExtractionResult>;
1538
+ export declare const PluginAIInspirationListRecipesResult: z.ZodObject<{
1539
+ recipes: z.ZodArray<z.ZodType<{
1540
+ name: string;
1541
+ summary: string;
1542
+ slots: {
1543
+ id: string;
1544
+ type: "end-frame" | "source-image";
1545
+ label: string;
1546
+ required: boolean;
1547
+ }[];
1548
+ steps: {
1549
+ id: string;
1550
+ operation: {
1551
+ type: "generate-image" | "refine" | "generate-video";
1552
+ label: string;
1553
+ prompt?: string | undefined;
1554
+ modelId?: string | undefined;
1555
+ presetId?: string | undefined;
1556
+ presetName?: string | undefined;
1557
+ refineFactor?: number | undefined;
1558
+ sourceRole?: "primary" | "end-frame" | undefined;
1559
+ video?: {
1560
+ mode?: string | undefined;
1561
+ motion?: string | undefined;
1562
+ duration?: string | undefined;
1563
+ endFrameShapeId?: string | undefined;
1564
+ } | undefined;
1565
+ generationInput?: {
1566
+ version: 1;
1567
+ meta: Record<string, JsonValue>;
1568
+ regionHint?: {
1569
+ x: number;
1570
+ y: number;
1571
+ w: number;
1572
+ h: number;
1573
+ } | undefined;
1574
+ sketchGuidance?: Record<string, JsonValue> | undefined;
1575
+ sourceCameraHeading?: number | undefined;
1576
+ } | undefined;
1577
+ };
1578
+ outputKind: "image" | "video";
1579
+ }[];
1580
+ outputKind: "image" | "video";
1581
+ thumbnailUrl?: string | undefined;
1582
+ } & {
1583
+ version: 1;
1584
+ id: string;
1585
+ fingerprint?: string;
1586
+ createdAt: number;
1587
+ updatedAt: number;
1588
+ }, unknown, z.core.$ZodTypeInternals<{
1589
+ name: string;
1590
+ summary: string;
1591
+ slots: {
1592
+ id: string;
1593
+ type: "end-frame" | "source-image";
1594
+ label: string;
1595
+ required: boolean;
1596
+ }[];
1597
+ steps: {
1598
+ id: string;
1599
+ operation: {
1600
+ type: "generate-image" | "refine" | "generate-video";
1601
+ label: string;
1602
+ prompt?: string | undefined;
1603
+ modelId?: string | undefined;
1604
+ presetId?: string | undefined;
1605
+ presetName?: string | undefined;
1606
+ refineFactor?: number | undefined;
1607
+ sourceRole?: "primary" | "end-frame" | undefined;
1608
+ video?: {
1609
+ mode?: string | undefined;
1610
+ motion?: string | undefined;
1611
+ duration?: string | undefined;
1612
+ endFrameShapeId?: string | undefined;
1613
+ } | undefined;
1614
+ generationInput?: {
1615
+ version: 1;
1616
+ meta: Record<string, JsonValue>;
1617
+ regionHint?: {
1618
+ x: number;
1619
+ y: number;
1620
+ w: number;
1621
+ h: number;
1622
+ } | undefined;
1623
+ sketchGuidance?: Record<string, JsonValue> | undefined;
1624
+ sourceCameraHeading?: number | undefined;
1625
+ } | undefined;
1626
+ };
1627
+ outputKind: "image" | "video";
1628
+ }[];
1629
+ outputKind: "image" | "video";
1630
+ thumbnailUrl?: string | undefined;
1631
+ } & {
1632
+ version: 1;
1633
+ id: string;
1634
+ fingerprint?: string;
1635
+ createdAt: number;
1636
+ updatedAt: number;
1637
+ }, unknown>>>;
1638
+ }, z.core.$strip>;
1639
+ export type PluginAIInspirationListRecipesResult = z.infer<typeof PluginAIInspirationListRecipesResult>;
1640
+ export declare const PluginAIInspirationSaveRecipeArgs: z.ZodObject<{
1641
+ draft: z.ZodObject<{
1642
+ name: z.ZodString;
1643
+ summary: z.ZodString;
1644
+ slots: z.ZodArray<z.ZodObject<{
1645
+ id: z.ZodString;
1646
+ type: z.ZodEnum<{
1647
+ "end-frame": "end-frame";
1648
+ "source-image": "source-image";
1649
+ }>;
1650
+ label: z.ZodString;
1651
+ required: z.ZodBoolean;
1652
+ }, z.core.$strip>>;
1653
+ steps: z.ZodArray<z.ZodObject<{
1654
+ id: z.ZodString;
1655
+ operation: z.ZodObject<{
1656
+ type: z.ZodEnum<{
1657
+ "generate-image": "generate-image";
1658
+ refine: "refine";
1659
+ "generate-video": "generate-video";
1660
+ }>;
1661
+ label: z.ZodString;
1662
+ prompt: z.ZodOptional<z.ZodString>;
1663
+ modelId: z.ZodOptional<z.ZodString>;
1664
+ presetId: z.ZodOptional<z.ZodString>;
1665
+ presetName: z.ZodOptional<z.ZodString>;
1666
+ refineFactor: z.ZodOptional<z.ZodNumber>;
1667
+ sourceRole: z.ZodOptional<z.ZodEnum<{
1668
+ primary: "primary";
1669
+ "end-frame": "end-frame";
1670
+ }>>;
1671
+ video: z.ZodOptional<z.ZodObject<{
1672
+ mode: z.ZodOptional<z.ZodString>;
1673
+ motion: z.ZodOptional<z.ZodString>;
1674
+ duration: z.ZodOptional<z.ZodString>;
1675
+ endFrameShapeId: z.ZodOptional<z.ZodString>;
1676
+ }, z.core.$strip>>;
1677
+ generationInput: z.ZodOptional<z.ZodObject<{
1678
+ version: z.ZodLiteral<1>;
1679
+ meta: z.ZodRecord<z.ZodString, z.ZodType<JsonValue, unknown, z.core.$ZodTypeInternals<JsonValue, unknown>>>;
1680
+ regionHint: z.ZodOptional<z.ZodObject<{
1681
+ x: z.ZodNumber;
1682
+ y: z.ZodNumber;
1683
+ w: z.ZodNumber;
1684
+ h: z.ZodNumber;
1685
+ }, z.core.$strip>>;
1686
+ sketchGuidance: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodType<JsonValue, unknown, z.core.$ZodTypeInternals<JsonValue, unknown>>>>;
1687
+ sourceCameraHeading: z.ZodOptional<z.ZodNumber>;
1688
+ }, z.core.$strip>>;
1689
+ }, z.core.$strip>;
1690
+ outputKind: z.ZodEnum<{
1691
+ image: "image";
1692
+ video: "video";
1693
+ }>;
1694
+ }, z.core.$strip>>;
1695
+ outputKind: z.ZodEnum<{
1696
+ image: "image";
1697
+ video: "video";
1698
+ }>;
1699
+ thumbnailUrl: z.ZodOptional<z.ZodString>;
1700
+ }, z.core.$strip>;
1701
+ name: z.ZodString;
1702
+ }, z.core.$strip>;
1703
+ export type PluginAIInspirationSaveRecipeArgs = z.infer<typeof PluginAIInspirationSaveRecipeArgs>;
1704
+ export declare const PluginAIInspirationSaveRecipeResult: z.ZodDiscriminatedUnion<[z.ZodObject<{
1705
+ status: z.ZodLiteral<"saved">;
1706
+ recipe: z.ZodType<{
1707
+ name: string;
1708
+ summary: string;
1709
+ slots: {
1710
+ id: string;
1711
+ type: "end-frame" | "source-image";
1712
+ label: string;
1713
+ required: boolean;
1714
+ }[];
1715
+ steps: {
1716
+ id: string;
1717
+ operation: {
1718
+ type: "generate-image" | "refine" | "generate-video";
1719
+ label: string;
1720
+ prompt?: string | undefined;
1721
+ modelId?: string | undefined;
1722
+ presetId?: string | undefined;
1723
+ presetName?: string | undefined;
1724
+ refineFactor?: number | undefined;
1725
+ sourceRole?: "primary" | "end-frame" | undefined;
1726
+ video?: {
1727
+ mode?: string | undefined;
1728
+ motion?: string | undefined;
1729
+ duration?: string | undefined;
1730
+ endFrameShapeId?: string | undefined;
1731
+ } | undefined;
1732
+ generationInput?: {
1733
+ version: 1;
1734
+ meta: Record<string, JsonValue>;
1735
+ regionHint?: {
1736
+ x: number;
1737
+ y: number;
1738
+ w: number;
1739
+ h: number;
1740
+ } | undefined;
1741
+ sketchGuidance?: Record<string, JsonValue> | undefined;
1742
+ sourceCameraHeading?: number | undefined;
1743
+ } | undefined;
1744
+ };
1745
+ outputKind: "image" | "video";
1746
+ }[];
1747
+ outputKind: "image" | "video";
1748
+ thumbnailUrl?: string | undefined;
1749
+ } & {
1750
+ version: 1;
1751
+ id: string;
1752
+ fingerprint?: string;
1753
+ createdAt: number;
1754
+ updatedAt: number;
1755
+ }, unknown, z.core.$ZodTypeInternals<{
1756
+ name: string;
1757
+ summary: string;
1758
+ slots: {
1759
+ id: string;
1760
+ type: "end-frame" | "source-image";
1761
+ label: string;
1762
+ required: boolean;
1763
+ }[];
1764
+ steps: {
1765
+ id: string;
1766
+ operation: {
1767
+ type: "generate-image" | "refine" | "generate-video";
1768
+ label: string;
1769
+ prompt?: string | undefined;
1770
+ modelId?: string | undefined;
1771
+ presetId?: string | undefined;
1772
+ presetName?: string | undefined;
1773
+ refineFactor?: number | undefined;
1774
+ sourceRole?: "primary" | "end-frame" | undefined;
1775
+ video?: {
1776
+ mode?: string | undefined;
1777
+ motion?: string | undefined;
1778
+ duration?: string | undefined;
1779
+ endFrameShapeId?: string | undefined;
1780
+ } | undefined;
1781
+ generationInput?: {
1782
+ version: 1;
1783
+ meta: Record<string, JsonValue>;
1784
+ regionHint?: {
1785
+ x: number;
1786
+ y: number;
1787
+ w: number;
1788
+ h: number;
1789
+ } | undefined;
1790
+ sketchGuidance?: Record<string, JsonValue> | undefined;
1791
+ sourceCameraHeading?: number | undefined;
1792
+ } | undefined;
1793
+ };
1794
+ outputKind: "image" | "video";
1795
+ }[];
1796
+ outputKind: "image" | "video";
1797
+ thumbnailUrl?: string | undefined;
1798
+ } & {
1799
+ version: 1;
1800
+ id: string;
1801
+ fingerprint?: string;
1802
+ createdAt: number;
1803
+ updatedAt: number;
1804
+ }, unknown>>;
1805
+ }, z.core.$strip>, z.ZodObject<{
1806
+ status: z.ZodLiteral<"duplicate">;
1807
+ recipe: z.ZodType<{
1808
+ name: string;
1809
+ summary: string;
1810
+ slots: {
1811
+ id: string;
1812
+ type: "end-frame" | "source-image";
1813
+ label: string;
1814
+ required: boolean;
1815
+ }[];
1816
+ steps: {
1817
+ id: string;
1818
+ operation: {
1819
+ type: "generate-image" | "refine" | "generate-video";
1820
+ label: string;
1821
+ prompt?: string | undefined;
1822
+ modelId?: string | undefined;
1823
+ presetId?: string | undefined;
1824
+ presetName?: string | undefined;
1825
+ refineFactor?: number | undefined;
1826
+ sourceRole?: "primary" | "end-frame" | undefined;
1827
+ video?: {
1828
+ mode?: string | undefined;
1829
+ motion?: string | undefined;
1830
+ duration?: string | undefined;
1831
+ endFrameShapeId?: string | undefined;
1832
+ } | undefined;
1833
+ generationInput?: {
1834
+ version: 1;
1835
+ meta: Record<string, JsonValue>;
1836
+ regionHint?: {
1837
+ x: number;
1838
+ y: number;
1839
+ w: number;
1840
+ h: number;
1841
+ } | undefined;
1842
+ sketchGuidance?: Record<string, JsonValue> | undefined;
1843
+ sourceCameraHeading?: number | undefined;
1844
+ } | undefined;
1845
+ };
1846
+ outputKind: "image" | "video";
1847
+ }[];
1848
+ outputKind: "image" | "video";
1849
+ thumbnailUrl?: string | undefined;
1850
+ } & {
1851
+ version: 1;
1852
+ id: string;
1853
+ fingerprint?: string;
1854
+ createdAt: number;
1855
+ updatedAt: number;
1856
+ }, unknown, z.core.$ZodTypeInternals<{
1857
+ name: string;
1858
+ summary: string;
1859
+ slots: {
1860
+ id: string;
1861
+ type: "end-frame" | "source-image";
1862
+ label: string;
1863
+ required: boolean;
1864
+ }[];
1865
+ steps: {
1866
+ id: string;
1867
+ operation: {
1868
+ type: "generate-image" | "refine" | "generate-video";
1869
+ label: string;
1870
+ prompt?: string | undefined;
1871
+ modelId?: string | undefined;
1872
+ presetId?: string | undefined;
1873
+ presetName?: string | undefined;
1874
+ refineFactor?: number | undefined;
1875
+ sourceRole?: "primary" | "end-frame" | undefined;
1876
+ video?: {
1877
+ mode?: string | undefined;
1878
+ motion?: string | undefined;
1879
+ duration?: string | undefined;
1880
+ endFrameShapeId?: string | undefined;
1881
+ } | undefined;
1882
+ generationInput?: {
1883
+ version: 1;
1884
+ meta: Record<string, JsonValue>;
1885
+ regionHint?: {
1886
+ x: number;
1887
+ y: number;
1888
+ w: number;
1889
+ h: number;
1890
+ } | undefined;
1891
+ sketchGuidance?: Record<string, JsonValue> | undefined;
1892
+ sourceCameraHeading?: number | undefined;
1893
+ } | undefined;
1894
+ };
1895
+ outputKind: "image" | "video";
1896
+ }[];
1897
+ outputKind: "image" | "video";
1898
+ thumbnailUrl?: string | undefined;
1899
+ } & {
1900
+ version: 1;
1901
+ id: string;
1902
+ fingerprint?: string;
1903
+ createdAt: number;
1904
+ updatedAt: number;
1905
+ }, unknown>>;
1906
+ }, z.core.$strip>, z.ZodObject<{
1907
+ status: z.ZodLiteral<"invalid-name">;
1908
+ recipe: z.ZodNull;
1909
+ }, z.core.$strip>, z.ZodObject<{
1910
+ status: z.ZodLiteral<"failed">;
1911
+ recipe: z.ZodNull;
1912
+ }, z.core.$strip>], "status">;
1913
+ export type PluginAIInspirationSaveRecipeResult = z.infer<typeof PluginAIInspirationSaveRecipeResult>;
1914
+ export declare const PluginAIInspirationDeleteRecipeArgs: z.ZodObject<{
1915
+ recipeId: z.ZodString;
1916
+ }, z.core.$strip>;
1917
+ export type PluginAIInspirationDeleteRecipeArgs = z.infer<typeof PluginAIInspirationDeleteRecipeArgs>;
1918
+ export declare const PluginAIInspirationDeleteRecipeResult: z.ZodObject<{
1919
+ deleted: z.ZodBoolean;
1920
+ }, z.core.$strip>;
1921
+ export type PluginAIInspirationDeleteRecipeResult = z.infer<typeof PluginAIInspirationDeleteRecipeResult>;
1922
+ export declare const PluginAIInspirationExtractRecipeFromShapeArgs: z.ZodObject<{
1923
+ shapeId: z.ZodString;
1924
+ }, z.core.$strip>;
1925
+ export type PluginAIInspirationExtractRecipeFromShapeArgs = z.infer<typeof PluginAIInspirationExtractRecipeFromShapeArgs>;
1926
+ export declare const PluginAIInspirationRunRecipeArgs: z.ZodObject<{
1927
+ recipeId: z.ZodOptional<z.ZodString>;
1928
+ recipe: z.ZodOptional<z.ZodType<{
1929
+ name: string;
1930
+ summary: string;
1931
+ slots: {
1932
+ id: string;
1933
+ type: "end-frame" | "source-image";
1934
+ label: string;
1935
+ required: boolean;
1936
+ }[];
1937
+ steps: {
1938
+ id: string;
1939
+ operation: {
1940
+ type: "generate-image" | "refine" | "generate-video";
1941
+ label: string;
1942
+ prompt?: string | undefined;
1943
+ modelId?: string | undefined;
1944
+ presetId?: string | undefined;
1945
+ presetName?: string | undefined;
1946
+ refineFactor?: number | undefined;
1947
+ sourceRole?: "primary" | "end-frame" | undefined;
1948
+ video?: {
1949
+ mode?: string | undefined;
1950
+ motion?: string | undefined;
1951
+ duration?: string | undefined;
1952
+ endFrameShapeId?: string | undefined;
1953
+ } | undefined;
1954
+ generationInput?: {
1955
+ version: 1;
1956
+ meta: Record<string, JsonValue>;
1957
+ regionHint?: {
1958
+ x: number;
1959
+ y: number;
1960
+ w: number;
1961
+ h: number;
1962
+ } | undefined;
1963
+ sketchGuidance?: Record<string, JsonValue> | undefined;
1964
+ sourceCameraHeading?: number | undefined;
1965
+ } | undefined;
1966
+ };
1967
+ outputKind: "image" | "video";
1968
+ }[];
1969
+ outputKind: "image" | "video";
1970
+ thumbnailUrl?: string | undefined;
1971
+ } & {
1972
+ version: 1;
1973
+ id: string;
1974
+ fingerprint?: string;
1975
+ createdAt: number;
1976
+ updatedAt: number;
1977
+ }, unknown, z.core.$ZodTypeInternals<{
1978
+ name: string;
1979
+ summary: string;
1980
+ slots: {
1981
+ id: string;
1982
+ type: "end-frame" | "source-image";
1983
+ label: string;
1984
+ required: boolean;
1985
+ }[];
1986
+ steps: {
1987
+ id: string;
1988
+ operation: {
1989
+ type: "generate-image" | "refine" | "generate-video";
1990
+ label: string;
1991
+ prompt?: string | undefined;
1992
+ modelId?: string | undefined;
1993
+ presetId?: string | undefined;
1994
+ presetName?: string | undefined;
1995
+ refineFactor?: number | undefined;
1996
+ sourceRole?: "primary" | "end-frame" | undefined;
1997
+ video?: {
1998
+ mode?: string | undefined;
1999
+ motion?: string | undefined;
2000
+ duration?: string | undefined;
2001
+ endFrameShapeId?: string | undefined;
2002
+ } | undefined;
2003
+ generationInput?: {
2004
+ version: 1;
2005
+ meta: Record<string, JsonValue>;
2006
+ regionHint?: {
2007
+ x: number;
2008
+ y: number;
2009
+ w: number;
2010
+ h: number;
2011
+ } | undefined;
2012
+ sketchGuidance?: Record<string, JsonValue> | undefined;
2013
+ sourceCameraHeading?: number | undefined;
2014
+ } | undefined;
2015
+ };
2016
+ outputKind: "image" | "video";
2017
+ }[];
2018
+ outputKind: "image" | "video";
2019
+ thumbnailUrl?: string | undefined;
2020
+ } & {
2021
+ version: 1;
2022
+ id: string;
2023
+ fingerprint?: string;
2024
+ createdAt: number;
2025
+ updatedAt: number;
2026
+ }, unknown>>>;
2027
+ slotShapeIds: z.ZodRecord<z.ZodString, z.ZodString>;
2028
+ runMode: z.ZodOptional<z.ZodEnum<{
2029
+ job: "job";
2030
+ blocking: "blocking";
2031
+ }>>;
2032
+ }, z.core.$strip>;
2033
+ export type PluginAIInspirationRunRecipeArgs = z.infer<typeof PluginAIInspirationRunRecipeArgs>;
342
2034
  /**
343
2035
  * Present-mode AI Inspiration APIs.
344
2036
  *
@@ -346,6 +2038,11 @@ export type PluginAIInspirationRefineArgs = z.infer<typeof PluginAIInspirationRe
346
2038
  * AI quota. They create outputs on the Present canvas; pure backend generation
347
2039
  * without canvas output is intentionally out of scope.
348
2040
  *
2041
+ * Long-running generations can be started with `runMode: "job"` and tracked via
2042
+ * {@linkcode PluginPresentationAIInspirationApi.getJob} /
2043
+ * {@linkcode PluginPresentationAIInspirationApi.listJobs}; the default
2044
+ * `"blocking"` mode resolves with the canvas outputs directly.
2045
+ *
349
2046
  * Accessed via `snaptrude.presentation.aiInspiration`.
350
2047
  */
351
2048
  export declare abstract class PluginPresentationAIInspirationApi {
@@ -367,6 +2064,26 @@ export declare abstract class PluginPresentationAIInspirationApi {
367
2064
  * ```
368
2065
  */
369
2066
  abstract listModels(): PluginApiReturn<PluginAIInspirationListModelsResult>;
2067
+ /**
2068
+ * Get capability flags for a model.
2069
+ *
2070
+ * @param args - Object containing `modelId`.
2071
+ * @returns Capability flags such as reference, site-context, region, and keyframe support.
2072
+ *
2073
+ * @examplePrompt What can this model do?
2074
+ * @examplePrompt Does the default model support reference images?
2075
+ * @examplePrompt Check if the video model supports keyframes
2076
+ *
2077
+ * # Example
2078
+ * ```ts
2079
+ * const { defaultModelId } = await snaptrude.presentation.aiInspiration.listModels()
2080
+ * const { capability } = await snaptrude.presentation.aiInspiration.getModelCapabilities({
2081
+ * modelId: defaultModelId,
2082
+ * })
2083
+ * console.log(capability.supportsReferenceImages, capability.maxExtraImages)
2084
+ * ```
2085
+ */
2086
+ abstract getModelCapabilities(args: PluginAIInspirationGetModelCapabilitiesArgs): PluginApiReturn<PluginAIInspirationGetModelCapabilitiesResult>;
370
2087
  /**
371
2088
  * List image/view/video sources on the current Present page.
372
2089
  *
@@ -384,12 +2101,45 @@ export declare abstract class PluginPresentationAIInspirationApi {
384
2101
  * ```
385
2102
  */
386
2103
  abstract listSources(args: PluginAIInspirationListSourcesArgs): PluginApiReturn<PluginAIInspirationListSourcesResult>;
2104
+ /**
2105
+ * Get selected Present canvas shapes that AI Inspiration can use.
2106
+ *
2107
+ * @returns Selected shape IDs and resolved source references.
2108
+ *
2109
+ * @examplePrompt Generate from what I have selected
2110
+ * @examplePrompt Which of my selected shapes can be used as AI sources?
2111
+ *
2112
+ * # Example
2113
+ * ```ts
2114
+ * const { selectedShapeIds, sources } = await snaptrude.presentation.aiInspiration.getSelection()
2115
+ * console.log(selectedShapeIds.length, "selected,", sources.length, "usable")
2116
+ * ```
2117
+ */
2118
+ abstract getSelection(): PluginApiReturn<PluginAIInspirationGetSelectionResult>;
2119
+ /**
2120
+ * Get the curated AI Inspiration preset catalog.
2121
+ *
2122
+ * @returns Preset categories and presets.
2123
+ *
2124
+ * @examplePrompt What style presets are available?
2125
+ * @examplePrompt List the curated AI generation presets
2126
+ * @examplePrompt Show me the exterior render styles
2127
+ *
2128
+ * # Example
2129
+ * ```ts
2130
+ * const { categories, presets } = await snaptrude.presentation.aiInspiration.getPresetCatalog()
2131
+ * const exterior = presets.filter((p) => p.categoryLabel === "Exterior")
2132
+ * console.log(categories.map((c) => c.label), exterior.map((p) => p.name))
2133
+ * ```
2134
+ */
2135
+ abstract getPresetCatalog(): PluginApiReturn<PluginAIInspirationGetPresetCatalogResult>;
387
2136
  /**
388
2137
  * Generate an image or video from a Present canvas source.
389
2138
  *
390
2139
  * @param args - Generation options including source, prompt, model, references, site context,
391
- * region guidance, sketch guidance, and video options.
392
- * @returns The created canvas output(s).
2140
+ * region guidance, sketch guidance, video options, and run mode.
2141
+ * @returns The created canvas output(s) in blocking mode, or a `jobId` when
2142
+ * called with `runMode: "job"`.
393
2143
  *
394
2144
  * @examplePrompt Generate an image from this sketch
395
2145
  * @examplePrompt Render the selected view as a photorealistic image
@@ -407,15 +2157,16 @@ export declare abstract class PluginPresentationAIInspirationApi {
407
2157
  * referenceShapeIds: refs.slice(0, 2).map((r) => r.shapeId),
408
2158
  * referenceStrength: "medium",
409
2159
  * })
410
- * for (const out of outputs) console.log(out.outputType, out.shapeId, out.outputUrl)
2160
+ * for (const out of outputs ?? []) console.log(out.outputType, out.shapeId, out.outputUrl)
411
2161
  * ```
412
2162
  */
413
2163
  abstract generate(args: PluginAIInspirationGenerateArgs): PluginApiReturn<PluginAIInspirationRunResult>;
414
2164
  /**
415
2165
  * Refine/upscale an AI Inspiration source image.
416
2166
  *
417
- * @param args - Source shape and optional upscale factor.
418
- * @returns The refined canvas output(s).
2167
+ * @param args - Source shape, optional upscale factor, and run mode.
2168
+ * @returns The refined canvas output(s) in blocking mode, or a `jobId` when
2169
+ * called with `runMode: "job"`.
419
2170
  *
420
2171
  * @examplePrompt Upscale this AI image
421
2172
  * @examplePrompt Refine and sharpen the selected render
@@ -430,11 +2181,220 @@ export declare abstract class PluginPresentationAIInspirationApi {
430
2181
  * sourceShapeId: image.shapeId,
431
2182
  * upscaleFactor: 2,
432
2183
  * })
433
- * console.log(outputs[0].shapeId)
2184
+ * console.log(outputs?.[0]?.shapeId)
434
2185
  * }
435
2186
  * ```
436
2187
  */
437
2188
  abstract refine(args: PluginAIInspirationRefineArgs): PluginApiReturn<PluginAIInspirationRunResult>;
2189
+ /**
2190
+ * Get a transient AI Inspiration job by ID.
2191
+ *
2192
+ * @param args - Object containing `jobId`.
2193
+ * @returns The job with status, progress, and result when completed.
2194
+ *
2195
+ * @examplePrompt Is my render finished?
2196
+ * @examplePrompt Check on the generation job
2197
+ *
2198
+ * # Example
2199
+ * ```ts
2200
+ * const { jobId } = await snaptrude.presentation.aiInspiration.generate({
2201
+ * sourceShapeId: source.shapeId,
2202
+ * prompt: "Aerial dusk render",
2203
+ * runMode: "job",
2204
+ * })
2205
+ * const { job } = await snaptrude.presentation.aiInspiration.getJob({ jobId })
2206
+ * console.log(job.status, job.progress?.message)
2207
+ * ```
2208
+ */
2209
+ abstract getJob(args: PluginAIInspirationJobArgs): PluginApiReturn<PluginAIInspirationGetJobResult>;
2210
+ /**
2211
+ * Cancel a transient AI Inspiration job.
2212
+ *
2213
+ * @param args - Object containing `jobId`.
2214
+ * @returns The job after the cancel request.
2215
+ *
2216
+ * @examplePrompt Cancel the running generation
2217
+ * @examplePrompt Stop that AI job
2218
+ *
2219
+ * # Example
2220
+ * ```ts
2221
+ * const { job } = await snaptrude.presentation.aiInspiration.cancelJob({ jobId })
2222
+ * console.log(job.status) // "cancelled" (or a terminal state it already reached)
2223
+ * ```
2224
+ */
2225
+ abstract cancelJob(args: PluginAIInspirationJobArgs): PluginApiReturn<PluginAIInspirationCancelJobResult>;
2226
+ /**
2227
+ * List transient AI Inspiration jobs created in the current host session.
2228
+ *
2229
+ * @returns Jobs with their statuses, newest first.
2230
+ *
2231
+ * @examplePrompt What AI jobs are running?
2232
+ * @examplePrompt Show my generation queue
2233
+ *
2234
+ * # Example
2235
+ * ```ts
2236
+ * const { jobs } = await snaptrude.presentation.aiInspiration.listJobs()
2237
+ * const running = jobs.filter((j) => j.status === "running" || j.status === "queued")
2238
+ * console.log(running.map((j) => `${j.jobId}: ${j.method}`))
2239
+ * ```
2240
+ */
2241
+ abstract listJobs(): PluginApiReturn<PluginAIInspirationListJobsResult>;
2242
+ /**
2243
+ * Get the sanitized workflow graph containing a Present shape.
2244
+ *
2245
+ * @param args - Object containing `shapeId`.
2246
+ * @returns The workflow and matching node, or `null` values when the shape is not in a workflow.
2247
+ *
2248
+ * @examplePrompt Show the generation history of this image
2249
+ * @examplePrompt What workflow produced this shape?
2250
+ *
2251
+ * # Example
2252
+ * ```ts
2253
+ * const { workflow, node } = await snaptrude.presentation.aiInspiration.getWorkflowForShape({
2254
+ * shapeId: selected.shapeId,
2255
+ * })
2256
+ * if (workflow && node) console.log(node.id, workflow.edgeIds.length, "edges")
2257
+ * ```
2258
+ */
2259
+ abstract getWorkflowForShape(args: PluginAIInspirationGetWorkflowForShapeArgs): PluginApiReturn<PluginAIInspirationGetWorkflowForShapeResult>;
2260
+ /**
2261
+ * Build a rerun plan for the selected workflow branch ending at a shape.
2262
+ *
2263
+ * @param args - Object containing `shapeId`.
2264
+ * @returns Ready plan data or an unavailable reason.
2265
+ *
2266
+ * @examplePrompt Can I rerun the steps that produced this output?
2267
+ * @examplePrompt Preview the rerun for this generated image
2268
+ *
2269
+ * # Example
2270
+ * ```ts
2271
+ * const plan = await snaptrude.presentation.aiInspiration.getSelectedBranchRerunPlan({
2272
+ * shapeId: selected.shapeId,
2273
+ * })
2274
+ * if (plan.status === "ready") console.log(plan.edges.map((e) => e.operation.label))
2275
+ * else console.log("Cannot rerun:", plan.reason)
2276
+ * ```
2277
+ */
2278
+ abstract getSelectedBranchRerunPlan(args: PluginAIInspirationGetWorkflowForShapeArgs): PluginApiReturn<PluginAIInspirationRerunPlanResult>;
2279
+ /**
2280
+ * Rerun the selected workflow branch and supersede the previous branch.
2281
+ *
2282
+ * @param args - Selected shape, optional end frame shape, and run mode.
2283
+ * @returns New canvas outputs in blocking mode, or a `jobId` when called with
2284
+ * `runMode: "job"`.
2285
+ *
2286
+ * @examplePrompt Rerun this generation branch
2287
+ * @examplePrompt Regenerate this output with the same steps
2288
+ *
2289
+ * # Example
2290
+ * ```ts
2291
+ * const { outputs } = await snaptrude.presentation.aiInspiration.rerunSelectedBranch({
2292
+ * shapeId: selected.shapeId,
2293
+ * })
2294
+ * console.log(outputs?.map((o) => o.shapeId))
2295
+ * ```
2296
+ */
2297
+ abstract rerunSelectedBranch(args: PluginAIInspirationRerunSelectedBranchArgs): PluginApiReturn<PluginAIInspirationRunResult>;
2298
+ /**
2299
+ * Extract a reusable recipe draft from the workflow path ending at a shape.
2300
+ *
2301
+ * @param args - Object containing `shapeId`.
2302
+ * @returns A recipe draft or an unavailable reason.
2303
+ *
2304
+ * @examplePrompt Turn this workflow into a reusable recipe
2305
+ * @examplePrompt Save the generation steps behind this image
2306
+ *
2307
+ * # Example
2308
+ * ```ts
2309
+ * const extraction = await snaptrude.presentation.aiInspiration.extractRecipeFromShape({
2310
+ * shapeId: selected.shapeId,
2311
+ * })
2312
+ * if (extraction.status === "ready") console.log(extraction.draft.summary)
2313
+ * ```
2314
+ */
2315
+ abstract extractRecipeFromShape(args: PluginAIInspirationExtractRecipeFromShapeArgs): PluginApiReturn<PluginAIInspirationExtractionResult>;
2316
+ /**
2317
+ * List project-level AI Inspiration recipes stored in Present document metadata.
2318
+ *
2319
+ * @returns Saved project recipes.
2320
+ *
2321
+ * @examplePrompt What AI recipes are saved in this project?
2322
+ * @examplePrompt List my generation recipes
2323
+ *
2324
+ * # Example
2325
+ * ```ts
2326
+ * const { recipes } = await snaptrude.presentation.aiInspiration.listRecipes()
2327
+ * console.log(recipes.map((r) => `${r.name} → ${r.outputKind}`))
2328
+ * ```
2329
+ */
2330
+ abstract listRecipes(): PluginApiReturn<PluginAIInspirationListRecipesResult>;
2331
+ /**
2332
+ * Save a project-level AI Inspiration recipe.
2333
+ *
2334
+ * @param args - Recipe draft and desired name.
2335
+ * @returns Saved, duplicate, invalid-name, or failed status.
2336
+ *
2337
+ * @examplePrompt Save this recipe as "Dusk facade render"
2338
+ * @examplePrompt Store these generation steps for reuse
2339
+ *
2340
+ * # Example
2341
+ * ```ts
2342
+ * const extraction = await snaptrude.presentation.aiInspiration.extractRecipeFromShape({
2343
+ * shapeId: selected.shapeId,
2344
+ * })
2345
+ * if (extraction.status === "ready") {
2346
+ * const saved = await snaptrude.presentation.aiInspiration.saveRecipe({
2347
+ * draft: extraction.draft,
2348
+ * name: "Dusk facade render",
2349
+ * })
2350
+ * console.log(saved.status, saved.recipe?.id)
2351
+ * }
2352
+ * ```
2353
+ */
2354
+ abstract saveRecipe(args: PluginAIInspirationSaveRecipeArgs): PluginApiReturn<PluginAIInspirationSaveRecipeResult>;
2355
+ /**
2356
+ * Delete a project-level AI Inspiration recipe.
2357
+ *
2358
+ * @param args - Object containing `recipeId`.
2359
+ * @returns Whether a recipe was deleted.
2360
+ *
2361
+ * @examplePrompt Delete the facade render recipe
2362
+ * @examplePrompt Remove that saved AI recipe
2363
+ *
2364
+ * # Example
2365
+ * ```ts
2366
+ * const { recipes } = await snaptrude.presentation.aiInspiration.listRecipes()
2367
+ * const stale = recipes.find((r) => r.name === "Old style test")
2368
+ * if (stale) {
2369
+ * const { deleted } = await snaptrude.presentation.aiInspiration.deleteRecipe({ recipeId: stale.id })
2370
+ * console.log(deleted)
2371
+ * }
2372
+ * ```
2373
+ */
2374
+ abstract deleteRecipe(args: PluginAIInspirationDeleteRecipeArgs): PluginApiReturn<PluginAIInspirationDeleteRecipeResult>;
2375
+ /**
2376
+ * Run a saved or inline recipe against Present canvas slot shapes.
2377
+ *
2378
+ * @param args - Saved `recipeId` or inline `recipe`, slot shape IDs, and run mode.
2379
+ * @returns Canvas outputs in blocking mode, or a `jobId` when called with
2380
+ * `runMode: "job"`.
2381
+ *
2382
+ * @examplePrompt Apply my saved recipe to this image
2383
+ * @examplePrompt Run the dusk-render recipe on the selected view
2384
+ *
2385
+ * # Example
2386
+ * ```ts
2387
+ * const { recipes } = await snaptrude.presentation.aiInspiration.listRecipes()
2388
+ * const recipe = recipes[0]
2389
+ * const { sources } = await snaptrude.presentation.aiInspiration.listSources({})
2390
+ * const { outputs } = await snaptrude.presentation.aiInspiration.runRecipe({
2391
+ * recipeId: recipe.id,
2392
+ * slotShapeIds: { [recipe.slots[0].id]: sources[0].shapeId },
2393
+ * })
2394
+ * console.log(outputs?.map((o) => o.outputUrl))
2395
+ * ```
2396
+ */
2397
+ abstract runRecipe(args: PluginAIInspirationRunRecipeArgs): PluginApiReturn<PluginAIInspirationRunResult>;
438
2398
  }
439
2399
  export {};
440
2400
  //# sourceMappingURL=aiInspiration.d.ts.map