[2025-11-13T20:17:08.587Z] ℹ️ INFO | HubSpot client initialized [2025-11-13T20:17:08.657Z] ℹ️ INFO | Connecting to database... [2025-11-13T20:17:08.674Z] ℹ️ INFO | Testing service connections... [2025-11-13T20:17:08.679Z] ℹ️ INFO | Testing AiSensy connection... [2025-11-13T20:17:11.358Z] ❌ ERROR | AiSensy connection failed { "error": "Request failed with status code 401", "response": { "name": "ERR401", "message": "Unauthorized" } } [2025-11-13T20:17:11.359Z] ⚠️ WARN | WhatsApp connection failed { "error": "Request failed with status code 401" } [2025-11-13T20:17:11.359Z] ℹ️ INFO | Testing HubSpot connection... [2025-11-13T20:17:12.223Z] ❌ ERROR | HubSpot connection failed { "error": "HTTP-Code: 401\nMessage: An error occurred.\nBody: {\"status\":\"error\",\"message\":\"Authentication credentials not found. This API supports OAuth 2.0 authentication and you can find more details at https://developers.hubspot.com/docs/methods/auth/oauth-overview\",\"correlationId\":\"10e7044b-b502-49ef-a0fe-c21ab23bf435\",\"category\":\"INVALID_AUTHENTICATION\"}\nHeaders: {\"access-control-allow-credentials\":\"false\",\"cf-cache-status\":\"DYNAMIC\",\"cf-ray\":\"99e0f3803aaf0ec5-EZE\",\"connection\":\"keep-alive\",\"content-length\":\"299\",\"content-type\":\"application/json;charset=utf-8\",\"date\":\"Thu, 13 Nov 2025 20:17:12 GMT\",\"nel\":\"{\\\"success_fraction\\\":0.01,\\\"report_to\\\":\\\"cf-nel\\\",\\\"max_age\\\":604800}\",\"report-to\":\"{\\\"endpoints\\\":[{\\\"url\\\":\\\"https:\\\\/\\\\/a.nel.cloudflare.com\\\\/report\\\\/v4?s=Wwq7Aia3%2BZSsvz376PVF1hdjSME5iZJ%2FGMIzKD%2F%2FPFoedUyZrzA%2FkKYvS5glMVWKGqq2fCEFH%2BoJ6aFYikXSDKXoyonZvGtKIkCD0CYf%2Fy1s%2B%2BFYZPsiYl%2BxGvQdWX8Ylkhaw0E6vHbpuBvT\\\"}],\\\"group\\\":\\\"cf-nel\\\",\\\"max_age\\\":604800}\",\"server\":\"cloudflare\",\"set-cookie\":\"__cf_bm=OjTklb4OYxN8kUuPEaEQukEJVSy6Ok9GLBNp0ybnUIk-1763065032-1.0.1.1-mQsLHKCf8SDWnjOHUhflQcm0YsQ5UyRP6hdD8YqzH5UMvCsjiUplq0hdwMxUQMrHDkZD3IKURuiSJiRG14YAJLWTXrjFsFGz1Yw4Tpln_H4; path=/; expires=Thu, 13-Nov-25 20:47:12 GMT; domain=.hubapi.com; HttpOnly; Secure; SameSite=None\",\"strict-transport-security\":\"max-age=31536000; includeSubDomains; preload\",\"vary\":\"origin, Accept-Encoding\",\"x-content-type-options\":\"nosniff\",\"x-hubspot-auth-failure\":\"401 Unauthorized\",\"x-hubspot-correlation-id\":\"10e7044b-b502-49ef-a0fe-c21ab23bf435\"}" } [2025-11-13T20:17:12.224Z] ⚠️ WARN | HubSpot connection failed { "error": "HTTP-Code: 401\nMessage: An error occurred.\nBody: {\"status\":\"error\",\"message\":\"Authentication credentials not found. This API supports OAuth 2.0 authentication and you can find more details at https://developers.hubspot.com/docs/methods/auth/oauth-overview\",\"correlationId\":\"10e7044b-b502-49ef-a0fe-c21ab23bf435\",\"category\":\"INVALID_AUTHENTICATION\"}\nHeaders: {\"access-control-allow-credentials\":\"false\",\"cf-cache-status\":\"DYNAMIC\",\"cf-ray\":\"99e0f3803aaf0ec5-EZE\",\"connection\":\"keep-alive\",\"content-length\":\"299\",\"content-type\":\"application/json;charset=utf-8\",\"date\":\"Thu, 13 Nov 2025 20:17:12 GMT\",\"nel\":\"{\\\"success_fraction\\\":0.01,\\\"report_to\\\":\\\"cf-nel\\\",\\\"max_age\\\":604800}\",\"report-to\":\"{\\\"endpoints\\\":[{\\\"url\\\":\\\"https:\\\\/\\\\/a.nel.cloudflare.com\\\\/report\\\\/v4?s=Wwq7Aia3%2BZSsvz376PVF1hdjSME5iZJ%2FGMIzKD%2F%2FPFoedUyZrzA%2FkKYvS5glMVWKGqq2fCEFH%2BoJ6aFYikXSDKXoyonZvGtKIkCD0CYf%2Fy1s%2B%2BFYZPsiYl%2BxGvQdWX8Ylkhaw0E6vHbpuBvT\\\"}],\\\"group\\\":\\\"cf-nel\\\",\\\"max_age\\\":604800}\",\"server\":\"cloudflare\",\"set-cookie\":\"__cf_bm=OjTklb4OYxN8kUuPEaEQukEJVSy6Ok9GLBNp0ybnUIk-1763065032-1.0.1.1-mQsLHKCf8SDWnjOHUhflQcm0YsQ5UyRP6hdD8YqzH5UMvCsjiUplq0hdwMxUQMrHDkZD3IKURuiSJiRG14YAJLWTXrjFsFGz1Yw4Tpln_H4; path=/; expires=Thu, 13-Nov-25 20:47:12 GMT; domain=.hubapi.com; HttpOnly; Secure; SameSite=None\",\"strict-transport-security\":\"max-age=31536000; includeSubDomains; preload\",\"vary\":\"origin, Accept-Encoding\",\"x-content-type-options\":\"nosniff\",\"x-hubspot-auth-failure\":\"401 Unauthorized\",\"x-hubspot-correlation-id\":\"10e7044b-b502-49ef-a0fe-c21ab23bf435\"}" } [2025-11-13T20:17:12.224Z] ℹ️ INFO | Testing Stripe connection... [2025-11-13T20:17:12.873Z] ❌ ERROR | Stripe connection failed { "error": "Invalid API Key provided: sk_test_***********************here" } [2025-11-13T20:17:12.874Z] ⚠️ WARN | Stripe connection failed { "error": "Invalid API Key provided: sk_test_***********************here" } [2025-11-13T20:17:12.874Z] ℹ️ INFO | Initializing cron jobs... [2025-11-13T20:17:12.880Z] ✅ SUCCESS | Cron job scheduled: */30 * * * * [2025-11-13T20:17:12.880Z] ✅ SUCCESS | Server initialization complete [2025-11-13T20:17:12.882Z] ❌ ERROR | Uncaught Exception { "error": "listen EADDRINUSE: address already in use :::3000", "stack": "Error: listen EADDRINUSE: address already in use :::3000\n at Server.setupListenHandle [as _listen2] (node:net:1940:16)\n at listenInCluster (node:net:1997:12)\n at Server.listen (node:net:2102:7)\n at Function.listen (/Users/neog/ai-flow/backend/node_modules/express/lib/application.js:635:24)\n at startServer (/Users/neog/ai-flow/backend/src/server.js:270:9)\n at process.processTicksAndRejections (node:internal/process/task_queues:105:5)" } [2025-11-13T20:17:39.650Z] ℹ️ INFO | HubSpot client initialized [2025-11-13T20:17:39.733Z] ℹ️ INFO | Connecting to database... [2025-11-13T20:17:39.750Z] ℹ️ INFO | Testing service connections... [2025-11-13T20:17:39.756Z] ℹ️ INFO | Testing AiSensy connection... [2025-11-13T20:17:41.528Z] ❌ ERROR | AiSensy connection failed { "error": "Request failed with status code 401", "response": { "name": "ERR401", "message": "Unauthorized" } } [2025-11-13T20:17:41.529Z] ⚠️ WARN | WhatsApp connection failed { "error": "Request failed with status code 401" } [2025-11-13T20:17:41.529Z] ℹ️ INFO | Testing HubSpot connection... [2025-11-13T20:17:41.791Z] ❌ ERROR | HubSpot connection failed { "error": "HTTP-Code: 401\nMessage: An error occurred.\nBody: {\"status\":\"error\",\"message\":\"Authentication credentials not found. This API supports OAuth 2.0 authentication and you can find more details at https://developers.hubspot.com/docs/methods/auth/oauth-overview\",\"correlationId\":\"c3a7689d-de46-41e3-968d-5f3c7a305954\",\"category\":\"INVALID_AUTHENTICATION\"}\nHeaders: {\"access-control-allow-credentials\":\"false\",\"cf-cache-status\":\"DYNAMIC\",\"cf-ray\":\"99e0f43bd8490ec5-EZE\",\"connection\":\"keep-alive\",\"content-length\":\"299\",\"content-type\":\"application/json;charset=utf-8\",\"date\":\"Thu, 13 Nov 2025 20:17:41 GMT\",\"nel\":\"{\\\"success_fraction\\\":0.01,\\\"report_to\\\":\\\"cf-nel\\\",\\\"max_age\\\":604800}\",\"report-to\":\"{\\\"endpoints\\\":[{\\\"url\\\":\\\"https:\\\\/\\\\/a.nel.cloudflare.com\\\\/report\\\\/v4?s=ibzTd6n29f0H%2FPYy6Btt5IgZl18K0BdFkzbm6yKUJ9mwjOwtdE1AABnWwlNdfZCb9W0DXuqU17NnRKAJTKpkolvXzH%2BrOuSsu3sM4K2dDbu5HriMYJ1B2NIQHV8HO%2BTmsnqZl57Gww2eJh3Z\\\"}],\\\"group\\\":\\\"cf-nel\\\",\\\"max_age\\\":604800}\",\"server\":\"cloudflare\",\"set-cookie\":\"__cf_bm=6HrNhqwfy5.FhT4UghEWuFJk1Qo7MXI2gFyvF02k3Us-1763065061-1.0.1.1-FADSBYWeI4smAGo8wDKo4l86W7uLqNun1jEPB.zfHP9hgEF0LEeah3PZ9Xojs9aXdMYDXz7UMQltju1S1_g5GGyQsjDbWtH6T1t6wNNerEA; path=/; expires=Thu, 13-Nov-25 20:47:41 GMT; domain=.hubapi.com; HttpOnly; Secure; SameSite=None\",\"strict-transport-security\":\"max-age=31536000; includeSubDomains; preload\",\"vary\":\"origin, Accept-Encoding\",\"x-content-type-options\":\"nosniff\",\"x-hubspot-auth-failure\":\"401 Unauthorized\",\"x-hubspot-correlation-id\":\"c3a7689d-de46-41e3-968d-5f3c7a305954\"}" } [2025-11-13T20:17:41.791Z] ⚠️ WARN | HubSpot connection failed { "error": "HTTP-Code: 401\nMessage: An error occurred.\nBody: {\"status\":\"error\",\"message\":\"Authentication credentials not found. This API supports OAuth 2.0 authentication and you can find more details at https://developers.hubspot.com/docs/methods/auth/oauth-overview\",\"correlationId\":\"c3a7689d-de46-41e3-968d-5f3c7a305954\",\"category\":\"INVALID_AUTHENTICATION\"}\nHeaders: {\"access-control-allow-credentials\":\"false\",\"cf-cache-status\":\"DYNAMIC\",\"cf-ray\":\"99e0f43bd8490ec5-EZE\",\"connection\":\"keep-alive\",\"content-length\":\"299\",\"content-type\":\"application/json;charset=utf-8\",\"date\":\"Thu, 13 Nov 2025 20:17:41 GMT\",\"nel\":\"{\\\"success_fraction\\\":0.01,\\\"report_to\\\":\\\"cf-nel\\\",\\\"max_age\\\":604800}\",\"report-to\":\"{\\\"endpoints\\\":[{\\\"url\\\":\\\"https:\\\\/\\\\/a.nel.cloudflare.com\\\\/report\\\\/v4?s=ibzTd6n29f0H%2FPYy6Btt5IgZl18K0BdFkzbm6yKUJ9mwjOwtdE1AABnWwlNdfZCb9W0DXuqU17NnRKAJTKpkolvXzH%2BrOuSsu3sM4K2dDbu5HriMYJ1B2NIQHV8HO%2BTmsnqZl57Gww2eJh3Z\\\"}],\\\"group\\\":\\\"cf-nel\\\",\\\"max_age\\\":604800}\",\"server\":\"cloudflare\",\"set-cookie\":\"__cf_bm=6HrNhqwfy5.FhT4UghEWuFJk1Qo7MXI2gFyvF02k3Us-1763065061-1.0.1.1-FADSBYWeI4smAGo8wDKo4l86W7uLqNun1jEPB.zfHP9hgEF0LEeah3PZ9Xojs9aXdMYDXz7UMQltju1S1_g5GGyQsjDbWtH6T1t6wNNerEA; path=/; expires=Thu, 13-Nov-25 20:47:41 GMT; domain=.hubapi.com; HttpOnly; Secure; SameSite=None\",\"strict-transport-security\":\"max-age=31536000; includeSubDomains; preload\",\"vary\":\"origin, Accept-Encoding\",\"x-content-type-options\":\"nosniff\",\"x-hubspot-auth-failure\":\"401 Unauthorized\",\"x-hubspot-correlation-id\":\"c3a7689d-de46-41e3-968d-5f3c7a305954\"}" } [2025-11-13T20:17:41.791Z] ℹ️ INFO | Testing Stripe connection... [2025-11-13T20:17:42.345Z] ❌ ERROR | Stripe connection failed { "error": "Invalid API Key provided: sk_test_***********************here" } [2025-11-13T20:17:42.346Z] ⚠️ WARN | Stripe connection failed { "error": "Invalid API Key provided: sk_test_***********************here" } [2025-11-13T20:17:42.346Z] ℹ️ INFO | Initializing cron jobs... [2025-11-13T20:17:42.358Z] ✅ SUCCESS | Cron job scheduled: */30 * * * * [2025-11-13T20:17:42.358Z] ✅ SUCCESS | Server initialization complete [2025-11-13T20:17:42.361Z] ✅ SUCCESS | AI-Flow server started successfully { "port": "3000", "environment": "development" } [2025-11-13T20:17:49.079Z] 🔍 DEBUG | 💾 Database query: leads [ID: Found 0 leads] [2025-11-13T20:17:49.082Z] ℹ️ INFO | ✅ GET / - 200 (12ms) [2025-11-13T20:17:49.085Z] ❌ ERROR | Error fetching dashboard metrics { "error": "SQLITE_ERROR: no such column: amount" } [2025-11-13T20:17:49.087Z] ℹ️ INFO | ❌ GET /dashboard - 500 (12ms) [2025-11-13T20:17:49.093Z] ℹ️ INFO | ✅ GET /stats - 200 (26ms) [2025-11-13T20:18:17.301Z] ❌ ERROR | Error fetching dashboard metrics { "error": "SQLITE_ERROR: no such column: amount" } [2025-11-13T20:18:17.304Z] ℹ️ INFO | ❌ GET /dashboard - 500 (6ms) [2025-11-13T20:18:17.770Z] ℹ️ INFO | ✅ GET /logs - 200 (7ms) [2025-11-13T20:30:00.206Z] ℹ️ INFO | Running follow-up check... [2025-11-13T20:30:00.220Z] ℹ️ INFO | Found 0 leads needing follow-ups { "24h": 0, "48h": 0, "72h": 0 } [2025-11-13T20:30:00.221Z] 🔍 DEBUG | No follow-ups due at this time [2025-11-13T21:00:00.593Z] ℹ️ INFO | Running follow-up check... [2025-11-13T21:00:00.609Z] ℹ️ INFO | Found 0 leads needing follow-ups { "24h": 0, "48h": 0, "72h": 0 } [2025-11-13T21:00:00.609Z] 🔍 DEBUG | No follow-ups due at this time [2025-11-13T21:15:21.076Z] 🔍 DEBUG | 💾 Database query: leads [ID: Found 0 leads] [2025-11-13T21:15:21.079Z] ℹ️ INFO | ✅ GET / - 200 (9ms) [2025-11-13T21:15:21.084Z] ℹ️ INFO | ✅ GET /stats - 200 (19ms) [2025-11-13T21:30:00.017Z] ℹ️ INFO | Running follow-up check... [2025-11-13T21:30:00.033Z] ℹ️ INFO | Found 0 leads needing follow-ups { "24h": 0, "48h": 0, "72h": 0 } [2025-11-13T21:30:00.033Z] 🔍 DEBUG | No follow-ups due at this time [2025-11-13T21:40:49.595Z] 🔍 DEBUG | 💾 Database query: leads [ID: Found 0 leads] [2025-11-13T21:40:49.598Z] ℹ️ INFO | ✅ GET / - 200 (11ms) [2025-11-13T21:40:49.600Z] ❌ ERROR | Error fetching dashboard metrics { "error": "SQLITE_ERROR: no such column: amount" } [2025-11-13T21:40:49.601Z] ℹ️ INFO | ❌ GET /dashboard - 500 (12ms) [2025-11-13T21:40:49.604Z] ℹ️ INFO | ✅ GET /stats - 200 (21ms) [2025-11-13T21:49:21.065Z] 🔍 DEBUG | 💾 Database query: leads [ID: Found 0 leads] [2025-11-13T21:49:21.073Z] ℹ️ INFO | ✅ GET / - 200 (14ms) [2025-11-13T21:49:22.737Z] 🔍 DEBUG | 💾 Database query: leads [ID: Found 0 leads] [2025-11-13T21:49:22.740Z] ℹ️ INFO | ✅ GET / - 304 (3ms) [2025-11-13T21:49:22.746Z] ℹ️ INFO | ✅ GET /stats - 304 (12ms) [2025-11-13T21:49:23.658Z] 🔍 DEBUG | 💾 Database query: leads [ID: Found 0 leads] [2025-11-13T21:49:23.660Z] ℹ️ INFO | ✅ GET / - 304 (3ms) [2025-11-13T21:49:23.663Z] ℹ️ INFO | ✅ GET /stats - 304 (7ms) [2025-11-13T21:59:56.683Z] 🔍 DEBUG | 💾 Database query: leads [ID: Found 0 leads] [2025-11-13T21:59:56.686Z] ℹ️ INFO | ✅ GET / - 304 (4ms) [2025-11-13T21:59:56.690Z] ℹ️ INFO | ✅ GET /stats - 304 (11ms) [2025-11-13T22:00:00.944Z] ℹ️ INFO | Running follow-up check... [2025-11-13T22:00:00.948Z] ℹ️ INFO | Found 0 leads needing follow-ups { "24h": 0, "48h": 0, "72h": 0 } [2025-11-13T22:00:00.948Z] 🔍 DEBUG | No follow-ups due at this time [2025-11-13T22:00:26.667Z] 🔍 DEBUG | 💾 Database query: leads [ID: Found 0 leads] [2025-11-13T22:00:26.669Z] ℹ️ INFO | ✅ GET / - 304 (2ms) [2025-11-13T22:00:26.669Z] ℹ️ INFO | ✅ GET /stats - 304 (3ms) [2025-11-13T22:00:56.674Z] 🔍 DEBUG | 💾 Database query: leads [ID: Found 0 leads] [2025-11-13T22:00:56.678Z] ℹ️ INFO | ✅ GET / - 304 (6ms) [2025-11-13T22:00:56.681Z] ℹ️ INFO | ✅ GET /stats - 304 (7ms) [2025-11-13T22:01:26.681Z] 🔍 DEBUG | 💾 Database query: leads [ID: Found 0 leads] [2025-11-13T22:01:26.683Z] ℹ️ INFO | ✅ GET / - 304 (9ms) [2025-11-13T22:01:26.685Z] ℹ️ INFO | ✅ GET /stats - 304 (14ms) [2025-11-13T22:01:56.686Z] 🔍 DEBUG | 💾 Database query: leads [ID: Found 0 leads] [2025-11-13T22:01:56.690Z] ℹ️ INFO | ✅ GET / - 304 (7ms) [2025-11-13T22:01:56.694Z] ℹ️ INFO | ✅ GET /stats - 304 (9ms) [2025-11-13T22:02:26.673Z] 🔍 DEBUG | 💾 Database query: leads [ID: Found 0 leads] [2025-11-13T22:02:26.675Z] ℹ️ INFO | ✅ GET / - 304 (3ms) [2025-11-13T22:02:26.677Z] ℹ️ INFO | ✅ GET /stats - 304 (4ms) [2025-11-13T22:04:59.483Z] 🔍 DEBUG | 💾 Database query: leads [ID: Found 0 leads] [2025-11-13T22:04:59.486Z] ℹ️ INFO | ✅ GET / - 304 (4ms) [2025-11-13T22:04:59.490Z] ℹ️ INFO | ✅ GET /stats - 304 (7ms) [2025-11-13T22:07:40.360Z] 🔍 DEBUG | 💾 Database query: leads [ID: Found 0 leads] [2025-11-13T22:07:40.364Z] ℹ️ INFO | ✅ GET / - 304 (8ms) [2025-11-13T22:07:40.366Z] ℹ️ INFO | ✅ GET /stats - 304 (7ms) [2025-11-13T22:08:10.373Z] 🔍 DEBUG | 💾 Database query: leads [ID: Found 0 leads] [2025-11-13T22:08:10.376Z] ℹ️ INFO | ✅ GET / - 304 (4ms) [2025-11-13T22:08:10.377Z] ℹ️ INFO | ✅ GET /stats - 304 (7ms) [2025-11-13T22:08:51.296Z] 🔍 DEBUG | 💾 Database query: leads [ID: Found 0 leads] [2025-11-13T22:08:51.299Z] ℹ️ INFO | ✅ GET / - 304 (4ms) [2025-11-13T22:08:51.300Z] ℹ️ INFO | ✅ GET /stats - 304 (7ms) [2025-11-13T22:10:13.549Z] 🔍 DEBUG | 💾 Database query: leads [ID: Found 0 leads] [2025-11-13T22:10:13.552Z] ℹ️ INFO | ✅ GET / - 304 (6ms) [2025-11-13T22:10:13.554Z] ℹ️ INFO | ✅ GET /stats - 304 (6ms) [2025-11-13T22:30:00.864Z] ℹ️ INFO | Running follow-up check... [2025-11-13T22:30:00.876Z] ℹ️ INFO | Found 0 leads needing follow-ups { "24h": 0, "48h": 0, "72h": 0 } [2025-11-13T22:30:00.876Z] 🔍 DEBUG | No follow-ups due at this time [2025-11-13T23:00:00.182Z] ℹ️ INFO | Running follow-up check... [2025-11-13T23:00:00.204Z] ℹ️ INFO | Found 0 leads needing follow-ups { "24h": 0, "48h": 0, "72h": 0 } [2025-11-13T23:00:00.205Z] 🔍 DEBUG | No follow-ups due at this time [2025-11-13T23:30:00.262Z] ℹ️ INFO | Running follow-up check... [2025-11-13T23:30:00.281Z] ℹ️ INFO | Found 0 leads needing follow-ups { "24h": 0, "48h": 0, "72h": 0 } [2025-11-13T23:30:00.282Z] 🔍 DEBUG | No follow-ups due at this time [2025-11-14T00:00:00.523Z] ℹ️ INFO | Running follow-up check... [2025-11-14T00:00:00.538Z] ℹ️ INFO | Found 0 leads needing follow-ups { "24h": 0, "48h": 0, "72h": 0 } [2025-11-14T00:00:00.538Z] 🔍 DEBUG | No follow-ups due at this time [2025-11-14T00:30:00.086Z] ℹ️ INFO | Running follow-up check... [2025-11-14T00:30:00.093Z] ℹ️ INFO | Found 0 leads needing follow-ups { "24h": 0, "48h": 0, "72h": 0 } [2025-11-14T00:30:00.094Z] 🔍 DEBUG | No follow-ups due at this time [2025-11-14T00:37:19.532Z] 🔍 DEBUG | 💾 Database query: leads [ID: Found 0 leads] [2025-11-14T00:37:19.543Z] ℹ️ INFO | ✅ GET / - 304 (22ms) [2025-11-14T00:37:19.549Z] ℹ️ INFO | ✅ GET /stats - 304 (21ms) [2025-11-14T01:00:00.970Z] ℹ️ INFO | Running follow-up check... [2025-11-14T01:00:00.989Z] ℹ️ INFO | Found 0 leads needing follow-ups { "24h": 0, "48h": 0, "72h": 0 } [2025-11-14T01:00:00.990Z] 🔍 DEBUG | No follow-ups due at this time [2025-11-14T01:30:00.101Z] ℹ️ INFO | Running follow-up check... [2025-11-14T01:30:00.119Z] ℹ️ INFO | Found 0 leads needing follow-ups { "24h": 0, "48h": 0, "72h": 0 } [2025-11-14T01:30:00.120Z] 🔍 DEBUG | No follow-ups due at this time [2025-11-14T02:00:00.371Z] ℹ️ INFO | Running follow-up check... [2025-11-14T02:00:00.399Z] ℹ️ INFO | Found 0 leads needing follow-ups { "24h": 0, "48h": 0, "72h": 0 } [2025-11-14T02:00:00.399Z] 🔍 DEBUG | No follow-ups due at this time [2025-11-14T02:28:21.445Z] 🔍 DEBUG | 💾 Database query: leads [ID: Found 0 leads] [2025-11-14T02:28:21.446Z] ℹ️ INFO | ✅ GET / - 304 (9ms) [2025-11-14T02:28:21.447Z] ℹ️ INFO | ✅ GET /stats - 304 (7ms) [2025-11-14T02:30:00.410Z] ℹ️ INFO | Running follow-up check... [2025-11-14T02:30:00.415Z] ℹ️ INFO | Found 0 leads needing follow-ups { "24h": 0, "48h": 0, "72h": 0 } [2025-11-14T02:30:00.416Z] 🔍 DEBUG | No follow-ups due at this time [2025-11-14T02:31:09.430Z] 🔍 DEBUG | 💾 Database query: leads [ID: Found 0 leads] [2025-11-14T02:31:09.432Z] ℹ️ INFO | ✅ GET / - 304 (3ms) [2025-11-14T02:31:09.434Z] ℹ️ INFO | ✅ GET /stats - 304 (4ms) [2025-11-14T02:34:12.664Z] 🔍 DEBUG | 💾 Database query: leads [ID: Found 0 leads] [2025-11-14T02:34:12.667Z] ℹ️ INFO | ✅ GET / - 304 (4ms) [2025-11-14T02:34:12.669Z] ℹ️ INFO | ✅ GET /stats - 304 (8ms) [2025-11-14T02:35:01.979Z] 🔍 DEBUG | 💾 Database query: leads [ID: Found 0 leads] [2025-11-14T02:35:01.980Z] ℹ️ INFO | ✅ GET / - 304 (2ms) [2025-11-14T02:35:01.982Z] ℹ️ INFO | ✅ GET /stats - 304 (5ms) [2025-11-14T02:38:12.676Z] 🔍 DEBUG | 💾 Database query: leads [ID: Found 0 leads] [2025-11-14T02:38:12.678Z] ℹ️ INFO | ✅ GET / - 304 (7ms) [2025-11-14T02:38:12.679Z] ℹ️ INFO | ✅ GET /stats - 304 (12ms) [2025-11-14T02:40:14.352Z] 🔍 DEBUG | 💾 Database query: leads [ID: Found 0 leads] [2025-11-14T02:40:14.354Z] ℹ️ INFO | ✅ GET / - 304 (3ms) [2025-11-14T02:40:14.355Z] ℹ️ INFO | ✅ GET /stats - 304 (4ms) [2025-11-14T03:00:00.377Z] ℹ️ INFO | Running follow-up check... [2025-11-14T03:00:00.388Z] ℹ️ INFO | Found 0 leads needing follow-ups { "24h": 0, "48h": 0, "72h": 0 } [2025-11-14T03:00:00.389Z] 🔍 DEBUG | No follow-ups due at this time [2025-11-14T03:30:00.648Z] ℹ️ INFO | Running follow-up check... [2025-11-14T03:30:00.653Z] ℹ️ INFO | Found 0 leads needing follow-ups { "24h": 0, "48h": 0, "72h": 0 } [2025-11-14T03:30:00.653Z] 🔍 DEBUG | No follow-ups due at this time [2025-11-14T04:00:00.419Z] ℹ️ INFO | Running follow-up check... [2025-11-14T04:00:00.423Z] ℹ️ INFO | Found 0 leads needing follow-ups { "24h": 0, "48h": 0, "72h": 0 } [2025-11-14T04:00:00.423Z] 🔍 DEBUG | No follow-ups due at this time [2025-11-14T04:30:00.777Z] ℹ️ INFO | Running follow-up check... [2025-11-14T04:30:00.789Z] ℹ️ INFO | Found 0 leads needing follow-ups { "24h": 0, "48h": 0, "72h": 0 } [2025-11-14T04:30:00.789Z] 🔍 DEBUG | No follow-ups due at this time [2025-11-14T07:00:00.324Z] ℹ️ INFO | Running follow-up check... [2025-11-14T07:00:00.330Z] ℹ️ INFO | Found 0 leads needing follow-ups { "24h": 0, "48h": 0, "72h": 0 } [2025-11-14T07:00:00.331Z] 🔍 DEBUG | No follow-ups due at this time [2025-11-14T17:00:00.587Z] ℹ️ INFO | Running follow-up check... [2025-11-14T17:00:00.606Z] ℹ️ INFO | Found 0 leads needing follow-ups { "24h": 0, "48h": 0, "72h": 0 } [2025-11-14T17:00:00.606Z] 🔍 DEBUG | No follow-ups due at this time [2025-11-14T17:30:00.553Z] ℹ️ INFO | Running follow-up check... [2025-11-14T17:30:00.582Z] ℹ️ INFO | Found 0 leads needing follow-ups { "24h": 0, "48h": 0, "72h": 0 } [2025-11-14T17:30:00.582Z] 🔍 DEBUG | No follow-ups due at this time [2025-11-14T18:00:00.577Z] ℹ️ INFO | Running follow-up check... [2025-11-14T18:00:00.598Z] ℹ️ INFO | Found 0 leads needing follow-ups { "24h": 0, "48h": 0, "72h": 0 } [2025-11-14T18:00:00.599Z] 🔍 DEBUG | No follow-ups due at this time [2025-11-14T18:30:00.419Z] ℹ️ INFO | Running follow-up check... [2025-11-14T18:30:00.438Z] ℹ️ INFO | Found 0 leads needing follow-ups { "24h": 0, "48h": 0, "72h": 0 } [2025-11-14T18:30:00.439Z] 🔍 DEBUG | No follow-ups due at this time [2025-11-14T19:00:00.479Z] ℹ️ INFO | Running follow-up check... [2025-11-14T19:00:00.522Z] ℹ️ INFO | Found 0 leads needing follow-ups { "24h": 0, "48h": 0, "72h": 0 } [2025-11-14T19:00:00.522Z] 🔍 DEBUG | No follow-ups due at this time [2025-11-14T19:30:00.651Z] ℹ️ INFO | Running follow-up check... [2025-11-14T19:30:00.698Z] ℹ️ INFO | Found 0 leads needing follow-ups { "24h": 0, "48h": 0, "72h": 0 } [2025-11-14T19:30:00.699Z] 🔍 DEBUG | No follow-ups due at this time [2025-11-14T20:00:00.798Z] ℹ️ INFO | Running follow-up check... [2025-11-14T20:00:00.824Z] ℹ️ INFO | Found 0 leads needing follow-ups { "24h": 0, "48h": 0, "72h": 0 } [2025-11-14T20:00:00.825Z] 🔍 DEBUG | No follow-ups due at this time [2025-11-14T20:30:00.858Z] ℹ️ INFO | Running follow-up check... [2025-11-14T20:30:00.873Z] ℹ️ INFO | Found 0 leads needing follow-ups { "24h": 0, "48h": 0, "72h": 0 } [2025-11-14T20:30:00.873Z] 🔍 DEBUG | No follow-ups due at this time [2025-11-14T21:00:00.198Z] ℹ️ INFO | Running follow-up check... [2025-11-14T21:00:00.223Z] ℹ️ INFO | Found 0 leads needing follow-ups { "24h": 0, "48h": 0, "72h": 0 } [2025-11-14T21:00:00.224Z] 🔍 DEBUG | No follow-ups due at this time [2025-11-14T21:30:00.244Z] ℹ️ INFO | Running follow-up check... [2025-11-14T21:30:00.265Z] ℹ️ INFO | Found 0 leads needing follow-ups { "24h": 0, "48h": 0, "72h": 0 } [2025-11-14T21:30:00.266Z] 🔍 DEBUG | No follow-ups due at this time [2025-11-14T22:00:00.275Z] ℹ️ INFO | Running follow-up check... [2025-11-14T22:00:00.293Z] ℹ️ INFO | Found 0 leads needing follow-ups { "24h": 0, "48h": 0, "72h": 0 } [2025-11-14T22:00:00.293Z] 🔍 DEBUG | No follow-ups due at this time [2025-11-14T22:30:00.075Z] ℹ️ INFO | Running follow-up check... [2025-11-14T22:30:00.100Z] ℹ️ INFO | Found 0 leads needing follow-ups { "24h": 0, "48h": 0, "72h": 0 } [2025-11-14T22:30:00.101Z] 🔍 DEBUG | No follow-ups due at this time [2025-11-14T23:00:00.416Z] ℹ️ INFO | Running follow-up check... [2025-11-14T23:00:00.426Z] ℹ️ INFO | Found 0 leads needing follow-ups { "24h": 0, "48h": 0, "72h": 0 } [2025-11-14T23:00:00.426Z] 🔍 DEBUG | No follow-ups due at this time [2025-11-14T23:30:00.827Z] ℹ️ INFO | Running follow-up check... [2025-11-14T23:30:00.849Z] ℹ️ INFO | Found 0 leads needing follow-ups { "24h": 0, "48h": 0, "72h": 0 } [2025-11-14T23:30:00.850Z] 🔍 DEBUG | No follow-ups due at this time [2025-11-15T00:00:00.186Z] ℹ️ INFO | Running follow-up check... [2025-11-15T00:00:00.208Z] ℹ️ INFO | Found 0 leads needing follow-ups { "24h": 0, "48h": 0, "72h": 0 } [2025-11-15T00:00:00.209Z] 🔍 DEBUG | No follow-ups due at this time [2025-11-15T00:30:00.926Z] ℹ️ INFO | Running follow-up check... [2025-11-15T00:30:00.947Z] ℹ️ INFO | Found 0 leads needing follow-ups { "24h": 0, "48h": 0, "72h": 0 } [2025-11-15T00:30:00.947Z] 🔍 DEBUG | No follow-ups due at this time [2025-11-15T14:00:00.977Z] ℹ️ INFO | Running follow-up check... [2025-11-15T14:00:00.988Z] ℹ️ INFO | Found 0 leads needing follow-ups { "24h": 0, "48h": 0, "72h": 0 } [2025-11-15T14:00:00.989Z] 🔍 DEBUG | No follow-ups due at this time [2025-11-15T14:42:19.790Z] ℹ️ INFO | SIGTERM received, shutting down gracefully... [2025-11-15T14:42:19.873Z] ❌ ERROR | Uncaught Exception { "error": "write EPIPE", "stack": "Error: write EPIPE\n at afterWriteDispatched (node:internal/stream_base_commons:159:15)\n at writeGeneric (node:internal/stream_base_commons:150:3)\n at Socket._writeGeneric (node:net:966:11)\n at Socket._write (node:net:978:8)\n at writeOrBuffer (node:internal/streams/writable:572:12)\n at _write (node:internal/streams/writable:501:10)\n at Writable.write (node:internal/streams/writable:510:10)\n at console.value (node:internal/console/constructor:298:16)\n at console.log (node:internal/console/constructor:384:26)\n at Database. (/Users/neog/ai-flow/backend/src/database/db.js:134:19)" }