Tool tree
gradeNot graded
page: Every page
search_dishesAnswer
Search dishes across all OnDex restaurants by name or category (for example 'osh', 'burger', 'coffee'). Returns dish ids that add_to_cart needs. Always search before adding — never invent ids.
View tool JSON
{
"name": "search_dishes",
"kind": "answer",
"impl": "imperative",
"description": "Search dishes across all OnDex restaurants by name or category (for example 'osh', 'burger', 'coffee'). Returns dish ids that add_to_cart needs. Always search before adding — never invent ids.",
"inputSchema": {
"type": "object",
"properties": {
"query": {
"type": "string"
}
},
"required": [
"query"
]
},
"page": "/"
}list_restaurantsAnswer
List OnDex restaurants with open/closed state and ids.
View tool JSON
{
"name": "list_restaurants",
"kind": "answer",
"impl": "imperative",
"description": "List OnDex restaurants with open/closed state and ids.",
"inputSchema": {
"type": "object",
"properties": {}
},
"page": "/"
}open_menuAction
Open a restaurant's menu page on the user's screen and return its dishes. Use a restaurant_id from search_dishes or list_restaurants.
View tool JSON
{
"name": "open_menu",
"kind": "act",
"impl": "imperative",
"description": "Open a restaurant's menu page on the user's screen and return its dishes. Use a restaurant_id from search_dishes or list_restaurants.",
"inputSchema": {
"type": "object",
"properties": {
"restaurant_id": {
"type": "string"
}
},
"required": [
"restaurant_id"
]
},
"page": "/"
}add_to_cartAction
Add a dish to the cart by dish_id. Pass quantity when the user asks for more than one ("add two" means quantity: 2) — it defaults to 1 otherwise. One order = one restaurant: adding a dish from another restaurant clears the cart first. This does NOT place an order.
View tool JSON
{
"name": "add_to_cart",
"kind": "act",
"impl": "imperative",
"description": "Add a dish to the cart by dish_id. Pass quantity when the user asks for more than one (\"add two\" means quantity: 2) — it defaults to 1 otherwise. One order = one restaurant: adding a dish from another restaurant clears the cart first. This does NOT place an order.",
"inputSchema": {
"type": "object",
"properties": {
"dish_id": {
"type": "string"
},
"quantity": {
"type": "integer",
"minimum": 1,
"maximum": 20,
"description": "How many to add. Defaults to 1."
}
},
"required": [
"dish_id"
]
},
"page": "/"
}view_cartAction
Show the current cart with the server-calculated total (delivery included).
View tool JSON
{
"name": "view_cart",
"kind": "act",
"impl": "imperative",
"description": "Show the current cart with the server-calculated total (delivery included).",
"inputSchema": {
"type": "object",
"properties": {}
},
"page": "/"
}open_checkoutAction
Open the checkout page so the user can review and confirm. This does NOT place the order.
View tool JSON
{
"name": "open_checkout",
"kind": "act",
"impl": "imperative",
"description": "Open the checkout page so the user can review and confirm. This does NOT place the order.",
"inputSchema": {
"type": "object",
"properties": {}
},
"page": "/"
}place_orderSensitive Action
Place the order with CASH payment after the user has clearly agreed out loud or in writing. Card payment is never available to the agent — the user pays for card orders themselves. Requires the 'place_order' permission, which is OFF by default.
View tool JSON
{
"name": "place_order",
"kind": "transact",
"impl": "imperative",
"description": "Place the order with CASH payment after the user has clearly agreed out loud or in writing. Card payment is never available to the agent — the user pays for card orders themselves. Requires the 'place_order' permission, which is OFF by default.",
"inputSchema": {
"type": "object",
"properties": {}
},
"page": "/"
}my_ordersAction
List recent orders with restaurant, status and total.
View tool JSON
{
"name": "my_orders",
"kind": "act",
"impl": "imperative",
"description": "List recent orders with restaurant, status and total.",
"inputSchema": {
"type": "object",
"properties": {}
},
"page": "/"
}track_orderAnswer
Open an order page and return its current status.
View tool JSON
{
"name": "track_order",
"kind": "answer",
"impl": "imperative",
"description": "Open an order page and return its current status.",
"inputSchema": {
"type": "object",
"properties": {
"order_id": {
"type": "string"
}
},
"required": [
"order_id"
]
},
"page": "/"
}