joiva_log_described_meal
Log a meal the signed-in user described in their own words, e.g. 'ca. 350 g Hähnchen-Kokos-Curry (Hähnchen, Kokosmilch, Möhre; ohne Zwiebeln) und 250 g Brokkoli mit Olivenöl'. Joiva splits the text into its parts and breaks every dish, and every food with additions (oil, butter, sauce, spices), into ingredients with its own recipe decomposition: named ingredients are kept, excluded ones left out, cooking fat counted, missing amounts estimated, nutrient values from Joiva's reference sources (BLS first). It writes one log entry per ingredient, all in one meal; a plain single food becomes one entry. Nothing is written unless every part resolves. Takes 20 to 60 seconds. Time: loggedAt, or date with meal (placed at the meal's usual hour) or with time; without any of these it is now. A past day without meal and time is refused, since Joiva does not invent a clock time. The reply lists every entry (entryId, food, grams, kcal) per part, the assumptions made for what the description left open, and the meal's totals.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"description": "<description>"
},
"name": "joiva_log_described_meal"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| tz | No | IANA timezone, default Europe/Berlin | |
| date | No | YYYY-MM-DD of the day it was eaten, default today | |
| meal | No | Meal slot in the user's language, e.g. 'Frühstück', 'Mittagessen', 'Abendessen', 'Snack', as the user's words say it ('gestern Abend' = 'Abendessen'). Entries of the same day and slot join that meal | |
| time | No | Clock time HH:MM as the user named it | |
| loggedAt | No | Exact ISO 8601 timestamp with offset, alternative to date and time | |
| description | Yes | The user's own words about what they ate, unchanged: foods, dishes, amounts, ingredients, what was left out, how it was prepared |