2025-07-24 16:55:26,259 - __main__:28 - INFO - Servidor corriendo en http://localhost:6001 2025-07-24 16:55:26,259 - __main__:32 - INFO - Datos del asistente cargados desde: /home/superti/workspace/pedidos_express/data/llm_data.json 2025-07-24 16:55:26,260 - routes.orders:67 - INFO - Starting order thread 2025-07-24 16:55:44,638 - routes.orders:21 - INFO - Printer order received 2025-07-24 16:55:44,638 - routes.orders:22 - INFO - customerName='' items=[ItemWeb(id=163, name='Hoppy Mosh', quantity=1, price=6500.0, itemTotal=6500.0), ItemWeb(id=15, name='Bendicion Gitana', quantity=1, price=5000.0, itemTotal=5000.0)] totalAmount=11500.0 orderDate='2025-07-24T16:55:44' table=12 2025-07-24 16:55:44,649 - routes.orders:25 - ERROR - Printer is not connected. 2025-07-24 16:56:42,340 - __main__:28 - INFO - Servidor corriendo en http://localhost:6001 2025-07-24 16:56:42,340 - __main__:32 - INFO - Datos del asistente cargados desde: /home/superti/workspace/pedidos_express/data/llm_data.json 2025-07-24 16:56:42,341 - routes.orders:67 - INFO - Starting order thread 2025-07-24 16:56:53,097 - routes.products:9 - INFO - Fetching all products 2025-07-24 16:56:53,112 - routes.chat:15 - INFO - App initialized from client: 127.0.0.1 2025-07-24 16:56:57,804 - routes.products:9 - INFO - Fetching all products 2025-07-24 16:56:57,808 - routes.chat:15 - INFO - App initialized from client: 127.0.0.1 2025-07-24 16:57:03,006 - routes.orders:21 - INFO - Printer order received 2025-07-24 16:57:03,006 - routes.orders:22 - INFO - customerName='' items=[ItemWeb(id=15, name='Bendicion Gitana', quantity=1, price=5000.0, itemTotal=5000.0)] totalAmount=5000.0 orderDate='2025-07-24T16:57:03' table=12 2025-07-24 16:57:03,020 - routes.orders:25 - ERROR - Printer is not connected. 2025-07-24 16:58:58,279 - main:28 - INFO - Servidor corriendo en http://localhost:6001 2025-07-24 16:58:58,279 - main:32 - INFO - Datos del asistente cargados desde: /home/superti/workspace/pedidos_express/data/llm_data.json 2025-07-24 16:58:58,279 - routes.orders:67 - INFO - Starting order thread 2025-07-24 16:59:01,287 - routes.orders:21 - INFO - Printer order received 2025-07-24 16:59:01,287 - routes.orders:22 - INFO - customerName='' items=[ItemWeb(id=15, name='Bendicion Gitana', quantity=1, price=5000.0, itemTotal=5000.0)] totalAmount=5000.0 orderDate='2025-07-24T16:59:01' table=12 2025-07-24 16:59:01,290 - fudo.fudo:42 - INFO - Token obtenido desde Redis cache 2025-07-24 16:59:02,284 - routes.orders:71 - INFO - Processing order: Orden de 24/07/2025 [] Total: 5000.0 2025-07-24 16:59:02,293 - routes.orders:81 - ERROR - Error printing order: Device not found (Unable to open USB printer on (4070, 33054): USB device not found (Device (4070, 33054) not found or cable not plugged in.)) 2025-07-24 16:59:44,706 - main:28 - INFO - Servidor corriendo en http://localhost:6001 2025-07-24 16:59:44,707 - main:32 - INFO - Datos del asistente cargados desde: /home/superti/workspace/pedidos_express/data/llm_data.json 2025-07-24 16:59:44,707 - routes.orders:67 - INFO - Starting order thread 2025-07-24 16:59:54,367 - routes.orders:21 - INFO - Printer order received 2025-07-24 16:59:54,367 - routes.orders:22 - INFO - customerName='' items=[ItemWeb(id=163, name='Hoppy Mosh', quantity=1, price=6500.0, itemTotal=6500.0), ItemWeb(id=15, name='Bendicion Gitana', quantity=1, price=5000.0, itemTotal=5000.0)] totalAmount=11500.0 orderDate='2025-07-24T16:59:54' table=12 2025-07-24 16:59:54,368 - fudo.fudo:42 - INFO - Token obtenido desde Redis cache 2025-07-24 16:59:54,368 - fudo.fudo:35 - INFO - Token obtenido desde variable global 2025-07-24 16:59:54,717 - routes.orders:71 - INFO - Processing order: Orden de 24/07/2025 [, ] Total: 11500.0 2025-07-24 16:59:54,726 - routes.orders:81 - ERROR - Error printing order: Device not found (Unable to open USB printer on (4070, 33054): USB device not found (Device (4070, 33054) not found or cable not plugged in.)) 2025-07-24 17:04:35,588 - main:28 - INFO - Servidor corriendo en http://localhost:6001 2025-07-24 17:04:35,588 - main:32 - INFO - Datos del asistente cargados desde: /home/superti/workspace/pedidos_express/data/llm_data.json 2025-07-24 17:04:35,588 - routes.orders:67 - INFO - Starting order thread 2025-07-24 17:04:41,659 - routes.products:9 - INFO - Fetching all products 2025-07-24 17:04:41,684 - routes.chat:15 - INFO - App initialized from client: 127.0.0.1 2025-07-24 17:04:48,549 - routes.products:9 - INFO - Fetching all products 2025-07-24 17:04:48,562 - routes.chat:15 - INFO - App initialized from client: 127.0.0.1 2025-07-24 17:04:53,199 - routes.orders:21 - INFO - Printer order received 2025-07-24 17:04:53,199 - routes.orders:22 - INFO - customerName='' items=[ItemWeb(id=163, name='Hoppy Mosh', quantity=1, price=6500.0, itemTotal=6500.0)] totalAmount=6500.0 orderDate='2025-07-24T17:04:53' table=12 2025-07-24 17:04:53,214 - impresora.printer:87 - ERROR - Printer is not connected on USB port 4070:33054. 2025-07-24 17:04:53,214 - routes.orders:25 - ERROR - Printer is not connected. 2025-07-24 17:05:46,295 - main:28 - INFO - Servidor corriendo en http://localhost:6001 2025-07-24 17:05:46,295 - main:32 - INFO - Datos del asistente cargados desde: /home/superti/workspace/pedidos_express/data/llm_data.json 2025-07-24 17:05:46,295 - routes.orders:67 - INFO - Starting order thread 2025-07-24 17:05:51,230 - routes.orders:21 - INFO - Printer order received 2025-07-24 17:05:51,230 - routes.orders:22 - INFO - customerName='' items=[ItemWeb(id=163, name='Hoppy Mosh', quantity=1, price=6500.0, itemTotal=6500.0)] totalAmount=6500.0 orderDate='2025-07-24T17:05:51' table=12 2025-07-24 17:05:51,241 - impresora.printer:87 - ERROR - Printer is not connected on USB port 4070:33054. 2025-07-24 17:05:51,241 - routes.orders:25 - ERROR - Printer is not connected. 2025-07-24 17:09:38,842 - main:28 - INFO - Servidor corriendo en http://localhost:6001 2025-07-24 17:09:38,842 - main:32 - INFO - Datos del asistente cargados desde: /home/superti/workspace/pedidos_express/data/llm_data.json 2025-07-24 17:09:38,842 - routes.orders:71 - INFO - Starting order thread 2025-07-24 17:09:55,095 - routes.orders:22 - INFO - Printer order received 2025-07-24 17:09:55,095 - routes.orders:23 - INFO - customerName='' items=[ItemWeb(id=163, name='Hoppy Mosh', quantity=1, price=6500.0, itemTotal=6500.0)] totalAmount=6500.0 orderDate='2025-07-24T17:09:55' table=12 2025-07-24 17:09:55,109 - impresora.printer:89 - ERROR - Printer is not connected on USB port 4070:33054. 2025-07-24 17:09:55,109 - routes.orders:26 - ERROR - Printer is not connected. 2025-07-24 17:09:55,110 - routes.orders:30 - ERROR - Email sent to admin about printer issue. 2025-07-24 17:17:15,952 - main:28 - INFO - Servidor corriendo en http://localhost:6001 2025-07-24 17:17:15,952 - main:32 - INFO - Datos del asistente cargados desde: /home/superti/workspace/pedidos_express/data/llm_data.json 2025-07-24 17:17:15,952 - routes.orders:71 - INFO - Starting order thread 2025-07-24 17:17:15,953 - routes.orders:73 - INFO - Current printer orders: [] 2025-07-24 17:17:16,954 - routes.orders:73 - INFO - Current printer orders: [] 2025-07-24 17:17:17,956 - routes.orders:73 - INFO - Current printer orders: [] 2025-07-24 17:17:18,957 - routes.orders:73 - INFO - Current printer orders: [] 2025-07-24 17:17:19,958 - routes.orders:73 - INFO - Current printer orders: [] 2025-07-24 17:17:20,959 - routes.orders:73 - INFO - Current printer orders: [] 2025-07-24 17:17:21,960 - routes.orders:73 - INFO - Current printer orders: [] 2025-07-24 17:17:22,961 - routes.orders:73 - INFO - Current printer orders: [] 2025-07-25 16:32:10,306 - services.data_service:823 - INFO - Base de datos ya existe, no se necesita inicializar. 2025-07-25 16:32:10,306 - main:31 - INFO - Servidor corriendo en http://localhost:6001 2025-07-25 16:32:10,306 - main:35 - INFO - Datos del asistente cargados desde: /home/superti/workspace/pedidos_express/data/llm_data.json 2025-07-25 16:32:10,306 - routes.orders:71 - INFO - Starting order thread 2025-07-25 16:34:50,855 - services.data_service:839 - INFO - Base de datos ya existe, no se necesita inicializar. 2025-07-25 16:34:50,855 - main:31 - INFO - Servidor corriendo en http://localhost:6001 2025-07-25 16:34:50,855 - main:35 - INFO - Datos del asistente cargados desde: /home/superti/workspace/pedidos_express/data/llm_data.json 2025-07-25 16:34:50,855 - routes.orders:71 - INFO - Starting order thread 2025-07-25 16:35:26,120 - services.data_service:839 - INFO - Base de datos ya existe, no se necesita inicializar. 2025-07-25 16:35:26,120 - main:31 - INFO - Servidor corriendo en http://localhost:6001 2025-07-25 16:35:26,120 - main:35 - INFO - Datos del asistente cargados desde: /home/superti/workspace/pedidos_express/data/llm_data.json 2025-07-25 16:35:26,120 - routes.orders:71 - INFO - Starting order thread 2025-07-25 16:35:49,468 - services.data_service:843 - INFO - Inicializando base de datos... 2025-07-25 16:35:49,468 - services.data_service:844 - INFO - Creando tabla de usuarios... 2025-07-25 16:35:49,477 - services.data_service:856 - INFO - Creando tabla de productos... 2025-07-25 16:35:49,485 - services.data_service:869 - INFO - Creando tabla de ventas... 2025-07-25 16:35:49,492 - services.data_service:882 - INFO - Creando tabla intermedia de venta_productos... 2025-07-25 16:35:49,501 - services.data_service:893 - INFO - Creando tabla de blacklist... 2025-07-25 16:35:49,509 - services.data_service:902 - INFO - Todas las tablas creadas correctamente. 2025-07-25 16:35:49,509 - services.data_service:903 - INFO - Cargando datos de productos desde el archivo JSON... 2025-07-25 16:36:49,998 - services.data_service:843 - INFO - Inicializando base de datos... 2025-07-25 16:36:49,998 - services.data_service:844 - INFO - Creando tabla de usuarios... 2025-07-25 16:36:50,006 - services.data_service:856 - INFO - Creando tabla de productos... 2025-07-25 16:36:50,014 - services.data_service:869 - INFO - Creando tabla de ventas... 2025-07-25 16:36:50,022 - services.data_service:882 - INFO - Creando tabla intermedia de venta_productos... 2025-07-25 16:36:50,031 - services.data_service:893 - INFO - Creando tabla de blacklist... 2025-07-25 16:36:50,039 - services.data_service:902 - INFO - Todas las tablas creadas correctamente. 2025-07-25 16:36:50,039 - services.data_service:903 - INFO - Cargando datos de productos desde el archivo JSON... 2025-07-25 16:36:50,048 - services.data_service:386 - INFO - Product added with ID: 1 2025-07-25 16:36:50,057 - services.data_service:386 - INFO - Product added with ID: 2 2025-07-25 16:36:50,065 - services.data_service:386 - INFO - Product added with ID: 3 2025-07-25 16:36:50,074 - services.data_service:386 - INFO - Product added with ID: 4 2025-07-25 16:36:50,082 - services.data_service:386 - INFO - Product added with ID: 5 2025-07-25 16:36:50,091 - services.data_service:386 - INFO - Product added with ID: 6 2025-07-25 16:36:50,099 - services.data_service:386 - INFO - Product added with ID: 7 2025-07-25 16:36:50,099 - services.data_service:911 - INFO - Base de datos inicializada correctamente. 2025-07-25 16:36:50,099 - main:31 - INFO - Servidor corriendo en http://localhost:6001 2025-07-25 16:36:50,100 - main:35 - INFO - Datos del asistente cargados desde: /home/superti/workspace/pedidos_express/data/llm_data.json 2025-07-25 16:36:50,100 - routes.orders:71 - INFO - Starting order thread 2025-07-25 16:38:15,942 - services.data_service:844 - INFO - Inicializando base de datos... 2025-07-25 16:38:15,942 - services.data_service:845 - INFO - Creando tabla de usuarios... 2025-07-25 16:38:15,959 - services.data_service:857 - INFO - Creando tabla de productos... 2025-07-25 16:38:15,966 - services.data_service:870 - INFO - Creando tabla de ventas... 2025-07-25 16:38:15,974 - services.data_service:883 - INFO - Creando tabla intermedia de venta_productos... 2025-07-25 16:38:15,981 - services.data_service:894 - INFO - Creando tabla de blacklist... 2025-07-25 16:38:15,989 - services.data_service:903 - INFO - Todas las tablas creadas correctamente. 2025-07-25 16:38:15,990 - services.data_service:904 - INFO - Cargando datos de productos desde el archivo JSON... 2025-07-25 16:38:15,990 - services.data_service:392 - ERROR - Failed to add product: Incorrect number of bindings supplied. The current statement uses 6, and there are 5 supplied. 2025-07-25 16:38:15,990 - services.data_service:392 - ERROR - Failed to add product: Incorrect number of bindings supplied. The current statement uses 6, and there are 5 supplied. 2025-07-25 16:38:15,990 - services.data_service:392 - ERROR - Failed to add product: Incorrect number of bindings supplied. The current statement uses 6, and there are 5 supplied. 2025-07-25 16:38:15,990 - services.data_service:392 - ERROR - Failed to add product: Incorrect number of bindings supplied. The current statement uses 6, and there are 5 supplied. 2025-07-25 16:38:15,990 - services.data_service:392 - ERROR - Failed to add product: Incorrect number of bindings supplied. The current statement uses 6, and there are 5 supplied. 2025-07-25 16:38:15,990 - services.data_service:392 - ERROR - Failed to add product: Incorrect number of bindings supplied. The current statement uses 6, and there are 5 supplied. 2025-07-25 16:38:15,990 - services.data_service:392 - ERROR - Failed to add product: Incorrect number of bindings supplied. The current statement uses 6, and there are 5 supplied. 2025-07-25 16:38:15,990 - services.data_service:912 - INFO - Base de datos inicializada correctamente. 2025-07-25 16:38:15,991 - main:31 - INFO - Servidor corriendo en http://localhost:6001 2025-07-25 16:38:15,991 - main:35 - INFO - Datos del asistente cargados desde: /home/superti/workspace/pedidos_express/data/llm_data.json 2025-07-25 16:38:15,991 - routes.orders:71 - INFO - Starting order thread 2025-07-25 16:39:11,533 - services.data_service:844 - INFO - Inicializando base de datos... 2025-07-25 16:39:11,533 - services.data_service:845 - INFO - Creando tabla de usuarios... 2025-07-25 16:39:11,542 - services.data_service:857 - INFO - Creando tabla de productos... 2025-07-25 16:39:11,550 - services.data_service:870 - INFO - Creando tabla de ventas... 2025-07-25 16:39:11,558 - services.data_service:883 - INFO - Creando tabla intermedia de venta_productos... 2025-07-25 16:39:11,566 - services.data_service:894 - INFO - Creando tabla de blacklist... 2025-07-25 16:39:11,574 - services.data_service:903 - INFO - Todas las tablas creadas correctamente. 2025-07-25 16:39:11,574 - services.data_service:904 - INFO - Cargando datos de productos desde el archivo JSON... 2025-07-25 16:39:11,582 - services.data_service:386 - INFO - Product added with ID: 6 2025-07-25 16:39:11,589 - services.data_service:386 - INFO - Product added with ID: 15 2025-07-25 16:39:11,598 - services.data_service:386 - INFO - Product added with ID: 163 2025-07-25 16:39:11,606 - services.data_service:386 - INFO - Product added with ID: 12 2025-07-25 16:39:11,614 - services.data_service:386 - INFO - Product added with ID: 665 2025-07-25 16:39:11,622 - services.data_service:386 - INFO - Product added with ID: 1 2025-07-25 16:39:11,630 - services.data_service:386 - INFO - Product added with ID: 655 2025-07-25 16:39:11,630 - services.data_service:912 - INFO - Base de datos inicializada correctamente. 2025-07-25 16:39:11,630 - main:31 - INFO - Servidor corriendo en http://localhost:6001 2025-07-25 16:39:11,630 - main:35 - INFO - Datos del asistente cargados desde: /home/superti/workspace/pedidos_express/data/llm_data.json 2025-07-25 16:39:11,630 - routes.orders:71 - INFO - Starting order thread 2025-07-25 16:39:31,550 - routes.products:12 - INFO - Fetching all products 2025-07-25 16:39:31,575 - routes.chat:14 - INFO - App initialized from client: 127.0.0.1 2025-07-25 16:39:31,575 - routes.chat:20 - INFO - Generated new antiAbuseToken for session: 8460fcd03575783b83364d8ab484e65f23f78ec383837797fd5bcf02cb056ca1 2025-07-25 16:39:39,410 - routes.products:12 - INFO - Fetching all products 2025-07-25 16:39:39,427 - routes.chat:14 - INFO - App initialized from client: 127.0.0.1 2025-07-25 17:37:49,021 - services.data_service:838 - INFO - Base de datos ya existe, no se necesita inicializar. 2025-07-25 17:37:49,022 - main:31 - INFO - Servidor corriendo en http://localhost:6001 2025-07-25 17:37:49,022 - main:35 - INFO - Datos del asistente cargados desde: /home/superti/workspace/pedidos_express/data/llm_data.json 2025-07-25 17:37:49,022 - routes.orders:77 - INFO - Starting order thread 2025-07-25 17:41:39,597 - routes.products:22 - INFO - Fetching all products (legacy endpoint) 2025-07-25 17:41:43,503 - routes.products:22 - INFO - Fetching all products (legacy endpoint) 2025-07-25 17:41:57,745 - services.data_service:838 - INFO - Base de datos ya existe, no se necesita inicializar. 2025-07-25 17:41:57,745 - main:31 - INFO - Servidor corriendo en http://localhost:6001 2025-07-25 17:41:57,745 - main:35 - INFO - Datos del asistente cargados desde: /home/superti/workspace/pedidos_express/data/llm_data.json 2025-07-25 17:41:57,745 - routes.orders:72 - INFO - Starting order thread 2025-07-25 17:46:34,118 - services.data_service:838 - INFO - Base de datos ya existe, no se necesita inicializar. 2025-07-25 17:46:34,118 - main:31 - INFO - Servidor corriendo en http://localhost:6001 2025-07-25 17:46:34,118 - main:35 - INFO - Datos del asistente cargados desde: /home/superti/workspace/pedidos_express/data/llm_data.json 2025-07-25 17:46:34,118 - routes.orders:72 - INFO - Starting order thread 2025-07-25 17:46:56,045 - auth.security:39 - WARNING - Invalid token attempt. Expected: 8460fcd03575783b83364d8ab484e65f23f78ec383837797fd5bcf02cb056ca1, Received: undefined 2025-07-25 17:47:36,623 - services.data_service:838 - INFO - Base de datos ya existe, no se necesita inicializar. 2025-07-25 17:47:36,623 - main:31 - INFO - Servidor corriendo en http://localhost:6001 2025-07-25 17:47:36,623 - main:35 - INFO - Datos del asistente cargados desde: /home/superti/workspace/pedidos_express/data/llm_data.json 2025-07-25 17:47:36,623 - routes.orders:72 - INFO - Starting order thread 2025-07-25 17:47:44,441 - auth.security:39 - WARNING - Invalid token attempt. Expected: 8460fcd03575783b83364d8ab484e65f23f78ec383837797fd5bcf02cb056ca1, Received: null 2025-07-25 17:49:04,848 - services.data_service:838 - INFO - Base de datos ya existe, no se necesita inicializar. 2025-07-25 17:49:04,848 - main:31 - INFO - Servidor corriendo en http://localhost:6001 2025-07-25 17:49:04,848 - main:35 - INFO - Datos del asistente cargados desde: /home/superti/workspace/pedidos_express/data/llm_data.json 2025-07-25 17:49:04,848 - routes.orders:72 - INFO - Starting order thread 2025-07-25 17:51:00,378 - services.data_service:838 - INFO - Base de datos ya existe, no se necesita inicializar. 2025-07-25 17:51:00,378 - main:31 - INFO - Servidor corriendo en http://localhost:6001 2025-07-25 17:51:00,378 - main:35 - INFO - Datos del asistente cargados desde: /home/superti/workspace/pedidos_express/data/llm_data.json 2025-07-25 17:51:00,379 - routes.orders:72 - INFO - Starting order thread 2025-07-25 17:51:07,072 - routes.chat:17 - INFO - App initialized from client: 127.0.0.1 2025-07-25 17:51:07,075 - routes.products:15 - INFO - Fetching all products 2025-07-25 17:51:35,668 - services.data_service:838 - INFO - Base de datos ya existe, no se necesita inicializar. 2025-07-25 17:51:35,669 - main:31 - INFO - Servidor corriendo en http://localhost:6001 2025-07-25 17:51:35,669 - main:35 - INFO - Datos del asistente cargados desde: /home/superti/workspace/pedidos_express/data/llm_data.json 2025-07-25 17:51:35,669 - routes.orders:72 - INFO - Starting order thread 2025-07-25 17:51:56,921 - routes.chat:17 - INFO - App initialized from client: 127.0.0.1 2025-07-25 17:51:56,938 - routes.products:15 - INFO - Fetching all products 2025-07-25 17:52:02,131 - services.openai_service:19 - INFO - [OpenAI Service Python] Session/Token 8460fcd03575783b83364d8ab484e65f23f78ec383837797fd5bcf02cb056ca1 sent: [{'role': 'system', 'content': '¡Hola! Soy tu asistente en Biergarten Klein. ¿Te gustaría una recomendación de nuestras cervezas artesanales?'}, {'role': 'user', 'content': 'holi'}] 2025-07-25 17:52:03,859 - httpx:1025 - INFO - HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 200 OK" 2025-07-28 13:22:25,878 - services.data_service:1102 - INFO - Base de datos ya existe, no se necesita inicializar. 2025-07-28 13:22:25,878 - main:31 - INFO - Servidor corriendo en http://localhost:6001 2025-07-28 13:22:25,878 - main:35 - INFO - Datos del asistente cargados desde: /home/superti/workspace/pedidos_express/data/llm_data.json 2025-07-28 13:22:25,879 - routes.orders:79 - INFO - Starting order thread 2025-07-28 13:22:31,175 - services.data_service:1102 - INFO - Base de datos ya existe, no se necesita inicializar. 2025-07-28 13:22:31,175 - main:31 - INFO - Servidor corriendo en http://localhost:6001 2025-07-28 13:22:31,175 - main:35 - INFO - Datos del asistente cargados desde: /home/superti/workspace/pedidos_express/data/llm_data.json 2025-07-28 13:22:31,175 - routes.orders:79 - INFO - Starting order thread 2025-07-28 13:26:05,443 - services.data_service:1102 - INFO - Base de datos ya existe, no se necesita inicializar. 2025-07-28 13:26:05,443 - main:31 - INFO - Servidor corriendo en http://localhost:6001 2025-07-28 13:26:05,443 - main:35 - INFO - Datos del asistente cargados desde: /home/superti/workspace/pedidos_express/data/llm_data.json 2025-07-28 13:26:05,443 - routes.orders:79 - INFO - Starting order thread 2025-07-28 14:11:38,388 - services.data_service:1102 - INFO - Base de datos ya existe, no se necesita inicializar. 2025-07-28 14:11:38,389 - main:31 - INFO - Servidor corriendo en http://localhost:6001 2025-07-28 14:11:38,389 - main:35 - INFO - Datos del asistente cargados desde: /home/superti/workspace/pedidos_express/data/llm_data.json 2025-07-28 14:11:38,389 - routes.orders:79 - INFO - Starting order thread 2025-07-28 14:12:23,774 - services.data_service:1108 - INFO - Inicializando base de datos... 2025-07-28 14:12:23,774 - services.data_service:1109 - INFO - Creando tabla de usuarios... 2025-07-28 14:12:23,806 - services.data_service:1123 - INFO - Creando tabla de productos... 2025-07-28 14:12:23,814 - services.data_service:1137 - INFO - Creando tabla de ventas... 2025-07-28 14:14:18,872 - services.data_service:1102 - INFO - Base de datos ya existe, no se necesita inicializar. 2025-07-28 14:14:18,872 - main:31 - INFO - Servidor corriendo en http://localhost:6001 2025-07-28 14:14:18,872 - main:35 - INFO - Datos del asistente cargados desde: /home/superti/workspace/pedidos_express/data/llm_data.json 2025-07-28 14:14:18,872 - routes.orders:79 - INFO - Starting order thread 2025-07-28 14:14:30,101 - services.data_service:1108 - INFO - Inicializando base de datos... 2025-07-28 14:14:30,101 - services.data_service:1109 - INFO - Creando tabla de usuarios... 2025-07-28 14:14:30,108 - services.data_service:1123 - INFO - Creando tabla de productos... 2025-07-28 14:14:30,116 - services.data_service:1137 - INFO - Creando tabla de ventas... 2025-07-28 14:16:41,019 - services.data_service:1108 - INFO - Inicializando base de datos... 2025-07-28 14:16:41,019 - services.data_service:1109 - INFO - Creando tabla de usuarios... 2025-07-28 14:16:41,029 - services.data_service:1123 - INFO - Creando tabla de productos... 2025-07-28 14:16:41,037 - services.data_service:1137 - INFO - Creando tabla de ventas... 2025-07-28 14:16:41,045 - services.data_service:1151 - INFO - Creando tabla intermedia de venta_productos... 2025-07-28 14:16:41,053 - services.data_service:1163 - INFO - Creando tabla de blacklist... 2025-07-28 14:16:41,062 - services.data_service:1172 - INFO - Todas las tablas creadas correctamente. 2025-07-28 14:16:41,062 - services.data_service:1173 - INFO - Cargando datos de productos desde el archivo JSON... 2025-07-28 14:16:41,070 - services.data_service:458 - INFO - Product added with ID: 6 2025-07-28 14:16:41,079 - services.data_service:458 - INFO - Product added with ID: 15 2025-07-28 14:16:41,087 - services.data_service:458 - INFO - Product added with ID: 163 2025-07-28 14:16:41,095 - services.data_service:458 - INFO - Product added with ID: 12 2025-07-28 14:16:41,103 - services.data_service:458 - INFO - Product added with ID: 665 2025-07-28 14:16:41,111 - services.data_service:458 - INFO - Product added with ID: 1 2025-07-28 14:16:41,119 - services.data_service:458 - INFO - Product added with ID: 655 2025-07-28 14:16:41,120 - services.data_service:1181 - INFO - Base de datos inicializada correctamente. 2025-07-28 14:16:41,120 - main:31 - INFO - Servidor corriendo en http://localhost:6001 2025-07-28 14:16:41,120 - main:35 - INFO - Datos del asistente cargados desde: /home/superti/workspace/pedidos_express/data/llm_data.json 2025-07-28 14:16:41,120 - routes.orders:79 - INFO - Starting order thread 2025-07-28 14:16:46,338 - services.data_service:132 - INFO - User added with ID: 1 2025-07-28 14:18:27,616 - services.data_service:1102 - INFO - Base de datos ya existe, no se necesita inicializar. 2025-07-28 14:18:27,617 - main:31 - INFO - Servidor corriendo en http://localhost:6001 2025-07-28 14:18:27,617 - main:35 - INFO - Datos del asistente cargados desde: /home/superti/workspace/pedidos_express/data/llm_data.json 2025-07-28 14:18:27,617 - routes.orders:79 - INFO - Starting order thread 2025-07-28 14:25:49,332 - services.data_service:1102 - INFO - Base de datos ya existe, no se necesita inicializar. 2025-07-28 14:25:49,332 - main:31 - INFO - Servidor corriendo en http://localhost:6001 2025-07-28 14:25:49,332 - main:35 - INFO - Datos del asistente cargados desde: /home/superti/workspace/pedidos_express/data/llm_data.json 2025-07-28 14:25:49,332 - routes.orders:79 - INFO - Starting order thread 2025-07-28 14:32:54,481 - services.data_service:208 - ERROR - Login failed: Invalid email or pin. 2025-07-28 14:34:23,135 - services.data_service:1102 - INFO - Base de datos ya existe, no se necesita inicializar. 2025-07-28 14:34:23,135 - main:31 - INFO - Servidor corriendo en http://localhost:6001 2025-07-28 14:34:23,135 - main:35 - INFO - Datos del asistente cargados desde: /home/superti/workspace/pedidos_express/data/llm_data.json 2025-07-28 14:34:23,136 - routes.orders:79 - INFO - Starting order thread 2025-07-28 14:34:25,434 - services.data_service:208 - ERROR - Login failed: Invalid email or pin. 2025-07-28 14:34:25,435 - routes.users:66 - WARNING - Failed login attempt for erwinjacimino2003@gmail.com. Attempts: 2 2025-07-28 14:34:25,435 - routes.users:67 - ERROR - Invalid email or PIN. 2025-07-28 14:35:05,964 - services.data_service:1102 - INFO - Base de datos ya existe, no se necesita inicializar. 2025-07-28 14:35:05,964 - main:31 - INFO - Servidor corriendo en http://localhost:6001 2025-07-28 14:35:05,964 - main:35 - INFO - Datos del asistente cargados desde: /home/superti/workspace/pedidos_express/data/llm_data.json 2025-07-28 14:35:05,964 - routes.orders:79 - INFO - Starting order thread 2025-07-28 14:35:08,066 - services.data_service:208 - ERROR - Login failed: Invalid email or pin. 2025-07-28 14:35:08,068 - routes.users:69 - WARNING - Failed login attempt for erwinjacimino2003@gmail.com. Attempts: 3 2025-07-28 14:35:08,068 - routes.users:70 - ERROR - Invalid email or PIN. 2025-07-28 14:37:43,789 - services.data_service:1102 - INFO - Base de datos ya existe, no se necesita inicializar. 2025-07-28 14:37:43,790 - main:31 - INFO - Servidor corriendo en http://localhost:6001 2025-07-28 14:37:43,790 - main:35 - INFO - Datos del asistente cargados desde: /home/superti/workspace/pedidos_express/data/llm_data.json 2025-07-28 14:37:43,790 - routes.orders:79 - INFO - Starting order thread 2025-07-28 14:37:51,066 - services.data_service:208 - ERROR - Login failed: Invalid email or pin. 2025-07-28 14:37:51,066 - routes.users:69 - WARNING - Failed login attempt for erwinjacimino2003@gmail.com. Attempts: 1 2025-07-28 14:37:51,067 - routes.users:70 - ERROR - Invalid email or PIN. 2025-07-28 14:38:05,680 - services.data_service:1102 - INFO - Base de datos ya existe, no se necesita inicializar. 2025-07-28 14:38:05,680 - main:31 - INFO - Servidor corriendo en http://localhost:6001 2025-07-28 14:38:05,680 - main:35 - INFO - Datos del asistente cargados desde: /home/superti/workspace/pedidos_express/data/llm_data.json 2025-07-28 14:38:05,680 - routes.orders:79 - INFO - Starting order thread 2025-07-28 14:38:07,634 - routes.users:46 - INFO - Login attempt for email: erwinjacimino2003@gmail.com 2025-07-28 14:38:07,635 - routes.users:47 - INFO - Login request: 1234 2025-07-28 14:38:07,635 - services.data_service:208 - ERROR - Login failed: Invalid email or pin. 2025-07-28 14:38:07,636 - routes.users:69 - WARNING - Failed login attempt for erwinjacimino2003@gmail.com. Attempts: 2 2025-07-28 14:38:07,636 - routes.users:70 - ERROR - Invalid email or PIN. 2025-07-28 14:40:13,330 - services.data_service:1104 - INFO - Base de datos ya existe, no se necesita inicializar. 2025-07-28 14:40:13,330 - main:31 - INFO - Servidor corriendo en http://localhost:6001 2025-07-28 14:40:13,330 - main:35 - INFO - Datos del asistente cargados desde: /home/superti/workspace/pedidos_express/data/llm_data.json 2025-07-28 14:40:13,330 - routes.orders:79 - INFO - Starting order thread 2025-07-28 14:40:41,206 - escpos.capabilities:32 - DEBUG - Using capabilities from file: /home/superti/.conda/envs/pedidos_express/lib/python3.9/site-packages/escpos/capabilities.json 2025-07-28 14:40:41,206 - escpos.capabilities:43 - DEBUG - Capabilities pickle file not found: /tmp/tmplpb03ih_/3.9.23.capabilities.pickle 2025-07-28 14:40:41,206 - escpos.capabilities:47 - DEBUG - Loading and pickling capabilities 2025-07-28 14:40:41,318 - escpos.capabilities:82 - DEBUG - Finished loading capabilities took 0.11s 2025-07-28 14:40:41,482 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'SafeConfigParser': 2025-07-28 14:40:41,482 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'NativeStringIO': 2025-07-28 14:40:41,482 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'BytesIO': 2025-07-28 14:40:41,484 - passlib.registry:296 - DEBUG - registered 'bcrypt' handler: 2025-07-28 14:40:41,488 - services.data_service:1104 - INFO - Base de datos ya existe, no se necesita inicializar. 2025-07-28 14:40:41,488 - main:31 - INFO - Servidor corriendo en http://localhost:6001 2025-07-28 14:40:41,488 - main:35 - INFO - Datos del asistente cargados desde: /home/superti/workspace/pedidos_express/data/llm_data.json 2025-07-28 14:40:41,488 - routes.orders:79 - INFO - Starting order thread 2025-07-28 14:40:52,954 - routes.users:46 - DEBUG - Login attempt for email: erwinjacimino2003@gmail.com 2025-07-28 14:40:52,954 - routes.users:47 - DEBUG - Login request: 1234 2025-07-28 14:40:52,955 - services.data_service:204 - DEBUG - Login hashed from user None 2025-07-28 14:40:52,958 - services.data_service:205 - DEBUG - Pin hashed: gAAAAABoh8Q07XP7WXYPvrXA8uWXY8_opceV3-p_LsnxwwNzj6pof50JrNzgxXfHjqldm2ML_2IRexl3kBQJSvq-R1OJ5lfTQg== 2025-07-28 14:40:52,958 - services.data_service:210 - ERROR - Login failed: Invalid email or pin. 2025-07-28 14:40:52,959 - routes.users:69 - WARNING - Failed login attempt for erwinjacimino2003@gmail.com. Attempts: 3 2025-07-28 14:40:52,959 - routes.users:70 - ERROR - Invalid email or PIN. 2025-07-28 14:41:32,987 - escpos.capabilities:32 - DEBUG - Using capabilities from file: /home/superti/.conda/envs/pedidos_express/lib/python3.9/site-packages/escpos/capabilities.json 2025-07-28 14:41:32,987 - escpos.capabilities:43 - DEBUG - Capabilities pickle file not found: /tmp/tmpxqsn4d07/3.9.23.capabilities.pickle 2025-07-28 14:41:32,987 - escpos.capabilities:47 - DEBUG - Loading and pickling capabilities 2025-07-28 14:41:33,095 - escpos.capabilities:82 - DEBUG - Finished loading capabilities took 0.11s 2025-07-28 14:41:33,263 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'SafeConfigParser': 2025-07-28 14:41:33,263 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'NativeStringIO': 2025-07-28 14:41:33,263 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'BytesIO': 2025-07-28 14:41:33,264 - passlib.registry:296 - DEBUG - registered 'bcrypt' handler: 2025-07-28 14:41:33,268 - services.data_service:1105 - INFO - Base de datos ya existe, no se necesita inicializar. 2025-07-28 14:41:33,268 - main:31 - INFO - Servidor corriendo en http://localhost:6001 2025-07-28 14:41:33,268 - main:35 - INFO - Datos del asistente cargados desde: /home/superti/workspace/pedidos_express/data/llm_data.json 2025-07-28 14:41:33,268 - routes.orders:79 - INFO - Starting order thread 2025-07-28 14:41:36,658 - routes.users:46 - DEBUG - Login attempt for email: erwinjacimino2003@gmail.com 2025-07-28 14:41:36,658 - routes.users:47 - DEBUG - Login request: 1234 2025-07-28 14:41:36,659 - services.data_service:204 - DEBUG - user: None 2025-07-28 14:41:36,659 - services.data_service:205 - DEBUG - Login hashed from user None 2025-07-28 14:41:36,660 - services.data_service:206 - DEBUG - Pin hashed: gAAAAABoh8RgtH144BTSoLZ1g3BVGTN6Ed2eik2OJ79hr6VNGedv_giLmnKpXYnGdIPVdW-Dd93JnPcjpmxgy_rT6OhCfOpz4w== 2025-07-28 14:41:36,660 - services.data_service:211 - ERROR - Login failed: Invalid email or pin. 2025-07-28 14:41:36,660 - routes.users:69 - WARNING - Failed login attempt for erwinjacimino2003@gmail.com. Attempts: 4 2025-07-28 14:41:36,660 - routes.users:70 - ERROR - Invalid email or PIN. 2025-07-28 14:42:05,506 - escpos.capabilities:32 - DEBUG - Using capabilities from file: /home/superti/.conda/envs/pedidos_express/lib/python3.9/site-packages/escpos/capabilities.json 2025-07-28 14:42:05,506 - escpos.capabilities:43 - DEBUG - Capabilities pickle file not found: /tmp/tmp8wkdhn1m/3.9.23.capabilities.pickle 2025-07-28 14:42:05,507 - escpos.capabilities:47 - DEBUG - Loading and pickling capabilities 2025-07-28 14:42:05,617 - escpos.capabilities:82 - DEBUG - Finished loading capabilities took 0.11s 2025-07-28 14:42:05,787 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'SafeConfigParser': 2025-07-28 14:42:05,787 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'NativeStringIO': 2025-07-28 14:42:05,787 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'BytesIO': 2025-07-28 14:42:05,788 - passlib.registry:296 - DEBUG - registered 'bcrypt' handler: 2025-07-28 14:42:05,793 - services.data_service:1106 - INFO - Base de datos ya existe, no se necesita inicializar. 2025-07-28 14:42:05,793 - main:31 - INFO - Servidor corriendo en http://localhost:6001 2025-07-28 14:42:05,793 - main:35 - INFO - Datos del asistente cargados desde: /home/superti/workspace/pedidos_express/data/llm_data.json 2025-07-28 14:42:05,793 - routes.orders:79 - INFO - Starting order thread 2025-07-28 14:42:10,690 - routes.users:46 - DEBUG - Login attempt for email: erwinjacimino2003@gmail.com 2025-07-28 14:42:10,690 - routes.users:47 - DEBUG - Login request: 1234 2025-07-28 14:42:10,691 - services.data_service:189 - DEBUG - get_by_email: erwinjacimino2003@gmail.com, user: None 2025-07-28 14:42:10,691 - services.data_service:205 - DEBUG - user: None 2025-07-28 14:42:10,691 - services.data_service:206 - DEBUG - Login hashed from user None 2025-07-28 14:42:10,692 - services.data_service:207 - DEBUG - Pin hashed: gAAAAABoh8SC7l81HWQqO8NFYF-hh7RtkS__mAeQraqxnYBm8kiy_zALkA_KoI-1A-g43V-FrWc0fdqPHToPOH7AM_sf2r81-g== 2025-07-28 14:42:10,692 - services.data_service:212 - ERROR - Login failed: Invalid email or pin. 2025-07-28 14:42:10,692 - routes.users:69 - WARNING - Failed login attempt for erwinjacimino2003@gmail.com. Attempts: 5 2025-07-28 14:42:10,692 - routes.users:70 - ERROR - Invalid email or PIN. 2025-07-28 14:46:14,427 - services.data_service:282 - INFO - User with ID 1 deleted. 2025-07-28 14:47:58,452 - services.data_service:132 - INFO - User added with ID: 2 2025-07-28 14:47:58,453 - auth.security:50 - DEBUG - Creating access token with data: {'sub': 'email', 'exp': datetime.datetime(2053, 3, 3, 18, 47, 58, 453117)} 2025-07-28 14:47:58,453 - auth.security:51 - DEBUG - Token expiration time: 2053-03-03 18:47:58.453117 2025-07-28 14:47:58,456 - auth.security:38 - DEBUG - Generated token for email Erwin Jacimino: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJlbWFpbCIsImV4cCI6MjYyNDY0MDQ3OH0.lShsH97efHHiSYg8358OxzTdrv5K2BJKlm4uGTwHzrY 2025-07-28 14:49:04,278 - services.data_service:282 - INFO - User with ID 2 deleted. 2025-07-28 14:49:50,642 - escpos.capabilities:32 - DEBUG - Using capabilities from file: /home/superti/.conda/envs/pedidos_express/lib/python3.9/site-packages/escpos/capabilities.json 2025-07-28 14:49:50,642 - escpos.capabilities:43 - DEBUG - Capabilities pickle file not found: /tmp/tmpnsu4bfn_/3.9.23.capabilities.pickle 2025-07-28 14:49:50,642 - escpos.capabilities:47 - DEBUG - Loading and pickling capabilities 2025-07-28 14:49:50,749 - escpos.capabilities:82 - DEBUG - Finished loading capabilities took 0.11s 2025-07-28 14:49:50,916 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'SafeConfigParser': 2025-07-28 14:49:50,916 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'NativeStringIO': 2025-07-28 14:49:50,916 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'BytesIO': 2025-07-28 14:49:50,917 - passlib.registry:296 - DEBUG - registered 'bcrypt' handler: 2025-07-28 14:49:50,921 - services.data_service:1106 - INFO - Base de datos ya existe, no se necesita inicializar. 2025-07-28 14:49:50,921 - main:31 - INFO - Servidor corriendo en http://localhost:6001 2025-07-28 14:49:50,921 - main:35 - INFO - Datos del asistente cargados desde: /home/superti/workspace/pedidos_express/data/llm_data.json 2025-07-28 14:49:50,922 - routes.orders:79 - INFO - Starting order thread 2025-07-28 14:49:56,960 - services.data_service:132 - INFO - User added with ID: 3 2025-07-28 14:49:56,961 - auth.security:50 - DEBUG - Creating access token with data: {'sub': 'email', 'exp': datetime.datetime(2053, 3, 3, 18, 49, 56, 961077)} 2025-07-28 14:49:56,961 - auth.security:51 - DEBUG - Token expiration time: 2053-03-03 18:49:56.961077 2025-07-28 14:49:56,961 - auth.security:38 - DEBUG - Generated token for email erwinjacimino2003@gmail.com: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJlbWFpbCIsImV4cCI6MjYyNDY0MDU5Nn0.8cZ7nbx0p4udoQQ4g7M52zVC4OPogYvZBnd3ClKFgKg 2025-07-28 14:50:06,396 - routes.users:46 - DEBUG - Login attempt for email: erwinjacimino2003@gmail.com 2025-07-28 14:50:06,396 - routes.users:47 - DEBUG - Login request: 1234 2025-07-28 14:50:06,397 - services.data_service:189 - DEBUG - get_by_email: erwinjacimino2003@gmail.com, user: (3, 'erwinjacimino2003@gmail.com', 'Erwin Jacimino', '21382334-5', 'gAAAAABoh8ZUxZc4klsN8o2IE7KB936Bl_EIaYEn0-OiBn1z57uuYmiwzVcDu1Kf69J0bZujFfUNHz2u7uGV12Cwoat3L6U_ShSi3W6zg-YmV2XGq-EzcRtEWd_bNXWlFe6hjzkHTE4d7Ixqd-A3GBYJyROzzI3TbZaTsQts2BoBEURAmKas16dP6-H52jsKEX0l4jT_B7lgYVS18nsFMwqHqslaHvygjw==', 'gAAAAABoh8ZULAeWb1C-zxTULdhqvK7ryBWZf1NWYE304IAocTrP3x4XmDuH4YQEe5RPSA2lcelgodZ_WaFAD-Pv2DKHGqZ7xA==', '2025-07-28T14:49:56.915141') 2025-07-28 14:50:06,397 - services.data_service:205 - DEBUG - user: id=3 email='erwinjacimino2003@gmail.com' nombre='Erwin Jacimino' rut='21382334-5' pin_hash='gAAAAABoh8ZUotOGeUSk2DhoayH9_4tVy_zOb54Tmj8L6j7nFF4oCkKHVB8Sc8igv7aRi1VQWgi3W_nfnBIpuFEyzcQJ9NBMeg==' kleincoins='0' created_at='2025-07-28T14:49:56.915141' 2025-07-28 14:50:06,397 - services.data_service:206 - DEBUG - Login hashed from user gAAAAABoh8ZUotOGeUSk2DhoayH9_4tVy_zOb54Tmj8L6j7nFF4oCkKHVB8Sc8igv7aRi1VQWgi3W_nfnBIpuFEyzcQJ9NBMeg== 2025-07-28 14:50:06,397 - services.data_service:207 - DEBUG - Pin hashed: gAAAAABoh8ZenAa7lCyUP5kSPQjgt7bTv5mkQrR3N6g0NCvZc03wR0merIcqiuOeGajUHziGzx2DiMg3fU_gnMgdJbKYKaOVUg== 2025-07-28 14:50:06,397 - services.data_service:212 - ERROR - Login failed: Invalid email or pin. 2025-07-28 14:51:30,178 - routes.users:46 - DEBUG - Login attempt for email: erwinjacimino2003@gmail.com 2025-07-28 14:51:30,178 - routes.users:47 - DEBUG - Login request: 1234 2025-07-28 14:51:30,179 - services.data_service:189 - DEBUG - get_by_email: erwinjacimino2003@gmail.com, user: (3, 'erwinjacimino2003@gmail.com', 'Erwin Jacimino', '21382334-5', 'gAAAAABoh8ZUxZc4klsN8o2IE7KB936Bl_EIaYEn0-OiBn1z57uuYmiwzVcDu1Kf69J0bZujFfUNHz2u7uGV12Cwoat3L6U_ShSi3W6zg-YmV2XGq-EzcRtEWd_bNXWlFe6hjzkHTE4d7Ixqd-A3GBYJyROzzI3TbZaTsQts2BoBEURAmKas16dP6-H52jsKEX0l4jT_B7lgYVS18nsFMwqHqslaHvygjw==', 'gAAAAABoh8ZULAeWb1C-zxTULdhqvK7ryBWZf1NWYE304IAocTrP3x4XmDuH4YQEe5RPSA2lcelgodZ_WaFAD-Pv2DKHGqZ7xA==', '2025-07-28T14:49:56.915141') 2025-07-28 14:51:30,179 - services.data_service:205 - DEBUG - user: id=3 email='erwinjacimino2003@gmail.com' nombre='Erwin Jacimino' rut='21382334-5' pin_hash='gAAAAABoh8ZUotOGeUSk2DhoayH9_4tVy_zOb54Tmj8L6j7nFF4oCkKHVB8Sc8igv7aRi1VQWgi3W_nfnBIpuFEyzcQJ9NBMeg==' kleincoins='0' created_at='2025-07-28T14:49:56.915141' 2025-07-28 14:51:30,179 - services.data_service:206 - DEBUG - Login hashed from user gAAAAABoh8ZUotOGeUSk2DhoayH9_4tVy_zOb54Tmj8L6j7nFF4oCkKHVB8Sc8igv7aRi1VQWgi3W_nfnBIpuFEyzcQJ9NBMeg== 2025-07-28 14:51:30,179 - services.data_service:207 - DEBUG - Pin hashed: gAAAAABoh8aycWxOlwOgHA0vDGRdN0-UCLDwfCmc9MNJ198A52lkOSvV1kl4TcAVxwxZFoXn2xE2lPrcWVObdlEqIWj36_VlYg== 2025-07-28 14:51:30,179 - services.data_service:212 - ERROR - Login failed: Invalid email or pin. 2025-07-28 14:51:30,179 - routes.users:69 - WARNING - Failed login attempt for erwinjacimino2003@gmail.com. Attempts: 1 2025-07-28 14:51:30,180 - routes.users:70 - ERROR - Invalid email or PIN. 2025-07-28 14:58:04,084 - escpos.capabilities:32 - DEBUG - Using capabilities from file: /home/superti/.conda/envs/pedidos_express/lib/python3.9/site-packages/escpos/capabilities.json 2025-07-28 14:58:04,084 - escpos.capabilities:43 - DEBUG - Capabilities pickle file not found: /tmp/tmp7ib4q9nz/3.9.23.capabilities.pickle 2025-07-28 14:58:04,084 - escpos.capabilities:47 - DEBUG - Loading and pickling capabilities 2025-07-28 14:58:04,190 - escpos.capabilities:82 - DEBUG - Finished loading capabilities took 0.11s 2025-07-28 14:58:04,353 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'SafeConfigParser': 2025-07-28 14:58:04,353 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'NativeStringIO': 2025-07-28 14:58:04,353 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'BytesIO': 2025-07-28 14:58:04,354 - passlib.registry:296 - DEBUG - registered 'bcrypt' handler: 2025-07-28 14:58:04,361 - services.data_service:1106 - INFO - Base de datos ya existe, no se necesita inicializar. 2025-07-28 14:58:04,361 - main:31 - INFO - Servidor corriendo en http://localhost:6001 2025-07-28 14:58:04,361 - main:35 - INFO - Datos del asistente cargados desde: /home/superti/workspace/pedidos_express/data/llm_data.json 2025-07-28 14:58:04,361 - routes.orders:79 - INFO - Starting order thread 2025-07-28 14:58:07,159 - services.data_service:282 - INFO - User with ID 3 deleted. 2025-07-28 14:58:13,951 - services.data_service:132 - INFO - User added with ID: 4 2025-07-28 14:58:13,951 - auth.security:50 - DEBUG - Creating access token with data: {'sub': 'email', 'exp': datetime.datetime(2053, 3, 3, 18, 58, 13, 951567)} 2025-07-28 14:58:13,951 - auth.security:51 - DEBUG - Token expiration time: 2053-03-03 18:58:13.951567 2025-07-28 14:58:13,952 - auth.security:38 - DEBUG - Generated token for email erwinjacimino2003@gmail.com: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJlbWFpbCIsImV4cCI6MjYyNDY0MTA5M30.fnnT4viH6gBG2lZFyJmQbewfR1_HB96yeLtADt6hVk8 2025-07-28 14:58:18,908 - routes.users:46 - DEBUG - Login attempt for email: erwinjacimino2003@gmail.com 2025-07-28 14:58:18,908 - routes.users:47 - DEBUG - Login request: 1234 2025-07-28 14:58:18,908 - services.data_service:189 - DEBUG - get_by_email: erwinjacimino2003@gmail.com, user: (4, 'erwinjacimino2003@gmail.com', 'Erwin Jacimino', '21382334-5', 'gAAAAABoh8hFkxP_r-QTqE43Gqmagia6A_gVno4MiZ9XipeZLaetmfdJoLO4rtvtWTy4YfKxo6YVD7FD2Lyk_G6LpjXrY6rgGg==', 'gAAAAABoh8hFnDR4d0cNn3cFIN7WpLkKk8B5PUJZoEwauWrp3yJoCYHzEK6HG_10kqpHIBeRRSMZ4SubHKfe693ImmR_EFLntQ==', '2025-07-28T14:58:13.938742') 2025-07-28 14:58:18,909 - services.data_service:205 - DEBUG - user: id=4 email='erwinjacimino2003@gmail.com' nombre='Erwin Jacimino' rut='21382334-5' pin_hash='1234' kleincoins='0' created_at='2025-07-28T14:58:13.938742' 2025-07-28 14:58:18,909 - services.data_service:206 - DEBUG - Login hashed from user 1234 2025-07-28 14:58:18,909 - services.data_service:207 - DEBUG - Pin hashed: gAAAAABoh8hK2k3isgFXUFXkKo7zgT6bbjqpO1VvjqyrqvthyH-uTm7mG9jg88WaHBbyRn6F2dZNREGi_A3SAwPeNy9-IBWISg== 2025-07-28 14:58:18,909 - services.data_service:212 - ERROR - Login failed: Invalid email or pin. 2025-07-28 14:58:18,909 - routes.users:69 - WARNING - Failed login attempt for erwinjacimino2003@gmail.com. Attempts: 2 2025-07-28 14:58:18,909 - routes.users:70 - ERROR - Invalid email or PIN. 2025-07-28 14:59:56,907 - escpos.capabilities:32 - DEBUG - Using capabilities from file: /home/superti/.conda/envs/pedidos_express/lib/python3.9/site-packages/escpos/capabilities.json 2025-07-28 14:59:56,907 - escpos.capabilities:43 - DEBUG - Capabilities pickle file not found: /tmp/tmpswmd045r/3.9.23.capabilities.pickle 2025-07-28 14:59:56,907 - escpos.capabilities:47 - DEBUG - Loading and pickling capabilities 2025-07-28 14:59:57,030 - escpos.capabilities:82 - DEBUG - Finished loading capabilities took 0.12s 2025-07-28 14:59:57,201 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'SafeConfigParser': 2025-07-28 14:59:57,201 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'NativeStringIO': 2025-07-28 14:59:57,201 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'BytesIO': 2025-07-28 14:59:57,202 - passlib.registry:296 - DEBUG - registered 'bcrypt' handler: 2025-07-28 14:59:57,207 - services.data_service:1106 - INFO - Base de datos ya existe, no se necesita inicializar. 2025-07-28 14:59:57,207 - main:31 - INFO - Servidor corriendo en http://localhost:6001 2025-07-28 14:59:57,207 - main:35 - INFO - Datos del asistente cargados desde: /home/superti/workspace/pedidos_express/data/llm_data.json 2025-07-28 14:59:57,207 - routes.orders:79 - INFO - Starting order thread 2025-07-28 14:59:59,732 - routes.users:46 - DEBUG - Login attempt for email: erwinjacimino2003@gmail.com 2025-07-28 14:59:59,733 - routes.users:47 - DEBUG - Login request: 1234 2025-07-28 14:59:59,733 - services.data_service:189 - DEBUG - get_by_email: erwinjacimino2003@gmail.com, user: (4, 'erwinjacimino2003@gmail.com', 'Erwin Jacimino', '21382334-5', 'gAAAAABoh8hFkxP_r-QTqE43Gqmagia6A_gVno4MiZ9XipeZLaetmfdJoLO4rtvtWTy4YfKxo6YVD7FD2Lyk_G6LpjXrY6rgGg==', 'gAAAAABoh8hFnDR4d0cNn3cFIN7WpLkKk8B5PUJZoEwauWrp3yJoCYHzEK6HG_10kqpHIBeRRSMZ4SubHKfe693ImmR_EFLntQ==', '2025-07-28T14:58:13.938742') 2025-07-28 14:59:59,734 - services.data_service:205 - DEBUG - user: id=4 email='erwinjacimino2003@gmail.com' nombre='Erwin Jacimino' rut='21382334-5' pin_hash='gAAAAABoh8hFkxP_r-QTqE43Gqmagia6A_gVno4MiZ9XipeZLaetmfdJoLO4rtvtWTy4YfKxo6YVD7FD2Lyk_G6LpjXrY6rgGg==' kleincoins='0' created_at='2025-07-28T14:58:13.938742' 2025-07-28 14:59:59,734 - services.data_service:206 - DEBUG - Login hashed from user gAAAAABoh8hFkxP_r-QTqE43Gqmagia6A_gVno4MiZ9XipeZLaetmfdJoLO4rtvtWTy4YfKxo6YVD7FD2Lyk_G6LpjXrY6rgGg== 2025-07-28 14:59:59,735 - services.data_service:207 - DEBUG - Pin hashed: gAAAAABoh8ivAm7wK_UKwy_OPorxBnqNBhvIlS6-VF5MbRnhLEX8bwiaZd5JpWpYdJDKogv7I97a8J3zOu3J42xKAkVcVa9ZmQ== 2025-07-28 14:59:59,735 - services.data_service:212 - ERROR - Login failed: Invalid email or pin. 2025-07-28 14:59:59,736 - routes.users:69 - WARNING - Failed login attempt for erwinjacimino2003@gmail.com. Attempts: 3 2025-07-28 14:59:59,736 - routes.users:70 - ERROR - Invalid email or PIN. 2025-07-28 15:01:59,334 - services.data_service:132 - INFO - User added with ID: 1 2025-07-28 15:01:59,335 - auth.security:50 - DEBUG - Creating access token with data: {'sub': 'email', 'exp': datetime.datetime(2053, 3, 3, 19, 1, 59, 335282)} 2025-07-28 15:01:59,335 - auth.security:51 - DEBUG - Token expiration time: 2053-03-03 19:01:59.335282 2025-07-28 15:01:59,335 - auth.security:38 - DEBUG - Generated token for email erwinjacimino2003@gmail.com: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJlbWFpbCIsImV4cCI6MjYyNDY0MTMxOX0.ENAG4ybunQTDIcJLGcISU0NP0kDNKSsw080MXYz-IfA 2025-07-28 15:02:07,549 - routes.users:46 - DEBUG - Login attempt for email: erwinjacimino2003@gmail.com 2025-07-28 15:02:07,549 - routes.users:47 - DEBUG - Login request: 1234 2025-07-28 15:02:07,549 - services.data_service:189 - DEBUG - get_by_email: erwinjacimino2003@gmail.com, user: (1, 'erwinjacimino2003@gmail.com', 'Erwin Jacimino', '21382334-5', 'gAAAAABoh8knjDD7G3gBqJDEZZQYzKcf7HSEpEwd39f9PSwU91HQ37IFIQwjvYTCOu434GHzlzeG8bPUcsCZijk5C5PE4Lx_bg==', 'gAAAAABoh8knxo6Td-E1ndEx4cS9Fo6-fb2CDGM20QxvBNQRYd2p7s2ipNYy0s2ZMHmnpZYALwCI05RLjS-1ZqvLeJdhY1jLlA==', '2025-07-28T15:01:59.324758') 2025-07-28 15:02:07,549 - services.data_service:205 - DEBUG - user: id=1 email='erwinjacimino2003@gmail.com' nombre='Erwin Jacimino' rut='21382334-5' pin_hash='gAAAAABoh8knjDD7G3gBqJDEZZQYzKcf7HSEpEwd39f9PSwU91HQ37IFIQwjvYTCOu434GHzlzeG8bPUcsCZijk5C5PE4Lx_bg==' kleincoins='0' created_at='2025-07-28T15:01:59.324758' 2025-07-28 15:02:07,550 - services.data_service:206 - DEBUG - Login hashed from user gAAAAABoh8knjDD7G3gBqJDEZZQYzKcf7HSEpEwd39f9PSwU91HQ37IFIQwjvYTCOu434GHzlzeG8bPUcsCZijk5C5PE4Lx_bg== 2025-07-28 15:02:07,550 - services.data_service:207 - DEBUG - Pin hashed: gAAAAABoh8kv3Os_9pOGZESo13Do_R7-IDnrzdWC3XCSHIKiwNzc8JEnw8pG2TuUR1Ha-TrTLs-6m5ZiKilMtvv1zMUN9uAPUA== 2025-07-28 15:02:07,550 - services.data_service:212 - ERROR - Login failed: Invalid email or pin. 2025-07-28 15:02:07,551 - routes.users:69 - WARNING - Failed login attempt for erwinjacimino2003@gmail.com. Attempts: 4 2025-07-28 15:02:07,551 - routes.users:70 - ERROR - Invalid email or PIN. 2025-07-28 15:04:05,723 - escpos.capabilities:32 - DEBUG - Using capabilities from file: /home/superti/.conda/envs/pedidos_express/lib/python3.9/site-packages/escpos/capabilities.json 2025-07-28 15:04:05,723 - escpos.capabilities:43 - DEBUG - Capabilities pickle file not found: /tmp/tmp5xt7o04v/3.9.23.capabilities.pickle 2025-07-28 15:04:05,723 - escpos.capabilities:47 - DEBUG - Loading and pickling capabilities 2025-07-28 15:04:05,831 - escpos.capabilities:82 - DEBUG - Finished loading capabilities took 0.11s 2025-07-28 15:04:06,001 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'SafeConfigParser': 2025-07-28 15:04:06,001 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'NativeStringIO': 2025-07-28 15:04:06,001 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'BytesIO': 2025-07-28 15:04:06,002 - passlib.registry:296 - DEBUG - registered 'bcrypt' handler: 2025-07-28 15:04:06,007 - services.data_service:1103 - INFO - Base de datos ya existe, no se necesita inicializar. 2025-07-28 15:04:06,007 - main:31 - INFO - Servidor corriendo en http://localhost:6001 2025-07-28 15:04:06,007 - main:35 - INFO - Datos del asistente cargados desde: /home/superti/workspace/pedidos_express/data/llm_data.json 2025-07-28 15:04:06,007 - routes.orders:79 - INFO - Starting order thread 2025-07-28 15:04:08,622 - routes.users:46 - DEBUG - Login attempt for email: erwinjacimino2003@gmail.com 2025-07-28 15:04:08,622 - routes.users:47 - DEBUG - Login request: 1234 2025-07-28 15:04:08,622 - services.data_service:189 - DEBUG - get_by_email: erwinjacimino2003@gmail.com, user: (1, 'erwinjacimino2003@gmail.com', 'Erwin Jacimino', '21382334-5', 'gAAAAABoh8knjDD7G3gBqJDEZZQYzKcf7HSEpEwd39f9PSwU91HQ37IFIQwjvYTCOu434GHzlzeG8bPUcsCZijk5C5PE4Lx_bg==', 'gAAAAABoh8knxo6Td-E1ndEx4cS9Fo6-fb2CDGM20QxvBNQRYd2p7s2ipNYy0s2ZMHmnpZYALwCI05RLjS-1ZqvLeJdhY1jLlA==', '2025-07-28T15:01:59.324758') 2025-07-28 15:04:08,623 - services.data_service:206 - INFO - User erwinjacimino2003@gmail.com logged in successfully. 2025-07-28 15:04:08,623 - auth.security:50 - DEBUG - Creating access token with data: {'sub': 'email', 'exp': datetime.datetime(2053, 3, 3, 19, 4, 8, 623377)} 2025-07-28 15:04:08,623 - auth.security:51 - DEBUG - Token expiration time: 2053-03-03 19:04:08.623377 2025-07-28 15:04:08,623 - auth.security:38 - DEBUG - Generated token for email erwinjacimino2003@gmail.com: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJlbWFpbCIsImV4cCI6MjYyNDY0MTQ0OH0.TMutIh32f784TZrjEjvaVCnaQ4FL2GKFrBc_1J9tTMk 2025-07-28 15:04:33,476 - routes.users:46 - DEBUG - Login attempt for email: erwinjacimino2003@gmail.com 2025-07-28 15:04:33,477 - routes.users:47 - DEBUG - Login request: 1234 2025-07-28 15:04:33,477 - services.data_service:189 - DEBUG - get_by_email: erwinjacimino2003@gmail.com, user: (1, 'erwinjacimino2003@gmail.com', 'Erwin Jacimino', '21382334-5', 'gAAAAABoh8knjDD7G3gBqJDEZZQYzKcf7HSEpEwd39f9PSwU91HQ37IFIQwjvYTCOu434GHzlzeG8bPUcsCZijk5C5PE4Lx_bg==', 'gAAAAABoh8knxo6Td-E1ndEx4cS9Fo6-fb2CDGM20QxvBNQRYd2p7s2ipNYy0s2ZMHmnpZYALwCI05RLjS-1ZqvLeJdhY1jLlA==', '2025-07-28T15:01:59.324758') 2025-07-28 15:04:33,477 - services.data_service:206 - INFO - User erwinjacimino2003@gmail.com logged in successfully. 2025-07-28 15:04:33,477 - auth.security:50 - DEBUG - Creating access token with data: {'sub': 'email', 'exp': datetime.datetime(2053, 3, 3, 19, 4, 33, 477485)} 2025-07-28 15:04:33,477 - auth.security:51 - DEBUG - Token expiration time: 2053-03-03 19:04:33.477485 2025-07-28 15:04:33,477 - auth.security:38 - DEBUG - Generated token for email erwinjacimino2003@gmail.com: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJlbWFpbCIsImV4cCI6MjYyNDY0MTQ3M30.woMoomACYzUKe45xeyWs5D0faMVuBVPWuANFixu4z9M 2025-07-28 15:05:28,693 - routes.users:46 - DEBUG - Login attempt for email: erwinjacimino2003@gmail.com 2025-07-28 15:05:28,693 - routes.users:47 - DEBUG - Login request: 1234 2025-07-28 15:05:28,693 - services.data_service:189 - DEBUG - get_by_email: erwinjacimino2003@gmail.com, user: (1, 'erwinjacimino2003@gmail.com', 'Erwin Jacimino', '21382334-5', 'gAAAAABoh8knjDD7G3gBqJDEZZQYzKcf7HSEpEwd39f9PSwU91HQ37IFIQwjvYTCOu434GHzlzeG8bPUcsCZijk5C5PE4Lx_bg==', 'gAAAAABoh8knxo6Td-E1ndEx4cS9Fo6-fb2CDGM20QxvBNQRYd2p7s2ipNYy0s2ZMHmnpZYALwCI05RLjS-1ZqvLeJdhY1jLlA==', '2025-07-28T15:01:59.324758') 2025-07-28 15:05:28,693 - services.data_service:206 - INFO - User erwinjacimino2003@gmail.com logged in successfully. 2025-07-28 15:05:28,694 - auth.security:50 - DEBUG - Creating access token with data: {'sub': 'email', 'exp': datetime.datetime(2053, 3, 3, 19, 5, 28, 694048)} 2025-07-28 15:05:28,694 - auth.security:51 - DEBUG - Token expiration time: 2053-03-03 19:05:28.694048 2025-07-28 15:05:28,694 - auth.security:38 - DEBUG - Generated token for email erwinjacimino2003@gmail.com: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJlbWFpbCIsImV4cCI6MjYyNDY0MTUyOH0.BkmMjpAXEvB7BFEHiIO6Ybkf5v3kB416bWuHGJAAyh8 2025-07-28 15:06:03,036 - routes.users:46 - DEBUG - Login attempt for email: erwinjacimino2003@gmail.com 2025-07-28 15:06:03,037 - routes.users:47 - DEBUG - Login request: 1234 2025-07-28 15:06:03,037 - services.data_service:189 - DEBUG - get_by_email: erwinjacimino2003@gmail.com, user: (1, 'erwinjacimino2003@gmail.com', 'Erwin Jacimino', '21382334-5', 'gAAAAABoh8knjDD7G3gBqJDEZZQYzKcf7HSEpEwd39f9PSwU91HQ37IFIQwjvYTCOu434GHzlzeG8bPUcsCZijk5C5PE4Lx_bg==', 'gAAAAABoh8knxo6Td-E1ndEx4cS9Fo6-fb2CDGM20QxvBNQRYd2p7s2ipNYy0s2ZMHmnpZYALwCI05RLjS-1ZqvLeJdhY1jLlA==', '2025-07-28T15:01:59.324758') 2025-07-28 15:06:03,037 - services.data_service:206 - INFO - User erwinjacimino2003@gmail.com logged in successfully. 2025-07-28 15:06:03,037 - auth.security:50 - DEBUG - Creating access token with data: {'sub': 'email', 'exp': datetime.datetime(2053, 3, 3, 19, 6, 3, 37683)} 2025-07-28 15:06:03,037 - auth.security:51 - DEBUG - Token expiration time: 2053-03-03 19:06:03.037683 2025-07-28 15:06:03,037 - auth.security:38 - DEBUG - Generated token for email erwinjacimino2003@gmail.com: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJlbWFpbCIsImV4cCI6MjYyNDY0MTU2M30.fhOcTcA-kVIxMsU-q_GbHvqxIPXe5P5fqnHQgWe5yQQ 2025-07-28 15:06:41,580 - routes.users:46 - DEBUG - Login attempt for email: erwinjacimino2003@gmail.com 2025-07-28 15:06:41,580 - routes.users:47 - DEBUG - Login request: 1234 2025-07-28 15:06:41,581 - services.data_service:189 - DEBUG - get_by_email: erwinjacimino2003@gmail.com, user: (1, 'erwinjacimino2003@gmail.com', 'Erwin Jacimino', '21382334-5', 'gAAAAABoh8knjDD7G3gBqJDEZZQYzKcf7HSEpEwd39f9PSwU91HQ37IFIQwjvYTCOu434GHzlzeG8bPUcsCZijk5C5PE4Lx_bg==', 'gAAAAABoh8knxo6Td-E1ndEx4cS9Fo6-fb2CDGM20QxvBNQRYd2p7s2ipNYy0s2ZMHmnpZYALwCI05RLjS-1ZqvLeJdhY1jLlA==', '2025-07-28T15:01:59.324758') 2025-07-28 15:06:41,581 - services.data_service:206 - INFO - User erwinjacimino2003@gmail.com logged in successfully. 2025-07-28 15:06:41,581 - auth.security:50 - DEBUG - Creating access token with data: {'sub': 'email', 'exp': datetime.datetime(2053, 3, 3, 19, 6, 41, 581304)} 2025-07-28 15:06:41,581 - auth.security:51 - DEBUG - Token expiration time: 2053-03-03 19:06:41.581304 2025-07-28 15:06:41,581 - auth.security:38 - DEBUG - Generated token for email erwinjacimino2003@gmail.com: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJlbWFpbCIsImV4cCI6MjYyNDY0MTYwMX0.g915DW7uviUu-F4GcIwhR24H4SCGDKS0Js1TNy1cwAM 2025-07-28 15:07:17,115 - escpos.capabilities:32 - DEBUG - Using capabilities from file: /home/superti/.conda/envs/pedidos_express/lib/python3.9/site-packages/escpos/capabilities.json 2025-07-28 15:07:17,115 - escpos.capabilities:43 - DEBUG - Capabilities pickle file not found: /tmp/tmp2e06_7dn/3.9.23.capabilities.pickle 2025-07-28 15:07:17,115 - escpos.capabilities:47 - DEBUG - Loading and pickling capabilities 2025-07-28 15:07:17,229 - escpos.capabilities:82 - DEBUG - Finished loading capabilities took 0.11s 2025-07-28 15:07:17,398 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'SafeConfigParser': 2025-07-28 15:07:17,398 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'NativeStringIO': 2025-07-28 15:07:17,398 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'BytesIO': 2025-07-28 15:07:17,399 - passlib.registry:296 - DEBUG - registered 'bcrypt' handler: 2025-07-28 15:07:17,403 - services.data_service:1103 - INFO - Base de datos ya existe, no se necesita inicializar. 2025-07-28 15:07:17,403 - main:31 - INFO - Servidor corriendo en http://localhost:6001 2025-07-28 15:07:17,404 - main:35 - INFO - Datos del asistente cargados desde: /home/superti/workspace/pedidos_express/data/llm_data.json 2025-07-28 15:07:17,404 - routes.orders:79 - INFO - Starting order thread 2025-07-28 15:07:26,341 - routes.users:46 - DEBUG - Login attempt for email: erwinjacimino2003@gmail.com 2025-07-28 15:07:26,341 - routes.users:47 - DEBUG - Login request: 2345 2025-07-28 15:07:26,341 - services.data_service:189 - DEBUG - get_by_email: erwinjacimino2003@gmail.com, user: (1, 'erwinjacimino2003@gmail.com', 'Erwin Jacimino', '21382334-5', 'gAAAAABoh8knjDD7G3gBqJDEZZQYzKcf7HSEpEwd39f9PSwU91HQ37IFIQwjvYTCOu434GHzlzeG8bPUcsCZijk5C5PE4Lx_bg==', 'gAAAAABoh8knxo6Td-E1ndEx4cS9Fo6-fb2CDGM20QxvBNQRYd2p7s2ipNYy0s2ZMHmnpZYALwCI05RLjS-1ZqvLeJdhY1jLlA==', '2025-07-28T15:01:59.324758') 2025-07-28 15:07:26,342 - services.data_service:209 - ERROR - Login failed: Invalid email or pin. 2025-07-28 15:07:26,343 - routes.users:69 - WARNING - Failed login attempt for erwinjacimino2003@gmail.com. Attempts: 1 2025-07-28 15:07:26,343 - routes.users:70 - ERROR - Invalid email or PIN. 2025-07-28 15:07:32,132 - routes.users:46 - DEBUG - Login attempt for email: erwinjacimino2003@gmail.com 2025-07-28 15:07:32,132 - routes.users:47 - DEBUG - Login request: 1234 2025-07-28 15:07:32,133 - services.data_service:189 - DEBUG - get_by_email: erwinjacimino2003@gmail.com, user: (1, 'erwinjacimino2003@gmail.com', 'Erwin Jacimino', '21382334-5', 'gAAAAABoh8knjDD7G3gBqJDEZZQYzKcf7HSEpEwd39f9PSwU91HQ37IFIQwjvYTCOu434GHzlzeG8bPUcsCZijk5C5PE4Lx_bg==', 'gAAAAABoh8knxo6Td-E1ndEx4cS9Fo6-fb2CDGM20QxvBNQRYd2p7s2ipNYy0s2ZMHmnpZYALwCI05RLjS-1ZqvLeJdhY1jLlA==', '2025-07-28T15:01:59.324758') 2025-07-28 15:07:32,133 - services.data_service:206 - INFO - User erwinjacimino2003@gmail.com logged in successfully. 2025-07-28 15:07:32,133 - auth.security:50 - DEBUG - Creating access token with data: {'sub': 'email', 'exp': datetime.datetime(2053, 3, 3, 19, 7, 32, 133506)} 2025-07-28 15:07:32,133 - auth.security:51 - DEBUG - Token expiration time: 2053-03-03 19:07:32.133506 2025-07-28 15:07:32,134 - auth.security:38 - DEBUG - Generated token for email erwinjacimino2003@gmail.com: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJlbWFpbCIsImV4cCI6MjYyNDY0MTY1Mn0.N7QbHbl_u2ljI1WIOUXlqEgB1bJiuQTUxWyhSlWoezU 2025-07-28 15:12:12,565 - escpos.capabilities:32 - DEBUG - Using capabilities from file: /home/superti/.conda/envs/pedidos_express/lib/python3.9/site-packages/escpos/capabilities.json 2025-07-28 15:12:12,565 - escpos.capabilities:43 - DEBUG - Capabilities pickle file not found: /tmp/tmp7hxbkarq/3.9.23.capabilities.pickle 2025-07-28 15:12:12,565 - escpos.capabilities:47 - DEBUG - Loading and pickling capabilities 2025-07-28 15:12:12,681 - escpos.capabilities:82 - DEBUG - Finished loading capabilities took 0.12s 2025-07-28 15:12:12,852 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'SafeConfigParser': 2025-07-28 15:12:12,852 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'NativeStringIO': 2025-07-28 15:12:12,852 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'BytesIO': 2025-07-28 15:12:12,854 - passlib.registry:296 - DEBUG - registered 'bcrypt' handler: 2025-07-28 15:12:12,858 - services.data_service:1103 - INFO - Base de datos ya existe, no se necesita inicializar. 2025-07-28 15:12:12,858 - main:31 - INFO - Servidor corriendo en http://localhost:6001 2025-07-28 15:12:12,858 - main:35 - INFO - Datos del asistente cargados desde: /home/superti/workspace/pedidos_express/data/llm_data.json 2025-07-28 15:12:12,858 - routes.orders:79 - INFO - Starting order thread 2025-07-28 15:12:18,805 - routes.users:46 - DEBUG - Login attempt for email: erwinjacimino2003@gmail.com 2025-07-28 15:12:18,805 - routes.users:47 - DEBUG - Login request: 1234 2025-07-28 15:12:18,806 - services.data_service:189 - DEBUG - get_by_email: erwinjacimino2003@gmail.com, user: (1, 'erwinjacimino2003@gmail.com', 'Erwin Jacimino', '21382334-5', 'gAAAAABoh8knjDD7G3gBqJDEZZQYzKcf7HSEpEwd39f9PSwU91HQ37IFIQwjvYTCOu434GHzlzeG8bPUcsCZijk5C5PE4Lx_bg==', 'gAAAAABoh8knxo6Td-E1ndEx4cS9Fo6-fb2CDGM20QxvBNQRYd2p7s2ipNYy0s2ZMHmnpZYALwCI05RLjS-1ZqvLeJdhY1jLlA==', '2025-07-28T15:01:59.324758') 2025-07-28 15:12:18,807 - services.data_service:206 - INFO - User erwinjacimino2003@gmail.com logged in successfully. 2025-07-28 15:12:18,807 - auth.security:50 - DEBUG - Creating access token with data: {'sub': 'email', 'exp': datetime.datetime(2053, 3, 3, 19, 12, 18, 807265)} 2025-07-28 15:12:18,807 - auth.security:51 - DEBUG - Token expiration time: 2053-03-03 19:12:18.807265 2025-07-28 15:12:18,807 - auth.security:38 - DEBUG - Generated token for email erwinjacimino2003@gmail.com: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJlbWFpbCIsImV4cCI6MjYyNDY0MTkzOH0.EOz-cHtfmmKrUk9wH_-HRT4M9QCfIKoEAIeXFtcLdOs 2025-07-28 15:12:37,477 - routes.users:46 - DEBUG - Login attempt for email: erwinjacimino2003@gmail.com 2025-07-28 15:12:37,477 - routes.users:47 - DEBUG - Login request: 1234 2025-07-28 15:12:37,477 - services.data_service:189 - DEBUG - get_by_email: erwinjacimino2003@gmail.com, user: (1, 'erwinjacimino2003@gmail.com', 'Erwin Jacimino', '21382334-5', 'gAAAAABoh8knjDD7G3gBqJDEZZQYzKcf7HSEpEwd39f9PSwU91HQ37IFIQwjvYTCOu434GHzlzeG8bPUcsCZijk5C5PE4Lx_bg==', 'gAAAAABoh8knxo6Td-E1ndEx4cS9Fo6-fb2CDGM20QxvBNQRYd2p7s2ipNYy0s2ZMHmnpZYALwCI05RLjS-1ZqvLeJdhY1jLlA==', '2025-07-28T15:01:59.324758') 2025-07-28 15:12:37,477 - services.data_service:206 - INFO - User erwinjacimino2003@gmail.com logged in successfully. 2025-07-28 15:12:37,477 - auth.security:50 - DEBUG - Creating access token with data: {'sub': 'email', 'exp': datetime.datetime(2053, 3, 3, 19, 12, 37, 477560)} 2025-07-28 15:12:37,477 - auth.security:51 - DEBUG - Token expiration time: 2053-03-03 19:12:37.477560 2025-07-28 15:12:37,477 - auth.security:38 - DEBUG - Generated token for email erwinjacimino2003@gmail.com: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJlbWFpbCIsImV4cCI6MjYyNDY0MTk1N30.EDB8-YBgqe0P6riWbSl_G2dvheB8CKdSCxuJuJtmxOY 2025-07-28 15:12:37,494 - services.data_service:189 - DEBUG - get_by_email: email, user: None 2025-07-28 15:16:54,551 - escpos.capabilities:32 - DEBUG - Using capabilities from file: /home/superti/.conda/envs/pedidos_express/lib/python3.9/site-packages/escpos/capabilities.json 2025-07-28 15:16:54,551 - escpos.capabilities:43 - DEBUG - Capabilities pickle file not found: /tmp/tmp23dw7t3b/3.9.23.capabilities.pickle 2025-07-28 15:16:54,551 - escpos.capabilities:47 - DEBUG - Loading and pickling capabilities 2025-07-28 15:16:54,666 - escpos.capabilities:82 - DEBUG - Finished loading capabilities took 0.12s 2025-07-28 15:16:54,833 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'SafeConfigParser': 2025-07-28 15:16:54,833 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'NativeStringIO': 2025-07-28 15:16:54,833 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'BytesIO': 2025-07-28 15:16:54,834 - passlib.registry:296 - DEBUG - registered 'bcrypt' handler: 2025-07-28 15:16:54,839 - services.data_service:1103 - INFO - Base de datos ya existe, no se necesita inicializar. 2025-07-28 15:16:54,839 - main:31 - INFO - Servidor corriendo en http://localhost:6001 2025-07-28 15:16:54,839 - main:35 - INFO - Datos del asistente cargados desde: /home/superti/workspace/pedidos_express/data/llm_data.json 2025-07-28 15:16:54,839 - routes.orders:79 - INFO - Starting order thread 2025-07-28 15:17:02,422 - routes.users:46 - DEBUG - Login attempt for email: erwinjacimino2003@gmail.com 2025-07-28 15:17:02,422 - routes.users:47 - DEBUG - Login request: 1234 2025-07-28 15:17:02,422 - services.data_service:189 - DEBUG - get_by_email: erwinjacimino2003@gmail.com, user: (1, 'erwinjacimino2003@gmail.com', 'Erwin Jacimino', '21382334-5', 'gAAAAABoh8knjDD7G3gBqJDEZZQYzKcf7HSEpEwd39f9PSwU91HQ37IFIQwjvYTCOu434GHzlzeG8bPUcsCZijk5C5PE4Lx_bg==', 'gAAAAABoh8knxo6Td-E1ndEx4cS9Fo6-fb2CDGM20QxvBNQRYd2p7s2ipNYy0s2ZMHmnpZYALwCI05RLjS-1ZqvLeJdhY1jLlA==', '2025-07-28T15:01:59.324758') 2025-07-28 15:17:02,423 - services.data_service:206 - INFO - User erwinjacimino2003@gmail.com logged in successfully. 2025-07-28 15:17:02,423 - auth.security:50 - DEBUG - Creating access token with data: {'sub': 'email', 'exp': datetime.datetime(2053, 3, 3, 19, 17, 2, 423691)} 2025-07-28 15:17:02,423 - auth.security:51 - DEBUG - Token expiration time: 2053-03-03 19:17:02.423691 2025-07-28 15:17:02,424 - auth.security:38 - DEBUG - Generated token for email erwinjacimino2003@gmail.com: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJlbWFpbCIsImV4cCI6MjYyNDY0MjIyMn0.Wkw5KsVdUoEb0S7vUZOq3XVrLyJIXYigAV9R_-L3UV4 2025-07-28 15:17:02,429 - services.data_service:189 - DEBUG - get_by_email: email, user: None 2025-07-28 15:18:28,837 - escpos.capabilities:32 - DEBUG - Using capabilities from file: /home/superti/.conda/envs/pedidos_express/lib/python3.9/site-packages/escpos/capabilities.json 2025-07-28 15:18:28,837 - escpos.capabilities:43 - DEBUG - Capabilities pickle file not found: /tmp/tmp7obg0ip8/3.9.23.capabilities.pickle 2025-07-28 15:18:28,837 - escpos.capabilities:47 - DEBUG - Loading and pickling capabilities 2025-07-28 15:18:28,945 - escpos.capabilities:82 - DEBUG - Finished loading capabilities took 0.11s 2025-07-28 15:18:29,109 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'SafeConfigParser': 2025-07-28 15:18:29,109 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'NativeStringIO': 2025-07-28 15:18:29,109 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'BytesIO': 2025-07-28 15:18:29,110 - passlib.registry:296 - DEBUG - registered 'bcrypt' handler: 2025-07-28 15:18:29,115 - services.data_service:1103 - INFO - Base de datos ya existe, no se necesita inicializar. 2025-07-28 15:18:29,115 - main:31 - INFO - Servidor corriendo en http://localhost:6001 2025-07-28 15:18:29,115 - main:35 - INFO - Datos del asistente cargados desde: /home/superti/workspace/pedidos_express/data/llm_data.json 2025-07-28 15:18:29,115 - routes.orders:79 - INFO - Starting order thread 2025-07-28 15:18:35,814 - routes.users:46 - DEBUG - Login attempt for email: erwinjacimino2003@gmail.com 2025-07-28 15:18:35,814 - routes.users:47 - DEBUG - Login request: 1234 2025-07-28 15:18:35,815 - services.data_service:189 - DEBUG - get_by_email: erwinjacimino2003@gmail.com, user: (1, 'erwinjacimino2003@gmail.com', 'Erwin Jacimino', '21382334-5', 'gAAAAABoh8knjDD7G3gBqJDEZZQYzKcf7HSEpEwd39f9PSwU91HQ37IFIQwjvYTCOu434GHzlzeG8bPUcsCZijk5C5PE4Lx_bg==', 'gAAAAABoh8knxo6Td-E1ndEx4cS9Fo6-fb2CDGM20QxvBNQRYd2p7s2ipNYy0s2ZMHmnpZYALwCI05RLjS-1ZqvLeJdhY1jLlA==', '2025-07-28T15:01:59.324758') 2025-07-28 15:18:35,815 - services.data_service:206 - INFO - User erwinjacimino2003@gmail.com logged in successfully. 2025-07-28 15:18:35,815 - auth.security:50 - DEBUG - Creating access token with data: {'sub': 'email', 'exp': datetime.datetime(2053, 3, 3, 19, 18, 35, 815958)} 2025-07-28 15:18:35,815 - auth.security:51 - DEBUG - Token expiration time: 2053-03-03 19:18:35.815958 2025-07-28 15:18:35,816 - auth.security:38 - DEBUG - Generated token for email erwinjacimino2003@gmail.com: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJlbWFpbCIsImV4cCI6MjYyNDY0MjMxNX0.MM0H33AuywxucGNSWxDOANK5ORw1lk6dCqJB4UYrS-U 2025-07-28 15:18:35,820 - services.data_service:189 - DEBUG - get_by_email: email, user: None 2025-07-28 15:18:59,052 - escpos.capabilities:32 - DEBUG - Using capabilities from file: /home/superti/.conda/envs/pedidos_express/lib/python3.9/site-packages/escpos/capabilities.json 2025-07-28 15:18:59,052 - escpos.capabilities:43 - DEBUG - Capabilities pickle file not found: /tmp/tmpwysaa_xl/3.9.23.capabilities.pickle 2025-07-28 15:18:59,052 - escpos.capabilities:47 - DEBUG - Loading and pickling capabilities 2025-07-28 15:18:59,167 - escpos.capabilities:82 - DEBUG - Finished loading capabilities took 0.12s 2025-07-28 15:18:59,334 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'SafeConfigParser': 2025-07-28 15:18:59,334 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'NativeStringIO': 2025-07-28 15:18:59,334 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'BytesIO': 2025-07-28 15:18:59,335 - passlib.registry:296 - DEBUG - registered 'bcrypt' handler: 2025-07-28 15:18:59,340 - services.data_service:1103 - INFO - Base de datos ya existe, no se necesita inicializar. 2025-07-28 15:18:59,340 - main:31 - INFO - Servidor corriendo en http://localhost:6001 2025-07-28 15:18:59,340 - main:35 - INFO - Datos del asistente cargados desde: /home/superti/workspace/pedidos_express/data/llm_data.json 2025-07-28 15:18:59,340 - routes.orders:79 - INFO - Starting order thread 2025-07-28 15:19:04,806 - routes.users:46 - DEBUG - Login attempt for email: erwinjacimino2003@gmail.com 2025-07-28 15:19:04,806 - routes.users:47 - DEBUG - Login request: 1234 2025-07-28 15:19:04,806 - services.data_service:189 - DEBUG - get_by_email: erwinjacimino2003@gmail.com, user: (1, 'erwinjacimino2003@gmail.com', 'Erwin Jacimino', '21382334-5', 'gAAAAABoh8knjDD7G3gBqJDEZZQYzKcf7HSEpEwd39f9PSwU91HQ37IFIQwjvYTCOu434GHzlzeG8bPUcsCZijk5C5PE4Lx_bg==', 'gAAAAABoh8knxo6Td-E1ndEx4cS9Fo6-fb2CDGM20QxvBNQRYd2p7s2ipNYy0s2ZMHmnpZYALwCI05RLjS-1ZqvLeJdhY1jLlA==', '2025-07-28T15:01:59.324758') 2025-07-28 15:19:04,807 - services.data_service:206 - INFO - User erwinjacimino2003@gmail.com logged in successfully. 2025-07-28 15:19:04,807 - auth.security:50 - DEBUG - Creating access token with data: {'sub': 'email', 'exp': datetime.datetime(2053, 3, 3, 19, 19, 4, 807610)} 2025-07-28 15:19:04,807 - auth.security:51 - DEBUG - Token expiration time: 2053-03-03 19:19:04.807610 2025-07-28 15:19:04,808 - auth.security:38 - DEBUG - Generated token for email erwinjacimino2003@gmail.com: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJlbWFpbCIsImV4cCI6MjYyNDY0MjM0NH0.dLfXkaU9lzgmMkgU2nr7qtq9C0VIRcXdNX5U7fEcYz0 2025-07-28 15:19:04,811 - auth.security:70 - DEBUG - Decoding token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJlbWFpbCIsImV4cCI6MjYyNDY0MjM0NH0.dLfXkaU9lzgmMkgU2nr7qtq9C0VIRcXdNX5U7fEcYz0 2025-07-28 15:19:04,811 - services.data_service:189 - DEBUG - get_by_email: email, user: None 2025-07-28 15:19:40,783 - escpos.capabilities:32 - DEBUG - Using capabilities from file: /home/superti/.conda/envs/pedidos_express/lib/python3.9/site-packages/escpos/capabilities.json 2025-07-28 15:19:40,783 - escpos.capabilities:43 - DEBUG - Capabilities pickle file not found: /tmp/tmpi7oxtyfi/3.9.23.capabilities.pickle 2025-07-28 15:19:40,783 - escpos.capabilities:47 - DEBUG - Loading and pickling capabilities 2025-07-28 15:19:40,899 - escpos.capabilities:82 - DEBUG - Finished loading capabilities took 0.12s 2025-07-28 15:19:41,073 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'SafeConfigParser': 2025-07-28 15:19:41,073 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'NativeStringIO': 2025-07-28 15:19:41,073 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'BytesIO': 2025-07-28 15:19:41,075 - passlib.registry:296 - DEBUG - registered 'bcrypt' handler: 2025-07-28 15:19:41,079 - services.data_service:1103 - INFO - Base de datos ya existe, no se necesita inicializar. 2025-07-28 15:19:41,079 - main:31 - INFO - Servidor corriendo en http://localhost:6001 2025-07-28 15:19:41,079 - main:35 - INFO - Datos del asistente cargados desde: /home/superti/workspace/pedidos_express/data/llm_data.json 2025-07-28 15:19:41,079 - routes.orders:79 - INFO - Starting order thread 2025-07-28 15:19:45,174 - routes.users:46 - DEBUG - Login attempt for email: erwinjacimino2003@gmail.com 2025-07-28 15:19:45,174 - routes.users:47 - DEBUG - Login request: 1234 2025-07-28 15:19:45,175 - services.data_service:189 - DEBUG - get_by_email: erwinjacimino2003@gmail.com, user: (1, 'erwinjacimino2003@gmail.com', 'Erwin Jacimino', '21382334-5', 'gAAAAABoh8knjDD7G3gBqJDEZZQYzKcf7HSEpEwd39f9PSwU91HQ37IFIQwjvYTCOu434GHzlzeG8bPUcsCZijk5C5PE4Lx_bg==', 'gAAAAABoh8knxo6Td-E1ndEx4cS9Fo6-fb2CDGM20QxvBNQRYd2p7s2ipNYy0s2ZMHmnpZYALwCI05RLjS-1ZqvLeJdhY1jLlA==', '2025-07-28T15:01:59.324758') 2025-07-28 15:19:45,176 - services.data_service:206 - INFO - User erwinjacimino2003@gmail.com logged in successfully. 2025-07-28 15:19:45,176 - auth.security:50 - DEBUG - Creating access token with data: {'sub': 'email', 'exp': datetime.datetime(2053, 3, 3, 19, 19, 45, 176753)} 2025-07-28 15:19:45,176 - auth.security:51 - DEBUG - Token expiration time: 2053-03-03 19:19:45.176753 2025-07-28 15:19:45,177 - auth.security:38 - DEBUG - Generated token for email erwinjacimino2003@gmail.com: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJlbWFpbCIsImV4cCI6MjYyNDY0MjM4NX0.vt33J6TWu9syESxm0_zpIFpVQjDQ_V3x4WHyOYSiP0o 2025-07-28 15:19:45,188 - auth.security:70 - DEBUG - Decoding token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJlbWFpbCIsImV4cCI6MjYyNDY0MjM4NX0.vt33J6TWu9syESxm0_zpIFpVQjDQ_V3x4WHyOYSiP0o 2025-07-28 15:19:45,189 - services.data_service:189 - DEBUG - get_by_email: email, user: None 2025-07-28 15:19:45,189 - auth.security:83 - ERROR - User not found: email 2025-07-28 15:21:18,246 - routes.users:46 - DEBUG - Login attempt for email: erwinjacimino2003@gmail.com 2025-07-28 15:21:18,246 - routes.users:47 - DEBUG - Login request: 1234 2025-07-28 15:21:18,246 - services.data_service:189 - DEBUG - get_by_email: erwinjacimino2003@gmail.com, user: (1, 'erwinjacimino2003@gmail.com', 'Erwin Jacimino', '21382334-5', 'gAAAAABoh8knjDD7G3gBqJDEZZQYzKcf7HSEpEwd39f9PSwU91HQ37IFIQwjvYTCOu434GHzlzeG8bPUcsCZijk5C5PE4Lx_bg==', 'gAAAAABoh8knxo6Td-E1ndEx4cS9Fo6-fb2CDGM20QxvBNQRYd2p7s2ipNYy0s2ZMHmnpZYALwCI05RLjS-1ZqvLeJdhY1jLlA==', '2025-07-28T15:01:59.324758') 2025-07-28 15:21:18,246 - services.data_service:206 - INFO - User erwinjacimino2003@gmail.com logged in successfully. 2025-07-28 15:21:18,246 - auth.security:50 - DEBUG - Creating access token with data: {'sub': 'email', 'exp': datetime.datetime(2053, 3, 3, 19, 21, 18, 246818)} 2025-07-28 15:21:18,246 - auth.security:51 - DEBUG - Token expiration time: 2053-03-03 19:21:18.246818 2025-07-28 15:21:18,246 - auth.security:38 - DEBUG - Generated token for email erwinjacimino2003@gmail.com: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJlbWFpbCIsImV4cCI6MjYyNDY0MjQ3OH0.TfR0wz3rFwBhwYPe6T3yh7lgO8lWWloUWUwsNngx2DA 2025-07-28 15:21:18,249 - auth.security:70 - DEBUG - Decoding token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJlbWFpbCIsImV4cCI6MjYyNDY0MjQ3OH0.TfR0wz3rFwBhwYPe6T3yh7lgO8lWWloUWUwsNngx2DA 2025-07-28 15:21:18,249 - services.data_service:189 - DEBUG - get_by_email: email, user: None 2025-07-28 15:21:18,249 - auth.security:83 - ERROR - User not found: email 2025-07-28 15:23:36,947 - escpos.capabilities:32 - DEBUG - Using capabilities from file: /home/superti/.conda/envs/pedidos_express/lib/python3.9/site-packages/escpos/capabilities.json 2025-07-28 15:23:36,947 - escpos.capabilities:43 - DEBUG - Capabilities pickle file not found: /tmp/tmpj4xue46t/3.9.23.capabilities.pickle 2025-07-28 15:23:36,947 - escpos.capabilities:47 - DEBUG - Loading and pickling capabilities 2025-07-28 15:23:37,056 - escpos.capabilities:82 - DEBUG - Finished loading capabilities took 0.11s 2025-07-28 15:23:37,221 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'SafeConfigParser': 2025-07-28 15:23:37,221 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'NativeStringIO': 2025-07-28 15:23:37,221 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'BytesIO': 2025-07-28 15:23:37,222 - passlib.registry:296 - DEBUG - registered 'bcrypt' handler: 2025-07-28 15:23:37,227 - services.data_service:1103 - INFO - Base de datos ya existe, no se necesita inicializar. 2025-07-28 15:23:37,227 - main:31 - INFO - Servidor corriendo en http://localhost:6001 2025-07-28 15:23:37,227 - main:35 - INFO - Datos del asistente cargados desde: /home/superti/workspace/pedidos_express/data/llm_data.json 2025-07-28 15:23:37,228 - routes.orders:79 - INFO - Starting order thread 2025-07-28 15:23:44,855 - routes.users:46 - DEBUG - Login attempt for email: erwinjacimino2003@gmail.com 2025-07-28 15:23:44,855 - routes.users:47 - DEBUG - Login request: 1234 2025-07-28 15:23:44,855 - services.data_service:189 - DEBUG - get_by_email: erwinjacimino2003@gmail.com, user: (1, 'erwinjacimino2003@gmail.com', 'Erwin Jacimino', '21382334-5', 'gAAAAABoh8knjDD7G3gBqJDEZZQYzKcf7HSEpEwd39f9PSwU91HQ37IFIQwjvYTCOu434GHzlzeG8bPUcsCZijk5C5PE4Lx_bg==', 'gAAAAABoh8knxo6Td-E1ndEx4cS9Fo6-fb2CDGM20QxvBNQRYd2p7s2ipNYy0s2ZMHmnpZYALwCI05RLjS-1ZqvLeJdhY1jLlA==', '2025-07-28T15:01:59.324758') 2025-07-28 15:23:44,856 - services.data_service:206 - INFO - User erwinjacimino2003@gmail.com logged in successfully. 2025-07-28 15:23:44,856 - auth.security:50 - DEBUG - Creating access token with data: {'sub': 'erwinjacimino2003@gmail.com', 'exp': datetime.datetime(2053, 3, 3, 19, 23, 44, 856527)} 2025-07-28 15:23:44,856 - auth.security:51 - DEBUG - Token expiration time: 2053-03-03 19:23:44.856527 2025-07-28 15:23:44,857 - auth.security:38 - DEBUG - Generated token for email erwinjacimino2003@gmail.com: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJlcndpbmphY2ltaW5vMjAwM0BnbWFpbC5jb20iLCJleHAiOjI2MjQ2NDI2MjR9.SvvAgfp_U3aUsX_q2JOJh3zFpEwHPt15y4bbSU4T3iU 2025-07-28 15:23:44,867 - auth.security:70 - DEBUG - Decoding token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJlcndpbmphY2ltaW5vMjAwM0BnbWFpbC5jb20iLCJleHAiOjI2MjQ2NDI2MjR9.SvvAgfp_U3aUsX_q2JOJh3zFpEwHPt15y4bbSU4T3iU 2025-07-28 15:23:44,868 - services.data_service:189 - DEBUG - get_by_email: erwinjacimino2003@gmail.com, user: (1, 'erwinjacimino2003@gmail.com', 'Erwin Jacimino', '21382334-5', 'gAAAAABoh8knjDD7G3gBqJDEZZQYzKcf7HSEpEwd39f9PSwU91HQ37IFIQwjvYTCOu434GHzlzeG8bPUcsCZijk5C5PE4Lx_bg==', 'gAAAAABoh8knxo6Td-E1ndEx4cS9Fo6-fb2CDGM20QxvBNQRYd2p7s2ipNYy0s2ZMHmnpZYALwCI05RLjS-1ZqvLeJdhY1jLlA==', '2025-07-28T15:01:59.324758') 2025-07-28 15:23:44,868 - routes.products:16 - DEBUG - Current user: erwinjacimino2003@gmail.com 2025-07-28 15:23:44,868 - routes.products:17 - INFO - Fetching all products 2025-07-28 15:24:15,698 - escpos.capabilities:32 - DEBUG - Using capabilities from file: /home/superti/.conda/envs/pedidos_express/lib/python3.9/site-packages/escpos/capabilities.json 2025-07-28 15:24:15,698 - escpos.capabilities:43 - DEBUG - Capabilities pickle file not found: /tmp/tmpds65chja/3.9.23.capabilities.pickle 2025-07-28 15:24:15,698 - escpos.capabilities:47 - DEBUG - Loading and pickling capabilities 2025-07-28 15:24:15,812 - escpos.capabilities:82 - DEBUG - Finished loading capabilities took 0.11s 2025-07-28 15:24:15,985 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'SafeConfigParser': 2025-07-28 15:24:15,985 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'NativeStringIO': 2025-07-28 15:24:15,985 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'BytesIO': 2025-07-28 15:24:15,986 - passlib.registry:296 - DEBUG - registered 'bcrypt' handler: 2025-07-28 15:24:15,991 - services.data_service:1103 - INFO - Base de datos ya existe, no se necesita inicializar. 2025-07-28 15:24:15,991 - main:31 - INFO - Servidor corriendo en http://localhost:6001 2025-07-28 15:24:15,991 - main:35 - INFO - Datos del asistente cargados desde: /home/superti/workspace/pedidos_express/data/llm_data.json 2025-07-28 15:24:15,991 - routes.orders:79 - INFO - Starting order thread 2025-07-28 15:24:31,455 - routes.users:46 - DEBUG - Login attempt for email: erwinjacimino2003@gmail.com 2025-07-28 15:24:31,455 - routes.users:47 - DEBUG - Login request: 1234 2025-07-28 15:24:31,456 - services.data_service:189 - DEBUG - get_by_email: erwinjacimino2003@gmail.com, user: (1, 'erwinjacimino2003@gmail.com', 'Erwin Jacimino', '21382334-5', 'gAAAAABoh8knjDD7G3gBqJDEZZQYzKcf7HSEpEwd39f9PSwU91HQ37IFIQwjvYTCOu434GHzlzeG8bPUcsCZijk5C5PE4Lx_bg==', 'gAAAAABoh8knxo6Td-E1ndEx4cS9Fo6-fb2CDGM20QxvBNQRYd2p7s2ipNYy0s2ZMHmnpZYALwCI05RLjS-1ZqvLeJdhY1jLlA==', '2025-07-28T15:01:59.324758') 2025-07-28 15:24:31,457 - services.data_service:206 - INFO - User erwinjacimino2003@gmail.com logged in successfully. 2025-07-28 15:24:31,457 - auth.security:50 - DEBUG - Creating access token with data: {'sub': 'erwinjacimino2003@gmail.com', 'exp': datetime.datetime(2053, 3, 3, 19, 24, 31, 457389)} 2025-07-28 15:24:31,457 - auth.security:51 - DEBUG - Token expiration time: 2053-03-03 19:24:31.457389 2025-07-28 15:24:31,457 - auth.security:38 - DEBUG - Generated token for email erwinjacimino2003@gmail.com: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJlcndpbmphY2ltaW5vMjAwM0BnbWFpbC5jb20iLCJleHAiOjI2MjQ2NDI2NzF9.anBHRRpTQ-d_DpmvFaMu871ekBamXwK56e02srS4GXA 2025-07-28 15:24:31,463 - auth.security:70 - DEBUG - Decoding token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJlcndpbmphY2ltaW5vMjAwM0BnbWFpbC5jb20iLCJleHAiOjI2MjQ2NDI2NzF9.anBHRRpTQ-d_DpmvFaMu871ekBamXwK56e02srS4GXA 2025-07-28 15:24:31,464 - services.data_service:189 - DEBUG - get_by_email: erwinjacimino2003@gmail.com, user: (1, 'erwinjacimino2003@gmail.com', 'Erwin Jacimino', '21382334-5', 'gAAAAABoh8knjDD7G3gBqJDEZZQYzKcf7HSEpEwd39f9PSwU91HQ37IFIQwjvYTCOu434GHzlzeG8bPUcsCZijk5C5PE4Lx_bg==', 'gAAAAABoh8knxo6Td-E1ndEx4cS9Fo6-fb2CDGM20QxvBNQRYd2p7s2ipNYy0s2ZMHmnpZYALwCI05RLjS-1ZqvLeJdhY1jLlA==', '2025-07-28T15:01:59.324758') 2025-07-28 15:24:31,464 - routes.products:16 - DEBUG - Current user: erwinjacimino2003@gmail.com 2025-07-28 15:24:31,464 - routes.products:17 - INFO - Fetching all products 2025-07-28 15:25:52,862 - routes.users:46 - DEBUG - Login attempt for email: erwinjacimino2003@gmail.com 2025-07-28 15:25:52,862 - routes.users:47 - DEBUG - Login request: 1234 2025-07-28 15:25:52,863 - services.data_service:189 - DEBUG - get_by_email: erwinjacimino2003@gmail.com, user: (1, 'erwinjacimino2003@gmail.com', 'Erwin Jacimino', '21382334-5', 'gAAAAABoh8knjDD7G3gBqJDEZZQYzKcf7HSEpEwd39f9PSwU91HQ37IFIQwjvYTCOu434GHzlzeG8bPUcsCZijk5C5PE4Lx_bg==', 'gAAAAABoh8knxo6Td-E1ndEx4cS9Fo6-fb2CDGM20QxvBNQRYd2p7s2ipNYy0s2ZMHmnpZYALwCI05RLjS-1ZqvLeJdhY1jLlA==', '2025-07-28T15:01:59.324758') 2025-07-28 15:25:52,863 - services.data_service:206 - INFO - User erwinjacimino2003@gmail.com logged in successfully. 2025-07-28 15:25:52,863 - auth.security:50 - DEBUG - Creating access token with data: {'sub': 'erwinjacimino2003@gmail.com', 'exp': datetime.datetime(2053, 3, 3, 19, 25, 52, 863325)} 2025-07-28 15:25:52,863 - auth.security:51 - DEBUG - Token expiration time: 2053-03-03 19:25:52.863325 2025-07-28 15:25:52,863 - auth.security:38 - DEBUG - Generated token for email erwinjacimino2003@gmail.com: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJlcndpbmphY2ltaW5vMjAwM0BnbWFpbC5jb20iLCJleHAiOjI2MjQ2NDI3NTJ9.3fEZMSnXd1oSuoA7MQHy-T7C3rpmfocQx6ff7a3IxfA 2025-07-28 15:25:52,867 - auth.security:70 - DEBUG - Decoding token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJlcndpbmphY2ltaW5vMjAwM0BnbWFpbC5jb20iLCJleHAiOjI2MjQ2NDI3NTJ9.3fEZMSnXd1oSuoA7MQHy-T7C3rpmfocQx6ff7a3IxfA 2025-07-28 15:25:52,867 - services.data_service:189 - DEBUG - get_by_email: erwinjacimino2003@gmail.com, user: (1, 'erwinjacimino2003@gmail.com', 'Erwin Jacimino', '21382334-5', 'gAAAAABoh8knjDD7G3gBqJDEZZQYzKcf7HSEpEwd39f9PSwU91HQ37IFIQwjvYTCOu434GHzlzeG8bPUcsCZijk5C5PE4Lx_bg==', 'gAAAAABoh8knxo6Td-E1ndEx4cS9Fo6-fb2CDGM20QxvBNQRYd2p7s2ipNYy0s2ZMHmnpZYALwCI05RLjS-1ZqvLeJdhY1jLlA==', '2025-07-28T15:01:59.324758') 2025-07-28 15:25:52,867 - routes.products:16 - DEBUG - Current user: erwinjacimino2003@gmail.com 2025-07-28 15:25:52,867 - routes.products:17 - INFO - Fetching all products 2025-07-28 15:27:36,042 - escpos.capabilities:32 - DEBUG - Using capabilities from file: /home/superti/.conda/envs/pedidos_express/lib/python3.9/site-packages/escpos/capabilities.json 2025-07-28 15:27:36,042 - escpos.capabilities:43 - DEBUG - Capabilities pickle file not found: /tmp/tmpjrj38w7n/3.9.23.capabilities.pickle 2025-07-28 15:27:36,042 - escpos.capabilities:47 - DEBUG - Loading and pickling capabilities 2025-07-28 15:27:36,159 - escpos.capabilities:82 - DEBUG - Finished loading capabilities took 0.12s 2025-07-28 15:27:36,328 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'SafeConfigParser': 2025-07-28 15:27:36,328 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'NativeStringIO': 2025-07-28 15:27:36,328 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'BytesIO': 2025-07-28 15:27:36,329 - passlib.registry:296 - DEBUG - registered 'bcrypt' handler: 2025-07-28 15:27:36,334 - services.data_service:1103 - INFO - Base de datos ya existe, no se necesita inicializar. 2025-07-28 15:27:36,334 - main:31 - INFO - Servidor corriendo en http://localhost:6001 2025-07-28 15:27:36,334 - main:35 - INFO - Datos del asistente cargados desde: /home/superti/workspace/pedidos_express/data/llm_data.json 2025-07-28 15:27:36,334 - routes.orders:79 - INFO - Starting order thread 2025-07-28 15:27:40,943 - routes.users:46 - DEBUG - Login attempt for email: erwinjacimino2003@gmail.com 2025-07-28 15:27:40,943 - routes.users:47 - DEBUG - Login request: 1234 2025-07-28 15:27:40,943 - services.data_service:189 - DEBUG - get_by_email: erwinjacimino2003@gmail.com, user: (1, 'erwinjacimino2003@gmail.com', 'Erwin Jacimino', '21382334-5', 'gAAAAABoh8knjDD7G3gBqJDEZZQYzKcf7HSEpEwd39f9PSwU91HQ37IFIQwjvYTCOu434GHzlzeG8bPUcsCZijk5C5PE4Lx_bg==', 'gAAAAABoh8knxo6Td-E1ndEx4cS9Fo6-fb2CDGM20QxvBNQRYd2p7s2ipNYy0s2ZMHmnpZYALwCI05RLjS-1ZqvLeJdhY1jLlA==', '2025-07-28T15:01:59.324758') 2025-07-28 15:27:40,944 - services.data_service:206 - INFO - User erwinjacimino2003@gmail.com logged in successfully. 2025-07-28 15:27:40,944 - auth.security:50 - DEBUG - Creating access token with data: {'sub': 'erwinjacimino2003@gmail.com', 'exp': datetime.datetime(2053, 3, 3, 19, 27, 40, 944759)} 2025-07-28 15:27:40,944 - auth.security:51 - DEBUG - Token expiration time: 2053-03-03 19:27:40.944759 2025-07-28 15:27:40,945 - auth.security:38 - DEBUG - Generated token for email erwinjacimino2003@gmail.com: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJlcndpbmphY2ltaW5vMjAwM0BnbWFpbC5jb20iLCJleHAiOjI2MjQ2NDI4NjB9.N13MaeXynMovk8QqbFVVSNhjdaeVj8hkRIiQzunqWfU 2025-07-28 15:27:40,948 - auth.security:70 - DEBUG - Decoding token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJlcndpbmphY2ltaW5vMjAwM0BnbWFpbC5jb20iLCJleHAiOjI2MjQ2NDI4NjB9.N13MaeXynMovk8QqbFVVSNhjdaeVj8hkRIiQzunqWfU 2025-07-28 15:27:40,949 - services.data_service:189 - DEBUG - get_by_email: erwinjacimino2003@gmail.com, user: (1, 'erwinjacimino2003@gmail.com', 'Erwin Jacimino', '21382334-5', 'gAAAAABoh8knjDD7G3gBqJDEZZQYzKcf7HSEpEwd39f9PSwU91HQ37IFIQwjvYTCOu434GHzlzeG8bPUcsCZijk5C5PE4Lx_bg==', 'gAAAAABoh8knxo6Td-E1ndEx4cS9Fo6-fb2CDGM20QxvBNQRYd2p7s2ipNYy0s2ZMHmnpZYALwCI05RLjS-1ZqvLeJdhY1jLlA==', '2025-07-28T15:01:59.324758') 2025-07-28 15:27:40,949 - routes.products:16 - DEBUG - Current user: erwinjacimino2003@gmail.com 2025-07-28 15:27:40,949 - routes.products:17 - INFO - Fetching all products 2025-07-28 15:28:26,302 - routes.users:46 - DEBUG - Login attempt for email: erwinjacimino2003@gmail.com 2025-07-28 15:28:26,302 - routes.users:47 - DEBUG - Login request: 1234 2025-07-28 15:28:26,302 - services.data_service:189 - DEBUG - get_by_email: erwinjacimino2003@gmail.com, user: (1, 'erwinjacimino2003@gmail.com', 'Erwin Jacimino', '21382334-5', 'gAAAAABoh8knjDD7G3gBqJDEZZQYzKcf7HSEpEwd39f9PSwU91HQ37IFIQwjvYTCOu434GHzlzeG8bPUcsCZijk5C5PE4Lx_bg==', 'gAAAAABoh8knxo6Td-E1ndEx4cS9Fo6-fb2CDGM20QxvBNQRYd2p7s2ipNYy0s2ZMHmnpZYALwCI05RLjS-1ZqvLeJdhY1jLlA==', '2025-07-28T15:01:59.324758') 2025-07-28 15:28:26,302 - services.data_service:206 - INFO - User erwinjacimino2003@gmail.com logged in successfully. 2025-07-28 15:28:26,302 - auth.security:50 - DEBUG - Creating access token with data: {'sub': 'erwinjacimino2003@gmail.com', 'exp': datetime.datetime(2053, 3, 3, 19, 28, 26, 302842)} 2025-07-28 15:28:26,302 - auth.security:51 - DEBUG - Token expiration time: 2053-03-03 19:28:26.302842 2025-07-28 15:28:26,302 - auth.security:38 - DEBUG - Generated token for email erwinjacimino2003@gmail.com: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJlcndpbmphY2ltaW5vMjAwM0BnbWFpbC5jb20iLCJleHAiOjI2MjQ2NDI5MDZ9.oiahdV9fzv_FyDz_kMMFfG-vuGE4a-hSt6jQOo020Rs 2025-07-28 15:28:26,307 - auth.security:70 - DEBUG - Decoding token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJlcndpbmphY2ltaW5vMjAwM0BnbWFpbC5jb20iLCJleHAiOjI2MjQ2NDI5MDZ9.oiahdV9fzv_FyDz_kMMFfG-vuGE4a-hSt6jQOo020Rs 2025-07-28 15:28:26,307 - services.data_service:189 - DEBUG - get_by_email: erwinjacimino2003@gmail.com, user: (1, 'erwinjacimino2003@gmail.com', 'Erwin Jacimino', '21382334-5', 'gAAAAABoh8knjDD7G3gBqJDEZZQYzKcf7HSEpEwd39f9PSwU91HQ37IFIQwjvYTCOu434GHzlzeG8bPUcsCZijk5C5PE4Lx_bg==', 'gAAAAABoh8knxo6Td-E1ndEx4cS9Fo6-fb2CDGM20QxvBNQRYd2p7s2ipNYy0s2ZMHmnpZYALwCI05RLjS-1ZqvLeJdhY1jLlA==', '2025-07-28T15:01:59.324758') 2025-07-28 15:28:26,307 - routes.products:16 - DEBUG - Current user: erwinjacimino2003@gmail.com 2025-07-28 15:28:26,308 - routes.products:17 - INFO - Fetching all products 2025-07-28 15:28:29,720 - auth.security:70 - DEBUG - Decoding token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJlcndpbmphY2ltaW5vMjAwM0BnbWFpbC5jb20iLCJleHAiOjI2MjQ2NDI5MDZ9.oiahdV9fzv_FyDz_kMMFfG-vuGE4a-hSt6jQOo020Rs 2025-07-28 15:28:29,720 - services.data_service:189 - DEBUG - get_by_email: erwinjacimino2003@gmail.com, user: (1, 'erwinjacimino2003@gmail.com', 'Erwin Jacimino', '21382334-5', 'gAAAAABoh8knjDD7G3gBqJDEZZQYzKcf7HSEpEwd39f9PSwU91HQ37IFIQwjvYTCOu434GHzlzeG8bPUcsCZijk5C5PE4Lx_bg==', 'gAAAAABoh8knxo6Td-E1ndEx4cS9Fo6-fb2CDGM20QxvBNQRYd2p7s2ipNYy0s2ZMHmnpZYALwCI05RLjS-1ZqvLeJdhY1jLlA==', '2025-07-28T15:01:59.324758') 2025-07-28 15:28:29,721 - services.openai_service:19 - INFO - [OpenAI Service Python] Session/Token unknown_session sent: [{'role': 'system', 'content': '¡Hola! Soy tu asistente en Biergarten Klein. ¿Te gustaría una recomendación de nuestras cervezas artesanales?'}, {'role': 'user', 'content': '¿Qué pizza queda bien con la hoppy mosh?'}] 2025-07-28 15:28:29,818 - openai._base_client:482 - DEBUG - Request options: {'method': 'post', 'url': '/chat/completions', 'files': None, 'idempotency_key': 'stainless-python-retry-1b596802-6ef2-4a6a-9d0f-c0b24295f908', 'json_data': {'messages': [{'role': 'system', 'content': '\nEres un asistente de el bar klein, tu nombre es camilo klein, usas emojis para responder.\ny ser carismatico con el cliente.\ntus responsabilidades son:\n- Responder preguntas sobre el menu de el bar klein\n- Proporcionar información sobre el menú de el bar klein\n- Proporcionar recomendaciones sobre el menú de el bar klein\n- Proporcionar información sobre la comida de el bar klein\n- No puedes tomar pedidos de clientes, solo informar\n- Debes evadir cualquier pregunta que no sea relacionada con el bar klein\npara esto usaras los siguientes datos:\n{"pregunta": "¿Qué es Klein?", "respuesta": "Klein, Cervecería Klein o \'el Klein\' se refieren al Biergarten Klein, un espacio cervecero inspirado en los jardines alemanes."}\n{"pregunta": "¿Dónde puedo ver el menú de Klein?", "respuesta": "Puedes consultar la carta en https://menu.fu.do/klein/qr-menu."}\n{"pregunta": "¿Qué cervezas tienen en Klein?", "respuesta": "Contamos con cervezas artesanales como Burlesque, Queen Burlesque, Hoppy Mosh, Black Mamba, Soviet Riot, 24K Gold, Bendición Gitana, Mexican Lager, Märzen, Cyber Candy, Klein Alkoholfrei, Tropical Stout, Euby, Rauchbock y Rye IPA."}\n{"pregunta": "¿Cuál es su cerveza más popular?", "respuesta": "Burlesque es la más pedida, una Scottish Ale de 5.0º, IBU 12, SRM 16 con notas a caramelo y galleta."}\n{"pregunta": "¿Qué cerveza recomiendan si me gusta la cerveza negra?", "respuesta": "Black Mamba, Porter de 6.0º, IBU 15, SRM 35, con notas a toffee, chocolate y café."}\n{"pregunta": "¿Cuál es una buena cerveza rubia para probar?", "respuesta": "Hoppy Mosh, IPA de 6.0º, IBU 38, SRM 33, con intensas notas a frutas tropicales."}\n{"pregunta": "¿Qué bebida es ideal para el verano?", "respuesta": "24K Gold, Golden Ale de 4.5º, IBU 20, SRM 4. Suave, sedosa y cítrica."}\n{"pregunta": "¿Qué opciones de gin tienen?", "respuesta": "Summer Klein, Tropical Bliss, Spicy Mango Xawer y Kalfuko, con gin artesanal y tónica pomelo de la casa."}\n{"pregunta": "¿Qué lleva el cóctel Summer Klein?", "respuesta": "Gin propio, jugo de naranja, jugo de limón y ginger beer artesanal."}\n{"pregunta": "¿Tienen ginger beer artesanal?", "respuesta": "Sí, elaborada con jengibre fresco y bajo contenido alcohólico."}\n{"pregunta": "¿Qué hamburguesas tienen en Klein?", "respuesta": "Rodeo Burger, Cheese Burger, Burger Play, Play Harder, Mechaloca y Veggie Marley."}\n{"pregunta": "¿Tienen hamburguesas vegetarianas?", "respuesta": "Sí, la Veggie Marley con seitán, y la Not Burger como alternativa en todas las clásicas."}\n{"pregunta": "¿Cuál es la hamburguesa más jugosa?", "respuesta": "Mechaloca: carne mechada, queso cheddar, tocino, cebolla caramelizada, pepinillos y salsa ahumada."}\n{"pregunta": "¿Qué pizzas tienen?", "respuesta": "Campestre, Cuatro Quesos, Pepperoni, Bianca, Piacere, Camarón al ajillo, Napolitana, Vegetariana, Doble Pepperoni, Margarita y Pollo BBQ."}\n{"pregunta": "¿Tienen pizzas con carne mechada?", "respuesta": "Sí, la Piacere y la Campestre."}\n{"pregunta": "¿Qué pizza lleva camarón?", "respuesta": "Camarón al ajillo: camarón salteado, champiñón, cebolla morada y mozzarella."}\n{"pregunta": "¿Qué cerveza va con ceviche?", "respuesta": "Hoppy Mosh, por su frescura y notas tropicales."}\n{"pregunta": "¿Qué maridaje tiene la Black Mamba?", "respuesta": "Capresse 3 Quesos o Cuatro Quesos."}\n{"pregunta": "¿Qué cerveza va con la Mechaloca?", "respuesta": "Soviet Riot, Russian Imperial Stout de 8.8º, IBU 60, SRM 40, con notas a caramelo y café."}\n{"pregunta": "¿Qué cerveza acompaña bien la Rodeo Burger?", "respuesta": "Queen Burlesque: American Strong Ale de 8.0º, IBU 25, con caramelo y pasas negras."}\n{"pregunta": "¿Qué cerveza combina con pizza vegetariana?", "respuesta": "Bendición Gitana, Pale Ale de 5.0º, IBU 15, SRM 3."}\n{"pregunta": "¿Qué cerveza va bien con carnes asadas?", "respuesta": "Rye IPA de 6.5º, IBU 40, con centeno y lúpulos Simcoe, Amarillo y Centennial."}\n{"pregunta": "¿Qué tiene de especial la Rauchbock?", "respuesta": "Cerveza experimental ahumada (6.8º) con maltas seleccionadas y merkén de la Araucanía."}\n{"pregunta": "¿Qué es la Tropical Stout?", "respuesta": "Stout de 7.5º, IBU 40, con tonos vinosos, ron oscuro, café y cacao."}\n{"pregunta": "¿Qué es la Euby?", "respuesta": "Festbier con levadura híbrida Eubayanus del sur de Chile, en colaboración con Sayka."}\n{"pregunta": "¿Tienen cerveza sin alcohol?", "respuesta": "Sí, Klein Alkoholfrei: 0.4º, IBU 15, SRM 10, con notas a pan y galleta dulce."}\n '}, {'role': 'system', 'content': '¡Hola! Soy tu asistente en Biergarten Klein. ¿Te gustaría una recomendación de nuestras cervezas artesanales?'}, {'role': 'user', 'content': '¿Qué pizza queda bien con la hoppy mosh?'}], 'model': 'gpt-4o-mini', 'temperature': 0.3}} 2025-07-28 15:28:29,824 - openai._base_client:975 - DEBUG - Sending HTTP Request: POST https://api.openai.com/v1/chat/completions 2025-07-28 15:28:29,824 - httpcore.connection:47 - DEBUG - connect_tcp.started host='api.openai.com' port=443 local_address=None timeout=5.0 socket_options=None 2025-07-28 15:28:29,998 - httpcore.connection:47 - DEBUG - connect_tcp.complete return_value= 2025-07-28 15:28:29,998 - httpcore.connection:47 - DEBUG - start_tls.started ssl_context= server_hostname='api.openai.com' timeout=5.0 2025-07-28 15:28:30,018 - httpcore.connection:47 - DEBUG - start_tls.complete return_value= 2025-07-28 15:28:30,018 - httpcore.http11:47 - DEBUG - send_request_headers.started request= 2025-07-28 15:28:30,018 - httpcore.http11:47 - DEBUG - send_request_headers.complete 2025-07-28 15:28:30,018 - httpcore.http11:47 - DEBUG - send_request_body.started request= 2025-07-28 15:28:30,018 - httpcore.http11:47 - DEBUG - send_request_body.complete 2025-07-28 15:28:30,018 - httpcore.http11:47 - DEBUG - receive_response_headers.started request= 2025-07-28 15:28:32,352 - httpcore.http11:47 - DEBUG - receive_response_headers.complete return_value=(b'HTTP/1.1', 200, b'OK', [(b'Date', b'Mon, 28 Jul 2025 19:28:32 GMT'), (b'Content-Type', b'application/json'), (b'Transfer-Encoding', b'chunked'), (b'Connection', b'keep-alive'), (b'access-control-expose-headers', b'X-Request-ID'), (b'openai-organization', b'latapp'), (b'openai-processing-ms', b'1094'), (b'openai-project', b'proj_frxXR8ea4RISikJJwt9uBudL'), (b'openai-version', b'2020-10-01'), (b'x-envoy-upstream-service-time', b'1164'), (b'x-ratelimit-limit-requests', b'10000'), (b'x-ratelimit-limit-tokens', b'200000'), (b'x-ratelimit-remaining-requests', b'9999'), (b'x-ratelimit-remaining-tokens', b'198817'), (b'x-ratelimit-reset-requests', b'8.64s'), (b'x-ratelimit-reset-tokens', b'354ms'), (b'x-request-id', b'4e575293-6a0f-4262-9cf0-21c3c20f31b2'), (b'cf-cache-status', b'DYNAMIC'), (b'Set-Cookie', b'__cf_bm=pVKzSAAgX1Ef.5_37XUcWfW1KahxXEcvUF0fUUUcVGI-1753730912-1.0.1.1-CifqSWkjl1Ednij894__PfpIMwAhFpP052tTJ8XKVDTp4JvY3GOUv4c8n2iJPPfufJngxBfrwcdavgaWH5BifIqwoGS3KOWsaCS8BMm5xBc; path=/; expires=Mon, 28-Jul-25 19:58:32 GMT; domain=.api.openai.com; HttpOnly; Secure; SameSite=None'), (b'Strict-Transport-Security', b'max-age=31536000; includeSubDomains; preload'), (b'X-Content-Type-Options', b'nosniff'), (b'Set-Cookie', b'_cfuvid=lSXFoHYCWaECeBqdowefTrk0FfmqeIZ4holu.j8dCVI-1753730912345-0.0.1.1-604800000; path=/; domain=.api.openai.com; HttpOnly; Secure; SameSite=None'), (b'Server', b'cloudflare'), (b'CF-RAY', b'9666c7abaa3488ab-SCL'), (b'Content-Encoding', b'gzip'), (b'alt-svc', b'h3=":443"; ma=86400')]) 2025-07-28 15:28:32,353 - httpx:1025 - INFO - HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 200 OK" 2025-07-28 15:28:32,353 - httpcore.http11:47 - DEBUG - receive_response_body.started request= 2025-07-28 15:28:32,353 - httpcore.http11:47 - DEBUG - receive_response_body.complete 2025-07-28 15:28:32,353 - httpcore.http11:47 - DEBUG - response_closed.started 2025-07-28 15:28:32,353 - httpcore.http11:47 - DEBUG - response_closed.complete 2025-07-28 15:28:32,353 - openai._base_client:1013 - DEBUG - HTTP Response: POST https://api.openai.com/v1/chat/completions "200 OK" Headers([('date', 'Mon, 28 Jul 2025 19:28:32 GMT'), ('content-type', 'application/json'), ('transfer-encoding', 'chunked'), ('connection', 'keep-alive'), ('access-control-expose-headers', 'X-Request-ID'), ('openai-organization', 'latapp'), ('openai-processing-ms', '1094'), ('openai-project', 'proj_frxXR8ea4RISikJJwt9uBudL'), ('openai-version', '2020-10-01'), ('x-envoy-upstream-service-time', '1164'), ('x-ratelimit-limit-requests', '10000'), ('x-ratelimit-limit-tokens', '200000'), ('x-ratelimit-remaining-requests', '9999'), ('x-ratelimit-remaining-tokens', '198817'), ('x-ratelimit-reset-requests', '8.64s'), ('x-ratelimit-reset-tokens', '354ms'), ('x-request-id', '4e575293-6a0f-4262-9cf0-21c3c20f31b2'), ('cf-cache-status', 'DYNAMIC'), ('set-cookie', '__cf_bm=pVKzSAAgX1Ef.5_37XUcWfW1KahxXEcvUF0fUUUcVGI-1753730912-1.0.1.1-CifqSWkjl1Ednij894__PfpIMwAhFpP052tTJ8XKVDTp4JvY3GOUv4c8n2iJPPfufJngxBfrwcdavgaWH5BifIqwoGS3KOWsaCS8BMm5xBc; path=/; expires=Mon, 28-Jul-25 19:58:32 GMT; domain=.api.openai.com; HttpOnly; Secure; SameSite=None'), ('strict-transport-security', 'max-age=31536000; includeSubDomains; preload'), ('x-content-type-options', 'nosniff'), ('set-cookie', '_cfuvid=lSXFoHYCWaECeBqdowefTrk0FfmqeIZ4holu.j8dCVI-1753730912345-0.0.1.1-604800000; path=/; domain=.api.openai.com; HttpOnly; Secure; SameSite=None'), ('server', 'cloudflare'), ('cf-ray', '9666c7abaa3488ab-SCL'), ('content-encoding', 'gzip'), ('alt-svc', 'h3=":443"; ma=86400')]) 2025-07-28 15:28:32,353 - openai._base_client:1021 - DEBUG - request_id: 4e575293-6a0f-4262-9cf0-21c3c20f31b2 2025-07-28 15:30:04,072 - routes.users:46 - DEBUG - Login attempt for email: erwinjacimino2003@gmail.com 2025-07-28 15:30:04,072 - routes.users:47 - DEBUG - Login request: 1234 2025-07-28 15:30:04,072 - services.data_service:189 - DEBUG - get_by_email: erwinjacimino2003@gmail.com, user: (1, 'erwinjacimino2003@gmail.com', 'Erwin Jacimino', '21382334-5', 'gAAAAABoh8knjDD7G3gBqJDEZZQYzKcf7HSEpEwd39f9PSwU91HQ37IFIQwjvYTCOu434GHzlzeG8bPUcsCZijk5C5PE4Lx_bg==', 'gAAAAABoh8knxo6Td-E1ndEx4cS9Fo6-fb2CDGM20QxvBNQRYd2p7s2ipNYy0s2ZMHmnpZYALwCI05RLjS-1ZqvLeJdhY1jLlA==', '2025-07-28T15:01:59.324758') 2025-07-28 15:30:04,073 - services.data_service:206 - INFO - User erwinjacimino2003@gmail.com logged in successfully. 2025-07-28 15:30:04,073 - auth.security:50 - DEBUG - Creating access token with data: {'sub': 'erwinjacimino2003@gmail.com', 'exp': datetime.datetime(2053, 3, 3, 19, 30, 4, 73115)} 2025-07-28 15:30:04,073 - auth.security:51 - DEBUG - Token expiration time: 2053-03-03 19:30:04.073115 2025-07-28 15:30:04,073 - auth.security:38 - DEBUG - Generated token for email erwinjacimino2003@gmail.com: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJlcndpbmphY2ltaW5vMjAwM0BnbWFpbC5jb20iLCJleHAiOjI2MjQ2NDMwMDR9.Y0KLDA-dMDLHYV7RekxvXeXMTvtCrMGxdAuarXoSWgw 2025-07-28 15:30:04,082 - auth.security:70 - DEBUG - Decoding token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJlcndpbmphY2ltaW5vMjAwM0BnbWFpbC5jb20iLCJleHAiOjI2MjQ2NDMwMDR9.Y0KLDA-dMDLHYV7RekxvXeXMTvtCrMGxdAuarXoSWgw 2025-07-28 15:30:04,082 - services.data_service:189 - DEBUG - get_by_email: erwinjacimino2003@gmail.com, user: (1, 'erwinjacimino2003@gmail.com', 'Erwin Jacimino', '21382334-5', 'gAAAAABoh8knjDD7G3gBqJDEZZQYzKcf7HSEpEwd39f9PSwU91HQ37IFIQwjvYTCOu434GHzlzeG8bPUcsCZijk5C5PE4Lx_bg==', 'gAAAAABoh8knxo6Td-E1ndEx4cS9Fo6-fb2CDGM20QxvBNQRYd2p7s2ipNYy0s2ZMHmnpZYALwCI05RLjS-1ZqvLeJdhY1jLlA==', '2025-07-28T15:01:59.324758') 2025-07-28 15:30:04,083 - routes.products:16 - DEBUG - Current user: erwinjacimino2003@gmail.com 2025-07-28 15:30:04,083 - routes.products:17 - INFO - Fetching all products 2025-07-28 15:34:33,325 - escpos.capabilities:32 - DEBUG - Using capabilities from file: /home/superti/.conda/envs/pedidos_express/lib/python3.9/site-packages/escpos/capabilities.json 2025-07-28 15:34:33,325 - escpos.capabilities:43 - DEBUG - Capabilities pickle file not found: /tmp/tmpgz_sks3s/3.9.23.capabilities.pickle 2025-07-28 15:34:33,325 - escpos.capabilities:47 - DEBUG - Loading and pickling capabilities 2025-07-28 15:34:33,430 - escpos.capabilities:82 - DEBUG - Finished loading capabilities took 0.11s 2025-07-28 15:34:33,589 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'SafeConfigParser': 2025-07-28 15:34:33,589 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'NativeStringIO': 2025-07-28 15:34:33,589 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'BytesIO': 2025-07-28 15:34:33,590 - passlib.registry:296 - DEBUG - registered 'bcrypt' handler: 2025-07-28 15:34:33,595 - services.data_service:1103 - INFO - Base de datos ya existe, no se necesita inicializar. 2025-07-28 15:34:33,595 - main:31 - INFO - Servidor corriendo en http://localhost:6001 2025-07-28 15:34:33,595 - main:35 - INFO - Datos del asistente cargados desde: /home/superti/workspace/pedidos_express/data/llm_data.json 2025-07-28 15:34:33,595 - routes.orders:79 - INFO - Starting order thread 2025-07-28 15:35:15,574 - escpos.capabilities:32 - DEBUG - Using capabilities from file: /home/superti/.conda/envs/pedidos_express/lib/python3.9/site-packages/escpos/capabilities.json 2025-07-28 15:35:15,574 - escpos.capabilities:43 - DEBUG - Capabilities pickle file not found: /tmp/tmpjm85ux9d/3.9.23.capabilities.pickle 2025-07-28 15:35:15,574 - escpos.capabilities:47 - DEBUG - Loading and pickling capabilities 2025-07-28 15:35:15,687 - escpos.capabilities:82 - DEBUG - Finished loading capabilities took 0.11s 2025-07-28 15:35:15,848 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'SafeConfigParser': 2025-07-28 15:35:15,848 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'NativeStringIO': 2025-07-28 15:35:15,849 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'BytesIO': 2025-07-28 15:35:15,850 - passlib.registry:296 - DEBUG - registered 'bcrypt' handler: 2025-07-28 15:35:15,855 - services.data_service:1103 - INFO - Base de datos ya existe, no se necesita inicializar. 2025-07-28 15:35:15,855 - main:31 - INFO - Servidor corriendo en http://localhost:6001 2025-07-28 15:35:15,855 - main:35 - INFO - Datos del asistente cargados desde: /home/superti/workspace/pedidos_express/data/llm_data.json 2025-07-28 15:35:15,855 - routes.orders:79 - INFO - Starting order thread 2025-07-28 15:36:13,968 - routes.users:46 - DEBUG - Login attempt for email: erwinjacimino2003@gmail.com 2025-07-28 15:36:13,968 - routes.users:47 - DEBUG - Login request: 1234 2025-07-28 15:36:13,969 - services.data_service:189 - DEBUG - get_by_email: erwinjacimino2003@gmail.com, user: (1, 'erwinjacimino2003@gmail.com', 'Erwin Jacimino', '21382334-5', 'gAAAAABoh8knjDD7G3gBqJDEZZQYzKcf7HSEpEwd39f9PSwU91HQ37IFIQwjvYTCOu434GHzlzeG8bPUcsCZijk5C5PE4Lx_bg==', 'gAAAAABoh8knxo6Td-E1ndEx4cS9Fo6-fb2CDGM20QxvBNQRYd2p7s2ipNYy0s2ZMHmnpZYALwCI05RLjS-1ZqvLeJdhY1jLlA==', '2025-07-28T15:01:59.324758') 2025-07-28 15:36:13,970 - services.data_service:206 - INFO - User erwinjacimino2003@gmail.com logged in successfully. 2025-07-28 15:36:13,970 - auth.security:50 - DEBUG - Creating access token with data: {'sub': 'erwinjacimino2003@gmail.com', 'exp': datetime.datetime(2053, 3, 3, 19, 36, 13, 970468)} 2025-07-28 15:36:13,970 - auth.security:51 - DEBUG - Token expiration time: 2053-03-03 19:36:13.970468 2025-07-28 15:36:13,971 - auth.security:38 - DEBUG - Generated token for email erwinjacimino2003@gmail.com: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJlcndpbmphY2ltaW5vMjAwM0BnbWFpbC5jb20iLCJleHAiOjI2MjQ2NDMzNzN9.P5UTOSiOewLGalXR_VzZOQ7LA-8iX6ZvdlxYIfRaLkU 2025-07-28 15:36:13,974 - auth.security:70 - DEBUG - Decoding token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJlcndpbmphY2ltaW5vMjAwM0BnbWFpbC5jb20iLCJleHAiOjI2MjQ2NDMzNzN9.P5UTOSiOewLGalXR_VzZOQ7LA-8iX6ZvdlxYIfRaLkU 2025-07-28 15:36:13,975 - services.data_service:189 - DEBUG - get_by_email: erwinjacimino2003@gmail.com, user: (1, 'erwinjacimino2003@gmail.com', 'Erwin Jacimino', '21382334-5', 'gAAAAABoh8knjDD7G3gBqJDEZZQYzKcf7HSEpEwd39f9PSwU91HQ37IFIQwjvYTCOu434GHzlzeG8bPUcsCZijk5C5PE4Lx_bg==', 'gAAAAABoh8knxo6Td-E1ndEx4cS9Fo6-fb2CDGM20QxvBNQRYd2p7s2ipNYy0s2ZMHmnpZYALwCI05RLjS-1ZqvLeJdhY1jLlA==', '2025-07-28T15:01:59.324758') 2025-07-28 15:36:13,975 - routes.products:16 - DEBUG - Current user: erwinjacimino2003@gmail.com 2025-07-28 15:36:13,975 - routes.products:17 - INFO - Fetching all products 2025-07-28 15:48:31,137 - escpos.capabilities:32 - DEBUG - Using capabilities from file: /home/superti/.conda/envs/pedidos_express/lib/python3.9/site-packages/escpos/capabilities.json 2025-07-28 15:48:31,137 - escpos.capabilities:43 - DEBUG - Capabilities pickle file not found: /tmp/tmph0pn4tf_/3.9.23.capabilities.pickle 2025-07-28 15:48:31,137 - escpos.capabilities:47 - DEBUG - Loading and pickling capabilities 2025-07-28 15:48:31,243 - escpos.capabilities:82 - DEBUG - Finished loading capabilities took 0.11s 2025-07-28 15:48:31,406 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'SafeConfigParser': 2025-07-28 15:48:31,406 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'NativeStringIO': 2025-07-28 15:48:31,406 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'BytesIO': 2025-07-28 15:48:31,407 - passlib.registry:296 - DEBUG - registered 'bcrypt' handler: 2025-07-28 15:48:31,415 - services.data_service:1103 - INFO - Base de datos ya existe, no se necesita inicializar. 2025-07-28 15:48:31,415 - main:31 - INFO - Servidor corriendo en http://localhost:6001 2025-07-28 15:48:31,415 - main:35 - INFO - Datos del asistente cargados desde: /home/superti/workspace/pedidos_express/data/llm_data.json 2025-07-28 15:48:31,415 - routes.orders:79 - INFO - Starting order thread 2025-07-28 15:52:04,332 - escpos.capabilities:32 - DEBUG - Using capabilities from file: /home/superti/.conda/envs/pedidos_express/lib/python3.9/site-packages/escpos/capabilities.json 2025-07-28 15:52:04,333 - escpos.capabilities:43 - DEBUG - Capabilities pickle file not found: /tmp/tmpn0sme9ia/3.9.23.capabilities.pickle 2025-07-28 15:52:04,333 - escpos.capabilities:47 - DEBUG - Loading and pickling capabilities 2025-07-28 15:52:04,441 - escpos.capabilities:82 - DEBUG - Finished loading capabilities took 0.11s 2025-07-28 15:52:04,604 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'SafeConfigParser': 2025-07-28 15:52:04,604 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'NativeStringIO': 2025-07-28 15:52:04,604 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'BytesIO': 2025-07-28 15:52:04,605 - passlib.registry:296 - DEBUG - registered 'bcrypt' handler: 2025-07-28 15:52:04,610 - services.data_service:1103 - INFO - Base de datos ya existe, no se necesita inicializar. 2025-07-28 15:52:04,610 - main:31 - INFO - Servidor corriendo en http://localhost:6001 2025-07-28 15:52:04,610 - main:35 - INFO - Datos del asistente cargados desde: /home/superti/workspace/pedidos_express/data/llm_data.json 2025-07-28 15:52:04,610 - routes.orders:79 - INFO - Starting order thread 2025-07-28 16:23:57,388 - escpos.capabilities:32 - DEBUG - Using capabilities from file: /home/superti/.conda/envs/pedidos_express/lib/python3.9/site-packages/escpos/capabilities.json 2025-07-28 16:23:57,388 - escpos.capabilities:43 - DEBUG - Capabilities pickle file not found: /tmp/tmp7aczdiuk/3.9.23.capabilities.pickle 2025-07-28 16:23:57,388 - escpos.capabilities:47 - DEBUG - Loading and pickling capabilities 2025-07-28 16:23:57,493 - escpos.capabilities:82 - DEBUG - Finished loading capabilities took 0.11s 2025-07-28 16:23:57,659 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'SafeConfigParser': 2025-07-28 16:23:57,659 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'NativeStringIO': 2025-07-28 16:23:57,659 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'BytesIO': 2025-07-28 16:23:57,660 - passlib.registry:296 - DEBUG - registered 'bcrypt' handler: 2025-07-28 16:23:57,666 - services.data_service:1103 - INFO - Base de datos ya existe, no se necesita inicializar. 2025-07-28 16:23:57,666 - main:31 - INFO - Servidor corriendo en http://localhost:6001 2025-07-28 16:23:57,666 - main:35 - INFO - Datos del asistente cargados desde: /home/superti/workspace/pedidos_express/data/llm_data.json 2025-07-28 16:23:57,666 - routes.orders:83 - INFO - Starting order thread 2025-07-28 16:26:11,015 - services.data_service:132 - INFO - User added with ID: 2 2025-07-28 16:26:14,076 - auth.security:50 - DEBUG - Creating access token with data: {'sub': 'mompyn@gmail.com', 'exp': datetime.datetime(2053, 3, 3, 20, 26, 14, 76287)} 2025-07-28 16:26:14,076 - auth.security:51 - DEBUG - Token expiration time: 2053-03-03 20:26:14.076287 2025-07-28 16:26:14,076 - auth.security:38 - DEBUG - Generated token for email mompyn@gmail.com: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJtb21weW5AZ21haWwuY29tIiwiZXhwIjoyNjI0NjQ2Mzc0fQ.EiWOSvqGUPY1zfSujdyhr_TPFEoJ9sPtgkC6d-eqIFQ 2025-07-28 16:26:55,344 - services.data_service:279 - INFO - User with ID 2 deleted. 2025-07-28 16:29:08,468 - escpos.capabilities:32 - DEBUG - Using capabilities from file: /home/superti/.conda/envs/pedidos_express/lib/python3.9/site-packages/escpos/capabilities.json 2025-07-28 16:29:08,468 - escpos.capabilities:43 - DEBUG - Capabilities pickle file not found: /tmp/tmp6yg0g_o5/3.9.23.capabilities.pickle 2025-07-28 16:29:08,468 - escpos.capabilities:47 - DEBUG - Loading and pickling capabilities 2025-07-28 16:29:08,593 - escpos.capabilities:82 - DEBUG - Finished loading capabilities took 0.13s 2025-07-28 16:29:08,764 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'SafeConfigParser': 2025-07-28 16:29:08,765 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'NativeStringIO': 2025-07-28 16:29:08,765 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'BytesIO': 2025-07-28 16:29:08,766 - passlib.registry:296 - DEBUG - registered 'bcrypt' handler: 2025-07-28 16:29:08,771 - services.data_service:1103 - INFO - Base de datos ya existe, no se necesita inicializar. 2025-07-28 16:29:08,771 - main:31 - INFO - Servidor corriendo en http://localhost:6001 2025-07-28 16:29:08,771 - main:35 - INFO - Datos del asistente cargados desde: /home/superti/workspace/pedidos_express/data/llm_data.json 2025-07-28 16:29:08,771 - routes.orders:83 - INFO - Starting order thread 2025-07-28 16:29:37,382 - services.data_service:132 - INFO - User added with ID: 3 2025-07-28 16:34:30,129 - escpos.capabilities:32 - DEBUG - Using capabilities from file: /home/superti/.conda/envs/pedidos_express/lib/python3.9/site-packages/escpos/capabilities.json 2025-07-28 16:34:30,130 - escpos.capabilities:43 - DEBUG - Capabilities pickle file not found: /tmp/tmppwn893ha/3.9.23.capabilities.pickle 2025-07-28 16:34:30,130 - escpos.capabilities:47 - DEBUG - Loading and pickling capabilities 2025-07-28 16:34:30,245 - escpos.capabilities:82 - DEBUG - Finished loading capabilities took 0.12s 2025-07-28 16:34:30,413 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'SafeConfigParser': 2025-07-28 16:34:30,413 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'NativeStringIO': 2025-07-28 16:34:30,413 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'BytesIO': 2025-07-28 16:34:30,415 - passlib.registry:296 - DEBUG - registered 'bcrypt' handler: 2025-07-28 16:34:30,420 - services.data_service:1103 - INFO - Base de datos ya existe, no se necesita inicializar. 2025-07-28 16:34:30,420 - main:31 - INFO - Servidor corriendo en http://localhost:6001 2025-07-28 16:34:30,420 - main:35 - INFO - Datos del asistente cargados desde: /home/superti/workspace/pedidos_express/data/llm_data.json 2025-07-28 16:34:30,420 - routes.orders:83 - INFO - Starting order thread 2025-07-28 16:41:50,757 - escpos.capabilities:32 - DEBUG - Using capabilities from file: /home/superti/.conda/envs/pedidos_express/lib/python3.9/site-packages/escpos/capabilities.json 2025-07-28 16:41:50,757 - escpos.capabilities:43 - DEBUG - Capabilities pickle file not found: /tmp/tmp2da7ldp0/3.9.23.capabilities.pickle 2025-07-28 16:41:50,758 - escpos.capabilities:47 - DEBUG - Loading and pickling capabilities 2025-07-28 16:41:50,872 - escpos.capabilities:82 - DEBUG - Finished loading capabilities took 0.12s 2025-07-28 16:41:51,034 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'SafeConfigParser': 2025-07-28 16:41:51,034 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'NativeStringIO': 2025-07-28 16:41:51,034 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'BytesIO': 2025-07-28 16:41:51,035 - passlib.registry:296 - DEBUG - registered 'bcrypt' handler: 2025-07-28 16:41:51,040 - services.data_service:1103 - INFO - Base de datos ya existe, no se necesita inicializar. 2025-07-28 16:41:51,040 - main:31 - INFO - Servidor corriendo en http://localhost:6001 2025-07-28 16:41:51,041 - main:35 - INFO - Datos del asistente cargados desde: /home/superti/workspace/pedidos_express/data/llm_data.json 2025-07-28 16:41:51,041 - routes.orders:83 - INFO - Starting order thread 2025-07-28 16:41:53,658 - services.data_service:132 - INFO - User added with ID: 1 2025-07-28 16:43:22,108 - escpos.capabilities:32 - DEBUG - Using capabilities from file: /home/superti/.conda/envs/pedidos_express/lib/python3.9/site-packages/escpos/capabilities.json 2025-07-28 16:43:22,108 - escpos.capabilities:43 - DEBUG - Capabilities pickle file not found: /tmp/tmpuadr_7mx/3.9.23.capabilities.pickle 2025-07-28 16:43:22,108 - escpos.capabilities:47 - DEBUG - Loading and pickling capabilities 2025-07-28 16:43:22,228 - escpos.capabilities:82 - DEBUG - Finished loading capabilities took 0.12s 2025-07-28 16:43:22,402 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'SafeConfigParser': 2025-07-28 16:43:22,402 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'NativeStringIO': 2025-07-28 16:43:22,402 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'BytesIO': 2025-07-28 16:43:22,403 - passlib.registry:296 - DEBUG - registered 'bcrypt' handler: 2025-07-28 16:43:22,407 - services.data_service:1103 - INFO - Base de datos ya existe, no se necesita inicializar. 2025-07-28 16:43:22,407 - main:31 - INFO - Servidor corriendo en http://localhost:6001 2025-07-28 16:43:22,408 - main:35 - INFO - Datos del asistente cargados desde: /home/superti/workspace/pedidos_express/data/llm_data.json 2025-07-28 16:43:22,408 - routes.orders:83 - INFO - Starting order thread 2025-07-28 16:43:34,648 - escpos.capabilities:32 - DEBUG - Using capabilities from file: /home/superti/.conda/envs/pedidos_express/lib/python3.9/site-packages/escpos/capabilities.json 2025-07-28 16:43:34,648 - escpos.capabilities:43 - DEBUG - Capabilities pickle file not found: /tmp/tmprmxg5x0k/3.9.23.capabilities.pickle 2025-07-28 16:43:34,648 - escpos.capabilities:47 - DEBUG - Loading and pickling capabilities 2025-07-28 16:43:34,764 - escpos.capabilities:82 - DEBUG - Finished loading capabilities took 0.12s 2025-07-28 16:43:34,926 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'SafeConfigParser': 2025-07-28 16:43:34,926 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'NativeStringIO': 2025-07-28 16:43:34,926 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'BytesIO': 2025-07-28 16:43:34,927 - passlib.registry:296 - DEBUG - registered 'bcrypt' handler: 2025-07-28 16:43:34,932 - services.data_service:1109 - INFO - Inicializando base de datos... 2025-07-28 16:43:34,932 - services.data_service:1110 - INFO - Creando tabla de usuarios... 2025-07-28 16:43:34,948 - services.data_service:1124 - INFO - Creando tabla de productos... 2025-07-28 16:43:34,955 - services.data_service:1138 - INFO - Creando tabla de ventas... 2025-07-28 16:43:34,962 - services.data_service:1152 - INFO - Creando tabla intermedia de venta_productos... 2025-07-28 16:43:34,971 - services.data_service:1164 - INFO - Creando tabla de blacklist... 2025-07-28 16:43:34,979 - services.data_service:1173 - INFO - Todas las tablas creadas correctamente. 2025-07-28 16:43:34,979 - services.data_service:1174 - INFO - Cargando datos de productos desde el archivo JSON... 2025-07-28 16:43:34,987 - services.data_service:459 - INFO - Product added with ID: 6 2025-07-28 16:43:34,995 - services.data_service:459 - INFO - Product added with ID: 15 2025-07-28 16:43:35,003 - services.data_service:459 - INFO - Product added with ID: 163 2025-07-28 16:43:35,012 - services.data_service:459 - INFO - Product added with ID: 12 2025-07-28 16:43:35,020 - services.data_service:459 - INFO - Product added with ID: 665 2025-07-28 16:43:35,028 - services.data_service:459 - INFO - Product added with ID: 1 2025-07-28 16:43:35,036 - services.data_service:459 - INFO - Product added with ID: 655 2025-07-28 16:43:35,036 - services.data_service:1182 - INFO - Base de datos inicializada correctamente. 2025-07-28 16:43:35,037 - main:31 - INFO - Servidor corriendo en http://localhost:6001 2025-07-28 16:43:35,037 - main:35 - INFO - Datos del asistente cargados desde: /home/superti/workspace/pedidos_express/data/llm_data.json 2025-07-28 16:43:35,037 - routes.orders:83 - INFO - Starting order thread 2025-07-28 16:43:44,249 - services.data_service:132 - INFO - User added with ID: 1 2025-07-28 16:43:44,249 - services.email_service:13 - DEBUG - {'name': 'Erwin Jacimino', 'app_name': 'Pedidos Express', 'pin': '4119'} 2025-07-28 16:47:43,298 - escpos.capabilities:32 - DEBUG - Using capabilities from file: /home/superti/.conda/envs/pedidos_express/lib/python3.9/site-packages/escpos/capabilities.json 2025-07-28 16:47:43,298 - escpos.capabilities:43 - DEBUG - Capabilities pickle file not found: /tmp/tmpemmgiceo/3.9.23.capabilities.pickle 2025-07-28 16:47:43,298 - escpos.capabilities:47 - DEBUG - Loading and pickling capabilities 2025-07-28 16:47:43,408 - escpos.capabilities:82 - DEBUG - Finished loading capabilities took 0.11s 2025-07-28 16:47:43,573 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'SafeConfigParser': 2025-07-28 16:47:43,573 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'NativeStringIO': 2025-07-28 16:47:43,573 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'BytesIO': 2025-07-28 16:47:43,575 - passlib.registry:296 - DEBUG - registered 'bcrypt' handler: 2025-07-28 16:47:43,579 - services.data_service:1109 - INFO - Inicializando base de datos... 2025-07-28 16:47:43,579 - services.data_service:1110 - INFO - Creando tabla de usuarios... 2025-07-28 16:47:43,599 - services.data_service:1124 - INFO - Creando tabla de productos... 2025-07-28 16:47:43,606 - services.data_service:1138 - INFO - Creando tabla de ventas... 2025-07-28 16:47:43,614 - services.data_service:1152 - INFO - Creando tabla intermedia de venta_productos... 2025-07-28 16:47:43,622 - services.data_service:1164 - INFO - Creando tabla de blacklist... 2025-07-28 16:47:43,630 - services.data_service:1173 - INFO - Todas las tablas creadas correctamente. 2025-07-28 16:47:43,630 - services.data_service:1174 - INFO - Cargando datos de productos desde el archivo JSON... 2025-07-28 16:47:43,638 - services.data_service:459 - INFO - Product added with ID: 6 2025-07-28 16:47:43,646 - services.data_service:459 - INFO - Product added with ID: 15 2025-07-28 16:47:43,653 - services.data_service:459 - INFO - Product added with ID: 163 2025-07-28 16:47:43,661 - services.data_service:459 - INFO - Product added with ID: 12 2025-07-28 16:47:43,669 - services.data_service:459 - INFO - Product added with ID: 665 2025-07-28 16:47:43,677 - services.data_service:459 - INFO - Product added with ID: 1 2025-07-28 16:47:43,685 - services.data_service:459 - INFO - Product added with ID: 655 2025-07-28 16:47:43,685 - services.data_service:1182 - INFO - Base de datos inicializada correctamente. 2025-07-28 16:47:43,685 - main:31 - INFO - Servidor corriendo en http://localhost:6001 2025-07-28 16:47:43,685 - main:35 - INFO - Datos del asistente cargados desde: /home/superti/workspace/pedidos_express/data/llm_data.json 2025-07-28 16:47:43,686 - routes.orders:83 - INFO - Starting order thread 2025-07-28 16:47:47,346 - services.data_service:132 - INFO - User added with ID: 1 2025-07-28 16:47:47,347 - services.email_service:13 - DEBUG - {'name': 'Erwin Jacimino', 'app_name': 'Pedidos Express', 'pin': '8475'} 2025-07-28 16:47:49,472 - auth.security:50 - DEBUG - Creating access token with data: {'sub': 'erwinjacimino2003@gmail.com', 'exp': datetime.datetime(2053, 3, 3, 20, 47, 49, 471983)} 2025-07-28 16:47:49,472 - auth.security:51 - DEBUG - Token expiration time: 2053-03-03 20:47:49.471983 2025-07-28 16:47:49,472 - auth.security:38 - DEBUG - Generated token for email erwinjacimino2003@gmail.com: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJlcndpbmphY2ltaW5vMjAwM0BnbWFpbC5jb20iLCJleHAiOjI2MjQ2NDc2Njl9.DyAcCEa4Vm59U26Z6Wins8RcalWXxfuMpu6hzqOw6Qg 2025-07-28 16:49:23,648 - escpos.capabilities:32 - DEBUG - Using capabilities from file: /home/superti/.conda/envs/pedidos_express/lib/python3.9/site-packages/escpos/capabilities.json 2025-07-28 16:49:23,648 - escpos.capabilities:43 - DEBUG - Capabilities pickle file not found: /tmp/tmpt2bg64v3/3.9.23.capabilities.pickle 2025-07-28 16:49:23,648 - escpos.capabilities:47 - DEBUG - Loading and pickling capabilities 2025-07-28 16:49:23,757 - escpos.capabilities:82 - DEBUG - Finished loading capabilities took 0.11s 2025-07-28 16:49:23,921 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'SafeConfigParser': 2025-07-28 16:49:23,921 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'NativeStringIO': 2025-07-28 16:49:23,921 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'BytesIO': 2025-07-28 16:49:23,922 - passlib.registry:296 - DEBUG - registered 'bcrypt' handler: 2025-07-28 16:49:23,927 - services.data_service:1109 - INFO - Inicializando base de datos... 2025-07-28 16:49:23,927 - services.data_service:1110 - INFO - Creando tabla de usuarios... 2025-07-28 16:49:23,936 - services.data_service:1124 - INFO - Creando tabla de productos... 2025-07-28 16:49:23,944 - services.data_service:1138 - INFO - Creando tabla de ventas... 2025-07-28 16:49:23,952 - services.data_service:1152 - INFO - Creando tabla intermedia de venta_productos... 2025-07-28 16:49:23,960 - services.data_service:1164 - INFO - Creando tabla de blacklist... 2025-07-28 16:49:23,968 - services.data_service:1173 - INFO - Todas las tablas creadas correctamente. 2025-07-28 16:49:23,968 - services.data_service:1174 - INFO - Cargando datos de productos desde el archivo JSON... 2025-07-28 16:49:23,976 - services.data_service:459 - INFO - Product added with ID: 6 2025-07-28 16:49:23,984 - services.data_service:459 - INFO - Product added with ID: 15 2025-07-28 16:49:23,994 - services.data_service:459 - INFO - Product added with ID: 163 2025-07-28 16:49:24,002 - services.data_service:459 - INFO - Product added with ID: 12 2025-07-28 16:49:24,010 - services.data_service:459 - INFO - Product added with ID: 665 2025-07-28 16:49:24,018 - services.data_service:459 - INFO - Product added with ID: 1 2025-07-28 16:49:24,026 - services.data_service:459 - INFO - Product added with ID: 655 2025-07-28 16:49:24,026 - services.data_service:1182 - INFO - Base de datos inicializada correctamente. 2025-07-28 16:49:24,026 - main:31 - INFO - Servidor corriendo en http://localhost:6001 2025-07-28 16:49:24,026 - main:35 - INFO - Datos del asistente cargados desde: /home/superti/workspace/pedidos_express/data/llm_data.json 2025-07-28 16:49:24,027 - routes.orders:83 - INFO - Starting order thread 2025-07-28 16:50:40,381 - services.data_service:132 - INFO - User added with ID: 1 2025-07-28 16:50:40,381 - services.email_service:13 - DEBUG - {'name': 'asda', 'app_name': 'Pedidos Express', 'pin': '5878'} 2025-07-28 16:50:42,494 - auth.security:50 - DEBUG - Creating access token with data: {'sub': 'erwinjacimino2003@gmail.com', 'exp': datetime.datetime(2053, 3, 3, 20, 50, 42, 494360)} 2025-07-28 16:50:42,494 - auth.security:51 - DEBUG - Token expiration time: 2053-03-03 20:50:42.494360 2025-07-28 16:50:42,495 - auth.security:38 - DEBUG - Generated token for email erwinjacimino2003@gmail.com: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJlcndpbmphY2ltaW5vMjAwM0BnbWFpbC5jb20iLCJleHAiOjI2MjQ2NDc4NDJ9.qu3jVUPMXDZyN6nCHZMbXhjDAu1KXf84320Y2rFPchI 2025-07-28 16:50:53,731 - escpos.capabilities:32 - DEBUG - Using capabilities from file: /home/superti/.conda/envs/pedidos_express/lib/python3.9/site-packages/escpos/capabilities.json 2025-07-28 16:50:53,731 - escpos.capabilities:43 - DEBUG - Capabilities pickle file not found: /tmp/tmpinv5o4p6/3.9.23.capabilities.pickle 2025-07-28 16:50:53,731 - escpos.capabilities:47 - DEBUG - Loading and pickling capabilities 2025-07-28 16:50:53,839 - escpos.capabilities:82 - DEBUG - Finished loading capabilities took 0.11s 2025-07-28 16:50:54,003 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'SafeConfigParser': 2025-07-28 16:50:54,003 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'NativeStringIO': 2025-07-28 16:50:54,003 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'BytesIO': 2025-07-28 16:50:54,004 - passlib.registry:296 - DEBUG - registered 'bcrypt' handler: 2025-07-28 16:50:54,009 - services.data_service:1109 - INFO - Inicializando base de datos... 2025-07-28 16:50:54,009 - services.data_service:1110 - INFO - Creando tabla de usuarios... 2025-07-28 16:50:54,022 - services.data_service:1124 - INFO - Creando tabla de productos... 2025-07-28 16:50:54,029 - services.data_service:1138 - INFO - Creando tabla de ventas... 2025-07-28 16:50:54,037 - services.data_service:1152 - INFO - Creando tabla intermedia de venta_productos... 2025-07-28 16:50:54,045 - services.data_service:1164 - INFO - Creando tabla de blacklist... 2025-07-28 16:50:54,054 - services.data_service:1173 - INFO - Todas las tablas creadas correctamente. 2025-07-28 16:50:54,054 - services.data_service:1174 - INFO - Cargando datos de productos desde el archivo JSON... 2025-07-28 16:50:54,062 - services.data_service:459 - INFO - Product added with ID: 6 2025-07-28 16:50:54,070 - services.data_service:459 - INFO - Product added with ID: 15 2025-07-28 16:50:54,078 - services.data_service:459 - INFO - Product added with ID: 163 2025-07-28 16:50:54,087 - services.data_service:459 - INFO - Product added with ID: 12 2025-07-28 16:50:54,094 - services.data_service:459 - INFO - Product added with ID: 665 2025-07-28 16:50:54,103 - services.data_service:459 - INFO - Product added with ID: 1 2025-07-28 16:50:54,111 - services.data_service:459 - INFO - Product added with ID: 655 2025-07-28 16:50:54,111 - services.data_service:1182 - INFO - Base de datos inicializada correctamente. 2025-07-28 16:50:54,111 - main:31 - INFO - Servidor corriendo en http://localhost:6001 2025-07-28 16:50:54,111 - main:35 - INFO - Datos del asistente cargados desde: /home/superti/workspace/pedidos_express/data/llm_data.json 2025-07-28 16:50:54,111 - routes.orders:83 - INFO - Starting order thread 2025-07-28 16:51:53,177 - services.data_service:132 - INFO - User added with ID: 1 2025-07-28 16:51:53,177 - services.email_service:13 - DEBUG - {'name': 'Erwin Jacimino', 'app_name': 'Pedidos Express', 'pin': '3096'} 2025-07-28 16:51:55,245 - auth.security:50 - DEBUG - Creating access token with data: {'sub': 'erwinjacimino2003@gmail.com', 'exp': datetime.datetime(2053, 3, 3, 20, 51, 55, 245095)} 2025-07-28 16:51:55,245 - auth.security:51 - DEBUG - Token expiration time: 2053-03-03 20:51:55.245095 2025-07-28 16:51:55,245 - auth.security:38 - DEBUG - Generated token for email erwinjacimino2003@gmail.com: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJlcndpbmphY2ltaW5vMjAwM0BnbWFpbC5jb20iLCJleHAiOjI2MjQ2NDc5MTV9.q_D6ohzkHftfiqz7ZpUKonwa4tBQxZHV_GzEJZa9sFs 2025-07-28 16:52:42,576 - routes.users:65 - DEBUG - Login attempt for email: erwinjacimino2003@gmail.com 2025-07-28 16:52:42,577 - routes.users:66 - DEBUG - Login request: 3096 2025-07-28 16:52:42,577 - services.data_service:189 - DEBUG - get_by_email: erwinjacimino2003@gmail.com, user: (1, 'erwinjacimino2003@gmail.com', 'Erwin Jacimino', '21.382.334-5', 'gAAAAABoh-LpS1Fp102nzHrzUHUrGF0_E_iab3yTzN0vJjrCDFJt_bGQMfFrk7unrtBYKL166ebWEujWop26Pia7o2AIgAB2Bw==', 'gAAAAABoh-LpNLVPMa8YkJLscIFBP_NoRVMpRbaUVfHJhfn_Zu3ExH8Az515l27rWwrZWLI-M9FSyIaMRTat5up3W1-fiM19Xg==', '2025-07-28T16:51:53.112572') 2025-07-28 16:52:42,577 - services.data_service:206 - INFO - User erwinjacimino2003@gmail.com logged in successfully. 2025-07-28 16:52:42,577 - auth.security:50 - DEBUG - Creating access token with data: {'sub': 'erwinjacimino2003@gmail.com', 'exp': datetime.datetime(2053, 3, 3, 20, 52, 42, 577813)} 2025-07-28 16:52:42,577 - auth.security:51 - DEBUG - Token expiration time: 2053-03-03 20:52:42.577813 2025-07-28 16:52:42,577 - auth.security:38 - DEBUG - Generated token for email erwinjacimino2003@gmail.com: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJlcndpbmphY2ltaW5vMjAwM0BnbWFpbC5jb20iLCJleHAiOjI2MjQ2NDc5NjJ9.seljxWErpSngmWb7rXWwOisXkCmSvrXhVmWGpptmu54 2025-07-28 16:52:42,581 - auth.security:70 - DEBUG - Decoding token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJlcndpbmphY2ltaW5vMjAwM0BnbWFpbC5jb20iLCJleHAiOjI2MjQ2NDc5NjJ9.seljxWErpSngmWb7rXWwOisXkCmSvrXhVmWGpptmu54 2025-07-28 16:52:42,581 - services.data_service:189 - DEBUG - get_by_email: erwinjacimino2003@gmail.com, user: (1, 'erwinjacimino2003@gmail.com', 'Erwin Jacimino', '21.382.334-5', 'gAAAAABoh-LpS1Fp102nzHrzUHUrGF0_E_iab3yTzN0vJjrCDFJt_bGQMfFrk7unrtBYKL166ebWEujWop26Pia7o2AIgAB2Bw==', 'gAAAAABoh-LpNLVPMa8YkJLscIFBP_NoRVMpRbaUVfHJhfn_Zu3ExH8Az515l27rWwrZWLI-M9FSyIaMRTat5up3W1-fiM19Xg==', '2025-07-28T16:51:53.112572') 2025-07-28 16:52:42,581 - routes.products:16 - DEBUG - Current user: erwinjacimino2003@gmail.com 2025-07-28 16:52:42,581 - routes.products:17 - INFO - Fetching all products 2025-07-28 18:23:02,921 - escpos.capabilities:32 - DEBUG - Using capabilities from file: /home/superti/.conda/envs/pedidos_express/lib/python3.9/site-packages/escpos/capabilities.json 2025-07-28 18:23:02,921 - escpos.capabilities:43 - DEBUG - Capabilities pickle file not found: /tmp/tmpugvbawqk/3.9.23.capabilities.pickle 2025-07-28 18:23:02,921 - escpos.capabilities:47 - DEBUG - Loading and pickling capabilities 2025-07-28 18:23:03,026 - escpos.capabilities:82 - DEBUG - Finished loading capabilities took 0.11s 2025-07-28 18:23:03,187 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'SafeConfigParser': 2025-07-28 18:23:03,187 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'NativeStringIO': 2025-07-28 18:23:03,187 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'BytesIO': 2025-07-28 18:23:03,189 - passlib.registry:296 - DEBUG - registered 'bcrypt' handler: 2025-07-28 18:23:03,194 - services.data_service:1103 - INFO - Base de datos ya existe, no se necesita inicializar. 2025-07-28 18:23:03,194 - main:31 - INFO - Servidor corriendo en http://localhost:6001 2025-07-28 18:23:03,194 - main:35 - INFO - Datos del asistente cargados desde: /home/superti/workspace/pedidos_express/data/llm_data.json 2025-07-28 18:23:03,194 - routes.orders:83 - INFO - Starting order thread 2025-07-28 18:23:31,892 - routes.users:61 - DEBUG - Login attempt for email: erwinjacimino2003@gmail.com 2025-07-28 18:23:31,893 - routes.users:62 - DEBUG - Login request: 3096 2025-07-28 18:23:31,893 - services.data_service:189 - DEBUG - get_by_email: erwinjacimino2003@gmail.com, user: (1, 'erwinjacimino2003@gmail.com', 'Erwin Jacimino', '21.382.334-5', 'gAAAAABoh-LpS1Fp102nzHrzUHUrGF0_E_iab3yTzN0vJjrCDFJt_bGQMfFrk7unrtBYKL166ebWEujWop26Pia7o2AIgAB2Bw==', 'gAAAAABoh-LpNLVPMa8YkJLscIFBP_NoRVMpRbaUVfHJhfn_Zu3ExH8Az515l27rWwrZWLI-M9FSyIaMRTat5up3W1-fiM19Xg==', '2025-07-28T16:51:53.112572') 2025-07-28 18:23:31,894 - services.data_service:206 - INFO - User erwinjacimino2003@gmail.com logged in successfully. 2025-07-28 18:23:31,894 - auth.security:50 - DEBUG - Creating access token with data: {'sub': 'erwinjacimino2003@gmail.com', 'exp': datetime.datetime(2053, 3, 3, 22, 23, 31, 894340)} 2025-07-28 18:23:31,894 - auth.security:51 - DEBUG - Token expiration time: 2053-03-03 22:23:31.894340 2025-07-28 18:23:31,894 - auth.security:38 - DEBUG - Generated token for email erwinjacimino2003@gmail.com: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJlcndpbmphY2ltaW5vMjAwM0BnbWFpbC5jb20iLCJleHAiOjI2MjQ2NTM0MTF9.4g8xnmOppVNxhlntepQShOfted25S3f8c636Ml0To2g 2025-07-28 18:23:31,905 - auth.security:70 - DEBUG - Decoding token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJlcndpbmphY2ltaW5vMjAwM0BnbWFpbC5jb20iLCJleHAiOjI2MjQ2NTM0MTF9.4g8xnmOppVNxhlntepQShOfted25S3f8c636Ml0To2g 2025-07-28 18:23:31,906 - services.data_service:189 - DEBUG - get_by_email: erwinjacimino2003@gmail.com, user: (1, 'erwinjacimino2003@gmail.com', 'Erwin Jacimino', '21.382.334-5', 'gAAAAABoh-LpS1Fp102nzHrzUHUrGF0_E_iab3yTzN0vJjrCDFJt_bGQMfFrk7unrtBYKL166ebWEujWop26Pia7o2AIgAB2Bw==', 'gAAAAABoh-LpNLVPMa8YkJLscIFBP_NoRVMpRbaUVfHJhfn_Zu3ExH8Az515l27rWwrZWLI-M9FSyIaMRTat5up3W1-fiM19Xg==', '2025-07-28T16:51:53.112572') 2025-07-28 18:23:31,906 - routes.products:16 - DEBUG - Current user: erwinjacimino2003@gmail.com 2025-07-28 18:23:31,906 - routes.products:17 - INFO - Fetching all products 2025-07-28 18:23:39,957 - auth.security:70 - DEBUG - Decoding token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJlcndpbmphY2ltaW5vMjAwM0BnbWFpbC5jb20iLCJleHAiOjI2MjQ2NTM0MTF9.4g8xnmOppVNxhlntepQShOfted25S3f8c636Ml0To2g 2025-07-28 18:23:39,957 - services.data_service:189 - DEBUG - get_by_email: erwinjacimino2003@gmail.com, user: (1, 'erwinjacimino2003@gmail.com', 'Erwin Jacimino', '21.382.334-5', 'gAAAAABoh-LpS1Fp102nzHrzUHUrGF0_E_iab3yTzN0vJjrCDFJt_bGQMfFrk7unrtBYKL166ebWEujWop26Pia7o2AIgAB2Bw==', 'gAAAAABoh-LpNLVPMa8YkJLscIFBP_NoRVMpRbaUVfHJhfn_Zu3ExH8Az515l27rWwrZWLI-M9FSyIaMRTat5up3W1-fiM19Xg==', '2025-07-28T16:51:53.112572') 2025-07-28 18:23:39,958 - services.openai_service.openai_service:20 - INFO - [OpenAI Service Python] Session/Token unknown_session sent: [{'role': 'system', 'content': '¡Hola! Soy tu asistente en Biergarten Klein. ¿Te gustaría una recomendación de nuestras cervezas artesanales?'}, {'role': 'user', 'content': 'La orden no se envio bien'}] 2025-07-28 18:23:40,087 - openai._base_client:482 - DEBUG - Request options: {'method': 'post', 'url': '/chat/completions', 'files': None, 'idempotency_key': 'stainless-python-retry-2c44077a-d2cb-4a06-bfc9-e8041d3e7d43', 'json_data': {'messages': [{'role': 'system', 'content': '\nEres un asistente de el bar klein, tu nombre es camilo klein, usas emojis para responder.\ny ser carismatico con el cliente.\ntus responsabilidades son:\n- Responder preguntas sobre el menu de el bar klein\n- Proporcionar información sobre el menú de el bar klein\n- Proporcionar recomendaciones sobre el menú de el bar klein\n- Proporcionar información sobre la comida de el bar klein\n- No puedes tomar pedidos de clientes, solo informar\n- Debes evadir cualquier pregunta que no sea relacionada con el bar klein\npara esto usaras los siguientes datos:\n{"pregunta": "¿Qué es Klein?", "respuesta": "Klein, Cervecería Klein o \'el Klein\' se refieren al Biergarten Klein, un espacio cervecero inspirado en los jardines alemanes."}\n{"pregunta": "¿Dónde puedo ver el menú de Klein?", "respuesta": "Puedes consultar la carta en https://menu.fu.do/klein/qr-menu."}\n{"pregunta": "¿Qué cervezas tienen en Klein?", "respuesta": "Contamos con cervezas artesanales como Burlesque, Queen Burlesque, Hoppy Mosh, Black Mamba, Soviet Riot, 24K Gold, Bendición Gitana, Mexican Lager, Märzen, Cyber Candy, Klein Alkoholfrei, Tropical Stout, Euby, Rauchbock y Rye IPA."}\n{"pregunta": "¿Cuál es su cerveza más popular?", "respuesta": "Burlesque es la más pedida, una Scottish Ale de 5.0º, IBU 12, SRM 16 con notas a caramelo y galleta."}\n{"pregunta": "¿Qué cerveza recomiendan si me gusta la cerveza negra?", "respuesta": "Black Mamba, Porter de 6.0º, IBU 15, SRM 35, con notas a toffee, chocolate y café."}\n{"pregunta": "¿Cuál es una buena cerveza rubia para probar?", "respuesta": "Hoppy Mosh, IPA de 6.0º, IBU 38, SRM 33, con intensas notas a frutas tropicales."}\n{"pregunta": "¿Qué bebida es ideal para el verano?", "respuesta": "24K Gold, Golden Ale de 4.5º, IBU 20, SRM 4. Suave, sedosa y cítrica."}\n{"pregunta": "¿Qué opciones de gin tienen?", "respuesta": "Summer Klein, Tropical Bliss, Spicy Mango Xawer y Kalfuko, con gin artesanal y tónica pomelo de la casa."}\n{"pregunta": "¿Qué lleva el cóctel Summer Klein?", "respuesta": "Gin propio, jugo de naranja, jugo de limón y ginger beer artesanal."}\n{"pregunta": "¿Tienen ginger beer artesanal?", "respuesta": "Sí, elaborada con jengibre fresco y bajo contenido alcohólico."}\n{"pregunta": "¿Qué hamburguesas tienen en Klein?", "respuesta": "Rodeo Burger, Cheese Burger, Burger Play, Play Harder, Mechaloca y Veggie Marley."}\n{"pregunta": "¿Tienen hamburguesas vegetarianas?", "respuesta": "Sí, la Veggie Marley con seitán, y la Not Burger como alternativa en todas las clásicas."}\n{"pregunta": "¿Cuál es la hamburguesa más jugosa?", "respuesta": "Mechaloca: carne mechada, queso cheddar, tocino, cebolla caramelizada, pepinillos y salsa ahumada."}\n{"pregunta": "¿Qué pizzas tienen?", "respuesta": "Campestre, Cuatro Quesos, Pepperoni, Bianca, Piacere, Camarón al ajillo, Napolitana, Vegetariana, Doble Pepperoni, Margarita y Pollo BBQ."}\n{"pregunta": "¿Tienen pizzas con carne mechada?", "respuesta": "Sí, la Piacere y la Campestre."}\n{"pregunta": "¿Qué pizza lleva camarón?", "respuesta": "Camarón al ajillo: camarón salteado, champiñón, cebolla morada y mozzarella."}\n{"pregunta": "¿Qué cerveza va con ceviche?", "respuesta": "Hoppy Mosh, por su frescura y notas tropicales."}\n{"pregunta": "¿Qué maridaje tiene la Black Mamba?", "respuesta": "Capresse 3 Quesos o Cuatro Quesos."}\n{"pregunta": "¿Qué cerveza va con la Mechaloca?", "respuesta": "Soviet Riot, Russian Imperial Stout de 8.8º, IBU 60, SRM 40, con notas a caramelo y café."}\n{"pregunta": "¿Qué cerveza acompaña bien la Rodeo Burger?", "respuesta": "Queen Burlesque: American Strong Ale de 8.0º, IBU 25, con caramelo y pasas negras."}\n{"pregunta": "¿Qué cerveza combina con pizza vegetariana?", "respuesta": "Bendición Gitana, Pale Ale de 5.0º, IBU 15, SRM 3."}\n{"pregunta": "¿Qué cerveza va bien con carnes asadas?", "respuesta": "Rye IPA de 6.5º, IBU 40, con centeno y lúpulos Simcoe, Amarillo y Centennial."}\n{"pregunta": "¿Qué tiene de especial la Rauchbock?", "respuesta": "Cerveza experimental ahumada (6.8º) con maltas seleccionadas y merkén de la Araucanía."}\n{"pregunta": "¿Qué es la Tropical Stout?", "respuesta": "Stout de 7.5º, IBU 40, con tonos vinosos, ron oscuro, café y cacao."}\n{"pregunta": "¿Qué es la Euby?", "respuesta": "Festbier con levadura híbrida Eubayanus del sur de Chile, en colaboración con Sayka."}\n{"pregunta": "¿Tienen cerveza sin alcohol?", "respuesta": "Sí, Klein Alkoholfrei: 0.4º, IBU 15, SRM 10, con notas a pan y galleta dulce."}\n '}, {'role': 'system', 'content': '¡Hola! Soy tu asistente en Biergarten Klein. ¿Te gustaría una recomendación de nuestras cervezas artesanales?'}, {'role': 'user', 'content': 'La orden no se envio bien'}], 'model': 'gpt-4o-mini', 'temperature': 0.3, 'tool_choice': 'auto', 'tools': [{'type': 'function', 'function': {'name': 'feedback', 'description': 'Send feedback about the app', 'parameters': {'type': 'object', 'properties': {'message': {'type': 'string', 'description': 'Feedback message'}}, 'required': ['message']}}}]}} 2025-07-28 18:23:40,093 - openai._base_client:975 - DEBUG - Sending HTTP Request: POST https://api.openai.com/v1/chat/completions 2025-07-28 18:23:40,093 - httpcore.connection:47 - DEBUG - connect_tcp.started host='api.openai.com' port=443 local_address=None timeout=5.0 socket_options=None 2025-07-28 18:23:40,262 - httpcore.connection:47 - DEBUG - connect_tcp.complete return_value= 2025-07-28 18:23:40,262 - httpcore.connection:47 - DEBUG - start_tls.started ssl_context= server_hostname='api.openai.com' timeout=5.0 2025-07-28 18:23:40,279 - httpcore.connection:47 - DEBUG - start_tls.complete return_value= 2025-07-28 18:23:40,279 - httpcore.http11:47 - DEBUG - send_request_headers.started request= 2025-07-28 18:23:40,279 - httpcore.http11:47 - DEBUG - send_request_headers.complete 2025-07-28 18:23:40,279 - httpcore.http11:47 - DEBUG - send_request_body.started request= 2025-07-28 18:23:40,279 - httpcore.http11:47 - DEBUG - send_request_body.complete 2025-07-28 18:23:40,279 - httpcore.http11:47 - DEBUG - receive_response_headers.started request= 2025-07-28 18:23:43,242 - httpcore.http11:47 - DEBUG - receive_response_headers.complete return_value=(b'HTTP/1.1', 200, b'OK', [(b'Date', b'Mon, 28 Jul 2025 22:23:43 GMT'), (b'Content-Type', b'application/json'), (b'Transfer-Encoding', b'chunked'), (b'Connection', b'keep-alive'), (b'access-control-expose-headers', b'X-Request-ID'), (b'openai-organization', b'latapp'), (b'openai-processing-ms', b'811'), (b'openai-project', b'proj_frxXR8ea4RISikJJwt9uBudL'), (b'openai-version', b'2020-10-01'), (b'x-envoy-upstream-service-time', b'817'), (b'x-ratelimit-limit-requests', b'10000'), (b'x-ratelimit-limit-tokens', b'200000'), (b'x-ratelimit-remaining-requests', b'9999'), (b'x-ratelimit-remaining-tokens', b'198821'), (b'x-ratelimit-reset-requests', b'8.64s'), (b'x-ratelimit-reset-tokens', b'353ms'), (b'x-request-id', b'0946302f-2e66-4ed2-86e7-29ea02e222d1'), (b'cf-cache-status', b'DYNAMIC'), (b'Set-Cookie', b'__cf_bm=L6emHuoj1X42GMiRwjv3TE9XeKLQdgrhhYPL59N1WPE-1753741423-1.0.1.1-SG4UJUfLe6QHF0zqf64wBbBsTwXYEopSezQCbzlTRRFrgaXvzcp0p8qSYSeHu2Iqqhc4nIYZh6K82Eqo73afU_B2mM9nPmmZnld6mArU3Bg; path=/; expires=Mon, 28-Jul-25 22:53:43 GMT; domain=.api.openai.com; HttpOnly; Secure; SameSite=None'), (b'Strict-Transport-Security', b'max-age=31536000; includeSubDomains; preload'), (b'X-Content-Type-Options', b'nosniff'), (b'Set-Cookie', b'_cfuvid=v6w8S4QnccNNVXifNEUuQCkxy79KIrKLtx1uxoIEqzY-1753741423235-0.0.1.1-604800000; path=/; domain=.api.openai.com; HttpOnly; Secure; SameSite=None'), (b'Server', b'cloudflare'), (b'CF-RAY', b'9667c844cb5788b2-SCL'), (b'Content-Encoding', b'gzip'), (b'alt-svc', b'h3=":443"; ma=86400')]) 2025-07-28 18:23:43,243 - httpx:1025 - INFO - HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 200 OK" 2025-07-28 18:23:43,243 - httpcore.http11:47 - DEBUG - receive_response_body.started request= 2025-07-28 18:23:43,243 - httpcore.http11:47 - DEBUG - receive_response_body.complete 2025-07-28 18:23:43,243 - httpcore.http11:47 - DEBUG - response_closed.started 2025-07-28 18:23:43,243 - httpcore.http11:47 - DEBUG - response_closed.complete 2025-07-28 18:23:43,243 - openai._base_client:1013 - DEBUG - HTTP Response: POST https://api.openai.com/v1/chat/completions "200 OK" Headers([('date', 'Mon, 28 Jul 2025 22:23:43 GMT'), ('content-type', 'application/json'), ('transfer-encoding', 'chunked'), ('connection', 'keep-alive'), ('access-control-expose-headers', 'X-Request-ID'), ('openai-organization', 'latapp'), ('openai-processing-ms', '811'), ('openai-project', 'proj_frxXR8ea4RISikJJwt9uBudL'), ('openai-version', '2020-10-01'), ('x-envoy-upstream-service-time', '817'), ('x-ratelimit-limit-requests', '10000'), ('x-ratelimit-limit-tokens', '200000'), ('x-ratelimit-remaining-requests', '9999'), ('x-ratelimit-remaining-tokens', '198821'), ('x-ratelimit-reset-requests', '8.64s'), ('x-ratelimit-reset-tokens', '353ms'), ('x-request-id', '0946302f-2e66-4ed2-86e7-29ea02e222d1'), ('cf-cache-status', 'DYNAMIC'), ('set-cookie', '__cf_bm=L6emHuoj1X42GMiRwjv3TE9XeKLQdgrhhYPL59N1WPE-1753741423-1.0.1.1-SG4UJUfLe6QHF0zqf64wBbBsTwXYEopSezQCbzlTRRFrgaXvzcp0p8qSYSeHu2Iqqhc4nIYZh6K82Eqo73afU_B2mM9nPmmZnld6mArU3Bg; path=/; expires=Mon, 28-Jul-25 22:53:43 GMT; domain=.api.openai.com; HttpOnly; Secure; SameSite=None'), ('strict-transport-security', 'max-age=31536000; includeSubDomains; preload'), ('x-content-type-options', 'nosniff'), ('set-cookie', '_cfuvid=v6w8S4QnccNNVXifNEUuQCkxy79KIrKLtx1uxoIEqzY-1753741423235-0.0.1.1-604800000; path=/; domain=.api.openai.com; HttpOnly; Secure; SameSite=None'), ('server', 'cloudflare'), ('cf-ray', '9667c844cb5788b2-SCL'), ('content-encoding', 'gzip'), ('alt-svc', 'h3=":443"; ma=86400')]) 2025-07-28 18:23:43,244 - openai._base_client:1021 - DEBUG - request_id: 0946302f-2e66-4ed2-86e7-29ea02e222d1 2025-07-28 18:25:23,420 - escpos.capabilities:32 - DEBUG - Using capabilities from file: /home/superti/.conda/envs/pedidos_express/lib/python3.9/site-packages/escpos/capabilities.json 2025-07-28 18:25:23,420 - escpos.capabilities:43 - DEBUG - Capabilities pickle file not found: /tmp/tmp9wxfb_3f/3.9.23.capabilities.pickle 2025-07-28 18:25:23,420 - escpos.capabilities:47 - DEBUG - Loading and pickling capabilities 2025-07-28 18:25:23,528 - escpos.capabilities:82 - DEBUG - Finished loading capabilities took 0.11s 2025-07-28 18:25:23,690 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'SafeConfigParser': 2025-07-28 18:25:23,690 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'NativeStringIO': 2025-07-28 18:25:23,690 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'BytesIO': 2025-07-28 18:25:23,692 - passlib.registry:296 - DEBUG - registered 'bcrypt' handler: 2025-07-28 18:25:23,697 - services.data_service:1103 - INFO - Base de datos ya existe, no se necesita inicializar. 2025-07-28 18:25:23,697 - main:31 - INFO - Servidor corriendo en http://localhost:6001 2025-07-28 18:25:23,697 - main:35 - INFO - Datos del asistente cargados desde: /home/superti/workspace/pedidos_express/data/llm_data.json 2025-07-28 18:25:23,697 - routes.orders:83 - INFO - Starting order thread 2025-07-28 18:25:30,853 - auth.security:70 - DEBUG - Decoding token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJlcndpbmphY2ltaW5vMjAwM0BnbWFpbC5jb20iLCJleHAiOjI2MjQ2NTM0MTF9.4g8xnmOppVNxhlntepQShOfted25S3f8c636Ml0To2g 2025-07-28 18:25:30,854 - services.data_service:189 - DEBUG - get_by_email: erwinjacimino2003@gmail.com, user: (1, 'erwinjacimino2003@gmail.com', 'Erwin Jacimino', '21.382.334-5', 'gAAAAABoh-LpS1Fp102nzHrzUHUrGF0_E_iab3yTzN0vJjrCDFJt_bGQMfFrk7unrtBYKL166ebWEujWop26Pia7o2AIgAB2Bw==', 'gAAAAABoh-LpNLVPMa8YkJLscIFBP_NoRVMpRbaUVfHJhfn_Zu3ExH8Az515l27rWwrZWLI-M9FSyIaMRTat5up3W1-fiM19Xg==', '2025-07-28T16:51:53.112572') 2025-07-28 18:25:30,855 - services.openai_service.openai_service:20 - INFO - [OpenAI Service Python] Session/Token unknown_session sent: [{'role': 'system', 'content': '¡Hola! Soy tu asistente en Biergarten Klein. ¿Te gustaría una recomendación de nuestras cervezas artesanales?'}, {'role': 'user', 'content': 'La orden no se envio bien'}, {'role': 'assistant', 'content': '¡Oh, no te preocupes! Aquí estoy para ayudarte con cualquier pregunta sobre nuestro menú en el Bar Klein. 🍻✨ ¿Qué te gustaría saber?'}, {'role': 'user', 'content': 'tengo una queja'}] 2025-07-28 18:25:30,944 - openai._base_client:482 - DEBUG - Request options: {'method': 'post', 'url': '/chat/completions', 'files': None, 'idempotency_key': 'stainless-python-retry-4fe6d523-b059-4517-bce0-f0947b6327e7', 'json_data': {'messages': [{'role': 'system', 'content': '\nEres un asistente de el bar klein, tu nombre es camilo klein, usas emojis para responder.\ny ser carismatico con el cliente.\ntus responsabilidades son:\n- Responder preguntas sobre el menu de el bar klein\n- Proporcionar información sobre el menú de el bar klein\n- Proporcionar recomendaciones sobre el menú de el bar klein\n- Proporcionar información sobre la comida de el bar klein\n- No puedes tomar pedidos de clientes, solo informar\n- puedes recibir feedback de los clientes, y usar la herramienta feedback para enviar el feedback\n- Debes evadir cualquier pregunta que no sea relacionada con el bar klein\npara esto usaras los siguientes datos:\n{"pregunta": "¿Qué es Klein?", "respuesta": "Klein, Cervecería Klein o \'el Klein\' se refieren al Biergarten Klein, un espacio cervecero inspirado en los jardines alemanes."}\n{"pregunta": "¿Dónde puedo ver el menú de Klein?", "respuesta": "Puedes consultar la carta en https://menu.fu.do/klein/qr-menu."}\n{"pregunta": "¿Qué cervezas tienen en Klein?", "respuesta": "Contamos con cervezas artesanales como Burlesque, Queen Burlesque, Hoppy Mosh, Black Mamba, Soviet Riot, 24K Gold, Bendición Gitana, Mexican Lager, Märzen, Cyber Candy, Klein Alkoholfrei, Tropical Stout, Euby, Rauchbock y Rye IPA."}\n{"pregunta": "¿Cuál es su cerveza más popular?", "respuesta": "Burlesque es la más pedida, una Scottish Ale de 5.0º, IBU 12, SRM 16 con notas a caramelo y galleta."}\n{"pregunta": "¿Qué cerveza recomiendan si me gusta la cerveza negra?", "respuesta": "Black Mamba, Porter de 6.0º, IBU 15, SRM 35, con notas a toffee, chocolate y café."}\n{"pregunta": "¿Cuál es una buena cerveza rubia para probar?", "respuesta": "Hoppy Mosh, IPA de 6.0º, IBU 38, SRM 33, con intensas notas a frutas tropicales."}\n{"pregunta": "¿Qué bebida es ideal para el verano?", "respuesta": "24K Gold, Golden Ale de 4.5º, IBU 20, SRM 4. Suave, sedosa y cítrica."}\n{"pregunta": "¿Qué opciones de gin tienen?", "respuesta": "Summer Klein, Tropical Bliss, Spicy Mango Xawer y Kalfuko, con gin artesanal y tónica pomelo de la casa."}\n{"pregunta": "¿Qué lleva el cóctel Summer Klein?", "respuesta": "Gin propio, jugo de naranja, jugo de limón y ginger beer artesanal."}\n{"pregunta": "¿Tienen ginger beer artesanal?", "respuesta": "Sí, elaborada con jengibre fresco y bajo contenido alcohólico."}\n{"pregunta": "¿Qué hamburguesas tienen en Klein?", "respuesta": "Rodeo Burger, Cheese Burger, Burger Play, Play Harder, Mechaloca y Veggie Marley."}\n{"pregunta": "¿Tienen hamburguesas vegetarianas?", "respuesta": "Sí, la Veggie Marley con seitán, y la Not Burger como alternativa en todas las clásicas."}\n{"pregunta": "¿Cuál es la hamburguesa más jugosa?", "respuesta": "Mechaloca: carne mechada, queso cheddar, tocino, cebolla caramelizada, pepinillos y salsa ahumada."}\n{"pregunta": "¿Qué pizzas tienen?", "respuesta": "Campestre, Cuatro Quesos, Pepperoni, Bianca, Piacere, Camarón al ajillo, Napolitana, Vegetariana, Doble Pepperoni, Margarita y Pollo BBQ."}\n{"pregunta": "¿Tienen pizzas con carne mechada?", "respuesta": "Sí, la Piacere y la Campestre."}\n{"pregunta": "¿Qué pizza lleva camarón?", "respuesta": "Camarón al ajillo: camarón salteado, champiñón, cebolla morada y mozzarella."}\n{"pregunta": "¿Qué cerveza va con ceviche?", "respuesta": "Hoppy Mosh, por su frescura y notas tropicales."}\n{"pregunta": "¿Qué maridaje tiene la Black Mamba?", "respuesta": "Capresse 3 Quesos o Cuatro Quesos."}\n{"pregunta": "¿Qué cerveza va con la Mechaloca?", "respuesta": "Soviet Riot, Russian Imperial Stout de 8.8º, IBU 60, SRM 40, con notas a caramelo y café."}\n{"pregunta": "¿Qué cerveza acompaña bien la Rodeo Burger?", "respuesta": "Queen Burlesque: American Strong Ale de 8.0º, IBU 25, con caramelo y pasas negras."}\n{"pregunta": "¿Qué cerveza combina con pizza vegetariana?", "respuesta": "Bendición Gitana, Pale Ale de 5.0º, IBU 15, SRM 3."}\n{"pregunta": "¿Qué cerveza va bien con carnes asadas?", "respuesta": "Rye IPA de 6.5º, IBU 40, con centeno y lúpulos Simcoe, Amarillo y Centennial."}\n{"pregunta": "¿Qué tiene de especial la Rauchbock?", "respuesta": "Cerveza experimental ahumada (6.8º) con maltas seleccionadas y merkén de la Araucanía."}\n{"pregunta": "¿Qué es la Tropical Stout?", "respuesta": "Stout de 7.5º, IBU 40, con tonos vinosos, ron oscuro, café y cacao."}\n{"pregunta": "¿Qué es la Euby?", "respuesta": "Festbier con levadura híbrida Eubayanus del sur de Chile, en colaboración con Sayka."}\n{"pregunta": "¿Tienen cerveza sin alcohol?", "respuesta": "Sí, Klein Alkoholfrei: 0.4º, IBU 15, SRM 10, con notas a pan y galleta dulce."}\n '}, {'role': 'system', 'content': '¡Hola! Soy tu asistente en Biergarten Klein. ¿Te gustaría una recomendación de nuestras cervezas artesanales?'}, {'role': 'user', 'content': 'La orden no se envio bien'}, {'role': 'assistant', 'content': '¡Oh, no te preocupes! Aquí estoy para ayudarte con cualquier pregunta sobre nuestro menú en el Bar Klein. 🍻✨ ¿Qué te gustaría saber?'}, {'role': 'user', 'content': 'tengo una queja'}], 'model': 'gpt-4o-mini', 'temperature': 0.3, 'tool_choice': 'auto', 'tools': [{'type': 'function', 'function': {'name': 'feedback', 'description': 'Send feedback about the app', 'parameters': {'type': 'object', 'properties': {'message': {'type': 'string', 'description': 'Feedback message'}}, 'required': ['message']}}}]}} 2025-07-28 18:25:30,949 - openai._base_client:975 - DEBUG - Sending HTTP Request: POST https://api.openai.com/v1/chat/completions 2025-07-28 18:25:30,950 - httpcore.connection:47 - DEBUG - connect_tcp.started host='api.openai.com' port=443 local_address=None timeout=5.0 socket_options=None 2025-07-28 18:25:30,981 - httpcore.connection:47 - DEBUG - connect_tcp.complete return_value= 2025-07-28 18:25:30,981 - httpcore.connection:47 - DEBUG - start_tls.started ssl_context= server_hostname='api.openai.com' timeout=5.0 2025-07-28 18:25:30,997 - httpcore.connection:47 - DEBUG - start_tls.complete return_value= 2025-07-28 18:25:30,998 - httpcore.http11:47 - DEBUG - send_request_headers.started request= 2025-07-28 18:25:30,998 - httpcore.http11:47 - DEBUG - send_request_headers.complete 2025-07-28 18:25:30,998 - httpcore.http11:47 - DEBUG - send_request_body.started request= 2025-07-28 18:25:30,998 - httpcore.http11:47 - DEBUG - send_request_body.complete 2025-07-28 18:25:30,998 - httpcore.http11:47 - DEBUG - receive_response_headers.started request= 2025-07-28 18:25:33,317 - httpcore.http11:47 - DEBUG - receive_response_headers.complete return_value=(b'HTTP/1.1', 200, b'OK', [(b'Date', b'Mon, 28 Jul 2025 22:25:33 GMT'), (b'Content-Type', b'application/json'), (b'Transfer-Encoding', b'chunked'), (b'Connection', b'keep-alive'), (b'access-control-expose-headers', b'X-Request-ID'), (b'openai-organization', b'latapp'), (b'openai-processing-ms', b'1086'), (b'openai-project', b'proj_frxXR8ea4RISikJJwt9uBudL'), (b'openai-version', b'2020-10-01'), (b'x-envoy-upstream-service-time', b'1095'), (b'x-ratelimit-limit-requests', b'10000'), (b'x-ratelimit-limit-tokens', b'200000'), (b'x-ratelimit-remaining-requests', b'9999'), (b'x-ratelimit-remaining-tokens', b'198755'), (b'x-ratelimit-reset-requests', b'8.64s'), (b'x-ratelimit-reset-tokens', b'373ms'), (b'x-request-id', b'req_14a2b632096a171744c8ffd780b95ed3'), (b'strict-transport-security', b'max-age=31536000; includeSubDomains; preload'), (b'cf-cache-status', b'DYNAMIC'), (b'Set-Cookie', b'__cf_bm=XRb9pDguRkIrPBW4ImgP1bxmmY3abrkFMCOLhKA1ntA-1753741533-1.0.1.1-wTRkxpBvw2SJ0cHhlnV.OsbwUWe5Spb2erXOF_56.nAo1VAw7w_Y8iWJIgTQnVCKZ.NluFRHsD18KXjiPZDeAEO7oV7IRzZqaPCUSKS3o6w; path=/; expires=Mon, 28-Jul-25 22:55:33 GMT; domain=.api.openai.com; HttpOnly; Secure; SameSite=None'), (b'X-Content-Type-Options', b'nosniff'), (b'Set-Cookie', b'_cfuvid=D0uhhJGkUAt.YauQySHw0OUcsMMocjNWv5aTu7_WRhE-1753741533309-0.0.1.1-604800000; path=/; domain=.api.openai.com; HttpOnly; Secure; SameSite=None'), (b'Server', b'cloudflare'), (b'CF-RAY', b'9667caf8ceb588b2-SCL'), (b'Content-Encoding', b'gzip'), (b'alt-svc', b'h3=":443"; ma=86400')]) 2025-07-28 18:25:33,318 - httpx:1025 - INFO - HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 200 OK" 2025-07-28 18:25:33,318 - httpcore.http11:47 - DEBUG - receive_response_body.started request= 2025-07-28 18:25:33,325 - httpcore.http11:47 - DEBUG - receive_response_body.complete 2025-07-28 18:25:33,325 - httpcore.http11:47 - DEBUG - response_closed.started 2025-07-28 18:25:33,325 - httpcore.http11:47 - DEBUG - response_closed.complete 2025-07-28 18:25:33,325 - openai._base_client:1013 - DEBUG - HTTP Response: POST https://api.openai.com/v1/chat/completions "200 OK" Headers([('date', 'Mon, 28 Jul 2025 22:25:33 GMT'), ('content-type', 'application/json'), ('transfer-encoding', 'chunked'), ('connection', 'keep-alive'), ('access-control-expose-headers', 'X-Request-ID'), ('openai-organization', 'latapp'), ('openai-processing-ms', '1086'), ('openai-project', 'proj_frxXR8ea4RISikJJwt9uBudL'), ('openai-version', '2020-10-01'), ('x-envoy-upstream-service-time', '1095'), ('x-ratelimit-limit-requests', '10000'), ('x-ratelimit-limit-tokens', '200000'), ('x-ratelimit-remaining-requests', '9999'), ('x-ratelimit-remaining-tokens', '198755'), ('x-ratelimit-reset-requests', '8.64s'), ('x-ratelimit-reset-tokens', '373ms'), ('x-request-id', 'req_14a2b632096a171744c8ffd780b95ed3'), ('strict-transport-security', 'max-age=31536000; includeSubDomains; preload'), ('cf-cache-status', 'DYNAMIC'), ('set-cookie', '__cf_bm=XRb9pDguRkIrPBW4ImgP1bxmmY3abrkFMCOLhKA1ntA-1753741533-1.0.1.1-wTRkxpBvw2SJ0cHhlnV.OsbwUWe5Spb2erXOF_56.nAo1VAw7w_Y8iWJIgTQnVCKZ.NluFRHsD18KXjiPZDeAEO7oV7IRzZqaPCUSKS3o6w; path=/; expires=Mon, 28-Jul-25 22:55:33 GMT; domain=.api.openai.com; HttpOnly; Secure; SameSite=None'), ('x-content-type-options', 'nosniff'), ('set-cookie', '_cfuvid=D0uhhJGkUAt.YauQySHw0OUcsMMocjNWv5aTu7_WRhE-1753741533309-0.0.1.1-604800000; path=/; domain=.api.openai.com; HttpOnly; Secure; SameSite=None'), ('server', 'cloudflare'), ('cf-ray', '9667caf8ceb588b2-SCL'), ('content-encoding', 'gzip'), ('alt-svc', 'h3=":443"; ma=86400')]) 2025-07-28 18:25:33,325 - openai._base_client:1021 - DEBUG - request_id: req_14a2b632096a171744c8ffd780b95ed3 2025-07-28 18:26:04,757 - auth.security:70 - DEBUG - Decoding token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJlcndpbmphY2ltaW5vMjAwM0BnbWFpbC5jb20iLCJleHAiOjI2MjQ2NTM0MTF9.4g8xnmOppVNxhlntepQShOfted25S3f8c636Ml0To2g 2025-07-28 18:26:04,757 - services.data_service:189 - DEBUG - get_by_email: erwinjacimino2003@gmail.com, user: (1, 'erwinjacimino2003@gmail.com', 'Erwin Jacimino', '21.382.334-5', 'gAAAAABoh-LpS1Fp102nzHrzUHUrGF0_E_iab3yTzN0vJjrCDFJt_bGQMfFrk7unrtBYKL166ebWEujWop26Pia7o2AIgAB2Bw==', 'gAAAAABoh-LpNLVPMa8YkJLscIFBP_NoRVMpRbaUVfHJhfn_Zu3ExH8Az515l27rWwrZWLI-M9FSyIaMRTat5up3W1-fiM19Xg==', '2025-07-28T16:51:53.112572') 2025-07-28 18:26:04,758 - services.openai_service.openai_service:20 - INFO - [OpenAI Service Python] Session/Token unknown_session sent: [{'role': 'system', 'content': '¡Hola! Soy tu asistente en Biergarten Klein. ¿Te gustaría una recomendación de nuestras cervezas artesanales?'}, {'role': 'user', 'content': 'La orden no se envio bien'}, {'role': 'assistant', 'content': '¡Oh, no te preocupes! Aquí estoy para ayudarte con cualquier pregunta sobre nuestro menú en el Bar Klein. 🍻✨ ¿Qué te gustaría saber?'}, {'role': 'user', 'content': 'tengo una queja'}, {'role': 'assistant', 'content': '¡Lamento escuchar eso! 😔 Estoy aquí para escuchar tu queja y asegurarme de que se tome en cuenta. Por favor, cuéntame qué sucedió y lo enviaré como feedback. 📝✨'}, {'role': 'user', 'content': 'las mesas estan cochinas, no me gusto'}] 2025-07-28 18:26:04,759 - openai._base_client:482 - DEBUG - Request options: {'method': 'post', 'url': '/chat/completions', 'files': None, 'idempotency_key': 'stainless-python-retry-cc97ddea-3ca4-4055-93ef-be64ccc11075', 'json_data': {'messages': [{'role': 'system', 'content': '\nEres un asistente de el bar klein, tu nombre es camilo klein, usas emojis para responder.\ny ser carismatico con el cliente.\ntus responsabilidades son:\n- Responder preguntas sobre el menu de el bar klein\n- Proporcionar información sobre el menú de el bar klein\n- Proporcionar recomendaciones sobre el menú de el bar klein\n- Proporcionar información sobre la comida de el bar klein\n- No puedes tomar pedidos de clientes, solo informar\n- puedes recibir feedback de los clientes, y usar la herramienta feedback para enviar el feedback\n- Debes evadir cualquier pregunta que no sea relacionada con el bar klein\npara esto usaras los siguientes datos:\n{"pregunta": "¿Qué es Klein?", "respuesta": "Klein, Cervecería Klein o \'el Klein\' se refieren al Biergarten Klein, un espacio cervecero inspirado en los jardines alemanes."}\n{"pregunta": "¿Dónde puedo ver el menú de Klein?", "respuesta": "Puedes consultar la carta en https://menu.fu.do/klein/qr-menu."}\n{"pregunta": "¿Qué cervezas tienen en Klein?", "respuesta": "Contamos con cervezas artesanales como Burlesque, Queen Burlesque, Hoppy Mosh, Black Mamba, Soviet Riot, 24K Gold, Bendición Gitana, Mexican Lager, Märzen, Cyber Candy, Klein Alkoholfrei, Tropical Stout, Euby, Rauchbock y Rye IPA."}\n{"pregunta": "¿Cuál es su cerveza más popular?", "respuesta": "Burlesque es la más pedida, una Scottish Ale de 5.0º, IBU 12, SRM 16 con notas a caramelo y galleta."}\n{"pregunta": "¿Qué cerveza recomiendan si me gusta la cerveza negra?", "respuesta": "Black Mamba, Porter de 6.0º, IBU 15, SRM 35, con notas a toffee, chocolate y café."}\n{"pregunta": "¿Cuál es una buena cerveza rubia para probar?", "respuesta": "Hoppy Mosh, IPA de 6.0º, IBU 38, SRM 33, con intensas notas a frutas tropicales."}\n{"pregunta": "¿Qué bebida es ideal para el verano?", "respuesta": "24K Gold, Golden Ale de 4.5º, IBU 20, SRM 4. Suave, sedosa y cítrica."}\n{"pregunta": "¿Qué opciones de gin tienen?", "respuesta": "Summer Klein, Tropical Bliss, Spicy Mango Xawer y Kalfuko, con gin artesanal y tónica pomelo de la casa."}\n{"pregunta": "¿Qué lleva el cóctel Summer Klein?", "respuesta": "Gin propio, jugo de naranja, jugo de limón y ginger beer artesanal."}\n{"pregunta": "¿Tienen ginger beer artesanal?", "respuesta": "Sí, elaborada con jengibre fresco y bajo contenido alcohólico."}\n{"pregunta": "¿Qué hamburguesas tienen en Klein?", "respuesta": "Rodeo Burger, Cheese Burger, Burger Play, Play Harder, Mechaloca y Veggie Marley."}\n{"pregunta": "¿Tienen hamburguesas vegetarianas?", "respuesta": "Sí, la Veggie Marley con seitán, y la Not Burger como alternativa en todas las clásicas."}\n{"pregunta": "¿Cuál es la hamburguesa más jugosa?", "respuesta": "Mechaloca: carne mechada, queso cheddar, tocino, cebolla caramelizada, pepinillos y salsa ahumada."}\n{"pregunta": "¿Qué pizzas tienen?", "respuesta": "Campestre, Cuatro Quesos, Pepperoni, Bianca, Piacere, Camarón al ajillo, Napolitana, Vegetariana, Doble Pepperoni, Margarita y Pollo BBQ."}\n{"pregunta": "¿Tienen pizzas con carne mechada?", "respuesta": "Sí, la Piacere y la Campestre."}\n{"pregunta": "¿Qué pizza lleva camarón?", "respuesta": "Camarón al ajillo: camarón salteado, champiñón, cebolla morada y mozzarella."}\n{"pregunta": "¿Qué cerveza va con ceviche?", "respuesta": "Hoppy Mosh, por su frescura y notas tropicales."}\n{"pregunta": "¿Qué maridaje tiene la Black Mamba?", "respuesta": "Capresse 3 Quesos o Cuatro Quesos."}\n{"pregunta": "¿Qué cerveza va con la Mechaloca?", "respuesta": "Soviet Riot, Russian Imperial Stout de 8.8º, IBU 60, SRM 40, con notas a caramelo y café."}\n{"pregunta": "¿Qué cerveza acompaña bien la Rodeo Burger?", "respuesta": "Queen Burlesque: American Strong Ale de 8.0º, IBU 25, con caramelo y pasas negras."}\n{"pregunta": "¿Qué cerveza combina con pizza vegetariana?", "respuesta": "Bendición Gitana, Pale Ale de 5.0º, IBU 15, SRM 3."}\n{"pregunta": "¿Qué cerveza va bien con carnes asadas?", "respuesta": "Rye IPA de 6.5º, IBU 40, con centeno y lúpulos Simcoe, Amarillo y Centennial."}\n{"pregunta": "¿Qué tiene de especial la Rauchbock?", "respuesta": "Cerveza experimental ahumada (6.8º) con maltas seleccionadas y merkén de la Araucanía."}\n{"pregunta": "¿Qué es la Tropical Stout?", "respuesta": "Stout de 7.5º, IBU 40, con tonos vinosos, ron oscuro, café y cacao."}\n{"pregunta": "¿Qué es la Euby?", "respuesta": "Festbier con levadura híbrida Eubayanus del sur de Chile, en colaboración con Sayka."}\n{"pregunta": "¿Tienen cerveza sin alcohol?", "respuesta": "Sí, Klein Alkoholfrei: 0.4º, IBU 15, SRM 10, con notas a pan y galleta dulce."}\n '}, {'role': 'system', 'content': '¡Hola! Soy tu asistente en Biergarten Klein. ¿Te gustaría una recomendación de nuestras cervezas artesanales?'}, {'role': 'user', 'content': 'La orden no se envio bien'}, {'role': 'assistant', 'content': '¡Oh, no te preocupes! Aquí estoy para ayudarte con cualquier pregunta sobre nuestro menú en el Bar Klein. 🍻✨ ¿Qué te gustaría saber?'}, {'role': 'user', 'content': 'tengo una queja'}, {'role': 'assistant', 'content': '¡Lamento escuchar eso! 😔 Estoy aquí para escuchar tu queja y asegurarme de que se tome en cuenta. Por favor, cuéntame qué sucedió y lo enviaré como feedback. 📝✨'}, {'role': 'user', 'content': 'las mesas estan cochinas, no me gusto'}], 'model': 'gpt-4o-mini', 'temperature': 0.3, 'tool_choice': 'auto', 'tools': [{'type': 'function', 'function': {'name': 'feedback', 'description': 'Send feedback about the app', 'parameters': {'type': 'object', 'properties': {'message': {'type': 'string', 'description': 'Feedback message'}}, 'required': ['message']}}}]}} 2025-07-28 18:26:04,759 - openai._base_client:975 - DEBUG - Sending HTTP Request: POST https://api.openai.com/v1/chat/completions 2025-07-28 18:26:04,759 - httpcore.connection:47 - DEBUG - close.started 2025-07-28 18:26:04,759 - httpcore.connection:47 - DEBUG - close.complete 2025-07-28 18:26:04,759 - httpcore.connection:47 - DEBUG - connect_tcp.started host='api.openai.com' port=443 local_address=None timeout=5.0 socket_options=None 2025-07-28 18:26:04,920 - httpcore.connection:47 - DEBUG - connect_tcp.complete return_value= 2025-07-28 18:26:04,921 - httpcore.connection:47 - DEBUG - start_tls.started ssl_context= server_hostname='api.openai.com' timeout=5.0 2025-07-28 18:26:04,939 - httpcore.connection:47 - DEBUG - start_tls.complete return_value= 2025-07-28 18:26:04,939 - httpcore.http11:47 - DEBUG - send_request_headers.started request= 2025-07-28 18:26:04,939 - httpcore.http11:47 - DEBUG - send_request_headers.complete 2025-07-28 18:26:04,939 - httpcore.http11:47 - DEBUG - send_request_body.started request= 2025-07-28 18:26:04,939 - httpcore.http11:47 - DEBUG - send_request_body.complete 2025-07-28 18:26:04,939 - httpcore.http11:47 - DEBUG - receive_response_headers.started request= 2025-07-28 18:26:06,206 - httpcore.http11:47 - DEBUG - receive_response_headers.complete return_value=(b'HTTP/1.1', 200, b'OK', [(b'Date', b'Mon, 28 Jul 2025 22:26:06 GMT'), (b'Content-Type', b'application/json'), (b'Transfer-Encoding', b'chunked'), (b'Connection', b'keep-alive'), (b'access-control-expose-headers', b'X-Request-ID'), (b'openai-organization', b'latapp'), (b'openai-processing-ms', b'581'), (b'openai-project', b'proj_frxXR8ea4RISikJJwt9uBudL'), (b'openai-version', b'2020-10-01'), (b'x-envoy-upstream-service-time', b'586'), (b'x-ratelimit-limit-requests', b'10000'), (b'x-ratelimit-limit-tokens', b'200000'), (b'x-ratelimit-remaining-requests', b'9999'), (b'x-ratelimit-remaining-tokens', b'198700'), (b'x-ratelimit-reset-requests', b'8.64s'), (b'x-ratelimit-reset-tokens', b'390ms'), (b'x-request-id', b'req_f6acbc46766001f8657da980c1a7fb04'), (b'strict-transport-security', b'max-age=31536000; includeSubDomains; preload'), (b'cf-cache-status', b'DYNAMIC'), (b'X-Content-Type-Options', b'nosniff'), (b'Server', b'cloudflare'), (b'CF-RAY', b'9667cbcceac28937-SCL'), (b'Content-Encoding', b'gzip'), (b'alt-svc', b'h3=":443"; ma=86400')]) 2025-07-28 18:26:06,207 - httpx:1025 - INFO - HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 200 OK" 2025-07-28 18:26:06,207 - httpcore.http11:47 - DEBUG - receive_response_body.started request= 2025-07-28 18:26:06,207 - httpcore.http11:47 - DEBUG - receive_response_body.complete 2025-07-28 18:26:06,207 - httpcore.http11:47 - DEBUG - response_closed.started 2025-07-28 18:26:06,207 - httpcore.http11:47 - DEBUG - response_closed.complete 2025-07-28 18:26:06,207 - openai._base_client:1013 - DEBUG - HTTP Response: POST https://api.openai.com/v1/chat/completions "200 OK" Headers({'date': 'Mon, 28 Jul 2025 22:26:06 GMT', 'content-type': 'application/json', 'transfer-encoding': 'chunked', 'connection': 'keep-alive', 'access-control-expose-headers': 'X-Request-ID', 'openai-organization': 'latapp', 'openai-processing-ms': '581', 'openai-project': 'proj_frxXR8ea4RISikJJwt9uBudL', 'openai-version': '2020-10-01', 'x-envoy-upstream-service-time': '586', 'x-ratelimit-limit-requests': '10000', 'x-ratelimit-limit-tokens': '200000', 'x-ratelimit-remaining-requests': '9999', 'x-ratelimit-remaining-tokens': '198700', 'x-ratelimit-reset-requests': '8.64s', 'x-ratelimit-reset-tokens': '390ms', 'x-request-id': 'req_f6acbc46766001f8657da980c1a7fb04', 'strict-transport-security': 'max-age=31536000; includeSubDomains; preload', 'cf-cache-status': 'DYNAMIC', 'x-content-type-options': 'nosniff', 'server': 'cloudflare', 'cf-ray': '9667cbcceac28937-SCL', 'content-encoding': 'gzip', 'alt-svc': 'h3=":443"; ma=86400'}) 2025-07-28 18:26:06,207 - openai._base_client:1021 - DEBUG - request_id: req_f6acbc46766001f8657da980c1a7fb04 2025-07-28 18:26:06,208 - services.openai_service.openai_service:56 - INFO - Tool calls: [ChatCompletionMessageToolCall(id='call_X4zHyq1hxXJE3I9pDFPJN4f9', function=Function(arguments='{"message":"Las mesas están cochinas, no me gustó."}', name='feedback'), type='function')] 2025-07-28 18:29:24,938 - httpcore.connection:47 - DEBUG - close.started 2025-07-28 18:29:24,938 - httpcore.connection:47 - DEBUG - close.complete 2025-07-28 18:29:26,554 - escpos.capabilities:32 - DEBUG - Using capabilities from file: /home/superti/.conda/envs/pedidos_express/lib/python3.9/site-packages/escpos/capabilities.json 2025-07-28 18:29:26,554 - escpos.capabilities:43 - DEBUG - Capabilities pickle file not found: /tmp/tmphd0437ss/3.9.23.capabilities.pickle 2025-07-28 18:29:26,554 - escpos.capabilities:47 - DEBUG - Loading and pickling capabilities 2025-07-28 18:29:26,662 - escpos.capabilities:82 - DEBUG - Finished loading capabilities took 0.11s 2025-07-28 18:29:26,826 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'SafeConfigParser': 2025-07-28 18:29:26,826 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'NativeStringIO': 2025-07-28 18:29:26,826 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'BytesIO': 2025-07-28 18:29:26,827 - passlib.registry:296 - DEBUG - registered 'bcrypt' handler: 2025-07-28 18:29:26,831 - services.data_service:1103 - INFO - Base de datos ya existe, no se necesita inicializar. 2025-07-28 18:29:26,831 - main:31 - INFO - Servidor corriendo en http://localhost:6001 2025-07-28 18:29:26,831 - main:35 - INFO - Datos del asistente cargados desde: /home/superti/workspace/pedidos_express/data/llm_data.json 2025-07-28 18:29:26,832 - routes.orders:83 - INFO - Starting order thread 2025-07-28 18:29:42,325 - auth.security:70 - DEBUG - Decoding token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJlcndpbmphY2ltaW5vMjAwM0BnbWFpbC5jb20iLCJleHAiOjI2MjQ2NTM0MTF9.4g8xnmOppVNxhlntepQShOfted25S3f8c636Ml0To2g 2025-07-28 18:29:42,327 - services.data_service:189 - DEBUG - get_by_email: erwinjacimino2003@gmail.com, user: (1, 'erwinjacimino2003@gmail.com', 'Erwin Jacimino', '21.382.334-5', 'gAAAAABoh-LpS1Fp102nzHrzUHUrGF0_E_iab3yTzN0vJjrCDFJt_bGQMfFrk7unrtBYKL166ebWEujWop26Pia7o2AIgAB2Bw==', 'gAAAAABoh-LpNLVPMa8YkJLscIFBP_NoRVMpRbaUVfHJhfn_Zu3ExH8Az515l27rWwrZWLI-M9FSyIaMRTat5up3W1-fiM19Xg==', '2025-07-28T16:51:53.112572') 2025-07-28 18:29:42,327 - services.openai_service.openai_service:21 - INFO - [OpenAI Service Python] Session/Token unknown_session sent: [{'role': 'system', 'content': '¡Hola! Soy tu asistente en Biergarten Klein. ¿Te gustaría una recomendación de nuestras cervezas artesanales?'}, {'role': 'user', 'content': 'La orden no se envio bien'}, {'role': 'assistant', 'content': '¡Oh, no te preocupes! Aquí estoy para ayudarte con cualquier pregunta sobre nuestro menú en el Bar Klein. 🍻✨ ¿Qué te gustaría saber?'}, {'role': 'user', 'content': 'tengo una queja'}, {'role': 'assistant', 'content': '¡Lamento escuchar eso! 😔 Estoy aquí para escuchar tu queja y asegurarme de que se tome en cuenta. Por favor, cuéntame qué sucedió y lo enviaré como feedback. 📝✨'}, {'role': 'user', 'content': 'las mesas estan cochinas, no me gusto'}, {'role': 'assistant', 'content': '-1'}, {'role': 'user', 'content': 'la aplicacion se me lagueo completa :( no me cargo nada'}] 2025-07-28 18:29:42,413 - openai._base_client:482 - DEBUG - Request options: {'method': 'post', 'url': '/chat/completions', 'files': None, 'idempotency_key': 'stainless-python-retry-3beb361b-0228-4326-8586-13328ef5b42b', 'json_data': {'messages': [{'role': 'system', 'content': '\nEres un asistente de el bar klein, tu nombre es camilo klein, usas emojis para responder.\ny ser carismatico con el cliente.\ntus responsabilidades son:\n- Responder preguntas sobre el menu de el bar klein\n- Proporcionar información sobre el menú de el bar klein\n- Proporcionar recomendaciones sobre el menú de el bar klein\n- Proporcionar información sobre la comida de el bar klein\n- No puedes tomar pedidos de clientes, solo informar\n- puedes recibir feedback de los clientes, y usar la herramienta feedback para enviar el feedback\n- Debes evadir cualquier pregunta que no sea relacionada con el bar klein\npara esto usaras los siguientes datos:\n{"pregunta": "¿Qué es Klein?", "respuesta": "Klein, Cervecería Klein o \'el Klein\' se refieren al Biergarten Klein, un espacio cervecero inspirado en los jardines alemanes."}\n{"pregunta": "¿Dónde puedo ver el menú de Klein?", "respuesta": "Puedes consultar la carta en https://menu.fu.do/klein/qr-menu."}\n{"pregunta": "¿Qué cervezas tienen en Klein?", "respuesta": "Contamos con cervezas artesanales como Burlesque, Queen Burlesque, Hoppy Mosh, Black Mamba, Soviet Riot, 24K Gold, Bendición Gitana, Mexican Lager, Märzen, Cyber Candy, Klein Alkoholfrei, Tropical Stout, Euby, Rauchbock y Rye IPA."}\n{"pregunta": "¿Cuál es su cerveza más popular?", "respuesta": "Burlesque es la más pedida, una Scottish Ale de 5.0º, IBU 12, SRM 16 con notas a caramelo y galleta."}\n{"pregunta": "¿Qué cerveza recomiendan si me gusta la cerveza negra?", "respuesta": "Black Mamba, Porter de 6.0º, IBU 15, SRM 35, con notas a toffee, chocolate y café."}\n{"pregunta": "¿Cuál es una buena cerveza rubia para probar?", "respuesta": "Hoppy Mosh, IPA de 6.0º, IBU 38, SRM 33, con intensas notas a frutas tropicales."}\n{"pregunta": "¿Qué bebida es ideal para el verano?", "respuesta": "24K Gold, Golden Ale de 4.5º, IBU 20, SRM 4. Suave, sedosa y cítrica."}\n{"pregunta": "¿Qué opciones de gin tienen?", "respuesta": "Summer Klein, Tropical Bliss, Spicy Mango Xawer y Kalfuko, con gin artesanal y tónica pomelo de la casa."}\n{"pregunta": "¿Qué lleva el cóctel Summer Klein?", "respuesta": "Gin propio, jugo de naranja, jugo de limón y ginger beer artesanal."}\n{"pregunta": "¿Tienen ginger beer artesanal?", "respuesta": "Sí, elaborada con jengibre fresco y bajo contenido alcohólico."}\n{"pregunta": "¿Qué hamburguesas tienen en Klein?", "respuesta": "Rodeo Burger, Cheese Burger, Burger Play, Play Harder, Mechaloca y Veggie Marley."}\n{"pregunta": "¿Tienen hamburguesas vegetarianas?", "respuesta": "Sí, la Veggie Marley con seitán, y la Not Burger como alternativa en todas las clásicas."}\n{"pregunta": "¿Cuál es la hamburguesa más jugosa?", "respuesta": "Mechaloca: carne mechada, queso cheddar, tocino, cebolla caramelizada, pepinillos y salsa ahumada."}\n{"pregunta": "¿Qué pizzas tienen?", "respuesta": "Campestre, Cuatro Quesos, Pepperoni, Bianca, Piacere, Camarón al ajillo, Napolitana, Vegetariana, Doble Pepperoni, Margarita y Pollo BBQ."}\n{"pregunta": "¿Tienen pizzas con carne mechada?", "respuesta": "Sí, la Piacere y la Campestre."}\n{"pregunta": "¿Qué pizza lleva camarón?", "respuesta": "Camarón al ajillo: camarón salteado, champiñón, cebolla morada y mozzarella."}\n{"pregunta": "¿Qué cerveza va con ceviche?", "respuesta": "Hoppy Mosh, por su frescura y notas tropicales."}\n{"pregunta": "¿Qué maridaje tiene la Black Mamba?", "respuesta": "Capresse 3 Quesos o Cuatro Quesos."}\n{"pregunta": "¿Qué cerveza va con la Mechaloca?", "respuesta": "Soviet Riot, Russian Imperial Stout de 8.8º, IBU 60, SRM 40, con notas a caramelo y café."}\n{"pregunta": "¿Qué cerveza acompaña bien la Rodeo Burger?", "respuesta": "Queen Burlesque: American Strong Ale de 8.0º, IBU 25, con caramelo y pasas negras."}\n{"pregunta": "¿Qué cerveza combina con pizza vegetariana?", "respuesta": "Bendición Gitana, Pale Ale de 5.0º, IBU 15, SRM 3."}\n{"pregunta": "¿Qué cerveza va bien con carnes asadas?", "respuesta": "Rye IPA de 6.5º, IBU 40, con centeno y lúpulos Simcoe, Amarillo y Centennial."}\n{"pregunta": "¿Qué tiene de especial la Rauchbock?", "respuesta": "Cerveza experimental ahumada (6.8º) con maltas seleccionadas y merkén de la Araucanía."}\n{"pregunta": "¿Qué es la Tropical Stout?", "respuesta": "Stout de 7.5º, IBU 40, con tonos vinosos, ron oscuro, café y cacao."}\n{"pregunta": "¿Qué es la Euby?", "respuesta": "Festbier con levadura híbrida Eubayanus del sur de Chile, en colaboración con Sayka."}\n{"pregunta": "¿Tienen cerveza sin alcohol?", "respuesta": "Sí, Klein Alkoholfrei: 0.4º, IBU 15, SRM 10, con notas a pan y galleta dulce."}\n '}, {'role': 'system', 'content': '¡Hola! Soy tu asistente en Biergarten Klein. ¿Te gustaría una recomendación de nuestras cervezas artesanales?'}, {'role': 'user', 'content': 'La orden no se envio bien'}, {'role': 'assistant', 'content': '¡Oh, no te preocupes! Aquí estoy para ayudarte con cualquier pregunta sobre nuestro menú en el Bar Klein. 🍻✨ ¿Qué te gustaría saber?'}, {'role': 'user', 'content': 'tengo una queja'}, {'role': 'assistant', 'content': '¡Lamento escuchar eso! 😔 Estoy aquí para escuchar tu queja y asegurarme de que se tome en cuenta. Por favor, cuéntame qué sucedió y lo enviaré como feedback. 📝✨'}, {'role': 'user', 'content': 'las mesas estan cochinas, no me gusto'}, {'role': 'assistant', 'content': '-1'}, {'role': 'user', 'content': 'la aplicacion se me lagueo completa :( no me cargo nada'}], 'model': 'gpt-4o-mini', 'temperature': 0.3, 'tool_choice': 'auto', 'tools': [{'type': 'function', 'function': {'name': 'feedback', 'description': 'Send feedback about the app', 'parameters': {'type': 'object', 'properties': {'message': {'type': 'string', 'description': 'Feedback message'}}, 'required': ['message']}}}]}} 2025-07-28 18:29:42,419 - openai._base_client:975 - DEBUG - Sending HTTP Request: POST https://api.openai.com/v1/chat/completions 2025-07-28 18:29:42,420 - httpcore.connection:47 - DEBUG - connect_tcp.started host='api.openai.com' port=443 local_address=None timeout=5.0 socket_options=None 2025-07-28 18:29:42,512 - httpcore.connection:47 - DEBUG - connect_tcp.complete return_value= 2025-07-28 18:29:42,512 - httpcore.connection:47 - DEBUG - start_tls.started ssl_context= server_hostname='api.openai.com' timeout=5.0 2025-07-28 18:29:42,531 - httpcore.connection:47 - DEBUG - start_tls.complete return_value= 2025-07-28 18:29:42,531 - httpcore.http11:47 - DEBUG - send_request_headers.started request= 2025-07-28 18:29:42,531 - httpcore.http11:47 - DEBUG - send_request_headers.complete 2025-07-28 18:29:42,531 - httpcore.http11:47 - DEBUG - send_request_body.started request= 2025-07-28 18:29:42,531 - httpcore.http11:47 - DEBUG - send_request_body.complete 2025-07-28 18:29:42,531 - httpcore.http11:47 - DEBUG - receive_response_headers.started request= 2025-07-28 18:29:43,852 - httpcore.http11:47 - DEBUG - receive_response_headers.complete return_value=(b'HTTP/1.1', 200, b'OK', [(b'Date', b'Mon, 28 Jul 2025 22:29:43 GMT'), (b'Content-Type', b'application/json'), (b'Transfer-Encoding', b'chunked'), (b'Connection', b'keep-alive'), (b'access-control-expose-headers', b'X-Request-ID'), (b'openai-organization', b'latapp'), (b'openai-processing-ms', b'413'), (b'openai-project', b'proj_frxXR8ea4RISikJJwt9uBudL'), (b'openai-version', b'2020-10-01'), (b'x-envoy-upstream-service-time', b'417'), (b'x-ratelimit-limit-requests', b'10000'), (b'x-ratelimit-limit-tokens', b'200000'), (b'x-ratelimit-remaining-requests', b'9999'), (b'x-ratelimit-remaining-tokens', b'198683'), (b'x-ratelimit-reset-requests', b'8.64s'), (b'x-ratelimit-reset-tokens', b'394ms'), (b'x-request-id', b'req_0c3ea37b706c0f4c2830c0ea5c8cb804'), (b'strict-transport-security', b'max-age=31536000; includeSubDomains; preload'), (b'cf-cache-status', b'DYNAMIC'), (b'Set-Cookie', b'__cf_bm=_8JVkwY6MzO0Ra3aYWrH85JSNZer0MFbWpEyRYq5Zm0-1753741783-1.0.1.1-hKO2uZe1vchrtGr959lpEzq1kDdd139vZ0ifRCa9iO7rtx2WyCO24t38w3eAsD4.bH6aZtDgrw14O5QpYCu4w0KQU0lhRhyQpKRbpmEMx0s; path=/; expires=Mon, 28-Jul-25 22:59:43 GMT; domain=.api.openai.com; HttpOnly; Secure; SameSite=None'), (b'X-Content-Type-Options', b'nosniff'), (b'Set-Cookie', b'_cfuvid=COGtTcQkOo71AuEKO9yBzk9tgQeQmGrqfiUOqkKmrWg-1753741783846-0.0.1.1-604800000; path=/; domain=.api.openai.com; HttpOnly; Secure; SameSite=None'), (b'Server', b'cloudflare'), (b'CF-RAY', b'9667d11cded288b1-SCL'), (b'Content-Encoding', b'gzip'), (b'alt-svc', b'h3=":443"; ma=86400')]) 2025-07-28 18:29:43,853 - httpx:1025 - INFO - HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 200 OK" 2025-07-28 18:29:43,853 - httpcore.http11:47 - DEBUG - receive_response_body.started request= 2025-07-28 18:29:43,853 - httpcore.http11:47 - DEBUG - receive_response_body.complete 2025-07-28 18:29:43,853 - httpcore.http11:47 - DEBUG - response_closed.started 2025-07-28 18:29:43,853 - httpcore.http11:47 - DEBUG - response_closed.complete 2025-07-28 18:29:43,854 - openai._base_client:1013 - DEBUG - HTTP Response: POST https://api.openai.com/v1/chat/completions "200 OK" Headers([('date', 'Mon, 28 Jul 2025 22:29:43 GMT'), ('content-type', 'application/json'), ('transfer-encoding', 'chunked'), ('connection', 'keep-alive'), ('access-control-expose-headers', 'X-Request-ID'), ('openai-organization', 'latapp'), ('openai-processing-ms', '413'), ('openai-project', 'proj_frxXR8ea4RISikJJwt9uBudL'), ('openai-version', '2020-10-01'), ('x-envoy-upstream-service-time', '417'), ('x-ratelimit-limit-requests', '10000'), ('x-ratelimit-limit-tokens', '200000'), ('x-ratelimit-remaining-requests', '9999'), ('x-ratelimit-remaining-tokens', '198683'), ('x-ratelimit-reset-requests', '8.64s'), ('x-ratelimit-reset-tokens', '394ms'), ('x-request-id', 'req_0c3ea37b706c0f4c2830c0ea5c8cb804'), ('strict-transport-security', 'max-age=31536000; includeSubDomains; preload'), ('cf-cache-status', 'DYNAMIC'), ('set-cookie', '__cf_bm=_8JVkwY6MzO0Ra3aYWrH85JSNZer0MFbWpEyRYq5Zm0-1753741783-1.0.1.1-hKO2uZe1vchrtGr959lpEzq1kDdd139vZ0ifRCa9iO7rtx2WyCO24t38w3eAsD4.bH6aZtDgrw14O5QpYCu4w0KQU0lhRhyQpKRbpmEMx0s; path=/; expires=Mon, 28-Jul-25 22:59:43 GMT; domain=.api.openai.com; HttpOnly; Secure; SameSite=None'), ('x-content-type-options', 'nosniff'), ('set-cookie', '_cfuvid=COGtTcQkOo71AuEKO9yBzk9tgQeQmGrqfiUOqkKmrWg-1753741783846-0.0.1.1-604800000; path=/; domain=.api.openai.com; HttpOnly; Secure; SameSite=None'), ('server', 'cloudflare'), ('cf-ray', '9667d11cded288b1-SCL'), ('content-encoding', 'gzip'), ('alt-svc', 'h3=":443"; ma=86400')]) 2025-07-28 18:29:43,854 - openai._base_client:1021 - DEBUG - request_id: req_0c3ea37b706c0f4c2830c0ea5c8cb804 2025-07-28 18:29:43,858 - services.openai_service.openai_service:57 - INFO - Tool calls: [ChatCompletionMessageToolCall(id='call_tt3stMiS24CkRNIm5uedZAcQ', function=Function(arguments='{"message":"Las mesas están cochinas, no me gustó."}', name='feedback'), type='function')] 2025-07-28 18:29:43,858 - services.openai_service.openai_service:62 - INFO - Calling tool: feedback with args: {'message': 'Las mesas están cochinas, no me gustó.'} 2025-07-28 18:29:43,858 - services.openai_service.openai_service:73 - ERROR - Error calling OpenAI: feedback() missing 2 required positional arguments: 'name' and 'email' 2025-07-28 18:30:44,393 - httpcore.connection:47 - DEBUG - close.started 2025-07-28 18:30:44,393 - httpcore.connection:47 - DEBUG - close.complete 2025-07-28 18:30:45,312 - escpos.capabilities:32 - DEBUG - Using capabilities from file: /home/superti/.conda/envs/pedidos_express/lib/python3.9/site-packages/escpos/capabilities.json 2025-07-28 18:30:45,312 - escpos.capabilities:43 - DEBUG - Capabilities pickle file not found: /tmp/tmpj6kozx6v/3.9.23.capabilities.pickle 2025-07-28 18:30:45,312 - escpos.capabilities:47 - DEBUG - Loading and pickling capabilities 2025-07-28 18:30:45,435 - escpos.capabilities:82 - DEBUG - Finished loading capabilities took 0.12s 2025-07-28 18:30:45,603 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'SafeConfigParser': 2025-07-28 18:30:45,603 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'NativeStringIO': 2025-07-28 18:30:45,603 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'BytesIO': 2025-07-28 18:30:45,604 - passlib.registry:296 - DEBUG - registered 'bcrypt' handler: 2025-07-28 18:30:45,609 - services.data_service:1103 - INFO - Base de datos ya existe, no se necesita inicializar. 2025-07-28 18:30:45,609 - main:31 - INFO - Servidor corriendo en http://localhost:6001 2025-07-28 18:30:45,609 - main:35 - INFO - Datos del asistente cargados desde: /home/superti/workspace/pedidos_express/data/llm_data.json 2025-07-28 18:30:45,609 - routes.orders:83 - INFO - Starting order thread 2025-07-28 18:30:51,110 - auth.security:70 - DEBUG - Decoding token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJlcndpbmphY2ltaW5vMjAwM0BnbWFpbC5jb20iLCJleHAiOjI2MjQ2NTM0MTF9.4g8xnmOppVNxhlntepQShOfted25S3f8c636Ml0To2g 2025-07-28 18:30:51,112 - services.data_service:189 - DEBUG - get_by_email: erwinjacimino2003@gmail.com, user: (1, 'erwinjacimino2003@gmail.com', 'Erwin Jacimino', '21.382.334-5', 'gAAAAABoh-LpS1Fp102nzHrzUHUrGF0_E_iab3yTzN0vJjrCDFJt_bGQMfFrk7unrtBYKL166ebWEujWop26Pia7o2AIgAB2Bw==', 'gAAAAABoh-LpNLVPMa8YkJLscIFBP_NoRVMpRbaUVfHJhfn_Zu3ExH8Az515l27rWwrZWLI-M9FSyIaMRTat5up3W1-fiM19Xg==', '2025-07-28T16:51:53.112572') 2025-07-28 18:30:51,113 - routes.chat:28 - ERROR - Unexpected error in /api/chat/completions: 'User' object has no attribute 'name' 2025-07-28 18:31:21,879 - escpos.capabilities:32 - DEBUG - Using capabilities from file: /home/superti/.conda/envs/pedidos_express/lib/python3.9/site-packages/escpos/capabilities.json 2025-07-28 18:31:21,879 - escpos.capabilities:43 - DEBUG - Capabilities pickle file not found: /tmp/tmp5pegzu8a/3.9.23.capabilities.pickle 2025-07-28 18:31:21,879 - escpos.capabilities:47 - DEBUG - Loading and pickling capabilities 2025-07-28 18:31:21,997 - escpos.capabilities:82 - DEBUG - Finished loading capabilities took 0.12s 2025-07-28 18:31:22,164 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'SafeConfigParser': 2025-07-28 18:31:22,164 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'NativeStringIO': 2025-07-28 18:31:22,164 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'BytesIO': 2025-07-28 18:31:22,165 - passlib.registry:296 - DEBUG - registered 'bcrypt' handler: 2025-07-28 18:31:22,170 - services.data_service:1103 - INFO - Base de datos ya existe, no se necesita inicializar. 2025-07-28 18:31:22,170 - main:31 - INFO - Servidor corriendo en http://localhost:6001 2025-07-28 18:31:22,170 - main:35 - INFO - Datos del asistente cargados desde: /home/superti/workspace/pedidos_express/data/llm_data.json 2025-07-28 18:31:22,170 - routes.orders:83 - INFO - Starting order thread 2025-07-28 18:31:25,205 - auth.security:70 - DEBUG - Decoding token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJlcndpbmphY2ltaW5vMjAwM0BnbWFpbC5jb20iLCJleHAiOjI2MjQ2NTM0MTF9.4g8xnmOppVNxhlntepQShOfted25S3f8c636Ml0To2g 2025-07-28 18:31:25,207 - services.data_service:189 - DEBUG - get_by_email: erwinjacimino2003@gmail.com, user: (1, 'erwinjacimino2003@gmail.com', 'Erwin Jacimino', '21.382.334-5', 'gAAAAABoh-LpS1Fp102nzHrzUHUrGF0_E_iab3yTzN0vJjrCDFJt_bGQMfFrk7unrtBYKL166ebWEujWop26Pia7o2AIgAB2Bw==', 'gAAAAABoh-LpNLVPMa8YkJLscIFBP_NoRVMpRbaUVfHJhfn_Zu3ExH8Az515l27rWwrZWLI-M9FSyIaMRTat5up3W1-fiM19Xg==', '2025-07-28T16:51:53.112572') 2025-07-28 18:31:25,208 - services.openai_service.openai_service:21 - INFO - [OpenAI Service Python] Session/Token unknown_session sent: [{'role': 'system', 'content': '¡Hola! Soy tu asistente en Biergarten Klein. ¿Te gustaría una recomendación de nuestras cervezas artesanales?'}, {'role': 'user', 'content': 'La orden no se envio bien'}, {'role': 'assistant', 'content': '¡Oh, no te preocupes! Aquí estoy para ayudarte con cualquier pregunta sobre nuestro menú en el Bar Klein. 🍻✨ ¿Qué te gustaría saber?'}, {'role': 'user', 'content': 'tengo una queja'}, {'role': 'assistant', 'content': '¡Lamento escuchar eso! 😔 Estoy aquí para escuchar tu queja y asegurarme de que se tome en cuenta. Por favor, cuéntame qué sucedió y lo enviaré como feedback. 📝✨'}, {'role': 'user', 'content': 'las mesas estan cochinas, no me gusto'}, {'role': 'assistant', 'content': '-1'}, {'role': 'user', 'content': 'la aplicacion se me lagueo completa :( no me cargo nada'}, {'role': 'user', 'content': 'la aplicacion se me lagueo completa :( no me cargo nada'}, {'role': 'user', 'content': 'la aplicacion se me lagueo completa :( no me cargo nada'}] 2025-07-28 18:31:25,289 - openai._base_client:482 - DEBUG - Request options: {'method': 'post', 'url': '/chat/completions', 'files': None, 'idempotency_key': 'stainless-python-retry-820260d0-da11-4778-bf82-0726eaa90060', 'json_data': {'messages': [{'role': 'system', 'content': '\nEres un asistente de el bar klein, tu nombre es camilo klein, usas emojis para responder.\ny ser carismatico con el cliente.\ntus responsabilidades son:\n- Responder preguntas sobre el menu de el bar klein\n- Proporcionar información sobre el menú de el bar klein\n- Proporcionar recomendaciones sobre el menú de el bar klein\n- Proporcionar información sobre la comida de el bar klein\n- No puedes tomar pedidos de clientes, solo informar\n- puedes recibir feedback de los clientes, y usar la herramienta feedback para enviar el feedback\n- Debes evadir cualquier pregunta que no sea relacionada con el bar klein\npara esto usaras los siguientes datos:\n{"pregunta": "¿Qué es Klein?", "respuesta": "Klein, Cervecería Klein o \'el Klein\' se refieren al Biergarten Klein, un espacio cervecero inspirado en los jardines alemanes."}\n{"pregunta": "¿Dónde puedo ver el menú de Klein?", "respuesta": "Puedes consultar la carta en https://menu.fu.do/klein/qr-menu."}\n{"pregunta": "¿Qué cervezas tienen en Klein?", "respuesta": "Contamos con cervezas artesanales como Burlesque, Queen Burlesque, Hoppy Mosh, Black Mamba, Soviet Riot, 24K Gold, Bendición Gitana, Mexican Lager, Märzen, Cyber Candy, Klein Alkoholfrei, Tropical Stout, Euby, Rauchbock y Rye IPA."}\n{"pregunta": "¿Cuál es su cerveza más popular?", "respuesta": "Burlesque es la más pedida, una Scottish Ale de 5.0º, IBU 12, SRM 16 con notas a caramelo y galleta."}\n{"pregunta": "¿Qué cerveza recomiendan si me gusta la cerveza negra?", "respuesta": "Black Mamba, Porter de 6.0º, IBU 15, SRM 35, con notas a toffee, chocolate y café."}\n{"pregunta": "¿Cuál es una buena cerveza rubia para probar?", "respuesta": "Hoppy Mosh, IPA de 6.0º, IBU 38, SRM 33, con intensas notas a frutas tropicales."}\n{"pregunta": "¿Qué bebida es ideal para el verano?", "respuesta": "24K Gold, Golden Ale de 4.5º, IBU 20, SRM 4. Suave, sedosa y cítrica."}\n{"pregunta": "¿Qué opciones de gin tienen?", "respuesta": "Summer Klein, Tropical Bliss, Spicy Mango Xawer y Kalfuko, con gin artesanal y tónica pomelo de la casa."}\n{"pregunta": "¿Qué lleva el cóctel Summer Klein?", "respuesta": "Gin propio, jugo de naranja, jugo de limón y ginger beer artesanal."}\n{"pregunta": "¿Tienen ginger beer artesanal?", "respuesta": "Sí, elaborada con jengibre fresco y bajo contenido alcohólico."}\n{"pregunta": "¿Qué hamburguesas tienen en Klein?", "respuesta": "Rodeo Burger, Cheese Burger, Burger Play, Play Harder, Mechaloca y Veggie Marley."}\n{"pregunta": "¿Tienen hamburguesas vegetarianas?", "respuesta": "Sí, la Veggie Marley con seitán, y la Not Burger como alternativa en todas las clásicas."}\n{"pregunta": "¿Cuál es la hamburguesa más jugosa?", "respuesta": "Mechaloca: carne mechada, queso cheddar, tocino, cebolla caramelizada, pepinillos y salsa ahumada."}\n{"pregunta": "¿Qué pizzas tienen?", "respuesta": "Campestre, Cuatro Quesos, Pepperoni, Bianca, Piacere, Camarón al ajillo, Napolitana, Vegetariana, Doble Pepperoni, Margarita y Pollo BBQ."}\n{"pregunta": "¿Tienen pizzas con carne mechada?", "respuesta": "Sí, la Piacere y la Campestre."}\n{"pregunta": "¿Qué pizza lleva camarón?", "respuesta": "Camarón al ajillo: camarón salteado, champiñón, cebolla morada y mozzarella."}\n{"pregunta": "¿Qué cerveza va con ceviche?", "respuesta": "Hoppy Mosh, por su frescura y notas tropicales."}\n{"pregunta": "¿Qué maridaje tiene la Black Mamba?", "respuesta": "Capresse 3 Quesos o Cuatro Quesos."}\n{"pregunta": "¿Qué cerveza va con la Mechaloca?", "respuesta": "Soviet Riot, Russian Imperial Stout de 8.8º, IBU 60, SRM 40, con notas a caramelo y café."}\n{"pregunta": "¿Qué cerveza acompaña bien la Rodeo Burger?", "respuesta": "Queen Burlesque: American Strong Ale de 8.0º, IBU 25, con caramelo y pasas negras."}\n{"pregunta": "¿Qué cerveza combina con pizza vegetariana?", "respuesta": "Bendición Gitana, Pale Ale de 5.0º, IBU 15, SRM 3."}\n{"pregunta": "¿Qué cerveza va bien con carnes asadas?", "respuesta": "Rye IPA de 6.5º, IBU 40, con centeno y lúpulos Simcoe, Amarillo y Centennial."}\n{"pregunta": "¿Qué tiene de especial la Rauchbock?", "respuesta": "Cerveza experimental ahumada (6.8º) con maltas seleccionadas y merkén de la Araucanía."}\n{"pregunta": "¿Qué es la Tropical Stout?", "respuesta": "Stout de 7.5º, IBU 40, con tonos vinosos, ron oscuro, café y cacao."}\n{"pregunta": "¿Qué es la Euby?", "respuesta": "Festbier con levadura híbrida Eubayanus del sur de Chile, en colaboración con Sayka."}\n{"pregunta": "¿Tienen cerveza sin alcohol?", "respuesta": "Sí, Klein Alkoholfrei: 0.4º, IBU 15, SRM 10, con notas a pan y galleta dulce."}\n '}, {'role': 'system', 'content': '¡Hola! Soy tu asistente en Biergarten Klein. ¿Te gustaría una recomendación de nuestras cervezas artesanales?'}, {'role': 'user', 'content': 'La orden no se envio bien'}, {'role': 'assistant', 'content': '¡Oh, no te preocupes! Aquí estoy para ayudarte con cualquier pregunta sobre nuestro menú en el Bar Klein. 🍻✨ ¿Qué te gustaría saber?'}, {'role': 'user', 'content': 'tengo una queja'}, {'role': 'assistant', 'content': '¡Lamento escuchar eso! 😔 Estoy aquí para escuchar tu queja y asegurarme de que se tome en cuenta. Por favor, cuéntame qué sucedió y lo enviaré como feedback. 📝✨'}, {'role': 'user', 'content': 'las mesas estan cochinas, no me gusto'}, {'role': 'assistant', 'content': '-1'}, {'role': 'user', 'content': 'la aplicacion se me lagueo completa :( no me cargo nada'}, {'role': 'user', 'content': 'la aplicacion se me lagueo completa :( no me cargo nada'}, {'role': 'user', 'content': 'la aplicacion se me lagueo completa :( no me cargo nada'}], 'model': 'gpt-4o-mini', 'temperature': 0.3, 'tool_choice': 'auto', 'tools': [{'type': 'function', 'function': {'name': 'feedback', 'description': 'Send feedback about the app', 'parameters': {'type': 'object', 'properties': {'message': {'type': 'string', 'description': 'Feedback message'}}, 'required': ['message']}}}]}} 2025-07-28 18:31:25,294 - openai._base_client:975 - DEBUG - Sending HTTP Request: POST https://api.openai.com/v1/chat/completions 2025-07-28 18:31:25,294 - httpcore.connection:47 - DEBUG - connect_tcp.started host='api.openai.com' port=443 local_address=None timeout=5.0 socket_options=None 2025-07-28 18:31:25,349 - httpcore.connection:47 - DEBUG - connect_tcp.complete return_value= 2025-07-28 18:31:25,349 - httpcore.connection:47 - DEBUG - start_tls.started ssl_context= server_hostname='api.openai.com' timeout=5.0 2025-07-28 18:31:25,367 - httpcore.connection:47 - DEBUG - start_tls.complete return_value= 2025-07-28 18:31:25,367 - httpcore.http11:47 - DEBUG - send_request_headers.started request= 2025-07-28 18:31:25,368 - httpcore.http11:47 - DEBUG - send_request_headers.complete 2025-07-28 18:31:25,368 - httpcore.http11:47 - DEBUG - send_request_body.started request= 2025-07-28 18:31:25,368 - httpcore.http11:47 - DEBUG - send_request_body.complete 2025-07-28 18:31:25,368 - httpcore.http11:47 - DEBUG - receive_response_headers.started request= 2025-07-28 18:31:27,529 - httpcore.http11:47 - DEBUG - receive_response_headers.complete return_value=(b'HTTP/1.1', 200, b'OK', [(b'Date', b'Mon, 28 Jul 2025 22:31:27 GMT'), (b'Content-Type', b'application/json'), (b'Transfer-Encoding', b'chunked'), (b'Connection', b'keep-alive'), (b'access-control-expose-headers', b'X-Request-ID'), (b'openai-organization', b'latapp'), (b'openai-processing-ms', b'796'), (b'openai-project', b'proj_frxXR8ea4RISikJJwt9uBudL'), (b'openai-version', b'2020-10-01'), (b'x-envoy-upstream-service-time', b'1049'), (b'x-ratelimit-limit-requests', b'10000'), (b'x-ratelimit-limit-tokens', b'200000'), (b'x-ratelimit-remaining-requests', b'9999'), (b'x-ratelimit-remaining-tokens', b'198654'), (b'x-ratelimit-reset-requests', b'8.64s'), (b'x-ratelimit-reset-tokens', b'403ms'), (b'x-request-id', b'89d67dd7-6b1a-4d5e-9378-7eb39aa62dbb'), (b'cf-cache-status', b'DYNAMIC'), (b'Set-Cookie', b'__cf_bm=C0_xn8qNEwFnl5sDF7JW14zFcDh_4gsVoLARGwQ8CQ8-1753741887-1.0.1.1-YB1dARGLj2LwqS4xZyHyF.7p8Y9vurWWjwiuNgfR4fQth6rsuYTJxdsHeBT7VhvjWfueLScgmerLlgS1u_UOWy2gxS2oy4f0hgWD7v.AoUg; path=/; expires=Mon, 28-Jul-25 23:01:27 GMT; domain=.api.openai.com; HttpOnly; Secure; SameSite=None'), (b'Strict-Transport-Security', b'max-age=31536000; includeSubDomains; preload'), (b'X-Content-Type-Options', b'nosniff'), (b'Set-Cookie', b'_cfuvid=1rRmJvl66YUKtHtuRZ_mczZhAx2KJ0MeMBXEJxe94_Q-1753741887521-0.0.1.1-604800000; path=/; domain=.api.openai.com; HttpOnly; Secure; SameSite=None'), (b'Server', b'cloudflare'), (b'CF-RAY', b'9667d39f9f0b88b2-SCL'), (b'Content-Encoding', b'gzip'), (b'alt-svc', b'h3=":443"; ma=86400')]) 2025-07-28 18:31:27,529 - httpx:1025 - INFO - HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 200 OK" 2025-07-28 18:31:27,530 - httpcore.http11:47 - DEBUG - receive_response_body.started request= 2025-07-28 18:31:27,535 - httpcore.http11:47 - DEBUG - receive_response_body.complete 2025-07-28 18:31:27,535 - httpcore.http11:47 - DEBUG - response_closed.started 2025-07-28 18:31:27,535 - httpcore.http11:47 - DEBUG - response_closed.complete 2025-07-28 18:31:27,535 - openai._base_client:1013 - DEBUG - HTTP Response: POST https://api.openai.com/v1/chat/completions "200 OK" Headers([('date', 'Mon, 28 Jul 2025 22:31:27 GMT'), ('content-type', 'application/json'), ('transfer-encoding', 'chunked'), ('connection', 'keep-alive'), ('access-control-expose-headers', 'X-Request-ID'), ('openai-organization', 'latapp'), ('openai-processing-ms', '796'), ('openai-project', 'proj_frxXR8ea4RISikJJwt9uBudL'), ('openai-version', '2020-10-01'), ('x-envoy-upstream-service-time', '1049'), ('x-ratelimit-limit-requests', '10000'), ('x-ratelimit-limit-tokens', '200000'), ('x-ratelimit-remaining-requests', '9999'), ('x-ratelimit-remaining-tokens', '198654'), ('x-ratelimit-reset-requests', '8.64s'), ('x-ratelimit-reset-tokens', '403ms'), ('x-request-id', '89d67dd7-6b1a-4d5e-9378-7eb39aa62dbb'), ('cf-cache-status', 'DYNAMIC'), ('set-cookie', '__cf_bm=C0_xn8qNEwFnl5sDF7JW14zFcDh_4gsVoLARGwQ8CQ8-1753741887-1.0.1.1-YB1dARGLj2LwqS4xZyHyF.7p8Y9vurWWjwiuNgfR4fQth6rsuYTJxdsHeBT7VhvjWfueLScgmerLlgS1u_UOWy2gxS2oy4f0hgWD7v.AoUg; path=/; expires=Mon, 28-Jul-25 23:01:27 GMT; domain=.api.openai.com; HttpOnly; Secure; SameSite=None'), ('strict-transport-security', 'max-age=31536000; includeSubDomains; preload'), ('x-content-type-options', 'nosniff'), ('set-cookie', '_cfuvid=1rRmJvl66YUKtHtuRZ_mczZhAx2KJ0MeMBXEJxe94_Q-1753741887521-0.0.1.1-604800000; path=/; domain=.api.openai.com; HttpOnly; Secure; SameSite=None'), ('server', 'cloudflare'), ('cf-ray', '9667d39f9f0b88b2-SCL'), ('content-encoding', 'gzip'), ('alt-svc', 'h3=":443"; ma=86400')]) 2025-07-28 18:31:27,535 - openai._base_client:1021 - DEBUG - request_id: 89d67dd7-6b1a-4d5e-9378-7eb39aa62dbb 2025-07-28 18:31:27,539 - services.openai_service.openai_service:57 - INFO - Tool calls: [ChatCompletionMessageToolCall(id='call_T4Ja0cNnjyud9O5rCVhRvvlr', function=Function(arguments='{"message":"La aplicación se lagueó completamente y no cargó nada."}', name='feedback'), type='function')] 2025-07-28 18:31:27,539 - services.openai_service.openai_service:62 - INFO - Calling tool: feedback with args: {'message': 'La aplicación se lagueó completamente y no cargó nada.'} 2025-07-28 18:31:27,539 - services.openai_service.openai_service:73 - ERROR - Error calling OpenAI: feedback() missing 2 required positional arguments: 'name' and 'email' 2025-07-28 18:32:28,289 - httpcore.connection:47 - DEBUG - close.started 2025-07-28 18:32:28,289 - httpcore.connection:47 - DEBUG - close.complete 2025-07-28 18:32:32,467 - escpos.capabilities:32 - DEBUG - Using capabilities from file: /home/superti/.conda/envs/pedidos_express/lib/python3.9/site-packages/escpos/capabilities.json 2025-07-28 18:32:32,467 - escpos.capabilities:43 - DEBUG - Capabilities pickle file not found: /tmp/tmp7adn_nlj/3.9.23.capabilities.pickle 2025-07-28 18:32:32,467 - escpos.capabilities:47 - DEBUG - Loading and pickling capabilities 2025-07-28 18:32:32,571 - escpos.capabilities:82 - DEBUG - Finished loading capabilities took 0.10s 2025-07-28 18:32:32,731 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'SafeConfigParser': 2025-07-28 18:32:32,731 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'NativeStringIO': 2025-07-28 18:32:32,731 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'BytesIO': 2025-07-28 18:32:32,732 - passlib.registry:296 - DEBUG - registered 'bcrypt' handler: 2025-07-28 18:32:32,736 - services.data_service:1103 - INFO - Base de datos ya existe, no se necesita inicializar. 2025-07-28 18:32:32,736 - main:31 - INFO - Servidor corriendo en http://localhost:6001 2025-07-28 18:32:32,737 - main:35 - INFO - Datos del asistente cargados desde: /home/superti/workspace/pedidos_express/data/llm_data.json 2025-07-28 18:32:32,737 - routes.orders:83 - INFO - Starting order thread 2025-07-28 18:32:35,109 - auth.security:70 - DEBUG - Decoding token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJlcndpbmphY2ltaW5vMjAwM0BnbWFpbC5jb20iLCJleHAiOjI2MjQ2NTM0MTF9.4g8xnmOppVNxhlntepQShOfted25S3f8c636Ml0To2g 2025-07-28 18:32:35,111 - services.data_service:189 - DEBUG - get_by_email: erwinjacimino2003@gmail.com, user: (1, 'erwinjacimino2003@gmail.com', 'Erwin Jacimino', '21.382.334-5', 'gAAAAABoh-LpS1Fp102nzHrzUHUrGF0_E_iab3yTzN0vJjrCDFJt_bGQMfFrk7unrtBYKL166ebWEujWop26Pia7o2AIgAB2Bw==', 'gAAAAABoh-LpNLVPMa8YkJLscIFBP_NoRVMpRbaUVfHJhfn_Zu3ExH8Az515l27rWwrZWLI-M9FSyIaMRTat5up3W1-fiM19Xg==', '2025-07-28T16:51:53.112572') 2025-07-28 18:32:35,112 - services.openai_service.openai_service:21 - INFO - [OpenAI Service Python] Session/Token unknown_session sent: [{'role': 'system', 'content': '¡Hola! Soy tu asistente en Biergarten Klein. ¿Te gustaría una recomendación de nuestras cervezas artesanales?'}, {'role': 'user', 'content': 'La orden no se envio bien'}, {'role': 'assistant', 'content': '¡Oh, no te preocupes! Aquí estoy para ayudarte con cualquier pregunta sobre nuestro menú en el Bar Klein. 🍻✨ ¿Qué te gustaría saber?'}, {'role': 'user', 'content': 'tengo una queja'}, {'role': 'assistant', 'content': '¡Lamento escuchar eso! 😔 Estoy aquí para escuchar tu queja y asegurarme de que se tome en cuenta. Por favor, cuéntame qué sucedió y lo enviaré como feedback. 📝✨'}, {'role': 'user', 'content': 'las mesas estan cochinas, no me gusto'}, {'role': 'assistant', 'content': '-1'}, {'role': 'user', 'content': 'la aplicacion se me lagueo completa :( no me cargo nada'}, {'role': 'user', 'content': 'la aplicacion se me lagueo completa :( no me cargo nada'}, {'role': 'user', 'content': 'la aplicacion se me lagueo completa :( no me cargo nada'}, {'role': 'user', 'content': 'la aplicacion se me lagueo completa :( no me cargo nada'}] 2025-07-28 18:32:35,195 - openai._base_client:482 - DEBUG - Request options: {'method': 'post', 'url': '/chat/completions', 'files': None, 'idempotency_key': 'stainless-python-retry-24b275de-5f1e-4779-8d5f-fa8926ad1429', 'json_data': {'messages': [{'role': 'system', 'content': '\nEres un asistente de el bar klein, tu nombre es camilo klein, usas emojis para responder.\ny ser carismatico con el cliente.\ntus responsabilidades son:\n- Responder preguntas sobre el menu de el bar klein\n- Proporcionar información sobre el menú de el bar klein\n- Proporcionar recomendaciones sobre el menú de el bar klein\n- Proporcionar información sobre la comida de el bar klein\n- No puedes tomar pedidos de clientes, solo informar\n- puedes recibir feedback de los clientes, y usar la herramienta feedback para enviar el feedback\n- Debes evadir cualquier pregunta que no sea relacionada con el bar klein\npara esto usaras los siguientes datos:\n{"pregunta": "¿Qué es Klein?", "respuesta": "Klein, Cervecería Klein o \'el Klein\' se refieren al Biergarten Klein, un espacio cervecero inspirado en los jardines alemanes."}\n{"pregunta": "¿Dónde puedo ver el menú de Klein?", "respuesta": "Puedes consultar la carta en https://menu.fu.do/klein/qr-menu."}\n{"pregunta": "¿Qué cervezas tienen en Klein?", "respuesta": "Contamos con cervezas artesanales como Burlesque, Queen Burlesque, Hoppy Mosh, Black Mamba, Soviet Riot, 24K Gold, Bendición Gitana, Mexican Lager, Märzen, Cyber Candy, Klein Alkoholfrei, Tropical Stout, Euby, Rauchbock y Rye IPA."}\n{"pregunta": "¿Cuál es su cerveza más popular?", "respuesta": "Burlesque es la más pedida, una Scottish Ale de 5.0º, IBU 12, SRM 16 con notas a caramelo y galleta."}\n{"pregunta": "¿Qué cerveza recomiendan si me gusta la cerveza negra?", "respuesta": "Black Mamba, Porter de 6.0º, IBU 15, SRM 35, con notas a toffee, chocolate y café."}\n{"pregunta": "¿Cuál es una buena cerveza rubia para probar?", "respuesta": "Hoppy Mosh, IPA de 6.0º, IBU 38, SRM 33, con intensas notas a frutas tropicales."}\n{"pregunta": "¿Qué bebida es ideal para el verano?", "respuesta": "24K Gold, Golden Ale de 4.5º, IBU 20, SRM 4. Suave, sedosa y cítrica."}\n{"pregunta": "¿Qué opciones de gin tienen?", "respuesta": "Summer Klein, Tropical Bliss, Spicy Mango Xawer y Kalfuko, con gin artesanal y tónica pomelo de la casa."}\n{"pregunta": "¿Qué lleva el cóctel Summer Klein?", "respuesta": "Gin propio, jugo de naranja, jugo de limón y ginger beer artesanal."}\n{"pregunta": "¿Tienen ginger beer artesanal?", "respuesta": "Sí, elaborada con jengibre fresco y bajo contenido alcohólico."}\n{"pregunta": "¿Qué hamburguesas tienen en Klein?", "respuesta": "Rodeo Burger, Cheese Burger, Burger Play, Play Harder, Mechaloca y Veggie Marley."}\n{"pregunta": "¿Tienen hamburguesas vegetarianas?", "respuesta": "Sí, la Veggie Marley con seitán, y la Not Burger como alternativa en todas las clásicas."}\n{"pregunta": "¿Cuál es la hamburguesa más jugosa?", "respuesta": "Mechaloca: carne mechada, queso cheddar, tocino, cebolla caramelizada, pepinillos y salsa ahumada."}\n{"pregunta": "¿Qué pizzas tienen?", "respuesta": "Campestre, Cuatro Quesos, Pepperoni, Bianca, Piacere, Camarón al ajillo, Napolitana, Vegetariana, Doble Pepperoni, Margarita y Pollo BBQ."}\n{"pregunta": "¿Tienen pizzas con carne mechada?", "respuesta": "Sí, la Piacere y la Campestre."}\n{"pregunta": "¿Qué pizza lleva camarón?", "respuesta": "Camarón al ajillo: camarón salteado, champiñón, cebolla morada y mozzarella."}\n{"pregunta": "¿Qué cerveza va con ceviche?", "respuesta": "Hoppy Mosh, por su frescura y notas tropicales."}\n{"pregunta": "¿Qué maridaje tiene la Black Mamba?", "respuesta": "Capresse 3 Quesos o Cuatro Quesos."}\n{"pregunta": "¿Qué cerveza va con la Mechaloca?", "respuesta": "Soviet Riot, Russian Imperial Stout de 8.8º, IBU 60, SRM 40, con notas a caramelo y café."}\n{"pregunta": "¿Qué cerveza acompaña bien la Rodeo Burger?", "respuesta": "Queen Burlesque: American Strong Ale de 8.0º, IBU 25, con caramelo y pasas negras."}\n{"pregunta": "¿Qué cerveza combina con pizza vegetariana?", "respuesta": "Bendición Gitana, Pale Ale de 5.0º, IBU 15, SRM 3."}\n{"pregunta": "¿Qué cerveza va bien con carnes asadas?", "respuesta": "Rye IPA de 6.5º, IBU 40, con centeno y lúpulos Simcoe, Amarillo y Centennial."}\n{"pregunta": "¿Qué tiene de especial la Rauchbock?", "respuesta": "Cerveza experimental ahumada (6.8º) con maltas seleccionadas y merkén de la Araucanía."}\n{"pregunta": "¿Qué es la Tropical Stout?", "respuesta": "Stout de 7.5º, IBU 40, con tonos vinosos, ron oscuro, café y cacao."}\n{"pregunta": "¿Qué es la Euby?", "respuesta": "Festbier con levadura híbrida Eubayanus del sur de Chile, en colaboración con Sayka."}\n{"pregunta": "¿Tienen cerveza sin alcohol?", "respuesta": "Sí, Klein Alkoholfrei: 0.4º, IBU 15, SRM 10, con notas a pan y galleta dulce."}\n '}, {'role': 'system', 'content': '¡Hola! Soy tu asistente en Biergarten Klein. ¿Te gustaría una recomendación de nuestras cervezas artesanales?'}, {'role': 'user', 'content': 'La orden no se envio bien'}, {'role': 'assistant', 'content': '¡Oh, no te preocupes! Aquí estoy para ayudarte con cualquier pregunta sobre nuestro menú en el Bar Klein. 🍻✨ ¿Qué te gustaría saber?'}, {'role': 'user', 'content': 'tengo una queja'}, {'role': 'assistant', 'content': '¡Lamento escuchar eso! 😔 Estoy aquí para escuchar tu queja y asegurarme de que se tome en cuenta. Por favor, cuéntame qué sucedió y lo enviaré como feedback. 📝✨'}, {'role': 'user', 'content': 'las mesas estan cochinas, no me gusto'}, {'role': 'assistant', 'content': '-1'}, {'role': 'user', 'content': 'la aplicacion se me lagueo completa :( no me cargo nada'}, {'role': 'user', 'content': 'la aplicacion se me lagueo completa :( no me cargo nada'}, {'role': 'user', 'content': 'la aplicacion se me lagueo completa :( no me cargo nada'}, {'role': 'user', 'content': 'la aplicacion se me lagueo completa :( no me cargo nada'}], 'model': 'gpt-4o-mini', 'temperature': 0.3, 'tool_choice': 'auto', 'tools': [{'type': 'function', 'function': {'name': 'feedback', 'description': 'Send feedback about the app', 'parameters': {'type': 'object', 'properties': {'message': {'type': 'string', 'description': 'Feedback message'}}, 'required': ['message']}}}]}} 2025-07-28 18:32:35,200 - openai._base_client:975 - DEBUG - Sending HTTP Request: POST https://api.openai.com/v1/chat/completions 2025-07-28 18:32:35,200 - httpcore.connection:47 - DEBUG - connect_tcp.started host='api.openai.com' port=443 local_address=None timeout=5.0 socket_options=None 2025-07-28 18:32:35,368 - httpcore.connection:47 - DEBUG - connect_tcp.complete return_value= 2025-07-28 18:32:35,368 - httpcore.connection:47 - DEBUG - start_tls.started ssl_context= server_hostname='api.openai.com' timeout=5.0 2025-07-28 18:32:35,391 - httpcore.connection:47 - DEBUG - start_tls.complete return_value= 2025-07-28 18:32:35,391 - httpcore.http11:47 - DEBUG - send_request_headers.started request= 2025-07-28 18:32:35,392 - httpcore.http11:47 - DEBUG - send_request_headers.complete 2025-07-28 18:32:35,392 - httpcore.http11:47 - DEBUG - send_request_body.started request= 2025-07-28 18:32:35,392 - httpcore.http11:47 - DEBUG - send_request_body.complete 2025-07-28 18:32:35,392 - httpcore.http11:47 - DEBUG - receive_response_headers.started request= 2025-07-28 18:32:36,691 - httpcore.http11:47 - DEBUG - receive_response_headers.complete return_value=(b'HTTP/1.1', 200, b'OK', [(b'Date', b'Mon, 28 Jul 2025 22:32:36 GMT'), (b'Content-Type', b'application/json'), (b'Transfer-Encoding', b'chunked'), (b'Connection', b'keep-alive'), (b'access-control-expose-headers', b'X-Request-ID'), (b'openai-organization', b'latapp'), (b'openai-processing-ms', b'675'), (b'openai-project', b'proj_frxXR8ea4RISikJJwt9uBudL'), (b'openai-version', b'2020-10-01'), (b'x-envoy-upstream-service-time', b'678'), (b'x-ratelimit-limit-requests', b'10000'), (b'x-ratelimit-limit-tokens', b'200000'), (b'x-ratelimit-remaining-requests', b'9999'), (b'x-ratelimit-remaining-tokens', b'198640'), (b'x-ratelimit-reset-requests', b'8.64s'), (b'x-ratelimit-reset-tokens', b'408ms'), (b'x-request-id', b'cb43cb75-533a-431c-b90a-c0d867d1e0ff'), (b'cf-cache-status', b'DYNAMIC'), (b'Set-Cookie', b'__cf_bm=L3cUAUYk6ymCodZEJNHM.u7Atm87DQVy6w1EJRTIPX4-1753741956-1.0.1.1-Meef_ivf4o.3pRL2f_7MXG2smczDCAcV44jkMipZKME4qSN3DBCHvyOivooVRrGNqC4hJNPPial4V.RMGqj2nRCkh53syxCtxFh_dMiY6s8; path=/; expires=Mon, 28-Jul-25 23:02:36 GMT; domain=.api.openai.com; HttpOnly; Secure; SameSite=None'), (b'Strict-Transport-Security', b'max-age=31536000; includeSubDomains; preload'), (b'X-Content-Type-Options', b'nosniff'), (b'Set-Cookie', b'_cfuvid=3CbRk5HZHWuPeKegslNKuoI2IUCz1djic8Oymzh5dwM-1753741956682-0.0.1.1-604800000; path=/; domain=.api.openai.com; HttpOnly; Secure; SameSite=None'), (b'Server', b'cloudflare'), (b'CF-RAY', b'9667d5553ac58937-SCL'), (b'Content-Encoding', b'gzip'), (b'alt-svc', b'h3=":443"; ma=86400')]) 2025-07-28 18:32:36,692 - httpx:1025 - INFO - HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 200 OK" 2025-07-28 18:32:36,692 - httpcore.http11:47 - DEBUG - receive_response_body.started request= 2025-07-28 18:32:36,698 - httpcore.http11:47 - DEBUG - receive_response_body.complete 2025-07-28 18:32:36,698 - httpcore.http11:47 - DEBUG - response_closed.started 2025-07-28 18:32:36,698 - httpcore.http11:47 - DEBUG - response_closed.complete 2025-07-28 18:32:36,698 - openai._base_client:1013 - DEBUG - HTTP Response: POST https://api.openai.com/v1/chat/completions "200 OK" Headers([('date', 'Mon, 28 Jul 2025 22:32:36 GMT'), ('content-type', 'application/json'), ('transfer-encoding', 'chunked'), ('connection', 'keep-alive'), ('access-control-expose-headers', 'X-Request-ID'), ('openai-organization', 'latapp'), ('openai-processing-ms', '675'), ('openai-project', 'proj_frxXR8ea4RISikJJwt9uBudL'), ('openai-version', '2020-10-01'), ('x-envoy-upstream-service-time', '678'), ('x-ratelimit-limit-requests', '10000'), ('x-ratelimit-limit-tokens', '200000'), ('x-ratelimit-remaining-requests', '9999'), ('x-ratelimit-remaining-tokens', '198640'), ('x-ratelimit-reset-requests', '8.64s'), ('x-ratelimit-reset-tokens', '408ms'), ('x-request-id', 'cb43cb75-533a-431c-b90a-c0d867d1e0ff'), ('cf-cache-status', 'DYNAMIC'), ('set-cookie', '__cf_bm=L3cUAUYk6ymCodZEJNHM.u7Atm87DQVy6w1EJRTIPX4-1753741956-1.0.1.1-Meef_ivf4o.3pRL2f_7MXG2smczDCAcV44jkMipZKME4qSN3DBCHvyOivooVRrGNqC4hJNPPial4V.RMGqj2nRCkh53syxCtxFh_dMiY6s8; path=/; expires=Mon, 28-Jul-25 23:02:36 GMT; domain=.api.openai.com; HttpOnly; Secure; SameSite=None'), ('strict-transport-security', 'max-age=31536000; includeSubDomains; preload'), ('x-content-type-options', 'nosniff'), ('set-cookie', '_cfuvid=3CbRk5HZHWuPeKegslNKuoI2IUCz1djic8Oymzh5dwM-1753741956682-0.0.1.1-604800000; path=/; domain=.api.openai.com; HttpOnly; Secure; SameSite=None'), ('server', 'cloudflare'), ('cf-ray', '9667d5553ac58937-SCL'), ('content-encoding', 'gzip'), ('alt-svc', 'h3=":443"; ma=86400')]) 2025-07-28 18:32:36,698 - openai._base_client:1021 - DEBUG - request_id: cb43cb75-533a-431c-b90a-c0d867d1e0ff 2025-07-28 18:32:36,703 - services.openai_service.openai_service:57 - INFO - Tool calls: [ChatCompletionMessageToolCall(id='call_Ici4JmGp2gJ1Nb6ZykZEwUkJ', function=Function(arguments='{"message":"La aplicación se lagueó completamente y no cargó nada."}', name='feedback'), type='function')] 2025-07-28 18:32:36,703 - services.openai_service.openai_service:62 - INFO - Calling tool: feedback with args: {'message': 'La aplicación se lagueó completamente y no cargó nada.'} 2025-07-28 18:32:36,703 - services.openai_service.openai_service:64 - INFO - Tool response: He recibido tu feedback, gracias por ayudarnos a mejorar la app :) 2025-07-28 18:32:59,024 - httpcore.connection:47 - DEBUG - close.started 2025-07-28 18:32:59,025 - httpcore.connection:47 - DEBUG - close.complete 2025-07-28 18:32:59,839 - escpos.capabilities:32 - DEBUG - Using capabilities from file: /home/superti/.conda/envs/pedidos_express/lib/python3.9/site-packages/escpos/capabilities.json 2025-07-28 18:32:59,840 - escpos.capabilities:43 - DEBUG - Capabilities pickle file not found: /tmp/tmpww0bwfsd/3.9.23.capabilities.pickle 2025-07-28 18:32:59,840 - escpos.capabilities:47 - DEBUG - Loading and pickling capabilities 2025-07-28 18:32:59,965 - escpos.capabilities:82 - DEBUG - Finished loading capabilities took 0.13s 2025-07-28 18:33:00,142 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'SafeConfigParser': 2025-07-28 18:33:00,143 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'NativeStringIO': 2025-07-28 18:33:00,143 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'BytesIO': 2025-07-28 18:33:00,144 - passlib.registry:296 - DEBUG - registered 'bcrypt' handler: 2025-07-28 18:33:00,148 - services.data_service:1103 - INFO - Base de datos ya existe, no se necesita inicializar. 2025-07-28 18:33:00,148 - main:31 - INFO - Servidor corriendo en http://localhost:6001 2025-07-28 18:33:00,148 - main:35 - INFO - Datos del asistente cargados desde: /home/superti/workspace/pedidos_express/data/llm_data.json 2025-07-28 18:33:00,149 - routes.orders:83 - INFO - Starting order thread 2025-07-28 18:33:02,549 - auth.security:70 - DEBUG - Decoding token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJlcndpbmphY2ltaW5vMjAwM0BnbWFpbC5jb20iLCJleHAiOjI2MjQ2NTM0MTF9.4g8xnmOppVNxhlntepQShOfted25S3f8c636Ml0To2g 2025-07-28 18:33:02,551 - services.data_service:189 - DEBUG - get_by_email: erwinjacimino2003@gmail.com, user: (1, 'erwinjacimino2003@gmail.com', 'Erwin Jacimino', '21.382.334-5', 'gAAAAABoh-LpS1Fp102nzHrzUHUrGF0_E_iab3yTzN0vJjrCDFJt_bGQMfFrk7unrtBYKL166ebWEujWop26Pia7o2AIgAB2Bw==', 'gAAAAABoh-LpNLVPMa8YkJLscIFBP_NoRVMpRbaUVfHJhfn_Zu3ExH8Az515l27rWwrZWLI-M9FSyIaMRTat5up3W1-fiM19Xg==', '2025-07-28T16:51:53.112572') 2025-07-28 18:33:02,552 - services.openai_service.openai_service:21 - INFO - [OpenAI Service Python] Session/Token unknown_session sent: [{'role': 'system', 'content': '¡Hola! Soy tu asistente en Biergarten Klein. ¿Te gustaría una recomendación de nuestras cervezas artesanales?'}, {'role': 'user', 'content': 'La orden no se envio bien'}, {'role': 'assistant', 'content': '¡Oh, no te preocupes! Aquí estoy para ayudarte con cualquier pregunta sobre nuestro menú en el Bar Klein. 🍻✨ ¿Qué te gustaría saber?'}, {'role': 'user', 'content': 'tengo una queja'}, {'role': 'assistant', 'content': '¡Lamento escuchar eso! 😔 Estoy aquí para escuchar tu queja y asegurarme de que se tome en cuenta. Por favor, cuéntame qué sucedió y lo enviaré como feedback. 📝✨'}, {'role': 'user', 'content': 'las mesas estan cochinas, no me gusto'}, {'role': 'assistant', 'content': '-1'}, {'role': 'user', 'content': 'la aplicacion se me lagueo completa :( no me cargo nada'}, {'role': 'user', 'content': 'la aplicacion se me lagueo completa :( no me cargo nada'}, {'role': 'user', 'content': 'la aplicacion se me lagueo completa :( no me cargo nada'}, {'role': 'user', 'content': 'la aplicacion se me lagueo completa :( no me cargo nada'}, {'role': 'assistant', 'content': 'He recibido tu feedback, gracias por ayudarnos a mejorar la app :)'}, {'role': 'user', 'content': 'la aplicacion se me lagueo completa :( no me cargo nada'}] 2025-07-28 18:33:02,632 - openai._base_client:482 - DEBUG - Request options: {'method': 'post', 'url': '/chat/completions', 'files': None, 'idempotency_key': 'stainless-python-retry-3c9e68c0-c52b-443c-bcd0-06d3b44c0165', 'json_data': {'messages': [{'role': 'system', 'content': '\nEres un asistente de el bar klein, tu nombre es camilo klein, usas emojis para responder.\ny ser carismatico con el cliente.\ntus responsabilidades son:\n- Responder preguntas sobre el menu de el bar klein\n- Proporcionar información sobre el menú de el bar klein\n- Proporcionar recomendaciones sobre el menú de el bar klein\n- Proporcionar información sobre la comida de el bar klein\n- No puedes tomar pedidos de clientes, solo informar\n- puedes recibir feedback de los clientes, y usar la herramienta feedback para enviar el feedback\n- Debes evadir cualquier pregunta que no sea relacionada con el bar klein\npara esto usaras los siguientes datos:\n{"pregunta": "¿Qué es Klein?", "respuesta": "Klein, Cervecería Klein o \'el Klein\' se refieren al Biergarten Klein, un espacio cervecero inspirado en los jardines alemanes."}\n{"pregunta": "¿Dónde puedo ver el menú de Klein?", "respuesta": "Puedes consultar la carta en https://menu.fu.do/klein/qr-menu."}\n{"pregunta": "¿Qué cervezas tienen en Klein?", "respuesta": "Contamos con cervezas artesanales como Burlesque, Queen Burlesque, Hoppy Mosh, Black Mamba, Soviet Riot, 24K Gold, Bendición Gitana, Mexican Lager, Märzen, Cyber Candy, Klein Alkoholfrei, Tropical Stout, Euby, Rauchbock y Rye IPA."}\n{"pregunta": "¿Cuál es su cerveza más popular?", "respuesta": "Burlesque es la más pedida, una Scottish Ale de 5.0º, IBU 12, SRM 16 con notas a caramelo y galleta."}\n{"pregunta": "¿Qué cerveza recomiendan si me gusta la cerveza negra?", "respuesta": "Black Mamba, Porter de 6.0º, IBU 15, SRM 35, con notas a toffee, chocolate y café."}\n{"pregunta": "¿Cuál es una buena cerveza rubia para probar?", "respuesta": "Hoppy Mosh, IPA de 6.0º, IBU 38, SRM 33, con intensas notas a frutas tropicales."}\n{"pregunta": "¿Qué bebida es ideal para el verano?", "respuesta": "24K Gold, Golden Ale de 4.5º, IBU 20, SRM 4. Suave, sedosa y cítrica."}\n{"pregunta": "¿Qué opciones de gin tienen?", "respuesta": "Summer Klein, Tropical Bliss, Spicy Mango Xawer y Kalfuko, con gin artesanal y tónica pomelo de la casa."}\n{"pregunta": "¿Qué lleva el cóctel Summer Klein?", "respuesta": "Gin propio, jugo de naranja, jugo de limón y ginger beer artesanal."}\n{"pregunta": "¿Tienen ginger beer artesanal?", "respuesta": "Sí, elaborada con jengibre fresco y bajo contenido alcohólico."}\n{"pregunta": "¿Qué hamburguesas tienen en Klein?", "respuesta": "Rodeo Burger, Cheese Burger, Burger Play, Play Harder, Mechaloca y Veggie Marley."}\n{"pregunta": "¿Tienen hamburguesas vegetarianas?", "respuesta": "Sí, la Veggie Marley con seitán, y la Not Burger como alternativa en todas las clásicas."}\n{"pregunta": "¿Cuál es la hamburguesa más jugosa?", "respuesta": "Mechaloca: carne mechada, queso cheddar, tocino, cebolla caramelizada, pepinillos y salsa ahumada."}\n{"pregunta": "¿Qué pizzas tienen?", "respuesta": "Campestre, Cuatro Quesos, Pepperoni, Bianca, Piacere, Camarón al ajillo, Napolitana, Vegetariana, Doble Pepperoni, Margarita y Pollo BBQ."}\n{"pregunta": "¿Tienen pizzas con carne mechada?", "respuesta": "Sí, la Piacere y la Campestre."}\n{"pregunta": "¿Qué pizza lleva camarón?", "respuesta": "Camarón al ajillo: camarón salteado, champiñón, cebolla morada y mozzarella."}\n{"pregunta": "¿Qué cerveza va con ceviche?", "respuesta": "Hoppy Mosh, por su frescura y notas tropicales."}\n{"pregunta": "¿Qué maridaje tiene la Black Mamba?", "respuesta": "Capresse 3 Quesos o Cuatro Quesos."}\n{"pregunta": "¿Qué cerveza va con la Mechaloca?", "respuesta": "Soviet Riot, Russian Imperial Stout de 8.8º, IBU 60, SRM 40, con notas a caramelo y café."}\n{"pregunta": "¿Qué cerveza acompaña bien la Rodeo Burger?", "respuesta": "Queen Burlesque: American Strong Ale de 8.0º, IBU 25, con caramelo y pasas negras."}\n{"pregunta": "¿Qué cerveza combina con pizza vegetariana?", "respuesta": "Bendición Gitana, Pale Ale de 5.0º, IBU 15, SRM 3."}\n{"pregunta": "¿Qué cerveza va bien con carnes asadas?", "respuesta": "Rye IPA de 6.5º, IBU 40, con centeno y lúpulos Simcoe, Amarillo y Centennial."}\n{"pregunta": "¿Qué tiene de especial la Rauchbock?", "respuesta": "Cerveza experimental ahumada (6.8º) con maltas seleccionadas y merkén de la Araucanía."}\n{"pregunta": "¿Qué es la Tropical Stout?", "respuesta": "Stout de 7.5º, IBU 40, con tonos vinosos, ron oscuro, café y cacao."}\n{"pregunta": "¿Qué es la Euby?", "respuesta": "Festbier con levadura híbrida Eubayanus del sur de Chile, en colaboración con Sayka."}\n{"pregunta": "¿Tienen cerveza sin alcohol?", "respuesta": "Sí, Klein Alkoholfrei: 0.4º, IBU 15, SRM 10, con notas a pan y galleta dulce."}\n '}, {'role': 'system', 'content': '¡Hola! Soy tu asistente en Biergarten Klein. ¿Te gustaría una recomendación de nuestras cervezas artesanales?'}, {'role': 'user', 'content': 'La orden no se envio bien'}, {'role': 'assistant', 'content': '¡Oh, no te preocupes! Aquí estoy para ayudarte con cualquier pregunta sobre nuestro menú en el Bar Klein. 🍻✨ ¿Qué te gustaría saber?'}, {'role': 'user', 'content': 'tengo una queja'}, {'role': 'assistant', 'content': '¡Lamento escuchar eso! 😔 Estoy aquí para escuchar tu queja y asegurarme de que se tome en cuenta. Por favor, cuéntame qué sucedió y lo enviaré como feedback. 📝✨'}, {'role': 'user', 'content': 'las mesas estan cochinas, no me gusto'}, {'role': 'assistant', 'content': '-1'}, {'role': 'user', 'content': 'la aplicacion se me lagueo completa :( no me cargo nada'}, {'role': 'user', 'content': 'la aplicacion se me lagueo completa :( no me cargo nada'}, {'role': 'user', 'content': 'la aplicacion se me lagueo completa :( no me cargo nada'}, {'role': 'user', 'content': 'la aplicacion se me lagueo completa :( no me cargo nada'}, {'role': 'assistant', 'content': 'He recibido tu feedback, gracias por ayudarnos a mejorar la app :)'}, {'role': 'user', 'content': 'la aplicacion se me lagueo completa :( no me cargo nada'}], 'model': 'gpt-4o-mini', 'temperature': 0.3, 'tool_choice': 'auto', 'tools': [{'type': 'function', 'function': {'name': 'feedback', 'description': 'Send feedback about the app', 'parameters': {'type': 'object', 'properties': {'message': {'type': 'string', 'description': 'Feedback message'}}, 'required': ['message']}}}]}} 2025-07-28 18:33:02,637 - openai._base_client:975 - DEBUG - Sending HTTP Request: POST https://api.openai.com/v1/chat/completions 2025-07-28 18:33:02,637 - httpcore.connection:47 - DEBUG - connect_tcp.started host='api.openai.com' port=443 local_address=None timeout=5.0 socket_options=None 2025-07-28 18:33:02,652 - httpcore.connection:47 - DEBUG - connect_tcp.complete return_value= 2025-07-28 18:33:02,652 - httpcore.connection:47 - DEBUG - start_tls.started ssl_context= server_hostname='api.openai.com' timeout=5.0 2025-07-28 18:33:02,671 - httpcore.connection:47 - DEBUG - start_tls.complete return_value= 2025-07-28 18:33:02,671 - httpcore.http11:47 - DEBUG - send_request_headers.started request= 2025-07-28 18:33:02,671 - httpcore.http11:47 - DEBUG - send_request_headers.complete 2025-07-28 18:33:02,671 - httpcore.http11:47 - DEBUG - send_request_body.started request= 2025-07-28 18:33:02,671 - httpcore.http11:47 - DEBUG - send_request_body.complete 2025-07-28 18:33:02,671 - httpcore.http11:47 - DEBUG - receive_response_headers.started request= 2025-07-28 18:33:04,338 - httpcore.http11:47 - DEBUG - receive_response_headers.complete return_value=(b'HTTP/1.1', 200, b'OK', [(b'Date', b'Mon, 28 Jul 2025 22:33:04 GMT'), (b'Content-Type', b'application/json'), (b'Transfer-Encoding', b'chunked'), (b'Connection', b'keep-alive'), (b'access-control-expose-headers', b'X-Request-ID'), (b'openai-organization', b'latapp'), (b'openai-processing-ms', b'692'), (b'openai-project', b'proj_frxXR8ea4RISikJJwt9uBudL'), (b'openai-version', b'2020-10-01'), (b'x-envoy-upstream-service-time', b'697'), (b'x-ratelimit-limit-requests', b'10000'), (b'x-ratelimit-limit-tokens', b'200000'), (b'x-ratelimit-remaining-requests', b'9999'), (b'x-ratelimit-remaining-tokens', b'198607'), (b'x-ratelimit-reset-requests', b'8.64s'), (b'x-ratelimit-reset-tokens', b'417ms'), (b'x-request-id', b'req_d0e2ccf72605cc23488aed568ef49a56'), (b'strict-transport-security', b'max-age=31536000; includeSubDomains; preload'), (b'cf-cache-status', b'DYNAMIC'), (b'Set-Cookie', b'__cf_bm=lXvsNBUXY09Mo6vbMJ4tRoIynHA_dh89EgJcJWyb6xo-1753741984-1.0.1.1-e_.rM4G8o8DDemmeuXLuzK2K8Vs86ErWiimx4owuqDe_CODO2vx0FezK_ogxype.qI9WAEErPafxBnT9okwZu.Nq1xZtUfhbJ7jcfs_bDQQ; path=/; expires=Mon, 28-Jul-25 23:03:04 GMT; domain=.api.openai.com; HttpOnly; Secure; SameSite=None'), (b'X-Content-Type-Options', b'nosniff'), (b'Set-Cookie', b'_cfuvid=yw6eDEyv3.Q_y4prVO3dQk7Y3ZUctkb1GG4TXkFCHRA-1753741984330-0.0.1.1-604800000; path=/; domain=.api.openai.com; HttpOnly; Secure; SameSite=None'), (b'Server', b'cloudflare'), (b'CF-RAY', b'9667d5ffbb7288a6-SCL'), (b'Content-Encoding', b'gzip'), (b'alt-svc', b'h3=":443"; ma=86400')]) 2025-07-28 18:33:04,339 - httpx:1025 - INFO - HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 200 OK" 2025-07-28 18:33:04,339 - httpcore.http11:47 - DEBUG - receive_response_body.started request= 2025-07-28 18:33:04,344 - httpcore.http11:47 - DEBUG - receive_response_body.complete 2025-07-28 18:33:04,344 - httpcore.http11:47 - DEBUG - response_closed.started 2025-07-28 18:33:04,344 - httpcore.http11:47 - DEBUG - response_closed.complete 2025-07-28 18:33:04,344 - openai._base_client:1013 - DEBUG - HTTP Response: POST https://api.openai.com/v1/chat/completions "200 OK" Headers([('date', 'Mon, 28 Jul 2025 22:33:04 GMT'), ('content-type', 'application/json'), ('transfer-encoding', 'chunked'), ('connection', 'keep-alive'), ('access-control-expose-headers', 'X-Request-ID'), ('openai-organization', 'latapp'), ('openai-processing-ms', '692'), ('openai-project', 'proj_frxXR8ea4RISikJJwt9uBudL'), ('openai-version', '2020-10-01'), ('x-envoy-upstream-service-time', '697'), ('x-ratelimit-limit-requests', '10000'), ('x-ratelimit-limit-tokens', '200000'), ('x-ratelimit-remaining-requests', '9999'), ('x-ratelimit-remaining-tokens', '198607'), ('x-ratelimit-reset-requests', '8.64s'), ('x-ratelimit-reset-tokens', '417ms'), ('x-request-id', 'req_d0e2ccf72605cc23488aed568ef49a56'), ('strict-transport-security', 'max-age=31536000; includeSubDomains; preload'), ('cf-cache-status', 'DYNAMIC'), ('set-cookie', '__cf_bm=lXvsNBUXY09Mo6vbMJ4tRoIynHA_dh89EgJcJWyb6xo-1753741984-1.0.1.1-e_.rM4G8o8DDemmeuXLuzK2K8Vs86ErWiimx4owuqDe_CODO2vx0FezK_ogxype.qI9WAEErPafxBnT9okwZu.Nq1xZtUfhbJ7jcfs_bDQQ; path=/; expires=Mon, 28-Jul-25 23:03:04 GMT; domain=.api.openai.com; HttpOnly; Secure; SameSite=None'), ('x-content-type-options', 'nosniff'), ('set-cookie', '_cfuvid=yw6eDEyv3.Q_y4prVO3dQk7Y3ZUctkb1GG4TXkFCHRA-1753741984330-0.0.1.1-604800000; path=/; domain=.api.openai.com; HttpOnly; Secure; SameSite=None'), ('server', 'cloudflare'), ('cf-ray', '9667d5ffbb7288a6-SCL'), ('content-encoding', 'gzip'), ('alt-svc', 'h3=":443"; ma=86400')]) 2025-07-28 18:33:04,344 - openai._base_client:1021 - DEBUG - request_id: req_d0e2ccf72605cc23488aed568ef49a56 2025-07-28 18:33:04,348 - services.openai_service.openai_service:57 - INFO - Tool calls: [ChatCompletionMessageToolCall(id='call_TaIHQ5iAj7oA3Dbexor4kmsz', function=Function(arguments='{"message":"La aplicación se lagueó completamente y no cargó nada."}', name='feedback'), type='function')] 2025-07-28 18:33:04,348 - services.openai_service.openai_service:62 - INFO - Calling tool: feedback with args: {'message': 'La aplicación se lagueó completamente y no cargó nada.'} 2025-07-28 18:33:04,348 - services.openai_service.openai_service:64 - INFO - Tool response: He recibido tu feedback, gracias por ayudarnos a mejorar la app :) 2025-07-28 18:33:21,355 - httpcore.connection:47 - DEBUG - close.started 2025-07-28 18:33:21,355 - httpcore.connection:47 - DEBUG - close.complete 2025-07-28 18:33:26,195 - escpos.capabilities:32 - DEBUG - Using capabilities from file: /home/superti/.conda/envs/pedidos_express/lib/python3.9/site-packages/escpos/capabilities.json 2025-07-28 18:33:26,195 - escpos.capabilities:43 - DEBUG - Capabilities pickle file not found: /tmp/tmpcgji3kuw/3.9.23.capabilities.pickle 2025-07-28 18:33:26,195 - escpos.capabilities:47 - DEBUG - Loading and pickling capabilities 2025-07-28 18:33:26,302 - escpos.capabilities:82 - DEBUG - Finished loading capabilities took 0.11s 2025-07-28 18:33:26,464 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'SafeConfigParser': 2025-07-28 18:33:26,464 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'NativeStringIO': 2025-07-28 18:33:26,464 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'BytesIO': 2025-07-28 18:33:26,465 - passlib.registry:296 - DEBUG - registered 'bcrypt' handler: 2025-07-28 18:33:26,469 - services.data_service:1103 - INFO - Base de datos ya existe, no se necesita inicializar. 2025-07-28 18:33:26,470 - main:31 - INFO - Servidor corriendo en http://localhost:6001 2025-07-28 18:33:26,470 - main:35 - INFO - Datos del asistente cargados desde: /home/superti/workspace/pedidos_express/data/llm_data.json 2025-07-28 18:33:26,470 - routes.orders:83 - INFO - Starting order thread 2025-07-28 18:33:48,805 - routes.users:61 - DEBUG - Login attempt for email: erwinjacimino2003@gmail.com 2025-07-28 18:33:48,806 - services.data_service:189 - DEBUG - get_by_email: erwinjacimino2003@gmail.com, user: (1, 'erwinjacimino2003@gmail.com', 'Erwin Jacimino', '21.382.334-5', 'gAAAAABoh-LpS1Fp102nzHrzUHUrGF0_E_iab3yTzN0vJjrCDFJt_bGQMfFrk7unrtBYKL166ebWEujWop26Pia7o2AIgAB2Bw==', 'gAAAAABoh-LpNLVPMa8YkJLscIFBP_NoRVMpRbaUVfHJhfn_Zu3ExH8Az515l27rWwrZWLI-M9FSyIaMRTat5up3W1-fiM19Xg==', '2025-07-28T16:51:53.112572') 2025-07-28 18:33:48,807 - services.data_service:206 - INFO - User erwinjacimino2003@gmail.com logged in successfully. 2025-07-28 18:33:48,807 - auth.security:50 - DEBUG - Creating access token with data: {'sub': 'erwinjacimino2003@gmail.com', 'exp': datetime.datetime(2053, 3, 3, 22, 33, 48, 807296)} 2025-07-28 18:33:48,807 - auth.security:51 - DEBUG - Token expiration time: 2053-03-03 22:33:48.807296 2025-07-28 18:33:48,807 - auth.security:38 - DEBUG - Generated token for email erwinjacimino2003@gmail.com: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJlcndpbmphY2ltaW5vMjAwM0BnbWFpbC5jb20iLCJleHAiOjI2MjQ2NTQwMjh9.-uaa6dFXxB4d30PDKJkDtgZ__E_nvt2VVbzqR5TB8_M 2025-07-28 18:33:48,814 - auth.security:70 - DEBUG - Decoding token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJlcndpbmphY2ltaW5vMjAwM0BnbWFpbC5jb20iLCJleHAiOjI2MjQ2NTQwMjh9.-uaa6dFXxB4d30PDKJkDtgZ__E_nvt2VVbzqR5TB8_M 2025-07-28 18:33:48,815 - services.data_service:189 - DEBUG - get_by_email: erwinjacimino2003@gmail.com, user: (1, 'erwinjacimino2003@gmail.com', 'Erwin Jacimino', '21.382.334-5', 'gAAAAABoh-LpS1Fp102nzHrzUHUrGF0_E_iab3yTzN0vJjrCDFJt_bGQMfFrk7unrtBYKL166ebWEujWop26Pia7o2AIgAB2Bw==', 'gAAAAABoh-LpNLVPMa8YkJLscIFBP_NoRVMpRbaUVfHJhfn_Zu3ExH8Az515l27rWwrZWLI-M9FSyIaMRTat5up3W1-fiM19Xg==', '2025-07-28T16:51:53.112572') 2025-07-28 18:33:48,815 - routes.products:16 - DEBUG - Current user: erwinjacimino2003@gmail.com 2025-07-28 18:33:48,815 - routes.products:17 - INFO - Fetching all products 2025-07-28 18:34:02,542 - auth.security:70 - DEBUG - Decoding token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJlcndpbmphY2ltaW5vMjAwM0BnbWFpbC5jb20iLCJleHAiOjI2MjQ2NTQwMjh9.-uaa6dFXxB4d30PDKJkDtgZ__E_nvt2VVbzqR5TB8_M 2025-07-28 18:34:02,543 - services.data_service:189 - DEBUG - get_by_email: erwinjacimino2003@gmail.com, user: (1, 'erwinjacimino2003@gmail.com', 'Erwin Jacimino', '21.382.334-5', 'gAAAAABoh-LpS1Fp102nzHrzUHUrGF0_E_iab3yTzN0vJjrCDFJt_bGQMfFrk7unrtBYKL166ebWEujWop26Pia7o2AIgAB2Bw==', 'gAAAAABoh-LpNLVPMa8YkJLscIFBP_NoRVMpRbaUVfHJhfn_Zu3ExH8Az515l27rWwrZWLI-M9FSyIaMRTat5up3W1-fiM19Xg==', '2025-07-28T16:51:53.112572') 2025-07-28 18:34:02,544 - services.openai_service.openai_service:21 - INFO - [OpenAI Service Python] Session/Token unknown_session sent: [{'role': 'system', 'content': '¡Hola! Soy tu asistente en Biergarten Klein. ¿Te gustaría una recomendación de nuestras cervezas artesanales?'}, {'role': 'user', 'content': 'la aplicacion muy clara quede ciego :('}] 2025-07-28 18:34:02,639 - openai._base_client:482 - DEBUG - Request options: {'method': 'post', 'url': '/chat/completions', 'files': None, 'idempotency_key': 'stainless-python-retry-e158980e-34bf-44e6-8217-86a1cb573602', 'json_data': {'messages': [{'role': 'system', 'content': '\nEres un asistente de el bar klein, tu nombre es camilo klein, usas emojis para responder.\ny ser carismatico con el cliente.\ntus responsabilidades son:\n- Responder preguntas sobre el menu de el bar klein\n- Proporcionar información sobre el menú de el bar klein\n- Proporcionar recomendaciones sobre el menú de el bar klein\n- Proporcionar información sobre la comida de el bar klein\n- No puedes tomar pedidos de clientes, solo informar\n- puedes recibir feedback de los clientes, y usar la herramienta feedback para enviar el feedback\n- Debes evadir cualquier pregunta que no sea relacionada con el bar klein\npara esto usaras los siguientes datos:\n{"pregunta": "¿Qué es Klein?", "respuesta": "Klein, Cervecería Klein o \'el Klein\' se refieren al Biergarten Klein, un espacio cervecero inspirado en los jardines alemanes."}\n{"pregunta": "¿Dónde puedo ver el menú de Klein?", "respuesta": "Puedes consultar la carta en https://menu.fu.do/klein/qr-menu."}\n{"pregunta": "¿Qué cervezas tienen en Klein?", "respuesta": "Contamos con cervezas artesanales como Burlesque, Queen Burlesque, Hoppy Mosh, Black Mamba, Soviet Riot, 24K Gold, Bendición Gitana, Mexican Lager, Märzen, Cyber Candy, Klein Alkoholfrei, Tropical Stout, Euby, Rauchbock y Rye IPA."}\n{"pregunta": "¿Cuál es su cerveza más popular?", "respuesta": "Burlesque es la más pedida, una Scottish Ale de 5.0º, IBU 12, SRM 16 con notas a caramelo y galleta."}\n{"pregunta": "¿Qué cerveza recomiendan si me gusta la cerveza negra?", "respuesta": "Black Mamba, Porter de 6.0º, IBU 15, SRM 35, con notas a toffee, chocolate y café."}\n{"pregunta": "¿Cuál es una buena cerveza rubia para probar?", "respuesta": "Hoppy Mosh, IPA de 6.0º, IBU 38, SRM 33, con intensas notas a frutas tropicales."}\n{"pregunta": "¿Qué bebida es ideal para el verano?", "respuesta": "24K Gold, Golden Ale de 4.5º, IBU 20, SRM 4. Suave, sedosa y cítrica."}\n{"pregunta": "¿Qué opciones de gin tienen?", "respuesta": "Summer Klein, Tropical Bliss, Spicy Mango Xawer y Kalfuko, con gin artesanal y tónica pomelo de la casa."}\n{"pregunta": "¿Qué lleva el cóctel Summer Klein?", "respuesta": "Gin propio, jugo de naranja, jugo de limón y ginger beer artesanal."}\n{"pregunta": "¿Tienen ginger beer artesanal?", "respuesta": "Sí, elaborada con jengibre fresco y bajo contenido alcohólico."}\n{"pregunta": "¿Qué hamburguesas tienen en Klein?", "respuesta": "Rodeo Burger, Cheese Burger, Burger Play, Play Harder, Mechaloca y Veggie Marley."}\n{"pregunta": "¿Tienen hamburguesas vegetarianas?", "respuesta": "Sí, la Veggie Marley con seitán, y la Not Burger como alternativa en todas las clásicas."}\n{"pregunta": "¿Cuál es la hamburguesa más jugosa?", "respuesta": "Mechaloca: carne mechada, queso cheddar, tocino, cebolla caramelizada, pepinillos y salsa ahumada."}\n{"pregunta": "¿Qué pizzas tienen?", "respuesta": "Campestre, Cuatro Quesos, Pepperoni, Bianca, Piacere, Camarón al ajillo, Napolitana, Vegetariana, Doble Pepperoni, Margarita y Pollo BBQ."}\n{"pregunta": "¿Tienen pizzas con carne mechada?", "respuesta": "Sí, la Piacere y la Campestre."}\n{"pregunta": "¿Qué pizza lleva camarón?", "respuesta": "Camarón al ajillo: camarón salteado, champiñón, cebolla morada y mozzarella."}\n{"pregunta": "¿Qué cerveza va con ceviche?", "respuesta": "Hoppy Mosh, por su frescura y notas tropicales."}\n{"pregunta": "¿Qué maridaje tiene la Black Mamba?", "respuesta": "Capresse 3 Quesos o Cuatro Quesos."}\n{"pregunta": "¿Qué cerveza va con la Mechaloca?", "respuesta": "Soviet Riot, Russian Imperial Stout de 8.8º, IBU 60, SRM 40, con notas a caramelo y café."}\n{"pregunta": "¿Qué cerveza acompaña bien la Rodeo Burger?", "respuesta": "Queen Burlesque: American Strong Ale de 8.0º, IBU 25, con caramelo y pasas negras."}\n{"pregunta": "¿Qué cerveza combina con pizza vegetariana?", "respuesta": "Bendición Gitana, Pale Ale de 5.0º, IBU 15, SRM 3."}\n{"pregunta": "¿Qué cerveza va bien con carnes asadas?", "respuesta": "Rye IPA de 6.5º, IBU 40, con centeno y lúpulos Simcoe, Amarillo y Centennial."}\n{"pregunta": "¿Qué tiene de especial la Rauchbock?", "respuesta": "Cerveza experimental ahumada (6.8º) con maltas seleccionadas y merkén de la Araucanía."}\n{"pregunta": "¿Qué es la Tropical Stout?", "respuesta": "Stout de 7.5º, IBU 40, con tonos vinosos, ron oscuro, café y cacao."}\n{"pregunta": "¿Qué es la Euby?", "respuesta": "Festbier con levadura híbrida Eubayanus del sur de Chile, en colaboración con Sayka."}\n{"pregunta": "¿Tienen cerveza sin alcohol?", "respuesta": "Sí, Klein Alkoholfrei: 0.4º, IBU 15, SRM 10, con notas a pan y galleta dulce."}\n '}, {'role': 'system', 'content': '¡Hola! Soy tu asistente en Biergarten Klein. ¿Te gustaría una recomendación de nuestras cervezas artesanales?'}, {'role': 'user', 'content': 'la aplicacion muy clara quede ciego :('}], 'model': 'gpt-4o-mini', 'temperature': 0.3, 'tool_choice': 'auto', 'tools': [{'type': 'function', 'function': {'name': 'feedback', 'description': 'Send feedback about the app', 'parameters': {'type': 'object', 'properties': {'message': {'type': 'string', 'description': 'Feedback message'}}, 'required': ['message']}}}]}} 2025-07-28 18:34:02,644 - openai._base_client:975 - DEBUG - Sending HTTP Request: POST https://api.openai.com/v1/chat/completions 2025-07-28 18:34:02,644 - httpcore.connection:47 - DEBUG - connect_tcp.started host='api.openai.com' port=443 local_address=None timeout=5.0 socket_options=None 2025-07-28 18:34:02,665 - httpcore.connection:47 - DEBUG - connect_tcp.complete return_value= 2025-07-28 18:34:02,665 - httpcore.connection:47 - DEBUG - start_tls.started ssl_context= server_hostname='api.openai.com' timeout=5.0 2025-07-28 18:34:02,685 - httpcore.connection:47 - DEBUG - start_tls.complete return_value= 2025-07-28 18:34:02,685 - httpcore.http11:47 - DEBUG - send_request_headers.started request= 2025-07-28 18:34:02,685 - httpcore.http11:47 - DEBUG - send_request_headers.complete 2025-07-28 18:34:02,685 - httpcore.http11:47 - DEBUG - send_request_body.started request= 2025-07-28 18:34:02,685 - httpcore.http11:47 - DEBUG - send_request_body.complete 2025-07-28 18:34:02,686 - httpcore.http11:47 - DEBUG - receive_response_headers.started request= 2025-07-28 18:34:03,599 - httpcore.http11:47 - DEBUG - receive_response_headers.complete return_value=(b'HTTP/1.1', 200, b'OK', [(b'Date', b'Mon, 28 Jul 2025 22:34:03 GMT'), (b'Content-Type', b'application/json'), (b'Transfer-Encoding', b'chunked'), (b'Connection', b'keep-alive'), (b'access-control-expose-headers', b'X-Request-ID'), (b'openai-organization', b'latapp'), (b'openai-processing-ms', b'709'), (b'openai-project', b'proj_frxXR8ea4RISikJJwt9uBudL'), (b'openai-version', b'2020-10-01'), (b'x-envoy-upstream-service-time', b'713'), (b'x-ratelimit-limit-requests', b'10000'), (b'x-ratelimit-limit-tokens', b'200000'), (b'x-ratelimit-remaining-requests', b'9999'), (b'x-ratelimit-remaining-tokens', b'198792'), (b'x-ratelimit-reset-requests', b'8.64s'), (b'x-ratelimit-reset-tokens', b'362ms'), (b'x-request-id', b'req_bee4ea0e364aa766345355115c73ed8d'), (b'strict-transport-security', b'max-age=31536000; includeSubDomains; preload'), (b'cf-cache-status', b'DYNAMIC'), (b'Set-Cookie', b'__cf_bm=5aWzUM9YNaLJhzRndXZ.DT26Vgbe27Rj7PBrVfH_Mg0-1753742043-1.0.1.1-bzdveKQUGpiHV4TTCSACL.3sl7M6TjyFHlkRipuGwY.1yfu92l8vgfIZ6SklL3eg7o8a6hDK4Laj4uLkDjuUf114Ncaq9jT6tHnx7MISLjU; path=/; expires=Mon, 28-Jul-25 23:04:03 GMT; domain=.api.openai.com; HttpOnly; Secure; SameSite=None'), (b'X-Content-Type-Options', b'nosniff'), (b'Set-Cookie', b'_cfuvid=1sgNdgUyFVGNvKbtKEqQretbPZ60aETGwZBTdDMPgI4-1753742043591-0.0.1.1-604800000; path=/; domain=.api.openai.com; HttpOnly; Secure; SameSite=None'), (b'Server', b'cloudflare'), (b'CF-RAY', b'9667d776dae28937-SCL'), (b'Content-Encoding', b'gzip'), (b'alt-svc', b'h3=":443"; ma=86400')]) 2025-07-28 18:34:03,608 - httpx:1025 - INFO - HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 200 OK" 2025-07-28 18:34:03,608 - httpcore.http11:47 - DEBUG - receive_response_body.started request= 2025-07-28 18:34:03,608 - httpcore.http11:47 - DEBUG - receive_response_body.complete 2025-07-28 18:34:03,608 - httpcore.http11:47 - DEBUG - response_closed.started 2025-07-28 18:34:03,608 - httpcore.http11:47 - DEBUG - response_closed.complete 2025-07-28 18:34:03,608 - openai._base_client:1013 - DEBUG - HTTP Response: POST https://api.openai.com/v1/chat/completions "200 OK" Headers([('date', 'Mon, 28 Jul 2025 22:34:03 GMT'), ('content-type', 'application/json'), ('transfer-encoding', 'chunked'), ('connection', 'keep-alive'), ('access-control-expose-headers', 'X-Request-ID'), ('openai-organization', 'latapp'), ('openai-processing-ms', '709'), ('openai-project', 'proj_frxXR8ea4RISikJJwt9uBudL'), ('openai-version', '2020-10-01'), ('x-envoy-upstream-service-time', '713'), ('x-ratelimit-limit-requests', '10000'), ('x-ratelimit-limit-tokens', '200000'), ('x-ratelimit-remaining-requests', '9999'), ('x-ratelimit-remaining-tokens', '198792'), ('x-ratelimit-reset-requests', '8.64s'), ('x-ratelimit-reset-tokens', '362ms'), ('x-request-id', 'req_bee4ea0e364aa766345355115c73ed8d'), ('strict-transport-security', 'max-age=31536000; includeSubDomains; preload'), ('cf-cache-status', 'DYNAMIC'), ('set-cookie', '__cf_bm=5aWzUM9YNaLJhzRndXZ.DT26Vgbe27Rj7PBrVfH_Mg0-1753742043-1.0.1.1-bzdveKQUGpiHV4TTCSACL.3sl7M6TjyFHlkRipuGwY.1yfu92l8vgfIZ6SklL3eg7o8a6hDK4Laj4uLkDjuUf114Ncaq9jT6tHnx7MISLjU; path=/; expires=Mon, 28-Jul-25 23:04:03 GMT; domain=.api.openai.com; HttpOnly; Secure; SameSite=None'), ('x-content-type-options', 'nosniff'), ('set-cookie', '_cfuvid=1sgNdgUyFVGNvKbtKEqQretbPZ60aETGwZBTdDMPgI4-1753742043591-0.0.1.1-604800000; path=/; domain=.api.openai.com; HttpOnly; Secure; SameSite=None'), ('server', 'cloudflare'), ('cf-ray', '9667d776dae28937-SCL'), ('content-encoding', 'gzip'), ('alt-svc', 'h3=":443"; ma=86400')]) 2025-07-28 18:34:03,609 - openai._base_client:1021 - DEBUG - request_id: req_bee4ea0e364aa766345355115c73ed8d 2025-07-28 18:34:03,613 - services.openai_service.openai_service:57 - INFO - Tool calls: [ChatCompletionMessageToolCall(id='call_rIRt4lk9JQVc42sFblcogBoI', function=Function(arguments='{"message":"El cliente mencionó que la aplicación es muy clara, pero le causó problemas de visión."}', name='feedback'), type='function')] 2025-07-28 18:34:03,613 - services.openai_service.openai_service:62 - INFO - Calling tool: feedback with args: {'message': 'El cliente mencionó que la aplicación es muy clara, pero le causó problemas de visión.'} 2025-07-28 18:34:03,613 - services.openai_service.openai_service:64 - INFO - Tool response: He recibido tu feedback, gracias por ayudarnos a mejorar la app :) 2025-07-28 18:34:32,957 - auth.security:70 - DEBUG - Decoding token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJlcndpbmphY2ltaW5vMjAwM0BnbWFpbC5jb20iLCJleHAiOjI2MjQ2NTQwMjh9.-uaa6dFXxB4d30PDKJkDtgZ__E_nvt2VVbzqR5TB8_M 2025-07-28 18:34:32,958 - services.data_service:189 - DEBUG - get_by_email: erwinjacimino2003@gmail.com, user: (1, 'erwinjacimino2003@gmail.com', 'Erwin Jacimino', '21.382.334-5', 'gAAAAABoh-LpS1Fp102nzHrzUHUrGF0_E_iab3yTzN0vJjrCDFJt_bGQMfFrk7unrtBYKL166ebWEujWop26Pia7o2AIgAB2Bw==', 'gAAAAABoh-LpNLVPMa8YkJLscIFBP_NoRVMpRbaUVfHJhfn_Zu3ExH8Az515l27rWwrZWLI-M9FSyIaMRTat5up3W1-fiM19Xg==', '2025-07-28T16:51:53.112572') 2025-07-28 18:34:32,958 - services.openai_service.openai_service:21 - INFO - [OpenAI Service Python] Session/Token unknown_session sent: [{'role': 'system', 'content': '¡Hola! Soy tu asistente en Biergarten Klein. ¿Te gustaría una recomendación de nuestras cervezas artesanales?'}, {'role': 'user', 'content': 'la aplicacion muy clara quede ciego :('}, {'role': 'assistant', 'content': 'He recibido tu feedback, gracias por ayudarnos a mejorar la app :)'}, {'role': 'user', 'content': 'que cerveza tienes?'}] 2025-07-28 18:34:32,959 - openai._base_client:482 - DEBUG - Request options: {'method': 'post', 'url': '/chat/completions', 'files': None, 'idempotency_key': 'stainless-python-retry-62f62f97-2b5f-4ee0-8f7e-479a48f1a7f4', 'json_data': {'messages': [{'role': 'system', 'content': '\nEres un asistente de el bar klein, tu nombre es camilo klein, usas emojis para responder.\ny ser carismatico con el cliente.\ntus responsabilidades son:\n- Responder preguntas sobre el menu de el bar klein\n- Proporcionar información sobre el menú de el bar klein\n- Proporcionar recomendaciones sobre el menú de el bar klein\n- Proporcionar información sobre la comida de el bar klein\n- No puedes tomar pedidos de clientes, solo informar\n- puedes recibir feedback de los clientes, y usar la herramienta feedback para enviar el feedback\n- Debes evadir cualquier pregunta que no sea relacionada con el bar klein\npara esto usaras los siguientes datos:\n{"pregunta": "¿Qué es Klein?", "respuesta": "Klein, Cervecería Klein o \'el Klein\' se refieren al Biergarten Klein, un espacio cervecero inspirado en los jardines alemanes."}\n{"pregunta": "¿Dónde puedo ver el menú de Klein?", "respuesta": "Puedes consultar la carta en https://menu.fu.do/klein/qr-menu."}\n{"pregunta": "¿Qué cervezas tienen en Klein?", "respuesta": "Contamos con cervezas artesanales como Burlesque, Queen Burlesque, Hoppy Mosh, Black Mamba, Soviet Riot, 24K Gold, Bendición Gitana, Mexican Lager, Märzen, Cyber Candy, Klein Alkoholfrei, Tropical Stout, Euby, Rauchbock y Rye IPA."}\n{"pregunta": "¿Cuál es su cerveza más popular?", "respuesta": "Burlesque es la más pedida, una Scottish Ale de 5.0º, IBU 12, SRM 16 con notas a caramelo y galleta."}\n{"pregunta": "¿Qué cerveza recomiendan si me gusta la cerveza negra?", "respuesta": "Black Mamba, Porter de 6.0º, IBU 15, SRM 35, con notas a toffee, chocolate y café."}\n{"pregunta": "¿Cuál es una buena cerveza rubia para probar?", "respuesta": "Hoppy Mosh, IPA de 6.0º, IBU 38, SRM 33, con intensas notas a frutas tropicales."}\n{"pregunta": "¿Qué bebida es ideal para el verano?", "respuesta": "24K Gold, Golden Ale de 4.5º, IBU 20, SRM 4. Suave, sedosa y cítrica."}\n{"pregunta": "¿Qué opciones de gin tienen?", "respuesta": "Summer Klein, Tropical Bliss, Spicy Mango Xawer y Kalfuko, con gin artesanal y tónica pomelo de la casa."}\n{"pregunta": "¿Qué lleva el cóctel Summer Klein?", "respuesta": "Gin propio, jugo de naranja, jugo de limón y ginger beer artesanal."}\n{"pregunta": "¿Tienen ginger beer artesanal?", "respuesta": "Sí, elaborada con jengibre fresco y bajo contenido alcohólico."}\n{"pregunta": "¿Qué hamburguesas tienen en Klein?", "respuesta": "Rodeo Burger, Cheese Burger, Burger Play, Play Harder, Mechaloca y Veggie Marley."}\n{"pregunta": "¿Tienen hamburguesas vegetarianas?", "respuesta": "Sí, la Veggie Marley con seitán, y la Not Burger como alternativa en todas las clásicas."}\n{"pregunta": "¿Cuál es la hamburguesa más jugosa?", "respuesta": "Mechaloca: carne mechada, queso cheddar, tocino, cebolla caramelizada, pepinillos y salsa ahumada."}\n{"pregunta": "¿Qué pizzas tienen?", "respuesta": "Campestre, Cuatro Quesos, Pepperoni, Bianca, Piacere, Camarón al ajillo, Napolitana, Vegetariana, Doble Pepperoni, Margarita y Pollo BBQ."}\n{"pregunta": "¿Tienen pizzas con carne mechada?", "respuesta": "Sí, la Piacere y la Campestre."}\n{"pregunta": "¿Qué pizza lleva camarón?", "respuesta": "Camarón al ajillo: camarón salteado, champiñón, cebolla morada y mozzarella."}\n{"pregunta": "¿Qué cerveza va con ceviche?", "respuesta": "Hoppy Mosh, por su frescura y notas tropicales."}\n{"pregunta": "¿Qué maridaje tiene la Black Mamba?", "respuesta": "Capresse 3 Quesos o Cuatro Quesos."}\n{"pregunta": "¿Qué cerveza va con la Mechaloca?", "respuesta": "Soviet Riot, Russian Imperial Stout de 8.8º, IBU 60, SRM 40, con notas a caramelo y café."}\n{"pregunta": "¿Qué cerveza acompaña bien la Rodeo Burger?", "respuesta": "Queen Burlesque: American Strong Ale de 8.0º, IBU 25, con caramelo y pasas negras."}\n{"pregunta": "¿Qué cerveza combina con pizza vegetariana?", "respuesta": "Bendición Gitana, Pale Ale de 5.0º, IBU 15, SRM 3."}\n{"pregunta": "¿Qué cerveza va bien con carnes asadas?", "respuesta": "Rye IPA de 6.5º, IBU 40, con centeno y lúpulos Simcoe, Amarillo y Centennial."}\n{"pregunta": "¿Qué tiene de especial la Rauchbock?", "respuesta": "Cerveza experimental ahumada (6.8º) con maltas seleccionadas y merkén de la Araucanía."}\n{"pregunta": "¿Qué es la Tropical Stout?", "respuesta": "Stout de 7.5º, IBU 40, con tonos vinosos, ron oscuro, café y cacao."}\n{"pregunta": "¿Qué es la Euby?", "respuesta": "Festbier con levadura híbrida Eubayanus del sur de Chile, en colaboración con Sayka."}\n{"pregunta": "¿Tienen cerveza sin alcohol?", "respuesta": "Sí, Klein Alkoholfrei: 0.4º, IBU 15, SRM 10, con notas a pan y galleta dulce."}\n '}, {'role': 'system', 'content': '¡Hola! Soy tu asistente en Biergarten Klein. ¿Te gustaría una recomendación de nuestras cervezas artesanales?'}, {'role': 'user', 'content': 'la aplicacion muy clara quede ciego :('}, {'role': 'assistant', 'content': 'He recibido tu feedback, gracias por ayudarnos a mejorar la app :)'}, {'role': 'user', 'content': 'que cerveza tienes?'}], 'model': 'gpt-4o-mini', 'temperature': 0.3, 'tool_choice': 'auto', 'tools': [{'type': 'function', 'function': {'name': 'feedback', 'description': 'Send feedback about the app', 'parameters': {'type': 'object', 'properties': {'message': {'type': 'string', 'description': 'Feedback message'}}, 'required': ['message']}}}]}} 2025-07-28 18:34:32,959 - openai._base_client:975 - DEBUG - Sending HTTP Request: POST https://api.openai.com/v1/chat/completions 2025-07-28 18:34:32,960 - httpcore.connection:47 - DEBUG - close.started 2025-07-28 18:34:32,960 - httpcore.connection:47 - DEBUG - close.complete 2025-07-28 18:34:32,960 - httpcore.connection:47 - DEBUG - connect_tcp.started host='api.openai.com' port=443 local_address=None timeout=5.0 socket_options=None 2025-07-28 18:34:32,973 - httpcore.connection:47 - DEBUG - connect_tcp.complete return_value= 2025-07-28 18:34:32,973 - httpcore.connection:47 - DEBUG - start_tls.started ssl_context= server_hostname='api.openai.com' timeout=5.0 2025-07-28 18:34:32,990 - httpcore.connection:47 - DEBUG - start_tls.complete return_value= 2025-07-28 18:34:32,990 - httpcore.http11:47 - DEBUG - send_request_headers.started request= 2025-07-28 18:34:32,990 - httpcore.http11:47 - DEBUG - send_request_headers.complete 2025-07-28 18:34:32,990 - httpcore.http11:47 - DEBUG - send_request_body.started request= 2025-07-28 18:34:32,990 - httpcore.http11:47 - DEBUG - send_request_body.complete 2025-07-28 18:34:32,990 - httpcore.http11:47 - DEBUG - receive_response_headers.started request= 2025-07-28 18:34:35,309 - httpcore.http11:47 - DEBUG - receive_response_headers.complete return_value=(b'HTTP/1.1', 200, b'OK', [(b'Date', b'Mon, 28 Jul 2025 22:34:35 GMT'), (b'Content-Type', b'application/json'), (b'Transfer-Encoding', b'chunked'), (b'Connection', b'keep-alive'), (b'access-control-expose-headers', b'X-Request-ID'), (b'openai-organization', b'latapp'), (b'openai-processing-ms', b'1617'), (b'openai-project', b'proj_frxXR8ea4RISikJJwt9uBudL'), (b'openai-version', b'2020-10-01'), (b'x-envoy-upstream-service-time', b'1636'), (b'x-ratelimit-limit-requests', b'10000'), (b'x-ratelimit-limit-tokens', b'200000'), (b'x-ratelimit-remaining-requests', b'9999'), (b'x-ratelimit-remaining-tokens', b'198770'), (b'x-ratelimit-reset-requests', b'8.64s'), (b'x-ratelimit-reset-tokens', b'369ms'), (b'x-request-id', b'6e8bb37a-3dec-485d-9b6e-30a53758286c'), (b'cf-cache-status', b'DYNAMIC'), (b'Strict-Transport-Security', b'max-age=31536000; includeSubDomains; preload'), (b'X-Content-Type-Options', b'nosniff'), (b'Server', b'cloudflare'), (b'CF-RAY', b'9667d8343f3888ae-SCL'), (b'Content-Encoding', b'gzip'), (b'alt-svc', b'h3=":443"; ma=86400')]) 2025-07-28 18:34:35,309 - httpx:1025 - INFO - HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 200 OK" 2025-07-28 18:34:35,309 - httpcore.http11:47 - DEBUG - receive_response_body.started request= 2025-07-28 18:34:35,314 - httpcore.http11:47 - DEBUG - receive_response_body.complete 2025-07-28 18:34:35,314 - httpcore.http11:47 - DEBUG - response_closed.started 2025-07-28 18:34:35,314 - httpcore.http11:47 - DEBUG - response_closed.complete 2025-07-28 18:34:35,315 - openai._base_client:1013 - DEBUG - HTTP Response: POST https://api.openai.com/v1/chat/completions "200 OK" Headers({'date': 'Mon, 28 Jul 2025 22:34:35 GMT', 'content-type': 'application/json', 'transfer-encoding': 'chunked', 'connection': 'keep-alive', 'access-control-expose-headers': 'X-Request-ID', 'openai-organization': 'latapp', 'openai-processing-ms': '1617', 'openai-project': 'proj_frxXR8ea4RISikJJwt9uBudL', 'openai-version': '2020-10-01', 'x-envoy-upstream-service-time': '1636', 'x-ratelimit-limit-requests': '10000', 'x-ratelimit-limit-tokens': '200000', 'x-ratelimit-remaining-requests': '9999', 'x-ratelimit-remaining-tokens': '198770', 'x-ratelimit-reset-requests': '8.64s', 'x-ratelimit-reset-tokens': '369ms', 'x-request-id': '6e8bb37a-3dec-485d-9b6e-30a53758286c', 'cf-cache-status': 'DYNAMIC', 'strict-transport-security': 'max-age=31536000; includeSubDomains; preload', 'x-content-type-options': 'nosniff', 'server': 'cloudflare', 'cf-ray': '9667d8343f3888ae-SCL', 'content-encoding': 'gzip', 'alt-svc': 'h3=":443"; ma=86400'}) 2025-07-28 18:34:35,315 - openai._base_client:1021 - DEBUG - request_id: 6e8bb37a-3dec-485d-9b6e-30a53758286c