cook-mcp-windy
Version:
HowToCook MCP Server - Intelligent Chinese recipe management and meal planning for AI assistants
775 lines • 31.7 kB
TypeScript
import { z } from 'zod';
export declare const CombinationType: z.ZodEnum<["家常搭配", "宴客搭配", "节日搭配", "快手搭配", "营养搭配", "季节搭配"]>;
export type CombinationType = z.infer<typeof CombinationType>;
export declare const DishRole: z.ZodEnum<["主菜", "配菜", "汤品", "主食", "开胃菜", "甜品"]>;
export type DishRole = z.infer<typeof DishRole>;
export declare const CombinationPreferences: z.ZodObject<{
numberOfPeople: z.ZodNumber;
occasion: z.ZodOptional<z.ZodEnum<["日常", "聚餐", "节日", "招待客人", "特殊场合"]>>;
budgetLevel: z.ZodOptional<z.ZodEnum<["经济", "中等", "高档"]>>;
dietaryRestrictions: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
preferredFlavors: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
cookingTime: z.ZodOptional<z.ZodString>;
skillLevel: z.ZodOptional<z.ZodEnum<["初学者", "中级", "高级"]>>;
seasonalPreference: z.ZodOptional<z.ZodBoolean>;
nutritionalBalance: z.ZodOptional<z.ZodBoolean>;
}, "strip", z.ZodTypeAny, {
numberOfPeople: number;
dietaryRestrictions?: string[] | undefined;
budgetLevel?: "中等" | "经济" | "高档" | undefined;
occasion?: "日常" | "聚餐" | "节日" | "招待客人" | "特殊场合" | undefined;
preferredFlavors?: string[] | undefined;
cookingTime?: string | undefined;
skillLevel?: "初学者" | "中级" | "高级" | undefined;
seasonalPreference?: boolean | undefined;
nutritionalBalance?: boolean | undefined;
}, {
numberOfPeople: number;
dietaryRestrictions?: string[] | undefined;
budgetLevel?: "中等" | "经济" | "高档" | undefined;
occasion?: "日常" | "聚餐" | "节日" | "招待客人" | "特殊场合" | undefined;
preferredFlavors?: string[] | undefined;
cookingTime?: string | undefined;
skillLevel?: "初学者" | "中级" | "高级" | undefined;
seasonalPreference?: boolean | undefined;
nutritionalBalance?: boolean | undefined;
}>;
export type CombinationPreferences = z.infer<typeof CombinationPreferences>;
export declare const RecommendedDish: z.ZodObject<{
recipe: z.ZodObject<{
id: z.ZodString;
name: z.ZodString;
description: z.ZodOptional<z.ZodString>;
category: z.ZodEnum<["水产", "早餐", "调味料", "甜品", "饮品", "荤菜", "半成品", "汤羹", "主食", "素菜"]>;
difficulty: z.ZodEnum<["简单", "中等", "困难"]>;
servings: z.ZodNumber;
prepTime: z.ZodString;
cookTime: z.ZodString;
totalTime: z.ZodString;
ingredients: z.ZodArray<z.ZodObject<{
name: z.ZodString;
amount: z.ZodString;
notes: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
name: string;
amount: string;
notes?: string | undefined;
}, {
name: string;
amount: string;
notes?: string | undefined;
}>, "many">;
steps: z.ZodArray<z.ZodObject<{
stepNumber: z.ZodNumber;
instruction: z.ZodString;
duration: z.ZodOptional<z.ZodString>;
temperature: z.ZodOptional<z.ZodString>;
tips: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
stepNumber: number;
instruction: string;
duration?: string | undefined;
temperature?: string | undefined;
tips?: string | undefined;
}, {
stepNumber: number;
instruction: string;
duration?: string | undefined;
temperature?: string | undefined;
tips?: string | undefined;
}>, "many">;
tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
cookingMethods: z.ZodOptional<z.ZodArray<z.ZodEnum<["炒", "煮", "蒸", "烤", "炸", "焖", "炖", "煎", "拌", "腌", "烧", "卤"]>, "many">>;
nutritionalInfo: z.ZodOptional<z.ZodObject<{
calories: z.ZodOptional<z.ZodNumber>;
protein: z.ZodOptional<z.ZodString>;
carbs: z.ZodOptional<z.ZodString>;
fat: z.ZodOptional<z.ZodString>;
fiber: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
calories?: number | undefined;
protein?: string | undefined;
carbs?: string | undefined;
fat?: string | undefined;
fiber?: string | undefined;
}, {
calories?: number | undefined;
protein?: string | undefined;
carbs?: string | undefined;
fat?: string | undefined;
fiber?: string | undefined;
}>>;
tips: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
variations: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
imageUrl: z.ZodOptional<z.ZodString>;
source: z.ZodOptional<z.ZodString>;
dateAdded: z.ZodString;
lastModified: z.ZodString;
}, "strip", z.ZodTypeAny, {
name: string;
id: string;
category: "水产" | "早餐" | "调味料" | "甜品" | "饮品" | "荤菜" | "半成品" | "汤羹" | "主食" | "素菜";
difficulty: "简单" | "中等" | "困难";
servings: number;
prepTime: string;
cookTime: string;
totalTime: string;
ingredients: {
name: string;
amount: string;
notes?: string | undefined;
}[];
steps: {
stepNumber: number;
instruction: string;
duration?: string | undefined;
temperature?: string | undefined;
tips?: string | undefined;
}[];
dateAdded: string;
lastModified: string;
tips?: string[] | undefined;
description?: string | undefined;
tags?: string[] | undefined;
cookingMethods?: ("炒" | "煮" | "蒸" | "烤" | "炸" | "焖" | "炖" | "煎" | "拌" | "腌" | "烧" | "卤")[] | undefined;
nutritionalInfo?: {
calories?: number | undefined;
protein?: string | undefined;
carbs?: string | undefined;
fat?: string | undefined;
fiber?: string | undefined;
} | undefined;
variations?: string[] | undefined;
imageUrl?: string | undefined;
source?: string | undefined;
}, {
name: string;
id: string;
category: "水产" | "早餐" | "调味料" | "甜品" | "饮品" | "荤菜" | "半成品" | "汤羹" | "主食" | "素菜";
difficulty: "简单" | "中等" | "困难";
servings: number;
prepTime: string;
cookTime: string;
totalTime: string;
ingredients: {
name: string;
amount: string;
notes?: string | undefined;
}[];
steps: {
stepNumber: number;
instruction: string;
duration?: string | undefined;
temperature?: string | undefined;
tips?: string | undefined;
}[];
dateAdded: string;
lastModified: string;
tips?: string[] | undefined;
description?: string | undefined;
tags?: string[] | undefined;
cookingMethods?: ("炒" | "煮" | "蒸" | "烤" | "炸" | "焖" | "炖" | "煎" | "拌" | "腌" | "烧" | "卤")[] | undefined;
nutritionalInfo?: {
calories?: number | undefined;
protein?: string | undefined;
carbs?: string | undefined;
fat?: string | undefined;
fiber?: string | undefined;
} | undefined;
variations?: string[] | undefined;
imageUrl?: string | undefined;
source?: string | undefined;
}>;
role: z.ZodEnum<["主菜", "配菜", "汤品", "主食", "开胃菜", "甜品"]>;
priority: z.ZodEnum<["必选", "推荐", "可选"]>;
reason: z.ZodString;
preparationOrder: z.ZodNumber;
servingOrder: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
recipe: {
name: string;
id: string;
category: "水产" | "早餐" | "调味料" | "甜品" | "饮品" | "荤菜" | "半成品" | "汤羹" | "主食" | "素菜";
difficulty: "简单" | "中等" | "困难";
servings: number;
prepTime: string;
cookTime: string;
totalTime: string;
ingredients: {
name: string;
amount: string;
notes?: string | undefined;
}[];
steps: {
stepNumber: number;
instruction: string;
duration?: string | undefined;
temperature?: string | undefined;
tips?: string | undefined;
}[];
dateAdded: string;
lastModified: string;
tips?: string[] | undefined;
description?: string | undefined;
tags?: string[] | undefined;
cookingMethods?: ("炒" | "煮" | "蒸" | "烤" | "炸" | "焖" | "炖" | "煎" | "拌" | "腌" | "烧" | "卤")[] | undefined;
nutritionalInfo?: {
calories?: number | undefined;
protein?: string | undefined;
carbs?: string | undefined;
fat?: string | undefined;
fiber?: string | undefined;
} | undefined;
variations?: string[] | undefined;
imageUrl?: string | undefined;
source?: string | undefined;
};
priority: "必选" | "推荐" | "可选";
role: "甜品" | "主食" | "主菜" | "配菜" | "汤品" | "开胃菜";
reason: string;
preparationOrder: number;
servingOrder: number;
}, {
recipe: {
name: string;
id: string;
category: "水产" | "早餐" | "调味料" | "甜品" | "饮品" | "荤菜" | "半成品" | "汤羹" | "主食" | "素菜";
difficulty: "简单" | "中等" | "困难";
servings: number;
prepTime: string;
cookTime: string;
totalTime: string;
ingredients: {
name: string;
amount: string;
notes?: string | undefined;
}[];
steps: {
stepNumber: number;
instruction: string;
duration?: string | undefined;
temperature?: string | undefined;
tips?: string | undefined;
}[];
dateAdded: string;
lastModified: string;
tips?: string[] | undefined;
description?: string | undefined;
tags?: string[] | undefined;
cookingMethods?: ("炒" | "煮" | "蒸" | "烤" | "炸" | "焖" | "炖" | "煎" | "拌" | "腌" | "烧" | "卤")[] | undefined;
nutritionalInfo?: {
calories?: number | undefined;
protein?: string | undefined;
carbs?: string | undefined;
fat?: string | undefined;
fiber?: string | undefined;
} | undefined;
variations?: string[] | undefined;
imageUrl?: string | undefined;
source?: string | undefined;
};
priority: "必选" | "推荐" | "可选";
role: "甜品" | "主食" | "主菜" | "配菜" | "汤品" | "开胃菜";
reason: string;
preparationOrder: number;
servingOrder: number;
}>;
export type RecommendedDish = z.infer<typeof RecommendedDish>;
export declare const DishCombination: z.ZodObject<{
id: z.ZodString;
name: z.ZodString;
description: z.ZodString;
type: z.ZodEnum<["家常搭配", "宴客搭配", "节日搭配", "快手搭配", "营养搭配", "季节搭配"]>;
dishes: z.ZodArray<z.ZodObject<{
recipe: z.ZodObject<{
id: z.ZodString;
name: z.ZodString;
description: z.ZodOptional<z.ZodString>;
category: z.ZodEnum<["水产", "早餐", "调味料", "甜品", "饮品", "荤菜", "半成品", "汤羹", "主食", "素菜"]>;
difficulty: z.ZodEnum<["简单", "中等", "困难"]>;
servings: z.ZodNumber;
prepTime: z.ZodString;
cookTime: z.ZodString;
totalTime: z.ZodString;
ingredients: z.ZodArray<z.ZodObject<{
name: z.ZodString;
amount: z.ZodString;
notes: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
name: string;
amount: string;
notes?: string | undefined;
}, {
name: string;
amount: string;
notes?: string | undefined;
}>, "many">;
steps: z.ZodArray<z.ZodObject<{
stepNumber: z.ZodNumber;
instruction: z.ZodString;
duration: z.ZodOptional<z.ZodString>;
temperature: z.ZodOptional<z.ZodString>;
tips: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
stepNumber: number;
instruction: string;
duration?: string | undefined;
temperature?: string | undefined;
tips?: string | undefined;
}, {
stepNumber: number;
instruction: string;
duration?: string | undefined;
temperature?: string | undefined;
tips?: string | undefined;
}>, "many">;
tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
cookingMethods: z.ZodOptional<z.ZodArray<z.ZodEnum<["炒", "煮", "蒸", "烤", "炸", "焖", "炖", "煎", "拌", "腌", "烧", "卤"]>, "many">>;
nutritionalInfo: z.ZodOptional<z.ZodObject<{
calories: z.ZodOptional<z.ZodNumber>;
protein: z.ZodOptional<z.ZodString>;
carbs: z.ZodOptional<z.ZodString>;
fat: z.ZodOptional<z.ZodString>;
fiber: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
calories?: number | undefined;
protein?: string | undefined;
carbs?: string | undefined;
fat?: string | undefined;
fiber?: string | undefined;
}, {
calories?: number | undefined;
protein?: string | undefined;
carbs?: string | undefined;
fat?: string | undefined;
fiber?: string | undefined;
}>>;
tips: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
variations: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
imageUrl: z.ZodOptional<z.ZodString>;
source: z.ZodOptional<z.ZodString>;
dateAdded: z.ZodString;
lastModified: z.ZodString;
}, "strip", z.ZodTypeAny, {
name: string;
id: string;
category: "水产" | "早餐" | "调味料" | "甜品" | "饮品" | "荤菜" | "半成品" | "汤羹" | "主食" | "素菜";
difficulty: "简单" | "中等" | "困难";
servings: number;
prepTime: string;
cookTime: string;
totalTime: string;
ingredients: {
name: string;
amount: string;
notes?: string | undefined;
}[];
steps: {
stepNumber: number;
instruction: string;
duration?: string | undefined;
temperature?: string | undefined;
tips?: string | undefined;
}[];
dateAdded: string;
lastModified: string;
tips?: string[] | undefined;
description?: string | undefined;
tags?: string[] | undefined;
cookingMethods?: ("炒" | "煮" | "蒸" | "烤" | "炸" | "焖" | "炖" | "煎" | "拌" | "腌" | "烧" | "卤")[] | undefined;
nutritionalInfo?: {
calories?: number | undefined;
protein?: string | undefined;
carbs?: string | undefined;
fat?: string | undefined;
fiber?: string | undefined;
} | undefined;
variations?: string[] | undefined;
imageUrl?: string | undefined;
source?: string | undefined;
}, {
name: string;
id: string;
category: "水产" | "早餐" | "调味料" | "甜品" | "饮品" | "荤菜" | "半成品" | "汤羹" | "主食" | "素菜";
difficulty: "简单" | "中等" | "困难";
servings: number;
prepTime: string;
cookTime: string;
totalTime: string;
ingredients: {
name: string;
amount: string;
notes?: string | undefined;
}[];
steps: {
stepNumber: number;
instruction: string;
duration?: string | undefined;
temperature?: string | undefined;
tips?: string | undefined;
}[];
dateAdded: string;
lastModified: string;
tips?: string[] | undefined;
description?: string | undefined;
tags?: string[] | undefined;
cookingMethods?: ("炒" | "煮" | "蒸" | "烤" | "炸" | "焖" | "炖" | "煎" | "拌" | "腌" | "烧" | "卤")[] | undefined;
nutritionalInfo?: {
calories?: number | undefined;
protein?: string | undefined;
carbs?: string | undefined;
fat?: string | undefined;
fiber?: string | undefined;
} | undefined;
variations?: string[] | undefined;
imageUrl?: string | undefined;
source?: string | undefined;
}>;
role: z.ZodEnum<["主菜", "配菜", "汤品", "主食", "开胃菜", "甜品"]>;
priority: z.ZodEnum<["必选", "推荐", "可选"]>;
reason: z.ZodString;
preparationOrder: z.ZodNumber;
servingOrder: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
recipe: {
name: string;
id: string;
category: "水产" | "早餐" | "调味料" | "甜品" | "饮品" | "荤菜" | "半成品" | "汤羹" | "主食" | "素菜";
difficulty: "简单" | "中等" | "困难";
servings: number;
prepTime: string;
cookTime: string;
totalTime: string;
ingredients: {
name: string;
amount: string;
notes?: string | undefined;
}[];
steps: {
stepNumber: number;
instruction: string;
duration?: string | undefined;
temperature?: string | undefined;
tips?: string | undefined;
}[];
dateAdded: string;
lastModified: string;
tips?: string[] | undefined;
description?: string | undefined;
tags?: string[] | undefined;
cookingMethods?: ("炒" | "煮" | "蒸" | "烤" | "炸" | "焖" | "炖" | "煎" | "拌" | "腌" | "烧" | "卤")[] | undefined;
nutritionalInfo?: {
calories?: number | undefined;
protein?: string | undefined;
carbs?: string | undefined;
fat?: string | undefined;
fiber?: string | undefined;
} | undefined;
variations?: string[] | undefined;
imageUrl?: string | undefined;
source?: string | undefined;
};
priority: "必选" | "推荐" | "可选";
role: "甜品" | "主食" | "主菜" | "配菜" | "汤品" | "开胃菜";
reason: string;
preparationOrder: number;
servingOrder: number;
}, {
recipe: {
name: string;
id: string;
category: "水产" | "早餐" | "调味料" | "甜品" | "饮品" | "荤菜" | "半成品" | "汤羹" | "主食" | "素菜";
difficulty: "简单" | "中等" | "困难";
servings: number;
prepTime: string;
cookTime: string;
totalTime: string;
ingredients: {
name: string;
amount: string;
notes?: string | undefined;
}[];
steps: {
stepNumber: number;
instruction: string;
duration?: string | undefined;
temperature?: string | undefined;
tips?: string | undefined;
}[];
dateAdded: string;
lastModified: string;
tips?: string[] | undefined;
description?: string | undefined;
tags?: string[] | undefined;
cookingMethods?: ("炒" | "煮" | "蒸" | "烤" | "炸" | "焖" | "炖" | "煎" | "拌" | "腌" | "烧" | "卤")[] | undefined;
nutritionalInfo?: {
calories?: number | undefined;
protein?: string | undefined;
carbs?: string | undefined;
fat?: string | undefined;
fiber?: string | undefined;
} | undefined;
variations?: string[] | undefined;
imageUrl?: string | undefined;
source?: string | undefined;
};
priority: "必选" | "推荐" | "可选";
role: "甜品" | "主食" | "主菜" | "配菜" | "汤品" | "开胃菜";
reason: string;
preparationOrder: number;
servingOrder: number;
}>, "many">;
totalPrepTime: z.ZodString;
totalCookTime: z.ZodString;
difficulty: z.ZodEnum<["简单", "中等", "困难"]>;
servings: z.ZodNumber;
nutritionalBalance: z.ZodObject<{
hasProtein: z.ZodBoolean;
hasVegetables: z.ZodBoolean;
hasCarbs: z.ZodBoolean;
isBalanced: z.ZodBoolean;
}, "strip", z.ZodTypeAny, {
hasProtein: boolean;
hasVegetables: boolean;
hasCarbs: boolean;
isBalanced: boolean;
}, {
hasProtein: boolean;
hasVegetables: boolean;
hasCarbs: boolean;
isBalanced: boolean;
}>;
flavorProfile: z.ZodArray<z.ZodString, "many">;
cookingTips: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
alternatives: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
estimatedCost: z.ZodOptional<z.ZodString>;
createdAt: z.ZodString;
}, "strip", z.ZodTypeAny, {
type: "家常搭配" | "宴客搭配" | "节日搭配" | "快手搭配" | "营养搭配" | "季节搭配";
name: string;
id: string;
description: string;
difficulty: "简单" | "中等" | "困难";
servings: number;
createdAt: string;
nutritionalBalance: {
hasProtein: boolean;
hasVegetables: boolean;
hasCarbs: boolean;
isBalanced: boolean;
};
dishes: {
recipe: {
name: string;
id: string;
category: "水产" | "早餐" | "调味料" | "甜品" | "饮品" | "荤菜" | "半成品" | "汤羹" | "主食" | "素菜";
difficulty: "简单" | "中等" | "困难";
servings: number;
prepTime: string;
cookTime: string;
totalTime: string;
ingredients: {
name: string;
amount: string;
notes?: string | undefined;
}[];
steps: {
stepNumber: number;
instruction: string;
duration?: string | undefined;
temperature?: string | undefined;
tips?: string | undefined;
}[];
dateAdded: string;
lastModified: string;
tips?: string[] | undefined;
description?: string | undefined;
tags?: string[] | undefined;
cookingMethods?: ("炒" | "煮" | "蒸" | "烤" | "炸" | "焖" | "炖" | "煎" | "拌" | "腌" | "烧" | "卤")[] | undefined;
nutritionalInfo?: {
calories?: number | undefined;
protein?: string | undefined;
carbs?: string | undefined;
fat?: string | undefined;
fiber?: string | undefined;
} | undefined;
variations?: string[] | undefined;
imageUrl?: string | undefined;
source?: string | undefined;
};
priority: "必选" | "推荐" | "可选";
role: "甜品" | "主食" | "主菜" | "配菜" | "汤品" | "开胃菜";
reason: string;
preparationOrder: number;
servingOrder: number;
}[];
totalPrepTime: string;
totalCookTime: string;
flavorProfile: string[];
alternatives?: string[] | undefined;
cookingTips?: string[] | undefined;
estimatedCost?: string | undefined;
}, {
type: "家常搭配" | "宴客搭配" | "节日搭配" | "快手搭配" | "营养搭配" | "季节搭配";
name: string;
id: string;
description: string;
difficulty: "简单" | "中等" | "困难";
servings: number;
createdAt: string;
nutritionalBalance: {
hasProtein: boolean;
hasVegetables: boolean;
hasCarbs: boolean;
isBalanced: boolean;
};
dishes: {
recipe: {
name: string;
id: string;
category: "水产" | "早餐" | "调味料" | "甜品" | "饮品" | "荤菜" | "半成品" | "汤羹" | "主食" | "素菜";
difficulty: "简单" | "中等" | "困难";
servings: number;
prepTime: string;
cookTime: string;
totalTime: string;
ingredients: {
name: string;
amount: string;
notes?: string | undefined;
}[];
steps: {
stepNumber: number;
instruction: string;
duration?: string | undefined;
temperature?: string | undefined;
tips?: string | undefined;
}[];
dateAdded: string;
lastModified: string;
tips?: string[] | undefined;
description?: string | undefined;
tags?: string[] | undefined;
cookingMethods?: ("炒" | "煮" | "蒸" | "烤" | "炸" | "焖" | "炖" | "煎" | "拌" | "腌" | "烧" | "卤")[] | undefined;
nutritionalInfo?: {
calories?: number | undefined;
protein?: string | undefined;
carbs?: string | undefined;
fat?: string | undefined;
fiber?: string | undefined;
} | undefined;
variations?: string[] | undefined;
imageUrl?: string | undefined;
source?: string | undefined;
};
priority: "必选" | "推荐" | "可选";
role: "甜品" | "主食" | "主菜" | "配菜" | "汤品" | "开胃菜";
reason: string;
preparationOrder: number;
servingOrder: number;
}[];
totalPrepTime: string;
totalCookTime: string;
flavorProfile: string[];
alternatives?: string[] | undefined;
cookingTips?: string[] | undefined;
estimatedCost?: string | undefined;
}>;
export type DishCombination = z.infer<typeof DishCombination>;
export declare const CombinationRequest: z.ZodObject<{
preferences: z.ZodObject<{
numberOfPeople: z.ZodNumber;
occasion: z.ZodOptional<z.ZodEnum<["日常", "聚餐", "节日", "招待客人", "特殊场合"]>>;
budgetLevel: z.ZodOptional<z.ZodEnum<["经济", "中等", "高档"]>>;
dietaryRestrictions: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
preferredFlavors: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
cookingTime: z.ZodOptional<z.ZodString>;
skillLevel: z.ZodOptional<z.ZodEnum<["初学者", "中级", "高级"]>>;
seasonalPreference: z.ZodOptional<z.ZodBoolean>;
nutritionalBalance: z.ZodOptional<z.ZodBoolean>;
}, "strip", z.ZodTypeAny, {
numberOfPeople: number;
dietaryRestrictions?: string[] | undefined;
budgetLevel?: "中等" | "经济" | "高档" | undefined;
occasion?: "日常" | "聚餐" | "节日" | "招待客人" | "特殊场合" | undefined;
preferredFlavors?: string[] | undefined;
cookingTime?: string | undefined;
skillLevel?: "初学者" | "中级" | "高级" | undefined;
seasonalPreference?: boolean | undefined;
nutritionalBalance?: boolean | undefined;
}, {
numberOfPeople: number;
dietaryRestrictions?: string[] | undefined;
budgetLevel?: "中等" | "经济" | "高档" | undefined;
occasion?: "日常" | "聚餐" | "节日" | "招待客人" | "特殊场合" | undefined;
preferredFlavors?: string[] | undefined;
cookingTime?: string | undefined;
skillLevel?: "初学者" | "中级" | "高级" | undefined;
seasonalPreference?: boolean | undefined;
nutritionalBalance?: boolean | undefined;
}>;
excludeRecipeIds: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
includeRecipeIds: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
maxDishes: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
minDishes: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
}, "strip", z.ZodTypeAny, {
preferences: {
numberOfPeople: number;
dietaryRestrictions?: string[] | undefined;
budgetLevel?: "中等" | "经济" | "高档" | undefined;
occasion?: "日常" | "聚餐" | "节日" | "招待客人" | "特殊场合" | undefined;
preferredFlavors?: string[] | undefined;
cookingTime?: string | undefined;
skillLevel?: "初学者" | "中级" | "高级" | undefined;
seasonalPreference?: boolean | undefined;
nutritionalBalance?: boolean | undefined;
};
maxDishes: number;
minDishes: number;
excludeRecipeIds?: string[] | undefined;
includeRecipeIds?: string[] | undefined;
}, {
preferences: {
numberOfPeople: number;
dietaryRestrictions?: string[] | undefined;
budgetLevel?: "中等" | "经济" | "高档" | undefined;
occasion?: "日常" | "聚餐" | "节日" | "招待客人" | "特殊场合" | undefined;
preferredFlavors?: string[] | undefined;
cookingTime?: string | undefined;
skillLevel?: "初学者" | "中级" | "高级" | undefined;
seasonalPreference?: boolean | undefined;
nutritionalBalance?: boolean | undefined;
};
excludeRecipeIds?: string[] | undefined;
includeRecipeIds?: string[] | undefined;
maxDishes?: number | undefined;
minDishes?: number | undefined;
}>;
export type CombinationRequest = z.infer<typeof CombinationRequest>;
export declare const CombinationAnalysis: z.ZodObject<{
nutritionalScore: z.ZodNumber;
flavorHarmony: z.ZodNumber;
difficultyBalance: z.ZodNumber;
timeEfficiency: z.ZodNumber;
overallScore: z.ZodNumber;
strengths: z.ZodArray<z.ZodString, "many">;
improvements: z.ZodArray<z.ZodString, "many">;
}, "strip", z.ZodTypeAny, {
nutritionalScore: number;
flavorHarmony: number;
difficultyBalance: number;
timeEfficiency: number;
overallScore: number;
strengths: string[];
improvements: string[];
}, {
nutritionalScore: number;
flavorHarmony: number;
difficultyBalance: number;
timeEfficiency: number;
overallScore: number;
strengths: string[];
improvements: string[];
}>;
export type CombinationAnalysis = z.infer<typeof CombinationAnalysis>;
//# sourceMappingURL=dishCombination.d.ts.map