import { z, ZodType } from 'zod'; import { VisualComponentDefinition } from '../core'; const Markdown = 'Markdown' as const; export type MarkdownComponentType = typeof Markdown; export interface MarkdownComponentDefinition extends VisualComponentDefinition { /** * Raw Markdown text to render. Can include **bold**, *italic*, and [links](https://example.com). */ content: string; } export const MarkdownSchema = z.object({ type: z.literal(Markdown), content: z .string() .min(1, { message: 'Markdown component requires non-empty content' }), }) satisfies ZodType;