app.log 263 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371
  1. 2025-07-24 16:55:26,259 - __main__:28 - INFO - Servidor corriendo en http://localhost:6001
  2. 2025-07-24 16:55:26,259 - __main__:32 - INFO - Datos del asistente cargados desde: /home/superti/workspace/pedidos_express/data/llm_data.json
  3. 2025-07-24 16:55:26,260 - routes.orders:67 - INFO - Starting order thread
  4. 2025-07-24 16:55:44,638 - routes.orders:21 - INFO - Printer order received
  5. 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
  6. 2025-07-24 16:55:44,649 - routes.orders:25 - ERROR - Printer is not connected.
  7. 2025-07-24 16:56:42,340 - __main__:28 - INFO - Servidor corriendo en http://localhost:6001
  8. 2025-07-24 16:56:42,340 - __main__:32 - INFO - Datos del asistente cargados desde: /home/superti/workspace/pedidos_express/data/llm_data.json
  9. 2025-07-24 16:56:42,341 - routes.orders:67 - INFO - Starting order thread
  10. 2025-07-24 16:56:53,097 - routes.products:9 - INFO - Fetching all products
  11. 2025-07-24 16:56:53,112 - routes.chat:15 - INFO - App initialized from client: 127.0.0.1
  12. 2025-07-24 16:56:57,804 - routes.products:9 - INFO - Fetching all products
  13. 2025-07-24 16:56:57,808 - routes.chat:15 - INFO - App initialized from client: 127.0.0.1
  14. 2025-07-24 16:57:03,006 - routes.orders:21 - INFO - Printer order received
  15. 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
  16. 2025-07-24 16:57:03,020 - routes.orders:25 - ERROR - Printer is not connected.
  17. 2025-07-24 16:58:58,279 - main:28 - INFO - Servidor corriendo en http://localhost:6001
  18. 2025-07-24 16:58:58,279 - main:32 - INFO - Datos del asistente cargados desde: /home/superti/workspace/pedidos_express/data/llm_data.json
  19. 2025-07-24 16:58:58,279 - routes.orders:67 - INFO - Starting order thread
  20. 2025-07-24 16:59:01,287 - routes.orders:21 - INFO - Printer order received
  21. 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
  22. 2025-07-24 16:59:01,290 - fudo.fudo:42 - INFO - Token obtenido desde Redis cache
  23. 2025-07-24 16:59:02,284 - routes.orders:71 - INFO - Processing order: Orden de 24/07/2025
  24. [<impresora.order.Item object at 0x7f8060411f40>]
  25. Total: 5000.0
  26. 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):
  27. USB device not found (Device (4070, 33054) not found or cable not plugged in.))
  28. 2025-07-24 16:59:44,706 - main:28 - INFO - Servidor corriendo en http://localhost:6001
  29. 2025-07-24 16:59:44,707 - main:32 - INFO - Datos del asistente cargados desde: /home/superti/workspace/pedidos_express/data/llm_data.json
  30. 2025-07-24 16:59:44,707 - routes.orders:67 - INFO - Starting order thread
  31. 2025-07-24 16:59:54,367 - routes.orders:21 - INFO - Printer order received
  32. 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
  33. 2025-07-24 16:59:54,368 - fudo.fudo:42 - INFO - Token obtenido desde Redis cache
  34. 2025-07-24 16:59:54,368 - fudo.fudo:35 - INFO - Token obtenido desde variable global
  35. 2025-07-24 16:59:54,717 - routes.orders:71 - INFO - Processing order: Orden de 24/07/2025
  36. [<impresora.order.Item object at 0x7f446437ff40>, <impresora.order.Item object at 0x7f446437fd00>]
  37. Total: 11500.0
  38. 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):
  39. USB device not found (Device (4070, 33054) not found or cable not plugged in.))
  40. 2025-07-24 17:04:35,588 - main:28 - INFO - Servidor corriendo en http://localhost:6001
  41. 2025-07-24 17:04:35,588 - main:32 - INFO - Datos del asistente cargados desde: /home/superti/workspace/pedidos_express/data/llm_data.json
  42. 2025-07-24 17:04:35,588 - routes.orders:67 - INFO - Starting order thread
  43. 2025-07-24 17:04:41,659 - routes.products:9 - INFO - Fetching all products
  44. 2025-07-24 17:04:41,684 - routes.chat:15 - INFO - App initialized from client: 127.0.0.1
  45. 2025-07-24 17:04:48,549 - routes.products:9 - INFO - Fetching all products
  46. 2025-07-24 17:04:48,562 - routes.chat:15 - INFO - App initialized from client: 127.0.0.1
  47. 2025-07-24 17:04:53,199 - routes.orders:21 - INFO - Printer order received
  48. 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
  49. 2025-07-24 17:04:53,214 - impresora.printer:87 - ERROR - Printer is not connected on USB port 4070:33054.
  50. 2025-07-24 17:04:53,214 - routes.orders:25 - ERROR - Printer is not connected.
  51. 2025-07-24 17:05:46,295 - main:28 - INFO - Servidor corriendo en http://localhost:6001
  52. 2025-07-24 17:05:46,295 - main:32 - INFO - Datos del asistente cargados desde: /home/superti/workspace/pedidos_express/data/llm_data.json
  53. 2025-07-24 17:05:46,295 - routes.orders:67 - INFO - Starting order thread
  54. 2025-07-24 17:05:51,230 - routes.orders:21 - INFO - Printer order received
  55. 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
  56. 2025-07-24 17:05:51,241 - impresora.printer:87 - ERROR - Printer is not connected on USB port 4070:33054.
  57. 2025-07-24 17:05:51,241 - routes.orders:25 - ERROR - Printer is not connected.
  58. 2025-07-24 17:09:38,842 - main:28 - INFO - Servidor corriendo en http://localhost:6001
  59. 2025-07-24 17:09:38,842 - main:32 - INFO - Datos del asistente cargados desde: /home/superti/workspace/pedidos_express/data/llm_data.json
  60. 2025-07-24 17:09:38,842 - routes.orders:71 - INFO - Starting order thread
  61. 2025-07-24 17:09:55,095 - routes.orders:22 - INFO - Printer order received
  62. 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
  63. 2025-07-24 17:09:55,109 - impresora.printer:89 - ERROR - Printer is not connected on USB port 4070:33054.
  64. 2025-07-24 17:09:55,109 - routes.orders:26 - ERROR - Printer is not connected.
  65. 2025-07-24 17:09:55,110 - routes.orders:30 - ERROR - Email sent to admin about printer issue.
  66. 2025-07-24 17:17:15,952 - main:28 - INFO - Servidor corriendo en http://localhost:6001
  67. 2025-07-24 17:17:15,952 - main:32 - INFO - Datos del asistente cargados desde: /home/superti/workspace/pedidos_express/data/llm_data.json
  68. 2025-07-24 17:17:15,952 - routes.orders:71 - INFO - Starting order thread
  69. 2025-07-24 17:17:15,953 - routes.orders:73 - INFO - Current printer orders: []
  70. 2025-07-24 17:17:16,954 - routes.orders:73 - INFO - Current printer orders: []
  71. 2025-07-24 17:17:17,956 - routes.orders:73 - INFO - Current printer orders: []
  72. 2025-07-24 17:17:18,957 - routes.orders:73 - INFO - Current printer orders: []
  73. 2025-07-24 17:17:19,958 - routes.orders:73 - INFO - Current printer orders: []
  74. 2025-07-24 17:17:20,959 - routes.orders:73 - INFO - Current printer orders: []
  75. 2025-07-24 17:17:21,960 - routes.orders:73 - INFO - Current printer orders: []
  76. 2025-07-24 17:17:22,961 - routes.orders:73 - INFO - Current printer orders: []
  77. 2025-07-25 16:32:10,306 - services.data_service:823 - INFO - Base de datos ya existe, no se necesita inicializar.
  78. 2025-07-25 16:32:10,306 - main:31 - INFO - Servidor corriendo en http://localhost:6001
  79. 2025-07-25 16:32:10,306 - main:35 - INFO - Datos del asistente cargados desde: /home/superti/workspace/pedidos_express/data/llm_data.json
  80. 2025-07-25 16:32:10,306 - routes.orders:71 - INFO - Starting order thread
  81. 2025-07-25 16:34:50,855 - services.data_service:839 - INFO - Base de datos ya existe, no se necesita inicializar.
  82. 2025-07-25 16:34:50,855 - main:31 - INFO - Servidor corriendo en http://localhost:6001
  83. 2025-07-25 16:34:50,855 - main:35 - INFO - Datos del asistente cargados desde: /home/superti/workspace/pedidos_express/data/llm_data.json
  84. 2025-07-25 16:34:50,855 - routes.orders:71 - INFO - Starting order thread
  85. 2025-07-25 16:35:26,120 - services.data_service:839 - INFO - Base de datos ya existe, no se necesita inicializar.
  86. 2025-07-25 16:35:26,120 - main:31 - INFO - Servidor corriendo en http://localhost:6001
  87. 2025-07-25 16:35:26,120 - main:35 - INFO - Datos del asistente cargados desde: /home/superti/workspace/pedidos_express/data/llm_data.json
  88. 2025-07-25 16:35:26,120 - routes.orders:71 - INFO - Starting order thread
  89. 2025-07-25 16:35:49,468 - services.data_service:843 - INFO - Inicializando base de datos...
  90. 2025-07-25 16:35:49,468 - services.data_service:844 - INFO - Creando tabla de usuarios...
  91. 2025-07-25 16:35:49,477 - services.data_service:856 - INFO - Creando tabla de productos...
  92. 2025-07-25 16:35:49,485 - services.data_service:869 - INFO - Creando tabla de ventas...
  93. 2025-07-25 16:35:49,492 - services.data_service:882 - INFO - Creando tabla intermedia de venta_productos...
  94. 2025-07-25 16:35:49,501 - services.data_service:893 - INFO - Creando tabla de blacklist...
  95. 2025-07-25 16:35:49,509 - services.data_service:902 - INFO - Todas las tablas creadas correctamente.
  96. 2025-07-25 16:35:49,509 - services.data_service:903 - INFO - Cargando datos de productos desde el archivo JSON...
  97. 2025-07-25 16:36:49,998 - services.data_service:843 - INFO - Inicializando base de datos...
  98. 2025-07-25 16:36:49,998 - services.data_service:844 - INFO - Creando tabla de usuarios...
  99. 2025-07-25 16:36:50,006 - services.data_service:856 - INFO - Creando tabla de productos...
  100. 2025-07-25 16:36:50,014 - services.data_service:869 - INFO - Creando tabla de ventas...
  101. 2025-07-25 16:36:50,022 - services.data_service:882 - INFO - Creando tabla intermedia de venta_productos...
  102. 2025-07-25 16:36:50,031 - services.data_service:893 - INFO - Creando tabla de blacklist...
  103. 2025-07-25 16:36:50,039 - services.data_service:902 - INFO - Todas las tablas creadas correctamente.
  104. 2025-07-25 16:36:50,039 - services.data_service:903 - INFO - Cargando datos de productos desde el archivo JSON...
  105. 2025-07-25 16:36:50,048 - services.data_service:386 - INFO - Product added with ID: 1
  106. 2025-07-25 16:36:50,057 - services.data_service:386 - INFO - Product added with ID: 2
  107. 2025-07-25 16:36:50,065 - services.data_service:386 - INFO - Product added with ID: 3
  108. 2025-07-25 16:36:50,074 - services.data_service:386 - INFO - Product added with ID: 4
  109. 2025-07-25 16:36:50,082 - services.data_service:386 - INFO - Product added with ID: 5
  110. 2025-07-25 16:36:50,091 - services.data_service:386 - INFO - Product added with ID: 6
  111. 2025-07-25 16:36:50,099 - services.data_service:386 - INFO - Product added with ID: 7
  112. 2025-07-25 16:36:50,099 - services.data_service:911 - INFO - Base de datos inicializada correctamente.
  113. 2025-07-25 16:36:50,099 - main:31 - INFO - Servidor corriendo en http://localhost:6001
  114. 2025-07-25 16:36:50,100 - main:35 - INFO - Datos del asistente cargados desde: /home/superti/workspace/pedidos_express/data/llm_data.json
  115. 2025-07-25 16:36:50,100 - routes.orders:71 - INFO - Starting order thread
  116. 2025-07-25 16:38:15,942 - services.data_service:844 - INFO - Inicializando base de datos...
  117. 2025-07-25 16:38:15,942 - services.data_service:845 - INFO - Creando tabla de usuarios...
  118. 2025-07-25 16:38:15,959 - services.data_service:857 - INFO - Creando tabla de productos...
  119. 2025-07-25 16:38:15,966 - services.data_service:870 - INFO - Creando tabla de ventas...
  120. 2025-07-25 16:38:15,974 - services.data_service:883 - INFO - Creando tabla intermedia de venta_productos...
  121. 2025-07-25 16:38:15,981 - services.data_service:894 - INFO - Creando tabla de blacklist...
  122. 2025-07-25 16:38:15,989 - services.data_service:903 - INFO - Todas las tablas creadas correctamente.
  123. 2025-07-25 16:38:15,990 - services.data_service:904 - INFO - Cargando datos de productos desde el archivo JSON...
  124. 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.
  125. 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.
  126. 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.
  127. 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.
  128. 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.
  129. 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.
  130. 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.
  131. 2025-07-25 16:38:15,990 - services.data_service:912 - INFO - Base de datos inicializada correctamente.
  132. 2025-07-25 16:38:15,991 - main:31 - INFO - Servidor corriendo en http://localhost:6001
  133. 2025-07-25 16:38:15,991 - main:35 - INFO - Datos del asistente cargados desde: /home/superti/workspace/pedidos_express/data/llm_data.json
  134. 2025-07-25 16:38:15,991 - routes.orders:71 - INFO - Starting order thread
  135. 2025-07-25 16:39:11,533 - services.data_service:844 - INFO - Inicializando base de datos...
  136. 2025-07-25 16:39:11,533 - services.data_service:845 - INFO - Creando tabla de usuarios...
  137. 2025-07-25 16:39:11,542 - services.data_service:857 - INFO - Creando tabla de productos...
  138. 2025-07-25 16:39:11,550 - services.data_service:870 - INFO - Creando tabla de ventas...
  139. 2025-07-25 16:39:11,558 - services.data_service:883 - INFO - Creando tabla intermedia de venta_productos...
  140. 2025-07-25 16:39:11,566 - services.data_service:894 - INFO - Creando tabla de blacklist...
  141. 2025-07-25 16:39:11,574 - services.data_service:903 - INFO - Todas las tablas creadas correctamente.
  142. 2025-07-25 16:39:11,574 - services.data_service:904 - INFO - Cargando datos de productos desde el archivo JSON...
  143. 2025-07-25 16:39:11,582 - services.data_service:386 - INFO - Product added with ID: 6
  144. 2025-07-25 16:39:11,589 - services.data_service:386 - INFO - Product added with ID: 15
  145. 2025-07-25 16:39:11,598 - services.data_service:386 - INFO - Product added with ID: 163
  146. 2025-07-25 16:39:11,606 - services.data_service:386 - INFO - Product added with ID: 12
  147. 2025-07-25 16:39:11,614 - services.data_service:386 - INFO - Product added with ID: 665
  148. 2025-07-25 16:39:11,622 - services.data_service:386 - INFO - Product added with ID: 1
  149. 2025-07-25 16:39:11,630 - services.data_service:386 - INFO - Product added with ID: 655
  150. 2025-07-25 16:39:11,630 - services.data_service:912 - INFO - Base de datos inicializada correctamente.
  151. 2025-07-25 16:39:11,630 - main:31 - INFO - Servidor corriendo en http://localhost:6001
  152. 2025-07-25 16:39:11,630 - main:35 - INFO - Datos del asistente cargados desde: /home/superti/workspace/pedidos_express/data/llm_data.json
  153. 2025-07-25 16:39:11,630 - routes.orders:71 - INFO - Starting order thread
  154. 2025-07-25 16:39:31,550 - routes.products:12 - INFO - Fetching all products
  155. 2025-07-25 16:39:31,575 - routes.chat:14 - INFO - App initialized from client: 127.0.0.1
  156. 2025-07-25 16:39:31,575 - routes.chat:20 - INFO - Generated new antiAbuseToken for session: 8460fcd03575783b83364d8ab484e65f23f78ec383837797fd5bcf02cb056ca1
  157. 2025-07-25 16:39:39,410 - routes.products:12 - INFO - Fetching all products
  158. 2025-07-25 16:39:39,427 - routes.chat:14 - INFO - App initialized from client: 127.0.0.1
  159. 2025-07-25 17:37:49,021 - services.data_service:838 - INFO - Base de datos ya existe, no se necesita inicializar.
  160. 2025-07-25 17:37:49,022 - main:31 - INFO - Servidor corriendo en http://localhost:6001
  161. 2025-07-25 17:37:49,022 - main:35 - INFO - Datos del asistente cargados desde: /home/superti/workspace/pedidos_express/data/llm_data.json
  162. 2025-07-25 17:37:49,022 - routes.orders:77 - INFO - Starting order thread
  163. 2025-07-25 17:41:39,597 - routes.products:22 - INFO - Fetching all products (legacy endpoint)
  164. 2025-07-25 17:41:43,503 - routes.products:22 - INFO - Fetching all products (legacy endpoint)
  165. 2025-07-25 17:41:57,745 - services.data_service:838 - INFO - Base de datos ya existe, no se necesita inicializar.
  166. 2025-07-25 17:41:57,745 - main:31 - INFO - Servidor corriendo en http://localhost:6001
  167. 2025-07-25 17:41:57,745 - main:35 - INFO - Datos del asistente cargados desde: /home/superti/workspace/pedidos_express/data/llm_data.json
  168. 2025-07-25 17:41:57,745 - routes.orders:72 - INFO - Starting order thread
  169. 2025-07-25 17:46:34,118 - services.data_service:838 - INFO - Base de datos ya existe, no se necesita inicializar.
  170. 2025-07-25 17:46:34,118 - main:31 - INFO - Servidor corriendo en http://localhost:6001
  171. 2025-07-25 17:46:34,118 - main:35 - INFO - Datos del asistente cargados desde: /home/superti/workspace/pedidos_express/data/llm_data.json
  172. 2025-07-25 17:46:34,118 - routes.orders:72 - INFO - Starting order thread
  173. 2025-07-25 17:46:56,045 - auth.security:39 - WARNING - Invalid token attempt. Expected: 8460fcd03575783b83364d8ab484e65f23f78ec383837797fd5bcf02cb056ca1, Received: undefined
  174. 2025-07-25 17:47:36,623 - services.data_service:838 - INFO - Base de datos ya existe, no se necesita inicializar.
  175. 2025-07-25 17:47:36,623 - main:31 - INFO - Servidor corriendo en http://localhost:6001
  176. 2025-07-25 17:47:36,623 - main:35 - INFO - Datos del asistente cargados desde: /home/superti/workspace/pedidos_express/data/llm_data.json
  177. 2025-07-25 17:47:36,623 - routes.orders:72 - INFO - Starting order thread
  178. 2025-07-25 17:47:44,441 - auth.security:39 - WARNING - Invalid token attempt. Expected: 8460fcd03575783b83364d8ab484e65f23f78ec383837797fd5bcf02cb056ca1, Received: null
  179. 2025-07-25 17:49:04,848 - services.data_service:838 - INFO - Base de datos ya existe, no se necesita inicializar.
  180. 2025-07-25 17:49:04,848 - main:31 - INFO - Servidor corriendo en http://localhost:6001
  181. 2025-07-25 17:49:04,848 - main:35 - INFO - Datos del asistente cargados desde: /home/superti/workspace/pedidos_express/data/llm_data.json
  182. 2025-07-25 17:49:04,848 - routes.orders:72 - INFO - Starting order thread
  183. 2025-07-25 17:51:00,378 - services.data_service:838 - INFO - Base de datos ya existe, no se necesita inicializar.
  184. 2025-07-25 17:51:00,378 - main:31 - INFO - Servidor corriendo en http://localhost:6001
  185. 2025-07-25 17:51:00,378 - main:35 - INFO - Datos del asistente cargados desde: /home/superti/workspace/pedidos_express/data/llm_data.json
  186. 2025-07-25 17:51:00,379 - routes.orders:72 - INFO - Starting order thread
  187. 2025-07-25 17:51:07,072 - routes.chat:17 - INFO - App initialized from client: 127.0.0.1
  188. 2025-07-25 17:51:07,075 - routes.products:15 - INFO - Fetching all products
  189. 2025-07-25 17:51:35,668 - services.data_service:838 - INFO - Base de datos ya existe, no se necesita inicializar.
  190. 2025-07-25 17:51:35,669 - main:31 - INFO - Servidor corriendo en http://localhost:6001
  191. 2025-07-25 17:51:35,669 - main:35 - INFO - Datos del asistente cargados desde: /home/superti/workspace/pedidos_express/data/llm_data.json
  192. 2025-07-25 17:51:35,669 - routes.orders:72 - INFO - Starting order thread
  193. 2025-07-25 17:51:56,921 - routes.chat:17 - INFO - App initialized from client: 127.0.0.1
  194. 2025-07-25 17:51:56,938 - routes.products:15 - INFO - Fetching all products
  195. 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'}]
  196. 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"
  197. 2025-07-28 13:22:25,878 - services.data_service:1102 - INFO - Base de datos ya existe, no se necesita inicializar.
  198. 2025-07-28 13:22:25,878 - main:31 - INFO - Servidor corriendo en http://localhost:6001
  199. 2025-07-28 13:22:25,878 - main:35 - INFO - Datos del asistente cargados desde: /home/superti/workspace/pedidos_express/data/llm_data.json
  200. 2025-07-28 13:22:25,879 - routes.orders:79 - INFO - Starting order thread
  201. 2025-07-28 13:22:31,175 - services.data_service:1102 - INFO - Base de datos ya existe, no se necesita inicializar.
  202. 2025-07-28 13:22:31,175 - main:31 - INFO - Servidor corriendo en http://localhost:6001
  203. 2025-07-28 13:22:31,175 - main:35 - INFO - Datos del asistente cargados desde: /home/superti/workspace/pedidos_express/data/llm_data.json
  204. 2025-07-28 13:22:31,175 - routes.orders:79 - INFO - Starting order thread
  205. 2025-07-28 13:26:05,443 - services.data_service:1102 - INFO - Base de datos ya existe, no se necesita inicializar.
  206. 2025-07-28 13:26:05,443 - main:31 - INFO - Servidor corriendo en http://localhost:6001
  207. 2025-07-28 13:26:05,443 - main:35 - INFO - Datos del asistente cargados desde: /home/superti/workspace/pedidos_express/data/llm_data.json
  208. 2025-07-28 13:26:05,443 - routes.orders:79 - INFO - Starting order thread
  209. 2025-07-28 14:11:38,388 - services.data_service:1102 - INFO - Base de datos ya existe, no se necesita inicializar.
  210. 2025-07-28 14:11:38,389 - main:31 - INFO - Servidor corriendo en http://localhost:6001
  211. 2025-07-28 14:11:38,389 - main:35 - INFO - Datos del asistente cargados desde: /home/superti/workspace/pedidos_express/data/llm_data.json
  212. 2025-07-28 14:11:38,389 - routes.orders:79 - INFO - Starting order thread
  213. 2025-07-28 14:12:23,774 - services.data_service:1108 - INFO - Inicializando base de datos...
  214. 2025-07-28 14:12:23,774 - services.data_service:1109 - INFO - Creando tabla de usuarios...
  215. 2025-07-28 14:12:23,806 - services.data_service:1123 - INFO - Creando tabla de productos...
  216. 2025-07-28 14:12:23,814 - services.data_service:1137 - INFO - Creando tabla de ventas...
  217. 2025-07-28 14:14:18,872 - services.data_service:1102 - INFO - Base de datos ya existe, no se necesita inicializar.
  218. 2025-07-28 14:14:18,872 - main:31 - INFO - Servidor corriendo en http://localhost:6001
  219. 2025-07-28 14:14:18,872 - main:35 - INFO - Datos del asistente cargados desde: /home/superti/workspace/pedidos_express/data/llm_data.json
  220. 2025-07-28 14:14:18,872 - routes.orders:79 - INFO - Starting order thread
  221. 2025-07-28 14:14:30,101 - services.data_service:1108 - INFO - Inicializando base de datos...
  222. 2025-07-28 14:14:30,101 - services.data_service:1109 - INFO - Creando tabla de usuarios...
  223. 2025-07-28 14:14:30,108 - services.data_service:1123 - INFO - Creando tabla de productos...
  224. 2025-07-28 14:14:30,116 - services.data_service:1137 - INFO - Creando tabla de ventas...
  225. 2025-07-28 14:16:41,019 - services.data_service:1108 - INFO - Inicializando base de datos...
  226. 2025-07-28 14:16:41,019 - services.data_service:1109 - INFO - Creando tabla de usuarios...
  227. 2025-07-28 14:16:41,029 - services.data_service:1123 - INFO - Creando tabla de productos...
  228. 2025-07-28 14:16:41,037 - services.data_service:1137 - INFO - Creando tabla de ventas...
  229. 2025-07-28 14:16:41,045 - services.data_service:1151 - INFO - Creando tabla intermedia de venta_productos...
  230. 2025-07-28 14:16:41,053 - services.data_service:1163 - INFO - Creando tabla de blacklist...
  231. 2025-07-28 14:16:41,062 - services.data_service:1172 - INFO - Todas las tablas creadas correctamente.
  232. 2025-07-28 14:16:41,062 - services.data_service:1173 - INFO - Cargando datos de productos desde el archivo JSON...
  233. 2025-07-28 14:16:41,070 - services.data_service:458 - INFO - Product added with ID: 6
  234. 2025-07-28 14:16:41,079 - services.data_service:458 - INFO - Product added with ID: 15
  235. 2025-07-28 14:16:41,087 - services.data_service:458 - INFO - Product added with ID: 163
  236. 2025-07-28 14:16:41,095 - services.data_service:458 - INFO - Product added with ID: 12
  237. 2025-07-28 14:16:41,103 - services.data_service:458 - INFO - Product added with ID: 665
  238. 2025-07-28 14:16:41,111 - services.data_service:458 - INFO - Product added with ID: 1
  239. 2025-07-28 14:16:41,119 - services.data_service:458 - INFO - Product added with ID: 655
  240. 2025-07-28 14:16:41,120 - services.data_service:1181 - INFO - Base de datos inicializada correctamente.
  241. 2025-07-28 14:16:41,120 - main:31 - INFO - Servidor corriendo en http://localhost:6001
  242. 2025-07-28 14:16:41,120 - main:35 - INFO - Datos del asistente cargados desde: /home/superti/workspace/pedidos_express/data/llm_data.json
  243. 2025-07-28 14:16:41,120 - routes.orders:79 - INFO - Starting order thread
  244. 2025-07-28 14:16:46,338 - services.data_service:132 - INFO - User added with ID: 1
  245. 2025-07-28 14:18:27,616 - services.data_service:1102 - INFO - Base de datos ya existe, no se necesita inicializar.
  246. 2025-07-28 14:18:27,617 - main:31 - INFO - Servidor corriendo en http://localhost:6001
  247. 2025-07-28 14:18:27,617 - main:35 - INFO - Datos del asistente cargados desde: /home/superti/workspace/pedidos_express/data/llm_data.json
  248. 2025-07-28 14:18:27,617 - routes.orders:79 - INFO - Starting order thread
  249. 2025-07-28 14:25:49,332 - services.data_service:1102 - INFO - Base de datos ya existe, no se necesita inicializar.
  250. 2025-07-28 14:25:49,332 - main:31 - INFO - Servidor corriendo en http://localhost:6001
  251. 2025-07-28 14:25:49,332 - main:35 - INFO - Datos del asistente cargados desde: /home/superti/workspace/pedidos_express/data/llm_data.json
  252. 2025-07-28 14:25:49,332 - routes.orders:79 - INFO - Starting order thread
  253. 2025-07-28 14:32:54,481 - services.data_service:208 - ERROR - Login failed: Invalid email or pin.
  254. 2025-07-28 14:34:23,135 - services.data_service:1102 - INFO - Base de datos ya existe, no se necesita inicializar.
  255. 2025-07-28 14:34:23,135 - main:31 - INFO - Servidor corriendo en http://localhost:6001
  256. 2025-07-28 14:34:23,135 - main:35 - INFO - Datos del asistente cargados desde: /home/superti/workspace/pedidos_express/data/llm_data.json
  257. 2025-07-28 14:34:23,136 - routes.orders:79 - INFO - Starting order thread
  258. 2025-07-28 14:34:25,434 - services.data_service:208 - ERROR - Login failed: Invalid email or pin.
  259. 2025-07-28 14:34:25,435 - routes.users:66 - WARNING - Failed login attempt for erwinjacimino2003@gmail.com. Attempts: 2
  260. 2025-07-28 14:34:25,435 - routes.users:67 - ERROR - Invalid email or PIN.
  261. 2025-07-28 14:35:05,964 - services.data_service:1102 - INFO - Base de datos ya existe, no se necesita inicializar.
  262. 2025-07-28 14:35:05,964 - main:31 - INFO - Servidor corriendo en http://localhost:6001
  263. 2025-07-28 14:35:05,964 - main:35 - INFO - Datos del asistente cargados desde: /home/superti/workspace/pedidos_express/data/llm_data.json
  264. 2025-07-28 14:35:05,964 - routes.orders:79 - INFO - Starting order thread
  265. 2025-07-28 14:35:08,066 - services.data_service:208 - ERROR - Login failed: Invalid email or pin.
  266. 2025-07-28 14:35:08,068 - routes.users:69 - WARNING - Failed login attempt for erwinjacimino2003@gmail.com. Attempts: 3
  267. 2025-07-28 14:35:08,068 - routes.users:70 - ERROR - Invalid email or PIN.
  268. 2025-07-28 14:37:43,789 - services.data_service:1102 - INFO - Base de datos ya existe, no se necesita inicializar.
  269. 2025-07-28 14:37:43,790 - main:31 - INFO - Servidor corriendo en http://localhost:6001
  270. 2025-07-28 14:37:43,790 - main:35 - INFO - Datos del asistente cargados desde: /home/superti/workspace/pedidos_express/data/llm_data.json
  271. 2025-07-28 14:37:43,790 - routes.orders:79 - INFO - Starting order thread
  272. 2025-07-28 14:37:51,066 - services.data_service:208 - ERROR - Login failed: Invalid email or pin.
  273. 2025-07-28 14:37:51,066 - routes.users:69 - WARNING - Failed login attempt for erwinjacimino2003@gmail.com. Attempts: 1
  274. 2025-07-28 14:37:51,067 - routes.users:70 - ERROR - Invalid email or PIN.
  275. 2025-07-28 14:38:05,680 - services.data_service:1102 - INFO - Base de datos ya existe, no se necesita inicializar.
  276. 2025-07-28 14:38:05,680 - main:31 - INFO - Servidor corriendo en http://localhost:6001
  277. 2025-07-28 14:38:05,680 - main:35 - INFO - Datos del asistente cargados desde: /home/superti/workspace/pedidos_express/data/llm_data.json
  278. 2025-07-28 14:38:05,680 - routes.orders:79 - INFO - Starting order thread
  279. 2025-07-28 14:38:07,634 - routes.users:46 - INFO - Login attempt for email: erwinjacimino2003@gmail.com
  280. 2025-07-28 14:38:07,635 - routes.users:47 - INFO - Login request: 1234
  281. 2025-07-28 14:38:07,635 - services.data_service:208 - ERROR - Login failed: Invalid email or pin.
  282. 2025-07-28 14:38:07,636 - routes.users:69 - WARNING - Failed login attempt for erwinjacimino2003@gmail.com. Attempts: 2
  283. 2025-07-28 14:38:07,636 - routes.users:70 - ERROR - Invalid email or PIN.
  284. 2025-07-28 14:40:13,330 - services.data_service:1104 - INFO - Base de datos ya existe, no se necesita inicializar.
  285. 2025-07-28 14:40:13,330 - main:31 - INFO - Servidor corriendo en http://localhost:6001
  286. 2025-07-28 14:40:13,330 - main:35 - INFO - Datos del asistente cargados desde: /home/superti/workspace/pedidos_express/data/llm_data.json
  287. 2025-07-28 14:40:13,330 - routes.orders:79 - INFO - Starting order thread
  288. 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
  289. 2025-07-28 14:40:41,206 - escpos.capabilities:43 - DEBUG - Capabilities pickle file not found: /tmp/tmplpb03ih_/3.9.23.capabilities.pickle
  290. 2025-07-28 14:40:41,206 - escpos.capabilities:47 - DEBUG - Loading and pickling capabilities
  291. 2025-07-28 14:40:41,318 - escpos.capabilities:82 - DEBUG - Finished loading capabilities took 0.11s
  292. 2025-07-28 14:40:41,482 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'SafeConfigParser': <class 'configparser.ConfigParser'>
  293. 2025-07-28 14:40:41,482 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'NativeStringIO': <class '_io.StringIO'>
  294. 2025-07-28 14:40:41,482 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'BytesIO': <class '_io.BytesIO'>
  295. 2025-07-28 14:40:41,484 - passlib.registry:296 - DEBUG - registered 'bcrypt' handler: <class 'passlib.handlers.bcrypt.bcrypt'>
  296. 2025-07-28 14:40:41,488 - services.data_service:1104 - INFO - Base de datos ya existe, no se necesita inicializar.
  297. 2025-07-28 14:40:41,488 - main:31 - INFO - Servidor corriendo en http://localhost:6001
  298. 2025-07-28 14:40:41,488 - main:35 - INFO - Datos del asistente cargados desde: /home/superti/workspace/pedidos_express/data/llm_data.json
  299. 2025-07-28 14:40:41,488 - routes.orders:79 - INFO - Starting order thread
  300. 2025-07-28 14:40:52,954 - routes.users:46 - DEBUG - Login attempt for email: erwinjacimino2003@gmail.com
  301. 2025-07-28 14:40:52,954 - routes.users:47 - DEBUG - Login request: 1234
  302. 2025-07-28 14:40:52,955 - services.data_service:204 - DEBUG - Login hashed from user None
  303. 2025-07-28 14:40:52,958 - services.data_service:205 - DEBUG - Pin hashed: gAAAAABoh8Q07XP7WXYPvrXA8uWXY8_opceV3-p_LsnxwwNzj6pof50JrNzgxXfHjqldm2ML_2IRexl3kBQJSvq-R1OJ5lfTQg==
  304. 2025-07-28 14:40:52,958 - services.data_service:210 - ERROR - Login failed: Invalid email or pin.
  305. 2025-07-28 14:40:52,959 - routes.users:69 - WARNING - Failed login attempt for erwinjacimino2003@gmail.com. Attempts: 3
  306. 2025-07-28 14:40:52,959 - routes.users:70 - ERROR - Invalid email or PIN.
  307. 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
  308. 2025-07-28 14:41:32,987 - escpos.capabilities:43 - DEBUG - Capabilities pickle file not found: /tmp/tmpxqsn4d07/3.9.23.capabilities.pickle
  309. 2025-07-28 14:41:32,987 - escpos.capabilities:47 - DEBUG - Loading and pickling capabilities
  310. 2025-07-28 14:41:33,095 - escpos.capabilities:82 - DEBUG - Finished loading capabilities took 0.11s
  311. 2025-07-28 14:41:33,263 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'SafeConfigParser': <class 'configparser.ConfigParser'>
  312. 2025-07-28 14:41:33,263 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'NativeStringIO': <class '_io.StringIO'>
  313. 2025-07-28 14:41:33,263 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'BytesIO': <class '_io.BytesIO'>
  314. 2025-07-28 14:41:33,264 - passlib.registry:296 - DEBUG - registered 'bcrypt' handler: <class 'passlib.handlers.bcrypt.bcrypt'>
  315. 2025-07-28 14:41:33,268 - services.data_service:1105 - INFO - Base de datos ya existe, no se necesita inicializar.
  316. 2025-07-28 14:41:33,268 - main:31 - INFO - Servidor corriendo en http://localhost:6001
  317. 2025-07-28 14:41:33,268 - main:35 - INFO - Datos del asistente cargados desde: /home/superti/workspace/pedidos_express/data/llm_data.json
  318. 2025-07-28 14:41:33,268 - routes.orders:79 - INFO - Starting order thread
  319. 2025-07-28 14:41:36,658 - routes.users:46 - DEBUG - Login attempt for email: erwinjacimino2003@gmail.com
  320. 2025-07-28 14:41:36,658 - routes.users:47 - DEBUG - Login request: 1234
  321. 2025-07-28 14:41:36,659 - services.data_service:204 - DEBUG - user: None
  322. 2025-07-28 14:41:36,659 - services.data_service:205 - DEBUG - Login hashed from user None
  323. 2025-07-28 14:41:36,660 - services.data_service:206 - DEBUG - Pin hashed: gAAAAABoh8RgtH144BTSoLZ1g3BVGTN6Ed2eik2OJ79hr6VNGedv_giLmnKpXYnGdIPVdW-Dd93JnPcjpmxgy_rT6OhCfOpz4w==
  324. 2025-07-28 14:41:36,660 - services.data_service:211 - ERROR - Login failed: Invalid email or pin.
  325. 2025-07-28 14:41:36,660 - routes.users:69 - WARNING - Failed login attempt for erwinjacimino2003@gmail.com. Attempts: 4
  326. 2025-07-28 14:41:36,660 - routes.users:70 - ERROR - Invalid email or PIN.
  327. 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
  328. 2025-07-28 14:42:05,506 - escpos.capabilities:43 - DEBUG - Capabilities pickle file not found: /tmp/tmp8wkdhn1m/3.9.23.capabilities.pickle
  329. 2025-07-28 14:42:05,507 - escpos.capabilities:47 - DEBUG - Loading and pickling capabilities
  330. 2025-07-28 14:42:05,617 - escpos.capabilities:82 - DEBUG - Finished loading capabilities took 0.11s
  331. 2025-07-28 14:42:05,787 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'SafeConfigParser': <class 'configparser.ConfigParser'>
  332. 2025-07-28 14:42:05,787 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'NativeStringIO': <class '_io.StringIO'>
  333. 2025-07-28 14:42:05,787 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'BytesIO': <class '_io.BytesIO'>
  334. 2025-07-28 14:42:05,788 - passlib.registry:296 - DEBUG - registered 'bcrypt' handler: <class 'passlib.handlers.bcrypt.bcrypt'>
  335. 2025-07-28 14:42:05,793 - services.data_service:1106 - INFO - Base de datos ya existe, no se necesita inicializar.
  336. 2025-07-28 14:42:05,793 - main:31 - INFO - Servidor corriendo en http://localhost:6001
  337. 2025-07-28 14:42:05,793 - main:35 - INFO - Datos del asistente cargados desde: /home/superti/workspace/pedidos_express/data/llm_data.json
  338. 2025-07-28 14:42:05,793 - routes.orders:79 - INFO - Starting order thread
  339. 2025-07-28 14:42:10,690 - routes.users:46 - DEBUG - Login attempt for email: erwinjacimino2003@gmail.com
  340. 2025-07-28 14:42:10,690 - routes.users:47 - DEBUG - Login request: 1234
  341. 2025-07-28 14:42:10,691 - services.data_service:189 - DEBUG - get_by_email: erwinjacimino2003@gmail.com, user: None
  342. 2025-07-28 14:42:10,691 - services.data_service:205 - DEBUG - user: None
  343. 2025-07-28 14:42:10,691 - services.data_service:206 - DEBUG - Login hashed from user None
  344. 2025-07-28 14:42:10,692 - services.data_service:207 - DEBUG - Pin hashed: gAAAAABoh8SC7l81HWQqO8NFYF-hh7RtkS__mAeQraqxnYBm8kiy_zALkA_KoI-1A-g43V-FrWc0fdqPHToPOH7AM_sf2r81-g==
  345. 2025-07-28 14:42:10,692 - services.data_service:212 - ERROR - Login failed: Invalid email or pin.
  346. 2025-07-28 14:42:10,692 - routes.users:69 - WARNING - Failed login attempt for erwinjacimino2003@gmail.com. Attempts: 5
  347. 2025-07-28 14:42:10,692 - routes.users:70 - ERROR - Invalid email or PIN.
  348. 2025-07-28 14:46:14,427 - services.data_service:282 - INFO - User with ID 1 deleted.
  349. 2025-07-28 14:47:58,452 - services.data_service:132 - INFO - User added with ID: 2
  350. 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)}
  351. 2025-07-28 14:47:58,453 - auth.security:51 - DEBUG - Token expiration time: 2053-03-03 18:47:58.453117
  352. 2025-07-28 14:47:58,456 - auth.security:38 - DEBUG - Generated token for email Erwin Jacimino: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJlbWFpbCIsImV4cCI6MjYyNDY0MDQ3OH0.lShsH97efHHiSYg8358OxzTdrv5K2BJKlm4uGTwHzrY
  353. 2025-07-28 14:49:04,278 - services.data_service:282 - INFO - User with ID 2 deleted.
  354. 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
  355. 2025-07-28 14:49:50,642 - escpos.capabilities:43 - DEBUG - Capabilities pickle file not found: /tmp/tmpnsu4bfn_/3.9.23.capabilities.pickle
  356. 2025-07-28 14:49:50,642 - escpos.capabilities:47 - DEBUG - Loading and pickling capabilities
  357. 2025-07-28 14:49:50,749 - escpos.capabilities:82 - DEBUG - Finished loading capabilities took 0.11s
  358. 2025-07-28 14:49:50,916 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'SafeConfigParser': <class 'configparser.ConfigParser'>
  359. 2025-07-28 14:49:50,916 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'NativeStringIO': <class '_io.StringIO'>
  360. 2025-07-28 14:49:50,916 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'BytesIO': <class '_io.BytesIO'>
  361. 2025-07-28 14:49:50,917 - passlib.registry:296 - DEBUG - registered 'bcrypt' handler: <class 'passlib.handlers.bcrypt.bcrypt'>
  362. 2025-07-28 14:49:50,921 - services.data_service:1106 - INFO - Base de datos ya existe, no se necesita inicializar.
  363. 2025-07-28 14:49:50,921 - main:31 - INFO - Servidor corriendo en http://localhost:6001
  364. 2025-07-28 14:49:50,921 - main:35 - INFO - Datos del asistente cargados desde: /home/superti/workspace/pedidos_express/data/llm_data.json
  365. 2025-07-28 14:49:50,922 - routes.orders:79 - INFO - Starting order thread
  366. 2025-07-28 14:49:56,960 - services.data_service:132 - INFO - User added with ID: 3
  367. 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)}
  368. 2025-07-28 14:49:56,961 - auth.security:51 - DEBUG - Token expiration time: 2053-03-03 18:49:56.961077
  369. 2025-07-28 14:49:56,961 - auth.security:38 - DEBUG - Generated token for email erwinjacimino2003@gmail.com: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJlbWFpbCIsImV4cCI6MjYyNDY0MDU5Nn0.8cZ7nbx0p4udoQQ4g7M52zVC4OPogYvZBnd3ClKFgKg
  370. 2025-07-28 14:50:06,396 - routes.users:46 - DEBUG - Login attempt for email: erwinjacimino2003@gmail.com
  371. 2025-07-28 14:50:06,396 - routes.users:47 - DEBUG - Login request: 1234
  372. 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')
  373. 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'
  374. 2025-07-28 14:50:06,397 - services.data_service:206 - DEBUG - Login hashed from user gAAAAABoh8ZUotOGeUSk2DhoayH9_4tVy_zOb54Tmj8L6j7nFF4oCkKHVB8Sc8igv7aRi1VQWgi3W_nfnBIpuFEyzcQJ9NBMeg==
  375. 2025-07-28 14:50:06,397 - services.data_service:207 - DEBUG - Pin hashed: gAAAAABoh8ZenAa7lCyUP5kSPQjgt7bTv5mkQrR3N6g0NCvZc03wR0merIcqiuOeGajUHziGzx2DiMg3fU_gnMgdJbKYKaOVUg==
  376. 2025-07-28 14:50:06,397 - services.data_service:212 - ERROR - Login failed: Invalid email or pin.
  377. 2025-07-28 14:51:30,178 - routes.users:46 - DEBUG - Login attempt for email: erwinjacimino2003@gmail.com
  378. 2025-07-28 14:51:30,178 - routes.users:47 - DEBUG - Login request: 1234
  379. 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')
  380. 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'
  381. 2025-07-28 14:51:30,179 - services.data_service:206 - DEBUG - Login hashed from user gAAAAABoh8ZUotOGeUSk2DhoayH9_4tVy_zOb54Tmj8L6j7nFF4oCkKHVB8Sc8igv7aRi1VQWgi3W_nfnBIpuFEyzcQJ9NBMeg==
  382. 2025-07-28 14:51:30,179 - services.data_service:207 - DEBUG - Pin hashed: gAAAAABoh8aycWxOlwOgHA0vDGRdN0-UCLDwfCmc9MNJ198A52lkOSvV1kl4TcAVxwxZFoXn2xE2lPrcWVObdlEqIWj36_VlYg==
  383. 2025-07-28 14:51:30,179 - services.data_service:212 - ERROR - Login failed: Invalid email or pin.
  384. 2025-07-28 14:51:30,179 - routes.users:69 - WARNING - Failed login attempt for erwinjacimino2003@gmail.com. Attempts: 1
  385. 2025-07-28 14:51:30,180 - routes.users:70 - ERROR - Invalid email or PIN.
  386. 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
  387. 2025-07-28 14:58:04,084 - escpos.capabilities:43 - DEBUG - Capabilities pickle file not found: /tmp/tmp7ib4q9nz/3.9.23.capabilities.pickle
  388. 2025-07-28 14:58:04,084 - escpos.capabilities:47 - DEBUG - Loading and pickling capabilities
  389. 2025-07-28 14:58:04,190 - escpos.capabilities:82 - DEBUG - Finished loading capabilities took 0.11s
  390. 2025-07-28 14:58:04,353 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'SafeConfigParser': <class 'configparser.ConfigParser'>
  391. 2025-07-28 14:58:04,353 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'NativeStringIO': <class '_io.StringIO'>
  392. 2025-07-28 14:58:04,353 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'BytesIO': <class '_io.BytesIO'>
  393. 2025-07-28 14:58:04,354 - passlib.registry:296 - DEBUG - registered 'bcrypt' handler: <class 'passlib.handlers.bcrypt.bcrypt'>
  394. 2025-07-28 14:58:04,361 - services.data_service:1106 - INFO - Base de datos ya existe, no se necesita inicializar.
  395. 2025-07-28 14:58:04,361 - main:31 - INFO - Servidor corriendo en http://localhost:6001
  396. 2025-07-28 14:58:04,361 - main:35 - INFO - Datos del asistente cargados desde: /home/superti/workspace/pedidos_express/data/llm_data.json
  397. 2025-07-28 14:58:04,361 - routes.orders:79 - INFO - Starting order thread
  398. 2025-07-28 14:58:07,159 - services.data_service:282 - INFO - User with ID 3 deleted.
  399. 2025-07-28 14:58:13,951 - services.data_service:132 - INFO - User added with ID: 4
  400. 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)}
  401. 2025-07-28 14:58:13,951 - auth.security:51 - DEBUG - Token expiration time: 2053-03-03 18:58:13.951567
  402. 2025-07-28 14:58:13,952 - auth.security:38 - DEBUG - Generated token for email erwinjacimino2003@gmail.com: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJlbWFpbCIsImV4cCI6MjYyNDY0MTA5M30.fnnT4viH6gBG2lZFyJmQbewfR1_HB96yeLtADt6hVk8
  403. 2025-07-28 14:58:18,908 - routes.users:46 - DEBUG - Login attempt for email: erwinjacimino2003@gmail.com
  404. 2025-07-28 14:58:18,908 - routes.users:47 - DEBUG - Login request: 1234
  405. 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')
  406. 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'
  407. 2025-07-28 14:58:18,909 - services.data_service:206 - DEBUG - Login hashed from user 1234
  408. 2025-07-28 14:58:18,909 - services.data_service:207 - DEBUG - Pin hashed: gAAAAABoh8hK2k3isgFXUFXkKo7zgT6bbjqpO1VvjqyrqvthyH-uTm7mG9jg88WaHBbyRn6F2dZNREGi_A3SAwPeNy9-IBWISg==
  409. 2025-07-28 14:58:18,909 - services.data_service:212 - ERROR - Login failed: Invalid email or pin.
  410. 2025-07-28 14:58:18,909 - routes.users:69 - WARNING - Failed login attempt for erwinjacimino2003@gmail.com. Attempts: 2
  411. 2025-07-28 14:58:18,909 - routes.users:70 - ERROR - Invalid email or PIN.
  412. 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
  413. 2025-07-28 14:59:56,907 - escpos.capabilities:43 - DEBUG - Capabilities pickle file not found: /tmp/tmpswmd045r/3.9.23.capabilities.pickle
  414. 2025-07-28 14:59:56,907 - escpos.capabilities:47 - DEBUG - Loading and pickling capabilities
  415. 2025-07-28 14:59:57,030 - escpos.capabilities:82 - DEBUG - Finished loading capabilities took 0.12s
  416. 2025-07-28 14:59:57,201 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'SafeConfigParser': <class 'configparser.ConfigParser'>
  417. 2025-07-28 14:59:57,201 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'NativeStringIO': <class '_io.StringIO'>
  418. 2025-07-28 14:59:57,201 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'BytesIO': <class '_io.BytesIO'>
  419. 2025-07-28 14:59:57,202 - passlib.registry:296 - DEBUG - registered 'bcrypt' handler: <class 'passlib.handlers.bcrypt.bcrypt'>
  420. 2025-07-28 14:59:57,207 - services.data_service:1106 - INFO - Base de datos ya existe, no se necesita inicializar.
  421. 2025-07-28 14:59:57,207 - main:31 - INFO - Servidor corriendo en http://localhost:6001
  422. 2025-07-28 14:59:57,207 - main:35 - INFO - Datos del asistente cargados desde: /home/superti/workspace/pedidos_express/data/llm_data.json
  423. 2025-07-28 14:59:57,207 - routes.orders:79 - INFO - Starting order thread
  424. 2025-07-28 14:59:59,732 - routes.users:46 - DEBUG - Login attempt for email: erwinjacimino2003@gmail.com
  425. 2025-07-28 14:59:59,733 - routes.users:47 - DEBUG - Login request: 1234
  426. 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')
  427. 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'
  428. 2025-07-28 14:59:59,734 - services.data_service:206 - DEBUG - Login hashed from user gAAAAABoh8hFkxP_r-QTqE43Gqmagia6A_gVno4MiZ9XipeZLaetmfdJoLO4rtvtWTy4YfKxo6YVD7FD2Lyk_G6LpjXrY6rgGg==
  429. 2025-07-28 14:59:59,735 - services.data_service:207 - DEBUG - Pin hashed: gAAAAABoh8ivAm7wK_UKwy_OPorxBnqNBhvIlS6-VF5MbRnhLEX8bwiaZd5JpWpYdJDKogv7I97a8J3zOu3J42xKAkVcVa9ZmQ==
  430. 2025-07-28 14:59:59,735 - services.data_service:212 - ERROR - Login failed: Invalid email or pin.
  431. 2025-07-28 14:59:59,736 - routes.users:69 - WARNING - Failed login attempt for erwinjacimino2003@gmail.com. Attempts: 3
  432. 2025-07-28 14:59:59,736 - routes.users:70 - ERROR - Invalid email or PIN.
  433. 2025-07-28 15:01:59,334 - services.data_service:132 - INFO - User added with ID: 1
  434. 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)}
  435. 2025-07-28 15:01:59,335 - auth.security:51 - DEBUG - Token expiration time: 2053-03-03 19:01:59.335282
  436. 2025-07-28 15:01:59,335 - auth.security:38 - DEBUG - Generated token for email erwinjacimino2003@gmail.com: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJlbWFpbCIsImV4cCI6MjYyNDY0MTMxOX0.ENAG4ybunQTDIcJLGcISU0NP0kDNKSsw080MXYz-IfA
  437. 2025-07-28 15:02:07,549 - routes.users:46 - DEBUG - Login attempt for email: erwinjacimino2003@gmail.com
  438. 2025-07-28 15:02:07,549 - routes.users:47 - DEBUG - Login request: 1234
  439. 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')
  440. 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'
  441. 2025-07-28 15:02:07,550 - services.data_service:206 - DEBUG - Login hashed from user gAAAAABoh8knjDD7G3gBqJDEZZQYzKcf7HSEpEwd39f9PSwU91HQ37IFIQwjvYTCOu434GHzlzeG8bPUcsCZijk5C5PE4Lx_bg==
  442. 2025-07-28 15:02:07,550 - services.data_service:207 - DEBUG - Pin hashed: gAAAAABoh8kv3Os_9pOGZESo13Do_R7-IDnrzdWC3XCSHIKiwNzc8JEnw8pG2TuUR1Ha-TrTLs-6m5ZiKilMtvv1zMUN9uAPUA==
  443. 2025-07-28 15:02:07,550 - services.data_service:212 - ERROR - Login failed: Invalid email or pin.
  444. 2025-07-28 15:02:07,551 - routes.users:69 - WARNING - Failed login attempt for erwinjacimino2003@gmail.com. Attempts: 4
  445. 2025-07-28 15:02:07,551 - routes.users:70 - ERROR - Invalid email or PIN.
  446. 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
  447. 2025-07-28 15:04:05,723 - escpos.capabilities:43 - DEBUG - Capabilities pickle file not found: /tmp/tmp5xt7o04v/3.9.23.capabilities.pickle
  448. 2025-07-28 15:04:05,723 - escpos.capabilities:47 - DEBUG - Loading and pickling capabilities
  449. 2025-07-28 15:04:05,831 - escpos.capabilities:82 - DEBUG - Finished loading capabilities took 0.11s
  450. 2025-07-28 15:04:06,001 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'SafeConfigParser': <class 'configparser.ConfigParser'>
  451. 2025-07-28 15:04:06,001 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'NativeStringIO': <class '_io.StringIO'>
  452. 2025-07-28 15:04:06,001 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'BytesIO': <class '_io.BytesIO'>
  453. 2025-07-28 15:04:06,002 - passlib.registry:296 - DEBUG - registered 'bcrypt' handler: <class 'passlib.handlers.bcrypt.bcrypt'>
  454. 2025-07-28 15:04:06,007 - services.data_service:1103 - INFO - Base de datos ya existe, no se necesita inicializar.
  455. 2025-07-28 15:04:06,007 - main:31 - INFO - Servidor corriendo en http://localhost:6001
  456. 2025-07-28 15:04:06,007 - main:35 - INFO - Datos del asistente cargados desde: /home/superti/workspace/pedidos_express/data/llm_data.json
  457. 2025-07-28 15:04:06,007 - routes.orders:79 - INFO - Starting order thread
  458. 2025-07-28 15:04:08,622 - routes.users:46 - DEBUG - Login attempt for email: erwinjacimino2003@gmail.com
  459. 2025-07-28 15:04:08,622 - routes.users:47 - DEBUG - Login request: 1234
  460. 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')
  461. 2025-07-28 15:04:08,623 - services.data_service:206 - INFO - User erwinjacimino2003@gmail.com logged in successfully.
  462. 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)}
  463. 2025-07-28 15:04:08,623 - auth.security:51 - DEBUG - Token expiration time: 2053-03-03 19:04:08.623377
  464. 2025-07-28 15:04:08,623 - auth.security:38 - DEBUG - Generated token for email erwinjacimino2003@gmail.com: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJlbWFpbCIsImV4cCI6MjYyNDY0MTQ0OH0.TMutIh32f784TZrjEjvaVCnaQ4FL2GKFrBc_1J9tTMk
  465. 2025-07-28 15:04:33,476 - routes.users:46 - DEBUG - Login attempt for email: erwinjacimino2003@gmail.com
  466. 2025-07-28 15:04:33,477 - routes.users:47 - DEBUG - Login request: 1234
  467. 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')
  468. 2025-07-28 15:04:33,477 - services.data_service:206 - INFO - User erwinjacimino2003@gmail.com logged in successfully.
  469. 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)}
  470. 2025-07-28 15:04:33,477 - auth.security:51 - DEBUG - Token expiration time: 2053-03-03 19:04:33.477485
  471. 2025-07-28 15:04:33,477 - auth.security:38 - DEBUG - Generated token for email erwinjacimino2003@gmail.com: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJlbWFpbCIsImV4cCI6MjYyNDY0MTQ3M30.woMoomACYzUKe45xeyWs5D0faMVuBVPWuANFixu4z9M
  472. 2025-07-28 15:05:28,693 - routes.users:46 - DEBUG - Login attempt for email: erwinjacimino2003@gmail.com
  473. 2025-07-28 15:05:28,693 - routes.users:47 - DEBUG - Login request: 1234
  474. 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')
  475. 2025-07-28 15:05:28,693 - services.data_service:206 - INFO - User erwinjacimino2003@gmail.com logged in successfully.
  476. 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)}
  477. 2025-07-28 15:05:28,694 - auth.security:51 - DEBUG - Token expiration time: 2053-03-03 19:05:28.694048
  478. 2025-07-28 15:05:28,694 - auth.security:38 - DEBUG - Generated token for email erwinjacimino2003@gmail.com: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJlbWFpbCIsImV4cCI6MjYyNDY0MTUyOH0.BkmMjpAXEvB7BFEHiIO6Ybkf5v3kB416bWuHGJAAyh8
  479. 2025-07-28 15:06:03,036 - routes.users:46 - DEBUG - Login attempt for email: erwinjacimino2003@gmail.com
  480. 2025-07-28 15:06:03,037 - routes.users:47 - DEBUG - Login request: 1234
  481. 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')
  482. 2025-07-28 15:06:03,037 - services.data_service:206 - INFO - User erwinjacimino2003@gmail.com logged in successfully.
  483. 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)}
  484. 2025-07-28 15:06:03,037 - auth.security:51 - DEBUG - Token expiration time: 2053-03-03 19:06:03.037683
  485. 2025-07-28 15:06:03,037 - auth.security:38 - DEBUG - Generated token for email erwinjacimino2003@gmail.com: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJlbWFpbCIsImV4cCI6MjYyNDY0MTU2M30.fhOcTcA-kVIxMsU-q_GbHvqxIPXe5P5fqnHQgWe5yQQ
  486. 2025-07-28 15:06:41,580 - routes.users:46 - DEBUG - Login attempt for email: erwinjacimino2003@gmail.com
  487. 2025-07-28 15:06:41,580 - routes.users:47 - DEBUG - Login request: 1234
  488. 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')
  489. 2025-07-28 15:06:41,581 - services.data_service:206 - INFO - User erwinjacimino2003@gmail.com logged in successfully.
  490. 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)}
  491. 2025-07-28 15:06:41,581 - auth.security:51 - DEBUG - Token expiration time: 2053-03-03 19:06:41.581304
  492. 2025-07-28 15:06:41,581 - auth.security:38 - DEBUG - Generated token for email erwinjacimino2003@gmail.com: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJlbWFpbCIsImV4cCI6MjYyNDY0MTYwMX0.g915DW7uviUu-F4GcIwhR24H4SCGDKS0Js1TNy1cwAM
  493. 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
  494. 2025-07-28 15:07:17,115 - escpos.capabilities:43 - DEBUG - Capabilities pickle file not found: /tmp/tmp2e06_7dn/3.9.23.capabilities.pickle
  495. 2025-07-28 15:07:17,115 - escpos.capabilities:47 - DEBUG - Loading and pickling capabilities
  496. 2025-07-28 15:07:17,229 - escpos.capabilities:82 - DEBUG - Finished loading capabilities took 0.11s
  497. 2025-07-28 15:07:17,398 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'SafeConfigParser': <class 'configparser.ConfigParser'>
  498. 2025-07-28 15:07:17,398 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'NativeStringIO': <class '_io.StringIO'>
  499. 2025-07-28 15:07:17,398 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'BytesIO': <class '_io.BytesIO'>
  500. 2025-07-28 15:07:17,399 - passlib.registry:296 - DEBUG - registered 'bcrypt' handler: <class 'passlib.handlers.bcrypt.bcrypt'>
  501. 2025-07-28 15:07:17,403 - services.data_service:1103 - INFO - Base de datos ya existe, no se necesita inicializar.
  502. 2025-07-28 15:07:17,403 - main:31 - INFO - Servidor corriendo en http://localhost:6001
  503. 2025-07-28 15:07:17,404 - main:35 - INFO - Datos del asistente cargados desde: /home/superti/workspace/pedidos_express/data/llm_data.json
  504. 2025-07-28 15:07:17,404 - routes.orders:79 - INFO - Starting order thread
  505. 2025-07-28 15:07:26,341 - routes.users:46 - DEBUG - Login attempt for email: erwinjacimino2003@gmail.com
  506. 2025-07-28 15:07:26,341 - routes.users:47 - DEBUG - Login request: 2345
  507. 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')
  508. 2025-07-28 15:07:26,342 - services.data_service:209 - ERROR - Login failed: Invalid email or pin.
  509. 2025-07-28 15:07:26,343 - routes.users:69 - WARNING - Failed login attempt for erwinjacimino2003@gmail.com. Attempts: 1
  510. 2025-07-28 15:07:26,343 - routes.users:70 - ERROR - Invalid email or PIN.
  511. 2025-07-28 15:07:32,132 - routes.users:46 - DEBUG - Login attempt for email: erwinjacimino2003@gmail.com
  512. 2025-07-28 15:07:32,132 - routes.users:47 - DEBUG - Login request: 1234
  513. 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')
  514. 2025-07-28 15:07:32,133 - services.data_service:206 - INFO - User erwinjacimino2003@gmail.com logged in successfully.
  515. 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)}
  516. 2025-07-28 15:07:32,133 - auth.security:51 - DEBUG - Token expiration time: 2053-03-03 19:07:32.133506
  517. 2025-07-28 15:07:32,134 - auth.security:38 - DEBUG - Generated token for email erwinjacimino2003@gmail.com: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJlbWFpbCIsImV4cCI6MjYyNDY0MTY1Mn0.N7QbHbl_u2ljI1WIOUXlqEgB1bJiuQTUxWyhSlWoezU
  518. 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
  519. 2025-07-28 15:12:12,565 - escpos.capabilities:43 - DEBUG - Capabilities pickle file not found: /tmp/tmp7hxbkarq/3.9.23.capabilities.pickle
  520. 2025-07-28 15:12:12,565 - escpos.capabilities:47 - DEBUG - Loading and pickling capabilities
  521. 2025-07-28 15:12:12,681 - escpos.capabilities:82 - DEBUG - Finished loading capabilities took 0.12s
  522. 2025-07-28 15:12:12,852 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'SafeConfigParser': <class 'configparser.ConfigParser'>
  523. 2025-07-28 15:12:12,852 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'NativeStringIO': <class '_io.StringIO'>
  524. 2025-07-28 15:12:12,852 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'BytesIO': <class '_io.BytesIO'>
  525. 2025-07-28 15:12:12,854 - passlib.registry:296 - DEBUG - registered 'bcrypt' handler: <class 'passlib.handlers.bcrypt.bcrypt'>
  526. 2025-07-28 15:12:12,858 - services.data_service:1103 - INFO - Base de datos ya existe, no se necesita inicializar.
  527. 2025-07-28 15:12:12,858 - main:31 - INFO - Servidor corriendo en http://localhost:6001
  528. 2025-07-28 15:12:12,858 - main:35 - INFO - Datos del asistente cargados desde: /home/superti/workspace/pedidos_express/data/llm_data.json
  529. 2025-07-28 15:12:12,858 - routes.orders:79 - INFO - Starting order thread
  530. 2025-07-28 15:12:18,805 - routes.users:46 - DEBUG - Login attempt for email: erwinjacimino2003@gmail.com
  531. 2025-07-28 15:12:18,805 - routes.users:47 - DEBUG - Login request: 1234
  532. 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')
  533. 2025-07-28 15:12:18,807 - services.data_service:206 - INFO - User erwinjacimino2003@gmail.com logged in successfully.
  534. 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)}
  535. 2025-07-28 15:12:18,807 - auth.security:51 - DEBUG - Token expiration time: 2053-03-03 19:12:18.807265
  536. 2025-07-28 15:12:18,807 - auth.security:38 - DEBUG - Generated token for email erwinjacimino2003@gmail.com: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJlbWFpbCIsImV4cCI6MjYyNDY0MTkzOH0.EOz-cHtfmmKrUk9wH_-HRT4M9QCfIKoEAIeXFtcLdOs
  537. 2025-07-28 15:12:37,477 - routes.users:46 - DEBUG - Login attempt for email: erwinjacimino2003@gmail.com
  538. 2025-07-28 15:12:37,477 - routes.users:47 - DEBUG - Login request: 1234
  539. 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')
  540. 2025-07-28 15:12:37,477 - services.data_service:206 - INFO - User erwinjacimino2003@gmail.com logged in successfully.
  541. 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)}
  542. 2025-07-28 15:12:37,477 - auth.security:51 - DEBUG - Token expiration time: 2053-03-03 19:12:37.477560
  543. 2025-07-28 15:12:37,477 - auth.security:38 - DEBUG - Generated token for email erwinjacimino2003@gmail.com: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJlbWFpbCIsImV4cCI6MjYyNDY0MTk1N30.EDB8-YBgqe0P6riWbSl_G2dvheB8CKdSCxuJuJtmxOY
  544. 2025-07-28 15:12:37,494 - services.data_service:189 - DEBUG - get_by_email: email, user: None
  545. 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
  546. 2025-07-28 15:16:54,551 - escpos.capabilities:43 - DEBUG - Capabilities pickle file not found: /tmp/tmp23dw7t3b/3.9.23.capabilities.pickle
  547. 2025-07-28 15:16:54,551 - escpos.capabilities:47 - DEBUG - Loading and pickling capabilities
  548. 2025-07-28 15:16:54,666 - escpos.capabilities:82 - DEBUG - Finished loading capabilities took 0.12s
  549. 2025-07-28 15:16:54,833 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'SafeConfigParser': <class 'configparser.ConfigParser'>
  550. 2025-07-28 15:16:54,833 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'NativeStringIO': <class '_io.StringIO'>
  551. 2025-07-28 15:16:54,833 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'BytesIO': <class '_io.BytesIO'>
  552. 2025-07-28 15:16:54,834 - passlib.registry:296 - DEBUG - registered 'bcrypt' handler: <class 'passlib.handlers.bcrypt.bcrypt'>
  553. 2025-07-28 15:16:54,839 - services.data_service:1103 - INFO - Base de datos ya existe, no se necesita inicializar.
  554. 2025-07-28 15:16:54,839 - main:31 - INFO - Servidor corriendo en http://localhost:6001
  555. 2025-07-28 15:16:54,839 - main:35 - INFO - Datos del asistente cargados desde: /home/superti/workspace/pedidos_express/data/llm_data.json
  556. 2025-07-28 15:16:54,839 - routes.orders:79 - INFO - Starting order thread
  557. 2025-07-28 15:17:02,422 - routes.users:46 - DEBUG - Login attempt for email: erwinjacimino2003@gmail.com
  558. 2025-07-28 15:17:02,422 - routes.users:47 - DEBUG - Login request: 1234
  559. 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')
  560. 2025-07-28 15:17:02,423 - services.data_service:206 - INFO - User erwinjacimino2003@gmail.com logged in successfully.
  561. 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)}
  562. 2025-07-28 15:17:02,423 - auth.security:51 - DEBUG - Token expiration time: 2053-03-03 19:17:02.423691
  563. 2025-07-28 15:17:02,424 - auth.security:38 - DEBUG - Generated token for email erwinjacimino2003@gmail.com: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJlbWFpbCIsImV4cCI6MjYyNDY0MjIyMn0.Wkw5KsVdUoEb0S7vUZOq3XVrLyJIXYigAV9R_-L3UV4
  564. 2025-07-28 15:17:02,429 - services.data_service:189 - DEBUG - get_by_email: email, user: None
  565. 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
  566. 2025-07-28 15:18:28,837 - escpos.capabilities:43 - DEBUG - Capabilities pickle file not found: /tmp/tmp7obg0ip8/3.9.23.capabilities.pickle
  567. 2025-07-28 15:18:28,837 - escpos.capabilities:47 - DEBUG - Loading and pickling capabilities
  568. 2025-07-28 15:18:28,945 - escpos.capabilities:82 - DEBUG - Finished loading capabilities took 0.11s
  569. 2025-07-28 15:18:29,109 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'SafeConfigParser': <class 'configparser.ConfigParser'>
  570. 2025-07-28 15:18:29,109 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'NativeStringIO': <class '_io.StringIO'>
  571. 2025-07-28 15:18:29,109 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'BytesIO': <class '_io.BytesIO'>
  572. 2025-07-28 15:18:29,110 - passlib.registry:296 - DEBUG - registered 'bcrypt' handler: <class 'passlib.handlers.bcrypt.bcrypt'>
  573. 2025-07-28 15:18:29,115 - services.data_service:1103 - INFO - Base de datos ya existe, no se necesita inicializar.
  574. 2025-07-28 15:18:29,115 - main:31 - INFO - Servidor corriendo en http://localhost:6001
  575. 2025-07-28 15:18:29,115 - main:35 - INFO - Datos del asistente cargados desde: /home/superti/workspace/pedidos_express/data/llm_data.json
  576. 2025-07-28 15:18:29,115 - routes.orders:79 - INFO - Starting order thread
  577. 2025-07-28 15:18:35,814 - routes.users:46 - DEBUG - Login attempt for email: erwinjacimino2003@gmail.com
  578. 2025-07-28 15:18:35,814 - routes.users:47 - DEBUG - Login request: 1234
  579. 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')
  580. 2025-07-28 15:18:35,815 - services.data_service:206 - INFO - User erwinjacimino2003@gmail.com logged in successfully.
  581. 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)}
  582. 2025-07-28 15:18:35,815 - auth.security:51 - DEBUG - Token expiration time: 2053-03-03 19:18:35.815958
  583. 2025-07-28 15:18:35,816 - auth.security:38 - DEBUG - Generated token for email erwinjacimino2003@gmail.com: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJlbWFpbCIsImV4cCI6MjYyNDY0MjMxNX0.MM0H33AuywxucGNSWxDOANK5ORw1lk6dCqJB4UYrS-U
  584. 2025-07-28 15:18:35,820 - services.data_service:189 - DEBUG - get_by_email: email, user: None
  585. 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
  586. 2025-07-28 15:18:59,052 - escpos.capabilities:43 - DEBUG - Capabilities pickle file not found: /tmp/tmpwysaa_xl/3.9.23.capabilities.pickle
  587. 2025-07-28 15:18:59,052 - escpos.capabilities:47 - DEBUG - Loading and pickling capabilities
  588. 2025-07-28 15:18:59,167 - escpos.capabilities:82 - DEBUG - Finished loading capabilities took 0.12s
  589. 2025-07-28 15:18:59,334 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'SafeConfigParser': <class 'configparser.ConfigParser'>
  590. 2025-07-28 15:18:59,334 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'NativeStringIO': <class '_io.StringIO'>
  591. 2025-07-28 15:18:59,334 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'BytesIO': <class '_io.BytesIO'>
  592. 2025-07-28 15:18:59,335 - passlib.registry:296 - DEBUG - registered 'bcrypt' handler: <class 'passlib.handlers.bcrypt.bcrypt'>
  593. 2025-07-28 15:18:59,340 - services.data_service:1103 - INFO - Base de datos ya existe, no se necesita inicializar.
  594. 2025-07-28 15:18:59,340 - main:31 - INFO - Servidor corriendo en http://localhost:6001
  595. 2025-07-28 15:18:59,340 - main:35 - INFO - Datos del asistente cargados desde: /home/superti/workspace/pedidos_express/data/llm_data.json
  596. 2025-07-28 15:18:59,340 - routes.orders:79 - INFO - Starting order thread
  597. 2025-07-28 15:19:04,806 - routes.users:46 - DEBUG - Login attempt for email: erwinjacimino2003@gmail.com
  598. 2025-07-28 15:19:04,806 - routes.users:47 - DEBUG - Login request: 1234
  599. 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')
  600. 2025-07-28 15:19:04,807 - services.data_service:206 - INFO - User erwinjacimino2003@gmail.com logged in successfully.
  601. 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)}
  602. 2025-07-28 15:19:04,807 - auth.security:51 - DEBUG - Token expiration time: 2053-03-03 19:19:04.807610
  603. 2025-07-28 15:19:04,808 - auth.security:38 - DEBUG - Generated token for email erwinjacimino2003@gmail.com: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJlbWFpbCIsImV4cCI6MjYyNDY0MjM0NH0.dLfXkaU9lzgmMkgU2nr7qtq9C0VIRcXdNX5U7fEcYz0
  604. 2025-07-28 15:19:04,811 - auth.security:70 - DEBUG - Decoding token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJlbWFpbCIsImV4cCI6MjYyNDY0MjM0NH0.dLfXkaU9lzgmMkgU2nr7qtq9C0VIRcXdNX5U7fEcYz0
  605. 2025-07-28 15:19:04,811 - services.data_service:189 - DEBUG - get_by_email: email, user: None
  606. 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
  607. 2025-07-28 15:19:40,783 - escpos.capabilities:43 - DEBUG - Capabilities pickle file not found: /tmp/tmpi7oxtyfi/3.9.23.capabilities.pickle
  608. 2025-07-28 15:19:40,783 - escpos.capabilities:47 - DEBUG - Loading and pickling capabilities
  609. 2025-07-28 15:19:40,899 - escpos.capabilities:82 - DEBUG - Finished loading capabilities took 0.12s
  610. 2025-07-28 15:19:41,073 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'SafeConfigParser': <class 'configparser.ConfigParser'>
  611. 2025-07-28 15:19:41,073 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'NativeStringIO': <class '_io.StringIO'>
  612. 2025-07-28 15:19:41,073 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'BytesIO': <class '_io.BytesIO'>
  613. 2025-07-28 15:19:41,075 - passlib.registry:296 - DEBUG - registered 'bcrypt' handler: <class 'passlib.handlers.bcrypt.bcrypt'>
  614. 2025-07-28 15:19:41,079 - services.data_service:1103 - INFO - Base de datos ya existe, no se necesita inicializar.
  615. 2025-07-28 15:19:41,079 - main:31 - INFO - Servidor corriendo en http://localhost:6001
  616. 2025-07-28 15:19:41,079 - main:35 - INFO - Datos del asistente cargados desde: /home/superti/workspace/pedidos_express/data/llm_data.json
  617. 2025-07-28 15:19:41,079 - routes.orders:79 - INFO - Starting order thread
  618. 2025-07-28 15:19:45,174 - routes.users:46 - DEBUG - Login attempt for email: erwinjacimino2003@gmail.com
  619. 2025-07-28 15:19:45,174 - routes.users:47 - DEBUG - Login request: 1234
  620. 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')
  621. 2025-07-28 15:19:45,176 - services.data_service:206 - INFO - User erwinjacimino2003@gmail.com logged in successfully.
  622. 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)}
  623. 2025-07-28 15:19:45,176 - auth.security:51 - DEBUG - Token expiration time: 2053-03-03 19:19:45.176753
  624. 2025-07-28 15:19:45,177 - auth.security:38 - DEBUG - Generated token for email erwinjacimino2003@gmail.com: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJlbWFpbCIsImV4cCI6MjYyNDY0MjM4NX0.vt33J6TWu9syESxm0_zpIFpVQjDQ_V3x4WHyOYSiP0o
  625. 2025-07-28 15:19:45,188 - auth.security:70 - DEBUG - Decoding token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJlbWFpbCIsImV4cCI6MjYyNDY0MjM4NX0.vt33J6TWu9syESxm0_zpIFpVQjDQ_V3x4WHyOYSiP0o
  626. 2025-07-28 15:19:45,189 - services.data_service:189 - DEBUG - get_by_email: email, user: None
  627. 2025-07-28 15:19:45,189 - auth.security:83 - ERROR - User not found: email
  628. 2025-07-28 15:21:18,246 - routes.users:46 - DEBUG - Login attempt for email: erwinjacimino2003@gmail.com
  629. 2025-07-28 15:21:18,246 - routes.users:47 - DEBUG - Login request: 1234
  630. 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')
  631. 2025-07-28 15:21:18,246 - services.data_service:206 - INFO - User erwinjacimino2003@gmail.com logged in successfully.
  632. 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)}
  633. 2025-07-28 15:21:18,246 - auth.security:51 - DEBUG - Token expiration time: 2053-03-03 19:21:18.246818
  634. 2025-07-28 15:21:18,246 - auth.security:38 - DEBUG - Generated token for email erwinjacimino2003@gmail.com: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJlbWFpbCIsImV4cCI6MjYyNDY0MjQ3OH0.TfR0wz3rFwBhwYPe6T3yh7lgO8lWWloUWUwsNngx2DA
  635. 2025-07-28 15:21:18,249 - auth.security:70 - DEBUG - Decoding token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJlbWFpbCIsImV4cCI6MjYyNDY0MjQ3OH0.TfR0wz3rFwBhwYPe6T3yh7lgO8lWWloUWUwsNngx2DA
  636. 2025-07-28 15:21:18,249 - services.data_service:189 - DEBUG - get_by_email: email, user: None
  637. 2025-07-28 15:21:18,249 - auth.security:83 - ERROR - User not found: email
  638. 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
  639. 2025-07-28 15:23:36,947 - escpos.capabilities:43 - DEBUG - Capabilities pickle file not found: /tmp/tmpj4xue46t/3.9.23.capabilities.pickle
  640. 2025-07-28 15:23:36,947 - escpos.capabilities:47 - DEBUG - Loading and pickling capabilities
  641. 2025-07-28 15:23:37,056 - escpos.capabilities:82 - DEBUG - Finished loading capabilities took 0.11s
  642. 2025-07-28 15:23:37,221 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'SafeConfigParser': <class 'configparser.ConfigParser'>
  643. 2025-07-28 15:23:37,221 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'NativeStringIO': <class '_io.StringIO'>
  644. 2025-07-28 15:23:37,221 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'BytesIO': <class '_io.BytesIO'>
  645. 2025-07-28 15:23:37,222 - passlib.registry:296 - DEBUG - registered 'bcrypt' handler: <class 'passlib.handlers.bcrypt.bcrypt'>
  646. 2025-07-28 15:23:37,227 - services.data_service:1103 - INFO - Base de datos ya existe, no se necesita inicializar.
  647. 2025-07-28 15:23:37,227 - main:31 - INFO - Servidor corriendo en http://localhost:6001
  648. 2025-07-28 15:23:37,227 - main:35 - INFO - Datos del asistente cargados desde: /home/superti/workspace/pedidos_express/data/llm_data.json
  649. 2025-07-28 15:23:37,228 - routes.orders:79 - INFO - Starting order thread
  650. 2025-07-28 15:23:44,855 - routes.users:46 - DEBUG - Login attempt for email: erwinjacimino2003@gmail.com
  651. 2025-07-28 15:23:44,855 - routes.users:47 - DEBUG - Login request: 1234
  652. 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')
  653. 2025-07-28 15:23:44,856 - services.data_service:206 - INFO - User erwinjacimino2003@gmail.com logged in successfully.
  654. 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)}
  655. 2025-07-28 15:23:44,856 - auth.security:51 - DEBUG - Token expiration time: 2053-03-03 19:23:44.856527
  656. 2025-07-28 15:23:44,857 - auth.security:38 - DEBUG - Generated token for email erwinjacimino2003@gmail.com: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJlcndpbmphY2ltaW5vMjAwM0BnbWFpbC5jb20iLCJleHAiOjI2MjQ2NDI2MjR9.SvvAgfp_U3aUsX_q2JOJh3zFpEwHPt15y4bbSU4T3iU
  657. 2025-07-28 15:23:44,867 - auth.security:70 - DEBUG - Decoding token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJlcndpbmphY2ltaW5vMjAwM0BnbWFpbC5jb20iLCJleHAiOjI2MjQ2NDI2MjR9.SvvAgfp_U3aUsX_q2JOJh3zFpEwHPt15y4bbSU4T3iU
  658. 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')
  659. 2025-07-28 15:23:44,868 - routes.products:16 - DEBUG - Current user: erwinjacimino2003@gmail.com
  660. 2025-07-28 15:23:44,868 - routes.products:17 - INFO - Fetching all products
  661. 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
  662. 2025-07-28 15:24:15,698 - escpos.capabilities:43 - DEBUG - Capabilities pickle file not found: /tmp/tmpds65chja/3.9.23.capabilities.pickle
  663. 2025-07-28 15:24:15,698 - escpos.capabilities:47 - DEBUG - Loading and pickling capabilities
  664. 2025-07-28 15:24:15,812 - escpos.capabilities:82 - DEBUG - Finished loading capabilities took 0.11s
  665. 2025-07-28 15:24:15,985 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'SafeConfigParser': <class 'configparser.ConfigParser'>
  666. 2025-07-28 15:24:15,985 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'NativeStringIO': <class '_io.StringIO'>
  667. 2025-07-28 15:24:15,985 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'BytesIO': <class '_io.BytesIO'>
  668. 2025-07-28 15:24:15,986 - passlib.registry:296 - DEBUG - registered 'bcrypt' handler: <class 'passlib.handlers.bcrypt.bcrypt'>
  669. 2025-07-28 15:24:15,991 - services.data_service:1103 - INFO - Base de datos ya existe, no se necesita inicializar.
  670. 2025-07-28 15:24:15,991 - main:31 - INFO - Servidor corriendo en http://localhost:6001
  671. 2025-07-28 15:24:15,991 - main:35 - INFO - Datos del asistente cargados desde: /home/superti/workspace/pedidos_express/data/llm_data.json
  672. 2025-07-28 15:24:15,991 - routes.orders:79 - INFO - Starting order thread
  673. 2025-07-28 15:24:31,455 - routes.users:46 - DEBUG - Login attempt for email: erwinjacimino2003@gmail.com
  674. 2025-07-28 15:24:31,455 - routes.users:47 - DEBUG - Login request: 1234
  675. 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')
  676. 2025-07-28 15:24:31,457 - services.data_service:206 - INFO - User erwinjacimino2003@gmail.com logged in successfully.
  677. 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)}
  678. 2025-07-28 15:24:31,457 - auth.security:51 - DEBUG - Token expiration time: 2053-03-03 19:24:31.457389
  679. 2025-07-28 15:24:31,457 - auth.security:38 - DEBUG - Generated token for email erwinjacimino2003@gmail.com: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJlcndpbmphY2ltaW5vMjAwM0BnbWFpbC5jb20iLCJleHAiOjI2MjQ2NDI2NzF9.anBHRRpTQ-d_DpmvFaMu871ekBamXwK56e02srS4GXA
  680. 2025-07-28 15:24:31,463 - auth.security:70 - DEBUG - Decoding token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJlcndpbmphY2ltaW5vMjAwM0BnbWFpbC5jb20iLCJleHAiOjI2MjQ2NDI2NzF9.anBHRRpTQ-d_DpmvFaMu871ekBamXwK56e02srS4GXA
  681. 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')
  682. 2025-07-28 15:24:31,464 - routes.products:16 - DEBUG - Current user: erwinjacimino2003@gmail.com
  683. 2025-07-28 15:24:31,464 - routes.products:17 - INFO - Fetching all products
  684. 2025-07-28 15:25:52,862 - routes.users:46 - DEBUG - Login attempt for email: erwinjacimino2003@gmail.com
  685. 2025-07-28 15:25:52,862 - routes.users:47 - DEBUG - Login request: 1234
  686. 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')
  687. 2025-07-28 15:25:52,863 - services.data_service:206 - INFO - User erwinjacimino2003@gmail.com logged in successfully.
  688. 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)}
  689. 2025-07-28 15:25:52,863 - auth.security:51 - DEBUG - Token expiration time: 2053-03-03 19:25:52.863325
  690. 2025-07-28 15:25:52,863 - auth.security:38 - DEBUG - Generated token for email erwinjacimino2003@gmail.com: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJlcndpbmphY2ltaW5vMjAwM0BnbWFpbC5jb20iLCJleHAiOjI2MjQ2NDI3NTJ9.3fEZMSnXd1oSuoA7MQHy-T7C3rpmfocQx6ff7a3IxfA
  691. 2025-07-28 15:25:52,867 - auth.security:70 - DEBUG - Decoding token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJlcndpbmphY2ltaW5vMjAwM0BnbWFpbC5jb20iLCJleHAiOjI2MjQ2NDI3NTJ9.3fEZMSnXd1oSuoA7MQHy-T7C3rpmfocQx6ff7a3IxfA
  692. 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')
  693. 2025-07-28 15:25:52,867 - routes.products:16 - DEBUG - Current user: erwinjacimino2003@gmail.com
  694. 2025-07-28 15:25:52,867 - routes.products:17 - INFO - Fetching all products
  695. 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
  696. 2025-07-28 15:27:36,042 - escpos.capabilities:43 - DEBUG - Capabilities pickle file not found: /tmp/tmpjrj38w7n/3.9.23.capabilities.pickle
  697. 2025-07-28 15:27:36,042 - escpos.capabilities:47 - DEBUG - Loading and pickling capabilities
  698. 2025-07-28 15:27:36,159 - escpos.capabilities:82 - DEBUG - Finished loading capabilities took 0.12s
  699. 2025-07-28 15:27:36,328 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'SafeConfigParser': <class 'configparser.ConfigParser'>
  700. 2025-07-28 15:27:36,328 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'NativeStringIO': <class '_io.StringIO'>
  701. 2025-07-28 15:27:36,328 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'BytesIO': <class '_io.BytesIO'>
  702. 2025-07-28 15:27:36,329 - passlib.registry:296 - DEBUG - registered 'bcrypt' handler: <class 'passlib.handlers.bcrypt.bcrypt'>
  703. 2025-07-28 15:27:36,334 - services.data_service:1103 - INFO - Base de datos ya existe, no se necesita inicializar.
  704. 2025-07-28 15:27:36,334 - main:31 - INFO - Servidor corriendo en http://localhost:6001
  705. 2025-07-28 15:27:36,334 - main:35 - INFO - Datos del asistente cargados desde: /home/superti/workspace/pedidos_express/data/llm_data.json
  706. 2025-07-28 15:27:36,334 - routes.orders:79 - INFO - Starting order thread
  707. 2025-07-28 15:27:40,943 - routes.users:46 - DEBUG - Login attempt for email: erwinjacimino2003@gmail.com
  708. 2025-07-28 15:27:40,943 - routes.users:47 - DEBUG - Login request: 1234
  709. 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')
  710. 2025-07-28 15:27:40,944 - services.data_service:206 - INFO - User erwinjacimino2003@gmail.com logged in successfully.
  711. 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)}
  712. 2025-07-28 15:27:40,944 - auth.security:51 - DEBUG - Token expiration time: 2053-03-03 19:27:40.944759
  713. 2025-07-28 15:27:40,945 - auth.security:38 - DEBUG - Generated token for email erwinjacimino2003@gmail.com: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJlcndpbmphY2ltaW5vMjAwM0BnbWFpbC5jb20iLCJleHAiOjI2MjQ2NDI4NjB9.N13MaeXynMovk8QqbFVVSNhjdaeVj8hkRIiQzunqWfU
  714. 2025-07-28 15:27:40,948 - auth.security:70 - DEBUG - Decoding token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJlcndpbmphY2ltaW5vMjAwM0BnbWFpbC5jb20iLCJleHAiOjI2MjQ2NDI4NjB9.N13MaeXynMovk8QqbFVVSNhjdaeVj8hkRIiQzunqWfU
  715. 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')
  716. 2025-07-28 15:27:40,949 - routes.products:16 - DEBUG - Current user: erwinjacimino2003@gmail.com
  717. 2025-07-28 15:27:40,949 - routes.products:17 - INFO - Fetching all products
  718. 2025-07-28 15:28:26,302 - routes.users:46 - DEBUG - Login attempt for email: erwinjacimino2003@gmail.com
  719. 2025-07-28 15:28:26,302 - routes.users:47 - DEBUG - Login request: 1234
  720. 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')
  721. 2025-07-28 15:28:26,302 - services.data_service:206 - INFO - User erwinjacimino2003@gmail.com logged in successfully.
  722. 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)}
  723. 2025-07-28 15:28:26,302 - auth.security:51 - DEBUG - Token expiration time: 2053-03-03 19:28:26.302842
  724. 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
  725. 2025-07-28 15:28:26,307 - auth.security:70 - DEBUG - Decoding token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJlcndpbmphY2ltaW5vMjAwM0BnbWFpbC5jb20iLCJleHAiOjI2MjQ2NDI5MDZ9.oiahdV9fzv_FyDz_kMMFfG-vuGE4a-hSt6jQOo020Rs
  726. 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')
  727. 2025-07-28 15:28:26,307 - routes.products:16 - DEBUG - Current user: erwinjacimino2003@gmail.com
  728. 2025-07-28 15:28:26,308 - routes.products:17 - INFO - Fetching all products
  729. 2025-07-28 15:28:29,720 - auth.security:70 - DEBUG - Decoding token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJlcndpbmphY2ltaW5vMjAwM0BnbWFpbC5jb20iLCJleHAiOjI2MjQ2NDI5MDZ9.oiahdV9fzv_FyDz_kMMFfG-vuGE4a-hSt6jQOo020Rs
  730. 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')
  731. 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?'}]
  732. 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}}
  733. 2025-07-28 15:28:29,824 - openai._base_client:975 - DEBUG - Sending HTTP Request: POST https://api.openai.com/v1/chat/completions
  734. 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
  735. 2025-07-28 15:28:29,998 - httpcore.connection:47 - DEBUG - connect_tcp.complete return_value=<httpcore._backends.sync.SyncStream object at 0x7f396d4f8cd0>
  736. 2025-07-28 15:28:29,998 - httpcore.connection:47 - DEBUG - start_tls.started ssl_context=<ssl.SSLContext object at 0x7f3976d76840> server_hostname='api.openai.com' timeout=5.0
  737. 2025-07-28 15:28:30,018 - httpcore.connection:47 - DEBUG - start_tls.complete return_value=<httpcore._backends.sync.SyncStream object at 0x7f396d4f8a60>
  738. 2025-07-28 15:28:30,018 - httpcore.http11:47 - DEBUG - send_request_headers.started request=<Request [b'POST']>
  739. 2025-07-28 15:28:30,018 - httpcore.http11:47 - DEBUG - send_request_headers.complete
  740. 2025-07-28 15:28:30,018 - httpcore.http11:47 - DEBUG - send_request_body.started request=<Request [b'POST']>
  741. 2025-07-28 15:28:30,018 - httpcore.http11:47 - DEBUG - send_request_body.complete
  742. 2025-07-28 15:28:30,018 - httpcore.http11:47 - DEBUG - receive_response_headers.started request=<Request [b'POST']>
  743. 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')])
  744. 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"
  745. 2025-07-28 15:28:32,353 - httpcore.http11:47 - DEBUG - receive_response_body.started request=<Request [b'POST']>
  746. 2025-07-28 15:28:32,353 - httpcore.http11:47 - DEBUG - receive_response_body.complete
  747. 2025-07-28 15:28:32,353 - httpcore.http11:47 - DEBUG - response_closed.started
  748. 2025-07-28 15:28:32,353 - httpcore.http11:47 - DEBUG - response_closed.complete
  749. 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')])
  750. 2025-07-28 15:28:32,353 - openai._base_client:1021 - DEBUG - request_id: 4e575293-6a0f-4262-9cf0-21c3c20f31b2
  751. 2025-07-28 15:30:04,072 - routes.users:46 - DEBUG - Login attempt for email: erwinjacimino2003@gmail.com
  752. 2025-07-28 15:30:04,072 - routes.users:47 - DEBUG - Login request: 1234
  753. 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')
  754. 2025-07-28 15:30:04,073 - services.data_service:206 - INFO - User erwinjacimino2003@gmail.com logged in successfully.
  755. 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)}
  756. 2025-07-28 15:30:04,073 - auth.security:51 - DEBUG - Token expiration time: 2053-03-03 19:30:04.073115
  757. 2025-07-28 15:30:04,073 - auth.security:38 - DEBUG - Generated token for email erwinjacimino2003@gmail.com: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJlcndpbmphY2ltaW5vMjAwM0BnbWFpbC5jb20iLCJleHAiOjI2MjQ2NDMwMDR9.Y0KLDA-dMDLHYV7RekxvXeXMTvtCrMGxdAuarXoSWgw
  758. 2025-07-28 15:30:04,082 - auth.security:70 - DEBUG - Decoding token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJlcndpbmphY2ltaW5vMjAwM0BnbWFpbC5jb20iLCJleHAiOjI2MjQ2NDMwMDR9.Y0KLDA-dMDLHYV7RekxvXeXMTvtCrMGxdAuarXoSWgw
  759. 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')
  760. 2025-07-28 15:30:04,083 - routes.products:16 - DEBUG - Current user: erwinjacimino2003@gmail.com
  761. 2025-07-28 15:30:04,083 - routes.products:17 - INFO - Fetching all products
  762. 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
  763. 2025-07-28 15:34:33,325 - escpos.capabilities:43 - DEBUG - Capabilities pickle file not found: /tmp/tmpgz_sks3s/3.9.23.capabilities.pickle
  764. 2025-07-28 15:34:33,325 - escpos.capabilities:47 - DEBUG - Loading and pickling capabilities
  765. 2025-07-28 15:34:33,430 - escpos.capabilities:82 - DEBUG - Finished loading capabilities took 0.11s
  766. 2025-07-28 15:34:33,589 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'SafeConfigParser': <class 'configparser.ConfigParser'>
  767. 2025-07-28 15:34:33,589 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'NativeStringIO': <class '_io.StringIO'>
  768. 2025-07-28 15:34:33,589 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'BytesIO': <class '_io.BytesIO'>
  769. 2025-07-28 15:34:33,590 - passlib.registry:296 - DEBUG - registered 'bcrypt' handler: <class 'passlib.handlers.bcrypt.bcrypt'>
  770. 2025-07-28 15:34:33,595 - services.data_service:1103 - INFO - Base de datos ya existe, no se necesita inicializar.
  771. 2025-07-28 15:34:33,595 - main:31 - INFO - Servidor corriendo en http://localhost:6001
  772. 2025-07-28 15:34:33,595 - main:35 - INFO - Datos del asistente cargados desde: /home/superti/workspace/pedidos_express/data/llm_data.json
  773. 2025-07-28 15:34:33,595 - routes.orders:79 - INFO - Starting order thread
  774. 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
  775. 2025-07-28 15:35:15,574 - escpos.capabilities:43 - DEBUG - Capabilities pickle file not found: /tmp/tmpjm85ux9d/3.9.23.capabilities.pickle
  776. 2025-07-28 15:35:15,574 - escpos.capabilities:47 - DEBUG - Loading and pickling capabilities
  777. 2025-07-28 15:35:15,687 - escpos.capabilities:82 - DEBUG - Finished loading capabilities took 0.11s
  778. 2025-07-28 15:35:15,848 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'SafeConfigParser': <class 'configparser.ConfigParser'>
  779. 2025-07-28 15:35:15,848 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'NativeStringIO': <class '_io.StringIO'>
  780. 2025-07-28 15:35:15,849 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'BytesIO': <class '_io.BytesIO'>
  781. 2025-07-28 15:35:15,850 - passlib.registry:296 - DEBUG - registered 'bcrypt' handler: <class 'passlib.handlers.bcrypt.bcrypt'>
  782. 2025-07-28 15:35:15,855 - services.data_service:1103 - INFO - Base de datos ya existe, no se necesita inicializar.
  783. 2025-07-28 15:35:15,855 - main:31 - INFO - Servidor corriendo en http://localhost:6001
  784. 2025-07-28 15:35:15,855 - main:35 - INFO - Datos del asistente cargados desde: /home/superti/workspace/pedidos_express/data/llm_data.json
  785. 2025-07-28 15:35:15,855 - routes.orders:79 - INFO - Starting order thread
  786. 2025-07-28 15:36:13,968 - routes.users:46 - DEBUG - Login attempt for email: erwinjacimino2003@gmail.com
  787. 2025-07-28 15:36:13,968 - routes.users:47 - DEBUG - Login request: 1234
  788. 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')
  789. 2025-07-28 15:36:13,970 - services.data_service:206 - INFO - User erwinjacimino2003@gmail.com logged in successfully.
  790. 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)}
  791. 2025-07-28 15:36:13,970 - auth.security:51 - DEBUG - Token expiration time: 2053-03-03 19:36:13.970468
  792. 2025-07-28 15:36:13,971 - auth.security:38 - DEBUG - Generated token for email erwinjacimino2003@gmail.com: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJlcndpbmphY2ltaW5vMjAwM0BnbWFpbC5jb20iLCJleHAiOjI2MjQ2NDMzNzN9.P5UTOSiOewLGalXR_VzZOQ7LA-8iX6ZvdlxYIfRaLkU
  793. 2025-07-28 15:36:13,974 - auth.security:70 - DEBUG - Decoding token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJlcndpbmphY2ltaW5vMjAwM0BnbWFpbC5jb20iLCJleHAiOjI2MjQ2NDMzNzN9.P5UTOSiOewLGalXR_VzZOQ7LA-8iX6ZvdlxYIfRaLkU
  794. 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')
  795. 2025-07-28 15:36:13,975 - routes.products:16 - DEBUG - Current user: erwinjacimino2003@gmail.com
  796. 2025-07-28 15:36:13,975 - routes.products:17 - INFO - Fetching all products
  797. 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
  798. 2025-07-28 15:48:31,137 - escpos.capabilities:43 - DEBUG - Capabilities pickle file not found: /tmp/tmph0pn4tf_/3.9.23.capabilities.pickle
  799. 2025-07-28 15:48:31,137 - escpos.capabilities:47 - DEBUG - Loading and pickling capabilities
  800. 2025-07-28 15:48:31,243 - escpos.capabilities:82 - DEBUG - Finished loading capabilities took 0.11s
  801. 2025-07-28 15:48:31,406 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'SafeConfigParser': <class 'configparser.ConfigParser'>
  802. 2025-07-28 15:48:31,406 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'NativeStringIO': <class '_io.StringIO'>
  803. 2025-07-28 15:48:31,406 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'BytesIO': <class '_io.BytesIO'>
  804. 2025-07-28 15:48:31,407 - passlib.registry:296 - DEBUG - registered 'bcrypt' handler: <class 'passlib.handlers.bcrypt.bcrypt'>
  805. 2025-07-28 15:48:31,415 - services.data_service:1103 - INFO - Base de datos ya existe, no se necesita inicializar.
  806. 2025-07-28 15:48:31,415 - main:31 - INFO - Servidor corriendo en http://localhost:6001
  807. 2025-07-28 15:48:31,415 - main:35 - INFO - Datos del asistente cargados desde: /home/superti/workspace/pedidos_express/data/llm_data.json
  808. 2025-07-28 15:48:31,415 - routes.orders:79 - INFO - Starting order thread
  809. 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
  810. 2025-07-28 15:52:04,333 - escpos.capabilities:43 - DEBUG - Capabilities pickle file not found: /tmp/tmpn0sme9ia/3.9.23.capabilities.pickle
  811. 2025-07-28 15:52:04,333 - escpos.capabilities:47 - DEBUG - Loading and pickling capabilities
  812. 2025-07-28 15:52:04,441 - escpos.capabilities:82 - DEBUG - Finished loading capabilities took 0.11s
  813. 2025-07-28 15:52:04,604 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'SafeConfigParser': <class 'configparser.ConfigParser'>
  814. 2025-07-28 15:52:04,604 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'NativeStringIO': <class '_io.StringIO'>
  815. 2025-07-28 15:52:04,604 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'BytesIO': <class '_io.BytesIO'>
  816. 2025-07-28 15:52:04,605 - passlib.registry:296 - DEBUG - registered 'bcrypt' handler: <class 'passlib.handlers.bcrypt.bcrypt'>
  817. 2025-07-28 15:52:04,610 - services.data_service:1103 - INFO - Base de datos ya existe, no se necesita inicializar.
  818. 2025-07-28 15:52:04,610 - main:31 - INFO - Servidor corriendo en http://localhost:6001
  819. 2025-07-28 15:52:04,610 - main:35 - INFO - Datos del asistente cargados desde: /home/superti/workspace/pedidos_express/data/llm_data.json
  820. 2025-07-28 15:52:04,610 - routes.orders:79 - INFO - Starting order thread
  821. 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
  822. 2025-07-28 16:23:57,388 - escpos.capabilities:43 - DEBUG - Capabilities pickle file not found: /tmp/tmp7aczdiuk/3.9.23.capabilities.pickle
  823. 2025-07-28 16:23:57,388 - escpos.capabilities:47 - DEBUG - Loading and pickling capabilities
  824. 2025-07-28 16:23:57,493 - escpos.capabilities:82 - DEBUG - Finished loading capabilities took 0.11s
  825. 2025-07-28 16:23:57,659 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'SafeConfigParser': <class 'configparser.ConfigParser'>
  826. 2025-07-28 16:23:57,659 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'NativeStringIO': <class '_io.StringIO'>
  827. 2025-07-28 16:23:57,659 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'BytesIO': <class '_io.BytesIO'>
  828. 2025-07-28 16:23:57,660 - passlib.registry:296 - DEBUG - registered 'bcrypt' handler: <class 'passlib.handlers.bcrypt.bcrypt'>
  829. 2025-07-28 16:23:57,666 - services.data_service:1103 - INFO - Base de datos ya existe, no se necesita inicializar.
  830. 2025-07-28 16:23:57,666 - main:31 - INFO - Servidor corriendo en http://localhost:6001
  831. 2025-07-28 16:23:57,666 - main:35 - INFO - Datos del asistente cargados desde: /home/superti/workspace/pedidos_express/data/llm_data.json
  832. 2025-07-28 16:23:57,666 - routes.orders:83 - INFO - Starting order thread
  833. 2025-07-28 16:26:11,015 - services.data_service:132 - INFO - User added with ID: 2
  834. 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)}
  835. 2025-07-28 16:26:14,076 - auth.security:51 - DEBUG - Token expiration time: 2053-03-03 20:26:14.076287
  836. 2025-07-28 16:26:14,076 - auth.security:38 - DEBUG - Generated token for email mompyn@gmail.com: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJtb21weW5AZ21haWwuY29tIiwiZXhwIjoyNjI0NjQ2Mzc0fQ.EiWOSvqGUPY1zfSujdyhr_TPFEoJ9sPtgkC6d-eqIFQ
  837. 2025-07-28 16:26:55,344 - services.data_service:279 - INFO - User with ID 2 deleted.
  838. 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
  839. 2025-07-28 16:29:08,468 - escpos.capabilities:43 - DEBUG - Capabilities pickle file not found: /tmp/tmp6yg0g_o5/3.9.23.capabilities.pickle
  840. 2025-07-28 16:29:08,468 - escpos.capabilities:47 - DEBUG - Loading and pickling capabilities
  841. 2025-07-28 16:29:08,593 - escpos.capabilities:82 - DEBUG - Finished loading capabilities took 0.13s
  842. 2025-07-28 16:29:08,764 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'SafeConfigParser': <class 'configparser.ConfigParser'>
  843. 2025-07-28 16:29:08,765 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'NativeStringIO': <class '_io.StringIO'>
  844. 2025-07-28 16:29:08,765 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'BytesIO': <class '_io.BytesIO'>
  845. 2025-07-28 16:29:08,766 - passlib.registry:296 - DEBUG - registered 'bcrypt' handler: <class 'passlib.handlers.bcrypt.bcrypt'>
  846. 2025-07-28 16:29:08,771 - services.data_service:1103 - INFO - Base de datos ya existe, no se necesita inicializar.
  847. 2025-07-28 16:29:08,771 - main:31 - INFO - Servidor corriendo en http://localhost:6001
  848. 2025-07-28 16:29:08,771 - main:35 - INFO - Datos del asistente cargados desde: /home/superti/workspace/pedidos_express/data/llm_data.json
  849. 2025-07-28 16:29:08,771 - routes.orders:83 - INFO - Starting order thread
  850. 2025-07-28 16:29:37,382 - services.data_service:132 - INFO - User added with ID: 3
  851. 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
  852. 2025-07-28 16:34:30,130 - escpos.capabilities:43 - DEBUG - Capabilities pickle file not found: /tmp/tmppwn893ha/3.9.23.capabilities.pickle
  853. 2025-07-28 16:34:30,130 - escpos.capabilities:47 - DEBUG - Loading and pickling capabilities
  854. 2025-07-28 16:34:30,245 - escpos.capabilities:82 - DEBUG - Finished loading capabilities took 0.12s
  855. 2025-07-28 16:34:30,413 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'SafeConfigParser': <class 'configparser.ConfigParser'>
  856. 2025-07-28 16:34:30,413 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'NativeStringIO': <class '_io.StringIO'>
  857. 2025-07-28 16:34:30,413 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'BytesIO': <class '_io.BytesIO'>
  858. 2025-07-28 16:34:30,415 - passlib.registry:296 - DEBUG - registered 'bcrypt' handler: <class 'passlib.handlers.bcrypt.bcrypt'>
  859. 2025-07-28 16:34:30,420 - services.data_service:1103 - INFO - Base de datos ya existe, no se necesita inicializar.
  860. 2025-07-28 16:34:30,420 - main:31 - INFO - Servidor corriendo en http://localhost:6001
  861. 2025-07-28 16:34:30,420 - main:35 - INFO - Datos del asistente cargados desde: /home/superti/workspace/pedidos_express/data/llm_data.json
  862. 2025-07-28 16:34:30,420 - routes.orders:83 - INFO - Starting order thread
  863. 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
  864. 2025-07-28 16:41:50,757 - escpos.capabilities:43 - DEBUG - Capabilities pickle file not found: /tmp/tmp2da7ldp0/3.9.23.capabilities.pickle
  865. 2025-07-28 16:41:50,758 - escpos.capabilities:47 - DEBUG - Loading and pickling capabilities
  866. 2025-07-28 16:41:50,872 - escpos.capabilities:82 - DEBUG - Finished loading capabilities took 0.12s
  867. 2025-07-28 16:41:51,034 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'SafeConfigParser': <class 'configparser.ConfigParser'>
  868. 2025-07-28 16:41:51,034 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'NativeStringIO': <class '_io.StringIO'>
  869. 2025-07-28 16:41:51,034 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'BytesIO': <class '_io.BytesIO'>
  870. 2025-07-28 16:41:51,035 - passlib.registry:296 - DEBUG - registered 'bcrypt' handler: <class 'passlib.handlers.bcrypt.bcrypt'>
  871. 2025-07-28 16:41:51,040 - services.data_service:1103 - INFO - Base de datos ya existe, no se necesita inicializar.
  872. 2025-07-28 16:41:51,040 - main:31 - INFO - Servidor corriendo en http://localhost:6001
  873. 2025-07-28 16:41:51,041 - main:35 - INFO - Datos del asistente cargados desde: /home/superti/workspace/pedidos_express/data/llm_data.json
  874. 2025-07-28 16:41:51,041 - routes.orders:83 - INFO - Starting order thread
  875. 2025-07-28 16:41:53,658 - services.data_service:132 - INFO - User added with ID: 1
  876. 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
  877. 2025-07-28 16:43:22,108 - escpos.capabilities:43 - DEBUG - Capabilities pickle file not found: /tmp/tmpuadr_7mx/3.9.23.capabilities.pickle
  878. 2025-07-28 16:43:22,108 - escpos.capabilities:47 - DEBUG - Loading and pickling capabilities
  879. 2025-07-28 16:43:22,228 - escpos.capabilities:82 - DEBUG - Finished loading capabilities took 0.12s
  880. 2025-07-28 16:43:22,402 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'SafeConfigParser': <class 'configparser.ConfigParser'>
  881. 2025-07-28 16:43:22,402 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'NativeStringIO': <class '_io.StringIO'>
  882. 2025-07-28 16:43:22,402 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'BytesIO': <class '_io.BytesIO'>
  883. 2025-07-28 16:43:22,403 - passlib.registry:296 - DEBUG - registered 'bcrypt' handler: <class 'passlib.handlers.bcrypt.bcrypt'>
  884. 2025-07-28 16:43:22,407 - services.data_service:1103 - INFO - Base de datos ya existe, no se necesita inicializar.
  885. 2025-07-28 16:43:22,407 - main:31 - INFO - Servidor corriendo en http://localhost:6001
  886. 2025-07-28 16:43:22,408 - main:35 - INFO - Datos del asistente cargados desde: /home/superti/workspace/pedidos_express/data/llm_data.json
  887. 2025-07-28 16:43:22,408 - routes.orders:83 - INFO - Starting order thread
  888. 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
  889. 2025-07-28 16:43:34,648 - escpos.capabilities:43 - DEBUG - Capabilities pickle file not found: /tmp/tmprmxg5x0k/3.9.23.capabilities.pickle
  890. 2025-07-28 16:43:34,648 - escpos.capabilities:47 - DEBUG - Loading and pickling capabilities
  891. 2025-07-28 16:43:34,764 - escpos.capabilities:82 - DEBUG - Finished loading capabilities took 0.12s
  892. 2025-07-28 16:43:34,926 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'SafeConfigParser': <class 'configparser.ConfigParser'>
  893. 2025-07-28 16:43:34,926 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'NativeStringIO': <class '_io.StringIO'>
  894. 2025-07-28 16:43:34,926 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'BytesIO': <class '_io.BytesIO'>
  895. 2025-07-28 16:43:34,927 - passlib.registry:296 - DEBUG - registered 'bcrypt' handler: <class 'passlib.handlers.bcrypt.bcrypt'>
  896. 2025-07-28 16:43:34,932 - services.data_service:1109 - INFO - Inicializando base de datos...
  897. 2025-07-28 16:43:34,932 - services.data_service:1110 - INFO - Creando tabla de usuarios...
  898. 2025-07-28 16:43:34,948 - services.data_service:1124 - INFO - Creando tabla de productos...
  899. 2025-07-28 16:43:34,955 - services.data_service:1138 - INFO - Creando tabla de ventas...
  900. 2025-07-28 16:43:34,962 - services.data_service:1152 - INFO - Creando tabla intermedia de venta_productos...
  901. 2025-07-28 16:43:34,971 - services.data_service:1164 - INFO - Creando tabla de blacklist...
  902. 2025-07-28 16:43:34,979 - services.data_service:1173 - INFO - Todas las tablas creadas correctamente.
  903. 2025-07-28 16:43:34,979 - services.data_service:1174 - INFO - Cargando datos de productos desde el archivo JSON...
  904. 2025-07-28 16:43:34,987 - services.data_service:459 - INFO - Product added with ID: 6
  905. 2025-07-28 16:43:34,995 - services.data_service:459 - INFO - Product added with ID: 15
  906. 2025-07-28 16:43:35,003 - services.data_service:459 - INFO - Product added with ID: 163
  907. 2025-07-28 16:43:35,012 - services.data_service:459 - INFO - Product added with ID: 12
  908. 2025-07-28 16:43:35,020 - services.data_service:459 - INFO - Product added with ID: 665
  909. 2025-07-28 16:43:35,028 - services.data_service:459 - INFO - Product added with ID: 1
  910. 2025-07-28 16:43:35,036 - services.data_service:459 - INFO - Product added with ID: 655
  911. 2025-07-28 16:43:35,036 - services.data_service:1182 - INFO - Base de datos inicializada correctamente.
  912. 2025-07-28 16:43:35,037 - main:31 - INFO - Servidor corriendo en http://localhost:6001
  913. 2025-07-28 16:43:35,037 - main:35 - INFO - Datos del asistente cargados desde: /home/superti/workspace/pedidos_express/data/llm_data.json
  914. 2025-07-28 16:43:35,037 - routes.orders:83 - INFO - Starting order thread
  915. 2025-07-28 16:43:44,249 - services.data_service:132 - INFO - User added with ID: 1
  916. 2025-07-28 16:43:44,249 - services.email_service:13 - DEBUG - {'name': 'Erwin Jacimino', 'app_name': 'Pedidos Express', 'pin': '4119'}
  917. 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
  918. 2025-07-28 16:47:43,298 - escpos.capabilities:43 - DEBUG - Capabilities pickle file not found: /tmp/tmpemmgiceo/3.9.23.capabilities.pickle
  919. 2025-07-28 16:47:43,298 - escpos.capabilities:47 - DEBUG - Loading and pickling capabilities
  920. 2025-07-28 16:47:43,408 - escpos.capabilities:82 - DEBUG - Finished loading capabilities took 0.11s
  921. 2025-07-28 16:47:43,573 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'SafeConfigParser': <class 'configparser.ConfigParser'>
  922. 2025-07-28 16:47:43,573 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'NativeStringIO': <class '_io.StringIO'>
  923. 2025-07-28 16:47:43,573 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'BytesIO': <class '_io.BytesIO'>
  924. 2025-07-28 16:47:43,575 - passlib.registry:296 - DEBUG - registered 'bcrypt' handler: <class 'passlib.handlers.bcrypt.bcrypt'>
  925. 2025-07-28 16:47:43,579 - services.data_service:1109 - INFO - Inicializando base de datos...
  926. 2025-07-28 16:47:43,579 - services.data_service:1110 - INFO - Creando tabla de usuarios...
  927. 2025-07-28 16:47:43,599 - services.data_service:1124 - INFO - Creando tabla de productos...
  928. 2025-07-28 16:47:43,606 - services.data_service:1138 - INFO - Creando tabla de ventas...
  929. 2025-07-28 16:47:43,614 - services.data_service:1152 - INFO - Creando tabla intermedia de venta_productos...
  930. 2025-07-28 16:47:43,622 - services.data_service:1164 - INFO - Creando tabla de blacklist...
  931. 2025-07-28 16:47:43,630 - services.data_service:1173 - INFO - Todas las tablas creadas correctamente.
  932. 2025-07-28 16:47:43,630 - services.data_service:1174 - INFO - Cargando datos de productos desde el archivo JSON...
  933. 2025-07-28 16:47:43,638 - services.data_service:459 - INFO - Product added with ID: 6
  934. 2025-07-28 16:47:43,646 - services.data_service:459 - INFO - Product added with ID: 15
  935. 2025-07-28 16:47:43,653 - services.data_service:459 - INFO - Product added with ID: 163
  936. 2025-07-28 16:47:43,661 - services.data_service:459 - INFO - Product added with ID: 12
  937. 2025-07-28 16:47:43,669 - services.data_service:459 - INFO - Product added with ID: 665
  938. 2025-07-28 16:47:43,677 - services.data_service:459 - INFO - Product added with ID: 1
  939. 2025-07-28 16:47:43,685 - services.data_service:459 - INFO - Product added with ID: 655
  940. 2025-07-28 16:47:43,685 - services.data_service:1182 - INFO - Base de datos inicializada correctamente.
  941. 2025-07-28 16:47:43,685 - main:31 - INFO - Servidor corriendo en http://localhost:6001
  942. 2025-07-28 16:47:43,685 - main:35 - INFO - Datos del asistente cargados desde: /home/superti/workspace/pedidos_express/data/llm_data.json
  943. 2025-07-28 16:47:43,686 - routes.orders:83 - INFO - Starting order thread
  944. 2025-07-28 16:47:47,346 - services.data_service:132 - INFO - User added with ID: 1
  945. 2025-07-28 16:47:47,347 - services.email_service:13 - DEBUG - {'name': 'Erwin Jacimino', 'app_name': 'Pedidos Express', 'pin': '8475'}
  946. 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)}
  947. 2025-07-28 16:47:49,472 - auth.security:51 - DEBUG - Token expiration time: 2053-03-03 20:47:49.471983
  948. 2025-07-28 16:47:49,472 - auth.security:38 - DEBUG - Generated token for email erwinjacimino2003@gmail.com: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJlcndpbmphY2ltaW5vMjAwM0BnbWFpbC5jb20iLCJleHAiOjI2MjQ2NDc2Njl9.DyAcCEa4Vm59U26Z6Wins8RcalWXxfuMpu6hzqOw6Qg
  949. 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
  950. 2025-07-28 16:49:23,648 - escpos.capabilities:43 - DEBUG - Capabilities pickle file not found: /tmp/tmpt2bg64v3/3.9.23.capabilities.pickle
  951. 2025-07-28 16:49:23,648 - escpos.capabilities:47 - DEBUG - Loading and pickling capabilities
  952. 2025-07-28 16:49:23,757 - escpos.capabilities:82 - DEBUG - Finished loading capabilities took 0.11s
  953. 2025-07-28 16:49:23,921 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'SafeConfigParser': <class 'configparser.ConfigParser'>
  954. 2025-07-28 16:49:23,921 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'NativeStringIO': <class '_io.StringIO'>
  955. 2025-07-28 16:49:23,921 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'BytesIO': <class '_io.BytesIO'>
  956. 2025-07-28 16:49:23,922 - passlib.registry:296 - DEBUG - registered 'bcrypt' handler: <class 'passlib.handlers.bcrypt.bcrypt'>
  957. 2025-07-28 16:49:23,927 - services.data_service:1109 - INFO - Inicializando base de datos...
  958. 2025-07-28 16:49:23,927 - services.data_service:1110 - INFO - Creando tabla de usuarios...
  959. 2025-07-28 16:49:23,936 - services.data_service:1124 - INFO - Creando tabla de productos...
  960. 2025-07-28 16:49:23,944 - services.data_service:1138 - INFO - Creando tabla de ventas...
  961. 2025-07-28 16:49:23,952 - services.data_service:1152 - INFO - Creando tabla intermedia de venta_productos...
  962. 2025-07-28 16:49:23,960 - services.data_service:1164 - INFO - Creando tabla de blacklist...
  963. 2025-07-28 16:49:23,968 - services.data_service:1173 - INFO - Todas las tablas creadas correctamente.
  964. 2025-07-28 16:49:23,968 - services.data_service:1174 - INFO - Cargando datos de productos desde el archivo JSON...
  965. 2025-07-28 16:49:23,976 - services.data_service:459 - INFO - Product added with ID: 6
  966. 2025-07-28 16:49:23,984 - services.data_service:459 - INFO - Product added with ID: 15
  967. 2025-07-28 16:49:23,994 - services.data_service:459 - INFO - Product added with ID: 163
  968. 2025-07-28 16:49:24,002 - services.data_service:459 - INFO - Product added with ID: 12
  969. 2025-07-28 16:49:24,010 - services.data_service:459 - INFO - Product added with ID: 665
  970. 2025-07-28 16:49:24,018 - services.data_service:459 - INFO - Product added with ID: 1
  971. 2025-07-28 16:49:24,026 - services.data_service:459 - INFO - Product added with ID: 655
  972. 2025-07-28 16:49:24,026 - services.data_service:1182 - INFO - Base de datos inicializada correctamente.
  973. 2025-07-28 16:49:24,026 - main:31 - INFO - Servidor corriendo en http://localhost:6001
  974. 2025-07-28 16:49:24,026 - main:35 - INFO - Datos del asistente cargados desde: /home/superti/workspace/pedidos_express/data/llm_data.json
  975. 2025-07-28 16:49:24,027 - routes.orders:83 - INFO - Starting order thread
  976. 2025-07-28 16:50:40,381 - services.data_service:132 - INFO - User added with ID: 1
  977. 2025-07-28 16:50:40,381 - services.email_service:13 - DEBUG - {'name': 'asda', 'app_name': 'Pedidos Express', 'pin': '5878'}
  978. 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)}
  979. 2025-07-28 16:50:42,494 - auth.security:51 - DEBUG - Token expiration time: 2053-03-03 20:50:42.494360
  980. 2025-07-28 16:50:42,495 - auth.security:38 - DEBUG - Generated token for email erwinjacimino2003@gmail.com: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJlcndpbmphY2ltaW5vMjAwM0BnbWFpbC5jb20iLCJleHAiOjI2MjQ2NDc4NDJ9.qu3jVUPMXDZyN6nCHZMbXhjDAu1KXf84320Y2rFPchI
  981. 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
  982. 2025-07-28 16:50:53,731 - escpos.capabilities:43 - DEBUG - Capabilities pickle file not found: /tmp/tmpinv5o4p6/3.9.23.capabilities.pickle
  983. 2025-07-28 16:50:53,731 - escpos.capabilities:47 - DEBUG - Loading and pickling capabilities
  984. 2025-07-28 16:50:53,839 - escpos.capabilities:82 - DEBUG - Finished loading capabilities took 0.11s
  985. 2025-07-28 16:50:54,003 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'SafeConfigParser': <class 'configparser.ConfigParser'>
  986. 2025-07-28 16:50:54,003 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'NativeStringIO': <class '_io.StringIO'>
  987. 2025-07-28 16:50:54,003 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'BytesIO': <class '_io.BytesIO'>
  988. 2025-07-28 16:50:54,004 - passlib.registry:296 - DEBUG - registered 'bcrypt' handler: <class 'passlib.handlers.bcrypt.bcrypt'>
  989. 2025-07-28 16:50:54,009 - services.data_service:1109 - INFO - Inicializando base de datos...
  990. 2025-07-28 16:50:54,009 - services.data_service:1110 - INFO - Creando tabla de usuarios...
  991. 2025-07-28 16:50:54,022 - services.data_service:1124 - INFO - Creando tabla de productos...
  992. 2025-07-28 16:50:54,029 - services.data_service:1138 - INFO - Creando tabla de ventas...
  993. 2025-07-28 16:50:54,037 - services.data_service:1152 - INFO - Creando tabla intermedia de venta_productos...
  994. 2025-07-28 16:50:54,045 - services.data_service:1164 - INFO - Creando tabla de blacklist...
  995. 2025-07-28 16:50:54,054 - services.data_service:1173 - INFO - Todas las tablas creadas correctamente.
  996. 2025-07-28 16:50:54,054 - services.data_service:1174 - INFO - Cargando datos de productos desde el archivo JSON...
  997. 2025-07-28 16:50:54,062 - services.data_service:459 - INFO - Product added with ID: 6
  998. 2025-07-28 16:50:54,070 - services.data_service:459 - INFO - Product added with ID: 15
  999. 2025-07-28 16:50:54,078 - services.data_service:459 - INFO - Product added with ID: 163
  1000. 2025-07-28 16:50:54,087 - services.data_service:459 - INFO - Product added with ID: 12
  1001. 2025-07-28 16:50:54,094 - services.data_service:459 - INFO - Product added with ID: 665
  1002. 2025-07-28 16:50:54,103 - services.data_service:459 - INFO - Product added with ID: 1
  1003. 2025-07-28 16:50:54,111 - services.data_service:459 - INFO - Product added with ID: 655
  1004. 2025-07-28 16:50:54,111 - services.data_service:1182 - INFO - Base de datos inicializada correctamente.
  1005. 2025-07-28 16:50:54,111 - main:31 - INFO - Servidor corriendo en http://localhost:6001
  1006. 2025-07-28 16:50:54,111 - main:35 - INFO - Datos del asistente cargados desde: /home/superti/workspace/pedidos_express/data/llm_data.json
  1007. 2025-07-28 16:50:54,111 - routes.orders:83 - INFO - Starting order thread
  1008. 2025-07-28 16:51:53,177 - services.data_service:132 - INFO - User added with ID: 1
  1009. 2025-07-28 16:51:53,177 - services.email_service:13 - DEBUG - {'name': 'Erwin Jacimino', 'app_name': 'Pedidos Express', 'pin': '3096'}
  1010. 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)}
  1011. 2025-07-28 16:51:55,245 - auth.security:51 - DEBUG - Token expiration time: 2053-03-03 20:51:55.245095
  1012. 2025-07-28 16:51:55,245 - auth.security:38 - DEBUG - Generated token for email erwinjacimino2003@gmail.com: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJlcndpbmphY2ltaW5vMjAwM0BnbWFpbC5jb20iLCJleHAiOjI2MjQ2NDc5MTV9.q_D6ohzkHftfiqz7ZpUKonwa4tBQxZHV_GzEJZa9sFs
  1013. 2025-07-28 16:52:42,576 - routes.users:65 - DEBUG - Login attempt for email: erwinjacimino2003@gmail.com
  1014. 2025-07-28 16:52:42,577 - routes.users:66 - DEBUG - Login request: 3096
  1015. 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')
  1016. 2025-07-28 16:52:42,577 - services.data_service:206 - INFO - User erwinjacimino2003@gmail.com logged in successfully.
  1017. 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)}
  1018. 2025-07-28 16:52:42,577 - auth.security:51 - DEBUG - Token expiration time: 2053-03-03 20:52:42.577813
  1019. 2025-07-28 16:52:42,577 - auth.security:38 - DEBUG - Generated token for email erwinjacimino2003@gmail.com: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJlcndpbmphY2ltaW5vMjAwM0BnbWFpbC5jb20iLCJleHAiOjI2MjQ2NDc5NjJ9.seljxWErpSngmWb7rXWwOisXkCmSvrXhVmWGpptmu54
  1020. 2025-07-28 16:52:42,581 - auth.security:70 - DEBUG - Decoding token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJlcndpbmphY2ltaW5vMjAwM0BnbWFpbC5jb20iLCJleHAiOjI2MjQ2NDc5NjJ9.seljxWErpSngmWb7rXWwOisXkCmSvrXhVmWGpptmu54
  1021. 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')
  1022. 2025-07-28 16:52:42,581 - routes.products:16 - DEBUG - Current user: erwinjacimino2003@gmail.com
  1023. 2025-07-28 16:52:42,581 - routes.products:17 - INFO - Fetching all products
  1024. 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
  1025. 2025-07-28 18:23:02,921 - escpos.capabilities:43 - DEBUG - Capabilities pickle file not found: /tmp/tmpugvbawqk/3.9.23.capabilities.pickle
  1026. 2025-07-28 18:23:02,921 - escpos.capabilities:47 - DEBUG - Loading and pickling capabilities
  1027. 2025-07-28 18:23:03,026 - escpos.capabilities:82 - DEBUG - Finished loading capabilities took 0.11s
  1028. 2025-07-28 18:23:03,187 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'SafeConfigParser': <class 'configparser.ConfigParser'>
  1029. 2025-07-28 18:23:03,187 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'NativeStringIO': <class '_io.StringIO'>
  1030. 2025-07-28 18:23:03,187 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'BytesIO': <class '_io.BytesIO'>
  1031. 2025-07-28 18:23:03,189 - passlib.registry:296 - DEBUG - registered 'bcrypt' handler: <class 'passlib.handlers.bcrypt.bcrypt'>
  1032. 2025-07-28 18:23:03,194 - services.data_service:1103 - INFO - Base de datos ya existe, no se necesita inicializar.
  1033. 2025-07-28 18:23:03,194 - main:31 - INFO - Servidor corriendo en http://localhost:6001
  1034. 2025-07-28 18:23:03,194 - main:35 - INFO - Datos del asistente cargados desde: /home/superti/workspace/pedidos_express/data/llm_data.json
  1035. 2025-07-28 18:23:03,194 - routes.orders:83 - INFO - Starting order thread
  1036. 2025-07-28 18:23:31,892 - routes.users:61 - DEBUG - Login attempt for email: erwinjacimino2003@gmail.com
  1037. 2025-07-28 18:23:31,893 - routes.users:62 - DEBUG - Login request: 3096
  1038. 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')
  1039. 2025-07-28 18:23:31,894 - services.data_service:206 - INFO - User erwinjacimino2003@gmail.com logged in successfully.
  1040. 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)}
  1041. 2025-07-28 18:23:31,894 - auth.security:51 - DEBUG - Token expiration time: 2053-03-03 22:23:31.894340
  1042. 2025-07-28 18:23:31,894 - auth.security:38 - DEBUG - Generated token for email erwinjacimino2003@gmail.com: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJlcndpbmphY2ltaW5vMjAwM0BnbWFpbC5jb20iLCJleHAiOjI2MjQ2NTM0MTF9.4g8xnmOppVNxhlntepQShOfted25S3f8c636Ml0To2g
  1043. 2025-07-28 18:23:31,905 - auth.security:70 - DEBUG - Decoding token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJlcndpbmphY2ltaW5vMjAwM0BnbWFpbC5jb20iLCJleHAiOjI2MjQ2NTM0MTF9.4g8xnmOppVNxhlntepQShOfted25S3f8c636Ml0To2g
  1044. 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')
  1045. 2025-07-28 18:23:31,906 - routes.products:16 - DEBUG - Current user: erwinjacimino2003@gmail.com
  1046. 2025-07-28 18:23:31,906 - routes.products:17 - INFO - Fetching all products
  1047. 2025-07-28 18:23:39,957 - auth.security:70 - DEBUG - Decoding token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJlcndpbmphY2ltaW5vMjAwM0BnbWFpbC5jb20iLCJleHAiOjI2MjQ2NTM0MTF9.4g8xnmOppVNxhlntepQShOfted25S3f8c636Ml0To2g
  1048. 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')
  1049. 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'}]
  1050. 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']}}}]}}
  1051. 2025-07-28 18:23:40,093 - openai._base_client:975 - DEBUG - Sending HTTP Request: POST https://api.openai.com/v1/chat/completions
  1052. 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
  1053. 2025-07-28 18:23:40,262 - httpcore.connection:47 - DEBUG - connect_tcp.complete return_value=<httpcore._backends.sync.SyncStream object at 0x7f831c961820>
  1054. 2025-07-28 18:23:40,262 - httpcore.connection:47 - DEBUG - start_tls.started ssl_context=<ssl.SSLContext object at 0x7f83262796c0> server_hostname='api.openai.com' timeout=5.0
  1055. 2025-07-28 18:23:40,279 - httpcore.connection:47 - DEBUG - start_tls.complete return_value=<httpcore._backends.sync.SyncStream object at 0x7f831c9615b0>
  1056. 2025-07-28 18:23:40,279 - httpcore.http11:47 - DEBUG - send_request_headers.started request=<Request [b'POST']>
  1057. 2025-07-28 18:23:40,279 - httpcore.http11:47 - DEBUG - send_request_headers.complete
  1058. 2025-07-28 18:23:40,279 - httpcore.http11:47 - DEBUG - send_request_body.started request=<Request [b'POST']>
  1059. 2025-07-28 18:23:40,279 - httpcore.http11:47 - DEBUG - send_request_body.complete
  1060. 2025-07-28 18:23:40,279 - httpcore.http11:47 - DEBUG - receive_response_headers.started request=<Request [b'POST']>
  1061. 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')])
  1062. 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"
  1063. 2025-07-28 18:23:43,243 - httpcore.http11:47 - DEBUG - receive_response_body.started request=<Request [b'POST']>
  1064. 2025-07-28 18:23:43,243 - httpcore.http11:47 - DEBUG - receive_response_body.complete
  1065. 2025-07-28 18:23:43,243 - httpcore.http11:47 - DEBUG - response_closed.started
  1066. 2025-07-28 18:23:43,243 - httpcore.http11:47 - DEBUG - response_closed.complete
  1067. 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')])
  1068. 2025-07-28 18:23:43,244 - openai._base_client:1021 - DEBUG - request_id: 0946302f-2e66-4ed2-86e7-29ea02e222d1
  1069. 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
  1070. 2025-07-28 18:25:23,420 - escpos.capabilities:43 - DEBUG - Capabilities pickle file not found: /tmp/tmp9wxfb_3f/3.9.23.capabilities.pickle
  1071. 2025-07-28 18:25:23,420 - escpos.capabilities:47 - DEBUG - Loading and pickling capabilities
  1072. 2025-07-28 18:25:23,528 - escpos.capabilities:82 - DEBUG - Finished loading capabilities took 0.11s
  1073. 2025-07-28 18:25:23,690 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'SafeConfigParser': <class 'configparser.ConfigParser'>
  1074. 2025-07-28 18:25:23,690 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'NativeStringIO': <class '_io.StringIO'>
  1075. 2025-07-28 18:25:23,690 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'BytesIO': <class '_io.BytesIO'>
  1076. 2025-07-28 18:25:23,692 - passlib.registry:296 - DEBUG - registered 'bcrypt' handler: <class 'passlib.handlers.bcrypt.bcrypt'>
  1077. 2025-07-28 18:25:23,697 - services.data_service:1103 - INFO - Base de datos ya existe, no se necesita inicializar.
  1078. 2025-07-28 18:25:23,697 - main:31 - INFO - Servidor corriendo en http://localhost:6001
  1079. 2025-07-28 18:25:23,697 - main:35 - INFO - Datos del asistente cargados desde: /home/superti/workspace/pedidos_express/data/llm_data.json
  1080. 2025-07-28 18:25:23,697 - routes.orders:83 - INFO - Starting order thread
  1081. 2025-07-28 18:25:30,853 - auth.security:70 - DEBUG - Decoding token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJlcndpbmphY2ltaW5vMjAwM0BnbWFpbC5jb20iLCJleHAiOjI2MjQ2NTM0MTF9.4g8xnmOppVNxhlntepQShOfted25S3f8c636Ml0To2g
  1082. 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')
  1083. 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'}]
  1084. 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']}}}]}}
  1085. 2025-07-28 18:25:30,949 - openai._base_client:975 - DEBUG - Sending HTTP Request: POST https://api.openai.com/v1/chat/completions
  1086. 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
  1087. 2025-07-28 18:25:30,981 - httpcore.connection:47 - DEBUG - connect_tcp.complete return_value=<httpcore._backends.sync.SyncStream object at 0x7fa362b887f0>
  1088. 2025-07-28 18:25:30,981 - httpcore.connection:47 - DEBUG - start_tls.started ssl_context=<ssl.SSLContext object at 0x7fa36abb88c0> server_hostname='api.openai.com' timeout=5.0
  1089. 2025-07-28 18:25:30,997 - httpcore.connection:47 - DEBUG - start_tls.complete return_value=<httpcore._backends.sync.SyncStream object at 0x7fa362b88580>
  1090. 2025-07-28 18:25:30,998 - httpcore.http11:47 - DEBUG - send_request_headers.started request=<Request [b'POST']>
  1091. 2025-07-28 18:25:30,998 - httpcore.http11:47 - DEBUG - send_request_headers.complete
  1092. 2025-07-28 18:25:30,998 - httpcore.http11:47 - DEBUG - send_request_body.started request=<Request [b'POST']>
  1093. 2025-07-28 18:25:30,998 - httpcore.http11:47 - DEBUG - send_request_body.complete
  1094. 2025-07-28 18:25:30,998 - httpcore.http11:47 - DEBUG - receive_response_headers.started request=<Request [b'POST']>
  1095. 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')])
  1096. 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"
  1097. 2025-07-28 18:25:33,318 - httpcore.http11:47 - DEBUG - receive_response_body.started request=<Request [b'POST']>
  1098. 2025-07-28 18:25:33,325 - httpcore.http11:47 - DEBUG - receive_response_body.complete
  1099. 2025-07-28 18:25:33,325 - httpcore.http11:47 - DEBUG - response_closed.started
  1100. 2025-07-28 18:25:33,325 - httpcore.http11:47 - DEBUG - response_closed.complete
  1101. 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')])
  1102. 2025-07-28 18:25:33,325 - openai._base_client:1021 - DEBUG - request_id: req_14a2b632096a171744c8ffd780b95ed3
  1103. 2025-07-28 18:26:04,757 - auth.security:70 - DEBUG - Decoding token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJlcndpbmphY2ltaW5vMjAwM0BnbWFpbC5jb20iLCJleHAiOjI2MjQ2NTM0MTF9.4g8xnmOppVNxhlntepQShOfted25S3f8c636Ml0To2g
  1104. 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')
  1105. 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'}]
  1106. 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']}}}]}}
  1107. 2025-07-28 18:26:04,759 - openai._base_client:975 - DEBUG - Sending HTTP Request: POST https://api.openai.com/v1/chat/completions
  1108. 2025-07-28 18:26:04,759 - httpcore.connection:47 - DEBUG - close.started
  1109. 2025-07-28 18:26:04,759 - httpcore.connection:47 - DEBUG - close.complete
  1110. 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
  1111. 2025-07-28 18:26:04,920 - httpcore.connection:47 - DEBUG - connect_tcp.complete return_value=<httpcore._backends.sync.SyncStream object at 0x7fa362ad8400>
  1112. 2025-07-28 18:26:04,921 - httpcore.connection:47 - DEBUG - start_tls.started ssl_context=<ssl.SSLContext object at 0x7fa36abb88c0> server_hostname='api.openai.com' timeout=5.0
  1113. 2025-07-28 18:26:04,939 - httpcore.connection:47 - DEBUG - start_tls.complete return_value=<httpcore._backends.sync.SyncStream object at 0x7fa362ac2af0>
  1114. 2025-07-28 18:26:04,939 - httpcore.http11:47 - DEBUG - send_request_headers.started request=<Request [b'POST']>
  1115. 2025-07-28 18:26:04,939 - httpcore.http11:47 - DEBUG - send_request_headers.complete
  1116. 2025-07-28 18:26:04,939 - httpcore.http11:47 - DEBUG - send_request_body.started request=<Request [b'POST']>
  1117. 2025-07-28 18:26:04,939 - httpcore.http11:47 - DEBUG - send_request_body.complete
  1118. 2025-07-28 18:26:04,939 - httpcore.http11:47 - DEBUG - receive_response_headers.started request=<Request [b'POST']>
  1119. 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')])
  1120. 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"
  1121. 2025-07-28 18:26:06,207 - httpcore.http11:47 - DEBUG - receive_response_body.started request=<Request [b'POST']>
  1122. 2025-07-28 18:26:06,207 - httpcore.http11:47 - DEBUG - receive_response_body.complete
  1123. 2025-07-28 18:26:06,207 - httpcore.http11:47 - DEBUG - response_closed.started
  1124. 2025-07-28 18:26:06,207 - httpcore.http11:47 - DEBUG - response_closed.complete
  1125. 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'})
  1126. 2025-07-28 18:26:06,207 - openai._base_client:1021 - DEBUG - request_id: req_f6acbc46766001f8657da980c1a7fb04
  1127. 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')]
  1128. 2025-07-28 18:29:24,938 - httpcore.connection:47 - DEBUG - close.started
  1129. 2025-07-28 18:29:24,938 - httpcore.connection:47 - DEBUG - close.complete
  1130. 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
  1131. 2025-07-28 18:29:26,554 - escpos.capabilities:43 - DEBUG - Capabilities pickle file not found: /tmp/tmphd0437ss/3.9.23.capabilities.pickle
  1132. 2025-07-28 18:29:26,554 - escpos.capabilities:47 - DEBUG - Loading and pickling capabilities
  1133. 2025-07-28 18:29:26,662 - escpos.capabilities:82 - DEBUG - Finished loading capabilities took 0.11s
  1134. 2025-07-28 18:29:26,826 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'SafeConfigParser': <class 'configparser.ConfigParser'>
  1135. 2025-07-28 18:29:26,826 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'NativeStringIO': <class '_io.StringIO'>
  1136. 2025-07-28 18:29:26,826 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'BytesIO': <class '_io.BytesIO'>
  1137. 2025-07-28 18:29:26,827 - passlib.registry:296 - DEBUG - registered 'bcrypt' handler: <class 'passlib.handlers.bcrypt.bcrypt'>
  1138. 2025-07-28 18:29:26,831 - services.data_service:1103 - INFO - Base de datos ya existe, no se necesita inicializar.
  1139. 2025-07-28 18:29:26,831 - main:31 - INFO - Servidor corriendo en http://localhost:6001
  1140. 2025-07-28 18:29:26,831 - main:35 - INFO - Datos del asistente cargados desde: /home/superti/workspace/pedidos_express/data/llm_data.json
  1141. 2025-07-28 18:29:26,832 - routes.orders:83 - INFO - Starting order thread
  1142. 2025-07-28 18:29:42,325 - auth.security:70 - DEBUG - Decoding token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJlcndpbmphY2ltaW5vMjAwM0BnbWFpbC5jb20iLCJleHAiOjI2MjQ2NTM0MTF9.4g8xnmOppVNxhlntepQShOfted25S3f8c636Ml0To2g
  1143. 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')
  1144. 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'}]
  1145. 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']}}}]}}
  1146. 2025-07-28 18:29:42,419 - openai._base_client:975 - DEBUG - Sending HTTP Request: POST https://api.openai.com/v1/chat/completions
  1147. 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
  1148. 2025-07-28 18:29:42,512 - httpcore.connection:47 - DEBUG - connect_tcp.complete return_value=<httpcore._backends.sync.SyncStream object at 0x7faf1dbec7f0>
  1149. 2025-07-28 18:29:42,512 - httpcore.connection:47 - DEBUG - start_tls.started ssl_context=<ssl.SSLContext object at 0x7faf2798c8c0> server_hostname='api.openai.com' timeout=5.0
  1150. 2025-07-28 18:29:42,531 - httpcore.connection:47 - DEBUG - start_tls.complete return_value=<httpcore._backends.sync.SyncStream object at 0x7faf1dbec580>
  1151. 2025-07-28 18:29:42,531 - httpcore.http11:47 - DEBUG - send_request_headers.started request=<Request [b'POST']>
  1152. 2025-07-28 18:29:42,531 - httpcore.http11:47 - DEBUG - send_request_headers.complete
  1153. 2025-07-28 18:29:42,531 - httpcore.http11:47 - DEBUG - send_request_body.started request=<Request [b'POST']>
  1154. 2025-07-28 18:29:42,531 - httpcore.http11:47 - DEBUG - send_request_body.complete
  1155. 2025-07-28 18:29:42,531 - httpcore.http11:47 - DEBUG - receive_response_headers.started request=<Request [b'POST']>
  1156. 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')])
  1157. 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"
  1158. 2025-07-28 18:29:43,853 - httpcore.http11:47 - DEBUG - receive_response_body.started request=<Request [b'POST']>
  1159. 2025-07-28 18:29:43,853 - httpcore.http11:47 - DEBUG - receive_response_body.complete
  1160. 2025-07-28 18:29:43,853 - httpcore.http11:47 - DEBUG - response_closed.started
  1161. 2025-07-28 18:29:43,853 - httpcore.http11:47 - DEBUG - response_closed.complete
  1162. 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')])
  1163. 2025-07-28 18:29:43,854 - openai._base_client:1021 - DEBUG - request_id: req_0c3ea37b706c0f4c2830c0ea5c8cb804
  1164. 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')]
  1165. 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ó.'}
  1166. 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'
  1167. 2025-07-28 18:30:44,393 - httpcore.connection:47 - DEBUG - close.started
  1168. 2025-07-28 18:30:44,393 - httpcore.connection:47 - DEBUG - close.complete
  1169. 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
  1170. 2025-07-28 18:30:45,312 - escpos.capabilities:43 - DEBUG - Capabilities pickle file not found: /tmp/tmpj6kozx6v/3.9.23.capabilities.pickle
  1171. 2025-07-28 18:30:45,312 - escpos.capabilities:47 - DEBUG - Loading and pickling capabilities
  1172. 2025-07-28 18:30:45,435 - escpos.capabilities:82 - DEBUG - Finished loading capabilities took 0.12s
  1173. 2025-07-28 18:30:45,603 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'SafeConfigParser': <class 'configparser.ConfigParser'>
  1174. 2025-07-28 18:30:45,603 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'NativeStringIO': <class '_io.StringIO'>
  1175. 2025-07-28 18:30:45,603 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'BytesIO': <class '_io.BytesIO'>
  1176. 2025-07-28 18:30:45,604 - passlib.registry:296 - DEBUG - registered 'bcrypt' handler: <class 'passlib.handlers.bcrypt.bcrypt'>
  1177. 2025-07-28 18:30:45,609 - services.data_service:1103 - INFO - Base de datos ya existe, no se necesita inicializar.
  1178. 2025-07-28 18:30:45,609 - main:31 - INFO - Servidor corriendo en http://localhost:6001
  1179. 2025-07-28 18:30:45,609 - main:35 - INFO - Datos del asistente cargados desde: /home/superti/workspace/pedidos_express/data/llm_data.json
  1180. 2025-07-28 18:30:45,609 - routes.orders:83 - INFO - Starting order thread
  1181. 2025-07-28 18:30:51,110 - auth.security:70 - DEBUG - Decoding token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJlcndpbmphY2ltaW5vMjAwM0BnbWFpbC5jb20iLCJleHAiOjI2MjQ2NTM0MTF9.4g8xnmOppVNxhlntepQShOfted25S3f8c636Ml0To2g
  1182. 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')
  1183. 2025-07-28 18:30:51,113 - routes.chat:28 - ERROR - Unexpected error in /api/chat/completions: 'User' object has no attribute 'name'
  1184. 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
  1185. 2025-07-28 18:31:21,879 - escpos.capabilities:43 - DEBUG - Capabilities pickle file not found: /tmp/tmp5pegzu8a/3.9.23.capabilities.pickle
  1186. 2025-07-28 18:31:21,879 - escpos.capabilities:47 - DEBUG - Loading and pickling capabilities
  1187. 2025-07-28 18:31:21,997 - escpos.capabilities:82 - DEBUG - Finished loading capabilities took 0.12s
  1188. 2025-07-28 18:31:22,164 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'SafeConfigParser': <class 'configparser.ConfigParser'>
  1189. 2025-07-28 18:31:22,164 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'NativeStringIO': <class '_io.StringIO'>
  1190. 2025-07-28 18:31:22,164 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'BytesIO': <class '_io.BytesIO'>
  1191. 2025-07-28 18:31:22,165 - passlib.registry:296 - DEBUG - registered 'bcrypt' handler: <class 'passlib.handlers.bcrypt.bcrypt'>
  1192. 2025-07-28 18:31:22,170 - services.data_service:1103 - INFO - Base de datos ya existe, no se necesita inicializar.
  1193. 2025-07-28 18:31:22,170 - main:31 - INFO - Servidor corriendo en http://localhost:6001
  1194. 2025-07-28 18:31:22,170 - main:35 - INFO - Datos del asistente cargados desde: /home/superti/workspace/pedidos_express/data/llm_data.json
  1195. 2025-07-28 18:31:22,170 - routes.orders:83 - INFO - Starting order thread
  1196. 2025-07-28 18:31:25,205 - auth.security:70 - DEBUG - Decoding token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJlcndpbmphY2ltaW5vMjAwM0BnbWFpbC5jb20iLCJleHAiOjI2MjQ2NTM0MTF9.4g8xnmOppVNxhlntepQShOfted25S3f8c636Ml0To2g
  1197. 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')
  1198. 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'}]
  1199. 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']}}}]}}
  1200. 2025-07-28 18:31:25,294 - openai._base_client:975 - DEBUG - Sending HTTP Request: POST https://api.openai.com/v1/chat/completions
  1201. 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
  1202. 2025-07-28 18:31:25,349 - httpcore.connection:47 - DEBUG - connect_tcp.complete return_value=<httpcore._backends.sync.SyncStream object at 0x7f289de64a00>
  1203. 2025-07-28 18:31:25,349 - httpcore.connection:47 - DEBUG - start_tls.started ssl_context=<ssl.SSLContext object at 0x7f28a5e7c8c0> server_hostname='api.openai.com' timeout=5.0
  1204. 2025-07-28 18:31:25,367 - httpcore.connection:47 - DEBUG - start_tls.complete return_value=<httpcore._backends.sync.SyncStream object at 0x7f289de64790>
  1205. 2025-07-28 18:31:25,367 - httpcore.http11:47 - DEBUG - send_request_headers.started request=<Request [b'POST']>
  1206. 2025-07-28 18:31:25,368 - httpcore.http11:47 - DEBUG - send_request_headers.complete
  1207. 2025-07-28 18:31:25,368 - httpcore.http11:47 - DEBUG - send_request_body.started request=<Request [b'POST']>
  1208. 2025-07-28 18:31:25,368 - httpcore.http11:47 - DEBUG - send_request_body.complete
  1209. 2025-07-28 18:31:25,368 - httpcore.http11:47 - DEBUG - receive_response_headers.started request=<Request [b'POST']>
  1210. 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')])
  1211. 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"
  1212. 2025-07-28 18:31:27,530 - httpcore.http11:47 - DEBUG - receive_response_body.started request=<Request [b'POST']>
  1213. 2025-07-28 18:31:27,535 - httpcore.http11:47 - DEBUG - receive_response_body.complete
  1214. 2025-07-28 18:31:27,535 - httpcore.http11:47 - DEBUG - response_closed.started
  1215. 2025-07-28 18:31:27,535 - httpcore.http11:47 - DEBUG - response_closed.complete
  1216. 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')])
  1217. 2025-07-28 18:31:27,535 - openai._base_client:1021 - DEBUG - request_id: 89d67dd7-6b1a-4d5e-9378-7eb39aa62dbb
  1218. 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')]
  1219. 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.'}
  1220. 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'
  1221. 2025-07-28 18:32:28,289 - httpcore.connection:47 - DEBUG - close.started
  1222. 2025-07-28 18:32:28,289 - httpcore.connection:47 - DEBUG - close.complete
  1223. 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
  1224. 2025-07-28 18:32:32,467 - escpos.capabilities:43 - DEBUG - Capabilities pickle file not found: /tmp/tmp7adn_nlj/3.9.23.capabilities.pickle
  1225. 2025-07-28 18:32:32,467 - escpos.capabilities:47 - DEBUG - Loading and pickling capabilities
  1226. 2025-07-28 18:32:32,571 - escpos.capabilities:82 - DEBUG - Finished loading capabilities took 0.10s
  1227. 2025-07-28 18:32:32,731 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'SafeConfigParser': <class 'configparser.ConfigParser'>
  1228. 2025-07-28 18:32:32,731 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'NativeStringIO': <class '_io.StringIO'>
  1229. 2025-07-28 18:32:32,731 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'BytesIO': <class '_io.BytesIO'>
  1230. 2025-07-28 18:32:32,732 - passlib.registry:296 - DEBUG - registered 'bcrypt' handler: <class 'passlib.handlers.bcrypt.bcrypt'>
  1231. 2025-07-28 18:32:32,736 - services.data_service:1103 - INFO - Base de datos ya existe, no se necesita inicializar.
  1232. 2025-07-28 18:32:32,736 - main:31 - INFO - Servidor corriendo en http://localhost:6001
  1233. 2025-07-28 18:32:32,737 - main:35 - INFO - Datos del asistente cargados desde: /home/superti/workspace/pedidos_express/data/llm_data.json
  1234. 2025-07-28 18:32:32,737 - routes.orders:83 - INFO - Starting order thread
  1235. 2025-07-28 18:32:35,109 - auth.security:70 - DEBUG - Decoding token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJlcndpbmphY2ltaW5vMjAwM0BnbWFpbC5jb20iLCJleHAiOjI2MjQ2NTM0MTF9.4g8xnmOppVNxhlntepQShOfted25S3f8c636Ml0To2g
  1236. 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')
  1237. 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'}]
  1238. 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']}}}]}}
  1239. 2025-07-28 18:32:35,200 - openai._base_client:975 - DEBUG - Sending HTTP Request: POST https://api.openai.com/v1/chat/completions
  1240. 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
  1241. 2025-07-28 18:32:35,368 - httpcore.connection:47 - DEBUG - connect_tcp.complete return_value=<httpcore._backends.sync.SyncStream object at 0x7f7652b7fa00>
  1242. 2025-07-28 18:32:35,368 - httpcore.connection:47 - DEBUG - start_tls.started ssl_context=<ssl.SSLContext object at 0x7f765abbc8c0> server_hostname='api.openai.com' timeout=5.0
  1243. 2025-07-28 18:32:35,391 - httpcore.connection:47 - DEBUG - start_tls.complete return_value=<httpcore._backends.sync.SyncStream object at 0x7f7652b7f790>
  1244. 2025-07-28 18:32:35,391 - httpcore.http11:47 - DEBUG - send_request_headers.started request=<Request [b'POST']>
  1245. 2025-07-28 18:32:35,392 - httpcore.http11:47 - DEBUG - send_request_headers.complete
  1246. 2025-07-28 18:32:35,392 - httpcore.http11:47 - DEBUG - send_request_body.started request=<Request [b'POST']>
  1247. 2025-07-28 18:32:35,392 - httpcore.http11:47 - DEBUG - send_request_body.complete
  1248. 2025-07-28 18:32:35,392 - httpcore.http11:47 - DEBUG - receive_response_headers.started request=<Request [b'POST']>
  1249. 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')])
  1250. 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"
  1251. 2025-07-28 18:32:36,692 - httpcore.http11:47 - DEBUG - receive_response_body.started request=<Request [b'POST']>
  1252. 2025-07-28 18:32:36,698 - httpcore.http11:47 - DEBUG - receive_response_body.complete
  1253. 2025-07-28 18:32:36,698 - httpcore.http11:47 - DEBUG - response_closed.started
  1254. 2025-07-28 18:32:36,698 - httpcore.http11:47 - DEBUG - response_closed.complete
  1255. 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')])
  1256. 2025-07-28 18:32:36,698 - openai._base_client:1021 - DEBUG - request_id: cb43cb75-533a-431c-b90a-c0d867d1e0ff
  1257. 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')]
  1258. 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.'}
  1259. 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 :)
  1260. 2025-07-28 18:32:59,024 - httpcore.connection:47 - DEBUG - close.started
  1261. 2025-07-28 18:32:59,025 - httpcore.connection:47 - DEBUG - close.complete
  1262. 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
  1263. 2025-07-28 18:32:59,840 - escpos.capabilities:43 - DEBUG - Capabilities pickle file not found: /tmp/tmpww0bwfsd/3.9.23.capabilities.pickle
  1264. 2025-07-28 18:32:59,840 - escpos.capabilities:47 - DEBUG - Loading and pickling capabilities
  1265. 2025-07-28 18:32:59,965 - escpos.capabilities:82 - DEBUG - Finished loading capabilities took 0.13s
  1266. 2025-07-28 18:33:00,142 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'SafeConfigParser': <class 'configparser.ConfigParser'>
  1267. 2025-07-28 18:33:00,143 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'NativeStringIO': <class '_io.StringIO'>
  1268. 2025-07-28 18:33:00,143 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'BytesIO': <class '_io.BytesIO'>
  1269. 2025-07-28 18:33:00,144 - passlib.registry:296 - DEBUG - registered 'bcrypt' handler: <class 'passlib.handlers.bcrypt.bcrypt'>
  1270. 2025-07-28 18:33:00,148 - services.data_service:1103 - INFO - Base de datos ya existe, no se necesita inicializar.
  1271. 2025-07-28 18:33:00,148 - main:31 - INFO - Servidor corriendo en http://localhost:6001
  1272. 2025-07-28 18:33:00,148 - main:35 - INFO - Datos del asistente cargados desde: /home/superti/workspace/pedidos_express/data/llm_data.json
  1273. 2025-07-28 18:33:00,149 - routes.orders:83 - INFO - Starting order thread
  1274. 2025-07-28 18:33:02,549 - auth.security:70 - DEBUG - Decoding token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJlcndpbmphY2ltaW5vMjAwM0BnbWFpbC5jb20iLCJleHAiOjI2MjQ2NTM0MTF9.4g8xnmOppVNxhlntepQShOfted25S3f8c636Ml0To2g
  1275. 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')
  1276. 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'}]
  1277. 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']}}}]}}
  1278. 2025-07-28 18:33:02,637 - openai._base_client:975 - DEBUG - Sending HTTP Request: POST https://api.openai.com/v1/chat/completions
  1279. 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
  1280. 2025-07-28 18:33:02,652 - httpcore.connection:47 - DEBUG - connect_tcp.complete return_value=<httpcore._backends.sync.SyncStream object at 0x7f2db40859d0>
  1281. 2025-07-28 18:33:02,652 - httpcore.connection:47 - DEBUG - start_tls.started ssl_context=<ssl.SSLContext object at 0x7f2db70bc840> server_hostname='api.openai.com' timeout=5.0
  1282. 2025-07-28 18:33:02,671 - httpcore.connection:47 - DEBUG - start_tls.complete return_value=<httpcore._backends.sync.SyncStream object at 0x7f2db4085760>
  1283. 2025-07-28 18:33:02,671 - httpcore.http11:47 - DEBUG - send_request_headers.started request=<Request [b'POST']>
  1284. 2025-07-28 18:33:02,671 - httpcore.http11:47 - DEBUG - send_request_headers.complete
  1285. 2025-07-28 18:33:02,671 - httpcore.http11:47 - DEBUG - send_request_body.started request=<Request [b'POST']>
  1286. 2025-07-28 18:33:02,671 - httpcore.http11:47 - DEBUG - send_request_body.complete
  1287. 2025-07-28 18:33:02,671 - httpcore.http11:47 - DEBUG - receive_response_headers.started request=<Request [b'POST']>
  1288. 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')])
  1289. 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"
  1290. 2025-07-28 18:33:04,339 - httpcore.http11:47 - DEBUG - receive_response_body.started request=<Request [b'POST']>
  1291. 2025-07-28 18:33:04,344 - httpcore.http11:47 - DEBUG - receive_response_body.complete
  1292. 2025-07-28 18:33:04,344 - httpcore.http11:47 - DEBUG - response_closed.started
  1293. 2025-07-28 18:33:04,344 - httpcore.http11:47 - DEBUG - response_closed.complete
  1294. 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')])
  1295. 2025-07-28 18:33:04,344 - openai._base_client:1021 - DEBUG - request_id: req_d0e2ccf72605cc23488aed568ef49a56
  1296. 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')]
  1297. 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.'}
  1298. 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 :)
  1299. 2025-07-28 18:33:21,355 - httpcore.connection:47 - DEBUG - close.started
  1300. 2025-07-28 18:33:21,355 - httpcore.connection:47 - DEBUG - close.complete
  1301. 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
  1302. 2025-07-28 18:33:26,195 - escpos.capabilities:43 - DEBUG - Capabilities pickle file not found: /tmp/tmpcgji3kuw/3.9.23.capabilities.pickle
  1303. 2025-07-28 18:33:26,195 - escpos.capabilities:47 - DEBUG - Loading and pickling capabilities
  1304. 2025-07-28 18:33:26,302 - escpos.capabilities:82 - DEBUG - Finished loading capabilities took 0.11s
  1305. 2025-07-28 18:33:26,464 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'SafeConfigParser': <class 'configparser.ConfigParser'>
  1306. 2025-07-28 18:33:26,464 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'NativeStringIO': <class '_io.StringIO'>
  1307. 2025-07-28 18:33:26,464 - passlib.utils.compat:449 - DEBUG - loaded lazy attr 'BytesIO': <class '_io.BytesIO'>
  1308. 2025-07-28 18:33:26,465 - passlib.registry:296 - DEBUG - registered 'bcrypt' handler: <class 'passlib.handlers.bcrypt.bcrypt'>
  1309. 2025-07-28 18:33:26,469 - services.data_service:1103 - INFO - Base de datos ya existe, no se necesita inicializar.
  1310. 2025-07-28 18:33:26,470 - main:31 - INFO - Servidor corriendo en http://localhost:6001
  1311. 2025-07-28 18:33:26,470 - main:35 - INFO - Datos del asistente cargados desde: /home/superti/workspace/pedidos_express/data/llm_data.json
  1312. 2025-07-28 18:33:26,470 - routes.orders:83 - INFO - Starting order thread
  1313. 2025-07-28 18:33:48,805 - routes.users:61 - DEBUG - Login attempt for email: erwinjacimino2003@gmail.com
  1314. 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')
  1315. 2025-07-28 18:33:48,807 - services.data_service:206 - INFO - User erwinjacimino2003@gmail.com logged in successfully.
  1316. 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)}
  1317. 2025-07-28 18:33:48,807 - auth.security:51 - DEBUG - Token expiration time: 2053-03-03 22:33:48.807296
  1318. 2025-07-28 18:33:48,807 - auth.security:38 - DEBUG - Generated token for email erwinjacimino2003@gmail.com: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJlcndpbmphY2ltaW5vMjAwM0BnbWFpbC5jb20iLCJleHAiOjI2MjQ2NTQwMjh9.-uaa6dFXxB4d30PDKJkDtgZ__E_nvt2VVbzqR5TB8_M
  1319. 2025-07-28 18:33:48,814 - auth.security:70 - DEBUG - Decoding token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJlcndpbmphY2ltaW5vMjAwM0BnbWFpbC5jb20iLCJleHAiOjI2MjQ2NTQwMjh9.-uaa6dFXxB4d30PDKJkDtgZ__E_nvt2VVbzqR5TB8_M
  1320. 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')
  1321. 2025-07-28 18:33:48,815 - routes.products:16 - DEBUG - Current user: erwinjacimino2003@gmail.com
  1322. 2025-07-28 18:33:48,815 - routes.products:17 - INFO - Fetching all products
  1323. 2025-07-28 18:34:02,542 - auth.security:70 - DEBUG - Decoding token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJlcndpbmphY2ltaW5vMjAwM0BnbWFpbC5jb20iLCJleHAiOjI2MjQ2NTQwMjh9.-uaa6dFXxB4d30PDKJkDtgZ__E_nvt2VVbzqR5TB8_M
  1324. 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')
  1325. 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 :('}]
  1326. 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']}}}]}}
  1327. 2025-07-28 18:34:02,644 - openai._base_client:975 - DEBUG - Sending HTTP Request: POST https://api.openai.com/v1/chat/completions
  1328. 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
  1329. 2025-07-28 18:34:02,665 - httpcore.connection:47 - DEBUG - connect_tcp.complete return_value=<httpcore._backends.sync.SyncStream object at 0x7f7fa636a100>
  1330. 2025-07-28 18:34:02,665 - httpcore.connection:47 - DEBUG - start_tls.started ssl_context=<ssl.SSLContext object at 0x7f7faec7c8c0> server_hostname='api.openai.com' timeout=5.0
  1331. 2025-07-28 18:34:02,685 - httpcore.connection:47 - DEBUG - start_tls.complete return_value=<httpcore._backends.sync.SyncStream object at 0x7f7fa6357e50>
  1332. 2025-07-28 18:34:02,685 - httpcore.http11:47 - DEBUG - send_request_headers.started request=<Request [b'POST']>
  1333. 2025-07-28 18:34:02,685 - httpcore.http11:47 - DEBUG - send_request_headers.complete
  1334. 2025-07-28 18:34:02,685 - httpcore.http11:47 - DEBUG - send_request_body.started request=<Request [b'POST']>
  1335. 2025-07-28 18:34:02,685 - httpcore.http11:47 - DEBUG - send_request_body.complete
  1336. 2025-07-28 18:34:02,686 - httpcore.http11:47 - DEBUG - receive_response_headers.started request=<Request [b'POST']>
  1337. 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')])
  1338. 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"
  1339. 2025-07-28 18:34:03,608 - httpcore.http11:47 - DEBUG - receive_response_body.started request=<Request [b'POST']>
  1340. 2025-07-28 18:34:03,608 - httpcore.http11:47 - DEBUG - receive_response_body.complete
  1341. 2025-07-28 18:34:03,608 - httpcore.http11:47 - DEBUG - response_closed.started
  1342. 2025-07-28 18:34:03,608 - httpcore.http11:47 - DEBUG - response_closed.complete
  1343. 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')])
  1344. 2025-07-28 18:34:03,609 - openai._base_client:1021 - DEBUG - request_id: req_bee4ea0e364aa766345355115c73ed8d
  1345. 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')]
  1346. 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.'}
  1347. 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 :)
  1348. 2025-07-28 18:34:32,957 - auth.security:70 - DEBUG - Decoding token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJlcndpbmphY2ltaW5vMjAwM0BnbWFpbC5jb20iLCJleHAiOjI2MjQ2NTQwMjh9.-uaa6dFXxB4d30PDKJkDtgZ__E_nvt2VVbzqR5TB8_M
  1349. 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')
  1350. 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?'}]
  1351. 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']}}}]}}
  1352. 2025-07-28 18:34:32,959 - openai._base_client:975 - DEBUG - Sending HTTP Request: POST https://api.openai.com/v1/chat/completions
  1353. 2025-07-28 18:34:32,960 - httpcore.connection:47 - DEBUG - close.started
  1354. 2025-07-28 18:34:32,960 - httpcore.connection:47 - DEBUG - close.complete
  1355. 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
  1356. 2025-07-28 18:34:32,973 - httpcore.connection:47 - DEBUG - connect_tcp.complete return_value=<httpcore._backends.sync.SyncStream object at 0x7f7fa62a9220>
  1357. 2025-07-28 18:34:32,973 - httpcore.connection:47 - DEBUG - start_tls.started ssl_context=<ssl.SSLContext object at 0x7f7faec7c8c0> server_hostname='api.openai.com' timeout=5.0
  1358. 2025-07-28 18:34:32,990 - httpcore.connection:47 - DEBUG - start_tls.complete return_value=<httpcore._backends.sync.SyncStream object at 0x7f7fa638c850>
  1359. 2025-07-28 18:34:32,990 - httpcore.http11:47 - DEBUG - send_request_headers.started request=<Request [b'POST']>
  1360. 2025-07-28 18:34:32,990 - httpcore.http11:47 - DEBUG - send_request_headers.complete
  1361. 2025-07-28 18:34:32,990 - httpcore.http11:47 - DEBUG - send_request_body.started request=<Request [b'POST']>
  1362. 2025-07-28 18:34:32,990 - httpcore.http11:47 - DEBUG - send_request_body.complete
  1363. 2025-07-28 18:34:32,990 - httpcore.http11:47 - DEBUG - receive_response_headers.started request=<Request [b'POST']>
  1364. 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')])
  1365. 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"
  1366. 2025-07-28 18:34:35,309 - httpcore.http11:47 - DEBUG - receive_response_body.started request=<Request [b'POST']>
  1367. 2025-07-28 18:34:35,314 - httpcore.http11:47 - DEBUG - receive_response_body.complete
  1368. 2025-07-28 18:34:35,314 - httpcore.http11:47 - DEBUG - response_closed.started
  1369. 2025-07-28 18:34:35,314 - httpcore.http11:47 - DEBUG - response_closed.complete
  1370. 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'})
  1371. 2025-07-28 18:34:35,315 - openai._base_client:1021 - DEBUG - request_id: 6e8bb37a-3dec-485d-9b6e-30a53758286c