{"ok":true,"site":{"host":"jipsa.dev557938.chatgpt.site","url":"https://jipsa.dev557938.chatgpt.site/","type":"live","desc":"Compare and customize cakes from 20 independent local makers, or let ChatGPT prepare the right order for your confirmation.","tools":[{"name":"search_local_stores","kind":"answer","impl":"imperative","description":"Search and rank nearby custom cake stores against a user's distance, budget, product, and pickup requirements. Returns exact matches, transparent near matches, and a reasoned best match.","title":"Search local stores","annotations":{"readOnlyHint":true,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"category":{"type":"string","enum":["cakes"],"default":"cakes"},"maxDistanceKm":{"type":"number","minimum":0.1,"maximum":50},"maxBudgetKrw":{"type":"integer","minimum":10000},"pickupDate":{"type":"string","description":"Pickup date in YYYY-MM-DD format."},"pickupTime":{"type":"string","pattern":"^([01]\\d|2[0-3]):[0-5]\\d$","description":"Local 24-hour time, for example 16:00."},"servings":{"type":"integer","minimum":1,"maximum":50},"flavor":{"type":"string","maxLength":60},"filling":{"type":"string","maxLength":60},"ingredient":{"type":"string","maxLength":60},"creamColor":{"type":"string","maxLength":40},"letteringRequired":{"type":"boolean"}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"get_store_details","kind":"answer","impl":"imperative","description":"Retrieve complete store capabilities and select that store in the visible marketplace so the human and agent share the same active context.","title":"Get store details","annotations":{"readOnlyHint":false,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"storeId":{"type":"string","minLength":1}},"required":["storeId"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"search_products","kind":"answer","impl":"imperative","description":"Search products across local stores by natural product, flavor, filling, or store terms, optionally within one store.","title":"Search products","annotations":{"readOnlyHint":true,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"query":{"type":"string","maxLength":120},"storeId":{"type":"string","minLength":1}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"get_product_options","kind":"answer","impl":"imperative","description":"Retrieve valid sizes, servings, flavors, fillings, colors, styles, lettering support, extras, and prices for one product before configuration.","title":"Get product options","annotations":{"readOnlyHint":true,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"storeId":{"type":"string","minLength":1},"productId":{"type":"string","minLength":1}},"required":["storeId"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"check_availability","kind":"answer","impl":"imperative","description":"Check a store's exact pickup date and time availability and return nearby alternative slots when the requested time is unavailable.","title":"Check pickup availability","annotations":{"readOnlyHint":true,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"storeId":{"type":"string","minLength":1},"productId":{"type":"string","minLength":1},"pickupDate":{"type":"string"},"pickupTime":{"type":"string","pattern":"^([01]\\d|2[0-3]):[0-5]\\d$","description":"Local 24-hour time, for example 16:00."}},"required":["storeId","pickupDate","pickupTime"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"configure_product","kind":"act","impl":"imperative","description":"Create or partially update the selected product configuration. Unspecified options are preserved, and successful changes immediately update the visible product preview.","title":"Configure product","annotations":{"readOnlyHint":false,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"storeId":{"type":"string","minLength":1},"productId":{"type":"string","minLength":1},"size":{"type":"string"},"servings":{"type":"integer"},"flavor":{"type":"string"},"filling":{"type":"string"},"creamColor":{"type":"string"},"designStyle":{"type":"string"},"lettering":{"type":"string","maxLength":40},"pickupDate":{"type":"string"},"pickupTime":{"type":"string","pattern":"^([01]\\d|2[0-3]):[0-5]\\d$","description":"Local 24-hour time, for example 16:00."},"extras":{"type":"array","items":{"type":"string"},"uniqueItems":true}},"required":["storeId"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"get_quote","kind":"answer","impl":"imperative","description":"Calculate an itemized KRW quote from the current live configuration, including size, filling, lettering, and optional extras.","title":"Get quote","annotations":{"readOnlyHint":true,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"prepare_order","kind":"transact","impl":"imperative","description":"Prepare a final order summary and confirmation token without placing the order. Use this immediately before asking the user for explicit confirmation.","title":"Prepare order","annotations":{"readOnlyHint":false,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"place_order","kind":"transact","impl":"imperative","description":"Place and persist the prepared order only after the user explicitly confirms the exact summary, pickup time, and total. Requires the current confirmation token and confirmed=true.","title":"Place order","annotations":{"readOnlyHint":false,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"confirmationToken":{"type":"string","minLength":1},"confirmed":{"type":"boolean","const":true}},"required":["confirmationToken","confirmed"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"get_order_status","kind":"answer","impl":"imperative","description":"Retrieve the current status and pickup details for an order by its returned order identifier.","title":"Get order status","annotations":{"readOnlyHint":true,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"orderId":{"type":"string","minLength":1}},"required":["orderId"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"}],"category":"Commerce","favicon":"/favicons/jipsa.dev557938.chatgpt.site.png","apiSurface":"spec","toolCount":10}}