Endpoints: 28,729MCP servers: 18,413Payout addresses: 2,071Paid calls: 1,545Letters: 14Defects: 1,324counted 4 min ago
teppi

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 yourselfcurl -s https://api.teppi.xyz/v1/evidence/sha256:b7e1feed2ec09db541cd44f06f99cfe2b62e98f9ea477b568cb0548148cf6c97 | sha256sum