Tool tree
gradeNot graded
page: Home
describe_staircaseAnswer
Report the measured geometry of the staircase: clear width of the run, the two widths at the turn, headroom under the soffit, and the openings. Says which figures were measured and which are still placeholders, so a verdict is never quoted as firmer than its inputs.
View tool JSON
{
"name": "describe_staircase",
"kind": "answer",
"impl": "imperative",
"description": "Report the measured geometry of the staircase: clear width of the run, the two widths at the turn, headroom under the soffit, and the openings. Says which figures were measured and which are still placeholders, so a verdict is never quoted as firmer than its inputs.",
"inputSchema": {
"type": "object",
"properties": {}
},
"page": "/"
}list_objectsAnswer
List the things available to test against this staircase, with their real dimensions in inches. Includes the couch this house actually failed to move, and standard items such as mattresses and sheet goods whose sizes are published rather than guessed.
View tool JSON
{
"name": "list_objects",
"kind": "answer",
"impl": "imperative",
"description": "List the things available to test against this staircase, with their real dimensions in inches. Includes the couch this house actually failed to move, and standard items such as mattresses and sheet goods whose sizes are published rather than guessed.",
"inputSchema": {
"type": "object",
"properties": {}
},
"page": "/"
}get_current_objectAnswer
Report what is currently on the canvas: which object, its dimensions, where it sits and at what angle. Use this to see what the person at the keyboard has already set up before changing anything.
View tool JSON
{
"name": "get_current_object",
"kind": "answer",
"impl": "imperative",
"description": "Report what is currently on the canvas: which object, its dimensions, where it sits and at what angle. Use this to see what the person at the keyboard has already set up before changing anything.",
"inputSchema": {
"type": "object",
"properties": {}
},
"page": "/"
}check_fitAnswer
Decide whether an object of the given dimensions fits the place on screen. For a staircase, checks the doorway, the straight run and the winder turn, choosing the best orientation and tilt. For a traced room, checks the floor outline, the ceiling and the narrowest gap between walls. Returns which stage fails and by how much. Pass raw inches; all the geometry is done here. Call describe_staircase first to see which it is.
View tool JSON
{
"name": "check_fit",
"kind": "answer",
"impl": "imperative",
"description": "Decide whether an object of the given dimensions fits the place on screen. For a staircase, checks the doorway, the straight run and the winder turn, choosing the best orientation and tilt. For a traced room, checks the floor outline, the ceiling and the narrowest gap between walls. Returns which stage fails and by how much. Pass raw inches; all the geometry is done here. Call describe_staircase first to see which it is.",
"inputSchema": {
"type": "object",
"properties": {
"length_in": {
"type": "number",
"description": "Longest dimension in inches."
},
"depth_in": {
"type": "number",
"description": "Second dimension in inches."
},
"height_in": {
"type": "number",
"description": "Third dimension in inches."
}
},
"required": [
"length_in",
"depth_in",
"height_in"
]
},
"page": "/"
}longest_that_fitsAction
For an object of a given depth, report the longest it could be and still get round the turn, and the angle at which the corner pinches. This is the number that decides whether a piece of furniture is worth buying. If a room is on screen rather than a staircase, reports the longest straight run inside its walls instead.
View tool JSON
{
"name": "longest_that_fits",
"kind": "act",
"impl": "imperative",
"description": "For an object of a given depth, report the longest it could be and still get round the turn, and the angle at which the corner pinches. This is the number that decides whether a piece of furniture is worth buying. If a room is on screen rather than a staircase, reports the longest straight run inside its walls instead.",
"inputSchema": {
"type": "object",
"properties": {
"depth_in": {
"type": "number",
"description": "Depth presented to the corner, in inches."
}
},
"required": [
"depth_in"
]
},
"page": "/"
}list_unknownsAnswer
List the measurements that are still placeholders rather than tape readings, and say why each matters. Call this before presenting a verdict as certain.
View tool JSON
{
"name": "list_unknowns",
"kind": "answer",
"impl": "imperative",
"description": "List the measurements that are still placeholders rather than tape readings, and say why each matters. Call this before presenting a verdict as certain.",
"inputSchema": {
"type": "object",
"properties": {}
},
"page": "/"
}select_objectAction
Put one of the catalogue objects on the canvas. The drawing updates immediately, so the person watching sees the change as you make it.
View tool JSON
{
"name": "select_object",
"kind": "act",
"impl": "imperative",
"description": "Put one of the catalogue objects on the canvas. The drawing updates immediately, so the person watching sees the change as you make it.",
"inputSchema": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Catalogue id from list_objects.",
"enum": [
"the-couch",
"sofa-3seat",
"water-tank",
"mattress-queen",
"mattress-king",
"plywood-sheet",
"door-leaf",
"fridge"
]
}
},
"required": [
"id"
]
},
"page": "/"
}set_dimensionsAction
Put a custom object on the canvas by its measurements, for something not in the catalogue. Give raw inches straight off the tape.
View tool JSON
{
"name": "set_dimensions",
"kind": "act",
"impl": "imperative",
"description": "Put a custom object on the canvas by its measurements, for something not in the catalogue. Give raw inches straight off the tape.",
"inputSchema": {
"type": "object",
"properties": {
"length_in": {
"type": "number",
"description": "Longest dimension in inches."
},
"depth_in": {
"type": "number",
"description": "Second dimension in inches."
},
"height_in": {
"type": "number",
"description": "Third dimension in inches."
},
"label": {
"type": "string",
"description": "What to call it on screen. Optional."
}
},
"required": [
"length_in",
"depth_in",
"height_in"
]
},
"page": "/"
}show_pinchAction
Move the object to the tightest point of the turn and leave it there. For something that does not fit, that is where it jams. For something that does, it is the worst place on the route and shows how little room is left. Use this instead of describing it.
View tool JSON
{
"name": "show_pinch",
"kind": "act",
"impl": "imperative",
"description": "Move the object to the tightest point of the turn and leave it there. For something that does not fit, that is where it jams. For something that does, it is the worst place on the route and shows how little room is left. Use this instead of describing it.",
"inputSchema": {
"type": "object",
"properties": {}
},
"page": "/"
}place_objectAction
Move or rotate the object on the plan by hand, in inches and degrees from the outer corner. For walking through a specific position rather than jumping to the pinch point.
View tool JSON
{
"name": "place_object",
"kind": "act",
"impl": "imperative",
"description": "Move or rotate the object on the plan by hand, in inches and degrees from the outer corner. For walking through a specific position rather than jumping to the pinch point.",
"inputSchema": {
"type": "object",
"properties": {
"x_in": {
"type": "number",
"description": "Centre position along the lower arm, inches."
},
"y_in": {
"type": "number",
"description": "Centre position up the vertical arm, inches."
},
"angle_deg": {
"type": "number",
"description": "Rotation in degrees, 0 is along the lower arm."
}
}
},
"page": "/"
}remove_door_leafAction
Take the door at the top off its hinges, or put it back. Worth about two inches of opening and it clears the swing, which is the first thing any mover tries.
View tool JSON
{
"name": "remove_door_leaf",
"kind": "act",
"impl": "imperative",
"description": "Take the door at the top off its hinges, or put it back. Worth about two inches of opening and it clears the swing, which is the first thing any mover tries.",
"inputSchema": {
"type": "object",
"properties": {
"removed": {
"type": "boolean",
"description": "True to take it off, false to rehang."
}
},
"required": [
"removed"
]
},
"page": "/"
}reset_canvasAction
Put everything back to the starting state: first catalogue object, door rehung.
View tool JSON
{
"name": "reset_canvas",
"kind": "act",
"impl": "imperative",
"description": "Put everything back to the starting state: first catalogue object, door rehung.",
"inputSchema": {
"type": "object",
"properties": {}
},
"page": "/"
}record_measurementAction
Write a tape reading into the staircase model, replacing a placeholder. This changes every verdict the app gives, so the person at the keyboard is asked to confirm it before it takes effect. Only use it for a figure someone has actually measured.
View tool JSON
{
"name": "record_measurement",
"kind": "act",
"impl": "imperative",
"description": "Write a tape reading into the staircase model, replacing a placeholder. This changes every verdict the app gives, so the person at the keyboard is asked to confirm it before it takes effect. Only use it for a figure someone has actually measured.",
"inputSchema": {
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "Which measurement.",
"enum": [
"clearWidth",
"turn.widthA",
"turn.widthB",
"turn.headroom",
"run.rise",
"run.going",
"run.treads",
"turn.treads"
]
},
"inches": {
"type": "number",
"description": "The reading, in inches."
}
},
"required": [
"field",
"inches"
]
},
"page": "/"
}try_without_feetAction
Test the same object with its feet taken off, which is the cheapest way to buy width through a turn. Only offered while something is failing.
View tool JSON
{
"name": "try_without_feet",
"kind": "act",
"impl": "imperative",
"description": "Test the same object with its feet taken off, which is the cheapest way to buy width through a turn. Only offered while something is failing.",
"inputSchema": {
"type": "object",
"properties": {}
},
"page": "/"
}how_short_to_fitAction
Report how much shorter the object would have to be to get round the turn at its current depth. Only offered while something is failing.
View tool JSON
{
"name": "how_short_to_fit",
"kind": "act",
"impl": "imperative",
"description": "Report how much shorter the object would have to be to get round the turn at its current depth. Only offered while something is failing.",
"inputSchema": {
"type": "object",
"properties": {}
},
"page": "/"
}page: Measure
calibration_statusAnswer
Report how far the calibration has got: whether a photo is loaded, how many reference corners are clicked, the reference size, and every reading taken so far.
View tool JSON
{
"name": "calibration_status",
"kind": "answer",
"impl": "imperative",
"description": "Report how far the calibration has got: whether a photo is loaded, how many reference corners are clicked, the reference size, and every reading taken so far.",
"inputSchema": {
"type": "object",
"properties": {}
},
"page": "/measure/"
}set_reference_sizeAction
Set the real width and depth of the thing being used as the calibration reference, in inches. A stair tread, a floor tile, a sheet of paper.
View tool JSON
{
"name": "set_reference_size",
"kind": "act",
"impl": "imperative",
"description": "Set the real width and depth of the thing being used as the calibration reference, in inches. A stair tread, a floor tile, a sheet of paper.",
"inputSchema": {
"type": "object",
"properties": {
"width_in": {
"type": "number",
"description": "Real width of the reference, inches."
},
"depth_in": {
"type": "number",
"description": "Real depth of the reference, inches."
}
},
"required": [
"width_in",
"depth_in"
]
},
"page": "/measure/"
}save_readingAction
File the most recent reading against one of the staircase measurements, so it can be carried over into the planner.
View tool JSON
{
"name": "save_reading",
"kind": "act",
"impl": "imperative",
"description": "File the most recent reading against one of the staircase measurements, so it can be carried over into the planner.",
"inputSchema": {
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "Which measurement.",
"enum": [
"clearWidth",
"turn.widthA",
"turn.widthB",
"turn.headroom"
]
}
},
"required": [
"field"
]
},
"page": "/measure/"
}send_to_plannerSensitive Action
Carry the measured staircase over to Elbow Room so the fit checks run against this house instead of the sample one.
View tool JSON
{
"name": "send_to_planner",
"kind": "transact",
"impl": "imperative",
"description": "Carry the measured staircase over to Elbow Room so the fit checks run against this house instead of the sample one.",
"inputSchema": {
"type": "object",
"properties": {}
},
"page": "/measure/"
}page: Probe
echoAction
Echo a word back. Used to confirm the agent can reach this page at all.
View tool JSON
{
"name": "echo",
"kind": "act",
"impl": "imperative",
"description": "Echo a word back. Used to confirm the agent can reach this page at all.",
"inputSchema": {
"type": "object",
"properties": {
"word": {
"type": "string",
"description": "Any word"
}
},
"required": [
"word"
]
},
"page": "/probe/"
}plain_stringAction
Returns a bare string rather than a content array, to find out which return shape the runtime accepts.
View tool JSON
{
"name": "plain_string",
"kind": "act",
"impl": "imperative",
"description": "Returns a bare string rather than a content array, to find out which return shape the runtime accepts.",
"inputSchema": {
"type": "object",
"properties": {}
},
"page": "/probe/"
}get_stair_geometryAnswer
Read the measured geometry of the basement staircase: clear width, number of winder treads, and headroom at the turn.
View tool JSON
{
"name": "get_stair_geometry",
"kind": "answer",
"impl": "imperative",
"description": "Read the measured geometry of the basement staircase: clear width, number of winder treads, and headroom at the turn.",
"inputSchema": {
"type": "object",
"properties": {}
},
"page": "/probe/"
}check_fitAnswer
Check whether an object of a given length and depth in inches can pass up the staircase.
View tool JSON
{
"name": "check_fit",
"kind": "answer",
"impl": "imperative",
"description": "Check whether an object of a given length and depth in inches can pass up the staircase.",
"inputSchema": {
"type": "object",
"properties": {
"length_in": {
"type": "number",
"description": "Longest dimension, inches"
},
"depth_in": {
"type": "number",
"description": "Depth across the side profile, inches"
}
},
"required": [
"length_in",
"depth_in"
]
},
"page": "/probe/"
}book_deliverySensitive Action
Book a delivery slot. Consequential, so it asks the person at the keyboard to confirm.
View tool JSON
{
"name": "book_delivery",
"kind": "transact",
"impl": "imperative",
"description": "Book a delivery slot. Consequential, so it asks the person at the keyboard to confirm.",
"inputSchema": {
"type": "object",
"properties": {
"day": {
"type": "string",
"description": "Day of the week"
}
},
"required": [
"day"
]
},
"page": "/probe/"
}