Log Food (diary write)
log_foodMUTATES 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) | |
| 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 |
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 |