{"ok":true,"site":{"host":"bouquet-studio.chaocode.workers.dev","url":"https://bouquet-studio.chaocode.workers.dev/","type":"live","desc":"Turn your wishes into a bouquet you can see, shape, and confidently order.","tools":[{"name":"search_products","kind":"answer","impl":"imperative","description":"Search the current bouquet catalog. Budget is the maximum bouquet price in USD before shipping. Colors accept common names such as blush, red, blue, white, yellow, or green. Multiple colors and roles must all be present in a result.","title":"Search bouquet products","annotations":{"readOnlyHint":true},"inputSchema":{"type":"object","properties":{"budget":{"type":"number","minimum":0},"colors":{"type":"array","maxItems":5,"uniqueItems":true,"items":{"type":"string","minLength":1}},"flowerRoles":{"type":"array","maxItems":3,"uniqueItems":true,"items":{"type":"string","enum":["main","decorative","foliage"]}},"occasion":{"type":"string","minLength":1},"sort":{"type":"string","enum":["popularity","price_ascending","price_descending"],"default":"popularity"}},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"get_product","kind":"answer","impl":"imperative","description":"Read one catalog product's price, composition, palette, occasions, wrapping, flower meanings, and pet-safety details before comparing, buying, or editing it.","title":"Read bouquet product","annotations":{"readOnlyHint":true},"inputSchema":{"type":"object","properties":{"productId":{"type":"string","description":"A product id returned by search_products, such as blush-crescent."}},"required":["productId"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"compare_products","kind":"act","impl":"imperative","description":"Replace the current comparison shortlist with one to three specified products and open the visual comparison window for the customer. After it opens, call present_results once with target comparison and a concise recommendation before replying to the customer.","title":"Compare bouquet products","inputSchema":{"type":"object","properties":{"productIds":{"type":"array","minItems":1,"maxItems":3,"uniqueItems":true,"items":{"type":"string","description":"A product id returned by search_products, such as blush-crescent."}}},"required":["productIds"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"buy_product","kind":"transact","impl":"imperative","description":"Choose one catalog product and open the demo checkout. This does not place an order or charge payment; final confirmation remains a human action.","title":"Prepare product checkout","inputSchema":{"type":"object","properties":{"productId":{"type":"string","description":"A product id returned by search_products, such as blush-crescent."}},"required":["productId"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"edit_product","kind":"act","impl":"imperative","description":"Open one catalog product in the shared bouquet editor so the customer and agent can customize the same arrangement.","title":"Edit bouquet product","inputSchema":{"type":"object","properties":{"productId":{"type":"string","description":"A product id returned by search_products, such as blush-crescent."}},"required":["productId"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"start_custom_bouquet","kind":"act","impl":"imperative","description":"Open a blank arrangement in the shared bouquet editor. Use the editor's flower catalog and arrangement tools after this page opens.","title":"Start custom bouquet","inputSchema":{"type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"present_results","kind":"act","impl":"imperative","description":"Call exactly once after all related work is complete, immediately before your final response, when the customer should inspect the page. For multiple alternatives, finish and save every alternative first, then call this once. Write the message warmly and naturally in the customer's preferred language, as yourself speaking directly to them—not as a system status or activity log. When target is snapshots, tell the customer that the saved versions are selectable and can be previewed. The message and highlight remain until the customer acknowledges them. Do not call it after each intermediate tool or snapshot.","title":"Present completed work","inputSchema":{"type":"object","properties":{"message":{"type":"string","minLength":1,"maxLength":240,"description":"A concise, conversational message from you to the customer in their preferred language. Sound like a helpful agent speaking directly to them, not a status log."},"target":{"type":"string","enum":["catalog","comparison"],"description":"The completed page area the customer should inspect."}},"required":["message","target"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"}],"category":"Commerce","favicon":"/favicons/bouquet-studio.chaocode.workers.dev.svg","apiSurface":"spec","toolCount":7}}