import { z } from 'zod'; import { WRITER_AI_ACTION_PRICING_TYPE, WRITER_AI_ACTION_TYPE } from '../../constants'; export const WriterAiActionPricingRulesSchema = z.discriminatedUnion('type', [ z.object({ type: z.literal(WRITER_AI_ACTION_PRICING_TYPE.PER_CHARACTER), price: z.number(), }), z.object({ type: z.literal(WRITER_AI_ACTION_PRICING_TYPE.FLAT), price: z.number(), }), ]); export type WriterAiActionPricingRules = z.infer; export const WriterAiActionSchema = z.object({ uuid: z.string(), type: z.nativeEnum(WRITER_AI_ACTION_TYPE), pricingRules: WriterAiActionPricingRulesSchema, maxPromptLength: z.number(), title: z.string(), icon: z.string(), order: z.number(), }); export type WriterAiAction = z.infer;