Dynamically generate Zod schemas from TipTap extensions for type-safe AI integration and document validation
Dynamically generate Zod schemas from TipTap extensions for type-safe AI integration and document validation.
``bash`
npm install zod-tiptapor
pnpm add zod-tiptapor
yarn add zod-tiptap
The generated Zod schema can be used as an input/output schema for AI-SDK tools:
`typescript
import { tool } from 'ai';
import { z } from 'zod';
import { generateDynamicSchema } from 'zod-tiptap';
import StarterKit from '@tiptap/starter-kit';
const tiptapExtensions = [
StarterKit,
// ...or any TipTap extension
];
const tiptapDocumentSchema = generateDynamicSchema(tiptapExtensions);
export const createDocument = tool({
description: 'Create a new document artifact.',
inputSchema: tiptapDocumentSchema,
outputSchema: z.object({
id: z.string(),
success: z.boolean(),
}),
execute: async ({ name, content }) => {
// Your TipTap document creation logic here
return { id: 'doc_123', success: true };
},
});
``
MIT