gradeNot graded
get_plan_stateAnswer
Read the bounded measured apartment plan, active layout, brief summary, route points, budget, and validation.
View tool JSON
{
"name": "get_plan_state",
"kind": "answer",
"impl": "imperative",
"description": "Read the bounded measured apartment plan, active layout, brief summary, route points, budget, and validation.",
"inputSchema": {
"type": "object",
"properties": {},
"additionalProperties": false
}
}list_furnitureAnswer
List placed or library furniture with stable IDs, centimetre dimensions, cost, ownership, lock, and estimate status.
View tool JSON
{
"name": "list_furniture",
"kind": "answer",
"impl": "imperative",
"description": "List placed or library furniture with stable IDs, centimetre dimensions, cost, ownership, lock, and estimate status.",
"inputSchema": {
"type": "object",
"properties": {
"scope": {
"type": "string",
"enum": [
"all",
"my-furniture",
"library"
],
"description": "Which furniture collection to list."
},
"query": {
"type": "string",
"maxLength": 80,
"description": "Optional name filter."
}
},
"additionalProperties": false
}
}set_household_briefAction
Apply distilled household and connector context to the visible brief and recompute walking and budget checks.
View tool JSON
{
"name": "set_household_brief",
"kind": "act",
"impl": "imperative",
"description": "Apply distilled household and connector context to the visible brief and recompute walking and budget checks.",
"inputSchema": {
"type": "object",
"properties": {
"residents": {
"type": "string",
"maxLength": 240,
"description": "Who lives in or regularly uses the home."
},
"routines": {
"type": "string",
"maxLength": 320,
"description": "Typical weekly routines that affect placement."
},
"hosting": {
"type": "string",
"maxLength": 240,
"description": "Hosting frequency and party size."
},
"workFromHome": {
"type": "string",
"maxLength": 240,
"description": "Work-from-home needs."
},
"accessibility": {
"type": "string",
"maxLength": 240,
"description": "Accessibility needs and visitors."
},
"mustKeep": {
"type": "array",
"items": {
"type": "string",
"maxLength": 120
},
"maxItems": 8,
"description": "Items or locations to preserve."
},
"minimumWalkingWidth": {
"type": "number",
"minimum": 40,
"maximum": 180,
"description": "Minimum walking width in centimetres."
},
"budget": {
"type": "number",
"minimum": 0,
"maximum": 100000,
"description": "Maximum planned purchase spend in dollars."
},
"notes": {
"type": "string",
"maxLength": 500,
"description": "Other concise planning notes."
},
"sources": {
"type": "array",
"maxItems": 8,
"items": {
"type": "object",
"properties": {
"type": {
"type": "string",
"maxLength": 40
},
"label": {
"type": "string",
"maxLength": 100
}
},
"required": [
"type",
"label"
],
"additionalProperties": false
},
"description": "Small source labels from connector context."
}
},
"required": [
"residents",
"routines",
"hosting",
"workFromHome",
"accessibility",
"mustKeep",
"minimumWalkingWidth",
"budget",
"notes",
"sources"
],
"additionalProperties": false
}
}update_wall_measurementAction
Correct the north exterior wall measurement and adapt the shared plan. Prompt: "Wait, I remeasured the north exterior wall. It is 840 centimetres, not 860. Correct the plan and adapt anything that no longer fits."
View tool JSON
{
"name": "update_wall_measurement",
"kind": "act",
"impl": "imperative",
"description": "Correct the north exterior wall measurement and adapt the shared plan. Prompt: \"Wait, I remeasured the north exterior wall. It is 840 centimetres, not 860. Correct the plan and adapt anything that no longer fits.\"",
"inputSchema": {
"type": "object",
"properties": {
"wallId": {
"type": "string",
"enum": [
"wall-top"
],
"maxLength": 40,
"description": "Stable wall ID; wall-top is the north exterior wall."
},
"lengthCm": {
"type": "number",
"minimum": 760,
"maximum": 960,
"description": "Corrected wall length in centimetres."
}
},
"required": [
"wallId",
"lengthCm"
],
"additionalProperties": false
}
}create_layout_versionAction
Duplicate a named source layout into a new editable version and switch the visible plan to it.
View tool JSON
{
"name": "create_layout_version",
"kind": "act",
"impl": "imperative",
"description": "Duplicate a named source layout into a new editable version and switch the visible plan to it.",
"inputSchema": {
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 60,
"description": "New layout name."
},
"sourceLayoutId": {
"type": "string",
"maxLength": 80,
"description": "Optional stable source layout ID; defaults to the active layout."
}
},
"required": [
"name"
],
"additionalProperties": false
}
}add_furnitureAction
Place a library item or explicit custom furniture in the measured plan using the shared visible action layer.
View tool JSON
{
"name": "add_furniture",
"kind": "act",
"impl": "imperative",
"description": "Place a library item or explicit custom furniture in the measured plan using the shared visible action layer.",
"inputSchema": {
"type": "object",
"properties": {
"catalogueId": {
"type": "string",
"maxLength": 80,
"description": "Stable library item ID."
},
"custom": {
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 80
},
"width": {
"type": "number",
"minimum": 10,
"maximum": 500
},
"depth": {
"type": "number",
"minimum": 10,
"maximum": 500
},
"cost": {
"type": "number",
"minimum": 0,
"maximum": 100000
},
"ownership": {
"type": "string",
"enum": [
"owned",
"buy"
]
}
},
"required": [
"name",
"width",
"depth"
],
"additionalProperties": false,
"description": "Explicit custom item when no catalogue ID is supplied."
},
"position": {
"type": "object",
"properties": {
"x": {
"type": "number"
},
"y": {
"type": "number"
}
},
"required": [
"x",
"y"
],
"additionalProperties": false,
"description": "Centre position in centimetres."
}
},
"required": [],
"additionalProperties": false
}
}update_furnitureAction
Move, rotate, resize custom furniture, confirm estimated dimensions, lock or unlock, or adjust cost by stable ID.
View tool JSON
{
"name": "update_furniture",
"kind": "act",
"impl": "imperative",
"description": "Move, rotate, resize custom furniture, confirm estimated dimensions, lock or unlock, or adjust cost by stable ID.",
"inputSchema": {
"type": "object",
"properties": {
"id": {
"type": "string",
"maxLength": 80,
"description": "Stable placed furniture ID."
},
"position": {
"type": "object",
"properties": {
"x": {
"type": "number"
},
"y": {
"type": "number"
}
},
"required": [
"x",
"y"
],
"additionalProperties": false,
"description": "New centre position in centimetres."
},
"rotation": {
"type": "number",
"minimum": 0,
"maximum": 359,
"description": "New rotation in degrees."
},
"width": {
"type": "number",
"minimum": 10,
"maximum": 500,
"description": "New width; confirmDimensions is required for catalogue items."
},
"depth": {
"type": "number",
"minimum": 10,
"maximum": 500,
"description": "New depth; confirmDimensions is required for catalogue items."
},
"locked": {
"type": "boolean",
"description": "Whether the item should be locked."
},
"cost": {
"type": "number",
"minimum": 0,
"maximum": 100000,
"description": "Purchase cost in dollars."
},
"confirmDimensions": {
"type": "boolean",
"description": "Mark the current or supplied dimensions as confirmed."
}
},
"required": [
"id"
],
"additionalProperties": false
}
}remove_furnitureAction
Remove one unlocked placed furniture item by stable ID; the visible plan keeps the change undoable.
View tool JSON
{
"name": "remove_furniture",
"kind": "act",
"impl": "imperative",
"description": "Remove one unlocked placed furniture item by stable ID; the visible plan keeps the change undoable.",
"inputSchema": {
"type": "object",
"properties": {
"id": {
"type": "string",
"maxLength": 80,
"description": "Stable placed furniture ID."
}
},
"required": [
"id"
],
"additionalProperties": false
}
}set_route_checkAction
Set named start and end points plus a minimum width, then display and recompute the route overlay.
View tool JSON
{
"name": "set_route_check",
"kind": "act",
"impl": "imperative",
"description": "Set named start and end points plus a minimum width, then display and recompute the route overlay.",
"inputSchema": {
"type": "object",
"properties": {
"startId": {
"type": "string",
"maxLength": 40,
"description": "Stable named route point ID."
},
"endId": {
"type": "string",
"maxLength": 40,
"description": "Stable named route point ID."
},
"minimumWidth": {
"type": "number",
"minimum": 40,
"maximum": 180,
"description": "Walking width in centimetres."
}
},
"required": [
"startId",
"endId"
],
"additionalProperties": false
}
}validate_layoutAction
Return deterministic collisions, door-swing conflicts, clearance failures, route result, assumptions, budget, and affected IDs.
View tool JSON
{
"name": "validate_layout",
"kind": "act",
"impl": "imperative",
"description": "Return deterministic collisions, door-swing conflicts, clearance failures, route result, assumptions, budget, and affected IDs.",
"inputSchema": {
"type": "object",
"properties": {},
"additionalProperties": false
}
}compare_layoutsAction
Compare two layout versions by moved, added, and removed items plus validation and budget summaries.
View tool JSON
{
"name": "compare_layouts",
"kind": "act",
"impl": "imperative",
"description": "Compare two layout versions by moved, added, and removed items plus validation and budget summaries.",
"inputSchema": {
"type": "object",
"properties": {
"firstLayoutId": {
"type": "string",
"maxLength": 80,
"description": "First layout ID."
},
"secondLayoutId": {
"type": "string",
"maxLength": 80,
"description": "Second layout ID."
}
},
"required": [
"firstLayoutId",
"secondLayoutId"
],
"additionalProperties": false
}
}set_active_layoutAction
Switch the visible plan to an existing layout version by stable ID.
View tool JSON
{
"name": "set_active_layout",
"kind": "act",
"impl": "imperative",
"description": "Switch the visible plan to an existing layout version by stable ID.",
"inputSchema": {
"type": "object",
"properties": {
"layoutId": {
"type": "string",
"maxLength": 80,
"description": "Layout ID to show."
}
},
"required": [
"layoutId"
],
"additionalProperties": false
}
}