Tool tree
gradeNot graded
page: Every page
search_productsAnswer
Search the catalog by keywords, highest price, and stock. Returns product id, slug, price, and the product page path.
View tool JSON
{
"name": "search_products",
"kind": "answer",
"impl": "imperative",
"description": "Search the catalog by keywords, highest price, and stock. Returns product id, slug, price, and the product page path.",
"inputSchema": {
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Words to match against the product name, slug, or description. Omit to list the catalog."
},
"maxPrice": {
"type": "number",
"description": "Highest price in USD to include."
},
"inStockOnly": {
"type": "boolean",
"description": "When true, only products with stock above zero are returned."
}
},
"additionalProperties": false
},
"page": "/signup**"
}get_productAnswer
Load one product by numeric id, URL slug, or name. Returns price, stock, and the product page path.
View tool JSON
{
"name": "get_product",
"kind": "answer",
"impl": "imperative",
"description": "Load one product by numeric id, URL slug, or name. Returns price, stock, and the product page path.",
"inputSchema": {
"type": "object",
"properties": {
"productId": {
"type": "number",
"description": "Numeric product id from search_products."
},
"slug": {
"type": "string",
"description": "Product URL slug, such as wireless-headphones."
},
"name": {
"type": "string",
"description": "Product name. An exact name is preferred when several products share similar words."
}
},
"additionalProperties": false
},
"page": "/signup**"
}get_cartAnswer
Read the current cart, including each line, quantity, and the order total.
View tool JSON
{
"name": "get_cart",
"kind": "answer",
"impl": "imperative",
"description": "Read the current cart, including each line, quantity, and the order total.",
"inputSchema": {
"type": "object",
"properties": {},
"additionalProperties": false
},
"page": "/signup**"
}add_to_cartAction
Add a catalog product to the cart. Identify it by id, slug, or name, and set how many units to add.
View tool JSON
{
"name": "add_to_cart",
"kind": "act",
"impl": "imperative",
"description": "Add a catalog product to the cart. Identify it by id, slug, or name, and set how many units to add.",
"inputSchema": {
"type": "object",
"properties": {
"productId": {
"type": "number",
"description": "Numeric product id from search_products."
},
"slug": {
"type": "string",
"description": "Product URL slug, such as wireless-headphones."
},
"name": {
"type": "string",
"description": "Product name. An exact name is preferred when several products share similar words."
},
"quantity": {
"type": "number",
"description": "How many units to add. Defaults to 1."
}
},
"additionalProperties": false
},
"page": "/signup**"
}set_cart_quantityAction
Set the quantity of a product in the cart. A quantity of 0 removes that product.
View tool JSON
{
"name": "set_cart_quantity",
"kind": "act",
"impl": "imperative",
"description": "Set the quantity of a product in the cart. A quantity of 0 removes that product.",
"inputSchema": {
"type": "object",
"properties": {
"productId": {
"type": "number",
"description": "Numeric product id from search_products."
},
"slug": {
"type": "string",
"description": "Product URL slug, such as wireless-headphones."
},
"name": {
"type": "string",
"description": "Product name. An exact name is preferred when several products share similar words."
},
"quantity": {
"type": "number",
"description": "The new quantity for this product. Use 0 to remove it from the cart."
}
},
"required": [
"quantity"
],
"additionalProperties": false
},
"page": "/signup**"
}clear_cartAction
Remove every item from the shopping cart.
View tool JSON
{
"name": "clear_cart",
"kind": "act",
"impl": "imperative",
"description": "Remove every item from the shopping cart.",
"inputSchema": {
"type": "object",
"properties": {},
"additionalProperties": false
},
"page": "/signup**"
}get_sessionAnswer
Read who is signed in, including username and role.
View tool JSON
{
"name": "get_session",
"kind": "answer",
"impl": "imperative",
"description": "Read who is signed in, including username and role.",
"inputSchema": {
"type": "object",
"properties": {},
"additionalProperties": false
},
"page": "/signup**"
}sign_inAction
Sign in with a username and password, then refresh the shopper session.
View tool JSON
{
"name": "sign_in",
"kind": "act",
"impl": "imperative",
"description": "Sign in with a username and password, then refresh the shopper session.",
"inputSchema": {
"type": "object",
"properties": {
"username": {
"type": "string",
"description": "Account username or email."
},
"password": {
"type": "string",
"description": "Account password."
}
},
"required": [
"username",
"password"
],
"additionalProperties": false
},
"page": "/signup**"
}sign_outAction
Sign out of the current account.
View tool JSON
{
"name": "sign_out",
"kind": "act",
"impl": "imperative",
"description": "Sign out of the current account.",
"inputSchema": {
"type": "object",
"properties": {},
"additionalProperties": false
},
"page": "/signup**"
}create_accountSensitive Action
Create a customer account and sign in. Requires an email, phone number, and a password with 8 characters, one uppercase letter, and one number.
View tool JSON
{
"name": "create_account",
"kind": "transact",
"impl": "imperative",
"description": "Create a customer account and sign in. Requires an email, phone number, and a password with 8 characters, one uppercase letter, and one number.",
"inputSchema": {
"type": "object",
"properties": {
"email": {
"type": "string",
"description": "Email address for the new account."
},
"phone": {
"type": "string",
"description": "Phone number with at least 7 digits."
},
"password": {
"type": "string",
"description": "At least 8 characters, including one uppercase letter and one number."
},
"username": {
"type": "string",
"description": "Optional username. Letters, numbers, underscores, and hyphens only."
}
},
"required": [
"email",
"phone",
"password"
],
"additionalProperties": false
},
"page": "/signup**"
}list_ordersAnswer
List orders placed by the signed-in shopper, newest first.
View tool JSON
{
"name": "list_orders",
"kind": "answer",
"impl": "imperative",
"description": "List orders placed by the signed-in shopper, newest first.",
"inputSchema": {
"type": "object",
"properties": {},
"additionalProperties": false
},
"page": "/signup**"
}get_orderAnswer
Load one order by id, including items, status, total, and shipping details.
View tool JSON
{
"name": "get_order",
"kind": "answer",
"impl": "imperative",
"description": "Load one order by id, including items, status, total, and shipping details.",
"inputSchema": {
"type": "object",
"properties": {
"orderId": {
"type": "number",
"description": "Numeric order id."
}
},
"required": [
"orderId"
],
"additionalProperties": false
},
"page": "/signup**"
}place_orderSensitive Action
Place an order for the current cart with a shipping address and payment card. This completes checkout for the cart.
View tool JSON
{
"name": "place_order",
"kind": "transact",
"impl": "imperative",
"description": "Place an order for the current cart with a shipping address and payment card. This completes checkout for the cart.",
"inputSchema": {
"type": "object",
"properties": {
"firstName": {
"type": "string",
"description": "Shipping first name."
},
"lastName": {
"type": "string",
"description": "Shipping last name."
},
"address": {
"type": "string",
"description": "Shipping street address."
},
"cardNumber": {
"type": "string",
"description": "Card number, with or without spaces. The published QADemo test card is 4242 4242 4242 4242."
},
"expiryDate": {
"type": "string",
"description": "Expiry as MM/YY. A future month is required."
},
"cvv": {
"type": "string",
"description": "3 or 4 digit card security code."
},
"cardholderName": {
"type": "string",
"description": "Name printed on the card."
}
},
"required": [
"firstName",
"lastName",
"address",
"cardNumber",
"expiryDate",
"cvv",
"cardholderName"
],
"additionalProperties": false
},
"page": "/signup**"
}open_pageAction
Open a store page so the shopper can see the current result. Use product with a slug, or order with an orderId.
View tool JSON
{
"name": "open_page",
"kind": "act",
"impl": "imperative",
"description": "Open a store page so the shopper can see the current result. Use product with a slug, or order with an orderId.",
"inputSchema": {
"type": "object",
"properties": {
"page": {
"type": "string",
"enum": [
"home",
"catalog",
"product",
"cart",
"checkout",
"login",
"signup",
"orders",
"order",
"admin"
],
"description": "Store page to open for the shopper."
},
"slug": {
"type": "string",
"description": "Product slug. Required when page is product."
},
"orderId": {
"type": "number",
"description": "Order id. Required when page is order."
}
},
"required": [
"page"
],
"additionalProperties": false
},
"page": "/signup**"
}