{"ok":true,"site":{"host":"josenobile.github.io","url":"https://josenobile.github.io/tendero/","type":"live","desc":"Surtitienda La Milagrosa","tools":[{"name":"buscar_productos","kind":"act","impl":"imperative","description":"[EN: Searches this Colombian corner-store catalogue and returns, for every hit, its Colombian VAT treatment and a shelf price already computed for the destination municipality.] Busca referencias en el catálogo de esta tienda de barrio de Medellín. Para cada una devuelve su régimen tributario colombiano — IVA 19 % (Art. 468 ET), IVA 5 % (Art. 468-1), EXENTO a tarifa cero (Art. 477), EXCLUIDO sin línea de impuesto (Art. 424) o INC 8 % en vez de IVA para comida preparada (Art. 512-1) — y el precio de góndola YA CALCULADO PARA EL DESTINO. El precio depende del destino: en San Andrés y Providencia (Art. 423 ET) y en Amazonas, Guainía y Vaupés (Art. 270 de la Ley 223 de 1995) la venta no causa IVA, así que la misma referencia cuesta menos allá. Nunca cites un precio de esta tienda sin decir a qué destino corresponde.","annotations":{"title":"buscar_productos","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"consulta":{"type":"string","description":"Texto libre; tolera tildes y mayúsculas ('cafe' encuentra 'Café tostado'). Vacío devuelve el catálogo completo."},"categoria":{"type":"string","enum":["fruver","lacteos_y_huevos","carnicos","abarrotes","cafe_y_cacao","panaderia","aseo","bebidas","mascotas","comida_preparada"],"description":"Sección de la tienda. Si se envía, ignora `consulta`."},"destino":{"type":"string","description":"Municipio colombiano de destino: nombre con o sin tildes ('Leticia', 'Medellin') o código DANE de cinco dígitos ('91001'). La tienda cubre 50 municipios."},"limite":{"type":"integer","minimum":1,"maximum":100,"description":"Máximo de referencias a devolver. Por defecto 24."}},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"polyfill","executable":true,"handlerField":"execute","page":"/tendero/","pages":["/tendero/","/tendero/?lang=en"]},{"name":"validar_documento_dian","kind":"act","impl":"imperative","description":"[EN: Validates the buyer tax ID against the Colombian tax authority (DIAN) e-invoicing spec, including the NIT check digit, which it computes when the customer does not know it.] Valida la identificación tributaria del comprador contra el anexo técnico de facturación electrónica de la DIAN y devuelve el código de tipo que va en el documento: CC 13, CE 22, NIT 31, PA 41, TI 12, PEP 47. Para un NIT verifica el dígito de verificación con la serie de primos oficial aplicada de derecha a izquierda y, si el cliente no lo dictó, lo CALCULA en vez de rechazar — porque el cliente de una tienda casi nunca se lo sabe. Un dígito equivocado hace que la DIAN rechace el documento electrónico completo, así que no lo inventes ni lo adivines: pedíselo a esta herramienta.","annotations":{"title":"validar_documento_dian","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"tipo":{"type":"string","enum":["CC","CE","NIT","PA","TI","PEP"],"description":"Tipo de documento. CC cédula de ciudadanía, CE de extranjería, NIT empresa, PA pasaporte, TI tarjeta de identidad, PEP permiso especial de permanencia."},"numero":{"type":"string","description":"Número tal como lo dicta la persona. Acepta puntos y el guion del dígito de verificación: '890.903.938-8', '890903938-8' o '890903938'."}},"required":["tipo","numero"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"polyfill","executable":true,"handlerField":"execute","page":"/tendero/","pages":["/tendero/","/tendero/?lang=en"]},{"name":"agregar_al_carrito","kind":"act","impl":"imperative","description":"[EN: Adds items to the page cart by free text or SKU, and is the gateway of the whole surface: the first item in the cart is what unlocks the tax, withdrawal, freight and payment tools.] Agrega referencias al carrito de la página — la puerta de entrada de toda la superficie: con el carrito vacío solo existen buscar_productos, validar_documento_dian y estas dos herramientas, y al entrar la primera referencia aparecen calcular_total_con_iva, consultar_derecho_retracto, cotizar_envio y metodos_de_pago —los rieles piden el destino si la página no lo tiene fijado—. Cada línea lleva `consulta` (texto libre tal como lo pidió el cliente: 'jabón', 'leche', resuelto con la misma búsqueda de buscar_productos, que tolera tildes y mayúsculas) o el `sku` exacto, más su `cantidad`. Si la consulta coincide con varias referencias, esta herramienta NO adivina: devuelve las candidatas y espera que elijas. Devuelve el carrito resultante, ya recalculado. ESTA HERRAMIENTA MODIFICA LA PÁGINA: pinta el carrito, crece la superficie de herramientas y recalcula lo que la página ya había pintado.","annotations":{"title":"agregar_al_carrito","readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"lineas":{"type":"array","description":"Líneas a agregar, en el orden pedido. Cada una lleva `consulta` o `sku` (uno solo) y su `cantidad`.","items":{"type":"object","properties":{"consulta":{"type":"string","description":"Texto libre, p. ej. 'jabón' o 'leche'. Se resuelve contra el catálogo con la misma búsqueda de buscar_productos. Si cae en varias referencias, la herramienta no adivina: las devuelve como candidatas."},"sku":{"type":"string","description":"SKU exacto, p. ej. 'ASE-JAB-X3'; si se envía, salta la búsqueda por texto. Se consigue con buscar_productos."},"cantidad":{"type":"integer","minimum":1,"description":"Unidades a agregar a esa referencia. Por defecto 1."}},"required":["cantidad"],"additionalProperties":false}}},"required":["lineas"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"polyfill","executable":true,"handlerField":"execute","page":"/tendero/","pages":["/tendero/","/tendero/?lang=en"]},{"name":"quitar_del_carrito","kind":"act","impl":"imperative","description":"[EN: Removes units, or a whole line, from the page cart; emptying the cart shrinks the tool surface back to its base rung.] Quita unidades de una referencia del carrito de la página; si se omite `cantidad`, quita la línea entera. Es la inversión exacta de agregar_al_carrito: ambas escriben el carrito de la página, que es el estado que despierta el resto de la superficie — si el carrito queda vacío, la superficie vuelve al nivel cero y se retiran las herramientas que solo tenían sentido con un pedido. El `sku` es el mismo que devuelven buscar_productos y el propio carrito. Devuelve el carrito resultante, ya recalculado. ESTA HERRAMIENTA MODIFICA LA PÁGINA: pinta el carrito y ajusta la superficie de herramientas.","annotations":{"title":"quitar_del_carrito","readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"sku":{"type":"string","description":"SKU exacto de la referencia a quitar, p. ej. 'ASE-JAB-X3'. El mismo que devuelven buscar_productos y el carrito."},"cantidad":{"type":"integer","minimum":1,"description":"Unidades a quitar. Si se omite, se quita la línea completa."}},"required":["sku"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"polyfill","executable":true,"handlerField":"execute","page":"/tendero/","pages":["/tendero/","/tendero/?lang=en"]}],"category":"Commerce","favicon":"/favicons/josenobile.github.io.svg","apiSurface":"polyfill","toolCount":4}}