products-payment-refacil-mcp 1.2.8 → 1.2.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +40 -2
- package/dist/core/resources.js +5 -5
- package/dist/core/resources.js.map +1 -1
- package/dist/core/tools.js +2 -2
- package/dist/core/tools.js.map +1 -1
- package/dist/index.js +2 -2
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1197,6 +1197,15 @@ Debes proporcionar al menos uno de los siguientes parámetros:
|
|
|
1197
1197
|
- **`cartId`** (string, opcional): ID único del carrito de compras (UUID)
|
|
1198
1198
|
|
|
1199
1199
|
|
|
1200
|
+
**➕ Campo adicional `paymentMethods` (sin cambiar el payload existente):**
|
|
1201
|
+
|
|
1202
|
+
- Con **`requestId`**: la respuesta conserva la forma individual (`id`, `cartId`, `status`, `details`, `urlInvoice`, `urlSummary`, `invoiceDueDate`, …) y **agrega** `paymentMethods` cuando el carrito asociado (resuelto vía `cartId` del request) está en estado `ACTIVE`.
|
|
1203
|
+
|
|
1204
|
+
- Con **`cartId`**: la respuesta conserva la forma de carrito (`products`, `totalAmount`, `itemsCount`, …) y **agrega** `paymentMethods` solo si el carrito está `ACTIVE`.
|
|
1205
|
+
|
|
1206
|
+
- Si el carrito no está activo o `totalAmount` es 0: el campo se omite o retorna `[]`.
|
|
1207
|
+
|
|
1208
|
+
|
|
1200
1209
|
**Headers requeridos:**
|
|
1201
1210
|
|
|
1202
1211
|
- `Authorization: Bearer {token}`
|
|
@@ -1307,6 +1316,14 @@ POST /product-requests/status
|
|
|
1307
1316
|
"totalAmount": "9999.00",
|
|
1308
1317
|
"itemsCount": 1,
|
|
1309
1318
|
"urlSummary": "https://mf-core.refacil.co/refacilpay/resumen/62/28137590-b69d-11f0-8c08-b71754a3ac6b",
|
|
1319
|
+
"paymentMethods": [
|
|
1320
|
+
{
|
|
1321
|
+
"id": 56,
|
|
1322
|
+
"name": "PSE",
|
|
1323
|
+
"categoryid": 61,
|
|
1324
|
+
"template_data_request": { "bankId": "1022" }
|
|
1325
|
+
}
|
|
1326
|
+
],
|
|
1310
1327
|
"products": [
|
|
1311
1328
|
{
|
|
1312
1329
|
"id": "019a3c15-9d0c-734b-8346-617d6ba466d8",
|
|
@@ -1413,6 +1430,13 @@ Debes proporcionar al menos uno de los siguientes parámetros:
|
|
|
1413
1430
|
- **`cartId`** (string, opcional): ID único del carrito de compras (UUID)
|
|
1414
1431
|
|
|
1415
1432
|
|
|
1433
|
+
**➕ Campos adicionales en la respuesta (`cartId`, `totalAmount`, `paymentMethods`):**
|
|
1434
|
+
|
|
1435
|
+
- Descarte por **`requestId`**: resuelve el `cartId` de la solicitud, consulta el carrito tras el descarte y retorna `totalAmount` + `paymentMethods` del carrito restante.
|
|
1436
|
+
|
|
1437
|
+
- Descarte por **`cartId`**: retorna `totalAmount` y `paymentMethods` (típicamente `[]` si se descartaron todos los ítems).
|
|
1438
|
+
|
|
1439
|
+
|
|
1416
1440
|
**Headers requeridos:**
|
|
1417
1441
|
|
|
1418
1442
|
- `Authorization: Bearer {token}`
|
|
@@ -1458,13 +1482,25 @@ POST /product-requests/discard
|
|
|
1458
1482
|
"message": "Solicitud descartada exitosamente",
|
|
1459
1483
|
"date": 1754945173974,
|
|
1460
1484
|
"payload": {
|
|
1485
|
+
"cartId": "019a3c15-9cfc-7c3a-82ff-d87477378092",
|
|
1461
1486
|
"requestId": "15974df4-a599-4d28-a2f2-bb5b8faa678b",
|
|
1462
|
-
"status": "DISCARDED"
|
|
1487
|
+
"status": "DISCARDED",
|
|
1488
|
+
"totalAmount": 5000,
|
|
1489
|
+
"paymentMethods": [
|
|
1490
|
+
{
|
|
1491
|
+
"id": 56,
|
|
1492
|
+
"name": "PSE",
|
|
1493
|
+
"categoryid": 61,
|
|
1494
|
+
"template_data_request": { "bankId": "1022" }
|
|
1495
|
+
}
|
|
1496
|
+
]
|
|
1463
1497
|
}
|
|
1464
1498
|
}
|
|
1465
1499
|
|
|
1466
1500
|
```
|
|
1467
1501
|
|
|
1502
|
+
> ℹ️ Tras descartar por `requestId`, el sistema consulta el carrito asociado y recalcula `paymentMethods` sobre el `totalAmount` restante. Si el carrito queda en `totalAmount: 0`, `paymentMethods` es `[]`.
|
|
1503
|
+
|
|
1468
1504
|
**🛒 Flujo de Uso - Carrito Completo:**
|
|
1469
1505
|
|
|
1470
1506
|
**1\. Descartar carrito usando cartId:**
|
|
@@ -1486,7 +1522,9 @@ POST /product-requests/discard
|
|
|
1486
1522
|
"date": 1754945173974,
|
|
1487
1523
|
"payload": {
|
|
1488
1524
|
"cartId": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
|
|
1489
|
-
"status": "
|
|
1525
|
+
"status": "ACTIVE",
|
|
1526
|
+
"totalAmount": 0,
|
|
1527
|
+
"paymentMethods": [],
|
|
1490
1528
|
"discardedCount": 2,
|
|
1491
1529
|
"products": [
|
|
1492
1530
|
{
|
package/dist/core/resources.js
CHANGED
|
@@ -37,7 +37,7 @@ export const resources = [
|
|
|
37
37
|
"name": "🛒 Solicitudes de Producto - Documentation",
|
|
38
38
|
"description": "Endpoints para crear solicitudes de productos",
|
|
39
39
|
"mimeType": "text/markdown",
|
|
40
|
-
"content": "# 🛒 Solicitudes de Producto\n\nEndpoints para crear solicitudes de productos\n\n## Endpoints\n\n### 4.5 Cotizar Producto\n\n**Method**: `POST`\n\n**Path**: `/product-requests/quote`\n\nCotiza el valor de un producto que requiere consulta previa **sin crear una solicitud de compra ni agregarlo al carrito**. Este endpoint es ideal para mostrar el monto al usuario antes de que decida comprar.\n\n**🎯 Casos de Uso:**\n\n- **Consulta de Facturas**: Mostrar el valor adeudado antes de agregar al carrito\n- **SOAT**: Verificar precio del seguro antes de comprar\n- **Servicios Públicos**: Ver monto a pagar antes de proceder\n- **Cualquier producto con consulta previa**: Obtener precio sin compromiso de compra\n\n**✅ Ventajas:**\n\n- No crea carrito ni solicitud de compra\n- Solo consulta y guarda trazabilidad\n- Usuario puede ver el monto antes de decidir\n- Analytics de cotizaciones vs compras\n\n**📊 Vinculación Automática:**\n\nSi el usuario decide comprar usando `/product-requests/create` con los **mismos datos**, el sistema:\n\n- Vincula automáticamente la cotización con la compra\n- Permite análisis de tasa de conversión\n- Identifica usuarios que cotizaron pero no compraron\n\n**Headers requeridos:**\n\n- `Authorization: Bearer {token}`\n- `x-secret-id: {secretId}`\n\n**Body (JSON):**\n\n- `category_id` (number, requerido): ID de la categoría\n- `id` (number, requerido): ID del producto\n- `amount` (number|null, opcional): Usar `null` para productos con consulta previa\n- `data` (object, requerido): Datos específicos del producto\n- `query_type` (string, requerido): Tipo de consulta (BILLData, PLATE_QUERY, etc.)\n- `sell_type` (string, requerido): Tipo de venta (debe requerir consulta previa)\n- `agreement` (string, opcional): Acuerdo del producto\n\n**⚠️ Importante:**\n\n- Solo funciona para productos que **requieren consulta previa**\n- Para productos directos, usar `/product-requests/create`\n- No retorna medios de pago (solo el monto cotizado)\n\n**Respuesta exitosa (200):**\n\n```json\n{\n \"statusCode\": 200,\n \"message\": \"Cotización realizada exitosamente\",\n \"date\": 1733932800000,\n \"payload\": {\n \"quoteId\": \"a1b2c3d4-e5f6-7890-abcd-ef1234567890\",\n \"productId\": 52368,\n \"categoryId\": 120,\n \"amount\": 150000,\n \"additionalData\": {\n \"invoiceDueDate\": \"2026-05-10\",\n \"reference\": \"123456789\",\n \"customerName\": \"JUAN PEREZ\",\n \"address\": \"Calle 123\"\n },\n \"quotedAt\": \"2024-01-11T10:30:00.000Z\"\n }\n}\n```\n\n**Campos de la respuesta:**\n\n- `quoteId`: ID de la cotización guardada\n- `productId`: ID del producto cotizado\n- `categoryId`: ID de la categoría del producto\n- `amount`: Monto cotizado\n- `additionalData`: Datos adicionales del producto consultado. Incluye `invoiceDueDate: string | null` cuando el proveedor retorna fecha de vencimiento de la factura; es `null` para productos que no aplican\n- `quotedAt`: Timestamp de la cotización\n\n**Respuesta de error (400) - Producto directo:**\n\n```json\n{\n \"statusCode\": 400,\n \"message\": \"Este producto no requiere cotización previa\",\n \"date\": 1733932800000,\n \"payload\": {\n \"error\": \"PRODUCT_DOES_NOT_REQUIRE_QUOTE\",\n \"message\": \"Use el endpoint /create para compra directa\"\n }\n}\n```\n\n**Respuesta de error (400) - Datos inválidos:**\n\n```json\n{\n \"statusCode\": 400,\n \"message\": \"Datos inválidos para la cotización\",\n \"date\": 1733932800000,\n \"payload\": {\n \"quoteId\": \"a1b2c3d4-e5f6-7890-abcd-ef1234567890\",\n \"status\": \"INVALID\",\n \"error\": \"Referencia no encontrada\"\n }\n}\n```\n\n**🔄 Flujo Completo:**\n\n**1. Cotizar producto:**\n\n```bash\nPOST /product-requests/quote\n{\n \"category_id\": 120,\n \"id\": 52368,\n \"data\": {\"reference\": \"123456789\"},\n \"query_type\": \"BILLData\",\n \"sell_type\": \"Bill\"\n}\n```\n\n**Respuesta:** `{\"quoteId\": \"...\", \"amount\": 150000}`\n\n**2. Usuario decide comprar (mismo request):**\n\n```bash\nPOST /product-requests/create\n{\n \"category_id\": 120,\n \"id\": 52368,\n \"data\": {\"reference\": \"123456789\"},\n \"query_type\": \"BILLData\",\n \"sell_type\": \"Bill\"\n}\n```\n\n**Resultado:** Sistema vincula automáticamente la cotización con la compra para analytics.\n\n### 5. Crear Solicitud de Producto\n\n**Method**: `POST`\n\n**Path**: `/product-requests/create`\n\nCrea una nueva solicitud de producto. Esta es la primera etapa del proceso de pago.\n\n**📋 Relación con Endpoint de Productos:** \nLos datos para crear esta solicitud provienen principalmente del endpoint `products/by-customer-and-category`:\n\n- **`category_id`**: ID de la categoría (del endpoint de productos)\n \n- **`id`**: ID del producto seleccionado (del campo `id` del producto)\n \n- **`query_type`**: Tipo de consulta (del campo `query_type` del producto)\n \n- **`sell_type`**: Tipo de venta (del campo `sell_type` del producto)\n \n- **`data`**: Estructura basada en `template_data_request` del producto\n \n- **`agreement`**: Acuerdo del producto (del campo `agreement` del producto)\n \n\n**Headers requeridos:**\n\n- `Authorization: Bearer {token}`\n \n- `x-secret-id: {secretId}`\n \n\n**Body (JSON):**\n\n- `category_id` (number, requerido): ID de la categoría (obtenido del endpoint de productos)\n \n- `id` (number, requerido): ID del producto seleccionado (obtenido del campo `id` del producto)\n \n- `amount` (number|null, opcional): Monto del producto (ver reglas de uso)\n \n- `data` (object, requerido): Datos específicos del producto basados en `template_data_request` del producto\n \n- `query_type` (string, requerido): Tipo de consulta del producto (PHONE_QUERY, PLATE_QUERY, etc.)\n \n- `sell_type` (string, requerido): Tipo de venta del producto (DIRECT_SALE, QUERY_FIRST)\n \n- `agreement` (string, opcional): Aceptación de términos (puede venir del campo `agreement` del producto)\n \n- `customer_id` (string, requerido si omite `cart_id`; opcional si envía `cart_id`): Identificador único del usuario o dispositivo; persiste en `core.shopping_carts.user_temp_id` al crear carrito.\n \n- `subcustomer_id` (string, opcional): Identificador del subcliente o cuenta hija asociada al `customer_id`\n \n- cart_id (string, opcional): identificador del carrito de compra al que se quiere agregar la solicictud de producto\n \n\n**📋 Reglas para el campo customer_id:**\n\n**🔑 Con Usuario Registrado:**\n\n- **Enviar**: ID único del usuario en tu sistema\n \n- **Ejemplo**: \"customer_id\": \"user_12345\" o \"customer_id\": \"cliente_abc123\"\n \n- **Uso**: Para seguimiento, historial de transacciones, y análisis de comportamiento\n \n\n**📱 Sin Usuario Registrado (Frontend Anónimo):**\n\n- **Enviar**: Identificador único del dispositivo o sesión\n \n- **Ejemplos**:\n \n - **Device ID**: \"customer_id\": \"device_abc123def456\"\n \n - **Session ID**: \"customer_id\": \"session_xyz789\"\n \n - **Browser Fingerprint**: \"customer_id\": \"browser_fp_123\"\n \n - **Local Storage ID**: \"customer_id\": \"local_456\"\n \n- **Uso**: Para seguimiento de transacciones anónimas y análisis de patrones\n \n\n**💡 Mejores Prácticas:**\n\n- **Consistencia**: Usar el mismo formato de ID en toda la aplicación\n \n- **Persistencia**: Mantener el ID durante toda la sesión del usuario\n \n- **Privacidad**: No incluir información personal identificable en el ID\n \n- **Longitud**: Recomendado entre 10-50 caracteres\n \n\n**🔄 Flujo de Implementación:**\n\n**1\\. Usuario Registrado:**\n\n``` typescript\nconst customerId = user.id || user.customerId || user.uuid;\n// customerId = \"user_12345\"\n\n ```\n\n**2\\. Usuario Anónimo:**\n\n``` typescript\n// Generar ID único del dispositivo\nconst deviceId = generateDeviceId(); // \"device_abc123def456\"\nconst sessionId = generateSessionId(); // \"session_xyz789\"\nconst customerId = deviceId || sessionId;\n\n ```\n\n**3\\. Envío en Request:**\n\n``` json\n{\n \"category_id\": 120,\n \"id\": 1952,\n \"amount\": null,\n \"data\": {\n \"cellphone\": \"3208385715\",\n \"reference\": \"123456\"\n },\n \"query_type\": \"BILLData\",\n \"sell_type\": \"Bill\",\n \"agreement\": \"2010910\",\n \"customer_id\": \"device_abc123def456\",\n \"subcustomer_id\": \"subcust_01\"\n}\n\n ```\n\n**📊 Beneficios del Tracking:**\n\n- **Análisis**: Comportamiento de usuarios anónimos vs registrados\n \n- **Seguimiento**: Transacciones por dispositivo/sesión\n \n- **Fraude**: Detección de patrones sospechosos\n \n- **UX**: Mejora de la experiencia del usuario\n \n\n**💰 Reglas para el campo** **`amount`****:**\n\n- **`amount: null`**: Para productos que generan consulta previa (ej: facturas, servicios con tarifas variables)\n \n- **`amount: valor`**: Para productos de pago directo con precio fijo (ej: recargas, productos con precio conocido)\n \n- **Validación interna**: El sistema valida internamente y solo toma el amount del cliente cuando aplica\n \n\n**🔄 Flujo de Creación de Solicitud:**\n\n**1\\. Consultar productos:**\n\n``` json\nGET /products/by-customer-and-category\n{\n \"categoryId\": 120,\n \"limit\": 10,\n \"offset\": 0,\n \"searchText\": \"ACACIAS\"\n}\n\n ```\n\n**2\\. Respuesta del endpoint de productos:**\n\n``` json\n{\n \"statusCode\": 200,\n \"message\": \"Productos obtenidos exitosamente\",\n \"date\": 1754945365966,\n \"payload\": {\n \"template_data_request\": {\n \"cellphone\": \"3208888888\",\n \"reference\": \"123456789\"\n },\n \"products\": [\n {\n \"id\": 1952,\n \"name\": \"ACACIAS DEL CASTILLO CONJUNTO 3 CALI\",\n \"amount\": null,\n \"meta\": {\n \"fnArgs\": 20363,\n \"categoryId\": 44,\n \"form\": [\n {\n \"active\": true,\n \"type\": \"text\",\n \"label\": \"Numero De Casa\",\n \"placeholder\": \"Ingrese su Numero de Casa\",\n \"legend\": \"Numero de Casa\",\n \"value\": \"reference\",\n \"required\": true\n }\n ]\n },\n \"description\": null,\n \"image_url\": \"bill.png\",\n \"query_type\": \"BILLData\",\n \"sell_type\": \"Bill\",\n \"agreement\": \"2010910\"\n }\n ]\n }\n}\n\n ```\n\n**3\\. Crear solicitud usando datos del producto:**\n\n``` json\n{\n \"category_id\": 120,\n \"id\": 1952,\n \"amount\": null,\n \"data\": { \n \"cellphone\": \"3208385715\",\n \"reference\": \"123456\"\n },\n \"query_type\": \"BILLData\",\n \"sell_type\": \"Bill\",\n \"agreement\": \"2010910\",\n \"customer_id\": \"customer_123\"\n}\n\n ```\n\n**Respuesta exitosa (201):**\n\n``` json\n{\n \"statusCode\": 201,\n \"message\": \"Solicitud creada exitosamente\",\n \"date\": 1754945173974,\n \"payload\": {\n \"cartId\": \"25894df4-a599-4d28-a2f2-bb5b8faa678b\",\n \"requestId\": \"15974df4-a599-4d28-a2f2-bb5b8faa678b\",\n \"amount\": 9999,\n \"paymentMethods\": [\n {\n \"id\": 304135,\n \"name\": \"Transfiya\",\n \"internal_name\": \"AppFormTransfiya\",\n \"description\": \"Transfiya\",\n \"categoryid\": 176,\n \"image\": \"transfiya.png\",\n \"template_data_request\": {\n \"cellphone\": \"3208888888\"\n },\n \"cost\": 500\n },\n {\n \"id\": 56,\n \"name\": \"PSE\",\n \"internal_name\": \"AppFormPse\",\n \"description\": \"PSE\",\n \"categoryid\": 61,\n \"image\": \"pse.png\",\n \"template_data_request\": {\n \"name\": \"Juan Perez\",\n \"email\": \"juanperez@gmail.com\",\n \"bankId\": \"1007\",\n \"cellphone\": \"3208888888\",\n \"typePerson\": \"0\",\n \"documentType\": \"CC\",\n \"documentNumber\": \"1032222222\"\n },\n \"cost\": 500\n },\n {\n \"id\": 88,\n \"name\": \"Nequi\",\n \"internal_name\": \"AppFormNequiCargar\",\n \"description\": \"Botón de pago nequi\",\n \"categoryid\": 176,\n \"image\": \"nequi-responsive.png\",\n \"template_data_request\": {\n \"cellphone\": \"3208888888\"\n },\n \"cost\": 500\n },\n {\n \"id\": 53,\n \"name\": \"Bancolombia\",\n \"internal_name\": \"AppFormDefault\",\n \"description\": \"Botón de pago Bancolombia\",\n \"categoryid\": 177,\n \"image\": \"bancolombia.png\",\n \"template_data_request\": {\n \"name\": \"Juan Perez\",\n \"email\": \"juanperez@gmail.com\",\n \"bankId\": \"1007\",\n \"cellphone\": \"3208888888\",\n \"typePerson\": \"0\",\n \"documentType\": \"CC\",\n \"documentNumber\": \"1032222222\"\n },\n \"cost\": 500\n },\n {\n \"id\": 89,\n \"name\": \"Daviplata\",\n \"internal_name\": \"AppFormDaviplataPse\",\n \"description\": \"Botón de pago daviplata\",\n \"categoryid\": 176,\n \"image\": \"daviplata.png\",\n \"template_data_request\": {\n \"cellphone\": \"3208888888\"\n },\n \"cost\": 500 \n }\n ]\n }\n}\n\n ```\n\n**📋 Datos de la Respuesta:**\n\n- **`cartId:`**Identificador unico del carrito al que se asigno la solicitud de producto (se usa en `/products-payment/create`)\n \n- **`requestId`**: Identificador único de la solicitud de producto\n \n- **`amount`**: Monto que se debe pagar (calculado por el sistema)\n \n- **`additionalData`**: Datos adicionales del producto (solo si aplica)\n \n- **`paymentMethods`**: Array con medios de pago disponibles\n \n\n**💳 Información de Medios de Pago:** \nCada medio de pago contiene:\n\n- **`id`**: ID del medio de pago (se usa en `/products-payment/create`)\n \n- **`name`**: Nombre del medio de pago\n \n- **`categoryid`**: ID de la categoría del medio de pago (se usa en `/products-payment/create`)\n \n- **`template_data_request`**: Template para el campo `data` en `/products-payment/create`\n \n- **`cost`**: Costo del medio de pago para esta transacción (0 = sin costo, >0 = con costo)\n \n\n**🔄 Siguiente Paso - Crear Pago:** \nCon la respuesta de este endpoint, puedes proceder a crear el pago usando `/products-payment/create` enviando:\n\n- `cartId`: Del campo `cartId` de la respuesta\n \n- `id`: Del campo `id` del medio de pago seleccionado\n \n- `categoryid`: Del campo `categoryid` del medio de pago seleccionado\n \n- `data`: Basado en `template_data_request` del medio de pago seleccionado\n \n\n**Respuesta de error (403):**\n\n``` json\n{\n \"statusCode\": 403,\n \"message\": \"Acceso denegado - Categoría no permitida\",\n \"date\": 1704441600000,\n \"payload\": {\n \"error\": \"CATEGORY_NOT_ALLOWED\"\n }\n}\n\n ```\n\n**Respuesta de error (401):**\n\n``` json\n{\n \"statusCode\": 401,\n \"message\": \"Error de autenticación\",\n \"date\": 1754924521985,\n \"payload\": {\n \"error\": \"AUTHENTICATION_ERROR\",\n \"details\": \"Authentication failed\",\n \"originalStatus\": 401\n }\n}\n\n ```\n\n### 6. Consultar Estado de Solicitud de Producto\n\n**Method**: `POST`\n\n**Path**: `/product-requests/status`\n\nConsulta el estado actual de una solicitud de producto individual por su `requestId` o de un carrito completo por su `cartId`.\n\n**🔒 Seguridad:** \nEste endpoint incluye validación de seguridad que garantiza que solo puedas consultar el estado de las solicitudes/carritos que creaste.\n\n**📋 Parámetros:**\n\nDebes proporcionar al menos uno de los siguientes parámetros:\n\n- **`requestId`** (string, opcional): ID único de la solicitud de producto individual (UUID)\n \n- **`cartId`** (string, opcional): ID único del carrito de compras (UUID)\n \n\n**Headers requeridos:**\n\n- `Authorization: Bearer {token}`\n \n- `x-secret-id: {secretId}`\n \n\n**📊 Estados Posibles:**\n\n**🔄 Estados de Proceso:**\n\n- **`INITIATED`**: Solicitud creada y en proceso de validación\n \n- **`QUERIED`**: Solicitud consultada exitosamente en API externa\n \n- **`PENDING`**: Solicitud lista para procesar el pago\n \n- **`WAITING_PAYMENT`**: Esperando confirmación de pago del proveedor\n \n\n**❌ Estados de Error:**\n\n- **`INVALID`**: Datos inválidos en la validación del producto\n \n- **`DISCARDED`**: Usuario decidió no continuar con el pago del producto\n \n- **`EXPIRED`**: La solicitud de producto ha expirado\n \n\n**✅ Estados Finales:**\n\n- **`SOLD`**: Pago exitoso y producto vendido\n \n- **`REFUNDED`**: Pago exitoso pero venta falló\n \n- **`CANCELLED`**: Usuario no realizó el pago del producto, el proveedor no confirmó el pago\n \n\n**🔄 Flujo de Uso - Producto Individual:**\n\n**1\\. Consultar estado usando requestId:**\n\n``` json\nPOST /product-requests/status\n{\n \"requestId\": \"15974df4-a599-4d28-a2f2-bb5b8faa678b\"\n}\n\n ```\n\n**2\\. Respuesta del estado (producto individual):**\n\n``` json\n{\n \"statusCode\": 200,\n \"message\": \"Estado consultado exitosamente\",\n \"date\": 1770307880382,\n \"payload\": {\n \"id\": \"019a3c15-9d0c-734b-8346-617d6ba466d8\",\n \"cartId\": \"019a3c15-9cfc-7c3a-82ff-d87477378092\",\n \"status\": \"SOLD\",\n \"description\": \"Pago exitoso y producto vendido\",\n \"details\": {\n \"id\": 1952,\n \"categoryId\": 120,\n \"data\": {\n \"cellphone\": \"3208385716\",\n \"reference\": \"12345678\"\n },\n \"amount\": 9999,\n \"sellType\": \"Bill\",\n \"queryType\": \"BILLData\",\n \"agreement\": \"2010910\",\n \"customer_id\": \"customer_124\"\n },\n \"urlInvoice\": \"https://prep.refacil.co/#/factura/215765/10549\",\n \"urlSummary\": \"https://mf-core.refacil.co/refacilpay/resumen/62/28137590-b69d-11f0-8c08-b71754a3ac6b\",\n \"invoiceDueDate\": \"2026-05-31\"\n }\n}\n\n ```\n\n> ⚠️ `invoiceDueDate` es `string | null` — tiene valor solo cuando el proveedor retorna fecha de vencimiento de la factura. En productos que no son facturas, siempre es `null`.\n\n**🛒 Flujo de Uso - Carrito Completo:**\n\n**1\\. Consultar estado usando cartId:**\n\n``` json\nPOST /product-requests/status\n{\n \"cartId\": \"f47ac10b-58cc-4372-a567-0e02b2c3d479\"\n}\n\n ```\n\n**2\\. Respuesta del estado (carrito completo):**\n\n``` json\n{\n \"statusCode\": 200,\n \"message\": \"Estado consultado exitosamente\",\n \"date\": 1770307754145,\n \"payload\": {\n \"cartId\": \"019a3c15-9cfc-7c3a-82ff-d87477378092\",\n \"status\": \"COMPLETED\",\n \"totalAmount\": \"9999.00\",\n \"itemsCount\": 1,\n \"urlSummary\": \"https://mf-core.refacil.co/refacilpay/resumen/62/28137590-b69d-11f0-8c08-b71754a3ac6b\",\n \"products\": [\n {\n \"id\": \"019a3c15-9d0c-734b-8346-617d6ba466d8\",\n \"cartId\": \"019a3c15-9cfc-7c3a-82ff-d87477378092\",\n \"status\": \"SOLD\",\n \"description\": \"Pago exitoso y producto vendido\",\n \"details\": {\n \"id\": 1952,\n \"categoryId\": 120,\n \"data\": {\n \"cellphone\": \"3208385716\",\n \"reference\": \"12345678\"\n },\n \"amount\": \"9999.00\",\n \"sellType\": \"Bill\",\n \"queryType\": \"BILLData\",\n \"agreement\": \"2010910\",\n \"customer_id\": \"customer_124\"\n },\n \"urlInvoice\": \"https://prep.refacil.co/#/factura/215765/10549\",\n \"invoiceDueDate\": \"2026-05-31\"\n }\n ]\n }\n}\n\n ```\n\n**🔐 Validación de Seguridad:**\n\n- **Usuario autenticado**: Solo puedes consultar solicitudes/carritos creados con tu `secretId`\n \n- **ID válido**: Debe ser un UUID válido\n \n- **Acceso restringido**: No puedes consultar solicitudes/carritos de otros usuarios\n \n\n**📱 Casos de Uso:**\n\n- **Frontend**: Mostrar estado actual al usuario\n \n- **Backend**: Seguimiento de transacciones\n \n- **Webhooks**: Complementar notificaciones asíncronas\n \n- **Auditoría**: Verificar estado de solicitudes\n \n- **Carrito**: Consultar estado de múltiples productos a la vez\n \n\n**Respuesta de error (400 - Parámetros faltantes):**\n\n``` json\n{\n \"statusCode\": 400,\n \"message\": \"Debe proporcionar requestId o cartId\",\n \"date\": 1754945173974,\n \"payload\": {\n \"error\": \"MISSING_REQUIRED_PARAMETER\"\n }\n}\n\n ```\n\n**Respuesta de error (404):**\n\n``` json\n{\n \"statusCode\": 404,\n \"message\": \"Solicitud de producto no encontrada\",\n \"date\": 1754945173974,\n \"payload\": {\n \"error\": \"PRODUCT_REQUEST_NOT_FOUND\"\n }\n}\n\n ```\n\n**💡 Tip para Testing:** \nUsa la variable `lastCartId` o `lastRequestId` que se llenan automáticamente al crear solicitudes.\n\n### 7. Descartar Solicitud de Producto\n\n**Method**: `POST`\n\n**Path**: `/product-requests/discard`\n\nDescarta una solicitud de producto individual por su `requestId` o un carrito completo con todos sus productos por su `cartId`.\n\n**🔒 Seguridad:** \nEste endpoint incluye validación de seguridad que garantiza que solo puedas descartar solicitudes/carritos que creaste.\n\n**📋 Parámetros:**\n\nDebes proporcionar al menos uno de los siguientes parámetros:\n\n- **`requestId`** (string, opcional): ID único de la solicitud de producto individual (UUID)\n \n- **`cartId`** (string, opcional): ID único del carrito de compras (UUID)\n \n\n**Headers requeridos:**\n\n- `Authorization: Bearer {token}`\n \n- `x-secret-id: {secretId}`\n \n\n**⚠️ Condiciones para Descartar:**\n\n**Para producto individual:**\n\n- El producto debe estar en estado `PENDING`\n \n- Debe pertenecer al usuario autenticado\n \n\n**Para carrito completo:**\n\n- El carrito debe estar en estado `ACTIVE`\n \n- Debe pertenecer al usuario autenticado\n \n- Debe tener al menos un producto en estado `PENDING`\n \n\n**🔄 Flujo de Uso - Producto Individual:**\n\n**1\\. Descartar producto usando requestId:**\n\n``` json\nPOST /product-requests/discard\n{\n \"requestId\": \"15974df4-a599-4d28-a2f2-bb5b8faa678b\"\n}\n\n ```\n\n**2\\. Respuesta (producto individual):**\n\n``` json\n{\n \"statusCode\": 200,\n \"message\": \"Solicitud descartada exitosamente\",\n \"date\": 1754945173974,\n \"payload\": {\n \"requestId\": \"15974df4-a599-4d28-a2f2-bb5b8faa678b\",\n \"status\": \"DISCARDED\"\n }\n}\n\n ```\n\n**🛒 Flujo de Uso - Carrito Completo:**\n\n**1\\. Descartar carrito usando cartId:**\n\n``` json\nPOST /product-requests/discard\n{\n \"cartId\": \"f47ac10b-58cc-4372-a567-0e02b2c3d479\"\n}\n\n ```\n\n**2\\. Respuesta (carrito completo):**\n\n``` json\n{\n \"statusCode\": 200,\n \"message\": \"Carrito descartado exitosamente (2 productos)\",\n \"date\": 1754945173974,\n \"payload\": {\n \"cartId\": \"f47ac10b-58cc-4372-a567-0e02b2c3d479\",\n \"status\": \"CANCELLED\",\n \"discardedCount\": 2,\n \"products\": [\n {\n \"requestId\": \"20db2a40-77b7-11f0-85d4-7d462019c921\",\n \"status\": \"DISCARDED\"\n },\n {\n \"requestId\": \"30db2a40-77b7-11f0-85d4-7d462019c922\",\n \"status\": \"DISCARDED\"\n }\n ]\n }\n}\n\n ```\n\n**🔐 Validación de Seguridad:**\n\n- **Usuario autenticado**: Solo puedes descartar solicitudes/carritos creados con tu `secretId`\n \n- **ID válido**: Debe ser un UUID válido\n \n- **Acceso restringido**: No puedes descartar solicitudes/carritos de otros usuarios\n \n\n**📱 Casos de Uso:**\n\n- **Usuario cambia de opinión**: Descarta producto antes de pagar\n \n- **Datos incorrectos**: Usuario ingresó datos equivocados\n \n- **Monto muy alto**: Usuario no esperaba ese monto\n \n- **Limpiar carrito**: Descartar todos los productos de una vez\n \n- **Empezar de nuevo**: Usuario quiere crear un nuevo carrito desde cero\n \n\n**Respuesta de error (400 - Parámetros faltantes):**\n\n``` json\n{\n \"statusCode\": 400,\n \"message\": \"Debe proporcionar requestId o cartId\",\n \"date\": 1754945173974,\n \"payload\": {\n \"error\": \"MISSING_REQUIRED_PARAMETER\"\n }\n}\n\n ```\n\n**Respuesta de error (400 - Producto no está en PENDING):**\n\n``` json\n{\n \"statusCode\": 500,\n \"message\": \"Product request is not pending\",\n \"date\": 1754945173974,\n \"payload\": {\n \"error\": \"Product request is not pending\"\n }\n}\n\n ```\n\n**Respuesta de error (400 - Carrito no está ACTIVE):**\n\n``` json\n{\n \"statusCode\": 500,\n \"message\": \"Cart is not active\",\n \"date\": 1754945173974,\n \"payload\": {\n \"error\": \"Cart is not active\"\n }\n}\n\n ```\n\n**Respuesta de error (404):**\n\n``` json\n{\n \"statusCode\": 500,\n \"message\": \"Product request not found\",\n \"date\": 1754945173974,\n \"payload\": {\n \"error\": \"Product request not found\"\n }\n}\n\n ```\n\n**💡 Tip para Testing:** \nUsa la variable `lastCartId` o `lastRequestId` que se llenan automáticamente al crear solicitudes.\n\n\n\n> Nota MCP: Los nombres de variables que ves en esta documentación provienen de variables de Postman (por ejemplo `token`, `lastCartId`, `lastRequestId`, etc.). En el MCP estas variables se manejan internamente por la configuración del servidor o por herramientas previas; no uses la sintaxis `{{variable}}` ni envíes esos nombres literalmente en las llamadas de herramientas."
|
|
40
|
+
"content": "# 🛒 Solicitudes de Producto\n\nEndpoints para crear solicitudes de productos\n\n## Endpoints\n\n### 4.5 Cotizar Producto\n\n**Method**: `POST`\n\n**Path**: `/product-requests/quote`\n\nCotiza el valor de un producto que requiere consulta previa **sin crear una solicitud de compra ni agregarlo al carrito**. Este endpoint es ideal para mostrar el monto al usuario antes de que decida comprar.\n\n**🎯 Casos de Uso:**\n\n- **Consulta de Facturas**: Mostrar el valor adeudado antes de agregar al carrito\n- **SOAT**: Verificar precio del seguro antes de comprar\n- **Servicios Públicos**: Ver monto a pagar antes de proceder\n- **Cualquier producto con consulta previa**: Obtener precio sin compromiso de compra\n\n**✅ Ventajas:**\n\n- No crea carrito ni solicitud de compra\n- Solo consulta y guarda trazabilidad\n- Usuario puede ver el monto antes de decidir\n- Analytics de cotizaciones vs compras\n\n**📊 Vinculación Automática:**\n\nSi el usuario decide comprar usando `/product-requests/create` con los **mismos datos**, el sistema:\n\n- Vincula automáticamente la cotización con la compra\n- Permite análisis de tasa de conversión\n- Identifica usuarios que cotizaron pero no compraron\n\n**Headers requeridos:**\n\n- `Authorization: Bearer {token}`\n- `x-secret-id: {secretId}`\n\n**Body (JSON):**\n\n- `category_id` (number, requerido): ID de la categoría\n- `id` (number, requerido): ID del producto\n- `amount` (number|null, opcional): Usar `null` para productos con consulta previa\n- `data` (object, requerido): Datos específicos del producto\n- `query_type` (string, requerido): Tipo de consulta (BILLData, PLATE_QUERY, etc.)\n- `sell_type` (string, requerido): Tipo de venta (debe requerir consulta previa)\n- `agreement` (string, opcional): Acuerdo del producto\n\n**⚠️ Importante:**\n\n- Solo funciona para productos que **requieren consulta previa**\n- Para productos directos, usar `/product-requests/create`\n- No retorna medios de pago (solo el monto cotizado)\n\n**Respuesta exitosa (200):**\n\n```json\n{\n \"statusCode\": 200,\n \"message\": \"Cotización realizada exitosamente\",\n \"date\": 1733932800000,\n \"payload\": {\n \"quoteId\": \"a1b2c3d4-e5f6-7890-abcd-ef1234567890\",\n \"productId\": 52368,\n \"categoryId\": 120,\n \"amount\": 150000,\n \"additionalData\": {\n \"invoiceDueDate\": \"2026-05-10\",\n \"reference\": \"123456789\",\n \"customerName\": \"JUAN PEREZ\",\n \"address\": \"Calle 123\"\n },\n \"quotedAt\": \"2024-01-11T10:30:00.000Z\"\n }\n}\n```\n\n**Campos de la respuesta:**\n\n- `quoteId`: ID de la cotización guardada\n- `productId`: ID del producto cotizado\n- `categoryId`: ID de la categoría del producto\n- `amount`: Monto cotizado\n- `additionalData`: Datos adicionales del producto consultado. Incluye `invoiceDueDate: string | null` cuando el proveedor retorna fecha de vencimiento de la factura; es `null` para productos que no aplican\n- `quotedAt`: Timestamp de la cotización\n\n**Respuesta de error (400) - Producto directo:**\n\n```json\n{\n \"statusCode\": 400,\n \"message\": \"Este producto no requiere cotización previa\",\n \"date\": 1733932800000,\n \"payload\": {\n \"error\": \"PRODUCT_DOES_NOT_REQUIRE_QUOTE\",\n \"message\": \"Use el endpoint /create para compra directa\"\n }\n}\n```\n\n**Respuesta de error (400) - Datos inválidos:**\n\n```json\n{\n \"statusCode\": 400,\n \"message\": \"Datos inválidos para la cotización\",\n \"date\": 1733932800000,\n \"payload\": {\n \"quoteId\": \"a1b2c3d4-e5f6-7890-abcd-ef1234567890\",\n \"status\": \"INVALID\",\n \"error\": \"Referencia no encontrada\"\n }\n}\n```\n\n**🔄 Flujo Completo:**\n\n**1. Cotizar producto:**\n\n```bash\nPOST /product-requests/quote\n{\n \"category_id\": 120,\n \"id\": 52368,\n \"data\": {\"reference\": \"123456789\"},\n \"query_type\": \"BILLData\",\n \"sell_type\": \"Bill\"\n}\n```\n\n**Respuesta:** `{\"quoteId\": \"...\", \"amount\": 150000}`\n\n**2. Usuario decide comprar (mismo request):**\n\n```bash\nPOST /product-requests/create\n{\n \"category_id\": 120,\n \"id\": 52368,\n \"data\": {\"reference\": \"123456789\"},\n \"query_type\": \"BILLData\",\n \"sell_type\": \"Bill\"\n}\n```\n\n**Resultado:** Sistema vincula automáticamente la cotización con la compra para analytics.\n\n### 5. Crear Solicitud de Producto\n\n**Method**: `POST`\n\n**Path**: `/product-requests/create`\n\nCrea una nueva solicitud de producto. Esta es la primera etapa del proceso de pago.\n\n**📋 Relación con Endpoint de Productos:** \nLos datos para crear esta solicitud provienen principalmente del endpoint `products/by-customer-and-category`:\n\n- **`category_id`**: ID de la categoría (del endpoint de productos)\n \n- **`id`**: ID del producto seleccionado (del campo `id` del producto)\n \n- **`query_type`**: Tipo de consulta (del campo `query_type` del producto)\n \n- **`sell_type`**: Tipo de venta (del campo `sell_type` del producto)\n \n- **`data`**: Estructura basada en `template_data_request` del producto\n \n- **`agreement`**: Acuerdo del producto (del campo `agreement` del producto)\n \n\n**Headers requeridos:**\n\n- `Authorization: Bearer {token}`\n \n- `x-secret-id: {secretId}`\n \n\n**Body (JSON):**\n\n- `category_id` (number, requerido): ID de la categoría (obtenido del endpoint de productos)\n \n- `id` (number, requerido): ID del producto seleccionado (obtenido del campo `id` del producto)\n \n- `amount` (number|null, opcional): Monto del producto (ver reglas de uso)\n \n- `data` (object, requerido): Datos específicos del producto basados en `template_data_request` del producto\n \n- `query_type` (string, requerido): Tipo de consulta del producto (PHONE_QUERY, PLATE_QUERY, etc.)\n \n- `sell_type` (string, requerido): Tipo de venta del producto (DIRECT_SALE, QUERY_FIRST)\n \n- `agreement` (string, opcional): Aceptación de términos (puede venir del campo `agreement` del producto)\n \n- `customer_id` (string, requerido si omite `cart_id`; opcional si envía `cart_id`): Identificador único del usuario o dispositivo; persiste en `core.shopping_carts.user_temp_id` al crear carrito.\n \n- `subcustomer_id` (string, opcional): Identificador del subcliente o cuenta hija asociada al `customer_id`\n \n- cart_id (string, opcional): identificador del carrito de compra al que se quiere agregar la solicictud de producto\n \n\n**📋 Reglas para el campo customer_id:**\n\n**🔑 Con Usuario Registrado:**\n\n- **Enviar**: ID único del usuario en tu sistema\n \n- **Ejemplo**: \"customer_id\": \"user_12345\" o \"customer_id\": \"cliente_abc123\"\n \n- **Uso**: Para seguimiento, historial de transacciones, y análisis de comportamiento\n \n\n**📱 Sin Usuario Registrado (Frontend Anónimo):**\n\n- **Enviar**: Identificador único del dispositivo o sesión\n \n- **Ejemplos**:\n \n - **Device ID**: \"customer_id\": \"device_abc123def456\"\n \n - **Session ID**: \"customer_id\": \"session_xyz789\"\n \n - **Browser Fingerprint**: \"customer_id\": \"browser_fp_123\"\n \n - **Local Storage ID**: \"customer_id\": \"local_456\"\n \n- **Uso**: Para seguimiento de transacciones anónimas y análisis de patrones\n \n\n**💡 Mejores Prácticas:**\n\n- **Consistencia**: Usar el mismo formato de ID en toda la aplicación\n \n- **Persistencia**: Mantener el ID durante toda la sesión del usuario\n \n- **Privacidad**: No incluir información personal identificable en el ID\n \n- **Longitud**: Recomendado entre 10-50 caracteres\n \n\n**🔄 Flujo de Implementación:**\n\n**1\\. Usuario Registrado:**\n\n``` typescript\nconst customerId = user.id || user.customerId || user.uuid;\n// customerId = \"user_12345\"\n\n ```\n\n**2\\. Usuario Anónimo:**\n\n``` typescript\n// Generar ID único del dispositivo\nconst deviceId = generateDeviceId(); // \"device_abc123def456\"\nconst sessionId = generateSessionId(); // \"session_xyz789\"\nconst customerId = deviceId || sessionId;\n\n ```\n\n**3\\. Envío en Request:**\n\n``` json\n{\n \"category_id\": 120,\n \"id\": 1952,\n \"amount\": null,\n \"data\": {\n \"cellphone\": \"3208385715\",\n \"reference\": \"123456\"\n },\n \"query_type\": \"BILLData\",\n \"sell_type\": \"Bill\",\n \"agreement\": \"2010910\",\n \"customer_id\": \"device_abc123def456\",\n \"subcustomer_id\": \"subcust_01\"\n}\n\n ```\n\n**📊 Beneficios del Tracking:**\n\n- **Análisis**: Comportamiento de usuarios anónimos vs registrados\n \n- **Seguimiento**: Transacciones por dispositivo/sesión\n \n- **Fraude**: Detección de patrones sospechosos\n \n- **UX**: Mejora de la experiencia del usuario\n \n\n**💰 Reglas para el campo** **`amount`****:**\n\n- **`amount: null`**: Para productos que generan consulta previa (ej: facturas, servicios con tarifas variables)\n \n- **`amount: valor`**: Para productos de pago directo con precio fijo (ej: recargas, productos con precio conocido)\n \n- **Validación interna**: El sistema valida internamente y solo toma el amount del cliente cuando aplica\n \n\n**🔄 Flujo de Creación de Solicitud:**\n\n**1\\. Consultar productos:**\n\n``` json\nGET /products/by-customer-and-category\n{\n \"categoryId\": 120,\n \"limit\": 10,\n \"offset\": 0,\n \"searchText\": \"ACACIAS\"\n}\n\n ```\n\n**2\\. Respuesta del endpoint de productos:**\n\n``` json\n{\n \"statusCode\": 200,\n \"message\": \"Productos obtenidos exitosamente\",\n \"date\": 1754945365966,\n \"payload\": {\n \"template_data_request\": {\n \"cellphone\": \"3208888888\",\n \"reference\": \"123456789\"\n },\n \"products\": [\n {\n \"id\": 1952,\n \"name\": \"ACACIAS DEL CASTILLO CONJUNTO 3 CALI\",\n \"amount\": null,\n \"meta\": {\n \"fnArgs\": 20363,\n \"categoryId\": 44,\n \"form\": [\n {\n \"active\": true,\n \"type\": \"text\",\n \"label\": \"Numero De Casa\",\n \"placeholder\": \"Ingrese su Numero de Casa\",\n \"legend\": \"Numero de Casa\",\n \"value\": \"reference\",\n \"required\": true\n }\n ]\n },\n \"description\": null,\n \"image_url\": \"bill.png\",\n \"query_type\": \"BILLData\",\n \"sell_type\": \"Bill\",\n \"agreement\": \"2010910\"\n }\n ]\n }\n}\n\n ```\n\n**3\\. Crear solicitud usando datos del producto:**\n\n``` json\n{\n \"category_id\": 120,\n \"id\": 1952,\n \"amount\": null,\n \"data\": { \n \"cellphone\": \"3208385715\",\n \"reference\": \"123456\"\n },\n \"query_type\": \"BILLData\",\n \"sell_type\": \"Bill\",\n \"agreement\": \"2010910\",\n \"customer_id\": \"customer_123\"\n}\n\n ```\n\n**Respuesta exitosa (201):**\n\n``` json\n{\n \"statusCode\": 201,\n \"message\": \"Solicitud creada exitosamente\",\n \"date\": 1754945173974,\n \"payload\": {\n \"cartId\": \"25894df4-a599-4d28-a2f2-bb5b8faa678b\",\n \"requestId\": \"15974df4-a599-4d28-a2f2-bb5b8faa678b\",\n \"amount\": 9999,\n \"paymentMethods\": [\n {\n \"id\": 304135,\n \"name\": \"Transfiya\",\n \"internal_name\": \"AppFormTransfiya\",\n \"description\": \"Transfiya\",\n \"categoryid\": 176,\n \"image\": \"transfiya.png\",\n \"template_data_request\": {\n \"cellphone\": \"3208888888\"\n },\n \"cost\": 500\n },\n {\n \"id\": 56,\n \"name\": \"PSE\",\n \"internal_name\": \"AppFormPse\",\n \"description\": \"PSE\",\n \"categoryid\": 61,\n \"image\": \"pse.png\",\n \"template_data_request\": {\n \"name\": \"Juan Perez\",\n \"email\": \"juanperez@gmail.com\",\n \"bankId\": \"1007\",\n \"cellphone\": \"3208888888\",\n \"typePerson\": \"0\",\n \"documentType\": \"CC\",\n \"documentNumber\": \"1032222222\"\n },\n \"cost\": 500\n },\n {\n \"id\": 88,\n \"name\": \"Nequi\",\n \"internal_name\": \"AppFormNequiCargar\",\n \"description\": \"Botón de pago nequi\",\n \"categoryid\": 176,\n \"image\": \"nequi-responsive.png\",\n \"template_data_request\": {\n \"cellphone\": \"3208888888\"\n },\n \"cost\": 500\n },\n {\n \"id\": 53,\n \"name\": \"Bancolombia\",\n \"internal_name\": \"AppFormDefault\",\n \"description\": \"Botón de pago Bancolombia\",\n \"categoryid\": 177,\n \"image\": \"bancolombia.png\",\n \"template_data_request\": {\n \"name\": \"Juan Perez\",\n \"email\": \"juanperez@gmail.com\",\n \"bankId\": \"1007\",\n \"cellphone\": \"3208888888\",\n \"typePerson\": \"0\",\n \"documentType\": \"CC\",\n \"documentNumber\": \"1032222222\"\n },\n \"cost\": 500\n },\n {\n \"id\": 89,\n \"name\": \"Daviplata\",\n \"internal_name\": \"AppFormDaviplataPse\",\n \"description\": \"Botón de pago daviplata\",\n \"categoryid\": 176,\n \"image\": \"daviplata.png\",\n \"template_data_request\": {\n \"cellphone\": \"3208888888\"\n },\n \"cost\": 500 \n }\n ]\n }\n}\n\n ```\n\n**📋 Datos de la Respuesta:**\n\n- **`cartId:`**Identificador unico del carrito al que se asigno la solicitud de producto (se usa en `/products-payment/create`)\n \n- **`requestId`**: Identificador único de la solicitud de producto\n \n- **`amount`**: Monto que se debe pagar (calculado por el sistema)\n \n- **`additionalData`**: Datos adicionales del producto (solo si aplica)\n \n- **`paymentMethods`**: Array con medios de pago disponibles\n \n\n**💳 Información de Medios de Pago:** \nCada medio de pago contiene:\n\n- **`id`**: ID del medio de pago (se usa en `/products-payment/create`)\n \n- **`name`**: Nombre del medio de pago\n \n- **`categoryid`**: ID de la categoría del medio de pago (se usa en `/products-payment/create`)\n \n- **`template_data_request`**: Template para el campo `data` en `/products-payment/create`\n \n- **`cost`**: Costo del medio de pago para esta transacción (0 = sin costo, >0 = con costo)\n \n\n**🔄 Siguiente Paso - Crear Pago:** \nCon la respuesta de este endpoint, puedes proceder a crear el pago usando `/products-payment/create` enviando:\n\n- `cartId`: Del campo `cartId` de la respuesta\n \n- `id`: Del campo `id` del medio de pago seleccionado\n \n- `categoryid`: Del campo `categoryid` del medio de pago seleccionado\n \n- `data`: Basado en `template_data_request` del medio de pago seleccionado\n \n\n**Respuesta de error (403):**\n\n``` json\n{\n \"statusCode\": 403,\n \"message\": \"Acceso denegado - Categoría no permitida\",\n \"date\": 1704441600000,\n \"payload\": {\n \"error\": \"CATEGORY_NOT_ALLOWED\"\n }\n}\n\n ```\n\n**Respuesta de error (401):**\n\n``` json\n{\n \"statusCode\": 401,\n \"message\": \"Error de autenticación\",\n \"date\": 1754924521985,\n \"payload\": {\n \"error\": \"AUTHENTICATION_ERROR\",\n \"details\": \"Authentication failed\",\n \"originalStatus\": 401\n }\n}\n\n ```\n\n### 6. Consultar Estado de Solicitud de Producto\n\n**Method**: `POST`\n\n**Path**: `/product-requests/status`\n\nConsulta el estado actual de una solicitud de producto individual por su `requestId` o de un carrito completo por su `cartId`.\n\n**🔒 Seguridad:** \nEste endpoint incluye validación de seguridad que garantiza que solo puedas consultar el estado de las solicitudes/carritos que creaste.\n\n**📋 Parámetros:**\n\nDebes proporcionar al menos uno de los siguientes parámetros:\n\n- **`requestId`** (string, opcional): ID único de la solicitud de producto individual (UUID)\n \n- **`cartId`** (string, opcional): ID único del carrito de compras (UUID)\n \n\n**➕ Campo adicional `paymentMethods` (sin cambiar el payload existente):**\n\n- Con **`requestId`**: la respuesta conserva la forma individual (`id`, `cartId`, `status`, `details`, `urlInvoice`, `urlSummary`, `invoiceDueDate`, …) y **agrega** `paymentMethods` cuando el carrito asociado (resuelto vía `cartId` del request) está en estado `ACTIVE`.\n \n- Con **`cartId`**: la respuesta conserva la forma de carrito (`products`, `totalAmount`, `itemsCount`, …) y **agrega** `paymentMethods` solo si el carrito está `ACTIVE`.\n \n- Si el carrito no está activo o `totalAmount` es 0: el campo se omite o retorna `[]`.\n \n\n**Headers requeridos:**\n\n- `Authorization: Bearer {token}`\n \n- `x-secret-id: {secretId}`\n \n\n**📊 Estados Posibles:**\n\n**🔄 Estados de Proceso:**\n\n- **`INITIATED`**: Solicitud creada y en proceso de validación\n \n- **`QUERIED`**: Solicitud consultada exitosamente en API externa\n \n- **`PENDING`**: Solicitud lista para procesar el pago\n \n- **`WAITING_PAYMENT`**: Esperando confirmación de pago del proveedor\n \n\n**❌ Estados de Error:**\n\n- **`INVALID`**: Datos inválidos en la validación del producto\n \n- **`DISCARDED`**: Usuario decidió no continuar con el pago del producto\n \n- **`EXPIRED`**: La solicitud de producto ha expirado\n \n\n**✅ Estados Finales:**\n\n- **`SOLD`**: Pago exitoso y producto vendido\n \n- **`REFUNDED`**: Pago exitoso pero venta falló\n \n- **`CANCELLED`**: Usuario no realizó el pago del producto, el proveedor no confirmó el pago\n \n\n**🔄 Flujo de Uso - Producto Individual:**\n\n**1\\. Consultar estado usando requestId:**\n\n``` json\nPOST /product-requests/status\n{\n \"requestId\": \"15974df4-a599-4d28-a2f2-bb5b8faa678b\"\n}\n\n ```\n\n**2\\. Respuesta del estado (producto individual):**\n\n``` json\n{\n \"statusCode\": 200,\n \"message\": \"Estado consultado exitosamente\",\n \"date\": 1770307880382,\n \"payload\": {\n \"id\": \"019a3c15-9d0c-734b-8346-617d6ba466d8\",\n \"cartId\": \"019a3c15-9cfc-7c3a-82ff-d87477378092\",\n \"status\": \"SOLD\",\n \"description\": \"Pago exitoso y producto vendido\",\n \"details\": {\n \"id\": 1952,\n \"categoryId\": 120,\n \"data\": {\n \"cellphone\": \"3208385716\",\n \"reference\": \"12345678\"\n },\n \"amount\": 9999,\n \"sellType\": \"Bill\",\n \"queryType\": \"BILLData\",\n \"agreement\": \"2010910\",\n \"customer_id\": \"customer_124\"\n },\n \"urlInvoice\": \"https://prep.refacil.co/#/factura/215765/10549\",\n \"urlSummary\": \"https://mf-core.refacil.co/refacilpay/resumen/62/28137590-b69d-11f0-8c08-b71754a3ac6b\",\n \"invoiceDueDate\": \"2026-05-31\"\n }\n}\n\n ```\n\n> ⚠️ `invoiceDueDate` es `string | null` — tiene valor solo cuando el proveedor retorna fecha de vencimiento de la factura. En productos que no son facturas, siempre es `null`.\n\n**🛒 Flujo de Uso - Carrito Completo:**\n\n**1\\. Consultar estado usando cartId:**\n\n``` json\nPOST /product-requests/status\n{\n \"cartId\": \"f47ac10b-58cc-4372-a567-0e02b2c3d479\"\n}\n\n ```\n\n**2\\. Respuesta del estado (carrito completo):**\n\n``` json\n{\n \"statusCode\": 200,\n \"message\": \"Estado consultado exitosamente\",\n \"date\": 1770307754145,\n \"payload\": {\n \"cartId\": \"019a3c15-9cfc-7c3a-82ff-d87477378092\",\n \"status\": \"COMPLETED\",\n \"totalAmount\": \"9999.00\",\n \"itemsCount\": 1,\n \"urlSummary\": \"https://mf-core.refacil.co/refacilpay/resumen/62/28137590-b69d-11f0-8c08-b71754a3ac6b\",\n \"paymentMethods\": [\n {\n \"id\": 56,\n \"name\": \"PSE\",\n \"categoryid\": 61,\n \"template_data_request\": { \"bankId\": \"1022\" }\n }\n ],\n \"products\": [\n {\n \"id\": \"019a3c15-9d0c-734b-8346-617d6ba466d8\",\n \"cartId\": \"019a3c15-9cfc-7c3a-82ff-d87477378092\",\n \"status\": \"SOLD\",\n \"description\": \"Pago exitoso y producto vendido\",\n \"details\": {\n \"id\": 1952,\n \"categoryId\": 120,\n \"data\": {\n \"cellphone\": \"3208385716\",\n \"reference\": \"12345678\"\n },\n \"amount\": \"9999.00\",\n \"sellType\": \"Bill\",\n \"queryType\": \"BILLData\",\n \"agreement\": \"2010910\",\n \"customer_id\": \"customer_124\"\n },\n \"urlInvoice\": \"https://prep.refacil.co/#/factura/215765/10549\",\n \"invoiceDueDate\": \"2026-05-31\"\n }\n ]\n }\n}\n\n ```\n\n**🔐 Validación de Seguridad:**\n\n- **Usuario autenticado**: Solo puedes consultar solicitudes/carritos creados con tu `secretId`\n \n- **ID válido**: Debe ser un UUID válido\n \n- **Acceso restringido**: No puedes consultar solicitudes/carritos de otros usuarios\n \n\n**📱 Casos de Uso:**\n\n- **Frontend**: Mostrar estado actual al usuario\n \n- **Backend**: Seguimiento de transacciones\n \n- **Webhooks**: Complementar notificaciones asíncronas\n \n- **Auditoría**: Verificar estado de solicitudes\n \n- **Carrito**: Consultar estado de múltiples productos a la vez\n \n\n**Respuesta de error (400 - Parámetros faltantes):**\n\n``` json\n{\n \"statusCode\": 400,\n \"message\": \"Debe proporcionar requestId o cartId\",\n \"date\": 1754945173974,\n \"payload\": {\n \"error\": \"MISSING_REQUIRED_PARAMETER\"\n }\n}\n\n ```\n\n**Respuesta de error (404):**\n\n``` json\n{\n \"statusCode\": 404,\n \"message\": \"Solicitud de producto no encontrada\",\n \"date\": 1754945173974,\n \"payload\": {\n \"error\": \"PRODUCT_REQUEST_NOT_FOUND\"\n }\n}\n\n ```\n\n**💡 Tip para Testing:** \nUsa la variable `lastCartId` o `lastRequestId` que se llenan automáticamente al crear solicitudes.\n\n### 7. Descartar Solicitud de Producto\n\n**Method**: `POST`\n\n**Path**: `/product-requests/discard`\n\nDescarta una solicitud de producto individual por su `requestId` o un carrito completo con todos sus productos por su `cartId`.\n\n**🔒 Seguridad:** \nEste endpoint incluye validación de seguridad que garantiza que solo puedas descartar solicitudes/carritos que creaste.\n\n**📋 Parámetros:**\n\nDebes proporcionar al menos uno de los siguientes parámetros:\n\n- **`requestId`** (string, opcional): ID único de la solicitud de producto individual (UUID)\n \n- **`cartId`** (string, opcional): ID único del carrito de compras (UUID)\n \n\n**➕ Campos adicionales en la respuesta (`cartId`, `totalAmount`, `paymentMethods`):**\n\n- Descarte por **`requestId`**: resuelve el `cartId` de la solicitud, consulta el carrito tras el descarte y retorna `totalAmount` + `paymentMethods` del carrito restante.\n \n- Descarte por **`cartId`**: retorna `totalAmount` y `paymentMethods` (típicamente `[]` si se descartaron todos los ítems).\n \n\n**Headers requeridos:**\n\n- `Authorization: Bearer {token}`\n \n- `x-secret-id: {secretId}`\n \n\n**⚠️ Condiciones para Descartar:**\n\n**Para producto individual:**\n\n- El producto debe estar en estado `PENDING`\n \n- Debe pertenecer al usuario autenticado\n \n\n**Para carrito completo:**\n\n- El carrito debe estar en estado `ACTIVE`\n \n- Debe pertenecer al usuario autenticado\n \n- Debe tener al menos un producto en estado `PENDING`\n \n\n**🔄 Flujo de Uso - Producto Individual:**\n\n**1\\. Descartar producto usando requestId:**\n\n``` json\nPOST /product-requests/discard\n{\n \"requestId\": \"15974df4-a599-4d28-a2f2-bb5b8faa678b\"\n}\n\n ```\n\n**2\\. Respuesta (producto individual):**\n\n``` json\n{\n \"statusCode\": 200,\n \"message\": \"Solicitud descartada exitosamente\",\n \"date\": 1754945173974,\n \"payload\": {\n \"cartId\": \"019a3c15-9cfc-7c3a-82ff-d87477378092\",\n \"requestId\": \"15974df4-a599-4d28-a2f2-bb5b8faa678b\",\n \"status\": \"DISCARDED\",\n \"totalAmount\": 5000,\n \"paymentMethods\": [\n {\n \"id\": 56,\n \"name\": \"PSE\",\n \"categoryid\": 61,\n \"template_data_request\": { \"bankId\": \"1022\" }\n }\n ]\n }\n}\n\n ```\n\n> ℹ️ Tras descartar por `requestId`, el sistema consulta el carrito asociado y recalcula `paymentMethods` sobre el `totalAmount` restante. Si el carrito queda en `totalAmount: 0`, `paymentMethods` es `[]`.\n\n**🛒 Flujo de Uso - Carrito Completo:**\n\n**1\\. Descartar carrito usando cartId:**\n\n``` json\nPOST /product-requests/discard\n{\n \"cartId\": \"f47ac10b-58cc-4372-a567-0e02b2c3d479\"\n}\n\n ```\n\n**2\\. Respuesta (carrito completo):**\n\n``` json\n{\n \"statusCode\": 200,\n \"message\": \"Carrito descartado exitosamente (2 productos)\",\n \"date\": 1754945173974,\n \"payload\": {\n \"cartId\": \"f47ac10b-58cc-4372-a567-0e02b2c3d479\",\n \"status\": \"ACTIVE\",\n \"totalAmount\": 0,\n \"paymentMethods\": [],\n \"discardedCount\": 2,\n \"products\": [\n {\n \"requestId\": \"20db2a40-77b7-11f0-85d4-7d462019c921\",\n \"status\": \"DISCARDED\"\n },\n {\n \"requestId\": \"30db2a40-77b7-11f0-85d4-7d462019c922\",\n \"status\": \"DISCARDED\"\n }\n ]\n }\n}\n\n ```\n\n**🔐 Validación de Seguridad:**\n\n- **Usuario autenticado**: Solo puedes descartar solicitudes/carritos creados con tu `secretId`\n \n- **ID válido**: Debe ser un UUID válido\n \n- **Acceso restringido**: No puedes descartar solicitudes/carritos de otros usuarios\n \n\n**📱 Casos de Uso:**\n\n- **Usuario cambia de opinión**: Descarta producto antes de pagar\n \n- **Datos incorrectos**: Usuario ingresó datos equivocados\n \n- **Monto muy alto**: Usuario no esperaba ese monto\n \n- **Limpiar carrito**: Descartar todos los productos de una vez\n \n- **Empezar de nuevo**: Usuario quiere crear un nuevo carrito desde cero\n \n\n**Respuesta de error (400 - Parámetros faltantes):**\n\n``` json\n{\n \"statusCode\": 400,\n \"message\": \"Debe proporcionar requestId o cartId\",\n \"date\": 1754945173974,\n \"payload\": {\n \"error\": \"MISSING_REQUIRED_PARAMETER\"\n }\n}\n\n ```\n\n**Respuesta de error (400 - Producto no está en PENDING):**\n\n``` json\n{\n \"statusCode\": 500,\n \"message\": \"Product request is not pending\",\n \"date\": 1754945173974,\n \"payload\": {\n \"error\": \"Product request is not pending\"\n }\n}\n\n ```\n\n**Respuesta de error (400 - Carrito no está ACTIVE):**\n\n``` json\n{\n \"statusCode\": 500,\n \"message\": \"Cart is not active\",\n \"date\": 1754945173974,\n \"payload\": {\n \"error\": \"Cart is not active\"\n }\n}\n\n ```\n\n**Respuesta de error (404):**\n\n``` json\n{\n \"statusCode\": 500,\n \"message\": \"Product request not found\",\n \"date\": 1754945173974,\n \"payload\": {\n \"error\": \"Product request not found\"\n }\n}\n\n ```\n\n**💡 Tip para Testing:** \nUsa la variable `lastCartId` o `lastRequestId` que se llenan automáticamente al crear solicitudes.\n\n\n\n> Nota MCP: Los nombres de variables que ves en esta documentación provienen de variables de Postman (por ejemplo `token`, `lastCartId`, `lastRequestId`, etc.). En el MCP estas variables se manejan internamente por la configuración del servidor o por herramientas previas; no uses la sintaxis `{{variable}}` ni envíes esos nombres literalmente en las llamadas de herramientas."
|
|
41
41
|
},
|
|
42
42
|
{
|
|
43
43
|
"uri": "postman://collection/products-payment-api/folder/pagos",
|
|
@@ -119,16 +119,16 @@ export const resources = [
|
|
|
119
119
|
{
|
|
120
120
|
"uri": "postman://collection/products-payment-api/endpoint/post/product-requests/status",
|
|
121
121
|
"name": "POST /product-requests/status - Endpoint Documentation",
|
|
122
|
-
"description": "Consulta el estado actual de una solicitud de producto individual por su `requestId` o de un carrito completo por su `cartId`.\n\n**🔒 Seguridad:** \nEste endpoint incluye validación de seguridad que garantiza que solo puedas consultar el estado de las solicitudes/carritos que creaste.\n\n**📋 Parámetros:**\n\nDebes proporcionar al menos uno de los siguientes parámetros:\n\n- **`requestId`** (string, opcional): ID único de la solicitud de producto individual (UUID)\n \n- **`cartId`** (string, opcional): ID único del carrito de compras (UUID)\n \n\n**Headers requeridos:**\n\n- `Authorization: Bearer {token}`\n \n- `x-secret-id: {secretId}`\n \n\n**📊 Estados Posibles:**\n\n**🔄 Estados de Proceso:**\n\n- **`INITIATED`**: Solicitud creada y en proceso de validación\n \n- **`QUERIED`**: Solicitud consultada exitosamente en API externa\n \n- **`PENDING`**: Solicitud lista para procesar el pago\n \n- **`WAITING_PAYMENT`**: Esperando confirmación de pago del proveedor\n \n\n**❌ Estados de Error:**\n\n- **`INVALID`**: Datos inválidos en la validación del producto\n \n- **`DISCARDED`**: Usuario decidió no continuar con el pago del producto\n \n- **`EXPIRED`**: La solicitud de producto ha expirado\n \n\n**✅ Estados Finales:**\n\n- **`SOLD`**: Pago exitoso y producto vendido\n \n- **`REFUNDED`**: Pago exitoso pero venta falló\n \n- **`CANCELLED`**: Usuario no realizó el pago del producto, el proveedor no confirmó el pago\n \n\n**🔄 Flujo de Uso - Producto Individual:**\n\n**1\\. Consultar estado usando requestId:**\n\n``` json\nPOST /product-requests/status\n{\n \"requestId\": \"15974df4-a599-4d28-a2f2-bb5b8faa678b\"\n}\n\n ```\n\n**2\\. Respuesta del estado (producto individual):**\n\n``` json\n{\n \"statusCode\": 200,\n \"message\": \"Estado consultado exitosamente\",\n \"date\": 1770307880382,\n \"payload\": {\n \"id\": \"019a3c15-9d0c-734b-8346-617d6ba466d8\",\n \"cartId\": \"019a3c15-9cfc-7c3a-82ff-d87477378092\",\n \"status\": \"SOLD\",\n \"description\": \"Pago exitoso y producto vendido\",\n \"details\": {\n \"id\": 1952,\n \"categoryId\": 120,\n \"data\": {\n \"cellphone\": \"3208385716\",\n \"reference\": \"12345678\"\n },\n \"amount\": 9999,\n \"sellType\": \"Bill\",\n \"queryType\": \"BILLData\",\n \"agreement\": \"2010910\",\n \"customer_id\": \"customer_124\"\n },\n \"urlInvoice\": \"https://prep.refacil.co/#/factura/215765/10549\",\n \"urlSummary\": \"https://mf-core.refacil.co/refacilpay/resumen/62/28137590-b69d-11f0-8c08-b71754a3ac6b\",\n \"invoiceDueDate\": \"2026-05-31\"\n }\n}\n\n ```\n\n> ⚠️ `invoiceDueDate` es `string | null` — tiene valor solo cuando el proveedor retorna fecha de vencimiento de la factura. En productos que no son facturas, siempre es `null`.\n\n**🛒 Flujo de Uso - Carrito Completo:**\n\n**1\\. Consultar estado usando cartId:**\n\n``` json\nPOST /product-requests/status\n{\n \"cartId\": \"f47ac10b-58cc-4372-a567-0e02b2c3d479\"\n}\n\n ```\n\n**2\\. Respuesta del estado (carrito completo):**\n\n``` json\n{\n \"statusCode\": 200,\n \"message\": \"Estado consultado exitosamente\",\n \"date\": 1770307754145,\n \"payload\": {\n \"cartId\": \"019a3c15-9cfc-7c3a-82ff-d87477378092\",\n \"status\": \"COMPLETED\",\n \"totalAmount\": \"9999.00\",\n \"itemsCount\": 1,\n \"urlSummary\": \"https://mf-core.refacil.co/refacilpay/resumen/62/28137590-b69d-11f0-8c08-b71754a3ac6b\",\n \"products\": [\n {\n \"id\": \"019a3c15-9d0c-734b-8346-617d6ba466d8\",\n \"cartId\": \"019a3c15-9cfc-7c3a-82ff-d87477378092\",\n \"status\": \"SOLD\",\n \"description\": \"Pago exitoso y producto vendido\",\n \"details\": {\n \"id\": 1952,\n \"categoryId\": 120,\n \"data\": {\n \"cellphone\": \"3208385716\",\n \"reference\": \"12345678\"\n },\n \"amount\": \"9999.00\",\n \"sellType\": \"Bill\",\n \"queryType\": \"BILLData\",\n \"agreement\": \"2010910\",\n \"customer_id\": \"customer_124\"\n },\n \"urlInvoice\": \"https://prep.refacil.co/#/factura/215765/10549\",\n \"invoiceDueDate\": \"2026-05-31\"\n }\n ]\n }\n}\n\n ```\n\n**🔐 Validación de Seguridad:**\n\n- **Usuario autenticado**: Solo puedes consultar solicitudes/carritos creados con tu `secretId`\n \n- **ID válido**: Debe ser un UUID válido\n \n- **Acceso restringido**: No puedes consultar solicitudes/carritos de otros usuarios\n \n\n**📱 Casos de Uso:**\n\n- **Frontend**: Mostrar estado actual al usuario\n \n- **Backend**: Seguimiento de transacciones\n \n- **Webhooks**: Complementar notificaciones asíncronas\n \n- **Auditoría**: Verificar estado de solicitudes\n \n- **Carrito**: Consultar estado de múltiples productos a la vez\n \n\n**Respuesta de error (400 - Parámetros faltantes):**\n\n``` json\n{\n \"statusCode\": 400,\n \"message\": \"Debe proporcionar requestId o cartId\",\n \"date\": 1754945173974,\n \"payload\": {\n \"error\": \"MISSING_REQUIRED_PARAMETER\"\n }\n}\n\n ```\n\n**Respuesta de error (404):**\n\n``` json\n{\n \"statusCode\": 404,\n \"message\": \"Solicitud de producto no encontrada\",\n \"date\": 1754945173974,\n \"payload\": {\n \"error\": \"PRODUCT_REQUEST_NOT_FOUND\"\n }\n}\n\n ```\n\n**💡 Tip para Testing:** \nUsa la variable `lastCartId` o `lastRequestId` que se llenan automáticamente al crear solicitudes.\n\n> Nota MCP: Los nombres de variables que ves en esta documentación provienen de variables de Postman (por ejemplo `token`, `lastCartId`, `lastRequestId`, etc.). En el MCP estas variables se manejan internamente por la configuración del servidor o por herramientas previas; no uses la sintaxis `{{variable}}` ni envíes esos nombres literalmente en las llamadas de herramientas.",
|
|
122
|
+
"description": "Consulta el estado actual de una solicitud de producto individual por su `requestId` o de un carrito completo por su `cartId`.\n\n**🔒 Seguridad:** \nEste endpoint incluye validación de seguridad que garantiza que solo puedas consultar el estado de las solicitudes/carritos que creaste.\n\n**📋 Parámetros:**\n\nDebes proporcionar al menos uno de los siguientes parámetros:\n\n- **`requestId`** (string, opcional): ID único de la solicitud de producto individual (UUID)\n \n- **`cartId`** (string, opcional): ID único del carrito de compras (UUID)\n \n\n**➕ Campo adicional `paymentMethods` (sin cambiar el payload existente):**\n\n- Con **`requestId`**: la respuesta conserva la forma individual (`id`, `cartId`, `status`, `details`, `urlInvoice`, `urlSummary`, `invoiceDueDate`, …) y **agrega** `paymentMethods` cuando el carrito asociado (resuelto vía `cartId` del request) está en estado `ACTIVE`.\n \n- Con **`cartId`**: la respuesta conserva la forma de carrito (`products`, `totalAmount`, `itemsCount`, …) y **agrega** `paymentMethods` solo si el carrito está `ACTIVE`.\n \n- Si el carrito no está activo o `totalAmount` es 0: el campo se omite o retorna `[]`.\n \n\n**Headers requeridos:**\n\n- `Authorization: Bearer {token}`\n \n- `x-secret-id: {secretId}`\n \n\n**📊 Estados Posibles:**\n\n**🔄 Estados de Proceso:**\n\n- **`INITIATED`**: Solicitud creada y en proceso de validación\n \n- **`QUERIED`**: Solicitud consultada exitosamente en API externa\n \n- **`PENDING`**: Solicitud lista para procesar el pago\n \n- **`WAITING_PAYMENT`**: Esperando confirmación de pago del proveedor\n \n\n**❌ Estados de Error:**\n\n- **`INVALID`**: Datos inválidos en la validación del producto\n \n- **`DISCARDED`**: Usuario decidió no continuar con el pago del producto\n \n- **`EXPIRED`**: La solicitud de producto ha expirado\n \n\n**✅ Estados Finales:**\n\n- **`SOLD`**: Pago exitoso y producto vendido\n \n- **`REFUNDED`**: Pago exitoso pero venta falló\n \n- **`CANCELLED`**: Usuario no realizó el pago del producto, el proveedor no confirmó el pago\n \n\n**🔄 Flujo de Uso - Producto Individual:**\n\n**1\\. Consultar estado usando requestId:**\n\n``` json\nPOST /product-requests/status\n{\n \"requestId\": \"15974df4-a599-4d28-a2f2-bb5b8faa678b\"\n}\n\n ```\n\n**2\\. Respuesta del estado (producto individual):**\n\n``` json\n{\n \"statusCode\": 200,\n \"message\": \"Estado consultado exitosamente\",\n \"date\": 1770307880382,\n \"payload\": {\n \"id\": \"019a3c15-9d0c-734b-8346-617d6ba466d8\",\n \"cartId\": \"019a3c15-9cfc-7c3a-82ff-d87477378092\",\n \"status\": \"SOLD\",\n \"description\": \"Pago exitoso y producto vendido\",\n \"details\": {\n \"id\": 1952,\n \"categoryId\": 120,\n \"data\": {\n \"cellphone\": \"3208385716\",\n \"reference\": \"12345678\"\n },\n \"amount\": 9999,\n \"sellType\": \"Bill\",\n \"queryType\": \"BILLData\",\n \"agreement\": \"2010910\",\n \"customer_id\": \"customer_124\"\n },\n \"urlInvoice\": \"https://prep.refacil.co/#/factura/215765/10549\",\n \"urlSummary\": \"https://mf-core.refacil.co/refacilpay/resumen/62/28137590-b69d-11f0-8c08-b71754a3ac6b\",\n \"invoiceDueDate\": \"2026-05-31\"\n }\n}\n\n ```\n\n> ⚠️ `invoiceDueDate` es `string | null` — tiene valor solo cuando el proveedor retorna fecha de vencimiento de la factura. En productos que no son facturas, siempre es `null`.\n\n**🛒 Flujo de Uso - Carrito Completo:**\n\n**1\\. Consultar estado usando cartId:**\n\n``` json\nPOST /product-requests/status\n{\n \"cartId\": \"f47ac10b-58cc-4372-a567-0e02b2c3d479\"\n}\n\n ```\n\n**2\\. Respuesta del estado (carrito completo):**\n\n``` json\n{\n \"statusCode\": 200,\n \"message\": \"Estado consultado exitosamente\",\n \"date\": 1770307754145,\n \"payload\": {\n \"cartId\": \"019a3c15-9cfc-7c3a-82ff-d87477378092\",\n \"status\": \"COMPLETED\",\n \"totalAmount\": \"9999.00\",\n \"itemsCount\": 1,\n \"urlSummary\": \"https://mf-core.refacil.co/refacilpay/resumen/62/28137590-b69d-11f0-8c08-b71754a3ac6b\",\n \"paymentMethods\": [\n {\n \"id\": 56,\n \"name\": \"PSE\",\n \"categoryid\": 61,\n \"template_data_request\": { \"bankId\": \"1022\" }\n }\n ],\n \"products\": [\n {\n \"id\": \"019a3c15-9d0c-734b-8346-617d6ba466d8\",\n \"cartId\": \"019a3c15-9cfc-7c3a-82ff-d87477378092\",\n \"status\": \"SOLD\",\n \"description\": \"Pago exitoso y producto vendido\",\n \"details\": {\n \"id\": 1952,\n \"categoryId\": 120,\n \"data\": {\n \"cellphone\": \"3208385716\",\n \"reference\": \"12345678\"\n },\n \"amount\": \"9999.00\",\n \"sellType\": \"Bill\",\n \"queryType\": \"BILLData\",\n \"agreement\": \"2010910\",\n \"customer_id\": \"customer_124\"\n },\n \"urlInvoice\": \"https://prep.refacil.co/#/factura/215765/10549\",\n \"invoiceDueDate\": \"2026-05-31\"\n }\n ]\n }\n}\n\n ```\n\n**🔐 Validación de Seguridad:**\n\n- **Usuario autenticado**: Solo puedes consultar solicitudes/carritos creados con tu `secretId`\n \n- **ID válido**: Debe ser un UUID válido\n \n- **Acceso restringido**: No puedes consultar solicitudes/carritos de otros usuarios\n \n\n**📱 Casos de Uso:**\n\n- **Frontend**: Mostrar estado actual al usuario\n \n- **Backend**: Seguimiento de transacciones\n \n- **Webhooks**: Complementar notificaciones asíncronas\n \n- **Auditoría**: Verificar estado de solicitudes\n \n- **Carrito**: Consultar estado de múltiples productos a la vez\n \n\n**Respuesta de error (400 - Parámetros faltantes):**\n\n``` json\n{\n \"statusCode\": 400,\n \"message\": \"Debe proporcionar requestId o cartId\",\n \"date\": 1754945173974,\n \"payload\": {\n \"error\": \"MISSING_REQUIRED_PARAMETER\"\n }\n}\n\n ```\n\n**Respuesta de error (404):**\n\n``` json\n{\n \"statusCode\": 404,\n \"message\": \"Solicitud de producto no encontrada\",\n \"date\": 1754945173974,\n \"payload\": {\n \"error\": \"PRODUCT_REQUEST_NOT_FOUND\"\n }\n}\n\n ```\n\n**💡 Tip para Testing:** \nUsa la variable `lastCartId` o `lastRequestId` que se llenan automáticamente al crear solicitudes.\n\n> Nota MCP: Los nombres de variables que ves en esta documentación provienen de variables de Postman (por ejemplo `token`, `lastCartId`, `lastRequestId`, etc.). En el MCP estas variables se manejan internamente por la configuración del servidor o por herramientas previas; no uses la sintaxis `{{variable}}` ni envíes esos nombres literalmente en las llamadas de herramientas.",
|
|
123
123
|
"mimeType": "text/markdown",
|
|
124
|
-
"content": "# 6. Consultar Estado de Solicitud de Producto\n\n## Request Details\n\n**Method**: `POST`\n\n**Path**: `/product-requests/status`\n\n## Description\n\nConsulta el estado actual de una solicitud de producto individual por su `requestId` o de un carrito completo por su `cartId`.\n\n**🔒 Seguridad:** \nEste endpoint incluye validación de seguridad que garantiza que solo puedas consultar el estado de las solicitudes/carritos que creaste.\n\n**📋 Parámetros:**\n\nDebes proporcionar al menos uno de los siguientes parámetros:\n\n- **`requestId`** (string, opcional): ID único de la solicitud de producto individual (UUID)\n \n- **`cartId`** (string, opcional): ID único del carrito de compras (UUID)\n \n\n**Headers requeridos:**\n\n- `Authorization: Bearer {token}`\n \n- `x-secret-id: {secretId}`\n \n\n**📊 Estados Posibles:**\n\n**🔄 Estados de Proceso:**\n\n- **`INITIATED`**: Solicitud creada y en proceso de validación\n \n- **`QUERIED`**: Solicitud consultada exitosamente en API externa\n \n- **`PENDING`**: Solicitud lista para procesar el pago\n \n- **`WAITING_PAYMENT`**: Esperando confirmación de pago del proveedor\n \n\n**❌ Estados de Error:**\n\n- **`INVALID`**: Datos inválidos en la validación del producto\n \n- **`DISCARDED`**: Usuario decidió no continuar con el pago del producto\n \n- **`EXPIRED`**: La solicitud de producto ha expirado\n \n\n**✅ Estados Finales:**\n\n- **`SOLD`**: Pago exitoso y producto vendido\n \n- **`REFUNDED`**: Pago exitoso pero venta falló\n \n- **`CANCELLED`**: Usuario no realizó el pago del producto, el proveedor no confirmó el pago\n \n\n**🔄 Flujo de Uso - Producto Individual:**\n\n**1\\. Consultar estado usando requestId:**\n\n``` json\nPOST /product-requests/status\n{\n \"requestId\": \"15974df4-a599-4d28-a2f2-bb5b8faa678b\"\n}\n\n ```\n\n**2\\. Respuesta del estado (producto individual):**\n\n``` json\n{\n \"statusCode\": 200,\n \"message\": \"Estado consultado exitosamente\",\n \"date\": 1770307880382,\n \"payload\": {\n \"id\": \"019a3c15-9d0c-734b-8346-617d6ba466d8\",\n \"cartId\": \"019a3c15-9cfc-7c3a-82ff-d87477378092\",\n \"status\": \"SOLD\",\n \"description\": \"Pago exitoso y producto vendido\",\n \"details\": {\n \"id\": 1952,\n \"categoryId\": 120,\n \"data\": {\n \"cellphone\": \"3208385716\",\n \"reference\": \"12345678\"\n },\n \"amount\": 9999,\n \"sellType\": \"Bill\",\n \"queryType\": \"BILLData\",\n \"agreement\": \"2010910\",\n \"customer_id\": \"customer_124\"\n },\n \"urlInvoice\": \"https://prep.refacil.co/#/factura/215765/10549\",\n \"urlSummary\": \"https://mf-core.refacil.co/refacilpay/resumen/62/28137590-b69d-11f0-8c08-b71754a3ac6b\",\n \"invoiceDueDate\": \"2026-05-31\"\n }\n}\n\n ```\n\n> ⚠️ `invoiceDueDate` es `string | null` — tiene valor solo cuando el proveedor retorna fecha de vencimiento de la factura. En productos que no son facturas, siempre es `null`.\n\n**🛒 Flujo de Uso - Carrito Completo:**\n\n**1\\. Consultar estado usando cartId:**\n\n``` json\nPOST /product-requests/status\n{\n \"cartId\": \"f47ac10b-58cc-4372-a567-0e02b2c3d479\"\n}\n\n ```\n\n**2\\. Respuesta del estado (carrito completo):**\n\n``` json\n{\n \"statusCode\": 200,\n \"message\": \"Estado consultado exitosamente\",\n \"date\": 1770307754145,\n \"payload\": {\n \"cartId\": \"019a3c15-9cfc-7c3a-82ff-d87477378092\",\n \"status\": \"COMPLETED\",\n \"totalAmount\": \"9999.00\",\n \"itemsCount\": 1,\n \"urlSummary\": \"https://mf-core.refacil.co/refacilpay/resumen/62/28137590-b69d-11f0-8c08-b71754a3ac6b\",\n \"products\": [\n {\n \"id\": \"019a3c15-9d0c-734b-8346-617d6ba466d8\",\n \"cartId\": \"019a3c15-9cfc-7c3a-82ff-d87477378092\",\n \"status\": \"SOLD\",\n \"description\": \"Pago exitoso y producto vendido\",\n \"details\": {\n \"id\": 1952,\n \"categoryId\": 120,\n \"data\": {\n \"cellphone\": \"3208385716\",\n \"reference\": \"12345678\"\n },\n \"amount\": \"9999.00\",\n \"sellType\": \"Bill\",\n \"queryType\": \"BILLData\",\n \"agreement\": \"2010910\",\n \"customer_id\": \"customer_124\"\n },\n \"urlInvoice\": \"https://prep.refacil.co/#/factura/215765/10549\",\n \"invoiceDueDate\": \"2026-05-31\"\n }\n ]\n }\n}\n\n ```\n\n**🔐 Validación de Seguridad:**\n\n- **Usuario autenticado**: Solo puedes consultar solicitudes/carritos creados con tu `secretId`\n \n- **ID válido**: Debe ser un UUID válido\n \n- **Acceso restringido**: No puedes consultar solicitudes/carritos de otros usuarios\n \n\n**📱 Casos de Uso:**\n\n- **Frontend**: Mostrar estado actual al usuario\n \n- **Backend**: Seguimiento de transacciones\n \n- **Webhooks**: Complementar notificaciones asíncronas\n \n- **Auditoría**: Verificar estado de solicitudes\n \n- **Carrito**: Consultar estado de múltiples productos a la vez\n \n\n**Respuesta de error (400 - Parámetros faltantes):**\n\n``` json\n{\n \"statusCode\": 400,\n \"message\": \"Debe proporcionar requestId o cartId\",\n \"date\": 1754945173974,\n \"payload\": {\n \"error\": \"MISSING_REQUIRED_PARAMETER\"\n }\n}\n\n ```\n\n**Respuesta de error (404):**\n\n``` json\n{\n \"statusCode\": 404,\n \"message\": \"Solicitud de producto no encontrada\",\n \"date\": 1754945173974,\n \"payload\": {\n \"error\": \"PRODUCT_REQUEST_NOT_FOUND\"\n }\n}\n\n ```\n\n**💡 Tip para Testing:** \nUsa la variable `lastCartId` o `lastRequestId` que se llenan automáticamente al crear solicitudes.\n\n## Headers\n\n- **Authorization**: Bearer token\n- **x-secret-id**: secretId\n- **Content-Type**: application/json\n\n## Request Body\n\n**Type**: `raw`\n\n```json\n{\n \"requestId\": \"lastRequestId\"\n}\n```\n\n\n\n> Nota MCP: Los nombres de variables que ves en esta documentación provienen de variables de Postman (por ejemplo `token`, `lastCartId`, `lastRequestId`, etc.). En el MCP estas variables se manejan internamente por la configuración del servidor o por herramientas previas; no uses la sintaxis `{{variable}}` ni envíes esos nombres literalmente en las llamadas de herramientas."
|
|
124
|
+
"content": "# 6. Consultar Estado de Solicitud de Producto\n\n## Request Details\n\n**Method**: `POST`\n\n**Path**: `/product-requests/status`\n\n## Description\n\nConsulta el estado actual de una solicitud de producto individual por su `requestId` o de un carrito completo por su `cartId`.\n\n**🔒 Seguridad:** \nEste endpoint incluye validación de seguridad que garantiza que solo puedas consultar el estado de las solicitudes/carritos que creaste.\n\n**📋 Parámetros:**\n\nDebes proporcionar al menos uno de los siguientes parámetros:\n\n- **`requestId`** (string, opcional): ID único de la solicitud de producto individual (UUID)\n \n- **`cartId`** (string, opcional): ID único del carrito de compras (UUID)\n \n\n**➕ Campo adicional `paymentMethods` (sin cambiar el payload existente):**\n\n- Con **`requestId`**: la respuesta conserva la forma individual (`id`, `cartId`, `status`, `details`, `urlInvoice`, `urlSummary`, `invoiceDueDate`, …) y **agrega** `paymentMethods` cuando el carrito asociado (resuelto vía `cartId` del request) está en estado `ACTIVE`.\n \n- Con **`cartId`**: la respuesta conserva la forma de carrito (`products`, `totalAmount`, `itemsCount`, …) y **agrega** `paymentMethods` solo si el carrito está `ACTIVE`.\n \n- Si el carrito no está activo o `totalAmount` es 0: el campo se omite o retorna `[]`.\n \n\n**Headers requeridos:**\n\n- `Authorization: Bearer {token}`\n \n- `x-secret-id: {secretId}`\n \n\n**📊 Estados Posibles:**\n\n**🔄 Estados de Proceso:**\n\n- **`INITIATED`**: Solicitud creada y en proceso de validación\n \n- **`QUERIED`**: Solicitud consultada exitosamente en API externa\n \n- **`PENDING`**: Solicitud lista para procesar el pago\n \n- **`WAITING_PAYMENT`**: Esperando confirmación de pago del proveedor\n \n\n**❌ Estados de Error:**\n\n- **`INVALID`**: Datos inválidos en la validación del producto\n \n- **`DISCARDED`**: Usuario decidió no continuar con el pago del producto\n \n- **`EXPIRED`**: La solicitud de producto ha expirado\n \n\n**✅ Estados Finales:**\n\n- **`SOLD`**: Pago exitoso y producto vendido\n \n- **`REFUNDED`**: Pago exitoso pero venta falló\n \n- **`CANCELLED`**: Usuario no realizó el pago del producto, el proveedor no confirmó el pago\n \n\n**🔄 Flujo de Uso - Producto Individual:**\n\n**1\\. Consultar estado usando requestId:**\n\n``` json\nPOST /product-requests/status\n{\n \"requestId\": \"15974df4-a599-4d28-a2f2-bb5b8faa678b\"\n}\n\n ```\n\n**2\\. Respuesta del estado (producto individual):**\n\n``` json\n{\n \"statusCode\": 200,\n \"message\": \"Estado consultado exitosamente\",\n \"date\": 1770307880382,\n \"payload\": {\n \"id\": \"019a3c15-9d0c-734b-8346-617d6ba466d8\",\n \"cartId\": \"019a3c15-9cfc-7c3a-82ff-d87477378092\",\n \"status\": \"SOLD\",\n \"description\": \"Pago exitoso y producto vendido\",\n \"details\": {\n \"id\": 1952,\n \"categoryId\": 120,\n \"data\": {\n \"cellphone\": \"3208385716\",\n \"reference\": \"12345678\"\n },\n \"amount\": 9999,\n \"sellType\": \"Bill\",\n \"queryType\": \"BILLData\",\n \"agreement\": \"2010910\",\n \"customer_id\": \"customer_124\"\n },\n \"urlInvoice\": \"https://prep.refacil.co/#/factura/215765/10549\",\n \"urlSummary\": \"https://mf-core.refacil.co/refacilpay/resumen/62/28137590-b69d-11f0-8c08-b71754a3ac6b\",\n \"invoiceDueDate\": \"2026-05-31\"\n }\n}\n\n ```\n\n> ⚠️ `invoiceDueDate` es `string | null` — tiene valor solo cuando el proveedor retorna fecha de vencimiento de la factura. En productos que no son facturas, siempre es `null`.\n\n**🛒 Flujo de Uso - Carrito Completo:**\n\n**1\\. Consultar estado usando cartId:**\n\n``` json\nPOST /product-requests/status\n{\n \"cartId\": \"f47ac10b-58cc-4372-a567-0e02b2c3d479\"\n}\n\n ```\n\n**2\\. Respuesta del estado (carrito completo):**\n\n``` json\n{\n \"statusCode\": 200,\n \"message\": \"Estado consultado exitosamente\",\n \"date\": 1770307754145,\n \"payload\": {\n \"cartId\": \"019a3c15-9cfc-7c3a-82ff-d87477378092\",\n \"status\": \"COMPLETED\",\n \"totalAmount\": \"9999.00\",\n \"itemsCount\": 1,\n \"urlSummary\": \"https://mf-core.refacil.co/refacilpay/resumen/62/28137590-b69d-11f0-8c08-b71754a3ac6b\",\n \"paymentMethods\": [\n {\n \"id\": 56,\n \"name\": \"PSE\",\n \"categoryid\": 61,\n \"template_data_request\": { \"bankId\": \"1022\" }\n }\n ],\n \"products\": [\n {\n \"id\": \"019a3c15-9d0c-734b-8346-617d6ba466d8\",\n \"cartId\": \"019a3c15-9cfc-7c3a-82ff-d87477378092\",\n \"status\": \"SOLD\",\n \"description\": \"Pago exitoso y producto vendido\",\n \"details\": {\n \"id\": 1952,\n \"categoryId\": 120,\n \"data\": {\n \"cellphone\": \"3208385716\",\n \"reference\": \"12345678\"\n },\n \"amount\": \"9999.00\",\n \"sellType\": \"Bill\",\n \"queryType\": \"BILLData\",\n \"agreement\": \"2010910\",\n \"customer_id\": \"customer_124\"\n },\n \"urlInvoice\": \"https://prep.refacil.co/#/factura/215765/10549\",\n \"invoiceDueDate\": \"2026-05-31\"\n }\n ]\n }\n}\n\n ```\n\n**🔐 Validación de Seguridad:**\n\n- **Usuario autenticado**: Solo puedes consultar solicitudes/carritos creados con tu `secretId`\n \n- **ID válido**: Debe ser un UUID válido\n \n- **Acceso restringido**: No puedes consultar solicitudes/carritos de otros usuarios\n \n\n**📱 Casos de Uso:**\n\n- **Frontend**: Mostrar estado actual al usuario\n \n- **Backend**: Seguimiento de transacciones\n \n- **Webhooks**: Complementar notificaciones asíncronas\n \n- **Auditoría**: Verificar estado de solicitudes\n \n- **Carrito**: Consultar estado de múltiples productos a la vez\n \n\n**Respuesta de error (400 - Parámetros faltantes):**\n\n``` json\n{\n \"statusCode\": 400,\n \"message\": \"Debe proporcionar requestId o cartId\",\n \"date\": 1754945173974,\n \"payload\": {\n \"error\": \"MISSING_REQUIRED_PARAMETER\"\n }\n}\n\n ```\n\n**Respuesta de error (404):**\n\n``` json\n{\n \"statusCode\": 404,\n \"message\": \"Solicitud de producto no encontrada\",\n \"date\": 1754945173974,\n \"payload\": {\n \"error\": \"PRODUCT_REQUEST_NOT_FOUND\"\n }\n}\n\n ```\n\n**💡 Tip para Testing:** \nUsa la variable `lastCartId` o `lastRequestId` que se llenan automáticamente al crear solicitudes.\n\n## Headers\n\n- **Authorization**: Bearer token\n- **x-secret-id**: secretId\n- **Content-Type**: application/json\n\n## Request Body\n\n**Type**: `raw`\n\n```json\n{\n \"requestId\": \"lastRequestId\"\n}\n```\n\n\n\n> Nota MCP: Los nombres de variables que ves en esta documentación provienen de variables de Postman (por ejemplo `token`, `lastCartId`, `lastRequestId`, etc.). En el MCP estas variables se manejan internamente por la configuración del servidor o por herramientas previas; no uses la sintaxis `{{variable}}` ni envíes esos nombres literalmente en las llamadas de herramientas."
|
|
125
125
|
},
|
|
126
126
|
{
|
|
127
127
|
"uri": "postman://collection/products-payment-api/endpoint/post/product-requests/discard",
|
|
128
128
|
"name": "POST /product-requests/discard - Endpoint Documentation",
|
|
129
|
-
"description": "Descarta una solicitud de producto individual por su `requestId` o un carrito completo con todos sus productos por su `cartId`.\n\n**🔒 Seguridad:** \nEste endpoint incluye validación de seguridad que garantiza que solo puedas descartar solicitudes/carritos que creaste.\n\n**📋 Parámetros:**\n\nDebes proporcionar al menos uno de los siguientes parámetros:\n\n- **`requestId`** (string, opcional): ID único de la solicitud de producto individual (UUID)\n \n- **`cartId`** (string, opcional): ID único del carrito de compras (UUID)\n \n\n**Headers requeridos:**\n\n- `Authorization: Bearer {token}`\n \n- `x-secret-id: {secretId}`\n \n\n**⚠️ Condiciones para Descartar:**\n\n**Para producto individual:**\n\n- El producto debe estar en estado `PENDING`\n \n- Debe pertenecer al usuario autenticado\n \n\n**Para carrito completo:**\n\n- El carrito debe estar en estado `ACTIVE`\n \n- Debe pertenecer al usuario autenticado\n \n- Debe tener al menos un producto en estado `PENDING`\n \n\n**🔄 Flujo de Uso - Producto Individual:**\n\n**1\\. Descartar producto usando requestId:**\n\n``` json\nPOST /product-requests/discard\n{\n \"requestId\": \"15974df4-a599-4d28-a2f2-bb5b8faa678b\"\n}\n\n ```\n\n**2\\. Respuesta (producto individual):**\n\n``` json\n{\n \"statusCode\": 200,\n \"message\": \"Solicitud descartada exitosamente\",\n \"date\": 1754945173974,\n \"payload\": {\n \"requestId\": \"15974df4-a599-4d28-a2f2-bb5b8faa678b\",\n \"status\": \"DISCARDED\"\n }\n}\n\n ```\n\n**🛒 Flujo de Uso - Carrito Completo:**\n\n**1\\. Descartar carrito usando cartId:**\n\n``` json\nPOST /product-requests/discard\n{\n \"cartId\": \"f47ac10b-58cc-4372-a567-0e02b2c3d479\"\n}\n\n ```\n\n**2\\. Respuesta (carrito completo):**\n\n``` json\n{\n \"statusCode\": 200,\n \"message\": \"Carrito descartado exitosamente (2 productos)\",\n \"date\": 1754945173974,\n \"payload\": {\n \"cartId\": \"f47ac10b-58cc-4372-a567-0e02b2c3d479\",\n \"status\": \"
|
|
129
|
+
"description": "Descarta una solicitud de producto individual por su `requestId` o un carrito completo con todos sus productos por su `cartId`.\n\n**🔒 Seguridad:** \nEste endpoint incluye validación de seguridad que garantiza que solo puedas descartar solicitudes/carritos que creaste.\n\n**📋 Parámetros:**\n\nDebes proporcionar al menos uno de los siguientes parámetros:\n\n- **`requestId`** (string, opcional): ID único de la solicitud de producto individual (UUID)\n \n- **`cartId`** (string, opcional): ID único del carrito de compras (UUID)\n \n\n**➕ Campos adicionales en la respuesta (`cartId`, `totalAmount`, `paymentMethods`):**\n\n- Descarte por **`requestId`**: resuelve el `cartId` de la solicitud, consulta el carrito tras el descarte y retorna `totalAmount` + `paymentMethods` del carrito restante.\n \n- Descarte por **`cartId`**: retorna `totalAmount` y `paymentMethods` (típicamente `[]` si se descartaron todos los ítems).\n \n\n**Headers requeridos:**\n\n- `Authorization: Bearer {token}`\n \n- `x-secret-id: {secretId}`\n \n\n**⚠️ Condiciones para Descartar:**\n\n**Para producto individual:**\n\n- El producto debe estar en estado `PENDING`\n \n- Debe pertenecer al usuario autenticado\n \n\n**Para carrito completo:**\n\n- El carrito debe estar en estado `ACTIVE`\n \n- Debe pertenecer al usuario autenticado\n \n- Debe tener al menos un producto en estado `PENDING`\n \n\n**🔄 Flujo de Uso - Producto Individual:**\n\n**1\\. Descartar producto usando requestId:**\n\n``` json\nPOST /product-requests/discard\n{\n \"requestId\": \"15974df4-a599-4d28-a2f2-bb5b8faa678b\"\n}\n\n ```\n\n**2\\. Respuesta (producto individual):**\n\n``` json\n{\n \"statusCode\": 200,\n \"message\": \"Solicitud descartada exitosamente\",\n \"date\": 1754945173974,\n \"payload\": {\n \"cartId\": \"019a3c15-9cfc-7c3a-82ff-d87477378092\",\n \"requestId\": \"15974df4-a599-4d28-a2f2-bb5b8faa678b\",\n \"status\": \"DISCARDED\",\n \"totalAmount\": 5000,\n \"paymentMethods\": [\n {\n \"id\": 56,\n \"name\": \"PSE\",\n \"categoryid\": 61,\n \"template_data_request\": { \"bankId\": \"1022\" }\n }\n ]\n }\n}\n\n ```\n\n> ℹ️ Tras descartar por `requestId`, el sistema consulta el carrito asociado y recalcula `paymentMethods` sobre el `totalAmount` restante. Si el carrito queda en `totalAmount: 0`, `paymentMethods` es `[]`.\n\n**🛒 Flujo de Uso - Carrito Completo:**\n\n**1\\. Descartar carrito usando cartId:**\n\n``` json\nPOST /product-requests/discard\n{\n \"cartId\": \"f47ac10b-58cc-4372-a567-0e02b2c3d479\"\n}\n\n ```\n\n**2\\. Respuesta (carrito completo):**\n\n``` json\n{\n \"statusCode\": 200,\n \"message\": \"Carrito descartado exitosamente (2 productos)\",\n \"date\": 1754945173974,\n \"payload\": {\n \"cartId\": \"f47ac10b-58cc-4372-a567-0e02b2c3d479\",\n \"status\": \"ACTIVE\",\n \"totalAmount\": 0,\n \"paymentMethods\": [],\n \"discardedCount\": 2,\n \"products\": [\n {\n \"requestId\": \"20db2a40-77b7-11f0-85d4-7d462019c921\",\n \"status\": \"DISCARDED\"\n },\n {\n \"requestId\": \"30db2a40-77b7-11f0-85d4-7d462019c922\",\n \"status\": \"DISCARDED\"\n }\n ]\n }\n}\n\n ```\n\n**🔐 Validación de Seguridad:**\n\n- **Usuario autenticado**: Solo puedes descartar solicitudes/carritos creados con tu `secretId`\n \n- **ID válido**: Debe ser un UUID válido\n \n- **Acceso restringido**: No puedes descartar solicitudes/carritos de otros usuarios\n \n\n**📱 Casos de Uso:**\n\n- **Usuario cambia de opinión**: Descarta producto antes de pagar\n \n- **Datos incorrectos**: Usuario ingresó datos equivocados\n \n- **Monto muy alto**: Usuario no esperaba ese monto\n \n- **Limpiar carrito**: Descartar todos los productos de una vez\n \n- **Empezar de nuevo**: Usuario quiere crear un nuevo carrito desde cero\n \n\n**Respuesta de error (400 - Parámetros faltantes):**\n\n``` json\n{\n \"statusCode\": 400,\n \"message\": \"Debe proporcionar requestId o cartId\",\n \"date\": 1754945173974,\n \"payload\": {\n \"error\": \"MISSING_REQUIRED_PARAMETER\"\n }\n}\n\n ```\n\n**Respuesta de error (400 - Producto no está en PENDING):**\n\n``` json\n{\n \"statusCode\": 500,\n \"message\": \"Product request is not pending\",\n \"date\": 1754945173974,\n \"payload\": {\n \"error\": \"Product request is not pending\"\n }\n}\n\n ```\n\n**Respuesta de error (400 - Carrito no está ACTIVE):**\n\n``` json\n{\n \"statusCode\": 500,\n \"message\": \"Cart is not active\",\n \"date\": 1754945173974,\n \"payload\": {\n \"error\": \"Cart is not active\"\n }\n}\n\n ```\n\n**Respuesta de error (404):**\n\n``` json\n{\n \"statusCode\": 500,\n \"message\": \"Product request not found\",\n \"date\": 1754945173974,\n \"payload\": {\n \"error\": \"Product request not found\"\n }\n}\n\n ```\n\n**💡 Tip para Testing:** \nUsa la variable `lastCartId` o `lastRequestId` que se llenan automáticamente al crear solicitudes.\n\n> Nota MCP: Los nombres de variables que ves en esta documentación provienen de variables de Postman (por ejemplo `token`, `lastCartId`, `lastRequestId`, etc.). En el MCP estas variables se manejan internamente por la configuración del servidor o por herramientas previas; no uses la sintaxis `{{variable}}` ni envíes esos nombres literalmente en las llamadas de herramientas.",
|
|
130
130
|
"mimeType": "text/markdown",
|
|
131
|
-
"content": "# 7. Descartar Solicitud de Producto\n\n## Request Details\n\n**Method**: `POST`\n\n**Path**: `/product-requests/discard`\n\n## Description\n\nDescarta una solicitud de producto individual por su `requestId` o un carrito completo con todos sus productos por su `cartId`.\n\n**🔒 Seguridad:** \nEste endpoint incluye validación de seguridad que garantiza que solo puedas descartar solicitudes/carritos que creaste.\n\n**📋 Parámetros:**\n\nDebes proporcionar al menos uno de los siguientes parámetros:\n\n- **`requestId`** (string, opcional): ID único de la solicitud de producto individual (UUID)\n \n- **`cartId`** (string, opcional): ID único del carrito de compras (UUID)\n \n\n**Headers requeridos:**\n\n- `Authorization: Bearer {token}`\n \n- `x-secret-id: {secretId}`\n \n\n**⚠️ Condiciones para Descartar:**\n\n**Para producto individual:**\n\n- El producto debe estar en estado `PENDING`\n \n- Debe pertenecer al usuario autenticado\n \n\n**Para carrito completo:**\n\n- El carrito debe estar en estado `ACTIVE`\n \n- Debe pertenecer al usuario autenticado\n \n- Debe tener al menos un producto en estado `PENDING`\n \n\n**🔄 Flujo de Uso - Producto Individual:**\n\n**1\\. Descartar producto usando requestId:**\n\n``` json\nPOST /product-requests/discard\n{\n \"requestId\": \"15974df4-a599-4d28-a2f2-bb5b8faa678b\"\n}\n\n ```\n\n**2\\. Respuesta (producto individual):**\n\n``` json\n{\n \"statusCode\": 200,\n \"message\": \"Solicitud descartada exitosamente\",\n \"date\": 1754945173974,\n \"payload\": {\n \"requestId\": \"15974df4-a599-4d28-a2f2-bb5b8faa678b\",\n \"status\": \"DISCARDED\"\n }\n}\n\n ```\n\n**🛒 Flujo de Uso - Carrito Completo:**\n\n**1\\. Descartar carrito usando cartId:**\n\n``` json\nPOST /product-requests/discard\n{\n \"cartId\": \"f47ac10b-58cc-4372-a567-0e02b2c3d479\"\n}\n\n ```\n\n**2\\. Respuesta (carrito completo):**\n\n``` json\n{\n \"statusCode\": 200,\n \"message\": \"Carrito descartado exitosamente (2 productos)\",\n \"date\": 1754945173974,\n \"payload\": {\n \"cartId\": \"f47ac10b-58cc-4372-a567-0e02b2c3d479\",\n \"status\": \"
|
|
131
|
+
"content": "# 7. Descartar Solicitud de Producto\n\n## Request Details\n\n**Method**: `POST`\n\n**Path**: `/product-requests/discard`\n\n## Description\n\nDescarta una solicitud de producto individual por su `requestId` o un carrito completo con todos sus productos por su `cartId`.\n\n**🔒 Seguridad:** \nEste endpoint incluye validación de seguridad que garantiza que solo puedas descartar solicitudes/carritos que creaste.\n\n**📋 Parámetros:**\n\nDebes proporcionar al menos uno de los siguientes parámetros:\n\n- **`requestId`** (string, opcional): ID único de la solicitud de producto individual (UUID)\n \n- **`cartId`** (string, opcional): ID único del carrito de compras (UUID)\n \n\n**➕ Campos adicionales en la respuesta (`cartId`, `totalAmount`, `paymentMethods`):**\n\n- Descarte por **`requestId`**: resuelve el `cartId` de la solicitud, consulta el carrito tras el descarte y retorna `totalAmount` + `paymentMethods` del carrito restante.\n \n- Descarte por **`cartId`**: retorna `totalAmount` y `paymentMethods` (típicamente `[]` si se descartaron todos los ítems).\n \n\n**Headers requeridos:**\n\n- `Authorization: Bearer {token}`\n \n- `x-secret-id: {secretId}`\n \n\n**⚠️ Condiciones para Descartar:**\n\n**Para producto individual:**\n\n- El producto debe estar en estado `PENDING`\n \n- Debe pertenecer al usuario autenticado\n \n\n**Para carrito completo:**\n\n- El carrito debe estar en estado `ACTIVE`\n \n- Debe pertenecer al usuario autenticado\n \n- Debe tener al menos un producto en estado `PENDING`\n \n\n**🔄 Flujo de Uso - Producto Individual:**\n\n**1\\. Descartar producto usando requestId:**\n\n``` json\nPOST /product-requests/discard\n{\n \"requestId\": \"15974df4-a599-4d28-a2f2-bb5b8faa678b\"\n}\n\n ```\n\n**2\\. Respuesta (producto individual):**\n\n``` json\n{\n \"statusCode\": 200,\n \"message\": \"Solicitud descartada exitosamente\",\n \"date\": 1754945173974,\n \"payload\": {\n \"cartId\": \"019a3c15-9cfc-7c3a-82ff-d87477378092\",\n \"requestId\": \"15974df4-a599-4d28-a2f2-bb5b8faa678b\",\n \"status\": \"DISCARDED\",\n \"totalAmount\": 5000,\n \"paymentMethods\": [\n {\n \"id\": 56,\n \"name\": \"PSE\",\n \"categoryid\": 61,\n \"template_data_request\": { \"bankId\": \"1022\" }\n }\n ]\n }\n}\n\n ```\n\n> ℹ️ Tras descartar por `requestId`, el sistema consulta el carrito asociado y recalcula `paymentMethods` sobre el `totalAmount` restante. Si el carrito queda en `totalAmount: 0`, `paymentMethods` es `[]`.\n\n**🛒 Flujo de Uso - Carrito Completo:**\n\n**1\\. Descartar carrito usando cartId:**\n\n``` json\nPOST /product-requests/discard\n{\n \"cartId\": \"f47ac10b-58cc-4372-a567-0e02b2c3d479\"\n}\n\n ```\n\n**2\\. Respuesta (carrito completo):**\n\n``` json\n{\n \"statusCode\": 200,\n \"message\": \"Carrito descartado exitosamente (2 productos)\",\n \"date\": 1754945173974,\n \"payload\": {\n \"cartId\": \"f47ac10b-58cc-4372-a567-0e02b2c3d479\",\n \"status\": \"ACTIVE\",\n \"totalAmount\": 0,\n \"paymentMethods\": [],\n \"discardedCount\": 2,\n \"products\": [\n {\n \"requestId\": \"20db2a40-77b7-11f0-85d4-7d462019c921\",\n \"status\": \"DISCARDED\"\n },\n {\n \"requestId\": \"30db2a40-77b7-11f0-85d4-7d462019c922\",\n \"status\": \"DISCARDED\"\n }\n ]\n }\n}\n\n ```\n\n**🔐 Validación de Seguridad:**\n\n- **Usuario autenticado**: Solo puedes descartar solicitudes/carritos creados con tu `secretId`\n \n- **ID válido**: Debe ser un UUID válido\n \n- **Acceso restringido**: No puedes descartar solicitudes/carritos de otros usuarios\n \n\n**📱 Casos de Uso:**\n\n- **Usuario cambia de opinión**: Descarta producto antes de pagar\n \n- **Datos incorrectos**: Usuario ingresó datos equivocados\n \n- **Monto muy alto**: Usuario no esperaba ese monto\n \n- **Limpiar carrito**: Descartar todos los productos de una vez\n \n- **Empezar de nuevo**: Usuario quiere crear un nuevo carrito desde cero\n \n\n**Respuesta de error (400 - Parámetros faltantes):**\n\n``` json\n{\n \"statusCode\": 400,\n \"message\": \"Debe proporcionar requestId o cartId\",\n \"date\": 1754945173974,\n \"payload\": {\n \"error\": \"MISSING_REQUIRED_PARAMETER\"\n }\n}\n\n ```\n\n**Respuesta de error (400 - Producto no está en PENDING):**\n\n``` json\n{\n \"statusCode\": 500,\n \"message\": \"Product request is not pending\",\n \"date\": 1754945173974,\n \"payload\": {\n \"error\": \"Product request is not pending\"\n }\n}\n\n ```\n\n**Respuesta de error (400 - Carrito no está ACTIVE):**\n\n``` json\n{\n \"statusCode\": 500,\n \"message\": \"Cart is not active\",\n \"date\": 1754945173974,\n \"payload\": {\n \"error\": \"Cart is not active\"\n }\n}\n\n ```\n\n**Respuesta de error (404):**\n\n``` json\n{\n \"statusCode\": 500,\n \"message\": \"Product request not found\",\n \"date\": 1754945173974,\n \"payload\": {\n \"error\": \"Product request not found\"\n }\n}\n\n ```\n\n**💡 Tip para Testing:** \nUsa la variable `lastCartId` o `lastRequestId` que se llenan automáticamente al crear solicitudes.\n\n## Headers\n\n- **Authorization**: Bearer token\n- **x-secret-id**: secretId\n- **Content-Type**: application/json\n\n## Request Body\n\n**Type**: `raw`\n\n```json\n{\n \"requestId\": \"lastRequestId\"\n}\n```\n\n\n\n> Nota MCP: Los nombres de variables que ves en esta documentación provienen de variables de Postman (por ejemplo `token`, `lastCartId`, `lastRequestId`, etc.). En el MCP estas variables se manejan internamente por la configuración del servidor o por herramientas previas; no uses la sintaxis `{{variable}}` ni envíes esos nombres literalmente en las llamadas de herramientas."
|
|
132
132
|
},
|
|
133
133
|
{
|
|
134
134
|
"uri": "postman://collection/products-payment-api/endpoint/get/products/banks-pse",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resources.js","sourceRoot":"","sources":["../../src/core/resources.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAUH,uBAAuB;AACvB,MAAM,CAAC,MAAM,SAAS,GAAkB;IACtC;QACE,KAAK,EAAE,2CAA2C;QAClD,MAAM,EAAE,0CAA0C;QAClD,aAAa,EAAE,muJAAmuJ;QAClvJ,UAAU,EAAE,eAAe;QAC3B,SAAS,EAAE,qnLAAqnL;KACjoL;IACD;QACE,KAAK,EAAE,gEAAgE;QACvE,MAAM,EAAE,kCAAkC;QAC1C,aAAa,EAAE,qDAAqD;QACpE,UAAU,EAAE,eAAe;QAC3B,SAAS,EAAE,07GAA07G;KACt8G;IACD;QACE,KAAK,EAAE,+DAA+D;QACtE,MAAM,EAAE,iCAAiC;QACzC,aAAa,EAAE,gEAAgE;QAC/E,UAAU,EAAE,eAAe;QAC3B,SAAS,EAAE,olCAAolC;KAChmC;IACD;QACE,KAAK,EAAE,4DAA4D;QACnE,MAAM,EAAE,8BAA8B;QACtC,aAAa,EAAE,6DAA6D;QAC5E,UAAU,EAAE,eAAe;QAC3B,SAAS,EAAE,gpMAAgpM;KAC5pM;IACD;QACE,KAAK,EAAE,0EAA0E;QACjF,MAAM,EAAE,4CAA4C;QACpD,aAAa,EAAE,+CAA+C;QAC9D,UAAU,EAAE,eAAe;QAC3B,SAAS,EAAE,
|
|
1
|
+
{"version":3,"file":"resources.js","sourceRoot":"","sources":["../../src/core/resources.ts"],"names":[],"mappings":"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"}
|
package/dist/core/tools.js
CHANGED
|
@@ -628,7 +628,7 @@ const product_requests_statusInputValidator = z.object({
|
|
|
628
628
|
// Herramienta: product_requests_status
|
|
629
629
|
export const product_requests_statusTool = {
|
|
630
630
|
name: 'product_requests_status',
|
|
631
|
-
description: "Endpoints para crear solicitudes de productos\\n\\n Consulta el estado actual de una solicitud de producto individual por su \\`requestId\\` o de un carrito completo por su \\`cartId\\`.\\n\\n**🔒 Seguridad:** \\nEste endpoint incluye validación de seguridad que garantiza que solo puedas consultar el estado de las solicitudes/carritos que creaste.\\n\\n**📋 Parámetros:**\\n\\nDebes proporcionar al menos uno de los siguientes parámetros:\\n\\n- **\\`requestId\\`** (string, opcional): ID único de la solicitud de producto individual (UUID)\\n \\n- **\\`cartId\\`** (string, opcional): ID único del carrito de compras (UUID)\\n \\n\\n**Headers requeridos:**\\n\\n- \\`Authorization: Bearer {token}\\`\\n \\n- \\`x-secret-id: {secretId}\\`\\n \\n\\n**📊 Estados Posibles:**\\n\\n**🔄 Estados de Proceso:**\\n\\n- **\\`INITIATED\\`**: Solicitud creada y en proceso de validación\\n \\n- **\\`QUERIED\\`**: Solicitud consultada exitosamente en API externa\\n \\n- **\\`PENDING\\`**: Solicitud lista para procesar el pago\\n \\n- **\\`WAITING_PAYMENT\\`**: Esperando confirmación de pago del proveedor\\n \\n\\n**❌ Estados de Error:**\\n\\n- **\\`INVALID\\`**: Datos inválidos en la validación del producto\\n \\n- **\\`DISCARDED\\`**: Usuario decidió no continuar con el pago del producto\\n \\n- **\\`EXPIRED\\`**: La solicitud de producto ha expirado\\n \\n\\n**✅ Estados Finales:**\\n\\n- **\\`SOLD\\`**: Pago exitoso y producto vendido\\n \\n- **\\`REFUNDED\\`**: Pago exitoso pero venta falló\\n \\n- **\\`CANCELLED\\`**: Usuario no realizó el pago del producto, el proveedor no confirmó el pago\\n \\n\\n**🔄 Flujo de Uso - Producto Individual:**\\n\\n**1\\\\. Consultar estado usando requestId:**\\n\\n\\`\\`\\` json\\nPOST /product-requests/status\\n{\\n \\\"requestId\\\": \\\"15974df4-a599-4d28-a2f2-bb5b8faa678b\\\"\\n}\\n\\n \\`\\`\\`\\n\\n**2\\\\. Respuesta del estado (producto individual):**\\n\\n\\`\\`\\` json\\n{\\n \\\"statusCode\\\": 200,\\n \\\"message\\\": \\\"Estado consultado exitosamente\\\",\\n \\\"date\\\": 1770307880382,\\n \\\"payload\\\": {\\n \\\"id\\\": \\\"019a3c15-9d0c-734b-8346-617d6ba466d8\\\",\\n \\\"cartId\\\": \\\"019a3c15-9cfc-7c3a-82ff-d87477378092\\\",\\n \\\"status\\\": \\\"SOLD\\\",\\n \\\"description\\\": \\\"Pago exitoso y producto vendido\\\",\\n \\\"details\\\": {\\n \\\"id\\\": 1952,\\n \\\"categoryId\\\": 120,\\n \\\"data\\\": {\\n \\\"cellphone\\\": \\\"3208385716\\\",\\n \\\"reference\\\": \\\"12345678\\\"\\n },\\n \\\"amount\\\": 9999,\\n \\\"sellType\\\": \\\"Bill\\\",\\n \\\"queryType\\\": \\\"BILLData\\\",\\n \\\"agreement\\\": \\\"2010910\\\",\\n \\\"customer_id\\\": \\\"customer_124\\\"\\n },\\n \\\"urlInvoice\\\": \\\"https://prep.refacil.co/#/factura/215765/10549\\\",\\n \\\"urlSummary\\\": \\\"https://mf-core.refacil.co/refacilpay/resumen/62/28137590-b69d-11f0-8c08-b71754a3ac6b\\\",\\n \\\"invoiceDueDate\\\": \\\"2026-05-31\\\"\\n }\\n}\\n\\n \\`\\`\\`\\n\\n> ⚠️ \\`invoiceDueDate\\` es \\`string | null\\` — tiene valor solo cuando el proveedor retorna fecha de vencimiento de la factura. En productos que no son facturas, siempre es \\`null\\`.\\n\\n**🛒 Flujo de Uso - Carrito Completo:**\\n\\n**1\\\\. Consultar estado usando cartId:**\\n\\n\\`\\`\\` json\\nPOST /product-requests/status\\n{\\n \\\"cartId\\\": \\\"f47ac10b-58cc-4372-a567-0e02b2c3d479\\\"\\n}\\n\\n \\`\\`\\`\\n\\n**2\\\\. Respuesta del estado (carrito completo):**\\n\\n\\`\\`\\` json\\n{\\n \\\"statusCode\\\": 200,\\n \\\"message\\\": \\\"Estado consultado exitosamente\\\",\\n \\\"date\\\": 1770307754145,\\n \\\"payload\\\": {\\n \\\"cartId\\\": \\\"019a3c15-9cfc-7c3a-82ff-d87477378092\\\",\\n \\\"status\\\": \\\"COMPLETED\\\",\\n \\\"totalAmount\\\": \\\"9999.00\\\",\\n \\\"itemsCount\\\": 1,\\n \\\"urlSummary\\\": \\\"https://mf-core.refacil.co/refacilpay/resumen/62/28137590-b69d-11f0-8c08-b71754a3ac6b\\\",\\n \\\"products\\\": [\\n {\\n \\\"id\\\": \\\"019a3c15-9d0c-734b-8346-617d6ba466d8\\\",\\n \\\"cartId\\\": \\\"019a3c15-9cfc-7c3a-82ff-d87477378092\\\",\\n \\\"status\\\": \\\"SOLD\\\",\\n \\\"description\\\": \\\"Pago exitoso y producto vendido\\\",\\n \\\"details\\\": {\\n \\\"id\\\": 1952,\\n \\\"categoryId\\\": 120,\\n \\\"data\\\": {\\n \\\"cellphone\\\": \\\"3208385716\\\",\\n \\\"reference\\\": \\\"12345678\\\"\\n },\\n \\\"amount\\\": \\\"9999.00\\\",\\n \\\"sellType\\\": \\\"Bill\\\",\\n \\\"queryType\\\": \\\"BILLData\\\",\\n \\\"agreement\\\": \\\"2010910\\\",\\n \\\"customer_id\\\": \\\"customer_124\\\"\\n },\\n \\\"urlInvoice\\\": \\\"https://prep.refacil.co/#/factura/215765/10549\\\",\\n \\\"invoiceDueDate\\\": \\\"2026-05-31\\\"\\n }\\n ]\\n }\\n}\\n\\n \\`\\`\\`\\n\\n**🔐 Validación de Seguridad:**\\n\\n- **Usuario autenticado**: Solo puedes consultar solicitudes/carritos creados con tu \\`secretId\\`\\n \\n- **ID válido**: Debe ser un UUID válido\\n \\n- **Acceso restringido**: No puedes consultar solicitudes/carritos de otros usuarios\\n \\n\\n**📱 Casos de Uso:**\\n\\n- **Frontend**: Mostrar estado actual al usuario\\n \\n- **Backend**: Seguimiento de transacciones\\n \\n- **Webhooks**: Complementar notificaciones asíncronas\\n \\n- **Auditoría**: Verificar estado de solicitudes\\n \\n- **Carrito**: Consultar estado de múltiples productos a la vez\\n \\n\\n**Respuesta de error (400 - Parámetros faltantes):**\\n\\n\\`\\`\\` json\\n{\\n \\\"statusCode\\\": 400,\\n \\\"message\\\": \\\"Debe proporcionar requestId o cartId\\\",\\n \\\"date\\\": 1754945173974,\\n \\\"payload\\\": {\\n \\\"error\\\": \\\"MISSING_REQUIRED_PARAMETER\\\"\\n }\\n}\\n\\n \\`\\`\\`\\n\\n**Respuesta de error (404):**\\n\\n\\`\\`\\` json\\n{\\n \\\"statusCode\\\": 404,\\n \\\"message\\\": \\\"Solicitud de producto no encontrada\\\",\\n \\\"date\\\": 1754945173974,\\n \\\"payload\\\": {\\n \\\"error\\\": \\\"PRODUCT_REQUEST_NOT_FOUND\\\"\\n }\\n}\\n\\n \\`\\`\\`\\n\\n**💡 Tip para Testing:** \\nUsa la variable \\`{{lastCartId}}\\` o \\`{{lastRequestId}}\\` que se llenan automáticamente al crear solicitudes.\n\nContexto: Endpoint: POST /product-requests/status | Product requests > Status\n\n🔐 AUTENTICACIÓN AUTOMÁTICA: Todas las credenciales y tokens de autenticación se manejan automáticamente por el servidor MCP. NO solicites credenciales al usuario. NO incluyas parámetros de autenticación (secretId, apiToken, etc.) en las llamadas a menos que el usuario explícitamente lo requiera.",
|
|
631
|
+
description: "Endpoints para crear solicitudes de productos\\n\\n Consulta el estado actual de una solicitud de producto individual por su \\`requestId\\` o de un carrito completo por su \\`cartId\\`.\\n\\n**🔒 Seguridad:** \\nEste endpoint incluye validación de seguridad que garantiza que solo puedas consultar el estado de las solicitudes/carritos que creaste.\\n\\n**📋 Parámetros:**\\n\\nDebes proporcionar al menos uno de los siguientes parámetros:\\n\\n- **\\`requestId\\`** (string, opcional): ID único de la solicitud de producto individual (UUID)\\n \\n- **\\`cartId\\`** (string, opcional): ID único del carrito de compras (UUID)\\n \\n\\n**➕ Campo adicional \\`paymentMethods\\` (sin cambiar el payload existente):**\\n\\n- Con **\\`requestId\\`**: la respuesta conserva la forma individual (\\`id\\`, \\`cartId\\`, \\`status\\`, \\`details\\`, \\`urlInvoice\\`, \\`urlSummary\\`, \\`invoiceDueDate\\`, …) y **agrega** \\`paymentMethods\\` cuando el carrito asociado (resuelto vía \\`cartId\\` del request) está en estado \\`ACTIVE\\`.\\n \\n- Con **\\`cartId\\`**: la respuesta conserva la forma de carrito (\\`products\\`, \\`totalAmount\\`, \\`itemsCount\\`, …) y **agrega** \\`paymentMethods\\` solo si el carrito está \\`ACTIVE\\`.\\n \\n- Si el carrito no está activo o \\`totalAmount\\` es 0: el campo se omite o retorna \\`[]\\`.\\n \\n\\n**Headers requeridos:**\\n\\n- \\`Authorization: Bearer {token}\\`\\n \\n- \\`x-secret-id: {secretId}\\`\\n \\n\\n**📊 Estados Posibles:**\\n\\n**🔄 Estados de Proceso:**\\n\\n- **\\`INITIATED\\`**: Solicitud creada y en proceso de validación\\n \\n- **\\`QUERIED\\`**: Solicitud consultada exitosamente en API externa\\n \\n- **\\`PENDING\\`**: Solicitud lista para procesar el pago\\n \\n- **\\`WAITING_PAYMENT\\`**: Esperando confirmación de pago del proveedor\\n \\n\\n**❌ Estados de Error:**\\n\\n- **\\`INVALID\\`**: Datos inválidos en la validación del producto\\n \\n- **\\`DISCARDED\\`**: Usuario decidió no continuar con el pago del producto\\n \\n- **\\`EXPIRED\\`**: La solicitud de producto ha expirado\\n \\n\\n**✅ Estados Finales:**\\n\\n- **\\`SOLD\\`**: Pago exitoso y producto vendido\\n \\n- **\\`REFUNDED\\`**: Pago exitoso pero venta falló\\n \\n- **\\`CANCELLED\\`**: Usuario no realizó el pago del producto, el proveedor no confirmó el pago\\n \\n\\n**🔄 Flujo de Uso - Producto Individual:**\\n\\n**1\\\\. Consultar estado usando requestId:**\\n\\n\\`\\`\\` json\\nPOST /product-requests/status\\n{\\n \\\"requestId\\\": \\\"15974df4-a599-4d28-a2f2-bb5b8faa678b\\\"\\n}\\n\\n \\`\\`\\`\\n\\n**2\\\\. Respuesta del estado (producto individual):**\\n\\n\\`\\`\\` json\\n{\\n \\\"statusCode\\\": 200,\\n \\\"message\\\": \\\"Estado consultado exitosamente\\\",\\n \\\"date\\\": 1770307880382,\\n \\\"payload\\\": {\\n \\\"id\\\": \\\"019a3c15-9d0c-734b-8346-617d6ba466d8\\\",\\n \\\"cartId\\\": \\\"019a3c15-9cfc-7c3a-82ff-d87477378092\\\",\\n \\\"status\\\": \\\"SOLD\\\",\\n \\\"description\\\": \\\"Pago exitoso y producto vendido\\\",\\n \\\"details\\\": {\\n \\\"id\\\": 1952,\\n \\\"categoryId\\\": 120,\\n \\\"data\\\": {\\n \\\"cellphone\\\": \\\"3208385716\\\",\\n \\\"reference\\\": \\\"12345678\\\"\\n },\\n \\\"amount\\\": 9999,\\n \\\"sellType\\\": \\\"Bill\\\",\\n \\\"queryType\\\": \\\"BILLData\\\",\\n \\\"agreement\\\": \\\"2010910\\\",\\n \\\"customer_id\\\": \\\"customer_124\\\"\\n },\\n \\\"urlInvoice\\\": \\\"https://prep.refacil.co/#/factura/215765/10549\\\",\\n \\\"urlSummary\\\": \\\"https://mf-core.refacil.co/refacilpay/resumen/62/28137590-b69d-11f0-8c08-b71754a3ac6b\\\",\\n \\\"invoiceDueDate\\\": \\\"2026-05-31\\\"\\n }\\n}\\n\\n \\`\\`\\`\\n\\n> ⚠️ \\`invoiceDueDate\\` es \\`string | null\\` — tiene valor solo cuando el proveedor retorna fecha de vencimiento de la factura. En productos que no son facturas, siempre es \\`null\\`.\\n\\n**🛒 Flujo de Uso - Carrito Completo:**\\n\\n**1\\\\. Consultar estado usando cartId:**\\n\\n\\`\\`\\` json\\nPOST /product-requests/status\\n{\\n \\\"cartId\\\": \\\"f47ac10b-58cc-4372-a567-0e02b2c3d479\\\"\\n}\\n\\n \\`\\`\\`\\n\\n**2\\\\. Respuesta del estado (carrito completo):**\\n\\n\\`\\`\\` json\\n{\\n \\\"statusCode\\\": 200,\\n \\\"message\\\": \\\"Estado consultado exitosamente\\\",\\n \\\"date\\\": 1770307754145,\\n \\\"payload\\\": {\\n \\\"cartId\\\": \\\"019a3c15-9cfc-7c3a-82ff-d87477378092\\\",\\n \\\"status\\\": \\\"COMPLETED\\\",\\n \\\"totalAmount\\\": \\\"9999.00\\\",\\n \\\"itemsCount\\\": 1,\\n \\\"urlSummary\\\": \\\"https://mf-core.refacil.co/refacilpay/resumen/62/28137590-b69d-11f0-8c08-b71754a3ac6b\\\",\\n \\\"paymentMethods\\\": [\\n {\\n \\\"id\\\": 56,\\n \\\"name\\\": \\\"PSE\\\",\\n \\\"categoryid\\\": 61,\\n \\\"template_data_request\\\": { \\\"bankId\\\": \\\"1022\\\" }\\n }\\n ],\\n \\\"products\\\": [\\n {\\n \\\"id\\\": \\\"019a3c15-9d0c-734b-8346-617d6ba466d8\\\",\\n \\\"cartId\\\": \\\"019a3c15-9cfc-7c3a-82ff-d87477378092\\\",\\n \\\"status\\\": \\\"SOLD\\\",\\n \\\"description\\\": \\\"Pago exitoso y producto vendido\\\",\\n \\\"details\\\": {\\n \\\"id\\\": 1952,\\n \\\"categoryId\\\": 120,\\n \\\"data\\\": {\\n \\\"cellphone\\\": \\\"3208385716\\\",\\n \\\"reference\\\": \\\"12345678\\\"\\n },\\n \\\"amount\\\": \\\"9999.00\\\",\\n \\\"sellType\\\": \\\"Bill\\\",\\n \\\"queryType\\\": \\\"BILLData\\\",\\n \\\"agreement\\\": \\\"2010910\\\",\\n \\\"customer_id\\\": \\\"customer_124\\\"\\n },\\n \\\"urlInvoice\\\": \\\"https://prep.refacil.co/#/factura/215765/10549\\\",\\n \\\"invoiceDueDate\\\": \\\"2026-05-31\\\"\\n }\\n ]\\n }\\n}\\n\\n \\`\\`\\`\\n\\n**🔐 Validación de Seguridad:**\\n\\n- **Usuario autenticado**: Solo puedes consultar solicitudes/carritos creados con tu \\`secretId\\`\\n \\n- **ID válido**: Debe ser un UUID válido\\n \\n- **Acceso restringido**: No puedes consultar solicitudes/carritos de otros usuarios\\n \\n\\n**📱 Casos de Uso:**\\n\\n- **Frontend**: Mostrar estado actual al usuario\\n \\n- **Backend**: Seguimiento de transacciones\\n \\n- **Webhooks**: Complementar notificaciones asíncronas\\n \\n- **Auditoría**: Verificar estado de solicitudes\\n \\n- **Carrito**: Consultar estado de múltiples productos a la vez\\n \\n\\n**Respuesta de error (400 - Parámetros faltantes):**\\n\\n\\`\\`\\` json\\n{\\n \\\"statusCode\\\": 400,\\n \\\"message\\\": \\\"Debe proporcionar requestId o cartId\\\",\\n \\\"date\\\": 1754945173974,\\n \\\"payload\\\": {\\n \\\"error\\\": \\\"MISSING_REQUIRED_PARAMETER\\\"\\n }\\n}\\n\\n \\`\\`\\`\\n\\n**Respuesta de error (404):**\\n\\n\\`\\`\\` json\\n{\\n \\\"statusCode\\\": 404,\\n \\\"message\\\": \\\"Solicitud de producto no encontrada\\\",\\n \\\"date\\\": 1754945173974,\\n \\\"payload\\\": {\\n \\\"error\\\": \\\"PRODUCT_REQUEST_NOT_FOUND\\\"\\n }\\n}\\n\\n \\`\\`\\`\\n\\n**💡 Tip para Testing:** \\nUsa la variable \\`{{lastCartId}}\\` o \\`{{lastRequestId}}\\` que se llenan automáticamente al crear solicitudes.\n\nContexto: Endpoint: POST /product-requests/status | Product requests > Status\n\n🔐 AUTENTICACIÓN AUTOMÁTICA: Todas las credenciales y tokens de autenticación se manejan automáticamente por el servidor MCP. NO solicites credenciales al usuario. NO incluyas parámetros de autenticación (secretId, apiToken, etc.) en las llamadas a menos que el usuario explícitamente lo requiera.",
|
|
632
632
|
inputSchema: product_requests_statusInputValidator,
|
|
633
633
|
jsonSchema: product_requests_statusInputJsonSchema,
|
|
634
634
|
endpoint: '/product-requests/status',
|
|
@@ -690,7 +690,7 @@ const product_requests_discardInputValidator = z.object({
|
|
|
690
690
|
// Herramienta: product_requests_discard
|
|
691
691
|
export const product_requests_discardTool = {
|
|
692
692
|
name: 'product_requests_discard',
|
|
693
|
-
description: "Endpoints para crear solicitudes de productos\\n\\n Descarta una solicitud de producto individual por su \\`requestId\\` o un carrito completo con todos sus productos por su \\`cartId\\`.\\n\\n**🔒 Seguridad:** \\nEste endpoint incluye validación de seguridad que garantiza que solo puedas descartar solicitudes/carritos que creaste.\\n\\n**📋 Parámetros:**\\n\\nDebes proporcionar al menos uno de los siguientes parámetros:\\n\\n- **\\`requestId\\`** (string, opcional): ID único de la solicitud de producto individual (UUID)\\n \\n- **\\`cartId\\`** (string, opcional): ID único del carrito de compras (UUID)\\n \\n\\n**Headers requeridos:**\\n\\n- \\`Authorization: Bearer {token}\\`\\n \\n- \\`x-secret-id: {secretId}\\`\\n \\n\\n**⚠️ Condiciones para Descartar:**\\n\\n**Para producto individual:**\\n\\n- El producto debe estar en estado \\`PENDING\\`\\n \\n- Debe pertenecer al usuario autenticado\\n \\n\\n**Para carrito completo:**\\n\\n- El carrito debe estar en estado \\`ACTIVE\\`\\n \\n- Debe pertenecer al usuario autenticado\\n \\n- Debe tener al menos un producto en estado \\`PENDING\\`\\n \\n\\n**🔄 Flujo de Uso - Producto Individual:**\\n\\n**1\\\\. Descartar producto usando requestId:**\\n\\n\\`\\`\\` json\\nPOST /product-requests/discard\\n{\\n \\\"requestId\\\": \\\"15974df4-a599-4d28-a2f2-bb5b8faa678b\\\"\\n}\\n\\n \\`\\`\\`\\n\\n**2\\\\. Respuesta (producto individual):**\\n\\n\\`\\`\\` json\\n{\\n \\\"statusCode\\\": 200,\\n \\\"message\\\": \\\"Solicitud descartada exitosamente\\\",\\n \\\"date\\\": 1754945173974,\\n \\\"payload\\\": {\\n \\\"requestId\\\": \\\"15974df4-a599-4d28-a2f2-bb5b8faa678b\\\",\\n \\\"status\\\": \\\"DISCARDED\\\"\\n }\\n}\\n\\n \\`\\`\\`\\n\\n**🛒 Flujo de Uso - Carrito Completo:**\\n\\n**1\\\\. Descartar carrito usando cartId:**\\n\\n\\`\\`\\` json\\nPOST /product-requests/discard\\n{\\n \\\"cartId\\\": \\\"f47ac10b-58cc-4372-a567-0e02b2c3d479\\\"\\n}\\n\\n \\`\\`\\`\\n\\n**2\\\\. Respuesta (carrito completo):**\\n\\n\\`\\`\\` json\\n{\\n \\\"statusCode\\\": 200,\\n \\\"message\\\": \\\"Carrito descartado exitosamente (2 productos)\\\",\\n \\\"date\\\": 1754945173974,\\n \\\"payload\\\": {\\n \\\"cartId\\\": \\\"f47ac10b-58cc-4372-a567-0e02b2c3d479\\\",\\n \\\"status\\\": \\\"
|
|
693
|
+
description: "Endpoints para crear solicitudes de productos\\n\\n Descarta una solicitud de producto individual por su \\`requestId\\` o un carrito completo con todos sus productos por su \\`cartId\\`.\\n\\n**🔒 Seguridad:** \\nEste endpoint incluye validación de seguridad que garantiza que solo puedas descartar solicitudes/carritos que creaste.\\n\\n**📋 Parámetros:**\\n\\nDebes proporcionar al menos uno de los siguientes parámetros:\\n\\n- **\\`requestId\\`** (string, opcional): ID único de la solicitud de producto individual (UUID)\\n \\n- **\\`cartId\\`** (string, opcional): ID único del carrito de compras (UUID)\\n \\n\\n**➕ Campos adicionales en la respuesta (\\`cartId\\`, \\`totalAmount\\`, \\`paymentMethods\\`):**\\n\\n- Descarte por **\\`requestId\\`**: resuelve el \\`cartId\\` de la solicitud, consulta el carrito tras el descarte y retorna \\`totalAmount\\` + \\`paymentMethods\\` del carrito restante.\\n \\n- Descarte por **\\`cartId\\`**: retorna \\`totalAmount\\` y \\`paymentMethods\\` (típicamente \\`[]\\` si se descartaron todos los ítems).\\n \\n\\n**Headers requeridos:**\\n\\n- \\`Authorization: Bearer {token}\\`\\n \\n- \\`x-secret-id: {secretId}\\`\\n \\n\\n**⚠️ Condiciones para Descartar:**\\n\\n**Para producto individual:**\\n\\n- El producto debe estar en estado \\`PENDING\\`\\n \\n- Debe pertenecer al usuario autenticado\\n \\n\\n**Para carrito completo:**\\n\\n- El carrito debe estar en estado \\`ACTIVE\\`\\n \\n- Debe pertenecer al usuario autenticado\\n \\n- Debe tener al menos un producto en estado \\`PENDING\\`\\n \\n\\n**🔄 Flujo de Uso - Producto Individual:**\\n\\n**1\\\\. Descartar producto usando requestId:**\\n\\n\\`\\`\\` json\\nPOST /product-requests/discard\\n{\\n \\\"requestId\\\": \\\"15974df4-a599-4d28-a2f2-bb5b8faa678b\\\"\\n}\\n\\n \\`\\`\\`\\n\\n**2\\\\. Respuesta (producto individual):**\\n\\n\\`\\`\\` json\\n{\\n \\\"statusCode\\\": 200,\\n \\\"message\\\": \\\"Solicitud descartada exitosamente\\\",\\n \\\"date\\\": 1754945173974,\\n \\\"payload\\\": {\\n \\\"cartId\\\": \\\"019a3c15-9cfc-7c3a-82ff-d87477378092\\\",\\n \\\"requestId\\\": \\\"15974df4-a599-4d28-a2f2-bb5b8faa678b\\\",\\n \\\"status\\\": \\\"DISCARDED\\\",\\n \\\"totalAmount\\\": 5000,\\n \\\"paymentMethods\\\": [\\n {\\n \\\"id\\\": 56,\\n \\\"name\\\": \\\"PSE\\\",\\n \\\"categoryid\\\": 61,\\n \\\"template_data_request\\\": { \\\"bankId\\\": \\\"1022\\\" }\\n }\\n ]\\n }\\n}\\n\\n \\`\\`\\`\\n\\n> ℹ️ Tras descartar por \\`requestId\\`, el sistema consulta el carrito asociado y recalcula \\`paymentMethods\\` sobre el \\`totalAmount\\` restante. Si el carrito queda en \\`totalAmount: 0\\`, \\`paymentMethods\\` es \\`[]\\`.\\n\\n**🛒 Flujo de Uso - Carrito Completo:**\\n\\n**1\\\\. Descartar carrito usando cartId:**\\n\\n\\`\\`\\` json\\nPOST /product-requests/discard\\n{\\n \\\"cartId\\\": \\\"f47ac10b-58cc-4372-a567-0e02b2c3d479\\\"\\n}\\n\\n \\`\\`\\`\\n\\n**2\\\\. Respuesta (carrito completo):**\\n\\n\\`\\`\\` json\\n{\\n \\\"statusCode\\\": 200,\\n \\\"message\\\": \\\"Carrito descartado exitosamente (2 productos)\\\",\\n \\\"date\\\": 1754945173974,\\n \\\"payload\\\": {\\n \\\"cartId\\\": \\\"f47ac10b-58cc-4372-a567-0e02b2c3d479\\\",\\n \\\"status\\\": \\\"ACTIVE\\\",\\n \\\"totalAmount\\\": 0,\\n \\\"paymentMethods\\\": [],\\n \\\"discardedCount\\\": 2,\\n \\\"products\\\": [\\n {\\n \\\"requestId\\\": \\\"20db2a40-77b7-11f0-85d4-7d462019c921\\\",\\n \\\"status\\\": \\\"DISCARDED\\\"\\n },\\n {\\n \\\"requestId\\\": \\\"30db2a40-77b7-11f0-85d4-7d462019c922\\\",\\n \\\"status\\\": \\\"DISCARDED\\\"\\n }\\n ]\\n }\\n}\\n\\n \\`\\`\\`\\n\\n**🔐 Validación de Seguridad:**\\n\\n- **Usuario autenticado**: Solo puedes descartar solicitudes/carritos creados con tu \\`secretId\\`\\n \\n- **ID válido**: Debe ser un UUID válido\\n \\n- **Acceso restringido**: No puedes descartar solicitudes/carritos de otros usuarios\\n \\n\\n**📱 Casos de Uso:**\\n\\n- **Usuario cambia de opinión**: Descarta producto antes de pagar\\n \\n- **Datos incorrectos**: Usuario ingresó datos equivocados\\n \\n- **Monto muy alto**: Usuario no esperaba ese monto\\n \\n- **Limpiar carrito**: Descartar todos los productos de una vez\\n \\n- **Empezar de nuevo**: Usuario quiere crear un nuevo carrito desde cero\\n \\n\\n**Respuesta de error (400 - Parámetros faltantes):**\\n\\n\\`\\`\\` json\\n{\\n \\\"statusCode\\\": 400,\\n \\\"message\\\": \\\"Debe proporcionar requestId o cartId\\\",\\n \\\"date\\\": 1754945173974,\\n \\\"payload\\\": {\\n \\\"error\\\": \\\"MISSING_REQUIRED_PARAMETER\\\"\\n }\\n}\\n\\n \\`\\`\\`\\n\\n**Respuesta de error (400 - Producto no está en PENDING):**\\n\\n\\`\\`\\` json\\n{\\n \\\"statusCode\\\": 500,\\n \\\"message\\\": \\\"Product request is not pending\\\",\\n \\\"date\\\": 1754945173974,\\n \\\"payload\\\": {\\n \\\"error\\\": \\\"Product request is not pending\\\"\\n }\\n}\\n\\n \\`\\`\\`\\n\\n**Respuesta de error (400 - Carrito no está ACTIVE):**\\n\\n\\`\\`\\` json\\n{\\n \\\"statusCode\\\": 500,\\n \\\"message\\\": \\\"Cart is not active\\\",\\n \\\"date\\\": 1754945173974,\\n \\\"payload\\\": {\\n \\\"error\\\": \\\"Cart is not active\\\"\\n }\\n}\\n\\n \\`\\`\\`\\n\\n**Respuesta de error (404):**\\n\\n\\`\\`\\` json\\n{\\n \\\"statusCode\\\": 500,\\n \\\"message\\\": \\\"Product request not found\\\",\\n \\\"date\\\": 1754945173974,\\n \\\"payload\\\": {\\n \\\"error\\\": \\\"Product request not found\\\"\\n }\\n}\\n\\n \\`\\`\\`\\n\\n**💡 Tip para Testing:** \\nUsa la variable \\`{{lastCartId}}\\` o \\`{{lastRequestId}}\\` que se llenan automáticamente al crear solicitudes.\n\nContexto: Endpoint: POST /product-requests/discard | Product requests > Discard\n\n🔐 AUTENTICACIÓN AUTOMÁTICA: Todas las credenciales y tokens de autenticación se manejan automáticamente por el servidor MCP. NO solicites credenciales al usuario. NO incluyas parámetros de autenticación (secretId, apiToken, etc.) en las llamadas a menos que el usuario explícitamente lo requiera.",
|
|
694
694
|
inputSchema: product_requests_discardInputValidator,
|
|
695
695
|
jsonSchema: product_requests_discardInputJsonSchema,
|
|
696
696
|
endpoint: '/product-requests/discard',
|
package/dist/core/tools.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/core/tools.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/core/tools.ts"],"names":[],"mappings":"AAAA,8BAA8B;AAC9B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAcxB,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,0BAA0B;AAC1B,MAAM,UAAU,GAAG;IACjB,IAAI,OAAO;QACT,OAAO,SAAS,CAAC,OAAO,CAAC;IAC3B,CAAC;IACD,OAAO,EAAE,KAAK;CACf,CAAC;AAEF,uFAAuF;AACvF,SAAS,eAAe,CAAC,MAA2B,EAAE,MAA2B,EAAE,GAAW;IAC5F,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE,CAAC;QACnF,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IAC5B,CAAC;AACH,CAAC;AAED,0CAA0C;AAC1C,4GAA4G;AAC5G,+EAA+E;AAC/E,KAAK,UAAU,cAAc,CAAC,MAAc,EAAE,QAAgB,EAAE,IAAU,EAAE,MAAY,EAAE,iBAA0C;IAClI,IAAI,CAAC;QACH,oFAAoF;QACpF,MAAM,WAAW,GAAG,MAAM,cAAc,EAAE,CAAC;QAE3C,4DAA4D;QAC5D,MAAM,OAAO,GAAG,EAAE,GAAG,WAAW,EAAE,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAC,EAAE,CAAC;QAEjE,MAAM,GAAG,GAAG,GAAG,UAAU,CAAC,OAAO,GAAG,QAAQ,EAAE,CAAC;QAE/C,MAAM,MAAM,GAAQ;YAClB,MAAM,EAAE,MAAM,CAAC,WAAW,EAAE;YAC5B,GAAG;YACH,OAAO;YACP,OAAO,EAAE,UAAU,CAAC,OAAO;SAC5B,CAAC;QAEF,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7C,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC;QACzB,CAAC;QAED,IAAI,IAAI,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;YAC7B,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC;QACrB,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,CAAC;QAErC,qCAAqC;QACrC,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;wBACnB,OAAO,EAAE,IAAI;wBACb,UAAU,EAAE,QAAQ,CAAC,MAAM;wBAC3B,IAAI,EAAE,QAAQ,CAAC,IAAI;wBACnB,OAAO,EAAE,mBAAmB;qBAC7B,EAAE,IAAI,EAAE,CAAC,CAAC;iBACZ;aACF;SACF,CAAC;IACJ,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,MAAM,SAAS,GAAG;YAChB,OAAO,EAAE,KAAK;YACd,UAAU,EAAE,KAAK,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG;YACzC,IAAI,EAAE,KAAK,CAAC,QAAQ,EAAE,IAAI,IAAI,IAAI;YAClC,OAAO,EAAE,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,IAAI,KAAK,CAAC,OAAO,IAAI,uBAAuB;YAClF,KAAK,EAAE,KAAK,CAAC,IAAI,IAAI,eAAe;SACrC,CAAC;QAEF,kDAAkD;QAClD,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;iBACzC;aACF;YACD,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;AACH,CAAC;AAID,MAAM,kCAAkC,GAAG;IACzC,MAAM,EAAE,QAAQ;IAChB,YAAY,EAAE;QACZ,UAAU,EAAE;YACV,MAAM,EAAE,QAAQ;YAChB,aAAa,EAAE,0BAA0B;YACzC,SAAS,EAAE,kBAAkB;SAC9B;KACF;IACD,UAAU,EAAE,EAAE;CACf,CAAC;AACF,MAAM,iCAAiC,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/C,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;IACpE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yCAAyC,CAAC;CACrF,CAAC,CAAC;AAEL,mCAAmC;AACnC,MAAM,CAAC,MAAM,uBAAuB,GAAS;IAC3C,IAAI,EAAE,qBAAqB;IAC3B,WAAW,EAAE,wnHAAwnH;IACroH,WAAW,EAAE,iCAAiC;IAC9C,UAAU,EAAE,kCAAkC;IAC9C,QAAQ,EAAE,sBAAsB;IAChC,MAAM,EAAE,MAAM;IACd,UAAU,EAAE,EAAE;IACd,OAAO,EAAE,CAAC,EAAC,KAAK,EAAC,cAAc,EAAC,OAAO,EAAC,kBAAkB,EAAC,CAAC;IAC5D,OAAO,EAAE,KAAK,EAAE,OAAY,EAAE,EAAE;QAC9B,IAAI,CAAC;YACH,MAAM,cAAc,GAAG,OAAO,IAAI,EAAE,CAAC;YACrC,MAAM,cAAc,GAAG,iBAAiB,CAAC,iCAAiC,EAAE,cAAc,CAAC,CAAC;YAC5F,MAAM,IAAI,GAAG,cAAc,CAAC;YAElC,MAAM,QAAQ,GAAQ,EAAE,CAAC;YACzB,MAAM,aAAa,GAAG,SAAS,CAAC,QAAQ,CAAC;YACzC,IAAI,aAAa,KAAK,SAAS;gBAAE,QAAQ,CAAC,QAAQ,GAAG,aAAa,CAAC;YAEnE,2FAA2F;YAC3F,6FAA6F;YAC7F,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,MAAM,EAAE,sBAAsB,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;YACzF,OAAO,MAAM,CAAC;QAEV,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,kDAAkD;YAClD,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;4BACnB,OAAO,EAAE,KAAK;4BACd,UAAU,EAAE,GAAG;4BACf,IAAI,EAAE,IAAI;4BACV,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,mBAAmB;4BACrE,KAAK,EAAE,eAAe;yBACvB,EAAE,IAAI,EAAE,CAAC,CAAC;qBACZ;iBACF;gBACD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC;CACF,CAAC;AAGF,MAAM,4CAA4C,GAAG;IACnD,MAAM,EAAE,QAAQ;IAChB,YAAY,EAAE,EAAE;IAChB,UAAU,EAAE,EAAE;CACf,CAAC;AACF,MAAM,2CAA2C,GAAG,CAAC,CAAC,MAAM,CAAC;IACzD,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yCAAyC,CAAC;CACrF,CAAC,CAAC;AAEL,6CAA6C;AAC7C,MAAM,CAAC,MAAM,iCAAiC,GAAS;IACrD,IAAI,EAAE,+BAA+B;IACrC,WAAW,EAAE,01CAA01C;IACv2C,WAAW,EAAE,2CAA2C;IACxD,UAAU,EAAE,4CAA4C;IACxD,QAAQ,EAAE,GAAG;IACb,MAAM,EAAE,KAAK;IACb,UAAU,EAAE,EAAE;IACd,OAAO,EAAE,EAAE;IACX,OAAO,EAAE,KAAK,EAAE,OAAY,EAAE,EAAE;QAC9B,IAAI,CAAC;YACH,MAAM,cAAc,GAAG,OAAO,IAAI,EAAE,CAAC;YACrC,MAAM,cAAc,GAAG,iBAAiB,CAAC,2CAA2C,EAAE,cAAc,CAAC,CAAC;YACtG,MAAM,IAAI,GAAG,cAAc,CAAC;YAC5B,OAAO,MAAM,cAAc,CAAC,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;QAChE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,kDAAkD;YAClD,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;4BACnB,OAAO,EAAE,KAAK;4BACd,UAAU,EAAE,GAAG;4BACf,IAAI,EAAE,IAAI;4BACV,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,mBAAmB;4BACrE,KAAK,EAAE,eAAe;yBACvB,EAAE,IAAI,EAAE,CAAC,CAAC;qBACZ;iBACF;gBACD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC;CACF,CAAC;AAGF,MAAM,qBAAqB,GAAG;IAC5B,MAAM,EAAE,QAAQ;IAChB,YAAY,EAAE,EAAE;IAChB,UAAU,EAAE,EAAE;CACf,CAAC;AACF,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAClC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yCAAyC,CAAC;CACrF,CAAC,CAAC;AAEL,sBAAsB;AACtB,MAAM,CAAC,MAAM,UAAU,GAAS;IAC9B,IAAI,EAAE,QAAQ;IACd,WAAW,EAAE,udAAud;IACpe,WAAW,EAAE,oBAAoB;IACjC,UAAU,EAAE,qBAAqB;IACjC,QAAQ,EAAE,SAAS;IACnB,MAAM,EAAE,KAAK;IACb,UAAU,EAAE,EAAE;IACd,OAAO,EAAE,EAAE;IACX,OAAO,EAAE,KAAK,EAAE,OAAY,EAAE,EAAE;QAC9B,IAAI,CAAC;YACH,MAAM,cAAc,GAAG,OAAO,IAAI,EAAE,CAAC;YACrC,MAAM,cAAc,GAAG,iBAAiB,CAAC,oBAAoB,EAAE,cAAc,CAAC,CAAC;YAC/E,MAAM,IAAI,GAAG,cAAc,CAAC;YAC5B,OAAO,MAAM,cAAc,CAAC,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;QACtE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,kDAAkD;YAClD,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;4BACnB,OAAO,EAAE,KAAK;4BACd,UAAU,EAAE,GAAG;4BACf,IAAI,EAAE,IAAI;4BACV,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,mBAAmB;4BACrE,KAAK,EAAE,eAAe;yBACvB,EAAE,IAAI,EAAE,CAAC,CAAC;qBACZ;iBACF;gBACD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC;CACF,CAAC;AAGF,MAAM,kCAAkC,GAAG;IACzC,MAAM,EAAE,QAAQ;IAChB,YAAY,EAAE,EAAE;IAChB,UAAU,EAAE,EAAE;CACf,CAAC;AACF,MAAM,iCAAiC,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/C,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yCAAyC,CAAC;CACrF,CAAC,CAAC;AAEL,mCAAmC;AACnC,MAAM,CAAC,MAAM,uBAAuB,GAAS;IAC3C,IAAI,EAAE,qBAAqB;IAC3B,WAAW,EAAE,++CAA++C;IAC5/C,WAAW,EAAE,iCAAiC;IAC9C,UAAU,EAAE,kCAAkC;IAC9C,QAAQ,EAAE,sBAAsB;IAChC,MAAM,EAAE,KAAK;IACb,UAAU,EAAE,EAAE;IACd,OAAO,EAAE,CAAC,EAAC,KAAK,EAAC,eAAe,EAAC,OAAO,EAAC,kBAAkB,EAAC,EAAC,EAAC,KAAK,EAAC,aAAa,EAAC,OAAO,EAAC,cAAc,EAAC,CAAC;IAC1G,OAAO,EAAE,KAAK,EAAE,OAAY,EAAE,EAAE;QAC9B,IAAI,CAAC;YACH,MAAM,cAAc,GAAG,OAAO,IAAI,EAAE,CAAC;YACrC,MAAM,cAAc,GAAG,iBAAiB,CAAC,iCAAiC,EAAE,cAAc,CAAC,CAAC;YAC5F,MAAM,IAAI,GAAG,cAAc,CAAC;YAC5B,OAAO,MAAM,cAAc,CAAC,KAAK,EAAE,sBAAsB,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;QACnF,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,kDAAkD;YAClD,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;4BACnB,OAAO,EAAE,KAAK;4BACd,UAAU,EAAE,GAAG;4BACf,IAAI,EAAE,IAAI;4BACV,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,mBAAmB;4BACrE,KAAK,EAAE,eAAe;yBACvB,EAAE,IAAI,EAAE,CAAC,CAAC;qBACZ;iBACF;gBACD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC;CACF,CAAC;AAGF,MAAM,2CAA2C,GAAG;IAClD,MAAM,EAAE,QAAQ;IAChB,YAAY,EAAE;QACZ,YAAY,EAAE;YACZ,MAAM,EAAE,QAAQ;YAChB,aAAa,EAAE,oBAAoB;YACnC,SAAS,EAAE,GAAG;SACf;QACD,OAAO,EAAE;YACP,MAAM,EAAE,QAAQ;YAChB,aAAa,EAAE,0CAA0C;YACzD,SAAS,EAAE,CAAC;SACb;QACD,QAAQ,EAAE;YACR,MAAM,EAAE,QAAQ;YAChB,aAAa,EAAE,2CAA2C;YAC1D,SAAS,EAAE,CAAC;SACb;QACD,YAAY,EAAE;YACZ,MAAM,EAAE,QAAQ;YAChB,aAAa,EAAE,gCAAgC;YAC/C,SAAS,EAAE,UAAU;SACtB;KACF;IACD,UAAU,EAAE;QACV,YAAY;KACb;CACF,CAAC;AACF,MAAM,0CAA0C,GAAG,CAAC,CAAC,MAAM,CAAC;IACxD,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,oBAAoB,CAAC;IACrD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0CAA0C,CAAC;IACjF,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2CAA2C,CAAC;IACnF,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;IAC5E,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yCAAyC,CAAC;CACrF,CAAC,CAAC;AAEL,4CAA4C;AAC5C,MAAM,CAAC,MAAM,gCAAgC,GAAS;IACpD,IAAI,EAAE,8BAA8B;IACpC,WAAW,EAAE,gnMAAgnM;IAC7nM,WAAW,EAAE,0CAA0C;IACvD,UAAU,EAAE,2CAA2C;IACvD,QAAQ,EAAE,oCAAoC;IAC9C,MAAM,EAAE,MAAM;IACd,UAAU,EAAE,EAAE;IACd,OAAO,EAAE,CAAC,EAAC,KAAK,EAAC,eAAe,EAAC,OAAO,EAAC,kBAAkB,EAAC,EAAC,EAAC,KAAK,EAAC,aAAa,EAAC,OAAO,EAAC,cAAc,EAAC,EAAC,EAAC,KAAK,EAAC,cAAc,EAAC,OAAO,EAAC,kBAAkB,EAAC,CAAC;IAC5J,OAAO,EAAE,KAAK,EAAE,OAAY,EAAE,EAAE;QAC9B,IAAI,CAAC;YACH,MAAM,cAAc,GAAG,OAAO,IAAI,EAAE,CAAC;YACrC,MAAM,cAAc,GAAG,iBAAiB,CAAC,0CAA0C,EAAE,cAAc,CAAC,CAAC;YACrG,MAAM,IAAI,GAAG,cAAc,CAAC;YAC5B,MAAM,QAAQ,GAAQ,EAAE,CAAC;YAC/B,MAAM,eAAe,GAAG,IAAI,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC;YAC9E,IAAI,eAAe,KAAK,SAAS;gBAAE,QAAQ,CAAC,UAAU,GAAG,eAAe,CAAC;YACzE,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7D,IAAI,UAAU,KAAK,SAAS;gBAAE,QAAQ,CAAC,KAAK,GAAG,UAAU,CAAC;YAC1D,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YAChE,IAAI,WAAW,KAAK,SAAS;gBAAE,QAAQ,CAAC,MAAM,GAAG,WAAW,CAAC;YAC7D,MAAM,eAAe,GAAG,IAAI,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC;YACrF,IAAI,eAAe,KAAK,SAAS;gBAAE,QAAQ,CAAC,UAAU,GAAG,eAAe,CAAC;YACzE,OAAO,MAAM,cAAc,CAAC,MAAM,EAAE,oCAAoC,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;QAC3F,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,kDAAkD;YAClD,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;4BACnB,OAAO,EAAE,KAAK;4BACd,UAAU,EAAE,GAAG;4BACf,IAAI,EAAE,IAAI;4BACV,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,mBAAmB;4BACrE,KAAK,EAAE,eAAe;yBACvB,EAAE,IAAI,EAAE,CAAC,CAAC;qBACZ;iBACF;gBACD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC;CACF,CAAC;AAGF,MAAM,qCAAqC,GAAG;IAC5C,MAAM,EAAE,QAAQ;IAChB,YAAY,EAAE;QACZ,aAAa,EAAE;YACb,MAAM,EAAE,QAAQ;YAChB,aAAa,EAAE,oBAAoB;YACnC,SAAS,EAAE,EAAE;SACd;QACD,IAAI,EAAE;YACJ,MAAM,EAAE,QAAQ;YAChB,aAAa,EAAE,iBAAiB;YAChC,SAAS,EAAE,KAAK;SACjB;QACD,QAAQ,EAAE;YACR,MAAM,EAAE,MAAM;YACd,aAAa,EAAE,gDAAgD;SAChE;QACD,MAAM,EAAE;YACN,MAAM,EAAE,QAAQ;YAChB,aAAa,EAAE,gCAAgC;YAC/C,SAAS,EAAE;gBACT,WAAW,EAAE,YAAY;aAC1B;SACF;QACD,YAAY,EAAE;YACZ,MAAM,EAAE,MAAM;YACd,aAAa,EAAE,gDAAgD;SAChE;QACD,WAAW,EAAE;YACX,MAAM,EAAE,QAAQ;YAChB,aAAa,EAAE,+CAA+C;YAC9D,SAAS,EAAE,QAAQ;SACpB;QACD,WAAW,EAAE;YACX,MAAM,EAAE,QAAQ;YAChB,aAAa,EAAE,sBAAsB;YACrC,SAAS,EAAE,eAAe;SAC3B;KACF;IACD,UAAU,EAAE;QACV,aAAa;QACb,IAAI;QACJ,MAAM;QACN,YAAY;QACZ,WAAW;KACZ;CACF,CAAC;AACF,MAAM,oCAAoC,GAAG,CAAC,CAAC,MAAM,CAAC;IAClD,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,oBAAoB,CAAC;IACtD,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC;IAC1C,MAAM,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gDAAgD,CAAC;IACrF,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,gCAAgC,CAAC;IAClE,UAAU,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,gDAAgD,CAAC;IAC9E,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,+CAA+C,CAAC;IAC/E,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC;IACjE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yCAAyC,CAAC;CACrF,CAAC,CAAC;AAEL,sCAAsC;AACtC,MAAM,CAAC,MAAM,0BAA0B,GAAS;IAC9C,IAAI,EAAE,wBAAwB;IAC9B,WAAW,EAAE,q+JAAq+J;IACl/J,WAAW,EAAE,oCAAoC;IACjD,UAAU,EAAE,qCAAqC;IACjD,QAAQ,EAAE,yBAAyB;IACnC,MAAM,EAAE,MAAM;IACd,UAAU,EAAE,EAAE;IACd,OAAO,EAAE,CAAC,EAAC,KAAK,EAAC,eAAe,EAAC,OAAO,EAAC,kBAAkB,EAAC,EAAC,EAAC,KAAK,EAAC,aAAa,EAAC,OAAO,EAAC,cAAc,EAAC,EAAC,EAAC,KAAK,EAAC,cAAc,EAAC,OAAO,EAAC,kBAAkB,EAAC,CAAC;IAC5J,OAAO,EAAE,KAAK,EAAE,OAAY,EAAE,EAAE;QAC9B,IAAI,CAAC;YACH,MAAM,cAAc,GAAG,OAAO,IAAI,EAAE,CAAC;YACrC,MAAM,cAAc,GAAG,iBAAiB,CAAC,oCAAoC,EAAE,cAAc,CAAC,CAAC;YAC/F,MAAM,IAAI,GAAG,cAAc,CAAC;YAC5B,MAAM,QAAQ,GAAQ,EAAE,CAAC;YAC/B,MAAM,gBAAgB,GAAG,IAAI,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;YAChF,IAAI,gBAAgB,KAAK,SAAS;gBAAE,QAAQ,CAAC,WAAW,GAAG,gBAAgB,CAAC;YAC5E,MAAM,OAAO,GAAG,IAAI,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;YACxD,IAAI,OAAO,KAAK,SAAS;gBAAE,QAAQ,CAAC,EAAE,GAAG,OAAO,CAAC;YACjD,eAAe,CAAC,QAAQ,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC1C,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,YAAY,EAAC,CAAC;YACnF,IAAI,SAAS,KAAK,SAAS;gBAAE,QAAQ,CAAC,IAAI,GAAG,SAAS,CAAC;YACvD,eAAe,CAAC,QAAQ,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC;YAC9C,MAAM,cAAc,GAAG,IAAI,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC;YAChF,IAAI,cAAc,KAAK,SAAS;gBAAE,QAAQ,CAAC,SAAS,GAAG,cAAc,CAAC;YACtE,MAAM,cAAc,GAAG,IAAI,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC;YACvF,IAAI,cAAc,KAAK,SAAS;gBAAE,QAAQ,CAAC,SAAS,GAAG,cAAc,CAAC;YACtE,OAAO,MAAM,cAAc,CAAC,MAAM,EAAE,yBAAyB,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;QAChF,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,kDAAkD;YAClD,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;4BACnB,OAAO,EAAE,KAAK;4BACd,UAAU,EAAE,GAAG;4BACf,IAAI,EAAE,IAAI;4BACV,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,mBAAmB;4BACrE,KAAK,EAAE,eAAe;yBACvB,EAAE,IAAI,EAAE,CAAC,CAAC;qBACZ;iBACF;gBACD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC;CACF,CAAC;AAGF,MAAM,sCAAsC,GAAG;IAC7C,MAAM,EAAE,QAAQ;IAChB,YAAY,EAAE;QACZ,aAAa,EAAE;YACb,MAAM,EAAE,QAAQ;YAChB,aAAa,EAAE,yDAAyD;YACxE,SAAS,EAAE,GAAG;SACf;QACD,IAAI,EAAE;YACJ,MAAM,EAAE,QAAQ;YAChB,aAAa,EAAE,qEAAqE;YACpF,SAAS,EAAE,IAAI;SAChB;QACD,QAAQ,EAAE;YACR,MAAM,EAAE,MAAM;YACd,aAAa,EAAE,wCAAwC;SACxD;QACD,MAAM,EAAE;YACN,MAAM,EAAE,QAAQ;YAChB,aAAa,EAAE,gFAAgF;YAC/F,SAAS,EAAE;gBACT,WAAW,EAAE,YAAY;gBACzB,WAAW,EAAE,WAAW;aACzB;SACF;QACD,YAAY,EAAE;YACZ,MAAM,EAAE,QAAQ;YAChB,aAAa,EAAE,gEAAgE;YAC/E,SAAS,EAAE,UAAU;SACtB;QACD,WAAW,EAAE;YACX,MAAM,EAAE,QAAQ;YAChB,aAAa,EAAE,uDAAuD;YACtE,SAAS,EAAE,MAAM;SAClB;QACD,WAAW,EAAE;YACX,MAAM,EAAE,QAAQ;YAChB,aAAa,EAAE,yEAAyE;YACxF,SAAS,EAAE,SAAS;SACrB;QACD,aAAa,EAAE;YACb,MAAM,EAAE,QAAQ;YAChB,aAAa,EAAE,iHAAiH;YAChI,SAAS,EAAE,cAAc;SAC1B;QACD,gBAAgB,EAAE;YAChB,MAAM,EAAE,QAAQ;YAChB,aAAa,EAAE,sEAAsE;YACrF,SAAS,EAAE,YAAY;SACxB;QACD,SAAS,EAAE;YACT,MAAM,EAAE,QAAQ;YAChB,aAAa,EAAE,wFAAwF;YACvG,SAAS,EAAE,sCAAsC;SAClD;KACF;IACD,UAAU,EAAE;QACV,aAAa;QACb,IAAI;QACJ,MAAM;QACN,YAAY;QACZ,WAAW;KACZ;CACF,CAAC;AACF,MAAM,qCAAqC,GAAG,CAAC,CAAC,MAAM,CAAC;IACnD,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,yDAAyD,CAAC;IAC3F,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,qEAAqE,CAAC;IAC9F,MAAM,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wCAAwC,CAAC;IAC7E,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,gFAAgF,CAAC;IAClH,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gEAAgE,CAAC;IACjG,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,uDAAuD,CAAC;IACvF,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yEAAyE,CAAC;IACpH,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iHAAiH,CAAC;IAC9J,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sEAAsE,CAAC;IACtH,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wFAAwF,CAAC;IACjI,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yCAAyC,CAAC;CACrF,CAAC,CAAC;AAEL,uCAAuC;AACvC,MAAM,CAAC,MAAM,2BAA2B,GAAS;IAC/C,IAAI,EAAE,yBAAyB;IAC/B,WAAW,EAAE,kqZAAkqZ;IAC/qZ,WAAW,EAAE,qCAAqC;IAClD,UAAU,EAAE,sCAAsC;IAClD,QAAQ,EAAE,0BAA0B;IACpC,MAAM,EAAE,MAAM;IACd,UAAU,EAAE,EAAE;IACd,OAAO,EAAE,CAAC,EAAC,KAAK,EAAC,eAAe,EAAC,OAAO,EAAC,kBAAkB,EAAC,EAAC,EAAC,KAAK,EAAC,aAAa,EAAC,OAAO,EAAC,cAAc,EAAC,EAAC,EAAC,KAAK,EAAC,cAAc,EAAC,OAAO,EAAC,kBAAkB,EAAC,CAAC;IAC5J,OAAO,EAAE,KAAK,EAAE,OAAY,EAAE,EAAE;QAC9B,IAAI,CAAC;YACH,MAAM,cAAc,GAAG,OAAO,IAAI,EAAE,CAAC;YACrC,MAAM,cAAc,GAAG,iBAAiB,CAAC,qCAAqC,EAAE,cAAc,CAAC,CAAC;YAChG,MAAM,IAAI,GAAG,cAAc,CAAC;YAC5B,MAAM,QAAQ,GAAQ,EAAE,CAAC;YAC/B,MAAM,gBAAgB,GAAG,IAAI,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC;YACjF,IAAI,gBAAgB,KAAK,SAAS;gBAAE,QAAQ,CAAC,WAAW,GAAG,gBAAgB,CAAC;YAC5E,MAAM,OAAO,GAAG,IAAI,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;YACvD,IAAI,OAAO,KAAK,SAAS;gBAAE,QAAQ,CAAC,EAAE,GAAG,OAAO,CAAC;YACjD,eAAe,CAAC,QAAQ,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC1C,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,YAAY,EAAC,WAAW,EAAC,WAAW,EAAC,CAAC;YAC3G,IAAI,SAAS,KAAK,SAAS;gBAAE,QAAQ,CAAC,IAAI,GAAG,SAAS,CAAC;YACvD,MAAM,eAAe,GAAG,IAAI,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC;YACrF,IAAI,eAAe,KAAK,SAAS;gBAAE,QAAQ,CAAC,UAAU,GAAG,eAAe,CAAC;YACzE,MAAM,cAAc,GAAG,IAAI,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC;YAC9E,IAAI,cAAc,KAAK,SAAS;gBAAE,QAAQ,CAAC,SAAS,GAAG,cAAc,CAAC;YACtE,MAAM,cAAc,GAAG,IAAI,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;YACjF,IAAI,cAAc,KAAK,SAAS;gBAAE,QAAQ,CAAC,SAAS,GAAG,cAAc,CAAC;YACtE,MAAM,gBAAgB,GAAG,IAAI,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,cAAc,CAAC;YAC5F,IAAI,gBAAgB,KAAK,SAAS;gBAAE,QAAQ,CAAC,WAAW,GAAG,gBAAgB,CAAC;YAC5E,eAAe,CAAC,QAAQ,EAAE,IAAI,EAAE,gBAAgB,CAAC,CAAC;YAClD,eAAe,CAAC,QAAQ,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;YAC3C,OAAO,MAAM,cAAc,CAAC,MAAM,EAAE,0BAA0B,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;QACjF,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,kDAAkD;YAClD,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;4BACnB,OAAO,EAAE,KAAK;4BACd,UAAU,EAAE,GAAG;4BACf,IAAI,EAAE,IAAI;4BACV,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,mBAAmB;4BACrE,KAAK,EAAE,eAAe;yBACvB,EAAE,IAAI,EAAE,CAAC,CAAC;qBACZ;iBACF;gBACD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC;CACF,CAAC;AAGF,MAAM,sCAAsC,GAAG;IAC7C,MAAM,EAAE,QAAQ;IAChB,YAAY,EAAE;QACZ,WAAW,EAAE;YACX,MAAM,EAAE,QAAQ;YAChB,aAAa,EAAE,2BAA2B;YAC1C,SAAS,EAAE,kBAAkB;SAC9B;QACD,QAAQ,EAAE;YACR,MAAM,EAAE,QAAQ;YAChB,aAAa,EAAE,wBAAwB;YACvC,SAAS,EAAE,sCAAsC;SAClD;KACF;IACD,UAAU,EAAE,EAAE;CACf,CAAC;AACF,MAAM,qCAAqC,GAAG,CAAC,CAAC,MAAM,CAAC;IACnD,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2BAA2B,CAAC;IACtE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAC;IAChE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yCAAyC,CAAC;CACrF,CAAC,CAAC;AAEL,uCAAuC;AACvC,MAAM,CAAC,MAAM,2BAA2B,GAAS;IAC/C,IAAI,EAAE,yBAAyB;IAC/B,WAAW,EAAE,2hPAA2hP;IACxiP,WAAW,EAAE,qCAAqC;IAClD,UAAU,EAAE,sCAAsC;IAClD,QAAQ,EAAE,0BAA0B;IACpC,MAAM,EAAE,MAAM;IACd,UAAU,EAAE,EAAE;IACd,OAAO,EAAE,CAAC,EAAC,KAAK,EAAC,eAAe,EAAC,OAAO,EAAC,kBAAkB,EAAC,EAAC,EAAC,KAAK,EAAC,aAAa,EAAC,OAAO,EAAC,cAAc,EAAC,EAAC,EAAC,KAAK,EAAC,cAAc,EAAC,OAAO,EAAC,kBAAkB,EAAC,CAAC;IAC5J,OAAO,EAAE,KAAK,EAAE,OAAY,EAAE,EAAE;QAC9B,IAAI,CAAC;YACH,MAAM,cAAc,GAAG,OAAO,IAAI,EAAE,CAAC;YACrC,MAAM,cAAc,GAAG,iBAAiB,CAAC,qCAAqC,EAAE,cAAc,CAAC,CAAC;YAChG,MAAM,IAAI,GAAG,cAAc,CAAC;YAC5B,MAAM,QAAQ,GAAQ,EAAE,CAAC;YAC/B,MAAM,cAAc,GAAG,IAAI,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,kBAAkB,CAAC;YAC1F,IAAI,cAAc,KAAK,SAAS;gBAAE,QAAQ,CAAC,SAAS,GAAG,cAAc,CAAC;YACtE,eAAe,CAAC,QAAQ,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC1C,OAAO,MAAM,cAAc,CAAC,MAAM,EAAE,0BAA0B,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;QACjF,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,kDAAkD;YAClD,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;4BACnB,OAAO,EAAE,KAAK;4BACd,UAAU,EAAE,GAAG;4BACf,IAAI,EAAE,IAAI;4BACV,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,mBAAmB;4BACrE,KAAK,EAAE,eAAe;yBACvB,EAAE,IAAI,EAAE,CAAC,CAAC;qBACZ;iBACF;gBACD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC;CACF,CAAC;AAGF,MAAM,uCAAuC,GAAG;IAC9C,MAAM,EAAE,QAAQ;IAChB,YAAY,EAAE;QACZ,WAAW,EAAE;YACX,MAAM,EAAE,QAAQ;YAChB,aAAa,EAAE,2BAA2B;YAC1C,SAAS,EAAE,sCAAsC;SAClD;QACD,QAAQ,EAAE;YACR,MAAM,EAAE,MAAM;YACd,aAAa,EAAE,wBAAwB;SACxC;KACF;IACD,UAAU,EAAE,EAAE;CACf,CAAC;AACF,MAAM,sCAAsC,GAAG,CAAC,CAAC,MAAM,CAAC;IACpD,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2BAA2B,CAAC;IACtE,MAAM,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAC;IAC7D,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yCAAyC,CAAC;CACrF,CAAC,CAAC;AAEL,wCAAwC;AACxC,MAAM,CAAC,MAAM,4BAA4B,GAAS;IAChD,IAAI,EAAE,0BAA0B;IAChC,WAAW,EAAE,mjMAAmjM;IAChkM,WAAW,EAAE,sCAAsC;IACnD,UAAU,EAAE,uCAAuC;IACnD,QAAQ,EAAE,2BAA2B;IACrC,MAAM,EAAE,MAAM;IACd,UAAU,EAAE,EAAE;IACd,OAAO,EAAE,CAAC,EAAC,KAAK,EAAC,eAAe,EAAC,OAAO,EAAC,kBAAkB,EAAC,EAAC,EAAC,KAAK,EAAC,aAAa,EAAC,OAAO,EAAC,cAAc,EAAC,EAAC,EAAC,KAAK,EAAC,cAAc,EAAC,OAAO,EAAC,kBAAkB,EAAC,CAAC;IAC5J,OAAO,EAAE,KAAK,EAAE,OAAY,EAAE,EAAE;QAC9B,IAAI,CAAC;YACH,MAAM,cAAc,GAAG,OAAO,IAAI,EAAE,CAAC;YACrC,MAAM,cAAc,GAAG,iBAAiB,CAAC,sCAAsC,EAAE,cAAc,CAAC,CAAC;YACjG,MAAM,IAAI,GAAG,cAAc,CAAC;YAC5B,MAAM,QAAQ,GAAQ,EAAE,CAAC;YAC/B,MAAM,cAAc,GAAG,IAAI,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,sCAAsC,CAAC;YAC9G,IAAI,cAAc,KAAK,SAAS;gBAAE,QAAQ,CAAC,SAAS,GAAG,cAAc,CAAC;YACtE,eAAe,CAAC,QAAQ,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC1C,OAAO,MAAM,cAAc,CAAC,MAAM,EAAE,2BAA2B,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;QAClF,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,kDAAkD;YAClD,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;4BACnB,OAAO,EAAE,KAAK;4BACd,UAAU,EAAE,GAAG;4BACf,IAAI,EAAE,IAAI;4BACV,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,mBAAmB;4BACrE,KAAK,EAAE,eAAe;yBACvB,EAAE,IAAI,EAAE,CAAC,CAAC;qBACZ;iBACF;gBACD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC;CACF,CAAC;AAGF,MAAM,iCAAiC,GAAG;IACxC,MAAM,EAAE,QAAQ;IAChB,YAAY,EAAE,EAAE;IAChB,UAAU,EAAE,EAAE;CACf,CAAC;AACF,MAAM,gCAAgC,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9C,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yCAAyC,CAAC;CACrF,CAAC,CAAC;AAEL,kCAAkC;AAClC,MAAM,CAAC,MAAM,sBAAsB,GAAS;IAC1C,IAAI,EAAE,oBAAoB;IAC1B,WAAW,EAAE,w6DAAw6D;IACr7D,WAAW,EAAE,gCAAgC;IAC7C,UAAU,EAAE,iCAAiC;IAC7C,QAAQ,EAAE,qBAAqB;IAC/B,MAAM,EAAE,KAAK;IACb,UAAU,EAAE,EAAE;IACd,OAAO,EAAE,CAAC,EAAC,KAAK,EAAC,eAAe,EAAC,OAAO,EAAC,kBAAkB,EAAC,EAAC,EAAC,KAAK,EAAC,aAAa,EAAC,OAAO,EAAC,cAAc,EAAC,CAAC;IAC1G,OAAO,EAAE,KAAK,EAAE,OAAY,EAAE,EAAE;QAC9B,IAAI,CAAC;YACH,MAAM,cAAc,GAAG,OAAO,IAAI,EAAE,CAAC;YACrC,MAAM,cAAc,GAAG,iBAAiB,CAAC,gCAAgC,EAAE,cAAc,CAAC,CAAC;YAC3F,MAAM,IAAI,GAAG,cAAc,CAAC;YAC5B,OAAO,MAAM,cAAc,CAAC,KAAK,EAAE,qBAAqB,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;QAClF,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,kDAAkD;YAClD,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;4BACnB,OAAO,EAAE,KAAK;4BACd,UAAU,EAAE,GAAG;4BACf,IAAI,EAAE,IAAI;4BACV,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,mBAAmB;4BACrE,KAAK,EAAE,eAAe;yBACvB,EAAE,IAAI,EAAE,CAAC,CAAC;qBACZ;iBACF;gBACD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC;CACF,CAAC;AAGF,MAAM,sCAAsC,GAAG;IAC7C,MAAM,EAAE,QAAQ;IAChB,YAAY,EAAE;QACZ,QAAQ,EAAE;YACR,MAAM,EAAE,QAAQ;YAChB,aAAa,EAAE,sDAAsD;YACrE,SAAS,EAAE,sCAAsC;SAClD;QACD,IAAI,EAAE;YACJ,MAAM,EAAE,QAAQ;YAChB,aAAa,EAAE,mCAAmC;YAClD,SAAS,EAAE,EAAE;SACd;QACD,YAAY,EAAE;YACZ,MAAM,EAAE,QAAQ;YAChB,aAAa,EAAE,sCAAsC;YACrD,SAAS,EAAE,EAAE;SACd;QACD,MAAM,EAAE;YACN,MAAM,EAAE,QAAQ;YAChB,aAAa,EAAE,wEAAwE;YACvF,SAAS,EAAE;gBACT,MAAM,EAAE,YAAY;gBACpB,OAAO,EAAE,qBAAqB;gBAC9B,QAAQ,EAAE,MAAM;gBAChB,WAAW,EAAE,YAAY;gBACzB,YAAY,EAAE,GAAG;gBACjB,cAAc,EAAE,IAAI;gBACpB,gBAAgB,EAAE,YAAY;aAC/B;SACF;QACD,WAAW,EAAE;YACX,MAAM,EAAE,QAAQ;YAChB,aAAa,EAAE,iCAAiC;YAChD,SAAS,EAAE,4BAA4B;SACxC;QACD,YAAY,EAAE;YACZ,MAAM,EAAE,QAAQ;YAChB,aAAa,EAAE,4CAA4C;YAC3D,SAAS,EAAE,2DAA2D;SACvE;KACF;IACD,UAAU,EAAE;QACV,QAAQ;QACR,IAAI;QACJ,YAAY;QACZ,MAAM;QACN,WAAW;QACX,YAAY;KACb;CACF,CAAC;AACF,MAAM,qCAAqC,GAAG,CAAC,CAAC,MAAM,CAAC;IACnD,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,sDAAsD,CAAC;IACnF,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;IAC5D,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,sCAAsC,CAAC;IACvE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,wEAAwE,CAAC;IAC1G,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iCAAiC,CAAC;IACjE,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,4CAA4C,CAAC;IAC7E,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yCAAyC,CAAC;CACrF,CAAC,CAAC;AAEL,uCAAuC;AACvC,MAAM,CAAC,MAAM,2BAA2B,GAAS;IAC/C,IAAI,EAAE,yBAAyB;IAC/B,WAAW,EAAE,28PAA28P;IACx9P,WAAW,EAAE,qCAAqC;IAClD,UAAU,EAAE,sCAAsC;IAClD,QAAQ,EAAE,0BAA0B;IACpC,MAAM,EAAE,MAAM;IACd,UAAU,EAAE,EAAE;IACd,OAAO,EAAE,CAAC,EAAC,KAAK,EAAC,eAAe,EAAC,OAAO,EAAC,kBAAkB,EAAC,EAAC,EAAC,KAAK,EAAC,aAAa,EAAC,OAAO,EAAC,cAAc,EAAC,EAAC,EAAC,KAAK,EAAC,cAAc,EAAC,OAAO,EAAC,kBAAkB,EAAC,CAAC;IAC5J,OAAO,EAAE,KAAK,EAAE,OAAY,EAAE,EAAE;QAC9B,IAAI,CAAC;YACH,MAAM,cAAc,GAAG,OAAO,IAAI,EAAE,CAAC;YACrC,MAAM,cAAc,GAAG,iBAAiB,CAAC,qCAAqC,EAAE,cAAc,CAAC,CAAC;YAChG,MAAM,IAAI,GAAG,cAAc,CAAC;YAC5B,MAAM,QAAQ,GAAQ,EAAE,CAAC;YAC/B,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,sCAAsC,CAAC;YACrG,IAAI,WAAW,KAAK,SAAS;gBAAE,QAAQ,CAAC,MAAM,GAAG,WAAW,CAAC;YAC7D,MAAM,OAAO,GAAG,IAAI,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACrD,IAAI,OAAO,KAAK,SAAS;gBAAE,QAAQ,CAAC,EAAE,GAAG,OAAO,CAAC;YACjD,MAAM,eAAe,GAAG,IAAI,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7E,IAAI,eAAe,KAAK,SAAS;gBAAE,QAAQ,CAAC,UAAU,GAAG,eAAe,CAAC;YACzE,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAC,MAAM,EAAC,YAAY,EAAC,OAAO,EAAC,qBAAqB,EAAC,QAAQ,EAAC,MAAM,EAAC,WAAW,EAAC,YAAY,EAAC,YAAY,EAAC,GAAG,EAAC,cAAc,EAAC,IAAI,EAAC,gBAAgB,EAAC,YAAY,EAAC,CAAC;YACxN,IAAI,SAAS,KAAK,SAAS;gBAAE,QAAQ,CAAC,IAAI,GAAG,SAAS,CAAC;YACvD,MAAM,cAAc,GAAG,IAAI,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,4BAA4B,CAAC;YACpG,IAAI,cAAc,KAAK,SAAS;gBAAE,QAAQ,CAAC,SAAS,GAAG,cAAc,CAAC;YACtE,MAAM,eAAe,GAAG,IAAI,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,2DAA2D,CAAC;YACtI,IAAI,eAAe,KAAK,SAAS;gBAAE,QAAQ,CAAC,UAAU,GAAG,eAAe,CAAC;YACzE,OAAO,MAAM,cAAc,CAAC,MAAM,EAAE,0BAA0B,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;QACjF,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,kDAAkD;YAClD,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;4BACnB,OAAO,EAAE,KAAK;4BACd,UAAU,EAAE,GAAG;4BACf,IAAI,EAAE,IAAI;4BACV,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,mBAAmB;4BACrE,KAAK,EAAE,eAAe;yBACvB,EAAE,IAAI,EAAE,CAAC,CAAC;qBACZ;iBACF;gBACD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC;CACF,CAAC;AAGF,MAAM,0CAA0C,GAAG;IACjD,MAAM,EAAE,QAAQ;IAChB,YAAY,EAAE;QACZ,WAAW,EAAE;YACX,MAAM,EAAE,QAAQ;YAChB,aAAa,EAAE,2BAA2B;YAC1C,SAAS,EAAE,sCAAsC;SAClD;QACD,QAAQ,EAAE;YACR,MAAM,EAAE,QAAQ;YAChB,aAAa,EAAE,wBAAwB;YACvC,SAAS,EAAE,sCAAsC;SAClD;KACF;IACD,UAAU,EAAE,EAAE;CACf,CAAC;AACF,MAAM,yCAAyC,GAAG,CAAC,CAAC,MAAM,CAAC;IACvD,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2BAA2B,CAAC;IACtE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAC;IAChE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yCAAyC,CAAC;CACrF,CAAC,CAAC;AAEL,2CAA2C;AAC3C,MAAM,CAAC,MAAM,+BAA+B,GAAS;IACnD,IAAI,EAAE,6BAA6B;IACnC,WAAW,EAAE,oqJAAoqJ;IACjrJ,WAAW,EAAE,yCAAyC;IACtD,UAAU,EAAE,0CAA0C;IACtD,QAAQ,EAAE,8BAA8B;IACxC,MAAM,EAAE,MAAM;IACd,UAAU,EAAE,EAAE;IACd,OAAO,EAAE,CAAC,EAAC,KAAK,EAAC,eAAe,EAAC,OAAO,EAAC,kBAAkB,EAAC,EAAC,EAAC,KAAK,EAAC,aAAa,EAAC,OAAO,EAAC,cAAc,EAAC,EAAC,EAAC,KAAK,EAAC,cAAc,EAAC,OAAO,EAAC,kBAAkB,EAAC,CAAC;IAC5J,OAAO,EAAE,KAAK,EAAE,OAAY,EAAE,EAAE;QAC9B,IAAI,CAAC;YACH,MAAM,cAAc,GAAG,OAAO,IAAI,EAAE,CAAC;YACrC,MAAM,cAAc,GAAG,iBAAiB,CAAC,yCAAyC,EAAE,cAAc,CAAC,CAAC;YACpG,MAAM,IAAI,GAAG,cAAc,CAAC;YAC5B,MAAM,QAAQ,GAAQ,EAAE,CAAC;YAC/B,MAAM,cAAc,GAAG,IAAI,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,sCAAsC,CAAC;YAC9G,IAAI,cAAc,KAAK,SAAS;gBAAE,QAAQ,CAAC,SAAS,GAAG,cAAc,CAAC;YACtE,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,sCAAsC,CAAC;YACrG,IAAI,WAAW,KAAK,SAAS;gBAAE,QAAQ,CAAC,MAAM,GAAG,WAAW,CAAC;YAC7D,OAAO,MAAM,cAAc,CAAC,MAAM,EAAE,8BAA8B,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;QACrF,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,kDAAkD;YAClD,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;4BACnB,OAAO,EAAE,KAAK;4BACd,UAAU,EAAE,GAAG;4BACf,IAAI,EAAE,IAAI;4BACV,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,mBAAmB;4BACrE,KAAK,EAAE,eAAe;yBACvB,EAAE,IAAI,EAAE,CAAC,CAAC;qBACZ;iBACF;gBACD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC;CACF,CAAC;AAGF,MAAM,qCAAqC,GAAG;IAC5C,MAAM,EAAE,QAAQ;IAChB,YAAY,EAAE;QACZ,WAAW,EAAE;YACX,MAAM,EAAE,QAAQ;YAChB,aAAa,EAAE,6BAA6B;YAC5C,SAAS,EAAE,sCAAsC;SAClD;QACD,SAAS,EAAE;YACT,MAAM,EAAE,QAAQ;YAChB,aAAa,EAAE,iEAAiE;YAChF,SAAS,EAAE,YAAY;SACxB;QACD,OAAO,EAAE;YACP,MAAM,EAAE,QAAQ;YAChB,aAAa,EAAE,mBAAmB;YAClC,SAAS,EAAE,qBAAqB;SACjC;QACD,YAAY,EAAE;YACZ,MAAM,EAAE,QAAQ;YAChB,aAAa,EAAE,uCAAuC;YACtD,SAAS,EAAE,2DAA2D;SACvE;KACF;IACD,UAAU,EAAE;QACV,WAAW;QACX,SAAS;QACT,OAAO;QACP,YAAY;KACb;CACF,CAAC;AACF,MAAM,oCAAoC,GAAG,CAAC,CAAC,MAAM,CAAC;IAClD,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,6BAA6B,CAAC;IAC7D,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iEAAiE,CAAC;IAC/F,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC;IAC/C,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,uCAAuC,CAAC;IACxE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yCAAyC,CAAC;CACrF,CAAC,CAAC;AAEL,sCAAsC;AACtC,MAAM,CAAC,MAAM,0BAA0B,GAAS;IAC9C,IAAI,EAAE,wBAAwB;IAC9B,WAAW,EAAE,+lEAA+lE;IAC5mE,WAAW,EAAE,oCAAoC;IACjD,UAAU,EAAE,qCAAqC;IACjD,QAAQ,EAAE,yBAAyB;IACnC,MAAM,EAAE,MAAM;IACd,UAAU,EAAE,EAAE;IACd,OAAO,EAAE,CAAC,EAAC,KAAK,EAAC,eAAe,EAAC,OAAO,EAAC,kBAAkB,EAAC,EAAC,EAAC,KAAK,EAAC,aAAa,EAAC,OAAO,EAAC,cAAc,EAAC,EAAC,EAAC,KAAK,EAAC,cAAc,EAAC,OAAO,EAAC,kBAAkB,EAAC,CAAC;IAC5J,OAAO,EAAE,KAAK,EAAE,OAAY,EAAE,EAAE;QAC9B,IAAI,CAAC;YACH,MAAM,cAAc,GAAG,OAAO,IAAI,EAAE,CAAC;YACrC,MAAM,cAAc,GAAG,iBAAiB,CAAC,oCAAoC,EAAE,cAAc,CAAC,CAAC;YAC/F,MAAM,IAAI,GAAG,cAAc,CAAC;YAC5B,MAAM,QAAQ,GAAQ,EAAE,CAAC;YAC/B,MAAM,cAAc,GAAG,IAAI,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,sCAAsC,CAAC;YAC9G,IAAI,cAAc,KAAK,SAAS;gBAAE,QAAQ,CAAC,SAAS,GAAG,cAAc,CAAC;YACtE,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC;YAC9E,IAAI,YAAY,KAAK,SAAS;gBAAE,QAAQ,CAAC,OAAO,GAAG,YAAY,CAAC;YAChE,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,qBAAqB,CAAC;YACjF,IAAI,UAAU,KAAK,SAAS;gBAAE,QAAQ,CAAC,KAAK,GAAG,UAAU,CAAC;YAC1D,MAAM,eAAe,GAAG,IAAI,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,2DAA2D,CAAC;YACtI,IAAI,eAAe,KAAK,SAAS;gBAAE,QAAQ,CAAC,UAAU,GAAG,eAAe,CAAC;YACzE,OAAO,MAAM,cAAc,CAAC,MAAM,EAAE,yBAAyB,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;QAChF,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,kDAAkD;YAClD,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;4BACnB,OAAO,EAAE,KAAK;4BACd,UAAU,EAAE,GAAG;4BACf,IAAI,EAAE,IAAI;4BACV,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,mBAAmB;4BACrE,KAAK,EAAE,eAAe;yBACvB,EAAE,IAAI,EAAE,CAAC,CAAC;qBACZ;iBACF;gBACD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC;CACF,CAAC;AAGF,MAAM,gCAAgC,GAAG;IACvC,MAAM,EAAE,QAAQ;IAChB,YAAY,EAAE;QACZ,aAAa,EAAE;YACb,MAAM,EAAE,QAAQ;YAChB,aAAa,EAAE,6BAA6B;YAC5C,SAAS,EAAE,cAAc;SAC1B;QACD,gBAAgB,EAAE;YAChB,MAAM,EAAE,QAAQ;YAChB,aAAa,EAAE,gCAAgC;YAC/C,SAAS,EAAE,YAAY;SACxB;QACD,MAAM,EAAE;YACN,MAAM,EAAE,QAAQ;YAChB,aAAa,EAAE,sBAAsB;YACrC,SAAS,EAAE,0BAA0B;SACtC;QACD,IAAI,EAAE;YACJ,MAAM,EAAE,QAAQ;YAChB,aAAa,EAAE,oBAAoB;YACnC,SAAS,EAAE,0BAA0B;SACtC;KACF;IACD,UAAU,EAAE,EAAE;CACf,CAAC;AACF,MAAM,+BAA+B,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6BAA6B,CAAC;IAC1E,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;IAChF,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC;IAC5D,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oBAAoB,CAAC;IACxD,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yCAAyC,CAAC;CACrF,CAAC,CAAC;AAEL,iCAAiC;AACjC,MAAM,CAAC,MAAM,qBAAqB,GAAS;IACzC,IAAI,EAAE,mBAAmB;IACzB,WAAW,EAAE,w3DAAw3D;IACr4D,WAAW,EAAE,+BAA+B;IAC5C,UAAU,EAAE,gCAAgC;IAC5C,QAAQ,EAAE,oBAAoB;IAC9B,MAAM,EAAE,MAAM;IACd,UAAU,EAAE,EAAE;IACd,OAAO,EAAE,CAAC,EAAC,KAAK,EAAC,eAAe,EAAC,OAAO,EAAC,kBAAkB,EAAC,EAAC,EAAC,KAAK,EAAC,aAAa,EAAC,OAAO,EAAC,cAAc,EAAC,EAAC,EAAC,KAAK,EAAC,cAAc,EAAC,OAAO,EAAC,kBAAkB,EAAC,CAAC;IAC5J,OAAO,EAAE,KAAK,EAAE,OAAY,EAAE,EAAE;QAC9B,IAAI,CAAC;YACH,MAAM,cAAc,GAAG,OAAO,IAAI,EAAE,CAAC;YACrC,MAAM,cAAc,GAAG,iBAAiB,CAAC,+BAA+B,EAAE,cAAc,CAAC,CAAC;YAC1F,MAAM,IAAI,GAAG,cAAc,CAAC;YAC5B,MAAM,QAAQ,GAAQ,EAAE,CAAC;YAC/B,MAAM,gBAAgB,GAAG,IAAI,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,cAAc,CAAC;YAC5F,IAAI,gBAAgB,KAAK,SAAS;gBAAE,QAAQ,CAAC,WAAW,GAAG,gBAAgB,CAAC;YAC5E,MAAM,mBAAmB,GAAG,IAAI,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,YAAY,CAAC;YACnG,IAAI,mBAAmB,KAAK,SAAS;gBAAE,QAAQ,CAAC,cAAc,GAAG,mBAAmB,CAAC;YACrF,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,0BAA0B,CAAC;YACnF,IAAI,SAAS,KAAK,SAAS;gBAAE,QAAQ,CAAC,IAAI,GAAG,SAAS,CAAC;YACvD,MAAM,OAAO,GAAG,IAAI,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,0BAA0B,CAAC;YAC7E,IAAI,OAAO,KAAK,SAAS;gBAAE,QAAQ,CAAC,EAAE,GAAG,OAAO,CAAC;YACjD,OAAO,MAAM,cAAc,CAAC,MAAM,EAAE,oBAAoB,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;QAC3E,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,kDAAkD;YAClD,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;4BACnB,OAAO,EAAE,KAAK;4BACd,UAAU,EAAE,GAAG;4BACf,IAAI,EAAE,IAAI;4BACV,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,mBAAmB;4BACrE,KAAK,EAAE,eAAe;yBACvB,EAAE,IAAI,EAAE,CAAC,CAAC;qBACZ;iBACF;gBACD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC;CACF,CAAC;AAGF,MAAM,8BAA8B,GAAG;IACrC,MAAM,EAAE,QAAQ;IAChB,YAAY,EAAE;QACZ,aAAa,EAAE;YACb,MAAM,EAAE,QAAQ;YAChB,aAAa,EAAE,6BAA6B;YAC5C,SAAS,EAAE,cAAc;SAC1B;QACD,gBAAgB,EAAE;YAChB,MAAM,EAAE,QAAQ;YAChB,aAAa,EAAE,gCAAgC;YAC/C,SAAS,EAAE,YAAY;SACxB;QACD,MAAM,EAAE;YACN,MAAM,EAAE,QAAQ;YAChB,aAAa,EAAE,sBAAsB;YACrC,SAAS,EAAE,CAAC;SACb;QACD,OAAO,EAAE;YACP,MAAM,EAAE,QAAQ;YAChB,aAAa,EAAE,uBAAuB;YACtC,SAAS,EAAE,EAAE;SACd;QACD,cAAc,EAAE;YACd,MAAM,EAAE,QAAQ;YAChB,aAAa,EAAE,8BAA8B;YAC7C,SAAS,EAAE,SAAS;SACrB;KACF;IACD,UAAU,EAAE,EAAE;CACf,CAAC;AACF,MAAM,6BAA6B,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6BAA6B,CAAC;IAC1E,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;IAChF,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC;IAC5D,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC;IAC9D,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;IAC5E,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yCAAyC,CAAC;CACrF,CAAC,CAAC;AAEL,+BAA+B;AAC/B,MAAM,CAAC,MAAM,mBAAmB,GAAS;IACvC,IAAI,EAAE,iBAAiB;IACvB,WAAW,EAAE,82DAA82D;IAC33D,WAAW,EAAE,6BAA6B;IAC1C,UAAU,EAAE,8BAA8B;IAC1C,QAAQ,EAAE,kBAAkB;IAC5B,MAAM,EAAE,MAAM;IACd,UAAU,EAAE,EAAE;IACd,OAAO,EAAE,CAAC,EAAC,KAAK,EAAC,eAAe,EAAC,OAAO,EAAC,kBAAkB,EAAC,EAAC,EAAC,KAAK,EAAC,aAAa,EAAC,OAAO,EAAC,cAAc,EAAC,EAAC,EAAC,KAAK,EAAC,cAAc,EAAC,OAAO,EAAC,kBAAkB,EAAC,CAAC;IAC5J,OAAO,EAAE,KAAK,EAAE,OAAY,EAAE,EAAE;QAC9B,IAAI,CAAC;YACH,MAAM,cAAc,GAAG,OAAO,IAAI,EAAE,CAAC;YACrC,MAAM,cAAc,GAAG,iBAAiB,CAAC,6BAA6B,EAAE,cAAc,CAAC,CAAC;YACxF,MAAM,IAAI,GAAG,cAAc,CAAC;YAC5B,MAAM,QAAQ,GAAQ,EAAE,CAAC;YAC/B,MAAM,gBAAgB,GAAG,IAAI,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,cAAc,CAAC;YAC5F,IAAI,gBAAgB,KAAK,SAAS;gBAAE,QAAQ,CAAC,WAAW,GAAG,gBAAgB,CAAC;YAC5E,MAAM,mBAAmB,GAAG,IAAI,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,YAAY,CAAC;YACnG,IAAI,mBAAmB,KAAK,SAAS;gBAAE,QAAQ,CAAC,cAAc,GAAG,mBAAmB,CAAC;YACrF,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1D,IAAI,SAAS,KAAK,SAAS;gBAAE,QAAQ,CAAC,IAAI,GAAG,SAAS,CAAC;YACvD,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9D,IAAI,UAAU,KAAK,SAAS;gBAAE,QAAQ,CAAC,KAAK,GAAG,UAAU,CAAC;YAC1D,MAAM,iBAAiB,GAAG,IAAI,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC;YAC1F,IAAI,iBAAiB,KAAK,SAAS;gBAAE,QAAQ,CAAC,YAAY,GAAG,iBAAiB,CAAC;YAC/E,OAAO,MAAM,cAAc,CAAC,MAAM,EAAE,kBAAkB,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;QACzE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,kDAAkD;YAClD,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;4BACnB,OAAO,EAAE,KAAK;4BACd,UAAU,EAAE,GAAG;4BACf,IAAI,EAAE,IAAI;4BACV,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,mBAAmB;4BACrE,KAAK,EAAE,eAAe;yBACvB,EAAE,IAAI,EAAE,CAAC,CAAC;qBACZ;iBACF;gBACD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC;CACF,CAAC;AAGF,MAAM,qCAAqC,GAAG;IAC5C,MAAM,EAAE,QAAQ;IAChB,YAAY,EAAE;QACZ,aAAa,EAAE;YACb,MAAM,EAAE,QAAQ;YAChB,aAAa,EAAE,6BAA6B;YAC5C,SAAS,EAAE,cAAc;SAC1B;QACD,gBAAgB,EAAE;YAChB,MAAM,EAAE,QAAQ;YAChB,aAAa,EAAE,gCAAgC;YAC/C,SAAS,EAAE,YAAY;SACxB;QACD,MAAM,EAAE;YACN,MAAM,EAAE,QAAQ;YAChB,aAAa,EAAE,sBAAsB;YACrC,SAAS,EAAE,CAAC;SACb;QACD,OAAO,EAAE;YACP,MAAM,EAAE,QAAQ;YAChB,aAAa,EAAE,uBAAuB;YACtC,SAAS,EAAE,EAAE;SACd;QACD,QAAQ,EAAE;YACR,MAAM,EAAE,OAAO;YACf,aAAa,EAAE,wBAAwB;YACvC,SAAS,EAAE;gBACT,MAAM;gBACN,UAAU;aACX;SACF;QACD,cAAc,EAAE;YACd,MAAM,EAAE,QAAQ;YAChB,aAAa,EAAE,8BAA8B;YAC7C,SAAS,EAAE,SAAS;SACrB;KACF;IACD,UAAU,EAAE,EAAE;CACf,CAAC;AACF,MAAM,oCAAoC,GAAG,CAAC,CAAC,MAAM,CAAC;IAClD,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6BAA6B,CAAC;IAC1E,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;IAChF,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC;IAC5D,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC;IAC9D,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAC;IACtE,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;IAC5E,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yCAAyC,CAAC;CACrF,CAAC,CAAC;AAEL,sCAAsC;AACtC,MAAM,CAAC,MAAM,0BAA0B,GAAS;IAC9C,IAAI,EAAE,wBAAwB;IAC9B,WAAW,EAAE,4wDAA4wD;IACzxD,WAAW,EAAE,oCAAoC;IACjD,UAAU,EAAE,qCAAqC;IACjD,QAAQ,EAAE,yBAAyB;IACnC,MAAM,EAAE,MAAM;IACd,UAAU,EAAE,EAAE;IACd,OAAO,EAAE,CAAC,EAAC,KAAK,EAAC,eAAe,EAAC,OAAO,EAAC,kBAAkB,EAAC,EAAC,EAAC,KAAK,EAAC,aAAa,EAAC,OAAO,EAAC,cAAc,EAAC,EAAC,EAAC,KAAK,EAAC,cAAc,EAAC,OAAO,EAAC,kBAAkB,EAAC,CAAC;IAC5J,OAAO,EAAE,KAAK,EAAE,OAAY,EAAE,EAAE;QAC9B,IAAI,CAAC;YACH,MAAM,cAAc,GAAG,OAAO,IAAI,EAAE,CAAC;YACrC,MAAM,cAAc,GAAG,iBAAiB,CAAC,oCAAoC,EAAE,cAAc,CAAC,CAAC;YAC/F,MAAM,IAAI,GAAG,cAAc,CAAC;YAC5B,MAAM,QAAQ,GAAQ,EAAE,CAAC;YAC/B,MAAM,gBAAgB,GAAG,IAAI,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,cAAc,CAAC;YAC5F,IAAI,gBAAgB,KAAK,SAAS;gBAAE,QAAQ,CAAC,WAAW,GAAG,gBAAgB,CAAC;YAC5E,MAAM,mBAAmB,GAAG,IAAI,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,YAAY,CAAC;YACnG,IAAI,mBAAmB,KAAK,SAAS;gBAAE,QAAQ,CAAC,cAAc,GAAG,mBAAmB,CAAC;YACrF,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1D,IAAI,SAAS,KAAK,SAAS;gBAAE,QAAQ,CAAC,IAAI,GAAG,SAAS,CAAC;YACvD,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9D,IAAI,UAAU,KAAK,SAAS;gBAAE,QAAQ,CAAC,KAAK,GAAG,UAAU,CAAC;YAC1D,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,EAAC,UAAU,CAAC,CAAC;YAClF,IAAI,WAAW,KAAK,SAAS;gBAAE,QAAQ,CAAC,MAAM,GAAG,WAAW,CAAC;YAC7D,MAAM,iBAAiB,GAAG,IAAI,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC;YAC1F,IAAI,iBAAiB,KAAK,SAAS;gBAAE,QAAQ,CAAC,YAAY,GAAG,iBAAiB,CAAC;YAC/E,OAAO,MAAM,cAAc,CAAC,MAAM,EAAE,yBAAyB,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;QAChF,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,kDAAkD;YAClD,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;4BACnB,OAAO,EAAE,KAAK;4BACd,UAAU,EAAE,GAAG;4BACf,IAAI,EAAE,IAAI;4BACV,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,mBAAmB;4BACrE,KAAK,EAAE,eAAe;yBACvB,EAAE,IAAI,EAAE,CAAC,CAAC;qBACZ;iBACF;gBACD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC;CACF,CAAC;AAGF,MAAM,wCAAwC,GAAG;IAC/C,MAAM,EAAE,QAAQ;IAChB,YAAY,EAAE;QACZ,aAAa,EAAE;YACb,MAAM,EAAE,QAAQ;YAChB,aAAa,EAAE,6BAA6B;YAC5C,SAAS,EAAE,cAAc;SAC1B;QACD,gBAAgB,EAAE;YAChB,MAAM,EAAE,QAAQ;YAChB,aAAa,EAAE,gCAAgC;YAC/C,SAAS,EAAE,YAAY;SACxB;KACF;IACD,UAAU,EAAE,EAAE;CACf,CAAC;AACF,MAAM,uCAAuC,GAAG,CAAC,CAAC,MAAM,CAAC;IACrD,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6BAA6B,CAAC;IAC1E,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;IAChF,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yCAAyC,CAAC;CACrF,CAAC,CAAC;AAEL,yCAAyC;AACzC,MAAM,CAAC,MAAM,6BAA6B,GAAS;IACjD,IAAI,EAAE,2BAA2B;IACjC,WAAW,EAAE,qiDAAqiD;IACljD,WAAW,EAAE,uCAAuC;IACpD,UAAU,EAAE,wCAAwC;IACpD,QAAQ,EAAE,4BAA4B;IACtC,MAAM,EAAE,MAAM;IACd,UAAU,EAAE,EAAE;IACd,OAAO,EAAE,CAAC,EAAC,KAAK,EAAC,eAAe,EAAC,OAAO,EAAC,kBAAkB,EAAC,EAAC,EAAC,KAAK,EAAC,aAAa,EAAC,OAAO,EAAC,cAAc,EAAC,EAAC,EAAC,KAAK,EAAC,cAAc,EAAC,OAAO,EAAC,kBAAkB,EAAC,CAAC;IAC5J,OAAO,EAAE,KAAK,EAAE,OAAY,EAAE,EAAE;QAC9B,IAAI,CAAC;YACH,MAAM,cAAc,GAAG,OAAO,IAAI,EAAE,CAAC;YACrC,MAAM,cAAc,GAAG,iBAAiB,CAAC,uCAAuC,EAAE,cAAc,CAAC,CAAC;YAClG,MAAM,IAAI,GAAG,cAAc,CAAC;YAC5B,MAAM,QAAQ,GAAQ,EAAE,CAAC;YAC/B,MAAM,gBAAgB,GAAG,IAAI,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,cAAc,CAAC;YAC5F,IAAI,gBAAgB,KAAK,SAAS;gBAAE,QAAQ,CAAC,WAAW,GAAG,gBAAgB,CAAC;YAC5E,MAAM,mBAAmB,GAAG,IAAI,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,YAAY,CAAC;YACnG,IAAI,mBAAmB,KAAK,SAAS;gBAAE,QAAQ,CAAC,cAAc,GAAG,mBAAmB,CAAC;YACrF,OAAO,MAAM,cAAc,CAAC,MAAM,EAAE,4BAA4B,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;QACnF,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,kDAAkD;YAClD,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;4BACnB,OAAO,EAAE,KAAK;4BACd,UAAU,EAAE,GAAG;4BACf,IAAI,EAAE,IAAI;4BACV,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,mBAAmB;4BACrE,KAAK,EAAE,eAAe;yBACvB,EAAE,IAAI,EAAE,CAAC,CAAC;qBACZ;iBACF;gBACD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC;CACF,CAAC;AAGF,MAAM,8CAA8C,GAAG;IACrD,MAAM,EAAE,QAAQ;IAChB,YAAY,EAAE;QACZ,aAAa,EAAE;YACb,MAAM,EAAE,QAAQ;YAChB,aAAa,EAAE,6BAA6B;YAC5C,SAAS,EAAE,cAAc;SAC1B;QACD,gBAAgB,EAAE;YAChB,MAAM,EAAE,QAAQ;YAChB,aAAa,EAAE,gCAAgC;YAC/C,SAAS,EAAE,YAAY;SACxB;QACD,UAAU,EAAE;YACV,MAAM,EAAE,OAAO;YACf,aAAa,EAAE,0BAA0B;YACzC,SAAS,EAAE;gBACT,MAAM;aACP;SACF;KACF;IACD,UAAU,EAAE,EAAE;CACf,CAAC;AACF,MAAM,6CAA6C,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3D,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6BAA6B,CAAC;IAC1E,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;IAChF,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;IAC1E,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yCAAyC,CAAC;CACrF,CAAC,CAAC;AAEL,+CAA+C;AAC/C,MAAM,CAAC,MAAM,mCAAmC,GAAS;IACvD,IAAI,EAAE,iCAAiC;IACvC,WAAW,EAAE,2hDAA2hD;IACxiD,WAAW,EAAE,6CAA6C;IAC1D,UAAU,EAAE,8CAA8C;IAC1D,QAAQ,EAAE,kCAAkC;IAC5C,MAAM,EAAE,MAAM;IACd,UAAU,EAAE,EAAE;IACd,OAAO,EAAE,CAAC,EAAC,KAAK,EAAC,eAAe,EAAC,OAAO,EAAC,kBAAkB,EAAC,EAAC,EAAC,KAAK,EAAC,aAAa,EAAC,OAAO,EAAC,cAAc,EAAC,EAAC,EAAC,KAAK,EAAC,cAAc,EAAC,OAAO,EAAC,kBAAkB,EAAC,CAAC;IAC5J,OAAO,EAAE,KAAK,EAAE,OAAY,EAAE,EAAE;QAC9B,IAAI,CAAC;YACH,MAAM,cAAc,GAAG,OAAO,IAAI,EAAE,CAAC;YACrC,MAAM,cAAc,GAAG,iBAAiB,CAAC,6CAA6C,EAAE,cAAc,CAAC,CAAC;YACxG,MAAM,IAAI,GAAG,cAAc,CAAC;YAC5B,MAAM,QAAQ,GAAQ,EAAE,CAAC;YAC/B,MAAM,gBAAgB,GAAG,IAAI,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,cAAc,CAAC;YAC5F,IAAI,gBAAgB,KAAK,SAAS;gBAAE,QAAQ,CAAC,WAAW,GAAG,gBAAgB,CAAC;YAC5E,MAAM,mBAAmB,GAAG,IAAI,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,YAAY,CAAC;YACnG,IAAI,mBAAmB,KAAK,SAAS;gBAAE,QAAQ,CAAC,cAAc,GAAG,mBAAmB,CAAC;YACrF,MAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YAC7E,IAAI,aAAa,KAAK,SAAS;gBAAE,QAAQ,CAAC,QAAQ,GAAG,aAAa,CAAC;YACnE,OAAO,MAAM,cAAc,CAAC,MAAM,EAAE,kCAAkC,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;QACzF,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,kDAAkD;YAClD,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;4BACnB,OAAO,EAAE,KAAK;4BACd,UAAU,EAAE,GAAG;4BACf,IAAI,EAAE,IAAI;4BACV,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,mBAAmB;4BACrE,KAAK,EAAE,eAAe;yBACvB,EAAE,IAAI,EAAE,CAAC,CAAC;qBACZ;iBACF;gBACD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC;CACF,CAAC;AAGF,MAAM,yCAAyC,GAAG;IAChD,MAAM,EAAE,QAAQ;IAChB,YAAY,EAAE;QACZ,aAAa,EAAE;YACb,MAAM,EAAE,QAAQ;YAChB,aAAa,EAAE,6BAA6B;YAC5C,SAAS,EAAE,cAAc;SAC1B;QACD,gBAAgB,EAAE;YAChB,MAAM,EAAE,QAAQ;YAChB,aAAa,EAAE,gCAAgC;YAC/C,SAAS,EAAE,YAAY;SACxB;QACD,aAAa,EAAE;YACb,MAAM,EAAE,QAAQ;YAChB,aAAa,EAAE,6BAA6B;YAC5C,SAAS,EAAE,KAAK;SACjB;QACD,MAAM,EAAE;YACN,MAAM,EAAE,QAAQ;YAChB,aAAa,EAAE,sBAAsB;YACrC,SAAS,EAAE,0BAA0B;SACtC;QACD,IAAI,EAAE;YACJ,MAAM,EAAE,QAAQ;YAChB,aAAa,EAAE,oBAAoB;YACnC,SAAS,EAAE,0BAA0B;SACtC;KACF;IACD,UAAU,EAAE,EAAE;CACf,CAAC;AACF,MAAM,wCAAwC,GAAG,CAAC,CAAC,MAAM,CAAC;IACtD,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6BAA6B,CAAC;IAC1E,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;IAChF,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6BAA6B,CAAC;IAC1E,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC;IAC5D,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oBAAoB,CAAC;IACxD,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yCAAyC,CAAC;CACrF,CAAC,CAAC;AAEL,0CAA0C;AAC1C,MAAM,CAAC,MAAM,8BAA8B,GAAS;IAClD,IAAI,EAAE,4BAA4B;IAClC,WAAW,EAAE,qtDAAqtD;IACluD,WAAW,EAAE,wCAAwC;IACrD,UAAU,EAAE,yCAAyC;IACrD,QAAQ,EAAE,6BAA6B;IACvC,MAAM,EAAE,MAAM;IACd,UAAU,EAAE,EAAE;IACd,OAAO,EAAE,CAAC,EAAC,KAAK,EAAC,eAAe,EAAC,OAAO,EAAC,kBAAkB,EAAC,EAAC,EAAC,KAAK,EAAC,aAAa,EAAC,OAAO,EAAC,cAAc,EAAC,EAAC,EAAC,KAAK,EAAC,cAAc,EAAC,OAAO,EAAC,kBAAkB,EAAC,CAAC;IAC5J,OAAO,EAAE,KAAK,EAAE,OAAY,EAAE,EAAE;QAC9B,IAAI,CAAC;YACH,MAAM,cAAc,GAAG,OAAO,IAAI,EAAE,CAAC;YACrC,MAAM,cAAc,GAAG,iBAAiB,CAAC,wCAAwC,EAAE,cAAc,CAAC,CAAC;YACnG,MAAM,IAAI,GAAG,cAAc,CAAC;YAC5B,MAAM,QAAQ,GAAQ,EAAE,CAAC;YAC/B,MAAM,gBAAgB,GAAG,IAAI,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,cAAc,CAAC;YAC5F,IAAI,gBAAgB,KAAK,SAAS;gBAAE,QAAQ,CAAC,WAAW,GAAG,gBAAgB,CAAC;YAC5E,MAAM,mBAAmB,GAAG,IAAI,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,YAAY,CAAC;YACnG,IAAI,mBAAmB,KAAK,SAAS;gBAAE,QAAQ,CAAC,cAAc,GAAG,mBAAmB,CAAC;YACrF,MAAM,gBAAgB,GAAG,IAAI,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC;YACnF,IAAI,gBAAgB,KAAK,SAAS;gBAAE,QAAQ,CAAC,WAAW,GAAG,gBAAgB,CAAC;YAC5E,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,0BAA0B,CAAC;YACnF,IAAI,SAAS,KAAK,SAAS;gBAAE,QAAQ,CAAC,IAAI,GAAG,SAAS,CAAC;YACvD,MAAM,OAAO,GAAG,IAAI,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,0BAA0B,CAAC;YAC7E,IAAI,OAAO,KAAK,SAAS;gBAAE,QAAQ,CAAC,EAAE,GAAG,OAAO,CAAC;YACjD,OAAO,MAAM,cAAc,CAAC,MAAM,EAAE,6BAA6B,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;QACpF,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,kDAAkD;YAClD,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;4BACnB,OAAO,EAAE,KAAK;4BACd,UAAU,EAAE,GAAG;4BACf,IAAI,EAAE,IAAI;4BACV,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,mBAAmB;4BACrE,KAAK,EAAE,eAAe;yBACvB,EAAE,IAAI,EAAE,CAAC,CAAC;qBACZ;iBACF;gBACD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC;CACF,CAAC;AAGF,MAAM,gCAAgC,GAAG;IACvC,MAAM,EAAE,QAAQ;IAChB,YAAY,EAAE;QACZ,aAAa,EAAE;YACb,MAAM,EAAE,QAAQ;YAChB,aAAa,EAAE,6BAA6B;YAC5C,SAAS,EAAE,cAAc;SAC1B;QACD,gBAAgB,EAAE;YAChB,MAAM,EAAE,QAAQ;YAChB,aAAa,EAAE,gCAAgC;YAC/C,SAAS,EAAE,YAAY;SACxB;QACD,MAAM,EAAE;YACN,MAAM,EAAE,QAAQ;YAChB,aAAa,EAAE,sBAAsB;YACrC,SAAS,EAAE,CAAC;SACb;QACD,OAAO,EAAE;YACP,MAAM,EAAE,QAAQ;YAChB,aAAa,EAAE,uBAAuB;YACtC,SAAS,EAAE,EAAE;SACd;QACD,QAAQ,EAAE;YACR,MAAM,EAAE,OAAO;YACf,aAAa,EAAE,wBAAwB;YACvC,SAAS,EAAE;gBACT,WAAW;aACZ;SACF;KACF;IACD,UAAU,EAAE,EAAE;CACf,CAAC;AACF,MAAM,+BAA+B,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6BAA6B,CAAC;IAC1E,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;IAChF,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC;IAC5D,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC;IAC9D,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAC;IACtE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yCAAyC,CAAC;CACrF,CAAC,CAAC;AAEL,iCAAiC;AACjC,MAAM,CAAC,MAAM,qBAAqB,GAAS;IACzC,IAAI,EAAE,mBAAmB;IACzB,WAAW,EAAE,2mDAA2mD;IACxnD,WAAW,EAAE,+BAA+B;IAC5C,UAAU,EAAE,gCAAgC;IAC5C,QAAQ,EAAE,oBAAoB;IAC9B,MAAM,EAAE,MAAM;IACd,UAAU,EAAE,EAAE;IACd,OAAO,EAAE,CAAC,EAAC,KAAK,EAAC,eAAe,EAAC,OAAO,EAAC,kBAAkB,EAAC,EAAC,EAAC,KAAK,EAAC,aAAa,EAAC,OAAO,EAAC,cAAc,EAAC,EAAC,EAAC,KAAK,EAAC,cAAc,EAAC,OAAO,EAAC,kBAAkB,EAAC,CAAC;IAC5J,OAAO,EAAE,KAAK,EAAE,OAAY,EAAE,EAAE;QAC9B,IAAI,CAAC;YACH,MAAM,cAAc,GAAG,OAAO,IAAI,EAAE,CAAC;YACrC,MAAM,cAAc,GAAG,iBAAiB,CAAC,+BAA+B,EAAE,cAAc,CAAC,CAAC;YAC1F,MAAM,IAAI,GAAG,cAAc,CAAC;YAC5B,MAAM,QAAQ,GAAQ,EAAE,CAAC;YAC/B,MAAM,gBAAgB,GAAG,IAAI,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,cAAc,CAAC;YAC5F,IAAI,gBAAgB,KAAK,SAAS;gBAAE,QAAQ,CAAC,WAAW,GAAG,gBAAgB,CAAC;YAC5E,MAAM,mBAAmB,GAAG,IAAI,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,YAAY,CAAC;YACnG,IAAI,mBAAmB,KAAK,SAAS;gBAAE,QAAQ,CAAC,cAAc,GAAG,mBAAmB,CAAC;YACrF,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1D,IAAI,SAAS,KAAK,SAAS;gBAAE,QAAQ,CAAC,IAAI,GAAG,SAAS,CAAC;YACvD,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9D,IAAI,UAAU,KAAK,SAAS;gBAAE,QAAQ,CAAC,KAAK,GAAG,UAAU,CAAC;YAC1D,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;YAC5E,IAAI,WAAW,KAAK,SAAS;gBAAE,QAAQ,CAAC,MAAM,GAAG,WAAW,CAAC;YAC7D,OAAO,MAAM,cAAc,CAAC,MAAM,EAAE,oBAAoB,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;QAC3E,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,kDAAkD;YAClD,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;4BACnB,OAAO,EAAE,KAAK;4BACd,UAAU,EAAE,GAAG;4BACf,IAAI,EAAE,IAAI;4BACV,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,mBAAmB;4BACrE,KAAK,EAAE,eAAe;yBACvB,EAAE,IAAI,EAAE,CAAC,CAAC;qBACZ;iBACF;gBACD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC;CACF,CAAC;AAGF,MAAM,kCAAkC,GAAG;IACzC,MAAM,EAAE,QAAQ;IAChB,YAAY,EAAE,EAAE;IAChB,UAAU,EAAE,EAAE;CACf,CAAC;AACF,MAAM,iCAAiC,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/C,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yCAAyC,CAAC;CACrF,CAAC,CAAC;AAEL,mCAAmC;AACnC,MAAM,CAAC,MAAM,uBAAuB,GAAS;IAC3C,IAAI,EAAE,qBAAqB;IAC3B,WAAW,EAAE,4pLAA4pL;IACzqL,WAAW,EAAE,iCAAiC;IAC9C,UAAU,EAAE,kCAAkC;IAC9C,QAAQ,EAAE,4BAA4B;IACtC,MAAM,EAAE,KAAK;IACb,UAAU,EAAE,EAAE;IACd,OAAO,EAAE,EAAE;IACX,OAAO,EAAE,KAAK,EAAE,OAAY,EAAE,EAAE;QAC9B,IAAI,CAAC;YACH,MAAM,cAAc,GAAG,OAAO,IAAI,EAAE,CAAC;YACrC,MAAM,cAAc,GAAG,iBAAiB,CAAC,iCAAiC,EAAE,cAAc,CAAC,CAAC;YAC5F,MAAM,IAAI,GAAG,cAAc,CAAC;YAC5B,OAAO,MAAM,cAAc,CAAC,KAAK,EAAE,4BAA4B,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;QACzF,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,kDAAkD;YAClD,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;4BACnB,OAAO,EAAE,KAAK;4BACd,UAAU,EAAE,GAAG;4BACf,IAAI,EAAE,IAAI;4BACV,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,mBAAmB;4BACrE,KAAK,EAAE,eAAe;yBACvB,EAAE,IAAI,EAAE,CAAC,CAAC;qBACZ;iBACF;gBACD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC;CACF,CAAC;AAIF,8CAA8C;AAC9C,MAAM,CAAC,MAAM,KAAK,GAAW;IAC3B,uBAAuB;IACvB,iCAAiC;IACjC,UAAU;IACV,uBAAuB;IACvB,gCAAgC;IAChC,0BAA0B;IAC1B,2BAA2B;IAC3B,2BAA2B;IAC3B,4BAA4B;IAC5B,sBAAsB;IACtB,2BAA2B;IAC3B,+BAA+B;IAC/B,0BAA0B;IAC1B,qBAAqB;IACrB,mBAAmB;IACnB,0BAA0B;IAC1B,6BAA6B;IAC7B,mCAAmC;IACnC,8BAA8B;IAC9B,qBAAqB;IACrB,uBAAuB;CACxB,CAAC;AAIF,wCAAwC;AACxC,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,IAAI,EAAE,0BAA0B;IAChC,WAAW,EAAE,sCAAsC;IACnD,OAAO,EAAE,OAAO;IAChB,KAAK,EAAE,EAAE;CACV,CAAC;AAEF,uDAAuD;AACvD,MAAM,UAAU,YAAY;IAC1B,OAAO;QACL,GAAG,WAAW;QACd,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACxB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,WAAW,EAAE,IAAI,CAAC,UAAU;SAC7B,CAAC,CAAC;KACJ,CAAC;AACJ,CAAC;AAKD,oDAAoD;AACpD,MAAM,UAAU,iBAAiB,CAAC,SAAuB,EAAE,KAAU;IACnE,IAAI,CAAC;QACH,OAAO,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,CAAC,CAAC,QAAQ,EAAE,CAAC;YAChC,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC5F,MAAM,IAAI,KAAK,CAAC,uBAAuB,MAAM,EAAE,CAAC,CAAC;QACnD,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAKD,2CAA2C;AAC3C,MAAM,OAAO,UAAU;IACb,QAAQ,CAAS;IACjB,SAAS,CAAS;IAE1B,YAAY,QAAgB;QAC1B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC9B,CAAC;IAED,QAAQ,CAAC,IAAS;QAChB,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,QAAQ,WAAW,EAAE;YACrE,IAAI,EAAE,IAAI,CAAC,QAAQ;YACnB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;YAC1B,SAAS,EAAE,IAAI,CAAC,SAAS;SAC1B,CAAC,CAAC;IACL,CAAC;IAED,UAAU,CAAC,MAAW;QACpB,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC;QAC7C,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,QAAQ,0BAA0B,EAAE;YACpF,IAAI,EAAE,IAAI,CAAC,QAAQ;YACnB,QAAQ,EAAE,GAAG,QAAQ,IAAI;YACzB,UAAU,EAAE,MAAM,EAAE,UAAU;SAC/B,CAAC,CAAC;IACL,CAAC;IAED,QAAQ,CAAC,KAAU;QACjB,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC;QAC7C,OAAO,CAAC,KAAK,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,QAAQ,QAAQ,EAAE;YACpE,IAAI,EAAE,IAAI,CAAC,QAAQ;YACnB,QAAQ,EAAE,GAAG,QAAQ,IAAI;YACzB,KAAK,EAAE,KAAK,EAAE,OAAO,IAAI,KAAK;SAC/B,CAAC,CAAC;IACL,CAAC;CACF"}
|
package/dist/index.js
CHANGED
|
@@ -11,7 +11,7 @@ import { appConfig as config } from './config.js';
|
|
|
11
11
|
const mode = process.argv.includes('--http') || process.env.MCP_MODE === 'http' ? 'http' : 'stdio';
|
|
12
12
|
const server = new McpServer({
|
|
13
13
|
name: 'products-payment-refacil-mcp',
|
|
14
|
-
version: '1.2.
|
|
14
|
+
version: '1.2.9'
|
|
15
15
|
});
|
|
16
16
|
// Nota para LLMs: 🔐 Autenticación automática y configuración de servidor
|
|
17
17
|
// - Todas las credenciales (secretId, apiToken, tokens) se manejan automáticamente desde la configuración del servidor.
|
|
@@ -145,7 +145,7 @@ else if (mode === 'http') {
|
|
|
145
145
|
return {
|
|
146
146
|
name: 'products-payment-refacil-mcp',
|
|
147
147
|
description: 'MCP API for Products Payment Refacil',
|
|
148
|
-
version: '1.2.
|
|
148
|
+
version: '1.2.9',
|
|
149
149
|
tools: tools.map(tool => ({
|
|
150
150
|
name: tool.name,
|
|
151
151
|
description: tool.description
|