{"timestamp":"2026-07-12T03:27:13.917Z","level":"info","context":"startup","message":"🐱 Miau bot running on :3000","data":{"port":3000}}
{"timestamp":"2026-07-12T03:27:14.767Z","level":"warn","context":"http","message":"GET /api/conversations → 401 (5ms)","data":{"method":"GET","path":"/api/conversations","status":401,"duration":5}}
{"timestamp":"2026-07-12T03:27:23.277Z","level":"info","context":"startup","message":"🐱 Miau bot running on :3000","data":{"port":3000}}
{"timestamp":"2026-07-12T03:27:25.333Z","level":"info","context":"http","message":"GET /api/nonexistent → 200 (12ms)","data":{"method":"GET","path":"/api/nonexistent","status":200,"duration":12}}
{"timestamp":"2026-07-12T03:27:34.144Z","level":"info","context":"startup","message":"🐱 Miau bot running on :3000","data":{"port":3000}}
{"timestamp":"2026-07-12T03:27:45.105Z","level":"info","context":"startup","message":"🐱 Miau bot running on :3000","data":{"port":3000}}
{"timestamp":"2026-07-12T03:27:49.184Z","level":"info","context":"http","message":"GET /health → 200 (4ms)","data":{"method":"GET","path":"/health","status":200,"duration":4}}
{"timestamp":"2026-07-12T03:27:59.042Z","level":"info","context":"startup","message":"🐱 Miau bot running on :3000","data":{"port":3000}}
{"timestamp":"2026-07-12T03:28:02.048Z","level":"info","context":"http","message":"GET /api/nonexistent → 200 (8ms)","data":{"method":"GET","path":"/api/nonexistent","status":200,"duration":8}}
{"timestamp":"2026-07-12T03:43:38.602Z","level":"info","context":"startup","message":"🐱 Miau bot running on :3000","data":{"port":3000}}
{"timestamp":"2026-07-12T03:43:41.437Z","level":"info","context":"http","message":"GET /health → 200 (4ms)","data":{"method":"GET","path":"/health","status":200,"duration":4}}
{"timestamp":"2026-07-12T03:43:41.666Z","level":"info","context":"http","message":"POST /api/errors → 200 (196ms)","data":{"method":"POST","path":"/api/errors","status":200,"duration":196}}
{"timestamp":"2026-07-12T03:43:41.702Z","level":"warn","context":"http","message":"GET /api/errors → 401 (1ms)","data":{"method":"GET","path":"/api/errors","status":401,"duration":1}}
{"timestamp":"2026-07-12T03:46:00.523Z","level":"info","context":"startup","message":"🐱 Miau bot running on :3000","data":{"port":3000}}
{"timestamp":"2026-07-12T03:46:23.232Z","level":"info","context":"startup","message":"🐱 Miau bot running on :3000","data":{"port":3000}}
{"timestamp":"2026-07-12T03:52:31.844Z","level":"info","context":"startup","message":"🐱 Miau bot running on :3001","data":{"port":3001}}
{"timestamp":"2026-07-12T03:52:35.384Z","level":"info","context":"http","message":"GET /health → 200 (4ms)","data":{"method":"GET","path":"/health","status":200,"duration":4}}
{"timestamp":"2026-07-12T03:52:35.689Z","level":"info","context":"http","message":"POST /api/errors → 200 (265ms)","data":{"method":"POST","path":"/api/errors","status":200,"duration":265}}
{"timestamp":"2026-07-12T03:52:35.699Z","level":"warn","context":"http","message":"GET /api/errors → 401 (1ms)","data":{"method":"GET","path":"/api/errors","status":401,"duration":1}}
{"timestamp":"2026-07-12T03:52:35.739Z","level":"warn","context":"auth.login","message":"Tentativa de login inválida para \"tester\""}
{"timestamp":"2026-07-12T03:52:35.739Z","level":"warn","context":"auth.login","message":"Tentativa de login falhou para \"tester\"","data":{"error":{"message":"Usuário ou senha inválidos","stack":"Error: Usuário ou senha inválidos\n    at Module.login (file:///var/www/vendas_oficina/src/services/auth.js:34:25)\n    at process.processTicksAndRejections (node:internal/process/task_queues:104:5)\n    at async file:///var/www/vendas_oficina/src/routes/auth.js:24:20"},"status":401}}
{"timestamp":"2026-07-12T03:52:35.740Z","level":"warn","context":"http","message":"POST /api/auth/login → 401 (20ms)","data":{"method":"POST","path":"/api/auth/login","status":401,"duration":20}}
{"timestamp":"2026-07-12T03:52:35.770Z","level":"warn","context":"auth.session","message":"Token inválido usado"}
{"timestamp":"2026-07-12T03:52:35.770Z","level":"warn","context":"auth.requireAuth","message":"Token rejeitado","data":{"error":{"message":"Token inválido","stack":"Error: Token inválido\n    at validateSession (file:///var/www/vendas_oficina/src/services/auth.js:49:25)\n    at process.processTicksAndRejections (node:internal/process/task_queues:104:5)\n    at async requireAuth (file:///var/www/vendas_oficina/src/middleware/auth.js:10:16)"}}}
{"timestamp":"2026-07-12T03:52:35.771Z","level":"warn","context":"http","message":"GET /api/errors → 401 (9ms)","data":{"method":"GET","path":"/api/errors","status":401,"duration":9}}
{"timestamp":"2026-07-12T03:52:46.249Z","level":"error","context":"uncaught","message":"Exceção não capturada","data":{"error":{"message":"listen EADDRINUSE: address already in use 0.0.0.0:3001","stack":"Error: listen EADDRINUSE: address already in use 0.0.0.0:3001\n    at Server.setupListenHandle [as _listen2] (node:net:1948:16)\n    at listenInCluster (node:net:2005:12)\n    at node:net:2214:7\n    at process.processTicksAndRejections (node:internal/process/task_queues:90:21)"}}}
{"timestamp":"2026-07-12T03:52:49.438Z","level":"info","context":"auth.register","message":"Usuário \"testador\" registrado (id: 4)","data":{"userId":4}}
{"timestamp":"2026-07-12T03:52:49.438Z","level":"info","context":"auth.register","message":"Usuário \"testador\" registrado"}
{"timestamp":"2026-07-12T03:52:49.439Z","level":"info","context":"http","message":"POST /api/auth/register → 201 (93ms)","data":{"method":"POST","path":"/api/auth/register","status":201,"duration":93}}
{"timestamp":"2026-07-12T03:52:49.519Z","level":"info","context":"auth.login","message":"Usuário \"testador\" (id: 4) logou","data":{"userId":4}}
{"timestamp":"2026-07-12T03:52:49.519Z","level":"info","context":"auth.login","message":"Usuário \"testador\" logou"}
{"timestamp":"2026-07-12T03:52:49.520Z","level":"info","context":"http","message":"POST /api/auth/login → 200 (66ms)","data":{"method":"POST","path":"/api/auth/login","status":200,"duration":66}}
{"timestamp":"2026-07-12T03:52:49.540Z","level":"info","context":"http","message":"POST /api/errors → 200 (4ms)","data":{"method":"POST","path":"/api/errors","status":200,"duration":4}}
{"timestamp":"2026-07-12T03:52:49.566Z","level":"info","context":"http","message":"GET /api/errors → 200 (17ms)","data":{"method":"GET","path":"/api/errors","status":200,"duration":17,"user":4}}
{"timestamp":"2026-07-12T03:53:19.864Z","level":"info","context":"startup","message":"🐱 Miau bot running on :3001","data":{"port":3001}}
{"timestamp":"2026-07-12T03:53:23.530Z","level":"info","context":"http","message":"POST /api/errors → 200 (189ms)","data":{"method":"POST","path":"/api/errors","status":200,"duration":189}}
{"timestamp":"2026-07-12T03:53:23.546Z","level":"warn","context":"http","message":"GET /api/errors → 401 (1ms)","data":{"method":"GET","path":"/api/errors","status":401,"duration":1}}
{"timestamp":"2026-07-12T03:53:23.681Z","level":"info","context":"auth.login","message":"Usuário \"testador\" (id: 4) logou","data":{"userId":4}}
{"timestamp":"2026-07-12T03:53:23.681Z","level":"info","context":"auth.login","message":"Usuário \"testador\" logou"}
{"timestamp":"2026-07-12T03:53:23.682Z","level":"info","context":"http","message":"POST /api/auth/login → 200 (107ms)","data":{"method":"POST","path":"/api/auth/login","status":200,"duration":107}}
{"timestamp":"2026-07-12T03:53:23.743Z","level":"info","context":"http","message":"GET /api/errors → 200 (34ms)","data":{"method":"GET","path":"/api/errors","status":200,"duration":34,"user":4}}
{"timestamp":"2026-07-12T03:53:58.900Z","level":"error","context":"uncaught","message":"Exceção não capturada","data":{"error":{"message":"listen EADDRINUSE: address already in use 0.0.0.0:3001","stack":"Error: listen EADDRINUSE: address already in use 0.0.0.0:3001\n    at Server.setupListenHandle [as _listen2] (node:net:1948:16)\n    at listenInCluster (node:net:2005:12)\n    at node:net:2214:7\n    at process.processTicksAndRejections (node:internal/process/task_queues:90:21)"}}}
{"timestamp":"2026-07-12T03:54:02.453Z","level":"info","context":"http","message":"POST /api/errors → 200 (8ms)","data":{"method":"POST","path":"/api/errors","status":200,"duration":8}}
{"timestamp":"2026-07-12T03:54:02.527Z","level":"info","context":"auth.login","message":"Usuário \"testador\" (id: 4) logou","data":{"userId":4}}
{"timestamp":"2026-07-12T03:54:02.528Z","level":"info","context":"auth.login","message":"Usuário \"testador\" logou"}
{"timestamp":"2026-07-12T03:54:02.532Z","level":"info","context":"http","message":"POST /api/auth/login → 200 (65ms)","data":{"method":"POST","path":"/api/auth/login","status":200,"duration":65}}
{"timestamp":"2026-07-12T03:54:02.562Z","level":"info","context":"http","message":"GET /api/errors?limit=2 → 200 (4ms)","data":{"method":"GET","path":"/api/errors?limit=2","status":200,"duration":4,"user":4}}
{"timestamp":"2026-07-12T03:54:11.967Z","level":"error","context":"uncaught","message":"Exceção não capturada","data":{"error":{"message":"listen EADDRINUSE: address already in use 0.0.0.0:3001","stack":"Error: listen EADDRINUSE: address already in use 0.0.0.0:3001\n    at Server.setupListenHandle [as _listen2] (node:net:1948:16)\n    at listenInCluster (node:net:2005:12)\n    at node:net:2214:7\n    at process.processTicksAndRejections (node:internal/process/task_queues:90:21)"}}}
{"timestamp":"2026-07-12T03:54:15.495Z","level":"info","context":"http","message":"POST /api/errors → 200 (8ms)","data":{"method":"POST","path":"/api/errors","status":200,"duration":8}}
{"timestamp":"2026-07-12T03:54:15.597Z","level":"info","context":"auth.login","message":"Usuário \"testador\" (id: 4) logou","data":{"userId":4}}
{"timestamp":"2026-07-12T03:54:15.597Z","level":"info","context":"auth.login","message":"Usuário \"testador\" logou"}
{"timestamp":"2026-07-12T03:54:15.600Z","level":"info","context":"http","message":"POST /api/auth/login → 200 (75ms)","data":{"method":"POST","path":"/api/auth/login","status":200,"duration":75}}
{"timestamp":"2026-07-12T03:54:15.620Z","level":"info","context":"http","message":"GET /api/errors?limit=5 → 200 (3ms)","data":{"method":"GET","path":"/api/errors?limit=5","status":200,"duration":3,"user":4}}
{"timestamp":"2026-07-12T03:55:18.439Z","level":"info","context":"startup","message":"🐱 Miau bot running on :3001","data":{"port":3001}}
{"timestamp":"2026-07-12T03:55:20.890Z","level":"info","context":"http","message":"GET /health → 200 (8ms)","data":{"method":"GET","path":"/health","status":200,"duration":8}}
{"timestamp":"2026-07-12T03:55:54.889Z","level":"info","context":"startup","message":"🐱 Miau bot running on :3001","data":{"port":3001}}
{"timestamp":"2026-07-12T03:55:57.526Z","level":"info","context":"http","message":"POST /api/errors → 200 (186ms)","data":{"method":"POST","path":"/api/errors","status":200,"duration":186}}
{"timestamp":"2026-07-12T03:55:57.621Z","level":"info","context":"auth.login","message":"Usuário \"testador\" (id: 4) logou","data":{"userId":4}}
{"timestamp":"2026-07-12T03:55:57.621Z","level":"info","context":"auth.login","message":"Usuário \"testador\" logou"}
{"timestamp":"2026-07-12T03:55:57.622Z","level":"info","context":"http","message":"POST /api/auth/login → 200 (82ms)","data":{"method":"POST","path":"/api/auth/login","status":200,"duration":82}}
{"timestamp":"2026-07-12T03:55:57.683Z","level":"info","context":"http","message":"GET /api/errors?limit=3 → 200 (40ms)","data":{"method":"GET","path":"/api/errors?limit=3","status":200,"duration":40,"user":4}}
{"timestamp":"2026-07-12T04:08:31.596Z","level":"info","context":"startup","message":"🐱 Miau bot running on :3000","data":{"port":3000}}
{"timestamp":"2026-07-12T04:09:52.813Z","level":"info","context":"startup","message":"🐱 Miau bot running on :3000","data":{"port":3000}}
{"timestamp":"2026-07-12T04:09:55.230Z","level":"info","context":"http","message":"GET /health → 200 (4ms)","data":{"method":"GET","path":"/health","status":200,"duration":4}}
{"timestamp":"2026-07-12T04:09:55.457Z","level":"info","context":"http","message":"POST /api/errors → 200 (183ms)","data":{"method":"POST","path":"/api/errors","status":200,"duration":183}}
{"timestamp":"2026-07-12T04:09:55.489Z","level":"info","context":"http","message":"POST /api/errors → 200 (11ms)","data":{"method":"POST","path":"/api/errors","status":200,"duration":11}}
{"timestamp":"2026-07-12T04:09:55.510Z","level":"info","context":"http","message":"POST /api/errors → 200 (3ms)","data":{"method":"POST","path":"/api/errors","status":200,"duration":3}}
{"timestamp":"2026-07-12T04:09:55.523Z","level":"warn","context":"http","message":"GET /api/errors → 401 (0ms)","data":{"method":"GET","path":"/api/errors","status":401,"duration":0}}
{"timestamp":"2026-07-12T04:09:55.547Z","level":"warn","context":"auth.login","message":"Tentativa de login falhou para \"undefined\"","data":{"error":{"message":"\nInvalid `prisma.user.findUnique()` invocation:\n\n{\n  where: {\n    username: undefined,\n?   id?: Int,\n?   AND?: UserWhereInput | UserWhereInput[],\n?   OR?: UserWhereInput[],\n?   NOT?: UserWhereInput | UserWhereInput[],\n?   password?: StringFilter | String,\n?   createdAt?: DateTimeFilter | DateTime,\n?   updatedAt?: DateTimeFilter | DateTime,\n?   sessions?: SessionListRelationFilter,\n?   instances?: UserInstanceListRelationFilter\n  }\n}\n\nArgument `where` of type UserWhereUniqueInput needs at least one of `id` or `username` arguments. Available options are marked with ?.","stack":"PrismaClientValidationError: \nInvalid `prisma.user.findUnique()` invocation:\n\n{\n  where: {\n    username: undefined,"}}}
{"timestamp":"2026-07-12T04:09:55.550Z","level":"error","context":"http","message":"POST /api/auth/login → 500 (17ms)","data":{"method":"POST","path":"/api/auth/login","status":500,"duration":17}}
{"timestamp":"2026-07-12T04:09:55.610Z","level":"warn","context":"http","message":"GET /api/errors → 401 (0ms)","data":{"method":"GET","path":"/api/errors","status":401,"duration":0}}
{"timestamp":"2026-07-12T04:09:55.670Z","level":"warn","context":"http","message":"GET /api/errors?limit=2&source=backend → 401 (1ms)","data":{"method":"GET","path":"/api/errors?limit=2&source=backend","status":401,"duration":1}}
{"timestamp":"2026-07-12T04:09:55.735Z","level":"info","context":"http","message":"POST /api/errors → 200 (5ms)","data":{"method":"POST","path":"/api/errors","status":200,"duration":5}}
{"timestamp":"2026-07-12T04:09:55.750Z","level":"warn","context":"http","message":"GET /api/errors?limit=100 → 401 (1ms)","data":{"method":"GET","path":"/api/errors?limit=100","status":401,"duration":1}}
{"timestamp":"2026-07-12T04:10:19.455Z","level":"info","context":"startup","message":"🐱 Miau bot running on :3000","data":{"port":3000}}
{"timestamp":"2026-07-12T04:10:22.055Z","level":"warn","context":"auth.register","message":"Tentativa de registro duplicado: \"admin\""}
{"timestamp":"2026-07-12T04:10:22.061Z","level":"error","context":"auth.register","message":"Falha no registro de \"admin\"","data":{"error":{"message":"Usuário já existe","stack":"Error: Usuário já existe\n    at Module.register (file:///var/www/vendas_oficina/src/services/auth.js:21:25)\n    at process.processTicksAndRejections (node:internal/process/task_queues:104:5)\n    at async file:///var/www/vendas_oficina/src/routes/auth.js:10:18"},"status":409}}
{"timestamp":"2026-07-12T04:10:22.115Z","level":"warn","context":"http","message":"POST /api/auth/register → 409 (221ms)","data":{"method":"POST","path":"/api/auth/register","status":409,"duration":221}}
{"timestamp":"2026-07-12T04:10:22.229Z","level":"warn","context":"auth.login","message":"Tentativa de login inválida para \"admin\""}
{"timestamp":"2026-07-12T04:10:22.234Z","level":"warn","context":"auth.login","message":"Tentativa de login falhou para \"admin\"","data":{"error":{"message":"Usuário ou senha inválidos","stack":"Error: Usuário ou senha inválidos\n    at Module.login (file:///var/www/vendas_oficina/src/services/auth.js:34:25)\n    at process.processTicksAndRejections (node:internal/process/task_queues:104:5)\n    at async file:///var/www/vendas_oficina/src/routes/auth.js:24:20"},"status":401}}
{"timestamp":"2026-07-12T04:10:22.245Z","level":"warn","context":"http","message":"POST /api/auth/login → 401 (126ms)","data":{"method":"POST","path":"/api/auth/login","status":401,"duration":126}}
{"timestamp":"2026-07-12T04:10:22.315Z","level":"warn","context":"http","message":"GET /api/errors → 401 (1ms)","data":{"method":"GET","path":"/api/errors","status":401,"duration":1}}
{"timestamp":"2026-07-12T04:10:22.348Z","level":"info","context":"http","message":"POST /api/errors → 200 (4ms)","data":{"method":"POST","path":"/api/errors","status":200,"duration":4}}
{"timestamp":"2026-07-12T04:10:22.366Z","level":"warn","context":"http","message":"GET /api/errors?limit=10 → 401 (2ms)","data":{"method":"GET","path":"/api/errors?limit=10","status":401,"duration":2}}
{"timestamp":"2026-07-12T04:10:35.138Z","level":"info","context":"startup","message":"🐱 Miau bot running on :3000","data":{"port":3000}}
{"timestamp":"2026-07-12T04:10:37.722Z","level":"warn","context":"auth.register","message":"Tentativa de registro duplicado: \"admin\""}
{"timestamp":"2026-07-12T04:10:37.723Z","level":"error","context":"auth.register","message":"Falha no registro de \"admin\"","data":{"error":{"message":"Usuário já existe","stack":"Error: Usuário já existe\n    at Module.register (file:///var/www/vendas_oficina/src/services/auth.js:21:25)\n    at process.processTicksAndRejections (node:internal/process/task_queues:104:5)\n    at async file:///var/www/vendas_oficina/src/routes/auth.js:10:18"},"status":409}}
{"timestamp":"2026-07-12T04:10:37.772Z","level":"warn","context":"http","message":"POST /api/auth/register → 409 (212ms)","data":{"method":"POST","path":"/api/auth/register","status":409,"duration":212}}
{"timestamp":"2026-07-12T04:10:37.844Z","level":"warn","context":"auth.login","message":"Tentativa de login inválida para \"admin\""}
{"timestamp":"2026-07-12T04:10:37.846Z","level":"warn","context":"auth.login","message":"Tentativa de login falhou para \"admin\"","data":{"error":{"message":"Usuário ou senha inválidos","stack":"Error: Usuário ou senha inválidos\n    at Module.login (file:///var/www/vendas_oficina/src/services/auth.js:34:25)\n    at process.processTicksAndRejections (node:internal/process/task_queues:104:5)\n    at async file:///var/www/vendas_oficina/src/routes/auth.js:24:20"},"status":401}}
{"timestamp":"2026-07-12T04:10:37.849Z","level":"warn","context":"http","message":"POST /api/auth/login → 401 (73ms)","data":{"method":"POST","path":"/api/auth/login","status":401,"duration":73}}
{"timestamp":"2026-07-12T04:11:33.658Z","level":"info","context":"startup","message":"🐱 Miau bot running on :3000","data":{"port":3000}}
{"timestamp":"2026-07-12T04:11:36.957Z","level":"info","context":"http","message":"GET /health → 200 (15ms)","data":{"method":"GET","path":"/health","status":200,"duration":15}}
{"timestamp":"2026-07-12T04:11:37.180Z","level":"warn","context":"auth.register","message":"Tentativa de registro duplicado: \"admin\""}
{"timestamp":"2026-07-12T04:11:37.181Z","level":"error","context":"auth.register","message":"Falha no registro de \"admin\"","data":{"error":{"message":"Usuário já existe","stack":"Error: Usuário já existe\n    at Module.register (file:///var/www/vendas_oficina/src/services/auth.js:21:25)\n    at process.processTicksAndRejections (node:internal/process/task_queues:104:5)\n    at async file:///var/www/vendas_oficina/src/routes/auth.js:10:18"},"status":409}}
{"timestamp":"2026-07-12T04:11:37.222Z","level":"warn","context":"http","message":"POST /api/auth/register → 409 (228ms)","data":{"method":"POST","path":"/api/auth/register","status":409,"duration":228}}
{"timestamp":"2026-07-12T04:11:37.296Z","level":"warn","context":"auth.login","message":"Tentativa de login inválida para \"admin\""}
{"timestamp":"2026-07-12T04:11:37.298Z","level":"warn","context":"auth.login","message":"Tentativa de login falhou para \"admin\"","data":{"error":{"message":"Usuário ou senha inválidos","stack":"Error: Usuário ou senha inválidos\n    at Module.login (file:///var/www/vendas_oficina/src/services/auth.js:34:25)\n    at process.processTicksAndRejections (node:internal/process/task_queues:104:5)\n    at async file:///var/www/vendas_oficina/src/routes/auth.js:24:20"},"status":401}}
{"timestamp":"2026-07-12T04:11:37.301Z","level":"warn","context":"http","message":"POST /api/auth/login → 401 (77ms)","data":{"method":"POST","path":"/api/auth/login","status":401,"duration":77}}
{"timestamp":"2026-07-12T04:11:37.340Z","level":"warn","context":"http","message":"GET /api/errors → 401 (1ms)","data":{"method":"GET","path":"/api/errors","status":401,"duration":1}}
{"timestamp":"2026-07-12T04:11:37.375Z","level":"info","context":"http","message":"POST /api/errors → 200 (6ms)","data":{"method":"POST","path":"/api/errors","status":200,"duration":6}}
{"timestamp":"2026-07-12T04:11:37.390Z","level":"warn","context":"http","message":"GET /api/errors → 401 (1ms)","data":{"method":"GET","path":"/api/errors","status":401,"duration":1}}
{"timestamp":"2026-07-12T04:12:12.387Z","level":"info","context":"startup","message":"🐱 Miau bot running on :3000","data":{"port":3000}}
{"timestamp":"2026-07-12T04:12:46.406Z","level":"info","context":"startup","message":"🐱 Miau bot running on :3000","data":{"port":3000}}
{"timestamp":"2026-07-12T04:12:57.944Z","level":"info","context":"startup","message":"🐱 Miau bot running on :3000","data":{"port":3000}}
{"timestamp":"2026-07-12T04:13:01.408Z","level":"info","context":"http","message":"GET /health → 200 (6ms)","data":{"method":"GET","path":"/health","status":200,"duration":6}}
{"timestamp":"2026-07-12T04:14:05.205Z","level":"info","context":"startup","message":"🐱 Miau bot running on :3000","data":{"port":3000}}
{"timestamp":"2026-07-12T04:14:08.722Z","level":"info","context":"http","message":"GET /health → 200 (4ms)","data":{"method":"GET","path":"/health","status":200,"duration":4}}
{"timestamp":"2026-07-12T04:14:08.991Z","level":"info","context":"http","message":"POST /api/errors → 200 (238ms)","data":{"method":"POST","path":"/api/errors","status":200,"duration":238}}
{"timestamp":"2026-07-12T06:10:45.251Z","level":"info","context":"startup","message":"🐱 Miau bot running on :3000","data":{"port":3000}}
{"timestamp":"2026-07-12T06:10:47.572Z","level":"info","context":"http","message":"GET /health → 200 (11ms)","data":{"method":"GET","path":"/health","status":200,"duration":11}}
{"timestamp":"2026-07-12T06:10:47.783Z","level":"info","context":"http","message":"POST /api/errors → 200 (195ms)","data":{"method":"POST","path":"/api/errors","status":200,"duration":195}}
{"timestamp":"2026-07-12T06:10:47.793Z","level":"warn","context":"http","message":"GET /api/errors → 401 (1ms)","data":{"method":"GET","path":"/api/errors","status":401,"duration":1}}
{"timestamp":"2026-07-12T06:10:59.622Z","level":"info","context":"startup","message":"🐱 Miau bot running on :3000","data":{"port":3000}}
{"timestamp":"2026-07-12T06:11:03.086Z","level":"warn","context":"auth.register","message":"Tentativa de registro duplicado: \"admin\""}
{"timestamp":"2026-07-12T06:11:03.092Z","level":"error","context":"auth.register","message":"Falha no registro de \"admin\"","data":{"error":{"message":"Usuário já existe","stack":"Error: Usuário já existe\n    at Module.register (file:///var/www/vendas_oficina/src/services/auth.js:21:25)\n    at process.processTicksAndRejections (node:internal/process/task_queues:104:5)\n    at async file:///var/www/vendas_oficina/src/routes/auth.js:10:18"},"status":409}}
{"timestamp":"2026-07-12T06:11:03.134Z","level":"warn","context":"http","message":"POST /api/auth/register → 409 (177ms)","data":{"method":"POST","path":"/api/auth/register","status":409,"duration":177}}
{"timestamp":"2026-07-12T06:11:03.259Z","level":"warn","context":"auth.login","message":"Tentativa de login inválida para \"admin\""}
{"timestamp":"2026-07-12T06:11:03.267Z","level":"warn","context":"auth.login","message":"Tentativa de login falhou para \"admin\"","data":{"error":{"message":"Usuário ou senha inválidos","stack":"Error: Usuário ou senha inválidos\n    at Module.login (file:///var/www/vendas_oficina/src/services/auth.js:34:25)\n    at process.processTicksAndRejections (node:internal/process/task_queues:104:5)\n    at async file:///var/www/vendas_oficina/src/routes/auth.js:24:20"},"status":401}}
{"timestamp":"2026-07-12T06:11:03.270Z","level":"warn","context":"http","message":"POST /api/auth/login → 401 (95ms)","data":{"method":"POST","path":"/api/auth/login","status":401,"duration":95}}
{"timestamp":"2026-07-12T06:11:03.408Z","level":"info","context":"http","message":"POST /api/errors → 200 (17ms)","data":{"method":"POST","path":"/api/errors","status":200,"duration":17}}
{"timestamp":"2026-07-12T06:11:03.448Z","level":"info","context":"http","message":"POST /api/errors → 200 (16ms)","data":{"method":"POST","path":"/api/errors","status":200,"duration":16}}
{"timestamp":"2026-07-12T06:11:03.501Z","level":"info","context":"http","message":"POST /api/errors → 200 (31ms)","data":{"method":"POST","path":"/api/errors","status":200,"duration":31}}
{"timestamp":"2026-07-12T06:11:03.533Z","level":"warn","context":"http","message":"GET /api/errors → 401 (1ms)","data":{"method":"GET","path":"/api/errors","status":401,"duration":1}}
{"timestamp":"2026-07-12T06:11:21.884Z","level":"info","context":"startup","message":"🐱 Miau bot running on :3000","data":{"port":3000}}
{"timestamp":"2026-07-12T06:11:26.384Z","level":"info","context":"http","message":"GET /health → 200 (5ms)","data":{"method":"GET","path":"/health","status":200,"duration":5}}
{"timestamp":"2026-07-12T06:11:26.578Z","level":"warn","context":"auth.register","message":"Tentativa de registro duplicado: \"admin\""}
{"timestamp":"2026-07-12T06:11:26.581Z","level":"error","context":"auth.register","message":"Falha no registro de \"admin\"","data":{"error":{"message":"Usuário já existe","stack":"Error: Usuário já existe\n    at Module.register (file:///var/www/vendas_oficina/src/services/auth.js:21:25)\n    at process.processTicksAndRejections (node:internal/process/task_queues:104:5)\n    at async file:///var/www/vendas_oficina/src/routes/auth.js:10:18"},"status":409}}
{"timestamp":"2026-07-12T06:11:26.666Z","level":"warn","context":"http","message":"POST /api/auth/register → 409 (258ms)","data":{"method":"POST","path":"/api/auth/register","status":409,"duration":258}}
{"timestamp":"2026-07-12T06:12:13.297Z","level":"info","context":"startup","message":"🐱 Miau bot running on :3000","data":{"port":3000}}
{"timestamp":"2026-07-12T06:12:16.893Z","level":"info","context":"http","message":"GET /health → 200 (7ms)","data":{"method":"GET","path":"/health","status":200,"duration":7}}
{"timestamp":"2026-07-12T06:12:17.059Z","level":"warn","context":"auth.register","message":"Tentativa de registro duplicado: \"teste\""}
{"timestamp":"2026-07-12T06:12:17.062Z","level":"error","context":"auth.register","message":"Falha no registro de \"teste\"","data":{"error":{"message":"Usuário já existe","stack":"Error: Usuário já existe\n    at Module.register (file:///var/www/vendas_oficina/src/services/auth.js:21:25)\n    at process.processTicksAndRejections (node:internal/process/task_queues:104:5)\n    at async file:///var/www/vendas_oficina/src/routes/auth.js:10:18"},"status":409}}
{"timestamp":"2026-07-12T06:12:17.103Z","level":"warn","context":"http","message":"POST /api/auth/register → 409 (184ms)","data":{"method":"POST","path":"/api/auth/register","status":409,"duration":184}}
{"timestamp":"2026-07-12T06:12:54.549Z","level":"info","context":"startup","message":"🐱 Miau bot running on :3000","data":{"port":3000}}
{"timestamp":"2026-07-12T06:12:58.287Z","level":"warn","context":"auth.login","message":"Tentativa de login inválida para \"teste\""}
{"timestamp":"2026-07-12T06:12:58.289Z","level":"warn","context":"auth.login","message":"Tentativa de login falhou para \"teste\"","data":{"error":{"message":"Usuário ou senha inválidos","stack":"Error: Usuário ou senha inválidos\n    at Module.login (file:///var/www/vendas_oficina/src/services/auth.js:34:25)\n    at process.processTicksAndRejections (node:internal/process/task_queues:104:5)\n    at async file:///var/www/vendas_oficina/src/routes/auth.js:24:20"},"status":401}}
{"timestamp":"2026-07-12T06:12:58.293Z","level":"warn","context":"http","message":"POST /api/auth/login → 401 (189ms)","data":{"method":"POST","path":"/api/auth/login","status":401,"duration":189}}
{"timestamp":"2026-07-12T06:12:59.308Z","level":"info","context":"http","message":"GET /health → 200 (3ms)","data":{"method":"GET","path":"/health","status":200,"duration":3}}
{"timestamp":"2026-07-12T06:14:52.356Z","level":"info","context":"startup","message":"🐱 Miau bot running on :3000","data":{"port":3000}}
{"timestamp":"2026-07-12T06:14:55.032Z","level":"info","context":"http","message":"GET /health → 200 (5ms)","data":{"method":"GET","path":"/health","status":200,"duration":5}}
{"timestamp":"2026-07-12T06:14:55.257Z","level":"warn","context":"auth.login","message":"Tentativa de login inválida para \"teste\""}
{"timestamp":"2026-07-12T06:14:55.265Z","level":"warn","context":"auth.login","message":"Tentativa de login falhou para \"teste\"","data":{"error":{"message":"Usuário ou senha inválidos","stack":"Error: Usuário ou senha inválidos\n    at Module.login (file:///var/www/vendas_oficina/src/services/auth.js:34:25)\n    at process.processTicksAndRejections (node:internal/process/task_queues:104:5)\n    at async file:///var/www/vendas_oficina/src/routes/auth.js:24:20"},"status":401}}
{"timestamp":"2026-07-12T06:14:55.268Z","level":"warn","context":"http","message":"POST /api/auth/login → 401 (204ms)","data":{"method":"POST","path":"/api/auth/login","status":401,"duration":204}}
{"timestamp":"2026-07-12T06:14:57.284Z","level":"info","context":"http","message":"GET /health → 200 (0ms)","data":{"method":"GET","path":"/health","status":200,"duration":0}}
{"timestamp":"2026-07-12T06:15:25.115Z","level":"info","context":"startup","message":"🐱 Miau bot running on :3000","data":{"port":3000}}
{"timestamp":"2026-07-12T06:15:28.005Z","level":"warn","context":"auth.login","message":"Tentativa de login inválida para \"teste\""}
{"timestamp":"2026-07-12T06:15:28.017Z","level":"warn","context":"auth.login","message":"Tentativa de login falhou para \"teste\"","data":{"error":{"message":"Usuário ou senha inválidos","stack":"Error: Usuário ou senha inválidos\n    at Module.login (file:///var/www/vendas_oficina/src/services/auth.js:34:25)\n    at process.processTicksAndRejections (node:internal/process/task_queues:104:5)\n    at async file:///var/www/vendas_oficina/src/routes/auth.js:24:20"},"status":401}}
{"timestamp":"2026-07-12T06:15:28.026Z","level":"warn","context":"http","message":"POST /api/auth/login → 401 (519ms)","data":{"method":"POST","path":"/api/auth/login","status":401,"duration":519}}
{"timestamp":"2026-07-12T17:55:03.792Z","level":"info","context":"startup","message":"🐱 Miau bot running on :3000","data":{"port":3000}}
{"timestamp":"2026-07-12T17:55:06.739Z","level":"info","context":"auth.register","message":"Usuário \"novo\" registrado (id: 5)","data":{"userId":5}}
{"timestamp":"2026-07-12T17:55:06.739Z","level":"info","context":"auth.register","message":"Usuário \"novo\" registrado"}
{"timestamp":"2026-07-12T17:55:06.743Z","level":"info","context":"http","message":"POST /api/auth/register → 201 (425ms)","data":{"method":"POST","path":"/api/auth/register","status":201,"duration":425}}
{"timestamp":"2026-07-12T17:55:06.770Z","level":"info","context":"http","message":"GET /health → 200 (1ms)","data":{"method":"GET","path":"/health","status":200,"duration":1}}
{"timestamp":"2026-07-12T17:56:41.135Z","level":"info","context":"startup","message":"🐱 Miau bot running on :3000","data":{"port":3000}}
{"timestamp":"2026-07-12T22:06:44.172Z","level":"info","context":"startup","message":"🐱 Miau bot running on :3000","data":{"port":3000}}
{"timestamp":"2026-07-12T22:07:01.495Z","level":"info","context":"startup","message":"🐱 Miau bot running on :3000","data":{"port":3000}}
{"timestamp":"2026-07-12T22:07:42.395Z","level":"info","context":"startup","message":"🐱 Miau bot running on :3000","data":{"port":3000}}
{"timestamp":"2026-07-12T22:07:46.934Z","level":"info","context":"http","message":"GET /health → 200 (11ms)","data":{"method":"GET","path":"/health","status":200,"duration":11}}
{"timestamp":"2026-07-12T22:07:47.215Z","level":"warn","context":"auth.login","message":"Tentativa de login inválida para \"admin\""}
{"timestamp":"2026-07-12T22:07:47.220Z","level":"warn","context":"auth.login","message":"Tentativa de login falhou para \"admin\"","data":{"error":{"message":"Usuário ou senha inválidos","stack":"Error: Usuário ou senha inválidos\n    at Module.login (file:///var/www/vendas_oficina/src/services/auth.js:34:25)\n    at process.processTicksAndRejections (node:internal/process/task_queues:104:5)\n    at async file:///var/www/vendas_oficina/src/routes/auth.js:24:20"},"status":401}}
{"timestamp":"2026-07-12T22:07:47.223Z","level":"warn","context":"http","message":"POST /api/auth/login → 401 (225ms)","data":{"method":"POST","path":"/api/auth/login","status":401,"duration":225}}
{"timestamp":"2026-07-12T22:07:47.265Z","level":"info","context":"http","message":"GET /health → 200 (1ms)","data":{"method":"GET","path":"/health","status":200,"duration":1}}
{"timestamp":"2026-07-12T22:08:16.652Z","level":"info","context":"startup","message":"🐱 Miau bot running on :3000","data":{"port":3000}}
{"timestamp":"2026-07-12T22:08:21.483Z","level":"info","context":"auth.register","message":"Usuário \"admin\" registrado (id: 1)","data":{"userId":1}}
{"timestamp":"2026-07-12T22:08:21.489Z","level":"info","context":"auth.register","message":"Usuário \"admin\" registrado"}
{"timestamp":"2026-07-12T22:08:21.497Z","level":"info","context":"http","message":"POST /api/auth/register → 201 (245ms)","data":{"method":"POST","path":"/api/auth/register","status":201,"duration":245}}
{"timestamp":"2026-07-12T22:08:21.587Z","level":"info","context":"auth.login","message":"Usuário \"admin\" (id: 1) logou","data":{"userId":1}}
{"timestamp":"2026-07-12T22:08:21.592Z","level":"info","context":"auth.login","message":"Usuário \"admin\" logou"}
{"timestamp":"2026-07-12T22:08:21.598Z","level":"info","context":"http","message":"POST /api/auth/login → 200 (83ms)","data":{"method":"POST","path":"/api/auth/login","status":200,"duration":83}}
{"timestamp":"2026-07-12T22:08:21.781Z","level":"info","context":"http","message":"POST /api/errors → 200 (6ms)","data":{"method":"POST","path":"/api/errors","status":200,"duration":6}}
{"timestamp":"2026-07-12T22:08:21.807Z","level":"info","context":"http","message":"POST /api/errors → 200 (7ms)","data":{"method":"POST","path":"/api/errors","status":200,"duration":7}}
{"timestamp":"2026-07-12T22:08:21.821Z","level":"info","context":"http","message":"POST /api/errors → 200 (5ms)","data":{"method":"POST","path":"/api/errors","status":200,"duration":5}}
{"timestamp":"2026-07-12T22:08:21.861Z","level":"info","context":"http","message":"GET /api/errors → 200 (23ms)","data":{"method":"GET","path":"/api/errors","status":200,"duration":23,"user":1}}
{"timestamp":"2026-07-12T22:13:01.418Z","level":"info","context":"startup","message":"🐱 Miau bot running on :3000","data":{"port":3000}}
{"timestamp":"2026-07-12T22:13:06.103Z","level":"warn","context":"auth.register","message":"Tentativa de registro duplicado: \"admin\""}
{"timestamp":"2026-07-12T22:13:06.104Z","level":"error","context":"auth.register","message":"Falha no registro de \"admin\"","data":{"error":{"message":"Usuário já existe","stack":"Error: Usuário já existe\n    at Module.register (file:///var/www/vendas_oficina/src/services/auth.js:21:25)\n    at process.processTicksAndRejections (node:internal/process/task_queues:104:5)\n    at async file:///var/www/vendas_oficina/src/routes/auth.js:10:18"},"status":409}}
{"timestamp":"2026-07-12T22:13:06.129Z","level":"warn","context":"http","message":"POST /api/auth/register → 409 (204ms)","data":{"method":"POST","path":"/api/auth/register","status":409,"duration":204}}
{"timestamp":"2026-07-12T22:13:06.207Z","level":"info","context":"auth.login","message":"Usuário \"admin\" (id: 1) logou","data":{"userId":1}}
{"timestamp":"2026-07-12T22:13:06.210Z","level":"info","context":"auth.login","message":"Usuário \"admin\" logou"}
{"timestamp":"2026-07-12T22:13:06.211Z","level":"info","context":"http","message":"POST /api/auth/login → 200 (71ms)","data":{"method":"POST","path":"/api/auth/login","status":200,"duration":71}}
{"timestamp":"2026-07-12T22:13:06.303Z","level":"info","context":"http","message":"POST /api/errors → 200 (30ms)","data":{"method":"POST","path":"/api/errors","status":200,"duration":30}}
{"timestamp":"2026-07-12T22:13:06.330Z","level":"info","context":"http","message":"POST /api/errors → 200 (4ms)","data":{"method":"POST","path":"/api/errors","status":200,"duration":4}}
{"timestamp":"2026-07-12T22:13:06.397Z","level":"info","context":"http","message":"GET /api/errors?limit=10 → 200 (42ms)","data":{"method":"GET","path":"/api/errors?limit=10","status":200,"duration":42,"user":1}}
{"timestamp":"2026-07-13T01:52:14.050Z","level":"info","context":"startup","message":"🐱 Miau bot running on :3000","data":{"port":3000}}
{"timestamp":"2026-07-13T01:52:17.783Z","level":"info","context":"http","message":"POST /api/errors → 200 (195ms)","data":{"method":"POST","path":"/api/errors","status":200,"duration":195}}
{"timestamp":"2026-07-13T01:52:17.874Z","level":"info","context":"auth.login","message":"Usuário \"admin\" (id: 1) logou","data":{"userId":1}}
{"timestamp":"2026-07-13T01:52:17.875Z","level":"info","context":"auth.login","message":"Usuário \"admin\" logou"}
{"timestamp":"2026-07-13T01:52:17.877Z","level":"info","context":"http","message":"POST /api/auth/login → 200 (83ms)","data":{"method":"POST","path":"/api/auth/login","status":200,"duration":83}}
{"timestamp":"2026-07-13T01:52:17.975Z","level":"info","context":"http","message":"GET /api/errors?limit=5 → 200 (45ms)","data":{"method":"GET","path":"/api/errors?limit=5","status":200,"duration":45,"user":1}}
{"timestamp":"2026-07-13T01:55:35.688Z","level":"info","context":"startup","message":"🐱 Miau bot running on :3000","data":{"port":3000}}
{"timestamp":"2026-07-13T01:55:54.427Z","level":"warn","context":"auth.login","message":"Tentativa de login inválida para \"teste\""}
{"timestamp":"2026-07-13T01:55:54.429Z","level":"warn","context":"auth.login","message":"Tentativa de login falhou para \"teste\"","data":{"error":{"message":"Usuário ou senha inválidos","stack":"Error: Usuário ou senha inválidos\n    at Module.login (file:///var/www/vendas_oficina/src/services/auth.js:34:25)\n    at process.processTicksAndRejections (node:internal/process/task_queues:104:5)\n    at async file:///var/www/vendas_oficina/src/routes/auth.js:24:20"},"status":401}}
{"timestamp":"2026-07-13T01:55:54.453Z","level":"warn","context":"http","message":"POST /api/auth/login → 401 (152ms)","data":{"method":"POST","path":"/api/auth/login","status":401,"duration":152}}
{"timestamp":"2026-07-13T01:55:54.494Z","level":"info","context":"http","message":"POST /api/errors → 200 (5ms)","data":{"method":"POST","path":"/api/errors","status":200,"duration":5}}
{"timestamp":"2026-07-13T01:56:05.801Z","level":"info","context":"auth.register","message":"Usuário \"teste\" registrado (id: 2)","data":{"userId":2}}
{"timestamp":"2026-07-13T01:56:05.801Z","level":"info","context":"auth.register","message":"Usuário \"teste\" registrado"}
{"timestamp":"2026-07-13T01:56:05.802Z","level":"info","context":"http","message":"POST /api/auth/register → 201 (61ms)","data":{"method":"POST","path":"/api/auth/register","status":201,"duration":61}}
{"timestamp":"2026-07-13T01:56:09.689Z","level":"info","context":"auth.login","message":"Usuário \"teste\" (id: 2) logou","data":{"userId":2}}
{"timestamp":"2026-07-13T01:56:09.690Z","level":"info","context":"auth.login","message":"Usuário \"teste\" logou"}
{"timestamp":"2026-07-13T01:56:09.692Z","level":"info","context":"http","message":"POST /api/auth/login → 200 (62ms)","data":{"method":"POST","path":"/api/auth/login","status":200,"duration":62}}
{"timestamp":"2026-07-13T01:56:09.991Z","level":"info","context":"http","message":"GET /api/auth/me → 200 (9ms)","data":{"method":"GET","path":"/api/auth/me","status":200,"duration":9}}
{"timestamp":"2026-07-13T01:56:10.069Z","level":"info","context":"http","message":"GET /api/auth/me → 304 (2ms)","data":{"method":"GET","path":"/api/auth/me","status":304,"duration":2}}
{"timestamp":"2026-07-13T01:56:10.541Z","level":"info","context":"http","message":"GET /api/instances → 304 (8ms)","data":{"method":"GET","path":"/api/instances","status":304,"duration":8,"user":2}}
{"timestamp":"2026-07-13T01:56:10.548Z","level":"info","context":"conversations.list","message":"0 conversas listadas"}
{"timestamp":"2026-07-13T01:56:10.549Z","level":"info","context":"http","message":"GET /api/conversations → 200 (6ms)","data":{"method":"GET","path":"/api/conversations","status":200,"duration":6,"user":2}}
{"timestamp":"2026-07-13T01:56:10.559Z","level":"info","context":"http","message":"GET /api/conversations/count?needsHuman=true → 200 (8ms)","data":{"method":"GET","path":"/api/conversations/count?needsHuman=true","status":200,"duration":8,"user":2}}
{"timestamp":"2026-07-13T01:56:10.628Z","level":"info","context":"http","message":"GET /api/instances → 304 (2ms)","data":{"method":"GET","path":"/api/instances","status":304,"duration":2,"user":2}}
{"timestamp":"2026-07-13T01:56:10.631Z","level":"info","context":"http","message":"GET /api/conversations/count?needsHuman=true → 304 (2ms)","data":{"method":"GET","path":"/api/conversations/count?needsHuman=true","status":304,"duration":2,"user":2}}
{"timestamp":"2026-07-13T01:56:10.633Z","level":"info","context":"conversations.list","message":"0 conversas listadas"}
{"timestamp":"2026-07-13T01:56:10.634Z","level":"info","context":"http","message":"GET /api/conversations → 304 (2ms)","data":{"method":"GET","path":"/api/conversations","status":304,"duration":2,"user":2}}
{"timestamp":"2026-07-13T01:56:13.709Z","level":"info","context":"conversations.list","message":"0 conversas listadas"}
{"timestamp":"2026-07-13T01:56:13.710Z","level":"info","context":"http","message":"GET /api/conversations?filter=needsHuman → 200 (5ms)","data":{"method":"GET","path":"/api/conversations?filter=needsHuman","status":200,"duration":5,"user":2}}
{"timestamp":"2026-07-13T01:56:15.002Z","level":"info","context":"conversations.list","message":"0 conversas listadas"}
{"timestamp":"2026-07-13T01:56:15.003Z","level":"info","context":"http","message":"GET /api/conversations → 304 (2ms)","data":{"method":"GET","path":"/api/conversations","status":304,"duration":2,"user":2}}
{"timestamp":"2026-07-13T01:56:20.467Z","level":"info","context":"http","message":"GET /api/conversations/count?needsHuman=true → 304 (2ms)","data":{"method":"GET","path":"/api/conversations/count?needsHuman=true","status":304,"duration":2,"user":2}}
{"timestamp":"2026-07-13T01:56:20.470Z","level":"info","context":"http","message":"GET /api/instances → 304 (1ms)","data":{"method":"GET","path":"/api/instances","status":304,"duration":1,"user":2}}
{"timestamp":"2026-07-13T01:56:20.598Z","level":"info","context":"http","message":"GET /api/instances → 304 (2ms)","data":{"method":"GET","path":"/api/instances","status":304,"duration":2,"user":2}}
{"timestamp":"2026-07-13T01:56:20.602Z","level":"info","context":"http","message":"GET /api/conversations/count?needsHuman=true → 304 (2ms)","data":{"method":"GET","path":"/api/conversations/count?needsHuman=true","status":304,"duration":2,"user":2}}
{"timestamp":"2026-07-13T01:56:20.666Z","level":"info","context":"http","message":"GET /api/instances → 304 (2ms)","data":{"method":"GET","path":"/api/instances","status":304,"duration":2,"user":2}}
{"timestamp":"2026-07-13T01:56:20.727Z","level":"info","context":"http","message":"GET /api/instances → 304 (1ms)","data":{"method":"GET","path":"/api/instances","status":304,"duration":1,"user":2}}
{"timestamp":"2026-07-13T01:56:32.087Z","level":"info","context":"instances.create","message":"Criando instância \"lima\""}
{"timestamp":"2026-07-13T01:56:32.175Z","level":"error","context":"evolution.api","message":"POST /instance/create → FAIL","data":{"error":{"message":"Request failed with status code 400","stack":"AxiosError: Request failed with status code 400\n    at settle (file:///var/www/vendas_oficina/node_modules/.pnpm/axios@1.18.1/node_modules/axios/lib/core/settle.js:19:12)\n    at IncomingMessage.handleStreamEnd (file:///var/www/vendas_oficina/node_modules/.pnpm/axios@1.18.1/node_modules/axios/lib/adapters/http.js:1237:13)\n    at IncomingMessage.emit (node:events:520:35)\n    at endReadableNT (node:internal/streams/readable:1729:12)\n    at process.processTicksAndRejections (node:internal/process/task_queues:90:21)"},"response":{"status":400,"error":"Bad Request","response":{"message":["Invalid integration"]}},"status":400}}
{"timestamp":"2026-07-13T01:56:32.183Z","level":"error","context":"instances.create","message":"Falha ao criar instância \"lima\"","data":{"error":{"message":"Request failed with status code 400","stack":"AxiosError: Request failed with status code 400\n    at settle (file:///var/www/vendas_oficina/node_modules/.pnpm/axios@1.18.1/node_modules/axios/lib/core/settle.js:19:12)\n    at IncomingMessage.handleStreamEnd (file:///var/www/vendas_oficina/node_modules/.pnpm/axios@1.18.1/node_modules/axios/lib/adapters/http.js:1237:13)\n    at IncomingMessage.emit (node:events:520:35)\n    at endReadableNT (node:internal/streams/readable:1729:12)\n    at process.processTicksAndRejections (node:internal/process/task_queues:90:21)"},"response":{"status":400,"error":"Bad Request","response":{"message":["Invalid integration"]}},"status":400}}
{"timestamp":"2026-07-13T01:56:32.189Z","level":"warn","context":"http","message":"POST /api/instances → 400 (103ms)","data":{"method":"POST","path":"/api/instances","status":400,"duration":103,"user":2}}
{"timestamp":"2026-07-13T01:56:32.595Z","level":"info","context":"http","message":"POST /api/errors → 200 (3ms)","data":{"method":"POST","path":"/api/errors","status":200,"duration":3}}
{"timestamp":"2026-07-13T01:56:32.602Z","level":"info","context":"http","message":"POST /api/errors → 200 (4ms)","data":{"method":"POST","path":"/api/errors","status":200,"duration":4}}
{"timestamp":"2026-07-13T01:59:17.208Z","level":"info","context":"startup","message":"🐱 Miau bot running on :3000","data":{"port":3000}}
{"timestamp":"2026-07-13T01:59:21.707Z","level":"info","context":"http","message":"GET /api/auth/me → 304 (141ms)","data":{"method":"GET","path":"/api/auth/me","status":304,"duration":141}}
{"timestamp":"2026-07-13T01:59:21.742Z","level":"info","context":"http","message":"GET /api/auth/me → 304 (3ms)","data":{"method":"GET","path":"/api/auth/me","status":304,"duration":3}}
{"timestamp":"2026-07-13T01:59:21.839Z","level":"info","context":"http","message":"GET /api/conversations/count?needsHuman=true → 304 (8ms)","data":{"method":"GET","path":"/api/conversations/count?needsHuman=true","status":304,"duration":8,"user":2}}
{"timestamp":"2026-07-13T01:59:21.849Z","level":"info","context":"http","message":"GET /api/instances → 304 (7ms)","data":{"method":"GET","path":"/api/instances","status":304,"duration":7,"user":2}}
{"timestamp":"2026-07-13T01:59:21.877Z","level":"info","context":"http","message":"GET /api/conversations/count?needsHuman=true → 304 (3ms)","data":{"method":"GET","path":"/api/conversations/count?needsHuman=true","status":304,"duration":3,"user":2}}
{"timestamp":"2026-07-13T01:59:21.886Z","level":"info","context":"http","message":"GET /api/instances → 304 (3ms)","data":{"method":"GET","path":"/api/instances","status":304,"duration":3,"user":2}}
{"timestamp":"2026-07-13T01:59:21.949Z","level":"info","context":"http","message":"GET /api/instances → 304 (3ms)","data":{"method":"GET","path":"/api/instances","status":304,"duration":3,"user":2}}
{"timestamp":"2026-07-13T01:59:22.020Z","level":"info","context":"http","message":"GET /api/instances → 304 (3ms)","data":{"method":"GET","path":"/api/instances","status":304,"duration":3,"user":2}}
{"timestamp":"2026-07-13T01:59:27.954Z","level":"info","context":"instances.create","message":"Criando instância \"lima\""}
{"timestamp":"2026-07-13T01:59:28.091Z","level":"info","context":"evolution.api","message":"POST /instance/create → 201","data":{}}
{"timestamp":"2026-07-13T01:59:28.099Z","level":"error","context":"evolution.api","message":"POST /instance/setWebhook/lima → FAIL","data":{"error":{"message":"Request failed with status code 404","stack":"AxiosError: Request failed with status code 404\n    at settle (file:///var/www/vendas_oficina/node_modules/.pnpm/axios@1.18.1/node_modules/axios/lib/core/settle.js:19:12)\n    at IncomingMessage.handleStreamEnd (file:///var/www/vendas_oficina/node_modules/.pnpm/axios@1.18.1/node_modules/axios/lib/adapters/http.js:1237:13)\n    at IncomingMessage.emit (node:events:520:35)\n    at endReadableNT (node:internal/streams/readable:1729:12)\n    at process.processTicksAndRejections (node:internal/process/task_queues:90:21)"},"response":{"status":404,"error":"Not Found","response":{"message":["Cannot POST /instance/setWebhook/lima"]}},"status":404}}
{"timestamp":"2026-07-13T01:59:28.115Z","level":"error","context":"instances.create","message":"Falha ao configurar webhook para \"lima\"","data":{"error":{"message":"Request failed with status code 404","stack":"AxiosError: Request failed with status code 404\n    at settle (file:///var/www/vendas_oficina/node_modules/.pnpm/axios@1.18.1/node_modules/axios/lib/core/settle.js:19:12)\n    at IncomingMessage.handleStreamEnd (file:///var/www/vendas_oficina/node_modules/.pnpm/axios@1.18.1/node_modules/axios/lib/adapters/http.js:1237:13)\n    at IncomingMessage.emit (node:events:520:35)\n    at endReadableNT (node:internal/streams/readable:1729:12)\n    at process.processTicksAndRejections (node:internal/process/task_queues:90:21)"},"webhookUrl":"http://localhost:3000/webhook"}}
{"timestamp":"2026-07-13T01:59:28.127Z","level":"info","context":"instances.create","message":"Instância \"lima\" criada e registrada para user 2"}
{"timestamp":"2026-07-13T01:59:28.129Z","level":"info","context":"http","message":"POST /api/instances → 200 (176ms)","data":{"method":"POST","path":"/api/instances","status":200,"duration":176,"user":2}}
{"timestamp":"2026-07-13T01:59:28.228Z","level":"info","context":"evolution.api","message":"GET /instance/connectionState/lima → 200","data":{}}
{"timestamp":"2026-07-13T01:59:28.231Z","level":"info","context":"http","message":"GET /api/instances → 200 (12ms)","data":{"method":"GET","path":"/api/instances","status":200,"duration":12,"user":2}}
{"timestamp":"2026-07-13T01:59:30.993Z","level":"error","context":"evolution.api","message":"GET /instance/connect/Lima?number=5551999309404 → FAIL","data":{"error":{"message":"Request failed with status code 404","stack":"AxiosError: Request failed with status code 404\n    at settle (file:///var/www/vendas_oficina/node_modules/.pnpm/axios@1.18.1/node_modules/axios/lib/core/settle.js:19:12)\n    at IncomingMessage.handleStreamEnd (file:///var/www/vendas_oficina/node_modules/.pnpm/axios@1.18.1/node_modules/axios/lib/adapters/http.js:1237:13)\n    at IncomingMessage.emit (node:events:520:35)\n    at endReadableNT (node:internal/streams/readable:1729:12)\n    at process.processTicksAndRejections (node:internal/process/task_queues:90:21)"},"response":{"status":404,"error":"Not Found","response":{"message":["The \"Lima\" instance does not exist"]}},"status":404}}
{"timestamp":"2026-07-13T01:59:31.002Z","level":"error","context":"instances.pairing","message":"Falha ao gerar pairing code para \"Lima\"","data":{"error":{"message":"Request failed with status code 404","stack":"AxiosError: Request failed with status code 404\n    at settle (file:///var/www/vendas_oficina/node_modules/.pnpm/axios@1.18.1/node_modules/axios/lib/core/settle.js:19:12)\n    at IncomingMessage.handleStreamEnd (file:///var/www/vendas_oficina/node_modules/.pnpm/axios@1.18.1/node_modules/axios/lib/adapters/http.js:1237:13)\n    at IncomingMessage.emit (node:events:520:35)\n    at endReadableNT (node:internal/streams/readable:1729:12)\n    at process.processTicksAndRejections (node:internal/process/task_queues:90:21)"},"response":{"status":404,"error":"Not Found","response":{"message":["The \"Lima\" instance does not exist"]}},"status":404}}
{"timestamp":"2026-07-13T01:59:31.009Z","level":"warn","context":"http","message":"GET /api/instances/Lima/pairing?number=5551999309404 → 404 (22ms)","data":{"method":"GET","path":"/api/instances/Lima/pairing?number=5551999309404","status":404,"duration":22,"user":2}}
{"timestamp":"2026-07-13T01:59:31.151Z","level":"info","context":"http","message":"POST /api/errors → 200 (5ms)","data":{"method":"POST","path":"/api/errors","status":200,"duration":5}}
{"timestamp":"2026-07-13T01:59:31.155Z","level":"info","context":"http","message":"POST /api/errors → 200 (3ms)","data":{"method":"POST","path":"/api/errors","status":200,"duration":3}}
{"timestamp":"2026-07-13T02:04:06.361Z","level":"info","context":"startup","message":"🐱 Miau bot running on :3000","data":{"port":3000}}
{"timestamp":"2026-07-13T02:04:11.759Z","level":"info","context":"http","message":"GET /api/conversations/count?needsHuman=true → 304 (194ms)","data":{"method":"GET","path":"/api/conversations/count?needsHuman=true","status":304,"duration":194,"user":2}}
{"timestamp":"2026-07-13T02:04:13.004Z","level":"info","context":"http","message":"GET /api/auth/me → 304 (2ms)","data":{"method":"GET","path":"/api/auth/me","status":304,"duration":2}}
{"timestamp":"2026-07-13T02:04:13.054Z","level":"info","context":"http","message":"GET /api/auth/me → 304 (2ms)","data":{"method":"GET","path":"/api/auth/me","status":304,"duration":2}}
{"timestamp":"2026-07-13T02:04:13.284Z","level":"info","context":"http","message":"GET /api/conversations/count?needsHuman=true → 304 (2ms)","data":{"method":"GET","path":"/api/conversations/count?needsHuman=true","status":304,"duration":2,"user":2}}
{"timestamp":"2026-07-13T02:04:13.295Z","level":"error","context":"evolution.api","message":"GET /instance/connectionState/lima → FAIL","data":{"error":{"message":"Request failed with status code 404","stack":"AxiosError: Request failed with status code 404\n    at settle (file:///var/www/vendas_oficina/node_modules/.pnpm/axios@1.18.1/node_modules/axios/lib/core/settle.js:19:12)\n    at IncomingMessage.handleStreamEnd (file:///var/www/vendas_oficina/node_modules/.pnpm/axios@1.18.1/node_modules/axios/lib/adapters/http.js:1237:13)\n    at IncomingMessage.emit (node:events:520:35)\n    at endReadableNT (node:internal/streams/readable:1729:12)\n    at process.processTicksAndRejections (node:internal/process/task_queues:90:21)"},"response":{"status":404,"error":"Not Found","response":{"message":["The \"lima\" instance does not exist"]}},"status":404}}
{"timestamp":"2026-07-13T02:04:13.323Z","level":"info","context":"http","message":"GET /api/instances → 200 (57ms)","data":{"method":"GET","path":"/api/instances","status":200,"duration":57,"user":2}}
{"timestamp":"2026-07-13T02:04:13.328Z","level":"info","context":"http","message":"GET /api/conversations/count?needsHuman=true → 304 (2ms)","data":{"method":"GET","path":"/api/conversations/count?needsHuman=true","status":304,"duration":2,"user":2}}
{"timestamp":"2026-07-13T02:04:13.369Z","level":"error","context":"evolution.api","message":"GET /instance/connectionState/lima → FAIL","data":{"error":{"message":"Request failed with status code 404","stack":"AxiosError: Request failed with status code 404\n    at settle (file:///var/www/vendas_oficina/node_modules/.pnpm/axios@1.18.1/node_modules/axios/lib/core/settle.js:19:12)\n    at IncomingMessage.handleStreamEnd (file:///var/www/vendas_oficina/node_modules/.pnpm/axios@1.18.1/node_modules/axios/lib/adapters/http.js:1237:13)\n    at IncomingMessage.emit (node:events:520:35)\n    at endReadableNT (node:internal/streams/readable:1729:12)\n    at process.processTicksAndRejections (node:internal/process/task_queues:90:21)"},"response":{"status":404,"error":"Not Found","response":{"message":["The \"lima\" instance does not exist"]}},"status":404}}
{"timestamp":"2026-07-13T02:04:13.379Z","level":"info","context":"http","message":"GET /api/instances → 304 (18ms)","data":{"method":"GET","path":"/api/instances","status":304,"duration":18,"user":2}}
{"timestamp":"2026-07-13T02:04:13.457Z","level":"error","context":"evolution.api","message":"GET /instance/connectionState/lima → FAIL","data":{"error":{"message":"Request failed with status code 404","stack":"AxiosError: Request failed with status code 404\n    at settle (file:///var/www/vendas_oficina/node_modules/.pnpm/axios@1.18.1/node_modules/axios/lib/core/settle.js:19:12)\n    at IncomingMessage.handleStreamEnd (file:///var/www/vendas_oficina/node_modules/.pnpm/axios@1.18.1/node_modules/axios/lib/adapters/http.js:1237:13)\n    at IncomingMessage.emit (node:events:520:35)\n    at endReadableNT (node:internal/streams/readable:1729:12)\n    at process.processTicksAndRejections (node:internal/process/task_queues:90:21)"},"response":{"status":404,"error":"Not Found","response":{"message":["The \"lima\" instance does not exist"]}},"status":404}}
{"timestamp":"2026-07-13T02:04:13.465Z","level":"info","context":"http","message":"GET /api/instances → 304 (16ms)","data":{"method":"GET","path":"/api/instances","status":304,"duration":16,"user":2}}
{"timestamp":"2026-07-13T02:04:13.554Z","level":"error","context":"evolution.api","message":"GET /instance/connectionState/lima → FAIL","data":{"error":{"message":"Request failed with status code 404","stack":"AxiosError: Request failed with status code 404\n    at settle (file:///var/www/vendas_oficina/node_modules/.pnpm/axios@1.18.1/node_modules/axios/lib/core/settle.js:19:12)\n    at IncomingMessage.handleStreamEnd (file:///var/www/vendas_oficina/node_modules/.pnpm/axios@1.18.1/node_modules/axios/lib/adapters/http.js:1237:13)\n    at IncomingMessage.emit (node:events:520:35)\n    at endReadableNT (node:internal/streams/readable:1729:12)\n    at process.processTicksAndRejections (node:internal/process/task_queues:90:21)"},"response":{"status":404,"error":"Not Found","response":{"message":["The \"lima\" instance does not exist"]}},"status":404}}
{"timestamp":"2026-07-13T02:04:13.561Z","level":"info","context":"http","message":"GET /api/instances → 304 (14ms)","data":{"method":"GET","path":"/api/instances","status":304,"duration":14,"user":2}}
{"timestamp":"2026-07-13T02:04:25.039Z","level":"info","context":"instances.create","message":"Criando instância \"lima\""}
{"timestamp":"2026-07-13T02:04:25.057Z","level":"info","context":"evolution.api","message":"POST /instance/create → 201","data":{}}
{"timestamp":"2026-07-13T02:04:25.073Z","level":"info","context":"evolution.api","message":"POST /webhook/set/lima → 201","data":{}}
{"timestamp":"2026-07-13T02:04:25.074Z","level":"info","context":"instances.webhook","message":"Webhook configurado: http://localhost:3000/webhook"}
{"timestamp":"2026-07-13T02:04:25.082Z","level":"error","context":"instances.create","message":"Falha ao criar instância \"lima\"","data":{"error":{"message":"\nInvalid `prisma.userInstance.create()` invocation:\n\n\nUnique constraint failed on the fields: (`user_id`, `instance_name`)","stack":"PrismaClientKnownRequestError: \nInvalid `prisma.userInstance.create()` invocation:\n\n\nUnique constraint failed on the fields: (`user_id`, `instance_name`)\n    at zr.handleRequestError (/var/www/vendas_oficina/node_modules/.pnpm/@prisma+client@7.8.0_prisma@7.8.0_@types+react-dom@19.2.3_@types+react@19.2.17__@types+_a378125276922d521c1f5a702e959353/node_modules/@prisma/client/runtime/client.js:65:8286)"}}}
{"timestamp":"2026-07-13T02:04:25.093Z","level":"error","context":"http","message":"POST /api/instances → 502 (55ms)","data":{"method":"POST","path":"/api/instances","status":502,"duration":55,"user":2}}
{"timestamp":"2026-07-13T02:04:25.166Z","level":"info","context":"http","message":"POST /api/errors → 200 (3ms)","data":{"method":"POST","path":"/api/errors","status":200,"duration":3}}
{"timestamp":"2026-07-13T02:04:25.551Z","level":"info","context":"http","message":"POST /api/errors → 200 (5ms)","data":{"method":"POST","path":"/api/errors","status":200,"duration":5}}
{"timestamp":"2026-07-13T02:04:33.057Z","level":"info","context":"instances.create","message":"Criando instância \"aaaaaaaa\""}
{"timestamp":"2026-07-13T02:04:33.070Z","level":"info","context":"evolution.api","message":"POST /instance/create → 201","data":{}}
{"timestamp":"2026-07-13T02:04:33.080Z","level":"info","context":"evolution.api","message":"POST /webhook/set/aaaaaaaa → 201","data":{}}
{"timestamp":"2026-07-13T02:04:33.081Z","level":"info","context":"instances.webhook","message":"Webhook configurado: http://localhost:3000/webhook"}
{"timestamp":"2026-07-13T02:04:33.090Z","level":"info","context":"instances.create","message":"Instância \"aaaaaaaa\" criada e registrada para user 2"}
{"timestamp":"2026-07-13T02:04:33.093Z","level":"info","context":"http","message":"POST /api/instances → 200 (37ms)","data":{"method":"POST","path":"/api/instances","status":200,"duration":37,"user":2}}
{"timestamp":"2026-07-13T02:04:33.348Z","level":"info","context":"evolution.api","message":"GET /instance/connectionState/aaaaaaaa → 200","data":{}}
{"timestamp":"2026-07-13T02:04:33.353Z","level":"info","context":"evolution.api","message":"GET /instance/connectionState/lima → 200","data":{}}
{"timestamp":"2026-07-13T02:04:33.356Z","level":"info","context":"http","message":"GET /api/instances → 200 (16ms)","data":{"method":"GET","path":"/api/instances","status":200,"duration":16,"user":2}}
{"timestamp":"2026-07-13T02:04:42.575Z","level":"info","context":"evolution.api","message":"GET /instance/connect/aaaaaaaa?number=5551999309404 → 200","data":{}}
{"timestamp":"2026-07-13T02:04:42.578Z","level":"info","context":"http","message":"GET /api/instances/aaaaaaaa/pairing?number=5551999309404 → 200 (7123ms)","data":{"method":"GET","path":"/api/instances/aaaaaaaa/pairing?number=5551999309404","status":200,"duration":7123,"user":2}}
{"timestamp":"2026-07-13T02:04:43.153Z","level":"info","context":"http","message":"GET /api/conversations/count?needsHuman=true → 304 (2ms)","data":{"method":"GET","path":"/api/conversations/count?needsHuman=true","status":304,"duration":2,"user":2}}
{"timestamp":"2026-07-13T02:04:47.815Z","level":"info","context":"evolution.api","message":"GET /instance/connectionState/aaaaaaaa → 200","data":{}}
{"timestamp":"2026-07-13T02:04:47.815Z","level":"info","context":"http","message":"GET /api/instances/aaaaaaaa/status → 200 (7ms)","data":{"method":"GET","path":"/api/instances/aaaaaaaa/status","status":200,"duration":7,"user":2}}
{"timestamp":"2026-07-13T02:04:52.912Z","level":"info","context":"evolution.api","message":"GET /instance/connectionState/aaaaaaaa → 200","data":{}}
{"timestamp":"2026-07-13T02:04:52.912Z","level":"info","context":"http","message":"GET /api/instances/aaaaaaaa/status → 304 (8ms)","data":{"method":"GET","path":"/api/instances/aaaaaaaa/status","status":304,"duration":8,"user":2}}
{"timestamp":"2026-07-13T02:13:54.132Z","level":"info","context":"startup","message":"🐱 Miau bot running on :3000","data":{"port":3000}}
{"timestamp":"2026-07-13T02:13:55.971Z","level":"info","context":"http","message":"GET /api/health → 200 (10ms)","data":{"method":"GET","path":"/api/health","status":200,"duration":10}}
{"timestamp":"2026-07-13T02:14:12.917Z","level":"warn","context":"http","message":"POST /api/login → 404 (11ms)","data":{"method":"POST","path":"/api/login","status":404,"duration":11}}
{"timestamp":"2026-07-13T02:14:13.235Z","level":"warn","context":"http","message":"POST /api/instances → 401 (2ms)","data":{"method":"POST","path":"/api/instances","status":401,"duration":2}}
{"timestamp":"2026-07-13T02:14:17.142Z","level":"warn","context":"http","message":"POST /api/login → 404 (1ms)","data":{"method":"POST","path":"/api/login","status":404,"duration":1}}
{"timestamp":"2026-07-13T02:15:14.489Z","level":"warn","context":"auth.login","message":"Tentativa de login inválida para \"admin\""}
{"timestamp":"2026-07-13T02:15:14.490Z","level":"warn","context":"auth.login","message":"Tentativa de login falhou para \"admin\"","data":{"error":{"message":"Usuário ou senha inválidos","stack":"Error: Usuário ou senha inválidos\n    at Module.login (file:///var/www/vendas_oficina/src/services/auth.js:34:25)\n    at process.processTicksAndRejections (node:internal/process/task_queues:104:5)\n    at async file:///var/www/vendas_oficina/src/routes/auth.js:24:20"},"status":401}}
{"timestamp":"2026-07-13T02:15:14.504Z","level":"warn","context":"http","message":"POST /api/auth/login → 401 (84ms)","data":{"method":"POST","path":"/api/auth/login","status":401,"duration":84}}
{"timestamp":"2026-07-13T02:15:14.515Z","level":"warn","context":"auth.session","message":"Token inválido usado"}
{"timestamp":"2026-07-13T02:15:14.522Z","level":"warn","context":"auth.requireAuth","message":"Token rejeitado","data":{"error":{"message":"Token inválido","stack":"Error: Token inválido\n    at validateSession (file:///var/www/vendas_oficina/src/services/auth.js:49:25)\n    at process.processTicksAndRejections (node:internal/process/task_queues:104:5)\n    at async requireAuth (file:///var/www/vendas_oficina/src/middleware/auth.js:10:16)"}}}
{"timestamp":"2026-07-13T02:15:14.527Z","level":"warn","context":"http","message":"POST /api/instances → 401 (18ms)","data":{"method":"POST","path":"/api/instances","status":401,"duration":18}}
{"timestamp":"2026-07-13T02:15:25.806Z","level":"warn","context":"auth.login","message":"Tentativa de login inválida para \"admin\""}
{"timestamp":"2026-07-13T02:15:25.808Z","level":"warn","context":"auth.login","message":"Tentativa de login falhou para \"admin\"","data":{"error":{"message":"Usuário ou senha inválidos","stack":"Error: Usuário ou senha inválidos\n    at Module.login (file:///var/www/vendas_oficina/src/services/auth.js:34:25)\n    at process.processTicksAndRejections (node:internal/process/task_queues:104:5)\n    at async file:///var/www/vendas_oficina/src/routes/auth.js:24:20"},"status":401}}
{"timestamp":"2026-07-13T02:15:25.820Z","level":"warn","context":"http","message":"POST /api/auth/login → 401 (66ms)","data":{"method":"POST","path":"/api/auth/login","status":401,"duration":66}}
{"timestamp":"2026-07-13T02:15:59.394Z","level":"info","context":"startup","message":"🐱 Miau bot running on :3000","data":{"port":3000}}
{"timestamp":"2026-07-13T02:16:03.212Z","level":"warn","context":"auth.login","message":"Tentativa de login inválida para \"admin\""}
{"timestamp":"2026-07-13T02:16:03.214Z","level":"warn","context":"auth.login","message":"Tentativa de login falhou para \"admin\"","data":{"error":{"message":"Usuário ou senha inválidos","stack":"Error: Usuário ou senha inválidos\n    at Module.login (file:///var/www/vendas_oficina/src/services/auth.js:34:25)\n    at process.processTicksAndRejections (node:internal/process/task_queues:104:5)\n    at async file:///var/www/vendas_oficina/src/routes/auth.js:24:20"},"status":401}}
{"timestamp":"2026-07-13T02:16:03.239Z","level":"warn","context":"http","message":"POST /api/auth/login → 401 (213ms)","data":{"method":"POST","path":"/api/auth/login","status":401,"duration":213}}
{"timestamp":"2026-07-13T02:16:09.865Z","level":"warn","context":"auth.register","message":"Tentativa de registro duplicado: \"admin\""}
{"timestamp":"2026-07-13T02:16:09.866Z","level":"error","context":"auth.register","message":"Falha no registro de \"admin\"","data":{"error":{"message":"Usuário já existe","stack":"Error: Usuário já existe\n    at Module.register (file:///var/www/vendas_oficina/src/services/auth.js:21:25)\n    at process.processTicksAndRejections (node:internal/process/task_queues:104:5)\n    at async file:///var/www/vendas_oficina/src/routes/auth.js:10:18"},"status":409}}
{"timestamp":"2026-07-13T02:16:09.893Z","level":"warn","context":"http","message":"POST /api/auth/register → 409 (29ms)","data":{"method":"POST","path":"/api/auth/register","status":409,"duration":29}}
{"timestamp":"2026-07-13T02:47:59.608Z","level":"error","context":"uncaught","message":"Exceção não capturada","data":{"error":{"message":"listen EADDRINUSE: address already in use 0.0.0.0:3000","stack":"Error: listen EADDRINUSE: address already in use 0.0.0.0:3000\n    at Server.setupListenHandle [as _listen2] (node:net:1948:16)\n    at listenInCluster (node:net:2005:12)\n    at node:net:2214:7\n    at process.processTicksAndRejections (node:internal/process/task_queues:90:21)"}}}
{"timestamp":"2026-07-13T02:48:27.192Z","level":"info","context":"startup","message":"🐱 Miau bot running on :3000","data":{"port":3000}}
{"timestamp":"2026-07-13T02:48:37.586Z","level":"info","context":"auth.login","message":"Usuário \"teste\" (id: 2) logou","data":{"userId":2}}
{"timestamp":"2026-07-13T02:48:37.588Z","level":"info","context":"auth.login","message":"Usuário \"teste\" logou"}
{"timestamp":"2026-07-13T02:48:37.593Z","level":"info","context":"http","message":"POST /api/auth/login → 200 (202ms)","data":{"method":"POST","path":"/api/auth/login","status":200,"duration":202}}
{"timestamp":"2026-07-13T02:48:37.993Z","level":"info","context":"http","message":"GET /api/auth/me → 304 (10ms)","data":{"method":"GET","path":"/api/auth/me","status":304,"duration":10}}
{"timestamp":"2026-07-13T02:48:38.162Z","level":"info","context":"http","message":"GET /api/auth/me → 304 (2ms)","data":{"method":"GET","path":"/api/auth/me","status":304,"duration":2}}
{"timestamp":"2026-07-13T02:48:38.352Z","level":"info","context":"conversations.list","message":"0 conversas listadas"}
{"timestamp":"2026-07-13T02:48:38.353Z","level":"info","context":"http","message":"GET /api/conversations → 304 (11ms)","data":{"method":"GET","path":"/api/conversations","status":304,"duration":11,"user":2}}
{"timestamp":"2026-07-13T02:48:38.364Z","level":"info","context":"http","message":"GET /api/conversations/count?needsHuman=true → 304 (8ms)","data":{"method":"GET","path":"/api/conversations/count?needsHuman=true","status":304,"duration":8,"user":2}}
{"timestamp":"2026-07-13T02:48:38.562Z","level":"info","context":"evolution.api","message":"GET /instance/connectionState/aaaaaaaa → 200","data":{}}
{"timestamp":"2026-07-13T02:48:38.564Z","level":"info","context":"evolution.api","message":"GET /instance/connectionState/lima → 200","data":{}}
{"timestamp":"2026-07-13T02:48:38.565Z","level":"info","context":"http","message":"GET /api/instances → 304 (46ms)","data":{"method":"GET","path":"/api/instances","status":304,"duration":46,"user":2}}
{"timestamp":"2026-07-13T02:48:38.568Z","level":"info","context":"http","message":"GET /api/conversations/count?needsHuman=true → 304 (2ms)","data":{"method":"GET","path":"/api/conversations/count?needsHuman=true","status":304,"duration":2,"user":2}}
{"timestamp":"2026-07-13T02:48:38.571Z","level":"info","context":"conversations.list","message":"0 conversas listadas"}
{"timestamp":"2026-07-13T02:48:38.572Z","level":"info","context":"http","message":"GET /api/conversations → 304 (3ms)","data":{"method":"GET","path":"/api/conversations","status":304,"duration":3,"user":2}}
{"timestamp":"2026-07-13T02:48:38.754Z","level":"info","context":"evolution.api","message":"GET /instance/connectionState/aaaaaaaa → 200","data":{}}
{"timestamp":"2026-07-13T02:48:38.755Z","level":"info","context":"evolution.api","message":"GET /instance/connectionState/lima → 200","data":{}}
{"timestamp":"2026-07-13T02:48:38.756Z","level":"info","context":"http","message":"GET /api/instances → 304 (15ms)","data":{"method":"GET","path":"/api/instances","status":304,"duration":15,"user":2}}
{"timestamp":"2026-07-13T02:48:45.923Z","level":"info","context":"http","message":"GET /api/conversations/count?needsHuman=true → 304 (2ms)","data":{"method":"GET","path":"/api/conversations/count?needsHuman=true","status":304,"duration":2,"user":2}}
{"timestamp":"2026-07-13T02:48:45.939Z","level":"info","context":"evolution.api","message":"GET /instance/connectionState/aaaaaaaa → 200","data":{}}
{"timestamp":"2026-07-13T02:48:45.940Z","level":"info","context":"evolution.api","message":"GET /instance/connectionState/lima → 200","data":{}}
{"timestamp":"2026-07-13T02:48:45.941Z","level":"info","context":"http","message":"GET /api/instances → 304 (17ms)","data":{"method":"GET","path":"/api/instances","status":304,"duration":17,"user":2}}
{"timestamp":"2026-07-13T02:48:45.966Z","level":"info","context":"http","message":"GET /api/conversations/count?needsHuman=true → 304 (2ms)","data":{"method":"GET","path":"/api/conversations/count?needsHuman=true","status":304,"duration":2,"user":2}}
{"timestamp":"2026-07-13T02:48:46.095Z","level":"info","context":"evolution.api","message":"GET /instance/connectionState/aaaaaaaa → 200","data":{}}
{"timestamp":"2026-07-13T02:48:46.097Z","level":"info","context":"evolution.api","message":"GET /instance/connectionState/lima → 200","data":{}}
{"timestamp":"2026-07-13T02:48:46.098Z","level":"info","context":"http","message":"GET /api/instances → 304 (14ms)","data":{"method":"GET","path":"/api/instances","status":304,"duration":14,"user":2}}
{"timestamp":"2026-07-13T02:48:46.210Z","level":"info","context":"evolution.api","message":"GET /instance/connectionState/aaaaaaaa → 200","data":{}}
{"timestamp":"2026-07-13T02:48:46.211Z","level":"info","context":"evolution.api","message":"GET /instance/connectionState/lima → 200","data":{}}
{"timestamp":"2026-07-13T02:48:46.212Z","level":"info","context":"http","message":"GET /api/instances → 304 (18ms)","data":{"method":"GET","path":"/api/instances","status":304,"duration":18,"user":2}}
{"timestamp":"2026-07-13T02:48:46.291Z","level":"info","context":"evolution.api","message":"GET /instance/connectionState/aaaaaaaa → 200","data":{}}
{"timestamp":"2026-07-13T02:48:46.293Z","level":"info","context":"evolution.api","message":"GET /instance/connectionState/lima → 200","data":{}}
{"timestamp":"2026-07-13T02:48:46.294Z","level":"info","context":"http","message":"GET /api/instances → 304 (17ms)","data":{"method":"GET","path":"/api/instances","status":304,"duration":17,"user":2}}
{"timestamp":"2026-07-13T02:49:02.832Z","level":"info","context":"instances.create","message":"Criando instância \"lllima\""}
{"timestamp":"2026-07-13T02:49:02.920Z","level":"info","context":"evolution.api","message":"POST /instance/create → 201","data":{}}
{"timestamp":"2026-07-13T02:49:02.933Z","level":"info","context":"evolution.api","message":"POST /webhook/set/lllima → 201","data":{}}
{"timestamp":"2026-07-13T02:49:02.934Z","level":"info","context":"instances.webhook","message":"Webhook configurado: http://localhost:3000/webhook"}
{"timestamp":"2026-07-13T02:49:05.001Z","level":"info","context":"evolution.api","message":"GET /instance/connect/lllima?number=5551999309404 → 200","data":{}}
{"timestamp":"2026-07-13T02:49:05.002Z","level":"info","context":"instances.create","message":"Instância \"lllima\" criada e registrada para user 2"}
{"timestamp":"2026-07-13T02:49:05.005Z","level":"info","context":"http","message":"POST /api/instances → 200 (2175ms)","data":{"method":"POST","path":"/api/instances","status":200,"duration":2175,"user":2}}
{"timestamp":"2026-07-13T02:49:05.541Z","level":"info","context":"evolution.api","message":"GET /instance/connectionState/lllima → 200","data":{}}
{"timestamp":"2026-07-13T02:49:05.549Z","level":"info","context":"evolution.api","message":"GET /instance/connectionState/aaaaaaaa → 200","data":{}}
{"timestamp":"2026-07-13T02:49:05.550Z","level":"info","context":"evolution.api","message":"GET /instance/connectionState/lima → 200","data":{}}
{"timestamp":"2026-07-13T02:49:05.553Z","level":"info","context":"http","message":"GET /api/instances → 200 (20ms)","data":{"method":"GET","path":"/api/instances","status":200,"duration":20,"user":2}}
{"timestamp":"2026-07-13T02:49:12.903Z","level":"info","context":"http","message":"GET /api/conversations/count?needsHuman=true → 304 (2ms)","data":{"method":"GET","path":"/api/conversations/count?needsHuman=true","status":304,"duration":2,"user":2}}
