Tool tree
gradeNot graded
get_profileAnswer
Read the shopper's profile: name, delivery address, accessibility needs, diet, delivery preferences, payment on file, and their 'usuals' (item ids they buy every week). Call this first.
View tool JSON
{
"name": "get_profile",
"kind": "answer",
"impl": "imperative",
"description": "Read the shopper's profile: name, delivery address, accessibility needs, diet, delivery preferences, payment on file, and their 'usuals' (item ids they buy every week). Call this first.",
"inputSchema": {
"type": "object",
"properties": {}
}
}search_catalogAnswer
Search the store by words or tags (e.g. 'sore throat', 'low sodium', 'cat') and optional category (grocery, pharmacy, household). Returns id, name, price, unit, tags.
View tool JSON
{
"name": "search_catalog",
"kind": "answer",
"impl": "imperative",
"description": "Search the store by words or tags (e.g. 'sore throat', 'low sodium', 'cat') and optional category (grocery, pharmacy, household). Returns id, name, price, unit, tags.",
"inputSchema": {
"type": "object",
"properties": {
"query": {
"type": "string"
},
"category": {
"type": "string",
"enum": [
"grocery",
"pharmacy",
"household"
]
}
}
}
}add_to_cartAction
Add an item (by id or name) with a quantity. Adds to any existing quantity.
View tool JSON
{
"name": "add_to_cart",
"kind": "act",
"impl": "imperative",
"description": "Add an item (by id or name) with a quantity. Adds to any existing quantity.",
"inputSchema": {
"type": "object",
"properties": {
"item": {
"type": "string"
},
"quantity": {
"type": "integer",
"minimum": 1
}
},
"required": [
"item"
]
}
}set_quantityAction
Set the exact quantity of an item already in the cart (0 removes it).
View tool JSON
{
"name": "set_quantity",
"kind": "act",
"impl": "imperative",
"description": "Set the exact quantity of an item already in the cart (0 removes it).",
"inputSchema": {
"type": "object",
"properties": {
"item": {
"type": "string"
},
"quantity": {
"type": "integer",
"minimum": 0
}
},
"required": [
"item",
"quantity"
]
}
}remove_from_cartAction
Remove an item from the cart.
View tool JSON
{
"name": "remove_from_cart",
"kind": "act",
"impl": "imperative",
"description": "Remove an item from the cart.",
"inputSchema": {
"type": "object",
"properties": {
"item": {
"type": "string"
}
},
"required": [
"item"
]
}
}get_cartAnswer
Read the cart: every line with quantity and price, subtotal, delivery fee, total, and the chosen delivery slot.
View tool JSON
{
"name": "get_cart",
"kind": "answer",
"impl": "imperative",
"description": "Read the cart: every line with quantity and price, subtotal, delivery fee, total, and the chosen delivery slot.",
"inputSchema": {
"type": "object",
"properties": {}
}
}set_delivery_slotAction
Choose a delivery window. Accepts a slot id from list_delivery_slots or plain words like 'Tuesday morning'. Windows are morning (9–11), afternoon (1–3), evening (5–7).
View tool JSON
{
"name": "set_delivery_slot",
"kind": "act",
"impl": "imperative",
"description": "Choose a delivery window. Accepts a slot id from list_delivery_slots or plain words like 'Tuesday morning'. Windows are morning (9–11), afternoon (1–3), evening (5–7).",
"inputSchema": {
"type": "object",
"properties": {
"slot": {
"type": "string"
}
},
"required": [
"slot"
]
}
}list_delivery_slotsAnswer
List the available delivery windows for the next six days.
View tool JSON
{
"name": "list_delivery_slots",
"kind": "answer",
"impl": "imperative",
"description": "List the available delivery windows for the next six days.",
"inputSchema": {
"type": "object",
"properties": {}
}
}confirm_with_personAction
REQUIRED before place_order. Shows the person a large on-screen summary (also read aloud) and waits for them to tap or say Yes or No. Pass a short spoken-style summary: items, total, delivery time. Returns 'confirmed' or 'declined'. Do not place the order if declined; ask what to change.
View tool JSON
{
"name": "confirm_with_person",
"kind": "act",
"impl": "imperative",
"description": "REQUIRED before place_order. Shows the person a large on-screen summary (also read aloud) and waits for them to tap or say Yes or No. Pass a short spoken-style summary: items, total, delivery time. Returns 'confirmed' or 'declined'. Do not place the order if declined; ask what to change.",
"inputSchema": {
"type": "object",
"properties": {
"summary": {
"type": "string"
}
},
"required": [
"summary"
]
}
}place_orderSensitive Action
Place the order for the current cart and delivery slot using the payment on file. Only after confirm_with_person returned 'confirmed'.
View tool JSON
{
"name": "place_order",
"kind": "transact",
"impl": "imperative",
"description": "Place the order for the current cart and delivery slot using the payment on file. Only after confirm_with_person returned 'confirmed'.",
"inputSchema": {
"type": "object",
"properties": {}
}
}get_ordersAnswer
Read recent orders with status (placed, packing, on the way, delivered), items, total and delivery window.
View tool JSON
{
"name": "get_orders",
"kind": "answer",
"impl": "imperative",
"description": "Read recent orders with status (placed, packing, on the way, delivered), items, total and delivery window.",
"inputSchema": {
"type": "object",
"properties": {}
}
}reorder_lastAction
Put everything from the most recent order back into the cart.
View tool JSON
{
"name": "reorder_last",
"kind": "act",
"impl": "imperative",
"description": "Put everything from the most recent order back into the cart.",
"inputSchema": {
"type": "object",
"properties": {}
}
}