Files
cfw-autumn/shared/models/chatResultModels/chatResultFeature.ts
John Yeo 3d0e4f94f2 wip
2025-09-29 11:15:23 +01:00

29 lines
607 B
TypeScript

import { z } from "zod/v4";
export const ChatFeatureCreditSchema = z.object({
metered_feature_id: z.string().nonempty(),
credit_cost: z.number().gt(0),
});
export const ChatResultFeatureSchema = z.object({
id: z.string(),
name: z.string(),
type: z.enum(["boolean", "single_use", "continuous_use", "credit_system"]),
display: z.object({
singular: z.string(),
plural: z.string(),
}),
credit_schema: z
.array(
z.object({
metered_feature_id: z.string(),
credit_cost: z.number(),
}),
)
.nullish(),
});
export type ChatResultFeature = z.infer<typeof ChatResultFeatureSchema>;