Server definition
- Hash
- sha256:b7e1feed2ec09db541cd44f06f99cfe2b62e98f9ea477b568cb0548148cf6c97
- What it is
- What a remote MCP server returned when asked what it offers: 10 tools
The blob, as servednamed by its sha256
{
"instructions": null,
"tools": [
{
"description": "Itera sobre un diseño: aplica un DIFF de cambios sobre unos params base, los RE-VALIDA y devuelve los params nuevos, la vista actualizada (SVG), un resumen de cotización y despiece, y una revisión de factibilidad. Es el loop de refinamiento: proponés un cambio ('más ancho', 'un estante más', 'otro material') y ves el efecto al instante, sin rearmar todo. Pasá baseParams (los params válidos actuales, p.ej. los que devolvió una cotización) y cambios (sólo los campos a modificar). Si los cambios dejan el mueble inválido, la tool falla explicando el motivo. Encadená la salida (params) como baseParams de la próxima llamada. (iterate furniture design, edit parameters, refine, text-to-CAD loop)",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"definitions": {
"__schema0": {
"additionalProperties": false,
"properties": {
"ch": {
"items": {
"additionalProperties": false,
"properties": {
"alto": {
"maximum": 3000,
"minimum": 150,
"type": "number"
},
"colgado": {
"type": "boolean"
},
"f": {
"exclusiveMinimum": 0,
"type": "number"
},
"node": {
"anyOf": [
{
"additionalProperties": false,
"properties": {
"content": {
"oneOf": [
{
"additionalProperties": false,
"properties": {
"c": {
"const": "estantes",
"type": "string"
},
"n": {
"maximum": 12,
"minimum": 1,
"type": "integer"
}
},
"required": [
"c",
"n"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "cajones",
"type": "string"
},
"lock": {
"enum": [
"magnetica",
"llave"
],
"type": "string"
},
"n": {
"maximum": 8,
"minimum": 1,
"type": "integer"
},
"push": {
"type": "boolean"
}
},
"required": [
"c",
"n"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "cajonSecreto",
"type": "string"
}
},
"required": [
"c"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "barral",
"type": "string"
}
},
"required": [
"c"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "botellero",
"type": "string"
}
},
"required": [
"c"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "zapatero",
"type": "string"
},
"n": {
"maximum": 5,
"minimum": 1,
"type": "integer"
}
},
"required": [
"c",
"n"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "vidrio",
"type": "string"
},
"n": {
"maximum": 8,
"minimum": 1,
"type": "integer"
}
},
"required": [
"c",
"n"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "bandeja",
"type": "string"
},
"n": {
"maximum": 6,
"minimum": 1,
"type": "integer"
}
},
"required": [
"c",
"n"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "ranurado",
"type": "string"
},
"n": {
"maximum": 30,
"minimum": 3,
"type": "integer"
}
},
"required": [
"c",
"n"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "hueco",
"type": "string"
}
},
"required": [
"c"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "vacio",
"type": "string"
}
},
"required": [
"c"
],
"type": "object"
}
]
},
"door": {
"enum": [
"izq",
"der",
"doble",
"arriba",
"abajo",
"corrediza"
],
"type": "string"
},
"led": {
"type": "boolean"
},
"lock": {
"enum": [
"magnetica",
"llave"
],
"type": "string"
},
"push": {
"type": "boolean"
}
},
"required": [
"content"
],
"type": "object"
},
{
"$ref": "#/definitions/__schema0"
}
]
},
"prof": {
"maximum": 1200,
"minimum": 80,
"type": "number"
}
},
"required": [
"f",
"node"
],
"type": "object"
},
"maxItems": 8,
"minItems": 2,
"type": "array"
},
"door": {
"enum": [
"izq",
"der",
"doble",
"arriba",
"abajo",
"corrediza"
],
"type": "string"
},
"lock": {
"enum": [
"magnetica",
"llave"
],
"type": "string"
},
"push": {
"type": "boolean"
},
"s": {
"enum": [
"V",
"H"
],
"type": "string"
}
},
"required": [
"s",
"ch"
],
"type": "object"
}
},
"properties": {
"baseParams": {
"description": "Params paramétricos de partida (ya válidos). Ej: los que devolvió construir_mueble. El schema enumera todos los campos por kind. Modular: frontMaterial (mismo espesor que material), softClose, base, colgado, enCuerpos, slidingDoor, glassDoors, overlay y techoPasante (techo al ancho total sobre los laterales; también en shelf y wardrobe). root admite cortes V/H anidados; cada hijo tiene f y, si genera cuerpo, alto/prof/colgado. En cortes H el alto se reparte con f, no con alto. height y depth deben abarcar todos los cuerpos. Cada hoja admite door, lock, push y led; content.c incluye cajonSecreto y cajones con content.lock/content.push. Shelf: shelves:0 deja solo carcasa; openFrame usa bastidor sin fondo. Cama: headboard modular, headboardShelves, drawersPerSide, bunk, bunkHeight, bunkLadderSide, mattressThickness, baseHeight. Sofá/banqueta: seatHeight (sofá), backrestAngle y cushionThickness. Otros tipos exponen sus opciones en el schema. Los avisos explican qué opción se recortó o no se aplicó y cómo corregirla.",
"oneOf": [
{
"additionalProperties": false,
"properties": {
"backPanel": {
"type": "boolean"
},
"depth": {
"exclusiveMinimum": 0,
"type": "number"
},
"height": {
"exclusiveMinimum": 0,
"type": "number"
},
"kind": {
"const": "shelf",
"type": "string"
},
"material": {
"type": "string"
},
"openFrame": {
"type": "boolean"
},
"shelves": {
"maximum": 9007199254740991,
"minimum": 0,
"type": "integer"
},
"techoPasante": {
"type": "boolean"
},
"width": {
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"kind",
"width",
"height",
"depth",
"shelves",
"backPanel",
"material"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"depth": {
"exclusiveMinimum": 0,
"type": "number"
},
"drawers": {
"maximum": 9007199254740991,
"minimum": 0,
"type": "integer"
},
"height": {
"exclusiveMinimum": 0,
"type": "number"
},
"kind": {
"const": "desk",
"type": "string"
},
"material": {
"type": "string"
},
"width": {
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"kind",
"width",
"height",
"depth",
"drawers",
"material"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"depth": {
"exclusiveMinimum": 0,
"type": "number"
},
"doors": {
"maximum": 9007199254740991,
"minimum": 0,
"type": "integer"
},
"height": {
"exclusiveMinimum": 0,
"type": "number"
},
"kind": {
"const": "wardrobe",
"type": "string"
},
"material": {
"type": "string"
},
"rod": {
"type": "boolean"
},
"techoPasante": {
"type": "boolean"
},
"width": {
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"kind",
"width",
"height",
"depth",
"doors",
"rod",
"material"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"depth": {
"exclusiveMinimum": 0,
"type": "number"
},
"height": {
"exclusiveMinimum": 0,
"type": "number"
},
"kind": {
"const": "pergola",
"type": "string"
},
"material": {
"type": "string"
},
"postSize": {
"exclusiveMinimum": 0,
"type": "number"
},
"rafters": {
"maximum": 9007199254740991,
"minimum": 1,
"type": "integer"
},
"slope": {
"maximum": 45,
"minimum": 0,
"type": "number"
},
"width": {
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"kind",
"width",
"depth",
"height",
"rafters",
"postSize",
"slope",
"material"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"boardWidth": {
"exclusiveMinimum": 0,
"type": "number"
},
"depth": {
"exclusiveMinimum": 0,
"type": "number"
},
"gap": {
"minimum": 0,
"type": "number"
},
"joists": {
"maximum": 9007199254740991,
"minimum": 1,
"type": "integer"
},
"kind": {
"const": "deck",
"type": "string"
},
"material": {
"type": "string"
},
"width": {
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"kind",
"width",
"depth",
"boardWidth",
"gap",
"joists",
"material"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"depth": {
"exclusiveMinimum": 0,
"type": "number"
},
"height": {
"exclusiveMinimum": 0,
"type": "number"
},
"kind": {
"const": "table",
"type": "string"
},
"legSize": {
"exclusiveMinimum": 0,
"type": "number"
},
"material": {
"type": "string"
},
"width": {
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"kind",
"width",
"height",
"depth",
"legSize",
"material"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"depth": {
"exclusiveMinimum": 0,
"type": "number"
},
"height": {
"exclusiveMinimum": 0,
"type": "number"
},
"kind": {
"const": "picnic",
"type": "string"
},
"material": {
"type": "string"
},
"seatHeight": {
"exclusiveMinimum": 0,
"type": "number"
},
"tabletopDepth": {
"exclusiveMinimum": 0,
"type": "number"
},
"width": {
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"kind",
"width",
"height",
"depth",
"tabletopDepth",
"seatHeight",
"material"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"baseHeight": {
"exclusiveMinimum": 0,
"type": "number"
},
"bunk": {
"type": "boolean"
},
"bunkHeight": {
"maximum": 1600,
"minimum": 900,
"type": "number"
},
"bunkLadderSide": {
"enum": [
"izq",
"der"
],
"type": "string"
},
"depth": {
"exclusiveMinimum": 0,
"type": "number"
},
"drawersPerSide": {
"maximum": 4,
"minimum": 0,
"type": "integer"
},
"headboard": {
"additionalProperties": false,
"properties": {
"backPanel": {
"type": "boolean"
},
"base": {
"enum": [
"zocalo",
"patas",
"ruedas"
],
"type": "string"
},
"colgado": {
"type": "boolean"
},
"depth": {
"exclusiveMinimum": 0,
"type": "number"
},
"enCuerpos": {
"type": "boolean"
},
"frontMaterial": {
"type": "string"
},
"glassDoors": {
"type": "boolean"
},
"height": {
"exclusiveMinimum": 0,
"type": "number"
},
"kind": {
"const": "modular",
"type": "string"
},
"material": {
"type": "string"
},
"overlay": {
"type": "boolean"
},
"root": {
"anyOf": [
{
"additionalProperties": false,
"properties": {
"content": {
"oneOf": [
{
"additionalProperties": false,
"properties": {
"c": {
"const": "estantes",
"type": "string"
},
"n": {
"maximum": 12,
"minimum": 1,
"type": "integer"
}
},
"required": [
"c",
"n"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "cajones",
"type": "string"
},
"lock": {
"enum": [
"magnetica",
"llave"
],
"type": "string"
},
"n": {
"maximum": 8,
"minimum": 1,
"type": "integer"
},
"push": {
"type": "boolean"
}
},
"required": [
"c",
"n"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "cajonSecreto",
"type": "string"
}
},
"required": [
"c"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "barral",
"type": "string"
}
},
"required": [
"c"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "botellero",
"type": "string"
}
},
"required": [
"c"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "zapatero",
"type": "string"
},
"n": {
"maximum": 5,
"minimum": 1,
"type": "integer"
}
},
"required": [
"c",
"n"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "vidrio",
"type": "string"
},
"n": {
"maximum": 8,
"minimum": 1,
"type": "integer"
}
},
"required": [
"c",
"n"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "bandeja",
"type": "string"
},
"n": {
"maximum": 6,
"minimum": 1,
"type": "integer"
}
},
"required": [
"c",
"n"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "ranurado",
"type": "string"
},
"n": {
"maximum": 30,
"minimum": 3,
"type": "integer"
}
},
"required": [
"c",
"n"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "hueco",
"type": "string"
}
},
"required": [
"c"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "vacio",
"type": "string"
}
},
"required": [
"c"
],
"type": "object"
}
]
},
"door": {
"enum": [
"izq",
"der",
"doble",
"arriba",
"abajo",
"corrediza"
],
"type": "string"
},
"led": {
"type": "boolean"
},
"lock": {
"enum": [
"magnetica",
"llave"
],
"type": "string"
},
"push": {
"type": "boolean"
}
},
"required": [
"content"
],
"type": "object"
},
{
"$ref": "#/definitions/__schema0"
}
]
},
"slidingDoor": {
"enum": [
"full",
"per-column"
],
"type": "string"
},
"softClose": {
"type": "boolean"
},
"techoPasante": {
"type": "boolean"
},
"width": {
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"kind",
"width",
"height",
"depth",
"material",
"backPanel",
"root"
],
"type": "object"
},
"headboardShelves": {
"maximum": 6,
"minimum": 0,
"type": "integer"
},
"height": {
"exclusiveMinimum": 0,
"type": "number"
},
"kind": {
"const": "cama",
"type": "string"
},
"material": {
"type": "string"
},
"mattressThickness": {
"exclusiveMinimum": 0,
"type": "number"
},
"storage": {
"type": "boolean"
},
"width": {
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"kind",
"width",
"height",
"depth",
"storage",
"material"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"arms": {
"type": "boolean"
},
"backrestAngle": {
"maximum": 45,
"minimum": 0,
"type": "number"
},
"cushionThickness": {
"minimum": 0,
"type": "number"
},
"depth": {
"exclusiveMinimum": 0,
"type": "number"
},
"height": {
"exclusiveMinimum": 0,
"type": "number"
},
"kind": {
"const": "sofa",
"type": "string"
},
"material": {
"type": "string"
},
"seatHeight": {
"exclusiveMinimum": 0,
"type": "number"
},
"width": {
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"kind",
"width",
"height",
"depth",
"arms",
"material"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"backrest": {
"type": "boolean"
},
"backrestAngle": {
"maximum": 45,
"minimum": 0,
"type": "number"
},
"cushionThickness": {
"minimum": 0,
"type": "number"
},
"depth": {
"exclusiveMinimum": 0,
"type": "number"
},
"height": {
"exclusiveMinimum": 0,
"type": "number"
},
"kind": {
"const": "banqueta",
"type": "string"
},
"material": {
"type": "string"
},
"width": {
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"kind",
"width",
"height",
"depth",
"backrest",
"material"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"depth": {
"exclusiveMinimum": 0,
"type": "number"
},
"height": {
"exclusiveMinimum": 0,
"type": "number"
},
"kind": {
"const": "espejo",
"type": "string"
},
"material": {
"type": "string"
},
"width": {
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"kind",
"width",
"height",
"depth",
"material"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"depth": {
"exclusiveMinimum": 0,
"type": "number"
},
"height": {
"exclusiveMinimum": 0,
"type": "number"
},
"kind": {
"const": "caja",
"type": "string"
},
"legs": {
"maximum": 900,
"minimum": 0,
"type": "number"
},
"lid": {
"enum": [
"ninguna",
"fija",
"abisagrada"
],
"type": "string"
},
"material": {
"type": "string"
},
"wheels": {
"type": "boolean"
},
"width": {
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"kind",
"width",
"height",
"depth",
"lid",
"wheels",
"material"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"depth": {
"exclusiveMinimum": 0,
"type": "number"
},
"height": {
"exclusiveMinimum": 0,
"type": "number"
},
"kind": {
"const": "cortina",
"type": "string"
},
"material": {
"type": "string"
},
"width": {
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"kind",
"width",
"height",
"depth",
"material"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"depth": {
"exclusiveMinimum": 0,
"type": "number"
},
"height": {
"exclusiveMinimum": 0,
"type": "number"
},
"hojas": {
"maximum": 6,
"minimum": 2,
"type": "integer"
},
"kind": {
"const": "biombo",
"type": "string"
},
"material": {
"type": "string"
},
"relleno": {
"type": "boolean"
},
"width": {
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"kind",
"width",
"height",
"depth",
"hojas",
"relleno",
"material"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"depth": {
"exclusiveMinimum": 0,
"type": "number"
},
"height": {
"exclusiveMinimum": 0,
"type": "number"
},
"kind": {
"const": "invernadero",
"type": "string"
},
"material": {
"type": "string"
},
"puerta": {
"type": "boolean"
},
"shelves": {
"maximum": 9007199254740991,
"minimum": 0,
"type": "integer"
},
"slope": {
"maximum": 45,
"minimum": 0,
"type": "number"
},
"width": {
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"kind",
"width",
"height",
"depth",
"slope",
"shelves",
"puerta",
"material"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"backPanel": {
"type": "boolean"
},
"base": {
"enum": [
"zocalo",
"patas",
"ruedas"
],
"type": "string"
},
"colgado": {
"type": "boolean"
},
"depth": {
"exclusiveMinimum": 0,
"type": "number"
},
"enCuerpos": {
"type": "boolean"
},
"frontMaterial": {
"type": "string"
},
"glassDoors": {
"type": "boolean"
},
"height": {
"exclusiveMinimum": 0,
"type": "number"
},
"kind": {
"const": "modular",
"type": "string"
},
"material": {
"type": "string"
},
"overlay": {
"type": "boolean"
},
"root": {
"anyOf": [
{
"additionalProperties": false,
"properties": {
"content": {
"oneOf": [
{
"additionalProperties": false,
"properties": {
"c": {
"const": "estantes",
"type": "string"
},
"n": {
"maximum": 12,
"minimum": 1,
"type": "integer"
}
},
"required": [
"c",
"n"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "cajones",
"type": "string"
},
"lock": {
"enum": [
"magnetica",
"llave"
],
"type": "string"
},
"n": {
"maximum": 8,
"minimum": 1,
"type": "integer"
},
"push": {
"type": "boolean"
}
},
"required": [
"c",
"n"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "cajonSecreto",
"type": "string"
}
},
"required": [
"c"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "barral",
"type": "string"
}
},
"required": [
"c"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "botellero",
"type": "string"
}
},
"required": [
"c"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "zapatero",
"type": "string"
},
"n": {
"maximum": 5,
"minimum": 1,
"type": "integer"
}
},
"required": [
"c",
"n"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "vidrio",
"type": "string"
},
"n": {
"maximum": 8,
"minimum": 1,
"type": "integer"
}
},
"required": [
"c",
"n"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "bandeja",
"type": "string"
},
"n": {
"maximum": 6,
"minimum": 1,
"type": "integer"
}
},
"required": [
"c",
"n"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "ranurado",
"type": "string"
},
"n": {
"maximum": 30,
"minimum": 3,
"type": "integer"
}
},
"required": [
"c",
"n"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "hueco",
"type": "string"
}
},
"required": [
"c"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "vacio",
"type": "string"
}
},
"required": [
"c"
],
"type": "object"
}
]
},
"door": {
"enum": [
"izq",
"der",
"doble",
"arriba",
"abajo",
"corrediza"
],
"type": "string"
},
"led": {
"type": "boolean"
},
"lock": {
"enum": [
"magnetica",
"llave"
],
"type": "string"
},
"push": {
"type": "boolean"
}
},
"required": [
"content"
],
"type": "object"
},
{
"$ref": "#/definitions/__schema0"
}
]
},
"slidingDoor": {
"enum": [
"full",
"per-column"
],
"type": "string"
},
"softClose": {
"type": "boolean"
},
"techoPasante": {
"type": "boolean"
},
"width": {
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"kind",
"width",
"height",
"depth",
"material",
"backPanel",
"root"
],
"type": "object"
}
]
},
"cambios": {
"additionalProperties": {},
"description": "Diff a aplicar sobre baseParams (merge por campo). Ej: {width: 2400, shelves: 5}. El resultado se re-valida con el esquema; los objetos anidados (root, content, headboard) se reemplazan completos. Si queda inválido, la tool falla con el motivo.",
"propertyNames": {
"type": "string"
},
"type": "object"
}
},
"required": [
"cambios"
],
"type": "object"
},
"name": "ajustar_mueble",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"cotizacion": {
"additionalProperties": false,
"properties": {
"piezas": {
"type": "number"
},
"total_ars": {
"type": "number"
},
"total_formateado": {
"type": "string"
}
},
"required": [
"total_ars",
"total_formateado",
"piezas"
],
"type": "object"
},
"despiece": {
"additionalProperties": false,
"properties": {
"herrajes": {
"type": "number"
},
"piezas": {
"type": "number"
}
},
"required": [
"piezas",
"herrajes"
],
"type": "object"
},
"editor_url": {
"type": "string"
},
"factibilidad": {
"additionalProperties": false,
"properties": {
"editor_url": {
"type": "string"
},
"factible": {
"type": "boolean"
},
"nota": {
"type": "string"
},
"warnings": {
"items": {
"additionalProperties": false,
"properties": {
"mensaje": {
"type": "string"
},
"severidad": {
"type": "string"
},
"tipo": {
"type": "string"
}
},
"required": [
"tipo",
"severidad",
"mensaje"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"factible",
"warnings",
"nota"
],
"type": "object"
},
"medidas_mm": {
"additionalProperties": false,
"properties": {
"alto": {
"type": "number"
},
"ancho": {
"type": "number"
},
"profundidad": {
"type": "number"
}
},
"required": [
"ancho",
"alto",
"profundidad"
],
"type": "object"
},
"nota": {
"type": "string"
}
},
"required": [
"medidas_mm",
"cotizacion",
"despiece",
"factibilidad",
"nota",
"editor_url"
],
"type": "object"
}
},
{
"description": "Busca por NOMBRE entre los muebles armables de Mueblito (los mismos que listar_presets), con stemming en español. Todo lo que devuelve es un mueble fabricable a medida (melamina/MDF) con un link al editor 3D (editor_url). Usala cuando el usuario describe lo que busca ('cama', 'silla comedor', 'placard') para encontrar el/los id y después construir_mueble (recomendado) con ese id. (search parametric furniture presets by name, find buildable furniture Argentina, cut list)",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"consulta": {
"description": "Texto libre en español para buscar en el catálogo. Ejemplos: 'cama', 'silla comedor', 'banqueta de barra'. Soporta variantes morfológicas (plural/singular, acentos). Máximo 200 caracteres.",
"maxLength": 200,
"minLength": 1,
"type": "string"
}
},
"required": [
"consulta"
],
"type": "object"
},
"name": "buscar_catalogo",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"resultados": {
"items": {
"additionalProperties": false,
"properties": {
"ambiente": {
"type": "string"
},
"categoria": {
"type": "string"
},
"editor_url": {
"type": "string"
},
"id": {
"type": "string"
},
"imagen_url": {
"type": "string"
},
"medidas_mm": {
"additionalProperties": false,
"properties": {
"alto": {
"type": "number"
},
"ancho": {
"type": "number"
},
"profundidad": {
"type": "number"
}
},
"required": [
"ancho",
"profundidad",
"alto"
],
"type": "object"
},
"nombre": {
"type": "string"
},
"nota": {
"type": "string"
}
},
"required": [
"id",
"nombre",
"categoria",
"medidas_mm",
"nota",
"ambiente",
"editor_url",
"imagen_url"
],
"type": "object"
},
"type": "array"
},
"total": {
"type": "number"
}
},
"required": [
"resultados",
"total"
],
"type": "object"
}
},
{
"description": "TOOL PRINCIPAL para muebles. Construye un mueble (desde un preset, o a medida con params del motor recursivo) y devuelve LO QUE PIDAS: 'despiece' (piezas + cotización en ARS + factibilidad), 'imagen' (vista 2D frente/lateral/planta), 'modelo3d' (el MODELO 3D en GLB, embebido y listo para renderizar en cualquier visor), y/o 'visor' (link al editor 3D). SIEMPRE devuelve el link a mueblito.ar con el mueble cargado, donde se termina de diseñar, ajustar y cotizar. Para muebles a medida usá params kind='modular' con un árbol 'root' (V=columnas, H=filas de abajo→arriba). (build furniture, generate 3D model GLB, render, cutlist, quote, open in editor, get a 3d model)",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"definitions": {
"__schema0": {
"additionalProperties": false,
"properties": {
"ch": {
"items": {
"additionalProperties": false,
"properties": {
"alto": {
"maximum": 3000,
"minimum": 150,
"type": "number"
},
"colgado": {
"type": "boolean"
},
"f": {
"exclusiveMinimum": 0,
"type": "number"
},
"node": {
"anyOf": [
{
"additionalProperties": false,
"properties": {
"content": {
"oneOf": [
{
"additionalProperties": false,
"properties": {
"c": {
"const": "estantes",
"type": "string"
},
"n": {
"maximum": 12,
"minimum": 1,
"type": "integer"
}
},
"required": [
"c",
"n"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "cajones",
"type": "string"
},
"lock": {
"enum": [
"magnetica",
"llave"
],
"type": "string"
},
"n": {
"maximum": 8,
"minimum": 1,
"type": "integer"
},
"push": {
"type": "boolean"
}
},
"required": [
"c",
"n"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "cajonSecreto",
"type": "string"
}
},
"required": [
"c"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "barral",
"type": "string"
}
},
"required": [
"c"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "botellero",
"type": "string"
}
},
"required": [
"c"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "zapatero",
"type": "string"
},
"n": {
"maximum": 5,
"minimum": 1,
"type": "integer"
}
},
"required": [
"c",
"n"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "vidrio",
"type": "string"
},
"n": {
"maximum": 8,
"minimum": 1,
"type": "integer"
}
},
"required": [
"c",
"n"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "bandeja",
"type": "string"
},
"n": {
"maximum": 6,
"minimum": 1,
"type": "integer"
}
},
"required": [
"c",
"n"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "ranurado",
"type": "string"
},
"n": {
"maximum": 30,
"minimum": 3,
"type": "integer"
}
},
"required": [
"c",
"n"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "hueco",
"type": "string"
}
},
"required": [
"c"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "vacio",
"type": "string"
}
},
"required": [
"c"
],
"type": "object"
}
]
},
"door": {
"enum": [
"izq",
"der",
"doble",
"arriba",
"abajo",
"corrediza"
],
"type": "string"
},
"led": {
"type": "boolean"
},
"lock": {
"enum": [
"magnetica",
"llave"
],
"type": "string"
},
"push": {
"type": "boolean"
}
},
"required": [
"content"
],
"type": "object"
},
{
"$ref": "#/definitions/__schema0"
}
]
},
"prof": {
"maximum": 1200,
"minimum": 80,
"type": "number"
}
},
"required": [
"f",
"node"
],
"type": "object"
},
"maxItems": 8,
"minItems": 2,
"type": "array"
},
"door": {
"enum": [
"izq",
"der",
"doble",
"arriba",
"abajo",
"corrediza"
],
"type": "string"
},
"lock": {
"enum": [
"magnetica",
"llave"
],
"type": "string"
},
"push": {
"type": "boolean"
},
"s": {
"enum": [
"V",
"H"
],
"type": "string"
}
},
"required": [
"s",
"ch"
],
"type": "object"
}
},
"properties": {
"ajustes": {
"additionalProperties": false,
"description": "Ajustes de medidas opcionales, en milímetros, sobre el preset O sobre los params que pases. Sólo los campos que querés sobreescribir. Ej: {ancho_mm: 2400}.",
"properties": {
"alto_mm": {
"exclusiveMinimum": 0,
"type": "number"
},
"ancho_mm": {
"exclusiveMinimum": 0,
"type": "number"
},
"profundidad_mm": {
"exclusiveMinimum": 0,
"type": "number"
}
},
"type": "object"
},
"params": {
"description": "Params a medida (alternativa a 'preset'). Para un mueble modular con el motor recursivo, kind='modular' + un árbol 'root'. El árbol: un nodo es un SPLIT {s:'V'|'H', ch:[{f,node},...]} o una HOJA {content:{c,...}, door?}. s='V' parte en columnas (izq→der); s='H' parte en filas (ABAJO→ARRIBA). f = peso relativo del hijo. content.c ∈ estantes{n}, cajones{n}, barral, zapatero{n}, vidrio{n}, bandeja{n}, botellero, vacio, o 'hueco' para el lugar de un electrodoméstico o de las piernas (si llega al piso, esa celda va sin piso, sin fondo y sin zócalo). door ∈ izq/der/doble/arriba/abajo/corrediza. material p.ej. 'mdf-18mm-blanco'. Ej. cómoda 80cm con puerta arriba y 2 cajones abajo: {kind:'modular',width:800,height:900,depth:450,material:'mdf-18mm-blanco',backPanel:true,base:'zocalo',root:{s:'H',ch:[{f:1,node:{content:{c:'cajones',n:2}}},{f:1,node:{content:{c:'estantes',n:2},door:'der'}}]}}. El mueble puede dejar de ser una caja: 'enCuerpos: true' lo arma en cuerpos separados (uno por columna, cada uno con sus laterales, para poder llevarlo), y cada hijo del corte de la RAÍZ acepta 'alto' y 'prof' propios (mm) y pasa a ser un CUERPO aparte —bajo escalera, escritorio con alzada, bajo mesada con torre—, alineados por atrás. Y 'colgado: true' (en el mueble o en un cuerpo) lo manda a la pared: el kit trae colgadores y riel en vez de patas. El schema enumera todos los campos por kind. Modular: frontMaterial (mismo espesor que material), softClose, base, colgado, enCuerpos, slidingDoor, glassDoors, overlay y techoPasante (techo al ancho total sobre los laterales; también en shelf y wardrobe). root admite cortes V/H anidados; cada hijo tiene f y, si genera cuerpo, alto/prof/colgado. En cortes H el alto se reparte con f, no con alto. height y depth deben abarcar todos los cuerpos. Cada hoja admite door, lock, push y led; content.c incluye cajonSecreto y cajones con content.lock/content.push. Shelf: shelves:0 deja solo carcasa; openFrame usa bastidor sin fondo. Cama: headboard modular, headboardShelves, drawersPerSide, bunk, bunkHeight, bunkLadderSide, mattressThickness, baseHeight. Sofá/banqueta: seatHeight (sofá), backrestAngle y cushionThickness. Otros tipos exponen sus opciones en el schema. Los avisos explican qué opción se recortó o no se aplicó y cómo corregirla.",
"oneOf": [
{
"additionalProperties": false,
"properties": {
"backPanel": {
"type": "boolean"
},
"depth": {
"exclusiveMinimum": 0,
"type": "number"
},
"height": {
"exclusiveMinimum": 0,
"type": "number"
},
"kind": {
"const": "shelf",
"type": "string"
},
"material": {
"type": "string"
},
"openFrame": {
"type": "boolean"
},
"shelves": {
"maximum": 9007199254740991,
"minimum": 0,
"type": "integer"
},
"techoPasante": {
"type": "boolean"
},
"width": {
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"kind",
"width",
"height",
"depth",
"shelves",
"backPanel",
"material"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"depth": {
"exclusiveMinimum": 0,
"type": "number"
},
"drawers": {
"maximum": 9007199254740991,
"minimum": 0,
"type": "integer"
},
"height": {
"exclusiveMinimum": 0,
"type": "number"
},
"kind": {
"const": "desk",
"type": "string"
},
"material": {
"type": "string"
},
"width": {
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"kind",
"width",
"height",
"depth",
"drawers",
"material"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"depth": {
"exclusiveMinimum": 0,
"type": "number"
},
"doors": {
"maximum": 9007199254740991,
"minimum": 0,
"type": "integer"
},
"height": {
"exclusiveMinimum": 0,
"type": "number"
},
"kind": {
"const": "wardrobe",
"type": "string"
},
"material": {
"type": "string"
},
"rod": {
"type": "boolean"
},
"techoPasante": {
"type": "boolean"
},
"width": {
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"kind",
"width",
"height",
"depth",
"doors",
"rod",
"material"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"depth": {
"exclusiveMinimum": 0,
"type": "number"
},
"height": {
"exclusiveMinimum": 0,
"type": "number"
},
"kind": {
"const": "pergola",
"type": "string"
},
"material": {
"type": "string"
},
"postSize": {
"exclusiveMinimum": 0,
"type": "number"
},
"rafters": {
"maximum": 9007199254740991,
"minimum": 1,
"type": "integer"
},
"slope": {
"maximum": 45,
"minimum": 0,
"type": "number"
},
"width": {
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"kind",
"width",
"depth",
"height",
"rafters",
"postSize",
"slope",
"material"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"boardWidth": {
"exclusiveMinimum": 0,
"type": "number"
},
"depth": {
"exclusiveMinimum": 0,
"type": "number"
},
"gap": {
"minimum": 0,
"type": "number"
},
"joists": {
"maximum": 9007199254740991,
"minimum": 1,
"type": "integer"
},
"kind": {
"const": "deck",
"type": "string"
},
"material": {
"type": "string"
},
"width": {
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"kind",
"width",
"depth",
"boardWidth",
"gap",
"joists",
"material"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"depth": {
"exclusiveMinimum": 0,
"type": "number"
},
"height": {
"exclusiveMinimum": 0,
"type": "number"
},
"kind": {
"const": "table",
"type": "string"
},
"legSize": {
"exclusiveMinimum": 0,
"type": "number"
},
"material": {
"type": "string"
},
"width": {
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"kind",
"width",
"height",
"depth",
"legSize",
"material"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"depth": {
"exclusiveMinimum": 0,
"type": "number"
},
"height": {
"exclusiveMinimum": 0,
"type": "number"
},
"kind": {
"const": "picnic",
"type": "string"
},
"material": {
"type": "string"
},
"seatHeight": {
"exclusiveMinimum": 0,
"type": "number"
},
"tabletopDepth": {
"exclusiveMinimum": 0,
"type": "number"
},
"width": {
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"kind",
"width",
"height",
"depth",
"tabletopDepth",
"seatHeight",
"material"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"baseHeight": {
"exclusiveMinimum": 0,
"type": "number"
},
"bunk": {
"type": "boolean"
},
"bunkHeight": {
"maximum": 1600,
"minimum": 900,
"type": "number"
},
"bunkLadderSide": {
"enum": [
"izq",
"der"
],
"type": "string"
},
"depth": {
"exclusiveMinimum": 0,
"type": "number"
},
"drawersPerSide": {
"maximum": 4,
"minimum": 0,
"type": "integer"
},
"headboard": {
"additionalProperties": false,
"properties": {
"backPanel": {
"type": "boolean"
},
"base": {
"enum": [
"zocalo",
"patas",
"ruedas"
],
"type": "string"
},
"colgado": {
"type": "boolean"
},
"depth": {
"exclusiveMinimum": 0,
"type": "number"
},
"enCuerpos": {
"type": "boolean"
},
"frontMaterial": {
"type": "string"
},
"glassDoors": {
"type": "boolean"
},
"height": {
"exclusiveMinimum": 0,
"type": "number"
},
"kind": {
"const": "modular",
"type": "string"
},
"material": {
"type": "string"
},
"overlay": {
"type": "boolean"
},
"root": {
"anyOf": [
{
"additionalProperties": false,
"properties": {
"content": {
"oneOf": [
{
"additionalProperties": false,
"properties": {
"c": {
"const": "estantes",
"type": "string"
},
"n": {
"maximum": 12,
"minimum": 1,
"type": "integer"
}
},
"required": [
"c",
"n"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "cajones",
"type": "string"
},
"lock": {
"enum": [
"magnetica",
"llave"
],
"type": "string"
},
"n": {
"maximum": 8,
"minimum": 1,
"type": "integer"
},
"push": {
"type": "boolean"
}
},
"required": [
"c",
"n"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "cajonSecreto",
"type": "string"
}
},
"required": [
"c"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "barral",
"type": "string"
}
},
"required": [
"c"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "botellero",
"type": "string"
}
},
"required": [
"c"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "zapatero",
"type": "string"
},
"n": {
"maximum": 5,
"minimum": 1,
"type": "integer"
}
},
"required": [
"c",
"n"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "vidrio",
"type": "string"
},
"n": {
"maximum": 8,
"minimum": 1,
"type": "integer"
}
},
"required": [
"c",
"n"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "bandeja",
"type": "string"
},
"n": {
"maximum": 6,
"minimum": 1,
"type": "integer"
}
},
"required": [
"c",
"n"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "ranurado",
"type": "string"
},
"n": {
"maximum": 30,
"minimum": 3,
"type": "integer"
}
},
"required": [
"c",
"n"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "hueco",
"type": "string"
}
},
"required": [
"c"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "vacio",
"type": "string"
}
},
"required": [
"c"
],
"type": "object"
}
]
},
"door": {
"enum": [
"izq",
"der",
"doble",
"arriba",
"abajo",
"corrediza"
],
"type": "string"
},
"led": {
"type": "boolean"
},
"lock": {
"enum": [
"magnetica",
"llave"
],
"type": "string"
},
"push": {
"type": "boolean"
}
},
"required": [
"content"
],
"type": "object"
},
{
"$ref": "#/definitions/__schema0"
}
]
},
"slidingDoor": {
"enum": [
"full",
"per-column"
],
"type": "string"
},
"softClose": {
"type": "boolean"
},
"techoPasante": {
"type": "boolean"
},
"width": {
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"kind",
"width",
"height",
"depth",
"material",
"backPanel",
"root"
],
"type": "object"
},
"headboardShelves": {
"maximum": 6,
"minimum": 0,
"type": "integer"
},
"height": {
"exclusiveMinimum": 0,
"type": "number"
},
"kind": {
"const": "cama",
"type": "string"
},
"material": {
"type": "string"
},
"mattressThickness": {
"exclusiveMinimum": 0,
"type": "number"
},
"storage": {
"type": "boolean"
},
"width": {
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"kind",
"width",
"height",
"depth",
"storage",
"material"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"arms": {
"type": "boolean"
},
"backrestAngle": {
"maximum": 45,
"minimum": 0,
"type": "number"
},
"cushionThickness": {
"minimum": 0,
"type": "number"
},
"depth": {
"exclusiveMinimum": 0,
"type": "number"
},
"height": {
"exclusiveMinimum": 0,
"type": "number"
},
"kind": {
"const": "sofa",
"type": "string"
},
"material": {
"type": "string"
},
"seatHeight": {
"exclusiveMinimum": 0,
"type": "number"
},
"width": {
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"kind",
"width",
"height",
"depth",
"arms",
"material"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"backrest": {
"type": "boolean"
},
"backrestAngle": {
"maximum": 45,
"minimum": 0,
"type": "number"
},
"cushionThickness": {
"minimum": 0,
"type": "number"
},
"depth": {
"exclusiveMinimum": 0,
"type": "number"
},
"height": {
"exclusiveMinimum": 0,
"type": "number"
},
"kind": {
"const": "banqueta",
"type": "string"
},
"material": {
"type": "string"
},
"width": {
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"kind",
"width",
"height",
"depth",
"backrest",
"material"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"depth": {
"exclusiveMinimum": 0,
"type": "number"
},
"height": {
"exclusiveMinimum": 0,
"type": "number"
},
"kind": {
"const": "espejo",
"type": "string"
},
"material": {
"type": "string"
},
"width": {
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"kind",
"width",
"height",
"depth",
"material"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"depth": {
"exclusiveMinimum": 0,
"type": "number"
},
"height": {
"exclusiveMinimum": 0,
"type": "number"
},
"kind": {
"const": "caja",
"type": "string"
},
"legs": {
"maximum": 900,
"minimum": 0,
"type": "number"
},
"lid": {
"enum": [
"ninguna",
"fija",
"abisagrada"
],
"type": "string"
},
"material": {
"type": "string"
},
"wheels": {
"type": "boolean"
},
"width": {
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"kind",
"width",
"height",
"depth",
"lid",
"wheels",
"material"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"depth": {
"exclusiveMinimum": 0,
"type": "number"
},
"height": {
"exclusiveMinimum": 0,
"type": "number"
},
"kind": {
"const": "cortina",
"type": "string"
},
"material": {
"type": "string"
},
"width": {
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"kind",
"width",
"height",
"depth",
"material"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"depth": {
"exclusiveMinimum": 0,
"type": "number"
},
"height": {
"exclusiveMinimum": 0,
"type": "number"
},
"hojas": {
"maximum": 6,
"minimum": 2,
"type": "integer"
},
"kind": {
"const": "biombo",
"type": "string"
},
"material": {
"type": "string"
},
"relleno": {
"type": "boolean"
},
"width": {
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"kind",
"width",
"height",
"depth",
"hojas",
"relleno",
"material"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"depth": {
"exclusiveMinimum": 0,
"type": "number"
},
"height": {
"exclusiveMinimum": 0,
"type": "number"
},
"kind": {
"const": "invernadero",
"type": "string"
},
"material": {
"type": "string"
},
"puerta": {
"type": "boolean"
},
"shelves": {
"maximum": 9007199254740991,
"minimum": 0,
"type": "integer"
},
"slope": {
"maximum": 45,
"minimum": 0,
"type": "number"
},
"width": {
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"kind",
"width",
"height",
"depth",
"slope",
"shelves",
"puerta",
"material"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"backPanel": {
"type": "boolean"
},
"base": {
"enum": [
"zocalo",
"patas",
"ruedas"
],
"type": "string"
},
"colgado": {
"type": "boolean"
},
"depth": {
"exclusiveMinimum": 0,
"type": "number"
},
"enCuerpos": {
"type": "boolean"
},
"frontMaterial": {
"type": "string"
},
"glassDoors": {
"type": "boolean"
},
"height": {
"exclusiveMinimum": 0,
"type": "number"
},
"kind": {
"const": "modular",
"type": "string"
},
"material": {
"type": "string"
},
"overlay": {
"type": "boolean"
},
"root": {
"anyOf": [
{
"additionalProperties": false,
"properties": {
"content": {
"oneOf": [
{
"additionalProperties": false,
"properties": {
"c": {
"const": "estantes",
"type": "string"
},
"n": {
"maximum": 12,
"minimum": 1,
"type": "integer"
}
},
"required": [
"c",
"n"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "cajones",
"type": "string"
},
"lock": {
"enum": [
"magnetica",
"llave"
],
"type": "string"
},
"n": {
"maximum": 8,
"minimum": 1,
"type": "integer"
},
"push": {
"type": "boolean"
}
},
"required": [
"c",
"n"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "cajonSecreto",
"type": "string"
}
},
"required": [
"c"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "barral",
"type": "string"
}
},
"required": [
"c"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "botellero",
"type": "string"
}
},
"required": [
"c"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "zapatero",
"type": "string"
},
"n": {
"maximum": 5,
"minimum": 1,
"type": "integer"
}
},
"required": [
"c",
"n"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "vidrio",
"type": "string"
},
"n": {
"maximum": 8,
"minimum": 1,
"type": "integer"
}
},
"required": [
"c",
"n"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "bandeja",
"type": "string"
},
"n": {
"maximum": 6,
"minimum": 1,
"type": "integer"
}
},
"required": [
"c",
"n"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "ranurado",
"type": "string"
},
"n": {
"maximum": 30,
"minimum": 3,
"type": "integer"
}
},
"required": [
"c",
"n"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "hueco",
"type": "string"
}
},
"required": [
"c"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "vacio",
"type": "string"
}
},
"required": [
"c"
],
"type": "object"
}
]
},
"door": {
"enum": [
"izq",
"der",
"doble",
"arriba",
"abajo",
"corrediza"
],
"type": "string"
},
"led": {
"type": "boolean"
},
"lock": {
"enum": [
"magnetica",
"llave"
],
"type": "string"
},
"push": {
"type": "boolean"
}
},
"required": [
"content"
],
"type": "object"
},
{
"$ref": "#/definitions/__schema0"
}
]
},
"slidingDoor": {
"enum": [
"full",
"per-column"
],
"type": "string"
},
"softClose": {
"type": "boolean"
},
"techoPasante": {
"type": "boolean"
},
"width": {
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"kind",
"width",
"height",
"depth",
"material",
"backPanel",
"root"
],
"type": "object"
}
]
},
"preset": {
"description": "ID del preset del mueble a construir. Requerido si no se pasa 'params'. Ejemplos: 'placard-corredizo', 'biblioteca', 'escritorio-cajonera', 'comoda', 'bajo-mesada'. Usá listar_presets para ver todos los ids disponibles.",
"type": "string"
},
"salida": {
"anyOf": [
{
"enum": [
"despiece",
"imagen",
"modelo3d",
"visor"
],
"type": "string"
},
{
"items": {
"enum": [
"despiece",
"imagen",
"modelo3d",
"visor"
],
"type": "string"
},
"minItems": 1,
"type": "array"
}
],
"description": "Qué devolver (uno o varios): un string o una lista. 'despiece' = piezas+cotización+factibilidad (texto). 'imagen' = vista 2D frente/lateral/planta (SVG). 'modelo3d' = el modelo 3D GLB embebido para renderizar. 'visor' = link al editor 3D en el sitio. Default: ['despiece']. El link al sitio se incluye SIEMPRE."
}
},
"type": "object"
},
"name": "construir_mueble",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"cotizacion": {
"additionalProperties": false,
"properties": {
"piezas": {
"type": "number"
},
"total_ars": {
"type": "number"
},
"total_formateado": {
"type": "string"
}
},
"required": [
"total_ars",
"total_formateado",
"piezas"
],
"type": "object"
},
"editor_url": {
"type": "string"
},
"factibilidad": {
"additionalProperties": false,
"properties": {
"editor_url": {
"type": "string"
},
"factible": {
"type": "boolean"
},
"nota": {
"type": "string"
},
"warnings": {
"items": {
"additionalProperties": false,
"properties": {
"mensaje": {
"type": "string"
},
"severidad": {
"type": "string"
},
"tipo": {
"type": "string"
}
},
"required": [
"tipo",
"severidad",
"mensaje"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"factible",
"warnings",
"nota"
],
"type": "object"
},
"medidas_mm": {
"additionalProperties": false,
"properties": {
"alto": {
"type": "number"
},
"ancho": {
"type": "number"
},
"profundidad": {
"type": "number"
}
},
"required": [
"ancho",
"alto",
"profundidad"
],
"type": "object"
},
"modelo_url": {
"type": "string"
},
"mueble": {
"type": "string"
},
"nota": {
"type": "string"
},
"salida_incluida": {
"items": {
"type": "string"
},
"type": "array"
}
},
"required": [
"mueble",
"medidas_mm",
"salida_incluida",
"editor_url",
"modelo_url",
"nota"
],
"type": "object"
}
},
{
"description": "Calcula el presupuesto de materiales en ARS para fabricar un mueble a medida: placas/melamina, tapacanto, herrajes y servicio de corte en maderera. Devuelve un editor_url para ver el presupuesto por placa y comprar los materiales en el sitio. Tip: para armar + cotizar + modelo 3D en una sola llamada, usá construir_mueble. Usala cuando el usuario quiere saber cuánto sale hacer un mueble en Argentina. Prerrequisito: si no sabés el id del preset, llamá primero a listar_presets; los ids disponibles son los que acepta este campo (ej: 'placard-corredizo', 'biblioteca', 'escritorio-cajonera'). Podés ajustar las medidas del preset con el campo 'ajustes' sin necesidad de pasar todos los params. Limitación: precios ORIENTATIVOS en ARS, sin mano de obra ni instalación. Pueden estar desactualizados: confirmá el importe con la maderera antes de comprar. (quote furniture cost, materials budget Argentina, cut list price ARS)",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"definitions": {
"__schema0": {
"additionalProperties": false,
"properties": {
"ch": {
"items": {
"additionalProperties": false,
"properties": {
"alto": {
"maximum": 3000,
"minimum": 150,
"type": "number"
},
"colgado": {
"type": "boolean"
},
"f": {
"exclusiveMinimum": 0,
"type": "number"
},
"node": {
"anyOf": [
{
"additionalProperties": false,
"properties": {
"content": {
"oneOf": [
{
"additionalProperties": false,
"properties": {
"c": {
"const": "estantes",
"type": "string"
},
"n": {
"maximum": 12,
"minimum": 1,
"type": "integer"
}
},
"required": [
"c",
"n"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "cajones",
"type": "string"
},
"lock": {
"enum": [
"magnetica",
"llave"
],
"type": "string"
},
"n": {
"maximum": 8,
"minimum": 1,
"type": "integer"
},
"push": {
"type": "boolean"
}
},
"required": [
"c",
"n"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "cajonSecreto",
"type": "string"
}
},
"required": [
"c"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "barral",
"type": "string"
}
},
"required": [
"c"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "botellero",
"type": "string"
}
},
"required": [
"c"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "zapatero",
"type": "string"
},
"n": {
"maximum": 5,
"minimum": 1,
"type": "integer"
}
},
"required": [
"c",
"n"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "vidrio",
"type": "string"
},
"n": {
"maximum": 8,
"minimum": 1,
"type": "integer"
}
},
"required": [
"c",
"n"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "bandeja",
"type": "string"
},
"n": {
"maximum": 6,
"minimum": 1,
"type": "integer"
}
},
"required": [
"c",
"n"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "ranurado",
"type": "string"
},
"n": {
"maximum": 30,
"minimum": 3,
"type": "integer"
}
},
"required": [
"c",
"n"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "hueco",
"type": "string"
}
},
"required": [
"c"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "vacio",
"type": "string"
}
},
"required": [
"c"
],
"type": "object"
}
]
},
"door": {
"enum": [
"izq",
"der",
"doble",
"arriba",
"abajo",
"corrediza"
],
"type": "string"
},
"led": {
"type": "boolean"
},
"lock": {
"enum": [
"magnetica",
"llave"
],
"type": "string"
},
"push": {
"type": "boolean"
}
},
"required": [
"content"
],
"type": "object"
},
{
"$ref": "#/definitions/__schema0"
}
]
},
"prof": {
"maximum": 1200,
"minimum": 80,
"type": "number"
}
},
"required": [
"f",
"node"
],
"type": "object"
},
"maxItems": 8,
"minItems": 2,
"type": "array"
},
"door": {
"enum": [
"izq",
"der",
"doble",
"arriba",
"abajo",
"corrediza"
],
"type": "string"
},
"lock": {
"enum": [
"magnetica",
"llave"
],
"type": "string"
},
"push": {
"type": "boolean"
},
"s": {
"enum": [
"V",
"H"
],
"type": "string"
}
},
"required": [
"s",
"ch"
],
"type": "object"
}
},
"properties": {
"ajustes": {
"additionalProperties": false,
"description": "Ajustes de medidas opcionales, en milímetros, sobre el preset O sobre los params que pases. Sólo los campos que querés sobreescribir. Ej: {ancho_mm: 2400}.",
"properties": {
"alto_mm": {
"exclusiveMinimum": 0,
"type": "number"
},
"ancho_mm": {
"exclusiveMinimum": 0,
"type": "number"
},
"profundidad_mm": {
"exclusiveMinimum": 0,
"type": "number"
}
},
"type": "object"
},
"params": {
"description": "Params paramétricos completos del mueble (alternativa a 'preset'). Requerido si no se pasa 'preset'. Debe incluir kind, material y las medidas y opciones requeridas por ese kind; deck no lleva height. El schema enumera todos los campos por kind. Modular: frontMaterial (mismo espesor que material), softClose, base, colgado, enCuerpos, slidingDoor, glassDoors, overlay y techoPasante (techo al ancho total sobre los laterales; también en shelf y wardrobe). root admite cortes V/H anidados; cada hijo tiene f y, si genera cuerpo, alto/prof/colgado. En cortes H el alto se reparte con f, no con alto. height y depth deben abarcar todos los cuerpos. Cada hoja admite door, lock, push y led; content.c incluye cajonSecreto y cajones con content.lock/content.push. Shelf: shelves:0 deja solo carcasa; openFrame usa bastidor sin fondo. Cama: headboard modular, headboardShelves, drawersPerSide, bunk, bunkHeight, bunkLadderSide, mattressThickness, baseHeight. Sofá/banqueta: seatHeight (sofá), backrestAngle y cushionThickness. Otros tipos exponen sus opciones en el schema. Los avisos explican qué opción se recortó o no se aplicó y cómo corregirla.",
"oneOf": [
{
"additionalProperties": false,
"properties": {
"backPanel": {
"type": "boolean"
},
"depth": {
"exclusiveMinimum": 0,
"type": "number"
},
"height": {
"exclusiveMinimum": 0,
"type": "number"
},
"kind": {
"const": "shelf",
"type": "string"
},
"material": {
"type": "string"
},
"openFrame": {
"type": "boolean"
},
"shelves": {
"maximum": 9007199254740991,
"minimum": 0,
"type": "integer"
},
"techoPasante": {
"type": "boolean"
},
"width": {
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"kind",
"width",
"height",
"depth",
"shelves",
"backPanel",
"material"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"depth": {
"exclusiveMinimum": 0,
"type": "number"
},
"drawers": {
"maximum": 9007199254740991,
"minimum": 0,
"type": "integer"
},
"height": {
"exclusiveMinimum": 0,
"type": "number"
},
"kind": {
"const": "desk",
"type": "string"
},
"material": {
"type": "string"
},
"width": {
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"kind",
"width",
"height",
"depth",
"drawers",
"material"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"depth": {
"exclusiveMinimum": 0,
"type": "number"
},
"doors": {
"maximum": 9007199254740991,
"minimum": 0,
"type": "integer"
},
"height": {
"exclusiveMinimum": 0,
"type": "number"
},
"kind": {
"const": "wardrobe",
"type": "string"
},
"material": {
"type": "string"
},
"rod": {
"type": "boolean"
},
"techoPasante": {
"type": "boolean"
},
"width": {
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"kind",
"width",
"height",
"depth",
"doors",
"rod",
"material"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"depth": {
"exclusiveMinimum": 0,
"type": "number"
},
"height": {
"exclusiveMinimum": 0,
"type": "number"
},
"kind": {
"const": "pergola",
"type": "string"
},
"material": {
"type": "string"
},
"postSize": {
"exclusiveMinimum": 0,
"type": "number"
},
"rafters": {
"maximum": 9007199254740991,
"minimum": 1,
"type": "integer"
},
"slope": {
"maximum": 45,
"minimum": 0,
"type": "number"
},
"width": {
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"kind",
"width",
"depth",
"height",
"rafters",
"postSize",
"slope",
"material"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"boardWidth": {
"exclusiveMinimum": 0,
"type": "number"
},
"depth": {
"exclusiveMinimum": 0,
"type": "number"
},
"gap": {
"minimum": 0,
"type": "number"
},
"joists": {
"maximum": 9007199254740991,
"minimum": 1,
"type": "integer"
},
"kind": {
"const": "deck",
"type": "string"
},
"material": {
"type": "string"
},
"width": {
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"kind",
"width",
"depth",
"boardWidth",
"gap",
"joists",
"material"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"depth": {
"exclusiveMinimum": 0,
"type": "number"
},
"height": {
"exclusiveMinimum": 0,
"type": "number"
},
"kind": {
"const": "table",
"type": "string"
},
"legSize": {
"exclusiveMinimum": 0,
"type": "number"
},
"material": {
"type": "string"
},
"width": {
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"kind",
"width",
"height",
"depth",
"legSize",
"material"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"depth": {
"exclusiveMinimum": 0,
"type": "number"
},
"height": {
"exclusiveMinimum": 0,
"type": "number"
},
"kind": {
"const": "picnic",
"type": "string"
},
"material": {
"type": "string"
},
"seatHeight": {
"exclusiveMinimum": 0,
"type": "number"
},
"tabletopDepth": {
"exclusiveMinimum": 0,
"type": "number"
},
"width": {
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"kind",
"width",
"height",
"depth",
"tabletopDepth",
"seatHeight",
"material"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"baseHeight": {
"exclusiveMinimum": 0,
"type": "number"
},
"bunk": {
"type": "boolean"
},
"bunkHeight": {
"maximum": 1600,
"minimum": 900,
"type": "number"
},
"bunkLadderSide": {
"enum": [
"izq",
"der"
],
"type": "string"
},
"depth": {
"exclusiveMinimum": 0,
"type": "number"
},
"drawersPerSide": {
"maximum": 4,
"minimum": 0,
"type": "integer"
},
"headboard": {
"additionalProperties": false,
"properties": {
"backPanel": {
"type": "boolean"
},
"base": {
"enum": [
"zocalo",
"patas",
"ruedas"
],
"type": "string"
},
"colgado": {
"type": "boolean"
},
"depth": {
"exclusiveMinimum": 0,
"type": "number"
},
"enCuerpos": {
"type": "boolean"
},
"frontMaterial": {
"type": "string"
},
"glassDoors": {
"type": "boolean"
},
"height": {
"exclusiveMinimum": 0,
"type": "number"
},
"kind": {
"const": "modular",
"type": "string"
},
"material": {
"type": "string"
},
"overlay": {
"type": "boolean"
},
"root": {
"anyOf": [
{
"additionalProperties": false,
"properties": {
"content": {
"oneOf": [
{
"additionalProperties": false,
"properties": {
"c": {
"const": "estantes",
"type": "string"
},
"n": {
"maximum": 12,
"minimum": 1,
"type": "integer"
}
},
"required": [
"c",
"n"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "cajones",
"type": "string"
},
"lock": {
"enum": [
"magnetica",
"llave"
],
"type": "string"
},
"n": {
"maximum": 8,
"minimum": 1,
"type": "integer"
},
"push": {
"type": "boolean"
}
},
"required": [
"c",
"n"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "cajonSecreto",
"type": "string"
}
},
"required": [
"c"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "barral",
"type": "string"
}
},
"required": [
"c"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "botellero",
"type": "string"
}
},
"required": [
"c"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "zapatero",
"type": "string"
},
"n": {
"maximum": 5,
"minimum": 1,
"type": "integer"
}
},
"required": [
"c",
"n"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "vidrio",
"type": "string"
},
"n": {
"maximum": 8,
"minimum": 1,
"type": "integer"
}
},
"required": [
"c",
"n"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "bandeja",
"type": "string"
},
"n": {
"maximum": 6,
"minimum": 1,
"type": "integer"
}
},
"required": [
"c",
"n"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "ranurado",
"type": "string"
},
"n": {
"maximum": 30,
"minimum": 3,
"type": "integer"
}
},
"required": [
"c",
"n"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "hueco",
"type": "string"
}
},
"required": [
"c"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "vacio",
"type": "string"
}
},
"required": [
"c"
],
"type": "object"
}
]
},
"door": {
"enum": [
"izq",
"der",
"doble",
"arriba",
"abajo",
"corrediza"
],
"type": "string"
},
"led": {
"type": "boolean"
},
"lock": {
"enum": [
"magnetica",
"llave"
],
"type": "string"
},
"push": {
"type": "boolean"
}
},
"required": [
"content"
],
"type": "object"
},
{
"$ref": "#/definitions/__schema0"
}
]
},
"slidingDoor": {
"enum": [
"full",
"per-column"
],
"type": "string"
},
"softClose": {
"type": "boolean"
},
"techoPasante": {
"type": "boolean"
},
"width": {
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"kind",
"width",
"height",
"depth",
"material",
"backPanel",
"root"
],
"type": "object"
},
"headboardShelves": {
"maximum": 6,
"minimum": 0,
"type": "integer"
},
"height": {
"exclusiveMinimum": 0,
"type": "number"
},
"kind": {
"const": "cama",
"type": "string"
},
"material": {
"type": "string"
},
"mattressThickness": {
"exclusiveMinimum": 0,
"type": "number"
},
"storage": {
"type": "boolean"
},
"width": {
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"kind",
"width",
"height",
"depth",
"storage",
"material"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"arms": {
"type": "boolean"
},
"backrestAngle": {
"maximum": 45,
"minimum": 0,
"type": "number"
},
"cushionThickness": {
"minimum": 0,
"type": "number"
},
"depth": {
"exclusiveMinimum": 0,
"type": "number"
},
"height": {
"exclusiveMinimum": 0,
"type": "number"
},
"kind": {
"const": "sofa",
"type": "string"
},
"material": {
"type": "string"
},
"seatHeight": {
"exclusiveMinimum": 0,
"type": "number"
},
"width": {
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"kind",
"width",
"height",
"depth",
"arms",
"material"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"backrest": {
"type": "boolean"
},
"backrestAngle": {
"maximum": 45,
"minimum": 0,
"type": "number"
},
"cushionThickness": {
"minimum": 0,
"type": "number"
},
"depth": {
"exclusiveMinimum": 0,
"type": "number"
},
"height": {
"exclusiveMinimum": 0,
"type": "number"
},
"kind": {
"const": "banqueta",
"type": "string"
},
"material": {
"type": "string"
},
"width": {
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"kind",
"width",
"height",
"depth",
"backrest",
"material"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"depth": {
"exclusiveMinimum": 0,
"type": "number"
},
"height": {
"exclusiveMinimum": 0,
"type": "number"
},
"kind": {
"const": "espejo",
"type": "string"
},
"material": {
"type": "string"
},
"width": {
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"kind",
"width",
"height",
"depth",
"material"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"depth": {
"exclusiveMinimum": 0,
"type": "number"
},
"height": {
"exclusiveMinimum": 0,
"type": "number"
},
"kind": {
"const": "caja",
"type": "string"
},
"legs": {
"maximum": 900,
"minimum": 0,
"type": "number"
},
"lid": {
"enum": [
"ninguna",
"fija",
"abisagrada"
],
"type": "string"
},
"material": {
"type": "string"
},
"wheels": {
"type": "boolean"
},
"width": {
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"kind",
"width",
"height",
"depth",
"lid",
"wheels",
"material"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"depth": {
"exclusiveMinimum": 0,
"type": "number"
},
"height": {
"exclusiveMinimum": 0,
"type": "number"
},
"kind": {
"const": "cortina",
"type": "string"
},
"material": {
"type": "string"
},
"width": {
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"kind",
"width",
"height",
"depth",
"material"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"depth": {
"exclusiveMinimum": 0,
"type": "number"
},
"height": {
"exclusiveMinimum": 0,
"type": "number"
},
"hojas": {
"maximum": 6,
"minimum": 2,
"type": "integer"
},
"kind": {
"const": "biombo",
"type": "string"
},
"material": {
"type": "string"
},
"relleno": {
"type": "boolean"
},
"width": {
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"kind",
"width",
"height",
"depth",
"hojas",
"relleno",
"material"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"depth": {
"exclusiveMinimum": 0,
"type": "number"
},
"height": {
"exclusiveMinimum": 0,
"type": "number"
},
"kind": {
"const": "invernadero",
"type": "string"
},
"material": {
"type": "string"
},
"puerta": {
"type": "boolean"
},
"shelves": {
"maximum": 9007199254740991,
"minimum": 0,
"type": "integer"
},
"slope": {
"maximum": 45,
"minimum": 0,
"type": "number"
},
"width": {
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"kind",
"width",
"height",
"depth",
"slope",
"shelves",
"puerta",
"material"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"backPanel": {
"type": "boolean"
},
"base": {
"enum": [
"zocalo",
"patas",
"ruedas"
],
"type": "string"
},
"colgado": {
"type": "boolean"
},
"depth": {
"exclusiveMinimum": 0,
"type": "number"
},
"enCuerpos": {
"type": "boolean"
},
"frontMaterial": {
"type": "string"
},
"glassDoors": {
"type": "boolean"
},
"height": {
"exclusiveMinimum": 0,
"type": "number"
},
"kind": {
"const": "modular",
"type": "string"
},
"material": {
"type": "string"
},
"overlay": {
"type": "boolean"
},
"root": {
"anyOf": [
{
"additionalProperties": false,
"properties": {
"content": {
"oneOf": [
{
"additionalProperties": false,
"properties": {
"c": {
"const": "estantes",
"type": "string"
},
"n": {
"maximum": 12,
"minimum": 1,
"type": "integer"
}
},
"required": [
"c",
"n"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "cajones",
"type": "string"
},
"lock": {
"enum": [
"magnetica",
"llave"
],
"type": "string"
},
"n": {
"maximum": 8,
"minimum": 1,
"type": "integer"
},
"push": {
"type": "boolean"
}
},
"required": [
"c",
"n"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "cajonSecreto",
"type": "string"
}
},
"required": [
"c"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "barral",
"type": "string"
}
},
"required": [
"c"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "botellero",
"type": "string"
}
},
"required": [
"c"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "zapatero",
"type": "string"
},
"n": {
"maximum": 5,
"minimum": 1,
"type": "integer"
}
},
"required": [
"c",
"n"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "vidrio",
"type": "string"
},
"n": {
"maximum": 8,
"minimum": 1,
"type": "integer"
}
},
"required": [
"c",
"n"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "bandeja",
"type": "string"
},
"n": {
"maximum": 6,
"minimum": 1,
"type": "integer"
}
},
"required": [
"c",
"n"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "ranurado",
"type": "string"
},
"n": {
"maximum": 30,
"minimum": 3,
"type": "integer"
}
},
"required": [
"c",
"n"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "hueco",
"type": "string"
}
},
"required": [
"c"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "vacio",
"type": "string"
}
},
"required": [
"c"
],
"type": "object"
}
]
},
"door": {
"enum": [
"izq",
"der",
"doble",
"arriba",
"abajo",
"corrediza"
],
"type": "string"
},
"led": {
"type": "boolean"
},
"lock": {
"enum": [
"magnetica",
"llave"
],
"type": "string"
},
"push": {
"type": "boolean"
}
},
"required": [
"content"
],
"type": "object"
},
{
"$ref": "#/definitions/__schema0"
}
]
},
"slidingDoor": {
"enum": [
"full",
"per-column"
],
"type": "string"
},
"softClose": {
"type": "boolean"
},
"techoPasante": {
"type": "boolean"
},
"width": {
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"kind",
"width",
"height",
"depth",
"material",
"backPanel",
"root"
],
"type": "object"
}
]
},
"preset": {
"description": "ID del preset del mueble a cotizar. Requerido si no se pasa 'params'. Ejemplos: 'placard-corredizo', 'biblioteca', 'escritorio-cajonera', 'comoda', 'bajo-mesada'. Usá listar_presets para ver todos los ids disponibles.",
"type": "string"
}
},
"type": "object"
},
"name": "cotizar_mueble",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"editor_url": {
"type": "string"
},
"lineas": {
"items": {
"additionalProperties": false,
"properties": {
"cantidad": {
"type": "number"
},
"concepto": {
"type": "string"
},
"precio_unitario_ars": {
"type": "number"
},
"subtotal_ars": {
"type": "number"
},
"url_compra": {
"type": "string"
}
},
"required": [
"concepto",
"cantidad"
],
"type": "object"
},
"type": "array"
},
"medidas_mm": {
"additionalProperties": false,
"properties": {
"alto": {
"type": "number"
},
"ancho": {
"type": "number"
},
"profundidad": {
"type": "number"
}
},
"required": [
"ancho",
"alto",
"profundidad"
],
"type": "object"
},
"mueble": {
"type": "string"
},
"nota": {
"type": "string"
},
"total_ars": {
"type": "number"
},
"total_formateado": {
"type": "string"
}
},
"required": [
"mueble",
"medidas_mm",
"lineas",
"total_ars",
"total_formateado",
"nota",
"editor_url"
],
"type": "object"
}
},
{
"description": "Crea una escena 3D con VARIOS muebles (un ambiente) y devuelve un link editable directo al editor de Mueblito — el link /d/<code> abre el diseño listo para ver en 3D, mover piezas, ajustar medidas y generar presupuesto. Para UN solo mueble preferí construir_mueble; usá crear_diseno cuando hay 2+ muebles o querés armar un ambiente. Usala cuando el usuario quiere visualizar cómo quedarían los muebles en un espacio o compartir un diseño con un carpintero o cliente. Prerrequisito: si no sabés los ids de los presets, llamá primero a listar_presets. Cada mueble se especifica con preset o params; la posición y rotación son opcionales (si no se dan, los muebles se distribuyen en fila automáticamente). Limitación: el link es estático (no se guarda en servidor); no requiere cuenta. (create 3D design, furniture layout, shareable room design, Argentina interior design)",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"definitions": {
"__schema0": {
"additionalProperties": false,
"properties": {
"ch": {
"items": {
"additionalProperties": false,
"properties": {
"alto": {
"maximum": 3000,
"minimum": 150,
"type": "number"
},
"colgado": {
"type": "boolean"
},
"f": {
"exclusiveMinimum": 0,
"type": "number"
},
"node": {
"anyOf": [
{
"additionalProperties": false,
"properties": {
"content": {
"oneOf": [
{
"additionalProperties": false,
"properties": {
"c": {
"const": "estantes",
"type": "string"
},
"n": {
"maximum": 12,
"minimum": 1,
"type": "integer"
}
},
"required": [
"c",
"n"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "cajones",
"type": "string"
},
"lock": {
"enum": [
"magnetica",
"llave"
],
"type": "string"
},
"n": {
"maximum": 8,
"minimum": 1,
"type": "integer"
},
"push": {
"type": "boolean"
}
},
"required": [
"c",
"n"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "cajonSecreto",
"type": "string"
}
},
"required": [
"c"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "barral",
"type": "string"
}
},
"required": [
"c"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "botellero",
"type": "string"
}
},
"required": [
"c"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "zapatero",
"type": "string"
},
"n": {
"maximum": 5,
"minimum": 1,
"type": "integer"
}
},
"required": [
"c",
"n"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "vidrio",
"type": "string"
},
"n": {
"maximum": 8,
"minimum": 1,
"type": "integer"
}
},
"required": [
"c",
"n"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "bandeja",
"type": "string"
},
"n": {
"maximum": 6,
"minimum": 1,
"type": "integer"
}
},
"required": [
"c",
"n"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "ranurado",
"type": "string"
},
"n": {
"maximum": 30,
"minimum": 3,
"type": "integer"
}
},
"required": [
"c",
"n"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "hueco",
"type": "string"
}
},
"required": [
"c"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "vacio",
"type": "string"
}
},
"required": [
"c"
],
"type": "object"
}
]
},
"door": {
"enum": [
"izq",
"der",
"doble",
"arriba",
"abajo",
"corrediza"
],
"type": "string"
},
"led": {
"type": "boolean"
},
"lock": {
"enum": [
"magnetica",
"llave"
],
"type": "string"
},
"push": {
"type": "boolean"
}
},
"required": [
"content"
],
"type": "object"
},
{
"$ref": "#/definitions/__schema0"
}
]
},
"prof": {
"maximum": 1200,
"minimum": 80,
"type": "number"
}
},
"required": [
"f",
"node"
],
"type": "object"
},
"maxItems": 8,
"minItems": 2,
"type": "array"
},
"door": {
"enum": [
"izq",
"der",
"doble",
"arriba",
"abajo",
"corrediza"
],
"type": "string"
},
"lock": {
"enum": [
"magnetica",
"llave"
],
"type": "string"
},
"push": {
"type": "boolean"
},
"s": {
"enum": [
"V",
"H"
],
"type": "string"
}
},
"required": [
"s",
"ch"
],
"type": "object"
}
},
"properties": {
"espacio": {
"additionalProperties": false,
"description": "Dimensiones del espacio: {ancho_mm: 3500, profundidad_mm: 4000}, ambas requeridas, en mm. Si se omite, el espacio se calcula automáticamente.",
"properties": {
"ancho_mm": {
"description": "Ancho del espacio/habitación en milímetros. Ej: 3500 para 3.50 m.",
"exclusiveMinimum": 0,
"type": "number"
},
"profundidad_mm": {
"description": "Profundidad del espacio/habitación en milímetros. Ej: 4000 para 4.00 m.",
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"ancho_mm",
"profundidad_mm"
],
"type": "object"
},
"muebles": {
"description": "Lista de muebles a incluir en el diseño. Mínimo 1, máximo 20.",
"items": {
"additionalProperties": false,
"properties": {
"params": {
"description": "Params paramétricos completos (alternativa a 'preset'). El schema enumera todos los campos por kind. Modular: frontMaterial (mismo espesor que material), softClose, base, colgado, enCuerpos, slidingDoor, glassDoors, overlay y techoPasante (techo al ancho total sobre los laterales; también en shelf y wardrobe). root admite cortes V/H anidados; cada hijo tiene f y, si genera cuerpo, alto/prof/colgado. En cortes H el alto se reparte con f, no con alto. height y depth deben abarcar todos los cuerpos. Cada hoja admite door, lock, push y led; content.c incluye cajonSecreto y cajones con content.lock/content.push. Shelf: shelves:0 deja solo carcasa; openFrame usa bastidor sin fondo. Cama: headboard modular, headboardShelves, drawersPerSide, bunk, bunkHeight, bunkLadderSide, mattressThickness, baseHeight. Sofá/banqueta: seatHeight (sofá), backrestAngle y cushionThickness. Otros tipos exponen sus opciones en el schema. Los avisos explican qué opción se recortó o no se aplicó y cómo corregirla.",
"oneOf": [
{
"additionalProperties": false,
"properties": {
"backPanel": {
"type": "boolean"
},
"depth": {
"exclusiveMinimum": 0,
"type": "number"
},
"height": {
"exclusiveMinimum": 0,
"type": "number"
},
"kind": {
"const": "shelf",
"type": "string"
},
"material": {
"type": "string"
},
"openFrame": {
"type": "boolean"
},
"shelves": {
"maximum": 9007199254740991,
"minimum": 0,
"type": "integer"
},
"techoPasante": {
"type": "boolean"
},
"width": {
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"kind",
"width",
"height",
"depth",
"shelves",
"backPanel",
"material"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"depth": {
"exclusiveMinimum": 0,
"type": "number"
},
"drawers": {
"maximum": 9007199254740991,
"minimum": 0,
"type": "integer"
},
"height": {
"exclusiveMinimum": 0,
"type": "number"
},
"kind": {
"const": "desk",
"type": "string"
},
"material": {
"type": "string"
},
"width": {
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"kind",
"width",
"height",
"depth",
"drawers",
"material"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"depth": {
"exclusiveMinimum": 0,
"type": "number"
},
"doors": {
"maximum": 9007199254740991,
"minimum": 0,
"type": "integer"
},
"height": {
"exclusiveMinimum": 0,
"type": "number"
},
"kind": {
"const": "wardrobe",
"type": "string"
},
"material": {
"type": "string"
},
"rod": {
"type": "boolean"
},
"techoPasante": {
"type": "boolean"
},
"width": {
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"kind",
"width",
"height",
"depth",
"doors",
"rod",
"material"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"depth": {
"exclusiveMinimum": 0,
"type": "number"
},
"height": {
"exclusiveMinimum": 0,
"type": "number"
},
"kind": {
"const": "pergola",
"type": "string"
},
"material": {
"type": "string"
},
"postSize": {
"exclusiveMinimum": 0,
"type": "number"
},
"rafters": {
"maximum": 9007199254740991,
"minimum": 1,
"type": "integer"
},
"slope": {
"maximum": 45,
"minimum": 0,
"type": "number"
},
"width": {
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"kind",
"width",
"depth",
"height",
"rafters",
"postSize",
"slope",
"material"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"boardWidth": {
"exclusiveMinimum": 0,
"type": "number"
},
"depth": {
"exclusiveMinimum": 0,
"type": "number"
},
"gap": {
"minimum": 0,
"type": "number"
},
"joists": {
"maximum": 9007199254740991,
"minimum": 1,
"type": "integer"
},
"kind": {
"const": "deck",
"type": "string"
},
"material": {
"type": "string"
},
"width": {
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"kind",
"width",
"depth",
"boardWidth",
"gap",
"joists",
"material"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"depth": {
"exclusiveMinimum": 0,
"type": "number"
},
"height": {
"exclusiveMinimum": 0,
"type": "number"
},
"kind": {
"const": "table",
"type": "string"
},
"legSize": {
"exclusiveMinimum": 0,
"type": "number"
},
"material": {
"type": "string"
},
"width": {
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"kind",
"width",
"height",
"depth",
"legSize",
"material"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"depth": {
"exclusiveMinimum": 0,
"type": "number"
},
"height": {
"exclusiveMinimum": 0,
"type": "number"
},
"kind": {
"const": "picnic",
"type": "string"
},
"material": {
"type": "string"
},
"seatHeight": {
"exclusiveMinimum": 0,
"type": "number"
},
"tabletopDepth": {
"exclusiveMinimum": 0,
"type": "number"
},
"width": {
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"kind",
"width",
"height",
"depth",
"tabletopDepth",
"seatHeight",
"material"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"baseHeight": {
"exclusiveMinimum": 0,
"type": "number"
},
"bunk": {
"type": "boolean"
},
"bunkHeight": {
"maximum": 1600,
"minimum": 900,
"type": "number"
},
"bunkLadderSide": {
"enum": [
"izq",
"der"
],
"type": "string"
},
"depth": {
"exclusiveMinimum": 0,
"type": "number"
},
"drawersPerSide": {
"maximum": 4,
"minimum": 0,
"type": "integer"
},
"headboard": {
"additionalProperties": false,
"properties": {
"backPanel": {
"type": "boolean"
},
"base": {
"enum": [
"zocalo",
"patas",
"ruedas"
],
"type": "string"
},
"colgado": {
"type": "boolean"
},
"depth": {
"exclusiveMinimum": 0,
"type": "number"
},
"enCuerpos": {
"type": "boolean"
},
"frontMaterial": {
"type": "string"
},
"glassDoors": {
"type": "boolean"
},
"height": {
"exclusiveMinimum": 0,
"type": "number"
},
"kind": {
"const": "modular",
"type": "string"
},
"material": {
"type": "string"
},
"overlay": {
"type": "boolean"
},
"root": {
"anyOf": [
{
"additionalProperties": false,
"properties": {
"content": {
"oneOf": [
{
"additionalProperties": false,
"properties": {
"c": {
"const": "estantes",
"type": "string"
},
"n": {
"maximum": 12,
"minimum": 1,
"type": "integer"
}
},
"required": [
"c",
"n"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "cajones",
"type": "string"
},
"lock": {
"enum": [
"magnetica",
"llave"
],
"type": "string"
},
"n": {
"maximum": 8,
"minimum": 1,
"type": "integer"
},
"push": {
"type": "boolean"
}
},
"required": [
"c",
"n"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "cajonSecreto",
"type": "string"
}
},
"required": [
"c"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "barral",
"type": "string"
}
},
"required": [
"c"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "botellero",
"type": "string"
}
},
"required": [
"c"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "zapatero",
"type": "string"
},
"n": {
"maximum": 5,
"minimum": 1,
"type": "integer"
}
},
"required": [
"c",
"n"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "vidrio",
"type": "string"
},
"n": {
"maximum": 8,
"minimum": 1,
"type": "integer"
}
},
"required": [
"c",
"n"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "bandeja",
"type": "string"
},
"n": {
"maximum": 6,
"minimum": 1,
"type": "integer"
}
},
"required": [
"c",
"n"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "ranurado",
"type": "string"
},
"n": {
"maximum": 30,
"minimum": 3,
"type": "integer"
}
},
"required": [
"c",
"n"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "hueco",
"type": "string"
}
},
"required": [
"c"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "vacio",
"type": "string"
}
},
"required": [
"c"
],
"type": "object"
}
]
},
"door": {
"enum": [
"izq",
"der",
"doble",
"arriba",
"abajo",
"corrediza"
],
"type": "string"
},
"led": {
"type": "boolean"
},
"lock": {
"enum": [
"magnetica",
"llave"
],
"type": "string"
},
"push": {
"type": "boolean"
}
},
"required": [
"content"
],
"type": "object"
},
{
"$ref": "#/definitions/__schema0"
}
]
},
"slidingDoor": {
"enum": [
"full",
"per-column"
],
"type": "string"
},
"softClose": {
"type": "boolean"
},
"techoPasante": {
"type": "boolean"
},
"width": {
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"kind",
"width",
"height",
"depth",
"material",
"backPanel",
"root"
],
"type": "object"
},
"headboardShelves": {
"maximum": 6,
"minimum": 0,
"type": "integer"
},
"height": {
"exclusiveMinimum": 0,
"type": "number"
},
"kind": {
"const": "cama",
"type": "string"
},
"material": {
"type": "string"
},
"mattressThickness": {
"exclusiveMinimum": 0,
"type": "number"
},
"storage": {
"type": "boolean"
},
"width": {
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"kind",
"width",
"height",
"depth",
"storage",
"material"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"arms": {
"type": "boolean"
},
"backrestAngle": {
"maximum": 45,
"minimum": 0,
"type": "number"
},
"cushionThickness": {
"minimum": 0,
"type": "number"
},
"depth": {
"exclusiveMinimum": 0,
"type": "number"
},
"height": {
"exclusiveMinimum": 0,
"type": "number"
},
"kind": {
"const": "sofa",
"type": "string"
},
"material": {
"type": "string"
},
"seatHeight": {
"exclusiveMinimum": 0,
"type": "number"
},
"width": {
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"kind",
"width",
"height",
"depth",
"arms",
"material"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"backrest": {
"type": "boolean"
},
"backrestAngle": {
"maximum": 45,
"minimum": 0,
"type": "number"
},
"cushionThickness": {
"minimum": 0,
"type": "number"
},
"depth": {
"exclusiveMinimum": 0,
"type": "number"
},
"height": {
"exclusiveMinimum": 0,
"type": "number"
},
"kind": {
"const": "banqueta",
"type": "string"
},
"material": {
"type": "string"
},
"width": {
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"kind",
"width",
"height",
"depth",
"backrest",
"material"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"depth": {
"exclusiveMinimum": 0,
"type": "number"
},
"height": {
"exclusiveMinimum": 0,
"type": "number"
},
"kind": {
"const": "espejo",
"type": "string"
},
"material": {
"type": "string"
},
"width": {
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"kind",
"width",
"height",
"depth",
"material"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"depth": {
"exclusiveMinimum": 0,
"type": "number"
},
"height": {
"exclusiveMinimum": 0,
"type": "number"
},
"kind": {
"const": "caja",
"type": "string"
},
"legs": {
"maximum": 900,
"minimum": 0,
"type": "number"
},
"lid": {
"enum": [
"ninguna",
"fija",
"abisagrada"
],
"type": "string"
},
"material": {
"type": "string"
},
"wheels": {
"type": "boolean"
},
"width": {
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"kind",
"width",
"height",
"depth",
"lid",
"wheels",
"material"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"depth": {
"exclusiveMinimum": 0,
"type": "number"
},
"height": {
"exclusiveMinimum": 0,
"type": "number"
},
"kind": {
"const": "cortina",
"type": "string"
},
"material": {
"type": "string"
},
"width": {
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"kind",
"width",
"height",
"depth",
"material"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"depth": {
"exclusiveMinimum": 0,
"type": "number"
},
"height": {
"exclusiveMinimum": 0,
"type": "number"
},
"hojas": {
"maximum": 6,
"minimum": 2,
"type": "integer"
},
"kind": {
"const": "biombo",
"type": "string"
},
"material": {
"type": "string"
},
"relleno": {
"type": "boolean"
},
"width": {
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"kind",
"width",
"height",
"depth",
"hojas",
"relleno",
"material"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"depth": {
"exclusiveMinimum": 0,
"type": "number"
},
"height": {
"exclusiveMinimum": 0,
"type": "number"
},
"kind": {
"const": "invernadero",
"type": "string"
},
"material": {
"type": "string"
},
"puerta": {
"type": "boolean"
},
"shelves": {
"maximum": 9007199254740991,
"minimum": 0,
"type": "integer"
},
"slope": {
"maximum": 45,
"minimum": 0,
"type": "number"
},
"width": {
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"kind",
"width",
"height",
"depth",
"slope",
"shelves",
"puerta",
"material"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"backPanel": {
"type": "boolean"
},
"base": {
"enum": [
"zocalo",
"patas",
"ruedas"
],
"type": "string"
},
"colgado": {
"type": "boolean"
},
"depth": {
"exclusiveMinimum": 0,
"type": "number"
},
"enCuerpos": {
"type": "boolean"
},
"frontMaterial": {
"type": "string"
},
"glassDoors": {
"type": "boolean"
},
"height": {
"exclusiveMinimum": 0,
"type": "number"
},
"kind": {
"const": "modular",
"type": "string"
},
"material": {
"type": "string"
},
"overlay": {
"type": "boolean"
},
"root": {
"anyOf": [
{
"additionalProperties": false,
"properties": {
"content": {
"oneOf": [
{
"additionalProperties": false,
"properties": {
"c": {
"const": "estantes",
"type": "string"
},
"n": {
"maximum": 12,
"minimum": 1,
"type": "integer"
}
},
"required": [
"c",
"n"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "cajones",
"type": "string"
},
"lock": {
"enum": [
"magnetica",
"llave"
],
"type": "string"
},
"n": {
"maximum": 8,
"minimum": 1,
"type": "integer"
},
"push": {
"type": "boolean"
}
},
"required": [
"c",
"n"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "cajonSecreto",
"type": "string"
}
},
"required": [
"c"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "barral",
"type": "string"
}
},
"required": [
"c"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "botellero",
"type": "string"
}
},
"required": [
"c"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "zapatero",
"type": "string"
},
"n": {
"maximum": 5,
"minimum": 1,
"type": "integer"
}
},
"required": [
"c",
"n"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "vidrio",
"type": "string"
},
"n": {
"maximum": 8,
"minimum": 1,
"type": "integer"
}
},
"required": [
"c",
"n"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "bandeja",
"type": "string"
},
"n": {
"maximum": 6,
"minimum": 1,
"type": "integer"
}
},
"required": [
"c",
"n"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "ranurado",
"type": "string"
},
"n": {
"maximum": 30,
"minimum": 3,
"type": "integer"
}
},
"required": [
"c",
"n"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "hueco",
"type": "string"
}
},
"required": [
"c"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "vacio",
"type": "string"
}
},
"required": [
"c"
],
"type": "object"
}
]
},
"door": {
"enum": [
"izq",
"der",
"doble",
"arriba",
"abajo",
"corrediza"
],
"type": "string"
},
"led": {
"type": "boolean"
},
"lock": {
"enum": [
"magnetica",
"llave"
],
"type": "string"
},
"push": {
"type": "boolean"
}
},
"required": [
"content"
],
"type": "object"
},
{
"$ref": "#/definitions/__schema0"
}
]
},
"slidingDoor": {
"enum": [
"full",
"per-column"
],
"type": "string"
},
"softClose": {
"type": "boolean"
},
"techoPasante": {
"type": "boolean"
},
"width": {
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"kind",
"width",
"height",
"depth",
"material",
"backPanel",
"root"
],
"type": "object"
}
]
},
"posicion_mm": {
"additionalProperties": false,
"description": "Posición del mueble en planta (mm). Si se omite, se distribuye automáticamente en fila.",
"properties": {
"x": {
"description": "Posición X en planta, en milímetros.",
"type": "number"
},
"z": {
"description": "Posición Z en planta, en milímetros.",
"type": "number"
}
},
"required": [
"x",
"z"
],
"type": "object"
},
"preset": {
"description": "ID del preset del mueble. Usá listar_presets para ver los disponibles. Requerido si no se pasa 'params'.",
"type": "string"
},
"rotacion_grados": {
"description": "Rotación horizontal del mueble en grados (0 = frente al sur, 90 = lateral). Default: 0.",
"type": "number"
}
},
"type": "object"
},
"maxItems": 20,
"minItems": 1,
"type": "array"
}
},
"required": [
"muebles"
],
"type": "object"
},
"name": "crear_diseno",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"espacio_mm": {
"additionalProperties": false,
"properties": {
"ancho": {
"type": "number"
},
"profundidad": {
"type": "number"
}
},
"required": [
"ancho",
"profundidad"
],
"type": "object"
},
"muebles_incluidos": {
"items": {
"type": "string"
},
"type": "array"
},
"nota": {
"type": "string"
},
"previews": {
"items": {
"additionalProperties": false,
"properties": {
"nombre": {
"type": "string"
}
},
"required": [
"nombre"
],
"type": "object"
},
"type": "array"
},
"url": {
"type": "string"
}
},
"required": [
"url",
"muebles_incluidos",
"previews",
"nota"
],
"type": "object"
}
},
{
"description": "Genera la lista completa de piezas de corte y herrajes para fabricar un mueble: cada pieza con largo, ancho y espesor en mm, material, tapacanto frontal, más una tabla ASCII lista para copiar o enviar a la maderera. Usala cuando el usuario necesita la planilla de cortes para llevar a una maderera, o quiere verificar qué componentes tiene el mueble. Acepta los mismos args que cotizar_mueble: preset o params más ajustes opcionales — si no sabés el id del preset, llamá primero a listar_presets. Limitación: medidas netas de corte en mm; para calcular el consumo de placas hay que sumar kerf de 3-4 mm entre piezas (el editor de Mueblito lo hace con MaxRects). (cut list furniture, wood pieces breakdown, maderera Argentina, CNC cut plan)",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"definitions": {
"__schema0": {
"additionalProperties": false,
"properties": {
"ch": {
"items": {
"additionalProperties": false,
"properties": {
"alto": {
"maximum": 3000,
"minimum": 150,
"type": "number"
},
"colgado": {
"type": "boolean"
},
"f": {
"exclusiveMinimum": 0,
"type": "number"
},
"node": {
"anyOf": [
{
"additionalProperties": false,
"properties": {
"content": {
"oneOf": [
{
"additionalProperties": false,
"properties": {
"c": {
"const": "estantes",
"type": "string"
},
"n": {
"maximum": 12,
"minimum": 1,
"type": "integer"
}
},
"required": [
"c",
"n"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "cajones",
"type": "string"
},
"lock": {
"enum": [
"magnetica",
"llave"
],
"type": "string"
},
"n": {
"maximum": 8,
"minimum": 1,
"type": "integer"
},
"push": {
"type": "boolean"
}
},
"required": [
"c",
"n"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "cajonSecreto",
"type": "string"
}
},
"required": [
"c"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "barral",
"type": "string"
}
},
"required": [
"c"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "botellero",
"type": "string"
}
},
"required": [
"c"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "zapatero",
"type": "string"
},
"n": {
"maximum": 5,
"minimum": 1,
"type": "integer"
}
},
"required": [
"c",
"n"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "vidrio",
"type": "string"
},
"n": {
"maximum": 8,
"minimum": 1,
"type": "integer"
}
},
"required": [
"c",
"n"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "bandeja",
"type": "string"
},
"n": {
"maximum": 6,
"minimum": 1,
"type": "integer"
}
},
"required": [
"c",
"n"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "ranurado",
"type": "string"
},
"n": {
"maximum": 30,
"minimum": 3,
"type": "integer"
}
},
"required": [
"c",
"n"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "hueco",
"type": "string"
}
},
"required": [
"c"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "vacio",
"type": "string"
}
},
"required": [
"c"
],
"type": "object"
}
]
},
"door": {
"enum": [
"izq",
"der",
"doble",
"arriba",
"abajo",
"corrediza"
],
"type": "string"
},
"led": {
"type": "boolean"
},
"lock": {
"enum": [
"magnetica",
"llave"
],
"type": "string"
},
"push": {
"type": "boolean"
}
},
"required": [
"content"
],
"type": "object"
},
{
"$ref": "#/definitions/__schema0"
}
]
},
"prof": {
"maximum": 1200,
"minimum": 80,
"type": "number"
}
},
"required": [
"f",
"node"
],
"type": "object"
},
"maxItems": 8,
"minItems": 2,
"type": "array"
},
"door": {
"enum": [
"izq",
"der",
"doble",
"arriba",
"abajo",
"corrediza"
],
"type": "string"
},
"lock": {
"enum": [
"magnetica",
"llave"
],
"type": "string"
},
"push": {
"type": "boolean"
},
"s": {
"enum": [
"V",
"H"
],
"type": "string"
}
},
"required": [
"s",
"ch"
],
"type": "object"
}
},
"properties": {
"ajustes": {
"additionalProperties": false,
"description": "Ajustes de medidas opcionales, en milímetros, sobre el preset O sobre los params que pases. Sólo los campos que querés sobreescribir. Ej: {ancho_mm: 2400}.",
"properties": {
"alto_mm": {
"exclusiveMinimum": 0,
"type": "number"
},
"ancho_mm": {
"exclusiveMinimum": 0,
"type": "number"
},
"profundidad_mm": {
"exclusiveMinimum": 0,
"type": "number"
}
},
"type": "object"
},
"params": {
"description": "Params paramétricos completos del mueble (alternativa a 'preset'). Requerido si no se pasa 'preset'. Debe incluir kind, material y las medidas y opciones requeridas por ese kind; deck no lleva height. El schema enumera todos los campos por kind. Modular: frontMaterial (mismo espesor que material), softClose, base, colgado, enCuerpos, slidingDoor, glassDoors, overlay y techoPasante (techo al ancho total sobre los laterales; también en shelf y wardrobe). root admite cortes V/H anidados; cada hijo tiene f y, si genera cuerpo, alto/prof/colgado. En cortes H el alto se reparte con f, no con alto. height y depth deben abarcar todos los cuerpos. Cada hoja admite door, lock, push y led; content.c incluye cajonSecreto y cajones con content.lock/content.push. Shelf: shelves:0 deja solo carcasa; openFrame usa bastidor sin fondo. Cama: headboard modular, headboardShelves, drawersPerSide, bunk, bunkHeight, bunkLadderSide, mattressThickness, baseHeight. Sofá/banqueta: seatHeight (sofá), backrestAngle y cushionThickness. Otros tipos exponen sus opciones en el schema. Los avisos explican qué opción se recortó o no se aplicó y cómo corregirla.",
"oneOf": [
{
"additionalProperties": false,
"properties": {
"backPanel": {
"type": "boolean"
},
"depth": {
"exclusiveMinimum": 0,
"type": "number"
},
"height": {
"exclusiveMinimum": 0,
"type": "number"
},
"kind": {
"const": "shelf",
"type": "string"
},
"material": {
"type": "string"
},
"openFrame": {
"type": "boolean"
},
"shelves": {
"maximum": 9007199254740991,
"minimum": 0,
"type": "integer"
},
"techoPasante": {
"type": "boolean"
},
"width": {
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"kind",
"width",
"height",
"depth",
"shelves",
"backPanel",
"material"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"depth": {
"exclusiveMinimum": 0,
"type": "number"
},
"drawers": {
"maximum": 9007199254740991,
"minimum": 0,
"type": "integer"
},
"height": {
"exclusiveMinimum": 0,
"type": "number"
},
"kind": {
"const": "desk",
"type": "string"
},
"material": {
"type": "string"
},
"width": {
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"kind",
"width",
"height",
"depth",
"drawers",
"material"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"depth": {
"exclusiveMinimum": 0,
"type": "number"
},
"doors": {
"maximum": 9007199254740991,
"minimum": 0,
"type": "integer"
},
"height": {
"exclusiveMinimum": 0,
"type": "number"
},
"kind": {
"const": "wardrobe",
"type": "string"
},
"material": {
"type": "string"
},
"rod": {
"type": "boolean"
},
"techoPasante": {
"type": "boolean"
},
"width": {
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"kind",
"width",
"height",
"depth",
"doors",
"rod",
"material"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"depth": {
"exclusiveMinimum": 0,
"type": "number"
},
"height": {
"exclusiveMinimum": 0,
"type": "number"
},
"kind": {
"const": "pergola",
"type": "string"
},
"material": {
"type": "string"
},
"postSize": {
"exclusiveMinimum": 0,
"type": "number"
},
"rafters": {
"maximum": 9007199254740991,
"minimum": 1,
"type": "integer"
},
"slope": {
"maximum": 45,
"minimum": 0,
"type": "number"
},
"width": {
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"kind",
"width",
"depth",
"height",
"rafters",
"postSize",
"slope",
"material"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"boardWidth": {
"exclusiveMinimum": 0,
"type": "number"
},
"depth": {
"exclusiveMinimum": 0,
"type": "number"
},
"gap": {
"minimum": 0,
"type": "number"
},
"joists": {
"maximum": 9007199254740991,
"minimum": 1,
"type": "integer"
},
"kind": {
"const": "deck",
"type": "string"
},
"material": {
"type": "string"
},
"width": {
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"kind",
"width",
"depth",
"boardWidth",
"gap",
"joists",
"material"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"depth": {
"exclusiveMinimum": 0,
"type": "number"
},
"height": {
"exclusiveMinimum": 0,
"type": "number"
},
"kind": {
"const": "table",
"type": "string"
},
"legSize": {
"exclusiveMinimum": 0,
"type": "number"
},
"material": {
"type": "string"
},
"width": {
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"kind",
"width",
"height",
"depth",
"legSize",
"material"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"depth": {
"exclusiveMinimum": 0,
"type": "number"
},
"height": {
"exclusiveMinimum": 0,
"type": "number"
},
"kind": {
"const": "picnic",
"type": "string"
},
"material": {
"type": "string"
},
"seatHeight": {
"exclusiveMinimum": 0,
"type": "number"
},
"tabletopDepth": {
"exclusiveMinimum": 0,
"type": "number"
},
"width": {
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"kind",
"width",
"height",
"depth",
"tabletopDepth",
"seatHeight",
"material"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"baseHeight": {
"exclusiveMinimum": 0,
"type": "number"
},
"bunk": {
"type": "boolean"
},
"bunkHeight": {
"maximum": 1600,
"minimum": 900,
"type": "number"
},
"bunkLadderSide": {
"enum": [
"izq",
"der"
],
"type": "string"
},
"depth": {
"exclusiveMinimum": 0,
"type": "number"
},
"drawersPerSide": {
"maximum": 4,
"minimum": 0,
"type": "integer"
},
"headboard": {
"additionalProperties": false,
"properties": {
"backPanel": {
"type": "boolean"
},
"base": {
"enum": [
"zocalo",
"patas",
"ruedas"
],
"type": "string"
},
"colgado": {
"type": "boolean"
},
"depth": {
"exclusiveMinimum": 0,
"type": "number"
},
"enCuerpos": {
"type": "boolean"
},
"frontMaterial": {
"type": "string"
},
"glassDoors": {
"type": "boolean"
},
"height": {
"exclusiveMinimum": 0,
"type": "number"
},
"kind": {
"const": "modular",
"type": "string"
},
"material": {
"type": "string"
},
"overlay": {
"type": "boolean"
},
"root": {
"anyOf": [
{
"additionalProperties": false,
"properties": {
"content": {
"oneOf": [
{
"additionalProperties": false,
"properties": {
"c": {
"const": "estantes",
"type": "string"
},
"n": {
"maximum": 12,
"minimum": 1,
"type": "integer"
}
},
"required": [
"c",
"n"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "cajones",
"type": "string"
},
"lock": {
"enum": [
"magnetica",
"llave"
],
"type": "string"
},
"n": {
"maximum": 8,
"minimum": 1,
"type": "integer"
},
"push": {
"type": "boolean"
}
},
"required": [
"c",
"n"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "cajonSecreto",
"type": "string"
}
},
"required": [
"c"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "barral",
"type": "string"
}
},
"required": [
"c"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "botellero",
"type": "string"
}
},
"required": [
"c"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "zapatero",
"type": "string"
},
"n": {
"maximum": 5,
"minimum": 1,
"type": "integer"
}
},
"required": [
"c",
"n"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "vidrio",
"type": "string"
},
"n": {
"maximum": 8,
"minimum": 1,
"type": "integer"
}
},
"required": [
"c",
"n"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "bandeja",
"type": "string"
},
"n": {
"maximum": 6,
"minimum": 1,
"type": "integer"
}
},
"required": [
"c",
"n"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "ranurado",
"type": "string"
},
"n": {
"maximum": 30,
"minimum": 3,
"type": "integer"
}
},
"required": [
"c",
"n"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "hueco",
"type": "string"
}
},
"required": [
"c"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "vacio",
"type": "string"
}
},
"required": [
"c"
],
"type": "object"
}
]
},
"door": {
"enum": [
"izq",
"der",
"doble",
"arriba",
"abajo",
"corrediza"
],
"type": "string"
},
"led": {
"type": "boolean"
},
"lock": {
"enum": [
"magnetica",
"llave"
],
"type": "string"
},
"push": {
"type": "boolean"
}
},
"required": [
"content"
],
"type": "object"
},
{
"$ref": "#/definitions/__schema0"
}
]
},
"slidingDoor": {
"enum": [
"full",
"per-column"
],
"type": "string"
},
"softClose": {
"type": "boolean"
},
"techoPasante": {
"type": "boolean"
},
"width": {
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"kind",
"width",
"height",
"depth",
"material",
"backPanel",
"root"
],
"type": "object"
},
"headboardShelves": {
"maximum": 6,
"minimum": 0,
"type": "integer"
},
"height": {
"exclusiveMinimum": 0,
"type": "number"
},
"kind": {
"const": "cama",
"type": "string"
},
"material": {
"type": "string"
},
"mattressThickness": {
"exclusiveMinimum": 0,
"type": "number"
},
"storage": {
"type": "boolean"
},
"width": {
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"kind",
"width",
"height",
"depth",
"storage",
"material"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"arms": {
"type": "boolean"
},
"backrestAngle": {
"maximum": 45,
"minimum": 0,
"type": "number"
},
"cushionThickness": {
"minimum": 0,
"type": "number"
},
"depth": {
"exclusiveMinimum": 0,
"type": "number"
},
"height": {
"exclusiveMinimum": 0,
"type": "number"
},
"kind": {
"const": "sofa",
"type": "string"
},
"material": {
"type": "string"
},
"seatHeight": {
"exclusiveMinimum": 0,
"type": "number"
},
"width": {
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"kind",
"width",
"height",
"depth",
"arms",
"material"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"backrest": {
"type": "boolean"
},
"backrestAngle": {
"maximum": 45,
"minimum": 0,
"type": "number"
},
"cushionThickness": {
"minimum": 0,
"type": "number"
},
"depth": {
"exclusiveMinimum": 0,
"type": "number"
},
"height": {
"exclusiveMinimum": 0,
"type": "number"
},
"kind": {
"const": "banqueta",
"type": "string"
},
"material": {
"type": "string"
},
"width": {
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"kind",
"width",
"height",
"depth",
"backrest",
"material"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"depth": {
"exclusiveMinimum": 0,
"type": "number"
},
"height": {
"exclusiveMinimum": 0,
"type": "number"
},
"kind": {
"const": "espejo",
"type": "string"
},
"material": {
"type": "string"
},
"width": {
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"kind",
"width",
"height",
"depth",
"material"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"depth": {
"exclusiveMinimum": 0,
"type": "number"
},
"height": {
"exclusiveMinimum": 0,
"type": "number"
},
"kind": {
"const": "caja",
"type": "string"
},
"legs": {
"maximum": 900,
"minimum": 0,
"type": "number"
},
"lid": {
"enum": [
"ninguna",
"fija",
"abisagrada"
],
"type": "string"
},
"material": {
"type": "string"
},
"wheels": {
"type": "boolean"
},
"width": {
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"kind",
"width",
"height",
"depth",
"lid",
"wheels",
"material"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"depth": {
"exclusiveMinimum": 0,
"type": "number"
},
"height": {
"exclusiveMinimum": 0,
"type": "number"
},
"kind": {
"const": "cortina",
"type": "string"
},
"material": {
"type": "string"
},
"width": {
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"kind",
"width",
"height",
"depth",
"material"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"depth": {
"exclusiveMinimum": 0,
"type": "number"
},
"height": {
"exclusiveMinimum": 0,
"type": "number"
},
"hojas": {
"maximum": 6,
"minimum": 2,
"type": "integer"
},
"kind": {
"const": "biombo",
"type": "string"
},
"material": {
"type": "string"
},
"relleno": {
"type": "boolean"
},
"width": {
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"kind",
"width",
"height",
"depth",
"hojas",
"relleno",
"material"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"depth": {
"exclusiveMinimum": 0,
"type": "number"
},
"height": {
"exclusiveMinimum": 0,
"type": "number"
},
"kind": {
"const": "invernadero",
"type": "string"
},
"material": {
"type": "string"
},
"puerta": {
"type": "boolean"
},
"shelves": {
"maximum": 9007199254740991,
"minimum": 0,
"type": "integer"
},
"slope": {
"maximum": 45,
"minimum": 0,
"type": "number"
},
"width": {
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"kind",
"width",
"height",
"depth",
"slope",
"shelves",
"puerta",
"material"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"backPanel": {
"type": "boolean"
},
"base": {
"enum": [
"zocalo",
"patas",
"ruedas"
],
"type": "string"
},
"colgado": {
"type": "boolean"
},
"depth": {
"exclusiveMinimum": 0,
"type": "number"
},
"enCuerpos": {
"type": "boolean"
},
"frontMaterial": {
"type": "string"
},
"glassDoors": {
"type": "boolean"
},
"height": {
"exclusiveMinimum": 0,
"type": "number"
},
"kind": {
"const": "modular",
"type": "string"
},
"material": {
"type": "string"
},
"overlay": {
"type": "boolean"
},
"root": {
"anyOf": [
{
"additionalProperties": false,
"properties": {
"content": {
"oneOf": [
{
"additionalProperties": false,
"properties": {
"c": {
"const": "estantes",
"type": "string"
},
"n": {
"maximum": 12,
"minimum": 1,
"type": "integer"
}
},
"required": [
"c",
"n"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "cajones",
"type": "string"
},
"lock": {
"enum": [
"magnetica",
"llave"
],
"type": "string"
},
"n": {
"maximum": 8,
"minimum": 1,
"type": "integer"
},
"push": {
"type": "boolean"
}
},
"required": [
"c",
"n"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "cajonSecreto",
"type": "string"
}
},
"required": [
"c"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "barral",
"type": "string"
}
},
"required": [
"c"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "botellero",
"type": "string"
}
},
"required": [
"c"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "zapatero",
"type": "string"
},
"n": {
"maximum": 5,
"minimum": 1,
"type": "integer"
}
},
"required": [
"c",
"n"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "vidrio",
"type": "string"
},
"n": {
"maximum": 8,
"minimum": 1,
"type": "integer"
}
},
"required": [
"c",
"n"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "bandeja",
"type": "string"
},
"n": {
"maximum": 6,
"minimum": 1,
"type": "integer"
}
},
"required": [
"c",
"n"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "ranurado",
"type": "string"
},
"n": {
"maximum": 30,
"minimum": 3,
"type": "integer"
}
},
"required": [
"c",
"n"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "hueco",
"type": "string"
}
},
"required": [
"c"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "vacio",
"type": "string"
}
},
"required": [
"c"
],
"type": "object"
}
]
},
"door": {
"enum": [
"izq",
"der",
"doble",
"arriba",
"abajo",
"corrediza"
],
"type": "string"
},
"led": {
"type": "boolean"
},
"lock": {
"enum": [
"magnetica",
"llave"
],
"type": "string"
},
"push": {
"type": "boolean"
}
},
"required": [
"content"
],
"type": "object"
},
{
"$ref": "#/definitions/__schema0"
}
]
},
"slidingDoor": {
"enum": [
"full",
"per-column"
],
"type": "string"
},
"softClose": {
"type": "boolean"
},
"techoPasante": {
"type": "boolean"
},
"width": {
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"kind",
"width",
"height",
"depth",
"material",
"backPanel",
"root"
],
"type": "object"
}
]
},
"preset": {
"description": "ID del preset del mueble a despiesar. Requerido si no se pasa 'params'. Ejemplos: 'placard-corredizo', 'biblioteca', 'escritorio-cajonera', 'comoda', 'bajo-mesada'. Usá listar_presets para ver todos los ids disponibles.",
"type": "string"
}
},
"type": "object"
},
"name": "despiece",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"editor_url": {
"type": "string"
},
"herrajes": {
"items": {
"additionalProperties": false,
"properties": {
"cantidad": {
"type": "number"
},
"concepto": {
"type": "string"
},
"precio_unitario_ars": {
"type": "number"
},
"subtotal_ars": {
"type": "number"
}
},
"required": [
"concepto",
"cantidad",
"precio_unitario_ars",
"subtotal_ars"
],
"type": "object"
},
"type": "array"
},
"medidas_mm": {
"additionalProperties": false,
"properties": {
"alto": {
"type": "number"
},
"ancho": {
"type": "number"
},
"profundidad": {
"type": "number"
}
},
"required": [
"ancho",
"alto",
"profundidad"
],
"type": "object"
},
"mueble": {
"type": "string"
},
"nota": {
"type": "string"
},
"piezas": {
"items": {
"additionalProperties": false,
"properties": {
"ancho_mm": {
"type": "number"
},
"cantidad": {
"type": "number"
},
"espesor_mm": {
"type": "number"
},
"largo_mm": {
"type": "number"
},
"material": {
"type": "string"
},
"pieza": {
"type": "string"
},
"tapacanto_frontal_mm": {
"type": "number"
}
},
"required": [
"pieza",
"cantidad",
"largo_mm",
"ancho_mm",
"espesor_mm",
"material"
],
"type": "object"
},
"type": "array"
},
"tabla_texto": {
"type": "string"
}
},
"required": [
"mueble",
"medidas_mm",
"piezas",
"herrajes",
"tabla_texto",
"nota",
"editor_url"
],
"type": "object"
}
},
{
"description": "Lista los presets de muebles armables de Mueblito: id, nombre, tipo, medidas en mm, descripción y un link al editor 3D (editor_url) para abrir cada uno en el sitio. Opcionalmente filtrá por 'ambiente' (Dormitorio/Living/Cocina y comedor/Baño/Oficina/Exterior) para descubrir qué hay por espacio. Llamala para encontrar el id de un mueble; después construilo con construir_mueble (recomendado) o cotizá/mostrá con ese id. (list furniture presets, parametric furniture types by room, Argentina cut list)",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"ambiente": {
"description": "Filtro opcional por ambiente: Dormitorio, Living, Cocina y comedor, Baño, Oficina, Exterior u Otros.",
"type": "string"
}
},
"type": "object"
},
"name": "listar_presets",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"presets": {
"items": {
"additionalProperties": false,
"properties": {
"ambiente": {
"type": "string"
},
"descripcion": {
"type": "string"
},
"editor_url": {
"type": "string"
},
"id": {
"type": "string"
},
"imagen_url": {
"type": "string"
},
"medidas_mm": {
"additionalProperties": false,
"properties": {
"alto": {
"type": "number"
},
"ancho": {
"type": "number"
},
"profundidad": {
"type": "number"
}
},
"required": [
"ancho",
"alto",
"profundidad"
],
"type": "object"
},
"nombre": {
"type": "string"
},
"tipo": {
"type": "string"
}
},
"required": [
"id",
"nombre",
"tipo",
"medidas_mm",
"descripcion",
"ambiente",
"editor_url",
"imagen_url"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"presets"
],
"type": "object"
}
},
{
"description": "Devuelve CÓMO SE ARMA el mueble: los pasos en orden, en castellano, con las piezas de cada paso (rol y cantidad), la compra completa de herrajes, el peso armado y los avisos previos al corte. Es lo que convierte una lista de cortes en un mueble armable: el orden importa (se arma acostado sobre un lateral y cada pieza tiene que poder bajar en una sola dirección). Acepta los mismos args que cotizar_mueble: preset o params, más ajustes de medidas opcionales. (how to assemble, assembly instructions, step by step, build guide, armado paso a paso)",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"definitions": {
"__schema0": {
"additionalProperties": false,
"properties": {
"ch": {
"items": {
"additionalProperties": false,
"properties": {
"alto": {
"maximum": 3000,
"minimum": 150,
"type": "number"
},
"colgado": {
"type": "boolean"
},
"f": {
"exclusiveMinimum": 0,
"type": "number"
},
"node": {
"anyOf": [
{
"additionalProperties": false,
"properties": {
"content": {
"oneOf": [
{
"additionalProperties": false,
"properties": {
"c": {
"const": "estantes",
"type": "string"
},
"n": {
"maximum": 12,
"minimum": 1,
"type": "integer"
}
},
"required": [
"c",
"n"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "cajones",
"type": "string"
},
"lock": {
"enum": [
"magnetica",
"llave"
],
"type": "string"
},
"n": {
"maximum": 8,
"minimum": 1,
"type": "integer"
},
"push": {
"type": "boolean"
}
},
"required": [
"c",
"n"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "cajonSecreto",
"type": "string"
}
},
"required": [
"c"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "barral",
"type": "string"
}
},
"required": [
"c"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "botellero",
"type": "string"
}
},
"required": [
"c"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "zapatero",
"type": "string"
},
"n": {
"maximum": 5,
"minimum": 1,
"type": "integer"
}
},
"required": [
"c",
"n"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "vidrio",
"type": "string"
},
"n": {
"maximum": 8,
"minimum": 1,
"type": "integer"
}
},
"required": [
"c",
"n"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "bandeja",
"type": "string"
},
"n": {
"maximum": 6,
"minimum": 1,
"type": "integer"
}
},
"required": [
"c",
"n"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "ranurado",
"type": "string"
},
"n": {
"maximum": 30,
"minimum": 3,
"type": "integer"
}
},
"required": [
"c",
"n"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "hueco",
"type": "string"
}
},
"required": [
"c"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "vacio",
"type": "string"
}
},
"required": [
"c"
],
"type": "object"
}
]
},
"door": {
"enum": [
"izq",
"der",
"doble",
"arriba",
"abajo",
"corrediza"
],
"type": "string"
},
"led": {
"type": "boolean"
},
"lock": {
"enum": [
"magnetica",
"llave"
],
"type": "string"
},
"push": {
"type": "boolean"
}
},
"required": [
"content"
],
"type": "object"
},
{
"$ref": "#/definitions/__schema0"
}
]
},
"prof": {
"maximum": 1200,
"minimum": 80,
"type": "number"
}
},
"required": [
"f",
"node"
],
"type": "object"
},
"maxItems": 8,
"minItems": 2,
"type": "array"
},
"door": {
"enum": [
"izq",
"der",
"doble",
"arriba",
"abajo",
"corrediza"
],
"type": "string"
},
"lock": {
"enum": [
"magnetica",
"llave"
],
"type": "string"
},
"push": {
"type": "boolean"
},
"s": {
"enum": [
"V",
"H"
],
"type": "string"
}
},
"required": [
"s",
"ch"
],
"type": "object"
}
},
"properties": {
"ajustes": {
"additionalProperties": false,
"description": "Ajustes de medidas opcionales, en milímetros, sobre el preset O sobre los params que pases. Sólo los campos que querés sobreescribir. Ej: {ancho_mm: 2400}.",
"properties": {
"alto_mm": {
"exclusiveMinimum": 0,
"type": "number"
},
"ancho_mm": {
"exclusiveMinimum": 0,
"type": "number"
},
"profundidad_mm": {
"exclusiveMinimum": 0,
"type": "number"
}
},
"type": "object"
},
"params": {
"description": "Params paramétricos completos del mueble (alternativa a 'preset'). Requerido si no se pasa 'preset'. Debe incluir kind, material y las medidas y opciones requeridas por ese kind; deck no lleva height. El schema enumera todos los campos por kind. Modular: frontMaterial (mismo espesor que material), softClose, base, colgado, enCuerpos, slidingDoor, glassDoors, overlay y techoPasante (techo al ancho total sobre los laterales; también en shelf y wardrobe). root admite cortes V/H anidados; cada hijo tiene f y, si genera cuerpo, alto/prof/colgado. En cortes H el alto se reparte con f, no con alto. height y depth deben abarcar todos los cuerpos. Cada hoja admite door, lock, push y led; content.c incluye cajonSecreto y cajones con content.lock/content.push. Shelf: shelves:0 deja solo carcasa; openFrame usa bastidor sin fondo. Cama: headboard modular, headboardShelves, drawersPerSide, bunk, bunkHeight, bunkLadderSide, mattressThickness, baseHeight. Sofá/banqueta: seatHeight (sofá), backrestAngle y cushionThickness. Otros tipos exponen sus opciones en el schema. Los avisos explican qué opción se recortó o no se aplicó y cómo corregirla.",
"oneOf": [
{
"additionalProperties": false,
"properties": {
"backPanel": {
"type": "boolean"
},
"depth": {
"exclusiveMinimum": 0,
"type": "number"
},
"height": {
"exclusiveMinimum": 0,
"type": "number"
},
"kind": {
"const": "shelf",
"type": "string"
},
"material": {
"type": "string"
},
"openFrame": {
"type": "boolean"
},
"shelves": {
"maximum": 9007199254740991,
"minimum": 0,
"type": "integer"
},
"techoPasante": {
"type": "boolean"
},
"width": {
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"kind",
"width",
"height",
"depth",
"shelves",
"backPanel",
"material"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"depth": {
"exclusiveMinimum": 0,
"type": "number"
},
"drawers": {
"maximum": 9007199254740991,
"minimum": 0,
"type": "integer"
},
"height": {
"exclusiveMinimum": 0,
"type": "number"
},
"kind": {
"const": "desk",
"type": "string"
},
"material": {
"type": "string"
},
"width": {
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"kind",
"width",
"height",
"depth",
"drawers",
"material"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"depth": {
"exclusiveMinimum": 0,
"type": "number"
},
"doors": {
"maximum": 9007199254740991,
"minimum": 0,
"type": "integer"
},
"height": {
"exclusiveMinimum": 0,
"type": "number"
},
"kind": {
"const": "wardrobe",
"type": "string"
},
"material": {
"type": "string"
},
"rod": {
"type": "boolean"
},
"techoPasante": {
"type": "boolean"
},
"width": {
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"kind",
"width",
"height",
"depth",
"doors",
"rod",
"material"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"depth": {
"exclusiveMinimum": 0,
"type": "number"
},
"height": {
"exclusiveMinimum": 0,
"type": "number"
},
"kind": {
"const": "pergola",
"type": "string"
},
"material": {
"type": "string"
},
"postSize": {
"exclusiveMinimum": 0,
"type": "number"
},
"rafters": {
"maximum": 9007199254740991,
"minimum": 1,
"type": "integer"
},
"slope": {
"maximum": 45,
"minimum": 0,
"type": "number"
},
"width": {
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"kind",
"width",
"depth",
"height",
"rafters",
"postSize",
"slope",
"material"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"boardWidth": {
"exclusiveMinimum": 0,
"type": "number"
},
"depth": {
"exclusiveMinimum": 0,
"type": "number"
},
"gap": {
"minimum": 0,
"type": "number"
},
"joists": {
"maximum": 9007199254740991,
"minimum": 1,
"type": "integer"
},
"kind": {
"const": "deck",
"type": "string"
},
"material": {
"type": "string"
},
"width": {
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"kind",
"width",
"depth",
"boardWidth",
"gap",
"joists",
"material"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"depth": {
"exclusiveMinimum": 0,
"type": "number"
},
"height": {
"exclusiveMinimum": 0,
"type": "number"
},
"kind": {
"const": "table",
"type": "string"
},
"legSize": {
"exclusiveMinimum": 0,
"type": "number"
},
"material": {
"type": "string"
},
"width": {
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"kind",
"width",
"height",
"depth",
"legSize",
"material"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"depth": {
"exclusiveMinimum": 0,
"type": "number"
},
"height": {
"exclusiveMinimum": 0,
"type": "number"
},
"kind": {
"const": "picnic",
"type": "string"
},
"material": {
"type": "string"
},
"seatHeight": {
"exclusiveMinimum": 0,
"type": "number"
},
"tabletopDepth": {
"exclusiveMinimum": 0,
"type": "number"
},
"width": {
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"kind",
"width",
"height",
"depth",
"tabletopDepth",
"seatHeight",
"material"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"baseHeight": {
"exclusiveMinimum": 0,
"type": "number"
},
"bunk": {
"type": "boolean"
},
"bunkHeight": {
"maximum": 1600,
"minimum": 900,
"type": "number"
},
"bunkLadderSide": {
"enum": [
"izq",
"der"
],
"type": "string"
},
"depth": {
"exclusiveMinimum": 0,
"type": "number"
},
"drawersPerSide": {
"maximum": 4,
"minimum": 0,
"type": "integer"
},
"headboard": {
"additionalProperties": false,
"properties": {
"backPanel": {
"type": "boolean"
},
"base": {
"enum": [
"zocalo",
"patas",
"ruedas"
],
"type": "string"
},
"colgado": {
"type": "boolean"
},
"depth": {
"exclusiveMinimum": 0,
"type": "number"
},
"enCuerpos": {
"type": "boolean"
},
"frontMaterial": {
"type": "string"
},
"glassDoors": {
"type": "boolean"
},
"height": {
"exclusiveMinimum": 0,
"type": "number"
},
"kind": {
"const": "modular",
"type": "string"
},
"material": {
"type": "string"
},
"overlay": {
"type": "boolean"
},
"root": {
"anyOf": [
{
"additionalProperties": false,
"properties": {
"content": {
"oneOf": [
{
"additionalProperties": false,
"properties": {
"c": {
"const": "estantes",
"type": "string"
},
"n": {
"maximum": 12,
"minimum": 1,
"type": "integer"
}
},
"required": [
"c",
"n"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "cajones",
"type": "string"
},
"lock": {
"enum": [
"magnetica",
"llave"
],
"type": "string"
},
"n": {
"maximum": 8,
"minimum": 1,
"type": "integer"
},
"push": {
"type": "boolean"
}
},
"required": [
"c",
"n"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "cajonSecreto",
"type": "string"
}
},
"required": [
"c"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "barral",
"type": "string"
}
},
"required": [
"c"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "botellero",
"type": "string"
}
},
"required": [
"c"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "zapatero",
"type": "string"
},
"n": {
"maximum": 5,
"minimum": 1,
"type": "integer"
}
},
"required": [
"c",
"n"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "vidrio",
"type": "string"
},
"n": {
"maximum": 8,
"minimum": 1,
"type": "integer"
}
},
"required": [
"c",
"n"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "bandeja",
"type": "string"
},
"n": {
"maximum": 6,
"minimum": 1,
"type": "integer"
}
},
"required": [
"c",
"n"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "ranurado",
"type": "string"
},
"n": {
"maximum": 30,
"minimum": 3,
"type": "integer"
}
},
"required": [
"c",
"n"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "hueco",
"type": "string"
}
},
"required": [
"c"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "vacio",
"type": "string"
}
},
"required": [
"c"
],
"type": "object"
}
]
},
"door": {
"enum": [
"izq",
"der",
"doble",
"arriba",
"abajo",
"corrediza"
],
"type": "string"
},
"led": {
"type": "boolean"
},
"lock": {
"enum": [
"magnetica",
"llave"
],
"type": "string"
},
"push": {
"type": "boolean"
}
},
"required": [
"content"
],
"type": "object"
},
{
"$ref": "#/definitions/__schema0"
}
]
},
"slidingDoor": {
"enum": [
"full",
"per-column"
],
"type": "string"
},
"softClose": {
"type": "boolean"
},
"techoPasante": {
"type": "boolean"
},
"width": {
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"kind",
"width",
"height",
"depth",
"material",
"backPanel",
"root"
],
"type": "object"
},
"headboardShelves": {
"maximum": 6,
"minimum": 0,
"type": "integer"
},
"height": {
"exclusiveMinimum": 0,
"type": "number"
},
"kind": {
"const": "cama",
"type": "string"
},
"material": {
"type": "string"
},
"mattressThickness": {
"exclusiveMinimum": 0,
"type": "number"
},
"storage": {
"type": "boolean"
},
"width": {
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"kind",
"width",
"height",
"depth",
"storage",
"material"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"arms": {
"type": "boolean"
},
"backrestAngle": {
"maximum": 45,
"minimum": 0,
"type": "number"
},
"cushionThickness": {
"minimum": 0,
"type": "number"
},
"depth": {
"exclusiveMinimum": 0,
"type": "number"
},
"height": {
"exclusiveMinimum": 0,
"type": "number"
},
"kind": {
"const": "sofa",
"type": "string"
},
"material": {
"type": "string"
},
"seatHeight": {
"exclusiveMinimum": 0,
"type": "number"
},
"width": {
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"kind",
"width",
"height",
"depth",
"arms",
"material"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"backrest": {
"type": "boolean"
},
"backrestAngle": {
"maximum": 45,
"minimum": 0,
"type": "number"
},
"cushionThickness": {
"minimum": 0,
"type": "number"
},
"depth": {
"exclusiveMinimum": 0,
"type": "number"
},
"height": {
"exclusiveMinimum": 0,
"type": "number"
},
"kind": {
"const": "banqueta",
"type": "string"
},
"material": {
"type": "string"
},
"width": {
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"kind",
"width",
"height",
"depth",
"backrest",
"material"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"depth": {
"exclusiveMinimum": 0,
"type": "number"
},
"height": {
"exclusiveMinimum": 0,
"type": "number"
},
"kind": {
"const": "espejo",
"type": "string"
},
"material": {
"type": "string"
},
"width": {
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"kind",
"width",
"height",
"depth",
"material"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"depth": {
"exclusiveMinimum": 0,
"type": "number"
},
"height": {
"exclusiveMinimum": 0,
"type": "number"
},
"kind": {
"const": "caja",
"type": "string"
},
"legs": {
"maximum": 900,
"minimum": 0,
"type": "number"
},
"lid": {
"enum": [
"ninguna",
"fija",
"abisagrada"
],
"type": "string"
},
"material": {
"type": "string"
},
"wheels": {
"type": "boolean"
},
"width": {
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"kind",
"width",
"height",
"depth",
"lid",
"wheels",
"material"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"depth": {
"exclusiveMinimum": 0,
"type": "number"
},
"height": {
"exclusiveMinimum": 0,
"type": "number"
},
"kind": {
"const": "cortina",
"type": "string"
},
"material": {
"type": "string"
},
"width": {
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"kind",
"width",
"height",
"depth",
"material"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"depth": {
"exclusiveMinimum": 0,
"type": "number"
},
"height": {
"exclusiveMinimum": 0,
"type": "number"
},
"hojas": {
"maximum": 6,
"minimum": 2,
"type": "integer"
},
"kind": {
"const": "biombo",
"type": "string"
},
"material": {
"type": "string"
},
"relleno": {
"type": "boolean"
},
"width": {
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"kind",
"width",
"height",
"depth",
"hojas",
"relleno",
"material"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"depth": {
"exclusiveMinimum": 0,
"type": "number"
},
"height": {
"exclusiveMinimum": 0,
"type": "number"
},
"kind": {
"const": "invernadero",
"type": "string"
},
"material": {
"type": "string"
},
"puerta": {
"type": "boolean"
},
"shelves": {
"maximum": 9007199254740991,
"minimum": 0,
"type": "integer"
},
"slope": {
"maximum": 45,
"minimum": 0,
"type": "number"
},
"width": {
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"kind",
"width",
"height",
"depth",
"slope",
"shelves",
"puerta",
"material"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"backPanel": {
"type": "boolean"
},
"base": {
"enum": [
"zocalo",
"patas",
"ruedas"
],
"type": "string"
},
"colgado": {
"type": "boolean"
},
"depth": {
"exclusiveMinimum": 0,
"type": "number"
},
"enCuerpos": {
"type": "boolean"
},
"frontMaterial": {
"type": "string"
},
"glassDoors": {
"type": "boolean"
},
"height": {
"exclusiveMinimum": 0,
"type": "number"
},
"kind": {
"const": "modular",
"type": "string"
},
"material": {
"type": "string"
},
"overlay": {
"type": "boolean"
},
"root": {
"anyOf": [
{
"additionalProperties": false,
"properties": {
"content": {
"oneOf": [
{
"additionalProperties": false,
"properties": {
"c": {
"const": "estantes",
"type": "string"
},
"n": {
"maximum": 12,
"minimum": 1,
"type": "integer"
}
},
"required": [
"c",
"n"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "cajones",
"type": "string"
},
"lock": {
"enum": [
"magnetica",
"llave"
],
"type": "string"
},
"n": {
"maximum": 8,
"minimum": 1,
"type": "integer"
},
"push": {
"type": "boolean"
}
},
"required": [
"c",
"n"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "cajonSecreto",
"type": "string"
}
},
"required": [
"c"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "barral",
"type": "string"
}
},
"required": [
"c"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "botellero",
"type": "string"
}
},
"required": [
"c"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "zapatero",
"type": "string"
},
"n": {
"maximum": 5,
"minimum": 1,
"type": "integer"
}
},
"required": [
"c",
"n"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "vidrio",
"type": "string"
},
"n": {
"maximum": 8,
"minimum": 1,
"type": "integer"
}
},
"required": [
"c",
"n"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "bandeja",
"type": "string"
},
"n": {
"maximum": 6,
"minimum": 1,
"type": "integer"
}
},
"required": [
"c",
"n"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "ranurado",
"type": "string"
},
"n": {
"maximum": 30,
"minimum": 3,
"type": "integer"
}
},
"required": [
"c",
"n"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "hueco",
"type": "string"
}
},
"required": [
"c"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "vacio",
"type": "string"
}
},
"required": [
"c"
],
"type": "object"
}
]
},
"door": {
"enum": [
"izq",
"der",
"doble",
"arriba",
"abajo",
"corrediza"
],
"type": "string"
},
"led": {
"type": "boolean"
},
"lock": {
"enum": [
"magnetica",
"llave"
],
"type": "string"
},
"push": {
"type": "boolean"
}
},
"required": [
"content"
],
"type": "object"
},
{
"$ref": "#/definitions/__schema0"
}
]
},
"slidingDoor": {
"enum": [
"full",
"per-column"
],
"type": "string"
},
"softClose": {
"type": "boolean"
},
"techoPasante": {
"type": "boolean"
},
"width": {
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"kind",
"width",
"height",
"depth",
"material",
"backPanel",
"root"
],
"type": "object"
}
]
},
"preset": {
"description": "ID del preset del mueble a armar. Requerido si no se pasa 'params'. Ejemplos: 'placard-corredizo', 'biblioteca', 'escritorio-cajonera', 'comoda', 'bajo-mesada'. Usá listar_presets para ver todos los ids disponibles.",
"type": "string"
}
},
"type": "object"
},
"name": "pasos_de_armado",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"avisos": {
"items": {
"additionalProperties": false,
"properties": {
"mensaje": {
"type": "string"
},
"severidad": {
"type": "string"
},
"tipo": {
"type": "string"
}
},
"required": [
"tipo",
"severidad",
"mensaje"
],
"type": "object"
},
"type": "array"
},
"editor_url": {
"type": "string"
},
"herrajes": {
"items": {
"additionalProperties": false,
"properties": {
"cantidad": {
"type": "number"
},
"concepto": {
"type": "string"
},
"precio_unitario_ars": {
"type": "number"
},
"subtotal_ars": {
"type": "number"
}
},
"required": [
"concepto",
"cantidad",
"precio_unitario_ars",
"subtotal_ars"
],
"type": "object"
},
"type": "array"
},
"medidas_mm": {
"additionalProperties": false,
"properties": {
"alto": {
"type": "number"
},
"ancho": {
"type": "number"
},
"profundidad": {
"type": "number"
}
},
"required": [
"ancho",
"alto",
"profundidad"
],
"type": "object"
},
"mueble": {
"type": "string"
},
"nota": {
"type": "string"
},
"pasos": {
"items": {
"additionalProperties": false,
"properties": {
"detalle": {
"type": "string"
},
"n": {
"type": "number"
},
"panel_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"piezas": {
"items": {
"type": "string"
},
"type": "array"
},
"titulo": {
"type": "string"
}
},
"required": [
"n",
"titulo",
"detalle",
"piezas",
"panel_ids"
],
"type": "object"
},
"type": "array"
},
"peso_kg": {
"type": "number"
}
},
"required": [
"mueble",
"medidas_mm",
"peso_kg",
"pasos",
"herrajes",
"avisos",
"nota",
"editor_url"
],
"type": "object"
}
},
{
"description": "Revisa si un mueble se puede ARMAR sano a partir de su geometría: piezas sueltas o sin apoyo, voladizos, bastidor que se hamaca, riesgo de vuelco, y flecha/pandeo de estantes y puertas (se descuelgan con el peso). Devuelve 'factible' y una lista de warnings. Usala antes de cotizar o fabricar para atrapar problemas estructurales (el 'compile-check' del mueble). (validate furniture buildability, structural warnings, sag deflection, tip-over risk)",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"definitions": {
"__schema0": {
"additionalProperties": false,
"properties": {
"ch": {
"items": {
"additionalProperties": false,
"properties": {
"alto": {
"maximum": 3000,
"minimum": 150,
"type": "number"
},
"colgado": {
"type": "boolean"
},
"f": {
"exclusiveMinimum": 0,
"type": "number"
},
"node": {
"anyOf": [
{
"additionalProperties": false,
"properties": {
"content": {
"oneOf": [
{
"additionalProperties": false,
"properties": {
"c": {
"const": "estantes",
"type": "string"
},
"n": {
"maximum": 12,
"minimum": 1,
"type": "integer"
}
},
"required": [
"c",
"n"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "cajones",
"type": "string"
},
"lock": {
"enum": [
"magnetica",
"llave"
],
"type": "string"
},
"n": {
"maximum": 8,
"minimum": 1,
"type": "integer"
},
"push": {
"type": "boolean"
}
},
"required": [
"c",
"n"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "cajonSecreto",
"type": "string"
}
},
"required": [
"c"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "barral",
"type": "string"
}
},
"required": [
"c"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "botellero",
"type": "string"
}
},
"required": [
"c"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "zapatero",
"type": "string"
},
"n": {
"maximum": 5,
"minimum": 1,
"type": "integer"
}
},
"required": [
"c",
"n"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "vidrio",
"type": "string"
},
"n": {
"maximum": 8,
"minimum": 1,
"type": "integer"
}
},
"required": [
"c",
"n"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "bandeja",
"type": "string"
},
"n": {
"maximum": 6,
"minimum": 1,
"type": "integer"
}
},
"required": [
"c",
"n"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "ranurado",
"type": "string"
},
"n": {
"maximum": 30,
"minimum": 3,
"type": "integer"
}
},
"required": [
"c",
"n"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "hueco",
"type": "string"
}
},
"required": [
"c"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "vacio",
"type": "string"
}
},
"required": [
"c"
],
"type": "object"
}
]
},
"door": {
"enum": [
"izq",
"der",
"doble",
"arriba",
"abajo",
"corrediza"
],
"type": "string"
},
"led": {
"type": "boolean"
},
"lock": {
"enum": [
"magnetica",
"llave"
],
"type": "string"
},
"push": {
"type": "boolean"
}
},
"required": [
"content"
],
"type": "object"
},
{
"$ref": "#/definitions/__schema0"
}
]
},
"prof": {
"maximum": 1200,
"minimum": 80,
"type": "number"
}
},
"required": [
"f",
"node"
],
"type": "object"
},
"maxItems": 8,
"minItems": 2,
"type": "array"
},
"door": {
"enum": [
"izq",
"der",
"doble",
"arriba",
"abajo",
"corrediza"
],
"type": "string"
},
"lock": {
"enum": [
"magnetica",
"llave"
],
"type": "string"
},
"push": {
"type": "boolean"
},
"s": {
"enum": [
"V",
"H"
],
"type": "string"
}
},
"required": [
"s",
"ch"
],
"type": "object"
}
},
"properties": {
"params": {
"description": "Params paramétricos completos del mueble a validar.",
"oneOf": [
{
"additionalProperties": false,
"properties": {
"backPanel": {
"type": "boolean"
},
"depth": {
"exclusiveMinimum": 0,
"type": "number"
},
"height": {
"exclusiveMinimum": 0,
"type": "number"
},
"kind": {
"const": "shelf",
"type": "string"
},
"material": {
"type": "string"
},
"openFrame": {
"type": "boolean"
},
"shelves": {
"maximum": 9007199254740991,
"minimum": 0,
"type": "integer"
},
"techoPasante": {
"type": "boolean"
},
"width": {
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"kind",
"width",
"height",
"depth",
"shelves",
"backPanel",
"material"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"depth": {
"exclusiveMinimum": 0,
"type": "number"
},
"drawers": {
"maximum": 9007199254740991,
"minimum": 0,
"type": "integer"
},
"height": {
"exclusiveMinimum": 0,
"type": "number"
},
"kind": {
"const": "desk",
"type": "string"
},
"material": {
"type": "string"
},
"width": {
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"kind",
"width",
"height",
"depth",
"drawers",
"material"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"depth": {
"exclusiveMinimum": 0,
"type": "number"
},
"doors": {
"maximum": 9007199254740991,
"minimum": 0,
"type": "integer"
},
"height": {
"exclusiveMinimum": 0,
"type": "number"
},
"kind": {
"const": "wardrobe",
"type": "string"
},
"material": {
"type": "string"
},
"rod": {
"type": "boolean"
},
"techoPasante": {
"type": "boolean"
},
"width": {
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"kind",
"width",
"height",
"depth",
"doors",
"rod",
"material"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"depth": {
"exclusiveMinimum": 0,
"type": "number"
},
"height": {
"exclusiveMinimum": 0,
"type": "number"
},
"kind": {
"const": "pergola",
"type": "string"
},
"material": {
"type": "string"
},
"postSize": {
"exclusiveMinimum": 0,
"type": "number"
},
"rafters": {
"maximum": 9007199254740991,
"minimum": 1,
"type": "integer"
},
"slope": {
"maximum": 45,
"minimum": 0,
"type": "number"
},
"width": {
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"kind",
"width",
"depth",
"height",
"rafters",
"postSize",
"slope",
"material"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"boardWidth": {
"exclusiveMinimum": 0,
"type": "number"
},
"depth": {
"exclusiveMinimum": 0,
"type": "number"
},
"gap": {
"minimum": 0,
"type": "number"
},
"joists": {
"maximum": 9007199254740991,
"minimum": 1,
"type": "integer"
},
"kind": {
"const": "deck",
"type": "string"
},
"material": {
"type": "string"
},
"width": {
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"kind",
"width",
"depth",
"boardWidth",
"gap",
"joists",
"material"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"depth": {
"exclusiveMinimum": 0,
"type": "number"
},
"height": {
"exclusiveMinimum": 0,
"type": "number"
},
"kind": {
"const": "table",
"type": "string"
},
"legSize": {
"exclusiveMinimum": 0,
"type": "number"
},
"material": {
"type": "string"
},
"width": {
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"kind",
"width",
"height",
"depth",
"legSize",
"material"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"depth": {
"exclusiveMinimum": 0,
"type": "number"
},
"height": {
"exclusiveMinimum": 0,
"type": "number"
},
"kind": {
"const": "picnic",
"type": "string"
},
"material": {
"type": "string"
},
"seatHeight": {
"exclusiveMinimum": 0,
"type": "number"
},
"tabletopDepth": {
"exclusiveMinimum": 0,
"type": "number"
},
"width": {
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"kind",
"width",
"height",
"depth",
"tabletopDepth",
"seatHeight",
"material"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"baseHeight": {
"exclusiveMinimum": 0,
"type": "number"
},
"bunk": {
"type": "boolean"
},
"bunkHeight": {
"maximum": 1600,
"minimum": 900,
"type": "number"
},
"bunkLadderSide": {
"enum": [
"izq",
"der"
],
"type": "string"
},
"depth": {
"exclusiveMinimum": 0,
"type": "number"
},
"drawersPerSide": {
"maximum": 4,
"minimum": 0,
"type": "integer"
},
"headboard": {
"additionalProperties": false,
"properties": {
"backPanel": {
"type": "boolean"
},
"base": {
"enum": [
"zocalo",
"patas",
"ruedas"
],
"type": "string"
},
"colgado": {
"type": "boolean"
},
"depth": {
"exclusiveMinimum": 0,
"type": "number"
},
"enCuerpos": {
"type": "boolean"
},
"frontMaterial": {
"type": "string"
},
"glassDoors": {
"type": "boolean"
},
"height": {
"exclusiveMinimum": 0,
"type": "number"
},
"kind": {
"const": "modular",
"type": "string"
},
"material": {
"type": "string"
},
"overlay": {
"type": "boolean"
},
"root": {
"anyOf": [
{
"additionalProperties": false,
"properties": {
"content": {
"oneOf": [
{
"additionalProperties": false,
"properties": {
"c": {
"const": "estantes",
"type": "string"
},
"n": {
"maximum": 12,
"minimum": 1,
"type": "integer"
}
},
"required": [
"c",
"n"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "cajones",
"type": "string"
},
"lock": {
"enum": [
"magnetica",
"llave"
],
"type": "string"
},
"n": {
"maximum": 8,
"minimum": 1,
"type": "integer"
},
"push": {
"type": "boolean"
}
},
"required": [
"c",
"n"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "cajonSecreto",
"type": "string"
}
},
"required": [
"c"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "barral",
"type": "string"
}
},
"required": [
"c"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "botellero",
"type": "string"
}
},
"required": [
"c"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "zapatero",
"type": "string"
},
"n": {
"maximum": 5,
"minimum": 1,
"type": "integer"
}
},
"required": [
"c",
"n"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "vidrio",
"type": "string"
},
"n": {
"maximum": 8,
"minimum": 1,
"type": "integer"
}
},
"required": [
"c",
"n"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "bandeja",
"type": "string"
},
"n": {
"maximum": 6,
"minimum": 1,
"type": "integer"
}
},
"required": [
"c",
"n"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "ranurado",
"type": "string"
},
"n": {
"maximum": 30,
"minimum": 3,
"type": "integer"
}
},
"required": [
"c",
"n"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "hueco",
"type": "string"
}
},
"required": [
"c"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "vacio",
"type": "string"
}
},
"required": [
"c"
],
"type": "object"
}
]
},
"door": {
"enum": [
"izq",
"der",
"doble",
"arriba",
"abajo",
"corrediza"
],
"type": "string"
},
"led": {
"type": "boolean"
},
"lock": {
"enum": [
"magnetica",
"llave"
],
"type": "string"
},
"push": {
"type": "boolean"
}
},
"required": [
"content"
],
"type": "object"
},
{
"$ref": "#/definitions/__schema0"
}
]
},
"slidingDoor": {
"enum": [
"full",
"per-column"
],
"type": "string"
},
"softClose": {
"type": "boolean"
},
"techoPasante": {
"type": "boolean"
},
"width": {
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"kind",
"width",
"height",
"depth",
"material",
"backPanel",
"root"
],
"type": "object"
},
"headboardShelves": {
"maximum": 6,
"minimum": 0,
"type": "integer"
},
"height": {
"exclusiveMinimum": 0,
"type": "number"
},
"kind": {
"const": "cama",
"type": "string"
},
"material": {
"type": "string"
},
"mattressThickness": {
"exclusiveMinimum": 0,
"type": "number"
},
"storage": {
"type": "boolean"
},
"width": {
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"kind",
"width",
"height",
"depth",
"storage",
"material"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"arms": {
"type": "boolean"
},
"backrestAngle": {
"maximum": 45,
"minimum": 0,
"type": "number"
},
"cushionThickness": {
"minimum": 0,
"type": "number"
},
"depth": {
"exclusiveMinimum": 0,
"type": "number"
},
"height": {
"exclusiveMinimum": 0,
"type": "number"
},
"kind": {
"const": "sofa",
"type": "string"
},
"material": {
"type": "string"
},
"seatHeight": {
"exclusiveMinimum": 0,
"type": "number"
},
"width": {
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"kind",
"width",
"height",
"depth",
"arms",
"material"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"backrest": {
"type": "boolean"
},
"backrestAngle": {
"maximum": 45,
"minimum": 0,
"type": "number"
},
"cushionThickness": {
"minimum": 0,
"type": "number"
},
"depth": {
"exclusiveMinimum": 0,
"type": "number"
},
"height": {
"exclusiveMinimum": 0,
"type": "number"
},
"kind": {
"const": "banqueta",
"type": "string"
},
"material": {
"type": "string"
},
"width": {
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"kind",
"width",
"height",
"depth",
"backrest",
"material"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"depth": {
"exclusiveMinimum": 0,
"type": "number"
},
"height": {
"exclusiveMinimum": 0,
"type": "number"
},
"kind": {
"const": "espejo",
"type": "string"
},
"material": {
"type": "string"
},
"width": {
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"kind",
"width",
"height",
"depth",
"material"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"depth": {
"exclusiveMinimum": 0,
"type": "number"
},
"height": {
"exclusiveMinimum": 0,
"type": "number"
},
"kind": {
"const": "caja",
"type": "string"
},
"legs": {
"maximum": 900,
"minimum": 0,
"type": "number"
},
"lid": {
"enum": [
"ninguna",
"fija",
"abisagrada"
],
"type": "string"
},
"material": {
"type": "string"
},
"wheels": {
"type": "boolean"
},
"width": {
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"kind",
"width",
"height",
"depth",
"lid",
"wheels",
"material"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"depth": {
"exclusiveMinimum": 0,
"type": "number"
},
"height": {
"exclusiveMinimum": 0,
"type": "number"
},
"kind": {
"const": "cortina",
"type": "string"
},
"material": {
"type": "string"
},
"width": {
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"kind",
"width",
"height",
"depth",
"material"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"depth": {
"exclusiveMinimum": 0,
"type": "number"
},
"height": {
"exclusiveMinimum": 0,
"type": "number"
},
"hojas": {
"maximum": 6,
"minimum": 2,
"type": "integer"
},
"kind": {
"const": "biombo",
"type": "string"
},
"material": {
"type": "string"
},
"relleno": {
"type": "boolean"
},
"width": {
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"kind",
"width",
"height",
"depth",
"hojas",
"relleno",
"material"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"depth": {
"exclusiveMinimum": 0,
"type": "number"
},
"height": {
"exclusiveMinimum": 0,
"type": "number"
},
"kind": {
"const": "invernadero",
"type": "string"
},
"material": {
"type": "string"
},
"puerta": {
"type": "boolean"
},
"shelves": {
"maximum": 9007199254740991,
"minimum": 0,
"type": "integer"
},
"slope": {
"maximum": 45,
"minimum": 0,
"type": "number"
},
"width": {
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"kind",
"width",
"height",
"depth",
"slope",
"shelves",
"puerta",
"material"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"backPanel": {
"type": "boolean"
},
"base": {
"enum": [
"zocalo",
"patas",
"ruedas"
],
"type": "string"
},
"colgado": {
"type": "boolean"
},
"depth": {
"exclusiveMinimum": 0,
"type": "number"
},
"enCuerpos": {
"type": "boolean"
},
"frontMaterial": {
"type": "string"
},
"glassDoors": {
"type": "boolean"
},
"height": {
"exclusiveMinimum": 0,
"type": "number"
},
"kind": {
"const": "modular",
"type": "string"
},
"material": {
"type": "string"
},
"overlay": {
"type": "boolean"
},
"root": {
"anyOf": [
{
"additionalProperties": false,
"properties": {
"content": {
"oneOf": [
{
"additionalProperties": false,
"properties": {
"c": {
"const": "estantes",
"type": "string"
},
"n": {
"maximum": 12,
"minimum": 1,
"type": "integer"
}
},
"required": [
"c",
"n"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "cajones",
"type": "string"
},
"lock": {
"enum": [
"magnetica",
"llave"
],
"type": "string"
},
"n": {
"maximum": 8,
"minimum": 1,
"type": "integer"
},
"push": {
"type": "boolean"
}
},
"required": [
"c",
"n"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "cajonSecreto",
"type": "string"
}
},
"required": [
"c"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "barral",
"type": "string"
}
},
"required": [
"c"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "botellero",
"type": "string"
}
},
"required": [
"c"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "zapatero",
"type": "string"
},
"n": {
"maximum": 5,
"minimum": 1,
"type": "integer"
}
},
"required": [
"c",
"n"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "vidrio",
"type": "string"
},
"n": {
"maximum": 8,
"minimum": 1,
"type": "integer"
}
},
"required": [
"c",
"n"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "bandeja",
"type": "string"
},
"n": {
"maximum": 6,
"minimum": 1,
"type": "integer"
}
},
"required": [
"c",
"n"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "ranurado",
"type": "string"
},
"n": {
"maximum": 30,
"minimum": 3,
"type": "integer"
}
},
"required": [
"c",
"n"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "hueco",
"type": "string"
}
},
"required": [
"c"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "vacio",
"type": "string"
}
},
"required": [
"c"
],
"type": "object"
}
]
},
"door": {
"enum": [
"izq",
"der",
"doble",
"arriba",
"abajo",
"corrediza"
],
"type": "string"
},
"led": {
"type": "boolean"
},
"lock": {
"enum": [
"magnetica",
"llave"
],
"type": "string"
},
"push": {
"type": "boolean"
}
},
"required": [
"content"
],
"type": "object"
},
{
"$ref": "#/definitions/__schema0"
}
]
},
"slidingDoor": {
"enum": [
"full",
"per-column"
],
"type": "string"
},
"softClose": {
"type": "boolean"
},
"techoPasante": {
"type": "boolean"
},
"width": {
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"kind",
"width",
"height",
"depth",
"material",
"backPanel",
"root"
],
"type": "object"
}
]
}
},
"type": "object"
},
"name": "validar_factibilidad",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"editor_url": {
"type": "string"
},
"factible": {
"type": "boolean"
},
"nota": {
"type": "string"
},
"warnings": {
"items": {
"additionalProperties": false,
"properties": {
"mensaje": {
"type": "string"
},
"severidad": {
"type": "string"
},
"tipo": {
"type": "string"
}
},
"required": [
"tipo",
"severidad",
"mensaje"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"factible",
"warnings",
"nota"
],
"type": "object"
}
},
{
"description": "Devuelve una VISTA 2D del mueble (frente + lateral + planta, a la misma escala) como imagen SVG, más el link al editor 3D. Para el MODELO 3D (GLB) o para armar+cotizar de una, preferí construir_mueble; usá ver_mueble solo si querés únicamente la vista 2D rápida. Acepta los mismos args que cotizar_mueble: preset o params, más ajustes de medidas opcionales. (preview furniture, orthographic views, see the design, front side top view)",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"definitions": {
"__schema0": {
"additionalProperties": false,
"properties": {
"ch": {
"items": {
"additionalProperties": false,
"properties": {
"alto": {
"maximum": 3000,
"minimum": 150,
"type": "number"
},
"colgado": {
"type": "boolean"
},
"f": {
"exclusiveMinimum": 0,
"type": "number"
},
"node": {
"anyOf": [
{
"additionalProperties": false,
"properties": {
"content": {
"oneOf": [
{
"additionalProperties": false,
"properties": {
"c": {
"const": "estantes",
"type": "string"
},
"n": {
"maximum": 12,
"minimum": 1,
"type": "integer"
}
},
"required": [
"c",
"n"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "cajones",
"type": "string"
},
"lock": {
"enum": [
"magnetica",
"llave"
],
"type": "string"
},
"n": {
"maximum": 8,
"minimum": 1,
"type": "integer"
},
"push": {
"type": "boolean"
}
},
"required": [
"c",
"n"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "cajonSecreto",
"type": "string"
}
},
"required": [
"c"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "barral",
"type": "string"
}
},
"required": [
"c"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "botellero",
"type": "string"
}
},
"required": [
"c"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "zapatero",
"type": "string"
},
"n": {
"maximum": 5,
"minimum": 1,
"type": "integer"
}
},
"required": [
"c",
"n"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "vidrio",
"type": "string"
},
"n": {
"maximum": 8,
"minimum": 1,
"type": "integer"
}
},
"required": [
"c",
"n"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "bandeja",
"type": "string"
},
"n": {
"maximum": 6,
"minimum": 1,
"type": "integer"
}
},
"required": [
"c",
"n"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "ranurado",
"type": "string"
},
"n": {
"maximum": 30,
"minimum": 3,
"type": "integer"
}
},
"required": [
"c",
"n"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "hueco",
"type": "string"
}
},
"required": [
"c"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "vacio",
"type": "string"
}
},
"required": [
"c"
],
"type": "object"
}
]
},
"door": {
"enum": [
"izq",
"der",
"doble",
"arriba",
"abajo",
"corrediza"
],
"type": "string"
},
"led": {
"type": "boolean"
},
"lock": {
"enum": [
"magnetica",
"llave"
],
"type": "string"
},
"push": {
"type": "boolean"
}
},
"required": [
"content"
],
"type": "object"
},
{
"$ref": "#/definitions/__schema0"
}
]
},
"prof": {
"maximum": 1200,
"minimum": 80,
"type": "number"
}
},
"required": [
"f",
"node"
],
"type": "object"
},
"maxItems": 8,
"minItems": 2,
"type": "array"
},
"door": {
"enum": [
"izq",
"der",
"doble",
"arriba",
"abajo",
"corrediza"
],
"type": "string"
},
"lock": {
"enum": [
"magnetica",
"llave"
],
"type": "string"
},
"push": {
"type": "boolean"
},
"s": {
"enum": [
"V",
"H"
],
"type": "string"
}
},
"required": [
"s",
"ch"
],
"type": "object"
}
},
"properties": {
"ajustes": {
"additionalProperties": false,
"description": "Ajustes de medidas opcionales, en milímetros, sobre el preset O sobre los params que pases. Sólo los campos que querés sobreescribir. Ej: {ancho_mm: 2400}.",
"properties": {
"alto_mm": {
"exclusiveMinimum": 0,
"type": "number"
},
"ancho_mm": {
"exclusiveMinimum": 0,
"type": "number"
},
"profundidad_mm": {
"exclusiveMinimum": 0,
"type": "number"
}
},
"type": "object"
},
"params": {
"description": "Params paramétricos completos del mueble (alternativa a 'preset'). Requerido si no se pasa 'preset'. Debe incluir kind, material y las medidas y opciones requeridas por ese kind; deck no lleva height. El schema enumera todos los campos por kind. Modular: frontMaterial (mismo espesor que material), softClose, base, colgado, enCuerpos, slidingDoor, glassDoors, overlay y techoPasante (techo al ancho total sobre los laterales; también en shelf y wardrobe). root admite cortes V/H anidados; cada hijo tiene f y, si genera cuerpo, alto/prof/colgado. En cortes H el alto se reparte con f, no con alto. height y depth deben abarcar todos los cuerpos. Cada hoja admite door, lock, push y led; content.c incluye cajonSecreto y cajones con content.lock/content.push. Shelf: shelves:0 deja solo carcasa; openFrame usa bastidor sin fondo. Cama: headboard modular, headboardShelves, drawersPerSide, bunk, bunkHeight, bunkLadderSide, mattressThickness, baseHeight. Sofá/banqueta: seatHeight (sofá), backrestAngle y cushionThickness. Otros tipos exponen sus opciones en el schema. Los avisos explican qué opción se recortó o no se aplicó y cómo corregirla.",
"oneOf": [
{
"additionalProperties": false,
"properties": {
"backPanel": {
"type": "boolean"
},
"depth": {
"exclusiveMinimum": 0,
"type": "number"
},
"height": {
"exclusiveMinimum": 0,
"type": "number"
},
"kind": {
"const": "shelf",
"type": "string"
},
"material": {
"type": "string"
},
"openFrame": {
"type": "boolean"
},
"shelves": {
"maximum": 9007199254740991,
"minimum": 0,
"type": "integer"
},
"techoPasante": {
"type": "boolean"
},
"width": {
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"kind",
"width",
"height",
"depth",
"shelves",
"backPanel",
"material"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"depth": {
"exclusiveMinimum": 0,
"type": "number"
},
"drawers": {
"maximum": 9007199254740991,
"minimum": 0,
"type": "integer"
},
"height": {
"exclusiveMinimum": 0,
"type": "number"
},
"kind": {
"const": "desk",
"type": "string"
},
"material": {
"type": "string"
},
"width": {
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"kind",
"width",
"height",
"depth",
"drawers",
"material"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"depth": {
"exclusiveMinimum": 0,
"type": "number"
},
"doors": {
"maximum": 9007199254740991,
"minimum": 0,
"type": "integer"
},
"height": {
"exclusiveMinimum": 0,
"type": "number"
},
"kind": {
"const": "wardrobe",
"type": "string"
},
"material": {
"type": "string"
},
"rod": {
"type": "boolean"
},
"techoPasante": {
"type": "boolean"
},
"width": {
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"kind",
"width",
"height",
"depth",
"doors",
"rod",
"material"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"depth": {
"exclusiveMinimum": 0,
"type": "number"
},
"height": {
"exclusiveMinimum": 0,
"type": "number"
},
"kind": {
"const": "pergola",
"type": "string"
},
"material": {
"type": "string"
},
"postSize": {
"exclusiveMinimum": 0,
"type": "number"
},
"rafters": {
"maximum": 9007199254740991,
"minimum": 1,
"type": "integer"
},
"slope": {
"maximum": 45,
"minimum": 0,
"type": "number"
},
"width": {
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"kind",
"width",
"depth",
"height",
"rafters",
"postSize",
"slope",
"material"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"boardWidth": {
"exclusiveMinimum": 0,
"type": "number"
},
"depth": {
"exclusiveMinimum": 0,
"type": "number"
},
"gap": {
"minimum": 0,
"type": "number"
},
"joists": {
"maximum": 9007199254740991,
"minimum": 1,
"type": "integer"
},
"kind": {
"const": "deck",
"type": "string"
},
"material": {
"type": "string"
},
"width": {
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"kind",
"width",
"depth",
"boardWidth",
"gap",
"joists",
"material"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"depth": {
"exclusiveMinimum": 0,
"type": "number"
},
"height": {
"exclusiveMinimum": 0,
"type": "number"
},
"kind": {
"const": "table",
"type": "string"
},
"legSize": {
"exclusiveMinimum": 0,
"type": "number"
},
"material": {
"type": "string"
},
"width": {
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"kind",
"width",
"height",
"depth",
"legSize",
"material"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"depth": {
"exclusiveMinimum": 0,
"type": "number"
},
"height": {
"exclusiveMinimum": 0,
"type": "number"
},
"kind": {
"const": "picnic",
"type": "string"
},
"material": {
"type": "string"
},
"seatHeight": {
"exclusiveMinimum": 0,
"type": "number"
},
"tabletopDepth": {
"exclusiveMinimum": 0,
"type": "number"
},
"width": {
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"kind",
"width",
"height",
"depth",
"tabletopDepth",
"seatHeight",
"material"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"baseHeight": {
"exclusiveMinimum": 0,
"type": "number"
},
"bunk": {
"type": "boolean"
},
"bunkHeight": {
"maximum": 1600,
"minimum": 900,
"type": "number"
},
"bunkLadderSide": {
"enum": [
"izq",
"der"
],
"type": "string"
},
"depth": {
"exclusiveMinimum": 0,
"type": "number"
},
"drawersPerSide": {
"maximum": 4,
"minimum": 0,
"type": "integer"
},
"headboard": {
"additionalProperties": false,
"properties": {
"backPanel": {
"type": "boolean"
},
"base": {
"enum": [
"zocalo",
"patas",
"ruedas"
],
"type": "string"
},
"colgado": {
"type": "boolean"
},
"depth": {
"exclusiveMinimum": 0,
"type": "number"
},
"enCuerpos": {
"type": "boolean"
},
"frontMaterial": {
"type": "string"
},
"glassDoors": {
"type": "boolean"
},
"height": {
"exclusiveMinimum": 0,
"type": "number"
},
"kind": {
"const": "modular",
"type": "string"
},
"material": {
"type": "string"
},
"overlay": {
"type": "boolean"
},
"root": {
"anyOf": [
{
"additionalProperties": false,
"properties": {
"content": {
"oneOf": [
{
"additionalProperties": false,
"properties": {
"c": {
"const": "estantes",
"type": "string"
},
"n": {
"maximum": 12,
"minimum": 1,
"type": "integer"
}
},
"required": [
"c",
"n"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "cajones",
"type": "string"
},
"lock": {
"enum": [
"magnetica",
"llave"
],
"type": "string"
},
"n": {
"maximum": 8,
"minimum": 1,
"type": "integer"
},
"push": {
"type": "boolean"
}
},
"required": [
"c",
"n"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "cajonSecreto",
"type": "string"
}
},
"required": [
"c"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "barral",
"type": "string"
}
},
"required": [
"c"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "botellero",
"type": "string"
}
},
"required": [
"c"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "zapatero",
"type": "string"
},
"n": {
"maximum": 5,
"minimum": 1,
"type": "integer"
}
},
"required": [
"c",
"n"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "vidrio",
"type": "string"
},
"n": {
"maximum": 8,
"minimum": 1,
"type": "integer"
}
},
"required": [
"c",
"n"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "bandeja",
"type": "string"
},
"n": {
"maximum": 6,
"minimum": 1,
"type": "integer"
}
},
"required": [
"c",
"n"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "ranurado",
"type": "string"
},
"n": {
"maximum": 30,
"minimum": 3,
"type": "integer"
}
},
"required": [
"c",
"n"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "hueco",
"type": "string"
}
},
"required": [
"c"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "vacio",
"type": "string"
}
},
"required": [
"c"
],
"type": "object"
}
]
},
"door": {
"enum": [
"izq",
"der",
"doble",
"arriba",
"abajo",
"corrediza"
],
"type": "string"
},
"led": {
"type": "boolean"
},
"lock": {
"enum": [
"magnetica",
"llave"
],
"type": "string"
},
"push": {
"type": "boolean"
}
},
"required": [
"content"
],
"type": "object"
},
{
"$ref": "#/definitions/__schema0"
}
]
},
"slidingDoor": {
"enum": [
"full",
"per-column"
],
"type": "string"
},
"softClose": {
"type": "boolean"
},
"techoPasante": {
"type": "boolean"
},
"width": {
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"kind",
"width",
"height",
"depth",
"material",
"backPanel",
"root"
],
"type": "object"
},
"headboardShelves": {
"maximum": 6,
"minimum": 0,
"type": "integer"
},
"height": {
"exclusiveMinimum": 0,
"type": "number"
},
"kind": {
"const": "cama",
"type": "string"
},
"material": {
"type": "string"
},
"mattressThickness": {
"exclusiveMinimum": 0,
"type": "number"
},
"storage": {
"type": "boolean"
},
"width": {
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"kind",
"width",
"height",
"depth",
"storage",
"material"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"arms": {
"type": "boolean"
},
"backrestAngle": {
"maximum": 45,
"minimum": 0,
"type": "number"
},
"cushionThickness": {
"minimum": 0,
"type": "number"
},
"depth": {
"exclusiveMinimum": 0,
"type": "number"
},
"height": {
"exclusiveMinimum": 0,
"type": "number"
},
"kind": {
"const": "sofa",
"type": "string"
},
"material": {
"type": "string"
},
"seatHeight": {
"exclusiveMinimum": 0,
"type": "number"
},
"width": {
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"kind",
"width",
"height",
"depth",
"arms",
"material"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"backrest": {
"type": "boolean"
},
"backrestAngle": {
"maximum": 45,
"minimum": 0,
"type": "number"
},
"cushionThickness": {
"minimum": 0,
"type": "number"
},
"depth": {
"exclusiveMinimum": 0,
"type": "number"
},
"height": {
"exclusiveMinimum": 0,
"type": "number"
},
"kind": {
"const": "banqueta",
"type": "string"
},
"material": {
"type": "string"
},
"width": {
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"kind",
"width",
"height",
"depth",
"backrest",
"material"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"depth": {
"exclusiveMinimum": 0,
"type": "number"
},
"height": {
"exclusiveMinimum": 0,
"type": "number"
},
"kind": {
"const": "espejo",
"type": "string"
},
"material": {
"type": "string"
},
"width": {
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"kind",
"width",
"height",
"depth",
"material"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"depth": {
"exclusiveMinimum": 0,
"type": "number"
},
"height": {
"exclusiveMinimum": 0,
"type": "number"
},
"kind": {
"const": "caja",
"type": "string"
},
"legs": {
"maximum": 900,
"minimum": 0,
"type": "number"
},
"lid": {
"enum": [
"ninguna",
"fija",
"abisagrada"
],
"type": "string"
},
"material": {
"type": "string"
},
"wheels": {
"type": "boolean"
},
"width": {
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"kind",
"width",
"height",
"depth",
"lid",
"wheels",
"material"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"depth": {
"exclusiveMinimum": 0,
"type": "number"
},
"height": {
"exclusiveMinimum": 0,
"type": "number"
},
"kind": {
"const": "cortina",
"type": "string"
},
"material": {
"type": "string"
},
"width": {
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"kind",
"width",
"height",
"depth",
"material"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"depth": {
"exclusiveMinimum": 0,
"type": "number"
},
"height": {
"exclusiveMinimum": 0,
"type": "number"
},
"hojas": {
"maximum": 6,
"minimum": 2,
"type": "integer"
},
"kind": {
"const": "biombo",
"type": "string"
},
"material": {
"type": "string"
},
"relleno": {
"type": "boolean"
},
"width": {
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"kind",
"width",
"height",
"depth",
"hojas",
"relleno",
"material"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"depth": {
"exclusiveMinimum": 0,
"type": "number"
},
"height": {
"exclusiveMinimum": 0,
"type": "number"
},
"kind": {
"const": "invernadero",
"type": "string"
},
"material": {
"type": "string"
},
"puerta": {
"type": "boolean"
},
"shelves": {
"maximum": 9007199254740991,
"minimum": 0,
"type": "integer"
},
"slope": {
"maximum": 45,
"minimum": 0,
"type": "number"
},
"width": {
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"kind",
"width",
"height",
"depth",
"slope",
"shelves",
"puerta",
"material"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"backPanel": {
"type": "boolean"
},
"base": {
"enum": [
"zocalo",
"patas",
"ruedas"
],
"type": "string"
},
"colgado": {
"type": "boolean"
},
"depth": {
"exclusiveMinimum": 0,
"type": "number"
},
"enCuerpos": {
"type": "boolean"
},
"frontMaterial": {
"type": "string"
},
"glassDoors": {
"type": "boolean"
},
"height": {
"exclusiveMinimum": 0,
"type": "number"
},
"kind": {
"const": "modular",
"type": "string"
},
"material": {
"type": "string"
},
"overlay": {
"type": "boolean"
},
"root": {
"anyOf": [
{
"additionalProperties": false,
"properties": {
"content": {
"oneOf": [
{
"additionalProperties": false,
"properties": {
"c": {
"const": "estantes",
"type": "string"
},
"n": {
"maximum": 12,
"minimum": 1,
"type": "integer"
}
},
"required": [
"c",
"n"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "cajones",
"type": "string"
},
"lock": {
"enum": [
"magnetica",
"llave"
],
"type": "string"
},
"n": {
"maximum": 8,
"minimum": 1,
"type": "integer"
},
"push": {
"type": "boolean"
}
},
"required": [
"c",
"n"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "cajonSecreto",
"type": "string"
}
},
"required": [
"c"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "barral",
"type": "string"
}
},
"required": [
"c"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "botellero",
"type": "string"
}
},
"required": [
"c"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "zapatero",
"type": "string"
},
"n": {
"maximum": 5,
"minimum": 1,
"type": "integer"
}
},
"required": [
"c",
"n"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "vidrio",
"type": "string"
},
"n": {
"maximum": 8,
"minimum": 1,
"type": "integer"
}
},
"required": [
"c",
"n"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "bandeja",
"type": "string"
},
"n": {
"maximum": 6,
"minimum": 1,
"type": "integer"
}
},
"required": [
"c",
"n"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "ranurado",
"type": "string"
},
"n": {
"maximum": 30,
"minimum": 3,
"type": "integer"
}
},
"required": [
"c",
"n"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "hueco",
"type": "string"
}
},
"required": [
"c"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"c": {
"const": "vacio",
"type": "string"
}
},
"required": [
"c"
],
"type": "object"
}
]
},
"door": {
"enum": [
"izq",
"der",
"doble",
"arriba",
"abajo",
"corrediza"
],
"type": "string"
},
"led": {
"type": "boolean"
},
"lock": {
"enum": [
"magnetica",
"llave"
],
"type": "string"
},
"push": {
"type": "boolean"
}
},
"required": [
"content"
],
"type": "object"
},
{
"$ref": "#/definitions/__schema0"
}
]
},
"slidingDoor": {
"enum": [
"full",
"per-column"
],
"type": "string"
},
"softClose": {
"type": "boolean"
},
"techoPasante": {
"type": "boolean"
},
"width": {
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"kind",
"width",
"height",
"depth",
"material",
"backPanel",
"root"
],
"type": "object"
}
]
},
"preset": {
"description": "ID del preset del mueble a visualizar. Requerido si no se pasa 'params'. Ejemplos: 'placard-corredizo', 'biblioteca', 'escritorio-cajonera', 'comoda', 'bajo-mesada'. Usá listar_presets para ver todos los ids disponibles.",
"type": "string"
}
},
"type": "object"
},
"name": "ver_mueble",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"editor_url": {
"type": "string"
},
"medidas_mm": {
"additionalProperties": false,
"properties": {
"alto": {
"type": "number"
},
"ancho": {
"type": "number"
},
"profundidad": {
"type": "number"
}
},
"required": [
"ancho",
"alto",
"profundidad"
],
"type": "object"
},
"mueble": {
"type": "string"
},
"nota": {
"type": "string"
}
},
"required": [
"mueble",
"medidas_mm",
"nota",
"editor_url"
],
"type": "object"
}
}
]
}Verify it yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:b7e1feed2ec09db541cd44f06f99cfe2b62e98f9ea477b568cb0548148cf6c97 | sha256sum