Returns up to three recipes per time band from the IZeat catalogue that fit what is left of the customer's day, each served at the customer's usual plate for that meal. Use it only when the customer asks what they could eat or cook, or wants a recipe idea for a meal. Never call it to tell them what they should eat. Each new request for ideas is a new call, even later in the same conversation: what is left changes as the day goes on, and the card is where the customer chooses. meal_type is required: breakfast, morning_snack, lunch, afternoon_snack, dinner or evening; ask if it is unclear. The plate is the customer's usual weight for that meal, which IZeat reads from their last weighed meals of the same type. With too few, pass sex if the customer already said it in this conversation (never ask only for this, never guess it) and IZeat uses a provisional default for breakfast, lunch and dinner; otherwise it asks you for plate_g: ask the customer roughly how much they usually eat at that meal and convert it to grams. A plate that would hold more than what is left is made smaller and says so. kcal_for_meal only when the customer gave their own figure for this meal ('I have 600 kcal for dinner'); otherwise what is left of the day is the limit. query only with the customer's own words: an ingredient, 'vegetarian'. ready_within only when the customer said how long they have until they eat ('I have 20 minutes'). Omit date for today, as on day_summary. The recipes come by total time, until the plate is served: up to three ready in 20 minutes, three in 40, three that take longer; each also says its active time, the minutes with hands in the recipe. For lunch and dinner, up to three desserts come too, at one serving each, and each dish says its smaller plate beside each dessert, so dish and dessert together make the usual plate. The choice weighs what is left in protein, carbohydrate and fat: far from the protein target, the protein-rich dishes come first; close to it, lighter ones. Equal fits are ordered by the IZeat score (0 to 100, how well a dish keeps hunger away for two to three hours, per calorie). Each recipe comes with its plate in grams and its figures, its times, the ingredients scaled to that plate, its creator and its page. These are options, never a prescription: relay them neutrally and never comment on how much. Records a view for every proposed recipe, at most once per account, recipe and UTC day; a proposal is not a recipe use and does not earn creator royalties. When interactive cards are enabled for the account, the recipes also appear as an IZeat card with their photos, figures and ingredients; text-only clients receive the same data. When the customer chooses one to cook, call get_recipe with its reference and plate for the whole method. If the customer cooks one, log what they actually cooked and ate with log_meal, with their own quantities and changes, and pass its reference in log_meal recipes. Saying they will cook a recipe is not a meal: log nothing until they say what they ate. Example: find_recipes { "meal_type": "dinner" }.
statement is the customer-facing IZeat message. It begins with "IZeat ·" so customers can distinguish information returned by IZeat from the assistant's own response. For write operations, it also states whether the requested change was recorded in their IZeat account.
Account: Sam (review@izeat.app)