import { z } from 'zod' export { BaseVideoResourceMetadataSchema, ScenePluginMetadataSchema, SceneSlotHintSchema, SceneSlotsSchema, ThemePluginMetadataSchema, TransitionPluginMetadataSchema, VideoResourceKindSchema, VideoResourceMetadataSchema, } from '../resources/video-resource.ts' export type { ScenePluginMetadata, SceneSlotHint, ThemePluginMetadata, TransitionPluginMetadata, VideoResourceKind, VideoResourceMetadata, } from '../resources/video-resource.ts' const ComponentProjectComponentMetadataInputSchema = z.object({ name: z.string().min(1), pluginKey: z.string().min(1).optional(), description: z.string().min(1), sourceFile: z.string().min(1), aspectRatio: z.enum(['9:16', '16:9']), sceneType: z.enum(['intro', 'scene', 'outro']).optional(), motion: z.enum(['static', 'animated']), tags: z.array(z.string().min(1)).default([]), propsTypeName: z.string().min(1).optional(), }) export const ComponentProjectComponentMetadataSchema = ComponentProjectComponentMetadataInputSchema export const ComponentProjectGeneratedManifestSchema = z.object({ projectRoot: z.string().min(1), generatedAt: z.string().min(1), docsDir: z.string().min(1), files: z.array(z.string().min(1)), }) export type ComponentProjectComponentMetadata = z.infer< typeof ComponentProjectComponentMetadataInputSchema > export type ComponentProjectGeneratedManifest = z.infer< typeof ComponentProjectGeneratedManifestSchema >