@cueframe/kernel 0.2.57 → 0.2.58

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 (98) hide show
  1. package/dist/THIRD_PARTY_NOTICES.md +111 -0
  2. package/dist/_members/component-runtime/template/bind.d.ts +22 -0
  3. package/dist/_members/component-runtime/template/bind.d.ts.map +1 -0
  4. package/dist/_members/component-runtime/template/extract.d.ts +31 -0
  5. package/dist/_members/component-runtime/template/extract.d.ts.map +1 -0
  6. package/dist/_members/component-runtime/template/index.d.ts +5 -0
  7. package/dist/_members/component-runtime/template/index.d.ts.map +1 -0
  8. package/dist/_members/component-runtime/template/schema.d.ts +1580 -0
  9. package/dist/_members/component-runtime/template/schema.d.ts.map +1 -0
  10. package/dist/_members/component-runtime/template/testing/fixtures.d.ts +33 -0
  11. package/dist/_members/component-runtime/template/testing/fixtures.d.ts.map +1 -0
  12. package/dist/_members/component-runtime/template/testing/index.d.ts +3 -0
  13. package/dist/_members/component-runtime/template/testing/index.d.ts.map +1 -0
  14. package/dist/_members/component-runtime/template/testing/templateApplyContract.d.ts +54 -0
  15. package/dist/_members/component-runtime/template/testing/templateApplyContract.d.ts.map +1 -0
  16. package/dist/_members/composition/primitive-catalog/index.d.ts +2 -1
  17. package/dist/_members/composition/primitive-catalog/types.d.ts +3 -1
  18. package/dist/_members/composition/validators/brandKit.d.ts +7 -0
  19. package/dist/_members/composition/validators/brandKitBody.d.ts +543 -0
  20. package/dist/_members/errors/registry.d.ts +36 -0
  21. package/dist/_members/mcp/server.d.ts +5 -2
  22. package/dist/_members/primitives/backgrounds/dynamic-grid/config.d.ts +1 -1
  23. package/dist/_members/primitives/effects/blur/config.d.ts +1 -1
  24. package/dist/_members/primitives/effects/color-grade/config.d.ts +2 -2
  25. package/dist/_members/primitives/effects/grain/config.d.ts +3 -3
  26. package/dist/_members/primitives/effects/particles/config.d.ts +2 -2
  27. package/dist/_members/primitives/effects/stage-camera/config.d.ts +6 -6
  28. package/dist/_members/primitives/effects/vignette/config.d.ts +1 -1
  29. package/dist/_members/primitives/layouts/flex-layout/config.d.ts +3 -3
  30. package/dist/_members/primitives/layouts/picture-in-picture/config.d.ts +2 -2
  31. package/dist/_members/primitives/lib/types.d.ts +1 -1
  32. package/dist/_members/primitives/scenes/device-showcase/config.d.ts +7 -7
  33. package/dist/_members/primitives/text/cinematic-title/config.d.ts +3 -3
  34. package/dist/_members/primitives/text/karaoke/config.d.ts +1 -1
  35. package/dist/_members/primitives/text/kinetic-type/config.d.ts +3 -3
  36. package/dist/_members/primitives/text/stat-counter/config.d.ts +1 -1
  37. package/dist/_members/primitives/text/text-effect/config.d.ts +2 -2
  38. package/dist/_members/primitives/transitions/grid-pixelate-wipe/config.d.ts +1 -1
  39. package/dist/_members/primitives/ui-blocks/badge-pop/config.d.ts +3 -3
  40. package/dist/_members/primitives/ui-blocks/terminal-simulator/config.d.ts +2 -2
  41. package/dist/_members/primitives/ui-blocks/toast-notification/config.d.ts +2 -2
  42. package/dist/authoring/build-tools.js +5 -4
  43. package/dist/authoring/context.js +2 -1
  44. package/dist/authoring/tools.js +4 -3
  45. package/dist/authoring.js +7 -6
  46. package/dist/{chunk-R7G2PNEZ.js → chunk-2L33CKIY.js} +11 -13
  47. package/dist/{chunk-N54EGUVM.js → chunk-3VLDQE26.js} +1 -1
  48. package/dist/{chunk-7AZLFN26.js → chunk-4NIJWK45.js} +20 -12
  49. package/dist/{chunk-KSRFYFUZ.js → chunk-5T655LYZ.js} +1 -1
  50. package/dist/{chunk-RERR5JLM.js → chunk-6UZYUWBX.js} +1 -1
  51. package/dist/{chunk-LBN5KQC6.js → chunk-7EDLPIUN.js} +3 -3
  52. package/dist/{chunk-MZB4ZXYW.js → chunk-7NIOFHMH.js} +1 -1
  53. package/dist/{chunk-E63UEO5C.js → chunk-AK5QBHOB.js} +6 -0
  54. package/dist/{chunk-BDFAA747.js → chunk-GQ6XGAFB.js} +1 -1
  55. package/dist/chunk-IG3YAOUZ.js +418 -0
  56. package/dist/{chunk-Z4G3VM3H.js → chunk-JN3GF36B.js} +1 -1
  57. package/dist/{chunk-DV7ZFVL4.js → chunk-MFMR3LHO.js} +1 -1
  58. package/dist/{chunk-JPMVNMF3.js → chunk-MNO6AO2J.js} +1 -1
  59. package/dist/{chunk-VXGA7LQQ.js → chunk-NVXSKKRN.js} +2 -2
  60. package/dist/chunk-PWWZTY3G.js +254 -0
  61. package/dist/chunk-REST55RC.js +366 -0
  62. package/dist/chunk-TR53N6HB.js +196 -0
  63. package/dist/{chunk-4PV3UYJF.js → chunk-UXRSEMJJ.js} +201 -201
  64. package/dist/component-runtime/template/testing.d.ts +1 -0
  65. package/dist/component-runtime/template/testing.js +380 -0
  66. package/dist/component-runtime/template.d.ts +1 -0
  67. package/dist/component-runtime/template.js +99 -0
  68. package/dist/compose.js +20 -20
  69. package/dist/composition/floors.js +1 -1
  70. package/dist/composition/ops.js +2 -1
  71. package/dist/composition/primitive-catalog.js +3 -1
  72. package/dist/composition/projection.js +2 -2
  73. package/dist/composition/validators/brand-kit-body.d.ts +1 -0
  74. package/dist/composition/validators/brand-kit-body.js +17 -0
  75. package/dist/composition/validators.js +10 -6
  76. package/dist/composition-ops.js +7 -6
  77. package/dist/composition.js +12 -8
  78. package/dist/{context-6HPUO36M.js → context-4WSFPRLX.js} +2 -1
  79. package/dist/core/render.js +4 -4
  80. package/dist/core/select.js +2 -2
  81. package/dist/core.js +4 -4
  82. package/dist/director/ai-sdk.js +3 -3
  83. package/dist/director/domain.js +2 -2
  84. package/dist/director.js +3 -3
  85. package/dist/errors.js +1 -1
  86. package/dist/mcp/adapter.js +3 -3
  87. package/dist/mcp/server.js +3 -26
  88. package/dist/mcp.js +3 -26
  89. package/dist/nle-export.js +1 -1
  90. package/dist/primitives/captions.js +3 -3
  91. package/dist/primitives.js +18 -18
  92. package/dist/render-harness/cardAssetAdmission.js +2 -2
  93. package/dist/render-harness/cardFonts.js +2 -2
  94. package/dist/render-harness/renderInputAssets.js +2 -2
  95. package/dist/render-harness.js +8 -8
  96. package/dist/src-ZP6727AA.js +70 -0
  97. package/package.json +22 -10
  98. package/dist/chunk-AXRSCHQX.js +0 -661
@@ -0,0 +1,1580 @@
1
+ import { z } from "zod";
2
+ export declare const TEMPLATE_MAX_BYTES = 1048576;
3
+ export declare const MATTE_KEY: RegExp;
4
+ export declare const TemplateParameterSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
5
+ type: z.ZodLiteral<"string">;
6
+ default: z.ZodOptional<z.ZodString>;
7
+ maxLength: z.ZodOptional<z.ZodNumber>;
8
+ name: z.ZodString;
9
+ required: z.ZodBoolean;
10
+ label: z.ZodOptional<z.ZodString>;
11
+ }, z.core.$strict>, z.ZodObject<{
12
+ type: z.ZodLiteral<"number">;
13
+ default: z.ZodOptional<z.ZodNumber>;
14
+ min: z.ZodOptional<z.ZodNumber>;
15
+ max: z.ZodOptional<z.ZodNumber>;
16
+ name: z.ZodString;
17
+ required: z.ZodBoolean;
18
+ label: z.ZodOptional<z.ZodString>;
19
+ }, z.core.$strict>, z.ZodObject<{
20
+ type: z.ZodLiteral<"color">;
21
+ default: z.ZodOptional<z.ZodString>;
22
+ name: z.ZodString;
23
+ required: z.ZodBoolean;
24
+ label: z.ZodOptional<z.ZodString>;
25
+ }, z.core.$strict>, z.ZodObject<{
26
+ type: z.ZodLiteral<"url">;
27
+ default: z.ZodOptional<z.ZodString>;
28
+ name: z.ZodString;
29
+ required: z.ZodBoolean;
30
+ label: z.ZodOptional<z.ZodString>;
31
+ }, z.core.$strict>, z.ZodObject<{
32
+ type: z.ZodLiteral<"enum">;
33
+ options: z.ZodArray<z.ZodString>;
34
+ default: z.ZodOptional<z.ZodString>;
35
+ name: z.ZodString;
36
+ required: z.ZodBoolean;
37
+ label: z.ZodOptional<z.ZodString>;
38
+ }, z.core.$strict>, z.ZodObject<{
39
+ type: z.ZodLiteral<"boolean">;
40
+ default: z.ZodOptional<z.ZodBoolean>;
41
+ name: z.ZodString;
42
+ required: z.ZodBoolean;
43
+ label: z.ZodOptional<z.ZodString>;
44
+ }, z.core.$strict>, z.ZodObject<{
45
+ type: z.ZodLiteral<"media">;
46
+ kind: z.ZodEnum<{
47
+ image: "image";
48
+ video: "video";
49
+ audio: "audio";
50
+ }>;
51
+ default: z.ZodOptional<z.ZodString>;
52
+ prepared: z.ZodOptional<z.ZodObject<{
53
+ mattes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
54
+ url: z.ZodString;
55
+ sha256: z.ZodString;
56
+ mimeType: z.ZodLiteral<"video/mp4">;
57
+ bakeVersion: z.ZodString;
58
+ presenceFraction: z.ZodOptional<z.ZodNumber>;
59
+ }, z.core.$strict>>>;
60
+ }, z.core.$strict>>;
61
+ sample: z.ZodOptional<z.ZodObject<{
62
+ url: z.ZodString;
63
+ sha256: z.ZodString;
64
+ mimeType: z.ZodString;
65
+ durationSec: z.ZodOptional<z.ZodNumber>;
66
+ }, z.core.$strict>>;
67
+ name: z.ZodString;
68
+ required: z.ZodBoolean;
69
+ label: z.ZodOptional<z.ZodString>;
70
+ }, z.core.$strict>], "type">;
71
+ export declare const PRESET_NAME: RegExp;
72
+ export declare function coerceParameterValue(param: TemplateParameter, raw: unknown): {
73
+ ok: true;
74
+ value: unknown;
75
+ } | {
76
+ ok: false;
77
+ reason: string;
78
+ };
79
+ declare const TemplatePresetSchema: z.ZodObject<{
80
+ label: z.ZodString;
81
+ values: z.ZodRecord<z.ZodString, z.ZodUnknown>;
82
+ brandKit: z.ZodOptional<z.ZodObject<{
83
+ kitId: z.ZodString;
84
+ name: z.ZodString;
85
+ description: z.ZodOptional<z.ZodString>;
86
+ tagline: z.ZodOptional<z.ZodString>;
87
+ secondaryTagline: z.ZodOptional<z.ZodString>;
88
+ colors: z.ZodObject<{
89
+ primary: z.ZodString;
90
+ secondary: z.ZodString;
91
+ accent: z.ZodString;
92
+ background: z.ZodString;
93
+ text: z.ZodString;
94
+ }, z.core.$strip>;
95
+ extraColors: z.ZodOptional<z.ZodArray<z.ZodObject<{
96
+ hex: z.ZodString;
97
+ label: z.ZodString;
98
+ usage: z.ZodOptional<z.ZodString>;
99
+ }, z.core.$strip>>>;
100
+ headingFont: z.ZodObject<{
101
+ fontFamily: z.ZodString;
102
+ fontWeight: z.ZodNumber;
103
+ }, z.core.$strip>;
104
+ bodyFont: z.ZodObject<{
105
+ fontFamily: z.ZodString;
106
+ fontWeight: z.ZodNumber;
107
+ }, z.core.$strip>;
108
+ voiceGuidelines: z.ZodOptional<z.ZodString>;
109
+ syncCaptions: z.ZodOptional<z.ZodBoolean>;
110
+ captionProfile: z.ZodOptional<z.ZodObject<{
111
+ fontFamily: z.ZodOptional<z.ZodString>;
112
+ fontSize: z.ZodOptional<z.ZodNumber>;
113
+ fontWeight: z.ZodOptional<z.ZodNumber>;
114
+ color: z.ZodOptional<z.ZodString>;
115
+ highlightColor: z.ZodOptional<z.ZodString>;
116
+ backgroundColor: z.ZodOptional<z.ZodString>;
117
+ plate: z.ZodOptional<z.ZodEnum<{
118
+ none: "none";
119
+ glass: "glass";
120
+ solid: "solid";
121
+ }>>;
122
+ position: z.ZodOptional<z.ZodEnum<{
123
+ top: "top";
124
+ center: "center";
125
+ bottom: "bottom";
126
+ }>>;
127
+ textTransform: z.ZodOptional<z.ZodEnum<{
128
+ none: "none";
129
+ uppercase: "uppercase";
130
+ }>>;
131
+ entrance: z.ZodOptional<z.ZodEnum<{
132
+ none: "none";
133
+ fade: "fade";
134
+ "word-pop": "word-pop";
135
+ "stagger-up": "stagger-up";
136
+ }>>;
137
+ entranceMs: z.ZodOptional<z.ZodNumber>;
138
+ entranceStaggerMs: z.ZodOptional<z.ZodNumber>;
139
+ exitMs: z.ZodOptional<z.ZodNumber>;
140
+ emphasisColor: z.ZodOptional<z.ZodString>;
141
+ emphasisScale: z.ZodOptional<z.ZodNumber>;
142
+ emphasisFontFamily: z.ZodOptional<z.ZodString>;
143
+ emphasisFontWeight: z.ZodOptional<z.ZodNumber>;
144
+ emphasisFontStyle: z.ZodOptional<z.ZodEnum<{
145
+ normal: "normal";
146
+ italic: "italic";
147
+ }>>;
148
+ emphasisTextTransform: z.ZodOptional<z.ZodEnum<{
149
+ none: "none";
150
+ uppercase: "uppercase";
151
+ }>>;
152
+ emphasisLetterSpacing: z.ZodOptional<z.ZodNumber>;
153
+ emphasisPlate: z.ZodOptional<z.ZodBoolean>;
154
+ emphasisPlateColor: z.ZodOptional<z.ZodString>;
155
+ emphasisPlateTextColor: z.ZodOptional<z.ZodString>;
156
+ }, z.core.$strip>>;
157
+ motion: z.ZodOptional<z.ZodObject<{
158
+ duration: z.ZodOptional<z.ZodNumber>;
159
+ easing: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
160
+ ease: "ease";
161
+ linear: "linear";
162
+ "ease-out": "ease-out";
163
+ "ease-in-out": "ease-in-out";
164
+ "ease-in": "ease-in";
165
+ }>, z.ZodObject<{
166
+ kind: z.ZodLiteral<"cubic-bezier">;
167
+ x1: z.ZodNumber;
168
+ y1: z.ZodNumber;
169
+ x2: z.ZodNumber;
170
+ y2: z.ZodNumber;
171
+ }, z.core.$strip>]>>;
172
+ entrance: z.ZodOptional<z.ZodEnum<{
173
+ none: "none";
174
+ fade: "fade";
175
+ "word-pop": "word-pop";
176
+ "stagger-up": "stagger-up";
177
+ }>>;
178
+ staggerMs: z.ZodOptional<z.ZodNumber>;
179
+ exitMs: z.ZodOptional<z.ZodNumber>;
180
+ }, z.core.$strip>>;
181
+ logo: z.ZodOptional<z.ZodObject<{
182
+ src: z.ZodString;
183
+ alt: z.ZodOptional<z.ZodString>;
184
+ placement: z.ZodOptional<z.ZodEnum<{
185
+ tl: "tl";
186
+ tr: "tr";
187
+ bl: "bl";
188
+ br: "br";
189
+ }>>;
190
+ sizePct: z.ZodOptional<z.ZodNumber>;
191
+ }, z.core.$strip>>;
192
+ intro: z.ZodOptional<z.ZodObject<{
193
+ kind: z.ZodEnum<{
194
+ video: "video";
195
+ card: "card";
196
+ }>;
197
+ src: z.ZodOptional<z.ZodString>;
198
+ title: z.ZodOptional<z.ZodString>;
199
+ subtitle: z.ZodOptional<z.ZodString>;
200
+ durationMs: z.ZodOptional<z.ZodNumber>;
201
+ }, z.core.$strip>>;
202
+ outro: z.ZodOptional<z.ZodObject<{
203
+ kind: z.ZodEnum<{
204
+ video: "video";
205
+ card: "card";
206
+ }>;
207
+ src: z.ZodOptional<z.ZodString>;
208
+ title: z.ZodOptional<z.ZodString>;
209
+ subtitle: z.ZodOptional<z.ZodString>;
210
+ durationMs: z.ZodOptional<z.ZodNumber>;
211
+ }, z.core.$strip>>;
212
+ watermark: z.ZodOptional<z.ZodObject<{
213
+ src: z.ZodString;
214
+ opacity: z.ZodOptional<z.ZodNumber>;
215
+ placement: z.ZodOptional<z.ZodEnum<{
216
+ tl: "tl";
217
+ tr: "tr";
218
+ bl: "bl";
219
+ br: "br";
220
+ }>>;
221
+ }, z.core.$strip>>;
222
+ spacing: z.ZodOptional<z.ZodObject<{
223
+ base: z.ZodOptional<z.ZodNumber>;
224
+ lg: z.ZodOptional<z.ZodNumber>;
225
+ sm: z.ZodOptional<z.ZodNumber>;
226
+ }, z.core.$strip>>;
227
+ sizing: z.ZodOptional<z.ZodObject<{
228
+ fontSizeHeading: z.ZodOptional<z.ZodNumber>;
229
+ fontSizeBody: z.ZodOptional<z.ZodNumber>;
230
+ fontSizeLabel: z.ZodOptional<z.ZodNumber>;
231
+ borderRadius: z.ZodOptional<z.ZodNumber>;
232
+ }, z.core.$strip>>;
233
+ audio: z.ZodOptional<z.ZodObject<{
234
+ sfxIntensity: z.ZodOptional<z.ZodEnum<{
235
+ standard: "standard";
236
+ light: "light";
237
+ off: "off";
238
+ dense: "dense";
239
+ }>>;
240
+ musicEnabled: z.ZodOptional<z.ZodBoolean>;
241
+ musicMood: z.ZodOptional<z.ZodString>;
242
+ sonicLogo: z.ZodOptional<z.ZodObject<{
243
+ ref: z.ZodString;
244
+ placement: z.ZodEnum<{
245
+ intro: "intro";
246
+ outro: "outro";
247
+ both: "both";
248
+ }>;
249
+ offsetMs: z.ZodOptional<z.ZodNumber>;
250
+ }, z.core.$strip>>;
251
+ uiSoundSet: z.ZodOptional<z.ZodObject<{
252
+ tick: z.ZodOptional<z.ZodString>;
253
+ pop: z.ZodOptional<z.ZodString>;
254
+ impact: z.ZodOptional<z.ZodString>;
255
+ confirm: z.ZodOptional<z.ZodString>;
256
+ error: z.ZodOptional<z.ZodString>;
257
+ whoosh: z.ZodOptional<z.ZodString>;
258
+ riser: z.ZodOptional<z.ZodString>;
259
+ }, z.core.$strip>>;
260
+ bedStyle: z.ZodOptional<z.ZodObject<{
261
+ bedId: z.ZodOptional<z.ZodString>;
262
+ genre: z.ZodOptional<z.ZodString>;
263
+ bpmRange: z.ZodOptional<z.ZodObject<{
264
+ min: z.ZodNumber;
265
+ max: z.ZodNumber;
266
+ }, z.core.$strip>>;
267
+ }, z.core.$strip>>;
268
+ ambiencePreference: z.ZodOptional<z.ZodNullable<z.ZodObject<{
269
+ ref: z.ZodString;
270
+ }, z.core.$strip>>>;
271
+ }, z.core.$strip>>;
272
+ motifs: z.ZodOptional<z.ZodArray<z.ZodObject<{
273
+ id: z.ZodString;
274
+ observed: z.ZodString;
275
+ body: z.ZodDiscriminatedUnion<[z.ZodObject<{
276
+ kind: z.ZodLiteral<"card">;
277
+ html: z.ZodString;
278
+ tokens: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
279
+ }, z.core.$strip>, z.ZodObject<{
280
+ kind: z.ZodLiteral<"overlay">;
281
+ primitiveId: z.ZodString;
282
+ params: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
283
+ }, z.core.$strip>, z.ZodObject<{
284
+ kind: z.ZodLiteral<"component">;
285
+ componentId: z.ZodString;
286
+ props: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
287
+ }, z.core.$strip>], "kind">;
288
+ motion: z.ZodOptional<z.ZodObject<{
289
+ preset: z.ZodEnum<{
290
+ "fade-up": "fade-up";
291
+ "slide-in-left": "slide-in-left";
292
+ "slide-in-right": "slide-in-right";
293
+ "scale-pop": "scale-pop";
294
+ "stagger-reveal": "stagger-reveal";
295
+ }>;
296
+ enterMs: z.ZodOptional<z.ZodNumber>;
297
+ exitMs: z.ZodOptional<z.ZodNumber>;
298
+ staggerMs: z.ZodOptional<z.ZodNumber>;
299
+ confidence: z.ZodOptional<z.ZodEnum<{
300
+ high: "high";
301
+ low: "low";
302
+ }>>;
303
+ }, z.core.$strip>>;
304
+ role: z.ZodEnum<{
305
+ [x: string]: string;
306
+ }>;
307
+ zone: z.ZodOptional<z.ZodObject<{
308
+ x: z.ZodNumber;
309
+ y: z.ZodNumber;
310
+ w: z.ZodNumber;
311
+ h: z.ZodNumber;
312
+ }, z.core.$strip>>;
313
+ evidence: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
314
+ diffScore: z.ZodOptional<z.ZodNumber>;
315
+ coverage: z.ZodEnum<{
316
+ reproduced: "reproduced";
317
+ approximated: "approximated";
318
+ skipped: "skipped";
319
+ }>;
320
+ skipReason: z.ZodOptional<z.ZodString>;
321
+ }, z.core.$strip>>>;
322
+ styleRubric: z.ZodOptional<z.ZodString>;
323
+ density: z.ZodOptional<z.ZodObject<{
324
+ graphicsPerMin: z.ZodNumber;
325
+ maxSimultaneous: z.ZodNumber;
326
+ }, z.core.$strip>>;
327
+ inspiration: z.ZodOptional<z.ZodObject<{
328
+ sources: z.ZodArray<z.ZodString>;
329
+ extractedAt: z.ZodNumber;
330
+ extractionVersion: z.ZodString;
331
+ }, z.core.$strip>>;
332
+ }, z.core.$strict>>;
333
+ gallery: z.ZodOptional<z.ZodObject<{
334
+ poster: z.ZodOptional<z.ZodString>;
335
+ render: z.ZodOptional<z.ZodString>;
336
+ description: z.ZodOptional<z.ZodString>;
337
+ }, z.core.$strict>>;
338
+ }, z.core.$strict>;
339
+ export type TemplatePreset = z.infer<typeof TemplatePresetSchema>;
340
+ export declare const TemplateDocumentSchema: z.ZodObject<{
341
+ v: z.ZodLiteral<1>;
342
+ slug: z.ZodString;
343
+ name: z.ZodString;
344
+ description: z.ZodOptional<z.ZodString>;
345
+ composition: z.ZodObject<{
346
+ v: z.ZodLiteral<1>;
347
+ format: z.ZodObject<{
348
+ aspectRatio: z.ZodEnum<{
349
+ "16:9": "16:9";
350
+ "9:16": "9:16";
351
+ "1:1": "1:1";
352
+ "4:5": "4:5";
353
+ }>;
354
+ fps: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<24>, z.ZodLiteral<25>, z.ZodLiteral<30>, z.ZodLiteral<60>]>>;
355
+ resolution: z.ZodOptional<z.ZodEnum<{
356
+ hd: "hd";
357
+ fhd: "fhd";
358
+ "4k": "4k";
359
+ }>>;
360
+ platform: z.ZodOptional<z.ZodString>;
361
+ }, z.core.$strip>;
362
+ tracks: z.ZodArray<z.ZodObject<{
363
+ id: z.ZodString;
364
+ kind: z.ZodEnum<{
365
+ overlay: "overlay";
366
+ video: "video";
367
+ effect: "effect";
368
+ audio: "audio";
369
+ image: "image";
370
+ }>;
371
+ name: z.ZodOptional<z.ZodString>;
372
+ enabled: z.ZodOptional<z.ZodBoolean>;
373
+ volume: z.ZodOptional<z.ZodNumber>;
374
+ contents: z.ZodArray<z.ZodPipe<z.ZodUnknown, z.ZodTransform<{
375
+ id: string;
376
+ startTime: number;
377
+ duration: number;
378
+ source: {
379
+ kind: "composition";
380
+ compositionId: string;
381
+ trim?: {
382
+ start: number;
383
+ end: number;
384
+ } | undefined;
385
+ } | {
386
+ kind: "media";
387
+ mediaId: string;
388
+ trim?: {
389
+ start: number;
390
+ end: number;
391
+ } | undefined;
392
+ excludedRanges?: {
393
+ start: number;
394
+ end: number;
395
+ reason?: string | undefined;
396
+ }[] | undefined;
397
+ volume?: number | undefined;
398
+ muted?: boolean | undefined;
399
+ playbackRate?: number | undefined;
400
+ sync?: "video" | "independent" | undefined;
401
+ kenBurns?: "none" | "out" | "in" | "pan-l" | "pan-r" | undefined;
402
+ volumeDb?: number | undefined;
403
+ fadeInMs?: number | undefined;
404
+ fadeOutMs?: number | undefined;
405
+ loop?: boolean | undefined;
406
+ audioRole?: "sfx" | "music" | "vo" | "ambience" | undefined;
407
+ duck?: {
408
+ duckDb: number;
409
+ attackMs: number;
410
+ releaseMs: number;
411
+ windows?: {
412
+ startMs: number;
413
+ endMs: number;
414
+ }[] | undefined;
415
+ } | undefined;
416
+ anchor?: {
417
+ clipId: string;
418
+ offsetMs: number;
419
+ } | undefined;
420
+ reframe?: {
421
+ segments: {
422
+ startSec: number;
423
+ endSec: number;
424
+ focus: {
425
+ mode: "frame-center";
426
+ } | {
427
+ mode: "point";
428
+ x: number;
429
+ y: number;
430
+ } | {
431
+ mode: "face";
432
+ faceId: string;
433
+ shotScale?: "close" | "standard" | "wide" | undefined;
434
+ } | {
435
+ mode: "all-faces";
436
+ } | {
437
+ mode: "active-speaker";
438
+ };
439
+ intent?: string | undefined;
440
+ zoom?: number | undefined;
441
+ ease?: {
442
+ in: number;
443
+ out: number;
444
+ } | undefined;
445
+ bias?: {
446
+ x: number;
447
+ y: number;
448
+ } | undefined;
449
+ }[];
450
+ } | undefined;
451
+ } | {
452
+ kind: "component";
453
+ componentId: string;
454
+ props: Record<string, unknown>;
455
+ assets?: Record<string, string> | undefined;
456
+ zPlane?: "front" | "behind-subject" | undefined;
457
+ } | {
458
+ kind: "overlay";
459
+ primitiveId: string;
460
+ params: Record<string, unknown>;
461
+ zPlane?: "front" | "behind-subject" | undefined;
462
+ anchor?: {
463
+ space: "scene";
464
+ x: number;
465
+ y: number;
466
+ } | undefined;
467
+ parallax?: number | undefined;
468
+ } | {
469
+ kind: "effect";
470
+ primitiveId: string;
471
+ params?: Record<string, unknown> | undefined;
472
+ } | {
473
+ kind: "alpha-layer";
474
+ componentId: string;
475
+ props: Record<string, unknown>;
476
+ assets?: Record<string, string> | undefined;
477
+ zPlane?: "front" | "behind-subject" | undefined;
478
+ } | {
479
+ kind: "card";
480
+ html: string;
481
+ tokens?: Record<string, string> | undefined;
482
+ zPlane?: "front" | undefined;
483
+ };
484
+ kind?: "overlay" | "video" | "effect" | "audio" | "image" | undefined;
485
+ opacity?: number | undefined;
486
+ scale?: number | undefined;
487
+ rotation?: number | undefined;
488
+ position?: {
489
+ x: number;
490
+ y: number;
491
+ } | undefined;
492
+ region?: {
493
+ x: number;
494
+ y: number;
495
+ w: number;
496
+ h: number;
497
+ } | undefined;
498
+ fit?: "contain" | "cover" | undefined;
499
+ captionVisibility?: "visible" | "hidden" | undefined;
500
+ effects?: {
501
+ primitiveId: string;
502
+ params?: Record<string, unknown> | undefined;
503
+ }[] | undefined;
504
+ transitionIn?: {
505
+ type: string;
506
+ duration: number;
507
+ } | undefined;
508
+ linkGroupId?: string | undefined;
509
+ animate?: Record<string, {
510
+ time: number;
511
+ value: number;
512
+ easing?: "ease" | "linear" | "easeIn" | "easeOut" | "easeInOut" | {
513
+ cubicBezier: [number, number, number, number];
514
+ } | undefined;
515
+ }[]> | undefined;
516
+ } | {
517
+ id: string;
518
+ startTime: number;
519
+ duration: number;
520
+ }, unknown>>>;
521
+ }, z.core.$strict>>;
522
+ markers: z.ZodOptional<z.ZodArray<z.ZodObject<{
523
+ id: z.ZodString;
524
+ startTime: z.ZodNumber;
525
+ endTime: z.ZodOptional<z.ZodNumber>;
526
+ kind: z.ZodString;
527
+ name: z.ZodOptional<z.ZodString>;
528
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
529
+ }, z.core.$strict>>>;
530
+ captions: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
531
+ source: z.ZodLiteral<"derived">;
532
+ from: z.ZodObject<{
533
+ clipId: z.ZodString;
534
+ }, z.core.$strip>;
535
+ segments: z.ZodArray<z.ZodObject<{
536
+ words: z.ZodArray<z.ZodObject<{
537
+ text: z.ZodString;
538
+ startMs: z.ZodNumber;
539
+ endMs: z.ZodNumber;
540
+ emphasis: z.ZodOptional<z.ZodBoolean>;
541
+ annotate: z.ZodOptional<z.ZodEnum<{
542
+ circle: "circle";
543
+ underline: "underline";
544
+ }>>;
545
+ }, z.core.$strip>>;
546
+ }, z.core.$strip>>;
547
+ style: z.ZodOptional<z.ZodObject<{
548
+ fontFamily: z.ZodOptional<z.ZodString>;
549
+ fontSize: z.ZodOptional<z.ZodNumber>;
550
+ fontWeight: z.ZodOptional<z.ZodNumber>;
551
+ color: z.ZodOptional<z.ZodString>;
552
+ highlightColor: z.ZodOptional<z.ZodString>;
553
+ backgroundColor: z.ZodOptional<z.ZodString>;
554
+ plate: z.ZodOptional<z.ZodEnum<{
555
+ none: "none";
556
+ glass: "glass";
557
+ solid: "solid";
558
+ }>>;
559
+ position: z.ZodOptional<z.ZodEnum<{
560
+ top: "top";
561
+ center: "center";
562
+ bottom: "bottom";
563
+ }>>;
564
+ region: z.ZodOptional<z.ZodObject<{
565
+ x: z.ZodNumber;
566
+ y: z.ZodNumber;
567
+ w: z.ZodNumber;
568
+ h: z.ZodNumber;
569
+ }, z.core.$strip>>;
570
+ textTransform: z.ZodOptional<z.ZodEnum<{
571
+ none: "none";
572
+ uppercase: "uppercase";
573
+ capitalize: "capitalize";
574
+ }>>;
575
+ letterSpacing: z.ZodOptional<z.ZodNumber>;
576
+ wordGapEm: z.ZodOptional<z.ZodNumber>;
577
+ lineGapEm: z.ZodOptional<z.ZodNumber>;
578
+ emphasisColor: z.ZodOptional<z.ZodString>;
579
+ emphasisGradient: z.ZodOptional<z.ZodString>;
580
+ emphasisScale: z.ZodOptional<z.ZodNumber>;
581
+ emphasisFontFamily: z.ZodOptional<z.ZodString>;
582
+ emphasisFontWeight: z.ZodOptional<z.ZodNumber>;
583
+ emphasisTextTransform: z.ZodOptional<z.ZodEnum<{
584
+ none: "none";
585
+ uppercase: "uppercase";
586
+ capitalize: "capitalize";
587
+ }>>;
588
+ emphasisLetterSpacing: z.ZodOptional<z.ZodNumber>;
589
+ emphasisFontStyle: z.ZodOptional<z.ZodEnum<{
590
+ normal: "normal";
591
+ italic: "italic";
592
+ }>>;
593
+ entrance: z.ZodOptional<z.ZodEnum<{
594
+ none: "none";
595
+ fade: "fade";
596
+ "word-pop": "word-pop";
597
+ "stagger-up": "stagger-up";
598
+ }>>;
599
+ entranceMs: z.ZodOptional<z.ZodNumber>;
600
+ entranceStaggerMs: z.ZodOptional<z.ZodNumber>;
601
+ exitMs: z.ZodOptional<z.ZodNumber>;
602
+ emphasisPlate: z.ZodOptional<z.ZodBoolean>;
603
+ emphasisPlateColor: z.ZodOptional<z.ZodString>;
604
+ emphasisPlateTextColor: z.ZodOptional<z.ZodString>;
605
+ emphasisPlateAltColor: z.ZodOptional<z.ZodString>;
606
+ emphasisPlateAltTextColor: z.ZodOptional<z.ZodString>;
607
+ emphasisPlateRadius: z.ZodOptional<z.ZodNumber>;
608
+ emphasisPlatePadX: z.ZodOptional<z.ZodNumber>;
609
+ emphasisPlatePadY: z.ZodOptional<z.ZodNumber>;
610
+ emphasisPlateReveal: z.ZodOptional<z.ZodBoolean>;
611
+ annotationColor: z.ZodOptional<z.ZodString>;
612
+ annotationStrokeWidth: z.ZodOptional<z.ZodNumber>;
613
+ annotationTexture: z.ZodOptional<z.ZodEnum<{
614
+ clean: "clean";
615
+ pencil: "pencil";
616
+ }>>;
617
+ maxWidthPercent: z.ZodOptional<z.ZodNumber>;
618
+ }, z.core.$strip>>;
619
+ layouts: z.ZodOptional<z.ZodArray<z.ZodObject<{
620
+ segmentIndex: z.ZodNumber;
621
+ wordStartIndex: z.ZodNumber;
622
+ wordEndIndex: z.ZodNumber;
623
+ region: z.ZodObject<{
624
+ x: z.ZodNumber;
625
+ y: z.ZodNumber;
626
+ w: z.ZodNumber;
627
+ h: z.ZodNumber;
628
+ }, z.core.$strip>;
629
+ scale: z.ZodOptional<z.ZodNumber>;
630
+ rotation: z.ZodOptional<z.ZodNumber>;
631
+ style: z.ZodOptional<z.ZodObject<{
632
+ fontFamily: z.ZodOptional<z.ZodString>;
633
+ fontWeight: z.ZodOptional<z.ZodNumber>;
634
+ emphasisFontWeight: z.ZodOptional<z.ZodNumber>;
635
+ emphasisFontStyle: z.ZodOptional<z.ZodEnum<{
636
+ normal: "normal";
637
+ italic: "italic";
638
+ }>>;
639
+ emphasisFontFamily: z.ZodOptional<z.ZodString>;
640
+ fontSize: z.ZodOptional<z.ZodNumber>;
641
+ color: z.ZodOptional<z.ZodString>;
642
+ highlightColor: z.ZodOptional<z.ZodString>;
643
+ backgroundColor: z.ZodOptional<z.ZodString>;
644
+ plate: z.ZodOptional<z.ZodEnum<{
645
+ none: "none";
646
+ glass: "glass";
647
+ solid: "solid";
648
+ }>>;
649
+ textTransform: z.ZodOptional<z.ZodEnum<{
650
+ none: "none";
651
+ uppercase: "uppercase";
652
+ capitalize: "capitalize";
653
+ }>>;
654
+ letterSpacing: z.ZodOptional<z.ZodNumber>;
655
+ wordGapEm: z.ZodOptional<z.ZodNumber>;
656
+ lineGapEm: z.ZodOptional<z.ZodNumber>;
657
+ emphasisColor: z.ZodOptional<z.ZodString>;
658
+ emphasisScale: z.ZodOptional<z.ZodNumber>;
659
+ emphasisTextTransform: z.ZodOptional<z.ZodEnum<{
660
+ none: "none";
661
+ uppercase: "uppercase";
662
+ capitalize: "capitalize";
663
+ }>>;
664
+ emphasisLetterSpacing: z.ZodOptional<z.ZodNumber>;
665
+ entrance: z.ZodOptional<z.ZodEnum<{
666
+ none: "none";
667
+ fade: "fade";
668
+ "word-pop": "word-pop";
669
+ "stagger-up": "stagger-up";
670
+ }>>;
671
+ entranceMs: z.ZodOptional<z.ZodNumber>;
672
+ entranceStaggerMs: z.ZodOptional<z.ZodNumber>;
673
+ exitMs: z.ZodOptional<z.ZodNumber>;
674
+ emphasisPlate: z.ZodOptional<z.ZodBoolean>;
675
+ emphasisPlateColor: z.ZodOptional<z.ZodString>;
676
+ emphasisPlateTextColor: z.ZodOptional<z.ZodString>;
677
+ emphasisPlateAltColor: z.ZodOptional<z.ZodString>;
678
+ emphasisPlateAltTextColor: z.ZodOptional<z.ZodString>;
679
+ emphasisPlateRadius: z.ZodOptional<z.ZodNumber>;
680
+ emphasisPlatePadX: z.ZodOptional<z.ZodNumber>;
681
+ emphasisPlatePadY: z.ZodOptional<z.ZodNumber>;
682
+ emphasisPlateReveal: z.ZodOptional<z.ZodBoolean>;
683
+ annotationColor: z.ZodOptional<z.ZodString>;
684
+ annotationStrokeWidth: z.ZodOptional<z.ZodNumber>;
685
+ annotationTexture: z.ZodOptional<z.ZodEnum<{
686
+ clean: "clean";
687
+ pencil: "pencil";
688
+ }>>;
689
+ }, z.core.$strict>>;
690
+ holdThroughWordIndex: z.ZodOptional<z.ZodNumber>;
691
+ wordMarks: z.ZodOptional<z.ZodArray<z.ZodObject<{
692
+ wordIndex: z.ZodNumber;
693
+ emphasis: z.ZodOptional<z.ZodBoolean>;
694
+ annotate: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
695
+ circle: "circle";
696
+ underline: "underline";
697
+ }>>>;
698
+ }, z.core.$strict>>>;
699
+ wordSignature: z.ZodString;
700
+ }, z.core.$strict>>>;
701
+ zPlane: z.ZodOptional<z.ZodEnum<{
702
+ front: "front";
703
+ "behind-subject": "behind-subject";
704
+ }>>;
705
+ }, z.core.$strip>, z.ZodObject<{
706
+ source: z.ZodLiteral<"authored">;
707
+ segments: z.ZodArray<z.ZodObject<{
708
+ words: z.ZodArray<z.ZodObject<{
709
+ text: z.ZodString;
710
+ startMs: z.ZodNumber;
711
+ endMs: z.ZodNumber;
712
+ emphasis: z.ZodOptional<z.ZodBoolean>;
713
+ annotate: z.ZodOptional<z.ZodEnum<{
714
+ circle: "circle";
715
+ underline: "underline";
716
+ }>>;
717
+ }, z.core.$strip>>;
718
+ }, z.core.$strip>>;
719
+ style: z.ZodOptional<z.ZodObject<{
720
+ fontFamily: z.ZodOptional<z.ZodString>;
721
+ fontSize: z.ZodOptional<z.ZodNumber>;
722
+ fontWeight: z.ZodOptional<z.ZodNumber>;
723
+ color: z.ZodOptional<z.ZodString>;
724
+ highlightColor: z.ZodOptional<z.ZodString>;
725
+ backgroundColor: z.ZodOptional<z.ZodString>;
726
+ plate: z.ZodOptional<z.ZodEnum<{
727
+ none: "none";
728
+ glass: "glass";
729
+ solid: "solid";
730
+ }>>;
731
+ position: z.ZodOptional<z.ZodEnum<{
732
+ top: "top";
733
+ center: "center";
734
+ bottom: "bottom";
735
+ }>>;
736
+ region: z.ZodOptional<z.ZodObject<{
737
+ x: z.ZodNumber;
738
+ y: z.ZodNumber;
739
+ w: z.ZodNumber;
740
+ h: z.ZodNumber;
741
+ }, z.core.$strip>>;
742
+ textTransform: z.ZodOptional<z.ZodEnum<{
743
+ none: "none";
744
+ uppercase: "uppercase";
745
+ capitalize: "capitalize";
746
+ }>>;
747
+ letterSpacing: z.ZodOptional<z.ZodNumber>;
748
+ wordGapEm: z.ZodOptional<z.ZodNumber>;
749
+ lineGapEm: z.ZodOptional<z.ZodNumber>;
750
+ emphasisColor: z.ZodOptional<z.ZodString>;
751
+ emphasisGradient: z.ZodOptional<z.ZodString>;
752
+ emphasisScale: z.ZodOptional<z.ZodNumber>;
753
+ emphasisFontFamily: z.ZodOptional<z.ZodString>;
754
+ emphasisFontWeight: z.ZodOptional<z.ZodNumber>;
755
+ emphasisTextTransform: z.ZodOptional<z.ZodEnum<{
756
+ none: "none";
757
+ uppercase: "uppercase";
758
+ capitalize: "capitalize";
759
+ }>>;
760
+ emphasisLetterSpacing: z.ZodOptional<z.ZodNumber>;
761
+ emphasisFontStyle: z.ZodOptional<z.ZodEnum<{
762
+ normal: "normal";
763
+ italic: "italic";
764
+ }>>;
765
+ entrance: z.ZodOptional<z.ZodEnum<{
766
+ none: "none";
767
+ fade: "fade";
768
+ "word-pop": "word-pop";
769
+ "stagger-up": "stagger-up";
770
+ }>>;
771
+ entranceMs: z.ZodOptional<z.ZodNumber>;
772
+ entranceStaggerMs: z.ZodOptional<z.ZodNumber>;
773
+ exitMs: z.ZodOptional<z.ZodNumber>;
774
+ emphasisPlate: z.ZodOptional<z.ZodBoolean>;
775
+ emphasisPlateColor: z.ZodOptional<z.ZodString>;
776
+ emphasisPlateTextColor: z.ZodOptional<z.ZodString>;
777
+ emphasisPlateAltColor: z.ZodOptional<z.ZodString>;
778
+ emphasisPlateAltTextColor: z.ZodOptional<z.ZodString>;
779
+ emphasisPlateRadius: z.ZodOptional<z.ZodNumber>;
780
+ emphasisPlatePadX: z.ZodOptional<z.ZodNumber>;
781
+ emphasisPlatePadY: z.ZodOptional<z.ZodNumber>;
782
+ emphasisPlateReveal: z.ZodOptional<z.ZodBoolean>;
783
+ annotationColor: z.ZodOptional<z.ZodString>;
784
+ annotationStrokeWidth: z.ZodOptional<z.ZodNumber>;
785
+ annotationTexture: z.ZodOptional<z.ZodEnum<{
786
+ clean: "clean";
787
+ pencil: "pencil";
788
+ }>>;
789
+ maxWidthPercent: z.ZodOptional<z.ZodNumber>;
790
+ }, z.core.$strip>>;
791
+ layouts: z.ZodOptional<z.ZodArray<z.ZodObject<{
792
+ segmentIndex: z.ZodNumber;
793
+ wordStartIndex: z.ZodNumber;
794
+ wordEndIndex: z.ZodNumber;
795
+ region: z.ZodObject<{
796
+ x: z.ZodNumber;
797
+ y: z.ZodNumber;
798
+ w: z.ZodNumber;
799
+ h: z.ZodNumber;
800
+ }, z.core.$strip>;
801
+ scale: z.ZodOptional<z.ZodNumber>;
802
+ rotation: z.ZodOptional<z.ZodNumber>;
803
+ style: z.ZodOptional<z.ZodObject<{
804
+ fontFamily: z.ZodOptional<z.ZodString>;
805
+ fontWeight: z.ZodOptional<z.ZodNumber>;
806
+ emphasisFontWeight: z.ZodOptional<z.ZodNumber>;
807
+ emphasisFontStyle: z.ZodOptional<z.ZodEnum<{
808
+ normal: "normal";
809
+ italic: "italic";
810
+ }>>;
811
+ emphasisFontFamily: z.ZodOptional<z.ZodString>;
812
+ fontSize: z.ZodOptional<z.ZodNumber>;
813
+ color: z.ZodOptional<z.ZodString>;
814
+ highlightColor: z.ZodOptional<z.ZodString>;
815
+ backgroundColor: z.ZodOptional<z.ZodString>;
816
+ plate: z.ZodOptional<z.ZodEnum<{
817
+ none: "none";
818
+ glass: "glass";
819
+ solid: "solid";
820
+ }>>;
821
+ textTransform: z.ZodOptional<z.ZodEnum<{
822
+ none: "none";
823
+ uppercase: "uppercase";
824
+ capitalize: "capitalize";
825
+ }>>;
826
+ letterSpacing: z.ZodOptional<z.ZodNumber>;
827
+ wordGapEm: z.ZodOptional<z.ZodNumber>;
828
+ lineGapEm: z.ZodOptional<z.ZodNumber>;
829
+ emphasisColor: z.ZodOptional<z.ZodString>;
830
+ emphasisScale: z.ZodOptional<z.ZodNumber>;
831
+ emphasisTextTransform: z.ZodOptional<z.ZodEnum<{
832
+ none: "none";
833
+ uppercase: "uppercase";
834
+ capitalize: "capitalize";
835
+ }>>;
836
+ emphasisLetterSpacing: z.ZodOptional<z.ZodNumber>;
837
+ entrance: z.ZodOptional<z.ZodEnum<{
838
+ none: "none";
839
+ fade: "fade";
840
+ "word-pop": "word-pop";
841
+ "stagger-up": "stagger-up";
842
+ }>>;
843
+ entranceMs: z.ZodOptional<z.ZodNumber>;
844
+ entranceStaggerMs: z.ZodOptional<z.ZodNumber>;
845
+ exitMs: z.ZodOptional<z.ZodNumber>;
846
+ emphasisPlate: z.ZodOptional<z.ZodBoolean>;
847
+ emphasisPlateColor: z.ZodOptional<z.ZodString>;
848
+ emphasisPlateTextColor: z.ZodOptional<z.ZodString>;
849
+ emphasisPlateAltColor: z.ZodOptional<z.ZodString>;
850
+ emphasisPlateAltTextColor: z.ZodOptional<z.ZodString>;
851
+ emphasisPlateRadius: z.ZodOptional<z.ZodNumber>;
852
+ emphasisPlatePadX: z.ZodOptional<z.ZodNumber>;
853
+ emphasisPlatePadY: z.ZodOptional<z.ZodNumber>;
854
+ emphasisPlateReveal: z.ZodOptional<z.ZodBoolean>;
855
+ annotationColor: z.ZodOptional<z.ZodString>;
856
+ annotationStrokeWidth: z.ZodOptional<z.ZodNumber>;
857
+ annotationTexture: z.ZodOptional<z.ZodEnum<{
858
+ clean: "clean";
859
+ pencil: "pencil";
860
+ }>>;
861
+ }, z.core.$strict>>;
862
+ holdThroughWordIndex: z.ZodOptional<z.ZodNumber>;
863
+ wordMarks: z.ZodOptional<z.ZodArray<z.ZodObject<{
864
+ wordIndex: z.ZodNumber;
865
+ emphasis: z.ZodOptional<z.ZodBoolean>;
866
+ annotate: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
867
+ circle: "circle";
868
+ underline: "underline";
869
+ }>>>;
870
+ }, z.core.$strict>>>;
871
+ wordSignature: z.ZodString;
872
+ }, z.core.$strict>>>;
873
+ zPlane: z.ZodOptional<z.ZodEnum<{
874
+ front: "front";
875
+ "behind-subject": "behind-subject";
876
+ }>>;
877
+ }, z.core.$strip>], "source">>;
878
+ sourceSuggestionId: z.ZodOptional<z.ZodString>;
879
+ license: z.ZodOptional<z.ZodObject<{
880
+ type: z.ZodString;
881
+ source: z.ZodOptional<z.ZodString>;
882
+ notes: z.ZodOptional<z.ZodString>;
883
+ }, z.core.$strip>>;
884
+ licenseVerification: z.ZodOptional<z.ZodEnum<{
885
+ attested: "attested";
886
+ "cueframe-verified": "cueframe-verified";
887
+ "third-party-verified": "third-party-verified";
888
+ }>>;
889
+ accessibility: z.ZodOptional<z.ZodObject<{
890
+ audioDescriptionTrackId: z.ZodOptional<z.ZodString>;
891
+ captionsTrackId: z.ZodOptional<z.ZodString>;
892
+ signLanguageTrackId: z.ZodOptional<z.ZodString>;
893
+ notes: z.ZodOptional<z.ZodString>;
894
+ }, z.core.$strip>>;
895
+ ownerOrgId: z.ZodOptional<z.ZodString>;
896
+ acl: z.ZodOptional<z.ZodObject<{
897
+ public: z.ZodOptional<z.ZodBoolean>;
898
+ readerOrgIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
899
+ writerOrgIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
900
+ }, z.core.$strip>>;
901
+ }, z.core.$strict>;
902
+ parameters: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
903
+ type: z.ZodLiteral<"string">;
904
+ default: z.ZodOptional<z.ZodString>;
905
+ maxLength: z.ZodOptional<z.ZodNumber>;
906
+ name: z.ZodString;
907
+ required: z.ZodBoolean;
908
+ label: z.ZodOptional<z.ZodString>;
909
+ }, z.core.$strict>, z.ZodObject<{
910
+ type: z.ZodLiteral<"number">;
911
+ default: z.ZodOptional<z.ZodNumber>;
912
+ min: z.ZodOptional<z.ZodNumber>;
913
+ max: z.ZodOptional<z.ZodNumber>;
914
+ name: z.ZodString;
915
+ required: z.ZodBoolean;
916
+ label: z.ZodOptional<z.ZodString>;
917
+ }, z.core.$strict>, z.ZodObject<{
918
+ type: z.ZodLiteral<"color">;
919
+ default: z.ZodOptional<z.ZodString>;
920
+ name: z.ZodString;
921
+ required: z.ZodBoolean;
922
+ label: z.ZodOptional<z.ZodString>;
923
+ }, z.core.$strict>, z.ZodObject<{
924
+ type: z.ZodLiteral<"url">;
925
+ default: z.ZodOptional<z.ZodString>;
926
+ name: z.ZodString;
927
+ required: z.ZodBoolean;
928
+ label: z.ZodOptional<z.ZodString>;
929
+ }, z.core.$strict>, z.ZodObject<{
930
+ type: z.ZodLiteral<"enum">;
931
+ options: z.ZodArray<z.ZodString>;
932
+ default: z.ZodOptional<z.ZodString>;
933
+ name: z.ZodString;
934
+ required: z.ZodBoolean;
935
+ label: z.ZodOptional<z.ZodString>;
936
+ }, z.core.$strict>, z.ZodObject<{
937
+ type: z.ZodLiteral<"boolean">;
938
+ default: z.ZodOptional<z.ZodBoolean>;
939
+ name: z.ZodString;
940
+ required: z.ZodBoolean;
941
+ label: z.ZodOptional<z.ZodString>;
942
+ }, z.core.$strict>, z.ZodObject<{
943
+ type: z.ZodLiteral<"media">;
944
+ kind: z.ZodEnum<{
945
+ image: "image";
946
+ video: "video";
947
+ audio: "audio";
948
+ }>;
949
+ default: z.ZodOptional<z.ZodString>;
950
+ prepared: z.ZodOptional<z.ZodObject<{
951
+ mattes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
952
+ url: z.ZodString;
953
+ sha256: z.ZodString;
954
+ mimeType: z.ZodLiteral<"video/mp4">;
955
+ bakeVersion: z.ZodString;
956
+ presenceFraction: z.ZodOptional<z.ZodNumber>;
957
+ }, z.core.$strict>>>;
958
+ }, z.core.$strict>>;
959
+ sample: z.ZodOptional<z.ZodObject<{
960
+ url: z.ZodString;
961
+ sha256: z.ZodString;
962
+ mimeType: z.ZodString;
963
+ durationSec: z.ZodOptional<z.ZodNumber>;
964
+ }, z.core.$strict>>;
965
+ name: z.ZodString;
966
+ required: z.ZodBoolean;
967
+ label: z.ZodOptional<z.ZodString>;
968
+ }, z.core.$strict>], "type">>;
969
+ components: z.ZodRecord<z.ZodString, z.ZodObject<{
970
+ source: z.ZodObject<{
971
+ version: z.ZodLiteral<2>;
972
+ componentId: z.ZodString;
973
+ tsxSource: z.ZodString;
974
+ manifest: z.ZodObject<{
975
+ version: z.ZodLiteral<2>;
976
+ assets: z.ZodRecord<z.ZodString, z.ZodObject<{
977
+ kind: z.ZodEnum<{
978
+ image: "image";
979
+ video: "video";
980
+ audio: "audio";
981
+ data: "data";
982
+ }>;
983
+ required: z.ZodBoolean;
984
+ mimeTypes: z.ZodOptional<z.ZodArray<z.ZodString>>;
985
+ mediaDemand: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
986
+ mode: z.ZodLiteral<"original">;
987
+ }, z.core.$strict>, z.ZodObject<{
988
+ mode: z.ZodLiteral<"tier">;
989
+ tier: z.ZodUnion<readonly [z.ZodLiteral<256>, z.ZodLiteral<512>, z.ZodLiteral<1024>, z.ZodLiteral<2048>]>;
990
+ }, z.core.$strict>, z.ZodObject<{
991
+ mode: z.ZodLiteral<"auto">;
992
+ maxProjectedWidthRatio: z.ZodNumber;
993
+ maxProjectedHeightRatio: z.ZodNumber;
994
+ minVisibleSourceWidthRatio: z.ZodDefault<z.ZodNumber>;
995
+ minVisibleSourceHeightRatio: z.ZodDefault<z.ZodNumber>;
996
+ }, z.core.$strict>], "mode">>;
997
+ }, z.core.$strict>>;
998
+ graphics: z.ZodObject<{
999
+ api: z.ZodEnum<{
1000
+ canvas2d: "canvas2d";
1001
+ webgl: "webgl";
1002
+ webgl2: "webgl2";
1003
+ webgpu: "webgpu";
1004
+ }>;
1005
+ required: z.ZodLiteral<true>;
1006
+ accelerationPreference: z.ZodEnum<{
1007
+ "hardware-preferred": "hardware-preferred";
1008
+ "software-allowed": "software-allowed";
1009
+ }>;
1010
+ }, z.core.$strict>;
1011
+ alphaPolicy: z.ZodEnum<{
1012
+ "requires-transparency": "requires-transparency";
1013
+ "allows-opaque": "allows-opaque";
1014
+ }>;
1015
+ sceneShot: z.ZodOptional<z.ZodObject<{
1016
+ version: z.ZodLiteral<2>;
1017
+ }, z.core.$strict>>;
1018
+ }, z.core.$strict>;
1019
+ }, z.core.$strict>;
1020
+ name: z.ZodString;
1021
+ description: z.ZodString;
1022
+ category: z.ZodEnum<{
1023
+ effects: "effects";
1024
+ text: "text";
1025
+ layouts: "layouts";
1026
+ transitions: "transitions";
1027
+ backgrounds: "backgrounds";
1028
+ "ui-blocks": "ui-blocks";
1029
+ scenes: "scenes";
1030
+ }>;
1031
+ propSchema: z.ZodRecord<z.ZodString, z.ZodUnknown>;
1032
+ }, z.core.$strict>>;
1033
+ brandKit: z.ZodOptional<z.ZodObject<{
1034
+ kitId: z.ZodString;
1035
+ name: z.ZodString;
1036
+ description: z.ZodOptional<z.ZodString>;
1037
+ tagline: z.ZodOptional<z.ZodString>;
1038
+ secondaryTagline: z.ZodOptional<z.ZodString>;
1039
+ colors: z.ZodObject<{
1040
+ primary: z.ZodString;
1041
+ secondary: z.ZodString;
1042
+ accent: z.ZodString;
1043
+ background: z.ZodString;
1044
+ text: z.ZodString;
1045
+ }, z.core.$strip>;
1046
+ extraColors: z.ZodOptional<z.ZodArray<z.ZodObject<{
1047
+ hex: z.ZodString;
1048
+ label: z.ZodString;
1049
+ usage: z.ZodOptional<z.ZodString>;
1050
+ }, z.core.$strip>>>;
1051
+ headingFont: z.ZodObject<{
1052
+ fontFamily: z.ZodString;
1053
+ fontWeight: z.ZodNumber;
1054
+ }, z.core.$strip>;
1055
+ bodyFont: z.ZodObject<{
1056
+ fontFamily: z.ZodString;
1057
+ fontWeight: z.ZodNumber;
1058
+ }, z.core.$strip>;
1059
+ voiceGuidelines: z.ZodOptional<z.ZodString>;
1060
+ syncCaptions: z.ZodOptional<z.ZodBoolean>;
1061
+ captionProfile: z.ZodOptional<z.ZodObject<{
1062
+ fontFamily: z.ZodOptional<z.ZodString>;
1063
+ fontSize: z.ZodOptional<z.ZodNumber>;
1064
+ fontWeight: z.ZodOptional<z.ZodNumber>;
1065
+ color: z.ZodOptional<z.ZodString>;
1066
+ highlightColor: z.ZodOptional<z.ZodString>;
1067
+ backgroundColor: z.ZodOptional<z.ZodString>;
1068
+ plate: z.ZodOptional<z.ZodEnum<{
1069
+ none: "none";
1070
+ glass: "glass";
1071
+ solid: "solid";
1072
+ }>>;
1073
+ position: z.ZodOptional<z.ZodEnum<{
1074
+ top: "top";
1075
+ center: "center";
1076
+ bottom: "bottom";
1077
+ }>>;
1078
+ textTransform: z.ZodOptional<z.ZodEnum<{
1079
+ none: "none";
1080
+ uppercase: "uppercase";
1081
+ }>>;
1082
+ entrance: z.ZodOptional<z.ZodEnum<{
1083
+ none: "none";
1084
+ fade: "fade";
1085
+ "word-pop": "word-pop";
1086
+ "stagger-up": "stagger-up";
1087
+ }>>;
1088
+ entranceMs: z.ZodOptional<z.ZodNumber>;
1089
+ entranceStaggerMs: z.ZodOptional<z.ZodNumber>;
1090
+ exitMs: z.ZodOptional<z.ZodNumber>;
1091
+ emphasisColor: z.ZodOptional<z.ZodString>;
1092
+ emphasisScale: z.ZodOptional<z.ZodNumber>;
1093
+ emphasisFontFamily: z.ZodOptional<z.ZodString>;
1094
+ emphasisFontWeight: z.ZodOptional<z.ZodNumber>;
1095
+ emphasisFontStyle: z.ZodOptional<z.ZodEnum<{
1096
+ normal: "normal";
1097
+ italic: "italic";
1098
+ }>>;
1099
+ emphasisTextTransform: z.ZodOptional<z.ZodEnum<{
1100
+ none: "none";
1101
+ uppercase: "uppercase";
1102
+ }>>;
1103
+ emphasisLetterSpacing: z.ZodOptional<z.ZodNumber>;
1104
+ emphasisPlate: z.ZodOptional<z.ZodBoolean>;
1105
+ emphasisPlateColor: z.ZodOptional<z.ZodString>;
1106
+ emphasisPlateTextColor: z.ZodOptional<z.ZodString>;
1107
+ }, z.core.$strip>>;
1108
+ motion: z.ZodOptional<z.ZodObject<{
1109
+ duration: z.ZodOptional<z.ZodNumber>;
1110
+ easing: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
1111
+ ease: "ease";
1112
+ linear: "linear";
1113
+ "ease-out": "ease-out";
1114
+ "ease-in-out": "ease-in-out";
1115
+ "ease-in": "ease-in";
1116
+ }>, z.ZodObject<{
1117
+ kind: z.ZodLiteral<"cubic-bezier">;
1118
+ x1: z.ZodNumber;
1119
+ y1: z.ZodNumber;
1120
+ x2: z.ZodNumber;
1121
+ y2: z.ZodNumber;
1122
+ }, z.core.$strip>]>>;
1123
+ entrance: z.ZodOptional<z.ZodEnum<{
1124
+ none: "none";
1125
+ fade: "fade";
1126
+ "word-pop": "word-pop";
1127
+ "stagger-up": "stagger-up";
1128
+ }>>;
1129
+ staggerMs: z.ZodOptional<z.ZodNumber>;
1130
+ exitMs: z.ZodOptional<z.ZodNumber>;
1131
+ }, z.core.$strip>>;
1132
+ logo: z.ZodOptional<z.ZodObject<{
1133
+ src: z.ZodString;
1134
+ alt: z.ZodOptional<z.ZodString>;
1135
+ placement: z.ZodOptional<z.ZodEnum<{
1136
+ tl: "tl";
1137
+ tr: "tr";
1138
+ bl: "bl";
1139
+ br: "br";
1140
+ }>>;
1141
+ sizePct: z.ZodOptional<z.ZodNumber>;
1142
+ }, z.core.$strip>>;
1143
+ intro: z.ZodOptional<z.ZodObject<{
1144
+ kind: z.ZodEnum<{
1145
+ video: "video";
1146
+ card: "card";
1147
+ }>;
1148
+ src: z.ZodOptional<z.ZodString>;
1149
+ title: z.ZodOptional<z.ZodString>;
1150
+ subtitle: z.ZodOptional<z.ZodString>;
1151
+ durationMs: z.ZodOptional<z.ZodNumber>;
1152
+ }, z.core.$strip>>;
1153
+ outro: z.ZodOptional<z.ZodObject<{
1154
+ kind: z.ZodEnum<{
1155
+ video: "video";
1156
+ card: "card";
1157
+ }>;
1158
+ src: z.ZodOptional<z.ZodString>;
1159
+ title: z.ZodOptional<z.ZodString>;
1160
+ subtitle: z.ZodOptional<z.ZodString>;
1161
+ durationMs: z.ZodOptional<z.ZodNumber>;
1162
+ }, z.core.$strip>>;
1163
+ watermark: z.ZodOptional<z.ZodObject<{
1164
+ src: z.ZodString;
1165
+ opacity: z.ZodOptional<z.ZodNumber>;
1166
+ placement: z.ZodOptional<z.ZodEnum<{
1167
+ tl: "tl";
1168
+ tr: "tr";
1169
+ bl: "bl";
1170
+ br: "br";
1171
+ }>>;
1172
+ }, z.core.$strip>>;
1173
+ spacing: z.ZodOptional<z.ZodObject<{
1174
+ base: z.ZodOptional<z.ZodNumber>;
1175
+ lg: z.ZodOptional<z.ZodNumber>;
1176
+ sm: z.ZodOptional<z.ZodNumber>;
1177
+ }, z.core.$strip>>;
1178
+ sizing: z.ZodOptional<z.ZodObject<{
1179
+ fontSizeHeading: z.ZodOptional<z.ZodNumber>;
1180
+ fontSizeBody: z.ZodOptional<z.ZodNumber>;
1181
+ fontSizeLabel: z.ZodOptional<z.ZodNumber>;
1182
+ borderRadius: z.ZodOptional<z.ZodNumber>;
1183
+ }, z.core.$strip>>;
1184
+ audio: z.ZodOptional<z.ZodObject<{
1185
+ sfxIntensity: z.ZodOptional<z.ZodEnum<{
1186
+ standard: "standard";
1187
+ light: "light";
1188
+ off: "off";
1189
+ dense: "dense";
1190
+ }>>;
1191
+ musicEnabled: z.ZodOptional<z.ZodBoolean>;
1192
+ musicMood: z.ZodOptional<z.ZodString>;
1193
+ sonicLogo: z.ZodOptional<z.ZodObject<{
1194
+ ref: z.ZodString;
1195
+ placement: z.ZodEnum<{
1196
+ intro: "intro";
1197
+ outro: "outro";
1198
+ both: "both";
1199
+ }>;
1200
+ offsetMs: z.ZodOptional<z.ZodNumber>;
1201
+ }, z.core.$strip>>;
1202
+ uiSoundSet: z.ZodOptional<z.ZodObject<{
1203
+ tick: z.ZodOptional<z.ZodString>;
1204
+ pop: z.ZodOptional<z.ZodString>;
1205
+ impact: z.ZodOptional<z.ZodString>;
1206
+ confirm: z.ZodOptional<z.ZodString>;
1207
+ error: z.ZodOptional<z.ZodString>;
1208
+ whoosh: z.ZodOptional<z.ZodString>;
1209
+ riser: z.ZodOptional<z.ZodString>;
1210
+ }, z.core.$strip>>;
1211
+ bedStyle: z.ZodOptional<z.ZodObject<{
1212
+ bedId: z.ZodOptional<z.ZodString>;
1213
+ genre: z.ZodOptional<z.ZodString>;
1214
+ bpmRange: z.ZodOptional<z.ZodObject<{
1215
+ min: z.ZodNumber;
1216
+ max: z.ZodNumber;
1217
+ }, z.core.$strip>>;
1218
+ }, z.core.$strip>>;
1219
+ ambiencePreference: z.ZodOptional<z.ZodNullable<z.ZodObject<{
1220
+ ref: z.ZodString;
1221
+ }, z.core.$strip>>>;
1222
+ }, z.core.$strip>>;
1223
+ motifs: z.ZodOptional<z.ZodArray<z.ZodObject<{
1224
+ id: z.ZodString;
1225
+ observed: z.ZodString;
1226
+ body: z.ZodDiscriminatedUnion<[z.ZodObject<{
1227
+ kind: z.ZodLiteral<"card">;
1228
+ html: z.ZodString;
1229
+ tokens: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
1230
+ }, z.core.$strip>, z.ZodObject<{
1231
+ kind: z.ZodLiteral<"overlay">;
1232
+ primitiveId: z.ZodString;
1233
+ params: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1234
+ }, z.core.$strip>, z.ZodObject<{
1235
+ kind: z.ZodLiteral<"component">;
1236
+ componentId: z.ZodString;
1237
+ props: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1238
+ }, z.core.$strip>], "kind">;
1239
+ motion: z.ZodOptional<z.ZodObject<{
1240
+ preset: z.ZodEnum<{
1241
+ "fade-up": "fade-up";
1242
+ "slide-in-left": "slide-in-left";
1243
+ "slide-in-right": "slide-in-right";
1244
+ "scale-pop": "scale-pop";
1245
+ "stagger-reveal": "stagger-reveal";
1246
+ }>;
1247
+ enterMs: z.ZodOptional<z.ZodNumber>;
1248
+ exitMs: z.ZodOptional<z.ZodNumber>;
1249
+ staggerMs: z.ZodOptional<z.ZodNumber>;
1250
+ confidence: z.ZodOptional<z.ZodEnum<{
1251
+ high: "high";
1252
+ low: "low";
1253
+ }>>;
1254
+ }, z.core.$strip>>;
1255
+ role: z.ZodEnum<{
1256
+ [x: string]: string;
1257
+ }>;
1258
+ zone: z.ZodOptional<z.ZodObject<{
1259
+ x: z.ZodNumber;
1260
+ y: z.ZodNumber;
1261
+ w: z.ZodNumber;
1262
+ h: z.ZodNumber;
1263
+ }, z.core.$strip>>;
1264
+ evidence: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
1265
+ diffScore: z.ZodOptional<z.ZodNumber>;
1266
+ coverage: z.ZodEnum<{
1267
+ reproduced: "reproduced";
1268
+ approximated: "approximated";
1269
+ skipped: "skipped";
1270
+ }>;
1271
+ skipReason: z.ZodOptional<z.ZodString>;
1272
+ }, z.core.$strip>>>;
1273
+ styleRubric: z.ZodOptional<z.ZodString>;
1274
+ density: z.ZodOptional<z.ZodObject<{
1275
+ graphicsPerMin: z.ZodNumber;
1276
+ maxSimultaneous: z.ZodNumber;
1277
+ }, z.core.$strip>>;
1278
+ inspiration: z.ZodOptional<z.ZodObject<{
1279
+ sources: z.ZodArray<z.ZodString>;
1280
+ extractedAt: z.ZodNumber;
1281
+ extractionVersion: z.ZodString;
1282
+ }, z.core.$strip>>;
1283
+ }, z.core.$strict>>;
1284
+ rubric: z.ZodOptional<z.ZodString>;
1285
+ provenance: z.ZodOptional<z.ZodObject<{
1286
+ label: z.ZodString;
1287
+ href: z.ZodOptional<z.ZodString>;
1288
+ notes: z.ZodOptional<z.ZodString>;
1289
+ }, z.core.$strict>>;
1290
+ gallery: z.ZodOptional<z.ZodObject<{
1291
+ status: z.ZodEnum<{
1292
+ published: "published";
1293
+ draft: "draft";
1294
+ }>;
1295
+ category: z.ZodOptional<z.ZodString>;
1296
+ format: z.ZodOptional<z.ZodString>;
1297
+ duration: z.ZodOptional<z.ZodString>;
1298
+ render: z.ZodOptional<z.ZodString>;
1299
+ poster: z.ZodOptional<z.ZodString>;
1300
+ prompt: z.ZodOptional<z.ZodString>;
1301
+ details: z.ZodOptional<z.ZodArray<z.ZodString>>;
1302
+ transcriptExcerpt: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1303
+ }, z.core.$strict>>;
1304
+ presets: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
1305
+ label: z.ZodString;
1306
+ values: z.ZodRecord<z.ZodString, z.ZodUnknown>;
1307
+ brandKit: z.ZodOptional<z.ZodObject<{
1308
+ kitId: z.ZodString;
1309
+ name: z.ZodString;
1310
+ description: z.ZodOptional<z.ZodString>;
1311
+ tagline: z.ZodOptional<z.ZodString>;
1312
+ secondaryTagline: z.ZodOptional<z.ZodString>;
1313
+ colors: z.ZodObject<{
1314
+ primary: z.ZodString;
1315
+ secondary: z.ZodString;
1316
+ accent: z.ZodString;
1317
+ background: z.ZodString;
1318
+ text: z.ZodString;
1319
+ }, z.core.$strip>;
1320
+ extraColors: z.ZodOptional<z.ZodArray<z.ZodObject<{
1321
+ hex: z.ZodString;
1322
+ label: z.ZodString;
1323
+ usage: z.ZodOptional<z.ZodString>;
1324
+ }, z.core.$strip>>>;
1325
+ headingFont: z.ZodObject<{
1326
+ fontFamily: z.ZodString;
1327
+ fontWeight: z.ZodNumber;
1328
+ }, z.core.$strip>;
1329
+ bodyFont: z.ZodObject<{
1330
+ fontFamily: z.ZodString;
1331
+ fontWeight: z.ZodNumber;
1332
+ }, z.core.$strip>;
1333
+ voiceGuidelines: z.ZodOptional<z.ZodString>;
1334
+ syncCaptions: z.ZodOptional<z.ZodBoolean>;
1335
+ captionProfile: z.ZodOptional<z.ZodObject<{
1336
+ fontFamily: z.ZodOptional<z.ZodString>;
1337
+ fontSize: z.ZodOptional<z.ZodNumber>;
1338
+ fontWeight: z.ZodOptional<z.ZodNumber>;
1339
+ color: z.ZodOptional<z.ZodString>;
1340
+ highlightColor: z.ZodOptional<z.ZodString>;
1341
+ backgroundColor: z.ZodOptional<z.ZodString>;
1342
+ plate: z.ZodOptional<z.ZodEnum<{
1343
+ none: "none";
1344
+ glass: "glass";
1345
+ solid: "solid";
1346
+ }>>;
1347
+ position: z.ZodOptional<z.ZodEnum<{
1348
+ top: "top";
1349
+ center: "center";
1350
+ bottom: "bottom";
1351
+ }>>;
1352
+ textTransform: z.ZodOptional<z.ZodEnum<{
1353
+ none: "none";
1354
+ uppercase: "uppercase";
1355
+ }>>;
1356
+ entrance: z.ZodOptional<z.ZodEnum<{
1357
+ none: "none";
1358
+ fade: "fade";
1359
+ "word-pop": "word-pop";
1360
+ "stagger-up": "stagger-up";
1361
+ }>>;
1362
+ entranceMs: z.ZodOptional<z.ZodNumber>;
1363
+ entranceStaggerMs: z.ZodOptional<z.ZodNumber>;
1364
+ exitMs: z.ZodOptional<z.ZodNumber>;
1365
+ emphasisColor: z.ZodOptional<z.ZodString>;
1366
+ emphasisScale: z.ZodOptional<z.ZodNumber>;
1367
+ emphasisFontFamily: z.ZodOptional<z.ZodString>;
1368
+ emphasisFontWeight: z.ZodOptional<z.ZodNumber>;
1369
+ emphasisFontStyle: z.ZodOptional<z.ZodEnum<{
1370
+ normal: "normal";
1371
+ italic: "italic";
1372
+ }>>;
1373
+ emphasisTextTransform: z.ZodOptional<z.ZodEnum<{
1374
+ none: "none";
1375
+ uppercase: "uppercase";
1376
+ }>>;
1377
+ emphasisLetterSpacing: z.ZodOptional<z.ZodNumber>;
1378
+ emphasisPlate: z.ZodOptional<z.ZodBoolean>;
1379
+ emphasisPlateColor: z.ZodOptional<z.ZodString>;
1380
+ emphasisPlateTextColor: z.ZodOptional<z.ZodString>;
1381
+ }, z.core.$strip>>;
1382
+ motion: z.ZodOptional<z.ZodObject<{
1383
+ duration: z.ZodOptional<z.ZodNumber>;
1384
+ easing: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
1385
+ ease: "ease";
1386
+ linear: "linear";
1387
+ "ease-out": "ease-out";
1388
+ "ease-in-out": "ease-in-out";
1389
+ "ease-in": "ease-in";
1390
+ }>, z.ZodObject<{
1391
+ kind: z.ZodLiteral<"cubic-bezier">;
1392
+ x1: z.ZodNumber;
1393
+ y1: z.ZodNumber;
1394
+ x2: z.ZodNumber;
1395
+ y2: z.ZodNumber;
1396
+ }, z.core.$strip>]>>;
1397
+ entrance: z.ZodOptional<z.ZodEnum<{
1398
+ none: "none";
1399
+ fade: "fade";
1400
+ "word-pop": "word-pop";
1401
+ "stagger-up": "stagger-up";
1402
+ }>>;
1403
+ staggerMs: z.ZodOptional<z.ZodNumber>;
1404
+ exitMs: z.ZodOptional<z.ZodNumber>;
1405
+ }, z.core.$strip>>;
1406
+ logo: z.ZodOptional<z.ZodObject<{
1407
+ src: z.ZodString;
1408
+ alt: z.ZodOptional<z.ZodString>;
1409
+ placement: z.ZodOptional<z.ZodEnum<{
1410
+ tl: "tl";
1411
+ tr: "tr";
1412
+ bl: "bl";
1413
+ br: "br";
1414
+ }>>;
1415
+ sizePct: z.ZodOptional<z.ZodNumber>;
1416
+ }, z.core.$strip>>;
1417
+ intro: z.ZodOptional<z.ZodObject<{
1418
+ kind: z.ZodEnum<{
1419
+ video: "video";
1420
+ card: "card";
1421
+ }>;
1422
+ src: z.ZodOptional<z.ZodString>;
1423
+ title: z.ZodOptional<z.ZodString>;
1424
+ subtitle: z.ZodOptional<z.ZodString>;
1425
+ durationMs: z.ZodOptional<z.ZodNumber>;
1426
+ }, z.core.$strip>>;
1427
+ outro: z.ZodOptional<z.ZodObject<{
1428
+ kind: z.ZodEnum<{
1429
+ video: "video";
1430
+ card: "card";
1431
+ }>;
1432
+ src: z.ZodOptional<z.ZodString>;
1433
+ title: z.ZodOptional<z.ZodString>;
1434
+ subtitle: z.ZodOptional<z.ZodString>;
1435
+ durationMs: z.ZodOptional<z.ZodNumber>;
1436
+ }, z.core.$strip>>;
1437
+ watermark: z.ZodOptional<z.ZodObject<{
1438
+ src: z.ZodString;
1439
+ opacity: z.ZodOptional<z.ZodNumber>;
1440
+ placement: z.ZodOptional<z.ZodEnum<{
1441
+ tl: "tl";
1442
+ tr: "tr";
1443
+ bl: "bl";
1444
+ br: "br";
1445
+ }>>;
1446
+ }, z.core.$strip>>;
1447
+ spacing: z.ZodOptional<z.ZodObject<{
1448
+ base: z.ZodOptional<z.ZodNumber>;
1449
+ lg: z.ZodOptional<z.ZodNumber>;
1450
+ sm: z.ZodOptional<z.ZodNumber>;
1451
+ }, z.core.$strip>>;
1452
+ sizing: z.ZodOptional<z.ZodObject<{
1453
+ fontSizeHeading: z.ZodOptional<z.ZodNumber>;
1454
+ fontSizeBody: z.ZodOptional<z.ZodNumber>;
1455
+ fontSizeLabel: z.ZodOptional<z.ZodNumber>;
1456
+ borderRadius: z.ZodOptional<z.ZodNumber>;
1457
+ }, z.core.$strip>>;
1458
+ audio: z.ZodOptional<z.ZodObject<{
1459
+ sfxIntensity: z.ZodOptional<z.ZodEnum<{
1460
+ standard: "standard";
1461
+ light: "light";
1462
+ off: "off";
1463
+ dense: "dense";
1464
+ }>>;
1465
+ musicEnabled: z.ZodOptional<z.ZodBoolean>;
1466
+ musicMood: z.ZodOptional<z.ZodString>;
1467
+ sonicLogo: z.ZodOptional<z.ZodObject<{
1468
+ ref: z.ZodString;
1469
+ placement: z.ZodEnum<{
1470
+ intro: "intro";
1471
+ outro: "outro";
1472
+ both: "both";
1473
+ }>;
1474
+ offsetMs: z.ZodOptional<z.ZodNumber>;
1475
+ }, z.core.$strip>>;
1476
+ uiSoundSet: z.ZodOptional<z.ZodObject<{
1477
+ tick: z.ZodOptional<z.ZodString>;
1478
+ pop: z.ZodOptional<z.ZodString>;
1479
+ impact: z.ZodOptional<z.ZodString>;
1480
+ confirm: z.ZodOptional<z.ZodString>;
1481
+ error: z.ZodOptional<z.ZodString>;
1482
+ whoosh: z.ZodOptional<z.ZodString>;
1483
+ riser: z.ZodOptional<z.ZodString>;
1484
+ }, z.core.$strip>>;
1485
+ bedStyle: z.ZodOptional<z.ZodObject<{
1486
+ bedId: z.ZodOptional<z.ZodString>;
1487
+ genre: z.ZodOptional<z.ZodString>;
1488
+ bpmRange: z.ZodOptional<z.ZodObject<{
1489
+ min: z.ZodNumber;
1490
+ max: z.ZodNumber;
1491
+ }, z.core.$strip>>;
1492
+ }, z.core.$strip>>;
1493
+ ambiencePreference: z.ZodOptional<z.ZodNullable<z.ZodObject<{
1494
+ ref: z.ZodString;
1495
+ }, z.core.$strip>>>;
1496
+ }, z.core.$strip>>;
1497
+ motifs: z.ZodOptional<z.ZodArray<z.ZodObject<{
1498
+ id: z.ZodString;
1499
+ observed: z.ZodString;
1500
+ body: z.ZodDiscriminatedUnion<[z.ZodObject<{
1501
+ kind: z.ZodLiteral<"card">;
1502
+ html: z.ZodString;
1503
+ tokens: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
1504
+ }, z.core.$strip>, z.ZodObject<{
1505
+ kind: z.ZodLiteral<"overlay">;
1506
+ primitiveId: z.ZodString;
1507
+ params: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1508
+ }, z.core.$strip>, z.ZodObject<{
1509
+ kind: z.ZodLiteral<"component">;
1510
+ componentId: z.ZodString;
1511
+ props: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1512
+ }, z.core.$strip>], "kind">;
1513
+ motion: z.ZodOptional<z.ZodObject<{
1514
+ preset: z.ZodEnum<{
1515
+ "fade-up": "fade-up";
1516
+ "slide-in-left": "slide-in-left";
1517
+ "slide-in-right": "slide-in-right";
1518
+ "scale-pop": "scale-pop";
1519
+ "stagger-reveal": "stagger-reveal";
1520
+ }>;
1521
+ enterMs: z.ZodOptional<z.ZodNumber>;
1522
+ exitMs: z.ZodOptional<z.ZodNumber>;
1523
+ staggerMs: z.ZodOptional<z.ZodNumber>;
1524
+ confidence: z.ZodOptional<z.ZodEnum<{
1525
+ high: "high";
1526
+ low: "low";
1527
+ }>>;
1528
+ }, z.core.$strip>>;
1529
+ role: z.ZodEnum<{
1530
+ [x: string]: string;
1531
+ }>;
1532
+ zone: z.ZodOptional<z.ZodObject<{
1533
+ x: z.ZodNumber;
1534
+ y: z.ZodNumber;
1535
+ w: z.ZodNumber;
1536
+ h: z.ZodNumber;
1537
+ }, z.core.$strip>>;
1538
+ evidence: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
1539
+ diffScore: z.ZodOptional<z.ZodNumber>;
1540
+ coverage: z.ZodEnum<{
1541
+ reproduced: "reproduced";
1542
+ approximated: "approximated";
1543
+ skipped: "skipped";
1544
+ }>;
1545
+ skipReason: z.ZodOptional<z.ZodString>;
1546
+ }, z.core.$strip>>>;
1547
+ styleRubric: z.ZodOptional<z.ZodString>;
1548
+ density: z.ZodOptional<z.ZodObject<{
1549
+ graphicsPerMin: z.ZodNumber;
1550
+ maxSimultaneous: z.ZodNumber;
1551
+ }, z.core.$strip>>;
1552
+ inspiration: z.ZodOptional<z.ZodObject<{
1553
+ sources: z.ZodArray<z.ZodString>;
1554
+ extractedAt: z.ZodNumber;
1555
+ extractionVersion: z.ZodString;
1556
+ }, z.core.$strip>>;
1557
+ }, z.core.$strict>>;
1558
+ gallery: z.ZodOptional<z.ZodObject<{
1559
+ poster: z.ZodOptional<z.ZodString>;
1560
+ render: z.ZodOptional<z.ZodString>;
1561
+ description: z.ZodOptional<z.ZodString>;
1562
+ }, z.core.$strict>>;
1563
+ }, z.core.$strict>>>;
1564
+ }, z.core.$strict>;
1565
+ export type TemplateDocument = z.infer<typeof TemplateDocumentSchema>;
1566
+ export type TemplateParameter = z.infer<typeof TemplateParameterSchema>;
1567
+ export declare class TemplateError extends Error {
1568
+ code: "template_values_invalid" | "template_parameter_undeclared" | "template_media_kind_mismatch" | "payload_too_large";
1569
+ fields: Array<{
1570
+ param: string;
1571
+ reason: string;
1572
+ }>;
1573
+ constructor(code: "template_values_invalid" | "template_parameter_undeclared" | "template_media_kind_mismatch" | "payload_too_large", message: string, fields?: Array<{
1574
+ param: string;
1575
+ reason: string;
1576
+ }>);
1577
+ }
1578
+ export declare function parseTemplateDocument(raw: unknown): TemplateDocument;
1579
+ export {};
1580
+ //# sourceMappingURL=schema.d.ts.map