Tool tree
gradeNot graded
page: Every page
get_sceneAnswer
Return the current validated Scene; each object includes a derived unit facing vector {x, z} ({x:0,z:1} faces the camera side) and supportedBy, the id of the object it stands on or null.
View tool JSON
{
"name": "get_scene",
"kind": "answer",
"impl": "imperative",
"description": "Return the current validated Scene; each object includes a derived unit facing vector {x, z} ({x:0,z:1} faces the camera side) and supportedBy, the id of the object it stands on or null.",
"inputSchema": {
"type": "object",
"properties": {},
"additionalProperties": false
},
"page": "/"
}get_selectionAnswer
Return the currently selected Scene object, including its derived unit facing vector {x, z} ({x:0,z:1} faces the camera side) and supportedBy, the id of the object it stands on or null.
View tool JSON
{
"name": "get_selection",
"kind": "answer",
"impl": "imperative",
"description": "Return the currently selected Scene object, including its derived unit facing vector {x, z} ({x:0,z:1} faces the camera side) and supportedBy, the id of the object it stands on or null.",
"inputSchema": {
"type": "object",
"properties": {},
"additionalProperties": false
},
"page": "/"
}search_productsAnswer
Search the local product catalog in deterministic order.
View tool JSON
{
"name": "search_products",
"kind": "answer",
"impl": "imperative",
"description": "Search the local product catalog in deterministic order.",
"inputSchema": {
"type": "object",
"properties": {
"category": {
"type": "string",
"enum": [
"sofa",
"coffee_table",
"rug",
"floor_lamp",
"chair",
"plant",
"side_table",
"bookshelf"
]
},
"query": {
"type": "string",
"minLength": 1,
"maxLength": 80,
"pattern": "\\S"
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 3,
"default": 3
}
},
"additionalProperties": false
},
"page": "/"
}replace_objectAction
Replace an explicit or selected Scene object with a catalog product. If the new footprint overlaps furniture or leaves the usable floor, it moves to the nearest open floor position; replacement fails with NO_VALID_PLACEMENT when none exists.
View tool JSON
{
"name": "replace_object",
"kind": "act",
"impl": "imperative",
"description": "Replace an explicit or selected Scene object with a catalog product. If the new footprint overlaps furniture or leaves the usable floor, it moves to the nearest open floor position; replacement fails with NO_VALID_PLACEMENT when none exists.",
"inputSchema": {
"type": "object",
"properties": {
"objectId": {
"type": "string",
"minLength": 1,
"maxLength": 64,
"pattern": "\\S"
},
"productId": {
"type": "string",
"minLength": 1,
"maxLength": 80,
"pattern": "\\S"
},
"expectedRevision": {
"type": "integer",
"minimum": 1
},
"expectedStateVersion": {
"type": "integer",
"minimum": 1
}
},
"required": [
"productId",
"expectedRevision",
"expectedStateVersion"
],
"additionalProperties": false
},
"page": "/"
}move_objectAction
Move an explicit or selected Scene object; orient it with rotationYDegrees or a facing vector {x, z}. The whole footprint stays on the usable floor and moves to the nearest open position instead of overlapping another non-rug object. A lamp moved onto a table is intentionally supported by it: it rises onto the table and comes back reported with supportedBy set to that table's id.
View tool JSON
{
"name": "move_object",
"kind": "act",
"impl": "imperative",
"description": "Move an explicit or selected Scene object; orient it with rotationYDegrees or a facing vector {x, z}. The whole footprint stays on the usable floor and moves to the nearest open position instead of overlapping another non-rug object. A lamp moved onto a table is intentionally supported by it: it rises onto the table and comes back reported with supportedBy set to that table's id.",
"inputSchema": {
"type": "object",
"properties": {
"objectId": {
"type": "string",
"minLength": 1,
"maxLength": 64,
"pattern": "\\S"
},
"position": {
"type": "object",
"properties": {
"x": {
"type": "number",
"minimum": -20,
"maximum": 20
},
"z": {
"type": "number",
"minimum": -20,
"maximum": 20
}
},
"required": [
"x",
"z"
],
"additionalProperties": false
},
"rotationYDegrees": {
"type": "number",
"minimum": -360,
"maximum": 360
},
"facing": {
"type": "object",
"description": "Unit XZ direction the object's front points; {x:0,z:1} faces the camera side (front wall), {x:0,z:-1} faces the back wall. Mutually exclusive with rotationYDegrees.",
"properties": {
"x": {
"type": "number"
},
"z": {
"type": "number"
}
},
"required": [
"x",
"z"
],
"additionalProperties": false
},
"expectedRevision": {
"type": "integer",
"minimum": 1
},
"expectedStateVersion": {
"type": "integer",
"minimum": 1
}
},
"required": [
"position",
"expectedRevision",
"expectedStateVersion"
],
"additionalProperties": false
},
"page": "/"
}add_scene_to_cartAction
Open a local approval draft for product-backed Scene objects. Fails with NO_STORE_CONNECTED when no Shopify store is connected. The draft's required commerce block carries merchandise lines, productLinks for every requested product, a cart permalink when variants are mapped, the store's UCP MCP endpoint (mcpEndpoint) for create_cart/update_cart/get_cart, and agentProfileUrl, the UCP agent profile every call to that endpoint must name.
View tool JSON
{
"name": "add_scene_to_cart",
"kind": "act",
"impl": "imperative",
"description": "Open a local approval draft for product-backed Scene objects. Fails with NO_STORE_CONNECTED when no Shopify store is connected. The draft's required commerce block carries merchandise lines, productLinks for every requested product, a cart permalink when variants are mapped, the store's UCP MCP endpoint (mcpEndpoint) for create_cart/update_cart/get_cart, and agentProfileUrl, the UCP agent profile every call to that endpoint must name.",
"inputSchema": {
"type": "object",
"properties": {
"expectedRevision": {
"type": "integer",
"minimum": 1
},
"expectedStateVersion": {
"type": "integer",
"minimum": 1
},
"objectIds": {
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 64,
"pattern": "\\S"
},
"minItems": 1,
"maxItems": 20,
"uniqueItems": true
}
},
"required": [
"expectedRevision",
"expectedStateVersion"
],
"additionalProperties": false
},
"page": "/"
}