Log Food (diary write)
log_foodAdd a food or drink entry to the user's Dayze food diary and calendar. Optionally include meal period, companions, place, amount, and consumed time.
Instructions
MUTATES the authenticated user Food Diary and calendar. Use when they ate or drank — do not store this as a chat memory. Example: “I had Mee Pok for late lunch with my parents” → log_food({ what: "Mee Pok", kind: "meal", meal_period: "late lunch", with: ["my parents"] }). Optional: place/merchant, amount, consumed_at (ISO). Resolves with/Mum/Dad via person aliases; unknown names do not fail the food write. Tags companions on the mirrored event. Rebuilds life_state. Requires API key or OAuth with scope context. Share tokens cannot write. ($0.10; API key required)
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| kind | No | ||
| what | Yes | What they ate or drank (required). Example: Mee Pok | |
| with | No | Companion names, aliases, ids, or group tokens. "my parents" / Mum / Dad resolve via aliases; "family" expands to CRM rows with family relationship labels | |
| notes | No | ||
| place | No | Venue or location | |
| amount | No | Price if mentioned | |
| paid_by | No | Who paid (name or alias) | |
| currency | No | ISO currency, e.g. SGD | |
| merchant | No | Restaurant, stall, or shop | |
| person_ids | No | Owned person UUIDs to tag (user-scoped) | |
| request_id | No | Client idempotency key (retries return original result). | |
| consumed_at | No | ISO 8601 datetime; wins over meal_period | |
| meal_period | No | Spoken period when consumed_at is omitted, e.g. "late lunch" | |
| people_names | No | Alias for with | |
| idempotency_key | No | Alias for request_id. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| food_id | Yes | ||
| message | Yes | ||
| event_id | Yes | ||
| food_log | Yes | Saved Food Diary row. | |
| people_tagged | Yes | ||
| unresolved_people | Yes | ||
| life_state_rebuilt | Yes |