vidspotai-shared 1.0.100 → 1.0.101

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 (169) hide show
  1. package/lib/globals/aiModels/enums.d.ts +1 -0
  2. package/lib/globals/aiModels/enums.d.ts.map +1 -1
  3. package/lib/globals/aiModels/enums.js +3 -0
  4. package/lib/globals/aiModels/extendCapability.d.ts +26 -0
  5. package/lib/globals/aiModels/extendCapability.d.ts.map +1 -0
  6. package/lib/globals/aiModels/extendCapability.js +42 -0
  7. package/lib/globals/aiModels/index.d.ts +1 -0
  8. package/lib/globals/aiModels/index.d.ts.map +1 -1
  9. package/lib/globals/aiModels/index.js +1 -0
  10. package/lib/globals/aiModels/providers/hostedAvatars.js +10 -10
  11. package/lib/globals/types.d.ts +34 -2
  12. package/lib/globals/types.d.ts.map +1 -1
  13. package/lib/globals/types.js +37 -0
  14. package/lib/models/demoVideoProject.model.d.ts +213 -0
  15. package/lib/models/demoVideoProject.model.d.ts.map +1 -1
  16. package/lib/models/index.d.ts +2 -0
  17. package/lib/models/index.d.ts.map +1 -1
  18. package/lib/models/index.js +2 -0
  19. package/lib/models/mediaUpload.model.d.ts +25 -0
  20. package/lib/models/mediaUpload.model.d.ts.map +1 -1
  21. package/lib/models/productConnection.model.d.ts +57 -0
  22. package/lib/models/productConnection.model.d.ts.map +1 -0
  23. package/lib/models/productConnection.model.js +7 -0
  24. package/lib/models/video.model.d.ts +11 -0
  25. package/lib/models/video.model.d.ts.map +1 -1
  26. package/lib/models/videoQaJob.model.d.ts +61 -0
  27. package/lib/models/videoQaJob.model.d.ts.map +1 -0
  28. package/lib/models/videoQaJob.model.js +16 -0
  29. package/lib/schemas/brandKit.schema.d.ts +3 -1
  30. package/lib/schemas/brandKit.schema.d.ts.map +1 -1
  31. package/lib/schemas/brandKit.schema.js +9 -0
  32. package/lib/schemas/brief.schema.d.ts +5 -4
  33. package/lib/schemas/brief.schema.d.ts.map +1 -1
  34. package/lib/schemas/brief.schema.js +23 -1
  35. package/lib/schemas/demoQuestion.schema.d.ts +24 -4
  36. package/lib/schemas/demoQuestion.schema.d.ts.map +1 -1
  37. package/lib/schemas/demoQuestion.schema.js +8 -2
  38. package/lib/schemas/demoSpec.schema.d.ts +40 -6
  39. package/lib/schemas/demoSpec.schema.d.ts.map +1 -1
  40. package/lib/schemas/demoSpec.schema.js +46 -1
  41. package/lib/schemas/project.schema.d.ts +33 -3
  42. package/lib/schemas/project.schema.d.ts.map +1 -1
  43. package/lib/schemas/project.schema.js +22 -0
  44. package/lib/schemas/social.schema.d.ts +1 -1
  45. package/lib/schemas/videoPlan.schema.d.ts +22 -20
  46. package/lib/schemas/videoPlan.schema.d.ts.map +1 -1
  47. package/lib/schemas/videoPlan.schema.js +19 -0
  48. package/lib/services/agent/editClassifier.d.ts +10 -10
  49. package/lib/services/agent/eval/types.d.ts +3 -2
  50. package/lib/services/agent/eval/types.d.ts.map +1 -1
  51. package/lib/services/agent/executor/core.d.ts.map +1 -1
  52. package/lib/services/agent/executor/core.js +11 -0
  53. package/lib/services/agent/planner/Planner.d.ts.map +1 -1
  54. package/lib/services/agent/planner/Planner.js +5 -0
  55. package/lib/services/agent/planner/overlayRegen.d.ts.map +1 -1
  56. package/lib/services/agent/planner/overlayRegen.js +5 -0
  57. package/lib/services/agent/planner/plannerMessages.d.ts.map +1 -1
  58. package/lib/services/agent/planner/plannerMessages.js +10 -1
  59. package/lib/services/agent/planner/scriptFirstPlanner.d.ts.map +1 -1
  60. package/lib/services/agent/planner/scriptFirstPlanner.js +2 -0
  61. package/lib/services/agent/regenCore.d.ts.map +1 -1
  62. package/lib/services/agent/regenCore.js +11 -1
  63. package/lib/services/agent/runHelpers.d.ts +8 -0
  64. package/lib/services/agent/runHelpers.d.ts.map +1 -1
  65. package/lib/services/agent/runHelpers.js +5 -1
  66. package/lib/services/agent/tools/chapterOutline.tool.d.ts +8 -0
  67. package/lib/services/agent/tools/chapterOutline.tool.d.ts.map +1 -1
  68. package/lib/services/agent/tools/chapterOutline.tool.js +21 -8
  69. package/lib/services/agent/tools/composeScene.tool.d.ts +32 -2
  70. package/lib/services/agent/tools/composeScene.tool.d.ts.map +1 -1
  71. package/lib/services/agent/tools/estimateCost.tool.d.ts +11 -1
  72. package/lib/services/agent/tools/estimateCost.tool.d.ts.map +1 -1
  73. package/lib/services/agent/tools/extendVideo.tool.d.ts +9 -3
  74. package/lib/services/agent/tools/extendVideo.tool.d.ts.map +1 -1
  75. package/lib/services/agent/tools/extendVideo.tool.js +12 -27
  76. package/lib/services/agent/tools/generateAvatarVideo.tool.d.ts +1 -1
  77. package/lib/services/agent/tools/generateScript.tool.d.ts +3 -2
  78. package/lib/services/agent/tools/generateScript.tool.d.ts.map +1 -1
  79. package/lib/services/agent/tools/generateScript.tool.js +16 -7
  80. package/lib/services/agent/tools/generateVoiceover.tool.d.ts +1 -1
  81. package/lib/services/agent/tools/planVideo.tool.d.ts +11 -8
  82. package/lib/services/agent/tools/planVideo.tool.d.ts.map +1 -1
  83. package/lib/services/agent/tools/render.tool.d.ts +11 -1
  84. package/lib/services/agent/tools/render.tool.d.ts.map +1 -1
  85. package/lib/services/agent/tools/searchStock.tool.d.ts +1 -1
  86. package/lib/services/agent/tools/searchUserLibrary.tool.d.ts +4 -4
  87. package/lib/services/aiGen/providers/kling/kling.service.d.ts.map +1 -1
  88. package/lib/services/aiGen/providers/kling/kling.service.js +22 -3
  89. package/lib/services/aiGen/providers/kling/klingStatus.d.ts +7 -0
  90. package/lib/services/aiGen/providers/kling/klingStatus.d.ts.map +1 -1
  91. package/lib/services/aiGen/providers/kling/klingStatus.js +41 -4
  92. package/lib/services/aiGen/providers/pixverse/pixverse.service.d.ts.map +1 -1
  93. package/lib/services/aiGen/providers/pixverse/pixverse.service.js +25 -0
  94. package/lib/services/aiGen/providers/types.d.ts +20 -0
  95. package/lib/services/aiGen/providers/types.d.ts.map +1 -1
  96. package/lib/services/avatarGen/avatarProviderFactory.d.ts.map +1 -1
  97. package/lib/services/avatarGen/avatarProviderFactory.js +3 -0
  98. package/lib/services/avatarGen/index.d.ts +1 -0
  99. package/lib/services/avatarGen/index.d.ts.map +1 -1
  100. package/lib/services/avatarGen/index.js +1 -0
  101. package/lib/services/avatarGen/providers/synthesiaAvatarProvider.d.ts +53 -0
  102. package/lib/services/avatarGen/providers/synthesiaAvatarProvider.d.ts.map +1 -0
  103. package/lib/services/avatarGen/providers/synthesiaAvatarProvider.js +176 -0
  104. package/lib/services/demo/demoAuthor.d.ts +7 -0
  105. package/lib/services/demo/demoAuthor.d.ts.map +1 -1
  106. package/lib/services/demo/demoAuthor.js +2 -0
  107. package/lib/services/demo/demoAuthorPrompt.d.ts +6 -0
  108. package/lib/services/demo/demoAuthorPrompt.d.ts.map +1 -1
  109. package/lib/services/demo/demoAuthorPrompt.js +24 -2
  110. package/lib/services/demo/demoCaptions.d.ts +69 -0
  111. package/lib/services/demo/demoCaptions.d.ts.map +1 -0
  112. package/lib/services/demo/demoCaptions.js +152 -0
  113. package/lib/services/demo/demoMusic.d.ts +8 -1
  114. package/lib/services/demo/demoMusic.d.ts.map +1 -1
  115. package/lib/services/demo/demoMusic.js +32 -16
  116. package/lib/services/demo/demoScriptPrompt.d.ts +2 -1
  117. package/lib/services/demo/demoScriptPrompt.d.ts.map +1 -1
  118. package/lib/services/demo/demoScriptPrompt.js +29 -2
  119. package/lib/services/demo/demoStockAssets.d.ts +29 -0
  120. package/lib/services/demo/demoStockAssets.d.ts.map +1 -0
  121. package/lib/services/demo/demoStockAssets.js +107 -0
  122. package/lib/services/demo/index.d.ts +3 -0
  123. package/lib/services/demo/index.d.ts.map +1 -1
  124. package/lib/services/demo/index.js +3 -0
  125. package/lib/services/demo/productConnection.service.d.ts +78 -0
  126. package/lib/services/demo/productConnection.service.d.ts.map +1 -0
  127. package/lib/services/demo/productConnection.service.js +125 -0
  128. package/lib/services/editor/planToProject.d.ts.map +1 -1
  129. package/lib/services/editor/planToProject.helpers.d.ts +1 -0
  130. package/lib/services/editor/planToProject.helpers.d.ts.map +1 -1
  131. package/lib/services/editor/planToProject.helpers.js +3 -0
  132. package/lib/services/editor/planToProject.js +39 -0
  133. package/lib/services/editor/projectToDesign.js +13 -1
  134. package/lib/services/firestore.service.d.ts +14 -0
  135. package/lib/services/firestore.service.d.ts.map +1 -1
  136. package/lib/services/firestore.service.js +16 -0
  137. package/lib/services/translation/index.d.ts +1 -0
  138. package/lib/services/translation/index.d.ts.map +1 -1
  139. package/lib/services/translation/index.js +8 -1
  140. package/lib/services/translation/outputLanguage.d.ts +75 -0
  141. package/lib/services/translation/outputLanguage.d.ts.map +1 -0
  142. package/lib/services/translation/outputLanguage.js +190 -0
  143. package/lib/services/translation/translation.service.d.ts +13 -2
  144. package/lib/services/translation/translation.service.d.ts.map +1 -1
  145. package/lib/services/translation/translation.service.js +66 -5
  146. package/lib/services/tts/index.d.ts +1 -0
  147. package/lib/services/tts/index.d.ts.map +1 -1
  148. package/lib/services/tts/index.js +1 -0
  149. package/lib/services/tts/providers/elevenlabs.service.d.ts +7 -0
  150. package/lib/services/tts/providers/elevenlabs.service.d.ts.map +1 -1
  151. package/lib/services/tts/providers/elevenlabs.service.js +69 -13
  152. package/lib/services/tts/types.d.ts +29 -0
  153. package/lib/services/tts/types.d.ts.map +1 -1
  154. package/lib/services/tts/wordTimings.d.ts +27 -0
  155. package/lib/services/tts/wordTimings.d.ts.map +1 -0
  156. package/lib/services/tts/wordTimings.js +57 -0
  157. package/lib/utils/billableDuration.d.ts +11 -0
  158. package/lib/utils/billableDuration.d.ts.map +1 -0
  159. package/lib/utils/billableDuration.js +91 -0
  160. package/lib/utils/index.d.ts +3 -0
  161. package/lib/utils/index.d.ts.map +1 -1
  162. package/lib/utils/index.js +3 -0
  163. package/lib/utils/mp4Duration.d.ts +38 -0
  164. package/lib/utils/mp4Duration.d.ts.map +1 -0
  165. package/lib/utils/mp4Duration.js +164 -0
  166. package/lib/utils/socialEntitlements.d.ts +51 -0
  167. package/lib/utils/socialEntitlements.d.ts.map +1 -0
  168. package/lib/utils/socialEntitlements.js +65 -0
  169. package/package.json +1 -1
@@ -27,6 +27,7 @@ export declare const DemoBrandSchema: z.ZodObject<{
27
27
  brandName: z.ZodOptional<z.ZodString>;
28
28
  wordmark: z.ZodOptional<z.ZodString>;
29
29
  logoUrl: z.ZodOptional<z.ZodString>;
30
+ siteUrl: z.ZodOptional<z.ZodString>;
30
31
  }, z.core.$strip>>;
31
32
  colors: z.ZodDefault<z.ZodObject<{
32
33
  primary: z.ZodOptional<z.ZodString>;
@@ -62,8 +63,8 @@ export declare const DemoStyleSchema: z.ZodObject<{
62
63
  "energetic-punchy": "energetic-punchy";
63
64
  }>>;
64
65
  pace: z.ZodDefault<z.ZodEnum<{
65
- medium: "medium";
66
66
  fast: "fast";
67
+ medium: "medium";
67
68
  slow: "slow";
68
69
  }>>;
69
70
  colorMood: z.ZodDefault<z.ZodEnum<{
@@ -108,6 +109,8 @@ export declare const DemoCardSchema: z.ZodObject<{
108
109
  danger: "danger";
109
110
  }>>;
110
111
  icon: z.ZodOptional<z.ZodString>;
112
+ imageUrl: z.ZodOptional<z.ZodString>;
113
+ clipUrl: z.ZodOptional<z.ZodString>;
111
114
  }, z.core.$strip>;
112
115
  /** A single chat turn for the AI-assistant scene. */
113
116
  export declare const ChatTurnSchema: z.ZodObject<{
@@ -150,9 +153,9 @@ export declare const DemoSceneSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
150
153
  type: z.ZodLiteral<"featureShowcase">;
151
154
  title: z.ZodString;
152
155
  surface: z.ZodDefault<z.ZodEnum<{
153
- detail: "detail";
154
156
  search: "search";
155
157
  table: "table";
158
+ detail: "detail";
156
159
  form: "form";
157
160
  chat: "chat";
158
161
  editor: "editor";
@@ -173,6 +176,8 @@ export declare const DemoSceneSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
173
176
  danger: "danger";
174
177
  }>>;
175
178
  icon: z.ZodOptional<z.ZodString>;
179
+ imageUrl: z.ZodOptional<z.ZodString>;
180
+ clipUrl: z.ZodOptional<z.ZodString>;
176
181
  }, z.core.$strip>>>;
177
182
  screenshotUrl: z.ZodOptional<z.ZodString>;
178
183
  videoUrl: z.ZodOptional<z.ZodString>;
@@ -205,6 +210,8 @@ export declare const DemoSceneSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
205
210
  danger: "danger";
206
211
  }>>;
207
212
  icon: z.ZodOptional<z.ZodString>;
213
+ imageUrl: z.ZodOptional<z.ZodString>;
214
+ clipUrl: z.ZodOptional<z.ZodString>;
208
215
  }, z.core.$strip>>>;
209
216
  }, z.core.$strip>, z.ZodObject<{
210
217
  id: z.ZodString;
@@ -227,6 +234,7 @@ export declare const DemoSceneSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
227
234
  narrationHint: z.ZodOptional<z.ZodString>;
228
235
  type: z.ZodLiteral<"deviceMockup">;
229
236
  device: z.ZodDefault<z.ZodEnum<{
237
+ none: "none";
230
238
  phone: "phone";
231
239
  browser: "browser";
232
240
  laptop: "laptop";
@@ -234,6 +242,7 @@ export declare const DemoSceneSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
234
242
  }>>;
235
243
  screenshotUrls: z.ZodDefault<z.ZodArray<z.ZodString>>;
236
244
  videoUrl: z.ZodOptional<z.ZodString>;
245
+ clipUrls: z.ZodOptional<z.ZodArray<z.ZodString>>;
237
246
  motion: z.ZodDefault<z.ZodEnum<{
238
247
  parallax: "parallax";
239
248
  tilt: "tilt";
@@ -317,6 +326,8 @@ export declare const DemoSceneSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
317
326
  danger: "danger";
318
327
  }>>;
319
328
  icon: z.ZodOptional<z.ZodString>;
329
+ imageUrl: z.ZodOptional<z.ZodString>;
330
+ clipUrl: z.ZodOptional<z.ZodString>;
320
331
  }, z.core.$strip>>>;
321
332
  }, z.core.$strip>, z.ZodObject<{
322
333
  id: z.ZodString;
@@ -339,6 +350,8 @@ export declare const DemoSceneSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
339
350
  danger: "danger";
340
351
  }>>;
341
352
  icon: z.ZodOptional<z.ZodString>;
353
+ imageUrl: z.ZodOptional<z.ZodString>;
354
+ clipUrl: z.ZodOptional<z.ZodString>;
342
355
  }, z.core.$strip>>;
343
356
  }, z.core.$strip>, z.ZodObject<{
344
357
  id: z.ZodString;
@@ -402,10 +415,15 @@ export declare const GEN_ASSET_URI_PREFIX: "gen://";
402
415
  export declare const DemoGeneratedAssetSchema: z.ZodObject<{
403
416
  id: z.ZodString;
404
417
  kind: z.ZodEnum<{
405
- image: "image";
406
418
  video: "video";
419
+ image: "image";
407
420
  }>;
421
+ source: z.ZodDefault<z.ZodEnum<{
422
+ generated: "generated";
423
+ stock: "stock";
424
+ }>>;
408
425
  prompt: z.ZodString;
426
+ query: z.ZodOptional<z.ZodString>;
409
427
  purpose: z.ZodOptional<z.ZodString>;
410
428
  aspect: z.ZodOptional<z.ZodEnum<{
411
429
  "9:16": "9:16";
@@ -432,6 +450,7 @@ export declare const DemoSpecSchema: z.ZodObject<{
432
450
  brandName: z.ZodOptional<z.ZodString>;
433
451
  wordmark: z.ZodOptional<z.ZodString>;
434
452
  logoUrl: z.ZodOptional<z.ZodString>;
453
+ siteUrl: z.ZodOptional<z.ZodString>;
435
454
  }, z.core.$strip>>;
436
455
  colors: z.ZodDefault<z.ZodObject<{
437
456
  primary: z.ZodOptional<z.ZodString>;
@@ -456,8 +475,8 @@ export declare const DemoSpecSchema: z.ZodObject<{
456
475
  "energetic-punchy": "energetic-punchy";
457
476
  }>>;
458
477
  pace: z.ZodDefault<z.ZodEnum<{
459
- medium: "medium";
460
478
  fast: "fast";
479
+ medium: "medium";
461
480
  slow: "slow";
462
481
  }>>;
463
482
  colorMood: z.ZodDefault<z.ZodEnum<{
@@ -523,9 +542,9 @@ export declare const DemoSpecSchema: z.ZodObject<{
523
542
  type: z.ZodLiteral<"featureShowcase">;
524
543
  title: z.ZodString;
525
544
  surface: z.ZodDefault<z.ZodEnum<{
526
- detail: "detail";
527
545
  search: "search";
528
546
  table: "table";
547
+ detail: "detail";
529
548
  form: "form";
530
549
  chat: "chat";
531
550
  editor: "editor";
@@ -546,6 +565,8 @@ export declare const DemoSpecSchema: z.ZodObject<{
546
565
  danger: "danger";
547
566
  }>>;
548
567
  icon: z.ZodOptional<z.ZodString>;
568
+ imageUrl: z.ZodOptional<z.ZodString>;
569
+ clipUrl: z.ZodOptional<z.ZodString>;
549
570
  }, z.core.$strip>>>;
550
571
  screenshotUrl: z.ZodOptional<z.ZodString>;
551
572
  videoUrl: z.ZodOptional<z.ZodString>;
@@ -578,6 +599,8 @@ export declare const DemoSpecSchema: z.ZodObject<{
578
599
  danger: "danger";
579
600
  }>>;
580
601
  icon: z.ZodOptional<z.ZodString>;
602
+ imageUrl: z.ZodOptional<z.ZodString>;
603
+ clipUrl: z.ZodOptional<z.ZodString>;
581
604
  }, z.core.$strip>>>;
582
605
  }, z.core.$strip>, z.ZodObject<{
583
606
  id: z.ZodString;
@@ -600,6 +623,7 @@ export declare const DemoSpecSchema: z.ZodObject<{
600
623
  narrationHint: z.ZodOptional<z.ZodString>;
601
624
  type: z.ZodLiteral<"deviceMockup">;
602
625
  device: z.ZodDefault<z.ZodEnum<{
626
+ none: "none";
603
627
  phone: "phone";
604
628
  browser: "browser";
605
629
  laptop: "laptop";
@@ -607,6 +631,7 @@ export declare const DemoSpecSchema: z.ZodObject<{
607
631
  }>>;
608
632
  screenshotUrls: z.ZodDefault<z.ZodArray<z.ZodString>>;
609
633
  videoUrl: z.ZodOptional<z.ZodString>;
634
+ clipUrls: z.ZodOptional<z.ZodArray<z.ZodString>>;
610
635
  motion: z.ZodDefault<z.ZodEnum<{
611
636
  parallax: "parallax";
612
637
  tilt: "tilt";
@@ -690,6 +715,8 @@ export declare const DemoSpecSchema: z.ZodObject<{
690
715
  danger: "danger";
691
716
  }>>;
692
717
  icon: z.ZodOptional<z.ZodString>;
718
+ imageUrl: z.ZodOptional<z.ZodString>;
719
+ clipUrl: z.ZodOptional<z.ZodString>;
693
720
  }, z.core.$strip>>>;
694
721
  }, z.core.$strip>, z.ZodObject<{
695
722
  id: z.ZodString;
@@ -712,6 +739,8 @@ export declare const DemoSpecSchema: z.ZodObject<{
712
739
  danger: "danger";
713
740
  }>>;
714
741
  icon: z.ZodOptional<z.ZodString>;
742
+ imageUrl: z.ZodOptional<z.ZodString>;
743
+ clipUrl: z.ZodOptional<z.ZodString>;
715
744
  }, z.core.$strip>>;
716
745
  }, z.core.$strip>, z.ZodObject<{
717
746
  id: z.ZodString;
@@ -765,10 +794,15 @@ export declare const DemoSpecSchema: z.ZodObject<{
765
794
  generatedAssets: z.ZodDefault<z.ZodArray<z.ZodObject<{
766
795
  id: z.ZodString;
767
796
  kind: z.ZodEnum<{
768
- image: "image";
769
797
  video: "video";
798
+ image: "image";
770
799
  }>;
800
+ source: z.ZodDefault<z.ZodEnum<{
801
+ generated: "generated";
802
+ stock: "stock";
803
+ }>>;
771
804
  prompt: z.ZodString;
805
+ query: z.ZodOptional<z.ZodString>;
772
806
  purpose: z.ZodOptional<z.ZodString>;
773
807
  aspect: z.ZodOptional<z.ZodEnum<{
774
808
  "9:16": "9:16";
@@ -1 +1 @@
1
- {"version":3,"file":"demoSpec.schema.d.ts","sourceRoot":"","sources":["../../src/schemas/demoSpec.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAQxB;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,eAAO,MAAM,wBAAwB,EAAG,CAAU,CAAC;AAMnD,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;iBAI1B,CAAC;AACH,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AASxD,uCAAuC;AACvC,eAAO,MAAM,iBAAiB;;;;;;;EAO5B,CAAC;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAU1B,CAAC;AACH,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAIxD,8FAA8F;AAC9F,eAAO,MAAM,kBAAkB;;;iBAG7B,CAAC;AAiBH,gEAAgE;AAChE,eAAO,MAAM,UAAU;;;;;;iBAOrB,CAAC;AAEH,gEAAgE;AAChE,eAAO,MAAM,cAAc;;;;;;;;;;;iBAMzB,CAAC;AAEH,qDAAqD;AACrD,eAAO,MAAM,cAAc;;;;;;;iBAKzB,CAAC;AA6LH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2BAe1B,CAAC;AACH,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AACxD,MAAM,MAAM,aAAa,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;AAI9C;;;;;;GAMG;AACH,eAAO,MAAM,oBAAoB,EAAG,QAAiB,CAAC;AAEtD,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;iBAoBnC,CAAC;AACH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAI1E,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAyCzB,CAAC;AAEH,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAEtD,0EAA0E;AAC1E,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,GAAG,MAAM,CAEzE"}
1
+ {"version":3,"file":"demoSpec.schema.d.ts","sourceRoot":"","sources":["../../src/schemas/demoSpec.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAQxB;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,eAAO,MAAM,wBAAwB,EAAG,CAAU,CAAC;AAMnD,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;iBAI1B,CAAC;AACH,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AASxD,uCAAuC;AACvC,eAAO,MAAM,iBAAiB;;;;;;;EAO5B,CAAC;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAU1B,CAAC;AACH,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAIxD,8FAA8F;AAC9F,eAAO,MAAM,kBAAkB;;;iBAG7B,CAAC;AAiBH,gEAAgE;AAChE,eAAO,MAAM,UAAU;;;;;;iBAOrB,CAAC;AAEH,gEAAgE;AAChE,eAAO,MAAM,cAAc;;;;;;;;;;;;;iBAgBzB,CAAC;AAEH,qDAAqD;AACrD,eAAO,MAAM,cAAc;;;;;;;iBAKzB,CAAC;AA+MH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2BAe1B,CAAC;AACH,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AACxD,MAAM,MAAM,aAAa,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;AAI9C;;;;;;GAMG;AACH,eAAO,MAAM,oBAAoB,EAAG,QAAiB,CAAC;AAEtD,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAqCnC,CAAC;AACH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAI1E,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAyCzB,CAAC;AAEH,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAEtD,0EAA0E;AAC1E,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,GAAG,MAAM,CAEzE"}
@@ -98,6 +98,16 @@ exports.DemoCardSchema = zod_1.z.object({
98
98
  badge: zod_1.z.string().optional(),
99
99
  badgeKind: zod_1.z.enum(["neutral", "positive", "warning", "danger"]).optional(),
100
100
  icon: zod_1.z.string().optional(),
101
+ /**
102
+ * Optional leading media for the card — a real thumbnail (poster/image) or a
103
+ * looping product CLIP. Used by list/grid surfaces (e.g. search results, a
104
+ * library grid) so a row shows real content instead of a gradient glyph.
105
+ * Sourced the same way as scene media: a real user/product asset, a resolved
106
+ * `gen://` AI asset, or a `stock://` library asset. Renders muted + cover-fit
107
+ * and degrades to the gradient glyph on load failure. NEVER a fabricated URL.
108
+ */
109
+ imageUrl: zod_1.z.string().optional(),
110
+ clipUrl: zod_1.z.string().optional(),
101
111
  });
102
112
  /** A single chat turn for the AI-assistant scene. */
103
113
  exports.ChatTurnSchema = zod_1.z.object({
@@ -183,7 +193,17 @@ const BigStatementSceneSchema = SceneBaseSchema.extend({
183
193
  /** Real screenshot(s) composited into 3D-perspective device frames w/ parallax (LangEase). */
184
194
  const DeviceMockupSceneSchema = SceneBaseSchema.extend({
185
195
  type: zod_1.z.literal("deviceMockup"),
186
- device: zod_1.z.enum(["browser", "laptop", "phone", "tablet"]).default("browser"),
196
+ /**
197
+ * Device chrome drawn around the media. `"none"` presents the capture
198
+ * FULL-BLEED with no frame at all — the right choice when the footage already
199
+ * contains the product's own window/app chrome and a second frame around it
200
+ * would read as chrome-inside-chrome.
201
+ *
202
+ * `"none"` fits the media rather than cropping it (see DeviceFrame `fit`), so
203
+ * a capture whose aspect differs from the composition keeps every edge — a
204
+ * product UI loses its meaning when its top bar or toolbar is cropped away.
205
+ */
206
+ device: zod_1.z.enum(["browser", "laptop", "phone", "tablet", "none"]).default("browser"),
187
207
  /**
188
208
  * Screenshots to showcase (scroll/parallax/zoom across them). May be empty when
189
209
  * `videoUrl` supplies the media instead — the canonical way to play a user's
@@ -197,6 +217,14 @@ const DeviceMockupSceneSchema = SceneBaseSchema.extend({
197
217
  * `inputs.mediaAssets`, rendered via `<OffthreadVideo>` (muted, loops to fill).
198
218
  */
199
219
  videoUrl: zod_1.z.string().optional(),
220
+ /**
221
+ * Optional set of real video CLIPS to show as a LIBRARY GRID inside the frame
222
+ * (2×2+). When two or more are given the frame renders a product-library screen
223
+ * — each clip a looping, cover-fit card with a duration chip + title — instead
224
+ * of a single cycling screenshot. The canonical "here are the videos it made"
225
+ * beat. Clips loop muted; a dead URL degrades that one card to a poster glyph.
226
+ */
227
+ clipUrls: zod_1.z.array(zod_1.z.string()).optional(),
200
228
  /** Camera move applied to the mockup. */
201
229
  motion: zod_1.z.enum(["tilt", "parallax", "scroll", "zoom-in", "orbit"]).default("parallax"),
202
230
  headline: zod_1.z.string().optional(),
@@ -306,12 +334,29 @@ exports.DemoGeneratedAssetSchema = zod_1.z.object({
306
334
  /** Stable id scenes reference as `gen://<id>`. */
307
335
  id: zod_1.z.string(),
308
336
  kind: zod_1.z.enum(["image", "video"]),
337
+ /**
338
+ * How the asset is resolved:
339
+ * - "generated" (default): the AI provider renders it from `prompt`.
340
+ * - "stock": the stock-asset stage searches a real library (Pexels → Pixabay
341
+ * → Unsplash) for `query` and fills `url` with a real photo/clip. Free +
342
+ * instant + real — preferred over generation for generic real-world subjects
343
+ * (a laptop on a desk, a city street, a coffee shop) where a licensed stock
344
+ * shot beats a synthesized one. Both kinds are referenced the same way
345
+ * (`gen://<id>`) and flow through the same substitution + media guard.
346
+ */
347
+ source: zod_1.z.enum(["generated", "stock"]).default("generated"),
309
348
  /**
310
349
  * The full generation prompt, written by the PLANNER for THIS product:
311
350
  * concrete subject + composition + lighting/mood + brand palette accents.
312
351
  * Never contains readable text/UI copy (AI-rendered text artifacts).
352
+ * Required for `source:"generated"`; ignored for stock (use `query`).
313
353
  */
314
354
  prompt: zod_1.z.string(),
355
+ /**
356
+ * Stock-search terms (2–5 plain words describing the subject, no brand names,
357
+ * no UI copy) — used when `source:"stock"`. e.g. "founder laptop cafe".
358
+ */
359
+ query: zod_1.z.string().optional(),
315
360
  /** Why this asset exists / which beat it serves — audit + revise context. */
316
361
  purpose: zod_1.z.string().optional(),
317
362
  /** Output geometry; defaults to the spec aspect at generation time. */
@@ -227,6 +227,16 @@ export declare const ImageClipSchema: z.ZodObject<{
227
227
  saturation: z.ZodDefault<z.ZodNumber>;
228
228
  warmth: z.ZodDefault<z.ZodNumber>;
229
229
  }, z.core.$strip>>;
230
+ box: z.ZodOptional<z.ZodObject<{
231
+ left: z.ZodNumber;
232
+ top: z.ZodNumber;
233
+ width: z.ZodNumber;
234
+ height: z.ZodNumber;
235
+ }, z.core.$strip>>;
236
+ fit: z.ZodOptional<z.ZodEnum<{
237
+ cover: "cover";
238
+ contain: "contain";
239
+ }>>;
230
240
  id: z.ZodString;
231
241
  trackId: z.ZodString;
232
242
  display: z.ZodObject<{
@@ -529,6 +539,16 @@ export declare const ClipSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
529
539
  saturation: z.ZodDefault<z.ZodNumber>;
530
540
  warmth: z.ZodDefault<z.ZodNumber>;
531
541
  }, z.core.$strip>>;
542
+ box: z.ZodOptional<z.ZodObject<{
543
+ left: z.ZodNumber;
544
+ top: z.ZodNumber;
545
+ width: z.ZodNumber;
546
+ height: z.ZodNumber;
547
+ }, z.core.$strip>>;
548
+ fit: z.ZodOptional<z.ZodEnum<{
549
+ cover: "cover";
550
+ contain: "contain";
551
+ }>>;
532
552
  id: z.ZodString;
533
553
  trackId: z.ZodString;
534
554
  display: z.ZodObject<{
@@ -748,8 +768,8 @@ export declare const ClipSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
748
768
  metadata: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
749
769
  }, z.core.$strip>], "type">;
750
770
  export declare const TrackKindSchema: z.ZodEnum<{
751
- audio: "audio";
752
771
  video: "video";
772
+ audio: "audio";
753
773
  text: "text";
754
774
  caption: "caption";
755
775
  fx: "fx";
@@ -757,8 +777,8 @@ export declare const TrackKindSchema: z.ZodEnum<{
757
777
  export declare const TrackSchema: z.ZodObject<{
758
778
  id: z.ZodString;
759
779
  kind: z.ZodEnum<{
760
- audio: "audio";
761
780
  video: "video";
781
+ audio: "audio";
762
782
  text: "text";
763
783
  caption: "caption";
764
784
  fx: "fx";
@@ -808,8 +828,8 @@ export declare const ProjectSchema: z.ZodObject<{
808
828
  tracks: z.ZodArray<z.ZodObject<{
809
829
  id: z.ZodString;
810
830
  kind: z.ZodEnum<{
811
- audio: "audio";
812
831
  video: "video";
832
+ audio: "audio";
813
833
  text: "text";
814
834
  caption: "caption";
815
835
  fx: "fx";
@@ -903,6 +923,16 @@ export declare const ProjectSchema: z.ZodObject<{
903
923
  saturation: z.ZodDefault<z.ZodNumber>;
904
924
  warmth: z.ZodDefault<z.ZodNumber>;
905
925
  }, z.core.$strip>>;
926
+ box: z.ZodOptional<z.ZodObject<{
927
+ left: z.ZodNumber;
928
+ top: z.ZodNumber;
929
+ width: z.ZodNumber;
930
+ height: z.ZodNumber;
931
+ }, z.core.$strip>>;
932
+ fit: z.ZodOptional<z.ZodEnum<{
933
+ cover: "cover";
934
+ contain: "contain";
935
+ }>>;
906
936
  id: z.ZodString;
907
937
  trackId: z.ZodString;
908
938
  display: z.ZodObject<{
@@ -1 +1 @@
1
- {"version":3,"file":"project.schema.d.ts","sourceRoot":"","sources":["../../src/schemas/project.schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"project.schema.d.ts","sourceRoot":"","sources":["../../src/schemas/project.schema.ts"],"names":[],"mappings":"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"}
@@ -205,6 +205,28 @@ exports.ImageClipSchema = zod_1.z.object({
205
205
  })
206
206
  .optional(),
207
207
  colorGrade: exports.ColorGradeSchema.optional(),
208
+ /**
209
+ * Optional fixed layout box in composition PIXELS. Used for overlay images
210
+ * pinned to a region — e.g. a brand logo in a corner (Reach per-recipient
211
+ * enrichment). When ABSENT the image fills the frame exactly as before (no
212
+ * behavior change for scene visuals). `left`/`top` are the box's top-left
213
+ * corner; `width`/`height` its size. Consumed by projectToDesign → the
214
+ * renderer's container/media styles.
215
+ */
216
+ box: zod_1.z
217
+ .object({
218
+ left: zod_1.z.number(),
219
+ top: zod_1.z.number(),
220
+ width: zod_1.z.number().positive(),
221
+ height: zod_1.z.number().positive(),
222
+ })
223
+ .optional(),
224
+ /**
225
+ * object-fit for the image within its box (or the frame). Default "cover"
226
+ * (unchanged legacy behavior). Overlay logos use "contain" so a wide/tall
227
+ * logo is letterboxed inside its box rather than cropped.
228
+ */
229
+ fit: zod_1.z.enum(["cover", "contain"]).optional(),
208
230
  });
209
231
  exports.AudioClipSchema = zod_1.z.object({
210
232
  ...ClipBase,
@@ -37,8 +37,8 @@ export declare const SocialInboxReplySchema: z.ZodObject<{
37
37
  /** Body for PATCH /v1/social/inbox/:id — update handling state / moderation. */
38
38
  export declare const SocialInboxUpdateSchema: z.ZodObject<{
39
39
  status: z.ZodOptional<z.ZodEnum<{
40
- read: "read";
41
40
  hidden: "hidden";
41
+ read: "read";
42
42
  unread: "unread";
43
43
  replied: "replied";
44
44
  }>>;
@@ -84,8 +84,8 @@ export declare const TransitionKindSchema: z.ZodEnum<{
84
84
  * - label: in-frame label for an object or person (anchored to frame area)
85
85
  */
86
86
  export declare const TextRoleSchema: z.ZodEnum<{
87
- body: "body";
88
87
  watermark: "watermark";
88
+ body: "body";
89
89
  cta: "cta";
90
90
  headline: "headline";
91
91
  subheadline: "subheadline";
@@ -93,8 +93,8 @@ export declare const TextRoleSchema: z.ZodEnum<{
93
93
  label: "label";
94
94
  }>;
95
95
  export declare const TextPositionSchema: z.ZodEnum<{
96
- center: "center";
97
96
  top: "top";
97
+ center: "center";
98
98
  "top-left": "top-left";
99
99
  "top-right": "top-right";
100
100
  "top-banner": "top-banner";
@@ -106,8 +106,8 @@ export declare const TextPositionSchema: z.ZodEnum<{
106
106
  "caption-strip": "caption-strip";
107
107
  }>;
108
108
  export declare const TextAnimationSchema: z.ZodEnum<{
109
- type: "type";
110
109
  pop: "pop";
110
+ type: "type";
111
111
  none: "none";
112
112
  fade: "fade";
113
113
  "slide-up": "slide-up";
@@ -138,8 +138,8 @@ export declare const TextBgStyleSchema: z.ZodEnum<{
138
138
  export declare const TextOverlaySchema: z.ZodObject<{
139
139
  text: z.ZodString;
140
140
  role: z.ZodEnum<{
141
- body: "body";
142
141
  watermark: "watermark";
142
+ body: "body";
143
143
  cta: "cta";
144
144
  headline: "headline";
145
145
  subheadline: "subheadline";
@@ -147,8 +147,8 @@ export declare const TextOverlaySchema: z.ZodObject<{
147
147
  label: "label";
148
148
  }>;
149
149
  position: z.ZodOptional<z.ZodEnum<{
150
- center: "center";
151
150
  top: "top";
151
+ center: "center";
152
152
  "top-left": "top-left";
153
153
  "top-right": "top-right";
154
154
  "top-banner": "top-banner";
@@ -167,10 +167,10 @@ export declare const TextOverlaySchema: z.ZodObject<{
167
167
  fontSize: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"auto">, z.ZodNumber]>>;
168
168
  sizePct: z.ZodOptional<z.ZodNumber>;
169
169
  weight: z.ZodOptional<z.ZodEnum<{
170
- regular: "regular";
171
170
  bold: "bold";
172
- black: "black";
173
171
  medium: "medium";
172
+ regular: "regular";
173
+ black: "black";
174
174
  }>>;
175
175
  color: z.ZodOptional<z.ZodString>;
176
176
  bgColor: z.ZodOptional<z.ZodString>;
@@ -182,8 +182,8 @@ export declare const TextOverlaySchema: z.ZodObject<{
182
182
  outline: "outline";
183
183
  }>>;
184
184
  animation: z.ZodOptional<z.ZodEnum<{
185
- type: "type";
186
185
  pop: "pop";
186
+ type: "type";
187
187
  none: "none";
188
188
  fade: "fade";
189
189
  "slide-up": "slide-up";
@@ -322,8 +322,8 @@ export declare const PlannedSceneSchema: z.ZodObject<{
322
322
  overlays: z.ZodOptional<z.ZodArray<z.ZodObject<{
323
323
  text: z.ZodString;
324
324
  role: z.ZodEnum<{
325
- body: "body";
326
325
  watermark: "watermark";
326
+ body: "body";
327
327
  cta: "cta";
328
328
  headline: "headline";
329
329
  subheadline: "subheadline";
@@ -331,8 +331,8 @@ export declare const PlannedSceneSchema: z.ZodObject<{
331
331
  label: "label";
332
332
  }>;
333
333
  position: z.ZodOptional<z.ZodEnum<{
334
- center: "center";
335
334
  top: "top";
335
+ center: "center";
336
336
  "top-left": "top-left";
337
337
  "top-right": "top-right";
338
338
  "top-banner": "top-banner";
@@ -351,10 +351,10 @@ export declare const PlannedSceneSchema: z.ZodObject<{
351
351
  fontSize: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"auto">, z.ZodNumber]>>;
352
352
  sizePct: z.ZodOptional<z.ZodNumber>;
353
353
  weight: z.ZodOptional<z.ZodEnum<{
354
- regular: "regular";
355
354
  bold: "bold";
356
- black: "black";
357
355
  medium: "medium";
356
+ regular: "regular";
357
+ black: "black";
358
358
  }>>;
359
359
  color: z.ZodOptional<z.ZodString>;
360
360
  bgColor: z.ZodOptional<z.ZodString>;
@@ -366,8 +366,8 @@ export declare const PlannedSceneSchema: z.ZodObject<{
366
366
  outline: "outline";
367
367
  }>>;
368
368
  animation: z.ZodOptional<z.ZodEnum<{
369
- type: "type";
370
369
  pop: "pop";
370
+ type: "type";
371
371
  none: "none";
372
372
  fade: "fade";
373
373
  "slide-up": "slide-up";
@@ -427,8 +427,8 @@ export declare const PlannedSceneSchema: z.ZodObject<{
427
427
  broll: z.ZodOptional<z.ZodArray<z.ZodObject<{
428
428
  assetUrl: z.ZodString;
429
429
  kind: z.ZodDefault<z.ZodEnum<{
430
- image: "image";
431
430
  video: "video";
431
+ image: "image";
432
432
  }>>;
433
433
  startMs: z.ZodDefault<z.ZodNumber>;
434
434
  durationMs: z.ZodOptional<z.ZodNumber>;
@@ -557,8 +557,8 @@ export declare const VideoPlanSchema: z.ZodObject<{
557
557
  overlays: z.ZodOptional<z.ZodArray<z.ZodObject<{
558
558
  text: z.ZodString;
559
559
  role: z.ZodEnum<{
560
- body: "body";
561
560
  watermark: "watermark";
561
+ body: "body";
562
562
  cta: "cta";
563
563
  headline: "headline";
564
564
  subheadline: "subheadline";
@@ -566,8 +566,8 @@ export declare const VideoPlanSchema: z.ZodObject<{
566
566
  label: "label";
567
567
  }>;
568
568
  position: z.ZodOptional<z.ZodEnum<{
569
- center: "center";
570
569
  top: "top";
570
+ center: "center";
571
571
  "top-left": "top-left";
572
572
  "top-right": "top-right";
573
573
  "top-banner": "top-banner";
@@ -586,10 +586,10 @@ export declare const VideoPlanSchema: z.ZodObject<{
586
586
  fontSize: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"auto">, z.ZodNumber]>>;
587
587
  sizePct: z.ZodOptional<z.ZodNumber>;
588
588
  weight: z.ZodOptional<z.ZodEnum<{
589
- regular: "regular";
590
589
  bold: "bold";
591
- black: "black";
592
590
  medium: "medium";
591
+ regular: "regular";
592
+ black: "black";
593
593
  }>>;
594
594
  color: z.ZodOptional<z.ZodString>;
595
595
  bgColor: z.ZodOptional<z.ZodString>;
@@ -601,8 +601,8 @@ export declare const VideoPlanSchema: z.ZodObject<{
601
601
  outline: "outline";
602
602
  }>>;
603
603
  animation: z.ZodOptional<z.ZodEnum<{
604
- type: "type";
605
604
  pop: "pop";
605
+ type: "type";
606
606
  none: "none";
607
607
  fade: "fade";
608
608
  "slide-up": "slide-up";
@@ -662,8 +662,8 @@ export declare const VideoPlanSchema: z.ZodObject<{
662
662
  broll: z.ZodOptional<z.ZodArray<z.ZodObject<{
663
663
  assetUrl: z.ZodString;
664
664
  kind: z.ZodDefault<z.ZodEnum<{
665
- image: "image";
666
665
  video: "video";
666
+ image: "image";
667
667
  }>>;
668
668
  startMs: z.ZodDefault<z.ZodNumber>;
669
669
  durationMs: z.ZodOptional<z.ZodNumber>;
@@ -699,7 +699,9 @@ export declare const VideoPlanSchema: z.ZodObject<{
699
699
  }, z.core.$strip>>;
700
700
  voiceId: z.ZodOptional<z.ZodString>;
701
701
  voiceStyle: z.ZodOptional<z.ZodString>;
702
+ outputLanguage: z.ZodOptional<z.ZodString>;
702
703
  notes: z.ZodOptional<z.ZodString>;
704
+ brandLogoUrl: z.ZodOptional<z.ZodString>;
703
705
  captionStyle: z.ZodOptional<z.ZodObject<{
704
706
  fontFamily: z.ZodOptional<z.ZodString>;
705
707
  fontSize: z.ZodOptional<z.ZodNumber>;
@@ -1 +1 @@
1
- {"version":3,"file":"videoPlan.schema.d.ts","sourceRoot":"","sources":["../../src/schemas/videoPlan.schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"videoPlan.schema.d.ts","sourceRoot":"","sources":["../../src/schemas/videoPlan.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAUxB;;;;;;;GAOG;AAEH;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,iBAAiB;;;;;iBAc5B,CAAC;AAEH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;iBASjC,CAAC;AAEH,eAAO,MAAM,wBAAwB;;;;;;;;;EASnC,CAAC;AAEH,eAAO,MAAM,oBAAoB;;;;;;;;;EAS/B,CAAC;AAEH;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,cAAc;;;;;;;;EAQzB,CAAC;AAEH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;EAY7B,CAAC;AAEH,eAAO,MAAM,mBAAmB;;;;;;;;EAQ9B,CAAC;AAEH;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB;;;;;;EAM5B,CAAC;AAEH;;;;;;;GAOG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAsC5B,CAAC;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAC5D,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AACtD,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAC9D,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAChE,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D;;;;;;;;;GASG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;iBAqC5B,CAAC;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D;;;;;;;;;;GAUG;AACH;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB;;;;;;EAM9B,CAAC;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE,eAAO,MAAM,kBAAkB;;;;;;;;;;;;iBAQ7B,CAAC;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA+I7B,CAAC;AAEH;;;;;;;GAOG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;iBAa/B,CAAC;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE;;;;;;;;GAQG;AACH,eAAO,MAAM,aAAa;;;;;;iBAkBxB,CAAC;AACH,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AAEpD;;;;;;GAMG;AACH,eAAO,MAAM,YAAY;;;;;iBASvB,CAAC;AACH,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAElD,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAqL1B,CAAC;AAEH,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AACxD,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAC9D,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAC1E,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAClE,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AACtE,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC"}
@@ -550,8 +550,27 @@ exports.VideoPlanSchema = zod_1.z.object({
550
550
  * into every consumer — executor validates at use-time.
551
551
  */
552
552
  voiceStyle: zod_1.z.string().optional(),
553
+ /**
554
+ * Language of the viewer-facing text in this plan (voiceoverLine,
555
+ * onScreenText, overlays, title). ISO 639-1 / "zh-cn". ORCHESTRATOR-ONLY:
556
+ * stamped from `brief.outputLanguage` post-parse, not filled by the LLM.
557
+ *
558
+ * The executor forwards it to TTS as `languageCode` and to caption ASR as a
559
+ * decode hint, so the spoken audio and the burned-in captions agree with the
560
+ * script instead of each independently guessing. Absent = English.
561
+ */
562
+ outputLanguage: zod_1.z.string().optional(),
553
563
  /** Free-form planner notes — e.g. why a particular tier mix was chosen. */
554
564
  notes: zod_1.z.string().optional(),
565
+ /**
566
+ * Reach per-recipient enrichment — URL of a brand logo to pin as a small
567
+ * corner overlay across the whole video ("product-aware" personalization).
568
+ * ORCHESTRATOR-ONLY: the planner LLM must NOT set this; the outreach fan-out
569
+ * injects the recipient's `logoUrl` post-plan (see resolvePlaceholdersDeep /
570
+ * outreachCampaignProcessor). When present, planToProject emits a contained
571
+ * logo ImageClip on the dedicated logo track. Absent → no logo overlay.
572
+ */
573
+ brandLogoUrl: zod_1.z.string().url().optional(),
555
574
  /**
556
575
  * CH-8 — caption styling applied to every CaptionClip at planToProject time.
557
576
  * Set by the chat `change_caption_style` tool; absent → renderer defaults