Validation des données
PluginFactory utilise Zod pour valider toutes les entrées et sorties des plugins.
Validation des inputs
import { z } from "zod";
const CreateLeadSchema = z.object({
email: z.string().email(),
name: z.string().min(2).max(100),
company: z.string().optional(),
});
export const leadPlugin = createPlugin({
tools: {
createLead: async (ctx, input) => {
const validated = CreateLeadSchema.parse(input);
return ctx.db.lead.create({ data: validated });
},
},
});
Gestion des erreurs de validation
const result = CreateLeadSchema.safeParse(input);
if (!result.success) {
return { errors: result.error.flatten().fieldErrors };
}
Types partagés
Définissez vos schemas une fois dans packages/domain/ et réutilisez-les partout.